@noorm/marie-cli 0.1.17 → 0.1.25

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 (299) hide show
  1. package/README.md +7 -15
  2. package/SENTINEL.md +4 -7
  3. package/dist/cli-new/components/AgenticSpinner.js +28 -0
  4. package/dist/cli-new/components/AgenticSpinner.js.map +1 -0
  5. package/dist/cli-new/components/App.js +16 -63
  6. package/dist/cli-new/components/App.js.map +1 -1
  7. package/dist/cli-new/components/ApprovalDialog.js +3 -2
  8. package/dist/cli-new/components/ApprovalDialog.js.map +1 -1
  9. package/dist/cli-new/components/Banner.js +16 -5
  10. package/dist/cli-new/components/Banner.js.map +1 -1
  11. package/dist/cli-new/components/ChatArea.js +6 -7
  12. package/dist/cli-new/components/ChatArea.js.map +1 -1
  13. package/dist/cli-new/components/Header.js +14 -8
  14. package/dist/cli-new/components/Header.js.map +1 -1
  15. package/dist/cli-new/components/InputArea.js +98 -31
  16. package/dist/cli-new/components/InputArea.js.map +1 -1
  17. package/dist/cli-new/components/MessageBubble.js +28 -19
  18. package/dist/cli-new/components/MessageBubble.js.map +1 -1
  19. package/dist/cli-new/components/SessionSwitcher.js +6 -9
  20. package/dist/cli-new/components/SessionSwitcher.js.map +1 -1
  21. package/dist/cli-new/components/SetupWizard.js +80 -257
  22. package/dist/cli-new/components/SetupWizard.js.map +1 -1
  23. package/dist/cli-new/components/ToolCallDisplay.js +20 -5
  24. package/dist/cli-new/components/ToolCallDisplay.js.map +1 -1
  25. package/dist/cli-new/components/WizardSteps.js +22 -0
  26. package/dist/cli-new/components/WizardSteps.js.map +1 -0
  27. package/dist/cli-new/constants/SetupConstants.js +42 -0
  28. package/dist/cli-new/constants/SetupConstants.js.map +1 -0
  29. package/dist/cli-new/hooks/useGit.js +19 -62
  30. package/dist/cli-new/hooks/useGit.js.map +1 -1
  31. package/dist/cli-new/hooks/useMarie.js +26 -18
  32. package/dist/cli-new/hooks/useMarie.js.map +1 -1
  33. package/dist/cli-new/hooks/useSessions.js +1 -1
  34. package/dist/cli-new/hooks/useSessions.js.map +1 -1
  35. package/dist/cli-new/hooks/useSetupWizard.js +88 -0
  36. package/dist/cli-new/hooks/useSetupWizard.js.map +1 -0
  37. package/dist/cli-new/hooks/useUpdateCheck.js +4 -3
  38. package/dist/cli-new/hooks/useUpdateCheck.js.map +1 -1
  39. package/dist/cli-new/index.js +2 -4
  40. package/dist/cli-new/index.js.map +1 -1
  41. package/dist/cli-new/services/CommandService.js +104 -0
  42. package/dist/cli-new/services/CommandService.js.map +1 -0
  43. package/dist/cli-new/services/GitService.js +91 -0
  44. package/dist/cli-new/services/GitService.js.map +1 -0
  45. package/dist/cli-new/services/MarieService.js +77 -0
  46. package/dist/cli-new/services/MarieService.js.map +1 -0
  47. package/dist/cli-new/services/auth-server.js +128 -0
  48. package/dist/cli-new/services/auth-server.js.map +1 -0
  49. package/dist/cli-new/styles/theme.js +17 -17
  50. package/dist/cli-new/styles/theme.js.map +1 -1
  51. package/dist/cli-new/utils/version.js +24 -0
  52. package/dist/cli-new/utils/version.js.map +1 -0
  53. package/dist/monolith/adapters/CliMarieAdapter.js +19 -18
  54. package/dist/monolith/adapters/CliMarieAdapter.js.map +1 -1
  55. package/dist/monolith/cli/CliFileSystemPort.js +17 -3
  56. package/dist/monolith/cli/CliFileSystemPort.js.map +1 -1
  57. package/dist/monolith/cli/MarieToolDefinitionsCLI.js +44 -33
  58. package/dist/monolith/cli/MarieToolDefinitionsCLI.js.map +1 -1
  59. package/dist/monolith/cli/index.js +11 -20
  60. package/dist/monolith/cli/index.js.map +1 -1
  61. package/dist/monolith/cli/services/JoyAutomationServiceCLI.js +15 -62
  62. package/dist/monolith/cli/services/JoyAutomationServiceCLI.js.map +1 -1
  63. package/dist/monolith/cli/storage.js +154 -65
  64. package/dist/monolith/cli/storage.js.map +1 -1
  65. package/dist/monolith/domain/joy/RitualService.js +44 -46
  66. package/dist/monolith/domain/joy/RitualService.js.map +1 -1
  67. package/dist/monolith/domain/marie/MarieCortex.js +148 -0
  68. package/dist/monolith/domain/marie/MarieCortex.js.map +1 -0
  69. package/dist/monolith/domain/marie/PersonalityRenderer.js +97 -0
  70. package/dist/monolith/domain/marie/PersonalityRenderer.js.map +1 -0
  71. package/dist/monolith/infrastructure/Configuration.js +68 -0
  72. package/dist/monolith/infrastructure/Configuration.js.map +1 -0
  73. package/dist/monolith/infrastructure/CoreInfrastructure.js +204 -0
  74. package/dist/monolith/infrastructure/CoreInfrastructure.js.map +1 -0
  75. package/dist/monolith/infrastructure/ai/agents/MarieAscendant.js +3 -3
  76. package/dist/monolith/infrastructure/ai/agents/MarieAscendant.js.map +1 -1
  77. package/dist/monolith/infrastructure/ai/context/ContextArchiveService.js +51 -57
  78. package/dist/monolith/infrastructure/ai/context/ContextArchiveService.js.map +1 -1
  79. package/dist/monolith/infrastructure/ai/context/ContextManager.js +142 -98
  80. package/dist/monolith/infrastructure/ai/context/ContextManager.js.map +1 -1
  81. package/dist/monolith/infrastructure/ai/core/MarieEngine.js +104 -556
  82. package/dist/monolith/infrastructure/ai/core/MarieEngine.js.map +1 -1
  83. package/dist/monolith/infrastructure/ai/core/MarieEventDispatcher.js +1 -37
  84. package/dist/monolith/infrastructure/ai/core/MarieEventDispatcher.js.map +1 -1
  85. package/dist/monolith/infrastructure/ai/core/MarieLockManager.js +30 -5
  86. package/dist/monolith/infrastructure/ai/core/MarieLockManager.js.map +1 -1
  87. package/dist/monolith/infrastructure/ai/core/MarieProgressTracker.js +176 -196
  88. package/dist/monolith/infrastructure/ai/core/MarieProgressTracker.js.map +1 -1
  89. package/dist/monolith/infrastructure/ai/core/MariePulseService.js +41 -7
  90. package/dist/monolith/infrastructure/ai/core/MariePulseService.js.map +1 -1
  91. package/dist/monolith/infrastructure/ai/core/MarieSanitizer.js +303 -63
  92. package/dist/monolith/infrastructure/ai/core/MarieSanitizer.js.map +1 -1
  93. package/dist/monolith/infrastructure/ai/core/MarieSemaphore.js +47 -4
  94. package/dist/monolith/infrastructure/ai/core/MarieSemaphore.js.map +1 -1
  95. package/dist/monolith/infrastructure/ai/core/MarieSession.js +95 -15
  96. package/dist/monolith/infrastructure/ai/core/MarieSession.js.map +1 -1
  97. package/dist/monolith/infrastructure/ai/core/MarieStabilityMonitor.js +21 -0
  98. package/dist/monolith/infrastructure/ai/core/MarieStabilityMonitor.js.map +1 -1
  99. package/dist/monolith/infrastructure/ai/core/MarieToolMender.js +12 -0
  100. package/dist/monolith/infrastructure/ai/core/MarieToolMender.js.map +1 -1
  101. package/dist/monolith/infrastructure/ai/core/MarieToolProcessor.js +339 -481
  102. package/dist/monolith/infrastructure/ai/core/MarieToolProcessor.js.map +1 -1
  103. package/dist/monolith/infrastructure/ai/core/MarieVitality.js +238 -0
  104. package/dist/monolith/infrastructure/ai/core/MarieVitality.js.map +1 -0
  105. package/dist/monolith/infrastructure/ai/core/ReasoningBudget.js +23 -12
  106. package/dist/monolith/infrastructure/ai/core/ReasoningBudget.js.map +1 -1
  107. package/dist/monolith/infrastructure/ai/core/SessionLogService.js +9 -2
  108. package/dist/monolith/infrastructure/ai/core/SessionLogService.js.map +1 -1
  109. package/dist/monolith/infrastructure/ai/providers/AIProvider.js +402 -1
  110. package/dist/monolith/infrastructure/ai/providers/AIProvider.js.map +1 -1
  111. package/dist/monolith/infrastructure/ai/providers/DreamBeesProvider.js +114 -0
  112. package/dist/monolith/infrastructure/ai/providers/DreamBeesProvider.js.map +1 -0
  113. package/dist/monolith/infrastructure/ai/providers/OpenRouterProvider.js +426 -370
  114. package/dist/monolith/infrastructure/ai/providers/OpenRouterProvider.js.map +1 -1
  115. package/dist/monolith/infrastructure/ai/providers/OpenRouterStreamParser.js +235 -241
  116. package/dist/monolith/infrastructure/ai/providers/OpenRouterStreamParser.js.map +1 -1
  117. package/dist/monolith/infrastructure/ai/workerAi.js +185 -0
  118. package/dist/monolith/infrastructure/ai/workerAi.js.map +1 -0
  119. package/dist/monolith/infrastructure/config/ConfigService.js +216 -359
  120. package/dist/monolith/infrastructure/config/ConfigService.js.map +1 -1
  121. package/dist/monolith/infrastructure/joy/CognitiveRituals.js +8 -0
  122. package/dist/monolith/infrastructure/joy/CognitiveRituals.js.map +1 -0
  123. package/dist/monolith/infrastructure/joy/JoyTools.js +23 -43
  124. package/dist/monolith/infrastructure/joy/JoyTools.js.map +1 -1
  125. package/dist/monolith/infrastructure/persistence/MarieMindAutonomics.js +4 -0
  126. package/dist/monolith/infrastructure/persistence/MarieMindAutonomics.js.map +1 -0
  127. package/dist/monolith/infrastructure/persistence/MarieMindEngine.js +11 -0
  128. package/dist/monolith/infrastructure/persistence/MarieMindEngine.js.map +1 -0
  129. package/dist/monolith/infrastructure/persistence/NoormmeAutonomics.js +135 -0
  130. package/dist/monolith/infrastructure/persistence/NoormmeAutonomics.js.map +1 -0
  131. package/dist/monolith/infrastructure/persistence/NoormmeEngine.js +523 -0
  132. package/dist/monolith/infrastructure/persistence/NoormmeEngine.js.map +1 -0
  133. package/dist/monolith/infrastructure/persistence/NoormmeSchema.js +179 -0
  134. package/dist/monolith/infrastructure/persistence/NoormmeSchema.js.map +1 -0
  135. package/dist/monolith/infrastructure/persistence/NoormmeSeeder.js +94 -0
  136. package/dist/monolith/infrastructure/persistence/NoormmeSeeder.js.map +1 -0
  137. package/dist/monolith/infrastructure/persistence/NoormmeTools.js +371 -0
  138. package/dist/monolith/infrastructure/persistence/NoormmeTools.js.map +1 -0
  139. package/dist/monolith/infrastructure/services/MarieMemoryStore.js +133 -134
  140. package/dist/monolith/infrastructure/services/MarieMemoryStore.js.map +1 -1
  141. package/dist/monolith/infrastructure/tools/MarieToolDefinitions.js +6 -1578
  142. package/dist/monolith/infrastructure/tools/MarieToolDefinitions.js.map +1 -1
  143. package/dist/monolith/infrastructure/tools/PureStreamParser.js +68 -80
  144. package/dist/monolith/infrastructure/tools/PureStreamParser.js.map +1 -1
  145. package/dist/monolith/infrastructure/tools/SharedToolDefinitions.js +12 -11
  146. package/dist/monolith/infrastructure/tools/SharedToolDefinitions.js.map +1 -1
  147. package/dist/monolith/infrastructure/tools/SovereignTools.js +326 -0
  148. package/dist/monolith/infrastructure/tools/SovereignTools.js.map +1 -0
  149. package/dist/monolith/infrastructure/tools/ToolRegistry.js +45 -26
  150. package/dist/monolith/infrastructure/tools/ToolRegistry.js.map +1 -1
  151. package/dist/monolith/infrastructure/tools/definitions/AnalysisTools.js +232 -0
  152. package/dist/monolith/infrastructure/tools/definitions/AnalysisTools.js.map +1 -0
  153. package/dist/monolith/infrastructure/tools/definitions/AutomationTools.js +274 -0
  154. package/dist/monolith/infrastructure/tools/definitions/AutomationTools.js.map +1 -0
  155. package/dist/monolith/infrastructure/tools/definitions/ContextTools.js +71 -0
  156. package/dist/monolith/infrastructure/tools/definitions/ContextTools.js.map +1 -0
  157. package/dist/monolith/infrastructure/tools/definitions/CoreTools.js +37 -0
  158. package/dist/monolith/infrastructure/tools/definitions/CoreTools.js.map +1 -0
  159. package/dist/monolith/infrastructure/tools/definitions/DiagnosticTools.js +154 -0
  160. package/dist/monolith/infrastructure/tools/definitions/DiagnosticTools.js.map +1 -0
  161. package/dist/monolith/infrastructure/tools/definitions/NavigationTools.js +197 -0
  162. package/dist/monolith/infrastructure/tools/definitions/NavigationTools.js.map +1 -0
  163. package/dist/monolith/infrastructure/tools/definitions/PlanningTools.js +300 -0
  164. package/dist/monolith/infrastructure/tools/definitions/PlanningTools.js.map +1 -0
  165. package/dist/monolith/plumbing/Plumbing.js +238 -0
  166. package/dist/monolith/plumbing/Plumbing.js.map +1 -0
  167. package/dist/monolith/plumbing/PlumbingAnalysis.js +109 -0
  168. package/dist/monolith/plumbing/PlumbingAnalysis.js.map +1 -0
  169. package/dist/monolith/plumbing/PlumbingSystem.js +169 -0
  170. package/dist/monolith/plumbing/PlumbingSystem.js.map +1 -0
  171. package/dist/monolith/plumbing/analysis/ComplexityService.js +30 -34
  172. package/dist/monolith/plumbing/analysis/ComplexityService.js.map +1 -1
  173. package/dist/monolith/plumbing/analysis/DependencyService.js +55 -44
  174. package/dist/monolith/plumbing/analysis/DependencyService.js.map +1 -1
  175. package/dist/monolith/plumbing/analysis/DiscoveryService.js +40 -42
  176. package/dist/monolith/plumbing/analysis/DiscoveryService.js.map +1 -1
  177. package/dist/monolith/plumbing/analysis/JoyMapService.js +52 -56
  178. package/dist/monolith/plumbing/analysis/JoyMapService.js.map +1 -1
  179. package/dist/monolith/plumbing/analysis/LintService.js +118 -118
  180. package/dist/monolith/plumbing/analysis/LintService.js.map +1 -1
  181. package/dist/monolith/plumbing/analysis/MarieSentinelService.js +278 -269
  182. package/dist/monolith/plumbing/analysis/MarieSentinelService.js.map +1 -1
  183. package/dist/monolith/plumbing/analysis/QualityGuardrailService.js +116 -114
  184. package/dist/monolith/plumbing/analysis/QualityGuardrailService.js.map +1 -1
  185. package/dist/monolith/plumbing/analysis/SurgicalMender.js +57 -59
  186. package/dist/monolith/plumbing/analysis/SurgicalMender.js.map +1 -1
  187. package/dist/monolith/plumbing/analysis/TestService.js +89 -89
  188. package/dist/monolith/plumbing/analysis/TestService.js.map +1 -1
  189. package/dist/monolith/plumbing/filesystem/FileService.js +123 -195
  190. package/dist/monolith/plumbing/filesystem/FileService.js.map +1 -1
  191. package/dist/monolith/plumbing/filesystem/PathResolver.js +7 -8
  192. package/dist/monolith/plumbing/filesystem/PathResolver.js.map +1 -1
  193. package/dist/monolith/plumbing/git/GitService.js +4 -4
  194. package/dist/monolith/plumbing/git/GitService.js.map +1 -1
  195. package/dist/monolith/plumbing/lsp/SymbolService.js +5 -34
  196. package/dist/monolith/plumbing/lsp/SymbolService.js.map +1 -1
  197. package/dist/monolith/plumbing/terminal/ProcessRegistry.js +20 -22
  198. package/dist/monolith/plumbing/terminal/ProcessRegistry.js.map +1 -1
  199. package/dist/monolith/plumbing/terminal/TerminalService.js +127 -136
  200. package/dist/monolith/plumbing/terminal/TerminalService.js.map +1 -1
  201. package/dist/monolith/plumbing/utils/EnvironmentUtils.js +3 -23
  202. package/dist/monolith/plumbing/utils/EnvironmentUtils.js.map +1 -1
  203. package/dist/monolith/plumbing/utils/JsonUtils.js +252 -311
  204. package/dist/monolith/plumbing/utils/JsonUtils.js.map +1 -1
  205. package/dist/monolith/plumbing/utils/MutexUtils.js.map +1 -1
  206. package/dist/monolith/plumbing/utils/PlumbingCore.js +549 -0
  207. package/dist/monolith/plumbing/utils/PlumbingCore.js.map +1 -0
  208. package/dist/monolith/plumbing/utils/PrefixTree.js +61 -114
  209. package/dist/monolith/plumbing/utils/PrefixTree.js.map +1 -1
  210. package/dist/monolith/plumbing/utils/StreamTagDetector.js +89 -127
  211. package/dist/monolith/plumbing/utils/StreamTagDetector.js.map +1 -1
  212. package/dist/monolith/plumbing/utils/StringUtils.js +87 -89
  213. package/dist/monolith/plumbing/utils/StringUtils.js.map +1 -1
  214. package/dist/monolith/runtime/MarieRuntime.js +76 -417
  215. package/dist/monolith/runtime/MarieRuntime.js.map +1 -1
  216. package/dist/monolith/runtime/RuntimeAdapterBase.js +1 -1
  217. package/dist/monolith/runtime/RuntimeAdapterBase.js.map +1 -1
  218. package/dist/monolith/runtime/providerFactory.js +1 -7
  219. package/dist/monolith/runtime/providerFactory.js.map +1 -1
  220. package/dist/monolith/services/HealthService.js +29 -32
  221. package/dist/monolith/services/HealthService.js.map +1 -1
  222. package/dist/monolith/services/JoyAutomationService.js +58 -95
  223. package/dist/monolith/services/JoyAutomationService.js.map +1 -1
  224. package/dist/monolith/services/MarieAutomationService.js +59 -0
  225. package/dist/monolith/services/MarieAutomationService.js.map +1 -0
  226. package/dist/monolith/services/MarieGhostService.js +46 -161
  227. package/dist/monolith/services/MarieGhostService.js.map +1 -1
  228. package/dist/monolith/services/MarieServices.js +102 -0
  229. package/dist/monolith/services/MarieServices.js.map +1 -0
  230. package/dist/monolith/services/MarieTypes.js +2 -0
  231. package/dist/monolith/services/MarieTypes.js.map +1 -0
  232. package/dist/monolith/services/UpdateService.js +47 -49
  233. package/dist/monolith/services/UpdateService.js.map +1 -1
  234. package/dist/prompts.js +11 -5
  235. package/dist/prompts.js.map +1 -1
  236. package/dist/test_prefix_tree.js +9 -9
  237. package/dist/test_prefix_tree.js.map +1 -1
  238. package/package.json +18 -88
  239. package/run_test.js +5 -0
  240. package/.marie_visual_verify_1771225696548/progress_bar_check.txt +0 -1
  241. package/dist/extension.cjs +0 -635
  242. package/dist/extension.js +0 -473
  243. package/dist/extension.js.map +0 -1
  244. package/dist/monolith/adapters/VscodeMarieAdapter.js +0 -81
  245. package/dist/monolith/adapters/VscodeMarieAdapter.js.map +0 -1
  246. package/dist/monolith/domain/joy/JoyTools.js +0 -535
  247. package/dist/monolith/domain/joy/JoyTools.js.map +0 -1
  248. package/dist/monolith/infrastructure/ai/agents/MarieYOLO.js +0 -207
  249. package/dist/monolith/infrastructure/ai/agents/MarieYOLO.js.map +0 -1
  250. package/dist/monolith/infrastructure/ai/core/GhostPort.js +0 -2
  251. package/dist/monolith/infrastructure/ai/core/GhostPort.js.map +0 -1
  252. package/dist/monolith/infrastructure/ai/core/MarieYOLOTypes.js +0 -2
  253. package/dist/monolith/infrastructure/ai/core/MarieYOLOTypes.js.map +0 -1
  254. package/dist/monolith/infrastructure/ai/core/VscodeFileSystemPort.js +0 -33
  255. package/dist/monolith/infrastructure/ai/core/VscodeFileSystemPort.js.map +0 -1
  256. package/dist/monolith/infrastructure/ai/providers/AnthropicProvider.js +0 -148
  257. package/dist/monolith/infrastructure/ai/providers/AnthropicProvider.js.map +0 -1
  258. package/dist/monolith/infrastructure/ai/providers/CerebrasProvider.js +0 -208
  259. package/dist/monolith/infrastructure/ai/providers/CerebrasProvider.js.map +0 -1
  260. package/dist/monolith/plumbing/ui/DecorationService.js +0 -54
  261. package/dist/monolith/plumbing/ui/DecorationService.js.map +0 -1
  262. package/dist/monolith/services/JoyLogService.js +0 -48
  263. package/dist/monolith/services/JoyLogService.js.map +0 -1
  264. package/dist/monolith/services/JoyService.js +0 -209
  265. package/dist/monolith/services/JoyService.js.map +0 -1
  266. package/dist/monolith/services/MarieSCMProvider.js +0 -41
  267. package/dist/monolith/services/MarieSCMProvider.js.map +0 -1
  268. package/dist/test_agent_stream_control_plane.js +0 -170
  269. package/dist/test_agent_stream_control_plane.js.map +0 -1
  270. package/dist/test_strategy_integration.js +0 -114
  271. package/dist/test_strategy_integration.js.map +0 -1
  272. package/dist/test_streaming_fragility.js +0 -191
  273. package/dist/test_streaming_fragility.js.map +0 -1
  274. package/dist/webview-ui/App.js +0 -16
  275. package/dist/webview-ui/App.js.map +0 -1
  276. package/dist/webview-ui/Providers.js +0 -6
  277. package/dist/webview-ui/Providers.js.map +0 -1
  278. package/dist/webview-ui/components/ApprovalPanel.js +0 -8
  279. package/dist/webview-ui/components/ApprovalPanel.js.map +0 -1
  280. package/dist/webview-ui/components/ChatPanel.js +0 -19
  281. package/dist/webview-ui/components/ChatPanel.js.map +0 -1
  282. package/dist/webview-ui/components/Composer.js +0 -19
  283. package/dist/webview-ui/components/Composer.js.map +0 -1
  284. package/dist/webview-ui/components/HeaderBar.js +0 -5
  285. package/dist/webview-ui/components/HeaderBar.js.map +0 -1
  286. package/dist/webview-ui/components/SessionList.js +0 -14
  287. package/dist/webview-ui/components/SessionList.js.map +0 -1
  288. package/dist/webview-ui/context/WebviewStateContext.js +0 -146
  289. package/dist/webview-ui/context/WebviewStateContext.js.map +0 -1
  290. package/dist/webview-ui/main.css +0 -1
  291. package/dist/webview-ui/main.js +0 -108
  292. package/dist/webview-ui/main.js.map +0 -1
  293. package/dist/webview-ui/types.js +0 -2
  294. package/dist/webview-ui/types.js.map +0 -1
  295. package/dist/webview-ui/vscode.js +0 -4
  296. package/dist/webview-ui/vscode.js.map +0 -1
  297. package/lint_output.txt +0 -705
  298. package/lint_output_v2.txt +0 -711
  299. package/marie-coder-0.1.16.vsix +0 -0
@@ -1,9 +1,9 @@
1
- import * as vscode from "vscode";
2
1
  import * as fs from "fs/promises";
3
2
  import * as path from "path";
4
3
  import { exec } from "child_process";
5
4
  import { promisify } from "util";
6
5
  import { getErrorMessage } from "../utils/ErrorUtils.js";
6
+ import { getWorkspaceRoot } from "../utils/EnvironmentUtils.js";
7
7
  const execAsync = promisify(exec);
8
8
  export async function gitStatus(cwd) {
9
9
  try {
@@ -52,10 +52,10 @@ export async function getFileHistory(cwd, filePath) {
52
52
  }
53
53
  }
54
54
  export async function logReflection(message) {
55
- const workspaceFolders = vscode.workspace.workspaceFolders;
56
- if (!workspaceFolders)
55
+ const root = getWorkspaceRoot();
56
+ if (!root)
57
57
  return;
58
- const journalPath = path.join(workspaceFolders[0].uri.fsPath, "JOURNAL.md");
58
+ const journalPath = path.join(root, "JOURNAL.md");
59
59
  const date = new Date().toISOString().split("T")[0];
60
60
  const time = new Date().toLocaleTimeString();
61
61
  const entry = `\n### ${date} ${time}\n${message}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"GitService.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/git/GitService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GitService.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/git/GitService.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,7 @@
1
- import * as vscode from "vscode";
2
- export class SymbolService {
3
- /**
4
- * Finds the definition(s) of a symbol at the specified position in a document.
5
- */
6
- static async getDefinitions(uri, position) {
7
- const definitions = await vscode.commands.executeCommand("vscode.executeDefinitionProvider", uri, position);
8
- if (!definitions || definitions.length === 0) {
9
- return "No definitions found.";
10
- }
11
- let result = `Found ${definitions.length} definition(s):\n`;
12
- for (const def of definitions) {
13
- const range = "range" in def ? def.range : def.targetRange;
14
- const targetUri = "uri" in def ? def.uri : def.targetUri;
15
- result += `- ${targetUri.fsPath} [L${range.start.line + 1}:C${range.start.character + 1}]\n`;
16
- }
17
- return result;
18
- }
19
- /**
20
- * Finds the type definition of a symbol at the specified position.
21
- */
22
- static async getTypeDefinitions(uri, position) {
23
- const typeDefs = await vscode.commands.executeCommand("vscode.executeTypeDefinitionProvider", uri, position);
24
- if (!typeDefs || typeDefs.length === 0) {
25
- return "No type definitions found.";
26
- }
27
- let result = `Found ${typeDefs.length} type definition(s):\n`;
28
- for (const def of typeDefs) {
29
- const range = "range" in def ? def.range : def.targetRange;
30
- const targetUri = "uri" in def ? def.uri : def.targetUri;
31
- result += `- ${targetUri.fsPath} [L${range.start.line + 1}:C${range.start.character + 1}]\n`;
32
- }
33
- return result;
34
- }
1
+ export async function getDefinitions(filePath, line, character) {
2
+ return "Definition lookup is currently restricted to VS Code environment. Use 'grep_search' for manual symbol discovery. ✨";
3
+ }
4
+ export async function getTypeDefinitions(filePath, line, character) {
5
+ return "Type definition lookup is currently restricted to VS Code environment. ✨";
35
6
  }
36
7
  //# sourceMappingURL=SymbolService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SymbolService.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/lsp/SymbolService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,MAAM,OAAO,aAAa;IACxB;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,GAAe,EACf,QAAyB;QAEzB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAEtD,kCAAkC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAErD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,IAAI,MAAM,GAAG,SAAS,WAAW,CAAC,MAAM,mBAAmB,CAAC;QAC5D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;YAC3D,MAAM,SAAS,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YACzD,MAAM,IAAI,KAAK,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC;QAC/F,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACpC,GAAe,EACf,QAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAEnD,sCAAsC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,4BAA4B,CAAC;QACtC,CAAC;QAED,IAAI,MAAM,GAAG,SAAS,QAAQ,CAAC,MAAM,wBAAwB,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;YAC3D,MAAM,SAAS,GAAG,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;YACzD,MAAM,IAAI,KAAK,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC;QAC/F,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"SymbolService.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/lsp/SymbolService.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,IAAY,EACZ,SAAiB;IAEjB,OAAO,oHAAoH,CAAC;AAC9H,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,IAAY,EACZ,SAAiB;IAEjB,OAAO,0EAA0E,CAAC;AACpF,CAAC"}
@@ -2,30 +2,28 @@
2
2
  * ZOMBIE LIFECYCLE GUARD: ProcessRegistry
3
3
  * Tracks all active child processes and ensures they are killed when Marie is deactivated.
4
4
  */
5
- export class ProcessRegistry {
6
- static activeProcesses = new Set();
7
- static register(process) {
8
- this.activeProcesses.add(process);
9
- process.on("exit", () => {
10
- this.activeProcesses.delete(process);
11
- });
12
- process.on("error", () => {
13
- this.activeProcesses.delete(process);
14
- });
15
- }
16
- static killAll() {
17
- console.log(`[MarieRegistry] Killing ${this.activeProcesses.size} active child processes...`);
18
- for (const process of this.activeProcesses) {
19
- try {
20
- if (!process.killed) {
21
- process.kill("SIGKILL");
22
- }
23
- }
24
- catch (e) {
25
- console.error("[MarieRegistry] Failed to kill process:", e);
5
+ const activeProcesses = new Set();
6
+ export function register(process) {
7
+ activeProcesses.add(process);
8
+ process.on("exit", () => {
9
+ activeProcesses.delete(process);
10
+ });
11
+ process.on("error", () => {
12
+ activeProcesses.delete(process);
13
+ });
14
+ }
15
+ export function killAll() {
16
+ console.log(`[MarieRegistry] Killing ${activeProcesses.size} active child processes...`);
17
+ for (const process of activeProcesses) {
18
+ try {
19
+ if (!process.killed) {
20
+ process.kill("SIGKILL");
26
21
  }
27
22
  }
28
- this.activeProcesses.clear();
23
+ catch (e) {
24
+ console.error("[MarieRegistry] Failed to kill process:", e);
25
+ }
29
26
  }
27
+ activeProcesses.clear();
30
28
  }
31
29
  //# sourceMappingURL=ProcessRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessRegistry.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/terminal/ProcessRegistry.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAC,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;IAElD,MAAM,CAAC,QAAQ,CAAC,OAAqB;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,OAAO;QACnB,OAAO,CAAC,GAAG,CACT,2BAA2B,IAAI,CAAC,eAAe,CAAC,IAAI,4BAA4B,CACjF,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC"}
1
+ {"version":3,"file":"ProcessRegistry.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/terminal/ProcessRegistry.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAgB,CAAC;AAEhD,MAAM,UAAU,QAAQ,CAAC,OAAqB;IAC5C,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACvB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,CAAC,GAAG,CACT,2BAA2B,eAAe,CAAC,IAAI,4BAA4B,CAC5E,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,eAAe,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,7 +1,8 @@
1
- import * as vscode from "vscode";
2
1
  import { exec, spawn } from "child_process";
3
2
  import { promisify } from "util";
4
- import { ProcessRegistry } from "./ProcessRegistry.js";
3
+ import { register } from "./ProcessRegistry.js";
4
+ import { getCapabilities } from "../../infrastructure/config/ConfigService.js";
5
+ import { getWorkspaceRoot } from "../utils/EnvironmentUtils.js";
5
6
  const execAsync = promisify(exec);
6
7
  // Patterns that usually indicate an interactive or blocking command
7
8
  const INTERACTIVE_PATTERNS = [
@@ -20,161 +21,151 @@ const MAX_OUTPUT_LENGTH = 10000; // ~10KB limit for context safety
20
21
  const ANSI_REGEX = new RegExp("[\x1b\x9b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]", "g");
21
22
  const stripAnsi = (t) => t.replace(ANSI_REGEX, "");
22
23
  /* eslint-enable no-control-regex */
23
- export class TerminalService {
24
- static terminal;
25
- static activeProcesses = new Set();
26
- static getTerminal() {
27
- if (this.terminal && !this.terminal.exitStatus) {
28
- return this.terminal;
29
- }
30
- this.terminal = vscode.window.createTerminal("Marie's Workshop");
31
- return this.terminal;
24
+ const activeProcesses = new Set();
25
+ export async function runCommand(command, signal) {
26
+ // PHASE 17: Capability Check
27
+ if (!getCapabilities().includes("SHELL")) {
28
+ return `Sovereign Capability Breach: Direct shell execution is disabled in the current engine configuration. 🛑`;
29
+ }
30
+ if (INTERACTIVE_PATTERNS.some((p) => p.test(command))) {
31
+ return `Error: Command '${command}' appears to be interactive or potentially blocking. Please use non-interactive flags (e.g., -y, -m) or run it manually.`;
32
32
  }
33
- static async runCommand(command, signal) {
34
- if (INTERACTIVE_PATTERNS.some((p) => p.test(command))) {
35
- return `Error: Command '${command}' appears to be interactive or potentially blocking. Please use non-interactive flags (e.g., -y, -m) or run it manually.`;
33
+ // 2. Shell Injection Guard (Sub-Atomic Integrity)
34
+ const suspiciousChars = /[;&|`$(){}]/;
35
+ if (suspiciousChars.test(command)) {
36
+ // Check if it's a "known safe" complex command (e.g. npm run build -- --noEmit || npx tsc --noEmit)
37
+ const isSafeHeuristic = command.includes("--noEmit") || command.includes("npm run bloom");
38
+ if (!isSafeHeuristic) {
39
+ return `Security Error: Command '${command}' contains suspicious shell metacharacters. High-order tools reject unvetted complex logic for systemic safety. 🛑`;
36
40
  }
37
- // 2. Shell Injection Guard (Sub-Atomic Integrity)
38
- const suspiciousChars = /[;&|`$(){}]/;
39
- if (suspiciousChars.test(command)) {
40
- // Check if it's a "known safe" complex command (e.g. npm run build -- --noEmit || npx tsc --noEmit)
41
- const isSafeHeuristic = command.includes("--noEmit") || command.includes("npm run bloom");
42
- if (!isSafeHeuristic) {
43
- return `Security Error: Command '${command}' contains suspicious shell metacharacters. High-order tools reject unvetted complex logic for systemic safety. 🛑`;
44
- }
41
+ }
42
+ if (signal?.aborted) {
43
+ return "Command aborted before execution.";
44
+ }
45
+ const rootPath = getWorkspaceRoot();
46
+ const shell = process.env.SHELL || "/bin/sh";
47
+ let childProcess;
48
+ const spawnPromise = new Promise((resolve, reject) => {
49
+ try {
50
+ // Use shell: true to support command strings with pipes/redirects
51
+ childProcess = spawn(command, {
52
+ cwd: rootPath,
53
+ shell: shell,
54
+ stdio: ["ignore", "pipe", "pipe"],
55
+ detached: true, // Spectral Integrity: Detach to allow PGID killing
56
+ });
57
+ register(childProcess);
58
+ let stdout = "";
59
+ let stderr = "";
60
+ childProcess.stdout?.on("data", (data) => {
61
+ stdout += data.toString();
62
+ if (stdout.length > MAX_OUTPUT_LENGTH * 2) {
63
+ stdout = stdout.substring(stdout.length - MAX_OUTPUT_LENGTH * 2);
64
+ }
65
+ });
66
+ childProcess.stderr?.on("data", (data) => {
67
+ stderr += data.toString();
68
+ if (stderr.length > MAX_OUTPUT_LENGTH * 2) {
69
+ stderr = stderr.substring(stderr.length - MAX_OUTPUT_LENGTH * 2);
70
+ }
71
+ });
72
+ childProcess.on("close", (code) => {
73
+ resolve({ stdout, stderr, code });
74
+ });
75
+ childProcess.on("error", (err) => {
76
+ reject(err);
77
+ });
45
78
  }
46
- if (signal?.aborted) {
47
- return "Command aborted before execution.";
79
+ catch (err) {
80
+ reject(err);
48
81
  }
49
- // 2. Show in terminal for user visibility
50
- const terminal = this.getTerminal();
51
- terminal.show();
52
- terminal.sendText(command);
53
- const rootPath = vscode.workspace.workspaceFolders?.[0].uri.fsPath;
54
- const shell = process.env.SHELL || "/bin/sh";
55
- let childProcess;
56
- const spawnPromise = new Promise((resolve, reject) => {
82
+ });
83
+ const onAbort = () => {
84
+ if (childProcess && childProcess.pid) {
85
+ console.log(`[Terminal] Killing process GROUP for command: ${command}`);
57
86
  try {
58
- // Use shell: true to support command strings with pipes/redirects
59
- childProcess = spawn(command, {
60
- cwd: rootPath,
61
- shell: shell,
62
- stdio: ["ignore", "pipe", "pipe"],
63
- detached: true, // Spectral Integrity: Detach to allow PGID killing
64
- });
65
- ProcessRegistry.register(childProcess);
66
- let stdout = "";
67
- let stderr = "";
68
- childProcess.stdout?.on("data", (data) => {
69
- stdout += data.toString();
70
- if (stdout.length > MAX_OUTPUT_LENGTH * 2) {
71
- stdout = stdout.substring(stdout.length - MAX_OUTPUT_LENGTH * 2);
72
- }
73
- });
74
- childProcess.stderr?.on("data", (data) => {
75
- stderr += data.toString();
76
- if (stderr.length > MAX_OUTPUT_LENGTH * 2) {
77
- stderr = stderr.substring(stderr.length - MAX_OUTPUT_LENGTH * 2);
78
- }
79
- });
80
- childProcess.on("close", (code) => {
81
- resolve({ stdout, stderr, code });
82
- });
83
- childProcess.on("error", (err) => {
84
- reject(err);
85
- });
87
+ // Kill the entire process group (PGID)
88
+ process.kill(-childProcess.pid, "SIGTERM");
86
89
  }
87
- catch (err) {
88
- reject(err);
90
+ catch (e) {
91
+ childProcess.kill("SIGTERM");
89
92
  }
90
- });
91
- const onAbort = () => {
92
- if (childProcess && childProcess.pid) {
93
- console.log(`[Terminal] Killing process GROUP for command: ${command}`);
93
+ // Definitive Reap: Force kill PG if it doesn't shut down quickly
94
+ setTimeout(() => {
94
95
  try {
95
- // Kill the entire process group (PGID)
96
- process.kill(-childProcess.pid, "SIGTERM");
96
+ if (childProcess.pid) {
97
+ process.kill(-childProcess.pid, "SIGKILL");
98
+ }
97
99
  }
98
100
  catch (e) {
99
- childProcess.kill("SIGTERM");
100
- }
101
- // Definitive Reap: Force kill PG if it doesn't shut down quickly
102
- setTimeout(() => {
103
101
  try {
104
- if (childProcess.pid) {
105
- process.kill(-childProcess.pid, "SIGKILL");
106
- }
102
+ childProcess.kill("SIGKILL");
107
103
  }
108
- catch (e) {
109
- try {
110
- childProcess.kill("SIGKILL");
111
- }
112
- catch (e2) {
113
- // Ignore further kill errors
114
- }
104
+ catch (e2) {
105
+ // Ignore further kill errors
115
106
  }
116
- }, 1000);
117
- }
118
- };
119
- if (signal) {
120
- signal.addEventListener("abort", onAbort);
121
- }
122
- try {
123
- this.activeProcesses.add(childProcess);
124
- const { stdout, stderr, code } = await spawnPromise;
125
- this.activeProcesses.delete(childProcess);
126
- if (signal?.aborted) {
127
- return `Command aborted by user. Process cleanup initiated. 🛑`;
128
- }
129
- if (code !== 0 && code !== null) {
130
- let cleanedStderr = stripAnsi(stderr);
131
- if (cleanedStderr.length > MAX_OUTPUT_LENGTH) {
132
- cleanedStderr =
133
- `... [Truncated] ...\n` +
134
- cleanedStderr.substring(cleanedStderr.length - MAX_OUTPUT_LENGTH);
135
107
  }
136
- return `Command failed (Exit Code: ${code}):\n${cleanedStderr ? `**Error Output:**\n\`\`\`\n${cleanedStderr}\n\`\`\`` : "No error output captured."}`;
137
- }
138
- let result = `Command executed successfully (Exit Code: 0). ✨\n\n`;
139
- const formatOutput = (text, label) => {
140
- if (!text)
141
- return "";
142
- let content = stripAnsi(text);
143
- if (content.length > MAX_OUTPUT_LENGTH) {
144
- content =
145
- `... [Truncated for brevity] ...\n` +
146
- content.substring(content.length - MAX_OUTPUT_LENGTH);
147
- }
148
- return `**${label}:**\n\`\`\`\n${content}\n\`\`\`\n`;
149
- };
150
- result += formatOutput(stdout, "Output");
151
- result += formatOutput(stderr, "Errors/Warnings");
152
- return result || "Command completed with no output.";
108
+ }, 1000);
109
+ }
110
+ };
111
+ if (signal) {
112
+ signal.addEventListener("abort", onAbort);
113
+ }
114
+ try {
115
+ activeProcesses.add(childProcess);
116
+ const { stdout, stderr, code } = await spawnPromise;
117
+ activeProcesses.delete(childProcess);
118
+ if (signal?.aborted) {
119
+ return `Command aborted by user. Process cleanup initiated. 🛑`;
153
120
  }
154
- catch (error) {
155
- if (signal?.aborted) {
156
- return `Command aborted by user. Process cleanup initiated. 🛑`;
121
+ if (code !== 0 && code !== null) {
122
+ let cleanedStderr = stripAnsi(stderr);
123
+ if (cleanedStderr.length > MAX_OUTPUT_LENGTH) {
124
+ cleanedStderr =
125
+ `... [Truncated] ...\n` +
126
+ cleanedStderr.substring(cleanedStderr.length - MAX_OUTPUT_LENGTH);
157
127
  }
158
- return `Command execution failed: ${error.message}`;
128
+ return `Command failed (Exit Code: ${code}):\n${cleanedStderr ? `**Error Output:**\n\`\`\`\n${cleanedStderr}\n\`\`\`` : "No error output captured."}`;
159
129
  }
160
- finally {
161
- this.activeProcesses.delete(childProcess);
162
- if (signal) {
163
- signal.removeEventListener("abort", onAbort);
130
+ let result = `Command executed successfully (Exit Code: 0). ✨\n\n`;
131
+ const formatOutput = (text, label) => {
132
+ if (!text)
133
+ return "";
134
+ let content = stripAnsi(text);
135
+ if (content.length > MAX_OUTPUT_LENGTH) {
136
+ content =
137
+ `... [Truncated for brevity] ...\n` +
138
+ content.substring(content.length - MAX_OUTPUT_LENGTH);
164
139
  }
140
+ return `**${label}:**\n\`\`\`\n${content}\n\`\`\`\n`;
141
+ };
142
+ result += formatOutput(stdout, "Output");
143
+ result += formatOutput(stderr, "Errors/Warnings");
144
+ return result || "Command completed with no output.";
145
+ }
146
+ catch (error) {
147
+ if (signal?.aborted) {
148
+ return `Command aborted by user. Process cleanup initiated. 🛑`;
165
149
  }
150
+ return `Command execution failed: ${error.message}`;
166
151
  }
167
- static cleanup() {
168
- console.log(`[Terminal] Cleaning up ${this.activeProcesses.size} active processes...`);
169
- for (const cp of this.activeProcesses) {
170
- try {
171
- cp.kill("SIGKILL");
172
- }
173
- catch (e) {
174
- // Ignore errors during cleanup
175
- }
152
+ finally {
153
+ activeProcesses.delete(childProcess);
154
+ if (signal) {
155
+ signal.removeEventListener("abort", onAbort);
156
+ }
157
+ }
158
+ }
159
+ export function cleanupProcesses() {
160
+ console.log(`[Terminal] Cleaning up ${activeProcesses.size} active processes...`);
161
+ for (const cp of activeProcesses) {
162
+ try {
163
+ cp.kill("SIGKILL");
164
+ }
165
+ catch (e) {
166
+ // Ignore errors during cleanup
176
167
  }
177
- this.activeProcesses.clear();
178
168
  }
169
+ activeProcesses.clear();
179
170
  }
180
171
  //# sourceMappingURL=TerminalService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalService.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/terminal/TerminalService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,oEAAoE;AACpE,MAAM,oBAAoB,GAAG;IAC3B,wBAAwB;IACxB,0BAA0B;IAC1B,gBAAgB,EAAE,4BAA4B;IAC9C,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,iCAAiC;AAElE,qCAAqC;AACrC,0FAA0F;AAC1F,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B,wEAAwE,EACxE,GAAG,CACJ,CAAC;AACF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC3D,oCAAoC;AAEpC,MAAM,OAAO,eAAe;IAClB,MAAM,CAAC,QAAQ,CAA8B;IAC7C,MAAM,CAAC,eAAe,GAAG,IAAI,GAAG,EAAO,CAAC;IAExC,MAAM,CAAC,WAAW;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU,CAC5B,OAAe,EACf,MAAoB;QAEpB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,mBAAmB,OAAO,0HAA0H,CAAC;QAC9J,CAAC;QAED,kDAAkD;QAClD,MAAM,eAAe,GAAG,aAAa,CAAC;QACtC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,oGAAoG;YACpG,MAAM,eAAe,GACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACpE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,4BAA4B,OAAO,oHAAoH,CAAC;YACjK,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,OAAO,mCAAmC,CAAC;QAC7C,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;QAE7C,IAAI,YAAiB,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,OAAO,CAI7B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrB,IAAI,CAAC;gBACH,kEAAkE;gBAClE,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE;oBAC5B,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,QAAQ,EAAE,IAAI,EAAE,mDAAmD;iBACpE,CAAC,CAAC;gBAEH,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAEvC,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,MAAM,GAAG,EAAE,CAAC;gBAEhB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC/C,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC;wBAC1C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBAC/C,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC;wBAC1C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;oBAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBACtC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,iDAAiD,OAAO,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC;oBACH,uCAAuC;oBACvC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;gBACD,iEAAiE;gBACjE,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC;wBACH,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;4BACrB,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;wBAC7C,CAAC;oBACH,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC;4BACH,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC/B,CAAC;wBAAC,OAAO,EAAE,EAAE,CAAC;4BACZ,6BAA6B;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;YACpD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAE1C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,wDAAwD,CAAC;YAClE,CAAC;YAED,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChC,IAAI,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACtC,IAAI,aAAa,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;oBAC7C,aAAa;wBACX,uBAAuB;4BACvB,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,8BAA8B,IAAI,OAAO,aAAa,CAAC,CAAC,CAAC,8BAA8B,aAAa,UAAU,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC;YACxJ,CAAC;YAED,IAAI,MAAM,GAAG,qDAAqD,CAAC;YAEnE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;gBACnD,IAAI,CAAC,IAAI;oBAAE,OAAO,EAAE,CAAC;gBACrB,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;oBACvC,OAAO;wBACL,mCAAmC;4BACnC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,KAAK,KAAK,gBAAgB,OAAO,YAAY,CAAC;YACvD,CAAC,CAAC;YAEF,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAElD,OAAO,MAAM,IAAI,mCAAmC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,wDAAwD,CAAC;YAClE,CAAC;YACD,OAAO,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,OAAO;QACnB,OAAO,CAAC,GAAG,CACT,0BAA0B,IAAI,CAAC,eAAe,CAAC,IAAI,sBAAsB,CAC1E,CAAC;QACF,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,+BAA+B;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC"}
1
+ {"version":3,"file":"TerminalService.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/terminal/TerminalService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,oEAAoE;AACpE,MAAM,oBAAoB,GAAG;IAC3B,wBAAwB;IACxB,0BAA0B;IAC1B,gBAAgB,EAAE,4BAA4B;IAC9C,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,iCAAiC;AAElE,qCAAqC;AACrC,0FAA0F;AAC1F,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B,wEAAwE,EACxE,GAAG,CACJ,CAAC;AACF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC3D,oCAAoC;AAEpC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAO,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,MAAoB;IAEpB,6BAA6B;IAC7B,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,yGAAyG,CAAC;IACnH,CAAC;IAED,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,mBAAmB,OAAO,0HAA0H,CAAC;IAC9J,CAAC;IAED,kDAAkD;IAClD,MAAM,eAAe,GAAG,aAAa,CAAC;IACtC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,oGAAoG;QACpG,MAAM,eAAe,GACnB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,4BAA4B,OAAO,oHAAoH,CAAC;QACjK,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;IAE7C,IAAI,YAAiB,CAAC;IACtB,MAAM,YAAY,GAAG,IAAI,OAAO,CAI7B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,kEAAkE;YAClE,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE;gBAC5B,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,QAAQ,EAAE,IAAI,EAAE,mDAAmD;aACpE,CAAC,CAAC;YAEH,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEvB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/C,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC/C,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;gBAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,iDAAiD,OAAO,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC;gBACH,uCAAuC;gBACvC,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;YACD,iEAAiE;YACjE,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC;oBACH,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;wBACrB,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC;wBACH,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC/B,CAAC;oBAAC,OAAO,EAAE,EAAE,CAAC;wBACZ,6BAA6B;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC;QACpD,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAErC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,OAAO,wDAAwD,CAAC;QAClE,CAAC;QAED,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,aAAa,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBAC7C,aAAa;oBACX,uBAAuB;wBACvB,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,8BAA8B,IAAI,OAAO,aAAa,CAAC,CAAC,CAAC,8BAA8B,aAAa,UAAU,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC;QACxJ,CAAC;QAED,IAAI,MAAM,GAAG,qDAAqD,CAAC;QAEnE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;YACnD,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrB,IAAI,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBACvC,OAAO;oBACL,mCAAmC;wBACnC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,KAAK,KAAK,gBAAgB,OAAO,YAAY,CAAC;QACvD,CAAC,CAAC;QAEF,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAElD,OAAO,MAAM,IAAI,mCAAmC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,OAAO,wDAAwD,CAAC;QAClE,CAAC;QACD,OAAO,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CAAC,GAAG,CACT,0BAA0B,eAAe,CAAC,IAAI,sBAAsB,CACrE,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,+BAA+B;QACjC,CAAC;IACH,CAAC;IACD,eAAe,CAAC,KAAK,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,18 +1,13 @@
1
1
  import { createRequire } from "module";
2
2
  /**
3
3
  * Robust environment detection for Marie.
4
- * Distinguishes between VS Code Extension Host and CLI/Standalone modes.
4
+ * Distinguishes between CLI/Standalone modes.
5
5
  */
6
6
  export function isVsCodeExtension() {
7
- return Boolean((process.env.VSCODE_IPC_HOOK ||
8
- process.env.VSCODE_PID ||
9
- process.env.VSCODE_CWD ||
10
- process.env.VSCODE_NLS_CONFIG) &&
11
- !process.env.MARIE_FORCE_CLI);
7
+ return false;
12
8
  }
13
9
  /**
14
10
  * Isomorphic require implementation that works in both ESM and CJS.
15
- * Prevents build-time and runtime crashes in bundled environments like VS Code.
16
11
  */
17
12
  export const nodeRequire = (() => {
18
13
  // Use globalThis to avoid shadowing/hoisting issues with 'require'
@@ -21,8 +16,6 @@ export const nodeRequire = (() => {
21
16
  return g.require;
22
17
  }
23
18
  // In ESM environments, we must create a require function using import.meta.url
24
- // We use an indirect eval to prevent bundlers (like esbuild) from
25
- // attempting to polyfill or complain about import.meta in non-ESM output.
26
19
  try {
27
20
  const metaUrl = (0, eval)("import.meta.url");
28
21
  if (metaUrl) {
@@ -32,28 +25,15 @@ export const nodeRequire = (() => {
32
25
  catch {
33
26
  // Fallback or ignore
34
27
  }
35
- // Final fallback for environments where neither require nor createRequire is feasible
28
+ // Final fallback
36
29
  return (id) => {
37
30
  throw new Error(`Execution Environment Error: Cannot require "${id}". Environment is incompatible with module resolution.`);
38
31
  };
39
32
  })();
40
33
  /**
41
34
  * Safely resolves the workspace root directory.
42
- * In VS Code, it uses the first workspace folder.
43
- * In CLI or tests, it defaults to the current working directory.
44
35
  */
45
36
  export function getWorkspaceRoot() {
46
- if (isVsCodeExtension()) {
47
- try {
48
- const vscode = nodeRequire("vscode");
49
- const root = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath;
50
- if (root)
51
- return root;
52
- }
53
- catch {
54
- // Fallback
55
- }
56
- }
57
37
  return process.cwd();
58
38
  }
59
39
  //# sourceMappingURL=EnvironmentUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentUtils.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/utils/EnvironmentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC7B,OAAO,OAAO,CACV,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe;QACxB,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAC/B,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IAC7B,mEAAmE;IACnE,MAAM,CAAC,GAAG,UAAiB,CAAC;IAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,+EAA+E;IAC/E,mEAAmE;IACnE,0EAA0E;IAC1E,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,qBAAqB;IACzB,CAAC;IAED,sFAAsF;IACtF,OAAO,CAAC,EAAU,EAAE,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,wDAAwD,CAAC,CAAC;IAChI,CAAC,CAAC;AACN,CAAC,CAAC,EAAE,CAAC;AAEL;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC5B,IAAI,iBAAiB,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAA4B,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;YAChE,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,WAAW;QACf,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"EnvironmentUtils.js","sourceRoot":"","sources":["../../../../src/monolith/plumbing/utils/EnvironmentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IAC/B,mEAAmE;IACnE,MAAM,CAAC,GAAG,UAAiB,CAAC;IAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IAED,iBAAiB;IACjB,OAAO,CAAC,EAAU,EAAE,EAAE;QACpB,MAAM,IAAI,KAAK,CACb,gDAAgD,EAAE,wDAAwD,CAC3G,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC;AAEL;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC"}