mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-18 11:40: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
13
cli/src/adapters/registry.ts
Normal file
13
cli/src/adapters/registry.ts
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
import type { CLIAdapterModule } from "./types.js";
|
||||
import { claudeLocalCLIAdapter } from "./claude-local/index.js";
|
||||
import { codexLocalCLIAdapter } from "./codex-local/index.js";
|
||||
import { processCLIAdapter } from "./process/index.js";
|
||||
import { httpCLIAdapter } from "./http/index.js";
|
||||
|
||||
const adaptersByType = new Map<string, CLIAdapterModule>(
|
||||
[claudeLocalCLIAdapter, codexLocalCLIAdapter, processCLIAdapter, httpCLIAdapter].map((a) => [a.type, a]),
|
||||
);
|
||||
|
||||
export function getCLIAdapter(type: string): CLIAdapterModule {
|
||||
return adaptersByType.get(type) ?? processCLIAdapter;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue