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.
- package/AGENTS.example.md +20 -0
- package/CHANGELOG.md +342 -0
- package/CHATGPT_PROMPT.md +12 -0
- package/CLOUDFLARED_VERIFIED_INSTALL.md +94 -0
- package/CODEX_PROMPT.md +12 -0
- package/CONTRIBUTING.md +62 -0
- package/DOMAIN_SETUP.md +275 -0
- package/FAQ.md +366 -0
- package/FAQ_ZH.md +329 -0
- package/LICENSE +21 -0
- package/PUBLIC_LAUNCH_CHECKLIST.md +111 -0
- package/README.md +490 -0
- package/README_ZH.md +747 -0
- package/SECURITY.md +295 -0
- package/config.example.env +103 -0
- package/dist/access/fullAccessLease.js +148 -0
- package/dist/access/fullAccessLease.js.map +1 -0
- package/dist/access/protectedRoots.js +122 -0
- package/dist/access/protectedRoots.js.map +1 -0
- package/dist/access/rootAdmission.js +347 -0
- package/dist/access/rootAdmission.js.map +1 -0
- package/dist/analysis/cache.js +27 -0
- package/dist/analysis/cache.js.map +1 -0
- package/dist/analysis/classify.js +102 -0
- package/dist/analysis/classify.js.map +1 -0
- package/dist/analysis/extract.js +139 -0
- package/dist/analysis/extract.js.map +1 -0
- package/dist/analysis/graph.js +22 -0
- package/dist/analysis/graph.js.map +1 -0
- package/dist/analysis/impact.js +167 -0
- package/dist/analysis/impact.js.map +1 -0
- package/dist/analysis/index.js +215 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/inventory.js +51 -0
- package/dist/analysis/inventory.js.map +1 -0
- package/dist/analysis/providers.js +24 -0
- package/dist/analysis/providers.js.map +1 -0
- package/dist/analysis/rank.js +27 -0
- package/dist/analysis/rank.js.map +1 -0
- package/dist/analysis/types.js +8 -0
- package/dist/analysis/types.js.map +1 -0
- package/dist/audit/canonicalJson.js +79 -0
- package/dist/audit/canonicalJson.js.map +1 -0
- package/dist/audit/diagnostics.js +128 -0
- package/dist/audit/diagnostics.js.map +1 -0
- package/dist/audit/index.js +12 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/lifecycleV3.js +53 -0
- package/dist/audit/lifecycleV3.js.map +1 -0
- package/dist/audit/lifecycleV4.js +70 -0
- package/dist/audit/lifecycleV4.js.map +1 -0
- package/dist/audit/lock.js +195 -0
- package/dist/audit/lock.js.map +1 -0
- package/dist/audit/queryTool.js +120 -0
- package/dist/audit/queryTool.js.map +1 -0
- package/dist/audit/runtime.js +48 -0
- package/dist/audit/runtime.js.map +1 -0
- package/dist/audit/schemas.js +640 -0
- package/dist/audit/schemas.js.map +1 -0
- package/dist/audit/store.js +1309 -0
- package/dist/audit/store.js.map +1 -0
- package/dist/audit/transactionParticipant.js +45 -0
- package/dist/audit/transactionParticipant.js.map +1 -0
- package/dist/audit/types.js +11 -0
- package/dist/audit/types.js.map +1 -0
- package/dist/auth/audit.js +44 -0
- package/dist/auth/audit.js.map +1 -0
- package/dist/auth/authorizationStore.js +333 -0
- package/dist/auth/authorizationStore.js.map +1 -0
- package/dist/auth/challenges.js +25 -0
- package/dist/auth/challenges.js.map +1 -0
- package/dist/auth/clientStore.js +469 -0
- package/dist/auth/clientStore.js.map +1 -0
- package/dist/auth/cloudflareConfig.js +112 -0
- package/dist/auth/cloudflareConfig.js.map +1 -0
- package/dist/auth/configuration.js +167 -0
- package/dist/auth/configuration.js.map +1 -0
- package/dist/auth/credentialStore.js +65 -0
- package/dist/auth/credentialStore.js.map +1 -0
- package/dist/auth/deploymentLock.js +220 -0
- package/dist/auth/deploymentLock.js.map +1 -0
- package/dist/auth/deploymentRegistry.js +149 -0
- package/dist/auth/deploymentRegistry.js.map +1 -0
- package/dist/auth/errors.js +26 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/grantStore.js +307 -0
- package/dist/auth/grantStore.js.map +1 -0
- package/dist/auth/index.js +39 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/keyManager.js +148 -0
- package/dist/auth/keyManager.js.map +1 -0
- package/dist/auth/localAdminSession.js +173 -0
- package/dist/auth/localAdminSession.js.map +1 -0
- package/dist/auth/metadata.js +69 -0
- package/dist/auth/metadata.js.map +1 -0
- package/dist/auth/oauthProvider.js +589 -0
- package/dist/auth/oauthProvider.js.map +1 -0
- package/dist/auth/ownerApproval.js +51 -0
- package/dist/auth/ownerApproval.js.map +1 -0
- package/dist/auth/policyIdentity.js +189 -0
- package/dist/auth/policyIdentity.js.map +1 -0
- package/dist/auth/rateLimits.js +66 -0
- package/dist/auth/rateLimits.js.map +1 -0
- package/dist/auth/recovery.js +275 -0
- package/dist/auth/recovery.js.map +1 -0
- package/dist/auth/requestContext.js +34 -0
- package/dist/auth/requestContext.js.map +1 -0
- package/dist/auth/resourceMiddleware.js +147 -0
- package/dist/auth/resourceMiddleware.js.map +1 -0
- package/dist/auth/runtimeStatus.js +51 -0
- package/dist/auth/runtimeStatus.js.map +1 -0
- package/dist/auth/schemas.js +84 -0
- package/dist/auth/schemas.js.map +1 -0
- package/dist/auth/stateStore.js +468 -0
- package/dist/auth/stateStore.js.map +1 -0
- package/dist/auth/tokenService.js +631 -0
- package/dist/auth/tokenService.js.map +1 -0
- package/dist/auth/toolSecurity.js +108 -0
- package/dist/auth/toolSecurity.js.map +1 -0
- package/dist/auth/types.js +6 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/auth/windowsDpapi.js +193 -0
- package/dist/auth/windowsDpapi.js.map +1 -0
- package/dist/bashOps.js +292 -0
- package/dist/bashOps.js.map +1 -0
- package/dist/capabilitiesOps.js +412 -0
- package/dist/capabilitiesOps.js.map +1 -0
- package/dist/changesets/crypto.js +92 -0
- package/dist/changesets/crypto.js.map +1 -0
- package/dist/changesets/index.js +9 -0
- package/dist/changesets/index.js.map +1 -0
- package/dist/changesets/moveStore.js +237 -0
- package/dist/changesets/moveStore.js.map +1 -0
- package/dist/changesets/moveUndo.js +386 -0
- package/dist/changesets/moveUndo.js.map +1 -0
- package/dist/changesets/schemas.js +234 -0
- package/dist/changesets/schemas.js.map +1 -0
- package/dist/changesets/store.js +573 -0
- package/dist/changesets/store.js.map +1 -0
- package/dist/changesets/types.js +9 -0
- package/dist/changesets/types.js.map +1 -0
- package/dist/changesets/undo.js +525 -0
- package/dist/changesets/undo.js.map +1 -0
- package/dist/changesets/unifiedUndo.js +31 -0
- package/dist/changesets/unifiedUndo.js.map +1 -0
- package/dist/cliEnvironment.js +85 -0
- package/dist/cliEnvironment.js.map +1 -0
- package/dist/codexSessions.js +733 -0
- package/dist/codexSessions.js.map +1 -0
- package/dist/codexgptSupertool.js +216 -0
- package/dist/codexgptSupertool.js.map +1 -0
- package/dist/codexproSupertool.js +204 -0
- package/dist/codexproSupertool.js.map +1 -0
- package/dist/config.js +733 -0
- package/dist/config.js.map +1 -0
- package/dist/control/localApprovalClient.js +287 -0
- package/dist/control/localApprovalClient.js.map +1 -0
- package/dist/control/localApprovalServer.js +466 -0
- package/dist/control/localApprovalServer.js.map +1 -0
- package/dist/control/runtime.js +178 -0
- package/dist/control/runtime.js.map +1 -0
- package/dist/control/schemas.js +184 -0
- package/dist/control/schemas.js.map +1 -0
- package/dist/control/windowsLocalControl.js +348 -0
- package/dist/control/windowsLocalControl.js.map +1 -0
- package/dist/fsOps.js +541 -0
- package/dist/fsOps.js.map +1 -0
- package/dist/git/admission.js +26 -0
- package/dist/git/admission.js.map +1 -0
- package/dist/git/branchService.js +51 -0
- package/dist/git/branchService.js.map +1 -0
- package/dist/git/capabilities.js +143 -0
- package/dist/git/capabilities.js.map +1 -0
- package/dist/git/commitService.js +344 -0
- package/dist/git/commitService.js.map +1 -0
- package/dist/git/durableState.js +151 -0
- package/dist/git/durableState.js.map +1 -0
- package/dist/git/execution.js +451 -0
- package/dist/git/execution.js.map +1 -0
- package/dist/git/fileTransaction.js +50 -0
- package/dist/git/fileTransaction.js.map +1 -0
- package/dist/git/indexService.js +421 -0
- package/dist/git/indexService.js.map +1 -0
- package/dist/git/integrations.js +653 -0
- package/dist/git/integrations.js.map +1 -0
- package/dist/git/locks.js +287 -0
- package/dist/git/locks.js.map +1 -0
- package/dist/git/mutationContext.js +92 -0
- package/dist/git/mutationContext.js.map +1 -0
- package/dist/git/mutationJournal.js +91 -0
- package/dist/git/mutationJournal.js.map +1 -0
- package/dist/git/mutationService.js +352 -0
- package/dist/git/mutationService.js.map +1 -0
- package/dist/git/normalization.js +57 -0
- package/dist/git/normalization.js.map +1 -0
- package/dist/git/objectQuarantine.js +243 -0
- package/dist/git/objectQuarantine.js.map +1 -0
- package/dist/git/opaqueRecordStore.js +187 -0
- package/dist/git/opaqueRecordStore.js.map +1 -0
- package/dist/git/operationStore.js +287 -0
- package/dist/git/operationStore.js.map +1 -0
- package/dist/git/parsers.js +311 -0
- package/dist/git/parsers.js.map +1 -0
- package/dist/git/privateIndex.js +79 -0
- package/dist/git/privateIndex.js.map +1 -0
- package/dist/git/productionBootstrap.js +39 -0
- package/dist/git/productionBootstrap.js.map +1 -0
- package/dist/git/readService.js +846 -0
- package/dist/git/readService.js.map +1 -0
- package/dist/git/recovery.js +417 -0
- package/dist/git/recovery.js.map +1 -0
- package/dist/git/repositoryIdentity.js +611 -0
- package/dist/git/repositoryIdentity.js.map +1 -0
- package/dist/git/repositoryStore.js +237 -0
- package/dist/git/repositoryStore.js.map +1 -0
- package/dist/git/resources.js +113 -0
- package/dist/git/resources.js.map +1 -0
- package/dist/git/restoreService.js +178 -0
- package/dist/git/restoreService.js.map +1 -0
- package/dist/git/reviewToken.js +86 -0
- package/dist/git/reviewToken.js.map +1 -0
- package/dist/git/stashService.js +566 -0
- package/dist/git/stashService.js.map +1 -0
- package/dist/git/stateToken.js +139 -0
- package/dist/git/stateToken.js.map +1 -0
- package/dist/gitOps.js +147 -0
- package/dist/gitOps.js.map +1 -0
- package/dist/guard.js +608 -0
- package/dist/guard.js.map +1 -0
- package/dist/guidance/diagnostics.js +14 -0
- package/dist/guidance/diagnostics.js.map +1 -0
- package/dist/guidance/instructions.js +167 -0
- package/dist/guidance/instructions.js.map +1 -0
- package/dist/guidance/mode.js +18 -0
- package/dist/guidance/mode.js.map +1 -0
- package/dist/guidance/openaiSkillMetadata.js +29 -0
- package/dist/guidance/openaiSkillMetadata.js.map +1 -0
- package/dist/guidance/safeTextReader.js +171 -0
- package/dist/guidance/safeTextReader.js.map +1 -0
- package/dist/guidance/skillCatalog.js +70 -0
- package/dist/guidance/skillCatalog.js.map +1 -0
- package/dist/guidance/skillDiscovery.js +353 -0
- package/dist/guidance/skillDiscovery.js.map +1 -0
- package/dist/guidance/skillMetadata.js +115 -0
- package/dist/guidance/skillMetadata.js.map +1 -0
- package/dist/guidance/skillResources.js +146 -0
- package/dist/guidance/skillResources.js.map +1 -0
- package/dist/handoffOps.js +449 -0
- package/dist/handoffOps.js.map +1 -0
- package/dist/http/localAdminApp.js +203 -0
- package/dist/http/localAdminApp.js.map +1 -0
- package/dist/http/oauthMcpRuntime.js +294 -0
- package/dist/http/oauthMcpRuntime.js.map +1 -0
- package/dist/http/publicApp.js +350 -0
- package/dist/http/publicApp.js.map +1 -0
- package/dist/http/securityHeaders.js +11 -0
- package/dist/http/securityHeaders.js.map +1 -0
- package/dist/http.js +2076 -0
- package/dist/http.js.map +1 -0
- package/dist/moves/engine.js +1079 -0
- package/dist/moves/engine.js.map +1 -0
- package/dist/moves/index.js +6 -0
- package/dist/moves/index.js.map +1 -0
- package/dist/moves/planner.js +270 -0
- package/dist/moves/planner.js.map +1 -0
- package/dist/moves/recovery.js +557 -0
- package/dist/moves/recovery.js.map +1 -0
- package/dist/moves/service.js +300 -0
- package/dist/moves/service.js.map +1 -0
- package/dist/moves/types.js +11 -0
- package/dist/moves/types.js.map +1 -0
- package/dist/mutations/index.js +4 -0
- package/dist/mutations/index.js.map +1 -0
- package/dist/mutations/lifecycle.js +165 -0
- package/dist/mutations/lifecycle.js.map +1 -0
- package/dist/mutations/localService.js +163 -0
- package/dist/mutations/localService.js.map +1 -0
- package/dist/mutations/runtime.js +322 -0
- package/dist/mutations/runtime.js.map +1 -0
- package/dist/mutations/types.js +2 -0
- package/dist/mutations/types.js.map +1 -0
- package/dist/mutations/writers.js +360 -0
- package/dist/mutations/writers.js.map +1 -0
- package/dist/patchOps.js +420 -0
- package/dist/patchOps.js.map +1 -0
- package/dist/policy/approval.js +306 -0
- package/dist/policy/approval.js.map +1 -0
- package/dist/policy/audit.js +88 -0
- package/dist/policy/audit.js.map +1 -0
- package/dist/policy/authorizationFacts.js +187 -0
- package/dist/policy/authorizationFacts.js.map +1 -0
- package/dist/policy/compat.js +104 -0
- package/dist/policy/compat.js.map +1 -0
- package/dist/policy/context.js +31 -0
- package/dist/policy/context.js.map +1 -0
- package/dist/policy/enforcement.js +46 -0
- package/dist/policy/enforcement.js.map +1 -0
- package/dist/policy/evaluator.js +338 -0
- package/dist/policy/evaluator.js.map +1 -0
- package/dist/policy/executionCapabilities.js +80 -0
- package/dist/policy/executionCapabilities.js.map +1 -0
- package/dist/policy/executionResources.js +192 -0
- package/dist/policy/executionResources.js.map +1 -0
- package/dist/policy/fullAccessResources.js +23 -0
- package/dist/policy/fullAccessResources.js.map +1 -0
- package/dist/policy/hardPolicy.js +50 -0
- package/dist/policy/hardPolicy.js.map +1 -0
- package/dist/policy/identity.js +142 -0
- package/dist/policy/identity.js.map +1 -0
- package/dist/policy/integration.js +331 -0
- package/dist/policy/integration.js.map +1 -0
- package/dist/policy/pendingApprovals.js +301 -0
- package/dist/policy/pendingApprovals.js.map +1 -0
- package/dist/policy/profileStore.js +367 -0
- package/dist/policy/profileStore.js.map +1 -0
- package/dist/policy/resources.js +249 -0
- package/dist/policy/resources.js.map +1 -0
- package/dist/policy/runtime.js +713 -0
- package/dist/policy/runtime.js.map +1 -0
- package/dist/policy/schemas.js +625 -0
- package/dist/policy/schemas.js.map +1 -0
- package/dist/policy/toolPolicy.js +141 -0
- package/dist/policy/toolPolicy.js.map +1 -0
- package/dist/policy/transport.js +10 -0
- package/dist/policy/transport.js.map +1 -0
- package/dist/policy/types.js +31 -0
- package/dist/policy/types.js.map +1 -0
- package/dist/proContext.js +675 -0
- package/dist/proContext.js.map +1 -0
- package/dist/process/authority.js +18 -0
- package/dist/process/authority.js.map +1 -0
- package/dist/process/backendDiscovery.js +83 -0
- package/dist/process/backendDiscovery.js.map +1 -0
- package/dist/process/commandCompiler.js +71 -0
- package/dist/process/commandCompiler.js.map +1 -0
- package/dist/process/outputCursor.js +67 -0
- package/dist/process/outputCursor.js.map +1 -0
- package/dist/process/outputQuota.js +94 -0
- package/dist/process/outputQuota.js.map +1 -0
- package/dist/process/outputRing.js +138 -0
- package/dist/process/outputRing.js.map +1 -0
- package/dist/process/processAuditCoordinator.js +52 -0
- package/dist/process/processAuditCoordinator.js.map +1 -0
- package/dist/process/processManager.js +311 -0
- package/dist/process/processManager.js.map +1 -0
- package/dist/process/runCommand.js +332 -0
- package/dist/process/runCommand.js.map +1 -0
- package/dist/process/streamingRedactor.js +105 -0
- package/dist/process/streamingRedactor.js.map +1 -0
- package/dist/process/types.js +2 -0
- package/dist/process/types.js.map +1 -0
- package/dist/process/windowsHostClient.js +604 -0
- package/dist/process/windowsHostClient.js.map +1 -0
- package/dist/process/windowsHostProtocol.js +270 -0
- package/dist/process/windowsHostProtocol.js.map +1 -0
- package/dist/process/windowsPersistentBackend.js +263 -0
- package/dist/process/windowsPersistentBackend.js.map +1 -0
- package/dist/productionRuntime.js +907 -0
- package/dist/productionRuntime.js.map +1 -0
- package/dist/profileStore.js +231 -0
- package/dist/profileStore.js.map +1 -0
- package/dist/redact.js +124 -0
- package/dist/redact.js.map +1 -0
- package/dist/searchOps.js +186 -0
- package/dist/searchOps.js.map +1 -0
- package/dist/selfTestOps.js +786 -0
- package/dist/selfTestOps.js.map +1 -0
- package/dist/semantic/budgets.js +12 -0
- package/dist/semantic/budgets.js.map +1 -0
- package/dist/semantic/builtin/typescriptAssets.js +68 -0
- package/dist/semantic/builtin/typescriptAssets.js.map +1 -0
- package/dist/semantic/builtin/typescriptProvider.js +211 -0
- package/dist/semantic/builtin/typescriptProvider.js.map +1 -0
- package/dist/semantic/builtin/typescriptWorker.js +365 -0
- package/dist/semantic/builtin/typescriptWorker.js.map +1 -0
- package/dist/semantic/diffPreview.js +36 -0
- package/dist/semantic/diffPreview.js.map +1 -0
- package/dist/semantic/index.js +11 -0
- package/dist/semantic/index.js.map +1 -0
- package/dist/semantic/manager.js +522 -0
- package/dist/semantic/manager.js.map +1 -0
- package/dist/semantic/positions.js +86 -0
- package/dist/semantic/positions.js.map +1 -0
- package/dist/semantic/previewStore.js +276 -0
- package/dist/semantic/previewStore.js.map +1 -0
- package/dist/semantic/projectResolver.js +309 -0
- package/dist/semantic/projectResolver.js.map +1 -0
- package/dist/semantic/sourceSnapshot.js +54 -0
- package/dist/semantic/sourceSnapshot.js.map +1 -0
- package/dist/semantic/status.js +46 -0
- package/dist/semantic/status.js.map +1 -0
- package/dist/semantic/types.js +2 -0
- package/dist/semantic/types.js.map +1 -0
- package/dist/server.js +8676 -0
- package/dist/server.js.map +1 -0
- package/dist/stdio.js +64 -0
- package/dist/stdio.js.map +1 -0
- package/dist/toolCardWidget.js +2000 -0
- package/dist/toolCardWidget.js.map +1 -0
- package/dist/tools/contracts/catalog.js +111 -0
- package/dist/tools/contracts/catalog.js.map +1 -0
- package/dist/tools/contracts/index.js +8 -0
- package/dist/tools/contracts/index.js.map +1 -0
- package/dist/tools/contracts/registration.js +27 -0
- package/dist/tools/contracts/registration.js.map +1 -0
- package/dist/tools/contracts/schemas.js +11 -0
- package/dist/tools/contracts/schemas.js.map +1 -0
- package/dist/tools/contracts/types.js +2 -0
- package/dist/tools/contracts/types.js.map +1 -0
- package/dist/tools/contracts/v3.js +76 -0
- package/dist/tools/contracts/v3.js.map +1 -0
- package/dist/tools/contracts/v4.js +39 -0
- package/dist/tools/contracts/v4.js.map +1 -0
- package/dist/tools/contracts/v5.js +20 -0
- package/dist/tools/contracts/v5.js.map +1 -0
- package/dist/tools/phase3dServer.js +350 -0
- package/dist/tools/phase3dServer.js.map +1 -0
- package/dist/tools/schemas/applyPatch.js +388 -0
- package/dist/tools/schemas/applyPatch.js.map +1 -0
- package/dist/tools/schemas/bash.js +202 -0
- package/dist/tools/schemas/bash.js.map +1 -0
- package/dist/tools/schemas/closeWorkspace.js +105 -0
- package/dist/tools/schemas/closeWorkspace.js.map +1 -0
- package/dist/tools/schemas/codexContext.js +402 -0
- package/dist/tools/schemas/codexContext.js.map +1 -0
- package/dist/tools/schemas/codexSessions.js +328 -0
- package/dist/tools/schemas/codexSessions.js.map +1 -0
- package/dist/tools/schemas/codexgpt.js +1068 -0
- package/dist/tools/schemas/codexgpt.js.map +1 -0
- package/dist/tools/schemas/codexgptInventory.js +359 -0
- package/dist/tools/schemas/codexgptInventory.js.map +1 -0
- package/dist/tools/schemas/codexgptSelfTest.js +563 -0
- package/dist/tools/schemas/codexgptSelfTest.js.map +1 -0
- package/dist/tools/schemas/codexpro.js +917 -0
- package/dist/tools/schemas/codexpro.js.map +1 -0
- package/dist/tools/schemas/codexproInventory.js +352 -0
- package/dist/tools/schemas/codexproInventory.js.map +1 -0
- package/dist/tools/schemas/codexproSelfTest.js +546 -0
- package/dist/tools/schemas/codexproSelfTest.js.map +1 -0
- package/dist/tools/schemas/common.js +21 -0
- package/dist/tools/schemas/common.js.map +1 -0
- package/dist/tools/schemas/createTaskWorktree.js +51 -0
- package/dist/tools/schemas/createTaskWorktree.js.map +1 -0
- package/dist/tools/schemas/edit.js +321 -0
- package/dist/tools/schemas/edit.js.map +1 -0
- package/dist/tools/schemas/execution.js +330 -0
- package/dist/tools/schemas/execution.js.map +1 -0
- package/dist/tools/schemas/exportProContext.js +370 -0
- package/dist/tools/schemas/exportProContext.js.map +1 -0
- package/dist/tools/schemas/getTaskWorktree.js +19 -0
- package/dist/tools/schemas/getTaskWorktree.js.map +1 -0
- package/dist/tools/schemas/gitBranch.js +42 -0
- package/dist/tools/schemas/gitBranch.js.map +1 -0
- package/dist/tools/schemas/gitCommit.js +40 -0
- package/dist/tools/schemas/gitCommit.js.map +1 -0
- package/dist/tools/schemas/gitCreateBranch.js +22 -0
- package/dist/tools/schemas/gitCreateBranch.js.map +1 -0
- package/dist/tools/schemas/gitDiff.js +222 -0
- package/dist/tools/schemas/gitDiff.js.map +1 -0
- package/dist/tools/schemas/gitLog.js +41 -0
- package/dist/tools/schemas/gitLog.js.map +1 -0
- package/dist/tools/schemas/gitRestore.js +47 -0
- package/dist/tools/schemas/gitRestore.js.map +1 -0
- package/dist/tools/schemas/gitStage.js +33 -0
- package/dist/tools/schemas/gitStage.js.map +1 -0
- package/dist/tools/schemas/gitStash.js +102 -0
- package/dist/tools/schemas/gitStash.js.map +1 -0
- package/dist/tools/schemas/gitStatus.js +226 -0
- package/dist/tools/schemas/gitStatus.js.map +1 -0
- package/dist/tools/schemas/gitV4Common.js +205 -0
- package/dist/tools/schemas/gitV4Common.js.map +1 -0
- package/dist/tools/schemas/guidance.js +40 -0
- package/dist/tools/schemas/guidance.js.map +1 -0
- package/dist/tools/schemas/handoffToAgent.js +276 -0
- package/dist/tools/schemas/handoffToAgent.js.map +1 -0
- package/dist/tools/schemas/handoffToCodex.js +137 -0
- package/dist/tools/schemas/handoffToCodex.js.map +1 -0
- package/dist/tools/schemas/inspectWorkspace.js +379 -0
- package/dist/tools/schemas/inspectWorkspace.js.map +1 -0
- package/dist/tools/schemas/listTaskWorktrees.js +21 -0
- package/dist/tools/schemas/listTaskWorktrees.js.map +1 -0
- package/dist/tools/schemas/listWorkspaces.js +134 -0
- package/dist/tools/schemas/listWorkspaces.js.map +1 -0
- package/dist/tools/schemas/loadSkill.js +619 -0
- package/dist/tools/schemas/loadSkill.js.map +1 -0
- package/dist/tools/schemas/mergeTaskWorktree.js +105 -0
- package/dist/tools/schemas/mergeTaskWorktree.js.map +1 -0
- package/dist/tools/schemas/movePaths.js +175 -0
- package/dist/tools/schemas/movePaths.js.map +1 -0
- package/dist/tools/schemas/openCurrentWorkspace.js +174 -0
- package/dist/tools/schemas/openCurrentWorkspace.js.map +1 -0
- package/dist/tools/schemas/openFullAccessWorkspace.js +81 -0
- package/dist/tools/schemas/openFullAccessWorkspace.js.map +1 -0
- package/dist/tools/schemas/openWorkspace.js +193 -0
- package/dist/tools/schemas/openWorkspace.js.map +1 -0
- package/dist/tools/schemas/queryAuditEvents.js +193 -0
- package/dist/tools/schemas/queryAuditEvents.js.map +1 -0
- package/dist/tools/schemas/read.js +199 -0
- package/dist/tools/schemas/read.js.map +1 -0
- package/dist/tools/schemas/readCodexSession.js +353 -0
- package/dist/tools/schemas/readCodexSession.js.map +1 -0
- package/dist/tools/schemas/readHandoff.js +446 -0
- package/dist/tools/schemas/readHandoff.js.map +1 -0
- package/dist/tools/schemas/removeTaskWorktree.js +40 -0
- package/dist/tools/schemas/removeTaskWorktree.js.map +1 -0
- package/dist/tools/schemas/search.js +235 -0
- package/dist/tools/schemas/search.js.map +1 -0
- package/dist/tools/schemas/semantic.js +195 -0
- package/dist/tools/schemas/semantic.js.map +1 -0
- package/dist/tools/schemas/serverConfig.js +157 -0
- package/dist/tools/schemas/serverConfig.js.map +1 -0
- package/dist/tools/schemas/showChanges.js +283 -0
- package/dist/tools/schemas/showChanges.js.map +1 -0
- package/dist/tools/schemas/transactionResult.js +11 -0
- package/dist/tools/schemas/transactionResult.js.map +1 -0
- package/dist/tools/schemas/tree.js +136 -0
- package/dist/tools/schemas/tree.js.map +1 -0
- package/dist/tools/schemas/undoChangeSet.js +152 -0
- package/dist/tools/schemas/undoChangeSet.js.map +1 -0
- package/dist/tools/schemas/waitForHandoff.js +462 -0
- package/dist/tools/schemas/waitForHandoff.js.map +1 -0
- package/dist/tools/schemas/workspaceSnapshot.js +145 -0
- package/dist/tools/schemas/workspaceSnapshot.js.map +1 -0
- package/dist/tools/schemas/write.js +285 -0
- package/dist/tools/schemas/write.js.map +1 -0
- package/dist/transactions/atomicFs.js +438 -0
- package/dist/transactions/atomicFs.js.map +1 -0
- package/dist/transactions/atomicStateFile.js +190 -0
- package/dist/transactions/atomicStateFile.js.map +1 -0
- package/dist/transactions/engine.js +574 -0
- package/dist/transactions/engine.js.map +1 -0
- package/dist/transactions/index.js +12 -0
- package/dist/transactions/index.js.map +1 -0
- package/dist/transactions/installation.js +158 -0
- package/dist/transactions/installation.js.map +1 -0
- package/dist/transactions/manifestV2Store.js +96 -0
- package/dist/transactions/manifestV2Store.js.map +1 -0
- package/dist/transactions/participantRecovery.js +98 -0
- package/dist/transactions/participantRecovery.js.map +1 -0
- package/dist/transactions/recovery.js +513 -0
- package/dist/transactions/recovery.js.map +1 -0
- package/dist/transactions/schemas.js +365 -0
- package/dist/transactions/schemas.js.map +1 -0
- package/dist/transactions/stateRoot.js +63 -0
- package/dist/transactions/stateRoot.js.map +1 -0
- package/dist/transactions/types.js +11 -0
- package/dist/transactions/types.js.map +1 -0
- package/dist/transactions/workspaceLock.js +201 -0
- package/dist/transactions/workspaceLock.js.map +1 -0
- package/dist/workspaceOps.js +924 -0
- package/dist/workspaceOps.js.map +1 -0
- package/dist/worktrees/candidateWorkspace.js +566 -0
- package/dist/worktrees/candidateWorkspace.js.map +1 -0
- package/dist/worktrees/manager.js +258 -0
- package/dist/worktrees/manager.js.map +1 -0
- package/dist/worktrees/materializer.js +60 -0
- package/dist/worktrees/materializer.js.map +1 -0
- package/dist/worktrees/mergeExecute.js +498 -0
- package/dist/worktrees/mergeExecute.js.map +1 -0
- package/dist/worktrees/mergePlanStore.js +247 -0
- package/dist/worktrees/mergePlanStore.js.map +1 -0
- package/dist/worktrees/mergePrepare.js +709 -0
- package/dist/worktrees/mergePrepare.js.map +1 -0
- package/dist/worktrees/recovery.js +294 -0
- package/dist/worktrees/recovery.js.map +1 -0
- package/dist/worktrees/remove.js +296 -0
- package/dist/worktrees/remove.js.map +1 -0
- package/dist/worktrees/remover.js +57 -0
- package/dist/worktrees/remover.js.map +1 -0
- package/dist/worktrees/root.js +47 -0
- package/dist/worktrees/root.js.map +1 -0
- package/dist/worktrees/service.js +245 -0
- package/dist/worktrees/service.js.map +1 -0
- package/dist/worktrees/store.js +156 -0
- package/dist/worktrees/store.js.map +1 -0
- package/dist/worktrees/treeManifest.js +106 -0
- package/dist/worktrees/treeManifest.js.map +1 -0
- package/dist/worktrees/verificationReceipts.js +215 -0
- package/dist/worktrees/verificationReceipts.js.map +1 -0
- package/dist/worktrees/verificationTerminal.js +23 -0
- package/dist/worktrees/verificationTerminal.js.map +1 -0
- package/dist/worktrees/workspaceAuthority.js +64 -0
- package/dist/worktrees/workspaceAuthority.js.map +1 -0
- package/docs/favicon.svg +5 -0
- package/docs/index.html +624 -0
- package/docs/og.svg +52 -0
- package/docs/script.js +33 -0
- package/docs/star.svg +11 -0
- package/docs/styles.css +1571 -0
- package/docs/zh.html +428 -0
- package/package.json +121 -0
- package/scripts/analysis-cli-smoke.mjs +81 -0
- package/scripts/analysis-smoke.mjs +179 -0
- package/scripts/atomic-file.mjs +137 -0
- package/scripts/ci-change-classifier.mjs +59 -0
- package/scripts/ci-failure-summary.mjs +92 -0
- package/scripts/cloudflared-installer.mjs +215 -0
- package/scripts/cloudflared-release.mjs +63 -0
- package/scripts/codexgpt-entry.mjs +235 -0
- package/scripts/codexgpt.mjs +4987 -0
- package/scripts/connector-auth-output-shim.cjs +66 -0
- package/scripts/doctor-smoke.mjs +90 -0
- package/scripts/doctor.mjs +165 -0
- package/scripts/exact-head-ci.mjs +126 -0
- package/scripts/execute-handoff-smoke-platform-compat.mjs +38 -0
- package/scripts/execute-handoff-smoke.mjs +1117 -0
- package/scripts/g8-u-live-probe.mjs +208 -0
- package/scripts/http-smoke-compat.mjs +151 -0
- package/scripts/http-smoke.mjs +776 -0
- package/scripts/long-task-runner.mjs +1037 -0
- package/scripts/oauth-admin.mjs +1608 -0
- package/scripts/output-bounds.mjs +29 -0
- package/scripts/owned-temp-root.d.mts +50 -0
- package/scripts/owned-temp-root.mjs +567 -0
- package/scripts/phase-4a-smoke.mjs +36 -0
- package/scripts/policy-windows-spike.mjs +135 -0
- package/scripts/pro-apply.mjs +152 -0
- package/scripts/pro-bundle.mjs +121 -0
- package/scripts/pro-smoke.mjs +97 -0
- package/scripts/process-identity.mjs +67 -0
- package/scripts/repository-policy.mjs +166 -0
- package/scripts/run-and-summarize.mjs +134 -0
- package/scripts/run-smoke.mjs +52 -0
- package/scripts/run-with-cleanup.mjs +98 -0
- package/scripts/settings-smoke-platform-compat.mjs +85 -0
- package/scripts/settings-smoke.mjs +769 -0
- package/scripts/smoke-platform-compat.mjs +302 -0
- package/scripts/smoke.mjs +1180 -0
- package/scripts/stress-contract-compat.mjs +94 -0
- package/scripts/stress.mjs +882 -0
- package/scripts/test-domains.mjs +247 -0
- package/scripts/test-execution-profile-manifest.mjs +273 -0
- package/scripts/test-execution-profiles.mjs +147 -0
- package/scripts/test-performance-reporter.mjs +291 -0
- package/scripts/toolchain-manager.mjs +266 -0
- package/scripts/toolchains.json +19 -0
- package/scripts/windows-conpty-probe-child.mjs +82 -0
- package/scripts/windows-conpty-worker.ps1 +24 -0
- package/scripts/windows-credential-host-manifest.json +16 -0
- package/scripts/windows-credential-host-protocol-v1.json +16 -0
- package/scripts/windows-credential-host.cs +256 -0
- package/scripts/windows-credential-host.ps1 +26 -0
- package/scripts/windows-local-control-manifest.json +23 -0
- package/scripts/windows-local-control-spike.cs +738 -0
- package/scripts/windows-local-control-spike.mjs +415 -0
- package/scripts/windows-local-control-spike.ps1 +35 -0
- package/scripts/windows-local-control.cs +738 -0
- package/scripts/windows-local-control.ps1 +35 -0
- package/scripts/windows-native-api-inventory-v1.json +90 -0
- package/scripts/windows-process-host-manifest.json +20 -0
- package/scripts/windows-process-host-protocol-v1.json +59 -0
- package/scripts/windows-process-host.cs +2385 -0
- package/scripts/windows-process-host.ps1 +59 -0
- package/scripts/windows-realpath-shim.cjs +78 -0
package/README.md
ADDED
|
@@ -0,0 +1,490 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/favicon.svg" width="72" height="72" alt="CodexGPT logo">
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">CodexGPT</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
Windows-first, self-hosted MCP tools that connect ChatGPT to one local repository.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://www.npmjs.com/package/codexgpt"><img alt="npm" src="https://img.shields.io/npm/v/codexgpt?style=flat-square"></a>
|
|
13
|
+
<a href="https://github.com/chatGPT-10/codexgpt/actions"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/chatGPT-10/codexgpt/ci.yml?branch=main&style=flat-square"></a>
|
|
14
|
+
<a href="https://github.com/chatGPT-10/codexgpt/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/chatGPT-10/codexgpt?style=flat-square"></a>
|
|
15
|
+
<a href="https://rebel0789.github.io/codexgpt/"><img alt="Website" src="https://img.shields.io/badge/site-GitHub%20Pages-67e8f9?style=flat-square"></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="README_ZH.md">中文</a> ·
|
|
20
|
+
<a href="DOMAIN_SETUP.md">Cloudflare domain setup</a> ·
|
|
21
|
+
<a href="SECURITY.md">Security</a> ·
|
|
22
|
+
<a href="FAQ.md">FAQ</a> ·
|
|
23
|
+
<a href="CHANGELOG.md">Changelog</a>
|
|
24
|
+
</p>
|
|
25
|
+
|
|
26
|
+
## What CodexGPT is
|
|
27
|
+
|
|
28
|
+
CodexGPT runs an MCP server on your machine and scopes it to a repository you choose. A compatible ChatGPT Developer Mode app can then inspect files, search code, make guarded edits, review Git changes, run bounded verification commands, and write handoff plans under `.ai-bridge`.
|
|
29
|
+
|
|
30
|
+
The intended deployment is fully self-hosted:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
ChatGPT
|
|
34
|
+
-> HTTPS
|
|
35
|
+
mcp.example.com
|
|
36
|
+
-> Cloudflare DNS / TLS / Tunnel
|
|
37
|
+
127.0.0.1:8787
|
|
38
|
+
-> CodexGPT
|
|
39
|
+
-> one local repository
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Cloudflare is only the network edge. CodexGPT remains local, the origin port stays bound to loopback, and no third-party MCP relay is required.
|
|
43
|
+
|
|
44
|
+
CodexGPT is not a hosted coding service, model proxy, quota bypass, account pool, or operating-system sandbox. It is not an OS sandbox.
|
|
45
|
+
|
|
46
|
+
## Current project status
|
|
47
|
+
|
|
48
|
+
- The first stable release is `codexgpt@1.0.0`; package metadata, runtime self-reporting, Git tag, and npm `latest` must remain aligned.
|
|
49
|
+
- Native Windows is a primary supported environment. WSL is not required. PowerShell is supported; Git Bash remains useful for Bash-oriented workflows.
|
|
50
|
+
- The default public tool contract remains V1. Contracts V2, V3, V4, and the explicit-standard Phase 7 Core V5 surface are advanced opt-ins.
|
|
51
|
+
- Phases 5, 6, and Phase 7 Core are closed on full Ubuntu/Windows Node 20/24 validation matrices. Phase 7 Core closed at `a0b9f46e2297297959527f7570c9cb7942cc8fb3` with exact-head CI run `30171313296`; Contract V5 remains an explicit `standard` opt-in rather than the default public contract.
|
|
52
|
+
- Phase 8 Tasks 8A1–8A9 are implemented and locally verified in the source checkout: Windows DPAPI CurrentUser state protection, separated public/local listeners, constrained DCR + PKCE S256, ES256 access tokens, rotating refresh families, durable revoke/replay, request-local policy identity, exact per-tool scopes, supported setup/administration/recovery, dedicated Tunnel ownership checks, migration/rollback documentation, package integration, synthetic end-to-end OAuth/MCP coverage, and completed-runtime adversarial repairs. Live Gate G8-U is accepted through Journeys U2–U7, and STEP-470 closed local G8-X with post-repair managed Node 20/24 ordinary and protected Smoke. U6 passed service/protocol rollback, a real recreated-Legacy-App read, exact no-argument OAuth restoration, and a real post-return OAuth App read; the deleted original Legacy App identity is explicitly not claimed as continuous. U7 proved fail-early byte-preserving refusal of shared/unowned Tunnel configs and the live public-loopback/local-admin boundary. Phase 8 exact-head closure passed at `55b2b5664aae322ec992968a41c87a289fb75282` in CI run `30274857996`; `1.0.0` packages this verified baseline.
|
|
53
|
+
|
|
54
|
+
The npm badge and package metadata should both report `1.0.0`. Use a source checkout only when you specifically need unreleased `main` behavior.
|
|
55
|
+
|
|
56
|
+
For an existing source checkout, keep the public entry layer by using the repository scripts:
|
|
57
|
+
|
|
58
|
+
```powershell
|
|
59
|
+
Set-Location D:\Dev\codexpro
|
|
60
|
+
npm install
|
|
61
|
+
npm run build
|
|
62
|
+
npm run connect:setup -- --root D:\Dev\your-repo
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Daily start from that source checkout:
|
|
66
|
+
|
|
67
|
+
```powershell
|
|
68
|
+
npm run connect -- --root D:\Dev\your-repo
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Requirements
|
|
72
|
+
|
|
73
|
+
- Windows 10/11, macOS, or Linux for the legacy connector; Phase 8 Core OAuth setup currently requires native Windows
|
|
74
|
+
- Node.js 20 or newer
|
|
75
|
+
- Git for Git-aware workflows
|
|
76
|
+
- A ChatGPT account and plan/workspace surface that exposes custom Apps and Developer Mode
|
|
77
|
+
- A stable public HTTPS hostname when ChatGPT Web must reach the local MCP server
|
|
78
|
+
|
|
79
|
+
For the preferred Windows path, install Node.js and Git for Windows. PowerShell is sufficient for normal setup; WSL is optional.
|
|
80
|
+
|
|
81
|
+
## OAuth setup from one exact command
|
|
82
|
+
|
|
83
|
+
Use a separate OAuth App and retain the existing Legacy App until the live migration is accepted. OAuth setup is workspace-bound: every command must target the exact repository with `--root`.
|
|
84
|
+
|
|
85
|
+
Published global install:
|
|
86
|
+
|
|
87
|
+
```powershell
|
|
88
|
+
codexgpt auth setup `
|
|
89
|
+
--root D:\Dev\your-repo `
|
|
90
|
+
--hostname mcp.example.com `
|
|
91
|
+
--tunnel-name codexgpt
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Unpublished source checkout:
|
|
95
|
+
|
|
96
|
+
```powershell
|
|
97
|
+
Set-Location D:\Dev\codexpro
|
|
98
|
+
npm install
|
|
99
|
+
npm run build
|
|
100
|
+
node .\scripts\codexgpt-entry.mjs auth setup `
|
|
101
|
+
--root D:\Dev\your-repo `
|
|
102
|
+
--hostname mcp.example.com `
|
|
103
|
+
--tunnel-name codexgpt
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Setup requires a stable named Cloudflare Tunnel. It reuses only a dedicated Tunnel whose ownership marker matches this workspace/deployment, journals resumable phases, starts a candidate on separate loopback ports, and verifies public metadata, JWKS, and health before committing OAuth mode. Cloudflare/DNS changes are printed first and require explicit approval; use `--no-tunnel-changes` for a deterministic no-mutation preflight.
|
|
107
|
+
|
|
108
|
+
The ChatGPT Server URL is token-free:
|
|
109
|
+
|
|
110
|
+
```text
|
|
111
|
+
https://mcp.example.com/mcp
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
In ChatGPT Web, enable Developer Mode, create a custom App, paste that URL, choose OAuth when shown, run **Scan Tools**, and complete the browser flow. The first grant waits for explicit approval on the Windows PC:
|
|
115
|
+
|
|
116
|
+
```powershell
|
|
117
|
+
codexgpt auth pending --root D:\Dev\your-repo
|
|
118
|
+
codexgpt auth open --root D:\Dev\your-repo
|
|
119
|
+
# or approve the displayed correlation code:
|
|
120
|
+
codexgpt auth approve <correlation-code> --root D:\Dev\your-repo
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Normal foreground restart keeps the same issuer, binding, Tunnel, clients, and refresh families:
|
|
124
|
+
|
|
125
|
+
```powershell
|
|
126
|
+
codexgpt start --root D:\Dev\your-repo
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
A pure scope change does not require **Scan Tools**. Enabling or removing a tool descriptor/capability requires an exact-root restart first; then use **Scan Tools** once if the App's tool snapshot changed. The old token never gains a newly enabled capability without reauthorization.
|
|
130
|
+
|
|
131
|
+
Operational commands:
|
|
132
|
+
|
|
133
|
+
```powershell
|
|
134
|
+
codexgpt auth status --root D:\Dev\your-repo
|
|
135
|
+
codexgpt auth clients --root D:\Dev\your-repo
|
|
136
|
+
codexgpt auth client remove <client-id> --root D:\Dev\your-repo
|
|
137
|
+
codexgpt auth revoke <grant-id> --root D:\Dev\your-repo
|
|
138
|
+
codexgpt auth rotate-signing-key --root D:\Dev\your-repo
|
|
139
|
+
codexgpt auth recover inspect --root D:\Dev\your-repo
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Backup restore and `auth reinitialize --revoke-all` preserve the stable binding and dedicated Tunnel, publish a new incarnation/key authority, invalidate all old access/refresh credentials, and force relink. They never revive old grants. DPAPI protection is bound to the current Windows user profile; another user, a lost profile, or same-user malware is outside that protection boundary.
|
|
143
|
+
|
|
144
|
+
### Two-App rollback and return to OAuth
|
|
145
|
+
|
|
146
|
+
Do not delete the Legacy App or its credential during Phase 8 Core migration. To roll back, stop the foreground OAuth process, switch only the workspace profile, restart, and use the separately retained Legacy App:
|
|
147
|
+
|
|
148
|
+
```powershell
|
|
149
|
+
codexgpt auth rollback --root D:\Dev\your-repo
|
|
150
|
+
codexgpt start --root D:\Dev\your-repo
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
A service restart is not an automatic ChatGPT client rollback. The OAuth App is never given the legacy query-token URL, and OAuth state, keys, grants, clients, audit, Tunnel config, and owner marker are preserved.
|
|
154
|
+
|
|
155
|
+
Return idempotently to OAuth with the retained OAuth App:
|
|
156
|
+
|
|
157
|
+
```powershell
|
|
158
|
+
codexgpt auth setup --root D:\Dev\your-repo
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
The saved hostname, Tunnel, ports, and ownership marker are inferred; the candidate public surface is probed before OAuth mode is committed again. The profile keeps separate credential-free Legacy and OAuth routing selectors, so rollback switches the complete route rather than serving Legacy authentication on the OAuth hostname. Profiles created before this selector split fail closed and require one explicit retained-route migration; credentials are never copied into the route selectors.
|
|
162
|
+
|
|
163
|
+
If an environment override blocks the profile, remove it before restart:
|
|
164
|
+
|
|
165
|
+
```powershell
|
|
166
|
+
Remove-Item Env:CODEXGPT_AUTH_MODE -ErrorAction SilentlyContinue
|
|
167
|
+
[Environment]::SetEnvironmentVariable('CODEXGPT_AUTH_MODE', $null, 'User')
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
The public listener defaults to `127.0.0.1:8787`; local owner administration defaults to the separate `127.0.0.1:8788` and must never be routed through Cloudflare. Quick Tunnels are unsuitable because their hostname changes. Static Bearer configuration for ChatGPT, Cloudflare Access, mTLS, multi-owner tenancy, and OS isolation are not claimed.
|
|
171
|
+
|
|
172
|
+
Current OpenAI guidance says custom Apps are configured from ChatGPT Web through Apps/Developer Mode and tool metadata is refreshed through **Scan Tools**; availability depends on plan/workspace. It also recommends refresh-token support and, for OIDC providers, advertising `offline_access`. CodexGPT is an OAuth authorization server rather than an OIDC provider and issues rotating refresh tokens. Journeys U2–U4 passed DCR/linking, local approval, scoped reauthorization, descriptor refresh, post-restart refresh continuity, and local revoke/relink. Journey U5 passed live denial, replay, bounded-admission, environment-override, and verified-backup recovery; recovery remains an intentional security reset that preserves the stable binding/hostname/Tunnel while invalidating every prior client/grant/token authority. U6 passed the separate-route Legacy/OAuth round-trip, exact OAuth schemes, query-token denial, a recreated Legacy App read, exact OAuth return, and a post-return read through the existing OAuth App; continuity of the deleted original Legacy App identity is not claimed. U7 passed fail-early byte-preserving refusal of shared/unowned Tunnel configs and the live public-loopback/local-admin boundary. Gate G8-U, local G8-X, and exact-head Ubuntu/Windows Node 20/24 CI are complete at `55b2b5664aae322ec992968a41c87a289fb75282` / run `30274857996`.
|
|
173
|
+
|
|
174
|
+
## Legacy compatibility quick start (query-token)
|
|
175
|
+
|
|
176
|
+
### 1. Install the CLI
|
|
177
|
+
|
|
178
|
+
```powershell
|
|
179
|
+
npm install -g codexgpt
|
|
180
|
+
codexgpt --version
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### 2. Run guided setup inside the target repository
|
|
184
|
+
|
|
185
|
+
```powershell
|
|
186
|
+
Set-Location D:\Dev\your-repo
|
|
187
|
+
codexgpt setup
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
Setup saves a per-workspace profile and attempts to copy the complete Server URL containing a `codexgpt_token` query credential. Startup logs keep that secret URL hidden; press `u` in the CodexGPT terminal only when you explicitly need to display it.
|
|
191
|
+
|
|
192
|
+
### 3. Create the ChatGPT connection
|
|
193
|
+
|
|
194
|
+
Open ChatGPT's current Apps/Plugins connection-management page. If the UI offers Developer Mode, enable it; labels can change, but the flow is generally:
|
|
195
|
+
|
|
196
|
+
```text
|
|
197
|
+
Settings -> Plugins / Apps -> + / Create
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Use:
|
|
201
|
+
|
|
202
|
+
```text
|
|
203
|
+
Name: CodexGPT
|
|
204
|
+
Connection: Server URL
|
|
205
|
+
Server URL: paste the complete URL copied by CodexGPT
|
|
206
|
+
Authentication: No Authentication / None (if shown)
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Do not remove the `codexgpt_token` query string from this retained Legacy App. The complete URL is password-equivalent and can leak through browser history, clipboard contents, screenshots, logs, or copied links. The source-checkout OAuth path described earlier has separate live G8-U evidence and uses a different retained App with a token-free URL; do not mix the two modes or substitute manual static-Bearer settings.
|
|
210
|
+
|
|
211
|
+
### 4. Daily start
|
|
212
|
+
|
|
213
|
+
From the same repository:
|
|
214
|
+
|
|
215
|
+
```powershell
|
|
216
|
+
codexgpt start
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Keep the CodexGPT process running while ChatGPT uses the connection.
|
|
220
|
+
|
|
221
|
+
## Recommended stable setup: your domain + Cloudflare Tunnel
|
|
222
|
+
|
|
223
|
+
Use a named Cloudflare Tunnel for a stable hostname such as `mcp.example.com`.
|
|
224
|
+
|
|
225
|
+
One-time setup:
|
|
226
|
+
|
|
227
|
+
```powershell
|
|
228
|
+
codexgpt install-cloudflared
|
|
229
|
+
cloudflared tunnel login
|
|
230
|
+
cloudflared tunnel create codexgpt
|
|
231
|
+
cloudflared tunnel route dns codexgpt mcp.example.com
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Start CodexGPT with the named tunnel:
|
|
235
|
+
|
|
236
|
+
```powershell
|
|
237
|
+
codexgpt stable `
|
|
238
|
+
--root D:\Dev\your-repo `
|
|
239
|
+
--hostname mcp.example.com `
|
|
240
|
+
--tunnel-name codexgpt `
|
|
241
|
+
--token <long-random-codexgpt-token> `
|
|
242
|
+
--bash safe
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
This keeps the local listener on `127.0.0.1:8787`; `cloudflared` makes an outbound tunnel connection. Do not open port 8787 on the router or Windows Firewall.
|
|
246
|
+
|
|
247
|
+
For an exact Windows configuration file, token separation, ingress validation, rotation, and Host-header/DNS-rebinding controls, read [DOMAIN_SETUP.md](DOMAIN_SETUP.md).
|
|
248
|
+
|
|
249
|
+
## Common operating modes
|
|
250
|
+
|
|
251
|
+
### Normal coding
|
|
252
|
+
|
|
253
|
+
```powershell
|
|
254
|
+
codexgpt start
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
The standard surface supports repository reads, search, scoped writes/edits, guarded patches, Git review, and safe verification.
|
|
258
|
+
|
|
259
|
+
### Phase 6 project guidance
|
|
260
|
+
|
|
261
|
+
Phase 6 project guidance is enabled by default. Start normally:
|
|
262
|
+
|
|
263
|
+
```powershell
|
|
264
|
+
codexgpt start
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
The first workspace-open result includes bounded root `AGENTS.md` instructions and an implicit-eligible workspace Skill catalog. Before the first mutation, ChatGPT calls `codex_context(target_path)` to load the exact root-to-target instruction chain and target-scoped `.agents/skills` catalog, then may load at most one matching Skill with the same returned `target_path`. Skill bodies and `references/`, `scripts/`, or `assets/` text remain lazy; nothing in a Skill executes automatically. User/plugin Skills remain excluded unless a tool call explicitly opts into global discovery.
|
|
268
|
+
|
|
269
|
+
An App created before the Phase 6 tool update may retain a frozen tool snapshot. Run **Scan Tools** once or recreate that App; transparent refresh is not claimed. The stable `codexgpt` supertool remains a compatibility path for `open` and `codex_context` when present in the cached snapshot. To roll back with the same binary, restart with:
|
|
270
|
+
|
|
271
|
+
```powershell
|
|
272
|
+
$env:CODEXGPT_GUIDANCE_MODE = "legacy"
|
|
273
|
+
codexgpt start
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Run `codexgpt doctor` to see readiness, invalid metadata, collisions, and scan/catalog truncation. The omitted mode is now `standard`; explicit `legacy` remains the one-restart rollback path. Because `minimal` does not expose `codex_context`, omitted guidance with `--tool-mode minimal` uses the exact legacy compatibility projection; explicitly requesting `standard` with minimal fails at startup.
|
|
277
|
+
|
|
278
|
+
### Phase 7 Core semantic navigation
|
|
279
|
+
|
|
280
|
+
Phase 7 Core adds an explicit-standard Contract V5 with one zero-setup `semantic` tool for JavaScript and TypeScript. It supports `definition`, `references`, one-file `diagnostics`, and `rename_preview`. A symbol locator may omit the path only when the symbol resolves uniquely; ambiguous names return bounded candidates instead of guessing. Results use workspace-relative paths and report `actual_provider` plus `result_quality` so lexical fallback is never presented as semantic certainty.
|
|
281
|
+
|
|
282
|
+
Enable the builtin engine for this workspace, restart, then run **Scan Tools** once in an existing 51-tool ChatGPT App or recreate the App:
|
|
283
|
+
|
|
284
|
+
```powershell
|
|
285
|
+
codexgpt semantic use builtin
|
|
286
|
+
codexgpt start
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Inspect health and bounded worker facts locally:
|
|
290
|
+
|
|
291
|
+
```powershell
|
|
292
|
+
codexgpt semantic status
|
|
293
|
+
codexgpt semantic status --verbose
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
A rename is two distinct operations. `semantic` with `rename_preview` creates a complete, hash- and identity-bound in-memory plan without writing files. V5 `apply_patch` consumes its opaque `semantic_preview_id` once and applies the whole batch through the existing approval, atomic transaction, audit, change-set, review, and undo path. A preview is not approval, and a Provider never gains workspace or mutation authority.
|
|
297
|
+
|
|
298
|
+
Rollback is one restart and leaves ordinary read/search/edit tools unchanged:
|
|
299
|
+
|
|
300
|
+
```powershell
|
|
301
|
+
codexgpt semantic disable
|
|
302
|
+
codexgpt start
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
The builtin worker runs as the current user and is not an execution, filesystem, credential, or network sandbox. Serena and direct LSP Providers are unimplemented post-Core extensions and are not bundled or installed by this feature.
|
|
306
|
+
|
|
307
|
+
Disable all ChatGPT-triggered shell commands:
|
|
308
|
+
|
|
309
|
+
```powershell
|
|
310
|
+
codexgpt start --no-bash
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
Require Bash calls to target this exact local server label:
|
|
314
|
+
|
|
315
|
+
```powershell
|
|
316
|
+
codexgpt start --bash-session main --require-bash-session
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Handoff mode
|
|
320
|
+
|
|
321
|
+
ChatGPT writes a plan but does not directly edit source files:
|
|
322
|
+
|
|
323
|
+
```powershell
|
|
324
|
+
codexgpt start --mode handoff --no-bash
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
The plan is stored at `.ai-bridge/current-plan.md`. Execute it locally only after review:
|
|
328
|
+
|
|
329
|
+
```powershell
|
|
330
|
+
codexgpt execute-handoff --agent codex --dry-run
|
|
331
|
+
codexgpt execute-handoff --agent codex --yes
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Remote MCP tools do not directly launch Codex, OpenCode, Pi, or arbitrary local agents.
|
|
335
|
+
|
|
336
|
+
### Pro/context fallback
|
|
337
|
+
|
|
338
|
+
For a model surface that cannot call MCP tools:
|
|
339
|
+
|
|
340
|
+
```powershell
|
|
341
|
+
codexgpt pro-bundle --root D:\Dev\your-repo --copy
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
This writes `.ai-bridge/pro-context.md`, which can be supplied to a planning-only model. Apply a reviewed plan with:
|
|
345
|
+
|
|
346
|
+
```powershell
|
|
347
|
+
codexgpt pro-apply --root D:\Dev\your-repo --file plan.md
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Read-only connection diagnostics
|
|
351
|
+
|
|
352
|
+
```powershell
|
|
353
|
+
codexgpt connection-test --root D:\Dev\your-repo
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
This keeps the read/search surface, disables writes and Bash, and logs whether requests reach the local MCP endpoint.
|
|
357
|
+
|
|
358
|
+
## Main commands
|
|
359
|
+
|
|
360
|
+
```text
|
|
361
|
+
codexgpt setup
|
|
362
|
+
codexgpt start
|
|
363
|
+
codexgpt stable --hostname mcp.example.com --tunnel-name codexgpt
|
|
364
|
+
codexgpt doctor
|
|
365
|
+
codexgpt semantic status --verbose
|
|
366
|
+
codexgpt semantic use builtin
|
|
367
|
+
codexgpt semantic disable
|
|
368
|
+
codexgpt connection-test --root <repo>
|
|
369
|
+
codexgpt settings
|
|
370
|
+
codexgpt inspect --root <repo>
|
|
371
|
+
codexgpt review --root <repo>
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
Useful surface controls:
|
|
375
|
+
|
|
376
|
+
```text
|
|
377
|
+
--no-bash
|
|
378
|
+
--tool-mode minimal
|
|
379
|
+
--tool-mode standard
|
|
380
|
+
--tool-mode full
|
|
381
|
+
--mode handoff
|
|
382
|
+
--mode pro
|
|
383
|
+
--tunnel none
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
## Security model
|
|
387
|
+
|
|
388
|
+
Default safety properties include:
|
|
389
|
+
|
|
390
|
+
- Public tunnel mode requires a CodexGPT HTTP token.
|
|
391
|
+
- The public CLI uses the complete query-token Server URL for personal ChatGPT compatibility.
|
|
392
|
+
- The local HTTP listener defaults to `127.0.0.1`.
|
|
393
|
+
- Generic source writes are exposed only in workspace write mode.
|
|
394
|
+
- Safe Bash blocks broad shell patterns and sensitive/build/cache paths.
|
|
395
|
+
- `.env`, private keys, `.git`, dependency trees, generated directories, path escapes, and symlink escapes are guarded.
|
|
396
|
+
- Token-like values are redacted from supported status and log surfaces.
|
|
397
|
+
- Contract V3 `full_access` and Contract V4 integration execution are ambient current-user authority, not isolation.
|
|
398
|
+
|
|
399
|
+
Use `--no-bash` for untrusted repositories. Review [SECURITY.md](SECURITY.md) before exposing CodexGPT through any tunnel or enabling advanced contracts.
|
|
400
|
+
|
|
401
|
+
## Advanced contracts
|
|
402
|
+
|
|
403
|
+
The default path is intentionally simpler. Advanced versions are explicit:
|
|
404
|
+
|
|
405
|
+
- **V1**: the default contract defines exactly 28 child tools.
|
|
406
|
+
- **V2**: atomic transactions, durable audit, move/undo, and bounded audit queries. Explicit contract V2 activation requires atomic transactions and persistent audit and defines exactly 31 child tools.
|
|
407
|
+
- **V3**: trusted-code Windows process execution and confirmed-root admission with separate local one-use approvals.
|
|
408
|
+
- **V4**: typed local Git operations and owner-bound managed task worktrees.
|
|
409
|
+
- **V5**: exact V4 inheritance plus one read-only `semantic` tool in explicit `standard` mode. The builtin TypeScript engine can create a rename preview, while only V5 `apply_patch` may consume `semantic_preview_id` through the existing atomic mutation path.
|
|
410
|
+
|
|
411
|
+
Writable atomic V1 requires persistent terminal audit. A PowerShell example for exact V2 activation is:
|
|
412
|
+
|
|
413
|
+
```powershell
|
|
414
|
+
$env:CODEXGPT_TOOL_CONTRACT_VERSION = "2"
|
|
415
|
+
$env:CODEXGPT_FILE_TRANSACTIONS = "atomic"
|
|
416
|
+
$env:CODEXGPT_AUDIT_MODE = "required"
|
|
417
|
+
$env:CODEXGPT_AUDIT_RETENTION_DAYS = "30"
|
|
418
|
+
$env:CODEXGPT_AUDIT_RETENTION_BYTES = "104857600"
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
V3 and V4 require enforce-mode policy, persistent audit, atomic state, strict permission profiles, and local approval support. They do not provide an OS sandbox, credential isolation, or unrestricted remote Git commands.
|
|
422
|
+
|
|
423
|
+
Managed task worktrees preserve the branch, commits, and private stashes for recovery. Merge preparation is typed and bounded; it does not merge into the primary worktree automatically. External Git processes and unrelated Git processes can still race with CodexGPT because workflow isolation is not process or credential isolation.
|
|
424
|
+
|
|
425
|
+
See [SECURITY.md](SECURITY.md) for the exact boundaries.
|
|
426
|
+
|
|
427
|
+
## Token rotation
|
|
428
|
+
|
|
429
|
+
To rotate the CodexGPT MCP token:
|
|
430
|
+
|
|
431
|
+
1. Stop CodexGPT.
|
|
432
|
+
2. Start it with a new long random value passed to `--token`.
|
|
433
|
+
3. Replace the complete Server URL in ChatGPT, including the new `codexgpt_token` query string.
|
|
434
|
+
4. Remove old URLs from notes, screenshots, shell history, and password managers where applicable.
|
|
435
|
+
|
|
436
|
+
The Cloudflare Tunnel credential and the CodexGPT MCP token are different secrets. Rotating one does not rotate the other.
|
|
437
|
+
|
|
438
|
+
## Troubleshooting
|
|
439
|
+
|
|
440
|
+
Run the preflight first:
|
|
441
|
+
|
|
442
|
+
```powershell
|
|
443
|
+
codexgpt doctor
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
Common cases:
|
|
447
|
+
|
|
448
|
+
- **Quick-tunnel URL changed:** restart CodexGPT and replace the ChatGPT Server URL.
|
|
449
|
+
- **Stable hostname does not respond:** verify the named tunnel and DNS route, then confirm the app still uses the complete tokenized URL.
|
|
450
|
+
- **One ChatGPT model cannot call tools:** use a model/chat surface that supports Developer Mode app actions, or use `pro-bundle`.
|
|
451
|
+
- **Port 8787 is busy:** use another port, for example `--port 8788`, and update the tunnel origin.
|
|
452
|
+
- **Tool list is stale:** recreate the ChatGPT connection or rotate the token and replace the complete Server URL.
|
|
453
|
+
|
|
454
|
+
## Development
|
|
455
|
+
|
|
456
|
+
```powershell
|
|
457
|
+
npm install
|
|
458
|
+
npm run build
|
|
459
|
+
npm run smoke
|
|
460
|
+
npm run stress
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
Use cleanup-backed focused tests and local tasks:
|
|
464
|
+
|
|
465
|
+
```powershell
|
|
466
|
+
npm run test:focused -- test/example.test.mjs
|
|
467
|
+
npm run task:run -- node scripts/example.mjs
|
|
468
|
+
npm run task:cleanup
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
Release checks:
|
|
472
|
+
|
|
473
|
+
```powershell
|
|
474
|
+
npm run policy:check
|
|
475
|
+
npm run build
|
|
476
|
+
npm run smoke
|
|
477
|
+
npm audit --audit-level=high
|
|
478
|
+
npm pack --dry-run
|
|
479
|
+
git diff --check
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
## Documentation
|
|
483
|
+
|
|
484
|
+
- [Website](https://rebel0789.github.io/codexgpt/)
|
|
485
|
+
- [Chinese README](README_ZH.md)
|
|
486
|
+
- [Cloudflare domain setup](DOMAIN_SETUP.md)
|
|
487
|
+
- [Security policy](SECURITY.md)
|
|
488
|
+
- [FAQ](FAQ.md)
|
|
489
|
+
- [Changelog](CHANGELOG.md)
|
|
490
|
+
- [Contributing](CONTRIBUTING.md)
|