refactor(renderer): name target converters by meaning; drop re-export shims (#27992)

Co-authored-by: m4air <m4air@Mac.localdomain>
This commit is contained in:
OrcaWin
2026-10-12 07:24:24 -07:00
committed by GitHub
co-authored by m4air
parent 61aaa98eb3
commit cef4d29096
410 changed files with 610 additions and 787 deletions
@@ -95,7 +95,7 @@ describe('countFocusSettingReads', () => {
expect(readers.namesFor('src/renderer/src/b.ts').has('ownerTarget')).toBe(false)
expect(
countFocusSettingReads(
'const t = runtimeTargetForOwnerHostId(getSettingsFocusedExecutionHostId(s))',
'const t = ipcOrRuntimeTargetForHostId(getSettingsFocusedExecutionHostId(s))',
readers.namesFor('src/renderer/src/a.ts')
)
).toBe(1)
@@ -1,5 +1,5 @@
import type { AgentJournalCursor } from '../../../shared/agent-session-journal-types'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../shared/runtime-client-target'
export type StructuredSubjectRead = {
sessionId: string
@@ -16,7 +16,7 @@ import {
findIndexedProjectGroupOwner,
getCatalogOwnerHostId
} from '@/lib/worktree-runtime-owner-index'
import type { WorktreeRuntimeOwnerState } from '@/lib/worktree-runtime-owner'
import type { WorktreeRuntimeOwnerState } from '@/lib/worktree-runtime-owner-state'
type SubjectOwnerState = WorktreeRuntimeOwnerState &
Partial<
@@ -13,7 +13,7 @@ import {
} from '@/components/sidebar/AddRemoteHostDialog'
import { lazyWithRetry } from '@/lib/lazy-with-retry'
import type * as SetProjectLocationDialogModule from '@/components/new-workspace/SetProjectLocationDialog'
import { unwrapRuntimeRpcResult } from '@/runtime/runtime-rpc-client'
import { unwrapRuntimeRpcResult } from '@/runtime/runtime-rpc-result'
import { withUiConnectTimeout } from '@/ssh/ssh-connect-ui-timeout'
import { isSshConnectInFlight, trackSshConnect } from '@/ssh/ssh-connect-in-flight'
import { translate } from '@/i18n/i18n'
@@ -47,9 +47,7 @@ vi.mock('@/components/ui/tooltip', () => ({
TooltipContent: ({ children }: { children: ReactNode }) => <div>{children}</div>
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: mocks.rpc
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({ callRuntimeRpc: mocks.rpc }))
vi.mock('@/store', () => ({
useAppStore: Object.assign(
@@ -11,9 +11,9 @@ const getRuntimeEnvironmentStatus = vi.fn()
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: (...args: unknown[]) => callRuntimeRpc(...args),
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args),
hasRuntimeRpcErrorCode: () => false
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args)
}))
vi.mock('@/runtime/runtime-rpc-result', () => ({ hasRuntimeRpcErrorCode: () => false }))
const RUNTIME = { kind: 'runtime', environmentId: 'env-1', pairingRevision: 4 } as const
const OWNER = { authority: RUNTIME, selector: { kind: 'self' } } as const
@@ -7,7 +7,7 @@
* retry budget, while an unreachable or slow host must.
*/
import { hasRuntimeRpcErrorCode } from '@/runtime/runtime-rpc-client'
import { hasRuntimeRpcErrorCode } from '@/runtime/runtime-rpc-result'
import {
AUTOMATION_OWNER_CONFLICT_CODES,
stripAutomationOwnerConflictCode
@@ -9,9 +9,7 @@ import {
} from './automation-host-client'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: vi.fn()
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({ callRuntimeRpc: vi.fn() }))
const mockApi = {
automations: {
@@ -42,9 +42,9 @@ const getRuntimeEnvironmentStatus = vi.fn()
// injects a transport, so this mock stands in for a paired host that answers.
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: (...args: unknown[]) => callRuntimeRpc(...args),
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args),
hasRuntimeRpcErrorCode: () => false
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args)
}))
vi.mock('@/runtime/runtime-rpc-result', () => ({ hasRuntimeRpcErrorCode: () => false }))
const RUNTIME_AUTHORITY: AutomationAuthorityRef = {
kind: 'runtime',
@@ -41,9 +41,9 @@ const getRuntimeEnvironmentStatus = vi.fn()
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: (...args: unknown[]) => callRuntimeRpc(...args),
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args),
hasRuntimeRpcErrorCode: () => false
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args)
}))
vi.mock('@/runtime/runtime-rpc-result', () => ({ hasRuntimeRpcErrorCode: () => false }))
// 10 authorities x 5 entries = 50 hosts; 50 hosts x 20 = 1,000 automations.
// Half the authorities are old servers, because the legacy fan-out is where the
@@ -11,11 +11,7 @@ const getRuntimeEnvironmentStatus = vi.fn()
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: (...args: unknown[]) => callRuntimeRpc(...args),
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args),
// Why: the real matcher is exercised in runtime-rpc-result's own tests; here it only needs to be honest about the tail token.
hasRuntimeRpcErrorCode: (error: unknown, code: string) =>
typeof (error as { message?: unknown })?.message === 'string' &&
(error as { message: string }).message.trimEnd().endsWith(`: ${code}`)
getRuntimeEnvironmentStatus: (...args: unknown[]) => getRuntimeEnvironmentStatus(...args)
}))
const DESKTOP = { kind: 'desktop' } as const
@@ -9,7 +9,8 @@
* that would attribute other hosts' automations to the selected one.
*/
import { callRuntimeRpc, type RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type {
Automation,
AutomationCreateInput,
@@ -164,10 +164,7 @@ vi.mock('@/store/selectors', () => ({
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: (...args: unknown[]) => mocks.callRuntimeRpc(...args),
getRuntimeEnvironmentStatus: (...args: unknown[]) => mocks.getRuntimeEnvironmentStatus(...args),
// Matches the real matcher's contract: the code is a `: <token>` message tail.
hasRuntimeRpcErrorCode: (error: unknown, code: string) =>
error instanceof Error && error.message.trimEnd().endsWith(`: ${code}`)
getRuntimeEnvironmentStatus: (...args: unknown[]) => mocks.getRuntimeEnvironmentStatus(...args)
}))
vi.mock('sonner', () => ({
@@ -35,9 +35,9 @@ vi.mock('@/store', () => {
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: (_target: unknown, _method: string, params: unknown) =>
listScoped(params as { selector: AutomationListScopeSelector }),
getRuntimeEnvironmentStatus: vi.fn(),
hasRuntimeRpcErrorCode: () => false
getRuntimeEnvironmentStatus: vi.fn()
}))
vi.mock('@/runtime/runtime-rpc-result', () => ({ hasRuntimeRpcErrorCode: () => false }))
import { useAutomationHostCatalog } from './use-automation-host-catalog'
@@ -33,9 +33,9 @@ vi.mock('@/store', () => {
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: (...args: unknown[]) => mocks.callRuntimeRpc(...args),
getRuntimeEnvironmentStatus: (...args: unknown[]) => mocks.getRuntimeEnvironmentStatus(...args),
hasRuntimeRpcErrorCode: () => false
getRuntimeEnvironmentStatus: (...args: unknown[]) => mocks.getRuntimeEnvironmentStatus(...args)
}))
vi.mock('@/runtime/runtime-rpc-result', () => ({ hasRuntimeRpcErrorCode: () => false }))
import { useAutomationHostCatalog } from './use-automation-host-catalog'
@@ -32,9 +32,7 @@ vi.mock('@/store', () => ({
}
}))
vi.mock('@/lib/worktree-runtime-owner', () => ({
getRuntimeEnvironmentIdForWorktree: () => null
}))
vi.mock('@/lib/worktree-runtime-owner', () => ({ getRuntimeEnvironmentIdForWorktree: () => null }))
vi.mock('@/components/contextual-tours/use-contextual-tour', () => ({
useContextualTour: () => {}
@@ -1,6 +1,6 @@
import type { BrowserScreencastFrameMetadata } from '../../../../../shared/browser-screencast-protocol'
import type { BrowserTabInfo } from '../../../../../shared/runtime-types'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import type {
RemoteBrowserOperationToken,
RemoteBrowserStreamToken,
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import { ORCA_BROWSER_BLANK_URL } from '../../../../../shared/constants'
import type { BrowserTabInfo } from '../../../../../shared/runtime-types'
import { isRemoteBrowserPageMissingError } from './remote-browser-stream-errors'
@@ -1,4 +1,4 @@
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-client'
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-result'
import { BROWSER_UNAVAILABLE_ERROR_CODE } from '../../../../../shared/runtime-session-contracts'
import {
remoteBrowserStreamLostNotice,
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import type { RuntimeStatus } from '../../../../../shared/runtime-types'
import { RemoteBrowserPageSession } from './remote-browser-page-session'
import { openRemoteBrowserScreencastStream } from './remote-browser-screencast-subscription'
@@ -6,7 +6,8 @@ import type {
RemoteBrowserOperationToken,
RemoteBrowserViewportSize
} from './remote-browser-stream-tokens'
import { callRuntimeRpc, type RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import { toRuntimeWorktreeSelector } from '@/runtime/runtime-worktree-selector'
import type { BrowserScreencastFrameMetadata } from '../../../../../shared/browser-screencast-protocol'
import type { BrowserPage as BrowserPageState } from '../../../../../shared/browser-workspace-types'
@@ -22,9 +22,7 @@ const mocks = vi.hoisted(() => ({
vi.mock('@/store', () => ({
useAppStore: (selector: (state: unknown) => unknown) => selector(mocks.storeState)
}))
vi.mock('@/lib/worktree-runtime-owner', () => ({
getRuntimeEnvironmentIdForWorktree: () => null
}))
vi.mock('@/lib/worktree-runtime-owner', () => ({ getRuntimeEnvironmentIdForWorktree: () => null }))
vi.mock('./HtmlDocPreview', () => ({
HtmlDocPreview: ({ holdsGuestFocus }: { holdsGuestFocus?: boolean }) => {
mocks.handedFocus.push(holdsGuestFocus)
@@ -28,8 +28,6 @@ vi.mock('@/store', () => ({
}
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
let root: Root | null = null
beforeEach(() => {
@@ -15,7 +15,7 @@ vi.mock('@/store', () => ({
vi.mock('@/runtime/runtime-file-read-client', () => ({
readRuntimeFileContent: readRuntimeFileContentMock
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('@/lib/connection-context', () => ({
// Why: the floating workspace is always client-local; other owners are still loading.
getConnectionIdForFile: (worktreeId: string) =>
@@ -13,7 +13,7 @@ const mocks = vi.hoisted(() => ({
vi.mock('@/runtime/runtime-file-read-client', () => ({
readRuntimeFileContent: mocks.readRuntimeFileContent
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('@/lib/connection-context', () => ({
getConnectionIdForFile: mocks.getConnectionIdForFile
}))
@@ -4,13 +4,11 @@ import { isPathInsideWorktree, toWorktreeRelativePath } from '@/lib/terminal-lin
import { useAppStore } from '@/store'
import { getConnectionId } from '@/lib/connection-context'
import { joinPath } from '@/lib/path'
import type { WorktreeRuntimeOwnerState } from '@/lib/worktree-runtime-owner'
import type { WorktreeRuntimeOwnerState } from '@/lib/worktree-runtime-owner-state'
import { importExternalPathsToRuntime } from '@/runtime/runtime-file-import-client'
import type { RuntimeFileOperationArgs } from '@/runtime/runtime-file-client-types'
import {
runtimeTargetEnvironmentId,
type RuntimeClientTarget
} from '@/runtime/runtime-client-target'
import { runtimeTargetEnvironmentId } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { translate } from '@/i18n/i18n'
import { captureWorktreeSshMutationExpectation } from '@/lib/ssh-mutation-expectation'
import { statUserOpenedPath } from '@/lib/user-opened-local-path'
@@ -15,7 +15,7 @@ const mocks = vi.hoisted(() => ({
vi.mock('@/runtime/runtime-file-read-client', () => ({
readRuntimeFileContent: mocks.readRuntimeFileContent
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('@/lib/connection-context', () => ({
getConnectionIdForFile: mocks.getConnectionIdForFile
}))
@@ -25,7 +25,7 @@ vi.mock('@/store', () => ({
}))
}
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('sonner', () => ({ toast: { error: vi.fn(), info: vi.fn() } }))
type ImportResult = Awaited<ReturnType<typeof importExternalPathsToRuntime>>
@@ -19,7 +19,7 @@ vi.mock('@/store', () => ({
}))
}
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('sonner', () => ({ toast: { error: vi.fn(), info: vi.fn() } }))
type ImportResult = Awaited<ReturnType<typeof importExternalPathsToRuntime>>
@@ -27,7 +27,7 @@ import {
createRichMarkdownImageResolverContext,
setRichMarkdownImageResolverContext
} from './rich-markdown-image-context'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { getRichMarkdownSpellcheckAttribute } from './rich-markdown-spellcheck'
import type { MutableRefObject, Dispatch, SetStateAction } from 'react'
import type { DiffComment } from '../../../../shared/diff-comment-types'
@@ -1,6 +1,6 @@
import type { Editor } from '@tiptap/core'
import { getConnectionId } from '@/lib/connection-context'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type { RuntimeFileOperationArgs } from '@/runtime/runtime-file-client-types'
export type RichMarkdownImageRuntimeContext = Omit<RuntimeFileOperationArgs, 'connectionId'> & {
@@ -30,8 +30,6 @@ vi.mock('@/store', () => ({
}
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('sonner', () => ({
toast: { error: vi.fn(), info: vi.fn() }
}))
@@ -22,8 +22,6 @@ vi.mock('@/store', () => ({
}
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('sonner', () => ({
toast: { error: vi.fn(), info: vi.fn() }
}))
@@ -22,8 +22,6 @@ vi.mock('@/store', () => ({
}
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('sonner', () => ({
toast: { error: vi.fn(), info: vi.fn() }
}))
@@ -5,8 +5,8 @@ import { useAppStore } from '@/store'
import { getDiskBaselineSignature } from './diff-content-signature'
import { getRuntimeFileReadScope } from '@/runtime/runtime-file-routing'
import { readEditorCsvFileContent } from './csv/csv-file-content'
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-result'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { requireRuntimeTargetForFileOwner } from '@/lib/file-owner-runtime-target'
import { findWorkspaceFileRoute } from '@/lib/runtime-workspace-file-route'
import { selectWorktreeHostConnectionPhase } from '@/lib/worktree-host-connection-phase'
@@ -21,7 +21,7 @@ vi.mock('@/store', () => ({
}))
}
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('sonner', () => ({ toast: { error: vi.fn(), info: vi.fn() } }))
type ImportResult = Awaited<ReturnType<typeof importExternalPathsToRuntime>>
@@ -10,7 +10,7 @@ import {
createRichMarkdownImageResolverContext,
setRichMarkdownImageResolverContext
} from './rich-markdown-image-context'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type { RichMarkdownEditorCodec } from './rich-markdown-source-transport'
type RichMarkdownProgrammaticSyncOptions = {
@@ -13,7 +13,7 @@ import { FLOATING_TERMINAL_WORKTREE_ID } from '../../../../shared/constants'
import type { FloatingWorkspaceChromeModel } from './use-floating-workspace-chrome-model'
import type { FloatingTerminalPanelLocalState } from './use-floating-terminal-panel-local-state'
import type { FloatingTerminalPanelStoreState } from './use-floating-terminal-panel-store-state'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
const LOCAL_TARGET: RuntimeClientTarget = { kind: 'local' }
@@ -14,7 +14,7 @@ import type {
} from '../../../../../shared/github/pull-request-types'
import type { GitHubWorkItem } from '../../../../../shared/github/work-item-types'
import type { TaskSourceContext } from '../../../../../shared/task-source-context'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import { translate } from '@/i18n/i18n'
type ReviewerRequestArgs = {
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import React from 'react'
import { TYPE_FIELD_DATA_TYPE } from './columns'
import type {
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import React from 'react'
import { FileText, GitPullRequest, Lock } from 'lucide-react'
import { translate } from '@/i18n/i18n'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import React, { useEffect, useMemo, useState } from 'react'
import { useShallow } from 'zustand/react/shallow'
import { CircleDot } from 'lucide-react'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import React, { useMemo, useState } from 'react'
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'
import { useRepoAssigneesBySlug, useRepoLabelsBySlug } from '@/hooks/useGitHubSlugMetadata'
@@ -7,7 +7,7 @@
// Files, Checks, and review-thread tabs hidden. This component is that
// simplified surface; it also routes every write through slug-addressed
// mutation helpers and patches the Project table cache on success.
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import React from 'react'
import * as VisuallyHidden from 'radix-ui/visually-hidden'
import { Sheet, SheetContent, SheetDescription, SheetTitle } from '@/components/ui/sheet'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import React, { useCallback, useEffect, useMemo, useState } from 'react'
import { ChevronDown } from 'lucide-react'
import { toast } from 'sonner'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import React from 'react'
import { ExternalLink, Play } from 'lucide-react'
import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/components/ui/hover-card'
@@ -23,7 +23,7 @@ import type {
GitHubProjectSortDirection,
GitHubProjectTable
} from '../../../../shared/github/project-types'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { translate } from '@/i18n/i18n'
type SortOverride = { fieldId: string; direction: GitHubProjectSortDirection }
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import { githubProjectHost } from '../../../../shared/github/project-identity'
import type { GitHubProjectOwnerType } from '../../../../shared/github/project-types'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import React, { useMemo, useState } from 'react'
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'
import { cn } from '@/lib/utils'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import React, { useState } from 'react'
import { Send } from 'lucide-react'
import { toast } from 'sonner'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import React, { useState } from 'react'
import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'
import { cn } from '@/lib/utils'
@@ -1,5 +1,5 @@
/* oxlint-disable react-doctor/no-adjust-state-on-prop-change -- Why: slug dialog details are loaded through GitHub IPC and must clear stale request state before each lookup. */
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../../shared/runtime-client-target'
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
import { CircleDot, ExternalLink, GitPullRequest, LoaderCircle, X } from 'lucide-react'
import { toast } from 'sonner'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { useCallback, useLayoutEffect, useRef, useState } from 'react'
import { useMountedRef } from '@/hooks/useMountedRef'
import type { GitHubProjectSummary } from '../../../../shared/github/project-types'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'
import { toast } from 'sonner'
import { useMountedRef } from '@/hooks/useMountedRef'
@@ -19,7 +19,7 @@ import type {
GitHubAssignableUser,
GitHubOwnerRepo
} from '../../../../shared/github/pull-request-types'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type { ParsedTaskQuery } from '../../../../shared/task-query'
import { translate } from '@/i18n/i18n'
@@ -3,7 +3,7 @@ import { Gauge, RefreshCw } from 'lucide-react'
import { cn } from '@/lib/utils'
import { installWindowVisibilityInterval } from '@/lib/window-visibility-interval'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type {
GetRateLimitResult,
GitHubRateLimitSnapshot
@@ -1,6 +1,6 @@
import { useAppStore } from '@/store'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
getGitHubRepoRoutingTarget,
getGitHubRuntimeRepoId,
@@ -4,7 +4,7 @@ import { Button } from '@/components/ui/button'
import { cn } from '@/lib/utils'
import { installWindowVisibilityInterval } from '@/lib/window-visibility-interval'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type {
GetGitLabRateLimitResult,
GitLabRateLimitSnapshot
@@ -2,7 +2,7 @@ import { Fragment } from 'react'
import { Button } from '@/components/ui/button'
import { translate } from '@/i18n/i18n'
import { openAgentMessageSender } from '@/lib/open-agent-message-sender'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { useNativeChatVisualOwner } from './native-chat-visual-owner'
import {
agentMessageSendersShown,
@@ -40,7 +40,7 @@ import type {
AgentJournalRenderItem,
AgentJournalSubmission
} from '../../../../shared/agent-session-journal-types'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
NativeChatInterruptedContinueButton,
useNativeChatInterruptedContinuation
@@ -5,7 +5,7 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip
import { translate } from '@/i18n/i18n'
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
import { useStructuredAgentSessionHostCapabilityState } from '@/runtime/structured-agent-session-host-capability'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type {
AgentJournalRenderItem,
AgentJournalSubmission
@@ -9,7 +9,7 @@ import {
import { findStructuredAgentSessionReadOwner } from './structured-agent-session-read-owner'
import { structuredAttentionReadObservation } from './structured-attention-read-observation'
import { useAppStore } from '@/store'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
structuredAgentSessionOwnerForTab,
structuredAgentSessionTargetForHost
@@ -39,8 +39,6 @@ vi.mock('@/lib/worktree-runtime-owner', () => ({
state.runtimeEnvironmentId ? `runtime:${state.runtimeEnvironmentId}` : 'local'
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({}))
vi.mock('./NativeChatView', async () => {
const { useEffect } = await import('react')
return {
@@ -32,7 +32,7 @@ import { agentMainAgentVerdict } from '../../../../shared/agent-main-agent-verdi
import { useStructuredAgentSessionLaunchLifecycle } from '@/lib/structured-agent-session-launch-registry'
import { useStructuredAgentSessionLaunchFailedAt } from '@/lib/structured-agent-session-launch-failed-at'
import { useAppStore } from '@/store'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
structuredAgentSessionOwnerForTab,
structuredAgentSessionTargetForHost
@@ -9,7 +9,7 @@ import type { AgentSessionStatusEvent } from '../../../../shared/agent-session-w
import type { AgentMessageSource } from '../../../../shared/agent-session-message-source'
import { testOrcaSessionId } from '../../../../shared/orca-session-address-test-fixture'
import type { Tab } from '../../../../shared/tab-types'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
AGENT_SESSION_STATUS_FEED_RUNTIME_CAPABILITY,
MIN_COMPATIBLE_RUNTIME_CLIENT_VERSION,
@@ -8,7 +8,7 @@ import {
resolveStructuredAgentSessionOwner,
executionHostIdForStructuredTarget
} from '@/runtime/structured-agent-session-owner'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type { AgentMessageSender } from '../../../../shared/agent-session-message-source'
import type { Tab } from '../../../../shared/tab-types'
import { getKnownExecutionHostIdForWorktree } from '@/lib/worktree-runtime-owner'
@@ -2,7 +2,7 @@ import { createContext, useCallback, useContext, useMemo, useRef, useState } fro
import { translate } from '@/i18n/i18n'
import { useAppStore } from '@/store'
import { signInToClaudeAccount } from '@/lib/claude-account-sign-in'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
/** The chat failures a sign-in to the selected Claude account fixes. */
const SIGN_IN_FAILURE_KINDS: ReadonlySet<string> = new Set([
@@ -1,10 +1,8 @@
import { useAppStore } from '@/store'
import type { AppState } from '@/store/types'
import type { RuntimeFileOperationArgs } from '@/runtime/runtime-file-client-types'
import {
runtimeTargetForOwnerEnvironment,
type RuntimeClientTarget
} from '@/runtime/runtime-client-target'
import { runtimeTargetForOwnerEnvironment } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
resolveWorktreeOperationRouteResult,
type WorktreeOperationRouteResolution
@@ -20,9 +20,7 @@ vi.mock('../../store', () => ({
selector({ agentStatusByPaneKey: {} })
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({
callRuntimeRpc: mocks.callRuntimeRpc
}))
vi.mock('@/runtime/runtime-rpc-client', () => ({ callRuntimeRpc: mocks.callRuntimeRpc }))
vi.mock('./native-chat-pty-session-options', () => ({
createNativeChatPtySessionOptions: mocks.createNativeChatPtySessionOptions
@@ -1,7 +1,5 @@
import {
getRuntimeEnvironmentIdForWorktree,
type WorktreeRuntimeOwnerState
} from '@/lib/worktree-runtime-owner'
import { getRuntimeEnvironmentIdForWorktree } from '@/lib/worktree-runtime-owner'
import type { WorktreeRuntimeOwnerState } from '@/lib/worktree-runtime-owner-state'
import type { AppState } from '@/store/types'
import {
createNativeChatTabOwnerSelector,
@@ -1,5 +1,6 @@
import type { NativeChatSessionOptionSettingsMutation } from '../../../../shared/native-chat-session-options'
import { callRuntimeRpc, type RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
/**
* The executing runtime applies deltas to its latest record. This keeps paired-runtime
@@ -2,9 +2,9 @@ import { beforeEach, describe, expect, it, vi } from 'vitest'
import type { NativeChatMessage } from '../../../../shared/native-chat-types'
import {
clearRuntimeCompatibilityCacheForTests,
markRuntimeEnvironmentCompatible,
RuntimeRpcCallError
markRuntimeEnvironmentCompatible
} from '@/runtime/runtime-rpc-client'
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-result'
import { RUNTIME_COMPAT_BLOCK_CODE } from '@/runtime/runtime-protocol-compat'
import {
getNativeChatSessionTransport,
@@ -1,10 +1,8 @@
import type { NativeChatApi, NativeChatAppendedMessages } from '../../../../preload/api-types'
import { isWebClientLocation } from '@/lib/web-client-location'
import {
callRuntimeRpc,
RuntimeRpcCallError,
type RuntimeClientTarget
} from '@/runtime/runtime-rpc-client'
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-result'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { isRuntimeCompatBlockError } from '@/runtime/runtime-protocol-compat'
import {
parseRuntimeNativeChatReadSessionResult,
@@ -1,7 +1,7 @@
import type { AppState } from '../../store/types'
import type { SkillDiscoveryTarget } from '../../../../shared/skills'
import { parseExecutionHostId } from '../../../../shared/execution-host'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
getExplicitRuntimeEnvironmentIdForWorktree,
getExecutionHostIdForWorktree
@@ -1,6 +1,6 @@
import type { AgentType } from '../../../../shared/agent-status-types'
import type { TuiAgent } from '../../../../shared/tui-agent'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type { NativeChatSession } from '../../../../shared/native-chat-types'
import type { NativeChatContextMenuActions } from './use-native-chat-context-menu'
@@ -1,5 +1,5 @@
import { createContext, useContext, useMemo, type ReactNode } from 'react'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { useNativeChatTabOwnerWorktreeId } from './use-native-chat-tab-owner'
/** The structured chat a transcript belongs to: where its visuals are read and what owns them. */
@@ -5,7 +5,7 @@
// cached; the next mount or retry asks again.
import { callRuntimeRpc } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
AGENT_SESSION_VISUAL_READ_ERRORS,
type AgentSessionReadVisualResult,
@@ -11,7 +11,7 @@ import type {
} from '../../../../shared/agent-session-journal-types'
import type { AgentSessionWriteNoticePart } from '../../../../shared/agent-session-write-notice-copy'
import { agentSessionWriteNotDoneParts } from '../../../../shared/agent-session-refusal-notice'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { readStructuredAgentSessionConversationOutline } from '@/runtime/structured-agent-session-client'
import { agentSessionWriteNoticeText } from './agent-session-write-notice-text'
import { handBackStructuredAgentSessionMessage } from './structured-agent-session-message-hand-back'
@@ -15,7 +15,7 @@ import {
agentSessionWriteNotDoneParts
} from '../../../../shared/agent-session-refusal-notice'
import type { AgentSessionWriteFailure } from '../../../../shared/agent-session-write-failure'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
attemptStructuredAgentSessionSend,
forgetStructuredAgentSessionFence,
@@ -7,7 +7,7 @@ import {
type StructuredAgentSessionAction,
type StructuredAgentSessionState
} from '../../../../shared/structured-agent-session-reducer'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
import type { NativeChatOlderPageResult } from './native-chat-pagination'
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { supportsStructuredAgentSessionQuestionAnswers } from '@/runtime/structured-agent-session-client'
import {
legacyAgentSessionSelectedOptionId,
@@ -3,7 +3,7 @@
// that fails is only logged; nothing here ever blocks typing, Save or Cancel.
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type {
AgentSessionQueuedMessageEditHoldParams,
AgentSessionQueuedMessageEditHoldResult
@@ -1,4 +1,4 @@
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import type { StructuredAgentSessionReadOwner } from './structured-agent-session-read-owner'
const owners = new Map<string, StructuredAgentSessionReadOwner>()
@@ -13,7 +13,7 @@ import {
type StructuredAgentSessionAction,
type StructuredAgentSessionState
} from '../../../../shared/structured-agent-session-reducer'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
import { NATIVE_CHAT_INITIAL_LIMIT, type NativeChatOlderPageResult } from './native-chat-pagination'
import {
@@ -9,7 +9,7 @@ import {
import type { AgentSessionRefusalReference } from '../../../../shared/agent-session-wire-refusals'
import { readAgentSessionErrorRefusal } from '../../../../shared/agent-session-write-failure'
import { subscribeRuntimeHostContactRegained } from '@/runtime/runtime-host-contact-regained'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { subscribeStructuredAgentSession } from '@/runtime/structured-agent-session-client'
// A stream hands its failure over as the raw `{ code, message }` payload; `String()` of that is `[object Object]`.
@@ -18,10 +18,8 @@ import {
type StructuredAgentSessionSendAnswer,
type StructuredAgentSessionSendEvidence
} from '../../../../shared/structured-agent-session-send-evidence'
import {
ensureRuntimeEnvironmentCompatible,
type RuntimeClientTarget
} from '@/runtime/runtime-rpc-client'
import { ensureRuntimeEnvironmentCompatible } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-result'
import { isRuntimeCompatBlockError } from '@/runtime/runtime-protocol-compat'
import {
@@ -6,7 +6,7 @@ import {
import type { AgentSessionWriteNoticePart } from '../../../../shared/agent-session-write-notice-copy'
import type { AgentSessionWriteFailure } from '../../../../shared/agent-session-write-failure'
import { dispatchWasWithdrawn } from '../../../../shared/structured-agent-session-dispatch-rejection'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { agentSessionWriteNoticeText } from './agent-session-write-notice-text'
import { nativeChatRewindReasonCopy } from './native-chat-rewind-copy'
import { handBackStructuredAgentSessionMessage } from './structured-agent-session-message-hand-back'
@@ -26,7 +26,7 @@
* later. Unread and delivery otherwise share the existing `resolveAgentAttention` decision.
*/
import { notificationSourceForOwner } from '../../../../shared/notification-source'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { resolveNotificationTabOwner } from '@/attention/notification-subject-owner'
import type {
AgentSessionPromptAttention,
@@ -11,7 +11,7 @@ import {
settleStructuredAgentSessionBuiltinCatalog,
type StructuredAgentSessionOptionState
} from '../../../../shared/structured-agent-session-options'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
import { recordHostModelCatalogSnapshot } from '@/runtime/host-model-catalog-snapshots'
import { structuredAgentSessionHostKey } from '@/runtime/structured-agent-session-host-capability'
@@ -9,7 +9,7 @@ import type {
RuntimeHostStatusSnapshot
} from '../../../../shared/runtime-host-status'
import type { RuntimeStatus } from '../../../../shared/runtime-types'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
NATIVE_CHAT_HOST_RECONNECTING_GRACE_MS,
useNativeChatHostOutage
@@ -7,7 +7,7 @@ import {
runtimeHostConnectionStateForEntry,
type RuntimeHostConnectionState
} from '@/runtime/runtime-host-connection-state'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
export type NativeChatHostOutageKind = 'reconnecting' | 'offline'
@@ -1,5 +1,5 @@
import { useCallback, type RefObject } from 'react'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { useStructuredAgentSessionRewindBlockedReason } from './StructuredAgentSessionStatusBridge'
import type { NativeChatComposerHandle } from './NativeChatComposer'
import type { NativeChatRewindHost } from './use-native-chat-rewind'
@@ -14,7 +14,7 @@
import { useEffect, useRef } from 'react'
import { structuredAgentSessionHolderId } from '../../../../shared/structured-agent-session-holder'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
export function useStructuredAgentSessionHold(args: {
@@ -1,6 +1,6 @@
import { selectExecutionHostDisplayLabel } from '@/lib/execution-host-display-label'
import { executionHostIdForStructuredTarget } from '@/runtime/structured-agent-session-owner'
import type { RuntimeClientTarget } from '@/runtime/runtime-client-target'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { useAppStore } from '../../store'
/** What Orca calls the chat's host; null for a paired server this client has no name for, whose
@@ -19,7 +19,7 @@ import {
} from '../../../../shared/agent-session-write-failure'
import { structuredAgentSessionPayloadFingerprint } from '../../../../shared/structured-agent-session-mutation'
import { structuredSessionOperationId } from './structured-agent-session-operation-id'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { RuntimeRpcCallError } from '@/runtime/runtime-rpc-result'
import {
callStructuredAgentSession,
@@ -11,7 +11,7 @@ import {
createStructuredAgentSessionOptionState,
type StructuredAgentSessionOptionState
} from '../../../../shared/structured-agent-session-options'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
import { readHostModelCatalogSnapshot } from '@/runtime/host-model-catalog-snapshots'
import {
@@ -20,7 +20,7 @@ vi.mock('@/lib/structured-agent-session-launch-options', () => ({
import type { AgentType } from '../../../../shared/agent-status-types'
import type { AgentSessionModelCatalogResult } from '../../../../shared/agent-session-wire'
import type { SessionOptionDescriptor } from '../../../../shared/native-chat-session-options'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import {
preloadHostModelCatalogSnapshots,
resetHostModelCatalogSnapshotsForTests
@@ -17,7 +17,7 @@ import {
type StructuredAgentSessionOptionState
} from '../../../../shared/structured-agent-session-options'
import { structuredAgentSessionOptionView } from '../../../../shared/structured-agent-session-option-view'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { callStructuredAgentSession } from '@/runtime/structured-agent-session-client'
import { enqueueSessionOptionSettingsWrite } from './native-chat-session-option-settings-write'
import { encodeStructuredAgentSessionOptionValue } from '../../../../shared/structured-agent-session-option-codec'
@@ -38,7 +38,7 @@ import {
RUNTIME_CAPABILITIES
} from '../../../../shared/protocol-version'
import { setLocalRuntimeCapabilitiesForTests } from '@/runtime/local-runtime-capabilities'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { resetStructuredAgentSessionReadOwnersForTests } from './structured-agent-session-read-owner'
import {
useStructuredAgentSession,
@@ -4,7 +4,7 @@
import { useCallback, useEffect, useRef, useState } from 'react'
import { toast } from 'sonner'
import type { RuntimeClientTarget } from '@/runtime/runtime-rpc-client'
import type { RuntimeClientTarget } from '../../../../shared/runtime-client-target'
import { structuredAgentSessionHostKey } from '@/runtime/structured-agent-session-host-capability'
import type {
AgentSessionQueuedMessage,

Some files were not shown because too many files have changed in this diff Show More