@openclaw/codex 2026.7.2-beta.7 → 2026.8.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 (55) hide show
  1. package/README.md +2 -0
  2. package/dist/{app-server-policy-BSaO2JIT.js → app-server-policy-zcBDc1JU.js} +1 -1
  3. package/dist/attempt-client-cleanup-DMLXUfa8.js +735 -0
  4. package/dist/{notification-correlation-CU6_AnOb.js → binding-connection-I5Bo-AsX.js} +3 -37
  5. package/dist/{bounded-turn-D2ZAgZVz.js → bounded-turn-qgZmzy_4.js} +50 -49
  6. package/dist/{capabilities-BFDTVYr4.js → capabilities-CybGI1oz.js} +8 -2
  7. package/dist/cli-metadata.js +1 -1
  8. package/dist/{command-formatters-C336eRVS.js → command-formatters-B1AEz8ZA.js} +18 -18
  9. package/dist/{command-handlers-DAHUSry9.js → command-handlers-Db8pu_ds.js} +484 -95
  10. package/dist/{compact-D_uvHurS.js → compact-LspQaGfl.js} +213 -199
  11. package/dist/{conversation-binding-data-BHRpYbX3.js → conversation-binding-data-CW2GuupV.js} +6 -10
  12. package/dist/doctor-contract-api.js +40 -43
  13. package/dist/{dynamic-tools-D2gYkSBO.js → dynamic-tools-BVdyWkUD.js} +2597 -1221
  14. package/dist/{effective-mcp-catalog-Bbd98Inw.js → effective-mcp-catalog-DIIhAtOZ.js} +20 -15
  15. package/dist/{event-projector-assistant-message-DTgnPPVF.js → event-projector-assistant-message-BwxV4d6N.js} +11 -23
  16. package/dist/{attempt-notifications-AP-a-Q5k.js → event-projector-usage-e5huIQWu.js} +113 -29
  17. package/dist/harness.js +80 -14
  18. package/dist/image-payload-sanitizer-CnfoUPCE.js +65 -0
  19. package/dist/index.js +591 -240
  20. package/dist/isolated-completion-C58NbL40.js +75 -0
  21. package/dist/local-runtime-attribution-B_2mnqhb.js +19 -0
  22. package/dist/media-understanding-provider.js +5 -5
  23. package/dist/{models-BBMKU4jA.js → models-BFlpn1Ex.js} +12 -17
  24. package/dist/native-subagent-monitor-DyTGmTUx.js +3111 -0
  25. package/dist/{plugin-app-cache-key-DztPafOA.js → plugin-app-cache-key-C3H2CVp6.js} +5 -5
  26. package/dist/plugin-marketplace-discovery-CzrGJdCR.js +385 -0
  27. package/dist/{computer-use-CYEc8U3w.js → plugin-metadata-cache-CNJPj4_b.js} +105 -5
  28. package/dist/protocol-validators-B4F7L8Rf.js +2346 -0
  29. package/dist/{rate-limits-CU-gVCCS.js → rate-limits-DZXmOL8-.js} +17 -35
  30. package/dist/{request-qKh331yu.js → request-BRl5_UfX.js} +3 -3
  31. package/dist/{run-attempt-CY9WlDLc.js → run-attempt-P8BdxC1I.js} +4837 -9047
  32. package/dist/{runtime-artifact-CmtG_t1L.js → runtime-artifact-BVSPdd6g.js} +8 -23
  33. package/dist/{sandbox-guard-NuhpXmPB.js → sandbox-guard-Cmwc9eIk.js} +6 -13
  34. package/dist/{session-binding-BXpo9ymA.js → session-binding-DPxIvMgE.js} +246 -265
  35. package/dist/{session-catalog-DyOgR4WH.js → session-catalog-xwNi_SDM.js} +159 -109
  36. package/dist/{session-cli-2PZaFLRh.js → session-cli-7hgXZDV7.js} +1 -1
  37. package/dist/session-retirement-DoMMJFKm.js +36 -0
  38. package/dist/{session-upstream-marker-B6U7tLw5.js → session-upstream-marker-CrIFX06J.js} +1 -1
  39. package/dist/{settled-turn-finalizer-CXY2Z9dT.js → settled-turn-finalizer-BRWBO4MO.js} +21 -13
  40. package/dist/{shared-client-DTbvH-XV.js → shared-client-kIBbGjk4.js} +587 -223
  41. package/dist/{side-question-_ulBk1AL.js → side-question-9HAL26l9.js} +101 -52
  42. package/dist/{thread-lifecycle-DF53ogiA.js → thread-lifecycle-Bu1BTDXr.js} +694 -753
  43. package/dist/thread-ownership-6kOQHlyC.js +92 -0
  44. package/dist/thread-resume-CPrJNQVM.js +30 -0
  45. package/dist/transcript-mirror-B9gGgnJS.js +570 -0
  46. package/dist/{transport-stdio-DXgGZ7Ib.js → transport-stdio-DIImwDVS.js} +11 -0
  47. package/dist/upstream-prompt-provenance-ClRBije0.js +41 -0
  48. package/dist/{upstream-session-fork-Dy4Xvuoj.js → upstream-session-fork-CE-_LdnP.js} +5 -5
  49. package/dist/{usage-CQ6GhD5-.js → usage-CHlV0e-o.js} +3 -3
  50. package/dist/{web-search-provider.runtime-CCFhg2z5.js → web-search-provider.runtime-DRw2Vl42.js} +8 -9
  51. package/openclaw.plugin.json +18 -3
  52. package/package.json +5 -5
  53. package/dist/conversation-control-xsIeXbo4.js +0 -287
  54. package/dist/event-projector-usage-Xp4AlR2k.js +0 -86
  55. package/dist/transcript-mirror-DzsdNCf5.js +0 -6924
@@ -1,4 +1,4 @@
1
- import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-DXgGZ7Ib.js";
1
+ import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-DIImwDVS.js";
2
2
  import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import { createHash } from "node:crypto";
@@ -17,17 +17,6 @@ const MAX_ARTIFACT_FILES = 8192;
17
17
  const MAX_ARTIFACT_TOTAL_BYTES = 1024n * 1024n * 1024n;
18
18
  const READ_CHUNK_BYTES = 64 * 1024;
19
19
  const CODE_MODE_HOST_PATH_ENV = "CODEX_CODE_MODE_HOST_PATH";
20
- const RUNTIME_INJECTION_ENV_KEYS = /* @__PURE__ */ new Set([
21
- "NODE_PATH",
22
- "LD_AUDIT",
23
- "LD_LIBRARY_PATH",
24
- "LD_PRELOAD",
25
- "DYLD_FALLBACK_FRAMEWORK_PATH",
26
- "DYLD_FALLBACK_LIBRARY_PATH",
27
- "DYLD_FRAMEWORK_PATH",
28
- "DYLD_INSERT_LIBRARIES",
29
- "DYLD_LIBRARY_PATH"
30
- ]);
31
20
  const SAFE_NODE_OPTIONS_BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
32
21
  "--enable-network-family-autoselection",
33
22
  "--network-family-autoselection",
@@ -138,17 +127,13 @@ function pathIsWithin(rootPath, candidatePath) {
138
127
  const relative = path.relative(rootPath, candidatePath);
139
128
  return relative === "" || !path.isAbsolute(relative) && !relative.startsWith(`..${path.sep}`) && relative !== "..";
140
129
  }
141
- function assertNoRuntimeInjectionEnvironment(env) {
130
+ function assertSafeNodeOptions(env) {
142
131
  for (const [rawKey, value] of Object.entries(env)) {
143
- const key = rawKey.toUpperCase();
144
- if (!value?.trim()) continue;
145
- if (key === "NODE_OPTIONS") {
146
- const result = attestNodeOptions(value);
147
- if (result.ok) continue;
148
- if (result.option) throw new Error(`Codex runtime artifact cannot attest NODE_OPTIONS option ${result.option}`);
149
- throw new Error("Codex runtime artifact cannot safely parse NODE_OPTIONS");
150
- }
151
- if (RUNTIME_INJECTION_ENV_KEYS.has(key) || key.startsWith("DYLD_")) throw new Error(`Codex runtime artifact cannot attest injected runtime environment: ${key}`);
132
+ if (rawKey.toUpperCase() !== "NODE_OPTIONS" || !value?.trim()) continue;
133
+ const result = attestNodeOptions(value);
134
+ if (result.ok) continue;
135
+ if (result.option) throw new Error(`Codex runtime artifact cannot attest NODE_OPTIONS option ${result.option}`);
136
+ throw new Error("Codex runtime artifact cannot safely parse NODE_OPTIONS");
152
137
  }
153
138
  }
154
139
  function parseNodeOptions(value) {
@@ -377,7 +362,7 @@ async function captureFilesystemDescriptor(params) {
377
362
  throwIfAborted(params.signal);
378
363
  if (params.startOptions.transport !== "stdio") throw new Error("Verified Codex inference requires a local stdio runtime artifact; WebSocket attestation is unsupported");
379
364
  const env = resolveCodexAppServerSpawnEnv(params.startOptions);
380
- assertNoRuntimeInjectionEnvironment(env);
365
+ assertSafeNodeOptions(env);
381
366
  const spawnCwd = path.resolve(params.startOptions.cwd ?? process.cwd());
382
367
  const commandPath = await resolveCommandPath(params.startOptions.command, env, spawnCwd);
383
368
  const commandRealPath = await fs.realpath(commandPath);
@@ -1,11 +1,8 @@
1
+ import { C as isCodexRemoteExecPlacementSandbox } from "./session-binding-DPxIvMgE.js";
2
+ import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
1
3
  import { getSessionEntry } from "openclaw/plugin-sdk/session-store-runtime";
2
4
  import { resolveSandboxRuntimeStatus } from "openclaw/plugin-sdk/sandbox";
3
5
  //#region extensions/codex/src/app-server/native-execution-policy.ts
4
- const DEFAULT_AGENT_ID = "main";
5
- const VALID_AGENT_ID_PATTERN = /^[a-z0-9][a-z0-9_-]{0,63}$/i;
6
- const INVALID_AGENT_ID_CHARS_PATTERN = /[^a-z0-9_-]+/g;
7
- const LEADING_DASH_PATTERN = /^-+/;
8
- const TRAILING_DASH_PATTERN = /-+$/;
9
6
  /** Projects node execution ownership into the runtime tool factory options. */
10
7
  function resolveCodexNodeExecToolOverrides(policy) {
11
8
  if (policy.effectiveExecHost !== "node") return;
@@ -109,14 +106,7 @@ function resolveDefaultPolicyAgentId(agents) {
109
106
  }
110
107
  function normalizeAgentIdOrDefault(value) {
111
108
  const normalized = normalizeAgentId(value);
112
- return normalized === DEFAULT_AGENT_ID && !(value ?? "").trim() ? void 0 : normalized;
113
- }
114
- function normalizeAgentId(value) {
115
- const trimmed = (value ?? "").trim();
116
- if (!trimmed) return DEFAULT_AGENT_ID;
117
- const normalized = trimmed.toLowerCase();
118
- if (VALID_AGENT_ID_PATTERN.test(trimmed)) return normalized;
119
- return normalized.replace(INVALID_AGENT_ID_CHARS_PATTERN, "-").replace(LEADING_DASH_PATTERN, "").replace(TRAILING_DASH_PATTERN, "").slice(0, 64) || DEFAULT_AGENT_ID;
109
+ return normalized === "main" && !(value ?? "").trim() ? void 0 : normalized;
120
110
  }
121
111
  function normalizeExecTarget(value) {
122
112
  const normalized = value?.trim().toLowerCase();
@@ -223,6 +213,7 @@ function resolveCodexAppServerDirectSandboxBypassBlock(params) {
223
213
  const sandboxBlock = resolveCodexNativeSandboxBlock({
224
214
  config: params.config,
225
215
  sessionKey,
216
+ sandbox: params.sandbox,
226
217
  surface: `app-server method \`${params.method}\``
227
218
  });
228
219
  if (!sandboxBlock) return;
@@ -235,8 +226,10 @@ function resolveCodexNativeExecutionBlock(params) {
235
226
  }
236
227
  /** Returns a block message when native Codex execution cannot honor active sandboxing. */
237
228
  function resolveCodexNativeSandboxBlock(params) {
229
+ if (params.sandboxEnvironmentSelected) return;
238
230
  const sessionKey = params.sessionKey?.trim() || params.sessionId?.trim();
239
231
  if (!sessionKey) return;
232
+ if (isCodexRemoteExecPlacementSandbox(params.sandbox) || params.sandbox?.enabled === true) return formatCodexNativeSandboxBlock({ surface: params.surface });
240
233
  if (!resolveSandboxRuntimeStatus({
241
234
  cfg: params.config,
242
235
  sessionKey