Files
openclaw/test/helpers/plugins/plugin-api.ts
Vincent Koc 38d2faee20 !feat(plugins): add web fetch provider boundary (#59465)
* feat(plugins): add web fetch provider boundary

* feat(plugins): add web fetch provider modules

* refactor(web-fetch): remove remaining core firecrawl fetch config

* fix(web-fetch): address review follow-ups

* fix(web-fetch): harden provider runtime boundaries

* fix(web-fetch): restore firecrawl compare helper

* fix(web-fetch): restore env-based provider autodetect

* fix(web-fetch): tighten provider hardening

* fix(web-fetch): restore fetch autodetect and compat args

* chore(changelog): note firecrawl fetch config break
2026-04-02 20:25:19 +09:00

42 lines
1.2 KiB
TypeScript

import type { OpenClawPluginApi } from "openclaw/plugin-sdk/plugin-runtime";
type TestPluginApiInput = Omit<
Partial<OpenClawPluginApi>,
"id" | "name" | "source" | "config" | "runtime"
> &
Pick<OpenClawPluginApi, "id" | "name" | "source" | "config" | "runtime">;
export function createTestPluginApi(api: TestPluginApiInput): OpenClawPluginApi {
return {
registrationMode: "full",
logger: { info() {}, warn() {}, error() {}, debug() {} },
registerTool() {},
registerHook() {},
registerHttpRoute() {},
registerChannel() {},
registerGatewayMethod() {},
registerCli() {},
registerService() {},
registerCliBackend() {},
registerProvider() {},
registerSpeechProvider() {},
registerMediaUnderstandingProvider() {},
registerImageGenerationProvider() {},
registerWebFetchProvider() {},
registerWebSearchProvider() {},
registerInteractiveHandler() {},
onConversationBindingResolved() {},
registerCommand() {},
registerContextEngine() {},
registerMemoryPromptSection() {},
registerMemoryFlushPlan() {},
registerMemoryRuntime() {},
registerMemoryEmbeddingProvider() {},
resolvePath(input: string) {
return input;
},
on() {},
...api,
};
}