blun-king-cli 9.1.85 → 9.1.86
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 -2
- package/README.md +2 -2
- package/bin/tool-result-offload-policy.cjs +10 -0
- package/blun.mjs +3 -2
- package/package.json +1 -1
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.
|
|
12
|
+
npm install -g blun-king-cli@9.1.86
|
|
13
13
|
|
|
14
14
|
Start
|
|
15
15
|
-----
|
|
@@ -80,7 +80,7 @@ Dabei werden keine gespeicherten Nachrichten geändert oder gelöscht. Fortsetze
|
|
|
80
80
|
|
|
81
81
|
## Große Werkzeugausgaben und isolierte Teilagenten
|
|
82
82
|
|
|
83
|
-
Große textbasierte Werkzeugergebnisse bleiben nicht mehr vollständig im Modellkontext. Ab 12.001 Zeichen speichert BLUN King das vollständige Ergebnis in einer privaten Datei im Sitzungsordner `tool-results`. Im Modellkontext verbleiben
|
|
83
|
+
Große textbasierte Werkzeugergebnisse bleiben nicht mehr vollständig im Modellkontext. Ab 12.001 Zeichen speichert BLUN King das vollständige Ergebnis in einer privaten Datei im Sitzungsordner `tool-results`. Im Modellkontext verbleiben die ersten 1.000 und die letzten 1.000 Zeichen, die genaue Zahl der ausgelassenen Zeichen und der `output_path`. Der Agent kann das vollständige Ergebnis anschließend mit `Read` seitenweise über diesen Pfad lesen. Ergebnisse bis einschließlich 12.000 Zeichen, gemischte Medienergebnisse und bereits gekürzte Ergebnisse bleiben unverändert. Auch eine spätere Mikroverdichtung bewahrt den Dateiverweis. Beispiel: Bei einem Suchergebnis mit 30.000 Zeichen sehen folgende Modellanfragen den Anfang und das abschließende Ergebnis oder den Fehler; der vollständige Text bleibt lokal verfügbar.
|
|
84
84
|
|
|
85
85
|
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.
|
|
86
86
|
|
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.
|
|
12
|
+
npm install -g blun-king-cli@9.1.86
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Reproduzierbares Staging und Packen
|
|
@@ -102,7 +102,7 @@ Dabei werden keine gespeicherten Nachrichten geändert oder gelöscht. Fortsetze
|
|
|
102
102
|
|
|
103
103
|
## Große Werkzeugausgaben und isolierte Teilagenten
|
|
104
104
|
|
|
105
|
-
Große textbasierte Werkzeugergebnisse bleiben nicht mehr vollständig im Modellkontext. Ab 12.001 Zeichen speichert BLUN King das vollständige Ergebnis in einer privaten Datei im Sitzungsordner `tool-results`. Im Modellkontext verbleiben
|
|
105
|
+
Große textbasierte Werkzeugergebnisse bleiben nicht mehr vollständig im Modellkontext. Ab 12.001 Zeichen speichert BLUN King das vollständige Ergebnis in einer privaten Datei im Sitzungsordner `tool-results`. Im Modellkontext verbleiben die ersten 1.000 und die letzten 1.000 Zeichen, die genaue Zahl der ausgelassenen Zeichen und der `output_path`. Der Agent kann das vollständige Ergebnis anschließend mit `Read` seitenweise über diesen Pfad lesen. Ergebnisse bis einschließlich 12.000 Zeichen, gemischte Medienergebnisse und bereits gekürzte Ergebnisse bleiben unverändert. Auch eine spätere Mikroverdichtung bewahrt den Dateiverweis. Beispiel: Bei einem Suchergebnis mit 30.000 Zeichen sehen folgende Modellanfragen den Anfang und das abschließende Ergebnis oder den Fehler; der vollständige Text bleibt lokal verfügbar.
|
|
106
106
|
|
|
107
107
|
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.
|
|
108
108
|
|
|
@@ -8,6 +8,15 @@ function shouldOffloadToolResult(textLength) {
|
|
|
8
8
|
return Number.isFinite(textLength) && textLength > TOOL_RESULT_MAX_CHARS;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
function createToolResultPreview(text) {
|
|
12
|
+
if (text.length <= TOOL_RESULT_PREVIEW_CHARS) return text;
|
|
13
|
+
|
|
14
|
+
const headChars = Math.ceil(TOOL_RESULT_PREVIEW_CHARS / 2);
|
|
15
|
+
const tailChars = TOOL_RESULT_PREVIEW_CHARS - headChars;
|
|
16
|
+
const omittedChars = text.length - headChars - tailChars;
|
|
17
|
+
return `${text.slice(0, headChars)}\n\n[... ${String(omittedChars)} characters omitted ...]\n\n${text.slice(-tailChars)}`;
|
|
18
|
+
}
|
|
19
|
+
|
|
11
20
|
function isPersistedToolResultReference(content) {
|
|
12
21
|
if (!Array.isArray(content)) return false;
|
|
13
22
|
|
|
@@ -23,6 +32,7 @@ module.exports = {
|
|
|
23
32
|
TOOL_RESULT_MAX_CHARS,
|
|
24
33
|
TOOL_RESULT_PREVIEW_CHARS,
|
|
25
34
|
TOOL_RESULT_OFFLOAD_MARKER,
|
|
35
|
+
createToolResultPreview,
|
|
26
36
|
isPersistedToolResultReference,
|
|
27
37
|
shouldOffloadToolResult,
|
|
28
38
|
};
|
package/blun.mjs
CHANGED
|
@@ -260020,13 +260020,13 @@ function renderPersistedToolResult(toolName, toolCallId, text, outputPath) {
|
|
|
260020
260020
|
`output_path: ${outputPath}`,
|
|
260021
260021
|
"next_step: Use Read with output_path to page through the full output."
|
|
260022
260022
|
];
|
|
260023
|
-
lines.push("", "[preview]", text
|
|
260023
|
+
lines.push("", "[preview: head and tail]", createToolResultPreview(text));
|
|
260024
260024
|
return lines.join("\n");
|
|
260025
260025
|
}
|
|
260026
260026
|
function safeToolResultFileStem(toolName, toolCallId) {
|
|
260027
260027
|
return `${toolName}-${toolCallId}`.replace(/[^a-zA-Z0-9._-]+/g, "_").replace(/^_+|_+$/g, "").slice(0, 80) || "tool-result";
|
|
260028
260028
|
}
|
|
260029
|
-
var TOOL_RESULT_MAX_CHARS, TOOL_RESULT_PREVIEW_CHARS, TOOL_RESULT_OFFLOAD_MARKER, shouldOffloadToolResult, buildToolResultOffloadTelemetry;
|
|
260029
|
+
var TOOL_RESULT_MAX_CHARS, TOOL_RESULT_PREVIEW_CHARS, TOOL_RESULT_OFFLOAD_MARKER, shouldOffloadToolResult, createToolResultPreview, buildToolResultOffloadTelemetry;
|
|
260030
260030
|
var init_tool_result_budget = __esmMin((() => {
|
|
260031
260031
|
init_dist$6();
|
|
260032
260032
|
const toolResultOffloadPolicy = createRequire(import.meta.url)("./bin/tool-result-offload-policy.cjs");
|
|
@@ -260035,6 +260035,7 @@ var init_tool_result_budget = __esmMin((() => {
|
|
|
260035
260035
|
TOOL_RESULT_PREVIEW_CHARS = toolResultOffloadPolicy.TOOL_RESULT_PREVIEW_CHARS;
|
|
260036
260036
|
TOOL_RESULT_OFFLOAD_MARKER = toolResultOffloadPolicy.TOOL_RESULT_OFFLOAD_MARKER;
|
|
260037
260037
|
shouldOffloadToolResult = toolResultOffloadPolicy.shouldOffloadToolResult;
|
|
260038
|
+
createToolResultPreview = toolResultOffloadPolicy.createToolResultPreview;
|
|
260038
260039
|
}));
|
|
260039
260040
|
//#endregion
|
|
260040
260041
|
//#region ../../packages/agent-core/src/agent/turn/index.ts
|