@openclaw/codex 2026.10.5-beta.3 → 2026.10.10-beta.1

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 (156) hide show
  1. package/README.md +10 -3
  2. package/dist/.setup/{account-usage-runtime-CBR8imwK.mjs → account-usage-runtime-DDCDkvtl.mjs} +15 -9
  3. package/dist/.setup/{app-server-policy-D_zv8J7V.mjs → app-server-policy-Cog6mm2i.mjs} +1 -1
  4. package/dist/.setup/{apply-CfWD3Bk6.mjs → apply-BVSXYkTV.mjs} +11 -11
  5. package/dist/.setup/{attempt-client-cleanup-D3YvP0N7.mjs → attempt-client-cleanup-6OcbMH46.mjs} +14 -8
  6. package/dist/.setup/attempt-terminal-sZutF0WY.mjs +1 -0
  7. package/dist/.setup/{attempt-workspace-context-CcwP3DA3.mjs → attempt-workspace-context-GYPLawX6.mjs} +2 -2
  8. package/dist/.setup/{auth-binding-BaxlhaNx.mjs → auth-binding-830RLAJW.mjs} +2 -2
  9. package/dist/.setup/{auth-cache-key-BzYrcgwJ.mjs → auth-cache-key-CVcYw8HD.mjs} +92 -80
  10. package/dist/.setup/{auth-profile-CgHQ8Vot.mjs → auth-profile-auwzSwwy.mjs} +14 -8
  11. package/dist/.setup/{auth-profile-health-oHizqgye.mjs → auth-profile-health-BVPZU9I8.mjs} +15 -8
  12. package/dist/.setup/{auth-profile-selection-hr8ocLtz.mjs → auth-profile-selection-Bp5PDk3W.mjs} +24 -7
  13. package/dist/.setup/{binding-connection-B7HAAZSI.mjs → binding-connection-GTgUj9pi.mjs} +2 -2
  14. package/dist/.setup/{binding-connection.runtime-DAXn7iFl.mjs → binding-connection.runtime-RcWR3vQu.mjs} +4 -3
  15. package/dist/.setup/{bounded-turn-isolation-BfDAo-qZ.mjs → bounded-turn-isolation-D8CDrAVX.mjs} +3 -3
  16. package/dist/.setup/{bounded-turn-BmChqNaK.mjs → bounded-turn-mN_ekXYW.mjs} +18 -22
  17. package/dist/.setup/{build-state-sjOWPg_o.mjs → build-state-VcujMRqP.mjs} +1 -1
  18. package/dist/.setup/{capabilities-DbOzOglY.mjs → capabilities-DAS-JX1z.mjs} +1 -1
  19. package/dist/.setup/{client-aPKNc4Ii.mjs → client-BS8X7HmG.mjs} +47 -317
  20. package/dist/.setup/{client-catalog-response-Du2GmrOV.mjs → client-catalog-response-jM38o5w1.mjs} +2 -2
  21. package/dist/.setup/client-initialize-CjgZcX61.mjs +165 -0
  22. package/dist/.setup/{command-dispatch-CF6mgl3u.mjs → command-dispatch-DzXbHqCn.mjs} +3 -3
  23. package/dist/.setup/{command-formatters-xW9KpoSZ.mjs → command-formatters-B_7-QZ1c.mjs} +2 -2
  24. package/dist/.setup/{command-handlers-DlycReQg.mjs → command-handlers-tfb5Uq-O.mjs} +539 -406
  25. package/dist/.setup/command-rpc-SXqLQukR.mjs +296 -0
  26. package/dist/.setup/compact-M-JxLcbZ.mjs +823 -0
  27. package/dist/.setup/{computer-use-C6yYfm6-.mjs → computer-use-FqQ-Flbl.mjs} +21 -68
  28. package/dist/.setup/{config-C1YVVLEA.mjs → config-BfrAlTMT.mjs} +3 -3
  29. package/dist/.setup/{config-options-DDzeNQ8m.mjs → config-options-DMFZkd3X.mjs} +1 -1
  30. package/dist/.setup/{config-runtime-DWzK-k0n.mjs → config-runtime-BZRizyuG.mjs} +2 -2
  31. package/dist/.setup/{context-engine-projection-ps-yn_ci.mjs → context-engine-projection-PIeLSnR-.mjs} +16 -30
  32. package/dist/.setup/{conversation-binding-CP_mK17t.mjs → conversation-binding-C7MZy-Cx.mjs} +228 -116
  33. package/dist/.setup/{conversation-binding-data-UgLuTSQT.mjs → conversation-binding-data-khgW0n-o.mjs} +4 -2
  34. package/dist/.setup/{conversation-control-GXM3unE4.mjs → conversation-control-B2EpVZEb.mjs} +53 -23
  35. package/dist/.setup/{cyber-failover-D4dgNfFf.mjs → cyber-failover-CqEZoQsj.mjs} +1 -1
  36. package/dist/.setup/{cyber-failover-notice-ljgGGL0s.mjs → cyber-failover-notice-poL3Advd.mjs} +1 -1
  37. package/dist/.setup/{doctor-start-options-JjTAl-q_.mjs → doctor-start-options-8uIBXIzR.mjs} +8 -5
  38. package/dist/.setup/{dynamic-tool-build-DKko0Jjw.mjs → dynamic-tool-build-BjFAIG-f.mjs} +208 -218
  39. package/dist/.setup/{dynamic-tools-8hqa1jVc.mjs → dynamic-tools-XqWsVjcC.mjs} +344 -118
  40. package/dist/.setup/{effective-mcp-catalog-uIZ4w7Nh.mjs → effective-mcp-catalog-C3ta5hHc.mjs} +11 -9
  41. package/dist/.setup/{ephemeral-turn-DAlEbytF.mjs → ephemeral-turn-1ZF17fUR.mjs} +5 -4
  42. package/dist/.setup/{event-projector-assistant-message-CLMKN4x-.mjs → event-projector-assistant-message-ChOAY7rW.mjs} +16 -11
  43. package/dist/.setup/{event-projector-usage-BpKfdoTm.mjs → event-projector-usage-CBY0Hkga.mjs} +2 -2
  44. package/dist/.setup/{event-projector-values-CLvG1Hil.mjs → event-projector-values-yf4us9Pf.mjs} +1 -1
  45. package/dist/.setup/experimental-features-uGnVDtp-.mjs +19 -0
  46. package/dist/.setup/inference-context-mv_dBpAL.mjs +209 -0
  47. package/dist/.setup/{inference-dispatch-CO6tTs4q.mjs → inference-dispatch-C2zVSnrr.mjs} +2 -2
  48. package/dist/.setup/{inference-metadata-DCvcG_N_.mjs → inference-metadata-CYFWLHVk.mjs} +3 -1
  49. package/dist/.setup/{inference-proxy-BDWV0djM.mjs → inference-proxy-yd3hr2dr.mjs} +8 -8
  50. package/dist/.setup/installed-probe-lVC1X5ve.mjs +185 -0
  51. package/dist/.setup/{isolated-completion-BWEjVHBf.mjs → isolated-completion-P-r8NRE4.mjs} +7 -7
  52. package/dist/.setup/managed-binary-DbKvGXKl.mjs +395 -0
  53. package/dist/.setup/{mcp-app-session-preparation-CJR8ib5s.mjs → mcp-app-session-preparation-fnsnCovu.mjs} +18 -14
  54. package/dist/.setup/{model-catalog-Ben3FsFp.mjs → model-catalog-Y_esgRPY.mjs} +28 -17
  55. package/dist/.setup/{models-BB0l-gUb.mjs → models-BWLEUo2E.mjs} +3 -3
  56. package/dist/.setup/{native-auth-esN5MdIv.mjs → native-auth-DpZIaY8N.mjs} +7 -4
  57. package/dist/.setup/native-execution-policy-D09tLP-u.mjs +152 -0
  58. package/dist/.setup/{native-hook-relay-DQzvuJ-W.mjs → native-hook-relay-C7aaLJaP.mjs} +45 -10
  59. package/dist/.setup/{native-mcp-app-UkwXOBfS.mjs → native-mcp-app-CsWj-v_x.mjs} +5 -5
  60. package/dist/.setup/{native-skill-isolation-DoRxgQPX.mjs → native-skill-isolation-CMimsKYy.mjs} +7 -7
  61. package/dist/.setup/{native-subagent-monitor-DC4clzAD.mjs → native-subagent-monitor-CFE7b4oC.mjs} +485 -239
  62. package/dist/.setup/{native-subagent-pending-assignments-DmVhedNs.mjs → native-subagent-pending-assignments-CTinVtjo.mjs} +1 -1
  63. package/dist/.setup/{native-task-assignments-DimsQ9Qa.mjs → native-task-assignments-YJopbaVO.mjs} +9 -5
  64. package/dist/.setup/{node-cli-sessions-CzKg2nGq.mjs → node-cli-sessions-BuJnBnEq.mjs} +7 -4
  65. package/dist/.setup/{node-exec-server.runtime-BWkULhBM.mjs → node-exec-server.runtime-CP7RC1Nd.mjs} +3 -3
  66. package/dist/.setup/{plan-DFVngccH.mjs → plan-B4cHgqNv.mjs} +7 -20
  67. package/dist/.setup/{plugin-activation-D7WkJMvU.mjs → plugin-activation-CXPWe-hl.mjs} +4 -4
  68. package/dist/.setup/{plugin-app-cache-key-Bg9DbDI6.mjs → plugin-app-cache-key-DRb-niJc.mjs} +17 -55
  69. package/dist/.setup/{plugin-approval-roundtrip-68FoMlaZ.mjs → plugin-approval-roundtrip-DIZHLbAM.mjs} +1 -1
  70. package/dist/.setup/{plugin-inventory-CYgdo14P.mjs → plugin-inventory-DE9wcaeH.mjs} +2 -2
  71. package/dist/.setup/{plugin-metadata-cache-Bi8TAPwX.mjs → plugin-metadata-cache-BqC-a6Fb.mjs} +2 -15
  72. package/dist/.setup/{project-doc-thread-config-BVcvnps8.mjs → project-doc-thread-config-B0UI3f1D.mjs} +6 -6
  73. package/dist/.setup/protocol-CaPAVwe9.mjs +12 -0
  74. package/dist/.setup/{provider-capabilities-DWH29sy3.mjs → provider-capabilities-DjcKunHS.mjs} +1 -1
  75. package/dist/.setup/{provider-BCXRBKEb.mjs → provider-wj_LFJH3.mjs} +4 -4
  76. package/dist/.setup/{rate-limits-CI8pTPqL.mjs → rate-limits-BpfURnuy.mjs} +1 -1
  77. package/dist/.setup/{request-DInueZ2q.mjs → request-ePeNJrOd.mjs} +132 -136
  78. package/dist/.setup/{responses-oauth-twnuTaAa.mjs → responses-oauth-CCV7aVYF.mjs} +6 -6
  79. package/dist/.setup/{rpc-error-C98SHchT.mjs → rpc-error-DemqqaxE.mjs} +7 -3
  80. package/dist/.setup/{run-attempt-BN-0TO0P.mjs → run-attempt-BcWArowv.mjs} +595 -426
  81. package/dist/.setup/{run-attempt-lifecycle-KN4oh-7O.mjs → run-attempt-lifecycle-DN-ATDp9.mjs} +1 -1
  82. package/dist/.setup/{runtime-artifact-C13pR7tD.mjs → runtime-artifact-CmLWeyJB.mjs} +3 -3
  83. package/dist/.setup/{runtime-artifact-connection-jS5DeCok.mjs → runtime-artifact-connection-DpWlZ02e.mjs} +3 -3
  84. package/dist/.setup/{sandbox-guard-DIImwCy1.mjs → sandbox-guard-DneAfNye.mjs} +70 -30
  85. package/dist/.setup/{session-binding-JEHNMPsr.mjs → session-binding-BgsWcbdY.mjs} +25 -23
  86. package/dist/.setup/{session-binding-record-DU_0biMD.mjs → session-binding-record-C_THntMe.mjs} +27 -12
  87. package/dist/.setup/{session-binding-record-codec-BpH8u_G9.mjs → session-binding-record-codec-DvmOI7g_.mjs} +1 -0
  88. package/dist/.setup/{session-binding-sidecars-DD-enC8w.mjs → session-binding-sidecars-BNSS6WL4.mjs} +55 -63
  89. package/dist/.setup/session-cancellation-DLBSJO5n.mjs +43 -0
  90. package/dist/.setup/{session-catalog-adoption-Ca3OYGYM.mjs → session-catalog-adoption-ppsLlVLB.mjs} +24 -38
  91. package/dist/.setup/{session-catalog-archive-Bv6gV7x9.mjs → session-catalog-archive-CqLRHJ6z.mjs} +11 -13
  92. package/dist/.setup/{session-catalog-events-DujfzcAY.mjs → session-catalog-events-DK0opVp3.mjs} +5 -5
  93. package/dist/.setup/{session-catalog-index-DQ9_sj42.mjs → session-catalog-index-BfzfdtH7.mjs} +96 -271
  94. package/dist/.setup/{session-catalog-index-order-CTfoefow.mjs → session-catalog-index-order-0Zqng2u8.mjs} +1 -1
  95. package/dist/.setup/{session-catalog-limits-BynIoOYm.mjs → session-catalog-limits-Dc6E0BZz.mjs} +1 -1
  96. package/dist/.setup/{session-catalog-list-request-D4MYNgDB.mjs → session-catalog-list-request-CAjoWjaH.mjs} +3 -4
  97. package/dist/.setup/{session-catalog-native-projection-BY2zMkMO.mjs → session-catalog-native-projection-G3lSDYYG.mjs} +5 -5
  98. package/dist/.setup/{session-catalog-node-adoption-BdP9Zjqo.mjs → session-catalog-node-adoption-e9v8mGgx.mjs} +5 -5
  99. package/dist/.setup/{session-catalog-node-continue-CNJibO4_.mjs → session-catalog-node-continue-H7nrzcUD.mjs} +5 -5
  100. package/dist/.setup/{session-catalog-node-lookup-BH_DBGa9.mjs → session-catalog-node-lookup-BrZfDkA8.mjs} +2 -2
  101. package/dist/.setup/{session-catalog-parsing-DkeoVn60.mjs → session-catalog-parsing-V6jyFg9g.mjs} +2 -2
  102. package/dist/.setup/{session-catalog-projection-BTXOyzl_.mjs → session-catalog-projection-BjWE414G.mjs} +8 -7
  103. package/dist/.setup/{session-catalog-provenance-CmsOE5mh.mjs → session-catalog-provenance-Dg9s12z-.mjs} +50 -30
  104. package/dist/.setup/{session-catalog-source-yQpy2Y6b.mjs → session-catalog-source-DqyuNxCe.mjs} +2 -6
  105. package/dist/.setup/{session-cli-GwU0izn-.mjs → session-cli-CBGKiqdv.mjs} +1 -1
  106. package/dist/.setup/{session-history-BO6i_pfk.mjs → session-history-7W0cgTXF.mjs} +11 -9
  107. package/dist/.setup/{session-history-import-CaO8s6ta.mjs → session-history-import-BwPKwcNi.mjs} +4 -4
  108. package/dist/.setup/{session-initialization-Bi_2DKhc.mjs → session-initialization-Dn3vveGv.mjs} +2 -2
  109. package/dist/.setup/{session-retirement-CIDqLMII.mjs → session-retirement-Ci_JvOfH.mjs} +8 -8
  110. package/dist/.setup/{session-history.worker-DJQfek5p.mjs → settled-turn-evidence--tRW6fSm.mjs} +2 -18
  111. package/dist/.setup/{settled-turn-finalizer-C6tjH8RJ.mjs → settled-turn-finalizer-D3-KXsbP.mjs} +8 -8
  112. package/dist/.setup/{shared-client-CCz9ldpr.mjs → shared-client-CE_uY0A1.mjs} +380 -557
  113. package/dist/.setup/side-question-OM18H9WJ.mjs +998 -0
  114. package/dist/.setup/{source-DsubBCYm.mjs → source-uGKgKWm8.mjs} +5 -5
  115. package/dist/.setup/{thread-archive-guard-LKdwQKyr.mjs → thread-archive-guard-BWjSsA92.mjs} +1 -1
  116. package/dist/.setup/{thread-lifecycle-run-CxVfnkG-.mjs → thread-lifecycle-run-mLueY6pH.mjs} +172 -75
  117. package/dist/.setup/{thread-model-selection-DcVebr8N.mjs → thread-model-selection-DxposL4X.mjs} +9 -9
  118. package/dist/.setup/{thread-ownership-_2e1sjfi.mjs → thread-ownership-t6Y9fLQS.mjs} +7 -7
  119. package/dist/.setup/{thread-policy-CLTwg3ZA.mjs → thread-policy-Cy301Or8.mjs} +6 -6
  120. package/dist/.setup/{thread-requests-BgzJwJtS.mjs → thread-requests-BjawdIVV.mjs} +14 -14
  121. package/dist/.setup/{thread-resume-C6qsk8_o.mjs → thread-resume-BUbsUfgF.mjs} +6 -6
  122. package/dist/.setup/{transcript-history-projection-DfKcoZCB.mjs → transcript-history-projection-i-FVpyha.mjs} +1 -1
  123. package/dist/.setup/{transcript-mirror-Bee2o6jj.mjs → transcript-mirror-CEQJZlF3.mjs} +6 -9
  124. package/dist/.setup/{transport-stdio-CRWTkKOn.mjs → transport-stdio-Bq160Dhv.mjs} +63 -64
  125. package/dist/.setup/{transport-websocket-DIyPfkHo.mjs → transport-websocket-0YqiI_MH.mjs} +1 -1
  126. package/dist/.setup/{turn-router-CSJl3yYQ.mjs → turn-router-Dbw17k3K.mjs} +2 -2
  127. package/dist/.setup/{upstream-session-fork-BC45E4Pe.mjs → upstream-session-fork-_LYkh0nZ.mjs} +46 -219
  128. package/dist/.setup/{usage-limit-error-CJoJ_F8V.mjs → usage-limit-error-DcOSH3J4.mjs} +4 -4
  129. package/dist/.setup/{usage-1eNaNDM2.mjs → usage-w_93wnnR.mjs} +4 -4
  130. package/dist/.setup/{web-search-item-CvokaZOo.mjs → web-search-item-DHVuNSqk.mjs} +1 -1
  131. package/dist/.setup/{web-search-provider.runtime-Qq_wUrvv.mjs → web-search-provider.runtime-DMHxve5v.mjs} +3 -3
  132. package/dist/.setup/{workspace-write-sandbox-probe-BDWO2Qkh.mjs → workspace-write-sandbox-probe-DJxOXcF3.mjs} +2 -2
  133. package/dist/api.js +7 -28
  134. package/dist/catalog-page.worker.js +1 -1
  135. package/dist/cli-metadata.js +1 -1
  136. package/dist/client-version-api.js +25 -0
  137. package/dist/doctor-contract-api.js +5 -5
  138. package/dist/harness.js +59 -36
  139. package/dist/index.js +259 -295
  140. package/dist/media-understanding-provider.js +2 -2
  141. package/dist/migration-provider-api.js +1 -2
  142. package/dist/native-session-binding-api.js +1 -2
  143. package/dist/provider-discovery.js +1 -1
  144. package/dist/session-history-worker-entrypoint.js +12 -0
  145. package/dist/session-history-worker-runtime.js +7 -18
  146. package/dist/session-history.worker.js +18 -2
  147. package/openclaw.plugin.json +1 -1
  148. package/package.json +6 -6
  149. package/dist/.setup/attempt-terminal-jO5IMj9K.mjs +0 -2
  150. package/dist/.setup/command-rpc-CUy4Bo-0.mjs +0 -247
  151. package/dist/.setup/compact-BCCjM_cb.mjs +0 -808
  152. package/dist/.setup/inference-context-DNlGwzwy.mjs +0 -91
  153. package/dist/.setup/managed-binary-BtIjV7yN.mjs +0 -175
  154. package/dist/.setup/native-execution-policy-MXEe7PB3.mjs +0 -75
  155. package/dist/.setup/protocol-CANUwXJ3.mjs +0 -17
  156. package/dist/.setup/side-question-COaYBoON.mjs +0 -826
@@ -33,7 +33,7 @@ async function describeCodexImages(req, options) {
33
33
  const model = req.model.trim();
34
34
  if (!model) throw new Error("Codex image understanding requires model id.");
35
35
  req.signal?.throwIfAborted();
36
- const { runBoundedCodexAppServerTurn } = await import("./.setup/bounded-turn-BmChqNaK.mjs");
36
+ const { runBoundedCodexAppServerTurn } = await import("./.setup/bounded-turn-mN_ekXYW.mjs");
37
37
  req.signal?.throwIfAborted();
38
38
  const { text } = await runBoundedCodexAppServerTurn({
39
39
  config: req.cfg,
@@ -73,7 +73,7 @@ async function extractCodexStructured(req, options) {
73
73
  if (req.input.length === 0) throw new Error("Codex structured extraction requires at least one input.");
74
74
  if (!req.input.some((entry) => entry.type === "image")) throw new Error("Codex structured extraction requires at least one image input.");
75
75
  req.signal?.throwIfAborted();
76
- const { runBoundedCodexAppServerTurn } = await import("./.setup/bounded-turn-BmChqNaK.mjs");
76
+ const { runBoundedCodexAppServerTurn } = await import("./.setup/bounded-turn-mN_ekXYW.mjs");
77
77
  req.signal?.throwIfAborted();
78
78
  const { text } = await runBoundedCodexAppServerTurn({
79
79
  config: req.cfg,
@@ -1,2 +1 @@
1
- import { t as buildCodexMigrationProvider } from "./.setup/provider-BCXRBKEb.mjs";
2
- export { buildCodexMigrationProvider as buildMigrationProvider };
1
+ export { t as buildMigrationProvider } from "./.setup/provider-wj_LFJH3.mjs";
@@ -1,2 +1 @@
1
- import { a as readStoredCodexAppServerBinding } from "./.setup/session-binding-record-codec-BpH8u_G9.mjs";
2
- export { readStoredCodexAppServerBinding as readNativeSessionBindingRecord };
1
+ export { a as readNativeSessionBindingRecord } from "./.setup/session-binding-record-codec-DvmOI7g_.mjs";
@@ -5,7 +5,7 @@ const codexProviderDiscovery = {
5
5
  auth: [],
6
6
  prepareSyntheticAuth: async ({ config, provider, env, signal, pluginRoot }) => {
7
7
  if (provider !== "codex") return;
8
- const { probeCodexNativeAuth } = await import("./.setup/native-auth-esN5MdIv.mjs");
8
+ const { probeCodexNativeAuth } = await import("./.setup/native-auth-DpZIaY8N.mjs");
9
9
  return await probeCodexNativeAuth({
10
10
  config,
11
11
  env,
@@ -0,0 +1,12 @@
1
+ //#region extensions/codex/session-history-worker-entrypoint.ts
2
+ const codexHistoryWorkerEntrypoint = {
3
+ currentModuleUrl: import.meta.url,
4
+ sourceWorkerName: "session-history.worker",
5
+ distWorkerPath: "extensions/codex/session-history.worker.js",
6
+ package: {
7
+ name: "@openclaw/codex",
8
+ distWorkerPath: "session-history.worker.js"
9
+ }
10
+ };
11
+ //#endregion
12
+ export { codexHistoryWorkerEntrypoint };
@@ -1,21 +1,12 @@
1
+ import { codexHistoryWorkerEntrypoint } from "./session-history-worker-entrypoint.js";
1
2
  import { n as codexHistoryRejectionReason } from "./.setup/history-rejection-B4nOXNXF.mjs";
2
3
  import { t as consumeCodexHistory } from "./.setup/session-history-read-BI_2jRED.mjs";
3
- import { n as projectVerifiedSettledCodexMessages, t as runCodexHistoryWorkerInput } from "./.setup/session-history.worker-DJQfek5p.mjs";
4
- import { n as resolveCodexHistoryTarget } from "./.setup/session-history-BO6i_pfk.mjs";
4
+ import { n as resolveCodexHistoryTarget } from "./.setup/session-history-7W0cgTXF.mjs";
5
+ import { t as projectVerifiedSettledCodexMessages } from "./.setup/settled-turn-evidence--tRW6fSm.mjs";
5
6
  import { WorkerTaskPool, resolveRuntimeWorkerArgv, resolveRuntimeWorkerUrl } from "openclaw/plugin-sdk/process-runtime";
6
- import { isIncognitoSessionKey } from "openclaw/plugin-sdk/session-key-runtime";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import { SessionTranscriptReadFenceError, captureCodexSessionContextReader, readCodexSessionContextProjection } from "openclaw/plugin-sdk/codex-session-transcript-runtime";
9
9
  //#region extensions/codex/session-history-worker-runtime.ts
10
- const codexHistoryWorkerEntrypoint = {
11
- currentModuleUrl: import.meta.url,
12
- sourceWorkerName: "session-history.worker",
13
- distWorkerPath: "extensions/codex/session-history.worker.js",
14
- package: {
15
- name: "@openclaw/codex",
16
- distWorkerPath: "session-history.worker.js"
17
- }
18
- };
19
10
  const sourceWorkerUrl = resolveRuntimeWorkerUrl(codexHistoryWorkerEntrypoint);
20
11
  const sourceNeedsBuiltFallback = /\.[cm]?ts$/u.test(sourceWorkerUrl.pathname) && (typeof process.versions.bun === "string" || resolveRuntimeWorkerArgv(sourceWorkerUrl).length === 1);
21
12
  const historyReads = new WorkerTaskPool({
@@ -23,14 +14,12 @@ const historyReads = new WorkerTaskPool({
23
14
  ...codexHistoryWorkerEntrypoint,
24
15
  root: fileURLToPath(new URL("../..", import.meta.url))
25
16
  }) : sourceWorkerUrl,
26
- workerClass: "reader",
27
- maxWorkers: 1
17
+ workerClass: "reader"
28
18
  });
29
19
  async function projectCodexSettledHistoryInWorker(target, signal, contextReader) {
30
20
  signal?.throwIfAborted();
31
- if (contextReader && !target.sessionTarget) throw new Error("Actor history requires a captured sessionTarget");
32
- const resolved = resolveCodexHistoryTarget(target);
33
- const reader = contextReader ?? (target.sessionTarget && resolved.kind === "sqlite" ? captureCodexSessionContextReader({
21
+ const resolved = await resolveCodexHistoryTarget(target);
22
+ const reader = contextReader ?? (resolved.kind === "sqlite" ? captureCodexSessionContextReader({
34
23
  ...target.sessionTarget,
35
24
  ...resolved.target
36
25
  }, signal) : void 0);
@@ -79,7 +68,7 @@ async function projectCodexSettledHistoryInWorker(target, signal, contextReader)
79
68
  physicalSource,
80
69
  evidence
81
70
  };
82
- const result = isIncognitoSessionKey(captured.sessionKey) ? await runCodexHistoryWorkerInput(input) : await historyReads.run(input, {
71
+ const result = await historyReads.run(input, {
83
72
  timeoutMs: 6e4,
84
73
  signal
85
74
  });
@@ -1,2 +1,18 @@
1
- import { t as runCodexHistoryWorkerInput } from "./.setup/session-history.worker-DJQfek5p.mjs";
2
- export { runCodexHistoryWorkerInput };
1
+ import { n as readCodexNativeHistory } from "./.setup/session-history-read-BI_2jRED.mjs";
2
+ import { t as projectVerifiedSettledCodexMessages } from "./.setup/settled-turn-evidence--tRW6fSm.mjs";
3
+ import { serveWorkerTasks } from "openclaw/plugin-sdk/worker-task-server";
4
+ //#region extensions/codex/session-history.worker.ts
5
+ async function runCodexHistoryWorkerInput(input) {
6
+ const request = input;
7
+ let version;
8
+ const onSnapshot = (value) => {
9
+ version = value;
10
+ };
11
+ return {
12
+ result: await readCodexNativeHistory(request.target, request.sessionId, (messages) => projectVerifiedSettledCodexMessages(messages, request.evidence), request.admission, onSnapshot, request.physicalSource),
13
+ version
14
+ };
15
+ }
16
+ serveWorkerTasks(runCodexHistoryWorkerInput);
17
+ //#endregion
18
+ export {};
@@ -753,7 +753,7 @@
753
753
  },
754
754
  "sessionCatalog.homes": {
755
755
  "label": "Additional Codex Homes",
756
- "help": "Existing local Codex home directories to include in native session discovery. String paths use the canonical directory basename as their label; object entries can override it with label. Paths are canonicalized and deduplicated. Requires appServer.transport=stdio and a Gateway restart.",
756
+ "help": "Existing local Codex home directories to include in native session discovery. String paths use the last directory name of the resolved path as their label; object entries can override it with label. Paths are resolved and duplicates are removed. Requires appServer.transport=stdio and a Gateway restart.",
757
757
  "advanced": true
758
758
  },
759
759
  "codexDynamicToolsLoading": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.10.5-beta.3",
3
+ "version": "2026.10.10-beta.1",
4
4
  "description": "OpenClaw Codex app-server harness and native session supervision plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,10 +9,10 @@
9
9
  "type": "module",
10
10
  "dependencies": {
11
11
  "@openai/codex": "0.160.0",
12
- "@openclaw/fs-safe": "0.25.0",
12
+ "@openclaw/fs-safe": "0.26.5",
13
13
  "semver": "7.8.5",
14
14
  "smol-toml": "1.9.0",
15
- "typebox": "1.3.34",
15
+ "typebox": "1.3.35",
16
16
  "ws": "8.22.0",
17
17
  "zod": "4.6.5"
18
18
  },
@@ -38,10 +38,10 @@
38
38
  ]
39
39
  },
40
40
  "compat": {
41
- "pluginApi": ">=2026.10.5-beta.3"
41
+ "pluginApi": ">=2026.10.10-beta.1"
42
42
  },
43
43
  "build": {
44
- "openclawVersion": "2026.10.5-beta.3",
44
+ "openclawVersion": "2026.10.10-beta.1",
45
45
  "workerEntries": [
46
46
  "./catalog-page.worker.ts"
47
47
  ]
@@ -66,7 +66,7 @@
66
66
  "assets/activity.svg"
67
67
  ],
68
68
  "peerDependencies": {
69
- "openclaw": ">=2026.10.5-beta.3"
69
+ "openclaw": ">=2026.10.10-beta.1"
70
70
  },
71
71
  "peerDependenciesMeta": {
72
72
  "openclaw": {
@@ -1,2 +0,0 @@
1
- import { agentHarnessAttemptTerminal as attemptTerminal } from "openclaw/plugin-sdk/agent-harness-runtime";
2
- export { attemptTerminal as t };
@@ -1,247 +0,0 @@
1
- import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
- import { o as isCodexAppServerOverloadError, r as CodexAppServerRpcError } from "./rpc-error-C98SHchT.mjs";
3
- import { n as describeControlFailure, t as CODEX_CONTROL_METHODS } from "./capabilities-DbOzOglY.mjs";
4
- import { a as withCodexAppServerJsonClient, r as requestCodexAppServerJson } from "./request-DInueZ2q.mjs";
5
- import "./config-C1YVVLEA.mjs";
6
- import { n as resolveCodexAppServerRuntimeOptions, r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
7
- import { a as resolveCodexAppServerAuthProfileStore, r as resolveCodexAppServerAuthProfileId } from "./auth-profile-CgHQ8Vot.mjs";
8
- import { nt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-CCz9ldpr.mjs";
9
- import { a as isCodexAppServerIndeterminateRequestCancellationError, o as isCodexAppServerIndeterminateTransportError } from "./client-aPKNc4Ii.mjs";
10
- import { o as closeCodexStartupClientBestEffort } from "./attempt-client-cleanup-D3YvP0N7.mjs";
11
- import { r as prepareCodexAppServerAuthBinding } from "./auth-binding-BaxlhaNx.mjs";
12
- import { r as listCodexAppServerModels } from "./models-BB0l-gUb.mjs";
13
- import { n as createCodexSessionGenerationSupersededError } from "./session-binding-JEHNMPsr.mjs";
14
- import { t as resumeCodexAppServerThread } from "./thread-resume-C6qsk8_o.mjs";
15
- import { t as __exportAll } from "./session-binding-sidecars-DD-enC8w.mjs";
16
- import { resolveAgentDir, resolveSessionAgentIdsStrict } from "openclaw/plugin-sdk/agent-scope-runtime";
17
- import { resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/agent-runtime";
18
- import { prepareAgentRuntimeAuth } from "openclaw/plugin-sdk/agent-harness-runtime";
19
- import { getSessionEntry, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
20
- import { resolveSessionModelRef } from "openclaw/plugin-sdk/model-session-runtime";
21
- import { resolveApiKeyForProvider } from "openclaw/plugin-sdk/provider-auth-runtime";
22
- //#region extensions/codex/src/command-rpc.ts
23
- var command_rpc_exports = /* @__PURE__ */ __exportAll({
24
- codexControlRequest: () => codexControlRequest,
25
- prepareCodexControlSessionAuth: () => prepareCodexControlSessionAuth,
26
- readCodexStatusProbes: () => readCodexStatusProbes,
27
- requestOptions: () => requestOptions,
28
- safeCodexControlRequest: () => safeCodexControlRequest
29
- });
30
- /** Selects the same prepared auth partition as an admitted session turn. */
31
- async function prepareCodexControlSessionAuth(options, startOptions) {
32
- if (!options.config || !options.sessionKey || !options.sessionId) {
33
- if (options.onResponse) throw new Error("Codex control subscription requires admitted session authority.");
34
- return {
35
- authProfileId: options.authProfileId ?? void 0,
36
- clientOptions: { authProfileId: options.authProfileId }
37
- };
38
- }
39
- const config = options.config;
40
- const { sessionAgentId } = resolveSessionAgentIdsStrict({
41
- config,
42
- sessionKey: options.sessionKey,
43
- agentId: options.agentId
44
- });
45
- const agentDir = options.agentDir ?? resolveAgentDir(config, sessionAgentId);
46
- const workspaceDir = resolveAgentWorkspaceDir(config, sessionAgentId);
47
- const entry = getSessionEntry({
48
- agentId: sessionAgentId,
49
- storePath: options.storePath?.trim() || resolveStorePath(config.session?.store, { agentId: sessionAgentId }),
50
- sessionKey: options.sessionKey,
51
- hydrateSkillPromptRefs: false,
52
- readConsistency: "latest"
53
- });
54
- if (entry?.sessionId !== options.sessionId) throw createCodexSessionGenerationSupersededError(options.sessionId);
55
- if (options.authProfileId === null || startOptions.homeScope === "user") return {
56
- authProfileId: options.authProfileId ?? void 0,
57
- clientOptions: { authProfileId: options.authProfileId }
58
- };
59
- const model = resolveSessionModelRef(config, entry, sessionAgentId);
60
- const authProfileId = entry?.authProfileOverride ?? options.authProfileId;
61
- const store = resolveCodexAppServerAuthProfileStore({
62
- agentDir,
63
- config,
64
- authProfileId
65
- });
66
- const { plan, attempts } = prepareAgentRuntimeAuth({
67
- provider: model.provider,
68
- modelId: model.model,
69
- config,
70
- agentDir,
71
- workspaceDir,
72
- authProfileStore: store,
73
- sessionAuthProfileId: authProfileId,
74
- sessionAuthProfileSource: entry?.authProfileOverrideSource,
75
- harnessId: "codex",
76
- harnessAuthBootstrap: "harness"
77
- });
78
- const route = plan.modelRoute;
79
- const resolvedAuth = route ? await resolveApiKeyForProvider({
80
- provider: route.provider,
81
- modelId: route.modelId,
82
- modelApi: route.api,
83
- cfg: config,
84
- agentDir,
85
- workspaceDir,
86
- store,
87
- profileId: attempts[0]?.profileId,
88
- lockedProfile: plan.forwardedAuthProfileSource === "user",
89
- allowAuthProfileFallback: attempts[0]?.allowAuthProfileFallback,
90
- skipSetupProviderFallback: true
91
- }) : void 0;
92
- const handoff = await resolveCodexAppServerPreparedAuthHandoff({
93
- authRequirement: route?.authRequirement,
94
- resolvedApiKey: resolvedAuth?.apiKey,
95
- authProfileId: route ? plan.forwardedAuthProfileId : resolveCodexAppServerAuthProfileId({
96
- authProfileId: plan.forwardedAuthProfileId,
97
- store,
98
- config
99
- }),
100
- authProfileStore: store,
101
- agentDir,
102
- homeScope: startOptions.homeScope ?? "agent",
103
- config,
104
- subscriptionProfileRequiredError: "Prepared Codex subscription route requires a forwarded OpenAI OAuth or token profile.",
105
- subscriptionProfileUnusableError: "Prepared Codex subscription auth profile is unusable."
106
- });
107
- const binding = handoff.authProfileId ? await prepareCodexAppServerAuthBinding({
108
- authProfileId: handoff.authProfileId,
109
- authProfileStore: store,
110
- agentDir,
111
- config
112
- }) : void 0;
113
- return {
114
- authProfileId: handoff.authProfileId,
115
- clientOptions: {
116
- ...handoff.preparedAuth ? { preparedAuth: handoff.preparedAuth } : { authProfileId: handoff.authProfileId },
117
- authRequirement: route?.authRequirement,
118
- authProfileStore: binding?.authProfileStore ?? store,
119
- authBindingFingerprint: binding?.fingerprint,
120
- agentDir
121
- }
122
- };
123
- }
124
- function requestOptions(pluginConfig, limit, config, agentDir) {
125
- const runtime = resolveCodexAppServerRuntimeOptions({ pluginConfig });
126
- return {
127
- limit,
128
- timeoutMs: runtime.requestTimeoutMs,
129
- startOptions: runtime.start,
130
- config,
131
- agentDir
132
- };
133
- }
134
- async function codexControlRequest(pluginConfig, method, requestParams, inputOptions = {}) {
135
- const options = { ...inputOptions };
136
- try {
137
- options.controlObservation?.phase("prepare");
138
- } catch {}
139
- const runtime = options.startOptions ? resolveCodexSupervisionAppServerRuntimeOptions({ pluginConfig }) : resolveCodexAppServerRuntimeOptions({ pluginConfig });
140
- const startOptions = options.startOptions ?? runtime.start;
141
- const nativeAuthFork = method === "thread/fork" && options.startOptions !== void 0 && options.authProfileId === null;
142
- const auth = options.onResponse && !nativeAuthFork ? await prepareCodexControlSessionAuth(options, startOptions) : {
143
- authProfileId: options.authProfileId ?? void 0,
144
- clientOptions: { authProfileId: options.authProfileId }
145
- };
146
- const controlRequestOptions = {
147
- timeoutMs: options.timeoutMs ?? runtime.requestTimeoutMs,
148
- assertCurrent: options.assertCurrent,
149
- startOptions,
150
- config: options.config,
151
- sessionKey: options.sessionKey,
152
- sessionId: options.sessionId,
153
- agentDir: options.agentDir,
154
- isolated: options.isolated,
155
- ...options.catalogPreview ? {
156
- catalogPreview: true,
157
- catalogPreviewCache: options.catalogPreviewCache,
158
- catalogRows: options.catalogRows
159
- } : {},
160
- ...options.controlObservation ? { controlObservation: options.controlObservation } : {},
161
- ...auth.clientOptions
162
- };
163
- if (options.onResponse || options.beforeRequest) return await withCodexAppServerJsonClient(controlRequestOptions, async (request, client, scope) => {
164
- await options.beforeRequest?.(request, client, scope);
165
- scope.assertCurrent();
166
- let response;
167
- if (method === "thread/resume") {
168
- if (!isJsonObject(requestParams) || typeof requestParams.threadId !== "string") throw new Error("Codex thread/resume requires a thread id.");
169
- response = await resumeCodexAppServerThread({
170
- client,
171
- request: {
172
- ...requestParams,
173
- threadId: requestParams.threadId
174
- },
175
- requestResume: () => request({
176
- method,
177
- requestParams,
178
- assertCurrent: options.assertOwnerCurrent
179
- }),
180
- abandonClient: () => closeCodexStartupClientBestEffort(client)
181
- });
182
- } else try {
183
- response = await request({
184
- method,
185
- requestParams,
186
- assertCurrent: options.assertOwnerCurrent
187
- });
188
- } catch (error) {
189
- if (nativeAuthFork && (isCodexAppServerIndeterminateRequestCancellationError(error) || isCodexAppServerIndeterminateTransportError(error) || error instanceof CodexAppServerRpcError && !isCodexAppServerOverloadError(error))) await closeCodexStartupClientBestEffort(client);
190
- throw error;
191
- }
192
- if (options.onResponse) await options.onResponse(response, client, {
193
- authProfileId: auth.authProfileId,
194
- assertCurrent: scope.assertCurrent
195
- });
196
- else scope.assertCurrent();
197
- return response;
198
- });
199
- return await requestCodexAppServerJson({
200
- method,
201
- requestParams,
202
- ...controlRequestOptions,
203
- ...options.assertOwnerCurrent ? { assertCurrent: () => {
204
- options.assertOwnerCurrent?.();
205
- options.assertCurrent?.();
206
- } } : {}
207
- });
208
- }
209
- async function safeCodexControlRequest(pluginConfig, method, requestParams, options = {}) {
210
- return await safeValue(async () => await codexControlRequest(pluginConfig, method, requestParams, options));
211
- }
212
- async function readCodexStatusProbes(pluginConfig, config, agentDir) {
213
- const options = {
214
- config,
215
- agentDir
216
- };
217
- const probe = (method, params) => safeCodexControlRequest(pluginConfig, method, params, options);
218
- const [models, account, limits, mcps, skills] = await Promise.all([
219
- safeValue(() => listCodexAppServerModels(requestOptions(pluginConfig, 20, config, agentDir))),
220
- probe(CODEX_CONTROL_METHODS.account, { refreshToken: false }),
221
- probe(CODEX_CONTROL_METHODS.rateLimits, void 0),
222
- probe(CODEX_CONTROL_METHODS.listMcpServers, { limit: 100 }),
223
- probe(CODEX_CONTROL_METHODS.listSkills, {})
224
- ]);
225
- return {
226
- models,
227
- account,
228
- limits,
229
- mcps,
230
- skills
231
- };
232
- }
233
- async function safeValue(read) {
234
- try {
235
- return {
236
- ok: true,
237
- value: await read()
238
- };
239
- } catch (error) {
240
- return {
241
- ok: false,
242
- error: describeControlFailure(error)
243
- };
244
- }
245
- }
246
- //#endregion
247
- export { requestOptions as a, readCodexStatusProbes as i, command_rpc_exports as n, safeCodexControlRequest as o, prepareCodexControlSessionAuth as r, codexControlRequest as t };