@openclaw/codex 2026.10.5-beta.4 → 2026.10.6

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 (122) hide show
  1. package/dist/.setup/{account-usage-runtime-CoVpNIlD.mjs → account-usage-runtime-E3SrjJVn.mjs} +3 -3
  2. package/dist/.setup/{app-server-policy-D_zv8J7V.mjs → app-server-policy-V8zuN8q_.mjs} +1 -1
  3. package/dist/.setup/{apply-BXDMd05l.mjs → apply-C3s-1Zxe.mjs} +14 -14
  4. package/dist/.setup/{attempt-client-cleanup-zNuNTKVr.mjs → attempt-client-cleanup-BVww-ct8.mjs} +5 -5
  5. package/dist/.setup/attempt-terminal-sZutF0WY.mjs +1 -0
  6. package/dist/.setup/{attempt-workspace-context-CcwP3DA3.mjs → attempt-workspace-context-BkA0W8Jy.mjs} +1 -1
  7. package/dist/.setup/{auth-binding-BaxlhaNx.mjs → auth-binding-BFTkrP_b.mjs} +1 -1
  8. package/dist/.setup/{auth-cache-key-f8ODJ_OX.mjs → auth-cache-key-CXK7tmkb.mjs} +6 -5
  9. package/dist/.setup/{auth-profile-health-oHizqgye.mjs → auth-profile-health-B05o5BAm.mjs} +12 -5
  10. package/dist/.setup/{binding-connection-B7HAAZSI.mjs → binding-connection-C0t9TBX_.mjs} +2 -2
  11. package/dist/.setup/{binding-connection.runtime-DAXn7iFl.mjs → binding-connection.runtime-Wdm5G_bw.mjs} +2 -2
  12. package/dist/.setup/{bounded-turn-isolation-BfDAo-qZ.mjs → bounded-turn-isolation-CIQJykuM.mjs} +4 -4
  13. package/dist/.setup/{bounded-turn-DfIJtRlv.mjs → bounded-turn-vdpL2efh.mjs} +13 -12
  14. package/dist/.setup/{build-state-Ds14X10-.mjs → build-state-DPMC9C_U.mjs} +1 -1
  15. package/dist/.setup/{client-D93nbdB8.mjs → client-Div-zqnz.mjs} +22 -18
  16. package/dist/.setup/{client-catalog-response-CuVLp4I0.mjs → client-catalog-response-Dtob_lVt.mjs} +1 -1
  17. package/dist/.setup/{command-dispatch-DxdH5a9-.mjs → command-dispatch-ByO36LmS.mjs} +1 -1
  18. package/dist/.setup/{command-handlers-fiYvYYq0.mjs → command-handlers-CJqo6LZS.mjs} +24 -24
  19. package/dist/.setup/{command-rpc-HIvsy3wS.mjs → command-rpc-Co0UzT-T.mjs} +11 -11
  20. package/dist/.setup/{compact-ClZ7Ar7L.mjs → compact-CzNBg4cQ.mjs} +13 -13
  21. package/dist/.setup/{computer-use-DL2v3Kxq.mjs → computer-use-BcDrQlxi.mjs} +8 -8
  22. package/dist/.setup/{config-C1YVVLEA.mjs → config-LQemoqTL.mjs} +5 -6
  23. package/dist/.setup/{config-options-DDzeNQ8m.mjs → config-options-CZmH25Xq.mjs} +2 -3
  24. package/dist/.setup/{config-parsing-DsWSCPHO.mjs → config-parsing-CVK2Q463.mjs} +44 -6
  25. package/dist/.setup/{config-runtime-DWzK-k0n.mjs → config-runtime-DGB1-VbB.mjs} +2 -2
  26. package/dist/.setup/{config-security-clxAZYWX.mjs → config-security-DpkGNy5T.mjs} +2 -3
  27. package/dist/.setup/{conversation-binding-BieJZRRV.mjs → conversation-binding-Dcv7_rs-.mjs} +42 -33
  28. package/dist/.setup/{conversation-binding-data-UgLuTSQT.mjs → conversation-binding-data-GRGSgAro.mjs} +1 -1
  29. package/dist/.setup/{conversation-control-GXM3unE4.mjs → conversation-control-BtPxevoK.mjs} +4 -4
  30. package/dist/.setup/{cyber-failover-D4dgNfFf.mjs → cyber-failover-B-q6oT01.mjs} +2 -2
  31. package/dist/.setup/{cyber-failover-notice-ljgGGL0s.mjs → cyber-failover-notice-poL3Advd.mjs} +1 -1
  32. package/dist/.setup/{doctor-start-options-JjTAl-q_.mjs → doctor-start-options-C28ek2hD.mjs} +5 -5
  33. package/dist/.setup/{dynamic-tool-build-DcaPmBlE.mjs → dynamic-tool-build-DjbDZzOJ.mjs} +5 -5
  34. package/dist/.setup/{dynamic-tools-CnQFnNKH.mjs → dynamic-tools-75qoSOch.mjs} +10 -10
  35. package/dist/.setup/{effective-mcp-catalog-B5HKFZNK.mjs → effective-mcp-catalog-Dz0J8iAj.mjs} +7 -7
  36. package/dist/.setup/{ephemeral-turn-De3qb8EQ.mjs → ephemeral-turn-K_d99r9P.mjs} +2 -2
  37. package/dist/.setup/{inference-proxy-BDWV0djM.mjs → inference-proxy-DSnaS-uS.mjs} +5 -4
  38. package/dist/.setup/{isolated-completion-BPJdvk5F.mjs → isolated-completion-dNt4kRLw.mjs} +7 -7
  39. package/dist/.setup/{managed-binary-BtIjV7yN.mjs → managed-binary-DwC9wxch.mjs} +1 -1
  40. package/dist/.setup/{mcp-app-session-preparation-Dz2GOwyE.mjs → mcp-app-session-preparation-C7LyxbAm.mjs} +12 -17
  41. package/dist/.setup/{mcp-tool-metadata-DW41snf3.mjs → mcp-tool-metadata-_sawBkIh.mjs} +1 -1
  42. package/dist/.setup/{model-catalog-ZNwltCKl.mjs → model-catalog-BRJ7RMXY.mjs} +8 -8
  43. package/dist/.setup/{models-BHpbAuz8.mjs → models-CusrgpiY.mjs} +3 -3
  44. package/dist/.setup/{native-auth-esN5MdIv.mjs → native-auth-CveRfTpz.mjs} +4 -4
  45. package/dist/.setup/{native-hook-relay-wq7jrNLk.mjs → native-hook-relay-BvwSj5bt.mjs} +5 -5
  46. package/dist/.setup/{native-mcp-app-DX3nyTtc.mjs → native-mcp-app-DDEtVQED.mjs} +6 -6
  47. package/dist/.setup/{native-skill-isolation-DSBeF-Yy.mjs → native-skill-isolation-Cx2AkUco.mjs} +3 -3
  48. package/dist/.setup/{native-subagent-monitor-DOLEIf9r.mjs → native-subagent-monitor-CBYFkNsB.mjs} +67 -20
  49. package/dist/.setup/{native-task-assignments-DimsQ9Qa.mjs → native-task-assignments-DYL9uxNe.mjs} +3 -3
  50. package/dist/.setup/{node-cli-sessions-CzKg2nGq.mjs → node-cli-sessions-BxVYZNuY.mjs} +2 -2
  51. package/dist/.setup/{node-exec-server.runtime-BWkULhBM.mjs → node-exec-server.runtime-8RehgPdQ.mjs} +2 -2
  52. package/dist/.setup/{plan-41-YOBMq.mjs → plan-BKFbfVsV.mjs} +5 -5
  53. package/dist/.setup/{plugin-activation-D7WkJMvU.mjs → plugin-activation-BgfNFH2L.mjs} +2 -2
  54. package/dist/.setup/{plugin-approval-roundtrip-CD88q3yx.mjs → plugin-approval-roundtrip-CXXXhuKi.mjs} +1 -1
  55. package/dist/.setup/{plugin-inventory-CYgdo14P.mjs → plugin-inventory-OhiCoyPH.mjs} +1 -1
  56. package/dist/.setup/{plugin-marketplace-discovery-BblHM3DU.mjs → plugin-marketplace-discovery-BNyI1zd_.mjs} +1 -1
  57. package/dist/.setup/{project-doc-thread-config-BVcvnps8.mjs → project-doc-thread-config-D_sWbxFR.mjs} +6 -6
  58. package/dist/.setup/{provider-LWKll6dV.mjs → provider-BVV8SWlx.mjs} +4 -4
  59. package/dist/.setup/{provider-capabilities-Dn2WwH4P.mjs → provider-capabilities-B-pTlDsf.mjs} +1 -1
  60. package/dist/.setup/{request-Bo0kKABI.mjs → request-m-H-7FMu.mjs} +6 -6
  61. package/dist/.setup/{run-attempt-ClU8MxhZ.mjs → run-attempt-Ch1emiZE.mjs} +113 -74
  62. package/dist/.setup/{run-attempt-lifecycle-KN4oh-7O.mjs → run-attempt-lifecycle-DN-ATDp9.mjs} +1 -1
  63. package/dist/.setup/{runtime-artifact-C13pR7tD.mjs → runtime-artifact-CCPLKFGR.mjs} +3 -3
  64. package/dist/.setup/{runtime-artifact-connection-jS5DeCok.mjs → runtime-artifact-connection-dFoSOKy7.mjs} +3 -3
  65. package/dist/.setup/{sandbox-guard-DIImwCy1.mjs → sandbox-guard-Cf9XMRrg.mjs} +2 -2
  66. package/dist/.setup/{service-tier-normalization-BPgw2Wdt.mjs → service-tier-normalization-C2OVdF6E.mjs} +4 -1
  67. package/dist/.setup/{session-binding-JEHNMPsr.mjs → session-binding-BDnNz-Co.mjs} +3 -3
  68. package/dist/.setup/{session-binding-record-DU_0biMD.mjs → session-binding-record-C2kDBZhx.mjs} +2 -2
  69. package/dist/.setup/{session-binding-record-codec-BpH8u_G9.mjs → session-binding-record-codec-CWQXr9os.mjs} +1 -2
  70. package/dist/.setup/{session-binding-sidecars-DD-enC8w.mjs → session-binding-sidecars-DijNZb31.mjs} +1 -1
  71. package/dist/.setup/{session-catalog-adoption-Ca3OYGYM.mjs → session-catalog-adoption-Cl6fHxS5.mjs} +5 -5
  72. package/dist/.setup/{session-catalog-archive-Bv6gV7x9.mjs → session-catalog-archive-CUU7jEkO.mjs} +5 -5
  73. package/dist/.setup/{session-catalog-events-kR2Ot6nX.mjs → session-catalog-events-BBV3DMG7.mjs} +5 -5
  74. package/dist/.setup/{session-catalog-index-CrnfVEnT.mjs → session-catalog-index-B00GIRi3.mjs} +8 -8
  75. package/dist/.setup/{session-catalog-index-order-CTfoefow.mjs → session-catalog-index-order-B30rjUEJ.mjs} +1 -1
  76. package/dist/.setup/{session-catalog-limits-BynIoOYm.mjs → session-catalog-limits-Daqt3JLk.mjs} +1 -1
  77. package/dist/.setup/{session-catalog-list-request-D4MYNgDB.mjs → session-catalog-list-request-SJyGz02j.mjs} +3 -3
  78. package/dist/.setup/{session-catalog-native-projection-CWqCU1I_.mjs → session-catalog-native-projection-BJupfCyt.mjs} +4 -4
  79. package/dist/.setup/{session-catalog-node-adoption-BdP9Zjqo.mjs → session-catalog-node-adoption-D11N0CMr.mjs} +2 -2
  80. package/dist/.setup/{session-catalog-node-continue-CNJibO4_.mjs → session-catalog-node-continue-Ct62GeL1.mjs} +5 -5
  81. package/dist/.setup/{session-catalog-node-lookup-BH_DBGa9.mjs → session-catalog-node-lookup-DQVe6vhs.mjs} +2 -2
  82. package/dist/.setup/{session-catalog-parsing-DkeoVn60.mjs → session-catalog-parsing-B4OyhylL.mjs} +1 -1
  83. package/dist/.setup/{session-catalog-projection-BzHiV818.mjs → session-catalog-projection-CYgFTaYm.mjs} +4 -4
  84. package/dist/.setup/{session-catalog-source-DGuRdGvM.mjs → session-catalog-source-Xt6-hNns.mjs} +1 -1
  85. package/dist/.setup/{session-cli-GwU0izn-.mjs → session-cli-BoJSZfGd.mjs} +1 -1
  86. package/dist/.setup/{session-history-import-CaO8s6ta.mjs → session-history-import-DgwRu2eD.mjs} +4 -4
  87. package/dist/.setup/{session-initialization-Bi_2DKhc.mjs → session-initialization-BjVtsTzi.mjs} +2 -2
  88. package/dist/.setup/{session-permission-policy-CD2MAWU8.mjs → session-permission-policy-C7kYxPGd.mjs} +1 -1
  89. package/dist/.setup/{session-retirement-B3U5hpGJ.mjs → session-retirement-DIqF1vQ4.mjs} +6 -6
  90. package/dist/.setup/{settled-turn-finalizer-CYCVpTv2.mjs → settled-turn-finalizer-dVv34G_E.mjs} +5 -5
  91. package/dist/.setup/{shared-client-BCx1wbyA.mjs → shared-client-CNGDTv68.mjs} +32 -20
  92. package/dist/.setup/{side-question-Bz2UQW0l.mjs → side-question-D1Wa21s9.mjs} +22 -22
  93. package/dist/.setup/{source-DipMO9hL.mjs → source-DyVuYlTN.mjs} +4 -4
  94. package/dist/.setup/{thread-lifecycle-run-C_aYiYqk.mjs → thread-lifecycle-run-DjSfTw6v.mjs} +66 -42
  95. package/dist/.setup/{thread-ownership-BoUd0i6L.mjs → thread-ownership-BBsOFzCM.mjs} +4 -4
  96. package/dist/.setup/{thread-policy-B3wBRNph.mjs → thread-policy-BEiS7ITh.mjs} +3 -3
  97. package/dist/.setup/{thread-requests-BgzJwJtS.mjs → thread-requests-DjyDmCo4.mjs} +11 -32
  98. package/dist/.setup/{thread-resume-D-3bsr1j.mjs → thread-resume-BqOca2Iy.mjs} +4 -4
  99. package/dist/.setup/{transcript-mirror-Bee2o6jj.mjs → transcript-mirror-DVEzdOs0.mjs} +1 -1
  100. package/dist/.setup/{transport-stdio-CRWTkKOn.mjs → transport-stdio-lgeKKHyw.mjs} +2 -17
  101. package/dist/.setup/{transport-websocket-DIyPfkHo.mjs → transport-websocket-CEBjEtFP.mjs} +1 -1
  102. package/dist/.setup/{turn-router-DBVMToGo.mjs → turn-router-DM0fRrYI.mjs} +1 -1
  103. package/dist/.setup/{upstream-session-fork-p5fwKi7w.mjs → upstream-session-fork-CxgShpwe.mjs} +19 -19
  104. package/dist/.setup/{usage-C2Kq7oej.mjs → usage-DV8T9Yau.mjs} +3 -3
  105. package/dist/.setup/{usage-limit-error-BQX8RHAd.mjs → usage-limit-error-ryR1PGou.mjs} +1 -1
  106. package/dist/.setup/{web-search-provider.runtime-D89djc7e.mjs → web-search-provider.runtime-DkciK2gS.mjs} +2 -2
  107. package/dist/.setup/{workspace-write-sandbox-probe-BDWO2Qkh.mjs → workspace-write-sandbox-probe-DvfWTvuR.mjs} +2 -2
  108. package/dist/api.js +4 -4
  109. package/dist/catalog-page.worker.js +1 -1
  110. package/dist/cli-metadata.js +1 -1
  111. package/dist/doctor-contract-api.js +5 -5
  112. package/dist/harness.js +22 -22
  113. package/dist/index.js +56 -56
  114. package/dist/media-understanding-provider.js +2 -2
  115. package/dist/migration-provider-api.js +1 -2
  116. package/dist/native-session-binding-api.js +1 -2
  117. package/dist/provider-discovery.js +1 -1
  118. package/dist/session-history.worker.js +1 -2
  119. package/package.json +4 -4
  120. package/dist/.setup/attempt-terminal-jO5IMj9K.mjs +0 -2
  121. package/dist/.setup/config-contracts.shared-D85SGEuq.mjs +0 -4
  122. package/dist/.setup/config-utils-DN_YT7dE.mjs +0 -47
@@ -1,15 +1,14 @@
1
1
  import { n as readCodexRuntimeModelId } from "./model-runtime-BdqzOMkU.mjs";
2
2
  import { g as createCodexNativeSubagentHistoryOwner } from "./native-subagent-pending-assignments-DmVhedNs.mjs";
3
3
  import { i as isJsonObject, r as flattenCodexDynamicToolFunctions } from "./protocol-CANUwXJ3.mjs";
4
- import { i as matchesCodexNativeSubagentSubmissionBinding, m as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced } from "./session-binding-record-DU_0biMD.mjs";
5
- import { n as defineCodexBuildState } from "./build-state-Ds14X10-.mjs";
6
- import { c as withMcpElicitationsApprovalPolicy, d as readCodexRequirementsToml, n as hasCodexMcpToolApprovalOverrides, s as shouldAutoApproveCodexAppServerApprovals } from "./config-security-clxAZYWX.mjs";
7
- import { c as isCodexPairedNodeRemoteExecPlacementSandbox, d as readCodexPluginConfig, f as resolveCodexPluginsPolicy, l as isCodexRemoteExecPlacementSandbox, u as isCodexSandboxExecServerEnabled } from "./config-parsing-DsWSCPHO.mjs";
4
+ import { i as matchesCodexNativeSubagentSubmissionBinding, m as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced } from "./session-binding-record-C2kDBZhx.mjs";
5
+ import { n as defineCodexBuildState } from "./build-state-DPMC9C_U.mjs";
6
+ import { c as withMcpElicitationsApprovalPolicy, d as readCodexRequirementsToml, n as hasCodexMcpToolApprovalOverrides, s as shouldAutoApproveCodexAppServerApprovals } from "./config-security-DpkGNy5T.mjs";
7
+ import { c as isCodexPairedNodeRemoteExecPlacementSandbox, d as readCodexPluginConfig, f as resolveCodexPluginsPolicy, l as isCodexRemoteExecPlacementSandbox, u as isCodexSandboxExecServerEnabled } from "./config-parsing-CVK2Q463.mjs";
8
8
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
9
9
  import { t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
10
- import { i as resolveCodexAppServerHomeScope, l as resolveCodexModelBackedReviewerPolicyContext, o as resolveCodexComputerUseConfig } from "./config-options-DDzeNQ8m.mjs";
11
- import { c as resolveCodexAppServerPreparedApiKeyCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey, w as retireSharedCodexAppServerClientIfCurrent } from "./auth-cache-key-f8ODJ_OX.mjs";
12
- import { i as withCodexAppServerGitConfig } from "./transport-stdio-CRWTkKOn.mjs";
10
+ import { i as resolveCodexAppServerHomeScope, l as resolveCodexModelBackedReviewerPolicyContext, o as resolveCodexComputerUseConfig } from "./config-options-CZmH25Xq.mjs";
11
+ import { c as resolveCodexAppServerPreparedApiKeyCacheKey, g as observeAcquire, s as resolveCodexAppServerFallbackApiKeyCacheKey, w as retireSharedCodexAppServerClientIfCurrent } from "./auth-cache-key-CXK7tmkb.mjs";
13
12
  import { o as formatCodexDisplayText } from "./command-formatters-xW9KpoSZ.mjs";
14
13
  import { a as codexPrewriteRejectionCause, i as CodexAppServerScopedRequestRejectedError, r as CodexAppServerRpcError } from "./rpc-error-C98SHchT.mjs";
15
14
  import { n as waitForPromiseOrAbort } from "./timeout-D0mEWSGG.mjs";
@@ -17,50 +16,50 @@ import { t as readCodexAsyncQuestions } from "./async-questions-DdhOCwGi.mjs";
17
16
  import { i as readCodexProviderRefusal, n as extractRawResponseItemText, o as readItem, r as readCodexErrorNotificationMessage, s as readNullableString } from "./event-projector-values-CLvG1Hil.mjs";
18
17
  import { i as readMirrorIdentity, n as attachCodexMirrorIdentity, t as attachCodexAssistantItemIds } from "./upstream-prompt-provenance-Ccd9MFRJ.mjs";
19
18
  import { n as buildCodexAppServerRuntimeFingerprint, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
20
- import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection, t as assertCodexSessionRuntimeOwnership } from "./binding-connection-B7HAAZSI.mjs";
21
- import { n as requestCodexAppServerClientJson } from "./request-Bo0kKABI.mjs";
22
- import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-C1YVVLEA.mjs";
19
+ import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection, t as assertCodexSessionRuntimeOwnership } from "./binding-connection-C0t9TBX_.mjs";
20
+ import { n as requestCodexAppServerClientJson } from "./request-m-H-7FMu.mjs";
21
+ import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-LQemoqTL.mjs";
23
22
  import { a as isCodexDurableCustomMessage, c as resolveCodexContextEngineProjectionMaxChars, i as fitCodexProjectedContextForTurnStart, l as resolveCodexContinuityProjectionMaxChars, n as CodexContextAttachmentError, o as neutralizeCodexExplicitMentionSigils, r as buildCodexContinuityCalibration, s as projectContextEngineAssemblyForCodex, t as CODEX_TURN_START_TEXT_INPUT_MAX_CHARS, u as resolveProjectionPromptBudgetTokens } from "./context-engine-projection-ps-yn_ci.mjs";
24
23
  import { a as buildCodexMirrorIdempotencyKey, i as buildCodexMirrorDedupeIdentity, s as hasCodexMirrorOrigin, t as applyCodexTranscriptTaint } from "./transcript-mirror-attestation-BzUXnrvv.mjs";
25
24
  import { t as readCodexMirroredSessionHistoryMessages } from "./session-history-BO6i_pfk.mjs";
26
25
  import { i as resolveCodexAppServerAuthProfileIdForAgent, r as resolveCodexAppServerAuthProfileId } from "./auth-profile-CgHQ8Vot.mjs";
27
- import { E as isCodexContextRestartSelectionChangedError, I as ensureCodexAppServerClientRuntime, M as getCodexInferenceThreadQualification, U as prepareCodexWorkspaceReferences, W as protectCodexAppServerLiveThread, X as readCodexRateLimitsRevision, Z as readRecentCodexRateLimits, _ as retainSharedCodexAppServerClientIfCurrent, a as clearSharedCodexAppServerClientIfCurrentAndUnclaimed, c as getLeasedSharedCodexAppServerClient, dt as TURN_FINALIZE_DRAIN_ABORT_GRACE_MS, f as readCodexAppServerClientDesktopGenerationFingerprint, ft as TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS, gt as withCodexStartupTimeout, h as releaseLeasedSharedCodexAppServerClient, ht as resolveCodexStartupTimeoutMs, i as clearSharedCodexAppServerClientIfCurrent, j as getCodexInferenceThread, l as getSharedCodexAppServerClient, nt as resolveCodexAppServerPreparedAuthHandoff, s as createIsolatedCodexAppServerClient, tt as resolveCodexAppServerAuthAccountCacheKey, u as isCodexAppServerStartSelectionChangedError, ut as CodexAppServerStartupError, w as CodexThreadClientReplacementError, x as CODEX_APP_SERVER_CONTEXT_RESTART_SELECTION_CHANGED } from "./shared-client-BCx1wbyA.mjs";
26
+ import { E as isCodexContextRestartSelectionChangedError, G as protectCodexAppServerLiveThread, I as ensureCodexAppServerClientRuntime, M as getCodexInferenceThreadQualification, Q as readRecentCodexRateLimits, W as prepareCodexWorkspaceReferences, Z as readCodexRateLimitsRevision, _ as retainSharedCodexAppServerClientIfCurrent, _t as withCodexStartupTimeout, a as clearSharedCodexAppServerClientIfCurrentAndUnclaimed, c as getLeasedSharedCodexAppServerClient, dt as CodexAppServerStartupError, f as readCodexAppServerClientDesktopGenerationFingerprint, ft as TURN_FINALIZE_DRAIN_ABORT_GRACE_MS, gt as resolveCodexStartupTimeoutMs, h as releaseLeasedSharedCodexAppServerClient, i as clearSharedCodexAppServerClientIfCurrent, j as getCodexInferenceThread, l as getSharedCodexAppServerClient, nt as resolveCodexAppServerAuthAccountCacheKey, pt as TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS, rt as resolveCodexAppServerPreparedAuthHandoff, s as createIsolatedCodexAppServerClient, u as isCodexAppServerStartSelectionChangedError, w as CodexThreadClientReplacementError, x as CODEX_APP_SERVER_CONTEXT_RESTART_SELECTION_CHANGED } from "./shared-client-CNGDTv68.mjs";
28
27
  import { a as isCodexResponsesOAuthRun, r as isCodexResponsesOAuth } from "./responses-oauth-twnuTaAa.mjs";
29
- import { D as toCodexDynamicToolProgressResponse, E as resolveDynamicToolCallTimeoutMs, L as resolveCodexAppServerClientInstanceId, M as readCodexAppServerWarningMessage, O as toCodexDynamicToolProtocolResponse, P as CODEX_APP_SERVER_OPT_OUT_NOTIFICATION_METHODS, T as handleDynamicToolCallWithTimeout, _ as assertCodexTurnStartResponse, a as isCodexAppServerIndeterminateRequestCancellationError, i as isCodexAppServerConnectionClosedError, l as CodexServerRequestResolvedError, o as isCodexAppServerIndeterminateTransportError, r as isCodexAppServerApprovalRequest, w as createCodexElicitationResponse, x as readCodexTurnCompletedNotification, y as readCodexDynamicToolCallParams } from "./client-D93nbdB8.mjs";
30
- import { n as isCodexWebSocketOpenFailure } from "./transport-websocket-DIyPfkHo.mjs";
31
- import { S as shouldClearTerminalPresentationForNativeItem, _ as itemName, a as isCodexNotificationForTurn, b as matchesCodexSnapshotTurn, i as CodexProjectionDiagnostics, n as getCodexAppServerTurnRouter, o as readCodexNotificationScope, s as readCodexNotificationThreadId, t as CODEX_APP_SERVER_NATIVE_TURN_WAIT_TIMEOUT_MS, x as shouldAdvancePersistableAssistantBarrier } from "./turn-router-DBVMToGo.mjs";
32
- import { d as terminateCodexBackgroundTerminals, f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError, s as interruptCodexTurnAndWaitBestEffort, u as shouldRetireCodexStartupClient } from "./attempt-client-cleanup-zNuNTKVr.mjs";
33
- import { r as prepareCodexAppServerAuthBinding } from "./auth-binding-BaxlhaNx.mjs";
28
+ import { D as toCodexDynamicToolProgressResponse, E as resolveDynamicToolCallTimeoutMs, L as resolveCodexAppServerClientInstanceId, M as readCodexAppServerWarningMessage, O as toCodexDynamicToolProtocolResponse, P as CODEX_APP_SERVER_OPT_OUT_NOTIFICATION_METHODS, T as handleDynamicToolCallWithTimeout, _ as assertCodexTurnStartResponse, a as isCodexAppServerIndeterminateRequestCancellationError, i as isCodexAppServerConnectionClosedError, l as CodexServerRequestResolvedError, o as isCodexAppServerIndeterminateTransportError, r as isCodexAppServerApprovalRequest, w as createCodexElicitationResponse, x as readCodexTurnCompletedNotification, y as readCodexDynamicToolCallParams } from "./client-Div-zqnz.mjs";
29
+ import { n as isCodexWebSocketOpenFailure } from "./transport-websocket-CEBjEtFP.mjs";
30
+ import { S as shouldClearTerminalPresentationForNativeItem, _ as itemName, a as isCodexNotificationForTurn, b as matchesCodexSnapshotTurn, i as CodexProjectionDiagnostics, n as getCodexAppServerTurnRouter, o as readCodexNotificationScope, s as readCodexNotificationThreadId, t as CODEX_APP_SERVER_NATIVE_TURN_WAIT_TIMEOUT_MS, x as shouldAdvancePersistableAssistantBarrier } from "./turn-router-DM0fRrYI.mjs";
31
+ import { d as terminateCodexBackgroundTerminals, f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError, s as interruptCodexTurnAndWaitBestEffort, u as shouldRetireCodexStartupClient } from "./attempt-client-cleanup-BVww-ct8.mjs";
32
+ import { r as prepareCodexAppServerAuthBinding } from "./auth-binding-BFTkrP_b.mjs";
34
33
  import { a as isRawFunctionToolOutputCompletionNotification, c as readRawResponseToolCallId, i as isCodexTurnAbortMarkerNotification, l as updateActiveTurnItemIds, o as isTerminalTurnStatus, r as completePendingOpenClawDynamicToolNotification, s as readCodexNotificationItem, t as CodexUsageProjection } from "./event-projector-usage-BpKfdoTm.mjs";
35
- import { n as listAllCodexAppServerModels } from "./models-BHpbAuz8.mjs";
36
- import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-BVcvnps8.mjs";
37
- import { B as resolveCodexDynamicToolsLoadingForRuntime, L as isSystemAgentOnlyCodexDynamicToolAllowlist, P as filterCodexDynamicTools, V as joinPresentSections, _ as buildDeveloperInstructions, b as codexDynamicToolsFingerprint, h as resolveCodexWebSearchPlan, k as stabilizeJsonValue, l as isCodexNativeDelegationDisabledForRun, v as areCodexDynamicToolFingerprintsCompatible, w as fingerprintJsonObject, x as codexLegacyDynamicToolsFingerprint } from "./thread-requests-BgzJwJtS.mjs";
38
- import { i as resolveCodexSessionBinding, n as createCodexSessionGenerationSupersededError, t as clearCodexBindingForClient } from "./session-binding-JEHNMPsr.mjs";
34
+ import { n as listAllCodexAppServerModels } from "./models-CusrgpiY.mjs";
35
+ import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-D_sWbxFR.mjs";
36
+ import { B as resolveCodexDynamicToolsLoadingForRuntime, L as isSystemAgentOnlyCodexDynamicToolAllowlist, P as filterCodexDynamicTools, V as joinPresentSections, _ as buildDeveloperInstructions, b as codexDynamicToolsFingerprint, h as resolveCodexWebSearchPlan, k as stabilizeJsonValue, l as isCodexNativeDelegationDisabledForRun, v as areCodexDynamicToolFingerprintsCompatible, w as fingerprintJsonObject, x as codexLegacyDynamicToolsFingerprint } from "./thread-requests-DjyDmCo4.mjs";
37
+ import { i as resolveCodexSessionBinding, n as createCodexSessionGenerationSupersededError, t as clearCodexBindingForClient } from "./session-binding-BDnNz-Co.mjs";
39
38
  import { i as resolveCodexAppServerThreadModelSelection } from "./thread-model-selection-DcVebr8N.mjs";
40
- import { a as resolveCodexPromptError, i as refreshCodexUsageLimitPromptError, n as formatCodexTurnStartUsageLimitError, r as markCodexAuthProfileBlockedFromRateLimits, t as CodexUsageLimitPromptError } from "./usage-limit-error-BQX8RHAd.mjs";
41
- import { c as withExclusiveCodexAppServerThread, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-BoUd0i6L.mjs";
39
+ import { a as resolveCodexPromptError, i as refreshCodexUsageLimitPromptError, n as formatCodexTurnStartUsageLimitError, r as markCodexAuthProfileBlockedFromRateLimits, t as CodexUsageLimitPromptError } from "./usage-limit-error-ryR1PGou.mjs";
40
+ import { c as withExclusiveCodexAppServerThread, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-BBsOFzCM.mjs";
42
41
  import { t as persistCodexContextCompactionActivity } from "./context-compaction-activity-CMla5FPJ.mjs";
43
- import { a as CodexToolTranscriptProjection, c as isCodexCommandBearingToolCall, d as sanitizeCodexToolArguments, i as emitCodexAgentEvent, l as resolveCodexToolProgressDetailMode, o as CodexToolProgressProjection, r as CodexEventProjection, s as shouldEmitTranscriptToolProgress, t as codexNativeSubagentMonitorRuntime, u as sanitizeCodexAgentEventRecord } from "./native-subagent-monitor-DOLEIf9r.mjs";
44
- import { a as requestPluginApprovalOutcome } from "./plugin-approval-roundtrip-CD88q3yx.mjs";
45
- import { n as CodexThreadPolicyHandoffError, s as restoreCodexThreadInstructionsAfterCompaction } from "./thread-policy-B3wBRNph.mjs";
46
- import { t as attemptTerminal } from "./attempt-terminal-jO5IMj9K.mjs";
47
- import { a as runCodexAgentEndHook, c as withCodexAppServerFastModeServiceTier, i as reportCodexBackgroundCleanupFailure, n as ensureCodexWorkspaceDirOnce, o as runCodexCleanupStep, r as estimateCodexAppServerProjectedTurnTokens, s as shouldKeepCodexSharedAbortOpen, t as emitCodexAppServerEvent } from "./run-attempt-lifecycle-KN4oh-7O.mjs";
42
+ import { a as CodexToolTranscriptProjection, c as isCodexCommandBearingToolCall, d as sanitizeCodexToolArguments, i as emitCodexAgentEvent, l as resolveCodexToolProgressDetailMode, o as CodexToolProgressProjection, r as CodexEventProjection, s as shouldEmitTranscriptToolProgress, t as codexNativeSubagentMonitorRuntime, u as sanitizeCodexAgentEventRecord } from "./native-subagent-monitor-CBYFkNsB.mjs";
43
+ import { a as requestPluginApprovalOutcome } from "./plugin-approval-roundtrip-CXXXhuKi.mjs";
44
+ import { n as CodexThreadPolicyHandoffError, s as restoreCodexThreadInstructionsAfterCompaction } from "./thread-policy-BEiS7ITh.mjs";
45
+ import { t as attemptTerminal } from "./attempt-terminal-sZutF0WY.mjs";
46
+ import { a as runCodexAgentEndHook, c as withCodexAppServerFastModeServiceTier, i as reportCodexBackgroundCleanupFailure, n as ensureCodexWorkspaceDirOnce, o as runCodexCleanupStep, r as estimateCodexAppServerProjectedTurnTokens, s as shouldKeepCodexSharedAbortOpen, t as emitCodexAppServerEvent } from "./run-attempt-lifecycle-DN-ATDp9.mjs";
48
47
  import { t as CODEX_INFERENCE_GENERATION_KEY } from "./inference-metadata-DCvcG_N_.mjs";
49
48
  import "./inference-context-DNlGwzwy.mjs";
50
49
  import { i as createAssistantReasoningMessage, n as createAssistantCommentaryMessage, r as createAssistantMessage, t as createAssistantAsyncMessage } from "./event-projector-assistant-message-CLMKN4x-.mjs";
51
- import { a as resolveCodexExternalSandboxPolicyForOpenClawSandbox, c as shouldEnableCodexAppServerNativeToolSurface, i as resolveCodexAppServerHookChannelId, l as shouldRequireCodexSandboxExecServerEnvironment, o as resolveCodexMessageToolProvider, p as mapCodexAppServerRemoteWorkspacePath, r as resolveCodexAppServerExecutionCwd, s as resolveCodexSandboxEnvironmentSelection, t as buildDynamicTools, u as shouldWarnCodexDynamicToolBuildStageSummary } from "./dynamic-tool-build-DcaPmBlE.mjs";
52
- import { a as buildCodexNativeHookRelayDisabledConfig, d as scheduleCodexNativeHookRelayUnregister, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, n as CodexManagedHooksOnlyError, r as assertCodexNativeHookRelayAllowed, s as createCodexNativeHookRelay, t as CODEX_NATIVE_HOOK_RELAY_TTL_GRACE_MS, u as resolveCodexNativeHookRelayTtlMs } from "./native-hook-relay-wq7jrNLk.mjs";
53
- import { a as prepareCodexPluginThreadConfigStartupProvider, c as buildLegacyScheduledCodexAppRecoveryPrompt, d as resolveScheduledCodexAppCreatorCaptureDecision, i as isContextEngineBindingCompatible, l as buildScheduledCodexAppServerConnectionIdentity, n as isCodexAppServerProfilerEnabled, o as resolveCodexPluginThreadConfigStartupPolicy, r as buildContextEngineBinding, s as assertScheduledCodexAppAuthorityRuntime, t as startOrResumeThread, u as captureScheduledCodexAppAuthority } from "./thread-lifecycle-run-C_aYiYqk.mjs";
54
- import { i as resolveCodexSessionPermissionCwd, n as applyCodexSessionPermissionPolicy, r as resolveCodexEffectiveSessionPermissionPolicy } from "./session-permission-policy-CD2MAWU8.mjs";
55
- import { o as hasCodexNativeToolCatalog, s as loadCodexNativeToolCatalog } from "./native-skill-isolation-DSBeF-Yy.mjs";
56
- import { r as prepareCodexNativeMcpFormResourceContext, t as createCodexNativeMcpAppResultDetailsPreparer } from "./native-mcp-app-DX3nyTtc.mjs";
57
- import { _ as invalidateCodexComputerFrame, a as handleCodexAppServerApprovalRequest, c as createCodexNativePreToolUseFailureBuffer, f as buildTurnCollaborationMode, g as buildCodexUserInput, h as readCodexRetainedBackgroundCommands, i as createCodexDynamicToolDiagnostics, l as buildCodexHistoryProvenancePrefix, m as CodexNativeProcessAuthority, n as projectCodexExecutableDynamicTools, o as ensureCodexSandboxExecServerEnvironment, p as buildTurnStartParams, r as routeCodexAppServerElicitationRequest, s as releaseCodexSandboxExecServerEnvironment, t as createCodexDynamicToolBridge, u as buildCodexParentLocalInstructions, v as createCodexRemoteWorkspaceFileReader, y as CodexNativeToolLifecycleProjector } from "./dynamic-tools-CnQFnNKH.mjs";
58
- import { c as promptSnapshot, i as mirrorPromptAtTurnStartBestEffort, n as createCodexAppServerUserMessagePersistenceNotifier, o as buildCodexUserPromptMessage, s as buildResolvedCodexUserPromptMessage, t as codexTranscriptMirrorRuntime } from "./transcript-mirror-Bee2o6jj.mjs";
59
- import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-D_zv8J7V.mjs";
60
- import { a as getCodexContextFileDisplayBasename, i as getCodexContextFileBasename, n as CODEX_NATIVE_PROJECT_DOC_BASENAMES, o as isNonEmptyString, r as buildCodexWorkspaceBootstrapContext, s as normalizeCodexContextFilePath } from "./attempt-workspace-context-CcwP3DA3.mjs";
50
+ import { a as resolveCodexExternalSandboxPolicyForOpenClawSandbox, c as shouldEnableCodexAppServerNativeToolSurface, i as resolveCodexAppServerHookChannelId, l as shouldRequireCodexSandboxExecServerEnvironment, o as resolveCodexMessageToolProvider, p as mapCodexAppServerRemoteWorkspacePath, r as resolveCodexAppServerExecutionCwd, s as resolveCodexSandboxEnvironmentSelection, t as buildDynamicTools, u as shouldWarnCodexDynamicToolBuildStageSummary } from "./dynamic-tool-build-DjbDZzOJ.mjs";
51
+ import { a as buildCodexNativeHookRelayDisabledConfig, d as scheduleCodexNativeHookRelayUnregister, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, n as CodexManagedHooksOnlyError, r as assertCodexNativeHookRelayAllowed, s as createCodexNativeHookRelay, t as CODEX_NATIVE_HOOK_RELAY_TTL_GRACE_MS, u as resolveCodexNativeHookRelayTtlMs } from "./native-hook-relay-BvwSj5bt.mjs";
52
+ import { a as prepareCodexPluginThreadConfigStartupProvider, c as buildLegacyScheduledCodexAppRecoveryPrompt, d as resolveScheduledCodexAppCreatorCaptureDecision, i as isContextEngineBindingCompatible, l as buildScheduledCodexAppServerConnectionIdentity, n as isCodexAppServerProfilerEnabled, o as resolveCodexPluginThreadConfigStartupPolicy, r as buildContextEngineBinding, s as assertScheduledCodexAppAuthorityRuntime, t as startOrResumeThread, u as captureScheduledCodexAppAuthority } from "./thread-lifecycle-run-DjSfTw6v.mjs";
53
+ import { i as resolveCodexSessionPermissionCwd, n as applyCodexSessionPermissionPolicy, r as resolveCodexEffectiveSessionPermissionPolicy } from "./session-permission-policy-C7kYxPGd.mjs";
54
+ import { o as hasCodexNativeToolCatalog, s as loadCodexNativeToolCatalog } from "./native-skill-isolation-Cx2AkUco.mjs";
55
+ import { r as prepareCodexNativeMcpFormResourceContext, t as createCodexNativeMcpAppResultDetailsPreparer } from "./native-mcp-app-DDEtVQED.mjs";
56
+ import { _ as invalidateCodexComputerFrame, a as handleCodexAppServerApprovalRequest, c as createCodexNativePreToolUseFailureBuffer, f as buildTurnCollaborationMode, g as buildCodexUserInput, h as readCodexRetainedBackgroundCommands, i as createCodexDynamicToolDiagnostics, l as buildCodexHistoryProvenancePrefix, m as CodexNativeProcessAuthority, n as projectCodexExecutableDynamicTools, o as ensureCodexSandboxExecServerEnvironment, p as buildTurnStartParams, r as routeCodexAppServerElicitationRequest, s as releaseCodexSandboxExecServerEnvironment, t as createCodexDynamicToolBridge, u as buildCodexParentLocalInstructions, v as createCodexRemoteWorkspaceFileReader, y as CodexNativeToolLifecycleProjector } from "./dynamic-tools-75qoSOch.mjs";
57
+ import { c as promptSnapshot, i as mirrorPromptAtTurnStartBestEffort, n as createCodexAppServerUserMessagePersistenceNotifier, o as buildCodexUserPromptMessage, s as buildResolvedCodexUserPromptMessage, t as codexTranscriptMirrorRuntime } from "./transcript-mirror-DVEzdOs0.mjs";
58
+ import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-V8zuN8q_.mjs";
59
+ import { a as getCodexContextFileDisplayBasename, i as getCodexContextFileBasename, n as CODEX_NATIVE_PROJECT_DOC_BASENAMES, o as isNonEmptyString, r as buildCodexWorkspaceBootstrapContext, s as normalizeCodexContextFilePath } from "./attempt-workspace-context-BkA0W8Jy.mjs";
61
60
  import { n as captureCodexSettledTurnFinalizationContext } from "./settled-turn-context-BPL6D3RO.mjs";
62
- import { t as resolveCodexProviderWebSearchSupport } from "./provider-capabilities-Dn2WwH4P.mjs";
63
- import { a as runCodexComputerUseLiveTest, i as createComputerUseRequest, t as ensureCodexComputerUse } from "./computer-use-DL2v3Kxq.mjs";
61
+ import { t as resolveCodexProviderWebSearchSupport } from "./provider-capabilities-B-pTlDsf.mjs";
62
+ import { a as runCodexComputerUseLiveTest, i as createComputerUseRequest, t as ensureCodexComputerUse } from "./computer-use-BcDrQlxi.mjs";
64
63
  import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString, readNonBlankString, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
65
64
  import { createHash, randomUUID } from "node:crypto";
66
65
  import { isDeepStrictEqual } from "node:util";
@@ -70,12 +69,12 @@ import { truncateUtf16Safe, truncateUtf8Prefix } from "openclaw/plugin-sdk/text-
70
69
  import path from "node:path";
71
70
  import fs from "node:fs/promises";
72
71
  import { isPathStrictlyInside, readFileWindowFully, root } from "openclaw/plugin-sdk/file-access-runtime";
72
+ import { createStageTimingTracker, formatStageTimings } from "openclaw/plugin-sdk/time-runtime";
73
73
  import { addAbortListener } from "node:events";
74
74
  import { isIncognitoSessionKey } from "openclaw/plugin-sdk/session-key-runtime";
75
75
  import { Type } from "typebox";
76
76
  import { createDiagnosticTraceContextFromActiveScope, emitTrustedDiagnosticEvent, emitTrustedDiagnosticEventWithPrivateData, freezeDiagnosticTraceContext, onInternalDiagnosticEvent, resolveDiagnosticModelContentCapturePolicy } from "openclaw/plugin-sdk/diagnostic-runtime";
77
77
  import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
78
- import { createStageTimingTracker, formatStageTimings } from "openclaw/plugin-sdk/time-runtime";
79
78
  import { Buffer as Buffer$1 } from "node:buffer";
80
79
  import { resolveAgentDir as resolveAgentDir$1 } from "openclaw/plugin-sdk/agent-runtime";
81
80
  import { AgentHarnessPreflightError, CODEX_APP_SERVER_CONTEXT_ENGINE_HOST, FAST_MODE_AUTO_PROGRESS_KIND, HEARTBEAT_RESPONSE_TOOL_NAME, agentHarnessStructuredInput, applyEmbeddedAttemptToolsAllow, assembleHarnessContextEngine, assertContextEngineHostSupport, bootstrapHarnessContextEngine, buildAgentHookContextChannelFields, buildEmbeddedForegroundPromptContext, buildHarnessContextEngineRuntimeContext, cancelPendingAgentQuestionForSession, claimPendingAgentQuestionAnswer, classifyAgentHarnessTerminalOutcome, clearActiveEmbeddedRun, detectAndLoadAgentHarnessPromptImages, embeddedAgentLog, emptyAgentHarnessUserInputAnswers, formatErrorMessage, formatFastModeAutoProgressText, getAgentHarnessHookRunner, hasBeforeToolCallPolicy, inferToolMetaFromArgs, isActiveHarnessContextEngine, isHostScopedAgentToolActive, loadCodexBundleMcpThreadConfig, materializeRequesterScopedMcpToolsForHarnessRun, normalizeHeartbeatToolResponse, prepareWatchedSessionsHarnessContext, projectAgentHarnessTranscriptMessageForDisplay, projectAgentToolActivity, projectProgressCardChannelUpdate, resolveAgentDir as resolveAgentDir$2, resolveAgentHarnessBeforePromptBuildResult, resolveAgentRunAbortLifecycleFields, resolveAttemptFsWorkspaceOnly, resolveContextEngineOwnerPluginId, resolveFastModeForElapsed, resolveSandboxContext, resolveUserPath, runAgentHarnessAfterCompactionHook, runAgentHarnessBeforeCompactionHook, runAgentHarnessLlmInputHook, runAgentHarnessLlmOutputHook, runHarnessContextEngineMaintenance, setActiveEmbeddedRun, supportsModelTools } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -3339,6 +3338,7 @@ async function rotateOversizedCodexAppServerStartupBinding(params) {
3339
3338
  //#region extensions/codex/src/app-server/run-attempt-connection.ts
3340
3339
  async function prepareCodexAttemptConnection({ params, options }) {
3341
3340
  const attemptStartedAt = Date.now();
3341
+ const attemptStartedAtMonotonicMs = performance.now();
3342
3342
  const profilerEnabled = isCodexAppServerProfilerEnabled(params.config);
3343
3343
  const codexModelCallTrace = freezeDiagnosticTraceContext(createDiagnosticTraceContextFromActiveScope());
3344
3344
  const codexModelContentCapture = resolveDiagnosticModelContentCapturePolicy(params.config);
@@ -3396,19 +3396,16 @@ async function prepareCodexAttemptConnection({ params, options }) {
3396
3396
  const disableLoginShell = remoteExec || preparedEnvironment?.localProcessEnv !== void 0 || preparedEnvironment?.managedLocalIdentity === true || preparedEnvironment !== void 0 && Object.keys(preparedEnvironment.credentialScrubEnv).length > 0;
3397
3397
  let shellEnvironment = baseShellEnvironment;
3398
3398
  let shellPathPrepend;
3399
- let shellGitConfigParameters;
3400
3399
  const withPreparedProcessEnv = (appServer) => {
3401
3400
  assertLocalTargetSupported(appServer.start.transport !== "stdio" || Boolean(appServer.remoteWorkspaceRoot));
3402
- const ownedLocalProcess = !sandbox?.enabled && !remoteExec && appServer.start.transport === "stdio" && !isCodexAppServerProxyLaunch(appServer.start.args) && !appServer.remoteWorkspaceRoot;
3403
- const localToolEnv = ownedLocalProcess ? preparedEnvironment?.localToolEnv : void 0;
3404
- shellGitConfigParameters = ownedLocalProcess ? preparedEnvironment?.localGitConfigParameters : void 0;
3401
+ const localToolEnv = !sandbox?.enabled && !remoteExec && appServer.start.transport === "stdio" && !isCodexAppServerProxyLaunch(appServer.start.args) && !appServer.remoteWorkspaceRoot ? preparedEnvironment?.localToolEnv : void 0;
3405
3402
  const hasLocalToolEnv = localToolEnv && Object.keys(localToolEnv).length > 0;
3406
3403
  shellPathPrepend = hasLocalToolEnv ? preparedEnvironment?.localToolPathPrepend : void 0;
3407
3404
  shellEnvironment = hasLocalToolEnv ? {
3408
3405
  ...baseShellEnvironment,
3409
3406
  ...localToolEnv
3410
3407
  } : baseShellEnvironment;
3411
- const prepared = shellEnvironment ? {
3408
+ return shellEnvironment ? {
3412
3409
  ...appServer,
3413
3410
  start: {
3414
3411
  ...appServer.start,
@@ -3418,10 +3415,6 @@ async function prepareCodexAttemptConnection({ params, options }) {
3418
3415
  }
3419
3416
  }
3420
3417
  } : appServer;
3421
- return shellGitConfigParameters ? {
3422
- ...prepared,
3423
- start: withCodexAppServerGitConfig(prepared.start, shellGitConfigParameters)
3424
- } : prepared;
3425
3418
  };
3426
3419
  let bindingIdentity = sessionBindingIdentity({
3427
3420
  sessionId: params.sessionId,
@@ -3708,6 +3701,7 @@ async function prepareCodexAttemptConnection({ params, options }) {
3708
3701
  releaseModelExecution,
3709
3702
  options,
3710
3703
  attemptStartedAt,
3704
+ attemptStartedAtMonotonicMs,
3711
3705
  profilerEnabled,
3712
3706
  codexModelCallTrace,
3713
3707
  codexModelContentCapture,
@@ -3728,7 +3722,6 @@ async function prepareCodexAttemptConnection({ params, options }) {
3728
3722
  agentDir,
3729
3723
  shellEnvironment,
3730
3724
  shellPathPrepend,
3731
- shellGitConfigParameters,
3732
3725
  disableLoginShell,
3733
3726
  bindingIdentity,
3734
3727
  bindingStore,
@@ -6710,7 +6703,7 @@ function createCodexAttemptServerRequestController(resources, turnRuntime, lifec
6710
6703
  //#region extensions/codex/src/app-server/attempt-runtime-artifact.ts
6711
6704
  async function verifyStartupArtifact(params) {
6712
6705
  if (!params.request) return;
6713
- const { readCodexAppServerClientRuntimeArtifact, validateCodexAppServerRuntimeArtifact } = await import("./runtime-artifact-C13pR7tD.mjs");
6706
+ const { readCodexAppServerClientRuntimeArtifact, validateCodexAppServerRuntimeArtifact } = await import("./runtime-artifact-CCPLKFGR.mjs");
6714
6707
  const runtimeArtifact = readCodexAppServerClientRuntimeArtifact(params.client);
6715
6708
  const expected = params.request.expected;
6716
6709
  const matchesExpected = !expected || runtimeArtifact?.id === expected.id && runtimeArtifact.fingerprint === expected.fingerprint;
@@ -6819,6 +6812,17 @@ async function startCodexAttemptThread(params) {
6819
6812
  let releaseSharedClientLease;
6820
6813
  let startupClientForAbandonedRequestCleanup;
6821
6814
  let releaseStartupResourcesOnTimeout;
6815
+ const startupStartedAt = performance.now();
6816
+ let stage = "configuration";
6817
+ let stageStartedAt = startupStartedAt;
6818
+ let acquireBoundary;
6819
+ let startupIdentity;
6820
+ let startupAttemptNumber = 0;
6821
+ const enterStartupStage = (nextStage) => {
6822
+ stage = nextStage;
6823
+ stageStartedAt = performance.now();
6824
+ acquireBoundary = void 0;
6825
+ };
6822
6826
  const startupAbandonController = new AbortController();
6823
6827
  const abandonStartupAcquire = () => startupAbandonController.abort();
6824
6828
  params.signal.addEventListener("abort", abandonStartupAcquire, { once: true });
@@ -6827,6 +6831,21 @@ async function startCodexAttemptThread(params) {
6827
6831
  timeoutMs: params.startupTimeoutMs,
6828
6832
  signal: params.signal,
6829
6833
  onTimeout: async () => {
6834
+ try {
6835
+ const client = startupClientForAbandonedRequestCleanup;
6836
+ const now = performance.now();
6837
+ embeddedAgentLog.warn("codex app-server startup timed out", {
6838
+ ...startupIdentity,
6839
+ attempt: startupAttemptNumber,
6840
+ stage,
6841
+ stageElapsedMs: Math.max(0, Math.round(now - stageStartedAt)),
6842
+ elapsedMs: Math.max(0, Math.round(now - startupStartedAt)),
6843
+ timeoutMs: params.startupTimeoutMs,
6844
+ acquireBoundary,
6845
+ clientInstanceId: client?.getInstanceId(),
6846
+ clientPendingRequestMethods: client?.getPendingRequestMethods() ?? []
6847
+ });
6848
+ } catch {}
6830
6849
  startupAbandonController.abort();
6831
6850
  await params.onStartupTimeout();
6832
6851
  await releaseStartupResourcesOnTimeout?.();
@@ -6856,10 +6875,19 @@ async function startCodexAttemptThread(params) {
6856
6875
  let startupAttemptSucceeded = false;
6857
6876
  try {
6858
6877
  const attemptParams = params.buildAttemptParams();
6878
+ startupIdentity = {
6879
+ runId: attemptParams.runId,
6880
+ sessionId: attemptParams.sessionId
6881
+ };
6859
6882
  params.assertCurrent?.();
6860
6883
  if (startupAbandonController.signal.aborted) throw new CodexAppServerStartupError("aborted");
6884
+ enterStartupStage("client-acquire");
6861
6885
  startupClient = await params.attemptClientFactory({
6862
6886
  ...params.clientOptions,
6887
+ onAcquireObservation: (observation) => {
6888
+ if (stage === "client-acquire") acquireBoundary = observation.boundary;
6889
+ observeAcquire(params.clientOptions, observation);
6890
+ },
6863
6891
  assertCurrent: () => {
6864
6892
  params.assertCurrent?.();
6865
6893
  params.authority?.assertLegacyCurrent();
@@ -6889,6 +6917,7 @@ async function startCodexAttemptThread(params) {
6889
6917
  attemptedClient = activeStartupClient;
6890
6918
  startupClientForAbandonedRequestCleanup = activeStartupClient;
6891
6919
  if (startupAbandonController.signal.aborted) throw new CodexAppServerStartupError("aborted");
6920
+ enterStartupStage("runtime-artifact");
6892
6921
  const runtimeArtifact = await verifyStartupArtifact({
6893
6922
  client: activeStartupClient,
6894
6923
  startOptions: params.appServer.start,
@@ -6907,6 +6936,7 @@ async function startCodexAttemptThread(params) {
6907
6936
  let computerUseTools = [];
6908
6937
  let computerUseConfig = params.computerUseConfig;
6909
6938
  try {
6939
+ enterStartupStage("computer-use");
6910
6940
  const computerUseStatus = await ensureCodexComputerUse({
6911
6941
  client: activeStartupClient,
6912
6942
  pluginConfig: params.pluginConfig,
@@ -6975,6 +7005,7 @@ async function startCodexAttemptThread(params) {
6975
7005
  nativeToolSurfaceEnabled: params.nativeToolSurfaceEnabled,
6976
7006
  sandboxExecServerEnabled: params.sandboxExecServerEnabled
6977
7007
  });
7008
+ enterStartupStage("sandbox-environment");
6978
7009
  startupSandboxEnvironment = sandboxEnvironmentRequired ? await ensureCodexSandboxExecServerEnvironment({
6979
7010
  client: activeStartupClient,
6980
7011
  sandbox: params.sandbox ?? null,
@@ -7015,6 +7046,7 @@ async function startCodexAttemptThread(params) {
7015
7046
  return { release: releaseStartupReservation };
7016
7047
  };
7017
7048
  const releaseStartupResources = async () => {
7049
+ enterStartupStage("resource-cleanup");
7018
7050
  releaseStartupReservation();
7019
7051
  await releaseStartupSandboxEnvironment();
7020
7052
  };
@@ -7040,7 +7072,6 @@ async function startCodexAttemptThread(params) {
7040
7072
  config: threadConfig,
7041
7073
  shellEnvironment: params.shellEnvironment,
7042
7074
  shellPathPrepend: params.shellPathPrepend,
7043
- shellGitConfigParameters: params.shellGitConfigParameters,
7044
7075
  disableLoginShell: params.disableLoginShell,
7045
7076
  buildFinalConfigPatch: params.buildFinalConfigPatch,
7046
7077
  nativeHookRelayRequired: params.nativeHookRelayRequired,
@@ -7065,10 +7096,12 @@ async function startCodexAttemptThread(params) {
7065
7096
  })
7066
7097
  });
7067
7098
  try {
7099
+ enterStartupStage("thread-lifecycle");
7068
7100
  const startupThread = await startOrResumeThread(buildThreadLifecycleParams(startupAbandonController.signal, reserveStartupThread));
7069
7101
  try {
7070
7102
  reserveStartupThread(startupThread.threadId);
7071
7103
  } catch (error) {
7104
+ enterStartupStage("subscription-cleanup");
7072
7105
  if (!await unsubscribeCodexThreadBestEffort(activeStartupClient, {
7073
7106
  threadId: startupThread.threadId,
7074
7107
  timeoutMs: 5e3
@@ -7126,43 +7159,49 @@ async function startCodexAttemptThread(params) {
7126
7159
  startupClientLease?.();
7127
7160
  if (shouldRetireCodexStartupClient(startupAttemptError, params.spawnedBy, startupAbandonController.signal)) {
7128
7161
  if (startupClientForAbandonedRequestCleanup === startupClient) startupClientForAbandonedRequestCleanup = void 0;
7162
+ enterStartupStage("client-retirement");
7129
7163
  await closeCodexStartupClientBestEffort(startupClient);
7130
7164
  }
7131
7165
  }
7132
7166
  }
7133
7167
  if (startupAttemptError instanceof CodexThreadClientReplacementError && startupClient) {
7168
+ enterStartupStage("client-retirement");
7134
7169
  if (!(await startupClient.closeAndWait()).exited) throw new AgentHarnessPreflightError("The previous conversation process did not confirm shutdown; the conversation was preserved.");
7135
7170
  }
7136
7171
  throw startupAttemptError;
7137
7172
  };
7138
7173
  let replacedSettledFailureClient = false;
7139
- for (let attempt = 1; attempt <= CODEX_APP_SERVER_STARTUP_MAX_ATTEMPTS; attempt += 1) try {
7140
- return await startupAttempt();
7141
- } catch (error) {
7142
- const selectionChanged = isCodexAppServerStartSelectionChangedError(error);
7143
- const clientRetired = error instanceof CodexThreadClientReplacementError;
7144
- if (startupAbandonController.signal.aborted || isCodexWebSocketOpenFailure(error) || clientRetired && replacedSettledFailureClient || !clientRetired && !selectionChanged && !isCodexAppServerConnectionClosedError(error)) throw error;
7145
- replacedSettledFailureClient ||= clientRetired;
7146
- const refreshedSharedClient = clientRetired ? void 0 : selectionChanged ? retireSharedCodexAppServerClientIfCurrent(attemptedClient) : clearSharedCodexAppServerClientIfCurrent(attemptedClient);
7147
- if (startupClientForAbandonedRequestCleanup === attemptedClient) startupClientForAbandonedRequestCleanup = void 0;
7148
- if (attempt >= CODEX_APP_SERVER_STARTUP_MAX_ATTEMPTS) {
7149
- embeddedAgentLog.warn(selectionChanged ? "codex app-server executable selection kept changing during startup; retries exhausted" : "codex app-server connection closed during startup; retries exhausted", {
7174
+ for (let attempt = 1; attempt <= CODEX_APP_SERVER_STARTUP_MAX_ATTEMPTS; attempt += 1) {
7175
+ startupAttemptNumber = attempt;
7176
+ try {
7177
+ return await startupAttempt();
7178
+ } catch (error) {
7179
+ const selectionChanged = isCodexAppServerStartSelectionChangedError(error);
7180
+ const clientRetired = error instanceof CodexThreadClientReplacementError;
7181
+ if (startupAbandonController.signal.aborted || isCodexWebSocketOpenFailure(error) || clientRetired && replacedSettledFailureClient || !clientRetired && !selectionChanged && !isCodexAppServerConnectionClosedError(error)) throw error;
7182
+ replacedSettledFailureClient ||= clientRetired;
7183
+ const refreshedSharedClient = clientRetired ? void 0 : selectionChanged ? retireSharedCodexAppServerClientIfCurrent(attemptedClient) : clearSharedCodexAppServerClientIfCurrent(attemptedClient);
7184
+ if (startupClientForAbandonedRequestCleanup === attemptedClient) startupClientForAbandonedRequestCleanup = void 0;
7185
+ if (attempt >= CODEX_APP_SERVER_STARTUP_MAX_ATTEMPTS) {
7186
+ embeddedAgentLog.warn(selectionChanged ? "codex app-server executable selection kept changing during startup; retries exhausted" : "codex app-server connection closed during startup; retries exhausted", {
7187
+ attempt,
7188
+ maxAttempts: CODEX_APP_SERVER_STARTUP_MAX_ATTEMPTS,
7189
+ refreshedSharedClient,
7190
+ error: formatErrorMessage(error)
7191
+ });
7192
+ throw error;
7193
+ }
7194
+ const retryDelayMs = selectionChanged || clientRetired ? 0 : 1e3 * 2 ** (attempt - 1);
7195
+ embeddedAgentLog.warn(clientRetired ? "codex app-server retired a settled failed client; resuming on a fresh client" : selectionChanged ? "codex app-server executable selection changed during startup; restarting app-server and retrying" : "codex app-server connection closed during startup; restarting app-server and retrying", {
7150
7196
  attempt,
7197
+ nextAttempt: attempt + 1,
7151
7198
  maxAttempts: CODEX_APP_SERVER_STARTUP_MAX_ATTEMPTS,
7152
7199
  refreshedSharedClient,
7153
7200
  error: formatErrorMessage(error)
7154
7201
  });
7155
- throw error;
7202
+ enterStartupStage("retry-backoff");
7203
+ await sleepWithAbort(retryDelayMs, startupAbandonController.signal);
7156
7204
  }
7157
- const retryDelayMs = selectionChanged || clientRetired ? 0 : 1e3 * 2 ** (attempt - 1);
7158
- embeddedAgentLog.warn(clientRetired ? "codex app-server retired a settled failed client; resuming on a fresh client" : selectionChanged ? "codex app-server executable selection changed during startup; restarting app-server and retrying" : "codex app-server connection closed during startup; restarting app-server and retrying", {
7159
- attempt,
7160
- nextAttempt: attempt + 1,
7161
- maxAttempts: CODEX_APP_SERVER_STARTUP_MAX_ATTEMPTS,
7162
- refreshedSharedClient,
7163
- error: formatErrorMessage(error)
7164
- });
7165
- await sleepWithAbort(retryDelayMs, startupAbandonController.signal);
7166
7205
  }
7167
7206
  throw new Error("codex app-server startup retry loop exited unexpectedly");
7168
7207
  }
@@ -7220,7 +7259,6 @@ async function startCodexAttemptRuntime(resources) {
7220
7259
  config: params.config,
7221
7260
  shellEnvironment: connection.shellEnvironment,
7222
7261
  shellPathPrepend: connection.shellPathPrepend,
7223
- shellGitConfigParameters: connection.shellGitConfigParameters,
7224
7262
  disableLoginShell: connection.disableLoginShell,
7225
7263
  buildAttemptParams: () => ({ ...runtimeParams }),
7226
7264
  ...effectiveRuntimeModelId !== runtimeParams.modelId ? { runtimeModelId: effectiveRuntimeModelId } : {},
@@ -8432,6 +8470,7 @@ function createCodexAttemptTurnState(resources) {
8432
8470
  };
8433
8471
  const deadlines = createAgentHarnessAttemptDeadlineController({
8434
8472
  startedAtMs: connection.attemptStartedAt,
8473
+ startedAtMonotonicMs: connection.attemptStartedAtMonotonicMs,
8435
8474
  timeoutMs: params.timeoutMs,
8436
8475
  settlementTimeoutMs: TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS,
8437
8476
  signal: runAbortController.signal,
@@ -1,4 +1,4 @@
1
- import { t as attemptTerminal } from "./attempt-terminal-jO5IMj9K.mjs";
1
+ import { t as attemptTerminal } from "./attempt-terminal-sZutF0WY.mjs";
2
2
  import path from "node:path";
3
3
  import fs from "node:fs/promises";
4
4
  import { awaitAgentEndSideEffects, embeddedAgentLog, formatErrorMessage, runAgentCleanupStep, runAgentEndSideEffectsAsync } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -1,7 +1,7 @@
1
1
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
2
- import { a as resolvePackagedCodexNativeCommand } from "./managed-binary-BtIjV7yN.mjs";
3
- import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-CRWTkKOn.mjs";
4
- import { captureCodexConfiguredConnection, finalizeCodexConfiguredConnection, isCodexConfiguredConnectionArtifact, validateCodexConfiguredConnectionCapture } from "./runtime-artifact-connection-jS5DeCok.mjs";
2
+ import { a as resolvePackagedCodexNativeCommand } from "./managed-binary-DwC9wxch.mjs";
3
+ import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-lgeKKHyw.mjs";
4
+ import { captureCodexConfiguredConnection, finalizeCodexConfiguredConnection, isCodexConfiguredConnectionArtifact, validateCodexConfiguredConnectionCapture } from "./runtime-artifact-connection-dFoSOKy7.mjs";
5
5
  import { createHash } from "node:crypto";
6
6
  import { resolveWindowsExecutablePath } from "openclaw/plugin-sdk/windows-spawn";
7
7
  import { resolveGlobalSingleton } from "openclaw/plugin-sdk/global-singleton";
@@ -1,6 +1,6 @@
1
- import { t as codexAppServerStartOptionsKey } from "./config-options-DDzeNQ8m.mjs";
2
- import "./config-runtime-DWzK-k0n.mjs";
3
- import { r as resolveCodexAppServerUnixSocketPath } from "./transport-websocket-DIyPfkHo.mjs";
1
+ import { t as codexAppServerStartOptionsKey } from "./config-options-CZmH25Xq.mjs";
2
+ import "./config-runtime-DGB1-VbB.mjs";
3
+ import { r as resolveCodexAppServerUnixSocketPath } from "./transport-websocket-CEBjEtFP.mjs";
4
4
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { createHash } from "node:crypto";
6
6
  import path from "node:path";
@@ -1,6 +1,6 @@
1
- import { l as isCodexRemoteExecPlacementSandbox } from "./config-parsing-DsWSCPHO.mjs";
1
+ import { l as isCodexRemoteExecPlacementSandbox } from "./config-parsing-CVK2Q463.mjs";
2
2
  import { n as resolveCodexNativeExecutionPolicy, t as formatCodexNativeNodeExecBlock } from "./native-execution-policy-MXEe7PB3.mjs";
3
- import { t as __exportAll } from "./session-binding-sidecars-DD-enC8w.mjs";
3
+ import { t as __exportAll } from "./session-binding-sidecars-DijNZb31.mjs";
4
4
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { tryResolveDefaultAgentId } from "openclaw/plugin-sdk/agent-scope-runtime";
6
6
  import { parseAgentSessionKey } from "openclaw/plugin-sdk/routing";
@@ -1,3 +1,6 @@
1
+ //#region extensions/codex/src/app-server/config-contracts.shared.ts
2
+ const CODEX_PLUGIN_MARKETPLACE_NAME_PATTERN = /^[A-Za-z0-9_-]+$/;
3
+ //#endregion
1
4
  //#region extensions/codex/src/app-server/service-tier-normalization.ts
2
5
  function normalizeCodexServiceTier(value) {
3
6
  const trimmed = typeof value === "string" ? value.trim() : "";
@@ -6,4 +9,4 @@ function normalizeCodexServiceTier(value) {
6
9
  return normalized === "fast" || normalized === "priority" ? "priority" : normalized === "flex" ? "flex" : trimmed;
7
10
  }
8
11
  //#endregion
9
- export { normalizeCodexServiceTier as t };
12
+ export { CODEX_PLUGIN_MARKETPLACE_NAME_PATTERN as n, normalizeCodexServiceTier as t };
@@ -1,9 +1,9 @@
1
1
  import { i as adoptCodexNativeSubagentSubmissions, n as mutateNativePendingAssignments, o as mutateCodexNativeSubagentSubmissions } from "./native-subagent-pending-assignments-DmVhedNs.mjs";
2
- import { a as readStoredCodexAppServerBinding, i as readCodexBindingTimestamp, n as matchesPendingSupervisionBranch, o as stripUndefinedBinding, r as readCodexAppServerThreadBinding, s as validateBindingForWrite } from "./session-binding-record-codec-BpH8u_G9.mjs";
3
- import { a as ownsStoredSessionGeneration, c as preserveNativeTaskImport, d as readCurrentCodexNativeSubagentSubmissions, f as readCurrentNativePendingAssignments, i as matchesCodexNativeSubagentSubmissionBinding, l as readCurrentCodexAppServerBinding, m as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced, o as preserveCodexNativeSubagentSubmissions, p as readPluginAppPolicyContext, r as bindingStoreKey, s as preserveNativePendingAssignments, t as CodexSupervisionBindingReplacementError, u as readCurrentCodexAppServerBindings } from "./session-binding-record-DU_0biMD.mjs";
2
+ import { a as readStoredCodexAppServerBinding, i as readCodexBindingTimestamp, n as matchesPendingSupervisionBranch, o as stripUndefinedBinding, r as readCodexAppServerThreadBinding, s as validateBindingForWrite } from "./session-binding-record-codec-CWQXr9os.mjs";
3
+ import { a as ownsStoredSessionGeneration, c as preserveNativeTaskImport, d as readCurrentCodexNativeSubagentSubmissions, f as readCurrentNativePendingAssignments, i as matchesCodexNativeSubagentSubmissionBinding, l as readCurrentCodexAppServerBinding, m as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced, o as preserveCodexNativeSubagentSubmissions, p as readPluginAppPolicyContext, r as bindingStoreKey, s as preserveNativePendingAssignments, t as CodexSupervisionBindingReplacementError, u as readCurrentCodexAppServerBindings } from "./session-binding-record-C2kDBZhx.mjs";
4
4
  import { a as PHYSICAL_SESSION_RETIRE_TTL_MS, i as CODEX_APP_SERVER_BINDING_NAMESPACE, n as CODEX_APP_SERVER_BINDING_LEASE, r as CODEX_APP_SERVER_BINDING_MAX_ENTRIES, t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-meta-Lkm5Lpf4.mjs";
5
5
  import { n as normalizeCodexAppServerBindingModelProvider } from "./auth-profile-CgHQ8Vot.mjs";
6
- import { t as __exportAll } from "./session-binding-sidecars-DD-enC8w.mjs";
6
+ import { t as __exportAll } from "./session-binding-sidecars-DijNZb31.mjs";
7
7
  import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { createHash } from "node:crypto";
9
9
  import { AgentHarnessSessionSupersededError, embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -1,6 +1,6 @@
1
1
  import { a as matchesCodexNativeSubagentSubmissionOwner, h as codexNativeSubagentHistoryConnectionFingerprint, r as readNativePendingAssignments, s as readCodexNativeSubagentSubmissions, t as matchesNativeAssignmentLifecycle } from "./native-subagent-pending-assignments-DmVhedNs.mjs";
2
- import { a as readStoredCodexAppServerBinding, t as legacyAppPolicyEntrySchema } from "./session-binding-record-codec-BpH8u_G9.mjs";
3
- import { t as __exportAll } from "./session-binding-sidecars-DD-enC8w.mjs";
2
+ import { a as readStoredCodexAppServerBinding, t as legacyAppPolicyEntrySchema } from "./session-binding-record-codec-CWQXr9os.mjs";
3
+ import { t as __exportAll } from "./session-binding-sidecars-DijNZb31.mjs";
4
4
  import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { createHash } from "node:crypto";
6
6
  import { isDeepStrictEqual } from "node:util";
@@ -1,5 +1,4 @@
1
- import { t as CODEX_PLUGIN_MARKETPLACE_NAME_PATTERN } from "./config-contracts.shared-D85SGEuq.mjs";
2
- import { t as normalizeCodexServiceTier } from "./service-tier-normalization-BPgw2Wdt.mjs";
1
+ import { n as CODEX_PLUGIN_MARKETPLACE_NAME_PATTERN, t as normalizeCodexServiceTier } from "./service-tier-normalization-C2OVdF6E.mjs";
3
2
  import { z } from "zod";
4
3
  //#region extensions/codex/src/app-server/session-binding-record-codec.ts
5
4
  /** Canonical persisted binding codec; safe to load before worker transaction admission. */
@@ -482,7 +482,7 @@ async function migrateSource(source, candidates, params, store) {
482
482
  return await withFileLock(source.sidecarPath, LEGACY_BINDING_LOCK_OPTIONS, async () => {
483
483
  const [contents, stat] = await Promise.all([fs.readFile(source.sidecarPath, "utf8"), fs.stat(source.sidecarPath)]);
484
484
  const raw = JSON.parse(contents);
485
- const [{ bindingStoreKey, createStoredCodexAppServerBinding, normalizeStoredCodexAppServerBindingFingerprints, readStoredCodexAppServerBinding }, { legacyCodexConversationBindingId }] = await Promise.all([import("./session-binding-JEHNMPsr.mjs").then((n) => n.a), import("./conversation-binding-data-UgLuTSQT.mjs").then((n) => n.t)]);
485
+ const [{ bindingStoreKey, createStoredCodexAppServerBinding, normalizeStoredCodexAppServerBindingFingerprints, readStoredCodexAppServerBinding }, { legacyCodexConversationBindingId }] = await Promise.all([import("./session-binding-BDnNz-Co.mjs").then((n) => n.a), import("./conversation-binding-data-GRGSgAro.mjs").then((n) => n.t)]);
486
486
  const agentId = owner?.agentId ?? (source.agentIds.size === 1 ? [...source.agentIds][0] : void 0);
487
487
  const baseStored = createStoredCodexAppServerBinding(raw, {
488
488
  now: stat.mtime.toISOString(),
@@ -1,8 +1,8 @@
1
- import { T as requireBoundThread, d as boundedCatalogString, o as CatalogParamsError } from "./session-catalog-parsing-DkeoVn60.mjs";
2
- import { m as sessionBindingIdentity } from "./session-binding-record-DU_0biMD.mjs";
1
+ import { T as requireBoundThread, d as boundedCatalogString, o as CatalogParamsError } from "./session-catalog-parsing-B4OyhylL.mjs";
2
+ import { m as sessionBindingIdentity } from "./session-binding-record-C2kDBZhx.mjs";
3
3
  import { n as codexUpstreamBaseline, t as codexLastTerminalTurnId } from "./session-upstream-marker-D15C9NHp.mjs";
4
- import { r as reclaimCurrentCodexSessionGeneration } from "./session-binding-JEHNMPsr.mjs";
5
- import { adoptionSessionKeyRest, catalogSessionActions } from "./session-catalog-node-adoption-BdP9Zjqo.mjs";
4
+ import { r as reclaimCurrentCodexSessionGeneration } from "./session-binding-BDnNz-Co.mjs";
5
+ import { adoptionSessionKeyRest, catalogSessionActions } from "./session-catalog-node-adoption-D11N0CMr.mjs";
6
6
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { listSessionCatalogEntries, sessionCatalogAdoptedSessionKey, sessionCatalogAdoptedSourceKey } from "openclaw/plugin-sdk/session-catalog";
8
8
  //#region extensions/codex/src/session-catalog-adoption.ts
@@ -164,7 +164,7 @@ async function createOrReuseAdoptedSession(params) {
164
164
  sourceThreadId: params.sourceThread.id,
165
165
  ...params.sourceHomeId ? { sourceHomeId: params.sourceHomeId } : {}
166
166
  };
167
- const { createImportedCodexSession } = await import("./session-history-import-CaO8s6ta.mjs");
167
+ const { createImportedCodexSession } = await import("./session-history-import-DgwRu2eD.mjs");
168
168
  const created = await createImportedCodexSession({
169
169
  runtime: params.api.runtime,
170
170
  bindingStore: params.bindingStore,
@@ -1,9 +1,9 @@
1
- import { o as CatalogParamsError } from "./session-catalog-parsing-DkeoVn60.mjs";
2
- import { m as sessionBindingIdentity } from "./session-binding-record-DU_0biMD.mjs";
1
+ import { o as CatalogParamsError } from "./session-catalog-parsing-B4OyhylL.mjs";
2
+ import { m as sessionBindingIdentity } from "./session-binding-record-C2kDBZhx.mjs";
3
3
  import { t as assertCodexArchiveDescendantsUnowned } from "./thread-archive-guard-LKdwQKyr.mjs";
4
- import "./session-binding-JEHNMPsr.mjs";
5
- import { catalogSessionActions } from "./session-catalog-node-adoption-BdP9Zjqo.mjs";
6
- import { isAdoptionSessionKeyForThread, requireIdleThread } from "./session-catalog-adoption-Ca3OYGYM.mjs";
4
+ import "./session-binding-BDnNz-Co.mjs";
5
+ import { catalogSessionActions } from "./session-catalog-node-adoption-D11N0CMr.mjs";
6
+ import { isAdoptionSessionKeyForThread, requireIdleThread } from "./session-catalog-adoption-Cl6fHxS5.mjs";
7
7
  import { listAgentIds } from "openclaw/plugin-sdk/agent-scope-runtime";
8
8
  import { sessionCatalogAdoptedSourceKey } from "openclaw/plugin-sdk/session-catalog";
9
9
  //#region extensions/codex/src/session-catalog-archive.ts
@@ -1,11 +1,11 @@
1
- import { c as MAX_CWD_LENGTH, d as boundedCatalogString } from "./session-catalog-parsing-DkeoVn60.mjs";
2
- import { n as defineCodexBuildState } from "./build-state-Ds14X10-.mjs";
3
- import { r as inferCodexAppServerConnectionClass } from "./config-security-clxAZYWX.mjs";
1
+ import { c as MAX_CWD_LENGTH, d as boundedCatalogString } from "./session-catalog-parsing-B4OyhylL.mjs";
2
+ import { n as defineCodexBuildState } from "./build-state-DPMC9C_U.mjs";
3
+ import { r as inferCodexAppServerConnectionClass } from "./config-security-DpkGNy5T.mjs";
4
4
  import { n as resolveCodexAppServerLocalHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
5
5
  import { n as codexCatalogHomeIdFromCanonicalPath } from "./session-catalog-home-id-vlih0B_g.mjs";
6
6
  import { t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
7
- import { n as codexCatalogSourceForClient, o as observeCodexCatalogEphemeralThreads } from "./session-catalog-source-DGuRdGvM.mjs";
8
- import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-CWqCU1I_.mjs";
7
+ import { n as codexCatalogSourceForClient, o as observeCodexCatalogEphemeralThreads } from "./session-catalog-source-Xt6-hNns.mjs";
8
+ import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-BJupfCyt.mjs";
9
9
  import { createHash } from "node:crypto";
10
10
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-registration";
11
11
  import path from "node:path";
@@ -1,12 +1,12 @@
1
- import { S as readControlCursor, _ as normalizeLimit, c as MAX_CWD_LENGTH, d as boundedCatalogString, h as filterCatalogPageByTitle, m as codexCatalogThreadStatus, o as CatalogParamsError, p as codexCatalogThreadName } from "./session-catalog-parsing-DkeoVn60.mjs";
2
- import { n as detachCodexCatalogString, t as CODEX_CATALOG_MAX_ROWS } from "./session-catalog-limits-BynIoOYm.mjs";
3
- import { i as retainCodexCatalogRow, n as codexCatalogRowRecency, r as compareCodexCatalogRows, t as CodexCatalogOrdering } from "./session-catalog-index-order-CTfoefow.mjs";
4
- import { c as CodexCatalogPersistence, i as CodexCatalogAvailability, l as codexCatalogMetadataPage, r as withCodexCatalogListRequest } from "./session-catalog-list-request-D4MYNgDB.mjs";
5
- import { a as hasLiveCodexCatalogSource, c as setCodexCatalogSource, i as getCodexCatalogSource } from "./session-catalog-source-DGuRdGvM.mjs";
6
- import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-CWqCU1I_.mjs";
7
- import { i as subscribeCodexCatalogEvents } from "./session-catalog-events-kR2Ot6nX.mjs";
1
+ import { S as readControlCursor, _ as normalizeLimit, c as MAX_CWD_LENGTH, d as boundedCatalogString, h as filterCatalogPageByTitle, m as codexCatalogThreadStatus, o as CatalogParamsError, p as codexCatalogThreadName } from "./session-catalog-parsing-B4OyhylL.mjs";
2
+ import { n as detachCodexCatalogString, t as CODEX_CATALOG_MAX_ROWS } from "./session-catalog-limits-Daqt3JLk.mjs";
3
+ import { i as retainCodexCatalogRow, n as codexCatalogRowRecency, r as compareCodexCatalogRows, t as CodexCatalogOrdering } from "./session-catalog-index-order-B30rjUEJ.mjs";
4
+ import { c as CodexCatalogPersistence, i as CodexCatalogAvailability, l as codexCatalogMetadataPage, r as withCodexCatalogListRequest } from "./session-catalog-list-request-SJyGz02j.mjs";
5
+ import { a as hasLiveCodexCatalogSource, c as setCodexCatalogSource, i as getCodexCatalogSource } from "./session-catalog-source-Xt6-hNns.mjs";
6
+ import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-BJupfCyt.mjs";
7
+ import { i as subscribeCodexCatalogEvents } from "./session-catalog-events-BBV3DMG7.mjs";
8
8
  import { a as reportCodexCatalogSpawnFailure, n as findCodexAppServerSpawnError } from "./spawn-error-CL3n6MAa.mjs";
9
- import { CodexCatalogProjectionCapacityError, CodexCatalogProjections, mergeCodexCatalogRolloutRow, n as readCodexCatalogRollout, projectCodexCatalogPage, r as resolveCodexCatalogRolloutFingerprint, t as codexCatalogRolloutLogicalPath } from "./session-catalog-projection-BzHiV818.mjs";
9
+ import { CodexCatalogProjectionCapacityError, CodexCatalogProjections, mergeCodexCatalogRolloutRow, n as readCodexCatalogRollout, projectCodexCatalogPage, r as resolveCodexCatalogRolloutFingerprint, t as codexCatalogRolloutLogicalPath } from "./session-catalog-projection-CYgFTaYm.mjs";
10
10
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { createHash } from "node:crypto";
12
12
  import { isDeepStrictEqual } from "node:util";