blun-king-cli 9.1.134 → 9.1.136
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 +16 -0
- package/README.md +15 -0
- package/bin/launcher-runtime.js +23 -1
- package/bin/repeated-injection-projection.cjs +3 -0
- package/package.json +1 -1
package/LIESMICH.txt
CHANGED
|
@@ -127,6 +127,8 @@ Ab BLUN King 9.1.133 werden die projektlokale und die gemeinsame `Mistake.md` ni
|
|
|
127
127
|
|
|
128
128
|
Ab BLUN King 9.1.134 begrenzt die Modellprojektion nicht adressierte Telegram-Gruppennachrichten auf eine nachvollziehbare Vorschau von 2.000 Zeichen. Anfang und Ende bleiben erhalten, eine Markierung nennt die ursprüngliche Länge. Direkt an den Agenten gerichtete Nachrichten, die sichtbare Telegram-Historie, der Rohverlauf und Exporte bleiben vollständig. In Fredriks realem Verlauf betraf die Grenze 211 von 517 verschiedenen mitgelesenen Gruppenmeldungen und hätte 102.466 wiederholt übertragene Zeichen eingespart, also rund 25.617 geschätzte Token über die gemessenen Modellanfragen.
|
|
129
129
|
|
|
130
|
+
Ab BLUN King 9.1.136 behält die Modellprojektion nur noch den neuesten dynamischen `Mistake.md`-Hinweis. Ältere, zugbezogene Auswahlen bleiben im Sitzungsrohverlauf und in Exporten erhalten, werden nach einer neueren Auswahl aber nicht mehr erneut an das Modell gesendet. Andere geänderte Hinweise bleiben unberührt. In Fredriks aktueller Sitzung lagen fünf `Mistake.md`-Auswahlen vor; das Entfernen der vier überholten Kopien spart pro Modellanfrage 24.143 Zeichen, also etwa 6.036 geschätzte Token.
|
|
131
|
+
|
|
130
132
|
Ab BLUN King 9.1.131 entfernt die Modellprojektion zwei ältere Regelkopien aus dem Systemprompt, sobald gleichwertige Regeln im Conduct-Abschnitt vorhanden sind. Betroffen sind ausschließlich die doppelten Hinweise zu Ehrlichkeit und Zugangsdaten; die vollständigen Conduct-Regeln und alle übrigen Prompt-Abschnitte bleiben unverändert. In der ausgelieferten Standardvorlage sinkt der wiederholt gesendete Prompt dadurch um 1.010 Zeichen, also um etwa 253 geschätzte Token pro Modellanfrage. Fehlt eines der Conduct-Gegenstücke, bleibt die entsprechende ältere Regel unverändert erhalten.
|
|
131
133
|
|
|
132
134
|
Ab BLUN King 9.1.118 bleibt der Sitzungszeitstempel im Systemprompt während einer laufenden Sitzung unverändert. Das erneute Einlesen von Verzeichnisübersicht, AGENTS.md-Dateien, Zusatzverzeichnissen und Skillinformationen kann den Prompt weiterhin ändern, wenn sich die jeweiligen Quellen tatsächlich verändert haben. Bleiben diese Quellen gleich, entwertet die Aktualisierung nach einer Verdichtung den Präfix-Cache des Anbieters nicht mehr allein durch einen neuen Zeitstempel. In Fredriks gemessener Sitzung unterschieden sich die beiden letzten Systemprompts mit jeweils 68.631 Zeichen nur in der Zeitangabe, und zwar erst nach einem gemeinsamen Präfix von 27.111 Zeichen. Der geänderte Zeitstempel verhinderte damit die Wiederverwendung der übrigen 41.512 unveränderten Zeichen aus dem Präfix-Cache.
|
|
@@ -352,6 +354,20 @@ Das kompakte BLUN-Zeichen unter der Eingabe zeigt die Markenfarben wieder in
|
|
|
352
354
|
der richtigen Reihenfolge: Der Statuspunkt und UN verwenden die Primärfarbe,
|
|
353
355
|
BL bleibt weiß. Statuswerte, Profilname und Persona bleiben unverändert.
|
|
354
356
|
|
|
357
|
+
Einheitliche verwaltete Node-Laufzeit
|
|
358
|
+
--------------------------------------
|
|
359
|
+
|
|
360
|
+
Startet BLUN unter Windows oder macOS mit einer Node.js-Version vor 24.15.0,
|
|
361
|
+
richtet es eine private unterstützte Laufzeit ein und startet damit neu. Ab
|
|
362
|
+
BLUN King 9.1.135 steht das Verzeichnis dieser verwalteten Laufzeit auch im
|
|
363
|
+
PATH des Ersatzprozesses und aller untergeordneten Werkzeuge an erster Stelle.
|
|
364
|
+
|
|
365
|
+
Dadurch verwenden vom Agenten gestartete node- und npm-Befehle dieselbe
|
|
366
|
+
unterstützte Laufzeit wie die TUI, statt auf eine ältere Systeminstallation
|
|
367
|
+
zurückzufallen. Die globale Node-Installation des Systems wird nicht verändert.
|
|
368
|
+
OAuth, gespeicherte Anmeldedaten, Sitzungen und der Updatestatus bleiben
|
|
369
|
+
unverändert.
|
|
370
|
+
|
|
355
371
|
Aktualisieren
|
|
356
372
|
-------------
|
|
357
373
|
|
package/README.md
CHANGED
|
@@ -133,6 +133,8 @@ Ab BLUN King 9.1.133 werden die projektlokale und die gemeinsame `Mistake.md` ni
|
|
|
133
133
|
|
|
134
134
|
Ab BLUN King 9.1.134 begrenzt die Modellprojektion nicht adressierte Telegram-Gruppennachrichten auf eine nachvollziehbare Vorschau von 2.000 Zeichen. Anfang und Ende bleiben erhalten, eine Markierung nennt die ursprüngliche Länge. Direkt an den Agenten gerichtete Nachrichten, die sichtbare Telegram-Historie, der Rohverlauf und Exporte bleiben vollständig. In Fredriks realem Verlauf betraf die Grenze 211 von 517 verschiedenen mitgelesenen Gruppenmeldungen und hätte 102.466 wiederholt übertragene Zeichen eingespart, also rund 25.617 geschätzte Token über die gemessenen Modellanfragen.
|
|
135
135
|
|
|
136
|
+
Ab BLUN King 9.1.136 behält die Modellprojektion nur noch den neuesten dynamischen `Mistake.md`-Hinweis. Ältere, zugbezogene Auswahlen bleiben im Sitzungsrohverlauf und in Exporten erhalten, werden nach einer neueren Auswahl aber nicht mehr erneut an das Modell gesendet. Andere geänderte Hinweise bleiben unberührt. In Fredriks aktueller Sitzung lagen fünf `Mistake.md`-Auswahlen vor; das Entfernen der vier überholten Kopien spart pro Modellanfrage 24.143 Zeichen, also etwa 6.036 geschätzte Token.
|
|
137
|
+
|
|
136
138
|
Ab BLUN King 9.1.131 entfernt die Modellprojektion zwei ältere Regelkopien aus dem Systemprompt, sobald gleichwertige Regeln im Conduct-Abschnitt vorhanden sind. Betroffen sind ausschließlich die doppelten Hinweise zu Ehrlichkeit und Zugangsdaten; die vollständigen Conduct-Regeln und alle übrigen Prompt-Abschnitte bleiben unverändert. In der ausgelieferten Standardvorlage sinkt der wiederholt gesendete Prompt dadurch um 1.010 Zeichen, also um etwa 253 geschätzte Token pro Modellanfrage. Fehlt eines der Conduct-Gegenstücke, bleibt die entsprechende ältere Regel unverändert erhalten.
|
|
137
139
|
|
|
138
140
|
Ab BLUN King 9.1.118 bleibt der Sitzungszeitstempel im Systemprompt während einer laufenden Sitzung unverändert. Das erneute Einlesen von Verzeichnisübersicht, AGENTS.md-Dateien, Zusatzverzeichnissen und Skillinformationen kann den Prompt weiterhin ändern, wenn sich die jeweiligen Quellen tatsächlich verändert haben. Bleiben diese Quellen gleich, entwertet die Aktualisierung nach einer Verdichtung den Präfix-Cache des Anbieters nicht mehr allein durch einen neuen Zeitstempel. In Fredriks gemessener Sitzung unterschieden sich die beiden letzten Systemprompts mit jeweils 68.631 Zeichen nur in der Zeitangabe, und zwar erst nach einem gemeinsamen Präfix von 27.111 Zeichen. Der geänderte Zeitstempel verhinderte damit die Wiederverwendung der übrigen 41.512 unveränderten Zeichen aus dem Präfix-Cache.
|
|
@@ -362,6 +364,19 @@ der richtigen Reihenfolge: Der Statuspunkt und `UN` verwenden die Primärfarbe,
|
|
|
362
364
|
`BL` bleibt weiß. Die Korrektur betrifft nur die Darstellung; Statuswerte,
|
|
363
365
|
Profilname und Persona bleiben unverändert.
|
|
364
366
|
|
|
367
|
+
## Einheitliche verwaltete Node-Laufzeit
|
|
368
|
+
|
|
369
|
+
Startet BLUN unter Windows oder macOS mit einer Node.js-Version vor 24.15.0,
|
|
370
|
+
richtet es eine private unterstützte Laufzeit ein und startet damit neu. Ab
|
|
371
|
+
BLUN King 9.1.135 steht das Verzeichnis dieser verwalteten Laufzeit auch im
|
|
372
|
+
`PATH` des Ersatzprozesses und aller untergeordneten Werkzeuge an erster Stelle.
|
|
373
|
+
|
|
374
|
+
Dadurch verwenden vom Agenten gestartete Befehle wie `node` und `npm` dieselbe
|
|
375
|
+
unterstützte Laufzeit wie die TUI, statt auf eine ältere Systeminstallation
|
|
376
|
+
zurückzufallen. Die globale Node-Installation des Systems wird nicht verändert.
|
|
377
|
+
OAuth, gespeicherte Anmeldedaten, Sitzungen und der Updatestatus bleiben
|
|
378
|
+
unverändert.
|
|
379
|
+
|
|
365
380
|
## Aktualisieren
|
|
366
381
|
|
|
367
382
|
`blun update`, `king update` und die jeweilige Variante `upgrade` verwenden
|
package/bin/launcher-runtime.js
CHANGED
|
@@ -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,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const LATEST_ONLY_INJECTION_VARIANTS = new Set(['mistake_md']);
|
|
4
|
+
|
|
3
5
|
function repeatedInjectionKey(message) {
|
|
4
6
|
if (message?.role !== 'user') return null;
|
|
5
7
|
if (message?.origin?.kind !== 'injection') return null;
|
|
@@ -24,6 +26,7 @@ function dedupeRepeatedInjections(history) {
|
|
|
24
26
|
kept.push(message);
|
|
25
27
|
continue;
|
|
26
28
|
}
|
|
29
|
+
if (LATEST_ONLY_INJECTION_VARIANTS.has(key.variant) && seenByVariant.has(key.variant)) continue;
|
|
27
30
|
let seenTexts = seenByVariant.get(key.variant);
|
|
28
31
|
if (seenTexts === undefined) {
|
|
29
32
|
seenTexts = new Set();
|