blun-king-cli 9.1.136 → 9.1.138
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/repeated-injection-projection.cjs +29 -0
- package/bin/tool-result-offload-policy.cjs +1 -1
- package/blun.mjs +3 -3
- package/package.json +1 -1
package/LIESMICH.txt
CHANGED
|
@@ -127,6 +127,10 @@ 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.137 schützt die Modellprojektion nur noch die zwölf neuesten Nachrichten vollständig vor der Auslagerung älterer Werkzeugausgaben. Große Ergebnisse bleiben im Rohverlauf und in der ursprünglichen Datei oder im privaten Archiv vollständig erhalten; die Modellprojektion behält einen lesbaren Verweis. In Fredriks gemessenem Verlauf werden dadurch mindestens 9.289 weitere Zeichen, also etwa 2.322 geschätzte Token, pro Modellanfrage vermieden.
|
|
131
|
+
|
|
132
|
+
Ab BLUN King 9.1.138 enthält die Modellprojektion von jedem wiederkehrenden Cron-Auftrag nur noch den neuesten ausstehenden Weckhinweis. Einmalige Erinnerungen, unterschiedliche Aufträge sowie fehlerhafte oder nicht eindeutig zugeordnete Nachrichten bleiben unverändert. Der vollständige Sitzungs-Wire bleibt erhalten. In Fredriks aktueller Sitzung entfallen dadurch bei jeder Anfrage 12.012 Zeichen, also rund 3.003 geschätzte Token.
|
|
133
|
+
|
|
130
134
|
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
135
|
|
|
132
136
|
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.
|
package/README.md
CHANGED
|
@@ -133,6 +133,10 @@ 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.137 schützt die Modellprojektion nur noch die zwölf neuesten Nachrichten vollständig vor der Auslagerung älterer Werkzeugausgaben. Große Ergebnisse bleiben im Rohverlauf und in der ursprünglichen Datei oder im privaten Archiv vollständig erhalten; die Modellprojektion behält einen lesbaren Verweis. In Fredriks gemessenem Verlauf werden dadurch mindestens 9.289 weitere Zeichen, also etwa 2.322 geschätzte Token, pro Modellanfrage vermieden.
|
|
137
|
+
|
|
138
|
+
Ab BLUN King 9.1.138 enthält die Modellprojektion von jedem wiederkehrenden Cron-Auftrag nur noch den neuesten ausstehenden Weckhinweis. Einmalige Erinnerungen, unterschiedliche Aufträge sowie fehlerhafte oder nicht eindeutig zugeordnete Nachrichten bleiben unverändert. Der vollständige Sitzungs-Wire bleibt erhalten. In Fredriks aktueller Sitzung entfallen dadurch bei jeder Anfrage 12.012 Zeichen, also rund 3.003 geschätzte Token.
|
|
139
|
+
|
|
136
140
|
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
141
|
|
|
138
142
|
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.
|
|
@@ -41,7 +41,36 @@ function dedupeRepeatedInjections(history) {
|
|
|
41
41
|
return kept.length === history.length ? history : kept;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
function recurringCronJobId(message) {
|
|
45
|
+
if (message?.role !== 'user') return null;
|
|
46
|
+
if (message?.origin?.kind !== 'cron_job') return null;
|
|
47
|
+
if (message.origin.recurring !== true) return null;
|
|
48
|
+
const jobId = String(message.origin.jobId || '').trim();
|
|
49
|
+
return jobId || null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function dedupeRecurringCronWakeups(history) {
|
|
53
|
+
if (!Array.isArray(history) || history.length < 2) return history;
|
|
54
|
+
const seenJobIds = new Set();
|
|
55
|
+
const kept = [];
|
|
56
|
+
|
|
57
|
+
for (let index = history.length - 1; index >= 0; index -= 1) {
|
|
58
|
+
const message = history[index];
|
|
59
|
+
const jobId = recurringCronJobId(message);
|
|
60
|
+
if (jobId !== null) {
|
|
61
|
+
if (seenJobIds.has(jobId)) continue;
|
|
62
|
+
seenJobIds.add(jobId);
|
|
63
|
+
}
|
|
64
|
+
kept.push(message);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
kept.reverse();
|
|
68
|
+
return kept.length === history.length ? history : kept;
|
|
69
|
+
}
|
|
70
|
+
|
|
44
71
|
module.exports = {
|
|
72
|
+
dedupeRecurringCronWakeups,
|
|
45
73
|
dedupeRepeatedInjections,
|
|
74
|
+
recurringCronJobId,
|
|
46
75
|
repeatedInjectionKey,
|
|
47
76
|
};
|
|
@@ -6,7 +6,7 @@ const TOOL_RESULT_OFFLOAD_MARKER = '[Tool result offloaded]';
|
|
|
6
6
|
const TOOL_RESULT_BATCH_MAX_CHARS = TOOL_RESULT_MAX_CHARS;
|
|
7
7
|
const TOOL_RESULT_BATCH_MIN_ITEM_CHARS = 3_000;
|
|
8
8
|
const TOOL_RESULT_BATCH_REPLACEMENT_BUDGET_CHARS = 2_500;
|
|
9
|
-
const TOOL_RESULT_HISTORICAL_KEEP_RECENT_MESSAGES =
|
|
9
|
+
const TOOL_RESULT_HISTORICAL_KEEP_RECENT_MESSAGES = 12;
|
|
10
10
|
const TOOL_RESULT_HISTORICAL_MAX_CHARS = TOOL_RESULT_BATCH_MAX_CHARS;
|
|
11
11
|
const TOOL_RESULT_HISTORICAL_MIN_ITEM_CHARS = 600;
|
|
12
12
|
const TOOL_RESULT_HISTORICAL_REPLACEMENT_BUDGET_CHARS = 600;
|
package/blun.mjs
CHANGED
|
@@ -75986,11 +75986,11 @@ var init_full = __esmMin((() => {
|
|
|
75986
75986
|
}));
|
|
75987
75987
|
//#endregion
|
|
75988
75988
|
//#region ../../packages/agent-core/src/agent/compaction/micro.ts
|
|
75989
|
-
var selectMicroCompactionCutoff, isPersistedToolResultReference, dedupeRepeatedInjections, DEFAULT_CONFIG, MicroCompaction;
|
|
75989
|
+
var selectMicroCompactionCutoff, isPersistedToolResultReference, dedupeRecurringCronWakeups, dedupeRepeatedInjections, DEFAULT_CONFIG, MicroCompaction;
|
|
75990
75990
|
var init_micro = __esmMin((() => {
|
|
75991
75991
|
({ selectMicroCompactionCutoff } = createRequire(import.meta.url)("./bin/micro-compaction-policy.cjs"));
|
|
75992
75992
|
({ isPersistedToolResultReference } = createRequire(import.meta.url)("./bin/tool-result-offload-policy.cjs"));
|
|
75993
|
-
({ dedupeRepeatedInjections } = createRequire(import.meta.url)("./bin/repeated-injection-projection.cjs"));
|
|
75993
|
+
({ dedupeRecurringCronWakeups, dedupeRepeatedInjections } = createRequire(import.meta.url)("./bin/repeated-injection-projection.cjs"));
|
|
75994
75994
|
init_tokens();
|
|
75995
75995
|
DEFAULT_CONFIG = {
|
|
75996
75996
|
keepRecentMessages: 20,
|
|
@@ -78962,7 +78962,7 @@ var init_context$2 = __esmMin((() => {
|
|
|
78962
78962
|
}
|
|
78963
78963
|
project(messages, options) {
|
|
78964
78964
|
const anomalies = [];
|
|
78965
|
-
const result = project(this.agent.assistantMessageOffload.compact(this.agent.userMessageOffload.compact(this.agent.microCompaction.compact(this.agent.toolResultBatchOffload.compact(dedupeRepeatedInjections(compactBaselineSkillInjections(messages)))))), {
|
|
78965
|
+
const result = project(this.agent.assistantMessageOffload.compact(this.agent.userMessageOffload.compact(this.agent.microCompaction.compact(this.agent.toolResultBatchOffload.compact(dedupeRecurringCronWakeups(dedupeRepeatedInjections(compactBaselineSkillInjections(messages))))))), {
|
|
78966
78966
|
...options,
|
|
78967
78967
|
onAnomaly: (anomaly) => {
|
|
78968
78968
|
anomalies.push(anomaly);
|