@openclaw/codex 2026.10.1-beta.2 → 2026.10.5-beta.1

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 (161) hide show
  1. package/dist/.setup/{account-usage-runtime-DGqFpAud.mjs → account-usage-runtime-QBZsvZS8.mjs} +8 -7
  2. package/dist/.setup/{app-server-policy-Bg4FZw1f.mjs → app-server-policy-D_zv8J7V.mjs} +3 -4
  3. package/dist/.setup/{apply-CXTudl9p.mjs → apply-CBMV8LN0.mjs} +40 -51
  4. package/dist/.setup/{attempt-client-cleanup-BH0hW2xU.mjs → attempt-client-cleanup-t-kd_1ys.mjs} +6 -6
  5. package/dist/.setup/attempt-terminal-jO5IMj9K.mjs +2 -0
  6. package/dist/.setup/{attempt-workspace-context-BY0jprWJ.mjs → attempt-workspace-context-CcwP3DA3.mjs} +21 -18
  7. package/dist/.setup/{auth-binding-BoMwpuPN.mjs → auth-binding-BaxlhaNx.mjs} +2 -2
  8. package/dist/.setup/{auth-cache-key-CGm0UJOr.mjs → auth-cache-key-DyfUvsSa.mjs} +30 -41
  9. package/dist/.setup/{binding-connection-C-08ez1w.mjs → binding-connection-B7HAAZSI.mjs} +2 -2
  10. package/dist/.setup/{binding-connection.runtime-Dn2p-fdy.mjs → binding-connection.runtime-DAXn7iFl.mjs} +6 -5
  11. package/dist/.setup/{bounded-turn-pGsfXcmH.mjs → bounded-turn-CyQVQwGe.mjs} +21 -17
  12. package/dist/.setup/{bounded-turn-isolation-DklXNk3k.mjs → bounded-turn-isolation-BfDAo-qZ.mjs} +4 -4
  13. package/dist/.setup/{build-state-CqQnsg7T.mjs → build-state-CzLMy1S9.mjs} +1 -1
  14. package/dist/.setup/{capabilities-kQntafj_.mjs → capabilities-DbOzOglY.mjs} +1 -1
  15. package/dist/.setup/{client-catalog-response-Bqp7WG51.mjs → client-catalog-response-DsbEAtpd.mjs} +25 -32
  16. package/dist/.setup/{client-C8lgBOoO.mjs → client-y7nO6X9c.mjs} +198 -247
  17. package/dist/.setup/{command-dispatch-DhBbFIQ5.mjs → command-dispatch-uA9lz2Kf.mjs} +3 -4
  18. package/dist/.setup/{command-formatters-DV3DHhdr.mjs → command-formatters-xW9KpoSZ.mjs} +16 -26
  19. package/dist/.setup/{command-handlers-ztOOzm6O.mjs → command-handlers-VBaJnpZo.mjs} +270 -360
  20. package/dist/.setup/{command-rpc-CuC5fPom.mjs → command-rpc-C9VxOLuG.mjs} +19 -18
  21. package/dist/.setup/{compact-tUb9AYfH.mjs → compact-CD8xJxXS.mjs} +41 -61
  22. package/dist/.setup/{computer-use-BBN9y326.mjs → computer-use-CiToXF5C.mjs} +109 -147
  23. package/dist/.setup/{config-0Gxk3_eq.mjs → config-C1YVVLEA.mjs} +32 -59
  24. package/dist/.setup/config-contracts.shared-D85SGEuq.mjs +4 -0
  25. package/dist/.setup/{config-options-HG_Rr3W_.mjs → config-options-DDzeNQ8m.mjs} +52 -90
  26. package/dist/.setup/{config-parsing-BQq-CHTF.mjs → config-parsing-DsWSCPHO.mjs} +19 -55
  27. package/dist/.setup/{config-runtime-cUYrqu_a.mjs → config-runtime-DWzK-k0n.mjs} +2 -2
  28. package/dist/.setup/{config-security-KAPScztc.mjs → config-security-clxAZYWX.mjs} +35 -39
  29. package/dist/.setup/config-utils-DN_YT7dE.mjs +47 -0
  30. package/dist/.setup/{context-engine-projection-CsgYSQhW.mjs → context-engine-projection-ps-yn_ci.mjs} +10 -22
  31. package/dist/.setup/{conversation-binding-B3MNMVzb.mjs → conversation-binding-CTSLDM9S.mjs} +85 -119
  32. package/dist/.setup/{conversation-binding-data-DJ4ix-W5.mjs → conversation-binding-data-UgLuTSQT.mjs} +9 -8
  33. package/dist/.setup/{conversation-control-CYsMlCuE.mjs → conversation-control-GXM3unE4.mjs} +7 -10
  34. package/dist/.setup/{cyber-failover-Bb1J6hS1.mjs → cyber-failover-D4dgNfFf.mjs} +2 -5
  35. package/dist/.setup/{cyber-failover-notice-XR03ef31.mjs → cyber-failover-notice-ljgGGL0s.mjs} +1 -1
  36. package/dist/.setup/{doctor-start-options-DPW9JxIE.mjs → doctor-start-options-JjTAl-q_.mjs} +5 -5
  37. package/dist/.setup/{dynamic-tool-build-C8xGEXmR.mjs → dynamic-tool-build-D731PCdv.mjs} +57 -69
  38. package/dist/.setup/{dynamic-tools-DyERJnR6.mjs → dynamic-tools-D0pYbxHH.mjs} +689 -710
  39. package/dist/.setup/{effective-mcp-catalog-C26Mio5l.mjs → effective-mcp-catalog-1hWFKghy.mjs} +11 -20
  40. package/dist/.setup/{elicitation-input-r9axtppm.mjs → elicitation-input-DXG_qaXr.mjs} +14 -20
  41. package/dist/.setup/{ephemeral-turn-D8VcDTNo.mjs → ephemeral-turn-Cphy5Qr_.mjs} +3 -3
  42. package/dist/.setup/{event-projector-assistant-message-BN7CNUB5.mjs → event-projector-assistant-message-CLMKN4x-.mjs} +2 -2
  43. package/dist/.setup/{event-projector-usage-03R0I2dM.mjs → event-projector-usage-BpKfdoTm.mjs} +20 -33
  44. package/dist/.setup/{event-projector-values-DTqZHizf.mjs → event-projector-values-CLvG1Hil.mjs} +4 -5
  45. package/dist/.setup/history-rejection-B4nOXNXF.mjs +13 -0
  46. package/dist/.setup/{inference-context-D-9gWlTR.mjs → inference-context-DNlGwzwy.mjs} +10 -11
  47. package/dist/.setup/{inference-dispatch-B5UKEUyC.mjs → inference-dispatch-CO6tTs4q.mjs} +5 -4
  48. package/dist/.setup/{inference-metadata-CgIf7sOx.mjs → inference-metadata-DCvcG_N_.mjs} +36 -41
  49. package/dist/.setup/{inference-proxy-DUO5E2QQ.mjs → inference-proxy-BDWV0djM.mjs} +10 -14
  50. package/dist/.setup/{isolated-completion-C0jrcplS.mjs → isolated-completion-Bhqd2yBq.mjs} +8 -8
  51. package/dist/.setup/local-runtime-attribution-CZz2DJ4q.mjs +15 -0
  52. package/dist/.setup/{managed-binary-C1VFoVPf.mjs → managed-binary-BtIjV7yN.mjs} +16 -36
  53. package/dist/.setup/{mcp-app-session-preparation-BxN0_CYe.mjs → mcp-app-session-preparation-DqSvxFqc.mjs} +24 -25
  54. package/dist/.setup/{mcp-tool-metadata-j10HhfTC.mjs → mcp-tool-metadata-DW41snf3.mjs} +1 -1
  55. package/dist/.setup/{model-catalog-DZyNeDKG.mjs → model-catalog-B227ST3D.mjs} +6 -6
  56. package/dist/.setup/{models-DSseKSMg.mjs → models-DdRyi93L.mjs} +6 -10
  57. package/dist/.setup/{native-auth-Cjb9y7IZ.mjs → native-auth-esN5MdIv.mjs} +5 -5
  58. package/dist/.setup/{native-execution-policy-ClzpdG3D.mjs → native-execution-policy-MXEe7PB3.mjs} +11 -28
  59. package/dist/.setup/native-hook-relay-BUWIOrSr.mjs +561 -0
  60. package/dist/.setup/{native-mcp-app-CqcPVmhH.mjs → native-mcp-app-CjxJQ4F7.mjs} +6 -6
  61. package/dist/.setup/native-skill-isolation-UMVoNjZz.mjs +391 -0
  62. package/dist/.setup/{native-subagent-monitor-BUYOUp9X.mjs → native-subagent-monitor-iHc8oLg5.mjs} +505 -639
  63. package/dist/.setup/{native-subagent-pending-assignments-BDqhOdJp.mjs → native-subagent-pending-assignments-DmVhedNs.mjs} +11 -23
  64. package/dist/.setup/{native-task-assignments-C6KVqiN1.mjs → native-task-assignments-DimsQ9Qa.mjs} +73 -27
  65. package/dist/.setup/{node-cli-sessions-B5oNDkUS.mjs → node-cli-sessions-CzKg2nGq.mjs} +18 -26
  66. package/dist/.setup/{node-exec-server.runtime-0xSEjKYt.mjs → node-exec-server.runtime-BWkULhBM.mjs} +5 -8
  67. package/dist/.setup/{plan-BJ37d2Og.mjs → plan-C_F3aio0.mjs} +40 -50
  68. package/dist/.setup/{plugin-activation-BcyBv8PG.mjs → plugin-activation-D7WkJMvU.mjs} +4 -5
  69. package/dist/.setup/{plugin-app-cache-key-BW8rd98k.mjs → plugin-app-cache-key-Bg9DbDI6.mjs} +18 -23
  70. package/dist/.setup/{plugin-approval-roundtrip-CuahdPLC.mjs → plugin-approval-roundtrip-BSV-51ig.mjs} +4 -6
  71. package/dist/.setup/{plugin-inventory-Bf0_piTw.mjs → plugin-inventory-CYgdo14P.mjs} +28 -43
  72. package/dist/.setup/{plugin-marketplace-discovery-SQPhSuic.mjs → plugin-marketplace-discovery-BblHM3DU.mjs} +7 -10
  73. package/dist/.setup/{plugin-metadata-cache-DWnB7VMj.mjs → plugin-metadata-cache-Bi8TAPwX.mjs} +5 -10
  74. package/dist/.setup/project-doc-thread-config-BVcvnps8.mjs +490 -0
  75. package/dist/.setup/{provider-BnwHVD_z.mjs → provider-BJ4xhaGX.mjs} +4 -4
  76. package/dist/.setup/{provider-capabilities-D68Whix6.mjs → provider-capabilities-CjRaV3bx.mjs} +1 -1
  77. package/dist/.setup/{rate-limits-CMPy24F5.mjs → rate-limits-CI8pTPqL.mjs} +15 -32
  78. package/dist/.setup/reasoning-effort-CS9kKWB9.mjs +37 -0
  79. package/dist/.setup/{request-jSbhc1sg.mjs → request-Y8dmbqZ3.mjs} +28 -48
  80. package/dist/.setup/{rpc-error-hmWM21RB.mjs → rpc-error-C98SHchT.mjs} +3 -6
  81. package/dist/.setup/{run-attempt-BLDZeYLD.mjs → run-attempt-Dx7a4Mfm.mjs} +927 -849
  82. package/dist/.setup/{run-attempt-lifecycle-BuZgVbDA.mjs → run-attempt-lifecycle-KN4oh-7O.mjs} +13 -4
  83. package/dist/.setup/{runtime-artifact-CUTOOnKw.mjs → runtime-artifact-C13pR7tD.mjs} +18 -22
  84. package/dist/.setup/{runtime-artifact-connection-CADz3_BY.mjs → runtime-artifact-connection-jS5DeCok.mjs} +3 -3
  85. package/dist/.setup/{sandbox-guard-WqE8yPge.mjs → sandbox-guard-DIImwCy1.mjs} +4 -6
  86. package/dist/.setup/service-tier-normalization-BPgw2Wdt.mjs +9 -0
  87. package/dist/.setup/{session-binding-Ce7BqiPN.mjs → session-binding-JEHNMPsr.mjs} +13 -40
  88. package/dist/.setup/{session-binding-record-BZB8RgcF.mjs → session-binding-record-DU_0biMD.mjs} +4 -4
  89. package/dist/.setup/{session-binding-record-codec-z4ZpDn6E.mjs → session-binding-record-codec-BpH8u_G9.mjs} +16 -39
  90. package/dist/.setup/{session-binding-sidecars-BrdV95Fg.mjs → session-binding-sidecars-DD-enC8w.mjs} +49 -54
  91. package/dist/.setup/{session-catalog-adoption-CPIP4S_y.mjs → session-catalog-adoption-Ca3OYGYM.mjs} +23 -27
  92. package/dist/.setup/{session-catalog-archive-DcgwvSbF.mjs → session-catalog-archive-Bv6gV7x9.mjs} +6 -6
  93. package/dist/.setup/{session-catalog-events-Bdjw9HEn.mjs → session-catalog-events-DzFlXNUe.mjs} +6 -5
  94. package/dist/.setup/{session-catalog-index-DufISKJ6.mjs → session-catalog-index-DozvkUPd.mjs} +111 -105
  95. package/dist/.setup/{session-catalog-index-order-nhyO0wdW.mjs → session-catalog-index-order-CTfoefow.mjs} +28 -5
  96. package/dist/.setup/{session-catalog-limits-DEU36Qlo.mjs → session-catalog-limits-BynIoOYm.mjs} +1 -1
  97. package/dist/.setup/{session-catalog-list-request-tXephOB4.mjs → session-catalog-list-request-D4MYNgDB.mjs} +11 -8
  98. package/dist/.setup/{session-catalog-native-projection-D6IiLtMb.mjs → session-catalog-native-projection-rCKnZud1.mjs} +5 -61
  99. package/dist/.setup/{session-catalog-node-adoption-7-WEQTB1.mjs → session-catalog-node-adoption-BdP9Zjqo.mjs} +2 -2
  100. package/dist/.setup/{session-catalog-node-continue-DLWBwAAO.mjs → session-catalog-node-continue-CNJibO4_.mjs} +27 -49
  101. package/dist/.setup/{session-catalog-node-lookup-Uufckwcm.mjs → session-catalog-node-lookup-BH_DBGa9.mjs} +3 -3
  102. package/dist/.setup/{session-catalog-parsing-B-qWJh2x.mjs → session-catalog-parsing-DkeoVn60.mjs} +9 -19
  103. package/dist/.setup/{session-catalog-projection-8aHNwzWD.mjs → session-catalog-projection-DDVmALHj.mjs} +8 -22
  104. package/dist/.setup/session-catalog-source-CygTGmrb.mjs +58 -0
  105. package/dist/.setup/{session-cli-kH4vuGod.mjs → session-cli-GwU0izn-.mjs} +20 -41
  106. package/dist/.setup/{session-history-BogBHKLk.mjs → session-history-BO6i_pfk.mjs} +1 -1
  107. package/dist/.setup/{session-history-import-NWKPa4ZO.mjs → session-history-import-CaO8s6ta.mjs} +4 -4
  108. package/dist/.setup/{session-history-read-CNN8zwbD.mjs → session-history-read-BI_2jRED.mjs} +4 -15
  109. package/dist/.setup/{session-history.worker-Cq_4DYgN.mjs → session-history.worker-DJQfek5p.mjs} +147 -159
  110. package/dist/.setup/{session-initialization-D6dtFQkE.mjs → session-initialization-Bi_2DKhc.mjs} +3 -5
  111. package/dist/.setup/{session-permission-policy-BxIUJ0Zd.mjs → session-permission-policy-CD2MAWU8.mjs} +12 -20
  112. package/dist/.setup/{session-retirement-Czbchv_O.mjs → session-retirement-IoS3zr17.mjs} +7 -7
  113. package/dist/.setup/{settled-turn-context-BZsMjkIO.mjs → settled-turn-context-BPL6D3RO.mjs} +1 -1
  114. package/dist/.setup/{settled-turn-finalizer-DjZsIwbZ.mjs → settled-turn-finalizer-X-Fylp-u.mjs} +12 -11
  115. package/dist/.setup/{shared-client-qhyYWbew.mjs → shared-client-ByIwuAC-.mjs} +172 -229
  116. package/dist/.setup/{side-question-D3NJlgbl.mjs → side-question-BDUdozFy.mjs} +116 -137
  117. package/dist/.setup/{source-BYu0T780.mjs → source-Bxbqf3S1.mjs} +37 -56
  118. package/dist/.setup/thread-archive-guard-LKdwQKyr.mjs +56 -0
  119. package/dist/.setup/{thread-lifecycle-Cbz_7ySv.mjs → thread-lifecycle-run-CfP4PnEf.mjs} +348 -484
  120. package/dist/.setup/thread-model-selection-DcVebr8N.mjs +61 -0
  121. package/dist/.setup/{thread-ownership-DwuSrt3s.mjs → thread-ownership-Be53aiaG.mjs} +5 -5
  122. package/dist/.setup/{thread-ownership-queue-Dp24d7-F.mjs → thread-ownership-queue-CeyYScUC.mjs} +5 -6
  123. package/dist/.setup/{thread-policy-DoNxbhqt.mjs → thread-policy-CHgY-KNl.mjs} +4 -4
  124. package/dist/.setup/thread-requests-BgzJwJtS.mjs +745 -0
  125. package/dist/.setup/{thread-resume-BT6NHMkM.mjs → thread-resume-B2EmMcgE.mjs} +5 -5
  126. package/dist/.setup/{timeout-CXOfNoaX.mjs → timeout-D0mEWSGG.mjs} +6 -12
  127. package/dist/.setup/{transcript-history-projection-B9a7HwUV.mjs → transcript-history-projection-DfKcoZCB.mjs} +3 -4
  128. package/dist/.setup/{transcript-mirror-BfLRARNL.mjs → transcript-mirror-Bee2o6jj.mjs} +68 -68
  129. package/dist/.setup/{transcript-mirror-attestation-YSegaktH.mjs → transcript-mirror-attestation-BzUXnrvv.mjs} +5 -2
  130. package/dist/.setup/{transport-stdio-a0HDa2Mj.mjs → transport-stdio-CRWTkKOn.mjs} +67 -77
  131. package/dist/.setup/{transport-websocket-zqJ0Cmtn.mjs → transport-websocket-DIyPfkHo.mjs} +8 -16
  132. package/dist/.setup/{turn-router-sS69wYnI.mjs → turn-router-DKDAziUW.mjs} +30 -31
  133. package/dist/.setup/upstream-prompt-provenance-Ccd9MFRJ.mjs +44 -0
  134. package/dist/.setup/{upstream-session-fork-ChSld66u.mjs → upstream-session-fork-Djp_yssT.mjs} +50 -43
  135. package/dist/.setup/{usage-D8e8Xiqf.mjs → usage-DQA-peQC.mjs} +4 -4
  136. package/dist/.setup/{usage-limit-error-GbT-5NcW.mjs → usage-limit-error-2t3KBqiX.mjs} +12 -21
  137. package/dist/.setup/web-search-item-CvokaZOo.mjs +20 -0
  138. package/dist/.setup/{web-search-provider.runtime-dL2GD1Kl.mjs → web-search-provider.runtime-BsuCMNix.mjs} +3 -3
  139. package/dist/.setup/{workspace-write-sandbox-probe-DmUHLrrl.mjs → workspace-write-sandbox-probe-BDWO2Qkh.mjs} +4 -4
  140. package/dist/api.js +15 -15
  141. package/dist/catalog-page.worker.js +1 -1
  142. package/dist/cli-metadata.js +1 -1
  143. package/dist/doctor-contract-api.js +5 -6
  144. package/dist/harness.js +32 -61
  145. package/dist/index.js +302 -416
  146. package/dist/media-understanding-provider.js +32 -43
  147. package/dist/migration-provider-api.js +1 -1
  148. package/dist/native-session-binding-api.js +1 -1
  149. package/dist/native-tool-policy.js +23 -1
  150. package/dist/provider-discovery.js +1 -1
  151. package/dist/session-history-worker-runtime.js +52 -31
  152. package/dist/session-history.worker.js +1 -1
  153. package/openclaw.plugin.json +20 -3
  154. package/package.json +7 -7
  155. package/dist/.setup/attempt-terminal-gZrxQ35N.mjs +0 -5
  156. package/dist/.setup/plugin-thread-config-deadline-B8LGaZNW.mjs +0 -124
  157. package/dist/.setup/service-tier-normalization-Cei89SW6.mjs +0 -15
  158. package/dist/.setup/shell-dynamic-tools-D3Brj3g9.mjs +0 -85
  159. package/dist/.setup/thread-archive-guard-C9frICzX.mjs +0 -60
  160. package/dist/.setup/thread-requests-CL1e8Wmx.mjs +0 -2111
  161. package/dist/.setup/upstream-prompt-provenance-fXkKbPVC.mjs +0 -37
@@ -1,30 +1,32 @@
1
1
  import { i as isJsonObject, r as flattenCodexDynamicToolFunctions } from "./protocol-CANUwXJ3.mjs";
2
- import { m as sessionBindingIdentity } from "./session-binding-record-BZB8RgcF.mjs";
3
- import { d as readCodexPluginConfig } from "./config-parsing-BQq-CHTF.mjs";
4
- import { s as assertCodexModelBackedReviewerEffectiveConfig } from "./config-options-HG_Rr3W_.mjs";
5
- import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-Dp24d7-F.mjs";
6
- import { i as CodexAppServerScopedRequestRejectedError, o as isCodexAppServerOverloadError } from "./rpc-error-hmWM21RB.mjs";
7
- import { i as readUpstreamUserText, r as readMirrorIdentity } from "./upstream-prompt-provenance-fXkKbPVC.mjs";
8
- import { r as projectCodexUserItemText } from "./transcript-history-projection-B9a7HwUV.mjs";
2
+ import { m as sessionBindingIdentity } from "./session-binding-record-DU_0biMD.mjs";
3
+ import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
4
+ import { s as assertCodexModelBackedReviewerEffectiveConfig } from "./config-options-DDzeNQ8m.mjs";
5
+ import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-CeyYScUC.mjs";
6
+ import { i as CodexAppServerScopedRequestRejectedError, o as isCodexAppServerOverloadError } from "./rpc-error-C98SHchT.mjs";
7
+ import { a as readUpstreamUserText, i as readMirrorIdentity } from "./upstream-prompt-provenance-Ccd9MFRJ.mjs";
8
+ import { r as projectCodexUserItemText } from "./transcript-history-projection-DfKcoZCB.mjs";
9
9
  import { n as codexUpstreamBaseline, t as codexLastTerminalTurnId } from "./session-upstream-marker-D15C9NHp.mjs";
10
- import { r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-BW8rd98k.mjs";
10
+ import { r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
11
11
  import { n as readCodexSessionMeta } from "./session-catalog-provenance-CmsOE5mh.mjs";
12
- import "./request-jSbhc1sg.mjs";
13
- import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-0Gxk3_eq.mjs";
14
- import { r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-cUYrqu_a.mjs";
15
- import { a as fingerprintCodexMirrorSourceMessage, c as readCodexMirrorSourceFingerprint } from "./transcript-mirror-attestation-YSegaktH.mjs";
16
- import { P as claimCodexAppServerLiveThread, R as hasCodexAppServerLiveThread, f as readCodexAppServerClientDesktopGenerationFingerprint } from "./shared-client-qhyYWbew.mjs";
17
- import { m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-C8lgBOoO.mjs";
18
- import { A as buildCodexNativeHookRelayId, Ct as mergeCodexThreadConfigs, D as assertCodexNativeHookRelayAllowed, H as parseCodexNativeToolCatalog, L as checkCodexThreadAppAvailability, N as resolveCodexNativeHookRelayEvents, O as buildCodexNativeHookRelayConfig, Q as fingerprintUserMcpServersConfigPatch, Tt as shouldBuildCodexPluginThreadConfig, U as applyCodexNativeSkillIsolation, W as resolveCodexNativeSkillIsolation, Z as fingerprintJsonObject, a as buildCodexThreadConfiguration, g as buildDeveloperInstructions, gt as buildCodexPluginThreadConfig, m as resolveCodexWebSearchPlan, q as codexDynamicToolsFingerprint } from "./thread-requests-CL1e8Wmx.mjs";
19
- import "./session-binding-Ce7BqiPN.mjs";
20
- import { n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-DoNxbhqt.mjs";
21
- import "./thread-ownership-DwuSrt3s.mjs";
22
- import { n as resolveCodexNativeExecutionPolicy } from "./native-execution-policy-ClzpdG3D.mjs";
23
- import { l as isCodexDynamicToolExcluded } from "./shell-dynamic-tools-D3Brj3g9.mjs";
24
- import { c as prepareCodexWorkspaceDeveloperInstructions } from "./attempt-workspace-context-BY0jprWJ.mjs";
25
- import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-D68Whix6.mjs";
26
- import { n as prepareCodexSessionInitialization } from "./session-initialization-D6dtFQkE.mjs";
27
- import { createImportedCodexSession } from "./session-history-import-NWKPa4ZO.mjs";
12
+ import "./request-Y8dmbqZ3.mjs";
13
+ import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-C1YVVLEA.mjs";
14
+ import { r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
15
+ import { l as readCodexMirrorSourceFingerprint, o as fingerprintCodexMirrorSourceMessage } from "./transcript-mirror-attestation-BzUXnrvv.mjs";
16
+ import { P as claimCodexAppServerLiveThread, R as hasCodexAppServerLiveThread, f as readCodexAppServerClientDesktopGenerationFingerprint } from "./shared-client-ByIwuAC-.mjs";
17
+ import { m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-y7nO6X9c.mjs";
18
+ import { d as mergeCodexThreadConfigs, i as buildCodexPluginThreadConfig, p as shouldBuildCodexPluginThreadConfig } from "./project-doc-thread-config-BVcvnps8.mjs";
19
+ import { T as fingerprintUserMcpServersConfigPatch, _ as buildDeveloperInstructions, a as buildCodexThreadConfiguration, b as codexDynamicToolsFingerprint, h as resolveCodexWebSearchPlan, w as fingerprintJsonObject } from "./thread-requests-BgzJwJtS.mjs";
20
+ import "./session-binding-JEHNMPsr.mjs";
21
+ import "./thread-ownership-Be53aiaG.mjs";
22
+ import { n as resolveCodexNativeExecutionPolicy } from "./native-execution-policy-MXEe7PB3.mjs";
23
+ import { n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-CHgY-KNl.mjs";
24
+ import { b as isCodexDynamicToolExcluded, f as codexNativeHookRemoteCredentialPath, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, o as buildCodexNativeHookRelayId, r as assertCodexNativeHookRelayAllowed } from "./native-hook-relay-BUWIOrSr.mjs";
25
+ import { c as parseCodexNativeToolCatalog, i as checkCodexThreadAppAvailability, n as resolveCodexNativeSkillIsolation, t as applyCodexNativeSkillIsolation } from "./native-skill-isolation-UMVoNjZz.mjs";
26
+ import { c as prepareCodexWorkspaceDeveloperInstructions } from "./attempt-workspace-context-CcwP3DA3.mjs";
27
+ import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-CjRaV3bx.mjs";
28
+ import { n as prepareCodexSessionInitialization } from "./session-initialization-Bi_2DKhc.mjs";
29
+ import { createImportedCodexSession } from "./session-history-import-CaO8s6ta.mjs";
28
30
  import { isRecord, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
29
31
  import { randomUUID } from "node:crypto";
30
32
  import { isDeepStrictEqual } from "node:util";
@@ -32,13 +34,13 @@ import path from "node:path";
32
34
  import { lstat } from "node:fs/promises";
33
35
  import { root } from "openclaw/plugin-sdk/file-access-runtime";
34
36
  import { constants, createZstdDecompress } from "node:zlib";
35
- import { loadCodexBundleMcpThreadConfig } from "openclaw/plugin-sdk/agent-harness-runtime";
36
37
  import { resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/agent-runtime";
38
+ import { loadCodexBundleMcpThreadConfig } from "openclaw/plugin-sdk/agent-harness-runtime";
37
39
  import { loadExecApprovals } from "openclaw/plugin-sdk/exec-approvals-runtime";
38
40
  import { resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
41
+ import { appendSessionTranscriptMessagesByIdentity, readVisibleSessionTranscriptMessageEntries } from "openclaw/plugin-sdk/session-transcript-runtime";
39
42
  import { buildCodexUserMcpServersThreadConfigPatchForRuntime, resolveCodexMcpToolOverridesForAgent } from "openclaw/plugin-sdk/codex-mcp-projection";
40
43
  import { buildNativeHookRelayCommandPlan } from "openclaw/plugin-sdk/native-hook-relay-runtime";
41
- import { appendSessionTranscriptMessagesByIdentity, readVisibleSessionTranscriptMessageEntries } from "openclaw/plugin-sdk/session-transcript-runtime";
42
44
  //#region extensions/codex/src/session-rollout-snapshot.ts
43
45
  const CHUNK_BYTES = 65536;
44
46
  const META_BYTES = 1048576;
@@ -267,16 +269,17 @@ async function prepareCanonicalCodexFork(params) {
267
269
  });
268
270
  assertCurrent();
269
271
  const generation = randomUUID();
272
+ const relayId = buildCodexNativeHookRelayId({
273
+ agentId: created.agentId,
274
+ sessionKey: created.key,
275
+ sessionId: created.sessionId
276
+ });
270
277
  const relay = buildNativeHookRelayCommandPlan({
271
278
  provider: "codex",
272
279
  agentId: created.agentId,
273
280
  sessionKey: created.key,
274
281
  config,
275
- relayId: buildCodexNativeHookRelayId({
276
- agentId: created.agentId,
277
- sessionKey: created.key,
278
- sessionId: created.sessionId
279
- }),
282
+ relayId,
280
283
  generation,
281
284
  preToolUseLoopDetection: appServer.loopDetectionPreToolUseRelay
282
285
  });
@@ -306,13 +309,17 @@ async function prepareCanonicalCodexFork(params) {
306
309
  sessionKey: created.key,
307
310
  modelId: params.model
308
311
  };
309
- const developerInstructions = [buildDeveloperInstructions(promptContext, { dynamicTools }), workspaceInstructions].filter(Boolean).join("\n\n");
312
+ const developerInstructions = [buildDeveloperInstructions(promptContext, {
313
+ dynamicTools,
314
+ nativeCodeModeOnlyEnabled: appServer.codeModeOnly
315
+ }), workspaceInstructions].filter(Boolean).join("\n\n");
310
316
  const bundleConfig = bundleMcp.configPatch;
311
317
  if (bundleConfig && !isJsonObject(bundleConfig)) throw new Error("Invalid child MCP thread configuration");
312
318
  const threadConfig = applyCodexNativeSkillIsolation(mergeCodexThreadConfigs(bundleConfig, userMcp, apps?.configPatch, appServer.networkProxy?.configPatch, buildCodexNativeHookRelayConfig({
313
319
  relay,
314
320
  events,
315
- clearOmittedEvents: true
321
+ clearOmittedEvents: true,
322
+ ...appServer.nativeHookRelay ? { remoteCredentialPath: codexNativeHookRemoteCredentialPath(appServer.nativeHookRelay, relayId, generation) } : {}
316
323
  })), nativeSkillIsolation);
317
324
  return {
318
325
  request: buildCodexThreadConfiguration(promptContext, {
@@ -348,6 +355,7 @@ async function prepareCanonicalCodexFork(params) {
348
355
  }
349
356
  //#endregion
350
357
  //#region extensions/codex/src/app-server/upstream-fork-boundary.ts
358
+ const IN_PROGRESS_TURN_MESSAGE = "This Codex turn is still in progress. Wait for it to finish, then try forking again.";
351
359
  const TURN_PAGE_LIMIT = 100;
352
360
  function failure(code, message) {
353
361
  return {
@@ -361,10 +369,8 @@ function textOnlyMessage(content) {
361
369
  if (!Array.isArray(content)) return;
362
370
  const texts = [];
363
371
  for (const block of content) {
364
- if (!block || typeof block !== "object" || Array.isArray(block)) return;
365
- const typed = block;
366
- if (typed.type !== "text" || typeof typed.text !== "string") return;
367
- texts.push(typed.text);
372
+ if (!isRecord(block) || block.type !== "text" || typeof block.text !== "string") return;
373
+ texts.push(block.text);
368
374
  }
369
375
  return texts.join("\n");
370
376
  }
@@ -395,7 +401,7 @@ function resolveCodexUpstreamForkBoundaryFromTurns(params) {
395
401
  continue;
396
402
  }
397
403
  if (isSteer) return failure("steer-message", "This message steered an existing Codex turn and cannot be forked independently. Fork from the turn's first message instead.");
398
- if (turn.status === "inProgress") return failure("in-progress-turn", "This Codex turn is still in progress. Wait for it to finish, then try forking again.");
404
+ if (turn.status === "inProgress") return failure("in-progress-turn", IN_PROGRESS_TURN_MESSAGE);
399
405
  const retained = turnIndex > 0 ? params.turns[turnIndex - 1] : void 0;
400
406
  return {
401
407
  ok: true,
@@ -494,7 +500,7 @@ async function resolveCodexUpstreamForkBoundary(params) {
494
500
  function precheckCodexUpstreamForkBoundary(params) {
495
501
  const target = params.turns.find((turn) => turn.id === params.boundary.beforeTurnId);
496
502
  if (!target) return failure("upstream-unavailable", "The Codex thread changed before it could be forked. Refresh the session and try again.");
497
- if (target.status === "inProgress") return failure("in-progress-turn", "This Codex turn is still in progress. Wait for it to finish, then try forking again.");
503
+ if (target.status === "inProgress") return failure("in-progress-turn", IN_PROGRESS_TURN_MESSAGE);
498
504
  return {
499
505
  ok: true,
500
506
  boundary: params.boundary
@@ -680,7 +686,7 @@ async function forkCanonicalCodexSession(params) {
680
686
  });
681
687
  assertCurrent();
682
688
  if (appended.length !== resolved.canonical.prefix.length || appended.some((item, index) => !item.appended || !isDeepStrictEqual(item.message, resolved.canonical.prefix[index]?.message) || index > 0 && item.effectiveParentId !== appended[index - 1]?.messageId)) throw new Error("The canonical Codex display prefix could not be copied completely");
683
- initialization.link({
689
+ await initialization.linkAsync({
684
690
  sessionKey: created.key,
685
691
  agentId: created.agentId,
686
692
  catalogId: fork.upstream.catalogId,
@@ -728,6 +734,7 @@ async function forkCanonicalCodexSession(params) {
728
734
  }
729
735
  //#endregion
730
736
  //#region extensions/codex/src/app-server/upstream-session-fork.ts
737
+ const UNAVAILABLE_CONNECTION_MESSAGE = "This Codex thread is not available on the current connection. Reconnect to its host and try again.";
731
738
  function unavailable(message) {
732
739
  return {
733
740
  status: "failed",
@@ -739,7 +746,7 @@ async function forkCodexUpstreamSession(params, options) {
739
746
  try {
740
747
  const sourceFingerprint = params.upstream.kind === "codex-app-server" && isRecord(params.upstream.ref) ? readNonBlankString(params.upstream.ref.connectionFingerprint) : void 0;
741
748
  const requestControl = sourceFingerprint ? await options.controlFactory.forUpstream(params.source.agentId, sourceFingerprint) : void 0;
742
- if (!sourceFingerprint || !requestControl) return unavailable("This Codex thread is not available on the current connection. Reconnect to its host and try again.");
749
+ if (!sourceFingerprint || !requestControl) return unavailable(UNAVAILABLE_CONNECTION_MESSAGE);
743
750
  return await requestControl.withPinnedConnection(async (control) => {
744
751
  const sourceBinding = options.bindingStore.read(sessionBindingIdentity({
745
752
  ...params.source,
@@ -760,7 +767,7 @@ async function forkCodexUpstreamSession(params, options) {
760
767
  throw new Error("Codex fork cleanup could not be verified; inspect the retained native thread before retrying.", { cause });
761
768
  }
762
769
  });
763
- if (sourceFingerprint !== control.connectionFingerprint || supervised && (sourceBinding.supervisionSourceThreadId !== params.upstream.threadId || (sourceBinding.pendingSupervisionBranch?.connectionFingerprint ?? sourceBinding.appServerRuntimeFingerprint) !== sourceFingerprint)) return unavailable("This Codex thread is not available on the current connection. Reconnect to its host and try again.");
770
+ if (sourceFingerprint !== control.connectionFingerprint || supervised && (sourceBinding.supervisionSourceThreadId !== params.upstream.threadId || (sourceBinding.pendingSupervisionBranch?.connectionFingerprint ?? sourceBinding.appServerRuntimeFingerprint) !== sourceFingerprint)) return unavailable(UNAVAILABLE_CONNECTION_MESSAGE);
764
771
  const resolved = await resolveCodexUpstreamForkBoundary({
765
772
  ...params.source,
766
773
  threadId: sourceThreadId,
@@ -845,7 +852,7 @@ async function forkCodexUpstreamSession(params, options) {
845
852
  modelSelectionLocked: true
846
853
  },
847
854
  afterImport: async (entry, initialization) => {
848
- initialization.link({
855
+ await initialization.linkAsync({
849
856
  sessionKey: entry.key,
850
857
  agentId: entry.agentId,
851
858
  catalogId: params.upstream.catalogId,
@@ -1,7 +1,7 @@
1
- import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-CMPy24F5.mjs";
2
- import { t as readCodexAppServerUsage } from "./request-jSbhc1sg.mjs";
3
- import "./config-0Gxk3_eq.mjs";
4
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-cUYrqu_a.mjs";
1
+ import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-CI8pTPqL.mjs";
2
+ import { t as readCodexAppServerUsage } from "./request-Y8dmbqZ3.mjs";
3
+ import "./config-C1YVVLEA.mjs";
4
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
5
5
  import { CODEX_APP_SERVER_AUTH_MARKER } from "openclaw/plugin-sdk/agent-runtime";
6
6
  //#region extensions/codex/src/app-server/usage.ts
7
7
  /** Handles the synthetic usage credential for a Codex-backed OpenAI route. */
@@ -1,10 +1,10 @@
1
1
  import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
- import { a as shouldRefreshCodexRateLimitsForUsageLimitMessage, i as resolveCodexUsageLimitResetAtMs, n as formatCodexUsageLimitErrorMessage } from "./rate-limits-CMPy24F5.mjs";
3
- import { t as CODEX_CONTROL_METHODS } from "./capabilities-kQntafj_.mjs";
4
- import { X as readRecentCodexRateLimits, Y as readCodexRateLimitsRevision, Z as rememberCodexRateLimitsRead } from "./shared-client-qhyYWbew.mjs";
2
+ import { a as shouldRefreshCodexRateLimitsForUsageLimitMessage, i as resolveCodexUsageLimitResetAtMs, n as formatCodexUsageLimitErrorMessage } from "./rate-limits-CI8pTPqL.mjs";
3
+ import { t as CODEX_CONTROL_METHODS } from "./capabilities-DbOzOglY.mjs";
4
+ import { X as readRecentCodexRateLimits, Y as readCodexRateLimitsRevision, Z as rememberCodexRateLimitsRead } from "./shared-client-ByIwuAC-.mjs";
5
5
  import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
6
- import { embeddedAgentLog, formatErrorMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
7
6
  import { markAuthProfileBlockedUntil } from "openclaw/plugin-sdk/agent-runtime";
7
+ import { embeddedAgentLog, formatErrorMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
8
8
  //#region extensions/codex/src/app-server/usage-limit-error.ts
9
9
  const CODEX_USAGE_LIMIT_RATE_LIMIT_REFRESH_TIMEOUT_MS = 5e3;
10
10
  var CodexUsageLimitPromptError = class extends Error {
@@ -59,41 +59,32 @@ async function markCodexAuthProfileBlockedFromRateLimits(params) {
59
59
  }
60
60
  async function formatCodexTurnStartUsageLimitError(params) {
61
61
  return refreshCodexUsageLimitError({
62
- client: params.client,
63
- source: readCodexTurnStartUsageLimitErrorSource(params.client, params.error, params.errorNotification, params.rateLimitsRevisionBeforeTurnStart),
64
- timeoutMs: params.timeoutMs,
65
- signal: params.signal
62
+ ...params,
63
+ source: readCodexTurnStartUsageLimitErrorSource(params.client, params.error, params.errorNotification, params.rateLimitsRevisionBeforeTurnStart)
66
64
  });
67
65
  }
68
66
  async function refreshCodexUsageLimitPromptError(params) {
69
67
  if (!shouldRefreshCodexRateLimitsForUsageLimitMessage(params.message)) return;
70
68
  return refreshCodexUsageLimitError({
71
- client: params.client,
69
+ ...params,
72
70
  source: {
73
71
  message: params.message,
74
72
  codexErrorInfo: "usageLimitExceeded",
75
73
  rateLimits: readRecentCodexRateLimits(params.client)
76
- },
77
- timeoutMs: params.timeoutMs,
78
- signal: params.signal
74
+ }
79
75
  });
80
76
  }
81
77
  async function refreshCodexUsageLimitError(params) {
82
78
  const initialMessage = formatCodexUsageLimitErrorMessage(params.source);
83
79
  const rateLimits = shouldRefreshCodexRateLimitsForUsageLimitMessage(initialMessage) ? await readCodexRateLimitsFromAppServerForUsageLimitError(params) : void 0;
84
- if (!rateLimits) return initialMessage ? {
85
- message: initialMessage,
86
- ...params.source.rateLimitsTrustedForProfile ? { rateLimitsForProfile: params.source.rateLimits } : {}
87
- } : void 0;
88
- const message = formatCodexUsageLimitErrorMessage({
89
- message: params.source.message,
90
- codexErrorInfo: params.source.codexErrorInfo,
80
+ const message = rateLimits ? formatCodexUsageLimitErrorMessage({
81
+ ...params.source,
91
82
  rateLimits,
92
83
  rateLimitsAuthoritative: true
93
- }) ?? initialMessage;
84
+ }) ?? initialMessage : initialMessage;
94
85
  return message ? {
95
86
  message,
96
- rateLimitsForProfile: rateLimits
87
+ ...rateLimits || params.source.rateLimitsTrustedForProfile ? { rateLimitsForProfile: rateLimits || params.source.rateLimits } : {}
97
88
  } : void 0;
98
89
  }
99
90
  async function readCodexRateLimitsFromAppServerForUsageLimitError(params) {
@@ -0,0 +1,20 @@
1
+ import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
+ import { normalizeOptionalString, normalizeTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
3
+ //#region extensions/codex/src/app-server/web-search-item.ts
4
+ function projectCodexWebSearchItem(item) {
5
+ const action = isJsonObject(item.action) ? item.action : void 0;
6
+ const actionType = normalizeOptionalString(action?.type);
7
+ const queries = actionType === "search" ? normalizeTrimmedStringList(action?.queries) : [];
8
+ const query = normalizeOptionalString(item.query) ?? (actionType === "search" ? normalizeOptionalString(action?.query) : void 0) ?? queries[0];
9
+ const url = normalizeOptionalString(action?.url);
10
+ const pattern = normalizeOptionalString(action?.pattern);
11
+ return {
12
+ ...query ? { query } : {},
13
+ ...queries.length > 0 ? { queries } : {},
14
+ ...actionType && actionType !== "search" ? { action: actionType } : {},
15
+ ...url ? { url } : {},
16
+ ...pattern ? { pattern } : {}
17
+ };
18
+ }
19
+ //#endregion
20
+ export { projectCodexWebSearchItem as t };
@@ -1,6 +1,6 @@
1
- import { p as buildCodexNativeWebSearchThreadConfig } from "./thread-requests-CL1e8Wmx.mjs";
2
- import { l as projectCodexWebSearchItem } from "./native-subagent-monitor-BUYOUp9X.mjs";
3
- import { runBoundedCodexAppServerTurn } from "./bounded-turn-pGsfXcmH.mjs";
1
+ import { m as buildCodexNativeWebSearchThreadConfig } from "./thread-requests-BgzJwJtS.mjs";
2
+ import { runBoundedCodexAppServerTurn } from "./bounded-turn-CyQVQwGe.mjs";
3
+ import { t as projectCodexWebSearchItem } from "./web-search-item-CvokaZOo.mjs";
4
4
  import { readStringParam, resolveSearchTimeoutSeconds, wrapWebContent } from "openclaw/plugin-sdk/provider-web-search";
5
5
  //#region extensions/codex/src/web-search-provider.runtime.ts
6
6
  async function executeCodexWebSearchProviderTool(ctx, args, executionContext, options) {
@@ -1,6 +1,6 @@
1
1
  import { a as resolveCodexPrivateLauncher, n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
2
- import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-a0HDa2Mj.mjs";
3
- import { t as resolveCodexDoctorStartOptions } from "./doctor-start-options-DPW9JxIE.mjs";
2
+ import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-CRWTkKOn.mjs";
3
+ import { t as resolveCodexDoctorStartOptions } from "./doctor-start-options-JjTAl-q_.mjs";
4
4
  import { runUtf8CommandWithTimeout } from "openclaw/plugin-sdk/process-runtime";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
@@ -79,7 +79,7 @@ async function probeCodexWorkspaceWriteSandbox(params) {
79
79
  if (result.outputLimitExceeded || result.termination !== "exit" || result.signal) return {
80
80
  status: "inconclusive",
81
81
  command,
82
- reason: result.outputLimitExceeded ? "Sandbox probe output exceeded its capture limit." : result.termination === "timeout" ? `Sandbox probe timed out after ${PROBE_TIMEOUT_MS} ms.` : `Sandbox probe ended with ${result.signal ?? result.termination}.`
82
+ reason: result.outputLimitExceeded ? "Sandbox check output exceeded its capture limit." : result.termination === "timeout" ? `Sandbox check timed out after ${PROBE_TIMEOUT_MS} ms.` : `Sandbox check ended with ${result.signal ?? result.termination}.`
83
83
  };
84
84
  if (result.code === 0) return {
85
85
  status: "ok",
@@ -94,7 +94,7 @@ async function probeCodexWorkspaceWriteSandbox(params) {
94
94
  return {
95
95
  status: "inconclusive",
96
96
  command,
97
- reason: `Sandbox probe exited with ${result.code ?? "no exit code"} without a recognized bwrap denial.`
97
+ reason: `Sandbox check exited with ${result.code ?? "no exit code"} without a recognized bwrap denial.`
98
98
  };
99
99
  } finally {
100
100
  await fs.rm(root, {
package/dist/api.js CHANGED
@@ -1,7 +1,7 @@
1
- import { i as resolveManagedCodexNativeCommand, s as CODEX_APP_SERVER_VERSION } from "./.setup/managed-binary-C1VFoVPf.mjs";
1
+ import { i as resolveManagedCodexNativeCommand, s as CODEX_APP_SERVER_VERSION } from "./.setup/managed-binary-BtIjV7yN.mjs";
2
2
  import { t as codexNativeProfileRecoveryHealthCheck } from "./.setup/auth-profile-health-oHizqgye.mjs";
3
3
  import { n as findCodexAppServerSpawnError, t as describeCodexSpawnError } from "./.setup/spawn-error-CL3n6MAa.mjs";
4
- import { t as resolveCodexDoctorStartOptions } from "./.setup/doctor-start-options-DPW9JxIE.mjs";
4
+ import { t as resolveCodexDoctorStartOptions } from "./.setup/doctor-start-options-JjTAl-q_.mjs";
5
5
  import { runUtf8CommandWithTimeout } from "openclaw/plugin-sdk/process-runtime";
6
6
  import path from "node:path";
7
7
  import { coerceErrorMessage } from "openclaw/plugin-sdk/error-runtime";
@@ -10,8 +10,8 @@ import { fileURLToPath } from "node:url";
10
10
  const CODEX_MANAGED_APP_SERVER_CHECK_ID = "codex/managed-app-server";
11
11
  const CODEX_VERSION_TIMEOUT_MS = 5e3;
12
12
  const CODEX_VERSION_MAX_BUFFER_BYTES = 65536;
13
- function managedCodexFinding(params) {
14
- return {
13
+ function managedCodexFindings(params) {
14
+ return [{
15
15
  checkId: CODEX_MANAGED_APP_SERVER_CHECK_ID,
16
16
  severity: params.severity ?? "error",
17
17
  source: "codex",
@@ -19,7 +19,7 @@ function managedCodexFinding(params) {
19
19
  ...params.path ? { path: params.path } : {},
20
20
  ...params.requirement ? { requirement: params.requirement } : {},
21
21
  ...params.fixHint ? { fixHint: params.fixHint } : {}
22
- };
22
+ }];
23
23
  }
24
24
  function parseCodexVersion(output) {
25
25
  return /(?:^|\s)(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)(?:\s|$)/u.exec(output)?.[1];
@@ -36,7 +36,7 @@ async function runVersionCommand(command, env) {
36
36
  killSignal: "SIGKILL",
37
37
  killGraceMs: 0
38
38
  });
39
- if (result.termination !== "exit" || result.code !== 0 || result.outputLimitExceeded) throw new Error(result.outputLimitExceeded ? "Version output exceeded its capture limit" : result.termination === "timeout" ? `Version probe timed out after ${CODEX_VERSION_TIMEOUT_MS} ms` : `Version probe failed (${result.signal ?? result.code ?? result.termination})`);
39
+ if (result.termination !== "exit" || result.code !== 0 || result.outputLimitExceeded) throw new Error(result.outputLimitExceeded ? "Version output exceeded its capture limit" : result.termination === "timeout" ? `Version check timed out after ${CODEX_VERSION_TIMEOUT_MS} ms` : `Version check failed (${result.signal ?? result.code ?? result.termination})`);
40
40
  return result;
41
41
  }
42
42
  function createCodexManagedAppServerHealthCheck(params) {
@@ -62,43 +62,43 @@ function createCodexManagedAppServerHealthCheck(params) {
62
62
  deps: params.deps
63
63
  });
64
64
  } catch (error) {
65
- return [managedCodexFinding({
65
+ return managedCodexFindings({
66
66
  message: `Managed Codex app-server could not be resolved: ${coerceErrorMessage(error)}`,
67
67
  path: params.pluginRoot,
68
68
  requirement: `an executable Codex ${CODEX_APP_SERVER_VERSION} managed artifact`,
69
69
  fixHint: "Reinstall the staged OpenClaw package with its @openai/codex platform dependency, then rerun the candidate check."
70
- })];
70
+ });
71
71
  }
72
72
  if (selection.status === "skipped") return [];
73
73
  const resolved = selection.start;
74
74
  const nativeCommand = resolveNativeCommand(resolved.command);
75
- if (!nativeCommand) return [managedCodexFinding({
75
+ if (!nativeCommand) return managedCodexFindings({
76
76
  message: "Managed Codex app-server resolved a launcher without a native artifact.",
77
77
  path: resolved.command,
78
78
  requirement: `the platform-native Codex ${CODEX_APP_SERVER_VERSION} executable`,
79
79
  fixHint: "Reinstall the staged OpenClaw package with the matching @openai/codex platform package, then rerun the candidate check."
80
- })];
80
+ });
81
81
  let output;
82
82
  try {
83
83
  output = await (params.deps?.runVersionCommand ? params.deps.runVersionCommand(nativeCommand) : runVersionCommand(nativeCommand, env));
84
84
  } catch (error) {
85
85
  const spawnFailure = findCodexAppServerSpawnError(describeCodexSpawnError(error, nativeCommand));
86
- return [managedCodexFinding({
86
+ return managedCodexFindings({
87
87
  message: spawnFailure?.message ?? `Managed Codex app-server version check failed: ${coerceErrorMessage(error)}`,
88
88
  severity: spawnFailure && resolved.managedCommandOrder === "package-only" ? "warning" : versionFailureSeverity,
89
89
  path: nativeCommand,
90
90
  requirement: `Codex ${CODEX_APP_SERVER_VERSION} must report its version within ${CODEX_VERSION_TIMEOUT_MS} ms`,
91
91
  fixHint: versionFailureHint ?? "Repair or reinstall the staged OpenClaw package, then rerun the candidate check before cutover."
92
- })];
92
+ });
93
93
  }
94
94
  const detectedVersion = parseCodexVersion(`${output.stdout}\n${output.stderr}`);
95
- if (detectedVersion !== "0.160.0") return [managedCodexFinding({
95
+ if (detectedVersion !== "0.160.0") return managedCodexFindings({
96
96
  severity: versionFailureSeverity,
97
97
  message: detectedVersion ? `Managed Codex app-server version mismatch: expected ${CODEX_APP_SERVER_VERSION}, detected ${detectedVersion}.` : `Managed Codex app-server did not report a parseable version; expected ${CODEX_APP_SERVER_VERSION}.`,
98
98
  path: nativeCommand,
99
99
  requirement: `the exact OpenClaw-pinned Codex version ${CODEX_APP_SERVER_VERSION}`,
100
100
  fixHint: versionFailureHint ?? "Reinstall the staged OpenClaw package so its managed @openai/codex dependency matches the pinned version, then rerun the candidate check."
101
- })];
101
+ });
102
102
  return [];
103
103
  }
104
104
  };
@@ -115,7 +115,7 @@ function registerCodexManagedAppServerDoctorChecks$1(host, deps) {
115
115
  const CODEX_PLUGIN_ROOT = path.dirname(fileURLToPath(import.meta.url));
116
116
  async function probeCodexWorkspaceWriteSandbox(params) {
117
117
  try {
118
- const { probeCodexWorkspaceWriteSandbox: probe } = await import("./.setup/workspace-write-sandbox-probe-DmUHLrrl.mjs");
118
+ const { probeCodexWorkspaceWriteSandbox: probe } = await import("./.setup/workspace-write-sandbox-probe-BDWO2Qkh.mjs");
119
119
  return await probe({
120
120
  ...params,
121
121
  pluginRoot: CODEX_PLUGIN_ROOT
@@ -1,4 +1,4 @@
1
- import { t as createCodexCatalogDecoder } from "./.setup/client-catalog-response-Bqp7WG51.mjs";
1
+ import { t as createCodexCatalogDecoder } from "./.setup/client-catalog-response-DsbEAtpd.mjs";
2
2
  import { serveWorkerTasks } from "openclaw/plugin-sdk/worker-task-server";
3
3
  //#region extensions/codex/catalog-page.worker.ts
4
4
  const decode = createCodexCatalogDecoder();
@@ -2,7 +2,7 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
2
2
  //#region extensions/codex/cli-metadata.ts
3
3
  function registerCodexCliMetadata(api) {
4
4
  api.registerCli(async ({ program }) => {
5
- const { registerCodexSessionCli } = await import("./.setup/session-cli-kH4vuGod.mjs");
5
+ const { registerCodexSessionCli } = await import("./.setup/session-cli-GwU0izn-.mjs");
6
6
  registerCodexSessionCli(program);
7
7
  }, { descriptors: [{
8
8
  name: "codex",
@@ -128,7 +128,6 @@ function hasRetiredTurnIdleTimeout(value) {
128
128
  const appServer = asNullableRecord(value);
129
129
  return appServer !== null && RETIRED_TURN_IDLE_TIMEOUT_KEYS.some((key) => Object.hasOwn(appServer, key));
130
130
  }
131
- /** Legacy Codex config keys that doctor should report or repair. */
132
131
  const legacyConfigRules = [
133
132
  {
134
133
  path: [
@@ -249,15 +248,15 @@ const stateMigrations = [
249
248
  {
250
249
  id: "codex-app-server-sidecars-to-plugin-state",
251
250
  label: "Codex app-server thread bindings",
252
- detectLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-BrdV95Fg.mjs")).detectLegacySessionBindingSidecars(params),
253
- migrateLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-BrdV95Fg.mjs")).migrateLegacySessionBindingSidecars(params)
251
+ detectLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-DD-enC8w.mjs")).detectLegacySessionBindingSidecars(params),
252
+ migrateLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-DD-enC8w.mjs")).migrateLegacySessionBindingSidecars(params)
254
253
  },
255
254
  {
256
255
  id: "codex-native-task-assignments",
257
256
  label: "Codex native pending assignments",
258
- collectBackupResources: async (params) => (await import("./.setup/native-task-assignments-C6KVqiN1.mjs")).codexNativeTaskAssignmentMigration.collectBackupResources(params),
259
- detectLegacyState: async (params) => (await import("./.setup/native-task-assignments-C6KVqiN1.mjs")).codexNativeTaskAssignmentMigration.detectLegacyState(params),
260
- migrateLegacyState: async (params) => (await import("./.setup/native-task-assignments-C6KVqiN1.mjs")).codexNativeTaskAssignmentMigration.migrateLegacyState(params)
257
+ collectBackupResources: async (params) => (await import("./.setup/native-task-assignments-DimsQ9Qa.mjs")).codexNativeTaskAssignmentMigration.collectBackupResources(params),
258
+ detectLegacyState: async (params) => (await import("./.setup/native-task-assignments-DimsQ9Qa.mjs")).codexNativeTaskAssignmentMigration.detectLegacyState(params),
259
+ migrateLegacyState: async (params) => (await import("./.setup/native-task-assignments-DimsQ9Qa.mjs")).codexNativeTaskAssignmentMigration.migrateLegacyState(params)
261
260
  },
262
261
  codexOrphanedSessionBindingMigration
263
262
  ];