@openclaw/codex 2026.6.5-beta.5 → 2026.6.5

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.
package/dist/harness.js CHANGED
@@ -32,7 +32,7 @@ function createCodexAppServerAgentHarness(options) {
32
32
  };
33
33
  },
34
34
  runAttempt: async (params) => {
35
- const { runCodexAppServerAttempt } = await import("./run-attempt-DOr_d98I.js");
35
+ const { runCodexAppServerAttempt } = await import("./run-attempt-BWdNnok4.js");
36
36
  return runCodexAppServerAttempt(params, {
37
37
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
38
38
  nativeHookRelay: { enabled: true }
@@ -25,7 +25,6 @@ import fs from "node:fs/promises";
25
25
  import path, { posix } from "node:path";
26
26
  import { createDiagnosticTraceContextFromActiveScope, emitTrustedDiagnosticEvent, emitTrustedDiagnosticEventWithPrivateData, freezeDiagnosticTraceContext, hasPendingInternalDiagnosticEvent, onInternalDiagnosticEvent, resolveDiagnosticModelContentCapturePolicy } from "openclaw/plugin-sdk/diagnostic-runtime";
27
27
  import { markAuthProfileBlockedUntil, resolveAgentDir as resolveAgentDir$1, resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/agent-runtime";
28
- import { loadSessionStore } from "openclaw/plugin-sdk/session-store-runtime";
29
28
  import { isToolAllowed } from "openclaw/plugin-sdk/sandbox";
30
29
  import { appendRegularFile, pathExists } from "openclaw/plugin-sdk/security-runtime";
31
30
  import { buildSessionContext, migrateSessionEntries, parseSessionEntries } from "openclaw/plugin-sdk/agent-sessions";
@@ -7025,6 +7024,7 @@ const CODEX_APP_SERVER_BYTE_UNITS = {
7025
7024
  tb: 1024 * 1024 * 1024 * 1024,
7026
7025
  tib: 1024 * 1024 * 1024 * 1024
7027
7026
  };
7027
+ const codexSessionRecordCache = /* @__PURE__ */ new Map();
7028
7028
  function parseCodexAppServerByteLimit(value) {
7029
7029
  if (typeof value === "number" && Number.isFinite(value) && value > 0) return Math.floor(value);
7030
7030
  if (typeof value !== "string") return;
@@ -7079,22 +7079,45 @@ async function listCodexAppServerRolloutFilesForThread(agentDir, threadId, codex
7079
7079
  return files;
7080
7080
  }
7081
7081
  async function readCodexSessionRecordForSessionFile(sessionFile) {
7082
- const storePath = path.join(path.dirname(sessionFile), "sessions.json");
7082
+ const sessionsFile = path.join(path.dirname(sessionFile), "sessions.json");
7083
7083
  const resolvedSessionFile = path.resolve(sessionFile);
7084
+ let stat;
7085
+ try {
7086
+ stat = await fs.stat(sessionsFile);
7087
+ } catch {
7088
+ codexSessionRecordCache.delete(resolvedSessionFile);
7089
+ return;
7090
+ }
7091
+ const cached = codexSessionRecordCache.get(resolvedSessionFile);
7092
+ if (cached?.sessionsFile === sessionsFile && cached.mtimeMs === stat.mtimeMs && cached.size === stat.size) return cached.record;
7084
7093
  let store;
7085
7094
  try {
7086
- store = loadSessionStore(storePath, { skipCache: true });
7095
+ store = JSON.parse(await fs.readFile(sessionsFile, "utf8"));
7087
7096
  } catch {
7097
+ codexSessionRecordCache.delete(resolvedSessionFile);
7088
7098
  return;
7089
7099
  }
7100
+ if (!isJsonObject(store)) {
7101
+ codexSessionRecordCache.delete(resolvedSessionFile);
7102
+ return;
7103
+ }
7104
+ let found;
7090
7105
  for (const [sessionKey, record] of Object.entries(store)) {
7091
7106
  if (!isJsonObject(record) || typeof record.sessionFile !== "string") continue;
7092
7107
  if (path.resolve(record.sessionFile) !== resolvedSessionFile) continue;
7093
- return {
7108
+ found = {
7094
7109
  sessionKey,
7095
7110
  ...record
7096
7111
  };
7112
+ break;
7097
7113
  }
7114
+ codexSessionRecordCache.set(resolvedSessionFile, {
7115
+ sessionsFile,
7116
+ mtimeMs: stat.mtimeMs,
7117
+ size: stat.size,
7118
+ record: found
7119
+ });
7120
+ return found;
7098
7121
  }
7099
7122
  async function readCodexAppServerRolloutTokenSnapshot(file) {
7100
7123
  let handle;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.6.5-beta.5",
3
+ "version": "2026.6.5",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/codex",
9
- "version": "2026.6.5-beta.5",
9
+ "version": "2026.6.5",
10
10
  "dependencies": {
11
11
  "@openai/codex": "0.135.0",
12
12
  "typebox": "1.1.39",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/codex",
3
- "version": "2026.6.5-beta.5",
3
+ "version": "2026.6.5",
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",
@@ -26,10 +26,10 @@
26
26
  "minHostVersion": ">=2026.5.1-beta.1"
27
27
  },
28
28
  "compat": {
29
- "pluginApi": ">=2026.6.5-beta.5"
29
+ "pluginApi": ">=2026.6.5"
30
30
  },
31
31
  "build": {
32
- "openclawVersion": "2026.6.5-beta.5"
32
+ "openclawVersion": "2026.6.5"
33
33
  },
34
34
  "release": {
35
35
  "publishToClawHub": true,
@@ -47,7 +47,7 @@
47
47
  "README.md"
48
48
  ],
49
49
  "peerDependencies": {
50
- "openclaw": ">=2026.6.5-beta.5"
50
+ "openclaw": ">=2026.6.5"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "openclaw": {