@openclaw/codex 2026.9.9 → 2026.9.33

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 (57) hide show
  1. package/dist/.setup/{account-usage-runtime-9B-ABnCR.mjs → account-usage-runtime-dYM1lh1V.mjs} +1 -1
  2. package/dist/.setup/{apply-CBcTS6Se.mjs → apply-C82xe8Bk.mjs} +4 -4
  3. package/dist/.setup/{attempt-client-cleanup-_RUXhE5e.mjs → attempt-client-cleanup-D1aznv7C.mjs} +3 -3
  4. package/dist/.setup/{attempt-workspace-context-CSD2rKPq.mjs → attempt-workspace-context-DKAbD-vI.mjs} +1 -1
  5. package/dist/.setup/{auth-cache-key-gOhcdE_N.mjs → auth-cache-key-CWpIEtTm.mjs} +1 -1
  6. package/dist/.setup/{bounded-turn-BKSjzckA.mjs → bounded-turn-Ca4urQ25.mjs} +9 -9
  7. package/dist/.setup/{build-state-CDQUVDAI.mjs → build-state-E-CRUdgh.mjs} +1 -1
  8. package/dist/.setup/{client-B4EOuI-w.mjs → client-6GbdZFc0.mjs} +2 -2
  9. package/dist/.setup/{client-catalog-response-CsnppTTd.mjs → client-catalog-response-HvvnCxvX.mjs} +1 -1
  10. package/dist/.setup/{command-dispatch-DHjWG2Ll.mjs → command-dispatch-_PPJobF7.mjs} +1 -1
  11. package/dist/.setup/{command-handlers-DSRIPTiA.mjs → command-handlers-Do_MOc5V.mjs} +11 -11
  12. package/dist/.setup/{command-rpc-CKsxWgF6.mjs → command-rpc-Bc_OIgK0.mjs} +6 -6
  13. package/dist/.setup/{compact-CXguvBLF.mjs → compact-BVSQoyh-.mjs} +8 -8
  14. package/dist/.setup/{conversation-binding-BDlmcqm3.mjs → conversation-binding-CvjxRWI-.mjs} +9 -9
  15. package/dist/.setup/{conversation-control-CzxjbHH4.mjs → conversation-control-DoxkQ9nq.mjs} +2 -2
  16. package/dist/.setup/{dynamic-tools-86M3tRl4.mjs → dynamic-tools-CGMXNyuw.mjs} +6 -6
  17. package/dist/.setup/{effective-mcp-catalog-DMrerMF4.mjs → effective-mcp-catalog-C1zwj-bq.mjs} +2 -2
  18. package/dist/.setup/{ephemeral-turn-C-vPku4K.mjs → ephemeral-turn-Cyu_xJDs.mjs} +2 -2
  19. package/dist/.setup/{event-projector-assistant-message-Bhu17sxy.mjs → event-projector-assistant-message-CAI4foF8.mjs} +1 -1
  20. package/dist/.setup/{isolated-completion-D68PsLcF.mjs → isolated-completion-DPr7Nsl7.mjs} +4 -4
  21. package/dist/.setup/{model-catalog-BeTX0Aeo.mjs → model-catalog-gcv3irT9.mjs} +26 -19
  22. package/dist/.setup/{models-32Lqf2JB.mjs → models-Bs4aEhpG.mjs} +3 -3
  23. package/dist/.setup/{native-subagent-monitor-BRr7YExU.mjs → native-subagent-monitor-DbNIloTJ.mjs} +2 -2
  24. package/dist/.setup/{plan-CMXvb-Wm.mjs → plan-NTSBQtKx.mjs} +2 -2
  25. package/dist/.setup/{plugin-metadata-cache-DiVUT-uC.mjs → plugin-metadata-cache-Z06WuND0.mjs} +4 -4
  26. package/dist/.setup/{provider-D0GD39BJ.mjs → provider-BnX84knz.mjs} +4 -4
  27. package/dist/.setup/{provider-capabilities-CIWN6WAi.mjs → provider-capabilities-CYK-rMwC.mjs} +2 -2
  28. package/dist/.setup/{request-D-Vhprx3.mjs → request-DQh7X3fU.mjs} +1 -1
  29. package/dist/.setup/{run-attempt-CKZd8eYZ.mjs → run-attempt-Bp6qFrIQ.mjs} +34 -19
  30. package/dist/.setup/{session-catalog-C7GPE6q8.mjs → session-catalog-DFZmNlhW.mjs} +9 -9
  31. package/dist/.setup/{session-catalog-events-BNKvbFTA.mjs → session-catalog-events-DVLgp99B.mjs} +2 -2
  32. package/dist/.setup/{session-catalog-index-BY4p8Fcc.mjs → session-catalog-index-v3Yjgaih.mjs} +3 -3
  33. package/dist/.setup/{session-catalog-native-projection-DZyauw3D.mjs → session-catalog-native-projection-LshItrMe.mjs} +1 -1
  34. package/dist/.setup/{session-catalog-projection-D5zfSje1.mjs → session-catalog-projection-CCBFozaQ.mjs} +1 -1
  35. package/dist/.setup/{session-cli-DjWr7ujR.mjs → session-cli-KhdG-_Aj.mjs} +1 -1
  36. package/dist/.setup/{session-retirement-CPUSNh9U.mjs → session-retirement-ERjp2r4a.mjs} +5 -5
  37. package/dist/.setup/{settled-turn-finalizer-DVOvJUSw.mjs → settled-turn-finalizer-DbS1Mwoq.mjs} +5 -5
  38. package/dist/.setup/{shared-client-lifecycle-BXJRGNcp.mjs → shared-client-lifecycle-4LdC3gM4.mjs} +1 -1
  39. package/dist/.setup/{shared-client-D6n5dvpA.mjs → shared-client-zsK3DTPh.mjs} +11 -11
  40. package/dist/.setup/{side-question-BQTOqCgV.mjs → side-question-DW4W4HY7.mjs} +9 -9
  41. package/dist/.setup/{source-pT6uUrZg.mjs → source-DzsIjGO7.mjs} +1 -1
  42. package/dist/.setup/{thread-lifecycle-BPIjjjRJ.mjs → thread-lifecycle-D03WesNn.mjs} +60 -38
  43. package/dist/.setup/{thread-ownership-vY9gRYkw.mjs → thread-ownership-B0xUCXOU.mjs} +3 -3
  44. package/dist/.setup/{thread-policy-Bf769xTq.mjs → thread-policy-g1TKKqWj.mjs} +3 -3
  45. package/dist/.setup/{thread-requests-CIyAcDJ3.mjs → thread-requests-15uBuGjw.mjs} +4 -4
  46. package/dist/.setup/{thread-resume-DZbRTxqM.mjs → thread-resume-BZfwM8Jh.mjs} +5 -5
  47. package/dist/.setup/{upstream-session-fork-Ci2-RvEy.mjs → upstream-session-fork--vHya1T-.mjs} +8 -8
  48. package/dist/.setup/{usage-BP3aZPPp.mjs → usage-CdWiiqqY.mjs} +1 -1
  49. package/dist/.setup/{usage-limit-error-CwGm2hnj.mjs → usage-limit-error-BEyQJjD_.mjs} +1 -1
  50. package/dist/.setup/{web-search-provider.runtime-mvv6G9ul.mjs → web-search-provider.runtime--55TuUQG.mjs} +2 -2
  51. package/dist/catalog-page.worker.js +1 -1
  52. package/dist/cli-metadata.js +1 -1
  53. package/dist/harness.js +14 -14
  54. package/dist/index.js +18 -18
  55. package/dist/media-understanding-provider.js +2 -2
  56. package/dist/migration-provider-api.js +1 -1
  57. package/package.json +4 -4
@@ -3,14 +3,14 @@ import { c as resolveRecoverableCodexPluginConfigKeys } from "./plugin-inventory
3
3
  import { g as createCodexNativeSubagentHistoryOwner } from "./native-subagent-pending-assignments-DwkCzLvD.mjs";
4
4
  import { i as isJsonObject, r as flattenCodexDynamicToolFunctions } from "./protocol-CANUwXJ3.mjs";
5
5
  import { i as matchesCodexNativeSubagentSubmissionBinding, n as assertCodexBindingMayBeReplaced, v as sessionBindingIdentity } from "./session-binding-record-Oe9L-CNY.mjs";
6
- import { n as defineCodexBuildState } from "./build-state-CDQUVDAI.mjs";
6
+ import { n as defineCodexBuildState } from "./build-state-E-CRUdgh.mjs";
7
7
  import { c as shouldAutoApproveCodexAppServerApprovals, l as withMcpElicitationsApprovalPolicy, m as readCodexRequirementsToml, n as hasCodexMcpToolApprovalOverrides } from "./config-security-CE-FcGw9.mjs";
8
8
  import { c as isCodexPairedNodeRemoteExecPlacementSandbox, d as readCodexPluginConfig, f as resolveCodexPluginsPolicy, l as isCodexRemoteExecPlacementSandbox, u as isCodexSandboxExecServerEnabled } from "./config-parsing-b088LyhT.mjs";
9
9
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
10
10
  import { t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
11
11
  import { i as resolveCodexAppServerHomeScope, l as resolveCodexModelBackedReviewerPolicyContext, o as resolveCodexComputerUseConfig } from "./config-options-CzyWLTJt.mjs";
12
- import { c as resolveCodexAppServerPreparedApiKeyCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./auth-cache-key-gOhcdE_N.mjs";
13
- import { d as retireSharedCodexAppServerClientIfCurrent } from "./shared-client-lifecycle-BXJRGNcp.mjs";
12
+ import { c as resolveCodexAppServerPreparedApiKeyCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey } from "./auth-cache-key-CWpIEtTm.mjs";
13
+ import { d as retireSharedCodexAppServerClientIfCurrent } from "./shared-client-lifecycle-4LdC3gM4.mjs";
14
14
  import { o as formatCodexDisplayText } from "./command-formatters-R3ckE3Co.mjs";
15
15
  import { t as isIncognitoSessionKey } from "./incognito-session-DWYapfwf.mjs";
16
16
  import { n as CodexAppServerRpcError } from "./rpc-error-BlD2vuzn.mjs";
@@ -20,40 +20,40 @@ import { a as readCodexProviderRefusal, d as splitPlanText, i as readCodexErrorN
20
20
  import { r as readMirrorIdentity, t as attachCodexMirrorIdentity } from "./upstream-prompt-provenance-fXkKbPVC.mjs";
21
21
  import { a as defaultCodexAppInventoryCache, n as buildCodexAppServerRuntimeFingerprint, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-BL9B5H0L.mjs";
22
22
  import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection, t as assertCodexSessionRuntimeOwnership } from "./binding-connection-DTtN1KrX.mjs";
23
- import { r as requestCodexAppServerClientJson, t as CodexAppServerScopedRequestRejectedError } from "./request-D-Vhprx3.mjs";
23
+ import { r as requestCodexAppServerClientJson, t as CodexAppServerScopedRequestRejectedError } from "./request-DQh7X3fU.mjs";
24
24
  import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-DKhXquav.mjs";
25
25
  import { a as isCodexDurableCustomMessage, c as resolveCodexContextEngineProjectionMaxChars, i as fitCodexProjectedContextForTurnStart, l as resolveCodexContinuityProjectionMaxChars, n as CodexContextAttachmentError, o as neutralizeCodexExplicitMentionSigils, r as buildCodexContinuityCalibration, s as projectContextEngineAssemblyForCodex, t as CODEX_TURN_START_TEXT_INPUT_MAX_CHARS } from "./context-engine-projection-PezSESth.mjs";
26
26
  import { o as hasCodexMirrorOrigin, t as applyCodexTranscriptTaint } from "./transcript-mirror-attestation-YSegaktH.mjs";
27
27
  import { t as readCodexMirroredSessionHistoryMessages } from "./session-history-D83lJWHG.mjs";
28
28
  import { i as resolveCodexAppServerAuthProfileIdForAgent, r as resolveCodexAppServerAuthProfileId } from "./auth-profile-B0okYl2D.mjs";
29
- import { E as isCodexContextRestartSelectionChangedError, H as prepareCodexWorkspaceReferences, I as ensureCodexAppServerClientRuntime, M as getCodexInferenceThreadQualification, U as protectCodexAppServerLiveThread, X as readRecentCodexRateLimits, Y as readCodexRateLimitsRevision, _ as retainSharedCodexAppServerClientIfCurrent, a as clearSharedCodexAppServerClientIfCurrentAndUnclaimed, c as getLeasedSharedCodexAppServerClient, dt as TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS, et as resolveCodexAppServerAuthAccountCacheKey, f as readCodexAppServerClientDesktopGenerationFingerprint, h as releaseLeasedSharedCodexAppServerClient, ht as withCodexStartupTimeout, i as clearSharedCodexAppServerClientIfCurrent, j as getCodexInferenceThread, l as getSharedCodexAppServerClient, lt as CodexAppServerStartupError, mt as resolveCodexStartupTimeoutMs, s as createIsolatedCodexAppServerClient, tt as resolveCodexAppServerPreparedAuthHandoff, u as isCodexAppServerStartSelectionChangedError, ut as TURN_FINALIZE_DRAIN_ABORT_GRACE_MS, w as CodexThreadClientReplacementError, x as CODEX_APP_SERVER_CONTEXT_RESTART_SELECTION_CHANGED } from "./shared-client-D6n5dvpA.mjs";
29
+ import { E as isCodexContextRestartSelectionChangedError, I as ensureCodexAppServerClientRuntime, M as getCodexInferenceThreadQualification, U as prepareCodexWorkspaceReferences, W as protectCodexAppServerLiveThread, X as readCodexRateLimitsRevision, Z as readRecentCodexRateLimits, _ as retainSharedCodexAppServerClientIfCurrent, a as clearSharedCodexAppServerClientIfCurrentAndUnclaimed, c as getLeasedSharedCodexAppServerClient, dt as TURN_FINALIZE_DRAIN_ABORT_GRACE_MS, f as readCodexAppServerClientDesktopGenerationFingerprint, ft as TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS, gt as withCodexStartupTimeout, h as releaseLeasedSharedCodexAppServerClient, ht as resolveCodexStartupTimeoutMs, i as clearSharedCodexAppServerClientIfCurrent, j as getCodexInferenceThread, l as getSharedCodexAppServerClient, nt as resolveCodexAppServerPreparedAuthHandoff, s as createIsolatedCodexAppServerClient, tt as resolveCodexAppServerAuthAccountCacheKey, u as isCodexAppServerStartSelectionChangedError, ut as CodexAppServerStartupError, w as CodexThreadClientReplacementError, x as CODEX_APP_SERVER_CONTEXT_RESTART_SELECTION_CHANGED } from "./shared-client-zsK3DTPh.mjs";
30
30
  import { a as isCodexResponsesOAuthRun, r as isCodexResponsesOAuth } from "./responses-oauth-twnuTaAa.mjs";
31
- import { A as handleDynamicToolCallWithTimeout, E as readCodexTurnCompletedNotification, F as resolveTerminalDynamicToolBatchAction, I as shouldBlockTerminalReleaseForNonTerminalDynamicToolResult, L as shouldReleaseTurnAfterTerminalDynamicTool, M as isDynamicToolTerminalDiagnosticEvent, N as isMatchingDynamicToolTerminalDiagnostic, P as resolveDynamicToolCallTimeoutMs, R as toCodexDynamicToolProgressResponse, S as assertCodexTurnStartResponse, U as CODEX_APP_SERVER_OPT_OUT_NOTIFICATION_METHODS, c as isCodexAppServerIndeterminateTransportError, i as isCodexAppServerApprovalRequest, j as hasPendingDynamicToolTerminalDiagnostic, k as createCodexElicitationResponse, m as CodexServerRequestResolvedError, o as isCodexAppServerConnectionClosedError, p as resolveCodexAppServerClientInstanceId, r as getCodexAppServerClientInstanceId, s as isCodexAppServerIndeterminateRequestCancellationError, w as readCodexDynamicToolCallParams, z as toCodexDynamicToolProtocolResponse } from "./client-B4EOuI-w.mjs";
31
+ import { A as handleDynamicToolCallWithTimeout, E as readCodexTurnCompletedNotification, F as resolveTerminalDynamicToolBatchAction, I as shouldBlockTerminalReleaseForNonTerminalDynamicToolResult, L as shouldReleaseTurnAfterTerminalDynamicTool, M as isDynamicToolTerminalDiagnosticEvent, N as isMatchingDynamicToolTerminalDiagnostic, P as resolveDynamicToolCallTimeoutMs, R as toCodexDynamicToolProgressResponse, S as assertCodexTurnStartResponse, U as CODEX_APP_SERVER_OPT_OUT_NOTIFICATION_METHODS, c as isCodexAppServerIndeterminateTransportError, i as isCodexAppServerApprovalRequest, j as hasPendingDynamicToolTerminalDiagnostic, k as createCodexElicitationResponse, m as CodexServerRequestResolvedError, o as isCodexAppServerConnectionClosedError, p as resolveCodexAppServerClientInstanceId, r as getCodexAppServerClientInstanceId, s as isCodexAppServerIndeterminateRequestCancellationError, w as readCodexDynamicToolCallParams, z as toCodexDynamicToolProtocolResponse } from "./client-6GbdZFc0.mjs";
32
32
  import { n as isCodexWebSocketOpenFailure } from "./transport-websocket-BTBE-LD9.mjs";
33
- import { M as matchesCodexSnapshotTurn, N as shouldClearTerminalPresentationForNativeItem, _ as CodexProjectionDiagnostics, d as shouldRetireCodexStartupClient, f as terminateCodexBackgroundTerminals, h as getCodexAppServerTurnRouter, k as itemName, m as CODEX_APP_SERVER_NATIVE_TURN_WAIT_TIMEOUT_MS, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, p as unsubscribeCodexThreadBestEffort, r as CodexAppServerUnsafeSubscriptionError, s as interruptCodexTurnAndWaitBestEffort, u as retireUnsafeCodexTurnClientBestEffort, v as isCodexNotificationForTurn, y as readCodexNotificationThreadId } from "./attempt-client-cleanup-_RUXhE5e.mjs";
33
+ import { M as matchesCodexSnapshotTurn, N as shouldClearTerminalPresentationForNativeItem, _ as CodexProjectionDiagnostics, d as shouldRetireCodexStartupClient, f as terminateCodexBackgroundTerminals, h as getCodexAppServerTurnRouter, k as itemName, m as CODEX_APP_SERVER_NATIVE_TURN_WAIT_TIMEOUT_MS, n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, p as unsubscribeCodexThreadBestEffort, r as CodexAppServerUnsafeSubscriptionError, s as interruptCodexTurnAndWaitBestEffort, u as retireUnsafeCodexTurnClientBestEffort, v as isCodexNotificationForTurn, y as readCodexNotificationThreadId } from "./attempt-client-cleanup-D1aznv7C.mjs";
34
34
  import { r as prepareCodexAppServerAuthBinding } from "./auth-binding-BLWz7stm.mjs";
35
35
  import { a as isRawFunctionToolOutputCompletionNotification, c as readNotificationItemId, i as isPendingOpenClawDynamicToolCompletionNotification, l as readRawResponseToolCallId, o as isTerminalTurnStatus, r as isCodexTurnAbortMarkerNotification, s as readCodexNotificationItem, t as CodexUsageProjection, u as updateActiveTurnItemIds } from "./event-projector-usage-03R0I2dM.mjs";
36
- import { n as listAllCodexAppServerModels } from "./models-32Lqf2JB.mjs";
37
- import { A as createCodexNativeHookRelay, B as loadCodexNativeToolCatalog, D as buildCodexNativeHookRelayConfig, E as assertCodexNativeHookRelayAllowed, K as codexDynamicToolsFingerprint, M as resolveCodexNativeHookRelayEvents, N as resolveCodexNativeHookRelayTtlMs, O as buildCodexNativeHookRelayDisabledConfig, P as scheduleCodexNativeHookRelayUnregister, St as mergeCodexThreadConfigs, T as CodexManagedHooksOnlyError, W as areCodexDynamicToolFingerprintsCompatible, X as fingerprintJsonObject, _t as buildCodexPluginThreadConfigTimeoutFallback, gt as buildCodexPluginThreadConfigInputFingerprint, h as buildDeveloperInstructions, ht as buildCodexPluginThreadConfig, ot as filterCodexDynamicTools, p as resolveCodexWebSearchPlan, pt as resolveCodexDynamicToolsLoadingForRuntime, q as codexLegacyDynamicToolsFingerprint, tt as stabilizeJsonValue, ut as isSystemAgentOnlyCodexDynamicToolAllowlist, w as CODEX_NATIVE_HOOK_RELAY_TTL_GRACE_MS, wt as shouldBuildCodexPluginThreadConfig, x as joinPresentSections, y as resolveCodexAppServerThreadModelSelection, z as hasCodexNativeToolCatalog } from "./thread-requests-CIyAcDJ3.mjs";
38
- import { _ as readCodexMcpToolUiVisibility, a as buildTurnStartParams, b as isContextEngineBindingCompatible, c as assertScheduledCodexAppAuthorityRuntime, d as buildScheduledCodexAppServerConnectionIdentity, f as captureScheduledCodexAppAuthority, g as readCodexMcpToolConnectorId, h as resolveScheduledCodexAppCreatorCaptureDecision, i as buildTurnCollaborationMode, l as buildLegacyScheduledCodexAppRecoveryPrompt, m as readCurrentCodexScheduledAppPolicy, n as buildCodexParentLocalInstructions, o as buildCodexUserInput, p as intersectCodexPluginThreadConfigWithScheduledAuthority, s as startOrResumeThread, t as buildCodexHistoryProvenancePrefix, u as buildScheduledCodexAppAuthorityInputFingerprint, v as isCodexAppServerProfilerEnabled, y as buildContextEngineBinding } from "./thread-lifecycle-BPIjjjRJ.mjs";
36
+ import { n as listAllCodexAppServerModels } from "./models-Bs4aEhpG.mjs";
37
+ import { A as createCodexNativeHookRelay, B as loadCodexNativeToolCatalog, D as buildCodexNativeHookRelayConfig, E as assertCodexNativeHookRelayAllowed, K as codexDynamicToolsFingerprint, M as resolveCodexNativeHookRelayEvents, N as resolveCodexNativeHookRelayTtlMs, O as buildCodexNativeHookRelayDisabledConfig, P as scheduleCodexNativeHookRelayUnregister, St as mergeCodexThreadConfigs, T as CodexManagedHooksOnlyError, W as areCodexDynamicToolFingerprintsCompatible, X as fingerprintJsonObject, _t as buildCodexPluginThreadConfigTimeoutFallback, gt as buildCodexPluginThreadConfigInputFingerprint, h as buildDeveloperInstructions, ht as buildCodexPluginThreadConfig, ot as filterCodexDynamicTools, p as resolveCodexWebSearchPlan, pt as resolveCodexDynamicToolsLoadingForRuntime, q as codexLegacyDynamicToolsFingerprint, tt as stabilizeJsonValue, ut as isSystemAgentOnlyCodexDynamicToolAllowlist, w as CODEX_NATIVE_HOOK_RELAY_TTL_GRACE_MS, wt as shouldBuildCodexPluginThreadConfig, x as joinPresentSections, y as resolveCodexAppServerThreadModelSelection, z as hasCodexNativeToolCatalog } from "./thread-requests-15uBuGjw.mjs";
38
+ import { _ as readCodexMcpToolUiVisibility, a as buildTurnStartParams, b as isContextEngineBindingCompatible, c as assertScheduledCodexAppAuthorityRuntime, d as buildScheduledCodexAppServerConnectionIdentity, f as captureScheduledCodexAppAuthority, g as readCodexMcpToolConnectorId, h as resolveScheduledCodexAppCreatorCaptureDecision, i as buildTurnCollaborationMode, l as buildLegacyScheduledCodexAppRecoveryPrompt, m as readCurrentCodexScheduledAppPolicy, n as buildCodexParentLocalInstructions, o as buildCodexUserInput, p as intersectCodexPluginThreadConfigWithScheduledAuthority, s as startOrResumeThread, t as buildCodexHistoryProvenancePrefix, u as buildScheduledCodexAppAuthorityInputFingerprint, v as isCodexAppServerProfilerEnabled, y as buildContextEngineBinding } from "./thread-lifecycle-D03WesNn.mjs";
39
39
  import { a as resolveCodexRunSessionBindingAuthority, n as createCodexSessionGenerationSupersededError, o as resolveCodexSessionBinding } from "./session-binding-DGCYAfvD.mjs";
40
- import { a as CodexToolTranscriptProjection, b as sanitizeCodexAgentEventRecord, c as shouldEmitTranscriptToolProgress, i as emitCodexAgentEvent, p as requestPluginApprovalOutcome, r as CodexEventProjection, s as CodexToolProgressProjection, t as codexNativeSubagentMonitorRuntime, v as isCodexCommandBearingToolCall, x as sanitizeCodexToolArguments, y as resolveCodexToolProgressDetailMode } from "./native-subagent-monitor-BRr7YExU.mjs";
41
- import { n as CodexThreadPolicyHandoffError, s as restoreCodexThreadSkillsCatalogAfterCompaction } from "./thread-policy-Bf769xTq.mjs";
42
- import { c as withExclusiveCodexAppServerThread, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-vY9gRYkw.mjs";
40
+ import { a as CodexToolTranscriptProjection, b as sanitizeCodexAgentEventRecord, c as shouldEmitTranscriptToolProgress, i as emitCodexAgentEvent, p as requestPluginApprovalOutcome, r as CodexEventProjection, s as CodexToolProgressProjection, t as codexNativeSubagentMonitorRuntime, v as isCodexCommandBearingToolCall, x as sanitizeCodexToolArguments, y as resolveCodexToolProgressDetailMode } from "./native-subagent-monitor-DbNIloTJ.mjs";
41
+ import { n as CodexThreadPolicyHandoffError, s as restoreCodexThreadSkillsCatalogAfterCompaction } from "./thread-policy-g1TKKqWj.mjs";
42
+ import { c as withExclusiveCodexAppServerThread, r as retainCodexAppServerBindingSubscription, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-B0xUCXOU.mjs";
43
43
  import { c as promptSnapshot, i as mirrorPromptAtTurnStartBestEffort, n as createCodexAppServerUserMessagePersistenceNotifier, o as buildCodexUserPromptMessage, s as buildResolvedCodexUserPromptMessage, t as codexTranscriptMirrorRuntime } from "./transcript-mirror-kxmCYsuF.mjs";
44
- import { a as resolveCodexPromptError, i as refreshCodexUsageLimitPromptError, n as formatCodexTurnStartUsageLimitError, r as markCodexAuthProfileBlockedFromRateLimits, t as CodexUsageLimitPromptError } from "./usage-limit-error-CwGm2hnj.mjs";
44
+ import { a as resolveCodexPromptError, i as refreshCodexUsageLimitPromptError, n as formatCodexTurnStartUsageLimitError, r as markCodexAuthProfileBlockedFromRateLimits, t as CodexUsageLimitPromptError } from "./usage-limit-error-BEyQJjD_.mjs";
45
45
  import { t as persistCodexContextCompactionActivity } from "./context-compaction-activity-CMla5FPJ.mjs";
46
46
  import { t as attemptTerminal } from "./attempt-terminal-gZrxQ35N.mjs";
47
47
  import { a as shouldKeepCodexSharedAbortOpen, i as runCodexAgentEndHook, n as ensureCodexWorkspaceDirOnce, o as withCodexAppServerFastModeServiceTier, r as estimateCodexAppServerProjectedTurnTokens, t as emitCodexAppServerEvent } from "./run-attempt-lifecycle-C-6O3Exn.mjs";
48
48
  import { t as CODEX_INFERENCE_GENERATION_KEY } from "./inference-metadata-CgIf7sOx.mjs";
49
49
  import "./inference-context-D-9gWlTR.mjs";
50
- import { i as createAssistantReasoningMessage, n as createAssistantCommentaryMessage, r as createAssistantMessage, t as createAssistantAsyncMessage } from "./event-projector-assistant-message-Bhu17sxy.mjs";
51
- import { C as readCodexRetainedBackgroundCommands, E as CodexNativeToolLifecycleProjector, S as hasCodexNativeBackgroundProcesses, T as mapCodexAppServerRemoteWorkspacePath, _ as shouldWarnCodexDynamicToolBuildStageSummary, a as emitDynamicToolStartedDiagnostic, b as createCodexNativePreToolUseFailureBuffer, c as buildDynamicTools, d as resolveCodexAppServerHookChannelId, f as resolveCodexExternalSandboxPolicyForOpenClawSandbox, g as shouldRequireCodexSandboxExecServerEnvironment, h as shouldEnableCodexAppServerNativeToolSurface, i as emitDynamicToolErrorDiagnostic, l as disableCodexPluginThreadConfig, m as resolveCodexSandboxEnvironmentSelection, n as projectCodexExecutableDynamicTools, o as emitDynamicToolTerminalDiagnostic, p as resolveCodexMessageToolProvider, r as routeCodexAppServerElicitationRequest, s as handleCodexAppServerApprovalRequest, t as createCodexDynamicToolBridge, u as resolveCodexAppServerExecutionCwd, v as ensureCodexSandboxExecServerEnvironment, w as readBoundedCodexRemoteWorkspaceFile, x as CodexNativeProcessAuthority, y as releaseCodexSandboxExecServerEnvironment } from "./dynamic-tools-86M3tRl4.mjs";
50
+ import { i as createAssistantReasoningMessage, n as createAssistantCommentaryMessage, r as createAssistantMessage, t as createAssistantAsyncMessage } from "./event-projector-assistant-message-CAI4foF8.mjs";
51
+ import { C as readCodexRetainedBackgroundCommands, E as CodexNativeToolLifecycleProjector, S as hasCodexNativeBackgroundProcesses, T as mapCodexAppServerRemoteWorkspacePath, _ as shouldWarnCodexDynamicToolBuildStageSummary, a as emitDynamicToolStartedDiagnostic, b as createCodexNativePreToolUseFailureBuffer, c as buildDynamicTools, d as resolveCodexAppServerHookChannelId, f as resolveCodexExternalSandboxPolicyForOpenClawSandbox, g as shouldRequireCodexSandboxExecServerEnvironment, h as shouldEnableCodexAppServerNativeToolSurface, i as emitDynamicToolErrorDiagnostic, l as disableCodexPluginThreadConfig, m as resolveCodexSandboxEnvironmentSelection, n as projectCodexExecutableDynamicTools, o as emitDynamicToolTerminalDiagnostic, p as resolveCodexMessageToolProvider, r as routeCodexAppServerElicitationRequest, s as handleCodexAppServerApprovalRequest, t as createCodexDynamicToolBridge, u as resolveCodexAppServerExecutionCwd, v as ensureCodexSandboxExecServerEnvironment, w as readBoundedCodexRemoteWorkspaceFile, x as CodexNativeProcessAuthority, y as releaseCodexSandboxExecServerEnvironment } from "./dynamic-tools-CGMXNyuw.mjs";
52
52
  import { a as resolveCodexAppServerForModelProvider, i as resolveCodexSessionPermissionCwd, n as applyCodexSessionPermissionPolicy, r as resolveCodexEffectiveSessionPermissionPolicy } from "./session-permission-policy-Ci_fVX6y.mjs";
53
- import { a as getCodexContextFileDisplayBasename, c as normalizeCodexDynamicToolName, i as getCodexContextFileBasename, n as CODEX_NATIVE_PROJECT_DOC_BASENAMES, o as isNonEmptyString, r as buildCodexWorkspaceBootstrapContext, s as normalizeCodexContextFilePath } from "./attempt-workspace-context-CSD2rKPq.mjs";
53
+ import { a as getCodexContextFileDisplayBasename, c as normalizeCodexDynamicToolName, i as getCodexContextFileBasename, n as CODEX_NATIVE_PROJECT_DOC_BASENAMES, o as isNonEmptyString, r as buildCodexWorkspaceBootstrapContext, s as normalizeCodexContextFilePath } from "./attempt-workspace-context-DKAbD-vI.mjs";
54
54
  import { n as captureCodexSettledTurnFinalizationContext } from "./settled-turn-context-D4yj4rxf.mjs";
55
- import { t as resolveCodexProviderWebSearchSupport } from "./provider-capabilities-CIWN6WAi.mjs";
56
- import { a as createComputerUseRequest, n as ensureCodexComputerUse, o as runCodexComputerUseLiveTest, t as defaultCodexPluginMetadataCache } from "./plugin-metadata-cache-DiVUT-uC.mjs";
55
+ import { t as resolveCodexProviderWebSearchSupport } from "./provider-capabilities-CYK-rMwC.mjs";
56
+ import { a as createComputerUseRequest, n as ensureCodexComputerUse, o as runCodexComputerUseLiveTest, t as defaultCodexPluginMetadataCache } from "./plugin-metadata-cache-Z06WuND0.mjs";
57
57
  import { asOptionalRecord, normalizeOptionalString, readNonBlankString, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
58
58
  import { createHash } from "node:crypto";
59
59
  import { isDeepStrictEqual } from "node:util";
@@ -444,6 +444,19 @@ var CodexAssistantProjection = class {
444
444
  delta: item.text
445
445
  });
446
446
  }
447
+ /**
448
+ * Codex deltas are best-effort and completed item text is authoritative (the
449
+ * codex-rs TUI consolidates from it); stream any tail a dropped final delta
450
+ * left out so live and terminal chat text end on the completed text.
451
+ */
452
+ async streamCompletedTextTail(item) {
453
+ if (item?.type !== "agentMessage" || typeof item.text !== "string") return;
454
+ const streamed = this.assistantTextByItem.get(item.id);
455
+ if (streamed && item.text.startsWith(streamed)) await this.handleAssistantDelta({
456
+ itemId: item.id,
457
+ delta: item.text.slice(streamed.length)
458
+ });
459
+ }
447
460
  recordItemCompleted(item, itemId, activeItemIds) {
448
461
  if (itemId && item?.type === "agentMessage") this.completedAssistantItemIds.add(itemId);
449
462
  this.noteNativeWorkBarrier(item);
@@ -1817,6 +1830,7 @@ var CodexAppServerEventProjector = class extends CodexTurnProjection {
1817
1830
  this.completedCompactionCount += 1;
1818
1831
  }
1819
1832
  if (!this.asyncDeliveryProjection.allows(item, true)) return;
1833
+ await this.assistantProjection.streamCompletedTextTail(item);
1820
1834
  const asyncMessage = this.assistantProjection.recordItemCompleted(item, itemId, this.activeItemIds);
1821
1835
  if (asyncMessage) await this.asyncDeliveryProjection.deliver(asyncMessage);
1822
1836
  if (this.projectionClosed) return;
@@ -1905,6 +1919,7 @@ var CodexAppServerEventProjector = class extends CodexTurnProjection {
1905
1919
  for (const item of turnItems) {
1906
1920
  if (!this.asyncDeliveryProjection.allows(item)) continue;
1907
1921
  this.diagnostics.warnUnknownItemStatus(item);
1922
+ await this.assistantProjection.streamCompletedTextTail(item);
1908
1923
  const asyncMessage = this.assistantProjection.recordSnapshotItem(item);
1909
1924
  if (asyncMessage) await this.asyncDeliveryProjection.deliver(asyncMessage);
1910
1925
  if (this.projectionClosed) return;
@@ -3,7 +3,7 @@ import { n as assertCodexThreadForkParams } from "./protocol-CANUwXJ3.mjs";
3
3
  import { v as sessionBindingIdentity } from "./session-binding-record-Oe9L-CNY.mjs";
4
4
  import { d as readCodexPluginConfig } from "./config-parsing-b088LyhT.mjs";
5
5
  import { n as resolveCodexAppServerLocalHomeDir, r as resolveCodexAppServerUserHomeDir, t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
6
- import { i as hasActiveSharedCodexAppServerWork, r as getSharedCodexAppServerClientState } from "./shared-client-lifecycle-BXJRGNcp.mjs";
6
+ import { i as hasActiveSharedCodexAppServerWork, r as getSharedCodexAppServerClientState } from "./shared-client-lifecycle-4LdC3gM4.mjs";
7
7
  import { n as CodexAppServerRpcError, r as isCodexThreadReadMissingError } from "./rpc-error-BlD2vuzn.mjs";
8
8
  import { t as CODEX_CONTROL_METHODS } from "./capabilities-B3WEZl4e.mjs";
9
9
  import { n as codexCatalogHomeIdFromCanonicalPath } from "./session-catalog-home-id-vlih0B_g.mjs";
@@ -14,7 +14,7 @@ import { r as projectCodexUserItemText } from "./transcript-history-projection-D
14
14
  import { r as codexUpstreamContinueResult } from "./session-upstream-marker-D15C9NHp.mjs";
15
15
  import { t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-BL9B5H0L.mjs";
16
16
  import { n as readCodexSessionMeta } from "./session-catalog-provenance-DoAvktcj.mjs";
17
- import { t as codexCatalogResidentHomeKey } from "./session-catalog-events-BNKvbFTA.mjs";
17
+ import { t as codexCatalogResidentHomeKey } from "./session-catalog-events-DVLgp99B.mjs";
18
18
  import { a as setCodexCatalogConnectionHomeResolver } from "./binding-connection-DTtN1KrX.mjs";
19
19
  import { n as findCodexAppServerSpawnError } from "./spawn-error-CL3n6MAa.mjs";
20
20
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -1561,7 +1561,7 @@ async function requireEligibleCodexThread(params) {
1561
1561
  remaining();
1562
1562
  if (thread.id !== threadId || thread.ephemeral === true || !isInteractiveThreadSource(thread.source)) throw unverified();
1563
1563
  if (!root) {
1564
- const { CODEX_CATALOG_NATIVE_PAGE_LIMIT } = await import("./session-catalog-native-projection-DZyauw3D.mjs").then((n) => n.a);
1564
+ const { CODEX_CATALOG_NATIVE_PAGE_LIMIT } = await import("./session-catalog-native-projection-LshItrMe.mjs").then((n) => n.a);
1565
1565
  const { CODEX_CATALOG_MAX_ROWS } = await import("./session-catalog-limits-DDxOsQeC.mjs").then((n) => n.r);
1566
1566
  let cursor;
1567
1567
  const seenCursors = /* @__PURE__ */ new Set();
@@ -2014,7 +2014,7 @@ function createCodexSessionCatalogControl(params) {
2014
2014
  if (closed || generation !== config || residentEpoch !== epoch) throw new Error("Codex catalog configuration changed");
2015
2015
  let index = indexes.get(homeId);
2016
2016
  if (!index) {
2017
- const [{ CodexCatalogIndex }, { canReuseCodexCatalogPreview, projectCodexCatalogDeltaPage, projectCodexCatalogPage }] = await Promise.all([import("./session-catalog-index-BY4p8Fcc.mjs"), import("./session-catalog-projection-D5zfSje1.mjs")]);
2017
+ const [{ CodexCatalogIndex }, { canReuseCodexCatalogPreview, projectCodexCatalogDeltaPage, projectCodexCatalogPage }] = await Promise.all([import("./session-catalog-index-v3Yjgaih.mjs"), import("./session-catalog-projection-CCBFozaQ.mjs")]);
2018
2018
  source?.assertCurrent();
2019
2019
  if (closed || generation !== config || residentEpoch !== epoch) throw new Error("Codex catalog configuration changed");
2020
2020
  index = indexes.get(homeId);
@@ -2142,7 +2142,7 @@ function createCodexSessionCatalogControl(params) {
2142
2142
  const runtime = source?.appServer ?? resolveRuntimeOptions({ pluginConfig });
2143
2143
  const requestOptions = resolveRequestOptions(runtime.start, agentId, source);
2144
2144
  return createCodexCatalogRequestSnapshot(runtime.requestTimeoutMs, async (method, requestParams, timeoutMs, assertCurrent, observation) => {
2145
- const { codexControlRequest } = await import("./command-rpc-CKsxWgF6.mjs").then((n) => n.n);
2145
+ const { codexControlRequest } = await import("./command-rpc-Bc_OIgK0.mjs").then((n) => n.n);
2146
2146
  return await codexControlRequest(pluginConfig, method, requestParams, {
2147
2147
  ...requestOptions,
2148
2148
  authProfileId: null,
@@ -2164,9 +2164,9 @@ function createCodexSessionCatalogControl(params) {
2164
2164
  const runtime = source?.appServer ?? resolveRuntimeOptions({ pluginConfig });
2165
2165
  const { agentDir, config: runtimeConfig, startOptions } = resolveRequestOptions(runtime.start, agentId, source);
2166
2166
  let catalogIndex;
2167
- const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient, retireSharedCodexAppServerClientIfCurrent } = await import("./shared-client-D6n5dvpA.mjs").then((n) => n.v);
2168
- const { resolveCodexAppServerClientInstanceId } = await import("./client-B4EOuI-w.mjs").then((n) => n.n);
2169
- const { requestCodexAppServerClientJson } = await import("./request-D-Vhprx3.mjs").then((n) => n.a);
2167
+ const { getLeasedSharedCodexAppServerClient, releaseLeasedSharedCodexAppServerClient, retireSharedCodexAppServerClientIfCurrent } = await import("./shared-client-zsK3DTPh.mjs").then((n) => n.v);
2168
+ const { resolveCodexAppServerClientInstanceId } = await import("./client-6GbdZFc0.mjs").then((n) => n.n);
2169
+ const { requestCodexAppServerClientJson } = await import("./request-DQh7X3fU.mjs").then((n) => n.a);
2170
2170
  const client = await getLeasedSharedCodexAppServerClient({
2171
2171
  agentDir,
2172
2172
  config: runtimeConfig,
@@ -2235,7 +2235,7 @@ function createCodexSessionCatalogControl(params) {
2235
2235
  await Promise.allSettled(residentRequests);
2236
2236
  const clients = getSharedCodexAppServerClientState();
2237
2237
  if (clients.liveClients.size > 0 || clients.startup.pending.size > 0) {
2238
- const { clearSharedCodexAppServerClientAndWait } = await import("./shared-client-D6n5dvpA.mjs").then((n) => n.v);
2238
+ const { clearSharedCodexAppServerClientAndWait } = await import("./shared-client-zsK3DTPh.mjs").then((n) => n.v);
2239
2239
  await clearSharedCodexAppServerClientAndWait();
2240
2240
  }
2241
2241
  },
@@ -1,10 +1,10 @@
1
1
  import { c as MAX_CWD_LENGTH, d as boundedCatalogString } from "./session-catalog-parsing-CPGaPYr-.mjs";
2
- import { n as defineCodexBuildState } from "./build-state-CDQUVDAI.mjs";
2
+ import { n as defineCodexBuildState } from "./build-state-E-CRUdgh.mjs";
3
3
  import { r as inferCodexAppServerConnectionClass } from "./config-security-CE-FcGw9.mjs";
4
4
  import { n as resolveCodexAppServerLocalHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
5
5
  import { n as codexCatalogHomeIdFromCanonicalPath } from "./session-catalog-home-id-vlih0B_g.mjs";
6
6
  import { t as buildCodexAppServerConnectionFingerprint } from "./plugin-app-cache-key-BL9B5H0L.mjs";
7
- import { d as observeCodexCatalogEphemeralThreads, r as projectCodexCatalogNativeThread, s as codexCatalogSourceForClient } from "./session-catalog-native-projection-DZyauw3D.mjs";
7
+ import { d as observeCodexCatalogEphemeralThreads, r as projectCodexCatalogNativeThread, s as codexCatalogSourceForClient } from "./session-catalog-native-projection-LshItrMe.mjs";
8
8
  import { createHash } from "node:crypto";
9
9
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-registration";
10
10
  import path from "node:path";
@@ -3,10 +3,10 @@ import { t as CODEX_CATALOG_MAX_ROWS } from "./session-catalog-limits-DDxOsQeC.m
3
3
  import { i as retainCodexCatalogRow, n as codexCatalogRowRecency, r as compareCodexCatalogRows, t as CodexCatalogOrdering } from "./session-catalog-index-order-BcQpHks3.mjs";
4
4
  import { n as CodexCatalogPersistence, r as codexCatalogMetadataPage } from "./session-catalog-index-state-TeO7EyO-.mjs";
5
5
  import { i as CodexCatalogAvailability, r as withCodexCatalogListRequest } from "./session-catalog-list-request-CvtxrYSe.mjs";
6
- import { l as getCodexCatalogSource, p as setCodexCatalogSource, r as projectCodexCatalogNativeThread, u as hasLiveCodexCatalogSource } from "./session-catalog-native-projection-DZyauw3D.mjs";
7
- import { i as subscribeCodexCatalogEvents } from "./session-catalog-events-BNKvbFTA.mjs";
6
+ import { l as getCodexCatalogSource, p as setCodexCatalogSource, r as projectCodexCatalogNativeThread, u as hasLiveCodexCatalogSource } from "./session-catalog-native-projection-LshItrMe.mjs";
7
+ import { i as subscribeCodexCatalogEvents } from "./session-catalog-events-DVLgp99B.mjs";
8
8
  import { a as reportCodexCatalogSpawnFailure, n as findCodexAppServerSpawnError } from "./spawn-error-CL3n6MAa.mjs";
9
- import { CodexCatalogProjectionCapacityError, CodexCatalogProjections, a as resolveCodexCatalogRolloutFingerprint, i as readCodexCatalogRollout, mergeCodexCatalogRolloutRow, n as indexCodexCatalogRowsByRollout, o as scanCodexCatalogRollouts, projectCodexCatalogThread, r as isCodexCatalogRolloutPathCovered, t as codexCatalogRolloutLogicalPath } from "./session-catalog-projection-D5zfSje1.mjs";
9
+ import { CodexCatalogProjectionCapacityError, CodexCatalogProjections, a as resolveCodexCatalogRolloutFingerprint, i as readCodexCatalogRollout, mergeCodexCatalogRolloutRow, n as indexCodexCatalogRowsByRollout, o as scanCodexCatalogRollouts, projectCodexCatalogThread, r as isCodexCatalogRolloutPathCovered, t as codexCatalogRolloutLogicalPath } from "./session-catalog-projection-CCBFozaQ.mjs";
10
10
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { createHash } from "node:crypto";
12
12
  import { isDeepStrictEqual } from "node:util";
@@ -1,6 +1,6 @@
1
1
  import { D as selectCodexCatalogPreviewInput, c as MAX_CWD_LENGTH, d as boundedCatalogString, k as truncateCodexCatalogPreview } from "./session-catalog-parsing-CPGaPYr-.mjs";
2
2
  import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
3
- import { n as defineCodexBuildState } from "./build-state-CDQUVDAI.mjs";
3
+ import { n as defineCodexBuildState } from "./build-state-E-CRUdgh.mjs";
4
4
  import { n as detachCodexCatalogString } from "./session-catalog-limits-DDxOsQeC.mjs";
5
5
  import { t as __exportAll } from "./session-binding-sidecars-jo6H8dFr.mjs";
6
6
  //#region extensions/codex/src/session-catalog-source.ts
@@ -2,7 +2,7 @@ import { D as selectCodexCatalogPreviewInput, O as toCatalogSession, S as readCo
2
2
  import { n as detachCodexCatalogString } from "./session-catalog-limits-DDxOsQeC.mjs";
3
3
  import { n as codexCatalogRowRecency } from "./session-catalog-index-order-BcQpHks3.mjs";
4
4
  import { t as isOpenClawManagedCodexThread } from "./session-catalog-provenance-DoAvktcj.mjs";
5
- import { c as copyCodexCatalogSource, l as getCodexCatalogSource, p as setCodexCatalogSource, r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-DZyauw3D.mjs";
5
+ import { c as copyCodexCatalogSource, l as getCodexCatalogSource, p as setCodexCatalogSource, r as projectCodexCatalogNativeThread } from "./session-catalog-native-projection-LshItrMe.mjs";
6
6
  import { asFiniteNumber, isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  import "./session-catalog-parsing-CPGaPYr-.mjs";
2
- import "./session-catalog-C7GPE6q8.mjs";
2
+ import "./session-catalog-DFZmNlhW.mjs";
3
3
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { normalizeAgentId } from "openclaw/plugin-sdk/routing";
5
5
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
@@ -1,10 +1,10 @@
1
- import { l as retainSharedCodexAppServerClientByInstanceId } from "./shared-client-lifecycle-BXJRGNcp.mjs";
1
+ import { l as retainSharedCodexAppServerClientByInstanceId } from "./shared-client-lifecycle-4LdC3gM4.mjs";
2
2
  import { t as withCodexAppServerThreadMutation } from "./thread-ownership-queue-Dp24d7-F.mjs";
3
3
  import { t as isIncognitoSessionKey } from "./incognito-session-DWYapfwf.mjs";
4
- import { G as releaseCodexAppServerLiveThread, R as hasCodexAppServerLiveThread, V as isCodexAppServerLiveThreadClaimed } from "./shared-client-D6n5dvpA.mjs";
5
- import { n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, p as unsubscribeCodexThreadBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-_RUXhE5e.mjs";
6
- import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-BRr7YExU.mjs";
7
- import { t as isSameCodexAppServerThreadOwner } from "./thread-ownership-vY9gRYkw.mjs";
4
+ import { K as releaseCodexAppServerLiveThread, R as hasCodexAppServerLiveThread, V as isCodexAppServerLiveThreadClaimed } from "./shared-client-zsK3DTPh.mjs";
5
+ import { n as CODEX_APP_SERVER_UNSUBSCRIBE_TIMEOUT_MS, o as closeCodexStartupClientBestEffort, p as unsubscribeCodexThreadBestEffort, r as CodexAppServerUnsafeSubscriptionError } from "./attempt-client-cleanup-D1aznv7C.mjs";
6
+ import { t as codexNativeSubagentMonitorRuntime } from "./native-subagent-monitor-DbNIloTJ.mjs";
7
+ import { t as isSameCodexAppServerThreadOwner } from "./thread-ownership-B0xUCXOU.mjs";
8
8
  import { t as getCodexSessionInitializationRollback } from "./session-initialization-6aveB9qb.mjs";
9
9
  //#region extensions/codex/src/app-server/session-retirement.ts
10
10
  async function releaseSessionSubscription(client, binding, sessionKey, assertCurrent) {
@@ -1,12 +1,12 @@
1
1
  import { r as readMirrorIdentity, t as attachCodexMirrorIdentity } from "./upstream-prompt-provenance-fXkKbPVC.mjs";
2
2
  import { a as fingerprintCodexMirrorSourceMessage, c as readCodexMirrorSourceFingerprint } from "./transcript-mirror-attestation-YSegaktH.mjs";
3
- import { tt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-D6n5dvpA.mjs";
4
- import { _ as assertCodexPassiveTurnItems } from "./client-B4EOuI-w.mjs";
5
- import { o as resolveCodexLocalRuntimeAttribution } from "./native-subagent-monitor-BRr7YExU.mjs";
3
+ import { nt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-zsK3DTPh.mjs";
4
+ import { _ as assertCodexPassiveTurnItems } from "./client-6GbdZFc0.mjs";
5
+ import { o as resolveCodexLocalRuntimeAttribution } from "./native-subagent-monitor-DbNIloTJ.mjs";
6
6
  import { t as codexTranscriptMirrorRuntime } from "./transcript-mirror-kxmCYsuF.mjs";
7
- import { runBoundedCodexAppServerTurn } from "./bounded-turn-BKSjzckA.mjs";
7
+ import { runBoundedCodexAppServerTurn } from "./bounded-turn-Ca4urQ25.mjs";
8
8
  import { t as resolveCodexBoundedTurnIsolation } from "./bounded-turn-isolation-B8K_ylqk.mjs";
9
- import { a as createAttributedCodexAssistantMessage } from "./event-projector-assistant-message-Bhu17sxy.mjs";
9
+ import { a as createAttributedCodexAssistantMessage } from "./event-projector-assistant-message-CAI4foF8.mjs";
10
10
  import { t as CodexSettledTurnContext } from "./settled-turn-context-D4yj4rxf.mjs";
11
11
  import { isSilentReplyText } from "openclaw/plugin-sdk/reply-runtime";
12
12
  //#region extensions/codex/src/app-server/settled-turn-finalizer.ts
@@ -1,4 +1,4 @@
1
- import { n as defineCodexBuildState } from "./build-state-CDQUVDAI.mjs";
1
+ import { n as defineCodexBuildState } from "./build-state-E-CRUdgh.mjs";
2
2
  //#region extensions/codex/src/app-server/shared-client-lifecycle.ts
3
3
  /** Client ownership and synchronous retirement, independent of startup/auth execution. */
4
4
  const createCodexAppServerStartupLifetime = () => ({
@@ -1,21 +1,21 @@
1
1
  import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
- import { n as defineCodexBuildState, t as codexBuildSymbol } from "./build-state-CDQUVDAI.mjs";
2
+ import { n as defineCodexBuildState, t as codexBuildSymbol } from "./build-state-E-CRUdgh.mjs";
3
3
  import { t as CODEX_APP_SERVER_AUTH_PROVIDER } from "./auth-profile-selection-DFu9e167.mjs";
4
4
  import { n as isCodexAppServerProxyLaunch } from "./launch-args-DbFCehO7.mjs";
5
5
  import { a as withEphemeralCodexAuthStore, i as withClearedEnvironmentVariables, n as resolveCodexAppServerLocalHomeDir, r as resolveCodexAppServerUserHomeDir, t as resolveCodexAppServerHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
6
6
  import { a as resolveCodexAppServerStartOptionsForAgent, d as readCodexEffectiveConfig, o as resolveCodexComputerUseConfig, t as codexAppServerStartOptionsKey, u as CODEX_SESSION_OVERRIDABLE_LAYER_TYPES } from "./config-options-CzyWLTJt.mjs";
7
7
  import { d as resolveMacOSDesktopCodexBundledMarketplaceCandidates, f as resolveMacOSDesktopCodexComputerUseServiceAppCandidates, i as resolveManagedCodexNativeCommand, l as resolveFirstExistingMacOSDesktopCodexBundledMarketplacePath, r as resolveManagedCodexAppServerStartOptions, t as isManagedCodexDesktopCommand, u as resolveMacOSDesktopCodexAppPathCandidates } from "./managed-binary-B6hQ1UKR.mjs";
8
- import { a as readCodexCliAuthFileApiKey, c as resolveCodexAppServerPreparedApiKeyCacheKey, d as waitForCodexDesktopGeneration, f as readCodexDesktopArtifactTreeFingerprint, i as fingerprintTokenAuthProfileCacheKey, n as CODEX_AUTH_JSON_FILENAME, o as readFirstNonEmptyEnv, r as fingerprintApiKeyAuthProfileCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey, t as CODEX_APP_SERVER_API_KEY_ENV_VARS, u as isCodexDesktopGenerationCurrent } from "./auth-cache-key-gOhcdE_N.mjs";
9
- import { a as notifyDesktopGenerationDrainChecks, c as retainSharedClientEntry, d as retireSharedCodexAppServerClientIfCurrent, m as waitForUnclaimedSharedClientStartup, n as getCurrentSharedClientEntry, o as ownCodexStartup, r as getSharedCodexAppServerClientState, s as releaseSharedClientEntry, t as createCodexAppServerStartupLifetime, u as retirePendingSharedClientEntryIfUnclaimed } from "./shared-client-lifecycle-BXJRGNcp.mjs";
8
+ import { a as readCodexCliAuthFileApiKey, c as resolveCodexAppServerPreparedApiKeyCacheKey, d as waitForCodexDesktopGeneration, f as readCodexDesktopArtifactTreeFingerprint, i as fingerprintTokenAuthProfileCacheKey, n as CODEX_AUTH_JSON_FILENAME, o as readFirstNonEmptyEnv, r as fingerprintApiKeyAuthProfileCacheKey, s as resolveCodexAppServerFallbackApiKeyCacheKey, t as CODEX_APP_SERVER_API_KEY_ENV_VARS, u as isCodexDesktopGenerationCurrent } from "./auth-cache-key-CWpIEtTm.mjs";
9
+ import { a as notifyDesktopGenerationDrainChecks, c as retainSharedClientEntry, d as retireSharedCodexAppServerClientIfCurrent, m as waitForUnclaimedSharedClientStartup, n as getCurrentSharedClientEntry, o as ownCodexStartup, r as getSharedCodexAppServerClientState, s as releaseSharedClientEntry, t as createCodexAppServerStartupLifetime, u as retirePendingSharedClientEntryIfUnclaimed } from "./shared-client-lifecycle-4LdC3gM4.mjs";
10
10
  import { n as resolveCodexAppServerSpawnEnv } from "./transport-stdio-CbutOIEh.mjs";
11
11
  import { n as CodexAppServerAuthProfileUnavailableError, r as formatCodexAuthProfileUnavailableMessage } from "./auth-profile-recovery-BREezV0L.mjs";
12
12
  import { i as withTimeout } from "./timeout-CXOfNoaX.mjs";
13
13
  import { n as readCodexSessionMeta } from "./session-catalog-provenance-DoAvktcj.mjs";
14
- import { n as observeCodexCatalogClient } from "./session-catalog-events-BNKvbFTA.mjs";
14
+ import { n as observeCodexCatalogClient } from "./session-catalog-events-DVLgp99B.mjs";
15
15
  import { n as resolveCodexAppServerRuntimeOptions } from "./config-runtime-C0NbLms1.mjs";
16
16
  import { a as resolveCodexAppServerAuthProfileStore, i as resolveCodexAppServerAuthProfileIdForAgent, r as resolveCodexAppServerAuthProfileId, t as isCodexAppServerNativeAuthProfile } from "./auth-profile-B0okYl2D.mjs";
17
17
  import { i as isCodexResponsesOAuthCredential, n as createCodexResponsesOAuth, o as resolveCodexResponsesOAuthProfileFingerprint, r as isCodexResponsesOAuth, t as CODEX_RESPONSES_OAUTH_PROVIDER } from "./responses-oauth-twnuTaAa.mjs";
18
- import { f as isUnsupportedCodexAppServerVersionError, t as CodexAppServerClient } from "./client-B4EOuI-w.mjs";
18
+ import { f as isUnsupportedCodexAppServerVersionError, t as CodexAppServerClient } from "./client-6GbdZFc0.mjs";
19
19
  import { n as isCodexWebSocketOpenFailure } from "./transport-websocket-BTBE-LD9.mjs";
20
20
  import { t as __exportAll } from "./session-binding-sidecars-jo6H8dFr.mjs";
21
21
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -2177,10 +2177,10 @@ function revertCodexAppServerLiveThreadSkillsCatalog(client, threadId) {
2177
2177
  function hasCodexAppServerLiveThread(client, threadId) {
2178
2178
  return hasThreadOwnership(configuredClients.get(client), threadId);
2179
2179
  }
2180
- function isCodexAppServerLiveThreadClaimed(client, threadId) {
2181
- const runtime = configuredClients.get(client);
2182
- return runtime !== void 0 && !runtime.closed && runtime.claimedThreads.has(threadId);
2183
- }
2180
+ const hasLiveThreadMark = (mark) => (client, threadId) => isCodexAppServerClientRuntimeLive(client) && configuredClients.get(client)?.[mark].has(threadId) === true;
2181
+ const isCodexAppServerLiveThreadClaimed = hasLiveThreadMark("claimedThreads");
2182
+ /** Native commands and children can still need an otherwise-idle subscription. */
2183
+ const isCodexAppServerLiveThreadProtected = hasLiveThreadMark("protectedThreads");
2184
2184
  function hasCodexAppServerSiblingThreadWork(client, threadId) {
2185
2185
  return hasSiblingThreadWork(configuredClients.get(client), threadId);
2186
2186
  }
@@ -2521,7 +2521,7 @@ async function prepareCodexInferenceRoute(params) {
2521
2521
  }
2522
2522
  pending = Promise.all([
2523
2523
  import("./inference-proxy-DhcXOgUE.mjs"),
2524
- import("./native-subagent-monitor-BRr7YExU.mjs").then((n) => n.n),
2524
+ import("./native-subagent-monitor-DbNIloTJ.mjs").then((n) => n.n),
2525
2525
  import("./inference-dispatch-CMZtjQyz.mjs")
2526
2526
  ]).then(([{ createCodexInferenceProxy }, native, { createCodexInferenceModelBinding }]) => {
2527
2527
  assertClient();
@@ -3588,4 +3588,4 @@ function closeSharedClientEntryIfUnclaimed(entry) {
3588
3588
  return Boolean(entry.client);
3589
3589
  }
3590
3590
  //#endregion
3591
- export { reconcileCodexComputerUseStartArtifacts as $, bindCodexInferenceThread as A, isCodexAppServerClientRuntimeLive as B, CodexThreadBindingConflictError as C, nativeHookRelayUnregisterQueue as D, isCodexContextRestartSelectionChangedError as E, consumeCodexAppServerLiveThread as F, releaseCodexAppServerLiveThread as G, prepareCodexWorkspaceReferences as H, ensureCodexAppServerClientRuntime as I, unsubscribeCodexAppServerLiveThread as J, retainCodexAppServerLiveThread as K, forgetCodexWorkspaceReferences as L, getCodexInferenceThreadQualification as M, prepareCodexInferenceThreadConfig as N, acquireCodexNativeConfigFence as O, claimCodexAppServerLiveThread as P, createCodexEphemeralThreadPolicy as Q, hasCodexAppServerLiveThread as R, CodexAdoptedThreadActiveError as S, CodexThreadStartRequestError as T, protectCodexAppServerLiveThread as U, isCodexAppServerLiveThreadClaimed as V, readCodexClientSessionMeta as W, readRecentCodexRateLimits as X, readCodexRateLimitsRevision as Y, rememberCodexRateLimitsRead as Z, retainSharedCodexAppServerClientIfCurrent as _, clearSharedCodexAppServerClientIfCurrentAndUnclaimed as a, isLegacyCodexComputerUsePluginDisabled as at, withLeasedCodexAppServerClientStartSelectionRetry as b, getLeasedSharedCodexAppServerClient as c, assertNotSymlink as ct, readCodexAppServerClientDesktopGeneration as d, TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS as dt, resolveCodexAppServerAuthAccountCacheKey as et, readCodexAppServerClientDesktopGenerationFingerprint as f, isCodexAppServerStartupError as ft, resolveCodexNativeConfigFenceKey as g, releaseLeasedSharedCodexAppServerClient as h, withCodexStartupTimeout as ht, clearSharedCodexAppServerClientIfCurrent as i, hasLegacyCodexComputerUseMcpPolicy as it, getCodexInferenceThread as j, assertCodexInferenceRouteConfig as k, getSharedCodexAppServerClient as l, CodexAppServerStartupError as lt, releaseCodexAppServerClientLease as m, resolveCodexStartupTimeoutMs as mt, captureCodexAppServerClientLifetime as n, resolveBundledComputerUseMarketplacePath as nt, clearSharedCodexAppServerClientIfCurrentAndWait as o, resolveManagedCodexComputerUseConfig as ot, readCodexAppServerClientProcessIdentity as p, resolveCodexGatewayTimeoutWithGraceMs as pt, revertCodexAppServerLiveThreadSkillsCatalog as q, captureSharedCodexAppServerCatalogLifetime as r, resolveClientManagedBundledMarketplacePath as rt, createIsolatedCodexAppServerClient as s, ensureCodexComputerUseSharedPluginCache as st, assertCodexAppServerClientStartSelectionCurrent as t, resolveCodexAppServerPreparedAuthHandoff as tt, isCodexAppServerStartSelectionChangedError as u, TURN_FINALIZE_DRAIN_ABORT_GRACE_MS as ut, shared_client_exports as v, CodexThreadClientReplacementError as w, CODEX_APP_SERVER_CONTEXT_RESTART_SELECTION_CHANGED as x, waitForCodexAppServerClientDesktopGenerationDrain as y, hasCodexAppServerSiblingThreadWork as z };
3591
+ export { createCodexEphemeralThreadPolicy as $, bindCodexInferenceThread as A, isCodexAppServerClientRuntimeLive as B, CodexThreadBindingConflictError as C, nativeHookRelayUnregisterQueue as D, isCodexContextRestartSelectionChangedError as E, consumeCodexAppServerLiveThread as F, readCodexClientSessionMeta as G, isCodexAppServerLiveThreadProtected as H, ensureCodexAppServerClientRuntime as I, revertCodexAppServerLiveThreadSkillsCatalog as J, releaseCodexAppServerLiveThread as K, forgetCodexWorkspaceReferences as L, getCodexInferenceThreadQualification as M, prepareCodexInferenceThreadConfig as N, acquireCodexNativeConfigFence as O, claimCodexAppServerLiveThread as P, rememberCodexRateLimitsRead as Q, hasCodexAppServerLiveThread as R, CodexAdoptedThreadActiveError as S, CodexThreadStartRequestError as T, prepareCodexWorkspaceReferences as U, isCodexAppServerLiveThreadClaimed as V, protectCodexAppServerLiveThread as W, readCodexRateLimitsRevision as X, unsubscribeCodexAppServerLiveThread as Y, readRecentCodexRateLimits as Z, retainSharedCodexAppServerClientIfCurrent as _, clearSharedCodexAppServerClientIfCurrentAndUnclaimed as a, hasLegacyCodexComputerUseMcpPolicy as at, withLeasedCodexAppServerClientStartSelectionRetry as b, getLeasedSharedCodexAppServerClient as c, ensureCodexComputerUseSharedPluginCache as ct, readCodexAppServerClientDesktopGeneration as d, TURN_FINALIZE_DRAIN_ABORT_GRACE_MS as dt, reconcileCodexComputerUseStartArtifacts as et, readCodexAppServerClientDesktopGenerationFingerprint as f, TURN_TERMINAL_SETTLEMENT_TIMEOUT_MS as ft, resolveCodexNativeConfigFenceKey as g, withCodexStartupTimeout as gt, releaseLeasedSharedCodexAppServerClient as h, resolveCodexStartupTimeoutMs as ht, clearSharedCodexAppServerClientIfCurrent as i, resolveClientManagedBundledMarketplacePath as it, getCodexInferenceThread as j, assertCodexInferenceRouteConfig as k, getSharedCodexAppServerClient as l, assertNotSymlink as lt, releaseCodexAppServerClientLease as m, resolveCodexGatewayTimeoutWithGraceMs as mt, captureCodexAppServerClientLifetime as n, resolveCodexAppServerPreparedAuthHandoff as nt, clearSharedCodexAppServerClientIfCurrentAndWait as o, isLegacyCodexComputerUsePluginDisabled as ot, readCodexAppServerClientProcessIdentity as p, isCodexAppServerStartupError as pt, retainCodexAppServerLiveThread as q, captureSharedCodexAppServerCatalogLifetime as r, resolveBundledComputerUseMarketplacePath as rt, createIsolatedCodexAppServerClient as s, resolveManagedCodexComputerUseConfig as st, assertCodexAppServerClientStartSelectionCurrent as t, resolveCodexAppServerAuthAccountCacheKey as tt, isCodexAppServerStartSelectionChangedError as u, CodexAppServerStartupError as ut, shared_client_exports as v, CodexThreadClientReplacementError as w, CODEX_APP_SERVER_CONTEXT_RESTART_SELECTION_CHANGED as x, waitForCodexAppServerClientDesktopGenerationDrain as y, hasCodexAppServerSiblingThreadWork as z };
@@ -6,18 +6,18 @@ import { i as resolveCodexAppServerHomeScope, l as resolveCodexModelBackedReview
6
6
  import { n as formatCodexUsageLimitErrorMessage } from "./rate-limits-B7-X2TgG.mjs";
7
7
  import { i as resolveCodexBindingAppServerConnection, r as requireCodexSupervisionModelSelection } from "./binding-connection-DTtN1KrX.mjs";
8
8
  import { n as canUseCodexModelBackedApprovalsReviewerForModel, r as resolveOpenClawExecPolicyForCodexAppServer } from "./config-DKhXquav.mjs";
9
- import { X as readRecentCodexRateLimits, b as withLeasedCodexAppServerClientStartSelectionRetry, c as getLeasedSharedCodexAppServerClient, m as releaseCodexAppServerClientLease, tt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-D6n5dvpA.mjs";
10
- import { A as handleDynamicToolCallWithTimeout, B as resolveCodexToolAbortTerminalReason, P as resolveDynamicToolCallTimeoutMs, S as assertCodexTurnStartResponse, i as isCodexAppServerApprovalRequest, k as createCodexElicitationResponse, s as isCodexAppServerIndeterminateRequestCancellationError, w as readCodexDynamicToolCallParams, y as assertCodexThreadForkResponse, z as toCodexDynamicToolProtocolResponse } from "./client-B4EOuI-w.mjs";
11
- import { f as terminateCodexBackgroundTerminals, p as unsubscribeCodexThreadBestEffort, s as interruptCodexTurnAndWaitBestEffort, u as retireUnsafeCodexTurnClientBestEffort } from "./attempt-client-cleanup-_RUXhE5e.mjs";
12
- import { t as CodexEphemeralTurn } from "./ephemeral-turn-C-vPku4K.mjs";
13
- import { Ct as refreshCodexPluginAppApprovalPolicy, D as buildCodexNativeHookRelayConfig, M as resolveCodexNativeHookRelayEvents, N as resolveCodexNativeHookRelayTtlMs, O as buildCodexNativeHookRelayDisabledConfig, St as mergeCodexThreadConfigs, ft as resolveCodexDynamicToolsLoading, g as CODEX_NATIVE_PERSONALITY_NONE, p as resolveCodexWebSearchPlan, r as buildCodexRuntimeThreadConfig, y as resolveCodexAppServerThreadModelSelection } from "./thread-requests-CIyAcDJ3.mjs";
14
- import { S as resolveCodexAppServerReasoningEffort, o as buildCodexUserInput, r as buildCodexTemporalAdditionalContext, x as readCodexSupportedReasoningEfforts } from "./thread-lifecycle-BPIjjjRJ.mjs";
9
+ import { Z as readRecentCodexRateLimits, b as withLeasedCodexAppServerClientStartSelectionRetry, c as getLeasedSharedCodexAppServerClient, m as releaseCodexAppServerClientLease, nt as resolveCodexAppServerPreparedAuthHandoff } from "./shared-client-zsK3DTPh.mjs";
10
+ import { A as handleDynamicToolCallWithTimeout, B as resolveCodexToolAbortTerminalReason, P as resolveDynamicToolCallTimeoutMs, S as assertCodexTurnStartResponse, i as isCodexAppServerApprovalRequest, k as createCodexElicitationResponse, s as isCodexAppServerIndeterminateRequestCancellationError, w as readCodexDynamicToolCallParams, y as assertCodexThreadForkResponse, z as toCodexDynamicToolProtocolResponse } from "./client-6GbdZFc0.mjs";
11
+ import { f as terminateCodexBackgroundTerminals, p as unsubscribeCodexThreadBestEffort, s as interruptCodexTurnAndWaitBestEffort, u as retireUnsafeCodexTurnClientBestEffort } from "./attempt-client-cleanup-D1aznv7C.mjs";
12
+ import { t as CodexEphemeralTurn } from "./ephemeral-turn-Cyu_xJDs.mjs";
13
+ import { Ct as refreshCodexPluginAppApprovalPolicy, D as buildCodexNativeHookRelayConfig, M as resolveCodexNativeHookRelayEvents, N as resolveCodexNativeHookRelayTtlMs, O as buildCodexNativeHookRelayDisabledConfig, St as mergeCodexThreadConfigs, ft as resolveCodexDynamicToolsLoading, g as CODEX_NATIVE_PERSONALITY_NONE, p as resolveCodexWebSearchPlan, r as buildCodexRuntimeThreadConfig, y as resolveCodexAppServerThreadModelSelection } from "./thread-requests-15uBuGjw.mjs";
14
+ import { S as resolveCodexAppServerReasoningEffort, o as buildCodexUserInput, r as buildCodexTemporalAdditionalContext, x as readCodexSupportedReasoningEfforts } from "./thread-lifecycle-D03WesNn.mjs";
15
15
  import { o as resolveCodexSessionBinding } from "./session-binding-DGCYAfvD.mjs";
16
- import { a as refreshCodexThreadPolicy, i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError } from "./thread-policy-Bf769xTq.mjs";
16
+ import { a as refreshCodexThreadPolicy, i as assertCodexSupervisionThreadLineage, n as CodexThreadPolicyHandoffError } from "./thread-policy-g1TKKqWj.mjs";
17
17
  import { t as resolveCodexNativeExecutionBlock } from "./sandbox-guard-DjCz2eOw.mjs";
18
- import { E as CodexNativeToolLifecycleProjector, a as emitDynamicToolStartedDiagnostic, b as createCodexNativePreToolUseFailureBuffer, c as buildDynamicTools, f as resolveCodexExternalSandboxPolicyForOpenClawSandbox, g as shouldRequireCodexSandboxExecServerEnvironment, h as shouldEnableCodexAppServerNativeToolSurface, i as emitDynamicToolErrorDiagnostic, m as resolveCodexSandboxEnvironmentSelection, o as emitDynamicToolTerminalDiagnostic, p as resolveCodexMessageToolProvider, r as routeCodexAppServerElicitationRequest, s as handleCodexAppServerApprovalRequest, t as createCodexDynamicToolBridge, v as ensureCodexSandboxExecServerEnvironment, y as releaseCodexSandboxExecServerEnvironment } from "./dynamic-tools-86M3tRl4.mjs";
18
+ import { E as CodexNativeToolLifecycleProjector, a as emitDynamicToolStartedDiagnostic, b as createCodexNativePreToolUseFailureBuffer, c as buildDynamicTools, f as resolveCodexExternalSandboxPolicyForOpenClawSandbox, g as shouldRequireCodexSandboxExecServerEnvironment, h as shouldEnableCodexAppServerNativeToolSurface, i as emitDynamicToolErrorDiagnostic, m as resolveCodexSandboxEnvironmentSelection, o as emitDynamicToolTerminalDiagnostic, p as resolveCodexMessageToolProvider, r as routeCodexAppServerElicitationRequest, s as handleCodexAppServerApprovalRequest, t as createCodexDynamicToolBridge, v as ensureCodexSandboxExecServerEnvironment, y as releaseCodexSandboxExecServerEnvironment } from "./dynamic-tools-CGMXNyuw.mjs";
19
19
  import { a as resolveCodexAppServerForModelProvider, i as resolveCodexSessionPermissionCwd, n as applyCodexSessionPermissionPolicy, r as resolveCodexEffectiveSessionPermissionPolicy, t as CODEX_SESSION_PERMISSION_EXEC_MODES } from "./session-permission-policy-Ci_fVX6y.mjs";
20
- import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-CIWN6WAi.mjs";
20
+ import { n as resolveCodexProviderWebSearchSupportForClient } from "./provider-capabilities-CYK-rMwC.mjs";
21
21
  import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
22
22
  import { randomUUID } from "node:crypto";
23
23
  import { isDeepStrictEqual } from "node:util";
@@ -1,6 +1,6 @@
1
1
  import { a as marketplaceRef, n as isOpenAiCuratedMarketplace, o as pluginReadParams, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-Cky2XJUw.mjs";
2
2
  import { a as defaultCodexAppInventoryCache, r as buildCodexPluginAppCacheKey } from "./plugin-app-cache-key-BL9B5H0L.mjs";
3
- import { o as withCodexAppServerJsonClient } from "./request-D-Vhprx3.mjs";
3
+ import { o as withCodexAppServerJsonClient } from "./request-DQh7X3fU.mjs";
4
4
  import "./config-DKhXquav.mjs";
5
5
  import { t as __exportAll } from "./session-binding-sidecars-jo6H8dFr.mjs";
6
6
  import { asNonArrayRecord } from "openclaw/plugin-sdk/string-coerce-runtime";