centaurus-cli 3.0.0 → 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 -5037
  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 +1513 -973
  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 +605 -537
  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 -400
  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 -3249
  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 -511
  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 -167
  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,337 +1,305 @@
1
- /**
2
- * Conversation Logger
3
- *
4
- * Comprehensive logging utility for AI conversation debugging.
5
- * Logs all messages, tool calls, thoughts, and feedback to help
6
- * debug issues like hallucination, looping, or getting stuck.
7
- */
8
- import * as fs from 'fs';
9
- import * as path from 'path';
10
- import * as os from 'os';
11
- // Import build config - values frozen at compile time for security
12
- // SECURITY: This prevents malicious .env files from overriding production settings
13
- import { IS_DEV_BUILD } from '../config/build-config.js';
14
- /**
15
- * Get the log file path based on build mode (determined at compile time).
16
- * - In development builds: logs are written to the current directory
17
- * - In production builds: logs are written to ~/.centaurus/
18
- */
19
- export function getConversationLogFilePath(filename = 'cli_frontend_logs.txt') {
20
- if (IS_DEV_BUILD) {
21
- // Development mode: log in the current directory
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";
5
+ function getConversationLogFilePath(filename = "cli_frontend_logs.txt") {
6
+ if (IS_DEV_BUILD) {
7
+ return filename;
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) {
22
14
  return filename;
15
+ }
23
16
  }
24
- else {
25
- // Production mode: log in the .centaurus directory
26
- const configDir = path.join(os.homedir(), '.centaurus');
27
- // Ensure directory exists
28
- if (!fs.existsSync(configDir)) {
29
- try {
30
- fs.mkdirSync(configDir, { recursive: true });
31
- }
32
- catch (e) {
33
- // Fall back to current directory if we can't create the config dir
34
- return filename;
35
- }
36
- }
37
- return path.join(configDir, filename);
38
- }
17
+ return path.join(configDir, filename);
18
+ }
39
19
  }
40
- // Cached log file path to avoid repeated lookups
41
20
  let _cachedLogPath = null;
42
- /**
43
- * Get the cached log file path (caches on first call for performance)
44
- */
45
- export function getCachedLogFilePath() {
46
- if (_cachedLogPath === null) {
47
- _cachedLogPath = getConversationLogFilePath();
48
- }
49
- return _cachedLogPath;
21
+ function getCachedLogFilePath() {
22
+ if (_cachedLogPath === null) {
23
+ _cachedLogPath = getConversationLogFilePath();
24
+ }
25
+ return _cachedLogPath;
50
26
  }
51
- /**
52
- * Quick log function for direct logging without using the ConversationLogger class.
53
- * This should be used instead of direct fs.appendFileSync calls.
54
- */
55
- export function quickLog(message) {
56
- try {
57
- fs.appendFileSync(getCachedLogFilePath(), message);
58
- }
59
- catch (e) {
60
- // Silently fail if we can't write logs
61
- }
27
+ function quickLog(message) {
28
+ try {
29
+ fs.appendFileSync(getCachedLogFilePath(), message);
30
+ } catch (e) {
31
+ }
62
32
  }
63
- // Log levels
64
- export var LogLevel;
65
- (function (LogLevel) {
66
- LogLevel["DEBUG"] = "DEBUG";
67
- LogLevel["INFO"] = "INFO";
68
- LogLevel["WARN"] = "WARN";
69
- LogLevel["ERROR"] = "ERROR";
70
- })(LogLevel || (LogLevel = {}));
71
- // Log categories for filtering
72
- export var LogCategory;
73
- (function (LogCategory) {
74
- LogCategory["SESSION"] = "SESSION";
75
- LogCategory["USER_MSG"] = "USER_MSG";
76
- LogCategory["AI_TEXT"] = "AI_TEXT";
77
- LogCategory["THOUGHT"] = "THOUGHT";
78
- LogCategory["TOOL_CALL"] = "TOOL_CALL";
79
- LogCategory["TOOL_EXEC"] = "TOOL_EXEC";
80
- LogCategory["TOOL_RESULT"] = "TOOL_RESULT";
81
- LogCategory["LOOP"] = "LOOP";
82
- LogCategory["NARRATION"] = "NARRATION";
83
- LogCategory["ERROR"] = "ERROR";
84
- LogCategory["SYSTEM"] = "SYSTEM";
85
- })(LogCategory || (LogCategory = {}));
86
- /**
87
- * ConversationLogger class for structured conversation logging
88
- */
89
- export class ConversationLogger {
90
- logFilePath;
91
- sessionId = '';
92
- currentTurn = 0;
93
- accumulatedThought = '';
94
- accumulatedAIText = '';
95
- enabled = true;
96
- constructor(logFilePath) {
97
- this.logFilePath = getConversationLogFilePath(logFilePath || 'cli_frontend_logs.txt');
98
- }
99
- /**
100
- * Enable or disable logging
101
- */
102
- setEnabled(enabled) {
103
- this.enabled = enabled;
104
- }
105
- /**
106
- * Start a new conversation session
107
- */
108
- startSession() {
109
- // Generate a short session ID
110
- this.sessionId = `sess_${Date.now().toString(36)}`;
111
- this.currentTurn = 0;
112
- this.accumulatedThought = '';
113
- this.accumulatedAIText = '';
114
- this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
115
- this.log(LogLevel.INFO, LogCategory.SESSION, `NEW CONVERSATION SESSION STARTED`);
116
- this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
117
- }
118
- /**
119
- * Log a user message
120
- */
121
- logUserMessage(message) {
122
- this.log(LogLevel.INFO, LogCategory.USER_MSG, 'User message received', {
123
- content: message,
124
- length: message.length,
125
- });
126
- }
127
- /**
128
- * Log AI text chunk (streaming)
129
- */
130
- logAITextChunk(chunk) {
131
- this.accumulatedAIText += chunk;
132
- this.log(LogLevel.DEBUG, LogCategory.AI_TEXT, 'AI text chunk received', {
133
- chunkLength: chunk.length,
134
- totalLength: this.accumulatedAIText.length,
135
- chunk: chunk.substring(0, 200) + (chunk.length > 200 ? '...' : ''),
136
- });
137
- }
138
- /**
139
- * Log completed AI text response
140
- */
141
- logAITextComplete() {
142
- if (this.accumulatedAIText) {
143
- this.log(LogLevel.INFO, LogCategory.AI_TEXT, 'AI text response complete', {
144
- totalLength: this.accumulatedAIText.length,
145
- preview: this.accumulatedAIText.substring(0, 500) + (this.accumulatedAIText.length > 500 ? '...' : ''),
146
- fullContent: this.accumulatedAIText,
147
- });
148
- }
149
- this.accumulatedAIText = '';
150
- }
151
- /**
152
- * Log thought chunk (streaming)
153
- */
154
- logThoughtChunk(thought) {
155
- this.accumulatedThought += thought;
156
- this.log(LogLevel.DEBUG, LogCategory.THOUGHT, 'Thought chunk received', {
157
- chunkLength: thought.length,
158
- totalLength: this.accumulatedThought.length,
159
- chunk: thought.substring(0, 200) + (thought.length > 200 ? '...' : ''),
160
- });
33
+ var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
34
+ LogLevel2["DEBUG"] = "DEBUG";
35
+ LogLevel2["INFO"] = "INFO";
36
+ LogLevel2["WARN"] = "WARN";
37
+ LogLevel2["ERROR"] = "ERROR";
38
+ return LogLevel2;
39
+ })(LogLevel || {});
40
+ var LogCategory = /* @__PURE__ */ ((LogCategory2) => {
41
+ LogCategory2["SESSION"] = "SESSION";
42
+ LogCategory2["USER_MSG"] = "USER_MSG";
43
+ LogCategory2["AI_TEXT"] = "AI_TEXT";
44
+ LogCategory2["THOUGHT"] = "THOUGHT";
45
+ LogCategory2["TOOL_CALL"] = "TOOL_CALL";
46
+ LogCategory2["TOOL_EXEC"] = "TOOL_EXEC";
47
+ LogCategory2["TOOL_RESULT"] = "TOOL_RESULT";
48
+ LogCategory2["LOOP"] = "LOOP";
49
+ LogCategory2["NARRATION"] = "NARRATION";
50
+ LogCategory2["ERROR"] = "ERROR";
51
+ LogCategory2["SYSTEM"] = "SYSTEM";
52
+ return LogCategory2;
53
+ })(LogCategory || {});
54
+ class ConversationLogger {
55
+ logFilePath;
56
+ sessionId = "";
57
+ currentTurn = 0;
58
+ accumulatedThought = "";
59
+ accumulatedAIText = "";
60
+ enabled = true;
61
+ constructor(logFilePath) {
62
+ this.logFilePath = getConversationLogFilePath(logFilePath || "cli_frontend_logs.txt");
63
+ }
64
+ /**
65
+ * Enable or disable logging
66
+ */
67
+ setEnabled(enabled) {
68
+ this.enabled = enabled;
69
+ }
70
+ /**
71
+ * Start a new conversation session
72
+ */
73
+ startSession() {
74
+ this.sessionId = `sess_${Date.now().toString(36)}`;
75
+ this.currentTurn = 0;
76
+ this.accumulatedThought = "";
77
+ this.accumulatedAIText = "";
78
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, "\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
79
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, `NEW CONVERSATION SESSION STARTED`);
80
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, "\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
81
+ }
82
+ /**
83
+ * Log a user message
84
+ */
85
+ logUserMessage(message) {
86
+ this.log("INFO" /* INFO */, "USER_MSG" /* USER_MSG */, "User message received", {
87
+ content: message,
88
+ length: message.length
89
+ });
90
+ }
91
+ /**
92
+ * Log AI text chunk (streaming)
93
+ */
94
+ logAITextChunk(chunk) {
95
+ this.accumulatedAIText += chunk;
96
+ this.log("DEBUG" /* DEBUG */, "AI_TEXT" /* AI_TEXT */, "AI text chunk received", {
97
+ chunkLength: chunk.length,
98
+ totalLength: this.accumulatedAIText.length,
99
+ chunk: chunk.substring(0, 200) + (chunk.length > 200 ? "..." : "")
100
+ });
101
+ }
102
+ /**
103
+ * Log completed AI text response
104
+ */
105
+ logAITextComplete() {
106
+ if (this.accumulatedAIText) {
107
+ this.log("INFO" /* INFO */, "AI_TEXT" /* AI_TEXT */, "AI text response complete", {
108
+ totalLength: this.accumulatedAIText.length,
109
+ preview: this.accumulatedAIText.substring(0, 500) + (this.accumulatedAIText.length > 500 ? "..." : ""),
110
+ fullContent: this.accumulatedAIText
111
+ });
161
112
  }
162
- /**
163
- * Log thought completion with duration
164
- */
165
- logThoughtComplete(durationSeconds) {
166
- this.log(LogLevel.INFO, LogCategory.THOUGHT, 'Thinking completed', {
167
- durationSeconds,
168
- totalLength: this.accumulatedThought.length,
169
- preview: this.accumulatedThought.substring(0, 500) + (this.accumulatedThought.length > 500 ? '...' : ''),
170
- fullThought: this.accumulatedThought,
171
- });
172
- this.accumulatedThought = '';
113
+ this.accumulatedAIText = "";
114
+ }
115
+ /**
116
+ * Log thought chunk (streaming)
117
+ */
118
+ logThoughtChunk(thought) {
119
+ this.accumulatedThought += thought;
120
+ this.log("DEBUG" /* DEBUG */, "THOUGHT" /* THOUGHT */, "Thought chunk received", {
121
+ chunkLength: thought.length,
122
+ totalLength: this.accumulatedThought.length,
123
+ chunk: thought.substring(0, 200) + (thought.length > 200 ? "..." : "")
124
+ });
125
+ }
126
+ /**
127
+ * Log thought completion with duration
128
+ */
129
+ logThoughtComplete(durationSeconds) {
130
+ this.log("INFO" /* INFO */, "THOUGHT" /* THOUGHT */, "Thinking completed", {
131
+ durationSeconds,
132
+ totalLength: this.accumulatedThought.length,
133
+ preview: this.accumulatedThought.substring(0, 500) + (this.accumulatedThought.length > 500 ? "..." : ""),
134
+ fullThought: this.accumulatedThought
135
+ });
136
+ this.accumulatedThought = "";
137
+ }
138
+ /**
139
+ * Log a tool call being received from AI
140
+ */
141
+ logToolCall(name, id, args) {
142
+ const sanitizedArgs = {};
143
+ for (const [key, value] of Object.entries(args)) {
144
+ if (typeof value === "string" && value.length > 1e3) {
145
+ sanitizedArgs[key] = value.substring(0, 1e3) + `... [truncated ${value.length - 1e3} chars]`;
146
+ } else {
147
+ sanitizedArgs[key] = value;
148
+ }
173
149
  }
174
- /**
175
- * Log a tool call being received from AI
176
- */
177
- logToolCall(name, id, args) {
178
- // Sanitize args to avoid logging huge content
179
- const sanitizedArgs = {};
180
- for (const [key, value] of Object.entries(args)) {
181
- if (typeof value === 'string' && value.length > 1000) {
182
- sanitizedArgs[key] = value.substring(0, 1000) + `... [truncated ${value.length - 1000} chars]`;
183
- }
184
- else {
185
- sanitizedArgs[key] = value;
186
- }
187
- }
188
- this.log(LogLevel.INFO, LogCategory.TOOL_CALL, `Tool call received: ${name}`, {
189
- toolName: name,
190
- toolCallId: id,
191
- arguments: sanitizedArgs,
192
- });
150
+ this.log("INFO" /* INFO */, "TOOL_CALL" /* TOOL_CALL */, `Tool call received: ${name}`, {
151
+ toolName: name,
152
+ toolCallId: id,
153
+ arguments: sanitizedArgs
154
+ });
155
+ }
156
+ /**
157
+ * Log tool execution starting
158
+ */
159
+ logToolExecutionStart(name, id) {
160
+ this.log("INFO" /* INFO */, "TOOL_EXEC" /* TOOL_EXEC */, `Executing tool: ${name}`, {
161
+ toolName: name,
162
+ toolCallId: id
163
+ });
164
+ }
165
+ /**
166
+ * Log tool execution result
167
+ */
168
+ logToolResult(name, id, result, success, error) {
169
+ let sanitizedResult = result;
170
+ if (typeof result === "string" && result.length > 2e3) {
171
+ sanitizedResult = result.substring(0, 2e3) + `... [truncated ${result.length - 2e3} chars]`;
193
172
  }
194
- /**
195
- * Log tool execution starting
196
- */
197
- logToolExecutionStart(name, id) {
198
- this.log(LogLevel.INFO, LogCategory.TOOL_EXEC, `Executing tool: ${name}`, {
199
- toolName: name,
200
- toolCallId: id,
201
- });
173
+ this.log(
174
+ success ? "INFO" /* INFO */ : "WARN" /* WARN */,
175
+ "TOOL_RESULT" /* TOOL_RESULT */,
176
+ `Tool ${success ? "completed" : "failed"}: ${name}`,
177
+ {
178
+ toolName: name,
179
+ toolCallId: id,
180
+ success,
181
+ result: sanitizedResult,
182
+ error
183
+ }
184
+ );
185
+ }
186
+ /**
187
+ * Log loop state at turn boundaries
188
+ */
189
+ logLoopState(turn, state) {
190
+ this.currentTurn = turn;
191
+ this.log("INFO" /* INFO */, "LOOP" /* LOOP */, `Turn ${turn} state`, state);
192
+ }
193
+ /**
194
+ * Log when narration/completion detection triggers
195
+ */
196
+ logNarrationDetection(type, details) {
197
+ this.log("WARN" /* WARN */, "NARRATION" /* NARRATION */, `Detection: ${type}`, details);
198
+ }
199
+ /**
200
+ * Log system prompts added to conversation
201
+ */
202
+ logSystemPrompt(promptType, content) {
203
+ this.log("INFO" /* INFO */, "SYSTEM" /* SYSTEM */, `System prompt: ${promptType}`, {
204
+ contentLength: content.length,
205
+ content: content.substring(0, 500) + (content.length > 500 ? "..." : "")
206
+ });
207
+ }
208
+ /**
209
+ * Log an error
210
+ */
211
+ logError(context, error) {
212
+ const errorMessage = error instanceof Error ? error.message : error;
213
+ const errorStack = error instanceof Error ? error.stack : void 0;
214
+ this.log("ERROR" /* ERROR */, "ERROR" /* ERROR */, `Error in ${context}`, {
215
+ message: errorMessage,
216
+ stack: errorStack
217
+ });
218
+ }
219
+ /**
220
+ * Log stream completion
221
+ */
222
+ logStreamEnd(reason) {
223
+ this.log("INFO" /* INFO */, "LOOP" /* LOOP */, "Stream ended", { reason });
224
+ }
225
+ /**
226
+ * Log task completion
227
+ */
228
+ logTaskComplete(summary) {
229
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, "Task completed", {
230
+ summaryLength: summary.length,
231
+ summary: summary.substring(0, 500) + (summary.length > 500 ? "..." : "")
232
+ });
233
+ }
234
+ /**
235
+ * Log session end
236
+ */
237
+ endSession(finalMessage, turnCount) {
238
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, "\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
239
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, "CONVERSATION SESSION ENDED", {
240
+ totalTurns: turnCount,
241
+ finalMessageLength: finalMessage.length,
242
+ finalMessagePreview: finalMessage.substring(0, 300) + (finalMessage.length > 300 ? "..." : "")
243
+ });
244
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, "\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550");
245
+ this.log("INFO" /* INFO */, "SESSION" /* SESSION */, "");
246
+ }
247
+ /**
248
+ * Log messages array state (for debugging conversation history)
249
+ */
250
+ logConversationHistory(messages) {
251
+ this.log("DEBUG" /* DEBUG */, "LOOP" /* LOOP */, "Current conversation history", {
252
+ messageCount: messages.length,
253
+ messages: messages.map((m, i) => ({
254
+ index: i,
255
+ role: m.role,
256
+ contentLength: m.content.length,
257
+ contentPreview: m.content.substring(0, 100) + (m.content.length > 100 ? "..." : ""),
258
+ hasToolCalls: !!(m.tool_calls && m.tool_calls.length > 0),
259
+ toolCallCount: m.tool_calls?.length || 0
260
+ }))
261
+ });
262
+ }
263
+ /**
264
+ * Core logging function
265
+ */
266
+ log(level, category, message, details) {
267
+ if (!this.enabled) return;
268
+ const timestamp = (/* @__PURE__ */ new Date()).toISOString();
269
+ const sessionId = this.sessionId || "no_session";
270
+ const entry = {
271
+ timestamp,
272
+ sessionId,
273
+ level,
274
+ category,
275
+ message,
276
+ details
277
+ };
278
+ let logLine = `[${timestamp}] [${sessionId}] [${level}] [${category}] ${message}`;
279
+ if (details) {
280
+ try {
281
+ const detailsStr = JSON.stringify(details, null, 2);
282
+ const indentedDetails = detailsStr.split("\n").map((line) => " " + line).join("\n");
283
+ logLine += "\n" + indentedDetails;
284
+ } catch (e) {
285
+ logLine += "\n [Details could not be serialized]";
286
+ }
202
287
  }
203
- /**
204
- * Log tool execution result
205
- */
206
- logToolResult(name, id, result, success, error) {
207
- // Sanitize result to avoid logging huge content
208
- let sanitizedResult = result;
209
- if (typeof result === 'string' && result.length > 2000) {
210
- sanitizedResult = result.substring(0, 2000) + `... [truncated ${result.length - 2000} chars]`;
211
- }
212
- this.log(success ? LogLevel.INFO : LogLevel.WARN, LogCategory.TOOL_RESULT, `Tool ${success ? 'completed' : 'failed'}: ${name}`, {
213
- toolName: name,
214
- toolCallId: id,
215
- success,
216
- result: sanitizedResult,
217
- error: error,
218
- });
219
- }
220
- /**
221
- * Log loop state at turn boundaries
222
- */
223
- logLoopState(turn, state) {
224
- this.currentTurn = turn;
225
- this.log(LogLevel.INFO, LogCategory.LOOP, `Turn ${turn} state`, state);
226
- }
227
- /**
228
- * Log when narration/completion detection triggers
229
- */
230
- logNarrationDetection(type, details) {
231
- this.log(LogLevel.WARN, LogCategory.NARRATION, `Detection: ${type}`, details);
232
- }
233
- /**
234
- * Log system prompts added to conversation
235
- */
236
- logSystemPrompt(promptType, content) {
237
- this.log(LogLevel.INFO, LogCategory.SYSTEM, `System prompt: ${promptType}`, {
238
- contentLength: content.length,
239
- content: content.substring(0, 500) + (content.length > 500 ? '...' : ''),
240
- });
241
- }
242
- /**
243
- * Log an error
244
- */
245
- logError(context, error) {
246
- const errorMessage = error instanceof Error ? error.message : error;
247
- const errorStack = error instanceof Error ? error.stack : undefined;
248
- this.log(LogLevel.ERROR, LogCategory.ERROR, `Error in ${context}`, {
249
- message: errorMessage,
250
- stack: errorStack,
251
- });
252
- }
253
- /**
254
- * Log stream completion
255
- */
256
- logStreamEnd(reason) {
257
- this.log(LogLevel.INFO, LogCategory.LOOP, 'Stream ended', { reason });
258
- }
259
- /**
260
- * Log task completion
261
- */
262
- logTaskComplete(summary) {
263
- this.log(LogLevel.INFO, LogCategory.SESSION, 'Task completed', {
264
- summaryLength: summary.length,
265
- summary: summary.substring(0, 500) + (summary.length > 500 ? '...' : ''),
266
- });
267
- }
268
- /**
269
- * Log session end
270
- */
271
- endSession(finalMessage, turnCount) {
272
- this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
273
- this.log(LogLevel.INFO, LogCategory.SESSION, 'CONVERSATION SESSION ENDED', {
274
- totalTurns: turnCount,
275
- finalMessageLength: finalMessage.length,
276
- finalMessagePreview: finalMessage.substring(0, 300) + (finalMessage.length > 300 ? '...' : ''),
277
- });
278
- this.log(LogLevel.INFO, LogCategory.SESSION, '═══════════════════════════════════════════════════════════════════════════════');
279
- this.log(LogLevel.INFO, LogCategory.SESSION, ''); // Empty line for separation
280
- }
281
- /**
282
- * Log messages array state (for debugging conversation history)
283
- */
284
- logConversationHistory(messages) {
285
- this.log(LogLevel.DEBUG, LogCategory.LOOP, 'Current conversation history', {
286
- messageCount: messages.length,
287
- messages: messages.map((m, i) => ({
288
- index: i,
289
- role: m.role,
290
- contentLength: m.content.length,
291
- contentPreview: m.content.substring(0, 100) + (m.content.length > 100 ? '...' : ''),
292
- hasToolCalls: !!(m.tool_calls && m.tool_calls.length > 0),
293
- toolCallCount: m.tool_calls?.length || 0,
294
- })),
295
- });
296
- }
297
- /**
298
- * Core logging function
299
- */
300
- log(level, category, message, details) {
301
- if (!this.enabled)
302
- return;
303
- const timestamp = new Date().toISOString();
304
- const sessionId = this.sessionId || 'no_session';
305
- const entry = {
306
- timestamp,
307
- sessionId,
308
- level,
309
- category,
310
- message,
311
- details,
312
- };
313
- // Format the log line
314
- let logLine = `[${timestamp}] [${sessionId}] [${level}] [${category}] ${message}`;
315
- if (details) {
316
- try {
317
- const detailsStr = JSON.stringify(details, null, 2);
318
- // Indent details for readability
319
- const indentedDetails = detailsStr.split('\n').map(line => ' ' + line).join('\n');
320
- logLine += '\n' + indentedDetails;
321
- }
322
- catch (e) {
323
- logLine += '\n [Details could not be serialized]';
324
- }
325
- }
326
- logLine += '\n';
327
- try {
328
- fs.appendFileSync(this.logFilePath, logLine);
329
- }
330
- catch (e) {
331
- // Silently fail if we can't write logs
332
- }
288
+ logLine += "\n";
289
+ try {
290
+ fs.appendFileSync(this.logFilePath, logLine);
291
+ } catch (e) {
333
292
  }
293
+ }
334
294
  }
335
- // Export singleton instance
336
- export const conversationLogger = new ConversationLogger();
295
+ const conversationLogger = new ConversationLogger();
296
+ export {
297
+ ConversationLogger,
298
+ LogCategory,
299
+ LogLevel,
300
+ conversationLogger,
301
+ getCachedLogFilePath,
302
+ getConversationLogFilePath,
303
+ quickLog
304
+ };
337
305
  //# sourceMappingURL=conversation-logger.js.map