blun-king-cli 9.1.603 → 9.1.604

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.md CHANGED
@@ -1,12 +1,25 @@
1
1
  # BLUN King Changelog
2
2
 
3
- ## 9.1.603
3
+ ## 9.1.604
4
4
 
5
- - Open a native Windows folder chooser when selecting a different startup workspace. Keep explicit path entry available, return to the workspace menu on cancellation, and fall back to path entry when a desktop dialog is unavailable.
6
- - Offer the user's home folder instead of an inherited or previously remembered Windows system directory such as System32. Explicitly entered workspace paths still use the existing validation.
7
- - Preserve exact prompt and bundled-component fixture bytes across Windows checkouts, and require folder-selection regression checks in the release gate. Bundled AgentSpine and Language Guard versions are unchanged from 9.1.602.
5
+ - Add request diagnostics to /context doctor, /context-doctor and /tokens: separate serialized request bytes from token estimates and attribute supported prompt files, memory, skills and tool definitions to their actual rendered contributions. Unknown provenance remains unknown.
6
+ - Generate a fresh x-request-id for each HTTP attempt and retain it in transport diagnostics. Preserve caller-supplied IDs; do not log their arbitrary values or change billing behavior.
7
+ - Defer medium-sized tool catalogs through the existing search and disclosure mechanism. Keep tools discoverable and executable without reducing the model context window.
8
+ - Add session-scoped /queue controls for steer, followup, collect and interrupt, with debounce and batch settings. Preserve excess queued input and forum-topic routing. Ordinary queued messages no longer use the former automatic 30-second interruption.
9
+ - Resolve /session and explicit startup targets by exact ID or title, then unambiguous ID prefix. Keep ambiguous choices in the existing picker and preserve queue ownership across session transitions.
10
+ - Preserve multiline input as message content, retain pending questions when their dialog is collapsed, and offer /question to reopen them.
11
+ - Add session-persisted usage display modes, include response-review usage in the turn footer, and discard diagnostic results after a session change.
12
+ - Add local display controls to /settings, show the bound agent and session in the footer, coalesce tool-progress repaints, and stop formatting unused private thinking payloads.
13
+ - Suppress repeated unchanged blocked-Cron warnings and recheck cleanup deadlines after early timer wakes without extending the cleanup budget.
14
+ - Keep the pinned AgentSpine and Translate Native component versions unchanged. These changes do not establish lower provider bills, faster live responses, a repaired external Guard service, or complete OpenClaw feature parity.
8
15
 
9
- ## 9.1.602
16
+ ## 9.1.603
17
+
18
+ - Open a native Windows folder chooser when selecting a different startup workspace. Keep explicit path entry available, return to the workspace menu on cancellation, and fall back to path entry when a desktop dialog is unavailable.
19
+ - Offer the user's home folder instead of an inherited or previously remembered Windows system directory such as System32. Explicitly entered workspace paths still use the existing validation.
20
+ - Preserve exact prompt and bundled-component fixture bytes across Windows checkouts, and require folder-selection regression checks in the release gate. Bundled AgentSpine and Language Guard versions are unchanged from 9.1.602.
21
+
22
+ ## 9.1.602
10
23
 
11
24
  - Give historical tool-output recovery its own private storage root, so existing ordinary tool-output folders with inherited permissions do not silently disable lossless context reduction. Existing files and permissions remain unchanged.
12
25
  - Retain complete archived output, read-permission checks, integrity verification, and fallback to full context when recovery is unavailable. Bundled AgentSpine and Language Guard versions are unchanged from 9.1.601.
package/LIESMICH.txt CHANGED
@@ -3,13 +3,30 @@ BLUN King für macOS und Windows
3
3
 
4
4
  Voraussetzung
5
5
  -------------
6
- Node.js 24.15 oder neuer muss installiert sein.
6
+ Node.js 24.15 oder neuer muss installiert sein. npm gehört zur Node.js-Installation.
7
+ Unter Windows wird zusätzlich Git Bash aus Git for Windows benötigt.
8
+ Nach der Installation ein neues Terminal öffnen und mit node --version,
9
+ npm --version und git --version prüfen, ob die Programme gefunden werden.
10
+
11
+ Bei "Git Bash not found" Git for Windows installieren oder BLUN_SHELL_PATH
12
+ auf die vorhandene bash.exe setzen. Bei einem unbekannten npm-Befehl zuerst
13
+ die Node.js-Installation und den Suchpfad prüfen.
14
+
15
+ Kontext- und Sitzungsbefehle ab 9.1.604
16
+ -------------------------------------
17
+ /context doctor zeigt die ausführliche Kontextdiagnose, /queue die
18
+ Warteschlangenregel. /question öffnet noch ausstehende Rückfragen erneut.
19
+ /usage off, /usage tokens und /usage full ändern den Verbrauchsanzeigemodus.
20
+ /session wählt eine Sitzung aus, /settings öffnet die Einstellungen.
21
+
22
+ Die vollständige Syntax, Grenzen und Voraussetzungen stehen in README.md.
23
+ Anfrage-Bytes sind keine Tokenzahlen und kein Abrechnungsnachweis.
7
24
 
8
25
  Installation
9
26
  ------------
10
27
  Die geprüfte Version exakt global installieren:
11
28
 
12
- npm install -g blun-king-cli@9.1.601
29
+ npm install -g blun-king-cli@9.1.604
13
30
 
14
31
  Start
15
32
  -----
package/README.md CHANGED
@@ -9,10 +9,53 @@ Voraussetzung ist Node.js 24.15 oder neuer. Die geprüfte Version wird exakt
9
9
  installiert:
10
10
 
11
11
  ```powershell
12
- npm install -g blun-king-cli@9.1.601
12
+ npm install -g blun-king-cli@9.1.604
13
13
  ```
14
14
 
15
- ## Reproduzierbares Staging und Packen
15
+ ### Windows: Node.js, npm und Git Bash
16
+
17
+ Node.js ab Version 24.15 ist erforderlich; npm wird mit Node.js installiert. Unter Windows benötigt die Konsole außerdem Git Bash aus Git for Windows. Nach der Installation ein neues Terminal öffnen und prüfen:
18
+
19
+ ```powershell
20
+ node --version
21
+ npm --version
22
+ git --version
23
+ ```
24
+
25
+ Wird `npm` nicht gefunden, zuerst die Node.js-Installation und den Suchpfad prüfen. Meldet die Konsole `Git Bash not found`, Git for Windows installieren oder `BLUN_SHELL_PATH` auf die vorhandene `bash.exe` setzen. Die Variable muss auf die Datei zeigen, nicht nur auf ihren Ordner.
26
+
27
+ Beim Start lässt sich ein anderer Arbeitsordner über den Windows-Ordnerdialog auswählen. Ist kein Desktopdialog verfügbar, bleibt die manuelle Pfadeingabe möglich. Ein geerbter Windows-Systemordner wie `C:\Windows\System32` wird nicht als vorgeschlagener Arbeitsordner übernommen.
28
+
29
+ ## Kontext, Werkzeuge und Sitzungssteuerung ab 9.1.604
30
+
31
+ Die folgenden Befehle ergänzen die vorhandene Konsole. Sie ändern weder das Modell noch dessen Kontextfenster.
32
+
33
+ | Befehl | Wirkung |
34
+ | --- | --- |
35
+ | `/context doctor`, `/context-doctor`, `/tokens` | Zeigt die ausführliche Kontextdiagnose der aktiven Sitzung. |
36
+ | `/queue` | Zeigt die aktuelle Warteschlangenregel. |
37
+ | `/queue steer` | Übergibt neue Eingaben am nächsten geeigneten Übergabepunkt; ist das nicht möglich, warten sie auf den nächsten Zug. |
38
+ | `/queue followup` | Verarbeitet neue Eingaben nach dem laufenden Zug. |
39
+ | `/queue collect debounce:500ms batch:10` | Bündelt zusammengehörige Eingaben; weitere Eingaben bleiben in der Warteschlange. |
40
+ | `/queue interrupt` | Unterbricht für neue Eingaben den laufenden Zug. |
41
+ | `/queue reset`, `/queue default` | Entfernt die sitzungsspezifische Warteschlangenregel. |
42
+ | `/session <ID oder Titel>` | Wählt eine Sitzung im aktuellen Arbeitsbereich. Eindeutige ID-Präfixe werden ebenfalls erkannt; bei Mehrdeutigkeit öffnet sich die Auswahl. |
43
+ | `/question` | Öffnet noch ausstehende Rückfragen erneut. Das Einklappen beantwortet oder verwirft sie nicht. |
44
+ | `/usage off`, `/usage tokens`, `/usage full` | Speichert den Anzeigemodus für den Verbrauch in dieser Sitzung. |
45
+ | `/usage reset` | Entfernt den sitzungsspezifischen Anzeigemodus. `inherit`, `clear` und `default` sind gleichwertig. |
46
+ | `/settings` | Öffnet die Einstellungen einschließlich der lokalen Anzeigeoptionen. |
47
+
48
+ Bei `/queue` sind `debounce:0ms` bis `debounce:60s` und `batch:1` bis `batch:100` zulässig. `batch` begrenzt die Bündelgröße und löscht keine überschüssigen Nachrichten. Es gibt keine `cap:`- oder `drop:`-Option. Die Warteschlangenregel und der Verbrauchsmodus bleiben beim Fortsetzen derselben Sitzung erhalten. Gewöhnliche neue Kanalnachrichten lösen nicht mehr automatisch nach 30 Sekunden einen Abbruch aus; ausdrücklich angeforderte Unterbrechungen bleiben möglich.
49
+
50
+ Die Kontextdiagnose unterscheidet den gespeicherten Verlauf, geschätzte Tokenzahlen und die tatsächlich serialisierten Anfrage-Bytes. Für die letzte erfasste Anfrage weist sie bekannte Beiträge von AGENTS-Regeln, Mistake-Dateien, eingebundenem Gedächtnis, Skills und Werkzeugdefinitionen getrennt aus. Fehlende Herkunftsdaten bedeuten nicht null Byte. Anfrage-Bytes sind weder Tokenzahlen noch eine Rechnung.
51
+
52
+ Größere Werkzeugkataloge werden über die vorhandene Werkzeugsuche nach Bedarf eingeblendet. Die Schwelle liegt bei 8.000 geschätzten Schema-Token; notwendige Werkzeuge können darüber liegen. Werkzeuge werden dadurch nicht entfernt, und das Modellfenster wird nicht verkleinert.
53
+
54
+ Das Transportprotokoll erhält für jeden HTTP-Versuch eine eigene `x-request-id`. Bereits vorgegebene Kennungen bleiben unverändert und werden nicht als beliebiger Fremdtext protokolliert. Damit lassen sich Client- und Servermessungen zuordnen; die Kennung ist kein Abrechnungsschlüssel.
55
+
56
+ Die Verbrauchsanzeige berücksichtigt auch die Antwortprüfung. `/usage cost` mit Tages- oder Monatskosten gehört nicht zu dieser Fassung. Eine geringere Rechnung oder kürzere Antwortzeit im Live-Betrieb ist durch die lokalen Prüfungen nicht belegt.
57
+
58
+ ## Reproduzierbares Staging und Packen
16
59
 
17
60
  Der Schritt baut nichts, installiert nichts und veröffentlicht nichts. Vorher müssen
18
61
  `apps/blun-king/dist/main.mjs`, `dist-web`, die Darwin- und Windows-Natives sowie
@@ -15,7 +15,10 @@ const GUARD_RESPONSE_PAYLOADS = Object.freeze([
15
15
  'standard-skills/translate-native/scripts/blun_language_guard.py',
16
16
  'standard-tools/language-guard/blun_language_guard.py',
17
17
  ]);
18
- const REQUIRED = [
18
+ const REQUIRED = [
19
+ 'agent-spine-plugin/package.json',
20
+ 'standard-skills/translate-native/VERSION', 'standard-skills/translate-native/provenance.json',
21
+ 'standard-tools/language-guard/VERSION', 'standard-tools/language-guard/provenance.json',
19
22
  'agent-spine-plugin/blun.plugin.json', 'agent-spine-plugin/src/hook.js',
20
23
  'agent-spine-plugin/src/mcp.js', 'agent-spine-plugin/skills/agent-spine/SKILL.md',
21
24
  'standard-skills/translate-native/SKILL.md', ...GUARD_RESPONSE_PAYLOADS,
@@ -53,10 +56,29 @@ function verifyBundledAgentSources(root, pins) {
53
56
  }
54
57
  const expectedNames = Object.keys(receipt.files).sort();
55
58
  if (JSON.stringify(Object.keys(actual).sort()) !== JSON.stringify(expectedNames)) throw new Error('Bundled source inventory mismatch');
56
- for (const file of expectedNames) {
57
- if (!/^[a-f0-9]{64}$/.test(receipt.files[file]) || actual[file] !== receipt.files[file]) throw new Error('Bundled source digest mismatch: ' + file);
58
- }
59
- // Bind the semantic repair independently of the self-reported file inventory.
59
+ for (const file of expectedNames) {
60
+ if (!/^[a-f0-9]{64}$/.test(receipt.files[file]) || actual[file] !== receipt.files[file]) throw new Error('Bundled source digest mismatch: ' + file);
61
+ }
62
+ for (const name of ['agentSpine', 'translateNative']) {
63
+ const version = receipt.versions?.[name];
64
+ if (typeof version !== 'string' || !version || version.trim() !== version) {
65
+ throw new Error('Invalid bundled component version: ' + name);
66
+ }
67
+ }
68
+ const spine = JSON.parse(fs.readFileSync(path.join(root, 'agent-spine-plugin/package.json'), 'utf8'));
69
+ if (spine.version !== receipt.versions.agentSpine) throw new Error('Bundled component version mismatch: agentSpine');
70
+ for (const prefix of ['standard-skills/translate-native/', 'standard-tools/language-guard/']) {
71
+ if (fs.readFileSync(path.join(root, prefix, 'VERSION'), 'utf8').trim() !== receipt.versions.translateNative) {
72
+ throw new Error('Bundled component version mismatch: ' + prefix);
73
+ }
74
+ const provenance = JSON.parse(fs.readFileSync(path.join(root, prefix, 'provenance.json'), 'utf8'));
75
+ if (provenance?.name !== 'translate-native' || provenance.version !== receipt.versions.translateNative
76
+ || provenance.sourceCommit !== receipt.sources.translateNative.commit
77
+ || provenance.sourceRepository !== receipt.sources.translateNative.repository) {
78
+ throw new Error('Bundled component provenance mismatch: ' + prefix);
79
+ }
80
+ }
81
+ // Bind the semantic repair independently of the self-reported file inventory.
60
82
  const patch = receipt.localPatches?.guardResponseProfile;
61
83
  if (!patch || typeof patch !== 'object' || Array.isArray(patch)
62
84
  || Object.keys(patch).length !== Object.keys(GUARD_RESPONSE_PROFILE).length