diff --git a/settings.json b/settings.json index da6d0ea..1c856d5 100644 --- a/settings.json +++ b/settings.json @@ -1,11 +1,4 @@ { - "lastChangelogVersion": "0.79.3", - "defaultProvider": "llama-cpp-single", - "defaultModel": "coding_model", - "enabledModels": [ - "llama-cpp-single/coding_model" - ], - "defaultThinkingLevel": "high", "packages": [ "npm:pi-llama-cpp" ] diff --git a/tests/config.test.mjs b/tests/config.test.mjs index a6160d7..606d923 100644 --- a/tests/config.test.mjs +++ b/tests/config.test.mjs @@ -25,43 +25,23 @@ test("models.json: kein Verweis mehr auf den toten Port 8002", () => { assert.doesNotMatch(JSON.stringify(models), /:8002/); }); -test("settings.json: Default zeigt auf den Single-Server (nicht Port 8002)", () => { - assert.equal(settings.defaultProvider, "llama-cpp-single"); - assert.equal(settings.defaultModel, "coding_model"); - assert.deepEqual(settings.enabledModels, ["llama-cpp-single/coding_model"]); -}); - -test("settings.json: defaultProvider/defaultModel existieren in models.json", () => { - const p = models.providers[settings.defaultProvider]; - assert.ok(p, `defaultProvider '${settings.defaultProvider}' nicht in models.json`); +test("settings.json: enthält packages-Liste mit pi-llama-cpp", () => { + assert.ok(Array.isArray(settings.packages), "packages-Feld fehlt oder ist kein Array"); assert.ok( - p.models.some((m) => m.id === settings.defaultModel), - `defaultModel '${settings.defaultModel}' nicht im Provider` + settings.packages.some((p) => p.includes("pi-llama-cpp")), + "npm:pi-llama-cpp fehlt in packages" ); }); -test("settings.json: jeder enabledModels-Eintrag verweist auf existierende Provider/Modelle", () => { - for (const ref of settings.enabledModels) { - const idx = ref.indexOf("/"); - const prov = ref.slice(0, idx); - const id = ref.slice(idx + 1); - const p = models.providers[prov]; - assert.ok(p, `enabledModels: Provider '${prov}' fehlt in models.json`); - assert.ok(p.models.some((m) => m.id === id), `enabledModels: Modell '${id}' fehlt in '${prov}'`); - } -}); - test("settings.json ist valides JSON ohne überraschende Felder", () => { - // Reine Smoke-Prüfung, dass die Datei parsebar bleibt und die Kernschlüssel da sind. - for (const key of ["defaultProvider", "defaultModel", "enabledModels"]) { - assert.ok(key in settings, `Schlüssel '${key}' fehlt in settings.json`); - } + // Reine Smoke-Prüfung, dass die Datei parsebar bleibt und den Kern-Key hat. + assert.ok("packages" in settings, "Schlüssel 'packages' fehlt in settings.json"); }); -test("Konsistenz: Extension und settings.json nennen denselben Provider/dasselbe Modell", () => { - const ext = readRepoFile("pi-coding-extension.ts"); - assert.match(ext, /SINGLE_PROVIDER = "llama-cpp-single"/); - assert.match(ext, /SINGLE_MODEL_ID = "coding_model"/); - assert.equal(settings.defaultProvider, "llama-cpp-single"); - assert.equal(settings.defaultModel, "coding_model"); +test("settings.json enthält keine Modell-Auswahl (Nutzer-Präferenz bleibt erhalten)", () => { + // defaultProvider/defaultModel/enabledModels sollen nicht im Repo stehen — + // sie überschreiben sonst das vom Nutzer gewählte Default-Modell (z. B. OpenRouter). + assert.ok(!("defaultProvider" in settings), "defaultProvider soll nicht im Repo-settings sein"); + assert.ok(!("defaultModel" in settings), "defaultModel soll nicht im Repo-settings sein"); + assert.ok(!("enabledModels" in settings), "enabledModels soll nicht im Repo-settings sein"); });