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:
4
cli/src/adapters/process/format-event.ts
Normal file
4
cli/src/adapters/process/format-event.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export function printProcessStdoutEvent(raw: string, _debug: boolean): void {
|
||||
const line = raw.trim();
|
||||
if (line) console.log(line);
|
||||
}
|
||||
7
cli/src/adapters/process/index.ts
Normal file
7
cli/src/adapters/process/index.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import type { CLIAdapterModule } from "../types.js";
|
||||
import { printProcessStdoutEvent } from "./format-event.js";
|
||||
|
||||
export const processCLIAdapter: CLIAdapterModule = {
|
||||
type: "process",
|
||||
formatStdoutEvent: printProcessStdoutEvent,
|
||||
};
|
||||
Reference in New Issue
Block a user