@excitedjs/dreamux 0.19.0 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -1,6 +1,30 @@
1
1
  {
2
2
  "name": "@excitedjs/dreamux",
3
3
  "entries": [
4
+ {
5
+ "version": "0.19.2",
6
+ "tag": "@excitedjs/dreamux_v0.19.2",
7
+ "date": "Mon, 20 Jul 2026 07:33:54 GMT",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "comment": "Create the managed service state working directory before systemd or launchd registration."
12
+ }
13
+ ]
14
+ }
15
+ },
16
+ {
17
+ "version": "0.19.1",
18
+ "tag": "@excitedjs/dreamux_v0.19.1",
19
+ "date": "Mon, 20 Jul 2026 06:55:12 GMT",
20
+ "comments": {
21
+ "patch": [
22
+ {
23
+ "comment": "Capture the full interactive-session PATH from `dreamux onboard` / `daemon install` and persist it into the generated systemd user service and launchd plist. The managed-service PATH leads with stable Dreamux-owned dirs (selected Node bin dir, resolved provider bin dirs, dreamux bin dir), then appends every entry of the captured session PATH in its original order, then appends fresh-install fallback dirs (`$XDG_BIN_HOME` when set, `$HOME/.local/bin`, and portable platform system dirs). All entries are de-duplicated while preserving first occurrence. Re-running `daemon install` after switching nvm/pyenv/Homebrew environments regenerates the service PATH. The same effective PATH resolves provider/agent binaries during service installation. No `process.env` mutation and no shell profile edits. `buildServicePath()`/`withServicePath()` in `platform/paths.ts` are the single source of truth; `withUserLocalBinPath()` builds the resolve-time effective PATH."
24
+ }
25
+ ]
26
+ }
27
+ },
4
28
  {
5
29
  "version": "0.19.0",
6
30
  "tag": "@excitedjs/dreamux_v0.19.0",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # Change Log - @excitedjs/dreamux
2
2
 
3
- This log was last generated on Sun, 19 Jul 2026 03:45:02 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 20 Jul 2026 07:33:54 GMT and should not be manually modified.
4
+
5
+ ## 0.19.2
6
+ Mon, 20 Jul 2026 07:33:54 GMT
7
+
8
+ ### Patches
9
+
10
+ - Create the managed service state working directory before systemd or launchd registration.
11
+
12
+ ## 0.19.1
13
+ Mon, 20 Jul 2026 06:55:12 GMT
14
+
15
+ ### Patches
16
+
17
+ - Capture the full interactive-session PATH from `dreamux onboard` / `daemon install` and persist it into the generated systemd user service and launchd plist. The managed-service PATH leads with stable Dreamux-owned dirs (selected Node bin dir, resolved provider bin dirs, dreamux bin dir), then appends every entry of the captured session PATH in its original order, then appends fresh-install fallback dirs (`$XDG_BIN_HOME` when set, `$HOME/.local/bin`, and portable platform system dirs). All entries are de-duplicated while preserving first occurrence. Re-running `daemon install` after switching nvm/pyenv/Homebrew environments regenerates the service PATH. The same effective PATH resolves provider/agent binaries during service installation. No `process.env` mutation and no shell profile edits. `buildServicePath()`/`withServicePath()` in `platform/paths.ts` are the single source of truth; `withUserLocalBinPath()` builds the resolve-time effective PATH.
4
18
 
5
19
  ## 0.19.0
6
20
  Sun, 19 Jul 2026 03:45:02 GMT
@@ -9,7 +9,8 @@
9
9
  * top-level `dreamux uninstall`.
10
10
  */
11
11
  import { ExecaCommandRunner } from '../onboard/commands.js';
12
- import { installUserService, removeUserService, resolveServiceExecutable, selectServiceNodeBin, validateManagedServiceLaunch, } from '../onboard/service.js';
12
+ import { homedir } from 'node:os';
13
+ import { installUserService, removeUserService, resolveServiceExecutable, selectServiceNodeBin, validateManagedServiceLaunch, withUserLocalBinPath, } from '../onboard/service.js';
13
14
  import { TransparentFileLedger } from '../onboard/ledger.js';
14
15
  import { globalConfigDir, loadConfig, } from '../config/config.js';
15
16
  import { AgentRuntimeProviderCatalog } from '../agent-runtime/catalog.js';
@@ -28,6 +29,8 @@ function serviceProviderBinChecks(config, env, catalogs) {
28
29
  export async function runDaemonInstall(options = {}) {
29
30
  const runner = options.runner ?? new ExecaCommandRunner();
30
31
  const env = options.env ?? process.env;
32
+ const platform = options.platform ?? process.platform;
33
+ const homeDir = options.homeDir ?? homedir();
31
34
  const dryRun = options.dryRun ?? false;
32
35
  const startService = options.startService ?? true;
33
36
  // Fail loudly when the operator has not run onboard yet — daemon install
@@ -45,7 +48,9 @@ export async function runDaemonInstall(options = {}) {
45
48
  setRuntimeConfig(config);
46
49
  const providerBinChecks = await Promise.all(serviceProviderBinChecks(config, env, catalogs).map(async (check) => ({
47
50
  ...check,
48
- bin: dryRun ? check.bin : await resolveServiceExecutable(check.bin, env),
51
+ bin: dryRun
52
+ ? check.bin
53
+ : await resolveServiceExecutable(check.bin, withUserLocalBinPath(env, homeDir, platform)),
49
54
  })));
50
55
  // Pin the managed service to a stable system Node (issue #83) rather than the
51
56
  // current process Node — otherwise running `daemon install` from a
@@ -53,11 +58,16 @@ export async function runDaemonInstall(options = {}) {
53
58
  const nodeBin = dryRun
54
59
  ? process.execPath
55
60
  : await selectServiceNodeBin({
56
- platform: options.platform ?? process.platform,
61
+ platform,
57
62
  currentNodeBin: process.execPath,
58
63
  runner,
59
64
  ...(options.nodeProbe !== undefined ? { probe: options.nodeProbe } : {}),
60
65
  });
66
+ // Persist the effective resolved env/homeDir/platform (not the optional raw
67
+ // options values) so managedServicePath renders the captured session PATH and
68
+ // the preflight uses the exact same inputs. In normal CLI use options.env is
69
+ // undefined, so env falls back to process.env — that ambient PATH must be
70
+ // persisted into the service unit.
61
71
  const answers = {
62
72
  configDir: globalConfigDir(),
63
73
  dreamuxBin: dreamuxBinPath(env),
@@ -65,6 +75,9 @@ export async function runDaemonInstall(options = {}) {
65
75
  providerBinChecks,
66
76
  startService,
67
77
  dryRun,
78
+ homeDir,
79
+ platform,
80
+ env,
68
81
  };
69
82
  if (!dryRun) {
70
83
  const launch = await validateManagedServiceLaunch(answers, runner);
@@ -81,8 +94,8 @@ export async function runDaemonInstall(options = {}) {
81
94
  answers,
82
95
  ledger,
83
96
  runner,
84
- platform: options.platform,
85
- homeDir: options.homeDir,
97
+ platform,
98
+ homeDir,
86
99
  uid: options.uid,
87
100
  });
88
101
  return { service, files: ledger.entries() };
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/daemon/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/daemon/install.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { pathExists } from '../platform/fs-errors.js';
2
+ import { homedir } from 'node:os';
2
3
  import { assertNoLegacyTomlOnly, globalConfigFile, loadConfig, stringifyConfig, } from '../config/config.js';
3
4
  import { dispatcherDir, logsRoot, setRuntimeConfig, stateRoot, } from '../platform/paths.js';
4
5
  import { AgentRuntimeProviderCatalog } from '../agent-runtime/catalog.js';
@@ -7,18 +8,20 @@ import { providerBinChecksForConfig, runDispatcherProviderDiagnostics, } from '.
7
8
  import { ExecaCommandRunner } from './commands.js';
8
9
  import { dreamuxConfigFromAnswers } from './config-files.js';
9
10
  import { ensureDirectory, TransparentFileLedger, writeTextFile, } from './ledger.js';
10
- import { installUserService, managedServiceEnvironment, resolveServiceExecutable, selectServiceNodeBin, validateManagedServiceLaunch, } from './service.js';
11
+ import { installUserService, managedServiceEnvironment, resolveServiceExecutable, selectServiceNodeBin, validateManagedServiceLaunch, withUserLocalBinPath, } from './service.js';
11
12
  export async function runOnboard(options) {
12
13
  const answers = options.answers;
13
14
  const ledger = options.ledger ?? new TransparentFileLedger();
14
15
  const runner = options.runner ?? new ExecaCommandRunner();
15
16
  const env = options.env ?? process.env;
17
+ const platform = options.platform ?? process.platform;
18
+ const homeDir = options.homeDir ?? homedir();
16
19
  const configPath = globalConfigFile({ configDir: answers.configDir });
17
20
  const existingConfig = await readExistingDreamuxConfig(answers.configDir);
18
21
  const dreamuxConfig = dreamuxConfigFromAnswers(answers, existingConfig);
19
22
  const serviceNodeBin = answers.registerService && !answers.dryRun
20
23
  ? await selectServiceNodeBin({
21
- platform: options.platform ?? process.platform,
24
+ platform,
22
25
  currentNodeBin: process.execPath,
23
26
  runner,
24
27
  probe: options.nodeProbe,
@@ -50,12 +53,20 @@ export async function runOnboard(options) {
50
53
  setRuntimeConfig(loaded.config);
51
54
  const catalogs = loaded === null ? null : catalogsFromLoadedConfig(loaded);
52
55
  const providerBinChecks = answers.registerService && !answers.dryRun && loaded !== null && catalogs !== null
53
- ? await resolveProviderBinChecks(loaded.config, catalogs, env)
56
+ ? await resolveProviderBinChecks(loaded.config, catalogs, env, platform, homeDir)
54
57
  : [];
58
+ // Persist the effective resolved env/homeDir/platform (not the optional raw
59
+ // options values) so managedServicePath renders the captured session PATH and
60
+ // the preflight uses the exact same inputs. In normal CLI use options.env is
61
+ // undefined, so env falls back to process.env — that ambient PATH must be
62
+ // persisted into the service unit.
55
63
  const effectiveAnswers = {
56
64
  ...answers,
57
65
  nodeBin: serviceNodeBin,
58
66
  providerBinChecks,
67
+ homeDir,
68
+ platform,
69
+ env,
59
70
  };
60
71
  const doctor = await runDispatcherDoctor(effectiveAnswers, loaded, catalogs, env, runner);
61
72
  if (!effectiveAnswers.dryRun && !doctor.ok) {
@@ -72,8 +83,8 @@ export async function runOnboard(options) {
72
83
  answers: effectiveAnswers,
73
84
  ledger,
74
85
  runner,
75
- platform: options.platform,
76
- homeDir: options.homeDir,
86
+ platform,
87
+ homeDir,
77
88
  uid: options.uid,
78
89
  })
79
90
  : null;
@@ -107,16 +118,22 @@ function catalogsFromLoadedConfig(loaded) {
107
118
  }),
108
119
  };
109
120
  }
110
- async function resolveProviderBinChecks(config, catalogs, env) {
121
+ async function resolveProviderBinChecks(config, catalogs, env, platform, homeDir) {
111
122
  const checks = providerBinChecksForConfig({
112
123
  config,
113
124
  catalogs,
114
125
  env,
115
126
  scope: 'managedService',
116
127
  });
128
+ // Bare provider binaries (e.g. a `local-agent` installed to
129
+ // $HOME/.local/bin) resolve against the effective service PATH, which the
130
+ // service unit also includes. Resolve against that augmented PATH so the
131
+ // daemon-install preflight and the running service agree. process.env is
132
+ // never mutated; platform/homeDir/env are passed explicitly by the caller.
133
+ const resolveEnv = withUserLocalBinPath(env, homeDir, platform);
117
134
  return await Promise.all(checks.map(async (check) => ({
118
135
  ...check,
119
- bin: await resolveServiceExecutable(check.bin, env),
136
+ bin: await resolveServiceExecutable(check.bin, resolveEnv),
120
137
  })));
121
138
  }
122
139
  async function runDispatcherDoctor(answers, loaded, catalogs, env, runner) {
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/onboard/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/onboard/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,183 @@
1
+ import { constants } from 'node:fs';
2
+ import { access, realpath } from 'node:fs/promises';
3
+ /**
4
+ * Minimum Node version the managed-service environment requires. The launchd
5
+ * plist and systemd user unit persist a stable Node binary; selection (see
6
+ * {@link selectServiceNodeBin}) refuses candidates below this version.
7
+ */
8
+ export const MIN_SERVICE_NODE_VERSION = '22.7.0';
9
+ /**
10
+ * Parse a `node --version` (or `v<major>.<minor>.<patch>`) string and decide
11
+ * whether it satisfies {@link MIN_SERVICE_NODE_VERSION}. Pure and side-effect
12
+ * free so selection and the launch doctor share one comparison.
13
+ */
14
+ export function nodeVersionSatisfies(raw) {
15
+ const match = raw.trim().match(/^v?(\d+)\.(\d+)\.(\d+)/);
16
+ if (match === null)
17
+ return false;
18
+ const major = Number(match[1]);
19
+ const minor = Number(match[2]);
20
+ if (!Number.isInteger(major) || !Number.isInteger(minor))
21
+ return false;
22
+ if (major > 22)
23
+ return true;
24
+ return major === 22 && minor >= 7;
25
+ }
26
+ export const defaultServiceNodeProbe = {
27
+ realpath: (path) => realpath(path),
28
+ isExecutable: (path) => isExecutable(path),
29
+ };
30
+ // Markers matched (case-insensitively) against a Node binary's resolved path.
31
+ // Each keeps a leading `/.<name>/` or segment anchor so a user dir like
32
+ // `/home/volta/` never matches `/.volta/`. macOS fnm installs under
33
+ // `~/Library/Application Support/fnm/`; dreamux supports launchd so cover it.
34
+ const VERSION_MANAGER_MARKERS = [
35
+ { manager: 'nvm', markers: ['/.nvm/versions/node/'] },
36
+ {
37
+ manager: 'fnm',
38
+ markers: [
39
+ '/.fnm/',
40
+ 'fnm_multishells',
41
+ '/.local/share/fnm/',
42
+ '/library/application support/fnm/',
43
+ ],
44
+ },
45
+ { manager: 'asdf', markers: ['/.asdf/installs/nodejs/', '/.asdf/shims/'] },
46
+ { manager: 'volta', markers: ['/.volta/'] },
47
+ ];
48
+ /** Pure marker match on a single path; returns the manager name or null. */
49
+ export function versionManagerOfPath(path) {
50
+ const needle = path.toLowerCase();
51
+ for (const entry of VERSION_MANAGER_MARKERS) {
52
+ if (entry.markers.some((marker) => needle.includes(marker))) {
53
+ return entry.manager;
54
+ }
55
+ }
56
+ return null;
57
+ }
58
+ /**
59
+ * Single async/injectable predicate selection and doctor share. Resolves
60
+ * symlinks first so a `/usr/local/bin/node` shim into nvm/fnm/asdf is caught;
61
+ * falls back to the raw path when realpath fails.
62
+ */
63
+ export async function detectServiceNodeVersionManager(nodeBin, probe = defaultServiceNodeProbe) {
64
+ const raw = versionManagerOfPath(nodeBin);
65
+ if (raw !== null)
66
+ return raw;
67
+ let resolved;
68
+ try {
69
+ resolved = await probe.realpath(nodeBin);
70
+ }
71
+ catch {
72
+ return null;
73
+ }
74
+ return versionManagerOfPath(resolved);
75
+ }
76
+ /**
77
+ * Platform-aware stable Node candidates. macOS covers Homebrew (Apple Silicon
78
+ * and Intel prefixes); Linux covers standard system locations.
79
+ */
80
+ export function stableNodeCandidates(platform) {
81
+ if (platform === 'darwin') {
82
+ return [
83
+ '/opt/homebrew/bin/node',
84
+ '/opt/homebrew/opt/node/bin/node',
85
+ '/opt/homebrew/opt/node@24/bin/node',
86
+ '/opt/homebrew/opt/node@22/bin/node',
87
+ '/usr/local/bin/node',
88
+ '/usr/local/opt/node/bin/node',
89
+ '/usr/local/opt/node@24/bin/node',
90
+ '/usr/local/opt/node@22/bin/node',
91
+ '/usr/bin/node',
92
+ ];
93
+ }
94
+ return ['/usr/local/bin/node', '/usr/bin/node', '/bin/node'];
95
+ }
96
+ /**
97
+ * Choose the Node binary persisted into the managed-service environment.
98
+ * Prefers a stable system Node (exists, not version-manager-bound, satisfies
99
+ * MIN_SERVICE_NODE_VERSION); falls back to the current Node otherwise.
100
+ */
101
+ export async function selectServiceNodeBin(options) {
102
+ const probe = options.probe ?? defaultServiceNodeProbe;
103
+ for (const candidate of stableNodeCandidates(options.platform)) {
104
+ if (!(await probe.isExecutable(candidate)))
105
+ continue;
106
+ if ((await detectServiceNodeVersionManager(candidate, probe)) !== null) {
107
+ continue;
108
+ }
109
+ let version;
110
+ try {
111
+ version = await options.runner.capture(candidate, ['--version']);
112
+ }
113
+ catch {
114
+ continue;
115
+ }
116
+ if (!nodeVersionSatisfies(version))
117
+ continue;
118
+ // Persist the candidate path itself (a stable symlink), never its realpath,
119
+ // so a Homebrew symlink keeps the volatile Cellar path out of the service.
120
+ return candidate;
121
+ }
122
+ return stabilizeHomebrewCellarNode(options.currentNodeBin, options.platform, probe);
123
+ }
124
+ const HOMEBREW_PREFIXES = ['/opt/homebrew', '/usr/local'];
125
+ function matchHomebrewCellar(path) {
126
+ for (const prefix of HOMEBREW_PREFIXES) {
127
+ const cellar = `${prefix}/Cellar/node`;
128
+ if (!path.startsWith(`${cellar}/`) && !path.startsWith(`${cellar}@`)) {
129
+ continue;
130
+ }
131
+ const major = path.slice(cellar.length).match(/^@(\d+)\//);
132
+ return { prefix, major: major === null ? null : major[1] };
133
+ }
134
+ return null;
135
+ }
136
+ /**
137
+ * Homebrew Cellar (`<prefix>/Cellar/node[@major]/<version>/bin/node`) is a
138
+ * version-pinned path unfit for a persistent service. Best-effort remap to the
139
+ * matching stable Homebrew symlink; no match returns the input unchanged and
140
+ * never throws. darwin-only.
141
+ */
142
+ export async function stabilizeHomebrewCellarNode(nodeBin, platform, probe = defaultServiceNodeProbe) {
143
+ if (platform !== 'darwin')
144
+ return nodeBin;
145
+ let resolved;
146
+ try {
147
+ resolved = await probe.realpath(nodeBin);
148
+ }
149
+ catch {
150
+ resolved = nodeBin;
151
+ }
152
+ const cellar = matchHomebrewCellar(nodeBin) ?? matchHomebrewCellar(resolved);
153
+ if (cellar === null)
154
+ return nodeBin;
155
+ const links = [];
156
+ if (cellar.major !== null) {
157
+ links.push(`${cellar.prefix}/opt/node@${cellar.major}/bin/node`);
158
+ }
159
+ links.push(`${cellar.prefix}/opt/node/bin/node`, `${cellar.prefix}/bin/node`);
160
+ for (const link of links) {
161
+ if (!(await probe.isExecutable(link)))
162
+ continue;
163
+ try {
164
+ if ((await probe.realpath(link)) === resolved)
165
+ return link;
166
+ }
167
+ catch {
168
+ // ignore and try the next candidate symlink
169
+ }
170
+ }
171
+ return nodeBin;
172
+ }
173
+ /** True when `path` is executable by the current process; never throws. */
174
+ export async function isExecutable(path) {
175
+ try {
176
+ await access(path, constants.X_OK);
177
+ return true;
178
+ }
179
+ catch {
180
+ return false;
181
+ }
182
+ }
183
+ //# sourceMappingURL=service-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-node.js","sourceRoot":"","sources":["../../src/onboard/service-node.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,15 @@
1
1
  import { pathExists } from '../platform/fs-errors.js';
2
- import { constants } from 'node:fs';
3
- import { access, realpath, rm } from 'node:fs/promises';
2
+ import { rm } from 'node:fs/promises';
4
3
  import { homedir } from 'node:os';
5
4
  import { delimiter, dirname, isAbsolute, join, resolve } from 'node:path';
6
5
  import { build as buildPlist } from 'plist';
7
6
  import { expandHome } from '../config/config.js';
8
- import { logsRoot, stateRoot } from '../platform/paths.js';
7
+ import { buildServicePath, logsRoot, standardExecDirs, stateRoot, userLocalBinDirs, withServicePath, } from '../platform/paths.js';
9
8
  import { ensureDirectory, ensureTextFile, writeTextFile, } from './ledger.js';
9
+ import { isExecutable, MIN_SERVICE_NODE_VERSION, nodeVersionSatisfies, } from './service-node.js';
10
10
  export const LAUNCHD_LABEL = 'dev.excited.dreamux';
11
11
  export const SYSTEMD_UNIT = 'dreamux.service';
12
- export const MIN_SERVICE_NODE_VERSION = '22.7.0';
13
- export const SERVICE_PATH_DEFAULTS = ['/usr/local/bin', '/usr/bin', '/bin'];
12
+ export { defaultServiceNodeProbe, detectServiceNodeVersionManager, isExecutable, MIN_SERVICE_NODE_VERSION, nodeVersionSatisfies, selectServiceNodeBin, stabilizeHomebrewCellarNode, stableNodeCandidates, versionManagerOfPath, } from './service-node.js';
14
13
  export function serviceUnitPath(platform = process.platform, homeDir = homedir()) {
15
14
  if (platform === 'darwin') {
16
15
  return {
@@ -29,9 +28,11 @@ export function serviceUnitPath(platform = process.platform, homeDir = homedir()
29
28
  export async function installUserService(options) {
30
29
  const homeDir = options.homeDir ?? homedir();
31
30
  const unit = serviceUnitPath(options.platform, homeDir);
31
+ const workingDir = stateRoot();
32
32
  const logDir = logsRoot();
33
33
  const stdoutLog = join(logDir, 'daemon.stdout.log');
34
34
  const stderrLog = join(logDir, 'daemon.stderr.log');
35
+ await ensureDirectory(workingDir, options.ledger, 'managed service working directory', { dryRun: options.answers.dryRun });
35
36
  await ensureDirectory(logDir, options.ledger, 'daemon log directory', {
36
37
  dryRun: options.answers.dryRun,
37
38
  });
@@ -102,12 +103,11 @@ WantedBy=default.target
102
103
  `;
103
104
  }
104
105
  export function managedServiceEnvironment(answers) {
105
- // Provider binary paths come from provider diagnostics. The unit PATH includes
106
- // their directories (see managedServicePath) so provider-owned bare commands
107
- // resolve under the service's minimal environment without core naming them.
106
+ const home = answers.homeDir ?? homedir();
107
+ // Unit PATH: stable dirs → captured session PATH → fallbacks (see managedServicePath).
108
108
  const env = {
109
109
  DREAMUX_CONFIG_DIR: answers.configDir,
110
- HOME: homedir(),
110
+ HOME: home,
111
111
  DREAMUX_NODE_BIN: answers.nodeBin,
112
112
  PATH: managedServicePath(answers),
113
113
  };
@@ -138,7 +138,7 @@ export async function validateManagedServiceLaunch(answers, runner) {
138
138
  errors,
139
139
  };
140
140
  }
141
- export async function resolveServiceExecutable(command, env = process.env) {
141
+ export async function resolveServiceExecutable(command, env) {
142
142
  const trimmed = command.trim();
143
143
  if (trimmed === '') {
144
144
  throw new Error('managed service executable path is empty');
@@ -157,180 +157,42 @@ export async function resolveServiceExecutable(command, env = process.env) {
157
157
  }
158
158
  throw new Error(`managed service cannot resolve executable '${command}' from PATH; pass an absolute path and rerun dreamux onboard`);
159
159
  }
160
- export function nodeVersionSatisfies(raw) {
161
- const match = raw.trim().match(/^v?(\d+)\.(\d+)\.(\d+)/);
162
- if (match === null)
163
- return false;
164
- const major = Number(match[1]);
165
- const minor = Number(match[2]);
166
- if (!Number.isInteger(major) || !Number.isInteger(minor))
167
- return false;
168
- if (major > 22)
169
- return true;
170
- return major === 22 && minor >= 7;
171
- }
172
- export const defaultServiceNodeProbe = {
173
- realpath: (path) => realpath(path),
174
- isExecutable: (path) => isExecutable(path),
175
- };
176
- // Markers matched (case-insensitively) against a Node binary's resolved path.
177
- // Each marker keeps a leading `/.<name>/` or explicit segment anchor so a user
178
- // directory such as `/home/volta/` never matches the `/.volta/` marker. macOS
179
- // fnm installs under `~/Library/Application Support/fnm/`; dreamux supports
180
- // launchd, so that path must be covered.
181
- const VERSION_MANAGER_MARKERS = [
182
- { manager: 'nvm', markers: ['/.nvm/versions/node/'] },
183
- {
184
- manager: 'fnm',
185
- markers: [
186
- '/.fnm/',
187
- 'fnm_multishells',
188
- '/.local/share/fnm/',
189
- '/library/application support/fnm/',
190
- ],
191
- },
192
- { manager: 'asdf', markers: ['/.asdf/installs/nodejs/', '/.asdf/shims/'] },
193
- { manager: 'volta', markers: ['/.volta/'] },
194
- ];
195
- /** Pure marker match on a single path; returns the manager name or null. */
196
- export function versionManagerOfPath(path) {
197
- const needle = path.toLowerCase();
198
- for (const entry of VERSION_MANAGER_MARKERS) {
199
- if (entry.markers.some((marker) => needle.includes(marker))) {
200
- return entry.manager;
201
- }
202
- }
203
- return null;
204
- }
205
- /**
206
- * The single async/injectable predicate selection and doctor share. Resolves
207
- * symlinks first so a `/usr/local/bin/node` shim pointing into nvm/fnm/asdf is
208
- * caught; falls back to the raw path when realpath fails (e.g. broken link).
209
- */
210
- export async function detectServiceNodeVersionManager(nodeBin, probe = defaultServiceNodeProbe) {
211
- const raw = versionManagerOfPath(nodeBin);
212
- if (raw !== null)
213
- return raw;
214
- let resolved;
215
- try {
216
- resolved = await probe.realpath(nodeBin);
217
- }
218
- catch {
219
- return null;
220
- }
221
- return versionManagerOfPath(resolved);
222
- }
223
- /**
224
- * Platform-aware stable Node candidates, decoupled from SERVICE_PATH_DEFAULTS
225
- * (which only renders the service PATH). macOS covers Homebrew (Apple Silicon
226
- * and Intel prefixes); Linux covers the standard system locations.
227
- */
228
- export function stableNodeCandidates(platform) {
229
- if (platform === 'darwin') {
230
- return [
231
- '/opt/homebrew/bin/node',
232
- '/opt/homebrew/opt/node/bin/node',
233
- '/opt/homebrew/opt/node@24/bin/node',
234
- '/opt/homebrew/opt/node@22/bin/node',
235
- '/usr/local/bin/node',
236
- '/usr/local/opt/node/bin/node',
237
- '/usr/local/opt/node@24/bin/node',
238
- '/usr/local/opt/node@22/bin/node',
239
- '/usr/bin/node',
240
- ];
241
- }
242
- return ['/usr/local/bin/node', '/usr/bin/node', '/bin/node'];
243
- }
244
- /**
245
- * Choose the Node binary persisted into the managed-service environment.
246
- * Prefers a stable system Node (exists, not version-manager-bound, satisfies
247
- * MIN_SERVICE_NODE_VERSION); falls back to the current Node otherwise. The
248
- * fallback reproduces the original fragility when onboarding itself runs under
249
- * a version-manager Node — that case is the doctor drift advisory's job to
250
- * surface, not this function's.
251
- */
252
- export async function selectServiceNodeBin(options) {
253
- const probe = options.probe ?? defaultServiceNodeProbe;
254
- for (const candidate of stableNodeCandidates(options.platform)) {
255
- if (!(await probe.isExecutable(candidate)))
256
- continue;
257
- if ((await detectServiceNodeVersionManager(candidate, probe)) !== null) {
258
- continue;
259
- }
260
- let version;
261
- try {
262
- version = await options.runner.capture(candidate, ['--version']);
263
- }
264
- catch {
265
- continue;
266
- }
267
- if (!nodeVersionSatisfies(version))
268
- continue;
269
- // Persist the candidate path itself (a stable symlink), never its realpath,
270
- // so a Homebrew symlink keeps the volatile Cellar path out of the service.
271
- return candidate;
272
- }
273
- return stabilizeHomebrewCellarNode(options.currentNodeBin, options.platform, probe);
274
- }
275
- const HOMEBREW_PREFIXES = ['/opt/homebrew', '/usr/local'];
276
- function matchHomebrewCellar(path) {
277
- for (const prefix of HOMEBREW_PREFIXES) {
278
- const cellar = `${prefix}/Cellar/node`;
279
- if (!path.startsWith(`${cellar}/`) && !path.startsWith(`${cellar}@`)) {
280
- continue;
281
- }
282
- const major = path.slice(cellar.length).match(/^@(\d+)\//);
283
- return { prefix, major: major === null ? null : major[1] };
284
- }
285
- return null;
286
- }
287
160
  /**
288
- * Homebrew Cellar (`<prefix>/Cellar/node[@major]/<version>/bin/node`) is NOT a
289
- * version manager, but it is a version-pinned path unfit for a persistent
290
- * service. When the fallback Node is a Cellar path, best-effort remap it to the
291
- * matching stable Homebrew symlink. The realpath-equality guard disambiguates
292
- * `node` vs `node@<major>`; no match returns the input unchanged and never
293
- * throws, so a stabilization miss cannot fail onboarding. darwin-only.
161
+ * Builds the resolve-time effective PATH used to resolve bare provider/agent
162
+ * binaries during `onboard`/`daemon install`. Captured session PATH leads, then
163
+ * fresh-install fallback dirs (XDG_BIN_HOME / ~/.local/bin + platform dirs).
164
+ * Stable Dreamux-owned dirs are added at service render time (see
165
+ * managedServicePath). Delegates to {@link withServicePath} in paths.ts. Never
166
+ * mutates env.
294
167
  */
295
- export async function stabilizeHomebrewCellarNode(nodeBin, platform, probe = defaultServiceNodeProbe) {
296
- if (platform !== 'darwin')
297
- return nodeBin;
298
- let resolved;
299
- try {
300
- resolved = await probe.realpath(nodeBin);
301
- }
302
- catch {
303
- resolved = nodeBin;
304
- }
305
- const cellar = matchHomebrewCellar(nodeBin) ?? matchHomebrewCellar(resolved);
306
- if (cellar === null)
307
- return nodeBin;
308
- const links = [];
309
- if (cellar.major !== null) {
310
- links.push(`${cellar.prefix}/opt/node@${cellar.major}/bin/node`);
311
- }
312
- links.push(`${cellar.prefix}/opt/node/bin/node`, `${cellar.prefix}/bin/node`);
313
- for (const link of links) {
314
- if (!(await probe.isExecutable(link)))
315
- continue;
316
- try {
317
- if ((await probe.realpath(link)) === resolved)
318
- return link;
319
- }
320
- catch {
321
- // ignore and try the next candidate symlink
322
- }
323
- }
324
- return nodeBin;
168
+ export function withUserLocalBinPath(env, homeDir, platform) {
169
+ const sessionPath = env['PATH'] ?? '';
170
+ const fallbackDirs = standardExecDirs({
171
+ platform: platform ?? process.platform,
172
+ homeDir: homeDir ?? homedir(),
173
+ env,
174
+ });
175
+ return withServicePath(env, { stableDirs: [], sessionPath, fallbackDirs });
325
176
  }
177
+ /** Re-exported for service-level callers; canonical impl is in paths.ts. */
178
+ export { userLocalBinDirs };
326
179
  function managedServicePath(answers) {
327
- const dirs = [
180
+ // Service PATH order: stable Dreamux-owned dirs (Node bin, provider bin dirs,
181
+ // dreamux bin) → captured session PATH (original order) → fresh-install
182
+ // fallback dirs from paths.ts. De-duped via buildServicePath. Never reads
183
+ // process.env; platform/homeDir/env passed explicitly.
184
+ const stableDirs = [
328
185
  dirname(answers.nodeBin),
329
186
  ...serviceProviderBinChecks(answers).flatMap((check) => absoluteDir(check.bin)),
330
187
  ...absoluteDir(answers.dreamuxBin),
331
- ...SERVICE_PATH_DEFAULTS,
332
188
  ];
333
- return uniqueNonEmpty(dirs).join(delimiter);
189
+ const sessionPath = answers.env?.['PATH'] ?? '';
190
+ const fallbackDirs = standardExecDirs({
191
+ platform: answers.platform ?? process.platform,
192
+ homeDir: answers.homeDir ?? homedir(),
193
+ env: answers.env ?? {},
194
+ });
195
+ return buildServicePath({ stableDirs, sessionPath, fallbackDirs });
334
196
  }
335
197
  function serviceProviderBinChecks(answers) {
336
198
  const checks = new Map();
@@ -342,31 +204,11 @@ function serviceProviderBinChecks(answers) {
342
204
  function absoluteDir(path) {
343
205
  return isAbsolute(path) ? [dirname(path)] : [];
344
206
  }
345
- function uniqueNonEmpty(values) {
346
- const out = [];
347
- const seen = new Set();
348
- for (const value of values) {
349
- if (value === '' || seen.has(value))
350
- continue;
351
- seen.add(value);
352
- out.push(value);
353
- }
354
- return out;
355
- }
356
207
  async function assertExecutable(path, label) {
357
208
  if (await isExecutable(path))
358
209
  return;
359
210
  throw new Error(`managed service executable is not runnable: ${label}`);
360
211
  }
361
- async function isExecutable(path) {
362
- try {
363
- await access(path, constants.X_OK);
364
- return true;
365
- }
366
- catch {
367
- return false;
368
- }
369
- }
370
212
  function errorMessage(err) {
371
213
  return err instanceof Error ? err.message : String(err);
372
214
  }
@@ -401,19 +243,14 @@ async function registerSystemd(unitPath, options) {
401
243
  dryRun: options.answers.dryRun,
402
244
  });
403
245
  options.ledger.record(unitPath, 'unchanged', 'systemd user service registered');
404
- // `systemctl --user enable` only schedules the service for an *active login
405
- // session*. On a headless box with no graphical/SSH login the service never
406
- // starts at boot. `loginctl enable-linger` is what makes a user service boot
407
- // without a login without it, "enabled" silently fails to autostart on
408
- // reboot. Best-effort: a strict polkit / non-root setup may deny it, but that
409
- // must not fail onboard / daemon install (issue #78).
246
+ // `systemctl --user enable` only schedules the service for an active login
247
+ // session. `loginctl enable-linger` makes a user service boot without a login;
248
+ // without it "enabled" silently fails to autostart on reboot. Best-effort: a
249
+ // strict polkit / non-root setup may deny it, but that must not fail onboard.
410
250
  const { lingerEnabled, warnings } = await enableSystemdLinger(options);
411
251
  return { lingerEnabled, warnings };
412
252
  }
413
- /**
414
- * Enable systemd user lingering for the calling user, best-effort. Returns the
415
- * outcome plus any operator-facing warning. Skipped (null) on a dry run.
416
- */
253
+ /** Enable systemd user lingering, best-effort. Skipped (null) on dry run. */
417
254
  export async function enableSystemdLinger(options) {
418
255
  if (options.answers.dryRun)
419
256
  return { lingerEnabled: null, warnings: [] };
@@ -430,10 +267,9 @@ export async function enableSystemdLinger(options) {
430
267
  };
431
268
  }
432
269
  /**
433
- * Unregister and remove the user-level service unit only. Shared by the
434
- * top-level `dreamux uninstall` (which then also removes config/state/logs) and
435
- * `dreamux daemon uninstall` (which removes *nothing else*). Best-effort on the
436
- * service-manager calls — the unit-file removal is authoritative.
270
+ * Unregister and remove the user-level service unit only. Shared by
271
+ * `dreamux uninstall` (also removes config/state/logs) and
272
+ * `daemon uninstall` (removes nothing else). Unit-file removal is authoritative.
437
273
  */
438
274
  export async function removeUserService(options) {
439
275
  const homeDir = options.homeDir ?? homedir();
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/onboard/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/onboard/service.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@
37
37
  */
38
38
  import { realpath } from 'node:fs/promises';
39
39
  import { homedir } from 'node:os';
40
- import { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
40
+ import { dirname, isAbsolute, join, relative, resolve, sep, delimiter } from 'node:path';
41
41
  import { fileURLToPath } from 'node:url';
42
42
  import { assertUnixSocketPathBudget, } from '@excitedjs/dreamux-utils';
43
43
  import { BUILT_IN_DEFAULTS, } from '../config/config.js';
@@ -325,4 +325,113 @@ export function teamMateNameSegment(name) {
325
325
  export function dispatcherPathSegment(id) {
326
326
  return validateDispatcherId(id);
327
327
  }
328
+ /**
329
+ * The operator's user-local standard bin dirs, in priority order. When
330
+ * XDG_BIN_HOME is set (in the passed env) and non-empty it is included first;
331
+ * the conventional $HOME/.local/bin is always included. Both are kept so a
332
+ * binary installed in either location resolves.
333
+ */
334
+ export function userLocalBinDirs(options) {
335
+ const dirs = [];
336
+ const xdg = options.env['XDG_BIN_HOME'];
337
+ if (typeof xdg === 'string' && xdg.trim() !== '') {
338
+ dirs.push(xdg.trim());
339
+ }
340
+ dirs.push(join(options.homeDir, '.local', 'bin'));
341
+ return dirs;
342
+ }
343
+ /**
344
+ * Platform conventional system bin dirs (user-local dirs are NOT included here —
345
+ * see {@link userLocalBinDirs}). All platforms include /usr/local/bin,
346
+ * /usr/bin, /bin. macOS adds the Apple Silicon Homebrew prefix
347
+ * /opt/homebrew/bin (Intel Homebrew lands under /usr/local/bin, already
348
+ * covered). Linux adds the common Linuxbrew prefix
349
+ * /home/linuxbrew/.linuxbrew/bin.
350
+ *
351
+ * These are deterministic: no brew --prefix, no shell profile inspection.
352
+ */
353
+ export function systemExecDirs(platform) {
354
+ const dirs = ['/usr/local/bin', '/usr/bin', '/bin'];
355
+ if (platform === 'darwin') {
356
+ dirs.push('/opt/homebrew/bin');
357
+ }
358
+ else if (platform === 'linux') {
359
+ dirs.push('/home/linuxbrew/.linuxbrew/bin');
360
+ }
361
+ return dirs;
362
+ }
363
+ /**
364
+ * The full ordered, de-duplicated standard executable dirs for a platform: the
365
+ * user-local bin dirs (see {@link userLocalBinDirs}) followed by the platform
366
+ * conventional system dirs (see {@link systemExecDirs}). Used as the
367
+ * fresh-install fallback dirs by {@link buildServicePath}.
368
+ */
369
+ export function standardExecDirs(options) {
370
+ return dedupeExecDirs([
371
+ ...userLocalBinDirs(options),
372
+ ...systemExecDirs(options.platform),
373
+ ]);
374
+ }
375
+ /**
376
+ * Build the managed-service PATH: stable Dreamux-owned dirs first, then the
377
+ * captured session PATH in original order, then the fresh-install fallback
378
+ * dirs. Deduplicated while preserving first occurrence. Never reads
379
+ * process.env. This is the single source of truth for the service PATH order.
380
+ */
381
+ export function buildServicePath(input) {
382
+ return dedupeExecDirs([
383
+ ...input.stableDirs,
384
+ ...input.sessionPath.split(delimiter),
385
+ ...input.fallbackDirs,
386
+ ]).join(delimiter);
387
+ }
388
+ /**
389
+ * Return a copy of `env` with PATH set to {@link buildServicePath}. The
390
+ * caller's env object (and process.env) is never mutated.
391
+ */
392
+ export function withServicePath(env, input) {
393
+ return { ...env, PATH: buildServicePath(input) };
394
+ }
395
+ /**
396
+ * Return a copy of `env` with PATH augmented so bare provider/agent binaries
397
+ * resolve against the standard executable dirs during `dreamux onboard` and
398
+ * `dreamux daemon install`. It places the captured session PATH (in original
399
+ * order) ahead of the fresh-install fallback dirs (XDG_BIN_HOME /
400
+ * $HOME/.local/bin + portable platform system + brew dirs), matching the order
401
+ * {@link buildServicePath} persists into the service unit — so the
402
+ * daemon-install preflight and the running service agree.
403
+ *
404
+ * Stable Dreamux-owned dirs (Node bin, provider bin dirs, dreamux bin) are NOT
405
+ * included here: at resolve time the Node bin is not yet selected and the
406
+ * dreamux bin dir is computed separately. Those are added when the service PATH
407
+ * is rendered (see `managedServicePath` in onboard/service.ts). Pass
408
+ * `extraDirs` to lead the PATH with explicit actual dirs (e.g. a resolved
409
+ * provider bin dir).
410
+ *
411
+ * The caller's env (and process.env) is never mutated; platform/homeDir/env are
412
+ * passed explicitly by the caller and these helpers never read process.env.
413
+ * XDG_BIN_HOME is a widely-followed convention (NOT part of the formal XDG Base
414
+ * Directory spec); it is honored alongside $HOME/.local/bin so binaries in
415
+ * either location resolve.
416
+ */
417
+ export function withStandardExecPath(env, options) {
418
+ const sessionPath = env['PATH'] ?? '';
419
+ const fallbackDirs = standardExecDirs(options);
420
+ return withServicePath(env, {
421
+ stableDirs: options.extraDirs ?? [],
422
+ sessionPath,
423
+ fallbackDirs,
424
+ });
425
+ }
426
+ function dedupeExecDirs(values) {
427
+ const out = [];
428
+ const seen = new Set();
429
+ for (const value of values) {
430
+ if (value === '' || seen.has(value))
431
+ continue;
432
+ seen.add(value);
433
+ out.push(value);
434
+ }
435
+ return out;
436
+ }
328
437
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/platform/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/platform/paths.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@excitedjs/dreamux",
3
- "version": "0.19.0",
3
+ "version": "0.19.2",
4
4
  "description": "Dreamux core host for multi-dispatcher agent orchestration through provider interfaces.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,10 +33,10 @@
33
33
  "execa": "^9.6.1",
34
34
  "pino": "^9.5.0",
35
35
  "plist": "^5.0.0",
36
- "@excitedjs/agent-runtime-claude-code": "0.4.1",
37
36
  "@excitedjs/agent-runtime-codex": "0.3.2",
38
- "@excitedjs/dreamux-types": "0.5.0",
37
+ "@excitedjs/agent-runtime-claude-code": "0.4.1",
39
38
  "@excitedjs/dreamux-utils": "0.3.2",
39
+ "@excitedjs/dreamux-types": "0.5.0",
40
40
  "@excitedjs/feishu-channel": "3.0.0"
41
41
  },
42
42
  "devDependencies": {