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,1068 @@
1
+ import { z } from "zod";
2
+ import { CONTRACT_V1_CHILD_TOOLS, CONTRACT_V2_CHILD_TOOLS, CONTRACT_V3_CHILD_TOOLS, CONTRACT_V4_CHILD_TOOLS, CONTRACT_V5_CHILD_TOOLS, canonicalToolsForVersion } from "../contracts/catalog.js";
3
+ import { queryAuditEventsInputV2Schema, queryAuditEventsResultV2Schema, queryAuditEventsInputV3Schema, queryAuditEventsResultV3Schema } from "../../audit/schemas.js";
4
+ import { applyPatchOutputSchema, applyPatchOutputSchemaV2 } from "./applyPatch.js";
5
+ import { bashOutputSchema } from "./bash.js";
6
+ import { closeWorkspaceOutputSchema } from "./closeWorkspace.js";
7
+ import { codexContextOutputSchema } from "./codexContext.js";
8
+ import { codexgptInventoryOutputSchema } from "./codexgptInventory.js";
9
+ import { codexgptSelfTestOutputSchema } from "./codexgptSelfTest.js";
10
+ import { codexSessionsOutputSchema } from "./codexSessions.js";
11
+ import { createToolMeta, toolErrorSchema, toolMetaSchema } from "./common.js";
12
+ import { editOutputSchema, editOutputSchemaV2 } from "./edit.js";
13
+ import { exportProContextOutputSchema } from "./exportProContext.js";
14
+ import { gitDiffOutputSchema, gitDiffOutputSchemaV4 } from "./gitDiff.js";
15
+ import { gitStatusOutputSchema, gitStatusOutputSchemaV4 } from "./gitStatus.js";
16
+ import { handoffToAgentOutputSchema } from "./handoffToAgent.js";
17
+ import { handoffToCodexOutputSchema } from "./handoffToCodex.js";
18
+ import { inspectWorkspaceOutputSchema } from "./inspectWorkspace.js";
19
+ import { listWorkspacesOutputSchema } from "./listWorkspaces.js";
20
+ import { loadSkillOutputSchema } from "./loadSkill.js";
21
+ import { openCurrentWorkspaceOutputSchema } from "./openCurrentWorkspace.js";
22
+ import { openWorkspaceOutputSchema } from "./openWorkspace.js";
23
+ import { readOutputSchema } from "./read.js";
24
+ import { readCodexSessionOutputSchema } from "./readCodexSession.js";
25
+ import { readHandoffOutputSchema } from "./readHandoff.js";
26
+ import { searchOutputSchema } from "./search.js";
27
+ import { serverConfigOutputSchema } from "./serverConfig.js";
28
+ import { showChangesOutputSchema } from "./showChanges.js";
29
+ import { treeOutputSchema } from "./tree.js";
30
+ import { waitForHandoffOutputSchema } from "./waitForHandoff.js";
31
+ import { workspaceSnapshotOutputSchema } from "./workspaceSnapshot.js";
32
+ import { writeOutputSchema, writeOutputSchemaV2 } from "./write.js";
33
+ import { undoChangeSetInputV2Schema, undoChangeSetOutputSchema } from "./undoChangeSet.js";
34
+ import { movePathsOutputSchema } from "./movePaths.js";
35
+ import { queryAuditEventsOutputSchema, queryAuditEventsOutputSchemaV3 as queryAuditEventsToolOutputSchemaV3, queryAuditEventsOutputSchemaV4 as queryAuditEventsToolOutputSchemaV4 } from "./queryAuditEvents.js";
36
+ import { openFullAccessWorkspaceOutputSchema } from "./openFullAccessWorkspace.js";
37
+ import { EXECUTION_OUTPUT_SCHEMAS, EXECUTION_OUTPUT_SCHEMAS_V4 } from "./execution.js";
38
+ import { gitLogOutputSchemaV4 } from "./gitLog.js";
39
+ import { gitBranchOutputSchemaV4 } from "./gitBranch.js";
40
+ import { gitCreateBranchOutputSchemaV4 } from "./gitCreateBranch.js";
41
+ import { gitStageOutputSchemaV4 } from "./gitStage.js";
42
+ import { gitCommitOutputSchemaV4 } from "./gitCommit.js";
43
+ import { gitRestoreOutputSchemaV4 } from "./gitRestore.js";
44
+ import { gitStashOutputSchemaV4 } from "./gitStash.js";
45
+ import { createTaskWorktreeOutputSchemaV4 } from "./createTaskWorktree.js";
46
+ import { listTaskWorktreesOutputSchemaV4 } from "./listTaskWorktrees.js";
47
+ import { getTaskWorktreeOutputSchemaV4 } from "./getTaskWorktree.js";
48
+ import { mergeTaskWorktreeOutputSchemaV4 } from "./mergeTaskWorktree.js";
49
+ import { removeTaskWorktreeOutputSchemaV4 } from "./removeTaskWorktree.js";
50
+ import { semanticOutputSchema } from "./semantic.js";
51
+ export const CANONICAL_CODEXGPT_CHILD_TOOLS_V1 = CONTRACT_V1_CHILD_TOOLS;
52
+ export const CANONICAL_CODEXGPT_CHILD_TOOLS_V2 = CONTRACT_V2_CHILD_TOOLS;
53
+ export const CANONICAL_CODEXGPT_CHILD_TOOLS_V3 = CONTRACT_V3_CHILD_TOOLS;
54
+ export const CANONICAL_CODEXGPT_CHILD_TOOLS_V4 = CONTRACT_V4_CHILD_TOOLS;
55
+ export const CANONICAL_CODEXGPT_CHILD_TOOLS_V5 = CONTRACT_V5_CHILD_TOOLS;
56
+ export const CANONICAL_CODEXGPT_CHILD_TOOLS = CANONICAL_CODEXGPT_CHILD_TOOLS_V1;
57
+ export function canonicalCodexGPTChildTools(version) {
58
+ return canonicalToolsForVersion(version);
59
+ }
60
+ // Versioned contract helpers. The server contract selector remains the sole
61
+ // authority for which exact V1/V2/V3 child universe is publicly registered.
62
+ export const queryAuditEventsInputSchemaV2 = queryAuditEventsInputV2Schema;
63
+ export const queryAuditEventsOutputSchemaV2 = queryAuditEventsResultV2Schema;
64
+ export const undoChangeSetInputSchemaV2 = undoChangeSetInputV2Schema;
65
+ export const undoChangeSetOutputSchemaV2 = undoChangeSetOutputSchema;
66
+ export const queryAuditEventsInputSchemaV3 = queryAuditEventsInputV3Schema;
67
+ export const queryAuditEventsOutputSchemaV3 = queryAuditEventsResultV3Schema;
68
+ export const CODEXGPT_ADDITIONAL_OUTPUT_SCHEMAS_V2 = Object.freeze({
69
+ query_audit_events: queryAuditEventsOutputSchema,
70
+ undo_change_set: undoChangeSetOutputSchema,
71
+ move_paths: movePathsOutputSchema
72
+ });
73
+ export const CODEXGPT_ACTION_ALIASES = Object.freeze({
74
+ open: "open_current_workspace",
75
+ snapshot: "workspace_snapshot",
76
+ changes: "show_changes",
77
+ inventory: "codexgpt_inventory",
78
+ handoff_poll: "wait_for_handoff",
79
+ pro_export: "export_pro_context",
80
+ agent_handoff: "handoff_to_agent",
81
+ codex_handoff: "handoff_to_codex"
82
+ });
83
+ const canonicalToolSchema = z.enum(CANONICAL_CODEXGPT_CHILD_TOOLS);
84
+ const canonicalToolSet = new Set(CANONICAL_CODEXGPT_CHILD_TOOLS);
85
+ export const CODEXGPT_ERROR_MESSAGES = Object.freeze({
86
+ ACTION_NOT_AVAILABLE: "The requested CodexGPT action is not available.",
87
+ ACTION_ARGUMENTS_INVALID: "The requested CodexGPT action arguments are invalid.",
88
+ CHILD_RESULT_INVALID: "The wrapped tool returned an invalid structured result.",
89
+ INTERNAL_ERROR: "CodexGPT could not complete the requested action."
90
+ });
91
+ const safeActionSchema = z.string().min(1).max(160).refine((value) => !/[\r\n\u0000-\u001f\u007f]/.test(value), "Action must be one control-safe line.");
92
+ const actionNotAvailableErrorSchema = toolErrorSchema.extend({
93
+ code: z.literal("ACTION_NOT_AVAILABLE"),
94
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_NOT_AVAILABLE),
95
+ retryable: z.literal(false),
96
+ details: z.object({ action: safeActionSchema }).strict()
97
+ }).strict();
98
+ const actionArgumentsInvalidErrorSchema = toolErrorSchema.extend({
99
+ code: z.literal("ACTION_ARGUMENTS_INVALID"),
100
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_ARGUMENTS_INVALID),
101
+ retryable: z.literal(false),
102
+ details: z.object({
103
+ action: safeActionSchema,
104
+ wrapped_tool: canonicalToolSchema
105
+ }).strict()
106
+ }).strict();
107
+ const childResultInvalidErrorSchema = toolErrorSchema.extend({
108
+ code: z.literal("CHILD_RESULT_INVALID"),
109
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.CHILD_RESULT_INVALID),
110
+ retryable: z.literal(false),
111
+ details: z.object({
112
+ action: safeActionSchema,
113
+ wrapped_tool: canonicalToolSchema
114
+ }).strict()
115
+ }).strict();
116
+ const internalErrorSchema = toolErrorSchema.extend({
117
+ code: z.literal("INTERNAL_ERROR"),
118
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.INTERNAL_ERROR),
119
+ retryable: z.literal(false),
120
+ details: z.object({}).strict()
121
+ }).strict();
122
+ const codexgptErrorSchema = z.union([
123
+ actionNotAvailableErrorSchema,
124
+ actionArgumentsInvalidErrorSchema,
125
+ childResultInvalidErrorSchema,
126
+ internalErrorSchema
127
+ ]);
128
+ export const codexgptListActionsDataSchema = z.object({
129
+ actions: z.array(canonicalToolSchema),
130
+ action_count: z.number().int().nonnegative()
131
+ }).strict().superRefine((value, context) => {
132
+ if (value.action_count !== value.actions.length) {
133
+ context.addIssue({
134
+ code: z.ZodIssueCode.custom,
135
+ path: ["action_count"],
136
+ message: "action_count must equal actions.length."
137
+ });
138
+ }
139
+ if (new Set(value.actions).size !== value.actions.length) {
140
+ context.addIssue({
141
+ code: z.ZodIssueCode.custom,
142
+ path: ["actions"],
143
+ message: "actions must be unique."
144
+ });
145
+ }
146
+ const sorted = [...value.actions].sort();
147
+ if (sorted.some((action, index) => action !== value.actions[index])) {
148
+ context.addIssue({
149
+ code: z.ZodIssueCode.custom,
150
+ path: ["actions"],
151
+ message: "actions must be sorted."
152
+ });
153
+ }
154
+ });
155
+ const codexgptOwnedDataSchema = codexgptListActionsDataSchema;
156
+ export const codexgptOutputShape = {
157
+ codexgpt_tool: z.union([z.literal("codexgpt"), canonicalToolSchema]),
158
+ codexgpt_title: z.string().min(1),
159
+ ok: z.boolean(),
160
+ data: z.record(z.unknown()).nullable(),
161
+ error: z.union([codexgptErrorSchema, toolErrorSchema]).nullable(),
162
+ meta: toolMetaSchema,
163
+ codexgpt_super_action: safeActionSchema.optional(),
164
+ wrapped_tool: canonicalToolSchema.optional()
165
+ };
166
+ const codexgptOutputBaseSchema = z.object(codexgptOutputShape).strict();
167
+ const codexgptOwnedOutputSchema = z.object({
168
+ codexgpt_tool: z.literal("codexgpt"),
169
+ codexgpt_title: z.literal("CodexGPT"),
170
+ ok: z.boolean(),
171
+ data: codexgptOwnedDataSchema.nullable(),
172
+ error: codexgptErrorSchema.nullable(),
173
+ meta: toolMetaSchema
174
+ }).strict().superRefine((value, context) => {
175
+ if (value.ok) {
176
+ if (value.data === null) {
177
+ context.addIssue({
178
+ code: z.ZodIssueCode.custom,
179
+ path: ["data"],
180
+ message: "Successful codexgpt results require data."
181
+ });
182
+ }
183
+ if (value.error !== null) {
184
+ context.addIssue({
185
+ code: z.ZodIssueCode.custom,
186
+ path: ["error"],
187
+ message: "Successful codexgpt results require error to be null."
188
+ });
189
+ }
190
+ return;
191
+ }
192
+ if (value.data !== null) {
193
+ context.addIssue({
194
+ code: z.ZodIssueCode.custom,
195
+ path: ["data"],
196
+ message: "Failed codexgpt results require data to be null."
197
+ });
198
+ }
199
+ if (value.error === null) {
200
+ context.addIssue({
201
+ code: z.ZodIssueCode.custom,
202
+ path: ["error"],
203
+ message: "Failed codexgpt results require an error object."
204
+ });
205
+ }
206
+ });
207
+ const childOutputSchemas = {
208
+ apply_patch: applyPatchOutputSchema,
209
+ bash: bashOutputSchema,
210
+ codex_context: codexContextOutputSchema,
211
+ codexgpt_inventory: codexgptInventoryOutputSchema,
212
+ codexgpt_self_test: codexgptSelfTestOutputSchema,
213
+ codex_sessions: codexSessionsOutputSchema,
214
+ edit: editOutputSchema,
215
+ export_pro_context: exportProContextOutputSchema,
216
+ git_diff: gitDiffOutputSchema,
217
+ git_status: gitStatusOutputSchema,
218
+ handoff_to_agent: handoffToAgentOutputSchema,
219
+ handoff_to_codex: handoffToCodexOutputSchema,
220
+ inspect_workspace: inspectWorkspaceOutputSchema,
221
+ list_workspaces: listWorkspacesOutputSchema,
222
+ close_workspace: closeWorkspaceOutputSchema,
223
+ load_skill: loadSkillOutputSchema,
224
+ open_current_workspace: openCurrentWorkspaceOutputSchema,
225
+ open_workspace: openWorkspaceOutputSchema,
226
+ read: readOutputSchema,
227
+ read_codex_session: readCodexSessionOutputSchema,
228
+ read_handoff: readHandoffOutputSchema,
229
+ search: searchOutputSchema,
230
+ server_config: serverConfigOutputSchema,
231
+ show_changes: showChangesOutputSchema,
232
+ tree: treeOutputSchema,
233
+ wait_for_handoff: waitForHandoffOutputSchema,
234
+ workspace_snapshot: workspaceSnapshotOutputSchema,
235
+ write: writeOutputSchema
236
+ };
237
+ export const CODEXGPT_CHILD_OUTPUT_SCHEMAS = Object.freeze(childOutputSchemas);
238
+ function stripWrapperFields(value) {
239
+ const { codexgpt_super_action: _action, wrapped_tool: _wrappedTool, ...child } = value;
240
+ return child;
241
+ }
242
+ export function resolveCodexGPTAction(action) {
243
+ if (canonicalToolSet.has(action))
244
+ return action;
245
+ return CODEXGPT_ACTION_ALIASES[action] ?? null;
246
+ }
247
+ export const codexgptOutputSchema = codexgptOutputBaseSchema.superRefine((value, context) => {
248
+ if (value.codexgpt_tool === "codexgpt") {
249
+ const owned = codexgptOwnedOutputSchema.safeParse(value);
250
+ if (!owned.success) {
251
+ context.addIssue({
252
+ code: z.ZodIssueCode.custom,
253
+ message: "Invalid wrapper-owned codexgpt result."
254
+ });
255
+ }
256
+ return;
257
+ }
258
+ if (!value.codexgpt_super_action || !value.wrapped_tool) {
259
+ context.addIssue({
260
+ code: z.ZodIssueCode.custom,
261
+ message: "Wrapped child results require wrapper identity fields."
262
+ });
263
+ return;
264
+ }
265
+ if (value.codexgpt_tool !== value.wrapped_tool) {
266
+ context.addIssue({
267
+ code: z.ZodIssueCode.custom,
268
+ path: ["wrapped_tool"],
269
+ message: "wrapped_tool must equal codexgpt_tool."
270
+ });
271
+ return;
272
+ }
273
+ if (resolveCodexGPTAction(value.codexgpt_super_action) !== value.wrapped_tool) {
274
+ context.addIssue({
275
+ code: z.ZodIssueCode.custom,
276
+ path: ["codexgpt_super_action"],
277
+ message: "codexgpt_super_action must resolve to wrapped_tool."
278
+ });
279
+ return;
280
+ }
281
+ const childSchema = childOutputSchemas[value.wrapped_tool];
282
+ if (!childSchema.safeParse(stripWrapperFields(value)).success) {
283
+ context.addIssue({
284
+ code: z.ZodIssueCode.custom,
285
+ message: "Wrapped child result does not match its exact child schema."
286
+ });
287
+ }
288
+ });
289
+ function safePublicAction(value) {
290
+ const normalized = String(value ?? "")
291
+ .replace(/[\r\n\u0000-\u001f\u007f]+/g, " ")
292
+ .replace(/\s+/g, " ")
293
+ .trim()
294
+ .slice(0, 160);
295
+ return normalized || "invalid-action";
296
+ }
297
+ export function createCodexGPTListActionsSuccess(actions, durationMs = 0) {
298
+ const uniqueActions = [...new Set(actions)];
299
+ for (const action of uniqueActions) {
300
+ if (!canonicalToolSet.has(action)) {
301
+ throw new Error("Invalid canonical CodexGPT child action.");
302
+ }
303
+ }
304
+ uniqueActions.sort();
305
+ return codexgptOutputSchema.parse({
306
+ codexgpt_tool: "codexgpt",
307
+ codexgpt_title: "CodexGPT",
308
+ ok: true,
309
+ data: {
310
+ actions: uniqueActions,
311
+ action_count: uniqueActions.length
312
+ },
313
+ error: null,
314
+ meta: createToolMeta(durationMs)
315
+ });
316
+ }
317
+ export function createCodexGPTFailure(failure, durationMs = 0) {
318
+ const details = failure.code === "ACTION_NOT_AVAILABLE"
319
+ ? { action: safePublicAction(failure.details.action) }
320
+ : failure.code === "INTERNAL_ERROR"
321
+ ? {}
322
+ : {
323
+ action: safePublicAction(failure.details.action),
324
+ wrapped_tool: failure.details.wrapped_tool
325
+ };
326
+ return codexgptOutputSchema.parse({
327
+ codexgpt_tool: "codexgpt",
328
+ codexgpt_title: "CodexGPT",
329
+ ok: false,
330
+ data: null,
331
+ error: {
332
+ code: failure.code,
333
+ message: CODEXGPT_ERROR_MESSAGES[failure.code],
334
+ retryable: false,
335
+ details
336
+ },
337
+ meta: createToolMeta(durationMs)
338
+ });
339
+ }
340
+ export function wrapCodexGPTChildResult(action, wrappedTool, childStructuredContent) {
341
+ if (resolveCodexGPTAction(action) !== wrappedTool) {
342
+ throw new Error("CodexGPT action and wrapped tool do not match.");
343
+ }
344
+ if (!childStructuredContent || typeof childStructuredContent !== "object" || Array.isArray(childStructuredContent)) {
345
+ throw new Error("CodexGPT child structured result must be an object.");
346
+ }
347
+ const child = childStructuredContent;
348
+ if ("codexgpt_super_action" in child || "wrapped_tool" in child) {
349
+ throw new Error("CodexGPT child structured result already contains wrapper fields.");
350
+ }
351
+ const childSchema = childOutputSchemas[wrappedTool];
352
+ const parsedChild = childSchema.parse(child);
353
+ return codexgptOutputSchema.parse({
354
+ ...parsedChild,
355
+ codexgpt_super_action: safePublicAction(action),
356
+ wrapped_tool: wrappedTool
357
+ });
358
+ }
359
+ const canonicalToolSchemaV2 = z.enum(CANONICAL_CODEXGPT_CHILD_TOOLS_V2);
360
+ const canonicalToolSetV2 = new Set(CANONICAL_CODEXGPT_CHILD_TOOLS_V2);
361
+ const actionNotAvailableErrorSchemaV2 = toolErrorSchema.extend({
362
+ code: z.literal("ACTION_NOT_AVAILABLE"),
363
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_NOT_AVAILABLE),
364
+ retryable: z.literal(false),
365
+ details: z.object({ action: safeActionSchema }).strict()
366
+ }).strict();
367
+ const actionArgumentsInvalidErrorSchemaV2 = toolErrorSchema.extend({
368
+ code: z.literal("ACTION_ARGUMENTS_INVALID"),
369
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_ARGUMENTS_INVALID),
370
+ retryable: z.literal(false),
371
+ details: z.object({
372
+ action: safeActionSchema,
373
+ wrapped_tool: canonicalToolSchemaV2
374
+ }).strict()
375
+ }).strict();
376
+ const childResultInvalidErrorSchemaV2 = toolErrorSchema.extend({
377
+ code: z.literal("CHILD_RESULT_INVALID"),
378
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.CHILD_RESULT_INVALID),
379
+ retryable: z.literal(false),
380
+ details: z.object({
381
+ action: safeActionSchema,
382
+ wrapped_tool: canonicalToolSchemaV2
383
+ }).strict()
384
+ }).strict();
385
+ const codexgptErrorSchemaV2 = z.union([
386
+ actionNotAvailableErrorSchemaV2,
387
+ actionArgumentsInvalidErrorSchemaV2,
388
+ childResultInvalidErrorSchemaV2,
389
+ internalErrorSchema
390
+ ]);
391
+ const codexgptListActionsDataSchemaV2 = z.object({
392
+ actions: z.array(canonicalToolSchemaV2),
393
+ action_count: z.number().int().nonnegative()
394
+ }).strict().superRefine((value, context) => {
395
+ if (value.action_count !== value.actions.length) {
396
+ context.addIssue({
397
+ code: z.ZodIssueCode.custom,
398
+ path: ["action_count"],
399
+ message: "action_count must equal actions.length."
400
+ });
401
+ }
402
+ if (new Set(value.actions).size !== value.actions.length) {
403
+ context.addIssue({
404
+ code: z.ZodIssueCode.custom,
405
+ path: ["actions"],
406
+ message: "actions must be unique."
407
+ });
408
+ }
409
+ const sorted = [...value.actions].sort();
410
+ if (sorted.some((action, index) => action !== value.actions[index])) {
411
+ context.addIssue({
412
+ code: z.ZodIssueCode.custom,
413
+ path: ["actions"],
414
+ message: "actions must be sorted."
415
+ });
416
+ }
417
+ });
418
+ const codexgptOwnedOutputSchemaV2 = z.object({
419
+ codexgpt_tool: z.literal("codexgpt"),
420
+ codexgpt_title: z.literal("CodexGPT"),
421
+ ok: z.boolean(),
422
+ data: codexgptListActionsDataSchemaV2.nullable(),
423
+ error: codexgptErrorSchemaV2.nullable(),
424
+ meta: toolMetaSchema
425
+ }).strict().superRefine((value, context) => {
426
+ if (value.ok) {
427
+ if (value.data === null) {
428
+ context.addIssue({
429
+ code: z.ZodIssueCode.custom,
430
+ path: ["data"],
431
+ message: "Successful codexgpt results require data."
432
+ });
433
+ }
434
+ if (value.error !== null) {
435
+ context.addIssue({
436
+ code: z.ZodIssueCode.custom,
437
+ path: ["error"],
438
+ message: "Successful codexgpt results require error to be null."
439
+ });
440
+ }
441
+ return;
442
+ }
443
+ if (value.data !== null) {
444
+ context.addIssue({
445
+ code: z.ZodIssueCode.custom,
446
+ path: ["data"],
447
+ message: "Failed codexgpt results require data to be null."
448
+ });
449
+ }
450
+ if (value.error === null) {
451
+ context.addIssue({
452
+ code: z.ZodIssueCode.custom,
453
+ path: ["error"],
454
+ message: "Failed codexgpt results require an error object."
455
+ });
456
+ }
457
+ });
458
+ const childOutputSchemasV2 = {
459
+ ...childOutputSchemas,
460
+ write: writeOutputSchemaV2,
461
+ edit: editOutputSchemaV2,
462
+ apply_patch: applyPatchOutputSchemaV2,
463
+ ...CODEXGPT_ADDITIONAL_OUTPUT_SCHEMAS_V2
464
+ };
465
+ export const CODEXGPT_CHILD_OUTPUT_SCHEMAS_V2 = Object.freeze(childOutputSchemasV2);
466
+ export function resolveCodexGPTActionV2(action) {
467
+ if (canonicalToolSetV2.has(action))
468
+ return action;
469
+ return CODEXGPT_ACTION_ALIASES[action] ?? null;
470
+ }
471
+ export const codexgptOutputShapeV2 = {
472
+ codexgpt_tool: z.union([z.literal("codexgpt"), canonicalToolSchemaV2]),
473
+ codexgpt_title: z.string().min(1),
474
+ ok: z.boolean(),
475
+ data: z.record(z.unknown()).nullable(),
476
+ error: z.union([codexgptErrorSchemaV2, toolErrorSchema]).nullable(),
477
+ meta: toolMetaSchema,
478
+ codexgpt_super_action: safeActionSchema.optional(),
479
+ wrapped_tool: canonicalToolSchemaV2.optional()
480
+ };
481
+ const codexgptOutputBaseSchemaV2 = z.object(codexgptOutputShapeV2).strict();
482
+ export const codexgptOutputSchemaV2 = codexgptOutputBaseSchemaV2.superRefine((value, context) => {
483
+ if (value.codexgpt_tool === "codexgpt") {
484
+ if (!codexgptOwnedOutputSchemaV2.safeParse(value).success) {
485
+ context.addIssue({
486
+ code: z.ZodIssueCode.custom,
487
+ message: "Invalid wrapper-owned codexgpt V2 result."
488
+ });
489
+ }
490
+ return;
491
+ }
492
+ if (!value.codexgpt_super_action || !value.wrapped_tool) {
493
+ context.addIssue({
494
+ code: z.ZodIssueCode.custom,
495
+ message: "Wrapped V2 child results require wrapper identity fields."
496
+ });
497
+ return;
498
+ }
499
+ if (value.codexgpt_tool !== value.wrapped_tool) {
500
+ context.addIssue({
501
+ code: z.ZodIssueCode.custom,
502
+ path: ["wrapped_tool"],
503
+ message: "wrapped_tool must equal codexgpt_tool."
504
+ });
505
+ return;
506
+ }
507
+ if (resolveCodexGPTActionV2(value.codexgpt_super_action) !== value.wrapped_tool) {
508
+ context.addIssue({
509
+ code: z.ZodIssueCode.custom,
510
+ path: ["codexgpt_super_action"],
511
+ message: "codexgpt_super_action must resolve to wrapped_tool."
512
+ });
513
+ return;
514
+ }
515
+ const child = stripWrapperFields(value);
516
+ const schema = childOutputSchemasV2[value.wrapped_tool];
517
+ if (!schema.safeParse(child).success) {
518
+ context.addIssue({
519
+ code: z.ZodIssueCode.custom,
520
+ message: "Wrapped child result does not match its exact child schema."
521
+ });
522
+ }
523
+ });
524
+ export function createCodexGPTListActionsSuccessV2(actions, durationMs = 0) {
525
+ const uniqueActions = [...new Set(actions)];
526
+ for (const action of uniqueActions) {
527
+ if (!canonicalToolSetV2.has(action)) {
528
+ throw new Error("Invalid canonical CodexGPT V2 child action.");
529
+ }
530
+ }
531
+ uniqueActions.sort();
532
+ return codexgptOwnedOutputSchemaV2.parse({
533
+ codexgpt_tool: "codexgpt",
534
+ codexgpt_title: "CodexGPT",
535
+ ok: true,
536
+ data: {
537
+ actions: uniqueActions,
538
+ action_count: uniqueActions.length
539
+ },
540
+ error: null,
541
+ meta: createToolMeta(durationMs)
542
+ });
543
+ }
544
+ export function createCodexGPTFailureV2(failure, durationMs = 0) {
545
+ const details = failure.code === "ACTION_NOT_AVAILABLE"
546
+ ? { action: safePublicAction(failure.details.action) }
547
+ : failure.code === "INTERNAL_ERROR"
548
+ ? {}
549
+ : {
550
+ action: safePublicAction(failure.details.action),
551
+ wrapped_tool: failure.details.wrapped_tool
552
+ };
553
+ return codexgptOwnedOutputSchemaV2.parse({
554
+ codexgpt_tool: "codexgpt",
555
+ codexgpt_title: "CodexGPT",
556
+ ok: false,
557
+ data: null,
558
+ error: {
559
+ code: failure.code,
560
+ message: CODEXGPT_ERROR_MESSAGES[failure.code],
561
+ retryable: false,
562
+ details
563
+ },
564
+ meta: createToolMeta(durationMs)
565
+ });
566
+ }
567
+ export function wrapCodexGPTChildResultV2(action, wrappedTool, childStructuredContent) {
568
+ if (resolveCodexGPTActionV2(action) !== wrappedTool) {
569
+ throw new Error("CodexGPT V2 action and wrapped tool do not match.");
570
+ }
571
+ if (!childStructuredContent || typeof childStructuredContent !== "object" || Array.isArray(childStructuredContent)) {
572
+ throw new Error("CodexGPT V2 child structured result must be an object.");
573
+ }
574
+ const child = childStructuredContent;
575
+ if ("codexgpt_super_action" in child || "wrapped_tool" in child) {
576
+ throw new Error("CodexGPT V2 child structured result already contains wrapper fields.");
577
+ }
578
+ const parsedChild = childOutputSchemasV2[wrappedTool].parse(child);
579
+ return codexgptOutputSchemaV2.parse({
580
+ ...parsedChild,
581
+ codexgpt_super_action: safePublicAction(action),
582
+ wrapped_tool: wrappedTool
583
+ });
584
+ }
585
+ const canonicalToolSchemaV3 = z.enum([...CANONICAL_CODEXGPT_CHILD_TOOLS_V3]);
586
+ const canonicalToolSetV3 = new Set(CANONICAL_CODEXGPT_CHILD_TOOLS_V3);
587
+ const childOutputSchemasV3 = Object.fromEntries([
588
+ ...Object.entries(childOutputSchemasV2).filter(([name]) => name !== "bash"),
589
+ ["query_audit_events", queryAuditEventsToolOutputSchemaV3],
590
+ ["open_full_access_workspace", openFullAccessWorkspaceOutputSchema],
591
+ ...Object.entries(EXECUTION_OUTPUT_SCHEMAS)
592
+ ]);
593
+ export const CODEXGPT_CHILD_OUTPUT_SCHEMAS_V3 = Object.freeze(childOutputSchemasV3);
594
+ export function resolveCodexGPTActionV3(action) {
595
+ if (canonicalToolSetV3.has(action))
596
+ return action;
597
+ const alias = CODEXGPT_ACTION_ALIASES[action];
598
+ return alias && canonicalToolSetV3.has(alias) ? alias : null;
599
+ }
600
+ const actionNotAvailableErrorSchemaV3 = toolErrorSchema.extend({
601
+ code: z.literal("ACTION_NOT_AVAILABLE"),
602
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_NOT_AVAILABLE),
603
+ retryable: z.literal(false),
604
+ details: z.object({ action: safeActionSchema }).strict()
605
+ }).strict();
606
+ const actionArgumentsInvalidErrorSchemaV3 = toolErrorSchema.extend({
607
+ code: z.literal("ACTION_ARGUMENTS_INVALID"),
608
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_ARGUMENTS_INVALID),
609
+ retryable: z.literal(false),
610
+ details: z.object({
611
+ action: safeActionSchema,
612
+ wrapped_tool: canonicalToolSchemaV3
613
+ }).strict()
614
+ }).strict();
615
+ const childResultInvalidErrorSchemaV3 = toolErrorSchema.extend({
616
+ code: z.literal("CHILD_RESULT_INVALID"),
617
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.CHILD_RESULT_INVALID),
618
+ retryable: z.literal(false),
619
+ details: z.object({
620
+ action: safeActionSchema,
621
+ wrapped_tool: canonicalToolSchemaV3
622
+ }).strict()
623
+ }).strict();
624
+ const codexgptErrorSchemaV3 = z.union([
625
+ actionNotAvailableErrorSchemaV3,
626
+ actionArgumentsInvalidErrorSchemaV3,
627
+ childResultInvalidErrorSchemaV3,
628
+ internalErrorSchema
629
+ ]);
630
+ const codexgptListActionsDataSchemaV3 = z.object({
631
+ actions: z.array(canonicalToolSchemaV3),
632
+ action_count: z.number().int().nonnegative()
633
+ }).strict().superRefine((value, context) => {
634
+ if (value.action_count !== value.actions.length) {
635
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["action_count"], message: "action_count must equal actions.length." });
636
+ }
637
+ if (new Set(value.actions).size !== value.actions.length) {
638
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["actions"], message: "actions must be unique." });
639
+ }
640
+ const sorted = [...value.actions].sort();
641
+ if (sorted.some((action, index) => action !== value.actions[index])) {
642
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["actions"], message: "actions must be sorted." });
643
+ }
644
+ });
645
+ const codexgptOwnedOutputSchemaV3 = z.object({
646
+ codexgpt_tool: z.literal("codexgpt"),
647
+ codexgpt_title: z.literal("CodexGPT"),
648
+ ok: z.boolean(),
649
+ data: codexgptListActionsDataSchemaV3.nullable(),
650
+ error: codexgptErrorSchemaV3.nullable(),
651
+ meta: toolMetaSchema
652
+ }).strict().superRefine((value, context) => {
653
+ if (value.ok && (value.data === null || value.error !== null)) {
654
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Successful CodexGPT V3 results require data and no error." });
655
+ }
656
+ if (!value.ok && (value.data !== null || value.error === null)) {
657
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Failed CodexGPT V3 results require an error and no data." });
658
+ }
659
+ });
660
+ export const codexgptOutputShapeV3 = {
661
+ codexgpt_tool: z.union([z.literal("codexgpt"), canonicalToolSchemaV3]),
662
+ codexgpt_title: z.string().min(1),
663
+ ok: z.boolean(),
664
+ data: z.record(z.unknown()).nullable(),
665
+ error: z.union([codexgptErrorSchemaV3, toolErrorSchema]).nullable(),
666
+ meta: toolMetaSchema,
667
+ codexgpt_super_action: safeActionSchema.optional(),
668
+ wrapped_tool: canonicalToolSchemaV3.optional()
669
+ };
670
+ const codexgptOutputBaseSchemaV3 = z.object(codexgptOutputShapeV3).strict();
671
+ export const codexgptOutputSchemaV3 = codexgptOutputBaseSchemaV3.superRefine((value, context) => {
672
+ if (value.codexgpt_tool === "codexgpt") {
673
+ if (!codexgptOwnedOutputSchemaV3.safeParse(value).success) {
674
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Invalid wrapper-owned CodexGPT V3 result." });
675
+ }
676
+ return;
677
+ }
678
+ if (!value.codexgpt_super_action || !value.wrapped_tool) {
679
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Wrapped V3 child results require wrapper identity fields." });
680
+ return;
681
+ }
682
+ if (value.codexgpt_tool !== value.wrapped_tool ||
683
+ resolveCodexGPTActionV3(value.codexgpt_super_action) !== value.wrapped_tool) {
684
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "CodexGPT V3 action and wrapped tool do not match." });
685
+ return;
686
+ }
687
+ if (!childOutputSchemasV3[value.wrapped_tool].safeParse(stripWrapperFields(value)).success) {
688
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Wrapped V3 child result does not match its exact child schema." });
689
+ }
690
+ });
691
+ export function createCodexGPTListActionsSuccessV3(actions, durationMs = 0) {
692
+ const uniqueActions = [...new Set(actions)];
693
+ for (const action of uniqueActions) {
694
+ if (!canonicalToolSetV3.has(action))
695
+ throw new Error("Invalid canonical CodexGPT V3 child action.");
696
+ }
697
+ uniqueActions.sort();
698
+ return codexgptOwnedOutputSchemaV3.parse({
699
+ codexgpt_tool: "codexgpt",
700
+ codexgpt_title: "CodexGPT",
701
+ ok: true,
702
+ data: { actions: uniqueActions, action_count: uniqueActions.length },
703
+ error: null,
704
+ meta: createToolMeta(durationMs)
705
+ });
706
+ }
707
+ export function createCodexGPTFailureV3(failure, durationMs = 0) {
708
+ const details = failure.code === "ACTION_NOT_AVAILABLE"
709
+ ? { action: safePublicAction(failure.details.action) }
710
+ : failure.code === "INTERNAL_ERROR"
711
+ ? {}
712
+ : { action: safePublicAction(failure.details.action), wrapped_tool: failure.details.wrapped_tool };
713
+ return codexgptOwnedOutputSchemaV3.parse({
714
+ codexgpt_tool: "codexgpt",
715
+ codexgpt_title: "CodexGPT",
716
+ ok: false,
717
+ data: null,
718
+ error: {
719
+ code: failure.code,
720
+ message: CODEXGPT_ERROR_MESSAGES[failure.code],
721
+ retryable: false,
722
+ details
723
+ },
724
+ meta: createToolMeta(durationMs)
725
+ });
726
+ }
727
+ export function wrapCodexGPTChildResultV3(action, wrappedTool, childStructuredContent) {
728
+ if (resolveCodexGPTActionV3(action) !== wrappedTool) {
729
+ throw new Error("CodexGPT V3 action and wrapped tool do not match.");
730
+ }
731
+ if (!childStructuredContent || typeof childStructuredContent !== "object" || Array.isArray(childStructuredContent)) {
732
+ throw new Error("CodexGPT V3 child structured result must be an object.");
733
+ }
734
+ const child = childStructuredContent;
735
+ if ("codexgpt_super_action" in child || "wrapped_tool" in child) {
736
+ throw new Error("CodexGPT V3 child structured result already contains wrapper fields.");
737
+ }
738
+ const parsedChild = childOutputSchemasV3[wrappedTool].parse(child);
739
+ return codexgptOutputSchemaV3.parse({
740
+ ...parsedChild,
741
+ codexgpt_super_action: safePublicAction(action),
742
+ wrapped_tool: wrappedTool
743
+ });
744
+ }
745
+ const canonicalToolSchemaV4 = z.enum([...CANONICAL_CODEXGPT_CHILD_TOOLS_V4]);
746
+ const canonicalToolSetV4 = new Set(CANONICAL_CODEXGPT_CHILD_TOOLS_V4);
747
+ const childOutputSchemasV4 = Object.freeze({
748
+ ...childOutputSchemasV3,
749
+ run_command: EXECUTION_OUTPUT_SCHEMAS_V4.run_command,
750
+ read_process_output: EXECUTION_OUTPUT_SCHEMAS_V4.read_process_output,
751
+ git_status: gitStatusOutputSchemaV4,
752
+ git_diff: gitDiffOutputSchemaV4,
753
+ query_audit_events: queryAuditEventsToolOutputSchemaV4,
754
+ git_log: gitLogOutputSchemaV4,
755
+ git_branch: gitBranchOutputSchemaV4,
756
+ git_create_branch: gitCreateBranchOutputSchemaV4,
757
+ git_stage: gitStageOutputSchemaV4,
758
+ git_commit: gitCommitOutputSchemaV4,
759
+ git_restore: gitRestoreOutputSchemaV4,
760
+ git_stash: gitStashOutputSchemaV4,
761
+ create_task_worktree: createTaskWorktreeOutputSchemaV4,
762
+ list_task_worktrees: listTaskWorktreesOutputSchemaV4,
763
+ get_task_worktree: getTaskWorktreeOutputSchemaV4,
764
+ merge_task_worktree: mergeTaskWorktreeOutputSchemaV4,
765
+ remove_task_worktree: removeTaskWorktreeOutputSchemaV4
766
+ });
767
+ export const CODEXGPT_CHILD_OUTPUT_SCHEMAS_V4 = childOutputSchemasV4;
768
+ export function resolveCodexGPTActionV4(action) {
769
+ if (canonicalToolSetV4.has(action))
770
+ return action;
771
+ const alias = CODEXGPT_ACTION_ALIASES[action];
772
+ return alias && canonicalToolSetV4.has(alias) ? alias : null;
773
+ }
774
+ const actionNotAvailableErrorSchemaV4 = toolErrorSchema.extend({
775
+ code: z.literal("ACTION_NOT_AVAILABLE"),
776
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_NOT_AVAILABLE),
777
+ retryable: z.literal(false),
778
+ details: z.object({ action: safeActionSchema }).strict()
779
+ }).strict();
780
+ const actionArgumentsInvalidErrorSchemaV4 = toolErrorSchema.extend({
781
+ code: z.literal("ACTION_ARGUMENTS_INVALID"),
782
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_ARGUMENTS_INVALID),
783
+ retryable: z.literal(false),
784
+ details: z.object({
785
+ action: safeActionSchema,
786
+ wrapped_tool: canonicalToolSchemaV4
787
+ }).strict()
788
+ }).strict();
789
+ const childResultInvalidErrorSchemaV4 = toolErrorSchema.extend({
790
+ code: z.literal("CHILD_RESULT_INVALID"),
791
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.CHILD_RESULT_INVALID),
792
+ retryable: z.literal(false),
793
+ details: z.object({
794
+ action: safeActionSchema,
795
+ wrapped_tool: canonicalToolSchemaV4
796
+ }).strict()
797
+ }).strict();
798
+ const codexgptErrorSchemaV4 = z.union([
799
+ actionNotAvailableErrorSchemaV4,
800
+ actionArgumentsInvalidErrorSchemaV4,
801
+ childResultInvalidErrorSchemaV4,
802
+ internalErrorSchema
803
+ ]);
804
+ const codexgptListActionsDataSchemaV4 = z.object({
805
+ actions: z.array(canonicalToolSchemaV4),
806
+ action_count: z.number().int().nonnegative()
807
+ }).strict().superRefine((value, context) => {
808
+ if (value.action_count !== value.actions.length) {
809
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["action_count"], message: "action_count must equal actions.length." });
810
+ }
811
+ if (new Set(value.actions).size !== value.actions.length) {
812
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["actions"], message: "actions must be unique." });
813
+ }
814
+ const sorted = [...value.actions].sort();
815
+ if (sorted.some((action, index) => action !== value.actions[index])) {
816
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["actions"], message: "actions must be sorted." });
817
+ }
818
+ });
819
+ const codexgptOwnedOutputSchemaV4 = z.object({
820
+ codexgpt_tool: z.literal("codexgpt"),
821
+ codexgpt_title: z.literal("CodexGPT"),
822
+ ok: z.boolean(),
823
+ data: codexgptListActionsDataSchemaV4.nullable(),
824
+ error: codexgptErrorSchemaV4.nullable(),
825
+ meta: toolMetaSchema
826
+ }).strict().superRefine((value, context) => {
827
+ if (value.ok && (value.data === null || value.error !== null)) {
828
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Successful CodexGPT V4 results require data and no error." });
829
+ }
830
+ if (!value.ok && (value.data !== null || value.error === null)) {
831
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Failed CodexGPT V4 results require an error and no data." });
832
+ }
833
+ });
834
+ export const codexgptOutputShapeV4 = {
835
+ codexgpt_tool: z.union([z.literal("codexgpt"), canonicalToolSchemaV4]),
836
+ codexgpt_title: z.string().min(1),
837
+ ok: z.boolean(),
838
+ data: z.record(z.unknown()).nullable(),
839
+ error: z.union([codexgptErrorSchemaV4, toolErrorSchema]).nullable(),
840
+ meta: toolMetaSchema,
841
+ codexgpt_super_action: safeActionSchema.optional(),
842
+ wrapped_tool: canonicalToolSchemaV4.optional()
843
+ };
844
+ const codexgptOutputBaseSchemaV4 = z.object(codexgptOutputShapeV4).strict();
845
+ export const codexgptOutputSchemaV4 = codexgptOutputBaseSchemaV4.superRefine((value, context) => {
846
+ if (value.codexgpt_tool === "codexgpt") {
847
+ if (!codexgptOwnedOutputSchemaV4.safeParse(value).success) {
848
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Invalid wrapper-owned CodexGPT V4 result." });
849
+ }
850
+ return;
851
+ }
852
+ if (!value.codexgpt_super_action || !value.wrapped_tool) {
853
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Wrapped V4 child results require wrapper identity fields." });
854
+ return;
855
+ }
856
+ if (value.codexgpt_tool !== value.wrapped_tool ||
857
+ resolveCodexGPTActionV4(value.codexgpt_super_action) !== value.wrapped_tool) {
858
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "CodexGPT V4 action and wrapped tool do not match." });
859
+ return;
860
+ }
861
+ if (!childOutputSchemasV4[value.wrapped_tool].safeParse(stripWrapperFields(value)).success) {
862
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Wrapped V4 child result does not match its exact child schema." });
863
+ }
864
+ });
865
+ export function createCodexGPTListActionsSuccessV4(actions, durationMs = 0) {
866
+ const uniqueActions = [...new Set(actions)];
867
+ for (const action of uniqueActions) {
868
+ if (!canonicalToolSetV4.has(action))
869
+ throw new Error("Invalid canonical CodexGPT V4 child action.");
870
+ }
871
+ uniqueActions.sort();
872
+ return codexgptOwnedOutputSchemaV4.parse({
873
+ codexgpt_tool: "codexgpt",
874
+ codexgpt_title: "CodexGPT",
875
+ ok: true,
876
+ data: { actions: uniqueActions, action_count: uniqueActions.length },
877
+ error: null,
878
+ meta: createToolMeta(durationMs)
879
+ });
880
+ }
881
+ export function createCodexGPTFailureV4(failure, durationMs = 0) {
882
+ const details = failure.code === "ACTION_NOT_AVAILABLE"
883
+ ? { action: safePublicAction(failure.details.action) }
884
+ : failure.code === "INTERNAL_ERROR"
885
+ ? {}
886
+ : { action: safePublicAction(failure.details.action), wrapped_tool: failure.details.wrapped_tool };
887
+ return codexgptOwnedOutputSchemaV4.parse({
888
+ codexgpt_tool: "codexgpt",
889
+ codexgpt_title: "CodexGPT",
890
+ ok: false,
891
+ data: null,
892
+ error: {
893
+ code: failure.code,
894
+ message: CODEXGPT_ERROR_MESSAGES[failure.code],
895
+ retryable: false,
896
+ details
897
+ },
898
+ meta: createToolMeta(durationMs)
899
+ });
900
+ }
901
+ export function wrapCodexGPTChildResultV4(action, wrappedTool, childStructuredContent) {
902
+ if (resolveCodexGPTActionV4(action) !== wrappedTool) {
903
+ throw new Error("CodexGPT V4 action and wrapped tool do not match.");
904
+ }
905
+ if (!childStructuredContent || typeof childStructuredContent !== "object" || Array.isArray(childStructuredContent)) {
906
+ throw new Error("CodexGPT V4 child structured result must be an object.");
907
+ }
908
+ const child = childStructuredContent;
909
+ if ("codexgpt_super_action" in child || "wrapped_tool" in child) {
910
+ throw new Error("CodexGPT V4 child structured result already contains wrapper fields.");
911
+ }
912
+ const parsedChild = childOutputSchemasV4[wrappedTool].parse(child);
913
+ return codexgptOutputSchemaV4.parse({
914
+ ...parsedChild,
915
+ codexgpt_super_action: safePublicAction(action),
916
+ wrapped_tool: wrappedTool
917
+ });
918
+ }
919
+ const canonicalToolSchemaV5 = z.enum([...CANONICAL_CODEXGPT_CHILD_TOOLS_V5]);
920
+ const canonicalToolSetV5 = new Set(CANONICAL_CODEXGPT_CHILD_TOOLS_V5);
921
+ const childOutputSchemasV5 = Object.freeze({
922
+ ...childOutputSchemasV4,
923
+ semantic: semanticOutputSchema
924
+ });
925
+ export const CODEXGPT_CHILD_OUTPUT_SCHEMAS_V5 = childOutputSchemasV5;
926
+ export function resolveCodexGPTActionV5(action) {
927
+ if (canonicalToolSetV5.has(action))
928
+ return action;
929
+ const alias = CODEXGPT_ACTION_ALIASES[action];
930
+ return alias && canonicalToolSetV5.has(alias) ? alias : null;
931
+ }
932
+ const codexgptErrorSchemaV5 = z.union([
933
+ toolErrorSchema.extend({
934
+ code: z.literal("ACTION_NOT_AVAILABLE"),
935
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_NOT_AVAILABLE),
936
+ retryable: z.literal(false),
937
+ details: z.object({ action: safeActionSchema }).strict()
938
+ }).strict(),
939
+ toolErrorSchema.extend({
940
+ code: z.literal("ACTION_ARGUMENTS_INVALID"),
941
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.ACTION_ARGUMENTS_INVALID),
942
+ retryable: z.literal(false),
943
+ details: z.object({ action: safeActionSchema, wrapped_tool: canonicalToolSchemaV5 }).strict()
944
+ }).strict(),
945
+ toolErrorSchema.extend({
946
+ code: z.literal("CHILD_RESULT_INVALID"),
947
+ message: z.literal(CODEXGPT_ERROR_MESSAGES.CHILD_RESULT_INVALID),
948
+ retryable: z.literal(false),
949
+ details: z.object({ action: safeActionSchema, wrapped_tool: canonicalToolSchemaV5 }).strict()
950
+ }).strict(),
951
+ internalErrorSchema
952
+ ]);
953
+ const codexgptListActionsDataSchemaV5 = z.object({
954
+ actions: z.array(canonicalToolSchemaV5),
955
+ action_count: z.number().int().nonnegative()
956
+ }).strict().superRefine((value, context) => {
957
+ if (value.action_count !== value.actions.length) {
958
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["action_count"], message: "action_count must equal actions.length." });
959
+ }
960
+ if (new Set(value.actions).size !== value.actions.length) {
961
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["actions"], message: "actions must be unique." });
962
+ }
963
+ const sorted = [...value.actions].sort();
964
+ if (sorted.some((action, index) => action !== value.actions[index])) {
965
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["actions"], message: "actions must be sorted." });
966
+ }
967
+ });
968
+ const codexgptOwnedOutputSchemaV5 = z.object({
969
+ codexgpt_tool: z.literal("codexgpt"),
970
+ codexgpt_title: z.literal("CodexGPT"),
971
+ ok: z.boolean(),
972
+ data: codexgptListActionsDataSchemaV5.nullable(),
973
+ error: codexgptErrorSchemaV5.nullable(),
974
+ meta: toolMetaSchema
975
+ }).strict().superRefine((value, context) => {
976
+ if (value.ok && (value.data === null || value.error !== null)) {
977
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Successful CodexGPT V5 results require data and no error." });
978
+ }
979
+ if (!value.ok && (value.data !== null || value.error === null)) {
980
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Failed CodexGPT V5 results require an error and no data." });
981
+ }
982
+ });
983
+ export const codexgptOutputShapeV5 = {
984
+ codexgpt_tool: z.union([z.literal("codexgpt"), canonicalToolSchemaV5]),
985
+ codexgpt_title: z.string().min(1),
986
+ ok: z.boolean(),
987
+ data: z.record(z.unknown()).nullable(),
988
+ error: z.union([codexgptErrorSchemaV5, toolErrorSchema]).nullable(),
989
+ meta: toolMetaSchema,
990
+ codexgpt_super_action: safeActionSchema.optional(),
991
+ wrapped_tool: canonicalToolSchemaV5.optional()
992
+ };
993
+ const codexgptOutputBaseSchemaV5 = z.object(codexgptOutputShapeV5).strict();
994
+ export const codexgptOutputSchemaV5 = codexgptOutputBaseSchemaV5.superRefine((value, context) => {
995
+ if (value.codexgpt_tool === "codexgpt") {
996
+ if (!codexgptOwnedOutputSchemaV5.safeParse(value).success) {
997
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Invalid wrapper-owned CodexGPT V5 result." });
998
+ }
999
+ return;
1000
+ }
1001
+ if (!value.codexgpt_super_action || !value.wrapped_tool) {
1002
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Wrapped V5 child results require wrapper identity fields." });
1003
+ return;
1004
+ }
1005
+ if (value.codexgpt_tool !== value.wrapped_tool ||
1006
+ resolveCodexGPTActionV5(value.codexgpt_super_action) !== value.wrapped_tool) {
1007
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "CodexGPT V5 action and wrapped tool do not match." });
1008
+ return;
1009
+ }
1010
+ if (!childOutputSchemasV5[value.wrapped_tool].safeParse(stripWrapperFields(value)).success) {
1011
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Wrapped V5 child result does not match its exact child schema." });
1012
+ }
1013
+ });
1014
+ export function createCodexGPTListActionsSuccessV5(actions, durationMs = 0) {
1015
+ const uniqueActions = [...new Set(actions)];
1016
+ for (const action of uniqueActions) {
1017
+ if (!canonicalToolSetV5.has(action))
1018
+ throw new Error("Invalid canonical CodexGPT V5 child action.");
1019
+ }
1020
+ uniqueActions.sort();
1021
+ return codexgptOwnedOutputSchemaV5.parse({
1022
+ codexgpt_tool: "codexgpt",
1023
+ codexgpt_title: "CodexGPT",
1024
+ ok: true,
1025
+ data: { actions: uniqueActions, action_count: uniqueActions.length },
1026
+ error: null,
1027
+ meta: createToolMeta(durationMs)
1028
+ });
1029
+ }
1030
+ export function createCodexGPTFailureV5(failure, durationMs = 0) {
1031
+ const details = failure.code === "ACTION_NOT_AVAILABLE"
1032
+ ? { action: safePublicAction(failure.details.action) }
1033
+ : failure.code === "INTERNAL_ERROR"
1034
+ ? {}
1035
+ : { action: safePublicAction(failure.details.action), wrapped_tool: failure.details.wrapped_tool };
1036
+ return codexgptOwnedOutputSchemaV5.parse({
1037
+ codexgpt_tool: "codexgpt",
1038
+ codexgpt_title: "CodexGPT",
1039
+ ok: false,
1040
+ data: null,
1041
+ error: {
1042
+ code: failure.code,
1043
+ message: CODEXGPT_ERROR_MESSAGES[failure.code],
1044
+ retryable: false,
1045
+ details
1046
+ },
1047
+ meta: createToolMeta(durationMs)
1048
+ });
1049
+ }
1050
+ export function wrapCodexGPTChildResultV5(action, wrappedTool, childStructuredContent) {
1051
+ if (resolveCodexGPTActionV5(action) !== wrappedTool) {
1052
+ throw new Error("CodexGPT V5 action and wrapped tool do not match.");
1053
+ }
1054
+ if (!childStructuredContent || typeof childStructuredContent !== "object" || Array.isArray(childStructuredContent)) {
1055
+ throw new Error("CodexGPT V5 child structured result must be an object.");
1056
+ }
1057
+ const child = childStructuredContent;
1058
+ if ("codexgpt_super_action" in child || "wrapped_tool" in child) {
1059
+ throw new Error("CodexGPT V5 child structured result already contains wrapper fields.");
1060
+ }
1061
+ const parsedChild = childOutputSchemasV5[wrappedTool].parse(child);
1062
+ return codexgptOutputSchemaV5.parse({
1063
+ ...parsedChild,
1064
+ codexgpt_super_action: safePublicAction(action),
1065
+ wrapped_tool: wrappedTool
1066
+ });
1067
+ }
1068
+ //# sourceMappingURL=codexgpt.js.map