@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,8 +1,8 @@
1
- import { T as requireBoundThread, d as boundedCatalogString, o as CatalogParamsError } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import { g as sessionBindingIdentity } from "./session-binding-record-C_THntMe.mjs";
1
+ import { T as requireBoundThread, d as boundedCatalogString, o as CatalogParamsError } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import { g as sessionBindingIdentity } from "./session-binding-record-BpWF2Sus.mjs";
3
3
  import { n as codexUpstreamBaseline, t as codexLastTerminalTurnId } from "./session-upstream-marker-D15C9NHp.mjs";
4
- import { r as reclaimCurrentCodexSessionGeneration } from "./session-binding-BgsWcbdY.mjs";
5
- import { adoptionSessionKeyRest, catalogSessionActions } from "./session-catalog-node-adoption-e9v8mGgx.mjs";
4
+ import { r as reclaimCurrentCodexSessionGeneration } from "./session-binding-Dg0B6Zua.mjs";
5
+ import { adoptionSessionKeyRest, catalogSessionActions } from "./session-catalog-node-adoption-C_41f1dK.mjs";
6
6
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import { listSessionCatalogEntries, sessionCatalogAdoptedSessionKey, sessionCatalogAdoptedSourceKey } from "openclaw/plugin-sdk/session-catalog";
8
8
  //#region extensions/codex/src/session-catalog-adoption.ts
@@ -150,7 +150,7 @@ async function createOrReuseAdoptedSession(params) {
150
150
  sourceThreadId: params.sourceThread.id,
151
151
  ...params.sourceHomeId ? { sourceHomeId: params.sourceHomeId } : {}
152
152
  };
153
- const { createImportedCodexSession } = await import("./session-history-import-BwPKwcNi.mjs");
153
+ const { createImportedCodexSession } = await import("./session-history-import-BZHN6RtG.mjs");
154
154
  const created = await createImportedCodexSession({
155
155
  runtime: params.api.runtime,
156
156
  bindingStore: params.bindingStore,
@@ -1,9 +1,9 @@
1
- import { o as CatalogParamsError } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import { g as sessionBindingIdentity } from "./session-binding-record-C_THntMe.mjs";
1
+ import { o as CatalogParamsError } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import { g as sessionBindingIdentity } from "./session-binding-record-BpWF2Sus.mjs";
3
3
  import { t as assertCodexArchiveDescendantsUnowned } from "./thread-archive-guard-BWjSsA92.mjs";
4
- import "./session-binding-BgsWcbdY.mjs";
5
- import { catalogSessionActions } from "./session-catalog-node-adoption-e9v8mGgx.mjs";
6
- import { isAdoptionSessionKeyForThread, requireIdleThread } from "./session-catalog-adoption-ppsLlVLB.mjs";
4
+ import "./session-binding-Dg0B6Zua.mjs";
5
+ import { catalogSessionActions } from "./session-catalog-node-adoption-C_41f1dK.mjs";
6
+ import { isAdoptionSessionKeyForThread, requireIdleThread } from "./session-catalog-adoption-D6pqS43M.mjs";
7
7
  import { listAgentIds } from "openclaw/plugin-sdk/agent-scope-runtime";
8
8
  import { sessionCatalogAdoptedSourceKey } from "openclaw/plugin-sdk/session-catalog";
9
9
  //#region extensions/codex/src/session-catalog-archive.ts
@@ -1,11 +1,11 @@
1
- import { c as MAX_CWD_LENGTH, d as boundedCatalogString } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import { n as defineCodexBuildState } from "./build-state-DswWyGqI.mjs";
1
+ import { c as MAX_CWD_LENGTH, d as boundedCatalogString } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import { n as defineCodexBuildState } from "./build-state-CpGXWSN4.mjs";
3
3
  import { r as inferCodexAppServerConnectionClass } from "./config-security-clxAZYWX.mjs";
4
4
  import { n as resolveCodexAppServerLocalHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
5
5
  import { n as codexCatalogHomeIdFromCanonicalPath } from "./session-catalog-home-id-vlih0B_g.mjs";
6
6
  import { t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-DRb-niJc.mjs";
7
- import { a as observeCodexCatalogEphemeralThreads, n as codexCatalogSourceForClient } from "./session-catalog-source-DghHV4qB.mjs";
8
- import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-CwOyRRXK.mjs";
7
+ import { a as observeCodexCatalogEphemeralThreads, n as codexCatalogSourceForClient } from "./session-catalog-source-BW46oF7X.mjs";
8
+ import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-HAmuA2-G.mjs";
9
9
  import { createHash } from "node:crypto";
10
10
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-registration";
11
11
  import path from "node:path";
@@ -1,12 +1,12 @@
1
- import { S as readControlCursor, _ as normalizeLimit, c as MAX_CWD_LENGTH, d as boundedCatalogString, h as filterCatalogPageByTitle, m as codexCatalogThreadStatus, o as CatalogParamsError, p as codexCatalogThreadName } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import { n as detachCodexCatalogString, t as CODEX_CATALOG_MAX_ROWS } from "./session-catalog-limits-Dc6E0BZz.mjs";
3
- import { i as retainCodexCatalogRow, n as codexCatalogRowRecency, r as compareCodexCatalogRows, t as CodexCatalogOrdering } from "./session-catalog-index-order-0Zqng2u8.mjs";
4
- import { c as CodexCatalogPersistence, i as CodexCatalogAvailability, l as codexCatalogMetadataPage, r as withCodexCatalogListRequest } from "./session-catalog-list-request-CAjoWjaH.mjs";
5
- import { i as getCodexCatalogSource, s as setCodexCatalogSource } from "./session-catalog-source-DghHV4qB.mjs";
6
- import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-CwOyRRXK.mjs";
7
- import { i as subscribeCodexCatalogEvents } from "./session-catalog-events-CicBG92S.mjs";
1
+ import { S as readControlCursor, _ as normalizeLimit, c as MAX_CWD_LENGTH, d as boundedCatalogString, h as filterCatalogPageByTitle, m as codexCatalogThreadStatus, o as CatalogParamsError, p as codexCatalogThreadName } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import { n as detachCodexCatalogString, t as CODEX_CATALOG_MAX_ROWS } from "./session-catalog-limits-CGjAZOTM.mjs";
3
+ import { i as retainCodexCatalogRow, n as codexCatalogRowRecency, r as compareCodexCatalogRows, t as CodexCatalogOrdering } from "./session-catalog-index-order-DyCNai_t.mjs";
4
+ import { c as CodexCatalogPersistence, i as CodexCatalogAvailability, l as codexCatalogMetadataPage, r as withCodexCatalogListRequest } from "./session-catalog-list-request-DGn9LMJY.mjs";
5
+ import { i as getCodexCatalogSource, s as setCodexCatalogSource } from "./session-catalog-source-BW46oF7X.mjs";
6
+ import { r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-HAmuA2-G.mjs";
7
+ import { i as subscribeCodexCatalogEvents } from "./session-catalog-events-BmhPYZGw.mjs";
8
8
  import { a as reportCodexCatalogSpawnFailure, n as findCodexAppServerSpawnError } from "./spawn-error-CL3n6MAa.mjs";
9
- import { CodexCatalogProjectionCapacityError, CodexCatalogProjections, mergeCodexCatalogRolloutRow, n as readCodexCatalogRollout, projectCodexCatalogPage, r as resolveCodexCatalogRolloutFingerprint, t as codexCatalogRolloutLogicalPath } from "./session-catalog-projection-By1iGA1y.mjs";
9
+ import { CodexCatalogProjectionCapacityError, CodexCatalogProjections, mergeCodexCatalogRolloutRow, n as readCodexCatalogRollout, projectCodexCatalogPage, r as resolveCodexCatalogRolloutFingerprint, t as codexCatalogRolloutLogicalPath } from "./session-catalog-projection-C_w9yRCz.mjs";
10
10
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { createHash } from "node:crypto";
12
12
  import { isDeepStrictEqual } from "node:util";
@@ -1,4 +1,4 @@
1
- import { t as CODEX_CATALOG_MAX_ROWS } from "./session-catalog-limits-Dc6E0BZz.mjs";
1
+ import { t as CODEX_CATALOG_MAX_ROWS } from "./session-catalog-limits-CGjAZOTM.mjs";
2
2
  //#region extensions/codex/src/session-catalog-index-order.ts
3
3
  function codexCatalogRowRecency(row) {
4
4
  return row.recencyAt ?? row.updatedAt ?? 0;
@@ -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
  //#region extensions/codex/src/session-catalog-limits.ts
3
3
  var session_catalog_limits_exports = /* @__PURE__ */ __exportAll({
4
4
  CODEX_CATALOG_MAX_ROWS: () => CODEX_CATALOG_MAX_ROWS,
@@ -1,6 +1,6 @@
1
- import { o as CatalogParamsError, v as parseCatalogPage } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import { n as detachCodexCatalogString } from "./session-catalog-limits-Dc6E0BZz.mjs";
3
- import { i as retainCodexCatalogRow, r as compareCodexCatalogRows } from "./session-catalog-index-order-0Zqng2u8.mjs";
1
+ import { o as CatalogParamsError, v as parseCatalogPage } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import { n as detachCodexCatalogString } from "./session-catalog-limits-CGjAZOTM.mjs";
3
+ import { i as retainCodexCatalogRow, r as compareCodexCatalogRows } from "./session-catalog-index-order-DyCNai_t.mjs";
4
4
  import { i as withTimeout } from "./timeout-D0mEWSGG.mjs";
5
5
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { createHash } from "node:crypto";
@@ -1,8 +1,8 @@
1
- import { D as selectCodexCatalogPreviewInput, c as MAX_CWD_LENGTH, d as boundedCatalogString, k as truncateCodexCatalogPreview } from "./session-catalog-parsing-V6jyFg9g.mjs";
1
+ import { D as selectCodexCatalogPreviewInput, c as MAX_CWD_LENGTH, d as boundedCatalogString, k as truncateCodexCatalogPreview } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
2
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
3
- import { n as detachCodexCatalogString } from "./session-catalog-limits-Dc6E0BZz.mjs";
4
- import { r as copyCodexCatalogSource } from "./session-catalog-source-DghHV4qB.mjs";
5
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
3
+ import { n as detachCodexCatalogString } from "./session-catalog-limits-CGjAZOTM.mjs";
4
+ import { r as copyCodexCatalogSource } from "./session-catalog-source-BW46oF7X.mjs";
5
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
6
6
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
7
7
  //#region extensions/codex/src/session-catalog-native-projection.ts
8
8
  var session_catalog_native_projection_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { o as CatalogParamsError } from "./session-catalog-parsing-V6jyFg9g.mjs";
1
+ import { o as CatalogParamsError } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
2
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
4
4
  import { parseAgentSessionKey } from "openclaw/plugin-sdk/routing";
@@ -156,7 +156,7 @@ async function createOrReuseNodeAdoptedSession(params) {
156
156
  },
157
157
  afterCreate: async (entry) => {
158
158
  const storePath = resolveStorePath(params.config.session?.store, { agentId: entry.agentId });
159
- const { importCodexThreadHistoryToTranscript } = await import("./transcript-mirror-CEQJZlF3.mjs").then((n) => n.a);
159
+ const { importCodexThreadHistoryToTranscript } = await import("./transcript-mirror-5w4Hx1kt.mjs").then((n) => n.a);
160
160
  await importCodexThreadHistoryToTranscript({
161
161
  thread: params.history.thread,
162
162
  throughTurnId: params.history.throughTurnId,
@@ -1,10 +1,10 @@
1
- import { A as unwrapNodeInvokePayload, b as parseTranscriptPage, d as boundedCatalogString, f as catalogError, g as isInteractiveThreadSource, h as filterCatalogPageByTitle, n as CODEX_APP_SERVER_THREADS_LIST_COMMAND, o as CatalogParamsError, r as CODEX_APP_SERVER_THREAD_TURNS_LIST_COMMAND, u as NODE_INVOKE_TIMEOUT_MS, v as parseCatalogPage } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import { n as createCodexCliNodeConversationBindingData } from "./conversation-binding-data-khgW0n-o.mjs";
3
- import { r as CODEX_CLI_SESSION_SOURCE_UPGRADE_MESSAGE, t as CODEX_CLI_SESSION_RESUME_COMMAND } from "./node-cli-sessions-BuJnBnEq.mjs";
1
+ import { A as unwrapNodeInvokePayload, b as parseTranscriptPage, d as boundedCatalogString, f as catalogError, g as isInteractiveThreadSource, h as filterCatalogPageByTitle, n as CODEX_APP_SERVER_THREADS_LIST_COMMAND, o as CatalogParamsError, r as CODEX_APP_SERVER_THREAD_TURNS_LIST_COMMAND, u as NODE_INVOKE_TIMEOUT_MS, v as parseCatalogPage } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import { n as createCodexCliNodeConversationBindingData } from "./conversation-binding-data-CAKQCqTL.mjs";
3
+ import { r as CODEX_CLI_SESSION_SOURCE_UPGRADE_MESSAGE, t as CODEX_CLI_SESSION_RESUME_COMMAND } from "./node-cli-sessions-C59CAyDh.mjs";
4
4
  import { i as withTimeout } from "./timeout-D0mEWSGG.mjs";
5
- import { t as lookupNodeCodexCatalogRecord } from "./session-catalog-node-lookup-BrZfDkA8.mjs";
5
+ import { t as lookupNodeCodexCatalogRecord } from "./session-catalog-node-lookup-BfHfknjz.mjs";
6
6
  import { t as codexLastTerminalTurnId } from "./session-upstream-marker-D15C9NHp.mjs";
7
- import { catalogSessionActions, createOrReuseNodeAdoptedSession, finalizeNodeAdoptedSession, findNodeAdoptedSessionEntry, nodeAdoptedSourceKey, nodeSessionMarker } from "./session-catalog-node-adoption-e9v8mGgx.mjs";
7
+ import { catalogSessionActions, createOrReuseNodeAdoptedSession, finalizeNodeAdoptedSession, findNodeAdoptedSessionEntry, nodeAdoptedSourceKey, nodeSessionMarker } from "./session-catalog-node-adoption-C_41f1dK.mjs";
8
8
  import { resolveSessionAgentIdsStrict } from "openclaw/plugin-sdk/agent-scope-runtime";
9
9
  import { createSessionCatalogAdoptionCoordinator, publishSessionCatalogHost, sessionCatalogAdoptedSourceKey } from "openclaw/plugin-sdk/session-catalog";
10
10
  //#region extensions/codex/src/session-catalog-node-continue.ts
@@ -1,5 +1,5 @@
1
- import { A as unwrapNodeInvokePayload, n as CODEX_APP_SERVER_THREADS_LIST_COMMAND, o as CatalogParamsError, u as NODE_INVOKE_TIMEOUT_MS, v as parseCatalogPage } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import "./session-catalog-limits-Dc6E0BZz.mjs";
1
+ import { A as unwrapNodeInvokePayload, n as CODEX_APP_SERVER_THREADS_LIST_COMMAND, o as CatalogParamsError, u as NODE_INVOKE_TIMEOUT_MS, v as parseCatalogPage } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import "./session-catalog-limits-CGjAZOTM.mjs";
3
3
  import { i as withTimeout } from "./timeout-D0mEWSGG.mjs";
4
4
  //#region extensions/codex/src/session-catalog-node-lookup.ts
5
5
  async function lookupNodeCodexCatalogRecord(params) {
@@ -1,5 +1,5 @@
1
1
  import "./protocol-CaPAVwe9.mjs";
2
- import { n as detachCodexCatalogString } from "./session-catalog-limits-Dc6E0BZz.mjs";
2
+ import { n as detachCodexCatalogString } from "./session-catalog-limits-CGjAZOTM.mjs";
3
3
  import { asFiniteNumber, isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
5
5
  //#region extensions/codex/src/app-server/protocol-session-source.ts
@@ -1,8 +1,8 @@
1
- import { D as selectCodexCatalogPreviewInput, O as toCatalogSession, S as readControlCursor, d as boundedCatalogString, k as truncateCodexCatalogPreview } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
- import { n as detachCodexCatalogString } from "./session-catalog-limits-Dc6E0BZz.mjs";
3
- import { n as codexCatalogRowRecency } from "./session-catalog-index-order-0Zqng2u8.mjs";
1
+ import { D as selectCodexCatalogPreviewInput, O as toCatalogSession, S as readControlCursor, d as boundedCatalogString, k as truncateCodexCatalogPreview } from "./session-catalog-parsing-ktmfo9oa.mjs";
2
+ import { n as detachCodexCatalogString } from "./session-catalog-limits-CGjAZOTM.mjs";
3
+ import { n as codexCatalogRowRecency } from "./session-catalog-index-order-DyCNai_t.mjs";
4
4
  import { t as isOpenClawManagedCodexThread } from "./session-catalog-provenance-Dg9s12z-.mjs";
5
- import { i as getCodexCatalogSource, r as copyCodexCatalogSource, s as setCodexCatalogSource } from "./session-catalog-source-DghHV4qB.mjs";
5
+ import { i as getCodexCatalogSource, r as copyCodexCatalogSource, s as setCodexCatalogSource } from "./session-catalog-source-BW46oF7X.mjs";
6
6
  import { asFiniteNumber, isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { n as defineCodexBuildState } from "./build-state-DswWyGqI.mjs";
1
+ import { n as defineCodexBuildState } from "./build-state-CpGXWSN4.mjs";
2
2
  //#region extensions/codex/src/session-catalog-source.ts
3
3
  const getSources = defineCodexBuildState("openclaw.codexCatalogSources", () => ({
4
4
  clients: /* @__PURE__ */ new WeakMap(),
@@ -1,4 +1,4 @@
1
- import "./session-catalog-parsing-V6jyFg9g.mjs";
1
+ import "./session-catalog-parsing-ktmfo9oa.mjs";
2
2
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
4
4
  import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
@@ -1,7 +1,7 @@
1
- import { g as sessionBindingIdentity } from "./session-binding-record-C_THntMe.mjs";
2
- import "./session-binding-BgsWcbdY.mjs";
3
- import { r as importCodexThreadHistoryToTranscript } from "./transcript-mirror-CEQJZlF3.mjs";
4
- import { n as prepareCodexSessionInitialization } from "./session-initialization-Dn3vveGv.mjs";
1
+ import { g as sessionBindingIdentity } from "./session-binding-record-BpWF2Sus.mjs";
2
+ import "./session-binding-Dg0B6Zua.mjs";
3
+ import { r as importCodexThreadHistoryToTranscript } from "./transcript-mirror-5w4Hx1kt.mjs";
4
+ import { n as prepareCodexSessionInitialization } from "./session-initialization-Bztyf-sf.mjs";
5
5
  import { resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
6
6
  //#region extensions/codex/src/app-server/session-history-import.ts
7
7
  /** Creates a session whose transcript is derived from one verified Codex thread snapshot. */
@@ -1,5 +1,5 @@
1
1
  import { s as validateBindingForWrite } from "./session-binding-record-codec-DvmOI7g_.mjs";
2
- import "./session-binding-BgsWcbdY.mjs";
2
+ import "./session-binding-Dg0B6Zua.mjs";
3
3
  import { createNativeSessionInitializationOwner } from "openclaw/plugin-sdk/agent-harness-session-runtime";
4
4
  //#region extensions/codex/src/app-server/session-initialization.ts
5
5
  const { prepare: prepareCodexSessionInitialization, getRollback: getCodexSessionInitializationRollback } = createNativeSessionInitializationOwner({
@@ -1,10 +1,10 @@
1
- import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-aolg0chE.mjs";
1
+ import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-Do2ZQrNP.mjs";
2
2
  import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-CeyYScUC.mjs";
3
- import { A as hasCodexAppServerLiveThread, B as releaseCodexAppServerLiveThread, N as isCodexAppServerLiveThreadClaimed } from "./shared-client-B8v6e5D0.mjs";
4
- import { f as unsubscribeCodexThreadBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-BLp6z_DD.mjs";
5
- import { t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DJ8PPxRc.mjs";
6
- import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-D1pYkirc.mjs";
7
- import { t as getCodexSessionInitializationRollback } from "./session-initialization-Dn3vveGv.mjs";
3
+ import { A as hasCodexAppServerLiveThread, B as releaseCodexAppServerLiveThread, N as isCodexAppServerLiveThreadClaimed } from "./shared-client-BelwlhWf.mjs";
4
+ import { f as unsubscribeCodexThreadBestEffort, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
5
+ import { t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DxW6b6fR.mjs";
6
+ import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-LJd5_D5F.mjs";
7
+ import { t as getCodexSessionInitializationRollback } from "./session-initialization-Bztyf-sf.mjs";
8
8
  import { isIncognitoSessionKey } from "openclaw/plugin-sdk/session-key-runtime";
9
9
  import { isNativeSessionDeletionUnresolved, wrapNativeSessionDeletionMutation } from "openclaw/plugin-sdk/agent-harness-session-runtime";
10
10
  //#region extensions/codex/src/app-server/session-retirement.ts
@@ -1,12 +1,12 @@
1
1
  import { i as readMirrorIdentity, n as attachCodexMirrorIdentity } from "./upstream-prompt-provenance-Ccd9MFRJ.mjs";
2
2
  import { l as readCodexMirrorSourceFingerprint, o as fingerprintCodexMirrorSourceMessage } from "./transcript-mirror-attestation-BzUXnrvv.mjs";
3
- import { et as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-B8v6e5D0.mjs";
4
- import { d as assertCodexPassiveTurnItems } from "./client-CPPD2q0Z.mjs";
5
- import { runBoundedCodexAppServerTurn } from "./bounded-turn-DJr0EXh7.mjs";
3
+ import { tt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-BelwlhWf.mjs";
4
+ import { d as assertCodexPassiveTurnItems } from "./client-Bxe8bl-K.mjs";
5
+ import { runBoundedCodexAppServerTurn } from "./bounded-turn-DnxnHHZP.mjs";
6
6
  import { t as resolveCodexLocalRuntimeAttribution } from "./local-runtime-attribution-CZz2DJ4q.mjs";
7
- import { t as resolveCodexBoundedTurnIsolation } from "./bounded-turn-isolation-D8CDrAVX.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
- import { t as codexTranscriptMirrorRuntime } from "./transcript-mirror-CEQJZlF3.mjs";
9
+ import { t as codexTranscriptMirrorRuntime } from "./transcript-mirror-5w4Hx1kt.mjs";
10
10
  import { t as CodexSettledTurnContext } from "./settled-turn-context-BPL6D3RO.mjs";
11
11
  import { createNativeSessionBindingScope } from "openclaw/plugin-sdk/agent-harness-session-runtime";
12
12
  import { isSilentReplyText } from "openclaw/plugin-sdk/reply-runtime";
@@ -1,24 +1,24 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
- import { n as defineCodexBuildState, t as codexBuildSymbol } from "./build-state-DswWyGqI.mjs";
2
+ import { n as defineCodexBuildState, t as codexBuildSymbol } from "./build-state-CpGXWSN4.mjs";
3
3
  import { t as CODEX_APP_SERVER_AUTH_PROVIDER } from "./auth-profile-selection-Bp5PDk3W.mjs";
4
4
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
5
5
  import { a as withEphemeralCodexAuthStore, i as withClearedEnvironmentVariables, n as resolveCodexAppServerLocalHomeDir, t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
6
6
  import { a as resolveCodexAppServerStartOptionsForAgent, d as readCodexEffectiveConfig, o as resolveCodexComputerUseConfig, t as codexAppServerStartOptionsKey, u as CODEX_SESSION_OVERRIDABLE_LAYER_TYPES } from "./config-options-DMFZkd3X.mjs";
7
- import { a as isManagedCodexDesktopCommand, b as resolveMacOSDesktopCodexBundledMarketplaceCandidates, c as readInstalledCodexAppServerStatus, f as resolveManagedCodexNativeCommand, i as assertInstalledCodexAppServerVersion, l as rejectInstalledCodexAppServer, r as INSTALLED_CODEX_START_TIMEOUT_MS, u as resolveManagedCodexAppServerStartOptions, v as resolveFirstExistingMacOSDesktopCodexBundledMarketplacePath, x as resolveMacOSDesktopCodexComputerUseServiceAppCandidates, y as resolveMacOSDesktopCodexAppPathCandidates } from "./managed-binary-DbKvGXKl.mjs";
8
- import { A as waitForUnclaimedSharedClientStartup, C as releaseSharedClientEntry, D as retireSharedCodexAppServerClientIfCurrent, E as retirePendingSharedClientEntryIfUnclaimed, M as waitForCodexDesktopGeneration, N as readCodexDesktopArtifactTreeFingerprint, S as rekeySharedClientEntry, _ as observeAcquire, a as readCodexCliAuthFileApiKey, b as recordSharedClientAcquireBoundary, c as resolveCodexAppServerPreparedApiKeyCacheKey, d as createCodexAppServerStartupLifetime, f as getCurrentSharedClientEntry, g as isSharedCodexFallbackJoinError, i as fingerprintTokenAuthProfileCacheKey, l as SharedCodexFallbackJoinError, m as getSharedCodexAppServerClientState, n as CODEX_AUTH_JSON_FILENAME, o as readFirstNonEmptyEnv, p as getOrCreateSharedClientEntry, r as fingerprintApiKeyAuthProfileCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey, t as CODEX_APP_SERVER_API_KEY_ENV_VARS, u as closeSharedClientEntryIfUnclaimed, v as observeSharedClientAcquire, w as retainSharedClientEntry, x as refreshSharedClientIdleRetirement, y as ownCodexStartup } from "./auth-cache-key-aolg0chE.mjs";
9
- import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-Bq160Dhv.mjs";
7
+ import { a as isManagedCodexDesktopCommand, b as resolveMacOSDesktopCodexBundledMarketplaceCandidates, c as readInstalledCodexAppServerStatus, f as resolveManagedCodexNativeCommand, i as assertInstalledCodexAppServerVersion, l as rejectInstalledCodexAppServer, r as INSTALLED_CODEX_START_TIMEOUT_MS, u as resolveManagedCodexAppServerStartOptions, v as resolveFirstExistingMacOSDesktopCodexBundledMarketplacePath, x as resolveMacOSDesktopCodexComputerUseServiceAppCandidates, y as resolveMacOSDesktopCodexAppPathCandidates } from "./managed-binary-BwzkwiGo.mjs";
8
+ import { A as waitForUnclaimedSharedClientStartup, C as releaseSharedClientEntry, D as retireSharedCodexAppServerClientIfCurrent, E as retirePendingSharedClientEntryIfUnclaimed, M as waitForCodexDesktopGeneration, N as readCodexDesktopArtifactTreeFingerprint, S as rekeySharedClientEntry, _ as observeAcquire, a as readCodexCliAuthFileApiKey, b as recordSharedClientAcquireBoundary, c as resolveCodexAppServerPreparedApiKeyCacheKey, d as createCodexAppServerStartupLifetime, f as getCurrentSharedClientEntry, g as isSharedCodexFallbackJoinError, i as fingerprintTokenAuthProfileCacheKey, l as SharedCodexFallbackJoinError, m as getSharedCodexAppServerClientState, n as CODEX_AUTH_JSON_FILENAME, o as readFirstNonEmptyEnv, p as getOrCreateSharedClientEntry, r as fingerprintApiKeyAuthProfileCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey, t as CODEX_APP_SERVER_API_KEY_ENV_VARS, u as closeSharedClientEntryIfUnclaimed, v as observeSharedClientAcquire, w as retainSharedClientEntry, x as refreshSharedClientIdleRetirement, y as ownCodexStartup } from "./auth-cache-key-Do2ZQrNP.mjs";
9
+ import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-BVeWgcK6.mjs";
10
10
  import { n as CodexAppServerAuthProfileUnavailableError, r as formatCodexAuthProfileUnavailableMessage } from "./auth-profile-recovery-BREezV0L.mjs";
11
11
  import { a as codexPrewriteRejectionCause } from "./rpc-error-DemqqaxE.mjs";
12
12
  import { i as withTimeout } from "./timeout-D0mEWSGG.mjs";
13
13
  import { n as readCodexSessionMeta } from "./session-catalog-provenance-Dg9s12z-.mjs";
14
- import { n as observeCodexCatalogClient } from "./session-catalog-events-CicBG92S.mjs";
15
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
14
+ import { n as observeCodexCatalogClient } from "./session-catalog-events-BmhPYZGw.mjs";
15
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-CqCrHEAU.mjs";
16
16
  import { a as resolveCodexAppServerAuthProfileStore, i as resolveCodexAppServerAuthProfileIdForAgent, r as resolveCodexAppServerAuthProfileId, t as isCodexAppServerNativeAuthProfile } from "./auth-profile-auwzSwwy.mjs";
17
17
  import { i as isCodexResponsesOAuthCredential, n as createCodexResponsesOAuth, o as resolveCodexResponsesOAuthProfileFingerprint, r as isCodexResponsesOAuth, t as CODEX_RESPONSES_OAUTH_PROVIDER } from "./responses-oauth-CCV7aVYF.mjs";
18
- import { t as CodexAppServerClient } from "./client-CPPD2q0Z.mjs";
19
- import { a as isUnsupportedCodexAppServerVersionError } from "./client-initialize-CjgZcX61.mjs";
20
- import { n as isCodexWebSocketOpenFailure } from "./transport-websocket-0YqiI_MH.mjs";
21
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
18
+ import { t as CodexAppServerClient } from "./client-Bxe8bl-K.mjs";
19
+ import { a as isUnsupportedCodexAppServerVersionError } from "./client-initialize-CPNmLwhL.mjs";
20
+ import { n as isCodexWebSocketOpenFailure } from "./transport-websocket-2Y-cL8kD.mjs";
21
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
22
22
  import { asOptionalRecord, isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
23
23
  import { createHash, randomUUID } from "node:crypto";
24
24
  import { isDeepStrictEqual } from "node:util";
@@ -1507,6 +1507,46 @@ function requireCodexThreadForkSettings(client, threadId) {
1507
1507
  };
1508
1508
  }
1509
1509
  //#endregion
1510
+ //#region extensions/codex/src/app-server/client-runtime-limits.ts
1511
+ /** Match Codex's native grace window without retaining inactive conversations indefinitely. */
1512
+ const LIVE_THREAD_IDLE_TIMEOUT_MS = 18e5;
1513
+ /** Return a deterministic error before Codex cancels its ten-second external-auth request. */
1514
+ const EXTERNAL_AUTH_REFRESH_TIMEOUT_MS = 9e3;
1515
+ //#endregion
1516
+ //#region extensions/codex/src/app-server/client-thread-closure.ts
1517
+ const MAX_CLOSED_THREAD_RECEIPTS = 256;
1518
+ const closureState = defineCodexBuildState("openclaw.codexAppServerClosedThreads", () => ({
1519
+ closedThreadsByClient: /* @__PURE__ */ new WeakMap(),
1520
+ observedClients: /* @__PURE__ */ new WeakSet()
1521
+ }))();
1522
+ function recordCodexAppServerThreadClosed(client, threadId) {
1523
+ const receipts = closureState.closedThreadsByClient.get(client) ?? /* @__PURE__ */ new Set();
1524
+ receipts.delete(threadId);
1525
+ receipts.add(threadId);
1526
+ while (receipts.size > MAX_CLOSED_THREAD_RECEIPTS) {
1527
+ const oldest = receipts.values().next();
1528
+ if (oldest.done) break;
1529
+ receipts.delete(oldest.value);
1530
+ }
1531
+ closureState.closedThreadsByClient.set(client, receipts);
1532
+ }
1533
+ function ensureCodexAppServerThreadClosureTracking(client) {
1534
+ if (closureState.observedClients.has(client)) return;
1535
+ closureState.observedClients.add(client);
1536
+ client.addNotificationHandler((notification) => {
1537
+ const params = notification.params;
1538
+ const threadId = typeof params === "object" && params !== null && "threadId" in params ? params.threadId : void 0;
1539
+ if (notification.method === "thread/closed" && typeof threadId === "string") recordCodexAppServerThreadClosed(client, threadId);
1540
+ });
1541
+ client.addCloseHandler(() => closureState.closedThreadsByClient.delete(client));
1542
+ }
1543
+ function clearCodexAppServerThreadClosed(client, threadId) {
1544
+ closureState.closedThreadsByClient.get(client)?.delete(threadId);
1545
+ }
1546
+ function wasCodexAppServerThreadClosed(client, threadId) {
1547
+ return closureState.closedThreadsByClient.get(client)?.has(threadId) === true;
1548
+ }
1549
+ //#endregion
1510
1550
  //#region extensions/codex/src/app-server/client-thread-owner.ts
1511
1551
  /** Background custody can survive projection replacement only under its creation policy. */
1512
1552
  function isThreadBackgroundOnly(runtime, threadId, configFingerprint) {
@@ -1758,12 +1798,6 @@ function defaultThreadRelease(client) {
1758
1798
  await unsubscribeCodexAppServerLiveThread(client, threadId, 5e3, assertCurrent, withCurrent);
1759
1799
  };
1760
1800
  }
1761
- /** Match Codex's native grace window without retaining inactive conversations indefinitely. */
1762
- const CODEX_APP_SERVER_LIVE_THREAD_IDLE_TIMEOUT_MS = 18e5;
1763
- /** Native-child parents are active ownership, so only otherwise-idle threads count against this cap. */
1764
- const CODEX_APP_SERVER_LIVE_THREAD_MAX_IDLE = 64;
1765
- /** Return a deterministic error before Codex cancels its ten-second external-auth request. */
1766
- const CODEX_EXTERNAL_AUTH_REFRESH_TIMEOUT_MS = 9e3;
1767
1801
  const { configuredClients, physicalThreadReleases, claimedThreadReleaseTokens } = defineCodexBuildState("openclaw.codexAppServerClientRuntime", () => ({
1768
1802
  configuredClients: /* @__PURE__ */ new WeakMap(),
1769
1803
  physicalThreadReleases: /* @__PURE__ */ new WeakMap(),
@@ -1788,7 +1822,7 @@ function prepareCodexWorkspaceReferences(client, threadId, reference) {
1788
1822
  }
1789
1823
  /** Immutable declarations are data owned by this physical client, never retained executors. */
1790
1824
  async function readCodexClientSessionMeta(client, sessionsRoot, boundRolloutPath, threadId) {
1791
- return readCodexWorkspaceSessionMeta(client, configuredClients.get(client), sessionsRoot, boundRolloutPath, threadId, CODEX_APP_SERVER_LIVE_THREAD_MAX_IDLE);
1825
+ return readCodexWorkspaceSessionMeta(client, configuredClients.get(client), sessionsRoot, boundRolloutPath, threadId, 64);
1792
1826
  }
1793
1827
  /** Installs one auth-refresh handler and one rate-limit observer per physical client. */
1794
1828
  function ensureCodexAppServerClientRuntime(client, context, onThreadOwnershipChange) {
@@ -1813,6 +1847,7 @@ function ensureCodexAppServerClientRuntime(client, context, onThreadOwnershipCha
1813
1847
  workspaceReferences: /* @__PURE__ */ new Map()
1814
1848
  };
1815
1849
  configuredClients.set(client, runtime);
1850
+ ensureCodexAppServerThreadClosureTracking(client);
1816
1851
  initializeCodexClientForkSettings(client);
1817
1852
  client.addCloseHandler(() => {
1818
1853
  runtime.closed = true;
@@ -1842,7 +1877,7 @@ function ensureCodexAppServerClientRuntime(client, context, onThreadOwnershipCha
1842
1877
  ...previousAccountId ? { previousAccountId } : {},
1843
1878
  ...runtime.context.authProfileStore ? { authProfileStore: runtime.context.authProfileStore } : {},
1844
1879
  config: runtime.context.config
1845
- }), CODEX_EXTERNAL_AUTH_REFRESH_TIMEOUT_MS, "Codex app-server ChatGPT token refresh timed out before its external-auth deadline. Retry the request; if it persists, sign in again with OpenClaw.");
1880
+ }), EXTERNAL_AUTH_REFRESH_TIMEOUT_MS, "Codex app-server ChatGPT token refresh timed out before its external-auth deadline. Retry the request; if it persists, sign in again with OpenClaw.");
1846
1881
  if (runtime.closed) throw new Error("Codex app-server client closed during ChatGPT token refresh.");
1847
1882
  runtime.authHandoff = {
1848
1883
  accessFingerprint: fingerprintTokenAuthProfileCacheKey(tokens.accessToken),
@@ -1922,7 +1957,7 @@ async function releaseRetainedThread(client, runtime, threadId, assertCurrent, w
1922
1957
  return true;
1923
1958
  } catch (error) {
1924
1959
  if (!runtime.closed && !transition.invalidated && runtime.releasingThreads.get(threadId) === transition && !runtime.retainedThreads.has(threadId) && !runtime.claimedThreads.has(threadId)) {
1925
- if (retained.ephemeralPolicy === void 0) retained.expiresAt = performance.now() + CODEX_APP_SERVER_LIVE_THREAD_IDLE_TIMEOUT_MS;
1960
+ if (retained.ephemeralPolicy === void 0) retained.expiresAt = performance.now() + LIVE_THREAD_IDLE_TIMEOUT_MS;
1926
1961
  runtime.retainedThreads.set(threadId, retained);
1927
1962
  }
1928
1963
  throw error;
@@ -1939,7 +1974,7 @@ async function evictExpiredRetainedThreads(client, runtime) {
1939
1974
  async function evictExcessIdleThreads(client, runtime) {
1940
1975
  const idleThreads = () => [...runtime.retainedThreads].filter(([threadId, thread]) => thread.ephemeralPolicy === void 0 && !runtime.protectedThreads.has(threadId));
1941
1976
  let idleThreadIds = idleThreads();
1942
- while (idleThreadIds.length > CODEX_APP_SERVER_LIVE_THREAD_MAX_IDLE) {
1977
+ while (idleThreadIds.length > 64) {
1943
1978
  await releaseRetainedThread(client, runtime, idleThreadIds[0][0]);
1944
1979
  idleThreadIds = idleThreads();
1945
1980
  }
@@ -1957,13 +1992,14 @@ async function retainCodexAppServerLiveThread(client, threadId, releaseThread, c
1957
1992
  return false;
1958
1993
  }
1959
1994
  const previousOwner = runtime.retainedThreads.get(threadId)?.ownerToken;
1995
+ clearCodexAppServerThreadClosed(client, threadId);
1960
1996
  runtime.retainedThreads.delete(threadId);
1961
1997
  const retained = {
1962
1998
  ownerToken,
1963
1999
  configFingerprint,
1964
2000
  ephemeralPolicy,
1965
2001
  serviceTier,
1966
- expiresAt: ephemeralPolicy === void 0 ? performance.now() + CODEX_APP_SERVER_LIVE_THREAD_IDLE_TIMEOUT_MS : Number.POSITIVE_INFINITY,
2002
+ expiresAt: ephemeralPolicy === void 0 ? performance.now() + LIVE_THREAD_IDLE_TIMEOUT_MS : Number.POSITIVE_INFINITY,
1967
2003
  release: (releaseThread ? physicalThreadReleases.get(releaseThread) ?? releaseThread : void 0) ?? defaultThreadRelease(client)
1968
2004
  };
1969
2005
  runtime.retainedThreads.set(threadId, retained);
@@ -2010,7 +2046,7 @@ async function claimCodexAppServerLiveThread(client, threadId, onInvalidated) {
2010
2046
  return;
2011
2047
  }
2012
2048
  return claimCodexAppServerThreadOwnership(client, runtime, threadId, runtime.retainedThreads.get(threadId) ?? {
2013
- expiresAt: performance.now() + CODEX_APP_SERVER_LIVE_THREAD_IDLE_TIMEOUT_MS,
2049
+ expiresAt: performance.now() + 18e5,
2014
2050
  release: defaultThreadRelease(client)
2015
2051
  }, onInvalidated);
2016
2052
  }
@@ -2187,7 +2223,7 @@ function protectCodexAppServerLiveThread(client, threadId) {
2187
2223
  if (releaseThreadProtection(runtime, threadId)) {
2188
2224
  const retained = runtime.retainedThreads.get(threadId);
2189
2225
  if (retained) {
2190
- if (retained.ephemeralPolicy === void 0) retained.expiresAt = performance.now() + CODEX_APP_SERVER_LIVE_THREAD_IDLE_TIMEOUT_MS;
2226
+ if (retained.ephemeralPolicy === void 0) retained.expiresAt = performance.now() + LIVE_THREAD_IDLE_TIMEOUT_MS;
2191
2227
  runtime.retainedThreads.delete(threadId);
2192
2228
  runtime.retainedThreads.set(threadId, retained);
2193
2229
  }
@@ -2459,8 +2495,8 @@ async function prepareCodexInferenceRoute(params) {
2459
2495
  throw new Error("Codex inference route limit reached; start a fresh managed native connection before retrying.");
2460
2496
  }
2461
2497
  pending = Promise.all([
2462
- import("./inference-proxy-iJoMVyEy.mjs"),
2463
- import("./native-subagent-monitor-D1pYkirc.mjs").then((n) => n.n),
2498
+ import("./inference-proxy-e1Rg8kr_.mjs"),
2499
+ import("./native-subagent-monitor-LJd5_D5F.mjs").then((n) => n.n),
2464
2500
  import("./inference-dispatch-C2zVSnrr.mjs")
2465
2501
  ]).then(([{ createCodexInferenceProxy }, native, { createCodexInferenceModelBinding }]) => {
2466
2502
  assertClient();
@@ -3207,7 +3243,7 @@ async function startInitializedCodexAppServerClientOnce(params) {
3207
3243
  }
3208
3244
  throw error;
3209
3245
  }
3210
- const runtimeArtifactModule = params.runtimeArtifactMode ? await import("./runtime-artifact-CmLWeyJB.mjs") : void 0;
3246
+ const runtimeArtifactModule = params.runtimeArtifactMode ? await import("./runtime-artifact-Bn_GvxjU.mjs") : void 0;
3211
3247
  const runtimeArtifactBeforeStart = runtimeArtifactModule ? await runtimeArtifactModule.captureCodexAppServerRuntimeArtifactBeforeStart({
3212
3248
  startOptions,
3213
3249
  spawnIdentity: resolveCodexAppServerSpawnIdentity(startOptions),
@@ -3393,4 +3429,4 @@ function clearSharedCodexAppServerClientIfCurrentAndUnclaimed(client) {
3393
3429
  };
3394
3430
  }
3395
3431
  //#endregion
3396
- export { resolveCodexAppServerAuthAccountCacheKey as $, hasCodexAppServerLiveThread as A, releaseCodexAppServerLiveThread as B, getCodexInferenceThread as C, consumeCodexAppServerLiveThread as D, claimCodexAppServerLiveThread as E, prepareCodexWorkspaceReferences as F, readRecentCodexRateLimits as G, revertCodexAppServerLiveThreadInstructions as H, protectCodexAppServerLiveThread as I, isThreadBackgroundOnly as J, rememberCodexRateLimitsRead as K, readCodexAppServerThreadOwnershipState as L, isCodexAppServerClientRuntimeLive as M, isCodexAppServerLiveThreadClaimed as N, ensureCodexAppServerClientRuntime as O, isCodexAppServerLiveThreadProtected as P, reconcileCodexComputerUseStartArtifacts as Q, readCodexClientSessionMeta as R, bindCodexInferenceThread as S, prepareCodexInferenceThreadConfig as T, unsubscribeCodexAppServerLiveThread as U, retainCodexAppServerLiveThread as V, readCodexRateLimitsRevision as W, recordCodexTurnForkSettings as X, recordCodexThreadForkSettings as Y, requireCodexThreadForkSettings as Z, CodexThreadBindingConflictError as _, createIsolatedCodexAppServerClient as a, resolveManagedCodexComputerUseConfig as at, nativeHookRelayUnregisterQueue as b, readCodexAppServerClientDesktopGeneration as c, CodexAppServerStartupError as ct, releaseCodexAppServerClientLease as d, isCodexAppServerStartupError as dt, resolveCodexAppServerPreparedAuthHandoff as et, releaseLeasedSharedCodexAppServerClient as f, resolveCodexGatewayTimeoutWithGraceMs as ft, CodexAdoptedThreadActiveError as g, withCodexAppServerClientRequestScope as h, clearSharedCodexAppServerClientIfCurrentAndWait as i, isLegacyCodexComputerUsePluginDisabled as it, hasCodexAppServerSiblingThreadWork as j, forgetCodexWorkspaceReferences as k, readCodexAppServerClientDesktopGenerationFingerprint as l, TURN_FINALIZE_DRAIN_ABORT_GRACE_MS as lt, shared_client_exports as m, withCodexStartupTimeout as mt, captureSharedCodexAppServerCatalogLifetime as n, resolveClientManagedBundledMarketplacePath as nt, getLeasedSharedCodexAppServerClient as o, ensureCodexComputerUseSharedPluginCache as ot, retainSharedCodexAppServerClientIfCurrent as p, resolveCodexStartupTimeoutMs as pt, createCodexEphemeralThreadPolicy as q, clearSharedCodexAppServerClientIfCurrentAndUnclaimed as r, hasLegacyCodexComputerUseMcpPolicy as rt, getSharedCodexAppServerClient as s, assertNotSymlink as st, captureCodexAppServerClientLifetime as t, resolveBundledComputerUseMarketplacePath as tt, readCodexAppServerClientProcessIdentity as u, TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS as ut, CodexThreadClientReplacementError as v, getCodexInferenceThreadQualification as w, assertCodexInferenceRouteConfig as x, CodexThreadStartRequestError as y, readCodexLiveThreadEphemeralPolicy as z };
3432
+ export { reconcileCodexComputerUseStartArtifacts as $, hasCodexAppServerLiveThread as A, releaseCodexAppServerLiveThread as B, getCodexInferenceThread as C, consumeCodexAppServerLiveThread as D, claimCodexAppServerLiveThread as E, prepareCodexWorkspaceReferences as F, readRecentCodexRateLimits as G, revertCodexAppServerLiveThreadInstructions as H, protectCodexAppServerLiveThread as I, isThreadBackgroundOnly as J, rememberCodexRateLimitsRead as K, readCodexAppServerThreadOwnershipState as L, isCodexAppServerClientRuntimeLive as M, isCodexAppServerLiveThreadClaimed as N, ensureCodexAppServerClientRuntime as O, isCodexAppServerLiveThreadProtected as P, requireCodexThreadForkSettings as Q, readCodexClientSessionMeta as R, bindCodexInferenceThread as S, prepareCodexInferenceThreadConfig as T, unsubscribeCodexAppServerLiveThread as U, retainCodexAppServerLiveThread as V, readCodexRateLimitsRevision as W, recordCodexThreadForkSettings as X, wasCodexAppServerThreadClosed as Y, recordCodexTurnForkSettings as Z, CodexThreadBindingConflictError as _, createIsolatedCodexAppServerClient as a, isLegacyCodexComputerUsePluginDisabled as at, nativeHookRelayUnregisterQueue as b, readCodexAppServerClientDesktopGeneration as c, assertNotSymlink as ct, releaseCodexAppServerClientLease as d, TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS as dt, resolveCodexAppServerAuthAccountCacheKey as et, releaseLeasedSharedCodexAppServerClient as f, isCodexAppServerStartupError as ft, CodexAdoptedThreadActiveError as g, withCodexAppServerClientRequestScope as h, withCodexStartupTimeout as ht, clearSharedCodexAppServerClientIfCurrentAndWait as i, hasLegacyCodexComputerUseMcpPolicy as it, hasCodexAppServerSiblingThreadWork as j, forgetCodexWorkspaceReferences as k, readCodexAppServerClientDesktopGenerationFingerprint as l, CodexAppServerStartupError as lt, shared_client_exports as m, resolveCodexStartupTimeoutMs as mt, captureSharedCodexAppServerCatalogLifetime as n, resolveBundledComputerUseMarketplacePath as nt, getLeasedSharedCodexAppServerClient as o, resolveManagedCodexComputerUseConfig as ot, retainSharedCodexAppServerClientIfCurrent as p, resolveCodexGatewayTimeoutWithGraceMs as pt, createCodexEphemeralThreadPolicy as q, clearSharedCodexAppServerClientIfCurrentAndUnclaimed as r, resolveClientManagedBundledMarketplacePath as rt, getSharedCodexAppServerClient as s, ensureCodexComputerUseSharedPluginCache as st, captureCodexAppServerClientLifetime as t, resolveCodexAppServerPreparedAuthHandoff as tt, readCodexAppServerClientProcessIdentity as u, TURN_FINALIZE_DRAIN_ABORT_GRACE_MS as ut, CodexThreadClientReplacementError as v, getCodexInferenceThreadQualification as w, assertCodexInferenceRouteConfig as x, CodexThreadStartRequestError as y, readCodexLiveThreadEphemeralPolicy as z };
@@ -1,36 +1,36 @@
1
1
  import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
- import { g as sessionBindingIdentity } from "./session-binding-record-C_THntMe.mjs";
2
+ import { g as sessionBindingIdentity } from "./session-binding-record-BpWF2Sus.mjs";
3
3
  import { c as withMcpElicitationsApprovalPolicy, d as readCodexRequirementsToml, n as hasCodexMcpToolApprovalOverrides, s as shouldAutoApproveCodexAppServerApprovals } from "./config-security-clxAZYWX.mjs";
4
4
  import { c as isCodexPairedNodeRemoteExecPlacementSandbox, d as readCodexPluginConfig, l as isCodexRemoteExecPlacementSandbox, u as isCodexSandboxExecServerEnabled } from "./config-parsing-DsWSCPHO.mjs";
5
5
  import { i as resolveCodexAppServerHomeScope, l as resolveCodexModelBackedReviewerPolicyContext } from "./config-options-DMFZkd3X.mjs";
6
- import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-aolg0chE.mjs";
6
+ import { T as retainSharedCodexAppServerClientByInstanceId } from "./auth-cache-key-Do2ZQrNP.mjs";
7
7
  import { n as formatCodexUsageLimitErrorMessage } from "./rate-limits-BpfURnuy.mjs";
8
8
  import { c as isMissingCodexParentThreadError } from "./rpc-error-DemqqaxE.mjs";
9
- import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection } from "./binding-connection-GTgUj9pi.mjs";
10
- import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-BfrAlTMT.mjs";
11
- import { C as getCodexInferenceThread, G as readRecentCodexRateLimits, Z as requireCodexThreadForkSettings, d as releaseCodexAppServerClientLease, et as resolveCodexAppServerPreparedAuthHandoff, h as withCodexAppServerClientRequestScope, o as getLeasedSharedCodexAppServerClient, w as getCodexInferenceThreadQualification } from "./shared-client-B8v6e5D0.mjs";
12
- import { C as createCodexElicitationResponse, D as toCodexDynamicToolProtocolResponse, O as resolveCodexToolAbortTerminalReason, T as resolveDynamicToolCallTimeoutMs, g as assertCodexTurnStartResponse, i as isCodexAppServerIndeterminateRequestCancellationError, p as assertCodexThreadForkResponse, r as isCodexAppServerApprovalRequest, v as readCodexDynamicToolCallParams, w as handleDynamicToolCallWithTimeout } from "./client-CPPD2q0Z.mjs";
13
- import { d as terminateCodexBackgroundTerminals, f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, s as interruptCodexTurnAndWaitBestEffort } from "./attempt-client-cleanup-BLp6z_DD.mjs";
14
- import { t as CodexEphemeralTurn } from "./ephemeral-turn-C9iVxYQi.mjs";
15
- import { d as mergeCodexThreadConfigs, f as refreshCodexPluginAppApprovalPolicy } from "./project-doc-thread-config-B0UI3f1D.mjs";
9
+ import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection } from "./binding-connection-hJD5mFkM.mjs";
10
+ import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-BZYTxljj.mjs";
11
+ import { C as getCodexInferenceThread, G as readRecentCodexRateLimits, Q as requireCodexThreadForkSettings, d as releaseCodexAppServerClientLease, h as withCodexAppServerClientRequestScope, o as getLeasedSharedCodexAppServerClient, tt as resolveCodexAppServerPreparedAuthHandoff, w as getCodexInferenceThreadQualification } from "./shared-client-BelwlhWf.mjs";
12
+ import { C as createCodexElicitationResponse, D as toCodexDynamicToolProtocolResponse, O as resolveCodexToolAbortTerminalReason, T as resolveDynamicToolCallTimeoutMs, g as assertCodexTurnStartResponse, i as isCodexAppServerIndeterminateRequestCancellationError, p as assertCodexThreadForkResponse, r as isCodexAppServerApprovalRequest, v as readCodexDynamicToolCallParams, w as handleDynamicToolCallWithTimeout } from "./client-Bxe8bl-K.mjs";
13
+ import { d as terminateCodexBackgroundTerminals, f as unsubscribeCodexThreadBestEffort, l as retireUnsafeCodexTurnClientBestEffort, s as interruptCodexTurnAndWaitBestEffort } from "./attempt-client-cleanup-Bj4T3tcX.mjs";
14
+ import { t as CodexEphemeralTurn } from "./ephemeral-turn-CNm9tN72.mjs";
15
+ import { d as mergeCodexThreadConfigs, f as refreshCodexPluginAppApprovalPolicy } from "./project-doc-thread-config-Ds92xu17.mjs";
16
16
  import { n as resolveCodexAppServerReasoningEffort, t as readCodexSupportedReasoningEfforts } from "./reasoning-effort-CS9kKWB9.mjs";
17
- import { h as resolveCodexWebSearchPlan, r as buildCodexRuntimeThreadConfig, z as resolveCodexDynamicToolsLoading } from "./thread-requests-BjawdIVV.mjs";
18
- import { i as resolveCodexSessionBinding } from "./session-binding-BgsWcbdY.mjs";
17
+ import { h as resolveCodexWebSearchPlan, r as buildCodexRuntimeThreadConfig, z as resolveCodexDynamicToolsLoading } from "./thread-requests-6Dy8hyXF.mjs";
18
+ import { i as resolveCodexSessionBinding } from "./session-binding-Dg0B6Zua.mjs";
19
19
  import { i as resolveCodexAppServerThreadModelSelection, t as CODEX_NATIVE_PERSONALITY_NONE } from "./thread-model-selection-DxposL4X.mjs";
20
- import { t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DJ8PPxRc.mjs";
21
- import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-D1pYkirc.mjs";
20
+ import { t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DxW6b6fR.mjs";
21
+ import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-LJd5_D5F.mjs";
22
22
  import { r as prepareCodexNativeExecutionPolicyForRun } from "./native-execution-policy-D09tLP-u.mjs";
23
- import { i as resolveCodexNativeExecutionBlock } from "./sandbox-guard-DneAfNye.mjs";
24
- import { i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-UldER50x.mjs";
23
+ import { i as resolveCodexNativeExecutionBlock } from "./sandbox-guard-CrzVgQUn.mjs";
24
+ import { i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-j-BAwvSk.mjs";
25
25
  import { o as runCodexCleanupStep } from "./run-attempt-lifecycle-DN-ATDp9.mjs";
26
26
  import { t as CODEX_INFERENCE_GENERATION_KEY } from "./inference-metadata-CYFWLHVk.mjs";
27
- import "./inference-context-BPwyk-Op.mjs";
28
- import { a as resolveCodexExternalSandboxPolicyForOpenClawSandbox, c as shouldEnableCodexAppServerNativeToolSurface, l as shouldRequireCodexSandboxExecServerEnvironment, o as resolveCodexMessageToolProvider, s as resolveCodexSandboxEnvironmentSelection, t as buildDynamicTools } from "./dynamic-tool-build-DkJpWzXt.mjs";
29
- import { a as buildCodexNativeHookRelayDisabledConfig, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, r as assertCodexNativeHookRelayAllowed, u as resolveCodexNativeHookRelayTtlMs } from "./native-hook-relay-DbNYjwuC.mjs";
27
+ import "./inference-context-DYpvCEF3.mjs";
28
+ import { a as resolveCodexExternalSandboxPolicyForOpenClawSandbox, c as shouldEnableCodexAppServerNativeToolSurface, l as shouldRequireCodexSandboxExecServerEnvironment, o as resolveCodexMessageToolProvider, s as resolveCodexSandboxEnvironmentSelection, t as buildDynamicTools } from "./dynamic-tool-build-BzTaCmlT.mjs";
29
+ import { a as buildCodexNativeHookRelayDisabledConfig, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, r as assertCodexNativeHookRelayAllowed, u as resolveCodexNativeHookRelayTtlMs } from "./native-hook-relay-COcu2b4l.mjs";
30
30
  import { i as resolveCodexSessionPermissionCwd, n as applyCodexSessionPermissionPolicy, r as resolveCodexEffectiveSessionPermissionPolicy, t as CODEX_SESSION_PERMISSION_EXEC_MODES } from "./session-permission-policy-CD2MAWU8.mjs";
31
- import { a as handleCodexAppServerApprovalRequest, c as createCodexNativePreToolUseFailureBuffer, d as buildCodexTemporalAdditionalContext, g as buildCodexUserInput, i as createCodexDynamicToolDiagnostics, o as ensureCodexSandboxExecServerEnvironment, r as routeCodexAppServerElicitationRequest, s as releaseCodexSandboxExecServerEnvironment, t as createCodexDynamicToolBridge, y as CodexNativeToolLifecycleProjector } from "./dynamic-tools-UL4DHNTh.mjs";
32
- import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-Cog6mm2i.mjs";
33
- import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-C0laqfjE.mjs";
31
+ import { a as handleCodexAppServerApprovalRequest, c as createCodexNativePreToolUseFailureBuffer, d as buildCodexTemporalAdditionalContext, g as buildCodexUserInput, i as createCodexDynamicToolDiagnostics, o as ensureCodexSandboxExecServerEnvironment, r as routeCodexAppServerElicitationRequest, s as releaseCodexSandboxExecServerEnvironment, t as createCodexDynamicToolBridge, y as CodexNativeToolLifecycleProjector } from "./dynamic-tools-BALvjDwR.mjs";
32
+ import { t as resolveCodexAppServerForModelProvider } from "./app-server-policy-CFCEWj0w.mjs";
33
+ import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-DMfkFwZi.mjs";
34
34
  import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
35
35
  import { randomUUID } from "node:crypto";
36
36
  import { isDeepStrictEqual } from "node:util";
@@ -1,8 +1,8 @@
1
1
  import { a as defaultCodexAppInventoryCache, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-DRb-niJc.mjs";
2
- import { a as withCodexAppServerJsonClient } from "./request-DbU7VQMs.mjs";
3
- import { a as marketplaceRef, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-DE9wcaeH.mjs";
4
- import "./config-BfrAlTMT.mjs";
5
- import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
2
+ import { a as withCodexAppServerJsonClient } from "./request-DTgD_jsY.mjs";
3
+ import { a as marketplaceRef, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-BVP15PmN.mjs";
4
+ import "./config-BZYTxljj.mjs";
5
+ import { t as __exportAll } from "./session-binding-sidecars-C9uEGpDX.mjs";
6
6
  import { asNonArrayRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import path from "node:path";
8
8
  import os from "node:os";