blun-king-cli 9.1.615 → 9.1.617

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,5 +1,14 @@
1
1
  # BLUN King Changelog
2
2
 
3
+ ## 9.1.617
4
+
5
+ King wartet beim Beenden auch auf Ereignisse, die beim Aufräumen laufender Arbeiten entstehen. Noch nicht abgeschlossene Arbeit wird nicht als beendet bestätigt.
6
+
7
+ ## 9.1.616
8
+
9
+ - Nach einer bestätigten Telegram-Antwort übernimmt King weitere an dich adressierte Nachrichten am nächsten sicheren Schritt, auch während eines laufenden Zugs. Eine bereits zugestellte Antwort hält die Warteschlange nicht mehr auf. Antworten bleiben ihrem jeweiligen Chat zugeordnet.
10
+ - Brichst du einen Zug ab, bleiben noch nicht übernommene Telegram-Nachrichten für die nächste Zustellung erhalten. King quittiert sie erst, wenn die Sitzung sie tatsächlich übernimmt.
11
+
3
12
  ## 9.1.615
4
13
 
5
14
  Große Werkzeugkataloge laufen jetzt über Kings vorhandene Werkzeugsuche, statt alle optionalen Werkzeugschemata auf einmal an das Modell zu senden. Meldet der Anbieter ein kleineres Kontextfenster, passt King das Werkzeugbudget an. Neu gefundene Werkzeuge bleiben für den nächsten Schritt verfügbar. Bei der automatischen Auswahl liest King keine Parameterschemata noch nicht ausgewählter MCP-Werkzeuge; lokal registrierte Werkzeuge behalten ihre Parameterhinweise.
@@ -94,107 +103,107 @@ Neue Anfragen an die lokale Codesuche protokollieren Metadaten statt des vollst
94
103
  - 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.
95
104
 
96
105
  ## 9.1.603
97
-
98
- - 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.
99
- - 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.
100
- - 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.
101
-
102
- ## 9.1.602
103
-
104
- - 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.
105
- - 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.
106
-
107
- ## 9.1.601
108
-
109
- - Keep terminal input queued when background work wins admission, preserving order and showing each input only once.
110
- - Replace eligible older tool outputs with verified private-file references in model requests while preserving complete history and current-turn results.
111
- - Retain full output when recovery is unavailable, denied, altered, or no longer matches the active context.
112
- - Require source and compiled-program checks for recovery, permission boundaries, and retained-history accounting.
113
- - Retry one rate-limited native response review using the persisted provider cooldown and the unchanged candidate; never replay completed tools or release unchecked text.
114
- - Reserve up to 2,048 output tokens for input-estimation differences without shrinking the model context window or changing smaller explicit output caps. Larger differences remain subject to bounded context-error recovery.
115
-
116
- ## 9.1.600
117
-
118
- - Bound each response-review attempt to 120 seconds while retaining the 30-second default for generic reviewers and the existing maximum of two outer attempts.
119
- - Allow up to 90 seconds for first meaningful native-review text once per attempt, then renew a 30-second idle budget on meaningful text and ordered release and verification stages without extending the absolute deadline.
120
- - Preserve cancellation, exact response binding, receipt expiry, and authorization; these changes do not establish a fix for live HTTP 502 errors.
121
- - Pin AgentSpine 0.73.0 and Translate Native 6.155.0; keep the guard protocol at 6.20.0.
122
-
123
- ## 9.1.599
124
-
125
- - Show localized personal-memory actions and complete previews of settings changes or remembered text, with terminal control characters escaped.
126
- - Offer one-shot approval for valid memory changes and rejection only for invalid inputs.
127
- - Prevent session-wide approval from automatically accepting queued requests that require individual approval.
128
-
129
- ## 9.1.598
130
-
131
- - Distinguish lower-bound input counts from exact counts in upstream context rejections.
132
- - Reduce the output allowance once for a lower-bound rejection without discarding messages or tools; retain cancellation and bounded retry behavior.
133
- - Verify moving tokenization thresholds and exact-count counterexamples in the compiled program.
134
- - Include the previously missing package notes for 9.1.595 through 9.1.597.
135
- - Restore the original 150 rotating activity words without additional model requests.
136
- - Keep media payloads out of AgentSpine's text-only hook input while preserving complete model attachments and policy checks.
137
-
138
- ## 9.1.597
139
-
140
- - Classify explicit context-limit errors wrapped in HTTP 502 and allow one corrected request with a smaller output allowance.
141
- - Preserve messages, tools, cancellation, and the rule against replaying an already-started response.
142
- - Known limitation: this initial correction treated lower-bound input counts as exact. The additional correction is included in 9.1.598.
143
-
144
- ## 9.1.596
145
-
146
- - Distinguish owner cancellation from automatic turn interruption.
147
-
148
- ## 9.1.595
149
-
150
- - Defer tool and skill descriptions until they are needed, while keeping discovery available.
151
- - Bound greeting context without deleting saved task history or weakening permissions.
152
-
153
- ## 9.1.594
154
-
155
- - Preserve private Telegram replies while group messages wait, and retain slash-command routing.
156
- - Honor long Retry-After delays and restore remaining cooldowns after resuming a session.
157
- - Continue one settled tool step after rejected narration without publishing that narration or weakening final-answer review.
158
- - Restore bounded write-continuation recovery, shell timeouts, task controls and session recovery.
159
- - Keep input, quota rows, activity, task expansion and source-labelled tool output visible during streaming and history navigation.
160
- - Require complete console regression evidence before packaging and verify matching public update metadata.
161
-
162
- ## 9.1.593
163
-
164
- - Keep the input and both status rows visible after delayed startup messages, without clearing terminal scrollback.
165
-
166
- ## 9.1.592
167
-
168
- - Preserve explicit startup permissions and remember deliberate permission selections for new sessions.
169
- - Prevent overlapping session selections from closing the session being resumed.
170
- - Restore rotating activity words, cumulative usage, step number and local date/time alongside live timing and token estimates.
171
- - Allow protected-source reads redirected to literal null sinks without removing protected-write checks.
172
- - Include the bounded startup and reload corrections prepared in 9.1.591.
173
-
174
- ## 9.1.591
175
-
176
- - Finish the managed model refresh before opening a session, with a bounded catalog request.
177
- - Reopen continued sessions through one reload so an overdue loop cannot race a second reload.
178
- - Preserve additional workspace directories through the reload path.
179
- - Keep the existing input, footer, quota rows, loop countdown and compaction display unchanged.
180
-
181
- ## 9.1.590
182
-
183
- - Retain complete bounded instructions without the extra 8 KiB AgentSpine rejection.
184
- - Keep routine AgentSpine preparation out of the visible transcript while retaining source and receipt checks.
185
- - Preserve the active King profile when unrelated host settings are inherited.
186
- - Restore the loop countdown and replace the previous recurring loop when scheduling a new one.
187
- - Retain the approved compaction display and queued reload behavior.
188
-
189
- ## 9.1.589
190
-
191
- - Bundle reviewed AgentSpine and Translate Native sources with verified update manifests.
192
- - Preserve the active King profile when loading agent context.
193
- - Keep required response-review tools available and record generated-response usage even when review rejects the response.
194
- - Apply mention-required group routing in the managed channel integration.
195
- - Show compaction activity and effective thresholds in the terminal.
196
- - Preserve the early-compaction working budget and request-boundary safety margin across updates.
197
- - Use the selected language throughout the startup update dialog, progress and queued-update messages.
198
- - Keep technical integration identifiers and licenses intact while neutralizing visible runtime error messages.
199
-
200
- Installation does not restart existing sessions. A running session loads the new code on its next start.
106
+
107
+ - 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.
108
+ - 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.
109
+ - 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.
110
+
111
+ ## 9.1.602
112
+
113
+ - 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.
114
+ - 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.
115
+
116
+ ## 9.1.601
117
+
118
+ - Keep terminal input queued when background work wins admission, preserving order and showing each input only once.
119
+ - Replace eligible older tool outputs with verified private-file references in model requests while preserving complete history and current-turn results.
120
+ - Retain full output when recovery is unavailable, denied, altered, or no longer matches the active context.
121
+ - Require source and compiled-program checks for recovery, permission boundaries, and retained-history accounting.
122
+ - Retry one rate-limited native response review using the persisted provider cooldown and the unchanged candidate; never replay completed tools or release unchecked text.
123
+ - Reserve up to 2,048 output tokens for input-estimation differences without shrinking the model context window or changing smaller explicit output caps. Larger differences remain subject to bounded context-error recovery.
124
+
125
+ ## 9.1.600
126
+
127
+ - Bound each response-review attempt to 120 seconds while retaining the 30-second default for generic reviewers and the existing maximum of two outer attempts.
128
+ - Allow up to 90 seconds for first meaningful native-review text once per attempt, then renew a 30-second idle budget on meaningful text and ordered release and verification stages without extending the absolute deadline.
129
+ - Preserve cancellation, exact response binding, receipt expiry, and authorization; these changes do not establish a fix for live HTTP 502 errors.
130
+ - Pin AgentSpine 0.73.0 and Translate Native 6.155.0; keep the guard protocol at 6.20.0.
131
+
132
+ ## 9.1.599
133
+
134
+ - Show localized personal-memory actions and complete previews of settings changes or remembered text, with terminal control characters escaped.
135
+ - Offer one-shot approval for valid memory changes and rejection only for invalid inputs.
136
+ - Prevent session-wide approval from automatically accepting queued requests that require individual approval.
137
+
138
+ ## 9.1.598
139
+
140
+ - Distinguish lower-bound input counts from exact counts in upstream context rejections.
141
+ - Reduce the output allowance once for a lower-bound rejection without discarding messages or tools; retain cancellation and bounded retry behavior.
142
+ - Verify moving tokenization thresholds and exact-count counterexamples in the compiled program.
143
+ - Include the previously missing package notes for 9.1.595 through 9.1.597.
144
+ - Restore the original 150 rotating activity words without additional model requests.
145
+ - Keep media payloads out of AgentSpine's text-only hook input while preserving complete model attachments and policy checks.
146
+
147
+ ## 9.1.597
148
+
149
+ - Classify explicit context-limit errors wrapped in HTTP 502 and allow one corrected request with a smaller output allowance.
150
+ - Preserve messages, tools, cancellation, and the rule against replaying an already-started response.
151
+ - Known limitation: this initial correction treated lower-bound input counts as exact. The additional correction is included in 9.1.598.
152
+
153
+ ## 9.1.596
154
+
155
+ - Distinguish owner cancellation from automatic turn interruption.
156
+
157
+ ## 9.1.595
158
+
159
+ - Defer tool and skill descriptions until they are needed, while keeping discovery available.
160
+ - Bound greeting context without deleting saved task history or weakening permissions.
161
+
162
+ ## 9.1.594
163
+
164
+ - Preserve private Telegram replies while group messages wait, and retain slash-command routing.
165
+ - Honor long Retry-After delays and restore remaining cooldowns after resuming a session.
166
+ - Continue one settled tool step after rejected narration without publishing that narration or weakening final-answer review.
167
+ - Restore bounded write-continuation recovery, shell timeouts, task controls and session recovery.
168
+ - Keep input, quota rows, activity, task expansion and source-labelled tool output visible during streaming and history navigation.
169
+ - Require complete console regression evidence before packaging and verify matching public update metadata.
170
+
171
+ ## 9.1.593
172
+
173
+ - Keep the input and both status rows visible after delayed startup messages, without clearing terminal scrollback.
174
+
175
+ ## 9.1.592
176
+
177
+ - Preserve explicit startup permissions and remember deliberate permission selections for new sessions.
178
+ - Prevent overlapping session selections from closing the session being resumed.
179
+ - Restore rotating activity words, cumulative usage, step number and local date/time alongside live timing and token estimates.
180
+ - Allow protected-source reads redirected to literal null sinks without removing protected-write checks.
181
+ - Include the bounded startup and reload corrections prepared in 9.1.591.
182
+
183
+ ## 9.1.591
184
+
185
+ - Finish the managed model refresh before opening a session, with a bounded catalog request.
186
+ - Reopen continued sessions through one reload so an overdue loop cannot race a second reload.
187
+ - Preserve additional workspace directories through the reload path.
188
+ - Keep the existing input, footer, quota rows, loop countdown and compaction display unchanged.
189
+
190
+ ## 9.1.590
191
+
192
+ - Retain complete bounded instructions without the extra 8 KiB AgentSpine rejection.
193
+ - Keep routine AgentSpine preparation out of the visible transcript while retaining source and receipt checks.
194
+ - Preserve the active King profile when unrelated host settings are inherited.
195
+ - Restore the loop countdown and replace the previous recurring loop when scheduling a new one.
196
+ - Retain the approved compaction display and queued reload behavior.
197
+
198
+ ## 9.1.589
199
+
200
+ - Bundle reviewed AgentSpine and Translate Native sources with verified update manifests.
201
+ - Preserve the active King profile when loading agent context.
202
+ - Keep required response-review tools available and record generated-response usage even when review rejects the response.
203
+ - Apply mention-required group routing in the managed channel integration.
204
+ - Show compaction activity and effective thresholds in the terminal.
205
+ - Preserve the early-compaction working budget and request-boundary safety margin across updates.
206
+ - Use the selected language throughout the startup update dialog, progress and queued-update messages.
207
+ - Keep technical integration identifiers and licenses intact while neutralizing visible runtime error messages.
208
+
209
+ Installation does not restart existing sessions. A running session loads the new code on its next start.
package/LIESMICH.txt CHANGED
@@ -1,8 +1,8 @@
1
- BLUN King für macOS und Windows
2
- ===============================
3
-
4
- Voraussetzung
5
- -------------
1
+ BLUN King für macOS und Windows
2
+ ===============================
3
+
4
+ Voraussetzung
5
+ -------------
6
6
  Node.js 24.15 oder neuer muss installiert sein. npm gehört zur Node.js-Installation.
7
7
  Unter Windows wird zusätzlich Git Bash aus Git for Windows benötigt.
8
8
  Nach der Installation ein neues Terminal öffnen und mit node --version,
@@ -21,54 +21,54 @@ Warteschlangenregel. /question öffnet noch ausstehende Rückfragen erneut.
21
21
 
22
22
  Die vollständige Syntax, Grenzen und Voraussetzungen stehen in README.md.
23
23
  Anfrage-Bytes sind keine Tokenzahlen und kein Abrechnungsnachweis.
24
-
25
- Installation
26
- ------------
27
- Die geprüfte Version exakt global installieren:
28
-
29
- npm install -g blun-king-cli@9.1.615
30
-
31
- Start
32
- -----
33
-
34
- blun Dieselbe CLI, ohne Telegram automatisch anzubinden
35
- king Dieselbe CLI, mit automatisch angebundenem Telegram-Kanal
36
-
37
- Beide Startbefehle verwenden dieselbe Version, dasselbe Konto, dasselbe Modell
38
- und dieselben Befehle.
39
-
40
- Nachweisbare Arbeitsabläufe
41
- ---------------------------
42
-
43
- blun proof Prüfergebnisse und Artefakte mit SHA-256 belegen
44
- blun brief Einen versionierten Projektauftrag anlegen
45
- blun handoff Eine Sitzung zwischen CLI, Desktop und Web übergeben
46
- blun replay Einen bereinigten Arbeitsverlauf erzeugen
47
- blun guard Belegintegrität und aktuelle Artefakte prüfen
48
- blun demo Eine bereinigte statische Projektdemo erzeugen
49
- blun workspace Isolierte Git-Arbeitsbereiche verwalten
50
-
51
- Alle Befehle funktionieren identisch mit `king`.
52
-
53
- Aktualisieren
54
- -------------
55
-
56
- blun update
57
-
58
- `king update` und `upgrade` sind gleichwertig. Der Updater bleibt im installierten
59
- Stable- oder Next-Kanal, verhindert Rückstufungen und installiert nur eine zuvor
60
- aufgelöste exakte Paketversion.
61
-
62
- Beim ersten Start in der Konsole /login eingeben. Der Browser öffnet den
63
- BLUN-OAuth-Login.
64
- Ein API-Schlüssel wird weder abgefragt noch in die Konfiguration geschrieben.
65
-
66
- Telegram einrichten
67
- --------------------
68
- 1. Einen Bot bei BotFather anlegen.
69
- 2. Den Bot-Token in dieser Datei eintragen:
70
-
71
- ~/.blun/channels/telegram/.env
72
-
73
- 3. `king` starten und den angezeigten Pairing-Code mit
74
- /telegram:access pair CODE bestätigen.
24
+
25
+ Installation
26
+ ------------
27
+ Die geprüfte Version exakt global installieren:
28
+
29
+ npm install -g blun-king-cli@9.1.617
30
+
31
+ Start
32
+ -----
33
+
34
+ blun Dieselbe CLI, ohne Telegram automatisch anzubinden
35
+ king Dieselbe CLI, mit automatisch angebundenem Telegram-Kanal
36
+
37
+ Beide Startbefehle verwenden dieselbe Version, dasselbe Konto, dasselbe Modell
38
+ und dieselben Befehle.
39
+
40
+ Nachweisbare Arbeitsabläufe
41
+ ---------------------------
42
+
43
+ blun proof Prüfergebnisse und Artefakte mit SHA-256 belegen
44
+ blun brief Einen versionierten Projektauftrag anlegen
45
+ blun handoff Eine Sitzung zwischen CLI, Desktop und Web übergeben
46
+ blun replay Einen bereinigten Arbeitsverlauf erzeugen
47
+ blun guard Belegintegrität und aktuelle Artefakte prüfen
48
+ blun demo Eine bereinigte statische Projektdemo erzeugen
49
+ blun workspace Isolierte Git-Arbeitsbereiche verwalten
50
+
51
+ Alle Befehle funktionieren identisch mit `king`.
52
+
53
+ Aktualisieren
54
+ -------------
55
+
56
+ blun update
57
+
58
+ `king update` und `upgrade` sind gleichwertig. Der Updater bleibt im installierten
59
+ Stable- oder Next-Kanal, verhindert Rückstufungen und installiert nur eine zuvor
60
+ aufgelöste exakte Paketversion.
61
+
62
+ Beim ersten Start in der Konsole /login eingeben. Der Browser öffnet den
63
+ BLUN-OAuth-Login.
64
+ Ein API-Schlüssel wird weder abgefragt noch in die Konfiguration geschrieben.
65
+
66
+ Telegram einrichten
67
+ --------------------
68
+ 1. Einen Bot bei BotFather anlegen.
69
+ 2. Den Bot-Token in dieser Datei eintragen:
70
+
71
+ ~/.blun/channels/telegram/.env
72
+
73
+ 3. `king` starten und den angezeigten Pairing-Code mit
74
+ /telegram:access pair CODE bestätigen.
package/README.md CHANGED
@@ -1,17 +1,17 @@
1
- # blun-king-cli — npm-Distribution
2
-
3
- Dieses Verzeichnis ist das Gerüst des öffentlichen npm-Pakets `blun-king-cli`
4
- (Erstveröffentlichung 8.0.0, 06.07.2026, Account `blunking`).
5
-
6
- ## Installation
7
-
8
- Voraussetzung ist Node.js 24.15 oder neuer. Die geprüfte Version wird exakt
9
- installiert:
10
-
11
- ```powershell
12
- npm install -g blun-king-cli@9.1.615
13
- ```
14
-
1
+ # blun-king-cli — npm-Distribution
2
+
3
+ Dieses Verzeichnis ist das Gerüst des öffentlichen npm-Pakets `blun-king-cli`
4
+ (Erstveröffentlichung 8.0.0, 06.07.2026, Account `blunking`).
5
+
6
+ ## Installation
7
+
8
+ Voraussetzung ist Node.js 24.15 oder neuer. Die geprüfte Version wird exakt
9
+ installiert:
10
+
11
+ ```powershell
12
+ npm install -g blun-king-cli@9.1.617
13
+ ```
14
+
15
15
  ### Windows: Node.js, npm und Git Bash
16
16
 
17
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:
@@ -56,78 +56,78 @@ Das Transportprotokoll erhält für jeden HTTP-Versuch eine eigene `x-request-id
56
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
57
 
58
58
  ## Reproduzierbares Staging und Packen
59
-
60
- Der Schritt baut nichts, installiert nichts und veröffentlicht nichts. Vorher müssen
61
- `apps/blun-king/dist/main.mjs`, `dist-web`, die Darwin- und Windows-Natives sowie
62
- `plugins/telegram/dist` bereits frisch gebaut sein.
63
-
64
- Das Staging landet standardmäßig
65
- unter `.stage/package`, das Tarball unter `.stage/artifacts`.
66
- `BLUN_NPM_STAGE_DIR` und `BLUN_NPM_ARTIFACT_DIR` können beide Ziele überschreiben;
67
- beim direkten Skriptaufruf stehen zusätzlich `--output` und `--artifacts` bereit.
68
-
69
- Der Schritt validiert alle Pflichtartefakte vor dem Leeren des alten Stagings. Er
70
- kopiert nur die Paket-Hülle, `blun.mjs`, `dist-web`, `native`, Telegrams
71
- `dist`/Manifest/Commands und die Repo-Skills.
72
-
73
- ## Startmodi
74
-
75
- `blun` startet die lokale Konsole, ohne Telegram automatisch anzubinden. `king`
76
- startet dieselbe Konsole und bindet den eingerichteten Telegram-Kanal automatisch
77
- an. Version, Konto, Modell und Befehle sind ansonsten identisch. Der Unterschied
78
- gilt nur für den laufenden Prozess; die gespeicherte
79
- Plugin-Konfiguration wird nicht umgeschrieben.
80
-
81
- Beim ersten Start werden das Telegram-Plugin und die mitgelieferten Skills
82
- eingerichtet. Die Anmeldung erfolgt anschließend in der
83
- Konsole mit `/login` über den BLUN-OAuth-Server. Das Paket erzeugt keine
84
- statische Anbieter- oder API-Key-Konfiguration.
85
-
86
- ## Persönliches Gedächtnis
87
-
88
- Seit Version 9.1.599 zeigt BLUN King Freigaben für das persönliche Gedächtnis mit übersetzten Aktionstiteln und vollständigen Vorschauen der tatsächlichen Einstellungsänderungen oder des zu speichernden Textes. Gültige Änderungen lassen sich nur einmalig freigeben, ungültige Eingaben nur ablehnen. Eine Sitzungsfreigabe genehmigt solche wartenden Anfragen nicht automatisch. Steuerzeichen werden sichtbar maskiert; der Originalinhalt bleibt unverändert.
89
-
90
- ## Zeitgrenzen für die Antwortprüfung
91
-
92
- Version 9.1.600 begrenzt die Antwortprüfung pro äußerem Prüfversuch auf insgesamt 120 Sekunden. Allgemeine Prüfer behalten die bisherige Frist von 30 Sekunden. Bei der nativen Sprachprüfung stehen nach dem bestätigten Start einmalig bis zu 90 Sekunden für den ersten inhaltlichen Text bereit; auch dabei gilt die Gesamtgrenze. Inhaltlicher Text innerhalb der zulässigen Ausgabelänge sowie die geordneten Übergänge zur Freigabe und zur Belegprüfung setzen die Wartefrist jeweils auf 30 Sekunden zurück, ohne die Gesamtgrenze zu verlängern. Es bleibt bei höchstens zwei äußeren Prüfversuchen.
93
-
94
- Abbruch, exakte Bindung an den Antworttext, Belegablauf und Autorisierung bleiben unverändert. Damit ist keine Behebung von HTTP-502-Fehlern im Live-Betrieb nachgewiesen.
95
-
96
- ## Festgelegte Komponentenstände
97
-
98
- - AgentSpine 0.73.0, Commit `38cb94760b19e3a82e7efdf12538a1adf5324964`.
99
- - Translate Native 6.155.0, Commit `21efc66da8f77992c8c63ac0f145a106c31e7eb2`.
100
- - Guard-Protokoll unverändert auf 6.20.0.
101
-
102
- ## Nachweisbare Arbeitsabläufe
103
-
104
- Version 9.1.0 enthält sieben zusätzliche, getrennt nutzbare Befehlsgruppen:
105
-
106
- - `proof` belegt Prüfungen und Artefakte mit SHA-256.
107
- - `brief` erstellt einen versionierten Projektauftrag.
108
- - `handoff` übergibt eine Sitzung zwischen CLI, Desktop und Web.
109
- - `replay` erzeugt einen bereinigten Arbeitsverlauf.
110
- - `guard` prüft Belegintegrität und aktuelle Artefakte.
111
- - `demo` erzeugt eine bereinigte statische Projektdemo.
112
- - `workspace` verwaltet isolierte Git-Arbeitsbereiche.
113
-
114
- Sie stehen unter `blun` und `king` identisch zur Verfügung.
115
-
116
- ## Aktualisieren
117
-
118
- `blun update`, `king update` und die jeweilige Variante `upgrade` verwenden
119
- denselben abgesicherten Updater. Er bleibt im installierten Stable- oder
120
- Next-Kanal, verhindert Rückstufungen und übergibt npm ausschließlich eine zuvor
121
- aufgelöste exakte Paketversion.
122
-
123
- ## Absturzdiagnose unter Windows
124
-
125
- Startfehler und unbehandelte Ausnahmen werden im begrenzten, bereinigten Protokoll `BLUN_HOME/diagnostics/runtime-exits.jsonl` erfasst. Die Diagnose startet keinen neuen Prozess und ändert beim Start keine Windows-Registrywerte.
126
-
127
- Ausführliche Node-Berichte sind optional. Nur `BLUN_NODE_CRASH_REPORTS=1` aktiviert sie für den gestarteten Prozess. Die Berichte liegen unter `BLUN_HOME/diagnostics/crash-dumps`. Umgebungsvariablen und Netzwerkinformationen werden ausgeschlossen; Programmargumente, Dateipfade und weitere sensible Prozessdaten können trotzdem enthalten sein. Berichte vor einer Weitergabe prüfen.
128
-
129
- Drei gemeinsam reservierte Plätze begrenzen die Anzahl dieser Node-Berichte, nicht deren Dateigröße. Ein ordentlich beendeter Prozess gibt seine Reservierung frei; ein späterer Prozess kann den Bericht dieses Platzes ersetzen. Aktive oder unklar verwaiste Reservierungen werden nicht automatisch entfernt. Sind alle Plätze belegt oder liegen alte Berichte mit Zufallskennung vor, bleiben neue Detailberichte aus, bis der Betreiber diese Dateien ausdrücklich geprüft und bereinigt hat. Der normale Start und das kleine Fehlerprotokoll bleiben davon unabhängig. Sitzungen und fremde Dateien werden nicht entfernt.
130
-
131
- Native Windows-Dumps sind davon getrennt. Der mitgelieferte Helfer `bin/windows-node-crash-dump.cjs` bietet `--query-wer` für eine reine Abfrage. Eine Änderung erfordert ausdrücklich `--configure-wer --confirm-system-wide`, ein gesetztes `BLUN_HOME` und ausreichende Windows-Rechte. Sie betrifft alle Prozesse namens `node.exe`, nicht nur BLUN: drei Minidumps im angegebenen Diagnoseordner. Bei einem Teilfehler nennt die JSON-Ausgabe die bereits gesetzten Werte. Der normale Start ruft diesen Befehl niemals auf.
132
-
133
- Node-Berichte erfassen unterstützte Node-Fehler; sie sind kein Beleg dafür, dass jeder native Windows-Abbruch erfasst wird. Die Funktion lässt den ursprünglichen Fehler und den vorgesehenen Prozessabbruch bestehen.
59
+
60
+ Der Schritt baut nichts, installiert nichts und veröffentlicht nichts. Vorher müssen
61
+ `apps/blun-king/dist/main.mjs`, `dist-web`, die Darwin- und Windows-Natives sowie
62
+ `plugins/telegram/dist` bereits frisch gebaut sein.
63
+
64
+ Das Staging landet standardmäßig
65
+ unter `.stage/package`, das Tarball unter `.stage/artifacts`.
66
+ `BLUN_NPM_STAGE_DIR` und `BLUN_NPM_ARTIFACT_DIR` können beide Ziele überschreiben;
67
+ beim direkten Skriptaufruf stehen zusätzlich `--output` und `--artifacts` bereit.
68
+
69
+ Der Schritt validiert alle Pflichtartefakte vor dem Leeren des alten Stagings. Er
70
+ kopiert nur die Paket-Hülle, `blun.mjs`, `dist-web`, `native`, Telegrams
71
+ `dist`/Manifest/Commands und die Repo-Skills.
72
+
73
+ ## Startmodi
74
+
75
+ `blun` startet die lokale Konsole, ohne Telegram automatisch anzubinden. `king`
76
+ startet dieselbe Konsole und bindet den eingerichteten Telegram-Kanal automatisch
77
+ an. Version, Konto, Modell und Befehle sind ansonsten identisch. Der Unterschied
78
+ gilt nur für den laufenden Prozess; die gespeicherte
79
+ Plugin-Konfiguration wird nicht umgeschrieben.
80
+
81
+ Beim ersten Start werden das Telegram-Plugin und die mitgelieferten Skills
82
+ eingerichtet. Die Anmeldung erfolgt anschließend in der
83
+ Konsole mit `/login` über den BLUN-OAuth-Server. Das Paket erzeugt keine
84
+ statische Anbieter- oder API-Key-Konfiguration.
85
+
86
+ ## Persönliches Gedächtnis
87
+
88
+ Seit Version 9.1.599 zeigt BLUN King Freigaben für das persönliche Gedächtnis mit übersetzten Aktionstiteln und vollständigen Vorschauen der tatsächlichen Einstellungsänderungen oder des zu speichernden Textes. Gültige Änderungen lassen sich nur einmalig freigeben, ungültige Eingaben nur ablehnen. Eine Sitzungsfreigabe genehmigt solche wartenden Anfragen nicht automatisch. Steuerzeichen werden sichtbar maskiert; der Originalinhalt bleibt unverändert.
89
+
90
+ ## Zeitgrenzen für die Antwortprüfung
91
+
92
+ Version 9.1.600 begrenzt die Antwortprüfung pro äußerem Prüfversuch auf insgesamt 120 Sekunden. Allgemeine Prüfer behalten die bisherige Frist von 30 Sekunden. Bei der nativen Sprachprüfung stehen nach dem bestätigten Start einmalig bis zu 90 Sekunden für den ersten inhaltlichen Text bereit; auch dabei gilt die Gesamtgrenze. Inhaltlicher Text innerhalb der zulässigen Ausgabelänge sowie die geordneten Übergänge zur Freigabe und zur Belegprüfung setzen die Wartefrist jeweils auf 30 Sekunden zurück, ohne die Gesamtgrenze zu verlängern. Es bleibt bei höchstens zwei äußeren Prüfversuchen.
93
+
94
+ Abbruch, exakte Bindung an den Antworttext, Belegablauf und Autorisierung bleiben unverändert. Damit ist keine Behebung von HTTP-502-Fehlern im Live-Betrieb nachgewiesen.
95
+
96
+ ## Festgelegte Komponentenstände
97
+
98
+ - AgentSpine 0.73.0, Commit `38cb94760b19e3a82e7efdf12538a1adf5324964`.
99
+ - Translate Native 6.155.0, Commit `21efc66da8f77992c8c63ac0f145a106c31e7eb2`.
100
+ - Guard-Protokoll unverändert auf 6.20.0.
101
+
102
+ ## Nachweisbare Arbeitsabläufe
103
+
104
+ Version 9.1.0 enthält sieben zusätzliche, getrennt nutzbare Befehlsgruppen:
105
+
106
+ - `proof` belegt Prüfungen und Artefakte mit SHA-256.
107
+ - `brief` erstellt einen versionierten Projektauftrag.
108
+ - `handoff` übergibt eine Sitzung zwischen CLI, Desktop und Web.
109
+ - `replay` erzeugt einen bereinigten Arbeitsverlauf.
110
+ - `guard` prüft Belegintegrität und aktuelle Artefakte.
111
+ - `demo` erzeugt eine bereinigte statische Projektdemo.
112
+ - `workspace` verwaltet isolierte Git-Arbeitsbereiche.
113
+
114
+ Sie stehen unter `blun` und `king` identisch zur Verfügung.
115
+
116
+ ## Aktualisieren
117
+
118
+ `blun update`, `king update` und die jeweilige Variante `upgrade` verwenden
119
+ denselben abgesicherten Updater. Er bleibt im installierten Stable- oder
120
+ Next-Kanal, verhindert Rückstufungen und übergibt npm ausschließlich eine zuvor
121
+ aufgelöste exakte Paketversion.
122
+
123
+ ## Absturzdiagnose unter Windows
124
+
125
+ Startfehler und unbehandelte Ausnahmen werden im begrenzten, bereinigten Protokoll `BLUN_HOME/diagnostics/runtime-exits.jsonl` erfasst. Die Diagnose startet keinen neuen Prozess und ändert beim Start keine Windows-Registrywerte.
126
+
127
+ Ausführliche Node-Berichte sind optional. Nur `BLUN_NODE_CRASH_REPORTS=1` aktiviert sie für den gestarteten Prozess. Die Berichte liegen unter `BLUN_HOME/diagnostics/crash-dumps`. Umgebungsvariablen und Netzwerkinformationen werden ausgeschlossen; Programmargumente, Dateipfade und weitere sensible Prozessdaten können trotzdem enthalten sein. Berichte vor einer Weitergabe prüfen.
128
+
129
+ Drei gemeinsam reservierte Plätze begrenzen die Anzahl dieser Node-Berichte, nicht deren Dateigröße. Ein ordentlich beendeter Prozess gibt seine Reservierung frei; ein späterer Prozess kann den Bericht dieses Platzes ersetzen. Aktive oder unklar verwaiste Reservierungen werden nicht automatisch entfernt. Sind alle Plätze belegt oder liegen alte Berichte mit Zufallskennung vor, bleiben neue Detailberichte aus, bis der Betreiber diese Dateien ausdrücklich geprüft und bereinigt hat. Der normale Start und das kleine Fehlerprotokoll bleiben davon unabhängig. Sitzungen und fremde Dateien werden nicht entfernt.
130
+
131
+ Native Windows-Dumps sind davon getrennt. Der mitgelieferte Helfer `bin/windows-node-crash-dump.cjs` bietet `--query-wer` für eine reine Abfrage. Eine Änderung erfordert ausdrücklich `--configure-wer --confirm-system-wide`, ein gesetztes `BLUN_HOME` und ausreichende Windows-Rechte. Sie betrifft alle Prozesse namens `node.exe`, nicht nur BLUN: drei Minidumps im angegebenen Diagnoseordner. Bei einem Teilfehler nennt die JSON-Ausgabe die bereits gesetzten Werte. Der normale Start ruft diesen Befehl niemals auf.
132
+
133
+ Node-Berichte erfassen unterstützte Node-Fehler; sie sind kein Beleg dafür, dass jeder native Windows-Abbruch erfasst wird. Die Funktion lässt den ursprünglichen Fehler und den vorgesehenen Prozessabbruch bestehen.
@@ -4,7 +4,7 @@ const fs = require('node:fs');
4
4
  const path = require('node:path');
5
5
  const { pathToFileURL } = require('node:url');
6
6
 
7
- const { acquireSharedRuntimeLease } = require('./update-lease');
7
+ const { acquireSharedRuntimeLease, tryAcquireUpdateLease } = require('./update-lease');
8
8
  const { installWindowsNodeCrashDump } = require('./windows-node-crash-dump.cjs');
9
9
  const { recordRuntimeExit } = require('./runtime-exit-ledger.cjs');
10
10
  const { isStandaloneHelpRequest } = require('./launcher-mode');
@@ -19,15 +19,25 @@ async function runCoreBootstrap() {
19
19
  }
20
20
  const packageRoot = path.resolve(__dirname, '..');
21
21
  const mainPath = path.join(packageRoot, 'blun.mjs');
22
- let leaseResult;
22
+ let leaseResult;
23
+ let profileLease;
23
24
 
24
25
  try {
25
26
  leaseResult = await acquireSharedRuntimeLease({ packageRoot });
26
27
  if (!leaseResult.acquired) throw new Error('RUNTIME_PROTECTION_UNAVAILABLE');
27
- leaseResult.lease.assertOwned();
28
+ leaseResult.lease.assertOwned();
29
+ if (process.env.BLUN_PROFILE_HANDOFF === '1') {
30
+ if (!path.isAbsolute(process.env.BLUN_HOME || '')) throw new Error('PROFILE_RUNTIME_UNAVAILABLE');
31
+ const result = await tryAcquireUpdateLease({ packageRoot: process.env.BLUN_HOME, role: 'profile' });
32
+ if (!result.acquired) throw Object.assign(new Error(`PROFILE_RUNTIME_${result.reason.toUpperCase()}`),
33
+ { code: result.reason === 'busy' ? 'PROFILE_RUNTIME_BUSY' : 'PROFILE_RUNTIME_UNAVAILABLE' });
34
+ profileLease = result.lease;
35
+ profileLease.assertOwned();
36
+ }
28
37
  process.argv = [process.execPath, mainPath, ...process.argv.slice(2)];
29
38
  await import(pathToFileURL(mainPath).href);
30
- leaseResult.lease.assertOwned();
39
+ leaseResult.lease.assertOwned();
40
+ profileLease?.assertOwned();
31
41
  } catch (error) {
32
42
  if (!informational) {
33
43
  try {
@@ -36,7 +46,8 @@ async function runCoreBootstrap() {
36
46
  kind: 'bootstrap-failure', phase: 'startup', error });
37
47
  } catch {}
38
48
  }
39
- try { diagnostics?.dispose(); } catch {}
49
+ try { diagnostics?.dispose(); } catch {}
50
+ try { await profileLease?.release(); } catch {}
40
51
  try { await leaseResult?.lease?.release(); }
41
52
  catch (leaseError) {
42
53
  if (!informational) {
@@ -52,11 +63,16 @@ async function runCoreBootstrap() {
52
63
  // The bundled CLI loads package assets lazily after module evaluation. Keep
53
64
  // the install lease for this process's lifetime, without keeping print/help
54
65
  // commands alive solely because of the owner server.
55
- leaseResult.lease.unref();
66
+ leaseResult.lease.unref();
67
+ profileLease?.unref();
56
68
 
57
69
  if (process.connected) {
58
70
  try {
59
- process.send({ type: CORE_LOADED_MESSAGE }, () => {
71
+ process.send({ type: CORE_LOADED_MESSAGE }, () => {
72
+ if (process.env.BLUN_PROFILE_HANDOFF === '1') {
73
+ process.channel?.unref();
74
+ return;
75
+ }
60
76
  try {
61
77
  process.disconnect();
62
78
  } catch {}
@@ -70,7 +86,7 @@ if (require.main === module) {
70
86
  void runCoreBootstrap().catch((error) => {
71
87
  const message = error && error.message ? error.message : String(error);
72
88
  fs.writeSync(process.stderr.fd, `BLUN Start fehlgeschlagen: ${message}\n`);
73
- process.exit(1);
89
+ process.exit(error?.code === 'PROFILE_RUNTIME_BUSY' ? 75 : 1);
74
90
  });
75
91
  }
76
92