Lines 44-107javascript
45 const p = o.pairing ?? {};
47 version: typeof o.version === "number" ? o.version : CONFIG_VERSION,
48 workRoot: asTrimmedString(o.workRoot),
49 remoteEnabled: asBool(o.remoteEnabled, d.remoteEnabled),
50 cloudApiBase: asHttpUrl(o.cloudApiBase),
51 remoteAuth: o.remoteAuth === "token" ? "token" : "cloud",
53 bindHost: asTrimmedString(o.bindHost),
54 openBrowser: asBool(o.openBrowser, d.openBrowser),
56 onboardingToken: asTrimmedString(p.onboardingToken),
57 consumedAt: typeof p.consumedAt === "number" ? p.consumedAt : null
61function loadConfig(appDataRoot) {
62 const path = configPath(appDataRoot);
63 if (!existsSync(path)) return defaults();
65 return normalize(JSON.parse(readFileSync(path, "utf8")));
70function applyConfigToEnv(appDataRoot) {
71 const cfg = loadConfig(appDataRoot);
72 const fill = (key, value) => {
73 if (value != null && process.env[key] === void 0) process.env[key] = value;
75 fill("OTREE_CLOUD_API", cfg.cloudApiBase);
76 if (cfg.workRoot && existsSync(cfg.workRoot)) fill("OTREE_ROOT", cfg.workRoot);
77 if (cfg.remoteEnabled) {
78 fill("OTREE_REMOTE_ENABLED", "1");
79 fill("OTREE_REMOTE_AUTH", cfg.remoteAuth);
81 fill("OTREE_PORT", cfg.port != null ? String(cfg.port) : null);
82 fill("OTREE_BIND", cfg.bindHost);
83 if (cfg.openBrowser === false) fill("OTREE_OPEN", "0");
88import { spawn, spawnSync } from "node:child_process";
89import { closeSync, existsSync as existsSync2, mkdirSync, openSync, readFileSync as readFileSync2, renameSync, rmSync, writeFileSync } from "node:fs";
HighChild Process
Package source references child process execution.
dist/bin/orangetree.jsView on unpkg · L87 90import { request } from "node:http";
91import { homedir } from "node:os";
92import { dirname, join as join2 } from "node:path";
93var PKG = "@orangeworks/orangetree";
94var HEALTH_PATH = "/api/daemon/status";
95var SHUTDOWN_PATH = "/api/shutdown";
96var LOCAL_HEADER = { "X-Otree-Local": "1" };
97var STARTING_GRACE_MS = 15e3;
98var LOCK_STALE_MS = 3e4;
99function dataRoot() {
HighCross File Remote Execution Context
Source spawns a local helper that also contains network and dynamic execution context; review data flow before blocking.
dist/bin/orangetree.jsView on unpkg · L64 100 return process.env.OTREE_DATA ?? join2(homedir(), ".orangetree");
101}
HighSame File Env Network Execution
A single source file combines environment access, network access, and code or shell execution; review context before blocking.
dist/bin/orangetree.jsView on unpkg · L87 102function paths(root = dataRoot()) {
103 return { json: join2(root, "daemon.json"), lock: join2(root, "daemon.lock"), log: join2(root, "daemon.log") };
105function readState(root = dataRoot()) {
106 const p = paths(root).json;
107 if (!existsSync2(p)) return null;