@bike4mind/cli 0.2.31-fix-cli-ws-review-feedback.19589 → 0.2.31-fix-liveops-debug-truncation.19588
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/dist/{chunk-PV6PZFPC.js → chunk-2VNZDV5G.js} +49 -0
- package/dist/{chunk-4P27WV34.js → chunk-EQTBH7XY.js} +1 -1
- package/dist/{chunk-DQHCE3TN.js → chunk-PRIDVS62.js} +1 -1
- package/dist/{chunk-S6AUIWWB.js → chunk-R3H2HVP3.js} +1 -1
- package/dist/{chunk-YGJWTKUY.js → chunk-RO6RODYS.js} +6 -6
- package/dist/commands/doctorCommand.js +1 -1
- package/dist/commands/updateCommand.js +1 -1
- package/dist/{create-PVJSCD5H.js → create-4FALZHJW.js} +2 -2
- package/dist/index.js +16 -22
- package/dist/{mementoService-RDPCVXWF.js → mementoService-PF3Q2YMM.js} +2 -2
- package/dist/{src-DCF72PTU.js → src-IRR3TPF3.js} +1 -1
- package/dist/{subtractCredits-K4PWRUF4.js → subtractCredits-365Y4CIQ.js} +2 -2
- package/package.json +6 -6
|
@@ -3097,8 +3097,25 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3097
3097
|
return;
|
|
3098
3098
|
}
|
|
3099
3099
|
} else {
|
|
3100
|
+
this.logger.info("[AnthropicBackend] Non-streaming request", {
|
|
3101
|
+
model,
|
|
3102
|
+
hasThinking: !!apiParams.thinking,
|
|
3103
|
+
thinkingBudget: apiParams.thinking?.budget_tokens,
|
|
3104
|
+
maxTokens: apiParams.max_tokens,
|
|
3105
|
+
temperature: apiParams.temperature,
|
|
3106
|
+
isThinkingEnabled: this.isThinkingEnabled
|
|
3107
|
+
});
|
|
3100
3108
|
const response = await this._api.messages.create(apiParams, { signal: options.abortSignal });
|
|
3101
3109
|
const streamedText = [];
|
|
3110
|
+
const contentTypes = "content" in response && Array.isArray(response.content) ? response.content.map((c) => c.type || (c.text ? "text" : "unknown")) : [];
|
|
3111
|
+
this.logger.info("[AnthropicBackend] Non-streaming response received", {
|
|
3112
|
+
model,
|
|
3113
|
+
stopReason: response.stop_reason,
|
|
3114
|
+
contentBlockCount: contentTypes.length,
|
|
3115
|
+
contentTypes: contentTypes.join(","),
|
|
3116
|
+
inputTokens: response.usage?.input_tokens,
|
|
3117
|
+
outputTokens: response.usage?.output_tokens
|
|
3118
|
+
});
|
|
3102
3119
|
if ("content" in response && Array.isArray(response.content)) {
|
|
3103
3120
|
if (this.isThinkingEnabled) {
|
|
3104
3121
|
this.lastAssistantContent = response.content;
|
|
@@ -3107,12 +3124,21 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3107
3124
|
const content = response.content[i];
|
|
3108
3125
|
if ("text" in content) {
|
|
3109
3126
|
streamedText.push(content.text);
|
|
3127
|
+
this.logger.debug("[AnthropicBackend] Text block extracted", {
|
|
3128
|
+
blockIndex: i,
|
|
3129
|
+
textLength: content.text.length
|
|
3130
|
+
});
|
|
3110
3131
|
} else if ("type" in content) {
|
|
3111
3132
|
if (content.type === "tool_use") {
|
|
3112
3133
|
func[i] ||= {};
|
|
3113
3134
|
func[i].name = content.name;
|
|
3114
3135
|
func[i].id = content.id;
|
|
3115
3136
|
func[i].parameters = JSON.stringify(content.input || {});
|
|
3137
|
+
} else if (content.type === "thinking") {
|
|
3138
|
+
this.logger.warn("[AnthropicBackend] Unexpected thinking block in response", {
|
|
3139
|
+
blockIndex: i,
|
|
3140
|
+
thinkingLength: content.thinking?.length || 0
|
|
3141
|
+
});
|
|
3116
3142
|
}
|
|
3117
3143
|
}
|
|
3118
3144
|
}
|
|
@@ -4191,7 +4217,30 @@ ${modelIdentity}` : modelIdentity;
|
|
|
4191
4217
|
translateChunk(model, chunk) {
|
|
4192
4218
|
try {
|
|
4193
4219
|
const response = chunk;
|
|
4220
|
+
const contentTypes = response.content.map((c) => c.type);
|
|
4221
|
+
const thinkingBlocks = response.content.filter((c) => c.type === "thinking");
|
|
4222
|
+
console.log(`[AnthropicBedrockBackend] Response received:`, {
|
|
4223
|
+
model,
|
|
4224
|
+
stopReason: response.stop_reason,
|
|
4225
|
+
contentBlockCount: response.content.length,
|
|
4226
|
+
contentTypes: contentTypes.join(","),
|
|
4227
|
+
hasThinkingBlocks: thinkingBlocks.length > 0,
|
|
4228
|
+
thinkingBlockCount: thinkingBlocks.length,
|
|
4229
|
+
inputTokens: response.usage?.input_tokens,
|
|
4230
|
+
outputTokens: response.usage?.output_tokens
|
|
4231
|
+
});
|
|
4232
|
+
if (thinkingBlocks.length > 0) {
|
|
4233
|
+
console.warn(`[AnthropicBedrockBackend] Unexpected thinking blocks in response`, {
|
|
4234
|
+
thinkingBlockCount: thinkingBlocks.length,
|
|
4235
|
+
thinkingLengths: thinkingBlocks.map((b) => b.thinking?.length || 0)
|
|
4236
|
+
});
|
|
4237
|
+
}
|
|
4194
4238
|
const textContent = response.content.filter((item) => item.type === "text").map((item) => item.text || "").join("");
|
|
4239
|
+
console.log(`[AnthropicBedrockBackend] Text extracted:`, {
|
|
4240
|
+
textLength: textContent.length,
|
|
4241
|
+
textPreview: textContent.substring(0, 200),
|
|
4242
|
+
endsWithCloseBrace: textContent.trim().endsWith("}")
|
|
4243
|
+
});
|
|
4195
4244
|
const toolUseBlocks = response.content.filter((item) => item.type === "tool_use");
|
|
4196
4245
|
let choice;
|
|
4197
4246
|
if (toolUseBlocks.length > 0) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// package.json
|
|
4
4
|
var package_default = {
|
|
5
5
|
name: "@bike4mind/cli",
|
|
6
|
-
version: "0.2.31-fix-
|
|
6
|
+
version: "0.2.31-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
7
7
|
type: "module",
|
|
8
8
|
description: "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
9
9
|
license: "UNLICENSED",
|
|
@@ -114,10 +114,10 @@ var package_default = {
|
|
|
114
114
|
},
|
|
115
115
|
devDependencies: {
|
|
116
116
|
"@bike4mind/agents": "0.1.0",
|
|
117
|
-
"@bike4mind/common": "2.52.1-fix-
|
|
118
|
-
"@bike4mind/mcp": "1.31.1-fix-
|
|
119
|
-
"@bike4mind/services": "2.50.1-fix-
|
|
120
|
-
"@bike4mind/utils": "2.7.1-fix-
|
|
117
|
+
"@bike4mind/common": "2.52.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
118
|
+
"@bike4mind/mcp": "1.31.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
119
|
+
"@bike4mind/services": "2.50.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
120
|
+
"@bike4mind/utils": "2.7.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
121
121
|
"@types/better-sqlite3": "^7.6.13",
|
|
122
122
|
"@types/diff": "^5.0.9",
|
|
123
123
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -138,7 +138,7 @@ var package_default = {
|
|
|
138
138
|
optionalDependencies: {
|
|
139
139
|
"@vscode/ripgrep": "^1.17.0"
|
|
140
140
|
},
|
|
141
|
-
gitHead: "
|
|
141
|
+
gitHead: "0f8deb24dc5533a9a70168218e1404c93df77f0a"
|
|
142
142
|
};
|
|
143
143
|
|
|
144
144
|
// src/utils/updateChecker.ts
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import "./chunk-GQGOWACU.js";
|
|
3
|
-
import "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
import "./chunk-EQTBH7XY.js";
|
|
4
|
+
import "./chunk-R3H2HVP3.js";
|
|
5
5
|
import "./chunk-BPFEGDC7.js";
|
|
6
6
|
import "./chunk-BDQBOLYG.js";
|
|
7
7
|
import {
|
|
8
8
|
getEffectiveApiKey,
|
|
9
9
|
getOpenWeatherKey,
|
|
10
10
|
getSerperKey
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PRIDVS62.js";
|
|
12
12
|
import {
|
|
13
13
|
ConfigStore,
|
|
14
14
|
logger
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
checkForUpdate,
|
|
18
18
|
package_default
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-RO6RODYS.js";
|
|
20
20
|
import {
|
|
21
21
|
selectActiveBackgroundAgents,
|
|
22
22
|
useCliStore
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
OpenAIBackend,
|
|
33
33
|
OpenAIImageService,
|
|
34
34
|
XAIImageService
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-2VNZDV5G.js";
|
|
36
36
|
import {
|
|
37
37
|
AiEvents,
|
|
38
38
|
ApiKeyEvents,
|
|
@@ -17361,7 +17361,6 @@ var WebSocketLlmBackend = class {
|
|
|
17361
17361
|
settled = true;
|
|
17362
17362
|
this.wsManager.offRequest(requestId);
|
|
17363
17363
|
this.wsManager.offDisconnect(onDisconnect);
|
|
17364
|
-
options.abortSignal?.removeEventListener("abort", abortHandler);
|
|
17365
17364
|
action();
|
|
17366
17365
|
};
|
|
17367
17366
|
const settleResolve = () => settle(() => resolve3());
|
|
@@ -17371,16 +17370,19 @@ var WebSocketLlmBackend = class {
|
|
|
17371
17370
|
settleReject(new Error("WebSocket connection lost during completion"));
|
|
17372
17371
|
};
|
|
17373
17372
|
this.wsManager.onDisconnect(onDisconnect);
|
|
17374
|
-
const abortHandler = () => {
|
|
17375
|
-
logger.debug("[WebSocketLlmBackend] Abort signal received");
|
|
17376
|
-
settleResolve();
|
|
17377
|
-
};
|
|
17378
17373
|
if (options.abortSignal) {
|
|
17379
17374
|
if (options.abortSignal.aborted) {
|
|
17380
17375
|
settleResolve();
|
|
17381
17376
|
return;
|
|
17382
17377
|
}
|
|
17383
|
-
options.abortSignal.addEventListener(
|
|
17378
|
+
options.abortSignal.addEventListener(
|
|
17379
|
+
"abort",
|
|
17380
|
+
() => {
|
|
17381
|
+
logger.debug("[WebSocketLlmBackend] Abort signal received");
|
|
17382
|
+
settleResolve();
|
|
17383
|
+
},
|
|
17384
|
+
{ once: true }
|
|
17385
|
+
);
|
|
17384
17386
|
}
|
|
17385
17387
|
const updateUsage = (usage) => {
|
|
17386
17388
|
if (usage) {
|
|
@@ -17718,35 +17720,27 @@ var WebSocketToolExecutor = class {
|
|
|
17718
17720
|
const requestId = uuidv412();
|
|
17719
17721
|
return new Promise((resolve3, reject) => {
|
|
17720
17722
|
let settled = false;
|
|
17721
|
-
let timeoutTimer;
|
|
17722
17723
|
const settle = (action) => {
|
|
17723
17724
|
if (settled) return;
|
|
17724
17725
|
settled = true;
|
|
17725
|
-
clearTimeout(timeoutTimer);
|
|
17726
17726
|
this.wsManager.offRequest(requestId);
|
|
17727
17727
|
this.wsManager.offDisconnect(onDisconnect);
|
|
17728
|
-
abortSignal?.removeEventListener("abort", abortHandler);
|
|
17729
17728
|
action();
|
|
17730
17729
|
};
|
|
17731
17730
|
const settleResolve = (result) => settle(() => resolve3(result));
|
|
17732
17731
|
const settleReject = (err) => settle(() => reject(err));
|
|
17733
|
-
const TOOL_TIMEOUT_MS = 5 * 60 * 1e3;
|
|
17734
|
-
timeoutTimer = setTimeout(() => {
|
|
17735
|
-
settleReject(new Error(`Tool execution timed out after ${TOOL_TIMEOUT_MS / 1e3}s`));
|
|
17736
|
-
}, TOOL_TIMEOUT_MS);
|
|
17737
17732
|
const onDisconnect = () => {
|
|
17738
17733
|
settleReject(new Error("WebSocket connection lost during tool execution"));
|
|
17739
17734
|
};
|
|
17740
17735
|
this.wsManager.onDisconnect(onDisconnect);
|
|
17741
|
-
const abortHandler = () => {
|
|
17742
|
-
settleReject(new Error("Tool execution aborted"));
|
|
17743
|
-
};
|
|
17744
17736
|
if (abortSignal) {
|
|
17745
17737
|
if (abortSignal.aborted) {
|
|
17746
17738
|
settleReject(new Error("Tool execution aborted"));
|
|
17747
17739
|
return;
|
|
17748
17740
|
}
|
|
17749
|
-
abortSignal.addEventListener("abort",
|
|
17741
|
+
abortSignal.addEventListener("abort", () => settleReject(new Error("Tool execution aborted")), {
|
|
17742
|
+
once: true
|
|
17743
|
+
});
|
|
17750
17744
|
}
|
|
17751
17745
|
this.wsManager.onRequest(requestId, (message) => {
|
|
17752
17746
|
if (message.action === "cli_tool_response") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.31-fix-
|
|
3
|
+
"version": "0.2.31-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -111,10 +111,10 @@
|
|
|
111
111
|
},
|
|
112
112
|
"devDependencies": {
|
|
113
113
|
"@bike4mind/agents": "0.1.0",
|
|
114
|
-
"@bike4mind/common": "2.52.1-fix-
|
|
115
|
-
"@bike4mind/mcp": "1.31.1-fix-
|
|
116
|
-
"@bike4mind/services": "2.50.1-fix-
|
|
117
|
-
"@bike4mind/utils": "2.7.1-fix-
|
|
114
|
+
"@bike4mind/common": "2.52.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
115
|
+
"@bike4mind/mcp": "1.31.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
116
|
+
"@bike4mind/services": "2.50.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
117
|
+
"@bike4mind/utils": "2.7.1-fix-liveops-debug-truncation.19588+0f8deb24d",
|
|
118
118
|
"@types/better-sqlite3": "^7.6.13",
|
|
119
119
|
"@types/diff": "^5.0.9",
|
|
120
120
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -135,5 +135,5 @@
|
|
|
135
135
|
"optionalDependencies": {
|
|
136
136
|
"@vscode/ripgrep": "^1.17.0"
|
|
137
137
|
},
|
|
138
|
-
"gitHead": "
|
|
138
|
+
"gitHead": "0f8deb24dc5533a9a70168218e1404c93df77f0a"
|
|
139
139
|
}
|