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,476 @@
1
+ # Codex Linux - User Guide
2
+
3
+ ## Table of Contents
4
+ 1. [Installation](#installation)
5
+ 2. [Quick Start](#quick-start)
6
+ 3. [Interface Overview](#interface-overview)
7
+ 4. [Features](#features)
8
+ 5. [Agents](#agents)
9
+ 6. [Skills](#skills)
10
+ 7. [Git Integration](#git-integration)
11
+ 8. [Automation](#automation)
12
+ 9. [CLI Usage](#cli-usage)
13
+ 10. [VS Code Extension](#vs-code-extension)
14
+ 11. [Configuration](#configuration)
15
+ 12. [Troubleshooting](#troubleshooting)
16
+
17
+ ---
18
+
19
+ ## Installation
20
+
21
+ ### Prerequisites
22
+ - Node.js 18+
23
+ - Git
24
+ - npm or pnpm
25
+
26
+ ### Linux Installation
27
+
28
+ ```bash
29
+ # Clone the repository
30
+ git clone https://github.com/codex-linux/codex-linux-app.git
31
+ cd codex-linux-app
32
+
33
+ # Install dependencies
34
+ npm install
35
+
36
+ # Build the application
37
+ npm run build
38
+
39
+ # Run in development mode
40
+ npm run dev
41
+
42
+ # Package for Linux
43
+ npm run package:linux
44
+ ```
45
+
46
+ ### Docker Installation
47
+
48
+ ```bash
49
+ # Using docker-compose
50
+ docker-compose up -d
51
+
52
+ # Access the application
53
+ # Open http://localhost:3000 in your browser
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Quick Start
59
+
60
+ 1. **Launch Codex Linux**: Run `npm run dev` or launch the packaged app
61
+ 2. **Configure API Keys**: Go to Settings and add your OpenAI/Anthropic API keys
62
+ 3. **Create Your First Agent**: Click "+ New Agent" in the sidebar
63
+ 4. **Start Coding**: Use the chat interface to instruct your agent
64
+
65
+ ---
66
+
67
+ ## Interface Overview
68
+
69
+ ### Main Layout
70
+ - **Sidebar**: Navigation, agents list, file explorer
71
+ - **Main Panel**: Chat interface, code editor, diff viewer
72
+ - **Terminal**: Integrated terminal for command execution
73
+ - **Header**: App controls, search, settings
74
+
75
+ ### Panels
76
+ - **Chat Interface**: AI-powered conversations with agents
77
+ - **File Explorer**: Browse and manage project files
78
+ - **Git Panel**: Version control operations
79
+ - **Skills Panel**: Manage AI skills and instructions
80
+ - **Automation Panel**: Schedule and run automated tasks
81
+
82
+ ---
83
+
84
+ ## Features
85
+
86
+ ### Multi-Agent Orchestration
87
+ Run multiple AI agents in parallel with isolated workspaces:
88
+ - Each agent gets its own Git worktree
89
+ - Agents can collaborate on complex tasks
90
+ - Real-time status updates
91
+
92
+ ### Code Editor (Monaco)
93
+ - Syntax highlighting for 50+ languages
94
+ - Auto-completion and IntelliSense
95
+ - Diff view for code review
96
+ - Multiple themes (VS Dark, Light, High Contrast)
97
+
98
+ ### Git Integration
99
+ - Worktree management per agent
100
+ - Branch creation and switching
101
+ - Commit history visualization
102
+ - PR monitoring and auto-merge
103
+
104
+ ### Skills System
105
+ Define custom AI behaviors:
106
+ - Code review skills
107
+ - Refactoring skills
108
+ - Testing skills
109
+ - Custom skill creation
110
+
111
+ ### Automation
112
+ Schedule recurring tasks:
113
+ - Code quality checks
114
+ - Automated testing
115
+ - Deployment scripts
116
+ - Custom cron schedules
117
+
118
+ ---
119
+
120
+ ## Agents
121
+
122
+ ### Creating an Agent
123
+ ```bash
124
+ # Via CLI
125
+ codex agent create --name "MyAgent" --skill "code-review"
126
+
127
+ # Via UI
128
+ 1. Click "+ New Agent"
129
+ 2. Configure name, skills, and worktree
130
+ 3. Click "Create"
131
+ ```
132
+
133
+ ### Agent Configuration
134
+ - **Name**: Unique identifier
135
+ - **Skills**: Attached AI capabilities
136
+ - **Worktree**: Isolated Git branch
137
+ - **Model**: AI model to use (GPT-4, Claude, etc.)
138
+
139
+ ### Managing Agents
140
+ - Start/Stop agents
141
+ - View agent logs
142
+ - Delete inactive agents
143
+ - Monitor resource usage
144
+
145
+ ---
146
+
147
+ ## Skills
148
+
149
+ ### Built-in Skills
150
+
151
+ #### Code Review
152
+ Analyzes code for:
153
+ - Security vulnerabilities
154
+ - Performance issues
155
+ - Code quality
156
+ - Best practices
157
+
158
+ #### Refactoring
159
+ Suggests improvements for:
160
+ - Code structure
161
+ - Naming conventions
162
+ - Design patterns
163
+ - Technical debt
164
+
165
+ #### Testing
166
+ Generates:
167
+ - Unit tests
168
+ - Integration tests
169
+ - E2E tests
170
+ - Test coverage reports
171
+
172
+ ### Custom Skills
173
+
174
+ Create custom skills in `assets/skills/`:
175
+
176
+ ```yaml
177
+ name: my-custom-skill
178
+ description: Custom skill description
179
+ instructions: |
180
+ You are an expert in...
181
+ When analyzing code, look for:
182
+ - Performance bottlenecks
183
+ - Security issues
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Git Integration
189
+
190
+ ### Worktrees
191
+ Each agent works in an isolated Git worktree:
192
+ ```bash
193
+ # Create worktree for agent
194
+ codex worktree create --agent my-agent --branch feature/new-feature
195
+
196
+ # List all worktrees
197
+ codex worktree list
198
+
199
+ # Delete worktree
200
+ codex worktree delete --agent my-agent
201
+ ```
202
+
203
+ ### PR Monitoring
204
+ Configure GitHub PR auto-handling:
205
+ - Auto-review on PR creation
206
+ - Auto-fix linting errors
207
+ - Auto-merge when checks pass
208
+
209
+ ---
210
+
211
+ ## Automation
212
+
213
+ ### Creating Automations
214
+ ```bash
215
+ # Create scheduled automation
216
+ codex automation create \
217
+ --name "daily-build" \
218
+ --schedule "0 9 * * *" \
219
+ --command "npm run build"
220
+ ```
221
+
222
+ ### Available Triggers
223
+ - **Cron**: Time-based scheduling
224
+ - **Git Hooks**: Post-commit, pre-push
225
+ - **File Watch**: On file change
226
+ - **Manual**: On-demand execution
227
+
228
+ ---
229
+
230
+ ## CLI Usage
231
+
232
+ ### Installation
233
+ ```bash
234
+ # Install CLI globally
235
+ npm install -g @codex-linux/cli
236
+
237
+ # Or use npx
238
+ npx @codex-linux/cli [command]
239
+ ```
240
+
241
+ ### Commands
242
+
243
+ #### Agent Management
244
+ ```bash
245
+ codex agents list # List all agents
246
+ codex agents create # Create new agent
247
+ codex agents start <id> # Start agent
248
+ codex agents stop <id> # Stop agent
249
+ codex agents logs <id> # View agent logs
250
+ ```
251
+
252
+ #### Task Management
253
+ ```bash
254
+ codex tasks list # List running tasks
255
+ codex tasks create # Create new task
256
+ codex tasks cancel <id> # Cancel task
257
+ codex tasks logs <id> # View task logs
258
+ ```
259
+
260
+ #### File Operations
261
+ ```bash
262
+ codex files read <path> # Read file contents
263
+ codex files write <path> # Write to file
264
+ codex files diff <path> # Show file diff
265
+ codex files search <query> # Search files
266
+ ```
267
+
268
+ ---
269
+
270
+ ## VS Code Extension
271
+
272
+ ### Installation
273
+ 1. Open VS Code
274
+ 2. Go to Extensions (Ctrl+Shift+X)
275
+ 3. Search "Codex Linux"
276
+ 4. Click Install
277
+
278
+ ### Features
279
+ - **Agent Panel**: Manage agents from VS Code
280
+ - **Chat Integration**: Chat with agents inline
281
+ - **Code Actions**: AI-powered code suggestions
282
+ - **Inline Completion**: Smart code completion
283
+
284
+ ### Configuration
285
+ ```json
286
+ {
287
+ "codexLinux.endpoint": "http://localhost:3000",
288
+ "codexLinux.apiKey": "your-api-key",
289
+ "codexLinux.defaultModel": "gpt-4"
290
+ }
291
+ ```
292
+
293
+ ---
294
+
295
+ ## Configuration
296
+
297
+ ### Environment Variables
298
+ ```bash
299
+ # .env
300
+ OPENAI_API_KEY=sk-...
301
+ ANTHROPIC_API_KEY=sk-ant-...
302
+ DATABASE_PATH=./data/codex.db
303
+ PORT=3000
304
+ LOG_LEVEL=info
305
+ ```
306
+
307
+ ### Settings UI
308
+ Access settings via:
309
+ - **Menu**: Settings > Preferences
310
+ - **Shortcut**: Ctrl+,
311
+ - **CLI**: `codex settings`
312
+
313
+ ---
314
+
315
+ ## Frequently Asked Questions (FAQ)
316
+
317
+ ### General
318
+
319
+ **Q: What is Codex Linux?**
320
+ A: Codex Linux is a powerful AI-powered coding assistant that runs locally on your Linux machine. It leverages OpenAI's Codex and Claude models to help you write, debug, and refactor code.
321
+
322
+ **Q: How is Codex Linux different from Claude Code?**
323
+ A: Codex Linux is designed specifically for Linux with native integrations (Git worktrees, terminal, file system), while providing similar AI agent capabilities with additional enterprise features.
324
+
325
+ **Q: Is Codex Linux free to use?**
326
+ A: The application itself is open source. However, you'll need to provide your own API keys for AI providers (OpenAI, Anthropic, etc.).
327
+
328
+ ### Installation
329
+
330
+ **Q: What are the system requirements?**
331
+ A:
332
+ - Linux distribution (Ubuntu 20.04+ recommended)
333
+ - Node.js 18+
334
+ - Git
335
+ - 4GB RAM minimum (8GB recommended)
336
+ - 500MB disk space
337
+
338
+ **Q: Installation fails with permission errors**
339
+ A: Try running with sudo or fix npm permissions:
340
+ ```bash
341
+ mkdir ~/.npm-global
342
+ npm config set prefix '~/.npm-global'
343
+ export PATH=~/.npm-global/bin:$PATH
344
+ ```
345
+
346
+ **Q: Application won't start after installation**
347
+ A:
348
+ 1. Check Node.js version: `node --version` (must be 18+)
349
+ 2. Clear cache: `npm cache clean --force`
350
+ 3. Reinstall: `rm -rf node_modules && npm install`
351
+
352
+ ### Usage
353
+
354
+ **Q: How do I create an agent?**
355
+ A: Click "+ New Agent" in the sidebar, give your agent a name and project path, then click "Create Agent".
356
+
357
+ **Q: Can I use multiple AI providers?**
358
+ A: Yes! Go to Settings > AI Providers to configure multiple providers (OpenAI, Anthropic, etc.). You can set a default provider or specify per-agent.
359
+
360
+ **Q: How do permissions work?**
361
+ A:
362
+ - **Ask**: Agent asks before each action
363
+ - **Auto-accept edits**: Auto-accepts file edits, asks for commands
364
+ - **Plan**: Only analyzes, doesn't make changes
365
+ - **Bypass**: No permission prompts (use with caution)
366
+
367
+ **Q: Can I use my own fine-tuned models?**
368
+ A: Yes! Configure custom providers in Settings > AI Providers with your fine-tuned model endpoints.
369
+
370
+ ### Features
371
+
372
+ **Q: What are Skills?**
373
+ A: Skills are reusable AI capabilities (code review, refactoring, testing) that can be applied to agents. See the Skills panel for available options.
374
+
375
+ **Q: How do worktrees work?**
376
+ A: Git worktrees let you work on multiple branches simultaneously. Create a worktree from the Worktrees panel - each gets its own isolated directory.
377
+
378
+ **Q: Can I automate tasks?**
379
+ A: Yes! Use the Automation panel to create scheduled tasks, git hooks, or file watchers.
380
+
381
+ ### Troubleshooting
382
+
383
+ **Q: API key errors**
384
+ A:
385
+ ```bash
386
+ # Set environment variable
387
+ export OPENAI_API_KEY=sk-your-key
388
+ # Or configure in Settings UI
389
+ ```
390
+
391
+ **Q: Slow performance**
392
+ A:
393
+ - Close unused agents
394
+ - Reduce context window size in settings
395
+ - Use a faster model (gpt-4o-mini)
396
+ - Check system resources
397
+
398
+ **Q: Database locked**
399
+ A:
400
+ ```bash
401
+ pkill -f codex
402
+ rm ~/.config/codex/codex.db
403
+ npm run dev
404
+ ```
405
+
406
+ **Q: Extension not working**
407
+ A: Reload VS Code: `Developer: Reload Window` from command palette
408
+
409
+ ---
410
+
411
+ ## Troubleshooting
412
+
413
+ ### Common Issues
414
+
415
+ #### "API Key not found"
416
+ ```bash
417
+ # Set API key
418
+ export OPENAI_API_KEY=sk-...
419
+ # Or use settings UI
420
+ ```
421
+
422
+ #### "Database locked"
423
+ ```bash
424
+ # Kill existing processes
425
+ pkill -f codex-linux
426
+ # Restart application
427
+ npm run dev
428
+ ```
429
+
430
+ #### "Build failed"
431
+ ```bash
432
+ # Clear node_modules and reinstall
433
+ rm -rf node_modules
434
+ npm install
435
+ npm run build
436
+ ```
437
+
438
+ ### Logs
439
+ - **Application logs**: `~/.codex-linux/logs/`
440
+ - **CLI logs**: `~/.codex-linux/cli.log`
441
+ - **Database**: `~/.codex-linux/codex.db`
442
+
443
+ ### Getting Help
444
+ - GitHub Issues: https://github.com/codex-linux/codex-linux-app/issues
445
+ - Discord: https://discord.gg/codex-linux
446
+ - Documentation: https://docs.codex-linux.dev
447
+
448
+ ---
449
+
450
+ ## Keyboard Shortcuts
451
+
452
+ | Action | Shortcut |
453
+ |--------|----------|
454
+ | New Chat | Ctrl+N |
455
+ | Search | Ctrl+K |
456
+ | Settings | Ctrl+, |
457
+ | Toggle Sidebar | Ctrl+B |
458
+ | Toggle Terminal | Ctrl+` |
459
+ | Save File | Ctrl+S |
460
+ | Format Code | Shift+Alt+F |
461
+ | Quick Actions | Ctrl+Shift+P |
462
+
463
+ ---
464
+
465
+ ## Security
466
+
467
+ - All data encrypted at rest (AES-256)
468
+ - API keys stored securely
469
+ - Audit logging for all operations
470
+ - Sandboxed agent execution
471
+
472
+ ---
473
+
474
+ ## License
475
+
476
+ MIT License - See LICENSE file for details
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "codex-sample-plugin",
3
+ "version": "1.0.0",
4
+ "description": "A sample plugin for Codex Linux demonstrating the plugin API",
5
+ "main": "dist/index.js",
6
+ "author": "Codex Linux Team",
7
+ "license": "MIT",
8
+ "engines": {
9
+ "codex": "^1.0.0"
10
+ },
11
+ "contributes": {
12
+ "commands": [
13
+ {
14
+ "command": "sample.hello",
15
+ "title": "Say Hello",
16
+ "category": "Sample"
17
+ },
18
+ {
19
+ "command": "sample.showInfo",
20
+ "title": "Show Plugin Info",
21
+ "category": "Sample"
22
+ }
23
+ ],
24
+ "menus": {
25
+ "commandPalette": [
26
+ {
27
+ "command": "sample.hello",
28
+ "group": "sample"
29
+ },
30
+ {
31
+ "command": "sample.showInfo",
32
+ "group": "sample"
33
+ }
34
+ ]
35
+ }
36
+ },
37
+ "activationEvents": [
38
+ "onCommand:sample.hello",
39
+ "onCommand:sample.showInfo"
40
+ ]
41
+ }
@@ -0,0 +1,75 @@
1
+ import type { PluginContext } from '../../../src/main/plugins/PluginManager';
2
+
3
+ export default class SamplePlugin {
4
+ private context: PluginContext;
5
+ private disposables: Array<() => void> = [];
6
+
7
+ constructor(context: PluginContext) {
8
+ this.context = context;
9
+ }
10
+
11
+ async activate(): Promise<void> {
12
+ this.context.log.info('Sample plugin activated');
13
+
14
+ // Register commands
15
+ this.context.registerCommand('sample.hello', () => {
16
+ this.showHello();
17
+ });
18
+
19
+ this.context.registerCommand('sample.showInfo', () => {
20
+ this.showInfo();
21
+ });
22
+
23
+ // Subscribe to events
24
+ this.context.subscribe('agent:created', (data: any) => {
25
+ this.context.log.info(`Agent created: ${data.agentId}`);
26
+ });
27
+
28
+ this.context.subscribe('agent:message', (data: any) => {
29
+ this.context.log.debug(`New message in agent ${data.agentId}`);
30
+ });
31
+
32
+ // Add menu items
33
+ this.context.registerMenu('agent:context', [
34
+ {
35
+ command: 'sample.hello',
36
+ group: 'sample',
37
+ },
38
+ ]);
39
+ }
40
+
41
+ async deactivate(): Promise<void> {
42
+ this.context.log.info('Sample plugin deactivated');
43
+
44
+ // Clean up disposables
45
+ this.disposables.forEach(dispose => dispose());
46
+ this.disposables = [];
47
+ }
48
+
49
+ private showHello(): void {
50
+ this.context.emit('notification:show', {
51
+ title: 'Sample Plugin',
52
+ body: 'Hello from the sample plugin! 👋',
53
+ });
54
+ }
55
+
56
+ private showInfo(): void {
57
+ const info = {
58
+ name: 'Codex Sample Plugin',
59
+ version: '1.0.0',
60
+ features: [
61
+ 'Command registration',
62
+ 'Event subscription',
63
+ 'Menu contributions',
64
+ 'Notifications',
65
+ ],
66
+ };
67
+
68
+ this.context.log.info('Plugin info:', info);
69
+
70
+ this.context.emit('notification:show', {
71
+ title: 'Plugin Info',
72
+ body: `Sample Plugin v${info.version}\nFeatures: ${info.features.join(', ')}`,
73
+ });
74
+ }
75
+ }
package/index.html ADDED
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <link rel="manifest" href="/manifest.json" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
8
+ <meta name="theme-color" content="#404040" />
9
+ <meta name="description" content="Codex Linux - Multi-agent AI coding command center" />
10
+ <meta name="apple-mobile-web-app-capable" content="yes" />
11
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
12
+ <meta name="apple-mobile-web-app-title" content="Codex" />
13
+ <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob:; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https://api.openai.com https://api.anthropic.com ws://localhost:*;">
14
+ <title>Codex Linux</title>
15
+ </head>
16
+ <body>
17
+ <div id="root"></div>
18
+ <script type="module" src="/src/renderer/main.tsx"></script>
19
+ </body>
20
+ </html>
package/jest.config.js ADDED
@@ -0,0 +1,39 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ roots: ['<rootDir>/src', '<rootDir>/tests'],
5
+ testPathIgnorePatterns: ['<rootDir>/tests/e2e/'],
6
+ testMatch: [
7
+ '**/__tests__/**/*.ts',
8
+ '**/?(*.)+(spec|test).ts'
9
+ ],
10
+ transform: {
11
+ '^.+\\.ts$': ['ts-jest', {
12
+ tsconfig: {
13
+ esModuleInterop: true,
14
+ allowSyntheticDefaultImports: true,
15
+ module: 'commonjs',
16
+ target: 'es2020',
17
+ moduleResolution: 'node'
18
+ }
19
+ }],
20
+ },
21
+ collectCoverageFrom: [
22
+ 'src/**/*.ts',
23
+ '!src/**/*.d.ts',
24
+ '!src/main/preload.ts',
25
+ '!src/renderer/**/*'
26
+ ],
27
+ coverageDirectory: 'coverage',
28
+ coverageReporters: [
29
+ 'text',
30
+ 'lcov',
31
+ 'html'
32
+ ],
33
+ setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
34
+ moduleNameMapper: {
35
+ '^@shared/(.*)$': '<rootDir>/src/shared/$1',
36
+ '^@main/(.*)$': '<rootDir>/src/main/$1'
37
+ },
38
+ testTimeout: 30000
39
+ };