centaurus-cli 2.5.2 → 2.6.0

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 (310) hide show
  1. package/dist/cli-adapter.d.ts +6 -0
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +215 -29
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/commands/CommandParser.js +2 -2
  6. package/dist/commands/CommandParser.js.map +1 -1
  7. package/dist/config/defaultConfig.js +1 -1
  8. package/dist/config/defaultConfig.js.map +1 -1
  9. package/dist/config/models.d.ts +50 -5
  10. package/dist/config/models.d.ts.map +1 -1
  11. package/dist/config/models.js +144 -20
  12. package/dist/config/models.js.map +1 -1
  13. package/dist/config/types.d.ts +3 -0
  14. package/dist/config/types.d.ts.map +1 -1
  15. package/dist/config/types.js +3 -1
  16. package/dist/config/types.js.map +1 -1
  17. package/dist/index.js +9 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/services/ai-service-client.d.ts +8 -2
  20. package/dist/services/ai-service-client.d.ts.map +1 -1
  21. package/dist/services/ai-service-client.js +2 -1
  22. package/dist/services/ai-service-client.js.map +1 -1
  23. package/dist/services/environment-context-injector.d.ts +69 -0
  24. package/dist/services/environment-context-injector.d.ts.map +1 -0
  25. package/dist/services/environment-context-injector.js +198 -0
  26. package/dist/services/environment-context-injector.js.map +1 -0
  27. package/dist/tools/ToolRegistry.d.ts.map +1 -1
  28. package/dist/tools/ToolRegistry.js +120 -26
  29. package/dist/tools/ToolRegistry.js.map +1 -1
  30. package/dist/tools/command.d.ts.map +1 -1
  31. package/dist/tools/command.js +30 -6
  32. package/dist/tools/command.js.map +1 -1
  33. package/dist/tools/file-ops.d.ts.map +1 -1
  34. package/dist/tools/file-ops.js +70 -23
  35. package/dist/tools/file-ops.js.map +1 -1
  36. package/dist/tools/find-files.d.ts +47 -0
  37. package/dist/tools/find-files.d.ts.map +1 -0
  38. package/dist/tools/find-files.js +190 -0
  39. package/dist/tools/find-files.js.map +1 -0
  40. package/dist/tools/get-diff.d.ts +45 -0
  41. package/dist/tools/get-diff.d.ts.map +1 -0
  42. package/dist/tools/get-diff.js +138 -0
  43. package/dist/tools/get-diff.js.map +1 -0
  44. package/dist/tools/grep-search.d.ts +85 -0
  45. package/dist/tools/grep-search.d.ts.map +1 -0
  46. package/dist/tools/grep-search.js +497 -0
  47. package/dist/tools/grep-search.js.map +1 -0
  48. package/dist/tools/inspect-symbol.d.ts +27 -0
  49. package/dist/tools/inspect-symbol.d.ts.map +1 -0
  50. package/dist/tools/inspect-symbol.js +259 -0
  51. package/dist/tools/inspect-symbol.js.map +1 -0
  52. package/dist/tools/validation.d.ts +49 -0
  53. package/dist/tools/validation.d.ts.map +1 -0
  54. package/dist/tools/validation.js +125 -0
  55. package/dist/tools/validation.js.map +1 -0
  56. package/dist/types/index.d.ts +13 -0
  57. package/dist/types/index.d.ts.map +1 -1
  58. package/dist/ui/components/App.d.ts +3 -0
  59. package/dist/ui/components/App.d.ts.map +1 -1
  60. package/dist/ui/components/App.js +272 -72
  61. package/dist/ui/components/App.js.map +1 -1
  62. package/dist/ui/components/ContextWindowIndicator.d.ts +8 -0
  63. package/dist/ui/components/ContextWindowIndicator.d.ts.map +1 -0
  64. package/dist/ui/components/ContextWindowIndicator.js +34 -0
  65. package/dist/ui/components/ContextWindowIndicator.js.map +1 -0
  66. package/dist/ui/components/FontRecommendation.d.ts +1 -0
  67. package/dist/ui/components/FontRecommendation.d.ts.map +1 -0
  68. package/dist/ui/components/FontRecommendation.js +1 -0
  69. package/dist/ui/components/FontRecommendation.js.map +1 -0
  70. package/dist/ui/components/InputBox.d.ts +2 -0
  71. package/dist/ui/components/InputBox.d.ts.map +1 -1
  72. package/dist/ui/components/InputBox.js +9 -4
  73. package/dist/ui/components/InputBox.js.map +1 -1
  74. package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -1
  75. package/dist/ui/components/MarkdownRenderer.js +34 -9
  76. package/dist/ui/components/MarkdownRenderer.js.map +1 -1
  77. package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
  78. package/dist/ui/components/MessageDisplay.js +9 -2
  79. package/dist/ui/components/MessageDisplay.js.map +1 -1
  80. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
  81. package/dist/ui/components/StreamingMessageDisplay.js +11 -3
  82. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  83. package/dist/ui/components/ThinkingDisplay.d.ts +12 -0
  84. package/dist/ui/components/ThinkingDisplay.d.ts.map +1 -0
  85. package/dist/ui/components/ThinkingDisplay.js +41 -0
  86. package/dist/ui/components/ThinkingDisplay.js.map +1 -0
  87. package/dist/utils/markdown-parser.d.ts +4 -0
  88. package/dist/utils/markdown-parser.d.ts.map +1 -1
  89. package/dist/utils/markdown-parser.js +15 -1
  90. package/dist/utils/markdown-parser.js.map +1 -1
  91. package/dist/utils/version-checker.d.ts.map +1 -1
  92. package/dist/utils/version-checker.js +3 -31
  93. package/dist/utils/version-checker.js.map +1 -1
  94. package/package.json +6 -5
  95. package/README.md +0 -501
  96. package/dist/ai/provider-factory.d.ts +0 -6
  97. package/dist/ai/provider-factory.d.ts.map +0 -1
  98. package/dist/ai/provider-factory.js +0 -27
  99. package/dist/ai/provider-factory.js.map +0 -1
  100. package/dist/ai/providers/base.d.ts +0 -25
  101. package/dist/ai/providers/base.d.ts.map +0 -1
  102. package/dist/ai/providers/base.js +0 -9
  103. package/dist/ai/providers/base.js.map +0 -1
  104. package/dist/ai/providers/gemini.d.ts +0 -34
  105. package/dist/ai/providers/gemini.d.ts.map +0 -1
  106. package/dist/ai/providers/gemini.js +0 -146
  107. package/dist/ai/providers/gemini.js.map +0 -1
  108. package/dist/commands/view-duplication-logs.d.ts +0 -5
  109. package/dist/commands/view-duplication-logs.d.ts.map +0 -1
  110. package/dist/commands/view-duplication-logs.js +0 -14
  111. package/dist/commands/view-duplication-logs.js.map +0 -1
  112. package/dist/context/__tests__/command-detector.test.d.ts +0 -14
  113. package/dist/context/__tests__/command-detector.test.d.ts.map +0 -1
  114. package/dist/context/__tests__/command-detector.test.js +0 -318
  115. package/dist/context/__tests__/command-detector.test.js.map +0 -1
  116. package/dist/context/__tests__/context-manager.test.d.ts +0 -16
  117. package/dist/context/__tests__/context-manager.test.d.ts.map +0 -1
  118. package/dist/context/__tests__/context-manager.test.js +0 -375
  119. package/dist/context/__tests__/context-manager.test.js.map +0 -1
  120. package/dist/context/__tests__/error-handling.test.d.ts +0 -15
  121. package/dist/context/__tests__/error-handling.test.d.ts.map +0 -1
  122. package/dist/context/__tests__/error-handling.test.js +0 -447
  123. package/dist/context/__tests__/error-handling.test.js.map +0 -1
  124. package/dist/context/handlers/__tests__/docker-handler.test.d.ts +0 -13
  125. package/dist/context/handlers/__tests__/docker-handler.test.d.ts.map +0 -1
  126. package/dist/context/handlers/__tests__/docker-handler.test.js +0 -285
  127. package/dist/context/handlers/__tests__/docker-handler.test.js.map +0 -1
  128. package/dist/context/handlers/__tests__/ssh-handler.test.d.ts +0 -13
  129. package/dist/context/handlers/__tests__/ssh-handler.test.d.ts.map +0 -1
  130. package/dist/context/handlers/__tests__/ssh-handler.test.js +0 -251
  131. package/dist/context/handlers/__tests__/ssh-handler.test.js.map +0 -1
  132. package/dist/context/handlers/__tests__/wsl-handler.test.d.ts +0 -7
  133. package/dist/context/handlers/__tests__/wsl-handler.test.d.ts.map +0 -1
  134. package/dist/context/handlers/__tests__/wsl-handler.test.js +0 -331
  135. package/dist/context/handlers/__tests__/wsl-handler.test.js.map +0 -1
  136. package/dist/index-custom.d.ts +0 -3
  137. package/dist/index-custom.d.ts.map +0 -1
  138. package/dist/index-custom.js +0 -65
  139. package/dist/index-custom.js.map +0 -1
  140. package/dist/prompts/system-prompt.d.ts +0 -47
  141. package/dist/prompts/system-prompt.d.ts.map +0 -1
  142. package/dist/prompts/system-prompt.js +0 -377
  143. package/dist/prompts/system-prompt.js.map +0 -1
  144. package/dist/providers/GoogleProvider.d.ts +0 -26
  145. package/dist/providers/GoogleProvider.d.ts.map +0 -1
  146. package/dist/providers/GoogleProvider.js +0 -313
  147. package/dist/providers/GoogleProvider.js.map +0 -1
  148. package/dist/providers/Provider.d.ts +0 -114
  149. package/dist/providers/Provider.d.ts.map +0 -1
  150. package/dist/providers/Provider.js +0 -44
  151. package/dist/providers/Provider.js.map +0 -1
  152. package/dist/services/__tests__/ai-context-injector.test.d.ts +0 -15
  153. package/dist/services/__tests__/ai-context-injector.test.d.ts.map +0 -1
  154. package/dist/services/__tests__/ai-context-injector.test.js +0 -326
  155. package/dist/services/__tests__/ai-context-injector.test.js.map +0 -1
  156. package/dist/src/context/types.js +0 -27
  157. package/dist/src/services/ai-context-injector.js +0 -96
  158. package/dist/src/services/ai-service-client.js +0 -270
  159. package/dist/src/services/api-client.js +0 -349
  160. package/dist/src/tools/types.js +0 -1
  161. package/dist/src/types/index.js +0 -1
  162. package/dist/test/context/types.js +0 -27
  163. package/dist/test/services/__tests__/ai-context-injector.test.js +0 -325
  164. package/dist/test/services/ai-context-injector.js +0 -96
  165. package/dist/test/services/ai-service-client.js +0 -270
  166. package/dist/test/services/api-client.js +0 -349
  167. package/dist/test/tools/types.js +0 -1
  168. package/dist/test/types/index.js +0 -1
  169. package/dist/test-ai-context-injector.js +0 -97
  170. package/dist/tests/automated-verification.d.ts +0 -27
  171. package/dist/tests/automated-verification.d.ts.map +0 -1
  172. package/dist/tests/automated-verification.js +0 -359
  173. package/dist/tests/automated-verification.js.map +0 -1
  174. package/dist/tests/integration-tests.d.ts +0 -50
  175. package/dist/tests/integration-tests.d.ts.map +0 -1
  176. package/dist/tests/integration-tests.js +0 -648
  177. package/dist/tests/integration-tests.js.map +0 -1
  178. package/dist/tools/file-ops-test.d.ts +0 -6
  179. package/dist/tools/file-ops-test.d.ts.map +0 -1
  180. package/dist/tools/file-ops-test.js +0 -197
  181. package/dist/tools/file-ops-test.js.map +0 -1
  182. package/dist/ui/DisplayHistory.d.ts +0 -53
  183. package/dist/ui/DisplayHistory.d.ts.map +0 -1
  184. package/dist/ui/DisplayHistory.js +0 -82
  185. package/dist/ui/DisplayHistory.js.map +0 -1
  186. package/dist/ui/clack-ui.d.ts +0 -83
  187. package/dist/ui/clack-ui.d.ts.map +0 -1
  188. package/dist/ui/clack-ui.js +0 -304
  189. package/dist/ui/clack-ui.js.map +0 -1
  190. package/dist/ui/components/DisplayItemRenderer.d.ts +0 -18
  191. package/dist/ui/components/DisplayItemRenderer.d.ts.map +0 -1
  192. package/dist/ui/components/DisplayItemRenderer.js +0 -53
  193. package/dist/ui/components/DisplayItemRenderer.js.map +0 -1
  194. package/dist/ui/components/DynamicMessage.d.ts +0 -13
  195. package/dist/ui/components/DynamicMessage.d.ts.map +0 -1
  196. package/dist/ui/components/DynamicMessage.js +0 -27
  197. package/dist/ui/components/DynamicMessage.js.map +0 -1
  198. package/dist/ui/components/FileViewerScreen.d.ts +0 -14
  199. package/dist/ui/components/FileViewerScreen.d.ts.map +0 -1
  200. package/dist/ui/components/FileViewerScreen.js +0 -74
  201. package/dist/ui/components/FileViewerScreen.js.map +0 -1
  202. package/dist/ui/components/ScrollableContent.d.ts +0 -7
  203. package/dist/ui/components/ScrollableContent.d.ts.map +0 -1
  204. package/dist/ui/components/ScrollableContent.js +0 -6
  205. package/dist/ui/components/ScrollableContent.js.map +0 -1
  206. package/dist/ui/components/ScrollableMessageList.d.ts +0 -10
  207. package/dist/ui/components/ScrollableMessageList.d.ts.map +0 -1
  208. package/dist/ui/components/ScrollableMessageList.js +0 -133
  209. package/dist/ui/components/ScrollableMessageList.js.map +0 -1
  210. package/dist/ui/components/ScrollableScreen.d.ts +0 -9
  211. package/dist/ui/components/ScrollableScreen.d.ts.map +0 -1
  212. package/dist/ui/components/ScrollableScreen.js +0 -22
  213. package/dist/ui/components/ScrollableScreen.js.map +0 -1
  214. package/dist/ui/components/StaticMessageHistory.d.ts +0 -14
  215. package/dist/ui/components/StaticMessageHistory.d.ts.map +0 -1
  216. package/dist/ui/components/StaticMessageHistory.js +0 -19
  217. package/dist/ui/components/StaticMessageHistory.js.map +0 -1
  218. package/dist/ui/components/code-block.d.ts +0 -10
  219. package/dist/ui/components/code-block.d.ts.map +0 -1
  220. package/dist/ui/components/code-block.js +0 -74
  221. package/dist/ui/components/code-block.js.map +0 -1
  222. package/dist/ui/components/confirm-prompt.d.ts +0 -12
  223. package/dist/ui/components/confirm-prompt.d.ts.map +0 -1
  224. package/dist/ui/components/confirm-prompt.js +0 -104
  225. package/dist/ui/components/confirm-prompt.js.map +0 -1
  226. package/dist/ui/components/diff-viewer.d.ts +0 -9
  227. package/dist/ui/components/diff-viewer.d.ts.map +0 -1
  228. package/dist/ui/components/diff-viewer.js +0 -57
  229. package/dist/ui/components/diff-viewer.js.map +0 -1
  230. package/dist/ui/components/input-box.d.ts +0 -18
  231. package/dist/ui/components/input-box.d.ts.map +0 -1
  232. package/dist/ui/components/input-box.js +0 -157
  233. package/dist/ui/components/input-box.js.map +0 -1
  234. package/dist/ui/components/keyboard-help.d.ts +0 -7
  235. package/dist/ui/components/keyboard-help.d.ts.map +0 -1
  236. package/dist/ui/components/keyboard-help.js +0 -43
  237. package/dist/ui/components/keyboard-help.js.map +0 -1
  238. package/dist/ui/components/loading-indicator.d.ts +0 -3
  239. package/dist/ui/components/loading-indicator.d.ts.map +0 -1
  240. package/dist/ui/components/loading-indicator.js +0 -42
  241. package/dist/ui/components/loading-indicator.js.map +0 -1
  242. package/dist/ui/components/message-display.d.ts +0 -7
  243. package/dist/ui/components/message-display.d.ts.map +0 -1
  244. package/dist/ui/components/message-display.js +0 -104
  245. package/dist/ui/components/message-display.js.map +0 -1
  246. package/dist/ui/components/misc.d.ts +0 -28
  247. package/dist/ui/components/misc.d.ts.map +0 -1
  248. package/dist/ui/components/misc.js +0 -128
  249. package/dist/ui/components/misc.js.map +0 -1
  250. package/dist/ui/components/select-prompt.d.ts +0 -13
  251. package/dist/ui/components/select-prompt.d.ts.map +0 -1
  252. package/dist/ui/components/select-prompt.js +0 -42
  253. package/dist/ui/components/select-prompt.js.map +0 -1
  254. package/dist/ui/components/status-bar.d.ts +0 -11
  255. package/dist/ui/components/status-bar.d.ts.map +0 -1
  256. package/dist/ui/components/status-bar.js +0 -47
  257. package/dist/ui/components/status-bar.js.map +0 -1
  258. package/dist/ui/components/tool-execution.d.ts +0 -3
  259. package/dist/ui/components/tool-execution.d.ts.map +0 -1
  260. package/dist/ui/components/tool-execution.js +0 -374
  261. package/dist/ui/components/tool-execution.js.map +0 -1
  262. package/dist/ui/components/tool-result.d.ts +0 -11
  263. package/dist/ui/components/tool-result.d.ts.map +0 -1
  264. package/dist/ui/components/tool-result.js +0 -58
  265. package/dist/ui/components/tool-result.js.map +0 -1
  266. package/dist/ui/components/welcome-banner.d.ts +0 -3
  267. package/dist/ui/components/welcome-banner.d.ts.map +0 -1
  268. package/dist/ui/components/welcome-banner.js +0 -46
  269. package/dist/ui/components/welcome-banner.js.map +0 -1
  270. package/dist/ui/hooks/useDisplayHistory.d.ts +0 -13
  271. package/dist/ui/hooks/useDisplayHistory.d.ts.map +0 -1
  272. package/dist/ui/hooks/useDisplayHistory.js +0 -45
  273. package/dist/ui/hooks/useDisplayHistory.js.map +0 -1
  274. package/dist/ui/render-engine.d.ts +0 -69
  275. package/dist/ui/render-engine.d.ts.map +0 -1
  276. package/dist/ui/render-engine.js +0 -197
  277. package/dist/ui/render-engine.js.map +0 -1
  278. package/dist/ui/terminal/TerminalRenderer.d.ts +0 -84
  279. package/dist/ui/terminal/TerminalRenderer.d.ts.map +0 -1
  280. package/dist/ui/terminal/TerminalRenderer.js +0 -154
  281. package/dist/ui/terminal/TerminalRenderer.js.map +0 -1
  282. package/dist/ui/terminal/TerminalUI.d.ts +0 -139
  283. package/dist/ui/terminal/TerminalUI.d.ts.map +0 -1
  284. package/dist/ui/terminal/TerminalUI.js +0 -430
  285. package/dist/ui/terminal/TerminalUI.js.map +0 -1
  286. package/dist/ui/terminal/VirtualChatBuffer.d.ts +0 -32
  287. package/dist/ui/terminal/VirtualChatBuffer.d.ts.map +0 -1
  288. package/dist/ui/terminal/VirtualChatBuffer.js +0 -37
  289. package/dist/ui/terminal/VirtualChatBuffer.js.map +0 -1
  290. package/dist/ui/terminal-kit-base.d.ts +0 -117
  291. package/dist/ui/terminal-kit-base.d.ts.map +0 -1
  292. package/dist/ui/terminal-kit-base.js +0 -188
  293. package/dist/ui/terminal-kit-base.js.map +0 -1
  294. package/dist/ui/utils/duplication-detector.d.ts +0 -32
  295. package/dist/ui/utils/duplication-detector.d.ts.map +0 -1
  296. package/dist/ui/utils/duplication-detector.js +0 -227
  297. package/dist/ui/utils/duplication-detector.js.map +0 -1
  298. package/dist/ui/utils/duplication-logger.d.ts +0 -21
  299. package/dist/ui/utils/duplication-logger.d.ts.map +0 -1
  300. package/dist/ui/utils/duplication-logger.js +0 -85
  301. package/dist/ui/utils/duplication-logger.js.map +0 -1
  302. package/dist/ui/utils/terminal-scanner.d.ts +0 -19
  303. package/dist/ui/utils/terminal-scanner.d.ts.map +0 -1
  304. package/dist/ui/utils/terminal-scanner.js +0 -217
  305. package/dist/ui/utils/terminal-scanner.js.map +0 -1
  306. package/dist/version.d.ts +0 -2
  307. package/dist/version.d.ts.map +0 -1
  308. package/dist/version.js +0 -3
  309. package/dist/version.js.map +0 -1
  310. package/scripts/generate-version.js +0 -25
@@ -1,85 +0,0 @@
1
- /**
2
- * File-based logging system for duplication detection
3
- * Logs to a file instead of console to avoid cluttering the terminal
4
- */
5
- import fs from 'fs';
6
- import path from 'path';
7
- import os from 'os';
8
- const LOG_DIR = path.join(os.tmpdir(), 'centaurus-cli-logs');
9
- const LOG_FILE = path.join(LOG_DIR, 'duplication-detector.log');
10
- const MAX_LOG_SIZE = 1024 * 1024; // 1MB
11
- // Ensure log directory exists
12
- try {
13
- if (!fs.existsSync(LOG_DIR)) {
14
- fs.mkdirSync(LOG_DIR, { recursive: true });
15
- }
16
- }
17
- catch (error) {
18
- // Silently fail if we can't create log directory
19
- }
20
- /**
21
- * Write a log entry to the file
22
- */
23
- export function logDuplication(message, level = 'INFO') {
24
- try {
25
- const timestamp = new Date().toISOString();
26
- const logEntry = `[${timestamp}] [${level}] ${message}\n`;
27
- // Check file size and rotate if needed
28
- if (fs.existsSync(LOG_FILE)) {
29
- const stats = fs.statSync(LOG_FILE);
30
- if (stats.size > MAX_LOG_SIZE) {
31
- // Rotate log file
32
- const backupFile = path.join(LOG_DIR, `duplication-detector.log.old`);
33
- if (fs.existsSync(backupFile)) {
34
- fs.unlinkSync(backupFile);
35
- }
36
- fs.renameSync(LOG_FILE, backupFile);
37
- }
38
- }
39
- // Append to log file
40
- fs.appendFileSync(LOG_FILE, logEntry);
41
- }
42
- catch (error) {
43
- // Silently fail if we can't write to log
44
- }
45
- }
46
- /**
47
- * Clear the log file
48
- */
49
- export function clearDuplicationLog() {
50
- try {
51
- if (fs.existsSync(LOG_FILE)) {
52
- fs.unlinkSync(LOG_FILE);
53
- }
54
- logDuplication('=== Log cleared ===', 'INFO');
55
- }
56
- catch (error) {
57
- // Silently fail
58
- }
59
- }
60
- /**
61
- * Get the log file path
62
- */
63
- export function getLogFilePath() {
64
- return LOG_FILE;
65
- }
66
- /**
67
- * Read the last N lines from the log file
68
- */
69
- export function readLastLogLines(lines = 50) {
70
- try {
71
- if (!fs.existsSync(LOG_FILE)) {
72
- return 'No log file found';
73
- }
74
- const content = fs.readFileSync(LOG_FILE, 'utf-8');
75
- const allLines = content.split('\n').filter(line => line.trim());
76
- const lastLines = allLines.slice(-lines);
77
- return lastLines.join('\n');
78
- }
79
- catch (error) {
80
- return `Error reading log: ${error}`;
81
- }
82
- }
83
- // Initialize log on module load
84
- logDuplication('=== Duplication detector initialized ===', 'INFO');
85
- //# sourceMappingURL=duplication-logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"duplication-logger.js","sourceRoot":"","sources":["../../../src/ui/utils/duplication-logger.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Terminal Output Scanner
3
- * Detects UI duplication by analyzing the actual terminal buffer content
4
- */
5
- /**
6
- * Scan terminal output for duplication patterns
7
- * Returns true if duplication is detected
8
- */
9
- export declare function scanTerminalForDuplication(): boolean;
10
- export declare function injectTerminalMarker(): void;
11
- export declare function getMarkerCount(): number;
12
- export declare function resetMarkerCount(): void;
13
- export declare function captureInkOutput(chunk: string): void;
14
- export declare function clearInkOutputBuffer(): void;
15
- export declare function pauseDetection(): void;
16
- export declare function resumeDetection(): void;
17
- export declare function hookStdout(onDuplicationDetected: () => void): void;
18
- export declare function unhookStdout(): void;
19
- //# sourceMappingURL=terminal-scanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-scanner.d.ts","sourceRoot":"","sources":["../../../src/ui/utils/terminal-scanner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAuBpD;AASD,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AASD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CA6BpD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AASD,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAED,wBAAgB,UAAU,CAAC,qBAAqB,EAAE,MAAM,IAAI,GAAG,IAAI,CAkIlE;AAED,wBAAgB,YAAY,IAAI,IAAI,CAanC"}
@@ -1,217 +0,0 @@
1
- /**
2
- * Terminal Output Scanner
3
- * Detects UI duplication by analyzing the actual terminal buffer content
4
- */
5
- import { logDuplication } from './duplication-logger.js';
6
- // Store the last known good state
7
- let lastKnownLineCount = 0;
8
- let consecutiveDuplicationDetections = 0;
9
- /**
10
- * Scan terminal output for duplication patterns
11
- * Returns true if duplication is detected
12
- */
13
- export function scanTerminalForDuplication() {
14
- try {
15
- // Get terminal dimensions
16
- const rows = process.stdout.rows || 0;
17
- const cols = process.stdout.columns || 0;
18
- if (rows === 0 || cols === 0) {
19
- return false;
20
- }
21
- // Try to detect duplication by checking for repeated patterns
22
- // We'll use a heuristic: if we see the same distinctive text multiple times,
23
- // it's likely duplicated
24
- // Since we can't directly read the terminal buffer in Node.js,
25
- // we'll use a different approach: track cursor position changes
26
- // and detect anomalies
27
- return false; // Placeholder - terminal buffer reading not available in Node.js
28
- }
29
- catch (error) {
30
- logDuplication(`Terminal scan error: ${error}`, 'WARN');
31
- return false;
32
- }
33
- }
34
- /**
35
- * Alternative: Use a marker-based detection system
36
- * Inject invisible markers and count them
37
- */
38
- let markerCount = 0;
39
- const MARKER_ID = `\x1b]1337;marker=${Date.now()}\x07`;
40
- export function injectTerminalMarker() {
41
- // Inject an invisible marker that we can count
42
- process.stdout.write(MARKER_ID);
43
- markerCount++;
44
- logDuplication(`Marker injected, count: ${markerCount}`, 'INFO');
45
- }
46
- export function getMarkerCount() {
47
- return markerCount;
48
- }
49
- export function resetMarkerCount() {
50
- markerCount = 0;
51
- logDuplication('Marker count reset', 'INFO');
52
- }
53
- /**
54
- * Better approach: Monitor Ink's render output
55
- * Hook into Ink's output stream
56
- */
57
- let inkOutputBuffer = [];
58
- const MAX_BUFFER_SIZE = 1000;
59
- export function captureInkOutput(chunk) {
60
- inkOutputBuffer.push(chunk);
61
- // Keep buffer size manageable
62
- if (inkOutputBuffer.length > MAX_BUFFER_SIZE) {
63
- inkOutputBuffer.shift();
64
- }
65
- // Check for duplication patterns in recent output
66
- if (inkOutputBuffer.length > 10) {
67
- const recentOutput = inkOutputBuffer.slice(-10).join('');
68
- // Look for the banner ASCII art pattern
69
- const bannerPattern = /██████╗███████╗███╗ ██╗████████╗/g;
70
- const bannerMatches = recentOutput.match(bannerPattern);
71
- if (bannerMatches && bannerMatches.length > 1) {
72
- logDuplication(`Banner pattern found ${bannerMatches.length} times in recent output!`, 'ERROR');
73
- return;
74
- }
75
- // Look for InputBox pattern
76
- const inputBoxPattern = /CWD:.*Model:.*AUTO-ACCEPT:/g;
77
- const inputBoxMatches = recentOutput.match(inputBoxPattern);
78
- if (inputBoxMatches && inputBoxMatches.length > 1) {
79
- logDuplication(`InputBox pattern found ${inputBoxMatches.length} times in recent output!`, 'ERROR');
80
- }
81
- }
82
- }
83
- export function clearInkOutputBuffer() {
84
- inkOutputBuffer = [];
85
- logDuplication('Ink output buffer cleared', 'INFO');
86
- }
87
- /**
88
- * Hook into process.stdout.write to intercept all output
89
- */
90
- const originalWrite = process.stdout.write.bind(process.stdout);
91
- let isHooked = false;
92
- let detectionEnabled = true;
93
- export function pauseDetection() {
94
- detectionEnabled = false;
95
- logDuplication('Detection paused', 'INFO');
96
- }
97
- export function resumeDetection() {
98
- detectionEnabled = true;
99
- logDuplication('Detection resumed', 'INFO');
100
- }
101
- export function hookStdout(onDuplicationDetected) {
102
- if (isHooked)
103
- return;
104
- logDuplication('Hooking into stdout for duplication detection', 'INFO');
105
- isHooked = true;
106
- let outputBuffer = '';
107
- let lastCheckTime = Date.now();
108
- let recoveryScheduled = false;
109
- let lastRecoveryTime = 0;
110
- // Continuous monitoring - check buffer every 100ms
111
- const monitoringInterval = setInterval(() => {
112
- if (!detectionEnabled || recoveryScheduled) {
113
- return;
114
- }
115
- const now = Date.now();
116
- // Prevent recovery spam
117
- if (now - lastRecoveryTime < 2000) {
118
- return;
119
- }
120
- // Check for banner duplication
121
- const bannerPattern = /██████╗███████╗███╗ ██╗████████╗ █████╗ ██╗ ██╗██████╗ ██╗ ██╗███████╗/g;
122
- const bannerMatches = outputBuffer.match(bannerPattern);
123
- // Log buffer state periodically for debugging
124
- if (now % 5000 < 100) { // Every ~5 seconds
125
- const bufferPreview = outputBuffer.slice(-500).replace(/\n/g, '\\n').substring(0, 200);
126
- logDuplication(`[MONITOR] Buffer size: ${outputBuffer.length}, Banners: ${bannerMatches ? bannerMatches.length : 0}, Preview: ${bufferPreview}`, 'INFO');
127
- }
128
- if (bannerMatches && bannerMatches.length > 1) {
129
- logDuplication(`[MONITOR] DUPLICATION DETECTED! Banner found ${bannerMatches.length} times`, 'ERROR');
130
- logDuplication(`[MONITOR] Buffer content (last 1000 chars): ${outputBuffer.slice(-1000)}`, 'ERROR');
131
- recoveryScheduled = true;
132
- lastRecoveryTime = now;
133
- outputBuffer = '';
134
- pauseDetection();
135
- setImmediate(() => {
136
- logDuplication('[MONITOR] Executing recovery', 'ERROR');
137
- onDuplicationDetected();
138
- recoveryScheduled = false;
139
- setTimeout(() => {
140
- resumeDetection();
141
- outputBuffer = '';
142
- }, 800);
143
- });
144
- }
145
- }, 100); // Check every 100ms
146
- // Store interval ID for cleanup
147
- hookStdout.monitoringInterval = monitoringInterval;
148
- process.stdout.write = function (chunk, ...args) {
149
- const str = chunk.toString();
150
- // Always write to actual stdout first
151
- const result = originalWrite(chunk, ...args);
152
- // Then add to our monitoring buffer
153
- outputBuffer += str;
154
- // Skip detection if paused (during recovery)
155
- if (!detectionEnabled) {
156
- return result;
157
- }
158
- const now = Date.now();
159
- // Prevent recovery spam - at least 2 seconds between recoveries
160
- if (now - lastRecoveryTime < 2000) {
161
- return result;
162
- }
163
- // Look for banner duplication in the buffer
164
- const bannerPattern = /██████╗███████╗███╗ ██╗████████╗ █████╗ ██╗ ██╗██████╗ ██╗ ██╗███████╗/g;
165
- const bannerMatches = outputBuffer.match(bannerPattern);
166
- if (bannerMatches && bannerMatches.length > 1 && !recoveryScheduled) {
167
- logDuplication(`DUPLICATION DETECTED! Banner found ${bannerMatches.length} times in output buffer (${outputBuffer.length} bytes)`, 'ERROR');
168
- logDuplication(`Time since last recovery: ${now - lastRecoveryTime}ms`, 'ERROR');
169
- logDuplication(`Buffer content (last 2000 chars): ${outputBuffer.slice(-2000)}`, 'ERROR');
170
- recoveryScheduled = true;
171
- lastRecoveryTime = now;
172
- // IMMEDIATELY clear the output buffer
173
- outputBuffer = '';
174
- logDuplication('Output buffer cleared immediately', 'ERROR');
175
- // Pause detection during recovery
176
- pauseDetection();
177
- // Use setImmediate to defer recovery until after current render completes
178
- setImmediate(() => {
179
- logDuplication('Executing immediate recovery', 'ERROR');
180
- onDuplicationDetected();
181
- consecutiveDuplicationDetections = 0;
182
- recoveryScheduled = false;
183
- // Resume detection after recovery completes
184
- setTimeout(() => {
185
- logDuplication('Resuming detection after recovery', 'INFO');
186
- resumeDetection();
187
- outputBuffer = ''; // Clear buffer again to start fresh
188
- }, 800);
189
- });
190
- }
191
- else {
192
- // Reset counter if no duplication found
193
- if (now - lastCheckTime > 1000) {
194
- consecutiveDuplicationDetections = 0;
195
- lastCheckTime = now;
196
- }
197
- }
198
- // Keep buffer size manageable (last 150KB to catch more duplication)
199
- if (outputBuffer.length > 150000) {
200
- outputBuffer = outputBuffer.slice(-150000);
201
- }
202
- return result;
203
- };
204
- }
205
- export function unhookStdout() {
206
- if (!isHooked)
207
- return;
208
- logDuplication('Unhooking stdout', 'INFO');
209
- // Clear monitoring interval
210
- if (hookStdout.monitoringInterval) {
211
- clearInterval(hookStdout.monitoringInterval);
212
- logDuplication('Monitoring interval cleared', 'INFO');
213
- }
214
- process.stdout.write = originalWrite;
215
- isHooked = false;
216
- }
217
- //# sourceMappingURL=terminal-scanner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-scanner.js","sourceRoot":"","sources":["../../../src/ui/utils/terminal-scanner.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const VERSION = "2.5.2";
2
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/version.js DELETED
@@ -1,3 +0,0 @@
1
- // Auto-generated file - do not edit manually
2
- export const VERSION = '2.5.2';
3
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -1,25 +0,0 @@
1
- import { readFileSync, writeFileSync } from 'fs';
2
- import { join, dirname } from 'path';
3
- import { fileURLToPath } from 'url';
4
-
5
- const __filename = fileURLToPath(import.meta.url);
6
- const __dirname = dirname(__filename);
7
-
8
- // Read package.json
9
- const packageJsonPath = join(__dirname, '..', 'package.json');
10
- let rawContent = readFileSync(packageJsonPath, 'utf-8');
11
-
12
- // Remove BOM if present and normalize whitespace
13
- rawContent = rawContent.replace(/^\uFEFF/, '').trim();
14
-
15
- const packageJson = JSON.parse(rawContent);
16
-
17
- // Generate version.ts
18
- const versionContent = `// Auto-generated file - do not edit manually
19
- export const VERSION = '${packageJson.version}';
20
- `;
21
-
22
- const outputPath = join(__dirname, '..', 'src', 'version.ts');
23
- writeFileSync(outputPath, versionContent, 'utf-8');
24
-
25
- console.log(`Generated version.ts with version ${packageJson.version}`);