refactor: generate bundled channel seams

This commit is contained in:
Peter Steinberger
2026-03-27 04:04:10 +00:00
parent 9a775aa59c
commit a10763e118
18 changed files with 290 additions and 107 deletions

View File

@@ -0,0 +1,4 @@
export {
CLAUDE_CLI_BACKEND_ID,
isClaudeCliProvider,
} from "../../extensions/anthropic/cli-shared.js";

View File

@@ -200,6 +200,11 @@ type DefineChannelPluginEntryOptions<TPlugin = ChannelPlugin> = {
registerFull?: (api: OpenClawPluginApi) => void;
};
type DefinedChannelPluginEntry<TPlugin> = ReturnType<typeof definePluginEntry> & {
channelPlugin: TPlugin;
setChannelRuntime?: (runtime: PluginRuntime) => void;
};
type CreateChannelPluginBaseOptions<TResolvedAccount> = {
id: ChannelPlugin<TResolvedAccount>["id"];
meta?: Partial<NonNullable<ChannelPlugin<TResolvedAccount>["meta"]>>;
@@ -251,8 +256,8 @@ export function defineChannelPluginEntry<TPlugin>({
configSchema = emptyPluginConfigSchema,
setRuntime,
registerFull,
}: DefineChannelPluginEntryOptions<TPlugin>) {
return definePluginEntry({
}: DefineChannelPluginEntryOptions<TPlugin>): DefinedChannelPluginEntry<TPlugin> {
const entry = definePluginEntry({
id,
name,
description,
@@ -266,6 +271,11 @@ export function defineChannelPluginEntry<TPlugin>({
registerFull?.(api);
},
});
return {
...entry,
channelPlugin: plugin,
...(setRuntime ? { setChannelRuntime: setRuntime } : {}),
};
}
/**