blun-king-cli 9.1.79 → 9.1.80

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
@@ -9,7 +9,7 @@ Installation
9
9
  ------------
10
10
  Die geprüfte Version exakt global installieren:
11
11
 
12
- npm install -g blun-king-cli@9.1.77
12
+ npm install -g blun-king-cli@9.1.80
13
13
 
14
14
  Start
15
15
  -----
@@ -86,6 +86,14 @@ Exportieren und die sichtbare Historie behalten die ursprünglichen
86
86
  Werkzeugergebnisse. Das Telemetrieereignis `micro_compaction_finished` nennt den
87
87
  Auslöser, den Schnitt und die geschätzte Tokenzahl vor und nach der Entlastung.
88
88
 
89
+ ## Große Werkzeugausgaben und isolierte Teilagenten
90
+
91
+ Werkzeugausgaben mit mehr als 50.000 Zeichen werden vollständig unter `<agent-home>/tool-results/` gespeichert. Im Modellkontext bleiben nur eine Vorschau der ersten 2.000 Zeichen, der genaue `output_path` und der Hinweis, die Datei bei Bedarf mit `Read` zu öffnen. Dadurch bleibt die vollständige Ausgabe wiederauffindbar, ohne in jedem weiteren Modellschritt erneut als großer Textblock mitzufahren.
92
+
93
+ Das Telemetrieereignis `tool_result_offloaded` enthält ausschließlich `tool_name`, `output_size_chars`, `output_size_bytes` und `preview_size_chars`. Es enthält weder den Inhalt noch den Speicherpfad. Beispiel: Eine Ausgabe mit 80.000 Zeichen erzeugt eine Vorschau mit 2.000 Zeichen; die Telemetrie zeigt die Größenersparnis, ohne Nutzdaten zu protokollieren.
94
+
95
+ Reguläre `Agent`-Teilaufgaben verwenden eine eigene `ContextMemory` und eine eigene `wire.jsonl` in einem getrennten Agentenverzeichnis. Der Hauptagent erhält nur die Ergebniszusammenfassung, sodass lange Teilaufgaben nicht den Hauptverlauf füllen. `TodoList` speichert Pläne weiterhin maschinenlesbar im Sitzungs-Wire; `blun handoff` übergibt sie zusammen mit prüfbaren Hashes zwischen CLI, Desktop und Web.
96
+
89
97
  Zug-Wächter
90
98
  -----------
91
99
  Läuft ein Zug 20 Minuten ohne neues Werkzeugergebnis, meldet die Konsole den
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.69
12
+ npm install -g blun-king-cli@9.1.80
13
13
  ```
14
14
 
15
15
  ## Reproduzierbares Staging und Packen
@@ -108,6 +108,14 @@ Exportieren und die sichtbare Historie behalten die ursprünglichen
108
108
  Werkzeugergebnisse. Das Telemetrieereignis `micro_compaction_finished` nennt den
109
109
  Auslöser, den Schnitt und die geschätzte Tokenzahl vor und nach der Entlastung.
110
110
 
111
+ ## Große Werkzeugausgaben und isolierte Teilagenten
112
+
113
+ Werkzeugausgaben mit mehr als 50.000 Zeichen werden vollständig unter `<agent-home>/tool-results/` gespeichert. Im Modellkontext bleiben nur eine Vorschau der ersten 2.000 Zeichen, der genaue `output_path` und der Hinweis, die Datei bei Bedarf mit `Read` zu öffnen. Dadurch bleibt die vollständige Ausgabe wiederauffindbar, ohne in jedem weiteren Modellschritt erneut als großer Textblock mitzufahren.
114
+
115
+ Das Telemetrieereignis `tool_result_offloaded` enthält ausschließlich `tool_name`, `output_size_chars`, `output_size_bytes` und `preview_size_chars`. Es enthält weder den Inhalt noch den Speicherpfad. Beispiel: Eine Ausgabe mit 80.000 Zeichen erzeugt eine Vorschau mit 2.000 Zeichen; die Telemetrie zeigt die Größenersparnis, ohne Nutzdaten zu protokollieren.
116
+
117
+ Reguläre `Agent`-Teilaufgaben verwenden eine eigene `ContextMemory` und eine eigene `wire.jsonl` in einem getrennten Agentenverzeichnis. Der Hauptagent erhält nur die Ergebniszusammenfassung, sodass lange Teilaufgaben nicht den Hauptverlauf füllen. `TodoList` speichert Pläne weiterhin maschinenlesbar im Sitzungs-Wire; `blun handoff` übergibt sie zusammen mit prüfbaren Hashes zwischen CLI, Desktop und Web.
118
+
111
119
  ## Zug-Wächter
112
120
 
113
121
  Läuft ein Zug 20 Minuten ohne neues Werkzeugergebnis, meldet die Konsole den
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ function buildToolResultOffloadTelemetry(options) {
4
+ return {
5
+ tool_name: options.toolName,
6
+ output_size_chars: options.text.length,
7
+ output_size_bytes: Buffer.byteLength(options.text, 'utf8'),
8
+ preview_size_chars: Math.min(options.text.length, options.previewChars),
9
+ };
10
+ }
11
+
12
+ module.exports = { buildToolResultOffloadTelemetry };
package/blun.mjs CHANGED
@@ -259897,6 +259897,11 @@ async function budgetToolResultForModel(options) {
259897
259897
  toolCallId: options.toolCallId
259898
259898
  }, text);
259899
259899
  if (outputPath === void 0) return options.result;
259900
+ options.telemetry?.track("tool_result_offloaded", buildToolResultOffloadTelemetry({
259901
+ toolName: options.toolName,
259902
+ text,
259903
+ previewChars: TOOL_RESULT_PREVIEW_CHARS
259904
+ }));
259900
259905
  const output = renderPersistedToolResult(options.toolName, options.toolCallId, text, outputPath);
259901
259906
  return options.result.isError === true ? {
259902
259907
  ...options.result,
@@ -259945,9 +259950,10 @@ function renderPersistedToolResult(toolName, toolCallId, text, outputPath) {
259945
259950
  function safeToolResultFileStem(toolName, toolCallId) {
259946
259951
  return `${toolName}-${toolCallId}`.replace(/[^a-zA-Z0-9._-]+/g, "_").replace(/^_+|_+$/g, "").slice(0, 80) || "tool-result";
259947
259952
  }
259948
- var TOOL_RESULT_MAX_CHARS, TOOL_RESULT_PREVIEW_CHARS;
259953
+ var TOOL_RESULT_MAX_CHARS, TOOL_RESULT_PREVIEW_CHARS, buildToolResultOffloadTelemetry;
259949
259954
  var init_tool_result_budget = __esmMin((() => {
259950
259955
  init_dist$6();
259956
+ ({ buildToolResultOffloadTelemetry } = createRequire(import.meta.url)("./bin/tool-result-offload-telemetry.cjs"));
259951
259957
  TOOL_RESULT_MAX_CHARS = 5e4;
259952
259958
  TOOL_RESULT_PREVIEW_CHARS = 2e3;
259953
259959
  }));
@@ -261038,7 +261044,8 @@ var init_turn = __esmMin((() => {
261038
261044
  homedir: this.agent.homedir,
261039
261045
  toolName: ctx.toolCall.name,
261040
261046
  toolCallId: ctx.toolCall.id,
261041
- result: finalResult
261047
+ result: finalResult,
261048
+ telemetry: this.agent.telemetry
261042
261049
  });
261043
261050
  }
261044
261051
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blun-king-cli",
3
- "version": "9.1.79",
3
+ "version": "9.1.80",
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": {