systemquery/src/subcommands/agent/agent.mjs

36 lines
1.9 KiB
JavaScript

"use strict";
import fs from 'fs';
import path from 'path';
import log from '../../lib/io/NamespacedLog.mjs'; const l = log("agent");
import settings from '../../settings.mjs';
import toml_settings_read from '../../lib/io/TomlSettings.mjs';
import Agent from '../../lib/agent/Agent.mjs';
// HACK: Make sure __dirname is defined when using es6 modules. I forget where I found this - a PR with a source URL would be great :D
const __dirname = import.meta.url.slice(7, import.meta.url.lastIndexOf("/"));
export default async function () {
if(!fs.existsSync(settings.cli.config))
throw new Error(`Error: The config file at '${settings.cli.config}' doesn't appear to exist, or we don't have permission to access it.`);
l.log(`
███████ ██ ██ ███████ ████████ ███████ ███ ███ ██████ ██ ██ ███████ ██████ ██ ██
██ ██ ██ ██ ██ ██ ████ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██
███████ ████ ███████ ██ █████ ██ ████ ██ ██ ██ ██ ██ █████ ██████ ████
██ ██ ██ ██ ██ ██ ██ ██ ██ ▄▄ ██ ██ ██ ██ ██ ██ ██
███████ ██ ███████ ██ ███████ ██ ██ ██████ ██████ ███████ ██ ██ ██
▀▀`);
let config = toml_settings_read(
path.join(__dirname, "config.default.toml"),
settings.cli.config
);
let agent = new Agent(config);
await agent.init();
}