@bike4mind/cli 0.2.5-feat-cli-dynamic-model-fetching.17089 → 0.2.5-feat-cli-dynamic-model-fetching.17090
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/index.js +28 -14
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -690,19 +690,24 @@ function buildConfigItems(availableModels) {
|
|
|
690
690
|
label: model.name,
|
|
691
691
|
value: model.id
|
|
692
692
|
}));
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
{
|
|
693
|
+
const items = [];
|
|
694
|
+
if (modelOptions.length > 0) {
|
|
695
|
+
items.push({
|
|
696
696
|
key: "model",
|
|
697
697
|
label: "Model",
|
|
698
698
|
type: "select",
|
|
699
699
|
options: modelOptions,
|
|
700
|
-
getValue: (config) =>
|
|
700
|
+
getValue: (config) => {
|
|
701
|
+
const modelExists = modelOptions.some((opt) => opt.value === config.defaultModel);
|
|
702
|
+
return modelExists ? config.defaultModel : modelOptions[0]?.value ?? config.defaultModel;
|
|
703
|
+
},
|
|
701
704
|
setValue: (config, value) => ({
|
|
702
705
|
...config,
|
|
703
706
|
defaultModel: value
|
|
704
707
|
})
|
|
705
|
-
}
|
|
708
|
+
});
|
|
709
|
+
}
|
|
710
|
+
items.push(
|
|
706
711
|
{
|
|
707
712
|
key: "maxIterations",
|
|
708
713
|
label: "Max Iterations",
|
|
@@ -790,7 +795,8 @@ function buildConfigItems(availableModels) {
|
|
|
790
795
|
}
|
|
791
796
|
})
|
|
792
797
|
}
|
|
793
|
-
|
|
798
|
+
);
|
|
799
|
+
return items;
|
|
794
800
|
}
|
|
795
801
|
function ConfigEditor({ config, availableModels, onSave, onClose }) {
|
|
796
802
|
const [selectedIndex, setSelectedIndex] = useState2(0);
|
|
@@ -799,8 +805,8 @@ function ConfigEditor({ config, availableModels, onSave, onClose }) {
|
|
|
799
805
|
const [isSaving, setIsSaving] = useState2(false);
|
|
800
806
|
const configItems = useMemo2(() => buildConfigItems(availableModels), [availableModels]);
|
|
801
807
|
const hasChanges = useMemo2(() => {
|
|
802
|
-
return JSON.stringify(config.preferences) !== JSON.stringify(editedConfig.preferences);
|
|
803
|
-
}, [config.preferences, editedConfig.preferences]);
|
|
808
|
+
return JSON.stringify(config.preferences) !== JSON.stringify(editedConfig.preferences) || config.defaultModel !== editedConfig.defaultModel;
|
|
809
|
+
}, [config.preferences, editedConfig.preferences, config.defaultModel, editedConfig.defaultModel]);
|
|
804
810
|
const handleSaveAndClose = async () => {
|
|
805
811
|
if (hasChanges) {
|
|
806
812
|
try {
|
|
@@ -9250,17 +9256,25 @@ var ServerLlmBackend = class {
|
|
|
9250
9256
|
try {
|
|
9251
9257
|
logger.debug("[ServerLlmBackend] Fetching models from /api/models");
|
|
9252
9258
|
const response = await this.apiClient.get("/api/models");
|
|
9259
|
+
if (!response || typeof response !== "object" || !Array.isArray(response.models)) {
|
|
9260
|
+
logger.warn("[ServerLlmBackend] Invalid API response format, using fallback models");
|
|
9261
|
+
logger.info("\u26A0\uFE0F Using fallback model list (API returned invalid format)");
|
|
9262
|
+
return this.getFallbackModels();
|
|
9263
|
+
}
|
|
9253
9264
|
const filteredModels = response.models.filter((model) => model.type === "text" && model.supportsTools === true);
|
|
9254
9265
|
logger.debug(`[ServerLlmBackend] Fetched ${filteredModels.length} CLI-compatible models`);
|
|
9255
9266
|
if (filteredModels.length === 0) {
|
|
9256
9267
|
logger.warn("[ServerLlmBackend] No CLI-compatible models found from API, using fallback");
|
|
9268
|
+
logger.info("\u26A0\uFE0F Using fallback model list (no CLI-compatible models available)");
|
|
9257
9269
|
return this.getFallbackModels();
|
|
9258
9270
|
}
|
|
9271
|
+
logger.info(`\u{1F4CB} Loaded ${filteredModels.length} models from server`);
|
|
9259
9272
|
return filteredModels;
|
|
9260
9273
|
} catch (error) {
|
|
9261
9274
|
logger.warn(
|
|
9262
9275
|
`[ServerLlmBackend] Failed to fetch models from API, using fallback: ${error instanceof Error ? error.message : String(error)}`
|
|
9263
9276
|
);
|
|
9277
|
+
logger.info("\u26A0\uFE0F Using fallback model list (API unavailable)");
|
|
9264
9278
|
return this.getFallbackModels();
|
|
9265
9279
|
}
|
|
9266
9280
|
}
|
|
@@ -9453,7 +9467,7 @@ import { isAxiosError as isAxiosError2 } from "axios";
|
|
|
9453
9467
|
// package.json
|
|
9454
9468
|
var package_default = {
|
|
9455
9469
|
name: "@bike4mind/cli",
|
|
9456
|
-
version: "0.2.5-feat-cli-dynamic-model-fetching.
|
|
9470
|
+
version: "0.2.5-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
9457
9471
|
type: "module",
|
|
9458
9472
|
description: "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
9459
9473
|
license: "UNLICENSED",
|
|
@@ -9555,10 +9569,10 @@ var package_default = {
|
|
|
9555
9569
|
},
|
|
9556
9570
|
devDependencies: {
|
|
9557
9571
|
"@bike4mind/agents": "0.1.0",
|
|
9558
|
-
"@bike4mind/common": "2.37.1-feat-cli-dynamic-model-fetching.
|
|
9559
|
-
"@bike4mind/mcp": "1.19.6-feat-cli-dynamic-model-fetching.
|
|
9560
|
-
"@bike4mind/services": "2.32.2-feat-cli-dynamic-model-fetching.
|
|
9561
|
-
"@bike4mind/utils": "2.1.1-feat-cli-dynamic-model-fetching.
|
|
9572
|
+
"@bike4mind/common": "2.37.1-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
9573
|
+
"@bike4mind/mcp": "1.19.6-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
9574
|
+
"@bike4mind/services": "2.32.2-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
9575
|
+
"@bike4mind/utils": "2.1.1-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
9562
9576
|
"@types/diff": "^5.0.9",
|
|
9563
9577
|
"@types/jsonwebtoken": "^9.0.4",
|
|
9564
9578
|
"@types/node": "^22.9.0",
|
|
@@ -9570,7 +9584,7 @@ var package_default = {
|
|
|
9570
9584
|
typescript: "^5.9.3",
|
|
9571
9585
|
vitest: "^3.2.4"
|
|
9572
9586
|
},
|
|
9573
|
-
gitHead: "
|
|
9587
|
+
gitHead: "9a474f27597e2e7625a73e2dc0436ae1e4f5d84e"
|
|
9574
9588
|
};
|
|
9575
9589
|
|
|
9576
9590
|
// src/config/constants.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.5-feat-cli-dynamic-model-fetching.
|
|
3
|
+
"version": "0.2.5-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -102,10 +102,10 @@
|
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
104
104
|
"@bike4mind/agents": "0.1.0",
|
|
105
|
-
"@bike4mind/common": "2.37.1-feat-cli-dynamic-model-fetching.
|
|
106
|
-
"@bike4mind/mcp": "1.19.6-feat-cli-dynamic-model-fetching.
|
|
107
|
-
"@bike4mind/services": "2.32.2-feat-cli-dynamic-model-fetching.
|
|
108
|
-
"@bike4mind/utils": "2.1.1-feat-cli-dynamic-model-fetching.
|
|
105
|
+
"@bike4mind/common": "2.37.1-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
106
|
+
"@bike4mind/mcp": "1.19.6-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
107
|
+
"@bike4mind/services": "2.32.2-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
108
|
+
"@bike4mind/utils": "2.1.1-feat-cli-dynamic-model-fetching.17090+9a474f275",
|
|
109
109
|
"@types/diff": "^5.0.9",
|
|
110
110
|
"@types/jsonwebtoken": "^9.0.4",
|
|
111
111
|
"@types/node": "^22.9.0",
|
|
@@ -117,5 +117,5 @@
|
|
|
117
117
|
"typescript": "^5.9.3",
|
|
118
118
|
"vitest": "^3.2.4"
|
|
119
119
|
},
|
|
120
|
-
"gitHead": "
|
|
120
|
+
"gitHead": "9a474f27597e2e7625a73e2dc0436ae1e4f5d84e"
|
|
121
121
|
}
|