centaurus-cli 3.0.1 → 3.1.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 (552) hide show
  1. package/dist/ai/types.js +0 -1
  2. package/dist/ai/types.js.map +1 -1
  3. package/dist/cli-adapter.js +5047 -5158
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/commands/CommandParser.js +372 -315
  6. package/dist/commands/CommandParser.js.map +1 -1
  7. package/dist/config/build-config.js +11 -42
  8. package/dist/config/build-config.js.map +1 -1
  9. package/dist/config/defaultConfig.js +94 -82
  10. package/dist/config/defaultConfig.js.map +1 -1
  11. package/dist/config/manager.js +144 -160
  12. package/dist/config/manager.js.map +1 -1
  13. package/dist/config/mcp-config-manager.js +411 -364
  14. package/dist/config/mcp-config-manager.js.map +1 -1
  15. package/dist/config/models.js +118 -185
  16. package/dist/config/models.js.map +1 -1
  17. package/dist/config/slash-commands.js +186 -184
  18. package/dist/config/slash-commands.js.map +1 -1
  19. package/dist/config/types.js +33 -26
  20. package/dist/config/types.js.map +1 -1
  21. package/dist/context/command-detector.js +63 -67
  22. package/dist/context/command-detector.js.map +1 -1
  23. package/dist/context/context-manager.js +533 -518
  24. package/dist/context/context-manager.js.map +1 -1
  25. package/dist/context/handlers/docker-handler.js +518 -576
  26. package/dist/context/handlers/docker-handler.js.map +1 -1
  27. package/dist/context/handlers/ssh-handler.js +1050 -1109
  28. package/dist/context/handlers/ssh-handler.js.map +1 -1
  29. package/dist/context/handlers/wsl-handler.js +558 -630
  30. package/dist/context/handlers/wsl-handler.js.map +1 -1
  31. package/dist/context/index.js +42 -6
  32. package/dist/context/index.js.map +1 -1
  33. package/dist/context/subshell-handler.js +0 -4
  34. package/dist/context/subshell-handler.js.map +1 -1
  35. package/dist/context/types.js +20 -31
  36. package/dist/context/types.js.map +1 -1
  37. package/dist/hooks/useConnectivity.js +13 -10
  38. package/dist/hooks/useConnectivity.js.map +1 -1
  39. package/dist/hooks/useTerminalDimensions.js +67 -79
  40. package/dist/hooks/useTerminalDimensions.js.map +1 -1
  41. package/dist/index.js +228 -251
  42. package/dist/index.js.map +1 -1
  43. package/dist/mcp/mcp-command-handler.js +297 -260
  44. package/dist/mcp/mcp-command-handler.js.map +1 -1
  45. package/dist/mcp/mcp-server-manager.js +139 -155
  46. package/dist/mcp/mcp-server-manager.js.map +1 -1
  47. package/dist/mcp/mcp-tool-wrapper.js +74 -94
  48. package/dist/mcp/mcp-tool-wrapper.js.map +1 -1
  49. package/dist/services/ai-autocomplete-agent.js +169 -181
  50. package/dist/services/ai-autocomplete-agent.js.map +1 -1
  51. package/dist/services/ai-context-injector.js +180 -93
  52. package/dist/services/ai-context-injector.js.map +1 -1
  53. package/dist/services/ai-service-client.js +513 -456
  54. package/dist/services/ai-service-client.js.map +1 -1
  55. package/dist/services/api-client.js +443 -441
  56. package/dist/services/api-client.js.map +1 -1
  57. package/dist/services/auth-handler.js +162 -198
  58. package/dist/services/auth-handler.js.map +1 -1
  59. package/dist/services/background-task-manager.js +258 -282
  60. package/dist/services/background-task-manager.js.map +1 -1
  61. package/dist/services/checkpoint-manager.js +1526 -1512
  62. package/dist/services/checkpoint-manager.js.map +1 -1
  63. package/dist/services/clipboard-service.js +151 -200
  64. package/dist/services/clipboard-service.js.map +1 -1
  65. package/dist/services/connectivity-manager.js +63 -65
  66. package/dist/services/connectivity-manager.js.map +1 -1
  67. package/dist/services/conversation-manager.js +118 -121
  68. package/dist/services/conversation-manager.js.map +1 -1
  69. package/dist/services/environment-context-injector.js +160 -187
  70. package/dist/services/environment-context-injector.js.map +1 -1
  71. package/dist/services/fast-context-agent.js +203 -243
  72. package/dist/services/fast-context-agent.js.map +1 -1
  73. package/dist/services/input-detection-agent.js +190 -202
  74. package/dist/services/input-detection-agent.js.map +1 -1
  75. package/dist/services/input-requirement-detector.js +155 -189
  76. package/dist/services/input-requirement-detector.js.map +1 -1
  77. package/dist/services/local-chat-storage.js +342 -365
  78. package/dist/services/local-chat-storage.js.map +1 -1
  79. package/dist/services/monitored-shell-manager.js +225 -233
  80. package/dist/services/monitored-shell-manager.js.map +1 -1
  81. package/dist/services/ollama-service.js +293 -310
  82. package/dist/services/ollama-service.js.map +1 -1
  83. package/dist/services/rules-storage.js +142 -0
  84. package/dist/services/rules-storage.js.map +1 -0
  85. package/dist/services/session-quota-manager.js +219 -235
  86. package/dist/services/session-quota-manager.js.map +1 -1
  87. package/dist/services/shell-input-agent.js +299 -334
  88. package/dist/services/shell-input-agent.js.map +1 -1
  89. package/dist/services/sub-agent-manager.js +459 -501
  90. package/dist/services/sub-agent-manager.js.map +1 -1
  91. package/dist/services/warpify-detector.js +133 -183
  92. package/dist/services/warpify-detector.js.map +1 -1
  93. package/dist/services/workflow-storage.js +202 -217
  94. package/dist/services/workflow-storage.js.map +1 -1
  95. package/dist/test-ssh-handler.js +148 -193
  96. package/dist/test-ssh-handler.js.map +1 -1
  97. package/dist/tools/add-mcp.js +161 -0
  98. package/dist/tools/add-mcp.js.map +1 -0
  99. package/dist/tools/background-command.js +240 -273
  100. package/dist/tools/background-command.js.map +1 -1
  101. package/dist/tools/command.js +447 -440
  102. package/dist/tools/command.js.map +1 -1
  103. package/dist/tools/create-image.js +172 -202
  104. package/dist/tools/create-image.js.map +1 -1
  105. package/dist/tools/enter-remote-session.js +169 -215
  106. package/dist/tools/enter-remote-session.js.map +1 -1
  107. package/dist/tools/fast-context.js +60 -67
  108. package/dist/tools/fast-context.js.map +1 -1
  109. package/dist/tools/file-ops.js +601 -572
  110. package/dist/tools/file-ops.js.map +1 -1
  111. package/dist/tools/find-files.js +262 -303
  112. package/dist/tools/find-files.js.map +1 -1
  113. package/dist/tools/get-diff.js +423 -406
  114. package/dist/tools/get-diff.js.map +1 -1
  115. package/dist/tools/grep-search.js +966 -948
  116. package/dist/tools/grep-search.js.map +1 -1
  117. package/dist/tools/inspect-symbol.js +308 -323
  118. package/dist/tools/inspect-symbol.js.map +1 -1
  119. package/dist/tools/plan-mode.js +459 -503
  120. package/dist/tools/plan-mode.js.map +1 -1
  121. package/dist/tools/read-binary-file.js +160 -190
  122. package/dist/tools/read-binary-file.js.map +1 -1
  123. package/dist/tools/registry.js +100 -84
  124. package/dist/tools/registry.js.map +1 -1
  125. package/dist/tools/reproduce_issue.js +170 -151
  126. package/dist/tools/reproduce_issue.js.map +1 -1
  127. package/dist/tools/sub-agent.js +223 -228
  128. package/dist/tools/sub-agent.js.map +1 -1
  129. package/dist/tools/task-complete.js +28 -27
  130. package/dist/tools/task-complete.js.map +1 -1
  131. package/dist/tools/types.js +0 -1
  132. package/dist/tools/types.js.map +1 -1
  133. package/dist/tools/validation.js +96 -118
  134. package/dist/tools/validation.js.map +1 -1
  135. package/dist/tools/web-search.js +194 -194
  136. package/dist/tools/web-search.js.map +1 -1
  137. package/dist/tools/workflow-tool.js +77 -82
  138. package/dist/tools/workflow-tool.js.map +1 -1
  139. package/dist/types/index.js +0 -1
  140. package/dist/types/index.js.map +1 -1
  141. package/dist/types/rule.js +1 -0
  142. package/dist/types/rule.js.map +1 -0
  143. package/dist/types/workflow.js +0 -7
  144. package/dist/types/workflow.js.map +1 -1
  145. package/dist/ui/components/AgentTimer.js +24 -25
  146. package/dist/ui/components/AgentTimer.js.map +1 -1
  147. package/dist/ui/components/App.js +3266 -3263
  148. package/dist/ui/components/App.js.map +1 -1
  149. package/dist/ui/components/AuthScreen.js +22 -34
  150. package/dist/ui/components/AuthScreen.js.map +1 -1
  151. package/dist/ui/components/AuthWelcomeScreen.js +30 -24
  152. package/dist/ui/components/AuthWelcomeScreen.js.map +1 -1
  153. package/dist/ui/components/Breadcrumbs.js +53 -82
  154. package/dist/ui/components/Breadcrumbs.js.map +1 -1
  155. package/dist/ui/components/CircularSelectInput.js +59 -67
  156. package/dist/ui/components/CircularSelectInput.js.map +1 -1
  157. package/dist/ui/components/ClipboardFileAutocomplete.js +78 -39
  158. package/dist/ui/components/ClipboardFileAutocomplete.js.map +1 -1
  159. package/dist/ui/components/CodeBlock.js +24 -42
  160. package/dist/ui/components/CodeBlock.js.map +1 -1
  161. package/dist/ui/components/ConfigViewer.js +18 -25
  162. package/dist/ui/components/ConfigViewer.js.map +1 -1
  163. package/dist/ui/components/ConfirmPrompt.js +49 -71
  164. package/dist/ui/components/ConfirmPrompt.js.map +1 -1
  165. package/dist/ui/components/ConnectionStatusMessage.js +32 -83
  166. package/dist/ui/components/ConnectionStatusMessage.js.map +1 -1
  167. package/dist/ui/components/ContextWindowIndicator.js +34 -49
  168. package/dist/ui/components/ContextWindowIndicator.js.map +1 -1
  169. package/dist/ui/components/DetailedPlanReviewScreen.js +104 -106
  170. package/dist/ui/components/DetailedPlanReviewScreen.js.map +1 -1
  171. package/dist/ui/components/DiffViewer.js +68 -121
  172. package/dist/ui/components/DiffViewer.js.map +1 -1
  173. package/dist/ui/components/ErrorBoundary.js +40 -48
  174. package/dist/ui/components/ErrorBoundary.js.map +1 -1
  175. package/dist/ui/components/FileCreationPreview.js +29 -60
  176. package/dist/ui/components/FileCreationPreview.js.map +1 -1
  177. package/dist/ui/components/FileOperation.js +34 -29
  178. package/dist/ui/components/FileOperation.js.map +1 -1
  179. package/dist/ui/components/FileTagAutocomplete.js +55 -25
  180. package/dist/ui/components/FileTagAutocomplete.js.map +1 -1
  181. package/dist/ui/components/FontRecommendation.js.map +1 -1
  182. package/dist/ui/components/GitDiffBreadcrumb.js +29 -0
  183. package/dist/ui/components/GitDiffBreadcrumb.js.map +1 -0
  184. package/dist/ui/components/InputBox.js +1620 -2150
  185. package/dist/ui/components/InputBox.js.map +1 -1
  186. package/dist/ui/components/InteractiveShell.js +234 -352
  187. package/dist/ui/components/InteractiveShell.js.map +1 -1
  188. package/dist/ui/components/KeyboardHelp.js +34 -35
  189. package/dist/ui/components/KeyboardHelp.js.map +1 -1
  190. package/dist/ui/components/LoadingIndicator.js +22 -25
  191. package/dist/ui/components/LoadingIndicator.js.map +1 -1
  192. package/dist/ui/components/MCPAddScreen.js +40 -51
  193. package/dist/ui/components/MCPAddScreen.js.map +1 -1
  194. package/dist/ui/components/MCPListScreen.js +40 -48
  195. package/dist/ui/components/MCPListScreen.js.map +1 -1
  196. package/dist/ui/components/MCPServerListScreen.js +49 -56
  197. package/dist/ui/components/MCPServerListScreen.js.map +1 -1
  198. package/dist/ui/components/MarkdownRenderer.js +69 -96
  199. package/dist/ui/components/MarkdownRenderer.js.map +1 -1
  200. package/dist/ui/components/MessageBox.js +66 -48
  201. package/dist/ui/components/MessageBox.js.map +1 -1
  202. package/dist/ui/components/MessageDisplay.js +150 -142
  203. package/dist/ui/components/MessageDisplay.js.map +1 -1
  204. package/dist/ui/components/MonitorModeAIPanel.js +46 -65
  205. package/dist/ui/components/MonitorModeAIPanel.js.map +1 -1
  206. package/dist/ui/components/MultiLineInput.js +243 -277
  207. package/dist/ui/components/MultiLineInput.js.map +1 -1
  208. package/dist/ui/components/PasswordPrompt.js +37 -18
  209. package/dist/ui/components/PasswordPrompt.js.map +1 -1
  210. package/dist/ui/components/PlanAcceptedMessage.js +27 -38
  211. package/dist/ui/components/PlanAcceptedMessage.js.map +1 -1
  212. package/dist/ui/components/PlanReviewScreen.js +46 -50
  213. package/dist/ui/components/PlanReviewScreen.js.map +1 -1
  214. package/dist/ui/components/RulesEditorScreen.js +81 -0
  215. package/dist/ui/components/RulesEditorScreen.js.map +1 -0
  216. package/dist/ui/components/SelectPrompt.js +19 -8
  217. package/dist/ui/components/SelectPrompt.js.map +1 -1
  218. package/dist/ui/components/ShimmerText.js +44 -0
  219. package/dist/ui/components/ShimmerText.js.map +1 -0
  220. package/dist/ui/components/SlashCommandAutocomplete.js +49 -22
  221. package/dist/ui/components/SlashCommandAutocomplete.js.map +1 -1
  222. package/dist/ui/components/StatusBar.js +56 -87
  223. package/dist/ui/components/StatusBar.js.map +1 -1
  224. package/dist/ui/components/StreamingMessageDisplay.js +116 -99
  225. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  226. package/dist/ui/components/TaskCompletedMessage.js +28 -23
  227. package/dist/ui/components/TaskCompletedMessage.js.map +1 -1
  228. package/dist/ui/components/TaskProgressIndicator.js +44 -70
  229. package/dist/ui/components/TaskProgressIndicator.js.map +1 -1
  230. package/dist/ui/components/ThinkingDisplay.js +44 -41
  231. package/dist/ui/components/ThinkingDisplay.js.map +1 -1
  232. package/dist/ui/components/ToolExecutionMessage.js +772 -1326
  233. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  234. package/dist/ui/components/ToolExecutionStatus.js +53 -84
  235. package/dist/ui/components/ToolExecutionStatus.js.map +1 -1
  236. package/dist/ui/components/ToolResult.js +22 -15
  237. package/dist/ui/components/ToolResult.js.map +1 -1
  238. package/dist/ui/components/VersionUpdatePrompt.js +88 -120
  239. package/dist/ui/components/VersionUpdatePrompt.js.map +1 -1
  240. package/dist/ui/components/WelcomeBanner.js +176 -26
  241. package/dist/ui/components/WelcomeBanner.js.map +1 -1
  242. package/dist/ui/components/WorkflowCreatorScreen.js +94 -161
  243. package/dist/ui/components/WorkflowCreatorScreen.js.map +1 -1
  244. package/dist/utils/ansi-encoder.js +30 -61
  245. package/dist/utils/ansi-encoder.js.map +1 -1
  246. package/dist/utils/chat-formatter.js +327 -305
  247. package/dist/utils/chat-formatter.js.map +1 -1
  248. package/dist/utils/command-history.js +152 -174
  249. package/dist/utils/command-history.js.map +1 -1
  250. package/dist/utils/context-sanitizer.js +49 -112
  251. package/dist/utils/context-sanitizer.js.map +1 -1
  252. package/dist/utils/conversation-logger.js +292 -324
  253. package/dist/utils/conversation-logger.js.map +1 -1
  254. package/dist/utils/custom-commands-manager.js +126 -131
  255. package/dist/utils/custom-commands-manager.js.map +1 -1
  256. package/dist/utils/editor-utils.js +732 -837
  257. package/dist/utils/editor-utils.js.map +1 -1
  258. package/dist/utils/file.js +174 -213
  259. package/dist/utils/file.js.map +1 -1
  260. package/dist/utils/git-stats.js +169 -0
  261. package/dist/utils/git-stats.js.map +1 -0
  262. package/dist/utils/input-classifier.js +960 -482
  263. package/dist/utils/input-classifier.js.map +1 -1
  264. package/dist/utils/logger.js +48 -73
  265. package/dist/utils/logger.js.map +1 -1
  266. package/dist/utils/markdown-parser.js +277 -310
  267. package/dist/utils/markdown-parser.js.map +1 -1
  268. package/dist/utils/rule-reference-resolver.js +54 -0
  269. package/dist/utils/rule-reference-resolver.js.map +1 -0
  270. package/dist/utils/shell.js +144 -156
  271. package/dist/utils/shell.js.map +1 -1
  272. package/dist/utils/state.js +23 -22
  273. package/dist/utils/state.js.map +1 -1
  274. package/dist/utils/syntax-checker.js +279 -327
  275. package/dist/utils/syntax-checker.js.map +1 -1
  276. package/dist/utils/terminal-output.js +199 -302
  277. package/dist/utils/terminal-output.js.map +1 -1
  278. package/dist/utils/text-clipboard.js +47 -70
  279. package/dist/utils/text-clipboard.js.map +1 -1
  280. package/dist/utils/unicode-sanitizer.js +134 -197
  281. package/dist/utils/unicode-sanitizer.js.map +1 -1
  282. package/dist/utils/version-checker.js +46 -56
  283. package/dist/utils/version-checker.js.map +1 -1
  284. package/package.json +6 -4
  285. package/dist/ai/types.d.ts +0 -20
  286. package/dist/ai/types.d.ts.map +0 -1
  287. package/dist/cli-adapter.d.ts +0 -514
  288. package/dist/cli-adapter.d.ts.map +0 -1
  289. package/dist/commands/CommandParser.d.ts +0 -27
  290. package/dist/commands/CommandParser.d.ts.map +0 -1
  291. package/dist/config/build-config.d.ts +0 -42
  292. package/dist/config/build-config.d.ts.map +0 -1
  293. package/dist/config/defaultConfig.d.ts +0 -79
  294. package/dist/config/defaultConfig.d.ts.map +0 -1
  295. package/dist/config/manager.d.ts +0 -62
  296. package/dist/config/manager.d.ts.map +0 -1
  297. package/dist/config/mcp-config-manager.d.ts +0 -79
  298. package/dist/config/mcp-config-manager.d.ts.map +0 -1
  299. package/dist/config/models.d.ts +0 -83
  300. package/dist/config/models.d.ts.map +0 -1
  301. package/dist/config/slash-commands.d.ts +0 -23
  302. package/dist/config/slash-commands.d.ts.map +0 -1
  303. package/dist/config/types.d.ts +0 -35
  304. package/dist/config/types.d.ts.map +0 -1
  305. package/dist/context/command-detector.d.ts +0 -50
  306. package/dist/context/command-detector.d.ts.map +0 -1
  307. package/dist/context/context-manager.d.ts +0 -157
  308. package/dist/context/context-manager.d.ts.map +0 -1
  309. package/dist/context/handlers/docker-handler.d.ts +0 -130
  310. package/dist/context/handlers/docker-handler.d.ts.map +0 -1
  311. package/dist/context/handlers/ssh-handler.d.ts +0 -201
  312. package/dist/context/handlers/ssh-handler.d.ts.map +0 -1
  313. package/dist/context/handlers/wsl-handler.d.ts +0 -146
  314. package/dist/context/handlers/wsl-handler.d.ts.map +0 -1
  315. package/dist/context/index.d.ts +0 -8
  316. package/dist/context/index.d.ts.map +0 -1
  317. package/dist/context/subshell-handler.d.ts +0 -165
  318. package/dist/context/subshell-handler.d.ts.map +0 -1
  319. package/dist/context/types.d.ts +0 -70
  320. package/dist/context/types.d.ts.map +0 -1
  321. package/dist/hooks/useConnectivity.d.ts +0 -2
  322. package/dist/hooks/useConnectivity.d.ts.map +0 -1
  323. package/dist/hooks/useTerminalDimensions.d.ts +0 -41
  324. package/dist/hooks/useTerminalDimensions.d.ts.map +0 -1
  325. package/dist/index.d.ts +0 -9
  326. package/dist/index.d.ts.map +0 -1
  327. package/dist/mcp/mcp-command-handler.d.ts +0 -47
  328. package/dist/mcp/mcp-command-handler.d.ts.map +0 -1
  329. package/dist/mcp/mcp-server-manager.d.ts +0 -30
  330. package/dist/mcp/mcp-server-manager.d.ts.map +0 -1
  331. package/dist/mcp/mcp-tool-wrapper.d.ts +0 -12
  332. package/dist/mcp/mcp-tool-wrapper.d.ts.map +0 -1
  333. package/dist/services/ai-autocomplete-agent.d.ts +0 -39
  334. package/dist/services/ai-autocomplete-agent.d.ts.map +0 -1
  335. package/dist/services/ai-context-injector.d.ts +0 -41
  336. package/dist/services/ai-context-injector.d.ts.map +0 -1
  337. package/dist/services/ai-service-client.d.ts +0 -128
  338. package/dist/services/ai-service-client.d.ts.map +0 -1
  339. package/dist/services/api-client.d.ts +0 -353
  340. package/dist/services/api-client.d.ts.map +0 -1
  341. package/dist/services/auth-handler.d.ts +0 -30
  342. package/dist/services/auth-handler.d.ts.map +0 -1
  343. package/dist/services/background-task-manager.d.ts +0 -114
  344. package/dist/services/background-task-manager.d.ts.map +0 -1
  345. package/dist/services/checkpoint-manager.d.ts +0 -204
  346. package/dist/services/checkpoint-manager.d.ts.map +0 -1
  347. package/dist/services/clipboard-service.d.ts +0 -37
  348. package/dist/services/clipboard-service.d.ts.map +0 -1
  349. package/dist/services/connectivity-manager.d.ts +0 -18
  350. package/dist/services/connectivity-manager.d.ts.map +0 -1
  351. package/dist/services/conversation-manager.d.ts +0 -73
  352. package/dist/services/conversation-manager.d.ts.map +0 -1
  353. package/dist/services/environment-context-injector.d.ts +0 -69
  354. package/dist/services/environment-context-injector.d.ts.map +0 -1
  355. package/dist/services/fast-context-agent.d.ts +0 -12
  356. package/dist/services/fast-context-agent.d.ts.map +0 -1
  357. package/dist/services/input-detection-agent.d.ts +0 -40
  358. package/dist/services/input-detection-agent.d.ts.map +0 -1
  359. package/dist/services/input-requirement-detector.d.ts +0 -28
  360. package/dist/services/input-requirement-detector.d.ts.map +0 -1
  361. package/dist/services/local-chat-storage.d.ts +0 -182
  362. package/dist/services/local-chat-storage.d.ts.map +0 -1
  363. package/dist/services/monitored-shell-manager.d.ts +0 -120
  364. package/dist/services/monitored-shell-manager.d.ts.map +0 -1
  365. package/dist/services/ollama-service.d.ts +0 -197
  366. package/dist/services/ollama-service.d.ts.map +0 -1
  367. package/dist/services/session-quota-manager.d.ts +0 -101
  368. package/dist/services/session-quota-manager.d.ts.map +0 -1
  369. package/dist/services/shell-input-agent.d.ts +0 -89
  370. package/dist/services/shell-input-agent.d.ts.map +0 -1
  371. package/dist/services/sub-agent-manager.d.ts +0 -140
  372. package/dist/services/sub-agent-manager.d.ts.map +0 -1
  373. package/dist/services/warpify-detector.d.ts +0 -43
  374. package/dist/services/warpify-detector.d.ts.map +0 -1
  375. package/dist/services/workflow-storage.d.ts +0 -72
  376. package/dist/services/workflow-storage.d.ts.map +0 -1
  377. package/dist/test-ssh-handler.d.ts +0 -8
  378. package/dist/test-ssh-handler.d.ts.map +0 -1
  379. package/dist/tools/background-command.d.ts +0 -11
  380. package/dist/tools/background-command.d.ts.map +0 -1
  381. package/dist/tools/command.d.ts +0 -3
  382. package/dist/tools/command.d.ts.map +0 -1
  383. package/dist/tools/create-image.d.ts +0 -10
  384. package/dist/tools/create-image.d.ts.map +0 -1
  385. package/dist/tools/enter-remote-session.d.ts +0 -48
  386. package/dist/tools/enter-remote-session.d.ts.map +0 -1
  387. package/dist/tools/fast-context.d.ts +0 -3
  388. package/dist/tools/fast-context.d.ts.map +0 -1
  389. package/dist/tools/file-ops.d.ts +0 -7
  390. package/dist/tools/file-ops.d.ts.map +0 -1
  391. package/dist/tools/find-files.d.ts +0 -49
  392. package/dist/tools/find-files.d.ts.map +0 -1
  393. package/dist/tools/get-diff.d.ts +0 -14
  394. package/dist/tools/get-diff.d.ts.map +0 -1
  395. package/dist/tools/grep-search.d.ts +0 -155
  396. package/dist/tools/grep-search.d.ts.map +0 -1
  397. package/dist/tools/inspect-symbol.d.ts +0 -32
  398. package/dist/tools/inspect-symbol.d.ts.map +0 -1
  399. package/dist/tools/plan-mode.d.ts +0 -140
  400. package/dist/tools/plan-mode.d.ts.map +0 -1
  401. package/dist/tools/read-binary-file.d.ts +0 -10
  402. package/dist/tools/read-binary-file.d.ts.map +0 -1
  403. package/dist/tools/registry.d.ts +0 -31
  404. package/dist/tools/registry.d.ts.map +0 -1
  405. package/dist/tools/reproduce_issue.d.ts +0 -2
  406. package/dist/tools/reproduce_issue.d.ts.map +0 -1
  407. package/dist/tools/sub-agent.d.ts +0 -9
  408. package/dist/tools/sub-agent.d.ts.map +0 -1
  409. package/dist/tools/task-complete.d.ts +0 -3
  410. package/dist/tools/task-complete.d.ts.map +0 -1
  411. package/dist/tools/types.d.ts +0 -40
  412. package/dist/tools/types.d.ts.map +0 -1
  413. package/dist/tools/validation.d.ts +0 -47
  414. package/dist/tools/validation.d.ts.map +0 -1
  415. package/dist/tools/web-search.d.ts +0 -24
  416. package/dist/tools/web-search.d.ts.map +0 -1
  417. package/dist/tools/workflow-tool.d.ts +0 -11
  418. package/dist/tools/workflow-tool.d.ts.map +0 -1
  419. package/dist/types/index.d.ts +0 -123
  420. package/dist/types/index.d.ts.map +0 -1
  421. package/dist/types/workflow.d.ts +0 -110
  422. package/dist/types/workflow.d.ts.map +0 -1
  423. package/dist/ui/components/AgentTimer.d.ts +0 -7
  424. package/dist/ui/components/AgentTimer.d.ts.map +0 -1
  425. package/dist/ui/components/App.d.ts +0 -197
  426. package/dist/ui/components/App.d.ts.map +0 -1
  427. package/dist/ui/components/AuthScreen.d.ts +0 -8
  428. package/dist/ui/components/AuthScreen.d.ts.map +0 -1
  429. package/dist/ui/components/AuthWelcomeScreen.d.ts +0 -8
  430. package/dist/ui/components/AuthWelcomeScreen.d.ts.map +0 -1
  431. package/dist/ui/components/Breadcrumbs.d.ts +0 -13
  432. package/dist/ui/components/Breadcrumbs.d.ts.map +0 -1
  433. package/dist/ui/components/CircularSelectInput.d.ts +0 -24
  434. package/dist/ui/components/CircularSelectInput.d.ts.map +0 -1
  435. package/dist/ui/components/ClipboardFileAutocomplete.d.ts +0 -10
  436. package/dist/ui/components/ClipboardFileAutocomplete.d.ts.map +0 -1
  437. package/dist/ui/components/CodeBlock.d.ts +0 -9
  438. package/dist/ui/components/CodeBlock.d.ts.map +0 -1
  439. package/dist/ui/components/ConfigViewer.d.ts +0 -11
  440. package/dist/ui/components/ConfigViewer.d.ts.map +0 -1
  441. package/dist/ui/components/ConfirmPrompt.d.ts +0 -13
  442. package/dist/ui/components/ConfirmPrompt.d.ts.map +0 -1
  443. package/dist/ui/components/ConnectionStatusMessage.d.ts +0 -17
  444. package/dist/ui/components/ConnectionStatusMessage.d.ts.map +0 -1
  445. package/dist/ui/components/ContextWindowIndicator.d.ts +0 -8
  446. package/dist/ui/components/ContextWindowIndicator.d.ts.map +0 -1
  447. package/dist/ui/components/DetailedPlanReviewScreen.d.ts +0 -17
  448. package/dist/ui/components/DetailedPlanReviewScreen.d.ts.map +0 -1
  449. package/dist/ui/components/DiffViewer.d.ts +0 -9
  450. package/dist/ui/components/DiffViewer.d.ts.map +0 -1
  451. package/dist/ui/components/ErrorBoundary.d.ts +0 -17
  452. package/dist/ui/components/ErrorBoundary.d.ts.map +0 -1
  453. package/dist/ui/components/FileCreationPreview.d.ts +0 -8
  454. package/dist/ui/components/FileCreationPreview.d.ts.map +0 -1
  455. package/dist/ui/components/FileOperation.d.ts +0 -10
  456. package/dist/ui/components/FileOperation.d.ts.map +0 -1
  457. package/dist/ui/components/FileTagAutocomplete.d.ts +0 -11
  458. package/dist/ui/components/FileTagAutocomplete.d.ts.map +0 -1
  459. package/dist/ui/components/FontRecommendation.d.ts +0 -1
  460. package/dist/ui/components/FontRecommendation.d.ts.map +0 -1
  461. package/dist/ui/components/InputBox.d.ts +0 -42
  462. package/dist/ui/components/InputBox.d.ts.map +0 -1
  463. package/dist/ui/components/InteractiveShell.d.ts +0 -30
  464. package/dist/ui/components/InteractiveShell.d.ts.map +0 -1
  465. package/dist/ui/components/KeyboardHelp.d.ts +0 -7
  466. package/dist/ui/components/KeyboardHelp.d.ts.map +0 -1
  467. package/dist/ui/components/LoadingIndicator.d.ts +0 -3
  468. package/dist/ui/components/LoadingIndicator.d.ts.map +0 -1
  469. package/dist/ui/components/MCPAddScreen.d.ts +0 -13
  470. package/dist/ui/components/MCPAddScreen.d.ts.map +0 -1
  471. package/dist/ui/components/MCPListScreen.d.ts +0 -17
  472. package/dist/ui/components/MCPListScreen.d.ts.map +0 -1
  473. package/dist/ui/components/MCPServerListScreen.d.ts +0 -16
  474. package/dist/ui/components/MCPServerListScreen.d.ts.map +0 -1
  475. package/dist/ui/components/MarkdownRenderer.d.ts +0 -8
  476. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  477. package/dist/ui/components/MessageBox.d.ts +0 -10
  478. package/dist/ui/components/MessageBox.d.ts.map +0 -1
  479. package/dist/ui/components/MessageDisplay.d.ts +0 -14
  480. package/dist/ui/components/MessageDisplay.d.ts.map +0 -1
  481. package/dist/ui/components/MonitorModeAIPanel.d.ts +0 -23
  482. package/dist/ui/components/MonitorModeAIPanel.d.ts.map +0 -1
  483. package/dist/ui/components/MultiLineInput.d.ts +0 -13
  484. package/dist/ui/components/MultiLineInput.d.ts.map +0 -1
  485. package/dist/ui/components/PasswordPrompt.d.ts +0 -9
  486. package/dist/ui/components/PasswordPrompt.d.ts.map +0 -1
  487. package/dist/ui/components/PlanAcceptedMessage.d.ts +0 -20
  488. package/dist/ui/components/PlanAcceptedMessage.d.ts.map +0 -1
  489. package/dist/ui/components/PlanReviewScreen.d.ts +0 -14
  490. package/dist/ui/components/PlanReviewScreen.d.ts.map +0 -1
  491. package/dist/ui/components/SelectPrompt.d.ts +0 -12
  492. package/dist/ui/components/SelectPrompt.d.ts.map +0 -1
  493. package/dist/ui/components/SlashCommandAutocomplete.d.ts +0 -13
  494. package/dist/ui/components/SlashCommandAutocomplete.d.ts.map +0 -1
  495. package/dist/ui/components/StatusBar.d.ts +0 -14
  496. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  497. package/dist/ui/components/StreamingMessageDisplay.d.ts +0 -15
  498. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +0 -1
  499. package/dist/ui/components/TaskCompletedMessage.d.ts +0 -14
  500. package/dist/ui/components/TaskCompletedMessage.d.ts.map +0 -1
  501. package/dist/ui/components/TaskProgressIndicator.d.ts +0 -18
  502. package/dist/ui/components/TaskProgressIndicator.d.ts.map +0 -1
  503. package/dist/ui/components/ThinkingDisplay.d.ts +0 -15
  504. package/dist/ui/components/ThinkingDisplay.d.ts.map +0 -1
  505. package/dist/ui/components/ToolExecutionMessage.d.ts +0 -8
  506. package/dist/ui/components/ToolExecutionMessage.d.ts.map +0 -1
  507. package/dist/ui/components/ToolExecutionStatus.d.ts +0 -10
  508. package/dist/ui/components/ToolExecutionStatus.d.ts.map +0 -1
  509. package/dist/ui/components/ToolResult.d.ts +0 -10
  510. package/dist/ui/components/ToolResult.d.ts.map +0 -1
  511. package/dist/ui/components/VersionUpdatePrompt.d.ts +0 -9
  512. package/dist/ui/components/VersionUpdatePrompt.d.ts.map +0 -1
  513. package/dist/ui/components/WelcomeBanner.d.ts +0 -3
  514. package/dist/ui/components/WelcomeBanner.d.ts.map +0 -1
  515. package/dist/ui/components/WorkflowCreatorScreen.d.ts +0 -25
  516. package/dist/ui/components/WorkflowCreatorScreen.d.ts.map +0 -1
  517. package/dist/utils/ansi-encoder.d.ts +0 -7
  518. package/dist/utils/ansi-encoder.d.ts.map +0 -1
  519. package/dist/utils/chat-formatter.d.ts +0 -12
  520. package/dist/utils/chat-formatter.d.ts.map +0 -1
  521. package/dist/utils/command-history.d.ts +0 -24
  522. package/dist/utils/command-history.d.ts.map +0 -1
  523. package/dist/utils/context-sanitizer.d.ts +0 -50
  524. package/dist/utils/context-sanitizer.d.ts.map +0 -1
  525. package/dist/utils/conversation-logger.d.ts +0 -142
  526. package/dist/utils/conversation-logger.d.ts.map +0 -1
  527. package/dist/utils/custom-commands-manager.d.ts +0 -59
  528. package/dist/utils/custom-commands-manager.d.ts.map +0 -1
  529. package/dist/utils/editor-utils.d.ts +0 -101
  530. package/dist/utils/editor-utils.d.ts.map +0 -1
  531. package/dist/utils/file.d.ts +0 -61
  532. package/dist/utils/file.d.ts.map +0 -1
  533. package/dist/utils/input-classifier.d.ts +0 -25
  534. package/dist/utils/input-classifier.d.ts.map +0 -1
  535. package/dist/utils/logger.d.ts +0 -17
  536. package/dist/utils/logger.d.ts.map +0 -1
  537. package/dist/utils/markdown-parser.d.ts +0 -60
  538. package/dist/utils/markdown-parser.d.ts.map +0 -1
  539. package/dist/utils/shell.d.ts +0 -47
  540. package/dist/utils/shell.d.ts.map +0 -1
  541. package/dist/utils/state.d.ts +0 -13
  542. package/dist/utils/state.d.ts.map +0 -1
  543. package/dist/utils/syntax-checker.d.ts +0 -24
  544. package/dist/utils/syntax-checker.d.ts.map +0 -1
  545. package/dist/utils/terminal-output.d.ts +0 -25
  546. package/dist/utils/terminal-output.d.ts.map +0 -1
  547. package/dist/utils/text-clipboard.d.ts +0 -12
  548. package/dist/utils/text-clipboard.d.ts.map +0 -1
  549. package/dist/utils/unicode-sanitizer.d.ts +0 -44
  550. package/dist/utils/unicode-sanitizer.d.ts.map +0 -1
  551. package/dist/utils/version-checker.d.ts +0 -14
  552. package/dist/utils/version-checker.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"input-classifier.js","sourceRoot":"","sources":["../../src/utils/input-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/input-classifier.ts"],"sourcesContent":["/**\r\n * Input Classification Utilities\r\n * \r\n * Provides intelligent heuristic-based detection of user intent (Terminal Command vs AI Message).\r\n * Uses sentence structure analysis, command syntax detection, and context-aware disambiguation.\r\n */\r\n\r\nimport { CustomCommandsManager } from './custom-commands-manager.js';\r\n\r\nexport type InputIntent = 'command' | 'ai';\r\n\r\n// Valid slash commands that should be handled by the Agent/CLI logic\r\nconst SLASH_COMMANDS = new Set([\r\n 'help', 'h', '?',\r\n 'model', 'm', 'models',\r\n 'config', 'c', 'settings',\r\n 'clear', 'cls', 'reset',\r\n 'sync',\r\n 'clean-ui', 'refresh-ui', 'redraw',\r\n 'exit', 'quit', 'q',\r\n 'session', 's',\r\n 'session-limits',\r\n 'tools', 't',\r\n 'plan',\r\n 'init', 'i',\r\n 'mcp',\r\n 'chat',\r\n 'docs',\r\n 'sign-in',\r\n 'logout',\r\n 'quality',\r\n 'autonomous',\r\n 'add-command', 'add-command-auto-detect',\r\n 'background-task', 'bkg', 'bg-task',\r\n 'copy-chat-context',\r\n 'workflow', 'wf',\r\n 'rules',\r\n 'revert'\r\n]);\r\n\r\n// Commands that are definitely terminal commands (not ambiguous with natural language)\r\nconst DEFINITE_COMMANDS = new Set([\r\n // Package Managers\r\n 'npm', 'yarn', 'pnpm', 'bun', 'npx', 'gem', 'pip', 'pip3', 'conda', 'cargo', 'composer', 'mvn', 'gradle',\r\n // Package managers (extended)\r\n 'apt', 'apt-get', 'apt-cache', 'dpkg', 'yum', 'dnf', 'rpm', 'zypper', 'pacman', 'emerge',\r\n 'port', 'brew', 'choco', 'scoop', 'winget', 'snap', 'flatpak', 'nix', 'nix-env', 'apk',\r\n // Version Control\r\n 'git', 'svn', 'hg', 'gh', 'gitk', 'tig',\r\n // File Operations (non-ambiguous)\r\n 'ls', 'cd', 'pwd', 'mkdir', 'rm', 'cp', 'mv', 'cat', 'less', 'more', 'chmod', 'chown', 'chgrp', 'ln',\r\n 'stat', 'file', 'realpath', 'basename', 'dirname', 'readlink', 'dd', 'truncate', 'shred', 'sync',\r\n 'mktemp', 'install', 'xargs', 'tee', 'touch',\r\n // Editors\r\n 'vim', 'nvim', 'vi', 'nano', 'emacs', 'micro', 'helix', 'hx', 'pico', 'joe', 'ne', 'mcedit', 'code',\r\n 'subl', 'atom', 'gedit', 'kate', 'notepad', 'notepad++',\r\n // System / Process\r\n 'ps', 'kill', 'killall', 'htop', 'btop', 'free', 'df', 'du', 'whoami', 'su', 'sudo',\r\n 'nice', 'renice', 'nohup', 'timeout', 'strace', 'ltrace', 'pgrep', 'pkill', 'fuser', 'pstree',\r\n // Network\r\n 'curl', 'wget', 'ssh', 'scp', 'ping', 'telnet', 'nc', 'netstat', 'lsof', 'dig', 'nslookup', 'ip', 'ifconfig', 'traceroute',\r\n 'arp', 'route', 'ss', 'tcpdump', 'nmap', 'iptables', 'ip6tables', 'firewall-cmd', 'ufw',\r\n 'socat', 'rsync', 'ftp', 'sftp', 'sshfs', 'rclone', 'mtr', 'host', 'whois',\r\n // Build / Run (non-ambiguous)\r\n 'cmake', 'docker', 'docker-compose', 'kubectl', 'python', 'python3', 'ruby', 'perl', 'php', 'java', 'gcc', 'g++', 'clang',\r\n 'javac', 'dotnet', 'mono', 'swift', 'swiftc', 'kotlinc', 'scalac', 'elixir', 'mix', 'iex',\r\n // Shell / Subshells\r\n 'echo', 'env', 'cal', 'printenv',\r\n 'wsl', 'bash', 'sh', 'zsh', 'fish', 'powershell', 'pwsh', 'cmd',\r\n 'ksh', 'csh', 'tcsh', 'ash', 'dash',\r\n // Shell built-ins (critical additions)\r\n 'exit', 'logout', 'return', 'break', 'continue',\r\n 'alias', 'unalias', 'builtin', 'command',\r\n 'exec', 'eval', 'declare', 'local', 'readonly',\r\n 'enable', 'disable', 'ulimit', 'umask', 'trap',\r\n 'jobs', 'fg', 'bg', 'disown', 'suspend', 'times',\r\n 'pushd', 'popd', 'dirs', 'cd', 'pwd',\r\n 'fc', 'bind', 'complete', 'compgen', 'compopt', 'shopt',\r\n 'history', 'clear', 'reset', 'tput', 'stty',\r\n // Session/User management\r\n 'login', 'newgrp', 'groups', 'id', 'users', 'finger', 'w', 'who', 'last', 'lastlog',\r\n 'useradd', 'userdel', 'usermod', 'passwd', 'chpasswd',\r\n 'groupadd', 'groupdel', 'groupmod', 'adduser', 'deluser',\r\n // Archives\r\n 'tar', 'zip', 'unzip', 'gzip', 'gunzip', '7z', 'rar', 'bzip2', 'bunzip2', 'xz', 'unxz', 'zstd',\r\n // Search (non-ambiguous)\r\n 'grep', 'egrep', 'fgrep', 'locate', 'sed', 'awk', 'gawk', 'ack', 'ag', 'rg', 'fd', 'fzf',\r\n // Text processing\r\n 'tr', 'wc', 'nl', 'uniq', 'rev', 'tac', 'hexdump', 'xxd', 'od', 'strings',\r\n 'expand', 'unexpand', 'column', 'colrm', 'csplit', 'pr', 'tsort', 'comm',\r\n // Misc\r\n 'jq', 'yq', 'crontab', 'visudo', 'vipw', 'sudoedit', 'at', 'batch',\r\n // Cloud / DevOps\r\n 'aws', 'az', 'gcloud', 'terraform', 'ansible', 'ansible-playbook', 'kubectl', 'helm', 'vagrant',\r\n 'pulumi', 'cdk', 'sam', 'serverless', 'flyctl', 'heroku', 'vercel', 'netlify',\r\n // Database\r\n 'mysql', 'psql', 'mongo', 'mongod', 'mongosh', 'redis-cli', 'sqlite3', 'pg_dump', 'mysqldump',\r\n // Web / Security\r\n 'openssl', 'certbot', 'nginx', 'apache2', 'httpd', 'gpg', 'ssh-keygen', 'ssh-agent', 'ssh-add',\r\n // Language runtimes (non-ambiguous)\r\n 'node', 'deno', 'ts-node', 'tsx', 'esbuild', 'webpack', 'vite', 'rollup', 'parcel',\r\n 'jest', 'vitest', 'mocha', 'pytest', 'phpunit', 'rspec',\r\n // Go\r\n 'go', 'gofmt', 'golint', 'gopls',\r\n // Rust\r\n 'rustc', 'rustup', 'rustfmt', 'clippy',\r\n // System info\r\n 'uname', 'hostname', 'uptime', 'arch', 'nproc', 'lscpu', 'lsblk', 'lsusb', 'lspci',\r\n 'dmidecode', 'dmesg', 'sysctl', 'modprobe', 'lsmod', 'insmod', 'rmmod',\r\n // Services/Daemons\r\n 'systemctl', 'service', 'journalctl', 'loginctl', 'chkconfig', 'update-rc.d', 'launchctl',\r\n // Disk/Storage\r\n 'mount', 'umount', 'fdisk', 'parted', 'mkfs', 'fsck', 'blkid', 'findmnt', 'quota', 'hdparm',\r\n // Windows-specific commands\r\n 'dir', 'copy', 'move', 'del', 'ren', 'rename', 'attrib', 'cls', 'md', 'rd', 'rmdir',\r\n 'xcopy', 'robocopy', 'icacls', 'cacls', 'takeown',\r\n 'tasklist', 'taskkill', 'systeminfo', 'ipconfig', 'netsh', 'pathping',\r\n 'reg', 'regedit', 'schtasks', 'wmic', 'where', 'findstr', 'fc', 'comp',\r\n 'chkdsk', 'sfc', 'dism', 'bcdedit', 'diskpart', 'format', 'label', 'vol',\r\n 'net', 'netstat', 'nbtstat', 'klist', 'gpresult', 'gpupdate', 'shutdown', 'logoff',\r\n // PowerShell aliases that look like commands\r\n 'gci', 'gc', 'sl', 'gi', 'gm', 'gwmi', 'iwr', 'irm',\r\n // Date/Time\r\n 'timedatectl', 'hwclock', 'ntpdate', 'chronyc',\r\n // Containers/Virtualization\r\n 'podman', 'crictl', 'ctr', 'nerdctl', 'lxc', 'lxd', 'virsh', 'vboxmanage', 'multipass', 'lima',\r\n // Kubernetes ecosystem\r\n 'k9s', 'kubectx', 'kubens', 'kustomize', 'skaffold', 'minikube', 'kind', 'k3s', 'k3d',\r\n // Misc utilities\r\n 'xdg-open', 'open', 'wslpath', 'cygpath', 'explorer', 'start',\r\n 'yes', 'seq', 'factor', 'bc', 'dc', 'expr',\r\n 'sleep', 'usleep', 'watch',\r\n // Common CLI tools\r\n 'ffmpeg', 'ffprobe', 'convert', 'identify', 'magick', 'pandoc', 'latex', 'pdflatex', 'bibtex',\r\n 'youtube-dl', 'yt-dlp', 'aria2c', 'axel',\r\n]);\r\n\r\n// Shell built-ins that work standalone or with simple arguments (exit codes, etc.)\r\n// These get special handling for disambiguation\r\nconst SHELL_BUILTINS = new Set([\r\n 'exit', 'logout', 'return', 'break', 'continue',\r\n 'jobs', 'fg', 'bg', 'wait', 'disown', 'suspend',\r\n 'pushd', 'popd', 'dirs',\r\n 'history', 'fc',\r\n 'pwd', 'hash', 'help', 'true', 'false',\r\n 'env', 'printenv', 'export', 'set', 'unset',\r\n 'alias', 'unalias', 'type', 'command', 'builtin',\r\n 'clear', 'reset', 'cls',\r\n]);\r\n\r\n// Commands that can also be natural language words - need disambiguation\r\nconst AMBIGUOUS_COMMANDS = new Set([\r\n 'which', 'make', 'find', 'head', 'tail',\r\n 'test', 'run', 'start', 'stop', 'top', 'man',\r\n 'date', 'time', 'source', 'tree', 'sort',\r\n 'diff', 'patch', 'split', 'join', 'cut', 'paste', 'fold', 'fmt',\r\n 'look', 'spell', 'read', 'print', 'say', 'write',\r\n 'mount', 'watch', 'locate', 'ping', 'host'\r\n]);\r\n\r\n// Natural language keywords that strongly indicate AI intent\r\nconst AI_KEYWORDS = new Set([\r\n // Question words\r\n 'how', 'what', 'why', 'when', 'where', 'who', 'whose', 'whom',\r\n // Action requests\r\n 'write', 'create', 'generate', 'implement', 'scaffold', 'design',\r\n 'explain', 'describe', 'clarify', 'analyze', 'review', 'audit',\r\n 'fix', 'debug', 'solve', 'correct', 'repair',\r\n 'optimize', 'improve', 'refactor', 'format',\r\n 'verify', 'validate',\r\n 'translate', 'convert', 'transform',\r\n 'summarize', 'document', 'comment',\r\n 'add', 'update', 'change', 'modify', 'remove', 'delete',\r\n // Modal verbs indicating requests\r\n 'can', 'could', 'would', 'should', 'shall', 'might', 'must',\r\n // Greetings and polite markers\r\n 'hey', 'hi', 'hello', 'help', 'please', 'thanks', 'thank',\r\n // Contextual\r\n 'show', 'tell', 'give', 'list', 'provide', 'suggest', 'recommend'\r\n]);\r\n\r\n// Words that indicate natural language sentence structure\r\nconst NATURAL_LANGUAGE_MARKERS = new Set([\r\n // Articles\r\n 'a', 'an', 'the',\r\n // Pronouns\r\n 'i', 'me', 'my', 'mine', 'you', 'your', 'yours', 'he', 'she', 'it', 'we', 'they',\r\n 'this', 'that', 'these', 'those',\r\n // Prepositions commonly used in requests\r\n 'for', 'with', 'about', 'from', 'into', 'through', 'during', 'before', 'after',\r\n // Conjunctions\r\n 'and', 'but', 'or', 'so', 'because', 'if', 'then', 'while',\r\n // Common verbs in questions/requests\r\n 'is', 'are', 'was', 'were', 'be', 'been', 'being',\r\n 'do', 'does', 'did', 'doing', 'done',\r\n 'have', 'has', 'had', 'having',\r\n 'get', 'got', 'getting',\r\n // Adverbs\r\n 'here', 'there', 'now', 'just', 'also', 'only', 'even', 'still', 'already'\r\n]);\r\n\r\n// Known command + subcommand patterns (command followed by valid subcommand)\r\nconst COMMAND_SUBCOMMANDS: Map<string, Set<string>> = new Map([\r\n ['git', new Set(['add', 'commit', 'push', 'pull', 'clone', 'checkout', 'branch', 'merge', 'rebase', 'reset', 'stash', 'log', 'diff', 'status', 'init', 'remote', 'fetch', 'tag', 'show', 'rm', 'mv', 'bisect', 'blame', 'cherry-pick', 'revert', 'clean', 'gc', 'reflog', 'worktree', 'submodule', 'config', 'help', 'version'])],\r\n ['npm', new Set(['install', 'i', 'uninstall', 'un', 'update', 'up', 'run', 'start', 'test', 'build', 'init', 'publish', 'pack', 'link', 'unlink', 'ls', 'list', 'outdated', 'audit', 'cache', 'config', 'help', 'version', 'ci', 'exec', 'create', 'set-script', 'pkg', 'dedupe', 'prune', 'shrinkwrap', 'adduser', 'login', 'logout', 'whoami', 'token', 'owner', 'access', 'team', 'deprecate', 'unpublish', 'dist-tag', 'view', 'search', 'doctor', 'explain', 'find-dupes', 'fund', 'hook', 'org', 'ping', 'prefix', 'profile', 'rebuild', 'repo', 'root', 'star', 'stars', 'unstar', 'bugs', 'docs', 'edit', 'explore'])],\r\n ['yarn', new Set(['add', 'remove', 'install', 'run', 'start', 'test', 'build', 'init', 'publish', 'link', 'unlink', 'list', 'outdated', 'audit', 'cache', 'config', 'help', 'version', 'upgrade', 'upgrade-interactive', 'why', 'workspaces', 'set', 'create', 'dlx', 'pack', 'dedupe', 'info'])],\r\n ['pnpm', new Set(['add', 'remove', 'install', 'i', 'run', 'start', 'test', 'build', 'init', 'publish', 'link', 'unlink', 'list', 'ls', 'outdated', 'audit', 'store', 'config', 'help', 'version', 'update', 'up', 'why', 'dlx', 'create', 'exec', 'fetch', 'dedupe', 'patch', 'prune', 'rebuild'])],\r\n ['docker', new Set(['run', 'exec', 'build', 'pull', 'push', 'images', 'ps', 'stop', 'start', 'restart', 'rm', 'rmi', 'logs', 'inspect', 'network', 'volume', 'compose', 'system', 'container', 'image', 'login', 'logout', 'tag', 'save', 'load', 'export', 'import', 'commit', 'cp', 'create', 'diff', 'events', 'history', 'info', 'kill', 'pause', 'unpause', 'port', 'rename', 'stats', 'top', 'update', 'wait', 'attach', 'builder', 'buildx', 'config', 'context', 'manifest', 'plugin', 'search', 'secret', 'service', 'stack', 'swarm', 'trust', 'version'])],\r\n ['kubectl', new Set(['get', 'describe', 'create', 'apply', 'delete', 'edit', 'logs', 'exec', 'port-forward', 'proxy', 'run', 'expose', 'scale', 'rollout', 'set', 'explain', 'cluster-info', 'top', 'cordon', 'uncordon', 'drain', 'taint', 'label', 'annotate', 'config', 'cp', 'attach', 'auth', 'autoscale', 'certificate', 'completion', 'debug', 'diff', 'kustomize', 'patch', 'plugin', 'replace', 'version', 'wait', 'api-resources', 'api-versions'])],\r\n ['go', new Set(['build', 'run', 'test', 'get', 'install', 'mod', 'fmt', 'vet', 'generate', 'clean', 'env', 'version', 'list', 'work', 'doc', 'fix', 'tool', 'bug'])],\r\n ['cargo', new Set(['build', 'run', 'test', 'new', 'init', 'add', 'remove', 'update', 'search', 'publish', 'install', 'uninstall', 'check', 'bench', 'doc', 'clean', 'fetch', 'fix', 'fmt', 'clippy', 'tree', 'vendor', 'verify-project', 'version', 'yank', 'help', 'login', 'logout', 'owner', 'package', 'generate-lockfile', 'locate-project', 'metadata', 'pkgid', 'read-manifest', 'report'])],\r\n ['pip', new Set(['install', 'uninstall', 'download', 'freeze', 'list', 'show', 'search', 'wheel', 'hash', 'check', 'config', 'cache', 'index', 'debug', 'help', 'completion'])],\r\n ['pip3', new Set(['install', 'uninstall', 'download', 'freeze', 'list', 'show', 'search', 'wheel', 'hash', 'check', 'config', 'cache', 'index', 'debug', 'help', 'completion'])],\r\n ['aws', new Set(['s3', 'ec2', 'lambda', 'iam', 'rds', 'dynamodb', 'cloudformation', 'ecs', 'eks', 'sns', 'sqs', 'cloudwatch', 'route53', 'apigateway', 'cognito', 'secretsmanager', 'ssm', 'sts', 'configure', 'help'])],\r\n ['az', new Set(['login', 'logout', 'account', 'group', 'vm', 'storage', 'network', 'webapp', 'functionapp', 'aks', 'acr', 'sql', 'cosmosdb', 'keyvault', 'monitor', 'resource', 'role', 'ad', 'configure', 'help', 'version'])],\r\n ['gcloud', new Set(['auth', 'config', 'compute', 'container', 'functions', 'run', 'app', 'sql', 'storage', 'pubsub', 'iam', 'projects', 'services', 'builds', 'deploy', 'components', 'help', 'version', 'init', 'info'])],\r\n ['terraform', new Set(['init', 'plan', 'apply', 'destroy', 'validate', 'fmt', 'show', 'output', 'refresh', 'import', 'state', 'workspace', 'providers', 'graph', 'taint', 'untaint', 'console', 'force-unlock', 'get', 'login', 'logout', 'version', 'help'])],\r\n ['make', new Set(['all', 'build', 'clean', 'install', 'uninstall', 'test', 'check', 'dist', 'distclean', 'help'])],\r\n ['find', new Set([])], // find uses expressions, not subcommands\r\n ['which', new Set([])], // which doesn't have subcommands\r\n]);\r\n\r\n/**\r\n * Check if the input looks like a natural language sentence\r\n */\r\nfunction looksLikeNaturalLanguage(words: string[]): boolean {\r\n if (words.length < 2) return false;\r\n\r\n const lowerWords = words.map(w => w.toLowerCase());\r\n\r\n // Count natural language markers\r\n let markerCount = 0;\r\n for (const word of lowerWords) {\r\n if (NATURAL_LANGUAGE_MARKERS.has(word)) {\r\n markerCount++;\r\n }\r\n }\r\n\r\n // If more than 30% of words are natural language markers, it's likely natural language\r\n if (markerCount >= Math.ceil(words.length * 0.3)) {\r\n return true;\r\n }\r\n\r\n // Check for common natural language patterns\r\n // Pattern: verb + article (e.g., \"make a\", \"create the\", \"find the\")\r\n if (lowerWords.length >= 2 && ['a', 'an', 'the', 'me', 'my', 'some', 'any'].includes(lowerWords[1])) {\r\n return true;\r\n }\r\n\r\n // Pattern: question word + verb/article (e.g., \"which libraries have\")\r\n if (lowerWords.length >= 3 &&\r\n AMBIGUOUS_COMMANDS.has(lowerWords[0]) &&\r\n NATURAL_LANGUAGE_MARKERS.has(lowerWords[1])) {\r\n return true;\r\n }\r\n\r\n // Pattern: contains \"i\" as a word (pronoun)\r\n if (lowerWords.includes('i') && lowerWords.indexOf('i') > 0) {\r\n return true;\r\n }\r\n\r\n // Pattern: long phrase with multiple natural language markers scattered\r\n if (words.length >= 4 && markerCount >= 2) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Check if input has strong command syntax indicators\r\n */\r\nfunction hasCommandSyntax(input: string, words: string[]): boolean {\r\n const trimmed = input.trim();\r\n const firstWord = words[0]?.toLowerCase() || '';\r\n\r\n // Flags: -f, --flag (must be preceded by space or at position 2+)\r\n const hasFlags = /\\s-[a-zA-Z]|\\s--[a-zA-Z]/.test(input) ||\r\n (words.length >= 2 && /^-[a-zA-Z]/.test(words[1]));\r\n\r\n // Operators: |, >, >>, <, &&, ||, ;\r\n const hasOperators = /(\\s\\|\\s)|(\\s>\\s)|(\\s>>\\s)|(\\s<\\s)|(\\s&&\\s)|(\\s\\|\\|\\s)|(;)/.test(input);\r\n\r\n // Variable assignment: VAR=val (at start or after space)\r\n const hasVarAssign = /^[a-zA-Z_][a-zA-Z0-9_]*=[^ ]/.test(input) || /\\s[a-zA-Z_][a-zA-Z0-9_]*=[^ ]/.test(input);\r\n\r\n // Quoted arguments that look like command arguments (e.g., -m \"message\")\r\n const hasQuotedWithFlag = /\\s-[a-zA-Z]+\\s+[\"']/.test(input) || /\\s--[a-zA-Z-]+[=\\s]+[\"']/.test(input);\r\n\r\n // Path patterns (absolute paths or ./ or ../)\r\n const hasPathPattern = /^[.~]?\\/|^\\.\\.\\/|\\s[.~]?\\/|\\s\\.\\.\\//.test(input);\r\n\r\n // Windows path patterns (C:\\, D:\\, etc.)\r\n const hasWindowsPath = /^[a-zA-Z]:\\\\|\\\\s[a-zA-Z]:\\\\/.test(input);\r\n\r\n // Redirect to/from file\r\n const hasFileRedirect = /[<>]\\s*[a-zA-Z0-9_./-]+/.test(input);\r\n\r\n // Environment variable usage\r\n const hasEnvVar = /\\$[a-zA-Z_][a-zA-Z0-9_]*|\\$\\{[^}]+\\}|%[a-zA-Z_][a-zA-Z0-9_]*%/.test(input);\r\n\r\n // Shell built-in patterns:\r\n\r\n // Exit/return with numeric code: exit 0, exit 1, return 0, return 1\r\n const hasExitCode = /^(exit|return|break|continue)\\s+\\d+$/.test(trimmed);\r\n\r\n // Background job: command &\r\n const hasBackgroundJob = /\\s*&\\s*$/.test(trimmed);\r\n\r\n // Command chaining: cmd1; cmd2\r\n const hasCommandChain = /;\\s*[a-zA-Z]/.test(input);\r\n\r\n // Command substitution: $(cmd) or `cmd`\r\n const hasCommandSubstitution = /\\$\\([^)]+\\)|`[^`]+`/.test(input);\r\n\r\n // Job control: %1, %2, etc.\r\n const hasJobReference = /^(fg|bg|jobs|kill|disown)\\s+%?\\d+$/.test(trimmed);\r\n\r\n // pushd/popd with path or +N/-N\r\n const hasDirStackOp = /^(pushd|popd)\\s+([+\\-]\\d+|[\\/~.])/.test(trimmed);\r\n\r\n // history with number: history 10, history -c, history -d 5\r\n const hasHistoryOp = /^history\\s+(-[a-z]|\\d+)/.test(trimmed);\r\n\r\n // alias definition: alias name='...' or alias name=\"...\"\r\n const hasAliasDefinition = /^alias\\s+[a-zA-Z_][a-zA-Z0-9_]*=/.test(trimmed);\r\n\r\n // export with assignment: export VAR=value\r\n const hasExportAssign = /^export\\s+[A-Z_][A-Z0-9_]*=/.test(trimmed);\r\n\r\n // cd with path or special: cd -, cd ~, cd ..\r\n const hasCdPath = /^cd\\s+[\\/~.\\-]/.test(trimmed);\r\n\r\n // Check for known command + subcommand pattern\r\n if (words.length >= 2) {\r\n const secondWord = words[1].toLowerCase();\r\n const subcommands = COMMAND_SUBCOMMANDS.get(firstWord);\r\n if (subcommands && subcommands.has(secondWord)) {\r\n return true;\r\n }\r\n }\r\n\r\n // Shell built-in as single word is always a command\r\n if (words.length === 1 && SHELL_BUILTINS.has(firstWord)) {\r\n return true;\r\n }\r\n\r\n return hasFlags || hasOperators || hasVarAssign || hasQuotedWithFlag ||\r\n hasPathPattern || hasWindowsPath || hasFileRedirect || hasEnvVar ||\r\n hasExitCode || hasBackgroundJob || hasCommandChain || hasCommandSubstitution ||\r\n hasJobReference || hasDirStackOp || hasHistoryOp || hasAliasDefinition ||\r\n hasExportAssign || hasCdPath;\r\n}\r\n\r\n/**\r\n * Disambiguate ambiguous commands based on context\r\n */\r\nfunction disambiguateCommand(input: string, words: string[]): InputIntent {\r\n const firstWord = words[0].toLowerCase();\r\n\r\n // If it has command syntax, it's definitely a command\r\n if (hasCommandSyntax(input, words)) {\r\n return 'command';\r\n }\r\n\r\n // If it looks like natural language, it's AI\r\n if (looksLikeNaturalLanguage(words)) {\r\n return 'ai';\r\n }\r\n\r\n // Special case for 'make' - check for Makefile targets vs natural language\r\n if (firstWord === 'make') {\r\n // \"make build\", \"make clean\", \"make all\" - valid Makefile targets\r\n const makeSubcommands = COMMAND_SUBCOMMANDS.get('make');\r\n if (words.length >= 2 && makeSubcommands?.has(words[1].toLowerCase())) {\r\n return 'command';\r\n }\r\n // \"make something\" where something is a single word could be a target\r\n if (words.length === 2 && /^[a-z0-9_-]+$/i.test(words[1])) {\r\n return 'command';\r\n }\r\n // Otherwise, likely natural language (\"make it work\", \"make a file\")\r\n return 'ai';\r\n }\r\n\r\n // Special case for 'which' - almost always a command when alone or with one arg\r\n if (firstWord === 'which') {\r\n // \"which node\" - valid command\r\n if (words.length === 2 && /^[a-z0-9_.-]+$/i.test(words[1])) {\r\n return 'command';\r\n }\r\n // \"which libraries have I used\" - natural language\r\n if (words.length > 2) {\r\n return 'ai';\r\n }\r\n }\r\n\r\n // Special case for 'find' - needs path or expression flags\r\n if (firstWord === 'find') {\r\n // \"find . -name\" or \"find /path\" - command\r\n if (words.length >= 2 && (words[1].startsWith('.') || words[1].startsWith('/') || words[1].startsWith('-'))) {\r\n return 'command';\r\n }\r\n // \"find all bugs\" - natural language\r\n if (words.length > 2) {\r\n return 'ai';\r\n }\r\n }\r\n\r\n // Special case for 'export' - needs assignment\r\n if (firstWord === 'export') {\r\n // \"export VAR=value\" or \"export PATH\" - command\r\n if (words.length >= 2 && /^[A-Z_][A-Z0-9_]*/.test(words[1])) {\r\n return 'command';\r\n }\r\n // \"export the data\" - natural language\r\n return 'ai';\r\n }\r\n\r\n // Special case for 'run', 'start', 'stop', 'test'\r\n if (['run', 'start', 'stop', 'test'].includes(firstWord)) {\r\n // These are more often natural language unless they have specific patterns\r\n // \"run npm install\" - could be shorthand for script runner\r\n // \"run this code\" - natural language\r\n // \"start the server\" - ambiguous but likely natural language\r\n // \"test the api\" - natural language\r\n if (words.length >= 2) {\r\n // If followed by a known command, treat as command\r\n if (DEFINITE_COMMANDS.has(words[1].toLowerCase())) {\r\n return 'command';\r\n }\r\n // If followed by natural language markers, treat as AI\r\n if (NATURAL_LANGUAGE_MARKERS.has(words[1].toLowerCase())) {\r\n return 'ai';\r\n }\r\n }\r\n // Default to AI for these ambiguous words\r\n return 'ai';\r\n }\r\n\r\n // For other ambiguous commands:\r\n // Single word - could be a command, but safer to default to command (can be overridden)\r\n if (words.length === 1) {\r\n return 'command';\r\n }\r\n\r\n // Two words where second is a simple identifier - likely command\r\n if (words.length === 2 && /^[a-z0-9_.-]+$/i.test(words[1]) && !NATURAL_LANGUAGE_MARKERS.has(words[1].toLowerCase())) {\r\n return 'command';\r\n }\r\n\r\n // Default to AI for multi-word ambiguous commands\r\n return 'ai';\r\n}\r\n\r\n/**\r\n * Detects the intent of the user input using intelligent heuristics.\r\n * \r\n * Logic Priority:\r\n * 1. Slash Commands: If starts with '/', check if valid command -> AI\r\n * 2. Prefixes: '?' -> AI, '.', '/', '$', '~' -> Command\r\n * 3. Strong AI Indicators: Question marks, AI keywords\r\n * 4. Strong Command Syntax: Flags, pipes, redirects, quotes, env vars\r\n * 5. Definite Commands: Known command binaries that aren't ambiguous\r\n * 6. Ambiguous Command Disambiguation: Context-aware analysis\r\n * 7. Natural Language Detection: Sentence structure analysis\r\n * 8. Fallback: Multi-word without command syntax -> AI\r\n * \r\n * @param input The user input string\r\n * @returns 'command' | 'ai'\r\n */\r\nexport function detectIntent(input: string): InputIntent {\r\n const trimmed = input.trim();\r\n\r\n if (!trimmed) {\r\n return 'ai'; // Default to AI for empty/whitespace\r\n }\r\n\r\n // Check 0 - Slash Commands (Highest Priority)\r\n if (trimmed.startsWith('/')) {\r\n // Extract command name (remove '/' and take first word)\r\n const commandName = trimmed.slice(1).split(/\\s+/)[0].toLowerCase();\r\n if (SLASH_COMMANDS.has(commandName)) {\r\n return 'ai';\r\n }\r\n // If starts with '/' but not a valid slash command, assume it's a path -> Command\r\n return 'command';\r\n }\r\n\r\n // Check 1 - Explicit Prefixes\r\n if (trimmed.startsWith('?')) return 'ai';\r\n if (trimmed.startsWith('.') || trimmed.startsWith('$') || trimmed.startsWith('~')) return 'command';\r\n\r\n // Parse words for analysis\r\n const words = trimmed.split(/\\s+/);\r\n const firstWord = words[0].toLowerCase();\r\n\r\n // Check 2 - Strong AI Indicators (check BEFORE command matching)\r\n const isQuestion = trimmed.endsWith('?');\r\n const startsWithAIKeyword = AI_KEYWORDS.has(firstWord);\r\n\r\n if (startsWithAIKeyword) {\r\n // If starts with AI keyword, it's almost always AI\r\n // Exception: if it has strong command syntax, it might still be a command\r\n if (!hasCommandSyntax(trimmed, words)) {\r\n return 'ai';\r\n }\r\n }\r\n\r\n if (isQuestion) {\r\n // Questions are almost always AI\r\n // Exception: rare case of command with ? (like \"ls ?*.txt\" - but this is uncommon)\r\n if (!hasCommandSyntax(trimmed, words)) {\r\n return 'ai';\r\n }\r\n }\r\n\r\n // Check 3 - Strong Command Syntax (before command name matching)\r\n if (hasCommandSyntax(trimmed, words)) {\r\n return 'command';\r\n }\r\n\r\n // Check 4 - Definite Commands (non-ambiguous command names)\r\n if (DEFINITE_COMMANDS.has(firstWord)) {\r\n // Special handling for shell built-ins that might be followed by natural language\r\n // e.g., \"exit\" is a command, but \"exit the application\" is AI\r\n if (SHELL_BUILTINS.has(firstWord) && words.length > 1) {\r\n // Check if followed by natural language markers\r\n const secondWord = words[1].toLowerCase();\r\n if (NATURAL_LANGUAGE_MARKERS.has(secondWord)) {\r\n return 'ai';\r\n }\r\n // Check for \"exit/clear/history the ...\" pattern\r\n if (['the', 'this', 'that', 'my', 'your', 'our', 'all'].includes(secondWord)) {\r\n return 'ai';\r\n }\r\n }\r\n return 'command';\r\n }\r\n\r\n // Check 4.5 - Custom Commands (user-defined terminal commands)\r\n // Load custom commands synchronously for fast detection\r\n const customCommandsManager = CustomCommandsManager.getInstance();\r\n customCommandsManager.loadSync();\r\n if (customCommandsManager.hasCommand(firstWord)) {\r\n return 'command';\r\n }\r\n\r\n // Check 5 - Ambiguous Commands (need disambiguation)\r\n if (AMBIGUOUS_COMMANDS.has(firstWord)) {\r\n return disambiguateCommand(trimmed, words);\r\n }\r\n\r\n // Check 6 - Path-like strings\r\n // If it contains slashes and no spaces, it might be a path execution\r\n if ((trimmed.includes('/') || trimmed.includes('\\\\')) && !trimmed.includes(' ')) {\r\n return 'command';\r\n }\r\n\r\n // Check 7 - Natural Language Detection for unknown first words\r\n if (looksLikeNaturalLanguage(words)) {\r\n return 'ai';\r\n }\r\n\r\n // Check 8 - Fallback Heuristics\r\n\r\n // If it's a single word and NOT a known command/keyword:\r\n if (words.length === 1) {\r\n if (trimmed.includes('.')) return 'command'; // script.sh, main.py\r\n // Unknown single word - default to AI (safer for chat)\r\n return 'ai';\r\n }\r\n\r\n // Multiple words, no flags, no operators, no keywords, not natural language pattern\r\n // This is truly ambiguous - default to AI (safer for chat assistant)\r\n return 'ai';\r\n}\r\n"],"mappings":"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","names":[]}
@@ -1,87 +1,62 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import * as os from 'os';
4
- // Import build config - values frozen at compile time for security
5
- // SECURITY: This prevents malicious .env files from overriding production settings
6
- import { IS_DEV_BUILD } from '../config/build-config.js';
7
- /**
8
- * Get the log file path based on build mode (determined at compile time).
9
- * - In development builds: logs are written to the current directory
10
- * - In production builds: logs are written to ~/.centaurus/
11
- */
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ import * as os from "os";
4
+ import { IS_DEV_BUILD } from "../config/build-config.js";
12
5
  function getLogFilePath() {
13
- if (IS_DEV_BUILD) {
14
- // Development mode: log in the current directory
15
- return path.join(process.cwd(), 'centaurus-cli.log');
16
- }
17
- else {
18
- // Production mode: log in the .centaurus directory
19
- const configDir = path.join(os.homedir(), '.centaurus');
20
- // Ensure directory exists
21
- if (!fs.existsSync(configDir)) {
22
- try {
23
- fs.mkdirSync(configDir, { recursive: true });
24
- }
25
- catch (e) {
26
- // Fall back to current directory if we can't create the config dir
27
- return path.join(process.cwd(), 'centaurus-cli.log');
28
- }
29
- }
30
- return path.join(configDir, 'centaurus-cli.log');
6
+ if (IS_DEV_BUILD) {
7
+ return path.join(process.cwd(), "centaurus-cli.log");
8
+ } else {
9
+ const configDir = path.join(os.homedir(), ".centaurus");
10
+ if (!fs.existsSync(configDir)) {
11
+ try {
12
+ fs.mkdirSync(configDir, { recursive: true });
13
+ } catch (e) {
14
+ return path.join(process.cwd(), "centaurus-cli.log");
15
+ }
31
16
  }
17
+ return path.join(configDir, "centaurus-cli.log");
18
+ }
32
19
  }
33
20
  const LOG_FILE = getLogFilePath();
34
- /**
35
- * Format a log entry with timestamp and level
36
- */
37
21
  function formatLogEntry(level, message, error) {
38
- const timestamp = new Date().toISOString();
39
- let entry = `[${timestamp}] [${level}] ${message}`;
40
- if (error) {
41
- entry += `\n Error: ${error.message}`;
42
- if (error.stack) {
43
- entry += `\n Stack: ${error.stack}`;
44
- }
22
+ const timestamp = (/* @__PURE__ */ new Date()).toISOString();
23
+ let entry = `[${timestamp}] [${level}] ${message}`;
24
+ if (error) {
25
+ entry += `
26
+ Error: ${error.message}`;
27
+ if (error.stack) {
28
+ entry += `
29
+ Stack: ${error.stack}`;
45
30
  }
46
- return entry + '\n';
31
+ }
32
+ return entry + "\n";
47
33
  }
48
- /**
49
- * Write to log file (synchronous to ensure it completes before exit)
50
- */
51
34
  function writeToLog(entry) {
52
- try {
53
- fs.appendFileSync(LOG_FILE, entry, 'utf8');
54
- }
55
- catch (error) {
56
- // If we can't write to log, fail silently - don't use console in Ink app
57
- }
35
+ try {
36
+ fs.appendFileSync(LOG_FILE, entry, "utf8");
37
+ } catch (error) {
38
+ }
58
39
  }
59
- /**
60
- * Log informational message
61
- */
62
- export function logInfo(message) {
63
- const entry = formatLogEntry('INFO', message);
64
- writeToLog(entry);
40
+ function logInfo(message) {
41
+ const entry = formatLogEntry("INFO", message);
42
+ writeToLog(entry);
65
43
  }
66
- /**
67
- * Log error with optional Error object
68
- */
69
- export function logError(message, error) {
70
- const entry = formatLogEntry('ERROR', message, error);
71
- writeToLog(entry);
44
+ function logError(message, error) {
45
+ const entry = formatLogEntry("ERROR", message, error);
46
+ writeToLog(entry);
72
47
  }
73
- /**
74
- * Log debug information
75
- */
76
- export function logDebug(message) {
77
- const entry = formatLogEntry('DEBUG', message);
78
- writeToLog(entry);
48
+ function logDebug(message) {
49
+ const entry = formatLogEntry("DEBUG", message);
50
+ writeToLog(entry);
79
51
  }
80
- /**
81
- * Log warning
82
- */
83
- export function logWarning(message) {
84
- const entry = formatLogEntry('WARNING', message);
85
- writeToLog(entry);
52
+ function logWarning(message) {
53
+ const entry = formatLogEntry("WARNING", message);
54
+ writeToLog(entry);
86
55
  }
56
+ export {
57
+ logDebug,
58
+ logError,
59
+ logInfo,
60
+ logWarning
61
+ };
87
62
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,mEAAmE;AACnE,mFAAmF;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;GAIG;AACH,SAAS,cAAc;IACrB,IAAI,YAAY,EAAE,CAAC;QACjB,iDAAiD;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;QACxD,0BAA0B;QAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,mEAAmE;gBACnE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;AAElC;;GAEG;AACH,SAAS,cAAc,CAAC,KAAa,EAAE,OAAe,EAAE,KAAa;IACnE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,KAAK,GAAG,IAAI,SAAS,MAAM,KAAK,KAAK,OAAO,EAAE,CAAC;IAEnD,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,IAAI,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,cAAc,KAAK,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,GAAG,IAAI,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC;QACH,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAa;IACrD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"sources":["../../src/utils/logger.ts"],"sourcesContent":["import * as fs from 'fs';\r\nimport * as path from 'path';\r\nimport * as os from 'os';\r\n\r\n// Import build config - values frozen at compile time for security\r\n// SECURITY: This prevents malicious .env files from overriding production settings\r\nimport { IS_DEV_BUILD } from '../config/build-config.js';\r\n\r\n/**\r\n * Get the log file path based on build mode (determined at compile time).\r\n * - In development builds: logs are written to the current directory\r\n * - In production builds: logs are written to ~/.centaurus/\r\n */\r\nfunction getLogFilePath(): string {\r\n if (IS_DEV_BUILD) {\r\n // Development mode: log in the current directory\r\n return path.join(process.cwd(), 'centaurus-cli.log');\r\n } else {\r\n // Production mode: log in the .centaurus directory\r\n const configDir = path.join(os.homedir(), '.centaurus');\r\n // Ensure directory exists\r\n if (!fs.existsSync(configDir)) {\r\n try {\r\n fs.mkdirSync(configDir, { recursive: true });\r\n } catch (e) {\r\n // Fall back to current directory if we can't create the config dir\r\n return path.join(process.cwd(), 'centaurus-cli.log');\r\n }\r\n }\r\n return path.join(configDir, 'centaurus-cli.log');\r\n }\r\n}\r\n\r\nconst LOG_FILE = getLogFilePath();\r\n\r\n/**\r\n * Format a log entry with timestamp and level\r\n */\r\nfunction formatLogEntry(level: string, message: string, error?: Error): string {\r\n const timestamp = new Date().toISOString();\r\n let entry = `[${timestamp}] [${level}] ${message}`;\r\n\r\n if (error) {\r\n entry += `\\n Error: ${error.message}`;\r\n if (error.stack) {\r\n entry += `\\n Stack: ${error.stack}`;\r\n }\r\n }\r\n\r\n return entry + '\\n';\r\n}\r\n\r\n/**\r\n * Write to log file (synchronous to ensure it completes before exit)\r\n */\r\nfunction writeToLog(entry: string): void {\r\n try {\r\n fs.appendFileSync(LOG_FILE, entry, 'utf8');\r\n } catch (error) {\r\n // If we can't write to log, fail silently - don't use console in Ink app\r\n }\r\n}\r\n\r\n/**\r\n * Log informational message\r\n */\r\nexport function logInfo(message: string): void {\r\n const entry = formatLogEntry('INFO', message);\r\n writeToLog(entry);\r\n}\r\n\r\n/**\r\n * Log error with optional Error object\r\n */\r\nexport function logError(message: string, error?: Error): void {\r\n const entry = formatLogEntry('ERROR', message, error);\r\n writeToLog(entry);\r\n}\r\n\r\n/**\r\n * Log debug information\r\n */\r\nexport function logDebug(message: string): void {\r\n const entry = formatLogEntry('DEBUG', message);\r\n writeToLog(entry);\r\n}\r\n\r\n/**\r\n * Log warning\r\n */\r\nexport function logWarning(message: string): void {\r\n const entry = formatLogEntry('WARNING', message);\r\n writeToLog(entry);\r\n}\r\n"],"mappings":"AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,QAAQ;AAIpB,SAAS,oBAAoB;AAO7B,SAAS,iBAAyB;AAChC,MAAI,cAAc;AAEhB,WAAO,KAAK,KAAK,QAAQ,IAAI,GAAG,mBAAmB;AAAA,EACrD,OAAO;AAEL,UAAM,YAAY,KAAK,KAAK,GAAG,QAAQ,GAAG,YAAY;AAEtD,QAAI,CAAC,GAAG,WAAW,SAAS,GAAG;AAC7B,UAAI;AACF,WAAG,UAAU,WAAW,EAAE,WAAW,KAAK,CAAC;AAAA,MAC7C,SAAS,GAAG;AAEV,eAAO,KAAK,KAAK,QAAQ,IAAI,GAAG,mBAAmB;AAAA,MACrD;AAAA,IACF;AACA,WAAO,KAAK,KAAK,WAAW,mBAAmB;AAAA,EACjD;AACF;AAEA,MAAM,WAAW,eAAe;AAKhC,SAAS,eAAe,OAAe,SAAiB,OAAuB;AAC7E,QAAM,aAAY,oBAAI,KAAK,GAAE,YAAY;AACzC,MAAI,QAAQ,IAAI,SAAS,MAAM,KAAK,KAAK,OAAO;AAEhD,MAAI,OAAO;AACT,aAAS;AAAA,WAAc,MAAM,OAAO;AACpC,QAAI,MAAM,OAAO;AACf,eAAS;AAAA,WAAc,MAAM,KAAK;AAAA,IACpC;AAAA,EACF;AAEA,SAAO,QAAQ;AACjB;AAKA,SAAS,WAAW,OAAqB;AACvC,MAAI;AACF,OAAG,eAAe,UAAU,OAAO,MAAM;AAAA,EAC3C,SAAS,OAAO;AAAA,EAEhB;AACF;AAKO,SAAS,QAAQ,SAAuB;AAC7C,QAAM,QAAQ,eAAe,QAAQ,OAAO;AAC5C,aAAW,KAAK;AAClB;AAKO,SAAS,SAAS,SAAiB,OAAqB;AAC7D,QAAM,QAAQ,eAAe,SAAS,SAAS,KAAK;AACpD,aAAW,KAAK;AAClB;AAKO,SAAS,SAAS,SAAuB;AAC9C,QAAM,QAAQ,eAAe,SAAS,OAAO;AAC7C,aAAW,KAAK;AAClB;AAKO,SAAS,WAAW,SAAuB;AAChD,QAAM,QAAQ,eAAe,WAAW,OAAO;AAC/C,aAAW,KAAK;AAClB;","names":[]}