@openclaw/codex 2026.10.5-beta.3 → 2026.10.10-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/README.md +10 -3
  2. package/dist/.setup/{account-usage-runtime-CBR8imwK.mjs → account-usage-runtime-DDCDkvtl.mjs} +15 -9
  3. package/dist/.setup/{app-server-policy-D_zv8J7V.mjs → app-server-policy-Cog6mm2i.mjs} +1 -1
  4. package/dist/.setup/{apply-CfWD3Bk6.mjs → apply-BVSXYkTV.mjs} +11 -11
  5. package/dist/.setup/{attempt-client-cleanup-D3YvP0N7.mjs → attempt-client-cleanup-6OcbMH46.mjs} +14 -8
  6. package/dist/.setup/attempt-terminal-sZutF0WY.mjs +1 -0
  7. package/dist/.setup/{attempt-workspace-context-CcwP3DA3.mjs → attempt-workspace-context-GYPLawX6.mjs} +2 -2
  8. package/dist/.setup/{auth-binding-BaxlhaNx.mjs → auth-binding-830RLAJW.mjs} +2 -2
  9. package/dist/.setup/{auth-cache-key-BzYrcgwJ.mjs → auth-cache-key-CVcYw8HD.mjs} +92 -80
  10. package/dist/.setup/{auth-profile-CgHQ8Vot.mjs → auth-profile-auwzSwwy.mjs} +14 -8
  11. package/dist/.setup/{auth-profile-health-oHizqgye.mjs → auth-profile-health-BVPZU9I8.mjs} +15 -8
  12. package/dist/.setup/{auth-profile-selection-hr8ocLtz.mjs → auth-profile-selection-Bp5PDk3W.mjs} +24 -7
  13. package/dist/.setup/{binding-connection-B7HAAZSI.mjs → binding-connection-GTgUj9pi.mjs} +2 -2
  14. package/dist/.setup/{binding-connection.runtime-DAXn7iFl.mjs → binding-connection.runtime-RcWR3vQu.mjs} +4 -3
  15. package/dist/.setup/{bounded-turn-isolation-BfDAo-qZ.mjs → bounded-turn-isolation-D8CDrAVX.mjs} +3 -3
  16. package/dist/.setup/{bounded-turn-BmChqNaK.mjs → bounded-turn-mN_ekXYW.mjs} +18 -22
  17. package/dist/.setup/{build-state-sjOWPg_o.mjs → build-state-VcujMRqP.mjs} +1 -1
  18. package/dist/.setup/{capabilities-DbOzOglY.mjs → capabilities-DAS-JX1z.mjs} +1 -1
  19. package/dist/.setup/{client-aPKNc4Ii.mjs → client-BS8X7HmG.mjs} +47 -317
  20. package/dist/.setup/{client-catalog-response-Du2GmrOV.mjs → client-catalog-response-jM38o5w1.mjs} +2 -2
  21. package/dist/.setup/client-initialize-CjgZcX61.mjs +165 -0
  22. package/dist/.setup/{command-dispatch-CF6mgl3u.mjs → command-dispatch-DzXbHqCn.mjs} +3 -3
  23. package/dist/.setup/{command-formatters-xW9KpoSZ.mjs → command-formatters-B_7-QZ1c.mjs} +2 -2
  24. package/dist/.setup/{command-handlers-DlycReQg.mjs → command-handlers-tfb5Uq-O.mjs} +539 -406
  25. package/dist/.setup/command-rpc-SXqLQukR.mjs +296 -0
  26. package/dist/.setup/compact-M-JxLcbZ.mjs +823 -0
  27. package/dist/.setup/{computer-use-C6yYfm6-.mjs → computer-use-FqQ-Flbl.mjs} +21 -68
  28. package/dist/.setup/{config-C1YVVLEA.mjs → config-BfrAlTMT.mjs} +3 -3
  29. package/dist/.setup/{config-options-DDzeNQ8m.mjs → config-options-DMFZkd3X.mjs} +1 -1
  30. package/dist/.setup/{config-runtime-DWzK-k0n.mjs → config-runtime-BZRizyuG.mjs} +2 -2
  31. package/dist/.setup/{context-engine-projection-ps-yn_ci.mjs → context-engine-projection-PIeLSnR-.mjs} +16 -30
  32. package/dist/.setup/{conversation-binding-CP_mK17t.mjs → conversation-binding-C7MZy-Cx.mjs} +228 -116
  33. package/dist/.setup/{conversation-binding-data-UgLuTSQT.mjs → conversation-binding-data-khgW0n-o.mjs} +4 -2
  34. package/dist/.setup/{conversation-control-GXM3unE4.mjs → conversation-control-B2EpVZEb.mjs} +53 -23
  35. package/dist/.setup/{cyber-failover-D4dgNfFf.mjs → cyber-failover-CqEZoQsj.mjs} +1 -1
  36. package/dist/.setup/{cyber-failover-notice-ljgGGL0s.mjs → cyber-failover-notice-poL3Advd.mjs} +1 -1
  37. package/dist/.setup/{doctor-start-options-JjTAl-q_.mjs → doctor-start-options-8uIBXIzR.mjs} +8 -5
  38. package/dist/.setup/{dynamic-tool-build-DKko0Jjw.mjs → dynamic-tool-build-BjFAIG-f.mjs} +208 -218
  39. package/dist/.setup/{dynamic-tools-8hqa1jVc.mjs → dynamic-tools-XqWsVjcC.mjs} +344 -118
  40. package/dist/.setup/{effective-mcp-catalog-uIZ4w7Nh.mjs → effective-mcp-catalog-C3ta5hHc.mjs} +11 -9
  41. package/dist/.setup/{ephemeral-turn-DAlEbytF.mjs → ephemeral-turn-1ZF17fUR.mjs} +5 -4
  42. package/dist/.setup/{event-projector-assistant-message-CLMKN4x-.mjs → event-projector-assistant-message-ChOAY7rW.mjs} +16 -11
  43. package/dist/.setup/{event-projector-usage-BpKfdoTm.mjs → event-projector-usage-CBY0Hkga.mjs} +2 -2
  44. package/dist/.setup/{event-projector-values-CLvG1Hil.mjs → event-projector-values-yf4us9Pf.mjs} +1 -1
  45. package/dist/.setup/experimental-features-uGnVDtp-.mjs +19 -0
  46. package/dist/.setup/inference-context-mv_dBpAL.mjs +209 -0
  47. package/dist/.setup/{inference-dispatch-CO6tTs4q.mjs → inference-dispatch-C2zVSnrr.mjs} +2 -2
  48. package/dist/.setup/{inference-metadata-DCvcG_N_.mjs → inference-metadata-CYFWLHVk.mjs} +3 -1
  49. package/dist/.setup/{inference-proxy-BDWV0djM.mjs → inference-proxy-yd3hr2dr.mjs} +8 -8
  50. package/dist/.setup/installed-probe-lVC1X5ve.mjs +185 -0
  51. package/dist/.setup/{isolated-completion-BWEjVHBf.mjs → isolated-completion-P-r8NRE4.mjs} +7 -7
  52. package/dist/.setup/managed-binary-DbKvGXKl.mjs +395 -0
  53. package/dist/.setup/{mcp-app-session-preparation-CJR8ib5s.mjs → mcp-app-session-preparation-fnsnCovu.mjs} +18 -14
  54. package/dist/.setup/{model-catalog-Ben3FsFp.mjs → model-catalog-Y_esgRPY.mjs} +28 -17
  55. package/dist/.setup/{models-BB0l-gUb.mjs → models-BWLEUo2E.mjs} +3 -3
  56. package/dist/.setup/{native-auth-esN5MdIv.mjs → native-auth-DpZIaY8N.mjs} +7 -4
  57. package/dist/.setup/native-execution-policy-D09tLP-u.mjs +152 -0
  58. package/dist/.setup/{native-hook-relay-DQzvuJ-W.mjs → native-hook-relay-C7aaLJaP.mjs} +45 -10
  59. package/dist/.setup/{native-mcp-app-UkwXOBfS.mjs → native-mcp-app-CsWj-v_x.mjs} +5 -5
  60. package/dist/.setup/{native-skill-isolation-DoRxgQPX.mjs → native-skill-isolation-CMimsKYy.mjs} +7 -7
  61. package/dist/.setup/{native-subagent-monitor-DC4clzAD.mjs → native-subagent-monitor-CFE7b4oC.mjs} +485 -239
  62. package/dist/.setup/{native-subagent-pending-assignments-DmVhedNs.mjs → native-subagent-pending-assignments-CTinVtjo.mjs} +1 -1
  63. package/dist/.setup/{native-task-assignments-DimsQ9Qa.mjs → native-task-assignments-YJopbaVO.mjs} +9 -5
  64. package/dist/.setup/{node-cli-sessions-CzKg2nGq.mjs → node-cli-sessions-BuJnBnEq.mjs} +7 -4
  65. package/dist/.setup/{node-exec-server.runtime-BWkULhBM.mjs → node-exec-server.runtime-CP7RC1Nd.mjs} +3 -3
  66. package/dist/.setup/{plan-DFVngccH.mjs → plan-B4cHgqNv.mjs} +7 -20
  67. package/dist/.setup/{plugin-activation-D7WkJMvU.mjs → plugin-activation-CXPWe-hl.mjs} +4 -4
  68. package/dist/.setup/{plugin-app-cache-key-Bg9DbDI6.mjs → plugin-app-cache-key-DRb-niJc.mjs} +17 -55
  69. package/dist/.setup/{plugin-approval-roundtrip-68FoMlaZ.mjs → plugin-approval-roundtrip-DIZHLbAM.mjs} +1 -1
  70. package/dist/.setup/{plugin-inventory-CYgdo14P.mjs → plugin-inventory-DE9wcaeH.mjs} +2 -2
  71. package/dist/.setup/{plugin-metadata-cache-Bi8TAPwX.mjs → plugin-metadata-cache-BqC-a6Fb.mjs} +2 -15
  72. package/dist/.setup/{project-doc-thread-config-BVcvnps8.mjs → project-doc-thread-config-B0UI3f1D.mjs} +6 -6
  73. package/dist/.setup/protocol-CaPAVwe9.mjs +12 -0
  74. package/dist/.setup/{provider-capabilities-DWH29sy3.mjs → provider-capabilities-DjcKunHS.mjs} +1 -1
  75. package/dist/.setup/{provider-BCXRBKEb.mjs → provider-wj_LFJH3.mjs} +4 -4
  76. package/dist/.setup/{rate-limits-CI8pTPqL.mjs → rate-limits-BpfURnuy.mjs} +1 -1
  77. package/dist/.setup/{request-DInueZ2q.mjs → request-ePeNJrOd.mjs} +132 -136
  78. package/dist/.setup/{responses-oauth-twnuTaAa.mjs → responses-oauth-CCV7aVYF.mjs} +6 -6
  79. package/dist/.setup/{rpc-error-C98SHchT.mjs → rpc-error-DemqqaxE.mjs} +7 -3
  80. package/dist/.setup/{run-attempt-BN-0TO0P.mjs → run-attempt-BcWArowv.mjs} +595 -426
  81. package/dist/.setup/{run-attempt-lifecycle-KN4oh-7O.mjs → run-attempt-lifecycle-DN-ATDp9.mjs} +1 -1
  82. package/dist/.setup/{runtime-artifact-C13pR7tD.mjs → runtime-artifact-CmLWeyJB.mjs} +3 -3
  83. package/dist/.setup/{runtime-artifact-connection-jS5DeCok.mjs → runtime-artifact-connection-DpWlZ02e.mjs} +3 -3
  84. package/dist/.setup/{sandbox-guard-DIImwCy1.mjs → sandbox-guard-DneAfNye.mjs} +70 -30
  85. package/dist/.setup/{session-binding-JEHNMPsr.mjs → session-binding-BgsWcbdY.mjs} +25 -23
  86. package/dist/.setup/{session-binding-record-DU_0biMD.mjs → session-binding-record-C_THntMe.mjs} +27 -12
  87. package/dist/.setup/{session-binding-record-codec-BpH8u_G9.mjs → session-binding-record-codec-DvmOI7g_.mjs} +1 -0
  88. package/dist/.setup/{session-binding-sidecars-DD-enC8w.mjs → session-binding-sidecars-BNSS6WL4.mjs} +55 -63
  89. package/dist/.setup/session-cancellation-DLBSJO5n.mjs +43 -0
  90. package/dist/.setup/{session-catalog-adoption-Ca3OYGYM.mjs → session-catalog-adoption-ppsLlVLB.mjs} +24 -38
  91. package/dist/.setup/{session-catalog-archive-Bv6gV7x9.mjs → session-catalog-archive-CqLRHJ6z.mjs} +11 -13
  92. package/dist/.setup/{session-catalog-events-DujfzcAY.mjs → session-catalog-events-DK0opVp3.mjs} +5 -5
  93. package/dist/.setup/{session-catalog-index-DQ9_sj42.mjs → session-catalog-index-BfzfdtH7.mjs} +96 -271
  94. package/dist/.setup/{session-catalog-index-order-CTfoefow.mjs → session-catalog-index-order-0Zqng2u8.mjs} +1 -1
  95. package/dist/.setup/{session-catalog-limits-BynIoOYm.mjs → session-catalog-limits-Dc6E0BZz.mjs} +1 -1
  96. package/dist/.setup/{session-catalog-list-request-D4MYNgDB.mjs → session-catalog-list-request-CAjoWjaH.mjs} +3 -4
  97. package/dist/.setup/{session-catalog-native-projection-BY2zMkMO.mjs → session-catalog-native-projection-G3lSDYYG.mjs} +5 -5
  98. package/dist/.setup/{session-catalog-node-adoption-BdP9Zjqo.mjs → session-catalog-node-adoption-e9v8mGgx.mjs} +5 -5
  99. package/dist/.setup/{session-catalog-node-continue-CNJibO4_.mjs → session-catalog-node-continue-H7nrzcUD.mjs} +5 -5
  100. package/dist/.setup/{session-catalog-node-lookup-BH_DBGa9.mjs → session-catalog-node-lookup-BrZfDkA8.mjs} +2 -2
  101. package/dist/.setup/{session-catalog-parsing-DkeoVn60.mjs → session-catalog-parsing-V6jyFg9g.mjs} +2 -2
  102. package/dist/.setup/{session-catalog-projection-BTXOyzl_.mjs → session-catalog-projection-BjWE414G.mjs} +8 -7
  103. package/dist/.setup/{session-catalog-provenance-CmsOE5mh.mjs → session-catalog-provenance-Dg9s12z-.mjs} +50 -30
  104. package/dist/.setup/{session-catalog-source-yQpy2Y6b.mjs → session-catalog-source-DqyuNxCe.mjs} +2 -6
  105. package/dist/.setup/{session-cli-GwU0izn-.mjs → session-cli-CBGKiqdv.mjs} +1 -1
  106. package/dist/.setup/{session-history-BO6i_pfk.mjs → session-history-7W0cgTXF.mjs} +11 -9
  107. package/dist/.setup/{session-history-import-CaO8s6ta.mjs → session-history-import-BwPKwcNi.mjs} +4 -4
  108. package/dist/.setup/{session-initialization-Bi_2DKhc.mjs → session-initialization-Dn3vveGv.mjs} +2 -2
  109. package/dist/.setup/{session-retirement-CIDqLMII.mjs → session-retirement-Ci_JvOfH.mjs} +8 -8
  110. package/dist/.setup/{session-history.worker-DJQfek5p.mjs → settled-turn-evidence--tRW6fSm.mjs} +2 -18
  111. package/dist/.setup/{settled-turn-finalizer-C6tjH8RJ.mjs → settled-turn-finalizer-D3-KXsbP.mjs} +8 -8
  112. package/dist/.setup/{shared-client-CCz9ldpr.mjs → shared-client-CE_uY0A1.mjs} +380 -557
  113. package/dist/.setup/side-question-OM18H9WJ.mjs +998 -0
  114. package/dist/.setup/{source-DsubBCYm.mjs → source-uGKgKWm8.mjs} +5 -5
  115. package/dist/.setup/{thread-archive-guard-LKdwQKyr.mjs → thread-archive-guard-BWjSsA92.mjs} +1 -1
  116. package/dist/.setup/{thread-lifecycle-run-CxVfnkG-.mjs → thread-lifecycle-run-mLueY6pH.mjs} +172 -75
  117. package/dist/.setup/{thread-model-selection-DcVebr8N.mjs → thread-model-selection-DxposL4X.mjs} +9 -9
  118. package/dist/.setup/{thread-ownership-_2e1sjfi.mjs → thread-ownership-t6Y9fLQS.mjs} +7 -7
  119. package/dist/.setup/{thread-policy-CLTwg3ZA.mjs → thread-policy-Cy301Or8.mjs} +6 -6
  120. package/dist/.setup/{thread-requests-BgzJwJtS.mjs → thread-requests-BjawdIVV.mjs} +14 -14
  121. package/dist/.setup/{thread-resume-C6qsk8_o.mjs → thread-resume-BUbsUfgF.mjs} +6 -6
  122. package/dist/.setup/{transcript-history-projection-DfKcoZCB.mjs → transcript-history-projection-i-FVpyha.mjs} +1 -1
  123. package/dist/.setup/{transcript-mirror-Bee2o6jj.mjs → transcript-mirror-CEQJZlF3.mjs} +6 -9
  124. package/dist/.setup/{transport-stdio-CRWTkKOn.mjs → transport-stdio-Bq160Dhv.mjs} +63 -64
  125. package/dist/.setup/{transport-websocket-DIyPfkHo.mjs → transport-websocket-0YqiI_MH.mjs} +1 -1
  126. package/dist/.setup/{turn-router-CSJl3yYQ.mjs → turn-router-Dbw17k3K.mjs} +2 -2
  127. package/dist/.setup/{upstream-session-fork-BC45E4Pe.mjs → upstream-session-fork-_LYkh0nZ.mjs} +46 -219
  128. package/dist/.setup/{usage-limit-error-CJoJ_F8V.mjs → usage-limit-error-DcOSH3J4.mjs} +4 -4
  129. package/dist/.setup/{usage-1eNaNDM2.mjs → usage-w_93wnnR.mjs} +4 -4
  130. package/dist/.setup/{web-search-item-CvokaZOo.mjs → web-search-item-DHVuNSqk.mjs} +1 -1
  131. package/dist/.setup/{web-search-provider.runtime-Qq_wUrvv.mjs → web-search-provider.runtime-DMHxve5v.mjs} +3 -3
  132. package/dist/.setup/{workspace-write-sandbox-probe-BDWO2Qkh.mjs → workspace-write-sandbox-probe-DJxOXcF3.mjs} +2 -2
  133. package/dist/api.js +7 -28
  134. package/dist/catalog-page.worker.js +1 -1
  135. package/dist/cli-metadata.js +1 -1
  136. package/dist/client-version-api.js +25 -0
  137. package/dist/doctor-contract-api.js +5 -5
  138. package/dist/harness.js +59 -36
  139. package/dist/index.js +259 -295
  140. package/dist/media-understanding-provider.js +2 -2
  141. package/dist/migration-provider-api.js +1 -2
  142. package/dist/native-session-binding-api.js +1 -2
  143. package/dist/provider-discovery.js +1 -1
  144. package/dist/session-history-worker-entrypoint.js +12 -0
  145. package/dist/session-history-worker-runtime.js +7 -18
  146. package/dist/session-history.worker.js +18 -2
  147. package/openclaw.plugin.json +1 -1
  148. package/package.json +6 -6
  149. package/dist/.setup/attempt-terminal-jO5IMj9K.mjs +0 -2
  150. package/dist/.setup/command-rpc-CUy4Bo-0.mjs +0 -247
  151. package/dist/.setup/compact-BCCjM_cb.mjs +0 -808
  152. package/dist/.setup/inference-context-DNlGwzwy.mjs +0 -91
  153. package/dist/.setup/managed-binary-BtIjV7yN.mjs +0 -175
  154. package/dist/.setup/native-execution-policy-MXEe7PB3.mjs +0 -75
  155. package/dist/.setup/protocol-CANUwXJ3.mjs +0 -17
  156. package/dist/.setup/side-question-COaYBoON.mjs +0 -826
@@ -1,4 +1,4 @@
1
- import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
1
+ import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
2
  import { asOptionalRecord, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { createHash } from "node:crypto";
4
4
  import { isDeepStrictEqual } from "node:util";
@@ -1,4 +1,4 @@
1
- import { _ as readCodexNativeSubagentHistoryOwner, h as codexNativeSubagentHistoryConnectionFingerprint, r as readNativePendingAssignments, u as readCodexNativeSubagentRunId } from "./native-subagent-pending-assignments-DmVhedNs.mjs";
1
+ import { _ as readCodexNativeSubagentHistoryOwner, h as codexNativeSubagentHistoryConnectionFingerprint, r as readNativePendingAssignments, u as readCodexNativeSubagentRunId } from "./native-subagent-pending-assignments-CTinVtjo.mjs";
2
2
  import { i as CODEX_APP_SERVER_BINDING_NAMESPACE, r as CODEX_APP_SERVER_BINDING_MAX_ENTRIES } from "./session-binding-meta-Lkm5Lpf4.mjs";
3
3
  import { isDeepStrictEqual } from "node:util";
4
4
  import { z } from "zod";
@@ -56,7 +56,7 @@ async function inspect(params) {
56
56
  if (extractErrorCode(error) === "ENOENT") return [];
57
57
  throw error;
58
58
  }
59
- const { bindingStoreKey, readStoredCodexAppServerBinding } = await import("./session-binding-record-DU_0biMD.mjs").then((n) => n.h);
59
+ const { bindingStoreKey, readStoredCodexAppServerBinding } = await import("./session-binding-record-C_THntMe.mjs").then((n) => n._);
60
60
  const { executeSqliteQuerySync, getNodeSqliteKysely, openNodeSqliteDatabase, prepareSqliteReadOnlyLocation, tableExists } = await import("openclaw/plugin-sdk/sqlite-runtime");
61
61
  const snapshot = await prepareSqliteReadOnlyLocation(source, { preserveSourceArtifacts: true });
62
62
  try {
@@ -126,7 +126,7 @@ function prepareAssignment(task, stored, params, { getSessionEntry, resolveStore
126
126
  }
127
127
  async function settleHistoricalDelivery(task, key, observedBinding, params, sessionStore) {
128
128
  const { executeSqliteQuerySync, getNodeSqliteKysely, openNodeSqliteDatabase, resolveExistingSqliteFileUri, runSqliteImmediateTransactionSync } = await import("openclaw/plugin-sdk/sqlite-runtime");
129
- const { readStoredCodexAppServerBinding } = await import("./session-binding-record-DU_0biMD.mjs").then((n) => n.h);
129
+ const { readStoredCodexAppServerBinding } = await import("./session-binding-record-C_THntMe.mjs").then((n) => n._);
130
130
  const db = openNodeSqliteDatabase(resolveExistingSqliteFileUri(databasePath(params)));
131
131
  try {
132
132
  const sql = getNodeSqliteKysely(db);
@@ -170,8 +170,12 @@ const codexNativeTaskAssignmentMigration = {
170
170
  changes: [],
171
171
  warnings
172
172
  };
173
- const { bindingStoreKey, readStoredCodexAppServerBinding } = await import("./session-binding-record-DU_0biMD.mjs").then((n) => n.h);
174
- const sessionStore = await import("openclaw/plugin-sdk/session-store-runtime");
173
+ const { bindingStoreKey, readStoredCodexAppServerBinding } = await import("./session-binding-record-C_THntMe.mjs").then((n) => n._);
174
+ const { getSessionEntry, resolveStorePath } = await import("openclaw/plugin-sdk/session-store-runtime");
175
+ const sessionStore = {
176
+ getSessionEntry,
177
+ resolveStorePath
178
+ };
175
179
  let imported = 0;
176
180
  let settled = 0;
177
181
  const store = params.context.openPluginStateKeyedStore({
@@ -1,6 +1,6 @@
1
- import { A as unwrapNodeInvokePayload, x as readBoundedOptionalString } from "./session-catalog-parsing-DkeoVn60.mjs";
1
+ import { A as unwrapNodeInvokePayload, x as readBoundedOptionalString } from "./session-catalog-parsing-V6jyFg9g.mjs";
2
2
  import { r as resolveCodexAppServerUserHomeDir } from "./auth-start-options-BPIPeEX8.mjs";
3
- import { o as formatCodexDisplayText } from "./command-formatters-xW9KpoSZ.mjs";
3
+ import { o as formatCodexDisplayText } from "./command-formatters-B_7-QZ1c.mjs";
4
4
  import { t as codexCatalogHomeId } from "./session-catalog-home-id-vlih0B_g.mjs";
5
5
  import { asNonArrayRecord, isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { timestampMsToIsoString } from "openclaw/plugin-sdk/number-runtime";
@@ -196,8 +196,11 @@ async function resumeCodexCliSessionOnNode(params) {
196
196
  let catalogAgentId;
197
197
  let catalogHomeId;
198
198
  if (params.sessionKey) {
199
- const { adoptionSessionKeyRest, CODEX_NODE_SESSION_KEY_PREFIX, readNodeSessionMarker } = await import("./session-catalog-node-adoption-BdP9Zjqo.mjs");
200
- const entry = params.runtime.agent.session.getSessionEntry({
199
+ const storePath = params.storePath ?? params.runtime.agent.session.resolveStorePath(void 0, { agentId: params.agentId });
200
+ const { adoptionSessionKeyRest, CODEX_NODE_SESSION_KEY_PREFIX, readNodeSessionMarker } = await import("./session-catalog-node-adoption-e9v8mGgx.mjs");
201
+ const entry = await params.runtime.agent.session.getSessionEntryAsync({
202
+ agentId: params.agentId,
203
+ storePath,
201
204
  sessionKey: params.sessionKey,
202
205
  readConsistency: "latest"
203
206
  });
@@ -1,5 +1,5 @@
1
- import { i as resolveManagedCodexNativeCommand, r as resolveManagedCodexAppServerStartOptions, t as isManagedCodexDesktopCommand } from "./managed-binary-BtIjV7yN.mjs";
2
- import { o as closeCodexAppServerTransportAndWait, t as createStdioTransport } from "./transport-stdio-CRWTkKOn.mjs";
1
+ import { a as isManagedCodexDesktopCommand, f as resolveManagedCodexNativeCommand, u as resolveManagedCodexAppServerStartOptions } from "./managed-binary-DbKvGXKl.mjs";
2
+ import { o as closeCodexAppServerTransportAndWait, t as createStdioTransport } from "./transport-stdio-Bq160Dhv.mjs";
3
3
  import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { stripVTControlCharacters } from "node:util";
5
5
  import { killProcessTree } from "openclaw/plugin-sdk/process-runtime";
@@ -144,7 +144,7 @@ async function runCodexNodeExecServer(params) {
144
144
  "stdio"
145
145
  ],
146
146
  headers: {}
147
- });
147
+ }, { preferInstalled: false });
148
148
  const native = resolveManagedCodexNativeCommand(resolved.command);
149
149
  if (!native || isManagedCodexDesktopCommand(resolved.command)) throw new Error("Codex node exec-server requires the pinned managed package binary.");
150
150
  const baseEnv = sanitizeEnvVars(process.env, {
@@ -1,7 +1,8 @@
1
1
  import { t as isOnlyMigrationKind } from "./scope-DOC1Xjc8.mjs";
2
- import { u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-CYgdo14P.mjs";
3
- import "./config-C1YVVLEA.mjs";
4
- import { i as hasCodexSource, n as defaultCodexHome, o as readJsonObject, r as discoverCodexSource, s as sanitizeName, t as codexPluginMigrationSubscriptionWarning } from "./source-DsubBCYm.mjs";
2
+ import { u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-DE9wcaeH.mjs";
3
+ import "./config-BfrAlTMT.mjs";
4
+ import { t as readCodexExperimentalFeature } from "./experimental-features-uGnVDtp-.mjs";
5
+ import { i as hasCodexSource, n as defaultCodexHome, o as readJsonObject, r as discoverCodexSource, s as sanitizeName, t as codexPluginMigrationSubscriptionWarning } from "./source-uGKgKWm8.mjs";
5
6
  import { asBoolean, asOptionalRecord, isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
7
  import { createHash } from "node:crypto";
7
8
  import { runCommandBuffered } from "openclaw/plugin-sdk/process-runtime";
@@ -97,8 +98,8 @@ async function readCodexCliCredentialsAsync(options) {
97
98
  options.signal?.throwIfAborted();
98
99
  if (!options.allowKeychainPrompt) return;
99
100
  const home = await fs.realpath(options.codexHome).catch(() => path.resolve(options.codexHome));
100
- const { CodexAppServerClient } = await import("./client-aPKNc4Ii.mjs").then((n) => n.n);
101
- const { resolveManagedCodexPackageEntrypoint, resolveManagedCodexNativeCommand } = await import("./managed-binary-BtIjV7yN.mjs").then((n) => n.n);
101
+ const { CodexAppServerClient } = await import("./client-BS8X7HmG.mjs").then((n) => n.n);
102
+ const { resolveManagedCodexPackageEntrypoint, resolveManagedCodexNativeCommand } = await import("./managed-binary-DbKvGXKl.mjs").then((n) => n.o);
102
103
  const launcher = resolveManagedCodexPackageEntrypoint(path.dirname(fileURLToPath(import.meta.url)));
103
104
  const command = launcher ? resolveManagedCodexNativeCommand(launcher) : void 0;
104
105
  if (!command) return;
@@ -148,21 +149,7 @@ async function readNativeCredential(client, home, options, signal) {
148
149
  let record;
149
150
  if (mode === "file") record = await readAuthFile(home);
150
151
  else if ((mode === "keyring" || mode === "auto") && process.platform === "darwin") {
151
- let cursor;
152
- let encrypted;
153
- do {
154
- const features = await client.request("experimentalFeature/list", {
155
- limit: 100,
156
- cursor
157
- }, { signal });
158
- const storage = features.data.find((feature) => feature.name === "secret_auth_storage");
159
- if (storage) {
160
- encrypted = storage.enabled;
161
- break;
162
- }
163
- cursor = features.nextCursor ?? void 0;
164
- } while (cursor);
165
- if (encrypted !== false) return;
152
+ if (await readCodexExperimentalFeature((params) => client.request("experimentalFeature/list", params, { signal }), "secret_auth_storage") !== false) return;
166
153
  record = await readDirectKeyring(home, signal);
167
154
  }
168
155
  signal.throwIfAborted();
@@ -1,6 +1,6 @@
1
- import { r as CodexAppServerRpcError } from "./rpc-error-C98SHchT.mjs";
2
- import { i as listCodexPluginMetadata, n as findCodexMarketplacePluginSummary, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, t as createCodexAppInventoryRequest, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-CYgdo14P.mjs";
3
- import "./config-C1YVVLEA.mjs";
1
+ import { r as CodexAppServerRpcError } from "./rpc-error-DemqqaxE.mjs";
2
+ import { i as listCodexPluginMetadata, n as findCodexMarketplacePluginSummary, o as pluginReadParams, r as isOpenAiCuratedMarketplaceName, t as createCodexAppInventoryRequest, u as CODEX_PLUGINS_MARKETPLACE_NAME } from "./plugin-inventory-DE9wcaeH.mjs";
3
+ import "./config-BfrAlTMT.mjs";
4
4
  import { coerceErrorMessage } from "openclaw/plugin-sdk/error-runtime";
5
5
  //#region extensions/codex/src/app-server/plugin-activation.ts
6
6
  /** Activates legacy curated plugins without granting install authority to other marketplaces. */
@@ -78,7 +78,7 @@ async function refreshCodexPluginRuntimeState(params) {
78
78
  }
79
79
  /** Refreshes hosted app tools without reloading unrelated active threads. */
80
80
  async function refreshCodexAppRuntimeState(params) {
81
- params.appCache.invalidate(params.appCacheKey, "Codex plugin app inventory refresh requested", void 0, params.targetAppIds);
81
+ params.appCache.invalidate(params.appCacheKey, "Codex plugin app inventory refresh requested");
82
82
  if (params.deferAppInventoryRefresh) return;
83
83
  await params.appCache.refreshNow({
84
84
  key: params.appCacheKey,
@@ -30,7 +30,6 @@ var CodexAppInventoryCache = class {
30
30
  constructor(options = {}) {
31
31
  this.entries = /* @__PURE__ */ new Map();
32
32
  this.inFlight = /* @__PURE__ */ new Map();
33
- this.refreshTokens = /* @__PURE__ */ new Map();
34
33
  this.diagnostics = /* @__PURE__ */ new Map();
35
34
  this.revision = 0;
36
35
  this.ttlMs = options.ttlMs ?? CODEX_APP_INVENTORY_CACHE_TTL_MS;
@@ -42,7 +41,7 @@ var CodexAppInventoryCache = class {
42
41
  const refreshScheduled = (state === "missing" ? !params.suppressRefresh : state === "stale" || Boolean(params.forceRefetch)) && this.scheduleRefresh(params);
43
42
  let snapshot;
44
43
  if (entry) {
45
- const { invalidated: _invalidated, invalidatedAppIds: _invalidatedAppIds, ...rest } = entry;
44
+ const { invalidated: _invalidated, ...rest } = entry;
46
45
  snapshot = rest;
47
46
  }
48
47
  const diagnostic = entry ? entry.lastError : this.diagnostics.get(params.key);
@@ -55,25 +54,15 @@ var CodexAppInventoryCache = class {
55
54
  ...diagnostic ? { diagnostic } : {}
56
55
  };
57
56
  }
58
- /**
59
- * Marks a key stale and records the reason as a diagnostic. A scope names
60
- * the app ids the invalidation concerns so a covering targeted refresh can
61
- * clear it; without one, only a complete refresh revalidates the entry.
62
- */
63
- invalidate(key, reason, nowMs = Date.now(), invalidatedAppIds) {
57
+ /** Marks a key stale until its next successful refresh. */
58
+ invalidate(key, reason, nowMs = Date.now()) {
64
59
  this.revision += 1;
65
- this.refreshTokens.delete(key);
66
- this.inFlight.delete(key);
67
60
  const diagnostic = {
68
61
  message: reason,
69
62
  atMs: nowMs
70
63
  };
71
64
  const entry = this.entries.get(key);
72
65
  if (entry) {
73
- const scope = invalidatedAppIds?.filter(Boolean).map(codexAppIdentityKey) ?? [];
74
- if (!entry.invalidated) entry.invalidatedAppIds = scope.length ? [...scope].toSorted() : void 0;
75
- else if (entry.invalidatedAppIds && scope.length) entry.invalidatedAppIds = Array.from(/* @__PURE__ */ new Set([...entry.invalidatedAppIds, ...scope])).toSorted();
76
- else entry.invalidatedAppIds = void 0;
77
66
  entry.invalidated = true;
78
67
  entry.lastError = diagnostic;
79
68
  entry.revision = this.revision;
@@ -83,7 +72,6 @@ var CodexAppInventoryCache = class {
83
72
  clear() {
84
73
  this.entries.clear();
85
74
  this.inFlight.clear();
86
- this.refreshTokens.clear();
87
75
  this.diagnostics.clear();
88
76
  this.revision = 0;
89
77
  }
@@ -95,10 +83,8 @@ var CodexAppInventoryCache = class {
95
83
  async refreshNow(params) {
96
84
  const existing = this.inFlight.get(params.key);
97
85
  if (existing && !params.forceRefetch && doesInFlightRefreshCover(existing, params)) return existing.promise;
98
- const refreshToken = Symbol("app-inventory-refresh");
99
- this.refreshTokens.set(params.key, refreshToken);
100
86
  const previousRefresh = params.forceRefetch ? void 0 : existing?.promise;
101
- const promise = this.refreshUncoalesced(params, refreshToken, previousRefresh);
87
+ const promise = this.refreshUncoalesced(params, previousRefresh);
102
88
  const currentRefresh = {
103
89
  promise,
104
90
  targetAppIds: targetAppIdSet(params.targetAppIds)
@@ -110,7 +96,7 @@ var CodexAppInventoryCache = class {
110
96
  if (this.inFlight.get(params.key) === currentRefresh) this.inFlight.delete(params.key);
111
97
  }
112
98
  }
113
- async refreshUncoalesced(params, refreshToken, previousRefresh) {
99
+ async refreshUncoalesced(params, previousRefresh) {
114
100
  const nowMs = resolveDateTimestampMs(params.nowMs);
115
101
  try {
116
102
  let previousRefreshSucceeded = false;
@@ -133,28 +119,20 @@ var CodexAppInventoryCache = class {
133
119
  expiresAtMs,
134
120
  revision: this.revision
135
121
  };
136
- if (this.refreshTokens.get(params.key) === refreshToken) {
137
- const existingEntry = this.entries.get(params.key);
138
- const published = resolvePublishedInventorySnapshot(existingEntry, snapshot, nowMs);
139
- const remaining = resolveRemainingInvalidationScope(existingEntry, snapshot);
140
- this.entries.set(params.key, {
141
- ...published,
142
- ...remaining,
143
- ...remaining.invalidated && existingEntry?.lastError ? { lastError: existingEntry.lastError } : {}
144
- });
145
- this.diagnostics.delete(params.key);
146
- }
122
+ this.entries.set(params.key, {
123
+ ...resolvePublishedInventorySnapshot(this.entries.get(params.key), snapshot, nowMs),
124
+ invalidated: false
125
+ });
126
+ this.diagnostics.delete(params.key);
147
127
  return snapshot;
148
128
  } catch (error) {
149
- if (this.refreshTokens.get(params.key) === refreshToken) {
150
- const diagnostic = {
151
- message: sanitizeErrorMessage(error instanceof Error ? error.message : String(error)),
152
- atMs: nowMs
153
- };
154
- this.diagnostics.set(params.key, diagnostic);
155
- const entry = this.entries.get(params.key);
156
- if (entry) entry.lastError = diagnostic;
157
- }
129
+ const diagnostic = {
130
+ message: sanitizeErrorMessage(error instanceof Error ? error.message : String(error)),
131
+ atMs: nowMs
132
+ };
133
+ this.diagnostics.set(params.key, diagnostic);
134
+ const entry = this.entries.get(params.key);
135
+ if (entry) entry.lastError = diagnostic;
158
136
  embeddedAgentLog.warn("codex app inventory refresh failed", {
159
137
  forceRefetch: params.forceRefetch === true,
160
138
  keyFingerprint: fingerprintInventoryCacheKey(params.key),
@@ -196,22 +174,6 @@ function mergeRefreshedRows(existingRows, refreshedRows, refreshedTargetIds) {
196
174
  return refreshed ? [refreshed] : [];
197
175
  }), ...refreshedRows.filter((row) => !existingIds.has(codexAppIdentityKey(row.id)))];
198
176
  }
199
- /**
200
- * A refresh retires exactly the invalidation scope it re-read: a complete
201
- * refresh clears everything; a targeted one subtracts its target ids so
202
- * separate covering refreshes accumulate until no scope remains. Unscoped
203
- * invalidations require a complete refresh.
204
- */
205
- function resolveRemainingInvalidationScope(existing, snapshot) {
206
- if (!existing?.invalidated || !snapshot.targetAppIds?.length) return { invalidated: false };
207
- if (!existing.invalidatedAppIds) return { invalidated: true };
208
- const refreshedTargetIds = new Set(snapshot.targetAppIds);
209
- const remaining = existing.invalidatedAppIds.filter((appId) => !refreshedTargetIds.has(appId));
210
- return remaining.length > 0 ? {
211
- invalidated: true,
212
- invalidatedAppIds: remaining
213
- } : { invalidated: false };
214
- }
215
177
  function targetAppIdSet(appIds) {
216
178
  return new Set(appIds?.filter(Boolean).map(codexAppIdentityKey) ?? []);
217
179
  }
@@ -1,4 +1,4 @@
1
- import { mt as resolveCodexGatewayTimeoutWithGraceMs } from "./shared-client-CCz9ldpr.mjs";
1
+ import { ut as resolveCodexGatewayTimeoutWithGraceMs } from "./shared-client-CE_uY0A1.mjs";
2
2
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
3
3
  import { isApprovalNotFoundError, toErrorObject } from "openclaw/plugin-sdk/error-runtime";
4
4
  import { racePromiseWithAbortSignal } from "openclaw/plugin-sdk/time-runtime";
@@ -1,5 +1,5 @@
1
- import { c as findCodexAppById } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
2
- import "./config-C1YVVLEA.mjs";
1
+ import { c as findCodexAppById } from "./plugin-app-cache-key-DRb-niJc.mjs";
2
+ import "./config-BfrAlTMT.mjs";
3
3
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
4
4
  //#region extensions/codex/src/app-server/config-contracts.ts
5
5
  const CODEX_PLUGINS_MARKETPLACE_NAME = "openai-curated";
@@ -5,8 +5,6 @@ var CodexPluginMetadataCache = class {
5
5
  this.nowMs = nowMs;
6
6
  this.entries = /* @__PURE__ */ new Map();
7
7
  this.inFlight = /* @__PURE__ */ new Map();
8
- this.generations = /* @__PURE__ */ new Map();
9
- this.clearGeneration = 0;
10
8
  }
11
9
  read(appCacheKey, queryKind, requestParams, catalogScope) {
12
10
  const entryKey = buildMetadataCacheEntryKey(appCacheKey, queryKind, requestParams, catalogScope);
@@ -24,18 +22,11 @@ var CodexPluginMetadataCache = class {
24
22
  const cached = this.read(params.appCacheKey, params.queryKind, params.requestParams, params.catalogScope);
25
23
  if (cached) return cached;
26
24
  const pending = this.inFlight.get(entryKey);
27
- if (pending) try {
28
- return await pending.promise;
29
- } catch {
30
- if (this.inFlight.get(entryKey) === pending) this.inFlight.delete(entryKey);
31
- return await this.load(params);
32
- }
33
- const generation = this.generations.get(params.appCacheKey) ?? 0;
34
- const clearGeneration = this.clearGeneration;
25
+ if (pending) return await pending.promise;
35
26
  const promise = (async () => {
36
27
  const method = params.queryKind === "installed" ? "plugin/installed" : "plugin/list";
37
28
  const response = await params.request(method, params.requestParams);
38
- if (generation === (this.generations.get(params.appCacheKey) ?? 0) && clearGeneration === this.clearGeneration && response.marketplaceLoadErrors.length === 0 && (params.cacheable?.(response) ?? true)) this.entries.set(entryKey, {
29
+ if (response.marketplaceLoadErrors.length === 0 && (params.cacheable?.(response) ?? true)) this.entries.set(entryKey, {
39
30
  appCacheKey: params.appCacheKey,
40
31
  response,
41
32
  expiresAtMs: this.nowMs() + CODEX_PLUGIN_METADATA_CACHE_TTL_MS
@@ -53,13 +44,9 @@ var CodexPluginMetadataCache = class {
53
44
  }
54
45
  }
55
46
  invalidate(appCacheKey) {
56
- this.generations.set(appCacheKey, (this.generations.get(appCacheKey) ?? 0) + 1);
57
47
  for (const cache of [this.entries, this.inFlight]) for (const [entryKey, entry] of cache) if (entry.appCacheKey === appCacheKey) cache.delete(entryKey);
58
48
  }
59
- /** Clears snapshots and prevents late in-flight loads from repopulating them. */
60
49
  clear() {
61
- this.clearGeneration += 1;
62
- this.generations.clear();
63
50
  this.entries.clear();
64
51
  this.inFlight.clear();
65
52
  }
@@ -1,11 +1,11 @@
1
- import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
1
+ import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
2
  import { l as fingerprintCodexPolicy } from "./config-security-clxAZYWX.mjs";
3
3
  import { f as resolveCodexPluginsPolicy } from "./config-parsing-DsWSCPHO.mjs";
4
- import { u as CODEX_SESSION_OVERRIDABLE_LAYER_TYPES } from "./config-options-DDzeNQ8m.mjs";
5
- import { a as defaultCodexAppInventoryCache, i as CodexAppInventoryCache, o as serializeCodexAppInventoryError, s as codexAppIdentityKey } from "./plugin-app-cache-key-Bg9DbDI6.mjs";
6
- import { l as toCodexPluginOwnedAccountApp, s as readCodexPluginInventory, t as createCodexAppInventoryRequest } from "./plugin-inventory-CYgdo14P.mjs";
7
- import "./config-C1YVVLEA.mjs";
8
- import { t as ensureCodexPluginActivation } from "./plugin-activation-D7WkJMvU.mjs";
4
+ import { u as CODEX_SESSION_OVERRIDABLE_LAYER_TYPES } from "./config-options-DMFZkd3X.mjs";
5
+ import { a as defaultCodexAppInventoryCache, i as CodexAppInventoryCache, o as serializeCodexAppInventoryError, s as codexAppIdentityKey } from "./plugin-app-cache-key-DRb-niJc.mjs";
6
+ import { l as toCodexPluginOwnedAccountApp, s as readCodexPluginInventory, t as createCodexAppInventoryRequest } from "./plugin-inventory-DE9wcaeH.mjs";
7
+ import "./config-BfrAlTMT.mjs";
8
+ import { t as ensureCodexPluginActivation } from "./plugin-activation-CXPWe-hl.mjs";
9
9
  import { embeddedAgentLog } from "openclaw/plugin-sdk/agent-harness-runtime";
10
10
  //#region extensions/codex/src/app-server/plugin-app-approval-overrides.ts
11
11
  /** Projects ask approvals into the native session layer without changing saved settings. */
@@ -0,0 +1,12 @@
1
+ import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ //#region extensions/codex/src/app-server/protocol.ts
3
+ /** Namespace Codex keeps directly model-visible without exposing it to Code Mode guests. */
4
+ const CODEX_OPENCLAW_DIRECT_DYNAMIC_TOOL_NAMESPACE = "openclaw_direct";
5
+ function flattenCodexDynamicToolFunctions(tools) {
6
+ return (tools ?? []).flatMap((tool) => tool.type === "namespace" ? tool.tools : [tool]);
7
+ }
8
+ function isJsonObject(value) {
9
+ return isRecord(value);
10
+ }
11
+ //#endregion
12
+ export { flattenCodexDynamicToolFunctions as n, isJsonObject as r, CODEX_OPENCLAW_DIRECT_DYNAMIC_TOOL_NAMESPACE as t };
@@ -1,4 +1,4 @@
1
- import { h as releaseLeasedSharedCodexAppServerClient } from "./shared-client-CCz9ldpr.mjs";
1
+ import { f as releaseLeasedSharedCodexAppServerClient } from "./shared-client-CE_uY0A1.mjs";
2
2
  //#region extensions/codex/src/app-server/provider-capabilities.ts
3
3
  function resolveOverriddenProviderWebSearchSupport(modelProviderOverride) {
4
4
  const provider = modelProviderOverride?.trim().toLowerCase();
@@ -11,7 +11,7 @@ function buildCodexMigrationProvider(params = {}) {
11
11
  ].join(" "),
12
12
  supportedItemKinds: ["memory", "auth"],
13
13
  async detect(ctx) {
14
- const { discoverCodexSource, hasCodexSource } = await import("./source-DsubBCYm.mjs").then((n) => n.a);
14
+ const { discoverCodexSource, hasCodexSource } = await import("./source-uGKgKWm8.mjs").then((n) => n.a);
15
15
  const memoryOnly = isOnlyMigrationKind(ctx, "memory");
16
16
  const authOnly = isOnlyMigrationKind(ctx, "auth");
17
17
  const source = await discoverCodexSource({
@@ -29,16 +29,16 @@ function buildCodexMigrationProvider(params = {}) {
29
29
  };
30
30
  },
31
31
  async plan(ctx) {
32
- const { buildCodexMigrationPlan } = await import("./plan-DFVngccH.mjs");
32
+ const { buildCodexMigrationPlan } = await import("./plan-B4cHgqNv.mjs");
33
33
  return buildCodexMigrationPlan(ctx);
34
34
  },
35
35
  deferredApply: { retrySafe: true },
36
36
  prepareApply(ctx) {
37
37
  if (isOnlyMigrationKind(ctx, "memory") || isOnlyMigrationKind(ctx, "auth")) return;
38
- return import("./apply-CfWD3Bk6.mjs").then(({ prepareTargetCodexAppServer }) => prepareTargetCodexAppServer(ctx));
38
+ return import("./apply-BVSXYkTV.mjs").then(({ prepareTargetCodexAppServer }) => prepareTargetCodexAppServer(ctx));
39
39
  },
40
40
  async apply(ctx, plan) {
41
- const { applyCodexMigrationPlan } = await import("./apply-CfWD3Bk6.mjs");
41
+ const { applyCodexMigrationPlan } = await import("./apply-BVSXYkTV.mjs");
42
42
  return await applyCodexMigrationPlan({
43
43
  ctx,
44
44
  plan,
@@ -1,4 +1,4 @@
1
- import { i as isJsonObject } from "./protocol-CANUwXJ3.mjs";
1
+ import { r as isJsonObject } from "./protocol-CaPAVwe9.mjs";
2
2
  import { normalizeOptionalString, parseStrictFiniteNumber } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { z } from "zod";
4
4
  import { MAX_DATE_TIMESTAMP_MS, resolveExpiresAtMsFromEpochSeconds } from "openclaw/plugin-sdk/number-runtime";