Extract adapter registry across CLI, server, and UI

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>
This commit is contained in:
Forgotten
2026-02-18 13:53:03 -06:00
parent 3a91ecbae3
commit 47ccd946b6
52 changed files with 1961 additions and 1361 deletions

View File

@@ -0,0 +1,12 @@
import type { UIAdapterModule } from "../types";
import { parseCodexStdoutLine } from "./parse-stdout";
import { CodexLocalConfigFields } from "./config-fields";
import { buildCodexLocalConfig } from "./build-config";
export const codexLocalUIAdapter: UIAdapterModule = {
type: "codex_local",
label: "Codex (local)",
parseStdoutLine: parseCodexStdoutLine,
ConfigFields: CodexLocalConfigFields,
buildAdapterConfig: buildCodexLocalConfig,
};