@openclaw/codex 2026.5.10-beta.3 → 2026.5.10-beta.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
@@ -18,21 +18,25 @@ function createCodexAppServerAgentHarness(options) {
18
18
  };
19
19
  },
20
20
  runAttempt: async (params) => {
21
- const { runCodexAppServerAttempt } = await import("./run-attempt-COMElKgN.js");
21
+ const { runCodexAppServerAttempt } = await import("./run-attempt-DZvighJE.js");
22
22
  return runCodexAppServerAttempt(params, { pluginConfig: options?.pluginConfig });
23
23
  },
24
+ runSideQuestion: async (params) => {
25
+ const { runCodexAppServerSideQuestion } = await import("./side-question-Dh_g53P9.js");
26
+ return runCodexAppServerSideQuestion(params, { pluginConfig: options?.pluginConfig });
27
+ },
24
28
  compact: async (params) => {
25
- const { maybeCompactCodexAppServerSession } = await import("./compact-CMIpm-H_.js");
29
+ const { maybeCompactCodexAppServerSession } = await import("./compact-BJ1UYEyA.js");
26
30
  return maybeCompactCodexAppServerSession(params, { pluginConfig: options?.pluginConfig });
27
31
  },
28
32
  reset: async (params) => {
29
33
  if (params.sessionFile) {
30
- const { clearCodexAppServerBinding } = await import("./session-binding-BAaJ-7s-.js").then((n) => n.a);
34
+ const { clearCodexAppServerBinding } = await import("./session-binding-UFKjHkKJ.js").then((n) => n.a);
31
35
  await clearCodexAppServerBinding(params.sessionFile);
32
36
  }
33
37
  },
34
38
  dispose: async () => {
35
- const { clearSharedCodexAppServerClientAndWait } = await import("./shared-client-BRX9tReb.js").then((n) => n.r);
39
+ const { clearSharedCodexAppServerClientAndWait } = await import("./shared-client-K13b0L1X.js").then((n) => n.i);
36
40
  await clearSharedCodexAppServerClientAndWait();
37
41
  }
38
42
  };
package/dist/index.js CHANGED
@@ -2,9 +2,10 @@ import { createCodexAppServerAgentHarness } from "./harness.js";
2
2
  import { t as CODEX_PLUGINS_MARKETPLACE_NAME } from "./config-C7xdbzrp.js";
3
3
  import { buildCodexMediaUnderstandingProvider } from "./media-understanding-provider.js";
4
4
  import { buildCodexProvider } from "./provider.js";
5
- import { i as formatCodexDisplayText, m as describeControlFailure, t as requestCodexAppServerJson } from "./request-Bj4IRDU9.js";
6
- import { n as handleCodexConversationInboundClaim, t as handleCodexConversationBindingResolved } from "./conversation-binding-zeuTIuN2.js";
7
- import { i as defaultCodexAppInventoryCache, t as ensureCodexPluginActivation } from "./plugin-activation-Dn14PX1W.js";
5
+ import { r as describeControlFailure, t as requestCodexAppServerJson } from "./request-BCAfJvSg.js";
6
+ import { r as formatCodexDisplayText } from "./command-formatters-Ttwc_kgX.js";
7
+ import { n as handleCodexConversationInboundClaim, t as handleCodexConversationBindingResolved } from "./conversation-binding-D4XZ-tvV.js";
8
+ import { i as defaultCodexAppInventoryCache, t as ensureCodexPluginActivation } from "./plugin-activation-C0soz2YD.js";
8
9
  import { resolveLivePluginConfigObject } from "openclaw/plugin-sdk/plugin-config-runtime";
9
10
  import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
10
11
  import os from "node:os";
@@ -36,7 +37,7 @@ async function handleCodexCommand(ctx, options = {}) {
36
37
  }
37
38
  }
38
39
  async function loadDefaultCodexSubcommandHandler() {
39
- const { handleCodexSubcommand } = await import("./command-handlers-BPaLMsgL.js");
40
+ const { handleCodexSubcommand } = await import("./command-handlers-iLF1EI-b.js");
40
41
  return handleCodexSubcommand;
41
42
  }
42
43
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { CODEX_PROVIDER_ID, FALLBACK_CODEX_MODELS } from "./provider-catalog.js";
2
2
  import { s as resolveCodexAppServerRuntimeOptions } from "./config-C7xdbzrp.js";
3
- import { a as readCodexErrorNotification, c as readCodexTurnCompletedNotification, n as assertCodexThreadStartResponse, r as assertCodexTurnStartResponse } from "./protocol-validators-CeCyJaWj.js";
4
- import { i as readModelListResult } from "./models-lvthKXfT.js";
3
+ import { i as assertCodexTurnStartResponse, l as readCodexTurnCompletedNotification, o as readCodexErrorNotification, r as assertCodexThreadStartResponse } from "./protocol-validators-CSY0BFBo.js";
4
+ import { i as readModelListResult } from "./models-Bg-Qf5s-.js";
5
5
  import { t as isJsonObject } from "./protocol-C9UWI98H.js";
6
6
  import { validateJsonSchemaValue } from "openclaw/plugin-sdk/json-schema-runtime";
7
7
  //#region extensions/codex/media-understanding-provider.ts
@@ -62,7 +62,7 @@ async function runBoundedCodexVisionTurn(params) {
62
62
  const appServer = resolveCodexAppServerRuntimeOptions({ pluginConfig: params.options.pluginConfig });
63
63
  const timeoutMs = Math.max(100, params.timeoutMs);
64
64
  const ownsClient = !params.options.clientFactory;
65
- const client = params.options.clientFactory ? await params.options.clientFactory(appServer.start, params.profile) : await import("./shared-client-BRX9tReb.js").then((n) => n.r).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
65
+ const client = params.options.clientFactory ? await params.options.clientFactory(appServer.start, params.profile) : await import("./shared-client-K13b0L1X.js").then((n) => n.i).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
66
66
  startOptions: appServer.start,
67
67
  timeoutMs,
68
68
  authProfileId: params.profile
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
2
- import { o as readCodexModelListResponse } from "./protocol-validators-CeCyJaWj.js";
2
+ import { s as readCodexModelListResponse } from "./protocol-validators-CSY0BFBo.js";
3
3
  //#region extensions/codex/src/app-server/models.ts
4
4
  var models_exports = /* @__PURE__ */ __exportAll({
5
5
  listAllCodexAppServerModels: () => listAllCodexAppServerModels,
@@ -39,7 +39,7 @@ async function listAllCodexAppServerModels(options = {}) {
39
39
  async function withCodexAppServerModelClient(options, run) {
40
40
  const timeoutMs = options.timeoutMs ?? 2500;
41
41
  const useSharedClient = options.sharedClient !== false;
42
- const { createIsolatedCodexAppServerClient, getSharedCodexAppServerClient } = await import("./shared-client-BRX9tReb.js").then((n) => n.r);
42
+ const { createIsolatedCodexAppServerClient, getSharedCodexAppServerClient } = await import("./shared-client-K13b0L1X.js").then((n) => n.i);
43
43
  const client = useSharedClient ? await getSharedCodexAppServerClient({
44
44
  startOptions: options.startOptions,
45
45
  timeoutMs,
@@ -5900,6 +5900,9 @@ const validateTurnStartResponse = ajv.compile(TurnStartResponse_default);
5900
5900
  function assertCodexThreadStartResponse(value) {
5901
5901
  return assertCodexShape(validateThreadStartResponse, normalizeThreadResponse(value), "thread/start response");
5902
5902
  }
5903
+ function assertCodexThreadForkResponse(value) {
5904
+ return assertCodexShape(validateThreadStartResponse, normalizeThreadResponse(value), "thread/fork response");
5905
+ }
5903
5906
  function assertCodexThreadResumeResponse(value) {
5904
5907
  return assertCodexShape(validateThreadResumeResponse, normalizeThreadResponse(value), "thread/resume response");
5905
5908
  }
@@ -6010,4 +6013,4 @@ function formatAjvErrors(validate) {
6010
6013
  return ajv.errorsText(errors, { separator: "; " });
6011
6014
  }
6012
6015
  //#endregion
6013
- export { readCodexErrorNotification as a, readCodexTurnCompletedNotification as c, readCodexDynamicToolCallParams as i, assertCodexThreadStartResponse as n, readCodexModelListResponse as o, assertCodexTurnStartResponse as r, readCodexTurn as s, assertCodexThreadResumeResponse as t };
6016
+ export { readCodexDynamicToolCallParams as a, readCodexTurn as c, assertCodexTurnStartResponse as i, readCodexTurnCompletedNotification as l, assertCodexThreadResumeResponse as n, readCodexErrorNotification as o, assertCodexThreadStartResponse as r, readCodexModelListResponse as s, assertCodexThreadForkResponse as t };
package/dist/provider.js CHANGED
@@ -123,7 +123,7 @@ async function listModelsBestEffort(params) {
123
123
  }
124
124
  }
125
125
  async function listCodexAppServerModelsLazy(options) {
126
- const { listCodexAppServerModels } = await import("./models-lvthKXfT.js").then((n) => n.r);
126
+ const { listCodexAppServerModels } = await import("./models-Bg-Qf5s-.js").then((n) => n.r);
127
127
  return listCodexAppServerModels(options);
128
128
  }
129
129
  function normalizeTimeoutMs(value) {
@@ -0,0 +1,24 @@
1
+ //#region extensions/codex/src/app-server/rate-limit-cache.ts
2
+ const DEFAULT_CODEX_RATE_LIMIT_CACHE_MAX_AGE_MS = 10 * 6e4;
3
+ const CODEX_RATE_LIMIT_CACHE_STATE = Symbol.for("openclaw.codexRateLimitCacheState");
4
+ function getCodexRateLimitCacheState() {
5
+ const globalState = globalThis;
6
+ globalState[CODEX_RATE_LIMIT_CACHE_STATE] ??= {};
7
+ return globalState[CODEX_RATE_LIMIT_CACHE_STATE];
8
+ }
9
+ function rememberCodexRateLimits(value, nowMs = Date.now()) {
10
+ if (value === void 0) return;
11
+ const state = getCodexRateLimitCacheState();
12
+ state.value = value;
13
+ state.updatedAtMs = nowMs;
14
+ }
15
+ function readRecentCodexRateLimits(options) {
16
+ const state = getCodexRateLimitCacheState();
17
+ if (state.value === void 0 || state.updatedAtMs === void 0) return;
18
+ const nowMs = options?.nowMs ?? Date.now();
19
+ const maxAgeMs = options?.maxAgeMs ?? DEFAULT_CODEX_RATE_LIMIT_CACHE_MAX_AGE_MS;
20
+ if (maxAgeMs >= 0 && nowMs - state.updatedAtMs > maxAgeMs) return;
21
+ return state.value;
22
+ }
23
+ //#endregion
24
+ export { rememberCodexRateLimits as n, readRecentCodexRateLimits as t };
@@ -0,0 +1,41 @@
1
+ import { n as CodexAppServerRpcError } from "./client-CpksBQ9l.js";
2
+ import { a as withTimeout, n as createIsolatedCodexAppServerClient, r as getSharedCodexAppServerClient } from "./shared-client-K13b0L1X.js";
3
+ //#region extensions/codex/src/app-server/capabilities.ts
4
+ const CODEX_CONTROL_METHODS = {
5
+ account: "account/read",
6
+ compact: "thread/compact/start",
7
+ feedback: "feedback/upload",
8
+ listMcpServers: "mcpServerStatus/list",
9
+ listSkills: "skills/list",
10
+ listThreads: "thread/list",
11
+ rateLimits: "account/rateLimits/read",
12
+ resumeThread: "thread/resume",
13
+ review: "review/start"
14
+ };
15
+ function describeControlFailure(error) {
16
+ if (isUnsupportedControlError(error)) return "unsupported by this Codex app-server";
17
+ return error instanceof Error ? error.message : String(error);
18
+ }
19
+ function isUnsupportedControlError(error) {
20
+ return error instanceof CodexAppServerRpcError && error.code === -32601;
21
+ }
22
+ //#endregion
23
+ //#region extensions/codex/src/app-server/request.ts
24
+ async function requestCodexAppServerJson(params) {
25
+ const timeoutMs = params.timeoutMs ?? 6e4;
26
+ return await withTimeout((async () => {
27
+ const client = await (params.isolated ? createIsolatedCodexAppServerClient : getSharedCodexAppServerClient)({
28
+ startOptions: params.startOptions,
29
+ timeoutMs,
30
+ authProfileId: params.authProfileId,
31
+ config: params.config
32
+ });
33
+ try {
34
+ return await client.request(params.method, params.requestParams, { timeoutMs });
35
+ } finally {
36
+ if (params.isolated) client.close();
37
+ }
38
+ })(), timeoutMs, `codex app-server ${params.method} timed out`);
39
+ }
40
+ //#endregion
41
+ export { CODEX_CONTROL_METHODS as n, describeControlFailure as r, requestCodexAppServerJson as t };