Refactor monolithic heartbeat service, AgentConfigForm, and CLI heartbeat-run into a proper adapter registry pattern. Each adapter type (process, claude-local, codex-local, http) gets its own module with server-side execution logic, CLI invocation, and UI config form. Significantly reduces file sizes and enables adding new adapters without touching core code. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
19 lines
517 B
TypeScript
19 lines
517 B
TypeScript
import type { CreateConfigValues } from "../../components/AgentConfigForm";
|
|
|
|
function parseCommaArgs(value: string): string[] {
|
|
return value
|
|
.split(",")
|
|
.map((item) => item.trim())
|
|
.filter(Boolean);
|
|
}
|
|
|
|
export function buildProcessConfig(v: CreateConfigValues): Record<string, unknown> {
|
|
const ac: Record<string, unknown> = {};
|
|
if (v.cwd) ac.cwd = v.cwd;
|
|
ac.timeoutSec = 0;
|
|
ac.graceSec = 15;
|
|
if (v.command) ac.command = v.command;
|
|
if (v.args) ac.args = parseCommaArgs(v.args);
|
|
return ac;
|
|
}
|