@vybestack/llxprt-code 0.3.4 → 0.4.1-nightly.250923.fc764b9f

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 (228) hide show
  1. package/README.md +3 -0
  2. package/dist/package.json +7 -6
  3. package/dist/src/auth/anthropic-oauth-provider.d.ts +4 -0
  4. package/dist/src/auth/anthropic-oauth-provider.js +14 -0
  5. package/dist/src/auth/anthropic-oauth-provider.js.map +1 -1
  6. package/dist/src/auth/gemini-oauth-provider.d.ts +7 -1
  7. package/dist/src/auth/gemini-oauth-provider.js +48 -9
  8. package/dist/src/auth/gemini-oauth-provider.js.map +1 -1
  9. package/dist/src/auth/qwen-oauth-provider.d.ts +5 -1
  10. package/dist/src/auth/qwen-oauth-provider.js +6 -0
  11. package/dist/src/auth/qwen-oauth-provider.js.map +1 -1
  12. package/dist/src/commands/extensions/examples/context/LLXPRT.md +8 -0
  13. package/dist/src/commands/extensions/examples/context/llxprt-extension.json +5 -0
  14. package/dist/src/commands/extensions/examples/custom-commands/commands/fs/grep-code.toml +6 -0
  15. package/dist/src/commands/extensions/examples/custom-commands/llxprt-extension.json +4 -0
  16. package/dist/src/commands/extensions/examples/exclude-tools/llxprt-extension.json +5 -0
  17. package/dist/src/commands/extensions/examples/mcp-server/example.d.ts +6 -0
  18. package/dist/src/commands/extensions/examples/mcp-server/example.js +46 -0
  19. package/dist/src/commands/extensions/examples/mcp-server/example.js.map +1 -0
  20. package/dist/src/commands/extensions/examples/mcp-server/example.ts +60 -0
  21. package/dist/src/commands/extensions/examples/mcp-server/llxprt-extension.json +10 -0
  22. package/dist/src/commands/extensions/install.js +35 -7
  23. package/dist/src/commands/extensions/install.js.map +1 -1
  24. package/dist/src/commands/extensions/install.test.js +20 -2
  25. package/dist/src/commands/extensions/install.test.js.map +1 -1
  26. package/dist/src/commands/extensions/link.d.ts +12 -0
  27. package/dist/src/commands/extensions/link.js +37 -0
  28. package/dist/src/commands/extensions/link.js.map +1 -0
  29. package/dist/src/commands/extensions/new.d.ts +7 -0
  30. package/dist/src/commands/extensions/new.js +70 -0
  31. package/dist/src/commands/extensions/new.js.map +1 -0
  32. package/dist/src/commands/extensions/new.test.d.ts +6 -0
  33. package/dist/src/commands/extensions/new.test.js +50 -0
  34. package/dist/src/commands/extensions/new.test.js.map +1 -0
  35. package/dist/src/commands/extensions/update.d.ts +2 -1
  36. package/dist/src/commands/extensions/update.js +40 -13
  37. package/dist/src/commands/extensions/update.js.map +1 -1
  38. package/dist/src/commands/extensions.js +4 -0
  39. package/dist/src/commands/extensions.js.map +1 -1
  40. package/dist/src/commands/mcp/add.js +1 -1
  41. package/dist/src/commands/mcp/add.js.map +1 -1
  42. package/dist/src/commands/mcp/list.js +2 -2
  43. package/dist/src/commands/mcp/list.js.map +1 -1
  44. package/dist/src/commands/mcp/remove.js +1 -1
  45. package/dist/src/commands/mcp/remove.js.map +1 -1
  46. package/dist/src/config/auth.d.ts +1 -1
  47. package/dist/src/config/auth.js +6 -13
  48. package/dist/src/config/auth.js.map +1 -1
  49. package/dist/src/config/auth.test.js +13 -7
  50. package/dist/src/config/auth.test.js.map +1 -1
  51. package/dist/src/config/config.d.ts +4 -1
  52. package/dist/src/config/config.js +47 -23
  53. package/dist/src/config/config.js.map +1 -1
  54. package/dist/src/config/extension.d.ts +8 -5
  55. package/dist/src/config/extension.js +76 -24
  56. package/dist/src/config/extension.js.map +1 -1
  57. package/dist/src/config/keyBindings.d.ts +1 -0
  58. package/dist/src/config/keyBindings.js +6 -25
  59. package/dist/src/config/keyBindings.js.map +1 -1
  60. package/dist/src/config/settings.d.ts +4 -4
  61. package/dist/src/config/settings.js +101 -68
  62. package/dist/src/config/settings.js.map +1 -1
  63. package/dist/src/config/settingsSchema.d.ts +252 -3
  64. package/dist/src/config/settingsSchema.js +248 -3
  65. package/dist/src/config/settingsSchema.js.map +1 -1
  66. package/dist/src/config/trustedFolders.d.ts +14 -3
  67. package/dist/src/config/trustedFolders.js +63 -37
  68. package/dist/src/config/trustedFolders.js.map +1 -1
  69. package/dist/src/config/trustedFolders.test.js +84 -9
  70. package/dist/src/config/trustedFolders.test.js.map +1 -1
  71. package/dist/src/gemini.js +74 -18
  72. package/dist/src/gemini.js.map +1 -1
  73. package/dist/src/gemini.test.js +7 -23
  74. package/dist/src/gemini.test.js.map +1 -1
  75. package/dist/src/generated/git-commit.d.ts +1 -1
  76. package/dist/src/generated/git-commit.js +1 -1
  77. package/dist/src/nonInteractiveCli.js +32 -2
  78. package/dist/src/nonInteractiveCli.js.map +1 -1
  79. package/dist/src/providers/providerManagerInstance.d.ts +2 -1
  80. package/dist/src/providers/providerManagerInstance.js +27 -5
  81. package/dist/src/providers/providerManagerInstance.js.map +1 -1
  82. package/dist/src/services/FileCommandLoader.d.ts +2 -0
  83. package/dist/src/services/FileCommandLoader.js +7 -0
  84. package/dist/src/services/FileCommandLoader.js.map +1 -1
  85. package/dist/src/ui/App.js +104 -52
  86. package/dist/src/ui/App.js.map +1 -1
  87. package/dist/src/ui/commands/directoryCommand.js +1 -1
  88. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  89. package/dist/src/ui/commands/memoryCommand.js +1 -1
  90. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  91. package/dist/src/ui/commands/providerCommand.js +21 -8
  92. package/dist/src/ui/commands/providerCommand.js.map +1 -1
  93. package/dist/src/ui/components/AuthDialog.test.js +13 -13
  94. package/dist/src/ui/components/AuthDialog.test.js.map +1 -1
  95. package/dist/src/ui/components/FolderTrustDialog.js +5 -3
  96. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  97. package/dist/src/ui/components/FolderTrustDialog.test.js +21 -6
  98. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  99. package/dist/src/ui/components/Footer.d.ts +3 -0
  100. package/dist/src/ui/components/Footer.js +4 -4
  101. package/dist/src/ui/components/Footer.js.map +1 -1
  102. package/dist/src/ui/components/GeminiRespondingSpinner.js +5 -3
  103. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  104. package/dist/src/ui/components/InputPrompt.d.ts +2 -2
  105. package/dist/src/ui/components/InputPrompt.js +35 -25
  106. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  107. package/dist/src/ui/components/MemoryUsageDisplay.js +1 -1
  108. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  109. package/dist/src/ui/components/ProQuotaDialog.d.ts +13 -0
  110. package/dist/src/ui/components/ProQuotaDialog.js +22 -0
  111. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -0
  112. package/dist/src/ui/components/ProQuotaDialog.test.d.ts +6 -0
  113. package/dist/src/ui/components/ProQuotaDialog.test.js +57 -0
  114. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -0
  115. package/dist/src/ui/components/SettingsDialog.js +4 -6
  116. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  117. package/dist/src/ui/components/SettingsDialog.test.js +2 -2
  118. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  119. package/dist/src/ui/components/ShellConfirmationDialog.js +7 -1
  120. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  121. package/dist/src/ui/components/TodoPanel.js +75 -10
  122. package/dist/src/ui/components/TodoPanel.js.map +1 -1
  123. package/dist/src/ui/components/messages/CompressionMessage.js +1 -1
  124. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
  125. package/dist/src/ui/components/messages/DiffRenderer.js +5 -1
  126. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  127. package/dist/src/ui/components/messages/GeminiMessage.js +1 -1
  128. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  129. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +1 -1
  130. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  131. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -8
  132. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  133. package/dist/src/ui/components/messages/ToolMessage.js +2 -1
  134. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  135. package/dist/src/ui/components/messages/UserMessage.js +1 -1
  136. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  137. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  138. package/dist/src/ui/components/shared/RadioButtonSelect.js +1 -1
  139. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  140. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +2 -2
  141. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
  142. package/dist/src/ui/components/shared/text-buffer.js +35 -51
  143. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  144. package/dist/src/ui/constants.d.ts +8 -2
  145. package/dist/src/ui/constants.js +9 -2
  146. package/dist/src/ui/constants.js.map +1 -1
  147. package/dist/src/ui/containers/SessionController.js +1 -1
  148. package/dist/src/ui/containers/SessionController.js.map +1 -1
  149. package/dist/src/ui/containers/SessionController.test.js +1 -0
  150. package/dist/src/ui/containers/SessionController.test.js.map +1 -1
  151. package/dist/src/ui/contexts/KeypressContext.js +255 -42
  152. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  153. package/dist/src/ui/contexts/KeypressContext.test.js +115 -1
  154. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  155. package/dist/src/ui/hooks/slashCommandProcessor.js +3 -1
  156. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  157. package/dist/src/ui/hooks/useFolderTrust.js +6 -3
  158. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  159. package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
  160. package/dist/src/ui/hooks/useGeminiStream.integration.test.js +1 -1
  161. package/dist/src/ui/hooks/useGeminiStream.integration.test.js.map +1 -1
  162. package/dist/src/ui/hooks/useGeminiStream.js +170 -35
  163. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  164. package/dist/src/ui/hooks/useIdeTrustListener.d.ts +15 -0
  165. package/dist/src/ui/hooks/useIdeTrustListener.js +37 -0
  166. package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -0
  167. package/dist/src/ui/hooks/useInputHistoryStore.d.ts +19 -0
  168. package/dist/src/ui/hooks/useInputHistoryStore.js +81 -0
  169. package/dist/src/ui/hooks/useInputHistoryStore.js.map +1 -0
  170. package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +6 -0
  171. package/dist/src/ui/hooks/useInputHistoryStore.test.js +234 -0
  172. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -0
  173. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  174. package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
  175. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  176. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +6 -0
  177. package/dist/src/ui/hooks/useLoadingIndicator.test.js +102 -0
  178. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -0
  179. package/dist/src/ui/hooks/usePhraseCycler.d.ts +1 -1
  180. package/dist/src/ui/hooks/usePhraseCycler.js +25 -17
  181. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  182. package/dist/src/ui/hooks/usePrivacySettings.d.ts +1 -1
  183. package/dist/src/ui/hooks/usePrivacySettings.js +20 -13
  184. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  185. package/dist/src/ui/hooks/usePrivacySettings.test.js +52 -105
  186. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
  187. package/dist/src/ui/hooks/useTerminalSize.js +22 -8
  188. package/dist/src/ui/hooks/useTerminalSize.js.map +1 -1
  189. package/dist/src/ui/hooks/useToolScheduler.test.js +57 -70
  190. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  191. package/dist/src/ui/keyMatchers.test.js +9 -0
  192. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  193. package/dist/src/ui/textConstants.d.ts +9 -0
  194. package/dist/src/ui/textConstants.js +10 -0
  195. package/dist/src/ui/textConstants.js.map +1 -0
  196. package/dist/src/ui/utils/MarkdownDisplay.test.js +2 -2
  197. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  198. package/dist/src/ui/utils/highlight.d.ts +10 -0
  199. package/dist/src/ui/utils/highlight.js +41 -0
  200. package/dist/src/ui/utils/highlight.js.map +1 -0
  201. package/dist/src/ui/utils/highlight.test.d.ts +6 -0
  202. package/dist/src/ui/utils/highlight.test.js +93 -0
  203. package/dist/src/ui/utils/highlight.test.js.map +1 -0
  204. package/dist/src/ui/utils/platformConstants.d.ts +24 -1
  205. package/dist/src/ui/utils/platformConstants.js +26 -1
  206. package/dist/src/ui/utils/platformConstants.js.map +1 -1
  207. package/dist/src/utils/envVarResolver.d.ts +39 -0
  208. package/dist/src/utils/envVarResolver.js +97 -0
  209. package/dist/src/utils/envVarResolver.js.map +1 -0
  210. package/dist/src/utils/envVarResolver.test.d.ts +6 -0
  211. package/dist/src/utils/envVarResolver.test.js +221 -0
  212. package/dist/src/utils/envVarResolver.test.js.map +1 -0
  213. package/dist/src/utils/errors.d.ts +9 -0
  214. package/dist/src/utils/errors.js +18 -0
  215. package/dist/src/utils/errors.js.map +1 -0
  216. package/dist/src/utils/settingsUtils.js +5 -7
  217. package/dist/src/utils/settingsUtils.js.map +1 -1
  218. package/dist/src/utils/singleSettingSaver.d.ts +7 -0
  219. package/dist/src/utils/singleSettingSaver.js +45 -0
  220. package/dist/src/utils/singleSettingSaver.js.map +1 -0
  221. package/dist/src/utils/userStartupWarnings.d.ts +1 -1
  222. package/dist/src/utils/userStartupWarnings.js +1 -1
  223. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  224. package/dist/src/zed-integration/schema.d.ts +398 -398
  225. package/dist/src/zed-integration/zedIntegration.js +11 -7
  226. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  227. package/dist/tsconfig.tsbuildinfo +1 -1
  228. package/package.json +7 -6
@@ -5,104 +5,39 @@
5
5
  */
6
6
  import { describe, it, expect, beforeEach, vi } from 'vitest';
7
7
  import { renderHook, waitFor } from '@testing-library/react';
8
- import { CodeAssistServer, LoggingContentGenerator, UserTierId, } from '@vybestack/llxprt-code-core';
8
+ import { UserTierId } from '@vybestack/llxprt-code-core';
9
9
  import { usePrivacySettings } from './usePrivacySettings.js';
10
- // Mock the dependencies
11
- vi.mock('@vybestack/llxprt-code-core', () => {
12
- // Mock classes for instanceof checks
13
- class MockCodeAssistServer {
14
- projectId = 'test-project-id';
15
- loadCodeAssist = vi.fn();
16
- getCodeAssistGlobalUserSetting = vi.fn();
17
- setCodeAssistGlobalUserSetting = vi.fn();
18
- constructor(_client, _projectId, _httpOptions, _sessionId, _userTier) { }
19
- }
20
- class MockLoggingContentGenerator {
21
- getWrapped = vi.fn();
22
- constructor(_wrapped, _config) { }
23
- }
24
- return {
25
- Config: vi.fn(),
26
- CodeAssistServer: MockCodeAssistServer,
27
- LoggingContentGenerator: MockLoggingContentGenerator,
28
- GeminiClient: vi.fn(),
29
- UserTierId: {
30
- FREE: 'free-tier',
31
- LEGACY: 'legacy-tier',
32
- STANDARD: 'standard-tier',
33
- },
34
- };
35
- });
36
10
  describe('usePrivacySettings', () => {
37
- let mockConfig;
38
- let mockClient;
39
- let mockCodeAssistServer;
40
- let mockLoggingContentGenerator;
41
11
  beforeEach(() => {
42
12
  vi.clearAllMocks();
43
- // Create mock CodeAssistServer instance
44
- mockCodeAssistServer = new CodeAssistServer(null, 'test-project-id');
45
- mockCodeAssistServer.loadCodeAssist.mockResolvedValue({
46
- currentTier: { id: UserTierId.FREE },
47
- });
48
- mockCodeAssistServer.getCodeAssistGlobalUserSetting.mockResolvedValue({
49
- freeTierDataCollectionOptin: true,
50
- });
51
- mockCodeAssistServer.setCodeAssistGlobalUserSetting.mockResolvedValue({
52
- freeTierDataCollectionOptin: false,
53
- });
54
- // Create mock LoggingContentGenerator that wraps the CodeAssistServer
55
- mockLoggingContentGenerator = new LoggingContentGenerator(mockCodeAssistServer, null);
56
- mockLoggingContentGenerator.getWrapped.mockReturnValue(mockCodeAssistServer);
57
- // Create mock GeminiClient
58
- mockClient = {
59
- getContentGenerator: vi.fn().mockReturnValue(mockLoggingContentGenerator),
60
- };
61
- // Create mock Config
62
- mockConfig = {
63
- getGeminiClient: vi.fn().mockReturnValue(mockClient),
64
- };
65
- });
66
- it('should handle LoggingContentGenerator wrapper correctly and not throw "Oauth not being used" error', async () => {
67
- const { result } = renderHook(() => usePrivacySettings(mockConfig));
68
- // Initial state should be loading
69
- expect(result.current.privacyState.isLoading).toBe(true);
70
- expect(result.current.privacyState.error).toBeUndefined();
71
- // Wait for the hook to complete
72
- await waitFor(() => {
73
- expect(result.current.privacyState.isLoading).toBe(false);
74
- });
75
- // Should not have the "Oauth not being used" error
76
- expect(result.current.privacyState.error).toBeUndefined();
77
- expect(result.current.privacyState.isFreeTier).toBe(true);
78
- expect(result.current.privacyState.dataCollectionOptIn).toBe(true);
79
- // Verify that getWrapped was called to unwrap the LoggingContentGenerator
80
- expect(mockLoggingContentGenerator.getWrapped).toHaveBeenCalled();
81
13
  });
82
- it('should work with direct CodeAssistServer (no wrapper)', async () => {
83
- // Test case where the content generator is directly a CodeAssistServer
84
- const directServer = new CodeAssistServer(null, 'test-project-id');
85
- directServer.loadCodeAssist.mockResolvedValue({
86
- currentTier: { id: UserTierId.FREE },
87
- });
88
- directServer.getCodeAssistGlobalUserSetting.mockResolvedValue({
89
- freeTierDataCollectionOptin: true,
90
- });
91
- mockClient.getContentGenerator = vi.fn().mockReturnValue(directServer);
92
- const { result } = renderHook(() => usePrivacySettings(mockConfig));
14
+ it('should throw error when content generator is not a CodeAssistServer', async () => {
15
+ // Mock config to return undefined content generator
16
+ const testConfig = {
17
+ getGeminiClient: vi.fn().mockReturnValue({
18
+ getContentGenerator: vi.fn().mockReturnValue(undefined),
19
+ }),
20
+ };
21
+ const { result } = renderHook(() => usePrivacySettings(testConfig));
93
22
  await waitFor(() => {
94
23
  expect(result.current.privacyState.isLoading).toBe(false);
95
24
  });
96
- expect(result.current.privacyState.error).toBeUndefined();
97
- expect(result.current.privacyState.isFreeTier).toBe(true);
98
- expect(result.current.privacyState.dataCollectionOptIn).toBe(true);
25
+ expect(result.current.privacyState.error).toBe('Oauth not being used');
99
26
  });
100
27
  it('should handle paid tier users correctly', async () => {
101
28
  // Mock paid tier response
102
- mockCodeAssistServer.loadCodeAssist.mockResolvedValue({
103
- currentTier: { id: UserTierId.STANDARD },
104
- });
105
- const { result } = renderHook(() => usePrivacySettings(mockConfig));
29
+ const mockCodeAssistServer = {
30
+ projectId: 'test-project-id',
31
+ loadCodeAssist: vi.fn().mockResolvedValue({
32
+ currentTier: { id: UserTierId.STANDARD },
33
+ }),
34
+ };
35
+ const testConfig = {
36
+ getGeminiClient: vi.fn().mockReturnValue({
37
+ getContentGenerator: vi.fn().mockReturnValue(mockCodeAssistServer),
38
+ }),
39
+ };
40
+ const { result } = renderHook(() => usePrivacySettings(testConfig));
106
41
  await waitFor(() => {
107
42
  expect(result.current.privacyState.isLoading).toBe(false);
108
43
  });
@@ -110,31 +45,43 @@ describe('usePrivacySettings', () => {
110
45
  expect(result.current.privacyState.isFreeTier).toBe(false);
111
46
  expect(result.current.privacyState.dataCollectionOptIn).toBeUndefined();
112
47
  });
113
- it('should throw error when content generator is not a CodeAssistServer', async () => {
114
- // Mock a non-CodeAssistServer content generator
115
- const mockOtherGenerator = { someOtherMethod: vi.fn() };
116
- mockLoggingContentGenerator.getWrapped.mockReturnValue(mockOtherGenerator);
117
- const { result } = renderHook(() => usePrivacySettings(mockConfig));
118
- await waitFor(() => {
119
- expect(result.current.privacyState.isLoading).toBe(false);
120
- });
121
- expect(result.current.privacyState.error).toBe('Oauth not being used');
122
- });
123
48
  it('should throw error when CodeAssistServer has no projectId', async () => {
124
- // Mock CodeAssistServer without projectId
125
- const mockServerNoProject = {
126
- ...mockCodeAssistServer,
127
- projectId: undefined,
49
+ const mockCodeAssistServer = {
50
+ projectId: undefined, // Explicitly set projectId to undefined
51
+ loadCodeAssist: vi.fn().mockResolvedValue({
52
+ currentTier: { id: UserTierId.FREE },
53
+ }),
128
54
  };
129
- mockLoggingContentGenerator.getWrapped.mockReturnValue(mockServerNoProject);
130
- const { result } = renderHook(() => usePrivacySettings(mockConfig));
55
+ const testConfig = {
56
+ getGeminiClient: vi.fn().mockReturnValue({
57
+ getContentGenerator: vi.fn().mockReturnValue(mockCodeAssistServer),
58
+ }),
59
+ };
60
+ const { result } = renderHook(() => usePrivacySettings(testConfig));
131
61
  await waitFor(() => {
132
62
  expect(result.current.privacyState.isLoading).toBe(false);
133
63
  });
134
- expect(result.current.privacyState.error).toBe('Oauth not being used');
64
+ expect(result.current.privacyState.error).toBe('CodeAssist server is missing a project ID');
135
65
  });
136
66
  it('should update data collection opt-in setting', async () => {
137
- const { result } = renderHook(() => usePrivacySettings(mockConfig));
67
+ const mockCodeAssistServer = {
68
+ projectId: 'test-project-id',
69
+ getCodeAssistGlobalUserSetting: vi.fn().mockResolvedValue({
70
+ freeTierDataCollectionOptin: true,
71
+ }),
72
+ setCodeAssistGlobalUserSetting: vi.fn().mockResolvedValue({
73
+ freeTierDataCollectionOptin: false,
74
+ }),
75
+ loadCodeAssist: vi.fn().mockResolvedValue({
76
+ currentTier: { id: UserTierId.FREE },
77
+ }),
78
+ };
79
+ const testConfig = {
80
+ getGeminiClient: vi.fn().mockReturnValue({
81
+ getContentGenerator: vi.fn().mockReturnValue(mockCodeAssistServer),
82
+ }),
83
+ };
84
+ const { result } = renderHook(() => usePrivacySettings(testConfig));
138
85
  // Wait for initial load
139
86
  await waitFor(() => {
140
87
  expect(result.current.privacyState.isLoading).toBe(false);
@@ -1 +1 @@
1
- {"version":3,"file":"usePrivacySettings.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/usePrivacySettings.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePrivacySettings.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/usePrivacySettings.test.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,32 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { useEffect, useState } from 'react';
7
+ import { execSync } from 'child_process';
7
8
  const TERMINAL_PADDING_X = 8;
9
+ // Get terminal dimensions using child_process to run tput command
10
+ // as process.stdout.columns and process.stdout.rows aren't reliable in our environment
11
+ function getTerminalDimensions() {
12
+ try {
13
+ const cols = parseInt(execSync('tput cols').toString().trim(), 10);
14
+ const rows = parseInt(execSync('tput lines').toString().trim(), 10);
15
+ return {
16
+ columns: cols || 80,
17
+ rows: rows || 24,
18
+ };
19
+ }
20
+ catch (_error) {
21
+ // Fallback to process.stdout if tput doesn't work
22
+ return {
23
+ columns: (process.stdout.columns || 80) - TERMINAL_PADDING_X,
24
+ rows: process.stdout.rows || 24,
25
+ };
26
+ }
27
+ }
8
28
  export function useTerminalSize() {
9
- const [size, setSize] = useState({
10
- columns: (process.stdout.columns || 60) - TERMINAL_PADDING_X,
11
- rows: process.stdout.rows || 20,
12
- });
29
+ const [size, setSize] = useState(getTerminalDimensions());
13
30
  useEffect(() => {
14
31
  function updateSize() {
15
- setSize({
16
- columns: (process.stdout.columns || 60) - TERMINAL_PADDING_X,
17
- rows: process.stdout.rows || 20,
18
- });
32
+ setSize(getTerminalDimensions());
19
33
  }
20
34
  process.stdout.on('resize', updateSize);
21
35
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC/B,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,kBAAkB;QAC5D,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;KAChC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,UAAU;YACjB,OAAO,CAAC;gBACN,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,kBAAkB;gBAC5D,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,kEAAkE;AAClE,uFAAuF;AACvF,SAAS,qBAAqB;IAC5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,IAAI,IAAI,EAAE;YACnB,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,kDAAkD;QAClD,OAAO;YACL,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,kBAAkB;YAC5D,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;SAChC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,UAAU;YACjB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -7,13 +7,14 @@
7
7
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
8
8
  import { renderHook, act } from '@testing-library/react';
9
9
  import { useReactToolScheduler, mapToDisplay, } from './useReactToolScheduler.js';
10
- import { ToolConfirmationOutcome, ApprovalMode, Kind, BaseDeclarativeTool, BaseToolInvocation, } from '@vybestack/llxprt-code-core';
11
- import { ToolCallStatus, } from '../types.js';
10
+ import { ToolConfirmationOutcome, ApprovalMode, MockTool, } from '@vybestack/llxprt-code-core';
11
+ import { ToolCallStatus } from '../types.js';
12
12
  // Mocks
13
13
  vi.mock('@vybestack/llxprt-code-core', async () => {
14
14
  const actual = await vi.importActual('@vybestack/llxprt-code-core');
15
15
  return {
16
16
  ...actual,
17
+ MockTool: actual.MockTool, // Explicitly export MockTool
17
18
  ToolRegistry: vi.fn(),
18
19
  Config: vi.fn(),
19
20
  };
@@ -34,58 +35,29 @@ const mockConfig = {
34
35
  authType: 'oauth-personal',
35
36
  }),
36
37
  };
37
- class MockToolInvocation extends BaseToolInvocation {
38
- tool;
39
- params;
40
- constructor(tool, params) {
41
- super(params);
42
- this.tool = tool;
43
- this.params = params;
44
- }
45
- getDescription() {
46
- return JSON.stringify(this.params);
47
- }
48
- shouldConfirmExecute(abortSignal) {
49
- return this.tool.shouldConfirmExecute(this.params, abortSignal);
50
- }
51
- execute(signal, updateOutput, terminalColumns, terminalRows) {
52
- return this.tool.execute(this.params, signal, updateOutput, terminalColumns, terminalRows);
53
- }
54
- }
55
- class MockTool extends BaseDeclarativeTool {
56
- name;
57
- displayName;
58
- build;
59
- constructor(name, displayName, canUpdateOutput = false, shouldConfirm = false, isOutputMarkdown = false) {
60
- super(name, displayName, 'A mock tool for testing', Kind.Other, {}, isOutputMarkdown, canUpdateOutput);
61
- this.name = name;
62
- this.displayName = displayName;
63
- this.build = vi
64
- .fn()
65
- .mockImplementation((params) => new MockToolInvocation(this, params));
66
- if (shouldConfirm) {
67
- this.shouldConfirmExecute.mockImplementation(async () => ({
68
- type: 'edit',
69
- title: 'Mock Tool Requires Confirmation',
70
- onConfirm: mockOnUserConfirmForToolConfirmation,
71
- filePath: 'mock',
72
- fileName: 'mockToolRequiresConfirmation.ts',
73
- fileDiff: 'Mock tool requires confirmation',
74
- originalContent: 'Original content',
75
- newContent: 'New content',
76
- }));
77
- }
78
- }
79
- execute = vi.fn();
80
- shouldConfirmExecute = vi.fn();
81
- createInvocation(params) {
82
- return new MockToolInvocation(this, params);
83
- }
84
- }
85
- const mockTool = new MockTool('mockTool', 'Mock Tool');
86
- const mockToolWithLiveOutput = new MockTool('mockToolWithLiveOutput', 'Mock Tool With Live Output', true);
38
+ const mockTool = new MockTool({
39
+ name: 'mockTool',
40
+ displayName: 'Mock Tool',
41
+ execute: vi.fn(),
42
+ shouldConfirmExecute: vi.fn(),
43
+ });
44
+ const mockToolWithLiveOutput = new MockTool({
45
+ name: 'mockToolWithLiveOutput',
46
+ displayName: 'Mock Tool With Live Output',
47
+ description: 'A mock tool for testing',
48
+ params: {},
49
+ isOutputMarkdown: true,
50
+ canUpdateOutput: true,
51
+ execute: vi.fn(),
52
+ shouldConfirmExecute: vi.fn(),
53
+ });
87
54
  let mockOnUserConfirmForToolConfirmation;
88
- const mockToolRequiresConfirmation = new MockTool('mockToolRequiresConfirmation', 'Mock Tool Requires Confirmation', false, true);
55
+ const mockToolRequiresConfirmation = new MockTool({
56
+ name: 'mockToolRequiresConfirmation',
57
+ displayName: 'Mock Tool Requires Confirmation',
58
+ execute: vi.fn(),
59
+ shouldConfirmExecute: vi.fn(),
60
+ });
89
61
  describe('useReactToolScheduler in YOLO Mode', () => {
90
62
  let onComplete;
91
63
  let setPendingHistoryItem;
@@ -133,7 +105,7 @@ describe('useReactToolScheduler in YOLO Mode', () => {
133
105
  await vi.runAllTimersAsync(); // Process execution
134
106
  });
135
107
  // Check that execute WAS called
136
- expect(mockToolRequiresConfirmation.execute).toHaveBeenCalledWith(request.args, expect.any(AbortSignal), undefined, undefined, undefined);
108
+ expect(mockToolRequiresConfirmation.execute).toHaveBeenCalledWith(request.args, expect.any(AbortSignal), undefined /*updateOutputFn*/);
137
109
  // Check that onComplete was called with success
138
110
  expect(onComplete).toHaveBeenCalledWith([
139
111
  expect.objectContaining({
@@ -255,7 +227,7 @@ describe('useReactToolScheduler', () => {
255
227
  await act(async () => {
256
228
  await vi.runAllTimersAsync();
257
229
  });
258
- expect(mockTool.execute).toHaveBeenCalledWith(request.args, expect.any(AbortSignal), undefined, undefined, undefined);
230
+ expect(mockTool.execute).toHaveBeenCalledWith(request.args, expect.any(AbortSignal), undefined /*updateOutputFn*/);
259
231
  expect(onComplete).toHaveBeenCalledWith([
260
232
  expect.objectContaining({
261
233
  status: 'success',
@@ -552,18 +524,22 @@ describe('useReactToolScheduler', () => {
552
524
  expect(result.current[0]).toEqual([]);
553
525
  });
554
526
  it('should schedule and execute multiple tool calls', async () => {
555
- const tool1 = new MockTool('tool1', 'Tool 1');
556
- tool1.execute.mockResolvedValue({
557
- llmContent: 'Output 1',
558
- returnDisplay: 'Display 1',
559
- });
560
- tool1.shouldConfirmExecute.mockResolvedValue(null);
561
- const tool2 = new MockTool('tool2', 'Tool 2');
562
- tool2.execute.mockResolvedValue({
563
- llmContent: 'Output 2',
564
- returnDisplay: 'Display 2',
565
- });
566
- tool2.shouldConfirmExecute.mockResolvedValue(null);
527
+ const tool1 = new MockTool({
528
+ name: 'tool1',
529
+ displayName: 'Tool 1',
530
+ execute: vi.fn().mockResolvedValue({
531
+ llmContent: 'Output 1',
532
+ returnDisplay: 'Display 1',
533
+ }),
534
+ });
535
+ const tool2 = new MockTool({
536
+ name: 'tool2',
537
+ displayName: 'Tool 2',
538
+ execute: vi.fn().mockResolvedValue({
539
+ llmContent: 'Output 2',
540
+ returnDisplay: 'Display 2',
541
+ }),
542
+ });
567
543
  mockToolRegistry.getTool.mockImplementation((name) => {
568
544
  if (name === 'tool1')
569
545
  return tool1;
@@ -695,7 +671,12 @@ describe('mapToDisplay', () => {
695
671
  name: 'testTool',
696
672
  args: { foo: 'bar' },
697
673
  };
698
- const baseTool = new MockTool('testTool', 'Test Tool Display');
674
+ const baseTool = new MockTool({
675
+ name: 'testTool',
676
+ displayName: 'Test Tool Display',
677
+ execute: vi.fn(),
678
+ shouldConfirmExecute: vi.fn(),
679
+ });
699
680
  const baseResponse = {
700
681
  callId: 'testCallId',
701
682
  responseParts: [
@@ -815,7 +796,7 @@ describe('mapToDisplay', () => {
815
796
  expectedStatus: ToolCallStatus.Error,
816
797
  expectedResultDisplay: 'Execution failed display',
817
798
  expectedName: baseTool.displayName, // Changed from baseTool.name
818
- expectedDescription: baseInvocation.getDescription(),
799
+ expectedDescription: JSON.stringify(baseRequest.args),
819
800
  },
820
801
  {
821
802
  name: 'cancelled',
@@ -867,7 +848,13 @@ describe('mapToDisplay', () => {
867
848
  invocation: baseTool.build(baseRequest.args),
868
849
  response: { ...baseResponse, callId: 'call1' },
869
850
  };
870
- const toolForCall2 = new MockTool(baseTool.name, baseTool.displayName, false, false, true);
851
+ const toolForCall2 = new MockTool({
852
+ name: baseTool.name,
853
+ displayName: baseTool.displayName,
854
+ isOutputMarkdown: true,
855
+ execute: vi.fn(),
856
+ shouldConfirmExecute: vi.fn(),
857
+ });
871
858
  const toolCall2 = {
872
859
  request: { ...baseRequest, callId: 'call2' },
873
860
  status: 'executing',
@@ -1 +1 @@
1
- {"version":3,"file":"useToolScheduler.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useToolScheduler.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useToolScheduler.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useToolScheduler.test.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ describe('keyMatchers', () => {
24
24
  [Command.KILL_LINE_RIGHT]: (key) => key.ctrl && key.name === 'k',
25
25
  [Command.KILL_LINE_LEFT]: (key) => key.ctrl && key.name === 'u',
26
26
  [Command.CLEAR_INPUT]: (key) => key.ctrl && key.name === 'c',
27
+ [Command.DELETE_WORD_BACKWARD]: (key) => (key.ctrl || key.meta) && key.name === 'backspace',
27
28
  [Command.CLEAR_SCREEN]: (key) => key.ctrl && key.name === 'l',
28
29
  [Command.HISTORY_UP]: (key) => key.ctrl && key.name === 'p',
29
30
  [Command.HISTORY_DOWN]: (key) => key.ctrl && key.name === 'n',
@@ -95,6 +96,14 @@ describe('keyMatchers', () => {
95
96
  positive: [createKey('c', { ctrl: true })],
96
97
  negative: [createKey('c'), createKey('k', { ctrl: true })],
97
98
  },
99
+ {
100
+ command: Command.DELETE_WORD_BACKWARD,
101
+ positive: [
102
+ createKey('backspace', { ctrl: true }),
103
+ createKey('backspace', { meta: true }),
104
+ ],
105
+ negative: [createKey('backspace'), createKey('delete', { ctrl: true })],
106
+ },
98
107
  // Screen control
99
108
  {
100
109
  command: Command.CLEAR_SCREEN,