import type { CreateConfigValues } from "../components/AgentConfigForm"; import { buildNewAgentRuntimeConfig } from "./new-agent-runtime-config"; export function buildNewAgentHirePayload(input: { name: string; effectiveRole: string; title?: string; reportsTo?: string | null; selectedSkillKeys?: string[]; configValues: CreateConfigValues; adapterConfig: Record; }) { const { name, effectiveRole, title, reportsTo, selectedSkillKeys = [], configValues, adapterConfig, } = input; return { name: name.trim(), role: effectiveRole, ...(title?.trim() ? { title: title.trim() } : {}), ...(reportsTo ? { reportsTo } : {}), ...(selectedSkillKeys.length > 0 ? { desiredSkills: selectedSkillKeys } : {}), adapterType: configValues.adapterType, defaultEnvironmentId: configValues.defaultEnvironmentId ?? null, adapterConfig, runtimeConfig: buildNewAgentRuntimeConfig({ heartbeatEnabled: configValues.heartbeatEnabled, intervalSec: configValues.intervalSec, }), budgetMonthlyCents: 0, }; }