@openclaw/codex 2026.7.2-beta.7 → 2026.8.1-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 (68) hide show
  1. package/README.md +2 -0
  2. package/dist/api.js +147 -0
  3. package/dist/app-server-policy-bg5QPSVP.js +25 -0
  4. package/dist/attempt-client-cleanup-URjUlCHg.js +735 -0
  5. package/dist/binding-connection-DAvZwp96.js +45 -0
  6. package/dist/{bounded-turn-D2ZAgZVz.js → bounded-turn-4BjrZEwW.js} +63 -56
  7. package/dist/{capabilities-BFDTVYr4.js → capabilities-CH3K57v4.js} +8 -2
  8. package/dist/cli-metadata.js +1 -1
  9. package/dist/{command-formatters-C336eRVS.js → command-formatters-D0nZ3qtd.js} +18 -18
  10. package/dist/{command-handlers-DAHUSry9.js → command-handlers-DC86lgT4.js} +507 -101
  11. package/dist/command-rpc-xUIIonsO.js +90 -0
  12. package/dist/{compact-D_uvHurS.js → compact-COqgBRny.js} +234 -214
  13. package/dist/{session-binding-BXpo9ymA.js → config-CpNeo5AE.js} +284 -1163
  14. package/dist/context-compaction-activity-BOeJf7yo.js +58 -0
  15. package/dist/{conversation-binding-data-BHRpYbX3.js → conversation-binding-data-CW2GuupV.js} +6 -10
  16. package/dist/doctor-contract-api.js +48 -50
  17. package/dist/{dynamic-tools-D2gYkSBO.js → dynamic-tools-fJZhl4CE.js} +3442 -1433
  18. package/dist/{effective-mcp-catalog-Bbd98Inw.js → effective-mcp-catalog-4YKn51aG.js} +20 -15
  19. package/dist/elicitation-input-DMkeki8d.js +71 -0
  20. package/dist/{event-projector-assistant-message-DTgnPPVF.js → event-projector-assistant-message-BwxV4d6N.js} +11 -23
  21. package/dist/{attempt-notifications-AP-a-Q5k.js → event-projector-usage-CLwNEJqW.js} +113 -29
  22. package/dist/harness-DoKQcF8n.js +258 -0
  23. package/dist/harness.js +2 -160
  24. package/dist/image-payload-sanitizer-CnfoUPCE.js +65 -0
  25. package/dist/index.js +730 -256
  26. package/dist/isolated-completion-DPMtlH9r.js +75 -0
  27. package/dist/local-runtime-attribution-B_2mnqhb.js +19 -0
  28. package/dist/managed-binary-By4FZC6i.js +212 -0
  29. package/dist/media-understanding-provider.js +5 -5
  30. package/dist/model-catalog-CmGoqVKB.js +48 -0
  31. package/dist/{models-BBMKU4jA.js → models-CZw1wClT.js} +12 -17
  32. package/dist/native-subagent-monitor-GGq3RnOo.js +3225 -0
  33. package/dist/node-exec-server.runtime-Bsu1LdFZ.js +192 -0
  34. package/dist/{plugin-app-cache-key-DztPafOA.js → plugin-app-cache-key-DMNQ8Zi8.js} +18 -6
  35. package/dist/plugin-approval-roundtrip-C75Yiiwc.js +95 -0
  36. package/dist/plugin-marketplace-discovery-CSWDkMrP.js +399 -0
  37. package/dist/{computer-use-CYEc8U3w.js → plugin-metadata-cache-BXH5NF-4.js} +109 -6
  38. package/dist/protocol-validators-VAVyEnDp.js +2399 -0
  39. package/dist/{rate-limits-CU-gVCCS.js → rate-limits-BI1dMHDG.js} +17 -35
  40. package/dist/{request-qKh331yu.js → request-DSK0W6YI.js} +3 -3
  41. package/dist/{run-attempt-CY9WlDLc.js → run-attempt-BV3HzuCf.js} +3416 -7194
  42. package/dist/{runtime-artifact-CmtG_t1L.js → runtime-artifact-BvyT1uyd.js} +11 -29
  43. package/dist/{sandbox-guard-NuhpXmPB.js → sandbox-guard-C1qEeZ5C.js} +29 -30
  44. package/dist/session-binding-BTrLf9Qm.js +874 -0
  45. package/dist/{session-catalog-DyOgR4WH.js → session-catalog-ezP_UcRM.js} +1584 -1289
  46. package/dist/session-catalog-home-id-BNwAJ9D7.js +18 -0
  47. package/dist/{session-cli-2PZaFLRh.js → session-cli-B1hKvfkI.js} +20 -7
  48. package/dist/session-retirement-CE4iMiLh.js +36 -0
  49. package/dist/{session-upstream-marker-B6U7tLw5.js → session-upstream-marker-D_2npHlA.js} +1 -1
  50. package/dist/{settled-turn-finalizer-CXY2Z9dT.js → settled-turn-finalizer-Dx1onIqg.js} +40 -28
  51. package/dist/{shared-client-DTbvH-XV.js → shared-client-Dw-rzii0.js} +1315 -469
  52. package/dist/{side-question-_ulBk1AL.js → side-question-DbXkJZzg.js} +140 -69
  53. package/dist/{thread-lifecycle-DF53ogiA.js → thread-lifecycle-DKdrnTMX.js} +927 -768
  54. package/dist/thread-ownership-i2NBwDUL.js +92 -0
  55. package/dist/thread-resume-CdJk2Ehf.js +30 -0
  56. package/dist/transcript-mirror-BU0_LKAL.js +588 -0
  57. package/dist/{transport-stdio-DXgGZ7Ib.js → transport-stdio-DhoGy33Z.js} +13 -2
  58. package/dist/upstream-prompt-provenance-CFmsKwr9.js +39 -0
  59. package/dist/{upstream-session-fork-Dy4Xvuoj.js → upstream-session-fork-BDVJCLAD.js} +14 -8
  60. package/dist/{usage-CQ6GhD5-.js → usage-9dKJCgcy.js} +3 -3
  61. package/dist/{web-search-provider.runtime-CCFhg2z5.js → web-search-provider.runtime-DCdx4DGu.js} +8 -9
  62. package/openclaw.plugin.json +49 -4
  63. package/package.json +6 -5
  64. package/dist/app-server-policy-BSaO2JIT.js +0 -49
  65. package/dist/conversation-control-xsIeXbo4.js +0 -287
  66. package/dist/event-projector-usage-Xp4AlR2k.js +0 -86
  67. package/dist/notification-correlation-CU6_AnOb.js +0 -67
  68. package/dist/transcript-mirror-DzsdNCf5.js +0 -6924
package/README.md CHANGED
@@ -28,6 +28,8 @@ Disabling or uninstalling the plugin leaves supervised Chats locked and unavaila
28
28
 
29
29
  These shell commands differ from the in-chat `/codex` runtime commands. In particular, `/codex sessions --host <node>` lists Codex CLI session files on one node, `/codex threads` uses the current conversation's App Server connection, and `/codex resume` or `/codex bind` changes that conversation's binding. There is no `/codex archive` runtime command.
30
30
 
31
+ Native Codex plugin catalogs are discoverable with `/codex plugins available`, including repository marketplaces declared in `.agents/plugins/marketplace.json` in the bound workspace. An owner or `operator.admin` can install and authorize an exact plugin with `/codex plugins install <plugin>@<marketplace>`. The owner-scoped `codex_plugins` agent tool only reads marketplace metadata; installation and policy changes stay on authenticated `/codex` management commands. Explicitly installing a plugin trusts its skills, apps, MCP servers, and hooks.
32
+
31
33
  For a supervised branch, Codex App Server selects the snapshot fork's model and provider from its current native configuration. OpenClaw starts the canonical harness thread with exactly that returned pair. Codex persists the canonical thread's native selection, and later resumes preserve it because OpenClaw omits model and provider overrides. OpenClaw cannot substitute its outer runtime, model, or fallback. The returned initial pair can differ from the source's last recorded model.
32
34
 
33
35
  The visible-history mirror keeps at most 200 user or assistant messages, 512 KiB total, and 64 KiB per message. Image inputs become `[Image attachment]`; image data and local paths are not copied.
package/dist/api.js ADDED
@@ -0,0 +1,147 @@
1
+ import { a as resolveCodexAppServerStartOptionsForAgent, i as resolveCodexAppServerRuntimeOptions } from "./config-CpNeo5AE.js";
2
+ import { a as CODEX_APP_SERVER_VERSION, n as resolveManagedCodexAppServerStartOptions, r as resolveManagedCodexNativeCommand, t as isManagedCodexDesktopCommand } from "./managed-binary-By4FZC6i.js";
3
+ import path from "node:path";
4
+ import { resolveDefaultModelForAgent } from "openclaw/plugin-sdk/agent-runtime";
5
+ import { listAgentIds as listAgentIds$1, resolveAgentDir as resolveAgentDir$1 } from "openclaw/plugin-sdk/agent-scope-runtime";
6
+ import { execFile } from "node:child_process";
7
+ import { fileURLToPath } from "node:url";
8
+ import { resolveEffectiveAgentRuntime } from "openclaw/plugin-sdk/command-auth-native";
9
+ import { getHealthCheck } from "openclaw/plugin-sdk/health";
10
+ //#region extensions/codex/src/doctor.ts
11
+ const CODEX_MANAGED_APP_SERVER_CHECK_ID = "codex/managed-app-server";
12
+ const CODEX_VERSION_TIMEOUT_MS = 5e3;
13
+ const CODEX_VERSION_MAX_BUFFER_BYTES = 64 * 1024;
14
+ function managedCodexFinding(params) {
15
+ return {
16
+ checkId: CODEX_MANAGED_APP_SERVER_CHECK_ID,
17
+ severity: "error",
18
+ source: "codex",
19
+ message: params.message,
20
+ ...params.path ? { path: params.path } : {},
21
+ ...params.requirement ? { requirement: params.requirement } : {},
22
+ ...params.fixHint ? { fixHint: params.fixHint } : {}
23
+ };
24
+ }
25
+ function readErrorMessage(error) {
26
+ return error instanceof Error ? error.message : String(error);
27
+ }
28
+ function parseCodexVersion(output) {
29
+ return /(?:^|\s)(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)(?:\s|$)/u.exec(output)?.[1];
30
+ }
31
+ function runVersionCommand(command) {
32
+ return new Promise((resolve, reject) => {
33
+ execFile(command, ["--version"], {
34
+ encoding: "utf8",
35
+ maxBuffer: CODEX_VERSION_MAX_BUFFER_BYTES,
36
+ timeout: CODEX_VERSION_TIMEOUT_MS,
37
+ windowsHide: true
38
+ }, (error, stdout, stderr) => {
39
+ if (error) {
40
+ reject(new Error(readErrorMessage(error), { cause: error }));
41
+ return;
42
+ }
43
+ resolve({
44
+ stdout,
45
+ stderr
46
+ });
47
+ });
48
+ });
49
+ }
50
+ function createCodexManagedAppServerHealthCheck(params) {
51
+ const resolveStartOptions = params.deps?.resolveStartOptions ?? resolveManagedCodexAppServerStartOptions;
52
+ const resolveAgentStartOptions = params.deps?.resolveAgentStartOptions ?? resolveCodexAppServerStartOptionsForAgent;
53
+ const isDesktopCommand = params.deps?.isDesktopCommand ?? isManagedCodexDesktopCommand;
54
+ const resolveNativeCommand = params.deps?.resolveNativeCommand ?? resolveManagedCodexNativeCommand;
55
+ const executeVersion = params.deps?.runVersionCommand ?? runVersionCommand;
56
+ return {
57
+ id: CODEX_MANAGED_APP_SERVER_CHECK_ID,
58
+ kind: "plugin",
59
+ description: "Verify the selected managed Codex app-server binary and pinned version.",
60
+ source: "codex",
61
+ defaultEnabled: false,
62
+ async detect(ctx) {
63
+ const pluginConfig = ctx.cfg.plugins?.entries?.codex?.config;
64
+ const start = resolveCodexAppServerRuntimeOptions({
65
+ pluginConfig,
66
+ env: ctx.env ?? process.env
67
+ }).start;
68
+ if (start.transport !== "stdio" || start.commandSource !== "managed") return [];
69
+ const env = ctx.env ?? process.env;
70
+ let resolved;
71
+ for (const agentId of listAgentIds$1(ctx.cfg)) {
72
+ const model = resolveDefaultModelForAgent({
73
+ cfg: ctx.cfg,
74
+ agentId
75
+ });
76
+ if (resolveEffectiveAgentRuntime({
77
+ cfg: ctx.cfg,
78
+ provider: model.provider,
79
+ modelId: model.model,
80
+ agentId
81
+ }) !== "codex") continue;
82
+ const agentStart = resolveAgentStartOptions({
83
+ startOptions: start,
84
+ agentDir: resolveAgentDir$1(ctx.cfg, agentId, env),
85
+ env
86
+ });
87
+ try {
88
+ resolved = await resolveStartOptions(agentStart, { pluginRoot: params.pluginRoot });
89
+ } catch (error) {
90
+ return [managedCodexFinding({
91
+ message: `Managed Codex app-server could not be resolved: ${readErrorMessage(error)}`,
92
+ path: params.pluginRoot,
93
+ requirement: `an executable Codex ${CODEX_APP_SERVER_VERSION} managed artifact`,
94
+ fixHint: "Reinstall the staged OpenClaw package with its @openai/codex platform dependency, then rerun the candidate check."
95
+ })];
96
+ }
97
+ if (!isDesktopCommand(resolved.command)) break;
98
+ resolved = void 0;
99
+ }
100
+ if (!resolved) return [];
101
+ const nativeCommand = resolveNativeCommand(resolved.command);
102
+ if (!nativeCommand) return [managedCodexFinding({
103
+ message: "Managed Codex app-server resolved a launcher without a native artifact.",
104
+ path: resolved.command,
105
+ requirement: `the platform-native Codex ${CODEX_APP_SERVER_VERSION} executable`,
106
+ fixHint: "Reinstall the staged OpenClaw package with the matching @openai/codex platform package, then rerun the candidate check."
107
+ })];
108
+ let output;
109
+ try {
110
+ output = await executeVersion(nativeCommand);
111
+ } catch (error) {
112
+ return [managedCodexFinding({
113
+ message: `Managed Codex app-server version check failed: ${readErrorMessage(error)}`,
114
+ path: nativeCommand,
115
+ requirement: `Codex ${CODEX_APP_SERVER_VERSION} must report its version within ${CODEX_VERSION_TIMEOUT_MS} ms`,
116
+ fixHint: "Repair or reinstall the staged OpenClaw package, then rerun the candidate check before cutover."
117
+ })];
118
+ }
119
+ const detectedVersion = parseCodexVersion(`${output.stdout}\n${output.stderr}`);
120
+ if (detectedVersion !== "0.149.1") return [managedCodexFinding({
121
+ message: detectedVersion ? `Managed Codex app-server version mismatch: expected ${CODEX_APP_SERVER_VERSION}, detected ${detectedVersion}.` : `Managed Codex app-server did not report a parseable version; expected ${CODEX_APP_SERVER_VERSION}.`,
122
+ path: nativeCommand,
123
+ requirement: `the exact OpenClaw-pinned Codex version ${CODEX_APP_SERVER_VERSION}`,
124
+ fixHint: "Reinstall the staged OpenClaw package so its managed @openai/codex dependency matches the pinned version, then rerun the candidate check."
125
+ })];
126
+ return [];
127
+ }
128
+ };
129
+ }
130
+ function registerCodexManagedAppServerDoctorChecks$1(host, deps) {
131
+ if (getHealthCheck("codex/managed-app-server")) return;
132
+ host.registerHealthCheck(createCodexManagedAppServerHealthCheck({
133
+ pluginRoot: host.pluginRoot,
134
+ deps
135
+ }));
136
+ }
137
+ //#endregion
138
+ //#region extensions/codex/api.ts
139
+ const CODEX_PLUGIN_ROOT = path.dirname(fileURLToPath(import.meta.url));
140
+ function registerCodexManagedAppServerDoctorChecks(host) {
141
+ registerCodexManagedAppServerDoctorChecks$1({
142
+ ...host,
143
+ pluginRoot: CODEX_PLUGIN_ROOT
144
+ });
145
+ }
146
+ //#endregion
147
+ export { CODEX_MANAGED_APP_SERVER_CHECK_ID, registerCodexManagedAppServerDoctorChecks };
@@ -0,0 +1,25 @@
1
+ import { b as canUseCodexModelBackedApprovalsReviewerForModel } from "./config-CpNeo5AE.js";
2
+ //#region extensions/codex/src/app-server/app-server-policy.ts
3
+ function resolveCodexAppServerForModelProvider(params) {
4
+ const explicitProvider = normalizeModelBackedReviewerProvider(params.provider);
5
+ if (!isCodexModelBackedApprovalsReviewer(params.appServer.approvalsReviewer) || canUseCodexModelBackedApprovalsReviewerForModel({
6
+ modelProvider: explicitProvider,
7
+ model: params.model,
8
+ config: params.config,
9
+ env: params.env,
10
+ agentDir: params.agentDir,
11
+ codexConfigToml: params.codexConfigToml
12
+ })) return params.appServer;
13
+ return {
14
+ ...params.appServer,
15
+ approvalsReviewer: "user"
16
+ };
17
+ }
18
+ function isCodexModelBackedApprovalsReviewer(value) {
19
+ return value === "auto_review" || value === "guardian_subagent";
20
+ }
21
+ function normalizeModelBackedReviewerProvider(provider) {
22
+ return provider?.trim().toLowerCase() || void 0;
23
+ }
24
+ //#endregion
25
+ export { resolveCodexAppServerForModelProvider as t };