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,14 +0,0 @@
1
- /**
2
- * Command to view duplication detection logs
3
- */
4
- import { getLogFilePath, readLastLogLines } from '../ui/utils/duplication-logger.js';
5
- export function viewDuplicationLogs(lines = 50) {
6
- const logPath = getLogFilePath();
7
- console.log(`\n📋 Duplication Detection Logs (last ${lines} lines)`);
8
- console.log(`📁 Log file: ${logPath}\n`);
9
- console.log('─'.repeat(80));
10
- console.log(readLastLogLines(lines));
11
- console.log('─'.repeat(80));
12
- console.log(`\nTo view full log: cat "${logPath}"\n`);
13
- }
14
- //# sourceMappingURL=view-duplication-logs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-duplication-logs.js","sourceRoot":"","sources":["../../src/commands/view-duplication-logs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErF,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE;IACpD,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,SAAS,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,KAAK,CAAC,CAAC;AACxD,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Unit tests for Command Detector
3
- *
4
- * These tests verify:
5
- * - Pattern matching for SSH, WSL, Docker commands
6
- * - Handler registration and lookup
7
- * - Detection result accuracy
8
- */
9
- /**
10
- * Run all tests
11
- */
12
- declare function runTests(): void;
13
- export { runTests };
14
- //# sourceMappingURL=command-detector.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-detector.test.d.ts","sourceRoot":"","sources":["../../../src/context/__tests__/command-detector.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsVH;;GAEG;AACH,iBAAS,QAAQ,SAgBhB;AAOD,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,318 +0,0 @@
1
- /**
2
- * Unit tests for Command Detector
3
- *
4
- * These tests verify:
5
- * - Pattern matching for SSH, WSL, Docker commands
6
- * - Handler registration and lookup
7
- * - Detection result accuracy
8
- */
9
- import { CommandDetector } from '../command-detector';
10
- /**
11
- * Mock SSH Handler for testing
12
- */
13
- class MockSSHHandler {
14
- type = 'ssh';
15
- detectionPatterns = [
16
- /^ssh\s+/,
17
- /^ssh\s+-[^\s]+\s+/,
18
- ];
19
- detect(command) {
20
- return this.detectionPatterns.some(pattern => pattern.test(command));
21
- }
22
- async connect(command, cwd) {
23
- return {
24
- type: 'ssh',
25
- handler: this,
26
- metadata: {
27
- hostname: 'example.com',
28
- username: 'testuser',
29
- workingDirectory: '/home/user',
30
- shell: 'bash',
31
- os: 'linux',
32
- },
33
- connectionState: 'connected',
34
- sessionId: 'test-session',
35
- };
36
- }
37
- async disconnect() { }
38
- async executeCommand(command) {
39
- return { stdout: '', stderr: '', exitCode: 0 };
40
- }
41
- async readFile(path) { return ''; }
42
- async writeFile(path, content) { }
43
- async listDirectory(path) { return []; }
44
- async searchFiles(pattern, directory) { return []; }
45
- async getCurrentWorkingDirectory() { return '/home/user'; }
46
- async getShellType() { return 'bash'; }
47
- async getOSType() { return 'linux'; }
48
- getBreadcrumbs() { return []; }
49
- }
50
- /**
51
- * Mock WSL Handler for testing
52
- */
53
- class MockWSLHandler {
54
- type = 'wsl';
55
- detectionPatterns = [
56
- /^wsl$/,
57
- /^wsl\s+/,
58
- /^wsl\.exe\s+/,
59
- ];
60
- detect(command) {
61
- return this.detectionPatterns.some(pattern => pattern.test(command));
62
- }
63
- async connect(command, cwd) {
64
- return {
65
- type: 'wsl',
66
- handler: this,
67
- metadata: {
68
- distroName: 'Ubuntu',
69
- workingDirectory: '/home/user',
70
- shell: 'bash',
71
- os: 'linux',
72
- },
73
- connectionState: 'connected',
74
- sessionId: 'test-session',
75
- };
76
- }
77
- async disconnect() { }
78
- async executeCommand(command) {
79
- return { stdout: '', stderr: '', exitCode: 0 };
80
- }
81
- async readFile(path) { return ''; }
82
- async writeFile(path, content) { }
83
- async listDirectory(path) { return []; }
84
- async searchFiles(pattern, directory) { return []; }
85
- async getCurrentWorkingDirectory() { return '/home/user'; }
86
- async getShellType() { return 'bash'; }
87
- async getOSType() { return 'linux'; }
88
- getBreadcrumbs() { return []; }
89
- }
90
- /**
91
- * Mock Docker Handler for testing
92
- */
93
- class MockDockerHandler {
94
- type = 'docker';
95
- detectionPatterns = [
96
- /^docker\s+exec\s+/,
97
- /^docker\s+exec\s+-it\s+/,
98
- ];
99
- detect(command) {
100
- return this.detectionPatterns.some(pattern => pattern.test(command));
101
- }
102
- async connect(command, cwd) {
103
- return {
104
- type: 'docker',
105
- handler: this,
106
- metadata: {
107
- containerId: 'abc123',
108
- workingDirectory: '/app',
109
- shell: 'bash',
110
- os: 'linux',
111
- },
112
- connectionState: 'connected',
113
- sessionId: 'test-session',
114
- };
115
- }
116
- async disconnect() { }
117
- async executeCommand(command) {
118
- return { stdout: '', stderr: '', exitCode: 0 };
119
- }
120
- async readFile(path) { return ''; }
121
- async writeFile(path, content) { }
122
- async listDirectory(path) { return []; }
123
- async searchFiles(pattern, directory) { return []; }
124
- async getCurrentWorkingDirectory() { return '/app'; }
125
- async getShellType() { return 'bash'; }
126
- async getOSType() { return 'linux'; }
127
- getBreadcrumbs() { return []; }
128
- }
129
- /**
130
- * Test: SSH command detection
131
- */
132
- function testSSHDetection() {
133
- console.log('Test: SSH command detection');
134
- const detector = new CommandDetector();
135
- const handler = new MockSSHHandler();
136
- detector.registerHandler(handler);
137
- // Test basic SSH command
138
- let result = detector.detect('ssh user@host');
139
- if (!result || result.handler.type !== 'ssh') {
140
- throw new Error('Expected to detect SSH command');
141
- }
142
- // Test SSH with options
143
- result = detector.detect('ssh -i key.pem user@host');
144
- if (!result || result.handler.type !== 'ssh') {
145
- throw new Error('Expected to detect SSH command with options');
146
- }
147
- // Test non-SSH command
148
- result = detector.detect('ls -la');
149
- if (result !== null) {
150
- throw new Error('Expected not to detect non-SSH command');
151
- }
152
- console.log('✓ SSH command detection works correctly');
153
- }
154
- /**
155
- * Test: WSL command detection
156
- */
157
- function testWSLDetection() {
158
- console.log('\nTest: WSL command detection');
159
- const detector = new CommandDetector();
160
- const handler = new MockWSLHandler();
161
- detector.registerHandler(handler);
162
- // Test basic WSL command
163
- let result = detector.detect('wsl');
164
- if (!result || result.handler.type !== 'wsl') {
165
- throw new Error('Expected to detect WSL command');
166
- }
167
- // Test WSL with distribution
168
- result = detector.detect('wsl -d Ubuntu');
169
- if (!result || result.handler.type !== 'wsl') {
170
- throw new Error('Expected to detect WSL command with distribution');
171
- }
172
- // Test wsl.exe
173
- result = detector.detect('wsl.exe --cd /home/user');
174
- if (!result || result.handler.type !== 'wsl') {
175
- throw new Error('Expected to detect wsl.exe command');
176
- }
177
- console.log('✓ WSL command detection works correctly');
178
- }
179
- /**
180
- * Test: Docker command detection
181
- */
182
- function testDockerDetection() {
183
- console.log('\nTest: Docker command detection');
184
- const detector = new CommandDetector();
185
- const handler = new MockDockerHandler();
186
- detector.registerHandler(handler);
187
- // Test docker exec
188
- let result = detector.detect('docker exec container_name bash');
189
- if (!result || result.handler.type !== 'docker') {
190
- throw new Error('Expected to detect docker exec command');
191
- }
192
- // Test docker exec with -it
193
- result = detector.detect('docker exec -it container_name bash');
194
- if (!result || result.handler.type !== 'docker') {
195
- throw new Error('Expected to detect docker exec -it command');
196
- }
197
- // Test non-docker exec command
198
- result = detector.detect('docker ps');
199
- if (result !== null) {
200
- throw new Error('Expected not to detect docker ps command');
201
- }
202
- console.log('✓ Docker command detection works correctly');
203
- }
204
- /**
205
- * Test: Multiple handlers
206
- */
207
- function testMultipleHandlers() {
208
- console.log('\nTest: Multiple handlers');
209
- const detector = new CommandDetector();
210
- detector.registerHandler(new MockSSHHandler());
211
- detector.registerHandler(new MockWSLHandler());
212
- detector.registerHandler(new MockDockerHandler());
213
- // Test SSH detection
214
- let result = detector.detect('ssh user@host');
215
- if (!result || result.handler.type !== 'ssh') {
216
- throw new Error('Expected to detect SSH with multiple handlers');
217
- }
218
- // Test WSL detection
219
- result = detector.detect('wsl');
220
- if (!result || result.handler.type !== 'wsl') {
221
- throw new Error('Expected to detect WSL with multiple handlers');
222
- }
223
- // Test Docker detection
224
- result = detector.detect('docker exec -it container bash');
225
- if (!result || result.handler.type !== 'docker') {
226
- throw new Error('Expected to detect Docker with multiple handlers');
227
- }
228
- console.log('✓ Multiple handlers work correctly');
229
- }
230
- /**
231
- * Test: Handler management
232
- */
233
- function testHandlerManagement() {
234
- console.log('\nTest: Handler management');
235
- const detector = new CommandDetector();
236
- const sshHandler = new MockSSHHandler();
237
- const wslHandler = new MockWSLHandler();
238
- // Register handlers
239
- detector.registerHandler(sshHandler);
240
- detector.registerHandler(wslHandler);
241
- // Check handlers
242
- const handlers = detector.getHandlers();
243
- if (handlers.length !== 2) {
244
- throw new Error('Expected 2 registered handlers');
245
- }
246
- // Check hasHandler
247
- if (!detector.hasHandler('ssh')) {
248
- throw new Error('Expected to have SSH handler');
249
- }
250
- // Get handler by type
251
- const retrieved = detector.getHandlerByType('ssh');
252
- if (retrieved !== sshHandler) {
253
- throw new Error('Expected to retrieve SSH handler');
254
- }
255
- // Remove handler
256
- const removed = detector.removeHandler('ssh');
257
- if (!removed) {
258
- throw new Error('Expected to remove SSH handler');
259
- }
260
- if (detector.hasHandler('ssh')) {
261
- throw new Error('Expected SSH handler to be removed');
262
- }
263
- // Clear handlers
264
- detector.clearHandlers();
265
- if (detector.getHandlers().length !== 0) {
266
- throw new Error('Expected all handlers to be cleared');
267
- }
268
- console.log('✓ Handler management works correctly');
269
- }
270
- /**
271
- * Test: Empty and whitespace commands
272
- */
273
- function testEdgeCases() {
274
- console.log('\nTest: Edge cases');
275
- const detector = new CommandDetector();
276
- detector.registerHandler(new MockSSHHandler());
277
- // Test empty command
278
- let result = detector.detect('');
279
- if (result !== null) {
280
- throw new Error('Expected null for empty command');
281
- }
282
- // Test whitespace command
283
- result = detector.detect(' ');
284
- if (result !== null) {
285
- throw new Error('Expected null for whitespace command');
286
- }
287
- // Test command with leading/trailing whitespace
288
- result = detector.detect(' ssh user@host ');
289
- if (!result || result.handler.type !== 'ssh') {
290
- throw new Error('Expected to detect SSH command with whitespace');
291
- }
292
- console.log('✓ Edge cases handled correctly');
293
- }
294
- /**
295
- * Run all tests
296
- */
297
- function runTests() {
298
- console.log('=== Command Detector Tests ===\n');
299
- try {
300
- testSSHDetection();
301
- testWSLDetection();
302
- testDockerDetection();
303
- testMultipleHandlers();
304
- testHandlerManagement();
305
- testEdgeCases();
306
- console.log('\n=== All tests passed! ===');
307
- }
308
- catch (error) {
309
- console.error('\n❌ Test failed:', error);
310
- process.exit(1);
311
- }
312
- }
313
- // Run tests if this file is executed directly
314
- if (import.meta.url === `file://${process.argv[1]}`) {
315
- runTests();
316
- }
317
- export { runTests };
318
- //# sourceMappingURL=command-detector.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-detector.test.js","sourceRoot":"","sources":["../../../src/context/__tests__/command-detector.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Unit tests for Context Manager
3
- *
4
- * These tests verify:
5
- * - Context switching (local → subshell → local)
6
- * - Context stack management
7
- * - Handler registration
8
- * - State updates
9
- * - Error handling
10
- */
11
- /**
12
- * Run all tests
13
- */
14
- declare function runTests(): Promise<void>;
15
- export { runTests };
16
- //# sourceMappingURL=context-manager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-manager.test.d.ts","sourceRoot":"","sources":["../../../src/context/__tests__/context-manager.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgbH;;GAEG;AACH,iBAAe,QAAQ,kBAqBtB;AAOD,OAAO,EAAE,QAAQ,EAAE,CAAC"}