blun-king-cli 9.1.137 → 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 +2 -0
- package/README.md +2 -0
- package/bin/repeated-injection-projection.cjs +29 -0
- package/blun.mjs +3 -3
- package/package.json +1 -1
package/LIESMICH.txt
CHANGED
|
@@ -129,6 +129,8 @@ Ab BLUN King 9.1.134 begrenzt die Modellprojektion nicht adressierte Telegram-Gr
|
|
|
129
129
|
|
|
130
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
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
|
+
|
|
132
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.
|
|
133
135
|
|
|
134
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
|
@@ -135,6 +135,8 @@ Ab BLUN King 9.1.134 begrenzt die Modellprojektion nicht adressierte Telegram-Gr
|
|
|
135
135
|
|
|
136
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
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
|
+
|
|
138
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.
|
|
139
141
|
|
|
140
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
|
};
|
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);
|