@openclaw/codex 2026.6.11 → 2026.7.1-beta.2

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 (31) hide show
  1. package/dist/{app-server-policy-BPTiVNsW.js → app-server-policy-B7hqD3Xj.js} +2 -2
  2. package/dist/{attempt-notifications-BYnndyFl.js → attempt-notifications-tqyQ_Tdn.js} +26 -2
  3. package/dist/{client-CLrtWgrD.js → client-IcTBKEqA.js} +5 -2
  4. package/dist/{client-factory-Bm6HsGob.js → client-factory-DfFu9JH_.js} +2 -5
  5. package/dist/{command-handlers-DEPTJYk0.js → command-handlers-C9K-KRU-.js} +25 -19
  6. package/dist/{compact-aQJ0ZKhe.js → compact-CILptrPS.js} +5 -5
  7. package/dist/{computer-use-ClrJwoFp.js → computer-use-CpurU-G9.js} +3 -3
  8. package/dist/{config-CszD0vP3.js → config-C_whBx3M.js} +8 -3
  9. package/dist/{conversation-binding-t0XMLz-j.js → conversation-binding-DOJtUxOy.js} +28 -15
  10. package/dist/harness.js +6 -6
  11. package/dist/index.js +27 -26
  12. package/dist/{media-understanding-provider-ZUQHN7gT.js → media-understanding-provider-BOeoBhEw.js} +6 -6
  13. package/dist/media-understanding-provider.js +1 -1
  14. package/dist/{models-CAmfBWRl.js → models-DpzY1xpp.js} +2 -2
  15. package/dist/{plugin-app-cache-key-C9ILt7bl.js → plugin-app-cache-key-BrZUG9jj.js} +8 -4
  16. package/dist/{protocol-validators-B19q5BIX.js → protocol-validators-CJiWigAJ.js} +107 -15
  17. package/dist/{provider-capabilities-D7hnTO76.js → provider-capabilities-wqedK49Z.js} +184 -16
  18. package/dist/provider-catalog.js +4 -2
  19. package/dist/{provider-B-OHpbD3.js → provider-nmtMDcGH.js} +53 -18
  20. package/dist/provider.js +2 -2
  21. package/dist/{request-Dcd452Nk.js → request-BQuSQF29.js} +2 -2
  22. package/dist/{run-attempt-CXxtFC9d.js → run-attempt-DikbXia_.js} +416 -105
  23. package/dist/{sandbox-guard-3tnjhjFb.js → sandbox-guard-pTY2COoC.js} +2 -0
  24. package/dist/{session-binding-HOuPt-E0.js → session-binding-Cm0Gg7Z1.js} +2 -1
  25. package/dist/{shared-client-Dtx5i7Ez.js → shared-client-rR6TDJA3.js} +98 -47
  26. package/dist/{side-question-C-DhgJOd.js → side-question-Ca9wqmd0.js} +12 -12
  27. package/dist/{thread-lifecycle-DtT3-ehU.js → thread-lifecycle-D6R40plk.js} +148 -42
  28. package/dist/{web-search-provider.runtime-CkwxrXQj.js → web-search-provider.runtime-B6eZEFmd.js} +2 -2
  29. package/npm-shrinkwrap.json +30 -30
  30. package/openclaw.plugin.json +3 -3
  31. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  import { CODEX_APP_SERVER_AUTH_MARKER, CODEX_BASE_URL, CODEX_PROVIDER_ID, FALLBACK_CODEX_MODELS, buildCodexModelDefinition, buildCodexProviderConfig } from "./provider-catalog.js";
2
2
  import { n as isJsonObject } from "./protocol-dh-ETiNd.js";
3
- import { d as resolveCodexAppServerRuntimeOptions, u as readCodexPluginConfig } from "./config-CszD0vP3.js";
3
+ import { d as resolveCodexAppServerRuntimeOptions, u as readCodexPluginConfig } from "./config-C_whBx3M.js";
4
4
  import { resolveCodexSystemPromptContribution } from "./prompt-overlay.js";
5
5
  import { resolvePluginConfigObject } from "openclaw/plugin-sdk/plugin-config-runtime";
6
6
  import { MAX_DATE_TIMESTAMP_MS, resolveExpiresAtMsFromEpochSeconds } from "openclaw/plugin-sdk/number-runtime";
@@ -410,6 +410,14 @@ const MODEL_DISCOVERY_PAGE_LIMIT = 100;
410
410
  const CODEX_APP_SERVER_SETUP_METHOD_ID = "app-server";
411
411
  const CODEX_DEFAULT_MODEL_REF = `${CODEX_PROVIDER_ID}/${FALLBACK_CODEX_MODELS[0].id}`;
412
412
  const codexCatalogLog = createSubsystemLogger("codex/catalog");
413
+ const CODEX_REASONING_EFFORTS = [
414
+ "minimal",
415
+ "low",
416
+ "medium",
417
+ "high",
418
+ "xhigh",
419
+ "max"
420
+ ];
413
421
  /**
414
422
  * Builds the Codex provider plugin, including setup metadata, catalog discovery,
415
423
  * dynamic model resolution, and prompt/thinking hooks.
@@ -471,14 +479,10 @@ function buildCodexProvider(options = {}) {
471
479
  startOptions: appServer.start
472
480
  }));
473
481
  },
474
- resolveThinkingProfile: ({ modelId }) => ({ levels: [
475
- { id: "off" },
476
- { id: "minimal" },
477
- { id: "low" },
478
- { id: "medium" },
479
- { id: "high" },
480
- ...isKnownXHighCodexModel(modelId) ? [{ id: "xhigh" }] : []
481
- ] }),
482
+ resolveThinkingProfile: ({ modelId, compat }) => ({ levels: [{ id: "off" }, ...resolveCodexThinkingEfforts({
483
+ modelId,
484
+ supportedReasoningEfforts: readCodexSupportedReasoningEfforts(compat)
485
+ }).map((id) => ({ id }))] }),
482
486
  resolveSystemPromptContribution: ({ config, modelId }) => resolveCodexSystemPromptContribution({
483
487
  config,
484
488
  modelId
@@ -512,7 +516,7 @@ function resolveCodexDynamicModel(modelId) {
512
516
  id,
513
517
  model: id,
514
518
  inputModalities: fallbackModel?.inputModalities ?? ["text"],
515
- supportedReasoningEfforts: fallbackModel?.supportedReasoningEfforts ?? (shouldDefaultToReasoningModel(id) ? ["medium"] : [])
519
+ supportedReasoningEfforts: fallbackModel?.supportedReasoningEfforts
516
520
  }),
517
521
  provider: CODEX_PROVIDER_ID,
518
522
  baseUrl: CODEX_BASE_URL
@@ -541,11 +545,11 @@ async function listModelsBestEffort(params) {
541
545
  }
542
546
  }
543
547
  async function listCodexAppServerModelsLazy(options) {
544
- const { listCodexAppServerModels } = await import("./models-CAmfBWRl.js").then((n) => n.r);
548
+ const { listCodexAppServerModels } = await import("./models-DpzY1xpp.js").then((n) => n.r);
545
549
  return listCodexAppServerModels(options);
546
550
  }
547
551
  async function requestCodexAppServerRateLimitsLazy(options) {
548
- const { requestCodexAppServerJson } = await import("./request-Dcd452Nk.js").then((n) => n.n);
552
+ const { requestCodexAppServerJson } = await import("./request-BQuSQF29.js").then((n) => n.n);
549
553
  return await requestCodexAppServerJson({
550
554
  method: "account/rateLimits/read",
551
555
  timeoutMs: options.timeoutMs,
@@ -564,21 +568,52 @@ function shouldSkipLiveDiscovery(env = process.env) {
564
568
  if (override === "0" || override === "false") return true;
565
569
  return Boolean(env.VITEST) && override !== "1";
566
570
  }
567
- function shouldDefaultToReasoningModel(modelId) {
568
- const lower = modelId.toLowerCase();
569
- return lower.startsWith("gpt-5") || lower.startsWith("o1") || lower.startsWith("o3") || lower.startsWith("o4");
570
- }
571
571
  function isKnownXHighCodexModel(modelId) {
572
572
  const lower = modelId.trim().toLowerCase();
573
573
  return lower.startsWith("gpt-5") || lower.startsWith("o3") || lower.startsWith("o4") || lower.includes("codex");
574
574
  }
575
+ function normalizeCodexReasoningEfforts(efforts) {
576
+ if (!efforts) return [];
577
+ const supported = new Set(efforts.map((effort) => effort.trim().toLowerCase()));
578
+ return CODEX_REASONING_EFFORTS.filter((effort) => supported.has(effort));
579
+ }
580
+ /** Read app-server reasoning metadata from a runtime model compat union. */
581
+ function readCodexSupportedReasoningEfforts(compat) {
582
+ if (!compat || typeof compat !== "object" || Array.isArray(compat)) return;
583
+ const efforts = compat.supportedReasoningEfforts;
584
+ if (!Array.isArray(efforts)) return;
585
+ return efforts.filter((effort) => typeof effort === "string");
586
+ }
587
+ function resolveCodexThinkingEfforts(params) {
588
+ if (params.supportedReasoningEfforts) return normalizeCodexReasoningEfforts(params.supportedReasoningEfforts);
589
+ return [
590
+ "minimal",
591
+ "low",
592
+ "medium",
593
+ "high",
594
+ ...isKnownXHighCodexModel(params.modelId) ? ["xhigh"] : [],
595
+ ...isMaxReasoningCodexModel(params.modelId) ? ["max"] : []
596
+ ];
597
+ }
598
+ /** Map a requested effort onto the authoritative app-server model contract. */
599
+ function resolveCodexSupportedReasoningEffort(params) {
600
+ const supported = normalizeCodexReasoningEfforts(params.supportedReasoningEfforts);
601
+ if (supported.includes(params.requested)) return params.requested;
602
+ const requestedRank = CODEX_REASONING_EFFORTS.indexOf(params.requested);
603
+ return supported.find((effort) => CODEX_REASONING_EFFORTS.indexOf(effort) >= requestedRank) ?? supported.at(-1);
604
+ }
575
605
  /**
576
606
  * Returns true for Codex models that use the modern reasoning effort enum and
577
607
  * reject the legacy CLI `minimal` default.
578
608
  */
579
609
  function isModernCodexModel(modelId) {
580
610
  const lower = modelId.trim().toLowerCase();
581
- return lower === "gpt-5.5" || lower === "gpt-5.4" || lower === "gpt-5.4-mini" || lower === "gpt-5.3-codex-spark";
611
+ return lower === "gpt-5.6" || lower.startsWith("gpt-5.6-") || lower === "gpt-5.5" || lower === "gpt-5.4" || lower === "gpt-5.4-mini" || lower === "gpt-5.3-codex-spark";
612
+ }
613
+ /** Return whether Codex accepts the preview GPT-5.6 `max` reasoning effort. */
614
+ function isMaxReasoningCodexModel(modelId) {
615
+ const lower = modelId.trim().toLowerCase();
616
+ return lower === "gpt-5.6" || lower.startsWith("gpt-5.6-");
582
617
  }
583
618
  //#endregion
584
- export { hasCodexRateLimitSnapshots as a, summarizeCodexAccountRateLimits as c, formatCodexUsageLimitErrorMessage as i, summarizeCodexAccountUsage as l, buildCodexProviderCatalog as n, resolveCodexUsageLimitResetAtMs as o, isModernCodexModel as r, shouldRefreshCodexRateLimitsForUsageLimitMessage as s, buildCodexProvider as t, summarizeCodexRateLimits as u };
619
+ export { readCodexSupportedReasoningEfforts as a, hasCodexRateLimitSnapshots as c, summarizeCodexAccountRateLimits as d, summarizeCodexAccountUsage as f, isModernCodexModel as i, resolveCodexUsageLimitResetAtMs as l, buildCodexProviderCatalog as n, resolveCodexSupportedReasoningEffort as o, summarizeCodexRateLimits as p, isMaxReasoningCodexModel as r, formatCodexUsageLimitErrorMessage as s, buildCodexProvider as t, shouldRefreshCodexRateLimitsForUsageLimitMessage as u };
package/dist/provider.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as buildCodexProviderCatalog, r as isModernCodexModel, t as buildCodexProvider } from "./provider-B-OHpbD3.js";
2
- export { buildCodexProvider, buildCodexProviderCatalog, isModernCodexModel };
1
+ import { a as readCodexSupportedReasoningEfforts, i as isModernCodexModel, n as buildCodexProviderCatalog, o as resolveCodexSupportedReasoningEffort, r as isMaxReasoningCodexModel, t as buildCodexProvider } from "./provider-nmtMDcGH.js";
2
+ export { buildCodexProvider, buildCodexProviderCatalog, isMaxReasoningCodexModel, isModernCodexModel, readCodexSupportedReasoningEfforts, resolveCodexSupportedReasoningEffort };
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { a as getLeasedSharedCodexAppServerClient, i as createIsolatedCodexAppServerClient, l as withTimeout, o as releaseLeasedSharedCodexAppServerClient } from "./shared-client-Dtx5i7Ez.js";
3
- import { t as resolveCodexAppServerDirectSandboxBypassBlock } from "./sandbox-guard-3tnjhjFb.js";
2
+ import { a as getLeasedSharedCodexAppServerClient, i as createIsolatedCodexAppServerClient, l as withTimeout, o as releaseLeasedSharedCodexAppServerClient } from "./shared-client-rR6TDJA3.js";
3
+ import { t as resolveCodexAppServerDirectSandboxBypassBlock } from "./sandbox-guard-pTY2COoC.js";
4
4
  //#region extensions/codex/src/app-server/request.ts
5
5
  var request_exports = /* @__PURE__ */ __exportAll({ requestCodexAppServerJson: () => requestCodexAppServerJson });
6
6
  async function requestCodexAppServerJson(params) {