@openclaw/codex 2026.7.1 → 2026.7.2-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 (48) hide show
  1. package/README.md +27 -3
  2. package/dist/app-server-policy-Scc-Wevo.js +49 -0
  3. package/dist/{attempt-notifications-BGsEIIDI.js → attempt-notifications-BFmNhqFl.js} +3 -6
  4. package/dist/auth-binding-C1czuHPA.js +62 -0
  5. package/dist/cli-metadata.js +20 -0
  6. package/dist/{app-server-policy-C968Kgin.js → command-formatters-Dq9InZUK.js} +39 -51
  7. package/dist/{command-handlers-Dv-pzAmg.js → command-handlers-IgqmL_kv.js} +161 -61
  8. package/dist/{compact-4mVBriKT.js → compact-DCTmg3id.js} +39 -10
  9. package/dist/computer-use-CPcU8TjG.js +685 -0
  10. package/dist/conversation-control-CGkBlfc5.js +286 -0
  11. package/dist/doctor-contract-api.js +120 -81
  12. package/dist/{provider-capabilities-CDnHbmUZ.js → dynamic-tools-C_1tEs34.js} +6109 -5725
  13. package/dist/harness.js +59 -15
  14. package/dist/index.js +1460 -269
  15. package/dist/{media-understanding-provider-BHOu9-Gg.js → media-understanding-provider-D31dOJwb.js} +32 -15
  16. package/dist/media-understanding-provider.js +1 -1
  17. package/dist/{models-DDmO1zwd.js → models-uh26C8QU.js} +5 -9
  18. package/dist/notification-correlation-KmfV4EkP.js +67 -0
  19. package/dist/plugin-app-cache-key-Ceb-lm2c.js +315 -0
  20. package/dist/{provider-zjPfx5Fs.js → rate-limits-DyXaYAxU.js} +10 -266
  21. package/dist/request-B_oQsCXy.js +157 -0
  22. package/dist/{run-attempt-FUyOjGCV.js → run-attempt-MLzoMe_m.js} +7395 -6430
  23. package/dist/runtime-artifact-C2ITXdhM.js +488 -0
  24. package/dist/{sandbox-guard-DA2TQfZW.js → sandbox-guard-D1Wky__S.js} +10 -1
  25. package/dist/{config-CYEDnLJ2.js → session-binding-h1mmCGnl.js} +985 -31
  26. package/dist/session-catalog-CEvoXWHA.js +2412 -0
  27. package/dist/session-cli-XsEuWb_C.js +175 -0
  28. package/dist/{shared-client-4ICy3U6d.js → shared-client-JiAnW6pc.js} +2193 -1319
  29. package/dist/{side-question-N4OaDer2.js → side-question-DqDvIwSU.js} +140 -70
  30. package/dist/{thread-lifecycle-qWE88Dn2.js → thread-lifecycle-CN_pPtPh.js} +1826 -1188
  31. package/dist/{protocol-validators-dZQ-UTOa.js → transcript-mirror-D9rTxx2P.js} +485 -2
  32. package/dist/transport-stdio-DXgGZ7Ib.js +88 -0
  33. package/dist/usage-D5Rohxoc.js +25 -0
  34. package/dist/{web-search-provider.runtime-BSlriav6.js → web-search-provider.runtime-CKVBn3fP.js} +3 -3
  35. package/npm-shrinkwrap.json +56 -30
  36. package/openclaw.plugin.json +177 -14
  37. package/package.json +8 -6
  38. package/dist/command-rpc-eLM_mtC7.js +0 -784
  39. package/dist/computer-use-Bmaz333N.js +0 -377
  40. package/dist/notification-correlation-Bo7KB3ks.js +0 -35
  41. package/dist/plugin-app-cache-key-BrhVdeEf.js +0 -98
  42. package/dist/prompt-overlay.js +0 -15
  43. package/dist/protocol-2POPqAY4.js +0 -13
  44. package/dist/provider-catalog.js +0 -79
  45. package/dist/provider-discovery.js +0 -34
  46. package/dist/provider.js +0 -2
  47. package/dist/request-BcJyl8KL.js +0 -36
  48. package/dist/session-binding-C1ZXdP-x.js +0 -627
package/dist/harness.js CHANGED
@@ -1,5 +1,6 @@
1
1
  //#region extensions/codex/harness.ts
2
2
  const DEFAULT_CODEX_HARNESS_PROVIDER_IDS = /* @__PURE__ */ new Set(["codex", "openai"]);
3
+ const SHARED_CODEX_APP_SERVER_CLIENT_DISPOSER = Symbol.for("openclaw.codexAppServerClientDisposer");
3
4
  const CODEX_APP_SERVER_CONTEXT_ENGINE_HOST_CAPABILITIES = [
4
5
  "bootstrap",
5
6
  "assemble-before-prompt",
@@ -9,30 +10,76 @@ const CODEX_APP_SERVER_CONTEXT_ENGINE_HOST_CAPABILITIES = [
9
10
  "runtime-llm-complete",
10
11
  "thread-bootstrap-projection"
11
12
  ];
13
+ async function disposeSharedCodexAppServerClients() {
14
+ const dispose = globalThis[SHARED_CODEX_APP_SERVER_CLIENT_DISPOSER];
15
+ await dispose?.();
16
+ }
12
17
  /**
13
18
  * Creates the Codex app-server harness used for attempts, side questions,
14
19
  * compaction, reset, and disposal.
15
20
  */
16
21
  function createCodexAppServerAgentHarness(options) {
22
+ const harnessRuntimeId = options?.id ?? "codex";
23
+ const normalizedHarnessRuntimeId = harnessRuntimeId.trim().toLowerCase();
17
24
  const providerIds = new Set([...options?.providerIds ?? DEFAULT_CODEX_HARNESS_PROVIDER_IDS].map((id) => id.trim().toLowerCase()));
18
25
  return {
19
- id: options?.id ?? "codex",
26
+ id: harnessRuntimeId,
20
27
  label: options?.label ?? "Codex agent harness",
28
+ delegatedExecutionPluginIds: ["voice-call"],
21
29
  contextEngineHostCapabilities: CODEX_APP_SERVER_CONTEXT_ENGINE_HOST_CAPABILITIES,
22
30
  deliveryDefaults: { sourceVisibleReplies: "message_tool" },
31
+ authBootstrap: "harness",
32
+ authBinding: { fingerprint: async (params) => {
33
+ const { fingerprintCodexAppServerAuthBinding } = await import("./auth-binding-C1czuHPA.js").then((n) => n.t);
34
+ return fingerprintCodexAppServerAuthBinding(params);
35
+ } },
36
+ runtimeArtifact: { validate: async (binding) => {
37
+ const { validateCodexAppServerRuntimeArtifact } = await import("./runtime-artifact-C2ITXdhM.js");
38
+ return validateCodexAppServerRuntimeArtifact(binding);
39
+ } },
40
+ fetchUsageSnapshot: async (ctx) => {
41
+ const { fetchCodexAppServerUsageSnapshot } = await import("./usage-D5Rohxoc.js");
42
+ return await fetchCodexAppServerUsageSnapshot(ctx, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
43
+ },
23
44
  supports: (ctx) => {
24
45
  const provider = ctx.provider.trim().toLowerCase();
25
- if (providerIds.has(provider)) return {
26
- supported: true,
27
- priority: 100
28
- };
29
- return {
46
+ if (!providerIds.has(provider)) return {
30
47
  supported: false,
31
48
  reason: `provider is not one of: ${[...providerIds].toSorted().join(", ")}`
32
49
  };
50
+ if (ctx.modelProvider?.requestTransportOverrides === "present") return {
51
+ supported: false,
52
+ reason: "Codex cannot reproduce authored request transport overrides"
53
+ };
54
+ const preparedAuth = ctx.modelProvider?.preparedAuth;
55
+ const runtimePolicy = ctx.modelProvider?.runtimePolicy;
56
+ if (runtimePolicy) {
57
+ if (!runtimePolicy.compatibleIds.some((id) => id.trim().toLowerCase() === normalizedHarnessRuntimeId)) return {
58
+ supported: false,
59
+ reason: "Codex cannot reproduce the prepared provider route"
60
+ };
61
+ } else if (ctx.modelProvider && provider !== "codex") return {
62
+ supported: false,
63
+ reason: "provider route compatibility with Codex is not declared"
64
+ };
65
+ if (preparedAuth?.requirement === "subscription") {
66
+ if (!(preparedAuth.source === "profile" && (preparedAuth.mode === "oauth" || preparedAuth.mode === "token"))) return {
67
+ supported: false,
68
+ reason: "Codex subscription auth requires a prepared OAuth or token profile"
69
+ };
70
+ } else if (preparedAuth?.requirement === "api-key") {
71
+ if (!(preparedAuth.source !== "none" && preparedAuth.source !== "harness" && (preparedAuth.mode === "api-key" || preparedAuth.mode === "api_key"))) return {
72
+ supported: false,
73
+ reason: "Codex Platform auth requires a prepared API key"
74
+ };
75
+ }
76
+ return {
77
+ supported: true,
78
+ priority: 100
79
+ };
33
80
  },
34
81
  runAttempt: async (params) => {
35
- const { runCodexAppServerAttempt } = await import("./run-attempt-FUyOjGCV.js");
82
+ const { runCodexAppServerAttempt } = await import("./run-attempt-MLzoMe_m.js");
36
83
  return runCodexAppServerAttempt(params, {
37
84
  bindingStore: options.bindingStore,
38
85
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
@@ -40,7 +87,7 @@ function createCodexAppServerAgentHarness(options) {
40
87
  });
41
88
  },
42
89
  runSideQuestion: async (params) => {
43
- const { runCodexAppServerSideQuestion } = await import("./side-question-N4OaDer2.js");
90
+ const { runCodexAppServerSideQuestion } = await import("./side-question-DqDvIwSU.js");
44
91
  return runCodexAppServerSideQuestion(params, {
45
92
  bindingStore: options.bindingStore,
46
93
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
@@ -48,14 +95,14 @@ function createCodexAppServerAgentHarness(options) {
48
95
  });
49
96
  },
50
97
  compact: async (params) => {
51
- const { maybeCompactCodexAppServerSession } = await import("./compact-4mVBriKT.js");
98
+ const { maybeCompactCodexAppServerSession } = await import("./compact-DCTmg3id.js");
52
99
  return maybeCompactCodexAppServerSession(params, {
53
100
  bindingStore: options.bindingStore,
54
101
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig
55
102
  });
56
103
  },
57
104
  compactAfterContextEngine: async (params) => {
58
- const { maybeCompactCodexAppServerSession } = await import("./compact-4mVBriKT.js");
105
+ const { maybeCompactCodexAppServerSession } = await import("./compact-DCTmg3id.js");
59
106
  return maybeCompactCodexAppServerSession(params, {
60
107
  bindingStore: options.bindingStore,
61
108
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
@@ -64,7 +111,7 @@ function createCodexAppServerAgentHarness(options) {
64
111
  },
65
112
  reset: async (params) => {
66
113
  if (params.sessionId) {
67
- const { reclaimCurrentCodexSessionGeneration, sessionBindingIdentity } = await import("./session-binding-C1ZXdP-x.js").then((n) => n.c);
114
+ const { reclaimCurrentCodexSessionGeneration, sessionBindingIdentity } = await import("./session-binding-h1mmCGnl.js").then((n) => n.l);
68
115
  const identity = sessionBindingIdentity({
69
116
  agentId: params.agentId,
70
117
  sessionId: params.sessionId,
@@ -81,10 +128,7 @@ function createCodexAppServerAgentHarness(options) {
81
128
  if (retired === "conflict") throw new Error(`Codex binding generation changed before session ${params.sessionId} could reset`);
82
129
  }
83
130
  },
84
- dispose: async () => {
85
- const { clearSharedCodexAppServerClientAndWait } = await import("./shared-client-4ICy3U6d.js").then((n) => n.c);
86
- await clearSharedCodexAppServerClientAndWait();
87
- }
131
+ dispose: disposeSharedCodexAppServerClients
88
132
  };
89
133
  }
90
134
  //#endregion