Ctrl K
ComunidadGuías…

bin/daemon-native.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
/** Scheduled-task entry marks its native launch before loading the ordinary CLI. */
import { fileURLToPath } from "node:url";
import { isAbsolute } from "node:path";
if (process.argv[2] !== "daemon" || process.argv[3] !== "serve") throw new Error("the native daemon entry accepts only daemon serve");
const { checkDir, daemonPaths, daemonPathsFor, ensureStateDir } = await import("./daemon/endpoint.js");
const { captureNativeDaemonOutput } = await import("./daemon/native-log.js");
const at = process.argv.indexOf("--daemon-home", 4);
const home = at < 0 ? undefined : process.argv[at + 1];
if (at >= 0) {
  if (!home || !isAbsolute(home)) throw new Error("the native daemon entry needs an absolute --daemon-home directory");
  checkDir(home);
}
const paths = home === undefined ? daemonPaths() : daemonPathsFor(home);
ensureStateDir(paths);
captureNativeDaemonOutput(paths.state);
process.env.COTAL_DAEMON_NATIVE_SERVICE = "1";
if (process.platform === "win32") {
  const { windowsApplicationPath } = await import("./daemon/desktop-path.js");
  process.env.PATH = await windowsApplicationPath();
}
const entry = new URL("./cotal.js", import.meta.url);
process.argv[1] = fileURLToPath(entry);
try { await import(entry.href); }
catch (error) {
  process.stderr.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}\n`);
  process.exitCode = 1;
}