mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 00:57:45 +00:00
* fix(agents): launch Claude Agent Teams as plain orca on Orca servers A paired Orca server has no SSH connection id, so client launches treated it as a local Linux desktop and typed `orca-ide claude-teams`. Headless servers only put `orca` on PATH. Client launches now read the resolved execution host (SSH or server, except WSL workspaces), and launches built on a headless Linux server use the launcher that server publishes. Fixes #33920. Reported by @williamhrs. Client-side approach from #33987 by @coolwindX; #33975 by @Shubham-Padkonde showed the host-built launch gap. * fix(orcad): keep orca-ide working for older clients on Linux servers Older clients type the desktop orca-ide claude-teams into server terminals. Write an identical orca-ide launcher beside orca. Idea and test from #33975 by @Shubham-Padkonde.
23 lines
797 B
TypeScript
23 lines
797 B
TypeScript
import type { Repo } from './repo-types'
|
|
import {
|
|
getRepoExecutionHostId,
|
|
parseExecutionHostId,
|
|
type ParsedExecutionHost
|
|
} from './execution-host'
|
|
import { isWslUncPath } from './wsl-paths'
|
|
|
|
/** SSH relays and Orca servers put plain `orca` on PATH; the Linux `orca-ide` rename is for local desktops and WSL. */
|
|
export function launchHostIsRemote(
|
|
hostKind: ParsedExecutionHost['kind'],
|
|
workspacePath: string | null | undefined
|
|
): boolean {
|
|
return hostKind !== 'local' && !(workspacePath && isWslUncPath(workspacePath))
|
|
}
|
|
|
|
export function repoIsRemote(
|
|
repo: Pick<Repo, 'connectionId' | 'executionHostId'> & { path?: string | null }
|
|
): boolean {
|
|
const hostKind = parseExecutionHostId(getRepoExecutionHostId(repo))?.kind ?? 'local'
|
|
return launchHostIsRemote(hostKind, repo.path)
|
|
}
|