@openclaw/codex 2026.9.1-beta.1 → 2026.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/api.js +5 -6
  2. package/dist/{attempt-client-cleanup-bfsmcQ6m.js → attempt-client-cleanup-DYHcRQAa.js} +31 -45
  3. package/dist/attempt-context-DmQUNWwT.js +634 -0
  4. package/dist/{auth-binding-B4FfbcCg.js → auth-binding-Ds_QVm-X.js} +18 -3
  5. package/dist/{binding-connection-BMvPX73o.js → binding-connection-E6uDsPlx.js} +2 -2
  6. package/dist/{bounded-turn-B7iBUcuP.js → bounded-turn-wzJrwKKe.js} +15 -20
  7. package/dist/{capabilities-BRMh0aIq.js → capabilities-dIjNVCYH.js} +1 -1
  8. package/dist/cli-metadata.js +1 -1
  9. package/dist/{command-formatters-DEsIufkt.js → command-formatters-CLHhEB1Q.js} +5 -4
  10. package/dist/{command-handlers-D_-1_qRp.js → command-handlers-CTGb2csu.js} +124 -101
  11. package/dist/{compact-BglNFZrQ.js → compact-_t0HQrUS.js} +38 -29
  12. package/dist/{config-giW8X0QA.js → config-BhmfC1s6.js} +294 -282
  13. package/dist/{context-compaction-activity-BOeJf7yo.js → context-compaction-activity-CMla5FPJ.js} +4 -1
  14. package/dist/{conversation-binding-data-CW2GuupV.js → conversation-binding-data-BiodpIzq.js} +2 -1
  15. package/dist/doctor-contract-api.js +143 -12
  16. package/dist/{dynamic-tools-Dnlfa--w.js → dynamic-tools-BU9tmlYm.js} +599 -655
  17. package/dist/{effective-mcp-catalog-CTeGrnfO.js → effective-mcp-catalog-DzYBW4h1.js} +2 -2
  18. package/dist/{event-projector-assistant-message-C5-Ds8mA.js → event-projector-assistant-message-DHRFXKbS.js} +4 -4
  19. package/dist/{event-projector-usage-Bk1I90Bg.js → event-projector-usage-C5mcrGjp.js} +15 -148
  20. package/dist/{harness-Csz0F-DK.js → harness-DXVZ5II5.js} +42 -52
  21. package/dist/harness.js +1 -1
  22. package/dist/index.js +458 -404
  23. package/dist/{isolated-completion-Cv6FqygM.js → isolated-completion-kg9kv4iH.js} +4 -4
  24. package/dist/launch-args-RXQwn8zV.js +90 -0
  25. package/dist/{managed-binary-DFYK4DWq.js → managed-binary-4-Vjz5GH.js} +14 -9
  26. package/dist/media-understanding-provider.js +1 -1
  27. package/dist/model-catalog-CUM68Hkl.js +101 -0
  28. package/dist/{models-TS3HBU-q.js → models-sYnEc0gd.js} +25 -28
  29. package/dist/{native-subagent-monitor-4Mfq2HDs.js → native-subagent-monitor-CnH147jH.js} +55 -115
  30. package/dist/{node-exec-server.runtime-BpWqJO1V.js → node-exec-server.runtime-CstNHCmC.js} +9 -6
  31. package/dist/{plugin-approval-roundtrip-bUm777tR.js → plugin-approval-roundtrip-CNe-Xrjx.js} +30 -3
  32. package/dist/{plugin-marketplace-discovery-B9DvaAG-.js → plugin-marketplace-discovery-CfFlKqDl.js} +15 -14
  33. package/dist/{plugin-metadata-cache-CTCT3w5L.js → plugin-metadata-cache-BFrPhb2c.js} +6 -6
  34. package/dist/provider-capabilities-DW5p4k9w.js +101 -0
  35. package/dist/{rate-limits-C5_D8Gmb.js → rate-limits-CawQJfUS.js} +3 -2
  36. package/dist/{sandbox-guard-kuWTn9C5.js → request-DYAI5FQE.js} +195 -2
  37. package/dist/{run-attempt-DYc0QCBF.js → run-attempt-D1hJO4fX.js} +828 -2100
  38. package/dist/{runtime-artifact-BvyT1uyd.js → runtime-artifact-C3jVimFn.js} +21 -14
  39. package/dist/{session-binding-Bcynfd-_.js → session-binding-BHuTCRZQ.js} +198 -127
  40. package/dist/{session-catalog-DaLKVtpH.js → session-catalog-yyvTWFOw.js} +564 -408
  41. package/dist/{session-cli-DMc4oS2w.js → session-cli-CmFEXMAM.js} +1 -1
  42. package/dist/session-history-C5J1AKzG.js +87 -0
  43. package/dist/session-initialization-BeWzjGiR.js +74 -0
  44. package/dist/{session-permission-policy-BrNH1bjy.js → session-permission-policy-DeWVTCMj.js} +2 -2
  45. package/dist/session-retirement-BujDjXVF.js +97 -0
  46. package/dist/{session-upstream-marker-BIkusb95.js → session-upstream-marker-C351-5Qw.js} +19 -4
  47. package/dist/settled-turn-context-D3SNWtUn.js +268 -0
  48. package/dist/settled-turn-finalizer-BVJx4yoc.js +104 -0
  49. package/dist/{shared-client-DKz23hHY.js → shared-client-DxcfF9KX.js} +3480 -679
  50. package/dist/{side-question-DjA_jsNe.js → side-question-BTZAII4l.js} +108 -70
  51. package/dist/{thread-lifecycle-L7oEkTlq.js → thread-lifecycle-DAcEJ_Om.js} +2188 -1915
  52. package/dist/{thread-ownership-DZeuKH1j.js → thread-ownership-zGokd8i1.js} +25 -14
  53. package/dist/thread-policy-g4KbJPzp.js +54 -0
  54. package/dist/{plugin-app-cache-key-C1CAdfcP.js → thread-resume-C7pyVKeW.js} +59 -7
  55. package/dist/{transcript-mirror-DsCMWBca.js → transcript-mirror-DTUxFWa_.js} +79 -17
  56. package/dist/transport-stdio-CyPldczm.js +726 -0
  57. package/dist/{upstream-prompt-provenance-CFmsKwr9.js → upstream-prompt-provenance-LphB8slG.js} +8 -4
  58. package/dist/upstream-session-fork-CYlBIGVt.js +966 -0
  59. package/dist/{usage-ROIaW3wo.js → usage-Bj-rrzkR.js} +3 -3
  60. package/dist/{web-search-provider.runtime-ClaNPV7N.js → web-search-provider.runtime-D2FWSK4w.js} +3 -3
  61. package/openclaw.plugin.json +1 -30
  62. package/package.json +6 -6
  63. package/dist/command-rpc-CCeCkf_v.js +0 -90
  64. package/dist/incognito-session-ET_ufDH-.js +0 -2
  65. package/dist/model-catalog-i9rNBthX.js +0 -48
  66. package/dist/protocol-validators-VeJxxJ0U.js +0 -2421
  67. package/dist/request-DXXGHko0.js +0 -157
  68. package/dist/session-catalog-home-id-BNwAJ9D7.js +0 -18
  69. package/dist/session-retirement-CcNC3YSY.js +0 -36
  70. package/dist/settled-turn-finalizer-Dc3ApjU4.js +0 -328
  71. package/dist/thread-resume-BE9qNEW0.js +0 -30
  72. package/dist/transport-stdio-DhoGy33Z.js +0 -99
  73. package/dist/upstream-session-fork-DlaHxSLC.js +0 -326
@@ -1,13 +1,13 @@
1
- import { G as CodexAppServerRpcError, J as consumeCodexAppServerLiveThread, et as retainCodexAppServerLiveThread, o as getLeasedSharedCodexAppServerClient, p as releaseLeasedSharedCodexAppServerClient, vt as isJsonObject } from "./shared-client-DKz23hHY.js";
2
- import { d as sessionBindingIdentity, t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-Bcynfd-_.js";
3
- import { _ as readCodexNotificationTurnId, a as closeCodexStartupClientBestEffort, d as unsubscribeCodexThreadBestEffort, g as readCodexNotificationThreadId, r as CodexAppServerUnsafeSubscriptionError, s as isCodexAlreadyTerminalInterruptError } from "./attempt-client-cleanup-bfsmcQ6m.js";
4
- import { i as readCodexThreadContextSnapshot, x as readCodexNotificationItem } from "./event-projector-usage-Bk1I90Bg.js";
5
- import { t as isIncognitoSessionKey } from "./incognito-session-ET_ufDH-.js";
6
- import { t as resumeCodexAppServerThread } from "./thread-resume-BE9qNEW0.js";
7
- import { n as resolveCodexNativeExecutionBlock } from "./sandbox-guard-kuWTn9C5.js";
8
- import { t as isSameCodexAppServerThreadOwner } from "./thread-ownership-DZeuKH1j.js";
9
- import { n as resolveCodexBindingAppServerConnection } from "./binding-connection-BMvPX73o.js";
10
- import { t as persistCodexContextCompactionActivity } from "./context-compaction-activity-BOeJf7yo.js";
1
+ import { $t as isJsonObject, At as retainCodexAppServerLiveThread, St as consumeCodexAppServerLiveThread, c as getLeasedSharedCodexAppServerClient, h as releaseLeasedSharedCodexAppServerClient, q as CodexAppServerRpcError } from "./shared-client-DxcfF9KX.js";
2
+ import { d as sessionBindingIdentity, t as CODEX_APP_SERVER_BINDING_GUARDED_REQUEST_TIMEOUT_MS } from "./session-binding-BHuTCRZQ.js";
3
+ import { _ as readCodexNotificationTurnId, a as closeCodexStartupClientBestEffort, d as unsubscribeCodexThreadBestEffort, g as readCodexNotificationThreadId, r as CodexAppServerUnsafeSubscriptionError, s as isCodexAlreadyTerminalInterruptError } from "./attempt-client-cleanup-DYHcRQAa.js";
4
+ import { f as readCodexNotificationItem, i as readCodexThreadContextSnapshot } from "./event-projector-usage-C5mcrGjp.js";
5
+ import { t as resumeCodexAppServerThread } from "./thread-resume-C7pyVKeW.js";
6
+ import { l as isIncognitoSessionKey, o as withCodexAppServerThreadMutation, t as isSameCodexAppServerThreadOwner } from "./thread-ownership-zGokd8i1.js";
7
+ import { s as resolveCodexNativeExecutionBlock } from "./request-DYAI5FQE.js";
8
+ import { r as assertCodexSupervisionThreadLineage } from "./thread-policy-g4KbJPzp.js";
9
+ import { n as resolveCodexBindingAppServerConnection } from "./binding-connection-E6uDsPlx.js";
10
+ import { t as persistCodexContextCompactionActivity } from "./context-compaction-activity-CMla5FPJ.js";
11
11
  import { asOptionalRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
12
12
  import { createDeferred } from "openclaw/plugin-sdk/extension-shared";
13
13
  import { embeddedAgentLog, resolveCompactionTimeoutMs } from "openclaw/plugin-sdk/agent-harness-runtime";
@@ -15,17 +15,12 @@ import { resolveAgentDir as resolveAgentDir$1 } from "openclaw/plugin-sdk/agent-
15
15
  import { resolveDefaultAgentId as resolveDefaultAgentId$1 } from "openclaw/plugin-sdk/agent-scope-runtime";
16
16
  import { AsyncLocalStorage } from "node:async_hooks";
17
17
  import { coerceErrorMessage } from "openclaw/plugin-sdk/error-runtime";
18
- import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
19
18
  import { createDedupeCache } from "openclaw/plugin-sdk/dedupe-runtime";
20
19
  //#region extensions/codex/src/app-server/compact.ts
21
- /**
22
- * Native Codex app-server compaction bridge for bound OpenClaw sessions.
23
- */
24
20
  const warnedIgnoredCompactionOverrides = createDedupeCache({
25
21
  ttlMs: 0,
26
22
  maxSize: 4096
27
23
  });
28
- const codexNativeCompactionQueue = new KeyedAsyncQueue();
29
24
  const CODEX_NATIVE_COMPACTION_INTERRUPT_GRACE_MS = 3e4;
30
25
  function watchCodexNativeCompactionCompletion(params) {
31
26
  const runOutsideBindingLease = AsyncLocalStorage.snapshot();
@@ -196,7 +191,7 @@ function watchCodexNativeCompactionCompletion(params) {
196
191
  async function runExclusiveCodexNativeCompaction(threadId, signal, run) {
197
192
  signal?.throwIfAborted();
198
193
  let started = false;
199
- const queued = codexNativeCompactionQueue.enqueue(threadId, async () => {
194
+ const queued = withCodexAppServerThreadMutation(threadId, async () => {
200
195
  started = true;
201
196
  signal?.throwIfAborted();
202
197
  return run();
@@ -282,7 +277,7 @@ async function compactCodexNativeThread(params, options) {
282
277
  config: params.config,
283
278
  sessionKey: params.sandboxSessionKey ?? params.sessionKey,
284
279
  sessionId: params.sessionId,
285
- agentId: params.agentId,
280
+ agentId: params.sandboxAgentId ?? params.agentId,
286
281
  sandbox,
287
282
  surface: "native compaction"
288
283
  });
@@ -400,17 +395,29 @@ async function compactCodexNativeThread(params, options) {
400
395
  const acquireThreadSubscription = async (timeoutMs) => {
401
396
  if (!isIncognitoSessionKey(params.sessionKey)) {
402
397
  retainedThreadOwnership = await consumeCodexAppServerLiveThread(client, binding.threadId);
403
- if (!retainedThreadOwnership) await resumeCodexAppServerThread({
404
- client,
405
- abandonClient: async () => closeCodexStartupClientBestEffort(client),
406
- request: {
398
+ if (!retainedThreadOwnership) {
399
+ const resumed = await resumeCodexAppServerThread({
400
+ client,
401
+ abandonClient: async () => closeCodexStartupClientBestEffort(client),
402
+ request: {
403
+ threadId: binding.threadId,
404
+ excludeTurns: true
405
+ },
406
+ timeoutMs: timeoutMs ?? appServer.requestTimeoutMs,
407
+ ...params.abortSignal ? { signal: params.abortSignal } : {}
408
+ });
409
+ releaseThreadSubscription = async () => releaseCompactionThread(binding.threadId);
410
+ assertCodexSupervisionThreadLineage(binding, resumed.thread);
411
+ } else if (binding.connectionScope === "supervision") {
412
+ releaseThreadSubscription = async () => retainedThreadOwnership?.release(binding.threadId);
413
+ const { thread } = await client.request("thread/read", {
407
414
  threadId: binding.threadId,
408
- excludeTurns: true
409
- },
410
- timeoutMs: timeoutMs ?? appServer.requestTimeoutMs,
411
- ...params.abortSignal ? { signal: params.abortSignal } : {}
412
- });
413
- releaseThreadSubscription = async () => releaseCompactionThread(binding.threadId);
415
+ includeTurns: false
416
+ });
417
+ retainedThreadOwnership.assertCurrent();
418
+ assertCodexSupervisionThreadLineage(binding, thread);
419
+ }
420
+ releaseThreadSubscription ??= async () => releaseCompactionThread(binding.threadId);
414
421
  }
415
422
  };
416
423
  try {
@@ -534,8 +541,10 @@ async function compactCodexNativeThread(params, options) {
534
541
  try {
535
542
  if ((compactionSucceeded || compactionRequestDefinitelyRejected) && retainedThreadOwnership) {
536
543
  const ownership = retainedThreadOwnership;
537
- if (!(isSameCodexAppServerThreadOwner(await options.bindingStore.read(bindingIdentity), binding) && await options.bindingStore.withLease(bindingIdentity, async () => {
538
- if (!isSameCodexAppServerThreadOwner(await options.bindingStore.read(bindingIdentity), binding)) return false;
544
+ const currentBinding = await options.bindingStore.read(bindingIdentity);
545
+ if (!(isSameCodexAppServerThreadOwner(currentBinding, binding) && await options.bindingStore.withLease(bindingIdentity, async () => {
546
+ const leasedBinding = await options.bindingStore.read(bindingIdentity);
547
+ if (!isSameCodexAppServerThreadOwner(leasedBinding, binding)) return false;
539
548
  return await retainCodexAppServerLiveThread(client, binding.threadId, ownership.release, ownership.configFingerprint, ownership.serviceTier);
540
549
  }))) await releaseThreadSubscription?.();
541
550
  } else await releaseThreadSubscription?.();