@openclaw/codex 2026.10.6 → 2026.10.8

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 (112) hide show
  1. package/README.md +2 -0
  2. package/dist/.setup/{account-usage-runtime-E3SrjJVn.mjs → account-usage-runtime-lUj2JqSj.mjs} +3 -3
  3. package/dist/.setup/{app-server-policy-V8zuN8q_.mjs → app-server-policy-CF-JwGUD.mjs} +1 -1
  4. package/dist/.setup/{apply-C3s-1Zxe.mjs → apply-DjTVE_db.mjs} +8 -8
  5. package/dist/.setup/{attempt-client-cleanup-BVww-ct8.mjs → attempt-client-cleanup-BmPBqnW3.mjs} +5 -5
  6. package/dist/.setup/{attempt-workspace-context-BkA0W8Jy.mjs → attempt-workspace-context-EAeScFrg.mjs} +1 -1
  7. package/dist/.setup/{auth-binding-BFTkrP_b.mjs → auth-binding-D1TJwzWf.mjs} +1 -1
  8. package/dist/.setup/{auth-cache-key-CXK7tmkb.mjs → auth-cache-key-8VTsPn2f.mjs} +3 -3
  9. package/dist/.setup/{binding-connection-C0t9TBX_.mjs → binding-connection-BIo1-hoT.mjs} +2 -2
  10. package/dist/.setup/{binding-connection.runtime-Wdm5G_bw.mjs → binding-connection.runtime-C5yDsKBQ.mjs} +1 -1
  11. package/dist/.setup/{bounded-turn-vdpL2efh.mjs → bounded-turn-DByEneJg.mjs} +11 -11
  12. package/dist/.setup/{bounded-turn-isolation-CIQJykuM.mjs → bounded-turn-isolation-BRNgfoRl.mjs} +2 -2
  13. package/dist/.setup/{build-state-DPMC9C_U.mjs → build-state-vxQdf_74.mjs} +1 -1
  14. package/dist/.setup/{client-Div-zqnz.mjs → client-BTWv2cJe.mjs} +8 -8
  15. package/dist/.setup/{client-catalog-response-Dtob_lVt.mjs → client-catalog-response-CEZTmNz3.mjs} +1 -1
  16. package/dist/.setup/{command-dispatch-ByO36LmS.mjs → command-dispatch-rxpyy4f6.mjs} +1 -1
  17. package/dist/.setup/{command-handlers-CJqo6LZS.mjs → command-handlers-D6utyBA8.mjs} +22 -22
  18. package/dist/.setup/{command-rpc-Co0UzT-T.mjs → command-rpc-CloxIlVK.mjs} +11 -11
  19. package/dist/.setup/{compact-CzNBg4cQ.mjs → compact-CIJFn4Bi.mjs} +13 -13
  20. package/dist/.setup/{computer-use-BcDrQlxi.mjs → computer-use-vLGHqSOu.mjs} +7 -7
  21. package/dist/.setup/{config-LQemoqTL.mjs → config-d0gOFYEk.mjs} +2 -2
  22. package/dist/.setup/{config-runtime-DGB1-VbB.mjs → config-runtime-BUH-IDVE.mjs} +1 -1
  23. package/dist/.setup/{conversation-binding-Dcv7_rs-.mjs → conversation-binding-BUw0IM5Z.mjs} +15 -15
  24. package/dist/.setup/{conversation-binding-data-GRGSgAro.mjs → conversation-binding-data-BqzGWkPW.mjs} +1 -1
  25. package/dist/.setup/{conversation-control-BtPxevoK.mjs → conversation-control-D5qVEey9.mjs} +3 -3
  26. package/dist/.setup/{doctor-start-options-C28ek2hD.mjs → doctor-start-options-DyLrwtq-.mjs} +3 -3
  27. package/dist/.setup/{dynamic-tool-build-DjbDZzOJ.mjs → dynamic-tool-build-OWTT0wP-.mjs} +3 -3
  28. package/dist/.setup/{dynamic-tools-75qoSOch.mjs → dynamic-tools-CygReZGj.mjs} +8 -8
  29. package/dist/.setup/{effective-mcp-catalog-Dz0J8iAj.mjs → effective-mcp-catalog-B_4Dtkdg.mjs} +6 -6
  30. package/dist/.setup/{ephemeral-turn-K_d99r9P.mjs → ephemeral-turn-B1Na_xCj.mjs} +2 -2
  31. package/dist/.setup/{inference-proxy-DSnaS-uS.mjs → inference-proxy-BZgN5W8m.mjs} +3 -3
  32. package/dist/.setup/{isolated-completion-dNt4kRLw.mjs → isolated-completion-DGCmR0Q8.mjs} +5 -5
  33. package/dist/.setup/{managed-binary-DwC9wxch.mjs → managed-binary-Boj8_lWV.mjs} +1 -1
  34. package/dist/.setup/{mcp-app-session-preparation-C7LyxbAm.mjs → mcp-app-session-preparation-DFvoViz9.mjs} +8 -8
  35. package/dist/.setup/{model-catalog-BRJ7RMXY.mjs → model-catalog-CCr0L7T4.mjs} +7 -7
  36. package/dist/.setup/{models-CusrgpiY.mjs → models-CPdqFOZS.mjs} +3 -3
  37. package/dist/.setup/native-assignment-repair-BjS4uyQr.mjs +162 -0
  38. package/dist/.setup/{native-auth-CveRfTpz.mjs → native-auth-TAGxZP-r.mjs} +3 -3
  39. package/dist/.setup/{native-hook-relay-BvwSj5bt.mjs → native-hook-relay-VHeLdZXU.mjs} +4 -4
  40. package/dist/.setup/{native-mcp-app-DDEtVQED.mjs → native-mcp-app-ly1JuStw.mjs} +5 -5
  41. package/dist/.setup/{native-skill-isolation-Cx2AkUco.mjs → native-skill-isolation--6M-3BWV.mjs} +3 -3
  42. package/dist/.setup/{native-subagent-monitor-CBYFkNsB.mjs → native-subagent-monitor-CuNglHrq.mjs} +161 -53
  43. package/dist/.setup/{native-subagent-pending-assignments-DmVhedNs.mjs → native-subagent-pending-assignments-BAOzwy85.mjs} +49 -11
  44. package/dist/.setup/{native-task-assignments-DYL9uxNe.mjs → native-task-assignments-Dap5NqiR.mjs} +4 -4
  45. package/dist/.setup/{node-cli-sessions-BxVYZNuY.mjs → node-cli-sessions-BQNAFnCa.mjs} +2 -2
  46. package/dist/.setup/{node-exec-server.runtime-8RehgPdQ.mjs → node-exec-server.runtime-B-4ogz9C.mjs} +2 -2
  47. package/dist/.setup/{plan-BKFbfVsV.mjs → plan-CqI4m0CC.mjs} +5 -5
  48. package/dist/.setup/{plugin-activation-BgfNFH2L.mjs → plugin-activation-Dbq2m2gh.mjs} +2 -2
  49. package/dist/.setup/{plugin-approval-roundtrip-CXXXhuKi.mjs → plugin-approval-roundtrip-DIE4DZ9S.mjs} +1 -1
  50. package/dist/.setup/{plugin-inventory-OhiCoyPH.mjs → plugin-inventory-CZLnMaxf.mjs} +1 -1
  51. package/dist/.setup/{project-doc-thread-config-D_sWbxFR.mjs → project-doc-thread-config-BYFXSVGk.mjs} +3 -3
  52. package/dist/.setup/{provider-BVV8SWlx.mjs → provider-CBlKf65x.mjs} +4 -4
  53. package/dist/.setup/{provider-capabilities-B-pTlDsf.mjs → provider-capabilities-BIyUe_cz.mjs} +10 -3
  54. package/dist/.setup/{request-m-H-7FMu.mjs → request-6bus8ebp.mjs} +5 -5
  55. package/dist/.setup/{run-attempt-Ch1emiZE.mjs → run-attempt-BcePYT3A.mjs} +168 -86
  56. package/dist/.setup/{runtime-artifact-CCPLKFGR.mjs → runtime-artifact-Ch7fCcgJ.mjs} +3 -3
  57. package/dist/.setup/{runtime-artifact-connection-dFoSOKy7.mjs → runtime-artifact-connection-C3ootnwd.mjs} +2 -2
  58. package/dist/.setup/{sandbox-guard-Cf9XMRrg.mjs → sandbox-guard-CwOc36_1.mjs} +1 -1
  59. package/dist/.setup/{session-binding-BDnNz-Co.mjs → session-binding-_RE7vtVN.mjs} +38 -12
  60. package/dist/.setup/{session-binding-record-C2kDBZhx.mjs → session-binding-record-O62ZRFhy.mjs} +2 -2
  61. package/dist/.setup/{session-binding-sidecars-DijNZb31.mjs → session-binding-sidecars-CAHe3enw.mjs} +1 -1
  62. package/dist/.setup/{session-catalog-adoption-Cl6fHxS5.mjs → session-catalog-adoption-DuChFASf.mjs} +5 -5
  63. package/dist/.setup/{session-catalog-archive-CUU7jEkO.mjs → session-catalog-archive-Bs5cP3zm.mjs} +5 -5
  64. package/dist/.setup/{session-catalog-events-BBV3DMG7.mjs → session-catalog-events-C8i0HBz5.mjs} +4 -4
  65. package/dist/.setup/{session-catalog-index-order-B30rjUEJ.mjs → session-catalog-index-order-CTSrDiE1.mjs} +1 -1
  66. package/dist/.setup/{session-catalog-index-B00GIRi3.mjs → session-catalog-index-zqaZhwr2.mjs} +8 -8
  67. package/dist/.setup/{session-catalog-limits-Daqt3JLk.mjs → session-catalog-limits-9Ay62KQ0.mjs} +1 -1
  68. package/dist/.setup/{session-catalog-list-request-SJyGz02j.mjs → session-catalog-list-request-uKKvUIoN.mjs} +3 -3
  69. package/dist/.setup/{session-catalog-native-projection-BJupfCyt.mjs → session-catalog-native-projection-C6KOqnIb.mjs} +4 -4
  70. package/dist/.setup/{session-catalog-node-adoption-D11N0CMr.mjs → session-catalog-node-adoption-BjYvYtAd.mjs} +2 -2
  71. package/dist/.setup/{session-catalog-node-continue-Ct62GeL1.mjs → session-catalog-node-continue-BEI9D3ev.mjs} +5 -5
  72. package/dist/.setup/{session-catalog-node-lookup-DQVe6vhs.mjs → session-catalog-node-lookup-CBomNvUN.mjs} +2 -2
  73. package/dist/.setup/{session-catalog-parsing-B4OyhylL.mjs → session-catalog-parsing-DmZmgRou.mjs} +1 -1
  74. package/dist/.setup/{session-catalog-projection-CYgFTaYm.mjs → session-catalog-projection-DD5m0grG.mjs} +4 -4
  75. package/dist/.setup/{session-catalog-source-Xt6-hNns.mjs → session-catalog-source-0x1LVwV-.mjs} +1 -1
  76. package/dist/.setup/{session-cli-BoJSZfGd.mjs → session-cli-B1f7NqXo.mjs} +1 -1
  77. package/dist/.setup/{session-history-import-DgwRu2eD.mjs → session-history-import-BhOzqhyI.mjs} +4 -4
  78. package/dist/.setup/{session-history.worker-DJQfek5p.mjs → session-history.worker-D2v5yRcB.mjs} +5 -3
  79. package/dist/.setup/{session-initialization-BjVtsTzi.mjs → session-initialization-Bwe0Bikj.mjs} +1 -1
  80. package/dist/.setup/{session-retirement-DIqF1vQ4.mjs → session-retirement-BIFmgIgn.mjs} +6 -6
  81. package/dist/.setup/{settled-turn-finalizer-dVv34G_E.mjs → settled-turn-finalizer-9WZ-Hnwo.mjs} +5 -5
  82. package/dist/.setup/{shared-client-CNGDTv68.mjs → shared-client-Bo9MCCKj.mjs} +59 -14
  83. package/dist/.setup/{side-question-D1Wa21s9.mjs → side-question-GmfBHNHK.mjs} +17 -17
  84. package/dist/.setup/{source-DyVuYlTN.mjs → source-C4Al9cJx.mjs} +4 -4
  85. package/dist/.setup/{thread-lifecycle-run-DjSfTw6v.mjs → thread-lifecycle-run-avZbRAjm.mjs} +56 -20
  86. package/dist/.setup/{thread-ownership-BBsOFzCM.mjs → thread-ownership-C5Hpc-Q1.mjs} +4 -4
  87. package/dist/.setup/{thread-policy-BEiS7ITh.mjs → thread-policy-BFLbIpIt.mjs} +3 -3
  88. package/dist/.setup/{thread-requests-DjyDmCo4.mjs → thread-requests-pX9_RXpU.mjs} +2 -2
  89. package/dist/.setup/{thread-resume-BqOca2Iy.mjs → thread-resume-LBLXiIEh.mjs} +4 -4
  90. package/dist/.setup/{transcript-mirror-DVEzdOs0.mjs → transcript-mirror-CPdcVWTn.mjs} +1 -1
  91. package/dist/.setup/{transport-stdio-lgeKKHyw.mjs → transport-stdio-BsXQmXll.mjs} +1 -1
  92. package/dist/.setup/{transport-websocket-CEBjEtFP.mjs → transport-websocket-B5mq2Iq2.mjs} +1 -1
  93. package/dist/.setup/{turn-router-DM0fRrYI.mjs → turn-router-Ba0-h2NE.mjs} +1 -1
  94. package/dist/.setup/{upstream-session-fork-CxgShpwe.mjs → upstream-session-fork-C34T_h_K.mjs} +17 -17
  95. package/dist/.setup/{usage-DV8T9Yau.mjs → usage-BHTnwsjV.mjs} +3 -3
  96. package/dist/.setup/{usage-limit-error-ryR1PGou.mjs → usage-limit-error-YNy7uINJ.mjs} +1 -1
  97. package/dist/.setup/{web-search-provider.runtime-DkciK2gS.mjs → web-search-provider.runtime-BOqY-zot.mjs} +2 -2
  98. package/dist/.setup/{workspace-write-sandbox-probe-DvfWTvuR.mjs → workspace-write-sandbox-probe-DB6Y3XLX.mjs} +2 -2
  99. package/dist/.source-module-urls/a8ffe2b9525179f031f130700992add0f356b5fe3e562c8e70b2801696da5134.json +1 -0
  100. package/dist/api.js +3 -3
  101. package/dist/catalog-page.worker.js +1 -1
  102. package/dist/cli-metadata.js +1 -1
  103. package/dist/doctor-contract-api.js +14 -5
  104. package/dist/harness.js +20 -20
  105. package/dist/index.js +68 -58
  106. package/dist/media-understanding-provider.js +2 -2
  107. package/dist/migration-provider-api.js +1 -1
  108. package/dist/provider-discovery.js +1 -1
  109. package/dist/session-history-worker-runtime.js +4 -2
  110. package/dist/session-history.worker.js +1 -1
  111. package/openclaw.plugin.json +5 -0
  112. package/package.json +5 -5
@@ -1,29 +1,29 @@
1
1
  import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
- import { m as sessionBindingIdentity } from "./session-binding-record-C2kDBZhx.mjs";
2
+ import { m as sessionBindingIdentity } from "./session-binding-record-O62ZRFhy.mjs";
3
3
  import { c as withMcpElicitationsApprovalPolicy, d as readCodexRequirementsToml, n as hasCodexMcpToolApprovalOverrides, s as shouldAutoApproveCodexAppServerApprovals } from "./config-security-DpkGNy5T.mjs";
4
4
  import { c as isCodexPairedNodeRemoteExecPlacementSandbox, d as readCodexPluginConfig, l as isCodexRemoteExecPlacementSandbox, u as isCodexSandboxExecServerEnabled } from "./config-parsing-CVK2Q463.mjs";
5
5
  import { i as resolveCodexAppServerHomeScope, l as resolveCodexModelBackedReviewerPolicyContext } from "./config-options-CZmH25Xq.mjs";
6
6
  import { n as formatCodexUsageLimitErrorMessage } from "./rate-limits-CI8pTPqL.mjs";
7
- import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection } from "./binding-connection-C0t9TBX_.mjs";
8
- import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-LQemoqTL.mjs";
9
- import { Q as readRecentCodexRateLimits, b as withLeasedCodexAppServerClientStartSelectionRetry, c as getLeasedSharedCodexAppServerClient, m as releaseCodexAppServerClientLease, rt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-CNGDTv68.mjs";
10
- import { E as resolveDynamicToolCallTimeoutMs, O as toCodexDynamicToolProtocolResponse, T as handleDynamicToolCallWithTimeout, _ as assertCodexTurnStartResponse, a as isCodexAppServerIndeterminateRequestCancellationError, k as resolveCodexToolAbortTerminalReason, m as assertCodexThreadForkResponse, r as isCodexAppServerApprovalRequest, w as createCodexElicitationResponse, y as readCodexDynamicToolCallParams } from "./client-Div-zqnz.mjs";
11
- import { d as terminateCodexBackgroundTerminals, f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, s as interruptCodexTurnAndWaitBestEffort } from "./attempt-client-cleanup-BVww-ct8.mjs";
12
- import { t as CodexEphemeralTurn } from "./ephemeral-turn-K_d99r9P.mjs";
13
- import { d as mergeCodexThreadConfigs, f as refreshCodexPluginAppApprovalPolicy } from "./project-doc-thread-config-D_sWbxFR.mjs";
7
+ import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection } from "./binding-connection-BIo1-hoT.mjs";
8
+ import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-d0gOFYEk.mjs";
9
+ import { Q as readRecentCodexRateLimits, at as resolveCodexAppServerPreparedAuthHandoff, b as withLeasedCodexAppServerClientStartSelectionRetry, c as getLeasedSharedCodexAppServerClient, m as releaseCodexAppServerClientLease } from "./shared-client-Bo9MCCKj.mjs";
10
+ import { E as resolveDynamicToolCallTimeoutMs, O as toCodexDynamicToolProtocolResponse, T as handleDynamicToolCallWithTimeout, _ as assertCodexTurnStartResponse, a as isCodexAppServerIndeterminateRequestCancellationError, k as resolveCodexToolAbortTerminalReason, m as assertCodexThreadForkResponse, r as isCodexAppServerApprovalRequest, w as createCodexElicitationResponse, y as readCodexDynamicToolCallParams } from "./client-BTWv2cJe.mjs";
11
+ import { d as terminateCodexBackgroundTerminals, f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, s as interruptCodexTurnAndWaitBestEffort } from "./attempt-client-cleanup-BmPBqnW3.mjs";
12
+ import { t as CodexEphemeralTurn } from "./ephemeral-turn-B1Na_xCj.mjs";
13
+ import { d as mergeCodexThreadConfigs, f as refreshCodexPluginAppApprovalPolicy } from "./project-doc-thread-config-BYFXSVGk.mjs";
14
14
  import { n as resolveCodexAppServerReasoningEffort, t as readCodexSupportedReasoningEfforts } from "./reasoning-effort-CS9kKWB9.mjs";
15
- import { h as resolveCodexWebSearchPlan, r as buildCodexRuntimeThreadConfig, z as resolveCodexDynamicToolsLoading } from "./thread-requests-DjyDmCo4.mjs";
16
- import { i as resolveCodexSessionBinding } from "./session-binding-BDnNz-Co.mjs";
15
+ import { h as resolveCodexWebSearchPlan, r as buildCodexRuntimeThreadConfig, z as resolveCodexDynamicToolsLoading } from "./thread-requests-pX9_RXpU.mjs";
16
+ import { i as resolveCodexSessionBinding } from "./session-binding-_RE7vtVN.mjs";
17
17
  import { i as resolveCodexAppServerThreadModelSelection, t as CODEX_NATIVE_PERSONALITY_NONE } from "./thread-model-selection-DcVebr8N.mjs";
18
- import { t as resolveCodexNativeExecutionBlock } from "./sandbox-guard-Cf9XMRrg.mjs";
19
- import { i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-BEiS7ITh.mjs";
18
+ import { t as resolveCodexNativeExecutionBlock } from "./sandbox-guard-CwOc36_1.mjs";
19
+ import { i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-BFLbIpIt.mjs";
20
20
  import { o as runCodexCleanupStep } from "./run-attempt-lifecycle-DN-ATDp9.mjs";
21
- import { a as resolveCodexExternalSandboxPolicyForOpenClawSandbox, c as shouldEnableCodexAppServerNativeToolSurface, l as shouldRequireCodexSandboxExecServerEnvironment, o as resolveCodexMessageToolProvider, s as resolveCodexSandboxEnvironmentSelection, t as buildDynamicTools } from "./dynamic-tool-build-DjbDZzOJ.mjs";
22
- import { a as buildCodexNativeHookRelayDisabledConfig, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, u as resolveCodexNativeHookRelayTtlMs } from "./native-hook-relay-BvwSj5bt.mjs";
21
+ import { a as resolveCodexExternalSandboxPolicyForOpenClawSandbox, c as shouldEnableCodexAppServerNativeToolSurface, l as shouldRequireCodexSandboxExecServerEnvironment, o as resolveCodexMessageToolProvider, s as resolveCodexSandboxEnvironmentSelection, t as buildDynamicTools } from "./dynamic-tool-build-OWTT0wP-.mjs";
22
+ import { a as buildCodexNativeHookRelayDisabledConfig, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, u as resolveCodexNativeHookRelayTtlMs } from "./native-hook-relay-VHeLdZXU.mjs";
23
23
  import { i as resolveCodexSessionPermissionCwd, n as applyCodexSessionPermissionPolicy, r as resolveCodexEffectiveSessionPermissionPolicy, t as CODEX_SESSION_PERMISSION_EXEC_MODES } from "./session-permission-policy-C7kYxPGd.mjs";
24
- import { a as handleCodexAppServerApprovalRequest, c as createCodexNativePreToolUseFailureBuffer, d as buildCodexTemporalAdditionalContext, g as buildCodexUserInput, i as createCodexDynamicToolDiagnostics, o as ensureCodexSandboxExecServerEnvironment, r as routeCodexAppServerElicitationRequest, s as releaseCodexSandboxExecServerEnvironment, t as createCodexDynamicToolBridge, y as CodexNativeToolLifecycleProjector } from "./dynamic-tools-75qoSOch.mjs";
25
- import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-V8zuN8q_.mjs";
26
- import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-B-pTlDsf.mjs";
24
+ import { a as handleCodexAppServerApprovalRequest, c as createCodexNativePreToolUseFailureBuffer, d as buildCodexTemporalAdditionalContext, g as buildCodexUserInput, i as createCodexDynamicToolDiagnostics, o as ensureCodexSandboxExecServerEnvironment, r as routeCodexAppServerElicitationRequest, s as releaseCodexSandboxExecServerEnvironment, t as createCodexDynamicToolBridge, y as CodexNativeToolLifecycleProjector } from "./dynamic-tools-CygReZGj.mjs";
25
+ import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-CF-JwGUD.mjs";
26
+ import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-BIyUe_cz.mjs";
27
27
  import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
28
28
  import { randomUUID } from "node:crypto";
29
29
  import { isDeepStrictEqual } from "node:util";
@@ -1,8 +1,8 @@
1
1
  import { a as defaultCodexAppInventoryCache, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
2
- import { a as withCodexAppServerJsonClient } from "./request-m-H-7FMu.mjs";
3
- import { a as marketplaceRef, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-OhiCoyPH.mjs";
4
- import "./config-LQemoqTL.mjs";
5
- import { t as __exportAll } from "./session-binding-sidecars-DijNZb31.mjs";
2
+ import { a as withCodexAppServerJsonClient } from "./request-6bus8ebp.mjs";
3
+ import { a as marketplaceRef, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-CZLnMaxf.mjs";
4
+ import "./config-d0gOFYEk.mjs";
5
+ import { t as __exportAll } from "./session-binding-sidecars-CAHe3enw.mjs";
6
6
  import { asNonArrayRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import path from "node:path";
8
8
  import os from "node:os";
@@ -1,11 +1,11 @@
1
1
  import { i as isJsonObject, r as flattenCodexDynamicToolFunctions } from "./protocol-CANUwXJ3.mjs";
2
2
  import { n as matchesPendingSupervisionBranch } from "./session-binding-record-codec-CWQXr9os.mjs";
3
- import { m as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced } from "./session-binding-record-C2kDBZhx.mjs";
3
+ import { m as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced } from "./session-binding-record-O62ZRFhy.mjs";
4
4
  import { l as fingerprintCodexPolicy } from "./config-security-DpkGNy5T.mjs";
5
5
  import { f as resolveCodexPluginsPolicy } from "./config-parsing-CVK2Q463.mjs";
6
6
  import { n as resolveCodexAppServerLocalHomeDir, t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
7
7
  import { d as readCodexEffectiveConfig, s as assertCodexModelBackedReviewerEffectiveConfig, u as CODEX_SESSION_OVERRIDABLE_LAYER_TYPES } from "./config-options-CZmH25Xq.mjs";
8
- import { S as retainSharedCodexAppServerClientByInstanceId, d as getCurrentSharedClientEntry } from "./auth-cache-key-CXK7tmkb.mjs";
8
+ import { S as retainSharedCodexAppServerClientByInstanceId, d as getCurrentSharedClientEntry } from "./auth-cache-key-8VTsPn2f.mjs";
9
9
  import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-CeyYScUC.mjs";
10
10
  import { o as isCodexAppServerOverloadError, r as CodexAppServerRpcError, s as isCodexThreadReadMissingError } from "./rpc-error-C98SHchT.mjs";
11
11
  import { t as codexCatalogHomeId } from "./session-catalog-home-id-vlih0B_g.mjs";
@@ -13,27 +13,27 @@ import { r as withAbortableTimeout } from "./timeout-D0mEWSGG.mjs";
13
13
  import { t as projectBoundedCodexThreadHistory } from "./transcript-history-projection-DfKcoZCB.mjs";
14
14
  import { a as defaultCodexAppInventoryCache, t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
15
15
  import { n as readCodexSessionMeta } from "./session-catalog-provenance-CmsOE5mh.mjs";
16
- import { t as assertCodexSessionRuntimeOwnership } from "./binding-connection-C0t9TBX_.mjs";
17
- import { c as resolveRecoverableCodexPluginConfigKeys } from "./plugin-inventory-OhiCoyPH.mjs";
18
- import "./config-LQemoqTL.mjs";
16
+ import { t as assertCodexSessionRuntimeOwnership } from "./binding-connection-BIo1-hoT.mjs";
17
+ import { c as resolveRecoverableCodexPluginConfigKeys } from "./plugin-inventory-CZLnMaxf.mjs";
18
+ import "./config-d0gOFYEk.mjs";
19
19
  import { c as resolveCodexContextEngineProjectionMaxChars } from "./context-engine-projection-ps-yn_ci.mjs";
20
20
  import { n as normalizeCodexAppServerBindingModelProvider } from "./auth-profile-CgHQ8Vot.mjs";
21
- import { A as bindCodexInferenceThread, B as isCodexAppServerClientRuntimeLive, C as CodexThreadBindingConflictError, F as consumeCodexAppServerLiveThread, H as isCodexAppServerLiveThreadClaimed, M as getCodexInferenceThreadQualification, N as prepareCodexInferenceThreadConfig, S as CodexAdoptedThreadActiveError, T as CodexThreadStartRequestError, U as isCodexAppServerLiveThreadProtected, V as isCodexAppServerLiveThreadBackgroundOnly, X as unsubscribeCodexAppServerLiveThread, et as createCodexEphemeralThreadPolicy, j as getCodexInferenceThread, k as assertCodexInferenceRouteConfig, n as captureCodexAppServerClientLifetime, q as releaseCodexAppServerLiveThread, w as CodexThreadClientReplacementError, z as hasCodexAppServerSiblingThreadWork } from "./shared-client-CNGDTv68.mjs";
22
- import { C as resolveCodexThreadRolloutPath, F as getCodexAppServerClientInstanceId, L as resolveCodexAppServerClientInstanceId, S as readSupervisionResponseThreadId, c as isCodexAppServerRequestTimeoutError, g as assertCodexThreadStartResponse, m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, v as assertExactSupervisionModelSelection } from "./client-Div-zqnz.mjs";
23
- import { r as hasCodexAppServerSiblingRouteWork } from "./turn-router-DM0fRrYI.mjs";
24
- import { f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-BVww-ct8.mjs";
25
- import { a as buildCodexPluginThreadConfigInputFingerprint, c as buildPluginAppPolicyContext, d as mergeCodexThreadConfigs, i as buildCodexPluginThreadConfig, l as disableUnlistedCodexApps, m as buildCodexAppApprovalOverrides, n as mergeCodexNativeProjectDocThreadConfig, o as buildCodexPluginThreadConfigTimeoutFallback, p as shouldBuildCodexPluginThreadConfig, r as buildCodexPluginAppsConfigPatchFromPolicyContext, u as isCodexPluginThreadBindingStale } from "./project-doc-thread-config-D_sWbxFR.mjs";
26
- import { A as isTransientWebSearchRestriction, C as fingerprintEnvironmentSelection, D as readActiveCodexTurnIdsFromResume, E as legacyFingerprintUserMcpServersConfigPatch, I as isMessageOnlyCodexSourceReply, L as isSystemAgentOnlyCodexDynamicToolAllowlist, M as shouldRotateCodexAppServerBindingForRuntime, N as shouldRotateCodexGpt56MultiAgentBinding, O as shouldStartTransientNoToolThread, S as fingerprintCodexThreadConfig, T as fingerprintUserMcpServersConfigPatch, _ as buildDeveloperInstructions, b as codexDynamicToolsFingerprint, c as codexThreadSandboxOrPermissions, d as readCodexManagedRequirementsFingerprint, f as resolveCodexThreadApprovalsReviewer, g as mergeCodexNativeShellEnvironment, h as resolveCodexWebSearchPlan, i as buildCodexRuntimeThreadConfigForRun, j as shouldRecheckRecoverablePluginBinding, n as buildCodexRingZeroThreadConfigPatch, o as buildThreadResumeParams, p as attestCodexRestrictedToolSurfaceMcpServersDisabled, s as buildThreadStartParams, t as assertCodexManagedRequirementsDoNotOverrideToolPolicy, u as readCodexInheritedMcpServerNames, v as areCodexDynamicToolFingerprintsCompatible, w as fingerprintJsonObject, x as codexLegacyDynamicToolsFingerprint, y as areUserMcpServersFingerprintsCompatible } from "./thread-requests-DjyDmCo4.mjs";
27
- import { i as resolveCodexSessionBinding, o as hashCodexAppServerBindingFingerprint } from "./session-binding-BDnNz-Co.mjs";
21
+ import { A as bindCodexInferenceThread, B as isCodexAppServerClientRuntimeLive, C as CodexThreadBindingConflictError, F as consumeCodexAppServerLiveThread, H as isCodexAppServerLiveThreadClaimed, M as getCodexInferenceThreadQualification, N as prepareCodexInferenceThreadConfig, S as CodexAdoptedThreadActiveError, T as CodexThreadStartRequestError, U as isCodexAppServerLiveThreadProtected, V as isCodexAppServerLiveThreadBackgroundOnly, X as unsubscribeCodexAppServerLiveThread, et as createCodexEphemeralThreadPolicy, j as getCodexInferenceThread, k as assertCodexInferenceRouteConfig, n as captureCodexAppServerClientLifetime, nt as wasCodexAppServerThreadClosed, q as releaseCodexAppServerLiveThread, tt as isCodexAppServerThreadTerminalNotification, w as CodexThreadClientReplacementError, z as hasCodexAppServerSiblingThreadWork } from "./shared-client-Bo9MCCKj.mjs";
22
+ import { C as resolveCodexThreadRolloutPath, F as getCodexAppServerClientInstanceId, L as resolveCodexAppServerClientInstanceId, S as readSupervisionResponseThreadId, c as isCodexAppServerRequestTimeoutError, g as assertCodexThreadStartResponse, m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, v as assertExactSupervisionModelSelection } from "./client-BTWv2cJe.mjs";
23
+ import { r as hasCodexAppServerSiblingRouteWork } from "./turn-router-Ba0-h2NE.mjs";
24
+ import { f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-BmPBqnW3.mjs";
25
+ import { a as buildCodexPluginThreadConfigInputFingerprint, c as buildPluginAppPolicyContext, d as mergeCodexThreadConfigs, i as buildCodexPluginThreadConfig, l as disableUnlistedCodexApps, m as buildCodexAppApprovalOverrides, n as mergeCodexNativeProjectDocThreadConfig, o as buildCodexPluginThreadConfigTimeoutFallback, p as shouldBuildCodexPluginThreadConfig, r as buildCodexPluginAppsConfigPatchFromPolicyContext, u as isCodexPluginThreadBindingStale } from "./project-doc-thread-config-BYFXSVGk.mjs";
26
+ import { A as isTransientWebSearchRestriction, C as fingerprintEnvironmentSelection, D as readActiveCodexTurnIdsFromResume, E as legacyFingerprintUserMcpServersConfigPatch, I as isMessageOnlyCodexSourceReply, L as isSystemAgentOnlyCodexDynamicToolAllowlist, M as shouldRotateCodexAppServerBindingForRuntime, N as shouldRotateCodexGpt56MultiAgentBinding, O as shouldStartTransientNoToolThread, S as fingerprintCodexThreadConfig, T as fingerprintUserMcpServersConfigPatch, _ as buildDeveloperInstructions, b as codexDynamicToolsFingerprint, c as codexThreadSandboxOrPermissions, d as readCodexManagedRequirementsFingerprint, f as resolveCodexThreadApprovalsReviewer, g as mergeCodexNativeShellEnvironment, h as resolveCodexWebSearchPlan, i as buildCodexRuntimeThreadConfigForRun, j as shouldRecheckRecoverablePluginBinding, n as buildCodexRingZeroThreadConfigPatch, o as buildThreadResumeParams, p as attestCodexRestrictedToolSurfaceMcpServersDisabled, s as buildThreadStartParams, t as assertCodexManagedRequirementsDoNotOverrideToolPolicy, u as readCodexInheritedMcpServerNames, v as areCodexDynamicToolFingerprintsCompatible, w as fingerprintJsonObject, x as codexLegacyDynamicToolsFingerprint, y as areUserMcpServersFingerprintsCompatible } from "./thread-requests-pX9_RXpU.mjs";
27
+ import { i as resolveCodexSessionBinding, o as hashCodexAppServerBindingFingerprint } from "./session-binding-_RE7vtVN.mjs";
28
28
  import { i as resolveCodexAppServerThreadModelSelection, n as resolveCodexAppServerModelProvider } from "./thread-model-selection-DcVebr8N.mjs";
29
- import { c as withExclusiveCodexAppServerThread, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-BBsOFzCM.mjs";
30
- import { a as refreshCodexThreadInstructions, i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy, r as assertAdoptedCodexThreadResumeAllowed, t as CodexIncognitoPolicyChangeError } from "./thread-policy-BEiS7ITh.mjs";
31
- import { t as resumeCodexAppServerThread } from "./thread-resume-BqOca2Iy.mjs";
29
+ import { c as withExclusiveCodexAppServerThread, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-C5Hpc-Q1.mjs";
30
+ import { a as refreshCodexThreadInstructions, i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy, r as assertAdoptedCodexThreadResumeAllowed, t as CodexIncognitoPolicyChangeError } from "./thread-policy-BFLbIpIt.mjs";
31
+ import { t as resumeCodexAppServerThread } from "./thread-resume-LBLXiIEh.mjs";
32
32
  import { r as readCodexMcpToolConnectorId } from "./mcp-tool-metadata-_sawBkIh.mjs";
33
- import { n as disableCodexPluginThreadConfig } from "./dynamic-tool-build-DjbDZzOJ.mjs";
34
- import { n as CodexManagedHooksOnlyError, r as assertCodexNativeHookRelayAllowed } from "./native-hook-relay-BvwSj5bt.mjs";
33
+ import { n as disableCodexPluginThreadConfig } from "./dynamic-tool-build-OWTT0wP-.mjs";
34
+ import { n as CodexManagedHooksOnlyError, r as assertCodexNativeHookRelayAllowed } from "./native-hook-relay-VHeLdZXU.mjs";
35
35
  import { t as defaultCodexPluginMetadataCache } from "./plugin-metadata-cache-Bi8TAPwX.mjs";
36
- import { a as discardUnattestedCodexPluginThread, i as checkCodexThreadAppAvailability, n as resolveCodexNativeSkillIsolation, o as hasCodexNativeToolCatalog, r as attestCodexThreadToolSurface, s as loadCodexNativeToolCatalog, t as applyCodexNativeSkillIsolation } from "./native-skill-isolation-Cx2AkUco.mjs";
36
+ import { a as discardUnattestedCodexPluginThread, i as checkCodexThreadAppAvailability, n as resolveCodexNativeSkillIsolation, o as hasCodexNativeToolCatalog, r as attestCodexThreadToolSurface, s as loadCodexNativeToolCatalog, t as applyCodexNativeSkillIsolation } from "./native-skill-isolation--6M-3BWV.mjs";
37
37
  import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
38
38
  import crypto from "node:crypto";
39
39
  import { isDeepStrictEqual } from "node:util";
@@ -1222,6 +1222,18 @@ async function releaseCodexBoundLiveThread(options) {
1222
1222
  }) : void 0;
1223
1223
  if (changedClient && !previous) return false;
1224
1224
  const client = previous?.client ?? options.client;
1225
+ let threadClosed;
1226
+ let stopWatching;
1227
+ let stopReading;
1228
+ if (previous) {
1229
+ threadClosed = new Promise((resolve) => {
1230
+ stopWatching = client.addNotificationHandler((notification) => {
1231
+ const threadId = notification.params && typeof notification.params === "object" ? Reflect.get(notification.params, "threadId") : void 0;
1232
+ if (isCodexAppServerThreadTerminalNotification(notification.method) && threadId === options.threadId) resolve();
1233
+ });
1234
+ });
1235
+ if (wasCodexAppServerThreadClosed(client, options.threadId)) threadClosed = Promise.resolve();
1236
+ }
1225
1237
  try {
1226
1238
  if (isCodexAppServerLiveThreadClaimed(client, options.threadId) || isCodexAppServerLiveThreadProtected(client, options.threadId)) throw new Error(`Codex thread ${options.threadId} is claimed by active work; stop it first.`);
1227
1239
  return await releaseCodexRetainedLiveThread({
@@ -1235,8 +1247,32 @@ async function releaseCodexBoundLiveThread(options) {
1235
1247
  } : void 0
1236
1248
  });
1237
1249
  } finally {
1238
- const retiredExit = previous?.release(!isCodexAppServerLiveThreadClaimed(client, options.threadId) && !isCodexAppServerLiveThreadProtected(client, options.threadId));
1239
- if (retiredExit) await racePromiseWithAbortSignal(retiredExit, options.signal, codexThreadLifecycleAbortError);
1250
+ try {
1251
+ const retiredExit = previous?.release(!isCodexAppServerLiveThreadClaimed(client, options.threadId) && !isCodexAppServerLiveThreadProtected(client, options.threadId));
1252
+ if (retiredExit) {
1253
+ const stopped = threadClosed ? [retiredExit, threadClosed] : [retiredExit];
1254
+ if (!client.getCloseError() && !wasCodexAppServerThreadClosed(client, options.threadId)) {
1255
+ const readController = new AbortController();
1256
+ stopReading = () => readController.abort();
1257
+ const signal = options.signal ? AbortSignal.any([options.signal, readController.signal]) : readController.signal;
1258
+ stopped.push(client.request("thread/read", {
1259
+ threadId: options.threadId,
1260
+ includeTurns: false
1261
+ }, {
1262
+ signal,
1263
+ assertCurrent: options.assertCurrent,
1264
+ withCurrent: options.withCurrent
1265
+ }).then(({ thread }) => {
1266
+ if (thread.id !== options.threadId) throw new Error("Codex returned another thread during retired-owner handoff");
1267
+ return thread.status?.type === "notLoaded" ? void 0 : retiredExit;
1268
+ }, () => retiredExit));
1269
+ }
1270
+ await options.lifecycleTiming.measure("retired-thread-runtime-release", () => racePromiseWithAbortSignal(Promise.race(stopped), options.signal, codexThreadLifecycleAbortError));
1271
+ }
1272
+ } finally {
1273
+ stopReading?.();
1274
+ stopWatching?.();
1275
+ }
1240
1276
  }
1241
1277
  }
1242
1278
  /** Reuses one safely owned, fully matching subscription on its original client. */
@@ -1,8 +1,8 @@
1
- import { S as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-CXK7tmkb.mjs";
1
+ import { S as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-8VTsPn2f.mjs";
2
2
  import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-CeyYScUC.mjs";
3
- import { H as isCodexAppServerLiveThreadClaimed, J as retainCodexAppServerLiveThread, q as releaseCodexAppServerLiveThread } from "./shared-client-CNGDTv68.mjs";
4
- import { f as unsubscribeCodexThreadBestEffort, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-BVww-ct8.mjs";
5
- import { t as __exportAll } from "./session-binding-sidecars-DijNZb31.mjs";
3
+ import { H as isCodexAppServerLiveThreadClaimed, J as retainCodexAppServerLiveThread, q as releaseCodexAppServerLiveThread } from "./shared-client-Bo9MCCKj.mjs";
4
+ import { f as unsubscribeCodexThreadBestEffort, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-BmPBqnW3.mjs";
5
+ import { t as __exportAll } from "./session-binding-sidecars-CAHe3enw.mjs";
6
6
  import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
7
7
  import { runWithAsyncWorkResources } from "openclaw/plugin-sdk/agent-harness-tool-runtime";
8
8
  //#region extensions/codex/src/app-server/thread-ownership.ts
@@ -1,7 +1,7 @@
1
1
  import { i as CodexAppServerScopedRequestRejectedError, o as isCodexAppServerOverloadError } from "./rpc-error-C98SHchT.mjs";
2
- import { n as requestCodexAppServerClientJson } from "./request-m-H-7FMu.mjs";
3
- import { S as CodexAdoptedThreadActiveError } from "./shared-client-CNGDTv68.mjs";
4
- import { p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-Div-zqnz.mjs";
2
+ import { n as requestCodexAppServerClientJson } from "./request-6bus8ebp.mjs";
3
+ import { S as CodexAdoptedThreadActiveError } from "./shared-client-Bo9MCCKj.mjs";
4
+ import { p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-BTWv2cJe.mjs";
5
5
  import { AgentHarnessPreflightError, embeddedAgentLog, formatErrorMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
6
6
  //#region extensions/codex/src/app-server/thread-policy.ts
7
7
  /** A refusal, not a failed native write: the ephemeral conversation must stay alive. */
@@ -1,8 +1,8 @@
1
1
  import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
2
  import { d as readCodexEffectiveConfig, u as CODEX_SESSION_OVERRIDABLE_LAYER_TYPES } from "./config-options-CZmH25Xq.mjs";
3
3
  import { a as isCodexResponsesOAuthRun } from "./responses-oauth-twnuTaAa.mjs";
4
- import { d as mergeCodexThreadConfigs, t as buildCodexProjectDocThreadConfig } from "./project-doc-thread-config-D_sWbxFR.mjs";
5
- import { o as hashCodexAppServerBindingFingerprint } from "./session-binding-BDnNz-Co.mjs";
4
+ import { d as mergeCodexThreadConfigs, t as buildCodexProjectDocThreadConfig } from "./project-doc-thread-config-BYFXSVGk.mjs";
5
+ import { o as hashCodexAppServerBindingFingerprint } from "./session-binding-_RE7vtVN.mjs";
6
6
  import { n as resolveCodexAppServerModelProvider, r as resolveCodexAppServerRequestModelSelection, t as CODEX_NATIVE_PERSONALITY_NONE } from "./thread-model-selection-DcVebr8N.mjs";
7
7
  import { normalizeOptionalString, normalizeUniqueStringEntries, normalizeUniqueTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import crypto, * as crypto$1 from "node:crypto";
@@ -1,8 +1,8 @@
1
1
  import { i as CodexAppServerScopedRequestRejectedError, o as isCodexAppServerOverloadError, r as CodexAppServerRpcError } from "./rpc-error-C98SHchT.mjs";
2
- import { r as publishCodexCatalogResume } from "./session-catalog-events-BBV3DMG7.mjs";
3
- import { L as forgetCodexWorkspaceReferences, mt as isCodexAppServerStartupError, u as isCodexAppServerStartSelectionChangedError } from "./shared-client-CNGDTv68.mjs";
4
- import { h as assertCodexThreadResumeResponse, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-Div-zqnz.mjs";
5
- import { f as unsubscribeCodexThreadBestEffort, i as assertCodexThreadResumeSubscription, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-BVww-ct8.mjs";
2
+ import { r as publishCodexCatalogResume } from "./session-catalog-events-C8i0HBz5.mjs";
3
+ import { L as forgetCodexWorkspaceReferences, gt as isCodexAppServerStartupError, u as isCodexAppServerStartSelectionChangedError } from "./shared-client-Bo9MCCKj.mjs";
4
+ import { h as assertCodexThreadResumeResponse, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-BTWv2cJe.mjs";
5
+ import { f as unsubscribeCodexThreadBestEffort, i as assertCodexThreadResumeSubscription, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-BmPBqnW3.mjs";
6
6
  import { sanitizeTerminalText } from "openclaw/plugin-sdk/text-chunking";
7
7
  //#region extensions/codex/src/app-server/thread-resume.ts
8
8
  /** Owns Codex thread/resume subscription safety. */
@@ -2,7 +2,7 @@ import { t as readCodexAsyncQuestions } from "./async-questions-DdhOCwGi.mjs";
2
2
  import { a as readUpstreamUserText, i as readMirrorIdentity, n as attachCodexMirrorIdentity, o as takeCodexAssistantItemIds, r as attachUpstreamUserText } from "./upstream-prompt-provenance-Ccd9MFRJ.mjs";
3
3
  import { t as projectBoundedCodexThreadHistory } from "./transcript-history-projection-DfKcoZCB.mjs";
4
4
  import { a as buildCodexMirrorIdempotencyKey, c as isMirroredAgentMessage, i as buildCodexMirrorDedupeIdentity, l as readCodexMirrorSourceFingerprint, n as attachCodexMirrorAttestation, o as fingerprintCodexMirrorSourceMessage, r as attachCodexMirrorRunId, t as applyCodexTranscriptTaint } from "./transcript-mirror-attestation-BzUXnrvv.mjs";
5
- import { t as __exportAll } from "./session-binding-sidecars-DijNZb31.mjs";
5
+ import { t as __exportAll } from "./session-binding-sidecars-CAHe3enw.mjs";
6
6
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { deliverAgentHarnessUserInputPrompt, embeddedAgentLog, formatErrorMessage, projectAgentHarnessTranscriptMessageForDisplay, restorePreparedUserTurnOperationalMetaForRuntime, runAgentHarnessBeforeMessageWriteHook } from "openclaw/plugin-sdk/agent-harness-runtime";
8
8
  import { withCodexSessionTranscriptMirrorWrite } from "openclaw/plugin-sdk/codex-session-transcript-runtime";
@@ -1,5 +1,5 @@
1
1
  import { r as normalizeCodexAppServerArgs } from "./launch-args-DbFCehO7.mjs";
2
- import { i as resolveManagedCodexNativeCommand } from "./managed-binary-DwC9wxch.mjs";
2
+ import { i as resolveManagedCodexNativeCommand } from "./managed-binary-Boj8_lWV.mjs";
3
3
  import { i as recordCodexAppServerSpawnFailure, r as getCodexAppServerSpawnFailure } from "./spawn-error-CL3n6MAa.mjs";
4
4
  import { createHash, randomUUID } from "node:crypto";
5
5
  import { stripVTControlCharacters } from "node:util";
@@ -1,5 +1,5 @@
1
1
  import { r as resolveCodexAppServerUserHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
2
- import "./config-LQemoqTL.mjs";
2
+ import "./config-d0gOFYEk.mjs";
3
3
  import { t as codexWebSocketDataToBuffer } from "./websocket-data-XlRvt8Ys.mjs";
4
4
  import path from "node:path";
5
5
  import { EventEmitter } from "node:events";
@@ -1,6 +1,6 @@
1
1
  import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
2
  import { n as waitForPromiseOrAbort, t as abortReason } from "./timeout-D0mEWSGG.mjs";
3
- import { x as readCodexTurnCompletedNotification } from "./client-Div-zqnz.mjs";
3
+ import { x as readCodexTurnCompletedNotification } from "./client-BTWv2cJe.mjs";
4
4
  import { normalizeOptionalString, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { AsyncResource } from "node:async_hooks";
6
6
  import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
@@ -1,5 +1,5 @@
1
1
  import { i as isJsonObject, r as flattenCodexDynamicToolFunctions } from "./protocol-CANUwXJ3.mjs";
2
- import { m as sessionBindingIdentity } from "./session-binding-record-C2kDBZhx.mjs";
2
+ import { m as sessionBindingIdentity } from "./session-binding-record-O62ZRFhy.mjs";
3
3
  import { d as readCodexPluginConfig } from "./config-parsing-CVK2Q463.mjs";
4
4
  import { s as assertCodexModelBackedReviewerEffectiveConfig } from "./config-options-CZmH25Xq.mjs";
5
5
  import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-CeyYScUC.mjs";
@@ -9,24 +9,24 @@ import { r as projectCodexUserItemText } from "./transcript-history-projection-D
9
9
  import { n as codexUpstreamBaseline, t as codexLastTerminalTurnId } from "./session-upstream-marker-D15C9NHp.mjs";
10
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-m-H-7FMu.mjs";
13
- import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-LQemoqTL.mjs";
14
- import { r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-DGB1-VbB.mjs";
12
+ import "./request-6bus8ebp.mjs";
13
+ import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-d0gOFYEk.mjs";
14
+ import { r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-BUH-IDVE.mjs";
15
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-CNGDTv68.mjs";
17
- import { m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-Div-zqnz.mjs";
18
- import { d as mergeCodexThreadConfigs, i as buildCodexPluginThreadConfig, p as shouldBuildCodexPluginThreadConfig } from "./project-doc-thread-config-D_sWbxFR.mjs";
19
- import { T as fingerprintUserMcpServersConfigPatch, _ as buildDeveloperInstructions, a as buildCodexThreadConfiguration, b as codexDynamicToolsFingerprint, h as resolveCodexWebSearchPlan, w as fingerprintJsonObject } from "./thread-requests-DjyDmCo4.mjs";
20
- import "./session-binding-BDnNz-Co.mjs";
21
- import "./thread-ownership-BBsOFzCM.mjs";
16
+ import { P as claimCodexAppServerLiveThread, R as hasCodexAppServerLiveThread, f as readCodexAppServerClientDesktopGenerationFingerprint } from "./shared-client-Bo9MCCKj.mjs";
17
+ import { m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-BTWv2cJe.mjs";
18
+ import { d as mergeCodexThreadConfigs, i as buildCodexPluginThreadConfig, p as shouldBuildCodexPluginThreadConfig } from "./project-doc-thread-config-BYFXSVGk.mjs";
19
+ import { T as fingerprintUserMcpServersConfigPatch, _ as buildDeveloperInstructions, a as buildCodexThreadConfiguration, b as codexDynamicToolsFingerprint, h as resolveCodexWebSearchPlan, w as fingerprintJsonObject } from "./thread-requests-pX9_RXpU.mjs";
20
+ import "./session-binding-_RE7vtVN.mjs";
21
+ import "./thread-ownership-C5Hpc-Q1.mjs";
22
22
  import { n as resolveCodexNativeExecutionPolicy } from "./native-execution-policy-MXEe7PB3.mjs";
23
- import { n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-BEiS7ITh.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-BvwSj5bt.mjs";
25
- import { c as parseCodexNativeToolCatalog, i as checkCodexThreadAppAvailability, n as resolveCodexNativeSkillIsolation, t as applyCodexNativeSkillIsolation } from "./native-skill-isolation-Cx2AkUco.mjs";
26
- import { c as prepareCodexWorkspaceDeveloperInstructions } from "./attempt-workspace-context-BkA0W8Jy.mjs";
27
- import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-B-pTlDsf.mjs";
28
- import { n as prepareCodexSessionInitialization } from "./session-initialization-BjVtsTzi.mjs";
29
- import { createImportedCodexSession } from "./session-history-import-DgwRu2eD.mjs";
23
+ import { n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-BFLbIpIt.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-VHeLdZXU.mjs";
25
+ import { c as parseCodexNativeToolCatalog, i as checkCodexThreadAppAvailability, n as resolveCodexNativeSkillIsolation, t as applyCodexNativeSkillIsolation } from "./native-skill-isolation--6M-3BWV.mjs";
26
+ import { c as prepareCodexWorkspaceDeveloperInstructions } from "./attempt-workspace-context-EAeScFrg.mjs";
27
+ import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-BIyUe_cz.mjs";
28
+ import { n as prepareCodexSessionInitialization } from "./session-initialization-Bwe0Bikj.mjs";
29
+ import { createImportedCodexSession } from "./session-history-import-BhOzqhyI.mjs";
30
30
  import { isRecord, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
31
31
  import { randomUUID } from "node:crypto";
32
32
  import { isDeepStrictEqual } from "node:util";
@@ -1,7 +1,7 @@
1
1
  import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-CI8pTPqL.mjs";
2
- import { t as readCodexAppServerUsage } from "./request-m-H-7FMu.mjs";
3
- import "./config-LQemoqTL.mjs";
4
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-DGB1-VbB.mjs";
2
+ import { t as readCodexAppServerUsage } from "./request-6bus8ebp.mjs";
3
+ import "./config-d0gOFYEk.mjs";
4
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BUH-IDVE.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,7 +1,7 @@
1
1
  import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
2
  import { a as shouldRefreshCodexRateLimitsForUsageLimitMessage, i as resolveCodexUsageLimitResetAtMs, n as formatCodexUsageLimitErrorMessage } from "./rate-limits-CI8pTPqL.mjs";
3
3
  import { t as CODEX_CONTROL_METHODS } from "./capabilities-DbOzOglY.mjs";
4
- import { $ as rememberCodexRateLimitsRead, Q as readRecentCodexRateLimits, Z as readCodexRateLimitsRevision } from "./shared-client-CNGDTv68.mjs";
4
+ import { $ as rememberCodexRateLimitsRead, Q as readRecentCodexRateLimits, Z as readCodexRateLimitsRevision } from "./shared-client-Bo9MCCKj.mjs";
5
5
  import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { markAuthProfileBlockedUntil } from "openclaw/plugin-sdk/agent-runtime";
7
7
  import { embeddedAgentLog, formatErrorMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -1,5 +1,5 @@
1
- import { m as buildCodexNativeWebSearchThreadConfig } from "./thread-requests-DjyDmCo4.mjs";
2
- import { runBoundedCodexAppServerTurn } from "./bounded-turn-vdpL2efh.mjs";
1
+ import { m as buildCodexNativeWebSearchThreadConfig } from "./thread-requests-pX9_RXpU.mjs";
2
+ import { runBoundedCodexAppServerTurn } from "./bounded-turn-DByEneJg.mjs";
3
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
@@ -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-lgeKKHyw.mjs";
3
- import { t as resolveCodexDoctorStartOptions } from "./doctor-start-options-C28ek2hD.mjs";
2
+ import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-BsXQmXll.mjs";
3
+ import { t as resolveCodexDoctorStartOptions } from "./doctor-start-options-DyLrwtq-.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";