@openclaw/codex 2026.10.10-beta.3 → 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-BOspqhfQ.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-DVeFKzUL.mjs → apply-DvEtGGBB.mjs} +8 -8
  4. package/dist/.setup/{attempt-client-cleanup-BLp6z_DD.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-aolg0chE.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-DJr0EXh7.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-DswWyGqI.mjs → build-state-CpGXWSN4.mjs} +1 -1
  13. package/dist/.setup/{client-CPPD2q0Z.mjs → client-Bxe8bl-K.mjs} +8 -8
  14. package/dist/.setup/{client-catalog-response-FeIOBhaz.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-DlgDPLEv.mjs → command-dispatch-BD9-WK7I.mjs} +1 -1
  17. package/dist/.setup/{command-handlers-B7Kcgt8i.mjs → command-handlers-g046iNsp.mjs} +22 -22
  18. package/dist/.setup/{command-rpc-DomZ6_l8.mjs → command-rpc-CwpCTOrX.mjs} +11 -11
  19. package/dist/.setup/{compact-H5H5Cvbw.mjs → compact-B-qCn3BG.mjs} +13 -13
  20. package/dist/.setup/{computer-use-BFfXSTZw.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-DyiBKCA4.mjs → conversation-binding-CXGGbblk.mjs} +16 -16
  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-DkJpWzXt.mjs → dynamic-tool-build-BzTaCmlT.mjs} +3 -3
  28. package/dist/.setup/{dynamic-tools-UL4DHNTh.mjs → dynamic-tools-BALvjDwR.mjs} +8 -8
  29. package/dist/.setup/{effective-mcp-catalog-CvJiu5dn.mjs → effective-mcp-catalog-CQbEkKv_.mjs} +6 -6
  30. package/dist/.setup/{ephemeral-turn-C9iVxYQi.mjs → ephemeral-turn-CNm9tN72.mjs} +2 -2
  31. package/dist/.setup/{inference-context-BPwyk-Op.mjs → inference-context-DYpvCEF3.mjs} +1 -1
  32. package/dist/.setup/{inference-proxy-iJoMVyEy.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-Bv8qIPw_.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-DtvMR_yX.mjs → mcp-app-session-preparation-CFbTbxia.mjs} +9 -9
  37. package/dist/.setup/{model-catalog-EWVLBn3F.mjs → model-catalog-BNSZklNP.mjs} +7 -7
  38. package/dist/.setup/{models-Bc4yyUrk.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-DbNYjwuC.mjs → native-hook-relay-COcu2b4l.mjs} +4 -4
  42. package/dist/.setup/{native-mcp-app-gkEJsgj2.mjs → native-mcp-app-CFyl3R2g.mjs} +5 -5
  43. package/dist/.setup/{native-skill-isolation-Cja6Nv79.mjs → native-skill-isolation-B8cWhSFy.mjs} +3 -3
  44. package/dist/.setup/{native-subagent-monitor-D1pYkirc.mjs → native-subagent-monitor-LJd5_D5F.mjs} +151 -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-BUB3QGL7.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-BkiVPLuc.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-Rt7awchu.mjs → provider-C1GuStnr.mjs} +4 -4
  55. package/dist/.setup/{provider-capabilities-C0laqfjE.mjs → provider-capabilities-DMfkFwZi.mjs} +1 -1
  56. package/dist/.setup/{request-DbU7VQMs.mjs → request-DTgD_jsY.mjs} +5 -5
  57. package/dist/.setup/{run-attempt-BFAgRiTd.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-9l8N4EUL.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-CicBG92S.mjs → session-catalog-events-BmhPYZGw.mjs} +4 -4
  68. package/dist/.setup/{session-catalog-index-ft2e51lh.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-CwOyRRXK.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-By1iGA1y.mjs → session-catalog-projection-C_w9yRCz.mjs} +4 -4
  78. package/dist/.setup/{session-catalog-source-DghHV4qB.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-D9qTLXqz.mjs → session-retirement-BHMs5nFf.mjs} +6 -6
  83. package/dist/.setup/{settled-turn-finalizer-Cn7yngMH.mjs → settled-turn-finalizer-C3OEC7ED.mjs} +5 -5
  84. package/dist/.setup/{shared-client-B8v6e5D0.mjs → shared-client-BelwlhWf.mjs} +63 -27
  85. package/dist/.setup/{side-question-DFFnd64D.mjs → side-question-Bt2vXr-h.mjs} +21 -21
  86. package/dist/.setup/{source-DTo8pzXK.mjs → source-DQN8P65G.mjs} +4 -4
  87. package/dist/.setup/{thread-lifecycle-run-DOC2IWpW.mjs → thread-lifecycle-run-aBfXzIGf.mjs} +36 -22
  88. package/dist/.setup/{thread-ownership-DJ8PPxRc.mjs → thread-ownership-DxW6b6fR.mjs} +4 -4
  89. package/dist/.setup/{thread-policy-UldER50x.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-BZWI-rUL.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-CaEj5E0i.mjs → turn-router-B62dF4CM.mjs} +1 -1
  96. package/dist/.setup/{upstream-session-fork-Dqf5_VFU.mjs → upstream-session-fork-5d_7cWPF.mjs} +17 -17
  97. package/dist/.setup/{usage-BfOJuCR7.mjs → usage-DSIlxJrx.mjs} +3 -3
  98. package/dist/.setup/{usage-limit-error-B0x1eymI.mjs → usage-limit-error-A0XP58jR.mjs} +1 -1
  99. package/dist/.setup/{web-search-provider.runtime-BwYKjmzK.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,7 +1,7 @@
1
- import { g as sessionBindingIdentity } from "./session-binding-record-C_THntMe.mjs";
2
- import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-aolg0chE.mjs";
3
- import { I as protectCodexAppServerLiveThread } from "./shared-client-B8v6e5D0.mjs";
4
- import "./session-binding-BgsWcbdY.mjs";
1
+ import { g as sessionBindingIdentity } from "./session-binding-record-BpWF2Sus.mjs";
2
+ import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-Do2ZQrNP.mjs";
3
+ import { I as protectCodexAppServerLiveThread } from "./shared-client-BelwlhWf.mjs";
4
+ import "./session-binding-Dg0B6Zua.mjs";
5
5
  import { n as projectCodexMcpToolMetadata, t as projectCodexMcpServerMetadata } from "./mcp-tool-metadata-DW41snf3.mjs";
6
6
  import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { assignMcpCatalogSafeServerNames } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -108,7 +108,7 @@ async function acquireCodexMcpAppRuntime(params, options) {
108
108
  if (!retained && params.prepareSession) {
109
109
  const preparation = await params.prepareSession();
110
110
  params.assertCurrent();
111
- const { prepareCodexMcpAppSession } = await import("./mcp-app-session-preparation-DtvMR_yX.mjs");
111
+ const { prepareCodexMcpAppSession } = await import("./mcp-app-session-preparation-CFbTbxia.mjs");
112
112
  await prepareCodexMcpAppSession({
113
113
  preparation,
114
114
  bindingStore: options.bindingStore,
@@ -130,7 +130,7 @@ async function acquireCodexMcpAppRuntime(params, options) {
130
130
  };
131
131
  params.assertCurrent();
132
132
  assertBinding();
133
- const { createNativeMcpRuntime } = await import("./native-mcp-app-gkEJsgj2.mjs").then((n) => n.n);
133
+ const { createNativeMcpRuntime } = await import("./native-mcp-app-CFyl3R2g.mjs").then((n) => n.n);
134
134
  params.assertCurrent();
135
135
  const runtime = createNativeMcpRuntime({
136
136
  client: retained.client,
@@ -1,6 +1,6 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
- import { b as readCodexTurnCompletedNotification } from "./client-CPPD2q0Z.mjs";
3
- import { n as getCodexAppServerTurnRouter } from "./turn-router-CaEj5E0i.mjs";
2
+ import { b as readCodexTurnCompletedNotification } from "./client-Bxe8bl-K.mjs";
3
+ import { n as getCodexAppServerTurnRouter } from "./turn-router-B62dF4CM.mjs";
4
4
  import { o as isTerminalTurnStatus, s as readCodexNotificationItem, t as CodexUsageProjection } from "./event-projector-usage-CBY0Hkga.mjs";
5
5
  import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { toStringifiedError } from "openclaw/plugin-sdk/error-runtime";
@@ -1,5 +1,5 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
- import { n as defineCodexBuildState } from "./build-state-DswWyGqI.mjs";
2
+ import { n as defineCodexBuildState } from "./build-state-CpGXWSN4.mjs";
3
3
  import { n as readCodexInferenceMetadata } from "./inference-metadata-CYFWLHVk.mjs";
4
4
  import { randomUUID } from "node:crypto";
5
5
  //#region extensions/codex/src/app-server/inference-context.ts
@@ -1,6 +1,6 @@
1
1
  import { t as codexWebSocketDataToBuffer } from "./websocket-data-XlRvt8Ys.mjs";
2
2
  import { CODEX_INFERENCE_TRANSPORT_FAILURE, authorizationFailure, createCodexInferenceDispatch, isTerminalResponse, n as createUploadAdmission, readProxyBody, t as MAX_BODY_BYTES } from "./inference-dispatch-C2zVSnrr.mjs";
3
- import { t as createCodexInferenceContext } from "./inference-context-BPwyk-Op.mjs";
3
+ import { t as createCodexInferenceContext } from "./inference-context-DYpvCEF3.mjs";
4
4
  import { createDeferred, createPermitPool } from "openclaw/plugin-sdk/concurrency-runtime";
5
5
  import { Writable } from "node:stream";
6
6
  import { WebSocket, WebSocketServer, rejectWebSocketUpgrade } from "openclaw/plugin-sdk/websocket-runtime";
@@ -1,6 +1,6 @@
1
- import { n as INSTALLED_CODEX_PROBE_TIMEOUT_MS } from "./managed-binary-DbKvGXKl.mjs";
2
- import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-Bq160Dhv.mjs";
3
- import { n as buildCodexAppServerInitializeParams, o as readCodexVersionFromUserAgent } from "./client-initialize-CjgZcX61.mjs";
1
+ import { n as INSTALLED_CODEX_PROBE_TIMEOUT_MS } from "./managed-binary-BwzkwiGo.mjs";
2
+ import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-BVeWgcK6.mjs";
3
+ import { n as buildCodexAppServerInitializeParams, o as readCodexVersionFromUserAgent } from "./client-initialize-CPNmLwhL.mjs";
4
4
  import { runUtf8CommandWithTimeout, signalProcessTree } from "openclaw/plugin-sdk/process-runtime";
5
5
  import path from "node:path";
6
6
  import { access, mkdtemp, rm } from "node:fs/promises";
@@ -1,10 +1,10 @@
1
1
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
2
2
  import { i as resolveCodexAppServerHomeScope } from "./config-options-DMFZkd3X.mjs";
3
- import "./config-BfrAlTMT.mjs";
4
- import { et as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-B8v6e5D0.mjs";
5
- import { d as assertCodexPassiveTurnItems } from "./client-CPPD2q0Z.mjs";
6
- import { runBoundedCodexAppServerTurn } from "./bounded-turn-DJr0EXh7.mjs";
7
- import { t as resolveCodexBoundedTurnIsolation } from "./bounded-turn-isolation-D8CDrAVX.mjs";
3
+ import "./config-BZYTxljj.mjs";
4
+ import { tt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-BelwlhWf.mjs";
5
+ import { d as assertCodexPassiveTurnItems } from "./client-Bxe8bl-K.mjs";
6
+ import { runBoundedCodexAppServerTurn } from "./bounded-turn-DnxnHHZP.mjs";
7
+ import { t as resolveCodexBoundedTurnIsolation } from "./bounded-turn-isolation-Iz8EsqFg.mjs";
8
8
  import { a as createAttributedCodexAssistantMessage } from "./event-projector-assistant-message-ChOAY7rW.mjs";
9
9
  //#region extensions/codex/src/app-server/isolated-completion.ts
10
10
  /** Runs prompt-only Codex inference on an ephemeral, ring-zero native thread. */
@@ -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 { createRequire } from "node:module";
3
3
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-registration";
4
4
  import { resolveGlobalSingleton } from "openclaw/plugin-sdk/global-singleton";
@@ -223,7 +223,7 @@ async function decideInstalledCodexAppServer(probes) {
223
223
  if (handshakeTimeoutMs <= 0) return { reason: `installed ${found} selection timed out before the app-server handshake` };
224
224
  let handshakeVersion;
225
225
  try {
226
- handshakeVersion = await (probes.probeHandshake ?? (async (command) => (await import("./installed-probe-lVC1X5ve.mjs")).probeCodexAppServerHandshake(command, handshakeTimeoutMs)))(launcher.command);
226
+ handshakeVersion = await (probes.probeHandshake ?? (async (command) => (await import("./installed-probe-yc_w-vom.mjs")).probeCodexAppServerHandshake(command, handshakeTimeoutMs)))(launcher.command);
227
227
  } catch (error) {
228
228
  return { reason: `installed ${found} ${version} failed the app-server handshake: ${coerceErrorMessage(error)}` };
229
229
  }
@@ -1,17 +1,17 @@
1
- import { g as sessionBindingIdentity } from "./session-binding-record-C_THntMe.mjs";
1
+ import { g as sessionBindingIdentity } from "./session-binding-record-BpWF2Sus.mjs";
2
2
  import { d as readCodexRequirementsToml } from "./config-security-clxAZYWX.mjs";
3
3
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
4
4
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
5
- import { i as withCodexAppServerGitConfig } from "./transport-stdio-Bq160Dhv.mjs";
5
+ import { i as withCodexAppServerGitConfig } from "./transport-stdio-BVeWgcK6.mjs";
6
6
  import { n as buildCodexAppServerRuntimeFingerprint, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-DRb-niJc.mjs";
7
- import { i as resolveCodexBindingAppServerConnection } from "./binding-connection-GTgUj9pi.mjs";
8
- import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-BfrAlTMT.mjs";
7
+ import { i as resolveCodexBindingAppServerConnection } from "./binding-connection-hJD5mFkM.mjs";
8
+ import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-BZYTxljj.mjs";
9
9
  import { r as resolveCodexAppServerAuthProfileId } from "./auth-profile-auwzSwwy.mjs";
10
- import { O as ensureCodexAppServerClientRuntime, f as releaseLeasedSharedCodexAppServerClient, o as getLeasedSharedCodexAppServerClient } from "./shared-client-B8v6e5D0.mjs";
11
- import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-B0UI3f1D.mjs";
12
- import { i as resolveCodexSessionBinding } from "./session-binding-BgsWcbdY.mjs";
13
- import { a as rollbackCodexAppServerBindingSubscription, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DJ8PPxRc.mjs";
14
- import { a as prepareCodexPluginThreadConfigStartupProvider, o as resolveCodexPluginThreadConfigStartupPolicy, t as startOrResumeThread } from "./thread-lifecycle-run-DOC2IWpW.mjs";
10
+ import { O as ensureCodexAppServerClientRuntime, f as releaseLeasedSharedCodexAppServerClient, o as getLeasedSharedCodexAppServerClient } from "./shared-client-BelwlhWf.mjs";
11
+ import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-Ds92xu17.mjs";
12
+ import { i as resolveCodexSessionBinding } from "./session-binding-Dg0B6Zua.mjs";
13
+ import { a as rollbackCodexAppServerBindingSubscription, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DxW6b6fR.mjs";
14
+ import { a as prepareCodexPluginThreadConfigStartupProvider, o as resolveCodexPluginThreadConfigStartupPolicy, t as startOrResumeThread } from "./thread-lifecycle-run-aBfXzIGf.mjs";
15
15
  import { n as applyCodexSessionPermissionPolicy } from "./session-permission-policy-CD2MAWU8.mjs";
16
16
  import { z } from "zod";
17
17
  import { loadCodexBundleMcpThreadConfig } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -1,15 +1,15 @@
1
1
  import { t as buildCodexRuntimeModelParams } from "./model-runtime-BdqzOMkU.mjs";
2
2
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
3
3
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
4
- import { D as retireSharedCodexAppServerClientIfCurrent } from "./auth-cache-key-aolg0chE.mjs";
5
- import { a as withCodexAppServerJsonClient } from "./request-DbU7VQMs.mjs";
6
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
4
+ import { D as retireSharedCodexAppServerClientIfCurrent } from "./auth-cache-key-Do2ZQrNP.mjs";
5
+ import { a as withCodexAppServerJsonClient } from "./request-DTgD_jsY.mjs";
6
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
7
7
  import { a as resolveCodexAppServerAuthProfileStore, r as resolveCodexAppServerAuthProfileId } from "./auth-profile-auwzSwwy.mjs";
8
- import { n as captureSharedCodexAppServerCatalogLifetime } from "./shared-client-B8v6e5D0.mjs";
8
+ import { n as captureSharedCodexAppServerCatalogLifetime } from "./shared-client-BelwlhWf.mjs";
9
9
  import { i as isCodexResponsesOAuthCredential } from "./responses-oauth-CCV7aVYF.mjs";
10
- import { i as isCodexAppServerIndeterminateRequestCancellationError } from "./client-CPPD2q0Z.mjs";
11
- import { n as listAllCodexAppServerModels } from "./models-Bc4yyUrk.mjs";
12
- import { probeCodexNativeAuth } from "./native-auth-DpZIaY8N.mjs";
10
+ import { i as isCodexAppServerIndeterminateRequestCancellationError } from "./client-Bxe8bl-K.mjs";
11
+ import { n as listAllCodexAppServerModels } from "./models-HgvyBseb.mjs";
12
+ import { probeCodexNativeAuth } from "./native-auth-o_vw8KWa.mjs";
13
13
  //#region extensions/codex/src/app-server/model-catalog.ts
14
14
  const INPUT_TYPES = /* @__PURE__ */ new Set([
15
15
  "text",
@@ -1,4 +1,4 @@
1
- import { u as assertCodexModelListResponse } from "./client-CPPD2q0Z.mjs";
1
+ import { u as assertCodexModelListResponse } from "./client-Bxe8bl-K.mjs";
2
2
  import { normalizeOptionalString, normalizeUniqueTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  //#region extensions/codex/src/app-server/models.ts
4
4
  const DEFAULT_MODEL_DISCOVERY_TIMEOUT_MS = 1e4;
@@ -29,8 +29,8 @@ async function listAllCodexAppServerModels(options = {}) {
29
29
  async function withCodexAppServerModelRequest(options, run) {
30
30
  if (options.request) return await run(options.request);
31
31
  const timeoutMs = options.timeoutMs ?? 1e4;
32
- const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient } = await import("./shared-client-B8v6e5D0.mjs").then((n) => n.m);
33
- const { requestCodexAppServerClientJson } = await import("./request-DbU7VQMs.mjs").then((n) => n.i);
32
+ const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient } = await import("./shared-client-BelwlhWf.mjs").then((n) => n.m);
33
+ const { requestCodexAppServerClientJson } = await import("./request-DTgD_jsY.mjs").then((n) => n.i);
34
34
  const client = await getLeasedSharedCodexAppServerClient({
35
35
  startOptions: options.startOptions,
36
36
  timeoutMs,
@@ -0,0 +1,162 @@
1
+ import { c as readCodexNativeSubagentSubmissions, g as codexNativeSubagentHistoryConnectionFingerprint, l as codexNativeSubagentRunId, r as normalizeNativePendingAssignments } from "./native-subagent-pending-assignments-CX-LtYDX.mjs";
2
+ import { a as readStoredCodexAppServerBinding } from "./session-binding-record-codec-DvmOI7g_.mjs";
3
+ import { i as CODEX_APP_SERVER_BINDING_NAMESPACE } from "./session-binding-meta-Lkm5Lpf4.mjs";
4
+ import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
5
+ import { isDeepStrictEqual } from "node:util";
6
+ //#region extensions/codex/src/migration/native-assignment-repair.ts
7
+ async function normalizeRow(entry, params, warnings) {
8
+ const raw = asOptionalRecord(entry.value);
9
+ if (raw?.nativeSubagentAssignments === void 0) return;
10
+ const stored = readStoredCodexAppServerBinding(raw);
11
+ if (!stored) {
12
+ warnings.push(`Preserved Codex native assignments in ${entry.key}; the binding could not be decoded. Inspect it before retrying Doctor.`);
13
+ return;
14
+ }
15
+ if (stored.state !== "active") return;
16
+ let inventory;
17
+ try {
18
+ inventory = normalizeNativePendingAssignments(raw.nativeSubagentAssignments);
19
+ } catch {
20
+ warnings.push(`Preserved malformed Codex native assignments in ${entry.key}; inspect the binding before retrying Doctor.`);
21
+ return;
22
+ }
23
+ let assignments = inventory?.assignments ?? [];
24
+ const originalAssignments = assignments;
25
+ const identity = /^(session-key|session):([a-z0-9][a-z0-9_-]{0,63}):(.+)$/u.exec(entry.key);
26
+ const binding = asOptionalRecord(raw.binding);
27
+ const fingerprint = codexNativeSubagentHistoryConnectionFingerprint(stored.binding);
28
+ if (assignments.length > 0 && identity && stored.sessionId && binding && raw.retired === void 0 && (identity[1] === "session-key" ? /^[A-Za-z0-9_-]{43}$/u.test(identity[3]) : identity[3] === stored.sessionId) && binding.connectionScope === void 0 && binding.supervisionSourceThreadId === void 0 && binding.pendingSupervisionBranch === void 0 && (binding.authProfileId === void 0 || typeof binding.authProfileId === "string") && fingerprint && params.context.readSessionIdentityEvidenceBatch) try {
29
+ const agentId = identity[2];
30
+ const [evidence] = await params.context.readSessionIdentityEvidenceBatch([{
31
+ agentId,
32
+ sessionId: stored.sessionId
33
+ }]);
34
+ if (evidence?.state === "absent") assignments = [];
35
+ else if (evidence?.state === "current") {
36
+ const { getSessionEntryByIdAsync, resolveStorePath } = await import("openclaw/plugin-sdk/session-store-runtime");
37
+ const { bindingStoreKey } = await import("./session-binding-record-BpWF2Sus.mjs").then((n) => n._);
38
+ const current = await getSessionEntryByIdAsync({
39
+ agentId,
40
+ sessionId: stored.sessionId,
41
+ env: params.env,
42
+ storePath: resolveStorePath(params.config.session?.store, {
43
+ agentId,
44
+ env: params.env
45
+ }),
46
+ readConsistency: "latest"
47
+ });
48
+ if (!current || current.entry.sessionId !== stored.sessionId || current.sessionKey !== evidence.sessionKey) throw new Error("Requester ownership is unresolved");
49
+ const currentKey = bindingStoreKey({
50
+ kind: "session",
51
+ agentId,
52
+ sessionId: current.entry.sessionId,
53
+ ...identity[1] === "session-key" ? { sessionKey: current.sessionKey } : {}
54
+ });
55
+ let unknownLifecycle = false;
56
+ assignments = assignments.filter((assignment) => {
57
+ if (currentKey !== entry.key || assignment.owner.sessionId !== current.entry.sessionId || assignment.owner.connectionFingerprint !== fingerprint) return false;
58
+ if (!assignment.owner.lifecycleRevision || !current.entry.lifecycleRevision) {
59
+ unknownLifecycle = true;
60
+ return true;
61
+ }
62
+ return assignment.owner.lifecycleRevision === current.entry.lifecycleRevision;
63
+ });
64
+ if (unknownLifecycle) warnings.push(`Preserved Codex assignments with unknown lifecycle evidence in ${entry.key}.`);
65
+ } else warnings.push(`Preserved Codex assignments with unknown requester evidence in ${entry.key}.`);
66
+ } catch {
67
+ warnings.push(`Could not establish requester ownership for Codex native assignments in ${entry.key}; preserved them for a later Doctor repair.`);
68
+ }
69
+ else if (assignments.length > 0) warnings.push(`Preserved Codex native assignments in ${entry.key}; ownership inspection prerequisites are incomplete. Inspect the binding before retrying Doctor.`);
70
+ const next = assignments.length ? {
71
+ version: 1,
72
+ assignments
73
+ } : void 0;
74
+ if (isDeepStrictEqual(next, raw.nativeSubagentAssignments)) return;
75
+ const { nativeSubagentAssignments: _previous, ...value } = raw;
76
+ const retired = originalAssignments.filter((assignment) => !assignments.includes(assignment));
77
+ if (retired.length) try {
78
+ const submissions = readCodexNativeSubagentSubmissions(raw.nativeSubagentSubmissions);
79
+ if (submissions) {
80
+ const receipts = submissions.receipts.filter((receipt) => !retired.some((assignment) => isDeepStrictEqual(submissions.owner, assignment.owner) && submissions.owner.parentThreadId === assignment.nativeParentThreadId && receipt.childThreadId === assignment.childThreadId && (receipt.submissionId === assignment.nativeTurnId || codexNativeSubagentRunId(receipt.childThreadId, receipt.submissionId) === assignment.runId) && (!assignment.submission || isDeepStrictEqual(receipt, assignment.submission))));
81
+ if (receipts.length !== submissions.receipts.length) {
82
+ delete value.nativeSubagentSubmissions;
83
+ if (receipts.length) value.nativeSubagentSubmissions = {
84
+ ...submissions,
85
+ receipts
86
+ };
87
+ }
88
+ }
89
+ } catch {
90
+ warnings.push(`Preserved uncertain native submission receipts in ${entry.key}; inspect them before retrying Doctor.`);
91
+ }
92
+ return {
93
+ entry,
94
+ value: {
95
+ ...value,
96
+ ...next ? { nativeSubagentAssignments: next } : {}
97
+ }
98
+ };
99
+ }
100
+ async function* inspect(params) {
101
+ const read = params.context.readPluginStateEntriesInKeyRange;
102
+ if (!read) return;
103
+ let after;
104
+ while (true) {
105
+ const rows = read(CODEX_APP_SERVER_BINDING_NAMESPACE, {
106
+ prefix: "",
107
+ after,
108
+ limit: 512
109
+ });
110
+ const replacements = [];
111
+ const warnings = [];
112
+ for (const entry of rows) {
113
+ const replacement = await normalizeRow(entry, params, warnings);
114
+ if (replacement) replacements.push(replacement);
115
+ }
116
+ if (replacements.length || warnings.length) yield {
117
+ replacements,
118
+ warnings
119
+ };
120
+ if (rows.length < 512) return;
121
+ after = rows.at(-1)?.key;
122
+ }
123
+ }
124
+ const codexNativeAssignmentRepair = {
125
+ id: "codex-native-assignment-repair",
126
+ label: "Codex native pending assignment repair",
127
+ doctorOnly: true,
128
+ phase: "after-session-repair",
129
+ collectBackupResources: () => [],
130
+ async detectLegacyState(params) {
131
+ for await (const _ of inspect(params)) return { preview: ["- Repair duplicate or obsolete Codex native pending assignments"] };
132
+ return null;
133
+ },
134
+ async migrateLegacyState(params) {
135
+ const changes = [];
136
+ const warnings = [];
137
+ const repair = params.context.repairPluginStateEntries;
138
+ if (!repair) return {
139
+ changes,
140
+ warnings: ["Codex native assignment repair requires locked SQLite maintenance ownership"],
141
+ warningDisposition: "recoverable"
142
+ };
143
+ for await (const inspected of inspect(params)) {
144
+ warnings.push(...inspected.warnings);
145
+ if (!inspected.replacements.length) continue;
146
+ try {
147
+ const result = await repair(CODEX_APP_SERVER_BINDING_NAMESPACE, inspected.replacements);
148
+ changes.push(...result.changes, `Repaired native pending assignments in ${inspected.replacements.length} Codex binding(s)`);
149
+ warnings.push(...result.warnings);
150
+ } catch {
151
+ warnings.push("Codex native assignment bindings could not be repaired; preserved them for a later openclaw doctor --fix pass.");
152
+ }
153
+ }
154
+ return {
155
+ changes,
156
+ warnings,
157
+ ...warnings.length ? { warningDisposition: "recoverable" } : {}
158
+ };
159
+ }
160
+ };
161
+ //#endregion
162
+ export { codexNativeAssignmentRepair };
@@ -1,8 +1,8 @@
1
1
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
2
2
  import { n as isCodexAppServerProxyLaunch, t as buildCodexLoginStatusArgs } from "./launch-args-DbFCehO7.mjs";
3
- import { u as resolveManagedCodexAppServerStartOptions } from "./managed-binary-DbKvGXKl.mjs";
4
- import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-Bq160Dhv.mjs";
5
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
3
+ import { u as resolveManagedCodexAppServerStartOptions } from "./managed-binary-BwzkwiGo.mjs";
4
+ import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-BVeWgcK6.mjs";
5
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
6
6
  import { materializeWindowsSpawnProgram, resolveWindowsSpawnProgram } from "openclaw/plugin-sdk/windows-spawn";
7
7
  import { runUtf8CommandWithTimeout } from "openclaw/plugin-sdk/process-runtime";
8
8
  //#region extensions/codex/src/app-server/native-auth.ts
@@ -1,9 +1,9 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
2
  import { l as fingerprintCodexPolicy } from "./config-security-clxAZYWX.mjs";
3
- import { b as nativeHookRelayUnregisterQueue } from "./shared-client-B8v6e5D0.mjs";
4
- import { O as resolveCodexToolAbortTerminalReason } from "./client-CPPD2q0Z.mjs";
5
- import { R as normalizeCodexDynamicToolName } from "./thread-requests-BjawdIVV.mjs";
6
- import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-D1pYkirc.mjs";
3
+ import { b as nativeHookRelayUnregisterQueue } from "./shared-client-BelwlhWf.mjs";
4
+ import { O as resolveCodexToolAbortTerminalReason } from "./client-Bxe8bl-K.mjs";
5
+ import { R as normalizeCodexDynamicToolName } from "./thread-requests-6Dy8hyXF.mjs";
6
+ import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-LJd5_D5F.mjs";
7
7
  import { createHash } from "node:crypto";
8
8
  import { addTimerTimeoutGraceMs, finiteSecondsToTimerSafeMilliseconds } from "openclaw/plugin-sdk/number-runtime";
9
9
  import { escapeRegExp } from "openclaw/plugin-sdk/text-utility-runtime";
@@ -1,9 +1,9 @@
1
- import { I as protectCodexAppServerLiveThread, p as retainSharedCodexAppServerClientIfCurrent, t as captureCodexAppServerClientLifetime } from "./shared-client-B8v6e5D0.mjs";
2
- import { M as getCodexAppServerClientInstanceId } from "./client-CPPD2q0Z.mjs";
3
- import { n as getCodexAppServerTurnRouter } from "./turn-router-CaEj5E0i.mjs";
4
- import { a as requestPluginApprovalOutcome } from "./plugin-approval-roundtrip-BkiVPLuc.mjs";
1
+ import { I as protectCodexAppServerLiveThread, p as retainSharedCodexAppServerClientIfCurrent, t as captureCodexAppServerClientLifetime } from "./shared-client-BelwlhWf.mjs";
2
+ import { M as getCodexAppServerClientInstanceId } from "./client-Bxe8bl-K.mjs";
3
+ import { n as getCodexAppServerTurnRouter } from "./turn-router-B62dF4CM.mjs";
4
+ import { a as requestPluginApprovalOutcome } from "./plugin-approval-roundtrip-DEbTgtVQ.mjs";
5
5
  import { i as readCodexMcpToolUiVisibility, n as projectCodexMcpToolMetadata, r as readCodexMcpToolConnectorId, t as projectCodexMcpServerMetadata } from "./mcp-tool-metadata-DW41snf3.mjs";
6
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
6
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
7
7
  import { asOptionalRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { z } from "zod";
9
9
  import { loadAgentHarnessMcpConfig, prepareHarnessNativeMcpAppPreview } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -1,9 +1,9 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.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 { R as readCodexClientSessionMeta } from "./shared-client-B8v6e5D0.mjs";
5
- import { f as unsubscribeCodexThreadBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS } from "./attempt-client-cleanup-BLp6z_DD.mjs";
6
- import { b as codexDynamicToolsFingerprint, p as attestCodexRestrictedToolSurfaceMcpServersDisabled } from "./thread-requests-BjawdIVV.mjs";
4
+ import { R as readCodexClientSessionMeta } from "./shared-client-BelwlhWf.mjs";
5
+ import { f as unsubscribeCodexThreadBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
6
+ import { b as codexDynamicToolsFingerprint, p as attestCodexRestrictedToolSurfaceMcpServersDisabled } from "./thread-requests-6Dy8hyXF.mjs";
7
7
  import path from "node:path";
8
8
  import os from "node:os";
9
9
  import fs from "node:fs/promises";