mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-30 04:36:04 +00:00
refactor: reduce extension channel setup duplication
This commit is contained in:
18
extensions/shared/passive-monitor.ts
Normal file
18
extensions/shared/passive-monitor.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { runPassiveAccountLifecycle } from "openclaw/plugin-sdk";
|
||||
|
||||
type StoppableMonitor = {
|
||||
stop: () => void;
|
||||
};
|
||||
|
||||
export async function runStoppablePassiveMonitor<TMonitor extends StoppableMonitor>(params: {
|
||||
abortSignal: AbortSignal;
|
||||
start: () => Promise<TMonitor>;
|
||||
}): Promise<void> {
|
||||
await runPassiveAccountLifecycle({
|
||||
abortSignal: params.abortSignal,
|
||||
start: params.start,
|
||||
stop: async (monitor) => {
|
||||
monitor.stop();
|
||||
},
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user