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,20 @@
1
+ # AGENTS.md example
2
+
3
+ This repo is connected through CodexGPT.
4
+
5
+ Rules for ChatGPT or another planning model:
6
+
7
+ - Prefer planning and review over direct implementation.
8
+ - Use handoff_to_codex to write .ai-bridge/current-plan.md.
9
+ - Do not edit source files unless the user explicitly asks.
10
+ - Before modifying a target, follow the effective root-to-target AGENTS chain; refresh target context after switching subtrees.
11
+ - Load only a Skill that actually matches the current target. Treat Skill scripts and declared dependencies as inert text unless the user separately authorizes an existing execution tool.
12
+ - Always inspect git_status and git_diff before reviewing.
13
+ - Respect .ai-bridge/decisions.md.
14
+
15
+ Rules for Codex:
16
+
17
+ - Read .ai-bridge/current-plan.md before changing code.
18
+ - Execute in small steps.
19
+ - Update .ai-bridge/codex-status.md after meaningful changes.
20
+ - Include tests run and results.
package/CHANGELOG.md ADDED
@@ -0,0 +1,342 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ - No changes yet.
6
+
7
+ ## 1.0.0 - 2026-07-27
8
+
9
+ - Released the first stable CodexGPT version after completing Phase 8 OAuth Core through Tasks 8A1–8A9, live Gate G8-U Journeys U2–U7, local Gate G8-X, and exact-head Ubuntu/Windows Node 20/24 CI: Windows DPAPI CurrentUser protection, versioned atomic auth state, physically separated public/local listeners, constrained public-client DCR with PKCE S256 and resource binding, strict ES256 access tokens, authenticated rotating opaque refresh families, durable replay/revoke/expiry handling, request-local OAuth policy identity, exact tool scopes and step-up, supported setup/local administration/recovery, two-App Legacy/OAuth rollback, fail-early dedicated-Tunnel ownership enforcement, and live restart/revoke/relink/recovery/rollback/Tunnel-boundary acceptance. U6 retains the explicit deleted-Legacy-App evidence substitution.
10
+ - Added Phase 7 Core behind explicit `standard` Contract V5: one zero-setup JavaScript/TypeScript `semantic` tool for definitions, references, one-file diagnostics, and complete rename previews; a bounded owned worker using TypeScript 5.9.3; honest lexical fallback; single-use `semantic_preview_id` application through the existing approval/atomic transaction/audit/change-set/undo path; local status/disable commands; and exact V1/V2/V3/V4 compatibility. Serena and direct LSP remain unimplemented, unbundled post-Core extensions.
11
+ - Fixed two cached-App acceptance defects: overlong installed Skill summaries are now omitted instead of collapsing `codexgpt_inventory`, and ambiguous rename requests in partial repositories return bounded candidates before the complete-coverage write gate, without creating a preview or modifying files.
12
+ - Fixed source-checkout CLI help so it consistently routes users through the supported `scripts/codexgpt-entry.mjs` public entry, with a runtime regression that also binds the published `codexgpt` bin mapping.
13
+ - Added Phase 6 project guidance: normal `standard` mode now returns bounded root and target `AGENTS.md` context, discovers target-scoped workspace Skills with lazy body/resource loading, requires context refresh before mutation and subtree switches, and keeps scripts, dependencies, user/plugin Skills, and all permission changes explicit. Omitted guidance defaults to ready `standard`; explicit `legacy` remains the rollback, while omitted minimal mode preserves the exact legacy projection because `codex_context` is unavailable there.
14
+ - Fixed Phase 6 exact-head cross-platform failures by normalizing Windows-style guidance targets on every host, rereading the same bounded handle to detect same-size in-place edits, and promptly retrying failed detached-run lease renewals without extending lease authority.
15
+ - Aligned detached-run flood and finalization regression deadlines with the production worker-lease boundary plus bounded publication grace, so CI load cannot fail a still-observable runner because of shorter test-only timeouts.
16
+ - Kept detached workers alive until authoritative result publication by retaining the lease-renewal timer as a referenced lifecycle handle and clearing it only after terminal evidence is written.
17
+ - Stabilized the final Windows runner completion tests by polling the production state machine without repeatedly spawning the status CLI and by waiting through the production worker-lease boundary before declaring observational result publication late.
18
+ - Retried asynchronous atomic JSON replacement for bounded transient Windows sharing conflicts, preventing authoritative detached-run result publication from silently failing and later appearing stale under CI pressure.
19
+ - Kept the initial detached-run worker lease observational so a permanently blocked first lease write cannot abort task execution, cleanup, retention, or authoritative result publication; added deterministic coverage that preserves the task's real exit code.
20
+ - Kept detached-run worker leases renewable under Node 24 CI filesystem pressure by publishing the small observational lease through a synchronous atomic replacement with bounded retries for transient Windows sharing violations, while preserving asynchronous result publication, temporary-state cleanup, retention, and exact mutation inventory review.
21
+ - Fixed Linux global CLI launches through npm-created symlinks, disabled in-place Cloudflared self-updates for managed tunnel processes, and stopped public startup logs from automatically echoing credential-bearing Server URLs when clipboard integration is unavailable.
22
+ - **Breaking:** Renamed every canonical package, CLI, environment-variable, local-state, MCP-tool, source-path, test, and active-documentation surface to CodexGPT. Existing installations must adopt the new package, commands, variables, and state paths.
23
+
24
+ - Added cleanup-backed focused-test and local-task launchers, exact owned `TEMP`/`TMP`/`TMPDIR` isolation with stale-owner recovery, and bounded detached-run evidence retention. Cleanup removes only marker/identity-verified dead-owner roots and verified terminal evidence, and fails closed on malformed or incomplete state.
25
+ - Implemented Phase 3D locally: explicit contract V2 now projects the exact 31-tool universe, registering `move_paths` and `undo_change_set` in standard/full mode and `query_audit_events` in full mode, with direct/supertool parity, strict schemas, policy resources, authenticated Manifest/Change Set V2 state, participant-aware V1/V2 recovery, same-volume no-clobber move execution, conflict-checked move undo, and V1 remaining the exact 28-tool default.
26
+ - Hardened Phase 3D after adversarial review with syscall-boundary write-ahead recovery, stable parent/reparse-point revalidation, recoverable original-change-set reconciliation, service-level mutation quiesce/drain, deterministic child-process crash oracles, no-clobber external-writer handling, exact 64-item cycles, bounded Windows sharing retries, explicit EXDEV backend failures, and canonical-root multi-process locks.
27
+ - Fixed Windows Node 20 move execution by transferring the verified file-object handle from the original source name to its authenticated stage hard link immediately after source-name removal, preserving continuous identity proof without treating Node 20 `EPERM` results as missing paths.
28
+ - Completed Phase 3C production mutation migration: all supported workspace writers can run through the guarded atomic runtime under contract V1, with per-server production composition, required terminal audit, authenticated change-set publication, encrypted before-state retention, keyed owner binding, complete undo preflight/reverse transactions, exact V1 projections, and no fallback to direct writes. `legacy` remains the compatibility default; Phase 3D extends the shared runtime with durable participant reconciliation and public V2 activation.
29
+ - Restored GitHub CLI configuration and Windows OS-keyring discovery for the default narrowed Bash environment by preserving or deriving only `USERPROFILE`, `APPDATA`, `LOCALAPPDATA`, and `GH_CONFIG_DIR`; arbitrary parent variables, `GH_TOKEN`, and unrelated API credentials remain excluded unless `CODEXGPT_INHERIT_ENV=1` is explicitly enabled.
30
+ - Added the Phase 3A internal atomic-transaction kernel with strict external state manifests, installation-key separation, conservative cross-process workspace locks, exact-byte preconditions, same-volume hard-link staging and backups, participant-gated commit, synchronous rollback, persisted crash recovery before atomic-mode workspace reuse, and unconditional blocking of `.codexgpt-txn-*` artifacts. `legacy` remains the compatibility default; Phase 3C now supplies the production writer migration described above.
31
+ - Added the Phase 3B persistent local audit backend with strict authorization/execution/recovery/administrative events, canonical authenticated JSONL segments, conservative cross-process writer locking, recoverable final-tail quarantine, fail-closed non-tail integrity handling, UTC-date/size rotation, tombstone-before-delete retention, bounded authenticated queries, transaction-participant ordering, and an eighteenth `codexgpt_self_test` audit-readiness check. Phase 3C injects the production audit runtime when atomic or non-legacy Policy configuration requires it; Phase 3D exposes the bounded query adapter only in contract V2 full mode.
32
+ - Added the compiled local Policy Kernel with explicit `legacy`, `shadow`, and fail-closed `enforce` modes, strict Permission Profile V1 loading, transport-aware request identity, bounded session grants, deterministic resource descriptors, redacted audit facts, and capability-gated Shell/Process/Network decisions without claiming OAuth owner identity or full OS sandboxing.
33
+ - Replaced path-derived, process-shared workspace IDs with random session-scoped handles; added same-session reuse, cross-session isolation, sliding idle expiry, close and policy/transport revocation, strict core lookup with one-cycle session-local compatibility fallback, and the exact `close_workspace` lifecycle tool as the 28th canonical child action.
34
+ - Added the exact schema-v1 `codexgpt` supertool contract as a closed wrapper over the canonical direct child tools: nested sorted `list_actions`, eight fixed aliases, four stable redacted wrapper failures, exact child-input/output validation, direct invocation of the live registered target handler, preserved child `content`/`isError`/envelopes, effective mode/write/Bash/analysis/session gates from the live registration map, dedicated Tool Card output, fail-closed protected-Smoke and Stress compatibility loaders, and a safe no-op for the intentionally supertool-free connection-test surface.
35
+ - Added an exact schema-v1 `inspect_workspace` result contract with sixteen strict nested analysis fields, validated full-workspace provider identity/path/count/warning invariants, five stable redacted workspace/path/provider/internal failures, preserved scope/cap/cache semantics, nested Tool Card/supertool compatibility, and exact fail-closed protected Smoke migration without analysis-engine, workspace-lifecycle, or Phase 2 changes.
36
+ - Added an exact schema-v1 `list_workspaces` result contract with ordered strict `{ id, root, openedAt }` inventory records, derived count and uniqueness invariants, two stable redacted provider/internal failures, nested Tool Card/supertool compatibility, and one fail-closed in-memory protected HTTP Smoke migration without workspace-lifecycle or Phase 2 changes.
37
+ - Added an exact schema-v1 `workspace_snapshot` result contract with thirteen strict nested fields, validated workspace-summary and AI-context provider boundaries, four stable redacted failures, approved-only AI handoff filenames, nested Tool Card/supertool compatibility, fail-closed protected Smoke migration, and Windows `PATHEXT` restoration in the Smoke compatibility harness.
38
+ - Added an exact schema-v1 `open_workspace` result envelope with twelve strict nested workspace fields, seven stable redacted alias/path/root/open/internal failures, deterministic trimmed `root`/`path` alias handling, stage-separated root and summary validation, global-Skill request-scope enforcement, nested Tool Card/supertool compatibility, preserved deterministic workspace reuse and non-Git success, plus fail-closed in-memory main-Smoke and HTTP-Smoke compatibility loaders with bounded stack labels that keep protected test fixtures unchanged on disk.
39
+ - Added an exact schema-v1 `open_current_workspace` result envelope with twelve strict nested workspace fields, five stable redacted default-root/internal failures, validated workspace/root/AGENTS/skill/count/inclusion provider boundaries, nested Tool Card/supertool compatibility, and preserved non-Git workspace success plus recent-commit human summaries.
40
+
41
+ - Added an exact schema-v1 `bash` result envelope with eleven strict nested process fields, eleven stable redacted workspace/session/policy/backend/path/start failures, validated provider command/cwd/session identity, dedicated nested Tool Card/supertool output, preserved compact/full transcripts, and preserved non-zero exits as successful command-level verification results.
42
+ - Added an exact schema-v1 `apply_patch` result envelope with nine strict nested fields, twelve stable redacted workspace/path/input/policy/Git/patch failures, validated normalized provider path sets, cache-safe invalidation, dedicated nested Tool Card/supertool output, and preserved guarded non-atomic `git apply` behavior.
43
+ - Added an exact schema-v1 `edit` result envelope with strict nested replacement metadata, fourteen stable redacted workspace/path/file/replacement/policy/edit failures, validated provider and returned-path boundaries, dedicated nested Tool Card/supertool output, and preserved exact-match, diff, Unicode, and cache-invalidation behavior.
44
+ - Added an exact schema-v1 `write` result envelope with strict nested file metadata, stable redacted workspace/path/file/policy/write failures, safe provider validation, dedicated nested Tool Card/supertool output, and preserved create/overwrite/diff/cache-invalidation behavior.
45
+ - Added an exact schema-v1 `search` result envelope with strict lexical matches, stable redacted workspace/path/backend failures, exact optional structured analysis, fixed safe degradation warnings, nested Tool Card/supertool output, and preserved ripgrep/Node fallback behavior.
46
+ - Added an exact schema-v1 `show_changes` result envelope with strict Git/workspace/path failures, exact optional impact-analysis data, fixed safe analysis degradation, nested Tool Card/supertool output, and preserved staged/path/checkpoint/untracked-file behavior.
47
+ - Added an exact schema-v1 `git_diff` result envelope with strict success invariants, stable redacted Git/path failures, a dedicated nested-data tool card, and preserved staged/path/stats-only behavior; corrected native-Windows Stress fixtures so the full suite runs on Windows.
48
+ - Added bounded multi-language repository analysis, grouped search results, change-impact and test recommendations, `codexgpt inspect` / `codexgpt review` CLI commands, and compact opt-in tool cards.
49
+ - Added `codexgpt connection-test`, a read-only connector profile with no bash or tool cards, plus request-arrival logging and current ChatGPT Plugins troubleshooting.
50
+ - Added Tailscale Funnel as a saved tunnel/profile option, including `codexgpt tailscale --hostname ...`, launcher support, admin profile support, and settings smoke coverage.
51
+ - Added proxy-aware Cloudflare quick tunnels: when proxy env vars are set, CodexGPT requests quick-tunnel credentials through `curl --proxy`, runs `cloudflared` with a temporary credentials file, ignores Cloudflare API URLs, and cleans the credentials file after shutdown.
52
+ - Hardened Codex handoff execution on Windows by resolving spawnable Codex shims, asking Codex to read the plan file instead of argv-passing the whole plan, and recording git status in handoff artifacts.
53
+ - Added concise connector-creation troubleshooting to the English and Chinese FAQs.
54
+ - Bounded browser-facing tool-card structured payloads and binary-file text checks so CodexGPT emits less data without reducing normal tool-result or binary-detection quality.
55
+ - Allowed targeted line-range reads and search matches in text files slightly above `maxReadBytes`, while keeping full-file reads and very large scans bounded.
56
+ - Replaced the overlong README with a shorter install, tunnel, safety, RAM-boundary, and development guide.
57
+ - Added a guarded `apply_patch` MCP tool for unified-diff edits inside workspace write mode, with blocked-path and secret-content checks before patches are applied.
58
+ - Added last-shown review checkpoints to `show_changes`, so repeated unchanged reviews collapse while new workspace changes still produce a fresh diff.
59
+ - Fixed checkpoint-hit `show_changes` responses so repeated unchanged reviews report zero new diff stats instead of carrying stale addition/deletion counts.
60
+ - Scoped `apply_patch` result diffs to the applied patch, so unrelated dirty tracked files are not folded into the patch card.
61
+ - Hardened safe bash filtering, path canonicalization, binary-file checks, ripgrep truncation reporting, and supertool argument validation around edge-case bypasses found by stress testing.
62
+ - Redacted child tunnel process output before logging or surfacing startup failures so Cloudflare `TUNNEL_TOKEN` values cannot leak from failed named-tunnel launches.
63
+ - Kept `codex_sessions` metadata mode from returning transcript-tail summaries, skipped unreadable stale history files, and accepted source paths under symlink-resolved Codex history roots.
64
+ - Hardened search, context export, path blocking, skill loading, and change summaries around hidden files, colon-containing paths, `.env` descendants, large-file limits, user skills, and diff stats.
65
+ - Blocked raw newline and carriage-return command separators in safe bash mode before whitespace normalization, including through the stable `codexgpt` supertool wrapper.
66
+ - Corrected docs to describe Developer Mode account eligibility as broader than Plus/Pro while keeping the model/tool-surface limitation explicit.
67
+
68
+ ## 0.28.6
69
+
70
+ - Added the stable `codexgpt` supertool wrapper for advanced connector-cache/custom workflows, while preserving tool/write/bash mode gates.
71
+ - Hardened direct HTTP auth defaults, local `--no-auth`, token redaction, search parsing, selected-path Pro exports, and handoff polling state.
72
+ - Added `npm run stress` to cover full-mode MCP behavior, supertool dispatch, skill caps, card payloads, search edge cases, Pro export, and handoff polling.
73
+ - Fixed CLI env precedence so `CODEXGPT_HOST` / `CODEXGPT_PORT` override generic `HOST` / `PORT`, preventing ambient process env from widening a launcher-validated bind.
74
+ - Normalized stable public hostnames in CLI settings/setup/start flows and accepted common `--flag=value` syntax.
75
+
76
+ - Made ChatGPT tool-card descriptor metadata opt-in with `CODEXGPT_TOOL_CARDS=1`, so default `tools/list` responses stay plain MCP and avoid fragile widget metadata during tool discovery.
77
+ - Added `codexgpt loop-handoff` for bounded local execute/review loops over `.ai-bridge/current-plan.md`, with a required local `--review-command`, `--max-iters`, dry-run preview, optional test command capture, and stop conditions for no diff, repeated diff, missing follow-up plans, reviewer errors, and human cancellation.
78
+ - Hardened `loop-handoff` external-command boundaries: commands are preflighted before execution, reviewer verdicts require explicit `CODEXGPT_REVIEW=...` assignment lines by default, and reviewer `PASS` no longer masks failed executor/test/reviewer commands unless the user opts into the supported override behavior.
79
+ - Fixed loop change detection so `--stop-if-no-files-changed` and `--stop-if-same-diff` compare each iteration against a pre-execution baseline and count unstaged diffs, staged diffs, and untracked file fingerprints outside `.ai-bridge`.
80
+ - Switched loop guard decisions to an uncapped git-state fingerprint instead of hashing or vetoing on the trimmed reviewer diff artifact.
81
+ - Kept handoff plan hashing on the handoff read-size budget instead of `--max-output-bytes`, so valid plans larger than captured output excerpts do not abort the loop after execution.
82
+ - Made loop change fingerprints content/status based instead of timestamp based, so repeated identical tracked-file writes stop as no new changes instead of looking different because of volatile mtimes.
83
+ - Normalized Git porcelain paths back to workspace-relative paths before loop clean-start filtering and change fingerprinting, with path-scoped status and untracked-file scans so nested workspaces inside larger Git repos are handled correctly.
84
+ - Bounded untracked file fingerprinting so symlinks are reported via `readlink` and regular files hash only a capped prefix instead of following arbitrary paths or reading entire generated artifacts.
85
+ - Tightened `--require-clean-git-start` so staged renames are treated as handoff-only only when both rename endpoints are inside `.ai-bridge`.
86
+ - Stopped reviewer `FAIL` and implicit review verdicts from continuing when the reviewer deletes, empties, or restores `.ai-bridge/current-plan.md` to the scaffold instead of writing a usable follow-up plan.
87
+ - Kept the autonomous handoff loop CLI-only and local-terminal-owned; it does not expose agent execution as a remote MCP tool, automate ChatGPT Web, approve product prompts, proxy models, or bypass limits.
88
+ - Extended handoff smoke coverage with a fake reviewer that fails once by writing a follow-up plan, then passes on the second local executor iteration, plus failed executor, failed reviewer, bare `PASS`, staged-only, untracked-file, bounded-untracked, dirty-baseline, repeated-identical-write, nested-workspace, nested-untracked-workspace, outside-untracked-nested-workspace, large-dirty-baseline, unavailable-diff-artifact, large-plan-over-output-cap, staged-rename, deleted-follow-up-plan, and implicit-deleted-plan cases.
89
+
90
+ ## 0.28.5
91
+
92
+ - Added a compatibility alias for stale ChatGPT descriptors that still request `ui://widget/codexgpt-tool-card-v8.html`, while keeping `ui://widget/codexgpt-tool-card-v9.html` as the current advertised widget.
93
+ - Stopped advertising the `bash` MCP tool when `CODEXGPT_BASH_MODE=off` / `codexgpt start --no-bash` is active, so ChatGPT has less opportunity to attempt a shell tool call in no-bash sessions.
94
+ - Stopped advertising direct `write` and `edit` tools unless `CODEXGPT_WRITE_MODE=workspace`; handoff/off modes keep handoff planning tools available for bounded `.ai-bridge` plan files without exposing generic source edit actions.
95
+ - Added smoke coverage that compares `codexgpt_self_test` expected tools against the actually registered MCP tool set, so disabled tools cannot silently remain visible in ChatGPT's tool list.
96
+ - Tightened `CODEXGPT_CONTEXT_DIR` to workspace-relative hidden directories such as `.ai-bridge`, rejecting source/build/dependency/credential directories and absolute paths.
97
+ - Made saved profile handling stricter: non-agent modes cannot inherit `write=workspace`, relative tunnel config/token paths resolve from the workspace, and `settings set` refuses to persist raw Cloudflare tunnel tokens.
98
+ - Completed the local admin profile form for named Cloudflare/ngrok settings, including tunnel name, config paths, token-file path, and cloudflared auto-install preference.
99
+ - Fixed path-scoped `show_changes` so unrelated workspace status is not reported for a clean requested path.
100
+ - Kept duplicate `load_skill` matches ambiguous until the caller supplies the exact displayed skill path.
101
+ - Added `codexgpt_self_test`, a local-only diagnostic that checks modes, expected tools, safe bash policy, selected-only Pro context, and an optional `.ai-bridge/codexgpt-self-test.md` write/edit probe without touching source files.
102
+ - Upgraded ChatGPT cards to `ui://widget/codexgpt-tool-card-v9.html` and attached compact card metadata to every CodexGPT tool, with large git/tree/context/bash payloads folded or bounded instead of printed as a giant chat block.
103
+ - Added `include_important_files` and `include_changed_files` controls to `export_pro_context` plus CLI smoke coverage for exact selected-only bundles.
104
+ - Added a dedicated compact `server_config` renderer and accepted model-friendly aliases `workspace_snapshot.max_files` plus `git_diff.include_diff=false` to reduce avoidable retry/error loops in ChatGPT.
105
+ - Reconfirmed the compliance boundary in runtime diagnostics and docs: CodexGPT is a local workspace MCP bridge, not a model provider, model proxy, quota bypass, resale layer, or remote executor.
106
+ - Added `codexgpt start --no-bash` and documented that CodexGPT does not bind MCP bash to a Codex app conversation id.
107
+ - Added an optional bash session guard with `--bash-session <id> --require-bash-session`; guarded `bash` calls must include the matching `session_id` before any shell command runs.
108
+ - Made bash chat transcripts compact by default, with `--bash-transcript full` for the old raw stdout/stderr chat output.
109
+ - Added opt-in local Codex session discovery with `--codex-sessions metadata|read`, including session ids, titles, cwd paths, source files, resume commands, and bounded transcript reads only in explicit `read` mode.
110
+ - Added a token-protected local profile editor at `/admin/profile` and the setup page so users can save tunnel, hostname, port, mode, bash, Codex session, write/tool mode, widget origin, and tunnel config defaults for the next `codexgpt start` without exposing raw tokens in the browser.
111
+
112
+ ## 0.28.4
113
+
114
+ - Made workspace cards compact by default, moving git details, discovered skills, and optional file tree output behind collapsible disclosure rows.
115
+ - Changed workspace open skill discovery to include workspace, user, and plugin skills by default while still exposing a focused `standard` tool surface.
116
+ - Added read-only `load_skill` so ChatGPT can load bounded `SKILL.md` instructions for discovered workspace, user, or plugin skills without exposing arbitrary path reads.
117
+ - Kept AGENTS detection in the workspace open result but stopped embedding the full AGENTS file in the open response; agents can read it explicitly when needed.
118
+ - Fixed setup propagation for `--widget-domain` and corrected workspace-card git status splitting for multi-file diffs.
119
+
120
+ ## 0.28.3
121
+
122
+ - Added `CODEXGPT_WIDGET_DOMAIN` and the Apps SDK resource metadata keys `_meta.ui.domain` plus `_meta["openai/widgetDomain"]` so ChatGPT no longer reports that the widget domain is missing.
123
+ - Surfaced the widget domain in server config, HTTP status output, docs, env examples, and smoke tests.
124
+
125
+ ## 0.28.2
126
+
127
+ - Moved ChatGPT visual cards from `bash` to the workspace open tools so the first call gives a compact project orientation instead of noisy terminal cards.
128
+ - Kept `bash` data-only for focused verification commands and strengthened server instructions to prefer `tree`, `search`, `read`, and `show_changes` for inspection/review.
129
+ - Upgraded the widget to v8 with a workspace summary renderer and a neutral waiting state instead of a stale-looking running card.
130
+
131
+ ## 0.28.1
132
+
133
+ - Added `CODEXGPT_TOOL_MODE=minimal|standard|full`, with `standard` as the default focused ChatGPT tool surface and `full` preserving the previous advanced toolbox.
134
+ - Added `show_changes` as a review-oriented visual card for git status, diff stats, and optional diff while keeping raw `git_diff` data-only.
135
+ - Upgraded the ChatGPT widget to v7 with compact bash execution summaries, review cards, and cleaner handoff cards.
136
+ - Allowed `open_workspace` to accept `path` as an alias for `root` to reduce client argument mismatch failures.
137
+ - Allowed safe package scripts with colon suffixes such as `npm run build:clients` for build/test verification.
138
+ - Surfaced tool mode in server config, local status, workspace/context exports, launcher output, setup profiles, and docs.
139
+
140
+ ## 0.28.0
141
+
142
+ - Added `codexgpt execute-handoff` as an opt-in local executor for `.ai-bridge/current-plan.md`.
143
+ - Added `codexgpt watch-handoff` as an opt-in local watcher that executes new handoff plans by content hash without exposing execution as a remote MCP tool.
144
+ - Added built-in local adapters for `opencode`, `pi`, and `codex`, plus a restricted `--command` template path for custom agents.
145
+ - Added `--dry-run`, `--yes`, timeout handling, stdout/stderr capture, `agent-status.md`, `implementation-diff.patch`, and `execution-log.jsonl` output.
146
+ - Kept `handoff_to_agent` planning-only; local execution is not exposed as a remote MCP tool.
147
+ - Fixed Windows release-gate coverage for symlink-escape smoke tests, Bash lookup, and custom executor paths containing spaces.
148
+ - Added smoke coverage for dry-run previews, custom command validation, execution status, diff collection, duplicate watch-plan skipping, and structured execution logging.
149
+ - Clarified that CodexGPT is an official Developer Mode/MCP workflow, not a rate-limit bypass or model access provider.
150
+
151
+ ## 0.27.2
152
+
153
+ - Added `handoff_to_agent` for file-based handoffs to Codex, OpenCode, Pi, or custom local implementation agents without executing local commands.
154
+ - Extended `.ai-bridge` with generic `agent-status.md`, `implementation-diff.patch`, and `execution-log.jsonl` files.
155
+ - Updated `read_handoff`, `codex_context`, Pro apply logging, docs, and smoke coverage for generic agent handoffs.
156
+ - Fixed secret detection so benign env-var references like `process.env.TOKEN` are not blocked or redacted as literal secrets.
157
+ - Shell-quoted generated agent command hints so model names cannot inject extra shell tokens.
158
+ - Bounded append-mode handoff reads with the configured text-file size guard.
159
+
160
+ ## 0.27.1
161
+
162
+ - Fail closed when HTTP MCP auth is required but `CODEXGPT_HTTP_TOKEN` is missing, including public tunnel mode and non-loopback binds.
163
+ - Block additional safe-bash bypass paths for absolute paths, parent paths, environment expansion, sensitive paths, and `find` write/action flags.
164
+ - Added smoke coverage for the missing-token HTTP startup failure and safe-bash blocked command cases.
165
+
166
+ ## 0.27.0
167
+
168
+ - Kept terminal startup focused on only the connector URL and essential controls; usage prompts now belong in README/docs only.
169
+ - Made `git_diff` data-only instead of a widget-rendered tool. This reduces noisy ChatGPT cards and avoids template fetch failures for empty/no-op diffs.
170
+ - Kept visual cards scoped to high-signal outputs: source writes, exact edits, Pro context exports, and Codex handoffs.
171
+ - Updated smoke coverage so routine inspection tools stay compact.
172
+
173
+ ## 0.26.0
174
+
175
+ - Removed prompt management from the terminal control panel.
176
+ - Removed the `s` hotkey and all launcher-side suggested prompt generation.
177
+ - Kept usage prompts and workflow examples in documentation instead of runtime UI.
178
+
179
+ ## 0.25.0
180
+
181
+ - Simplified the ready screen so startup shows one compact status block instead of a long boxed next-step panel.
182
+ - Reduced visible controls to the common actions: open ChatGPT, copy URL, open status, copy prompt, help, and quit.
183
+ - Changed the `s` control to copy the suggested ChatGPT prompt instead of printing the full prompt repeatedly.
184
+ - Cleaned up saved setup list formatting so reused ngrok/Cloudflare profiles are easier to scan in narrow terminals.
185
+
186
+ ## 0.24.0
187
+
188
+ - Added `codexgpt settings list` to show all saved workspace tunnel profiles.
189
+ - Added `codexgpt settings use` and `--from-root` to copy a saved setup from one workspace to another.
190
+ - Improved first-run `codexgpt start` behavior: if the current workspace has no settings but other saved setups exist, CodexGPT shows them as a numbered list so users can reuse an existing ngrok or Cloudflare setup instead of retyping hostnames.
191
+ - Expanded settings smoke coverage for profile listing and reuse.
192
+
193
+ ## 0.23.0
194
+
195
+ - Added a compact first-run tunnel picker to `codexgpt start` when no workspace settings exist, so users can choose Cloudflare quick, ngrok, Cloudflare stable, or local mode without running the full setup wizard.
196
+ - Added `codexgpt settings` with `show`, `set`, and `delete --yes` actions for persistent per-workspace tunnel preferences.
197
+ - Persisted the selected tunnel provider, hostname, port, mode, and CodexGPT token until the user changes or deletes the workspace settings.
198
+ - Added `scripts/settings-smoke.mjs` and included it in `npm run smoke`.
199
+
200
+ ## 0.22.0
201
+
202
+ - Added the v5 Apps SDK widget resource at `ui://widget/codexgpt-tool-card-v5.html` with cleaner pending states and more polished diff/search/code cards.
203
+ - Added a token-protected local admin dashboard at `/` and `/setup` for workspace, mode, allowed-root, setup, profile, and ChatGPT connection visibility.
204
+ - Added the terminal `o` control to open the local admin dashboard while CodexGPT is running.
205
+ - Updated HTTP smoke coverage to verify the onboarding page and v5 widget resource.
206
+
207
+ ## 0.21.0
208
+
209
+ - Added `codexgpt doctor` as a read-only setup diagnostic for Node, build artifacts, workspace profiles, port availability, tunnel prerequisites, clipboard support, and browser-open support.
210
+ - Added `scripts/doctor-smoke.mjs` and included it in `npm run smoke`.
211
+ - Added `PUBLIC_LAUNCH_CHECKLIST.md` with release gates, ChatGPT Developer Mode golden prompts, security checks, onboarding expectations, and current non-goals.
212
+ - Added `npm run doctor` and included the public launch checklist in the npm package surface.
213
+
214
+ ## 0.20.0
215
+
216
+ - Made `codexgpt setup` prompts clearer with a dim "Enter to proceed with default" hint before each defaulted input.
217
+ - Simplified the ready screen: the Server URL is described as already copied, and Enter is clearly labeled as opening ChatGPT connector settings.
218
+ - Added saved-profile hints so ngrok/Cloudflare stable setups tell users that future launches from the same workspace only need `codexgpt start`.
219
+ - Added a local port preflight with clear guidance for running two repositories at the same time.
220
+ - Documented the multi-repo rule: each concurrent repo needs its own local port, and stable public tunnels need separate hostnames.
221
+
222
+ ## 0.19.0
223
+
224
+ - Added per-workspace saved profiles under `~/.codexgpt/profiles/`.
225
+ - `codexgpt setup` now saves tunnel provider, hostname, port, mode, and a generated reusable CodexGPT auth token by default.
226
+ - `codexgpt start` now loads the saved profile for the current workspace unless `--no-profile` is passed.
227
+ - Added `--save-config`, `--no-save-config`, and `--no-profile` launcher flags.
228
+
229
+ ## 0.18.0
230
+
231
+ - Added ngrok as a first-class tunnel mode with `codexgpt ngrok --hostname <domain>` and `--tunnel ngrok`.
232
+ - Added ngrok support to the interactive `codexgpt setup` public URL choices.
233
+ - Added ngrok executable/config resolution with clear setup errors for missing auth or unavailable domains.
234
+ - Documented reserved ngrok domains as a stable ChatGPT connector URL option.
235
+
236
+ ## 0.17.0
237
+
238
+ - Added `codexgpt setup` / `codexgpt onboard` as an interactive onboarding wizard for workspace, port, mode, and public URL strategy.
239
+ - Reworked the launcher startup and ready screens into compact framed panels with status lines instead of long setup text.
240
+ - Added `npm run connect:setup` for source checkouts.
241
+ - Documented the guided onboarding path next to the one-command `codexgpt start` flow.
242
+
243
+ ## 0.16.0
244
+
245
+ - Reworked the widget pre-result state so in-progress tool calls show a compact running card instead of raw placeholder JSON.
246
+ - Added `codexgpt stable` and `--stable` as shortcuts for Cloudflare named-tunnel mode.
247
+ - Added `codexgpt stable-help` and friendlier missing-hostname guidance for fixed ChatGPT app URLs.
248
+ - Updated setup docs around stable URLs for users who cannot edit an existing ChatGPT app connector URL.
249
+
250
+ ## 0.15.0
251
+
252
+ - Changed `codexgpt start` to default to agent mode with workspace writes enabled.
253
+ - Added `--mode agent`, `--mode handoff`, `--mode pro`, plus shortcut flags `--agent`, `--handoff`, and `--pro-planning`.
254
+ - Reworked the terminal startup panel to copy the Server URL, hide long setup details by default, and expose details through controls.
255
+ - Updated the default suggested ChatGPT prompt so ChatGPT edits/writes/verifies directly instead of creating a handoff plan.
256
+ - Kept handoff and Pro-context workflows as explicit modes for planning-only use.
257
+
258
+ ## 0.14.0
259
+
260
+ - Added cross-platform `cloudflared` bootstrap for macOS, Windows, and Linux.
261
+ - CodexGPT now reuses `cloudflared` from PATH first, then `~/.codexgpt/bin`, then downloads the official Cloudflare release into `~/.codexgpt/bin` when needed.
262
+ - Changed `--install-cloudflared` to force a user-local reinstall instead of using Homebrew.
263
+ - Added `codexgpt install-cloudflared` for stable-domain setup without starting the MCP server.
264
+ - Kept `--no-install-cloudflared` as the opt-out for locked-down or manually managed machines.
265
+ - Updated setup docs with OS-specific notes for clipboard, browser opening, and Cloudflare Tunnel.
266
+
267
+ ## 0.13.0
268
+
269
+ - Added an interactive CodexGPT terminal control panel after startup.
270
+ - Added Enter-to-open ChatGPT connector settings, `c` to copy URL, `p` to print app fields, `s` to print the suggested prompt, and `q` to stop.
271
+ - Quieted local MCP and Cloudflare logs by default so startup reads like a product flow.
272
+ - Made macOS/Homebrew `cloudflared` installation automatic by default when missing.
273
+ - Added `--no-install-cloudflared` to opt out of automatic installation.
274
+ - Changed the default user-facing start command to `npx codexgpt@latest start`.
275
+
276
+ ## 0.12.0
277
+
278
+ - Added clipboard-first `CodexGPT Start` flow for ChatGPT Developer Mode.
279
+ - Public HTTPS connector URLs are copied automatically when clipboard support is available.
280
+ - Added `--open-chatgpt`, `--copy-url`, and `--no-copy-url` launcher flags.
281
+ - Added opt-in `--install-cloudflared` for macOS/Homebrew users.
282
+ - Added `npm run connect:chatgpt` for source checkouts.
283
+ - Updated README setup path around one command: `npx codexgpt@latest start --open-chatgpt`.
284
+
285
+ ## 0.11.0
286
+
287
+ - Renamed the package, CLI, app labels, widget metadata, and environment variables to CodexGPT.
288
+ - Removed the duplicate CLI binary entry from `package.json`.
289
+ - Added `DOMAIN_SETUP.md` with Namecheap, Cloudflare, stable tunnel, and future hosted-relay guidance.
290
+ - Changed the generated model fallback bundle title to `CodexGPT Context Bundle`.
291
+ - Regenerated build output and package lock metadata for the CodexGPT package name.
292
+
293
+ ## 0.10.0
294
+
295
+ - Prepared the project for public open-source use.
296
+ - Added npm package metadata, keywords, engine requirements, public package files, and `prepack`.
297
+ - Added `codexgpt` as a package-name binary so `npx codexgpt@latest ...` works.
298
+ - Added `codexgpt pro-bundle` and `codexgpt pro-apply` CLI subcommands.
299
+ - Added `LICENSE`, `SECURITY.md`, and `CONTRIBUTING.md`.
300
+ - Removed local runtime reports from the public package surface.
301
+ - Reworked docs to avoid private local paths and product-specific model claims.
302
+
303
+ ## 0.9.0
304
+
305
+ - Added stable Cloudflare named-tunnel mode with `--tunnel cloudflare-named`.
306
+ - Added `npm run connect:stable`.
307
+ - Added support for existing tunnel names, Cloudflare dashboard tunnel tokens, token files, and cloudflared config files.
308
+ - Added stable-host health checks before printing the ChatGPT connector URL.
309
+
310
+ ## 0.8.2
311
+
312
+ - Fixed duplicate `AGENTS.md` loading on case-insensitive filesystems.
313
+ - Kept `codex_context` data-only so it does not create noisy widget cards.
314
+
315
+ ## 0.8.1
316
+
317
+ - Added `codex_context` for AGENTS-style instructions, `.ai-bridge` handoff files, git status, and optional git diff.
318
+
319
+ ## 0.8.0
320
+
321
+ - Made widget rendering quieter by attaching visual cards only to high-signal change tools.
322
+ - Added request and tool-call logging without printing prompts, file contents, or tokens.
323
+
324
+ ## 0.7.0
325
+
326
+ - Reworked the Apps SDK widget into compact developer cards.
327
+ - Kept widget CSP strict with no external fetches, fonts, scripts, images, or iframes.
328
+
329
+ ## 0.6.0
330
+
331
+ - Added CSP metadata for ChatGPT Developer Mode widget rendering.
332
+ - Added `codexgpt_inventory` for sanitized skill and MCP server names.
333
+
334
+ ## 0.5.0
335
+
336
+ - Added Apps SDK widget resources for selected tool outputs.
337
+
338
+ ## 0.4.x
339
+
340
+ - Added `export_pro_context`.
341
+ - Added terminal helpers for creating and applying planning-context bundles.
342
+ - Added `open_current_workspace` for safer first calls from ChatGPT.
@@ -0,0 +1,12 @@
1
+ Use CodexGPT.
2
+
3
+ Call server_config first, then open_current_workspace with include_tree=false.
4
+ Do not call open_workspace after open_current_workspace unless I ask you to switch roots.
5
+ Call codexgpt_inventory only when you need local skill or MCP server names.
6
+ Use the codexgpt supertool only when a stable action wrapper is needed; call it with action=list_actions first.
7
+
8
+ Act as a coding agent. Inspect the relevant files, make the requested source edits with write/edit, then verify with search/read/bash and show_changes when useful. Use git_status/git_diff only when CodexGPT was started with --tool-mode full.
9
+
10
+ Keep changes scoped to the request. Do not use handoff_to_agent or handoff_to_codex unless I explicitly ask for planning-only handoff.
11
+
12
+ When finished, summarize changed files, verification run, and anything blocked.
@@ -0,0 +1,94 @@
1
+ # Verified Cloudflared Installation
2
+
3
+ CodexGPT's repository-managed Cloudflare start paths use a pinned, SHA-256-verified Cloudflared binary. This includes default/start, `stable`, explicit Cloudflare tunnel starts, and `connection-test` whenever its effective tunnel is `cloudflare` or `cloudflare-named`.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm run cloudflared:install
9
+ ```
10
+
11
+ The installer:
12
+
13
+ 1. selects the exact platform asset from `scripts/cloudflared-release.mjs`;
14
+ 2. downloads the pinned release URL rather than `releases/latest`;
15
+ 3. rejects downloads larger than 100 MiB;
16
+ 4. verifies the official SHA-256 digest before extraction or execution;
17
+ 5. checks the Cloudflared version output;
18
+ 6. stages the new binary and preserves the old binary as a rollback backup until replacement succeeds.
19
+
20
+ The installed path is:
21
+
22
+ ```text
23
+ ~/.codexgpt/bin/cloudflared
24
+ ```
25
+
26
+ On Windows it is:
27
+
28
+ ```text
29
+ %USERPROFILE%\.codexgpt\bin\cloudflared.exe
30
+ ```
31
+
32
+ ## Status
33
+
34
+ ```bash
35
+ npm run cloudflared:status
36
+ ```
37
+
38
+ For directly distributed binary assets, status verification checks both the pinned SHA-256 digest and the reported version.
39
+
40
+ ## Upgrade
41
+
42
+ ```bash
43
+ npm run cloudflared:upgrade
44
+ ```
45
+
46
+ `upgrade` reinstalls the version pinned in `scripts/cloudflared-release.mjs`. Updating to a new upstream release requires a reviewed source change that updates the version and every platform checksum from Cloudflare's official release page. Do not switch the installer back to a floating `latest` URL.
47
+
48
+ ## Start CodexGPT with Cloudflare
49
+
50
+ ```bash
51
+ npm run connect:cloudflare
52
+ npm run connect:chatgpt
53
+ npm run connect:stable -- --hostname mcp.example.com
54
+ ```
55
+
56
+ These scripts run the verified installer in `ensure` mode first, then pass both the exact managed `--cloudflared <path>` and `--no-install-cloudflared` to CodexGPT. Tunnel child processes also receive `--no-autoupdate`, so Cloudflared cannot replace the reviewed pinned binary in place. This prevents a different binary from being selected through `PATH`, prevents fallback to the legacy unverified automatic downloader, and keeps version changes bound to the reviewed release manifest.
57
+
58
+ Cloudflared may still report that a newer upstream version exists. For the managed binary, that warning is informational; update the pin and checksums through a reviewed source change instead of allowing in-place self-update.
59
+
60
+ ## Phase 8 OAuth named-Tunnel setup
61
+
62
+ OAuth uses one stable issuer/resource identity, so the supported path rejects Quick Tunnels and requires a dedicated named Tunnel. The public ingress must target only `127.0.0.1:8787`; the separate owner-admin listener on `127.0.0.1:8788` must never appear in Cloudflare ingress.
63
+
64
+ ```powershell
65
+ codexgpt auth setup `
66
+ --root D:\Dev\your-repo `
67
+ --hostname mcp.example.com `
68
+ --tunnel-name codexgpt
69
+ ```
70
+
71
+ The command first verifies the managed Cloudflared binary and local ports, initializes DPAPI-protected candidate state, then either validates an existing dedicated config/owner marker or prints the exact Cloudflare changes. It does not silently adopt a Tunnel by name. Provisioning requires explicit `--provision-tunnel` approval; `--no-tunnel-changes` performs local checks and prints the remaining owner commands without changing Cloudflare.
72
+
73
+ The generated dedicated config has one hostname ingress followed by `http_status:404`. Its companion owner marker binds the exact profile id, OAuth binding id, Tunnel id/name, and hostname. A copied config, reused shared Tunnel, changed hostname, ambiguous name, missing marker, extra ingress, remotely exposed local-admin port, or ownership mismatch fails closed.
74
+
75
+ Setup writes a resumable local journal and starts a candidate OAuth service. The workspace profile switches to OAuth only after the external HTTPS surface returns consistent protected-resource metadata, authorization-server metadata, the active ES256 public key, and authenticated-MCP health. Until that probe passes, the existing Legacy App remains the rollback path.
76
+
77
+ Rollback changes only the local profile and preserves the Tunnel route and OAuth authority records:
78
+
79
+ ```powershell
80
+ codexgpt auth rollback --root D:\Dev\your-repo
81
+ codexgpt start --root D:\Dev\your-repo
82
+ ```
83
+
84
+ Returning to OAuth is idempotent and revalidates the saved owner marker/config/public surface:
85
+
86
+ ```powershell
87
+ codexgpt auth setup --root D:\Dev\your-repo
88
+ ```
89
+
90
+ Do not place Cloudflare Access, an interactive Access login, or mTLS in front of this Core OAuth route unless a later compatibility gate explicitly validates the complete ChatGPT OAuth/DCR/MCP flow. Those controls are not part of the Phase 8 Core claim.
91
+
92
+ ## Manual installation
93
+
94
+ A manually installed Cloudflared binary may still be used by passing its path explicitly. Verify the binary against Cloudflare's official release checksum before use.
@@ -0,0 +1,12 @@
1
+ Read .ai-bridge/current-plan.md and execute it in small, reviewable steps.
2
+
3
+ After each meaningful change, update .ai-bridge/agent-status.md with:
4
+
5
+ - what changed
6
+ - files touched
7
+ - tests, lint, or typecheck commands run
8
+ - results
9
+ - blockers or questions
10
+ - what ChatGPT or another reviewer should review next
11
+
12
+ Keep .ai-bridge/decisions.md aligned with implementation choices. Do not overwrite .ai-bridge/current-plan.md unless explicitly asked.
@@ -0,0 +1,62 @@
1
+ # Contributing
2
+
3
+ CodexGPT is early. Good contributions make it safer, faster, and easier to explain.
4
+
5
+ ## Local Setup
6
+
7
+ ```bash
8
+ npm install
9
+ npm run build
10
+ npm run smoke
11
+ ```
12
+
13
+ Use the cleanup-backed entry points for focused tests and arbitrary local tasks:
14
+
15
+ ```bash
16
+ npm run test:focused -- test/example.test.mjs
17
+ npm run task:run -- node scripts/example.mjs
18
+ npm run task:cleanup
19
+ ```
20
+
21
+ These commands isolate temporary state in marked CodexGPT-owned roots. Do not replace them with raw local `node --test` or ad hoc task commands when cleanup-backed execution is available.
22
+
23
+ Run a local connector:
24
+
25
+ ```bash
26
+ npm run connect:local -- --root /path/to/test/repo
27
+ ```
28
+
29
+ Run through a Cloudflare quick tunnel:
30
+
31
+ ```bash
32
+ npm run connect -- --root /path/to/test/repo --bash safe --write handoff
33
+ ```
34
+
35
+ ## Useful Areas
36
+
37
+ - safer tool defaults
38
+ - better setup diagnostics
39
+ - stable tunnel setup helpers
40
+ - smaller/faster context bundles
41
+ - clearer ChatGPT tool prompts
42
+ - better Apps SDK widgets
43
+ - tests for path guards and auth boundaries
44
+ - docs that reduce user setup mistakes
45
+
46
+ ## Pull Request Checklist
47
+
48
+ - Keep the change scoped.
49
+ - Do not include local tunnel URLs, auth tokens, `.env` values, or private paths.
50
+ - Run `npm run build`.
51
+ - Run the narrowest affected tests through `npm run test:focused -- <files...>`.
52
+ - Run `npm run smoke` when the change affects supported runtime behavior.
53
+ - Update `README.md` or `CHANGELOG.md` when behavior changes.
54
+ - Explain security impact for changes touching auth, file access, shell execution, or tunnels.
55
+
56
+ ## Docs Style
57
+
58
+ - Be concrete.
59
+ - Avoid hype.
60
+ - Name the exact command, mode, flag, and failure case.
61
+ - Make risk boundaries clear.
62
+ - Prefer examples that use `/path/to/repo` and `codexgpt.example.com`, not local machine paths.