@qqbrowser/openclaw-qbot 0.10.1 → 0.10.2

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 (214) hide show
  1. package/dist/{agents-Cd1yL8fG.js → agents-CCGNI0th.js} +1 -1
  2. package/dist/{agents.config-CaRMmWS8.js → agents.config-B9_IT_un.js} +1 -1
  3. package/dist/{agents.config-DSCcdYtv.js → agents.config-D8Q8p7re.js} +1 -1
  4. package/dist/{auth-choice-MqcWuVyu.js → auth-choice-DacG9sC7.js} +1 -1
  5. package/dist/{auth-choice-BmI4sIGs.js → auth-choice-EAV1bi1K.js} +1 -1
  6. package/dist/{banner-CAtilyXr.js → banner-DiQjNe9B.js} +1 -1
  7. package/dist/build-info.json +3 -3
  8. package/dist/bundled/boot-md/handler.js +1 -1
  9. package/dist/bundled/session-memory/handler.js +1 -1
  10. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  11. package/dist/{channel-options-CCqtIYCc.js → channel-options-DcI5T_Su.js} +1 -1
  12. package/dist/{channel-options-CKoyPq8p.js → channel-options-llKYy0-2.js} +1 -1
  13. package/dist/{channel-web-CwUfYqjg.js → channel-web-Qr8ST6tz.js} +1 -1
  14. package/dist/{channel-web-CCSMlUux.js → channel-web-TKrgB4oQ.js} +1 -1
  15. package/dist/{channels-cli-BfgVv5jH.js → channels-cli-BtyzpSQo.js} +1 -1
  16. package/dist/{channels-cli-BvGXgERj.js → channels-cli-CrdwqyiA.js} +1 -1
  17. package/dist/{cli-Bt--1dhL.js → cli-BDzG5MP5.js} +1 -1
  18. package/dist/{cli-CBg8KhmQ.js → cli-BY5POVX1.js} +1 -1
  19. package/dist/{command-registry-D_jtBegA.js → command-registry-DtMCIKRu.js} +1 -1
  20. package/dist/{compact-CYbPi7_-.js → compact-uyQDx8pN.js} +36 -36
  21. package/dist/{compact.runtime-BQu-8DFN.js → compact.runtime-BvWn8-VF.js} +1 -1
  22. package/dist/{compact.runtime-D-fOpaU3.js → compact.runtime-CbCNReBm.js} +1 -1
  23. package/dist/{compact.runtime-owWgKVDf.js → compact.runtime-DcRVnY_G.js} +1 -1
  24. package/dist/{compact.runtime-CrzmR0tV.js → compact.runtime-dgJTRf2V.js} +1 -1
  25. package/dist/{completion-cli-Bw_hBrlA.js → completion-cli-ByNU0Lbo.js} +1 -1
  26. package/dist/{completion-cli-BVbT_aR2.js → completion-cli-DHH7Zr2u.js} +1 -1
  27. package/dist/{config-cli-CwW76_j_.js → config-cli-BeVM5uz1.js} +1 -1
  28. package/dist/{config-cli-F-lkPjjz.js → config-cli-CcE1aKR3.js} +1 -1
  29. package/dist/{configure-DFlnM_zh.js → configure-CF42Va3r.js} +1 -1
  30. package/dist/{configure--c4tTVPz.js → configure-CYw7mK89.js} +1 -1
  31. package/dist/{deps-send-whatsapp.runtime-CqISN5vF.js → deps-send-whatsapp.runtime-7SqhJmWZ.js} +1 -1
  32. package/dist/{deps-send-whatsapp.runtime-C1zG74Si.js → deps-send-whatsapp.runtime-Bocaadqa.js} +1 -1
  33. package/dist/{deps-send-whatsapp.runtime-B5GMQIFv.js → deps-send-whatsapp.runtime-CjA6T7V6.js} +1 -1
  34. package/dist/{deps-send-whatsapp.runtime-CJnSJVnN.js → deps-send-whatsapp.runtime-DTyzQeR_.js} +1 -1
  35. package/dist/{doctor-completion-DI7mGC3D.js → doctor-completion-C15UB3EM.js} +1 -1
  36. package/dist/{doctor-completion-C9CPhCor.js → doctor-completion-KLuf1f33.js} +1 -1
  37. package/dist/entry.js +1 -1
  38. package/dist/extensionAPI.js +1 -1
  39. package/dist/{gateway-cli-BMmU2dsG.js → gateway-cli-CHyybU4X.js} +2 -2
  40. package/dist/{gateway-cli-Kp-caOwI.js → gateway-cli-DV3M2tJP.js} +2 -2
  41. package/dist/{health-B_-ZE5FK.js → health-2MbtCw6U.js} +1 -1
  42. package/dist/{health-CIZFVJEG.js → health-Dmtcw9K8.js} +1 -1
  43. package/dist/{hooks-cli-BoxAnC-E.js → hooks-cli-BaoD0-6l.js} +1 -1
  44. package/dist/{hooks-cli-CnCOjVv0.js → hooks-cli-DWCe4aHR.js} +1 -1
  45. package/dist/index.js +2 -2
  46. package/dist/llm-slug-generator.js +1 -1
  47. package/dist/{models-BBYqej07.js → models-DKf-4KoV.js} +1 -1
  48. package/dist/{models-cli-CMMhnlHo.js → models-cli-Bc8cIZ0A.js} +1 -1
  49. package/dist/{models-cli-CqbDyDn2.js → models-cli-Ble64nV3.js} +1 -1
  50. package/dist/{npm-resolution-CBlwQq3a.js → npm-resolution-BzXV2s2P.js} +1 -1
  51. package/dist/{npm-resolution--_-0q2ks.js → npm-resolution-CZUqHH_2.js} +1 -1
  52. package/dist/{onboard-DZG0HnuP.js → onboard-B8dVlGVk.js} +2 -2
  53. package/dist/{onboard-DlCEww7K.js → onboard-By9pkNca.js} +2 -2
  54. package/dist/{onboard-channels-BDMtq3ex.js → onboard-channels-C5lcb7dF.js} +1 -1
  55. package/dist/{onboard-channels-BO3AN_eA.js → onboard-channels-DFB6deX0.js} +1 -1
  56. package/dist/{onboarding-m-m__16h.js → onboarding-C7vbkuBI.js} +1 -1
  57. package/dist/{onboarding-CxRTJCBM.js → onboarding-DCldCoVy.js} +1 -1
  58. package/dist/{onboarding.finalize-BJxMhYUa.js → onboarding.finalize-C-b9zSIO.js} +1 -1
  59. package/dist/{onboarding.finalize-UiX3YmbI.js → onboarding.finalize-XCttW8IU.js} +1 -1
  60. package/dist/{pi-embedded-X_Svd4Wi.js → pi-embedded-CoHiJa9Q.js} +8 -8
  61. package/dist/{pi-embedded-6yGEd2xd.js → pi-embedded-DLlQ5e_w.js} +8 -8
  62. package/dist/{plugin-registry-DYwEy5eM.js → plugin-registry-C_HKxFxs.js} +1 -1
  63. package/dist/{plugin-registry-CN2aCPP7.js → plugin-registry-DBgXa8jD.js} +1 -1
  64. package/dist/plugin-sdk/{channel-web-Bg8DNyeb.js → channel-web-CMlv9Yzv.js} +1 -1
  65. package/dist/plugin-sdk/{channel-web-B795Ild9.cjs → channel-web-D1tzaMsH.cjs} +1 -1
  66. package/dist/plugin-sdk/{channel-web-D5zxPW-x.js → channel-web-DowgDxtO.js} +1 -1
  67. package/dist/plugin-sdk/{channel-web-CW42ALB5.cjs → channel-web-VsaRZCG2.cjs} +1 -1
  68. package/dist/plugin-sdk/{compact.runtime-Cr6oI5li.js → compact.runtime-B4M-VPyN.js} +1 -1
  69. package/dist/plugin-sdk/{compact.runtime-BR00C0_i.cjs → compact.runtime-BeWqnWW5.cjs} +1 -1
  70. package/dist/plugin-sdk/{compact.runtime-DOcQzBT5.cjs → compact.runtime-BnF9vU5j.cjs} +1 -1
  71. package/dist/plugin-sdk/{compact.runtime-D-3vVYGF.js → compact.runtime-C5vcsriA.js} +1 -1
  72. package/dist/plugin-sdk/{compact.runtime-BBqQuOlJ.cjs → compact.runtime-CS04yjUP.cjs} +1 -1
  73. package/dist/plugin-sdk/{compact.runtime-CGKItjCQ.js → compact.runtime-CepgZBh6.js} +1 -1
  74. package/dist/plugin-sdk/{compact.runtime-C-sPm0kL.cjs → compact.runtime-CuGn1L3D.cjs} +1 -1
  75. package/dist/plugin-sdk/{compact.runtime-CAiT8DtI.js → compact.runtime-DNocZUm6.js} +1 -1
  76. package/dist/plugin-sdk/{compact.runtime-CmQT69OD.cjs → compact.runtime-DQRsRwKH.cjs} +1 -1
  77. package/dist/plugin-sdk/{compact.runtime-BXuXwnQ_.cjs → compact.runtime-DnWYG9Ij.cjs} +1 -1
  78. package/dist/plugin-sdk/{compact.runtime-BxzvSPrQ.js → compact.runtime-W8dIsxRV.js} +1 -1
  79. package/dist/plugin-sdk/{compact.runtime-B1fslZX1.js → compact.runtime-hS2NXspw.js} +1 -1
  80. package/dist/plugin-sdk/compat.cjs +1 -1
  81. package/dist/plugin-sdk/compat.js +1 -1
  82. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-WXiE5pA7.js → deps-send-whatsapp.runtime-B5Nz8XrQ.js} +1 -1
  83. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DKoOiTZZ.cjs → deps-send-whatsapp.runtime-B5R8WAYy.cjs} +1 -1
  84. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DlO-S_iA.js → deps-send-whatsapp.runtime-B6ua6LoP.js} +1 -1
  85. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BUuj08qp.cjs → deps-send-whatsapp.runtime-BPMIzR5x.cjs} +1 -1
  86. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-iI9qWUzR.cjs → deps-send-whatsapp.runtime-Bpq7VeGO.cjs} +1 -1
  87. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-3kX5dnHC.js → deps-send-whatsapp.runtime-D3YUudyV.js} +1 -1
  88. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Xn1KqyPS.js → deps-send-whatsapp.runtime-DFxWO5_f.js} +1 -1
  89. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-CE9LgvzJ.cjs → deps-send-whatsapp.runtime-DZ_pLOPK.cjs} +1 -1
  90. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-t0Z0IyDq.cjs → deps-send-whatsapp.runtime-DyoJd0Hw.cjs} +1 -1
  91. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-rOnSc6qE.js → deps-send-whatsapp.runtime-ZkaerhQ1.js} +1 -1
  92. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-QUlRFE48.cjs → deps-send-whatsapp.runtime-_wzNB18A.cjs} +1 -1
  93. package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DKVfDIzU.js → deps-send-whatsapp.runtime-bBd46QxW.js} +1 -1
  94. package/dist/plugin-sdk/{dispatch-DAaOM5c1.cjs → dispatch-B8dzPpi1.cjs} +8 -8
  95. package/dist/plugin-sdk/{dispatch-DYRrW05S.js → dispatch-B9FQyNfe.js} +36 -36
  96. package/dist/plugin-sdk/{dispatch-Dl0eaYcY.cjs → dispatch-BB5AfYlI.cjs} +8 -8
  97. package/dist/plugin-sdk/{dispatch-_tJF5hSh.cjs → dispatch-BIaey_BU.cjs} +8 -8
  98. package/dist/plugin-sdk/{dispatch-B13B2T1k.js → dispatch-BY1FkQOr.js} +8 -8
  99. package/dist/plugin-sdk/{dispatch-cPg1rBWu.cjs → dispatch-Bybxc9Yl.cjs} +8 -8
  100. package/dist/plugin-sdk/{dispatch-BlOkbw2U.js → dispatch-CADw_Fi7.js} +8 -8
  101. package/dist/plugin-sdk/{dispatch-Dap2ZPC9.js → dispatch-CZqPeEcw.js} +8 -8
  102. package/dist/plugin-sdk/{dispatch-BaBcLOry.js → dispatch-DafB1x1O.js} +8 -8
  103. package/dist/plugin-sdk/{dispatch-D2Km7gvG.cjs → dispatch-DcyylSdu.cjs} +8 -8
  104. package/dist/plugin-sdk/index.cjs +1 -1
  105. package/dist/plugin-sdk/index.js +1 -1
  106. package/dist/plugin-sdk/irc.cjs +1 -1
  107. package/dist/plugin-sdk/irc.js +1 -1
  108. package/dist/plugin-sdk/matrix.cjs +1 -1
  109. package/dist/plugin-sdk/matrix.js +1 -1
  110. package/dist/plugin-sdk/msteams.cjs +1 -1
  111. package/dist/plugin-sdk/msteams.js +1 -1
  112. package/dist/plugin-sdk/nextcloud-talk.cjs +1 -1
  113. package/dist/plugin-sdk/nextcloud-talk.js +1 -1
  114. package/dist/plugin-sdk/{reply-JD6VIW5N.cjs → reply-6D8nZUZ1.cjs} +8 -8
  115. package/dist/plugin-sdk/{reply-73PF8kN_.js → reply-gpVkJsEs.js} +8 -8
  116. package/dist/plugin-sdk/{slash-dispatch.runtime-DAgDLU__.js → slash-dispatch.runtime-2hUZv0o4.js} +1 -1
  117. package/dist/plugin-sdk/{slash-dispatch.runtime-BfheQLfD.js → slash-dispatch.runtime-B4sdtKqK.js} +1 -1
  118. package/dist/plugin-sdk/{slash-dispatch.runtime-CmVqJqfV.js → slash-dispatch.runtime-BCAWJ135.js} +1 -1
  119. package/dist/plugin-sdk/{slash-dispatch.runtime-wWa-kKvH.js → slash-dispatch.runtime-BJX-7mTD.js} +1 -1
  120. package/dist/plugin-sdk/{slash-dispatch.runtime-C6cMCwSp.js → slash-dispatch.runtime-BY3aBzxK.js} +1 -1
  121. package/dist/plugin-sdk/{slash-dispatch.runtime-BVXTmhZU.js → slash-dispatch.runtime-CHFbytW1.js} +1 -1
  122. package/dist/plugin-sdk/{slash-dispatch.runtime-BcO6NdxL.cjs → slash-dispatch.runtime-Cf-EuMPD.cjs} +1 -1
  123. package/dist/plugin-sdk/{slash-dispatch.runtime-CYmmyw9o.cjs → slash-dispatch.runtime-CukipBLa.cjs} +1 -1
  124. package/dist/plugin-sdk/{slash-dispatch.runtime-DNI9fZFo.cjs → slash-dispatch.runtime-D7JTU7km.cjs} +1 -1
  125. package/dist/plugin-sdk/{slash-dispatch.runtime-BQWrcjEG.cjs → slash-dispatch.runtime-DZq0olM2.cjs} +1 -1
  126. package/dist/plugin-sdk/{slash-dispatch.runtime-Cp5-cPgM.cjs → slash-dispatch.runtime-ILA0KH-p.cjs} +1 -1
  127. package/dist/plugin-sdk/{slash-dispatch.runtime-CD6AFEn3.cjs → slash-dispatch.runtime-_i2UiDTt.cjs} +1 -1
  128. package/dist/plugin-sdk/{subagent-registry-runtime-BINR9wKz.cjs → subagent-registry-runtime-7wfZ9Ydg.cjs} +1 -1
  129. package/dist/plugin-sdk/{subagent-registry-runtime-q6csFFiS.js → subagent-registry-runtime-B6Go3QMY.js} +1 -1
  130. package/dist/plugin-sdk/{subagent-registry-runtime-CPYQLLoh.cjs → subagent-registry-runtime-Bf71VzVF.cjs} +1 -1
  131. package/dist/plugin-sdk/{subagent-registry-runtime-DCd8DMgz.js → subagent-registry-runtime-CKlyWpvM.js} +1 -1
  132. package/dist/plugin-sdk/{subagent-registry-runtime-BfT45xXa.cjs → subagent-registry-runtime-CcyvhbJH.cjs} +1 -1
  133. package/dist/plugin-sdk/{subagent-registry-runtime-DYhr9YcP.js → subagent-registry-runtime-D4y3Fxlu.js} +1 -1
  134. package/dist/plugin-sdk/{subagent-registry-runtime-BBwsJL9B.cjs → subagent-registry-runtime-DFCUhuvT.cjs} +1 -1
  135. package/dist/plugin-sdk/{subagent-registry-runtime-CjnSOShL.js → subagent-registry-runtime-DWZUy1eI.js} +1 -1
  136. package/dist/plugin-sdk/{subagent-registry-runtime-B9uDb_ij.js → subagent-registry-runtime-DkCs3cQj.js} +1 -1
  137. package/dist/plugin-sdk/{subagent-registry-runtime-DB8YDuGj.js → subagent-registry-runtime-RrhCNI-u.js} +1 -1
  138. package/dist/plugin-sdk/{subagent-registry-runtime-iiOzLeYb.cjs → subagent-registry-runtime-S2yCcuWA.cjs} +1 -1
  139. package/dist/plugin-sdk/{subagent-registry-runtime-ClkQBnJu.cjs → subagent-registry-runtime-zTYi4rJR.cjs} +1 -1
  140. package/dist/plugin-sdk/{web-Bh78uOi8.cjs → web-C-_Bja5u.cjs} +1 -1
  141. package/dist/plugin-sdk/{web-C4ezqWIt.js → web-C7h16O4t.js} +1 -1
  142. package/dist/plugin-sdk/{web-B7d3p3kx.cjs → web-Cf2Ivjcn.cjs} +1 -1
  143. package/dist/plugin-sdk/{web-DFDao2So.cjs → web-CfvlhITy.cjs} +1 -1
  144. package/dist/plugin-sdk/{web-JciOW43P.js → web-DzgvdKmn.js} +1 -1
  145. package/dist/plugin-sdk/{web-Bg2LIMdb.cjs → web-RmaRbUK1.cjs} +1 -1
  146. package/dist/plugin-sdk/{web-SwpoHf2A.js → web-bHdImk0G.js} +1 -1
  147. package/dist/plugin-sdk/{web-DjbeDvyv.js → web-bT52Rp59.js} +1 -1
  148. package/dist/plugin-sdk/{web-vSFigMHz.cjs → web-pFlzmHcu.cjs} +1 -1
  149. package/dist/plugin-sdk/{web-BEuW8Yqw.js → web-rFQBs9b0.js} +1 -1
  150. package/dist/plugin-sdk/{web--8MBOleK.js → web-uQqWClDT.js} +1 -1
  151. package/dist/plugin-sdk/{web-BPQv-4Qv.cjs → web-wnw_PMil.cjs} +1 -1
  152. package/dist/plugin-sdk/whatsapp.cjs +1 -1
  153. package/dist/plugin-sdk/whatsapp.js +1 -1
  154. package/dist/{plugins-cli-PVHBZeb8.js → plugins-cli-BjLj52hA.js} +1 -1
  155. package/dist/{plugins-cli-CnXgwZzI.js → plugins-cli-CwQOOOym.js} +1 -1
  156. package/dist/ports-BDZyt9rk.js +2 -0
  157. package/dist/ports-DmJX-iq9.js +2 -0
  158. package/dist/{program-D53eGuSf.js → program-RvezCMDs.js} +2 -2
  159. package/dist/{program-context-n-ovYq69.js → program-context-C4vPkfWW.js} +1 -1
  160. package/dist/{prompt-select-styled-DolCW-_j.js → prompt-select-styled-C-zw_5_b.js} +1 -1
  161. package/dist/{prompt-select-styled-DZnefcrY.js → prompt-select-styled-CoP6cSMX.js} +1 -1
  162. package/dist/{provider-auth-helpers-BLm2bdp5.js → provider-auth-helpers-DeCLF5oV.js} +1 -1
  163. package/dist/{provider-auth-helpers-DPz0vN_c.js → provider-auth-helpers-Rv3hdZ7j.js} +1 -1
  164. package/dist/{push-apns-BBv62ncV.js → push-apns-BfTKAzRZ.js} +1 -1
  165. package/dist/{push-apns-DIV5dBPP.js → push-apns-CeY33Rxc.js} +1 -1
  166. package/dist/{register.agent-DQdoMfmw.js → register.agent-CANRVL5k.js} +1 -1
  167. package/dist/{register.agent-DHOTtB8X.js → register.agent-He4UYNpV.js} +1 -1
  168. package/dist/{register.configure-C2N82brC.js → register.configure-CqsxTDtC.js} +1 -1
  169. package/dist/{register.configure-C6zjzaEo.js → register.configure-CwuLuKsv.js} +1 -1
  170. package/dist/{register.maintenance-CStaPxaB.js → register.maintenance-B5cnDjLy.js} +1 -1
  171. package/dist/{register.maintenance-aKBTd9Zp.js → register.maintenance-CHJQh81L.js} +1 -1
  172. package/dist/{register.message-DHDcOA8X.js → register.message-CEcXemHd.js} +1 -1
  173. package/dist/{register.message-Dh72QHKA.js → register.message-DoA6MALf.js} +1 -1
  174. package/dist/{register.onboard-DB9FWAKT.js → register.onboard-B01N1AYH.js} +1 -1
  175. package/dist/{register.onboard-Bu9gpFlA.js → register.onboard-B5iQpfVG.js} +1 -1
  176. package/dist/{register.setup-D76IRs4s.js → register.setup-BTKZzyRh.js} +1 -1
  177. package/dist/{register.setup-CeG2ETmr.js → register.setup-CPGByOtO.js} +1 -1
  178. package/dist/{register.status-health-sessions-mPGKFjIz.js → register.status-health-sessions-CPmSNp3F.js} +1 -1
  179. package/dist/{register.status-health-sessions-Dtpd1P2M.js → register.status-health-sessions-hrQLxH-w.js} +1 -1
  180. package/dist/{register.subclis-Drp2dGBe.js → register.subclis-CqVDIyhT.js} +1 -1
  181. package/dist/{reply-DwfVhea1.js → reply-mWIMy_ju.js} +8 -8
  182. package/dist/{run-main-CjwjyWA6.js → run-main-B2f6FBb0.js} +1 -1
  183. package/dist/{server-node-events-CL0pWoMa.js → server-node-events-BtKnElP0.js} +1 -1
  184. package/dist/{server-node-events-ChPQ984b.js → server-node-events-DnyBXZtB.js} +1 -1
  185. package/dist/{slash-dispatch.runtime-jR7ZpRLo.js → slash-dispatch.runtime-B8S9VVjy.js} +1 -1
  186. package/dist/{slash-dispatch.runtime-CHDiNcch.js → slash-dispatch.runtime-CS58xiJF.js} +1 -1
  187. package/dist/{slash-dispatch.runtime-DgsOlRbg.js → slash-dispatch.runtime-CZrxUnBW.js} +1 -1
  188. package/dist/{slash-dispatch.runtime-Bh87LG5X.js → slash-dispatch.runtime-Cq_OU6GL.js} +1 -1
  189. package/dist/{status-o3Gfr-6l.js → status-C3OhTrWE.js} +1 -1
  190. package/dist/{status-BSHWBrg0.js → status-tL-XCvJC.js} +1 -1
  191. package/dist/{subagent-registry-runtime-B8nEWxYm.js → subagent-registry-runtime-BvPAovsV.js} +1 -1
  192. package/dist/{subagent-registry-runtime-D5PhzS7u.js → subagent-registry-runtime-ClREKCLG.js} +1 -1
  193. package/dist/{subagent-registry-runtime-C6xoTyr_.js → subagent-registry-runtime-D2cjV86K.js} +1 -1
  194. package/dist/{subagent-registry-runtime-DU6-3b5M.js → subagent-registry-runtime-dcrGDOTV.js} +1 -1
  195. package/dist/{update-cli-DU5tRH3c.js → update-cli-CZsuMrHE.js} +1 -1
  196. package/dist/{update-cli-CL_cUjuq.js → update-cli-DAPHNGDM.js} +1 -1
  197. package/dist/{update-runner-DG-1TYYc.js → update-runner-DZkN4otc.js} +1 -1
  198. package/dist/{update-runner-DABdlxfN.js → update-runner-DhaHCCx3.js} +1 -1
  199. package/dist/{web-C0WkwHal.js → web-BPloShgg.js} +1 -1
  200. package/dist/{web-u71NbOpT.js → web-BbOH61Lx.js} +1 -1
  201. package/dist/{web-DPQjx48C.js → web-CMSYMAHG.js} +1 -1
  202. package/dist/{web-Dfi2WjvN.js → web-WBvnAfBv.js} +1 -1
  203. package/extensions/qqbrowser-skill-control/index.js +1 -1
  204. package/node_modules/@google/genai/dist/index.cjs +8 -8
  205. package/node_modules/@google/genai/dist/index.mjs +8 -8
  206. package/node_modules/@google/genai/dist/node/index.cjs +8 -8
  207. package/node_modules/@google/genai/dist/node/index.mjs +8 -8
  208. package/node_modules/@google/genai/dist/vertex_internal/index.cjs +1 -1
  209. package/node_modules/@google/genai/dist/vertex_internal/index.js +1 -1
  210. package/node_modules/@google/genai/dist/web/index.mjs +8 -8
  211. package/node_modules/@google/genai/package.json +1 -1
  212. package/package.json +1 -1
  213. package/dist/ports-BAaLOkJp.js +0 -2
  214. package/dist/ports-DDWP1p0X.js +0 -2
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./paths-Bcdg3ma0.cjs`);const e=require(`./dispatch-D2Km7gvG.cjs`),t=require(`./send-pC6ctwfQ.cjs`),n=require(`./paths-Dd7r1qlB.cjs`),r=require(`./model-auth-Cgqd2_sP.cjs`);require(`./logger-6O6OsYBL.cjs`),require(`./proxy-env-k93igu7v.cjs`),require(`./github-copilot-token-BHdMLLqf.cjs`),require(`./send-DLtYxO1e.cjs`);const i=require(`./fetch-guard-BUOtcki7.cjs`),a=require(`./send-D9Gbseeh.cjs`);require(`./deliver-wteCze09.cjs`),require(`./diagnostic-BcBlExSy.cjs`),require(`./pi-model-discovery-BfuqD_Rv.cjs`),require(`./audio-transcription-runner-BDfW3xeJ.cjs`),require(`./image-CkWikcPf.cjs`),require(`./api-key-rotation-Bua813IH.cjs`),require(`./local-roots-DIijr8mK.cjs`),require(`./proxy-fetch-qbrYAz8k.cjs`),require(`./tokens-CytSl1X8.cjs`),require(`./commands-registry-DWx89vtR.cjs`),require(`./fetch-Bi8krAaT.cjs`),require(`./ir-CYJPM1_I.cjs`),require(`./render-DxBO2Blp.cjs`),require(`./target-errors-Bw4tI2Lc.cjs`),require(`./channel-activity-gZBQEyOK.cjs`),require(`./tables-CcuiVH-P.cjs`),require(`./send-B03So6fs.cjs`),require(`./fetch-BjXhwqrE.cjs`),require(`./skill-commands-BcKIgHAP.cjs`),require(`./outbound-attachment-DwzJ2l3T.cjs`),require(`./send-gSV6SR6F.cjs`),require(`./query-expansion-DKJkqmNM.cjs`),require(`./manager-B38IH03I.cjs`);let o=require(`zod`),s=require(`node:util`);const c=o.z.union([o.z.string(),o.z.number()]);o.z.array(c).optional();function l(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}const u={openai:[`OPENAI_API_KEY`],anthropic:[`ANTHROPIC_API_KEY`],google:[`GEMINI_API_KEY`],minimax:[`MINIMAX_API_KEY`],"minimax-cn":[`MINIMAX_API_KEY`],moonshot:[`MOONSHOT_API_KEY`],"kimi-coding":[`KIMI_API_KEY`,`KIMICODE_API_KEY`],synthetic:[`SYNTHETIC_API_KEY`],venice:[`VENICE_API_KEY`],zai:[`ZAI_API_KEY`,`Z_AI_API_KEY`],xiaomi:[`XIAOMI_API_KEY`],openrouter:[`OPENROUTER_API_KEY`],"cloudflare-ai-gateway":[`CLOUDFLARE_AI_GATEWAY_API_KEY`],litellm:[`LITELLM_API_KEY`],"vercel-ai-gateway":[`AI_GATEWAY_API_KEY`],opencode:[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],"opencode-go":[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],together:[`TOGETHER_API_KEY`],huggingface:[`HUGGINGFACE_HUB_TOKEN`,`HF_TOKEN`],qianfan:[`QIANFAN_API_KEY`],xai:[`XAI_API_KEY`],mistral:[`MISTRAL_API_KEY`],kilocode:[`KILOCODE_API_KEY`],modelstudio:[`MODELSTUDIO_API_KEY`],volcengine:[`VOLCANO_ENGINE_API_KEY`],byteplus:[`BYTEPLUS_API_KEY`]},d=[`VOYAGE_API_KEY`,`GROQ_API_KEY`,`DEEPGRAM_API_KEY`,`CEREBRAS_API_KEY`,`NVIDIA_API_KEY`,`COPILOT_GITHUB_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`ANTHROPIC_OAUTH_TOKEN`,`CHUTES_OAUTH_TOKEN`,`CHUTES_API_KEY`,`QWEN_OAUTH_TOKEN`,`QWEN_PORTAL_API_KEY`,`MINIMAX_OAUTH_TOKEN`,`OLLAMA_API_KEY`,`VLLM_API_KEY`],f=[...new Set(Object.values(u).flatMap(e=>e))];[...new Set([...f,...d])];function p(e){return e instanceof Error&&typeof e.message==`string`&&e.message.trim()?e.message:String(e)}function m(e){return u[e]?.find(e=>e.trim().length>0)}function h(e){return`/providers/${r.xa(e)}/apiKey`}async function g(e){let t=e.preferredEnvVar??m(e.provider)??``,n=h(e.provider),i=`env`;for(;;){let a=await e.prompter.select({message:e.copy?.sourceMessage??`Where is this API key stored?`,initialValue:i,options:[{value:`env`,label:`Environment variable`,hint:`Reference a variable from your runtime environment`},{value:`provider`,label:`Configured secret provider`,hint:`Use a configured file or exec secret provider`}]})===`provider`?`provider`:`env`;if(i=a,a===`env`){let n=await e.prompter.text({message:e.copy?.envVarMessage??`Environment variable name`,initialValue:t||void 0,placeholder:e.copy?.envVarPlaceholder??`OPENAI_API_KEY`,validate:t=>{let n=t.trim();if(!r.wc(n))return e.copy?.envVarFormatError??`Use an env var name like "OPENAI_API_KEY" (uppercase letters, numbers, underscores).`;if(!process.env[n]?.trim())return e.copy?.envVarMissingError?.(n)??`Environment variable "${n}" is missing or empty in this session.`}}),i=String(n??``).trim(),a=i&&r.wc(i)?i:t;if(!a)throw Error(`No valid environment variable name provided for provider "${e.provider}".`);let o={source:`env`,provider:r.yc(e.config,`env`,{preferFirstProviderForSource:!0}),id:a},s=await r.ma(o,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.envValidatedMessage?.(a)??`Validated environment variable ${a}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:o,resolvedValue:s}}let o=Object.entries(e.config.secrets?.providers??{}).filter(([,e])=>e?.source===`file`||e?.source===`exec`);if(o.length===0){await e.prompter.note(e.copy?.noProvidersMessage??`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`,`No providers configured`);continue}let s=r.yc(e.config,`file`,{preferFirstProviderForSource:!0}),c=await e.prompter.select({message:`Select secret provider`,initialValue:o.find(([e])=>e===s)?.[0]??o[0]?.[0],options:o.map(([e,t])=>({value:e,label:e,hint:t?.source===`exec`?`Exec provider`:`File provider`}))}),l=e.config.secrets?.providers?.[c];if(!l||l.source!==`file`&&l.source!==`exec`){await e.prompter.note(`Provider "${c}" is not a file/exec provider.`,`Invalid provider`);continue}let u=l.source===`file`?`Secret id (JSON pointer for json mode, or 'value' for singleValue mode)`:`Secret id for the exec provider`,d=l.source===`file`?l.mode===`singleValue`?`value`:n:`${e.provider}/apiKey`,f=await e.prompter.text({message:u,initialValue:d,placeholder:l.source===`file`?`/providers/openai/apiKey`:`openai/api-key`,validate:e=>{let t=e.trim();if(!t)return`Secret id cannot be empty.`;if(l.source===`file`&&l.mode!==`singleValue`&&!r.vc(t))return`Use an absolute JSON pointer like "/providers/openai/apiKey".`;if(l.source===`file`&&l.mode===`singleValue`&&t!==`value`)return`singleValue mode expects id "value".`;if(l.source===`exec`&&!r._c(t))return r.gc()}}),m=String(f??``).trim()||d,h={source:l.source,provider:c,id:m};try{let t=await r.ma(h,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.providerValidatedMessage?.(c,m,l.source)??`Validated ${l.source} reference ${c}:${m}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:h,resolvedValue:t}}catch(t){await e.prompter.note([`Could not validate provider reference ${c}:${m}.`,p(t),`Check your provider configuration and try again.`].join(`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./paths-Bcdg3ma0.cjs`);const e=require(`./dispatch-DcyylSdu.cjs`),t=require(`./send-pC6ctwfQ.cjs`),n=require(`./paths-Dd7r1qlB.cjs`),r=require(`./model-auth-Cgqd2_sP.cjs`);require(`./logger-6O6OsYBL.cjs`),require(`./proxy-env-k93igu7v.cjs`),require(`./github-copilot-token-BHdMLLqf.cjs`),require(`./send-DLtYxO1e.cjs`);const i=require(`./fetch-guard-BUOtcki7.cjs`),a=require(`./send-D9Gbseeh.cjs`);require(`./deliver-wteCze09.cjs`),require(`./diagnostic-BcBlExSy.cjs`),require(`./pi-model-discovery-BfuqD_Rv.cjs`),require(`./audio-transcription-runner-BDfW3xeJ.cjs`),require(`./image-CkWikcPf.cjs`),require(`./api-key-rotation-Bua813IH.cjs`),require(`./local-roots-DIijr8mK.cjs`),require(`./proxy-fetch-qbrYAz8k.cjs`),require(`./tokens-CytSl1X8.cjs`),require(`./commands-registry-DWx89vtR.cjs`),require(`./fetch-Bi8krAaT.cjs`),require(`./ir-CYJPM1_I.cjs`),require(`./render-DxBO2Blp.cjs`),require(`./target-errors-Bw4tI2Lc.cjs`),require(`./channel-activity-gZBQEyOK.cjs`),require(`./tables-CcuiVH-P.cjs`),require(`./send-B03So6fs.cjs`),require(`./fetch-BjXhwqrE.cjs`),require(`./skill-commands-BcKIgHAP.cjs`),require(`./outbound-attachment-DwzJ2l3T.cjs`),require(`./send-gSV6SR6F.cjs`),require(`./query-expansion-DKJkqmNM.cjs`),require(`./manager-B38IH03I.cjs`);let o=require(`zod`),s=require(`node:util`);const c=o.z.union([o.z.string(),o.z.number()]);o.z.array(c).optional();function l(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}const u={openai:[`OPENAI_API_KEY`],anthropic:[`ANTHROPIC_API_KEY`],google:[`GEMINI_API_KEY`],minimax:[`MINIMAX_API_KEY`],"minimax-cn":[`MINIMAX_API_KEY`],moonshot:[`MOONSHOT_API_KEY`],"kimi-coding":[`KIMI_API_KEY`,`KIMICODE_API_KEY`],synthetic:[`SYNTHETIC_API_KEY`],venice:[`VENICE_API_KEY`],zai:[`ZAI_API_KEY`,`Z_AI_API_KEY`],xiaomi:[`XIAOMI_API_KEY`],openrouter:[`OPENROUTER_API_KEY`],"cloudflare-ai-gateway":[`CLOUDFLARE_AI_GATEWAY_API_KEY`],litellm:[`LITELLM_API_KEY`],"vercel-ai-gateway":[`AI_GATEWAY_API_KEY`],opencode:[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],"opencode-go":[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],together:[`TOGETHER_API_KEY`],huggingface:[`HUGGINGFACE_HUB_TOKEN`,`HF_TOKEN`],qianfan:[`QIANFAN_API_KEY`],xai:[`XAI_API_KEY`],mistral:[`MISTRAL_API_KEY`],kilocode:[`KILOCODE_API_KEY`],modelstudio:[`MODELSTUDIO_API_KEY`],volcengine:[`VOLCANO_ENGINE_API_KEY`],byteplus:[`BYTEPLUS_API_KEY`]},d=[`VOYAGE_API_KEY`,`GROQ_API_KEY`,`DEEPGRAM_API_KEY`,`CEREBRAS_API_KEY`,`NVIDIA_API_KEY`,`COPILOT_GITHUB_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`ANTHROPIC_OAUTH_TOKEN`,`CHUTES_OAUTH_TOKEN`,`CHUTES_API_KEY`,`QWEN_OAUTH_TOKEN`,`QWEN_PORTAL_API_KEY`,`MINIMAX_OAUTH_TOKEN`,`OLLAMA_API_KEY`,`VLLM_API_KEY`],f=[...new Set(Object.values(u).flatMap(e=>e))];[...new Set([...f,...d])];function p(e){return e instanceof Error&&typeof e.message==`string`&&e.message.trim()?e.message:String(e)}function m(e){return u[e]?.find(e=>e.trim().length>0)}function h(e){return`/providers/${r.xa(e)}/apiKey`}async function g(e){let t=e.preferredEnvVar??m(e.provider)??``,n=h(e.provider),i=`env`;for(;;){let a=await e.prompter.select({message:e.copy?.sourceMessage??`Where is this API key stored?`,initialValue:i,options:[{value:`env`,label:`Environment variable`,hint:`Reference a variable from your runtime environment`},{value:`provider`,label:`Configured secret provider`,hint:`Use a configured file or exec secret provider`}]})===`provider`?`provider`:`env`;if(i=a,a===`env`){let n=await e.prompter.text({message:e.copy?.envVarMessage??`Environment variable name`,initialValue:t||void 0,placeholder:e.copy?.envVarPlaceholder??`OPENAI_API_KEY`,validate:t=>{let n=t.trim();if(!r.wc(n))return e.copy?.envVarFormatError??`Use an env var name like "OPENAI_API_KEY" (uppercase letters, numbers, underscores).`;if(!process.env[n]?.trim())return e.copy?.envVarMissingError?.(n)??`Environment variable "${n}" is missing or empty in this session.`}}),i=String(n??``).trim(),a=i&&r.wc(i)?i:t;if(!a)throw Error(`No valid environment variable name provided for provider "${e.provider}".`);let o={source:`env`,provider:r.yc(e.config,`env`,{preferFirstProviderForSource:!0}),id:a},s=await r.ma(o,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.envValidatedMessage?.(a)??`Validated environment variable ${a}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:o,resolvedValue:s}}let o=Object.entries(e.config.secrets?.providers??{}).filter(([,e])=>e?.source===`file`||e?.source===`exec`);if(o.length===0){await e.prompter.note(e.copy?.noProvidersMessage??`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`,`No providers configured`);continue}let s=r.yc(e.config,`file`,{preferFirstProviderForSource:!0}),c=await e.prompter.select({message:`Select secret provider`,initialValue:o.find(([e])=>e===s)?.[0]??o[0]?.[0],options:o.map(([e,t])=>({value:e,label:e,hint:t?.source===`exec`?`Exec provider`:`File provider`}))}),l=e.config.secrets?.providers?.[c];if(!l||l.source!==`file`&&l.source!==`exec`){await e.prompter.note(`Provider "${c}" is not a file/exec provider.`,`Invalid provider`);continue}let u=l.source===`file`?`Secret id (JSON pointer for json mode, or 'value' for singleValue mode)`:`Secret id for the exec provider`,d=l.source===`file`?l.mode===`singleValue`?`value`:n:`${e.provider}/apiKey`,f=await e.prompter.text({message:u,initialValue:d,placeholder:l.source===`file`?`/providers/openai/apiKey`:`openai/api-key`,validate:e=>{let t=e.trim();if(!t)return`Secret id cannot be empty.`;if(l.source===`file`&&l.mode!==`singleValue`&&!r.vc(t))return`Use an absolute JSON pointer like "/providers/openai/apiKey".`;if(l.source===`file`&&l.mode===`singleValue`&&t!==`value`)return`singleValue mode expects id "value".`;if(l.source===`exec`&&!r._c(t))return r.gc()}}),m=String(f??``).trim()||d,h={source:l.source,provider:c,id:m};try{let t=await r.ma(h,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.providerValidatedMessage?.(c,m,l.source)??`Validated ${l.source} reference ${c}:${m}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:h,resolvedValue:t}}catch(t){await e.prompter.note([`Could not validate provider reference ${c}:${m}.`,p(t),`Check your provider configuration and try again.`].join(`
2
2
  `),`Reference check failed`)}}}async function _(e){return e.explicitMode?e.explicitMode:typeof e.prompter.select==`function`&&await e.prompter.select({message:e.copy?.modeMessage??`How do you want to provide this API key?`,initialValue:`plaintext`,options:[{value:`plaintext`,label:e.copy?.plaintextLabel??`Paste API key now`,hint:e.copy?.plaintextHint??`Stores the key directly in OpenClaw config`},{value:`ref`,label:e.copy?.refLabel??`Use external secret provider`,hint:e.copy?.refHint??`Stores a reference to env or configured external secret providers`}]})===`ref`?`ref`:`plaintext`}async function v(e){let t=e.listAccountIds(e.cfg),r=e.currentId?.trim()||e.defaultAccountId||`default`,i=await e.prompter.select({message:`${e.label} account`,options:[...t.map(e=>({value:e,label:e===`default`?`default (primary)`:e})),{value:`__new__`,label:`Add a new account`}],initialValue:r});if(i!==`__new__`)return n.zt(i);let a=await e.prompter.text({message:`New ${e.label} account id`,validate:e=>e?.trim()?void 0:`Required`}),o=n.zt(String(a));return String(a).trim()!==o&&await e.prompter.note(`Normalized account id to "${o}".`,`${e.label} account`),o}function y(e,t){let n=e.channels?.[t];return!!(n?.accounts&&Object.keys(n.accounts).length>0)}function b(e){return e.alwaysUseAccounts||e.accountId!==`default`?!0:y(e.cfg,e.channelKey)}function x(e){let t=e.name?.trim();if(!t)return e.cfg;let r=n.zt(e.accountId),i=e.cfg.channels?.[e.channelKey],a=typeof i==`object`&&i?i:void 0;if(!b({cfg:e.cfg,channelKey:e.channelKey,accountId:r,alwaysUseAccounts:e.alwaysUseAccounts})&&r===`default`){let n=a??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...n,name:t}}}}let o=a?.accounts??{},s=o[r]??{},c=r===`default`?(({name:e,...t})=>t)(a??{}):a??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...c,accounts:{...o,[r]:{...s,name:t}}}}}}function S(e){let t=n.zt(e.accountId),r=e.cfg.channels?.[e.channelKey],i=typeof r==`object`&&r?r:void 0,a=e.ensureChannelEnabled??!0,o=e.ensureAccountEnabled??a,s=e.patch,c=e.accountPatch??s;if(t===`default`)return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...i,...a?{enabled:!0}:{},...s}}};let l=i?.accounts??{},u=l[t]??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...i,...a?{enabled:!0}:{},accounts:{...l,[t]:{...u,...o?{enabled:typeof u.enabled==`boolean`?u.enabled:!0}:{},...c}}}}}}const C=async e=>await v(e);function w(e){let t=(e??[]).map(e=>String(e).trim()).filter(Boolean);return t.includes(`*`)||t.push(`*`),t}function T(e,t){let n=[...e??[],...t].map(e=>String(e).trim()).filter(Boolean);return[...new Set(n)]}async function E(e){let t=e.accountOverride?.trim(),r=t?n.zt(t):e.defaultAccountId;return e.shouldPromptAccountIds&&!t&&(r=await C({cfg:e.cfg,prompter:e.prompter,label:e.label,currentId:r,listAccountIds:e.listAccountIds,defaultAccountId:e.defaultAccountId})),r}function D(e){let t=e.cfg.channels?.[e.channel]??{},n=e.getAllowFrom?.(e.cfg)??t.allowFrom??void 0,r=e.dmPolicy===`open`?w(n):void 0;return{...e.cfg,channels:{...e.cfg.channels,[e.channel]:{...t,dmPolicy:e.dmPolicy,...r?{allowFrom:r}:{}}}}}function O(e){return{accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,canUseEnv:e.allowEnv&&!!e.envValue?.trim()&&!e.hasConfigToken}}async function k(e){let t=async()=>String(await e.prompter.text({message:e.inputPrompt,validate:e=>e?.trim()?void 0:`Required`})).trim();return e.canUseEnv?await e.prompter.confirm({message:e.envPrompt,initialValue:!0})?{useEnv:!0,token:null}:{useEnv:!1,token:await t()}:e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0})?{useEnv:!1,token:null}:{useEnv:!1,token:await t()}}async function A(e){let t=O({accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,allowEnv:e.allowEnv,envValue:e.envValue});!t.accountConfigured&&e.onMissingConfigured&&await e.onMissingConfigured();let n=await j({cfg:e.cfg,prompter:e.prompter,providerHint:e.providerHint,credentialLabel:e.credentialLabel,secretInputMode:e.secretInputMode,accountConfigured:t.accountConfigured,canUseEnv:t.canUseEnv,hasConfigToken:t.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt,preferredEnvVar:e.preferredEnvVar});return n.action===`use-env`?{cfg:e.applyUseEnv?await e.applyUseEnv(e.cfg):e.cfg,action:n.action,resolvedValue:e.envValue?.trim()||void 0}:n.action===`set`?{cfg:e.applySet?await e.applySet(e.cfg,n.value,n.resolvedValue):e.cfg,action:n.action,resolvedValue:n.resolvedValue}:{cfg:e.cfg,action:n.action}}async function j(e){if(await _({prompter:e.prompter,explicitMode:e.secretInputMode,copy:{modeMessage:`How do you want to provide this ${e.credentialLabel}?`,plaintextLabel:`Enter ${e.credentialLabel}`,plaintextHint:`Stores the credential directly in OpenClaw config`,refLabel:`Use external secret provider`,refHint:`Stores a reference to env or configured external secret providers`}})===`plaintext`){let t=await k({prompter:e.prompter,accountConfigured:e.accountConfigured,canUseEnv:e.canUseEnv,hasConfigToken:e.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt});return t.useEnv?{action:`use-env`}:t.token?{action:`set`,value:t.token,resolvedValue:t.token}:{action:`keep`}}if(e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0}))return{action:`keep`};let t=await g({provider:e.providerHint,config:e.cfg,prompter:e.prompter,preferredEnvVar:e.preferredEnvVar,copy:{sourceMessage:`Where is this ${e.credentialLabel} stored?`,envVarPlaceholder:e.preferredEnvVar??`OPENCLAW_SECRET`,envVarFormatError:`Use an env var name like "OPENCLAW_SECRET" (uppercase letters, numbers, underscores).`,noProvidersMessage:`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`}});return{action:`set`,value:t.ref,resolvedValue:t.resolvedValue}}function M(){let e=o.z.string().regex(r.hc,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`);return o.z.union([o.z.string(),o.z.discriminatedUnion(`source`,[o.z.object({source:o.z.literal(`env`),provider:e,id:o.z.string().regex(r.xc,`Env secret reference id must match /^[A-Z][A-Z0-9_]{0,127}$/ (example: "OPENAI_API_KEY").`)}),o.z.object({source:o.z.literal(`file`),provider:e,id:o.z.string().refine(r.vc,`File secret reference id must be an absolute JSON pointer (example: "/providers/openai/apiKey"), or "value" for singleValue mode.`)}),o.z.object({source:o.z.literal(`exec`),provider:e,id:o.z.string().refine(r._c,r.gc())})])])}function N(e){return{success:!1,error:{issues:[{path:[],message:e}]}}}function P(){return{safeParse(e){return e===void 0?{success:!0,data:void 0}:!e||typeof e!=`object`||Array.isArray(e)?N(`expected config object`):Object.keys(e).length>0?N(`config must be empty`):{success:!0,data:e}},jsonSchema:{type:`object`,additionalProperties:!1,properties:{}}}}function F(e){let t=n.zt(e.accountId);return{accountId:t,readAllowFromStore:()=>e.core.channel.pairing.readAllowFromStore({channel:e.channel,accountId:t}),readStoreForDmPolicy:(t,r)=>e.core.channel.pairing.readAllowFromStore({channel:t,accountId:n.zt(r)}),upsertPairingRequest:n=>e.core.channel.pairing.upsertPairingRequest({channel:e.channel,accountId:t,...n})}}const I={retries:{retries:6,factor:1.35,minTimeout:8,maxTimeout:180,randomize:!0},stale:6e4};function L(e){return{stale:e?.stale??I.stale,retries:{retries:e?.retries?.retries??I.retries.retries,factor:e?.retries?.factor??I.retries.factor,minTimeout:e?.retries?.minTimeout??I.retries.minTimeout,maxTimeout:e?.retries?.maxTimeout??I.retries.maxTimeout,randomize:e?.retries?.randomize??I.retries.randomize}}}function R(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))typeof r==`number`&&Number.isFinite(r)&&r>0&&(t[n]=r);return t}function z(e,t,n,r){if(n>0)for(let[r,i]of Object.entries(e))t-i>=n&&delete e[r];let i=Object.keys(e);i.length<=r||i.toSorted((t,n)=>e[t]-e[n]).slice(0,i.length-r).forEach(t=>{delete e[t]})}function B(t){let n=Math.max(0,Math.floor(t.ttlMs)),i=Math.max(0,Math.floor(t.memoryMaxSize)),o=Math.max(1,Math.floor(t.fileMaxEntries)),s=L(t.lockOptions),c=e.R({ttlMs:n,maxSize:i}),l=new Map;async function u(e,i,l,u,d){if(c.check(l,u))return!1;let f=t.resolveFilePath(i);try{return!await r.ys(f,s,async()=>{let{value:t}=await a.nt(f,{}),r=R(t),i=r[e];return i!=null&&(n<=0||u-i<n)?!0:(r[e]=u,z(r,u,n,o),await a.rt(f,r),!1)})}catch(e){return d?.(e),c.check(l,u),!0}}async function d(e=`global`,r){let i=t.resolveFilePath(e),o=Date.now();try{let{value:t}=await a.nt(i,{}),r=R(t),s=0;for(let[t,i]of Object.entries(r)){if(n>0&&o-i>=n)continue;let r=`${e}:${t}`;c.check(r,i),s++}return s}catch(e){return r?.(e),0}}async function f(e,n){let r=e.trim();if(!r)return!0;let i=n?.namespace?.trim()||`global`,a=`${i}:${r}`;if(l.has(a))return!1;let o=n?.onDiskError??t.onDiskError,s=u(r,i,a,n?.now??Date.now(),o);l.set(a,s);try{return await s}finally{l.delete(a)}}return{checkAndRecord:f,warmup:d,clearMemory:()=>c.clear(),memorySize:()=>c.size()}}function V(e){return{text:typeof e.text==`string`?e.text:void 0,mediaUrls:Array.isArray(e.mediaUrls)?e.mediaUrls.filter(e=>typeof e==`string`&&e.length>0):void 0,mediaUrl:typeof e.mediaUrl==`string`?e.mediaUrl:void 0,replyToId:typeof e.replyToId==`string`?e.replyToId:void 0}}function H(e){return async t=>{await e(t&&typeof t==`object`?V(t):{})}}function U(e){return e.mediaUrls?.length?e.mediaUrls:e.mediaUrl?[e.mediaUrl]:[]}function W(e,t){let n=e?.trim()??``;if(!n&&t.length===0)return``;let r=t.length?t.map(e=>`Attachment: ${e}`).join(`
3
3
  `):``;return n?r?`${n}\n\n${r}`:n:r}function G(e){return{cfg:e.cfg,channel:e.channel,accountId:e.accountId,agentId:e.route.agentId,routeSessionKey:e.route.sessionKey,storePath:e.storePath,ctxPayload:e.ctxPayload,recordInboundSession:e.core.channel.session.recordInboundSession,dispatchReplyWithBufferedBlockDispatcher:e.core.channel.reply.dispatchReplyWithBufferedBlockDispatcher}}async function K(e){await q({...G(e),deliver:e.deliver,onRecordError:e.onRecordError,onDispatchError:e.onDispatchError,replyOptions:e.replyOptions})}async function q(t){await t.recordInboundSession({storePath:t.storePath,sessionKey:t.ctxPayload.SessionKey??t.routeSessionKey,ctx:t.ctxPayload,onRecordError:t.onRecordError});let{onModelSelected:n,...r}=e.Y({cfg:t.cfg,agentId:t.agentId,channel:t.channel,accountId:t.accountId}),i=H(t.deliver);await t.dispatchReplyWithBufferedBlockDispatcher({ctx:t.ctxPayload,cfg:t.cfg,dispatcherOptions:{...r,deliver:i,onError:t.onDispatchError},replyOptions:{...t.replyOptions,onModelSelected:n}})}function J(e){return{log:(...t)=>{e.logger.info((0,s.format)(...t))},error:(...t)=>{e.logger.error((0,s.format)(...t))},exit:t=>{throw e.exitError?.(t)??Error(`exit ${t}`)}}}function Y(e){return{configured:e.configured??!1,running:e.running??!1,lastStartAt:e.lastStartAt??null,lastStopAt:e.lastStopAt??null,lastError:e.lastError??null}}function X(e){let{runtime:t,probe:n}=e;return{running:t?.running??!1,lastStartAt:t?.lastStartAt??null,lastStopAt:t?.lastStopAt??null,lastError:t?.lastError??null,probe:n}}exports.BlockStreamingCoalesceSchema=r.oc,exports.DEFAULT_ACCOUNT_ID=n.Rt,exports.DmConfigSchema=r.sc,exports.DmPolicySchema=r.cc,exports.GROUP_POLICY_BLOCKED_LABEL=t.kt,exports.GroupPolicySchema=r.lc,exports.MarkdownConfigSchema=r.uc,exports.ReplyRuntimeConfigSchemaShape=r.dc,exports.ToolPolicySchema=r.Ka,exports.addWildcardAllowFrom=w,exports.applyAccountNameToChannelSection=x,exports.buildBaseChannelStatusSummary=Y,exports.buildChannelConfigSchema=l,exports.buildChannelKeyCandidates=t.Ft,exports.buildRuntimeAccountStatusSnapshot=X,exports.buildSecretInputSchema=M,exports.buildSingleChannelSecretPromptState=O,exports.clearAccountEntryFields=r.kc,exports.createAccountListHelpers=r.gr,exports.createLoggerBackedRuntime=J,exports.createNormalizedOutboundDeliverer=H,exports.createPersistentDedupe=B,exports.createReplyPrefixOptions=e.Y,exports.createScopedPairingAccess=F,exports.deleteAccountFromConfigSection=r.Ac,exports.dispatchInboundReplyWithBase=K,exports.emptyPluginConfigSchema=P,exports.evaluateMatchedGroupAccessForPolicy=t.Ot,exports.fetchWithSsrFGuard=i.t,exports.formatDocsLink=e.B,exports.formatPairingApproveHint=r.rc,exports.formatTextWithAttachmentLinks=W,exports.hasConfiguredSecretInput=r.Cc,exports.isRequestBodyLimitError=e.K,exports.issuePairingChallenge=e.z,exports.listConfiguredAccountIds=r.Nn,exports.logInboundDrop=e.et,exports.mapAllowFromEntries=r.Un,exports.mergeAllowFromEntries=T,exports.normalizeAccountId=n.zt,exports.normalizeChannelSlug=t.It,exports.normalizeResolvedSecretInputString=r.Tc,exports.normalizeSecretInputString=r.Ec,exports.patchScopedAccountConfig=S,exports.promptAccountId=C,exports.promptSingleChannelSecretInput=j,exports.readRequestBodyWithLimit=e.q,exports.readStoreAllowFromForDmPolicy=e.V,exports.requestBodyErrorToText=e.J,exports.requireOpenAllowFrom=r.fc,exports.resolveAccountIdForConfigure=E,exports.resolveAccountWithDefaultFallback=r.Pn,exports.resolveAllowlistProviderRuntimeGroupPolicy=t.At,exports.resolveChannelEntryMatchWithFallback=t.Lt,exports.resolveDefaultGroupPolicy=t.jt,exports.resolveDmGroupAccessWithCommandGate=e.H,exports.resolveMentionGatingWithBypass=e.$,exports.resolveNestedAllowlistDecision=t.Rt,exports.resolveOutboundMediaUrls=U,exports.runSingleChannelSecretStep=A,exports.setAccountEnabledInConfigSection=r.jc,exports.setTopLevelChannelDmPolicyWithAllowFrom=D,exports.waitForAbortSignal=e.G,exports.warnMissingProviderGroupPolicyFallbackOnce=t.Nt;
@@ -1,3 +1,3 @@
1
- import{$ as e,B as t,G as n,H as r,J as i,K as a,R as o,V as s,Y as c,et as l,q as u,z as d}from"./dispatch-Dap2ZPC9.js";import{At as f,Ft as p,It as ee,Lt as m,Nt as h,Ot as g,Rt as _,jt as v,kt as y}from"./send-CceHBxiK.js";import{Rt as b,zt as x}from"./paths-D55o_j8-.js";import{$s as te,Dc as ne,Ec as re,Ga as ie,Hn as ae,Mn as oe,Nn as se,Sc as ce,Tc as le,_c as ue,ac as de,ba as fe,bc as S,cc as C,dc as w,fc as T,hc as E,hr as D,hs as O,ic as k,mc as A,nc as j,oc as M,pa as N,pc as P,rc as F,sc as I,xc as L,yc as R}from"./model-auth-1RA9nkQH.js";import"./logger-C210xuWx.js";import"./paths-DhSjTRMz.js";import"./proxy-env-BlrHtJWH.js";import"./github-copilot-token-ylX_gawo.js";import"./send-dCbQnCLx.js";import{t as z}from"./fetch-guard-GfhPo1Fa.js";import{nt as B,rt as V}from"./send-AyV5r86J.js";import"./deliver-DehGdLxT.js";import"./diagnostic-DSgf5Z4H.js";import"./pi-model-discovery-gaVoL7I2.js";import"./audio-transcription-runner-B3bLoVvU.js";import"./image-Bt_w0o87.js";import"./api-key-rotation-CiFfWYgL.js";import"./local-roots-CXPxvx0J.js";import"./proxy-fetch-ClOb2LUH.js";import"./tokens-B20KNIDD.js";import"./commands-registry-CehvtLBA.js";import"./fetch-C3LEMysf.js";import"./ir-EUD0qDem.js";import"./render-DhTJXP1U.js";import"./target-errors-CUDKM0z-.js";import"./channel-activity-D98aY9ZF.js";import"./tables-Bp6t_Jkb.js";import"./send-0TzQg7Eo.js";import"./fetch-BMYDLRWo.js";import"./skill-commands-DldIiKD1.js";import"./outbound-attachment-5H1iYkTb.js";import"./send-B0oV0qgS.js";import"./query-expansion-DF4LMxRQ.js";import"./manager-CHnzSMNG.js";import{z as H}from"zod";import{format as U}from"node:util";const pe=H.union([H.string(),H.number()]);H.array(pe).optional();function me(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}const W={openai:[`OPENAI_API_KEY`],anthropic:[`ANTHROPIC_API_KEY`],google:[`GEMINI_API_KEY`],minimax:[`MINIMAX_API_KEY`],"minimax-cn":[`MINIMAX_API_KEY`],moonshot:[`MOONSHOT_API_KEY`],"kimi-coding":[`KIMI_API_KEY`,`KIMICODE_API_KEY`],synthetic:[`SYNTHETIC_API_KEY`],venice:[`VENICE_API_KEY`],zai:[`ZAI_API_KEY`,`Z_AI_API_KEY`],xiaomi:[`XIAOMI_API_KEY`],openrouter:[`OPENROUTER_API_KEY`],"cloudflare-ai-gateway":[`CLOUDFLARE_AI_GATEWAY_API_KEY`],litellm:[`LITELLM_API_KEY`],"vercel-ai-gateway":[`AI_GATEWAY_API_KEY`],opencode:[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],"opencode-go":[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],together:[`TOGETHER_API_KEY`],huggingface:[`HUGGINGFACE_HUB_TOKEN`,`HF_TOKEN`],qianfan:[`QIANFAN_API_KEY`],xai:[`XAI_API_KEY`],mistral:[`MISTRAL_API_KEY`],kilocode:[`KILOCODE_API_KEY`],modelstudio:[`MODELSTUDIO_API_KEY`],volcengine:[`VOLCANO_ENGINE_API_KEY`],byteplus:[`BYTEPLUS_API_KEY`]},he=[`VOYAGE_API_KEY`,`GROQ_API_KEY`,`DEEPGRAM_API_KEY`,`CEREBRAS_API_KEY`,`NVIDIA_API_KEY`,`COPILOT_GITHUB_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`ANTHROPIC_OAUTH_TOKEN`,`CHUTES_OAUTH_TOKEN`,`CHUTES_API_KEY`,`QWEN_OAUTH_TOKEN`,`QWEN_PORTAL_API_KEY`,`MINIMAX_OAUTH_TOKEN`,`OLLAMA_API_KEY`,`VLLM_API_KEY`],ge=[...new Set(Object.values(W).flatMap(e=>e))];[...new Set([...ge,...he])];function _e(e){return e instanceof Error&&typeof e.message==`string`&&e.message.trim()?e.message:String(e)}function ve(e){return W[e]?.find(e=>e.trim().length>0)}function ye(e){return`/providers/${fe(e)}/apiKey`}async function be(e){let t=e.preferredEnvVar??ve(e.provider)??``,n=ye(e.provider),r=`env`;for(;;){let i=await e.prompter.select({message:e.copy?.sourceMessage??`Where is this API key stored?`,initialValue:r,options:[{value:`env`,label:`Environment variable`,hint:`Reference a variable from your runtime environment`},{value:`provider`,label:`Configured secret provider`,hint:`Use a configured file or exec secret provider`}]})===`provider`?`provider`:`env`;if(r=i,i===`env`){let n=await e.prompter.text({message:e.copy?.envVarMessage??`Environment variable name`,initialValue:t||void 0,placeholder:e.copy?.envVarPlaceholder??`OPENAI_API_KEY`,validate:t=>{let n=t.trim();if(!S(n))return e.copy?.envVarFormatError??`Use an env var name like "OPENAI_API_KEY" (uppercase letters, numbers, underscores).`;if(!process.env[n]?.trim())return e.copy?.envVarMissingError?.(n)??`Environment variable "${n}" is missing or empty in this session.`}}),r=String(n??``).trim(),i=r&&S(r)?r:t;if(!i)throw Error(`No valid environment variable name provided for provider "${e.provider}".`);let a={source:`env`,provider:E(e.config,`env`,{preferFirstProviderForSource:!0}),id:i},o=await N(a,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.envValidatedMessage?.(i)??`Validated environment variable ${i}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:a,resolvedValue:o}}let a=Object.entries(e.config.secrets?.providers??{}).filter(([,e])=>e?.source===`file`||e?.source===`exec`);if(a.length===0){await e.prompter.note(e.copy?.noProvidersMessage??`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`,`No providers configured`);continue}let o=E(e.config,`file`,{preferFirstProviderForSource:!0}),s=await e.prompter.select({message:`Select secret provider`,initialValue:a.find(([e])=>e===o)?.[0]??a[0]?.[0],options:a.map(([e,t])=>({value:e,label:e,hint:t?.source===`exec`?`Exec provider`:`File provider`}))}),c=e.config.secrets?.providers?.[s];if(!c||c.source!==`file`&&c.source!==`exec`){await e.prompter.note(`Provider "${s}" is not a file/exec provider.`,`Invalid provider`);continue}let l=c.source===`file`?`Secret id (JSON pointer for json mode, or 'value' for singleValue mode)`:`Secret id for the exec provider`,u=c.source===`file`?c.mode===`singleValue`?`value`:n:`${e.provider}/apiKey`,d=await e.prompter.text({message:l,initialValue:u,placeholder:c.source===`file`?`/providers/openai/apiKey`:`openai/api-key`,validate:e=>{let t=e.trim();if(!t)return`Secret id cannot be empty.`;if(c.source===`file`&&c.mode!==`singleValue`&&!A(t))return`Use an absolute JSON pointer like "/providers/openai/apiKey".`;if(c.source===`file`&&c.mode===`singleValue`&&t!==`value`)return`singleValue mode expects id "value".`;if(c.source===`exec`&&!P(t))return T()}}),f=String(d??``).trim()||u,p={source:c.source,provider:s,id:f};try{let t=await N(p,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.providerValidatedMessage?.(s,f,c.source)??`Validated ${c.source} reference ${s}:${f}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:p,resolvedValue:t}}catch(t){await e.prompter.note([`Could not validate provider reference ${s}:${f}.`,_e(t),`Check your provider configuration and try again.`].join(`
1
+ import{$ as e,B as t,G as n,H as r,J as i,K as a,R as o,V as s,Y as c,et as l,q as u,z as d}from"./dispatch-CZqPeEcw.js";import{At as f,Ft as p,It as ee,Lt as m,Nt as h,Ot as g,Rt as _,jt as v,kt as y}from"./send-CceHBxiK.js";import{Rt as b,zt as x}from"./paths-D55o_j8-.js";import{$s as te,Dc as ne,Ec as re,Ga as ie,Hn as ae,Mn as oe,Nn as se,Sc as ce,Tc as le,_c as ue,ac as de,ba as fe,bc as S,cc as C,dc as w,fc as T,hc as E,hr as D,hs as O,ic as k,mc as A,nc as j,oc as M,pa as N,pc as P,rc as F,sc as I,xc as L,yc as R}from"./model-auth-1RA9nkQH.js";import"./logger-C210xuWx.js";import"./paths-DhSjTRMz.js";import"./proxy-env-BlrHtJWH.js";import"./github-copilot-token-ylX_gawo.js";import"./send-dCbQnCLx.js";import{t as z}from"./fetch-guard-GfhPo1Fa.js";import{nt as B,rt as V}from"./send-AyV5r86J.js";import"./deliver-DehGdLxT.js";import"./diagnostic-DSgf5Z4H.js";import"./pi-model-discovery-gaVoL7I2.js";import"./audio-transcription-runner-B3bLoVvU.js";import"./image-Bt_w0o87.js";import"./api-key-rotation-CiFfWYgL.js";import"./local-roots-CXPxvx0J.js";import"./proxy-fetch-ClOb2LUH.js";import"./tokens-B20KNIDD.js";import"./commands-registry-CehvtLBA.js";import"./fetch-C3LEMysf.js";import"./ir-EUD0qDem.js";import"./render-DhTJXP1U.js";import"./target-errors-CUDKM0z-.js";import"./channel-activity-D98aY9ZF.js";import"./tables-Bp6t_Jkb.js";import"./send-0TzQg7Eo.js";import"./fetch-BMYDLRWo.js";import"./skill-commands-DldIiKD1.js";import"./outbound-attachment-5H1iYkTb.js";import"./send-B0oV0qgS.js";import"./query-expansion-DF4LMxRQ.js";import"./manager-CHnzSMNG.js";import{z as H}from"zod";import{format as U}from"node:util";const pe=H.union([H.string(),H.number()]);H.array(pe).optional();function me(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}const W={openai:[`OPENAI_API_KEY`],anthropic:[`ANTHROPIC_API_KEY`],google:[`GEMINI_API_KEY`],minimax:[`MINIMAX_API_KEY`],"minimax-cn":[`MINIMAX_API_KEY`],moonshot:[`MOONSHOT_API_KEY`],"kimi-coding":[`KIMI_API_KEY`,`KIMICODE_API_KEY`],synthetic:[`SYNTHETIC_API_KEY`],venice:[`VENICE_API_KEY`],zai:[`ZAI_API_KEY`,`Z_AI_API_KEY`],xiaomi:[`XIAOMI_API_KEY`],openrouter:[`OPENROUTER_API_KEY`],"cloudflare-ai-gateway":[`CLOUDFLARE_AI_GATEWAY_API_KEY`],litellm:[`LITELLM_API_KEY`],"vercel-ai-gateway":[`AI_GATEWAY_API_KEY`],opencode:[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],"opencode-go":[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],together:[`TOGETHER_API_KEY`],huggingface:[`HUGGINGFACE_HUB_TOKEN`,`HF_TOKEN`],qianfan:[`QIANFAN_API_KEY`],xai:[`XAI_API_KEY`],mistral:[`MISTRAL_API_KEY`],kilocode:[`KILOCODE_API_KEY`],modelstudio:[`MODELSTUDIO_API_KEY`],volcengine:[`VOLCANO_ENGINE_API_KEY`],byteplus:[`BYTEPLUS_API_KEY`]},he=[`VOYAGE_API_KEY`,`GROQ_API_KEY`,`DEEPGRAM_API_KEY`,`CEREBRAS_API_KEY`,`NVIDIA_API_KEY`,`COPILOT_GITHUB_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`ANTHROPIC_OAUTH_TOKEN`,`CHUTES_OAUTH_TOKEN`,`CHUTES_API_KEY`,`QWEN_OAUTH_TOKEN`,`QWEN_PORTAL_API_KEY`,`MINIMAX_OAUTH_TOKEN`,`OLLAMA_API_KEY`,`VLLM_API_KEY`],ge=[...new Set(Object.values(W).flatMap(e=>e))];[...new Set([...ge,...he])];function _e(e){return e instanceof Error&&typeof e.message==`string`&&e.message.trim()?e.message:String(e)}function ve(e){return W[e]?.find(e=>e.trim().length>0)}function ye(e){return`/providers/${fe(e)}/apiKey`}async function be(e){let t=e.preferredEnvVar??ve(e.provider)??``,n=ye(e.provider),r=`env`;for(;;){let i=await e.prompter.select({message:e.copy?.sourceMessage??`Where is this API key stored?`,initialValue:r,options:[{value:`env`,label:`Environment variable`,hint:`Reference a variable from your runtime environment`},{value:`provider`,label:`Configured secret provider`,hint:`Use a configured file or exec secret provider`}]})===`provider`?`provider`:`env`;if(r=i,i===`env`){let n=await e.prompter.text({message:e.copy?.envVarMessage??`Environment variable name`,initialValue:t||void 0,placeholder:e.copy?.envVarPlaceholder??`OPENAI_API_KEY`,validate:t=>{let n=t.trim();if(!S(n))return e.copy?.envVarFormatError??`Use an env var name like "OPENAI_API_KEY" (uppercase letters, numbers, underscores).`;if(!process.env[n]?.trim())return e.copy?.envVarMissingError?.(n)??`Environment variable "${n}" is missing or empty in this session.`}}),r=String(n??``).trim(),i=r&&S(r)?r:t;if(!i)throw Error(`No valid environment variable name provided for provider "${e.provider}".`);let a={source:`env`,provider:E(e.config,`env`,{preferFirstProviderForSource:!0}),id:i},o=await N(a,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.envValidatedMessage?.(i)??`Validated environment variable ${i}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:a,resolvedValue:o}}let a=Object.entries(e.config.secrets?.providers??{}).filter(([,e])=>e?.source===`file`||e?.source===`exec`);if(a.length===0){await e.prompter.note(e.copy?.noProvidersMessage??`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`,`No providers configured`);continue}let o=E(e.config,`file`,{preferFirstProviderForSource:!0}),s=await e.prompter.select({message:`Select secret provider`,initialValue:a.find(([e])=>e===o)?.[0]??a[0]?.[0],options:a.map(([e,t])=>({value:e,label:e,hint:t?.source===`exec`?`Exec provider`:`File provider`}))}),c=e.config.secrets?.providers?.[s];if(!c||c.source!==`file`&&c.source!==`exec`){await e.prompter.note(`Provider "${s}" is not a file/exec provider.`,`Invalid provider`);continue}let l=c.source===`file`?`Secret id (JSON pointer for json mode, or 'value' for singleValue mode)`:`Secret id for the exec provider`,u=c.source===`file`?c.mode===`singleValue`?`value`:n:`${e.provider}/apiKey`,d=await e.prompter.text({message:l,initialValue:u,placeholder:c.source===`file`?`/providers/openai/apiKey`:`openai/api-key`,validate:e=>{let t=e.trim();if(!t)return`Secret id cannot be empty.`;if(c.source===`file`&&c.mode!==`singleValue`&&!A(t))return`Use an absolute JSON pointer like "/providers/openai/apiKey".`;if(c.source===`file`&&c.mode===`singleValue`&&t!==`value`)return`singleValue mode expects id "value".`;if(c.source===`exec`&&!P(t))return T()}}),f=String(d??``).trim()||u,p={source:c.source,provider:s,id:f};try{let t=await N(p,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.providerValidatedMessage?.(s,f,c.source)??`Validated ${c.source} reference ${s}:${f}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:p,resolvedValue:t}}catch(t){await e.prompter.note([`Could not validate provider reference ${s}:${f}.`,_e(t),`Check your provider configuration and try again.`].join(`
2
2
  `),`Reference check failed`)}}}async function xe(e){return e.explicitMode?e.explicitMode:typeof e.prompter.select==`function`&&await e.prompter.select({message:e.copy?.modeMessage??`How do you want to provide this API key?`,initialValue:`plaintext`,options:[{value:`plaintext`,label:e.copy?.plaintextLabel??`Paste API key now`,hint:e.copy?.plaintextHint??`Stores the key directly in OpenClaw config`},{value:`ref`,label:e.copy?.refLabel??`Use external secret provider`,hint:e.copy?.refHint??`Stores a reference to env or configured external secret providers`}]})===`ref`?`ref`:`plaintext`}async function Se(e){let t=e.listAccountIds(e.cfg),n=e.currentId?.trim()||e.defaultAccountId||`default`,r=await e.prompter.select({message:`${e.label} account`,options:[...t.map(e=>({value:e,label:e===`default`?`default (primary)`:e})),{value:`__new__`,label:`Add a new account`}],initialValue:n});if(r!==`__new__`)return x(r);let i=await e.prompter.text({message:`New ${e.label} account id`,validate:e=>e?.trim()?void 0:`Required`}),a=x(String(i));return String(i).trim()!==a&&await e.prompter.note(`Normalized account id to "${a}".`,`${e.label} account`),a}function Ce(e,t){let n=e.channels?.[t];return!!(n?.accounts&&Object.keys(n.accounts).length>0)}function we(e){return e.alwaysUseAccounts||e.accountId!==`default`?!0:Ce(e.cfg,e.channelKey)}function Te(e){let t=e.name?.trim();if(!t)return e.cfg;let n=x(e.accountId),r=e.cfg.channels?.[e.channelKey],i=typeof r==`object`&&r?r:void 0;if(!we({cfg:e.cfg,channelKey:e.channelKey,accountId:n,alwaysUseAccounts:e.alwaysUseAccounts})&&n===`default`){let n=i??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...n,name:t}}}}let a=i?.accounts??{},o=a[n]??{},s=n===`default`?(({name:e,...t})=>t)(i??{}):i??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...s,accounts:{...a,[n]:{...o,name:t}}}}}}function Ee(e){let t=x(e.accountId),n=e.cfg.channels?.[e.channelKey],r=typeof n==`object`&&n?n:void 0,i=e.ensureChannelEnabled??!0,a=e.ensureAccountEnabled??i,o=e.patch,s=e.accountPatch??o;if(t===`default`)return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...r,...i?{enabled:!0}:{},...o}}};let c=r?.accounts??{},l=c[t]??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...r,...i?{enabled:!0}:{},accounts:{...c,[t]:{...l,...a?{enabled:typeof l.enabled==`boolean`?l.enabled:!0}:{},...s}}}}}}const G=async e=>await Se(e);function K(e){let t=(e??[]).map(e=>String(e).trim()).filter(Boolean);return t.includes(`*`)||t.push(`*`),t}function De(e,t){let n=[...e??[],...t].map(e=>String(e).trim()).filter(Boolean);return[...new Set(n)]}async function Oe(e){let t=e.accountOverride?.trim(),n=t?x(t):e.defaultAccountId;return e.shouldPromptAccountIds&&!t&&(n=await G({cfg:e.cfg,prompter:e.prompter,label:e.label,currentId:n,listAccountIds:e.listAccountIds,defaultAccountId:e.defaultAccountId})),n}function ke(e){let t=e.cfg.channels?.[e.channel]??{},n=e.getAllowFrom?.(e.cfg)??t.allowFrom??void 0,r=e.dmPolicy===`open`?K(n):void 0;return{...e.cfg,channels:{...e.cfg.channels,[e.channel]:{...t,dmPolicy:e.dmPolicy,...r?{allowFrom:r}:{}}}}}function q(e){return{accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,canUseEnv:e.allowEnv&&!!e.envValue?.trim()&&!e.hasConfigToken}}async function Ae(e){let t=async()=>String(await e.prompter.text({message:e.inputPrompt,validate:e=>e?.trim()?void 0:`Required`})).trim();return e.canUseEnv?await e.prompter.confirm({message:e.envPrompt,initialValue:!0})?{useEnv:!0,token:null}:{useEnv:!1,token:await t()}:e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0})?{useEnv:!1,token:null}:{useEnv:!1,token:await t()}}async function je(e){let t=q({accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,allowEnv:e.allowEnv,envValue:e.envValue});!t.accountConfigured&&e.onMissingConfigured&&await e.onMissingConfigured();let n=await J({cfg:e.cfg,prompter:e.prompter,providerHint:e.providerHint,credentialLabel:e.credentialLabel,secretInputMode:e.secretInputMode,accountConfigured:t.accountConfigured,canUseEnv:t.canUseEnv,hasConfigToken:t.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt,preferredEnvVar:e.preferredEnvVar});return n.action===`use-env`?{cfg:e.applyUseEnv?await e.applyUseEnv(e.cfg):e.cfg,action:n.action,resolvedValue:e.envValue?.trim()||void 0}:n.action===`set`?{cfg:e.applySet?await e.applySet(e.cfg,n.value,n.resolvedValue):e.cfg,action:n.action,resolvedValue:n.resolvedValue}:{cfg:e.cfg,action:n.action}}async function J(e){if(await xe({prompter:e.prompter,explicitMode:e.secretInputMode,copy:{modeMessage:`How do you want to provide this ${e.credentialLabel}?`,plaintextLabel:`Enter ${e.credentialLabel}`,plaintextHint:`Stores the credential directly in OpenClaw config`,refLabel:`Use external secret provider`,refHint:`Stores a reference to env or configured external secret providers`}})===`plaintext`){let t=await Ae({prompter:e.prompter,accountConfigured:e.accountConfigured,canUseEnv:e.canUseEnv,hasConfigToken:e.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt});return t.useEnv?{action:`use-env`}:t.token?{action:`set`,value:t.token,resolvedValue:t.token}:{action:`keep`}}if(e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0}))return{action:`keep`};let t=await be({provider:e.providerHint,config:e.cfg,prompter:e.prompter,preferredEnvVar:e.preferredEnvVar,copy:{sourceMessage:`Where is this ${e.credentialLabel} stored?`,envVarPlaceholder:e.preferredEnvVar??`OPENCLAW_SECRET`,envVarFormatError:`Use an env var name like "OPENCLAW_SECRET" (uppercase letters, numbers, underscores).`,noProvidersMessage:`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`}});return{action:`set`,value:t.ref,resolvedValue:t.resolvedValue}}function Me(){let e=H.string().regex(w,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`);return H.union([H.string(),H.discriminatedUnion(`source`,[H.object({source:H.literal(`env`),provider:e,id:H.string().regex(ue,`Env secret reference id must match /^[A-Z][A-Z0-9_]{0,127}$/ (example: "OPENAI_API_KEY").`)}),H.object({source:H.literal(`file`),provider:e,id:H.string().refine(A,`File secret reference id must be an absolute JSON pointer (example: "/providers/openai/apiKey"), or "value" for singleValue mode.`)}),H.object({source:H.literal(`exec`),provider:e,id:H.string().refine(P,T())})])])}function Y(e){return{success:!1,error:{issues:[{path:[],message:e}]}}}function Ne(){return{safeParse(e){return e===void 0?{success:!0,data:void 0}:!e||typeof e!=`object`||Array.isArray(e)?Y(`expected config object`):Object.keys(e).length>0?Y(`config must be empty`):{success:!0,data:e}},jsonSchema:{type:`object`,additionalProperties:!1,properties:{}}}}function Pe(e){let t=x(e.accountId);return{accountId:t,readAllowFromStore:()=>e.core.channel.pairing.readAllowFromStore({channel:e.channel,accountId:t}),readStoreForDmPolicy:(t,n)=>e.core.channel.pairing.readAllowFromStore({channel:t,accountId:x(n)}),upsertPairingRequest:n=>e.core.channel.pairing.upsertPairingRequest({channel:e.channel,accountId:t,...n})}}const X={retries:{retries:6,factor:1.35,minTimeout:8,maxTimeout:180,randomize:!0},stale:6e4};function Fe(e){return{stale:e?.stale??X.stale,retries:{retries:e?.retries?.retries??X.retries.retries,factor:e?.retries?.factor??X.retries.factor,minTimeout:e?.retries?.minTimeout??X.retries.minTimeout,maxTimeout:e?.retries?.maxTimeout??X.retries.maxTimeout,randomize:e?.retries?.randomize??X.retries.randomize}}}function Z(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e))typeof r==`number`&&Number.isFinite(r)&&r>0&&(t[n]=r);return t}function Q(e,t,n,r){if(n>0)for(let[r,i]of Object.entries(e))t-i>=n&&delete e[r];let i=Object.keys(e);i.length<=r||i.toSorted((t,n)=>e[t]-e[n]).slice(0,i.length-r).forEach(t=>{delete e[t]})}function Ie(e){let t=Math.max(0,Math.floor(e.ttlMs)),n=Math.max(0,Math.floor(e.memoryMaxSize)),r=Math.max(1,Math.floor(e.fileMaxEntries)),i=Fe(e.lockOptions),a=o({ttlMs:t,maxSize:n}),s=new Map;async function c(n,o,s,c,l){if(a.check(s,c))return!1;let u=e.resolveFilePath(o);try{return!await O(u,i,async()=>{let{value:e}=await B(u,{}),i=Z(e),a=i[n];return a!=null&&(t<=0||c-a<t)?!0:(i[n]=c,Q(i,c,t,r),await V(u,i),!1)})}catch(e){return l?.(e),a.check(s,c),!0}}async function l(n=`global`,r){let i=e.resolveFilePath(n),o=Date.now();try{let{value:e}=await B(i,{}),r=Z(e),s=0;for(let[e,i]of Object.entries(r)){if(t>0&&o-i>=t)continue;let r=`${n}:${e}`;a.check(r,i),s++}return s}catch(e){return r?.(e),0}}async function u(t,n){let r=t.trim();if(!r)return!0;let i=n?.namespace?.trim()||`global`,a=`${i}:${r}`;if(s.has(a))return!1;let o=n?.onDiskError??e.onDiskError,l=c(r,i,a,n?.now??Date.now(),o);s.set(a,l);try{return await l}finally{s.delete(a)}}return{checkAndRecord:u,warmup:l,clearMemory:()=>a.clear(),memorySize:()=>a.size()}}function Le(e){return{text:typeof e.text==`string`?e.text:void 0,mediaUrls:Array.isArray(e.mediaUrls)?e.mediaUrls.filter(e=>typeof e==`string`&&e.length>0):void 0,mediaUrl:typeof e.mediaUrl==`string`?e.mediaUrl:void 0,replyToId:typeof e.replyToId==`string`?e.replyToId:void 0}}function $(e){return async t=>{await e(t&&typeof t==`object`?Le(t):{})}}function Re(e){return e.mediaUrls?.length?e.mediaUrls:e.mediaUrl?[e.mediaUrl]:[]}function ze(e,t){let n=e?.trim()??``;if(!n&&t.length===0)return``;let r=t.length?t.map(e=>`Attachment: ${e}`).join(`
3
3
  `):``;return n?r?`${n}\n\n${r}`:n:r}function Be(e){return{cfg:e.cfg,channel:e.channel,accountId:e.accountId,agentId:e.route.agentId,routeSessionKey:e.route.sessionKey,storePath:e.storePath,ctxPayload:e.ctxPayload,recordInboundSession:e.core.channel.session.recordInboundSession,dispatchReplyWithBufferedBlockDispatcher:e.core.channel.reply.dispatchReplyWithBufferedBlockDispatcher}}async function Ve(e){await He({...Be(e),deliver:e.deliver,onRecordError:e.onRecordError,onDispatchError:e.onDispatchError,replyOptions:e.replyOptions})}async function He(e){await e.recordInboundSession({storePath:e.storePath,sessionKey:e.ctxPayload.SessionKey??e.routeSessionKey,ctx:e.ctxPayload,onRecordError:e.onRecordError});let{onModelSelected:t,...n}=c({cfg:e.cfg,agentId:e.agentId,channel:e.channel,accountId:e.accountId}),r=$(e.deliver);await e.dispatchReplyWithBufferedBlockDispatcher({ctx:e.ctxPayload,cfg:e.cfg,dispatcherOptions:{...n,deliver:r,onError:e.onDispatchError},replyOptions:{...e.replyOptions,onModelSelected:t}})}function Ue(e){return{log:(...t)=>{e.logger.info(U(...t))},error:(...t)=>{e.logger.error(U(...t))},exit:t=>{throw e.exitError?.(t)??Error(`exit ${t}`)}}}function We(e){return{configured:e.configured??!1,running:e.running??!1,lastStartAt:e.lastStartAt??null,lastStopAt:e.lastStopAt??null,lastError:e.lastError??null}}function Ge(e){let{runtime:t,probe:n}=e;return{running:t?.running??!1,lastStartAt:t?.lastStartAt??null,lastStopAt:t?.lastStopAt??null,lastError:t?.lastError??null,probe:n}}export{j as BlockStreamingCoalesceSchema,b as DEFAULT_ACCOUNT_ID,F as DmConfigSchema,k as DmPolicySchema,y as GROUP_POLICY_BLOCKED_LABEL,de as GroupPolicySchema,M as MarkdownConfigSchema,I as ReplyRuntimeConfigSchemaShape,ie as ToolPolicySchema,K as addWildcardAllowFrom,Te as applyAccountNameToChannelSection,We as buildBaseChannelStatusSummary,me as buildChannelConfigSchema,p as buildChannelKeyCandidates,Ge as buildRuntimeAccountStatusSnapshot,Me as buildSecretInputSchema,q as buildSingleChannelSecretPromptState,le as clearAccountEntryFields,D as createAccountListHelpers,Ue as createLoggerBackedRuntime,$ as createNormalizedOutboundDeliverer,Ie as createPersistentDedupe,c as createReplyPrefixOptions,Pe as createScopedPairingAccess,re as deleteAccountFromConfigSection,Ve as dispatchInboundReplyWithBase,Ne as emptyPluginConfigSchema,g as evaluateMatchedGroupAccessForPolicy,z as fetchWithSsrFGuard,t as formatDocsLink,te as formatPairingApproveHint,ze as formatTextWithAttachmentLinks,R as hasConfiguredSecretInput,a as isRequestBodyLimitError,d as issuePairingChallenge,oe as listConfiguredAccountIds,l as logInboundDrop,ae as mapAllowFromEntries,De as mergeAllowFromEntries,x as normalizeAccountId,ee as normalizeChannelSlug,L as normalizeResolvedSecretInputString,ce as normalizeSecretInputString,Ee as patchScopedAccountConfig,G as promptAccountId,J as promptSingleChannelSecretInput,u as readRequestBodyWithLimit,s as readStoreAllowFromForDmPolicy,i as requestBodyErrorToText,C as requireOpenAllowFrom,Oe as resolveAccountIdForConfigure,se as resolveAccountWithDefaultFallback,f as resolveAllowlistProviderRuntimeGroupPolicy,m as resolveChannelEntryMatchWithFallback,v as resolveDefaultGroupPolicy,r as resolveDmGroupAccessWithCommandGate,e as resolveMentionGatingWithBypass,_ as resolveNestedAllowlistDecision,Re as resolveOutboundMediaUrls,je as runSingleChannelSecretStep,ne as setAccountEnabledInConfigSection,ke as setTopLevelChannelDmPolicyWithAllowFrom,n as waitForAbortSignal,h as warnMissingProviderGroupPolicyFallbackOnce};