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
package/README.md ADDED
@@ -0,0 +1,245 @@
1
+ # Codex Linux
2
+
3
+ A Linux port of OpenAI Codex - A powerful command center for managing multiple AI coding agents in parallel.
4
+
5
+ ## Features
6
+
7
+ - **Multi-Agent Orchestration**: Manage multiple AI agents working in parallel on different tasks
8
+ - **Git Worktrees**: Isolate agent changes in separate worktrees for safe experimentation
9
+ - **Skills System**: Create and apply reusable skills to customize agent behavior
10
+ - **Automation**: Schedule recurring tasks and create automated workflows
11
+ - **Multi-Provider Support**: Works with OpenAI (GPT-4, GPT-5, Codex) and Anthropic (Claude) models
12
+ - **Change Review**: Review, approve, or reject agent code changes before applying
13
+ - **Linux Native**: Built specifically for Linux with AppImage, deb, and rpm packages
14
+
15
+ ## Installation
16
+
17
+ ### Quick Install (Recommended)
18
+
19
+ Choose one of these two universal methods:
20
+
21
+ #### Option 1: Curl (Universal - All Linux Distributions)
22
+
23
+ ```bash
24
+ curl -fsSL https://codex-linux.dev/install.sh | bash
25
+ ```
26
+
27
+ This installs the AppImage to `~/.local/bin/` and creates a desktop entry.
28
+
29
+ **With sudo (system-wide install):**
30
+ ```bash
31
+ curl -fsSL https://codex-linux.dev/install.sh | bash -s -- --system
32
+ ```
33
+
34
+ **Uninstall:**
35
+ ```bash
36
+ curl -fsSL https://codex-linux.dev/install.sh | bash -s -- --uninstall
37
+ ```
38
+
39
+ #### Option 2: NPM (For Node.js developers)
40
+
41
+ ```bash
42
+ # Install globally
43
+ npm install -g codex-linux
44
+
45
+ # Or run without installing
46
+ npx codex-linux
47
+ ```
48
+
49
+ **Update:**
50
+ ```bash
51
+ npm update -g codex-linux
52
+ ```
53
+
54
+ ### Prerequisites
55
+
56
+ - Node.js 18+ (for NPM install)
57
+ - Git (for source install)
58
+ - Linux (Ubuntu 20.04+, Fedora 35+, Arch Linux, etc.)
59
+
60
+ ### From Source
61
+
62
+ ```bash
63
+ # Clone the repository
64
+ git clone https://github.com/yourusername/codex-linux.git
65
+ cd codex-linux
66
+
67
+ # Install dependencies
68
+ npm install
69
+
70
+ # Build the application
71
+ npm run build
72
+
73
+ # Run in development mode
74
+ npm run dev
75
+
76
+ # Package for Linux
77
+ npm run package:linux
78
+ ```
79
+
80
+ ### Pre-built Packages
81
+
82
+ Download the latest release from [GitHub Releases](https://github.com/ranker-org/codex-linux-app/releases):
83
+
84
+ - **AppImage** (Universal): `Codex-Linux-x.x.x.AppImage` - Works on all distributions
85
+ - **Debian/Ubuntu**: `codex-linux_x.x.x_amd64.deb`
86
+ - **Fedora/RHEL**: `codex-linux-x.x.x.x86_64.rpm`
87
+
88
+ ## Quick Start
89
+
90
+ 1. **Launch Codex Linux** - Run the application from your applications menu or terminal
91
+
92
+ 2. **Configure AI Provider**:
93
+ - Go to Settings → AI Providers
94
+ - Add your OpenAI or Anthropic API key
95
+ - Test the connection
96
+
97
+ 3. **Create Your First Agent**:
98
+ - Click "+ New Agent"
99
+ - Select a project folder
100
+ - Choose a provider and model
101
+ - Optionally apply skills
102
+
103
+ 4. **Start Coding**:
104
+ - Send messages to your agent
105
+ - Assign tasks for parallel execution
106
+ - Review changes in worktrees
107
+
108
+ ## Configuration
109
+
110
+ ### Environment Variables
111
+
112
+ ```bash
113
+ # Optional: Set default API keys
114
+ export OPENAI_API_KEY="your-key-here"
115
+ export ANTHROPIC_API_KEY="your-key-here"
116
+ ```
117
+
118
+ ### Settings File
119
+
120
+ Settings are stored in `~/.config/codex/config.json`:
121
+
122
+ ```json
123
+ {
124
+ "theme": "dark",
125
+ "defaultProvider": "openai",
126
+ "defaultModel": "gpt-4o",
127
+ "maxParallelAgents": 5,
128
+ "shortcuts": {
129
+ "agent:new": "Ctrl+Shift+N",
130
+ "agent:send": "Ctrl+Enter"
131
+ }
132
+ }
133
+ ```
134
+
135
+ ## Skills
136
+
137
+ Skills are reusable instructions that customize agent behavior:
138
+
139
+ 1. Create skills in the Skills panel
140
+ 2. Write instructions in markdown
141
+ 3. Apply skills to agents when creating or editing
142
+
143
+ ### Example Skill Structure
144
+
145
+ ```
146
+ ~/.config/codex/skills/my-skill/
147
+ ├── skill.yaml # Skill metadata
148
+ ├── instructions.md # Core instructions
149
+ └── templates/
150
+ └── code-review.md # Review template
151
+ ```
152
+
153
+ ## Automations
154
+
155
+ Create automated workflows:
156
+
157
+ - **Schedule**: Run on cron schedule (e.g., daily code review)
158
+ - **Event**: Trigger on git events or file changes
159
+ - **Webhook**: Trigger via HTTP requests
160
+ - **Manual**: Run on demand
161
+
162
+ ## Worktrees
163
+
164
+ Git worktrees provide isolated environments for each agent:
165
+
166
+ - Changes are isolated from main branch
167
+ - Easy to review and merge
168
+ - Automatic cleanup on agent deletion
169
+ - Visual diff and merge tools
170
+
171
+ ## Keyboard Shortcuts
172
+
173
+ | Action | Shortcut |
174
+ |--------|----------|
175
+ | New Agent | `Ctrl+Shift+N` |
176
+ | Send Message | `Ctrl+Enter` |
177
+ | New Worktree | `Ctrl+Shift+W` |
178
+ | Open Skills | `Ctrl+Shift+S` |
179
+ | Open Automations | `Ctrl+Shift+A` |
180
+ | Open Settings | `Ctrl+,` |
181
+ | Command Palette | `Ctrl+Shift+P` |
182
+
183
+ ## Architecture
184
+
185
+ ```
186
+ codex-linux/
187
+ ├── src/
188
+ │ ├── main/ # Electron main process
189
+ │ │ ├── agents/ # Agent orchestration
190
+ │ │ ├── git/ # Git worktree management
191
+ │ │ ├── skills/ # Skills system
192
+ │ │ ├── automations/ # Automation scheduler
193
+ │ │ └── providers/ # AI provider integrations
194
+ │ ├── renderer/ # React frontend
195
+ │ │ └── components/ # UI components
196
+ │ └── shared/ # Shared types
197
+ ├── assets/ # Icons and images
198
+ └── tests/ # Test suites
199
+ ```
200
+
201
+ ## Development
202
+
203
+ ### Running Tests
204
+
205
+ ```bash
206
+ npm test
207
+ ```
208
+
209
+ ### Linting
210
+
211
+ ```bash
212
+ npm run lint
213
+ npm run lint:fix
214
+ ```
215
+
216
+ ### Type Checking
217
+
218
+ ```bash
219
+ npm run typecheck
220
+ ```
221
+
222
+ ## Contributing
223
+
224
+ 1. Fork the repository
225
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
226
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
227
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
228
+ 5. Open a Pull Request
229
+
230
+ ## License
231
+
232
+ MIT License - see [LICENSE](LICENSE) file for details.
233
+
234
+ ## Acknowledgments
235
+
236
+ - Inspired by OpenAI Codex
237
+ - Built with Electron, React, and TypeScript
238
+ - Uses Simple Git for git operations
239
+ - Icons by Lucide
240
+
241
+ ## Support
242
+
243
+ - GitHub Issues: [Report bugs or request features](https://github.com/yourusername/codex-linux/issues)
244
+ - Documentation: [Full documentation](https://codex-linux.readthedocs.io)
245
+ - Discord: [Join our community](https://discord.gg/codex-linux)
@@ -0,0 +1,102 @@
1
+ # Code Review Guidelines
2
+
3
+ When reviewing code, please follow these comprehensive guidelines:
4
+
5
+ ## 1. Code Quality
6
+
7
+ ### Readability
8
+ - Is the code easy to understand?
9
+ - Are variable and function names descriptive?
10
+ - Is the code properly formatted and indented?
11
+ - Are complex sections commented?
12
+
13
+ ### Maintainability
14
+ - Is the code modular and reusable?
15
+ - Are functions small and focused?
16
+ - Is there appropriate separation of concerns?
17
+ - Are there any code smells or anti-patterns?
18
+
19
+ ## 2. Functionality
20
+
21
+ ### Correctness
22
+ - Does the code work as intended?
23
+ - Are edge cases handled properly?
24
+ - Are errors handled gracefully?
25
+ - Is input validated?
26
+
27
+ ### Testing
28
+ - Are there adequate unit tests?
29
+ - Are integration tests included where needed?
30
+ - Is test coverage sufficient?
31
+ - Are edge cases tested?
32
+
33
+ ## 3. Performance
34
+
35
+ ### Efficiency
36
+ - Are there any obvious performance bottlenecks?
37
+ - Are expensive operations optimized?
38
+ - Is memory usage reasonable?
39
+ - Are loops and iterations efficient?
40
+
41
+ ### Scalability
42
+ - Will the code scale with increased load?
43
+ - Are there any hard limits that could cause issues?
44
+ - Is caching used appropriately?
45
+
46
+ ## 4. Security
47
+
48
+ ### Best Practices
49
+ - Is user input sanitized?
50
+ - Are secrets and credentials properly handled?
51
+ - Are there SQL injection vulnerabilities?
52
+ - Is XSS prevention in place?
53
+
54
+ ### Authentication & Authorization
55
+ - Are access controls properly implemented?
56
+ - Is authentication handled securely?
57
+ - Are sensitive operations properly protected?
58
+
59
+ ## 5. Documentation
60
+
61
+ ### Code Documentation
62
+ - Are public APIs documented?
63
+ - Are complex algorithms explained?
64
+ - Are there README files where needed?
65
+ - Is the documentation up to date?
66
+
67
+ ### Comments
68
+ - Are comments clear and helpful?
69
+ - Do comments explain "why" not just "what"?
70
+ - Is there dead code or commented-out code?
71
+
72
+ ## Review Checklist
73
+
74
+ Before approving, ensure:
75
+
76
+ - [ ] Code compiles/builds without errors
77
+ - [ ] Tests pass
78
+ - [ ] No console.log or debug statements left in production code
79
+ - [ ] No sensitive data exposed
80
+ - [ ] Documentation updated if needed
81
+ - [ ] Breaking changes documented
82
+ - [ ] Backward compatibility considered
83
+
84
+ ## Communication
85
+
86
+ When providing feedback:
87
+
88
+ 1. **Be Constructive**: Focus on the code, not the person
89
+ 2. **Explain Why**: Provide reasoning for suggestions
90
+ 3. **Suggest Solutions**: Don't just point out problems
91
+ 4. **Acknowledge Good Work**: Highlight what was done well
92
+ 5. **Be Specific**: Reference specific lines and provide examples
93
+
94
+ ## Priority Levels
95
+
96
+ - **Critical**: Security vulnerabilities, data loss risks
97
+ - **High**: Major functionality issues, performance problems
98
+ - **Medium**: Code quality issues, missing tests
99
+ - **Low**: Style preferences, minor optimizations
100
+ - **Suggestion**: Alternative approaches, future improvements
101
+
102
+ Remember: The goal is to improve code quality while maintaining a positive, collaborative environment.
@@ -0,0 +1,15 @@
1
+ id: code-review-skill
2
+ name: Code Review
3
+ version: "1.0.0"
4
+ author: Codex Linux Team
5
+ description: Comprehensive code review guidelines for maintaining code quality
6
+ entryPoint: instructions.md
7
+ tags:
8
+ - review
9
+ - quality
10
+ - best-practices
11
+ parameters: []
12
+ dependencies: []
13
+ permissions:
14
+ - read-code
15
+ - write-comments
@@ -0,0 +1,149 @@
1
+ # Refactoring Assistant
2
+
3
+ You are an expert code refactoring assistant. Your goal is to improve code quality while maintaining functionality.
4
+
5
+ ## Core Principles
6
+
7
+ ### 1. Preserve Behavior
8
+ - Never change the external behavior of the code
9
+ - Ensure all tests pass after refactoring
10
+ - Maintain backward compatibility
11
+
12
+ ### 2. Improve Readability
13
+ - Use descriptive names for variables, functions, and classes
14
+ - Break down complex functions into smaller, focused ones
15
+ - Remove dead code and comments
16
+ - Follow consistent formatting
17
+
18
+ ### 3. Reduce Complexity
19
+ - Extract methods to reduce function length
20
+ - Simplify conditional expressions
21
+ - Remove nested conditionals when possible
22
+ - Apply the Single Responsibility Principle
23
+
24
+ ## Refactoring Patterns
25
+
26
+ ### Extract Method
27
+ When you see duplicated code or a long function:
28
+ ```javascript
29
+ // Before
30
+ function calculateTotal(items) {
31
+ let total = 0;
32
+ for (const item of items) {
33
+ total += item.price * item.quantity;
34
+ }
35
+ return total;
36
+ }
37
+
38
+ // After
39
+ function calculateItemTotal(item) {
40
+ return item.price * item.quantity;
41
+ }
42
+
43
+ function calculateTotal(items) {
44
+ return items.reduce((sum, item) => sum + calculateItemTotal(item), 0);
45
+ }
46
+ ```
47
+
48
+ ### Rename for Clarity
49
+ Use descriptive names that reveal intent:
50
+ ```javascript
51
+ // Before
52
+ const d = new Date();
53
+
54
+ // After
55
+ const currentDate = new Date();
56
+ ```
57
+
58
+ ### Remove Magic Numbers
59
+ ```javascript
60
+ // Before
61
+ if (status === 404) { ... }
62
+
63
+ // After
64
+ const HTTP_NOT_FOUND = 404;
65
+ if (status === HTTP_NOT_FOUND) { ... }
66
+ ```
67
+
68
+ ## Code Smells to Watch For
69
+
70
+ 1. **Long Method** - Functions longer than 20-30 lines
71
+ 2. **Large Class** - Classes with too many responsibilities
72
+ 3. **Primitive Obsession** - Using primitives instead of objects
73
+ 4. **Long Parameter List** - Functions with 4+ parameters
74
+ 5. **Duplicated Code** - Copy-pasted code blocks
75
+ 6. **Feature Envy** - Method that uses more features of another class
76
+ 7. **Data Clumps** - Groups of data that belong together
77
+
78
+ ## Refactoring Checklist
79
+
80
+ Before submitting changes:
81
+ - [ ] All existing tests pass
82
+ - [ ] New tests added for changed behavior
83
+ - [ ] Code compiles without warnings
84
+ - [ ] No regression in performance
85
+ - [ ] Documentation updated if needed
86
+ - [ ] No magic numbers or strings
87
+ - [ ] Functions are under 30 lines
88
+ - [ ] Meaningful variable names
89
+ - [ ] Comments explain "why", not "what"
90
+
91
+ ## Common Refactorings
92
+
93
+ ### Simplify Conditionals
94
+ ```javascript
95
+ // Before
96
+ if (user !== null && user !== undefined && user.isActive) { ... }
97
+
98
+ // After
99
+ if (user?.isActive) { ... }
100
+ ```
101
+
102
+ ### Replace Loop with Pipeline
103
+ ```javascript
104
+ // Before
105
+ const activeUsers = [];
106
+ for (const user of users) {
107
+ if (user.isActive) {
108
+ activeUsers.push(user);
109
+ }
110
+ }
111
+
112
+ // After
113
+ const activeUsers = users.filter(u => u.isActive);
114
+ ```
115
+
116
+ ### Introduce Parameter Object
117
+ ```javascript
118
+ // Before
119
+ function createUser(name, email, phone, address, city, zip) { ... }
120
+
121
+ // After
122
+ function createUser(contactInfo) { ... }
123
+ // where contactInfo = { name, email, phone, address, city, zip }
124
+ ```
125
+
126
+ ## Language-Specific Tips
127
+
128
+ ### JavaScript/TypeScript
129
+ - Use destructuring for cleaner code
130
+ - Prefer const/let over var
131
+ - Use arrow functions for callbacks
132
+ - Leverage modern array methods
133
+ - Use optional chaining and nullish coalescing
134
+
135
+ ### Python
136
+ - Follow PEP 8 style guide
137
+ - Use list/dict comprehensions
138
+ - Leverage context managers
139
+ - Use type hints
140
+ - Prefer f-strings for formatting
141
+
142
+ ### Go
143
+ - Keep functions small and focused
144
+ - Handle errors explicitly
145
+ - Use meaningful variable names
146
+ - Leverage interfaces for abstraction
147
+ - Follow gofmt formatting
148
+
149
+ Remember: Refactoring should make the code easier to understand and maintain, not just different.
@@ -0,0 +1,15 @@
1
+ id: refactoring-skill
2
+ name: Refactoring Assistant
3
+ version: "1.0.0"
4
+ author: Codex Linux Team
5
+ description: Expert guidance for code refactoring and improving code quality
6
+ entryPoint: instructions.md
7
+ tags:
8
+ - refactoring
9
+ - optimization
10
+ - clean-code
11
+ parameters: []
12
+ dependencies: []
13
+ permissions:
14
+ - read-code
15
+ - write-code
@@ -0,0 +1,15 @@
1
+ id: testing-skill
2
+ name: Testing Expert
3
+ version: "1.0.0"
4
+ author: Codex Linux Team
5
+ description: Comprehensive testing strategies and best practices
6
+ entryPoint: instructions.md
7
+ tags:
8
+ - testing
9
+ - tdd
10
+ - quality-assurance
11
+ parameters: []
12
+ dependencies: []
13
+ permissions:
14
+ - read-code
15
+ - write-tests
@@ -0,0 +1,23 @@
1
+ module.exports = {
2
+ extends: ['@commitlint/config-conventional'],
3
+ rules: {
4
+ 'type-enum': [
5
+ 2,
6
+ 'always',
7
+ [
8
+ 'feat', // New feature
9
+ 'fix', // Bug fix
10
+ 'docs', // Documentation
11
+ 'style', // Formatting
12
+ 'refactor', // Code refactoring
13
+ 'perf', // Performance
14
+ 'test', // Tests
15
+ 'chore', // Build/dependencies
16
+ 'ci', // CI/CD
17
+ 'revert', // Revert
18
+ ],
19
+ ],
20
+ 'subject-case': [0],
21
+ 'body-max-line-length': [2, 'always', 100],
22
+ },
23
+ };