Partial agent setup
This commit is contained in:
parent
5fff41105e
commit
1cdfd3c82c
|
@ -9,8 +9,12 @@
|
||||||
"typescript": "^5.0.0"
|
"typescript": "^5.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@t3-oss/env-core": "^0.7.1",
|
||||||
|
"dotenv": "^16.3.1",
|
||||||
"hyperimport": "^0.1.0",
|
"hyperimport": "^0.1.0",
|
||||||
"mpp-client-net": "^1.1.3",
|
"mpp-client-net": "^1.1.3",
|
||||||
"prisma": "^5.4.2"
|
"mpp-client-xt": "^1.3.1",
|
||||||
|
"prisma": "^5.4.2",
|
||||||
|
"zod": "^3.22.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
import EventEmitter from "events";
|
||||||
|
|
||||||
|
export abstract class ServiceAgent<T> extends EventEmitter {
|
||||||
|
constructor(public client: T) {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract start(): void;
|
||||||
|
public abstract stop(): void;
|
||||||
|
}
|
|
@ -1,14 +1,13 @@
|
||||||
import EventEmitter from "events";
|
import EventEmitter from "events";
|
||||||
|
import { MPPAgent } from "./mpp";
|
||||||
export abstract class ServiceAgent extends EventEmitter {
|
import env from "../util/env";
|
||||||
constructor() {
|
import { ServiceAgent } from "./ServiceAgent";
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public abstract start(): void;
|
|
||||||
public abstract stop(): void;
|
|
||||||
}
|
|
||||||
|
|
||||||
export class ServiceLoader {
|
export class ServiceLoader {
|
||||||
public static loadServices() {}
|
public static agents = new Array<ServiceAgent<unknown>>();
|
||||||
|
|
||||||
|
public static loadServices() {
|
||||||
|
const testAgent = new MPPAgent("wss://mppclone.com", env.MPPNET_TOKEN);
|
||||||
|
testAgent.start();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
import Client from "mpp-client-net";
|
||||||
|
import { ServiceAgent } from "../ServiceAgent";
|
||||||
|
|
||||||
|
export class MPPAgent extends ServiceAgent<Client> {
|
||||||
|
constructor(uri: string, token: string) {
|
||||||
|
const cl = new Client(uri, token);
|
||||||
|
super(cl);
|
||||||
|
}
|
||||||
|
|
||||||
|
public start() {
|
||||||
|
this.client.start();
|
||||||
|
// TODO get rid of this gay shit
|
||||||
|
this.client.setChannel("Simon Says");
|
||||||
|
}
|
||||||
|
|
||||||
|
public stop() {
|
||||||
|
this.client.stop();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
import z from "zod";
|
||||||
|
import { createEnv } from "@t3-oss/env-core";
|
||||||
|
|
||||||
|
export const env = createEnv({
|
||||||
|
isServer: true,
|
||||||
|
server: {
|
||||||
|
MPPNET_TOKEN: z.string()
|
||||||
|
},
|
||||||
|
runtimeEnv: process.env
|
||||||
|
});
|
||||||
|
|
||||||
|
export default env;
|
Loading…
Reference in New Issue