codexgpt 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 (654) hide show
  1. package/AGENTS.example.md +20 -0
  2. package/CHANGELOG.md +342 -0
  3. package/CHATGPT_PROMPT.md +12 -0
  4. package/CLOUDFLARED_VERIFIED_INSTALL.md +94 -0
  5. package/CODEX_PROMPT.md +12 -0
  6. package/CONTRIBUTING.md +62 -0
  7. package/DOMAIN_SETUP.md +275 -0
  8. package/FAQ.md +366 -0
  9. package/FAQ_ZH.md +329 -0
  10. package/LICENSE +21 -0
  11. package/PUBLIC_LAUNCH_CHECKLIST.md +111 -0
  12. package/README.md +490 -0
  13. package/README_ZH.md +747 -0
  14. package/SECURITY.md +295 -0
  15. package/config.example.env +103 -0
  16. package/dist/access/fullAccessLease.js +148 -0
  17. package/dist/access/fullAccessLease.js.map +1 -0
  18. package/dist/access/protectedRoots.js +122 -0
  19. package/dist/access/protectedRoots.js.map +1 -0
  20. package/dist/access/rootAdmission.js +347 -0
  21. package/dist/access/rootAdmission.js.map +1 -0
  22. package/dist/analysis/cache.js +27 -0
  23. package/dist/analysis/cache.js.map +1 -0
  24. package/dist/analysis/classify.js +102 -0
  25. package/dist/analysis/classify.js.map +1 -0
  26. package/dist/analysis/extract.js +139 -0
  27. package/dist/analysis/extract.js.map +1 -0
  28. package/dist/analysis/graph.js +22 -0
  29. package/dist/analysis/graph.js.map +1 -0
  30. package/dist/analysis/impact.js +167 -0
  31. package/dist/analysis/impact.js.map +1 -0
  32. package/dist/analysis/index.js +215 -0
  33. package/dist/analysis/index.js.map +1 -0
  34. package/dist/analysis/inventory.js +51 -0
  35. package/dist/analysis/inventory.js.map +1 -0
  36. package/dist/analysis/providers.js +24 -0
  37. package/dist/analysis/providers.js.map +1 -0
  38. package/dist/analysis/rank.js +27 -0
  39. package/dist/analysis/rank.js.map +1 -0
  40. package/dist/analysis/types.js +8 -0
  41. package/dist/analysis/types.js.map +1 -0
  42. package/dist/audit/canonicalJson.js +79 -0
  43. package/dist/audit/canonicalJson.js.map +1 -0
  44. package/dist/audit/diagnostics.js +128 -0
  45. package/dist/audit/diagnostics.js.map +1 -0
  46. package/dist/audit/index.js +12 -0
  47. package/dist/audit/index.js.map +1 -0
  48. package/dist/audit/lifecycleV3.js +53 -0
  49. package/dist/audit/lifecycleV3.js.map +1 -0
  50. package/dist/audit/lifecycleV4.js +70 -0
  51. package/dist/audit/lifecycleV4.js.map +1 -0
  52. package/dist/audit/lock.js +195 -0
  53. package/dist/audit/lock.js.map +1 -0
  54. package/dist/audit/queryTool.js +120 -0
  55. package/dist/audit/queryTool.js.map +1 -0
  56. package/dist/audit/runtime.js +48 -0
  57. package/dist/audit/runtime.js.map +1 -0
  58. package/dist/audit/schemas.js +640 -0
  59. package/dist/audit/schemas.js.map +1 -0
  60. package/dist/audit/store.js +1309 -0
  61. package/dist/audit/store.js.map +1 -0
  62. package/dist/audit/transactionParticipant.js +45 -0
  63. package/dist/audit/transactionParticipant.js.map +1 -0
  64. package/dist/audit/types.js +11 -0
  65. package/dist/audit/types.js.map +1 -0
  66. package/dist/auth/audit.js +44 -0
  67. package/dist/auth/audit.js.map +1 -0
  68. package/dist/auth/authorizationStore.js +333 -0
  69. package/dist/auth/authorizationStore.js.map +1 -0
  70. package/dist/auth/challenges.js +25 -0
  71. package/dist/auth/challenges.js.map +1 -0
  72. package/dist/auth/clientStore.js +469 -0
  73. package/dist/auth/clientStore.js.map +1 -0
  74. package/dist/auth/cloudflareConfig.js +112 -0
  75. package/dist/auth/cloudflareConfig.js.map +1 -0
  76. package/dist/auth/configuration.js +167 -0
  77. package/dist/auth/configuration.js.map +1 -0
  78. package/dist/auth/credentialStore.js +65 -0
  79. package/dist/auth/credentialStore.js.map +1 -0
  80. package/dist/auth/deploymentLock.js +220 -0
  81. package/dist/auth/deploymentLock.js.map +1 -0
  82. package/dist/auth/deploymentRegistry.js +149 -0
  83. package/dist/auth/deploymentRegistry.js.map +1 -0
  84. package/dist/auth/errors.js +26 -0
  85. package/dist/auth/errors.js.map +1 -0
  86. package/dist/auth/grantStore.js +307 -0
  87. package/dist/auth/grantStore.js.map +1 -0
  88. package/dist/auth/index.js +39 -0
  89. package/dist/auth/index.js.map +1 -0
  90. package/dist/auth/keyManager.js +148 -0
  91. package/dist/auth/keyManager.js.map +1 -0
  92. package/dist/auth/localAdminSession.js +173 -0
  93. package/dist/auth/localAdminSession.js.map +1 -0
  94. package/dist/auth/metadata.js +69 -0
  95. package/dist/auth/metadata.js.map +1 -0
  96. package/dist/auth/oauthProvider.js +589 -0
  97. package/dist/auth/oauthProvider.js.map +1 -0
  98. package/dist/auth/ownerApproval.js +51 -0
  99. package/dist/auth/ownerApproval.js.map +1 -0
  100. package/dist/auth/policyIdentity.js +189 -0
  101. package/dist/auth/policyIdentity.js.map +1 -0
  102. package/dist/auth/rateLimits.js +66 -0
  103. package/dist/auth/rateLimits.js.map +1 -0
  104. package/dist/auth/recovery.js +275 -0
  105. package/dist/auth/recovery.js.map +1 -0
  106. package/dist/auth/requestContext.js +34 -0
  107. package/dist/auth/requestContext.js.map +1 -0
  108. package/dist/auth/resourceMiddleware.js +147 -0
  109. package/dist/auth/resourceMiddleware.js.map +1 -0
  110. package/dist/auth/runtimeStatus.js +51 -0
  111. package/dist/auth/runtimeStatus.js.map +1 -0
  112. package/dist/auth/schemas.js +84 -0
  113. package/dist/auth/schemas.js.map +1 -0
  114. package/dist/auth/stateStore.js +468 -0
  115. package/dist/auth/stateStore.js.map +1 -0
  116. package/dist/auth/tokenService.js +631 -0
  117. package/dist/auth/tokenService.js.map +1 -0
  118. package/dist/auth/toolSecurity.js +108 -0
  119. package/dist/auth/toolSecurity.js.map +1 -0
  120. package/dist/auth/types.js +6 -0
  121. package/dist/auth/types.js.map +1 -0
  122. package/dist/auth/windowsDpapi.js +193 -0
  123. package/dist/auth/windowsDpapi.js.map +1 -0
  124. package/dist/bashOps.js +292 -0
  125. package/dist/bashOps.js.map +1 -0
  126. package/dist/capabilitiesOps.js +412 -0
  127. package/dist/capabilitiesOps.js.map +1 -0
  128. package/dist/changesets/crypto.js +92 -0
  129. package/dist/changesets/crypto.js.map +1 -0
  130. package/dist/changesets/index.js +9 -0
  131. package/dist/changesets/index.js.map +1 -0
  132. package/dist/changesets/moveStore.js +237 -0
  133. package/dist/changesets/moveStore.js.map +1 -0
  134. package/dist/changesets/moveUndo.js +386 -0
  135. package/dist/changesets/moveUndo.js.map +1 -0
  136. package/dist/changesets/schemas.js +234 -0
  137. package/dist/changesets/schemas.js.map +1 -0
  138. package/dist/changesets/store.js +573 -0
  139. package/dist/changesets/store.js.map +1 -0
  140. package/dist/changesets/types.js +9 -0
  141. package/dist/changesets/types.js.map +1 -0
  142. package/dist/changesets/undo.js +525 -0
  143. package/dist/changesets/undo.js.map +1 -0
  144. package/dist/changesets/unifiedUndo.js +31 -0
  145. package/dist/changesets/unifiedUndo.js.map +1 -0
  146. package/dist/cliEnvironment.js +85 -0
  147. package/dist/cliEnvironment.js.map +1 -0
  148. package/dist/codexSessions.js +733 -0
  149. package/dist/codexSessions.js.map +1 -0
  150. package/dist/codexgptSupertool.js +216 -0
  151. package/dist/codexgptSupertool.js.map +1 -0
  152. package/dist/codexproSupertool.js +204 -0
  153. package/dist/codexproSupertool.js.map +1 -0
  154. package/dist/config.js +733 -0
  155. package/dist/config.js.map +1 -0
  156. package/dist/control/localApprovalClient.js +287 -0
  157. package/dist/control/localApprovalClient.js.map +1 -0
  158. package/dist/control/localApprovalServer.js +466 -0
  159. package/dist/control/localApprovalServer.js.map +1 -0
  160. package/dist/control/runtime.js +178 -0
  161. package/dist/control/runtime.js.map +1 -0
  162. package/dist/control/schemas.js +184 -0
  163. package/dist/control/schemas.js.map +1 -0
  164. package/dist/control/windowsLocalControl.js +348 -0
  165. package/dist/control/windowsLocalControl.js.map +1 -0
  166. package/dist/fsOps.js +541 -0
  167. package/dist/fsOps.js.map +1 -0
  168. package/dist/git/admission.js +26 -0
  169. package/dist/git/admission.js.map +1 -0
  170. package/dist/git/branchService.js +51 -0
  171. package/dist/git/branchService.js.map +1 -0
  172. package/dist/git/capabilities.js +143 -0
  173. package/dist/git/capabilities.js.map +1 -0
  174. package/dist/git/commitService.js +344 -0
  175. package/dist/git/commitService.js.map +1 -0
  176. package/dist/git/durableState.js +151 -0
  177. package/dist/git/durableState.js.map +1 -0
  178. package/dist/git/execution.js +451 -0
  179. package/dist/git/execution.js.map +1 -0
  180. package/dist/git/fileTransaction.js +50 -0
  181. package/dist/git/fileTransaction.js.map +1 -0
  182. package/dist/git/indexService.js +421 -0
  183. package/dist/git/indexService.js.map +1 -0
  184. package/dist/git/integrations.js +653 -0
  185. package/dist/git/integrations.js.map +1 -0
  186. package/dist/git/locks.js +287 -0
  187. package/dist/git/locks.js.map +1 -0
  188. package/dist/git/mutationContext.js +92 -0
  189. package/dist/git/mutationContext.js.map +1 -0
  190. package/dist/git/mutationJournal.js +91 -0
  191. package/dist/git/mutationJournal.js.map +1 -0
  192. package/dist/git/mutationService.js +352 -0
  193. package/dist/git/mutationService.js.map +1 -0
  194. package/dist/git/normalization.js +57 -0
  195. package/dist/git/normalization.js.map +1 -0
  196. package/dist/git/objectQuarantine.js +243 -0
  197. package/dist/git/objectQuarantine.js.map +1 -0
  198. package/dist/git/opaqueRecordStore.js +187 -0
  199. package/dist/git/opaqueRecordStore.js.map +1 -0
  200. package/dist/git/operationStore.js +287 -0
  201. package/dist/git/operationStore.js.map +1 -0
  202. package/dist/git/parsers.js +311 -0
  203. package/dist/git/parsers.js.map +1 -0
  204. package/dist/git/privateIndex.js +79 -0
  205. package/dist/git/privateIndex.js.map +1 -0
  206. package/dist/git/productionBootstrap.js +39 -0
  207. package/dist/git/productionBootstrap.js.map +1 -0
  208. package/dist/git/readService.js +846 -0
  209. package/dist/git/readService.js.map +1 -0
  210. package/dist/git/recovery.js +417 -0
  211. package/dist/git/recovery.js.map +1 -0
  212. package/dist/git/repositoryIdentity.js +611 -0
  213. package/dist/git/repositoryIdentity.js.map +1 -0
  214. package/dist/git/repositoryStore.js +237 -0
  215. package/dist/git/repositoryStore.js.map +1 -0
  216. package/dist/git/resources.js +113 -0
  217. package/dist/git/resources.js.map +1 -0
  218. package/dist/git/restoreService.js +178 -0
  219. package/dist/git/restoreService.js.map +1 -0
  220. package/dist/git/reviewToken.js +86 -0
  221. package/dist/git/reviewToken.js.map +1 -0
  222. package/dist/git/stashService.js +566 -0
  223. package/dist/git/stashService.js.map +1 -0
  224. package/dist/git/stateToken.js +139 -0
  225. package/dist/git/stateToken.js.map +1 -0
  226. package/dist/gitOps.js +147 -0
  227. package/dist/gitOps.js.map +1 -0
  228. package/dist/guard.js +608 -0
  229. package/dist/guard.js.map +1 -0
  230. package/dist/guidance/diagnostics.js +14 -0
  231. package/dist/guidance/diagnostics.js.map +1 -0
  232. package/dist/guidance/instructions.js +167 -0
  233. package/dist/guidance/instructions.js.map +1 -0
  234. package/dist/guidance/mode.js +18 -0
  235. package/dist/guidance/mode.js.map +1 -0
  236. package/dist/guidance/openaiSkillMetadata.js +29 -0
  237. package/dist/guidance/openaiSkillMetadata.js.map +1 -0
  238. package/dist/guidance/safeTextReader.js +171 -0
  239. package/dist/guidance/safeTextReader.js.map +1 -0
  240. package/dist/guidance/skillCatalog.js +70 -0
  241. package/dist/guidance/skillCatalog.js.map +1 -0
  242. package/dist/guidance/skillDiscovery.js +353 -0
  243. package/dist/guidance/skillDiscovery.js.map +1 -0
  244. package/dist/guidance/skillMetadata.js +115 -0
  245. package/dist/guidance/skillMetadata.js.map +1 -0
  246. package/dist/guidance/skillResources.js +146 -0
  247. package/dist/guidance/skillResources.js.map +1 -0
  248. package/dist/handoffOps.js +449 -0
  249. package/dist/handoffOps.js.map +1 -0
  250. package/dist/http/localAdminApp.js +203 -0
  251. package/dist/http/localAdminApp.js.map +1 -0
  252. package/dist/http/oauthMcpRuntime.js +294 -0
  253. package/dist/http/oauthMcpRuntime.js.map +1 -0
  254. package/dist/http/publicApp.js +350 -0
  255. package/dist/http/publicApp.js.map +1 -0
  256. package/dist/http/securityHeaders.js +11 -0
  257. package/dist/http/securityHeaders.js.map +1 -0
  258. package/dist/http.js +2076 -0
  259. package/dist/http.js.map +1 -0
  260. package/dist/moves/engine.js +1079 -0
  261. package/dist/moves/engine.js.map +1 -0
  262. package/dist/moves/index.js +6 -0
  263. package/dist/moves/index.js.map +1 -0
  264. package/dist/moves/planner.js +270 -0
  265. package/dist/moves/planner.js.map +1 -0
  266. package/dist/moves/recovery.js +557 -0
  267. package/dist/moves/recovery.js.map +1 -0
  268. package/dist/moves/service.js +300 -0
  269. package/dist/moves/service.js.map +1 -0
  270. package/dist/moves/types.js +11 -0
  271. package/dist/moves/types.js.map +1 -0
  272. package/dist/mutations/index.js +4 -0
  273. package/dist/mutations/index.js.map +1 -0
  274. package/dist/mutations/lifecycle.js +165 -0
  275. package/dist/mutations/lifecycle.js.map +1 -0
  276. package/dist/mutations/localService.js +163 -0
  277. package/dist/mutations/localService.js.map +1 -0
  278. package/dist/mutations/runtime.js +322 -0
  279. package/dist/mutations/runtime.js.map +1 -0
  280. package/dist/mutations/types.js +2 -0
  281. package/dist/mutations/types.js.map +1 -0
  282. package/dist/mutations/writers.js +360 -0
  283. package/dist/mutations/writers.js.map +1 -0
  284. package/dist/patchOps.js +420 -0
  285. package/dist/patchOps.js.map +1 -0
  286. package/dist/policy/approval.js +306 -0
  287. package/dist/policy/approval.js.map +1 -0
  288. package/dist/policy/audit.js +88 -0
  289. package/dist/policy/audit.js.map +1 -0
  290. package/dist/policy/authorizationFacts.js +187 -0
  291. package/dist/policy/authorizationFacts.js.map +1 -0
  292. package/dist/policy/compat.js +104 -0
  293. package/dist/policy/compat.js.map +1 -0
  294. package/dist/policy/context.js +31 -0
  295. package/dist/policy/context.js.map +1 -0
  296. package/dist/policy/enforcement.js +46 -0
  297. package/dist/policy/enforcement.js.map +1 -0
  298. package/dist/policy/evaluator.js +338 -0
  299. package/dist/policy/evaluator.js.map +1 -0
  300. package/dist/policy/executionCapabilities.js +80 -0
  301. package/dist/policy/executionCapabilities.js.map +1 -0
  302. package/dist/policy/executionResources.js +192 -0
  303. package/dist/policy/executionResources.js.map +1 -0
  304. package/dist/policy/fullAccessResources.js +23 -0
  305. package/dist/policy/fullAccessResources.js.map +1 -0
  306. package/dist/policy/hardPolicy.js +50 -0
  307. package/dist/policy/hardPolicy.js.map +1 -0
  308. package/dist/policy/identity.js +142 -0
  309. package/dist/policy/identity.js.map +1 -0
  310. package/dist/policy/integration.js +331 -0
  311. package/dist/policy/integration.js.map +1 -0
  312. package/dist/policy/pendingApprovals.js +301 -0
  313. package/dist/policy/pendingApprovals.js.map +1 -0
  314. package/dist/policy/profileStore.js +367 -0
  315. package/dist/policy/profileStore.js.map +1 -0
  316. package/dist/policy/resources.js +249 -0
  317. package/dist/policy/resources.js.map +1 -0
  318. package/dist/policy/runtime.js +713 -0
  319. package/dist/policy/runtime.js.map +1 -0
  320. package/dist/policy/schemas.js +625 -0
  321. package/dist/policy/schemas.js.map +1 -0
  322. package/dist/policy/toolPolicy.js +141 -0
  323. package/dist/policy/toolPolicy.js.map +1 -0
  324. package/dist/policy/transport.js +10 -0
  325. package/dist/policy/transport.js.map +1 -0
  326. package/dist/policy/types.js +31 -0
  327. package/dist/policy/types.js.map +1 -0
  328. package/dist/proContext.js +675 -0
  329. package/dist/proContext.js.map +1 -0
  330. package/dist/process/authority.js +18 -0
  331. package/dist/process/authority.js.map +1 -0
  332. package/dist/process/backendDiscovery.js +83 -0
  333. package/dist/process/backendDiscovery.js.map +1 -0
  334. package/dist/process/commandCompiler.js +71 -0
  335. package/dist/process/commandCompiler.js.map +1 -0
  336. package/dist/process/outputCursor.js +67 -0
  337. package/dist/process/outputCursor.js.map +1 -0
  338. package/dist/process/outputQuota.js +94 -0
  339. package/dist/process/outputQuota.js.map +1 -0
  340. package/dist/process/outputRing.js +138 -0
  341. package/dist/process/outputRing.js.map +1 -0
  342. package/dist/process/processAuditCoordinator.js +52 -0
  343. package/dist/process/processAuditCoordinator.js.map +1 -0
  344. package/dist/process/processManager.js +311 -0
  345. package/dist/process/processManager.js.map +1 -0
  346. package/dist/process/runCommand.js +332 -0
  347. package/dist/process/runCommand.js.map +1 -0
  348. package/dist/process/streamingRedactor.js +105 -0
  349. package/dist/process/streamingRedactor.js.map +1 -0
  350. package/dist/process/types.js +2 -0
  351. package/dist/process/types.js.map +1 -0
  352. package/dist/process/windowsHostClient.js +604 -0
  353. package/dist/process/windowsHostClient.js.map +1 -0
  354. package/dist/process/windowsHostProtocol.js +270 -0
  355. package/dist/process/windowsHostProtocol.js.map +1 -0
  356. package/dist/process/windowsPersistentBackend.js +263 -0
  357. package/dist/process/windowsPersistentBackend.js.map +1 -0
  358. package/dist/productionRuntime.js +907 -0
  359. package/dist/productionRuntime.js.map +1 -0
  360. package/dist/profileStore.js +231 -0
  361. package/dist/profileStore.js.map +1 -0
  362. package/dist/redact.js +124 -0
  363. package/dist/redact.js.map +1 -0
  364. package/dist/searchOps.js +186 -0
  365. package/dist/searchOps.js.map +1 -0
  366. package/dist/selfTestOps.js +786 -0
  367. package/dist/selfTestOps.js.map +1 -0
  368. package/dist/semantic/budgets.js +12 -0
  369. package/dist/semantic/budgets.js.map +1 -0
  370. package/dist/semantic/builtin/typescriptAssets.js +68 -0
  371. package/dist/semantic/builtin/typescriptAssets.js.map +1 -0
  372. package/dist/semantic/builtin/typescriptProvider.js +211 -0
  373. package/dist/semantic/builtin/typescriptProvider.js.map +1 -0
  374. package/dist/semantic/builtin/typescriptWorker.js +365 -0
  375. package/dist/semantic/builtin/typescriptWorker.js.map +1 -0
  376. package/dist/semantic/diffPreview.js +36 -0
  377. package/dist/semantic/diffPreview.js.map +1 -0
  378. package/dist/semantic/index.js +11 -0
  379. package/dist/semantic/index.js.map +1 -0
  380. package/dist/semantic/manager.js +522 -0
  381. package/dist/semantic/manager.js.map +1 -0
  382. package/dist/semantic/positions.js +86 -0
  383. package/dist/semantic/positions.js.map +1 -0
  384. package/dist/semantic/previewStore.js +276 -0
  385. package/dist/semantic/previewStore.js.map +1 -0
  386. package/dist/semantic/projectResolver.js +309 -0
  387. package/dist/semantic/projectResolver.js.map +1 -0
  388. package/dist/semantic/sourceSnapshot.js +54 -0
  389. package/dist/semantic/sourceSnapshot.js.map +1 -0
  390. package/dist/semantic/status.js +46 -0
  391. package/dist/semantic/status.js.map +1 -0
  392. package/dist/semantic/types.js +2 -0
  393. package/dist/semantic/types.js.map +1 -0
  394. package/dist/server.js +8676 -0
  395. package/dist/server.js.map +1 -0
  396. package/dist/stdio.js +64 -0
  397. package/dist/stdio.js.map +1 -0
  398. package/dist/toolCardWidget.js +2000 -0
  399. package/dist/toolCardWidget.js.map +1 -0
  400. package/dist/tools/contracts/catalog.js +111 -0
  401. package/dist/tools/contracts/catalog.js.map +1 -0
  402. package/dist/tools/contracts/index.js +8 -0
  403. package/dist/tools/contracts/index.js.map +1 -0
  404. package/dist/tools/contracts/registration.js +27 -0
  405. package/dist/tools/contracts/registration.js.map +1 -0
  406. package/dist/tools/contracts/schemas.js +11 -0
  407. package/dist/tools/contracts/schemas.js.map +1 -0
  408. package/dist/tools/contracts/types.js +2 -0
  409. package/dist/tools/contracts/types.js.map +1 -0
  410. package/dist/tools/contracts/v3.js +76 -0
  411. package/dist/tools/contracts/v3.js.map +1 -0
  412. package/dist/tools/contracts/v4.js +39 -0
  413. package/dist/tools/contracts/v4.js.map +1 -0
  414. package/dist/tools/contracts/v5.js +20 -0
  415. package/dist/tools/contracts/v5.js.map +1 -0
  416. package/dist/tools/phase3dServer.js +350 -0
  417. package/dist/tools/phase3dServer.js.map +1 -0
  418. package/dist/tools/schemas/applyPatch.js +388 -0
  419. package/dist/tools/schemas/applyPatch.js.map +1 -0
  420. package/dist/tools/schemas/bash.js +202 -0
  421. package/dist/tools/schemas/bash.js.map +1 -0
  422. package/dist/tools/schemas/closeWorkspace.js +105 -0
  423. package/dist/tools/schemas/closeWorkspace.js.map +1 -0
  424. package/dist/tools/schemas/codexContext.js +402 -0
  425. package/dist/tools/schemas/codexContext.js.map +1 -0
  426. package/dist/tools/schemas/codexSessions.js +328 -0
  427. package/dist/tools/schemas/codexSessions.js.map +1 -0
  428. package/dist/tools/schemas/codexgpt.js +1068 -0
  429. package/dist/tools/schemas/codexgpt.js.map +1 -0
  430. package/dist/tools/schemas/codexgptInventory.js +359 -0
  431. package/dist/tools/schemas/codexgptInventory.js.map +1 -0
  432. package/dist/tools/schemas/codexgptSelfTest.js +563 -0
  433. package/dist/tools/schemas/codexgptSelfTest.js.map +1 -0
  434. package/dist/tools/schemas/codexpro.js +917 -0
  435. package/dist/tools/schemas/codexpro.js.map +1 -0
  436. package/dist/tools/schemas/codexproInventory.js +352 -0
  437. package/dist/tools/schemas/codexproInventory.js.map +1 -0
  438. package/dist/tools/schemas/codexproSelfTest.js +546 -0
  439. package/dist/tools/schemas/codexproSelfTest.js.map +1 -0
  440. package/dist/tools/schemas/common.js +21 -0
  441. package/dist/tools/schemas/common.js.map +1 -0
  442. package/dist/tools/schemas/createTaskWorktree.js +51 -0
  443. package/dist/tools/schemas/createTaskWorktree.js.map +1 -0
  444. package/dist/tools/schemas/edit.js +321 -0
  445. package/dist/tools/schemas/edit.js.map +1 -0
  446. package/dist/tools/schemas/execution.js +330 -0
  447. package/dist/tools/schemas/execution.js.map +1 -0
  448. package/dist/tools/schemas/exportProContext.js +370 -0
  449. package/dist/tools/schemas/exportProContext.js.map +1 -0
  450. package/dist/tools/schemas/getTaskWorktree.js +19 -0
  451. package/dist/tools/schemas/getTaskWorktree.js.map +1 -0
  452. package/dist/tools/schemas/gitBranch.js +42 -0
  453. package/dist/tools/schemas/gitBranch.js.map +1 -0
  454. package/dist/tools/schemas/gitCommit.js +40 -0
  455. package/dist/tools/schemas/gitCommit.js.map +1 -0
  456. package/dist/tools/schemas/gitCreateBranch.js +22 -0
  457. package/dist/tools/schemas/gitCreateBranch.js.map +1 -0
  458. package/dist/tools/schemas/gitDiff.js +222 -0
  459. package/dist/tools/schemas/gitDiff.js.map +1 -0
  460. package/dist/tools/schemas/gitLog.js +41 -0
  461. package/dist/tools/schemas/gitLog.js.map +1 -0
  462. package/dist/tools/schemas/gitRestore.js +47 -0
  463. package/dist/tools/schemas/gitRestore.js.map +1 -0
  464. package/dist/tools/schemas/gitStage.js +33 -0
  465. package/dist/tools/schemas/gitStage.js.map +1 -0
  466. package/dist/tools/schemas/gitStash.js +102 -0
  467. package/dist/tools/schemas/gitStash.js.map +1 -0
  468. package/dist/tools/schemas/gitStatus.js +226 -0
  469. package/dist/tools/schemas/gitStatus.js.map +1 -0
  470. package/dist/tools/schemas/gitV4Common.js +205 -0
  471. package/dist/tools/schemas/gitV4Common.js.map +1 -0
  472. package/dist/tools/schemas/guidance.js +40 -0
  473. package/dist/tools/schemas/guidance.js.map +1 -0
  474. package/dist/tools/schemas/handoffToAgent.js +276 -0
  475. package/dist/tools/schemas/handoffToAgent.js.map +1 -0
  476. package/dist/tools/schemas/handoffToCodex.js +137 -0
  477. package/dist/tools/schemas/handoffToCodex.js.map +1 -0
  478. package/dist/tools/schemas/inspectWorkspace.js +379 -0
  479. package/dist/tools/schemas/inspectWorkspace.js.map +1 -0
  480. package/dist/tools/schemas/listTaskWorktrees.js +21 -0
  481. package/dist/tools/schemas/listTaskWorktrees.js.map +1 -0
  482. package/dist/tools/schemas/listWorkspaces.js +134 -0
  483. package/dist/tools/schemas/listWorkspaces.js.map +1 -0
  484. package/dist/tools/schemas/loadSkill.js +619 -0
  485. package/dist/tools/schemas/loadSkill.js.map +1 -0
  486. package/dist/tools/schemas/mergeTaskWorktree.js +105 -0
  487. package/dist/tools/schemas/mergeTaskWorktree.js.map +1 -0
  488. package/dist/tools/schemas/movePaths.js +175 -0
  489. package/dist/tools/schemas/movePaths.js.map +1 -0
  490. package/dist/tools/schemas/openCurrentWorkspace.js +174 -0
  491. package/dist/tools/schemas/openCurrentWorkspace.js.map +1 -0
  492. package/dist/tools/schemas/openFullAccessWorkspace.js +81 -0
  493. package/dist/tools/schemas/openFullAccessWorkspace.js.map +1 -0
  494. package/dist/tools/schemas/openWorkspace.js +193 -0
  495. package/dist/tools/schemas/openWorkspace.js.map +1 -0
  496. package/dist/tools/schemas/queryAuditEvents.js +193 -0
  497. package/dist/tools/schemas/queryAuditEvents.js.map +1 -0
  498. package/dist/tools/schemas/read.js +199 -0
  499. package/dist/tools/schemas/read.js.map +1 -0
  500. package/dist/tools/schemas/readCodexSession.js +353 -0
  501. package/dist/tools/schemas/readCodexSession.js.map +1 -0
  502. package/dist/tools/schemas/readHandoff.js +446 -0
  503. package/dist/tools/schemas/readHandoff.js.map +1 -0
  504. package/dist/tools/schemas/removeTaskWorktree.js +40 -0
  505. package/dist/tools/schemas/removeTaskWorktree.js.map +1 -0
  506. package/dist/tools/schemas/search.js +235 -0
  507. package/dist/tools/schemas/search.js.map +1 -0
  508. package/dist/tools/schemas/semantic.js +195 -0
  509. package/dist/tools/schemas/semantic.js.map +1 -0
  510. package/dist/tools/schemas/serverConfig.js +157 -0
  511. package/dist/tools/schemas/serverConfig.js.map +1 -0
  512. package/dist/tools/schemas/showChanges.js +283 -0
  513. package/dist/tools/schemas/showChanges.js.map +1 -0
  514. package/dist/tools/schemas/transactionResult.js +11 -0
  515. package/dist/tools/schemas/transactionResult.js.map +1 -0
  516. package/dist/tools/schemas/tree.js +136 -0
  517. package/dist/tools/schemas/tree.js.map +1 -0
  518. package/dist/tools/schemas/undoChangeSet.js +152 -0
  519. package/dist/tools/schemas/undoChangeSet.js.map +1 -0
  520. package/dist/tools/schemas/waitForHandoff.js +462 -0
  521. package/dist/tools/schemas/waitForHandoff.js.map +1 -0
  522. package/dist/tools/schemas/workspaceSnapshot.js +145 -0
  523. package/dist/tools/schemas/workspaceSnapshot.js.map +1 -0
  524. package/dist/tools/schemas/write.js +285 -0
  525. package/dist/tools/schemas/write.js.map +1 -0
  526. package/dist/transactions/atomicFs.js +438 -0
  527. package/dist/transactions/atomicFs.js.map +1 -0
  528. package/dist/transactions/atomicStateFile.js +190 -0
  529. package/dist/transactions/atomicStateFile.js.map +1 -0
  530. package/dist/transactions/engine.js +574 -0
  531. package/dist/transactions/engine.js.map +1 -0
  532. package/dist/transactions/index.js +12 -0
  533. package/dist/transactions/index.js.map +1 -0
  534. package/dist/transactions/installation.js +158 -0
  535. package/dist/transactions/installation.js.map +1 -0
  536. package/dist/transactions/manifestV2Store.js +96 -0
  537. package/dist/transactions/manifestV2Store.js.map +1 -0
  538. package/dist/transactions/participantRecovery.js +98 -0
  539. package/dist/transactions/participantRecovery.js.map +1 -0
  540. package/dist/transactions/recovery.js +513 -0
  541. package/dist/transactions/recovery.js.map +1 -0
  542. package/dist/transactions/schemas.js +365 -0
  543. package/dist/transactions/schemas.js.map +1 -0
  544. package/dist/transactions/stateRoot.js +63 -0
  545. package/dist/transactions/stateRoot.js.map +1 -0
  546. package/dist/transactions/types.js +11 -0
  547. package/dist/transactions/types.js.map +1 -0
  548. package/dist/transactions/workspaceLock.js +201 -0
  549. package/dist/transactions/workspaceLock.js.map +1 -0
  550. package/dist/workspaceOps.js +924 -0
  551. package/dist/workspaceOps.js.map +1 -0
  552. package/dist/worktrees/candidateWorkspace.js +566 -0
  553. package/dist/worktrees/candidateWorkspace.js.map +1 -0
  554. package/dist/worktrees/manager.js +258 -0
  555. package/dist/worktrees/manager.js.map +1 -0
  556. package/dist/worktrees/materializer.js +60 -0
  557. package/dist/worktrees/materializer.js.map +1 -0
  558. package/dist/worktrees/mergeExecute.js +498 -0
  559. package/dist/worktrees/mergeExecute.js.map +1 -0
  560. package/dist/worktrees/mergePlanStore.js +247 -0
  561. package/dist/worktrees/mergePlanStore.js.map +1 -0
  562. package/dist/worktrees/mergePrepare.js +709 -0
  563. package/dist/worktrees/mergePrepare.js.map +1 -0
  564. package/dist/worktrees/recovery.js +294 -0
  565. package/dist/worktrees/recovery.js.map +1 -0
  566. package/dist/worktrees/remove.js +296 -0
  567. package/dist/worktrees/remove.js.map +1 -0
  568. package/dist/worktrees/remover.js +57 -0
  569. package/dist/worktrees/remover.js.map +1 -0
  570. package/dist/worktrees/root.js +47 -0
  571. package/dist/worktrees/root.js.map +1 -0
  572. package/dist/worktrees/service.js +245 -0
  573. package/dist/worktrees/service.js.map +1 -0
  574. package/dist/worktrees/store.js +156 -0
  575. package/dist/worktrees/store.js.map +1 -0
  576. package/dist/worktrees/treeManifest.js +106 -0
  577. package/dist/worktrees/treeManifest.js.map +1 -0
  578. package/dist/worktrees/verificationReceipts.js +215 -0
  579. package/dist/worktrees/verificationReceipts.js.map +1 -0
  580. package/dist/worktrees/verificationTerminal.js +23 -0
  581. package/dist/worktrees/verificationTerminal.js.map +1 -0
  582. package/dist/worktrees/workspaceAuthority.js +64 -0
  583. package/dist/worktrees/workspaceAuthority.js.map +1 -0
  584. package/docs/favicon.svg +5 -0
  585. package/docs/index.html +624 -0
  586. package/docs/og.svg +52 -0
  587. package/docs/script.js +33 -0
  588. package/docs/star.svg +11 -0
  589. package/docs/styles.css +1571 -0
  590. package/docs/zh.html +428 -0
  591. package/package.json +121 -0
  592. package/scripts/analysis-cli-smoke.mjs +81 -0
  593. package/scripts/analysis-smoke.mjs +179 -0
  594. package/scripts/atomic-file.mjs +137 -0
  595. package/scripts/ci-change-classifier.mjs +59 -0
  596. package/scripts/ci-failure-summary.mjs +92 -0
  597. package/scripts/cloudflared-installer.mjs +215 -0
  598. package/scripts/cloudflared-release.mjs +63 -0
  599. package/scripts/codexgpt-entry.mjs +235 -0
  600. package/scripts/codexgpt.mjs +4987 -0
  601. package/scripts/connector-auth-output-shim.cjs +66 -0
  602. package/scripts/doctor-smoke.mjs +90 -0
  603. package/scripts/doctor.mjs +165 -0
  604. package/scripts/exact-head-ci.mjs +126 -0
  605. package/scripts/execute-handoff-smoke-platform-compat.mjs +38 -0
  606. package/scripts/execute-handoff-smoke.mjs +1117 -0
  607. package/scripts/g8-u-live-probe.mjs +208 -0
  608. package/scripts/http-smoke-compat.mjs +151 -0
  609. package/scripts/http-smoke.mjs +776 -0
  610. package/scripts/long-task-runner.mjs +1037 -0
  611. package/scripts/oauth-admin.mjs +1608 -0
  612. package/scripts/output-bounds.mjs +29 -0
  613. package/scripts/owned-temp-root.d.mts +50 -0
  614. package/scripts/owned-temp-root.mjs +567 -0
  615. package/scripts/phase-4a-smoke.mjs +36 -0
  616. package/scripts/policy-windows-spike.mjs +135 -0
  617. package/scripts/pro-apply.mjs +152 -0
  618. package/scripts/pro-bundle.mjs +121 -0
  619. package/scripts/pro-smoke.mjs +97 -0
  620. package/scripts/process-identity.mjs +67 -0
  621. package/scripts/repository-policy.mjs +166 -0
  622. package/scripts/run-and-summarize.mjs +134 -0
  623. package/scripts/run-smoke.mjs +52 -0
  624. package/scripts/run-with-cleanup.mjs +98 -0
  625. package/scripts/settings-smoke-platform-compat.mjs +85 -0
  626. package/scripts/settings-smoke.mjs +769 -0
  627. package/scripts/smoke-platform-compat.mjs +302 -0
  628. package/scripts/smoke.mjs +1180 -0
  629. package/scripts/stress-contract-compat.mjs +94 -0
  630. package/scripts/stress.mjs +882 -0
  631. package/scripts/test-domains.mjs +247 -0
  632. package/scripts/test-execution-profile-manifest.mjs +273 -0
  633. package/scripts/test-execution-profiles.mjs +147 -0
  634. package/scripts/test-performance-reporter.mjs +291 -0
  635. package/scripts/toolchain-manager.mjs +266 -0
  636. package/scripts/toolchains.json +19 -0
  637. package/scripts/windows-conpty-probe-child.mjs +82 -0
  638. package/scripts/windows-conpty-worker.ps1 +24 -0
  639. package/scripts/windows-credential-host-manifest.json +16 -0
  640. package/scripts/windows-credential-host-protocol-v1.json +16 -0
  641. package/scripts/windows-credential-host.cs +256 -0
  642. package/scripts/windows-credential-host.ps1 +26 -0
  643. package/scripts/windows-local-control-manifest.json +23 -0
  644. package/scripts/windows-local-control-spike.cs +738 -0
  645. package/scripts/windows-local-control-spike.mjs +415 -0
  646. package/scripts/windows-local-control-spike.ps1 +35 -0
  647. package/scripts/windows-local-control.cs +738 -0
  648. package/scripts/windows-local-control.ps1 +35 -0
  649. package/scripts/windows-native-api-inventory-v1.json +90 -0
  650. package/scripts/windows-process-host-manifest.json +20 -0
  651. package/scripts/windows-process-host-protocol-v1.json +59 -0
  652. package/scripts/windows-process-host.cs +2385 -0
  653. package/scripts/windows-process-host.ps1 +59 -0
  654. package/scripts/windows-realpath-shim.cjs +78 -0
@@ -0,0 +1,624 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <title>CodexGPT - Use ChatGPT like your local coding agent</title>
7
+ <meta
8
+ name="description"
9
+ content="CodexGPT connects ChatGPT Developer Mode to one local workspace through MCP so ChatGPT can inspect, edit, verify, and hand off code safely."
10
+ />
11
+ <meta property="og:title" content="CodexGPT" />
12
+ <meta property="og:description" content="Use ChatGPT like your local coding agent for one token-protected workspace." />
13
+ <meta property="og:image" content="https://rebel0789.github.io/codexgpt/og.svg" />
14
+ <meta name="theme-color" content="#0b1220" />
15
+ <link rel="alternate" hreflang="zh-CN" href="https://rebel0789.github.io/codexgpt/zh.html" />
16
+ <link rel="icon" href="./favicon.svg" type="image/svg+xml" />
17
+ <link rel="stylesheet" href="./styles.css" />
18
+ </head>
19
+ <body>
20
+ <a class="skip-link" href="#quickstart">Skip to setup</a>
21
+ <header class="site-header">
22
+ <a class="brand" href="#top" aria-label="CodexGPT home">
23
+ <img class="brand-mark" src="./favicon.svg" width="34" height="34" alt="" aria-hidden="true" />
24
+ <span>CodexGPT</span>
25
+ </a>
26
+ <nav aria-label="Primary navigation">
27
+ <a href="#quickstart">Start</a>
28
+ <a href="#modes">Modes</a>
29
+ <a href="#reference">Tools</a>
30
+ <a href="#faq">FAQ</a>
31
+ <a href="#stop">Stop</a>
32
+ <a href="./zh.html">中文</a>
33
+ <a class="nav-star" href="https://github.com/chatGPT-10/codexgpt"><img src="./star.svg" alt="" aria-hidden="true" />Star on GitHub</a>
34
+ </nav>
35
+ </header>
36
+
37
+ <main id="top">
38
+ <section class="hero">
39
+ <div class="hero-copy">
40
+ <p class="launch-pill"><img src="./star.svg" alt="" aria-hidden="true" />Local MCP bridge</p>
41
+ <p class="eyebrow">Install in your repo</p>
42
+ <h1>Use ChatGPT like your local coding agent.</h1>
43
+ <p class="hero-lede">
44
+ Install the CLI, run setup inside one project, then paste the copied Server URL into ChatGPT Developer Mode. ChatGPT gets bounded tools for that workspace: context, search, exact edits, git review, safe verification, and handoff files.
45
+ </p>
46
+ <div class="install-line" role="group" aria-label="Install command">
47
+ <code>npm install -g codexgpt
48
+ codexgpt setup</code>
49
+ <button class="copy-button" data-copy="npm install -g codexgpt&#10;codexgpt setup">Copy</button>
50
+ </div>
51
+ <p class="eyebrow">Main docs may be ahead of npm; check the npm version or use a source checkout for unreleased behavior.</p>
52
+ <div class="hero-proof" aria-label="Core capabilities">
53
+ <span>one workspace</span>
54
+ <span>token-protected URL</span>
55
+ <span>safe bash default</span>
56
+ <span>repo-backed context</span>
57
+ </div>
58
+ <div class="hero-actions">
59
+ <a class="button primary" href="#quickstart">Install CodexGPT</a>
60
+ <a class="button secondary star-button" href="https://github.com/chatGPT-10/codexgpt"><img src="./star.svg" alt="" aria-hidden="true" />Star on GitHub</a>
61
+ <a class="button secondary" href="https://www.npmjs.com/package/codexgpt">View npm package</a>
62
+ </div>
63
+ </div>
64
+
65
+ <div class="hero-visual" aria-label="CodexGPT connection model">
66
+ <div class="workspace-demo blueprint">
67
+ <div class="demo-status">
68
+ <span class="status-dot" aria-hidden="true"></span>
69
+ <div class="status-label">
70
+ <strong>One local workspace</strong>
71
+ <small>your repo · your ChatGPT session · your machine</small>
72
+ </div>
73
+ <span class="status-badge">bounded</span>
74
+ </div>
75
+ <div class="connection-map" aria-label="Connection flow">
76
+ <div>
77
+ <span>01</span>
78
+ <strong>Local repo</strong>
79
+ <p>AGENTS.md, git state, selected files, and .ai-bridge plans.</p>
80
+ </div>
81
+ <div>
82
+ <span>02</span>
83
+ <strong>CodexGPT</strong>
84
+ <p>Token-protected MCP server with workspace, bash, write, and tool modes.</p>
85
+ </div>
86
+ <div>
87
+ <span>03</span>
88
+ <strong>ChatGPT app</strong>
89
+ <p>Read, search, edit, review, verify, or hand off through Developer Mode.</p>
90
+ </div>
91
+ </div>
92
+ <div class="trust-row">
93
+ <div><span>Not a model proxy</span><strong>uses your own ChatGPT account</strong></div>
94
+ <div><span>Not a quota bypass</span><strong>product limits still apply</strong></div>
95
+ <div><span>Not an OS sandbox</span><strong>keep roots scoped to the repo</strong></div>
96
+ </div>
97
+ </div>
98
+ <div class="floating-note">
99
+ <span>After setup</span>
100
+ <strong>codexgpt start</strong>
101
+ <small>Run this from the same repo when you want ChatGPT connected again.</small>
102
+ </div>
103
+ </div>
104
+ </section>
105
+
106
+ <section class="strip" aria-label="Core workflow">
107
+ <div>
108
+ <span>01</span>
109
+ <strong>Install</strong>
110
+ <p>Run <code>npm install -g codexgpt</code> once.</p>
111
+ </div>
112
+ <div>
113
+ <span>02</span>
114
+ <strong>Setup</strong>
115
+ <p>Run <code>codexgpt setup</code> inside your project.</p>
116
+ </div>
117
+ <div>
118
+ <span>03</span>
119
+ <strong>Paste</strong>
120
+ <p>Paste the copied Server URL when creating the ChatGPT plugin.</p>
121
+ </div>
122
+ </section>
123
+
124
+ <section class="section value-section">
125
+ <div>
126
+ <p class="eyebrow">Use the account you already have</p>
127
+ <h2>Give ChatGPT a real local workspace, not another paste buffer.</h2>
128
+ <p>
129
+ CodexGPT is for builders who already pay for ChatGPT and want that subscription to do more than answer questions. It gives ChatGPT a local workspace bridge: file reads, exact edits, source writes, search, git status, git diff, and allowlisted verification commands.
130
+ </p>
131
+ <p>
132
+ Codex and ChatGPT are different product surfaces. If one workflow is unavailable and another surface you already have access to is still available, CodexGPT lets you work against the same local repo without changing either product's limits.
133
+ </p>
134
+ <p>
135
+ If your ChatGPT account exposes a stronger model in the web app, and that model surface can call Developer Mode apps, CodexGPT lets it work against your local repo through MCP. Some model surfaces cannot call connectors or MCP tools directly. CodexGPT does not provide, proxy, resell, or unlock models; it gives compatible ChatGPT sessions local coding tools and repo context.
136
+ </p>
137
+ </div>
138
+ <div class="value-matrix">
139
+ <div>
140
+ <small>ChatGPT web can see</small>
141
+ <strong>AGENTS.md, .ai-bridge, git state, source files, and selected Codex-style context</strong>
142
+ </div>
143
+ <div>
144
+ <small>Normal coding mode can</small>
145
+ <strong>read, write, edit, search, and verify directly in the workspace</strong>
146
+ </div>
147
+ <div>
148
+ <small>Pro planning mode can</small>
149
+ <strong>export a durable context bundle for sessions where MCP tools are unavailable</strong>
150
+ </div>
151
+ <div>
152
+ <small>Best account fit</small>
153
+ <strong>ChatGPT account with Apps / Developer Mode access. OpenAI lists Developer Mode for Pro, Plus, Business, Enterprise, and Education on web; Free and Go do not expose this app flow in current testing.</strong>
154
+ </div>
155
+ </div>
156
+ </section>
157
+
158
+ <section id="execute" class="section two-col">
159
+ <div>
160
+ <p class="eyebrow">Planner to executor</p>
161
+ <h2>Let ChatGPT plan, then run a local agent on your machine.</h2>
162
+ <p>
163
+ Handoff mode keeps ChatGPT planning-only. ChatGPT writes <code>.ai-bridge/current-plan.md</code>, then you decide whether to run a local implementation agent from your terminal.
164
+ </p>
165
+ <p>
166
+ <code>codexgpt execute-handoff</code> runs the saved plan through OpenCode, Pi, Codex, or a custom command, then collects status, stdout/stderr excerpts, and the final git diff back into <code>.ai-bridge</code> for ChatGPT review.
167
+ </p>
168
+ </div>
169
+ <div class="command-stack">
170
+ <div>
171
+ <small>Preview first</small>
172
+ <pre><code>codexgpt execute-handoff --agent opencode --model provider/model --dry-run</code></pre>
173
+ </div>
174
+ <div>
175
+ <small>Run locally</small>
176
+ <pre><code>codexgpt execute-handoff --agent opencode --model provider/model</code></pre>
177
+ </div>
178
+ <div>
179
+ <small>Custom agent</small>
180
+ <pre><code>codexgpt execute-handoff --agent custom --command "my-agent --task-file {{plan_file}}"</code></pre>
181
+ </div>
182
+ <div>
183
+ <small>Result files</small>
184
+ <pre><code>.ai-bridge/agent-status.md
185
+ .ai-bridge/implementation-diff.patch
186
+ .ai-bridge/execution-log.jsonl</code></pre>
187
+ </div>
188
+ </div>
189
+ </section>
190
+
191
+ <section class="section two-col">
192
+ <div>
193
+ <p class="eyebrow">Compared with generic workspace bridges</p>
194
+ <h2>CodexGPT is the ChatGPT-first local coding loop.</h2>
195
+ <p>
196
+ The transport can look similar: local MCP server, workspace root, and a tunnel. CodexGPT is more opinionated. It is built for one job: make ChatGPT Developer Mode useful against one local repo without widening the trust boundary.
197
+ </p>
198
+ <p>
199
+ That means setup first, explicit safety modes, repo-backed context files, reviewable diffs, compact cards, and no model proxying, account pooling, quota bypassing, third-party Pro scraping, or OS sandbox claims.
200
+ </p>
201
+ </div>
202
+ <div class="value-matrix">
203
+ <div>
204
+ <small>Product loop</small>
205
+ <strong>Install, setup in one repo, paste Server URL, then let ChatGPT inspect/edit/verify.</strong>
206
+ </div>
207
+ <div>
208
+ <small>Control surface</small>
209
+ <strong>Bash, write/edit, tool mode, Codex session reads, and handoff execution are separate switches.</strong>
210
+ </div>
211
+ <div>
212
+ <small>Context model</small>
213
+ <strong>AGENTS.md and .ai-bridge keep durable project memory in files you can review.</strong>
214
+ </div>
215
+ <div>
216
+ <small>Trust model</small>
217
+ <strong>Your ChatGPT account, your local repo, your explicit tunnel and token.</strong>
218
+ </div>
219
+ </div>
220
+ </section>
221
+
222
+ <section id="quickstart" class="section two-col">
223
+ <div>
224
+ <p class="eyebrow">Quick start</p>
225
+ <h2>Install once, then run setup in your repo.</h2>
226
+ <p>
227
+ The default path uses normal coding mode, workspace writes, safe bash, and a tunnel you choose during setup. After setup, daily startup is just <code>codexgpt start</code>.
228
+ </p>
229
+ </div>
230
+ <div class="steps">
231
+ <div class="step">
232
+ <span>1</span>
233
+ <div>
234
+ <strong>Install globally</strong>
235
+ <pre><code>npm install -g codexgpt</code></pre>
236
+ </div>
237
+ </div>
238
+ <div class="step">
239
+ <span>2</span>
240
+ <div>
241
+ <strong>Run guided setup</strong>
242
+ <pre><code>codexgpt setup</code></pre>
243
+ </div>
244
+ </div>
245
+ <div class="step">
246
+ <span>3</span>
247
+ <div>
248
+ <strong>Turn on Developer Mode</strong>
249
+ <p>In ChatGPT, open Settings -> Security and login. Turn on Developer mode and keep Enforce CSP in developer mode enabled, then go to Settings -> Plugins and create the connection.</p>
250
+ </div>
251
+ </div>
252
+ <div class="step">
253
+ <span>4</span>
254
+ <div>
255
+ <strong>Create a ChatGPT plugin</strong>
256
+ <p>Name it CodexGPT. Use Connection: Server URL. Paste the complete copied URL, including its <code>codexgpt_token</code> query credential. Set <code>Authentication: No Authentication / None</code>.</p>
257
+ <p>This is the supported personal query-token compatibility flow. Treat the URL as a password-equivalent secret: it can leak through browser history, clipboard contents, screenshots, logs, and copied links. Do not share, publish, or commit it.</p>
258
+ </div>
259
+ </div>
260
+ <div class="step">
261
+ <span>5</span>
262
+ <div>
263
+ <strong>Use CodexGPT in chat</strong>
264
+ <p>Ask ChatGPT to inspect files, make scoped edits, and verify with search, read, bash, and git tools.</p>
265
+ </div>
266
+ </div>
267
+ </div>
268
+ </section>
269
+
270
+ <section class="section">
271
+ <div class="section-heading">
272
+ <p class="eyebrow">Tunnel choices</p>
273
+ <h2>Pick the URL strategy that matches your workflow.</h2>
274
+ </div>
275
+ <div class="compare-grid">
276
+ <article>
277
+ <span class="tag">Fastest</span>
278
+ <h3>Cloudflare quick tunnel</h3>
279
+ <p>No account flow. Good for demos. The URL changes every restart, so you must update the ChatGPT app Server URL each time.</p>
280
+ <pre><code>codexgpt start</code></pre>
281
+ </article>
282
+ <article>
283
+ <span class="tag">Recommended</span>
284
+ <h3>ngrok free dev domain</h3>
285
+ <p>Best simple stable URL. Create a free ngrok account, use the assigned dev domain, and keep the same ChatGPT app URL across restarts.</p>
286
+ <pre><code>codexgpt ngrok --hostname your-name.ngrok-free.dev</code></pre>
287
+ </article>
288
+ <article>
289
+ <span class="tag">Custom</span>
290
+ <h3>Cloudflare named tunnel</h3>
291
+ <p>Use your own domain, such as <code>codexgpt.example.com</code>, and keep one ChatGPT URL.</p>
292
+ <pre><code>codexgpt stable --hostname codexgpt.example.com --tunnel-name codexgpt</code></pre>
293
+ </article>
294
+ <article>
295
+ <span class="tag">Tailnet</span>
296
+ <h3>Tailscale Funnel</h3>
297
+ <p>Use your device's <code>.ts.net</code> hostname when your tailnet already allows public Funnel HTTPS.</p>
298
+ <pre><code>codexgpt tailscale --hostname your-device.your-tailnet.ts.net</code></pre>
299
+ </article>
300
+ </div>
301
+ </section>
302
+
303
+ <section id="ngrok" class="section two-col">
304
+ <div>
305
+ <p class="eyebrow">ngrok setup</p>
306
+ <h2>Use ngrok's free dev domain for a fixed ChatGPT connector URL.</h2>
307
+ <p>
308
+ ngrok free accounts include a dev domain. Find it in the ngrok dashboard under Universal Gateway -> Domains, save it once in CodexGPT, and future starts from the same repo are just <code>codexgpt start</code>.
309
+ </p>
310
+ <p>
311
+ That means users do not need to change ChatGPT settings every time they restart CodexGPT.
312
+ </p>
313
+ </div>
314
+ <div class="command-stack">
315
+ <div>
316
+ <small>One-time ngrok auth</small>
317
+ <pre><code>ngrok config add-authtoken YOUR_NGROK_TOKEN</code></pre>
318
+ </div>
319
+ <div>
320
+ <small>Save the CodexGPT workspace profile</small>
321
+ <pre><code>codexgpt settings set --tunnel ngrok --hostname your-name.ngrok-free.dev</code></pre>
322
+ </div>
323
+ <div>
324
+ <small>Daily start</small>
325
+ <pre><code>codexgpt start</code></pre>
326
+ </div>
327
+ </div>
328
+ </section>
329
+
330
+ <section id="cloudflare" class="section two-col reverse">
331
+ <div class="command-stack">
332
+ <div>
333
+ <small>Quick tunnel</small>
334
+ <pre><code>codexgpt start --tunnel cloudflare</code></pre>
335
+ </div>
336
+ <div>
337
+ <small>Named tunnel with your domain</small>
338
+ <pre><code>cloudflared tunnel login
339
+ cloudflared tunnel create codexgpt
340
+ cloudflared tunnel route dns codexgpt codexgpt.example.com</code></pre>
341
+ </div>
342
+ <div>
343
+ <small>Daily stable start</small>
344
+ <pre><code>codexgpt stable --hostname codexgpt.example.com --tunnel-name codexgpt</code></pre>
345
+ </div>
346
+ </div>
347
+ <div>
348
+ <p class="eyebrow">Cloudflare setup</p>
349
+ <h2>Start instantly with quick tunnels or keep a custom domain with named tunnels.</h2>
350
+ <p>
351
+ CodexGPT can install <code>cloudflared</code> into <code>~/.codexgpt/bin</code> when it is missing. No sudo, Homebrew, apt, or winget step is required for the default path.
352
+ </p>
353
+ <p>
354
+ Quick tunnels are disposable. If you own a domain, use a Cloudflare named tunnel and route DNS to a hostname such as <code>codexgpt.example.com</code>. The hostname stays the same across restarts, so the ChatGPT app Server URL does not need to change.
355
+ </p>
356
+ </div>
357
+ </section>
358
+
359
+ <section id="modes" class="section">
360
+ <div class="section-heading">
361
+ <p class="eyebrow">Modes</p>
362
+ <h2>Use the right level of control for the task.</h2>
363
+ </div>
364
+ <div class="mode-row">
365
+ <div>
366
+ <strong>Normal coding</strong>
367
+ <p>Default. ChatGPT can inspect, write, edit, search, and verify inside the workspace.</p>
368
+ </div>
369
+ <div>
370
+ <strong>Handoff</strong>
371
+ <p>Planning-only. ChatGPT writes <code>.ai-bridge/current-plan.md</code> and Codex executes locally.</p>
372
+ </div>
373
+ <div>
374
+ <strong>Pro planning</strong>
375
+ <p>Exports a durable context file for models or surfaces that cannot call connectors or MCP tools directly.</p>
376
+ </div>
377
+ </div>
378
+ </section>
379
+
380
+ <section id="reference" class="section reference-section">
381
+ <div class="section-heading">
382
+ <p class="eyebrow">Complete setup data</p>
383
+ <h2>Everything needed to install, connect, use, and stop CodexGPT.</h2>
384
+ <p>
385
+ This page keeps the high-signal details in one place: commands, ChatGPT app fields, tunnel choices, tools, saved settings, safety defaults, and useful links.
386
+ </p>
387
+ </div>
388
+
389
+ <div class="reference-grid">
390
+ <article>
391
+ <small>Install</small>
392
+ <h3>Install globally once</h3>
393
+ <pre><code>npm install -g codexgpt</code></pre>
394
+ <p>This gives users the simple <code>codexgpt</code> command everywhere.</p>
395
+ </article>
396
+ <article>
397
+ <small>First run</small>
398
+ <h3>Guided setup</h3>
399
+ <pre><code>codexgpt setup</code></pre>
400
+ <p>Setup saves the tunnel provider, hostname, port, mode, and token for the current workspace.</p>
401
+ </article>
402
+ <article>
403
+ <small>Daily start</small>
404
+ <h3>Reuse saved profile</h3>
405
+ <pre><code>codexgpt start</code></pre>
406
+ <p>After setup, future starts from the same repo reuse the saved profile automatically.</p>
407
+ </article>
408
+ <article>
409
+ <small>ChatGPT settings path</small>
410
+ <h3>Enable plugins once</h3>
411
+ <dl>
412
+ <div><dt>Open</dt><dd>ChatGPT Settings</dd></div>
413
+ <div><dt>Go to</dt><dd>Security and login</dd></div>
414
+ <div><dt>Enable</dt><dd>Developer mode</dd></div>
415
+ <div><dt>Keep on</dt><dd>Enforce CSP in developer mode</dd></div>
416
+ <div><dt>Then</dt><dd>Plugins -> Create</dd></div>
417
+ </dl>
418
+ <p>This is a one-time ChatGPT setting. CodexGPT widgets work with CSP enabled.</p>
419
+ </article>
420
+ <article>
421
+ <small>Create Plugin fields</small>
422
+ <h3>Paste the copied URL</h3>
423
+ <dl>
424
+ <div><dt>Name</dt><dd>CodexGPT</dd></div>
425
+ <div><dt>Description</dt><dd>Local workspace bridge for ChatGPT coding</dd></div>
426
+ <div><dt>Connection</dt><dd>Server URL</dd></div>
427
+ <div><dt>Server URL</dt><dd>Paste copied CodexGPT URL</dd></div>
428
+ <div><dt>Authentication</dt><dd>No Authentication / None</dd></div>
429
+ </dl>
430
+ <p>The copied Server URL already includes the private CodexGPT token. Do not paste the token separately unless your ChatGPT UI supports custom headers.</p>
431
+ </article>
432
+ <article>
433
+ <small>Doctor</small>
434
+ <h3>Preflight checks</h3>
435
+ <pre><code>codexgpt doctor</code></pre>
436
+ <p>Checks Node, build output, saved profile, port availability, tunnel prerequisites, clipboard support, and browser-open support.</p>
437
+ </article>
438
+ <article>
439
+ <small>Settings</small>
440
+ <h3>Manage saved profiles</h3>
441
+ <pre><code>codexgpt settings
442
+ codexgpt settings set --tunnel ngrok --hostname your-name.ngrok-free.dev
443
+ codexgpt settings delete --yes</code></pre>
444
+ <p>Use settings to switch providers, reuse another repo setup, or delete a workspace preference.</p>
445
+ </article>
446
+ <article>
447
+ <small>Controls</small>
448
+ <h3>Terminal keys</h3>
449
+ <dl>
450
+ <div><dt>Enter</dt><dd>Open ChatGPT connector settings</dd></div>
451
+ <div><dt>c</dt><dd>Copy Server URL again</dd></div>
452
+ <div><dt>o</dt><dd>Open local admin dashboard</dd></div>
453
+ <div><dt>q</dt><dd>Stop CodexGPT</dd></div>
454
+ </dl>
455
+ </article>
456
+ <article>
457
+ <small>Local admin</small>
458
+ <h3>Setup, profile, and status</h3>
459
+ <p>Press <code>o</code> to open the token-protected admin dashboard. It shows install/start commands, ChatGPT connection steps, saved profile settings, modes, allowed roots, and advanced restart shortcuts.</p>
460
+ </article>
461
+ </div>
462
+
463
+ <div class="tool-reference">
464
+ <div>
465
+ <p class="eyebrow">Default standard tools</p>
466
+ <h3>Focused local repo actions exposed through MCP.</h3>
467
+ </div>
468
+ <div class="tool-list">
469
+ <span>codexgpt</span>
470
+ <span>server_config</span>
471
+ <span>codexgpt_self_test</span>
472
+ <span>open_current_workspace</span>
473
+ <span>open_workspace</span>
474
+ <span>tree</span>
475
+ <span>search</span>
476
+ <span>read</span>
477
+ <span>write</span>
478
+ <span>edit</span>
479
+ <span>bash</span>
480
+ <span>show_changes</span>
481
+ <span>read_handoff</span>
482
+ <span>wait_for_handoff</span>
483
+ <span>export_pro_context</span>
484
+ <span>handoff_to_agent</span>
485
+ </div>
486
+ </div>
487
+
488
+ <div class="reference-grid compact">
489
+ <article>
490
+ <small>Safety defaults</small>
491
+ <h3>Blocked paths</h3>
492
+ <p><code>.env</code>, private keys, <code>.git</code>, <code>node_modules</code>, generated build/cache folders, paths outside the workspace, and symlink escapes are refused.</p>
493
+ </article>
494
+ <article>
495
+ <small>Safe bash</small>
496
+ <h3>Verification without full shell</h3>
497
+ <p>Safe mode allows common repo inspection, git, tests, lint, typecheck, and build commands. Use full bash only for trusted local repos.</p>
498
+ </article>
499
+ <article>
500
+ <small>No surprise shell</small>
501
+ <h3>Disable or target bash</h3>
502
+ <p>Use <code>codexgpt start --no-bash</code>, or keep bash enabled with <code>--bash-session main --require-bash-session</code>. Session labels target this local CodexGPT server, not a Codex app chat.</p>
503
+ </article>
504
+ <article>
505
+ <small>Codex sessions</small>
506
+ <h3>Opt-in local history browser</h3>
507
+ <p><code>--codex-sessions metadata</code> lists local Codex session ids, titles, cwd paths, and resume commands. <code>read</code> mode adds bounded transcript reads; neither mode attaches to a live Codex chat.</p>
508
+ </article>
509
+ <article>
510
+ <small>Visual widgets</small>
511
+ <h3>Compact cards for every tool</h3>
512
+ <p>Every CodexGPT tool can render a compact v9 card. Skills, git, tree, context, terminal output, and raw diffs stay folded or bounded until opened; <code>load_skill</code> loads bounded instructions on demand.</p>
513
+ </article>
514
+ <article>
515
+ <small>Stable URL rule</small>
516
+ <h3>One URL needs one reserved hostname</h3>
517
+ <p>Cloudflare quick tunnels change on restart. Use an ngrok free dev domain, Cloudflare named tunnel, or Tailscale Funnel when you want one ChatGPT app URL.</p>
518
+ </article>
519
+ <article>
520
+ <small>Local web admin</small>
521
+ <h3>Edit next-run profile defaults</h3>
522
+ <p>The token-protected local page can save tunnel, hostname, port, mode, bash, Codex sessions, write/tool mode, widget origin, and tunnel config paths for the next <code>codexgpt start</code>. Raw tunnel tokens, account switching, and background services stay out of the browser.</p>
523
+ </article>
524
+ <article>
525
+ <small>Local executor</small>
526
+ <h3>Execution stays on your machine</h3>
527
+ <p><code>execute-handoff</code> is a terminal command, not a remote MCP tool. Use <code>--dry-run</code> before running unfamiliar agents or custom commands.</p>
528
+ </article>
529
+ </div>
530
+
531
+ <div class="link-row" aria-label="Documentation links">
532
+ <a class="star-link" href="https://github.com/chatGPT-10/codexgpt"><img src="./star.svg" alt="" aria-hidden="true" />Star the GitHub repo</a>
533
+ <a href="https://www.npmjs.com/package/codexgpt">npm package</a>
534
+ <a href="https://github.com/chatGPT-10/codexgpt/blob/main/DOMAIN_SETUP.md">Stable URL guide</a>
535
+ <a href="https://github.com/chatGPT-10/codexgpt/blob/main/FAQ.md">FAQ</a>
536
+ <a href="https://github.com/chatGPT-10/codexgpt/blob/main/SECURITY.md">Security notes</a>
537
+ </div>
538
+ </section>
539
+
540
+ <section id="faq" class="section">
541
+ <div class="section-heading">
542
+ <p class="eyebrow">FAQ</p>
543
+ <h2>The questions users will ask before installing.</h2>
544
+ <p>Short answers for account requirements, setup, URLs, safety, and what ChatGPT can actually access.</p>
545
+ </div>
546
+ <div class="faq-grid">
547
+ <article>
548
+ <h3>Which ChatGPT account should I use?</h3>
549
+ <p>Use a ChatGPT account with Apps / Developer Mode access. OpenAI lists Developer Mode for Pro, Plus, Business, Enterprise, and Education accounts on web. Current testing shows free and Go accounts do not expose the app flow needed for CodexGPT. A specific model surface may still be unable to call connectors; use Pro context fallback for those sessions.</p>
550
+ </article>
551
+ <article>
552
+ <h3>Does CodexGPT bypass rate limits?</h3>
553
+ <p>No. It does not bypass, avoid, increase, pool, resell, or modify ChatGPT, Codex, OpenAI, or third-party model limits. Every request still runs through your own ChatGPT session and whatever limits that account has.</p>
554
+ </article>
555
+ <article>
556
+ <h3>Why install globally?</h3>
557
+ <p>Global install gives users one command: <code>codexgpt setup</code>. It avoids long <code>npx</code> commands and makes daily startup simply <code>codexgpt start</code>.</p>
558
+ </article>
559
+ <article>
560
+ <h3>What URL should I use?</h3>
561
+ <p>Use Cloudflare quick tunnel for demos. Use an ngrok free dev domain, Cloudflare named tunnel, or Tailscale Funnel when you want one ChatGPT app URL that survives restarts.</p>
562
+ </article>
563
+ <article>
564
+ <h3>Can ChatGPT see my Codex context?</h3>
565
+ <p>It can read explicit context files such as <code>AGENTS.md</code>, <code>.ai-bridge</code>, git status/diff, and selected source files. It cannot read hidden Codex runtime memory.</p>
566
+ </article>
567
+ <article>
568
+ <h3>Should CSP stay enabled?</h3>
569
+ <p>Yes. In Settings -> Security and login, turn on Developer mode and keep Enforce CSP in developer mode enabled. Create and manage the connection under Settings -> Plugins.</p>
570
+ </article>
571
+ </div>
572
+ </section>
573
+
574
+ <section id="stop" class="section two-col">
575
+ <div>
576
+ <p class="eyebrow">Start and stop</p>
577
+ <h2>Keep the terminal running while ChatGPT uses the connector.</h2>
578
+ <p>
579
+ CodexGPT owns the local MCP server and the tunnel process. Stop it when the session is over.
580
+ </p>
581
+ </div>
582
+ <div class="rules">
583
+ <div>
584
+ <strong>Start</strong>
585
+ <p>Run <code>codexgpt start</code> in the target repo. The Server URL is copied automatically.</p>
586
+ </div>
587
+ <div>
588
+ <strong>Open</strong>
589
+ <p>Press Enter in the terminal to open ChatGPT connector settings.</p>
590
+ </div>
591
+ <div>
592
+ <strong>End</strong>
593
+ <p>Press <code>q</code> or Ctrl+C. Quick tunnel URLs stop working. Stable hostnames stay reserved.</p>
594
+ </div>
595
+ </div>
596
+ </section>
597
+
598
+ <section class="section safety">
599
+ <div>
600
+ <p class="eyebrow">Safety boundary</p>
601
+ <h2>This is a local developer bridge, not an OS sandbox.</h2>
602
+ </div>
603
+ <ul>
604
+ <li>Public tunnels are token-protected by default.</li>
605
+ <li><code>.env</code>, private keys, <code>.git</code>, <code>node_modules</code>, and symlink escapes are blocked.</li>
606
+ <li>Safe bash allows common inspection and test commands, not arbitrary shell control.</li>
607
+ <li><code>--no-bash</code> disables all ChatGPT-triggered shell commands.</li>
608
+ <li><code>--bash-session</code> with <code>--require-bash-session</code> requires explicit session targeting before bash runs.</li>
609
+ <li>Use handoff mode when you want ChatGPT to plan and Codex to edit.</li>
610
+ </ul>
611
+ </section>
612
+ </main>
613
+
614
+ <footer class="site-footer">
615
+ <span>CodexGPT</span>
616
+ <a class="star-link" href="https://github.com/chatGPT-10/codexgpt"><img src="./star.svg" alt="" aria-hidden="true" />Star on GitHub</a>
617
+ <a href="https://www.npmjs.com/package/codexgpt">npm</a>
618
+ <a href="./zh.html">中文</a>
619
+ <a href="https://github.com/chatGPT-10/codexgpt/blob/main/SECURITY.md">Security</a>
620
+ </footer>
621
+
622
+ <script src="./script.js"></script>
623
+ </body>
624
+ </html>