diff --git a/CHANGELOG.md b/CHANGELOG.md index 05cef4159a4..26492439873 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Docs: https://docs.openclaw.ai ### Changes +- Dependencies: bump the bundled Codex harness to `@openai/codex` `0.132.0` and refresh the app-server model-list docs for the new catalog. - Agents/config: allow `agents.list[].experimental.localModelLean` so lean local-model mode can be enabled for one configured agent instead of globally. - Providers/xAI: add device-code OAuth login so remote and headless setups can authorize xAI without a localhost browser callback. (#84005) Thanks @fuller-stack-dev. diff --git a/docs/plugins/codex-harness-reference.md b/docs/plugins/codex-harness-reference.md index 199b14d13a4..f8376c8ec83 100644 --- a/docs/plugins/codex-harness-reference.md +++ b/docs/plugins/codex-harness-reference.md @@ -300,17 +300,17 @@ If discovery fails or times out, OpenClaw uses a bundled fallback catalog for: - GPT-5.4 mini - GPT-5.2 -The current bundled harness is `@openai/codex` `0.130.0`. A `model/list` probe +The current bundled harness is `@openai/codex` `0.132.0`. A `model/list` probe against that bundled app-server returned: -| Model id | Default | Hidden | Input modalities | Reasoning efforts | -| --------------------- | ------- | ------ | ---------------- | ------------------------ | -| `gpt-5.5` | Yes | No | text, image | low, medium, high, xhigh | -| `gpt-5.4` | No | No | text, image | low, medium, high, xhigh | -| `gpt-5.4-mini` | No | No | text, image | low, medium, high, xhigh | -| `gpt-5.3-codex` | No | No | text, image | low, medium, high, xhigh | -| `gpt-5.3-codex-spark` | No | No | text | low, medium, high, xhigh | -| `gpt-5.2` | No | No | text, image | low, medium, high, xhigh | +| Model id | Default | Hidden | Input modalities | Reasoning efforts | +| ------------------- | ------- | ------ | ---------------- | ------------------------ | +| `gpt-5.5` | Yes | No | text, image | low, medium, high, xhigh | +| `gpt-5.4` | No | No | text, image | low, medium, high, xhigh | +| `gpt-5.4-mini` | No | No | text, image | low, medium, high, xhigh | +| `gpt-5.3-codex` | No | No | text, image | low, medium, high, xhigh | +| `gpt-5.2` | No | No | text, image | low, medium, high, xhigh | +| `codex-auto-review` | No | Yes | text, image | low, medium, high, xhigh | Hidden models can be returned by the app-server catalog for internal or specialized flows, but they are not normal model-picker choices. diff --git a/extensions/codex/package.json b/extensions/codex/package.json index 01708d75e1f..4ebc71ba05f 100644 --- a/extensions/codex/package.json +++ b/extensions/codex/package.json @@ -9,7 +9,7 @@ "type": "module", "dependencies": { "@earendil-works/pi-coding-agent": "0.75.1", - "@openai/codex": "0.130.0", + "@openai/codex": "0.132.0", "ajv": "8.20.0", "ws": "8.20.1", "zod": "4.4.3" diff --git a/extensions/codex/src/app-server/version.ts b/extensions/codex/src/app-server/version.ts index 277ffc5e445..2ca476feeb3 100644 --- a/extensions/codex/src/app-server/version.ts +++ b/extensions/codex/src/app-server/version.ts @@ -1,4 +1,4 @@ export const MIN_CODEX_APP_SERVER_VERSION = "0.125.0"; export const MANAGED_CODEX_APP_SERVER_PACKAGE = "@openai/codex"; // Keep this in sync with the Codex CLI live-test package pin. -export const MANAGED_CODEX_APP_SERVER_PACKAGE_VERSION = "0.130.0"; +export const MANAGED_CODEX_APP_SERVER_PACKAGE_VERSION = "0.132.0"; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d807723a1d9..3c1014952aa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -491,8 +491,8 @@ importers: specifier: 0.75.1 version: 0.75.1(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(ws@8.20.1)(zod@4.4.3) '@openai/codex': - specifier: 0.130.0 - version: 0.130.0 + specifier: 0.132.0 + version: 0.132.0 ajv: specifier: 8.20.0 version: 8.20.0 @@ -3307,43 +3307,43 @@ packages: resolution: {integrity: sha512-tlc/FcYIv5i8RYsl2iDil4A0gOihaas1R5jPcIC4Zw3GhjKsVilw90aHcVlhZPTBLGBzd379S+VcnsDjd9ChiA==} engines: {node: '>=12.4.0'} - '@openai/codex@0.130.0': - resolution: {integrity: sha512-WGDj+RZ3TXWC/7MlwprgLWOqzpwatPIINPhP3IRzHA0ni+o3QZ4i4xrS2uWwGmHUJ395J5JHwoZAAZYyfJyz6w==} + '@openai/codex@0.132.0': + resolution: {integrity: sha512-OaTUz3oTbUP23I1yprQyaqO5LvlfWbTFIAI/JT2Hm0kgIsD+nKK14vauTzAt3zaeik6D7+meekCTuNdpU1dU2Q==} engines: {node: '>=16'} hasBin: true - '@openai/codex@0.130.0-darwin-arm64': - resolution: {integrity: sha512-R9pkGC7kwC8yQ8el5hvBlmugQlcsG/pHMEFgZluu03X9fD2TezGxdq3KqRDRCZuMYl07ILamVEoqknuJ0cq7MA==} + '@openai/codex@0.132.0-darwin-arm64': + resolution: {integrity: sha512-EVD6XaKSN4fD7Z9HrQIjOFFLbL6cu1PWA6a2hzFwMomAjHlZelGOLtS4faFWOmLUZnO7TYtnJJXk8VNfdGqefg==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@openai/codex@0.130.0-darwin-x64': - resolution: {integrity: sha512-gJ+7J8djevgtdra+NgDAiQQPW+O3KTsgGfE3E5dpDfww3zS5OCeV0V2dhxqnJdlOjOSDw99o0P2LqBv19mhpRw==} + '@openai/codex@0.132.0-darwin-x64': + resolution: {integrity: sha512-RGaiBLwM9UkuB0tOHXjhwTJzMi/FCk/TQaKai97WIodIrvmRzL+j43hqVsXMV8jjYxTFwdyYooGMmCI7cQbKXw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@openai/codex@0.130.0-linux-arm64': - resolution: {integrity: sha512-tFtH0V9/hEI3d9y7zP92BXI9FM4Z3+STNQaOR52Czv18TRtCFUp7CbIUYaToopuq6UBfnE1VKr8RLhwT5FcbmA==} + '@openai/codex@0.132.0-linux-arm64': + resolution: {integrity: sha512-cdYuH9GqIHMI6p8hP0R4VKejBQjeAUtz1SMhPmwbIP24/Jc7w+KoVXP40UEqaLkD6i3pVbbYtnJ7KahZV+GEPQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@openai/codex@0.130.0-linux-x64': - resolution: {integrity: sha512-3VcNlez99xdnEf+kB1IOpWv9fICYV9PiGj4sLCO4TCcShLnyxe+YBGa3poknkvXLnMG0qiN9SMnYS2FGrMxQcA==} + '@openai/codex@0.132.0-linux-x64': + resolution: {integrity: sha512-aGJPB+QkgtYQNQMlRGmE7oZstULu7k4trpux5r3CCZGPun4Xtwx3swtZXm7cWOVeTUkNfGCqdtCQ0bv6SKRiLA==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@openai/codex@0.130.0-win32-arm64': - resolution: {integrity: sha512-vdpmiNp57L/arZabltLXn8TyEtNa7W1meOEkr+3R6W/8ZyBt++wuqz1Orv134OT2grrcFJsIVCAIPiqUxCvBkA==} + '@openai/codex@0.132.0-win32-arm64': + resolution: {integrity: sha512-6RmSrBe0sAMLdF3g1FIZw9Vlqy4pmcU/Lr0Q6bQJGeY/IKUbYwj2dWZukXVWU+kW8B7+KNuX89k5nRk1GUaS6A==} engines: {node: '>=16'} cpu: [arm64] os: [win32] - '@openai/codex@0.130.0-win32-x64': - resolution: {integrity: sha512-FzMznm7fr5/nbjZgOujZ9Y9AbdGm7ji1FOoWiY3U+srqauvZaTgn6o6aCheSL7kuymu7nTLOO/cAyWV6NuesqQ==} + '@openai/codex@0.132.0-win32-x64': + resolution: {integrity: sha512-TnAoOBWbFSCqR+4AkgwSKOVQJtGUdBCqROOEyAKylbIug55xzrLPLNQ7Mnd9l1yFIUnU2NqvPeHtIYqGImzCqA==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -9636,31 +9636,31 @@ snapshots: '@nolyfill/domexception@1.0.28': {} - '@openai/codex@0.130.0': + '@openai/codex@0.132.0': optionalDependencies: - '@openai/codex-darwin-arm64': '@openai/codex@0.130.0-darwin-arm64' - '@openai/codex-darwin-x64': '@openai/codex@0.130.0-darwin-x64' - '@openai/codex-linux-arm64': '@openai/codex@0.130.0-linux-arm64' - '@openai/codex-linux-x64': '@openai/codex@0.130.0-linux-x64' - '@openai/codex-win32-arm64': '@openai/codex@0.130.0-win32-arm64' - '@openai/codex-win32-x64': '@openai/codex@0.130.0-win32-x64' + '@openai/codex-darwin-arm64': '@openai/codex@0.132.0-darwin-arm64' + '@openai/codex-darwin-x64': '@openai/codex@0.132.0-darwin-x64' + '@openai/codex-linux-arm64': '@openai/codex@0.132.0-linux-arm64' + '@openai/codex-linux-x64': '@openai/codex@0.132.0-linux-x64' + '@openai/codex-win32-arm64': '@openai/codex@0.132.0-win32-arm64' + '@openai/codex-win32-x64': '@openai/codex@0.132.0-win32-x64' - '@openai/codex@0.130.0-darwin-arm64': + '@openai/codex@0.132.0-darwin-arm64': optional: true - '@openai/codex@0.130.0-darwin-x64': + '@openai/codex@0.132.0-darwin-x64': optional: true - '@openai/codex@0.130.0-linux-arm64': + '@openai/codex@0.132.0-linux-arm64': optional: true - '@openai/codex@0.130.0-linux-x64': + '@openai/codex@0.132.0-linux-x64': optional: true - '@openai/codex@0.130.0-win32-arm64': + '@openai/codex@0.132.0-win32-arm64': optional: true - '@openai/codex@0.130.0-win32-x64': + '@openai/codex@0.132.0-win32-x64': optional: true '@openclaw/fs-safe@0.2.4': diff --git a/src/agents/cli-backends.test.ts b/src/agents/cli-backends.test.ts index 186fb2b272f..8a722354ce3 100644 --- a/src/agents/cli-backends.test.ts +++ b/src/agents/cli-backends.test.ts @@ -67,7 +67,7 @@ function createBackendEntry(params: { params.id === "claude-cli" ? "@anthropic-ai/claude-code" : params.id === "codex-cli" - ? "@openai/codex@0.130.0" + ? "@openai/codex@0.132.0" : params.id === "google-gemini-cli" ? "@google/gemini-cli" : undefined, @@ -498,7 +498,7 @@ describe("resolveCliBackendLiveTest", () => { defaultModelRef: "codex-cli/gpt-5.5", defaultImageProbe: true, defaultMcpProbe: true, - dockerNpmPackage: "@openai/codex@0.130.0", + dockerNpmPackage: "@openai/codex@0.132.0", dockerBinaryName: "codex", }); }); diff --git a/src/agents/harness/native-hook-relay.ts b/src/agents/harness/native-hook-relay.ts index 1a1f0db0091..ba428232023 100644 --- a/src/agents/harness/native-hook-relay.ts +++ b/src/agents/harness/native-hook-relay.ts @@ -953,8 +953,8 @@ async function runNativeHookRelayPreToolUse(params: { return params.adapter.renderPreToolUseBlockResponse(outcome.reason); } if (nativeHookRelayParamsWereRewritten(originalToolInputFingerprint, outcome.params)) { - // @openai/codex@0.130.0 treats PreToolUse updatedInput as unsupported and - // continues with the original params, so rewrites must fail closed here. + // Codex app-server may continue with the original params when updatedInput + // is unsupported, so rewrites must fail closed here. return params.adapter.renderPreToolUseBlockResponse( "OpenClaw tool policy rewrote Codex app-server approval params; refusing original request.", );