@vybestack/llxprt-code-settings 0.10.0-nightly.260613.1adad3b34
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/.last_build +0 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/src/__tests__/SettingsService.test.d.ts +12 -0
- package/dist/src/__tests__/SettingsService.test.js +231 -0
- package/dist/src/__tests__/SettingsService.test.js.map +1 -0
- package/dist/src/__tests__/settingsRegistry.test.d.ts +15 -0
- package/dist/src/__tests__/settingsRegistry.test.js +471 -0
- package/dist/src/__tests__/settingsRegistry.test.js.map +1 -0
- package/dist/src/__tests__/settingsServiceInstance.test.d.ts +13 -0
- package/dist/src/__tests__/settingsServiceInstance.test.js +60 -0
- package/dist/src/__tests__/settingsServiceInstance.test.js.map +1 -0
- package/dist/src/index.d.ts +15 -0
- package/dist/src/index.js +14 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/profiles/ProfileManager.d.ts +91 -0
- package/dist/src/profiles/ProfileManager.js +328 -0
- package/dist/src/profiles/ProfileManager.js.map +1 -0
- package/dist/src/profiles/__tests__/ProfileManager.test.d.ts +12 -0
- package/dist/src/profiles/__tests__/ProfileManager.test.js +294 -0
- package/dist/src/profiles/__tests__/ProfileManager.test.js.map +1 -0
- package/dist/src/profiles/types.d.ts +196 -0
- package/dist/src/profiles/types.js +48 -0
- package/dist/src/profiles/types.js.map +1 -0
- package/dist/src/settings/SettingsService.d.ts +59 -0
- package/dist/src/settings/SettingsService.js +289 -0
- package/dist/src/settings/SettingsService.js.map +1 -0
- package/dist/src/settings/settingsRegistry.d.ts +72 -0
- package/dist/src/settings/settingsRegistry.js +1469 -0
- package/dist/src/settings/settingsRegistry.js.map +1 -0
- package/dist/src/settings/settingsServiceInstance.d.ts +21 -0
- package/dist/src/settings/settingsServiceInstance.js +34 -0
- package/dist/src/settings/settingsServiceInstance.js.map +1 -0
- package/dist/src/storage/Storage.d.ts +8 -0
- package/dist/src/storage/Storage.js +9 -0
- package/dist/src/storage/Storage.js.map +1 -0
- package/dist/src/storage/__tests__/Storage.test.d.ts +11 -0
- package/dist/src/storage/__tests__/Storage.test.js +160 -0
- package/dist/src/storage/__tests__/Storage.test.js.map +1 -0
- package/dist/src/types.d.ts +16 -0
- package/dist/src/types.js +16 -0
- package/dist/src/types.js.map +1 -0
- package/package.json +66 -0
package/dist/.last_build
ADDED
|
File without changes
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @plan PLAN-20260608-ISSUE1588.P04
|
|
3
|
+
* @requirement REQ-SVC-001
|
|
4
|
+
*
|
|
5
|
+
* Behavioral TDD tests for SettingsService.
|
|
6
|
+
*
|
|
7
|
+
* These tests define the expected behavior that will be satisfied
|
|
8
|
+
* when the full SettingsService implementation is migrated from core
|
|
9
|
+
* in P05. Tests fail against the current stub because methods throw
|
|
10
|
+
* instead of returning values or changing state.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @plan PLAN-20260608-ISSUE1588.P04
|
|
3
|
+
* @requirement REQ-SVC-001
|
|
4
|
+
*
|
|
5
|
+
* Behavioral TDD tests for SettingsService.
|
|
6
|
+
*
|
|
7
|
+
* These tests define the expected behavior that will be satisfied
|
|
8
|
+
* when the full SettingsService implementation is migrated from core
|
|
9
|
+
* in P05. Tests fail against the current stub because methods throw
|
|
10
|
+
* instead of returning values or changing state.
|
|
11
|
+
*/
|
|
12
|
+
import { describe, it, expect } from 'vitest';
|
|
13
|
+
import { SettingsService } from '../settings/SettingsService.js';
|
|
14
|
+
describe('SettingsService — global reads and writes', () => {
|
|
15
|
+
it('returns undefined for a key that was never set', () => {
|
|
16
|
+
const svc = new SettingsService();
|
|
17
|
+
const result = svc.get('unknownKey');
|
|
18
|
+
expect(result).toBeUndefined();
|
|
19
|
+
});
|
|
20
|
+
it('stores and retrieves a global string value', () => {
|
|
21
|
+
const svc = new SettingsService();
|
|
22
|
+
svc.set('shell-replacement', 'none');
|
|
23
|
+
expect(svc.get('shell-replacement')).toBe('none');
|
|
24
|
+
});
|
|
25
|
+
it('stores and retrieves a global boolean value', () => {
|
|
26
|
+
const svc = new SettingsService();
|
|
27
|
+
svc.set('reasoning.enabled', true);
|
|
28
|
+
expect(svc.get('reasoning.enabled')).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
it('stores and retrieves a global number value', () => {
|
|
31
|
+
const svc = new SettingsService();
|
|
32
|
+
svc.set('temperature', 0.7);
|
|
33
|
+
expect(svc.get('temperature')).toBe(0.7);
|
|
34
|
+
});
|
|
35
|
+
it('overwrites a previously set value', () => {
|
|
36
|
+
const svc = new SettingsService();
|
|
37
|
+
svc.set('shell-replacement', 'none');
|
|
38
|
+
// eslint-disable-next-line sonarjs/no-element-overwrite -- intentionally testing value overwrite
|
|
39
|
+
svc.set('shell-replacement', 'all');
|
|
40
|
+
expect(svc.get('shell-replacement')).toBe('all');
|
|
41
|
+
});
|
|
42
|
+
it('resolves nested dot-notation keys', () => {
|
|
43
|
+
const svc = new SettingsService();
|
|
44
|
+
svc.set('reasoning.enabled', true);
|
|
45
|
+
expect(svc.get('reasoning.enabled')).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('SettingsService — provider-specific reads and writes', () => {
|
|
49
|
+
it('returns empty object for a provider with no settings', () => {
|
|
50
|
+
const svc = new SettingsService();
|
|
51
|
+
const result = svc.getProviderSettings('openai');
|
|
52
|
+
expect(result).toStrictEqual({});
|
|
53
|
+
});
|
|
54
|
+
it('stores and retrieves a provider-specific setting', () => {
|
|
55
|
+
const svc = new SettingsService();
|
|
56
|
+
svc.setProviderSetting('openai', 'model', 'gpt-4');
|
|
57
|
+
expect(svc.getProviderSettings('openai')).toStrictEqual({ model: 'gpt-4' });
|
|
58
|
+
});
|
|
59
|
+
it('stores multiple settings for a single provider', () => {
|
|
60
|
+
const svc = new SettingsService();
|
|
61
|
+
svc.setProviderSetting('anthropic', 'model', 'claude-3');
|
|
62
|
+
svc.setProviderSetting('anthropic', 'temperature', 0.5);
|
|
63
|
+
const settings = svc.getProviderSettings('anthropic');
|
|
64
|
+
expect(settings.model).toBe('claude-3');
|
|
65
|
+
expect(settings.temperature).toBe(0.5);
|
|
66
|
+
});
|
|
67
|
+
it('isolates settings between providers', () => {
|
|
68
|
+
const svc = new SettingsService();
|
|
69
|
+
svc.setProviderSetting('openai', 'model', 'gpt-4');
|
|
70
|
+
svc.setProviderSetting('anthropic', 'model', 'claude-3');
|
|
71
|
+
expect(svc.getProviderSettings('openai').model).toBe('gpt-4');
|
|
72
|
+
expect(svc.getProviderSettings('anthropic').model).toBe('claude-3');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('SettingsService — change events', () => {
|
|
76
|
+
it('emits a change event when a global setting is set', async () => {
|
|
77
|
+
const svc = new SettingsService();
|
|
78
|
+
let receivedKey;
|
|
79
|
+
let receivedNewValue;
|
|
80
|
+
svc.on('change', (evt) => {
|
|
81
|
+
receivedKey = evt.key;
|
|
82
|
+
receivedNewValue = evt.newValue;
|
|
83
|
+
});
|
|
84
|
+
svc.set('temperature', 0.7);
|
|
85
|
+
expect(receivedKey).toBe('temperature');
|
|
86
|
+
expect(receivedNewValue).toBe(0.7);
|
|
87
|
+
});
|
|
88
|
+
it('includes the old value in the change event', async () => {
|
|
89
|
+
const svc = new SettingsService();
|
|
90
|
+
let receivedOldValue;
|
|
91
|
+
svc.set('temperature', 0.5);
|
|
92
|
+
svc.on('change', (evt) => {
|
|
93
|
+
receivedOldValue = evt.oldValue;
|
|
94
|
+
});
|
|
95
|
+
svc.set('temperature', 0.9);
|
|
96
|
+
expect(receivedOldValue).toBe(0.5);
|
|
97
|
+
});
|
|
98
|
+
it('emits a provider-change event when a provider setting is set', () => {
|
|
99
|
+
const svc = new SettingsService();
|
|
100
|
+
let receivedProvider;
|
|
101
|
+
let receivedKey;
|
|
102
|
+
svc.on('provider-change', (evt) => {
|
|
103
|
+
receivedProvider = evt.provider;
|
|
104
|
+
receivedKey = evt.key;
|
|
105
|
+
});
|
|
106
|
+
svc.setProviderSetting('openai', 'model', 'gpt-4');
|
|
107
|
+
expect(receivedProvider).toBe('openai');
|
|
108
|
+
expect(receivedKey).toBe('model');
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
describe('SettingsService — provider switching', () => {
|
|
112
|
+
it('switchProvider updates the active provider', async () => {
|
|
113
|
+
const svc = new SettingsService();
|
|
114
|
+
await svc.switchProvider('anthropic');
|
|
115
|
+
expect(svc.get('activeProvider')).toBe('anthropic');
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
describe('SettingsService — profile import/export', () => {
|
|
119
|
+
it('exportForProfile returns default provider and provider settings', async () => {
|
|
120
|
+
const svc = new SettingsService();
|
|
121
|
+
svc.setProviderSetting('openai', 'model', 'gpt-4');
|
|
122
|
+
const exported = (await svc.exportForProfile());
|
|
123
|
+
expect(typeof exported.defaultProvider).toBe('string');
|
|
124
|
+
expect(exported.providers).toStrictEqual(expect.objectContaining({
|
|
125
|
+
openai: expect.objectContaining({ model: 'gpt-4' }),
|
|
126
|
+
}));
|
|
127
|
+
});
|
|
128
|
+
it('importFromProfile applies provider settings', async () => {
|
|
129
|
+
const svc = new SettingsService();
|
|
130
|
+
await svc.importFromProfile({
|
|
131
|
+
defaultProvider: 'anthropic',
|
|
132
|
+
providers: {
|
|
133
|
+
anthropic: { model: 'claude-3', temperature: 0.5 },
|
|
134
|
+
},
|
|
135
|
+
tools: { allowed: [], disabled: [] },
|
|
136
|
+
});
|
|
137
|
+
expect(svc.get('activeProvider')).toBe('anthropic');
|
|
138
|
+
});
|
|
139
|
+
it('importFromProfile sets activeProvider from defaultProvider', async () => {
|
|
140
|
+
const svc = new SettingsService();
|
|
141
|
+
await svc.importFromProfile({
|
|
142
|
+
defaultProvider: 'openai',
|
|
143
|
+
providers: {},
|
|
144
|
+
tools: { allowed: [], disabled: [] },
|
|
145
|
+
});
|
|
146
|
+
expect(svc.get('activeProvider')).toBe('openai');
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
describe('SettingsService — current profile behavior', () => {
|
|
150
|
+
it('setCurrentProfileName stores the profile name', () => {
|
|
151
|
+
const svc = new SettingsService();
|
|
152
|
+
svc.setCurrentProfileName('my-profile');
|
|
153
|
+
expect(svc.getCurrentProfileName()).toBe('my-profile');
|
|
154
|
+
});
|
|
155
|
+
it('getCurrentProfileName returns null initially', () => {
|
|
156
|
+
const svc = new SettingsService();
|
|
157
|
+
expect(svc.getCurrentProfileName()).toBeNull();
|
|
158
|
+
});
|
|
159
|
+
it('setCurrentProfileName with null clears the profile name', () => {
|
|
160
|
+
const svc = new SettingsService();
|
|
161
|
+
svc.setCurrentProfileName('my-profile');
|
|
162
|
+
svc.setCurrentProfileName(null);
|
|
163
|
+
expect(svc.getCurrentProfileName()).toBeNull();
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
describe('SettingsService — clear behavior', () => {
|
|
167
|
+
it('clear removes all global settings', () => {
|
|
168
|
+
const svc = new SettingsService();
|
|
169
|
+
svc.set('temperature', 0.7);
|
|
170
|
+
svc.set('shell-replacement', 'none');
|
|
171
|
+
svc.clear();
|
|
172
|
+
expect(svc.get('temperature')).toBeUndefined();
|
|
173
|
+
expect(svc.get('shell-replacement')).toBeUndefined();
|
|
174
|
+
});
|
|
175
|
+
it('clear removes all provider settings', () => {
|
|
176
|
+
const svc = new SettingsService();
|
|
177
|
+
svc.setProviderSetting('openai', 'model', 'gpt-4');
|
|
178
|
+
svc.clear();
|
|
179
|
+
expect(svc.getProviderSettings('openai')).toStrictEqual({});
|
|
180
|
+
});
|
|
181
|
+
it('clear emits a cleared event', () => {
|
|
182
|
+
const svc = new SettingsService();
|
|
183
|
+
let clearedEmitted = false;
|
|
184
|
+
svc.on('cleared', () => {
|
|
185
|
+
clearedEmitted = true;
|
|
186
|
+
});
|
|
187
|
+
svc.clear();
|
|
188
|
+
expect(clearedEmitted).toBe(true);
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
describe('SettingsService — getAllGlobalSettings', () => {
|
|
192
|
+
it('returns all set global settings', () => {
|
|
193
|
+
const svc = new SettingsService();
|
|
194
|
+
svc.set('temperature', 0.7);
|
|
195
|
+
svc.set('shell-replacement', 'none');
|
|
196
|
+
const all = svc.getAllGlobalSettings();
|
|
197
|
+
expect(all.temperature).toBe(0.7);
|
|
198
|
+
expect(all['shell-replacement']).toBe('none');
|
|
199
|
+
});
|
|
200
|
+
it('returns empty object when no settings are set', () => {
|
|
201
|
+
const svc = new SettingsService();
|
|
202
|
+
const all = svc.getAllGlobalSettings();
|
|
203
|
+
expect(Object.keys(all).length).toBe(0);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
describe('SettingsService — getSettings / updateSettings', () => {
|
|
207
|
+
it('getSettings without provider returns global settings object with providers map', async () => {
|
|
208
|
+
const svc = new SettingsService();
|
|
209
|
+
svc.setProviderSetting('openai', 'model', 'gpt-4');
|
|
210
|
+
const settings = (await svc.getSettings());
|
|
211
|
+
expect(typeof settings.providers).toBe('object');
|
|
212
|
+
expect(settings.providers.openai.model).toBe('gpt-4');
|
|
213
|
+
});
|
|
214
|
+
it('getSettings with provider returns provider settings', async () => {
|
|
215
|
+
const svc = new SettingsService();
|
|
216
|
+
svc.setProviderSetting('openai', 'model', 'gpt-4');
|
|
217
|
+
const settings = (await svc.getSettings('openai'));
|
|
218
|
+
expect(settings.model).toBe('gpt-4');
|
|
219
|
+
});
|
|
220
|
+
it('updateSettings with provider string updates provider settings', async () => {
|
|
221
|
+
const svc = new SettingsService();
|
|
222
|
+
await svc.updateSettings('openai', { model: 'gpt-4' });
|
|
223
|
+
expect(svc.getProviderSettings('openai').model).toBe('gpt-4');
|
|
224
|
+
});
|
|
225
|
+
it('updateSettings with object updates global settings', async () => {
|
|
226
|
+
const svc = new SettingsService();
|
|
227
|
+
await svc.updateSettings({ temperature: 0.5 });
|
|
228
|
+
expect(svc.get('temperature')).toBe(0.5);
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
//# sourceMappingURL=SettingsService.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsService.test.js","sourceRoot":"","sources":["../../../src/__tests__/SettingsService.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @plan PLAN-20260608-ISSUE1588.P04
|
|
3
|
+
* @requirement REQ-REG-001
|
|
4
|
+
*
|
|
5
|
+
* Behavioral TDD tests for the settings registry.
|
|
6
|
+
*
|
|
7
|
+
* These tests define the expected behavior for settings registry functions
|
|
8
|
+
* that will be migrated from core in P05. Tests fail against stubs because
|
|
9
|
+
* functions throw instead of returning values.
|
|
10
|
+
*
|
|
11
|
+
* Compression strategy values are verified by their string literals
|
|
12
|
+
* ('middle-out', 'top-down-truncation', 'one-shot', 'high-density')
|
|
13
|
+
* without importing core compression types.
|
|
14
|
+
*/
|
|
15
|
+
export {};
|