mirror of
https://github.com/khoaliber/paperclip.git
synced 2026-04-19 17:14:40 +00:00
Introduce openclaw adapter package with server execution, CLI stream formatting, and UI config fields. Register the adapter across CLI, server, and UI registries. Add adapter label in all relevant pages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import type { CLIAdapterModule } from "@paperclip/adapter-utils";
|
|
import { printClaudeStreamEvent } from "@paperclip/adapter-claude-local/cli";
|
|
import { printCodexStreamEvent } from "@paperclip/adapter-codex-local/cli";
|
|
import { printOpenClawStreamEvent } from "@paperclip/adapter-openclaw/cli";
|
|
import { processCLIAdapter } from "./process/index.js";
|
|
import { httpCLIAdapter } from "./http/index.js";
|
|
|
|
const claudeLocalCLIAdapter: CLIAdapterModule = {
|
|
type: "claude_local",
|
|
formatStdoutEvent: printClaudeStreamEvent,
|
|
};
|
|
|
|
const codexLocalCLIAdapter: CLIAdapterModule = {
|
|
type: "codex_local",
|
|
formatStdoutEvent: printCodexStreamEvent,
|
|
};
|
|
|
|
const openclawCLIAdapter: CLIAdapterModule = {
|
|
type: "openclaw",
|
|
formatStdoutEvent: printOpenClawStreamEvent,
|
|
};
|
|
|
|
const adaptersByType = new Map<string, CLIAdapterModule>(
|
|
[claudeLocalCLIAdapter, codexLocalCLIAdapter, openclawCLIAdapter, processCLIAdapter, httpCLIAdapter].map((a) => [a.type, a]),
|
|
);
|
|
|
|
export function getCLIAdapter(type: string): CLIAdapterModule {
|
|
return adaptersByType.get(type) ?? processCLIAdapter;
|
|
}
|