@vybestack/llxprt-code 0.1.23 → 0.2.2-nightly.250908.7b895396

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.
Files changed (164) hide show
  1. package/README.md +21 -17
  2. package/dist/package.json +4 -3
  3. package/dist/src/auth/anthropic-oauth-provider.d.ts +50 -3
  4. package/dist/src/auth/anthropic-oauth-provider.js +287 -63
  5. package/dist/src/auth/anthropic-oauth-provider.js.map +1 -1
  6. package/dist/src/auth/gemini-oauth-provider.d.ts +34 -3
  7. package/dist/src/auth/gemini-oauth-provider.js +308 -14
  8. package/dist/src/auth/gemini-oauth-provider.js.map +1 -1
  9. package/dist/src/auth/migration.d.ts +26 -0
  10. package/dist/src/auth/migration.js +54 -0
  11. package/dist/src/auth/migration.js.map +1 -0
  12. package/dist/src/auth/oauth-manager.d.ts +24 -0
  13. package/dist/src/auth/oauth-manager.js +179 -14
  14. package/dist/src/auth/oauth-manager.js.map +1 -1
  15. package/dist/src/auth/oauth-manager.spec.js +10 -8
  16. package/dist/src/auth/oauth-manager.spec.js.map +1 -1
  17. package/dist/src/auth/qwen-oauth-provider.d.ts +59 -3
  18. package/dist/src/auth/qwen-oauth-provider.js +263 -41
  19. package/dist/src/auth/qwen-oauth-provider.js.map +1 -1
  20. package/dist/src/config/config.js +11 -10
  21. package/dist/src/config/config.js.map +1 -1
  22. package/dist/src/config/extension.d.ts +1 -1
  23. package/dist/src/config/extension.js +1 -1
  24. package/dist/src/gemini.js +33 -11
  25. package/dist/src/gemini.js.map +1 -1
  26. package/dist/src/generated/git-commit.d.ts +1 -1
  27. package/dist/src/generated/git-commit.js +1 -1
  28. package/dist/src/integration-tests/base-url-behavior.integration.test.js +4 -1
  29. package/dist/src/integration-tests/base-url-behavior.integration.test.js.map +1 -1
  30. package/dist/src/integration-tests/compression-settings-apply.integration.test.js +85 -332
  31. package/dist/src/integration-tests/compression-settings-apply.integration.test.js.map +1 -1
  32. package/dist/src/integration-tests/ephemeral-settings.integration.test.js +5 -16
  33. package/dist/src/integration-tests/ephemeral-settings.integration.test.js.map +1 -1
  34. package/dist/src/integration-tests/model-params-isolation.integration.test.js +8 -2
  35. package/dist/src/integration-tests/model-params-isolation.integration.test.js.map +1 -1
  36. package/dist/src/integration-tests/modelParams.integration.test.js +4 -1
  37. package/dist/src/integration-tests/modelParams.integration.test.js.map +1 -1
  38. package/dist/src/integration-tests/provider-switching.integration.test.js +4 -1
  39. package/dist/src/integration-tests/provider-switching.integration.test.js.map +1 -1
  40. package/dist/src/integration-tests/retry-settings.integration.test.d.ts +6 -0
  41. package/dist/src/integration-tests/retry-settings.integration.test.js +56 -0
  42. package/dist/src/integration-tests/retry-settings.integration.test.js.map +1 -0
  43. package/dist/src/providers/index.d.ts +1 -1
  44. package/dist/src/providers/logging/LoggingProviderWrapper.test.js +58 -47
  45. package/dist/src/providers/logging/LoggingProviderWrapper.test.js.map +1 -1
  46. package/dist/src/providers/logging/multi-provider-logging.integration.test.js +130 -68
  47. package/dist/src/providers/logging/multi-provider-logging.integration.test.js.map +1 -1
  48. package/dist/src/providers/logging/performance.test.js +39 -16
  49. package/dist/src/providers/logging/performance.test.js.map +1 -1
  50. package/dist/src/providers/provider-gemini-switching.test.js +4 -1
  51. package/dist/src/providers/provider-gemini-switching.test.js.map +1 -1
  52. package/dist/src/providers/provider-switching.integration.test.js +12 -3
  53. package/dist/src/providers/provider-switching.integration.test.js.map +1 -1
  54. package/dist/src/providers/providerConfigUtils.js +2 -4
  55. package/dist/src/providers/providerConfigUtils.js.map +1 -1
  56. package/dist/src/providers/providerManagerInstance.js +24 -49
  57. package/dist/src/providers/providerManagerInstance.js.map +1 -1
  58. package/dist/src/services/BuiltinCommandLoader.js +4 -0
  59. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  60. package/dist/src/storage/ConversationStorage.test.js +10 -7
  61. package/dist/src/storage/ConversationStorage.test.js.map +1 -1
  62. package/dist/src/test-utils/mockCommandContext.js +2 -0
  63. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  64. package/dist/src/ui/App.e2e.test.d.ts +6 -0
  65. package/dist/src/ui/App.e2e.test.js +37 -0
  66. package/dist/src/ui/App.e2e.test.js.map +1 -0
  67. package/dist/src/ui/App.js +51 -4
  68. package/dist/src/ui/App.js.map +1 -1
  69. package/dist/src/ui/commands/authCommand.d.ts +9 -1
  70. package/dist/src/ui/commands/authCommand.js +109 -31
  71. package/dist/src/ui/commands/authCommand.js.map +1 -1
  72. package/dist/src/ui/commands/clearCommand.js +2 -0
  73. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  74. package/dist/src/ui/commands/ideCommand.js +26 -0
  75. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  76. package/dist/src/ui/commands/keyCommand.js +16 -54
  77. package/dist/src/ui/commands/keyCommand.js.map +1 -1
  78. package/dist/src/ui/commands/keyCommand.test.js +3 -3
  79. package/dist/src/ui/commands/keyCommand.test.js.map +1 -1
  80. package/dist/src/ui/commands/keyfileCommand.js +42 -32
  81. package/dist/src/ui/commands/keyfileCommand.js.map +1 -1
  82. package/dist/src/ui/commands/logoutCommand.d.ts +7 -0
  83. package/dist/src/ui/commands/logoutCommand.js +70 -0
  84. package/dist/src/ui/commands/logoutCommand.js.map +1 -0
  85. package/dist/src/ui/commands/modelCommand.js +16 -0
  86. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  87. package/dist/src/ui/commands/profileCommand.js +31 -25
  88. package/dist/src/ui/commands/profileCommand.js.map +1 -1
  89. package/dist/src/ui/commands/profileCommand.test.js +15 -16
  90. package/dist/src/ui/commands/profileCommand.test.js.map +1 -1
  91. package/dist/src/ui/commands/providerCommand.js +10 -7
  92. package/dist/src/ui/commands/providerCommand.js.map +1 -1
  93. package/dist/src/ui/commands/setCommand.js +43 -19
  94. package/dist/src/ui/commands/setCommand.js.map +1 -1
  95. package/dist/src/ui/commands/setCommand.test.js +5 -7
  96. package/dist/src/ui/commands/setCommand.test.js.map +1 -1
  97. package/dist/src/ui/commands/setupGithubCommand.d.ts +2 -0
  98. package/dist/src/ui/commands/setupGithubCommand.js +123 -23
  99. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  100. package/dist/src/ui/commands/setupGithubCommand.test.js +94 -1
  101. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
  102. package/dist/src/ui/commands/statusCommand.d.ts +7 -0
  103. package/dist/src/ui/commands/statusCommand.js +71 -0
  104. package/dist/src/ui/commands/statusCommand.js.map +1 -0
  105. package/dist/src/ui/commands/types.d.ts +1 -0
  106. package/dist/src/ui/commands/types.js.map +1 -1
  107. package/dist/src/ui/components/ContextIndicator.ui.test.js +19 -46
  108. package/dist/src/ui/components/ContextIndicator.ui.test.js.map +1 -1
  109. package/dist/src/ui/components/Footer.d.ts +1 -1
  110. package/dist/src/ui/components/Footer.js +7 -7
  111. package/dist/src/ui/components/Footer.js.map +1 -1
  112. package/dist/src/ui/components/Footer.responsive.test.js +28 -25
  113. package/dist/src/ui/components/Footer.responsive.test.js.map +1 -1
  114. package/dist/src/ui/components/OAuthCodeDialog.d.ts +5 -0
  115. package/dist/src/ui/components/OAuthCodeDialog.js +31 -1
  116. package/dist/src/ui/components/OAuthCodeDialog.js.map +1 -1
  117. package/dist/src/ui/components/OAuthCodeDialog.test.d.ts +6 -0
  118. package/dist/src/ui/components/OAuthCodeDialog.test.js +60 -0
  119. package/dist/src/ui/components/OAuthCodeDialog.test.js.map +1 -0
  120. package/dist/src/ui/contexts/KeypressContext.js +23 -1
  121. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  122. package/dist/src/ui/contexts/KeypressContext.test.js +58 -2
  123. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  124. package/dist/src/ui/contexts/SessionContext.d.ts +2 -0
  125. package/dist/src/ui/contexts/SessionContext.js +9 -1
  126. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  127. package/dist/src/ui/contexts/TodoContext.js +2 -2
  128. package/dist/src/ui/contexts/TodoContext.js.map +1 -1
  129. package/dist/src/ui/hooks/atCommandProcessor.js +0 -2
  130. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  131. package/dist/src/ui/hooks/atCommandProcessor.test.js +21 -6
  132. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  133. package/dist/src/ui/hooks/slashCommandProcessor.js +2 -0
  134. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  135. package/dist/src/ui/hooks/useAuthCommand.js +6 -5
  136. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  137. package/dist/src/ui/hooks/useGeminiStream.js +47 -63
  138. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  139. package/dist/src/ui/hooks/useProviderDialog.js +2 -5
  140. package/dist/src/ui/hooks/useProviderDialog.js.map +1 -1
  141. package/dist/src/ui/hooks/useToolScheduler.test.js +60 -24
  142. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  143. package/dist/src/ui/utils/platformConstants.d.ts +2 -0
  144. package/dist/src/ui/utils/platformConstants.js +2 -0
  145. package/dist/src/ui/utils/platformConstants.js.map +1 -1
  146. package/dist/src/ui/utils/secureInputHandler.js +18 -7
  147. package/dist/src/ui/utils/secureInputHandler.js.map +1 -1
  148. package/dist/src/ui/utils/secureInputHandler.test.js +20 -0
  149. package/dist/src/ui/utils/secureInputHandler.test.js.map +1 -1
  150. package/dist/src/utils/privacy/ConversationDataRedactor.d.ts +3 -3
  151. package/dist/src/utils/privacy/ConversationDataRedactor.js +16 -12
  152. package/dist/src/utils/privacy/ConversationDataRedactor.js.map +1 -1
  153. package/dist/src/utils/privacy/ConversationDataRedactor.test.js +115 -72
  154. package/dist/src/utils/privacy/ConversationDataRedactor.test.js.map +1 -1
  155. package/dist/src/validateNonInterActiveAuth.js +8 -17
  156. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  157. package/dist/src/zed-integration/schema.d.ts +194 -91
  158. package/dist/src/zed-integration/schema.js +7 -1
  159. package/dist/src/zed-integration/schema.js.map +1 -1
  160. package/dist/src/zed-integration/zedIntegration.d.ts +1 -3
  161. package/dist/src/zed-integration/zedIntegration.js +454 -198
  162. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  163. package/dist/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +4 -3
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
6
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
7
7
  import { Config, ProfileManager } from '@vybestack/llxprt-code-core';
8
8
  import { createTempDirectory, cleanupTempDirectory } from './test-utils.js';
9
9
  describe('Compression Settings Apply Integration Tests', () => {
@@ -47,56 +47,91 @@ describe('Compression Settings Apply Integration Tests', () => {
47
47
  await cleanupTempDirectory(tempDir);
48
48
  });
49
49
  describe('Setting compression-threshold and context-limit via ephemeral settings', () => {
50
- it('should apply compression settings to GeminiClient when both are set', async () => {
50
+ it('should store compression settings in ephemeral settings', async () => {
51
51
  // Set compression settings via ephemeral settings
52
52
  config.setEphemeralSetting('compression-threshold', 0.7);
53
53
  config.setEphemeralSetting('context-limit', 100000);
54
- // Get the GeminiClient
55
- const geminiClient = config.getGeminiClient();
56
- // Mock setCompressionSettings to verify it's called correctly
57
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
58
- // Apply compression settings
59
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), config.getEphemeralSetting('context-limit'));
60
- // Verify the method was called with correct parameters
61
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.7, 100000);
62
- expect(setCompressionSettingsSpy).toHaveBeenCalledTimes(1);
63
54
  // Verify ephemeral settings are stored
64
55
  expect(config.getEphemeralSetting('compression-threshold')).toBe(0.7);
65
56
  expect(config.getEphemeralSetting('context-limit')).toBe(100000);
57
+ // Verify settings are accessible when needed by geminiChat
58
+ const compressionThreshold = config.getEphemeralSetting('compression-threshold');
59
+ const contextLimit = config.getEphemeralSetting('context-limit');
60
+ expect(compressionThreshold).toBe(0.7);
61
+ expect(contextLimit).toBe(100000);
66
62
  });
67
63
  it('should apply only compression-threshold when context-limit is not set', async () => {
68
64
  config.setEphemeralSetting('compression-threshold', 0.85);
69
- const geminiClient = config.getGeminiClient();
70
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
71
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), undefined);
72
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.85, undefined);
65
+ // Verify only compression-threshold is set
66
+ expect(config.getEphemeralSetting('compression-threshold')).toBe(0.85);
67
+ expect(config.getEphemeralSetting('context-limit')).toBeUndefined();
73
68
  });
74
69
  it('should apply only context-limit when compression-threshold is not set', async () => {
75
70
  config.setEphemeralSetting('context-limit', 150000);
76
- const geminiClient = config.getGeminiClient();
77
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
78
- geminiClient.setCompressionSettings(undefined, config.getEphemeralSetting('context-limit'));
79
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(undefined, 150000);
71
+ // Verify only context-limit is set
72
+ expect(config.getEphemeralSetting('compression-threshold')).toBeUndefined();
73
+ expect(config.getEphemeralSetting('context-limit')).toBe(150000);
80
74
  });
81
- });
82
- describe('Profile save/load preserves compression settings', () => {
83
- it('should save compression settings in profile and restore them', async () => {
84
- // Set compression settings
75
+ it('should handle clearing compression settings', async () => {
76
+ // Set initial values
85
77
  config.setEphemeralSetting('compression-threshold', 0.6);
78
+ config.setEphemeralSetting('context-limit', 80000);
79
+ expect(config.getEphemeralSetting('compression-threshold')).toBe(0.6);
80
+ expect(config.getEphemeralSetting('context-limit')).toBe(80000);
81
+ // Clear the settings
82
+ config.setEphemeralSetting('compression-threshold', undefined);
83
+ config.setEphemeralSetting('context-limit', undefined);
84
+ // Verify settings are cleared
85
+ expect(config.getEphemeralSetting('compression-threshold')).toBeUndefined();
86
+ expect(config.getEphemeralSetting('context-limit')).toBeUndefined();
87
+ });
88
+ it('should validate compression-threshold range', async () => {
89
+ // Compression threshold should be between 0 and 1
90
+ config.setEphemeralSetting('compression-threshold', 0.5);
91
+ expect(config.getEphemeralSetting('compression-threshold')).toBe(0.5);
92
+ config.setEphemeralSetting('compression-threshold', 0.99);
93
+ expect(config.getEphemeralSetting('compression-threshold')).toBe(0.99);
94
+ // Config itself doesn't validate - validation happens in setCommand
95
+ // So these values would be stored but rejected when used
96
+ config.setEphemeralSetting('compression-threshold', 1.5);
97
+ expect(config.getEphemeralSetting('compression-threshold')).toBe(1.5);
98
+ config.setEphemeralSetting('compression-threshold', -0.1);
99
+ expect(config.getEphemeralSetting('compression-threshold')).toBe(-0.1);
100
+ });
101
+ it('should validate context-limit is positive', async () => {
102
+ // Context limit should be positive
103
+ config.setEphemeralSetting('context-limit', 10000);
104
+ expect(config.getEphemeralSetting('context-limit')).toBe(10000);
86
105
  config.setEphemeralSetting('context-limit', 200000);
106
+ expect(config.getEphemeralSetting('context-limit')).toBe(200000);
107
+ // Config itself doesn't validate - validation happens in setCommand
108
+ // So these values would be stored but rejected when used
109
+ config.setEphemeralSetting('context-limit', -1000);
110
+ expect(config.getEphemeralSetting('context-limit')).toBe(-1000);
111
+ config.setEphemeralSetting('context-limit', 0);
112
+ expect(config.getEphemeralSetting('context-limit')).toBe(0);
113
+ });
114
+ });
115
+ describe('Profiles with compression settings', () => {
116
+ it('should save and load compression settings in profiles', async () => {
117
+ // Set compression settings
118
+ config.setEphemeralSetting('compression-threshold', 0.75);
119
+ config.setEphemeralSetting('context-limit', 120000);
87
120
  // Create a profile with compression settings
88
121
  const profile = {
89
122
  version: 1,
90
- provider: 'google',
91
- model: 'gemini-2.0-flash-exp',
92
- modelParams: {},
123
+ provider: 'openai',
124
+ model: 'gpt-4',
125
+ modelParams: {
126
+ temperature: 0.7,
127
+ },
93
128
  ephemeralSettings: {
94
- 'compression-threshold': 0.6,
95
- 'context-limit': 200000,
129
+ 'compression-threshold': config.getEphemeralSetting('compression-threshold'),
130
+ 'context-limit': config.getEphemeralSetting('context-limit'),
96
131
  },
97
132
  };
98
133
  // Save the profile
99
- await profileManager.saveProfile('compression-test-profile', profile);
134
+ await profileManager.saveProfile('compression-profile', profile);
100
135
  // Create a new config without compression settings
101
136
  const newConfig = new Config({
102
137
  sessionId: 'new-session',
@@ -106,330 +141,48 @@ describe('Compression Settings Apply Integration Tests', () => {
106
141
  cwd: tempDir,
107
142
  });
108
143
  await newConfig.initialize();
109
- // Verify settings are not there initially
144
+ // Verify new config doesn't have compression settings initially
110
145
  expect(newConfig.getEphemeralSetting('compression-threshold')).toBeUndefined();
111
146
  expect(newConfig.getEphemeralSetting('context-limit')).toBeUndefined();
112
147
  // Load the profile
113
- const loadedProfile = await profileManager.loadProfile('compression-test-profile');
148
+ const loadedProfile = await profileManager.loadProfile('compression-profile');
114
149
  // Apply ephemeral settings from profile
115
- if (loadedProfile.ephemeralSettings) {
116
- for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
117
- newConfig.setEphemeralSetting(key, value);
118
- }
150
+ for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
151
+ newConfig.setEphemeralSetting(key, value);
119
152
  }
120
- // Verify compression settings are restored
121
- expect(newConfig.getEphemeralSetting('compression-threshold')).toBe(0.6);
122
- expect(newConfig.getEphemeralSetting('context-limit')).toBe(200000);
123
- // Verify they can be applied to GeminiClient
124
- const geminiClient = newConfig.getGeminiClient();
125
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
126
- geminiClient.setCompressionSettings(newConfig.getEphemeralSetting('compression-threshold'), newConfig.getEphemeralSetting('context-limit'));
127
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.6, 200000);
153
+ // Verify settings were loaded correctly
154
+ expect(newConfig.getEphemeralSetting('compression-threshold')).toBe(0.75);
155
+ expect(newConfig.getEphemeralSetting('context-limit')).toBe(120000);
128
156
  });
129
- it('should not affect current values when loading profile without compression settings', async () => {
130
- // Set current compression settings
131
- config.setEphemeralSetting('compression-threshold', 0.8);
132
- config.setEphemeralSetting('context-limit', 120000);
133
- // Create and save a profile WITHOUT compression settings
157
+ it('should handle profiles with partial compression settings', async () => {
158
+ // Create a profile with only compression-threshold
134
159
  const profile = {
135
160
  version: 1,
136
161
  provider: 'anthropic',
137
- model: 'claude-3-5-sonnet-20240620',
138
- modelParams: {
139
- temperature: 0.7,
140
- },
141
- ephemeralSettings: {
142
- 'base-url': 'https://api.example.com',
143
- },
144
- };
145
- await profileManager.saveProfile('no-compression-profile', profile);
146
- // Load the profile
147
- const loadedProfile = await profileManager.loadProfile('no-compression-profile');
148
- // Only apply the settings that are in the profile
149
- if (loadedProfile.ephemeralSettings) {
150
- for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
151
- if (key !== 'compression-threshold' && key !== 'context-limit') {
152
- config.setEphemeralSetting(key, value);
153
- }
154
- }
155
- }
156
- // Verify compression settings remain unchanged
157
- expect(config.getEphemeralSetting('compression-threshold')).toBe(0.8);
158
- expect(config.getEphemeralSetting('context-limit')).toBe(120000);
159
- expect(config.getEphemeralSetting('base-url')).toBe('https://api.example.com');
160
- });
161
- });
162
- describe('Invalid values are handled correctly', () => {
163
- it('should handle negative compression-threshold gracefully', async () => {
164
- const geminiClient = config.getGeminiClient();
165
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
166
- // Try to set negative threshold
167
- geminiClient.setCompressionSettings(-0.5, 100000);
168
- // The GeminiClient should ignore invalid values
169
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(-0.5, 100000);
170
- // The method should not throw
171
- expect(() => {
172
- geminiClient.setCompressionSettings(-0.5, 100000);
173
- }).not.toThrow();
174
- });
175
- it('should handle compression-threshold greater than 1 gracefully', async () => {
176
- const geminiClient = config.getGeminiClient();
177
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
178
- // Try to set threshold > 1
179
- geminiClient.setCompressionSettings(1.5, 100000);
180
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(1.5, 100000);
181
- // The method should not throw
182
- expect(() => {
183
- geminiClient.setCompressionSettings(1.5, 100000);
184
- }).not.toThrow();
185
- });
186
- it('should handle non-numeric compression-threshold values', async () => {
187
- // Setting a non-numeric value in ephemeral settings
188
- config.setEphemeralSetting('compression-threshold', 'invalid');
189
- const geminiClient = config.getGeminiClient();
190
- // When applying, it should handle gracefully
191
- expect(() => {
192
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), 100000);
193
- }).not.toThrow();
194
- });
195
- it('should handle negative context-limit gracefully', async () => {
196
- const geminiClient = config.getGeminiClient();
197
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
198
- // Try to set negative context limit
199
- geminiClient.setCompressionSettings(0.7, -100000);
200
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.7, -100000);
201
- // The method should not throw
202
- expect(() => {
203
- geminiClient.setCompressionSettings(0.7, -100000);
204
- }).not.toThrow();
205
- });
206
- it('should handle edge case values correctly', async () => {
207
- const geminiClient = config.getGeminiClient();
208
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
209
- // Test edge case: 0
210
- geminiClient.setCompressionSettings(0, 0);
211
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0, 0);
212
- expect(() => geminiClient.setCompressionSettings(0, 0)).not.toThrow();
213
- // Test edge case: 1
214
- geminiClient.setCompressionSettings(1, 1);
215
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(1, 1);
216
- expect(() => geminiClient.setCompressionSettings(1, 1)).not.toThrow();
217
- // Test very large context limit
218
- geminiClient.setCompressionSettings(0.9, 10000000);
219
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.9, 10000000);
220
- expect(() => geminiClient.setCompressionSettings(0.9, 10000000)).not.toThrow();
221
- });
222
- });
223
- describe('Unsetting compression settings reverts to defaults', () => {
224
- it('should revert to defaults when unsetting compression-threshold', async () => {
225
- // Set compression settings
226
- config.setEphemeralSetting('compression-threshold', 0.75);
227
- config.setEphemeralSetting('context-limit', 100000);
228
- // Unset compression-threshold
229
- config.setEphemeralSetting('compression-threshold', undefined);
230
- // Verify it's unset
231
- expect(config.getEphemeralSetting('compression-threshold')).toBeUndefined();
232
- expect(config.getEphemeralSetting('context-limit')).toBe(100000);
233
- // Apply to GeminiClient
234
- const geminiClient = config.getGeminiClient();
235
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
236
- geminiClient.setCompressionSettings(undefined, config.getEphemeralSetting('context-limit'));
237
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(undefined, 100000);
238
- });
239
- it('should revert to defaults when unsetting context-limit', async () => {
240
- // Set compression settings
241
- config.setEphemeralSetting('compression-threshold', 0.65);
242
- config.setEphemeralSetting('context-limit', 150000);
243
- // Unset context-limit
244
- config.setEphemeralSetting('context-limit', undefined);
245
- // Verify it's unset
246
- expect(config.getEphemeralSetting('compression-threshold')).toBe(0.65);
247
- expect(config.getEphemeralSetting('context-limit')).toBeUndefined();
248
- // Apply to GeminiClient
249
- const geminiClient = config.getGeminiClient();
250
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
251
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), undefined);
252
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.65, undefined);
253
- });
254
- it('should revert to defaults when unsetting both settings', async () => {
255
- // Set compression settings
256
- config.setEphemeralSetting('compression-threshold', 0.7);
257
- config.setEphemeralSetting('context-limit', 100000);
258
- // Unset both
259
- config.setEphemeralSetting('compression-threshold', undefined);
260
- config.setEphemeralSetting('context-limit', undefined);
261
- // Verify both are unset
262
- expect(config.getEphemeralSetting('compression-threshold')).toBeUndefined();
263
- expect(config.getEphemeralSetting('context-limit')).toBeUndefined();
264
- // Apply to GeminiClient
265
- const geminiClient = config.getGeminiClient();
266
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
267
- geminiClient.setCompressionSettings(undefined, undefined);
268
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(undefined, undefined);
269
- });
270
- });
271
- describe('CLI args for compression settings work correctly', () => {
272
- it('should apply compression settings from CLI args via settings', async () => {
273
- // Mock settings with compression values
274
- const mockSettings = {
275
- merged: {
276
- 'compression-threshold': 0.72,
277
- 'context-limit': 125000,
278
- },
279
- };
280
- // Create a new config with mocked settings behavior
281
- const testConfig = new Config({
282
- sessionId: 'cli-test-session',
283
- targetDir: tempDir,
284
- debugMode: false,
285
- model: 'gemini-2.0-flash-exp',
286
- cwd: tempDir,
287
- });
288
- await testConfig.initialize();
289
- // Apply settings as if they came from CLI args
290
- testConfig.setEphemeralSetting('compression-threshold', mockSettings.merged['compression-threshold']);
291
- testConfig.setEphemeralSetting('context-limit', mockSettings.merged['context-limit']);
292
- // Get the GeminiClient and apply settings
293
- const geminiClient = testConfig.getGeminiClient();
294
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
295
- geminiClient.setCompressionSettings(testConfig.getEphemeralSetting('compression-threshold'), testConfig.getEphemeralSetting('context-limit'));
296
- // Verify settings were applied correctly
297
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.72, 125000);
298
- expect(testConfig.getEphemeralSetting('compression-threshold')).toBe(0.72);
299
- expect(testConfig.getEphemeralSetting('context-limit')).toBe(125000);
300
- });
301
- it('should prioritize CLI args over profile settings', async () => {
302
- // Create and save a profile with compression settings
303
- const profile = {
304
- version: 1,
305
- provider: 'google',
306
- model: 'gemini-2.0-flash-exp',
162
+ model: 'claude-3',
307
163
  modelParams: {},
308
164
  ephemeralSettings: {
309
- 'compression-threshold': 0.5,
310
- 'context-limit': 80000,
165
+ 'compression-threshold': 0.65,
166
+ // No context-limit
311
167
  },
312
168
  };
313
- await profileManager.saveProfile('cli-override-profile', profile);
314
- // Create config and load profile
315
- const testConfig = new Config({
316
- sessionId: 'cli-override-session',
317
- targetDir: tempDir,
318
- debugMode: false,
319
- model: 'gemini-2.0-flash-exp',
320
- cwd: tempDir,
321
- });
322
- await testConfig.initialize();
323
- // Load profile settings
324
- const loadedProfile = await profileManager.loadProfile('cli-override-profile');
325
- if (loadedProfile.ephemeralSettings) {
326
- for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
327
- testConfig.setEphemeralSetting(key, value);
328
- }
329
- }
330
- // Simulate CLI args overriding the profile
331
- const cliSettings = {
332
- 'compression-threshold': 0.9,
333
- 'context-limit': 180000,
334
- };
335
- // Apply CLI settings (these should override profile)
336
- testConfig.setEphemeralSetting('compression-threshold', cliSettings['compression-threshold']);
337
- testConfig.setEphemeralSetting('context-limit', cliSettings['context-limit']);
338
- // Verify CLI settings took precedence
339
- expect(testConfig.getEphemeralSetting('compression-threshold')).toBe(0.9);
340
- expect(testConfig.getEphemeralSetting('context-limit')).toBe(180000);
341
- // Verify they are applied to GeminiClient
342
- const geminiClient = testConfig.getGeminiClient();
343
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
344
- geminiClient.setCompressionSettings(testConfig.getEphemeralSetting('compression-threshold'), testConfig.getEphemeralSetting('context-limit'));
345
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.9, 180000);
346
- });
347
- });
348
- describe('Interaction between context-limit and compression-threshold', () => {
349
- it('should correctly handle the relationship between context-limit and compression-threshold', async () => {
350
- // Set a context limit and compression threshold
351
- config.setEphemeralSetting('context-limit', 100000);
352
- config.setEphemeralSetting('compression-threshold', 0.7);
353
- const geminiClient = config.getGeminiClient();
354
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
355
- // Apply settings
356
- geminiClient.setCompressionSettings(0.7, 100000);
357
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.7, 100000);
358
- // Test changing context limit while keeping threshold
359
- config.setEphemeralSetting('context-limit', 200000);
360
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), config.getEphemeralSetting('context-limit'));
361
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.7, 200000);
362
- // Test changing threshold while keeping context limit
363
- config.setEphemeralSetting('compression-threshold', 0.5);
364
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), config.getEphemeralSetting('context-limit'));
365
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.5, 200000);
366
- });
367
- it('should handle independent updates of context-limit and compression-threshold', async () => {
368
- const geminiClient = config.getGeminiClient();
369
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
370
- // Set only context-limit first
371
- config.setEphemeralSetting('context-limit', 150000);
372
- geminiClient.setCompressionSettings(undefined, 150000);
373
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(undefined, 150000);
374
- // Later add compression-threshold
375
- config.setEphemeralSetting('compression-threshold', 0.8);
376
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), config.getEphemeralSetting('context-limit'));
377
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.8, 150000);
378
- // Update only compression-threshold
379
- config.setEphemeralSetting('compression-threshold', 0.6);
380
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), config.getEphemeralSetting('context-limit'));
381
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.6, 150000);
382
- // Remove compression-threshold, keep context-limit
383
- config.setEphemeralSetting('compression-threshold', undefined);
384
- geminiClient.setCompressionSettings(undefined, config.getEphemeralSetting('context-limit'));
385
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(undefined, 150000);
386
- });
387
- });
388
- describe('Full integration flow', () => {
389
- it('should handle the complete flow from settings to client application', async () => {
390
- // 1. Start with no compression settings
391
- expect(config.getEphemeralSetting('compression-threshold')).toBeUndefined();
392
- expect(config.getEphemeralSetting('context-limit')).toBeUndefined();
393
- // 2. Set compression settings via ephemeral settings (simulating /set command)
394
- config.setEphemeralSetting('compression-threshold', 0.75);
395
- config.setEphemeralSetting('context-limit', 120000);
396
- // 3. Apply to GeminiClient
397
- const geminiClient = config.getGeminiClient();
398
- const setCompressionSettingsSpy = vi.spyOn(geminiClient, 'setCompressionSettings');
399
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), config.getEphemeralSetting('context-limit'));
400
- expect(setCompressionSettingsSpy).toHaveBeenCalledWith(0.75, 120000);
401
- // 4. Save to profile
402
- const profile = {
403
- version: 1,
404
- provider: 'google',
405
- model: 'gemini-2.0-flash-exp',
406
- modelParams: {},
407
- ephemeralSettings: config.getEphemeralSettings(),
408
- };
409
- await profileManager.saveProfile('integration-test-profile', profile);
410
- // 5. Create new session
169
+ await profileManager.saveProfile('partial-compression', profile);
170
+ const loadedProfile = await profileManager.loadProfile('partial-compression');
171
+ // Apply to a new config
411
172
  const newConfig = new Config({
412
- sessionId: 'new-integration-session',
173
+ sessionId: 'partial-session',
413
174
  targetDir: tempDir,
414
175
  debugMode: false,
415
176
  model: 'gemini-2.0-flash-exp',
416
177
  cwd: tempDir,
417
178
  });
418
179
  await newConfig.initialize();
419
- // 6. Load profile
420
- const loadedProfile = await profileManager.loadProfile('integration-test-profile');
421
- if (loadedProfile.ephemeralSettings) {
422
- for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
423
- newConfig.setEphemeralSetting(key, value);
424
- }
180
+ for (const [key, value] of Object.entries(loadedProfile.ephemeralSettings)) {
181
+ newConfig.setEphemeralSetting(key, value);
425
182
  }
426
- // 7. Verify settings are restored and can be applied
427
- expect(newConfig.getEphemeralSetting('compression-threshold')).toBe(0.75);
428
- expect(newConfig.getEphemeralSetting('context-limit')).toBe(120000);
429
- const newGeminiClient = newConfig.getGeminiClient();
430
- const newSetCompressionSettingsSpy = vi.spyOn(newGeminiClient, 'setCompressionSettings');
431
- newGeminiClient.setCompressionSettings(newConfig.getEphemeralSetting('compression-threshold'), newConfig.getEphemeralSetting('context-limit'));
432
- expect(newSetCompressionSettingsSpy).toHaveBeenCalledWith(0.75, 120000);
183
+ // Verify only compression-threshold was loaded
184
+ expect(newConfig.getEphemeralSetting('compression-threshold')).toBe(0.65);
185
+ expect(newConfig.getEphemeralSetting('context-limit')).toBeUndefined();
433
186
  });
434
187
  });
435
188
  });
@@ -1 +1 @@
1
- {"version":3,"file":"compression-settings-apply.integration.test.js","sourceRoot":"","sources":["../../../src/integration-tests/compression-settings-apply.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compression-settings-apply.integration.test.js","sourceRoot":"","sources":["../../../src/integration-tests/compression-settings-apply.integration.test.ts"],"names":[],"mappings":"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"}
@@ -72,22 +72,11 @@ describe('Ephemeral Settings Integration Tests', () => {
72
72
  config.setEphemeralSetting('context-limit', 100000);
73
73
  config.setEphemeralSetting('compression-threshold', 0.6);
74
74
  // Get the GeminiClient from config
75
- const geminiClient = config.getGeminiClient();
76
- // Apply compression settings
77
- geminiClient.setCompressionSettings(config.getEphemeralSetting('compression-threshold'), config.getEphemeralSetting('context-limit'));
78
- // Verify the client received the compression settings
79
- // Note: We can't directly access private properties, but we can verify
80
- // that the settings were accepted without error
81
- expect(() => {
82
- geminiClient.setCompressionSettings(0.6, 100000);
83
- }).not.toThrow();
84
- // Test invalid compression threshold values
85
- expect(() => {
86
- geminiClient.setCompressionSettings(-0.1, 100000);
87
- }).not.toThrow(); // Should be ignored
88
- expect(() => {
89
- geminiClient.setCompressionSettings(1.5, 100000);
90
- }).not.toThrow(); // Should be ignored
75
+ // Verify compression settings are stored in ephemeral settings
76
+ // (actual compression happens internally in geminiChat when needed)
77
+ expect(config.getEphemeralSetting('compression-threshold')).toBe(0.6);
78
+ expect(config.getEphemeralSetting('context-limit')).toBe(100000);
79
+ // Compression validation now happens in geminiChat when it reads the settings
91
80
  });
92
81
  });
93
82
  describe('Custom Headers Application', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ephemeral-settings.integration.test.js","sourceRoot":"","sources":["../../../src/integration-tests/ephemeral-settings.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ephemeral-settings.integration.test.js","sourceRoot":"","sources":["../../../src/integration-tests/ephemeral-settings.integration.test.ts"],"names":[],"mappings":"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"}