blun-king-cli 9.1.505 → 9.1.507
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/CHANGELOG.md +12 -0
- package/LIESMICH.txt +12 -1
- package/README.md +12 -1
- package/blun.mjs +5 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.1.507 - 2026-08-30
|
|
4
|
+
|
|
5
|
+
- Instructs the Read tool to issue independent file and range reads together in one model response when several inputs may be useful.
|
|
6
|
+
- Reduces avoidable model round trips over large work contexts without changing Read execution, paging, permissions, or result handling.
|
|
7
|
+
- Adds a focused regression and keeps all TodoList, Telegram queue, bot-priority, tool-restoration, and package tests green.
|
|
8
|
+
|
|
9
|
+
## 9.1.506 - 2026-08-30
|
|
10
|
+
|
|
11
|
+
- Removes completed TodoList entries from the visible TUI immediately, matching the already-pruned persistent Todo store while retaining every unfinished item.
|
|
12
|
+
- Runs automatic TodoList maintenance with a dedicated 546-character system prompt instead of appending the full work prompt measured at roughly 19,000 characters.
|
|
13
|
+
- Preserves the full work prompt and ordinary tool catalogue on the following step, with regressions covering Todo lifecycle, maintenance isolation, and tool restoration.
|
|
14
|
+
|
|
3
15
|
## 9.1.505 - 2026-08-30
|
|
4
16
|
|
|
5
17
|
- Preserves Telegram messages that arrive after a TUI claims channel ownership but before the delayed channel activation finishes.
|
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.507
|
|
13
13
|
|
|
14
14
|
Start
|
|
15
15
|
-----
|
|
@@ -65,6 +65,17 @@ geschriebenen Entwurf zu löschen. Das gilt auch bei
|
|
|
65
65
|
Autovervollständigung, Geistervorschlägen, Bash-Eingabe und einer offenen
|
|
66
66
|
Mehrzeileneingabe.
|
|
67
67
|
|
|
68
|
+
Version 9.1.507 fordert das Modell im Read-Werkzeug ausdruecklich dazu auf,
|
|
69
|
+
voneinander unabhaengige Datei- und Bereichslesungen in einer Modellantwort zu
|
|
70
|
+
buendeln. Dadurch entfallen vermeidbare Modellrunden, ohne Ausfuehrung,
|
|
71
|
+
Seitennavigation, Berechtigungen oder Ergebnisbehandlung des Werkzeugs zu aendern.
|
|
72
|
+
|
|
73
|
+
Version 9.1.506 entfernt erledigte TodoList-Punkte sofort aus der sichtbaren
|
|
74
|
+
TUI und verwendet fuer den automatischen Wartungszug einen eigenstaendigen,
|
|
75
|
+
546 Zeichen langen Systemprompt statt des rund 19.000 Zeichen langen
|
|
76
|
+
Arbeits-Systemprompts. Der nachfolgende Arbeitsschritt behaelt weiterhin den
|
|
77
|
+
vollstaendigen Prompt und Werkzeugkatalog.
|
|
78
|
+
|
|
68
79
|
Version 9.1.504 startet eine automatisch eingereihte Telegram-Nachricht im
|
|
69
80
|
Leerlauf als neuen Modellzug. Sie wartet damit nicht mehr auf einen bereits
|
|
70
81
|
laufenden Zug, der im Leerlauf definitionsgemaess nie entstehen kann.
|
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.507
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Reproduzierbares Staging und Packen
|
|
@@ -81,6 +81,17 @@ konkurrierenden Start zurückgewiesen und bleiben an der Spitze der
|
|
|
81
81
|
FIFO-Warteschlange. Für diesen normalen Wartestatus erscheint kein
|
|
82
82
|
`turn.agent_busy`-Fehler.
|
|
83
83
|
|
|
84
|
+
Version 9.1.507 fordert das Modell im Read-Werkzeug ausdrücklich dazu auf,
|
|
85
|
+
voneinander unabhängige Datei- und Bereichslesungen in einer Modellantwort zu
|
|
86
|
+
bündeln. Dadurch entfallen vermeidbare Modellrunden, ohne Ausführung,
|
|
87
|
+
Seitennavigation, Berechtigungen oder Ergebnisbehandlung des Werkzeugs zu ändern.
|
|
88
|
+
|
|
89
|
+
Version 9.1.506 entfernt erledigte TodoList-Punkte sofort aus der sichtbaren
|
|
90
|
+
TUI und verwendet fuer den automatischen Wartungszug einen eigenstaendigen,
|
|
91
|
+
546 Zeichen langen Systemprompt statt des rund 19.000 Zeichen langen
|
|
92
|
+
Arbeits-Systemprompts. Der nachfolgende Arbeitsschritt behaelt weiterhin den
|
|
93
|
+
vollstaendigen Prompt und Werkzeugkatalog.
|
|
94
|
+
|
|
84
95
|
Version 9.1.504 startet eine automatisch eingereihte Telegram-Nachricht im
|
|
85
96
|
Leerlauf als neuen Modellzug. Sie wartet damit nicht mehr auf einen bereits
|
|
86
97
|
laufenden Zug, der im Leerlauf definitionsgemäß nie entstehen kann.
|
package/blun.mjs
CHANGED
|
@@ -259434,7 +259434,7 @@ var init_read = __esmMin((() => {
|
|
|
259434
259434
|
MAX_BYTES_KB: MAX_BYTES / 1024,
|
|
259435
259435
|
MAX_LINE_LENGTH
|
|
259436
259436
|
});
|
|
259437
|
-
read_default = "Read a known UTF-8 text file. Invalid paths error; directories are unsupported. Relative paths use the working directory; outside paths must be absolute. Use Glob for unknown names, Grep for content, and ReadMediaFile for media.\n\nEach call returns at most {{ MAX_LINES }} lines or {{ MAX_BYTES_KB }} KB and truncates lines beyond {{ MAX_LINE_LENGTH }} characters. Page large files with 1-based `line_offset` and `n_lines`; omit `n_lines` for the cap. Negative `line_offset` reads from the end, up to {{ MAX_LINES }} lines. A capped result names the exact next `line_offset
|
|
259437
|
+
read_default = "Read a known UTF-8 text file. Invalid paths error; directories are unsupported. Relative paths use the working directory; outside paths must be absolute. Use Glob for unknown names, Grep for content, and ReadMediaFile for media.\n\nEach call returns at most {{ MAX_LINES }} lines or {{ MAX_BYTES_KB }} KB and truncates lines beyond {{ MAX_LINE_LENGTH }} characters. Page large files with 1-based `line_offset` and `n_lines`; omit `n_lines` for the cap. Negative `line_offset` reads from the end, up to {{ MAX_LINES }} lines. A capped result names the exact next `line_offset`. Issue independent Read calls together in one response when several files or ranges may be useful.\n\nSensitive files such as `.env` and credential stores are refused; templates and public keys remain readable. Only UTF-8 text without NUL bytes is accepted; use Bash or an MCP tool for other binaries.\n\nOutput is `<line-number>\\t<content>` per line. The trailing `<system>...</system>` block is status, not file content. Pure CRLF appears as LF and is preserved by Edit. Mixed or lone carriage returns appear as `\\r` and require exact `Edit.old_string` escapes.";
|
|
259438
259438
|
READ_DESCRIPTION = renderPrompt(read_default, {
|
|
259439
259439
|
MAX_LINES: MAX_LINES$1,
|
|
259440
259440
|
MAX_BYTES_KB: MAX_BYTES / 1024,
|
|
@@ -262799,7 +262799,7 @@ var init_turn = __esmMin((() => {
|
|
|
262799
262799
|
mode: todoMaintenanceMode,
|
|
262800
262800
|
workCallsSinceRefresh: this.agent.goalTodoPolicyState?.workCallsSinceRefresh ?? 0
|
|
262801
262801
|
});
|
|
262802
|
-
const todoSystemPrompt = buildGoalTodoMaintenanceSystemPrompt(this.agent,
|
|
262802
|
+
const todoSystemPrompt = buildGoalTodoMaintenanceSystemPrompt(this.agent, todoMaintenanceMode);
|
|
262803
262803
|
const todoMessages = buildGoalTodoMaintenanceMessages(this.agent, todoMaintenanceMode);
|
|
262804
262804
|
return {
|
|
262805
262805
|
llm: this.agent.llmForTurn("low", todoSystemPrompt),
|
|
@@ -423267,7 +423267,7 @@ function goalTodoMaintenanceMode(agent) {
|
|
|
423267
423267
|
};
|
|
423268
423268
|
return progress.refreshRequired || progress.workCallsSinceRefresh >= GOAL_TODO_REFRESH_WORK_CALL_LIMIT ? "refresh" : null;
|
|
423269
423269
|
}
|
|
423270
|
-
function buildGoalTodoMaintenanceSystemPrompt(agent,
|
|
423270
|
+
function buildGoalTodoMaintenanceSystemPrompt(agent, mode) {
|
|
423271
423271
|
const todos = ideaTodos(agent);
|
|
423272
423272
|
const visibleTodoList = todos.length === 0 ? "The visible TodoList is empty." : ["Current visible TodoList:", ...todos.map((todo) => `- [${String(todo?.status ?? "pending")}] ${String(todo?.title ?? "").trim()}`)].join("\n");
|
|
423273
423273
|
const action = mode === "initial" ? "Create the visible task-specific TodoList now. Keep exactly one item in_progress and every later item pending." : "Update the visible TodoList now, before any more task work. Mark only evidenced steps done, keep the actual current step in_progress, and leave later steps pending. If the current title is stale, refine it to the concrete verified substep.";
|
|
@@ -423277,9 +423277,7 @@ ${action}
|
|
|
423277
423277
|
Call TodoList as the first and only tool. Do not call a work, search, file, shell, web, messaging, or goal tool in this step. Do not merely describe the update.
|
|
423278
423278
|
|
|
423279
423279
|
${visibleTodoList}
|
|
423280
|
-
</todo-maintenance
|
|
423281
|
-
|
|
423282
|
-
${basePrompt}`;
|
|
423280
|
+
</todo-maintenance>`;
|
|
423283
423281
|
}
|
|
423284
423282
|
function buildGoalTodoMaintenanceMessages(agent, mode) {
|
|
423285
423283
|
const goal = agent.goal.getActiveGoal();
|
|
@@ -509237,7 +509235,7 @@ var SessionEventHandler = class {
|
|
|
509237
509235
|
if (matchedCall !== void 0 && matchedCall.name === "TodoList" && !event.isError) {
|
|
509238
509236
|
const rawTodos = matchedCall.args.todos;
|
|
509239
509237
|
if (Array.isArray(rawTodos)) {
|
|
509240
|
-
const sanitized = rawTodos.filter((todo) => isTodoItemShape(todo)).map((t) => ({
|
|
509238
|
+
const sanitized = rawTodos.filter((todo) => isTodoItemShape(todo)).filter((todo) => todo.status !== "done").map((t) => ({
|
|
509241
509239
|
title: t.title,
|
|
509242
509240
|
status: t.status
|
|
509243
509241
|
}));
|