import { ZodRawShape } from "zod";
import { ToolItem, ToolCreator, ToolItemResponse } from "../types";
import { ServerStatusLoader } from "./loader";
class ServerStatus implements ToolItem {
payload: ZodRawShape = {};
name = "server-status";
description = "Returns server status from Escape From Tarkov";
constructor(private loader: ServerStatusLoader) {}
async handle(): Promise<ToolItemResponse> {
const load = await this.loader.load();
return {
content: load?.content,
isError: load?.isError,
data: (load?.status as any)?.currentStatuses,
};
}
}
const creator: ToolCreator = ({ config, logger }) => {
return new ServerStatus(new ServerStatusLoader(config, logger));
};
export default creator;