codex-linux 1.0.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 (367) hide show
  1. package/.claude/settings.local.json +10 -0
  2. package/.eslintrc.json +27 -0
  3. package/.github/workflows/ci.yml +156 -0
  4. package/.huskyrc +7 -0
  5. package/.lintstagedrc +13 -0
  6. package/.prettierrc +12 -0
  7. package/CLAUDE.md +163 -0
  8. package/DESIGN_SUPERIOR.md +73 -0
  9. package/Dockerfile +64 -0
  10. package/INSTALLATION.md +152 -0
  11. package/LICENSE +21 -0
  12. package/README.md +245 -0
  13. package/assets/skills/code-review/instructions.md +102 -0
  14. package/assets/skills/code-review/skill.yaml +15 -0
  15. package/assets/skills/refactoring/instructions.md +149 -0
  16. package/assets/skills/refactoring/skill.yaml +15 -0
  17. package/assets/skills/testing/skill.yaml +15 -0
  18. package/commitlint.config.js +23 -0
  19. package/dist/main/DatabaseManager.js +763 -0
  20. package/dist/main/DatabaseManager.js.map +1 -0
  21. package/dist/main/SettingsManager.js +61 -0
  22. package/dist/main/SettingsManager.js.map +1 -0
  23. package/dist/main/agents/AgentOrchestrator.js +787 -0
  24. package/dist/main/agents/AgentOrchestrator.js.map +1 -0
  25. package/dist/main/agents/AgentSDK.js +219 -0
  26. package/dist/main/agents/AgentSDK.js.map +1 -0
  27. package/dist/main/agents/AgentTools.js +348 -0
  28. package/dist/main/agents/AgentTools.js.map +1 -0
  29. package/dist/main/agents/CodeIndex.js +233 -0
  30. package/dist/main/agents/CodeIndex.js.map +1 -0
  31. package/dist/main/agents/EmbeddingService.js +80 -0
  32. package/dist/main/agents/EmbeddingService.js.map +1 -0
  33. package/dist/main/agents/NativeToolCalling.js +206 -0
  34. package/dist/main/agents/NativeToolCalling.js.map +1 -0
  35. package/dist/main/api/APIServer.js +278 -0
  36. package/dist/main/api/APIServer.js.map +1 -0
  37. package/dist/main/api/RateLimiter.js +138 -0
  38. package/dist/main/api/RateLimiter.js.map +1 -0
  39. package/dist/main/api/WebSocketManager.js +300 -0
  40. package/dist/main/api/WebSocketManager.js.map +1 -0
  41. package/dist/main/assistant/ContextOptimizer.js +192 -0
  42. package/dist/main/assistant/ContextOptimizer.js.map +1 -0
  43. package/dist/main/assistant/PredictedOutputManager.js +172 -0
  44. package/dist/main/assistant/PredictedOutputManager.js.map +1 -0
  45. package/dist/main/assistant/PromptCacheManager.js +193 -0
  46. package/dist/main/assistant/PromptCacheManager.js.map +1 -0
  47. package/dist/main/assistant/PromptOptimizer.js +626 -0
  48. package/dist/main/assistant/PromptOptimizer.js.map +1 -0
  49. package/dist/main/assistant/SmartCodeAssistant.js +224 -0
  50. package/dist/main/assistant/SmartCodeAssistant.js.map +1 -0
  51. package/dist/main/auth/SessionManager.js +300 -0
  52. package/dist/main/auth/SessionManager.js.map +1 -0
  53. package/dist/main/automations/AdvancedWebhookSystem.js +212 -0
  54. package/dist/main/automations/AdvancedWebhookSystem.js.map +1 -0
  55. package/dist/main/automations/AutomationScheduler.js +269 -0
  56. package/dist/main/automations/AutomationScheduler.js.map +1 -0
  57. package/dist/main/automations/BatchProcessingSystem.js +159 -0
  58. package/dist/main/automations/BatchProcessingSystem.js.map +1 -0
  59. package/dist/main/automations/BrowserAutomationManager.js +195 -0
  60. package/dist/main/automations/BrowserAutomationManager.js.map +1 -0
  61. package/dist/main/automations/GitHubActionsManager.js +129 -0
  62. package/dist/main/automations/GitHubActionsManager.js.map +1 -0
  63. package/dist/main/automations/GitLabCIManager.js +122 -0
  64. package/dist/main/automations/GitLabCIManager.js.map +1 -0
  65. package/dist/main/automations/PriorityQueueManager.js +240 -0
  66. package/dist/main/automations/PriorityQueueManager.js.map +1 -0
  67. package/dist/main/background/BackgroundModeManager.js +117 -0
  68. package/dist/main/background/BackgroundModeManager.js.map +1 -0
  69. package/dist/main/backup/BackupManager.js +254 -0
  70. package/dist/main/backup/BackupManager.js.map +1 -0
  71. package/dist/main/backup/MigrationManager.js +114 -0
  72. package/dist/main/backup/MigrationManager.js.map +1 -0
  73. package/dist/main/commands/SlashCommandManager.js +399 -0
  74. package/dist/main/commands/SlashCommandManager.js.map +1 -0
  75. package/dist/main/config/ClaudeMdParser.js +519 -0
  76. package/dist/main/config/ClaudeMdParser.js.map +1 -0
  77. package/dist/main/config/CustomizationManager.js +381 -0
  78. package/dist/main/config/CustomizationManager.js.map +1 -0
  79. package/dist/main/config/LaunchConfigManager.js +211 -0
  80. package/dist/main/config/LaunchConfigManager.js.map +1 -0
  81. package/dist/main/config/SettingsManager.js +166 -0
  82. package/dist/main/config/SettingsManager.js.map +1 -0
  83. package/dist/main/connectors/ConnectorManager.js +151 -0
  84. package/dist/main/connectors/ConnectorManager.js.map +1 -0
  85. package/dist/main/connectors/DatabaseConnector.js +222 -0
  86. package/dist/main/connectors/DatabaseConnector.js.map +1 -0
  87. package/dist/main/cowork/CoworkManager.js +324 -0
  88. package/dist/main/cowork/CoworkManager.js.map +1 -0
  89. package/dist/main/evals/AgentEvalFramework.js +538 -0
  90. package/dist/main/evals/AgentEvalFramework.js.map +1 -0
  91. package/dist/main/evals/GraderManager.js +285 -0
  92. package/dist/main/evals/GraderManager.js.map +1 -0
  93. package/dist/main/git/GitWorktreeManager.js +214 -0
  94. package/dist/main/git/GitWorktreeManager.js.map +1 -0
  95. package/dist/main/github/GitHubPRMonitor.js +244 -0
  96. package/dist/main/github/GitHubPRMonitor.js.map +1 -0
  97. package/dist/main/ide/ContinueInManager.js +181 -0
  98. package/dist/main/ide/ContinueInManager.js.map +1 -0
  99. package/dist/main/ide/IDEIntegration.js +277 -0
  100. package/dist/main/ide/IDEIntegration.js.map +1 -0
  101. package/dist/main/integrations/LinearManager.js +252 -0
  102. package/dist/main/integrations/LinearManager.js.map +1 -0
  103. package/dist/main/integrations/SlackBotManager.js +247 -0
  104. package/dist/main/integrations/SlackBotManager.js.map +1 -0
  105. package/dist/main/lsp/LSPManager.js +394 -0
  106. package/dist/main/lsp/LSPManager.js.map +1 -0
  107. package/dist/main/main.js +1087 -0
  108. package/dist/main/main.js.map +1 -0
  109. package/dist/main/mcp/MCPConfigurationManager.js +281 -0
  110. package/dist/main/mcp/MCPConfigurationManager.js.map +1 -0
  111. package/dist/main/mcp/MCPManager.js +710 -0
  112. package/dist/main/mcp/MCPManager.js.map +1 -0
  113. package/dist/main/mcp/MCPRegistry.js +272 -0
  114. package/dist/main/mcp/MCPRegistry.js.map +1 -0
  115. package/dist/main/monitoring/ErrorRecoveryManager.js +268 -0
  116. package/dist/main/monitoring/ErrorRecoveryManager.js.map +1 -0
  117. package/dist/main/monitoring/ErrorTracker.js +57 -0
  118. package/dist/main/monitoring/ErrorTracker.js.map +1 -0
  119. package/dist/main/monitoring/MetricsCollector.js +155 -0
  120. package/dist/main/monitoring/MetricsCollector.js.map +1 -0
  121. package/dist/main/monitoring/TraceGradingSystem.js +148 -0
  122. package/dist/main/monitoring/TraceGradingSystem.js.map +1 -0
  123. package/dist/main/notifications/NotificationManager.js +67 -0
  124. package/dist/main/notifications/NotificationManager.js.map +1 -0
  125. package/dist/main/pair/AIPairProgramming.js +200 -0
  126. package/dist/main/pair/AIPairProgramming.js.map +1 -0
  127. package/dist/main/plugins/PluginManager.js +222 -0
  128. package/dist/main/plugins/PluginManager.js.map +1 -0
  129. package/dist/main/plugins/PluginMarketplace.js +237 -0
  130. package/dist/main/plugins/PluginMarketplace.js.map +1 -0
  131. package/dist/main/preload.js +189 -0
  132. package/dist/main/preload.js.map +1 -0
  133. package/dist/main/preview/PreviewSessionManager.js +170 -0
  134. package/dist/main/preview/PreviewSessionManager.js.map +1 -0
  135. package/dist/main/providers/AIProviderManager.js +327 -0
  136. package/dist/main/providers/AIProviderManager.js.map +1 -0
  137. package/dist/main/providers/FineTuningManager.js +276 -0
  138. package/dist/main/providers/FineTuningManager.js.map +1 -0
  139. package/dist/main/providers/FreeModelsProvider.js +1104 -0
  140. package/dist/main/providers/FreeModelsProvider.js.map +1 -0
  141. package/dist/main/realtime/RealtimeManager.js +116 -0
  142. package/dist/main/realtime/RealtimeManager.js.map +1 -0
  143. package/dist/main/remote/CloudEnvironmentManager.js +232 -0
  144. package/dist/main/remote/CloudEnvironmentManager.js.map +1 -0
  145. package/dist/main/remote/RemoteSessionManager.js +255 -0
  146. package/dist/main/remote/RemoteSessionManager.js.map +1 -0
  147. package/dist/main/search/DeepResearchManager.js +335 -0
  148. package/dist/main/search/DeepResearchManager.js.map +1 -0
  149. package/dist/main/search/WebSearchIntegration.js +147 -0
  150. package/dist/main/search/WebSearchIntegration.js.map +1 -0
  151. package/dist/main/security/AdminConsoleManager.js +223 -0
  152. package/dist/main/security/AdminConsoleManager.js.map +1 -0
  153. package/dist/main/security/AuditLogger.js +136 -0
  154. package/dist/main/security/AuditLogger.js.map +1 -0
  155. package/dist/main/security/PermissionManager.js +144 -0
  156. package/dist/main/security/PermissionManager.js.map +1 -0
  157. package/dist/main/security/SSOManager.js +173 -0
  158. package/dist/main/security/SSOManager.js.map +1 -0
  159. package/dist/main/security/SecurityManager.js +152 -0
  160. package/dist/main/security/SecurityManager.js.map +1 -0
  161. package/dist/main/skills/SkillsManager.js +223 -0
  162. package/dist/main/skills/SkillsManager.js.map +1 -0
  163. package/dist/main/ssh/SSHManager.js +65 -0
  164. package/dist/main/ssh/SSHManager.js.map +1 -0
  165. package/dist/main/streaming/StreamingManager.js +225 -0
  166. package/dist/main/streaming/StreamingManager.js.map +1 -0
  167. package/dist/main/sync/CloudSyncManager.js +422 -0
  168. package/dist/main/sync/CloudSyncManager.js.map +1 -0
  169. package/dist/main/types.js +28 -0
  170. package/dist/main/types.js.map +1 -0
  171. package/dist/main/verification/AutoVerifyManager.js +235 -0
  172. package/dist/main/verification/AutoVerifyManager.js.map +1 -0
  173. package/dist/main/vision/ComputerUseManager.js +376 -0
  174. package/dist/main/vision/ComputerUseManager.js.map +1 -0
  175. package/dist/main/vision/ImageVideoGenerationManager.js +401 -0
  176. package/dist/main/vision/ImageVideoGenerationManager.js.map +1 -0
  177. package/dist/main/vision/VisionManager.js +172 -0
  178. package/dist/main/vision/VisionManager.js.map +1 -0
  179. package/dist/renderer/assets/main-DJlZQBCA.js +304 -0
  180. package/dist/renderer/assets/main-N33ZXEr8.css +1 -0
  181. package/dist/renderer/index.html +21 -0
  182. package/dist/renderer/manifest.json +42 -0
  183. package/dist/renderer/sw.ts +109 -0
  184. package/dist/shared/types.js +35 -0
  185. package/dist/shared/types.js.map +1 -0
  186. package/docker-compose.yml +65 -0
  187. package/docs/API.md +307 -0
  188. package/docs/USER_GUIDE.md +476 -0
  189. package/examples/plugins/sample-plugin/package.json +41 -0
  190. package/examples/plugins/sample-plugin/src/index.ts +75 -0
  191. package/index.html +20 -0
  192. package/jest.config.js +39 -0
  193. package/package.json +180 -0
  194. package/packages/cli/package.json +29 -0
  195. package/packages/cli/src/commands/agents.ts +199 -0
  196. package/packages/cli/src/commands/tasks.ts +61 -0
  197. package/packages/cli/src/index.ts +91 -0
  198. package/packages/cli/src/utils/api.ts +45 -0
  199. package/packages/cli/src/utils/config.ts +61 -0
  200. package/packages/npm-installer/bin/codex-linux +126 -0
  201. package/packages/npm-installer/lib/download.js +273 -0
  202. package/packages/npm-installer/package.json +42 -0
  203. package/packages/vscode-extension/package.json +167 -0
  204. package/packages/vscode-extension/src/api.ts +68 -0
  205. package/packages/vscode-extension/src/extension.ts +161 -0
  206. package/packages/vscode-extension/src/panels/chatPanel.ts +265 -0
  207. package/packages/vscode-extension/src/panels/createAgentPanel.ts +227 -0
  208. package/packages/vscode-extension/src/providers/agentsProvider.ts +80 -0
  209. package/postcss.config.js +6 -0
  210. package/public/manifest.json +42 -0
  211. package/public/sw.ts +109 -0
  212. package/scripts/install-dev.sh +103 -0
  213. package/scripts/install.sh +275 -0
  214. package/src/main/DatabaseManager.ts +950 -0
  215. package/src/main/SettingsManager.ts +63 -0
  216. package/src/main/agents/AgentOrchestrator.ts +930 -0
  217. package/src/main/agents/AgentSDK.ts +269 -0
  218. package/src/main/agents/AgentTools.ts +380 -0
  219. package/src/main/agents/CodeIndex.ts +240 -0
  220. package/src/main/agents/EmbeddingService.ts +88 -0
  221. package/src/main/agents/NativeToolCalling.ts +245 -0
  222. package/src/main/api/APIServer.ts +316 -0
  223. package/src/main/api/RateLimiter.ts +165 -0
  224. package/src/main/api/WebSocketManager.ts +398 -0
  225. package/src/main/assistant/ContextOptimizer.ts +214 -0
  226. package/src/main/assistant/PredictedOutputManager.ts +265 -0
  227. package/src/main/assistant/PromptCacheManager.ts +280 -0
  228. package/src/main/assistant/PromptOptimizer.ts +746 -0
  229. package/src/main/assistant/SmartCodeAssistant.ts +234 -0
  230. package/src/main/auth/SessionManager.ts +415 -0
  231. package/src/main/automations/AdvancedWebhookSystem.ts +281 -0
  232. package/src/main/automations/AutomationScheduler.ts +272 -0
  233. package/src/main/automations/BatchProcessingSystem.ts +207 -0
  234. package/src/main/automations/BrowserAutomationManager.ts +203 -0
  235. package/src/main/automations/GitHubActionsManager.ts +151 -0
  236. package/src/main/automations/GitLabCIManager.ts +206 -0
  237. package/src/main/automations/PriorityQueueManager.ts +328 -0
  238. package/src/main/background/BackgroundModeManager.ts +130 -0
  239. package/src/main/backup/BackupManager.ts +287 -0
  240. package/src/main/backup/MigrationManager.ts +132 -0
  241. package/src/main/commands/SlashCommandManager.ts +407 -0
  242. package/src/main/config/ClaudeMdParser.ts +539 -0
  243. package/src/main/config/CustomizationManager.ts +493 -0
  244. package/src/main/config/LaunchConfigManager.ts +212 -0
  245. package/src/main/config/SettingsManager.ts +163 -0
  246. package/src/main/connectors/ConnectorManager.ts +175 -0
  247. package/src/main/connectors/DatabaseConnector.ts +212 -0
  248. package/src/main/cowork/CoworkManager.ts +431 -0
  249. package/src/main/evals/AgentEvalFramework.ts +665 -0
  250. package/src/main/evals/GraderManager.ts +417 -0
  251. package/src/main/git/GitWorktreeManager.ts +211 -0
  252. package/src/main/github/GitHubPRMonitor.ts +317 -0
  253. package/src/main/ide/ContinueInManager.ts +180 -0
  254. package/src/main/ide/IDEIntegration.ts +288 -0
  255. package/src/main/integrations/LinearManager.ts +327 -0
  256. package/src/main/integrations/SlackBotManager.ts +312 -0
  257. package/src/main/lsp/LSPManager.ts +445 -0
  258. package/src/main/main.ts +1221 -0
  259. package/src/main/mcp/MCPConfigurationManager.ts +281 -0
  260. package/src/main/mcp/MCPManager.ts +799 -0
  261. package/src/main/mcp/MCPRegistry.ts +273 -0
  262. package/src/main/monitoring/ErrorRecoveryManager.ts +359 -0
  263. package/src/main/monitoring/ErrorTracker.ts +60 -0
  264. package/src/main/monitoring/MetricsCollector.ts +196 -0
  265. package/src/main/monitoring/TraceGradingSystem.ts +196 -0
  266. package/src/main/notifications/NotificationManager.ts +96 -0
  267. package/src/main/pair/AIPairProgramming.ts +290 -0
  268. package/src/main/plugins/PluginManager.ts +266 -0
  269. package/src/main/plugins/PluginMarketplace.ts +318 -0
  270. package/src/main/preload.ts +215 -0
  271. package/src/main/preview/PreviewSessionManager.ts +186 -0
  272. package/src/main/providers/AIProviderManager.ts +394 -0
  273. package/src/main/providers/FineTuningManager.ts +390 -0
  274. package/src/main/providers/FreeModelsProvider.ts +1156 -0
  275. package/src/main/realtime/RealtimeManager.ts +147 -0
  276. package/src/main/remote/CloudEnvironmentManager.ts +253 -0
  277. package/src/main/remote/RemoteSessionManager.ts +323 -0
  278. package/src/main/search/DeepResearchManager.ts +458 -0
  279. package/src/main/search/WebSearchIntegration.ts +203 -0
  280. package/src/main/security/AdminConsoleManager.ts +244 -0
  281. package/src/main/security/AuditLogger.ts +143 -0
  282. package/src/main/security/PermissionManager.ts +184 -0
  283. package/src/main/security/SSOManager.ts +241 -0
  284. package/src/main/security/SecurityManager.ts +139 -0
  285. package/src/main/skills/SkillsManager.ts +218 -0
  286. package/src/main/ssh/SSHManager.ts +86 -0
  287. package/src/main/streaming/StreamingManager.ts +306 -0
  288. package/src/main/sync/CloudSyncManager.ts +532 -0
  289. package/src/main/verification/AutoVerifyManager.ts +285 -0
  290. package/src/main/vision/ComputerUseManager.ts +475 -0
  291. package/src/main/vision/ImageVideoGenerationManager.ts +526 -0
  292. package/src/main/vision/VisionManager.ts +186 -0
  293. package/src/renderer/App.tsx +314 -0
  294. package/src/renderer/components/AdvancedSettingsPanel.tsx +225 -0
  295. package/src/renderer/components/AgentPanel.tsx +760 -0
  296. package/src/renderer/components/AppPreview.tsx +220 -0
  297. package/src/renderer/components/AuditTrailPanel.tsx +148 -0
  298. package/src/renderer/components/AutomationPanel.tsx +220 -0
  299. package/src/renderer/components/ChatInterface.tsx +595 -0
  300. package/src/renderer/components/ChatTab.tsx +296 -0
  301. package/src/renderer/components/CodeEditor.tsx +257 -0
  302. package/src/renderer/components/CodeReviewPanel.tsx +256 -0
  303. package/src/renderer/components/CodeWorkspace.tsx +192 -0
  304. package/src/renderer/components/CodebaseDashboard.tsx +295 -0
  305. package/src/renderer/components/ComputerUsePanel.tsx +262 -0
  306. package/src/renderer/components/ConnectorsPanel.tsx +471 -0
  307. package/src/renderer/components/ContextMenu.tsx +155 -0
  308. package/src/renderer/components/ContextUsageDisplay.tsx +248 -0
  309. package/src/renderer/components/CoworkPanel.tsx +415 -0
  310. package/src/renderer/components/DiffViewer.tsx +452 -0
  311. package/src/renderer/components/ErrorBoundary.tsx +273 -0
  312. package/src/renderer/components/ExtendedThinkingToggle.tsx +244 -0
  313. package/src/renderer/components/FileAttachments.tsx +247 -0
  314. package/src/renderer/components/FileExplorer.tsx +242 -0
  315. package/src/renderer/components/FileExplorerPanel.tsx +302 -0
  316. package/src/renderer/components/GitPanel.tsx +154 -0
  317. package/src/renderer/components/Header.tsx +113 -0
  318. package/src/renderer/components/MCPPanel.tsx +326 -0
  319. package/src/renderer/components/MentionAutocomplete.tsx +239 -0
  320. package/src/renderer/components/PermissionPanel.tsx +159 -0
  321. package/src/renderer/components/PermissionSelector.tsx +203 -0
  322. package/src/renderer/components/PluginMarketplace.tsx +325 -0
  323. package/src/renderer/components/PromptOptimizerPanel.tsx +399 -0
  324. package/src/renderer/components/SearchPanel.tsx +173 -0
  325. package/src/renderer/components/SearchReplace.tsx +284 -0
  326. package/src/renderer/components/SessionSidebar.tsx +367 -0
  327. package/src/renderer/components/SettingsPanel.tsx +426 -0
  328. package/src/renderer/components/Sidebar.tsx +100 -0
  329. package/src/renderer/components/SkillsPanel.tsx +245 -0
  330. package/src/renderer/components/SplitPane.tsx +173 -0
  331. package/src/renderer/components/Terminal.tsx +190 -0
  332. package/src/renderer/components/VoiceCommand.tsx +129 -0
  333. package/src/renderer/components/WorktreePanel.tsx +163 -0
  334. package/src/renderer/components/ui/AriaComponents.tsx +193 -0
  335. package/src/renderer/components/ui/Button.tsx +68 -0
  336. package/src/renderer/components/ui/Card.tsx +102 -0
  337. package/src/renderer/components/ui/Input.tsx +44 -0
  338. package/src/renderer/components/ui/Skeleton.tsx +55 -0
  339. package/src/renderer/components/ui/VirtualList.tsx +196 -0
  340. package/src/renderer/i18n/I18nProvider.tsx +101 -0
  341. package/src/renderer/i18n/de.ts +161 -0
  342. package/src/renderer/i18n/en.ts +163 -0
  343. package/src/renderer/i18n/es.ts +161 -0
  344. package/src/renderer/i18n/fr.ts +161 -0
  345. package/src/renderer/i18n/index.ts +44 -0
  346. package/src/renderer/index.css +129 -0
  347. package/src/renderer/lib/accessibility.tsx +287 -0
  348. package/src/renderer/lib/hooks.ts +304 -0
  349. package/src/renderer/lib/utils.ts +6 -0
  350. package/src/renderer/main.tsx +25 -0
  351. package/src/renderer/styles/minimalist.css +539 -0
  352. package/src/renderer/sw.ts +180 -0
  353. package/src/renderer/types.d.ts +138 -0
  354. package/src/shared/types.ts +813 -0
  355. package/supabase/schema.sql +234 -0
  356. package/tailwind.config.js +78 -0
  357. package/tests/e2e/package.json +15 -0
  358. package/tests/e2e/playwright.config.ts +31 -0
  359. package/tests/e2e/specs/app.spec.ts +194 -0
  360. package/tests/setup.ts +99 -0
  361. package/tests/unit/AgentOrchestrator.test.ts +274 -0
  362. package/tests/unit/DatabaseManager.test.ts +262 -0
  363. package/tests/unit/GitWorktreeManager.test.ts +150 -0
  364. package/tests/unit/SecurityManager.test.ts +110 -0
  365. package/tsconfig.main.json +22 -0
  366. package/tsconfig.renderer.json +27 -0
  367. package/vite.config.ts +28 -0
@@ -0,0 +1,519 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.claudeMdParser = exports.ClaudeMdParser = void 0;
40
+ const fs = __importStar(require("fs/promises"));
41
+ const path = __importStar(require("path"));
42
+ const electron_log_1 = __importDefault(require("electron-log"));
43
+ const CLAUDE_MD_FILES = ['CLAUDE.md', 'claude.md', '.claude.md'];
44
+ class ClaudeMdParser {
45
+ config = null;
46
+ filePath = null;
47
+ async load(projectPath) {
48
+ for (const fileName of CLAUDE_MD_FILES) {
49
+ const fullPath = path.join(projectPath, fileName);
50
+ try {
51
+ const content = await fs.readFile(fullPath, 'utf-8');
52
+ this.config = this.parse(content);
53
+ this.filePath = fullPath;
54
+ electron_log_1.default.info(`Loaded CLAUDE.md from ${fullPath}`);
55
+ return this.config;
56
+ }
57
+ catch (error) {
58
+ // File doesn't exist, try next
59
+ continue;
60
+ }
61
+ }
62
+ electron_log_1.default.debug(`No CLAUDE.md found in ${projectPath}`);
63
+ return null;
64
+ }
65
+ parse(content) {
66
+ const config = {
67
+ version: '1.0',
68
+ project: { name: 'Unnamed Project' },
69
+ codingStandards: {},
70
+ architecture: {},
71
+ libraries: {},
72
+ reviewChecklist: {},
73
+ tools: {},
74
+ customPrompts: {},
75
+ agents: {},
76
+ mcp: {},
77
+ hooks: {},
78
+ ignore: [],
79
+ metadata: {}
80
+ };
81
+ // Parse sections
82
+ const sections = this.extractSections(content);
83
+ for (const [sectionName, sectionContent] of Object.entries(sections)) {
84
+ switch (sectionName.toLowerCase()) {
85
+ case 'project':
86
+ config.project = this.parseProject(sectionContent);
87
+ break;
88
+ case 'coding standards':
89
+ case 'codingstandards':
90
+ config.codingStandards = this.parseCodingStandards(sectionContent);
91
+ break;
92
+ case 'architecture':
93
+ config.architecture = this.parseArchitecture(sectionContent);
94
+ break;
95
+ case 'libraries':
96
+ case 'dependencies':
97
+ config.libraries = this.parseLibraries(sectionContent);
98
+ break;
99
+ case 'review checklist':
100
+ case 'reviewchecklist':
101
+ config.reviewChecklist = this.parseReviewChecklist(sectionContent);
102
+ break;
103
+ case 'tools':
104
+ config.tools = this.parseTools(sectionContent);
105
+ break;
106
+ case 'custom prompts':
107
+ case 'customprompts':
108
+ config.customPrompts = this.parseCustomPrompts(sectionContent);
109
+ break;
110
+ case 'agents':
111
+ config.agents = this.parseAgents(sectionContent);
112
+ break;
113
+ case 'mcp':
114
+ config.mcp = this.parseMcp(sectionContent);
115
+ break;
116
+ case 'hooks':
117
+ config.hooks = this.parseHooks(sectionContent);
118
+ break;
119
+ case 'ignore':
120
+ config.ignore = this.parseIgnore(sectionContent);
121
+ break;
122
+ default:
123
+ // Store unknown sections in metadata
124
+ if (!config.metadata)
125
+ config.metadata = {};
126
+ config.metadata[sectionName] = sectionContent.trim();
127
+ }
128
+ }
129
+ return config;
130
+ }
131
+ extractSections(content) {
132
+ const sections = {};
133
+ const lines = content.split('\n');
134
+ let currentSection = null;
135
+ let currentContent = [];
136
+ for (const line of lines) {
137
+ // Match headers (## or ###)
138
+ const headerMatch = line.match(/^(#{2,3})\s+(.+)$/);
139
+ if (headerMatch) {
140
+ // Save previous section
141
+ if (currentSection) {
142
+ sections[currentSection] = currentContent.join('\n').trim();
143
+ }
144
+ currentSection = headerMatch[2].trim();
145
+ currentContent = [];
146
+ }
147
+ else if (currentSection) {
148
+ currentContent.push(line);
149
+ }
150
+ }
151
+ // Save last section
152
+ if (currentSection) {
153
+ sections[currentSection] = currentContent.join('\n').trim();
154
+ }
155
+ return sections;
156
+ }
157
+ parseProject(content) {
158
+ const project = { name: '' };
159
+ const nameMatch = content.match(/\*\*Name:\*\*\s*(.+)/i) || content.match(/Name:\s*(.+)/i);
160
+ if (nameMatch)
161
+ project.name = nameMatch[1].trim();
162
+ const descMatch = content.match(/\*\*Description:\*\*\s*(.+)/i) || content.match(/Description:\s*(.+)/i);
163
+ if (descMatch)
164
+ project.description = descMatch[1].trim();
165
+ const langMatch = content.match(/\*\*Language:\*\*\s*(.+)/i) || content.match(/Language:\s*(.+)/i);
166
+ if (langMatch)
167
+ project.language = langMatch[1].trim();
168
+ const fwMatch = content.match(/\*\*Framework:\*\*\s*(.+)/i) || content.match(/Framework:\s*(.+)/i);
169
+ if (fwMatch)
170
+ project.framework = fwMatch[1].trim();
171
+ return project;
172
+ }
173
+ parseCodingStandards(content) {
174
+ const standards = {};
175
+ const styleMatch = content.match(/\*\*Style:\*\*\s*(.+)/i) || content.match(/Style:\s*(.+)/i);
176
+ if (styleMatch)
177
+ standards.style = styleMatch[1].trim();
178
+ const linterMatch = content.match(/\*\*Linter:\*\*\s*(.+)/i) || content.match(/Linter:\s*(.+)/i);
179
+ if (linterMatch)
180
+ standards.linter = linterMatch[1].trim();
181
+ const formatterMatch = content.match(/\*\*Formatter:\*\*\s*(.+)/i) || content.match(/Formatter:\s*(.+)/i);
182
+ if (formatterMatch)
183
+ standards.formatter = formatterMatch[1].trim();
184
+ const lineLengthMatch = content.match(/\*\*Max Line Length:\*\*\s*(\d+)/i) || content.match(/Max Line Length:\s*(\d+)/i);
185
+ if (lineLengthMatch)
186
+ standards.maxLineLength = parseInt(lineLengthMatch[1], 10);
187
+ const indentMatch = content.match(/\*\*Indent Size:\*\*\s*(\d+)/i) || content.match(/Indent Size:\s*(\d+)/i);
188
+ if (indentMatch)
189
+ standards.indentSize = parseInt(indentMatch[1], 10);
190
+ const tabsMatch = content.match(/\*\*Use Tabs:\*\*\s*(yes|no|true|false)/i) || content.match(/Use Tabs:\s*(yes|no|true|false)/i);
191
+ if (tabsMatch)
192
+ standards.useTabs = ['yes', 'true'].includes(tabsMatch[1].toLowerCase());
193
+ return standards;
194
+ }
195
+ parseArchitecture(content) {
196
+ const arch = {};
197
+ // Parse patterns list
198
+ const patternsMatch = content.match(/\*\*Patterns:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
199
+ if (patternsMatch) {
200
+ arch.patterns = patternsMatch[1]
201
+ .split('\n')
202
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
203
+ .filter((line) => line.length > 0);
204
+ }
205
+ // Parse conventions list
206
+ const conventionsMatch = content.match(/\*\*Conventions:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
207
+ if (conventionsMatch) {
208
+ arch.conventions = conventionsMatch[1]
209
+ .split('\n')
210
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
211
+ .filter((line) => line.length > 0);
212
+ }
213
+ // Parse design principles
214
+ const principlesMatch = content.match(/\*\*Design Principles:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
215
+ if (principlesMatch) {
216
+ arch.designPrinciples = principlesMatch[1]
217
+ .split('\n')
218
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
219
+ .filter((line) => line.length > 0);
220
+ }
221
+ const folderMatch = content.match(/\*\*Folder Structure:\*\*\s*(.+)/i) || content.match(/Folder Structure:\s*(.+)/i);
222
+ if (folderMatch)
223
+ arch.folderStructure = folderMatch[1].trim();
224
+ return arch;
225
+ }
226
+ parseLibraries(content) {
227
+ const libs = {};
228
+ // Parse preferred
229
+ const preferredMatch = content.match(/\*\*Preferred:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
230
+ if (preferredMatch) {
231
+ libs.preferred = preferredMatch[1]
232
+ .split('\n')
233
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
234
+ .filter((line) => line.length > 0);
235
+ }
236
+ // Parse avoid
237
+ const avoidMatch = content.match(/\*\*Avoid:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
238
+ if (avoidMatch) {
239
+ libs.avoid = avoidMatch[1]
240
+ .split('\n')
241
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
242
+ .filter((line) => line.length > 0);
243
+ }
244
+ // Parse testing
245
+ const testingMatch = content.match(/\*\*Testing:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
246
+ if (testingMatch) {
247
+ libs.testing = testingMatch[1]
248
+ .split('\n')
249
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
250
+ .filter((line) => line.length > 0);
251
+ }
252
+ // Parse utilities
253
+ const utilsMatch = content.match(/\*\*Utilities:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
254
+ if (utilsMatch) {
255
+ libs.utilities = utilsMatch[1]
256
+ .split('\n')
257
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
258
+ .filter((line) => line.length > 0);
259
+ }
260
+ return libs;
261
+ }
262
+ parseReviewChecklist(content) {
263
+ const checklist = {};
264
+ // Parse required
265
+ const requiredMatch = content.match(/\*\*Required:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
266
+ if (requiredMatch) {
267
+ checklist.required = requiredMatch[1]
268
+ .split('\n')
269
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
270
+ .filter((line) => line.length > 0);
271
+ }
272
+ // Parse recommended
273
+ const recommendedMatch = content.match(/\*\*Recommended:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
274
+ if (recommendedMatch) {
275
+ checklist.recommended = recommendedMatch[1]
276
+ .split('\n')
277
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
278
+ .filter((line) => line.length > 0);
279
+ }
280
+ // Parse security
281
+ const securityMatch = content.match(/\*\*Security:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
282
+ if (securityMatch) {
283
+ checklist.security = securityMatch[1]
284
+ .split('\n')
285
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
286
+ .filter((line) => line.length > 0);
287
+ }
288
+ // Parse performance
289
+ const perfMatch = content.match(/\*\*Performance:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
290
+ if (perfMatch) {
291
+ checklist.performance = perfMatch[1]
292
+ .split('\n')
293
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
294
+ .filter((line) => line.length > 0);
295
+ }
296
+ return checklist;
297
+ }
298
+ parseTools(content) {
299
+ const tools = {};
300
+ const buildMatch = content.match(/\*\*Build:\*\*\s*(.+)/i) || content.match(/Build:\s*(.+)/i);
301
+ if (buildMatch)
302
+ tools.build = buildMatch[1].trim();
303
+ const testMatch = content.match(/\*\*Test:\*\*\s*(.+)/i) || content.match(/Test:\s*(.+)/i);
304
+ if (testMatch)
305
+ tools.test = testMatch[1].trim();
306
+ const lintMatch = content.match(/\*\*Lint:\*\*\s*(.+)/i) || content.match(/Lint:\s*(.+)/i);
307
+ if (lintMatch)
308
+ tools.lint = lintMatch[1].trim();
309
+ const typecheckMatch = content.match(/\*\*Typecheck:\*\*\s*(.+)/i) || content.match(/Typecheck:\s*(.+)/i);
310
+ if (typecheckMatch)
311
+ tools.typecheck = typecheckMatch[1].trim();
312
+ return tools;
313
+ }
314
+ parseCustomPrompts(content) {
315
+ const prompts = {};
316
+ const systemMatch = content.match(/\*\*System Prompt:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
317
+ if (systemMatch)
318
+ prompts.systemPrompt = systemMatch[1].trim();
319
+ const beforeMatch = content.match(/\*\*Before Action:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
320
+ if (beforeMatch)
321
+ prompts.beforeAction = beforeMatch[1].trim();
322
+ const afterMatch = content.match(/\*\*After Action:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
323
+ if (afterMatch)
324
+ prompts.afterAction = afterMatch[1].trim();
325
+ const commitMatch = content.match(/\*\*Commit Message:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
326
+ if (commitMatch)
327
+ prompts.commitMessage = commitMatch[1].trim();
328
+ const prMatch = content.match(/\*\*PR Description:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
329
+ if (prMatch)
330
+ prompts.prDescription = prMatch[1].trim();
331
+ return prompts;
332
+ }
333
+ parseAgents(content) {
334
+ const agents = {};
335
+ const modelMatch = content.match(/\*\*Default Model:\*\*\s*(.+)/i) || content.match(/Default Model:\s*(.+)/i);
336
+ if (modelMatch)
337
+ agents.defaultModel = modelMatch[1].trim();
338
+ const providerMatch = content.match(/\*\*Default Provider:\*\*\s*(.+)/i) || content.match(/Default Provider:\s*(.+)/i);
339
+ if (providerMatch)
340
+ agents.defaultProvider = providerMatch[1].trim();
341
+ const skillsMatch = content.match(/\*\*Skills:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#|$)/i);
342
+ if (skillsMatch) {
343
+ agents.skills = skillsMatch[1]
344
+ .split('\n')
345
+ .map(line => line.replace(/^[-*]\s*/, '').trim())
346
+ .filter(line => line.length > 0);
347
+ }
348
+ const permMatch = content.match(/\*\*Permission Mode:\*\*\s*(.+)/i) || content.match(/Permission Mode:\s*(.+)/i);
349
+ if (permMatch) {
350
+ const mode = permMatch[1].trim().toLowerCase();
351
+ if (['ask', 'auto_accept_edits', 'plan', 'bypass'].includes(mode)) {
352
+ agents.permissionMode = mode;
353
+ }
354
+ }
355
+ return agents;
356
+ }
357
+ parseMcp(content) {
358
+ const mcp = {};
359
+ mcp.servers = [];
360
+ // Parse server definitions
361
+ const serverBlocks = content.match(/#{3,4}\s+(.+?)\n([\s\S]*?)(?=#{3,4}|\n#{2}|$)/g);
362
+ if (serverBlocks) {
363
+ for (const block of serverBlocks) {
364
+ const nameMatch = block.match(/#{3,4}\s+(.+)/);
365
+ if (!nameMatch)
366
+ continue;
367
+ const name = nameMatch[1].trim();
368
+ const commandMatch = block.match(/\*\*Command:\*\*\s*(.+)/i) || block.match(/Command:\s*(.+)/i);
369
+ const urlMatch = block.match(/\*\*URL:\*\*\s*(.+)/i) || block.match(/URL:\s*(.+)/i);
370
+ const server = { name };
371
+ if (commandMatch)
372
+ server.command = commandMatch[1].trim();
373
+ if (urlMatch)
374
+ server.url = urlMatch[1].trim();
375
+ // Parse env vars
376
+ const envMatch = block.match(/\*\*Environment:\*\*\s*([\s\S]*?)(?=\*\*|\n\n|\n#{2}|$)/i);
377
+ if (envMatch) {
378
+ server.env = {};
379
+ const envLines = envMatch[1].split('\n');
380
+ for (const line of envLines) {
381
+ const envVarMatch = line.match(/^[-*]\s*(\w+)=\s*(.+)/);
382
+ if (envVarMatch) {
383
+ server.env[envVarMatch[1]] = envVarMatch[2].trim();
384
+ }
385
+ }
386
+ }
387
+ mcp.servers.push(server);
388
+ }
389
+ }
390
+ return mcp;
391
+ }
392
+ parseHooks(content) {
393
+ const hooks = {};
394
+ const preEditMatch = content.match(/\*\*Pre-Edit:\*\*\s*(.+)/i) || content.match(/Pre-Edit:\s*(.+)/i);
395
+ if (preEditMatch)
396
+ hooks.preEdit = preEditMatch[1].trim();
397
+ const postEditMatch = content.match(/\*\*Post-Edit:\*\*\s*(.+)/i) || content.match(/Post-Edit:\s*(.+)/i);
398
+ if (postEditMatch)
399
+ hooks.postEdit = postEditMatch[1].trim();
400
+ const preCommitMatch = content.match(/\*\*Pre-Commit:\*\*\s*(.+)/i) || content.match(/Pre-Commit:\s*(.+)/i);
401
+ if (preCommitMatch)
402
+ hooks.preCommit = preCommitMatch[1].trim();
403
+ const postCommitMatch = content.match(/\*\*Post-Commit:\*\*\s*(.+)/i) || content.match(/Post-Commit:\s*(.+)/i);
404
+ if (postCommitMatch)
405
+ hooks.postCommit = postCommitMatch[1].trim();
406
+ return hooks;
407
+ }
408
+ parseIgnore(content) {
409
+ return content
410
+ .split('\n')
411
+ .map((line) => line.replace(/^[-*]\s*/, '').trim())
412
+ .filter((line) => line.length > 0 && !line.startsWith('#'));
413
+ }
414
+ getConfig() {
415
+ return this.config;
416
+ }
417
+ getFilePath() {
418
+ return this.filePath;
419
+ }
420
+ generateSystemPrompt() {
421
+ if (!this.config)
422
+ return '';
423
+ const parts = [];
424
+ // Project context
425
+ if (this.config.project) {
426
+ parts.push(`# Project: ${this.config.project.name}`);
427
+ if (this.config.project.description) {
428
+ parts.push(`Description: ${this.config.project.description}`);
429
+ }
430
+ if (this.config.project.language) {
431
+ parts.push(`Language: ${this.config.project.language}`);
432
+ }
433
+ if (this.config.project.framework) {
434
+ parts.push(`Framework: ${this.config.project.framework}`);
435
+ }
436
+ }
437
+ // Coding standards
438
+ if (this.config.codingStandards && Object.keys(this.config.codingStandards).length > 0) {
439
+ parts.push('\n## Coding Standards');
440
+ if (this.config.codingStandards.style) {
441
+ parts.push(`- Follow ${this.config.codingStandards.style} style guide`);
442
+ }
443
+ if (this.config.codingStandards.maxLineLength) {
444
+ parts.push(`- Max line length: ${this.config.codingStandards.maxLineLength}`);
445
+ }
446
+ if (this.config.codingStandards.useTabs !== undefined) {
447
+ parts.push(`- Use ${this.config.codingStandards.useTabs ? 'tabs' : 'spaces'} for indentation`);
448
+ }
449
+ }
450
+ // Architecture
451
+ if (this.config.architecture?.patterns?.length) {
452
+ parts.push('\n## Architecture Patterns');
453
+ this.config.architecture.patterns.forEach(pattern => {
454
+ parts.push(`- ${pattern}`);
455
+ });
456
+ }
457
+ if (this.config.architecture?.conventions?.length) {
458
+ parts.push('\n## Conventions');
459
+ this.config.architecture.conventions.forEach(convention => {
460
+ parts.push(`- ${convention}`);
461
+ });
462
+ }
463
+ // Libraries
464
+ if (this.config.libraries?.preferred?.length) {
465
+ parts.push('\n## Preferred Libraries');
466
+ this.config.libraries.preferred.forEach(lib => {
467
+ parts.push(`- ${lib}`);
468
+ });
469
+ }
470
+ if (this.config.libraries?.avoid?.length) {
471
+ parts.push('\n## Libraries to Avoid');
472
+ this.config.libraries.avoid.forEach(lib => {
473
+ parts.push(`- ${lib}`);
474
+ });
475
+ }
476
+ // Review checklist
477
+ if (this.config.reviewChecklist?.required?.length) {
478
+ parts.push('\n## Required Review Checklist');
479
+ this.config.reviewChecklist.required.forEach(item => {
480
+ parts.push(`- [ ] ${item}`);
481
+ });
482
+ }
483
+ // Custom system prompt
484
+ if (this.config.customPrompts?.systemPrompt) {
485
+ parts.push('\n## Additional Instructions');
486
+ parts.push(this.config.customPrompts.systemPrompt);
487
+ }
488
+ return parts.join('\n');
489
+ }
490
+ async executeHook(hookName, cwd) {
491
+ if (!this.config?.hooks?.[hookName]) {
492
+ return { success: true };
493
+ }
494
+ const command = this.config.hooks[hookName];
495
+ if (!command)
496
+ return { success: true };
497
+ try {
498
+ const { exec } = await Promise.resolve().then(() => __importStar(require('child_process')));
499
+ const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
500
+ const execAsync = promisify(exec);
501
+ electron_log_1.default.info(`Executing hook ${String(hookName)}: ${command}`);
502
+ const { stdout, stderr } = await execAsync(command, { cwd });
503
+ return {
504
+ success: true,
505
+ output: stdout || stderr
506
+ };
507
+ }
508
+ catch (error) {
509
+ electron_log_1.default.error(`Hook ${String(hookName)} failed:`, error);
510
+ return {
511
+ success: false,
512
+ error: error.message
513
+ };
514
+ }
515
+ }
516
+ }
517
+ exports.ClaudeMdParser = ClaudeMdParser;
518
+ exports.claudeMdParser = new ClaudeMdParser();
519
+ //# sourceMappingURL=ClaudeMdParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeMdParser.js","sourceRoot":"","sources":["../../../src/main/config/ClaudeMdParser.ts"],"names":[],"mappings":"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"}