@openclaw/codex 2026.10.5-beta.3 → 2026.10.5-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 (57) hide show
  1. package/dist/.setup/{account-usage-runtime-CBR8imwK.mjs → account-usage-runtime-CoVpNIlD.mjs} +1 -1
  2. package/dist/.setup/{apply-CfWD3Bk6.mjs → apply-BXDMd05l.mjs} +4 -4
  3. package/dist/.setup/{attempt-client-cleanup-D3YvP0N7.mjs → attempt-client-cleanup-zNuNTKVr.mjs} +4 -4
  4. package/dist/.setup/{auth-cache-key-BzYrcgwJ.mjs → auth-cache-key-f8ODJ_OX.mjs} +1 -1
  5. package/dist/.setup/{bounded-turn-BmChqNaK.mjs → bounded-turn-DfIJtRlv.mjs} +7 -7
  6. package/dist/.setup/{build-state-sjOWPg_o.mjs → build-state-Ds14X10-.mjs} +1 -1
  7. package/dist/.setup/{client-aPKNc4Ii.mjs → client-D93nbdB8.mjs} +3 -3
  8. package/dist/.setup/{client-catalog-response-Du2GmrOV.mjs → client-catalog-response-CuVLp4I0.mjs} +1 -1
  9. package/dist/.setup/{command-dispatch-CF6mgl3u.mjs → command-dispatch-DxdH5a9-.mjs} +1 -1
  10. package/dist/.setup/{command-handlers-DlycReQg.mjs → command-handlers-fiYvYYq0.mjs} +10 -10
  11. package/dist/.setup/{command-rpc-CUy4Bo-0.mjs → command-rpc-HIvsy3wS.mjs} +6 -6
  12. package/dist/.setup/{compact-BCCjM_cb.mjs → compact-ClZ7Ar7L.mjs} +9 -9
  13. package/dist/.setup/{computer-use-C6yYfm6-.mjs → computer-use-DL2v3Kxq.mjs} +4 -4
  14. package/dist/.setup/{conversation-binding-CP_mK17t.mjs → conversation-binding-BieJZRRV.mjs} +7 -7
  15. package/dist/.setup/{dynamic-tool-build-DKko0Jjw.mjs → dynamic-tool-build-DcaPmBlE.mjs} +1 -1
  16. package/dist/.setup/{dynamic-tools-8hqa1jVc.mjs → dynamic-tools-CnQFnNKH.mjs} +6 -6
  17. package/dist/.setup/{effective-mcp-catalog-uIZ4w7Nh.mjs → effective-mcp-catalog-B5HKFZNK.mjs} +4 -4
  18. package/dist/.setup/{ephemeral-turn-DAlEbytF.mjs → ephemeral-turn-De3qb8EQ.mjs} +2 -2
  19. package/dist/.setup/{isolated-completion-BWEjVHBf.mjs → isolated-completion-BPJdvk5F.mjs} +3 -3
  20. package/dist/.setup/{mcp-app-session-preparation-CJR8ib5s.mjs → mcp-app-session-preparation-Dz2GOwyE.mjs} +3 -3
  21. package/dist/.setup/{model-catalog-Ben3FsFp.mjs → model-catalog-ZNwltCKl.mjs} +5 -5
  22. package/dist/.setup/{models-BB0l-gUb.mjs → models-BHpbAuz8.mjs} +3 -3
  23. package/dist/.setup/{native-hook-relay-DQzvuJ-W.mjs → native-hook-relay-wq7jrNLk.mjs} +3 -3
  24. package/dist/.setup/{native-mcp-app-UkwXOBfS.mjs → native-mcp-app-DX3nyTtc.mjs} +4 -4
  25. package/dist/.setup/{native-skill-isolation-DoRxgQPX.mjs → native-skill-isolation-DSBeF-Yy.mjs} +2 -2
  26. package/dist/.setup/{native-subagent-monitor-DC4clzAD.mjs → native-subagent-monitor-DOLEIf9r.mjs} +6 -6
  27. package/dist/.setup/{plan-DFVngccH.mjs → plan-41-YOBMq.mjs} +2 -2
  28. package/dist/.setup/{plugin-approval-roundtrip-68FoMlaZ.mjs → plugin-approval-roundtrip-CD88q3yx.mjs} +1 -1
  29. package/dist/.setup/{provider-BCXRBKEb.mjs → provider-LWKll6dV.mjs} +4 -4
  30. package/dist/.setup/{provider-capabilities-DWH29sy3.mjs → provider-capabilities-Dn2WwH4P.mjs} +1 -1
  31. package/dist/.setup/{request-DInueZ2q.mjs → request-Bo0kKABI.mjs} +1 -1
  32. package/dist/.setup/{run-attempt-BN-0TO0P.mjs → run-attempt-ClU8MxhZ.mjs} +21 -21
  33. package/dist/.setup/{session-catalog-events-DujfzcAY.mjs → session-catalog-events-kR2Ot6nX.mjs} +3 -3
  34. package/dist/.setup/{session-catalog-index-DQ9_sj42.mjs → session-catalog-index-CrnfVEnT.mjs} +4 -4
  35. package/dist/.setup/{session-catalog-native-projection-BY2zMkMO.mjs → session-catalog-native-projection-CWqCU1I_.mjs} +1 -1
  36. package/dist/.setup/{session-catalog-projection-BTXOyzl_.mjs → session-catalog-projection-BzHiV818.mjs} +1 -1
  37. package/dist/.setup/{session-catalog-source-yQpy2Y6b.mjs → session-catalog-source-DGuRdGvM.mjs} +1 -1
  38. package/dist/.setup/{session-retirement-CIDqLMII.mjs → session-retirement-B3U5hpGJ.mjs} +5 -5
  39. package/dist/.setup/{settled-turn-finalizer-C6tjH8RJ.mjs → settled-turn-finalizer-CYCVpTv2.mjs} +3 -3
  40. package/dist/.setup/{shared-client-CCz9ldpr.mjs → shared-client-BCx1wbyA.mjs} +5 -5
  41. package/dist/.setup/{side-question-COaYBoON.mjs → side-question-Bz2UQW0l.mjs} +9 -9
  42. package/dist/.setup/{source-DsubBCYm.mjs → source-DipMO9hL.mjs} +1 -1
  43. package/dist/.setup/{thread-lifecycle-run-CxVfnkG-.mjs → thread-lifecycle-run-C_aYiYqk.mjs} +11 -11
  44. package/dist/.setup/{thread-ownership-_2e1sjfi.mjs → thread-ownership-BoUd0i6L.mjs} +3 -3
  45. package/dist/.setup/{thread-policy-CLTwg3ZA.mjs → thread-policy-B3wBRNph.mjs} +3 -3
  46. package/dist/.setup/{thread-resume-C6qsk8_o.mjs → thread-resume-D-3bsr1j.mjs} +4 -4
  47. package/dist/.setup/{turn-router-CSJl3yYQ.mjs → turn-router-DBVMToGo.mjs} +1 -1
  48. package/dist/.setup/{upstream-session-fork-BC45E4Pe.mjs → upstream-session-fork-p5fwKi7w.mjs} +8 -8
  49. package/dist/.setup/{usage-1eNaNDM2.mjs → usage-C2Kq7oej.mjs} +1 -1
  50. package/dist/.setup/{usage-limit-error-CJoJ_F8V.mjs → usage-limit-error-BQX8RHAd.mjs} +1 -1
  51. package/dist/.setup/{web-search-provider.runtime-Qq_wUrvv.mjs → web-search-provider.runtime-D89djc7e.mjs} +1 -1
  52. package/dist/catalog-page.worker.js +1 -1
  53. package/dist/harness.js +15 -15
  54. package/dist/index.js +24 -24
  55. package/dist/media-understanding-provider.js +2 -2
  56. package/dist/migration-provider-api.js +1 -1
  57. package/package.json +4 -4
package/dist/harness.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { CODEX_NATIVE_TOOL_REQUIREMENTS, CODEX_TOOL_POLICY_SAFE_DENY_NAMES } from "./native-tool-policy.js";
2
2
  import { n as readCodexRuntimeModelId } from "./.setup/model-runtime-BdqzOMkU.mjs";
3
3
  import { m as sessionBindingIdentity } from "./.setup/session-binding-record-DU_0biMD.mjs";
4
- import { t as codexBuildSymbol } from "./.setup/build-state-sjOWPg_o.mjs";
4
+ import { t as codexBuildSymbol } from "./.setup/build-state-Ds14X10-.mjs";
5
5
  import { resolvePluginConfigObject } from "openclaw/plugin-sdk/plugin-config-runtime";
6
6
  import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  //#region extensions/codex/harness.ts
@@ -93,7 +93,7 @@ function createCodexAppServerAgentHarness(options) {
93
93
  executionEnvironment: "host-only",
94
94
  upstreamKinds: ["codex-app-server"],
95
95
  fork: async (params) => {
96
- const { forkCodexUpstreamSession } = await import("./.setup/upstream-session-fork-BC45E4Pe.mjs");
96
+ const { forkCodexUpstreamSession } = await import("./.setup/upstream-session-fork-p5fwKi7w.mjs");
97
97
  return await forkCodexUpstreamSession(params, {
98
98
  bindingStore: options.bindingStore,
99
99
  controlFactory: sessionCatalogControlFactory,
@@ -115,11 +115,11 @@ function createCodexAppServerAgentHarness(options) {
115
115
  return validateCodexAppServerRuntimeArtifact(binding, void 0, resolveCodexAppServerRuntimeOptions({ pluginConfig: resolveAttemptPluginConfig(options.resolveConfig?.()) }).start);
116
116
  } },
117
117
  fetchUsageSnapshot: async (ctx) => {
118
- const { fetchCodexAppServerUsageSnapshot } = await import("./.setup/usage-1eNaNDM2.mjs");
118
+ const { fetchCodexAppServerUsageSnapshot } = await import("./.setup/usage-C2Kq7oej.mjs");
119
119
  return await fetchCodexAppServerUsageSnapshot(ctx, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
120
120
  },
121
121
  loadModelCatalog: async (params) => {
122
- const { createCodexAppServerModelCatalog } = await import("./.setup/model-catalog-Ben3FsFp.mjs");
122
+ const { createCodexAppServerModelCatalog } = await import("./.setup/model-catalog-ZNwltCKl.mjs");
123
123
  if (disposed) return { entries: [] };
124
124
  modelCatalog ??= createCodexAppServerModelCatalog(harnessRuntimeId);
125
125
  return { entries: await modelCatalog.load(params, resolveAttemptPluginConfig(params.config)) };
@@ -129,7 +129,7 @@ function createCodexAppServerAgentHarness(options) {
129
129
  return asOptionalRecord(asOptionalRecord(resolveAttemptPluginConfig(config))?.appServer)?.enableUltrafast === false ? serviceTiers.filter((tier) => tier !== "ultrafast") : serviceTiers;
130
130
  },
131
131
  acquireMcpAppRuntime: async (params) => {
132
- const { acquireCodexMcpAppRuntime } = await import("./.setup/effective-mcp-catalog-uIZ4w7Nh.mjs");
132
+ const { acquireCodexMcpAppRuntime } = await import("./.setup/effective-mcp-catalog-B5HKFZNK.mjs");
133
133
  if (disposed) return;
134
134
  params.assertCurrent();
135
135
  return await acquireCodexMcpAppRuntime(params, {
@@ -138,7 +138,7 @@ function createCodexAppServerAgentHarness(options) {
138
138
  });
139
139
  },
140
140
  loadMcpToolCatalog: async (params) => {
141
- const { loadCodexEffectiveMcpCatalog } = await import("./.setup/effective-mcp-catalog-uIZ4w7Nh.mjs");
141
+ const { loadCodexEffectiveMcpCatalog } = await import("./.setup/effective-mcp-catalog-B5HKFZNK.mjs");
142
142
  return await loadCodexEffectiveMcpCatalog(params, { bindingStore: options.bindingStore });
143
143
  },
144
144
  supports: (ctx) => {
@@ -170,7 +170,7 @@ function createCodexAppServerAgentHarness(options) {
170
170
  };
171
171
  },
172
172
  runAttempt: async (params) => {
173
- const { runCodexAppServerAttempt } = await import("./.setup/run-attempt-BN-0TO0P.mjs");
173
+ const { runCodexAppServerAttempt } = await import("./.setup/run-attempt-ClU8MxhZ.mjs");
174
174
  const { planCodexCyberEscalation, readCodexCyberAttemptVerdict, recordCodexCyberTargetUnavailable, reserveCodexCyberProbe, resolveCodexCyberFailoverConfig } = await import("./.setup/cyber-failover-D4dgNfFf.mjs");
175
175
  const { emitCodexCyberNotice } = await import("./.setup/cyber-failover-notice-ljgGGL0s.mjs");
176
176
  const pluginConfig = resolveAttemptPluginConfig(params.config);
@@ -236,7 +236,7 @@ function createCodexAppServerAgentHarness(options) {
236
236
  const { runHostPreparedIsolatedCompletion } = await import("openclaw/plugin-sdk/simple-completion-runtime");
237
237
  return runHostPreparedIsolatedCompletion(params);
238
238
  }
239
- const { runCodexIsolatedCompletion } = await import("./.setup/isolated-completion-BWEjVHBf.mjs");
239
+ const { runCodexIsolatedCompletion } = await import("./.setup/isolated-completion-BPJdvk5F.mjs");
240
240
  return runCodexIsolatedCompletion(params, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
241
241
  },
242
242
  runIsolatedCompletion: async (params) => {
@@ -252,11 +252,11 @@ function createCodexAppServerAgentHarness(options) {
252
252
  });
253
253
  },
254
254
  finalizeSettledTurn: async (params) => {
255
- const { runCodexSettledTurnFinalization } = await import("./.setup/settled-turn-finalizer-C6tjH8RJ.mjs");
255
+ const { runCodexSettledTurnFinalization } = await import("./.setup/settled-turn-finalizer-CYCVpTv2.mjs");
256
256
  return runCodexSettledTurnFinalization(params, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
257
257
  },
258
258
  runSideQuestion: async (params) => {
259
- const { runCodexAppServerSideQuestion } = await import("./.setup/side-question-COaYBoON.mjs");
259
+ const { runCodexAppServerSideQuestion } = await import("./.setup/side-question-Bz2UQW0l.mjs");
260
260
  return runCodexAppServerSideQuestion(params, {
261
261
  bindingStore: options.bindingStore,
262
262
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
@@ -267,25 +267,25 @@ function createCodexAppServerAgentHarness(options) {
267
267
  },
268
268
  compact: async (params) => {
269
269
  const admittedParams = requireCodexCompactionCapabilities(params);
270
- const { maybeCompactCodexAppServerSession } = await import("./.setup/compact-BCCjM_cb.mjs");
270
+ const { maybeCompactCodexAppServerSession } = await import("./.setup/compact-ClZ7Ar7L.mjs");
271
271
  return maybeCompactCodexAppServerSession(admittedParams, {
272
272
  bindingStore: options.bindingStore,
273
273
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig
274
274
  });
275
275
  },
276
276
  withSessionDeletion: async (params, run) => {
277
- const { withCodexAppServerSessionDeletion } = await import("./.setup/session-retirement-CIDqLMII.mjs");
277
+ const { withCodexAppServerSessionDeletion } = await import("./.setup/session-retirement-B3U5hpGJ.mjs");
278
278
  params.assertCurrent();
279
279
  return withCodexAppServerSessionDeletion(options.bindingStore, params, run);
280
280
  },
281
281
  withSessionContextReset: async (params, run) => {
282
- const { withCodexAppServerSessionContextReset } = await import("./.setup/session-retirement-CIDqLMII.mjs");
282
+ const { withCodexAppServerSessionContextReset } = await import("./.setup/session-retirement-B3U5hpGJ.mjs");
283
283
  params.assertCurrent();
284
284
  return withCodexAppServerSessionContextReset(options.bindingStore, params, run);
285
285
  },
286
286
  reset: async (params) => {
287
287
  if (params.sessionId && params.reason !== "deleted") {
288
- const [{ reclaimCurrentCodexSessionGeneration }, { retireCodexAppServerSessionGeneration }] = await Promise.all([import("./.setup/session-binding-JEHNMPsr.mjs").then((n) => n.a), import("./.setup/session-retirement-CIDqLMII.mjs")]);
288
+ const [{ reclaimCurrentCodexSessionGeneration }, { retireCodexAppServerSessionGeneration }] = await Promise.all([import("./.setup/session-binding-JEHNMPsr.mjs").then((n) => n.a), import("./.setup/session-retirement-B3U5hpGJ.mjs")]);
289
289
  const identity = sessionBindingIdentity({
290
290
  agentId: params.agentId,
291
291
  sessionId: params.sessionId,
@@ -318,7 +318,7 @@ function createCodexAppServerAgentHarness(options) {
318
318
  function createCodexAppServerNativeCompaction(options) {
319
319
  return async (params) => {
320
320
  const admittedParams = requireCodexCompactionCapabilities(params);
321
- const { maybeCompactCodexAppServerSession } = await import("./.setup/compact-BCCjM_cb.mjs");
321
+ const { maybeCompactCodexAppServerSession } = await import("./.setup/compact-ClZ7Ar7L.mjs");
322
322
  return maybeCompactCodexAppServerSession(admittedParams, {
323
323
  bindingStore: options.bindingStore,
324
324
  pluginConfig: options.resolvePluginConfig?.() ?? options.pluginConfig,
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { registerCodexCliMetadata } from "./cli-metadata.js";
2
2
  import { A as unwrapNodeInvokePayload, C as readGatewayParams, E as requireOnlyKeys, S as readControlCursor, _ as normalizeLimit, a as CODEX_LOCAL_SESSION_HOST_ID, b as parseTranscriptPage, f as catalogError, g as isInteractiveThreadSource, h as filterCatalogPageByTitle, i as CODEX_CATALOG_TRANSCRIPT_READ_COMMAND, j as CODEX_INTERACTIVE_THREAD_SOURCE_KINDS, l as MAX_TRANSCRIPT_PAGE_BYTES, n as CODEX_APP_SERVER_THREADS_LIST_COMMAND, o as CatalogParamsError, r as CODEX_APP_SERVER_THREAD_TURNS_LIST_COMMAND, s as MAX_CURSOR_LENGTH, t as CODEX_APP_SERVER_THREADS_CAPABILITY, u as NODE_INVOKE_TIMEOUT_MS, v as parseCatalogPage, w as readPageParams, x as readBoundedOptionalString, y as parseJsonParams } from "./.setup/session-catalog-parsing-DkeoVn60.mjs";
3
3
  import { i as isJsonObject, n as assertCodexThreadForkParams } from "./.setup/protocol-CANUwXJ3.mjs";
4
4
  import { d as readCurrentCodexNativeSubagentSubmissions, f as readCurrentNativePendingAssignments, l as readCurrentCodexAppServerBinding, m as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced, u as readCurrentCodexAppServerBindings } from "./.setup/session-binding-record-DU_0biMD.mjs";
5
- import { n as defineCodexBuildState } from "./.setup/build-state-sjOWPg_o.mjs";
5
+ import { n as defineCodexBuildState } from "./.setup/build-state-Ds14X10-.mjs";
6
6
  import { createCodexAppServerAgentHarness, createCodexAppServerNativeCompaction } from "./harness.js";
7
7
  import { buildCodexMediaUnderstandingProvider } from "./media-understanding-provider.js";
8
8
  import codexProviderDiscovery from "./provider-discovery.js";
@@ -12,7 +12,7 @@ import { d as readCodexPluginConfig } from "./.setup/config-parsing-DsWSCPHO.mjs
12
12
  import { n as resolveCodexAppServerLocalHomeDir, r as resolveCodexAppServerUserHomeDir, t as resolveCodexAppServerHomeDir } from "./.setup/auth-start-options-BPIPeEX8.mjs";
13
13
  import { r as createCodexAppServerConfig, t as codexAppServerStartOptionsKey } from "./.setup/config-options-DDzeNQ8m.mjs";
14
14
  import { o as setManagedCodexPluginRoot } from "./.setup/managed-binary-BtIjV7yN.mjs";
15
- import { O as createCodexDesktopGenerationService, T as retireSharedCodexAppServerClientsBeforeDesktopGeneration, m as hasActiveSharedCodexAppServerWork, p as getSharedCodexAppServerClientState, s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./.setup/auth-cache-key-BzYrcgwJ.mjs";
15
+ import { O as createCodexDesktopGenerationService, T as retireSharedCodexAppServerClientsBeforeDesktopGeneration, m as hasActiveSharedCodexAppServerWork, p as getSharedCodexAppServerClientState, s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./.setup/auth-cache-key-f8ODJ_OX.mjs";
16
16
  import { i as CODEX_APP_SERVER_BINDING_NAMESPACE, r as CODEX_APP_SERVER_BINDING_MAX_ENTRIES } from "./.setup/session-binding-meta-Lkm5Lpf4.mjs";
17
17
  import { c as createCodexAppServerProcessReaperService } from "./.setup/transport-stdio-CRWTkKOn.mjs";
18
18
  import { n as codexNativeProfileRecoveryService } from "./.setup/auth-profile-health-oHizqgye.mjs";
@@ -20,7 +20,7 @@ import { n as withCodexConversationThreadActivity } from "./.setup/thread-owners
20
20
  import { a as canMutateCodexHost, r as CODEX_NATIVE_EXECUTION_AUTH_ERROR } from "./.setup/command-authorization-AikPDtcc.mjs";
21
21
  import { o as formatCodexDisplayText } from "./.setup/command-formatters-xW9KpoSZ.mjs";
22
22
  import { a as readCodexConversationBindingDataRecord, i as readCodexConversationBindingData, o as resolveCodexDefaultWorkspaceDir } from "./.setup/conversation-binding-data-UgLuTSQT.mjs";
23
- import { t as buildCodexMigrationProvider } from "./.setup/provider-BCXRBKEb.mjs";
23
+ import { t as buildCodexMigrationProvider } from "./.setup/provider-LWKll6dV.mjs";
24
24
  import { r as CodexAppServerRpcError, s as isCodexThreadReadMissingError } from "./.setup/rpc-error-C98SHchT.mjs";
25
25
  import { t as CODEX_CONTROL_METHODS } from "./.setup/capabilities-DbOzOglY.mjs";
26
26
  import { n as filterCodexMarketplacePlugins, t as discoverCodexMarketplacePlugins } from "./.setup/plugin-marketplace-discovery-BblHM3DU.mjs";
@@ -35,10 +35,10 @@ import { r as projectCodexUserItemText } from "./.setup/transcript-history-proje
35
35
  import { r as codexUpstreamContinueResult } from "./.setup/session-upstream-marker-D15C9NHp.mjs";
36
36
  import { t as buildCodexAppServerConnectionFingerprint } from "./.setup/plugin-app-cache-key-Bg9DbDI6.mjs";
37
37
  import { n as readCodexSessionMeta } from "./.setup/session-catalog-provenance-CmsOE5mh.mjs";
38
- import { t as codexCatalogResidentHomeKey } from "./.setup/session-catalog-events-DujfzcAY.mjs";
38
+ import { t as codexCatalogResidentHomeKey } from "./.setup/session-catalog-events-kR2Ot6nX.mjs";
39
39
  import { a as setCodexCatalogConnectionHomeResolver } from "./.setup/binding-connection-B7HAAZSI.mjs";
40
40
  import { n as findCodexAppServerSpawnError } from "./.setup/spawn-error-CL3n6MAa.mjs";
41
- import { r as requestCodexAppServerJson } from "./.setup/request-DInueZ2q.mjs";
41
+ import { r as requestCodexAppServerJson } from "./.setup/request-Bo0kKABI.mjs";
42
42
  import { t as createCodexWebSearchProviderBase } from "./.setup/web-search-provider.shared-BrZmlqyR.mjs";
43
43
  import { normalizePluginsConfig, resolveEffectiveEnableState, resolveLivePluginConfigObject, resolvePluginConfigObject } from "openclaw/plugin-sdk/plugin-config-runtime";
44
44
  import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
@@ -70,7 +70,7 @@ import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
70
70
  //#region extensions/codex/src/account-usage.ts
71
71
  function registerCodexAccountUsage(api) {
72
72
  api.registerGatewayMethod("codex.accountUsage", async (options) => {
73
- const { handleCodexAccountUsage } = await import("./.setup/account-usage-runtime-CBR8imwK.mjs");
73
+ const { handleCodexAccountUsage } = await import("./.setup/account-usage-runtime-CoVpNIlD.mjs");
74
74
  await handleCodexAccountUsage(options);
75
75
  }, { scope: "operator.admin" });
76
76
  }
@@ -98,9 +98,9 @@ function createCodexAppServerConnectionHealthService(options) {
98
98
  return;
99
99
  }
100
100
  if (runtime.start.transport !== "websocket") return;
101
- const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient } = await import("./.setup/shared-client-CCz9ldpr.mjs").then((n) => n.v);
101
+ const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient } = await import("./.setup/shared-client-BCx1wbyA.mjs").then((n) => n.v);
102
102
  const { sleepWithAbort } = await import("openclaw/plugin-sdk/runtime-env");
103
- const { isUnsupportedCodexAppServerVersionError } = await import("./.setup/client-aPKNc4Ii.mjs").then((n) => n.n);
103
+ const { isUnsupportedCodexAppServerVersionError } = await import("./.setup/client-D93nbdB8.mjs").then((n) => n.n);
104
104
  if (signal.aborted) return;
105
105
  let leasedClient;
106
106
  try {
@@ -314,7 +314,7 @@ function createCodexCommand(options) {
314
314
  ...ctx,
315
315
  gatewayClientScopes: ctx.gatewayClientScopes?.slice()
316
316
  };
317
- const { handleCodexCommand } = await import("./.setup/command-dispatch-CF6mgl3u.mjs");
317
+ const { handleCodexCommand } = await import("./.setup/command-dispatch-DxdH5a9-.mjs");
318
318
  return handleCodexCommand(commandContext, options);
319
319
  }
320
320
  };
@@ -385,7 +385,7 @@ async function handleCodexConversationInboundClaim(event, ctx, options) {
385
385
  });
386
386
  if (nativeExecutionBlock) return { text: nativeExecutionBlock };
387
387
  const { getSessionBindingService } = await import("openclaw/plugin-sdk/conversation-binding-runtime");
388
- const { runBoundTurnWithMissingThreadRecovery } = await import("./.setup/conversation-binding-CP_mK17t.mjs");
388
+ const { runBoundTurnWithMissingThreadRecovery } = await import("./.setup/conversation-binding-BieJZRRV.mjs");
389
389
  const current = options.bindingStore.read(identity);
390
390
  if (!isCurrentPublicBinding(publicBinding, getSessionBindingService()) || expected && (!current || current.threadId !== expected.threadId || current.conversationStartId !== expected.conversationStartId) || !expected && current && data.start?.id && current.conversationStartId !== data.start.id) return { text: "This Codex conversation was detached or changed before its message could run." };
391
391
  return await runBoundTurnWithMissingThreadRecovery({
@@ -419,7 +419,7 @@ async function handleCodexConversationBindingResolved(event, options) {
419
419
  const binding = options.bindingStore.read(identity);
420
420
  assertCodexBindingMayBeReplaced(binding, "clearing a denied conversation binding");
421
421
  if (binding && (!data.start?.id || binding.conversationStartId === data.start.id)) await withCodexConversationThreadActivity(identity.bindingId, async () => {
422
- const { retireCodexConversationThreadBinding } = await import("./.setup/thread-ownership-_2e1sjfi.mjs").then((n) => n.o);
422
+ const { retireCodexConversationThreadBinding } = await import("./.setup/thread-ownership-BoUd0i6L.mjs").then((n) => n.o);
423
423
  return retireCodexConversationThreadBinding({
424
424
  bindingStore: options.bindingStore,
425
425
  identity,
@@ -471,7 +471,7 @@ function createCodexPluginsTool(options) {
471
471
  if (runtimeConfig() !== config || !isDeepStrictEqual(options.getPluginConfig(), pluginConfig) || !isDeepStrictEqual(codexBindingConnectionSelection(readBinding()), selection)) throw new Error("Codex plugin discovery ownership changed; retry the request.");
472
472
  };
473
473
  const workspaceDir = binding?.cwd?.trim() || options.context.workspaceDir?.trim() || resolveCodexDefaultWorkspaceDir(pluginConfig);
474
- const request = options.request ?? (await import("./.setup/command-rpc-CUy4Bo-0.mjs").then((n) => n.n)).codexControlRequest;
474
+ const request = options.request ?? (await import("./.setup/command-rpc-HIvsy3wS.mjs").then((n) => n.n)).codexControlRequest;
475
475
  const connection = await resolveCodexBindingAppServerConnection({
476
476
  binding,
477
477
  pluginConfig,
@@ -635,7 +635,7 @@ function createCodexThreadsTool(options) {
635
635
  const threadResult = (response) => jsonResult(mayReadRawTranscripts ? response : redactNativeThreadResponse(response));
636
636
  if ((action === "fork" || action === "rename" || action === "archive" || action === "unarchive") && supervision?.enabled === true && supervision.allowWriteControls !== true) throw new Error("Codex native thread mutations are disabled for this codex plugin supervision config.");
637
637
  const run = async (archiveAdmission) => {
638
- const request = options.request ?? (await import("./.setup/command-rpc-CUy4Bo-0.mjs").then((n) => n.n)).codexControlRequest;
638
+ const request = options.request ?? (await import("./.setup/command-rpc-HIvsy3wS.mjs").then((n) => n.n)).codexControlRequest;
639
639
  const { isModelSelectionLocked, ModelSelectionLockedError } = await import("openclaw/plugin-sdk/model-session-runtime");
640
640
  const { codexBindingConnectionSelection, resolveCodexBindingAppServerConnection } = await import("./.setup/binding-connection-B7HAAZSI.mjs").then((n) => n.n);
641
641
  const { resolveCodexSupervisionAppServerRuntimeOptions } = await import("./.setup/config-runtime-DWzK-k0n.mjs").then((n) => n.t);
@@ -768,8 +768,8 @@ function createCodexThreadsTool(options) {
768
768
  const usesSupervisionConnection = binding?.connectionScope === "supervision" || admissionPlugin.appServer?.homeScope !== "user" && supervision?.enabled === true;
769
769
  if (attach && usesSupervisionConnection) throw new Error("Supervised Codex forks must stay detached; set attach=false.");
770
770
  const forkOptions = await requestOptions();
771
- const { retainCodexAppServerBindingSubscription, rollbackCodexAppServerBindingSubscription } = await import("./.setup/thread-ownership-_2e1sjfi.mjs").then((n) => n.o);
772
- const { closeCodexStartupClientBestEffort } = await import("./.setup/attempt-client-cleanup-D3YvP0N7.mjs").then((n) => n.a);
771
+ const { retainCodexAppServerBindingSubscription, rollbackCodexAppServerBindingSubscription } = await import("./.setup/thread-ownership-BoUd0i6L.mjs").then((n) => n.o);
772
+ const { closeCodexStartupClientBestEffort } = await import("./.setup/attempt-client-cleanup-zNuNTKVr.mjs").then((n) => n.a);
773
773
  if (attach) {
774
774
  assertCodexBindingMayBeReplaced(binding, "attaching a different native fork");
775
775
  assertThreadIdle(await request(admissionConfig, CODEX_CONTROL_METHODS.readThread, {
@@ -2479,7 +2479,7 @@ async function requireEligibleCodexThread(params) {
2479
2479
  remaining();
2480
2480
  if (thread.id !== threadId || thread.ephemeral === true || !isInteractiveThreadSource(thread.source)) throw unverified();
2481
2481
  if (!root) {
2482
- const { CODEX_CATALOG_NATIVE_PAGE_LIMIT } = await import("./.setup/session-catalog-native-projection-BY2zMkMO.mjs").then((n) => n.a);
2482
+ const { CODEX_CATALOG_NATIVE_PAGE_LIMIT } = await import("./.setup/session-catalog-native-projection-CWqCU1I_.mjs").then((n) => n.a);
2483
2483
  const { CODEX_CATALOG_MAX_ROWS } = await import("./.setup/session-catalog-limits-BynIoOYm.mjs").then((n) => n.r);
2484
2484
  let cursor;
2485
2485
  const seenCursors = /* @__PURE__ */ new Set();
@@ -2932,7 +2932,7 @@ function createCodexSessionCatalogControl(params) {
2932
2932
  if (closed || generation !== config || residentEpoch !== epoch) throw new Error("Codex catalog configuration changed");
2933
2933
  let index = indexes.get(homeId);
2934
2934
  if (!index) {
2935
- const [{ CodexCatalogIndex }, { canReuseCodexCatalogPreview, projectCodexCatalogDeltaPage, projectCodexCatalogPage }] = await Promise.all([import("./.setup/session-catalog-index-DQ9_sj42.mjs"), import("./.setup/session-catalog-projection-BTXOyzl_.mjs")]);
2935
+ const [{ CodexCatalogIndex }, { canReuseCodexCatalogPreview, projectCodexCatalogDeltaPage, projectCodexCatalogPage }] = await Promise.all([import("./.setup/session-catalog-index-CrnfVEnT.mjs"), import("./.setup/session-catalog-projection-BzHiV818.mjs")]);
2936
2936
  source?.assertCurrent();
2937
2937
  if (closed || generation !== config || residentEpoch !== epoch) throw new Error("Codex catalog configuration changed");
2938
2938
  index = indexes.get(homeId);
@@ -3057,7 +3057,7 @@ function createCodexSessionCatalogControl(params) {
3057
3057
  const runtime = source?.appServer ?? resolveRuntimeOptions({ pluginConfig });
3058
3058
  const requestOptions = resolveRequestOptions(runtime.start, agentId, source);
3059
3059
  return createCodexCatalogRequestSnapshot(runtime.requestTimeoutMs, async (method, requestParams, timeoutMs, assertCurrent, observation) => {
3060
- const { codexControlRequest } = await import("./.setup/command-rpc-CUy4Bo-0.mjs").then((n) => n.n);
3060
+ const { codexControlRequest } = await import("./.setup/command-rpc-HIvsy3wS.mjs").then((n) => n.n);
3061
3061
  return await codexControlRequest(pluginConfig, method, requestParams, {
3062
3062
  ...requestOptions,
3063
3063
  authProfileId: null,
@@ -3079,9 +3079,9 @@ function createCodexSessionCatalogControl(params) {
3079
3079
  const runtime = source?.appServer ?? resolveRuntimeOptions({ pluginConfig });
3080
3080
  const { agentDir, config: runtimeConfig, startOptions } = resolveRequestOptions(runtime.start, agentId, source);
3081
3081
  let catalogIndex;
3082
- const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient, retireSharedCodexAppServerClientIfCurrent } = await import("./.setup/shared-client-CCz9ldpr.mjs").then((n) => n.v);
3083
- const { resolveCodexAppServerClientInstanceId } = await import("./.setup/client-aPKNc4Ii.mjs").then((n) => n.n);
3084
- const { requestCodexAppServerClientJson } = await import("./.setup/request-DInueZ2q.mjs").then((n) => n.i);
3082
+ const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient, retireSharedCodexAppServerClientIfCurrent } = await import("./.setup/shared-client-BCx1wbyA.mjs").then((n) => n.v);
3083
+ const { resolveCodexAppServerClientInstanceId } = await import("./.setup/client-D93nbdB8.mjs").then((n) => n.n);
3084
+ const { requestCodexAppServerClientJson } = await import("./.setup/request-Bo0kKABI.mjs").then((n) => n.i);
3085
3085
  const client = await getLeasedSharedCodexAppServerClient({
3086
3086
  agentDir,
3087
3087
  config: runtimeConfig,
@@ -3150,7 +3150,7 @@ function createCodexSessionCatalogControl(params) {
3150
3150
  await Promise.allSettled(residentRequests);
3151
3151
  const clients = getSharedCodexAppServerClientState();
3152
3152
  if (clients.liveClients.size > 0 || clients.startup.pending.size > 0) {
3153
- const { clearSharedCodexAppServerClientAndWait } = await import("./.setup/shared-client-CCz9ldpr.mjs").then((n) => n.v);
3153
+ const { clearSharedCodexAppServerClientAndWait } = await import("./.setup/shared-client-BCx1wbyA.mjs").then((n) => n.v);
3154
3154
  await clearSharedCodexAppServerClientAndWait();
3155
3155
  }
3156
3156
  },
@@ -4150,7 +4150,7 @@ function createCodexSupervisionTools(options) {
4150
4150
  }
4151
4151
  //#endregion
4152
4152
  //#region extensions/codex/src/web-search-provider.ts
4153
- const loadCodexWebSearchRuntime = createLazyRuntimeModule(() => import("./.setup/web-search-provider.runtime-Qq_wUrvv.mjs"));
4153
+ const loadCodexWebSearchRuntime = createLazyRuntimeModule(() => import("./.setup/web-search-provider.runtime-D89djc7e.mjs"));
4154
4154
  const CodexWebSearchSchema = {
4155
4155
  type: "object",
4156
4156
  properties: { query: {
@@ -4415,7 +4415,7 @@ var codex_default = definePluginEntry({
4415
4415
  if (endedSessionKey && nextSessionKey && nextSessionKey !== endedSessionKey) return;
4416
4416
  if (event.nextSessionId?.trim() === event.sessionId.trim()) return;
4417
4417
  const config = resolveCurrentConfig();
4418
- const [{ sessionBindingIdentity }, { retireCodexAppServerSessionGeneration }] = await Promise.all([import("./.setup/session-binding-JEHNMPsr.mjs").then((n) => n.a), import("./.setup/session-retirement-CIDqLMII.mjs")]);
4418
+ const [{ sessionBindingIdentity }, { retireCodexAppServerSessionGeneration }] = await Promise.all([import("./.setup/session-binding-JEHNMPsr.mjs").then((n) => n.a), import("./.setup/session-retirement-B3U5hpGJ.mjs")]);
4419
4419
  await retireCodexAppServerSessionGeneration({
4420
4420
  bindingStore,
4421
4421
  identity: sessionBindingIdentity({
@@ -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-DfIJtRlv.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-DfIJtRlv.mjs");
77
77
  req.signal?.throwIfAborted();
78
78
  const { text } = await runBoundedCodexAppServerTurn({
79
79
  config: req.cfg,
@@ -1,2 +1,2 @@
1
- import { t as buildCodexMigrationProvider } from "./.setup/provider-BCXRBKEb.mjs";
1
+ import { t as buildCodexMigrationProvider } from "./.setup/provider-LWKll6dV.mjs";
2
2
  export { buildCodexMigrationProvider as buildMigrationProvider };
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.5-beta.4",
4
4
  "description": "OpenClaw Codex app-server harness and native session supervision plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -38,10 +38,10 @@
38
38
  ]
39
39
  },
40
40
  "compat": {
41
- "pluginApi": ">=2026.10.5-beta.3"
41
+ "pluginApi": ">=2026.10.5-beta.4"
42
42
  },
43
43
  "build": {
44
- "openclawVersion": "2026.10.5-beta.3",
44
+ "openclawVersion": "2026.10.5-beta.4",
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.5-beta.4"
70
70
  },
71
71
  "peerDependenciesMeta": {
72
72
  "openclaw": {