@openclaw/codex 2026.5.30-beta.1 → 2026.5.31-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 (25) hide show
  1. package/dist/{client-B08x7Y93.js → client-BnOmn0y-.js} +14 -6
  2. package/dist/{client-factory-bqIbmRDu.js → client-factory-B8dh39UW.js} +1 -1
  3. package/dist/{command-handlers-VSWuNdgc.js → command-handlers-BsK6kZJi.js} +263 -14
  4. package/dist/{compact-DJruF_vy.js → compact-BXLjhUHX.js} +3 -3
  5. package/dist/{computer-use-Cq-EEnLL.js → computer-use-D-0EFJBJ.js} +3 -4
  6. package/dist/{config--tW89bHH.js → config-AlzuNKCY.js} +14 -5
  7. package/dist/{conversation-binding-DzF_JII7.js → conversation-binding-KUDxop-C.js} +9 -9
  8. package/dist/doctor-contract-api.js +1 -1
  9. package/dist/harness.js +5 -5
  10. package/dist/index.js +14 -11
  11. package/dist/media-understanding-provider.js +8 -9
  12. package/dist/{models-DuyStYTT.js → models-mbjSisZL.js} +2 -2
  13. package/dist/{native-hook-relay-zY7m-pAu.js → native-hook-relay-DCxPRaBN.js} +7 -7
  14. package/dist/{notification-correlation-DR9cQN_M.js → notification-correlation-BykOI_jh.js} +2 -2
  15. package/dist/{protocol-validators-DtjYmUw_.js → protocol-validators-DIt7cXIp.js} +2 -2
  16. package/dist/provider.js +2 -2
  17. package/dist/{request-DGOj3AyX.js → request-DuFgTwRU.js} +3 -3
  18. package/dist/{run-attempt-lD4FLxNV.js → run-attempt-CgaY9r5u.js} +172 -61
  19. package/dist/{session-binding-BGOpicy0.js → session-binding-BXJAV_xy.js} +10 -8
  20. package/dist/{shared-client-2d0XB7wz.js → shared-client-DBlR-rV2.js} +2 -2
  21. package/dist/{side-question-BsyY3v3K.js → side-question-SjBLGANT.js} +9 -9
  22. package/dist/{thread-lifecycle-BR74qMaY.js → thread-lifecycle-Bnlv_Q8u.js} +49 -33
  23. package/npm-shrinkwrap.json +34 -34
  24. package/openclaw.plugin.json +1 -1
  25. package/package.json +6 -6
@@ -1,12 +1,12 @@
1
- import { c as readCodexPluginConfig, l as resolveCodexAppServerRuntimeOptions, p as shouldAutoApproveCodexAppServerApprovals } from "./config--tW89bHH.js";
2
- import { a as readCodexDynamicToolCallParams, c as readCodexTurn, i as assertCodexTurnStartResponse, t as assertCodexThreadForkResponse } from "./protocol-validators-DtjYmUw_.js";
3
- import { i as isCodexAppServerApprovalRequest, l as isJsonObject } from "./client-B08x7Y93.js";
4
- import { d as resolveReasoningEffort, g as mergeCodexThreadConfigs, r as buildCodexRuntimeThreadConfig, t as CODEX_NATIVE_PERSONALITY_NONE, u as resolveCodexAppServerModelProvider } from "./thread-lifecycle-BR74qMaY.js";
5
- import { a as readCodexAppServerBinding } from "./session-binding-BGOpicy0.js";
6
- import { h as formatCodexUsageLimitErrorMessage, i as readCodexNotificationTurnId, r as readCodexNotificationThreadId } from "./notification-correlation-DR9cQN_M.js";
7
- import { a as releaseLeasedSharedCodexAppServerClient, i as getLeasedSharedCodexAppServerClient, l as refreshCodexAppServerAuthTokens } from "./shared-client-2d0XB7wz.js";
1
+ import { d as resolveCodexAppServerRuntimeOptions, h as shouldAutoApproveCodexAppServerApprovals, u as readCodexPluginConfig } from "./config-AlzuNKCY.js";
2
+ import { a as readCodexDynamicToolCallParams, c as readCodexTurn, i as assertCodexTurnStartResponse, t as assertCodexThreadForkResponse } from "./protocol-validators-DIt7cXIp.js";
3
+ import { i as isCodexAppServerApprovalRequest, l as isJsonObject } from "./client-BnOmn0y-.js";
4
+ import { d as resolveReasoningEffort, g as mergeCodexThreadConfigs, r as buildCodexRuntimeThreadConfig, t as CODEX_NATIVE_PERSONALITY_NONE, u as resolveCodexAppServerModelProvider } from "./thread-lifecycle-Bnlv_Q8u.js";
5
+ import { a as readCodexAppServerBinding } from "./session-binding-BXJAV_xy.js";
6
+ import { h as formatCodexUsageLimitErrorMessage, i as readCodexNotificationTurnId, r as readCodexNotificationThreadId } from "./notification-correlation-BykOI_jh.js";
7
+ import { a as releaseLeasedSharedCodexAppServerClient, i as getLeasedSharedCodexAppServerClient, l as refreshCodexAppServerAuthTokens } from "./shared-client-DBlR-rV2.js";
8
8
  import { n as resolveCodexNativeExecutionBlock } from "./sandbox-guard-DMCJlzmz.js";
9
- import { d as emitDynamicToolErrorDiagnostic, f as emitDynamicToolStartedDiagnostic, h as filterCodexDynamicTools, i as buildCodexNativeHookRelayDisabledConfig, l as handleCodexAppServerElicitationRequest, m as filterToolsForVisionInputs, p as emitDynamicToolTerminalDiagnostic, r as buildCodexNativeHookRelayConfig, t as CODEX_NATIVE_HOOK_RELAY_EVENTS, u as createCodexDynamicToolBridge, v as resolveCodexDynamicToolsLoading, y as handleCodexAppServerApprovalRequest } from "./native-hook-relay-zY7m-pAu.js";
9
+ import { d as emitDynamicToolErrorDiagnostic, f as emitDynamicToolStartedDiagnostic, h as filterCodexDynamicTools, i as buildCodexNativeHookRelayDisabledConfig, l as handleCodexAppServerElicitationRequest, m as filterToolsForVisionInputs, p as emitDynamicToolTerminalDiagnostic, r as buildCodexNativeHookRelayConfig, t as CODEX_NATIVE_HOOK_RELAY_EVENTS, u as createCodexDynamicToolBridge, v as resolveCodexDynamicToolsLoading, y as handleCodexAppServerApprovalRequest } from "./native-hook-relay-DCxPRaBN.js";
10
10
  import { n as rememberCodexRateLimits, t as readRecentCodexRateLimits } from "./rate-limit-cache-N66I-Rd7.js";
11
11
  import { buildAgentHookContextChannelFields, embeddedAgentLog, formatErrorMessage, registerNativeHookRelay, resolveAgentDir, resolveAttemptSpawnWorkspaceDir, resolveModelAuthMode, resolveSandboxContext, resolveSessionAgentIds, supportsModelTools } from "openclaw/plugin-sdk/agent-harness-runtime";
12
12
  //#region extensions/codex/src/app-server/side-question.ts
@@ -418,7 +418,7 @@ async function handleSideDynamicToolCallWithTimeout(params) {
418
418
  let resolveAbort;
419
419
  const abortFromRun = () => {
420
420
  const message = "OpenClaw dynamic tool call aborted.";
421
- controller.abort(params.signal.reason ?? new Error(message));
421
+ controller.abort(params.signal.reason ?? /* @__PURE__ */ new Error(message));
422
422
  resolveAbort?.(failedSideDynamicToolResponse(message));
423
423
  };
424
424
  const abortPromise = new Promise((resolve) => {
@@ -1,17 +1,17 @@
1
- import { d as resolveCodexPluginsPolicy, r as codexSandboxPolicyForTurn, t as CODEX_PLUGINS_MARKETPLACE_NAME } from "./config--tW89bHH.js";
2
- import { n as assertCodexThreadResumeResponse, r as assertCodexThreadStartResponse } from "./protocol-validators-DtjYmUw_.js";
3
- import { a as isCodexAppServerConnectionClosedError, l as isJsonObject, n as CodexAppServerRpcError } from "./client-B08x7Y93.js";
1
+ import { i as codexSandboxPolicyForTurn, n as CODEX_PLUGINS_MARKETPLACE_NAMES, p as resolveCodexPluginsPolicy, s as isCodexPluginsMarketplaceName, t as CODEX_PLUGINS_MARKETPLACE_NAME } from "./config-AlzuNKCY.js";
2
+ import { n as assertCodexThreadResumeResponse, r as assertCodexThreadStartResponse } from "./protocol-validators-DIt7cXIp.js";
3
+ import { a as isCodexAppServerConnectionClosedError, l as isJsonObject, n as CodexAppServerRpcError } from "./client-BnOmn0y-.js";
4
4
  import { CODEX_GPT5_HEARTBEAT_PROMPT_OVERLAY } from "./prompt-overlay.js";
5
5
  import { isModernCodexModel } from "./provider.js";
6
- import { a as readCodexAppServerBinding, r as isCodexAppServerNativeAuthProfile, s as writeCodexAppServerBinding, t as clearCodexAppServerBinding } from "./session-binding-BGOpicy0.js";
6
+ import { a as readCodexAppServerBinding, r as isCodexAppServerNativeAuthProfile, s as writeCodexAppServerBinding, t as clearCodexAppServerBinding } from "./session-binding-BXJAV_xy.js";
7
+ import { isFutureDateTimestampMs, resolveDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
7
8
  import crypto from "node:crypto";
8
9
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
9
- import { embeddedAgentLog, formatErrorMessage, isActiveHarnessContextEngine } from "openclaw/plugin-sdk/agent-harness-runtime";
10
+ import { SKILL_WORKSHOP_TOOL_NAME, buildSkillWorkshopPromptSection, embeddedAgentLog, formatErrorMessage, isActiveHarnessContextEngine } from "openclaw/plugin-sdk/agent-harness-runtime";
10
11
  import { buildCodexUserMcpServersThreadConfigPatch } from "openclaw/plugin-sdk/codex-mcp-projection";
11
12
  import { listRegisteredPluginAgentPromptGuidance } from "openclaw/plugin-sdk/plugin-runtime";
12
13
  import { redactSensitiveFieldValue, redactToolPayloadText } from "openclaw/plugin-sdk/logging-core";
13
14
  import { INLINE_IMAGE_DATA_URL_PREFIX, sanitizeInlineImageDataUrl } from "openclaw/plugin-sdk/inline-image-data-url-runtime";
14
- import { isFutureDateTimestampMs, resolveDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
15
15
  import "node:fs/promises";
16
16
  import "node:path";
17
17
  import { isDiagnosticFlagEnabled } from "openclaw/plugin-sdk/diagnostic-runtime";
@@ -482,18 +482,9 @@ async function readCodexPluginInventory(params) {
482
482
  }]
483
483
  };
484
484
  const appInventory = readCachedAppInventory(params);
485
- const marketplaceEntry = (await params.request("plugin/list", { cwds: [] })).marketplaces.find((marketplace) => marketplace.name === CODEX_PLUGINS_MARKETPLACE_NAME);
486
- if (!marketplaceEntry) return {
487
- policy,
488
- records: [],
489
- diagnostics: policy.pluginPolicies.filter((pluginPolicy) => pluginPolicy.enabled).map((pluginPolicy) => ({
490
- code: "marketplace_missing",
491
- plugin: pluginPolicy,
492
- message: `Codex marketplace ${CODEX_PLUGINS_MARKETPLACE_NAME} was not found.`
493
- })),
494
- ...appInventory ? { appInventory } : {}
495
- };
496
- const marketplace = marketplaceRef(marketplaceEntry);
485
+ const listed = await params.request("plugin/list", { cwds: [] });
486
+ const marketplaceByName = /* @__PURE__ */ new Map();
487
+ for (const marketplace of listed.marketplaces) if (isCodexPluginsMarketplaceName(marketplace.name)) marketplaceByName.set(marketplace.name, marketplace);
497
488
  const diagnostics = [];
498
489
  const records = [];
499
490
  if (appInventory?.state === "missing") diagnostics.push({
@@ -506,12 +497,22 @@ async function readCodexPluginInventory(params) {
506
497
  });
507
498
  for (const pluginPolicy of policy.pluginPolicies) {
508
499
  if (!pluginPolicy.enabled) continue;
500
+ const marketplaceEntry = marketplaceByName.get(pluginPolicy.marketplaceName);
501
+ if (!marketplaceEntry) {
502
+ diagnostics.push({
503
+ code: "marketplace_missing",
504
+ plugin: pluginPolicy,
505
+ message: `Codex marketplace ${pluginPolicy.marketplaceName} was not found.`
506
+ });
507
+ continue;
508
+ }
509
+ const marketplace = marketplaceRef(marketplaceEntry);
509
510
  const summary = findPluginSummary(marketplaceEntry, pluginPolicy.pluginName);
510
511
  if (!summary) {
511
512
  diagnostics.push({
512
513
  code: "plugin_missing",
513
514
  plugin: pluginPolicy,
514
- message: `${pluginPolicy.pluginName} was not found in ${CODEX_PLUGINS_MARKETPLACE_NAME}.`
515
+ message: `${pluginPolicy.pluginName} was not found in ${pluginPolicy.marketplaceName}.`
515
516
  });
516
517
  continue;
517
518
  }
@@ -550,20 +551,30 @@ async function readCodexPluginInventory(params) {
550
551
  }
551
552
  return {
552
553
  policy,
553
- marketplace,
554
554
  records,
555
555
  diagnostics,
556
556
  ...appInventory ? { appInventory } : {}
557
557
  };
558
558
  }
559
- function findOpenAiCuratedPluginSummary(listed, pluginName) {
560
- const marketplaceEntry = listed.marketplaces.find((marketplace) => marketplace.name === CODEX_PLUGINS_MARKETPLACE_NAME);
561
- if (!marketplaceEntry) return;
562
- const summary = findPluginSummary(marketplaceEntry, pluginName);
563
- return summary ? {
564
- marketplace: marketplaceRef(marketplaceEntry),
565
- summary
566
- } : void 0;
559
+ function findOpenAiCuratedPluginSummary(listed, pluginName, marketplaceName) {
560
+ if (marketplaceName) {
561
+ const marketplaceEntry = listed.marketplaces.find((marketplace) => marketplace.name === marketplaceName);
562
+ if (!marketplaceEntry) return;
563
+ const summary = findPluginSummary(marketplaceEntry, pluginName);
564
+ return summary ? {
565
+ marketplace: marketplaceRef(marketplaceEntry),
566
+ summary
567
+ } : void 0;
568
+ }
569
+ for (const allowedName of CODEX_PLUGINS_MARKETPLACE_NAMES) {
570
+ const marketplaceEntry = listed.marketplaces.find((marketplace) => marketplace.name === allowedName);
571
+ if (!marketplaceEntry) continue;
572
+ const summary = findPluginSummary(marketplaceEntry, pluginName);
573
+ if (summary) return {
574
+ marketplace: marketplaceRef(marketplaceEntry),
575
+ summary
576
+ };
577
+ }
567
578
  }
568
579
  function pluginReadParams(marketplace, pluginName) {
569
580
  return {
@@ -640,7 +651,7 @@ function pluginNameFromPluginId(pluginId, marketplaceName) {
640
651
  }
641
652
  function marketplaceRef(marketplace) {
642
653
  return {
643
- name: CODEX_PLUGINS_MARKETPLACE_NAME,
654
+ name: isCodexPluginsMarketplaceName(marketplace.name) ? marketplace.name : CODEX_PLUGINS_MARKETPLACE_NAME,
644
655
  ...marketplace.path ? { path: marketplace.path } : {},
645
656
  ...!marketplace.path ? { remoteMarketplaceName: marketplace.name } : {}
646
657
  };
@@ -648,12 +659,12 @@ function marketplaceRef(marketplace) {
648
659
  //#endregion
649
660
  //#region extensions/codex/src/app-server/plugin-activation.ts
650
661
  async function ensureCodexPluginActivation(params) {
651
- if (params.identity.marketplaceName !== "openai-curated") return activationFailure(params.identity, "marketplace_missing", { message: "Only " + CODEX_PLUGINS_MARKETPLACE_NAME + " plugins can be activated." });
662
+ if (!isCodexPluginsMarketplaceName(params.identity.marketplaceName)) return activationFailure(params.identity, "marketplace_missing", { message: "Only " + CODEX_PLUGINS_MARKETPLACE_NAMES.join(" or ") + " plugins can be activated." });
652
663
  const listed = await params.request("plugin/list", { cwds: [] });
653
- const resolved = findOpenAiCuratedPluginSummary(listed, params.identity.pluginName);
664
+ const resolved = findOpenAiCuratedPluginSummary(listed, params.identity.pluginName, params.identity.marketplaceName);
654
665
  if (!resolved) {
655
- if (!listed.marketplaces.some((marketplace) => marketplace.name === "openai-curated")) return activationFailure(params.identity, "marketplace_missing", { message: `Codex marketplace ${CODEX_PLUGINS_MARKETPLACE_NAME} was not found.` });
656
- return activationFailure(params.identity, "plugin_missing", { message: `${params.identity.pluginName} was not found in ${CODEX_PLUGINS_MARKETPLACE_NAME}.` });
666
+ if (!listed.marketplaces.some((marketplace) => marketplace.name === params.identity.marketplaceName)) return activationFailure(params.identity, "marketplace_missing", { message: `Codex marketplace ${params.identity.marketplaceName} was not found.` });
667
+ return activationFailure(params.identity, "plugin_missing", { message: `${params.identity.pluginName} was not found in ${params.identity.marketplaceName}.` });
657
668
  }
658
669
  if (resolved.summary.installed && resolved.summary.enabled && !params.installEvenIfActive) return {
659
670
  identity: params.identity,
@@ -1633,6 +1644,7 @@ function buildDeveloperInstructions(params, options = {}) {
1633
1644
  return [
1634
1645
  "You are a personal agent running inside OpenClaw. OpenClaw has dynamic tools for OpenClaw-owned messaging, cron, sessions, media, gateway, and nodes.",
1635
1646
  buildDeferredDynamicToolManifest(options.dynamicTools),
1647
+ buildSkillWorkshopInstruction(options.dynamicTools),
1636
1648
  "Use Codex native `spawn_agent` for Codex subagents. Use OpenClaw `sessions_spawn` only for OpenClaw or ACP delegation.",
1637
1649
  buildVisibleReplyInstruction(params, options.dynamicTools),
1638
1650
  nativeCommandGuidance,
@@ -1644,6 +1656,10 @@ function buildDeferredDynamicToolManifest(dynamicTools) {
1644
1656
  if (deferredToolNames.length === 0) return;
1645
1657
  return `Deferred searchable OpenClaw dynamic tools available: ${deferredToolNames.join(", ")}. Use \`tool_search\` to load exact callable specs before use.`;
1646
1658
  }
1659
+ function buildSkillWorkshopInstruction(dynamicTools) {
1660
+ if (!(dynamicTools ?? []).some((tool) => tool.name.trim() === SKILL_WORKSHOP_TOOL_NAME)) return;
1661
+ return buildSkillWorkshopPromptSection().join("\n");
1662
+ }
1647
1663
  function buildVisibleReplyInstruction(params, dynamicTools) {
1648
1664
  const messageToolAvailable = dynamicTools ? dynamicTools.some((tool) => tool.name.trim() === "message") : params.disableMessageTool !== true;
1649
1665
  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.";
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.5.30-beta.1",
3
+ "version": "2026.5.31-beta.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/codex",
9
- "version": "2026.5.30-beta.1",
9
+ "version": "2026.5.31-beta.1",
10
10
  "dependencies": {
11
- "@openai/codex": "0.134.0",
12
- "typebox": "1.1.38",
11
+ "@openai/codex": "0.135.0",
12
+ "typebox": "1.1.39",
13
13
  "ws": "8.21.0",
14
14
  "zod": "4.4.3"
15
15
  }
16
16
  },
17
17
  "node_modules/@openai/codex": {
18
- "version": "0.134.0",
19
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0.tgz",
20
- "integrity": "sha512-N0vmdTXl/rglZjgd3PaMe9oRrqjO6zZ//uAvUhCDRnJNAUT3LrpYvCK3y9B/ev7QcChfXR43IGUh3ssqWRvMmA==",
18
+ "version": "0.135.0",
19
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.135.0.tgz",
20
+ "integrity": "sha512-ID75QEYmAT1WsUQmpxPlNsL5W1a+2eeD7fP6ywdwGseiXUG8D5i16L+dzbr8MT+2oTkaVqzOdvAqVOCeV/H/Bw==",
21
21
  "license": "Apache-2.0",
22
22
  "bin": {
23
23
  "codex": "bin/codex.js"
@@ -26,19 +26,19 @@
26
26
  "node": ">=16"
27
27
  },
28
28
  "optionalDependencies": {
29
- "@openai/codex-darwin-arm64": "npm:@openai/codex@0.134.0-darwin-arm64",
30
- "@openai/codex-darwin-x64": "npm:@openai/codex@0.134.0-darwin-x64",
31
- "@openai/codex-linux-arm64": "npm:@openai/codex@0.134.0-linux-arm64",
32
- "@openai/codex-linux-x64": "npm:@openai/codex@0.134.0-linux-x64",
33
- "@openai/codex-win32-arm64": "npm:@openai/codex@0.134.0-win32-arm64",
34
- "@openai/codex-win32-x64": "npm:@openai/codex@0.134.0-win32-x64"
29
+ "@openai/codex-darwin-arm64": "npm:@openai/codex@0.135.0-darwin-arm64",
30
+ "@openai/codex-darwin-x64": "npm:@openai/codex@0.135.0-darwin-x64",
31
+ "@openai/codex-linux-arm64": "npm:@openai/codex@0.135.0-linux-arm64",
32
+ "@openai/codex-linux-x64": "npm:@openai/codex@0.135.0-linux-x64",
33
+ "@openai/codex-win32-arm64": "npm:@openai/codex@0.135.0-win32-arm64",
34
+ "@openai/codex-win32-x64": "npm:@openai/codex@0.135.0-win32-x64"
35
35
  }
36
36
  },
37
37
  "node_modules/@openai/codex-darwin-arm64": {
38
38
  "name": "@openai/codex",
39
- "version": "0.134.0-darwin-arm64",
40
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-darwin-arm64.tgz",
41
- "integrity": "sha512-pOxwQjb1HHtY6KG66+g/rX7uP4yBvchfCrQw22ddYy64s7fJqnD6UV/Ur60j6MWXt71jcaWLEkV1pJthQy9CFQ==",
39
+ "version": "0.135.0-darwin-arm64",
40
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.135.0-darwin-arm64.tgz",
41
+ "integrity": "sha512-wpNzssusKfrldVlq39+HyQh1wCyc9SQNpHdAFGKtPenrgRte4Ct8/oVsDtKWuFZsqLBFwbL4MrzrevnB63+9HA==",
42
42
  "cpu": [
43
43
  "arm64"
44
44
  ],
@@ -53,9 +53,9 @@
53
53
  },
54
54
  "node_modules/@openai/codex-darwin-x64": {
55
55
  "name": "@openai/codex",
56
- "version": "0.134.0-darwin-x64",
57
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-darwin-x64.tgz",
58
- "integrity": "sha512-XjRtq8PB9dtpxQ5QU6TrzR/z8EVlLLk55oonsyRp3VkMOsKjJWXvLxAnmzUm1MuVZqz90Ua7CJbr+8BG+ZUWpA==",
56
+ "version": "0.135.0-darwin-x64",
57
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.135.0-darwin-x64.tgz",
58
+ "integrity": "sha512-ZrjAqce23lbv9KfkYOhElf1lTI+SysXmyGM0FV5u4+PBCKPkkEs4eaS3H8Uig0i4bUSu1QylrOOCskzYhZ6VyQ==",
59
59
  "cpu": [
60
60
  "x64"
61
61
  ],
@@ -70,9 +70,9 @@
70
70
  },
71
71
  "node_modules/@openai/codex-linux-arm64": {
72
72
  "name": "@openai/codex",
73
- "version": "0.134.0-linux-arm64",
74
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-linux-arm64.tgz",
75
- "integrity": "sha512-fqI8iClQGvrANFx/dJwZK8KNQlqlQKo7A/UB5G7IaeTAAJ+y/CG2R33Bbd9GboH/8ormY39ureNk27eqt++51g==",
73
+ "version": "0.135.0-linux-arm64",
74
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.135.0-linux-arm64.tgz",
75
+ "integrity": "sha512-dM+cv5ZL+BgIQzEIvMg9AxZ98n5lkKLgtp5zJLXWSrbCllbnUSqxYMUiWI5c1a1uBDUtkbY9fcGKXFLf+d+gyg==",
76
76
  "cpu": [
77
77
  "arm64"
78
78
  ],
@@ -87,9 +87,9 @@
87
87
  },
88
88
  "node_modules/@openai/codex-linux-x64": {
89
89
  "name": "@openai/codex",
90
- "version": "0.134.0-linux-x64",
91
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-linux-x64.tgz",
92
- "integrity": "sha512-d/o1AVAniQU2oSEq7ZV0hVwzmk6Dj2IWeNPLnX/KXyv1DfIMJbY+qEg/xhfRmuVW4VPhrhQLBITwrkAYviy1MA==",
90
+ "version": "0.135.0-linux-x64",
91
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.135.0-linux-x64.tgz",
92
+ "integrity": "sha512-5EosY67yU28UJSnl/obdN2F1CDaimYbzm9SLR8dwwzkeBBnY6dHgAKJ2GTu9Nc8CmgmtVFBGzgPqehsIcueVvA==",
93
93
  "cpu": [
94
94
  "x64"
95
95
  ],
@@ -104,9 +104,9 @@
104
104
  },
105
105
  "node_modules/@openai/codex-win32-arm64": {
106
106
  "name": "@openai/codex",
107
- "version": "0.134.0-win32-arm64",
108
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-win32-arm64.tgz",
109
- "integrity": "sha512-8OdRmbCcyLLMF3Bg6945PW6INZ7bZVygYo2lusnC0Q2KZ3MRYrMnXRJ6mfvkDc8kPpFE+djMFnQ70gt/jBLVCA==",
107
+ "version": "0.135.0-win32-arm64",
108
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.135.0-win32-arm64.tgz",
109
+ "integrity": "sha512-SAeR+CUv7KWwE6eTc2UFaFjo6FpHywYfDFKrK6FqLms1rq1NPju2SoX7rhM6UEew/lUx2mdZv/LDs11s/N/Qgg==",
110
110
  "cpu": [
111
111
  "arm64"
112
112
  ],
@@ -121,9 +121,9 @@
121
121
  },
122
122
  "node_modules/@openai/codex-win32-x64": {
123
123
  "name": "@openai/codex",
124
- "version": "0.134.0-win32-x64",
125
- "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.134.0-win32-x64.tgz",
126
- "integrity": "sha512-hW1omBcN1jKeVUVnTqWlpc42nF2qAwCEN6l1IFeKFJegYoZ39YrE7pdh56gAmaZTyT5Eexx7cgNpaEK3JElxvA==",
124
+ "version": "0.135.0-win32-x64",
125
+ "resolved": "https://registry.npmjs.org/@openai/codex/-/codex-0.135.0-win32-x64.tgz",
126
+ "integrity": "sha512-uYwUBMbOfmVlCESJZmZsOG+cYwNFYvkMbQ+FB6C1u9RYz0m3mZeYNN0j+l1hRSyUgPMFJHzNpgNx1Usal5QZFQ==",
127
127
  "cpu": [
128
128
  "x64"
129
129
  ],
@@ -137,9 +137,9 @@
137
137
  }
138
138
  },
139
139
  "node_modules/typebox": {
140
- "version": "1.1.38",
141
- "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.38.tgz",
142
- "integrity": "sha512-pZ0aQPmMmXoUvSbeuWf/Hzsc+avNw/Zd6VeE8CFgkVGWyuHPJvqeJJDeJqLve+K70LvjYIoleGcoJHPT17cWoA==",
140
+ "version": "1.1.39",
141
+ "resolved": "https://registry.npmjs.org/typebox/-/typebox-1.1.39.tgz",
142
+ "integrity": "sha512-vj0afVtOfLQvv0GR0VxVagYxsXN64btL7Z9XoaG0ZggH3mruMMkOO6hXdgMsjCY3shZgEvooAWVeznQVs5c43w==",
143
143
  "license": "MIT"
144
144
  },
145
145
  "node_modules/ws": {
@@ -114,7 +114,7 @@
114
114
  },
115
115
  "marketplaceName": {
116
116
  "type": "string",
117
- "enum": ["openai-curated"]
117
+ "enum": ["openai-curated", "openai-bundled", "openai-primary-runtime"]
118
118
  },
119
119
  "pluginName": {
120
120
  "type": "string"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.5.30-beta.1",
3
+ "version": "2026.5.31-beta.1",
4
4
  "description": "OpenClaw Codex app-server harness and model provider plugin with a Codex-managed GPT catalog.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,8 +8,8 @@
8
8
  },
9
9
  "type": "module",
10
10
  "dependencies": {
11
- "@openai/codex": "0.134.0",
12
- "typebox": "1.1.38",
11
+ "@openai/codex": "0.135.0",
12
+ "typebox": "1.1.39",
13
13
  "ws": "8.21.0",
14
14
  "zod": "4.4.3"
15
15
  },
@@ -26,10 +26,10 @@
26
26
  "minHostVersion": ">=2026.5.1-beta.1"
27
27
  },
28
28
  "compat": {
29
- "pluginApi": ">=2026.5.30-beta.1"
29
+ "pluginApi": ">=2026.5.31-beta.1"
30
30
  },
31
31
  "build": {
32
- "openclawVersion": "2026.5.30-beta.1"
32
+ "openclawVersion": "2026.5.31-beta.1"
33
33
  },
34
34
  "release": {
35
35
  "publishToClawHub": true,
@@ -46,7 +46,7 @@
46
46
  "npm-shrinkwrap.json"
47
47
  ],
48
48
  "peerDependencies": {
49
- "openclaw": ">=2026.5.30-beta.1"
49
+ "openclaw": ">=2026.5.31-beta.1"
50
50
  },
51
51
  "peerDependenciesMeta": {
52
52
  "openclaw": {