feat: initial plugin support

This commit is contained in:
neoapps-dev
2026-06-14 18:05:20 +03:00
parent e105686b23
commit 8e27a4bed1
17 changed files with 1268 additions and 78 deletions
+16
View File
@@ -0,0 +1,16 @@
import type { PluginAPI } from "./types";
export class PluginSandbox {
static evaluate(api: PluginAPI, code: string): void {
const fn = new Function("api", code);
fn(api);
}
static evaluateAsync(api: PluginAPI, code: string): Promise<void> {
try {
const asyncFn = new Function("api", `return (async () => { ${code} })()`);
return Promise.resolve(asyncFn(api));
} catch (err) {
return Promise.reject(err);
}
}
}