@bike4mind/cli 0.2.60-fix-bfl-422-null-params.21650 → 0.2.60-fix-7468-stream-idle-timeout-json-parse.21653
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-E5YQBSTA.js → chunk-EJKNCVWO.js} +77 -26
- package/dist/{chunk-TBPKJ7LL.js → chunk-TWNZBSVT.js} +2 -2
- package/dist/{chunk-6PYA7E33.js → chunk-VQOOKWTV.js} +1 -1
- package/dist/{chunk-NAEXHQZQ.js → chunk-XN7L7DV3.js} +7 -7
- package/dist/{chunk-TBNKPTUX.js → chunk-YRSSZC5P.js} +1 -1
- package/dist/{chunk-YYFDXZTX.js → chunk-YW2MS7NL.js} +1 -1
- package/dist/commands/doctorCommand.js +1 -1
- package/dist/commands/headlessCommand.js +5 -5
- package/dist/commands/updateCommand.js +1 -1
- package/dist/{create-ASZ2Q4MA.js → create-ZN7ITOUM.js} +2 -2
- package/dist/index.js +6 -6
- package/dist/{mementoService-B2YFCRWS.js → mementoService-TMF7AKQ5.js} +2 -2
- package/dist/{src-OKACQT5T.js → src-D3MLSZS3.js} +1 -1
- package/dist/{subtractCredits-6JSD64LJ.js → subtractCredits-UJAY5XP3.js} +2 -2
- package/package.json +7 -7
|
@@ -3394,6 +3394,16 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3394
3394
|
if (idleTimer)
|
|
3395
3395
|
clearTimeout(idleTimer);
|
|
3396
3396
|
}
|
|
3397
|
+
if (isIdleTimeout) {
|
|
3398
|
+
this.logger.error("[AnthropicBackend] Stream ended after idle timeout - rejecting to avoid processing partial data", {
|
|
3399
|
+
model,
|
|
3400
|
+
toolCount: options.tools?.length || 0,
|
|
3401
|
+
idleTimeoutMs: idleTimeoutMsForError,
|
|
3402
|
+
funcEntries: func.filter((f) => f?.name).length
|
|
3403
|
+
});
|
|
3404
|
+
reject(new Error(`Anthropic API stream timeout - no response received within ${idleTimeoutMsForError / 1e3} seconds. The model may be overloaded. Try simplifying your request or using fewer tools.`));
|
|
3405
|
+
return;
|
|
3406
|
+
}
|
|
3397
3407
|
if (this.isThinkingEnabled && collectedContent.length > 0) {
|
|
3398
3408
|
this.lastAssistantContent = collectedContent.filter((c) => c != null);
|
|
3399
3409
|
}
|
|
@@ -3474,16 +3484,18 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3474
3484
|
const toolFn = toolDef?.toolFn;
|
|
3475
3485
|
const isMcpTool = toolDef?._isMcpTool ?? false;
|
|
3476
3486
|
if (name && toolFn) {
|
|
3487
|
+
const parsedParams = this.tryParseToolParams(parameters, { id, name, model, isMcpTool, streaming: true }, messages);
|
|
3488
|
+
if (!parsedParams)
|
|
3489
|
+
continue;
|
|
3477
3490
|
this.logger.info("[Tool Execution] Executing tool", {
|
|
3478
3491
|
model,
|
|
3479
3492
|
toolName: name,
|
|
3480
3493
|
isMcpTool,
|
|
3481
3494
|
toolCallIteration: toolCallCount + 1,
|
|
3482
|
-
parameterKeys: Object.keys(
|
|
3495
|
+
parameterKeys: Object.keys(parsedParams)
|
|
3483
3496
|
});
|
|
3484
3497
|
const toolStartTime = Date.now();
|
|
3485
3498
|
try {
|
|
3486
|
-
const parsedParams = JSON.parse(parameters);
|
|
3487
3499
|
const result = await toolFn(parsedParams);
|
|
3488
3500
|
const resultStr = result.toString();
|
|
3489
3501
|
const toolDuration = Date.now() - toolStartTime;
|
|
@@ -3502,7 +3514,7 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3502
3514
|
toolsUsed
|
|
3503
3515
|
});
|
|
3504
3516
|
});
|
|
3505
|
-
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).
|
|
3517
|
+
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
|
|
3506
3518
|
this.pushToolMessages(messages, { id: toolId, name, parameters }, resultStr);
|
|
3507
3519
|
} catch (error) {
|
|
3508
3520
|
const toolDuration = Date.now() - toolStartTime;
|
|
@@ -3516,7 +3528,7 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3516
3528
|
durationMs: toolDuration,
|
|
3517
3529
|
error: error instanceof Error ? error.message : "Unknown error"
|
|
3518
3530
|
});
|
|
3519
|
-
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).
|
|
3531
|
+
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
|
|
3520
3532
|
this.pushToolMessages(messages, { id: toolId, name, parameters }, `Error processing ${name} tool: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
3521
3533
|
}
|
|
3522
3534
|
} else if (name && !toolFn) {
|
|
@@ -3624,16 +3636,18 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3624
3636
|
const toolFn = toolDef?.toolFn;
|
|
3625
3637
|
const isMcpTool = toolDef?._isMcpTool ?? false;
|
|
3626
3638
|
if (name && toolFn) {
|
|
3639
|
+
const parsedParams = this.tryParseToolParams(parameters, { id, name, model, isMcpTool, streaming: false }, messages);
|
|
3640
|
+
if (!parsedParams)
|
|
3641
|
+
continue;
|
|
3627
3642
|
this.logger.info("[Tool Execution] Executing tool (non-streaming)", {
|
|
3628
3643
|
model,
|
|
3629
3644
|
toolName: name,
|
|
3630
3645
|
isMcpTool,
|
|
3631
3646
|
toolCallIteration: toolCallCount + 1,
|
|
3632
|
-
parameterKeys: Object.keys(
|
|
3647
|
+
parameterKeys: Object.keys(parsedParams)
|
|
3633
3648
|
});
|
|
3634
3649
|
const toolStartTime = Date.now();
|
|
3635
3650
|
try {
|
|
3636
|
-
const parsedParams = JSON.parse(parameters);
|
|
3637
3651
|
const result = await toolFn(parsedParams);
|
|
3638
3652
|
const resultStr = result.toString();
|
|
3639
3653
|
const toolDuration = Date.now() - toolStartTime;
|
|
@@ -3648,7 +3662,7 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3648
3662
|
await handleToolResultStreaming(name, result, async (results) => {
|
|
3649
3663
|
await cb(results, { toolsUsed });
|
|
3650
3664
|
});
|
|
3651
|
-
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).
|
|
3665
|
+
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
|
|
3652
3666
|
this.pushToolMessages(messages, { id: toolId, name, parameters }, resultStr);
|
|
3653
3667
|
} catch (error) {
|
|
3654
3668
|
const toolDuration = Date.now() - toolStartTime;
|
|
@@ -3662,7 +3676,7 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3662
3676
|
durationMs: toolDuration,
|
|
3663
3677
|
error: error instanceof Error ? error.message : "Unknown error"
|
|
3664
3678
|
});
|
|
3665
|
-
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).
|
|
3679
|
+
const toolId = id || `tool_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
|
|
3666
3680
|
this.pushToolMessages(messages, { id: toolId, name, parameters }, `Error processing ${name} tool: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
3667
3681
|
}
|
|
3668
3682
|
} else if (name && !toolFn) {
|
|
@@ -3755,6 +3769,28 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3755
3769
|
};
|
|
3756
3770
|
});
|
|
3757
3771
|
}
|
|
3772
|
+
/**
|
|
3773
|
+
* Attempt to parse tool parameters JSON. On failure, logs the error and pushes
|
|
3774
|
+
* a descriptive error as the tool result so the model can retry.
|
|
3775
|
+
* Returns parsed params on success, or null to signal the caller should skip execution.
|
|
3776
|
+
*/
|
|
3777
|
+
tryParseToolParams(parameters, context, messages) {
|
|
3778
|
+
try {
|
|
3779
|
+
return JSON.parse(parameters);
|
|
3780
|
+
} catch (parseError) {
|
|
3781
|
+
const label = context.streaming ? "streaming" : "non-streaming";
|
|
3782
|
+
this.logger.error(`[Tool Execution] Invalid tool parameters - skipping execution (${label})`, {
|
|
3783
|
+
model: context.model,
|
|
3784
|
+
toolName: context.name,
|
|
3785
|
+
isMcpTool: context.isMcpTool,
|
|
3786
|
+
parametersPreview: parameters.substring(0, 100),
|
|
3787
|
+
error: parseError instanceof Error ? parseError.message : String(parseError)
|
|
3788
|
+
});
|
|
3789
|
+
const toolId = context.id || `tool_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
|
|
3790
|
+
this.pushToolMessages(messages, { id: toolId, name: context.name, parameters: "{}" }, `Error: Tool parameters were corrupted due to a stream interruption. Please retry.`);
|
|
3791
|
+
return null;
|
|
3792
|
+
}
|
|
3793
|
+
}
|
|
3758
3794
|
pushToolMessages(messages, tool, result, thinkingBlocks) {
|
|
3759
3795
|
if (this.isThinkingEnabled && this.lastAssistantContent.length > 0) {
|
|
3760
3796
|
messages.push({
|
|
@@ -3763,6 +3799,17 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3763
3799
|
});
|
|
3764
3800
|
this.logger.debug(`[AnthropicBackend] Including ${this.lastAssistantContent.length} content blocks (thinking + tool_use) in assistant message`);
|
|
3765
3801
|
} else if (thinkingBlocks && thinkingBlocks.length > 0) {
|
|
3802
|
+
let parsedInput;
|
|
3803
|
+
try {
|
|
3804
|
+
parsedInput = JSON.parse(tool.parameters || "{}");
|
|
3805
|
+
} catch (parseError) {
|
|
3806
|
+
this.logger.warn("[AnthropicBackend] Failed to parse tool parameters in pushToolMessages, using empty object", {
|
|
3807
|
+
toolName: tool.name,
|
|
3808
|
+
parametersPreview: (tool.parameters || "").substring(0, 100),
|
|
3809
|
+
error: parseError instanceof Error ? parseError.message : String(parseError)
|
|
3810
|
+
});
|
|
3811
|
+
parsedInput = {};
|
|
3812
|
+
}
|
|
3766
3813
|
messages.push({
|
|
3767
3814
|
role: "assistant",
|
|
3768
3815
|
content: [
|
|
@@ -3771,12 +3818,23 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3771
3818
|
type: "tool_use",
|
|
3772
3819
|
id: tool.id,
|
|
3773
3820
|
name: tool.name,
|
|
3774
|
-
input:
|
|
3821
|
+
input: parsedInput
|
|
3775
3822
|
}
|
|
3776
3823
|
]
|
|
3777
3824
|
});
|
|
3778
3825
|
this.logger.debug(`[AnthropicBackend] Including ${thinkingBlocks.length} explicit thinking blocks in assistant message`);
|
|
3779
3826
|
} else {
|
|
3827
|
+
let parsedInput;
|
|
3828
|
+
try {
|
|
3829
|
+
parsedInput = JSON.parse(tool.parameters || "{}");
|
|
3830
|
+
} catch (parseError) {
|
|
3831
|
+
this.logger.warn("[AnthropicBackend] Failed to parse tool parameters in pushToolMessages, using empty object", {
|
|
3832
|
+
toolName: tool.name,
|
|
3833
|
+
parametersPreview: (tool.parameters || "").substring(0, 100),
|
|
3834
|
+
error: parseError instanceof Error ? parseError.message : String(parseError)
|
|
3835
|
+
});
|
|
3836
|
+
parsedInput = {};
|
|
3837
|
+
}
|
|
3780
3838
|
messages.push({
|
|
3781
3839
|
role: "assistant",
|
|
3782
3840
|
content: [
|
|
@@ -3784,7 +3842,7 @@ IMPORTANT! Only when someone asks, remember that you are specifically the ${mode
|
|
|
3784
3842
|
type: "tool_use",
|
|
3785
3843
|
id: tool.id,
|
|
3786
3844
|
name: tool.name,
|
|
3787
|
-
input:
|
|
3845
|
+
input: parsedInput
|
|
3788
3846
|
}
|
|
3789
3847
|
]
|
|
3790
3848
|
});
|
|
@@ -11366,10 +11424,6 @@ var TestImageService = class extends AIImageService {
|
|
|
11366
11424
|
import axios3 from "axios";
|
|
11367
11425
|
var BFLImageService = class extends AIImageService {
|
|
11368
11426
|
baseUrl = "https://api.bfl.ai/v1";
|
|
11369
|
-
/** Strip null and undefined values from an object to avoid 422 rejections from BFL API */
|
|
11370
|
-
stripNullFields(obj) {
|
|
11371
|
-
return Object.fromEntries(Object.entries(obj).filter(([, v]) => v != null));
|
|
11372
|
-
}
|
|
11373
11427
|
constructor(apiKey, logger, imageProcessorLambdaName) {
|
|
11374
11428
|
super(apiKey, logger, imageProcessorLambdaName);
|
|
11375
11429
|
}
|
|
@@ -11402,9 +11456,8 @@ var BFLImageService = class extends AIImageService {
|
|
|
11402
11456
|
requestBody.height = height;
|
|
11403
11457
|
}
|
|
11404
11458
|
}
|
|
11405
|
-
|
|
11406
|
-
|
|
11407
|
-
const submitResponse = await axios3.post(`${this.baseUrl}/${model}`, cleanedBody, {
|
|
11459
|
+
console.log("[DEBUG] BFL Image generation request body:", requestBody);
|
|
11460
|
+
const submitResponse = await axios3.post(`${this.baseUrl}/${model}`, requestBody, {
|
|
11408
11461
|
headers: {
|
|
11409
11462
|
accept: "application/json",
|
|
11410
11463
|
"x-key": this.apiKey,
|
|
@@ -11438,7 +11491,7 @@ var BFLImageService = class extends AIImageService {
|
|
|
11438
11491
|
if (axios3.isAxiosError(error)) {
|
|
11439
11492
|
console.error("[DEBUG] Axios error details:", {
|
|
11440
11493
|
status: error.response?.status,
|
|
11441
|
-
data:
|
|
11494
|
+
data: error.response?.data,
|
|
11442
11495
|
headers: error.response?.headers,
|
|
11443
11496
|
endpoint: `${this.baseUrl}/${model}`
|
|
11444
11497
|
});
|
|
@@ -11459,9 +11512,8 @@ var BFLImageService = class extends AIImageService {
|
|
|
11459
11512
|
guidance,
|
|
11460
11513
|
output_format
|
|
11461
11514
|
};
|
|
11462
|
-
|
|
11463
|
-
|
|
11464
|
-
const submitResponse = await axios3.post(`${this.baseUrl}/${model}`, cleanedBody, {
|
|
11515
|
+
console.log("[DEBUG] BFL Image edit request body:", requestBody);
|
|
11516
|
+
const submitResponse = await axios3.post(`${this.baseUrl}/${model}`, requestBody, {
|
|
11465
11517
|
headers: {
|
|
11466
11518
|
accept: "application/json",
|
|
11467
11519
|
"x-key": this.apiKey,
|
|
@@ -11489,7 +11541,7 @@ var BFLImageService = class extends AIImageService {
|
|
|
11489
11541
|
if (axios3.isAxiosError(error)) {
|
|
11490
11542
|
console.error("[DEBUG] Axios error details:", {
|
|
11491
11543
|
status: error.response?.status,
|
|
11492
|
-
data:
|
|
11544
|
+
data: error.response?.data,
|
|
11493
11545
|
headers: error.response?.headers,
|
|
11494
11546
|
endpoint: `${this.baseUrl}/${model}`
|
|
11495
11547
|
});
|
|
@@ -11527,16 +11579,15 @@ var BFLImageService = class extends AIImageService {
|
|
|
11527
11579
|
requestBody.aspect_ratio = aspect_ratio;
|
|
11528
11580
|
console.log(`[DEBUG] \u2705 Added aspect_ratio: ${aspect_ratio} for Kontext model`);
|
|
11529
11581
|
}
|
|
11530
|
-
const cleanedBody = this.stripNullFields(requestBody);
|
|
11531
11582
|
const safeRequestBody = {
|
|
11532
|
-
...
|
|
11583
|
+
...requestBody,
|
|
11533
11584
|
input_image: `[BASE64_DATA_${requestBody.input_image.length}_CHARS]`
|
|
11534
11585
|
};
|
|
11535
11586
|
console.log("[DEBUG] BFL Kontext transformation request body (sanitized):", safeRequestBody);
|
|
11536
11587
|
const endpoint = `${this.baseUrl}/${model}`;
|
|
11537
11588
|
console.log(`[DEBUG] Making request to BFL endpoint: ${endpoint}`);
|
|
11538
11589
|
try {
|
|
11539
|
-
const submitResponse = await axios3.post(endpoint,
|
|
11590
|
+
const submitResponse = await axios3.post(endpoint, requestBody, {
|
|
11540
11591
|
headers: {
|
|
11541
11592
|
accept: "application/json",
|
|
11542
11593
|
"x-key": this.apiKey,
|
|
@@ -11586,7 +11637,7 @@ var BFLImageService = class extends AIImageService {
|
|
|
11586
11637
|
if (axios3.isAxiosError(error)) {
|
|
11587
11638
|
console.error("[DEBUG] Axios error details:", {
|
|
11588
11639
|
status: error.response?.status,
|
|
11589
|
-
data:
|
|
11640
|
+
data: error.response?.data,
|
|
11590
11641
|
headers: error.response?.headers,
|
|
11591
11642
|
endpoint: `${this.baseUrl}/${model}`
|
|
11592
11643
|
});
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getOpenWeatherKey,
|
|
5
5
|
getSerperKey,
|
|
6
6
|
getWolframAlphaKey
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-VQOOKWTV.js";
|
|
8
8
|
import {
|
|
9
9
|
BFLImageService,
|
|
10
10
|
BaseStorage,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
OpenAIBackend,
|
|
17
17
|
OpenAIImageService,
|
|
18
18
|
XAIImageService
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-EJKNCVWO.js";
|
|
20
20
|
import {
|
|
21
21
|
Logger
|
|
22
22
|
} from "./chunk-PFBYGCOW.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// package.json
|
|
4
4
|
var package_default = {
|
|
5
5
|
name: "@bike4mind/cli",
|
|
6
|
-
version: "0.2.60-fix-
|
|
6
|
+
version: "0.2.60-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
7
7
|
type: "module",
|
|
8
8
|
description: "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
9
9
|
license: "UNLICENSED",
|
|
@@ -118,11 +118,11 @@ var package_default = {
|
|
|
118
118
|
zustand: "^4.5.4"
|
|
119
119
|
},
|
|
120
120
|
devDependencies: {
|
|
121
|
-
"@bike4mind/agents": "0.2.4-fix-
|
|
122
|
-
"@bike4mind/common": "2.72.1-fix-
|
|
123
|
-
"@bike4mind/mcp": "1.33.18-fix-
|
|
124
|
-
"@bike4mind/services": "2.67.1-fix-
|
|
125
|
-
"@bike4mind/utils": "2.15.12-fix-
|
|
121
|
+
"@bike4mind/agents": "0.2.4-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
122
|
+
"@bike4mind/common": "2.72.1-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
123
|
+
"@bike4mind/mcp": "1.33.18-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
124
|
+
"@bike4mind/services": "2.67.1-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
125
|
+
"@bike4mind/utils": "2.15.12-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
126
126
|
"@types/better-sqlite3": "^7.6.13",
|
|
127
127
|
"@types/jsonwebtoken": "^9.0.4",
|
|
128
128
|
"@types/node": "^22.9.0",
|
|
@@ -139,7 +139,7 @@ var package_default = {
|
|
|
139
139
|
optionalDependencies: {
|
|
140
140
|
"@vscode/ripgrep": "^1.17.1"
|
|
141
141
|
},
|
|
142
|
-
gitHead: "
|
|
142
|
+
gitHead: "abce7291cda874f63c1925536a4bf6f548326f30"
|
|
143
143
|
};
|
|
144
144
|
|
|
145
145
|
// src/utils/updateChecker.ts
|
|
@@ -36,13 +36,13 @@ import {
|
|
|
36
36
|
isReadOnlyTool,
|
|
37
37
|
loadContextFiles,
|
|
38
38
|
setWebSocketToolExecutor
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-TWNZBSVT.js";
|
|
40
40
|
import "../chunk-BDQBOLYG.js";
|
|
41
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-VQOOKWTV.js";
|
|
42
42
|
import "../chunk-GQGOWACU.js";
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
43
|
+
import "../chunk-YW2MS7NL.js";
|
|
44
|
+
import "../chunk-YRSSZC5P.js";
|
|
45
|
+
import "../chunk-EJKNCVWO.js";
|
|
46
46
|
import "../chunk-PFBYGCOW.js";
|
|
47
47
|
import "../chunk-BPFEGDC7.js";
|
|
48
48
|
import {
|
package/dist/index.js
CHANGED
|
@@ -48,15 +48,15 @@ import {
|
|
|
48
48
|
setWebSocketToolExecutor,
|
|
49
49
|
substituteArguments,
|
|
50
50
|
warmFileCache
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-TWNZBSVT.js";
|
|
52
52
|
import "./chunk-BDQBOLYG.js";
|
|
53
|
-
import "./chunk-
|
|
53
|
+
import "./chunk-VQOOKWTV.js";
|
|
54
54
|
import "./chunk-GQGOWACU.js";
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-YW2MS7NL.js";
|
|
56
|
+
import "./chunk-YRSSZC5P.js";
|
|
57
57
|
import {
|
|
58
58
|
OllamaBackend
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-EJKNCVWO.js";
|
|
60
60
|
import "./chunk-PFBYGCOW.js";
|
|
61
61
|
import "./chunk-BPFEGDC7.js";
|
|
62
62
|
import {
|
|
@@ -66,7 +66,7 @@ import {
|
|
|
66
66
|
import {
|
|
67
67
|
checkForUpdate,
|
|
68
68
|
package_default
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-XN7L7DV3.js";
|
|
70
70
|
import {
|
|
71
71
|
selectActiveBackgroundAgents,
|
|
72
72
|
useCliStore
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.60-fix-
|
|
3
|
+
"version": "0.2.60-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -115,11 +115,11 @@
|
|
|
115
115
|
"zustand": "^4.5.4"
|
|
116
116
|
},
|
|
117
117
|
"devDependencies": {
|
|
118
|
-
"@bike4mind/agents": "0.2.4-fix-
|
|
119
|
-
"@bike4mind/common": "2.72.1-fix-
|
|
120
|
-
"@bike4mind/mcp": "1.33.18-fix-
|
|
121
|
-
"@bike4mind/services": "2.67.1-fix-
|
|
122
|
-
"@bike4mind/utils": "2.15.12-fix-
|
|
118
|
+
"@bike4mind/agents": "0.2.4-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
119
|
+
"@bike4mind/common": "2.72.1-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
120
|
+
"@bike4mind/mcp": "1.33.18-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
121
|
+
"@bike4mind/services": "2.67.1-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
122
|
+
"@bike4mind/utils": "2.15.12-fix-7468-stream-idle-timeout-json-parse.21653+abce7291c",
|
|
123
123
|
"@types/better-sqlite3": "^7.6.13",
|
|
124
124
|
"@types/jsonwebtoken": "^9.0.4",
|
|
125
125
|
"@types/node": "^22.9.0",
|
|
@@ -136,5 +136,5 @@
|
|
|
136
136
|
"optionalDependencies": {
|
|
137
137
|
"@vscode/ripgrep": "^1.17.1"
|
|
138
138
|
},
|
|
139
|
-
"gitHead": "
|
|
139
|
+
"gitHead": "abce7291cda874f63c1925536a4bf6f548326f30"
|
|
140
140
|
}
|