mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-13 11:00:50 +00:00
30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import type { PluginRuntime } from "openclaw/plugin-sdk/bluebubbles";
|
|
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/compat";
|
|
|
|
const runtimeStore = createPluginRuntimeStore<PluginRuntime>("BlueBubbles runtime not initialized");
|
|
type LegacyRuntimeLogShape = { log?: (message: string) => void };
|
|
export const setBlueBubblesRuntime = runtimeStore.setRuntime;
|
|
|
|
export function clearBlueBubblesRuntime(): void {
|
|
runtimeStore.clearRuntime();
|
|
}
|
|
|
|
export function tryGetBlueBubblesRuntime(): PluginRuntime | null {
|
|
return runtimeStore.tryGetRuntime();
|
|
}
|
|
|
|
export function getBlueBubblesRuntime(): PluginRuntime {
|
|
return runtimeStore.getRuntime();
|
|
}
|
|
|
|
export function warnBlueBubbles(message: string): void {
|
|
const formatted = `[bluebubbles] ${message}`;
|
|
// Backward-compatible with tests/legacy injections that pass { log }.
|
|
const log = (runtimeStore.tryGetRuntime() as unknown as LegacyRuntimeLogShape | null)?.log;
|
|
if (typeof log === "function") {
|
|
log(formatted);
|
|
return;
|
|
}
|
|
console.warn(formatted);
|
|
}
|