blun-king-cli 9.1.134 → 9.1.135

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/LIESMICH.txt CHANGED
@@ -352,6 +352,20 @@ Das kompakte BLUN-Zeichen unter der Eingabe zeigt die Markenfarben wieder in
352
352
  der richtigen Reihenfolge: Der Statuspunkt und UN verwenden die Primärfarbe,
353
353
  BL bleibt weiß. Statuswerte, Profilname und Persona bleiben unverändert.
354
354
 
355
+ Einheitliche verwaltete Node-Laufzeit
356
+ --------------------------------------
357
+
358
+ Startet BLUN unter Windows oder macOS mit einer Node.js-Version vor 24.15.0,
359
+ richtet es eine private unterstützte Laufzeit ein und startet damit neu. Ab
360
+ BLUN King 9.1.135 steht das Verzeichnis dieser verwalteten Laufzeit auch im
361
+ PATH des Ersatzprozesses und aller untergeordneten Werkzeuge an erster Stelle.
362
+
363
+ Dadurch verwenden vom Agenten gestartete node- und npm-Befehle dieselbe
364
+ unterstützte Laufzeit wie die TUI, statt auf eine ältere Systeminstallation
365
+ zurückzufallen. Die globale Node-Installation des Systems wird nicht verändert.
366
+ OAuth, gespeicherte Anmeldedaten, Sitzungen und der Updatestatus bleiben
367
+ unverändert.
368
+
355
369
  Aktualisieren
356
370
  -------------
357
371
 
package/README.md CHANGED
@@ -362,6 +362,19 @@ der richtigen Reihenfolge: Der Statuspunkt und `UN` verwenden die Primärfarbe,
362
362
  `BL` bleibt weiß. Die Korrektur betrifft nur die Darstellung; Statuswerte,
363
363
  Profilname und Persona bleiben unverändert.
364
364
 
365
+ ## Einheitliche verwaltete Node-Laufzeit
366
+
367
+ Startet BLUN unter Windows oder macOS mit einer Node.js-Version vor 24.15.0,
368
+ richtet es eine private unterstützte Laufzeit ein und startet damit neu. Ab
369
+ BLUN King 9.1.135 steht das Verzeichnis dieser verwalteten Laufzeit auch im
370
+ `PATH` des Ersatzprozesses und aller untergeordneten Werkzeuge an erster Stelle.
371
+
372
+ Dadurch verwenden vom Agenten gestartete Befehle wie `node` und `npm` dieselbe
373
+ unterstützte Laufzeit wie die TUI, statt auf eine ältere Systeminstallation
374
+ zurückzufallen. Die globale Node-Installation des Systems wird nicht verändert.
375
+ OAuth, gespeicherte Anmeldedaten, Sitzungen und der Updatestatus bleiben
376
+ unverändert.
377
+
365
378
  ## Aktualisieren
366
379
 
367
380
  `blun update`, `king update` und die jeweilige Variante `upgrade` verwenden
@@ -310,11 +310,32 @@ function installTelegramForProfile(packageRoot, blunDir) {
310
310
  }
311
311
  }
312
312
 
313
+ function createManagedNodeEnvironment(binary, env = process.env, platform = process.platform) {
314
+ const pathImpl = platform === 'win32' ? path.win32 : path.posix;
315
+ const separator = platform === 'win32' ? path.win32.delimiter : path.posix.delimiter;
316
+ const pathKeys = Object.keys(env).filter((key) => key.toLowerCase() === 'path');
317
+ const targetKey = pathKeys[0] || (platform === 'win32' ? 'Path' : 'PATH');
318
+ const managedDirectory = pathImpl.dirname(pathImpl.resolve(binary));
319
+ const normalize = (value) => {
320
+ const resolved = pathImpl.normalize(value);
321
+ return platform === 'win32' ? resolved.toLowerCase() : resolved;
322
+ };
323
+ const managedIdentity = normalize(managedDirectory);
324
+ const existing = pathKeys.flatMap((key) => String(env[key] || '').split(separator))
325
+ .map((entry) => entry.trim())
326
+ .filter(Boolean)
327
+ .filter((entry) => normalize(entry) !== managedIdentity);
328
+ const result = { ...env };
329
+ for (const key of pathKeys) delete result[key];
330
+ result[targetKey] = [managedDirectory, ...existing].join(separator);
331
+ return result;
332
+ }
333
+
313
334
  function spawnManagedLauncher(binary, cwd) {
314
335
  return new Promise((resolve, reject) => {
315
336
  const child = spawn(binary, process.argv.slice(1), {
316
337
  cwd,
317
- env: process.env,
338
+ env: createManagedNodeEnvironment(binary, process.env, process.platform),
318
339
  stdio: 'inherit',
319
340
  windowsHide: true,
320
341
  });
@@ -590,6 +611,7 @@ async function runLauncher(options = {}) {
590
611
  }
591
612
 
592
613
  module.exports = {
614
+ createManagedNodeEnvironment,
593
615
  resolveLauncherPrivatePaths,
594
616
  runLauncher,
595
617
  shouldDetachProtectedCore,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blun-king-cli",
3
- "version": "9.1.134",
3
+ "version": "9.1.135",
4
4
  "description": "BLUN CLI - your own AI agent with a Telegram channel. Get it done. With BLUN.",
5
5
  "license": "MIT",
6
6
  "bin": {