openclaw/extensions/test-utils/plugin-api.ts

44 lines
1.0 KiB
TypeScript

type TestLogger = {
info: () => void;
warn: () => void;
error: () => void;
debug?: () => void;
};
type TestPluginApiDefaults = {
logger: TestLogger;
registerTool: () => void;
registerHook: () => void;
registerHttpRoute: () => void;
registerChannel: () => void;
registerGatewayMethod: () => void;
registerCli: () => void;
registerService: () => void;
registerProvider: () => void;
registerCommand: () => void;
registerContextEngine: () => void;
resolvePath: (input: string) => string;
on: () => void;
};
export function createTestPluginApi<T extends object>(api: T): T & TestPluginApiDefaults {
return {
logger: { info() {}, warn() {}, error() {} },
registerTool() {},
registerHook() {},
registerHttpRoute() {},
registerChannel() {},
registerGatewayMethod() {},
registerCli() {},
registerService() {},
registerProvider() {},
registerCommand() {},
registerContextEngine() {},
resolvePath(input: string) {
return input;
},
on() {},
...api,
};
}