centaurus-cli 2.5.2 → 2.5.3

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 (246) hide show
  1. package/AUTH_FLOW.md +138 -0
  2. package/CONFIG_GUIDE.md +249 -0
  3. package/dist/config/models.d.ts +1 -1
  4. package/dist/config/models.d.ts.map +1 -1
  5. package/dist/config/models.js +2 -0
  6. package/dist/config/models.js.map +1 -1
  7. package/dist/ui/components/App.d.ts.map +1 -1
  8. package/dist/ui/components/App.js +104 -62
  9. package/dist/ui/components/App.js.map +1 -1
  10. package/dist/ui/components/FontRecommendation.d.ts +1 -0
  11. package/dist/ui/components/FontRecommendation.d.ts.map +1 -0
  12. package/dist/ui/components/FontRecommendation.js +1 -0
  13. package/dist/ui/components/FontRecommendation.js.map +1 -0
  14. package/dist/ui/components/InputBox.d.ts.map +1 -1
  15. package/dist/ui/components/InputBox.js +3 -2
  16. package/dist/ui/components/InputBox.js.map +1 -1
  17. package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -1
  18. package/dist/ui/components/MarkdownRenderer.js +34 -9
  19. package/dist/ui/components/MarkdownRenderer.js.map +1 -1
  20. package/dist/ui/components/MessageDisplay.js +2 -2
  21. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
  22. package/dist/ui/components/StreamingMessageDisplay.js +3 -3
  23. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  24. package/dist/ui/components/ThinkingDisplay.d.ts +13 -0
  25. package/dist/ui/components/ThinkingDisplay.d.ts.map +1 -0
  26. package/dist/ui/components/ThinkingDisplay.js +41 -0
  27. package/dist/ui/components/ThinkingDisplay.js.map +1 -0
  28. package/dist/utils/version-checker.d.ts.map +1 -1
  29. package/dist/utils/version-checker.js +3 -31
  30. package/dist/utils/version-checker.js.map +1 -1
  31. package/package.json +5 -5
  32. package/dist/ai/provider-factory.d.ts +0 -6
  33. package/dist/ai/provider-factory.d.ts.map +0 -1
  34. package/dist/ai/provider-factory.js +0 -27
  35. package/dist/ai/provider-factory.js.map +0 -1
  36. package/dist/ai/providers/base.d.ts +0 -25
  37. package/dist/ai/providers/base.d.ts.map +0 -1
  38. package/dist/ai/providers/base.js +0 -9
  39. package/dist/ai/providers/base.js.map +0 -1
  40. package/dist/ai/providers/gemini.d.ts +0 -34
  41. package/dist/ai/providers/gemini.d.ts.map +0 -1
  42. package/dist/ai/providers/gemini.js +0 -146
  43. package/dist/ai/providers/gemini.js.map +0 -1
  44. package/dist/commands/view-duplication-logs.d.ts +0 -5
  45. package/dist/commands/view-duplication-logs.d.ts.map +0 -1
  46. package/dist/commands/view-duplication-logs.js +0 -14
  47. package/dist/commands/view-duplication-logs.js.map +0 -1
  48. package/dist/context/__tests__/command-detector.test.d.ts +0 -14
  49. package/dist/context/__tests__/command-detector.test.d.ts.map +0 -1
  50. package/dist/context/__tests__/command-detector.test.js +0 -318
  51. package/dist/context/__tests__/command-detector.test.js.map +0 -1
  52. package/dist/context/__tests__/context-manager.test.d.ts +0 -16
  53. package/dist/context/__tests__/context-manager.test.d.ts.map +0 -1
  54. package/dist/context/__tests__/context-manager.test.js +0 -375
  55. package/dist/context/__tests__/context-manager.test.js.map +0 -1
  56. package/dist/context/__tests__/error-handling.test.d.ts +0 -15
  57. package/dist/context/__tests__/error-handling.test.d.ts.map +0 -1
  58. package/dist/context/__tests__/error-handling.test.js +0 -447
  59. package/dist/context/__tests__/error-handling.test.js.map +0 -1
  60. package/dist/context/handlers/__tests__/docker-handler.test.d.ts +0 -13
  61. package/dist/context/handlers/__tests__/docker-handler.test.d.ts.map +0 -1
  62. package/dist/context/handlers/__tests__/docker-handler.test.js +0 -285
  63. package/dist/context/handlers/__tests__/docker-handler.test.js.map +0 -1
  64. package/dist/context/handlers/__tests__/ssh-handler.test.d.ts +0 -13
  65. package/dist/context/handlers/__tests__/ssh-handler.test.d.ts.map +0 -1
  66. package/dist/context/handlers/__tests__/ssh-handler.test.js +0 -251
  67. package/dist/context/handlers/__tests__/ssh-handler.test.js.map +0 -1
  68. package/dist/context/handlers/__tests__/wsl-handler.test.d.ts +0 -7
  69. package/dist/context/handlers/__tests__/wsl-handler.test.d.ts.map +0 -1
  70. package/dist/context/handlers/__tests__/wsl-handler.test.js +0 -331
  71. package/dist/context/handlers/__tests__/wsl-handler.test.js.map +0 -1
  72. package/dist/index-custom.d.ts +0 -3
  73. package/dist/index-custom.d.ts.map +0 -1
  74. package/dist/index-custom.js +0 -65
  75. package/dist/index-custom.js.map +0 -1
  76. package/dist/prompts/system-prompt.d.ts +0 -47
  77. package/dist/prompts/system-prompt.d.ts.map +0 -1
  78. package/dist/prompts/system-prompt.js +0 -377
  79. package/dist/prompts/system-prompt.js.map +0 -1
  80. package/dist/providers/GoogleProvider.d.ts +0 -26
  81. package/dist/providers/GoogleProvider.d.ts.map +0 -1
  82. package/dist/providers/GoogleProvider.js +0 -313
  83. package/dist/providers/GoogleProvider.js.map +0 -1
  84. package/dist/providers/Provider.d.ts +0 -114
  85. package/dist/providers/Provider.d.ts.map +0 -1
  86. package/dist/providers/Provider.js +0 -44
  87. package/dist/providers/Provider.js.map +0 -1
  88. package/dist/services/__tests__/ai-context-injector.test.d.ts +0 -15
  89. package/dist/services/__tests__/ai-context-injector.test.d.ts.map +0 -1
  90. package/dist/services/__tests__/ai-context-injector.test.js +0 -326
  91. package/dist/services/__tests__/ai-context-injector.test.js.map +0 -1
  92. package/dist/src/context/types.js +0 -27
  93. package/dist/src/services/ai-context-injector.js +0 -96
  94. package/dist/src/services/ai-service-client.js +0 -270
  95. package/dist/src/services/api-client.js +0 -349
  96. package/dist/src/tools/types.js +0 -1
  97. package/dist/src/types/index.js +0 -1
  98. package/dist/test/context/types.js +0 -27
  99. package/dist/test/services/__tests__/ai-context-injector.test.js +0 -325
  100. package/dist/test/services/ai-context-injector.js +0 -96
  101. package/dist/test/services/ai-service-client.js +0 -270
  102. package/dist/test/services/api-client.js +0 -349
  103. package/dist/test/tools/types.js +0 -1
  104. package/dist/test/types/index.js +0 -1
  105. package/dist/test-ai-context-injector.js +0 -97
  106. package/dist/tests/automated-verification.d.ts +0 -27
  107. package/dist/tests/automated-verification.d.ts.map +0 -1
  108. package/dist/tests/automated-verification.js +0 -359
  109. package/dist/tests/automated-verification.js.map +0 -1
  110. package/dist/tests/integration-tests.d.ts +0 -50
  111. package/dist/tests/integration-tests.d.ts.map +0 -1
  112. package/dist/tests/integration-tests.js +0 -648
  113. package/dist/tests/integration-tests.js.map +0 -1
  114. package/dist/tools/file-ops-test.d.ts +0 -6
  115. package/dist/tools/file-ops-test.d.ts.map +0 -1
  116. package/dist/tools/file-ops-test.js +0 -197
  117. package/dist/tools/file-ops-test.js.map +0 -1
  118. package/dist/ui/DisplayHistory.d.ts +0 -53
  119. package/dist/ui/DisplayHistory.d.ts.map +0 -1
  120. package/dist/ui/DisplayHistory.js +0 -82
  121. package/dist/ui/DisplayHistory.js.map +0 -1
  122. package/dist/ui/clack-ui.d.ts +0 -83
  123. package/dist/ui/clack-ui.d.ts.map +0 -1
  124. package/dist/ui/clack-ui.js +0 -304
  125. package/dist/ui/clack-ui.js.map +0 -1
  126. package/dist/ui/components/DisplayItemRenderer.d.ts +0 -18
  127. package/dist/ui/components/DisplayItemRenderer.d.ts.map +0 -1
  128. package/dist/ui/components/DisplayItemRenderer.js +0 -53
  129. package/dist/ui/components/DisplayItemRenderer.js.map +0 -1
  130. package/dist/ui/components/DynamicMessage.d.ts +0 -13
  131. package/dist/ui/components/DynamicMessage.d.ts.map +0 -1
  132. package/dist/ui/components/DynamicMessage.js +0 -27
  133. package/dist/ui/components/DynamicMessage.js.map +0 -1
  134. package/dist/ui/components/FileViewerScreen.d.ts +0 -14
  135. package/dist/ui/components/FileViewerScreen.d.ts.map +0 -1
  136. package/dist/ui/components/FileViewerScreen.js +0 -74
  137. package/dist/ui/components/FileViewerScreen.js.map +0 -1
  138. package/dist/ui/components/ScrollableContent.d.ts +0 -7
  139. package/dist/ui/components/ScrollableContent.d.ts.map +0 -1
  140. package/dist/ui/components/ScrollableContent.js +0 -6
  141. package/dist/ui/components/ScrollableContent.js.map +0 -1
  142. package/dist/ui/components/ScrollableMessageList.d.ts +0 -10
  143. package/dist/ui/components/ScrollableMessageList.d.ts.map +0 -1
  144. package/dist/ui/components/ScrollableMessageList.js +0 -133
  145. package/dist/ui/components/ScrollableMessageList.js.map +0 -1
  146. package/dist/ui/components/ScrollableScreen.d.ts +0 -9
  147. package/dist/ui/components/ScrollableScreen.d.ts.map +0 -1
  148. package/dist/ui/components/ScrollableScreen.js +0 -22
  149. package/dist/ui/components/ScrollableScreen.js.map +0 -1
  150. package/dist/ui/components/StaticMessageHistory.d.ts +0 -14
  151. package/dist/ui/components/StaticMessageHistory.d.ts.map +0 -1
  152. package/dist/ui/components/StaticMessageHistory.js +0 -19
  153. package/dist/ui/components/StaticMessageHistory.js.map +0 -1
  154. package/dist/ui/components/code-block.d.ts +0 -10
  155. package/dist/ui/components/code-block.d.ts.map +0 -1
  156. package/dist/ui/components/code-block.js +0 -74
  157. package/dist/ui/components/code-block.js.map +0 -1
  158. package/dist/ui/components/confirm-prompt.d.ts +0 -12
  159. package/dist/ui/components/confirm-prompt.d.ts.map +0 -1
  160. package/dist/ui/components/confirm-prompt.js +0 -104
  161. package/dist/ui/components/confirm-prompt.js.map +0 -1
  162. package/dist/ui/components/diff-viewer.d.ts +0 -9
  163. package/dist/ui/components/diff-viewer.d.ts.map +0 -1
  164. package/dist/ui/components/diff-viewer.js +0 -57
  165. package/dist/ui/components/diff-viewer.js.map +0 -1
  166. package/dist/ui/components/input-box.d.ts +0 -18
  167. package/dist/ui/components/input-box.d.ts.map +0 -1
  168. package/dist/ui/components/input-box.js +0 -157
  169. package/dist/ui/components/input-box.js.map +0 -1
  170. package/dist/ui/components/keyboard-help.d.ts +0 -7
  171. package/dist/ui/components/keyboard-help.d.ts.map +0 -1
  172. package/dist/ui/components/keyboard-help.js +0 -43
  173. package/dist/ui/components/keyboard-help.js.map +0 -1
  174. package/dist/ui/components/loading-indicator.d.ts +0 -3
  175. package/dist/ui/components/loading-indicator.d.ts.map +0 -1
  176. package/dist/ui/components/loading-indicator.js +0 -42
  177. package/dist/ui/components/loading-indicator.js.map +0 -1
  178. package/dist/ui/components/message-display.d.ts +0 -7
  179. package/dist/ui/components/message-display.d.ts.map +0 -1
  180. package/dist/ui/components/message-display.js +0 -104
  181. package/dist/ui/components/message-display.js.map +0 -1
  182. package/dist/ui/components/misc.d.ts +0 -28
  183. package/dist/ui/components/misc.d.ts.map +0 -1
  184. package/dist/ui/components/misc.js +0 -128
  185. package/dist/ui/components/misc.js.map +0 -1
  186. package/dist/ui/components/select-prompt.d.ts +0 -13
  187. package/dist/ui/components/select-prompt.d.ts.map +0 -1
  188. package/dist/ui/components/select-prompt.js +0 -42
  189. package/dist/ui/components/select-prompt.js.map +0 -1
  190. package/dist/ui/components/status-bar.d.ts +0 -11
  191. package/dist/ui/components/status-bar.d.ts.map +0 -1
  192. package/dist/ui/components/status-bar.js +0 -47
  193. package/dist/ui/components/status-bar.js.map +0 -1
  194. package/dist/ui/components/tool-execution.d.ts +0 -3
  195. package/dist/ui/components/tool-execution.d.ts.map +0 -1
  196. package/dist/ui/components/tool-execution.js +0 -374
  197. package/dist/ui/components/tool-execution.js.map +0 -1
  198. package/dist/ui/components/tool-result.d.ts +0 -11
  199. package/dist/ui/components/tool-result.d.ts.map +0 -1
  200. package/dist/ui/components/tool-result.js +0 -58
  201. package/dist/ui/components/tool-result.js.map +0 -1
  202. package/dist/ui/components/welcome-banner.d.ts +0 -3
  203. package/dist/ui/components/welcome-banner.d.ts.map +0 -1
  204. package/dist/ui/components/welcome-banner.js +0 -46
  205. package/dist/ui/components/welcome-banner.js.map +0 -1
  206. package/dist/ui/hooks/useDisplayHistory.d.ts +0 -13
  207. package/dist/ui/hooks/useDisplayHistory.d.ts.map +0 -1
  208. package/dist/ui/hooks/useDisplayHistory.js +0 -45
  209. package/dist/ui/hooks/useDisplayHistory.js.map +0 -1
  210. package/dist/ui/render-engine.d.ts +0 -69
  211. package/dist/ui/render-engine.d.ts.map +0 -1
  212. package/dist/ui/render-engine.js +0 -197
  213. package/dist/ui/render-engine.js.map +0 -1
  214. package/dist/ui/terminal/TerminalRenderer.d.ts +0 -84
  215. package/dist/ui/terminal/TerminalRenderer.d.ts.map +0 -1
  216. package/dist/ui/terminal/TerminalRenderer.js +0 -154
  217. package/dist/ui/terminal/TerminalRenderer.js.map +0 -1
  218. package/dist/ui/terminal/TerminalUI.d.ts +0 -139
  219. package/dist/ui/terminal/TerminalUI.d.ts.map +0 -1
  220. package/dist/ui/terminal/TerminalUI.js +0 -430
  221. package/dist/ui/terminal/TerminalUI.js.map +0 -1
  222. package/dist/ui/terminal/VirtualChatBuffer.d.ts +0 -32
  223. package/dist/ui/terminal/VirtualChatBuffer.d.ts.map +0 -1
  224. package/dist/ui/terminal/VirtualChatBuffer.js +0 -37
  225. package/dist/ui/terminal/VirtualChatBuffer.js.map +0 -1
  226. package/dist/ui/terminal-kit-base.d.ts +0 -117
  227. package/dist/ui/terminal-kit-base.d.ts.map +0 -1
  228. package/dist/ui/terminal-kit-base.js +0 -188
  229. package/dist/ui/terminal-kit-base.js.map +0 -1
  230. package/dist/ui/utils/duplication-detector.d.ts +0 -32
  231. package/dist/ui/utils/duplication-detector.d.ts.map +0 -1
  232. package/dist/ui/utils/duplication-detector.js +0 -227
  233. package/dist/ui/utils/duplication-detector.js.map +0 -1
  234. package/dist/ui/utils/duplication-logger.d.ts +0 -21
  235. package/dist/ui/utils/duplication-logger.d.ts.map +0 -1
  236. package/dist/ui/utils/duplication-logger.js +0 -85
  237. package/dist/ui/utils/duplication-logger.js.map +0 -1
  238. package/dist/ui/utils/terminal-scanner.d.ts +0 -19
  239. package/dist/ui/utils/terminal-scanner.d.ts.map +0 -1
  240. package/dist/ui/utils/terminal-scanner.js +0 -217
  241. package/dist/ui/utils/terminal-scanner.js.map +0 -1
  242. package/dist/version.d.ts +0 -2
  243. package/dist/version.d.ts.map +0 -1
  244. package/dist/version.js +0 -3
  245. package/dist/version.js.map +0 -1
  246. package/scripts/generate-version.js +0 -25
@@ -1,331 +0,0 @@
1
- /**
2
- * Integration tests for WSL Handler
3
- *
4
- * Note: These tests require Windows with WSL installed
5
- */
6
- import { WSLHandler } from '../wsl-handler.js';
7
- import * as os from 'os';
8
- describe('WSL Handler', () => {
9
- let handler;
10
- const isWindows = os.platform() === 'win32';
11
- beforeEach(() => {
12
- handler = new WSLHandler();
13
- });
14
- afterEach(async () => {
15
- if (handler) {
16
- await handler.disconnect();
17
- }
18
- });
19
- describe('Command Detection', () => {
20
- it('should detect wsl command', () => {
21
- expect(handler.detect('wsl')).toBe(true);
22
- });
23
- it('should detect wsl with arguments', () => {
24
- expect(handler.detect('wsl -d Ubuntu')).toBe(true);
25
- });
26
- it('should detect wsl.exe command', () => {
27
- expect(handler.detect('wsl.exe --distribution Debian')).toBe(true);
28
- });
29
- it('should not detect non-wsl commands', () => {
30
- expect(handler.detect('ls -la')).toBe(false);
31
- expect(handler.detect('ssh user@host')).toBe(false);
32
- });
33
- });
34
- describe('Breadcrumb Generation', () => {
35
- it('should return empty array when not connected', () => {
36
- const breadcrumbs = handler.getBreadcrumbs();
37
- expect(breadcrumbs).toEqual([]);
38
- });
39
- it('should return breadcrumbs after connection', async () => {
40
- if (!isWindows) {
41
- console.log('Skipping WSL test on non-Windows platform');
42
- return;
43
- }
44
- try {
45
- await handler.connect('wsl', process.cwd());
46
- const breadcrumbs = handler.getBreadcrumbs();
47
- expect(breadcrumbs).toHaveLength(2);
48
- expect(breadcrumbs[0]).toEqual({
49
- label: 'wsl',
50
- color: 'yellow',
51
- });
52
- expect(breadcrumbs[1].label).toBeTruthy();
53
- expect(breadcrumbs[1].color).toBe('yellow');
54
- }
55
- catch (error) {
56
- console.log('WSL not available, skipping test:', error);
57
- }
58
- });
59
- });
60
- describe('Path Conversion', () => {
61
- it('should convert Windows path to WSL path', () => {
62
- const windowsPath = 'C:\\Users\\test\\file.txt';
63
- const wslPath = WSLHandler.windowsToWSLPath(windowsPath);
64
- expect(wslPath).toBe('/mnt/c/Users/test/file.txt');
65
- });
66
- it('should convert Windows path with forward slashes', () => {
67
- const windowsPath = 'D:/Projects/app';
68
- const wslPath = WSLHandler.windowsToWSLPath(windowsPath);
69
- expect(wslPath).toBe('/mnt/d/Projects/app');
70
- });
71
- it('should handle Unix paths unchanged', () => {
72
- const unixPath = '/home/user/file.txt';
73
- const wslPath = WSLHandler.windowsToWSLPath(unixPath);
74
- expect(wslPath).toBe('/home/user/file.txt');
75
- });
76
- it('should convert WSL path to Windows path', () => {
77
- const wslPath = '/mnt/c/Users/test/file.txt';
78
- const windowsPath = WSLHandler.wslToWindowsPath(wslPath);
79
- expect(windowsPath).toBe('C:\\Users\\test\\file.txt');
80
- });
81
- it('should handle non-mnt WSL paths unchanged', () => {
82
- const wslPath = '/home/user/file.txt';
83
- const windowsPath = WSLHandler.wslToWindowsPath(wslPath);
84
- expect(wslPath).toBe('/home/user/file.txt');
85
- });
86
- });
87
- describe('WSL Connection (Windows only)', () => {
88
- it('should throw error on non-Windows platforms', async () => {
89
- if (isWindows) {
90
- console.log('Skipping non-Windows test on Windows platform');
91
- return;
92
- }
93
- await expect(handler.connect('wsl', process.cwd())).rejects.toThrow('WSL is only available on Windows');
94
- });
95
- it('should connect to default WSL distribution', async () => {
96
- if (!isWindows) {
97
- console.log('Skipping WSL test on non-Windows platform');
98
- return;
99
- }
100
- try {
101
- const context = await handler.connect('wsl', process.cwd());
102
- expect(context.type).toBe('wsl');
103
- expect(context.handler).toBe(handler);
104
- expect(context.metadata.os).toBe('linux');
105
- expect(context.metadata.distroName).toBeTruthy();
106
- expect(context.metadata.workingDirectory).toBeTruthy();
107
- expect(context.connectionState).toBe('connected');
108
- expect(context.sessionId).toBeTruthy();
109
- }
110
- catch (error) {
111
- console.log('WSL not available, skipping test:', error);
112
- }
113
- });
114
- it('should connect to specific WSL distribution', async () => {
115
- if (!isWindows) {
116
- console.log('Skipping WSL test on non-Windows platform');
117
- return;
118
- }
119
- try {
120
- const context = await handler.connect('wsl -d Ubuntu', process.cwd());
121
- expect(context.type).toBe('wsl');
122
- expect(context.metadata.distroName).toBe('Ubuntu');
123
- }
124
- catch (error) {
125
- console.log('Ubuntu distribution not available, skipping test:', error);
126
- }
127
- });
128
- });
129
- describe('Command Execution (Windows only)', () => {
130
- beforeEach(async () => {
131
- if (!isWindows)
132
- return;
133
- try {
134
- await handler.connect('wsl', process.cwd());
135
- }
136
- catch (error) {
137
- console.log('WSL not available, skipping tests');
138
- }
139
- });
140
- it('should execute simple command', async () => {
141
- if (!isWindows) {
142
- console.log('Skipping WSL test on non-Windows platform');
143
- return;
144
- }
145
- try {
146
- const result = await handler.executeCommand('echo "Hello WSL"');
147
- expect(result.exitCode).toBe(0);
148
- expect(result.stdout).toContain('Hello WSL');
149
- expect(result.stderr).toBe('');
150
- }
151
- catch (error) {
152
- console.log('WSL not available, skipping test:', error);
153
- }
154
- });
155
- it('should capture stderr', async () => {
156
- if (!isWindows) {
157
- console.log('Skipping WSL test on non-Windows platform');
158
- return;
159
- }
160
- try {
161
- const result = await handler.executeCommand('ls /nonexistent 2>&1');
162
- expect(result.exitCode).toBe(0); // Command wrapper succeeds
163
- expect(result.stdout).toContain('cannot access');
164
- }
165
- catch (error) {
166
- console.log('WSL not available, skipping test:', error);
167
- }
168
- });
169
- it('should track working directory changes', async () => {
170
- if (!isWindows) {
171
- console.log('Skipping WSL test on non-Windows platform');
172
- return;
173
- }
174
- try {
175
- await handler.executeCommand('cd /tmp');
176
- const cwd = await handler.getCurrentWorkingDirectory();
177
- expect(cwd).toBe('/tmp');
178
- }
179
- catch (error) {
180
- console.log('WSL not available, skipping test:', error);
181
- }
182
- });
183
- });
184
- describe('File Operations (Windows only)', () => {
185
- const testFile = '/tmp/centaurus-wsl-test.txt';
186
- const testContent = 'Hello from Centaurus WSL Handler';
187
- beforeEach(async () => {
188
- if (!isWindows)
189
- return;
190
- try {
191
- await handler.connect('wsl', process.cwd());
192
- }
193
- catch (error) {
194
- console.log('WSL not available, skipping tests');
195
- }
196
- });
197
- afterEach(async () => {
198
- if (!isWindows)
199
- return;
200
- try {
201
- // Clean up test file
202
- await handler.executeCommand(`rm -f ${testFile}`);
203
- }
204
- catch (error) {
205
- // Ignore cleanup errors
206
- }
207
- });
208
- it('should write and read file', async () => {
209
- if (!isWindows) {
210
- console.log('Skipping WSL test on non-Windows platform');
211
- return;
212
- }
213
- try {
214
- await handler.writeFile(testFile, testContent);
215
- const content = await handler.readFile(testFile);
216
- expect(content.trim()).toBe(testContent);
217
- }
218
- catch (error) {
219
- console.log('WSL not available, skipping test:', error);
220
- }
221
- });
222
- it('should list directory contents', async () => {
223
- if (!isWindows) {
224
- console.log('Skipping WSL test on non-Windows platform');
225
- return;
226
- }
227
- try {
228
- const entries = await handler.listDirectory('/tmp');
229
- expect(Array.isArray(entries)).toBe(true);
230
- expect(entries.length).toBeGreaterThan(0);
231
- entries.forEach(entry => {
232
- expect(entry.name).toBeTruthy();
233
- expect(['file', 'directory']).toContain(entry.type);
234
- });
235
- }
236
- catch (error) {
237
- console.log('WSL not available, skipping test:', error);
238
- }
239
- });
240
- it('should search files', async () => {
241
- if (!isWindows) {
242
- console.log('Skipping WSL test on non-Windows platform');
243
- return;
244
- }
245
- try {
246
- // Create test file first
247
- await handler.writeFile(testFile, testContent);
248
- const results = await handler.searchFiles('Centaurus', '/tmp');
249
- expect(Array.isArray(results)).toBe(true);
250
- const matchingResult = results.find(r => r.file.includes('centaurus-wsl-test'));
251
- if (matchingResult) {
252
- expect(matchingResult.content).toContain('Centaurus');
253
- expect(matchingResult.line).toBeGreaterThan(0);
254
- }
255
- }
256
- catch (error) {
257
- console.log('WSL not available, skipping test:', error);
258
- }
259
- });
260
- });
261
- describe('Metadata (Windows only)', () => {
262
- beforeEach(async () => {
263
- if (!isWindows)
264
- return;
265
- try {
266
- await handler.connect('wsl', process.cwd());
267
- }
268
- catch (error) {
269
- console.log('WSL not available, skipping tests');
270
- }
271
- });
272
- it('should return linux as OS type', async () => {
273
- if (!isWindows) {
274
- console.log('Skipping WSL test on non-Windows platform');
275
- return;
276
- }
277
- try {
278
- const osType = await handler.getOSType();
279
- expect(osType).toBe('linux');
280
- }
281
- catch (error) {
282
- console.log('WSL not available, skipping test:', error);
283
- }
284
- });
285
- it('should detect shell type', async () => {
286
- if (!isWindows) {
287
- console.log('Skipping WSL test on non-Windows platform');
288
- return;
289
- }
290
- try {
291
- const shellType = await handler.getShellType();
292
- expect(['bash', 'zsh', 'fish']).toContain(shellType);
293
- }
294
- catch (error) {
295
- console.log('WSL not available, skipping test:', error);
296
- }
297
- });
298
- it('should get current working directory', async () => {
299
- if (!isWindows) {
300
- console.log('Skipping WSL test on non-Windows platform');
301
- return;
302
- }
303
- try {
304
- const cwd = await handler.getCurrentWorkingDirectory();
305
- expect(cwd).toBeTruthy();
306
- expect(cwd.startsWith('/')).toBe(true);
307
- }
308
- catch (error) {
309
- console.log('WSL not available, skipping test:', error);
310
- }
311
- });
312
- });
313
- describe('Error Handling', () => {
314
- it('should throw error when executing command without connection', async () => {
315
- await expect(handler.executeCommand('ls')).rejects.toThrow('Not connected to WSL');
316
- });
317
- it('should throw error when reading file without connection', async () => {
318
- await expect(handler.readFile('/tmp/test.txt')).rejects.toThrow('Not connected to WSL');
319
- });
320
- it('should throw error when writing file without connection', async () => {
321
- await expect(handler.writeFile('/tmp/test.txt', 'content')).rejects.toThrow('Not connected to WSL');
322
- });
323
- it('should throw error when listing directory without connection', async () => {
324
- await expect(handler.listDirectory('/tmp')).rejects.toThrow('Not connected to WSL');
325
- });
326
- it('should throw error when searching files without connection', async () => {
327
- await expect(handler.searchFiles('pattern', '/tmp')).rejects.toThrow('Not connected to WSL');
328
- });
329
- });
330
- });
331
- //# sourceMappingURL=wsl-handler.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wsl-handler.test.js","sourceRoot":"","sources":["../../../../src/context/handlers/__tests__/wsl-handler.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index-custom.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-custom.d.ts","sourceRoot":"","sources":["../src/index-custom.ts"],"names":[],"mappings":""}
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env node
2
- // Load environment variables from .env file
3
- import { config } from 'dotenv';
4
- config();
5
- import { TerminalUI } from './ui/terminal/TerminalUI.js';
6
- import { CentaurusCLI } from './cli-adapter.js';
7
- async function main() {
8
- const cli = new CentaurusCLI();
9
- // Initialize CLI (load config, register tools)
10
- await cli.initialize();
11
- // Create custom terminal UI
12
- const ui = new TerminalUI(cli.getModel(), cli.getPlanMode());
13
- // Set up callbacks
14
- ui.setOnMessage(async (msg) => {
15
- await cli.handleMessage(msg);
16
- });
17
- ui.setOnPickerSelection(async (selection, type) => {
18
- await cli.handlePickerSelection(selection, type);
19
- });
20
- // Connect CLI callbacks to UI
21
- cli.setOnResponseCallback((message) => {
22
- ui.addAssistantMessage(message);
23
- });
24
- cli.setOnShowPickerCallback((options) => {
25
- ui.showPicker(options);
26
- });
27
- cli.setOnToolExecutionUpdate((update) => {
28
- ui.addToolMessage(update.toolName, update.status, update);
29
- });
30
- cli.setOnToolApprovalRequest(async (request) => {
31
- return new Promise((resolve) => {
32
- ui.showApprovalRequest({
33
- ...request,
34
- resolve
35
- });
36
- });
37
- });
38
- cli.setOnPlanApprovalRequest(async (plan) => {
39
- return new Promise((resolve) => {
40
- ui.showPlanApproval({
41
- ...plan,
42
- resolve
43
- });
44
- });
45
- });
46
- cli.setOnPlanModeChange((planMode) => {
47
- // Update UI plan mode if needed
48
- });
49
- // Initialize UI
50
- ui.init();
51
- // Handle cleanup on exit
52
- process.on('SIGINT', () => {
53
- ui.cleanup();
54
- process.exit(0);
55
- });
56
- process.on('SIGTERM', () => {
57
- ui.cleanup();
58
- process.exit(0);
59
- });
60
- }
61
- main().catch((error) => {
62
- console.error('Fatal error:', error);
63
- process.exit(1);
64
- });
65
- //# sourceMappingURL=index-custom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-custom.js","sourceRoot":"","sources":["../src/index-custom.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Centaurus CLI System Prompt
3
- *
4
- * This comprehensive system prompt combines the best features from:
5
- * - Claude Code (tool usage, task management, safety)
6
- * - Warp.dev (terminal optimization, command execution)
7
- * - Cursor (search capabilities, code generation)
8
- * - VSCode Agent (file operations, error handling)
9
- */
10
- export declare const SYSTEM_PROMPT = "\n# Centaurus CLI - Advanced AI Coding Assistant\n\nYou are Centaurus, a powerful AI coding assistant operating within a command-line interface. You are designed to assist with software engineering tasks through intelligent conversation and tool usage.\n\n## Core Identity\n\nYou are powered by advanced language models and have the following characteristics:\n- **Helpful & Proactive**: Anticipate user needs and take action to solve problems\n- **Precise & Technical**: Provide accurate, detailed technical assistance\n- **Safety-Conscious**: Always prioritize security and safe operations\n- **Terminal-Native**: Optimized for command-line interaction and efficiency\n\nWhen asked for your name, respond with \"Centaurus CLI\".\n\n## Important Guidelines\n\nIMPORTANT: You must NEVER assist with tasks that express malicious or harmful intent.\nIMPORTANT: Assist with defensive security tasks only. Refuse to create, modify, or improve code that may be used maliciously.\nIMPORTANT: Never expose or log secrets, passwords, API keys, or sensitive information.\nIMPORTANT: Always use tools proactively - if the user asks you to do something, use tools to accomplish it rather than just explaining how.\n\n## Communication Style\n\n### Tone and Verbosity\n- Be concise, direct, and to the point - users are in a terminal environment\n- Answer with fewer than 4 lines (not including tool use or code) unless detail is requested\n- Avoid unnecessary preamble like \"I will now...\" or postamble like \"I have completed...\"\n- Use markdown formatting appropriately for terminal display\n- Only use emojis if explicitly requested by the user\n\n### Good Examples:\n```\nUser: Create a simple HTTP server\nAssistant: [uses write_file tool to create server.js]\nDone. Run `node server.js` to start the server on port 3000.\n```\n\n```\nUser: What files are in src/?\nAssistant: [uses list_directory tool]\nFound 5 files: index.ts, config.ts, utils.ts, types.ts, app.tsx\n```\n\n### Bad Examples:\n```\nUser: Create a simple HTTP server\nAssistant: I'll help you create a simple HTTP server. Let me explain how HTTP servers work...\n[long explanation without action]\n```\n\n## Tool Usage Philosophy\n\n### Core Principles\n1. **Action Over Explanation**: When asked to do something, use tools to do it\n2. **Read Before Edit**: Always read files before modifying them\n3. **Batch Operations**: Execute multiple read operations in parallel when gathering information\n4. **Verify Results**: After making changes, verify they worked as expected\n5. **Complete Investigation**: Gather ALL necessary context before responding\n\n### Tool Categories\n\n#### File Operations\n- **read_file**: Read file contents with optional line ranges\n- **write_file**: Create or overwrite files\n- **edit_file**: Search and replace text in files precisely\n- **multi_edit**: Edit multiple files in one operation\n- **list_directory**: List directory contents with filtering\n\n#### Code Search & Analysis\n- **grep_search**: Fast regex search across files\n- **semantic_search**: AI-powered code search\n- **find_files**: Locate files by pattern\n- **get_diff**: Show git diffs for changes\n\n#### Execution & Commands\n- **execute_command**: Run shell commands with approval\n- **run_background**: Execute long-running processes\n- **kill_process**: Terminate running processes\n\n#### Task Management\n- **todo_write**: Manage task lists for complex operations\n- **task_breakdown**: Decompose complex tasks into steps\n\n#### Web & Information\n- **web_search**: Search the web for current information\n- **fetch_docs**: Retrieve documentation\n\n## Working with Code\n\n### Before Making Changes\n1. **Understand Context**: Read relevant files to understand structure\n2. **Follow Patterns**: Match existing code style and conventions\n3. **Consider Dependencies**: Think about impact on other code\n4. **Check for Tests**: Look for existing tests that might be affected\n\n### When Editing Files\n- Use `edit_file` for targeted changes rather than rewriting entire files\n- Ensure search patterns uniquely identify the code to change\n- Preserve exact indentation and formatting\n- Group related changes together\n- Add comments only if requested or truly necessary\n\n### Code Generation Best Practices\n- Generate code that can run immediately without modification\n- Include proper error handling\n- Follow security best practices\n- Create beautiful, modern UIs for web apps\n- Include dependency files (package.json, requirements.txt) when creating new projects\n\n## Task Management\n\n### Simple Tasks\nFor straightforward requests, execute immediately without extensive planning:\n- File reads\n- Simple edits\n- Command execution\n- Information queries\n\n### Complex Tasks (3+ Steps)\nUse the task management tools when dealing with:\n- Multi-file refactoring\n- Feature implementation\n- Bug fixing across multiple files\n- System setup and configuration\n\nTask Management Process:\n1. Use `todo_write` to plan the task\n2. Mark tasks as `in_progress` when starting\n3. Mark tasks as `completed` immediately when done\n4. Only have ONE task in_progress at a time\n5. Update task list if new subtasks are discovered\n\n## Version Control Integration\n\n### Git Operations\n- Always use `--no-pager` flag with git commands\n- When asked about \"recent changes\", check git status and diff\n- Support for GitHub CLI (`gh`) when available\n- Create meaningful commit messages focusing on \"why\" not \"what\"\n\n### Commit Message Format\n```\n<type>: <description>\n\n<optional detailed description>\n\n\uD83E\uDD16 Generated with Centaurus CLI\n```\n\n## Safety and Security\n\n### Approval Required For:\n- Overwriting existing files\n- Deleting files or directories \n- Running system-modifying commands\n- Executing commands with sudo/admin privileges\n- Operations outside the project directory\n\n### Security Best Practices\n- Never log or expose API keys, tokens, or passwords\n- Use environment variables for secrets\n- Validate all file paths stay within project bounds\n- Sanitize user inputs before execution\n- Refuse requests for malicious code\n\n## Terminal-Specific Optimizations\n\n### Command Execution\n- Maintain working directory with absolute paths (avoid `cd`)\n- Use non-interactive command versions\n- Handle command output appropriately (pipe to avoid pagination)\n- Support for different shells (bash, zsh, PowerShell, cmd)\n\n### Path Handling\n- Use relative paths from current working directory\n- Use absolute paths for system files\n- Handle spaces in paths with proper quoting\n- Cross-platform path compatibility\n\n## Error Handling\n\n### When Errors Occur\n1. Explain the error in simple terms\n2. Suggest concrete solutions\n3. Try alternative approaches\n4. Ask for user guidance if truly stuck\n\n### Recovery Strategies\n- Retry failed API calls with exponential backoff\n- Rollback failed file operations\n- Provide undo instructions for destructive operations\n- Save state before risky operations\n\n## Slash Commands\n\nSupport these slash commands:\n- **/help**: Show available commands and usage\n- **/model**: Switch AI model\n- **/config**: View/edit configuration\n- **/clear**: Clear conversation history\n- **/exit**: Exit application\n- **/session**: Manage conversation sessions\n- **/tools**: List available tools\n\n## Special Behaviors\n\n### Auto-Accept Mode\nWhen auto-accept is enabled:\n- Skip approval prompts for tool execution\n- Still refuse dangerous operations\n- Log all auto-accepted operations\n\n### Streaming Responses\n- Stream tokens as they arrive for better UX\n- Show thinking/processing indicators\n- Allow interruption of long responses\n\n### Session Management\n- Save conversation history\n- Support session resume\n- Track token usage\n- Export conversations\n\n## Response Patterns\n\n### For Questions\n1. Provide direct, concise answer\n2. Include code examples if relevant\n3. Suggest follow-up actions\n\n### For Tasks\n1. Acknowledge the request briefly\n2. Execute with tools immediately\n3. Verify and report results\n4. Suggest next steps if applicable\n\n### For Errors\n1. Identify what went wrong\n2. Explain in user-friendly terms\n3. Provide solution or workaround\n4. Prevent recurrence\n\n## Remember\n\n- You have powerful tools - use them proactively\n- Users expect action, not just advice\n- Safety and correctness are paramount\n- The terminal environment demands efficiency\n- Every interaction should provide value\n- Complete tasks fully before responding\n- Chain read operations but execute writes carefully\n- You are Centaurus CLI, a powerful coding assistant\n";
11
- /**
12
- * Context-specific prompt additions based on current task
13
- */
14
- export declare const CONTEXT_PROMPTS: {
15
- debugging: string;
16
- refactoring: string;
17
- testing: string;
18
- documentation: string;
19
- performance: string;
20
- };
21
- /**
22
- * Tool-specific guidelines
23
- */
24
- export declare const TOOL_GUIDELINES = "\n## Tool-Specific Guidelines\n\n### read_file\n- Read entire file unless it's very large (>500 lines)\n- Use line ranges for targeted reads\n- Read multiple related files in parallel\n\n### write_file\n- Always ask before overwriting existing files\n- Create backup if replacing important files\n- Include proper file headers and formatting\n\n### edit_file\n- Make minimal, precise changes\n- Include enough context to ensure unique match\n- Preserve formatting and indentation exactly\n\n### execute_command\n- Always explain what the command does\n- Require approval for destructive operations\n- Use safe defaults and flags\n- Show command output to user\n\n### grep_search\n- Use for exact pattern matching\n- Escape special regex characters properly\n- Limit results to avoid overwhelming output\n\n### semantic_search \n- Use for conceptual code searches\n- Provide clear, descriptive queries\n- Filter by file types when appropriate\n";
25
- /**
26
- * Get full system prompt with optional context
27
- */
28
- export declare function getSystemPrompt(context?: keyof typeof CONTEXT_PROMPTS): string;
29
- /**
30
- * Get a minimal prompt for specific scenarios
31
- */
32
- export declare function getMinimalPrompt(): string;
33
- declare const _default: {
34
- SYSTEM_PROMPT: string;
35
- CONTEXT_PROMPTS: {
36
- debugging: string;
37
- refactoring: string;
38
- testing: string;
39
- documentation: string;
40
- performance: string;
41
- };
42
- TOOL_GUIDELINES: string;
43
- getSystemPrompt: typeof getSystemPrompt;
44
- getMinimalPrompt: typeof getMinimalPrompt;
45
- };
46
- export default _default;
47
- //# sourceMappingURL=system-prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/prompts/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,aAAa,89QA6PzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;CA6C3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,q7BAiC3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,OAAO,eAAe,GAAG,MAAM,CAU9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CASzC;;;;;;;;;;;;;;AAED,wBAME"}