@openclaw/codex 2026.10.5-beta.4 → 2026.10.10-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.
- package/README.md +10 -3
- package/dist/.setup/{account-usage-runtime-CoVpNIlD.mjs → account-usage-runtime-BVO-lpvn.mjs} +15 -9
- package/dist/.setup/{app-server-policy-D_zv8J7V.mjs → app-server-policy-Cog6mm2i.mjs} +1 -1
- package/dist/.setup/{apply-BXDMd05l.mjs → apply-tJl5mopa.mjs} +11 -11
- package/dist/.setup/{attempt-client-cleanup-zNuNTKVr.mjs → attempt-client-cleanup-DMJWXGxM.mjs} +14 -8
- package/dist/.setup/attempt-terminal-sZutF0WY.mjs +1 -0
- package/dist/.setup/{attempt-workspace-context-CcwP3DA3.mjs → attempt-workspace-context-GYPLawX6.mjs} +2 -2
- package/dist/.setup/{auth-binding-BaxlhaNx.mjs → auth-binding-830RLAJW.mjs} +2 -2
- package/dist/.setup/{auth-cache-key-f8ODJ_OX.mjs → auth-cache-key-BW1YeaIk.mjs} +92 -80
- package/dist/.setup/{auth-profile-CgHQ8Vot.mjs → auth-profile-auwzSwwy.mjs} +14 -8
- package/dist/.setup/{auth-profile-health-oHizqgye.mjs → auth-profile-health-BVPZU9I8.mjs} +15 -8
- package/dist/.setup/{auth-profile-selection-hr8ocLtz.mjs → auth-profile-selection-Bp5PDk3W.mjs} +24 -7
- package/dist/.setup/{binding-connection-B7HAAZSI.mjs → binding-connection-GTgUj9pi.mjs} +2 -2
- package/dist/.setup/{binding-connection.runtime-DAXn7iFl.mjs → binding-connection.runtime-RcWR3vQu.mjs} +4 -3
- package/dist/.setup/{bounded-turn-DfIJtRlv.mjs → bounded-turn-BQkmyyjB.mjs} +18 -22
- package/dist/.setup/{bounded-turn-isolation-BfDAo-qZ.mjs → bounded-turn-isolation-D8CDrAVX.mjs} +3 -3
- package/dist/.setup/{build-state-Ds14X10-.mjs → build-state-CjLCC0wm.mjs} +1 -1
- package/dist/.setup/{capabilities-DbOzOglY.mjs → capabilities-DAS-JX1z.mjs} +1 -1
- package/dist/.setup/{client-D93nbdB8.mjs → client--P8jwXvA.mjs} +47 -317
- package/dist/.setup/{client-catalog-response-CuVLp4I0.mjs → client-catalog-response-CsDxVVOZ.mjs} +2 -2
- package/dist/.setup/client-initialize-CjgZcX61.mjs +165 -0
- package/dist/.setup/{command-dispatch-DxdH5a9-.mjs → command-dispatch-DqaVBeR3.mjs} +3 -3
- package/dist/.setup/{command-formatters-xW9KpoSZ.mjs → command-formatters-B_7-QZ1c.mjs} +2 -2
- package/dist/.setup/{command-handlers-fiYvYYq0.mjs → command-handlers-i6mEjvfo.mjs} +539 -406
- package/dist/.setup/command-rpc-B65jEc0r.mjs +296 -0
- package/dist/.setup/compact-AO2H4RJe.mjs +823 -0
- package/dist/.setup/{computer-use-DL2v3Kxq.mjs → computer-use-YUnu0JVx.mjs} +21 -68
- package/dist/.setup/{config-C1YVVLEA.mjs → config-BfrAlTMT.mjs} +3 -3
- package/dist/.setup/{config-options-DDzeNQ8m.mjs → config-options-DMFZkd3X.mjs} +1 -1
- package/dist/.setup/{config-runtime-DWzK-k0n.mjs → config-runtime-BZRizyuG.mjs} +2 -2
- package/dist/.setup/{context-engine-projection-ps-yn_ci.mjs → context-engine-projection-PIeLSnR-.mjs} +16 -30
- package/dist/.setup/{conversation-binding-BieJZRRV.mjs → conversation-binding-CfnUR-IM.mjs} +228 -116
- package/dist/.setup/{conversation-binding-data-UgLuTSQT.mjs → conversation-binding-data-khgW0n-o.mjs} +4 -2
- package/dist/.setup/{conversation-control-GXM3unE4.mjs → conversation-control-B2EpVZEb.mjs} +53 -23
- package/dist/.setup/{cyber-failover-D4dgNfFf.mjs → cyber-failover-CqEZoQsj.mjs} +1 -1
- package/dist/.setup/{cyber-failover-notice-ljgGGL0s.mjs → cyber-failover-notice-poL3Advd.mjs} +1 -1
- package/dist/.setup/{doctor-start-options-JjTAl-q_.mjs → doctor-start-options-8uIBXIzR.mjs} +8 -5
- package/dist/.setup/{dynamic-tool-build-DcaPmBlE.mjs → dynamic-tool-build-DOub3CB5.mjs} +208 -218
- package/dist/.setup/{dynamic-tools-CnQFnNKH.mjs → dynamic-tools-Us5mvq_N.mjs} +344 -118
- package/dist/.setup/{effective-mcp-catalog-B5HKFZNK.mjs → effective-mcp-catalog-DfUUoeeM.mjs} +11 -9
- package/dist/.setup/{ephemeral-turn-De3qb8EQ.mjs → ephemeral-turn-B2z0RIeF.mjs} +5 -4
- package/dist/.setup/{event-projector-assistant-message-CLMKN4x-.mjs → event-projector-assistant-message-ChOAY7rW.mjs} +16 -11
- package/dist/.setup/{event-projector-usage-BpKfdoTm.mjs → event-projector-usage-CBY0Hkga.mjs} +2 -2
- package/dist/.setup/{event-projector-values-CLvG1Hil.mjs → event-projector-values-yf4us9Pf.mjs} +1 -1
- package/dist/.setup/experimental-features-uGnVDtp-.mjs +19 -0
- package/dist/.setup/inference-context-HRw3PDwn.mjs +209 -0
- package/dist/.setup/{inference-dispatch-CO6tTs4q.mjs → inference-dispatch-C2zVSnrr.mjs} +2 -2
- package/dist/.setup/{inference-metadata-DCvcG_N_.mjs → inference-metadata-CYFWLHVk.mjs} +3 -1
- package/dist/.setup/{inference-proxy-BDWV0djM.mjs → inference-proxy-CiLbHMLf.mjs} +8 -8
- package/dist/.setup/installed-probe-lVC1X5ve.mjs +185 -0
- package/dist/.setup/{isolated-completion-BPJdvk5F.mjs → isolated-completion-CybgD6uU.mjs} +7 -7
- package/dist/.setup/managed-binary-DbKvGXKl.mjs +395 -0
- package/dist/.setup/{mcp-app-session-preparation-Dz2GOwyE.mjs → mcp-app-session-preparation-zUgpDLWR.mjs} +18 -14
- package/dist/.setup/{model-catalog-ZNwltCKl.mjs → model-catalog-CWY3wo0B.mjs} +28 -17
- package/dist/.setup/{models-BHpbAuz8.mjs → models-CmOBxsKF.mjs} +3 -3
- package/dist/.setup/{native-auth-esN5MdIv.mjs → native-auth-DpZIaY8N.mjs} +7 -4
- package/dist/.setup/native-execution-policy-D09tLP-u.mjs +152 -0
- package/dist/.setup/{native-hook-relay-wq7jrNLk.mjs → native-hook-relay-CocOW9YS.mjs} +45 -10
- package/dist/.setup/{native-mcp-app-DX3nyTtc.mjs → native-mcp-app-DrQeLxXj.mjs} +5 -5
- package/dist/.setup/{native-skill-isolation-DSBeF-Yy.mjs → native-skill-isolation-DL4-PQa4.mjs} +7 -7
- package/dist/.setup/{native-subagent-monitor-DOLEIf9r.mjs → native-subagent-monitor-C3CIIaZG.mjs} +485 -239
- package/dist/.setup/{native-subagent-pending-assignments-DmVhedNs.mjs → native-subagent-pending-assignments-CTinVtjo.mjs} +1 -1
- package/dist/.setup/{native-task-assignments-DimsQ9Qa.mjs → native-task-assignments-YJopbaVO.mjs} +9 -5
- package/dist/.setup/{node-cli-sessions-CzKg2nGq.mjs → node-cli-sessions-BuJnBnEq.mjs} +7 -4
- package/dist/.setup/{node-exec-server.runtime-BWkULhBM.mjs → node-exec-server.runtime-CP7RC1Nd.mjs} +3 -3
- package/dist/.setup/{plan-41-YOBMq.mjs → plan-Bqj6VQvQ.mjs} +7 -20
- package/dist/.setup/{plugin-activation-D7WkJMvU.mjs → plugin-activation-CXPWe-hl.mjs} +4 -4
- package/dist/.setup/{plugin-app-cache-key-Bg9DbDI6.mjs → plugin-app-cache-key-DRb-niJc.mjs} +17 -55
- package/dist/.setup/{plugin-approval-roundtrip-CD88q3yx.mjs → plugin-approval-roundtrip-CGEiG7hG.mjs} +1 -1
- package/dist/.setup/{plugin-inventory-CYgdo14P.mjs → plugin-inventory-DE9wcaeH.mjs} +2 -2
- package/dist/.setup/{plugin-metadata-cache-Bi8TAPwX.mjs → plugin-metadata-cache-BqC-a6Fb.mjs} +2 -15
- package/dist/.setup/{project-doc-thread-config-BVcvnps8.mjs → project-doc-thread-config-B0UI3f1D.mjs} +6 -6
- package/dist/.setup/protocol-CaPAVwe9.mjs +12 -0
- package/dist/.setup/{provider-LWKll6dV.mjs → provider-C_1fMsyD.mjs} +4 -4
- package/dist/.setup/{provider-capabilities-Dn2WwH4P.mjs → provider-capabilities-C7pYYpvh.mjs} +1 -1
- package/dist/.setup/{rate-limits-CI8pTPqL.mjs → rate-limits-BpfURnuy.mjs} +1 -1
- package/dist/.setup/{request-Bo0kKABI.mjs → request-C6U8q2uz.mjs} +132 -136
- package/dist/.setup/{responses-oauth-twnuTaAa.mjs → responses-oauth-CCV7aVYF.mjs} +6 -6
- package/dist/.setup/{rpc-error-C98SHchT.mjs → rpc-error-DemqqaxE.mjs} +7 -3
- package/dist/.setup/{run-attempt-ClU8MxhZ.mjs → run-attempt-BhuXanLv.mjs} +595 -426
- package/dist/.setup/{run-attempt-lifecycle-KN4oh-7O.mjs → run-attempt-lifecycle-DN-ATDp9.mjs} +1 -1
- package/dist/.setup/{runtime-artifact-C13pR7tD.mjs → runtime-artifact-CmLWeyJB.mjs} +3 -3
- package/dist/.setup/{runtime-artifact-connection-jS5DeCok.mjs → runtime-artifact-connection-DpWlZ02e.mjs} +3 -3
- package/dist/.setup/{sandbox-guard-DIImwCy1.mjs → sandbox-guard-DneAfNye.mjs} +70 -30
- package/dist/.setup/{session-binding-JEHNMPsr.mjs → session-binding-BgsWcbdY.mjs} +25 -23
- package/dist/.setup/{session-binding-record-DU_0biMD.mjs → session-binding-record-C_THntMe.mjs} +27 -12
- package/dist/.setup/{session-binding-record-codec-BpH8u_G9.mjs → session-binding-record-codec-DvmOI7g_.mjs} +1 -0
- package/dist/.setup/{session-binding-sidecars-DD-enC8w.mjs → session-binding-sidecars-BNSS6WL4.mjs} +55 -63
- package/dist/.setup/session-cancellation-DCN1FcBZ.mjs +43 -0
- package/dist/.setup/{session-catalog-adoption-Ca3OYGYM.mjs → session-catalog-adoption-ppsLlVLB.mjs} +24 -38
- package/dist/.setup/{session-catalog-archive-Bv6gV7x9.mjs → session-catalog-archive-CqLRHJ6z.mjs} +11 -13
- package/dist/.setup/{session-catalog-events-kR2Ot6nX.mjs → session-catalog-events-CEi6SuLQ.mjs} +5 -5
- package/dist/.setup/{session-catalog-index-order-CTfoefow.mjs → session-catalog-index-order-0Zqng2u8.mjs} +1 -1
- package/dist/.setup/{session-catalog-index-CrnfVEnT.mjs → session-catalog-index-qt4UWBua.mjs} +96 -271
- package/dist/.setup/{session-catalog-limits-BynIoOYm.mjs → session-catalog-limits-Dc6E0BZz.mjs} +1 -1
- package/dist/.setup/{session-catalog-list-request-D4MYNgDB.mjs → session-catalog-list-request-CAjoWjaH.mjs} +3 -4
- package/dist/.setup/{session-catalog-native-projection-CWqCU1I_.mjs → session-catalog-native-projection-BqBYi6kV.mjs} +5 -5
- package/dist/.setup/{session-catalog-node-adoption-BdP9Zjqo.mjs → session-catalog-node-adoption-e9v8mGgx.mjs} +5 -5
- package/dist/.setup/{session-catalog-node-continue-CNJibO4_.mjs → session-catalog-node-continue-H7nrzcUD.mjs} +5 -5
- package/dist/.setup/{session-catalog-node-lookup-BH_DBGa9.mjs → session-catalog-node-lookup-BrZfDkA8.mjs} +2 -2
- package/dist/.setup/{session-catalog-parsing-DkeoVn60.mjs → session-catalog-parsing-V6jyFg9g.mjs} +2 -2
- package/dist/.setup/{session-catalog-projection-BzHiV818.mjs → session-catalog-projection-CNyhjZze.mjs} +8 -7
- package/dist/.setup/{session-catalog-provenance-CmsOE5mh.mjs → session-catalog-provenance-Dg9s12z-.mjs} +50 -30
- package/dist/.setup/{session-catalog-source-DGuRdGvM.mjs → session-catalog-source-z_mNyQdX.mjs} +2 -6
- package/dist/.setup/{session-cli-GwU0izn-.mjs → session-cli-CBGKiqdv.mjs} +1 -1
- package/dist/.setup/{session-history-BO6i_pfk.mjs → session-history-7W0cgTXF.mjs} +11 -9
- package/dist/.setup/{session-history-import-CaO8s6ta.mjs → session-history-import-BwPKwcNi.mjs} +4 -4
- package/dist/.setup/{session-initialization-Bi_2DKhc.mjs → session-initialization-Dn3vveGv.mjs} +2 -2
- package/dist/.setup/{session-retirement-B3U5hpGJ.mjs → session-retirement-RZStisKb.mjs} +8 -8
- package/dist/.setup/{session-history.worker-DJQfek5p.mjs → settled-turn-evidence--tRW6fSm.mjs} +2 -18
- package/dist/.setup/{settled-turn-finalizer-CYCVpTv2.mjs → settled-turn-finalizer-gioXygEX.mjs} +8 -8
- package/dist/.setup/{shared-client-BCx1wbyA.mjs → shared-client-CkyTrNB8.mjs} +380 -557
- package/dist/.setup/side-question-DHPWKgO3.mjs +998 -0
- package/dist/.setup/{source-DipMO9hL.mjs → source-63MLSmLJ.mjs} +5 -5
- package/dist/.setup/{thread-archive-guard-LKdwQKyr.mjs → thread-archive-guard-BWjSsA92.mjs} +1 -1
- package/dist/.setup/{thread-lifecycle-run-C_aYiYqk.mjs → thread-lifecycle-run-zCXYFW8W.mjs} +172 -75
- package/dist/.setup/{thread-model-selection-DcVebr8N.mjs → thread-model-selection-DxposL4X.mjs} +9 -9
- package/dist/.setup/{thread-ownership-BoUd0i6L.mjs → thread-ownership-Bmk5a2Gu.mjs} +7 -7
- package/dist/.setup/{thread-policy-B3wBRNph.mjs → thread-policy-DYtvZ5Ay.mjs} +6 -6
- package/dist/.setup/{thread-requests-BgzJwJtS.mjs → thread-requests-BjawdIVV.mjs} +14 -14
- package/dist/.setup/{thread-resume-D-3bsr1j.mjs → thread-resume-vBShG3-o.mjs} +6 -6
- package/dist/.setup/{transcript-history-projection-DfKcoZCB.mjs → transcript-history-projection-i-FVpyha.mjs} +1 -1
- package/dist/.setup/{transcript-mirror-Bee2o6jj.mjs → transcript-mirror-CEQJZlF3.mjs} +6 -9
- package/dist/.setup/{transport-stdio-CRWTkKOn.mjs → transport-stdio-Bq160Dhv.mjs} +63 -64
- package/dist/.setup/{transport-websocket-DIyPfkHo.mjs → transport-websocket-0YqiI_MH.mjs} +1 -1
- package/dist/.setup/{turn-router-DBVMToGo.mjs → turn-router-BGj67FMK.mjs} +2 -2
- package/dist/.setup/{upstream-session-fork-p5fwKi7w.mjs → upstream-session-fork-CWKjpdtW.mjs} +46 -219
- package/dist/.setup/{usage-C2Kq7oej.mjs → usage-AhrLFxZP.mjs} +4 -4
- package/dist/.setup/{usage-limit-error-BQX8RHAd.mjs → usage-limit-error-BdNbGJC3.mjs} +4 -4
- package/dist/.setup/{web-search-item-CvokaZOo.mjs → web-search-item-DHVuNSqk.mjs} +1 -1
- package/dist/.setup/{web-search-provider.runtime-D89djc7e.mjs → web-search-provider.runtime-Yk6lnJBG.mjs} +3 -3
- package/dist/.setup/{workspace-write-sandbox-probe-BDWO2Qkh.mjs → workspace-write-sandbox-probe-DJxOXcF3.mjs} +2 -2
- package/dist/api.js +7 -28
- package/dist/catalog-page.worker.js +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/client-version-api.js +25 -0
- package/dist/doctor-contract-api.js +5 -5
- package/dist/harness.js +59 -36
- package/dist/index.js +259 -295
- package/dist/media-understanding-provider.js +2 -2
- package/dist/migration-provider-api.js +1 -2
- package/dist/native-session-binding-api.js +1 -2
- package/dist/provider-discovery.js +1 -1
- package/dist/session-history-worker-entrypoint.js +12 -0
- package/dist/session-history-worker-runtime.js +7 -18
- package/dist/session-history.worker.js +18 -2
- package/openclaw.plugin.json +1 -1
- package/package.json +6 -6
- package/dist/.setup/attempt-terminal-jO5IMj9K.mjs +0 -2
- package/dist/.setup/command-rpc-HIvsy3wS.mjs +0 -247
- package/dist/.setup/compact-ClZ7Ar7L.mjs +0 -808
- package/dist/.setup/inference-context-DNlGwzwy.mjs +0 -91
- package/dist/.setup/managed-binary-BtIjV7yN.mjs +0 -175
- package/dist/.setup/native-execution-policy-MXEe7PB3.mjs +0 -75
- package/dist/.setup/protocol-CANUwXJ3.mjs +0 -17
- package/dist/.setup/side-question-Bz2UQW0l.mjs +0 -826
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
|
|
2
|
-
import { o as resolveCodexComputerUseConfig } from "./config-options-
|
|
3
|
-
import {
|
|
4
|
-
import { n as describeControlFailure } from "./capabilities-
|
|
5
|
-
import { n as requestCodexAppServerClientJson } from "./request-
|
|
6
|
-
import "./config-
|
|
7
|
-
import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { l as retireUnsafeCodexTurnClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-zNuNTKVr.mjs";
|
|
2
|
+
import { o as resolveCodexComputerUseConfig } from "./config-options-DMFZkd3X.mjs";
|
|
3
|
+
import { a as isManagedCodexDesktopCommand, b as resolveMacOSDesktopCodexBundledMarketplaceCandidates } from "./managed-binary-DbKvGXKl.mjs";
|
|
4
|
+
import { n as describeControlFailure } from "./capabilities-DAS-JX1z.mjs";
|
|
5
|
+
import { n as requestCodexAppServerClientJson } from "./request-C6U8q2uz.mjs";
|
|
6
|
+
import "./config-BfrAlTMT.mjs";
|
|
7
|
+
import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
|
|
8
|
+
import { $ as resolveBundledComputerUseMarketplacePath, X as reconcileCodexComputerUseStartArtifacts, at as assertNotSymlink, c as readCodexAppServerClientDesktopGeneration, et as resolveClientManagedBundledMarketplacePath, f as releaseLeasedSharedCodexAppServerClient, h as withCodexAppServerClientRequestScope, it as ensureCodexComputerUseSharedPluginCache, nt as isLegacyCodexComputerUsePluginDisabled, o as getLeasedSharedCodexAppServerClient, rt as resolveManagedCodexComputerUseConfig, tt as hasLegacyCodexComputerUseMcpPolicy, u as readCodexAppServerClientProcessIdentity } from "./shared-client-CkyTrNB8.mjs";
|
|
9
|
+
import { l as retireUnsafeCodexTurnClientBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-DMJWXGxM.mjs";
|
|
11
10
|
import path from "node:path";
|
|
12
11
|
import fs from "node:fs/promises";
|
|
13
12
|
import { toErrorObject } from "openclaw/plugin-sdk/error-runtime";
|
|
@@ -85,7 +84,7 @@ async function runCodexComputerUseLiveTest(params) {
|
|
|
85
84
|
} catch (error) {
|
|
86
85
|
cleanupError = toErrorObject(error, "Computer Use readiness cleanup failed");
|
|
87
86
|
}
|
|
88
|
-
if ("error" in outcome &&
|
|
87
|
+
if ("error" in outcome && params.signal?.aborted) throw toErrorObject(outcome.error, "Computer Use live test failed");
|
|
89
88
|
if (cleanupError) throw cleanupError;
|
|
90
89
|
if ("liveTest" in outcome) return {
|
|
91
90
|
liveTest: outcome.liveTest,
|
|
@@ -280,7 +279,7 @@ async function inspectCodexComputerUse(params) {
|
|
|
280
279
|
}
|
|
281
280
|
if (params.installMode === "none" && !params.refreshSharedCache) {
|
|
282
281
|
if (!lease.client) return await inspectCodexComputerUseWithoutFence(params);
|
|
283
|
-
return await
|
|
282
|
+
return await withCodexAppServerClientRequestScope({
|
|
284
283
|
lease,
|
|
285
284
|
options: {
|
|
286
285
|
...clientOptions,
|
|
@@ -316,48 +315,12 @@ async function inspectCodexComputerUse(params) {
|
|
|
316
315
|
...params,
|
|
317
316
|
client
|
|
318
317
|
}) : void 0;
|
|
319
|
-
|
|
320
|
-
await waitForCodexAppServerClientDesktopGenerationDrain({
|
|
321
|
-
client: explicitManagedInstall.client,
|
|
322
|
-
timeoutMs: remainingTimeoutMs(),
|
|
323
|
-
...params.signal ? { signal: params.signal } : {}
|
|
324
|
-
});
|
|
325
|
-
assertCodexAppServerClientStartSelectionCurrent({ client: explicitManagedInstall.client });
|
|
326
|
-
}
|
|
327
|
-
const inspectionParams = {
|
|
318
|
+
return await inspectCodexComputerUseWithoutFence({
|
|
328
319
|
...params,
|
|
329
320
|
...client ? { client } : {},
|
|
330
321
|
timeoutMs: remainingTimeoutMs(),
|
|
331
322
|
...explicitManagedInstall ? { explicitManagedInstall } : {}
|
|
332
|
-
};
|
|
333
|
-
const fenceKey = resolveCodexNativeConfigFenceKey({
|
|
334
|
-
client,
|
|
335
|
-
startOptions: resolvedRuntime.start,
|
|
336
|
-
agentDir: params.agentDir,
|
|
337
|
-
config: params.config
|
|
338
323
|
});
|
|
339
|
-
if (!fenceKey) return await inspectCodexComputerUseWithoutFence(inspectionParams);
|
|
340
|
-
const release = await acquireCodexNativeConfigFence(fenceKey, {
|
|
341
|
-
signal: params.signal,
|
|
342
|
-
timeoutMs: remainingTimeoutMs(),
|
|
343
|
-
timeoutMessage: "Codex Computer Use install timed out waiting for native config",
|
|
344
|
-
abortMessage: "Codex Computer Use install aborted waiting for native config"
|
|
345
|
-
});
|
|
346
|
-
let releaseFenceOnReturn = true;
|
|
347
|
-
try {
|
|
348
|
-
return await inspectCodexComputerUseWithoutFence({
|
|
349
|
-
...inspectionParams,
|
|
350
|
-
releaseNativeConfigFence: release
|
|
351
|
-
});
|
|
352
|
-
} catch (error) {
|
|
353
|
-
if (client && (isCodexAppServerIndeterminateRequestCancellationError(error) || isCodexAppServerIndeterminateTransportError(error) || isCodexAppServerConnectionClosedError(error))) {
|
|
354
|
-
releaseFenceOnReturn = false;
|
|
355
|
-
await client.closeAndRunAfterExit(release, "Computer Use config mutation");
|
|
356
|
-
}
|
|
357
|
-
throw error;
|
|
358
|
-
} finally {
|
|
359
|
-
if (releaseFenceOnReturn) release();
|
|
360
|
-
}
|
|
361
324
|
} finally {
|
|
362
325
|
if (lease.client) releaseLeasedSharedCodexAppServerClient(lease.client);
|
|
363
326
|
}
|
|
@@ -388,19 +351,13 @@ async function inspectCodexComputerUseWithoutFence(params) {
|
|
|
388
351
|
if (!marketplace.marketplace) return unavailableStatus(computerUseConfig, "marketplace_missing", marketplace.message ?? `No Codex marketplace containing ${computerUseConfig.pluginName} is registered. Configure computerUse.marketplaceSource or computerUse.marketplacePath, then run /codex computer-use install.`);
|
|
389
352
|
const pluginInspection = await ensureComputerUsePlugin(marketplace.marketplace, params.installMode !== "none");
|
|
390
353
|
if ("status" in pluginInspection) return pluginInspection.status;
|
|
391
|
-
if (params.refreshSharedCache && computerUseConfig !== params.computerUseConfig && managedCodexHome && managedMarketplacePath && params.agentDir && params.client) {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
assertCurrent: () => {
|
|
399
|
-
params.assertCurrent?.();
|
|
400
|
-
assertCodexAppServerClientStartSelectionCurrent({ client });
|
|
401
|
-
}
|
|
402
|
-
});
|
|
403
|
-
}
|
|
354
|
+
if (params.refreshSharedCache && computerUseConfig !== params.computerUseConfig && managedCodexHome && managedMarketplacePath && params.agentDir && params.client) await ensureCodexComputerUseSharedPluginCache({
|
|
355
|
+
codexHome: managedCodexHome,
|
|
356
|
+
ownershipRoot: params.agentDir,
|
|
357
|
+
bundledMarketplacePath: managedMarketplacePath,
|
|
358
|
+
config: computerUseConfig,
|
|
359
|
+
assertCurrent: params.assertCurrent
|
|
360
|
+
});
|
|
404
361
|
return await readComputerUseTools(pluginInspection.plugin, params.installMode !== "none");
|
|
405
362
|
async function ensureComputerUsePlugin(source, installPlugin) {
|
|
406
363
|
let plugin = await readComputerUsePlugin(request, source, computerUseConfig.pluginName);
|
|
@@ -423,7 +380,7 @@ async function inspectCodexComputerUseWithoutFence(params) {
|
|
|
423
380
|
return { plugin };
|
|
424
381
|
}
|
|
425
382
|
async function readComputerUseTools(plugin, installPlugin) {
|
|
426
|
-
const { client, signal, runLiveTest
|
|
383
|
+
const { client, signal, runLiveTest } = params;
|
|
427
384
|
let server = await readMcpServerStatus(request, computerUseConfig.mcpServerName);
|
|
428
385
|
let tools = Object.keys(server?.tools ?? {}).toSorted();
|
|
429
386
|
if ((!server || tools.length === 0) && installPlugin) {
|
|
@@ -446,7 +403,6 @@ async function inspectCodexComputerUseWithoutFence(params) {
|
|
|
446
403
|
message: "Computer Use is ready."
|
|
447
404
|
});
|
|
448
405
|
if (!runLiveTest) return status;
|
|
449
|
-
releaseNativeConfigFence?.();
|
|
450
406
|
const { liveTest, repair } = await runCodexComputerUseLiveTest({
|
|
451
407
|
request,
|
|
452
408
|
client,
|
|
@@ -464,7 +420,7 @@ async function inspectCodexComputerUseWithoutFence(params) {
|
|
|
464
420
|
warnings: [
|
|
465
421
|
...status.warnings,
|
|
466
422
|
...repair?.warnings ?? [],
|
|
467
|
-
...compatibilityStartupAllowed ? ["Computer Use live test failed, but compatibility startup remains enabled; set computerUse.strictReadiness to true to
|
|
423
|
+
...compatibilityStartupAllowed ? ["Computer Use live test failed, but compatibility startup remains enabled; set computerUse.strictReadiness to true to block startup after a failed live test."] : []
|
|
468
424
|
],
|
|
469
425
|
message: liveTest.ok ? "Computer Use is ready." : compatibilityStartupAllowed ? `${liveTest.message} Startup is allowed because computerUse.strictReadiness is false.` : liveTest.message
|
|
470
426
|
};
|
|
@@ -490,10 +446,7 @@ async function prepareExplicitManagedComputerUseInstall(params) {
|
|
|
490
446
|
ownsIsolatedCodexHome: true,
|
|
491
447
|
desktopGeneration: context.desktopGeneration,
|
|
492
448
|
forceCacheRefresh: true,
|
|
493
|
-
assertCurrent:
|
|
494
|
-
params.assertCurrent?.();
|
|
495
|
-
assertCodexAppServerClientStartSelectionCurrent({ client: context.client });
|
|
496
|
-
}
|
|
449
|
+
assertCurrent: params.assertCurrent
|
|
497
450
|
});
|
|
498
451
|
}
|
|
499
452
|
async function resolveExplicitManagedComputerUseInstallContext(params) {
|
|
@@ -2,9 +2,9 @@ import "./config-security-clxAZYWX.mjs";
|
|
|
2
2
|
import { a as readExecAsk, l as readRecord, o as readExecSecurity } from "./config-utils-DN_YT7dE.mjs";
|
|
3
3
|
import "./config-parsing-DsWSCPHO.mjs";
|
|
4
4
|
import "./auth-start-options-BPIPeEX8.mjs";
|
|
5
|
-
import { c as canUseCodexModelBackedApprovalsReviewerForModel$1 } from "./config-options-
|
|
6
|
-
import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-
|
|
7
|
-
import { t as __exportAll } from "./session-binding-sidecars-
|
|
5
|
+
import { c as canUseCodexModelBackedApprovalsReviewerForModel$1 } from "./config-options-DMFZkd3X.mjs";
|
|
6
|
+
import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-BZRizyuG.mjs";
|
|
7
|
+
import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
|
|
8
8
|
import { resolveAgentConfig } from "openclaw/plugin-sdk/agent-scope-runtime";
|
|
9
9
|
import { execPolicy } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
10
10
|
import { resolveExecApprovalsFromFile } from "openclaw/plugin-sdk/exec-approvals-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
|
|
2
2
|
import { _ as resolveCodexPolicyModeForOpenClawExecMode, a as resolveDefaultCodexAppServerPolicy, b as selectForcedDangerFullAccessSandbox, d as readCodexRequirementsToml, g as resolveApprovalPolicy, h as assertCodexAppServerAllowedForOpenClawExecMode, i as resolveCodexAppServerNetworkProxy, o as resolvePolicyMode, r as inferCodexAppServerConnectionClass, t as assertCodexAppServerConnectionSecurity, u as parseCodexRequirementsPolicy, v as resolveEffectiveOpenClawExecModeForCodexAppServer, x as selectForcedPromptingSandbox, y as resolveSandbox } from "./config-security-clxAZYWX.mjs";
|
|
3
3
|
import { c as readNumberEnv, i as normalizeHeaders, l as readRecord, n as hashSecretForKey, s as readNonEmptyString, u as resolveArgs } from "./config-utils-DN_YT7dE.mjs";
|
|
4
4
|
import { a as DEFAULT_CODEX_COMPUTER_USE_PLUGIN_NAME, d as readCodexPluginConfig, n as DEFAULT_CODEX_COMPUTER_USE_LIVE_TEST_TIMEOUT_MS, o as DEFAULT_CODEX_COMPUTER_USE_TOOL_CALL_TIMEOUT_MS, r as DEFAULT_CODEX_COMPUTER_USE_MARKETPLACE_DISCOVERY_TIMEOUT_MS, s as assertCodexAppServerCommandHasNoInlineArgs } from "./config-parsing-DsWSCPHO.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as createCodexAppServerConfig } from "./config-options-
|
|
2
|
-
import { t as __exportAll } from "./session-binding-sidecars-
|
|
1
|
+
import { r as createCodexAppServerConfig } from "./config-options-DMFZkd3X.mjs";
|
|
2
|
+
import { t as __exportAll } from "./session-binding-sidecars-BNSS6WL4.mjs";
|
|
3
3
|
import { resolveProviderIdForAuth } from "openclaw/plugin-sdk/provider-auth-aliases";
|
|
4
4
|
//#region extensions/codex/src/app-server/config-runtime.ts
|
|
5
5
|
var config_runtime_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { asFiniteNumber } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
1
|
+
import { asFiniteNumber, asOptionalObjectRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
import { sliceUtf16Safe, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
3
3
|
import { isOpenClawRuntimeContextCustomMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
4
4
|
import { IMAGE_BLOCK_TOKENS } from "openclaw/plugin-sdk/agent-core";
|
|
5
|
-
import { redactSensitiveFieldValue, redactToolPayloadText } from "openclaw/plugin-sdk/logging-core";
|
|
6
5
|
//#region extensions/codex/src/app-server/context-engine-projection.ts
|
|
7
|
-
/**
|
|
8
|
-
* Projects OpenClaw context-engine assemblies into Codex prompt text while
|
|
9
|
-
* preserving safety boundaries and redacting tool payloads.
|
|
10
|
-
*/
|
|
11
6
|
/** Attachment preparation must not degrade to a prompt that silently loses the saved input. */
|
|
12
7
|
var CodexContextAttachmentError = class extends Error {};
|
|
13
8
|
const CONTEXT_HEADER = "OpenClaw assembled context for this turn:";
|
|
@@ -25,25 +20,18 @@ const DEFAULT_CODEX_PROJECTION_RESERVE_TOKENS = 2e4;
|
|
|
25
20
|
const MIN_PROMPT_BUDGET_RATIO = .5;
|
|
26
21
|
const MIN_PROMPT_BUDGET_TOKENS = 8e3;
|
|
27
22
|
const CODEX_CONTEXT_SENDER_FIELD_MAX_CHARS = 256;
|
|
28
|
-
/**
|
|
29
|
-
* This projection has no access to agent-core's private compaction helper, but
|
|
30
|
-
* must keep the same attribution contract: a stable ID is identity; display
|
|
31
|
-
* labels are optional metadata, never provenance on their own.
|
|
32
|
-
*/
|
|
33
23
|
function formatCodexContextSenderSuffix(message) {
|
|
34
24
|
if (message.role !== "user") return "";
|
|
35
|
-
const metadata = Reflect.get(message, "__openclaw");
|
|
36
|
-
if (!metadata || typeof metadata !== "object") return "";
|
|
25
|
+
const metadata = asOptionalObjectRecord(Reflect.get(message, "__openclaw"));
|
|
37
26
|
const normalize = (value) => {
|
|
38
27
|
if (typeof value !== "string") return;
|
|
39
28
|
const normalized = value.replaceAll("\0", "").trim();
|
|
40
29
|
return normalized ? truncateUtf16Safe(normalized, CODEX_CONTEXT_SENDER_FIELD_MAX_CHARS) : void 0;
|
|
41
30
|
};
|
|
42
|
-
const
|
|
43
|
-
const id = normalize(record.senderId);
|
|
31
|
+
const id = normalize(metadata?.senderId);
|
|
44
32
|
if (!id) return "";
|
|
45
|
-
const name = normalize(
|
|
46
|
-
const username = normalize(
|
|
33
|
+
const name = normalize(metadata?.senderName);
|
|
34
|
+
const username = normalize(metadata?.senderUsername);
|
|
47
35
|
return ` sender=${JSON.stringify({
|
|
48
36
|
id,
|
|
49
37
|
...name ? { name } : {},
|
|
@@ -74,8 +62,10 @@ async function projectContextEngineAssemblyForCodex(params) {
|
|
|
74
62
|
"",
|
|
75
63
|
CONTEXT_OPEN
|
|
76
64
|
].join("\n") + "\n" : void 0;
|
|
77
|
-
const
|
|
78
|
-
const
|
|
65
|
+
const currentUserSenderSuffix = params.currentUserMessage ? formatCodexContextSenderSuffix(params.currentUserMessage) : "";
|
|
66
|
+
const currentRequest = currentUserSenderSuffix ? `${neutralizeCodexExplicitMentionSigils(`[user${currentUserSenderSuffix}]`)}\n${prompt}` : prompt;
|
|
67
|
+
const promptSuffix = boundedContext ? `\n${CONTEXT_CLOSE}\n\n${REQUEST_HEADER}\n${currentRequest}` : "";
|
|
68
|
+
const promptText = boundedContext ? `${promptPrefix}${boundedContext}${promptSuffix}` : currentRequest;
|
|
79
69
|
const promptContextRange = promptPrefix && boundedContext ? {
|
|
80
70
|
start: promptPrefix.length,
|
|
81
71
|
end: promptPrefix.length + boundedContext.length
|
|
@@ -261,7 +251,7 @@ function renderMessageBody(message, options) {
|
|
|
261
251
|
const toolResultLabel = toolResult && message.toolCallId ? `tool result: ${message.toolCallId}` : "tool result";
|
|
262
252
|
if (toolResult && options.toolPayloadMode === "elide") return `${toolResultLabel} [content omitted]`;
|
|
263
253
|
const body = typeof message.content === "string" ? message.content.trim() : Array.isArray(message.content) ? message.content.map((part) => renderMessagePart(part, options, toolResult)).filter((value) => value.length > 0).join("\n").trim() : "[non-text content omitted]";
|
|
264
|
-
return toolResult ?
|
|
254
|
+
return toolResult ? `${toolResultLabel}${message.toolName ? ` (${message.toolName})` : ""}\n${body}` : body;
|
|
265
255
|
}
|
|
266
256
|
function renderMessagePart(part, options, toolResultBody) {
|
|
267
257
|
if (!part || typeof part !== "object") return "";
|
|
@@ -290,7 +280,7 @@ function renderToolCallPayload(record) {
|
|
|
290
280
|
function renderToolResultPayload(record) {
|
|
291
281
|
return {
|
|
292
282
|
...pickToolPayloadMetadata(record),
|
|
293
|
-
...Object.fromEntries(Object.entries(record).filter(([key]) => !TOOL_PAYLOAD_METADATA_KEYS.has(key)).map(([key, value]) => [key, projectToolPayloadValue(value, "content"
|
|
283
|
+
...Object.fromEntries(Object.entries(record).filter(([key]) => !TOOL_PAYLOAD_METADATA_KEYS.has(key)).map(([key, value]) => [key, projectToolPayloadValue(value, "content")]))
|
|
294
284
|
};
|
|
295
285
|
}
|
|
296
286
|
const TOOL_PAYLOAD_METADATA_KEYS = /* @__PURE__ */ new Set([
|
|
@@ -305,22 +295,18 @@ function pickToolPayloadMetadata(record) {
|
|
|
305
295
|
const payload = {};
|
|
306
296
|
for (const key of TOOL_PAYLOAD_METADATA_KEYS) {
|
|
307
297
|
const value = record[key];
|
|
308
|
-
if (typeof value === "string" && value.trim()) payload[key] =
|
|
298
|
+
if (typeof value === "string" && value.trim()) payload[key] = value;
|
|
309
299
|
}
|
|
310
300
|
return payload;
|
|
311
301
|
}
|
|
312
|
-
function projectToolPayloadValue(value, mode,
|
|
313
|
-
if (mode === "content" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean"))
|
|
314
|
-
const text = String(value);
|
|
315
|
-
const redacted = redactSensitiveFieldValue(key, redactToolPayloadText(text));
|
|
316
|
-
return redacted === text ? value : redacted;
|
|
317
|
-
}
|
|
302
|
+
function projectToolPayloadValue(value, mode, seen = /* @__PURE__ */ new WeakSet()) {
|
|
303
|
+
if (mode === "content" && (typeof value === "string" || typeof value === "number" || typeof value === "boolean")) return value;
|
|
318
304
|
if (value === null || mode === "content" && value === void 0) return value;
|
|
319
305
|
if (value && typeof value === "object") {
|
|
320
306
|
if (seen.has(value)) return "[Circular]";
|
|
321
307
|
seen.add(value);
|
|
322
|
-
if (Array.isArray(value)) return value.map((entry) => projectToolPayloadValue(entry, mode,
|
|
323
|
-
return Object.fromEntries(Object.entries(value).map(([childKey, child]) => [childKey, projectToolPayloadValue(child, mode,
|
|
308
|
+
if (Array.isArray(value)) return value.map((entry) => projectToolPayloadValue(entry, mode, seen));
|
|
309
|
+
return Object.fromEntries(Object.entries(value).map(([childKey, child]) => [childKey, projectToolPayloadValue(child, mode, seen)]));
|
|
324
310
|
}
|
|
325
311
|
return `[${typeof value}]`;
|
|
326
312
|
}
|