Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
// A record ends when the chat's agent is started again outside a resume action — the host retires
// it at that start, with the offer — or by a successful retry, or a dismissal.

import type { AgentSessionRecoveryCapsule } from '../../runtime/agent-session-recovery-capsule'
import type {
AgentSessionRecoveryCapsule,
AgentSessionResumeFailureInput,
AgentSessionResumeFailureRecord
} from '../../runtime/agent-session-recovery-capsule'
} from '../../runtime/agent-session-recovery-capsule-entries'
import type { AgentSessionRecord } from '../../../shared/agent-session-record'
import type {
AgentSessionResumeFailureOutcome,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { afterEach, describe, expect, it, vi } from 'vitest'
import { AGENT_PROMPT_EFFECT_TIMEOUT_MS } from '../../shared/orchestration-timing-budgets'
import {
AGENT_PROMPT_EFFECT_TIMEOUT_MS,
AGENT_PROMPT_HOOK_EFFECT_TIMEOUT_MS,
type AgentPromptActivity,
isAgentPromptStalledError,
Expand Down
1 change: 0 additions & 1 deletion src/main/runtime/agent-prompt-submission-verification.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export { AGENT_PROMPT_EFFECT_TIMEOUT_MS } from '../../shared/orchestration-timing-budgets'
import { AGENT_PROMPT_EFFECT_TIMEOUT_MS } from '../../shared/orchestration-timing-budgets'
import type { TerminalAgent } from '../../shared/terminal-agent'

Expand Down
4 changes: 2 additions & 2 deletions src/main/runtime/agent-session-recovery-capsule.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import {
} from '../native-chat/agent-session-wire/structured-agent-session-restart-resume-test-harness'
import {
AgentSessionRecoveryCapsule,
AGENT_SESSION_RECOVERY_CAPSULE_FILE,
type AgentSessionResumeFailureInput
AGENT_SESSION_RECOVERY_CAPSULE_FILE
} from './agent-session-recovery-capsule'
import type { AgentSessionResumeFailureInput } from './agent-session-recovery-capsule-entries'

let directory: string
let filePath: string
Expand Down
5 changes: 0 additions & 5 deletions src/main/runtime/agent-session-recovery-capsule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ import {
type RecoveryEntry
} from './agent-session-recovery-capsule-entries'

export type {
AgentSessionResumeFailureInput,
AgentSessionResumeFailureRecord
} from './agent-session-recovery-capsule-entries'

export const AGENT_SESSION_RECOVERY_CAPSULE_FILE = 'agent-session-recovery.json'
const MAX_CAPSULE_BYTES = 4 * 1024 * 1024

Expand Down
3 changes: 2 additions & 1 deletion src/main/runtime/claude-agent-teams-service.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { describe, expect, it, vi } from 'vitest'
import { ClaudeAgentTeamsService, type AgentTeamsTerminalApi } from './claude-agent-teams-service'
import { ClaudeAgentTeamsService } from './claude-agent-teams-service'
import type { AgentTeamsTerminalApi } from './claude-agent-teams-types'

function createServiceWithLeader(): {
service: ClaudeAgentTeamsService
Expand Down
7 changes: 0 additions & 7 deletions src/main/runtime/claude-agent-teams-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@ import type {
TeamPane
} from './claude-agent-teams-types'

export type {
AgentTeamsLaunchEnv,
AgentTeamsTerminalApi,
AgentTeamsTmuxCompatRequest,
AgentTeamsTmuxCompatResponse
} from './claude-agent-teams-types'

export class ClaudeAgentTeamsService {
private readonly teams = new Map<string, AgentTeam>()
private readonly dispatcher = new ClaudeAgentTeamsTmuxDispatcher()
Expand Down
6 changes: 2 additions & 4 deletions src/main/runtime/construction/runtime-construction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@ import { installRuntimeGitCommandSurface } from '../runtime-git-command-surface'
import { installRuntimeRepositoryCommandSurface } from '../runtime-repository-command-surface'
import { installRuntimeReviewCommandSurface } from '../runtime-review-command-surface'
import { installRuntimeServiceCommandSurface } from '../runtime-service-command-surface'
import {
RuntimeSkillCommands,
installRuntimeSkillCommandSurface
} from '../runtime-skill-command-surface'
import { RuntimeSkillCommands } from '../runtime-skill-command-surface'
import { installRuntimeSkillCommandSurface } from '../runtime-skill-command-contract'
import { getAppEnvironment } from '../../../shared/app-environment'
import { RuntimeClientSettingsController } from '../runtime-client-settings'
import { RuntimeSessionSearchSettingsController } from '../runtime-session-search-settings'
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/construction/runtime-service-state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { OrchestrationStructuredMailboxPointerDelivery } from '../orchestration/
import { createStructuredMailboxPointerHost } from '../orchestration/structured-mailbox-pointer-host'
import { localOrchestrationCliCommand } from '../orchestration/cli-command'
import { RuntimeOrchestrationSenderNames } from '../runtime-orchestration-sender-names'
import { isStructuredWorkerHandle } from '../structured-worker-identity'
import { isStructuredWorkerHandle } from '../../../shared/structured-worker-handle'
import { ORCA_SESSION_ADDRESS_PREFIX } from '../../../shared/orca-session-address'
import { resolveStructuredWorkerAuthority } from '../structured-worker-authority'
import { OrcaRuntimeWithRuntimeId } from './runtime-identity-state'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { afterEach, describe, expect, it, vi } from 'vitest'
import type { MobilePairingConnectionContext } from '../runtime-rpc'
import type { MobilePairingConnectionContext } from '../runtime-rpc/runtime-rpc-pairing-types'
import { DesktopRelayService } from './desktop-relay-service'
import { pairingAuthorizationForContext } from './relay-pairing-authorization'

Expand Down
3 changes: 2 additions & 1 deletion src/main/runtime/mobile-cloud-relay/desktop-relay-service.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import type { OrcaCloudAuthConfig } from '../../orca-profiles/profile-cloud-auth-config'
import type { MobilePairingConnectionContext, OrcaRuntimeRpcServer } from '../runtime-rpc'
import type { MobilePairingConnectionContext } from '../runtime-rpc/runtime-rpc-pairing-types'
import type { OrcaRuntimeRpcServer } from '../runtime-rpc'
import type {
DeviceCredentialInstalled,
PairingGetEndpointsParams,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { MobilePairingConnectionContext } from '../runtime-rpc'
import type { MobilePairingConnectionContext } from '../runtime-rpc/runtime-rpc-pairing-types'
import type { DeviceCredentialInstallAuthorization } from './relay-control-requests'

// Derives install authorization only from immutable connection metadata, never from request params.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
openMobileE2EEV2Frame,
sealMobileE2EEV2Frame
} from '../../../shared/mobile-e2ee-v2-framing'
import { deriveSharedKey } from '../rpc/e2ee-crypto'
import { deriveSharedKey } from '../../../shared/e2ee-crypto'
import { deriveMobileE2EEV2KeySchedule } from '../../../shared/mobile-e2ee-v2-node-key-schedule'

// Why: desktop-side tests need an independent mobile-side wire peer
Expand Down
1 change: 0 additions & 1 deletion src/main/runtime/mobile-notification-dismissal-store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import {
type StructuredAttentionOrigin
} from '../../shared/agent-session-attention'

export type { DeliveredNotificationIdentity } from '../../shared/mobile-notification-identity'
export type DeliveredNotificationRecord = DeliveredNotificationIdentity & {
structuredOrigin?: StructuredAttentionOrigin
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { describe, expect, it } from 'vitest'
import { appendRetiredTerminalSurfaceProofs } from '../../shared/terminal-retirement-proof-ledger'
import {
appendRetiredTerminalSurfaceProofs,
attachRetirementProofsToSnapshot,
preserveTerminalRetirementProofs
} from './mobile-session-terminal-retirement-proof'
Expand Down
5 changes: 0 additions & 5 deletions src/main/runtime/mobile-session-terminal-retirement-proof.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@ import {
retirementProofKey
} from '../../shared/terminal-retirement-proof-ledger'

export {
appendRetiredTerminalSurfaceProofs,
dropRetirementProofsForLiveSurfaces
} from '../../shared/terminal-retirement-proof-ledger'

/**
* Renderer snapshots omit the host's durable close acknowledgements; carry them forward.
*
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/mobile-session-terminal-retirement.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import type {
TerminalLayoutSnapshot,
TerminalPaneLayoutNode
} from '../../shared/terminal-tab-types'
import { appendRetiredTerminalSurfaceProofs } from './mobile-session-terminal-retirement-proof'
import { appendRetiredTerminalSurfaceProofs } from '../../shared/terminal-retirement-proof-ledger'

export type RetiredTerminalSurface = {
worktreeId: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@ import {
createStreamedGuest
} from './single-page-browser-commands-host-test-double'
import { E2EEChannel } from './rpc/e2ee-channel'
import { decrypt, decryptBytes, deriveSharedKey, encrypt, generateKeyPair } from './rpc/e2ee-crypto'
import {
decrypt,
decryptBytes,
deriveSharedKey,
encrypt,
generateKeyPair
} from '../../shared/e2ee-crypto'
import type { RpcBinarySender } from './rpc/rpc-binary-sender'

const { webContentsFromId, startBrowserScreencast } = vi.hoisted(() => ({
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/orca-runtime-core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import type { RuntimeGitCommandSurface } from './runtime-git-command-surface'
import type { RuntimeRepositoryCommandSurface } from './runtime-repository-command-surface'
import type { RuntimeReviewCommandSurface } from './runtime-review-command-surface'
import type { RuntimeServiceCommandSurface } from './runtime-service-command-surface'
import type { RuntimeSkillCommandSurface } from './runtime-skill-command-surface'
import type { RuntimeSkillCommandSurface } from './runtime-skill-command-contract'

export type PtyIncarnationHandleRecord = {
handle: string
Expand Down
3 changes: 2 additions & 1 deletion src/main/runtime/orca-runtime-git-branch-diff.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { beforeEach, describe, expect, it, vi } from 'vitest'
import type { GlobalSettings } from '../../shared/global-settings-types'
import { RuntimeGitCommands, type ResolvedRuntimeGitWorktree } from './orca-runtime-git'
import { RuntimeGitCommands } from './orca-runtime-git'
import type { ResolvedRuntimeGitWorktree } from './runtime-git-command-target'

const getBranchDiffMock = vi.hoisted(() => vi.fn())

Expand Down
3 changes: 2 additions & 1 deletion src/main/runtime/orca-runtime-git-diff-budget.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import { REMOTE_RPC_MAX_CONTENT_BYTES } from '../../shared/remote-rpc-content-bu
import type { GitDiffResult } from '../../shared/git-diff-compare-types'
import type { GlobalSettings } from '../../shared/global-settings-types'
import type * as GitStatusModule from '../git/status'
import { RuntimeGitCommands, type ResolvedRuntimeGitWorktree } from './orca-runtime-git'
import { RuntimeGitCommands } from './orca-runtime-git'
import type { ResolvedRuntimeGitWorktree } from './runtime-git-command-target'

const mocks = vi.hoisted(() => ({
getDiff: vi.fn(),
Expand Down
3 changes: 2 additions & 1 deletion src/main/runtime/orca-runtime-git.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ import {
SSH_HOST_NOT_SERVED_MESSAGE,
SshHostNotServedError
} from '../providers/ssh-host-not-served-error'
import { RuntimeGitCommands, type ResolvedRuntimeGitWorktree } from './orca-runtime-git'
import { RuntimeGitCommands } from './orca-runtime-git'
import type { ResolvedRuntimeGitWorktree } from './runtime-git-command-target'

const mocks = vi.hoisted(() => ({
checkoutBranch: vi.fn(),
Expand Down
5 changes: 0 additions & 5 deletions src/main/runtime/orca-runtime-git.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,6 @@ import { RuntimeGitStatusCommands } from './runtime-git-status-commands'
import { RuntimeGitSyncCommands } from './runtime-git-sync-commands'
import type { RuntimeGitCommandHost } from './runtime-git-command-target'

export type {
ResolvedRuntimeGitWorktree,
RuntimeGitCommandHost
} from './runtime-git-command-target'

export class RuntimeGitCommands {
readonly getRuntimeGitStatus: RuntimeGitStatusCommands['getRuntimeGitStatus']
readonly getRuntimeGitSubmoduleStatus: RuntimeGitStatusCommands['getRuntimeGitSubmoduleStatus']
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,8 @@ import {
removeWorktree
} from '../../git/worktree'
import * as gitRunner from '../../git/runner'
import {
WORKTREE_PROCESS_SWEEP_TIMEOUT_MS,
WORKTREE_TEARDOWN_RPC_MARGIN_MS
} from '../worktree-teardown'
import { WORKTREE_PROCESS_SWEEP_TIMEOUT_MS } from '../worktree-teardown'
import { WORKTREE_TEARDOWN_RPC_MARGIN_MS } from '../worktree-teardown-deadline'
import { clearSubmodulePathsCacheForTests, listSubmodulePaths } from '../../git/status'
import { getEffectiveHooks, hasHooksFile, loadHooks, parseOrcaYaml, runHook } from '../../hooks'
import { createSetupRunnerScript, resolveSetupRunnerShell } from '../../worktree-runner-script'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import type Database from '../../../../sqlite/sync-database'
import { isOrcaSessionId } from '../../../../../shared/orca-session-address'
import {
STRUCTURED_WORKER_HANDLE_PREFIX,
isStructuredWorkerHandle
} from '../../../../../shared/structured-worker-handle'
import {
STRUCTURED_WORKER_INCARNATION_PREFIX,
isStructuredWorkerHandle,
sessionIdFromStructuredWorkerIncarnation
} from '../../../structured-worker-identity'
import { currentRunCoordinatorOrcaSessionIdSql } from '../runs/run-coordinator-orca-session'
Expand Down
6 changes: 2 additions & 4 deletions src/main/runtime/orchestration/worker-output-archive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@ import type {
WorkerTerminalArchiveRow,
WorkerTerminalArchiveStatus
} from './worker-terminal-ownership'
import {
MAX_WORKER_TRANSCRIPT_MESSAGE_LIMIT,
redactWorkerTerminalLines
} from './worker-transcript-payload'
import { MAX_WORKER_TRANSCRIPT_MESSAGE_LIMIT } from './worker-transcript-payload'
import { redactWorkerTerminalLines } from './worker-terminal-redaction'
import { readWorkerTranscript } from './worker-transcript-read'
import { isWslHookRelayConnectionId } from '../../../shared/wsl-hook-relay-contract'
import { captureStructuredWorkerArchive } from '../rpc/methods/orchestration-structured-worker-lifecycle'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ import type { PtyProcessInfo } from '../../providers/pty-process-info'

// One reader for the durable `host_scope` column; re-exported so the process-liveness
// path keeps its import site while the parse itself lives beside the fleet consumers.
export type { WorkerTerminalHostScope } from '../../../shared/worker-terminal-host-scope'
export { parseWorkerTerminalHostScope } from '../../../shared/worker-terminal-host-scope'

/**
* Does `processIncarnation` name exactly this pty's live incarnation? Requires exact
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { describe, expect, it } from 'vitest'
import { projectStructuredItemsToNativeChat } from '../../../shared/structured-agent-session-projection'
import {
boundWorkerTranscriptMessages,
boundWorkerTranscriptTail,
redactWorkerTerminalLines
boundWorkerTranscriptTail
} from './worker-transcript-payload'
import { redactWorkerTerminalLines } from './worker-terminal-redaction'

describe('worker transcript wire bounds', () => {
it('clips oversized blocks and omits local image paths', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import type { NativeChatBlock, NativeChatMessage } from '../../../shared/native-
import { boundSubagentEntryId } from '../../native-chat/subagent-entry-id-bounds'
import { boundWorkerTranscriptActivityBlock } from './worker-transcript-activity-block-bounds'
import { replaceDispatchCapabilities } from './worker-terminal-redaction'
export { redactWorkerTerminalLines } from './worker-terminal-redaction'

export const DEFAULT_WORKER_TRANSCRIPT_MESSAGE_LIMIT = 40
export const MAX_WORKER_TRANSCRIPT_MESSAGE_LIMIT = 50
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/paired-client-navigation-test-harness.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import WebSocket from 'ws'
import { parsePairingCode } from '../../shared/pairing'
import type { RuntimeMobileSessionTabsResult } from '../../shared/runtime-types'
import type { OrcaRuntimeService } from './orca-runtime'
import { decrypt, deriveSharedKey, encrypt, generateKeyPair } from './rpc/e2ee-crypto'
import { decrypt, deriveSharedKey, encrypt, generateKeyPair } from '../../shared/e2ee-crypto'

export const REPO_ID = 'repo-1'
export const FOLDER_REPO_ID = 'folder-repo-1'
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/remote-desktop-terminal-floor.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { clampTerminalViewport } from './terminal-viewport'
import { clampTerminalViewport } from '../../shared/terminal-viewport'

type Viewport = { cols: number; rows: number }
type Viewer = Viewport & { clientId: string; activity: number }
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/rpc/device-key-auth.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { DeviceRegistry } from '../device-registry'
import { DEVICE_REGISTRY_FILENAME } from '../mobile-pairing-files'
import { SimulatedMobileE2EEV2Peer } from '../mobile-cloud-relay/simulated-mobile-e2ee-v2-peer'
import { registerSocketDeviceKey } from '../runtime-rpc/runtime-rpc-device-key-registration'
import { generateKeyPair } from './e2ee-crypto'
import { generateKeyPair } from '../../../shared/e2ee-crypto'
import {
MobileSocketWiring,
type AuthenticatedMobileSocket,
Expand Down
8 changes: 7 additions & 1 deletion src/main/runtime/rpc/e2ee-channel-text-backpressure.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import type { WebSocket } from 'ws'
import type { RpcBinarySendResult } from './rpc-binary-sender'
import { E2EEChannel, type E2EEChannelOptions } from './e2ee-channel'
import { deriveSharedKey, decrypt, decryptBytes, encrypt, generateKeyPair } from './e2ee-crypto'
import {
deriveSharedKey,
decrypt,
decryptBytes,
encrypt,
generateKeyPair
} from '../../../shared/e2ee-crypto'
import { createMobileE2EEOutboundMemoryBudget } from './mobile-e2ee-outbound-memory-budget'
import { REMOTE_RUNTIME_MAX_OUTBOUND_JSON_BYTES } from '../../../shared/remote-runtime-memory-limits'

Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/rpc/e2ee-channel-v2.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
openMobileE2EEV2Frame,
sealMobileE2EEV2Frame
} from '../../../shared/mobile-e2ee-v2-framing'
import { deriveSharedKey } from './e2ee-crypto'
import { deriveSharedKey } from '../../../shared/e2ee-crypto'
import type { RpcBinarySendResult } from './rpc-binary-sender'
import { E2EEChannel } from './e2ee-channel'
import { deriveMobileE2EEV2KeySchedule } from '../../../shared/mobile-e2ee-v2-node-key-schedule'
Expand Down
8 changes: 7 additions & 1 deletion src/main/runtime/rpc/e2ee-channel.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@ import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'
import type { WebSocket } from 'ws'
import type { RpcBinarySendResult } from './rpc-binary-sender'
import { E2EEChannel, type E2EEChannelOptions } from './e2ee-channel'
import { generateKeyPair, deriveSharedKey, encrypt, decrypt, encryptBytes } from './e2ee-crypto'
import {
generateKeyPair,
deriveSharedKey,
encrypt,
decrypt,
encryptBytes
} from '../../../shared/e2ee-crypto'
import {
REMOTE_RUNTIME_MAX_OUTBOUND_BINARY_FRAME_BYTES,
REMOTE_RUNTIME_MAX_OUTBOUND_JSON_BYTES
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/rpc/e2ee-channel.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Why: this channel keeps E2EE framing out of RPC handlers, which consume plaintext across transports.
import type { WebSocket } from 'ws'
import { deriveSharedKey, encrypt, decrypt, decryptBytes } from './e2ee-crypto'
import { deriveSharedKey, encrypt, decrypt, decryptBytes } from '../../../shared/e2ee-crypto'
import {
DesktopMobileE2EEV2Session,
type DesktopMobileE2EEV2Context
Expand Down
2 changes: 1 addition & 1 deletion src/main/runtime/rpc/e2ee-crypto.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
decryptBytes,
MAX_E2EE_ENCRYPTED_BASE64_CHARACTERS,
publicKeyFromBase64
} from './e2ee-crypto'
} from '../../../shared/e2ee-crypto'
import { MOBILE_E2EE_LEGACY_FIXTURE } from '../../../shared/mobile-e2ee-legacy-fixtures'

describe('e2ee-crypto', () => {
Expand Down
10 changes: 0 additions & 10 deletions src/main/runtime/rpc/e2ee-crypto.ts

This file was deleted.

2 changes: 1 addition & 1 deletion src/main/runtime/rpc/e2ee-integration.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'
import type { WebSocket } from 'ws'
import { E2EEChannel } from './e2ee-channel'
import { generateKeyPair, deriveSharedKey, encrypt, decrypt } from './e2ee-crypto'
import { generateKeyPair, deriveSharedKey, encrypt, decrypt } from '../../../shared/e2ee-crypto'

// Why: this test simulates the full mobile → desktop E2EE flow without a real
// WebSocket. The "mobile" side generates an ephemeral keypair, sends e2ee_hello,
Expand Down
Loading
Loading