/** * Jittor's XDG paths/token/handle layout, now delegating to `@danypops/vehicle-server/paths` -- * the shared substrate factored out after jittor's own state.ts and web-spider-daemon's were * found byte-identical (see daemon-kit's README). Kept as a thin jittor-named wrapper (same * exported function names/signatures as before) so every existing call site (daemon.ts, * client.ts, cli.ts, and their tests) is untouched by this migration. */ import { type DaemonHandle, type DaemonPaths, ensureAuthToken as ensureVehicleAuthToken, type PathEnvironment, readDaemonHandle as readVehicleHandle, removeDaemonHandle as removeVehicleHandle, resolveDaemonPaths, writeDaemonHandle as writeVehicleHandle, } from "@danypops/vehicle-server/paths"; import { DATABASE_FILENAME, HANDLE_FILENAME, JITTOR_STATE_DIRECTORY, SYSTEMD_UNIT_NAME, TOKEN_FILENAME } from "./constants.ts"; export type JittorPaths = DaemonPaths; export type { DaemonHandle, PathEnvironment }; const JITTOR_PATH_NAMES = { stateDirectoryName: JITTOR_STATE_DIRECTORY, databaseFilename: DATABASE_FILENAME, tokenFilename: TOKEN_FILENAME, handleFilename: HANDLE_FILENAME, systemdUnitName: SYSTEMD_UNIT_NAME, }; export function resolveJittorPaths(options: PathEnvironment = {}): JittorPaths { return resolveDaemonPaths(JITTOR_PATH_NAMES, options); } export function ensureAuthToken(paths: JittorPaths = resolveJittorPaths()): string { return ensureVehicleAuthToken(paths.token, "Jittor"); } export function writeDaemonHandle(paths: JittorPaths, handle: DaemonHandle): void { writeVehicleHandle(paths.handle, handle); } export function readDaemonHandle(paths: JittorPaths = resolveJittorPaths()): DaemonHandle | null { return readVehicleHandle(paths.handle); } export function removeDaemonHandle(paths: JittorPaths = resolveJittorPaths()): void { removeVehicleHandle(paths.handle); }