blun-king-cli 9.1.12 → 9.1.13
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/blun.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// BLUN_BUILD_INPUT_SHA256:
|
|
2
|
+
// BLUN_BUILD_INPUT_SHA256:fa91809275490a7996f42117dd79d91256095206805eae6b481cd8bde6010045
|
|
3
3
|
import { fileURLToPath as __cjsShimFileURLToPath } from 'node:url';
|
|
4
4
|
import { dirname as __cjsShimDirname } from 'node:path';
|
|
5
5
|
const __filename = __cjsShimFileURLToPath(import.meta.url);
|
|
@@ -412841,7 +412841,8 @@ const PLACEHOLDER_RE = /replace|paste|your[-_]|xxxx/i;
|
|
|
412841
412841
|
/** True when .env holds a real bot token. Never returns or logs the token. */
|
|
412842
412842
|
function telegramChannelConfigured(dir = telegramStateDir()) {
|
|
412843
412843
|
try {
|
|
412844
|
-
|
|
412844
|
+
const env = readFileSync(join(dir, ".env"), "utf8").replace(/^\uFEFF/u, "");
|
|
412845
|
+
for (const line of env.split(/\r?\n/)) {
|
|
412845
412846
|
const match = line.match(/^BLUN_TELEGRAM_BOT_TOKEN=(.+)$/);
|
|
412846
412847
|
if (match?.[1] !== void 0) {
|
|
412847
412848
|
const token = match[1].trim();
|
|
@@ -498865,6 +498866,10 @@ function isUserCancelledSubagentError(error) {
|
|
|
498865
498866
|
}
|
|
498866
498867
|
//#endregion
|
|
498867
498868
|
//#region src/tui/controllers/session-event-handler.ts
|
|
498869
|
+
const MANAGED_TELEGRAM_MCP_SERVER = "plugin-telegram:telegram";
|
|
498870
|
+
function isManagedTelegramMissingTokenFailure(server) {
|
|
498871
|
+
return server.name === MANAGED_TELEGRAM_MCP_SERVER && server.status === "failed" && server.error?.includes("BLUN_TELEGRAM_BOT_TOKEN required") === true;
|
|
498872
|
+
}
|
|
498868
498873
|
var SessionEventHandler = class {
|
|
498869
498874
|
host;
|
|
498870
498875
|
subAgentEventHandler;
|
|
@@ -498953,22 +498958,23 @@ var SessionEventHandler = class {
|
|
|
498953
498958
|
return;
|
|
498954
498959
|
}
|
|
498955
498960
|
if (host.session !== session || host.state.appState.sessionId !== session.id) return;
|
|
498956
|
-
const
|
|
498961
|
+
const startupServers = servers.filter((server) => !isManagedTelegramMissingTokenFailure(server));
|
|
498962
|
+
const visible = selectMcpStartupStatusRows(startupServers);
|
|
498957
498963
|
const visibleNames = new Set(visible.map((server) => server.name));
|
|
498958
498964
|
for (const server of visible) {
|
|
498959
498965
|
if (this.renderedMcpServerStatusKeys.has(server.name)) continue;
|
|
498960
498966
|
this.renderMcpServerStatus(server);
|
|
498961
498967
|
}
|
|
498962
498968
|
this.mcpServers.clear();
|
|
498963
|
-
for (const server of
|
|
498969
|
+
for (const server of startupServers) this.mcpServers.set(server.name, server);
|
|
498964
498970
|
const hidden = [];
|
|
498965
|
-
for (const server of
|
|
498971
|
+
for (const server of startupServers) {
|
|
498966
498972
|
if (visibleNames.has(server.name)) continue;
|
|
498967
498973
|
if (this.renderedMcpServerStatusKeys.has(server.name)) continue;
|
|
498968
498974
|
this.renderedMcpServerStatusKeys.set(server.name, mcpServerStatusKey(server));
|
|
498969
498975
|
hidden.push(server);
|
|
498970
498976
|
}
|
|
498971
|
-
const summary = formatMcpStartupStatusSummary(
|
|
498977
|
+
const summary = formatMcpStartupStatusSummary(startupServers);
|
|
498972
498978
|
host.setAppState({ mcpServersSummary: summary || null });
|
|
498973
498979
|
}
|
|
498974
498980
|
handleEvent(event, sendQueued) {
|
|
@@ -499573,6 +499579,13 @@ var SessionEventHandler = class {
|
|
|
499573
499579
|
const key = mcpServerStatusKey(server);
|
|
499574
499580
|
if (this.renderedMcpServerStatusKeys.get(server.name) === key) return;
|
|
499575
499581
|
this.renderedMcpServerStatusKeys.set(server.name, key);
|
|
499582
|
+
if (isManagedTelegramMissingTokenFailure(server)) {
|
|
499583
|
+
this.mcpServers.delete(server.name);
|
|
499584
|
+
const summary = formatMcpStartupStatusSummary([...this.mcpServers.values()]);
|
|
499585
|
+
this.host.setAppState({ mcpServersSummary: summary || null });
|
|
499586
|
+
this.discardMcpServerStatusSpinner(server.name);
|
|
499587
|
+
return;
|
|
499588
|
+
}
|
|
499576
499589
|
this.mcpServers.set(server.name, server);
|
|
499577
499590
|
const summary = formatMcpStartupStatusSummary([...this.mcpServers.values()]);
|
|
499578
499591
|
this.host.setAppState({ mcpServersSummary: summary || null });
|
|
@@ -499640,6 +499653,20 @@ var SessionEventHandler = class {
|
|
|
499640
499653
|
this.mcpServerStatusSpinners.delete(name);
|
|
499641
499654
|
state.ui.requestRender();
|
|
499642
499655
|
}
|
|
499656
|
+
discardMcpServerStatusSpinner(name) {
|
|
499657
|
+
const { state } = this.host;
|
|
499658
|
+
const spinner = this.mcpServerStatusSpinners.get(name);
|
|
499659
|
+
if (spinner === void 0) return;
|
|
499660
|
+
spinner.stop();
|
|
499661
|
+
const children = state.transcriptContainer.children;
|
|
499662
|
+
const idx = children.indexOf(spinner);
|
|
499663
|
+
if (idx >= 0) {
|
|
499664
|
+
children.splice(idx, 1);
|
|
499665
|
+
state.transcriptContainer.invalidate();
|
|
499666
|
+
}
|
|
499667
|
+
this.mcpServerStatusSpinners.delete(name);
|
|
499668
|
+
state.ui.requestRender();
|
|
499669
|
+
}
|
|
499643
499670
|
handleSkillActivated(event) {
|
|
499644
499671
|
if (this.renderedSkillActivationIds.has(event.activationId)) return;
|
|
499645
499672
|
this.renderedSkillActivationIds.add(event.activationId);
|
|
@@ -508136,7 +508163,7 @@ var BlunTUI = class {
|
|
|
508136
508163
|
}
|
|
508137
508164
|
if (this.telegramChannel !== void 0) return;
|
|
508138
508165
|
if (!telegramChannelConfigured()) {
|
|
508139
|
-
this.showStatus(uiText("blunTui.telegram.noToken"), "
|
|
508166
|
+
this.showStatus(uiText("blunTui.telegram.noToken"), "textMuted");
|
|
508140
508167
|
return;
|
|
508141
508168
|
}
|
|
508142
508169
|
let controller;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blun-king-cli",
|
|
3
|
-
"version": "9.1.
|
|
3
|
+
"version": "9.1.13",
|
|
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": {
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
"x64",
|
|
23
23
|
"arm64"
|
|
24
24
|
],
|
|
25
|
-
"dependencies": {},
|
|
26
25
|
"optionalDependencies": {
|
|
27
26
|
"@mariozechner/clipboard": "^0.3.9",
|
|
28
27
|
"node-pty": "^1.1.0"
|
|
@@ -59268,7 +59268,8 @@ function loadEnvFile() {
|
|
|
59268
59268
|
chmodSync(envFile(), 384);
|
|
59269
59269
|
} catch {}
|
|
59270
59270
|
try {
|
|
59271
|
-
|
|
59271
|
+
const env = readFileSync(envFile(), "utf8").replace(/^\uFEFF/u, "");
|
|
59272
|
+
for (const line of env.split(/\r?\n/)) {
|
|
59272
59273
|
const m = line.match(/^(\w+)=(.*)$/);
|
|
59273
59274
|
const key = m?.[1];
|
|
59274
59275
|
const value = m?.[2];
|
|
@@ -73084,7 +73084,8 @@ function loadEnvFile() {
|
|
|
73084
73084
|
chmodSync(envFile(), 384);
|
|
73085
73085
|
} catch {}
|
|
73086
73086
|
try {
|
|
73087
|
-
|
|
73087
|
+
const env = readFileSync(envFile(), "utf8").replace(/^\uFEFF/u, "");
|
|
73088
|
+
for (const line of env.split(/\r?\n/)) {
|
|
73088
73089
|
const m = line.match(/^(\w+)=(.*)$/);
|
|
73089
73090
|
const key = m?.[1];
|
|
73090
73091
|
const value = m?.[2];
|