blun-king-cli 9.1.610 → 9.1.611

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,9 @@
1
1
  # BLUN King Changelog
2
2
 
3
+ ## 9.1.611
4
+
5
+ - Große Verdichtungsanfragen teilt King jetzt nach Anfragegröße in chronologische Schritte auf. Passt eine einzelne Nachricht nicht unter die Byte-Grenze, bleibt der gespeicherte Verlauf unverändert. So überschreitet die Verdichtungsanfrage die Servergrenze nicht mehr, obwohl im Tokenfenster noch Platz ist. Eine kürzere Modellwartezeit oder geringerer Tokenverbrauch ist damit nicht belegt.
6
+
3
7
  ## 9.1.610
4
8
 
5
9
  - Mit `@all` erreichst du in einer Telegram-Gruppe alle angebundenen Kings. Nachrichten ohne passende Erwähnung bleiben vom Modellkontext ausgeschlossen, wenn die Erwähnungsregel aktiv ist.
package/LIESMICH.txt CHANGED
@@ -26,7 +26,7 @@ Installation
26
26
  ------------
27
27
  Die geprüfte Version exakt global installieren:
28
28
 
29
- npm install -g blun-king-cli@9.1.610
29
+ npm install -g blun-king-cli@9.1.611
30
30
 
31
31
  Start
32
32
  -----
package/README.md CHANGED
@@ -9,7 +9,7 @@ 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.610
12
+ npm install -g blun-king-cli@9.1.611
13
13
  ```
14
14
 
15
15
  ### Windows: Node.js, npm und Git Bash
@@ -1,42 +1,42 @@
1
- 'use strict';
2
-
3
- const path = require('node:path');
4
-
5
- const PROFILE_NAME = /^[a-z0-9][a-z0-9_-]{0,31}$/u;
6
- const RESERVED = new Set(['doctor', 'export', 'help', 'login', 'mcp', 'server', 'tools', 'update', 'upgrade', 'version']);
7
-
8
- function profileName(value) {
9
- const name = String(value || '').trim().toLowerCase();
10
- if (!PROFILE_NAME.test(name)) {
11
- throw new Error('Profilnamen duerfen nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.');
12
- }
13
- return name;
14
- }
15
-
16
- function parseProfileLaunchArgs(args, mode) {
17
- const remaining = [...args];
18
- if (mode !== 'king') return { args: remaining, name: undefined };
19
-
20
- const flag = remaining.indexOf('--profile');
21
- if (flag >= 0) {
22
- if (flag + 1 >= remaining.length) throw new Error('--profile braucht einen Profilnamen.');
23
- const name = profileName(remaining[flag + 1]);
24
- remaining.splice(flag, 2);
25
- return { args: remaining, name };
26
- }
27
-
28
- if (remaining.length === 1 && !remaining[0].startsWith('-') && !RESERVED.has(remaining[0].toLowerCase())) {
29
- return { args: [], name: profileName(remaining[0]), implicit: true };
30
- }
31
- if (remaining.length === 2 && remaining.includes('-c')) {
32
- const candidate = remaining.find(value => value !== '-c');
33
- if (candidate && !candidate.startsWith('-')) return { args: ['-c'], name: profileName(candidate), implicit: true };
34
- }
35
- return { args: remaining, name: undefined };
36
- }
37
-
38
- function resolveSelectedProfile(sharedHome, name, pathImpl = path) {
39
- return pathImpl.join(sharedHome, 'profile', profileName(name));
40
- }
41
-
42
- module.exports = { parseProfileLaunchArgs, resolveSelectedProfile };
1
+ 'use strict';
2
+
3
+ const path = require('node:path');
4
+
5
+ const PROFILE_NAME = /^[a-z0-9][a-z0-9_-]{0,31}$/u;
6
+ const RESERVED = new Set(['doctor', 'export', 'help', 'login', 'mcp', 'server', 'tools', 'update', 'upgrade', 'version']);
7
+
8
+ function profileName(value) {
9
+ const name = String(value || '').trim().toLowerCase();
10
+ if (!PROFILE_NAME.test(name)) {
11
+ throw new Error('Profilnamen duerfen nur Buchstaben, Zahlen, Unterstriche und Bindestriche enthalten.');
12
+ }
13
+ return name;
14
+ }
15
+
16
+ function parseProfileLaunchArgs(args, mode) {
17
+ const remaining = [...args];
18
+ if (mode !== 'king') return { args: remaining, name: undefined };
19
+
20
+ const flag = remaining.indexOf('--profile');
21
+ if (flag >= 0) {
22
+ if (flag + 1 >= remaining.length) throw new Error('--profile braucht einen Profilnamen.');
23
+ const name = profileName(remaining[flag + 1]);
24
+ remaining.splice(flag, 2);
25
+ return { args: remaining, name };
26
+ }
27
+
28
+ if (remaining.length === 1 && !remaining[0].startsWith('-') && !RESERVED.has(remaining[0].toLowerCase())) {
29
+ return { args: [], name: profileName(remaining[0]), implicit: true };
30
+ }
31
+ if (remaining.length === 2 && remaining.includes('-c')) {
32
+ const candidate = remaining.find(value => value !== '-c');
33
+ if (candidate && !candidate.startsWith('-')) return { args: ['-c'], name: profileName(candidate), implicit: true };
34
+ }
35
+ return { args: remaining, name: undefined };
36
+ }
37
+
38
+ function resolveSelectedProfile(sharedHome, name, pathImpl = path) {
39
+ return pathImpl.join(sharedHome, 'profile', profileName(name));
40
+ }
41
+
42
+ module.exports = { parseProfileLaunchArgs, resolveSelectedProfile };