@qqbrowser/openclaw-qbot 0.0.142 → 0.0.144
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.
- package/dist/{agents-Bpp_F5In.js → agents-D3Z05GqK.js} +2 -2
- package/dist/{agents.config-DfIJAGcd.js → agents.config-BUQjISaN.js} +2 -2
- package/dist/{agents.config-B6LRG9eP.js → agents.config-BvxrGqOT.js} +2 -2
- package/dist/{auth-choice-DvTApGhx.js → auth-choice-CYGzLW73.js} +2 -2
- package/dist/{auth-choice-EQdNd7jO.js → auth-choice-DJn6683d.js} +2 -2
- package/dist/{banner-9u45RL26.js → banner-xQa2kS6O.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-D2syI791.js → channel-options-BurUBfoY.js} +2 -2
- package/dist/{channel-options-CEIzjOno.js → channel-options-Ce8uNnAp.js} +2 -2
- package/dist/{channel-web-BrElpZAc.js → channel-web-D5TgFlMz.js} +2 -2
- package/dist/{channel-web-CxHbET4B.js → channel-web-D7FkrASC.js} +2 -2
- package/dist/{channels-cli-BmAJuuRs.js → channels-cli-BfzZrnkt.js} +2 -2
- package/dist/{channels-cli-Dgosczr6.js → channels-cli-DFI6F6G0.js} +2 -2
- package/dist/{cli-D8T2tphD.js → cli-CMLvfh6N.js} +2 -2
- package/dist/{cli-BcnoCo4z.js → cli-MTpYYgjl.js} +2 -2
- package/dist/{command-registry-CfuXCRwV.js → command-registry-CSBvrqwW.js} +2 -2
- package/dist/{compact-Dg66DXx_.js → compact-BEeB6bwq.js} +7 -7
- package/dist/{compact.runtime-3mTLUPqu.js → compact.runtime-BC7F7HPJ.js} +1 -1
- package/dist/{compact.runtime-DcTdUW4o.js → compact.runtime-BTUQRS-2.js} +1 -1
- package/dist/{compact.runtime-Bhewj5vA.js → compact.runtime-C0GyLWem.js} +1 -1
- package/dist/{compact.runtime-XXtYlNJN.js → compact.runtime-CrOFsO5D.js} +1 -1
- package/dist/{completion-cli-BZi4nuQb.js → completion-cli-Bizog38J.js} +2 -2
- package/dist/{completion-cli-C40TWdsv.js → completion-cli-W1_FoDFF.js} +2 -2
- package/dist/{config-cli-CBte2b1h.js → config-cli-B9hEiZsw.js} +2 -2
- package/dist/{config-cli-1ojSLwAj.js → config-cli-BNTGUqL_.js} +2 -2
- package/dist/{configure-kod4tmZa.js → configure-DForkh7R.js} +2 -2
- package/dist/{configure-DJrNDEpR.js → configure-DR77VUCy.js} +2 -2
- package/dist/{deps-send-whatsapp.runtime-C4O9crnk.js → deps-send-whatsapp.runtime-BuIiTn5n.js} +1 -1
- package/dist/{deps-send-whatsapp.runtime-5Lot99zq.js → deps-send-whatsapp.runtime-C4hGmfeP.js} +1 -1
- package/dist/{deps-send-whatsapp.runtime-LiNvHd_E.js → deps-send-whatsapp.runtime-CYlLppMS.js} +1 -1
- package/dist/{deps-send-whatsapp.runtime-Bg-_kVX6.js → deps-send-whatsapp.runtime-FY-HuZ5S.js} +1 -1
- package/dist/{doctor-completion-BJ6steqx.js → doctor-completion-Da0cocZX.js} +2 -2
- package/dist/{doctor-completion-DMJhfrtC.js → doctor-completion-DpCWb88H.js} +2 -2
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-CKu0FA7D.js → gateway-cli-C4YOlz3m.js} +6 -6
- package/dist/{gateway-cli-C_s9eMlC.js → gateway-cli-D78GfbjG.js} +6 -6
- package/dist/{health-PaRHFItm.js → health-DBu0V1Y-.js} +2 -2
- package/dist/{health-BgOggK9k.js → health-RQzDNQwf.js} +2 -2
- package/dist/{hooks-cli-CsBrScq0.js → hooks-cli-B3eDoEHO.js} +2 -2
- package/dist/{hooks-cli-BzyzTNBx.js → hooks-cli-xgORhqZ2.js} +2 -2
- package/dist/index.js +2 -2
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{models-C_Vg3Cty.js → models-BEO5lvkx.js} +2 -2
- package/dist/{models-cli-CDZliTXq.js → models-cli-BbcJ6A0F.js} +2 -2
- package/dist/{models-cli-bGr8jwAb.js → models-cli-Dacwv6BY.js} +2 -2
- package/dist/{npm-resolution-DWPloph4.js → npm-resolution-Bui58Ks1.js} +2 -2
- package/dist/{npm-resolution-BnJGLwhi.js → npm-resolution-Ct6MRtq6.js} +2 -2
- package/dist/{onboard-B0BNCQaO.js → onboard-2iF3lTUI.js} +3 -3
- package/dist/{onboard-CjVhdaiR.js → onboard-B9ouFJC7.js} +3 -3
- package/dist/{onboard-channels-CZK_7xMR.js → onboard-channels-BXReNh4B.js} +2 -2
- package/dist/{onboard-channels-BMIOddLN.js → onboard-channels-CjXCpXI-.js} +2 -2
- package/dist/{onboarding-B6ixWwgp.js → onboarding-BTBbx6Ka.js} +2 -2
- package/dist/{onboarding-ouEqUuUr.js → onboarding-TkoOoq9D.js} +2 -2
- package/dist/{onboarding.finalize-Bgat5Npc.js → onboarding.finalize-C9QGFQpa.js} +2 -2
- package/dist/{onboarding.finalize-DsMVlTcH.js → onboarding.finalize-CwjLMPKK.js} +2 -2
- package/dist/{pi-embedded-BZSn84Bh.js → pi-embedded-B_6OtP8m.js} +7 -7
- package/dist/{pi-embedded-Dsz7p3MF.js → pi-embedded-DjX-gdoY.js} +7 -7
- package/dist/{plugin-registry-CIBiHZH1.js → plugin-registry-CI5K3iWc.js} +2 -2
- package/dist/{plugin-registry-C6dY-Et7.js → plugin-registry-CYlBYbc8.js} +2 -2
- package/dist/plugin-sdk/{channel-web-9zn1Itpg.cjs → channel-web-BSUPSLCU.cjs} +2 -2
- package/dist/plugin-sdk/{channel-web-4ZQVqsrt.js → channel-web-CeSPyNTh.js} +2 -2
- package/dist/plugin-sdk/{channel-web-BrB00HKH.js → channel-web-Cptth4mc.js} +2 -2
- package/dist/plugin-sdk/{channel-web-DN5La-Ol.cjs → channel-web-D4x22KPN.cjs} +2 -2
- package/dist/plugin-sdk/{compact.runtime-8oUv1ld1.cjs → compact.runtime-BDgWntMu.cjs} +1 -1
- package/dist/plugin-sdk/{compact.runtime-CmJayEYX.js → compact.runtime-BJFMaTF4.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-BjJCBESR.cjs → compact.runtime-BWadwUyE.cjs} +1 -1
- package/dist/plugin-sdk/{compact.runtime-ALKRoVEG.js → compact.runtime-Bfu2rMai.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-DBlESOSV.cjs → compact.runtime-Cg47oUHq.cjs} +1 -1
- package/dist/plugin-sdk/{compact.runtime-Dmc0G6Yn.js → compact.runtime-CqK86P7R.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-Chumwp0K.cjs → compact.runtime-CqrB25-A.cjs} +1 -1
- package/dist/plugin-sdk/{compact.runtime-Ddfxp3fz.js → compact.runtime-DeATtENL.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-C_dc78Lp.cjs → compact.runtime-GMu30Jmw.cjs} +1 -1
- package/dist/plugin-sdk/{compact.runtime-ZrApPcrV.js → compact.runtime-YFzugj-k.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-BF4SCZ-5.js → compact.runtime-a8Z4_6wu.js} +1 -1
- package/dist/plugin-sdk/{compact.runtime-CbzQiVEW.cjs → compact.runtime-jGNfnpo2.cjs} +1 -1
- package/dist/plugin-sdk/compat.cjs +1 -1
- package/dist/plugin-sdk/compat.js +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BEDFRjff.js → deps-send-whatsapp.runtime-23E2Ab5R.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-QY0XTSgX.cjs → deps-send-whatsapp.runtime-B1oA3XBA.cjs} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-Du_3Rw7K.cjs → deps-send-whatsapp.runtime-C8q_3sOf.cjs} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DMeaTnvE.cjs → deps-send-whatsapp.runtime-CsebM75z.cjs} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-CrVVnzLl.js → deps-send-whatsapp.runtime-D3mYdwaT.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-DR4rvUQL.js → deps-send-whatsapp.runtime-DDwUEbJ8.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BULlOkpi.cjs → deps-send-whatsapp.runtime-Di3p_3Eh.cjs} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime--uXLMs1C.js → deps-send-whatsapp.runtime-JzRD4jTI.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BRjb9631.cjs → deps-send-whatsapp.runtime-gEp895yA.cjs} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-VQXeRmRl.js → deps-send-whatsapp.runtime-iV5E6CHf.js} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-2Us9O7dL.cjs → deps-send-whatsapp.runtime-k0yGrhs2.cjs} +1 -1
- package/dist/plugin-sdk/{deps-send-whatsapp.runtime-BfV5Q2fx.js → deps-send-whatsapp.runtime-v3sqBoDg.js} +1 -1
- package/dist/plugin-sdk/{dispatch-C2YTqGlf.js → dispatch-3PrSaGZi.js} +7 -7
- package/dist/plugin-sdk/{dispatch-DHbSBeFJ.js → dispatch-Bcf1uPHo.js} +7 -7
- package/dist/plugin-sdk/{dispatch-SWyfAZT0.cjs → dispatch-BgGE9usQ.cjs} +7 -7
- package/dist/plugin-sdk/{dispatch-BYlcmJ9u.js → dispatch-BhUN9ZDP.js} +7 -7
- package/dist/plugin-sdk/{dispatch-DK5ub8qa.cjs → dispatch-C3k8j6Zb.cjs} +7 -7
- package/dist/plugin-sdk/{dispatch-DCSwqteL.js → dispatch-C_gJPvbD.js} +7 -7
- package/dist/plugin-sdk/{dispatch-5v3v8zzA.js → dispatch-Df8B7owq.js} +7 -7
- package/dist/plugin-sdk/{dispatch-CNy3g9ma.cjs → dispatch-YK0qHNtb.cjs} +7 -7
- package/dist/plugin-sdk/{dispatch-B6UbZCpL.cjs → dispatch-_fZDA253.cjs} +7 -7
- package/dist/plugin-sdk/{dispatch-mR2vLkGa.cjs → dispatch-wEH2eS4y.cjs} +7 -7
- package/dist/plugin-sdk/index.cjs +1 -1
- package/dist/plugin-sdk/index.js +1 -1
- package/dist/plugin-sdk/irc.cjs +1 -1
- package/dist/plugin-sdk/irc.js +1 -1
- package/dist/plugin-sdk/matrix.cjs +1 -1
- package/dist/plugin-sdk/matrix.js +1 -1
- package/dist/plugin-sdk/msteams.cjs +1 -1
- package/dist/plugin-sdk/msteams.js +1 -1
- package/dist/plugin-sdk/nextcloud-talk.cjs +1 -1
- package/dist/plugin-sdk/nextcloud-talk.js +1 -1
- package/dist/plugin-sdk/{reply-0zCEbT4w.cjs → reply-BoWg-IXT.cjs} +7 -7
- package/dist/plugin-sdk/{reply-D-f2bbXy.js → reply-bS9U9BwG.js} +7 -7
- package/dist/plugin-sdk/{slash-dispatch.runtime-CNhhOTEP.js → slash-dispatch.runtime-4y3z-kPo.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-B3b2L4iH.js → slash-dispatch.runtime-BRr9YGOs.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-CPPp4KKH.cjs → slash-dispatch.runtime-BtdMVJQe.cjs} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-Dw9M-fvv.js → slash-dispatch.runtime-C6iak1_0.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-BoTYqNiv.js → slash-dispatch.runtime-CMx727dE.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-CaWoVNJu.cjs → slash-dispatch.runtime-CXXaAMYa.cjs} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-DbheDKxM.cjs → slash-dispatch.runtime-Cvom2Onl.cjs} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-DpBWBF7J.js → slash-dispatch.runtime-D00kIROj.js} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-DSQ2U0MM.cjs → slash-dispatch.runtime-DEu-D4XB.cjs} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-Bu6Gwr3m.cjs → slash-dispatch.runtime-DG7_jQXD.cjs} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-CCEMBSm2.cjs → slash-dispatch.runtime-DVP1q-_z.cjs} +1 -1
- package/dist/plugin-sdk/{slash-dispatch.runtime-Dm_cVnlq.js → slash-dispatch.runtime-U6qjtCfd.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-bVH8kl6Y.js → subagent-registry-runtime-BD_DkCmR.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-Der4fbZK.cjs → subagent-registry-runtime-BWiMCyG_.cjs} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-Pp_rfnk0.js → subagent-registry-runtime-C6vGkwe9.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-B0cZ_eaC.cjs → subagent-registry-runtime-CCcI3vhb.cjs} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-B-P4w-z9.js → subagent-registry-runtime-CDCU--WW.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-Ciev9m2W.cjs → subagent-registry-runtime-D98xiwmA.cjs} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-DBPvxiJW.cjs → subagent-registry-runtime-LebBdxD7.cjs} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-BfmeSbXD.cjs → subagent-registry-runtime-MfHdezNY.cjs} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-CL0sdx5J.cjs → subagent-registry-runtime-bMabqk9V.cjs} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-DH_Jx5hU.js → subagent-registry-runtime-h3qrqiJH.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-CEvE9keW.js → subagent-registry-runtime-tmI7JUke.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-runtime-Du8BhjzJ.js → subagent-registry-runtime-uC8wbfNS.js} +1 -1
- package/dist/plugin-sdk/{web-BdnQzLgF.js → web-9Os8v8Cu.js} +2 -2
- package/dist/plugin-sdk/{web-pcTha_l7.cjs → web-BQ9hOKe8.cjs} +2 -2
- package/dist/plugin-sdk/{web-C9T7tf6w.js → web-Bjk0MWu3.js} +2 -2
- package/dist/plugin-sdk/{web-_tj8xNZE.js → web-BsmnVZaX.js} +2 -2
- package/dist/plugin-sdk/{web-B2PwjHsu.cjs → web-CUbdclQS.cjs} +2 -2
- package/dist/plugin-sdk/{web-CcYBsmAj.cjs → web-C_Vx3mgY.cjs} +1 -1
- package/dist/plugin-sdk/{web-BZoOYDwf.js → web-Cdo1e0C7.js} +1 -1
- package/dist/plugin-sdk/{web-CODD4ksc.cjs → web-CfTkaUMk.cjs} +2 -2
- package/dist/plugin-sdk/{web-24o5tNe3.js → web-DkmdYSZ8.js} +1 -1
- package/dist/plugin-sdk/{web-B-QDcVRv.cjs → web-DpGXJ6SQ.cjs} +2 -2
- package/dist/plugin-sdk/{web-Czl9vNVv.cjs → web-DuF9udb6.cjs} +1 -1
- package/dist/plugin-sdk/{web-CkdCvvR-.js → web-Jr2J55LO.js} +2 -2
- package/dist/plugin-sdk/whatsapp.cjs +1 -1
- package/dist/plugin-sdk/whatsapp.js +1 -1
- package/dist/{plugins-cli-BiVMAr5T.js → plugins-cli-BzJeq-CW.js} +2 -2
- package/dist/{plugins-cli-BbjMbzJU.js → plugins-cli-o74CJV4A.js} +2 -2
- package/dist/{program-BrAZTwFr.js → program-CCS3CIqA.js} +3 -3
- package/dist/{program-context-B9ydtPje.js → program-context-lyPXjPfN.js} +2 -2
- package/dist/{prompt-select-styled-DIOWLjl0.js → prompt-select-styled-DmTwJKOO.js} +2 -2
- package/dist/{prompt-select-styled-BeJNbzSa.js → prompt-select-styled-Z30OVmpM.js} +2 -2
- package/dist/{provider-auth-helpers-pBVCjBj9.js → provider-auth-helpers-BzlcSA6U.js} +2 -2
- package/dist/{provider-auth-helpers-1lU43eTW.js → provider-auth-helpers-CDIiLD1m.js} +2 -2
- package/dist/{push-apns-BGUOmD5M.js → push-apns-CrAWstBo.js} +2 -2
- package/dist/{push-apns-B_a2MBJ4.js → push-apns-CrMV74Qs.js} +2 -2
- package/dist/{register.agent-CX78s_X9.js → register.agent-CisptTv_.js} +2 -2
- package/dist/{register.agent-DLDKQENq.js → register.agent-Dl2Ef-K5.js} +2 -2
- package/dist/{register.configure-BA5u9hT3.js → register.configure-CvPihXst.js} +2 -2
- package/dist/{register.configure-BhPtf3Qo.js → register.configure-D8bJJ16k.js} +2 -2
- package/dist/{register.maintenance-r_MzNK3-.js → register.maintenance-COWBeetm.js} +2 -2
- package/dist/{register.maintenance-BhsBepKS.js → register.maintenance-vhmmqtIi.js} +2 -2
- package/dist/{register.message-CTF--Z2a.js → register.message-3zVHQZ27.js} +2 -2
- package/dist/{register.message-jcZ875be.js → register.message-CM_Qudzn.js} +2 -2
- package/dist/{register.onboard-CNwnStUk.js → register.onboard-CJZKG0PP.js} +2 -2
- package/dist/{register.onboard-C3yL50_c.js → register.onboard-CaFl_mB1.js} +2 -2
- package/dist/{register.setup-BRJMzgfU.js → register.setup-CSW03BKj.js} +2 -2
- package/dist/{register.setup-BvsS-zgm.js → register.setup-DDkBFyvF.js} +2 -2
- package/dist/{register.status-health-sessions-Dqmkw820.js → register.status-health-sessions-BXiMraHZ.js} +2 -2
- package/dist/{register.status-health-sessions-DVc__2pc.js → register.status-health-sessions-Bo9VWxLG.js} +2 -2
- package/dist/{register.subclis-D-24j83X.js → register.subclis-B_0ZS-_K.js} +2 -2
- package/dist/{reply-l-Y47HP4.js → reply-CjyZeZ-j.js} +7 -7
- package/dist/{run-main-B_YBE_TN.js → run-main-CV49c7uu.js} +2 -2
- package/dist/{server-node-events-CFSY_-4t.js → server-node-events-BWiQg1NL.js} +2 -2
- package/dist/{server-node-events-ZFwmPwQ-.js → server-node-events-DicMyck-.js} +2 -2
- package/dist/{slash-dispatch.runtime-pdAIQrzR.js → slash-dispatch.runtime-CGgP5dBX.js} +1 -1
- package/dist/{slash-dispatch.runtime-CKWXmLO1.js → slash-dispatch.runtime-CknX8Fkv.js} +1 -1
- package/dist/{slash-dispatch.runtime-DIR5H2MY.js → slash-dispatch.runtime-CoKGpcpS.js} +1 -1
- package/dist/{slash-dispatch.runtime-14ABU-DD.js → slash-dispatch.runtime-pSpPe8qL.js} +1 -1
- package/dist/{status-DYqPF0rB.js → status-BoL8-JxA.js} +2 -2
- package/dist/{status-JIPeVrsc.js → status-DEAX-TLb.js} +2 -2
- package/dist/{subagent-registry-runtime-rPbwTnju.js → subagent-registry-runtime-2Nh6-7ym.js} +1 -1
- package/dist/{subagent-registry-runtime-DTVXQJOP.js → subagent-registry-runtime-CG_2Atu3.js} +1 -1
- package/dist/{subagent-registry-runtime-Cj4CKKl_.js → subagent-registry-runtime-Cc264UfD.js} +1 -1
- package/dist/{subagent-registry-runtime-8_ktZPZB.js → subagent-registry-runtime-CpYm78z3.js} +1 -1
- package/dist/{update-cli-YrBbmw4f.js → update-cli--P65ciut.js} +2 -2
- package/dist/{update-cli-BwBMOeP0.js → update-cli-Ibrshx_w.js} +2 -2
- package/dist/{update-runner-BvtyRBD2.js → update-runner-CvWH2ZAc.js} +2 -2
- package/dist/{update-runner-DYamgo1V.js → update-runner-mMbwEOlU.js} +2 -2
- package/dist/{web-DwcxsgH0.js → web-ARUUCMQo.js} +2 -2
- package/dist/{web-C15yQ-wI.js → web-C6jRFeYp.js} +1 -1
- package/dist/{web-C6So15hm.js → web-CDXYiCsB.js} +1 -1
- package/dist/{web-Cq3xWCaD.js → web-CiagxaWr.js} +2 -2
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +42 -42
- package/node_modules/@aws-sdk/core/dist-cjs/index.js +17 -0
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +17 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/longPollMiddleware.js +15 -0
- package/node_modules/@aws-sdk/core/package.json +11 -11
- package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
- package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
- package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
- package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
- package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
- package/node_modules/@aws-sdk/middleware-user-agent/package.json +8 -8
- package/node_modules/@aws-sdk/middleware-websocket/package.json +9 -9
- package/node_modules/@aws-sdk/nested-clients/package.json +32 -32
- package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
- package/node_modules/@aws-sdk/token-providers/package.json +7 -7
- package/node_modules/@aws-sdk/types/package.json +2 -2
- package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
- package/node_modules/@aws-sdk/util-format-url/package.json +4 -4
- package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
- package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
- package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
- package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/dist/index.js +1 -0
- package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/package.json +1 -1
- package/node_modules/content-disposition/index.js +118 -40
- package/node_modules/content-disposition/package.json +8 -11
- package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
- package/node_modules/path-expression-matcher/lib/pem.d.cts +18 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
- package/node_modules/path-expression-matcher/package.json +1 -1
- package/node_modules/path-expression-matcher/src/Expression.js +2 -2
- package/node_modules/path-expression-matcher/src/ExpressionSet.js +24 -4
- package/package.json +1 -1
- package/preset-config.json +1 -1
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +0 -157
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/constants.js +0 -2
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromEnvSigningName.js +0 -16
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +0 -81
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/fromStatic.js +0 -8
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getNewSsoOidcToken.js +0 -11
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/getSsoOidcClient.js +0 -10
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/index.js +0 -4
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/nodeProvider.js +0 -5
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenExpiry.js +0 -7
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/validateTokenKey.js +0 -7
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/dist-es/writeSSOTokenToFile.js +0 -8
- package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +0 -70
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A as e,p as t}from"./subsystem-BLbY429l.js";import{g as n,i as r,m as i,o as a,u as o}from"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Ai as s,Fo as c,Ki as l,jo as u}from"./auth-profiles-T8DuH3ax.js";import{t as d}from"./command-format-CLxIPuLR.js";import"./agent-scope-DAWJwFfl.js";import{g as f}from"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-CW81y5Wz.js";import"./send-DavpkzhH.js";import"./compact-Dg66DXx_.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-_htt7eY5.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import"./deliver-BHuhHfkH.js";import"./diagnostic-DQq4Bwrs.js";import"./send-DkiKKUkt.js";import"./pi-model-discovery-CpjYoBQf.js";import"./exec-approvals-allowlist-D8mN7nxV.js";import"./exec-safe-bin-runtime-policy-dcCS_Adf.js";import"./model-catalog-COVzoZD9.js";import"./fetch-CQaNr5J1.js";import"./audio-transcription-runner-Bd1OZC6K.js";import"./fetch-guard-BrTtJw7h.js";import"./image-BkWwI54C.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-D0QU-kQ9.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-D8Hh84ab.js";import"./render-DrrPmnMI.js";import"./target-errors-CgWAJOam.js";import"./commands-Dy7duWlt.js";import"./commands-registry-Cpl4QnG4.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-8acNlxwP.js";import"./sqlite-CILF3z9U.js";import"./call-B8Fb4_oh.js";import"./pi-tools.policy-D40r0HmD.js";import"./pairing-store-BH-FTYkn.js";import"./fetch-Dh-apy46.js";import"./skill-commands-CSF6wVPU.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-DAR7V7FJ.js";import"./channel-activity-BBrgoad1.js";import"./tables-Brc2lNcB.js";import"./kill-tree-B3g7HrAO.js";import"./runtime-web-tools-D8fms06-.js";import"./runtime-Dlg2-Omq.js";import"./node-shell-DyOfwHrh.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BBeE1TmB.js";import"./plugin-auto-enable-NzmNh4oU.js";import"./send-CVplsJpw.js";import"./outbound-attachment-BgAe99RM.js";import"./delivery-queue-nkPJu0fY.js";import"./send-C48Y9SAq.js";import"./system-run-command-BKfMiqQM.js";import"./fetch-Ce-scEU-.js";import"./command-secret-targets-BlN-J_fA.js";import"./connection-auth-B_Uk6Vk8.js";import{f as p,g as m,i as h,o as g}from"./onboard-helpers-PGl5bVPE.js";import{n as _,r as v,t as y}from"./prompt-style-BThRSQJR.js";import"./pairing-labels-D-kzQEL2.js";import"./search-manager-Bp9x20r6.js";import"./manager-C2YW7Hkq.js";import"./memory-cli-XaxtBQm1.js";import{t as b}from"./links-CBnmRP9D.js";import{n as x}from"./cli-utils-BleB1eys.js";import"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import"./skills-status-DswSl5aD.js";import{t as S}from"./clipboard-Bk8cviBt.js";import"./note-Dp-d_utk.js";import"./issue-format-C_lNzrKa.js";import"./channels-status-issues-8eFrGKyf.js";import"./completion-cli-C40TWdsv.js";import"./register.subclis-D-24j83X.js";import"./command-registry-CfuXCRwV.js";import"./program-context-CH9p6anW.js";import"./daemon-install-plan.shared-Dx3DBXCG.js";import"./runtime-guard-DX2Ie4ri.js";import"./gateway-install-token-BCnuZeh1.js";import"./systemd-DbevZh65.js";import{n as C}from"./service-DZ9EbS15.js";import"./systemd-hints-lXpMy-kY.js";import"./diagnostics-Cdctg9K_.js";import"./health-PaRHFItm.js";import"./control-ui-assets-CTHGGgaX.js";import"./channel-account-context-DAcarnqW.js";import"./update-runner-BvtyRBD2.js";import"./logging-tYw1NbJd.js";import"./oauth-tls-preflight-BSBRDIfC.js";import"./doctor-config-flow-D4F3mz4h.js";import{a as w,i as T,o as E,r as D,t as O}from"./cleanup-utils-BWm70DoD.js";import"./systemd-linger-cWKbFNpu.js";import"./health-format-B1nj3Wfn.js";import{n as k,t as A}from"./prompt-select-styled-BeJNbzSa.js";import"./doctor-completion-DMJhfrtC.js";import j from"node:path";import{cancel as M,confirm as N,isCancel as P,multiselect as F}from"@clack/prompts";async function I(e,t=process.env){let n=await s({config:e,env:t,value:e.gateway?.auth?.token,path:`gateway.auth.token`,readFallback:()=>l(t)});return{token:n.value,source:n.source===`config`?`config`:n.source===`secretRef`?`secretRef`:n.source===`fallback`?`env`:void 0,unresolvedRefReason:n.unresolvedRefReason,tokenSecretRefConfigured:n.secretRefConfigured}}async function L(e=t,n={}){let r=await c(),i=r.valid?r.config:{},a=o(i),s=i.gateway?.bind??`loopback`,l=i.gateway?.controlUi?.basePath,u=i.gateway?.customBindHost,d=await I(i,process.env),f=d.token??``,_=m({port:a,bind:s===`lan`?`loopback`:s,customBindHost:u,basePath:l}),v=f.length>0&&!d.tokenSecretRefConfigured,y=v?`${_.httpUrl}#token=${encodeURIComponent(f)}`:_.httpUrl;e.log(`Dashboard URL: ${y}`),d.tokenSecretRefConfigured&&f&&e.log(`Token auto-auth is disabled for SecretRef-managed gateway.auth.token; use your external token source if prompted.`),d.unresolvedRefReason&&(e.log(`Token auto-auth unavailable: ${d.unresolvedRefReason}`),e.log("Set OPENCLAW_GATEWAY_TOKEN in this shell or resolve your secret provider, then rerun `openclaw dashboard`."));let b=await S(y).catch(()=>!1);e.log(b?`Copied to clipboard.`:`Copy to clipboard unavailable.`);let x=!1,C;n.noOpen?C=`Browser launch disabled (--no-open). Use the URL above.`:((await h()).ok&&(x=await p(y)),x||(C=g({port:a,basePath:l,token:v&&f||void 0}))),x?e.log(`Opened in your browser. Keep that tab to control OpenClaw.`):C&&e.log(C)}function R(){let e=u(),t=n(),r=a(),o=i();return{cfg:e,stateDir:t,configPath:r,oauthDir:o,...O({cfg:e,stateDir:t,configPath:r,oauthDir:o})}}async function z(e){if(r)return;let t=C(),n=!1;try{n=await t.isLoaded({env:process.env})}catch(t){e.error(`Gateway service check failed: ${String(t)}`);return}if(n)try{await t.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}}function B(e){e.log(`Recommended first: ${d(`openclaw backup create`)}`)}async function V(e,t){let n=!t.nonInteractive;if(!n&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}let r=t.scope;if(!r){if(!n){e.error(`Non-interactive mode requires --scope.`),e.exit(1);return}let t=await A({message:`Reset scope`,options:[{value:`config`,label:`Config only`,hint:`openclaw.json`},{value:`config+creds+sessions`,label:`Config + credentials + sessions`,hint:`keeps workspace + auth profiles`},{value:`full`,label:`Full reset`,hint:`state dir + workspace`}],initialValue:`config+creds+sessions`});if(P(t)){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}r=t}if(![`config`,`config+creds+sessions`,`full`].includes(r)){e.error(`Invalid --scope. Expected "config", "config+creds+sessions", or "full".`),e.exit(1);return}if(n&&!t.yes){let t=await N({message:_(`Proceed with ${r} reset?`)});if(P(t)||!t){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}}let i=!!t.dryRun,{stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l,workspaceDirs:u}=R();if(r!==`config`&&(B(e),i?e.log(`[dry-run] stop gateway service`):await z(e)),r===`config`){await T(o,e,{dryRun:i,label:o});return}if(r===`config+creds+sessions`){await T(o,e,{dryRun:i,label:o}),await T(s,e,{dryRun:i,label:s});let t=await D(a);for(let n of t)await T(n,e,{dryRun:i,label:n});e.log(`Next: ${d(`openclaw onboard --install-daemon`)}`);return}if(r===`full`){await w({stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l},e,{dryRun:i}),await E(u,e,{dryRun:i}),e.log(`Next: ${d(`openclaw onboard --install-daemon`)}`);return}}const H=e=>F({...e,message:_(e.message),options:e.options.map(e=>e.hint===void 0?e:{...e,hint:y(e.hint)})});function U(e){let t=!!(e.all||e.service||e.state||e.workspace||e.app),n=new Set;return(e.all||e.service)&&n.add(`service`),(e.all||e.state)&&n.add(`state`),(e.all||e.workspace)&&n.add(`workspace`),(e.all||e.app)&&n.add(`app`),{scopes:n,hadExplicit:t}}async function W(e){if(r)return e.error(`Nix mode detected; service uninstall is disabled.`),!1;let t=C(),n=!1;try{n=await t.isLoaded({env:process.env})}catch(t){return e.error(`Gateway service check failed: ${String(t)}`),!1}if(!n)return e.log(`Gateway service ${t.notLoadedText}.`),!0;try{await t.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}try{return await t.uninstall({env:process.env,stdout:process.stdout}),!0}catch(t){return e.error(`Gateway uninstall failed: ${String(t)}`),!1}}async function G(e,t){process.platform===`darwin`&&await T(`/Applications/OpenClaw.app`,e,{dryRun:t,label:`/Applications/OpenClaw.app`})}function K(e){e.log(`Recommended first: ${d(`openclaw backup create`)}`)}async function q(e,t){let{scopes:n,hadExplicit:r}=U(t),i=!t.nonInteractive;if(!i&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}if(!r){if(!i){e.error(`Non-interactive mode requires explicit scopes (use --all).`),e.exit(1);return}let t=await H({message:`Uninstall which components?`,options:[{value:`service`,label:`Gateway service`,hint:`launchd / systemd / schtasks`},{value:`state`,label:`State + config`,hint:`~/.qbotclaw`},{value:`workspace`,label:`Workspace`,hint:`agent files`},{value:`app`,label:`macOS app`,hint:`/Applications/OpenClaw.app`}],initialValues:[`service`,`state`,`workspace`]});if(P(t)){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}for(let e of t)n.add(e)}if(n.size===0){e.log(`Nothing selected.`);return}if(i&&!t.yes){let t=await N({message:_(`Proceed with uninstall?`)});if(P(t)||!t){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}}let a=!!t.dryRun,{stateDir:o,configPath:s,oauthDir:c,configInsideState:l,oauthInsideState:u,workspaceDirs:d}=R();if((n.has(`state`)||n.has(`workspace`))&&K(e),n.has(`service`)&&(a?e.log(`[dry-run] remove gateway service`):await W(e)),n.has(`state`)&&await w({stateDir:o,configPath:s,oauthDir:c,configInsideState:l,oauthInsideState:u},e,{dryRun:a}),n.has(`workspace`)&&await E(d,e,{dryRun:a}),n.has(`app`)&&await G(e,a),e.log(`CLI still installed. Remove via npm/pnpm if desired.`),n.has(`state`)&&!n.has(`workspace`)){let t=f();t&&d.some(e=>e.startsWith(j.resolve(t)))&&e.log(`Tip: workspaces were preserved. Re-run with --workspace to remove them.`)}}function J(n){n.command(`doctor`).description(`Health checks + quick fixes for the gateway and channels`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/doctor`,`docs.openclaw.ai/cli/doctor`)}\n`).option(`--no-workspace-suggestions`,`Disable workspace memory system suggestions`,!1).option(`--yes`,`Accept defaults without prompting`,!1).option(`--repair`,`Apply recommended repairs without prompting`,!1).option(`--fix`,`Apply recommended repairs (alias for --repair)`,!1).option(`--force`,`Apply aggressive repairs (overwrites custom service config)`,!1).option(`--non-interactive`,`Run without prompts (safe migrations only)`,!1).option(`--generate-gateway-token`,`Generate and configure a gateway token`,!1).option(`--deep`,`Scan system services for extra gateway installs`,!1).action(async e=>{await x(t,async()=>{await k(t,{workspaceSuggestions:e.workspaceSuggestions,yes:!!e.yes,repair:!!e.repair||!!e.fix,force:!!e.force,nonInteractive:!!e.nonInteractive,generateGatewayToken:!!e.generateGatewayToken,deep:!!e.deep}),t.exit(0)})}),n.command(`dashboard`).description(`Open the Control UI with your current token`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/dashboard`,`docs.openclaw.ai/cli/dashboard`)}\n`).option(`--no-open`,`Print URL but do not launch a browser`).action(async e=>{await x(t,async()=>{await L(t,{noOpen:e.open===!1})})}),n.command(`reset`).description(`Reset local config/state (keeps the CLI installed)`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/reset`,`docs.openclaw.ai/cli/reset`)}\n`).option(`--scope <scope>`,`config|config+creds+sessions|full (default: interactive prompt)`).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --scope + --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(t,async()=>{await V(t,{scope:e.scope,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})}),n.command(`uninstall`).description(`Uninstall the gateway service + local data (CLI remains)`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/uninstall`,`docs.openclaw.ai/cli/uninstall`)}\n`).option(`--service`,`Remove the gateway service`,!1).option(`--state`,`Remove state + config`,!1).option(`--workspace`,`Remove workspace dirs`,!1).option(`--app`,`Remove the macOS app`,!1).option(`--all`,`Remove service + state + workspace + app`,!1).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(t,async()=>{await q(t,{service:!!e.service,state:!!e.state,workspace:!!e.workspace,app:!!e.app,all:!!e.all,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})})}export{J as registerMaintenanceCommands};
|
|
2
|
-
//# sourceMappingURL=register.maintenance-
|
|
1
|
+
import{A as e,p as t}from"./subsystem-BLbY429l.js";import{g as n,i as r,m as i,o as a,u as o}from"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Ai as s,Fo as c,Ki as l,jo as u}from"./auth-profiles-T8DuH3ax.js";import{t as d}from"./command-format-CLxIPuLR.js";import"./agent-scope-DAWJwFfl.js";import{g as f}from"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-CW81y5Wz.js";import"./send-DavpkzhH.js";import"./compact-BEeB6bwq.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-_htt7eY5.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import"./deliver-BHuhHfkH.js";import"./diagnostic-DQq4Bwrs.js";import"./send-DkiKKUkt.js";import"./pi-model-discovery-CpjYoBQf.js";import"./exec-approvals-allowlist-D8mN7nxV.js";import"./exec-safe-bin-runtime-policy-dcCS_Adf.js";import"./model-catalog-COVzoZD9.js";import"./fetch-CQaNr5J1.js";import"./audio-transcription-runner-Bd1OZC6K.js";import"./fetch-guard-BrTtJw7h.js";import"./image-BkWwI54C.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-D0QU-kQ9.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-D8Hh84ab.js";import"./render-DrrPmnMI.js";import"./target-errors-CgWAJOam.js";import"./commands-Dy7duWlt.js";import"./commands-registry-Cpl4QnG4.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-8acNlxwP.js";import"./sqlite-CILF3z9U.js";import"./call-B8Fb4_oh.js";import"./pi-tools.policy-D40r0HmD.js";import"./pairing-store-BH-FTYkn.js";import"./fetch-Dh-apy46.js";import"./skill-commands-CSF6wVPU.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-DAR7V7FJ.js";import"./channel-activity-BBrgoad1.js";import"./tables-Brc2lNcB.js";import"./kill-tree-B3g7HrAO.js";import"./runtime-web-tools-D8fms06-.js";import"./runtime-Dlg2-Omq.js";import"./node-shell-DyOfwHrh.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BBeE1TmB.js";import"./plugin-auto-enable-NzmNh4oU.js";import"./send-CVplsJpw.js";import"./outbound-attachment-BgAe99RM.js";import"./delivery-queue-nkPJu0fY.js";import"./send-C48Y9SAq.js";import"./system-run-command-BKfMiqQM.js";import"./fetch-Ce-scEU-.js";import"./command-secret-targets-BlN-J_fA.js";import"./connection-auth-B_Uk6Vk8.js";import{f as p,g as m,i as h,o as g}from"./onboard-helpers-PGl5bVPE.js";import{n as _,r as v,t as y}from"./prompt-style-BThRSQJR.js";import"./pairing-labels-D-kzQEL2.js";import"./search-manager-Bp9x20r6.js";import"./manager-C2YW7Hkq.js";import"./memory-cli-XaxtBQm1.js";import{t as b}from"./links-CBnmRP9D.js";import{n as x}from"./cli-utils-BleB1eys.js";import"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import"./skills-status-DswSl5aD.js";import{t as S}from"./clipboard-Bk8cviBt.js";import"./note-Dp-d_utk.js";import"./issue-format-C_lNzrKa.js";import"./channels-status-issues-8eFrGKyf.js";import"./completion-cli-W1_FoDFF.js";import"./register.subclis-B_0ZS-_K.js";import"./command-registry-CSBvrqwW.js";import"./program-context-CH9p6anW.js";import"./daemon-install-plan.shared-Dx3DBXCG.js";import"./runtime-guard-DX2Ie4ri.js";import"./gateway-install-token-BCnuZeh1.js";import"./systemd-DbevZh65.js";import{n as C}from"./service-DZ9EbS15.js";import"./systemd-hints-lXpMy-kY.js";import"./diagnostics-Cdctg9K_.js";import"./health-DBu0V1Y-.js";import"./control-ui-assets-CTHGGgaX.js";import"./channel-account-context-DAcarnqW.js";import"./update-runner-CvWH2ZAc.js";import"./logging-tYw1NbJd.js";import"./oauth-tls-preflight-BSBRDIfC.js";import"./doctor-config-flow-D4F3mz4h.js";import{a as w,i as T,o as E,r as D,t as O}from"./cleanup-utils-BWm70DoD.js";import"./systemd-linger-cWKbFNpu.js";import"./health-format-B1nj3Wfn.js";import{n as k,t as A}from"./prompt-select-styled-Z30OVmpM.js";import"./doctor-completion-DpCWb88H.js";import j from"node:path";import{cancel as M,confirm as N,isCancel as P,multiselect as F}from"@clack/prompts";async function I(e,t=process.env){let n=await s({config:e,env:t,value:e.gateway?.auth?.token,path:`gateway.auth.token`,readFallback:()=>l(t)});return{token:n.value,source:n.source===`config`?`config`:n.source===`secretRef`?`secretRef`:n.source===`fallback`?`env`:void 0,unresolvedRefReason:n.unresolvedRefReason,tokenSecretRefConfigured:n.secretRefConfigured}}async function L(e=t,n={}){let r=await c(),i=r.valid?r.config:{},a=o(i),s=i.gateway?.bind??`loopback`,l=i.gateway?.controlUi?.basePath,u=i.gateway?.customBindHost,d=await I(i,process.env),f=d.token??``,_=m({port:a,bind:s===`lan`?`loopback`:s,customBindHost:u,basePath:l}),v=f.length>0&&!d.tokenSecretRefConfigured,y=v?`${_.httpUrl}#token=${encodeURIComponent(f)}`:_.httpUrl;e.log(`Dashboard URL: ${y}`),d.tokenSecretRefConfigured&&f&&e.log(`Token auto-auth is disabled for SecretRef-managed gateway.auth.token; use your external token source if prompted.`),d.unresolvedRefReason&&(e.log(`Token auto-auth unavailable: ${d.unresolvedRefReason}`),e.log("Set OPENCLAW_GATEWAY_TOKEN in this shell or resolve your secret provider, then rerun `openclaw dashboard`."));let b=await S(y).catch(()=>!1);e.log(b?`Copied to clipboard.`:`Copy to clipboard unavailable.`);let x=!1,C;n.noOpen?C=`Browser launch disabled (--no-open). Use the URL above.`:((await h()).ok&&(x=await p(y)),x||(C=g({port:a,basePath:l,token:v&&f||void 0}))),x?e.log(`Opened in your browser. Keep that tab to control OpenClaw.`):C&&e.log(C)}function R(){let e=u(),t=n(),r=a(),o=i();return{cfg:e,stateDir:t,configPath:r,oauthDir:o,...O({cfg:e,stateDir:t,configPath:r,oauthDir:o})}}async function z(e){if(r)return;let t=C(),n=!1;try{n=await t.isLoaded({env:process.env})}catch(t){e.error(`Gateway service check failed: ${String(t)}`);return}if(n)try{await t.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}}function B(e){e.log(`Recommended first: ${d(`openclaw backup create`)}`)}async function V(e,t){let n=!t.nonInteractive;if(!n&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}let r=t.scope;if(!r){if(!n){e.error(`Non-interactive mode requires --scope.`),e.exit(1);return}let t=await A({message:`Reset scope`,options:[{value:`config`,label:`Config only`,hint:`openclaw.json`},{value:`config+creds+sessions`,label:`Config + credentials + sessions`,hint:`keeps workspace + auth profiles`},{value:`full`,label:`Full reset`,hint:`state dir + workspace`}],initialValue:`config+creds+sessions`});if(P(t)){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}r=t}if(![`config`,`config+creds+sessions`,`full`].includes(r)){e.error(`Invalid --scope. Expected "config", "config+creds+sessions", or "full".`),e.exit(1);return}if(n&&!t.yes){let t=await N({message:_(`Proceed with ${r} reset?`)});if(P(t)||!t){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}}let i=!!t.dryRun,{stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l,workspaceDirs:u}=R();if(r!==`config`&&(B(e),i?e.log(`[dry-run] stop gateway service`):await z(e)),r===`config`){await T(o,e,{dryRun:i,label:o});return}if(r===`config+creds+sessions`){await T(o,e,{dryRun:i,label:o}),await T(s,e,{dryRun:i,label:s});let t=await D(a);for(let n of t)await T(n,e,{dryRun:i,label:n});e.log(`Next: ${d(`openclaw onboard --install-daemon`)}`);return}if(r===`full`){await w({stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l},e,{dryRun:i}),await E(u,e,{dryRun:i}),e.log(`Next: ${d(`openclaw onboard --install-daemon`)}`);return}}const H=e=>F({...e,message:_(e.message),options:e.options.map(e=>e.hint===void 0?e:{...e,hint:y(e.hint)})});function U(e){let t=!!(e.all||e.service||e.state||e.workspace||e.app),n=new Set;return(e.all||e.service)&&n.add(`service`),(e.all||e.state)&&n.add(`state`),(e.all||e.workspace)&&n.add(`workspace`),(e.all||e.app)&&n.add(`app`),{scopes:n,hadExplicit:t}}async function W(e){if(r)return e.error(`Nix mode detected; service uninstall is disabled.`),!1;let t=C(),n=!1;try{n=await t.isLoaded({env:process.env})}catch(t){return e.error(`Gateway service check failed: ${String(t)}`),!1}if(!n)return e.log(`Gateway service ${t.notLoadedText}.`),!0;try{await t.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}try{return await t.uninstall({env:process.env,stdout:process.stdout}),!0}catch(t){return e.error(`Gateway uninstall failed: ${String(t)}`),!1}}async function G(e,t){process.platform===`darwin`&&await T(`/Applications/OpenClaw.app`,e,{dryRun:t,label:`/Applications/OpenClaw.app`})}function K(e){e.log(`Recommended first: ${d(`openclaw backup create`)}`)}async function q(e,t){let{scopes:n,hadExplicit:r}=U(t),i=!t.nonInteractive;if(!i&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}if(!r){if(!i){e.error(`Non-interactive mode requires explicit scopes (use --all).`),e.exit(1);return}let t=await H({message:`Uninstall which components?`,options:[{value:`service`,label:`Gateway service`,hint:`launchd / systemd / schtasks`},{value:`state`,label:`State + config`,hint:`~/.qbotclaw`},{value:`workspace`,label:`Workspace`,hint:`agent files`},{value:`app`,label:`macOS app`,hint:`/Applications/OpenClaw.app`}],initialValues:[`service`,`state`,`workspace`]});if(P(t)){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}for(let e of t)n.add(e)}if(n.size===0){e.log(`Nothing selected.`);return}if(i&&!t.yes){let t=await N({message:_(`Proceed with uninstall?`)});if(P(t)||!t){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}}let a=!!t.dryRun,{stateDir:o,configPath:s,oauthDir:c,configInsideState:l,oauthInsideState:u,workspaceDirs:d}=R();if((n.has(`state`)||n.has(`workspace`))&&K(e),n.has(`service`)&&(a?e.log(`[dry-run] remove gateway service`):await W(e)),n.has(`state`)&&await w({stateDir:o,configPath:s,oauthDir:c,configInsideState:l,oauthInsideState:u},e,{dryRun:a}),n.has(`workspace`)&&await E(d,e,{dryRun:a}),n.has(`app`)&&await G(e,a),e.log(`CLI still installed. Remove via npm/pnpm if desired.`),n.has(`state`)&&!n.has(`workspace`)){let t=f();t&&d.some(e=>e.startsWith(j.resolve(t)))&&e.log(`Tip: workspaces were preserved. Re-run with --workspace to remove them.`)}}function J(n){n.command(`doctor`).description(`Health checks + quick fixes for the gateway and channels`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/doctor`,`docs.openclaw.ai/cli/doctor`)}\n`).option(`--no-workspace-suggestions`,`Disable workspace memory system suggestions`,!1).option(`--yes`,`Accept defaults without prompting`,!1).option(`--repair`,`Apply recommended repairs without prompting`,!1).option(`--fix`,`Apply recommended repairs (alias for --repair)`,!1).option(`--force`,`Apply aggressive repairs (overwrites custom service config)`,!1).option(`--non-interactive`,`Run without prompts (safe migrations only)`,!1).option(`--generate-gateway-token`,`Generate and configure a gateway token`,!1).option(`--deep`,`Scan system services for extra gateway installs`,!1).action(async e=>{await x(t,async()=>{await k(t,{workspaceSuggestions:e.workspaceSuggestions,yes:!!e.yes,repair:!!e.repair||!!e.fix,force:!!e.force,nonInteractive:!!e.nonInteractive,generateGatewayToken:!!e.generateGatewayToken,deep:!!e.deep}),t.exit(0)})}),n.command(`dashboard`).description(`Open the Control UI with your current token`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/dashboard`,`docs.openclaw.ai/cli/dashboard`)}\n`).option(`--no-open`,`Print URL but do not launch a browser`).action(async e=>{await x(t,async()=>{await L(t,{noOpen:e.open===!1})})}),n.command(`reset`).description(`Reset local config/state (keeps the CLI installed)`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/reset`,`docs.openclaw.ai/cli/reset`)}\n`).option(`--scope <scope>`,`config|config+creds+sessions|full (default: interactive prompt)`).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --scope + --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(t,async()=>{await V(t,{scope:e.scope,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})}),n.command(`uninstall`).description(`Uninstall the gateway service + local data (CLI remains)`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${b(`/cli/uninstall`,`docs.openclaw.ai/cli/uninstall`)}\n`).option(`--service`,`Remove the gateway service`,!1).option(`--state`,`Remove state + config`,!1).option(`--workspace`,`Remove workspace dirs`,!1).option(`--app`,`Remove the macOS app`,!1).option(`--all`,`Remove service + state + workspace + app`,!1).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(t,async()=>{await q(t,{service:!!e.service,state:!!e.state,workspace:!!e.workspace,app:!!e.app,all:!!e.all,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})})}export{J as registerMaintenanceCommands};
|
|
2
|
+
//# sourceMappingURL=register.maintenance-COWBeetm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{g as e,i as t,m as n,o as r,u as i}from"./paths-B4IRk3wi.js";import{A as a,p as o}from"./subsystem-C5XF2Fy5.js";import{_ as s}from"./utils-UGOV_184.js";import{Ga as c,Zs as l,qs as u,so as d}from"./model-selection-BlC_rXAN.js";import"./reply-l-Y47HP4.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{t as f}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-Cgd_VJHR.js";import"./send-hZFDcGLM.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-D4Bp6MM7.js";import"./image-DsoO5VP5.js";import"./models-config-CdMhNxKV.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-DPdY0NXR.js";import"./api-key-rotation-BRt-vnRV.js";import"./local-roots-6waH0SZ0.js";import"./model-catalog-C1kpjR75.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import"./deliver-ClBkV2eD.js";import"./commands-CGpM84iR.js";import"./commands-registry-B1x54ukc.js";import"./pairing-store-Cg2UxreQ.js";import"./fetch-Dikjvc5M.js";import"./call-CqoMqP5b.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-DOzHPnht.js";import"./send-B7sHR38c2.js";import"./pi-model-discovery-Dps1PPWz.js";import"./exec-approvals-allowlist-CE3nYh0K.js";import"./exec-safe-bin-runtime-policy-Dt0GchLp.js";import"./ir-Dk7OQ4bA.js";import"./render-D8OWO2hT.js";import"./target-errors-a35Md15n.js";import"./read-only-account-inspect-DBwAwB3_.js";import"./channel-selection-CbNtbAEf.js";import"./plugin-auto-enable-DpVL6-ES.js";import"./send-C-AP01PR.js";import"./outbound-attachment-B7wMxwj6.js";import"./delivery-queue-CKbauSFq.js";import"./send-DbeEC2a3.js";import"./channel-activity-YjYNzCpJ.js";import"./tables-Oieq7UbT.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-HJHHZqt6.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-BjYBuREl.js";import"./restart-CHXEHdSC.js";import"./runtime-web-tools-bz76ZaRc.js";import"./command-secret-targets-BVN3kiT9.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-C8iru0UB.js";import{f as p,g as m,i as h,o as g}from"./onboard-helpers-zwybUJWu.js";import{n as _,r as v,t as y}from"./prompt-style-CXKekIBY.js";import"./pairing-labels-BUU_-70B.js";import"./memory-cli-jhzJ3as7.js";import"./query-expansion-0OxEb1Io.js";import"./manager-M1GKhLUC.js";import{t as b}from"./links-CySwdMcF.js";import{n as x}from"./cli-utils-BY7dLMFy.js";import"./help-format-BRbF_INg.js";import"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-DECgxo6A.js";import"./system-run-command-DEWnZE0r.js";import"./runtime-BC5Ep2pJ.js";import"./stagger-DmFYysrJ.js";import"./runtime-guard-DFYBaYZS.js";import"./program-context-B9ydtPje.js";import"./skills-status-BWIugRCz.js";import{t as S}from"./clipboard-CKT_VIkG.js";import"./note-D4GAwgha.js";import"./issue-format-BT7cQEt3.js";import"./channels-status-issues-PRgOT90w.js";import"./completion-cli-BZi4nuQb.js";import"./daemon-install-plan.shared-CfA37Ut_.js";import"./gateway-install-token-DiDvDPJQ.js";import"./systemd-D7odsu4K.js";import{n as C}from"./service-BtB9epJk.js";import"./systemd-hints-C0DKDl35.js";import"./diagnostics-BgbeL9KE.js";import"./health-BgOggK9k.js";import"./control-ui-assets-BIa0GGDg.js";import"./channel-account-context-BMPAMZEv.js";import"./update-runner-DYamgo1V.js";import"./logging-Dqe9dxSX.js";import"./oauth-tls-preflight-ByNjbUR5.js";import"./doctor-config-flow-DnOyVZhQ.js";import{a as w,i as T,o as E,r as D,t as O}from"./cleanup-utils-D-RhEX6F.js";import"./systemd-linger-C2MJD6KG.js";import"./health-format-VBr6LEpt.js";import{n as k,t as A}from"./prompt-select-styled-DIOWLjl0.js";import"./doctor-completion-BJ6steqx.js";import j from"node:path";import{cancel as M,confirm as N,isCancel as P,multiselect as F}from"@clack/prompts";async function I(e,t=process.env){let n=await c({config:e,env:t,value:e.gateway?.auth?.token,path:`gateway.auth.token`,readFallback:()=>d(t)});return{token:n.value,source:n.source===`config`?`config`:n.source===`secretRef`?`secretRef`:n.source===`fallback`?`env`:void 0,unresolvedRefReason:n.unresolvedRefReason,tokenSecretRefConfigured:n.secretRefConfigured}}async function L(e=o,t={}){let n=await l(),r=n.valid?n.config:{},a=i(r),s=r.gateway?.bind??`loopback`,c=r.gateway?.controlUi?.basePath,u=r.gateway?.customBindHost,d=await I(r,process.env),f=d.token??``,_=m({port:a,bind:s===`lan`?`loopback`:s,customBindHost:u,basePath:c}),v=f.length>0&&!d.tokenSecretRefConfigured,y=v?`${_.httpUrl}#token=${encodeURIComponent(f)}`:_.httpUrl;e.log(`Dashboard URL: ${y}`),d.tokenSecretRefConfigured&&f&&e.log(`Token auto-auth is disabled for SecretRef-managed gateway.auth.token; use your external token source if prompted.`),d.unresolvedRefReason&&(e.log(`Token auto-auth unavailable: ${d.unresolvedRefReason}`),e.log("Set OPENCLAW_GATEWAY_TOKEN in this shell or resolve your secret provider, then rerun `openclaw dashboard`."));let b=await S(y).catch(()=>!1);e.log(b?`Copied to clipboard.`:`Copy to clipboard unavailable.`);let x=!1,C;t.noOpen?C=`Browser launch disabled (--no-open). Use the URL above.`:((await h()).ok&&(x=await p(y)),x||(C=g({port:a,basePath:c,token:v&&f||void 0}))),x?e.log(`Opened in your browser. Keep that tab to control OpenClaw.`):C&&e.log(C)}function R(){let t=u(),i=e(),a=r(),o=n();return{cfg:t,stateDir:i,configPath:a,oauthDir:o,...O({cfg:t,stateDir:i,configPath:a,oauthDir:o})}}async function z(e){if(t)return;let n=C(),r=!1;try{r=await n.isLoaded({env:process.env})}catch(t){e.error(`Gateway service check failed: ${String(t)}`);return}if(r)try{await n.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}}function B(e){e.log(`Recommended first: ${f(`openclaw backup create`)}`)}async function V(e,t){let n=!t.nonInteractive;if(!n&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}let r=t.scope;if(!r){if(!n){e.error(`Non-interactive mode requires --scope.`),e.exit(1);return}let t=await A({message:`Reset scope`,options:[{value:`config`,label:`Config only`,hint:`openclaw.json`},{value:`config+creds+sessions`,label:`Config + credentials + sessions`,hint:`keeps workspace + auth profiles`},{value:`full`,label:`Full reset`,hint:`state dir + workspace`}],initialValue:`config+creds+sessions`});if(P(t)){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}r=t}if(![`config`,`config+creds+sessions`,`full`].includes(r)){e.error(`Invalid --scope. Expected "config", "config+creds+sessions", or "full".`),e.exit(1);return}if(n&&!t.yes){let t=await N({message:_(`Proceed with ${r} reset?`)});if(P(t)||!t){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}}let i=!!t.dryRun,{stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l,workspaceDirs:u}=R();if(r!==`config`&&(B(e),i?e.log(`[dry-run] stop gateway service`):await z(e)),r===`config`){await T(o,e,{dryRun:i,label:o});return}if(r===`config+creds+sessions`){await T(o,e,{dryRun:i,label:o}),await T(s,e,{dryRun:i,label:s});let t=await D(a);for(let n of t)await T(n,e,{dryRun:i,label:n});e.log(`Next: ${f(`openclaw onboard --install-daemon`)}`);return}if(r===`full`){await w({stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l},e,{dryRun:i}),await E(u,e,{dryRun:i}),e.log(`Next: ${f(`openclaw onboard --install-daemon`)}`);return}}const H=e=>F({...e,message:_(e.message),options:e.options.map(e=>e.hint===void 0?e:{...e,hint:y(e.hint)})});function U(e){let t=!!(e.all||e.service||e.state||e.workspace||e.app),n=new Set;return(e.all||e.service)&&n.add(`service`),(e.all||e.state)&&n.add(`state`),(e.all||e.workspace)&&n.add(`workspace`),(e.all||e.app)&&n.add(`app`),{scopes:n,hadExplicit:t}}async function W(e){if(t)return e.error(`Nix mode detected; service uninstall is disabled.`),!1;let n=C(),r=!1;try{r=await n.isLoaded({env:process.env})}catch(t){return e.error(`Gateway service check failed: ${String(t)}`),!1}if(!r)return e.log(`Gateway service ${n.notLoadedText}.`),!0;try{await n.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}try{return await n.uninstall({env:process.env,stdout:process.stdout}),!0}catch(t){return e.error(`Gateway uninstall failed: ${String(t)}`),!1}}async function G(e,t){process.platform===`darwin`&&await T(`/Applications/OpenClaw.app`,e,{dryRun:t,label:`/Applications/OpenClaw.app`})}function K(e){e.log(`Recommended first: ${f(`openclaw backup create`)}`)}async function q(e,t){let{scopes:n,hadExplicit:r}=U(t),i=!t.nonInteractive;if(!i&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}if(!r){if(!i){e.error(`Non-interactive mode requires explicit scopes (use --all).`),e.exit(1);return}let t=await H({message:`Uninstall which components?`,options:[{value:`service`,label:`Gateway service`,hint:`launchd / systemd / schtasks`},{value:`state`,label:`State + config`,hint:`~/.qbotclaw`},{value:`workspace`,label:`Workspace`,hint:`agent files`},{value:`app`,label:`macOS app`,hint:`/Applications/OpenClaw.app`}],initialValues:[`service`,`state`,`workspace`]});if(P(t)){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}for(let e of t)n.add(e)}if(n.size===0){e.log(`Nothing selected.`);return}if(i&&!t.yes){let t=await N({message:_(`Proceed with uninstall?`)});if(P(t)||!t){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}}let a=!!t.dryRun,{stateDir:o,configPath:c,oauthDir:l,configInsideState:u,oauthInsideState:d,workspaceDirs:f}=R();if((n.has(`state`)||n.has(`workspace`))&&K(e),n.has(`service`)&&(a?e.log(`[dry-run] remove gateway service`):await W(e)),n.has(`state`)&&await w({stateDir:o,configPath:c,oauthDir:l,configInsideState:u,oauthInsideState:d},e,{dryRun:a}),n.has(`workspace`)&&await E(f,e,{dryRun:a}),n.has(`app`)&&await G(e,a),e.log(`CLI still installed. Remove via npm/pnpm if desired.`),n.has(`state`)&&!n.has(`workspace`)){let t=s();t&&f.some(e=>e.startsWith(j.resolve(t)))&&e.log(`Tip: workspaces were preserved. Re-run with --workspace to remove them.`)}}function J(e){e.command(`doctor`).description(`Health checks + quick fixes for the gateway and channels`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/doctor`,`docs.openclaw.ai/cli/doctor`)}\n`).option(`--no-workspace-suggestions`,`Disable workspace memory system suggestions`,!1).option(`--yes`,`Accept defaults without prompting`,!1).option(`--repair`,`Apply recommended repairs without prompting`,!1).option(`--fix`,`Apply recommended repairs (alias for --repair)`,!1).option(`--force`,`Apply aggressive repairs (overwrites custom service config)`,!1).option(`--non-interactive`,`Run without prompts (safe migrations only)`,!1).option(`--generate-gateway-token`,`Generate and configure a gateway token`,!1).option(`--deep`,`Scan system services for extra gateway installs`,!1).action(async e=>{await x(o,async()=>{await k(o,{workspaceSuggestions:e.workspaceSuggestions,yes:!!e.yes,repair:!!e.repair||!!e.fix,force:!!e.force,nonInteractive:!!e.nonInteractive,generateGatewayToken:!!e.generateGatewayToken,deep:!!e.deep}),o.exit(0)})}),e.command(`dashboard`).description(`Open the Control UI with your current token`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/dashboard`,`docs.openclaw.ai/cli/dashboard`)}\n`).option(`--no-open`,`Print URL but do not launch a browser`).action(async e=>{await x(o,async()=>{await L(o,{noOpen:e.open===!1})})}),e.command(`reset`).description(`Reset local config/state (keeps the CLI installed)`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/reset`,`docs.openclaw.ai/cli/reset`)}\n`).option(`--scope <scope>`,`config|config+creds+sessions|full (default: interactive prompt)`).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --scope + --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(o,async()=>{await V(o,{scope:e.scope,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})}),e.command(`uninstall`).description(`Uninstall the gateway service + local data (CLI remains)`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/uninstall`,`docs.openclaw.ai/cli/uninstall`)}\n`).option(`--service`,`Remove the gateway service`,!1).option(`--state`,`Remove state + config`,!1).option(`--workspace`,`Remove workspace dirs`,!1).option(`--app`,`Remove the macOS app`,!1).option(`--all`,`Remove service + state + workspace + app`,!1).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(o,async()=>{await q(o,{service:!!e.service,state:!!e.state,workspace:!!e.workspace,app:!!e.app,all:!!e.all,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})})}export{J as registerMaintenanceCommands};
|
|
2
|
-
//# sourceMappingURL=register.maintenance-
|
|
1
|
+
import{g as e,i as t,m as n,o as r,u as i}from"./paths-B4IRk3wi.js";import{A as a,p as o}from"./subsystem-C5XF2Fy5.js";import{_ as s}from"./utils-UGOV_184.js";import{Ga as c,Zs as l,qs as u,so as d}from"./model-selection-BlC_rXAN.js";import"./reply-CjyZeZ-j.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{t as f}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-Cgd_VJHR.js";import"./send-hZFDcGLM.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-D4Bp6MM7.js";import"./image-DsoO5VP5.js";import"./models-config-CdMhNxKV.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-DPdY0NXR.js";import"./api-key-rotation-BRt-vnRV.js";import"./local-roots-6waH0SZ0.js";import"./model-catalog-C1kpjR75.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import"./deliver-ClBkV2eD.js";import"./commands-CGpM84iR.js";import"./commands-registry-B1x54ukc.js";import"./pairing-store-Cg2UxreQ.js";import"./fetch-Dikjvc5M.js";import"./call-CqoMqP5b.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-DOzHPnht.js";import"./send-B7sHR38c2.js";import"./pi-model-discovery-Dps1PPWz.js";import"./exec-approvals-allowlist-CE3nYh0K.js";import"./exec-safe-bin-runtime-policy-Dt0GchLp.js";import"./ir-Dk7OQ4bA.js";import"./render-D8OWO2hT.js";import"./target-errors-a35Md15n.js";import"./read-only-account-inspect-DBwAwB3_.js";import"./channel-selection-CbNtbAEf.js";import"./plugin-auto-enable-DpVL6-ES.js";import"./send-C-AP01PR.js";import"./outbound-attachment-B7wMxwj6.js";import"./delivery-queue-CKbauSFq.js";import"./send-DbeEC2a3.js";import"./channel-activity-YjYNzCpJ.js";import"./tables-Oieq7UbT.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-HJHHZqt6.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-BjYBuREl.js";import"./restart-CHXEHdSC.js";import"./runtime-web-tools-bz76ZaRc.js";import"./command-secret-targets-BVN3kiT9.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-C8iru0UB.js";import{f as p,g as m,i as h,o as g}from"./onboard-helpers-zwybUJWu.js";import{n as _,r as v,t as y}from"./prompt-style-CXKekIBY.js";import"./pairing-labels-BUU_-70B.js";import"./memory-cli-jhzJ3as7.js";import"./query-expansion-0OxEb1Io.js";import"./manager-M1GKhLUC.js";import{t as b}from"./links-CySwdMcF.js";import{n as x}from"./cli-utils-BY7dLMFy.js";import"./help-format-BRbF_INg.js";import"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-DECgxo6A.js";import"./system-run-command-DEWnZE0r.js";import"./runtime-BC5Ep2pJ.js";import"./stagger-DmFYysrJ.js";import"./runtime-guard-DFYBaYZS.js";import"./program-context-lyPXjPfN.js";import"./skills-status-BWIugRCz.js";import{t as S}from"./clipboard-CKT_VIkG.js";import"./note-D4GAwgha.js";import"./issue-format-BT7cQEt3.js";import"./channels-status-issues-PRgOT90w.js";import"./completion-cli-Bizog38J.js";import"./daemon-install-plan.shared-CfA37Ut_.js";import"./gateway-install-token-DiDvDPJQ.js";import"./systemd-D7odsu4K.js";import{n as C}from"./service-BtB9epJk.js";import"./systemd-hints-C0DKDl35.js";import"./diagnostics-BgbeL9KE.js";import"./health-RQzDNQwf.js";import"./control-ui-assets-BIa0GGDg.js";import"./channel-account-context-BMPAMZEv.js";import"./update-runner-mMbwEOlU.js";import"./logging-Dqe9dxSX.js";import"./oauth-tls-preflight-ByNjbUR5.js";import"./doctor-config-flow-DnOyVZhQ.js";import{a as w,i as T,o as E,r as D,t as O}from"./cleanup-utils-D-RhEX6F.js";import"./systemd-linger-C2MJD6KG.js";import"./health-format-VBr6LEpt.js";import{n as k,t as A}from"./prompt-select-styled-DmTwJKOO.js";import"./doctor-completion-Da0cocZX.js";import j from"node:path";import{cancel as M,confirm as N,isCancel as P,multiselect as F}from"@clack/prompts";async function I(e,t=process.env){let n=await c({config:e,env:t,value:e.gateway?.auth?.token,path:`gateway.auth.token`,readFallback:()=>d(t)});return{token:n.value,source:n.source===`config`?`config`:n.source===`secretRef`?`secretRef`:n.source===`fallback`?`env`:void 0,unresolvedRefReason:n.unresolvedRefReason,tokenSecretRefConfigured:n.secretRefConfigured}}async function L(e=o,t={}){let n=await l(),r=n.valid?n.config:{},a=i(r),s=r.gateway?.bind??`loopback`,c=r.gateway?.controlUi?.basePath,u=r.gateway?.customBindHost,d=await I(r,process.env),f=d.token??``,_=m({port:a,bind:s===`lan`?`loopback`:s,customBindHost:u,basePath:c}),v=f.length>0&&!d.tokenSecretRefConfigured,y=v?`${_.httpUrl}#token=${encodeURIComponent(f)}`:_.httpUrl;e.log(`Dashboard URL: ${y}`),d.tokenSecretRefConfigured&&f&&e.log(`Token auto-auth is disabled for SecretRef-managed gateway.auth.token; use your external token source if prompted.`),d.unresolvedRefReason&&(e.log(`Token auto-auth unavailable: ${d.unresolvedRefReason}`),e.log("Set OPENCLAW_GATEWAY_TOKEN in this shell or resolve your secret provider, then rerun `openclaw dashboard`."));let b=await S(y).catch(()=>!1);e.log(b?`Copied to clipboard.`:`Copy to clipboard unavailable.`);let x=!1,C;t.noOpen?C=`Browser launch disabled (--no-open). Use the URL above.`:((await h()).ok&&(x=await p(y)),x||(C=g({port:a,basePath:c,token:v&&f||void 0}))),x?e.log(`Opened in your browser. Keep that tab to control OpenClaw.`):C&&e.log(C)}function R(){let t=u(),i=e(),a=r(),o=n();return{cfg:t,stateDir:i,configPath:a,oauthDir:o,...O({cfg:t,stateDir:i,configPath:a,oauthDir:o})}}async function z(e){if(t)return;let n=C(),r=!1;try{r=await n.isLoaded({env:process.env})}catch(t){e.error(`Gateway service check failed: ${String(t)}`);return}if(r)try{await n.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}}function B(e){e.log(`Recommended first: ${f(`openclaw backup create`)}`)}async function V(e,t){let n=!t.nonInteractive;if(!n&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}let r=t.scope;if(!r){if(!n){e.error(`Non-interactive mode requires --scope.`),e.exit(1);return}let t=await A({message:`Reset scope`,options:[{value:`config`,label:`Config only`,hint:`openclaw.json`},{value:`config+creds+sessions`,label:`Config + credentials + sessions`,hint:`keeps workspace + auth profiles`},{value:`full`,label:`Full reset`,hint:`state dir + workspace`}],initialValue:`config+creds+sessions`});if(P(t)){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}r=t}if(![`config`,`config+creds+sessions`,`full`].includes(r)){e.error(`Invalid --scope. Expected "config", "config+creds+sessions", or "full".`),e.exit(1);return}if(n&&!t.yes){let t=await N({message:_(`Proceed with ${r} reset?`)});if(P(t)||!t){M(v(`Reset cancelled.`)??`Reset cancelled.`),e.exit(0);return}}let i=!!t.dryRun,{stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l,workspaceDirs:u}=R();if(r!==`config`&&(B(e),i?e.log(`[dry-run] stop gateway service`):await z(e)),r===`config`){await T(o,e,{dryRun:i,label:o});return}if(r===`config+creds+sessions`){await T(o,e,{dryRun:i,label:o}),await T(s,e,{dryRun:i,label:s});let t=await D(a);for(let n of t)await T(n,e,{dryRun:i,label:n});e.log(`Next: ${f(`openclaw onboard --install-daemon`)}`);return}if(r===`full`){await w({stateDir:a,configPath:o,oauthDir:s,configInsideState:c,oauthInsideState:l},e,{dryRun:i}),await E(u,e,{dryRun:i}),e.log(`Next: ${f(`openclaw onboard --install-daemon`)}`);return}}const H=e=>F({...e,message:_(e.message),options:e.options.map(e=>e.hint===void 0?e:{...e,hint:y(e.hint)})});function U(e){let t=!!(e.all||e.service||e.state||e.workspace||e.app),n=new Set;return(e.all||e.service)&&n.add(`service`),(e.all||e.state)&&n.add(`state`),(e.all||e.workspace)&&n.add(`workspace`),(e.all||e.app)&&n.add(`app`),{scopes:n,hadExplicit:t}}async function W(e){if(t)return e.error(`Nix mode detected; service uninstall is disabled.`),!1;let n=C(),r=!1;try{r=await n.isLoaded({env:process.env})}catch(t){return e.error(`Gateway service check failed: ${String(t)}`),!1}if(!r)return e.log(`Gateway service ${n.notLoadedText}.`),!0;try{await n.stop({env:process.env,stdout:process.stdout})}catch(t){e.error(`Gateway stop failed: ${String(t)}`)}try{return await n.uninstall({env:process.env,stdout:process.stdout}),!0}catch(t){return e.error(`Gateway uninstall failed: ${String(t)}`),!1}}async function G(e,t){process.platform===`darwin`&&await T(`/Applications/OpenClaw.app`,e,{dryRun:t,label:`/Applications/OpenClaw.app`})}function K(e){e.log(`Recommended first: ${f(`openclaw backup create`)}`)}async function q(e,t){let{scopes:n,hadExplicit:r}=U(t),i=!t.nonInteractive;if(!i&&!t.yes){e.error(`Non-interactive mode requires --yes.`),e.exit(1);return}if(!r){if(!i){e.error(`Non-interactive mode requires explicit scopes (use --all).`),e.exit(1);return}let t=await H({message:`Uninstall which components?`,options:[{value:`service`,label:`Gateway service`,hint:`launchd / systemd / schtasks`},{value:`state`,label:`State + config`,hint:`~/.qbotclaw`},{value:`workspace`,label:`Workspace`,hint:`agent files`},{value:`app`,label:`macOS app`,hint:`/Applications/OpenClaw.app`}],initialValues:[`service`,`state`,`workspace`]});if(P(t)){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}for(let e of t)n.add(e)}if(n.size===0){e.log(`Nothing selected.`);return}if(i&&!t.yes){let t=await N({message:_(`Proceed with uninstall?`)});if(P(t)||!t){M(v(`Uninstall cancelled.`)??`Uninstall cancelled.`),e.exit(0);return}}let a=!!t.dryRun,{stateDir:o,configPath:c,oauthDir:l,configInsideState:u,oauthInsideState:d,workspaceDirs:f}=R();if((n.has(`state`)||n.has(`workspace`))&&K(e),n.has(`service`)&&(a?e.log(`[dry-run] remove gateway service`):await W(e)),n.has(`state`)&&await w({stateDir:o,configPath:c,oauthDir:l,configInsideState:u,oauthInsideState:d},e,{dryRun:a}),n.has(`workspace`)&&await E(f,e,{dryRun:a}),n.has(`app`)&&await G(e,a),e.log(`CLI still installed. Remove via npm/pnpm if desired.`),n.has(`state`)&&!n.has(`workspace`)){let t=s();t&&f.some(e=>e.startsWith(j.resolve(t)))&&e.log(`Tip: workspaces were preserved. Re-run with --workspace to remove them.`)}}function J(e){e.command(`doctor`).description(`Health checks + quick fixes for the gateway and channels`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/doctor`,`docs.openclaw.ai/cli/doctor`)}\n`).option(`--no-workspace-suggestions`,`Disable workspace memory system suggestions`,!1).option(`--yes`,`Accept defaults without prompting`,!1).option(`--repair`,`Apply recommended repairs without prompting`,!1).option(`--fix`,`Apply recommended repairs (alias for --repair)`,!1).option(`--force`,`Apply aggressive repairs (overwrites custom service config)`,!1).option(`--non-interactive`,`Run without prompts (safe migrations only)`,!1).option(`--generate-gateway-token`,`Generate and configure a gateway token`,!1).option(`--deep`,`Scan system services for extra gateway installs`,!1).action(async e=>{await x(o,async()=>{await k(o,{workspaceSuggestions:e.workspaceSuggestions,yes:!!e.yes,repair:!!e.repair||!!e.fix,force:!!e.force,nonInteractive:!!e.nonInteractive,generateGatewayToken:!!e.generateGatewayToken,deep:!!e.deep}),o.exit(0)})}),e.command(`dashboard`).description(`Open the Control UI with your current token`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/dashboard`,`docs.openclaw.ai/cli/dashboard`)}\n`).option(`--no-open`,`Print URL but do not launch a browser`).action(async e=>{await x(o,async()=>{await L(o,{noOpen:e.open===!1})})}),e.command(`reset`).description(`Reset local config/state (keeps the CLI installed)`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/reset`,`docs.openclaw.ai/cli/reset`)}\n`).option(`--scope <scope>`,`config|config+creds+sessions|full (default: interactive prompt)`).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --scope + --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(o,async()=>{await V(o,{scope:e.scope,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})}),e.command(`uninstall`).description(`Uninstall the gateway service + local data (CLI remains)`).addHelpText(`after`,()=>`\n${a.muted(`Docs:`)} ${b(`/cli/uninstall`,`docs.openclaw.ai/cli/uninstall`)}\n`).option(`--service`,`Remove the gateway service`,!1).option(`--state`,`Remove state + config`,!1).option(`--workspace`,`Remove workspace dirs`,!1).option(`--app`,`Remove the macOS app`,!1).option(`--all`,`Remove service + state + workspace + app`,!1).option(`--yes`,`Skip confirmation prompts`,!1).option(`--non-interactive`,`Disable prompts (requires --yes)`,!1).option(`--dry-run`,`Print actions without removing files`,!1).action(async e=>{await x(o,async()=>{await q(o,{service:!!e.service,state:!!e.state,workspace:!!e.workspace,app:!!e.app,all:!!e.all,yes:!!e.yes,nonInteractive:!!e.nonInteractive,dryRun:!!e.dryRun})})})}export{J as registerMaintenanceCommands};
|
|
2
|
+
//# sourceMappingURL=register.maintenance-vhmmqtIi.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import"./paths-B4IRk3wi.js";import{A as e,k as t,p as n,v as r,w as i}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{Si as a,qs as o,xi as s}from"./model-selection-BlC_rXAN.js";import{F as c,Ft as l,In as u,Jn as d,Mt as f,Qn as p,Zn as m}from"./reply-l-Y47HP4.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import{a as h,l as g}from"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import{t as _}from"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-Cgd_VJHR.js";import"./send-hZFDcGLM.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-D4Bp6MM7.js";import"./image-DsoO5VP5.js";import"./models-config-CdMhNxKV.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-DPdY0NXR.js";import"./api-key-rotation-BRt-vnRV.js";import"./local-roots-6waH0SZ0.js";import"./model-catalog-C1kpjR75.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import{P as v}from"./deliver-ClBkV2eD.js";import"./commands-CGpM84iR.js";import"./commands-registry-B1x54ukc.js";import"./pairing-store-Cg2UxreQ.js";import"./fetch-Dikjvc5M.js";import"./call-CqoMqP5b.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-DOzHPnht.js";import"./send-B7sHR38c2.js";import"./pi-model-discovery-Dps1PPWz.js";import"./exec-approvals-allowlist-CE3nYh0K.js";import"./exec-safe-bin-runtime-policy-Dt0GchLp.js";import"./ir-Dk7OQ4bA.js";import"./render-D8OWO2hT.js";import"./target-errors-a35Md15n.js";import"./read-only-account-inspect-DBwAwB3_.js";import"./channel-selection-CbNtbAEf.js";import"./plugin-auto-enable-DpVL6-ES.js";import"./send-C-AP01PR.js";import"./outbound-attachment-B7wMxwj6.js";import"./delivery-queue-CKbauSFq.js";import"./send-DbeEC2a3.js";import"./channel-activity-YjYNzCpJ.js";import"./tables-Oieq7UbT.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-HJHHZqt6.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-BjYBuREl.js";import"./restart-CHXEHdSC.js";import"./runtime-web-tools-bz76ZaRc.js";import{n as y,s as b}from"./command-secret-targets-BVN3kiT9.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-C8iru0UB.js";import"./onboard-helpers-zwybUJWu.js";import"./prompt-style-CXKekIBY.js";import"./pairing-labels-BUU_-70B.js";import"./memory-cli-jhzJ3as7.js";import"./query-expansion-0OxEb1Io.js";import"./manager-M1GKhLUC.js";import{t as x}from"./links-CySwdMcF.js";import{n as S}from"./cli-utils-BY7dLMFy.js";import{t as C}from"./help-format-BRbF_INg.js";import{n as w}from"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-DECgxo6A.js";import"./system-run-command-DEWnZE0r.js";import"./runtime-BC5Ep2pJ.js";import"./stagger-DmFYysrJ.js";import{t as T}from"./helpers-Cp8gcO6u.js";import{t as E}from"./plugin-registry-CIBiHZH1.js";import{n as D,t as O}from"./table-CY440fI1.js";import{t as k}from"./text-format-CvrvBBre.js";const A=e=>{let t=_(e)?.meta.label;if(t)return t;let n=g(e);return n?h(n).label:e};function j(e,t){if(!t)return`✅ Sent via ${A(e)}. Message ID: unknown`;let n=`✅ Sent via ${A(t.channel)}. Message ID: ${t.messageId}`;return`chatId`in t?`${n} (chat ${t.chatId})`:`channelId`in t?`${n} (channel ${t.channelId})`:`roomId`in t?`${n} (room ${t.roomId})`:`conversationId`in t?`${n} (conversation ${t.conversationId})`:n}function M(e){return`✅ ${e.action??`Sent`} via gateway${e.channel?` (${e.channel})`:``}. Message ID: ${e.messageId??`unknown`}`}const N=e=>_(e)?.meta.label??e;function P(e){if(!e||typeof e!=`object`)return null;let t=e.messageId;if(typeof t==`string`&&t.trim())return t.trim();let n=e.result;if(n&&typeof n==`object`){let e=n.messageId;if(typeof e==`string`&&e.trim())return e.trim()}return null}function F(e){return{action:e.action,channel:e.channel,dryRun:e.dryRun,handledBy:e.handledBy,payload:e.payload}}function I(t,n){if(!t||typeof t!=`object`)return[String(t)];let r=t,i=Object.keys(r);if(i.length===0)return[e.muted(`(empty)`)];let a=i.slice(0,20).map(e=>{let t=r[e];return{Key:e,Value:k(t==null?`null`:Array.isArray(t)?`${t.length} items`:typeof t==`object`?`object`:typeof t==`string`?t:typeof t==`number`?String(t):typeof t==`boolean`?t?`true`:`false`:typeof t==`bigint`||typeof t==`symbol`?t.toString():typeof t==`function`?`function`:`unknown`,96)}});return[D({width:n.width,columns:[{key:`Key`,header:`Key`,minWidth:16},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:a}).trimEnd()]}function L(t,n,r){let i=t.slice(0,25).map(e=>{let t=e,n=typeof t.id==`string`&&t.id||typeof t.ts==`string`&&t.ts||typeof t.messageId==`string`&&t.messageId||``,r=t.author,i=typeof t.authorTag==`string`&&t.authorTag||typeof r?.username==`string`&&r.username||typeof t.user==`string`&&t.user||``,a=typeof t.timestamp==`string`&&t.timestamp||typeof t.ts==`string`&&t.ts||``,o=typeof t.content==`string`&&t.content||typeof t.text==`string`&&t.text||``;return{Time:k(a,28),Author:k(i,22),Text:k(o.replace(/\s+/g,` `).trim(),90),Id:k(n,22)}});return i.length===0?[e.muted(r)]:[D({width:n.width,columns:[{key:`Time`,header:`Time`,minWidth:14},{key:`Author`,header:`Author`,minWidth:10},{key:`Text`,header:`Text`,flex:!0,minWidth:24},{key:`Id`,header:`Id`,minWidth:10}],rows:i}).trimEnd()]}function R(e,t){if(!e||typeof e!=`object`)return null;let n=e.messages;return Array.isArray(n)?L(n,t,`No messages.`):null}function z(e,t){if(!e||typeof e!=`object`)return null;let n=e.pins;return Array.isArray(n)?L(n,t,`No pins.`):null}function B(e){if(!e||typeof e!=`object`)return null;let t=e.messages;if(!Array.isArray(t))return null;let n=[];for(let e of t)Array.isArray(e)&&e.length>0?n.push(e[0]):e&&typeof e==`object`&&n.push(e);return n.length?n:null}function V(t,n){if(!t||typeof t!=`object`)return null;let r=t.reactions;if(!Array.isArray(r))return null;let i=r.slice(0,50).map(e=>{let t=e,n=t.emoji;return{Emoji:typeof n?.raw==`string`&&n.raw||typeof t.name==`string`&&t.name||typeof t.emoji==`string`&&t.emoji||``,Count:typeof t.count==`number`?String(t.count):``,Users:k((Array.isArray(t.users)?t.users.slice(0,8).map(e=>{if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return``;let t=e;return typeof t.tag==`string`&&t.tag||typeof t.username==`string`&&t.username||typeof t.id==`string`&&t.id||``}).filter(Boolean):[]).join(`, `),72)}});return i.length===0?[e.muted(`No reactions.`)]:[D({width:n.width,columns:[{key:`Emoji`,header:`Emoji`,minWidth:8},{key:`Count`,header:`Count`,align:`right`,minWidth:6},{key:`Users`,header:`Users`,flex:!0,minWidth:20}],rows:i}).trimEnd()]}function H(n){let r=t(),i=t=>r?e.success(t):t,a=t=>r?e.muted(t):t,o=t=>r?e.heading(t):t,s={width:O()};if(n.handledBy===`dry-run`)return[a(`[dry-run] would run ${n.action} via ${n.channel}`)];if(n.kind===`broadcast`){let e=n.payload.results??[],t=e.map(e=>({Channel:N(e.channel),Target:k(d({channel:e.channel,target:e.to}),36),Status:e.ok?`ok`:`error`,Error:e.ok?``:k(e.error??`unknown error`,48)})),r=e.filter(e=>e.ok).length,a=e.length;return[i(`✅ Broadcast complete (${r}/${a} succeeded, ${a-r} failed)`),D({width:s.width,columns:[{key:`Channel`,header:`Channel`,minWidth:10},{key:`Target`,header:`Target`,minWidth:12,flex:!0},{key:`Status`,header:`Status`,minWidth:6},{key:`Error`,header:`Error`,minWidth:20,flex:!0}],rows:t.slice(0,50)}).trimEnd()]}if(n.kind===`send`){if(n.handledBy===`core`&&n.sendResult){let e=n.sendResult;if(e.via===`direct`){let t=e.result;return[i(j(e.channel,t))]}let t=e.result;return[i(M({channel:e.channel,messageId:t?.messageId??null}))]}let e=N(n.channel),t=P(n.payload);return[i(`✅ Sent via ${e}.${t?` Message ID: ${t}`:``}`)]}if(n.kind===`poll`){if(n.handledBy===`core`&&n.pollResult){let e=n.pollResult,t=e.result?.pollId,r=e.result?.messageId??null,a=[i(M({action:`Poll sent`,channel:e.channel,messageId:r}))];return t&&a.push(i(`Poll id: ${t}`)),a}let e=N(n.channel),t=P(n.payload);return[i(`✅ Poll sent via ${e}.${t?` Message ID: ${t}`:``}`)]}let c=n.payload,l=[];if(n.action===`react`){let e=c.added,t=c.removed;if(typeof e==`string`&&e.trim())return l.push(i(`✅ Reaction added: ${e.trim()}`)),l;if(typeof t==`string`&&t.trim())return l.push(i(`✅ Reaction removed: ${t.trim()}`)),l;if(Array.isArray(t)){let e=t.map(e=>String(e).trim()).filter(Boolean).join(`, `);return l.push(i(`✅ Reactions removed${e?`: ${e}`:``}`)),l}return l.push(i(`✅ Reaction updated.`)),l}let u=V(c,s);if(u&&n.action===`reactions`)return l.push(o(`Reactions`)),l.push(u[0]??``),l;if(n.action===`read`){let e=R(c,s);if(e)return l.push(o(`Messages`)),l.push(e[0]??``),l}if(n.action===`list-pins`){let e=z(c,s);if(e)return l.push(o(`Pinned messages`)),l.push(e[0]??``),l}if(n.action===`search`){let e=c.results,t=B(e);if(t)return l.push(o(`Search results`)),l.push(L(t,s,`No results.`)[0]??``),l}l.push(i(`✅ ${n.action} via ${N(n.channel)}.`));let f=I(c,s);return f.length&&(l.push(``),l.push(...f),l.push(``),l.push(a(`Tip: use --json for full output.`))),l}async function U(e,t,n){let{resolvedConfig:r,diagnostics:i}=await b({config:o(),commandName:`message`,targetIds:y()});for(let e of i)n.log(`[secrets] ${e}`);let l=(typeof e.action==`string`?e.action.trim():``)||`send`,d=c.find(e=>e.toLowerCase()===l.toLowerCase());if(!d)throw Error(`Unknown message action: ${l}`);let p=d,m=f(t),h=async()=>await u({cfg:r,action:p,params:e,deps:m,gateway:{clientName:a.CLI,mode:s.CLI}}),g=e.json===!0,_=e.dryRun===!0,v=!g&&!_&&(p===`send`||p===`poll`)?await w({label:p===`poll`?`Sending poll...`:`Sending...`,indeterminate:!0,enabled:!0},h):await h();if(g){n.log(JSON.stringify(F(v),null,2));return}for(let e of H(v))n.log(e)}function W(e){let{account:t,...n}=e;return{...n,accountId:typeof t==`string`?t:void 0}}async function G(){await v({event:{reason:`cli message action complete`},ctx:{},onError:e=>n.error(r(`gateway_stop hook failed: ${String(e)}`))})}function K(e,t){return{withMessageBase:e=>e.option(`--channel <channel>`,`Channel: ${t}`).option(`--account <id>`,`Channel account id (accountId)`).option(`--json`,`Output result as JSON`,!1).option(`--dry-run`,`Print payload and skip sending`,!1).option(`--verbose`,`Verbose logging`,!1),withMessageTarget:e=>e.option(`-t, --target <dest>`,p),withRequiredMessageTarget:e=>e.requiredOption(`-t, --target <dest>`,p),runMessageAction:async(e,t)=>{i(!!t.verbose),E();let a=l(),o=!1;await S(n,async()=>{await U({...W(t),action:e},a,n)},e=>{o=!0,n.error(r(String(e)))}),await G(),n.exit(o?1:0)}}}function q(e,t){t.withMessageBase(e.command(`broadcast`).description(`Broadcast a message to multiple targets`)).requiredOption(`--targets <target...>`,m).option(`--message <text>`,`Message to send`).option(`--media <url>`,`Media URL`).action(async e=>{await t.runMessageAction(`broadcast`,e)})}function J(e,t){let n=e.command(`role`).description(`Role actions`);t.withMessageBase(n.command(`info`).description(`List roles`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`role-info`,e)}),t.withMessageBase(n.command(`add`).description(`Add role to a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-add`,e)}),t.withMessageBase(n.command(`remove`).description(`Remove role from a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-remove`,e)});let r=e.command(`channel`).description(`Channel actions`);t.withMessageBase(t.withRequiredMessageTarget(r.command(`info`).description(`Fetch channel info`))).action(async e=>{await t.runMessageAction(`channel-info`,e)}),t.withMessageBase(r.command(`list`).description(`List channels`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`channel-list`,e)});let i=e.command(`member`).description(`Member actions`);t.withMessageBase(i.command(`info`).description(`Fetch member info`).requiredOption(`--user-id <id>`,`User id`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`member-info`,e)});let a=e.command(`voice`).description(`Voice actions`);t.withMessageBase(a.command(`status`).description(`Fetch voice status`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).action(async e=>{await t.runMessageAction(`voice-status`,e)});let o=e.command(`event`).description(`Event actions`);t.withMessageBase(o.command(`list`).description(`List scheduled events`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`event-list`,e)}),t.withMessageBase(o.command(`create`).description(`Create a scheduled event`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--event-name <name>`,`Event name`).requiredOption(`--start-time <iso>`,`Event start time`)).option(`--end-time <iso>`,`Event end time`).option(`--desc <text>`,`Event description`).option(`--channel-id <id>`,`Channel id`).option(`--location <text>`,`Event location`).option(`--event-type <stage|external|voice>`,`Event type`).action(async e=>{await t.runMessageAction(`event-create`,e)}),t.withMessageBase(e.command(`timeout`).description(`Timeout a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--duration-min <n>`,`Timeout duration minutes`).option(`--until <iso>`,`Timeout until`).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`timeout`,e)}),t.withMessageBase(e.command(`kick`).description(`Kick a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`kick`,e)}),t.withMessageBase(e.command(`ban`).description(`Ban a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).option(`--delete-days <n>`,`Ban delete message days`).action(async e=>{await t.runMessageAction(`ban`,e)})}function Y(e,t){let n=e.command(`emoji`).description(`Emoji actions`);t.withMessageBase(n.command(`list`).description(`List emojis`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`emoji-list`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload an emoji`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--emoji-name <name>`,`Emoji name`).requiredOption(`--media <path-or-url>`,`Emoji media (path or URL)`).option(`--role-ids <id>`,`Role id (repeat)`,T,[]).action(async e=>{await t.runMessageAction(`emoji-upload`,e)})}function X(e,t){let n=e.command(`sticker`).description(`Sticker actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`send`).description(`Send stickers`))).requiredOption(`--sticker-id <id>`,`Sticker id (repeat)`,T).option(`-m, --message <text>`,`Optional message body`).action(async e=>{await t.runMessageAction(`sticker`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload a sticker`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--sticker-name <name>`,`Sticker name`).requiredOption(`--sticker-desc <text>`,`Sticker description`).requiredOption(`--sticker-tags <tags>`,`Sticker tags`).requiredOption(`--media <path-or-url>`,`Sticker media (path or URL)`).action(async e=>{await t.runMessageAction(`sticker-upload`,e)})}function Z(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`permissions`).description(`Fetch channel permissions`))).action(async e=>{await t.runMessageAction(`permissions`,e)})}function Q(e,t){t.withMessageBase(e.command(`search`).description(`Search Discord messages`)).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--query <text>`,`Search query`).option(`--channel-id <id>`,`Channel id`).option(`--channel-ids <id>`,`Channel id (repeat)`,T,[]).option(`--author-id <id>`,`Author id`).option(`--author-ids <id>`,`Author id (repeat)`,T,[]).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`search`,e)})}function $(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`pin`).description(`Pin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`pin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`unpin`).description(`Unpin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`unpin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`pins`).description(`List pinned messages`))).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`list-pins`,e)})}function ee(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`poll`).description(`Send a poll`))).requiredOption(`--poll-question <text>`,`Poll question`).option(`--poll-option <choice>`,`Poll option (repeat 2-12 times)`,T,[]).option(`--poll-multi`,`Allow multiple selections`,!1).option(`--poll-duration-hours <n>`,`Poll duration in hours (Discord)`).option(`--poll-duration-seconds <n>`,`Poll duration in seconds (Telegram; 5-600)`).option(`--poll-anonymous`,`Send an anonymous poll (Telegram)`,!1).option(`--poll-public`,`Send a non-anonymous poll (Telegram)`,!1).option(`-m, --message <text>`,`Optional message body`).option(`--silent`,`Send poll silently without notification (Telegram + Discord where supported)`,!1).option(`--thread-id <id>`,`Thread id (Telegram forum topic / Slack thread ts)`).action(async e=>{await t.runMessageAction(`poll`,e)})}function te(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`react`).description(`Add or remove a reaction`))).requiredOption(`--message-id <id>`,`Message id`).option(`--emoji <emoji>`,`Emoji for reactions`).option(`--remove`,`Remove reaction`,!1).option(`--participant <id>`,`WhatsApp reaction participant`).option(`--from-me`,`WhatsApp reaction fromMe`,!1).option(`--target-author <id>`,`Signal reaction target author (uuid or phone)`).option(`--target-author-uuid <uuid>`,`Signal reaction target author uuid`).action(async e=>{await t.runMessageAction(`react`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`reactions`).description(`List reactions on a message`))).requiredOption(`--message-id <id>`,`Message id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`reactions`,e)})}function ne(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`read`).description(`Read recent messages`))).option(`--limit <n>`,`Result limit`).option(`--before <id>`,`Read/search before id`).option(`--after <id>`,`Read/search after id`).option(`--around <id>`,`Read around id`).option(`--include-thread`,`Include thread replies (Discord)`,!1).action(async e=>{await t.runMessageAction(`read`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`edit`).description(`Edit a message`).requiredOption(`--message-id <id>`,`Message id`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).action(async e=>{await t.runMessageAction(`edit`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`delete`).description(`Delete a message`).requiredOption(`--message-id <id>`,`Message id`))).action(async e=>{await t.runMessageAction(`delete`,e)})}function re(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`send`).description(`Send a message`).option(`-m, --message <text>`,`Message body (required unless --media is set)`)).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--buttons <json>`,`Telegram inline keyboard buttons as JSON (array of button rows)`).option(`--components <json>`,`Discord components payload as JSON`).option(`--card <json>`,`Adaptive Card JSON object (when supported by the channel)`).option(`--reply-to <id>`,`Reply-to message id`).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).option(`--gif-playback`,`Treat video media as GIF playback (WhatsApp only).`,!1).option(`--silent`,`Send message silently without notification (Telegram + Discord)`,!1)).action(async e=>{await t.runMessageAction(`send`,e)})}function ie(e,t){let n=e.command(`thread`).description(`Thread actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`create`).description(`Create a thread`).requiredOption(`--thread-name <name>`,`Thread name`))).option(`--message-id <id>`,`Message id (optional)`).option(`-m, --message <text>`,`Initial thread message text`).option(`--auto-archive-min <n>`,`Thread auto-archive minutes`).action(async e=>{await t.runMessageAction(`thread-create`,e)}),t.withMessageBase(n.command(`list`).description(`List threads`).requiredOption(`--guild-id <id>`,`Guild id`)).option(`--channel-id <id>`,`Channel id`).option(`--include-archived`,`Include archived threads`,!1).option(`--before <id>`,`Read/search before id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`thread-list`,e)}),t.withMessageBase(t.withRequiredMessageTarget(n.command(`reply`).description(`Reply in a thread`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--reply-to <id>`,`Reply-to message id`).action(async e=>{await t.runMessageAction(`thread-reply`,e)})}function ae(t,n){let r=t.command(`message`).description(`Send, read, and manage messages and channel actions`).addHelpText(`after`,()=>`
|
|
1
|
+
import"./paths-B4IRk3wi.js";import{A as e,k as t,p as n,v as r,w as i}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{Si as a,qs as o,xi as s}from"./model-selection-BlC_rXAN.js";import{F as c,Ft as l,In as u,Jn as d,Mt as f,Qn as p,Zn as m}from"./reply-CjyZeZ-j.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import{a as h,l as g}from"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import{t as _}from"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-Cgd_VJHR.js";import"./send-hZFDcGLM.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-D4Bp6MM7.js";import"./image-DsoO5VP5.js";import"./models-config-CdMhNxKV.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-DPdY0NXR.js";import"./api-key-rotation-BRt-vnRV.js";import"./local-roots-6waH0SZ0.js";import"./model-catalog-C1kpjR75.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import{P as v}from"./deliver-ClBkV2eD.js";import"./commands-CGpM84iR.js";import"./commands-registry-B1x54ukc.js";import"./pairing-store-Cg2UxreQ.js";import"./fetch-Dikjvc5M.js";import"./call-CqoMqP5b.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-DOzHPnht.js";import"./send-B7sHR38c2.js";import"./pi-model-discovery-Dps1PPWz.js";import"./exec-approvals-allowlist-CE3nYh0K.js";import"./exec-safe-bin-runtime-policy-Dt0GchLp.js";import"./ir-Dk7OQ4bA.js";import"./render-D8OWO2hT.js";import"./target-errors-a35Md15n.js";import"./read-only-account-inspect-DBwAwB3_.js";import"./channel-selection-CbNtbAEf.js";import"./plugin-auto-enable-DpVL6-ES.js";import"./send-C-AP01PR.js";import"./outbound-attachment-B7wMxwj6.js";import"./delivery-queue-CKbauSFq.js";import"./send-DbeEC2a3.js";import"./channel-activity-YjYNzCpJ.js";import"./tables-Oieq7UbT.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-HJHHZqt6.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-BjYBuREl.js";import"./restart-CHXEHdSC.js";import"./runtime-web-tools-bz76ZaRc.js";import{n as y,s as b}from"./command-secret-targets-BVN3kiT9.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-C8iru0UB.js";import"./onboard-helpers-zwybUJWu.js";import"./prompt-style-CXKekIBY.js";import"./pairing-labels-BUU_-70B.js";import"./memory-cli-jhzJ3as7.js";import"./query-expansion-0OxEb1Io.js";import"./manager-M1GKhLUC.js";import{t as x}from"./links-CySwdMcF.js";import{n as S}from"./cli-utils-BY7dLMFy.js";import{t as C}from"./help-format-BRbF_INg.js";import{n as w}from"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-DECgxo6A.js";import"./system-run-command-DEWnZE0r.js";import"./runtime-BC5Ep2pJ.js";import"./stagger-DmFYysrJ.js";import{t as T}from"./helpers-Cp8gcO6u.js";import{t as E}from"./plugin-registry-CI5K3iWc.js";import{n as D,t as O}from"./table-CY440fI1.js";import{t as k}from"./text-format-CvrvBBre.js";const A=e=>{let t=_(e)?.meta.label;if(t)return t;let n=g(e);return n?h(n).label:e};function j(e,t){if(!t)return`✅ Sent via ${A(e)}. Message ID: unknown`;let n=`✅ Sent via ${A(t.channel)}. Message ID: ${t.messageId}`;return`chatId`in t?`${n} (chat ${t.chatId})`:`channelId`in t?`${n} (channel ${t.channelId})`:`roomId`in t?`${n} (room ${t.roomId})`:`conversationId`in t?`${n} (conversation ${t.conversationId})`:n}function M(e){return`✅ ${e.action??`Sent`} via gateway${e.channel?` (${e.channel})`:``}. Message ID: ${e.messageId??`unknown`}`}const N=e=>_(e)?.meta.label??e;function P(e){if(!e||typeof e!=`object`)return null;let t=e.messageId;if(typeof t==`string`&&t.trim())return t.trim();let n=e.result;if(n&&typeof n==`object`){let e=n.messageId;if(typeof e==`string`&&e.trim())return e.trim()}return null}function F(e){return{action:e.action,channel:e.channel,dryRun:e.dryRun,handledBy:e.handledBy,payload:e.payload}}function I(t,n){if(!t||typeof t!=`object`)return[String(t)];let r=t,i=Object.keys(r);if(i.length===0)return[e.muted(`(empty)`)];let a=i.slice(0,20).map(e=>{let t=r[e];return{Key:e,Value:k(t==null?`null`:Array.isArray(t)?`${t.length} items`:typeof t==`object`?`object`:typeof t==`string`?t:typeof t==`number`?String(t):typeof t==`boolean`?t?`true`:`false`:typeof t==`bigint`||typeof t==`symbol`?t.toString():typeof t==`function`?`function`:`unknown`,96)}});return[D({width:n.width,columns:[{key:`Key`,header:`Key`,minWidth:16},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:a}).trimEnd()]}function L(t,n,r){let i=t.slice(0,25).map(e=>{let t=e,n=typeof t.id==`string`&&t.id||typeof t.ts==`string`&&t.ts||typeof t.messageId==`string`&&t.messageId||``,r=t.author,i=typeof t.authorTag==`string`&&t.authorTag||typeof r?.username==`string`&&r.username||typeof t.user==`string`&&t.user||``,a=typeof t.timestamp==`string`&&t.timestamp||typeof t.ts==`string`&&t.ts||``,o=typeof t.content==`string`&&t.content||typeof t.text==`string`&&t.text||``;return{Time:k(a,28),Author:k(i,22),Text:k(o.replace(/\s+/g,` `).trim(),90),Id:k(n,22)}});return i.length===0?[e.muted(r)]:[D({width:n.width,columns:[{key:`Time`,header:`Time`,minWidth:14},{key:`Author`,header:`Author`,minWidth:10},{key:`Text`,header:`Text`,flex:!0,minWidth:24},{key:`Id`,header:`Id`,minWidth:10}],rows:i}).trimEnd()]}function R(e,t){if(!e||typeof e!=`object`)return null;let n=e.messages;return Array.isArray(n)?L(n,t,`No messages.`):null}function z(e,t){if(!e||typeof e!=`object`)return null;let n=e.pins;return Array.isArray(n)?L(n,t,`No pins.`):null}function B(e){if(!e||typeof e!=`object`)return null;let t=e.messages;if(!Array.isArray(t))return null;let n=[];for(let e of t)Array.isArray(e)&&e.length>0?n.push(e[0]):e&&typeof e==`object`&&n.push(e);return n.length?n:null}function V(t,n){if(!t||typeof t!=`object`)return null;let r=t.reactions;if(!Array.isArray(r))return null;let i=r.slice(0,50).map(e=>{let t=e,n=t.emoji;return{Emoji:typeof n?.raw==`string`&&n.raw||typeof t.name==`string`&&t.name||typeof t.emoji==`string`&&t.emoji||``,Count:typeof t.count==`number`?String(t.count):``,Users:k((Array.isArray(t.users)?t.users.slice(0,8).map(e=>{if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return``;let t=e;return typeof t.tag==`string`&&t.tag||typeof t.username==`string`&&t.username||typeof t.id==`string`&&t.id||``}).filter(Boolean):[]).join(`, `),72)}});return i.length===0?[e.muted(`No reactions.`)]:[D({width:n.width,columns:[{key:`Emoji`,header:`Emoji`,minWidth:8},{key:`Count`,header:`Count`,align:`right`,minWidth:6},{key:`Users`,header:`Users`,flex:!0,minWidth:20}],rows:i}).trimEnd()]}function H(n){let r=t(),i=t=>r?e.success(t):t,a=t=>r?e.muted(t):t,o=t=>r?e.heading(t):t,s={width:O()};if(n.handledBy===`dry-run`)return[a(`[dry-run] would run ${n.action} via ${n.channel}`)];if(n.kind===`broadcast`){let e=n.payload.results??[],t=e.map(e=>({Channel:N(e.channel),Target:k(d({channel:e.channel,target:e.to}),36),Status:e.ok?`ok`:`error`,Error:e.ok?``:k(e.error??`unknown error`,48)})),r=e.filter(e=>e.ok).length,a=e.length;return[i(`✅ Broadcast complete (${r}/${a} succeeded, ${a-r} failed)`),D({width:s.width,columns:[{key:`Channel`,header:`Channel`,minWidth:10},{key:`Target`,header:`Target`,minWidth:12,flex:!0},{key:`Status`,header:`Status`,minWidth:6},{key:`Error`,header:`Error`,minWidth:20,flex:!0}],rows:t.slice(0,50)}).trimEnd()]}if(n.kind===`send`){if(n.handledBy===`core`&&n.sendResult){let e=n.sendResult;if(e.via===`direct`){let t=e.result;return[i(j(e.channel,t))]}let t=e.result;return[i(M({channel:e.channel,messageId:t?.messageId??null}))]}let e=N(n.channel),t=P(n.payload);return[i(`✅ Sent via ${e}.${t?` Message ID: ${t}`:``}`)]}if(n.kind===`poll`){if(n.handledBy===`core`&&n.pollResult){let e=n.pollResult,t=e.result?.pollId,r=e.result?.messageId??null,a=[i(M({action:`Poll sent`,channel:e.channel,messageId:r}))];return t&&a.push(i(`Poll id: ${t}`)),a}let e=N(n.channel),t=P(n.payload);return[i(`✅ Poll sent via ${e}.${t?` Message ID: ${t}`:``}`)]}let c=n.payload,l=[];if(n.action===`react`){let e=c.added,t=c.removed;if(typeof e==`string`&&e.trim())return l.push(i(`✅ Reaction added: ${e.trim()}`)),l;if(typeof t==`string`&&t.trim())return l.push(i(`✅ Reaction removed: ${t.trim()}`)),l;if(Array.isArray(t)){let e=t.map(e=>String(e).trim()).filter(Boolean).join(`, `);return l.push(i(`✅ Reactions removed${e?`: ${e}`:``}`)),l}return l.push(i(`✅ Reaction updated.`)),l}let u=V(c,s);if(u&&n.action===`reactions`)return l.push(o(`Reactions`)),l.push(u[0]??``),l;if(n.action===`read`){let e=R(c,s);if(e)return l.push(o(`Messages`)),l.push(e[0]??``),l}if(n.action===`list-pins`){let e=z(c,s);if(e)return l.push(o(`Pinned messages`)),l.push(e[0]??``),l}if(n.action===`search`){let e=c.results,t=B(e);if(t)return l.push(o(`Search results`)),l.push(L(t,s,`No results.`)[0]??``),l}l.push(i(`✅ ${n.action} via ${N(n.channel)}.`));let f=I(c,s);return f.length&&(l.push(``),l.push(...f),l.push(``),l.push(a(`Tip: use --json for full output.`))),l}async function U(e,t,n){let{resolvedConfig:r,diagnostics:i}=await b({config:o(),commandName:`message`,targetIds:y()});for(let e of i)n.log(`[secrets] ${e}`);let l=(typeof e.action==`string`?e.action.trim():``)||`send`,d=c.find(e=>e.toLowerCase()===l.toLowerCase());if(!d)throw Error(`Unknown message action: ${l}`);let p=d,m=f(t),h=async()=>await u({cfg:r,action:p,params:e,deps:m,gateway:{clientName:a.CLI,mode:s.CLI}}),g=e.json===!0,_=e.dryRun===!0,v=!g&&!_&&(p===`send`||p===`poll`)?await w({label:p===`poll`?`Sending poll...`:`Sending...`,indeterminate:!0,enabled:!0},h):await h();if(g){n.log(JSON.stringify(F(v),null,2));return}for(let e of H(v))n.log(e)}function W(e){let{account:t,...n}=e;return{...n,accountId:typeof t==`string`?t:void 0}}async function G(){await v({event:{reason:`cli message action complete`},ctx:{},onError:e=>n.error(r(`gateway_stop hook failed: ${String(e)}`))})}function K(e,t){return{withMessageBase:e=>e.option(`--channel <channel>`,`Channel: ${t}`).option(`--account <id>`,`Channel account id (accountId)`).option(`--json`,`Output result as JSON`,!1).option(`--dry-run`,`Print payload and skip sending`,!1).option(`--verbose`,`Verbose logging`,!1),withMessageTarget:e=>e.option(`-t, --target <dest>`,p),withRequiredMessageTarget:e=>e.requiredOption(`-t, --target <dest>`,p),runMessageAction:async(e,t)=>{i(!!t.verbose),E();let a=l(),o=!1;await S(n,async()=>{await U({...W(t),action:e},a,n)},e=>{o=!0,n.error(r(String(e)))}),await G(),n.exit(o?1:0)}}}function q(e,t){t.withMessageBase(e.command(`broadcast`).description(`Broadcast a message to multiple targets`)).requiredOption(`--targets <target...>`,m).option(`--message <text>`,`Message to send`).option(`--media <url>`,`Media URL`).action(async e=>{await t.runMessageAction(`broadcast`,e)})}function J(e,t){let n=e.command(`role`).description(`Role actions`);t.withMessageBase(n.command(`info`).description(`List roles`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`role-info`,e)}),t.withMessageBase(n.command(`add`).description(`Add role to a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-add`,e)}),t.withMessageBase(n.command(`remove`).description(`Remove role from a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-remove`,e)});let r=e.command(`channel`).description(`Channel actions`);t.withMessageBase(t.withRequiredMessageTarget(r.command(`info`).description(`Fetch channel info`))).action(async e=>{await t.runMessageAction(`channel-info`,e)}),t.withMessageBase(r.command(`list`).description(`List channels`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`channel-list`,e)});let i=e.command(`member`).description(`Member actions`);t.withMessageBase(i.command(`info`).description(`Fetch member info`).requiredOption(`--user-id <id>`,`User id`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`member-info`,e)});let a=e.command(`voice`).description(`Voice actions`);t.withMessageBase(a.command(`status`).description(`Fetch voice status`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).action(async e=>{await t.runMessageAction(`voice-status`,e)});let o=e.command(`event`).description(`Event actions`);t.withMessageBase(o.command(`list`).description(`List scheduled events`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`event-list`,e)}),t.withMessageBase(o.command(`create`).description(`Create a scheduled event`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--event-name <name>`,`Event name`).requiredOption(`--start-time <iso>`,`Event start time`)).option(`--end-time <iso>`,`Event end time`).option(`--desc <text>`,`Event description`).option(`--channel-id <id>`,`Channel id`).option(`--location <text>`,`Event location`).option(`--event-type <stage|external|voice>`,`Event type`).action(async e=>{await t.runMessageAction(`event-create`,e)}),t.withMessageBase(e.command(`timeout`).description(`Timeout a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--duration-min <n>`,`Timeout duration minutes`).option(`--until <iso>`,`Timeout until`).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`timeout`,e)}),t.withMessageBase(e.command(`kick`).description(`Kick a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`kick`,e)}),t.withMessageBase(e.command(`ban`).description(`Ban a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).option(`--delete-days <n>`,`Ban delete message days`).action(async e=>{await t.runMessageAction(`ban`,e)})}function Y(e,t){let n=e.command(`emoji`).description(`Emoji actions`);t.withMessageBase(n.command(`list`).description(`List emojis`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`emoji-list`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload an emoji`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--emoji-name <name>`,`Emoji name`).requiredOption(`--media <path-or-url>`,`Emoji media (path or URL)`).option(`--role-ids <id>`,`Role id (repeat)`,T,[]).action(async e=>{await t.runMessageAction(`emoji-upload`,e)})}function X(e,t){let n=e.command(`sticker`).description(`Sticker actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`send`).description(`Send stickers`))).requiredOption(`--sticker-id <id>`,`Sticker id (repeat)`,T).option(`-m, --message <text>`,`Optional message body`).action(async e=>{await t.runMessageAction(`sticker`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload a sticker`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--sticker-name <name>`,`Sticker name`).requiredOption(`--sticker-desc <text>`,`Sticker description`).requiredOption(`--sticker-tags <tags>`,`Sticker tags`).requiredOption(`--media <path-or-url>`,`Sticker media (path or URL)`).action(async e=>{await t.runMessageAction(`sticker-upload`,e)})}function Z(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`permissions`).description(`Fetch channel permissions`))).action(async e=>{await t.runMessageAction(`permissions`,e)})}function Q(e,t){t.withMessageBase(e.command(`search`).description(`Search Discord messages`)).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--query <text>`,`Search query`).option(`--channel-id <id>`,`Channel id`).option(`--channel-ids <id>`,`Channel id (repeat)`,T,[]).option(`--author-id <id>`,`Author id`).option(`--author-ids <id>`,`Author id (repeat)`,T,[]).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`search`,e)})}function $(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`pin`).description(`Pin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`pin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`unpin`).description(`Unpin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`unpin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`pins`).description(`List pinned messages`))).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`list-pins`,e)})}function ee(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`poll`).description(`Send a poll`))).requiredOption(`--poll-question <text>`,`Poll question`).option(`--poll-option <choice>`,`Poll option (repeat 2-12 times)`,T,[]).option(`--poll-multi`,`Allow multiple selections`,!1).option(`--poll-duration-hours <n>`,`Poll duration in hours (Discord)`).option(`--poll-duration-seconds <n>`,`Poll duration in seconds (Telegram; 5-600)`).option(`--poll-anonymous`,`Send an anonymous poll (Telegram)`,!1).option(`--poll-public`,`Send a non-anonymous poll (Telegram)`,!1).option(`-m, --message <text>`,`Optional message body`).option(`--silent`,`Send poll silently without notification (Telegram + Discord where supported)`,!1).option(`--thread-id <id>`,`Thread id (Telegram forum topic / Slack thread ts)`).action(async e=>{await t.runMessageAction(`poll`,e)})}function te(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`react`).description(`Add or remove a reaction`))).requiredOption(`--message-id <id>`,`Message id`).option(`--emoji <emoji>`,`Emoji for reactions`).option(`--remove`,`Remove reaction`,!1).option(`--participant <id>`,`WhatsApp reaction participant`).option(`--from-me`,`WhatsApp reaction fromMe`,!1).option(`--target-author <id>`,`Signal reaction target author (uuid or phone)`).option(`--target-author-uuid <uuid>`,`Signal reaction target author uuid`).action(async e=>{await t.runMessageAction(`react`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`reactions`).description(`List reactions on a message`))).requiredOption(`--message-id <id>`,`Message id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`reactions`,e)})}function ne(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`read`).description(`Read recent messages`))).option(`--limit <n>`,`Result limit`).option(`--before <id>`,`Read/search before id`).option(`--after <id>`,`Read/search after id`).option(`--around <id>`,`Read around id`).option(`--include-thread`,`Include thread replies (Discord)`,!1).action(async e=>{await t.runMessageAction(`read`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`edit`).description(`Edit a message`).requiredOption(`--message-id <id>`,`Message id`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).action(async e=>{await t.runMessageAction(`edit`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`delete`).description(`Delete a message`).requiredOption(`--message-id <id>`,`Message id`))).action(async e=>{await t.runMessageAction(`delete`,e)})}function re(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`send`).description(`Send a message`).option(`-m, --message <text>`,`Message body (required unless --media is set)`)).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--buttons <json>`,`Telegram inline keyboard buttons as JSON (array of button rows)`).option(`--components <json>`,`Discord components payload as JSON`).option(`--card <json>`,`Adaptive Card JSON object (when supported by the channel)`).option(`--reply-to <id>`,`Reply-to message id`).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).option(`--gif-playback`,`Treat video media as GIF playback (WhatsApp only).`,!1).option(`--silent`,`Send message silently without notification (Telegram + Discord)`,!1)).action(async e=>{await t.runMessageAction(`send`,e)})}function ie(e,t){let n=e.command(`thread`).description(`Thread actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`create`).description(`Create a thread`).requiredOption(`--thread-name <name>`,`Thread name`))).option(`--message-id <id>`,`Message id (optional)`).option(`-m, --message <text>`,`Initial thread message text`).option(`--auto-archive-min <n>`,`Thread auto-archive minutes`).action(async e=>{await t.runMessageAction(`thread-create`,e)}),t.withMessageBase(n.command(`list`).description(`List threads`).requiredOption(`--guild-id <id>`,`Guild id`)).option(`--channel-id <id>`,`Channel id`).option(`--include-archived`,`Include archived threads`,!1).option(`--before <id>`,`Read/search before id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`thread-list`,e)}),t.withMessageBase(t.withRequiredMessageTarget(n.command(`reply`).description(`Reply in a thread`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--reply-to <id>`,`Reply-to message id`).action(async e=>{await t.runMessageAction(`thread-reply`,e)})}function ae(t,n){let r=t.command(`message`).description(`Send, read, and manage messages and channel actions`).addHelpText(`after`,()=>`
|
|
2
2
|
${e.heading(`Examples:`)}
|
|
3
3
|
${C([[`openclaw message send --target +15555550123 --message "Hi"`,`Send a text message.`],[`openclaw message send --target +15555550123 --message "Hi" --media photo.jpg`,`Send a message with media.`],[`openclaw message poll --channel discord --target channel:123 --poll-question "Snack?" --poll-option Pizza --poll-option Sushi`,`Create a Discord poll.`],[`openclaw message react --channel discord --target 123 --message-id 456 --emoji "✅"`,`React to a message.`]])}
|
|
4
4
|
|
|
5
5
|
${e.muted(`Docs:`)} ${x(`/cli/message`,`docs.openclaw.ai/cli/message`)}`).action(()=>{r.help({error:!0})}),i=K(r,n.messageChannelOptions);re(r,i),q(r,i),ee(r,i),te(r,i),ne(r,i),$(r,i),Z(r,i),Q(r,i),ie(r,i),Y(r,i),X(r,i),J(r,i)}export{ae as registerMessageCommands};
|
|
6
|
-
//# sourceMappingURL=register.message-
|
|
6
|
+
//# sourceMappingURL=register.message-3zVHQZ27.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{A as e,k as t,p as n,v as r,w as i}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{jo as a,lr as o,ur as s}from"./auth-profiles-T8DuH3ax.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import{a as c,l}from"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import{t as u}from"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-CW81y5Wz.js";import"./send-DavpkzhH.js";import{Ct as d,Et as f,Kt as p,O as m,dt as h,k as g,qt as _}from"./compact-Dg66DXx_.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-_htt7eY5.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import{P as v}from"./deliver-BHuhHfkH.js";import"./diagnostic-DQq4Bwrs.js";import"./send-DkiKKUkt.js";import"./pi-model-discovery-CpjYoBQf.js";import"./exec-approvals-allowlist-D8mN7nxV.js";import"./exec-safe-bin-runtime-policy-dcCS_Adf.js";import"./model-catalog-COVzoZD9.js";import"./fetch-CQaNr5J1.js";import"./audio-transcription-runner-Bd1OZC6K.js";import"./fetch-guard-BrTtJw7h.js";import"./image-BkWwI54C.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-D0QU-kQ9.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-D8Hh84ab.js";import"./render-DrrPmnMI.js";import"./target-errors-CgWAJOam.js";import"./commands-Dy7duWlt.js";import"./commands-registry-Cpl4QnG4.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-8acNlxwP.js";import"./sqlite-CILF3z9U.js";import"./call-B8Fb4_oh.js";import"./pi-tools.policy-D40r0HmD.js";import"./pairing-store-BH-FTYkn.js";import"./fetch-Dh-apy46.js";import"./skill-commands-CSF6wVPU.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-DAR7V7FJ.js";import"./channel-activity-BBrgoad1.js";import"./tables-Brc2lNcB.js";import"./kill-tree-B3g7HrAO.js";import"./runtime-web-tools-D8fms06-.js";import"./runtime-Dlg2-Omq.js";import"./node-shell-DyOfwHrh.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BBeE1TmB.js";import"./plugin-auto-enable-NzmNh4oU.js";import"./send-CVplsJpw.js";import"./outbound-attachment-BgAe99RM.js";import"./delivery-queue-nkPJu0fY.js";import"./send-C48Y9SAq.js";import"./system-run-command-BKfMiqQM.js";import"./fetch-Ce-scEU-.js";import{n as y,s as b}from"./command-secret-targets-BlN-J_fA.js";import"./connection-auth-B_Uk6Vk8.js";import"./onboard-helpers-PGl5bVPE.js";import"./prompt-style-BThRSQJR.js";import"./pairing-labels-D-kzQEL2.js";import"./search-manager-Bp9x20r6.js";import"./manager-C2YW7Hkq.js";import"./memory-cli-XaxtBQm1.js";import{t as x}from"./links-CBnmRP9D.js";import{n as S}from"./cli-utils-BleB1eys.js";import{t as C}from"./help-format-B4aEI7V9.js";import{n as w}from"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import{t as T}from"./plugin-registry-C6dY-Et7.js";import{t as E}from"./helpers-COz1ghcB.js";import{n as D,t as O}from"./table-CR7TFMew.js";import{t as k}from"./text-format-DEWK6oCT.js";const A=e=>{let t=u(e)?.meta.label;if(t)return t;let n=l(e);return n?c(n).label:e};function j(e,t){if(!t)return`✅ Sent via ${A(e)}. Message ID: unknown`;let n=`✅ Sent via ${A(t.channel)}. Message ID: ${t.messageId}`;return`chatId`in t?`${n} (chat ${t.chatId})`:`channelId`in t?`${n} (channel ${t.channelId})`:`roomId`in t?`${n} (room ${t.roomId})`:`conversationId`in t?`${n} (conversation ${t.conversationId})`:n}function M(e){return`✅ ${e.action??`Sent`} via gateway${e.channel?` (${e.channel})`:``}. Message ID: ${e.messageId??`unknown`}`}const N=e=>u(e)?.meta.label??e;function P(e){if(!e||typeof e!=`object`)return null;let t=e.messageId;if(typeof t==`string`&&t.trim())return t.trim();let n=e.result;if(n&&typeof n==`object`){let e=n.messageId;if(typeof e==`string`&&e.trim())return e.trim()}return null}function F(e){return{action:e.action,channel:e.channel,dryRun:e.dryRun,handledBy:e.handledBy,payload:e.payload}}function I(t,n){if(!t||typeof t!=`object`)return[String(t)];let r=t,i=Object.keys(r);if(i.length===0)return[e.muted(`(empty)`)];let a=i.slice(0,20).map(e=>{let t=r[e];return{Key:e,Value:k(t==null?`null`:Array.isArray(t)?`${t.length} items`:typeof t==`object`?`object`:typeof t==`string`?t:typeof t==`number`?String(t):typeof t==`boolean`?t?`true`:`false`:typeof t==`bigint`||typeof t==`symbol`?t.toString():typeof t==`function`?`function`:`unknown`,96)}});return[D({width:n.width,columns:[{key:`Key`,header:`Key`,minWidth:16},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:a}).trimEnd()]}function L(t,n,r){let i=t.slice(0,25).map(e=>{let t=e,n=typeof t.id==`string`&&t.id||typeof t.ts==`string`&&t.ts||typeof t.messageId==`string`&&t.messageId||``,r=t.author,i=typeof t.authorTag==`string`&&t.authorTag||typeof r?.username==`string`&&r.username||typeof t.user==`string`&&t.user||``,a=typeof t.timestamp==`string`&&t.timestamp||typeof t.ts==`string`&&t.ts||``,o=typeof t.content==`string`&&t.content||typeof t.text==`string`&&t.text||``;return{Time:k(a,28),Author:k(i,22),Text:k(o.replace(/\s+/g,` `).trim(),90),Id:k(n,22)}});return i.length===0?[e.muted(r)]:[D({width:n.width,columns:[{key:`Time`,header:`Time`,minWidth:14},{key:`Author`,header:`Author`,minWidth:10},{key:`Text`,header:`Text`,flex:!0,minWidth:24},{key:`Id`,header:`Id`,minWidth:10}],rows:i}).trimEnd()]}function R(e,t){if(!e||typeof e!=`object`)return null;let n=e.messages;return Array.isArray(n)?L(n,t,`No messages.`):null}function z(e,t){if(!e||typeof e!=`object`)return null;let n=e.pins;return Array.isArray(n)?L(n,t,`No pins.`):null}function B(e){if(!e||typeof e!=`object`)return null;let t=e.messages;if(!Array.isArray(t))return null;let n=[];for(let e of t)Array.isArray(e)&&e.length>0?n.push(e[0]):e&&typeof e==`object`&&n.push(e);return n.length?n:null}function V(t,n){if(!t||typeof t!=`object`)return null;let r=t.reactions;if(!Array.isArray(r))return null;let i=r.slice(0,50).map(e=>{let t=e,n=t.emoji;return{Emoji:typeof n?.raw==`string`&&n.raw||typeof t.name==`string`&&t.name||typeof t.emoji==`string`&&t.emoji||``,Count:typeof t.count==`number`?String(t.count):``,Users:k((Array.isArray(t.users)?t.users.slice(0,8).map(e=>{if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return``;let t=e;return typeof t.tag==`string`&&t.tag||typeof t.username==`string`&&t.username||typeof t.id==`string`&&t.id||``}).filter(Boolean):[]).join(`, `),72)}});return i.length===0?[e.muted(`No reactions.`)]:[D({width:n.width,columns:[{key:`Emoji`,header:`Emoji`,minWidth:8},{key:`Count`,header:`Count`,align:`right`,minWidth:6},{key:`Users`,header:`Users`,flex:!0,minWidth:20}],rows:i}).trimEnd()]}function ee(n){let r=t(),i=t=>r?e.success(t):t,a=t=>r?e.muted(t):t,o=t=>r?e.heading(t):t,s={width:O()};if(n.handledBy===`dry-run`)return[a(`[dry-run] would run ${n.action} via ${n.channel}`)];if(n.kind===`broadcast`){let e=n.payload.results??[],t=e.map(e=>({Channel:N(e.channel),Target:k(d({channel:e.channel,target:e.to}),36),Status:e.ok?`ok`:`error`,Error:e.ok?``:k(e.error??`unknown error`,48)})),r=e.filter(e=>e.ok).length,a=e.length;return[i(`✅ Broadcast complete (${r}/${a} succeeded, ${a-r} failed)`),D({width:s.width,columns:[{key:`Channel`,header:`Channel`,minWidth:10},{key:`Target`,header:`Target`,minWidth:12,flex:!0},{key:`Status`,header:`Status`,minWidth:6},{key:`Error`,header:`Error`,minWidth:20,flex:!0}],rows:t.slice(0,50)}).trimEnd()]}if(n.kind===`send`){if(n.handledBy===`core`&&n.sendResult){let e=n.sendResult;if(e.via===`direct`){let t=e.result;return[i(j(e.channel,t))]}let t=e.result;return[i(M({channel:e.channel,messageId:t?.messageId??null}))]}let e=N(n.channel),t=P(n.payload);return[i(`✅ Sent via ${e}.${t?` Message ID: ${t}`:``}`)]}if(n.kind===`poll`){if(n.handledBy===`core`&&n.pollResult){let e=n.pollResult,t=e.result?.pollId,r=e.result?.messageId??null,a=[i(M({action:`Poll sent`,channel:e.channel,messageId:r}))];return t&&a.push(i(`Poll id: ${t}`)),a}let e=N(n.channel),t=P(n.payload);return[i(`✅ Poll sent via ${e}.${t?` Message ID: ${t}`:``}`)]}let c=n.payload,l=[];if(n.action===`react`){let e=c.added,t=c.removed;if(typeof e==`string`&&e.trim())return l.push(i(`✅ Reaction added: ${e.trim()}`)),l;if(typeof t==`string`&&t.trim())return l.push(i(`✅ Reaction removed: ${t.trim()}`)),l;if(Array.isArray(t)){let e=t.map(e=>String(e).trim()).filter(Boolean).join(`, `);return l.push(i(`✅ Reactions removed${e?`: ${e}`:``}`)),l}return l.push(i(`✅ Reaction updated.`)),l}let u=V(c,s);if(u&&n.action===`reactions`)return l.push(o(`Reactions`)),l.push(u[0]??``),l;if(n.action===`read`){let e=R(c,s);if(e)return l.push(o(`Messages`)),l.push(e[0]??``),l}if(n.action===`list-pins`){let e=z(c,s);if(e)return l.push(o(`Pinned messages`)),l.push(e[0]??``),l}if(n.action===`search`){let e=c.results,t=B(e);if(t)return l.push(o(`Search results`)),l.push(L(t,s,`No results.`)[0]??``),l}l.push(i(`✅ ${n.action} via ${N(n.channel)}.`));let f=I(c,s);return f.length&&(l.push(``),l.push(...f),l.push(``),l.push(a(`Tip: use --json for full output.`))),l}async function H(e,t,n){let{resolvedConfig:r,diagnostics:i}=await b({config:a(),commandName:`message`,targetIds:y()});for(let e of i)n.log(`[secrets] ${e}`);let c=(typeof e.action==`string`?e.action.trim():``)||`send`,l=f.find(e=>e.toLowerCase()===c.toLowerCase());if(!l)throw Error(`Unknown message action: ${c}`);let u=l,d=m(t),p=async()=>await h({cfg:r,action:u,params:e,deps:d,gateway:{clientName:s.CLI,mode:o.CLI}}),g=e.json===!0,_=e.dryRun===!0,v=!g&&!_&&(u===`send`||u===`poll`)?await w({label:u===`poll`?`Sending poll...`:`Sending...`,indeterminate:!0,enabled:!0},p):await p();if(g){n.log(JSON.stringify(F(v),null,2));return}for(let e of ee(v))n.log(e)}function U(e){let{account:t,...n}=e;return{...n,accountId:typeof t==`string`?t:void 0}}async function W(){await v({event:{reason:`cli message action complete`},ctx:{},onError:e=>n.error(r(`gateway_stop hook failed: ${String(e)}`))})}function G(e,t){return{withMessageBase:e=>e.option(`--channel <channel>`,`Channel: ${t}`).option(`--account <id>`,`Channel account id (accountId)`).option(`--json`,`Output result as JSON`,!1).option(`--dry-run`,`Print payload and skip sending`,!1).option(`--verbose`,`Verbose logging`,!1),withMessageTarget:e=>e.option(`-t, --target <dest>`,_),withRequiredMessageTarget:e=>e.requiredOption(`-t, --target <dest>`,_),runMessageAction:async(e,t)=>{i(!!t.verbose),T();let a=g(),o=!1;await S(n,async()=>{await H({...U(t),action:e},a,n)},e=>{o=!0,n.error(r(String(e)))}),await W(),n.exit(o?1:0)}}}function K(e,t){t.withMessageBase(e.command(`broadcast`).description(`Broadcast a message to multiple targets`)).requiredOption(`--targets <target...>`,p).option(`--message <text>`,`Message to send`).option(`--media <url>`,`Media URL`).action(async e=>{await t.runMessageAction(`broadcast`,e)})}function q(e,t){let n=e.command(`role`).description(`Role actions`);t.withMessageBase(n.command(`info`).description(`List roles`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`role-info`,e)}),t.withMessageBase(n.command(`add`).description(`Add role to a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-add`,e)}),t.withMessageBase(n.command(`remove`).description(`Remove role from a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-remove`,e)});let r=e.command(`channel`).description(`Channel actions`);t.withMessageBase(t.withRequiredMessageTarget(r.command(`info`).description(`Fetch channel info`))).action(async e=>{await t.runMessageAction(`channel-info`,e)}),t.withMessageBase(r.command(`list`).description(`List channels`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`channel-list`,e)});let i=e.command(`member`).description(`Member actions`);t.withMessageBase(i.command(`info`).description(`Fetch member info`).requiredOption(`--user-id <id>`,`User id`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`member-info`,e)});let a=e.command(`voice`).description(`Voice actions`);t.withMessageBase(a.command(`status`).description(`Fetch voice status`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).action(async e=>{await t.runMessageAction(`voice-status`,e)});let o=e.command(`event`).description(`Event actions`);t.withMessageBase(o.command(`list`).description(`List scheduled events`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`event-list`,e)}),t.withMessageBase(o.command(`create`).description(`Create a scheduled event`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--event-name <name>`,`Event name`).requiredOption(`--start-time <iso>`,`Event start time`)).option(`--end-time <iso>`,`Event end time`).option(`--desc <text>`,`Event description`).option(`--channel-id <id>`,`Channel id`).option(`--location <text>`,`Event location`).option(`--event-type <stage|external|voice>`,`Event type`).action(async e=>{await t.runMessageAction(`event-create`,e)}),t.withMessageBase(e.command(`timeout`).description(`Timeout a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--duration-min <n>`,`Timeout duration minutes`).option(`--until <iso>`,`Timeout until`).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`timeout`,e)}),t.withMessageBase(e.command(`kick`).description(`Kick a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`kick`,e)}),t.withMessageBase(e.command(`ban`).description(`Ban a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).option(`--delete-days <n>`,`Ban delete message days`).action(async e=>{await t.runMessageAction(`ban`,e)})}function J(e,t){let n=e.command(`emoji`).description(`Emoji actions`);t.withMessageBase(n.command(`list`).description(`List emojis`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`emoji-list`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload an emoji`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--emoji-name <name>`,`Emoji name`).requiredOption(`--media <path-or-url>`,`Emoji media (path or URL)`).option(`--role-ids <id>`,`Role id (repeat)`,E,[]).action(async e=>{await t.runMessageAction(`emoji-upload`,e)})}function Y(e,t){let n=e.command(`sticker`).description(`Sticker actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`send`).description(`Send stickers`))).requiredOption(`--sticker-id <id>`,`Sticker id (repeat)`,E).option(`-m, --message <text>`,`Optional message body`).action(async e=>{await t.runMessageAction(`sticker`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload a sticker`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--sticker-name <name>`,`Sticker name`).requiredOption(`--sticker-desc <text>`,`Sticker description`).requiredOption(`--sticker-tags <tags>`,`Sticker tags`).requiredOption(`--media <path-or-url>`,`Sticker media (path or URL)`).action(async e=>{await t.runMessageAction(`sticker-upload`,e)})}function X(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`permissions`).description(`Fetch channel permissions`))).action(async e=>{await t.runMessageAction(`permissions`,e)})}function Z(e,t){t.withMessageBase(e.command(`search`).description(`Search Discord messages`)).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--query <text>`,`Search query`).option(`--channel-id <id>`,`Channel id`).option(`--channel-ids <id>`,`Channel id (repeat)`,E,[]).option(`--author-id <id>`,`Author id`).option(`--author-ids <id>`,`Author id (repeat)`,E,[]).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`search`,e)})}function Q(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`pin`).description(`Pin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`pin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`unpin`).description(`Unpin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`unpin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`pins`).description(`List pinned messages`))).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`list-pins`,e)})}function $(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`poll`).description(`Send a poll`))).requiredOption(`--poll-question <text>`,`Poll question`).option(`--poll-option <choice>`,`Poll option (repeat 2-12 times)`,E,[]).option(`--poll-multi`,`Allow multiple selections`,!1).option(`--poll-duration-hours <n>`,`Poll duration in hours (Discord)`).option(`--poll-duration-seconds <n>`,`Poll duration in seconds (Telegram; 5-600)`).option(`--poll-anonymous`,`Send an anonymous poll (Telegram)`,!1).option(`--poll-public`,`Send a non-anonymous poll (Telegram)`,!1).option(`-m, --message <text>`,`Optional message body`).option(`--silent`,`Send poll silently without notification (Telegram + Discord where supported)`,!1).option(`--thread-id <id>`,`Thread id (Telegram forum topic / Slack thread ts)`).action(async e=>{await t.runMessageAction(`poll`,e)})}function te(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`react`).description(`Add or remove a reaction`))).requiredOption(`--message-id <id>`,`Message id`).option(`--emoji <emoji>`,`Emoji for reactions`).option(`--remove`,`Remove reaction`,!1).option(`--participant <id>`,`WhatsApp reaction participant`).option(`--from-me`,`WhatsApp reaction fromMe`,!1).option(`--target-author <id>`,`Signal reaction target author (uuid or phone)`).option(`--target-author-uuid <uuid>`,`Signal reaction target author uuid`).action(async e=>{await t.runMessageAction(`react`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`reactions`).description(`List reactions on a message`))).requiredOption(`--message-id <id>`,`Message id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`reactions`,e)})}function ne(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`read`).description(`Read recent messages`))).option(`--limit <n>`,`Result limit`).option(`--before <id>`,`Read/search before id`).option(`--after <id>`,`Read/search after id`).option(`--around <id>`,`Read around id`).option(`--include-thread`,`Include thread replies (Discord)`,!1).action(async e=>{await t.runMessageAction(`read`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`edit`).description(`Edit a message`).requiredOption(`--message-id <id>`,`Message id`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).action(async e=>{await t.runMessageAction(`edit`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`delete`).description(`Delete a message`).requiredOption(`--message-id <id>`,`Message id`))).action(async e=>{await t.runMessageAction(`delete`,e)})}function re(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`send`).description(`Send a message`).option(`-m, --message <text>`,`Message body (required unless --media is set)`)).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--buttons <json>`,`Telegram inline keyboard buttons as JSON (array of button rows)`).option(`--components <json>`,`Discord components payload as JSON`).option(`--card <json>`,`Adaptive Card JSON object (when supported by the channel)`).option(`--reply-to <id>`,`Reply-to message id`).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).option(`--gif-playback`,`Treat video media as GIF playback (WhatsApp only).`,!1).option(`--silent`,`Send message silently without notification (Telegram + Discord)`,!1)).action(async e=>{await t.runMessageAction(`send`,e)})}function ie(e,t){let n=e.command(`thread`).description(`Thread actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`create`).description(`Create a thread`).requiredOption(`--thread-name <name>`,`Thread name`))).option(`--message-id <id>`,`Message id (optional)`).option(`-m, --message <text>`,`Initial thread message text`).option(`--auto-archive-min <n>`,`Thread auto-archive minutes`).action(async e=>{await t.runMessageAction(`thread-create`,e)}),t.withMessageBase(n.command(`list`).description(`List threads`).requiredOption(`--guild-id <id>`,`Guild id`)).option(`--channel-id <id>`,`Channel id`).option(`--include-archived`,`Include archived threads`,!1).option(`--before <id>`,`Read/search before id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`thread-list`,e)}),t.withMessageBase(t.withRequiredMessageTarget(n.command(`reply`).description(`Reply in a thread`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--reply-to <id>`,`Reply-to message id`).action(async e=>{await t.runMessageAction(`thread-reply`,e)})}function ae(t,n){let r=t.command(`message`).description(`Send, read, and manage messages and channel actions`).addHelpText(`after`,()=>`
|
|
1
|
+
import{A as e,k as t,p as n,v as r,w as i}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{jo as a,lr as o,ur as s}from"./auth-profiles-T8DuH3ax.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import{a as c,l}from"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import{t as u}from"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-CW81y5Wz.js";import"./send-DavpkzhH.js";import{Ct as d,Et as f,Kt as p,O as m,dt as h,k as g,qt as _}from"./compact-BEeB6bwq.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-_htt7eY5.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import{P as v}from"./deliver-BHuhHfkH.js";import"./diagnostic-DQq4Bwrs.js";import"./send-DkiKKUkt.js";import"./pi-model-discovery-CpjYoBQf.js";import"./exec-approvals-allowlist-D8mN7nxV.js";import"./exec-safe-bin-runtime-policy-dcCS_Adf.js";import"./model-catalog-COVzoZD9.js";import"./fetch-CQaNr5J1.js";import"./audio-transcription-runner-Bd1OZC6K.js";import"./fetch-guard-BrTtJw7h.js";import"./image-BkWwI54C.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-D0QU-kQ9.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-D8Hh84ab.js";import"./render-DrrPmnMI.js";import"./target-errors-CgWAJOam.js";import"./commands-Dy7duWlt.js";import"./commands-registry-Cpl4QnG4.js";import"./session-cost-usage-CHtVgnE8.js";import"./session-utils-8acNlxwP.js";import"./sqlite-CILF3z9U.js";import"./call-B8Fb4_oh.js";import"./pi-tools.policy-D40r0HmD.js";import"./pairing-store-BH-FTYkn.js";import"./fetch-Dh-apy46.js";import"./skill-commands-CSF6wVPU.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-DAR7V7FJ.js";import"./channel-activity-BBrgoad1.js";import"./tables-Brc2lNcB.js";import"./kill-tree-B3g7HrAO.js";import"./runtime-web-tools-D8fms06-.js";import"./runtime-Dlg2-Omq.js";import"./node-shell-DyOfwHrh.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-BBeE1TmB.js";import"./plugin-auto-enable-NzmNh4oU.js";import"./send-CVplsJpw.js";import"./outbound-attachment-BgAe99RM.js";import"./delivery-queue-nkPJu0fY.js";import"./send-C48Y9SAq.js";import"./system-run-command-BKfMiqQM.js";import"./fetch-Ce-scEU-.js";import{n as y,s as b}from"./command-secret-targets-BlN-J_fA.js";import"./connection-auth-B_Uk6Vk8.js";import"./onboard-helpers-PGl5bVPE.js";import"./prompt-style-BThRSQJR.js";import"./pairing-labels-D-kzQEL2.js";import"./search-manager-Bp9x20r6.js";import"./manager-C2YW7Hkq.js";import"./memory-cli-XaxtBQm1.js";import{t as x}from"./links-CBnmRP9D.js";import{n as S}from"./cli-utils-BleB1eys.js";import{t as C}from"./help-format-B4aEI7V9.js";import{n as w}from"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import{t as T}from"./plugin-registry-CYlBYbc8.js";import{t as E}from"./helpers-COz1ghcB.js";import{n as D,t as O}from"./table-CR7TFMew.js";import{t as k}from"./text-format-DEWK6oCT.js";const A=e=>{let t=u(e)?.meta.label;if(t)return t;let n=l(e);return n?c(n).label:e};function j(e,t){if(!t)return`✅ Sent via ${A(e)}. Message ID: unknown`;let n=`✅ Sent via ${A(t.channel)}. Message ID: ${t.messageId}`;return`chatId`in t?`${n} (chat ${t.chatId})`:`channelId`in t?`${n} (channel ${t.channelId})`:`roomId`in t?`${n} (room ${t.roomId})`:`conversationId`in t?`${n} (conversation ${t.conversationId})`:n}function M(e){return`✅ ${e.action??`Sent`} via gateway${e.channel?` (${e.channel})`:``}. Message ID: ${e.messageId??`unknown`}`}const N=e=>u(e)?.meta.label??e;function P(e){if(!e||typeof e!=`object`)return null;let t=e.messageId;if(typeof t==`string`&&t.trim())return t.trim();let n=e.result;if(n&&typeof n==`object`){let e=n.messageId;if(typeof e==`string`&&e.trim())return e.trim()}return null}function F(e){return{action:e.action,channel:e.channel,dryRun:e.dryRun,handledBy:e.handledBy,payload:e.payload}}function I(t,n){if(!t||typeof t!=`object`)return[String(t)];let r=t,i=Object.keys(r);if(i.length===0)return[e.muted(`(empty)`)];let a=i.slice(0,20).map(e=>{let t=r[e];return{Key:e,Value:k(t==null?`null`:Array.isArray(t)?`${t.length} items`:typeof t==`object`?`object`:typeof t==`string`?t:typeof t==`number`?String(t):typeof t==`boolean`?t?`true`:`false`:typeof t==`bigint`||typeof t==`symbol`?t.toString():typeof t==`function`?`function`:`unknown`,96)}});return[D({width:n.width,columns:[{key:`Key`,header:`Key`,minWidth:16},{key:`Value`,header:`Value`,flex:!0,minWidth:24}],rows:a}).trimEnd()]}function L(t,n,r){let i=t.slice(0,25).map(e=>{let t=e,n=typeof t.id==`string`&&t.id||typeof t.ts==`string`&&t.ts||typeof t.messageId==`string`&&t.messageId||``,r=t.author,i=typeof t.authorTag==`string`&&t.authorTag||typeof r?.username==`string`&&r.username||typeof t.user==`string`&&t.user||``,a=typeof t.timestamp==`string`&&t.timestamp||typeof t.ts==`string`&&t.ts||``,o=typeof t.content==`string`&&t.content||typeof t.text==`string`&&t.text||``;return{Time:k(a,28),Author:k(i,22),Text:k(o.replace(/\s+/g,` `).trim(),90),Id:k(n,22)}});return i.length===0?[e.muted(r)]:[D({width:n.width,columns:[{key:`Time`,header:`Time`,minWidth:14},{key:`Author`,header:`Author`,minWidth:10},{key:`Text`,header:`Text`,flex:!0,minWidth:24},{key:`Id`,header:`Id`,minWidth:10}],rows:i}).trimEnd()]}function R(e,t){if(!e||typeof e!=`object`)return null;let n=e.messages;return Array.isArray(n)?L(n,t,`No messages.`):null}function z(e,t){if(!e||typeof e!=`object`)return null;let n=e.pins;return Array.isArray(n)?L(n,t,`No pins.`):null}function B(e){if(!e||typeof e!=`object`)return null;let t=e.messages;if(!Array.isArray(t))return null;let n=[];for(let e of t)Array.isArray(e)&&e.length>0?n.push(e[0]):e&&typeof e==`object`&&n.push(e);return n.length?n:null}function V(t,n){if(!t||typeof t!=`object`)return null;let r=t.reactions;if(!Array.isArray(r))return null;let i=r.slice(0,50).map(e=>{let t=e,n=t.emoji;return{Emoji:typeof n?.raw==`string`&&n.raw||typeof t.name==`string`&&t.name||typeof t.emoji==`string`&&t.emoji||``,Count:typeof t.count==`number`?String(t.count):``,Users:k((Array.isArray(t.users)?t.users.slice(0,8).map(e=>{if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return``;let t=e;return typeof t.tag==`string`&&t.tag||typeof t.username==`string`&&t.username||typeof t.id==`string`&&t.id||``}).filter(Boolean):[]).join(`, `),72)}});return i.length===0?[e.muted(`No reactions.`)]:[D({width:n.width,columns:[{key:`Emoji`,header:`Emoji`,minWidth:8},{key:`Count`,header:`Count`,align:`right`,minWidth:6},{key:`Users`,header:`Users`,flex:!0,minWidth:20}],rows:i}).trimEnd()]}function ee(n){let r=t(),i=t=>r?e.success(t):t,a=t=>r?e.muted(t):t,o=t=>r?e.heading(t):t,s={width:O()};if(n.handledBy===`dry-run`)return[a(`[dry-run] would run ${n.action} via ${n.channel}`)];if(n.kind===`broadcast`){let e=n.payload.results??[],t=e.map(e=>({Channel:N(e.channel),Target:k(d({channel:e.channel,target:e.to}),36),Status:e.ok?`ok`:`error`,Error:e.ok?``:k(e.error??`unknown error`,48)})),r=e.filter(e=>e.ok).length,a=e.length;return[i(`✅ Broadcast complete (${r}/${a} succeeded, ${a-r} failed)`),D({width:s.width,columns:[{key:`Channel`,header:`Channel`,minWidth:10},{key:`Target`,header:`Target`,minWidth:12,flex:!0},{key:`Status`,header:`Status`,minWidth:6},{key:`Error`,header:`Error`,minWidth:20,flex:!0}],rows:t.slice(0,50)}).trimEnd()]}if(n.kind===`send`){if(n.handledBy===`core`&&n.sendResult){let e=n.sendResult;if(e.via===`direct`){let t=e.result;return[i(j(e.channel,t))]}let t=e.result;return[i(M({channel:e.channel,messageId:t?.messageId??null}))]}let e=N(n.channel),t=P(n.payload);return[i(`✅ Sent via ${e}.${t?` Message ID: ${t}`:``}`)]}if(n.kind===`poll`){if(n.handledBy===`core`&&n.pollResult){let e=n.pollResult,t=e.result?.pollId,r=e.result?.messageId??null,a=[i(M({action:`Poll sent`,channel:e.channel,messageId:r}))];return t&&a.push(i(`Poll id: ${t}`)),a}let e=N(n.channel),t=P(n.payload);return[i(`✅ Poll sent via ${e}.${t?` Message ID: ${t}`:``}`)]}let c=n.payload,l=[];if(n.action===`react`){let e=c.added,t=c.removed;if(typeof e==`string`&&e.trim())return l.push(i(`✅ Reaction added: ${e.trim()}`)),l;if(typeof t==`string`&&t.trim())return l.push(i(`✅ Reaction removed: ${t.trim()}`)),l;if(Array.isArray(t)){let e=t.map(e=>String(e).trim()).filter(Boolean).join(`, `);return l.push(i(`✅ Reactions removed${e?`: ${e}`:``}`)),l}return l.push(i(`✅ Reaction updated.`)),l}let u=V(c,s);if(u&&n.action===`reactions`)return l.push(o(`Reactions`)),l.push(u[0]??``),l;if(n.action===`read`){let e=R(c,s);if(e)return l.push(o(`Messages`)),l.push(e[0]??``),l}if(n.action===`list-pins`){let e=z(c,s);if(e)return l.push(o(`Pinned messages`)),l.push(e[0]??``),l}if(n.action===`search`){let e=c.results,t=B(e);if(t)return l.push(o(`Search results`)),l.push(L(t,s,`No results.`)[0]??``),l}l.push(i(`✅ ${n.action} via ${N(n.channel)}.`));let f=I(c,s);return f.length&&(l.push(``),l.push(...f),l.push(``),l.push(a(`Tip: use --json for full output.`))),l}async function H(e,t,n){let{resolvedConfig:r,diagnostics:i}=await b({config:a(),commandName:`message`,targetIds:y()});for(let e of i)n.log(`[secrets] ${e}`);let c=(typeof e.action==`string`?e.action.trim():``)||`send`,l=f.find(e=>e.toLowerCase()===c.toLowerCase());if(!l)throw Error(`Unknown message action: ${c}`);let u=l,d=m(t),p=async()=>await h({cfg:r,action:u,params:e,deps:d,gateway:{clientName:s.CLI,mode:o.CLI}}),g=e.json===!0,_=e.dryRun===!0,v=!g&&!_&&(u===`send`||u===`poll`)?await w({label:u===`poll`?`Sending poll...`:`Sending...`,indeterminate:!0,enabled:!0},p):await p();if(g){n.log(JSON.stringify(F(v),null,2));return}for(let e of ee(v))n.log(e)}function U(e){let{account:t,...n}=e;return{...n,accountId:typeof t==`string`?t:void 0}}async function W(){await v({event:{reason:`cli message action complete`},ctx:{},onError:e=>n.error(r(`gateway_stop hook failed: ${String(e)}`))})}function G(e,t){return{withMessageBase:e=>e.option(`--channel <channel>`,`Channel: ${t}`).option(`--account <id>`,`Channel account id (accountId)`).option(`--json`,`Output result as JSON`,!1).option(`--dry-run`,`Print payload and skip sending`,!1).option(`--verbose`,`Verbose logging`,!1),withMessageTarget:e=>e.option(`-t, --target <dest>`,_),withRequiredMessageTarget:e=>e.requiredOption(`-t, --target <dest>`,_),runMessageAction:async(e,t)=>{i(!!t.verbose),T();let a=g(),o=!1;await S(n,async()=>{await H({...U(t),action:e},a,n)},e=>{o=!0,n.error(r(String(e)))}),await W(),n.exit(o?1:0)}}}function K(e,t){t.withMessageBase(e.command(`broadcast`).description(`Broadcast a message to multiple targets`)).requiredOption(`--targets <target...>`,p).option(`--message <text>`,`Message to send`).option(`--media <url>`,`Media URL`).action(async e=>{await t.runMessageAction(`broadcast`,e)})}function q(e,t){let n=e.command(`role`).description(`Role actions`);t.withMessageBase(n.command(`info`).description(`List roles`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`role-info`,e)}),t.withMessageBase(n.command(`add`).description(`Add role to a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-add`,e)}),t.withMessageBase(n.command(`remove`).description(`Remove role from a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`).requiredOption(`--role-id <id>`,`Role id`)).action(async e=>{await t.runMessageAction(`role-remove`,e)});let r=e.command(`channel`).description(`Channel actions`);t.withMessageBase(t.withRequiredMessageTarget(r.command(`info`).description(`Fetch channel info`))).action(async e=>{await t.runMessageAction(`channel-info`,e)}),t.withMessageBase(r.command(`list`).description(`List channels`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`channel-list`,e)});let i=e.command(`member`).description(`Member actions`);t.withMessageBase(i.command(`info`).description(`Fetch member info`).requiredOption(`--user-id <id>`,`User id`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`member-info`,e)});let a=e.command(`voice`).description(`Voice actions`);t.withMessageBase(a.command(`status`).description(`Fetch voice status`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).action(async e=>{await t.runMessageAction(`voice-status`,e)});let o=e.command(`event`).description(`Event actions`);t.withMessageBase(o.command(`list`).description(`List scheduled events`).requiredOption(`--guild-id <id>`,`Guild id`)).action(async e=>{await t.runMessageAction(`event-list`,e)}),t.withMessageBase(o.command(`create`).description(`Create a scheduled event`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--event-name <name>`,`Event name`).requiredOption(`--start-time <iso>`,`Event start time`)).option(`--end-time <iso>`,`Event end time`).option(`--desc <text>`,`Event description`).option(`--channel-id <id>`,`Channel id`).option(`--location <text>`,`Event location`).option(`--event-type <stage|external|voice>`,`Event type`).action(async e=>{await t.runMessageAction(`event-create`,e)}),t.withMessageBase(e.command(`timeout`).description(`Timeout a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--duration-min <n>`,`Timeout duration minutes`).option(`--until <iso>`,`Timeout until`).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`timeout`,e)}),t.withMessageBase(e.command(`kick`).description(`Kick a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).action(async e=>{await t.runMessageAction(`kick`,e)}),t.withMessageBase(e.command(`ban`).description(`Ban a member`).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--user-id <id>`,`User id`)).option(`--reason <text>`,`Moderation reason`).option(`--delete-days <n>`,`Ban delete message days`).action(async e=>{await t.runMessageAction(`ban`,e)})}function J(e,t){let n=e.command(`emoji`).description(`Emoji actions`);t.withMessageBase(n.command(`list`).description(`List emojis`)).option(`--guild-id <id>`,`Guild id (Discord)`).action(async e=>{await t.runMessageAction(`emoji-list`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload an emoji`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--emoji-name <name>`,`Emoji name`).requiredOption(`--media <path-or-url>`,`Emoji media (path or URL)`).option(`--role-ids <id>`,`Role id (repeat)`,E,[]).action(async e=>{await t.runMessageAction(`emoji-upload`,e)})}function Y(e,t){let n=e.command(`sticker`).description(`Sticker actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`send`).description(`Send stickers`))).requiredOption(`--sticker-id <id>`,`Sticker id (repeat)`,E).option(`-m, --message <text>`,`Optional message body`).action(async e=>{await t.runMessageAction(`sticker`,e)}),t.withMessageBase(n.command(`upload`).description(`Upload a sticker`).requiredOption(`--guild-id <id>`,`Guild id`)).requiredOption(`--sticker-name <name>`,`Sticker name`).requiredOption(`--sticker-desc <text>`,`Sticker description`).requiredOption(`--sticker-tags <tags>`,`Sticker tags`).requiredOption(`--media <path-or-url>`,`Sticker media (path or URL)`).action(async e=>{await t.runMessageAction(`sticker-upload`,e)})}function X(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`permissions`).description(`Fetch channel permissions`))).action(async e=>{await t.runMessageAction(`permissions`,e)})}function Z(e,t){t.withMessageBase(e.command(`search`).description(`Search Discord messages`)).requiredOption(`--guild-id <id>`,`Guild id`).requiredOption(`--query <text>`,`Search query`).option(`--channel-id <id>`,`Channel id`).option(`--channel-ids <id>`,`Channel id (repeat)`,E,[]).option(`--author-id <id>`,`Author id`).option(`--author-ids <id>`,`Author id (repeat)`,E,[]).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`search`,e)})}function Q(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`pin`).description(`Pin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`pin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`unpin`).description(`Unpin a message`))).requiredOption(`--message-id <id>`,`Message id`).action(async e=>{await t.runMessageAction(`unpin`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`pins`).description(`List pinned messages`))).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`list-pins`,e)})}function $(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`poll`).description(`Send a poll`))).requiredOption(`--poll-question <text>`,`Poll question`).option(`--poll-option <choice>`,`Poll option (repeat 2-12 times)`,E,[]).option(`--poll-multi`,`Allow multiple selections`,!1).option(`--poll-duration-hours <n>`,`Poll duration in hours (Discord)`).option(`--poll-duration-seconds <n>`,`Poll duration in seconds (Telegram; 5-600)`).option(`--poll-anonymous`,`Send an anonymous poll (Telegram)`,!1).option(`--poll-public`,`Send a non-anonymous poll (Telegram)`,!1).option(`-m, --message <text>`,`Optional message body`).option(`--silent`,`Send poll silently without notification (Telegram + Discord where supported)`,!1).option(`--thread-id <id>`,`Thread id (Telegram forum topic / Slack thread ts)`).action(async e=>{await t.runMessageAction(`poll`,e)})}function te(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`react`).description(`Add or remove a reaction`))).requiredOption(`--message-id <id>`,`Message id`).option(`--emoji <emoji>`,`Emoji for reactions`).option(`--remove`,`Remove reaction`,!1).option(`--participant <id>`,`WhatsApp reaction participant`).option(`--from-me`,`WhatsApp reaction fromMe`,!1).option(`--target-author <id>`,`Signal reaction target author (uuid or phone)`).option(`--target-author-uuid <uuid>`,`Signal reaction target author uuid`).action(async e=>{await t.runMessageAction(`react`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`reactions`).description(`List reactions on a message`))).requiredOption(`--message-id <id>`,`Message id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`reactions`,e)})}function ne(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`read`).description(`Read recent messages`))).option(`--limit <n>`,`Result limit`).option(`--before <id>`,`Read/search before id`).option(`--after <id>`,`Read/search after id`).option(`--around <id>`,`Read around id`).option(`--include-thread`,`Include thread replies (Discord)`,!1).action(async e=>{await t.runMessageAction(`read`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`edit`).description(`Edit a message`).requiredOption(`--message-id <id>`,`Message id`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).action(async e=>{await t.runMessageAction(`edit`,e)}),t.withMessageBase(t.withRequiredMessageTarget(e.command(`delete`).description(`Delete a message`).requiredOption(`--message-id <id>`,`Message id`))).action(async e=>{await t.runMessageAction(`delete`,e)})}function re(e,t){t.withMessageBase(t.withRequiredMessageTarget(e.command(`send`).description(`Send a message`).option(`-m, --message <text>`,`Message body (required unless --media is set)`)).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--buttons <json>`,`Telegram inline keyboard buttons as JSON (array of button rows)`).option(`--components <json>`,`Discord components payload as JSON`).option(`--card <json>`,`Adaptive Card JSON object (when supported by the channel)`).option(`--reply-to <id>`,`Reply-to message id`).option(`--thread-id <id>`,`Thread id (Telegram forum thread)`).option(`--gif-playback`,`Treat video media as GIF playback (WhatsApp only).`,!1).option(`--silent`,`Send message silently without notification (Telegram + Discord)`,!1)).action(async e=>{await t.runMessageAction(`send`,e)})}function ie(e,t){let n=e.command(`thread`).description(`Thread actions`);t.withMessageBase(t.withRequiredMessageTarget(n.command(`create`).description(`Create a thread`).requiredOption(`--thread-name <name>`,`Thread name`))).option(`--message-id <id>`,`Message id (optional)`).option(`-m, --message <text>`,`Initial thread message text`).option(`--auto-archive-min <n>`,`Thread auto-archive minutes`).action(async e=>{await t.runMessageAction(`thread-create`,e)}),t.withMessageBase(n.command(`list`).description(`List threads`).requiredOption(`--guild-id <id>`,`Guild id`)).option(`--channel-id <id>`,`Channel id`).option(`--include-archived`,`Include archived threads`,!1).option(`--before <id>`,`Read/search before id`).option(`--limit <n>`,`Result limit`).action(async e=>{await t.runMessageAction(`thread-list`,e)}),t.withMessageBase(t.withRequiredMessageTarget(n.command(`reply`).description(`Reply in a thread`).requiredOption(`-m, --message <text>`,`Message body`))).option(`--media <path-or-url>`,`Attach media (image/audio/video/document). Accepts local paths or URLs.`).option(`--reply-to <id>`,`Reply-to message id`).action(async e=>{await t.runMessageAction(`thread-reply`,e)})}function ae(t,n){let r=t.command(`message`).description(`Send, read, and manage messages and channel actions`).addHelpText(`after`,()=>`
|
|
2
2
|
${e.heading(`Examples:`)}
|
|
3
3
|
${C([[`openclaw message send --target +15555550123 --message "Hi"`,`Send a text message.`],[`openclaw message send --target +15555550123 --message "Hi" --media photo.jpg`,`Send a message with media.`],[`openclaw message poll --channel discord --target channel:123 --poll-question "Snack?" --poll-option Pizza --poll-option Sushi`,`Create a Discord poll.`],[`openclaw message react --channel discord --target 123 --message-id 456 --emoji "✅"`,`React to a message.`]])}
|
|
4
4
|
|
|
5
5
|
${e.muted(`Docs:`)} ${x(`/cli/message`,`docs.openclaw.ai/cli/message`)}`).action(()=>{r.help({error:!0})}),i=G(r,n.messageChannelOptions);re(r,i),K(r,i),$(r,i),te(r,i),ne(r,i),Q(r,i),X(r,i),Z(r,i),ie(r,i),J(r,i),Y(r,i),q(r,i)}export{ae as registerMessageCommands};
|
|
6
|
-
//# sourceMappingURL=register.message-
|
|
6
|
+
//# sourceMappingURL=register.message-CM_Qudzn.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./paths-B4IRk3wi.js";import{A as e,p as t}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import"./model-selection-BlC_rXAN.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./call-CqoMqP5b.js";import"./onboard-helpers-zwybUJWu.js";import"./prompt-style-CXKekIBY.js";import{t as n}from"./links-CySwdMcF.js";import{n as r}from"./cli-utils-BY7dLMFy.js";import"./progress-LNttnI-y.js";import"./runtime-guard-DFYBaYZS.js";import"./note-D4GAwgha.js";import"./clack-prompter-Dq0aY6iM.js";import"./onboarding.secret-input-kO5OzYC7.js";import"./onboarding-
|
|
2
|
-
//# sourceMappingURL=register.onboard-
|
|
1
|
+
import"./paths-B4IRk3wi.js";import{A as e,p as t}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import"./model-selection-BlC_rXAN.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./call-CqoMqP5b.js";import"./onboard-helpers-zwybUJWu.js";import"./prompt-style-CXKekIBY.js";import{t as n}from"./links-CySwdMcF.js";import{n as r}from"./cli-utils-BY7dLMFy.js";import"./progress-LNttnI-y.js";import"./runtime-guard-DFYBaYZS.js";import"./note-D4GAwgha.js";import"./clack-prompter-Dq0aY6iM.js";import"./onboarding.secret-input-kO5OzYC7.js";import"./onboarding-BTBbx6Ka.js";import"./logging-Dqe9dxSX.js";import{t as i}from"./onboard-provider-auth-flags-Dvwzdz37.js";import{n as a}from"./auth-choice-options-Dw14noox.js";import{t as o}from"./onboard-B9ouFJC7.js";function s(e,t){if(!e||typeof e!=`object`)return;let n=`getOptionValueSource`in e?e.getOptionValueSource:void 0;if(typeof n==`function`){if(n.call(e,`skipDaemon`)===`cli`)return!1;if(n.call(e,`installDaemon`)===`cli`)return!!t.installDaemon}}const c=a({includeLegacyAliases:!0,includeSkip:!0});function l(a){let l=a.command(`onboard`).description(`Interactive wizard to set up the gateway, workspace, and skills`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${n(`/cli/onboard`,`docs.openclaw.ai/cli/onboard`)}\n`).option(`--workspace <dir>`,`Agent workspace directory (default: ~/.qbotclaw/workspace)`).option(`--reset`,`Reset config + credentials + sessions before running wizard (workspace only with --reset-scope full)`).option(`--reset-scope <scope>`,`Reset scope: config|config+creds+sessions|full`).option(`--non-interactive`,`Run without prompts`,!1).option(`--accept-risk`,`Acknowledge that agents are powerful and full system access is risky (required for --non-interactive)`,!1).option(`--flow <flow>`,`Wizard flow: quickstart|advanced|manual`).option(`--mode <mode>`,`Wizard mode: local|remote`).option(`--auth-choice <choice>`,`Auth: ${c}`).option(`--token-provider <id>`,`Token provider id (non-interactive; used with --auth-choice token)`).option(`--token <token>`,`Token value (non-interactive; used with --auth-choice token)`).option(`--token-profile-id <id>`,`Auth profile id (non-interactive; default: <provider>:manual)`).option(`--token-expires-in <duration>`,`Optional token expiry duration (e.g. 365d, 12h)`).option(`--secret-input-mode <mode>`,`API key persistence mode: plaintext|ref (default: plaintext)`).option(`--cloudflare-ai-gateway-account-id <id>`,`Cloudflare Account ID`).option(`--cloudflare-ai-gateway-gateway-id <id>`,`Cloudflare AI Gateway ID`);for(let e of i)l.option(e.cliOption,e.description);l.option(`--custom-base-url <url>`,`Custom provider base URL`).option(`--custom-api-key <key>`,`Custom provider API key (optional)`).option(`--custom-model-id <id>`,`Custom provider model ID`).option(`--custom-provider-id <id>`,`Custom provider ID (optional; auto-derived by default)`).option(`--custom-compatibility <mode>`,`Custom provider API compatibility: openai|anthropic (default: openai)`).option(`--gateway-port <port>`,`Gateway port`).option(`--gateway-bind <mode>`,`Gateway bind: loopback|tailnet|lan|auto|custom`).option(`--gateway-auth <mode>`,`Gateway auth: token|password`).option(`--gateway-token <token>`,`Gateway token (token auth)`).option(`--gateway-token-ref-env <name>`,`Gateway token SecretRef env var name (token auth; e.g. OPENCLAW_GATEWAY_TOKEN)`).option(`--gateway-password <password>`,`Gateway password (password auth)`).option(`--remote-url <url>`,`Remote Gateway WebSocket URL`).option(`--remote-token <token>`,`Remote Gateway token (optional)`).option(`--tailscale <mode>`,`Tailscale: off|serve|funnel`).option(`--tailscale-reset-on-exit`,`Reset tailscale serve/funnel on exit`).option(`--install-daemon`,`Install gateway service`).option(`--no-install-daemon`,`Skip gateway service install`).option(`--skip-daemon`,`Skip gateway service install`).option(`--daemon-runtime <runtime>`,`Daemon runtime: node|bun`).option(`--skip-channels`,`Skip channel setup`).option(`--skip-skills`,`Skip skills setup`).option(`--skip-search`,`Skip search provider setup`).option(`--skip-health`,`Skip health check`).option(`--skip-ui`,`Skip Control UI/TUI prompts`).option(`--node-manager <name>`,`Node manager for skills: npm|pnpm|bun`).option(`--json`,`Output JSON summary`,!1),l.action(async(e,n)=>{await r(t,async()=>{let r=s(n,{installDaemon:!!e.installDaemon}),i=typeof e.gatewayPort==`string`?Number.parseInt(e.gatewayPort,10):void 0;await o({workspace:e.workspace,nonInteractive:!!e.nonInteractive,acceptRisk:!!e.acceptRisk,flow:e.flow,mode:e.mode,authChoice:e.authChoice,tokenProvider:e.tokenProvider,token:e.token,tokenProfileId:e.tokenProfileId,tokenExpiresIn:e.tokenExpiresIn,secretInputMode:e.secretInputMode,anthropicApiKey:e.anthropicApiKey,openaiApiKey:e.openaiApiKey,mistralApiKey:e.mistralApiKey,openrouterApiKey:e.openrouterApiKey,kilocodeApiKey:e.kilocodeApiKey,aiGatewayApiKey:e.aiGatewayApiKey,cloudflareAiGatewayAccountId:e.cloudflareAiGatewayAccountId,cloudflareAiGatewayGatewayId:e.cloudflareAiGatewayGatewayId,cloudflareAiGatewayApiKey:e.cloudflareAiGatewayApiKey,moonshotApiKey:e.moonshotApiKey,kimiCodeApiKey:e.kimiCodeApiKey,geminiApiKey:e.geminiApiKey,zaiApiKey:e.zaiApiKey,xiaomiApiKey:e.xiaomiApiKey,qianfanApiKey:e.qianfanApiKey,modelstudioApiKeyCn:e.modelstudioApiKeyCn,modelstudioApiKey:e.modelstudioApiKey,minimaxApiKey:e.minimaxApiKey,syntheticApiKey:e.syntheticApiKey,veniceApiKey:e.veniceApiKey,togetherApiKey:e.togetherApiKey,huggingfaceApiKey:e.huggingfaceApiKey,opencodeZenApiKey:e.opencodeZenApiKey,opencodeGoApiKey:e.opencodeGoApiKey,xaiApiKey:e.xaiApiKey,litellmApiKey:e.litellmApiKey,volcengineApiKey:e.volcengineApiKey,byteplusApiKey:e.byteplusApiKey,customBaseUrl:e.customBaseUrl,customApiKey:e.customApiKey,customModelId:e.customModelId,customProviderId:e.customProviderId,customCompatibility:e.customCompatibility,gatewayPort:typeof i==`number`&&Number.isFinite(i)?i:void 0,gatewayBind:e.gatewayBind,gatewayAuth:e.gatewayAuth,gatewayToken:e.gatewayToken,gatewayTokenRefEnv:e.gatewayTokenRefEnv,gatewayPassword:e.gatewayPassword,remoteUrl:e.remoteUrl,remoteToken:e.remoteToken,tailscale:e.tailscale,tailscaleResetOnExit:!!e.tailscaleResetOnExit,reset:!!e.reset,resetScope:e.resetScope,installDaemon:r,daemonRuntime:e.daemonRuntime,skipChannels:!!e.skipChannels,skipSkills:!!e.skipSkills,skipSearch:!!e.skipSearch,skipHealth:!!e.skipHealth,skipUi:!!e.skipUi,nodeManager:e.nodeManager,json:!!e.json},t)})})}export{l as registerOnboardCommand};
|
|
2
|
+
//# sourceMappingURL=register.onboard-CJZKG0PP.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A as e,p as t}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-T8DuH3ax.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./call-B8Fb4_oh.js";import"./onboard-helpers-PGl5bVPE.js";import"./prompt-style-BThRSQJR.js";import{t as n}from"./links-CBnmRP9D.js";import{n as r}from"./cli-utils-BleB1eys.js";import"./progress-d1m2sqR1.js";import"./note-Dp-d_utk.js";import"./clack-prompter-DBPdGdqp.js";import"./runtime-guard-DX2Ie4ri.js";import"./onboarding.secret-input-BsBgh8Tc.js";import"./onboarding-
|
|
2
|
-
//# sourceMappingURL=register.onboard-
|
|
1
|
+
import{A as e,p as t}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-T8DuH3ax.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./call-B8Fb4_oh.js";import"./onboard-helpers-PGl5bVPE.js";import"./prompt-style-BThRSQJR.js";import{t as n}from"./links-CBnmRP9D.js";import{n as r}from"./cli-utils-BleB1eys.js";import"./progress-d1m2sqR1.js";import"./note-Dp-d_utk.js";import"./clack-prompter-DBPdGdqp.js";import"./runtime-guard-DX2Ie4ri.js";import"./onboarding.secret-input-BsBgh8Tc.js";import"./onboarding-TkoOoq9D.js";import"./logging-tYw1NbJd.js";import{t as i}from"./onboard-provider-auth-flags-CqbipO7D.js";import{n as a}from"./auth-choice-options-B3WQyS7I.js";import{t as o}from"./onboard-2iF3lTUI.js";function s(e,t){if(!e||typeof e!=`object`)return;let n=`getOptionValueSource`in e?e.getOptionValueSource:void 0;if(typeof n==`function`){if(n.call(e,`skipDaemon`)===`cli`)return!1;if(n.call(e,`installDaemon`)===`cli`)return!!t.installDaemon}}const c=a({includeLegacyAliases:!0,includeSkip:!0});function l(a){let l=a.command(`onboard`).description(`Interactive wizard to set up the gateway, workspace, and skills`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${n(`/cli/onboard`,`docs.openclaw.ai/cli/onboard`)}\n`).option(`--workspace <dir>`,`Agent workspace directory (default: ~/.qbotclaw/workspace)`).option(`--reset`,`Reset config + credentials + sessions before running wizard (workspace only with --reset-scope full)`).option(`--reset-scope <scope>`,`Reset scope: config|config+creds+sessions|full`).option(`--non-interactive`,`Run without prompts`,!1).option(`--accept-risk`,`Acknowledge that agents are powerful and full system access is risky (required for --non-interactive)`,!1).option(`--flow <flow>`,`Wizard flow: quickstart|advanced|manual`).option(`--mode <mode>`,`Wizard mode: local|remote`).option(`--auth-choice <choice>`,`Auth: ${c}`).option(`--token-provider <id>`,`Token provider id (non-interactive; used with --auth-choice token)`).option(`--token <token>`,`Token value (non-interactive; used with --auth-choice token)`).option(`--token-profile-id <id>`,`Auth profile id (non-interactive; default: <provider>:manual)`).option(`--token-expires-in <duration>`,`Optional token expiry duration (e.g. 365d, 12h)`).option(`--secret-input-mode <mode>`,`API key persistence mode: plaintext|ref (default: plaintext)`).option(`--cloudflare-ai-gateway-account-id <id>`,`Cloudflare Account ID`).option(`--cloudflare-ai-gateway-gateway-id <id>`,`Cloudflare AI Gateway ID`);for(let e of i)l.option(e.cliOption,e.description);l.option(`--custom-base-url <url>`,`Custom provider base URL`).option(`--custom-api-key <key>`,`Custom provider API key (optional)`).option(`--custom-model-id <id>`,`Custom provider model ID`).option(`--custom-provider-id <id>`,`Custom provider ID (optional; auto-derived by default)`).option(`--custom-compatibility <mode>`,`Custom provider API compatibility: openai|anthropic (default: openai)`).option(`--gateway-port <port>`,`Gateway port`).option(`--gateway-bind <mode>`,`Gateway bind: loopback|tailnet|lan|auto|custom`).option(`--gateway-auth <mode>`,`Gateway auth: token|password`).option(`--gateway-token <token>`,`Gateway token (token auth)`).option(`--gateway-token-ref-env <name>`,`Gateway token SecretRef env var name (token auth; e.g. OPENCLAW_GATEWAY_TOKEN)`).option(`--gateway-password <password>`,`Gateway password (password auth)`).option(`--remote-url <url>`,`Remote Gateway WebSocket URL`).option(`--remote-token <token>`,`Remote Gateway token (optional)`).option(`--tailscale <mode>`,`Tailscale: off|serve|funnel`).option(`--tailscale-reset-on-exit`,`Reset tailscale serve/funnel on exit`).option(`--install-daemon`,`Install gateway service`).option(`--no-install-daemon`,`Skip gateway service install`).option(`--skip-daemon`,`Skip gateway service install`).option(`--daemon-runtime <runtime>`,`Daemon runtime: node|bun`).option(`--skip-channels`,`Skip channel setup`).option(`--skip-skills`,`Skip skills setup`).option(`--skip-search`,`Skip search provider setup`).option(`--skip-health`,`Skip health check`).option(`--skip-ui`,`Skip Control UI/TUI prompts`).option(`--node-manager <name>`,`Node manager for skills: npm|pnpm|bun`).option(`--json`,`Output JSON summary`,!1),l.action(async(e,n)=>{await r(t,async()=>{let r=s(n,{installDaemon:!!e.installDaemon}),i=typeof e.gatewayPort==`string`?Number.parseInt(e.gatewayPort,10):void 0;await o({workspace:e.workspace,nonInteractive:!!e.nonInteractive,acceptRisk:!!e.acceptRisk,flow:e.flow,mode:e.mode,authChoice:e.authChoice,tokenProvider:e.tokenProvider,token:e.token,tokenProfileId:e.tokenProfileId,tokenExpiresIn:e.tokenExpiresIn,secretInputMode:e.secretInputMode,anthropicApiKey:e.anthropicApiKey,openaiApiKey:e.openaiApiKey,mistralApiKey:e.mistralApiKey,openrouterApiKey:e.openrouterApiKey,kilocodeApiKey:e.kilocodeApiKey,aiGatewayApiKey:e.aiGatewayApiKey,cloudflareAiGatewayAccountId:e.cloudflareAiGatewayAccountId,cloudflareAiGatewayGatewayId:e.cloudflareAiGatewayGatewayId,cloudflareAiGatewayApiKey:e.cloudflareAiGatewayApiKey,moonshotApiKey:e.moonshotApiKey,kimiCodeApiKey:e.kimiCodeApiKey,geminiApiKey:e.geminiApiKey,zaiApiKey:e.zaiApiKey,xiaomiApiKey:e.xiaomiApiKey,qianfanApiKey:e.qianfanApiKey,modelstudioApiKeyCn:e.modelstudioApiKeyCn,modelstudioApiKey:e.modelstudioApiKey,minimaxApiKey:e.minimaxApiKey,syntheticApiKey:e.syntheticApiKey,veniceApiKey:e.veniceApiKey,togetherApiKey:e.togetherApiKey,huggingfaceApiKey:e.huggingfaceApiKey,opencodeZenApiKey:e.opencodeZenApiKey,opencodeGoApiKey:e.opencodeGoApiKey,xaiApiKey:e.xaiApiKey,litellmApiKey:e.litellmApiKey,volcengineApiKey:e.volcengineApiKey,byteplusApiKey:e.byteplusApiKey,customBaseUrl:e.customBaseUrl,customApiKey:e.customApiKey,customModelId:e.customModelId,customProviderId:e.customProviderId,customCompatibility:e.customCompatibility,gatewayPort:typeof i==`number`&&Number.isFinite(i)?i:void 0,gatewayBind:e.gatewayBind,gatewayAuth:e.gatewayAuth,gatewayToken:e.gatewayToken,gatewayTokenRefEnv:e.gatewayTokenRefEnv,gatewayPassword:e.gatewayPassword,remoteUrl:e.remoteUrl,remoteToken:e.remoteToken,tailscale:e.tailscale,tailscaleResetOnExit:!!e.tailscaleResetOnExit,reset:!!e.reset,resetScope:e.resetScope,installDaemon:r,daemonRuntime:e.daemonRuntime,skipChannels:!!e.skipChannels,skipSkills:!!e.skipSkills,skipSearch:!!e.skipSearch,skipHealth:!!e.skipHealth,skipUi:!!e.skipUi,nodeManager:e.nodeManager,json:!!e.json},t)})})}export{l as registerOnboardCommand};
|
|
2
|
+
//# sourceMappingURL=register.onboard-CaFl_mB1.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./paths-B4IRk3wi.js";import{A as e,p as t}from"./subsystem-C5XF2Fy5.js";import{S as n}from"./utils-UGOV_184.js";import{Ws as r,nc as i}from"./model-selection-BlC_rXAN.js";import{D as a,v as o}from"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import{o as s}from"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./call-CqoMqP5b.js";import"./onboard-helpers-zwybUJWu.js";import"./prompt-style-CXKekIBY.js";import{t as c}from"./links-CySwdMcF.js";import{n as l}from"./cli-utils-BY7dLMFy.js";import"./progress-LNttnI-y.js";import"./runtime-guard-DFYBaYZS.js";import{t as u}from"./command-options-Bq5nQxz6.js";import"./note-D4GAwgha.js";import"./clack-prompter-Dq0aY6iM.js";import"./onboarding.secret-input-kO5OzYC7.js";import"./onboarding-
|
|
2
|
-
//# sourceMappingURL=register.setup-
|
|
1
|
+
import"./paths-B4IRk3wi.js";import{A as e,p as t}from"./subsystem-C5XF2Fy5.js";import{S as n}from"./utils-UGOV_184.js";import{Ws as r,nc as i}from"./model-selection-BlC_rXAN.js";import{D as a,v as o}from"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import{o as s}from"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./call-CqoMqP5b.js";import"./onboard-helpers-zwybUJWu.js";import"./prompt-style-CXKekIBY.js";import{t as c}from"./links-CySwdMcF.js";import{n as l}from"./cli-utils-BY7dLMFy.js";import"./progress-LNttnI-y.js";import"./runtime-guard-DFYBaYZS.js";import{t as u}from"./command-options-Bq5nQxz6.js";import"./note-D4GAwgha.js";import"./clack-prompter-Dq0aY6iM.js";import"./onboarding.secret-input-kO5OzYC7.js";import"./onboarding-BTBbx6Ka.js";import{n as d,t as f}from"./logging-Dqe9dxSX.js";import{t as p}from"./onboard-B9ouFJC7.js";import m from"json5";import h from"node:fs/promises";async function g(e){try{let t=await h.readFile(e,`utf-8`),n=m.parse(t);return n&&typeof n==`object`?{exists:!0,parsed:n}:{exists:!0,parsed:{}}}catch{return{exists:!1,parsed:{}}}}async function _(e,c=t){let l=typeof e?.workspace==`string`&&e.workspace.trim()?e.workspace.trim():void 0,u=r().configPath,p=await g(u),m=p.parsed,_=m.agents?.defaults??{},v=l??_.workspace??o,y={...m,agents:{...m.agents,defaults:{..._,workspace:v}},gateway:{...m.gateway,mode:m.gateway?.mode??`local`}};if(!p.exists||_.workspace!==v||m.gateway?.mode!==y.gateway?.mode)if(await i(y),!p.exists)c.log(`Wrote ${f(u)}`);else{let e=[];_.workspace!==v&&e.push(`set agents.defaults.workspace`),m.gateway?.mode!==y.gateway?.mode&&e.push(`set gateway.mode`),d(c,{path:u,suffix:e.length>0?`(${e.join(`, `)})`:void 0})}else c.log(`Config OK: ${f(u)}`);let b=await a({dir:v,ensureBootstrapFiles:!y.agents?.defaults?.skipBootstrap});c.log(`Workspace OK: ${n(b.dir)}`);let x=s();await h.mkdir(x,{recursive:!0}),c.log(`Sessions OK: ${n(x)}`)}function v(n){n.command(`setup`).description(`Initialize ~/.qbotclaw/openclaw.json and the agent workspace`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${c(`/cli/setup`,`docs.openclaw.ai/cli/setup`)}\n`).option(`--workspace <dir>`,`Agent workspace directory (default: ~/.qbotclaw/workspace; stored as agents.defaults.workspace)`).option(`--wizard`,`Run the interactive onboarding wizard`,!1).option(`--non-interactive`,`Run the wizard without prompts`,!1).option(`--mode <mode>`,`Wizard mode: local|remote`).option(`--remote-url <url>`,`Remote Gateway WebSocket URL`).option(`--remote-token <token>`,`Remote Gateway token (optional)`).action(async(e,n)=>{await l(t,async()=>{let r=u(n,[`wizard`,`nonInteractive`,`mode`,`remoteUrl`,`remoteToken`]);if(e.wizard||r){await p({workspace:e.workspace,nonInteractive:!!e.nonInteractive,mode:e.mode,remoteUrl:e.remoteUrl,remoteToken:e.remoteToken},t);return}await _({workspace:e.workspace},t)})})}export{v as registerSetupCommand};
|
|
2
|
+
//# sourceMappingURL=register.setup-CSW03BKj.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{A as e,p as t}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Bo as n,Oo as r}from"./auth-profiles-T8DuH3ax.js";import{D as i,v as a}from"./agent-scope-DAWJwFfl.js";import{x as o}from"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import{o as s}from"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./call-B8Fb4_oh.js";import"./onboard-helpers-PGl5bVPE.js";import"./prompt-style-BThRSQJR.js";import{t as c}from"./links-CBnmRP9D.js";import{n as l}from"./cli-utils-BleB1eys.js";import"./progress-d1m2sqR1.js";import{t as u}from"./command-options-BpOUDl2S.js";import"./note-Dp-d_utk.js";import"./clack-prompter-DBPdGdqp.js";import"./runtime-guard-DX2Ie4ri.js";import"./onboarding.secret-input-BsBgh8Tc.js";import"./onboarding-
|
|
2
|
-
//# sourceMappingURL=register.setup-
|
|
1
|
+
import{A as e,p as t}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Bo as n,Oo as r}from"./auth-profiles-T8DuH3ax.js";import{D as i,v as a}from"./agent-scope-DAWJwFfl.js";import{x as o}from"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import{o as s}from"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./call-B8Fb4_oh.js";import"./onboard-helpers-PGl5bVPE.js";import"./prompt-style-BThRSQJR.js";import{t as c}from"./links-CBnmRP9D.js";import{n as l}from"./cli-utils-BleB1eys.js";import"./progress-d1m2sqR1.js";import{t as u}from"./command-options-BpOUDl2S.js";import"./note-Dp-d_utk.js";import"./clack-prompter-DBPdGdqp.js";import"./runtime-guard-DX2Ie4ri.js";import"./onboarding.secret-input-BsBgh8Tc.js";import"./onboarding-TkoOoq9D.js";import{n as d,t as f}from"./logging-tYw1NbJd.js";import{t as p}from"./onboard-2iF3lTUI.js";import m from"json5";import h from"node:fs/promises";async function g(e){try{let t=await h.readFile(e,`utf-8`),n=m.parse(t);return n&&typeof n==`object`?{exists:!0,parsed:n}:{exists:!0,parsed:{}}}catch{return{exists:!1,parsed:{}}}}async function _(e,c=t){let l=typeof e?.workspace==`string`&&e.workspace.trim()?e.workspace.trim():void 0,u=r().configPath,p=await g(u),m=p.parsed,_=m.agents?.defaults??{},v=l??_.workspace??a,y={...m,agents:{...m.agents,defaults:{..._,workspace:v}},gateway:{...m.gateway,mode:m.gateway?.mode??`local`}};if(!p.exists||_.workspace!==v||m.gateway?.mode!==y.gateway?.mode)if(await n(y),!p.exists)c.log(`Wrote ${f(u)}`);else{let e=[];_.workspace!==v&&e.push(`set agents.defaults.workspace`),m.gateway?.mode!==y.gateway?.mode&&e.push(`set gateway.mode`),d(c,{path:u,suffix:e.length>0?`(${e.join(`, `)})`:void 0})}else c.log(`Config OK: ${f(u)}`);let b=await i({dir:v,ensureBootstrapFiles:!y.agents?.defaults?.skipBootstrap});c.log(`Workspace OK: ${o(b.dir)}`);let x=s();await h.mkdir(x,{recursive:!0}),c.log(`Sessions OK: ${o(x)}`)}function v(n){n.command(`setup`).description(`Initialize ~/.qbotclaw/openclaw.json and the agent workspace`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${c(`/cli/setup`,`docs.openclaw.ai/cli/setup`)}\n`).option(`--workspace <dir>`,`Agent workspace directory (default: ~/.qbotclaw/workspace; stored as agents.defaults.workspace)`).option(`--wizard`,`Run the interactive onboarding wizard`,!1).option(`--non-interactive`,`Run the wizard without prompts`,!1).option(`--mode <mode>`,`Wizard mode: local|remote`).option(`--remote-url <url>`,`Remote Gateway WebSocket URL`).option(`--remote-token <token>`,`Remote Gateway token (optional)`).action(async(e,n)=>{await l(t,async()=>{let r=u(n,[`wizard`,`nonInteractive`,`mode`,`remoteUrl`,`remoteToken`]);if(e.wizard||r){await p({workspace:e.workspace,nonInteractive:!!e.nonInteractive,mode:e.mode,remoteUrl:e.remoteUrl,remoteToken:e.remoteToken},t);return}await _({workspace:e.workspace},t)})})}export{v as registerSetupCommand};
|
|
2
|
+
//# sourceMappingURL=register.setup-DDkBFyvF.js.map
|