@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
@@ -1,21 +1,27 @@
1
- import { n as createCodexAuthProfileSelection } from "./auth-profile-selection-hr8ocLtz.mjs";
1
+ import { n as createCodexAuthProfileSelection } from "./auth-profile-selection-Bp5PDk3W.mjs";
2
2
  import { embeddedAgentLog, resolveDefaultAgentDir } from "openclaw/plugin-sdk/agent-harness-registration";
3
3
  import { resolveProviderIdForAuth } from "openclaw/plugin-sdk/provider-auth-aliases";
4
- import { ensureAuthProfileStore, resolveAuthProfileOrder } from "openclaw/plugin-sdk/provider-auth";
4
+ import { ensureAuthProfileStore, ensureAuthProfileStoreAsync, resolveAuthProfileOrder } from "openclaw/plugin-sdk/provider-auth";
5
5
  //#region extensions/codex/src/app-server/auth-profile.ts
6
- /** Synchronous auth-profile selection and native provider identity. */
6
+ /** Worker-backed auth-profile selection and native provider identity. */
7
7
  const CODEX_APP_SERVER_NATIVE_AUTH_PROVIDER = "openai";
8
8
  const PUBLIC_OPENAI_MODEL_PROVIDER = "openai";
9
+ async function resolveModelBackedReviewerPolicyProvider(params) {
10
+ const modelProvider = params.modelProvider?.trim();
11
+ if (modelProvider && modelProvider.toLowerCase() !== "codex") return modelProvider.toLowerCase() === "openai" ? "openai" : modelProvider;
12
+ return await isCodexAppServerNativeAuthProfile(params) ? "openai" : void 0;
13
+ }
9
14
  const { resolveCodexAppServerAuthProfileId, resolveCodexAppServerAuthProfileIdForAgent, resolveCodexAppServerAuthProfileStore } = createCodexAuthProfileSelection({
10
15
  ensureAuthProfileStore,
16
+ ensureAuthProfileStoreAsync,
11
17
  resolveAuthProfileOrder
12
18
  });
13
19
  /** Returns true when an auth profile uses native Codex/OpenAI app-server auth. */
14
- function isCodexAppServerNativeAuthProfile(lookup) {
20
+ async function isCodexAppServerNativeAuthProfile(lookup) {
15
21
  const authProfileId = lookup.authProfileId?.trim();
16
22
  if (!authProfileId) return false;
17
23
  try {
18
- const credential = (lookup.authProfileStore ?? ensureAuthProfileStore(lookup.agentDir?.trim() || resolveDefaultAgentDir(lookup.config ?? {}), {
24
+ const credential = (lookup.authProfileStore ?? await ensureAuthProfileStoreAsync(lookup.agentDir?.trim() || resolveDefaultAgentDir(lookup.config ?? {}), {
19
25
  allowKeychainPrompt: false,
20
26
  config: lookup.config,
21
27
  externalCliProviderIds: [CODEX_APP_SERVER_NATIVE_AUTH_PROVIDER],
@@ -33,11 +39,11 @@ function isCodexAppServerNativeAuthProfile(lookup) {
33
39
  }
34
40
  }
35
41
  /** Hides redundant OpenAI provider attribution for native Codex auth bindings. */
36
- function normalizeCodexAppServerBindingModelProvider(params) {
42
+ async function normalizeCodexAppServerBindingModelProvider(params) {
37
43
  const modelProvider = params.modelProvider?.trim();
38
44
  if (!modelProvider) return;
39
- if (isCodexAppServerNativeAuthProfile(params) && modelProvider.toLowerCase() === PUBLIC_OPENAI_MODEL_PROVIDER) return;
45
+ if (modelProvider.toLowerCase() === PUBLIC_OPENAI_MODEL_PROVIDER && await isCodexAppServerNativeAuthProfile(params)) return;
40
46
  return modelProvider;
41
47
  }
42
48
  //#endregion
43
- export { resolveCodexAppServerAuthProfileStore as a, resolveCodexAppServerAuthProfileIdForAgent as i, normalizeCodexAppServerBindingModelProvider as n, resolveCodexAppServerAuthProfileId as r, isCodexAppServerNativeAuthProfile as t };
49
+ export { resolveCodexAppServerAuthProfileStore as a, resolveCodexAppServerAuthProfileIdForAgent as i, normalizeCodexAppServerBindingModelProvider as n, resolveModelBackedReviewerPolicyProvider as o, resolveCodexAppServerAuthProfileId as r, isCodexAppServerNativeAuthProfile as t };
@@ -5,15 +5,15 @@ const PROFILE_ID = "openai:default";
5
5
  async function collectFindings(config, env) {
6
6
  const declared = config.auth?.profiles?.[PROFILE_ID];
7
7
  if (declared?.provider !== "openai" || declared.mode !== "oauth") return [];
8
- const [{ loadAuthProfileStoreForRuntime }, { listAgentIds, resolveAgentDir }] = await Promise.all([import("openclaw/plugin-sdk/agent-runtime"), import("openclaw/plugin-sdk/agent-scope-runtime")]);
8
+ const [{ loadAuthProfileStoreForRuntimeAsync }, { listAgentIds, resolveAgentDir }] = await Promise.all([import("openclaw/plugin-sdk/agent-runtime"), import("openclaw/plugin-sdk/agent-scope-runtime")]);
9
9
  const findings = [];
10
10
  const missing = [];
11
11
  for (const agentId of listAgentIds(config)) try {
12
- if (!loadAuthProfileStoreForRuntime(resolveAgentDir(config, agentId, env), {
12
+ if (!(await loadAuthProfileStoreForRuntimeAsync(resolveAgentDir(config, agentId, env), {
13
13
  readOnly: true,
14
14
  config,
15
15
  externalCli: { mode: "none" }
16
- }, env).profiles[PROFILE_ID]) missing.push(agentId);
16
+ }, env)).profiles[PROFILE_ID]) missing.push(agentId);
17
17
  } catch (error) {
18
18
  findings.push({
19
19
  checkId: CHECK_ID,
@@ -41,12 +41,19 @@ const codexNativeProfileRecoveryHealthCheck = {
41
41
  };
42
42
  const codexNativeProfileRecoveryService = {
43
43
  id: CHECK_ID,
44
- async start(ctx) {
45
- const findings = await collectFindings(ctx.config, {
46
- ...process.env,
47
- OPENCLAW_STATE_DIR: ctx.stateDir
44
+ apiVersion: 2,
45
+ start(ctx) {
46
+ ctx.scheduler.schedule({
47
+ id: CHECK_ID,
48
+ delayMs: 0,
49
+ async run() {
50
+ const findings = await collectFindings(ctx.config, {
51
+ ...process.env,
52
+ OPENCLAW_STATE_DIR: ctx.stateDir
53
+ });
54
+ if (!ctx.scheduler.signal.aborted) for (const finding of findings) ctx.logger.warn(finding.message);
55
+ }
48
56
  });
49
- for (const finding of findings) ctx.logger.warn(finding.message);
50
57
  }
51
58
  };
52
59
  //#endregion
@@ -2,7 +2,7 @@ import { resolveDefaultAgentDir } from "openclaw/plugin-sdk/agent-harness-regist
2
2
  //#region extensions/codex/src/app-server/auth-profile-selection.ts
3
3
  const CODEX_APP_SERVER_AUTH_PROVIDER = "openai";
4
4
  const CODEX_APP_SERVER_EXTERNAL_CLI_PROVIDER_IDS = [CODEX_APP_SERVER_AUTH_PROVIDER];
5
- function createCodexAuthProfileSelection({ ensureAuthProfileStore, resolveAuthProfileOrder }) {
5
+ function createCodexAuthProfileSelection({ ensureAuthProfileStore, ensureAuthProfileStoreAsync, resolveAuthProfileOrder }) {
6
6
  function resolveCodexAppServerAuthProfileId(params) {
7
7
  const requested = params.authProfileId?.trim();
8
8
  if (requested) return requested;
@@ -12,9 +12,11 @@ function createCodexAuthProfileSelection({ ensureAuthProfileStore, resolveAuthPr
12
12
  provider: CODEX_APP_SERVER_AUTH_PROVIDER
13
13
  })[0]?.trim();
14
14
  }
15
- function resolveCodexAppServerAuthProfileIdForAgent(params) {
15
+ async function resolveCodexAppServerAuthProfileIdForAgent(params) {
16
+ const requested = params.authProfileId?.trim();
17
+ if (requested) return requested;
16
18
  const agentDir = params.agentDir?.trim() || resolveDefaultAgentDir(params.config ?? {});
17
- const store = resolveCodexAppServerAuthProfileStore({
19
+ const store = await resolveCodexAppServerAuthProfileStore({
18
20
  ...params,
19
21
  agentDir
20
22
  });
@@ -23,19 +25,34 @@ function createCodexAuthProfileSelection({ ensureAuthProfileStore, resolveAuthPr
23
25
  store
24
26
  });
25
27
  }
26
- function resolveCodexAppServerAuthProfileStore(params) {
27
- if (params.authProfileStore) return params.authProfileStore;
28
- return ensureAuthProfileStore(params.agentDir, {
28
+ /** Current account selection for a synchronous external-effect guard only. */
29
+ function resolveCodexAppServerAuthProfileIdAtEffect(params) {
30
+ const requested = params.authProfileId?.trim();
31
+ if (requested) return requested;
32
+ const agentDir = params.agentDir?.trim() || resolveDefaultAgentDir(params.config ?? {});
33
+ const store = params.authProfileStore ?? ensureAuthProfileStore(agentDir, storeOptions(params));
34
+ return resolveCodexAppServerAuthProfileId({
35
+ ...params,
36
+ store
37
+ });
38
+ }
39
+ function storeOptions(params) {
40
+ return {
29
41
  profileId: params.authProfileId,
30
42
  allowKeychainPrompt: false,
31
43
  config: params.config,
32
44
  externalCliProviderIds: CODEX_APP_SERVER_EXTERNAL_CLI_PROVIDER_IDS,
33
45
  ...params.authProfileId ? { externalCliProfileIds: [params.authProfileId] } : {}
34
- });
46
+ };
47
+ }
48
+ async function resolveCodexAppServerAuthProfileStore(params) {
49
+ if (params.authProfileStore) return params.authProfileStore;
50
+ return ensureAuthProfileStoreAsync(params.agentDir, storeOptions(params));
35
51
  }
36
52
  return {
37
53
  resolveCodexAppServerAuthProfileId,
38
54
  resolveCodexAppServerAuthProfileIdForAgent,
55
+ resolveCodexAppServerAuthProfileIdAtEffect,
39
56
  resolveCodexAppServerAuthProfileStore
40
57
  };
41
58
  }
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./session-binding-sidecars-DD-enC8w.mjs";
1
+ import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
2
2
  import { AgentHarnessPreflightError } from "openclaw/plugin-sdk/agent-harness-registration";
3
3
  import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
4
4
  //#region extensions/codex/src/app-server/binding-connection.ts
@@ -44,7 +44,7 @@ function requireCodexSupervisionModelSelection(binding) {
44
44
  }
45
45
  /** Registration publishes the resolver; connection policy loads only for an actual request. */
46
46
  async function resolveCodexBindingAppServerConnection(params) {
47
- return (await import("./binding-connection.runtime-DAXn7iFl.mjs")).resolveCodexBindingAppServerConnection(params, catalogHomes.tryGetRuntime());
47
+ return (await import("./binding-connection.runtime-RcWR3vQu.mjs")).resolveCodexBindingAppServerConnection(params, catalogHomes.tryGetRuntime());
48
48
  }
49
49
  //#endregion
50
50
  export { setCodexCatalogConnectionHomeResolver as a, resolveCodexBindingAppServerConnection as i, binding_connection_exports as n, requireCodexSupervisionModelSelection as r, assertCodexSessionRuntimeOwnership as t };
@@ -1,11 +1,12 @@
1
1
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
2
2
  import { n as resolveCodexAppServerLocalHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
3
- import { t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
4
- import { n as resolveCodexAppServerRuntimeOptions, r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
3
+ import { t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-DRb-niJc.mjs";
4
+ import { n as resolveCodexAppServerRuntimeOptions, r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
5
5
  //#region extensions/codex/src/app-server/binding-connection.runtime.ts
6
6
  /** Resolves connection and auth ownership exclusively from the private thread binding. */
7
7
  async function resolveCodexBindingAppServerConnection(params, discoverHomes) {
8
- const { binding, authProfileId, assertCurrent, ...runtimeParams } = params;
8
+ const { binding, authProfileId, assertCurrent, assertCurrentAsync, ...runtimeParams } = params;
9
+ await assertCurrentAsync?.();
9
10
  assertCurrent?.();
10
11
  const usesSupervisionConnection = binding?.connectionScope === "supervision";
11
12
  if (usesSupervisionConnection && readCodexPluginConfig(runtimeParams.pluginConfig).supervision?.enabled !== true) throw new Error("Codex supervision is disabled; refusing to open a native user-home supervised session");
@@ -1,8 +1,8 @@
1
1
  import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
2
2
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
3
- import { i as resolveCodexAppServerHomeScope } from "./config-options-DDzeNQ8m.mjs";
4
- import "./config-C1YVVLEA.mjs";
5
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
3
+ import { i as resolveCodexAppServerHomeScope } from "./config-options-DMFZkd3X.mjs";
4
+ import "./config-BfrAlTMT.mjs";
5
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
6
6
  //#region extensions/codex/src/app-server/bounded-turn-isolation.ts
7
7
  function resolveCodexBoundedTurnIsolation(options) {
8
8
  const pluginConfig = readCodexPluginConfig(options.pluginConfig);
@@ -1,18 +1,17 @@
1
- import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
1
+ import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
2
  import { a as resolveCodexPrivateLauncher, i as readCodexAppServerConfigOptions } from "./launch-args-DbFCehO7.mjs";
3
- import { d as readCodexEffectiveConfig } from "./config-options-DDzeNQ8m.mjs";
4
- import { a as codexPrewriteRejectionCause } from "./rpc-error-C98SHchT.mjs";
5
- import "./config-C1YVVLEA.mjs";
6
- import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
7
- import { u as isCodexAppServerStartSelectionChangedError } from "./shared-client-CCz9ldpr.mjs";
8
- import { _ as assertCodexTurnStartResponse, b as readCodexErrorNotification, g as assertCodexThreadStartResponse, w as createCodexElicitationResponse } from "./client-aPKNc4Ii.mjs";
9
- import { o as closeCodexStartupClientBestEffort, s as interruptCodexTurnAndWaitBestEffort, t as CODEX_APP_SERVER_INTERRUPT_TIMEOUT_MS } from "./attempt-client-cleanup-D3YvP0N7.mjs";
10
- import { t as CodexEphemeralTurn } from "./ephemeral-turn-DAlEbytF.mjs";
11
- import { i as readModelListResult } from "./models-BB0l-gUb.mjs";
12
- import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-BVcvnps8.mjs";
3
+ import { d as readCodexEffectiveConfig } from "./config-options-DMFZkd3X.mjs";
4
+ import { a as codexPrewriteRejectionCause } from "./rpc-error-DemqqaxE.mjs";
5
+ import "./config-BfrAlTMT.mjs";
6
+ import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
7
+ import { C as createCodexElicitationResponse, g as assertCodexTurnStartResponse, h as assertCodexThreadStartResponse, y as readCodexErrorNotification } from "./client-BS8X7HmG.mjs";
8
+ import { o as closeCodexStartupClientBestEffort, s as interruptCodexTurnAndWaitBestEffort, t as CODEX_APP_SERVER_INTERRUPT_TIMEOUT_MS } from "./attempt-client-cleanup-6OcbMH46.mjs";
9
+ import { t as CodexEphemeralTurn } from "./ephemeral-turn-1ZF17fUR.mjs";
10
+ import { i as readModelListResult } from "./models-BWLEUo2E.mjs";
11
+ import { d as mergeCodexThreadConfigs } from "./project-doc-thread-config-B0UI3f1D.mjs";
13
12
  import { n as resolveCodexAppServerReasoningEffort } from "./reasoning-effort-CS9kKWB9.mjs";
14
- import { n as buildCodexRingZeroThreadConfigPatch, p as attestCodexRestrictedToolSurfaceMcpServersDisabled, r as buildCodexRuntimeThreadConfig, t as assertCodexManagedRequirementsDoNotOverrideToolPolicy, u as readCodexInheritedMcpServerNames } from "./thread-requests-BgzJwJtS.mjs";
15
- import { a as resolveCodexPromptError } from "./usage-limit-error-CJoJ_F8V.mjs";
13
+ import { n as buildCodexRingZeroThreadConfigPatch, p as attestCodexRestrictedToolSurfaceMcpServersDisabled, r as buildCodexRuntimeThreadConfig, t as assertCodexManagedRequirementsDoNotOverrideToolPolicy, u as readCodexInheritedMcpServerNames } from "./thread-requests-BjawdIVV.mjs";
14
+ import { a as resolveCodexPromptError } from "./usage-limit-error-DcOSH3J4.mjs";
16
15
  import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime";
17
16
  import { parse } from "smol-toml";
18
17
  import path from "node:path";
@@ -102,6 +101,7 @@ var CodexBoundedTurnTimeoutError = class extends Error {
102
101
  constructor(taskLabel, timeoutMs) {
103
102
  const bound = timeoutMs % 1e3 === 0 ? `${timeoutMs / 1e3}s` : `${timeoutMs}ms`;
104
103
  super(`codex app-server ${taskLabel} turn timed out after ${bound}`);
104
+ this.timeoutMs = timeoutMs;
105
105
  this.name = "TimeoutError";
106
106
  }
107
107
  };
@@ -126,10 +126,10 @@ async function runBoundedCodexAppServerTurn(params) {
126
126
  });
127
127
  });
128
128
  }
129
- async function runBoundedCodexAppServerTurnInWorkspace(params, appServer, workspace, selectionAttempt = 0, timing) {
130
- const totalTimeoutMs = timing?.timeoutMs ?? resolveTimerTimeoutMs(params.timeoutMs, 100, 100);
129
+ async function runBoundedCodexAppServerTurnInWorkspace(params, appServer, workspace) {
130
+ const totalTimeoutMs = resolveTimerTimeoutMs(params.timeoutMs, 100, 100);
131
131
  const timeoutError = new CodexBoundedTurnTimeoutError(params.taskLabel, totalTimeoutMs);
132
- const deadline = timing?.deadline ?? performance.now() + totalTimeoutMs;
132
+ const deadline = performance.now() + totalTimeoutMs;
133
133
  const timeoutMs = deadline - performance.now();
134
134
  if (timeoutMs <= 0) throw timeoutError;
135
135
  params.assertCurrent?.();
@@ -146,7 +146,7 @@ async function runBoundedCodexAppServerTurnInWorkspace(params, appServer, worksp
146
146
  assertCurrent: params.assertCurrent,
147
147
  ...params.signal ? { abandonSignal: params.signal } : {}
148
148
  };
149
- const client = params.options.clientFactory ? await params.options.clientFactory(clientOptions) : await import("./shared-client-CCz9ldpr.mjs").then((n) => n.v).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
149
+ const client = params.options.clientFactory ? await params.options.clientFactory(clientOptions) : await import("./shared-client-CE_uY0A1.mjs").then((n) => n.m).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
150
150
  ...clientOptions,
151
151
  authProfileStore: params.authProfileStore
152
152
  }));
@@ -273,17 +273,13 @@ async function runBoundedCodexAppServerTurnInWorkspace(params, appServer, worksp
273
273
  }
274
274
  } catch (error) {
275
275
  if (abortController.signal.aborted) throw resolveCodexBoundedTurnAbortError(abortController.signal, params.taskLabel, timeoutError);
276
- if (!ownsClient || !isCodexAppServerStartSelectionChangedError(error) || selectionAttempt !== 0) throw codexPrewriteRejectionCause(error);
276
+ throw codexPrewriteRejectionCause(error);
277
277
  } finally {
278
278
  clearTimeout(timeout);
279
279
  params.signal?.removeEventListener("abort", abortFromCaller);
280
280
  await interruptPromise;
281
281
  if (ownsClient) await closeCodexStartupClientBestEffort(client);
282
282
  }
283
- return await runBoundedCodexAppServerTurnInWorkspace(params, appServer, workspace, selectionAttempt + 1, {
284
- deadline,
285
- timeoutMs: totalTimeoutMs
286
- });
287
283
  }
288
284
  function resolveBoundedThreadConfig(params, workspace, inheritedMcpServerNames, enableManagedHooks) {
289
285
  const configs = [
@@ -1,5 +1,5 @@
1
1
  //#region extensions/codex/package.json
2
- var version = "2026.10.5-beta.3";
2
+ var version = "2026.10.10-beta.1";
3
3
  //#endregion
4
4
  //#region extensions/codex/src/build-state.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { r as CodexAppServerRpcError } from "./rpc-error-C98SHchT.mjs";
1
+ import { r as CodexAppServerRpcError } from "./rpc-error-DemqqaxE.mjs";
2
2
  //#region extensions/codex/src/app-server/capabilities.ts
3
3
  const CODEX_CONTROL_METHODS = {
4
4
  account: "account/read",