@openclaw/codex 2026.5.26-beta.1 → 2026.5.26

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.
@@ -70,6 +70,14 @@ function ensureCodexAppServerAuthProfileStore(params) {
70
70
  });
71
71
  }
72
72
  function resolveCodexAppServerAuthProfileStore(params) {
73
+ if (params.authProfileStore) {
74
+ const providedProfileId = resolveCodexAppServerAuthProfileId({
75
+ authProfileId: params.authProfileId,
76
+ store: params.authProfileStore,
77
+ config: params.config
78
+ });
79
+ if (providedProfileId && params.authProfileStore.profiles[providedProfileId]) return params.authProfileStore;
80
+ }
73
81
  const overlaidStore = ensureCodexAppServerAuthProfileStore({
74
82
  agentDir: params.agentDir,
75
83
  authProfileId: params.authProfileId,
@@ -524,35 +532,77 @@ var shared_client_exports = /* @__PURE__ */ __exportAll({
524
532
  clearSharedCodexAppServerClientIfCurrent: () => clearSharedCodexAppServerClientIfCurrent,
525
533
  clearSharedCodexAppServerClientIfCurrentAndWait: () => clearSharedCodexAppServerClientIfCurrentAndWait,
526
534
  createIsolatedCodexAppServerClient: () => createIsolatedCodexAppServerClient,
527
- getSharedCodexAppServerClient: () => getSharedCodexAppServerClient
535
+ getLeasedSharedCodexAppServerClient: () => getLeasedSharedCodexAppServerClient,
536
+ getSharedCodexAppServerClient: () => getSharedCodexAppServerClient,
537
+ releaseLeasedSharedCodexAppServerClient: () => releaseLeasedSharedCodexAppServerClient,
538
+ retireSharedCodexAppServerClientIfCurrent: () => retireSharedCodexAppServerClientIfCurrent
528
539
  });
529
540
  const SHARED_CODEX_APP_SERVER_CLIENT_STATE = Symbol.for("openclaw.codexAppServerClientState");
530
541
  function getSharedCodexAppServerClientState() {
531
542
  const globalState = globalThis;
532
543
  const state = globalState[SHARED_CODEX_APP_SERVER_CLIENT_STATE];
533
- if (isSharedCodexAppServerClientState(state)) return state;
544
+ const keyedState = readKeyedSharedCodexAppServerClientState(state);
545
+ if (keyedState) {
546
+ const clients = keyedState.clients;
547
+ for (const entry of clients.values()) {
548
+ entry.activeLeases ??= 0;
549
+ entry.closeWhenIdle ??= false;
550
+ }
551
+ const nextState = {
552
+ clients,
553
+ leasedReleases: keyedState.leasedReleases instanceof WeakMap ? keyedState.leasedReleases : /* @__PURE__ */ new WeakMap()
554
+ };
555
+ globalState[SHARED_CODEX_APP_SERVER_CLIENT_STATE] = nextState;
556
+ return nextState;
557
+ }
534
558
  const legacyState = readLegacySharedCodexAppServerClientState(state);
535
559
  const clients = /* @__PURE__ */ new Map();
536
560
  if (legacyState?.key && (legacyState.client || legacyState.promise)) {
537
561
  const legacyKey = legacyState.key;
538
562
  clients.set(legacyKey, {
539
563
  client: legacyState.client,
540
- promise: legacyState.promise
564
+ promise: legacyState.promise,
565
+ activeLeases: 0,
566
+ closeWhenIdle: false
541
567
  });
542
568
  legacyState.client?.addCloseHandler((closedClient) => clearSharedClientEntryIfCurrent(legacyKey, closedClient));
543
569
  }
544
- const nextState = { clients };
570
+ const nextState = {
571
+ clients,
572
+ leasedReleases: /* @__PURE__ */ new WeakMap()
573
+ };
545
574
  globalState[SHARED_CODEX_APP_SERVER_CLIENT_STATE] = nextState;
546
575
  return nextState;
547
576
  }
548
- function isSharedCodexAppServerClientState(value) {
549
- return value !== null && typeof value === "object" && value.clients instanceof Map;
577
+ function readKeyedSharedCodexAppServerClientState(value) {
578
+ return value !== null && typeof value === "object" && value.clients instanceof Map ? value : void 0;
550
579
  }
551
580
  function readLegacySharedCodexAppServerClientState(value) {
552
581
  if (value === null || typeof value !== "object") return;
553
582
  return value;
554
583
  }
555
584
  async function getSharedCodexAppServerClient(options) {
585
+ return (await acquireSharedCodexAppServerClient(options)).client;
586
+ }
587
+ async function getLeasedSharedCodexAppServerClient(options) {
588
+ const acquired = await acquireSharedCodexAppServerClient(options, { leased: true });
589
+ const state = getSharedCodexAppServerClientState();
590
+ const releases = state.leasedReleases.get(acquired.client) ?? [];
591
+ releases.push(acquired.release);
592
+ state.leasedReleases.set(acquired.client, releases);
593
+ return acquired.client;
594
+ }
595
+ function releaseLeasedSharedCodexAppServerClient(client) {
596
+ const state = getSharedCodexAppServerClientState();
597
+ const releases = state.leasedReleases.get(client);
598
+ if (!releases) return false;
599
+ const release = releases.pop();
600
+ if (!release) return false;
601
+ if (releases.length === 0) state.leasedReleases.delete(client);
602
+ release();
603
+ return true;
604
+ }
605
+ async function acquireSharedCodexAppServerClient(options, leaseOptions) {
556
606
  const agentDir = options?.agentDir ?? resolveDefaultAgentDir(options?.config ?? {});
557
607
  const usesNativeAuth = options?.authProfileId === null;
558
608
  const requestedAuthProfileId = options?.authProfileId === null ? void 0 : options?.authProfileId;
@@ -595,7 +645,12 @@ async function getSharedCodexAppServerClient(options) {
595
645
  }
596
646
  })());
597
647
  try {
598
- return await withTimeout$1(sharedPromise, options?.timeoutMs ?? 0, "codex app-server initialize timed out");
648
+ const client = await withTimeout$1(sharedPromise, options?.timeoutMs ?? 0, "codex app-server initialize timed out");
649
+ const release = leaseOptions?.leased ? retainSharedClientEntry(entry) : void 0;
650
+ return release ? {
651
+ client,
652
+ release
653
+ } : { client };
599
654
  } catch (error) {
600
655
  const currentEntry = state.clients.get(key);
601
656
  if (currentEntry?.promise === sharedPromise) clearSharedClientEntry(key, currentEntry);
@@ -645,6 +700,24 @@ function clearSharedCodexAppServerClientIfCurrent(client) {
645
700
  }
646
701
  return false;
647
702
  }
703
+ function retireSharedCodexAppServerClientIfCurrent(client) {
704
+ if (!client) return;
705
+ const state = getSharedCodexAppServerClientState();
706
+ for (const [key, entry] of state.clients) if (entry.client === client) {
707
+ state.clients.delete(key);
708
+ entry.closeWhenIdle = true;
709
+ const closed = closeRetiredSharedClientEntryIfIdle(entry);
710
+ return {
711
+ activeLeases: entry.activeLeases,
712
+ closed
713
+ };
714
+ }
715
+ const activeLeases = state.leasedReleases.get(client)?.length ?? 0;
716
+ if (activeLeases > 0) return {
717
+ activeLeases,
718
+ closed: false
719
+ };
720
+ }
648
721
  async function clearSharedCodexAppServerClientIfCurrentAndWait(client, options) {
649
722
  if (!client) return false;
650
723
  const state = getSharedCodexAppServerClientState();
@@ -664,7 +737,10 @@ async function clearSharedCodexAppServerClientAndWait(options) {
664
737
  function getOrCreateSharedClientEntry(state, key) {
665
738
  let entry = state.clients.get(key);
666
739
  if (!entry) {
667
- entry = {};
740
+ entry = {
741
+ activeLeases: 0,
742
+ closeWhenIdle: false
743
+ };
668
744
  state.clients.set(key, entry);
669
745
  }
670
746
  return entry;
@@ -679,8 +755,26 @@ function clearSharedClientEntryIfCurrent(key, client) {
679
755
  const state = getSharedCodexAppServerClientState();
680
756
  if (state.clients.get(key)?.client === client) state.clients.delete(key);
681
757
  }
758
+ function retainSharedClientEntry(entry) {
759
+ let released = false;
760
+ entry.activeLeases += 1;
761
+ return () => {
762
+ if (released) return;
763
+ released = true;
764
+ entry.activeLeases = Math.max(0, entry.activeLeases - 1);
765
+ closeRetiredSharedClientEntryIfIdle(entry);
766
+ };
767
+ }
768
+ function closeRetiredSharedClientEntryIfIdle(entry) {
769
+ if (!entry.closeWhenIdle || entry.activeLeases > 0 || !entry.client) return false;
770
+ const client = entry.client;
771
+ entry.closeWhenIdle = false;
772
+ entry.client = void 0;
773
+ client.close();
774
+ return true;
775
+ }
682
776
  function collectSharedClients(state) {
683
777
  return [...new Set([...state.clients.values()].map((entry) => entry.client).filter((client) => Boolean(client)))];
684
778
  }
685
779
  //#endregion
686
- export { shared_client_exports as a, resolveCodexAppServerAuthAccountCacheKey as c, resolveCodexAppServerFallbackApiKeyCacheKey as d, resolveCodexAppServerHomeDir as f, getSharedCodexAppServerClient as i, resolveCodexAppServerAuthProfileId as l, clearSharedCodexAppServerClientIfCurrentAndWait as n, withTimeout$1 as o, createIsolatedCodexAppServerClient as r, refreshCodexAppServerAuthTokens as s, clearSharedCodexAppServerClientIfCurrent as t, resolveCodexAppServerAuthProfileIdForAgent as u };
780
+ export { releaseLeasedSharedCodexAppServerClient as a, withTimeout$1 as c, resolveCodexAppServerAuthProfileId as d, resolveCodexAppServerAuthProfileIdForAgent as f, getLeasedSharedCodexAppServerClient as i, refreshCodexAppServerAuthTokens as l, resolveCodexAppServerHomeDir as m, clearSharedCodexAppServerClientIfCurrentAndWait as n, retireSharedCodexAppServerClientIfCurrent as o, resolveCodexAppServerFallbackApiKeyCacheKey as p, createIsolatedCodexAppServerClient as r, shared_client_exports as s, clearSharedCodexAppServerClientIfCurrent as t, resolveCodexAppServerAuthAccountCacheKey as u };
@@ -1,17 +1,17 @@
1
1
  import { c as readCodexPluginConfig, f as shouldAutoApproveCodexAppServerApprovals, l as resolveCodexAppServerRuntimeOptions } from "./config-0-UN67Qg.js";
2
- import { a as readCodexDynamicToolCallParams, c as readCodexTurn, i as assertCodexTurnStartResponse, t as assertCodexThreadForkResponse } from "./protocol-validators-CSuFMLvY.js";
2
+ import { a as readCodexDynamicToolCallParams, c as readCodexTurn, i as assertCodexTurnStartResponse, t as assertCodexThreadForkResponse } from "./protocol-validators-DtjYmUw_.js";
3
3
  import { i as isCodexAppServerApprovalRequest, l as isJsonObject } from "./client-BVK_jmHW.js";
4
- import { f as resolveCodexAppServerModelProvider, p as resolveReasoningEffort, r as buildCodexRuntimeThreadConfig, t as CODEX_NATIVE_PERSONALITY_NONE, v as mergeCodexThreadConfigs } from "./thread-lifecycle-BapIT9Qs.js";
4
+ import { f as resolveCodexAppServerModelProvider, p as resolveReasoningEffort, r as buildCodexRuntimeThreadConfig, t as CODEX_NATIVE_PERSONALITY_NONE, v as mergeCodexThreadConfigs } from "./thread-lifecycle-CUXQezJL.js";
5
5
  import { i as readCodexAppServerBinding } from "./session-binding-UFjjws4k.js";
6
6
  import { i as readCodexNotificationTurnId, m as formatCodexUsageLimitErrorMessage, r as readCodexNotificationThreadId } from "./notification-correlation-YINts3PA.js";
7
- import { i as getSharedCodexAppServerClient, s as refreshCodexAppServerAuthTokens } from "./shared-client-Fou5nAyt.js";
7
+ import { a as releaseLeasedSharedCodexAppServerClient, i as getLeasedSharedCodexAppServerClient, l as refreshCodexAppServerAuthTokens } from "./shared-client-8kIrP817.js";
8
8
  import { n as resolveCodexNativeExecutionBlock } from "./sandbox-guard-CTnEWuor.js";
9
- import { a as resolveCodexDynamicToolsLoading, n as filterCodexDynamicTools, t as createCodexDynamicToolBridge } from "./dynamic-tools-BG9ICyU4.js";
10
- import { a as handleCodexAppServerElicitationRequest, c as emitDynamicToolTerminalDiagnostic, i as buildCodexNativeHookRelayDisabledConfig, l as handleCodexAppServerApprovalRequest, n as CODEX_NATIVE_HOOK_RELAY_EVENTS, o as emitDynamicToolErrorDiagnostic, r as buildCodexNativeHookRelayConfig, s as emitDynamicToolStartedDiagnostic, t as filterToolsForVisionInputs } from "./vision-tools-B30YCKRK.js";
9
+ import { a as resolveCodexDynamicToolsLoading, n as filterCodexDynamicTools, t as createCodexDynamicToolBridge } from "./dynamic-tools-DlEefKNQ.js";
10
+ import { a as handleCodexAppServerElicitationRequest, c as emitDynamicToolTerminalDiagnostic, i as buildCodexNativeHookRelayDisabledConfig, l as handleCodexAppServerApprovalRequest, n as CODEX_NATIVE_HOOK_RELAY_EVENTS, o as emitDynamicToolErrorDiagnostic, r as buildCodexNativeHookRelayConfig, s as emitDynamicToolStartedDiagnostic, t as filterToolsForVisionInputs } from "./vision-tools-DqpLmF5H.js";
11
11
  import { n as rememberCodexRateLimits, t as readRecentCodexRateLimits } from "./rate-limit-cache-N66I-Rd7.js";
12
12
  import { buildAgentHookContextChannelFields, embeddedAgentLog, formatErrorMessage, registerNativeHookRelay, resolveAgentDir, resolveAttemptSpawnWorkspaceDir, resolveModelAuthMode, resolveSandboxContext, resolveSessionAgentIds, supportsModelTools } from "openclaw/plugin-sdk/agent-harness-runtime";
13
13
  //#region extensions/codex/src/app-server/side-question.ts
14
- const CODEX_SIDE_DYNAMIC_TOOL_TIMEOUT_MS = 3e4;
14
+ const CODEX_SIDE_DYNAMIC_TOOL_TIMEOUT_MS = 9e4;
15
15
  const CODEX_SIDE_DYNAMIC_TOOL_MAX_TIMEOUT_MS = 6e5;
16
16
  const CODEX_SIDE_DYNAMIC_IMAGE_GENERATION_TOOL_TIMEOUT_MS = 12e4;
17
17
  const CODEX_SIDE_DYNAMIC_IMAGE_TOOL_TIMEOUT_MS = 6e4;
@@ -60,7 +60,7 @@ async function runCodexAppServerSideQuestion(params, options = {}) {
60
60
  const pluginConfig = readCodexPluginConfig(options.pluginConfig);
61
61
  const appServer = resolveCodexAppServerRuntimeOptions({ pluginConfig });
62
62
  const authProfileId = params.authProfileId ?? binding.authProfileId;
63
- const client = await getSharedCodexAppServerClient({
63
+ const client = await getLeasedSharedCodexAppServerClient({
64
64
  startOptions: appServer.start,
65
65
  timeoutMs: appServer.requestTimeoutMs,
66
66
  authProfileId,
@@ -272,6 +272,7 @@ async function runCodexAppServerSideQuestion(params, options = {}) {
272
272
  timeoutMs: appServer.requestTimeoutMs
273
273
  });
274
274
  } finally {
275
+ releaseLeasedSharedCodexAppServerClient(client);
275
276
  nativeHookRelay?.unregister();
276
277
  }
277
278
  }
package/dist/test-api.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { l as resolveCodexAppServerRuntimeOptions } from "./config-0-UN67Qg.js";
2
- import { a as buildDeveloperInstructions, l as buildTurnStartParams, o as buildThreadResumeParams, s as buildThreadStartParams } from "./thread-lifecycle-BapIT9Qs.js";
3
- import { n as filterCodexDynamicTools, t as createCodexDynamicToolBridge } from "./dynamic-tools-BG9ICyU4.js";
2
+ import { a as buildDeveloperInstructions, l as buildTurnStartParams, o as buildThreadResumeParams, s as buildThreadStartParams } from "./thread-lifecycle-CUXQezJL.js";
3
+ import { n as filterCodexDynamicTools, t as createCodexDynamicToolBridge } from "./dynamic-tools-DlEefKNQ.js";
4
4
  //#region extensions/codex/test-api.ts
5
5
  function resolveCodexPromptSnapshotAppServerOptions(pluginConfig) {
6
6
  return resolveCodexAppServerRuntimeOptions({
@@ -1,5 +1,5 @@
1
1
  import { d as resolveCodexPluginsPolicy, r as codexSandboxPolicyForTurn, t as CODEX_PLUGINS_MARKETPLACE_NAME } from "./config-0-UN67Qg.js";
2
- import { n as assertCodexThreadResumeResponse, r as assertCodexThreadStartResponse } from "./protocol-validators-CSuFMLvY.js";
2
+ import { n as assertCodexThreadResumeResponse, r as assertCodexThreadStartResponse } from "./protocol-validators-DtjYmUw_.js";
3
3
  import { a as isCodexAppServerConnectionClosedError, l as isJsonObject } from "./client-BVK_jmHW.js";
4
4
  import { CODEX_GPT5_HEARTBEAT_PROMPT_OVERLAY } from "./prompt-overlay.js";
5
5
  import { isModernCodexModel } from "./provider.js";
@@ -1676,8 +1676,9 @@ function buildDeferredDynamicToolManifest(dynamicTools) {
1676
1676
  }
1677
1677
  function buildVisibleReplyInstruction(params, dynamicTools) {
1678
1678
  const messageToolAvailable = dynamicTools ? dynamicTools.some((tool) => tool.name.trim() === "message") : params.disableMessageTool !== true;
1679
- if (params.sourceReplyDeliveryMode === "message_tool_only" && messageToolAvailable) return "To send a visible message, use the `message` tool.";
1680
- return "To send a visible reply, use the active Codex delivery path.";
1679
+ if (params.sourceReplyDeliveryMode === "message_tool_only" && messageToolAvailable) return "Visible source replies are not automatically delivered for this run. Use `message(action=send)` for user-visible source-channel output. Do not repeat that visible content in your final answer.";
1680
+ if (messageToolAvailable) return "For the current source conversation, reply normally in your final assistant message; OpenClaw will deliver it through the active source conversation. Use `message` only for explicit out-of-band sends, media/file sends, or sends to a different target.";
1681
+ return "For the current source conversation, reply normally in your final assistant message; OpenClaw will deliver it through the active source conversation.";
1681
1682
  }
1682
1683
  function buildUserInput(params, promptText = params.prompt) {
1683
1684
  const imageInputs = (params.images ?? []).map((image) => {
@@ -300,8 +300,10 @@ async function runNativeRelayToolPolicyForApprovalRequest(params) {
300
300
  const decision = readNativeRelayPreToolUseDecision(await invokeNativeHookRelay({
301
301
  provider: "codex",
302
302
  relayId: params.nativeHookRelay.relayId,
303
+ generation: params.nativeHookRelay.generation,
303
304
  event: "pre_tool_use",
304
- rawPayload: payload
305
+ rawPayload: payload,
306
+ requireGeneration: true
305
307
  }));
306
308
  if (decision.blocked) return {
307
309
  handled: true,
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.5.26-beta.1",
3
+ "version": "2026.5.26",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/codex",
9
- "version": "2026.5.26-beta.1",
9
+ "version": "2026.5.26",
10
10
  "dependencies": {
11
11
  "@earendil-works/pi-coding-agent": "0.75.5",
12
- "@openai/codex": "0.133.0",
12
+ "@openai/codex": "0.134.0",
13
13
  "typebox": "1.1.38",
14
14
  "ws": "8.21.0",
15
15
  "zod": "4.4.3"
@@ -764,9 +764,9 @@
764
764
  "license": "MIT"
765
765
  },
766
766
  "node_modules/@openai/codex": {
767
- "version": "0.133.0",
768
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.133.0.tgz",
769
- "integrity": "sha512-Gh42kLLBo/6gpnHmDzUWDVvyS57ekCB1+1Dz0RG2oIl3Lhk1uwrjSj/PwaJWWh4Rw/rUp1RqkwrMugFfFEOlqQ==",
767
+ "version": "0.134.0",
768
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0.tgz",
769
+ "integrity": "sha512-N0vmdTXl/rglZjgd3PaMe9oRrqjO6zZ//uAvUhCDRnJNAUT3LrpYvCK3y9B/ev7QcChfXR43IGUh3ssqWRvMmA==",
770
770
  "license": "Apache-2.0",
771
771
  "bin": {
772
772
  "codex": "bin/codex.js"
@@ -775,19 +775,19 @@
775
775
  "node": ">=16"
776
776
  },
777
777
  "optionalDependencies": {
778
- "@openai/codex-darwin-arm64": "npm:@openai/codex@0.133.0-darwin-arm64",
779
- "@openai/codex-darwin-x64": "npm:@openai/codex@0.133.0-darwin-x64",
780
- "@openai/codex-linux-arm64": "npm:@openai/codex@0.133.0-linux-arm64",
781
- "@openai/codex-linux-x64": "npm:@openai/codex@0.133.0-linux-x64",
782
- "@openai/codex-win32-arm64": "npm:@openai/codex@0.133.0-win32-arm64",
783
- "@openai/codex-win32-x64": "npm:@openai/codex@0.133.0-win32-x64"
778
+ "@openai/codex-darwin-arm64": "npm:@openai/codex@0.134.0-darwin-arm64",
779
+ "@openai/codex-darwin-x64": "npm:@openai/codex@0.134.0-darwin-x64",
780
+ "@openai/codex-linux-arm64": "npm:@openai/codex@0.134.0-linux-arm64",
781
+ "@openai/codex-linux-x64": "npm:@openai/codex@0.134.0-linux-x64",
782
+ "@openai/codex-win32-arm64": "npm:@openai/codex@0.134.0-win32-arm64",
783
+ "@openai/codex-win32-x64": "npm:@openai/codex@0.134.0-win32-x64"
784
784
  }
785
785
  },
786
786
  "node_modules/@openai/codex-darwin-arm64": {
787
787
  "name": "@openai/codex",
788
- "version": "0.133.0-darwin-arm64",
789
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.133.0-darwin-arm64.tgz",
790
- "integrity": "sha512-W7f8+DckLujnqGlptKCzgJU+ooeHKMuk6KYgMFP6A9asn7YUsGUgJqjiBaX8oNcXO6w/pTbKGRARx1kCNS8lIg==",
788
+ "version": "0.134.0-darwin-arm64",
789
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-darwin-arm64.tgz",
790
+ "integrity": "sha512-pOxwQjb1HHtY6KG66+g/rX7uP4yBvchfCrQw22ddYy64s7fJqnD6UV/Ur60j6MWXt71jcaWLEkV1pJthQy9CFQ==",
791
791
  "cpu": [
792
792
  "arm64"
793
793
  ],
@@ -802,9 +802,9 @@
802
802
  },
803
803
  "node_modules/@openai/codex-darwin-x64": {
804
804
  "name": "@openai/codex",
805
- "version": "0.133.0-darwin-x64",
806
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.133.0-darwin-x64.tgz",
807
- "integrity": "sha512-Ek8ikvLOiXZ8emcIJVBXxK6fm8ratBy0kaEt3JNisTNszxGshUHf/R4xxDxIyKNcUkYYXjW7A/rMwW3iu3OFlg==",
805
+ "version": "0.134.0-darwin-x64",
806
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-darwin-x64.tgz",
807
+ "integrity": "sha512-XjRtq8PB9dtpxQ5QU6TrzR/z8EVlLLk55oonsyRp3VkMOsKjJWXvLxAnmzUm1MuVZqz90Ua7CJbr+8BG+ZUWpA==",
808
808
  "cpu": [
809
809
  "x64"
810
810
  ],
@@ -819,9 +819,9 @@
819
819
  },
820
820
  "node_modules/@openai/codex-linux-arm64": {
821
821
  "name": "@openai/codex",
822
- "version": "0.133.0-linux-arm64",
823
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.133.0-linux-arm64.tgz",
824
- "integrity": "sha512-uKXYYSJ3mY16sp4hcG/4BMNRjva/ZS4oARiI1+7k8+NiuoAhdCGWNe5u4KJ3sMuL3tp/IXcmc6B56EFX1+WDBQ==",
822
+ "version": "0.134.0-linux-arm64",
823
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-linux-arm64.tgz",
824
+ "integrity": "sha512-fqI8iClQGvrANFx/dJwZK8KNQlqlQKo7A/UB5G7IaeTAAJ+y/CG2R33Bbd9GboH/8ormY39ureNk27eqt++51g==",
825
825
  "cpu": [
826
826
  "arm64"
827
827
  ],
@@ -836,9 +836,9 @@
836
836
  },
837
837
  "node_modules/@openai/codex-linux-x64": {
838
838
  "name": "@openai/codex",
839
- "version": "0.133.0-linux-x64",
840
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.133.0-linux-x64.tgz",
841
- "integrity": "sha512-9YfyqrfUj/UZ2+aXE4zBz47t6RXbVni95ZorGsNh857vxYK/asVpUtR2cymo9lB3JaI4mQaKFfV/t7IRItqkuA==",
839
+ "version": "0.134.0-linux-x64",
840
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-linux-x64.tgz",
841
+ "integrity": "sha512-d/o1AVAniQU2oSEq7ZV0hVwzmk6Dj2IWeNPLnX/KXyv1DfIMJbY+qEg/xhfRmuVW4VPhrhQLBITwrkAYviy1MA==",
842
842
  "cpu": [
843
843
  "x64"
844
844
  ],
@@ -853,9 +853,9 @@
853
853
  },
854
854
  "node_modules/@openai/codex-win32-arm64": {
855
855
  "name": "@openai/codex",
856
- "version": "0.133.0-win32-arm64",
857
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.133.0-win32-arm64.tgz",
858
- "integrity": "sha512-mRzND0PSGHRoLk0X41GTSoc3tFjZSF4HgDlfjU5fiQcWVi0/kLb7Ku6/tPFT/X2hOLa3YdJkbIcHC0Hc9ni80g==",
856
+ "version": "0.134.0-win32-arm64",
857
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-win32-arm64.tgz",
858
+ "integrity": "sha512-8OdRmbCcyLLMF3Bg6945PW6INZ7bZVygYo2lusnC0Q2KZ3MRYrMnXRJ6mfvkDc8kPpFE+djMFnQ70gt/jBLVCA==",
859
859
  "cpu": [
860
860
  "arm64"
861
861
  ],
@@ -870,9 +870,9 @@
870
870
  },
871
871
  "node_modules/@openai/codex-win32-x64": {
872
872
  "name": "@openai/codex",
873
- "version": "0.133.0-win32-x64",
874
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.133.0-win32-x64.tgz",
875
- "integrity": "sha512-u3ji78DIPZCGJeELuovsAnaZH+vK9gsA4F6M1y+Uy2s80Sz7/i1S0KL81qGReYji3urSjgBpkQuNP47GXOqxrQ==",
873
+ "version": "0.134.0-win32-x64",
874
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-win32-x64.tgz",
875
+ "integrity": "sha512-hW1omBcN1jKeVUVnTqWlpc42nF2qAwCEN6l1IFeKFJegYoZ39YrE7pdh56gAmaZTyT5Eexx7cgNpaEK3JElxvA==",
876
876
  "cpu": [
877
877
  "x64"
878
878
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.5.26-beta.1",
3
+ "version": "2026.5.26",
4
4
  "description": "OpenClaw Codex harness and model provider plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -9,7 +9,7 @@
9
9
  "type": "module",
10
10
  "dependencies": {
11
11
  "@earendil-works/pi-coding-agent": "0.75.5",
12
- "@openai/codex": "0.133.0",
12
+ "@openai/codex": "0.134.0",
13
13
  "typebox": "1.1.38",
14
14
  "ws": "8.21.0",
15
15
  "zod": "4.4.3"
@@ -27,10 +27,10 @@
27
27
  "minHostVersion": ">=2026.5.1-beta.1"
28
28
  },
29
29
  "compat": {
30
- "pluginApi": ">=2026.5.26-beta.1"
30
+ "pluginApi": ">=2026.5.26"
31
31
  },
32
32
  "build": {
33
- "openclawVersion": "2026.5.26-beta.1"
33
+ "openclawVersion": "2026.5.26"
34
34
  },
35
35
  "release": {
36
36
  "publishToClawHub": true,
@@ -47,7 +47,7 @@
47
47
  "npm-shrinkwrap.json"
48
48
  ],
49
49
  "peerDependencies": {
50
- "openclaw": ">=2026.5.26-beta.1"
50
+ "openclaw": ">=2026.5.26"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "openclaw": {
@@ -1,9 +0,0 @@
1
- //#region extensions/codex/src/app-server/client-factory.ts
2
- const defaultCodexAppServerClientFactory = (startOptions, authProfileId, agentDir, config) => import("./shared-client-Fou5nAyt.js").then((n) => n.a).then(({ getSharedCodexAppServerClient }) => getSharedCodexAppServerClient({
3
- startOptions,
4
- authProfileId,
5
- agentDir,
6
- config
7
- }));
8
- //#endregion
9
- export { defaultCodexAppServerClientFactory as t };