@openclaw/codex 2026.10.10-beta.2 → 2026.10.10-beta.4

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 (113) hide show
  1. package/dist/.setup/{account-usage-runtime-BVO-lpvn.mjs → account-usage-runtime-CO_i9_7B.mjs} +3 -3
  2. package/dist/.setup/{app-server-policy-Cog6mm2i.mjs → app-server-policy-CFCEWj0w.mjs} +1 -1
  3. package/dist/.setup/{apply-tJl5mopa.mjs → apply-DvEtGGBB.mjs} +8 -8
  4. package/dist/.setup/{attempt-client-cleanup-DMJWXGxM.mjs → attempt-client-cleanup-Bj4T3tcX.mjs} +5 -5
  5. package/dist/.setup/{attempt-workspace-context-GYPLawX6.mjs → attempt-workspace-context-DxHd71bH.mjs} +1 -1
  6. package/dist/.setup/{auth-binding-830RLAJW.mjs → auth-binding-BY7Fm501.mjs} +1 -1
  7. package/dist/.setup/{auth-cache-key-BW1YeaIk.mjs → auth-cache-key-Do2ZQrNP.mjs} +3 -3
  8. package/dist/.setup/{binding-connection-GTgUj9pi.mjs → binding-connection-hJD5mFkM.mjs} +2 -2
  9. package/dist/.setup/{binding-connection.runtime-RcWR3vQu.mjs → binding-connection.runtime-Dap4qmsz.mjs} +1 -1
  10. package/dist/.setup/{bounded-turn-BQkmyyjB.mjs → bounded-turn-DnxnHHZP.mjs} +10 -10
  11. package/dist/.setup/{bounded-turn-isolation-D8CDrAVX.mjs → bounded-turn-isolation-Iz8EsqFg.mjs} +2 -2
  12. package/dist/.setup/{build-state-CjLCC0wm.mjs → build-state-CpGXWSN4.mjs} +1 -1
  13. package/dist/.setup/{client--P8jwXvA.mjs → client-Bxe8bl-K.mjs} +8 -8
  14. package/dist/.setup/{client-catalog-response-CsDxVVOZ.mjs → client-catalog-response-D-dEl0Ac.mjs} +1 -1
  15. package/dist/.setup/{client-initialize-CjgZcX61.mjs → client-initialize-CPNmLwhL.mjs} +1 -1
  16. package/dist/.setup/{command-dispatch-DqaVBeR3.mjs → command-dispatch-BD9-WK7I.mjs} +1 -1
  17. package/dist/.setup/{command-handlers-i6mEjvfo.mjs → command-handlers-g046iNsp.mjs} +22 -22
  18. package/dist/.setup/{command-rpc-B65jEc0r.mjs → command-rpc-CwpCTOrX.mjs} +11 -11
  19. package/dist/.setup/{compact-AO2H4RJe.mjs → compact-B-qCn3BG.mjs} +13 -13
  20. package/dist/.setup/{computer-use-YUnu0JVx.mjs → computer-use-C0qJq1rh.mjs} +6 -6
  21. package/dist/.setup/{config-BfrAlTMT.mjs → config-BZYTxljj.mjs} +2 -2
  22. package/dist/.setup/{config-runtime-BZRizyuG.mjs → config-runtime-CqCrHEAU.mjs} +1 -1
  23. package/dist/.setup/{conversation-binding-CfnUR-IM.mjs → conversation-binding-CXGGbblk.mjs} +38 -29
  24. package/dist/.setup/{conversation-binding-data-khgW0n-o.mjs → conversation-binding-data-CAKQCqTL.mjs} +1 -1
  25. package/dist/.setup/{conversation-control-B2EpVZEb.mjs → conversation-control-CTZTP_rE.mjs} +3 -3
  26. package/dist/.setup/{doctor-start-options-8uIBXIzR.mjs → doctor-start-options-CpcBuzLb.mjs} +3 -3
  27. package/dist/.setup/{dynamic-tool-build-DOub3CB5.mjs → dynamic-tool-build-BzTaCmlT.mjs} +3 -3
  28. package/dist/.setup/{dynamic-tools-Us5mvq_N.mjs → dynamic-tools-BALvjDwR.mjs} +8 -8
  29. package/dist/.setup/{effective-mcp-catalog-DfUUoeeM.mjs → effective-mcp-catalog-CQbEkKv_.mjs} +6 -6
  30. package/dist/.setup/{ephemeral-turn-B2z0RIeF.mjs → ephemeral-turn-CNm9tN72.mjs} +2 -2
  31. package/dist/.setup/{inference-context-HRw3PDwn.mjs → inference-context-DYpvCEF3.mjs} +1 -1
  32. package/dist/.setup/{inference-proxy-CiLbHMLf.mjs → inference-proxy-e1Rg8kr_.mjs} +1 -1
  33. package/dist/.setup/{installed-probe-lVC1X5ve.mjs → installed-probe-yc_w-vom.mjs} +3 -3
  34. package/dist/.setup/{isolated-completion-CybgD6uU.mjs → isolated-completion-B1mlyhKu.mjs} +5 -5
  35. package/dist/.setup/{managed-binary-DbKvGXKl.mjs → managed-binary-BwzkwiGo.mjs} +2 -2
  36. package/dist/.setup/{mcp-app-session-preparation-zUgpDLWR.mjs → mcp-app-session-preparation-CFbTbxia.mjs} +9 -9
  37. package/dist/.setup/{model-catalog-CWY3wo0B.mjs → model-catalog-BNSZklNP.mjs} +7 -7
  38. package/dist/.setup/{models-CmOBxsKF.mjs → models-HgvyBseb.mjs} +3 -3
  39. package/dist/.setup/native-assignment-repair-BsWKjUjZ.mjs +162 -0
  40. package/dist/.setup/{native-auth-DpZIaY8N.mjs → native-auth-o_vw8KWa.mjs} +3 -3
  41. package/dist/.setup/{native-hook-relay-CocOW9YS.mjs → native-hook-relay-COcu2b4l.mjs} +4 -4
  42. package/dist/.setup/{native-mcp-app-DrQeLxXj.mjs → native-mcp-app-CFyl3R2g.mjs} +5 -5
  43. package/dist/.setup/{native-skill-isolation-DL4-PQa4.mjs → native-skill-isolation-B8cWhSFy.mjs} +3 -3
  44. package/dist/.setup/{native-subagent-monitor-C3CIIaZG.mjs → native-subagent-monitor-LJd5_D5F.mjs} +153 -47
  45. package/dist/.setup/{native-subagent-pending-assignments-CTinVtjo.mjs → native-subagent-pending-assignments-CX-LtYDX.mjs} +49 -11
  46. package/dist/.setup/{native-task-assignments-YJopbaVO.mjs → native-task-assignments-CMd-JiUS.mjs} +4 -4
  47. package/dist/.setup/{node-cli-sessions-BuJnBnEq.mjs → node-cli-sessions-C59CAyDh.mjs} +2 -2
  48. package/dist/.setup/{node-exec-server.runtime-CP7RC1Nd.mjs → node-exec-server.runtime-DvRSh5Oi.mjs} +2 -2
  49. package/dist/.setup/{plan-Bqj6VQvQ.mjs → plan-C3H9W_2P.mjs} +5 -5
  50. package/dist/.setup/{plugin-activation-CXPWe-hl.mjs → plugin-activation-Cj2k3W9n.mjs} +2 -2
  51. package/dist/.setup/{plugin-approval-roundtrip-CGEiG7hG.mjs → plugin-approval-roundtrip-DEbTgtVQ.mjs} +1 -1
  52. package/dist/.setup/{plugin-inventory-DE9wcaeH.mjs → plugin-inventory-BVP15PmN.mjs} +1 -1
  53. package/dist/.setup/{project-doc-thread-config-B0UI3f1D.mjs → project-doc-thread-config-Ds92xu17.mjs} +3 -3
  54. package/dist/.setup/{provider-C_1fMsyD.mjs → provider-C1GuStnr.mjs} +4 -4
  55. package/dist/.setup/{provider-capabilities-C7pYYpvh.mjs → provider-capabilities-DMfkFwZi.mjs} +1 -1
  56. package/dist/.setup/{request-C6U8q2uz.mjs → request-DTgD_jsY.mjs} +5 -5
  57. package/dist/.setup/{run-attempt-BhuXanLv.mjs → run-attempt-DB4AY6QP.mjs} +127 -72
  58. package/dist/.setup/{runtime-artifact-CmLWeyJB.mjs → runtime-artifact-Bn_GvxjU.mjs} +3 -3
  59. package/dist/.setup/{runtime-artifact-connection-DpWlZ02e.mjs → runtime-artifact-connection-DCwh9tgV.mjs} +2 -2
  60. package/dist/.setup/{sandbox-guard-DneAfNye.mjs → sandbox-guard-CrzVgQUn.mjs} +1 -1
  61. package/dist/.setup/{session-binding-BgsWcbdY.mjs → session-binding-Dg0B6Zua.mjs} +38 -12
  62. package/dist/.setup/{session-binding-record-C_THntMe.mjs → session-binding-record-BpWF2Sus.mjs} +2 -2
  63. package/dist/.setup/{session-binding-sidecars-BNSS6WL4.mjs → session-binding-sidecars-C9uEGpDX.mjs} +1 -1
  64. package/dist/.setup/{session-cancellation-DCN1FcBZ.mjs → session-cancellation-Bg94rN6N.mjs} +4 -4
  65. package/dist/.setup/{session-catalog-adoption-ppsLlVLB.mjs → session-catalog-adoption-D6pqS43M.mjs} +5 -5
  66. package/dist/.setup/{session-catalog-archive-CqLRHJ6z.mjs → session-catalog-archive-B-ZpAiiK.mjs} +5 -5
  67. package/dist/.setup/{session-catalog-events-CEi6SuLQ.mjs → session-catalog-events-BmhPYZGw.mjs} +4 -4
  68. package/dist/.setup/{session-catalog-index-qt4UWBua.mjs → session-catalog-index-D7fccO1r.mjs} +8 -8
  69. package/dist/.setup/{session-catalog-index-order-0Zqng2u8.mjs → session-catalog-index-order-DyCNai_t.mjs} +1 -1
  70. package/dist/.setup/{session-catalog-limits-Dc6E0BZz.mjs → session-catalog-limits-CGjAZOTM.mjs} +1 -1
  71. package/dist/.setup/{session-catalog-list-request-CAjoWjaH.mjs → session-catalog-list-request-DGn9LMJY.mjs} +3 -3
  72. package/dist/.setup/{session-catalog-native-projection-BqBYi6kV.mjs → session-catalog-native-projection-HAmuA2-G.mjs} +4 -4
  73. package/dist/.setup/{session-catalog-node-adoption-e9v8mGgx.mjs → session-catalog-node-adoption-C_41f1dK.mjs} +2 -2
  74. package/dist/.setup/{session-catalog-node-continue-H7nrzcUD.mjs → session-catalog-node-continue-FuNSGUYz.mjs} +5 -5
  75. package/dist/.setup/{session-catalog-node-lookup-BrZfDkA8.mjs → session-catalog-node-lookup-BfHfknjz.mjs} +2 -2
  76. package/dist/.setup/{session-catalog-parsing-V6jyFg9g.mjs → session-catalog-parsing-ktmfo9oa.mjs} +1 -1
  77. package/dist/.setup/{session-catalog-projection-CNyhjZze.mjs → session-catalog-projection-C_w9yRCz.mjs} +4 -4
  78. package/dist/.setup/{session-catalog-source-z_mNyQdX.mjs → session-catalog-source-BW46oF7X.mjs} +1 -1
  79. package/dist/.setup/{session-cli-CBGKiqdv.mjs → session-cli-COjTO3Dy.mjs} +1 -1
  80. package/dist/.setup/{session-history-import-BwPKwcNi.mjs → session-history-import-BZHN6RtG.mjs} +4 -4
  81. package/dist/.setup/{session-initialization-Dn3vveGv.mjs → session-initialization-Bztyf-sf.mjs} +1 -1
  82. package/dist/.setup/{session-retirement-RZStisKb.mjs → session-retirement-BHMs5nFf.mjs} +6 -6
  83. package/dist/.setup/{settled-turn-finalizer-gioXygEX.mjs → settled-turn-finalizer-C3OEC7ED.mjs} +5 -5
  84. package/dist/.setup/{shared-client-CkyTrNB8.mjs → shared-client-BelwlhWf.mjs} +84 -33
  85. package/dist/.setup/{side-question-DHPWKgO3.mjs → side-question-Bt2vXr-h.mjs} +21 -21
  86. package/dist/.setup/{source-63MLSmLJ.mjs → source-DQN8P65G.mjs} +4 -4
  87. package/dist/.setup/{thread-lifecycle-run-zCXYFW8W.mjs → thread-lifecycle-run-aBfXzIGf.mjs} +79 -38
  88. package/dist/.setup/{thread-ownership-Bmk5a2Gu.mjs → thread-ownership-DxW6b6fR.mjs} +4 -4
  89. package/dist/.setup/{thread-policy-DYtvZ5Ay.mjs → thread-policy-j-BAwvSk.mjs} +3 -3
  90. package/dist/.setup/{thread-requests-BjawdIVV.mjs → thread-requests-6Dy8hyXF.mjs} +2 -2
  91. package/dist/.setup/{thread-resume-vBShG3-o.mjs → thread-resume-CZxguYjc.mjs} +4 -4
  92. package/dist/.setup/{transcript-mirror-CEQJZlF3.mjs → transcript-mirror-5w4Hx1kt.mjs} +1 -1
  93. package/dist/.setup/{transport-stdio-Bq160Dhv.mjs → transport-stdio-BVeWgcK6.mjs} +1 -1
  94. package/dist/.setup/{transport-websocket-0YqiI_MH.mjs → transport-websocket-2Y-cL8kD.mjs} +1 -1
  95. package/dist/.setup/{turn-router-BGj67FMK.mjs → turn-router-B62dF4CM.mjs} +1 -1
  96. package/dist/.setup/{upstream-session-fork-CWKjpdtW.mjs → upstream-session-fork-5d_7cWPF.mjs} +17 -17
  97. package/dist/.setup/{usage-AhrLFxZP.mjs → usage-DSIlxJrx.mjs} +3 -3
  98. package/dist/.setup/{usage-limit-error-BdNbGJC3.mjs → usage-limit-error-A0XP58jR.mjs} +1 -1
  99. package/dist/.setup/{web-search-provider.runtime-Yk6lnJBG.mjs → web-search-provider.runtime-B-m9u2M1.mjs} +2 -2
  100. package/dist/.setup/{workspace-write-sandbox-probe-DJxOXcF3.mjs → workspace-write-sandbox-probe-D5OfU42L.mjs} +2 -2
  101. package/dist/.source-module-urls/6c41bd629a7a55e13b9ba84558fce30100391f4f229cc77b7c54b07fb0bfe9cf.json +1 -0
  102. package/dist/api.js +3 -3
  103. package/dist/catalog-page.worker.js +1 -1
  104. package/dist/cli-metadata.js +1 -1
  105. package/dist/client-version-api.js +3 -3
  106. package/dist/doctor-contract-api.js +14 -5
  107. package/dist/harness.js +21 -21
  108. package/dist/index.js +68 -58
  109. package/dist/media-understanding-provider.js +2 -2
  110. package/dist/migration-provider-api.js +1 -1
  111. package/dist/provider-discovery.js +1 -1
  112. package/openclaw.plugin.json +5 -0
  113. package/package.json +4 -4
@@ -1,8 +1,8 @@
1
1
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
2
2
  import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-BpfURnuy.mjs";
3
- import { t as readCodexAppServerUsage } from "./request-C6U8q2uz.mjs";
4
- import "./config-BfrAlTMT.mjs";
5
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
3
+ import { t as readCodexAppServerUsage } from "./request-DTgD_jsY.mjs";
4
+ import "./config-BZYTxljj.mjs";
5
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
6
6
  import { a as resolveCodexAppServerAuthProfileStore } from "./auth-profile-auwzSwwy.mjs";
7
7
  import { isDeepStrictEqual } from "node:util";
8
8
  import { listAgentIds, resolveAgentDir } from "openclaw/plugin-sdk/agent-scope-runtime";
@@ -1,4 +1,4 @@
1
- import { n as canUseCodexModelBackedApprovalsReviewerForModel } from "./config-BfrAlTMT.mjs";
1
+ import { n as canUseCodexModelBackedApprovalsReviewerForModel } from "./config-BZYTxljj.mjs";
2
2
  //#region extensions/codex/src/app-server/app-server-policy.ts
3
3
  function resolveCodexAppServerForModelProvider(params) {
4
4
  return params.appServer.approvalsReviewer === "user" || canUseCodexModelBackedApprovalsReviewerForModel({
@@ -1,13 +1,13 @@
1
- import { s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./auth-cache-key-BW1YeaIk.mjs";
1
+ import { s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./auth-cache-key-Do2ZQrNP.mjs";
2
2
  import { a as defaultCodexAppInventoryCache, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-DRb-niJc.mjs";
3
- import { r as requestCodexAppServerJson } from "./request-C6U8q2uz.mjs";
4
- import { r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-DE9wcaeH.mjs";
5
- import "./config-BfrAlTMT.mjs";
6
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
3
+ import { r as requestCodexAppServerJson } from "./request-DTgD_jsY.mjs";
4
+ import { r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-BVP15PmN.mjs";
5
+ import "./config-BZYTxljj.mjs";
6
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
7
7
  import { i as resolveCodexAppServerAuthProfileIdForAgent } from "./auth-profile-auwzSwwy.mjs";
8
- import { Z as resolveCodexAppServerAuthAccountCacheKey, f as releaseLeasedSharedCodexAppServerClient, i as clearSharedCodexAppServerClientIfCurrentAndWait, o as getLeasedSharedCodexAppServerClient } from "./shared-client-CkyTrNB8.mjs";
9
- import { t as ensureCodexPluginActivation } from "./plugin-activation-CXPWe-hl.mjs";
10
- import { CODEX_PLUGIN_CONFIG_PATH, buildCodexMigrationPlan, buildCodexPluginsConfigValue, hasCodexPluginConfigConflict, n as resolveCodexConfigPatchMode, readCodexPluginMigrationConfigEntry, t as createCodexAuthItemApplier } from "./plan-Bqj6VQvQ.mjs";
8
+ import { et as resolveCodexAppServerAuthAccountCacheKey, f as releaseLeasedSharedCodexAppServerClient, i as clearSharedCodexAppServerClientIfCurrentAndWait, o as getLeasedSharedCodexAppServerClient } from "./shared-client-BelwlhWf.mjs";
9
+ import { t as ensureCodexPluginActivation } from "./plugin-activation-Cj2k3W9n.mjs";
10
+ import { CODEX_PLUGIN_CONFIG_PATH, buildCodexMigrationPlan, buildCodexPluginsConfigValue, hasCodexPluginConfigConflict, n as resolveCodexConfigPatchMode, readCodexPluginMigrationConfigEntry, t as createCodexAuthItemApplier } from "./plan-C3H9W_2P.mjs";
11
11
  import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
12
12
  import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime";
13
13
  import path from "node:path";
@@ -1,9 +1,9 @@
1
- import { D as retireSharedCodexAppServerClientIfCurrent } from "./auth-cache-key-BW1YeaIk.mjs";
1
+ import { D as retireSharedCodexAppServerClientIfCurrent } from "./auth-cache-key-Do2ZQrNP.mjs";
2
2
  import { a as codexPrewriteRejectionCause, o as isCodexAppServerOverloadError, r as CodexAppServerRpcError } from "./rpc-error-DemqqaxE.mjs";
3
- import { H as unsubscribeCodexAppServerLiveThread, lt as isCodexAppServerStartupError } from "./shared-client-CkyTrNB8.mjs";
4
- import { N as isCodexAppServerBrokenPipeError, s as isCodexAppServerRequestTimeoutError } from "./client--P8jwXvA.mjs";
5
- import { n as getCodexAppServerTurnRouter } from "./turn-router-BGj67FMK.mjs";
6
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
3
+ import { U as unsubscribeCodexAppServerLiveThread, ft as isCodexAppServerStartupError } from "./shared-client-BelwlhWf.mjs";
4
+ import { N as isCodexAppServerBrokenPipeError, s as isCodexAppServerRequestTimeoutError } from "./client-Bxe8bl-K.mjs";
5
+ import { n as getCodexAppServerTurnRouter } from "./turn-router-B62dF4CM.mjs";
6
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
7
7
  import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
8
8
  import { AgentHarnessPreflightError, embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
9
9
  //#region extensions/codex/src/app-server/attempt-client-cleanup.ts
@@ -1,5 +1,5 @@
1
1
  import { n as flattenCodexDynamicToolFunctions } from "./protocol-CaPAVwe9.mjs";
2
- import { I as isMessageOnlyCodexSourceReply } from "./thread-requests-BjawdIVV.mjs";
2
+ import { I as isMessageOnlyCodexSourceReply } from "./thread-requests-6Dy8hyXF.mjs";
3
3
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import path from "node:path";
5
5
  import { buildAgentWorkspaceInstructionSnapshot, buildBootstrapContextForFiles, embeddedAgentLog, prepareAgentWorkspaceContext } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -1,5 +1,5 @@
1
1
  import { i as isCodexResponsesOAuthCredential, o as resolveCodexResponsesOAuthProfileFingerprint } from "./responses-oauth-CCV7aVYF.mjs";
2
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
2
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
3
3
  import { resolveApiKeyForProfile } from "openclaw/plugin-sdk/agent-runtime";
4
4
  import { fingerprintResolvedAuthProfileCredential } from "openclaw/plugin-sdk/agent-harness-runtime";
5
5
  import { resolveOpenAICodexAuthIdentity } from "openclaw/plugin-sdk/provider-auth";
@@ -1,6 +1,6 @@
1
- import { n as defineCodexBuildState } from "./build-state-CjLCC0wm.mjs";
2
- import { y as resolveMacOSDesktopCodexAppPathCandidates } from "./managed-binary-DbKvGXKl.mjs";
3
- import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-Bq160Dhv.mjs";
1
+ import { n as defineCodexBuildState } from "./build-state-CpGXWSN4.mjs";
2
+ import { y as resolveMacOSDesktopCodexAppPathCandidates } from "./managed-binary-BwzkwiGo.mjs";
3
+ import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-BVeWgcK6.mjs";
4
4
  import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { createHash } from "node:crypto";
6
6
  import fs, { constants, existsSync, watch } from "node:fs";
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
1
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
2
2
  import { AgentHarnessPreflightError } from "openclaw/plugin-sdk/agent-harness-registration";
3
3
  import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
4
4
  //#region extensions/codex/src/app-server/binding-connection.ts
@@ -44,7 +44,7 @@ function requireCodexSupervisionModelSelection(binding) {
44
44
  }
45
45
  /** Registration publishes the resolver; connection policy loads only for an actual request. */
46
46
  async function resolveCodexBindingAppServerConnection(params) {
47
- return (await import("./binding-connection.runtime-RcWR3vQu.mjs")).resolveCodexBindingAppServerConnection(params, catalogHomes.tryGetRuntime());
47
+ return (await import("./binding-connection.runtime-Dap4qmsz.mjs")).resolveCodexBindingAppServerConnection(params, catalogHomes.tryGetRuntime());
48
48
  }
49
49
  //#endregion
50
50
  export { setCodexCatalogConnectionHomeResolver as a, resolveCodexBindingAppServerConnection as i, binding_connection_exports as n, requireCodexSupervisionModelSelection as r, assertCodexSessionRuntimeOwnership as t };
@@ -1,7 +1,7 @@
1
1
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
2
2
  import { n as resolveCodexAppServerLocalHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
3
3
  import { t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-DRb-niJc.mjs";
4
- import { n as resolveCodexAppServerRuntimeOptions, r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
4
+ import { n as resolveCodexAppServerRuntimeOptions, r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
5
5
  //#region extensions/codex/src/app-server/binding-connection.runtime.ts
6
6
  /** Resolves connection and auth ownership exclusively from the private thread binding. */
7
7
  async function resolveCodexBindingAppServerConnection(params, discoverHomes) {
@@ -2,16 +2,16 @@ import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
2
  import { a as resolveCodexPrivateLauncher, i as readCodexAppServerConfigOptions } from "./launch-args-DbFCehO7.mjs";
3
3
  import { d as readCodexEffectiveConfig } from "./config-options-DMFZkd3X.mjs";
4
4
  import { a as codexPrewriteRejectionCause } from "./rpc-error-DemqqaxE.mjs";
5
- import "./config-BfrAlTMT.mjs";
6
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
7
- import { C as createCodexElicitationResponse, g as assertCodexTurnStartResponse, h as assertCodexThreadStartResponse, y as readCodexErrorNotification } from "./client--P8jwXvA.mjs";
8
- import { o as closeCodexStartupClientBestEffort, s as interruptCodexTurnAndWaitBestEffort, t as CODEX_APP_SERVER_INTERRUPT_TIMEOUT_MS } from "./attempt-client-cleanup-DMJWXGxM.mjs";
9
- import { t as CodexEphemeralTurn } from "./ephemeral-turn-B2z0RIeF.mjs";
10
- import { i as readModelListResult } from "./models-CmOBxsKF.mjs";
11
- import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-B0UI3f1D.mjs";
5
+ import "./config-BZYTxljj.mjs";
6
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
7
+ import { C as createCodexElicitationResponse, g as assertCodexTurnStartResponse, h as assertCodexThreadStartResponse, y as readCodexErrorNotification } from "./client-Bxe8bl-K.mjs";
8
+ import { o as closeCodexStartupClientBestEffort, s as interruptCodexTurnAndWaitBestEffort, t as CODEX_APP_SERVER_INTERRUPT_TIMEOUT_MS } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
9
+ import { t as CodexEphemeralTurn } from "./ephemeral-turn-CNm9tN72.mjs";
10
+ import { i as readModelListResult } from "./models-HgvyBseb.mjs";
11
+ import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-Ds92xu17.mjs";
12
12
  import { n as resolveCodexAppServerReasoningEffort } from "./reasoning-effort-CS9kKWB9.mjs";
13
- import { n as buildCodexRingZeroThreadConfigPatch, p as attestCodexRestrictedToolSurfaceMcpServersDisabled, r as buildCodexRuntimeThreadConfig, t as assertCodexManagedRequirementsDoNotOverrideToolPolicy, u as readCodexInheritedMcpServerNames } from "./thread-requests-BjawdIVV.mjs";
14
- import { a as resolveCodexPromptError } from "./usage-limit-error-BdNbGJC3.mjs";
13
+ import { n as buildCodexRingZeroThreadConfigPatch, p as attestCodexRestrictedToolSurfaceMcpServersDisabled, r as buildCodexRuntimeThreadConfig, t as assertCodexManagedRequirementsDoNotOverrideToolPolicy, u as readCodexInheritedMcpServerNames } from "./thread-requests-6Dy8hyXF.mjs";
14
+ import { a as resolveCodexPromptError } from "./usage-limit-error-A0XP58jR.mjs";
15
15
  import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
16
16
  import { parse } from "smol-toml";
17
17
  import path from "node:path";
@@ -146,7 +146,7 @@ async function runBoundedCodexAppServerTurnInWorkspace(params, appServer, worksp
146
146
  assertCurrent: params.assertCurrent,
147
147
  ...params.signal ? { abandonSignal: params.signal } : {}
148
148
  };
149
- const client = params.options.clientFactory ? await params.options.clientFactory(clientOptions) : await import("./shared-client-CkyTrNB8.mjs").then((n) => n.m).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
149
+ const client = params.options.clientFactory ? await params.options.clientFactory(clientOptions) : await import("./shared-client-BelwlhWf.mjs").then((n) => n.m).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
150
150
  ...clientOptions,
151
151
  authProfileStore: params.authProfileStore
152
152
  }));
@@ -1,8 +1,8 @@
1
1
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
2
2
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
3
3
  import { i as resolveCodexAppServerHomeScope } from "./config-options-DMFZkd3X.mjs";
4
- import "./config-BfrAlTMT.mjs";
5
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
4
+ import "./config-BZYTxljj.mjs";
5
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
6
6
  //#region extensions/codex/src/app-server/bounded-turn-isolation.ts
7
7
  function resolveCodexBoundedTurnIsolation(options) {
8
8
  const pluginConfig = readCodexPluginConfig(options.pluginConfig);
@@ -1,5 +1,5 @@
1
1
  //#region extensions/codex/package.json
2
- var version = "2026.10.10-beta.2";
2
+ var version = "2026.10.10-beta.4";
3
3
  //#endregion
4
4
  //#region extensions/codex/src/build-state.ts
5
5
  /**
@@ -1,14 +1,14 @@
1
- import { a as readCodexCatalogDecodeRoute, c as isRpcResponse, i as listenCodexAppServerLines, n as projectCodexCatalogMessage, o as CodexAppServerMessageDecoder, r as createCodexAppServerMessageWriter, s as redactCodexAppServerLinePreview } from "./client-catalog-response-CsDxVVOZ.mjs";
1
+ import { a as readCodexCatalogDecodeRoute, c as isRpcResponse, i as listenCodexAppServerLines, n as projectCodexCatalogMessage, o as CodexAppServerMessageDecoder, r as createCodexAppServerMessageWriter, s as redactCodexAppServerLinePreview } from "./client-catalog-response-D-dEl0Ac.mjs";
2
2
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
3
- import { a as closeCodexAppServerTransport, l as getCodexAppServerRegisteredTransportIdentity, o as closeCodexAppServerTransportAndWait, s as hasCodexAppServerNaturalExit, t as createStdioTransport } from "./transport-stdio-Bq160Dhv.mjs";
3
+ import { a as closeCodexAppServerTransport, l as getCodexAppServerRegisteredTransportIdentity, o as closeCodexAppServerTransportAndWait, s as hasCodexAppServerNaturalExit, t as createStdioTransport } from "./transport-stdio-BVeWgcK6.mjs";
4
4
  import { i as CodexAppServerScopedRequestRejectedError, n as CodexAppServerLocalRequestCancellationError, o as isCodexAppServerOverloadError, r as CodexAppServerRpcError, t as CODEX_APP_SERVER_OVERLOADED_ERROR_CODE } from "./rpc-error-DemqqaxE.mjs";
5
- import { n as codexCatalogSourceForClient, o as recordCodexCatalogResponseSource, t as closeCodexCatalogClientSource } from "./session-catalog-source-z_mNyQdX.mjs";
6
- import { i as reuseCodexCatalogPreview } from "./session-catalog-native-projection-BqBYi6kV.mjs";
7
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
5
+ import { n as codexCatalogSourceForClient, o as recordCodexCatalogResponseSource, t as closeCodexCatalogClientSource } from "./session-catalog-source-BW46oF7X.mjs";
6
+ import { i as reuseCodexCatalogPreview } from "./session-catalog-native-projection-HAmuA2-G.mjs";
7
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
8
8
  import { codexCatalogPageWorkerEntrypoint } from "../catalog-page-worker-entrypoint.js";
9
- import { a as isUnsupportedCodexAppServerVersionError, i as createCodexInitializeDiagnostics, n as buildCodexAppServerInitializeParams, r as buildCodexAppServerRuntimeIdentity, t as assertSupportedCodexAppServerVersion } from "./client-initialize-CjgZcX61.mjs";
10
- import { t as createWebSocketTransport } from "./transport-websocket-0YqiI_MH.mjs";
11
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
9
+ import { a as isUnsupportedCodexAppServerVersionError, i as createCodexInitializeDiagnostics, n as buildCodexAppServerInitializeParams, r as buildCodexAppServerRuntimeIdentity, t as assertSupportedCodexAppServerVersion } from "./client-initialize-CPNmLwhL.mjs";
10
+ import { t as createWebSocketTransport } from "./transport-websocket-2Y-cL8kD.mjs";
11
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
12
12
  import { isRecord, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
13
13
  import { randomUUID } from "node:crypto";
14
14
  import { normalizeJsonSchemaForTypeBox } from "openclaw/plugin-sdk/json-schema-runtime";
@@ -1,5 +1,5 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
- import { n as projectCodexCatalogNativeResponse, r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-BqBYi6kV.mjs";
2
+ import { n as projectCodexCatalogNativeResponse, r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-HAmuA2-G.mjs";
3
3
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-registration";
4
4
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
5
5
  import { sanitizeTerminalText } from "openclaw/plugin-sdk/text-chunking";
@@ -1,4 +1,4 @@
1
- import { _ as MIN_SUPPORTED_CODEX_APP_SERVER_VERSION, g as CODEX_APP_SERVER_VERSION } from "./managed-binary-DbKvGXKl.mjs";
1
+ import { _ as MIN_SUPPORTED_CODEX_APP_SERVER_VERSION, g as CODEX_APP_SERVER_VERSION } from "./managed-binary-BwzkwiGo.mjs";
2
2
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { parse } from "semver";
4
4
  import { OPENCLAW_VERSION, embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -8,7 +8,7 @@ async function handleCodexCommand(ctx, options) {
8
8
  };
9
9
  const { resolvePluginConfig, ...subcommandOptions } = options;
10
10
  try {
11
- const { handleCodexSubcommand } = await import("./command-handlers-i6mEjvfo.mjs");
11
+ const { handleCodexSubcommand } = await import("./command-handlers-g046iNsp.mjs");
12
12
  return await handleCodexSubcommand(commandContext, {
13
13
  ...subcommandOptions,
14
14
  pluginConfig: resolvePluginConfig?.() ?? subcommandOptions.pluginConfig
@@ -1,38 +1,38 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
- import { g as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced, r as bindingStoreKey } from "./session-binding-record-C_THntMe.mjs";
2
+ import { g as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced, r as bindingStoreKey } from "./session-binding-record-BpWF2Sus.mjs";
3
3
  import { r as isCodexFastServiceTier } from "./config-utils-DN_YT7dE.mjs";
4
- import { c as resolveCodexAppServerPreparedApiKeyCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./auth-cache-key-BW1YeaIk.mjs";
4
+ import { c as resolveCodexAppServerPreparedApiKeyCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./auth-cache-key-Do2ZQrNP.mjs";
5
5
  import { n as withCodexConversationThreadActivity } from "./thread-ownership-queue-CeyYScUC.mjs";
6
6
  import { a as canMutateCodexHost, i as assertCodexHostOwnerCurrent, n as CODEX_HOST_INSPECTION_AUTH_ERROR, o as hasCodexAdminScope, r as CODEX_NATIVE_EXECUTION_AUTH_ERROR, t as CODEX_FULL_PERMISSIONS_AUTH_ERROR } from "./command-authorization-AikPDtcc.mjs";
7
7
  import { l as formatRelativeDuration, s as summarizeCodexAccountUsage } from "./rate-limits-BpfURnuy.mjs";
8
8
  import { a as formatCodexAccountLine, c as formatCodexTextForDisplay, d as formatModels, f as formatSkills, i as formatAccount, l as formatComputerUseStatus, m as isLikelyEmailAddress, n as buildHelp, o as formatCodexDisplayText, p as formatThreads, r as escapeCodexChatText, s as formatCodexStatus, t as CODEX_RESUME_SAFE_THREAD_ID_PATTERN, u as formatList } from "./command-formatters-B_7-QZ1c.mjs";
9
- import { i as readCodexConversationBindingData, n as createCodexCliNodeConversationBindingData, o as resolveCodexDefaultWorkspaceDir, r as createCodexConversationBindingData } from "./conversation-binding-data-khgW0n-o.mjs";
9
+ import { i as readCodexConversationBindingData, n as createCodexCliNodeConversationBindingData, o as resolveCodexDefaultWorkspaceDir, r as createCodexConversationBindingData } from "./conversation-binding-data-CAKQCqTL.mjs";
10
10
  import { r as CodexAppServerRpcError } from "./rpc-error-DemqqaxE.mjs";
11
11
  import { t as CODEX_CONTROL_METHODS } from "./capabilities-DAS-JX1z.mjs";
12
12
  import { n as filterCodexMarketplacePlugins, r as parseCodexPluginMarketplaceId, t as discoverCodexMarketplacePlugins } from "./plugin-marketplace-discovery-BblHM3DU.mjs";
13
- import { o as formatCodexCliSessions } from "./node-cli-sessions-BuJnBnEq.mjs";
13
+ import { o as formatCodexCliSessions } from "./node-cli-sessions-C59CAyDh.mjs";
14
14
  import { a as defaultCodexAppInventoryCache, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-DRb-niJc.mjs";
15
- import { i as resolveCodexBindingAppServerConnection } from "./binding-connection-GTgUj9pi.mjs";
16
- import { a as withCodexAppServerJsonClient } from "./request-C6U8q2uz.mjs";
17
- import { n as findCodexMarketplacePluginSummary, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-DE9wcaeH.mjs";
18
- import "./config-BfrAlTMT.mjs";
19
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
15
+ import { i as resolveCodexBindingAppServerConnection } from "./binding-connection-hJD5mFkM.mjs";
16
+ import { a as withCodexAppServerJsonClient } from "./request-DTgD_jsY.mjs";
17
+ import { n as findCodexMarketplacePluginSummary, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-BVP15PmN.mjs";
18
+ import "./config-BZYTxljj.mjs";
19
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
20
20
  import { a as resolveCodexAppServerAuthProfileStore, i as resolveCodexAppServerAuthProfileIdForAgent, n as normalizeCodexAppServerBindingModelProvider, r as resolveCodexAppServerAuthProfileId } from "./auth-profile-auwzSwwy.mjs";
21
- import { A as hasCodexAppServerLiveThread, D as consumeCodexAppServerLiveThread, Z as resolveCodexAppServerAuthAccountCacheKey, f as releaseLeasedSharedCodexAppServerClient, o as getLeasedSharedCodexAppServerClient } from "./shared-client-CkyTrNB8.mjs";
22
- import { f as assertCodexThreadAcceptsDirectInput, i as isCodexAppServerIndeterminateRequestCancellationError, m as assertCodexThreadResumeResponse, o as isCodexAppServerPrewriteRequestCancellationError } from "./client--P8jwXvA.mjs";
23
- import { o as closeCodexStartupClientBestEffort } from "./attempt-client-cleanup-DMJWXGxM.mjs";
24
- import { n as fingerprintCodexAppServerAuthBinding } from "./auth-binding-830RLAJW.mjs";
25
- import { n as listAllCodexAppServerModels } from "./models-CmOBxsKF.mjs";
26
- import { n as refreshCodexAppRuntimeState, r as refreshCodexPluginRuntimeState } from "./plugin-activation-CXPWe-hl.mjs";
27
- import { i as resolveCodexSessionBinding, n as createCodexSessionGenerationSupersededError } from "./session-binding-BgsWcbdY.mjs";
28
- import { a as rollbackCodexAppServerBindingSubscription, c as withExclusiveCodexAppServerThread, i as retireCodexConversationThreadBinding, n as releaseCodexAppServerBindingSubscription, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-Bmk5a2Gu.mjs";
29
- import { n as prepareCodexNativeExecutionBlock, r as prepareCodexNativeSandboxBlock } from "./sandbox-guard-DneAfNye.mjs";
30
- import { i as assertCodexSupervisionThreadLineage } from "./thread-policy-DYtvZ5Ay.mjs";
21
+ import { A as hasCodexAppServerLiveThread, D as consumeCodexAppServerLiveThread, et as resolveCodexAppServerAuthAccountCacheKey, f as releaseLeasedSharedCodexAppServerClient, o as getLeasedSharedCodexAppServerClient } from "./shared-client-BelwlhWf.mjs";
22
+ import { f as assertCodexThreadAcceptsDirectInput, i as isCodexAppServerIndeterminateRequestCancellationError, m as assertCodexThreadResumeResponse, o as isCodexAppServerPrewriteRequestCancellationError } from "./client-Bxe8bl-K.mjs";
23
+ import { o as closeCodexStartupClientBestEffort } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
24
+ import { n as fingerprintCodexAppServerAuthBinding } from "./auth-binding-BY7Fm501.mjs";
25
+ import { n as listAllCodexAppServerModels } from "./models-HgvyBseb.mjs";
26
+ import { n as refreshCodexAppRuntimeState, r as refreshCodexPluginRuntimeState } from "./plugin-activation-Cj2k3W9n.mjs";
27
+ import { i as resolveCodexSessionBinding, n as createCodexSessionGenerationSupersededError } from "./session-binding-Dg0B6Zua.mjs";
28
+ import { a as rollbackCodexAppServerBindingSubscription, c as withExclusiveCodexAppServerThread, i as retireCodexConversationThreadBinding, n as releaseCodexAppServerBindingSubscription, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DxW6b6fR.mjs";
29
+ import { n as prepareCodexNativeExecutionBlock, r as prepareCodexNativeSandboxBlock } from "./sandbox-guard-CrzVgQUn.mjs";
30
+ import { i as assertCodexSupervisionThreadLineage } from "./thread-policy-j-BAwvSk.mjs";
31
31
  import { t as defaultCodexPluginMetadataCache } from "./plugin-metadata-cache-BqC-a6Fb.mjs";
32
- import { n as installCodexComputerUse, r as readCodexComputerUseStatus } from "./computer-use-YUnu0JVx.mjs";
32
+ import { n as installCodexComputerUse, r as readCodexComputerUseStatus } from "./computer-use-C0qJq1rh.mjs";
33
33
  import { t as readCodexExperimentalFeature } from "./experimental-features-uGnVDtp-.mjs";
34
- import { a as requestOptions, i as readCodexStatusProbes, o as safeCodexControlRequest, r as prepareCodexControlSessionAuth, t as codexControlRequest } from "./command-rpc-B65jEc0r.mjs";
35
- import { a as readCodexConversationActiveTurn, c as setCodexConversationModel, d as stopCodexConversationTurn, i as parseCodexPermissionsModeArg, l as setCodexConversationPermissions, n as formatPermissionsMode, r as parseCodexFastModeArg, s as setCodexConversationFastMode, u as steerCodexConversationTurn } from "./conversation-control-B2EpVZEb.mjs";
34
+ import { a as requestOptions, i as readCodexStatusProbes, o as safeCodexControlRequest, r as prepareCodexControlSessionAuth, t as codexControlRequest } from "./command-rpc-CwpCTOrX.mjs";
35
+ import { a as readCodexConversationActiveTurn, c as setCodexConversationModel, d as stopCodexConversationTurn, i as parseCodexPermissionsModeArg, l as setCodexConversationPermissions, n as formatPermissionsMode, r as parseCodexFastModeArg, s as setCodexConversationFastMode, u as steerCodexConversationTurn } from "./conversation-control-CTZTP_rE.mjs";
36
36
  import { normalizeOptionalString, normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
37
37
  import crypto from "node:crypto";
38
38
  import { isDeepStrictEqual } from "node:util";
@@ -1,18 +1,18 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
2
  import { o as isCodexAppServerOverloadError, r as CodexAppServerRpcError } from "./rpc-error-DemqqaxE.mjs";
3
3
  import { n as describeControlFailure, t as CODEX_CONTROL_METHODS } from "./capabilities-DAS-JX1z.mjs";
4
- import { a as withCodexAppServerJsonClient, r as requestCodexAppServerJson } from "./request-C6U8q2uz.mjs";
5
- import "./config-BfrAlTMT.mjs";
6
- import { n as resolveCodexAppServerRuntimeOptions, r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
4
+ import { a as withCodexAppServerJsonClient, r as requestCodexAppServerJson } from "./request-DTgD_jsY.mjs";
5
+ import "./config-BZYTxljj.mjs";
6
+ import { n as resolveCodexAppServerRuntimeOptions, r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
7
7
  import { a as resolveCodexAppServerAuthProfileStore, r as resolveCodexAppServerAuthProfileId } from "./auth-profile-auwzSwwy.mjs";
8
- import { Q as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-CkyTrNB8.mjs";
9
- import { a as isCodexAppServerIndeterminateTransportError, i as isCodexAppServerIndeterminateRequestCancellationError } from "./client--P8jwXvA.mjs";
10
- import { o as closeCodexStartupClientBestEffort } from "./attempt-client-cleanup-DMJWXGxM.mjs";
11
- import { r as prepareCodexAppServerAuthBinding } from "./auth-binding-830RLAJW.mjs";
12
- import { r as listCodexAppServerModels } from "./models-CmOBxsKF.mjs";
13
- import { n as createCodexSessionGenerationSupersededError } from "./session-binding-BgsWcbdY.mjs";
14
- import { t as resumeCodexAppServerThread } from "./thread-resume-vBShG3-o.mjs";
15
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
8
+ import { tt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-BelwlhWf.mjs";
9
+ import { a as isCodexAppServerIndeterminateTransportError, i as isCodexAppServerIndeterminateRequestCancellationError } from "./client-Bxe8bl-K.mjs";
10
+ import { o as closeCodexStartupClientBestEffort } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
11
+ import { r as prepareCodexAppServerAuthBinding } from "./auth-binding-BY7Fm501.mjs";
12
+ import { r as listCodexAppServerModels } from "./models-HgvyBseb.mjs";
13
+ import { n as createCodexSessionGenerationSupersededError } from "./session-binding-Dg0B6Zua.mjs";
14
+ import { t as resumeCodexAppServerThread } from "./thread-resume-CZxguYjc.mjs";
15
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
16
16
  import { resolveAgentDir, resolveSessionAgentIdsStrict } from "openclaw/plugin-sdk/agent-scope-runtime";
17
17
  import { resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/agent-runtime";
18
18
  import { prepareAgentRuntimeAuth } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -1,23 +1,23 @@
1
1
  import { n as readCodexRuntimeModelId } from "./model-runtime-BdqzOMkU.mjs";
2
2
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
3
- import { g as sessionBindingIdentity } from "./session-binding-record-C_THntMe.mjs";
4
- import { T as retainSharedCodexAppServerClientByInstanceId, k as waitForCodexAppServerClientExit } from "./auth-cache-key-BW1YeaIk.mjs";
3
+ import { g as sessionBindingIdentity } from "./session-binding-record-BpWF2Sus.mjs";
4
+ import { T as retainSharedCodexAppServerClientByInstanceId, k as waitForCodexAppServerClientExit } from "./auth-cache-key-Do2ZQrNP.mjs";
5
5
  import { t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-meta-Lkm5Lpf4.mjs";
6
6
  import { i as CodexAppServerScopedRequestRejectedError, r as CodexAppServerRpcError } from "./rpc-error-DemqqaxE.mjs";
7
- import { i as resolveCodexBindingAppServerConnection } from "./binding-connection-GTgUj9pi.mjs";
8
- import { B as retainCodexAppServerLiveThread, D as consumeCodexAppServerLiveThread, I as protectCodexAppServerLiveThread, V as revertCodexAppServerLiveThreadInstructions, a as createIsolatedCodexAppServerClient, p as retainSharedCodexAppServerClientIfCurrent, w as getCodexInferenceThreadQualification } from "./shared-client-CkyTrNB8.mjs";
7
+ import { i as resolveCodexBindingAppServerConnection } from "./binding-connection-hJD5mFkM.mjs";
8
+ import { D as consumeCodexAppServerLiveThread, H as revertCodexAppServerLiveThreadInstructions, I as protectCodexAppServerLiveThread, V as retainCodexAppServerLiveThread, a as createIsolatedCodexAppServerClient, p as retainSharedCodexAppServerClientIfCurrent, w as getCodexInferenceThreadQualification } from "./shared-client-BelwlhWf.mjs";
9
9
  import "./responses-oauth-CCV7aVYF.mjs";
10
- import { i as isCodexAppServerIndeterminateRequestCancellationError, o as isCodexAppServerPrewriteRequestCancellationError } from "./client--P8jwXvA.mjs";
11
- import { c as readCodexNotificationTurnId, s as readCodexNotificationThreadId } from "./turn-router-BGj67FMK.mjs";
12
- import { c as isCodexNoActiveTurnInterruptError, f as unsubscribeCodexThreadBestEffort, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-DMJWXGxM.mjs";
10
+ import { i as isCodexAppServerIndeterminateRequestCancellationError, o as isCodexAppServerPrewriteRequestCancellationError } from "./client-Bxe8bl-K.mjs";
11
+ import { c as readCodexNotificationTurnId, s as readCodexNotificationThreadId } from "./turn-router-B62dF4CM.mjs";
12
+ import { c as isCodexNoActiveTurnInterruptError, f as unsubscribeCodexThreadBestEffort, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
13
13
  import { n as readCodexThreadContextSnapshot, s as readCodexNotificationItem } from "./event-projector-usage-CBY0Hkga.mjs";
14
- import { i as resolveCodexSessionBinding } from "./session-binding-BgsWcbdY.mjs";
15
- import { s as withCodexAppServerThreadMutationHold, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-Bmk5a2Gu.mjs";
14
+ import { i as resolveCodexSessionBinding } from "./session-binding-Dg0B6Zua.mjs";
15
+ import { s as withCodexAppServerThreadMutationHold, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DxW6b6fR.mjs";
16
16
  import { t as persistCodexContextCompactionActivity } from "./context-compaction-activity-CMla5FPJ.mjs";
17
- import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-C3CIIaZG.mjs";
18
- import { n as prepareCodexNativeExecutionBlock } from "./sandbox-guard-DneAfNye.mjs";
19
- import { i as assertCodexSupervisionThreadLineage } from "./thread-policy-DYtvZ5Ay.mjs";
20
- import { t as resumeCodexAppServerThread } from "./thread-resume-vBShG3-o.mjs";
17
+ import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-LJd5_D5F.mjs";
18
+ import { n as prepareCodexNativeExecutionBlock } from "./sandbox-guard-CrzVgQUn.mjs";
19
+ import { i as assertCodexSupervisionThreadLineage } from "./thread-policy-j-BAwvSk.mjs";
20
+ import { t as resumeCodexAppServerThread } from "./thread-resume-CZxguYjc.mjs";
21
21
  import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
22
22
  import { coerceErrorMessage } from "openclaw/plugin-sdk/error-runtime";
23
23
  import { isIncognitoSessionKey } from "openclaw/plugin-sdk/session-key-runtime";
@@ -1,12 +1,12 @@
1
1
  import { t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
2
2
  import { o as resolveCodexComputerUseConfig } from "./config-options-DMFZkd3X.mjs";
3
- import { a as isManagedCodexDesktopCommand, b as resolveMacOSDesktopCodexBundledMarketplaceCandidates } from "./managed-binary-DbKvGXKl.mjs";
3
+ import { a as isManagedCodexDesktopCommand, b as resolveMacOSDesktopCodexBundledMarketplaceCandidates } from "./managed-binary-BwzkwiGo.mjs";
4
4
  import { n as describeControlFailure } from "./capabilities-DAS-JX1z.mjs";
5
- import { n as requestCodexAppServerClientJson } from "./request-C6U8q2uz.mjs";
6
- import "./config-BfrAlTMT.mjs";
7
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
8
- import { $ as resolveBundledComputerUseMarketplacePath, X as reconcileCodexComputerUseStartArtifacts, at as assertNotSymlink, c as readCodexAppServerClientDesktopGeneration, et as resolveClientManagedBundledMarketplacePath, f as releaseLeasedSharedCodexAppServerClient, h as withCodexAppServerClientRequestScope, it as ensureCodexComputerUseSharedPluginCache, nt as isLegacyCodexComputerUsePluginDisabled, o as getLeasedSharedCodexAppServerClient, rt as resolveManagedCodexComputerUseConfig, tt as hasLegacyCodexComputerUseMcpPolicy, u as readCodexAppServerClientProcessIdentity } from "./shared-client-CkyTrNB8.mjs";
9
- import { l as retireUnsafeCodexTurnClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-DMJWXGxM.mjs";
5
+ import { n as requestCodexAppServerClientJson } from "./request-DTgD_jsY.mjs";
6
+ import "./config-BZYTxljj.mjs";
7
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
8
+ import { $ as reconcileCodexComputerUseStartArtifacts, at as isLegacyCodexComputerUsePluginDisabled, c as readCodexAppServerClientDesktopGeneration, ct as assertNotSymlink, f as releaseLeasedSharedCodexAppServerClient, h as withCodexAppServerClientRequestScope, it as hasLegacyCodexComputerUseMcpPolicy, nt as resolveBundledComputerUseMarketplacePath, o as getLeasedSharedCodexAppServerClient, ot as resolveManagedCodexComputerUseConfig, rt as resolveClientManagedBundledMarketplacePath, st as ensureCodexComputerUseSharedPluginCache, u as readCodexAppServerClientProcessIdentity } from "./shared-client-BelwlhWf.mjs";
9
+ import { l as retireUnsafeCodexTurnClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
10
10
  import path from "node:path";
11
11
  import fs from "node:fs/promises";
12
12
  import { toErrorObject } from "openclaw/plugin-sdk/error-runtime";
@@ -3,8 +3,8 @@ import { a as readExecAsk, l as readRecord, o as readExecSecurity } from "./conf
3
3
  import "./config-parsing-DsWSCPHO.mjs";
4
4
  import "./auth-start-options-BPIPeEX8.mjs";
5
5
  import { c as canUseCodexModelBackedApprovalsReviewerForModel$1 } from "./config-options-DMFZkd3X.mjs";
6
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
7
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
6
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
7
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
8
8
  import { resolveAgentConfig } from "openclaw/plugin-sdk/agent-scope-runtime";
9
9
  import { execPolicy } from "openclaw/plugin-sdk/agent-harness-runtime";
10
10
  import { resolveExecApprovalsFromFile } from "openclaw/plugin-sdk/exec-approvals-runtime";
@@ -1,5 +1,5 @@
1
1
  import { r as createCodexAppServerConfig } from "./config-options-DMFZkd3X.mjs";
2
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
2
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
3
3
  import { resolveProviderIdForAuth } from "openclaw/plugin-sdk/provider-auth-aliases";
4
4
  //#region extensions/codex/src/app-server/config-runtime.ts
5
5
  var config_runtime_exports = /* @__PURE__ */ __exportAll({
@@ -1,29 +1,29 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
- import { g as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced } from "./session-binding-record-C_THntMe.mjs";
2
+ import { g as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced } from "./session-binding-record-BpWF2Sus.mjs";
3
3
  import { d as readCodexRequirementsToml } from "./config-security-clxAZYWX.mjs";
4
4
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
5
5
  import { d as readCodexEffectiveConfig, n as codexSandboxPolicyForTurn } from "./config-options-DMFZkd3X.mjs";
6
- import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-BW1YeaIk.mjs";
7
- import { o as resolveCodexDefaultWorkspaceDir } from "./conversation-binding-data-khgW0n-o.mjs";
8
- import { o as isCodexAppServerOverloadError } from "./rpc-error-DemqqaxE.mjs";
6
+ import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-Do2ZQrNP.mjs";
7
+ import { o as resolveCodexDefaultWorkspaceDir } from "./conversation-binding-data-CAKQCqTL.mjs";
8
+ import { o as isCodexAppServerOverloadError, r as CodexAppServerRpcError, s as isCodexThreadReadMissingError } from "./rpc-error-DemqqaxE.mjs";
9
9
  import { n as projectBoundedCodexVisibleSessionHistory } from "./transcript-history-projection-i-FVpyha.mjs";
10
- import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-BfrAlTMT.mjs";
11
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
10
+ import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-BZYTxljj.mjs";
11
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
12
12
  import { n as normalizeCodexAppServerBindingModelProvider, o as resolveModelBackedReviewerPolicyProvider } from "./auth-profile-auwzSwwy.mjs";
13
- import { A as hasCodexAppServerLiveThread, D as consumeCodexAppServerLiveThread, M as isCodexAppServerClientRuntimeLive, N as isCodexAppServerLiveThreadClaimed, d as releaseCodexAppServerClientLease, h as withCodexAppServerClientRequestScope, o as getLeasedSharedCodexAppServerClient, z as releaseCodexAppServerLiveThread } from "./shared-client-CkyTrNB8.mjs";
14
- import { f as assertCodexThreadAcceptsDirectInput, h as assertCodexThreadStartResponse, i as isCodexAppServerIndeterminateRequestCancellationError, l as CodexThreadDirectInputError } from "./client--P8jwXvA.mjs";
15
- import { a as isCodexNotificationForTurn, n as getCodexAppServerTurnRouter } from "./turn-router-BGj67FMK.mjs";
16
- import { f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError, s as interruptCodexTurnAndWaitBestEffort } from "./attempt-client-cleanup-DMJWXGxM.mjs";
17
- import { d as mergeCodexThreadConfigs, s as buildDisabledAppsConfigPatch, t as buildCodexProjectDocThreadConfig } from "./project-doc-thread-config-B0UI3f1D.mjs";
18
- import "./session-binding-BgsWcbdY.mjs";
13
+ import { A as hasCodexAppServerLiveThread, B as releaseCodexAppServerLiveThread, D as consumeCodexAppServerLiveThread, M as isCodexAppServerClientRuntimeLive, N as isCodexAppServerLiveThreadClaimed, d as releaseCodexAppServerClientLease, h as withCodexAppServerClientRequestScope, o as getLeasedSharedCodexAppServerClient } from "./shared-client-BelwlhWf.mjs";
14
+ import { f as assertCodexThreadAcceptsDirectInput, h as assertCodexThreadStartResponse, i as isCodexAppServerIndeterminateRequestCancellationError, l as CodexThreadDirectInputError } from "./client-Bxe8bl-K.mjs";
15
+ import { a as isCodexNotificationForTurn, n as getCodexAppServerTurnRouter } from "./turn-router-B62dF4CM.mjs";
16
+ import { f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, o as closeCodexStartupClientBestEffort, s as interruptCodexTurnAndWaitBestEffort } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
17
+ import { d as mergeCodexThreadConfigs, s as buildDisabledAppsConfigPatch, t as buildCodexProjectDocThreadConfig } from "./project-doc-thread-config-Ds92xu17.mjs";
18
+ import "./session-binding-Dg0B6Zua.mjs";
19
19
  import { r as resolveCodexAppServerRequestModelSelection, t as CODEX_NATIVE_PERSONALITY_NONE } from "./thread-model-selection-DxposL4X.mjs";
20
- import { a as rollbackCodexAppServerBindingSubscription, c as withExclusiveCodexAppServerThread, n as releaseCodexAppServerBindingSubscription, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-Bmk5a2Gu.mjs";
20
+ import { a as rollbackCodexAppServerBindingSubscription, c as withExclusiveCodexAppServerThread, n as releaseCodexAppServerBindingSubscription, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DxW6b6fR.mjs";
21
21
  import { i as resolveCodexNativeExecutionPolicy } from "./native-execution-policy-D09tLP-u.mjs";
22
- import { i as resolveCodexNativeExecutionBlock, t as assertNativeConversationApprovalPolicySupported } from "./sandbox-guard-DneAfNye.mjs";
23
- import { t as resumeCodexAppServerThread } from "./thread-resume-vBShG3-o.mjs";
22
+ import { i as resolveCodexNativeExecutionBlock, t as assertNativeConversationApprovalPolicySupported } from "./sandbox-guard-CrzVgQUn.mjs";
23
+ import { t as resumeCodexAppServerThread } from "./thread-resume-CZxguYjc.mjs";
24
24
  import { i as resolveCodexSessionPermissionCwd, n as applyCodexSessionPermissionPolicy, t as CODEX_SESSION_PERMISSION_EXEC_MODES } from "./session-permission-policy-CD2MAWU8.mjs";
25
- import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-Cog6mm2i.mjs";
26
- import { f as trackCodexConversationActiveTurn, o as resolveThreadRequestModelProvider, t as buildCodexConversationAgentLookup } from "./conversation-control-B2EpVZEb.mjs";
25
+ import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-CFCEWj0w.mjs";
26
+ import { f as trackCodexConversationActiveTurn, o as resolveThreadRequestModelProvider, t as buildCodexConversationAgentLookup } from "./conversation-control-CTZTP_rE.mjs";
27
27
  import { asOptionalRecord, normalizeOptionalString, readNonEmptyStringPreservingWhitespace } from "openclaw/plugin-sdk/string-coerce-runtime";
28
28
  import { resolveSessionAgentIdsStrict } from "openclaw/plugin-sdk/agent-scope-runtime";
29
29
  import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
@@ -371,7 +371,7 @@ async function bindThread(params, threadId) {
371
371
  release: resolved.release
372
372
  };
373
373
  }
374
- async function prepareCodexConversationBinding(params, options = {}) {
374
+ async function prepareCodexConversationBinding(params) {
375
375
  const identity = {
376
376
  kind: "conversation",
377
377
  bindingId: params.data.bindingId
@@ -381,7 +381,7 @@ async function prepareCodexConversationBinding(params, options = {}) {
381
381
  const current = await params.bindingStore.readAsync(identity);
382
382
  if (current?.threadId !== snapshot?.threadId || current?.clientId !== snapshot?.clientId) throw new Error("Codex conversation binding changed before preparation.");
383
383
  const requested = params.data.start && current?.conversationStartId !== params.data.start.id ? params.data.start : void 0;
384
- if (current && !requested && !options.forceNew) return;
384
+ if (current && !requested) return;
385
385
  const sourceIdentity = params.data.source ? sessionBindingIdentity({
386
386
  agentId: params.data.source.agentId,
387
387
  sessionId: params.data.source.sessionId,
@@ -413,7 +413,7 @@ async function prepareCodexConversationBinding(params, options = {}) {
413
413
  agentId: params.data.source?.agentId ?? params.data.agentId
414
414
  };
415
415
  const threadId = requested?.threadId;
416
- const sourceAuthority = await bindThread(bindingParams, options.forceNew ? void 0 : threadId);
416
+ const sourceAuthority = await bindThread(bindingParams, threadId);
417
417
  using _ = { [Symbol.dispose]: sourceAuthority.release };
418
418
  await sourceAuthority.assertCurrent();
419
419
  const sourceGuard = sourceAuthority.source;
@@ -613,6 +613,12 @@ function readLocalMediaPath(value) {
613
613
  //#endregion
614
614
  //#region extensions/codex/src/conversation-binding.ts
615
615
  const DEFAULT_BOUND_TURN_TIMEOUT_MS = 12e5;
616
+ var CodexConversationUnloadedThreadError = class extends Error {
617
+ constructor(threadId, cause) {
618
+ super(cause.message, { cause });
619
+ this.threadId = threadId;
620
+ }
621
+ };
616
622
  async function runBoundTurn(params) {
617
623
  const agentLookup = buildCodexConversationAgentLookup({
618
624
  agentDir: params.data.agentDir,
@@ -624,6 +630,7 @@ async function runBoundTurn(params) {
624
630
  };
625
631
  const binding = await params.bindingStore.readAsync(identity);
626
632
  if (!binding?.threadId) throw new Error("bound Codex conversation has no thread binding");
633
+ if (params.resumeThreadId && binding.threadId !== params.resumeThreadId) throw new Error("Codex conversation binding changed before recovery; review it before resending.");
627
634
  return await withExclusiveCodexAppServerThread({
628
635
  bindingStore: params.bindingStore,
629
636
  identity,
@@ -656,6 +663,7 @@ async function runBoundTurn(params) {
656
663
  const permissionProfile = runtime.networkProxy?.profileName;
657
664
  const networkProxyConfigFingerprint = runtime.networkProxy?.configFingerprint;
658
665
  const networkProxyBindingChanged = binding.networkProxyProfileName !== permissionProfile || binding.networkProxyConfigFingerprint !== networkProxyConfigFingerprint;
666
+ if (params.resumeThreadId && networkProxyBindingChanged) throw new Error("Codex conversation policy changed before recovery; rebind the conversation and resend your message.");
659
667
  const serviceTier = binding.serviceTier ?? runtime.serviceTier;
660
668
  let useStickyNetworkProfile = permissionProfile !== void 0 && !networkProxyBindingChanged;
661
669
  assertNativeConversationApprovalPolicySupported(runtime);
@@ -716,7 +724,7 @@ async function runBoundTurn(params) {
716
724
  ownsNativeSubscription = true;
717
725
  }
718
726
  }
719
- if (networkProxyBindingChanged || binding.clientId !== client.getInstanceId() || isCodexAppServerClientRuntimeLive(client) && !incognito && !liveThreadOwnership) {
727
+ if (params.resumeThreadId || networkProxyBindingChanged || binding.clientId !== client.getInstanceId() || isCodexAppServerClientRuntimeLive(client) && !incognito && !liveThreadOwnership) {
720
728
  if (!networkProxyBindingChanged && binding.clientId === client.getInstanceId()) await assertResumeInputAllowed();
721
729
  const result = await withCodexAppServerClientRequestScope({
722
730
  lease: clientLease,
@@ -838,6 +846,9 @@ async function runBoundTurn(params) {
838
846
  }, {
839
847
  timeoutMs: runtime.requestTimeoutMs,
840
848
  withCurrent
849
+ }).catch((error) => {
850
+ if (!incognito && error instanceof CodexAppServerRpcError && error.method === "turn/start" && error.code === -32600 && error.message === `thread not found: ${threadId}`) throw new CodexConversationUnloadedThreadError(threadId, error);
851
+ throw error;
841
852
  })).turn.id;
842
853
  activeTurnCleanup = trackCodexConversationActiveTurn({
843
854
  identity,
@@ -852,6 +863,7 @@ async function runBoundTurn(params) {
852
863
  turnSucceeded = true;
853
864
  return { text: replyText || "Codex completed without a text reply." };
854
865
  } catch (error) {
866
+ if (params.resumeThreadId && isCodexThreadReadMissingError(error, threadId)) throw new Error("The bound Codex thread is unavailable. Your message was not submitted; rebind the conversation and resend it.", { cause: error });
855
867
  if (isCodexAppServerOverloadError(error) && error.method === "thread/resume") throw error;
856
868
  if (error instanceof CodexThreadDirectInputError) {
857
869
  if (incognito && ownsNativeSubscription) {
@@ -920,15 +932,12 @@ async function runBoundTurnWithMissingThreadRecovery(params) {
920
932
  try {
921
933
  return await runBoundTurn(params);
922
934
  } catch (error) {
923
- if (!isCodexThreadNotFoundError(error)) throw error;
924
- await prepareCodexConversationBinding(params, { forceNew: true });
925
- return await runBoundTurn(params);
935
+ if (!(error instanceof CodexConversationUnloadedThreadError)) throw error;
936
+ return await runBoundTurn({
937
+ ...params,
938
+ resumeThreadId: error.threadId
939
+ });
926
940
  }
927
941
  }
928
- function isCodexThreadNotFoundError(error) {
929
- if (isCodexAppServerOverloadError(error) || error instanceof CodexAppServerUnsafeSubscriptionError) return false;
930
- const message = formatErrorMessage(error);
931
- return /\bthread not found:/iu.test(message) || /\bbound Codex conversation has no thread binding\b/u.test(message);
932
- }
933
942
  //#endregion
934
943
  export { runBoundTurnWithMissingThreadRecovery };
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
1
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
2
2
  import { asOptionalRecord, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { createHash, randomUUID } from "node:crypto";
4
4
  import process from "node:process";