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 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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blun-king-cli",
3
- "version": "9.1.137",
3
+ "version": "9.1.138",
4
4
  "description": "BLUN CLI - your own AI agent with a Telegram channel. Get it done. With BLUN.",
5
5
  "license": "MIT",
6
6
  "bin": {