blun-king-cli 9.1.152 → 9.1.154
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 +4 -0
- package/README.md +4 -0
- package/bin/telegram-context-projection-policy.cjs +21 -1
- package/package.json +1 -1
package/LIESMICH.txt
CHANGED
|
@@ -149,6 +149,10 @@ Ab BLUN King 9.1.147 schützt die Mikroverdichtung die neuesten zwölf Nachricht
|
|
|
149
149
|
|
|
150
150
|
Ab BLUN King 9.1.148 werden auch im neuesten gemischten Telegram-Paket die ausdrücklich mit addressed=false markierten Kanalabschnitte verkleinert. Adressierte Abschnitte, Medien, Rohverlauf und Exporte bleiben unverändert. In Fredriks vermessenem Verlauf sinken elf nicht adressierte Abschnitte von 22.691 auf 2.750 Zeichen; das spart 19.941 Zeichen beziehungsweise rund 4.986 geschätzte Token pro wiederholter Anfrage.
|
|
151
151
|
|
|
152
|
+
Ab BLUN King 9.1.154 werden adressierte Telegram-Kanalabschnitte außerhalb der neuesten 20 Nachrichten auf eine 500 statt 1.000 Zeichen lange Vorschau mit Anfang und Ende begrenzt. Vollständige Kanalmetadaten, Anfang und Ende des Nachrichteninhalts, die neuesten 20 Nachrichten, Anhänge, Rohverlauf und Exporte bleiben unverändert. In Fredriks stabil vermessenem Schnappschuss werden sieben zusätzliche historische adressierte Abschnitte verkleinert. Das spart 3.500 Zeichen beziehungsweise rund 875 geschätzte Token pro wiederholter Anfrage.
|
|
153
|
+
|
|
154
|
+
Ab BLUN King 9.1.153 bewahrt die Projektion historischer Telegram-Kontexte die vollständigen Kanalmetadaten und den schließenden Kanal-Tag. Gekürzt wird ausschließlich der Nachrichteninhalt. Selbst bei realen, 161 Zeichen langen Telegram-Metadaten bleibt die Struktur innerhalb des 250-Zeichen-Budgets gültig. Die Projektion ist idempotent, nachfolgende adressierte Kanäle bleiben unverändert, und ein Kanalumschlag, der bereits ohne Inhalt das Budget überschreitet, wird unverändert durchgereicht.
|
|
155
|
+
|
|
152
156
|
Ab BLUN King 9.1.152 verlassen Argumente abgeschlossener Werkzeugaufrufe die aktive Modellprojektion nach vier statt nach acht neueren Nachrichten. Der rohe Sitzungsverlauf, unbeantwortete oder fehlerhaft formatierte Aufrufe, Medien, Werkzeugergebnisse und die neuesten vier Nachrichten bleiben unverändert. In Fredriks frisch vermessenem Sitzungsschnappschuss werden zwei zusätzliche abgeschlossene Aufrufe verdichtet; gegenüber 9.1.151 spart das weitere 244 Zeichen beziehungsweise rund 61 geschätzte Token pro wiederholter Anfrage.
|
|
153
157
|
|
|
154
158
|
Ab BLUN King 9.1.151 verlassen Argumente abgeschlossener Werkzeugaufrufe die aktive Modellprojektion nach acht statt nach zwölf neueren Nachrichten. Der rohe Sitzungsverlauf, unbeantwortete oder fehlerhaft formatierte Aufrufe, Medien, Werkzeugergebnisse und die neuesten acht Nachrichten bleiben unverändert. In Fredriks vermessenem Sitzungsschnappschuss werden drei zusätzliche abgeschlossene Aufrufe verdichtet; gegenüber 9.1.150 spart das weitere 317 Zeichen beziehungsweise rund 80 geschätzte Token pro wiederholter Anfrage.
|
package/README.md
CHANGED
|
@@ -157,6 +157,10 @@ Ab BLUN King 9.1.147 schützt die Mikroverdichtung die neuesten zwölf Nachricht
|
|
|
157
157
|
|
|
158
158
|
Ab BLUN King 9.1.148 werden auch im neuesten gemischten Telegram-Paket die ausdrücklich mit addressed=false markierten Kanalabschnitte verkleinert. Adressierte Abschnitte, Medien, Rohverlauf und Exporte bleiben unverändert. In Fredriks vermessenem Verlauf sinken elf nicht adressierte Abschnitte von 22.691 auf 2.750 Zeichen; das spart 19.941 Zeichen beziehungsweise rund 4.986 geschätzte Token pro wiederholter Anfrage.
|
|
159
159
|
|
|
160
|
+
Ab BLUN King 9.1.154 werden adressierte Telegram-Kanalabschnitte außerhalb der neuesten 20 Nachrichten auf eine 500 statt 1.000 Zeichen lange Vorschau mit Anfang und Ende begrenzt. Vollständige Kanalmetadaten, Anfang und Ende des Nachrichteninhalts, die neuesten 20 Nachrichten, Anhänge, Rohverlauf und Exporte bleiben unverändert. In Fredriks stabil vermessenem Schnappschuss werden sieben zusätzliche historische adressierte Abschnitte verkleinert. Das spart 3.500 Zeichen beziehungsweise rund 875 geschätzte Token pro wiederholter Anfrage.
|
|
161
|
+
|
|
162
|
+
Ab BLUN King 9.1.153 bewahrt die Projektion historischer Telegram-Kontexte die vollständigen Kanalmetadaten und den schließenden Kanal-Tag. Gekürzt wird ausschließlich der Nachrichteninhalt. Selbst bei realen, 161 Zeichen langen Telegram-Metadaten bleibt die Struktur innerhalb des 250-Zeichen-Budgets gültig. Die Projektion ist idempotent, nachfolgende adressierte Kanäle bleiben unverändert, und ein Kanalumschlag, der bereits ohne Inhalt das Budget überschreitet, wird unverändert durchgereicht.
|
|
163
|
+
|
|
160
164
|
Ab BLUN King 9.1.152 verlassen Argumente abgeschlossener Werkzeugaufrufe die aktive Modellprojektion nach vier statt nach acht neueren Nachrichten. Der rohe Sitzungsverlauf, unbeantwortete oder fehlerhaft formatierte Aufrufe, Medien, Werkzeugergebnisse und die neuesten vier Nachrichten bleiben unverändert. In Fredriks frisch vermessenem Sitzungsschnappschuss werden zwei zusätzliche abgeschlossene Aufrufe verdichtet; gegenüber 9.1.151 spart das weitere 244 Zeichen beziehungsweise rund 61 geschätzte Token pro wiederholter Anfrage.
|
|
161
165
|
|
|
162
166
|
Ab BLUN King 9.1.151 verlassen Argumente abgeschlossener Werkzeugaufrufe die aktive Modellprojektion nach acht statt nach zwölf neueren Nachrichten. Der rohe Sitzungsverlauf, unbeantwortete oder fehlerhaft formatierte Aufrufe, Medien, Werkzeugergebnisse und die neuesten acht Nachrichten bleiben unverändert. In Fredriks vermessenem Sitzungsschnappschuss werden drei zusätzliche abgeschlossene Aufrufe verdichtet; gegenüber 9.1.150 spart das weitere 317 Zeichen beziehungsweise rund 80 geschätzte Token pro wiederholter Anfrage.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const MAX_UNADDRESSED_TELEGRAM_CONTEXT_CHARS = 2000;
|
|
4
|
-
const HISTORICAL_ADDRESSED_TELEGRAM_CONTEXT_CHARS =
|
|
4
|
+
const HISTORICAL_ADDRESSED_TELEGRAM_CONTEXT_CHARS = 500;
|
|
5
5
|
const HISTORICAL_TELEGRAM_RECENT_MESSAGES = 20;
|
|
6
6
|
const HISTORICAL_UNADDRESSED_TELEGRAM_CONTEXT_CHARS = 250;
|
|
7
7
|
const HISTORICAL_ADDRESSED_CHANNEL_PATTERN = /(<channel\s+[^>]*\baddressed="true"[^>]*>[\s\S]*?<\/channel>)/gu;
|
|
@@ -33,6 +33,26 @@ function projectUnaddressedTelegramContext(
|
|
|
33
33
|
if (!Number.isInteger(maxChars) || maxChars < 1 || tag.length <= maxChars) return tag;
|
|
34
34
|
|
|
35
35
|
const marker = `\n[Telegram-Kontext gekuerzt; Original: ${tag.length} Zeichen]\n`;
|
|
36
|
+
|
|
37
|
+
const openingEnd = tag.startsWith('<channel ') ? tag.indexOf('>') : -1;
|
|
38
|
+
const closingTag = '</channel>';
|
|
39
|
+
const closingStart = tag.lastIndexOf(closingTag);
|
|
40
|
+
if (openingEnd >= 0 && closingStart > openingEnd) {
|
|
41
|
+
const opening = tag.slice(0, openingEnd + 1);
|
|
42
|
+
const closing = tag.slice(closingStart);
|
|
43
|
+
const fixedChars = opening.length + marker.length + closing.length;
|
|
44
|
+
if (fixedChars > maxChars) return tag;
|
|
45
|
+
|
|
46
|
+
const body = tag.slice(openingEnd + 1, closingStart);
|
|
47
|
+
const retainedBodyChars = maxChars - fixedChars;
|
|
48
|
+
const headChars = Math.ceil(retainedBodyChars * 0.6);
|
|
49
|
+
const tailChars = retainedBodyChars - headChars;
|
|
50
|
+
const head = trimDanglingHighSurrogate(body.slice(0, headChars));
|
|
51
|
+
const tail = trimLeadingLowSurrogate(body.slice(body.length - tailChars));
|
|
52
|
+
|
|
53
|
+
return `${opening}${head}${marker}${tail}${closing}`;
|
|
54
|
+
}
|
|
55
|
+
|
|
36
56
|
if (marker.length >= maxChars) return marker.slice(0, maxChars);
|
|
37
57
|
|
|
38
58
|
const retainedChars = maxChars - marker.length;
|