Files
openclaw/src/plugin-sdk/plugin-test-api.ts
EVA 1adaa28dc8 [plugin sdk] Add generic plugin host-hook contracts (#72287)
Merged via squash.

Prepared head SHA: 68e5f2ce19
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com>
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com>
Reviewed-by: @jalehman
2026-04-27 17:07:02 -07:00

78 lines
2.5 KiB
TypeScript

import type { OpenClawPluginApi } from "./plugin-runtime.js";
export type TestPluginApiInput = Partial<OpenClawPluginApi>;
export function createTestPluginApi(api: TestPluginApiInput = {}): OpenClawPluginApi {
return {
id: "test-plugin",
name: "test-plugin",
source: "test",
registrationMode: "full",
config: {},
runtime: {} as OpenClawPluginApi["runtime"],
logger: { info() {}, warn() {}, error() {}, debug() {} },
registerTool() {},
registerHook() {},
registerHttpRoute() {},
registerChannel() {},
registerGatewayMethod() {},
registerCli() {},
registerCliBackend() {},
registerTextTransforms() {},
registerService() {},
registerGatewayDiscoveryService() {},
registerReload() {},
registerNodeHostCommand() {},
registerSecurityAuditCollector() {},
registerConfigMigration() {},
registerMigrationProvider() {},
registerAutoEnableProbe() {},
registerProvider() {},
registerSpeechProvider() {},
registerRealtimeTranscriptionProvider() {},
registerRealtimeVoiceProvider() {},
registerMediaUnderstandingProvider() {},
registerImageGenerationProvider() {},
registerMusicGenerationProvider() {},
registerVideoGenerationProvider() {},
registerWebFetchProvider() {},
registerWebSearchProvider() {},
registerInteractiveHandler() {},
onConversationBindingResolved() {},
registerCommand() {},
registerContextEngine() {},
registerCompactionProvider() {},
registerAgentHarness() {},
registerCodexAppServerExtensionFactory() {},
registerAgentToolResultMiddleware() {},
registerDetachedTaskRuntime() {},
registerSessionExtension() {},
enqueueNextTurnInjection: async (injection) => ({
enqueued: false,
id: "",
sessionKey: injection.sessionKey,
}),
registerTrustedToolPolicy() {},
registerToolMetadata() {},
registerControlUiDescriptor() {},
registerRuntimeLifecycle() {},
registerAgentEventSubscription() {},
setRunContext: () => false,
getRunContext: () => undefined,
clearRunContext() {},
registerSessionSchedulerJob: () => undefined,
registerMemoryCapability() {},
registerMemoryPromptSection() {},
registerMemoryPromptSupplement() {},
registerMemoryCorpusSupplement() {},
registerMemoryFlushPlan() {},
registerMemoryRuntime() {},
registerMemoryEmbeddingProvider() {},
resolvePath(input: string) {
return input;
},
on() {},
...api,
};
}