feat: add persisted manual pi backend mode controls

This commit is contained in:
William Valentin
2026-02-23 23:06:40 -08:00
parent 3e5e82c76e
commit 4188c68130
14 changed files with 360 additions and 10 deletions
+16
View File
@@ -30,6 +30,12 @@ describe('preferences', () => {
expect(prefs.modelTier).toBe('local');
});
it('round-trips backend mode preference', () => {
savePreference(dataDir, 'backendMode', 'force_native');
const prefs = loadPreferences(dataDir);
expect(prefs.backendMode).toBe('force_native');
});
it('merges preferences without overwriting other keys', () => {
savePreference(dataDir, 'modelTier', 'fast');
savePreference(dataDir, 'otherKey', 42);
@@ -43,4 +49,14 @@ describe('preferences', () => {
savePreference(nested, 'modelTier', 'default');
expect(loadPreferences(nested).modelTier).toBe('default');
});
it('ignores invalid backendMode values in stored preferences', () => {
writeFileSync(
resolve(dataDir, 'preferences.json'),
JSON.stringify({ modelTier: 'default', backendMode: 'invalid-mode' }),
);
const prefs = loadPreferences(dataDir);
expect(prefs.modelTier).toBe('default');
expect(prefs.backendMode).toBeUndefined();
});
});