darkfoo-code 0.2.1 → 0.2.2
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/main.js +42 -4
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -3944,8 +3944,27 @@ function REPL({ initialPrompt }) {
|
|
|
3944
3944
|
}
|
|
3945
3945
|
}, []);
|
|
3946
3946
|
useEffect2(() => {
|
|
3947
|
-
|
|
3948
|
-
|
|
3947
|
+
const provider = getProvider();
|
|
3948
|
+
provider.healthCheck().then((ok) => {
|
|
3949
|
+
setProviderOnline(ok);
|
|
3950
|
+
if (!ok) return;
|
|
3951
|
+
provider.listModels().then((models) => {
|
|
3952
|
+
if (models.length === 0) return;
|
|
3953
|
+
const requested = model.toLowerCase();
|
|
3954
|
+
const match = models.find((m) => m.name.toLowerCase() === requested);
|
|
3955
|
+
if (match) {
|
|
3956
|
+
setModel(match.name);
|
|
3957
|
+
return;
|
|
3958
|
+
}
|
|
3959
|
+
const preferred = models.find((m) => m.name.includes("llama3.1")) ?? models.find((m) => m.name.includes("qwen")) ?? models.find((m) => m.name.includes("instruct")) ?? models[0];
|
|
3960
|
+
if (preferred) {
|
|
3961
|
+
setModel(preferred.name);
|
|
3962
|
+
setCommandOutput(`Model "${model}" not found. Using ${preferred.name} instead.`);
|
|
3963
|
+
}
|
|
3964
|
+
}).catch(() => {
|
|
3965
|
+
});
|
|
3966
|
+
}).catch(() => setProviderOnline(false));
|
|
3967
|
+
}, []);
|
|
3949
3968
|
const commandContext = {
|
|
3950
3969
|
messages,
|
|
3951
3970
|
model,
|
|
@@ -4214,6 +4233,25 @@ program.name("darkfoo").description("Darkfoo Code \u2014 local AI coding assista
|
|
|
4214
4233
|
process.exit(1);
|
|
4215
4234
|
}
|
|
4216
4235
|
}
|
|
4236
|
+
const { getProvider: getProvider2 } = await Promise.resolve().then(() => (init_providers(), providers_exports));
|
|
4237
|
+
let resolvedModel = model;
|
|
4238
|
+
try {
|
|
4239
|
+
const models = await getProvider2().listModels();
|
|
4240
|
+
if (models.length > 0) {
|
|
4241
|
+
const match = models.find((m) => m.name.toLowerCase() === model.toLowerCase());
|
|
4242
|
+
if (match) {
|
|
4243
|
+
resolvedModel = match.name;
|
|
4244
|
+
} else {
|
|
4245
|
+
const fallback = models.find((m) => m.name.includes("llama3.1")) ?? models.find((m) => m.name.includes("qwen")) ?? models[0];
|
|
4246
|
+
if (fallback) {
|
|
4247
|
+
process.stderr.write(`Model "${model}" not found. Using ${fallback.name}
|
|
4248
|
+
`);
|
|
4249
|
+
resolvedModel = fallback.name;
|
|
4250
|
+
}
|
|
4251
|
+
}
|
|
4252
|
+
}
|
|
4253
|
+
} catch {
|
|
4254
|
+
}
|
|
4217
4255
|
if (prompt) {
|
|
4218
4256
|
const { buildSystemPrompt: buildSystemPrompt2 } = await Promise.resolve().then(() => (init_system_prompt(), system_prompt_exports));
|
|
4219
4257
|
const { getTools: getTools2 } = await Promise.resolve().then(() => (init_tools(), tools_exports));
|
|
@@ -4233,7 +4271,7 @@ program.name("darkfoo").description("Darkfoo Code \u2014 local AI coding assista
|
|
|
4233
4271
|
process.exit(0);
|
|
4234
4272
|
});
|
|
4235
4273
|
for await (const event of query2({
|
|
4236
|
-
model,
|
|
4274
|
+
model: resolvedModel,
|
|
4237
4275
|
messages: [userMsg],
|
|
4238
4276
|
tools,
|
|
4239
4277
|
systemPrompt: sysPrompt,
|
|
@@ -4261,7 +4299,7 @@ Error: ${event.error}
|
|
|
4261
4299
|
process.exit(0);
|
|
4262
4300
|
}
|
|
4263
4301
|
const { waitUntilExit } = render(
|
|
4264
|
-
/* @__PURE__ */ jsx9(App, { model, systemPromptOverride: systemPrompt, children: /* @__PURE__ */ jsx9(REPL, {}) })
|
|
4302
|
+
/* @__PURE__ */ jsx9(App, { model: resolvedModel, systemPromptOverride: systemPrompt, children: /* @__PURE__ */ jsx9(REPL, {}) })
|
|
4265
4303
|
);
|
|
4266
4304
|
await waitUntilExit();
|
|
4267
4305
|
});
|