@lawpath-tech/openclaw 2026.2.21-13 → 2026.2.21-15

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 (256) hide show
  1. package/dist/{acp-cli-BkfB5ML1.js → acp-cli-BGd013GN.js} +2 -2
  2. package/dist/{acp-cli-CApfasTm.js → acp-cli-CPMfDKut.js} +2 -2
  3. package/dist/{agents-Acsw6oEr.js → agents-Cr5ttnEZ.js} +5 -5
  4. package/dist/{agents.config-BAILtL0e.js → agents.config-Cb39V4ME.js} +1 -1
  5. package/dist/{agents.config-DA4Kt9C5.js → agents.config-ulsbg1pK.js} +1 -1
  6. package/dist/{audio-preflight-B45_FIbf.js → audio-preflight-BElMqBWP.js} +5 -5
  7. package/dist/{audio-preflight-UmMU18Rf.js → audio-preflight-Bj4K6xFb.js} +6 -6
  8. package/dist/{audio-preflight-C56sndLt.js → audio-preflight-Bl3_4YPU.js} +5 -5
  9. package/dist/{audio-preflight-DTxmK1ti.js → audio-preflight-CajAB1S6.js} +5 -5
  10. package/dist/{audit-BYAONEme.js → audit-CBefkrGv.js} +5 -5
  11. package/dist/{audit-C1XET3ZE.js → audit-DYkmK-ld.js} +5 -5
  12. package/dist/{auth-choice-B0ExtimG.js → auth-choice-BLm2QGfb.js} +9 -6
  13. package/dist/{auth-choice-Cc9nPCSG.js → auth-choice-CWy8Tocv.js} +7 -4
  14. package/dist/{banner-l8hdGVT6.js → banner-BNYuxzll.js} +1 -1
  15. package/dist/{browser-cli-DHlsbYec.js → browser-cli-CB9ICMBi.js} +3 -3
  16. package/dist/{browser-cli-BC-ReOE2.js → browser-cli-CFr3s8F1.js} +3 -3
  17. package/dist/build-info.json +3 -3
  18. package/dist/bundled/boot-md/handler.js +8 -8
  19. package/dist/bundled/session-memory/handler.js +8 -8
  20. package/dist/{call-HzbpjcFE.js → call-CoszjrmC.js} +1 -1
  21. package/dist/{call-BRa7cSJX.js → call-TJkMlyh1.js} +1 -1
  22. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  23. package/dist/{channel-options-DU0lH77F.js → channel-options-D5xjBDrt.js} +1 -1
  24. package/dist/{channel-options-BOgY_qkz.js → channel-options-DOtKP_Pe.js} +1 -1
  25. package/dist/{channel-web-Bn_o0ClJ.js → channel-web-BuK04q0V.js} +2 -2
  26. package/dist/{channels-cli-HyoLT0X_.js → channels-cli-CtdtF5x0.js} +16 -16
  27. package/dist/{channels-cli-B8iPHVyY.js → channels-cli-Daef1MJO.js} +15 -15
  28. package/dist/{chrome-EGHj-WC_.js → chrome-Cag1SQQf.js} +7 -7
  29. package/dist/{chrome-DBIqeaeX.js → chrome-CnYcE5rb.js} +7 -7
  30. package/dist/cli/daemon-cli.js +1 -1
  31. package/dist/{cli-CB8wKUFa.js → cli-D2FM3v7N.js} +13 -13
  32. package/dist/{cli-BjW27QBR.js → cli-oE3ubP4h.js} +12 -12
  33. package/dist/{client-DrK7aLru.js → client-B5QR5Bi9.js} +1 -0
  34. package/dist/{client-DNkR7IzK.js → client-DFxIL6zb.js} +1 -0
  35. package/dist/{command-registry-43P-_3eW.js → command-registry-CZPrNgZG.js} +10 -10
  36. package/dist/{completion-cli-CSoJQQhc.js → completion-cli-CT0iwPmk.js} +2 -2
  37. package/dist/{completion-cli-BrkMcxdh.js → completion-cli-nGVT2PXU.js} +1 -1
  38. package/dist/{config-cli-CV3y1IAq.js → config-cli-CIYXO03v.js} +1 -1
  39. package/dist/{config-cli-Cuv_T0Jj.js → config-cli-t7IiiB99.js} +1 -1
  40. package/dist/{configure-BHGABgNw.js → configure-0cvvSMdF.js} +8 -8
  41. package/dist/{configure-80FWz9jT.js → configure-Dy4_SfSm.js} +6 -6
  42. package/dist/{cron-cli-Ccq6b1Xm.js → cron-cli-C-KJrVpx.js} +3 -3
  43. package/dist/{cron-cli-BchC61z9.js → cron-cli-vrlm_MNB.js} +3 -3
  44. package/dist/{daemon-cli-DHaAeFK4.js → daemon-cli-COeKuFWf.js} +2 -2
  45. package/dist/{daemon-cli-Bs5uvx8E.js → daemon-cli-jgAdyUSy.js} +2 -2
  46. package/dist/{deliver-J2cVd3TS.js → deliver-C2-v1uHE.js} +1 -1
  47. package/dist/{deliver-BLkQFTzD.js → deliver-COYwnI4c.js} +1 -1
  48. package/dist/{deliver-BTK-PB1e.js → deliver-CfxEkk-n.js} +1 -1
  49. package/dist/{deliver-meQdcFaA.js → deliver-_9JR3MQl.js} +1 -1
  50. package/dist/{devices-cli-DfhFetAh.js → devices-cli-BiG5rS7Z.js} +2 -2
  51. package/dist/{devices-cli-DY36N1BU.js → devices-cli-Z_0igBOb.js} +2 -2
  52. package/dist/{docs-cli-yYoJ8vbM.js → docs-cli-DfU7l2IC.js} +1 -1
  53. package/dist/{docs-cli-NEAwfi_8.js → docs-cli-xcx0x6hH.js} +1 -1
  54. package/dist/{doctor-completion-CszISgAZ.js → doctor-completion-BtQmR_Sj.js} +1 -1
  55. package/dist/{doctor-completion-xnrUSWAw.js → doctor-completion-CG15VeSt.js} +1 -1
  56. package/dist/entry.js +1 -1
  57. package/dist/{exec-approvals-cli-D3DMCz3D.js → exec-approvals-cli-Cm8wXF3p.js} +4 -4
  58. package/dist/{exec-approvals-cli-BcH9s31M.js → exec-approvals-cli-bE44xtMg.js} +4 -4
  59. package/dist/extensionAPI.js +8 -8
  60. package/dist/{gateway-cli-1XLrLurk.js → gateway-cli-BwYi3B0m.js} +24 -24
  61. package/dist/{gateway-cli-ElJ71Lxb.js → gateway-cli-ojFgSe0y.js} +25 -25
  62. package/dist/{gateway-rpc-BMaZvasj.js → gateway-rpc-B_EhJJ9m.js} +1 -1
  63. package/dist/{gateway-rpc-Bx1g3IWm.js → gateway-rpc-Cgqt0R-X.js} +1 -1
  64. package/dist/{health-BfWYn33I.js → health-CBlVacBy.js} +3 -3
  65. package/dist/{health-DEibfTDK.js → health-DeXgFQg3.js} +3 -3
  66. package/dist/{hooks-cli-D-nL8J6w.js → hooks-cli-Ci4AP4D3.js} +13 -13
  67. package/dist/{hooks-cli-wQnxbc8T.js → hooks-cli-CyCuE_3Y.js} +14 -14
  68. package/dist/{image-Dozs-5EW.js → image-D-Su_Vlp.js} +1 -1
  69. package/dist/{image-C8HOu4vb.js → image-DDR3QoP8.js} +1 -1
  70. package/dist/{image-DuT8yGCI.js → image-ixeggoPx.js} +1 -1
  71. package/dist/{image-Cj9tfO74.js → image-uuT0dSvF.js} +1 -1
  72. package/dist/index.js +18 -18
  73. package/dist/llm-slug-generator.js +8 -8
  74. package/dist/{logs-cli-OoMhBi6x.js → logs-cli-CaIM83UA.js} +3 -3
  75. package/dist/{logs-cli-Debml-RW.js → logs-cli-DagoeZN5.js} +3 -3
  76. package/dist/{model-catalog-DdfszCL_.js → model-catalog-COLkxDjB.js} +1 -1
  77. package/dist/{model-picker-DvJEmBNe.js → model-picker-DGm7uMUx.js} +1 -1
  78. package/dist/{models-DFRcZ415.js → models-C8NZ4Nsl.js} +3 -3
  79. package/dist/{models-cli-t1rYl_DG.js → models-cli-CKnzq-Df.js} +15 -15
  80. package/dist/{models-cli-CwEUrjU_.js → models-cli-D9YaSXPk.js} +14 -14
  81. package/dist/{node-cli-ix3Ihewo.js → node-cli-COaHxKg3.js} +1 -1
  82. package/dist/{node-cli-a1qHDu9_.js → node-cli-D3gQ8KGC.js} +1 -1
  83. package/dist/{nodes-cli-DQ-bEiM4.js → nodes-cli-BpIR6-hv.js} +3 -3
  84. package/dist/{nodes-cli-DdhOegQJ.js → nodes-cli-Br5QTpLd.js} +3 -3
  85. package/dist/{onboard-BgexsYYf.js → onboard-CnvzAqoB.js} +3 -3
  86. package/dist/{onboard-CE7hjJi-.js → onboard-D2uMulF6.js} +5 -5
  87. package/dist/{onboard-channels-Cb8T_ers.js → onboard-channels-C6vw7gFk.js} +1 -1
  88. package/dist/{onboard-channels-vQihczqp.js → onboard-channels-y56h5_68.js} +1 -1
  89. package/dist/{onboard-custom-DZ0rMdgP.js → onboard-custom-DVwut7lJ.js} +1 -1
  90. package/dist/{onboard-helpers-DI62-pou.js → onboard-helpers-CmdLA-ru.js} +1 -1
  91. package/dist/{onboard-helpers-C_gnSpDO.js → onboard-helpers-_XuvQpMB.js} +1 -1
  92. package/dist/{onboard-remote-5sv3xjOb.js → onboard-remote-DD04Ryd3.js} +1 -1
  93. package/dist/{onboard-remote-C6yP4ZTa.js → onboard-remote-DuC6uqzO.js} +1 -1
  94. package/dist/{onboard-skills-C-uF-16j.js → onboard-skills-CAMsz3vJ.js} +3 -3
  95. package/dist/{onboard-skills--fjELPeT.js → onboard-skills-Cjv87LPX.js} +3 -3
  96. package/dist/{onboarding-CX9LQxj2.js → onboarding-CX25URAM.js} +9 -9
  97. package/dist/{onboarding-BIEWyZPf.js → onboarding-DNjwf7F7.js} +7 -7
  98. package/dist/{onboarding.finalize-BUNWcC3i.js → onboarding.finalize-ChH_cfQV.js} +18 -18
  99. package/dist/{onboarding.finalize-COQ2A83D.js → onboarding.finalize-DNcXnk0y.js} +18 -18
  100. package/dist/{onboarding.gateway-config-hVnxfjDV.js → onboarding.gateway-config-AB0vwzvq.js} +3 -3
  101. package/dist/{onboarding.gateway-config-CEtuJG2A.js → onboarding.gateway-config-CM9F0yVq.js} +3 -3
  102. package/dist/{pi-auth-json-C13EjDId.js → pi-auth-json-BilS9_xV.js} +1 -1
  103. package/dist/{pi-embedded-KtxTxaXU.js → pi-embedded-DPkt0xxi.js} +27 -22
  104. package/dist/{pi-embedded-BywyyGi2.js → pi-embedded-ZSw8EiAy.js} +27 -22
  105. package/dist/{pi-embedded-helpers-C4Annkh_.js → pi-embedded-helpers-BjXA0K8b.js} +1 -1
  106. package/dist/{pi-embedded-helpers-Dl_FdUMU.js → pi-embedded-helpers-CRoVRT2P.js} +5 -5
  107. package/dist/{pi-embedded-helpers-B6070OEj.js → pi-embedded-helpers-DMA3limQ.js} +5 -5
  108. package/dist/{pi-embedded-helpers-C_U_c_EU.js → pi-embedded-helpers-FIgrwMdk.js} +1 -1
  109. package/dist/{pi-tools.policy-yLrAeeZu.js → pi-tools.policy-2e2wN_1V.js} +1 -1
  110. package/dist/{pi-tools.policy-DSLVZzX5.js → pi-tools.policy-qhaJaIFe.js} +1 -1
  111. package/dist/{plugin-registry-CtLhKV8N.js → plugin-registry-B7Yl_nJm.js} +1 -1
  112. package/dist/{plugin-registry-BrN1y1ig.js → plugin-registry-DE17Wq8H.js} +1 -1
  113. package/dist/plugin-sdk/{accounts-fnLsjAOi.js → accounts-Ciwy7Yxd.js} +3 -3
  114. package/dist/plugin-sdk/{accounts-BcQo4OUu.js → accounts-DUBJHEgi.js} +1 -1
  115. package/dist/plugin-sdk/{accounts-DEsAwvaZ.js → accounts-wSu5JyDM.js} +1 -1
  116. package/dist/plugin-sdk/{active-listener-CeaKSm29.js → active-listener-Bnau4oiu.js} +1 -1
  117. package/dist/plugin-sdk/{agent-scope-DnU66cJq.js → agent-scope-j9eoKDzr.js} +2 -2
  118. package/dist/plugin-sdk/agents/compaction.d.ts +2 -0
  119. package/dist/plugin-sdk/{api-key-rotation-DRhVpAS4.js → api-key-rotation-BKOzXMVg.js} +1 -1
  120. package/dist/plugin-sdk/{audio-preflight-zFFuY6Bd.js → audio-preflight-4vffLZR4.js} +24 -24
  121. package/dist/plugin-sdk/{bindings-HAeLX6mi.js → bindings-BxwR115d.js} +2 -2
  122. package/dist/plugin-sdk/{channel-activity-WgE8Z4Bb.js → channel-activity-CCnr-9bS.js} +1 -1
  123. package/dist/plugin-sdk/{channel-web-DfA1sgI9.js → channel-web-BP-qKsfm.js} +22 -22
  124. package/dist/plugin-sdk/{chrome-NvVwZ3Xn.js → chrome-CAPUVzg9.js} +3 -3
  125. package/dist/plugin-sdk/{chunk-CQk9vawA.js → chunk-DyzO7IVo.js} +1 -1
  126. package/dist/plugin-sdk/{command-format-DHXa0Clc.js → command-format-DcBXOX9Z.js} +1 -1
  127. package/dist/plugin-sdk/{commands-registry-C0vBsgUy.js → commands-registry-C-WjNyFR.js} +4 -4
  128. package/dist/plugin-sdk/{config-C1a-yGCa.js → config-DxWaFEai.js} +9 -9
  129. package/dist/plugin-sdk/{deliver-D4QMj1KQ.js → deliver-j3DLAHmV.js} +10 -10
  130. package/dist/plugin-sdk/{diagnostic-Up1aMyxZ.js → diagnostic-DKyVS3IK.js} +1 -1
  131. package/dist/plugin-sdk/{image-Bu6pmW6i.js → image-BhV_XGSx.js} +4 -4
  132. package/dist/plugin-sdk/{image-ops-6S8Fa1d6.js → image-ops-Bjog8bLM.js} +1 -1
  133. package/dist/plugin-sdk/index.js +53 -53
  134. package/dist/plugin-sdk/{ir-yosTlCQ0.js → ir-98uc6iQ2.js} +4 -4
  135. package/dist/plugin-sdk/{local-roots-CW6TWE2a.js → local-roots-9jdLho_V.js} +3 -3
  136. package/dist/plugin-sdk/{login-CkOX36_Y.js → login-DTf65Ckq.js} +7 -7
  137. package/dist/plugin-sdk/{login-qr-DyxTgmGK.js → login-qr-CRlrA1Km.js} +9 -9
  138. package/dist/plugin-sdk/{manager-CtapJqej.js → manager-B44bHk5P.js} +8 -8
  139. package/dist/plugin-sdk/{manifest-registry-DvEm2HHf.js → manifest-registry-sgHvjA6E.js} +1 -1
  140. package/dist/plugin-sdk/{markdown-tables-OYHjLFmr.js → markdown-tables-DV9FqwR1.js} +1 -1
  141. package/dist/plugin-sdk/{message-channel-DY9wVB2A.js → message-channel-DmB4bGFh.js} +1 -1
  142. package/dist/plugin-sdk/{model-selection-TMsqRl-p.js → model-selection-BALQkWtM.js} +4 -4
  143. package/dist/plugin-sdk/{outbound-Cs6LZhj-.js → outbound-CjucU9tz.js} +7 -7
  144. package/dist/plugin-sdk/{outbound-attachment-C1DtqQQb.js → outbound-attachment-BGKevRhJ.js} +2 -2
  145. package/dist/plugin-sdk/{pi-auth-json-Dpj7O31p.js → pi-auth-json-CYvT0sDr.js} +5 -5
  146. package/dist/plugin-sdk/{pi-embedded-helpers-DBCtPcLq.js → pi-embedded-helpers-DQd-G9Yf.js} +17 -17
  147. package/dist/plugin-sdk/{plugins-BizZYn_y.js → plugins-DwNa_Bjz.js} +4 -4
  148. package/dist/plugin-sdk/{pw-ai-CtYVo9Ju.js → pw-ai-mUE_oZph.js} +8 -8
  149. package/dist/plugin-sdk/{qmd-manager-qSSWvVwi.js → qmd-manager-CxvLwD3u.js} +4 -4
  150. package/dist/plugin-sdk/{registry-DL-33c9X.js → registry-O1yza0Vh.js} +2 -2
  151. package/dist/plugin-sdk/{replies-YDjHVGij.js → replies-BLJ6SuWd.js} +3 -3
  152. package/dist/plugin-sdk/{reply-Dl9JHnGW.js → reply-CEPjyDUz.js} +86 -81
  153. package/dist/plugin-sdk/{reply-prefix-DNmkrWtV.js → reply-prefix-Ohtg483v.js} +1 -1
  154. package/dist/plugin-sdk/{resolve-outbound-target-DCb1ht31.js → resolve-outbound-target-vib4nnNx.js} +2 -2
  155. package/dist/plugin-sdk/{resolve-route-BDLDhEh_.js → resolve-route-DM-CdB9Z.js} +3 -3
  156. package/dist/plugin-sdk/{retry-5P3d0rYw.js → retry-JFNwfUew.js} +1 -1
  157. package/dist/plugin-sdk/{runner-DvYaPG7_.js → runner-CsA0T0xW.js} +9 -9
  158. package/dist/plugin-sdk/{send-DZQYUVIY.js → send-BzXVnK8V.js} +10 -10
  159. package/dist/plugin-sdk/{send-3DmbiJfM.js → send-C-9MUMZ2.js} +6 -6
  160. package/dist/plugin-sdk/{send-DU1Pnsmd.js → send-CAhPO5Zx.js} +7 -7
  161. package/dist/plugin-sdk/{send-BsKrW0Xh.js → send-D4OqVuu3.js} +6 -6
  162. package/dist/plugin-sdk/{send-CNMXFSjB.js → send-DQL4fKTV.js} +10 -10
  163. package/dist/plugin-sdk/{session-D38ojZ3_.js → session-B-KGD6AG.js} +4 -4
  164. package/dist/plugin-sdk/{skill-commands-D7degVS7.js → skill-commands-BKx7u1Af.js} +5 -5
  165. package/dist/plugin-sdk/{skills-DBG2n4rQ.js → skills-DeKBQV6I.js} +8 -8
  166. package/dist/plugin-sdk/{sqlite-ulpcowfN.js → sqlite-DUu0dwic.js} +1 -1
  167. package/dist/plugin-sdk/{store-CMGBlFGX.js → store-gutZwMLb.js} +2 -2
  168. package/dist/plugin-sdk/{subsystem-C9WnrKN8.js → subsystem-C4Rh0kdL.js} +1 -1
  169. package/dist/plugin-sdk/{tables-DzujD35V.js → tables-DhuVe5ji.js} +1 -1
  170. package/dist/plugin-sdk/{target-errors-KOPdGMxQ.js → target-errors-2VrFN2Zl.js} +2 -2
  171. package/dist/plugin-sdk/{thinking-BiNjzudU.js → thinking-DK3F1Tth.js} +5 -5
  172. package/dist/plugin-sdk/{tokens-2475WU2Z.js → tokens-K9ITCatc.js} +1 -1
  173. package/dist/plugin-sdk/{tool-images-BlYojiWx.js → tool-images-Bu_rB65-.js} +2 -2
  174. package/dist/plugin-sdk/{tool-loop-detection-D0ADW0h2.js → tool-loop-detection-BBRtoox8.js} +2 -2
  175. package/dist/plugin-sdk/web-D4y93xJs.js +65 -0
  176. package/dist/plugin-sdk/{whatsapp-actions-Bffbt65T.js → whatsapp-actions-DfsMoZFo.js} +21 -21
  177. package/dist/{plugins-cli-CP_m4f99.js → plugins-cli-BBAYRb8O.js} +14 -14
  178. package/dist/{plugins-cli-ByB9fyeR.js → plugins-cli-C1W0RPgc.js} +13 -13
  179. package/dist/{program-B51CfijA.js → program-Bj5k5gwz.js} +18 -18
  180. package/dist/{program-context-DFA11MB9.js → program-context-tNcp-mvw.js} +33 -33
  181. package/dist/{prompt-select-styled-y8kycqep.js → prompt-select-styled-BbASxjn_.js} +9 -9
  182. package/dist/{prompt-select-styled-kNFZiNLD.js → prompt-select-styled-DZrY2sA_.js} +8 -8
  183. package/dist/{provider-auth-helpers-TZ3D-fXq.js → provider-auth-helpers-CCY4taBH.js} +1 -1
  184. package/dist/{provider-auth-helpers-AORB3hk9.js → provider-auth-helpers-CP7HYaYM.js} +1 -1
  185. package/dist/{push-apns-CSSSwhDY.js → push-apns-Py957uVN.js} +1 -1
  186. package/dist/{push-apns-BTcu7pip.js → push-apns-o7ASyo4Q.js} +1 -1
  187. package/dist/{pw-ai-Cs2YQmkQ.js → pw-ai-Bib1qJp-.js} +1 -1
  188. package/dist/{pw-ai-BW_4y-Af.js → pw-ai-MQ_9Ke4J.js} +1 -1
  189. package/dist/{register.agent-C4G2zuxZ.js → register.agent-B_b_-2cY.js} +18 -18
  190. package/dist/{register.agent-xMmK5W-R.js → register.agent-hqBqmBPU.js} +17 -17
  191. package/dist/{register.configure-aXmgTNuB.js → register.configure-Br2VMKhA.js} +21 -21
  192. package/dist/{register.configure-CeFYJnjt.js → register.configure-cUVH1n-u.js} +24 -24
  193. package/dist/{register.maintenance-BD4w3mhl.js → register.maintenance-Bbn7pCyE.js} +20 -20
  194. package/dist/{register.maintenance-h74is0GZ.js → register.maintenance-CUAS8JOu.js} +20 -20
  195. package/dist/{register.message-Cx6UTHOb.js → register.message-D2L3XqTt.js} +13 -13
  196. package/dist/{register.message-42he49is.js → register.message-bvIwGa7g.js} +14 -14
  197. package/dist/{register.onboard-CnByKpp_.js → register.onboard-B6Qrg73p.js} +15 -15
  198. package/dist/{register.onboard-CgQM-nZ7.js → register.onboard-BOTmQdqt.js} +18 -18
  199. package/dist/{register.setup-B4qai0DZ.js → register.setup-D4Yjaf14.js} +18 -18
  200. package/dist/{register.setup-CkW4jPu_.js → register.setup-S9uT_LuP.js} +15 -15
  201. package/dist/{register.status-health-sessions-DHHGaJsX.js → register.status-health-sessions-Bx2bIzgM.js} +17 -17
  202. package/dist/{register.status-health-sessions-DNqvYowR.js → register.status-health-sessions-DVxTaMpy.js} +16 -16
  203. package/dist/{register.subclis-CSqyRt2t.js → register.subclis-D1L87Gpv.js} +24 -24
  204. package/dist/{reply-V8UXM1XU.js → reply-DqcAv2-y.js} +28 -23
  205. package/dist/{rpc-Bk_KCCAQ.js → rpc-C4Snrm7E.js} +1 -1
  206. package/dist/{rpc-CcmSH-Xh.js → rpc-CEA0TIkv.js} +1 -1
  207. package/dist/{run-main-B3sc7X8M.js → run-main-CyPrmqDX.js} +25 -25
  208. package/dist/{runner-CbkB3vpb.js → runner-7CvZzaDq.js} +1 -1
  209. package/dist/{runner-DzmbTP-U.js → runner-BajQ90ow.js} +1 -1
  210. package/dist/{runner-D4U7RPrD.js → runner-C847b4l8.js} +1 -1
  211. package/dist/{runner-DkWpm1Ly.js → runner-D-imTQOw.js} +2 -2
  212. package/dist/{sandbox-BMaHJcKh.js → sandbox-CnjxZiX6.js} +1 -1
  213. package/dist/{sandbox-BouZCtAZ.js → sandbox-Dx7rhTNq.js} +1 -1
  214. package/dist/{sandbox-cli-BOIxnYTT.js → sandbox-cli-BFaKObCn.js} +2 -2
  215. package/dist/{sandbox-cli-CNuDSwRd.js → sandbox-cli-BPn1XzP4.js} +2 -2
  216. package/dist/{security-cli-yUbF8tfT.js → security-cli-BIOH8n5b.js} +6 -6
  217. package/dist/{security-cli-BdxPszWY.js → security-cli-BXOj4tGz.js} +6 -6
  218. package/dist/{server-node-events-Dm6MSKk0.js → server-node-events-BN2H_rVX.js} +13 -13
  219. package/dist/{server-node-events-D5Fen-q2.js → server-node-events-DykI_E-8.js} +14 -14
  220. package/dist/{session-dirs-CRnGB63U.js → session-dirs-B0zFNCLY.js} +1 -1
  221. package/dist/{session-dirs-BmVdF2KM.js → session-dirs-DSKxljVZ.js} +1 -1
  222. package/dist/{skill-commands-WUe5qD2m.js → skill-commands-BaMzGjOE.js} +1 -1
  223. package/dist/{skill-commands-Cpmn3Org.js → skill-commands-Bt5B72pd.js} +1 -1
  224. package/dist/{skill-commands-CZAnHEpp.js → skill-commands-eR3egMMt.js} +1 -1
  225. package/dist/{skill-commands-BdHYzdEB.js → skill-commands-j1K-cIeH.js} +1 -1
  226. package/dist/{skills-0xyvB-8h.js → skills-C3qtO85j.js} +1 -1
  227. package/dist/{skills-BiH90q2q.js → skills-D873e5Tc.js} +1 -1
  228. package/dist/{skills-DZ5N398o.js → skills-DpbAF0wq.js} +1 -1
  229. package/dist/{skills-BZ3AnzBD.js → skills-L6sb1hQe.js} +1 -1
  230. package/dist/{skills-cli-BfP1am_D.js → skills-cli-DAFKeROB.js} +4 -4
  231. package/dist/{skills-cli-e6dKuMzN.js → skills-cli-GRGIeeSV.js} +4 -4
  232. package/dist/{skills-install-BOt50Tao.js → skills-install-BQNBjQvM.js} +1 -1
  233. package/dist/{skills-install-jtm7_1nn.js → skills-install-Dcs7EklJ.js} +1 -1
  234. package/dist/{skills-status-CMdWT0WL.js → skills-status-C7F1IVPW.js} +1 -1
  235. package/dist/{skills-status-CwscTRzQ.js → skills-status-CcVQgk7_.js} +1 -1
  236. package/dist/{status-2w8d47j-.js → status-BBQHN5Wr.js} +7 -7
  237. package/dist/{status-DQEnKbht.js → status-Btn1lDLP.js} +7 -7
  238. package/dist/{status-BjjDHl4v.js → status-Bu0duOxd.js} +1 -1
  239. package/dist/{status-Bi_g-8aS.js → status-Cpop9sfR.js} +1 -1
  240. package/dist/{subagent-registry-DGNGenUN.js → subagent-registry-Cg2YMVBU.js} +27 -22
  241. package/dist/{system-cli-DPOiGc7h.js → system-cli-C05DpfTG.js} +3 -3
  242. package/dist/{system-cli-j_l7ny-B.js → system-cli-Ct1oL2YJ.js} +3 -3
  243. package/dist/{tui-Dn3NzP7B.js → tui-BU33njV9.js} +3 -3
  244. package/dist/{tui-BPSckkGa.js → tui-CPS0i4Jp.js} +3 -3
  245. package/dist/{tui-cli-DYhd0RT6.js → tui-cli-BIHpAZQ4.js} +6 -6
  246. package/dist/{tui-cli-Dscc8usx.js → tui-cli-_nW4J4iV.js} +6 -6
  247. package/dist/{update-cli-CLaJrUF4.js → update-cli-CSDZGHRl.js} +21 -21
  248. package/dist/{update-cli-DHAT02hj.js → update-cli-e52JqEIU.js} +21 -21
  249. package/dist/{web-Ciz1i7yI.js → web-BMSJ0cCb.js} +14 -14
  250. package/dist/{web-H55ayBNa.js → web-Bb66rPTb.js} +12 -12
  251. package/dist/{web-aUEiU7C4.js → web-C4JbFWtw.js} +8 -8
  252. package/dist/{web-BpYdg2HU.js → web-ChhsHjUp.js} +8 -8
  253. package/dist/{webhooks-cli-Do7FxZZn.js → webhooks-cli-BaFlLT8b.js} +1 -1
  254. package/dist/{webhooks-cli-XKB_0xb7.js → webhooks-cli-LMRP1VXt.js} +1 -1
  255. package/package.json +5 -5
  256. package/dist/plugin-sdk/web-BFEz8bk-.js +0 -65
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DIoqNZGo.js";
16
16
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-BJZNl-To.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-BLkQFTzD.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-COYwnI4c.js";
18
18
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DzmNBZt3.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-sr0G5UOe.js";
@@ -22,11 +22,11 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-BJidZpId.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-DNOtJsL1.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-Dl_FdUMU.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-CRoVRT2P.js";
26
26
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-Bj1BETyH.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverOpenClawPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-sze5OW-s.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-EGHj-WC_.js";
29
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-BZ3AnzBD.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-Cag1SQQf.js";
29
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-L6sb1hQe.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
32
32
  import { n as getMediaDir, r as saveMediaBuffer } from "./store-BNNZ_GuS.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DAZL5b5o.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-5iQF9bSz.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-o5KE8ifY.js";
39
- import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-DuT8yGCI.js";
39
+ import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-ixeggoPx.js";
40
40
  import { n as resolveMemorySearchConfig } from "./manager-isQiMuR_.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-CmTvWxxq.js";
42
42
  import { n as retryAsync } from "./retry-CFbmOHr4.js";
@@ -47,9 +47,9 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-BheT
47
47
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DRK3CmRg.js";
48
48
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-D0XFjNjt.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-Cc65BLE0.js";
50
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-WUe5qD2m.js";
50
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-BaMzGjOE.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-DzmbTP-U.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BajQ90ow.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BMa0enEg.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-7fb2OxTV.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
82
+ import WebSocket$1, { WebSocket } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5713,7 +5713,7 @@ var GatewayClient = class {
5713
5713
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5714
5714
  });
5715
5715
  }
5716
- this.ws = new WebSocket$1(url, wsOptions);
5716
+ this.ws = new WebSocket(url, wsOptions);
5717
5717
  this.ws.on("open", () => {
5718
5718
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5719
5719
  const tlsError = this.validateTlsFingerprint();
@@ -5932,7 +5932,7 @@ var GatewayClient = class {
5932
5932
  return null;
5933
5933
  }
5934
5934
  async request(method, params, opts) {
5935
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5935
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5936
5936
  const id = randomUUID();
5937
5937
  const frame = {
5938
5938
  type: "req",
@@ -7196,7 +7196,7 @@ async function routeReply(params) {
7196
7196
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7197
7197
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7198
7198
  try {
7199
- const { deliverOutboundPayloads } = await import("./deliver-BLkQFTzD.js").then((n) => n.n);
7199
+ const { deliverOutboundPayloads } = await import("./deliver-COYwnI4c.js").then((n) => n.n);
7200
7200
  return {
7201
7201
  ok: true,
7202
7202
  messageId: (await deliverOutboundPayloads({
@@ -41569,7 +41569,7 @@ async function deliverSessionMaintenanceWarning(params) {
41569
41569
  return;
41570
41570
  }
41571
41571
  try {
41572
- const { deliverOutboundPayloads } = await import("./deliver-BLkQFTzD.js").then((n) => n.n);
41572
+ const { deliverOutboundPayloads } = await import("./deliver-COYwnI4c.js").then((n) => n.n);
41573
41573
  await deliverOutboundPayloads({
41574
41574
  cfg: params.cfg,
41575
41575
  channel,
@@ -45016,7 +45016,7 @@ async function describeStickerImage(params) {
45016
45016
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45017
45017
  try {
45018
45018
  const buffer = await fs$1.readFile(imagePath);
45019
- const { describeImageWithModel } = await import("./image-DuT8yGCI.js").then((n) => n.n);
45019
+ const { describeImageWithModel } = await import("./image-ixeggoPx.js").then((n) => n.n);
45020
45020
  return (await describeImageWithModel({
45021
45021
  buffer,
45022
45022
  fileName: "sticker.webp",
@@ -47477,7 +47477,7 @@ async function preflightDiscordMessage(params) {
47477
47477
  let preflightTranscript;
47478
47478
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47479
47479
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47480
- const { transcribeFirstAudio } = await import("./audio-preflight-C56sndLt.js");
47480
+ const { transcribeFirstAudio } = await import("./audio-preflight-Bl3_4YPU.js");
47481
47481
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47482
47482
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47483
47483
  ctx: {
@@ -51483,7 +51483,7 @@ function isVoiceChannelType(type) {
51483
51483
  function createDefaultDeps() {
51484
51484
  return {
51485
51485
  sendMessageWhatsApp: async (...args) => {
51486
- const { sendMessageWhatsApp } = await import("./web-aUEiU7C4.js");
51486
+ const { sendMessageWhatsApp } = await import("./web-C4JbFWtw.js");
51487
51487
  return await sendMessageWhatsApp(...args);
51488
51488
  },
51489
51489
  sendMessageTelegram: async (...args) => {
@@ -54396,7 +54396,7 @@ function createDiscordGatewayPlugin(params) {
54396
54396
  super(options);
54397
54397
  }
54398
54398
  createWebSocket(url) {
54399
- return new WebSocket(url, { agent });
54399
+ return new WebSocket$1(url, { agent });
54400
54400
  }
54401
54401
  }
54402
54402
  return new ProxyGatewayPlugin();
@@ -62451,7 +62451,7 @@ async function registerSlackMonitorSlashCommands(params) {
62451
62451
  let nativeCommands = [];
62452
62452
  if (nativeEnabled) {
62453
62453
  reg = await getCommandsRegistry();
62454
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-WUe5qD2m.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62454
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BaMzGjOE.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
62455
62455
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
62456
62456
  skillCommands,
62457
62457
  provider: "slack"
@@ -64669,7 +64669,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64669
64669
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64670
64670
  let preflightTranscript;
64671
64671
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64672
- const { transcribeFirstAudio } = await import("./audio-preflight-C56sndLt.js");
64672
+ const { transcribeFirstAudio } = await import("./audio-preflight-Bl3_4YPU.js");
64673
64673
  preflightTranscript = await transcribeFirstAudio({
64674
64674
  ctx: {
64675
64675
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66826,7 +66826,7 @@ function loadWebLoginQr() {
66826
66826
  return webLoginQrPromise;
66827
66827
  }
66828
66828
  function loadWebChannel() {
66829
- webChannelPromise ??= import("./web-aUEiU7C4.js");
66829
+ webChannelPromise ??= import("./web-C4JbFWtw.js");
66830
66830
  return webChannelPromise;
66831
66831
  }
66832
66832
  function loadWhatsAppActions() {
@@ -70474,7 +70474,7 @@ async function summarizeChunks(params) {
70474
70474
  if (params.messages.length === 0) return params.previousSummary ?? DEFAULT_SUMMARY_FALLBACK;
70475
70475
  const chunks = chunkMessagesByMaxTokens(stripToolResultDetails(params.messages), params.maxChunkTokens);
70476
70476
  let summary = params.previousSummary;
70477
- for (const chunk of chunks) summary = await retryAsync(() => generateSummary(chunk, params.model, params.reserveTokens, params.apiKey, params.signal, params.customInstructions, summary), {
70477
+ for (const chunk of chunks) summary = await retryAsync(() => generateSummary(chunk, params.model, params.reserveTokens, params.apiKey, params.headers, params.signal, params.customInstructions, summary), {
70478
70478
  attempts: 3,
70479
70479
  minDelayMs: 500,
70480
70480
  maxDelayMs: 5e3,
@@ -70686,8 +70686,8 @@ function compactionSafeguardExtension(api) {
70686
70686
  modifiedFiles
70687
70687
  }
70688
70688
  } };
70689
- const apiKey = await ctx.modelRegistry.getApiKey(model);
70690
- if (!apiKey) return { compaction: {
70689
+ const requestAuth = await ctx.modelRegistry.getApiKeyAndHeaders(model);
70690
+ if (!requestAuth.ok || !requestAuth.apiKey && !requestAuth.headers) return { compaction: {
70691
70691
  summary: fallbackSummary,
70692
70692
  firstKeptEntryId: preparation.firstKeptEntryId,
70693
70693
  tokensBefore: preparation.tokensBefore,
@@ -70696,6 +70696,8 @@ function compactionSafeguardExtension(api) {
70696
70696
  modifiedFiles
70697
70697
  }
70698
70698
  } };
70699
+ const apiKey = requestAuth.apiKey ?? "";
70700
+ const headers = requestAuth.headers;
70699
70701
  try {
70700
70702
  const runtime = getCompactionSafeguardRuntime(ctx.sessionManager);
70701
70703
  const modelContextWindow = resolveContextWindowTokens$1(model);
@@ -70726,6 +70728,7 @@ function compactionSafeguardExtension(api) {
70726
70728
  messages: pruned.droppedMessagesList,
70727
70729
  model,
70728
70730
  apiKey,
70731
+ headers,
70729
70732
  signal,
70730
70733
  reserveTokens: Math.max(1, Math.floor(preparation.settings.reserveTokens)),
70731
70734
  maxChunkTokens: droppedMaxChunkTokens,
@@ -70747,6 +70750,7 @@ function compactionSafeguardExtension(api) {
70747
70750
  messages: messagesToSummarize,
70748
70751
  model,
70749
70752
  apiKey,
70753
+ headers,
70750
70754
  signal,
70751
70755
  reserveTokens,
70752
70756
  maxChunkTokens,
@@ -70759,6 +70763,7 @@ function compactionSafeguardExtension(api) {
70759
70763
  messages: turnPrefixMessages,
70760
70764
  model,
70761
70765
  apiKey,
70766
+ headers,
70762
70767
  signal,
70763
70768
  reserveTokens,
70764
70769
  maxChunkTokens,
@@ -1,6 +1,6 @@
1
1
  import { E as truncateUtf16Safe } from "./utils-BlC2Fskb.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-EAliFiVK.js";
3
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BouZCtAZ.js";
3
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-Dx7rhTNq.js";
4
4
  import { t as sanitizeContentBlocksImages } from "./tool-images-CtpCHmE5.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
@@ -10,8 +10,8 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BJidZpId.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-DNOtJsL1.js";
12
12
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-Bj1BETyH.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-EGHj-WC_.js";
14
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BZ3AnzBD.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-Cag1SQQf.js";
14
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-L6sb1hQe.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
17
17
  import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-BNNZ_GuS.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-Cs2YQmkQ.js");
934
+ return await import("./pw-ai-Bib1qJp-.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-Cs2YQmkQ.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-Bib1qJp-.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-Cs2YQmkQ.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-Bib1qJp-.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -12,8 +12,8 @@ import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n a
12
12
  import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-CpS0Gv-Z.js";
13
13
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-CHYSjmbr.js";
14
14
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-DN88A7od.js";
15
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-DBIqeaeX.js";
16
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BiH90q2q.js";
15
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CnYcE5rb.js";
16
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-D873e5Tc.js";
17
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
18
18
  import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
19
19
  import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-kNxJOrmI.js";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-BW_4y-Af.js");
936
+ return await import("./pw-ai-MQ_9Ke4J.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -3473,11 +3473,11 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-BW_4y-Af.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-MQ_9Ke4J.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-BW_4y-Af.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-MQ_9Ke4J.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
3482
  if (!fs$1.existsSync(userDataDir)) return {
3483
3483
  moved: false,
@@ -1,5 +1,5 @@
1
1
  import { pt as truncateUtf16Safe } from "./entry.js";
2
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-BMaHJcKh.js";
2
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-CnjxZiX6.js";
3
3
  import { t as sanitizeContentBlocksImages } from "./tool-images-CW04CAn5.js";
4
4
  import { s as normalizeThinkLevel } from "./thinking-8sKPnzpp.js";
5
5
  import path from "node:path";
@@ -2,7 +2,7 @@ import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey }
2
2
  import { r as resolveAgentConfig } from "./agent-scope-Dl-vG2QO.js";
3
3
  import { l as normalizeMessageChannel } from "./message-channel-v74IfRaS.js";
4
4
  import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-DuSkPZEG.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BouZCtAZ.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-Dx7rhTNq.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BGIuBSsT.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -2,7 +2,7 @@ import { C as resolveThreadParentSessionKey, l as resolveAgentIdFromSessionKey }
2
2
  import { r as resolveAgentConfig } from "./agent-scope-BhZr1_OI.js";
3
3
  import { z as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./config-26MDXfhB.js";
4
4
  import { l as normalizeMessageChannel } from "./message-channel-CVHJDItx.js";
5
- import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-BMaHJcKh.js";
5
+ import { T as matchesAnyGlobPattern, w as compileGlobPatterns, x as normalizeToolName, y as expandToolGroups } from "./sandbox-CnjxZiX6.js";
6
6
  import { o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-BSksHMjn.js";
7
7
 
8
8
  //#region src/agents/sandbox-tool-policy.ts
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { gt as loadOpenClawPlugins } from "./reply-V8UXM1XU.js";
2
+ import { gt as loadOpenClawPlugins } from "./reply-DqcAv2-y.js";
3
3
  import { d as getActivePluginRegistry } from "./registry-Dygi7Azw.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-8bY95KEB.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-Dl-vG2QO.js";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { M as getActivePluginRegistry, o as createSubsystemLogger } from "./entry.js";
3
3
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-BhZr1_OI.js";
4
4
  import { i as loadConfig } from "./config-26MDXfhB.js";
5
- import { g as loadOpenClawPlugins } from "./subagent-registry-DGNGenUN.js";
5
+ import { g as loadOpenClawPlugins } from "./subagent-registry-Cg2YMVBU.js";
6
6
 
7
7
  //#region src/cli/plugin-registry.ts
8
8
  var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
@@ -1,8 +1,8 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { a as resolveOAuthDir } from "./paths-DVWx7USN.js";
3
- import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry-DL-33c9X.js";
4
- import { i as defaultRuntime } from "./subsystem-C9WnrKN8.js";
5
- import { t as formatCliCommand } from "./command-format-DHXa0Clc.js";
3
+ import { P as resolveUserPath, W as info, X as success, k as jidToE164, tt as getChildLogger } from "./registry-O1yza0Vh.js";
4
+ import { i as defaultRuntime } from "./subsystem-C4Rh0kdL.js";
5
+ import { t as formatCliCommand } from "./command-format-DcBXOX9Z.js";
6
6
  import fs from "node:fs";
7
7
  import path from "node:path";
8
8
  import fs$1 from "node:fs/promises";
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
- import { _ as createAccountListHelpers } from "./accounts-fnLsjAOi.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-Ciwy7Yxd.js";
3
3
 
4
4
  //#region src/signal/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal");
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
- import { _ as createAccountListHelpers } from "./accounts-fnLsjAOi.js";
2
+ import { _ as createAccountListHelpers } from "./accounts-Ciwy7Yxd.js";
3
3
 
4
4
  //#region src/imessage/accounts.ts
5
5
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("imessage");
@@ -1,5 +1,5 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID } from "./session-key-C_0eELjb.js";
2
- import { t as formatCliCommand } from "./command-format-DHXa0Clc.js";
2
+ import { t as formatCliCommand } from "./command-format-DcBXOX9Z.js";
3
3
 
4
4
  //#region src/web/active-listener.ts
5
5
  const listeners = /* @__PURE__ */ new Map();
@@ -1,7 +1,7 @@
1
1
  import { _ as isCronSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, v as isSubagentSessionKey, y as parseAgentSessionKey } from "./session-key-C_0eELjb.js";
2
2
  import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-DVWx7USN.js";
3
- import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry-DL-33c9X.js";
4
- import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-C9WnrKN8.js";
3
+ import { P as resolveUserPath, U as danger, W as info, Y as shouldLogVerbose, Z as warn, j as pathExists, nt as getLogger, q as logVerboseConsole } from "./registry-O1yza0Vh.js";
4
+ import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-C4Rh0kdL.js";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
7
  import os from "node:os";
@@ -24,6 +24,7 @@ export declare function summarizeWithFallback(params: {
24
24
  messages: AgentMessage[];
25
25
  model: NonNullable<ExtensionContext["model"]>;
26
26
  apiKey: string;
27
+ headers?: Record<string, string>;
27
28
  signal: AbortSignal;
28
29
  reserveTokens: number;
29
30
  maxChunkTokens: number;
@@ -35,6 +36,7 @@ export declare function summarizeInStages(params: {
35
36
  messages: AgentMessage[];
36
37
  model: NonNullable<ExtensionContext["model"]>;
37
38
  apiKey: string;
39
+ headers?: Record<string, string>;
38
40
  signal: AbortSignal;
39
41
  reserveTokens: number;
40
42
  maxChunkTokens: number;
@@ -1,4 +1,4 @@
1
- import { c as normalizeProviderId } from "./model-selection-TMsqRl-p.js";
1
+ import { c as normalizeProviderId } from "./model-selection-BALQkWtM.js";
2
2
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
3
3
 
4
4
  //#region src/infra/gemini-auth.ts
@@ -1,34 +1,34 @@
1
- import "./accounts-fnLsjAOi.js";
1
+ import "./accounts-Ciwy7Yxd.js";
2
2
  import "./paths-DVWx7USN.js";
3
3
  import "./github-copilot-token-Cg0YPPSu.js";
4
- import "./plugins-BizZYn_y.js";
5
- import { K as logVerbose, Y as shouldLogVerbose } from "./registry-DL-33c9X.js";
6
- import "./config-C1a-yGCa.js";
7
- import "./subsystem-C9WnrKN8.js";
8
- import "./command-format-DHXa0Clc.js";
9
- import "./model-selection-TMsqRl-p.js";
10
- import "./agent-scope-DnU66cJq.js";
11
- import "./manifest-registry-DvEm2HHf.js";
4
+ import "./plugins-DwNa_Bjz.js";
5
+ import { K as logVerbose, Y as shouldLogVerbose } from "./registry-O1yza0Vh.js";
6
+ import "./config-DxWaFEai.js";
7
+ import "./subsystem-C4Rh0kdL.js";
8
+ import "./command-format-DcBXOX9Z.js";
9
+ import "./model-selection-BALQkWtM.js";
10
+ import "./agent-scope-j9eoKDzr.js";
11
+ import "./manifest-registry-sgHvjA6E.js";
12
12
  import "./redact-DPnDWsnT.js";
13
13
  import "./errors-Bv8oZiTO.js";
14
- import "./image-ops-6S8Fa1d6.js";
14
+ import "./image-ops-Bjog8bLM.js";
15
15
  import "./ssrf-DKZ8eBrk.js";
16
- import "./local-roots-CW6TWE2a.js";
17
- import "./message-channel-DY9wVB2A.js";
18
- import "./bindings-HAeLX6mi.js";
19
- import "./tool-images-BlYojiWx.js";
20
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-DvYaPG7_.js";
21
- import "./skills-DBG2n4rQ.js";
22
- import "./chrome-NvVwZ3Xn.js";
23
- import "./thinking-BiNjzudU.js";
24
- import "./accounts-DEsAwvaZ.js";
25
- import "./accounts-BcQo4OUu.js";
26
- import "./pi-embedded-helpers-DBCtPcLq.js";
16
+ import "./local-roots-9jdLho_V.js";
17
+ import "./message-channel-DmB4bGFh.js";
18
+ import "./bindings-BxwR115d.js";
19
+ import "./tool-images-Bu_rB65-.js";
20
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-CsA0T0xW.js";
21
+ import "./skills-DeKBQV6I.js";
22
+ import "./chrome-CAPUVzg9.js";
23
+ import "./thinking-DK3F1Tth.js";
24
+ import "./accounts-wSu5JyDM.js";
25
+ import "./accounts-DUBJHEgi.js";
26
+ import "./pi-embedded-helpers-DQd-G9Yf.js";
27
27
  import "./paths-BNQjLbn7.js";
28
- import "./store-CMGBlFGX.js";
29
- import "./image-Bu6pmW6i.js";
28
+ import "./store-gutZwMLb.js";
29
+ import "./image-BhV_XGSx.js";
30
30
  import "./pi-model-discovery-LbcEa65a.js";
31
- import "./api-key-rotation-DRhVpAS4.js";
31
+ import "./api-key-rotation-BKOzXMVg.js";
32
32
 
33
33
  //#region src/media-understanding/audio-preflight.ts
34
34
  /**
@@ -1,6 +1,6 @@
1
1
  import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
- import { s as normalizeChatChannelId } from "./registry-DL-33c9X.js";
3
- import { c as resolveDefaultAgentId } from "./agent-scope-DnU66cJq.js";
2
+ import { s as normalizeChatChannelId } from "./registry-O1yza0Vh.js";
3
+ import { c as resolveDefaultAgentId } from "./agent-scope-j9eoKDzr.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
6
6
  function normalizeBindingChannelId(raw) {
@@ -1,4 +1,4 @@
1
- import { n as retryAsync, t as resolveRetryConfig } from "./retry-5P3d0rYw.js";
1
+ import { n as retryAsync, t as resolveRetryConfig } from "./retry-JFNwfUew.js";
2
2
  import { n as formatErrorMessage } from "./errors-Bv8oZiTO.js";
3
3
  import { RateLimitError } from "@buape/carbon";
4
4
 
@@ -1,28 +1,28 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
- import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-fnLsjAOi.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-Dl9JHnGW.js";
4
- import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry-DL-33c9X.js";
5
- import { n as loadConfig } from "./config-C1a-yGCa.js";
6
- import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-C9WnrKN8.js";
7
- import { t as formatCliCommand } from "./command-format-DHXa0Clc.js";
8
- import { n as recordChannelActivity } from "./channel-activity-WgE8Z4Bb.js";
9
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-CW6TWE2a.js";
10
- import { a as loadWebMedia } from "./ir-yosTlCQ0.js";
11
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-CQk9vawA.js";
12
- import { n as resolveMarkdownTableMode } from "./markdown-tables-OYHjLFmr.js";
13
- import { t as convertMarkdownTables } from "./tables-DzujD35V.js";
14
- import { G as readChannelAllowFromStore, J as upsertChannelPairingRequest, K as readChannelAllowFromStoreSync, nt as toLocationContext, tt as formatLocationText } from "./send-CNMXFSjB.js";
15
- import { f as registerUnhandledRejectionHandler } from "./runner-DvYaPG7_.js";
16
- import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-DNmkrWtV.js";
17
- import { F as resolveChannelGroupRequireMention, P as resolveChannelGroupPolicy } from "./thinking-BiNjzudU.js";
18
- import { Xt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-DBCtPcLq.js";
2
+ import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-Ciwy7Yxd.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-CEPjyDUz.js";
4
+ import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry-O1yza0Vh.js";
5
+ import { n as loadConfig } from "./config-DxWaFEai.js";
6
+ import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-C4Rh0kdL.js";
7
+ import { t as formatCliCommand } from "./command-format-DcBXOX9Z.js";
8
+ import { n as recordChannelActivity } from "./channel-activity-CCnr-9bS.js";
9
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-9jdLho_V.js";
10
+ import { a as loadWebMedia } from "./ir-98uc6iQ2.js";
11
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-DyzO7IVo.js";
12
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DV9FqwR1.js";
13
+ import { t as convertMarkdownTables } from "./tables-DhuVe5ji.js";
14
+ import { G as readChannelAllowFromStore, J as upsertChannelPairingRequest, K as readChannelAllowFromStoreSync, nt as toLocationContext, tt as formatLocationText } from "./send-DQL4fKTV.js";
15
+ import { f as registerUnhandledRejectionHandler } from "./runner-CsA0T0xW.js";
16
+ import { l as resolveIdentityNamePrefix, n as createReplyPrefixOptions, u as resolveMessagePrefix } from "./reply-prefix-Ohtg483v.js";
17
+ import { F as resolveChannelGroupRequireMention, P as resolveChannelGroupPolicy } from "./thinking-DK3F1Tth.js";
18
+ import { Xt as resolveGroupSessionKey, _t as updateLastRoute, gt as recordSessionMetaFromInbound, ht as readSessionUpdatedAt, mt as loadSessionStore } from "./pi-embedded-helpers-DQd-G9Yf.js";
19
19
  import { s as resolveStorePath } from "./paths-BNQjLbn7.js";
20
- import { i as saveMediaBuffer } from "./store-CMGBlFGX.js";
20
+ import { i as saveMediaBuffer } from "./store-gutZwMLb.js";
21
21
  import { t as finalizeInboundContext } from "./inbound-context-D5EzMeL_.js";
22
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-BDLDhEh_.js";
23
- import { r as setActiveWebListener } from "./active-listener-CeaKSm29.js";
24
- import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-Cs6LZhj-.js";
25
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-D38ojZ3_.js";
22
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DM-CdB9Z.js";
23
+ import { r as setActiveWebListener } from "./active-listener-Bnau4oiu.js";
24
+ import { i as markdownToWhatsApp, r as sendReactionWhatsApp } from "./outbound-CjucU9tz.js";
25
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-B-KGD6AG.js";
26
26
  import { randomUUID } from "node:crypto";
27
27
  import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
28
28
 
@@ -1,6 +1,6 @@
1
- import { b as CONFIG_DIR } from "./registry-DL-33c9X.js";
2
- import { n as loadConfig } from "./config-C1a-yGCa.js";
3
- import { t as createSubsystemLogger } from "./subsystem-C9WnrKN8.js";
1
+ import { b as CONFIG_DIR } from "./registry-O1yza0Vh.js";
2
+ import { n as loadConfig } from "./config-DxWaFEai.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-C4Rh0kdL.js";
4
4
  import { i as isErrno } from "./errors-Bv8oZiTO.js";
5
5
  import { s as resolvePinnedHostnameWithPolicy } from "./ssrf-DKZ8eBrk.js";
6
6
  import fs from "node:fs";
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { p as normalizeAccountId } from "./session-key-C_0eELjb.js";
3
- import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DY9wVB2A.js";
3
+ import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DmB4bGFh.js";
4
4
 
5
5
  //#region src/markdown/fences.ts
6
6
  function parseFenceSpans(buffer) {
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-C9WnrKN8.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-C4Rh0kdL.js";
2
2
  import path from "node:path";
3
3
 
4
4
  //#region src/utils/boolean.ts