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,321 @@
1
+ import { z } from "zod";
2
+ import { createToolMeta, toolMetaSchema } from "./common.js";
3
+ import { transactionResultV2Schema } from "./transactionResult.js";
4
+ export const EDIT_ERROR_MESSAGES = {
5
+ WORKSPACE_NOT_FOUND: "The requested workspace is not available. Open the workspace before retrying.",
6
+ PATH_OUTSIDE_WORKSPACE: "The requested path is outside the permitted workspace boundary.",
7
+ PATH_BLOCKED: "The requested path is blocked by safety rules, including unsafe symlink targets.",
8
+ FILE_NOT_FOUND: "The requested file does not exist.",
9
+ NOT_A_FILE: "The requested path is not a regular file.",
10
+ FILE_NOT_TEXT: "The requested file is not supported as a text file.",
11
+ FILE_TOO_LARGE: "The requested edit exceeds the configured file-size limit.",
12
+ INVALID_ARGUMENT: "The requested edit contains an invalid argument.",
13
+ OLD_TEXT_NOT_FOUND: "The requested old_text was not found in the file.",
14
+ OLD_TEXT_NOT_UNIQUE: "The requested old_text matched more than once. Use a more specific old_text or enable replace_all.",
15
+ REPLACEMENT_COUNT_MISMATCH: "The requested replacement count did not match the number of replacements that would be performed.",
16
+ SECRET_CONTENT_BLOCKED: "Secret-looking content is blocked because the edited file appears to contain a secret value.",
17
+ EDIT_FAILED: "The file could not be edited by the operating system.",
18
+ INTERNAL_ERROR: "The file could not be edited because of an internal error."
19
+ };
20
+ export const editDataSchema = z.object({
21
+ workspace_id: z.string().min(1),
22
+ root: z.string(),
23
+ path: z.string().min(1),
24
+ replacements: z.number().int().positive(),
25
+ bytes: z.number().int().nonnegative(),
26
+ sha256: z.string().regex(/^[a-f0-9]{64}$/),
27
+ additions: z.number().int().nonnegative(),
28
+ deletions: z.number().int().nonnegative(),
29
+ diff: z.string()
30
+ }).strict();
31
+ const workspaceDetailsSchema = z.object({
32
+ workspace_id: z.string().min(1).max(160)
33
+ }).strict();
34
+ const pathDetailsSchema = z.object({
35
+ path: z.string().min(1).max(240)
36
+ }).strict();
37
+ const fileTooLargeDetailsSchema = z.object({
38
+ path: z.string().min(1).max(240),
39
+ scope: z.enum(["existing_file", "edited_file"]),
40
+ limit_bytes: z.number().int().positive()
41
+ }).strict();
42
+ const invalidArgumentDetailsSchema = z.object({
43
+ argument: z.literal("old_text")
44
+ }).strict();
45
+ const textNotUniqueDetailsSchema = z.object({
46
+ path: z.string().min(1).max(240),
47
+ matches: z.number().int().positive()
48
+ }).strict();
49
+ const replacementCountMismatchDetailsSchema = z.object({
50
+ path: z.string().min(1).max(240),
51
+ expected: z.number().int().nonnegative(),
52
+ actual: z.number().int().positive()
53
+ }).strict();
54
+ const emptyDetailsSchema = z.object({}).strict();
55
+ const workspaceNotFoundErrorSchema = z.object({
56
+ code: z.literal("WORKSPACE_NOT_FOUND"),
57
+ message: z.literal(EDIT_ERROR_MESSAGES.WORKSPACE_NOT_FOUND),
58
+ retryable: z.literal(false),
59
+ details: workspaceDetailsSchema
60
+ }).strict();
61
+ const pathOutsideWorkspaceErrorSchema = z.object({
62
+ code: z.literal("PATH_OUTSIDE_WORKSPACE"),
63
+ message: z.literal(EDIT_ERROR_MESSAGES.PATH_OUTSIDE_WORKSPACE),
64
+ retryable: z.literal(false),
65
+ details: pathDetailsSchema
66
+ }).strict();
67
+ const pathBlockedErrorSchema = z.object({
68
+ code: z.literal("PATH_BLOCKED"),
69
+ message: z.literal(EDIT_ERROR_MESSAGES.PATH_BLOCKED),
70
+ retryable: z.literal(false),
71
+ details: pathDetailsSchema
72
+ }).strict();
73
+ const fileNotFoundErrorSchema = z.object({
74
+ code: z.literal("FILE_NOT_FOUND"),
75
+ message: z.literal(EDIT_ERROR_MESSAGES.FILE_NOT_FOUND),
76
+ retryable: z.literal(false),
77
+ details: pathDetailsSchema
78
+ }).strict();
79
+ const notAFileErrorSchema = z.object({
80
+ code: z.literal("NOT_A_FILE"),
81
+ message: z.literal(EDIT_ERROR_MESSAGES.NOT_A_FILE),
82
+ retryable: z.literal(false),
83
+ details: pathDetailsSchema
84
+ }).strict();
85
+ const fileNotTextErrorSchema = z.object({
86
+ code: z.literal("FILE_NOT_TEXT"),
87
+ message: z.literal(EDIT_ERROR_MESSAGES.FILE_NOT_TEXT),
88
+ retryable: z.literal(false),
89
+ details: pathDetailsSchema
90
+ }).strict();
91
+ const fileTooLargeErrorSchema = z.object({
92
+ code: z.literal("FILE_TOO_LARGE"),
93
+ message: z.literal(EDIT_ERROR_MESSAGES.FILE_TOO_LARGE),
94
+ retryable: z.literal(false),
95
+ details: fileTooLargeDetailsSchema
96
+ }).strict();
97
+ const invalidArgumentErrorSchema = z.object({
98
+ code: z.literal("INVALID_ARGUMENT"),
99
+ message: z.literal(EDIT_ERROR_MESSAGES.INVALID_ARGUMENT),
100
+ retryable: z.literal(false),
101
+ details: invalidArgumentDetailsSchema
102
+ }).strict();
103
+ const oldTextNotFoundErrorSchema = z.object({
104
+ code: z.literal("OLD_TEXT_NOT_FOUND"),
105
+ message: z.literal(EDIT_ERROR_MESSAGES.OLD_TEXT_NOT_FOUND),
106
+ retryable: z.literal(false),
107
+ details: pathDetailsSchema
108
+ }).strict();
109
+ const oldTextNotUniqueErrorSchema = z.object({
110
+ code: z.literal("OLD_TEXT_NOT_UNIQUE"),
111
+ message: z.literal(EDIT_ERROR_MESSAGES.OLD_TEXT_NOT_UNIQUE),
112
+ retryable: z.literal(false),
113
+ details: textNotUniqueDetailsSchema
114
+ }).strict();
115
+ const replacementCountMismatchErrorSchema = z.object({
116
+ code: z.literal("REPLACEMENT_COUNT_MISMATCH"),
117
+ message: z.literal(EDIT_ERROR_MESSAGES.REPLACEMENT_COUNT_MISMATCH),
118
+ retryable: z.literal(false),
119
+ details: replacementCountMismatchDetailsSchema
120
+ }).strict();
121
+ const secretContentBlockedErrorSchema = z.object({
122
+ code: z.literal("SECRET_CONTENT_BLOCKED"),
123
+ message: z.literal(EDIT_ERROR_MESSAGES.SECRET_CONTENT_BLOCKED),
124
+ retryable: z.literal(false),
125
+ details: pathDetailsSchema
126
+ }).strict();
127
+ const editFailedErrorSchema = z.object({
128
+ code: z.literal("EDIT_FAILED"),
129
+ message: z.literal(EDIT_ERROR_MESSAGES.EDIT_FAILED),
130
+ retryable: z.literal(false),
131
+ details: emptyDetailsSchema
132
+ }).strict();
133
+ const internalErrorSchema = z.object({
134
+ code: z.literal("INTERNAL_ERROR"),
135
+ message: z.literal(EDIT_ERROR_MESSAGES.INTERNAL_ERROR),
136
+ retryable: z.literal(false),
137
+ details: emptyDetailsSchema
138
+ }).strict();
139
+ export const editErrorSchema = z.discriminatedUnion("code", [
140
+ workspaceNotFoundErrorSchema,
141
+ pathOutsideWorkspaceErrorSchema,
142
+ pathBlockedErrorSchema,
143
+ fileNotFoundErrorSchema,
144
+ notAFileErrorSchema,
145
+ fileNotTextErrorSchema,
146
+ fileTooLargeErrorSchema,
147
+ invalidArgumentErrorSchema,
148
+ oldTextNotFoundErrorSchema,
149
+ oldTextNotUniqueErrorSchema,
150
+ replacementCountMismatchErrorSchema,
151
+ secretContentBlockedErrorSchema,
152
+ editFailedErrorSchema,
153
+ internalErrorSchema
154
+ ]);
155
+ export const editOutputShape = {
156
+ codexgpt_tool: z.literal("edit"),
157
+ codexgpt_title: z.literal("Edit File"),
158
+ ok: z.boolean(),
159
+ data: editDataSchema.nullable(),
160
+ error: editErrorSchema.nullable(),
161
+ meta: toolMetaSchema
162
+ };
163
+ const editOutputBaseSchema = z.object(editOutputShape).strict();
164
+ export const editOutputSchema = editOutputBaseSchema.superRefine((value, context) => {
165
+ if (value.ok) {
166
+ if (value.data === null) {
167
+ context.addIssue({
168
+ code: z.ZodIssueCode.custom,
169
+ path: ["data"],
170
+ message: "Successful edit results require data."
171
+ });
172
+ }
173
+ if (value.error !== null) {
174
+ context.addIssue({
175
+ code: z.ZodIssueCode.custom,
176
+ path: ["error"],
177
+ message: "Successful edit results require error to be null."
178
+ });
179
+ }
180
+ return;
181
+ }
182
+ if (value.data !== null) {
183
+ context.addIssue({
184
+ code: z.ZodIssueCode.custom,
185
+ path: ["data"],
186
+ message: "Failed edit results require data to be null."
187
+ });
188
+ }
189
+ if (value.error === null) {
190
+ context.addIssue({
191
+ code: z.ZodIssueCode.custom,
192
+ path: ["error"],
193
+ message: "Failed edit results require an error object."
194
+ });
195
+ }
196
+ });
197
+ export function createEditSuccess(data, durationMs = 0) {
198
+ return editOutputSchema.parse({
199
+ codexgpt_tool: "edit",
200
+ codexgpt_title: "Edit File",
201
+ ok: true,
202
+ data: editDataSchema.parse(data),
203
+ error: null,
204
+ meta: createToolMeta(durationMs)
205
+ });
206
+ }
207
+ export function createEditFailure(failure, durationMs = 0) {
208
+ return editOutputSchema.parse({
209
+ codexgpt_tool: "edit",
210
+ codexgpt_title: "Edit File",
211
+ ok: false,
212
+ data: null,
213
+ error: {
214
+ code: failure.code,
215
+ message: EDIT_ERROR_MESSAGES[failure.code],
216
+ retryable: false,
217
+ details: failure.details
218
+ },
219
+ meta: createToolMeta(durationMs)
220
+ });
221
+ }
222
+ export const EDIT_TRANSACTION_ERROR_MESSAGES = {
223
+ FILE_VERSION_CONFLICT: "The target changed since the expected version was read. Read the file again before retrying.",
224
+ TRANSACTION_BUSY: "Another workspace transaction is active. Retry after it completes.",
225
+ ATOMIC_BACKEND_UNAVAILABLE: "The filesystem cannot provide the required atomic mutation guarantees.",
226
+ AUDIT_UNAVAILABLE: "The required persistent audit record could not be completed, so the edit was rolled back.",
227
+ AUDIT_INTEGRITY_FAILURE: "Persistent audit integrity verification failed.",
228
+ TRANSACTION_FAILED: "The atomic edit failed and no successful commit was acknowledged.",
229
+ ROLLBACK_FAILED: "The edit failed and rollback could not be proven complete.",
230
+ TRANSACTION_RECOVERY_REQUIRED: "The workspace requires transaction recovery before another edit."
231
+ };
232
+ const editTransactionRetryable = {
233
+ FILE_VERSION_CONFLICT: false,
234
+ TRANSACTION_BUSY: true,
235
+ ATOMIC_BACKEND_UNAVAILABLE: false,
236
+ AUDIT_UNAVAILABLE: true,
237
+ AUDIT_INTEGRITY_FAILURE: false,
238
+ TRANSACTION_FAILED: true,
239
+ ROLLBACK_FAILED: false,
240
+ TRANSACTION_RECOVERY_REQUIRED: false
241
+ };
242
+ const editTransactionErrorCodeSchema = z.enum([
243
+ "FILE_VERSION_CONFLICT",
244
+ "TRANSACTION_BUSY",
245
+ "ATOMIC_BACKEND_UNAVAILABLE",
246
+ "AUDIT_UNAVAILABLE",
247
+ "AUDIT_INTEGRITY_FAILURE",
248
+ "TRANSACTION_FAILED",
249
+ "ROLLBACK_FAILED",
250
+ "TRANSACTION_RECOVERY_REQUIRED"
251
+ ]);
252
+ const editTransactionErrorSchema = z.object({
253
+ code: editTransactionErrorCodeSchema,
254
+ message: z.string().min(1),
255
+ retryable: z.boolean(),
256
+ details: z.union([pathDetailsSchema, emptyDetailsSchema])
257
+ }).strict().superRefine((value, context) => {
258
+ if (value.message !== EDIT_TRANSACTION_ERROR_MESSAGES[value.code]) {
259
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["message"], message: "Unexpected transaction error message." });
260
+ }
261
+ if (value.retryable !== editTransactionRetryable[value.code]) {
262
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["retryable"], message: "Unexpected transaction retryability." });
263
+ }
264
+ const hasPath = Object.prototype.hasOwnProperty.call(value.details, "path");
265
+ if ((value.code === "FILE_VERSION_CONFLICT") !== hasPath) {
266
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["details"], message: "Unexpected transaction error details." });
267
+ }
268
+ });
269
+ export const editDataSchemaV2 = editDataSchema.extend({
270
+ transaction: transactionResultV2Schema,
271
+ before_sha256: z.string().regex(/^[a-f0-9]{64}$/)
272
+ }).strict();
273
+ export const editErrorSchemaV2 = z.union([editErrorSchema, editTransactionErrorSchema]);
274
+ export const editOutputShapeV2 = {
275
+ codexgpt_tool: z.literal("edit"),
276
+ codexgpt_title: z.literal("Edit File"),
277
+ ok: z.boolean(),
278
+ data: editDataSchemaV2.nullable(),
279
+ error: editErrorSchemaV2.nullable(),
280
+ meta: toolMetaSchema
281
+ };
282
+ const editOutputBaseSchemaV2 = z.object(editOutputShapeV2).strict();
283
+ export const editOutputSchemaV2 = editOutputBaseSchemaV2.superRefine((value, context) => {
284
+ if (value.ok) {
285
+ if (value.data === null)
286
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["data"], message: "Successful edit results require data." });
287
+ if (value.error !== null)
288
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["error"], message: "Successful edit results require error to be null." });
289
+ return;
290
+ }
291
+ if (value.data !== null)
292
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["data"], message: "Failed edit results require data to be null." });
293
+ if (value.error === null)
294
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["error"], message: "Failed edit results require an error object." });
295
+ });
296
+ export function createEditSuccessV2(data, durationMs = 0) {
297
+ return editOutputSchemaV2.parse({
298
+ codexgpt_tool: "edit",
299
+ codexgpt_title: "Edit File",
300
+ ok: true,
301
+ data: editDataSchemaV2.parse(data),
302
+ error: null,
303
+ meta: createToolMeta(durationMs)
304
+ });
305
+ }
306
+ export function createEditTransactionFailureV2(failure, durationMs = 0) {
307
+ return editOutputSchemaV2.parse({
308
+ codexgpt_tool: "edit",
309
+ codexgpt_title: "Edit File",
310
+ ok: false,
311
+ data: null,
312
+ error: {
313
+ code: failure.code,
314
+ message: EDIT_TRANSACTION_ERROR_MESSAGES[failure.code],
315
+ retryable: editTransactionRetryable[failure.code],
316
+ details: failure.details
317
+ },
318
+ meta: createToolMeta(durationMs)
319
+ });
320
+ }
321
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/schemas/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,330 @@
1
+ import { z } from "zod";
2
+ import path from "node:path";
3
+ import { createToolMeta, toolMetaSchema } from "./common.js";
4
+ const safeOpaqueIdSchema = z.string().min(1).max(160).regex(/^[A-Za-z0-9][A-Za-z0-9._:-]*$/);
5
+ export const processIdV1Schema = z.string().regex(/^process_[a-f0-9]{32}$/);
6
+ export const outputCursorV1Schema = z.string().min(16).max(2048);
7
+ const argumentSchema = z.string().max(8 * 1024);
8
+ const argumentListSchema = z.array(argumentSchema).max(512).superRefine((values, context) => {
9
+ const total = values.reduce((sum, value) => sum + Buffer.byteLength(value, "utf8"), 0);
10
+ if (total > 64 * 1024) {
11
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Aggregate argument bytes exceed 64 KiB." });
12
+ }
13
+ });
14
+ const argvCommandSchema = z.object({
15
+ kind: z.literal("argv"),
16
+ executable: z.string().min(1).max(32_767).refine((value) => !/[\\/]/.test(value) || path.win32.isAbsolute(value), "Relative executable paths containing separators are not allowed."),
17
+ args: argumentListSchema.optional()
18
+ }).strict();
19
+ const powershellCommandSchema = z.object({
20
+ kind: z.literal("powershell"),
21
+ script: z.string().max(32 * 1024),
22
+ edition: z.enum(["auto", "core", "windows"]).optional()
23
+ }).strict();
24
+ const bashCommandSchema = z.object({
25
+ kind: z.literal("bash"),
26
+ script: z.string().max(32 * 1024)
27
+ }).strict();
28
+ export const commandSpecV1Schema = z.discriminatedUnion("kind", [
29
+ argvCommandSchema,
30
+ powershellCommandSchema,
31
+ bashCommandSchema
32
+ ]);
33
+ export const executionCwdV1Schema = z.discriminatedUnion("kind", [
34
+ z.object({
35
+ kind: z.literal("workspace"),
36
+ path: z.string().max(32_767).optional()
37
+ }).strict(),
38
+ z.object({
39
+ kind: z.literal("absolute_local"),
40
+ path: z.string().min(1).max(32_767)
41
+ }).strict()
42
+ ]);
43
+ const environmentSchema = z.record(z.string().min(1).max(32767), z.string().max(16 * 1024))
44
+ .superRefine((value, context) => {
45
+ const keys = Object.keys(value);
46
+ if (keys.length > 64) {
47
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Environment entry limit exceeded." });
48
+ }
49
+ const folded = keys.map((key) => key.toLocaleUpperCase("en-US"));
50
+ if (new Set(folded).size !== folded.length) {
51
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Windows environment keys must be unique case-insensitively." });
52
+ }
53
+ const total = Object.values(value).reduce((sum, item) => sum + Buffer.byteLength(item, "utf8"), 0);
54
+ if (total > 16 * 1024) {
55
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Aggregate environment value bytes exceed 16 KiB." });
56
+ }
57
+ });
58
+ const authorityModeSchema = z.enum(["full_access", "workspace"]);
59
+ const executionBaseInputShape = {
60
+ command: commandSpecV1Schema,
61
+ cwd: executionCwdV1Schema,
62
+ environment: environmentSchema.optional(),
63
+ mode: authorityModeSchema,
64
+ timeout_ms: z.number().int().min(1).max(10 * 60_000).optional()
65
+ };
66
+ export const runCommandInputV1Schema = z.object(executionBaseInputShape).strict();
67
+ export const candidateVerificationInputV4Schema = z.object({
68
+ merge_plan_id: z.string().regex(/^merge_[a-f0-9]{32}$/u),
69
+ integration_workspace_id: z.string().regex(/^ws_[a-f0-9]{32}$/u),
70
+ category: z.string().regex(/^[a-z][a-z0-9_-]{0,31}$/u)
71
+ }).strict();
72
+ export const runCommandInputV4Schema = z.object({
73
+ ...executionBaseInputShape,
74
+ verification: candidateVerificationInputV4Schema.optional()
75
+ }).strict();
76
+ export const startProcessInputV1Schema = z.object({
77
+ ...executionBaseInputShape,
78
+ terminal: z.enum(["pipes", "conpty"]).optional(),
79
+ lifetime_ms: z.number().int().min(1).max(2 * 60 * 60_000).optional()
80
+ }).strict();
81
+ export const startProcessInputV4Schema = z.object({
82
+ ...executionBaseInputShape,
83
+ terminal: z.enum(["pipes", "conpty"]).optional(),
84
+ lifetime_ms: z.number().int().min(1).max(2 * 60 * 60_000).optional(),
85
+ verification: candidateVerificationInputV4Schema.optional()
86
+ }).strict();
87
+ export const readProcessOutputInputV1Schema = z.object({
88
+ process_id: processIdV1Schema,
89
+ cursor: outputCursorV1Schema.optional(),
90
+ max_bytes: z.number().int().min(1).max(262_144).optional(),
91
+ wait_ms: z.number().int().min(0).max(30_000).optional()
92
+ }).strict();
93
+ export const writeProcessInputV1Schema = z.object({
94
+ process_id: processIdV1Schema,
95
+ data: z.string().max(64 * 1024),
96
+ close: z.boolean().optional()
97
+ }).strict();
98
+ export const interruptProcessInputV1Schema = z.object({
99
+ process_id: processIdV1Schema
100
+ }).strict();
101
+ export const terminateProcessInputV1Schema = z.object({
102
+ process_id: processIdV1Schema
103
+ }).strict();
104
+ export const resizeProcessTerminalInputV1Schema = z.object({
105
+ process_id: processIdV1Schema,
106
+ columns: z.number().int().min(1).max(500),
107
+ rows: z.number().int().min(1).max(500)
108
+ }).strict();
109
+ export const listProcessesInputV1Schema = z.object({}).strict();
110
+ export const backendSummaryV1Schema = z.object({
111
+ backend_id: safeOpaqueIdSchema,
112
+ command_kind: z.enum(["argv", "powershell", "bash"]),
113
+ executable_identity: z.string().regex(/^[a-f0-9]{64}$/),
114
+ terminal: z.enum(["pipes", "conpty", "none"])
115
+ }).strict();
116
+ const fullAccessAuthoritySummaryV1Schema = z.object({
117
+ mode: z.literal("full_access"),
118
+ workspace_boundary_enforced: z.literal(false),
119
+ filesystem_scope: z.literal("current_user_unrestricted"),
120
+ filesystem_isolation: z.literal("none"),
121
+ credential_isolation: z.literal("none"),
122
+ registry_isolation: z.literal("none"),
123
+ network_isolation: z.literal("none"),
124
+ process_tree_control: z.literal("job_object_members_only"),
125
+ broker_escape_resistance: z.literal("none"),
126
+ host_writeback: z.literal("possible"),
127
+ redaction: z.literal("best_effort_known_patterns")
128
+ }).strict();
129
+ const workspaceAuthoritySummaryV1Schema = z.object({
130
+ mode: z.literal("workspace"),
131
+ workspace_boundary_enforced: z.literal(true),
132
+ filesystem_scope: z.literal("filtered_snapshot"),
133
+ filesystem_isolation: z.literal("snapshot_private"),
134
+ credential_isolation: z.literal("isolated"),
135
+ registry_isolation: z.literal("protected_registry"),
136
+ network_isolation: z.literal("deny_all"),
137
+ process_tree_control: z.literal("sandbox_job"),
138
+ broker_escape_resistance: z.literal("sandbox_proved"),
139
+ host_writeback: z.literal("none"),
140
+ redaction: z.literal("best_effort_known_patterns")
141
+ }).strict();
142
+ export const authoritySummaryV1Schema = z.discriminatedUnion("mode", [
143
+ fullAccessAuthoritySummaryV1Schema,
144
+ workspaceAuthoritySummaryV1Schema
145
+ ]);
146
+ export const outputChunkV1Schema = z.object({
147
+ stream: z.enum(["stdout", "stderr", "terminal"]),
148
+ text: z.string(),
149
+ bytes: z.number().int().nonnegative()
150
+ }).strict();
151
+ export const outputPageV1Schema = z.object({
152
+ chunks: z.array(outputChunkV1Schema).max(4096),
153
+ next_cursor: outputCursorV1Schema.nullable(),
154
+ truncated: z.boolean(),
155
+ eof: z.boolean(),
156
+ returned_bytes: z.number().int().nonnegative().max(262_144)
157
+ }).strict();
158
+ export const terminationReasonV1Schema = z.enum([
159
+ "timeout",
160
+ "user_terminated",
161
+ "output_limit_exceeded",
162
+ "policy_revoked",
163
+ "evidence_revoked",
164
+ "transport_closed",
165
+ "lease_revoked",
166
+ "host_crashed"
167
+ ]);
168
+ export const runCommandDataV1Schema = z.object({
169
+ process_id: processIdV1Schema,
170
+ status: z.enum(["exited", "failed", "terminated"]),
171
+ exit_code: z.number().int().nullable(),
172
+ termination_reason: terminationReasonV1Schema.nullable(),
173
+ backend: backendSummaryV1Schema,
174
+ authority: authoritySummaryV1Schema,
175
+ output: outputPageV1Schema,
176
+ started_at: z.string().datetime({ offset: true }),
177
+ ended_at: z.string().datetime({ offset: true })
178
+ }).strict();
179
+ export const runCommandDataV4Schema = runCommandDataV1Schema.extend({
180
+ verification_receipt: z.string().regex(/^verify_[A-Za-z0-9_-]+$/u).nullable()
181
+ }).strict();
182
+ export const startProcessDataV1Schema = z.object({
183
+ process_id: processIdV1Schema,
184
+ status: z.enum(["running", "exited", "failed"]),
185
+ backend: backendSummaryV1Schema,
186
+ authority: authoritySummaryV1Schema,
187
+ started_at: z.string().datetime({ offset: true }),
188
+ absolute_expires_at: z.string().datetime({ offset: true })
189
+ }).strict();
190
+ const processStateDataV1Schema = z.object({
191
+ process_id: processIdV1Schema,
192
+ status: z.enum(["running", "exited", "failed", "terminated"])
193
+ }).strict();
194
+ export const readProcessOutputDataV1Schema = processStateDataV1Schema.extend({
195
+ output: outputPageV1Schema
196
+ }).strict();
197
+ export const readProcessOutputDataV4Schema = readProcessOutputDataV1Schema.extend({
198
+ exit_code: z.number().int().nullable(),
199
+ verification_receipt: z.string().regex(/^verify_[A-Za-z0-9_-]+$/u).nullable()
200
+ }).strict();
201
+ export const listProcessesDataV1Schema = z.object({
202
+ processes: z.array(z.object({
203
+ process_id: processIdV1Schema,
204
+ status: z.enum(["running", "exited", "failed", "terminated"]),
205
+ mode: authorityModeSchema,
206
+ terminal: z.enum(["pipes", "conpty", "none"]),
207
+ started_at: z.string().datetime({ offset: true }),
208
+ absolute_expires_at: z.string().datetime({ offset: true }).nullable()
209
+ }).strict()).max(32),
210
+ process_count: z.number().int().nonnegative().max(32)
211
+ }).strict().superRefine((value, context) => {
212
+ if (value.process_count !== value.processes.length) {
213
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["process_count"], message: "Process count is inconsistent." });
214
+ }
215
+ });
216
+ export const EXECUTION_ERROR_MESSAGES = Object.freeze({
217
+ APPROVAL_REQUIRED: "Local approval is required before this action can run.",
218
+ APPROVAL_QUEUE_FULL: "The local approval queue is full. Retry later.",
219
+ BACKEND_STALE: "The approved execution backend changed before use.",
220
+ BACKEND_UNAVAILABLE: "The requested execution backend is unavailable.",
221
+ EXECUTION_PROFILE_DISABLED: "The requested execution profile is disabled.",
222
+ EXECUTION_QUOTA_EXCEEDED: "The execution quota is exhausted.",
223
+ HOST_PROTOCOL_ERROR: "The native execution host rejected the protocol exchange.",
224
+ HOST_UNAVAILABLE: "The native execution host is unavailable.",
225
+ INTERRUPT_UNSUPPORTED: "The requested interrupt is unsupported for this process.",
226
+ NETWORK_ENFORCEMENT_UNAVAILABLE: "The requested network policy cannot be enforced.",
227
+ OUTPUT_LIMIT_EXCEEDED: "The process exceeded its bounded output allowance.",
228
+ PROCESS_NOT_FOUND: "The process was not found in this context.",
229
+ PROCESS_POLICY_UNENFORCEABLE: "The requested process policy cannot be enforced.",
230
+ PROCESS_SANDBOX_UNAVAILABLE: "The requested process sandbox is unavailable.",
231
+ SHELL_SANDBOX_UNAVAILABLE: "The requested shell sandbox is unavailable.",
232
+ TERMINAL_NOT_AVAILABLE: "The requested terminal backend is unavailable.",
233
+ INTERNAL_ERROR: "The execution action failed because of an internal error."
234
+ });
235
+ const executionErrorCodeSchema = z.enum(Object.keys(EXECUTION_ERROR_MESSAGES));
236
+ export const executionErrorV1Schema = z.object({
237
+ code: executionErrorCodeSchema,
238
+ message: z.string().min(1),
239
+ retryable: z.boolean(),
240
+ details: z.object({
241
+ approval_id: safeOpaqueIdSchema.optional(),
242
+ server_id: safeOpaqueIdSchema.optional(),
243
+ next_action: z.string().min(1).max(240).optional()
244
+ }).strict()
245
+ }).strict().superRefine((value, context) => {
246
+ if (value.message !== EXECUTION_ERROR_MESSAGES[value.code]) {
247
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["message"], message: "Execution error message is not canonical." });
248
+ }
249
+ });
250
+ const EXECUTION_TITLES = Object.freeze({
251
+ run_command: "Run Command",
252
+ start_process: "Start Process",
253
+ read_process_output: "Read Process Output",
254
+ write_process_input: "Write Process Input",
255
+ interrupt_process: "Interrupt Process",
256
+ terminate_process: "Terminate Process",
257
+ resize_process_terminal: "Resize Process Terminal",
258
+ list_processes: "List Processes"
259
+ });
260
+ function executionOutputShape(name, data) {
261
+ return {
262
+ codexgpt_tool: z.literal(name),
263
+ codexgpt_title: z.literal(EXECUTION_TITLES[name]),
264
+ ok: z.boolean(),
265
+ data: data.nullable(),
266
+ error: executionErrorV1Schema.nullable(),
267
+ meta: toolMetaSchema
268
+ };
269
+ }
270
+ function outputSchema(shape) {
271
+ return z.object(shape).strict().superRefine((value, context) => {
272
+ if (value.ok && (value.data === null || value.error !== null)) {
273
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Execution success fields are inconsistent." });
274
+ }
275
+ if (!value.ok && (value.data !== null || value.error === null)) {
276
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "Execution failure fields are inconsistent." });
277
+ }
278
+ });
279
+ }
280
+ export const runCommandOutputShape = executionOutputShape("run_command", runCommandDataV1Schema);
281
+ export const runCommandOutputShapeV4 = executionOutputShape("run_command", runCommandDataV4Schema);
282
+ export const startProcessOutputShape = executionOutputShape("start_process", startProcessDataV1Schema);
283
+ export const readProcessOutputOutputShape = executionOutputShape("read_process_output", readProcessOutputDataV1Schema);
284
+ export const readProcessOutputOutputShapeV4 = executionOutputShape("read_process_output", readProcessOutputDataV4Schema);
285
+ export const writeProcessInputOutputShape = executionOutputShape("write_process_input", processStateDataV1Schema);
286
+ export const interruptProcessOutputShape = executionOutputShape("interrupt_process", processStateDataV1Schema);
287
+ export const terminateProcessOutputShape = executionOutputShape("terminate_process", processStateDataV1Schema);
288
+ export const resizeProcessTerminalOutputShape = executionOutputShape("resize_process_terminal", processStateDataV1Schema);
289
+ export const listProcessesOutputShape = executionOutputShape("list_processes", listProcessesDataV1Schema);
290
+ export const runCommandOutputSchema = outputSchema(runCommandOutputShape);
291
+ export const runCommandOutputSchemaV4 = outputSchema(runCommandOutputShapeV4);
292
+ export const startProcessOutputSchema = outputSchema(startProcessOutputShape);
293
+ export const readProcessOutputOutputSchema = outputSchema(readProcessOutputOutputShape);
294
+ export const readProcessOutputOutputSchemaV4 = outputSchema(readProcessOutputOutputShapeV4);
295
+ export const writeProcessInputOutputSchema = outputSchema(writeProcessInputOutputShape);
296
+ export const interruptProcessOutputSchema = outputSchema(interruptProcessOutputShape);
297
+ export const terminateProcessOutputSchema = outputSchema(terminateProcessOutputShape);
298
+ export const resizeProcessTerminalOutputSchema = outputSchema(resizeProcessTerminalOutputShape);
299
+ export const listProcessesOutputSchema = outputSchema(listProcessesOutputShape);
300
+ export const EXECUTION_OUTPUT_SCHEMAS = Object.freeze({
301
+ run_command: runCommandOutputSchema,
302
+ start_process: startProcessOutputSchema,
303
+ read_process_output: readProcessOutputOutputSchema,
304
+ write_process_input: writeProcessInputOutputSchema,
305
+ interrupt_process: interruptProcessOutputSchema,
306
+ terminate_process: terminateProcessOutputSchema,
307
+ resize_process_terminal: resizeProcessTerminalOutputSchema,
308
+ list_processes: listProcessesOutputSchema
309
+ });
310
+ export const EXECUTION_OUTPUT_SCHEMAS_V4 = Object.freeze({
311
+ ...EXECUTION_OUTPUT_SCHEMAS,
312
+ run_command: runCommandOutputSchemaV4,
313
+ read_process_output: readProcessOutputOutputSchemaV4
314
+ });
315
+ export function createExecutionFailure(toolName, code, details = {}, durationMs = 0) {
316
+ return EXECUTION_OUTPUT_SCHEMAS[toolName].parse({
317
+ codexgpt_tool: toolName,
318
+ codexgpt_title: EXECUTION_TITLES[toolName],
319
+ ok: false,
320
+ data: null,
321
+ error: {
322
+ code,
323
+ message: EXECUTION_ERROR_MESSAGES[code],
324
+ retryable: code === "APPROVAL_QUEUE_FULL" || code === "HOST_UNAVAILABLE",
325
+ details
326
+ },
327
+ meta: createToolMeta(durationMs)
328
+ });
329
+ }
330
+ //# sourceMappingURL=execution.js.map