mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-19 20:10:39 +09:00
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:
parent
3a91ecbae3
commit
47ccd946b6
52 changed files with 1961 additions and 1361 deletions
18
ui/src/adapters/process/build-config.ts
Normal file
18
ui/src/adapters/process/build-config.ts
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue