@openclaw/codex 2026.9.5 → 2026.9.6

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 (120) hide show
  1. package/dist/.setup/{account-usage-runtime-C2MOIvfq.mjs → account-usage-runtime-Eem_WGqY.mjs} +5 -5
  2. package/dist/.setup/{apply-CJ0ZfmBG.mjs → apply-DDOi8uNx.mjs} +22 -28
  3. package/dist/.setup/{attempt-client-cleanup-BpYKdTA0.mjs → attempt-client-cleanup-CEv1cKwF.mjs} +58 -43
  4. package/dist/.setup/attempt-workspace-context-DUVEn_CS.mjs +331 -0
  5. package/dist/.setup/{auth-cache-key-QirmgiCo.mjs → auth-cache-key-B2mpaI9D.mjs} +9 -81
  6. package/dist/.setup/auth-profile-health-oHizqgye.mjs +53 -0
  7. package/dist/.setup/auth-profile-recovery-BREezV0L.mjs +14 -0
  8. package/dist/.setup/{binding-connection-Bm38niE8.mjs → binding-connection-ThoatDcb.mjs} +1 -1
  9. package/dist/.setup/{binding-connection.runtime-CnRMC0ta.mjs → binding-connection.runtime-yoHrABt-.mjs} +4 -4
  10. package/dist/.setup/{bounded-turn-BtlZcivC.mjs → bounded-turn-B2HScEgT.mjs} +138 -32
  11. package/dist/.setup/{build-state-Xx9ybZqa.mjs → build-state-C7EnDVgr.mjs} +1 -1
  12. package/dist/.setup/{capabilities-_vXcZGSx.mjs → capabilities-CDXOOFdZ.mjs} +1 -1
  13. package/dist/.setup/{client-vXs2929Q.mjs → client-Cs08OXVQ.mjs} +583 -559
  14. package/dist/.setup/client-catalog-response-BMgt_4q4.mjs +285 -0
  15. package/dist/.setup/{command-dispatch-naHIZwwF.mjs → command-dispatch-B4JuOsOk.mjs} +8 -4
  16. package/dist/.setup/{command-formatters-CGEkdawF.mjs → command-formatters-Bmqvr9tO.mjs} +8 -4
  17. package/dist/.setup/{command-handlers-BtAJEW1X.mjs → command-handlers-DW7Lx9oH.mjs} +106 -172
  18. package/dist/.setup/{command-rpc-DHFpn4le.mjs → command-rpc-DixIj3HW.mjs} +36 -21
  19. package/dist/.setup/{compact-C3i3qlzj.mjs → compact-Du5UvtxA.mjs} +14 -21
  20. package/dist/.setup/{config-CedDWjM-.mjs → config-BoTP_mrL.mjs} +3 -3
  21. package/dist/.setup/{config-options-BsanJ8QG.mjs → config-options-BvaRs51b.mjs} +46 -30
  22. package/dist/.setup/{config-runtime-CeAhl_h4.mjs → config-runtime-C8Rw1m1m.mjs} +1 -1
  23. package/dist/.setup/{config-security-BRQ2mgW9.mjs → config-security-BEReZ6go.mjs} +35 -120
  24. package/dist/.setup/{conversation-binding-DhzrpTM6.mjs → conversation-binding-DP-gMrBP.mjs} +21 -32
  25. package/dist/.setup/{conversation-control-DN53ns41.mjs → conversation-control-uK9Jomlc.mjs} +28 -67
  26. package/dist/.setup/{dynamic-tools-D16lOp67.mjs → dynamic-tools-BDXl-8Cw.mjs} +848 -578
  27. package/dist/.setup/{effective-mcp-catalog-K6kLCN8X.mjs → effective-mcp-catalog-CvnvnGIe.mjs} +3 -3
  28. package/dist/.setup/{ephemeral-turn-R1gA8Sn6.mjs → ephemeral-turn-poidXgek.mjs} +9 -6
  29. package/dist/.setup/{event-projector-assistant-message-DNUR1s0A.mjs → event-projector-assistant-message-BsruvNrH.mjs} +2 -4
  30. package/dist/.setup/{event-projector-items-DyTQ_XqL.mjs → event-projector-items-C6L_5ZiT.mjs} +42 -8
  31. package/dist/.setup/{event-projector-usage-C7Ntzs-f.mjs → event-projector-usage-CnBS8Wa3.mjs} +1 -1
  32. package/dist/.setup/{harness-rxaaoN-o.mjs → harness-a_MsE4-_.mjs} +23 -17
  33. package/dist/.setup/{inference-context-fulhZuz8.mjs → inference-context-D96l9-ew.mjs} +1 -1
  34. package/dist/.setup/inference-proxy-b-aJMSxm.mjs +601 -0
  35. package/dist/.setup/{isolated-completion-B6srt48J.mjs → isolated-completion-BIZFhTNG.mjs} +17 -10
  36. package/dist/.setup/launch-args-DbFCehO7.mjs +196 -0
  37. package/dist/.setup/{managed-binary-DP6Rib3P.mjs → managed-binary-BnshlFag.mjs} +13 -2
  38. package/dist/.setup/{model-catalog-DkvUuBey.mjs → model-catalog-CfXJf9Ay.mjs} +9 -10
  39. package/dist/.setup/{models-BDFgm_G-.mjs → models-KnqBv0hE.mjs} +3 -3
  40. package/dist/.setup/{native-auth-BLZGqFjw.mjs → native-auth-rWbGbMn3.mjs} +4 -4
  41. package/dist/.setup/{native-subagent-history-YXaL6dMd.mjs → native-subagent-history-0nYYgo0k.mjs} +26 -13
  42. package/dist/.setup/{native-subagent-monitor-B1hxzIOy.mjs → native-subagent-monitor-D3filLY2.mjs} +145 -317
  43. package/dist/.setup/{native-subagent-task-ids-DsuOonKv.mjs → native-subagent-task-ids-wb8CKZGN.mjs} +69 -39
  44. package/dist/.setup/{node-cli-sessions-Cl8b2ZF3.mjs → node-cli-sessions-r3avj02l.mjs} +86 -68
  45. package/dist/.setup/node-exec-server.runtime-BDwWXVpK.mjs +247 -0
  46. package/dist/.setup/{plan-xD7WKYTM.mjs → plan-CN3VwfNU.mjs} +74 -76
  47. package/dist/.setup/{plugin-activation-r8nq5Jzp.mjs → plugin-activation-DT3MNtqj.mjs} +7 -16
  48. package/dist/.setup/{plugin-app-cache-key-BOxKP7db.mjs → plugin-app-cache-key-B2CsSdnV.mjs} +4 -20
  49. package/dist/.setup/{plugin-approval-roundtrip-CjfzafAZ.mjs → plugin-approval-roundtrip-C0MZzCuP.mjs} +1 -1
  50. package/dist/.setup/{plugin-inventory-DUle8DLz.mjs → plugin-inventory-BoRei8Z4.mjs} +16 -7
  51. package/dist/.setup/{plugin-marketplace-discovery-P-Vndfqq.mjs → plugin-marketplace-discovery-CDOi8IFs.mjs} +4 -1
  52. package/dist/.setup/{plugin-metadata-cache-DsS5buNa.mjs → plugin-metadata-cache-Ctmo83k_.mjs} +224 -154
  53. package/dist/.setup/protocol-CANUwXJ3.mjs +17 -0
  54. package/dist/.setup/{provider-fFh_-VR3.mjs → provider-BOsxQHOM.mjs} +9 -5
  55. package/dist/.setup/{provider-capabilities-B8J4Dy-O.mjs → provider-capabilities-BfE88FZ5.mjs} +31 -3
  56. package/dist/.setup/{rate-limits-DOEGYRNs.mjs → rate-limits-CMU3DUD0.mjs} +116 -137
  57. package/dist/.setup/{request-BioXJLYa.mjs → request-D2L0zMrq.mjs} +23 -15
  58. package/dist/.setup/{run-attempt-rlA07pUv.mjs → run-attempt-BHu11r7h.mjs} +1197 -617
  59. package/dist/.setup/{runtime-artifact-Dy38Z5iU.mjs → runtime-artifact-CLZ8udh-.mjs} +29 -45
  60. package/dist/.setup/{sandbox-guard-BBP-RbTf.mjs → sandbox-guard-C2sRMOEY.mjs} +1 -1
  61. package/dist/.setup/{session-binding-_0W_fHRr.mjs → session-binding-Cm0apEbd.mjs} +3 -32
  62. package/dist/.setup/{session-binding-record-TH3xA0zj.mjs → session-binding-record-BGoz8wOK.mjs} +22 -3
  63. package/dist/.setup/{session-binding-sidecars-CKYEcfNn.mjs → session-binding-sidecars-BlB5EvIS.mjs} +48 -45
  64. package/dist/.setup/{session-catalog-fUdWDx-U.mjs → session-catalog-Pno1xGcl.mjs} +482 -182
  65. package/dist/.setup/{session-catalog-adoption-CR_whkEW.mjs → session-catalog-adoption-BI6UTDZT.mjs} +57 -25
  66. package/dist/.setup/{session-catalog-archive-CwZaPacf.mjs → session-catalog-archive-lHBqzhaO.mjs} +6 -6
  67. package/dist/.setup/{session-catalog-events-jMcYfQyd.mjs → session-catalog-events-Bj6j94E_.mjs} +122 -25
  68. package/dist/.setup/{session-catalog-index-B141u15s.mjs → session-catalog-index-B9_VQIUz.mjs} +178 -78
  69. package/dist/.setup/{session-catalog-index-order-Cc5BzlQr.mjs → session-catalog-index-order-hcdz07yN.mjs} +2 -2
  70. package/dist/.setup/{session-catalog-index-state-BAuDztHN.mjs → session-catalog-index-state-Dgh8ORJm.mjs} +5 -2
  71. package/dist/.setup/{session-catalog-native-projection-ChV3cCtm.mjs → session-catalog-native-projection-DowriLid.mjs} +30 -13
  72. package/dist/.setup/{session-catalog-node-adoption-BVRsYOSh.mjs → session-catalog-node-adoption-ITddWx_X.mjs} +24 -12
  73. package/dist/.setup/{session-catalog-node-continue-Dowv8osw.mjs → session-catalog-node-continue-6g6qi4A9.mjs} +22 -13
  74. package/dist/.setup/{session-catalog-projection-C1Bj9Jl-.mjs → session-catalog-projection-zK_PUsiE.mjs} +13 -5
  75. package/dist/.setup/{session-cli-DIj-IE-E.mjs → session-cli-irrD-uo7.mjs} +4 -4
  76. package/dist/.setup/{session-history-C--SrLI8.mjs → session-history-BrqhSCf9.mjs} +17 -22
  77. package/dist/.setup/{session-history-import-JHXT5Xfi.mjs → session-history-import-D-3wAgOP.mjs} +4 -4
  78. package/dist/.setup/{session-history.worker-CpNj7H_P.mjs → session-history.worker-CaCh0xF_.mjs} +5 -18
  79. package/dist/.setup/{session-initialization-DH1z6fXn.mjs → session-initialization-rcgbZiid.mjs} +2 -2
  80. package/dist/.setup/{session-permission-policy-DhurXY0l.mjs → session-permission-policy-BI1QK_98.mjs} +2 -2
  81. package/dist/.setup/{session-retirement-CU87AOg9.mjs → session-retirement-BH-S6qkJ.mjs} +25 -6
  82. package/dist/.setup/{settled-turn-finalizer-CiY2bLFK.mjs → settled-turn-finalizer-DiAi6Kx6.mjs} +8 -8
  83. package/dist/.setup/{shared-client-BpTtuLQ5.mjs → shared-client-DA4VR4Eb.mjs} +59 -89
  84. package/dist/.setup/{side-question-DSCZyoBD.mjs → side-question-BJ1wSDcB.mjs} +147 -211
  85. package/dist/.setup/{source-Bjp4UQij.mjs → source-CUzJq5WN.mjs} +9 -9
  86. package/dist/.setup/spawn-error-CL3n6MAa.mjs +57 -0
  87. package/dist/.setup/{thread-archive-guard-jmecf6OJ.mjs → thread-archive-guard-C9frICzX.mjs} +10 -3
  88. package/dist/.setup/{thread-history-page-BTx-4xsg.mjs → thread-history-page-DoVpnHim.mjs} +1 -1
  89. package/dist/.setup/{thread-lifecycle-Cik28qWn.mjs → thread-lifecycle-B3mfz1TG.mjs} +172 -2271
  90. package/dist/.setup/{thread-ownership-skomxnIt.mjs → thread-ownership-DcTtAcXj.mjs} +4 -2
  91. package/dist/.setup/{thread-policy-Cjs4B8xf.mjs → thread-policy-DGuQsuFC.mjs} +19 -3
  92. package/dist/.setup/thread-requests-BLvGkP2R.mjs +2205 -0
  93. package/dist/.setup/{thread-resume-BkNpj9Pz.mjs → thread-resume-DIBXwOpE.mjs} +6 -6
  94. package/dist/.setup/{timeout-DZF05XrR.mjs → timeout-C910MdAB.mjs} +19 -2
  95. package/dist/.setup/{transcript-history-projection-DHNBDhCU.mjs → transcript-history-projection-ZZpkFkJ_.mjs} +94 -64
  96. package/dist/.setup/{transcript-mirror-D4qp_leP.mjs → transcript-mirror-BtHDBp1G.mjs} +218 -198
  97. package/dist/.setup/{transport-stdio-Cmx94Oiy.mjs → transport-stdio-h2VHOskC.mjs} +135 -55
  98. package/dist/.setup/{upstream-session-fork-D3UKxgVD.mjs → upstream-session-fork-BUr4OUbC.mjs} +44 -36
  99. package/dist/.setup/{usage-BOgBEKso.mjs → usage-BML0r-ua.mjs} +5 -4
  100. package/dist/.setup/{usage-limit-error-C0ow7DOc.mjs → usage-limit-error-DUMbefVY.mjs} +4 -4
  101. package/dist/.setup/{web-search-provider.runtime-CTGuJt6i.mjs → web-search-provider.runtime-CDKlN-Rv.mjs} +4 -3
  102. package/dist/api.js +23 -12
  103. package/dist/catalog-page-worker-entrypoint.js +12 -0
  104. package/dist/catalog-page.worker.js +9 -0
  105. package/dist/cli-metadata.js +1 -1
  106. package/dist/doctor-contract-api.js +2 -2
  107. package/dist/harness.js +1 -1
  108. package/dist/index.js +221 -170
  109. package/dist/media-understanding-provider.js +2 -2
  110. package/dist/migration-provider-api.js +1 -1
  111. package/dist/provider-discovery.js +1 -1
  112. package/dist/session-history-worker-runtime.js +15 -32
  113. package/dist/session-history.worker.js +1 -1
  114. package/package.json +9 -6
  115. package/dist/.setup/attempt-context-VXVwTCfS.mjs +0 -636
  116. package/dist/.setup/inference-proxy-CC15HuSi.mjs +0 -311
  117. package/dist/.setup/launch-args-DnMak49W.mjs +0 -111
  118. package/dist/.setup/node-exec-server.runtime-BaViBKNz.mjs +0 -226
  119. package/dist/.setup/version-CoqzXPgK.mjs +0 -12
  120. package/dist/.setup/{native-execution-policy-YBMHSzC4.mjs → native-execution-policy-umd0tgh4.mjs} +1 -1
@@ -1,6 +1,6 @@
1
- import { p as sessionBindingIdentity } from "./session-binding-record-TH3xA0zj.mjs";
2
- import { _ as retainSharedCodexAppServerClientByInstanceId } from "./shared-client-BpTtuLQ5.mjs";
3
- import "./session-binding-_0W_fHRr.mjs";
1
+ import { m as sessionBindingIdentity } from "./session-binding-record-BGoz8wOK.mjs";
2
+ import { _ as retainSharedCodexAppServerClientByInstanceId } from "./shared-client-DA4VR4Eb.mjs";
3
+ import "./session-binding-Cm0apEbd.mjs";
4
4
  import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { assignMcpCatalogSafeServerNames } from "openclaw/plugin-sdk/agent-harness-runtime";
6
6
  //#region extensions/codex/src/app-server/effective-mcp-catalog.ts
@@ -1,7 +1,7 @@
1
- import { m as isJsonObject } from "./config-security-BRQ2mgW9.mjs";
2
- import { T as readCodexTurnCompletedNotification } from "./client-vXs2929Q.mjs";
3
- import { m as getCodexAppServerTurnRouter } from "./attempt-client-cleanup-BpYKdTA0.mjs";
4
- import { c as readCodexNotificationItem, s as isTerminalTurnStatus, t as CodexUsageProjection } from "./event-projector-usage-C7Ntzs-f.mjs";
1
+ import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
+ import { T as readCodexTurnCompletedNotification } from "./client-Cs08OXVQ.mjs";
3
+ import { h as getCodexAppServerTurnRouter } from "./attempt-client-cleanup-CEv1cKwF.mjs";
4
+ import { c as readCodexNotificationItem, s as isTerminalTurnStatus, t as CodexUsageProjection } from "./event-projector-usage-CnBS8Wa3.mjs";
5
5
  import { readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { toStringifiedError } from "openclaw/plugin-sdk/error-runtime";
7
7
  import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
@@ -36,8 +36,11 @@ var CodexEphemeralTurn = class {
36
36
  if (firstDelta) await options.onAssistantMessageStart?.();
37
37
  } else if (notification.method === "rawResponse/completed") this.usage.record(params);
38
38
  else if (notification.method === "turn/completed") {
39
- this.turn = readCodexTurnCompletedNotification(params)?.turn ?? this.turn;
40
- this.completion.resolve();
39
+ const completed = readCodexTurnCompletedNotification(params);
40
+ if (completed) {
41
+ this.turn = completed.turn;
42
+ this.completion.resolve();
43
+ }
41
44
  } else if (notification.method === "error") {
42
45
  this.usage.invalidateContext();
43
46
  if (params.willRetry !== true) {
@@ -1,3 +1,4 @@
1
+ import { g as codexProviderRefusalDetails } from "./event-projector-items-C6L_5ZiT.mjs";
1
2
  import { t as resolveCodexLocalRuntimeAttribution } from "./local-runtime-attribution-B_2mnqhb.mjs";
2
3
  import { formatErrorMessage } from "openclaw/plugin-sdk/agent-harness-runtime";
3
4
  //#region extensions/codex/src/app-server/event-projector-assistant-message.ts
@@ -49,10 +50,7 @@ function createAttributedCodexAssistantMessage(attribution, text, options) {
49
50
  ...refusal ? { diagnostics: [{
50
51
  type: "provider_refusal",
51
52
  timestamp: Date.now(),
52
- details: {
53
- provider: "openai",
54
- category: refusal.category
55
- }
53
+ details: codexProviderRefusalDetails(refusal)
56
54
  }] } : {},
57
55
  timestamp: Date.now()
58
56
  };
@@ -1,23 +1,51 @@
1
- import { m as isJsonObject } from "./config-security-BRQ2mgW9.mjs";
1
+ import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
2
  import { asFiniteNumber, normalizeOptionalString as normalizeOptionalString$1, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
3
+ import { Buffer } from "node:buffer";
3
4
  //#region extensions/codex/src/app-server/event-projector-values.ts
4
5
  const BIO_POLICY_SAFETY_ACCESS_BLOCK_PREFIX = "This content was flagged for possible biological risk.";
6
+ /** Decode app-server v2 findings with the Codex UI's UTF-8 limits; never truncate a steer. */
7
+ function readCodexMisalignmentReview(value) {
8
+ if (!isJsonObject(value)) return;
9
+ const explanation = value.detailedExplanation;
10
+ if (typeof explanation !== "string" || !explanation.trim() || Buffer.byteLength(explanation, "utf8") > 65536) return;
11
+ const message = isJsonObject(value.steer) ? value.steer.message : void 0;
12
+ return {
13
+ explanation,
14
+ ...typeof message === "string" && message.trim() && Buffer.byteLength(message, "utf8") <= 1024 ? { continuation: { message } } : {},
15
+ ...typeof value.errorType === "string" && value.errorType.trim() ? { errorType: value.errorType } : {}
16
+ };
17
+ }
5
18
  /** Project only Codex's explicit refusal contracts; other policy errors retain their own paths. */
6
- function readCodexProviderRefusal(message, codexErrorInfo) {
19
+ function readCodexProviderRefusal(message, codexErrorInfo, options) {
7
20
  if (!message) return;
8
21
  if (codexErrorInfo === "cyberPolicy") return {
9
22
  category: "cyber",
10
23
  message
11
24
  };
12
- if (codexErrorInfo === "misalignmentPolicyViolation") return {
13
- category: "misalignment",
14
- message
15
- };
25
+ if (codexErrorInfo === "misalignmentPolicyViolation") {
26
+ const review = readCodexMisalignmentReview(options?.misalignment);
27
+ return {
28
+ category: "misalignment",
29
+ message,
30
+ ...review ? { review } : {},
31
+ ...options?.nativeThreadId ? { nativeThreadId: options.nativeThreadId } : {},
32
+ ...options?.nativeTurnId ? { nativeTurnId: options.nativeTurnId } : {}
33
+ };
34
+ }
16
35
  return message.startsWith(BIO_POLICY_SAFETY_ACCESS_BLOCK_PREFIX) ? {
17
36
  category: "bio",
18
37
  message
19
38
  } : void 0;
20
39
  }
40
+ function codexProviderRefusalDetails(refusal) {
41
+ return {
42
+ provider: "openai",
43
+ category: refusal.category,
44
+ ...refusal.review ? { review: refusal.review } : {},
45
+ ...refusal.nativeThreadId ? { nativeThreadId: refusal.nativeThreadId } : {},
46
+ ...refusal.nativeTurnId ? { nativeTurnId: refusal.nativeTurnId } : {}
47
+ };
48
+ }
21
49
  function readNonEmptyString(record, key) {
22
50
  return normalizeOptionalString$1(record[key]);
23
51
  }
@@ -178,7 +206,13 @@ function shouldSynthesizeToolProgressForItem(item) {
178
206
  }
179
207
  }
180
208
  function shouldRecordNativeToolTranscript(item) {
181
- return shouldSynthesizeToolProgressForItem(item);
209
+ switch (item.type) {
210
+ case "commandExecution":
211
+ case "fileChange":
212
+ case "webSearch":
213
+ case "mcpToolCall": return true;
214
+ default: return false;
215
+ }
182
216
  }
183
217
  function isMutatingNativeToolItem(item) {
184
218
  if (item.type === "commandExecution") return true;
@@ -197,4 +231,4 @@ function shouldClearTerminalPresentationForNativeItem(item) {
197
231
  }
198
232
  }
199
233
  //#endregion
200
- export { readNonEmptyString as C, splitPlanText as D, readNullableString as E, readItemString as S, readNonNegativeInteger as T, normalizeOptionalString$1 as _, isNonSuccessItemStatus as a, readHookOutputEntries as b, itemName as c, matchesCodexSnapshotTurn as d, shouldClearTerminalPresentationForNativeItem as f, extractRawAssistantText as g, unknownItemStatus as h, isMutatingNativeToolItem as i, itemStatus as l, shouldSynthesizeToolProgressForItem as m, auditNativeToolTerminalStatus as n, isSideEffectingNativeToolItem as o, shouldRecordNativeToolTranscript as p, auditNativeToolUnfinishedStatus as r, itemKind as s, auditNativeToolName as t, itemTitle as u, readCodexErrorNotificationMessage as v, readNonEmptyStringArray as w, readItem as x, readCodexProviderRefusal as y };
234
+ export { readItemString as C, readNullableString as D, readNonNegativeInteger as E, splitPlanText as O, readItem as S, readNonEmptyStringArray as T, extractRawAssistantText as _, isNonSuccessItemStatus as a, readCodexProviderRefusal as b, itemName as c, matchesCodexSnapshotTurn as d, shouldClearTerminalPresentationForNativeItem as f, codexProviderRefusalDetails as g, unknownItemStatus as h, isMutatingNativeToolItem as i, itemStatus as l, shouldSynthesizeToolProgressForItem as m, auditNativeToolTerminalStatus as n, isSideEffectingNativeToolItem as o, shouldRecordNativeToolTranscript as p, auditNativeToolUnfinishedStatus as r, itemKind as s, auditNativeToolName as t, itemTitle as u, normalizeOptionalString$1 as v, readNonEmptyString as w, readHookOutputEntries as x, readCodexErrorNotificationMessage as y };
@@ -1,4 +1,4 @@
1
- import { m as isJsonObject } from "./config-security-BRQ2mgW9.mjs";
1
+ import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
2
  import { asSafeIntegerInRange, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { normalizeUsage } from "openclaw/plugin-sdk/agent-harness-runtime";
4
4
  //#region extensions/codex/src/app-server/attempt-notifications.ts
@@ -1,6 +1,6 @@
1
1
  import { CODEX_NATIVE_TOOL_REQUIREMENTS } from "../native-tool-policy.js";
2
- import { p as sessionBindingIdentity } from "./session-binding-record-TH3xA0zj.mjs";
3
- import { t as codexBuildSymbol } from "./build-state-Xx9ybZqa.mjs";
2
+ import { m as sessionBindingIdentity } from "./session-binding-record-BGoz8wOK.mjs";
3
+ import { t as codexBuildSymbol } from "./build-state-C7EnDVgr.mjs";
4
4
  import { resolvePluginConfigObject } from "openclaw/plugin-sdk/plugin-config-runtime";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  //#region extensions/codex/src/app-server/model-runtime.ts
@@ -102,10 +102,11 @@ function createCodexAppServerAgentHarness(options) {
102
102
  } } : {}
103
103
  } : void 0;
104
104
  },
105
- ...sessionCatalogControlFactory && sessionRuntime ? { sessionFork: {
105
+ ...sessionCatalogControlFactory && sessionRuntime ? { sessionForkV2: {
106
+ executionEnvironment: "host-only",
106
107
  upstreamKinds: ["codex-app-server"],
107
108
  fork: async (params) => {
108
- const { forkCodexUpstreamSession } = await import("./upstream-session-fork-D3UKxgVD.mjs");
109
+ const { forkCodexUpstreamSession } = await import("./upstream-session-fork-BUr4OUbC.mjs");
109
110
  return await forkCodexUpstreamSession(params, {
110
111
  bindingStore: options.bindingStore,
111
112
  controlFactory: sessionCatalogControlFactory,
@@ -118,7 +119,7 @@ function createCodexAppServerAgentHarness(options) {
118
119
  taskHistory: {
119
120
  taskKinds: ["codex-native"],
120
121
  read: async (params) => {
121
- const { readCodexNativeSubagentHistory } = await import("./native-subagent-history-YXaL6dMd.mjs");
122
+ const { readCodexNativeSubagentHistory } = await import("./native-subagent-history-0nYYgo0k.mjs");
122
123
  const assertCurrent = () => {
123
124
  params.assertCurrent();
124
125
  if (disposed) throw new Error("Agent harness is disposed");
@@ -137,22 +138,22 @@ function createCodexAppServerAgentHarness(options) {
137
138
  return fingerprintCodexAppServerAuthBinding(params);
138
139
  } },
139
140
  runtimeArtifact: { validate: async (binding) => {
140
- const { validateCodexAppServerRuntimeArtifact } = await import("./runtime-artifact-Dy38Z5iU.mjs");
141
+ const { validateCodexAppServerRuntimeArtifact } = await import("./runtime-artifact-CLZ8udh-.mjs");
141
142
  return validateCodexAppServerRuntimeArtifact(binding);
142
143
  } },
143
144
  fetchUsageSnapshot: async (ctx) => {
144
- const { fetchCodexAppServerUsageSnapshot } = await import("./usage-BOgBEKso.mjs");
145
+ const { fetchCodexAppServerUsageSnapshot } = await import("./usage-BML0r-ua.mjs");
145
146
  return await fetchCodexAppServerUsageSnapshot(ctx, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
146
147
  },
147
148
  loadModelCatalog: async (params) => {
148
- const { createCodexAppServerModelCatalog } = await import("./model-catalog-DkvUuBey.mjs");
149
+ const { createCodexAppServerModelCatalog } = await import("./model-catalog-CfXJf9Ay.mjs");
149
150
  if (disposed) return [];
150
151
  modelCatalog ??= createCodexAppServerModelCatalog(harnessRuntimeId);
151
152
  return await modelCatalog.load(params, resolveAttemptPluginConfig(params.config));
152
153
  },
153
154
  readModelCatalogReadiness: (params) => modelCatalog?.read(params, resolveAttemptPluginConfig(params.config)),
154
155
  loadMcpToolCatalog: async (params) => {
155
- const { loadCodexEffectiveMcpCatalog } = await import("./effective-mcp-catalog-K6kLCN8X.mjs");
156
+ const { loadCodexEffectiveMcpCatalog } = await import("./effective-mcp-catalog-CvnvnGIe.mjs");
156
157
  return await loadCodexEffectiveMcpCatalog(params, { bindingStore: options.bindingStore });
157
158
  },
158
159
  supports: (ctx) => {
@@ -195,7 +196,7 @@ function createCodexAppServerAgentHarness(options) {
195
196
  };
196
197
  },
197
198
  runAttempt: async (params) => {
198
- const { runCodexAppServerAttempt } = await import("./run-attempt-rlA07pUv.mjs");
199
+ const { runCodexAppServerAttempt } = await import("./run-attempt-BHu11r7h.mjs");
199
200
  const { planCodexCyberEscalation, readCodexCyberAttemptVerdict, recordCodexCyberTargetUnavailable, reserveCodexCyberProbe, resolveCodexCyberFailoverConfig } = await import("./cyber-failover-DYwbmf1o.mjs");
200
201
  const { emitCodexCyberNotice } = await import("./cyber-failover-notice-e9G3J9-e.mjs");
201
202
  const pluginConfig = resolveAttemptPluginConfig(params.config);
@@ -261,7 +262,7 @@ function createCodexAppServerAgentHarness(options) {
261
262
  const { runHostPreparedIsolatedCompletion } = await import("openclaw/plugin-sdk/simple-completion-runtime");
262
263
  return runHostPreparedIsolatedCompletion(params);
263
264
  }
264
- const { runCodexIsolatedCompletion } = await import("./isolated-completion-B6srt48J.mjs");
265
+ const { runCodexIsolatedCompletion } = await import("./isolated-completion-BIZFhTNG.mjs");
265
266
  return runCodexIsolatedCompletion(params, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
266
267
  },
267
268
  runIsolatedCompletion: async (params) => {
@@ -277,11 +278,11 @@ function createCodexAppServerAgentHarness(options) {
277
278
  });
278
279
  },
279
280
  finalizeSettledTurn: async (params) => {
280
- const { runCodexSettledTurnFinalization } = await import("./settled-turn-finalizer-CiY2bLFK.mjs");
281
+ const { runCodexSettledTurnFinalization } = await import("./settled-turn-finalizer-DiAi6Kx6.mjs");
281
282
  return runCodexSettledTurnFinalization(params, { pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig });
282
283
  },
283
284
  runSideQuestion: async (params) => {
284
- const { runCodexAppServerSideQuestion } = await import("./side-question-DSCZyoBD.mjs");
285
+ const { runCodexAppServerSideQuestion } = await import("./side-question-BJ1wSDcB.mjs");
285
286
  return runCodexAppServerSideQuestion(params, {
286
287
  bindingStore: options.bindingStore,
287
288
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig,
@@ -291,20 +292,25 @@ function createCodexAppServerAgentHarness(options) {
291
292
  });
292
293
  },
293
294
  compact: async (params) => {
294
- const { maybeCompactCodexAppServerSession } = await import("./compact-C3i3qlzj.mjs");
295
+ const { maybeCompactCodexAppServerSession } = await import("./compact-Du5UvtxA.mjs");
295
296
  return maybeCompactCodexAppServerSession(params, {
296
297
  bindingStore: options.bindingStore,
297
298
  pluginConfig: options?.resolvePluginConfig?.() ?? options?.pluginConfig
298
299
  });
299
300
  },
300
301
  withSessionDeletion: async (params, run) => {
301
- const { withCodexAppServerSessionDeletion } = await import("./session-retirement-CU87AOg9.mjs");
302
+ const { withCodexAppServerSessionDeletion } = await import("./session-retirement-BH-S6qkJ.mjs");
302
303
  params.assertCurrent();
303
304
  return withCodexAppServerSessionDeletion(options.bindingStore, params, run);
304
305
  },
306
+ withSessionContextReset: async (params, run) => {
307
+ const { withCodexAppServerSessionContextReset } = await import("./session-retirement-BH-S6qkJ.mjs");
308
+ params.assertCurrent();
309
+ return withCodexAppServerSessionContextReset(options.bindingStore, params, run);
310
+ },
305
311
  reset: async (params) => {
306
312
  if (params.sessionId && params.reason !== "deleted") {
307
- const [{ reclaimCurrentCodexSessionGeneration }, { retireCodexAppServerSessionGeneration }] = await Promise.all([import("./session-binding-_0W_fHRr.mjs").then((n) => n.c), import("./session-retirement-CU87AOg9.mjs")]);
313
+ const [{ reclaimCurrentCodexSessionGeneration }, { retireCodexAppServerSessionGeneration }] = await Promise.all([import("./session-binding-Cm0apEbd.mjs").then((n) => n.s), import("./session-retirement-BH-S6qkJ.mjs")]);
308
314
  const identity = sessionBindingIdentity({
309
315
  agentId: params.agentId,
310
316
  sessionId: params.sessionId,
@@ -336,7 +342,7 @@ function createCodexAppServerAgentHarness(options) {
336
342
  /** Creates the private native-compaction bridge registered in host-owned capability state. */
337
343
  function createCodexAppServerNativeCompaction(options) {
338
344
  return async (params) => {
339
- const { maybeCompactCodexAppServerSession } = await import("./compact-C3i3qlzj.mjs");
345
+ const { maybeCompactCodexAppServerSession } = await import("./compact-Du5UvtxA.mjs");
340
346
  return maybeCompactCodexAppServerSession(params, {
341
347
  bindingStore: options.bindingStore,
342
348
  pluginConfig: options.resolvePluginConfig?.() ?? options.pluginConfig,
@@ -1,4 +1,4 @@
1
- import { m as isJsonObject } from "./config-security-BRQ2mgW9.mjs";
1
+ import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  //#region extensions/codex/src/app-server/inference-context.ts
4
4
  const MAX_CONTEXT_BYTES = 262144;