wednesdayai 0.6.1-dev.32 → 0.6.1-dev.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 (262) hide show
  1. package/README.md +1 -1
  2. package/dist/{agent-3FzVgs63.js → agent-2N9tEN3b.js} +26 -26
  3. package/dist/{agent-BRCd10MY.js → agent-B9sehkTT.js} +33 -33
  4. package/dist/{agent-DWnmq11O.js → agent-C31FKy1u.js} +11 -11
  5. package/dist/{agent-turn-execute-BFxbgU1N.js → agent-turn-execute-VfgfznZ9.js} +46 -46
  6. package/dist/{agent-turn-runner-T5NCMyJ_.js → agent-turn-runner-BUl_5WBC.js} +5 -5
  7. package/dist/{agent-turn-runner-CSA2LtLh.js → agent-turn-runner-D6au_ann.js} +6 -6
  8. package/dist/{agent-turn-runner-B4cl3TsM.js → agent-turn-runner-Pc5bI_FG.js} +6 -6
  9. package/dist/{auth-5so61ncT.js → auth-kjIpJLfy.js} +1 -1
  10. package/dist/build-info.json +3 -3
  11. package/dist/bundled/boot-md/handler.js +32 -32
  12. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  13. package/dist/bundled/command-logger/handler.js +2 -2
  14. package/dist/bundled/session-journal/handler.js +31 -31
  15. package/dist/bundled/session-memory/handler.js +32 -32
  16. package/dist/{call-DVys4c4T.js → call-CrRxRh7U.js} +4 -4
  17. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  18. package/dist/{plugin-sdk/chrome-BqXrH3aN.js → chrome-B_WMQAhO.js} +32 -32
  19. package/dist/{chrome-CQUZm4YB.js → chrome-Dhi-l6wT.js} +6 -6
  20. package/dist/{chrome-DqTgSmFm.js → chrome-DnhfF77Z.js} +6 -6
  21. package/dist/{command-queue-BSbitNdP.js → command-queue-AIWqKnVD.js} +1 -1
  22. package/dist/{command-queue-DogAVmq_.js → command-queue-CYUdNrXN.js} +1 -1
  23. package/dist/{command-queue-D3kWdijx.js → command-queue-Ctuw0Dti.js} +1 -1
  24. package/dist/control-ui-v2/assets/{AgentsView-BHoDo1L_.js → AgentsView-BykJAM_R.js} +1 -1
  25. package/dist/control-ui-v2/assets/{AutomationsView-CkkUCwky.js → AutomationsView-DC7X5Cuq.js} +1 -1
  26. package/dist/control-ui-v2/assets/Badge-BThfbCAq.js +1 -0
  27. package/dist/control-ui-v2/assets/{Button-CAmVftjk.js → Button-sKbvzDVv.js} +1 -1
  28. package/dist/control-ui-v2/assets/{ChannelsView-C9mkTqc6.js → ChannelsView-HkWy9hsS.js} +1 -1
  29. package/dist/control-ui-v2/assets/{ConfigForm-LRLk4KUb.js → ConfigForm-BJ2kFOXh.js} +1 -1
  30. package/dist/control-ui-v2/assets/{ConfirmDialog-F2xUWFqq.js → ConfirmDialog-CdyUa20w.js} +1 -1
  31. package/dist/control-ui-v2/assets/{DataTable-DOMUEHUS.js → DataTable-DYjiiFEO.js} +1 -1
  32. package/dist/control-ui-v2/assets/{DebugView-Brby9otE.js → DebugView-BBnZon9I.js} +1 -1
  33. package/dist/control-ui-v2/assets/{Dialog-GhMZjPwr.js → Dialog-C3D58UYL.js} +1 -1
  34. package/dist/control-ui-v2/assets/{DreamsView-DY7ted1D.js → DreamsView-DrwwXxFE.js} +1 -1
  35. package/dist/control-ui-v2/assets/{EntityLink-CrtCt-Qs.js → EntityLink-Z9K13Z04.js} +1 -1
  36. package/dist/control-ui-v2/assets/{FilterPills-CkHzGD5G.js → FilterPills-KLG4v-tl.js} +1 -1
  37. package/dist/control-ui-v2/assets/{InstancesView-CFs-ov6N.js → InstancesView-LuIMblfp.js} +1 -1
  38. package/dist/control-ui-v2/assets/{LearningView-BTIvp31K.js → LearningView-C2puhMj4.js} +1 -1
  39. package/dist/control-ui-v2/assets/{LogsView-BuFHneew.js → LogsView-Dy215edw.js} +1 -1
  40. package/dist/control-ui-v2/assets/{NodesView-7y8z5Q_T.js → NodesView-B71zmfhs.js} +1 -1
  41. package/dist/control-ui-v2/assets/{OverviewView-CIhAnOeN.js → OverviewView-JLhTfCru.js} +1 -1
  42. package/dist/control-ui-v2/assets/{Panel-BSfoMFU-.js → Panel-D78gp_RZ.js} +1 -1
  43. package/dist/control-ui-v2/assets/{PluginMount-Cr2vPF1o.js → PluginMount-DYlgGaMj.js} +1 -1
  44. package/dist/control-ui-v2/assets/{PluginPageView-BM2wjaCs.js → PluginPageView-Bg02Y5T6.js} +1 -1
  45. package/dist/control-ui-v2/assets/{PluginPanels-CrZnLVxd.js → PluginPanels-BleAmjiK.js} +1 -1
  46. package/dist/control-ui-v2/assets/{RunsView-B3eXHaoR.js → RunsView-BSGqEHKy.js} +1 -1
  47. package/dist/control-ui-v2/assets/{SessionsView-Bg4wx4lK.js → SessionsView-CMPY9Hgt.js} +1 -1
  48. package/dist/control-ui-v2/assets/{SettingsView-DGF7hzQG.js → SettingsView-D4QcuA0E.js} +1 -1
  49. package/dist/control-ui-v2/assets/{SkillsView-Cg7pJC7c.js → SkillsView-BWwsXZqF.js} +1 -1
  50. package/dist/control-ui-v2/assets/{Stat-lXrvX_LU.js → Stat-CXVUEU8q.js} +1 -1
  51. package/dist/control-ui-v2/assets/{StatusDot-mq9dIxHu.js → StatusDot-BOn9P0HR.js} +1 -1
  52. package/dist/control-ui-v2/assets/{StorageView-DwpkJ4z3.js → StorageView-Bn5jFxV6.js} +1 -1
  53. package/dist/control-ui-v2/assets/{UpdatedAgo-C4M24VEo.js → UpdatedAgo-CGh7wGn5.js} +1 -1
  54. package/dist/control-ui-v2/assets/{UsageView-Chdv6FaY.js → UsageView-D8N9_FXE.js} +1 -1
  55. package/dist/control-ui-v2/assets/{config-store-Cl6ZDEWe.js → config-store-CvkpUhCj.js} +1 -1
  56. package/dist/control-ui-v2/assets/{format-B5-CxWkB.js → format-CDdlmhUx.js} +1 -1
  57. package/dist/control-ui-v2/assets/{gateway-features-cO4oPTtR.js → gateway-features-BO759ssE.js} +1 -1
  58. package/dist/control-ui-v2/assets/{index-CJgogGns.js → index-DbvFKOkE.js} +1 -1
  59. package/dist/control-ui-v2/assets/{links-Cc4kr7jc.js → links-CQf0Dstl.js} +2 -2
  60. package/dist/control-ui-v2/assets/{run-rows-B5xQqo0g.js → run-rows-B7a70RYo.js} +1 -1
  61. package/dist/control-ui-v2/assets/runs-store-CBxmiHic.js +1 -0
  62. package/dist/control-ui-v2/assets/{use-gateway-query-DkXhPwE7.js → use-gateway-query-Dd6G1xB1.js} +1 -1
  63. package/dist/control-ui-v2/index.html +7 -7
  64. package/dist/{credentials-BwbcjFrG.js → credentials-By3Y4AcL.js} +3 -3
  65. package/dist/daemon-cli.js +10 -10
  66. package/dist/{deliver-D5-592ul.js → deliver-BNwRhCqc.js} +28 -28
  67. package/dist/{deliver-uol2d4WF.js → deliver-CZ0gpdcA.js} +6 -6
  68. package/dist/{deliver-DI3pbsEG.js → deliver-lAcWrtsj.js} +8 -8
  69. package/dist/{diagnostic-BZYYYnMx.js → diagnostic-DJ11ZJIJ.js} +3 -3
  70. package/dist/{diagnostic-CjNtSJJy.js → diagnostic-Dlx1Uind.js} +3 -3
  71. package/dist/{diagnostic-DutvZ2o1.js → diagnostic-dKeDyhIs.js} +1 -1
  72. package/dist/{plugin-sdk/errors-CVfTQSbb.js → errors-0-at0aYV.js} +1 -1
  73. package/dist/{errors-BRYMqzPb.js → errors-7NHaEHOi.js} +1 -1
  74. package/dist/extensionAPI.js +24 -24
  75. package/dist/{fences-DdMLzXvz.js → fences-BXndK9rN.js} +2 -2
  76. package/dist/{fences-Dtk43Q2a.js → fences-Z8d1dj8p.js} +16 -16
  77. package/dist/{fences-DxsYNv6D.js → fences-qAryzYhN.js} +1 -1
  78. package/dist/{fetch-guard-CIElogmD.js → fetch-guard-C1e2uLCm.js} +2 -2
  79. package/dist/{fetch-guard-huDqYgcZ.js → fetch-guard-DVq681NM.js} +2 -2
  80. package/dist/{fetch-guard-BfFAgAdL.js → fetch-guard-jXOgaL7k.js} +2 -2
  81. package/dist/{frontmatter-DHBTRDiB.js → frontmatter-CzhUc9Ri.js} +5 -5
  82. package/dist/{fs-safe-BXAFIPNF.js → fs-safe-B9UKPVRL.js} +2 -2
  83. package/dist/{fs-safe-QppbBgli.js → fs-safe-BFMvT9d3.js} +1 -1
  84. package/dist/{fs-safe-CyG0wflg.js → fs-safe-DMWtsz4J.js} +26 -26
  85. package/dist/{group-DNWpfMve.js → group-Dvl8dfJ2.js} +6 -6
  86. package/dist/{legacy-names-6uH6aLhq.js → legacy-names-chsmo2vs.js} +26 -26
  87. package/dist/llm-slug-generator.js +31 -31
  88. package/dist/{manager-DEELDila.js → manager-CIl1uCF4.js} +5 -5
  89. package/dist/{manager-Dv0046Wp.js → manager-Cd7Dgpw3.js} +16 -16
  90. package/dist/{manager-BNDUt5V7.js → manager-Edt-T8Bi.js} +3 -3
  91. package/dist/{model-selection-DfBJgjil.js → model-selection-BkyEkRcd.js} +1 -1
  92. package/dist/{model-selection-BKz1FEg5.js → model-selection-ik2bHbgK.js} +82 -82
  93. package/dist/{net-B0Jtxfrs.js → net-DJsykMK1.js} +1 -1
  94. package/dist/{nudge-D6njZF1b.js → nudge-D3beOdMV.js} +6 -6
  95. package/dist/{nudge-iXg_oCkW.js → nudge-Dg8Pe_sD.js} +9 -9
  96. package/dist/{nudge-D6LqS1z9.js → nudge-DyQYIOed.js} +32 -32
  97. package/dist/{outbound-attachment-DkplciK0.js → outbound-attachment-C3f9uSt-.js} +4 -4
  98. package/dist/{outbound-attachment-6hHA3eSm.js → outbound-attachment-DQtDt9Ne.js} +9 -9
  99. package/dist/{outbound-attachment-DFE9e7Dz.js → outbound-attachment-DwgRvpkl.js} +7 -7
  100. package/dist/{pi-embedded-CM4cbQEb.js → pi-embedded-BUj1tpxL.js} +40 -40
  101. package/dist/{pi-embedded-BJeshpuP.js → pi-embedded-DRpnAuxu.js} +229 -229
  102. package/dist/{pi-model-discovery-CEEWv-kw.js → pi-model-discovery-DnTVd1y8.js} +1 -1
  103. package/dist/{pi-model-discovery-Dy1iZEn3.js → pi-model-discovery-MJKT8QcH.js} +1 -1
  104. package/dist/{pi-model-discovery-BzUe_TlM.js → pi-model-discovery-ihTZFn93.js} +7 -7
  105. package/dist/plugin-sdk/{agent-CUhnjg2h.js → agent-CACbclxE.js} +33 -33
  106. package/dist/plugin-sdk/{agent-turn-execute-0wNK8kb-.js → agent-turn-execute-BKMaKZMH.js} +52 -52
  107. package/dist/plugin-sdk/{agent-turn-runner-Bc1Wdfjl.js → agent-turn-runner-Dfbuq8sa.js} +6 -6
  108. package/dist/{chrome-D5VU16Pm.js → plugin-sdk/chrome-CRKazKtD.js} +7 -7
  109. package/dist/plugin-sdk/{command-queue-BuyhMwmf.js → command-queue-CYthkMHd.js} +1 -1
  110. package/dist/plugin-sdk/{deliver-BbYD9jbj.js → deliver-Bh_zU4gN.js} +10 -10
  111. package/dist/plugin-sdk/{diagnostic-YH_V803S.js → diagnostic-DUBIUJLy.js} +3 -3
  112. package/dist/{errors-CK3mNfUZ.js → plugin-sdk/errors-BYlk21G9.js} +1 -1
  113. package/dist/plugin-sdk/{fetch-guard-BiQARj-q.js → fetch-guard-tC95Od8D.js} +2 -2
  114. package/dist/plugin-sdk/{fs-safe-CGzRyGpY.js → fs-safe-DkRYPO9h.js} +2 -2
  115. package/dist/plugin-sdk/{image-ops-BrERoy-B.js → image-ops-BwFCJNka.js} +2 -2
  116. package/dist/plugin-sdk/{manager-DPJBcR4V.js → manager-BFK04-sl.js} +5 -5
  117. package/dist/plugin-sdk/{model-auth-BtSCt2Us.js → model-auth-5dizn5pk.js} +6 -6
  118. package/dist/plugin-sdk/{models-config-GBg5F8hJ.js → models-config-Q1RpJb2l.js} +2 -2
  119. package/dist/plugin-sdk/{nudge-DRCem0PL.js → nudge-RygJmKvJ.js} +10 -10
  120. package/dist/plugin-sdk/{openai-compatible-video-5WcKNGBU.js → openai-compatible-video-Dcy2Li9N.js} +6 -6
  121. package/dist/plugin-sdk/{outbound-attachment-DTKZLRZQ.js → outbound-attachment-BzyByi-v.js} +7 -7
  122. package/dist/plugin-sdk/{pi-embedded-helpers-CuwPxkvz.js → pi-embedded-helpers-BFhpUeAU.js} +13 -13
  123. package/dist/plugin-sdk/{pi-embedded-utils-C8Mld73X.js → pi-embedded-utils-DwU_Dm_t.js} +3 -3
  124. package/dist/plugin-sdk/{pi-model-discovery-DF78NwCY.js → pi-model-discovery-JhPOgHc2.js} +1 -1
  125. package/dist/plugin-sdk/provider-media-understanding.js +16 -16
  126. package/dist/plugin-sdk/{pw-ai-DE9_F3UT.js → pw-ai-CetM9Gvn.js} +8 -8
  127. package/dist/plugin-sdk/{qmd-manager-Be0AD8g6.js → qmd-manager-D-4-ofwq.js} +6 -6
  128. package/dist/plugin-sdk/{qmd-scope-ChYVD8_V.js → qmd-scope-C2Q-gYkx.js} +1 -1
  129. package/dist/plugin-sdk/{query-expansion-D7KVLAEI.js → query-expansion-WqJIYjMY.js} +2 -2
  130. package/dist/plugin-sdk/{recorder-CYbCMbkp.js → recorder-Buet60MM.js} +2 -2
  131. package/dist/{redact-DU9QXIsh.js → plugin-sdk/redact-BsmP2_ML.js} +1 -1
  132. package/dist/plugin-sdk/{reply-directives-C8nS86oo.js → reply-directives-vq-0__VY.js} +2 -2
  133. package/dist/plugin-sdk/{runs-DaXWESgL.js → runs-Bo9ZU_tS.js} +7 -7
  134. package/dist/plugin-sdk/{send-DNtB7RqD.js → send-C7mdLoxn.js} +5 -5
  135. package/dist/plugin-sdk/{send-A18Yldb9.js → send-O0_QKrFT.js} +4 -4
  136. package/dist/plugin-sdk/{sessions-CaOQHLR9.js → sessions-DBkZJFck.js} +3 -3
  137. package/dist/plugin-sdk/{ssrf-BUsxUAWv.js → ssrf-DwUheH8N.js} +1 -1
  138. package/dist/{subsystem-DoQFckDJ.js → plugin-sdk/subsystem-DGPv0F8I.js} +5 -5
  139. package/dist/plugin-sdk/{tool-loop-detection-CofD0zz1.js → tool-loop-detection-CJnz5pAZ.js} +1 -1
  140. package/dist/plugin-sdk/{user-run-recording-BHcbX_ct.js → user-run-recording-CcRIjxcn.js} +2 -2
  141. package/dist/plugin-sdk/{ws-fpqheALb.js → ws-BmHfUkZI.js} +1 -1
  142. package/dist/{ports-B3BTfmE-.js → ports-af3jAFGh.js} +2 -2
  143. package/dist/{progress-CuNmfDlK.js → progress-CmedxTqJ.js} +3 -3
  144. package/dist/{proxy-env-CHdvLB3R.js → proxy-env-B9kcG28B.js} +1 -1
  145. package/dist/{proxy-env-E2mZELS1.js → proxy-env-Catj9Viz.js} +1 -1
  146. package/dist/{proxy-env-Dayk9Sh-.js → proxy-env-DQFy-pBt.js} +1 -1
  147. package/dist/{pw-ai-mN-uQx62.js → pw-ai-BWm3mCae.js} +9 -9
  148. package/dist/{pw-ai-BV3I_k2z.js → pw-ai-CDg9EuQp.js} +5 -5
  149. package/dist/{pw-ai--9RsLl-I.js → pw-ai-DoQ300T0.js} +11 -11
  150. package/dist/{qmd-manager-IBVkRbDA.js → qmd-manager-DFBcLXne.js} +6 -6
  151. package/dist/{qmd-manager-B4bmSWg6.js → qmd-manager-DbHyIFsT.js} +4 -4
  152. package/dist/{qmd-manager-pXzVcStZ.js → qmd-manager-jGcc2exw.js} +9 -9
  153. package/dist/{qmd-scope-C-qiTyK0.js → qmd-scope-D25aU1jR.js} +1 -1
  154. package/dist/{qmd-scope-CyWbQgiS.js → qmd-scope-DMUA3Vq9.js} +1 -1
  155. package/dist/{qmd-scope-C3LDIy_f.js → qmd-scope-DxmwIijL.js} +1 -1
  156. package/dist/{query-expansion-DUYY60_G.js → query-expansion-BC9pRVpQ.js} +1 -1
  157. package/dist/{query-expansion-BfJwCH-1.js → query-expansion-DJ7rNitK.js} +2 -2
  158. package/dist/{query-expansion-DOdiE1jh.js → query-expansion-Dji7d64T.js} +13 -13
  159. package/dist/{recorder-BaUTigy-.js → recorder-CBd8Sa3f.js} +2 -2
  160. package/dist/{recorder-DbOS8cq-.js → recorder-ciEoXXwJ.js} +2 -2
  161. package/dist/{recorder-tm_DPmVq.js → recorder-jtfym7ix.js} +1 -1
  162. package/dist/{plugin-sdk/redact-SduMExGO.js → redact-BvO7EAk7.js} +1 -1
  163. package/dist/{redact-C4XKILzo.js → redact-LOuk7TRy.js} +1 -1
  164. package/dist/{reply-directives-lb54XxBO.js → reply-directives-BZPLXOax.js} +14 -14
  165. package/dist/{reply-directives-Cjv6usSI.js → reply-directives-CD8SVo0d.js} +49 -49
  166. package/dist/{reply-directives-DQdLCsf7.js → reply-directives-CzQd7ai4.js} +9 -9
  167. package/dist/{runs-C6ZLA3dQ.js → runs-CKVgIXbm.js} +7 -7
  168. package/dist/{runs-Bfh4gXhE.js → runs-CW-qjeWY.js} +8 -8
  169. package/dist/{runs-CRfwfxl9.js → runs-CX5t6UjO.js} +5 -5
  170. package/dist/{send-DhxoS0EQ.js → send-BClohEtC.js} +5 -5
  171. package/dist/{send-x0brK-7B.js → send-Bb4J4QPH.js} +4 -4
  172. package/dist/{send-DdufVWN0.js → send-Bn1WCNeb.js} +4 -4
  173. package/dist/{send-CQXAcrXk.js → send-C9EWa4Gn.js} +3 -3
  174. package/dist/{send-DgX5MIBr.js → send-CpXb_hwQ.js} +5 -5
  175. package/dist/{send-CDE-Y46D.js → send-DkfdQWGD.js} +4 -4
  176. package/dist/{sessions-DFfMZLkJ.js → sessions-C98njXHy.js} +1 -1
  177. package/dist/{sessions-CoqAntnj.js → sessions-Dwd5H-eS.js} +5 -5
  178. package/dist/{subsystem-DY5Ww-lX.js → subsystem-BntNuBAj.js} +4 -4
  179. package/dist/{plugin-sdk/subsystem-Btq0amiz.js → subsystem-cFv2jJm-.js} +70 -70
  180. package/dist/{tool-loop-detection-CtOkwPJY.js → tool-loop-detection-9fAxiikd.js} +2 -2
  181. package/dist/{tool-loop-detection-C8jnlLQJ.js → tool-loop-detection-BMpeJ2DE.js} +1 -1
  182. package/dist/{user-run-recording-Dw1uyV3d.js → user-run-recording-BsWiQH6f.js} +1 -1
  183. package/dist/{user-run-recording-D-qMoYVy.js → user-run-recording-CisdKSzW.js} +2 -2
  184. package/dist/{user-run-recording-UvvXT13r.js → user-run-recording-DBqvoOPn.js} +2 -2
  185. package/dist/web-client/assets/{hast-util-from-dom-SbSARCyf.js → hast-util-from-dom-CUZ3hAh_.js} +1 -1
  186. package/dist/web-client/assets/{hast-util-to-mdast-C1n0gLxk.js → hast-util-to-mdast-DsCIyZ_Y.js} +1 -1
  187. package/dist/web-client/assets/{index-UZef_CpP.js → index-BvHk50NK.js} +2 -2
  188. package/dist/web-client/index.html +1 -1
  189. package/dist/{ws-kGFg1v4B.js → ws-B4SUb9f_.js} +1 -1
  190. package/dist/{ws-BJ7VU-8f.js → ws-BOnegOZK.js} +1 -1
  191. package/extensions/a2a/package.json +1 -1
  192. package/extensions/acpx/package.json +1 -1
  193. package/extensions/anthropic/package.json +1 -1
  194. package/extensions/bifrost/package.json +1 -1
  195. package/extensions/bluebubbles/package.json +1 -1
  196. package/extensions/copilot-proxy/package.json +1 -1
  197. package/extensions/deepgram/package.json +1 -1
  198. package/extensions/deepinfra/package.json +1 -1
  199. package/extensions/diagnostics-otel/package.json +1 -1
  200. package/extensions/diffs/package.json +1 -1
  201. package/extensions/discord/package.json +1 -1
  202. package/extensions/dream-cycle/package.json +1 -1
  203. package/extensions/elevenlabs/package.json +1 -1
  204. package/extensions/feishu/package.json +1 -1
  205. package/extensions/gemini-search/package.json +1 -1
  206. package/extensions/google/package.json +1 -1
  207. package/extensions/google-gemini-cli-auth/package.json +1 -1
  208. package/extensions/googlechat/package.json +1 -1
  209. package/extensions/grok-search/package.json +1 -1
  210. package/extensions/groq/package.json +1 -1
  211. package/extensions/identity-oidc/package.json +1 -1
  212. package/extensions/imessage/package.json +1 -1
  213. package/extensions/irc/package.json +1 -1
  214. package/extensions/kimi-search/package.json +1 -1
  215. package/extensions/kokoro/package.json +1 -1
  216. package/extensions/learning-core/package.json +1 -1
  217. package/extensions/line/package.json +1 -1
  218. package/extensions/llm-task/package.json +1 -1
  219. package/extensions/lobster/package.json +1 -1
  220. package/extensions/matrix/CHANGELOG.md +1 -1
  221. package/extensions/matrix/package.json +1 -1
  222. package/extensions/mattermost/package.json +1 -1
  223. package/extensions/memory-core/package.json +1 -1
  224. package/extensions/memory-lancedb/package.json +1 -1
  225. package/extensions/minimax/package.json +1 -1
  226. package/extensions/minimax-portal-auth/package.json +1 -1
  227. package/extensions/mistral/package.json +1 -1
  228. package/extensions/moonshot/package.json +1 -1
  229. package/extensions/msteams/CHANGELOG.md +1 -1
  230. package/extensions/msteams/package.json +1 -1
  231. package/extensions/nextcloud-talk/package.json +1 -1
  232. package/extensions/nostr/CHANGELOG.md +1 -1
  233. package/extensions/nostr/package.json +1 -1
  234. package/extensions/open-prose/package.json +1 -1
  235. package/extensions/openai/package.json +1 -1
  236. package/extensions/openai-realtime/package.json +1 -1
  237. package/extensions/openrouter/package.json +1 -1
  238. package/extensions/perplexity-search/package.json +1 -1
  239. package/extensions/searxng-search/package.json +1 -1
  240. package/extensions/signal/package.json +1 -1
  241. package/extensions/slack/package.json +1 -1
  242. package/extensions/synology-chat/package.json +1 -1
  243. package/extensions/telegram/package.json +1 -1
  244. package/extensions/tlon/package.json +1 -1
  245. package/extensions/twitch/CHANGELOG.md +1 -1
  246. package/extensions/twitch/package.json +1 -1
  247. package/extensions/ui-surfaces/package.json +1 -1
  248. package/extensions/voice-call/CHANGELOG.md +1 -1
  249. package/extensions/voice-call/package.json +1 -1
  250. package/extensions/whatsapp/package.json +1 -1
  251. package/extensions/zai/package.json +1 -1
  252. package/extensions/zalo/CHANGELOG.md +1 -1
  253. package/extensions/zalo/package.json +1 -1
  254. package/extensions/zalouser/CHANGELOG.md +1 -1
  255. package/extensions/zalouser/package.json +1 -1
  256. package/package.json +3 -1
  257. package/dist/control-ui-v2/assets/Badge-Ckq3aEJa.js +0 -1
  258. package/dist/control-ui-v2/assets/runs-store-D8Ckq4AP.js +0 -1
  259. package/dist/github-copilot-token-Bm6yG6tw.js +0 -106
  260. package/dist/paths-BIDPYPVC.js +0 -233
  261. package/docs/reference/templates/BOOT.md +0 -11
  262. /package/dist/{config-1om7Pwz0.js → config-CM9p9U7m.js} +0 -0
@@ -1,23 +1,23 @@
1
- import { Aa as normalizeSkillFilter, Dt as loadPluginManifestRegistry, Ft as resolveMemorySlotDecision, G as writeConfigFile, H as loadConfig, Ii as secretRefKey, K as createConfigIO, Nt as normalizePluginsConfig, Oa as resolveSessionAgentId, Pt as resolveEffectiveEnableState, _r as formatCliCommand, ca as resolveSecretInputRef, dt as getBlockedNetworkModeReason, ji as resolveSecretRefValues, qn as acquireSessionWriteLock, sa as normalizeResolvedSecretInputString, ya as resolveAgentConfig, zt as CHANNEL_IDS } from "./model-selection-BKz1FEg5.js";
2
- import { n as STATE_DIR, o as resolveGatewayPort } from "./paths-BIDPYPVC.js";
3
- import { H as isPathInside, K as isDangerousHostEnvVarName, N as isPathInsideWithRealpath, P as openBoundaryFile, Z as CONFIG_DIR, mt as resolvePreferredOpenClawTmpDir, o as defaultRuntime, pt as truncateUtf16Safe, st as resolveUserPath, t as createSubsystemLogger, tt as escapeRegExp, z as resolvePathViaExistingAncestorSync } from "./subsystem-DoQFckDJ.js";
1
+ import { Aa as normalizeSkillFilter, Dt as loadPluginManifestRegistry, Ft as resolveMemorySlotDecision, G as writeConfigFile, H as loadConfig, Ii as secretRefKey, K as createConfigIO, Nt as normalizePluginsConfig, Oa as resolveSessionAgentId, Pt as resolveEffectiveEnableState, _r as formatCliCommand, ca as resolveSecretInputRef, dt as getBlockedNetworkModeReason, ji as resolveSecretRefValues, qn as acquireSessionWriteLock, sa as normalizeResolvedSecretInputString, ya as resolveAgentConfig, zt as CHANNEL_IDS } from "./model-selection-ik2bHbgK.js";
2
+ import { n as STATE_DIR, o as resolveGatewayPort } from "./paths-B_gs59ga.js";
3
+ import { H as isPathInside, K as isDangerousHostEnvVarName, N as isPathInsideWithRealpath, P as openBoundaryFile, Z as CONFIG_DIR, mt as resolvePreferredOpenClawTmpDir, o as defaultRuntime, pt as truncateUtf16Safe, st as resolveUserPath, t as createSubsystemLogger, tt as escapeRegExp, z as resolvePathViaExistingAncestorSync } from "./subsystem-cFv2jJm-.js";
4
4
  import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
5
- import { G as resolveAgentIdFromSessionKey, H as normalizeAgentId, S as resolveOpenClawPackageRootSync, c as DEFAULT_AGENTS_FILENAME, d as DEFAULT_HEARTBEAT_FILENAME, f as DEFAULT_IDENTITY_FILENAME, g as ensureAgentWorkspace, h as DEFAULT_USER_FILENAME, l as DEFAULT_AGENT_WORKSPACE_DIR, m as DEFAULT_TOOLS_FILENAME, p as DEFAULT_SOUL_FILENAME, s as parseBooleanValue, u as DEFAULT_BOOTSTRAP_FILENAME, w as runExec } from "./legacy-names-6uH6aLhq.js";
6
- import { F as canonicalizeMainSessionAlias, G as resolveGatewayCredentialsFromValues, I as resolveAgentMainSessionKey, It as sanitizeToolCallIdsForCloudCodeAssist, U as writeJsonAtomic, o as parseInlineDirectives } from "./sessions-CoqAntnj.js";
5
+ import { G as resolveAgentIdFromSessionKey, H as normalizeAgentId, S as resolveOpenClawPackageRootSync, c as DEFAULT_AGENTS_FILENAME, d as DEFAULT_HEARTBEAT_FILENAME, f as DEFAULT_IDENTITY_FILENAME, g as ensureAgentWorkspace, h as DEFAULT_USER_FILENAME, l as DEFAULT_AGENT_WORKSPACE_DIR, m as DEFAULT_TOOLS_FILENAME, p as DEFAULT_SOUL_FILENAME, s as parseBooleanValue, u as DEFAULT_BOOTSTRAP_FILENAME, w as runExec } from "./legacy-names-chsmo2vs.js";
6
+ import { F as canonicalizeMainSessionAlias, G as resolveGatewayCredentialsFromValues, I as resolveAgentMainSessionKey, It as sanitizeToolCallIdsForCloudCodeAssist, U as writeJsonAtomic, o as parseInlineDirectives } from "./sessions-Dwd5H-eS.js";
7
7
  import { t as generateSecureToken } from "./secure-random-CSsVRTTy.js";
8
- import { a as buildImageResizeSideGrid, f as ensureMediaDir, i as IMAGE_REDUCE_QUALITY_STEPS, m as saveMediaBuffer, r as parseFenceSpans, s as getImageMetadata, u as resizeToJpeg } from "./fences-Dtk43Q2a.js";
9
- import { A as DEFAULT_DOWNLOAD_DIR, B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, F as resolveWritablePathWithinRoot, G as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, H as DEFAULT_BROWSER_EVALUATE_ENABLED, L as normalizeBrowserFormField, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, O as resolveCdpReachabilityTimeouts, R as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_OPENCLAW_BROWSER_COLOR, V as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, W as DEFAULT_OPENCLAW_BROWSER_ENABLED, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_TRACE_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-D5VU16Pm.js";
10
- import { r as isLoopbackHost } from "./ws-BJ7VU-8f.js";
11
- import { a as resolveOpenClawManifestBlock, c as resolveOpenClawManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseOpenClawManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList$1, o as resolveOpenClawManifestInstall, r as parseFrontmatterBool, s as resolveOpenClawManifestOs, t as getFrontmatterString, u as evaluateRuntimeEligibility } from "./frontmatter-DHBTRDiB.js";
12
- import { l as PATH_ALIAS_POLICIES, u as assertNoPathAliasEscape } from "./fs-safe-CyG0wflg.js";
13
- import { r as formatErrorMessage, t as extractErrorCode } from "./errors-BRYMqzPb.js";
14
- import { n as SsrFBlockedError } from "./proxy-env-Dayk9Sh-.js";
8
+ import { a as buildImageResizeSideGrid, f as ensureMediaDir, i as IMAGE_REDUCE_QUALITY_STEPS, m as saveMediaBuffer, r as parseFenceSpans, s as getImageMetadata, u as resizeToJpeg } from "./fences-Z8d1dj8p.js";
9
+ import { A as DEFAULT_DOWNLOAD_DIR, B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, F as resolveWritablePathWithinRoot, G as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, H as DEFAULT_BROWSER_EVALUATE_ENABLED, L as normalizeBrowserFormField, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, O as resolveCdpReachabilityTimeouts, R as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_OPENCLAW_BROWSER_COLOR, V as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, W as DEFAULT_OPENCLAW_BROWSER_ENABLED, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_TRACE_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-Dhi-l6wT.js";
10
+ import { r as isLoopbackHost } from "./ws-BOnegOZK.js";
11
+ import { a as resolveOpenClawManifestBlock, c as resolveOpenClawManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseOpenClawManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList$1, o as resolveOpenClawManifestInstall, r as parseFrontmatterBool, s as resolveOpenClawManifestOs, t as getFrontmatterString, u as evaluateRuntimeEligibility } from "./frontmatter-CzhUc9Ri.js";
12
+ import { l as PATH_ALIAS_POLICIES, u as assertNoPathAliasEscape } from "./fs-safe-DMWtsz4J.js";
13
+ import { r as formatErrorMessage, t as extractErrorCode } from "./errors-0-at0aYV.js";
14
+ import { n as SsrFBlockedError } from "./proxy-env-Catj9Viz.js";
15
15
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CIKAlvUL.js";
16
16
  import { n as resolveWindowsSpawnProgram, t as materializeWindowsSpawnProgram } from "./windows-spawn-C5N_9RQ9.js";
17
17
  import path, { posix } from "node:path";
18
- import fs, { existsSync } from "node:fs";
18
+ import syncFs, { existsSync } from "node:fs";
19
19
  import os from "node:os";
20
- import fs$1 from "node:fs/promises";
20
+ import fs from "node:fs/promises";
21
21
  import { spawn } from "node:child_process";
22
22
  import { URL as URL$1, fileURLToPath } from "node:url";
23
23
  import crypto, { createHash, timingSafeEqual } from "node:crypto";
@@ -1702,13 +1702,13 @@ function shortPath(value) {
1702
1702
  //#region src/agents/skills/bundled-dir.ts
1703
1703
  function looksLikeSkillsDir(dir) {
1704
1704
  try {
1705
- const entries = fs.readdirSync(dir, { withFileTypes: true });
1705
+ const entries = syncFs.readdirSync(dir, { withFileTypes: true });
1706
1706
  for (const entry of entries) {
1707
1707
  if (entry.name.startsWith(".")) continue;
1708
1708
  const fullPath = path.join(dir, entry.name);
1709
1709
  if (entry.isFile() && entry.name.endsWith(".md")) return true;
1710
1710
  if (entry.isDirectory()) {
1711
- if (fs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
1711
+ if (syncFs.existsSync(path.join(fullPath, "SKILL.md"))) return true;
1712
1712
  }
1713
1713
  }
1714
1714
  } catch {
@@ -1723,7 +1723,7 @@ function resolveBundledSkillsDir(opts = {}) {
1723
1723
  const execPath = opts.execPath ?? process.execPath;
1724
1724
  const execDir = path.dirname(execPath);
1725
1725
  const sibling = path.join(execDir, "skills");
1726
- if (fs.existsSync(sibling)) return sibling;
1726
+ if (syncFs.existsSync(sibling)) return sibling;
1727
1727
  } catch {}
1728
1728
  try {
1729
1729
  const moduleUrl = opts.moduleUrl ?? import.meta.url;
@@ -1786,7 +1786,7 @@ function resolvePluginSkillDirs(params) {
1786
1786
  const trimmed = raw.trim();
1787
1787
  if (!trimmed) continue;
1788
1788
  const candidate = path.resolve(record.rootDir, trimmed);
1789
- if (!fs.existsSync(candidate)) {
1789
+ if (!syncFs.existsSync(candidate)) {
1790
1790
  log$4.warn(`plugin skill path not found (${record.id}): ${candidate}`);
1791
1791
  continue;
1792
1792
  }
@@ -1817,7 +1817,7 @@ async function serializeByKey(key, task) {
1817
1817
 
1818
1818
  //#endregion
1819
1819
  //#region src/agents/skills/workspace.ts
1820
- const fsp = fs.promises;
1820
+ const fsp = syncFs.promises;
1821
1821
  const skillsLogger = createSubsystemLogger("skills");
1822
1822
  function resolveManagedSkillsDir() {
1823
1823
  return path.join(CONFIG_DIR, "skills");
@@ -1899,7 +1899,7 @@ function resolveSkillsLimits(config) {
1899
1899
  }
1900
1900
  function listChildDirectories(dir) {
1901
1901
  try {
1902
- const entries = fs.readdirSync(dir, { withFileTypes: true });
1902
+ const entries = syncFs.readdirSync(dir, { withFileTypes: true });
1903
1903
  const dirs = [];
1904
1904
  for (const entry of entries) {
1905
1905
  if (entry.name.startsWith(".")) continue;
@@ -1910,7 +1910,7 @@ function listChildDirectories(dir) {
1910
1910
  continue;
1911
1911
  }
1912
1912
  if (entry.isSymbolicLink()) try {
1913
- if (fs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
1913
+ if (syncFs.statSync(fullPath).isDirectory()) dirs.push(entry.name);
1914
1914
  } catch {}
1915
1915
  }
1916
1916
  return dirs;
@@ -1921,7 +1921,7 @@ function listChildDirectories(dir) {
1921
1921
  function resolveNestedSkillsRoot(dir, opts) {
1922
1922
  const nested = path.join(dir, "skills");
1923
1923
  try {
1924
- if (!fs.existsSync(nested) || !fs.statSync(nested).isDirectory()) return { baseDir: dir };
1924
+ if (!syncFs.existsSync(nested) || !syncFs.statSync(nested).isDirectory()) return { baseDir: dir };
1925
1925
  } catch {
1926
1926
  return { baseDir: dir };
1927
1927
  }
@@ -1930,7 +1930,7 @@ function resolveNestedSkillsRoot(dir, opts) {
1930
1930
  const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
1931
1931
  for (const name of toScan) {
1932
1932
  const skillMd = path.join(nested, name, "SKILL.md");
1933
- if (fs.existsSync(skillMd)) return {
1933
+ if (syncFs.existsSync(skillMd)) return {
1934
1934
  baseDir: nested,
1935
1935
  note: `Detected nested skills root at ${nested}`
1936
1936
  };
@@ -1950,9 +1950,9 @@ function loadSkillEntries(workspaceDir, opts) {
1950
1950
  const loadSkills = (params) => {
1951
1951
  const baseDir = resolveNestedSkillsRoot(params.dir, { maxEntriesToScan: limits.maxCandidatesPerRoot }).baseDir;
1952
1952
  const rootSkillMd = path.join(baseDir, "SKILL.md");
1953
- if (fs.existsSync(rootSkillMd)) {
1953
+ if (syncFs.existsSync(rootSkillMd)) {
1954
1954
  try {
1955
- const size = fs.statSync(rootSkillMd).size;
1955
+ const size = syncFs.statSync(rootSkillMd).size;
1956
1956
  if (size > limits.maxSkillFileBytes) {
1957
1957
  skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
1958
1958
  dir: baseDir,
@@ -1991,9 +1991,9 @@ function loadSkillEntries(workspaceDir, opts) {
1991
1991
  for (const name of limitedChildren) {
1992
1992
  const skillDir = path.join(baseDir, name);
1993
1993
  const skillMd = path.join(skillDir, "SKILL.md");
1994
- if (!fs.existsSync(skillMd)) continue;
1994
+ if (!syncFs.existsSync(skillMd)) continue;
1995
1995
  try {
1996
- const size = fs.statSync(skillMd).size;
1996
+ const size = syncFs.statSync(skillMd).size;
1997
1997
  if (size > limits.maxSkillFileBytes) {
1998
1998
  skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
1999
1999
  skill: name,
@@ -2061,7 +2061,7 @@ function loadSkillEntries(workspaceDir, opts) {
2061
2061
  return Array.from(merged.values()).map((skill) => {
2062
2062
  let frontmatter = {};
2063
2063
  try {
2064
- frontmatter = parseFrontmatter(fs.readFileSync(skill.filePath, "utf-8"));
2064
+ frontmatter = parseFrontmatter(syncFs.readFileSync(skill.filePath, "utf-8"));
2065
2065
  } catch {}
2066
2066
  return {
2067
2067
  skill,
@@ -2327,7 +2327,7 @@ function isModuleNotFoundError(err) {
2327
2327
  }
2328
2328
  async function loadPwAiModule(mode) {
2329
2329
  try {
2330
- return await import("./pw-ai--9RsLl-I.js");
2330
+ return await import("./pw-ai-DoQ300T0.js");
2331
2331
  } catch (err) {
2332
2332
  if (mode === "soft") return null;
2333
2333
  if (isModuleNotFoundError(err)) return null;
@@ -2485,7 +2485,7 @@ async function withPlaywrightRouteContext(params) {
2485
2485
  //#endregion
2486
2486
  //#region src/browser/routes/output-paths.ts
2487
2487
  async function ensureOutputRootDir(rootDir) {
2488
- await fs$1.mkdir(rootDir, { recursive: true });
2488
+ await fs.mkdir(rootDir, { recursive: true });
2489
2489
  }
2490
2490
  async function resolveWritableOutputPathOrRespond(params) {
2491
2491
  if (params.ensureRootDir) await ensureOutputRootDir(params.rootDir);
@@ -4103,11 +4103,11 @@ async function movePathToTrash(targetPath) {
4103
4103
  return targetPath;
4104
4104
  } catch {
4105
4105
  const trashDir = path.join(os.homedir(), ".Trash");
4106
- fs.mkdirSync(trashDir, { recursive: true });
4106
+ syncFs.mkdirSync(trashDir, { recursive: true });
4107
4107
  const base = path.basename(targetPath);
4108
4108
  let dest = path.join(trashDir, `${base}-${Date.now()}`);
4109
- if (fs.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
4110
- fs.renameSync(targetPath, dest);
4109
+ if (syncFs.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
4110
+ syncFs.renameSync(targetPath, dest);
4111
4111
  return dest;
4112
4112
  }
4113
4113
  }
@@ -4194,7 +4194,7 @@ function createBrowserProfilesService(ctx) {
4194
4194
  } catch {}
4195
4195
  const userDataDir = resolveOpenClawUserDataDir(name);
4196
4196
  const profileDir = path.dirname(userDataDir);
4197
- if (fs.existsSync(profileDir)) {
4197
+ if (syncFs.existsSync(profileDir)) {
4198
4198
  await movePathToTrash(profileDir);
4199
4199
  deleted = true;
4200
4200
  }
@@ -4692,7 +4692,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
4692
4692
  //#region src/browser/server-context.reset.ts
4693
4693
  async function closePlaywrightBrowserConnection() {
4694
4694
  try {
4695
- await (await import("./pw-ai--9RsLl-I.js")).closePlaywrightBrowserConnection();
4695
+ await (await import("./pw-ai-DoQ300T0.js")).closePlaywrightBrowserConnection();
4696
4696
  } catch {}
4697
4697
  }
4698
4698
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveOpenClawUserDataDir }) {
@@ -4710,7 +4710,7 @@ function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, i
4710
4710
  if (await isHttpReachable(300) && !profileState.running) await closePlaywrightBrowserConnection();
4711
4711
  if (profileState.running) await stopRunningBrowser();
4712
4712
  await closePlaywrightBrowserConnection();
4713
- if (!fs.existsSync(userDataDir)) return {
4713
+ if (!syncFs.existsSync(userDataDir)) return {
4714
4714
  moved: false,
4715
4715
  from: userDataDir
4716
4716
  };
@@ -5402,7 +5402,7 @@ async function withRegistryLock(registryPath, fn) {
5402
5402
  }
5403
5403
  async function readRegistryFromFile(registryPath, mode) {
5404
5404
  try {
5405
- const raw = await fs$1.readFile(registryPath, "utf-8");
5405
+ const raw = await fs.readFile(registryPath, "utf-8");
5406
5406
  const parsed = JSON.parse(raw);
5407
5407
  if (isRegistryFile(parsed)) return parsed;
5408
5408
  if (mode === "fallback") return { entries: [] };
@@ -6786,7 +6786,7 @@ var SandboxFsBridgeImpl = class {
6786
6786
  if (guarded.reason !== "path") {
6787
6787
  if (!(options.allowedType === "directory" && this.pathIsExistingDirectory(effectiveHostPath))) throw guarded.error instanceof Error ? guarded.error : /* @__PURE__ */ new Error(`Sandbox boundary checks failed; cannot ${options.action}: ${target.containerPath}`);
6788
6788
  }
6789
- } else fs.closeSync(guarded.fd);
6789
+ } else syncFs.closeSync(guarded.fd);
6790
6790
  }
6791
6791
  const canonicalContainerPath = await this.resolveCanonicalContainerPath({
6792
6792
  containerPath: target.containerPath,
@@ -6804,14 +6804,14 @@ var SandboxFsBridgeImpl = class {
6804
6804
  }
6805
6805
  pathIsExistingDirectory(hostPath) {
6806
6806
  try {
6807
- return fs.statSync(hostPath).isDirectory();
6807
+ return syncFs.statSync(hostPath).isDirectory();
6808
6808
  } catch {
6809
6809
  return false;
6810
6810
  }
6811
6811
  }
6812
6812
  pathIsSymlink(hostPath) {
6813
6813
  try {
6814
- return fs.lstatSync(hostPath).isSymbolicLink();
6814
+ return syncFs.lstatSync(hostPath).isSymbolicLink();
6815
6815
  } catch {
6816
6816
  return false;
6817
6817
  }
@@ -6825,7 +6825,7 @@ var SandboxFsBridgeImpl = class {
6825
6825
  allowedType: "directory"
6826
6826
  });
6827
6827
  if (guarded.ok) {
6828
- fs.closeSync(guarded.fd);
6828
+ syncFs.closeSync(guarded.fd);
6829
6829
  return;
6830
6830
  }
6831
6831
  if (guarded.reason === "io" && this.pathIsExistingRealDirectory(parentPath)) return;
@@ -6833,7 +6833,7 @@ var SandboxFsBridgeImpl = class {
6833
6833
  }
6834
6834
  pathIsExistingRealDirectory(hostPath) {
6835
6835
  try {
6836
- return fs.lstatSync(hostPath).isDirectory();
6836
+ return syncFs.lstatSync(hostPath).isDirectory();
6837
6837
  } catch {
6838
6838
  return false;
6839
6839
  }
@@ -7079,7 +7079,7 @@ function formatSandboxToolPolicyBlockedMessage(params) {
7079
7079
  //#endregion
7080
7080
  //#region src/agents/sandbox/workspace.ts
7081
7081
  async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
7082
- await fs$1.mkdir(workspaceDir, { recursive: true });
7082
+ await fs.mkdir(workspaceDir, { recursive: true });
7083
7083
  if (seedFrom) {
7084
7084
  const seed = resolveUserPath(seedFrom);
7085
7085
  const files = [
@@ -7095,7 +7095,7 @@ async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
7095
7095
  const src = path.join(seed, name);
7096
7096
  const dest = path.join(workspaceDir, name);
7097
7097
  try {
7098
- await fs$1.access(dest);
7098
+ await fs.access(dest);
7099
7099
  } catch {
7100
7100
  try {
7101
7101
  const opened = await openBoundaryFile({
@@ -7105,13 +7105,13 @@ async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
7105
7105
  });
7106
7106
  if (!opened.ok) continue;
7107
7107
  try {
7108
- const content = fs.readFileSync(opened.fd, "utf-8");
7109
- await fs$1.writeFile(dest, content, {
7108
+ const content = syncFs.readFileSync(opened.fd, "utf-8");
7109
+ await fs.writeFile(dest, content, {
7110
7110
  encoding: "utf-8",
7111
7111
  flag: "wx"
7112
7112
  });
7113
7113
  } finally {
7114
- fs.closeSync(opened.fd);
7114
+ syncFs.closeSync(opened.fd);
7115
7115
  }
7116
7116
  } catch {}
7117
7117
  }
@@ -7145,7 +7145,7 @@ async function ensureSandboxWorkspaceLayout(params) {
7145
7145
  const message = error instanceof Error ? error.message : JSON.stringify(error);
7146
7146
  defaultRuntime.error?.(`Sandbox skill sync failed: ${message}`);
7147
7147
  }
7148
- } else await fs$1.mkdir(workspaceDir, { recursive: true });
7148
+ } else await fs.mkdir(workspaceDir, { recursive: true });
7149
7149
  return {
7150
7150
  agentWorkspaceDir,
7151
7151
  scopeKey,
@@ -7155,7 +7155,7 @@ async function ensureSandboxWorkspaceLayout(params) {
7155
7155
  }
7156
7156
  async function resolveSandboxDockerUser(params) {
7157
7157
  if (params.docker.user?.trim()) return params.docker;
7158
- const stat = params.stat ?? ((workspaceDir) => fs$1.stat(workspaceDir));
7158
+ const stat = params.stat ?? ((workspaceDir) => fs.stat(workspaceDir));
7159
7159
  try {
7160
7160
  const workspaceStat = await stat(params.workspaceDir);
7161
7161
  const uid = Number.isInteger(workspaceStat.uid) ? workspaceStat.uid : null;
@@ -1,15 +1,15 @@
1
- import { $a as normalizeSkillFilter, Ba as DEFAULT_USER_FILENAME, Bi as secretRefKey, Bt as CHANNEL_IDS, Dt as loadPluginManifestRegistry, Fa as DEFAULT_BOOTSTRAP_FILENAME, Fi as resolveSecretRefValues, Ft as resolveMemorySlotDecision, G as writeConfigFile, Ga as resolveOpenClawPackageRootSync, H as loadConfig, Ia as DEFAULT_HEARTBEAT_FILENAME, K as createConfigIO, La as DEFAULT_IDENTITY_FILENAME, Na as DEFAULT_AGENTS_FILENAME, Nt as normalizePluginsConfig, Pa as DEFAULT_AGENT_WORKSPACE_DIR, Pt as resolveEffectiveEnableState, Ra as DEFAULT_SOUL_FILENAME, Va as ensureAgentWorkspace, Zn as acquireSessionWriteLock, do as normalizeAgentId, dt as getBlockedNetworkModeReason, fa as normalizeResolvedSecretInputString, ja as resolveSessionAgentId, mo as resolveAgentIdFromSessionKey, pa as resolveSecretInputRef, qa as runExec, qi as parseBooleanValue, wa as resolveAgentConfig, xr as formatCliCommand, za as DEFAULT_TOOLS_FILENAME, zt as readManifestNamespace } from "./model-selection-DfBJgjil.js";
1
+ import { $a as normalizeSkillFilter, Ba as DEFAULT_USER_FILENAME, Bi as secretRefKey, Bt as CHANNEL_IDS, Dt as loadPluginManifestRegistry, Fa as DEFAULT_BOOTSTRAP_FILENAME, Fi as resolveSecretRefValues, Ft as resolveMemorySlotDecision, G as writeConfigFile, Ga as resolveOpenClawPackageRootSync, H as loadConfig, Ia as DEFAULT_HEARTBEAT_FILENAME, K as createConfigIO, La as DEFAULT_IDENTITY_FILENAME, Na as DEFAULT_AGENTS_FILENAME, Nt as normalizePluginsConfig, Pa as DEFAULT_AGENT_WORKSPACE_DIR, Pt as resolveEffectiveEnableState, Ra as DEFAULT_SOUL_FILENAME, Va as ensureAgentWorkspace, Zn as acquireSessionWriteLock, do as normalizeAgentId, dt as getBlockedNetworkModeReason, fa as normalizeResolvedSecretInputString, ja as resolveSessionAgentId, mo as resolveAgentIdFromSessionKey, pa as resolveSecretInputRef, qa as runExec, qi as parseBooleanValue, wa as resolveAgentConfig, xr as formatCliCommand, za as DEFAULT_TOOLS_FILENAME, zt as readManifestNamespace } from "./model-selection-BkyEkRcd.js";
2
2
  import { n as STATE_DIR, o as resolveGatewayPort } from "./paths-B_gs59ga.js";
3
3
  import { H as isPathInside, K as isDangerousHostEnvVarName, N as isPathInsideWithRealpath, P as openBoundaryFile, Z as CONFIG_DIR, mt as resolvePreferredOpenClawTmpDir, o as defaultRuntime, pt as truncateUtf16Safe, st as resolveUserPath, t as createSubsystemLogger, tt as escapeRegExp, z as resolvePathViaExistingAncestorSync } from "./subsystem-DynBFcQj.js";
4
4
  import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
5
- import { F as canonicalizeMainSessionAlias, G as resolveGatewayCredentialsFromValues, I as resolveAgentMainSessionKey, It as sanitizeToolCallIdsForCloudCodeAssist, U as writeJsonAtomic, o as parseInlineDirectives } from "./sessions-DFfMZLkJ.js";
5
+ import { F as canonicalizeMainSessionAlias, G as resolveGatewayCredentialsFromValues, I as resolveAgentMainSessionKey, It as sanitizeToolCallIdsForCloudCodeAssist, U as writeJsonAtomic, o as parseInlineDirectives } from "./sessions-C98njXHy.js";
6
6
  import { t as generateSecureToken } from "./secure-random-gljjQeWv.js";
7
- import { a as buildImageResizeSideGrid, f as ensureMediaDir, i as IMAGE_REDUCE_QUALITY_STEPS, m as saveMediaBuffer, r as parseFenceSpans, s as getImageMetadata, u as resizeToJpeg } from "./fences-DxsYNv6D.js";
8
- import { A as DEFAULT_DOWNLOAD_DIR, B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, F as resolveWritablePathWithinRoot, G as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, H as DEFAULT_BROWSER_EVALUATE_ENABLED, L as normalizeBrowserFormField, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, O as resolveCdpReachabilityTimeouts, R as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_OPENCLAW_BROWSER_COLOR, V as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, W as DEFAULT_OPENCLAW_BROWSER_ENABLED, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_TRACE_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-CQUZm4YB.js";
9
- import { r as isLoopbackHost } from "./ws-kGFg1v4B.js";
10
- import { l as PATH_ALIAS_POLICIES, u as assertNoPathAliasEscape } from "./fs-safe-QppbBgli.js";
7
+ import { a as buildImageResizeSideGrid, f as ensureMediaDir, i as IMAGE_REDUCE_QUALITY_STEPS, m as saveMediaBuffer, r as parseFenceSpans, s as getImageMetadata, u as resizeToJpeg } from "./fences-qAryzYhN.js";
8
+ import { A as DEFAULT_DOWNLOAD_DIR, B as DEFAULT_AI_SNAPSHOT_MAX_CHARS, C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, F as resolveWritablePathWithinRoot, G as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, H as DEFAULT_BROWSER_EVALUATE_ENABLED, L as normalizeBrowserFormField, M as DEFAULT_UPLOAD_DIR, N as resolveExistingPathsWithinRoot, O as resolveCdpReachabilityTimeouts, R as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_OPENCLAW_BROWSER_COLOR, V as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, W as DEFAULT_OPENCLAW_BROWSER_ENABLED, _ as withBrowserNavigationPolicy, a as resolveOpenClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchOpenClawChrome, j as DEFAULT_TRACE_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopOpenClawChrome, p as snapshotAria, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS } from "./chrome-B_WMQAhO.js";
9
+ import { r as isLoopbackHost } from "./ws-B4SUb9f_.js";
10
+ import { l as PATH_ALIAS_POLICIES, u as assertNoPathAliasEscape } from "./fs-safe-BFMvT9d3.js";
11
11
  import { r as formatErrorMessage, t as extractErrorCode } from "./errors-yyPKpoXR.js";
12
- import { n as SsrFBlockedError } from "./proxy-env-E2mZELS1.js";
12
+ import { n as SsrFBlockedError } from "./proxy-env-DQFy-pBt.js";
13
13
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-DYF6dHGu.js";
14
14
  import { n as resolveWindowsSpawnProgram, t as materializeWindowsSpawnProgram } from "./windows-spawn-Czzx8vaJ.js";
15
15
  import path, { posix } from "node:path";
@@ -2621,7 +2621,7 @@ function isModuleNotFoundError(err) {
2621
2621
  }
2622
2622
  async function loadPwAiModule(mode) {
2623
2623
  try {
2624
- return await import("./pw-ai-BV3I_k2z.js");
2624
+ return await import("./pw-ai-CDg9EuQp.js");
2625
2625
  } catch (err) {
2626
2626
  if (mode === "soft") return null;
2627
2627
  if (isModuleNotFoundError(err)) return null;
@@ -4986,7 +4986,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
4986
4986
  //#region src/browser/server-context.reset.ts
4987
4987
  async function closePlaywrightBrowserConnection() {
4988
4988
  try {
4989
- await (await import("./pw-ai-BV3I_k2z.js")).closePlaywrightBrowserConnection();
4989
+ await (await import("./pw-ai-CDg9EuQp.js")).closePlaywrightBrowserConnection();
4990
4990
  } catch {}
4991
4991
  }
4992
4992
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveOpenClawUserDataDir }) {
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { sa as isTruthyEnvValue } from "./group-DNWpfMve.js";
2
+ import { sa as isTruthyEnvValue } from "./group-Dvl8dfJ2.js";
3
3
  import { u as resolveStateDir } from "./paths-2qlGWRjc.js";
4
- import { S as shortenHomeInString, V as appendFileLog } from "./subsystem-DY5Ww-lX.js";
4
+ import { S as shortenHomeInString, V as appendFileLog } from "./subsystem-BntNuBAj.js";
5
5
  import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
6
- import { Mt as normalizeUsage } from "./credentials-BwbcjFrG.js";
7
- import { n as redactToolDetail } from "./redact-DU9QXIsh.js";
8
- import { J as sanitizeUserFacingText, Rt as SILENT_REPLY_TOKEN, r as extractTextFromChatContent, t as parseReplyDirectives, v as isMessagingToolDuplicateNormalized, y as normalizeTextForComparison } from "./reply-directives-lb54XxBO.js";
9
- import { c as logModelCallCompleted, p as logSessionStateChange, s as logMessageQueued, t as diag, u as logModelCallStarted, v as refreshRunProgress } from "./diagnostic-CjNtSJJy.js";
6
+ import { Mt as normalizeUsage } from "./credentials-By3Y4AcL.js";
7
+ import { n as redactToolDetail } from "./redact-BvO7EAk7.js";
8
+ import { J as sanitizeUserFacingText, Rt as SILENT_REPLY_TOKEN, r as extractTextFromChatContent, t as parseReplyDirectives, v as isMessagingToolDuplicateNormalized, y as normalizeTextForComparison } from "./reply-directives-BZPLXOax.js";
9
+ import { c as logModelCallCompleted, p as logSessionStateChange, s as logMessageQueued, t as diag, u as logModelCallStarted, v as refreshRunProgress } from "./diagnostic-Dlx1Uind.js";
10
10
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DEJtdORi.js";
11
- import { r as parseFenceSpans } from "./fences-DdMLzXvz.js";
11
+ import { r as parseFenceSpans } from "./fences-BXndK9rN.js";
12
12
  import path from "node:path";
13
13
  import { randomUUID } from "node:crypto";
14
14
 
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Hi as isTruthyEnvValue } from "./model-selection-BKz1FEg5.js";
3
- import { l as resolveStateDir } from "./paths-BIDPYPVC.js";
4
- import { C as appendFileLog, lt as shortenHomeInString } from "./subsystem-DoQFckDJ.js";
2
+ import { Hi as isTruthyEnvValue } from "./model-selection-ik2bHbgK.js";
3
+ import { l as resolveStateDir } from "./paths-B_gs59ga.js";
4
+ import { C as appendFileLog, lt as shortenHomeInString } from "./subsystem-cFv2jJm-.js";
5
5
  import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
6
- import { J as sanitizeUserFacingText, Rt as SILENT_REPLY_TOKEN, r as extractTextFromChatContent, t as parseReplyDirectives, v as isMessagingToolDuplicateNormalized, y as normalizeTextForComparison } from "./reply-directives-Cjv6usSI.js";
7
- import { x as normalizeUsage } from "./sessions-CoqAntnj.js";
8
- import { c as logModelCallCompleted, p as logSessionStateChange, s as logMessageQueued, t as diag, u as logModelCallStarted, v as refreshRunProgress } from "./diagnostic-BZYYYnMx.js";
6
+ import { J as sanitizeUserFacingText, Rt as SILENT_REPLY_TOKEN, r as extractTextFromChatContent, t as parseReplyDirectives, v as isMessagingToolDuplicateNormalized, y as normalizeTextForComparison } from "./reply-directives-CD8SVo0d.js";
7
+ import { x as normalizeUsage } from "./sessions-Dwd5H-eS.js";
8
+ import { c as logModelCallCompleted, p as logSessionStateChange, s as logMessageQueued, t as diag, u as logModelCallStarted, v as refreshRunProgress } from "./diagnostic-DJ11ZJIJ.js";
9
9
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Di8oqY0E.js";
10
- import { n as redactToolDetail } from "./redact-C4XKILzo.js";
11
- import { r as parseFenceSpans } from "./fences-Dtk43Q2a.js";
10
+ import { n as redactToolDetail } from "./redact-LOuk7TRy.js";
11
+ import { r as parseFenceSpans } from "./fences-Z8d1dj8p.js";
12
12
  import path from "node:path";
13
13
  import { randomUUID } from "node:crypto";
14
14
 
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ki as isTruthyEnvValue } from "./model-selection-DfBJgjil.js";
2
+ import { Ki as isTruthyEnvValue } from "./model-selection-BkyEkRcd.js";
3
3
  import { l as resolveStateDir } from "./paths-B_gs59ga.js";
4
4
  import { C as appendFileLog, lt as shortenHomeInString } from "./subsystem-DynBFcQj.js";
5
5
  import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
6
- import { J as sanitizeUserFacingText, Rt as SILENT_REPLY_TOKEN, r as extractTextFromChatContent, t as parseReplyDirectives, v as isMessagingToolDuplicateNormalized, y as normalizeTextForComparison } from "./reply-directives-DQdLCsf7.js";
7
- import { x as normalizeUsage } from "./sessions-DFfMZLkJ.js";
8
- import { c as logModelCallCompleted, p as logSessionStateChange, s as logMessageQueued, t as diag, u as logModelCallStarted, v as refreshRunProgress } from "./diagnostic-DutvZ2o1.js";
6
+ import { J as sanitizeUserFacingText, Rt as SILENT_REPLY_TOKEN, r as extractTextFromChatContent, t as parseReplyDirectives, v as isMessagingToolDuplicateNormalized, y as normalizeTextForComparison } from "./reply-directives-CzQd7ai4.js";
7
+ import { x as normalizeUsage } from "./sessions-C98njXHy.js";
8
+ import { c as logModelCallCompleted, p as logSessionStateChange, s as logMessageQueued, t as diag, u as logModelCallStarted, v as refreshRunProgress } from "./diagnostic-dKeDyhIs.js";
9
9
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-jW46P4IL.js";
10
10
  import { n as redactToolDetail } from "./redact-CEFvBGJg.js";
11
- import { r as parseFenceSpans } from "./fences-DxsYNv6D.js";
11
+ import { r as parseFenceSpans } from "./fences-qAryzYhN.js";
12
12
  import path from "node:path";
13
13
  import { randomUUID } from "node:crypto";
14
14
 
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { H as loadConfig, fr as resolveSignalAccount } from "./model-selection-BKz1FEg5.js";
3
- import { r as avoidTrailingHighSurrogateBreak } from "./subsystem-DoQFckDJ.js";
2
+ import { H as loadConfig, fr as resolveSignalAccount } from "./model-selection-ik2bHbgK.js";
3
+ import { r as avoidTrailingHighSurrogateBreak } from "./subsystem-cFv2jJm-.js";
4
4
  import { n as generateSecureUuid } from "./secure-random-CSsVRTTy.js";
5
- import { b as kindFromMime } from "./fences-Dtk43Q2a.js";
6
- import { a as resolveMarkdownTableMode, n as chunkMarkdownIR, r as markdownToIR, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-6hHA3eSm.js";
7
- import { a as bindAbortRelay, o as fetchWithTimeout } from "./fetch-guard-BfFAgAdL.js";
5
+ import { b as kindFromMime } from "./fences-Z8d1dj8p.js";
6
+ import { a as resolveMarkdownTableMode, n as chunkMarkdownIR, r as markdownToIR, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DQtDt9Ne.js";
7
+ import { a as bindAbortRelay, o as fetchWithTimeout } from "./fetch-guard-jXOgaL7k.js";
8
8
 
9
9
  //#region src/infra/fetch.ts
10
10
  const wrapFetchWithAbortSignalMarker = Symbol.for("openclaw.fetch.abort-signal-wrapped");
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { H as loadConfig, gr as resolveSignalAccount } from "./model-selection-DfBJgjil.js";
2
+ import { H as loadConfig, gr as resolveSignalAccount } from "./model-selection-BkyEkRcd.js";
3
3
  import { r as avoidTrailingHighSurrogateBreak } from "./subsystem-DynBFcQj.js";
4
4
  import { n as generateSecureUuid } from "./secure-random-gljjQeWv.js";
5
- import { b as kindFromMime } from "./fences-DxsYNv6D.js";
6
- import { a as resolveMarkdownTableMode, n as chunkMarkdownIR, r as markdownToIR, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DkplciK0.js";
7
- import { a as bindAbortRelay, o as fetchWithTimeout } from "./fetch-guard-CIElogmD.js";
5
+ import { b as kindFromMime } from "./fences-qAryzYhN.js";
6
+ import { a as resolveMarkdownTableMode, n as chunkMarkdownIR, r as markdownToIR, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-C3f9uSt-.js";
7
+ import { a as bindAbortRelay, o as fetchWithTimeout } from "./fetch-guard-C1e2uLCm.js";
8
8
 
9
9
  //#region src/infra/fetch.ts
10
10
  const wrapFetchWithAbortSignalMarker = Symbol.for("openclaw.fetch.abort-signal-wrapped");
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Wt as resolveIMessageAccount, in as loadConfig } from "./group-DNWpfMve.js";
3
- import { _ as normalizeE164, b as resolveUserPath } from "./subsystem-DY5Ww-lX.js";
4
- import { b as kindFromMime } from "./fences-DdMLzXvz.js";
5
- import { a as resolveMarkdownTableMode, i as markdownToIRWithMeta, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DFE9e7Dz.js";
2
+ import { Wt as resolveIMessageAccount, in as loadConfig } from "./group-Dvl8dfJ2.js";
3
+ import { _ as normalizeE164, b as resolveUserPath } from "./subsystem-BntNuBAj.js";
4
+ import { b as kindFromMime } from "./fences-BXndK9rN.js";
5
+ import { a as resolveMarkdownTableMode, i as markdownToIRWithMeta, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DwgRvpkl.js";
6
6
  import { spawn } from "node:child_process";
7
7
  import { createInterface } from "node:readline";
8
8
 
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Cr as resolveIMessageAccount, H as loadConfig } from "./model-selection-DfBJgjil.js";
2
+ import { Cr as resolveIMessageAccount, H as loadConfig } from "./model-selection-BkyEkRcd.js";
3
3
  import { it as normalizeE164, st as resolveUserPath } from "./subsystem-DynBFcQj.js";
4
- import { b as kindFromMime } from "./fences-DxsYNv6D.js";
5
- import { a as resolveMarkdownTableMode, i as markdownToIRWithMeta, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DkplciK0.js";
4
+ import { b as kindFromMime } from "./fences-qAryzYhN.js";
5
+ import { a as resolveMarkdownTableMode, i as markdownToIRWithMeta, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-C3f9uSt-.js";
6
6
  import { spawn } from "node:child_process";
7
7
  import { createInterface } from "node:readline";
8
8
 
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { in as loadConfig, zt as resolveSignalAccount } from "./group-DNWpfMve.js";
3
- import { r as avoidTrailingHighSurrogateBreak } from "./subsystem-DY5Ww-lX.js";
2
+ import { in as loadConfig, zt as resolveSignalAccount } from "./group-Dvl8dfJ2.js";
3
+ import { r as avoidTrailingHighSurrogateBreak } from "./subsystem-BntNuBAj.js";
4
4
  import { n as generateSecureUuid } from "./secure-random-CFRVlPvh.js";
5
- import { b as kindFromMime } from "./fences-DdMLzXvz.js";
6
- import { a as resolveMarkdownTableMode, n as chunkMarkdownIR, r as markdownToIR, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DFE9e7Dz.js";
7
- import { a as bindAbortRelay, o as fetchWithTimeout } from "./fetch-guard-huDqYgcZ.js";
5
+ import { b as kindFromMime } from "./fences-BXndK9rN.js";
6
+ import { a as resolveMarkdownTableMode, n as chunkMarkdownIR, r as markdownToIR, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DwgRvpkl.js";
7
+ import { a as bindAbortRelay, o as fetchWithTimeout } from "./fetch-guard-DVq681NM.js";
8
8
 
9
9
  //#region src/infra/fetch.ts
10
10
  const wrapFetchWithAbortSignalMarker = Symbol.for("openclaw.fetch.abort-signal-wrapped");
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { H as loadConfig, yr as resolveIMessageAccount } from "./model-selection-BKz1FEg5.js";
3
- import { it as normalizeE164, st as resolveUserPath } from "./subsystem-DoQFckDJ.js";
4
- import { b as kindFromMime } from "./fences-Dtk43Q2a.js";
5
- import { a as resolveMarkdownTableMode, i as markdownToIRWithMeta, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-6hHA3eSm.js";
2
+ import { H as loadConfig, yr as resolveIMessageAccount } from "./model-selection-ik2bHbgK.js";
3
+ import { it as normalizeE164, st as resolveUserPath } from "./subsystem-cFv2jJm-.js";
4
+ import { b as kindFromMime } from "./fences-Z8d1dj8p.js";
5
+ import { a as resolveMarkdownTableMode, i as markdownToIRWithMeta, t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-DQtDt9Ne.js";
6
6
  import { spawn } from "node:child_process";
7
7
  import { createInterface } from "node:readline";
8
8
 
@@ -1,4 +1,4 @@
1
- import { $n as DEFAULT_IDLE_MINUTES, $r as serializeRetryPolicy, Ao as isCronTriggerSessionKey, Bn as serializeSessionIndexRecordKey, En as updateSessionStore, Eo as WAKE_GATE_SESSION_KEY_SEGMENT, Gn as resolveDefaultSessionStorePath, H as loadConfig, Hn as resolveUpdatedAfterPageSize, Jr as CtxProjectionCorruptionError, Kn as resolveSessionFilePath, Ln as getConfiguredSessionStorageRuntime, Mo as parseAgentSessionKey, Nn as loadSessionStore, Qr as parseRetryPolicy, Sn as requireSessionStorageRuntime, To as HEARTBEAT_SESSION_KEY_SEGMENT, Vr as normalizeMessageChannel, Wn as SESSION_RUN_STORE_FILE_NAME, Xn as resolveStorePath, Xr as computeNextAvailableAtMs, Zr as isRetryExhausted, ar as resolveGroupSessionKey, bn as getConversationReadQuery, co as computeIdentityLinkScopedMatchKey, do as normalizeAgentId, eo as DEFAULT_AGENT_ID, fo as normalizeMainKey, go as resolveConfiguredCanonicalIdentity, ho as resolveCanonicalIdentity, io as buildAgentMainSessionKey, kr as normalizeChatType, pa as resolveSecretInputRef, ro as RAW_PEER_KEY_PREFIX, so as computeIdentityLinkMatchKeys, wo as BACKGROUND_SESSION_KEY_SEGMENT } from "./model-selection-DfBJgjil.js";
1
+ import { $n as DEFAULT_IDLE_MINUTES, $r as serializeRetryPolicy, Ao as isCronTriggerSessionKey, Bn as serializeSessionIndexRecordKey, En as updateSessionStore, Eo as WAKE_GATE_SESSION_KEY_SEGMENT, Gn as resolveDefaultSessionStorePath, H as loadConfig, Hn as resolveUpdatedAfterPageSize, Jr as CtxProjectionCorruptionError, Kn as resolveSessionFilePath, Ln as getConfiguredSessionStorageRuntime, Mo as parseAgentSessionKey, Nn as loadSessionStore, Qr as parseRetryPolicy, Sn as requireSessionStorageRuntime, To as HEARTBEAT_SESSION_KEY_SEGMENT, Vr as normalizeMessageChannel, Wn as SESSION_RUN_STORE_FILE_NAME, Xn as resolveStorePath, Xr as computeNextAvailableAtMs, Zr as isRetryExhausted, ar as resolveGroupSessionKey, bn as getConversationReadQuery, co as computeIdentityLinkScopedMatchKey, do as normalizeAgentId, eo as DEFAULT_AGENT_ID, fo as normalizeMainKey, go as resolveConfiguredCanonicalIdentity, ho as resolveCanonicalIdentity, io as buildAgentMainSessionKey, kr as normalizeChatType, pa as resolveSecretInputRef, ro as RAW_PEER_KEY_PREFIX, so as computeIdentityLinkMatchKeys, wo as BACKGROUND_SESSION_KEY_SEGMENT } from "./model-selection-BkyEkRcd.js";
2
2
  import { l as resolveStateDir } from "./paths-B_gs59ga.js";
3
3
  import { ft as sliceUtf16Safe, it as normalizeE164, pt as truncateUtf16Safe, t as createSubsystemLogger } from "./subsystem-DynBFcQj.js";
4
4
  import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
@@ -1,11 +1,11 @@
1
- import { Bn as SESSION_RUN_STORE_FILE_NAME, H as loadConfig, Hn as resolveSessionFilePath, In as serializeSessionIndexRecordKey, Jr as parseRetryPolicy, Kn as resolveStorePath, Kr as computeNextAvailableAtMs, Lr as normalizeMessageChannel, Nn as getConfiguredSessionStorageRuntime, Rn as resolveUpdatedAfterPageSize, Sn as updateSessionStore, Tr as normalizeChatType, Vn as resolveDefaultSessionStorePath, Wr as CtxProjectionCorruptionError, Yn as DEFAULT_IDLE_MINUTES, Yr as serializeRetryPolicy, _n as getConversationReadQuery, ca as resolveSecretInputRef, kn as loadSessionStore, qr as isRetryExhausted, tr as resolveGroupSessionKey, yn as requireSessionStorageRuntime } from "./model-selection-BKz1FEg5.js";
2
- import { l as resolveStateDir } from "./paths-BIDPYPVC.js";
3
- import { ft as sliceUtf16Safe, it as normalizeE164, pt as truncateUtf16Safe, t as createSubsystemLogger } from "./subsystem-DoQFckDJ.js";
1
+ import { Bn as SESSION_RUN_STORE_FILE_NAME, H as loadConfig, Hn as resolveSessionFilePath, In as serializeSessionIndexRecordKey, Jr as parseRetryPolicy, Kn as resolveStorePath, Kr as computeNextAvailableAtMs, Lr as normalizeMessageChannel, Nn as getConfiguredSessionStorageRuntime, Rn as resolveUpdatedAfterPageSize, Sn as updateSessionStore, Tr as normalizeChatType, Vn as resolveDefaultSessionStorePath, Wr as CtxProjectionCorruptionError, Yn as DEFAULT_IDLE_MINUTES, Yr as serializeRetryPolicy, _n as getConversationReadQuery, ca as resolveSecretInputRef, kn as loadSessionStore, qr as isRetryExhausted, tr as resolveGroupSessionKey, yn as requireSessionStorageRuntime } from "./model-selection-ik2bHbgK.js";
2
+ import { l as resolveStateDir } from "./paths-B_gs59ga.js";
3
+ import { ft as sliceUtf16Safe, it as normalizeE164, pt as truncateUtf16Safe, t as createSubsystemLogger } from "./subsystem-cFv2jJm-.js";
4
4
  import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
5
- import { A as DEFAULT_AGENT_ID, H as normalizeAgentId, K as resolveCanonicalIdentity, L as computeIdentityLinkMatchKeys, N as RAW_PEER_KEY_PREFIX, P as buildAgentMainSessionKey, R as computeIdentityLinkScopedMatchKey, U as normalizeMainKey, lt as parseAgentSessionKey, nt as HEARTBEAT_SESSION_KEY_SEGMENT, q as resolveConfiguredCanonicalIdentity, rt as WAKE_GATE_SESSION_KEY_SEGMENT, st as isCronTriggerSessionKey, tt as BACKGROUND_SESSION_KEY_SEGMENT } from "./legacy-names-6uH6aLhq.js";
5
+ import { A as DEFAULT_AGENT_ID, H as normalizeAgentId, K as resolveCanonicalIdentity, L as computeIdentityLinkMatchKeys, N as RAW_PEER_KEY_PREFIX, P as buildAgentMainSessionKey, R as computeIdentityLinkScopedMatchKey, U as normalizeMainKey, lt as parseAgentSessionKey, nt as HEARTBEAT_SESSION_KEY_SEGMENT, q as resolveConfiguredCanonicalIdentity, rt as WAKE_GATE_SESSION_KEY_SEGMENT, st as isCronTriggerSessionKey, tt as BACKGROUND_SESSION_KEY_SEGMENT } from "./legacy-names-chsmo2vs.js";
6
6
  import { t as emitDiagnosticEvent } from "./diagnostic-events-RfJYFlJM.js";
7
7
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-k21fdARq.js";
8
- import { n as formatErrorChainMessage } from "./errors-BRYMqzPb.js";
8
+ import { n as formatErrorChainMessage } from "./errors-0-at0aYV.js";
9
9
  import { a as guardVerificationStoreInputs, i as clientResumeRecordArtifactId, n as VERIFICATION_STORE_ERROR_CODES, r as VerificationStoreError, t as CLIENT_RESUME_RECORD_KIND } from "./verification-store-DriJQYAH.js";
10
10
  import { createRequire } from "node:module";
11
11
  import path, { join } from "node:path";
@@ -4,7 +4,7 @@ import fs from "node:fs";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
6
  import { Logger } from "tslog";
7
- import JSON5 from "json5";
7
+ import json5 from "json5";
8
8
  import fs$1 from "node:fs/promises";
9
9
  import { promisify } from "node:util";
10
10
  import zlib from "node:zlib";
@@ -1377,7 +1377,7 @@ const defaultResolver = {
1377
1377
  resolvedPath,
1378
1378
  rootRealDir
1379
1379
  }),
1380
- parseJson: (raw) => JSON5.parse(raw)
1380
+ parseJson: (raw) => json5.parse(raw)
1381
1381
  };
1382
1382
  /**
1383
1383
  * Resolves all $include directives in a parsed config object.
@@ -1434,14 +1434,14 @@ function readLoggingConfig() {
1434
1434
  try {
1435
1435
  if (!fs.existsSync(configPath)) return;
1436
1436
  const raw = fs.readFileSync(configPath, "utf-8");
1437
- const resolvedIncludes = resolveConfigIncludes(JSON5.parse(raw), configPath, {
1437
+ const resolvedIncludes = resolveConfigIncludes(json5.parse(raw), configPath, {
1438
1438
  readFile: (candidate) => fs.readFileSync(candidate, "utf-8"),
1439
1439
  readFileWithGuards: ({ includePath, resolvedPath, rootRealDir }) => readConfigIncludeFileWithGuards({
1440
1440
  includePath,
1441
1441
  resolvedPath,
1442
1442
  rootRealDir
1443
1443
  }),
1444
- parseJson: (includeRaw) => JSON5.parse(includeRaw)
1444
+ parseJson: (includeRaw) => json5.parse(includeRaw)
1445
1445
  });
1446
1446
  if (resolvedIncludes && typeof resolvedIncludes === "object" && "env" in resolvedIncludes) applyConfigEnvVars(resolvedIncludes);
1447
1447
  const resolvedConfig = resolveConfigEnvVars(resolvedIncludes);