blun-king-cli 9.1.61 → 9.1.62
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 +11 -2
- package/README.md +9 -0
- package/blun.mjs +4 -4
- package/package.json +1 -1
- package/telegram-plugin/commands/access.md +10 -2
- package/telegram-plugin/dist/bridge.mjs +505 -63776
- package/telegram-plugin/dist/mcp-server.mjs +8976 -72843
- package/telegram-plugin/dist/noise.mjs +63473 -2
package/LIESMICH.txt
CHANGED
|
@@ -145,5 +145,14 @@ Telegram einrichten
|
|
|
145
145
|
|
|
146
146
|
~/.blun/channels/telegram/.env
|
|
147
147
|
|
|
148
|
-
3. `king` starten und
|
|
149
|
-
|
|
148
|
+
3. `king` starten und in der Konsole eingeben:
|
|
149
|
+
|
|
150
|
+
/telegram:access connect
|
|
151
|
+
|
|
152
|
+
4. Den dort erzeugten Einmalcode im gewünschten privaten Chat oder in der
|
|
153
|
+
gewünschten Gruppe senden:
|
|
154
|
+
|
|
155
|
+
/connect CODE
|
|
156
|
+
|
|
157
|
+
Chat-ID und Absender-ID werden intern gespeichert und müssen nie eingegeben
|
|
158
|
+
werden. Der Code verfällt nach zehn Minuten und funktioniert nur einmal.
|
package/README.md
CHANGED
|
@@ -35,6 +35,11 @@ an. Version, Konto, Modell und Befehle sind ansonsten identisch. Der Unterschied
|
|
|
35
35
|
gilt nur für den laufenden Prozess; die gespeicherte
|
|
36
36
|
Plugin-Konfiguration wird nicht umgeschrieben.
|
|
37
37
|
|
|
38
|
+
Telegram-Chats werden ohne manuell eingegebene IDs verbunden. In der Konsole
|
|
39
|
+
erzeugt `/telegram:access connect` einen einmaligen Code. `/connect CODE` im
|
|
40
|
+
gewünschten privaten Chat oder in einer Gruppe speichert Chat und Absender
|
|
41
|
+
intern; der Code verfällt nach zehn Minuten und ist nur einmal verwendbar.
|
|
42
|
+
|
|
38
43
|
## Zuverlässiger King-Start
|
|
39
44
|
|
|
40
45
|
Der Windows-Hilfsprozess für private Pfade übernimmt `TEMP` und `TMP` aus der
|
|
@@ -106,6 +111,10 @@ besten sicheren lokalen nächsten Schritt um. Der sichtbare Aufgabenplan und all
|
|
|
106
111
|
Freigabegrenzen von `/idea` gelten weiterhin. Der Befehl funktioniert auch über
|
|
107
112
|
Telegram.
|
|
108
113
|
|
|
114
|
+
Der sichtbare Verlauf behält standardmäßig die vollständige laufende und
|
|
115
|
+
wiederhergestellte Sitzung. Das Mausrad kann den Verlauf direkt beim ersten Zug
|
|
116
|
+
öffnen; Editor und Fußzeile bleiben dabei fest sichtbar.
|
|
117
|
+
|
|
109
118
|
Im automatisch angebundenen Telegram-Kanal werden ausschließlich `/loop`,
|
|
110
119
|
`/goal`, `/idea`, `/chancenradar` und `/befehle` als Befehle ausgeführt. Ist der Agent
|
|
111
120
|
beschäftigt, bleiben sie in der Warteschlange. Andere Slash-Eingaben werden aus
|
package/blun.mjs
CHANGED
|
@@ -503027,7 +503027,7 @@ var PersonalMemoryController = class {
|
|
|
503027
503027
|
//#endregion
|
|
503028
503028
|
//#region src/tui/constant/scrollback.ts
|
|
503029
503029
|
function shouldEnableScrollbackMouseTracking(buffer) {
|
|
503030
|
-
return buffer !== void 0 && buffer.
|
|
503030
|
+
return buffer !== void 0 && buffer.totalLines > 0;
|
|
503031
503031
|
}
|
|
503032
503032
|
const ENABLE_SCROLLBACK_MOUSE_TRACKING = "\x1B[?1000h\x1B[?1006h";
|
|
503033
503033
|
const DISABLE_SCROLLBACK_MOUSE_TRACKING = "\x1B[?1000l\x1B[?1006l";
|
|
@@ -507713,7 +507713,7 @@ function formatLoopChatIndicator(loop, colors, nowMs = Date.now()) {
|
|
|
507713
507713
|
numeric: "always",
|
|
507714
507714
|
style: "short"
|
|
507715
507715
|
}).format(value, unit);
|
|
507716
|
-
return chalk.hex(colors.
|
|
507716
|
+
return chalk.hex(colors.textMuted)(`Loop ${relative}`);
|
|
507717
507717
|
}
|
|
507718
507718
|
function formatBadgeElapsed(ms) {
|
|
507719
507719
|
const totalSeconds = Math.round(ms / 1e3);
|
|
@@ -508028,8 +508028,8 @@ var FooterComponent = class {
|
|
|
508028
508028
|
if (model) {
|
|
508029
508029
|
const sep = chalk.hex(colors.textMuted)(" · ");
|
|
508030
508030
|
const persona = personaName();
|
|
508031
|
-
const profileLabel = process.env["BLUN_PROFILE"]
|
|
508032
|
-
const profile = chalk.hex(colors.textDim)(profileLabel) + sep;
|
|
508031
|
+
const profileLabel = process.env["BLUN_PROFILE"]?.trim();
|
|
508032
|
+
const profile = profileLabel !== void 0 && profileLabel.length > 0 && profileLabel.toLowerCase() !== "default" ? chalk.hex(colors.textDim)(profileLabel) + sep : "";
|
|
508033
508033
|
const brand = chalk.hex(colors.primary).bold("● BL") + chalk.hex(colors.text)("UN") + sep + profile + (persona !== void 0 ? chalk.hex(colors.text)(persona) + sep : "");
|
|
508034
508034
|
const modelLabel = model;
|
|
508035
508035
|
const modeLabel = uiText(state.permissionMode === "yolo" ? "footer.mode.god" : state.permissionMode === "auto" ? "footer.mode.auto" : "footer.mode.manual");
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: access
|
|
3
|
-
description: Manage Telegram channel access — approve pairings, edit allowlists, set DM/group policy.
|
|
3
|
+
description: Manage Telegram channel access — create connection codes, approve pairings, edit allowlists, set DM/group policy.
|
|
4
4
|
---
|
|
5
5
|
Manage access control for the BLUN Telegram channel. The state file is
|
|
6
6
|
`~/.blun/channels/telegram/access.json` (create the directory and a default
|
|
7
|
-
`{"dmPolicy":"pairing","allowFrom":[],"groups":{},"pending":{}}` if missing).
|
|
7
|
+
`{"dmPolicy":"pairing","allowFrom":[],"groups":{},"pending":{},"connect":{}}` if missing).
|
|
8
8
|
Honor `BLUN_TELEGRAM_STATE_DIR` if that environment variable is set.
|
|
9
9
|
|
|
10
10
|
ARGUMENTS: $ARGUMENTS
|
|
@@ -13,6 +13,14 @@ Supported operations (parse from the arguments above; if empty, show current
|
|
|
13
13
|
state as a short summary — dmPolicy, allowFrom entries, groups, pending codes
|
|
14
14
|
with expiry):
|
|
15
15
|
|
|
16
|
+
- `connect` — generate a cryptographically random 6-character lowercase hex
|
|
17
|
+
code in this console. Store it as `connect[code]` with `createdAt` now and
|
|
18
|
+
`expiresAt` ten minutes from now, save atomically, then print exactly these
|
|
19
|
+
two useful lines (never ask for or print a Telegram chat id):
|
|
20
|
+
`Telegram-Code: <code>`
|
|
21
|
+
`Jetzt im gewuenschten privaten Chat oder in der Gruppe senden: /connect <code>`
|
|
22
|
+
The bridge consumes the code once and records the Telegram ids internally.
|
|
23
|
+
|
|
16
24
|
- `pair <code>` — look up `pending[<code>]`. If present and not expired
|
|
17
25
|
(`expiresAt` in ms since epoch): move its `senderId` into `allowFrom`
|
|
18
26
|
(deduplicated), delete the pending entry, save the file, then write an empty
|