@openclaw/codex 2026.7.2-beta.2 → 2026.7.2-beta.3

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-Scc-Wevo.js → app-server-policy-DUMF2Xyr.js} +1 -1
  2. package/dist/{attempt-notifications-BFmNhqFl.js → attempt-notifications-Ecjyzufe.js} +1 -1
  3. package/dist/cli-metadata.js +1 -1
  4. package/dist/{command-formatters-Dq9InZUK.js → command-formatters-NCTL7A2q.js} +7 -3
  5. package/dist/{command-handlers-IgqmL_kv.js → command-handlers-DtFbZiba.js} +69 -11
  6. package/dist/{compact-DCTmg3id.js → compact-Kgy26gIM.js} +4 -4
  7. package/dist/{computer-use-CPcU8TjG.js → computer-use-C7x4ZaqR.js} +4 -4
  8. package/dist/{conversation-control-CGkBlfc5.js → conversation-control-B0s3aIjT.js} +5 -5
  9. package/dist/doctor-contract-api.js +1 -1
  10. package/dist/{dynamic-tools-C_1tEs34.js → dynamic-tools-D_vSVmv9.js} +253 -114
  11. package/dist/harness.js +8 -7
  12. package/dist/index.js +16 -16
  13. package/dist/{media-understanding-provider-D31dOJwb.js → media-understanding-provider-IPNNQre6.js} +6 -6
  14. package/dist/media-understanding-provider.js +1 -1
  15. package/dist/{models-uh26C8QU.js → models-DD5zBdX5.js} +1 -1
  16. package/dist/{notification-correlation-KmfV4EkP.js → notification-correlation-C8DVQ_Bq.js} +3 -3
  17. package/dist/{plugin-app-cache-key-Ceb-lm2c.js → plugin-app-cache-key-DJbhLYSK.js} +2 -2
  18. package/dist/{rate-limits-DyXaYAxU.js → rate-limits-CqhWQ2R9.js} +3 -1
  19. package/dist/{request-B_oQsCXy.js → request-9yf9pZjf.js} +1 -1
  20. package/dist/{run-attempt-MLzoMe_m.js → run-attempt-BIoO8ISr.js} +158 -76
  21. package/dist/{session-binding-h1mmCGnl.js → session-binding-Bmt20HfB.js} +2 -0
  22. package/dist/{session-catalog-CEvoXWHA.js → session-catalog-CA7R-hX2.js} +43 -22
  23. package/dist/{session-cli-XsEuWb_C.js → session-cli-Bxk3-Wqz.js} +2 -2
  24. package/dist/{shared-client-JiAnW6pc.js → shared-client-CSXLtCLE.js} +52 -3
  25. package/dist/{side-question-DqDvIwSU.js → side-question-DtzquMOb.js} +7 -7
  26. package/dist/{thread-lifecycle-CN_pPtPh.js → thread-lifecycle-CQ_9mAa1.js} +40 -9
  27. package/dist/{usage-D5Rohxoc.js → usage-CuPpFgTc.js} +3 -3
  28. package/dist/{web-search-provider.runtime-CKVBn3fP.js → web-search-provider.runtime-_x5XTeqh.js} +3 -3
  29. package/npm-shrinkwrap.json +30 -30
  30. package/openclaw.plugin.json +11 -1
  31. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import { p as canUseCodexModelBackedApprovalsReviewerForModel } from "./session-binding-h1mmCGnl.js";
1
+ import { p as canUseCodexModelBackedApprovalsReviewerForModel } from "./session-binding-Bmt20HfB.js";
2
2
  //#region extensions/codex/src/app-server/app-server-policy.ts
3
3
  /**
4
4
  * Policy promotion for Codex app-server runs that can safely use OpenClaw tool
@@ -1,4 +1,4 @@
1
- import { Z as isJsonObject } from "./shared-client-JiAnW6pc.js";
1
+ import { Z as isJsonObject } from "./shared-client-CSXLtCLE.js";
2
2
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
3
3
  //#region extensions/codex/src/app-server/attempt-notifications.ts
4
4
  /**
@@ -2,7 +2,7 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
2
2
  //#region extensions/codex/cli-metadata.ts
3
3
  function registerCodexCliMetadata(api) {
4
4
  api.registerCli(async ({ program }) => {
5
- const { registerCodexSessionCli } = await import("./session-cli-XsEuWb_C.js");
5
+ const { registerCodexSessionCli } = await import("./session-cli-Bxk3-Wqz.js");
6
6
  registerCodexSessionCli(program);
7
7
  }, { descriptors: [{
8
8
  name: "codex",
@@ -1,5 +1,5 @@
1
- import { R as CodexAppServerRpcError, Z as isJsonObject } from "./shared-client-JiAnW6pc.js";
2
- import { c as summarizeCodexRateLimits, o as summarizeCodexAccountRateLimits, r as hasCodexRateLimitSnapshots } from "./rate-limits-DyXaYAxU.js";
1
+ import { R as CodexAppServerRpcError, Z as isJsonObject } from "./shared-client-CSXLtCLE.js";
2
+ import { c as summarizeCodexRateLimits, o as summarizeCodexAccountRateLimits, r as hasCodexRateLimitSnapshots } from "./rate-limits-CqhWQ2R9.js";
3
3
  //#region extensions/codex/src/app-server/capabilities.ts
4
4
  /**
5
5
  * Capability helpers for optional Codex app-server control-plane methods.
@@ -20,7 +20,10 @@ const CODEX_CONTROL_METHODS = {
20
20
  renameThread: "thread/name/set",
21
21
  resumeThread: "thread/resume",
22
22
  review: "review/start",
23
- unarchiveThread: "thread/unarchive"
23
+ unarchiveThread: "thread/unarchive",
24
+ getThreadGoal: "thread/goal/get",
25
+ setThreadGoal: "thread/goal/set",
26
+ clearThreadGoal: "thread/goal/clear"
24
27
  };
25
28
  /** Formats unsupported control calls differently from ordinary RPC failures. */
26
29
  function describeControlFailure(error) {
@@ -206,6 +209,7 @@ function buildHelp() {
206
209
  "- /codex status",
207
210
  "- /codex models",
208
211
  "- /codex threads [filter]",
212
+ "- /codex goal [status|set <objective>|pause|resume|block|complete|clear]",
209
213
  "- /codex sessions --host <node> [filter]",
210
214
  "- /codex resume <thread-id>",
211
215
  "- /codex resume <session-id> --host <node> --bind here",
@@ -1,15 +1,15 @@
1
- import { S as resolveCodexAppServerAuthProfileIdForAgent, Z as isJsonObject } from "./shared-client-JiAnW6pc.js";
2
- import { _ as isCodexFastServiceTier, c as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced, o as normalizeCodexAppServerBindingModelProvider, r as bindingStoreKey, s as reclaimCurrentCodexSessionGeneration } from "./session-binding-h1mmCGnl.js";
1
+ import { S as resolveCodexAppServerAuthProfileIdForAgent, Z as isJsonObject } from "./shared-client-CSXLtCLE.js";
2
+ import { _ as isCodexFastServiceTier, c as sessionBindingIdentity, n as assertCodexBindingMayBeReplaced, o as normalizeCodexAppServerBindingModelProvider, r as bindingStoreKey, s as reclaimCurrentCodexSessionGeneration } from "./session-binding-Bmt20HfB.js";
3
3
  import { u as assertCodexThreadResumeResponse } from "./transcript-mirror-D9rTxx2P.js";
4
- import { t as listAllCodexAppServerModels } from "./models-uh26C8QU.js";
5
- import { a as formatComputerUseStatus, c as formatSkills, d as CODEX_CONTROL_METHODS, i as formatCodexStatus, l as formatThreads, n as formatAccount, o as formatList, r as formatCodexDisplayText, s as formatModels, t as buildHelp, u as readString$1 } from "./command-formatters-Dq9InZUK.js";
6
- import { s as summarizeCodexAccountUsage } from "./rate-limits-DyXaYAxU.js";
4
+ import { t as listAllCodexAppServerModels } from "./models-DD5zBdX5.js";
5
+ import { a as formatComputerUseStatus, c as formatSkills, d as CODEX_CONTROL_METHODS, i as formatCodexStatus, l as formatThreads, n as formatAccount, o as formatList, r as formatCodexDisplayText, s as formatModels, t as buildHelp, u as readString$1 } from "./command-formatters-NCTL7A2q.js";
6
+ import { s as summarizeCodexAccountUsage } from "./rate-limits-CqhWQ2R9.js";
7
7
  import { n as resolveCodexNativeExecutionBlock, r as resolveCodexNativeSandboxBlock } from "./sandbox-guard-D1Wky__S.js";
8
- import { a as setCodexConversationFastMode, c as steerCodexConversationTurn, d as CODEX_NATIVE_EXECUTION_AUTH_ERROR, f as canMutateCodexHost, i as readCodexConversationActiveTurn, l as stopCodexConversationTurn, n as parseCodexFastModeArg, o as setCodexConversationModel, r as parseCodexPermissionsModeArg, s as setCodexConversationPermissions, t as formatPermissionsMode } from "./conversation-control-CGkBlfc5.js";
8
+ import { a as setCodexConversationFastMode, c as steerCodexConversationTurn, d as CODEX_NATIVE_EXECUTION_AUTH_ERROR, f as canMutateCodexHost, i as readCodexConversationActiveTurn, l as stopCodexConversationTurn, n as parseCodexFastModeArg, o as setCodexConversationModel, r as parseCodexPermissionsModeArg, s as setCodexConversationPermissions, t as formatPermissionsMode } from "./conversation-control-B0s3aIjT.js";
9
9
  import { i as readCodexConversationBindingData, n as createCodexCliNodeConversationBindingData, o as resolveCodexDefaultWorkspaceDir, r as createCodexConversationBindingData } from "./conversation-binding-data-BHRpYbX3.js";
10
- import { a as resolveCodexBindingAppServerConnection } from "./notification-correlation-KmfV4EkP.js";
11
- import { c as requestOptions, l as safeCodexControlRequest, o as codexControlRequest, p as formatCodexCliSessions, s as readCodexStatusProbes } from "./session-catalog-CEvoXWHA.js";
12
- import { i as readCodexComputerUseStatus, n as installCodexComputerUse } from "./computer-use-CPcU8TjG.js";
10
+ import { a as resolveCodexBindingAppServerConnection } from "./notification-correlation-C8DVQ_Bq.js";
11
+ import { c as requestOptions, l as safeCodexControlRequest, o as codexControlRequest, p as formatCodexCliSessions, s as readCodexStatusProbes } from "./session-catalog-CA7R-hX2.js";
12
+ import { i as readCodexComputerUseStatus, n as installCodexComputerUse } from "./computer-use-C7x4ZaqR.js";
13
13
  import { parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime";
14
14
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
15
15
  import crypto from "node:crypto";
@@ -539,7 +539,8 @@ const CODEX_NATIVE_EXECUTION_SUBCOMMANDS = /* @__PURE__ */ new Set([
539
539
  "fast",
540
540
  "permissions",
541
541
  "compact",
542
- "review"
542
+ "review",
543
+ "goal"
543
544
  ]);
544
545
  const CODEX_NATIVE_CONTROL_SUBCOMMANDS = /* @__PURE__ */ new Set([
545
546
  ...CODEX_NATIVE_EXECUTION_SUBCOMMANDS,
@@ -681,7 +682,7 @@ async function handleCodexSubcommand(ctx, options) {
681
682
  const [subcommand = "status", ...rest] = args;
682
683
  const normalized = subcommand.toLowerCase();
683
684
  if (normalized === "help") return { text: buildHelp() };
684
- if (CODEX_NATIVE_CONTROL_SUBCOMMANDS.has(normalized) && !returnsBeforeNativeCodexExecution(normalized, rest) && !canMutateCodexHost(ctx)) return { text: CODEX_NATIVE_EXECUTION_AUTH_ERROR };
685
+ if (CODEX_NATIVE_CONTROL_SUBCOMMANDS.has(normalized) && !returnsBeforeNativeCodexExecution(normalized, rest) && !isReadOnlyCodexGoalCommand(normalized, rest) && !canMutateCodexHost(ctx)) return { text: CODEX_NATIVE_EXECUTION_AUTH_ERROR };
685
686
  const sandboxBlock = resolveCodexNativeCommandSandboxBlock(ctx, normalized, rest);
686
687
  if (sandboxBlock) return { text: sandboxBlock };
687
688
  if (normalized === "plugins") {
@@ -699,6 +700,7 @@ async function handleCodexSubcommand(ctx, options) {
699
700
  return { text: formatModels(await deps.listCodexAppServerModels(deps.requestOptions(options.pluginConfig, 100, ctx.config, agentDir))) };
700
701
  }
701
702
  if (normalized === "threads") return { text: await buildThreads(deps, ctx, options.pluginConfig, rest.join(" ")) };
703
+ if (normalized === "goal") return { text: await handleNativeGoal(deps, ctx, options.pluginConfig, rest) };
702
704
  if (normalized === "sessions") return { text: await buildCodexCliSessions(deps, rest) };
703
705
  if (normalized === "resume") return { text: await resumeThread(deps, ctx, options.pluginConfig, rest) };
704
706
  if (normalized === "bind") return await bindConversation(deps, ctx, options.pluginConfig, rest);
@@ -777,6 +779,7 @@ function isCurrentSessionModelSelectionLocked(ctx) {
777
779
  }));
778
780
  }
779
781
  function resolveCodexNativeCommandSandboxBlock(ctx, subcommand, args) {
782
+ if (isReadOnlyCodexGoalCommand(subcommand, args)) return;
780
783
  if (!CODEX_NATIVE_EXECUTION_SUBCOMMANDS.has(subcommand)) return;
781
784
  if (returnsBeforeNativeCodexExecution(subcommand, args)) return;
782
785
  if (isCodexCliNodeResumeBind(subcommand, args)) return resolveCodexNativeSandboxBlock({
@@ -793,6 +796,11 @@ function resolveCodexNativeCommandSandboxBlock(ctx, subcommand, args) {
793
796
  surface: `/${["codex", subcommand].join(" ")}`
794
797
  });
795
798
  }
799
+ function isReadOnlyCodexGoalCommand(subcommand, args) {
800
+ if (subcommand !== "goal" || args.length > 1) return false;
801
+ const action = (args[0] ?? "status").toLowerCase();
802
+ return action === "status" || action === "get";
803
+ }
796
804
  function returnsBeforeNativeCodexExecution(subcommand, args) {
797
805
  switch (subcommand) {
798
806
  case "bind": return parseBindArgs([...args]).help === true;
@@ -930,6 +938,56 @@ async function buildThreads(deps, ctx, pluginConfig, filter) {
930
938
  ...scope
931
939
  }));
932
940
  }
941
+ async function handleNativeGoal(deps, ctx, pluginConfig, args) {
942
+ const action = (args[0] ?? "status").toLowerCase();
943
+ const objective = args.slice(1).join(" ").trim();
944
+ const target = await resolveControlTarget(ctx);
945
+ if (!target) return "Cannot manage the Codex goal because this command has no stable binding identity.";
946
+ const binding = await deps.bindingStore.read(target.identity);
947
+ if (!binding?.threadId) return "No Codex thread is attached to this OpenClaw session yet.";
948
+ const connection = resolveCodexBindingAppServerConnection({
949
+ binding,
950
+ authProfileId: binding.authProfileId,
951
+ pluginConfig
952
+ });
953
+ const goalRequestOptions = {
954
+ agentDir: target.agentDir,
955
+ authProfileId: connection.clientAuthProfileId,
956
+ config: ctx.config,
957
+ ...connection.usesSupervisionConnection ? { startOptions: connection.appServer.start } : {}
958
+ };
959
+ if (action === "status" || action === "get") {
960
+ if (args.length > 1) return "Usage: /codex goal [status]";
961
+ return formatNativeGoal(await deps.codexControlRequest(pluginConfig, CODEX_CONTROL_METHODS.getThreadGoal, { threadId: binding.threadId }, goalRequestOptions));
962
+ }
963
+ if (action === "clear") {
964
+ if (args.length > 1) return "Usage: /codex goal clear";
965
+ const response = await deps.codexControlRequest(pluginConfig, CODEX_CONTROL_METHODS.clearThreadGoal, { threadId: binding.threadId }, goalRequestOptions);
966
+ return isJsonObject(response) && response.cleared === true ? "Cleared the Codex goal." : "No Codex goal was active.";
967
+ }
968
+ const requestedStatus = action === "pause" ? "paused" : action === "resume" ? "active" : action === "block" ? "blocked" : action === "complete" ? "complete" : void 0;
969
+ const isObjectiveUpdate = action === "set";
970
+ if (!requestedStatus && !isObjectiveUpdate || isObjectiveUpdate && !objective) return "Usage: /codex goal [status|set <objective>|pause|resume|block|complete|clear]";
971
+ if (requestedStatus && args.length > 1) return `Usage: /codex goal ${action}`;
972
+ return formatNativeGoal(await deps.codexControlRequest(pluginConfig, CODEX_CONTROL_METHODS.setThreadGoal, {
973
+ threadId: binding.threadId,
974
+ ...objective ? { objective } : {},
975
+ ...requestedStatus ? { status: requestedStatus } : {}
976
+ }, goalRequestOptions));
977
+ }
978
+ function formatNativeGoal(response) {
979
+ const goal = isJsonObject(response) && isJsonObject(response.goal) ? response.goal : void 0;
980
+ if (!goal) return "No Codex goal is active.";
981
+ const objective = readString$1(goal, "objective") ?? "unknown";
982
+ const status = readString$1(goal, "status") ?? "unknown";
983
+ const tokensUsed = typeof goal.tokensUsed === "number" ? goal.tokensUsed : 0;
984
+ const tokenBudget = typeof goal.tokenBudget === "number" ? goal.tokenBudget : void 0;
985
+ return [
986
+ `Codex goal: ${formatCodexDisplayText(objective)}`,
987
+ `- Status: ${formatCodexDisplayText(status)}`,
988
+ `- Tokens: ${tokensUsed}${tokenBudget === void 0 ? "" : ` / ${tokenBudget}`}`
989
+ ].join("\n");
990
+ }
933
991
  async function buildCodexCliSessions(deps, args) {
934
992
  const parsed = parseCodexCliSessionsArgs(args);
935
993
  if (parsed.help || !parsed.host) return "Usage: /codex sessions --host <node> [filter] [--limit <n>]";
@@ -1,8 +1,8 @@
1
- import { R as CodexAppServerRpcError, Z as isJsonObject, a as getLeasedSharedCodexAppServerClient, c as releaseLeasedSharedCodexAppServerClient } from "./shared-client-JiAnW6pc.js";
2
- import { _ as readCodexNotificationItem } from "./attempt-notifications-BFmNhqFl.js";
3
- import { c as sessionBindingIdentity, t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-h1mmCGnl.js";
1
+ import { R as CodexAppServerRpcError, Z as isJsonObject, a as getLeasedSharedCodexAppServerClient, c as releaseLeasedSharedCodexAppServerClient } from "./shared-client-CSXLtCLE.js";
2
+ import { _ as readCodexNotificationItem } from "./attempt-notifications-Ecjyzufe.js";
3
+ import { c as sessionBindingIdentity, t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-Bmt20HfB.js";
4
4
  import { n as resolveCodexNativeExecutionBlock } from "./sandbox-guard-D1Wky__S.js";
5
- import { a as resolveCodexBindingAppServerConnection, n as readCodexNotificationThreadId, r as readCodexNotificationTurnId } from "./notification-correlation-KmfV4EkP.js";
5
+ import { a as resolveCodexBindingAppServerConnection, n as readCodexNotificationThreadId, r as readCodexNotificationTurnId } from "./notification-correlation-C8DVQ_Bq.js";
6
6
  import { resolveAgentDir, resolveDefaultAgentId } from "openclaw/plugin-sdk/agent-runtime";
7
7
  import { embeddedAgentLog, resolveCompactionTimeoutMs } from "openclaw/plugin-sdk/agent-harness-runtime";
8
8
  //#region extensions/codex/src/app-server/compact.ts
@@ -1,7 +1,7 @@
1
- import { E as resolveFirstExistingMacOSDesktopCodexBundledMarketplacePath, H as isCodexAppServerConnectionClosedError, U as isCodexAppServerIndeterminateRequestCancellationError, W as isCodexAppServerIndeterminateTransportError, a as getLeasedSharedCodexAppServerClient, c as releaseLeasedSharedCodexAppServerClient, h as acquireCodexNativeConfigFence, l as resolveCodexNativeConfigFenceKey } from "./shared-client-JiAnW6pc.js";
2
- import { C as resolveCodexComputerUseConfig, b as resolveCodexAppServerRuntimeOptions } from "./session-binding-h1mmCGnl.js";
3
- import { f as describeControlFailure } from "./command-formatters-Dq9InZUK.js";
4
- import { r as requestCodexAppServerJson } from "./request-B_oQsCXy.js";
1
+ import { E as resolveFirstExistingMacOSDesktopCodexBundledMarketplacePath, H as isCodexAppServerConnectionClosedError, U as isCodexAppServerIndeterminateRequestCancellationError, W as isCodexAppServerIndeterminateTransportError, a as getLeasedSharedCodexAppServerClient, c as releaseLeasedSharedCodexAppServerClient, h as acquireCodexNativeConfigFence, l as resolveCodexNativeConfigFenceKey } from "./shared-client-CSXLtCLE.js";
2
+ import { C as resolveCodexComputerUseConfig, b as resolveCodexAppServerRuntimeOptions } from "./session-binding-Bmt20HfB.js";
3
+ import { f as describeControlFailure } from "./command-formatters-NCTL7A2q.js";
4
+ import { r as requestCodexAppServerJson } from "./request-9yf9pZjf.js";
5
5
  import { existsSync } from "node:fs";
6
6
  import { runExec } from "openclaw/plugin-sdk/process-runtime";
7
7
  //#region extensions/codex/src/app-server/computer-use.ts
@@ -1,8 +1,8 @@
1
- import { a as getLeasedSharedCodexAppServerClient, c as releaseLeasedSharedCodexAppServerClient, p as withLeasedCodexAppServerClientStartSelectionRetry, s as releaseCodexAppServerClientLease } from "./shared-client-JiAnW6pc.js";
2
- import { _ as isCodexFastServiceTier, a as isCodexAppServerNativeAuthProfile, b as resolveCodexAppServerRuntimeOptions, o as normalizeCodexAppServerBindingModelProvider, r as bindingStoreKey, w as resolveCodexModelBackedReviewerPolicyContext } from "./session-binding-h1mmCGnl.js";
3
- import { _ as resolveCodexBindingModelProviderFallback, h as resolveCodexAppServerRequestModelSelection } from "./thread-lifecycle-CN_pPtPh.js";
4
- import { d as CODEX_CONTROL_METHODS, r as formatCodexDisplayText } from "./command-formatters-Dq9InZUK.js";
5
- import { a as resolveCodexBindingAppServerConnection } from "./notification-correlation-KmfV4EkP.js";
1
+ import { a as getLeasedSharedCodexAppServerClient, c as releaseLeasedSharedCodexAppServerClient, p as withLeasedCodexAppServerClientStartSelectionRetry, s as releaseCodexAppServerClientLease } from "./shared-client-CSXLtCLE.js";
2
+ import { _ as isCodexFastServiceTier, a as isCodexAppServerNativeAuthProfile, b as resolveCodexAppServerRuntimeOptions, o as normalizeCodexAppServerBindingModelProvider, r as bindingStoreKey, w as resolveCodexModelBackedReviewerPolicyContext } from "./session-binding-Bmt20HfB.js";
3
+ import { _ as resolveCodexBindingModelProviderFallback, h as resolveCodexAppServerRequestModelSelection } from "./thread-lifecycle-CQ_9mAa1.js";
4
+ import { d as CODEX_CONTROL_METHODS, r as formatCodexDisplayText } from "./command-formatters-NCTL7A2q.js";
5
+ import { a as resolveCodexBindingAppServerConnection } from "./notification-correlation-C8DVQ_Bq.js";
6
6
  import { ModelSelectionLockedError } from "openclaw/plugin-sdk/model-session-runtime";
7
7
  //#region extensions/codex/src/command-authorization.ts
8
8
  const CODEX_NATIVE_EXECUTION_AUTH_ERROR = "Only an owner or operator.admin can control Codex native execution.";
@@ -302,7 +302,7 @@ async function migrateSource(source, candidates, params, store) {
302
302
  return await withFileLock(source.sidecarPath, LEGACY_BINDING_LOCK_OPTIONS, async () => {
303
303
  const [contents, stat] = await Promise.all([fs.readFile(source.sidecarPath, "utf8"), fs.stat(source.sidecarPath)]);
304
304
  const raw = JSON.parse(contents);
305
- const [{ bindingStoreKey, createStoredCodexAppServerBinding, normalizeStoredCodexAppServerBindingFingerprints, readStoredCodexAppServerBinding }, { legacyCodexConversationBindingId }] = await Promise.all([import("./session-binding-h1mmCGnl.js").then((n) => n.l), import("./conversation-binding-data-BHRpYbX3.js").then((n) => n.t)]);
305
+ const [{ bindingStoreKey, createStoredCodexAppServerBinding, normalizeStoredCodexAppServerBindingFingerprints, readStoredCodexAppServerBinding }, { legacyCodexConversationBindingId }] = await Promise.all([import("./session-binding-Bmt20HfB.js").then((n) => n.l), import("./conversation-binding-data-BHRpYbX3.js").then((n) => n.t)]);
306
306
  const agentId = owner?.agentId ?? (source.agentIds.size === 1 ? [...source.agentIds][0] : void 0);
307
307
  const baseStored = createStoredCodexAppServerBinding(raw, {
308
308
  now: stat.mtime.toISOString(),