@openclaw/codex 2026.6.11 → 2026.6.34

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 (30) hide show
  1. package/dist/{app-server-policy-BPTiVNsW.js → app-server-policy-UdM9fipd.js} +2 -2
  2. package/dist/{attempt-notifications-BYnndyFl.js → attempt-notifications-Bzk6P-cp.js} +1 -1
  3. package/dist/{client-CLrtWgrD.js → client-DsqoRGhJ.js} +1 -1
  4. package/dist/{client-factory-Bm6HsGob.js → client-factory-E-67xUhS.js} +1 -1
  5. package/dist/{command-handlers-DEPTJYk0.js → command-handlers-BH6JevGQ.js} +9 -9
  6. package/dist/{compact-aQJ0ZKhe.js → compact-C-fHdAIB.js} +4 -4
  7. package/dist/{computer-use-ClrJwoFp.js → computer-use-XfHZnTBE.js} +3 -3
  8. package/dist/{config-CszD0vP3.js → config-DfV7hMHu.js} +23 -12
  9. package/dist/{conversation-binding-t0XMLz-j.js → conversation-binding-DrIWS5rX.js} +7 -7
  10. package/dist/harness.js +6 -6
  11. package/dist/index.js +12 -12
  12. package/dist/{media-understanding-provider-ZUQHN7gT.js → media-understanding-provider-5YQx83ng.js} +6 -6
  13. package/dist/media-understanding-provider.js +1 -1
  14. package/dist/{models-CAmfBWRl.js → models-B5oPkfmf.js} +2 -2
  15. package/dist/{plugin-app-cache-key-C9ILt7bl.js → plugin-app-cache-key-D5ckrLBm.js} +3 -3
  16. package/dist/{protocol-validators-B19q5BIX.js → protocol-validators-CB4mtyrs.js} +106 -12
  17. package/dist/{provider-B-OHpbD3.js → provider-CojmGiaW.js} +53 -18
  18. package/dist/{provider-capabilities-D7hnTO76.js → provider-capabilities-Cu8jJpp3.js} +326 -172
  19. package/dist/provider-catalog.js +72 -29
  20. package/dist/provider.js +2 -2
  21. package/dist/{request-Dcd452Nk.js → request-RiBbqNPj.js} +1 -1
  22. package/dist/{run-attempt-CXxtFC9d.js → run-attempt-Do5QKTZ-.js} +203 -325
  23. package/dist/{session-binding-HOuPt-E0.js → session-binding-CP5b8iN1.js} +1 -1
  24. package/dist/{shared-client-Dtx5i7Ez.js → shared-client-Ll9fWpy9.js} +2 -2
  25. package/dist/{side-question-C-DhgJOd.js → side-question-DUp0Z5_n.js} +12 -94
  26. package/dist/{thread-lifecycle-DtT3-ehU.js → thread-lifecycle-BDghpA0C.js} +14 -8
  27. package/dist/{web-search-provider.runtime-CkwxrXQj.js → web-search-provider.runtime-D-v5Y41V.js} +2 -2
  28. package/npm-shrinkwrap.json +30 -30
  29. package/openclaw.plugin.json +1 -1
  30. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  import { n as isJsonObject } from "./protocol-dh-ETiNd.js";
2
- import { n as canUseCodexModelBackedApprovalsReviewerForModel } from "./config-CszD0vP3.js";
3
- import { a as hasCodexRateLimitSnapshots, c as summarizeCodexAccountRateLimits, u as summarizeCodexRateLimits } from "./provider-B-OHpbD3.js";
2
+ import { n as canUseCodexModelBackedApprovalsReviewerForModel } from "./config-DfV7hMHu.js";
3
+ import { c as hasCodexRateLimitSnapshots, d as summarizeCodexAccountRateLimits, p as summarizeCodexRateLimits } from "./provider-CojmGiaW.js";
4
4
  //#region extensions/codex/src/command-formatters.ts
5
5
  /** Formats the combined `/codex status` probe result. */
6
6
  function formatCodexStatus(probes) {
@@ -1,5 +1,5 @@
1
1
  import { n as isJsonObject } from "./protocol-dh-ETiNd.js";
2
- import { B as isCodexNotificationForTurn } from "./thread-lifecycle-DtT3-ehU.js";
2
+ import { B as isCodexNotificationForTurn } from "./thread-lifecycle-BDghpA0C.js";
3
3
  import { asBoolean } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  //#region extensions/codex/src/app-server/attempt-notifications.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { r as isRpcResponse } from "./protocol-dh-ETiNd.js";
2
- import { d as resolveCodexAppServerRuntimeOptions } from "./config-CszD0vP3.js";
2
+ import { u as resolveCodexAppServerRuntimeOptions } from "./config-DfV7hMHu.js";
3
3
  import { materializeWindowsSpawnProgram, resolveWindowsSpawnProgram } from "openclaw/plugin-sdk/windows-spawn";
4
4
  import { OPENCLAW_VERSION, embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
5
5
  import { createInterface } from "node:readline";
@@ -1,7 +1,7 @@
1
1
  //#region extensions/codex/src/app-server/client-factory.ts
2
2
  let sharedClientModulePromise = null;
3
3
  const loadSharedClientModule = async () => {
4
- sharedClientModulePromise ??= import("./shared-client-Dtx5i7Ez.js").then((n) => n.c);
4
+ sharedClientModulePromise ??= import("./shared-client-Ll9fWpy9.js").then((n) => n.c);
5
5
  return await sharedClientModulePromise;
6
6
  };
7
7
  /** Returns a leased shared client so startup can release ownership explicitly. */
@@ -1,14 +1,14 @@
1
1
  import { n as isJsonObject } from "./protocol-dh-ETiNd.js";
2
- import { d as resolveCodexAppServerRuntimeOptions, o as isCodexFastServiceTier } from "./config-CszD0vP3.js";
3
- import { n as listCodexAppServerModels, t as listAllCodexAppServerModels } from "./models-CAmfBWRl.js";
4
- import { l as summarizeCodexAccountUsage } from "./provider-B-OHpbD3.js";
5
- import { l as writeCodexAppServerBinding, n as clearCodexAppServerBinding, o as readCodexAppServerBinding } from "./session-binding-HOuPt-E0.js";
6
- import { i as describeControlFailure, r as CODEX_CONTROL_METHODS } from "./plugin-app-cache-key-C9ILt7bl.js";
7
- import { a as formatCodexDisplayText, c as formatList, d as formatThreads, f as readString$1, i as formatAccount, l as formatModels, o as formatCodexStatus, r as buildHelp, s as formatComputerUseStatus, u as formatSkills } from "./app-server-policy-BPTiVNsW.js";
2
+ import { o as isCodexFastServiceTier, u as resolveCodexAppServerRuntimeOptions } from "./config-DfV7hMHu.js";
3
+ import { n as listCodexAppServerModels, t as listAllCodexAppServerModels } from "./models-B5oPkfmf.js";
4
+ import { f as summarizeCodexAccountUsage } from "./provider-CojmGiaW.js";
5
+ import { l as writeCodexAppServerBinding, n as clearCodexAppServerBinding, o as readCodexAppServerBinding } from "./session-binding-CP5b8iN1.js";
6
+ import { i as describeControlFailure, r as CODEX_CONTROL_METHODS } from "./plugin-app-cache-key-D5ckrLBm.js";
7
+ import { a as formatCodexDisplayText, c as formatList, d as formatThreads, f as readString$1, i as formatAccount, l as formatModels, o as formatCodexStatus, r as buildHelp, s as formatComputerUseStatus, u as formatSkills } from "./app-server-policy-UdM9fipd.js";
8
8
  import { n as resolveCodexNativeExecutionBlock, r as resolveCodexNativeSandboxBlock } from "./sandbox-guard-3tnjhjFb.js";
9
- import { _ as steerCodexConversationTurn, b as readCodexConversationBindingData, d as parseCodexFastModeArg, f as parseCodexPermissionsModeArg, g as setCodexConversationPermissions, h as setCodexConversationModel, m as setCodexConversationFastMode, o as formatCodexCliSessions, p as readCodexConversationActiveTurn, r as startCodexConversationThread, u as formatPermissionsMode, v as stopCodexConversationTurn, x as resolveCodexDefaultWorkspaceDir, y as createCodexCliNodeConversationBindingData } from "./conversation-binding-t0XMLz-j.js";
10
- import { t as requestCodexAppServerJson } from "./request-Dcd452Nk.js";
11
- import { n as installCodexComputerUse, r as readCodexComputerUseStatus } from "./computer-use-ClrJwoFp.js";
9
+ import { _ as steerCodexConversationTurn, b as readCodexConversationBindingData, d as parseCodexFastModeArg, f as parseCodexPermissionsModeArg, g as setCodexConversationPermissions, h as setCodexConversationModel, m as setCodexConversationFastMode, o as formatCodexCliSessions, p as readCodexConversationActiveTurn, r as startCodexConversationThread, u as formatPermissionsMode, v as stopCodexConversationTurn, x as resolveCodexDefaultWorkspaceDir, y as createCodexCliNodeConversationBindingData } from "./conversation-binding-DrIWS5rX.js";
10
+ import { t as requestCodexAppServerJson } from "./request-RiBbqNPj.js";
11
+ import { n as installCodexComputerUse, r as readCodexComputerUseStatus } from "./computer-use-XfHZnTBE.js";
12
12
  import { n as rememberCodexRateLimits } from "./rate-limit-cache-C7qmZ0Jh.js";
13
13
  import { parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime";
14
14
  import { normalizeOptionalString, normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -1,8 +1,8 @@
1
- import { d as resolveCodexAppServerRuntimeOptions } from "./config-CszD0vP3.js";
2
- import { c as withCodexAppServerBindingLock, l as writeCodexAppServerBinding, o as readCodexAppServerBinding, t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-HOuPt-E0.js";
3
- import { o as releaseLeasedSharedCodexAppServerClient } from "./shared-client-Dtx5i7Ez.js";
1
+ import { u as resolveCodexAppServerRuntimeOptions } from "./config-DfV7hMHu.js";
2
+ import { c as withCodexAppServerBindingLock, l as writeCodexAppServerBinding, o as readCodexAppServerBinding, t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-CP5b8iN1.js";
3
+ import { o as releaseLeasedSharedCodexAppServerClient } from "./shared-client-Ll9fWpy9.js";
4
4
  import { n as resolveCodexNativeExecutionBlock } from "./sandbox-guard-3tnjhjFb.js";
5
- import { t as defaultLeasedCodexAppServerClientFactory } from "./client-factory-Bm6HsGob.js";
5
+ import { t as defaultLeasedCodexAppServerClientFactory } from "./client-factory-E-67xUhS.js";
6
6
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
7
7
  //#region extensions/codex/src/app-server/compact.ts
8
8
  /**
@@ -1,6 +1,6 @@
1
- import { d as resolveCodexAppServerRuntimeOptions, f as resolveCodexComputerUseConfig } from "./config-CszD0vP3.js";
2
- import { i as describeControlFailure } from "./plugin-app-cache-key-C9ILt7bl.js";
3
- import { t as requestCodexAppServerJson } from "./request-Dcd452Nk.js";
1
+ import { d as resolveCodexComputerUseConfig, u as resolveCodexAppServerRuntimeOptions } from "./config-DfV7hMHu.js";
2
+ import { i as describeControlFailure } from "./plugin-app-cache-key-D5ckrLBm.js";
3
+ import { t as requestCodexAppServerJson } from "./request-RiBbqNPj.js";
4
4
  import { existsSync } from "node:fs";
5
5
  //#region extensions/codex/src/app-server/computer-use.ts
6
6
  /**
@@ -586,12 +586,18 @@ function parseTopLevelRequirementsStringArray(content, key) {
586
586
  return parseRequirementsStringArray(stripTomlLineComments(content).slice(0, firstTomlTableOffset(content)), key);
587
587
  }
588
588
  function parseTomlStringValue(content, key) {
589
- const match = parseTomlStringAssignment(content, tomlDottedKeyPattern(key));
590
- return match ? match[1] ?? match[2] ?? "" : void 0;
589
+ return parseTomlStringAssignmentValue(content, tomlDottedKeyPattern(key));
591
590
  }
592
591
  function parseInlineOpenAIModelProviderBaseUrl(content) {
593
- const match = parseTomlStringAssignment(content, `${tomlKeyPattern("model_providers")}\\s*=\\s*\\{[\\s\\S]*?${tomlKeyPattern("openai")}\\s*=\\s*\\{[\\s\\S]*?${tomlKeyPattern("base_url")}`);
594
- return match ? match[1] ?? match[2] ?? "" : void 0;
592
+ return parseTomlStringAssignmentValue(content, `${tomlKeyPattern("model_providers")}\\s*=\\s*\\{[\\s\\S]*?${tomlKeyPattern("openai")}\\s*=\\s*\\{[\\s\\S]*?${tomlKeyPattern("base_url")}`);
593
+ }
594
+ function parseTomlStringAssignmentValue(content, keyPattern) {
595
+ const assignment = content.match(new RegExp(`(?:^|\\n)\\s*${keyPattern}\\s*=\\s*([^\\r\\n]*)`));
596
+ if (!assignment) return;
597
+ const rawValue = assignment[1]?.trimStart() ?? "";
598
+ if (rawValue.startsWith("\"\"\"") || rawValue.startsWith("'''")) return false;
599
+ const match = parseTomlStringAssignment(content, keyPattern);
600
+ return match ? match[1] ?? match[2] ?? "" : false;
595
601
  }
596
602
  function parseTomlStringAssignment(content, keyPattern) {
597
603
  return content.match(new RegExp(`(?:^|\\n)\\s*${keyPattern}\\s*=\\s*(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"|'([^']*)')`));
@@ -740,14 +746,19 @@ function readCodexBaseUrlOverridesForModelBackedReview(params) {
740
746
  };
741
747
  const topLevelContent = stripTomlLineComments(configToml).slice(0, firstTomlTableOffset(configToml));
742
748
  const modelProviderOpenAISection = parseTomlTableSection(configToml, "model_providers.openai");
749
+ const openAIBaseUrl = parseTomlStringValue(topLevelContent, "openai_base_url");
750
+ const chatGPTBaseUrl = parseTomlStringValue(topLevelContent, "chatgpt_base_url");
751
+ const openAI = [
752
+ openAIBaseUrl,
753
+ parseTomlStringValue(topLevelContent, "model_providers.openai.base_url"),
754
+ parseInlineOpenAIModelProviderBaseUrl(topLevelContent),
755
+ modelProviderOpenAISection ? parseTomlStringValue(modelProviderOpenAISection, "base_url") : void 0
756
+ ];
757
+ const chatGPT = [chatGPTBaseUrl];
758
+ if ([...openAI, ...chatGPT].includes(false)) return false;
743
759
  return {
744
- openAI: [
745
- parseTomlStringValue(topLevelContent, "openai_base_url"),
746
- parseTomlStringValue(topLevelContent, "model_providers.openai.base_url"),
747
- parseInlineOpenAIModelProviderBaseUrl(topLevelContent),
748
- modelProviderOpenAISection ? parseTomlStringValue(modelProviderOpenAISection, "base_url") : void 0
749
- ].filter((entry) => entry !== void 0),
750
- chatGPT: [parseTomlStringValue(topLevelContent, "chatgpt_base_url")].filter((entry) => entry !== void 0)
760
+ openAI: openAI.filter((entry) => typeof entry === "string"),
761
+ chatGPT: chatGPT.filter((entry) => typeof entry === "string")
751
762
  };
752
763
  }
753
764
  function readCodexAppServerConfigToml(params) {
@@ -1109,4 +1120,4 @@ function splitShellWords(value) {
1109
1120
  return words;
1110
1121
  }
1111
1122
  //#endregion
1112
- export { withMcpElicitationsApprovalPolicy as _, isCodexAppServerApprovalPolicyAllowedByRequirements as a, isTrustedCodexModelBackedOpenAIProvider as c, resolveCodexAppServerRuntimeOptions as d, resolveCodexComputerUseConfig as f, shouldAutoApproveCodexAppServerApprovals as g, resolveOpenClawExecPolicyForCodexAppServer as h, codexSandboxPolicyForTurn as i, normalizeCodexServiceTier as l, resolveCodexPluginsPolicy as m, canUseCodexModelBackedApprovalsReviewerForModel as n, isCodexFastServiceTier as o, resolveCodexModelBackedReviewerPolicyContext as p, codexAppServerStartOptionsKey as r, isCodexSandboxExecServerEnabled as s, CODEX_PLUGINS_MARKETPLACE_NAME as t, readCodexPluginConfig as u };
1123
+ export { isCodexAppServerApprovalPolicyAllowedByRequirements as a, normalizeCodexServiceTier as c, resolveCodexComputerUseConfig as d, resolveCodexModelBackedReviewerPolicyContext as f, withMcpElicitationsApprovalPolicy as g, shouldAutoApproveCodexAppServerApprovals as h, codexSandboxPolicyForTurn as i, readCodexPluginConfig as l, resolveOpenClawExecPolicyForCodexAppServer as m, canUseCodexModelBackedApprovalsReviewerForModel as n, isCodexFastServiceTier as o, resolveCodexPluginsPolicy as p, codexAppServerStartOptionsKey as r, isCodexSandboxExecServerEnabled as s, CODEX_PLUGINS_MARKETPLACE_NAME as t, resolveCodexAppServerRuntimeOptions as u };
@@ -1,11 +1,11 @@
1
1
  import { n as isJsonObject } from "./protocol-dh-ETiNd.js";
2
- import { H as readCodexNotificationTurnId, V as readCodexNotificationThreadId, d as resolveCodexAppServerRequestModelSelection, p as resolveCodexBindingModelProviderFallback, t as CODEX_NATIVE_PERSONALITY_NONE } from "./thread-lifecycle-DtT3-ehU.js";
3
- import { d as resolveCodexAppServerRuntimeOptions, h as resolveOpenClawExecPolicyForCodexAppServer, i as codexSandboxPolicyForTurn, n as canUseCodexModelBackedApprovalsReviewerForModel, o as isCodexFastServiceTier, p as resolveCodexModelBackedReviewerPolicyContext } from "./config-CszD0vP3.js";
4
- import { r as assertCodexThreadStartResponse } from "./protocol-validators-B19q5BIX.js";
5
- import { a as normalizeCodexAppServerBindingModelProvider, i as isCodexAppServerNativeAuthProfile, l as writeCodexAppServerBinding, n as clearCodexAppServerBinding, o as readCodexAppServerBinding } from "./session-binding-HOuPt-E0.js";
6
- import { r as CODEX_CONTROL_METHODS } from "./plugin-app-cache-key-C9ILt7bl.js";
7
- import { a as formatCodexDisplayText, t as resolveCodexAppServerForModelProvider } from "./app-server-policy-BPTiVNsW.js";
8
- import { a as getLeasedSharedCodexAppServerClient, o as releaseLeasedSharedCodexAppServerClient, p as resolveCodexAppServerAuthProfileIdForAgent } from "./shared-client-Dtx5i7Ez.js";
2
+ import { H as readCodexNotificationTurnId, V as readCodexNotificationThreadId, d as resolveCodexAppServerRequestModelSelection, p as resolveCodexBindingModelProviderFallback, t as CODEX_NATIVE_PERSONALITY_NONE } from "./thread-lifecycle-BDghpA0C.js";
3
+ import { f as resolveCodexModelBackedReviewerPolicyContext, i as codexSandboxPolicyForTurn, m as resolveOpenClawExecPolicyForCodexAppServer, n as canUseCodexModelBackedApprovalsReviewerForModel, o as isCodexFastServiceTier, u as resolveCodexAppServerRuntimeOptions } from "./config-DfV7hMHu.js";
4
+ import { r as assertCodexThreadStartResponse } from "./protocol-validators-CB4mtyrs.js";
5
+ import { a as normalizeCodexAppServerBindingModelProvider, i as isCodexAppServerNativeAuthProfile, l as writeCodexAppServerBinding, n as clearCodexAppServerBinding, o as readCodexAppServerBinding } from "./session-binding-CP5b8iN1.js";
6
+ import { r as CODEX_CONTROL_METHODS } from "./plugin-app-cache-key-D5ckrLBm.js";
7
+ import { a as formatCodexDisplayText, t as resolveCodexAppServerForModelProvider } from "./app-server-policy-UdM9fipd.js";
8
+ import { a as getLeasedSharedCodexAppServerClient, o as releaseLeasedSharedCodexAppServerClient, p as resolveCodexAppServerAuthProfileIdForAgent } from "./shared-client-Ll9fWpy9.js";
9
9
  import { n as resolveCodexNativeExecutionBlock, r as resolveCodexNativeSandboxBlock } from "./sandbox-guard-3tnjhjFb.js";
10
10
  import fs from "node:fs/promises";
11
11
  import path from "node:path";
package/dist/harness.js CHANGED
@@ -32,25 +32,25 @@ function createCodexAppServerAgentHarness(options) {
32
32
  };
33
33
  },
34
34
  runAttempt: async (params) => {
35
- const { runCodexAppServerAttempt } = await import("./run-attempt-CXxtFC9d.js");
35
+ const { runCodexAppServerAttempt } = await import("./run-attempt-Do5QKTZ-.js");
36
36
  return runCodexAppServerAttempt(params, {
37
37
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
38
38
  nativeHookRelay: { enabled: true }
39
39
  });
40
40
  },
41
41
  runSideQuestion: async (params) => {
42
- const { runCodexAppServerSideQuestion } = await import("./side-question-C-DhgJOd.js");
42
+ const { runCodexAppServerSideQuestion } = await import("./side-question-DUp0Z5_n.js");
43
43
  return runCodexAppServerSideQuestion(params, {
44
44
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
45
45
  nativeHookRelay: { enabled: true }
46
46
  });
47
47
  },
48
48
  compact: async (params) => {
49
- const { maybeCompactCodexAppServerSession } = await import("./compact-aQJ0ZKhe.js");
49
+ const { maybeCompactCodexAppServerSession } = await import("./compact-C-fHdAIB.js");
50
50
  return maybeCompactCodexAppServerSession(params, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
51
51
  },
52
52
  compactAfterContextEngine: async (params) => {
53
- const { maybeCompactCodexAppServerSession } = await import("./compact-aQJ0ZKhe.js");
53
+ const { maybeCompactCodexAppServerSession } = await import("./compact-C-fHdAIB.js");
54
54
  return maybeCompactCodexAppServerSession(params, {
55
55
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
56
56
  allowNonManualNativeRequest: true
@@ -58,12 +58,12 @@ function createCodexAppServerAgentHarness(options) {
58
58
  },
59
59
  reset: async (params) => {
60
60
  if (params.sessionFile) {
61
- const { clearCodexAppServerBinding } = await import("./session-binding-HOuPt-E0.js").then((n) => n.s);
61
+ const { clearCodexAppServerBinding } = await import("./session-binding-CP5b8iN1.js").then((n) => n.s);
62
62
  await clearCodexAppServerBinding(params.sessionFile);
63
63
  }
64
64
  },
65
65
  dispose: async () => {
66
- const { clearSharedCodexAppServerClientAndWait } = await import("./shared-client-Dtx5i7Ez.js").then((n) => n.c);
66
+ const { clearSharedCodexAppServerClientAndWait } = await import("./shared-client-Ll9fWpy9.js").then((n) => n.c);
67
67
  await clearSharedCodexAppServerClientAndWait();
68
68
  }
69
69
  };
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { createCodexAppServerAgentHarness } from "./harness.js";
2
- import { F as ensureCodexPluginActivation, I as pluginReadParams, R as defaultCodexAppInventoryCache } from "./thread-lifecycle-DtT3-ehU.js";
3
- import { d as resolveCodexAppServerRuntimeOptions, t as CODEX_PLUGINS_MARKETPLACE_NAME, u as readCodexPluginConfig } from "./config-CszD0vP3.js";
4
- import { t as buildCodexProvider } from "./provider-B-OHpbD3.js";
5
- import { t as buildCodexMediaUnderstandingProvider } from "./media-understanding-provider-ZUQHN7gT.js";
6
- import { i as describeControlFailure, n as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-C9ILt7bl.js";
7
- import { a as formatCodexDisplayText } from "./app-server-policy-BPTiVNsW.js";
8
- import { a as getLeasedSharedCodexAppServerClient, d as resolveCodexAppServerAuthAccountCacheKey, m as resolveCodexAppServerFallbackApiKeyCacheKey, o as releaseLeasedSharedCodexAppServerClient, p as resolveCodexAppServerAuthProfileIdForAgent, r as clearSharedCodexAppServerClientIfCurrentAndWait } from "./shared-client-Dtx5i7Ez.js";
9
- import { a as createCodexCliSessionNodeInvokePolicies, c as resolveCodexCliSessionForBindingOnNode, i as createCodexCliSessionNodeHostCommands, l as resumeCodexCliSessionOnNode, n as handleCodexConversationInboundClaim, s as listCodexCliSessionsOnNode, t as handleCodexConversationBindingResolved } from "./conversation-binding-t0XMLz-j.js";
10
- import { t as requestCodexAppServerJson } from "./request-Dcd452Nk.js";
2
+ import { F as ensureCodexPluginActivation, I as pluginReadParams, R as defaultCodexAppInventoryCache } from "./thread-lifecycle-BDghpA0C.js";
3
+ import { l as readCodexPluginConfig, t as CODEX_PLUGINS_MARKETPLACE_NAME, u as resolveCodexAppServerRuntimeOptions } from "./config-DfV7hMHu.js";
4
+ import { t as buildCodexProvider } from "./provider-CojmGiaW.js";
5
+ import { t as buildCodexMediaUnderstandingProvider } from "./media-understanding-provider-5YQx83ng.js";
6
+ import { i as describeControlFailure, n as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-D5ckrLBm.js";
7
+ import { a as formatCodexDisplayText } from "./app-server-policy-UdM9fipd.js";
8
+ import { a as getLeasedSharedCodexAppServerClient, d as resolveCodexAppServerAuthAccountCacheKey, m as resolveCodexAppServerFallbackApiKeyCacheKey, o as releaseLeasedSharedCodexAppServerClient, p as resolveCodexAppServerAuthProfileIdForAgent, r as clearSharedCodexAppServerClientIfCurrentAndWait } from "./shared-client-Ll9fWpy9.js";
9
+ import { a as createCodexCliSessionNodeInvokePolicies, c as resolveCodexCliSessionForBindingOnNode, i as createCodexCliSessionNodeHostCommands, l as resumeCodexCliSessionOnNode, n as handleCodexConversationInboundClaim, s as listCodexCliSessionsOnNode, t as handleCodexConversationBindingResolved } from "./conversation-binding-DrIWS5rX.js";
10
+ import { t as requestCodexAppServerJson } from "./request-RiBbqNPj.js";
11
11
  import { t as createCodexWebSearchProviderBase } from "./web-search-provider.shared-BrZmlqyR.js";
12
12
  import { mutateConfigFile } from "openclaw/plugin-sdk/config-mutation";
13
13
  import { resolveLivePluginConfigObject, resolvePluginConfigObject } from "openclaw/plugin-sdk/plugin-config-runtime";
@@ -52,7 +52,7 @@ async function handleCodexCommand(ctx, options = {}) {
52
52
  }
53
53
  }
54
54
  async function loadDefaultCodexSubcommandHandler() {
55
- const { handleCodexSubcommand } = await import("./command-handlers-DEPTJYk0.js");
55
+ const { handleCodexSubcommand } = await import("./command-handlers-BH6JevGQ.js");
56
56
  return handleCodexSubcommand;
57
57
  }
58
58
  //#endregion
@@ -87,7 +87,7 @@ async function readJsonObject(filePath) {
87
87
  //#endregion
88
88
  //#region extensions/codex/src/migration/auth.ts
89
89
  const OPENAI_PROVIDER_ID = "openai";
90
- const OPENAI_CODEX_DEFAULT_MODEL = "openai/gpt-5.5";
90
+ const OPENAI_CODEX_DEFAULT_MODEL = "openai/gpt-5.6-sol";
91
91
  const CODEX_IMPORT_DISPLAY_NAME = "Codex import";
92
92
  const CODEX_REASON_AUTH_NOT_SELECTED = "auth credential migration not selected";
93
93
  const CODEX_REASON_AUTH_PROFILE_EXISTS = "auth profile exists";
@@ -1542,7 +1542,7 @@ function buildCodexMigrationProvider(params = {}) {
1542
1542
  //#region extensions/codex/src/web-search-provider.ts
1543
1543
  let codexWebSearchRuntimePromise;
1544
1544
  function loadCodexWebSearchRuntime() {
1545
- codexWebSearchRuntimePromise ??= import("./web-search-provider.runtime-CkwxrXQj.js");
1545
+ codexWebSearchRuntimePromise ??= import("./web-search-provider.runtime-D-v5Y41V.js");
1546
1546
  return codexWebSearchRuntimePromise;
1547
1547
  }
1548
1548
  const CodexWebSearchSchema = {
@@ -1,10 +1,10 @@
1
1
  import { CODEX_PROVIDER_ID, FALLBACK_CODEX_MODELS } from "./provider-catalog.js";
2
2
  import { n as isJsonObject } from "./protocol-dh-ETiNd.js";
3
- import { N as mergeCodexThreadConfigs, r as buildCodexRuntimeThreadConfig } from "./thread-lifecycle-DtT3-ehU.js";
4
- import { C as readCodexNotificationItem } from "./attempt-notifications-BYnndyFl.js";
5
- import { d as resolveCodexAppServerRuntimeOptions } from "./config-CszD0vP3.js";
6
- import { i as assertCodexTurnStartResponse, l as readCodexTurnCompletedNotification, o as readCodexErrorNotification, r as assertCodexThreadStartResponse } from "./protocol-validators-B19q5BIX.js";
7
- import { i as readModelListResult } from "./models-CAmfBWRl.js";
3
+ import { N as mergeCodexThreadConfigs, r as buildCodexRuntimeThreadConfig } from "./thread-lifecycle-BDghpA0C.js";
4
+ import { C as readCodexNotificationItem } from "./attempt-notifications-Bzk6P-cp.js";
5
+ import { u as resolveCodexAppServerRuntimeOptions } from "./config-DfV7hMHu.js";
6
+ import { i as assertCodexTurnStartResponse, l as readCodexTurnCompletedNotification, o as readCodexErrorNotification, r as assertCodexThreadStartResponse } from "./protocol-validators-CB4mtyrs.js";
7
+ import { i as readModelListResult } from "./models-B5oPkfmf.js";
8
8
  import { validateJsonSchemaValue } from "openclaw/plugin-sdk/json-schema-runtime";
9
9
  import fs from "node:fs/promises";
10
10
  import path from "node:path";
@@ -51,7 +51,7 @@ async function runBoundedCodexAppServerTurnInWorkspace(params, appServer, worksp
51
51
  const agentDir = params.agentDir?.trim() || void 0;
52
52
  const startOptions = workspace.codexHome ? buildPrivateCodexAppServerStartOptions(appServer.start, workspace.codexHome) : appServer.start;
53
53
  const ownsClient = !params.options.clientFactory;
54
- const client = params.options.clientFactory ? await params.options.clientFactory(startOptions, params.profile, agentDir, params.config, { timeoutMs }) : await import("./shared-client-Dtx5i7Ez.js").then((n) => n.c).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
54
+ const client = params.options.clientFactory ? await params.options.clientFactory(startOptions, params.profile, agentDir, params.config, { timeoutMs }) : await import("./shared-client-Ll9fWpy9.js").then((n) => n.c).then(({ createIsolatedCodexAppServerClient }) => createIsolatedCodexAppServerClient({
55
55
  startOptions,
56
56
  timeoutMs,
57
57
  authProfileId: params.profile,
@@ -1,2 +1,2 @@
1
- import { t as buildCodexMediaUnderstandingProvider } from "./media-understanding-provider-ZUQHN7gT.js";
1
+ import { t as buildCodexMediaUnderstandingProvider } from "./media-understanding-provider-5YQx83ng.js";
2
2
  export { buildCodexMediaUnderstandingProvider };
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { s as readCodexModelListResponse } from "./protocol-validators-B19q5BIX.js";
2
+ import { s as readCodexModelListResponse } from "./protocol-validators-CB4mtyrs.js";
3
3
  import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  //#region extensions/codex/src/app-server/models.ts
5
5
  /**
@@ -46,7 +46,7 @@ async function listAllCodexAppServerModels(options = {}) {
46
46
  async function withCodexAppServerModelClient(options, run) {
47
47
  const timeoutMs = options.timeoutMs ?? 2500;
48
48
  const useSharedClient = options.sharedClient !== false;
49
- const { createIsolatedCodexAppServerClient, getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient } = await import("./shared-client-Dtx5i7Ez.js").then((n) => n.c);
49
+ const { createIsolatedCodexAppServerClient, getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient } = await import("./shared-client-Ll9fWpy9.js").then((n) => n.c);
50
50
  const client = useSharedClient ? await getLeasedSharedCodexAppServerClient({
51
51
  startOptions: options.startOptions,
52
52
  timeoutMs,
@@ -1,6 +1,6 @@
1
- import { L as buildCodexAppInventoryCacheKey } from "./thread-lifecycle-DtT3-ehU.js";
2
- import { n as CodexAppServerRpcError } from "./client-CLrtWgrD.js";
3
- import { h as resolveCodexAppServerHomeDir } from "./shared-client-Dtx5i7Ez.js";
1
+ import { L as buildCodexAppInventoryCacheKey } from "./thread-lifecycle-BDghpA0C.js";
2
+ import { n as CodexAppServerRpcError } from "./client-DsqoRGhJ.js";
3
+ import { h as resolveCodexAppServerHomeDir } from "./shared-client-Ll9fWpy9.js";
4
4
  import { createHash } from "node:crypto";
5
5
  //#region extensions/codex/src/app-server/capabilities.ts
6
6
  /**
@@ -642,6 +642,16 @@ var ThreadResumeResponse_default = {
642
642
  ],
643
643
  "type": "string"
644
644
  },
645
+ "LegacyAppPathString": { "type": "string" },
646
+ "McpToolCallAppContext": {
647
+ "properties": {
648
+ "connectorId": { "type": "string" },
649
+ "linkId": { "type": ["string", "null"] },
650
+ "resourceUri": { "type": ["string", "null"] }
651
+ },
652
+ "required": ["connectorId"],
653
+ "type": "object"
654
+ },
645
655
  "McpToolCallError": {
646
656
  "properties": { "message": { "type": "string" } },
647
657
  "required": ["message"],
@@ -716,6 +726,15 @@ var ThreadResumeResponse_default = {
716
726
  "type": "string"
717
727
  }]
718
728
  },
729
+ "MultiAgentMode": {
730
+ "description": "Controls whether the model receives multi-agent delegation instructions and, when it does, whether it should only spawn sub-agents after an explicit user request or may delegate proactively when doing so would help. `none` leaves the multi-agent tools available without injecting delegation instructions.",
731
+ "enum": [
732
+ "none",
733
+ "explicitRequestOnly",
734
+ "proactive"
735
+ ],
736
+ "type": "string"
737
+ },
719
738
  "NetworkAccess": {
720
739
  "enum": ["restricted", "enabled"],
721
740
  "type": "string"
@@ -996,6 +1015,11 @@ var ThreadResumeResponse_default = {
996
1015
  "description": "Usually the first user message in the thread, if available.",
997
1016
  "type": "string"
998
1017
  },
1018
+ "recencyAt": {
1019
+ "description": "Unix timestamp (in seconds) used for thread recency ordering.",
1020
+ "format": "int64",
1021
+ "type": ["integer", "null"]
1022
+ },
999
1023
  "sessionId": {
1000
1024
  "description": "Session id shared by threads that belong to the same session tree.",
1001
1025
  "type": "string"
@@ -1172,7 +1196,7 @@ var ThreadResumeResponse_default = {
1172
1196
  "type": "array"
1173
1197
  },
1174
1198
  "cwd": {
1175
- "allOf": [{ "$ref": "#/definitions/AbsolutePathBuf" }],
1199
+ "allOf": [{ "$ref": "#/definitions/LegacyAppPathString" }],
1176
1200
  "description": "The command's working directory."
1177
1201
  },
1178
1202
  "durationMs": {
@@ -1237,6 +1261,7 @@ var ThreadResumeResponse_default = {
1237
1261
  },
1238
1262
  {
1239
1263
  "properties": {
1264
+ "appContext": { "anyOf": [{ "$ref": "#/definitions/McpToolCallAppContext" }, { "type": "null" }] },
1240
1265
  "arguments": true,
1241
1266
  "durationMs": {
1242
1267
  "description": "The duration of the MCP tool call in milliseconds.",
@@ -1245,7 +1270,10 @@ var ThreadResumeResponse_default = {
1245
1270
  },
1246
1271
  "error": { "anyOf": [{ "$ref": "#/definitions/McpToolCallError" }, { "type": "null" }] },
1247
1272
  "id": { "type": "string" },
1248
- "mcpAppResourceUri": { "type": ["string", "null"] },
1273
+ "mcpAppResourceUri": {
1274
+ "description": "Deprecated: use `appContext.resourceUri` instead.",
1275
+ "type": ["string", "null"]
1276
+ },
1249
1277
  "pluginId": { "type": ["string", "null"] },
1250
1278
  "result": { "anyOf": [{ "$ref": "#/definitions/McpToolCallResult" }, { "type": "null" }] },
1251
1279
  "server": { "type": "string" },
@@ -1819,12 +1847,17 @@ var ThreadResumeResponse_default = {
1819
1847
  },
1820
1848
  "instructionSources": {
1821
1849
  "default": [],
1822
- "description": "Instruction source files currently loaded for this thread.",
1823
- "items": { "$ref": "#/definitions/AbsolutePathBuf" },
1850
+ "description": "Environment-native paths to instruction source files currently loaded for this thread.",
1851
+ "items": { "$ref": "#/definitions/LegacyAppPathString" },
1824
1852
  "type": "array"
1825
1853
  },
1826
1854
  "model": { "type": "string" },
1827
1855
  "modelProvider": { "type": "string" },
1856
+ "multiAgentMode": {
1857
+ "allOf": [{ "$ref": "#/definitions/MultiAgentMode" }],
1858
+ "default": "explicitRequestOnly",
1859
+ "description": "@deprecated Always `explicitRequestOnly`. Use `reasoningEffort` for Ultra behavior."
1860
+ },
1828
1861
  "reasoningEffort": { "anyOf": [{ "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" }] },
1829
1862
  "runtimeWorkspaceRoots": {
1830
1863
  "default": [],
@@ -2218,6 +2251,16 @@ var ThreadStartResponse_default = {
2218
2251
  ],
2219
2252
  "type": "string"
2220
2253
  },
2254
+ "LegacyAppPathString": { "type": "string" },
2255
+ "McpToolCallAppContext": {
2256
+ "properties": {
2257
+ "connectorId": { "type": "string" },
2258
+ "linkId": { "type": ["string", "null"] },
2259
+ "resourceUri": { "type": ["string", "null"] }
2260
+ },
2261
+ "required": ["connectorId"],
2262
+ "type": "object"
2263
+ },
2221
2264
  "McpToolCallError": {
2222
2265
  "properties": { "message": { "type": "string" } },
2223
2266
  "required": ["message"],
@@ -2292,6 +2335,15 @@ var ThreadStartResponse_default = {
2292
2335
  "type": "string"
2293
2336
  }]
2294
2337
  },
2338
+ "MultiAgentMode": {
2339
+ "description": "Controls whether the model receives multi-agent delegation instructions and, when it does, whether it should only spawn sub-agents after an explicit user request or may delegate proactively when doing so would help. `none` leaves the multi-agent tools available without injecting delegation instructions.",
2340
+ "enum": [
2341
+ "none",
2342
+ "explicitRequestOnly",
2343
+ "proactive"
2344
+ ],
2345
+ "type": "string"
2346
+ },
2295
2347
  "NetworkAccess": {
2296
2348
  "enum": ["restricted", "enabled"],
2297
2349
  "type": "string"
@@ -2572,6 +2624,11 @@ var ThreadStartResponse_default = {
2572
2624
  "description": "Usually the first user message in the thread, if available.",
2573
2625
  "type": "string"
2574
2626
  },
2627
+ "recencyAt": {
2628
+ "description": "Unix timestamp (in seconds) used for thread recency ordering.",
2629
+ "format": "int64",
2630
+ "type": ["integer", "null"]
2631
+ },
2575
2632
  "sessionId": {
2576
2633
  "description": "Session id shared by threads that belong to the same session tree.",
2577
2634
  "type": "string"
@@ -2748,7 +2805,7 @@ var ThreadStartResponse_default = {
2748
2805
  "type": "array"
2749
2806
  },
2750
2807
  "cwd": {
2751
- "allOf": [{ "$ref": "#/definitions/AbsolutePathBuf" }],
2808
+ "allOf": [{ "$ref": "#/definitions/LegacyAppPathString" }],
2752
2809
  "description": "The command's working directory."
2753
2810
  },
2754
2811
  "durationMs": {
@@ -2813,6 +2870,7 @@ var ThreadStartResponse_default = {
2813
2870
  },
2814
2871
  {
2815
2872
  "properties": {
2873
+ "appContext": { "anyOf": [{ "$ref": "#/definitions/McpToolCallAppContext" }, { "type": "null" }] },
2816
2874
  "arguments": true,
2817
2875
  "durationMs": {
2818
2876
  "description": "The duration of the MCP tool call in milliseconds.",
@@ -2821,7 +2879,10 @@ var ThreadStartResponse_default = {
2821
2879
  },
2822
2880
  "error": { "anyOf": [{ "$ref": "#/definitions/McpToolCallError" }, { "type": "null" }] },
2823
2881
  "id": { "type": "string" },
2824
- "mcpAppResourceUri": { "type": ["string", "null"] },
2882
+ "mcpAppResourceUri": {
2883
+ "description": "Deprecated: use `appContext.resourceUri` instead.",
2884
+ "type": ["string", "null"]
2885
+ },
2825
2886
  "pluginId": { "type": ["string", "null"] },
2826
2887
  "result": { "anyOf": [{ "$ref": "#/definitions/McpToolCallResult" }, { "type": "null" }] },
2827
2888
  "server": { "type": "string" },
@@ -3378,12 +3439,17 @@ var ThreadStartResponse_default = {
3378
3439
  "cwd": { "$ref": "#/definitions/AbsolutePathBuf" },
3379
3440
  "instructionSources": {
3380
3441
  "default": [],
3381
- "description": "Instruction source files currently loaded for this thread.",
3382
- "items": { "$ref": "#/definitions/AbsolutePathBuf" },
3442
+ "description": "Environment-native paths to instruction source files currently loaded for this thread.",
3443
+ "items": { "$ref": "#/definitions/LegacyAppPathString" },
3383
3444
  "type": "array"
3384
3445
  },
3385
3446
  "model": { "type": "string" },
3386
3447
  "modelProvider": { "type": "string" },
3448
+ "multiAgentMode": {
3449
+ "allOf": [{ "$ref": "#/definitions/MultiAgentMode" }],
3450
+ "default": "explicitRequestOnly",
3451
+ "description": "@deprecated Always `explicitRequestOnly`. Use `reasoningEffort` for Ultra behavior."
3452
+ },
3387
3453
  "reasoningEffort": { "anyOf": [{ "$ref": "#/definitions/ReasoningEffort" }, { "type": "null" }] },
3388
3454
  "runtimeWorkspaceRoots": {
3389
3455
  "default": [],
@@ -3709,6 +3775,16 @@ var TurnCompletedNotification_default = {
3709
3775
  ],
3710
3776
  "type": "string"
3711
3777
  },
3778
+ "LegacyAppPathString": { "type": "string" },
3779
+ "McpToolCallAppContext": {
3780
+ "properties": {
3781
+ "connectorId": { "type": "string" },
3782
+ "linkId": { "type": ["string", "null"] },
3783
+ "resourceUri": { "type": ["string", "null"] }
3784
+ },
3785
+ "required": ["connectorId"],
3786
+ "type": "object"
3787
+ },
3712
3788
  "McpToolCallError": {
3713
3789
  "properties": { "message": { "type": "string" } },
3714
3790
  "required": ["message"],
@@ -3986,7 +4062,7 @@ var TurnCompletedNotification_default = {
3986
4062
  "type": "array"
3987
4063
  },
3988
4064
  "cwd": {
3989
- "allOf": [{ "$ref": "#/definitions/AbsolutePathBuf" }],
4065
+ "allOf": [{ "$ref": "#/definitions/LegacyAppPathString" }],
3990
4066
  "description": "The command's working directory."
3991
4067
  },
3992
4068
  "durationMs": {
@@ -4051,6 +4127,7 @@ var TurnCompletedNotification_default = {
4051
4127
  },
4052
4128
  {
4053
4129
  "properties": {
4130
+ "appContext": { "anyOf": [{ "$ref": "#/definitions/McpToolCallAppContext" }, { "type": "null" }] },
4054
4131
  "arguments": true,
4055
4132
  "durationMs": {
4056
4133
  "description": "The duration of the MCP tool call in milliseconds.",
@@ -4059,7 +4136,10 @@ var TurnCompletedNotification_default = {
4059
4136
  },
4060
4137
  "error": { "anyOf": [{ "$ref": "#/definitions/McpToolCallError" }, { "type": "null" }] },
4061
4138
  "id": { "type": "string" },
4062
- "mcpAppResourceUri": { "type": ["string", "null"] },
4139
+ "mcpAppResourceUri": {
4140
+ "description": "Deprecated: use `appContext.resourceUri` instead.",
4141
+ "type": ["string", "null"]
4142
+ },
4063
4143
  "pluginId": { "type": ["string", "null"] },
4064
4144
  "result": { "anyOf": [{ "$ref": "#/definitions/McpToolCallResult" }, { "type": "null" }] },
4065
4145
  "server": { "type": "string" },
@@ -4860,6 +4940,16 @@ var TurnStartResponse_default = {
4860
4940
  ],
4861
4941
  "type": "string"
4862
4942
  },
4943
+ "LegacyAppPathString": { "type": "string" },
4944
+ "McpToolCallAppContext": {
4945
+ "properties": {
4946
+ "connectorId": { "type": "string" },
4947
+ "linkId": { "type": ["string", "null"] },
4948
+ "resourceUri": { "type": ["string", "null"] }
4949
+ },
4950
+ "required": ["connectorId"],
4951
+ "type": "object"
4952
+ },
4863
4953
  "McpToolCallError": {
4864
4954
  "properties": { "message": { "type": "string" } },
4865
4955
  "required": ["message"],
@@ -5137,7 +5227,7 @@ var TurnStartResponse_default = {
5137
5227
  "type": "array"
5138
5228
  },
5139
5229
  "cwd": {
5140
- "allOf": [{ "$ref": "#/definitions/AbsolutePathBuf" }],
5230
+ "allOf": [{ "$ref": "#/definitions/LegacyAppPathString" }],
5141
5231
  "description": "The command's working directory."
5142
5232
  },
5143
5233
  "durationMs": {
@@ -5202,6 +5292,7 @@ var TurnStartResponse_default = {
5202
5292
  },
5203
5293
  {
5204
5294
  "properties": {
5295
+ "appContext": { "anyOf": [{ "$ref": "#/definitions/McpToolCallAppContext" }, { "type": "null" }] },
5205
5296
  "arguments": true,
5206
5297
  "durationMs": {
5207
5298
  "description": "The duration of the MCP tool call in milliseconds.",
@@ -5210,7 +5301,10 @@ var TurnStartResponse_default = {
5210
5301
  },
5211
5302
  "error": { "anyOf": [{ "$ref": "#/definitions/McpToolCallError" }, { "type": "null" }] },
5212
5303
  "id": { "type": "string" },
5213
- "mcpAppResourceUri": { "type": ["string", "null"] },
5304
+ "mcpAppResourceUri": {
5305
+ "description": "Deprecated: use `appContext.resourceUri` instead.",
5306
+ "type": ["string", "null"]
5307
+ },
5214
5308
  "pluginId": { "type": ["string", "null"] },
5215
5309
  "result": { "anyOf": [{ "$ref": "#/definitions/McpToolCallResult" }, { "type": "null" }] },
5216
5310
  "server": { "type": "string" },