mirror of
https://github.com/stablyai/orca.git
synced 2026-10-31 17:17:38 +00:00
Remember an optional Jira project for each repository so its issue picker and Tasks list start with the intended project and site. Keep temporary project overrides separate from the saved default, and choose a mapped workspace destination while retaining the Jira account that supplied the issue. Older hosts that discard the optional saved field return an actionable message.
Keep account ownership separate from repository execution identity. An explicit matching repository owner disambiguates repeated IDs; automatic defaults require ID uniqueness, and overrides include execution-host identity. Preserve existing preselection behavior, saved/manual query classification and linked-view choices. Reuse existing persistence, identity and query builders; check the final UTF-8 query length for searches and project-filtered presets and show a recoverable error before dispatch.
Validation at reviewed 9b174ae4: 205 affected tests, node/web typechecks, seven changed-source quality checks, and 189 fresh rendered assertion invocations with 39 inspected screenshots and 1,413 stable source hashes pass. Independent source and artifact reviews found no blocker. The rendered evidence uses synthetic transports. Ubuntu 22.04 persistence CI stopped before tests because the native watcher crashed during the build; those inputs are unchanged from the preceding passing head. Full CI is not claimed green.
20 lines
657 B
TypeScript
20 lines
657 B
TypeScript
import {
|
|
getConnectionExecutionHostId,
|
|
LOCAL_EXECUTION_HOST_ID,
|
|
normalizeExecutionHostId,
|
|
parseExecutionHostId,
|
|
type ExecutionHostId
|
|
} from './execution-host'
|
|
|
|
export function resolveJiraSourceHostId(args: {
|
|
workspaceHostId?: string | null
|
|
groupExecutionHostId?: string | null
|
|
groupConnectionId?: string | null
|
|
}): ExecutionHostId {
|
|
const groupHostId =
|
|
normalizeExecutionHostId(args.groupExecutionHostId) ??
|
|
getConnectionExecutionHostId(args.groupConnectionId)
|
|
const hostId = normalizeExecutionHostId(args.workspaceHostId) ?? groupHostId
|
|
return parseExecutionHostId(hostId)?.kind === 'ssh' ? LOCAL_EXECUTION_HOST_ID : hostId
|
|
}
|