@openclaw/codex 2026.10.1-beta.2 → 2026.10.5-beta.1
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/dist/.setup/{account-usage-runtime-DGqFpAud.mjs → account-usage-runtime-QBZsvZS8.mjs} +8 -7
- package/dist/.setup/{app-server-policy-Bg4FZw1f.mjs → app-server-policy-D_zv8J7V.mjs} +3 -4
- package/dist/.setup/{apply-CXTudl9p.mjs → apply-CBMV8LN0.mjs} +40 -51
- package/dist/.setup/{attempt-client-cleanup-BH0hW2xU.mjs → attempt-client-cleanup-t-kd_1ys.mjs} +6 -6
- package/dist/.setup/attempt-terminal-jO5IMj9K.mjs +2 -0
- package/dist/.setup/{attempt-workspace-context-BY0jprWJ.mjs → attempt-workspace-context-CcwP3DA3.mjs} +21 -18
- package/dist/.setup/{auth-binding-BoMwpuPN.mjs → auth-binding-BaxlhaNx.mjs} +2 -2
- package/dist/.setup/{auth-cache-key-CGm0UJOr.mjs → auth-cache-key-DyfUvsSa.mjs} +30 -41
- package/dist/.setup/{binding-connection-C-08ez1w.mjs → binding-connection-B7HAAZSI.mjs} +2 -2
- package/dist/.setup/{binding-connection.runtime-Dn2p-fdy.mjs → binding-connection.runtime-DAXn7iFl.mjs} +6 -5
- package/dist/.setup/{bounded-turn-pGsfXcmH.mjs → bounded-turn-CyQVQwGe.mjs} +21 -17
- package/dist/.setup/{bounded-turn-isolation-DklXNk3k.mjs → bounded-turn-isolation-BfDAo-qZ.mjs} +4 -4
- package/dist/.setup/{build-state-CqQnsg7T.mjs → build-state-CzLMy1S9.mjs} +1 -1
- package/dist/.setup/{capabilities-kQntafj_.mjs → capabilities-DbOzOglY.mjs} +1 -1
- package/dist/.setup/{client-catalog-response-Bqp7WG51.mjs → client-catalog-response-DsbEAtpd.mjs} +25 -32
- package/dist/.setup/{client-C8lgBOoO.mjs → client-y7nO6X9c.mjs} +198 -247
- package/dist/.setup/{command-dispatch-DhBbFIQ5.mjs → command-dispatch-uA9lz2Kf.mjs} +3 -4
- package/dist/.setup/{command-formatters-DV3DHhdr.mjs → command-formatters-xW9KpoSZ.mjs} +16 -26
- package/dist/.setup/{command-handlers-ztOOzm6O.mjs → command-handlers-VBaJnpZo.mjs} +270 -360
- package/dist/.setup/{command-rpc-CuC5fPom.mjs → command-rpc-C9VxOLuG.mjs} +19 -18
- package/dist/.setup/{compact-tUb9AYfH.mjs → compact-CD8xJxXS.mjs} +41 -61
- package/dist/.setup/{computer-use-BBN9y326.mjs → computer-use-CiToXF5C.mjs} +109 -147
- package/dist/.setup/{config-0Gxk3_eq.mjs → config-C1YVVLEA.mjs} +32 -59
- package/dist/.setup/config-contracts.shared-D85SGEuq.mjs +4 -0
- package/dist/.setup/{config-options-HG_Rr3W_.mjs → config-options-DDzeNQ8m.mjs} +52 -90
- package/dist/.setup/{config-parsing-BQq-CHTF.mjs → config-parsing-DsWSCPHO.mjs} +19 -55
- package/dist/.setup/{config-runtime-cUYrqu_a.mjs → config-runtime-DWzK-k0n.mjs} +2 -2
- package/dist/.setup/{config-security-KAPScztc.mjs → config-security-clxAZYWX.mjs} +35 -39
- package/dist/.setup/config-utils-DN_YT7dE.mjs +47 -0
- package/dist/.setup/{context-engine-projection-CsgYSQhW.mjs → context-engine-projection-ps-yn_ci.mjs} +10 -22
- package/dist/.setup/{conversation-binding-B3MNMVzb.mjs → conversation-binding-CTSLDM9S.mjs} +85 -119
- package/dist/.setup/{conversation-binding-data-DJ4ix-W5.mjs → conversation-binding-data-UgLuTSQT.mjs} +9 -8
- package/dist/.setup/{conversation-control-CYsMlCuE.mjs → conversation-control-GXM3unE4.mjs} +7 -10
- package/dist/.setup/{cyber-failover-Bb1J6hS1.mjs → cyber-failover-D4dgNfFf.mjs} +2 -5
- package/dist/.setup/{cyber-failover-notice-XR03ef31.mjs → cyber-failover-notice-ljgGGL0s.mjs} +1 -1
- package/dist/.setup/{doctor-start-options-DPW9JxIE.mjs → doctor-start-options-JjTAl-q_.mjs} +5 -5
- package/dist/.setup/{dynamic-tool-build-C8xGEXmR.mjs → dynamic-tool-build-D731PCdv.mjs} +57 -69
- package/dist/.setup/{dynamic-tools-DyERJnR6.mjs → dynamic-tools-D0pYbxHH.mjs} +689 -710
- package/dist/.setup/{effective-mcp-catalog-C26Mio5l.mjs → effective-mcp-catalog-1hWFKghy.mjs} +11 -20
- package/dist/.setup/{elicitation-input-r9axtppm.mjs → elicitation-input-DXG_qaXr.mjs} +14 -20
- package/dist/.setup/{ephemeral-turn-D8VcDTNo.mjs → ephemeral-turn-Cphy5Qr_.mjs} +3 -3
- package/dist/.setup/{event-projector-assistant-message-BN7CNUB5.mjs → event-projector-assistant-message-CLMKN4x-.mjs} +2 -2
- package/dist/.setup/{event-projector-usage-03R0I2dM.mjs → event-projector-usage-BpKfdoTm.mjs} +20 -33
- package/dist/.setup/{event-projector-values-DTqZHizf.mjs → event-projector-values-CLvG1Hil.mjs} +4 -5
- package/dist/.setup/history-rejection-B4nOXNXF.mjs +13 -0
- package/dist/.setup/{inference-context-D-9gWlTR.mjs → inference-context-DNlGwzwy.mjs} +10 -11
- package/dist/.setup/{inference-dispatch-B5UKEUyC.mjs → inference-dispatch-CO6tTs4q.mjs} +5 -4
- package/dist/.setup/{inference-metadata-CgIf7sOx.mjs → inference-metadata-DCvcG_N_.mjs} +36 -41
- package/dist/.setup/{inference-proxy-DUO5E2QQ.mjs → inference-proxy-BDWV0djM.mjs} +10 -14
- package/dist/.setup/{isolated-completion-C0jrcplS.mjs → isolated-completion-Bhqd2yBq.mjs} +8 -8
- package/dist/.setup/local-runtime-attribution-CZz2DJ4q.mjs +15 -0
- package/dist/.setup/{managed-binary-C1VFoVPf.mjs → managed-binary-BtIjV7yN.mjs} +16 -36
- package/dist/.setup/{mcp-app-session-preparation-BxN0_CYe.mjs → mcp-app-session-preparation-DqSvxFqc.mjs} +24 -25
- package/dist/.setup/{mcp-tool-metadata-j10HhfTC.mjs → mcp-tool-metadata-DW41snf3.mjs} +1 -1
- package/dist/.setup/{model-catalog-DZyNeDKG.mjs → model-catalog-B227ST3D.mjs} +6 -6
- package/dist/.setup/{models-DSseKSMg.mjs → models-DdRyi93L.mjs} +6 -10
- package/dist/.setup/{native-auth-Cjb9y7IZ.mjs → native-auth-esN5MdIv.mjs} +5 -5
- package/dist/.setup/{native-execution-policy-ClzpdG3D.mjs → native-execution-policy-MXEe7PB3.mjs} +11 -28
- package/dist/.setup/native-hook-relay-BUWIOrSr.mjs +561 -0
- package/dist/.setup/{native-mcp-app-CqcPVmhH.mjs → native-mcp-app-CjxJQ4F7.mjs} +6 -6
- package/dist/.setup/native-skill-isolation-UMVoNjZz.mjs +391 -0
- package/dist/.setup/{native-subagent-monitor-BUYOUp9X.mjs → native-subagent-monitor-iHc8oLg5.mjs} +505 -639
- package/dist/.setup/{native-subagent-pending-assignments-BDqhOdJp.mjs → native-subagent-pending-assignments-DmVhedNs.mjs} +11 -23
- package/dist/.setup/{native-task-assignments-C6KVqiN1.mjs → native-task-assignments-DimsQ9Qa.mjs} +73 -27
- package/dist/.setup/{node-cli-sessions-B5oNDkUS.mjs → node-cli-sessions-CzKg2nGq.mjs} +18 -26
- package/dist/.setup/{node-exec-server.runtime-0xSEjKYt.mjs → node-exec-server.runtime-BWkULhBM.mjs} +5 -8
- package/dist/.setup/{plan-BJ37d2Og.mjs → plan-C_F3aio0.mjs} +40 -50
- package/dist/.setup/{plugin-activation-BcyBv8PG.mjs → plugin-activation-D7WkJMvU.mjs} +4 -5
- package/dist/.setup/{plugin-app-cache-key-BW8rd98k.mjs → plugin-app-cache-key-Bg9DbDI6.mjs} +18 -23
- package/dist/.setup/{plugin-approval-roundtrip-CuahdPLC.mjs → plugin-approval-roundtrip-BSV-51ig.mjs} +4 -6
- package/dist/.setup/{plugin-inventory-Bf0_piTw.mjs → plugin-inventory-CYgdo14P.mjs} +28 -43
- package/dist/.setup/{plugin-marketplace-discovery-SQPhSuic.mjs → plugin-marketplace-discovery-BblHM3DU.mjs} +7 -10
- package/dist/.setup/{plugin-metadata-cache-DWnB7VMj.mjs → plugin-metadata-cache-Bi8TAPwX.mjs} +5 -10
- package/dist/.setup/project-doc-thread-config-BVcvnps8.mjs +490 -0
- package/dist/.setup/{provider-BnwHVD_z.mjs → provider-BJ4xhaGX.mjs} +4 -4
- package/dist/.setup/{provider-capabilities-D68Whix6.mjs → provider-capabilities-CjRaV3bx.mjs} +1 -1
- package/dist/.setup/{rate-limits-CMPy24F5.mjs → rate-limits-CI8pTPqL.mjs} +15 -32
- package/dist/.setup/reasoning-effort-CS9kKWB9.mjs +37 -0
- package/dist/.setup/{request-jSbhc1sg.mjs → request-Y8dmbqZ3.mjs} +28 -48
- package/dist/.setup/{rpc-error-hmWM21RB.mjs → rpc-error-C98SHchT.mjs} +3 -6
- package/dist/.setup/{run-attempt-BLDZeYLD.mjs → run-attempt-Dx7a4Mfm.mjs} +927 -849
- package/dist/.setup/{run-attempt-lifecycle-BuZgVbDA.mjs → run-attempt-lifecycle-KN4oh-7O.mjs} +13 -4
- package/dist/.setup/{runtime-artifact-CUTOOnKw.mjs → runtime-artifact-C13pR7tD.mjs} +18 -22
- package/dist/.setup/{runtime-artifact-connection-CADz3_BY.mjs → runtime-artifact-connection-jS5DeCok.mjs} +3 -3
- package/dist/.setup/{sandbox-guard-WqE8yPge.mjs → sandbox-guard-DIImwCy1.mjs} +4 -6
- package/dist/.setup/service-tier-normalization-BPgw2Wdt.mjs +9 -0
- package/dist/.setup/{session-binding-Ce7BqiPN.mjs → session-binding-JEHNMPsr.mjs} +13 -40
- package/dist/.setup/{session-binding-record-BZB8RgcF.mjs → session-binding-record-DU_0biMD.mjs} +4 -4
- package/dist/.setup/{session-binding-record-codec-z4ZpDn6E.mjs → session-binding-record-codec-BpH8u_G9.mjs} +16 -39
- package/dist/.setup/{session-binding-sidecars-BrdV95Fg.mjs → session-binding-sidecars-DD-enC8w.mjs} +49 -54
- package/dist/.setup/{session-catalog-adoption-CPIP4S_y.mjs → session-catalog-adoption-Ca3OYGYM.mjs} +23 -27
- package/dist/.setup/{session-catalog-archive-DcgwvSbF.mjs → session-catalog-archive-Bv6gV7x9.mjs} +6 -6
- package/dist/.setup/{session-catalog-events-Bdjw9HEn.mjs → session-catalog-events-DzFlXNUe.mjs} +6 -5
- package/dist/.setup/{session-catalog-index-DufISKJ6.mjs → session-catalog-index-DozvkUPd.mjs} +111 -105
- package/dist/.setup/{session-catalog-index-order-nhyO0wdW.mjs → session-catalog-index-order-CTfoefow.mjs} +28 -5
- package/dist/.setup/{session-catalog-limits-DEU36Qlo.mjs → session-catalog-limits-BynIoOYm.mjs} +1 -1
- package/dist/.setup/{session-catalog-list-request-tXephOB4.mjs → session-catalog-list-request-D4MYNgDB.mjs} +11 -8
- package/dist/.setup/{session-catalog-native-projection-D6IiLtMb.mjs → session-catalog-native-projection-rCKnZud1.mjs} +5 -61
- package/dist/.setup/{session-catalog-node-adoption-7-WEQTB1.mjs → session-catalog-node-adoption-BdP9Zjqo.mjs} +2 -2
- package/dist/.setup/{session-catalog-node-continue-DLWBwAAO.mjs → session-catalog-node-continue-CNJibO4_.mjs} +27 -49
- package/dist/.setup/{session-catalog-node-lookup-Uufckwcm.mjs → session-catalog-node-lookup-BH_DBGa9.mjs} +3 -3
- package/dist/.setup/{session-catalog-parsing-B-qWJh2x.mjs → session-catalog-parsing-DkeoVn60.mjs} +9 -19
- package/dist/.setup/{session-catalog-projection-8aHNwzWD.mjs → session-catalog-projection-DDVmALHj.mjs} +8 -22
- package/dist/.setup/session-catalog-source-CygTGmrb.mjs +58 -0
- package/dist/.setup/{session-cli-kH4vuGod.mjs → session-cli-GwU0izn-.mjs} +20 -41
- package/dist/.setup/{session-history-BogBHKLk.mjs → session-history-BO6i_pfk.mjs} +1 -1
- package/dist/.setup/{session-history-import-NWKPa4ZO.mjs → session-history-import-CaO8s6ta.mjs} +4 -4
- package/dist/.setup/{session-history-read-CNN8zwbD.mjs → session-history-read-BI_2jRED.mjs} +4 -15
- package/dist/.setup/{session-history.worker-Cq_4DYgN.mjs → session-history.worker-DJQfek5p.mjs} +147 -159
- package/dist/.setup/{session-initialization-D6dtFQkE.mjs → session-initialization-Bi_2DKhc.mjs} +3 -5
- package/dist/.setup/{session-permission-policy-BxIUJ0Zd.mjs → session-permission-policy-CD2MAWU8.mjs} +12 -20
- package/dist/.setup/{session-retirement-Czbchv_O.mjs → session-retirement-IoS3zr17.mjs} +7 -7
- package/dist/.setup/{settled-turn-context-BZsMjkIO.mjs → settled-turn-context-BPL6D3RO.mjs} +1 -1
- package/dist/.setup/{settled-turn-finalizer-DjZsIwbZ.mjs → settled-turn-finalizer-X-Fylp-u.mjs} +12 -11
- package/dist/.setup/{shared-client-qhyYWbew.mjs → shared-client-ByIwuAC-.mjs} +172 -229
- package/dist/.setup/{side-question-D3NJlgbl.mjs → side-question-BDUdozFy.mjs} +116 -137
- package/dist/.setup/{source-BYu0T780.mjs → source-Bxbqf3S1.mjs} +37 -56
- package/dist/.setup/thread-archive-guard-LKdwQKyr.mjs +56 -0
- package/dist/.setup/{thread-lifecycle-Cbz_7ySv.mjs → thread-lifecycle-run-CfP4PnEf.mjs} +348 -484
- package/dist/.setup/thread-model-selection-DcVebr8N.mjs +61 -0
- package/dist/.setup/{thread-ownership-DwuSrt3s.mjs → thread-ownership-Be53aiaG.mjs} +5 -5
- package/dist/.setup/{thread-ownership-queue-Dp24d7-F.mjs → thread-ownership-queue-CeyYScUC.mjs} +5 -6
- package/dist/.setup/{thread-policy-DoNxbhqt.mjs → thread-policy-CHgY-KNl.mjs} +4 -4
- package/dist/.setup/thread-requests-BgzJwJtS.mjs +745 -0
- package/dist/.setup/{thread-resume-BT6NHMkM.mjs → thread-resume-B2EmMcgE.mjs} +5 -5
- package/dist/.setup/{timeout-CXOfNoaX.mjs → timeout-D0mEWSGG.mjs} +6 -12
- package/dist/.setup/{transcript-history-projection-B9a7HwUV.mjs → transcript-history-projection-DfKcoZCB.mjs} +3 -4
- package/dist/.setup/{transcript-mirror-BfLRARNL.mjs → transcript-mirror-Bee2o6jj.mjs} +68 -68
- package/dist/.setup/{transcript-mirror-attestation-YSegaktH.mjs → transcript-mirror-attestation-BzUXnrvv.mjs} +5 -2
- package/dist/.setup/{transport-stdio-a0HDa2Mj.mjs → transport-stdio-CRWTkKOn.mjs} +67 -77
- package/dist/.setup/{transport-websocket-zqJ0Cmtn.mjs → transport-websocket-DIyPfkHo.mjs} +8 -16
- package/dist/.setup/{turn-router-sS69wYnI.mjs → turn-router-DKDAziUW.mjs} +30 -31
- package/dist/.setup/upstream-prompt-provenance-Ccd9MFRJ.mjs +44 -0
- package/dist/.setup/{upstream-session-fork-ChSld66u.mjs → upstream-session-fork-Djp_yssT.mjs} +50 -43
- package/dist/.setup/{usage-D8e8Xiqf.mjs → usage-DQA-peQC.mjs} +4 -4
- package/dist/.setup/{usage-limit-error-GbT-5NcW.mjs → usage-limit-error-2t3KBqiX.mjs} +12 -21
- package/dist/.setup/web-search-item-CvokaZOo.mjs +20 -0
- package/dist/.setup/{web-search-provider.runtime-dL2GD1Kl.mjs → web-search-provider.runtime-BsuCMNix.mjs} +3 -3
- package/dist/.setup/{workspace-write-sandbox-probe-DmUHLrrl.mjs → workspace-write-sandbox-probe-BDWO2Qkh.mjs} +4 -4
- package/dist/api.js +15 -15
- package/dist/catalog-page.worker.js +1 -1
- package/dist/cli-metadata.js +1 -1
- package/dist/doctor-contract-api.js +5 -6
- package/dist/harness.js +32 -61
- package/dist/index.js +302 -416
- package/dist/media-understanding-provider.js +32 -43
- package/dist/migration-provider-api.js +1 -1
- package/dist/native-session-binding-api.js +1 -1
- package/dist/native-tool-policy.js +23 -1
- package/dist/provider-discovery.js +1 -1
- package/dist/session-history-worker-runtime.js +52 -31
- package/dist/session-history.worker.js +1 -1
- package/openclaw.plugin.json +20 -3
- package/package.json +7 -7
- package/dist/.setup/attempt-terminal-gZrxQ35N.mjs +0 -5
- package/dist/.setup/plugin-thread-config-deadline-B8LGaZNW.mjs +0 -124
- package/dist/.setup/service-tier-normalization-Cei89SW6.mjs +0 -15
- package/dist/.setup/shell-dynamic-tools-D3Brj3g9.mjs +0 -85
- package/dist/.setup/thread-archive-guard-C9frICzX.mjs +0 -60
- package/dist/.setup/thread-requests-CL1e8Wmx.mjs +0 -2111
- package/dist/.setup/upstream-prompt-provenance-fXkKbPVC.mjs +0 -37
package/dist/.setup/{upstream-session-fork-ChSld66u.mjs → upstream-session-fork-Djp_yssT.mjs}
RENAMED
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
import { i as isJsonObject, r as flattenCodexDynamicToolFunctions } from "./protocol-CANUwXJ3.mjs";
|
|
2
|
-
import { m as sessionBindingIdentity } from "./session-binding-record-
|
|
3
|
-
import { d as readCodexPluginConfig } from "./config-parsing-
|
|
4
|
-
import { s as assertCodexModelBackedReviewerEffectiveConfig } from "./config-options-
|
|
5
|
-
import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-
|
|
6
|
-
import { i as CodexAppServerScopedRequestRejectedError, o as isCodexAppServerOverloadError } from "./rpc-error-
|
|
7
|
-
import {
|
|
8
|
-
import { r as projectCodexUserItemText } from "./transcript-history-projection-
|
|
2
|
+
import { m as sessionBindingIdentity } from "./session-binding-record-DU_0biMD.mjs";
|
|
3
|
+
import { d as readCodexPluginConfig } from "./config-parsing-DsWSCPHO.mjs";
|
|
4
|
+
import { s as assertCodexModelBackedReviewerEffectiveConfig } from "./config-options-DDzeNQ8m.mjs";
|
|
5
|
+
import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-CeyYScUC.mjs";
|
|
6
|
+
import { i as CodexAppServerScopedRequestRejectedError, o as isCodexAppServerOverloadError } from "./rpc-error-C98SHchT.mjs";
|
|
7
|
+
import { a as readUpstreamUserText, i as readMirrorIdentity } from "./upstream-prompt-provenance-Ccd9MFRJ.mjs";
|
|
8
|
+
import { r as projectCodexUserItemText } from "./transcript-history-projection-DfKcoZCB.mjs";
|
|
9
9
|
import { n as codexUpstreamBaseline, t as codexLastTerminalTurnId } from "./session-upstream-marker-D15C9NHp.mjs";
|
|
10
|
-
import { r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-
|
|
10
|
+
import { r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
|
|
11
11
|
import { n as readCodexSessionMeta } from "./session-catalog-provenance-CmsOE5mh.mjs";
|
|
12
|
-
import "./request-
|
|
13
|
-
import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-
|
|
14
|
-
import { r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-
|
|
15
|
-
import {
|
|
16
|
-
import { P as claimCodexAppServerLiveThread, R as hasCodexAppServerLiveThread, f as readCodexAppServerClientDesktopGenerationFingerprint } from "./shared-client-
|
|
17
|
-
import { m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-
|
|
18
|
-
import {
|
|
19
|
-
import "./
|
|
20
|
-
import
|
|
21
|
-
import "./thread-ownership-
|
|
22
|
-
import { n as resolveCodexNativeExecutionPolicy } from "./native-execution-policy-
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { n as
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
12
|
+
import "./request-Y8dmbqZ3.mjs";
|
|
13
|
+
import { r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-C1YVVLEA.mjs";
|
|
14
|
+
import { r as resolveCodexSupervisionAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
|
|
15
|
+
import { l as readCodexMirrorSourceFingerprint, o as fingerprintCodexMirrorSourceMessage } from "./transcript-mirror-attestation-BzUXnrvv.mjs";
|
|
16
|
+
import { P as claimCodexAppServerLiveThread, R as hasCodexAppServerLiveThread, f as readCodexAppServerClientDesktopGenerationFingerprint } from "./shared-client-ByIwuAC-.mjs";
|
|
17
|
+
import { m as assertCodexThreadForkResponse, p as assertCodexThreadAcceptsDirectInput, s as isCodexAppServerPrewriteRequestCancellationError } from "./client-y7nO6X9c.mjs";
|
|
18
|
+
import { d as mergeCodexThreadConfigs, i as buildCodexPluginThreadConfig, p as shouldBuildCodexPluginThreadConfig } from "./project-doc-thread-config-BVcvnps8.mjs";
|
|
19
|
+
import { T as fingerprintUserMcpServersConfigPatch, _ as buildDeveloperInstructions, a as buildCodexThreadConfiguration, b as codexDynamicToolsFingerprint, h as resolveCodexWebSearchPlan, w as fingerprintJsonObject } from "./thread-requests-BgzJwJtS.mjs";
|
|
20
|
+
import "./session-binding-JEHNMPsr.mjs";
|
|
21
|
+
import "./thread-ownership-Be53aiaG.mjs";
|
|
22
|
+
import { n as resolveCodexNativeExecutionPolicy } from "./native-execution-policy-MXEe7PB3.mjs";
|
|
23
|
+
import { n as CodexThreadPolicyHandoffError, o as refreshCodexThreadPolicy } from "./thread-policy-CHgY-KNl.mjs";
|
|
24
|
+
import { b as isCodexDynamicToolExcluded, f as codexNativeHookRemoteCredentialPath, i as buildCodexNativeHookRelayConfig, l as resolveCodexNativeHookRelayEvents, o as buildCodexNativeHookRelayId, r as assertCodexNativeHookRelayAllowed } from "./native-hook-relay-BUWIOrSr.mjs";
|
|
25
|
+
import { c as parseCodexNativeToolCatalog, i as checkCodexThreadAppAvailability, n as resolveCodexNativeSkillIsolation, t as applyCodexNativeSkillIsolation } from "./native-skill-isolation-UMVoNjZz.mjs";
|
|
26
|
+
import { c as prepareCodexWorkspaceDeveloperInstructions } from "./attempt-workspace-context-CcwP3DA3.mjs";
|
|
27
|
+
import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-CjRaV3bx.mjs";
|
|
28
|
+
import { n as prepareCodexSessionInitialization } from "./session-initialization-Bi_2DKhc.mjs";
|
|
29
|
+
import { createImportedCodexSession } from "./session-history-import-CaO8s6ta.mjs";
|
|
28
30
|
import { isRecord, normalizeOptionalString, readNonBlankString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
29
31
|
import { randomUUID } from "node:crypto";
|
|
30
32
|
import { isDeepStrictEqual } from "node:util";
|
|
@@ -32,13 +34,13 @@ import path from "node:path";
|
|
|
32
34
|
import { lstat } from "node:fs/promises";
|
|
33
35
|
import { root } from "openclaw/plugin-sdk/file-access-runtime";
|
|
34
36
|
import { constants, createZstdDecompress } from "node:zlib";
|
|
35
|
-
import { loadCodexBundleMcpThreadConfig } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
36
37
|
import { resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/agent-runtime";
|
|
38
|
+
import { loadCodexBundleMcpThreadConfig } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
37
39
|
import { loadExecApprovals } from "openclaw/plugin-sdk/exec-approvals-runtime";
|
|
38
40
|
import { resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
|
|
41
|
+
import { appendSessionTranscriptMessagesByIdentity, readVisibleSessionTranscriptMessageEntries } from "openclaw/plugin-sdk/session-transcript-runtime";
|
|
39
42
|
import { buildCodexUserMcpServersThreadConfigPatchForRuntime, resolveCodexMcpToolOverridesForAgent } from "openclaw/plugin-sdk/codex-mcp-projection";
|
|
40
43
|
import { buildNativeHookRelayCommandPlan } from "openclaw/plugin-sdk/native-hook-relay-runtime";
|
|
41
|
-
import { appendSessionTranscriptMessagesByIdentity, readVisibleSessionTranscriptMessageEntries } from "openclaw/plugin-sdk/session-transcript-runtime";
|
|
42
44
|
//#region extensions/codex/src/session-rollout-snapshot.ts
|
|
43
45
|
const CHUNK_BYTES = 65536;
|
|
44
46
|
const META_BYTES = 1048576;
|
|
@@ -267,16 +269,17 @@ async function prepareCanonicalCodexFork(params) {
|
|
|
267
269
|
});
|
|
268
270
|
assertCurrent();
|
|
269
271
|
const generation = randomUUID();
|
|
272
|
+
const relayId = buildCodexNativeHookRelayId({
|
|
273
|
+
agentId: created.agentId,
|
|
274
|
+
sessionKey: created.key,
|
|
275
|
+
sessionId: created.sessionId
|
|
276
|
+
});
|
|
270
277
|
const relay = buildNativeHookRelayCommandPlan({
|
|
271
278
|
provider: "codex",
|
|
272
279
|
agentId: created.agentId,
|
|
273
280
|
sessionKey: created.key,
|
|
274
281
|
config,
|
|
275
|
-
relayId
|
|
276
|
-
agentId: created.agentId,
|
|
277
|
-
sessionKey: created.key,
|
|
278
|
-
sessionId: created.sessionId
|
|
279
|
-
}),
|
|
282
|
+
relayId,
|
|
280
283
|
generation,
|
|
281
284
|
preToolUseLoopDetection: appServer.loopDetectionPreToolUseRelay
|
|
282
285
|
});
|
|
@@ -306,13 +309,17 @@ async function prepareCanonicalCodexFork(params) {
|
|
|
306
309
|
sessionKey: created.key,
|
|
307
310
|
modelId: params.model
|
|
308
311
|
};
|
|
309
|
-
const developerInstructions = [buildDeveloperInstructions(promptContext, {
|
|
312
|
+
const developerInstructions = [buildDeveloperInstructions(promptContext, {
|
|
313
|
+
dynamicTools,
|
|
314
|
+
nativeCodeModeOnlyEnabled: appServer.codeModeOnly
|
|
315
|
+
}), workspaceInstructions].filter(Boolean).join("\n\n");
|
|
310
316
|
const bundleConfig = bundleMcp.configPatch;
|
|
311
317
|
if (bundleConfig && !isJsonObject(bundleConfig)) throw new Error("Invalid child MCP thread configuration");
|
|
312
318
|
const threadConfig = applyCodexNativeSkillIsolation(mergeCodexThreadConfigs(bundleConfig, userMcp, apps?.configPatch, appServer.networkProxy?.configPatch, buildCodexNativeHookRelayConfig({
|
|
313
319
|
relay,
|
|
314
320
|
events,
|
|
315
|
-
clearOmittedEvents: true
|
|
321
|
+
clearOmittedEvents: true,
|
|
322
|
+
...appServer.nativeHookRelay ? { remoteCredentialPath: codexNativeHookRemoteCredentialPath(appServer.nativeHookRelay, relayId, generation) } : {}
|
|
316
323
|
})), nativeSkillIsolation);
|
|
317
324
|
return {
|
|
318
325
|
request: buildCodexThreadConfiguration(promptContext, {
|
|
@@ -348,6 +355,7 @@ async function prepareCanonicalCodexFork(params) {
|
|
|
348
355
|
}
|
|
349
356
|
//#endregion
|
|
350
357
|
//#region extensions/codex/src/app-server/upstream-fork-boundary.ts
|
|
358
|
+
const IN_PROGRESS_TURN_MESSAGE = "This Codex turn is still in progress. Wait for it to finish, then try forking again.";
|
|
351
359
|
const TURN_PAGE_LIMIT = 100;
|
|
352
360
|
function failure(code, message) {
|
|
353
361
|
return {
|
|
@@ -361,10 +369,8 @@ function textOnlyMessage(content) {
|
|
|
361
369
|
if (!Array.isArray(content)) return;
|
|
362
370
|
const texts = [];
|
|
363
371
|
for (const block of content) {
|
|
364
|
-
if (!block ||
|
|
365
|
-
|
|
366
|
-
if (typed.type !== "text" || typeof typed.text !== "string") return;
|
|
367
|
-
texts.push(typed.text);
|
|
372
|
+
if (!isRecord(block) || block.type !== "text" || typeof block.text !== "string") return;
|
|
373
|
+
texts.push(block.text);
|
|
368
374
|
}
|
|
369
375
|
return texts.join("\n");
|
|
370
376
|
}
|
|
@@ -395,7 +401,7 @@ function resolveCodexUpstreamForkBoundaryFromTurns(params) {
|
|
|
395
401
|
continue;
|
|
396
402
|
}
|
|
397
403
|
if (isSteer) return failure("steer-message", "This message steered an existing Codex turn and cannot be forked independently. Fork from the turn's first message instead.");
|
|
398
|
-
if (turn.status === "inProgress") return failure("in-progress-turn",
|
|
404
|
+
if (turn.status === "inProgress") return failure("in-progress-turn", IN_PROGRESS_TURN_MESSAGE);
|
|
399
405
|
const retained = turnIndex > 0 ? params.turns[turnIndex - 1] : void 0;
|
|
400
406
|
return {
|
|
401
407
|
ok: true,
|
|
@@ -494,7 +500,7 @@ async function resolveCodexUpstreamForkBoundary(params) {
|
|
|
494
500
|
function precheckCodexUpstreamForkBoundary(params) {
|
|
495
501
|
const target = params.turns.find((turn) => turn.id === params.boundary.beforeTurnId);
|
|
496
502
|
if (!target) return failure("upstream-unavailable", "The Codex thread changed before it could be forked. Refresh the session and try again.");
|
|
497
|
-
if (target.status === "inProgress") return failure("in-progress-turn",
|
|
503
|
+
if (target.status === "inProgress") return failure("in-progress-turn", IN_PROGRESS_TURN_MESSAGE);
|
|
498
504
|
return {
|
|
499
505
|
ok: true,
|
|
500
506
|
boundary: params.boundary
|
|
@@ -680,7 +686,7 @@ async function forkCanonicalCodexSession(params) {
|
|
|
680
686
|
});
|
|
681
687
|
assertCurrent();
|
|
682
688
|
if (appended.length !== resolved.canonical.prefix.length || appended.some((item, index) => !item.appended || !isDeepStrictEqual(item.message, resolved.canonical.prefix[index]?.message) || index > 0 && item.effectiveParentId !== appended[index - 1]?.messageId)) throw new Error("The canonical Codex display prefix could not be copied completely");
|
|
683
|
-
initialization.
|
|
689
|
+
await initialization.linkAsync({
|
|
684
690
|
sessionKey: created.key,
|
|
685
691
|
agentId: created.agentId,
|
|
686
692
|
catalogId: fork.upstream.catalogId,
|
|
@@ -728,6 +734,7 @@ async function forkCanonicalCodexSession(params) {
|
|
|
728
734
|
}
|
|
729
735
|
//#endregion
|
|
730
736
|
//#region extensions/codex/src/app-server/upstream-session-fork.ts
|
|
737
|
+
const UNAVAILABLE_CONNECTION_MESSAGE = "This Codex thread is not available on the current connection. Reconnect to its host and try again.";
|
|
731
738
|
function unavailable(message) {
|
|
732
739
|
return {
|
|
733
740
|
status: "failed",
|
|
@@ -739,7 +746,7 @@ async function forkCodexUpstreamSession(params, options) {
|
|
|
739
746
|
try {
|
|
740
747
|
const sourceFingerprint = params.upstream.kind === "codex-app-server" && isRecord(params.upstream.ref) ? readNonBlankString(params.upstream.ref.connectionFingerprint) : void 0;
|
|
741
748
|
const requestControl = sourceFingerprint ? await options.controlFactory.forUpstream(params.source.agentId, sourceFingerprint) : void 0;
|
|
742
|
-
if (!sourceFingerprint || !requestControl) return unavailable(
|
|
749
|
+
if (!sourceFingerprint || !requestControl) return unavailable(UNAVAILABLE_CONNECTION_MESSAGE);
|
|
743
750
|
return await requestControl.withPinnedConnection(async (control) => {
|
|
744
751
|
const sourceBinding = options.bindingStore.read(sessionBindingIdentity({
|
|
745
752
|
...params.source,
|
|
@@ -760,7 +767,7 @@ async function forkCodexUpstreamSession(params, options) {
|
|
|
760
767
|
throw new Error("Codex fork cleanup could not be verified; inspect the retained native thread before retrying.", { cause });
|
|
761
768
|
}
|
|
762
769
|
});
|
|
763
|
-
if (sourceFingerprint !== control.connectionFingerprint || supervised && (sourceBinding.supervisionSourceThreadId !== params.upstream.threadId || (sourceBinding.pendingSupervisionBranch?.connectionFingerprint ?? sourceBinding.appServerRuntimeFingerprint) !== sourceFingerprint)) return unavailable(
|
|
770
|
+
if (sourceFingerprint !== control.connectionFingerprint || supervised && (sourceBinding.supervisionSourceThreadId !== params.upstream.threadId || (sourceBinding.pendingSupervisionBranch?.connectionFingerprint ?? sourceBinding.appServerRuntimeFingerprint) !== sourceFingerprint)) return unavailable(UNAVAILABLE_CONNECTION_MESSAGE);
|
|
764
771
|
const resolved = await resolveCodexUpstreamForkBoundary({
|
|
765
772
|
...params.source,
|
|
766
773
|
threadId: sourceThreadId,
|
|
@@ -845,7 +852,7 @@ async function forkCodexUpstreamSession(params, options) {
|
|
|
845
852
|
modelSelectionLocked: true
|
|
846
853
|
},
|
|
847
854
|
afterImport: async (entry, initialization) => {
|
|
848
|
-
initialization.
|
|
855
|
+
await initialization.linkAsync({
|
|
849
856
|
sessionKey: entry.key,
|
|
850
857
|
agentId: entry.agentId,
|
|
851
858
|
catalogId: params.upstream.catalogId,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-
|
|
2
|
-
import { t as readCodexAppServerUsage } from "./request-
|
|
3
|
-
import "./config-
|
|
4
|
-
import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-
|
|
1
|
+
import { t as buildCodexAppServerUsageSnapshot } from "./rate-limits-CI8pTPqL.mjs";
|
|
2
|
+
import { t as readCodexAppServerUsage } from "./request-Y8dmbqZ3.mjs";
|
|
3
|
+
import "./config-C1YVVLEA.mjs";
|
|
4
|
+
import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-DWzK-k0n.mjs";
|
|
5
5
|
import { CODEX_APP_SERVER_AUTH_MARKER } from "openclaw/plugin-sdk/agent-runtime";
|
|
6
6
|
//#region extensions/codex/src/app-server/usage.ts
|
|
7
7
|
/** Handles the synthetic usage credential for a Codex-backed OpenAI route. */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
|
|
2
|
-
import { a as shouldRefreshCodexRateLimitsForUsageLimitMessage, i as resolveCodexUsageLimitResetAtMs, n as formatCodexUsageLimitErrorMessage } from "./rate-limits-
|
|
3
|
-
import { t as CODEX_CONTROL_METHODS } from "./capabilities-
|
|
4
|
-
import { X as readRecentCodexRateLimits, Y as readCodexRateLimitsRevision, Z as rememberCodexRateLimitsRead } from "./shared-client-
|
|
2
|
+
import { a as shouldRefreshCodexRateLimitsForUsageLimitMessage, i as resolveCodexUsageLimitResetAtMs, n as formatCodexUsageLimitErrorMessage } from "./rate-limits-CI8pTPqL.mjs";
|
|
3
|
+
import { t as CODEX_CONTROL_METHODS } from "./capabilities-DbOzOglY.mjs";
|
|
4
|
+
import { X as readRecentCodexRateLimits, Y as readCodexRateLimitsRevision, Z as rememberCodexRateLimitsRead } from "./shared-client-ByIwuAC-.mjs";
|
|
5
5
|
import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
|
-
import { embeddedAgentLog, formatErrorMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
7
6
|
import { markAuthProfileBlockedUntil } from "openclaw/plugin-sdk/agent-runtime";
|
|
7
|
+
import { embeddedAgentLog, formatErrorMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
8
8
|
//#region extensions/codex/src/app-server/usage-limit-error.ts
|
|
9
9
|
const CODEX_USAGE_LIMIT_RATE_LIMIT_REFRESH_TIMEOUT_MS = 5e3;
|
|
10
10
|
var CodexUsageLimitPromptError = class extends Error {
|
|
@@ -59,41 +59,32 @@ async function markCodexAuthProfileBlockedFromRateLimits(params) {
|
|
|
59
59
|
}
|
|
60
60
|
async function formatCodexTurnStartUsageLimitError(params) {
|
|
61
61
|
return refreshCodexUsageLimitError({
|
|
62
|
-
|
|
63
|
-
source: readCodexTurnStartUsageLimitErrorSource(params.client, params.error, params.errorNotification, params.rateLimitsRevisionBeforeTurnStart)
|
|
64
|
-
timeoutMs: params.timeoutMs,
|
|
65
|
-
signal: params.signal
|
|
62
|
+
...params,
|
|
63
|
+
source: readCodexTurnStartUsageLimitErrorSource(params.client, params.error, params.errorNotification, params.rateLimitsRevisionBeforeTurnStart)
|
|
66
64
|
});
|
|
67
65
|
}
|
|
68
66
|
async function refreshCodexUsageLimitPromptError(params) {
|
|
69
67
|
if (!shouldRefreshCodexRateLimitsForUsageLimitMessage(params.message)) return;
|
|
70
68
|
return refreshCodexUsageLimitError({
|
|
71
|
-
|
|
69
|
+
...params,
|
|
72
70
|
source: {
|
|
73
71
|
message: params.message,
|
|
74
72
|
codexErrorInfo: "usageLimitExceeded",
|
|
75
73
|
rateLimits: readRecentCodexRateLimits(params.client)
|
|
76
|
-
}
|
|
77
|
-
timeoutMs: params.timeoutMs,
|
|
78
|
-
signal: params.signal
|
|
74
|
+
}
|
|
79
75
|
});
|
|
80
76
|
}
|
|
81
77
|
async function refreshCodexUsageLimitError(params) {
|
|
82
78
|
const initialMessage = formatCodexUsageLimitErrorMessage(params.source);
|
|
83
79
|
const rateLimits = shouldRefreshCodexRateLimitsForUsageLimitMessage(initialMessage) ? await readCodexRateLimitsFromAppServerForUsageLimitError(params) : void 0;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
...params.source.rateLimitsTrustedForProfile ? { rateLimitsForProfile: params.source.rateLimits } : {}
|
|
87
|
-
} : void 0;
|
|
88
|
-
const message = formatCodexUsageLimitErrorMessage({
|
|
89
|
-
message: params.source.message,
|
|
90
|
-
codexErrorInfo: params.source.codexErrorInfo,
|
|
80
|
+
const message = rateLimits ? formatCodexUsageLimitErrorMessage({
|
|
81
|
+
...params.source,
|
|
91
82
|
rateLimits,
|
|
92
83
|
rateLimitsAuthoritative: true
|
|
93
|
-
}) ?? initialMessage;
|
|
84
|
+
}) ?? initialMessage : initialMessage;
|
|
94
85
|
return message ? {
|
|
95
86
|
message,
|
|
96
|
-
rateLimitsForProfile: rateLimits
|
|
87
|
+
...rateLimits || params.source.rateLimitsTrustedForProfile ? { rateLimitsForProfile: rateLimits || params.source.rateLimits } : {}
|
|
97
88
|
} : void 0;
|
|
98
89
|
}
|
|
99
90
|
async function readCodexRateLimitsFromAppServerForUsageLimitError(params) {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
|
|
2
|
+
import { normalizeOptionalString, normalizeTrimmedStringList } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
|
+
//#region extensions/codex/src/app-server/web-search-item.ts
|
|
4
|
+
function projectCodexWebSearchItem(item) {
|
|
5
|
+
const action = isJsonObject(item.action) ? item.action : void 0;
|
|
6
|
+
const actionType = normalizeOptionalString(action?.type);
|
|
7
|
+
const queries = actionType === "search" ? normalizeTrimmedStringList(action?.queries) : [];
|
|
8
|
+
const query = normalizeOptionalString(item.query) ?? (actionType === "search" ? normalizeOptionalString(action?.query) : void 0) ?? queries[0];
|
|
9
|
+
const url = normalizeOptionalString(action?.url);
|
|
10
|
+
const pattern = normalizeOptionalString(action?.pattern);
|
|
11
|
+
return {
|
|
12
|
+
...query ? { query } : {},
|
|
13
|
+
...queries.length > 0 ? { queries } : {},
|
|
14
|
+
...actionType && actionType !== "search" ? { action: actionType } : {},
|
|
15
|
+
...url ? { url } : {},
|
|
16
|
+
...pattern ? { pattern } : {}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { projectCodexWebSearchItem as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { m as buildCodexNativeWebSearchThreadConfig } from "./thread-requests-BgzJwJtS.mjs";
|
|
2
|
+
import { runBoundedCodexAppServerTurn } from "./bounded-turn-CyQVQwGe.mjs";
|
|
3
|
+
import { t as projectCodexWebSearchItem } from "./web-search-item-CvokaZOo.mjs";
|
|
4
4
|
import { readStringParam, resolveSearchTimeoutSeconds, wrapWebContent } from "openclaw/plugin-sdk/provider-web-search";
|
|
5
5
|
//#region extensions/codex/src/web-search-provider.runtime.ts
|
|
6
6
|
async function executeCodexWebSearchProviderTool(ctx, args, executionContext, options) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as resolveCodexPrivateLauncher, n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
|
|
2
|
-
import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-
|
|
3
|
-
import { t as resolveCodexDoctorStartOptions } from "./doctor-start-options-
|
|
2
|
+
import { n as resolveCodexAppServerSpawnEnv, r as resolveCodexAppServerSpawnInvocation } from "./transport-stdio-CRWTkKOn.mjs";
|
|
3
|
+
import { t as resolveCodexDoctorStartOptions } from "./doctor-start-options-JjTAl-q_.mjs";
|
|
4
4
|
import { runUtf8CommandWithTimeout } from "openclaw/plugin-sdk/process-runtime";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
@@ -79,7 +79,7 @@ async function probeCodexWorkspaceWriteSandbox(params) {
|
|
|
79
79
|
if (result.outputLimitExceeded || result.termination !== "exit" || result.signal) return {
|
|
80
80
|
status: "inconclusive",
|
|
81
81
|
command,
|
|
82
|
-
reason: result.outputLimitExceeded ? "Sandbox
|
|
82
|
+
reason: result.outputLimitExceeded ? "Sandbox check output exceeded its capture limit." : result.termination === "timeout" ? `Sandbox check timed out after ${PROBE_TIMEOUT_MS} ms.` : `Sandbox check ended with ${result.signal ?? result.termination}.`
|
|
83
83
|
};
|
|
84
84
|
if (result.code === 0) return {
|
|
85
85
|
status: "ok",
|
|
@@ -94,7 +94,7 @@ async function probeCodexWorkspaceWriteSandbox(params) {
|
|
|
94
94
|
return {
|
|
95
95
|
status: "inconclusive",
|
|
96
96
|
command,
|
|
97
|
-
reason: `Sandbox
|
|
97
|
+
reason: `Sandbox check exited with ${result.code ?? "no exit code"} without a recognized bwrap denial.`
|
|
98
98
|
};
|
|
99
99
|
} finally {
|
|
100
100
|
await fs.rm(root, {
|
package/dist/api.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as resolveManagedCodexNativeCommand, s as CODEX_APP_SERVER_VERSION } from "./.setup/managed-binary-
|
|
1
|
+
import { i as resolveManagedCodexNativeCommand, s as CODEX_APP_SERVER_VERSION } from "./.setup/managed-binary-BtIjV7yN.mjs";
|
|
2
2
|
import { t as codexNativeProfileRecoveryHealthCheck } from "./.setup/auth-profile-health-oHizqgye.mjs";
|
|
3
3
|
import { n as findCodexAppServerSpawnError, t as describeCodexSpawnError } from "./.setup/spawn-error-CL3n6MAa.mjs";
|
|
4
|
-
import { t as resolveCodexDoctorStartOptions } from "./.setup/doctor-start-options-
|
|
4
|
+
import { t as resolveCodexDoctorStartOptions } from "./.setup/doctor-start-options-JjTAl-q_.mjs";
|
|
5
5
|
import { runUtf8CommandWithTimeout } from "openclaw/plugin-sdk/process-runtime";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { coerceErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
@@ -10,8 +10,8 @@ import { fileURLToPath } from "node:url";
|
|
|
10
10
|
const CODEX_MANAGED_APP_SERVER_CHECK_ID = "codex/managed-app-server";
|
|
11
11
|
const CODEX_VERSION_TIMEOUT_MS = 5e3;
|
|
12
12
|
const CODEX_VERSION_MAX_BUFFER_BYTES = 65536;
|
|
13
|
-
function
|
|
14
|
-
return {
|
|
13
|
+
function managedCodexFindings(params) {
|
|
14
|
+
return [{
|
|
15
15
|
checkId: CODEX_MANAGED_APP_SERVER_CHECK_ID,
|
|
16
16
|
severity: params.severity ?? "error",
|
|
17
17
|
source: "codex",
|
|
@@ -19,7 +19,7 @@ function managedCodexFinding(params) {
|
|
|
19
19
|
...params.path ? { path: params.path } : {},
|
|
20
20
|
...params.requirement ? { requirement: params.requirement } : {},
|
|
21
21
|
...params.fixHint ? { fixHint: params.fixHint } : {}
|
|
22
|
-
};
|
|
22
|
+
}];
|
|
23
23
|
}
|
|
24
24
|
function parseCodexVersion(output) {
|
|
25
25
|
return /(?:^|\s)(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)(?:\s|$)/u.exec(output)?.[1];
|
|
@@ -36,7 +36,7 @@ async function runVersionCommand(command, env) {
|
|
|
36
36
|
killSignal: "SIGKILL",
|
|
37
37
|
killGraceMs: 0
|
|
38
38
|
});
|
|
39
|
-
if (result.termination !== "exit" || result.code !== 0 || result.outputLimitExceeded) throw new Error(result.outputLimitExceeded ? "Version output exceeded its capture limit" : result.termination === "timeout" ? `Version
|
|
39
|
+
if (result.termination !== "exit" || result.code !== 0 || result.outputLimitExceeded) throw new Error(result.outputLimitExceeded ? "Version output exceeded its capture limit" : result.termination === "timeout" ? `Version check timed out after ${CODEX_VERSION_TIMEOUT_MS} ms` : `Version check failed (${result.signal ?? result.code ?? result.termination})`);
|
|
40
40
|
return result;
|
|
41
41
|
}
|
|
42
42
|
function createCodexManagedAppServerHealthCheck(params) {
|
|
@@ -62,43 +62,43 @@ function createCodexManagedAppServerHealthCheck(params) {
|
|
|
62
62
|
deps: params.deps
|
|
63
63
|
});
|
|
64
64
|
} catch (error) {
|
|
65
|
-
return
|
|
65
|
+
return managedCodexFindings({
|
|
66
66
|
message: `Managed Codex app-server could not be resolved: ${coerceErrorMessage(error)}`,
|
|
67
67
|
path: params.pluginRoot,
|
|
68
68
|
requirement: `an executable Codex ${CODEX_APP_SERVER_VERSION} managed artifact`,
|
|
69
69
|
fixHint: "Reinstall the staged OpenClaw package with its @openai/codex platform dependency, then rerun the candidate check."
|
|
70
|
-
})
|
|
70
|
+
});
|
|
71
71
|
}
|
|
72
72
|
if (selection.status === "skipped") return [];
|
|
73
73
|
const resolved = selection.start;
|
|
74
74
|
const nativeCommand = resolveNativeCommand(resolved.command);
|
|
75
|
-
if (!nativeCommand) return
|
|
75
|
+
if (!nativeCommand) return managedCodexFindings({
|
|
76
76
|
message: "Managed Codex app-server resolved a launcher without a native artifact.",
|
|
77
77
|
path: resolved.command,
|
|
78
78
|
requirement: `the platform-native Codex ${CODEX_APP_SERVER_VERSION} executable`,
|
|
79
79
|
fixHint: "Reinstall the staged OpenClaw package with the matching @openai/codex platform package, then rerun the candidate check."
|
|
80
|
-
})
|
|
80
|
+
});
|
|
81
81
|
let output;
|
|
82
82
|
try {
|
|
83
83
|
output = await (params.deps?.runVersionCommand ? params.deps.runVersionCommand(nativeCommand) : runVersionCommand(nativeCommand, env));
|
|
84
84
|
} catch (error) {
|
|
85
85
|
const spawnFailure = findCodexAppServerSpawnError(describeCodexSpawnError(error, nativeCommand));
|
|
86
|
-
return
|
|
86
|
+
return managedCodexFindings({
|
|
87
87
|
message: spawnFailure?.message ?? `Managed Codex app-server version check failed: ${coerceErrorMessage(error)}`,
|
|
88
88
|
severity: spawnFailure && resolved.managedCommandOrder === "package-only" ? "warning" : versionFailureSeverity,
|
|
89
89
|
path: nativeCommand,
|
|
90
90
|
requirement: `Codex ${CODEX_APP_SERVER_VERSION} must report its version within ${CODEX_VERSION_TIMEOUT_MS} ms`,
|
|
91
91
|
fixHint: versionFailureHint ?? "Repair or reinstall the staged OpenClaw package, then rerun the candidate check before cutover."
|
|
92
|
-
})
|
|
92
|
+
});
|
|
93
93
|
}
|
|
94
94
|
const detectedVersion = parseCodexVersion(`${output.stdout}\n${output.stderr}`);
|
|
95
|
-
if (detectedVersion !== "0.160.0") return
|
|
95
|
+
if (detectedVersion !== "0.160.0") return managedCodexFindings({
|
|
96
96
|
severity: versionFailureSeverity,
|
|
97
97
|
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}.`,
|
|
98
98
|
path: nativeCommand,
|
|
99
99
|
requirement: `the exact OpenClaw-pinned Codex version ${CODEX_APP_SERVER_VERSION}`,
|
|
100
100
|
fixHint: versionFailureHint ?? "Reinstall the staged OpenClaw package so its managed @openai/codex dependency matches the pinned version, then rerun the candidate check."
|
|
101
|
-
})
|
|
101
|
+
});
|
|
102
102
|
return [];
|
|
103
103
|
}
|
|
104
104
|
};
|
|
@@ -115,7 +115,7 @@ function registerCodexManagedAppServerDoctorChecks$1(host, deps) {
|
|
|
115
115
|
const CODEX_PLUGIN_ROOT = path.dirname(fileURLToPath(import.meta.url));
|
|
116
116
|
async function probeCodexWorkspaceWriteSandbox(params) {
|
|
117
117
|
try {
|
|
118
|
-
const { probeCodexWorkspaceWriteSandbox: probe } = await import("./.setup/workspace-write-sandbox-probe-
|
|
118
|
+
const { probeCodexWorkspaceWriteSandbox: probe } = await import("./.setup/workspace-write-sandbox-probe-BDWO2Qkh.mjs");
|
|
119
119
|
return await probe({
|
|
120
120
|
...params,
|
|
121
121
|
pluginRoot: CODEX_PLUGIN_ROOT
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createCodexCatalogDecoder } from "./.setup/client-catalog-response-
|
|
1
|
+
import { t as createCodexCatalogDecoder } from "./.setup/client-catalog-response-DsbEAtpd.mjs";
|
|
2
2
|
import { serveWorkerTasks } from "openclaw/plugin-sdk/worker-task-server";
|
|
3
3
|
//#region extensions/codex/catalog-page.worker.ts
|
|
4
4
|
const decode = createCodexCatalogDecoder();
|
package/dist/cli-metadata.js
CHANGED
|
@@ -2,7 +2,7 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
|
2
2
|
//#region extensions/codex/cli-metadata.ts
|
|
3
3
|
function registerCodexCliMetadata(api) {
|
|
4
4
|
api.registerCli(async ({ program }) => {
|
|
5
|
-
const { registerCodexSessionCli } = await import("./.setup/session-cli-
|
|
5
|
+
const { registerCodexSessionCli } = await import("./.setup/session-cli-GwU0izn-.mjs");
|
|
6
6
|
registerCodexSessionCli(program);
|
|
7
7
|
}, { descriptors: [{
|
|
8
8
|
name: "codex",
|
|
@@ -128,7 +128,6 @@ function hasRetiredTurnIdleTimeout(value) {
|
|
|
128
128
|
const appServer = asNullableRecord(value);
|
|
129
129
|
return appServer !== null && RETIRED_TURN_IDLE_TIMEOUT_KEYS.some((key) => Object.hasOwn(appServer, key));
|
|
130
130
|
}
|
|
131
|
-
/** Legacy Codex config keys that doctor should report or repair. */
|
|
132
131
|
const legacyConfigRules = [
|
|
133
132
|
{
|
|
134
133
|
path: [
|
|
@@ -249,15 +248,15 @@ const stateMigrations = [
|
|
|
249
248
|
{
|
|
250
249
|
id: "codex-app-server-sidecars-to-plugin-state",
|
|
251
250
|
label: "Codex app-server thread bindings",
|
|
252
|
-
detectLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-
|
|
253
|
-
migrateLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-
|
|
251
|
+
detectLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-DD-enC8w.mjs")).detectLegacySessionBindingSidecars(params),
|
|
252
|
+
migrateLegacyState: async (params) => (await import("./.setup/session-binding-sidecars-DD-enC8w.mjs")).migrateLegacySessionBindingSidecars(params)
|
|
254
253
|
},
|
|
255
254
|
{
|
|
256
255
|
id: "codex-native-task-assignments",
|
|
257
256
|
label: "Codex native pending assignments",
|
|
258
|
-
collectBackupResources: async (params) => (await import("./.setup/native-task-assignments-
|
|
259
|
-
detectLegacyState: async (params) => (await import("./.setup/native-task-assignments-
|
|
260
|
-
migrateLegacyState: async (params) => (await import("./.setup/native-task-assignments-
|
|
257
|
+
collectBackupResources: async (params) => (await import("./.setup/native-task-assignments-DimsQ9Qa.mjs")).codexNativeTaskAssignmentMigration.collectBackupResources(params),
|
|
258
|
+
detectLegacyState: async (params) => (await import("./.setup/native-task-assignments-DimsQ9Qa.mjs")).codexNativeTaskAssignmentMigration.detectLegacyState(params),
|
|
259
|
+
migrateLegacyState: async (params) => (await import("./.setup/native-task-assignments-DimsQ9Qa.mjs")).codexNativeTaskAssignmentMigration.migrateLegacyState(params)
|
|
261
260
|
},
|
|
262
261
|
codexOrphanedSessionBindingMigration
|
|
263
262
|
];
|