openclaw-multi-auto 1.7.5 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/{acp-cli-D2FsuxI4.js → acp-cli-DMujSgSt.js} +11 -11
  2. package/dist/{agent-B8D73rdQ.js → agent-CaQagdQ7.js} +8 -8
  3. package/dist/{agent-BomWJjOy.js → agent-QkWi9ww5.js} +7 -7
  4. package/dist/{agent-scope-DmTcOjk4.js → agent-scope-sd1-3XH0.js} +16 -16
  5. package/dist/{agents.config-Crwrvv0Y.js → agents.config-DpC62EoF.js} +3 -3
  6. package/dist/{audio-preflight-CZHCr2-5.js → audio-preflight-CKN-13f6.js} +1 -1
  7. package/dist/{audio-preflight-DUZyiet9.js → audio-preflight-CxMkqmsz.js} +10 -10
  8. package/dist/{audit-CX3KlHoS.js → audit-COOnp_TQ.js} +18 -18
  9. package/dist/{audit-membership-runtime-DOqwbA7L.js → audit-membership-runtime-o16tAd90.js} +1 -1
  10. package/dist/{auth-choice-DZC8_SXk.js → auth-choice-B7hFRxC4.js} +19 -19
  11. package/dist/{auth-choice-CuOI0DLZ.js → auth-choice-CgIbQGAr.js} +8 -8
  12. package/dist/{auth-choice-options-C_poWj2I.js → auth-choice-options-CaiEtgdy.js} +1 -1
  13. package/dist/{auth-choice-prompt-Bjt463U7.js → auth-choice-prompt-CyE2_iHL.js} +1 -1
  14. package/dist/{auth-choice.apply-helpers-BFZ8hPRq.js → auth-choice.apply-helpers-BwI7_FDv.js} +2 -2
  15. package/dist/{auth-choice.preferred-provider-CzDq9Lvp.js → auth-choice.preferred-provider-BJFK05is.js} +5 -5
  16. package/dist/{auth-profiles.runtime-DNqCx0L5.js → auth-profiles.runtime-DHFZjArZ.js} +1 -1
  17. package/dist/{auth-profiles.runtime-BWD0iDWZ.js → auth-profiles.runtime-firEabaJ.js} +10 -10
  18. package/dist/{auth-token-CnWG4-cB.js → auth-token-Ca2ISBq6.js} +1 -1
  19. package/dist/{bonjour-discovery-Cnl-PHZ4.js → bonjour-discovery-CgQeXj94.js} +1 -1
  20. package/dist/{browser-cli-DLSYDvK2.js → browser-cli-DfrP5czU.js} +11 -11
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +2 -2
  23. package/dist/bundled/session-memory/handler.js +1 -1
  24. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  25. package/dist/{channel-account-context-DMK0G0sK.js → channel-account-context-F18H2wEh.js} +7 -7
  26. package/dist/{channel-options-CsQMEhUD.js → channel-options-DR0IjcQw.js} +3 -3
  27. package/dist/{channel-web-D7txUcfH.js → channel-web-B3yCvpab.js} +4 -4
  28. package/dist/{channels-cli-DK-EFHka.js → channels-cli-C9jvVDlM.js} +33 -33
  29. package/dist/{channels-status-issues-B-PoQaOZ.js → channels-status-issues-C6mRI9nP.js} +1 -1
  30. package/dist/{clack-prompter-COY2Efgu.js → clack-prompter-CakorHf3.js} +1 -1
  31. package/dist/{clawbot-cli-CYVkuLnO.js → clawbot-cli-De1V5wKt.js} +12 -12
  32. package/dist/{cleanup-utils-DksMdp7C.js → cleanup-utils-DZ-HVi66.js} +4 -4
  33. package/dist/cli/daemon-cli.js +1 -1
  34. package/dist/{cli-BXEJJp6e.js → cli-5Ap2oull.js} +10 -10
  35. package/dist/{cmd-argv-BdNFwuhe.js → cmd-argv-Dz5qUtqp.js} +1 -1
  36. package/dist/{compact.runtime-Do9SwMzP.js → compact.runtime-Bi0KAZxx.js} +10 -10
  37. package/dist/{compact.runtime-pgjSlzSY.js → compact.runtime-DoEYdXjJ.js} +1 -1
  38. package/dist/{completion-cli-BnHZnvaD.js → completion-cli-DetW6vGx.js} +12 -12
  39. package/dist/{config-cli-BTyfFTwL.js → config-cli-JmabBPbR.js} +13 -13
  40. package/dist/{config-guard-DXvConn_.js → config-guard-D0ly1tu3.js} +12 -12
  41. package/dist/{config-validation-ZC7mw4HJ.js → config-validation-DtOoaTl7.js} +3 -3
  42. package/dist/{configure--3s3LTcF.js → configure-DNZVKth2.js} +52 -52
  43. package/dist/{control-ui-assets-D5CuaZfV.js → control-ui-assets-B9I2TpME.js} +1 -1
  44. package/dist/{cron-cli-BTeTdxk8.js → cron-cli-hA-3anvP.js} +11 -11
  45. package/dist/{daemon-cli-TvT5eeIP.js → daemon-cli-CgEObThe.js} +13 -13
  46. package/dist/{daemon-install-CUvnebOQ.js → daemon-install-e324s4no.js} +16 -16
  47. package/dist/{daemon-install-plan.shared-BfFSRwqA.js → daemon-install-plan.shared-g5FPfccc.js} +12 -12
  48. package/dist/{deliver-runtime-CRO5x8jL.js → deliver-runtime-CI-THBhi.js} +10 -10
  49. package/dist/{deliver-runtime-D4aWAXZ9.js → deliver-runtime-CqyJiuFQ.js} +1 -1
  50. package/dist/{deps-Cgw7M-k3.js → deps-B6HgPp5e.js} +6 -6
  51. package/dist/{device-bootstrap-DSXbseT6.js → device-bootstrap-oW1bwgs7.js} +1 -1
  52. package/dist/{device-pairing-RZV6Mnep.js → device-pairing-CMxl0D-M.js} +1 -1
  53. package/dist/{devices-cli-DnvmJ-Sg.js → devices-cli-BPpKKc7g.js} +11 -11
  54. package/dist/{diagnostics-1AwcyuKi.js → diagnostics-iZHasrpQ.js} +5 -5
  55. package/dist/{directory-cli-CO5of3mT.js → directory-cli-BP8WHXBG.js} +10 -10
  56. package/dist/{dns-cli-s2wuP3H0.js → dns-cli-CQl7AkL3.js} +10 -10
  57. package/dist/{docs-cli-CZA-gAQf.js → docs-cli-BWb05s-1.js} +3 -3
  58. package/dist/{doctor-completion-DvnTlsPK.js → doctor-completion-CA3Zcz0O.js} +2 -2
  59. package/dist/{doctor-config-flow-DOEjAAYV.js → doctor-config-flow-C53lW8fK.js} +10 -10
  60. package/dist/{enable-BSbXEyXD.js → enable-CmddFDJP.js} +1 -1
  61. package/dist/{exec-approvals-cli-CsNqvj8p.js → exec-approvals-cli-Cyhhh2cy.js} +18 -18
  62. package/dist/{fetch-CGW2R_wh.js → fetch-ggeyBJ4j.js} +2 -2
  63. package/dist/{gateway-cli-Bq7xXLEB.js → gateway-cli-vQfsLSPv.js} +101 -101
  64. package/dist/{gateway-install-token-C40ge2lh.js → gateway-install-token-CQHd6wSt.js} +3 -3
  65. package/dist/{gateway-rpc-DUJcLoxb.js → gateway-rpc-DrDqntyT.js} +1 -1
  66. package/dist/{health-D_dD9-ET.js → health-CTOG7Tdy.js} +7 -7
  67. package/dist/{hooks-cli-YvIgaujr.js → hooks-cli-CvrIbP3A.js} +18 -18
  68. package/dist/{hooks-status-C3wWva3H.js → hooks-status-BiuMKGQP.js} +1 -1
  69. package/dist/{image-runtime-Cx4HaqrI.js → image-runtime-Cen4jnt5.js} +10 -10
  70. package/dist/{image-runtime-Brryt_BU.js → image-runtime-DuwNoMsX.js} +1 -1
  71. package/dist/index.js +21 -21
  72. package/dist/{inspect-D3lV5ful.js → inspect-C0iPD7zZ.js} +4 -4
  73. package/dist/{install-safe-path-BvwKN_9n.js → install-safe-path-CnIWvuEU.js} +33 -33
  74. package/dist/{installs-BC5ieRDB.js → installs-BcQMkw3V.js} +8 -8
  75. package/dist/{ipv4-CwqOzc5W.js → ipv4-DHZnIX-K.js} +1 -1
  76. package/dist/{issue-format-34LidjQQ.js → issue-format-CtBob7pd.js} +1 -1
  77. package/dist/{launchd-BLFV2ME0.js → launchd-D7vxtTg7.js} +13 -13
  78. package/dist/{lifecycle-core-C07n1IOr.js → lifecycle-core-CKec6MyM.js} +6 -6
  79. package/dist/llm-slug-generator.js +1 -1
  80. package/dist/{logging-DPEdtuNl.js → logging-B7i4YBpx.js} +1 -1
  81. package/dist/{login-BLC4Op_m.js → login-CQ5pGFeF.js} +3 -3
  82. package/dist/{login-CKmmxErc.js → login-DC00cCmn.js} +2 -2
  83. package/dist/{login-qr-DpxxtTBd.js → login-qr-C8iDYxXx.js} +11 -11
  84. package/dist/{login-qr-KVA4wuh0.js → login-qr-DB7lXNdD.js} +2 -2
  85. package/dist/{logs-cli-BKhTgUSN.js → logs-cli-B8u30MKC.js} +11 -11
  86. package/dist/{manager-runtime-D9AEoM1M.js → manager-runtime-C04JB-55.js} +1 -1
  87. package/dist/{manager-runtime-B4ZbE6hq.js → manager-runtime-DDc_xR6t.js} +10 -10
  88. package/dist/{manager.runtime-lHLhN5ro.js → manager.runtime-sDKQexj4.js} +16 -16
  89. package/dist/{manager.runtime-BV-CBNb2.js → manager.runtime-y1RqEqxK.js} +2 -2
  90. package/dist/{model-picker-C5sQCeTo.js → model-picker-iMZicrZb.js} +5 -5
  91. package/dist/{model-selection-CNRMBWfR.js → model-selection-Coo7zMJO.js} +43 -43
  92. package/dist/{models-cli-B7OdTj93.js → models-cli-CHWqnmnX.js} +21 -21
  93. package/dist/{node-cli-ArOhWB3h.js → node-cli-D2EGwHd2.js} +22 -22
  94. package/dist/{node-command-policy-BVIbeciX.js → node-command-policy-C9YoIlNR.js} +1 -1
  95. package/dist/{node-service-ESc5ToCS.js → node-service-D7xRD6Op.js} +1 -1
  96. package/dist/{nodes-cli-BLneGv8c.js → nodes-cli-BaWA_a27.js} +13 -13
  97. package/dist/{npm-pack-install-DI_0G-Ju.js → npm-pack-install-C7ntuYO8.js} +23 -23
  98. package/dist/{npm-resolution-DowD_x7i.js → npm-resolution-BL-LzQ8q.js} +3 -3
  99. package/dist/{onboard-Da0Gqg8E.js → onboard-1Vbkq-0q.js} +10 -10
  100. package/dist/{onboard-channels-Dub92d1X.js → onboard-channels-C_RZQliP.js} +16 -16
  101. package/dist/{onboard-custom-iC39HaRY.js → onboard-custom-CyUm7NIR.js} +5 -5
  102. package/dist/{onboard-hooks-DUll1iq8.js → onboard-hooks-Bx20a5uy.js} +4 -4
  103. package/dist/{onboard-remote-Cyc407f2.js → onboard-remote-Dtm07eUX.js} +3 -3
  104. package/dist/{onboard-skills-BqnqjDI3.js → onboard-skills-BOBtFqTc.js} +3 -3
  105. package/dist/{onboarding-BgeTWLi_.js → onboarding-CAQDdLGu.js} +17 -17
  106. package/dist/{onboarding.finalize-C4jEsWtC.js → onboarding.finalize-BAUMJZlu.js} +25 -25
  107. package/dist/{onboarding.gateway-config-C2XdEUF3.js → onboarding.gateway-config-BRSWuajr.js} +14 -14
  108. package/dist/{onboarding.secret-input-OwIXA7An.js → onboarding.secret-input-D75Xjj5j.js} +1 -1
  109. package/dist/{openai-codex-oauth-BUnBFHjs.js → openai-codex-oauth-BjOz2DJZ.js} +3 -3
  110. package/dist/{openclaw-root-B5jXk2td.js → openclaw-root-dlCz9toZ.js} +8 -8
  111. package/dist/{outbound-send-deps-dRaNZNE7.js → outbound-send-deps-Bid3Xegx.js} +1 -1
  112. package/dist/{pairing-cli-pEJPQw6E.js → pairing-cli-Dm_fH3zm.js} +10 -10
  113. package/dist/{path-alias-guards-BEqdGdn9.js → path-alias-guards-B6owPyQX.js} +3 -3
  114. package/dist/{path-safety-TRhr8lhQ.js → path-safety-DN7L46Yk.js} +1 -1
  115. package/dist/{pi-model-discovery-runtime-BkRq7f9h.js → pi-model-discovery-runtime-BRs3OnbK.js} +10 -10
  116. package/dist/{pi-model-discovery-runtime-CDKkuBYh.js → pi-model-discovery-runtime-DsZRIFOj.js} +1 -1
  117. package/dist/{pi-tools.before-tool-call.runtime-Dt7ZWya_.js → pi-tools.before-tool-call.runtime-Cz99nK1_.js} +10 -10
  118. package/dist/{pi-tools.before-tool-call.runtime-DgAiY2la.js → pi-tools.before-tool-call.runtime-l0nSxXys.js} +1 -1
  119. package/dist/{plugin-install-plan-q0pKUAmp.js → plugin-install-plan-tegfcs_j.js} +1 -1
  120. package/dist/{plugin-registry-DrrKSvdi.js → plugin-registry-D1UVdXNl.js} +2 -2
  121. package/dist/{plugins-om7vnHk0.js → plugins-BVbKGpQJ.js} +9 -9
  122. package/dist/{plugins-cli-BWuwmlNA.js → plugins-cli-DMTK-3PI.js} +21 -21
  123. package/dist/{ports-CVD9jTxH.js → ports-CrZzXxTl.js} +2 -2
  124. package/dist/{probe-auth-CRm2yob0.js → probe-auth-H1_HjX3c.js} +1 -1
  125. package/dist/{program-context-BnNrq2_o.js → program-context--XQiK-Vv.js} +42 -42
  126. package/dist/{prompt-select-styled-FpCuoi_9.js → prompt-select-styled-BzWw9bIh.js} +32 -32
  127. package/dist/{provider-auth-helpers-Dzq3SbTh.js → provider-auth-helpers-B5U-h2Ob.js} +4 -4
  128. package/dist/{provider-wizard-CRYUkbUG.js → provider-wizard-BgHYhBzK.js} +1 -1
  129. package/dist/{push-apns-6Yefl4vF.js → push-apns-DQdHdrq8.js} +3 -3
  130. package/dist/{pw-ai-Brk_ehKR.js → pw-ai-8OpaEmr4.js} +15 -15
  131. package/dist/{pw-ai-3ual6adI.js → pw-ai-R41XeePP.js} +1 -1
  132. package/dist/{qmd-manager-Clny9vcj.js → qmd-manager-BMkECKpc.js} +19 -19
  133. package/dist/{qr-cli-TsbdBlkh.js → qr-cli-CZy0bldy.js} +11 -11
  134. package/dist/{query-expansion-BNb6Vys6.js → query-expansion-AnOnkIqf.js} +48 -48
  135. package/dist/{redact-snapshot-sudZsVoX.js → redact-snapshot-lCMXNHo3.js} +1 -1
  136. package/dist/{register.agent-BcYbZ3eF.js → register.agent-2yZ4uAHT.js} +43 -43
  137. package/dist/{register.backup-DbtBtW_J.js → register.backup-Byyque4N.js} +26 -26
  138. package/dist/register.configure-CrATD0tr.js +87 -0
  139. package/dist/{register.maintenance-Cdn2TwrI.js → register.maintenance-BZ_V3Ubt.js} +33 -33
  140. package/dist/{register.message-cHCXxeA6.js → register.message-CJwTd37H.js} +13 -13
  141. package/dist/{register.onboard-Dbig7G2G.js → register.onboard-BY0T1WHb.js} +17 -17
  142. package/dist/{register.setup-DjHUcAcm.js → register.setup-CA3ZUrN-.js} +18 -18
  143. package/dist/{register.status-health-sessions-BMxJK45p.js → register.status-health-sessions-PN0jxAPA.js} +26 -26
  144. package/dist/{reply-Cf5Mm7vB.js → reply-gX1XTS9Y.js} +226 -226
  145. package/dist/{restart-stale-pids-ZfbSMILU.js → restart-stale-pids-B6E7QavX.js} +2 -2
  146. package/dist/{rpc-8YrBMBoD.js → rpc-B2PO3N0W.js} +1 -1
  147. package/dist/{runtime-whatsapp-login.runtime-Br3SxDXL.js → runtime-whatsapp-login.runtime-C_E260pb.js} +3 -3
  148. package/dist/{runtime-whatsapp-login.runtime-Bo1HalYB.js → runtime-whatsapp-login.runtime-DKMtq6l9.js} +12 -12
  149. package/dist/{runtime-whatsapp-outbound.runtime-L3Qkst0n.js → runtime-whatsapp-outbound.runtime-BdHcgl-R.js} +2 -2
  150. package/dist/{runtime-whatsapp-outbound.runtime-Ch2o56Ey.js → runtime-whatsapp-outbound.runtime-Dv1HN4ha.js} +11 -11
  151. package/dist/{sandbox-cli-CoRe21Si.js → sandbox-cli-SCYkP_qN.js} +10 -10
  152. package/dist/{secret-file-7smmAVRV.js → secret-file-CuiwToxK.js} +1 -1
  153. package/dist/{secrets-cli-CHT1AjCX.js → secrets-cli-C5O6Jw_4.js} +11 -11
  154. package/dist/{security-cli-DRqdmCtr.js → security-cli-CL4qtb9H.js} +20 -20
  155. package/dist/{send-CXnKWzde.js → send-BvAlpSvh.js} +1 -1
  156. package/dist/{send-CHZ7WuOb.js → send-hZxe8sP9.js} +2 -2
  157. package/dist/{server-DiTziwvC.js → server-Cnc4lO11.js} +10 -10
  158. package/dist/{server-node-events-p5ykMQz-.js → server-node-events-aTSoNGTe.js} +14 -14
  159. package/dist/{service-RXVSlLiU.js → service-LNrViUVb.js} +13 -13
  160. package/dist/{session-CXOhppV3.js → session-CndmPe2D.js} +2 -2
  161. package/dist/{session-kt-bqE_z.js → session-D7nweu0t.js} +1 -1
  162. package/dist/{shared-CoL161wD.js → shared-c6JUv5At.js} +1 -1
  163. package/dist/{skill-scanner-BzjuMMKN.js → skill-scanner-DaUNX-tW.js} +6 -6
  164. package/dist/{skills-cli-YajvWbjO.js → skills-cli-YqsScIM5.js} +11 -11
  165. package/dist/{skills-install-DFkV3GsC.js → skills-install-BnRu7wO4.js} +6 -6
  166. package/dist/{skills-status-PMeXzDbC.js → skills-status-DHMQ6A2H.js} +1 -1
  167. package/dist/{skills-Jz-BSwRd.js → skills-vhlUaliH.js} +2 -2
  168. package/dist/{slash-commands.runtime-BYfxn_xu.js → slash-commands.runtime-AZCJXo7S.js} +1 -1
  169. package/dist/{slash-commands.runtime-_LrsMaI1.js → slash-commands.runtime-D9GHahMO.js} +10 -10
  170. package/dist/{slash-dispatch.runtime-neG4499W.js → slash-dispatch.runtime-DcISuJb0.js} +10 -10
  171. package/dist/{slash-dispatch.runtime-Cu8ghe1h.js → slash-dispatch.runtime-DyUU1AG5.js} +1 -1
  172. package/dist/{slash-skill-commands.runtime-8dS5PTaH.js → slash-skill-commands.runtime-Cv1NPjj6.js} +1 -1
  173. package/dist/{slash-skill-commands.runtime-D0ohJN-V.js → slash-skill-commands.runtime-Dt6QQJcX.js} +10 -10
  174. package/dist/{status-1patzIRq.js → status-D9mVTxuB.js} +1 -1
  175. package/dist/{status-BaLZ1uQV.js → status-QQiIsfFq.js} +21 -21
  176. package/dist/{status.update-DrzJ1YWu.js → status.update-DY13od-q.js} +3 -3
  177. package/dist/{subagent-registry-runtime-BTW1zlrG.js → subagent-registry-runtime-CoeW8s2P.js} +10 -10
  178. package/dist/{subagent-registry-runtime-Z0fdsGSq.js → subagent-registry-runtime-N50VG-ay.js} +1 -1
  179. package/dist/{system-cli-CndWL3sF.js → system-cli-DMu6SZhn.js} +11 -11
  180. package/dist/{systemd-D47rkLi7.js → systemd-DSK6B3bg.js} +11 -11
  181. package/dist/{systemd-hints-DHfXVo8k.js → systemd-hints-DsQTPBGt.js} +6 -6
  182. package/dist/{systemd-linger-DwmFZpci.js → systemd-linger-BPISBIWJ.js} +1 -1
  183. package/dist/{tui-CzYnfJxE.js → tui-DzNNH2rc.js} +2 -2
  184. package/dist/{tui-cli-D47N0Kfm.js → tui-cli-D5JgcWb9.js} +11 -11
  185. package/dist/{update-BiUnc38r.js → update-DL_359AR.js} +2 -2
  186. package/dist/{update-cli-CeqH2oQ-.js → update-cli-BfjWjK3A.js} +45 -45
  187. package/dist/{update-runner-oqYBjs5t.js → update-runner-CfkBU1BA.js} +16 -16
  188. package/dist/{web-CXyjF_si.js → web-B4n02Xhe.js} +4 -4
  189. package/dist/{web-BRvkjVpk.js → web-BHO-XtPY.js} +14 -14
  190. package/dist/{webhooks-cli-CnTKcfvh.js → webhooks-cli-C0kgprJJ.js} +10 -10
  191. package/dist/{whatsapp-actions-BXO9Bi7a.js → whatsapp-actions-BC06Ug_d.js} +11 -11
  192. package/dist/{whatsapp-actions-BUvGEDSk.js → whatsapp-actions-JJEG8eF3.js} +2 -2
  193. package/dist/{workspace-CWne7yqK.js → workspace-BTsqd19h.js} +1 -1
  194. package/package.json +8 -8
  195. package/scripts/create-instance.sh +29 -46
  196. package/dist/register.configure-CPWCrXrC.js +0 -87
@@ -1,10 +1,10 @@
1
1
  import { y as resolveUserPath } from "./utils-B8zCe27d.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CNtAq7Md.js";
3
3
  import { g as parseRegistryNpmSpec, h as isPrereleaseResolutionAllowed, m as formatPrereleaseResolutionError } from "./env-overrides-BYyMsIvB.js";
4
- import { c as fileExists, d as resolvePackedRootDir, n as resolveSafeInstallDir, s as extractArchive, t as assertCanonicalPathWithinBase, u as resolveArchiveKind } from "./install-safe-path-BvwKN_9n.js";
4
+ import { c as fileExists, d as resolvePackedRootDir, n as resolveSafeInstallDir, s as extractArchive, t as assertCanonicalPathWithinBase, u as resolveArchiveKind } from "./install-safe-path-CnIWvuEU.js";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
7
- import fs from "node:fs/promises";
7
+ import fsPromises from "node:fs/promises";
8
8
  //#region src/infra/install-source-utils.ts
9
9
  function buildNpmResolutionFields(resolution) {
10
10
  return {
@@ -17,11 +17,11 @@ function buildNpmResolutionFields(resolution) {
17
17
  };
18
18
  }
19
19
  async function withTempDir(prefix, fn) {
20
- const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), prefix));
20
+ const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), prefix));
21
21
  try {
22
22
  return await fn(tmpDir);
23
23
  } finally {
24
- await fs.rm(tmpDir, {
24
+ await fsPromises.rm(tmpDir, {
25
25
  recursive: true,
26
26
  force: true
27
27
  }).catch(() => void 0);
@@ -106,12 +106,12 @@ function parsePackedArchiveFromStdout(stdout) {
106
106
  }
107
107
  }
108
108
  async function findPackedArchiveInDir(cwd) {
109
- const archives = (await fs.readdir(cwd, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".tgz"));
109
+ const archives = (await fsPromises.readdir(cwd, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".tgz"));
110
110
  if (archives.length === 0) return;
111
111
  if (archives.length === 1) return archives[0]?.name;
112
112
  const sortedByMtime = await Promise.all(archives.map(async (entry) => ({
113
113
  name: entry.name,
114
- mtimeMs: (await fs.stat(path.join(cwd, entry.name))).mtimeMs
114
+ mtimeMs: (await fsPromises.stat(path.join(cwd, entry.name))).mtimeMs
115
115
  })));
116
116
  sortedByMtime.sort((a, b) => b.mtimeMs - a.mtimeMs);
117
117
  return sortedByMtime[0]?.name;
@@ -175,13 +175,13 @@ async function resolveExistingInstallPath(inputPath) {
175
175
  return {
176
176
  ok: true,
177
177
  resolvedPath,
178
- stat: await fs.stat(resolvedPath)
178
+ stat: await fsPromises.stat(resolvedPath)
179
179
  };
180
180
  }
181
181
  async function withExtractedArchiveRoot(params) {
182
182
  return await withTempDir(params.tempDirPrefix, async (tmpDir) => {
183
183
  const extractDir = path.join(tmpDir, "extract");
184
- await fs.mkdir(extractDir, { recursive: true });
184
+ await fsPromises.mkdir(extractDir, { recursive: true });
185
185
  params.logger?.info?.(`Extracting ${params.archivePath}…`);
186
186
  try {
187
187
  await extractArchive({
@@ -235,7 +235,7 @@ async function sanitizeManifestForNpmInstall(targetDir) {
235
235
  const manifestPath = path.join(targetDir, "package.json");
236
236
  let manifestRaw = "";
237
237
  try {
238
- manifestRaw = await fs.readFile(manifestPath, "utf-8");
238
+ manifestRaw = await fsPromises.readFile(manifestPath, "utf-8");
239
239
  } catch {
240
240
  return;
241
241
  }
@@ -255,7 +255,7 @@ async function sanitizeManifestForNpmInstall(targetDir) {
255
255
  if (filteredEntries.length === Object.keys(devDependencies).length) return;
256
256
  if (filteredEntries.length === 0) delete manifest.devDependencies;
257
257
  else manifest.devDependencies = Object.fromEntries(filteredEntries);
258
- await fs.writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf-8");
258
+ await fsPromises.writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf-8");
259
259
  }
260
260
  async function assertInstallBoundaryPaths(params) {
261
261
  for (const candidatePath of params.candidatePaths) await assertCanonicalPathWithinBase({
@@ -271,13 +271,13 @@ function isInstallBaseChangedError(error) {
271
271
  return error instanceof Error && error.message === INSTALL_BASE_CHANGED_ERROR_MESSAGE;
272
272
  }
273
273
  async function assertInstallBaseStable(params) {
274
- const baseLstat = await fs.lstat(params.installBaseDir);
274
+ const baseLstat = await fsPromises.lstat(params.installBaseDir);
275
275
  if (!baseLstat.isDirectory() || baseLstat.isSymbolicLink()) throw new Error(INSTALL_BASE_CHANGED_ERROR_MESSAGE);
276
- if (await fs.realpath(params.installBaseDir) !== params.expectedRealPath) throw new Error(INSTALL_BASE_CHANGED_ERROR_MESSAGE);
276
+ if (await fsPromises.realpath(params.installBaseDir) !== params.expectedRealPath) throw new Error(INSTALL_BASE_CHANGED_ERROR_MESSAGE);
277
277
  }
278
278
  async function cleanupInstallTempDir(dirPath) {
279
279
  if (!dirPath) return;
280
- await fs.rm(dirPath, {
280
+ await fsPromises.rm(dirPath, {
281
281
  recursive: true,
282
282
  force: true
283
283
  }).catch(() => void 0);
@@ -287,7 +287,7 @@ async function resolveInstallPublishTarget(params) {
287
287
  const targetResolved = path.resolve(params.targetDir);
288
288
  const targetRelativePath = path.relative(installBaseResolved, targetResolved);
289
289
  if (!isRelativePathInsideBase(targetRelativePath)) throw new Error("invalid install target path");
290
- const installBaseRealPath = await fs.realpath(params.installBaseDir);
290
+ const installBaseRealPath = await fsPromises.realpath(params.installBaseDir);
291
291
  return {
292
292
  installBaseRealPath,
293
293
  canonicalTargetDir: path.join(installBaseRealPath, targetRelativePath)
@@ -296,7 +296,7 @@ async function resolveInstallPublishTarget(params) {
296
296
  async function installPackageDir(params) {
297
297
  params.logger?.info?.(`Installing to ${params.targetDir}…`);
298
298
  const installBaseDir = path.dirname(params.targetDir);
299
- await fs.mkdir(installBaseDir, { recursive: true });
299
+ await fsPromises.mkdir(installBaseDir, { recursive: true });
300
300
  await assertInstallBoundaryPaths({
301
301
  installBaseDir,
302
302
  candidatePaths: [params.targetDir]
@@ -332,7 +332,7 @@ async function installPackageDir(params) {
332
332
  };
333
333
  const restoreBackup = async () => {
334
334
  if (!backupDir) return;
335
- await fs.rename(backupDir, canonicalTargetDir).catch(() => void 0);
335
+ await fsPromises.rename(backupDir, canonicalTargetDir).catch(() => void 0);
336
336
  backupDir = null;
337
337
  };
338
338
  try {
@@ -340,8 +340,8 @@ async function installPackageDir(params) {
340
340
  installBaseDir: installBaseRealPath,
341
341
  candidatePaths: [canonicalTargetDir]
342
342
  });
343
- stageDir = await fs.mkdtemp(path.join(installBaseRealPath, ".openclaw-install-stage-"));
344
- await fs.cp(params.sourceDir, stageDir, { recursive: true });
343
+ stageDir = await fsPromises.mkdtemp(path.join(installBaseRealPath, ".openclaw-install-stage-"));
344
+ await fsPromises.cp(params.sourceDir, stageDir, { recursive: true });
345
345
  } catch (err) {
346
346
  return await fail(`${params.copyErrorPrefix}: ${String(err)}`, err);
347
347
  }
@@ -369,7 +369,7 @@ async function installPackageDir(params) {
369
369
  const backupRoot = path.join(installBaseRealPath, ".openclaw-install-backups");
370
370
  backupDir = path.join(backupRoot, `${path.basename(canonicalTargetDir)}-${Date.now()}`);
371
371
  try {
372
- await fs.mkdir(backupRoot, { recursive: true });
372
+ await fsPromises.mkdir(backupRoot, { recursive: true });
373
373
  await assertInstallBoundaryPaths({
374
374
  installBaseDir: installBaseRealPath,
375
375
  candidatePaths: [backupDir]
@@ -378,7 +378,7 @@ async function installPackageDir(params) {
378
378
  installBaseDir,
379
379
  expectedRealPath: installBaseRealPath
380
380
  });
381
- await fs.rename(canonicalTargetDir, backupDir);
381
+ await fsPromises.rename(canonicalTargetDir, backupDir);
382
382
  } catch (err) {
383
383
  return await fail(`${params.copyErrorPrefix}: ${String(err)}`, err);
384
384
  }
@@ -388,7 +388,7 @@ async function installPackageDir(params) {
388
388
  installBaseDir,
389
389
  expectedRealPath: installBaseRealPath
390
390
  });
391
- await fs.rename(stageDir, canonicalTargetDir);
391
+ await fsPromises.rename(stageDir, canonicalTargetDir);
392
392
  stageDir = null;
393
393
  } catch (err) {
394
394
  return await fail(`${params.copyErrorPrefix}: ${String(err)}`, err);
@@ -402,7 +402,7 @@ async function installPackageDir(params) {
402
402
  if (isInstallBaseChangedError(err)) params.logger?.warn?.(INSTALL_BASE_CHANGED_BACKUP_WARNING);
403
403
  backupDir = null;
404
404
  }
405
- if (backupDir) await fs.rm(backupDir, {
405
+ if (backupDir) await fsPromises.rm(backupDir, {
406
406
  recursive: true,
407
407
  force: true
408
408
  }).catch(() => void 0);
@@ -418,7 +418,7 @@ async function installPackageDirWithManifestDeps(params) {
418
418
  //#endregion
419
419
  //#region src/infra/install-target.ts
420
420
  async function resolveCanonicalInstallTarget(params) {
421
- await fs.mkdir(params.baseDir, { recursive: true });
421
+ await fsPromises.mkdir(params.baseDir, { recursive: true });
422
422
  const targetDirResult = resolveSafeInstallDir({
423
423
  baseDir: params.baseDir,
424
424
  id: params.id,
@@ -1,7 +1,7 @@
1
1
  import { t as createSubsystemLogger } from "./subsystem-G54saDcg.js";
2
- import { Bl as createPluginLoaderLogger, V as loadOpenClawPlugins, d_ as loadConfig } from "./reply-Cf5Mm7vB.js";
3
- import { d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId, j as resolveDefaultAgentWorkspaceDir } from "./agent-scope-DmTcOjk4.js";
4
- import { d as buildNpmResolutionFields } from "./npm-pack-install-DI_0G-Ju.js";
2
+ import { Bl as createPluginLoaderLogger, V as loadOpenClawPlugins, d_ as loadConfig } from "./reply-gX1XTS9Y.js";
3
+ import { d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId, j as resolveDefaultAgentWorkspaceDir } from "./agent-scope-sd1-3XH0.js";
4
+ import { d as buildNpmResolutionFields } from "./npm-pack-install-C7ntuYO8.js";
5
5
  import path from "node:path";
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,16 +1,16 @@
1
1
  import { u as resolveGatewayPort } from "./paths-tuenh9TL.js";
2
2
  import { m as restoreTerminalState, p as defaultRuntime } from "./subsystem-G54saDcg.js";
3
3
  import { y as resolveUserPath } from "./utils-B8zCe27d.js";
4
- import { Ct as applyWizardMetadata, Et as ensureWorkspaceAndSessions, It as randomToken, Lt as resolveControlUiLinks, St as DEFAULT_WORKSPACE, Vt as waitForGatewayReachable, jt as normalizeGatewayTokenInput, kt as handleReset, m_ as readConfigFileSnapshot, v_ as writeConfigFile } from "./reply-Cf5Mm7vB.js";
4
+ import { Ct as applyWizardMetadata, Et as ensureWorkspaceAndSessions, It as randomToken, Lt as resolveControlUiLinks, St as DEFAULT_WORKSPACE, Vt as waitForGatewayReachable, jt as normalizeGatewayTokenInput, kt as handleReset, m_ as readConfigFileSnapshot, v_ as writeConfigFile } from "./reply-gX1XTS9Y.js";
5
5
  import { s as isValidEnvSecretRefId } from "./types.secrets-d7ZFrG7U.js";
6
6
  import { t as formatCliCommand } from "./command-format-p_4ya3m0.js";
7
- import { jt as resolveDefaultSecretProviderAlias } from "./plugins-om7vnHk0.js";
7
+ import { jt as resolveDefaultSecretProviderAlias } from "./plugins-BVbKGpQJ.js";
8
8
  import { t as assertSupportedRuntime } from "./runtime-guard-C4h47dl7.js";
9
9
  import { t as WizardCancelledError } from "./prompts-88Dfc7Av.js";
10
- import { t as createClackPrompter } from "./clack-prompter-COY2Efgu.js";
10
+ import { t as createClackPrompter } from "./clack-prompter-CakorHf3.js";
11
11
  import "./daemon-runtime-CYx-YMxc.js";
12
- import { t as runOnboardingWizard } from "./onboarding-BgeTWLi_.js";
13
- import { n as logConfigUpdated } from "./logging-DPEdtuNl.js";
12
+ import { t as runOnboardingWizard } from "./onboarding-CAQDdLGu.js";
13
+ import { n as logConfigUpdated } from "./logging-B7i4YBpx.js";
14
14
  import { i as normalizeLegacyOnboardAuthChoice, r as isDeprecatedAuthChoice, t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-DhIGBqAU.js";
15
15
  import { t as applyOnboardingLocalWorkspaceConfig } from "./onboard-config-Cc0V1FPc.js";
16
16
  //#region src/commands/onboard-interactive.ts
@@ -263,7 +263,7 @@ const ATTACH_EXISTING_GATEWAY_HEALTH_DEADLINE_MS = 15e3;
263
263
  async function collectGatewayHealthFailureDiagnostics() {
264
264
  const diagnostics = {};
265
265
  try {
266
- const { resolveGatewayService } = await import("./service-RXVSlLiU.js").then((n) => n.r);
266
+ const { resolveGatewayService } = await import("./service-LNrViUVb.js").then((n) => n.r);
267
267
  const service = resolveGatewayService();
268
268
  const env = process.env;
269
269
  const [loaded, runtime] = await Promise.all([service.isLoaded({ env }).catch(() => false), service.readRuntime(env).catch(() => void 0)]);
@@ -281,7 +281,7 @@ async function collectGatewayHealthFailureDiagnostics() {
281
281
  diagnostics.inspectError = `service diagnostics failed: ${String(err)}`;
282
282
  }
283
283
  try {
284
- const { readLastGatewayErrorLine } = await import("./diagnostics-1AwcyuKi.js").then((n) => n.t);
284
+ const { readLastGatewayErrorLine } = await import("./diagnostics-iZHasrpQ.js").then((n) => n.t);
285
285
  diagnostics.lastGatewayError = await readLastGatewayErrorLine(process.env) ?? void 0;
286
286
  } catch (err) {
287
287
  diagnostics.inspectError = diagnostics.inspectError ? `${diagnostics.inspectError}; log diagnostics failed: ${String(err)}` : `log diagnostics failed: ${String(err)}`;
@@ -309,7 +309,7 @@ async function runNonInteractiveOnboardingLocal(params) {
309
309
  }
310
310
  const authChoice = opts.authChoice ?? inferredAuthChoice.choice ?? "skip";
311
311
  if (authChoice !== "skip") {
312
- const { applyNonInteractiveAuthChoice } = await import("./auth-choice-DZC8_SXk.js");
312
+ const { applyNonInteractiveAuthChoice } = await import("./auth-choice-B7hFRxC4.js");
313
313
  const nextConfigAfterAuth = await applyNonInteractiveAuthChoice({
314
314
  nextConfig,
315
315
  authChoice,
@@ -344,7 +344,7 @@ async function runNonInteractiveOnboardingLocal(params) {
344
344
  const daemonRuntimeRaw = opts.daemonRuntime ?? "node";
345
345
  let daemonInstallStatus;
346
346
  if (opts.installDaemon) {
347
- const { installGatewayDaemonNonInteractive } = await import("./daemon-install-CUvnebOQ.js");
347
+ const { installGatewayDaemonNonInteractive } = await import("./daemon-install-e324s4no.js");
348
348
  const daemonInstall = await installGatewayDaemonNonInteractive({
349
349
  nextConfig,
350
350
  opts,
@@ -380,7 +380,7 @@ async function runNonInteractiveOnboardingLocal(params) {
380
380
  }
381
381
  }
382
382
  if (!opts.skipHealth) {
383
- const { healthCommand } = await import("./health-D_dD9-ET.js").then((n) => n.i);
383
+ const { healthCommand } = await import("./health-CTOG7Tdy.js").then((n) => n.i);
384
384
  const links = resolveControlUiLinks({
385
385
  bind: gatewayResult.bind,
386
386
  port: gatewayResult.port,
@@ -1,28 +1,28 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-G54saDcg.js";
3
3
  import { h as pathExists, m as normalizeE164, t as CONFIG_DIR } from "./utils-B8zCe27d.js";
4
- import { Bl as createPluginLoaderLogger, Ji as normalizeIMessageHandle, Kt as resolveDiscordUserAllowlist, V as loadOpenClawPlugins, cm as resolveDefaultSignalAccountId, fa as listChannelPluginCatalogEntries, gt as resolveSlackChannelAllowlist, ht as resolveSlackUserAllowlist, la as isChannelConfigured, lm as resolveSignalAccount, qt as resolveDiscordChannelAllowlist, sm as listSignalAccountIds, wt as detectBinary, yd as normalizeDiscordSlug } from "./reply-Cf5Mm7vB.js";
5
- import { d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId } from "./agent-scope-DmTcOjk4.js";
4
+ import { Bl as createPluginLoaderLogger, Ji as normalizeIMessageHandle, Kt as resolveDiscordUserAllowlist, V as loadOpenClawPlugins, cm as resolveDefaultSignalAccountId, fa as listChannelPluginCatalogEntries, gt as resolveSlackChannelAllowlist, ht as resolveSlackUserAllowlist, la as isChannelConfigured, lm as resolveSignalAccount, qt as resolveDiscordChannelAllowlist, sm as listSignalAccountIds, wt as detectBinary, yd as normalizeDiscordSlug } from "./reply-gX1XTS9Y.js";
5
+ import { d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId } from "./agent-scope-sd1-3XH0.js";
6
6
  import { _ as normalizeAccountId, g as DEFAULT_ACCOUNT_ID } from "./session-key-DjKQluAa.js";
7
7
  import { t as runCommandWithTimeout } from "./exec-CNtAq7Md.js";
8
8
  import { a as hasConfiguredSecretInput } from "./types.secrets-d7ZFrG7U.js";
9
9
  import { t as formatCliCommand } from "./command-format-p_4ya3m0.js";
10
10
  import { i as formatChannelSelectionLine, o as listChatChannels, r as formatChannelPrimerLine } from "./registry-aHEgjCIQ.js";
11
- import { g as clearPluginDiscoveryCache } from "./skills-Jz-BSwRd.js";
12
- import { F as listIMessageAccountIds, H as resolveDefaultTelegramAccountId, I as resolveDefaultIMessageAccountId, L as resolveIMessageAccount, R as inspectTelegramAccount, U as resolveTelegramAccount, V as listTelegramAccountIds, _t as resolveDiscordAccount, at as listSlackAccountIds, dt as inspectDiscordAccount, g as resolveChannelDefaultAccountId, gt as resolveDefaultDiscordAccountId, it as inspectSlackAccount, n as listChannelPlugins, ot as resolveDefaultSlackAccountId, pt as listDiscordAccountIds, st as resolveSlackAccount, t as getChannelPlugin, v as listWhatsAppAccountIds, x as resolveWhatsAppAuthDir, y as resolveDefaultWhatsAppAccountId } from "./plugins-om7vnHk0.js";
11
+ import { g as clearPluginDiscoveryCache } from "./skills-vhlUaliH.js";
12
+ import { F as listIMessageAccountIds, H as resolveDefaultTelegramAccountId, I as resolveDefaultIMessageAccountId, L as resolveIMessageAccount, R as inspectTelegramAccount, U as resolveTelegramAccount, V as listTelegramAccountIds, _t as resolveDiscordAccount, at as listSlackAccountIds, dt as inspectDiscordAccount, g as resolveChannelDefaultAccountId, gt as resolveDefaultDiscordAccountId, it as inspectSlackAccount, n as listChannelPlugins, ot as resolveDefaultSlackAccountId, pt as listDiscordAccountIds, st as resolveSlackAccount, t as getChannelPlugin, v as listWhatsAppAccountIds, x as resolveWhatsAppAuthDir, y as resolveDefaultWhatsAppAccountId } from "./plugins-BVbKGpQJ.js";
13
13
  import { t as formatDocsLink } from "./links-BpKafJs4.js";
14
- import { t as loginWeb } from "./login-BLC4Op_m.js";
14
+ import { t as loginWeb } from "./login-CQ5pGFeF.js";
15
15
  import { t as resolveBrewExecutable } from "./brew-BoTYTRV7.js";
16
16
  import { n as moveSingleAccountChannelSectionToDefaultAccount, r as patchScopedAccountConfig, t as fetchTelegramChatId } from "./api-fetch-DlNaizdi.js";
17
- import { t as enablePluginInConfig } from "./enable-BSbXEyXD.js";
18
- import { s as extractArchive } from "./install-safe-path-BvwKN_9n.js";
19
- import { a as resolveBundledPluginSources, i as findBundledPluginSourceInMap, n as recordPluginInstall, s as installPluginFromNpmSpec, t as buildNpmResolutionInstallFields } from "./installs-BC5ieRDB.js";
20
- import { n as resolveBundledInstallPlanForCatalogEntry } from "./plugin-install-plan-q0pKUAmp.js";
21
- import { c as resolveSecretInputModeForEnvSelection, s as promptSecretRefForOnboarding } from "./auth-choice.apply-helpers-BFZ8hPRq.js";
17
+ import { t as enablePluginInConfig } from "./enable-CmddFDJP.js";
18
+ import { s as extractArchive } from "./install-safe-path-CnIWvuEU.js";
19
+ import { a as resolveBundledPluginSources, i as findBundledPluginSourceInMap, n as recordPluginInstall, s as installPluginFromNpmSpec, t as buildNpmResolutionInstallFields } from "./installs-BcQMkw3V.js";
20
+ import { n as resolveBundledInstallPlanForCatalogEntry } from "./plugin-install-plan-tegfcs_j.js";
21
+ import { c as resolveSecretInputModeForEnvSelection, s as promptSecretRefForOnboarding } from "./auth-choice.apply-helpers-BwI7_FDv.js";
22
22
  import fs, { createWriteStream } from "node:fs";
23
23
  import os from "node:os";
24
24
  import path from "node:path";
25
- import fs$1 from "node:fs/promises";
25
+ import fsPromises from "node:fs/promises";
26
26
  import { pipeline } from "node:stream/promises";
27
27
  import { request } from "node:https";
28
28
  //#region src/commands/onboarding/plugin-install.ts
@@ -1143,7 +1143,7 @@ async function findSignalCliBinary(root) {
1143
1143
  const candidates = [];
1144
1144
  const enqueue = async (dir, depth) => {
1145
1145
  if (depth > 3) return;
1146
- const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => []);
1146
+ const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => []);
1147
1147
  for (const entry of entries) {
1148
1148
  const full = path.join(dir, entry.name);
1149
1149
  if (entry.isDirectory()) await enqueue(full, depth + 1);
@@ -1164,7 +1164,7 @@ async function resolveBrewSignalCliPath(brewExe) {
1164
1164
  const prefix = result.stdout.trim();
1165
1165
  const candidate = path.join(prefix, "bin", "signal-cli");
1166
1166
  try {
1167
- await fs$1.access(candidate);
1167
+ await fsPromises.access(candidate);
1168
1168
  return candidate;
1169
1169
  } catch {
1170
1170
  return findSignalCliBinary(prefix);
@@ -1220,12 +1220,12 @@ async function installSignalCliFromRelease(runtime) {
1220
1220
  ok: false,
1221
1221
  error: "No compatible release asset found for this platform."
1222
1222
  };
1223
- const tmpDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "openclaw-signal-"));
1223
+ const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-signal-"));
1224
1224
  const archivePath = path.join(tmpDir, asset.name);
1225
1225
  runtime.log(`Downloading signal-cli ${version} (${asset.name})…`);
1226
1226
  await downloadToFile(asset.browser_download_url, archivePath);
1227
1227
  const installRoot = path.join(CONFIG_DIR, "tools", "signal-cli", version);
1228
- await fs$1.mkdir(installRoot, { recursive: true });
1228
+ await fsPromises.mkdir(installRoot, { recursive: true });
1229
1229
  if (!looksLikeArchive(asset.name.toLowerCase())) return {
1230
1230
  ok: false,
1231
1231
  error: `Unsupported archive type: ${asset.name}`
@@ -1244,7 +1244,7 @@ async function installSignalCliFromRelease(runtime) {
1244
1244
  ok: false,
1245
1245
  error: `signal-cli binary not found after extracting ${asset.name}`
1246
1246
  };
1247
- await fs$1.chmod(cliPath, 493).catch(() => {});
1247
+ await fsPromises.chmod(cliPath, 493).catch(() => {});
1248
1248
  return {
1249
1249
  ok: true,
1250
1250
  cliPath,
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
2
- import { D as modelKey, Kf as OLLAMA_DEFAULT_BASE_URL, Lv as DEFAULT_PROVIDER, Nv as normalizeOptionalSecretInput, Pv as normalizeSecretInput, S as buildModelAliasIndex, Yl as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./reply-Cf5Mm7vB.js";
2
+ import { D as modelKey, Kf as OLLAMA_DEFAULT_BASE_URL, Lv as DEFAULT_PROVIDER, Nv as normalizeOptionalSecretInput, Pv as normalizeSecretInput, S as buildModelAliasIndex, Yl as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./reply-gX1XTS9Y.js";
3
3
  import { o as isSecretRef } from "./types.secrets-d7ZFrG7U.js";
4
- import { d as fetchWithTimeout } from "./fetch-CGW2R_wh.js";
5
- import { r as ensureApiKeyFromEnvOrPrompt } from "./auth-choice.apply-helpers-BFZ8hPRq.js";
6
- import { tn as normalizeAlias } from "./provider-auth-helpers-Dzq3SbTh.js";
7
- import { r as applyPrimaryModel } from "./model-picker-C5sQCeTo.js";
4
+ import { d as fetchWithTimeout } from "./fetch-ggeyBJ4j.js";
5
+ import { r as ensureApiKeyFromEnvOrPrompt } from "./auth-choice.apply-helpers-BwI7_FDv.js";
6
+ import { tn as normalizeAlias } from "./provider-auth-helpers-B5U-h2Ob.js";
7
+ import { r as applyPrimaryModel } from "./model-picker-iMZicrZb.js";
8
8
  //#region src/commands/onboard-custom.ts
9
9
  var onboard_custom_exports = /* @__PURE__ */ __exportAll({
10
10
  CustomApiError: () => CustomApiError,
@@ -1,15 +1,15 @@
1
1
  import "./paths-tuenh9TL.js";
2
2
  import "./subsystem-G54saDcg.js";
3
3
  import "./utils-B8zCe27d.js";
4
- import { d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId } from "./agent-scope-DmTcOjk4.js";
5
- import "./openclaw-root-B5jXk2td.js";
4
+ import { d as resolveAgentWorkspaceDir, f as resolveDefaultAgentId } from "./agent-scope-sd1-3XH0.js";
5
+ import "./openclaw-root-dlCz9toZ.js";
6
6
  import "./logger-BohkHL0S.js";
7
7
  import "./exec-CNtAq7Md.js";
8
8
  import { t as formatCliCommand } from "./command-format-p_4ya3m0.js";
9
9
  import "./boolean-B938tROv.js";
10
10
  import "./frontmatter-BngyYhS0.js";
11
- import "./workspace-CWne7yqK.js";
12
- import { t as buildWorkspaceHookStatus } from "./hooks-status-C3wWva3H.js";
11
+ import "./workspace-BTsqd19h.js";
12
+ import { t as buildWorkspaceHookStatus } from "./hooks-status-BiuMKGQP.js";
13
13
  //#region src/commands/onboard-hooks.ts
14
14
  async function setupInternalHooks(cfg, runtime, prompter) {
15
15
  await prompter.note([
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
2
- import { Qh as isSecureWebSocketUrl, wt as detectBinary } from "./reply-Cf5Mm7vB.js";
3
- import { c as resolveSecretInputModeForEnvSelection, s as promptSecretRefForOnboarding } from "./auth-choice.apply-helpers-BFZ8hPRq.js";
2
+ import { Qh as isSecureWebSocketUrl, wt as detectBinary } from "./reply-gX1XTS9Y.js";
3
+ import { c as resolveSecretInputModeForEnvSelection, s as promptSecretRefForOnboarding } from "./auth-choice.apply-helpers-BwI7_FDv.js";
4
4
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-clEQGTnj.js";
5
- import { t as discoverGatewayBeacons } from "./bonjour-discovery-Cnl-PHZ4.js";
5
+ import { t as discoverGatewayBeacons } from "./bonjour-discovery-CgQeXj94.js";
6
6
  //#region src/commands/onboard-remote.ts
7
7
  var onboard_remote_exports = /* @__PURE__ */ __exportAll({ promptRemoteGatewayConfig: () => promptRemoteGatewayConfig });
8
8
  const DEFAULT_GATEWAY_URL = "ws://127.0.0.1:18789";
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
2
- import { Pv as normalizeSecretInput, Rt as resolveNodeManagerOptions, wt as detectBinary } from "./reply-Cf5Mm7vB.js";
2
+ import { Pv as normalizeSecretInput, Rt as resolveNodeManagerOptions, wt as detectBinary } from "./reply-gX1XTS9Y.js";
3
3
  import { t as formatCliCommand } from "./command-format-p_4ya3m0.js";
4
- import { t as buildWorkspaceSkillStatus } from "./skills-status-PMeXzDbC.js";
5
- import { t as installSkill } from "./skills-install-DFkV3GsC.js";
4
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-DHMQ6A2H.js";
5
+ import { t as installSkill } from "./skills-install-BnRu7wO4.js";
6
6
  //#region src/commands/onboard-skills.ts
7
7
  var onboard_skills_exports = /* @__PURE__ */ __exportAll({ setupSkills: () => setupSkills });
8
8
  function summarizeInstallFailure(message) {
@@ -1,11 +1,11 @@
1
1
  import { n as DEFAULT_GATEWAY_PORT, u as resolveGatewayPort } from "./paths-tuenh9TL.js";
2
2
  import { p as defaultRuntime } from "./subsystem-G54saDcg.js";
3
3
  import { y as resolveUserPath } from "./utils-B8zCe27d.js";
4
- import { m_ as readConfigFileSnapshot, v_ as writeConfigFile } from "./reply-Cf5Mm7vB.js";
4
+ import { m_ as readConfigFileSnapshot, v_ as writeConfigFile } from "./reply-gX1XTS9Y.js";
5
5
  import { l as normalizeSecretInputString } from "./types.secrets-d7ZFrG7U.js";
6
6
  import { t as formatCliCommand } from "./command-format-p_4ya3m0.js";
7
7
  import { t as WizardCancelledError } from "./prompts-88Dfc7Av.js";
8
- import { t as resolveOnboardingSecretInputString } from "./onboarding.secret-input-OwIXA7An.js";
8
+ import { t as resolveOnboardingSecretInputString } from "./onboarding.secret-input-D75Xjj5j.js";
9
9
  //#region src/wizard/onboarding.ts
10
10
  async function requireRiskAcknowledgement(params) {
11
11
  if (params.opts.acceptRisk === true) return;
@@ -43,7 +43,7 @@ async function requireRiskAcknowledgement(params) {
43
43
  })) throw new WizardCancelledError("risk not accepted");
44
44
  }
45
45
  async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
46
- const onboardHelpers = await import("./reply-Cf5Mm7vB.js").then((n) => n.Mt);
46
+ const onboardHelpers = await import("./reply-gX1XTS9Y.js").then((n) => n.Mt);
47
47
  onboardHelpers.printWizardHeader(runtime);
48
48
  await prompter.intro("OpenClaw onboarding");
49
49
  await requireRiskAcknowledgement({
@@ -247,8 +247,8 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
247
247
  }]
248
248
  }));
249
249
  if (mode === "remote") {
250
- const { promptRemoteGatewayConfig } = await import("./onboard-remote-Cyc407f2.js").then((n) => n.t);
251
- const { logConfigUpdated } = await import("./logging-DPEdtuNl.js").then((n) => n.r);
250
+ const { promptRemoteGatewayConfig } = await import("./onboard-remote-Dtm07eUX.js").then((n) => n.t);
251
+ const { logConfigUpdated } = await import("./logging-B7i4YBpx.js").then((n) => n.r);
252
252
  let nextConfig = await promptRemoteGatewayConfig(baseConfig, prompter, { secretInputMode: opts.secretInputMode });
253
253
  nextConfig = onboardHelpers.applyWizardMetadata(nextConfig, {
254
254
  command: "onboard",
@@ -265,11 +265,11 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
265
265
  }))).trim() || onboardHelpers.DEFAULT_WORKSPACE);
266
266
  const { applyOnboardingLocalWorkspaceConfig } = await import("./onboard-config-Cc0V1FPc.js").then((n) => n.n);
267
267
  let nextConfig = applyOnboardingLocalWorkspaceConfig(baseConfig, workspaceDir);
268
- const { ensureAuthProfileStore } = await import("./auth-profiles.runtime-BWD0iDWZ.js");
269
- const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-Bjt463U7.js").then((n) => n.t);
270
- const { promptCustomApiConfig } = await import("./onboard-custom-iC39HaRY.js").then((n) => n.r);
271
- const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-CuOI0DLZ.js").then((n) => n.t);
272
- const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-C5sQCeTo.js").then((n) => n.i);
268
+ const { ensureAuthProfileStore } = await import("./auth-profiles.runtime-firEabaJ.js");
269
+ const { promptAuthChoiceGrouped } = await import("./auth-choice-prompt-CyE2_iHL.js").then((n) => n.t);
270
+ const { promptCustomApiConfig } = await import("./onboard-custom-CyUm7NIR.js").then((n) => n.r);
271
+ const { applyAuthChoice, resolvePreferredProviderForAuthChoice, warnIfModelConfigLooksOff } = await import("./auth-choice-CgIbQGAr.js").then((n) => n.t);
272
+ const { applyPrimaryModel, promptDefaultModel } = await import("./model-picker-iMZicrZb.js").then((n) => n.i);
273
273
  const authStore = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false });
274
274
  const authChoiceFromPrompt = opts.authChoice === void 0;
275
275
  const authChoice = opts.authChoice ?? await promptAuthChoiceGrouped({
@@ -319,7 +319,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
319
319
  if (modelSelection.model) nextConfig = applyPrimaryModel(nextConfig, modelSelection.model);
320
320
  }
321
321
  await warnIfModelConfigLooksOff(nextConfig, prompter);
322
- const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-C2XdEUF3.js");
322
+ const { configureGatewayForOnboarding } = await import("./onboarding.gateway-config-BRSWuajr.js");
323
323
  const gateway = await configureGatewayForOnboarding({
324
324
  flow,
325
325
  baseConfig,
@@ -334,8 +334,8 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
334
334
  const settings = gateway.settings;
335
335
  if (opts.skipChannels ?? opts.skipProviders) await prompter.note("Skipping channel setup.", "Channels");
336
336
  else {
337
- const { listChannelPlugins } = await import("./plugins-om7vnHk0.js").then((n) => n.i);
338
- const { setupChannels } = await import("./onboard-channels-Dub92d1X.js").then((n) => n.n);
337
+ const { listChannelPlugins } = await import("./plugins-BVbKGpQJ.js").then((n) => n.i);
338
+ const { setupChannels } = await import("./onboard-channels-C_RZQliP.js").then((n) => n.n);
339
339
  const quickstartAllowFromChannels = flow === "quickstart" ? listChannelPlugins().filter((plugin) => plugin.meta.quickstartAllowFrom).map((plugin) => plugin.id) : [];
340
340
  nextConfig = await setupChannels(nextConfig, runtime, prompter, {
341
341
  allowSignalInstall: true,
@@ -347,7 +347,7 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
347
347
  });
348
348
  }
349
349
  await writeConfigFile(nextConfig);
350
- const { logConfigUpdated } = await import("./logging-DPEdtuNl.js").then((n) => n.r);
350
+ const { logConfigUpdated } = await import("./logging-B7i4YBpx.js").then((n) => n.r);
351
351
  logConfigUpdated(runtime);
352
352
  await onboardHelpers.ensureWorkspaceAndSessions(workspaceDir, runtime, { skipBootstrap: Boolean(nextConfig.agents?.defaults?.skipBootstrap) });
353
353
  if (opts.skipSearch) await prompter.note("Skipping search setup.", "Search");
@@ -360,17 +360,17 @@ async function runOnboardingWizard(opts, runtime = defaultRuntime, prompter) {
360
360
  }
361
361
  if (opts.skipSkills) await prompter.note("Skipping skills setup.", "Skills");
362
362
  else {
363
- const { setupSkills } = await import("./onboard-skills-BqnqjDI3.js").then((n) => n.t);
363
+ const { setupSkills } = await import("./onboard-skills-BOBtFqTc.js").then((n) => n.t);
364
364
  nextConfig = await setupSkills(nextConfig, workspaceDir, runtime, prompter);
365
365
  }
366
- const { setupInternalHooks } = await import("./onboard-hooks-DUll1iq8.js");
366
+ const { setupInternalHooks } = await import("./onboard-hooks-Bx20a5uy.js");
367
367
  nextConfig = await setupInternalHooks(nextConfig, runtime, prompter);
368
368
  nextConfig = onboardHelpers.applyWizardMetadata(nextConfig, {
369
369
  command: "onboard",
370
370
  mode
371
371
  });
372
372
  await writeConfigFile(nextConfig);
373
- const { finalizeOnboardingWizard } = await import("./onboarding.finalize-C4jEsWtC.js");
373
+ const { finalizeOnboardingWizard } = await import("./onboarding.finalize-BAUMJZlu.js");
374
374
  const { launchedTui } = await finalizeOnboardingWizard({
375
375
  flow,
376
376
  opts,
@@ -1,9 +1,9 @@
1
1
  import "./paths-tuenh9TL.js";
2
2
  import { m as restoreTerminalState } from "./subsystem-G54saDcg.js";
3
3
  import { h as pathExists, y as resolveUserPath } from "./utils-B8zCe27d.js";
4
- import { Dt as formatControlUiSshHint, Ft as probeGatewayReachable, Lt as resolveControlUiLinks, Nt as openUrl, Tt as detectBrowserOpenSupport, Vt as waitForGatewayReachable } from "./reply-Cf5Mm7vB.js";
5
- import { y as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-DmTcOjk4.js";
6
- import "./openclaw-root-B5jXk2td.js";
4
+ import { Dt as formatControlUiSshHint, Ft as probeGatewayReachable, Lt as resolveControlUiLinks, Nt as openUrl, Tt as detectBrowserOpenSupport, Vt as waitForGatewayReachable } from "./reply-gX1XTS9Y.js";
5
+ import { y as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-sd1-3XH0.js";
6
+ import "./openclaw-root-dlCz9toZ.js";
7
7
  import "./logger-BohkHL0S.js";
8
8
  import "./exec-CNtAq7Md.js";
9
9
  import "./github-copilot-token-Ff890Vmh.js";
@@ -12,16 +12,16 @@ import "./boolean-B938tROv.js";
12
12
  import "./env-CQxWwTMn.js";
13
13
  import "./env-overrides-BYyMsIvB.js";
14
14
  import "./registry-aHEgjCIQ.js";
15
- import "./skills-Jz-BSwRd.js";
15
+ import "./skills-vhlUaliH.js";
16
16
  import "./frontmatter-BngyYhS0.js";
17
- import "./plugins-om7vnHk0.js";
18
- import "./query-expansion-BNb6Vys6.js";
17
+ import "./plugins-BVbKGpQJ.js";
18
+ import "./query-expansion-AnOnkIqf.js";
19
19
  import "./redact-owRpqMhM.js";
20
- import "./path-alias-guards-BEqdGdn9.js";
21
- import "./fetch-CGW2R_wh.js";
20
+ import "./path-alias-guards-B6owPyQX.js";
21
+ import "./fetch-ggeyBJ4j.js";
22
22
  import "./errors-DNKaAVHN.js";
23
- import "./cmd-argv-BdNFwuhe.js";
24
- import "./restart-stale-pids-ZfbSMILU.js";
23
+ import "./cmd-argv-Dz5qUtqp.js";
24
+ import "./restart-stale-pids-B6E7QavX.js";
25
25
  import "./delivery-queue-B7zSt4zY.js";
26
26
  import "./paths-CfmKJcO5.js";
27
27
  import "./session-cost-usage-C2jrTKxW.js";
@@ -29,25 +29,25 @@ import "./prompt-style-DlcWUCNR.js";
29
29
  import "./links-BpKafJs4.js";
30
30
  import "./cli-utils-BSURvrmb.js";
31
31
  import "./runtime-guard-C4h47dl7.js";
32
- import "./program-context-BnNrq2_o.js";
32
+ import "./program-context--XQiK-Vv.js";
33
33
  import "./note-DOFTT6QH.js";
34
- import { r as installCompletion } from "./completion-cli-BnHZnvaD.js";
35
- import "./daemon-install-plan.shared-BfFSRwqA.js";
36
- import { n as buildGatewayInstallPlan, r as gatewayInstallErrorHint, t as resolveGatewayInstallToken } from "./gateway-install-token-C40ge2lh.js";
34
+ import { r as installCompletion } from "./completion-cli-DetW6vGx.js";
35
+ import "./daemon-install-plan.shared-g5FPfccc.js";
36
+ import { n as buildGatewayInstallPlan, r as gatewayInstallErrorHint, t as resolveGatewayInstallToken } from "./gateway-install-token-CQHd6wSt.js";
37
37
  import { n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CYx-YMxc.js";
38
38
  import "./runtime-parse-l56zRsXX.js";
39
- import "./launchd-BLFV2ME0.js";
40
- import { n as resolveGatewayService, t as describeGatewayServiceRestart } from "./service-RXVSlLiU.js";
41
- import { i as isSystemdUserServiceAvailable } from "./systemd-D47rkLi7.js";
42
- import { r as healthCommand } from "./health-D_dD9-ET.js";
43
- import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-D5CuaZfV.js";
44
- import { t as resolveOnboardingSecretInputString } from "./onboarding.secret-input-OwIXA7An.js";
39
+ import "./launchd-D7vxtTg7.js";
40
+ import { n as resolveGatewayService, t as describeGatewayServiceRestart } from "./service-LNrViUVb.js";
41
+ import { i as isSystemdUserServiceAvailable } from "./systemd-DSK6B3bg.js";
42
+ import { r as healthCommand } from "./health-CTOG7Tdy.js";
43
+ import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B9I2TpME.js";
44
+ import { t as resolveOnboardingSecretInputString } from "./onboarding.secret-input-D75Xjj5j.js";
45
45
  import { t as formatHealthCheckFailure } from "./health-format-DjMu3Zty.js";
46
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DvnTlsPK.js";
47
- import { t as runTui } from "./tui-CzYnfJxE.js";
46
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CA3Zcz0O.js";
47
+ import { t as runTui } from "./tui-DzNNH2rc.js";
48
48
  import os from "node:os";
49
49
  import path from "node:path";
50
- import fs from "node:fs/promises";
50
+ import fsPromises from "node:fs/promises";
51
51
  //#region src/wizard/onboarding.completion.ts
52
52
  async function resolveProfileHint(shell) {
53
53
  const home = process.env.HOME || os.homedir();
@@ -107,7 +107,7 @@ async function finalizeOnboardingWizard(options) {
107
107
  const systemdAvailable = process.platform === "linux" ? await isSystemdUserServiceAvailable() : true;
108
108
  if (process.platform === "linux" && !systemdAvailable) await prompter.note("Systemd user services are unavailable. Skipping lingering checks and service install.", "Systemd");
109
109
  if (process.platform === "linux" && systemdAvailable) {
110
- const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-DwmFZpci.js").then((n) => n.r);
110
+ const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-BPISBIWJ.js").then((n) => n.r);
111
111
  await ensureSystemdUserLingerInteractive({
112
112
  runtime,
113
113
  prompter: {
@@ -283,7 +283,7 @@ async function finalizeOnboardingWizard(options) {
283
283
  });
284
284
  const gatewayStatusLine = gatewayProbe.ok ? "Gateway: reachable" : `Gateway: not detected${gatewayProbe.detail ? ` (${gatewayProbe.detail})` : ""}`;
285
285
  const bootstrapPath = path.join(resolveUserPath(options.workspaceDir), DEFAULT_BOOTSTRAP_FILENAME);
286
- const hasBootstrap = await fs.access(bootstrapPath).then(() => true).catch(() => false);
286
+ const hasBootstrap = await fsPromises.access(bootstrapPath).then(() => true).catch(() => false);
287
287
  await prompter.note([
288
288
  `Web UI: ${links.httpUrl}`,
289
289
  settings.authMode === "token" && settings.gatewayToken ? `Web UI (with token): ${authedUrl}` : void 0,