@visorcraft/idlehands 4.1.0 → 4.2.1

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 (382) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{accounts-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
  3. package/dist/{accounts-B8cGzkjD.js → accounts-BDVs8LTu.js} +1 -1
  4. package/dist/{accounts-D5tB_lO0.js → accounts-CIvVRRHb.js} +1 -1
  5. package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
  6. package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
  7. package/dist/{accounts-BQC_GRUB.js → accounts-Dk8mJIrQ.js} +6 -6
  8. package/dist/{acp-cli-BEHYc8ty.js → acp-cli-BEpWQbqb.js} +7 -7
  9. package/dist/{agent-scope-Bxq1eWbA.js → agent-scope-DyP_tr7s.js} +4 -4
  10. package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
  11. package/dist/{agent-via-gateway-igDg7ko6.js → agent-via-gateway-C42kkKZI.js} +2 -2
  12. package/dist/{agent-via-gateway-CM7X6sKJ.js → agent-via-gateway-CUtzJXBE.js} +60 -60
  13. package/dist/{agent-via-gateway-B03q92bw.js → agent-via-gateway-CldlRczJ.js} +1 -1
  14. package/dist/{agent-via-gateway-bS6seBwg.js → agent-via-gateway-oMn0WfUq.js} +4 -4
  15. package/dist/{agents-DdTECKDf.js → agents-BfnnMO1i.js} +4 -4
  16. package/dist/{agents.config-D2EbQiOx.js → agents.config-BFfVBZMA.js} +1 -1
  17. package/dist/{agents.config-CPUPtcKt.js → agents.config-bWtpv0jP.js} +2 -2
  18. package/dist/{anton-ONYQUE8F.js → anton-CgpWkf5P.js} +32 -17
  19. package/dist/{anton-C7-Qxyij.js → anton-CoGaJdTU.js} +36 -21
  20. package/dist/{anton-D4vpCj_q.js → anton-DSS3RNo7.js} +32 -17
  21. package/dist/anton-DXL8jrY_.js +792 -0
  22. package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
  23. package/dist/{audio-preflight-qkU2lsDn.js → audio-preflight-CW8IH1lU.js} +35 -35
  24. package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
  25. package/dist/{audit-C5VPFgbJ.js → audit-CKeZnjft.js} +22 -22
  26. package/dist/{auth-choice-DVoPuwEs.js → auth-choice-BNofPyTK.js} +1 -1
  27. package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
  28. package/dist/{auth-choice-CQqV1VIf.js → auth-choice-Z7nPFxhP.js} +10 -10
  29. package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  30. package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
  31. package/dist/{auth-store-Bb4aajHu.js → auth-store-DXT-l7fO.js} +12 -12
  32. package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
  33. package/dist/{banner-CFKoGAzN.js → banner-B1-kj-GW.js} +1 -1
  34. package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
  35. package/dist/{bindings-CLZIJ0Eo.js → bindings-D3b5Fmc9.js} +2 -2
  36. package/dist/{browser-cli-qU0I-Gla.js → browser-cli-Ci6DpTnS.js} +11 -11
  37. package/dist/build-info.json +3 -3
  38. package/dist/bundled/boot-md/handler.js +60 -60
  39. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  40. package/dist/bundled/command-logger/handler.js +3 -3
  41. package/dist/bundled/session-memory/handler.js +60 -60
  42. package/dist/{call-Du-oBD99.js → call-BpWhjuOg.js} +9 -9
  43. package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
  44. package/dist/{channel-activity-DdL3RAv_.js → channel-activity-D_TMOGQ0.js} +3 -3
  45. package/dist/{channel-options-BU0E7BdU.js → channel-options-C5Iz9bes.js} +1 -1
  46. package/dist/{channel-options-B1cfZ5uQ.js → channel-options-CUP3A4VX.js} +3 -3
  47. package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
  48. package/dist/{channel-web-BDytDCrG.js → channel-web-CGXl1PnB.js} +2 -2
  49. package/dist/{channel-web-CzrJ-6X4.js → channel-web-CsUiKxQo.js} +22 -22
  50. package/dist/{channels-cli-DWaQsKP8.js → channels-cli-DK7TRLqX.js} +7 -7
  51. package/dist/{channels-cli-B4o-qohk.js → channels-cli-DmHSajZy.js} +88 -88
  52. package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
  53. package/dist/{chrome-CT_a9OgI.js → chrome-BcJB6PcM.js} +17 -17
  54. package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
  55. package/dist/{chunk-Djk-9JeT.js → chunk-CMpX7Jaz.js} +1 -1
  56. package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
  57. package/dist/{cli-Hplv9sD1.js → cli-6eMKeewY.js} +2 -2
  58. package/dist/{cli-DXyOlvH2.js → cli-DEE_ketW.js} +70 -70
  59. package/dist/{client-Dl5EAvfO.js → client-DtnD-ee9.js} +1 -1
  60. package/dist/{command-registry-esizscE2.js → command-registry-BFTlzx6d.js} +10 -10
  61. package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
  62. package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
  63. package/dist/{commands-registry-_TBHHpvt.js → commands-registry-j4vAzcF2.js} +5 -5
  64. package/dist/{completion-cli-c4blaZPQ.js → completion-cli-BbXgtvGY.js} +2 -2
  65. package/dist/{completion-cli-CXDILt8-.js → completion-cli-PBfCNWhv.js} +12 -12
  66. package/dist/{config-cli-D_mH5-FH.js → config-cli-BVJRkNhX.js} +6 -6
  67. package/dist/{config-cli-98ASrAou.js → config-cli-Q934shK6.js} +1 -1
  68. package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
  69. package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
  70. package/dist/{configure-PKG58EzI.js → configure-85ttW_lD.js} +16 -16
  71. package/dist/{configure-CKspMrI1.js → configure-BGAvA5a4.js} +3 -3
  72. package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  73. package/dist/{cron-cli-BIfVPc5K.js → cron-cli-DQsnGQKs.js} +12 -12
  74. package/dist/{daemon-cli-DpyQu0Dp.js → daemon-cli-DUg-s4LG.js} +11 -11
  75. package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
  76. package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
  77. package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
  78. package/dist/{deliver-Db2xqgLg.js → deliver-BUiQ-9fE.js} +20 -20
  79. package/dist/{deps-CjWcQwlX.js → deps-AEDT3iDX.js} +1 -1
  80. package/dist/{deps-CC5E5LXB.js → deps-B4J8H6nI.js} +6 -6
  81. package/dist/{deps-BotXja4Z.js → deps-Bq7jJLyN.js} +6 -6
  82. package/dist/{deps-DR1eh_L_.js → deps-Ch6bZ8PI.js} +1 -1
  83. package/dist/{devices-cli-B7fkQKei.js → devices-cli-DKK65S9Z.js} +7 -7
  84. package/dist/{diagnostic-BvlZ0Sot.js → diagnostic-4owMk4vH.js} +1 -1
  85. package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
  86. package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
  87. package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
  88. package/dist/{dock-ejUetwTC.js → dock-BgOmHcbh.js} +6 -6
  89. package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
  90. package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
  91. package/dist/{doctor-completion-Co_xszXC.js → doctor-completion-CN5Zujsa.js} +2 -2
  92. package/dist/{doctor-completion-DFr8_h-z.js → doctor-completion-Clh5CNUd.js} +1 -1
  93. package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
  94. package/dist/{emergency-stop-ChBe32HN.js → emergency-stop-2v4bhRCE.js} +2 -2
  95. package/dist/{emergency-stop-DtVFxCO1.js → emergency-stop-BtasjDnU.js} +70 -70
  96. package/dist/emergency-stop-CVO75pTD.js +113 -0
  97. package/dist/{emergency-stop-CDozqde9.js → emergency-stop-D_bTOufu.js} +2 -2
  98. package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
  99. package/dist/entry.js +1 -1
  100. package/dist/{env-q-PhWbb_.js → env-B5G1qwGc.js} +1 -1
  101. package/dist/{errors-C4SHjIZK.js → errors-C_0nm4TJ.js} +1 -1
  102. package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  103. package/dist/{exec-approvals-cli-CbcJzCt0.js → exec-approvals-cli-D6XUzs4j.js} +15 -15
  104. package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  105. package/dist/extensionAPI.js +2 -2
  106. package/dist/{fetch-guard-CcfDZXe9.js → fetch-guard-iuQsIjqN.js} +1 -1
  107. package/dist/{frontmatter-pTUG4Sx_.js → frontmatter-BOudmHMS.js} +2 -2
  108. package/dist/{fs-safe-2l05hI1Y.js → fs-safe-CYUaAFO9.js} +2 -2
  109. package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
  110. package/dist/{gateway-cli-DjCBMnUT.js → gateway-cli-Cl7cEsHE.js} +9 -9
  111. package/dist/{gateway-cli-poVGdgAz.js → gateway-cli-DJm73Wou.js} +148 -148
  112. package/dist/{gateway-rpc-IpZymG6F.js → gateway-rpc-BBFG1T-M.js} +1 -1
  113. package/dist/{gemini-auth-DLSGffQK.js → gemini-auth-CIyaa44H.js} +2 -2
  114. package/dist/{github-copilot-token-BjmEQcmi.js → github-copilot-token-Dgt6cnsM.js} +7 -7
  115. package/dist/{health-lZsCLX6p.js → health-C6_Sa_ef.js} +13 -13
  116. package/dist/{health-HEN6Wk9G.js → health-D-b3jdnU.js} +1 -1
  117. package/dist/{hooks-cli-DFrttZGb.js → hooks-cli-BB25FyuN.js} +3 -3
  118. package/dist/{hooks-cli-EbzkZ1Xh.js → hooks-cli-BC3n8UYQ.js} +84 -84
  119. package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
  120. package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
  121. package/dist/{image-Dlu13Ebx.js → image-D8b_rlQC.js} +6 -6
  122. package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
  123. package/dist/{image-ops-J8P5zOFm.js → image-ops-BU-VdLZu.js} +2 -2
  124. package/dist/{image-ops-BkoEFRYH.js → image-ops-D1KtygWz.js} +11 -11
  125. package/dist/index.js +80 -80
  126. package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
  127. package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
  128. package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
  129. package/dist/{ir-BT5aAdU9.js → ir-B7IBoKLy.js} +5 -5
  130. package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
  131. package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  132. package/dist/llm-slug-generator.js +60 -60
  133. package/dist/{local-roots-d4y0lvs2.js → local-roots-KN4Hp1yZ.js} +5 -5
  134. package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
  135. package/dist/{login-C2X0In6m.js → login-CFr5vJmR.js} +6 -6
  136. package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
  137. package/dist/{login-qr-C17PY0rr.js → login-qr-CFFFOjOl.js} +11 -11
  138. package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
  139. package/dist/{logs-cli-DHCG25JA.js → logs-cli-4VQ9Iwiw.js} +8 -8
  140. package/dist/{manager-CgzA1hKo.js → manager-BE_76jWB.js} +15 -15
  141. package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
  142. package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
  143. package/dist/{markdown-tables-R8VTpfE9.js → markdown-tables-CzsockiZ.js} +1 -1
  144. package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
  145. package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
  146. package/dist/{message-channel-ZdI1-uUh.js → message-channel-C8QtrwEU.js} +1 -1
  147. package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
  148. package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
  149. package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
  150. package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
  151. package/dist/{model-selection-C5hI1dum.js → model-selection-1MMYqY6M.js} +41 -41
  152. package/dist/{models-tZYpgts_.js → models-C1_Tdc1Q.js} +2 -2
  153. package/dist/{models-cli-umEUn4Xu.js → models-cli-B9yw60gV.js} +79 -79
  154. package/dist/{models-cli-DVAyIZ63.js → models-cli-Bs5ZNSbk.js} +4 -4
  155. package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
  156. package/dist/{node-cli-7gQ7xfOh.js → node-cli-BYzjxmUY.js} +32 -32
  157. package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
  158. package/dist/{nodes-cli-CDXLGCox.js → nodes-cli-kNOtp0U0.js} +14 -14
  159. package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
  160. package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
  161. package/dist/{npm-resolution-By6en78P.js → npm-resolution-BMDipaRX.js} +3 -3
  162. package/dist/{npm-resolution-By6bZkA-.js → npm-resolution-yXJbqHHn.js} +1 -1
  163. package/dist/{onboard-Dw-URWpt.js → onboard-CYRoDnOI.js} +2 -2
  164. package/dist/{onboard-BmDmDXYf.js → onboard-DjbHK18p.js} +6 -6
  165. package/dist/{onboard-channels-DCDhpz9s.js → onboard-channels-CNQt2jFU.js} +20 -20
  166. package/dist/{onboard-channels-JPltbNGL.js → onboard-channels-CkxvodmR.js} +1 -1
  167. package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
  168. package/dist/{onboard-helpers-CdzbIhrm.js → onboard-helpers-mzy38DiC.js} +8 -8
  169. package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
  170. package/dist/{onboard-remote-pCRaL_Ey.js → onboard-remote-LCBHijVE.js} +1 -1
  171. package/dist/{onboard-skills-DvwRvBvj.js → onboard-skills-jFY9gaOu.js} +4 -4
  172. package/dist/{onboarding-DIorhVOJ.js → onboarding-BEDOWI9h.js} +3 -3
  173. package/dist/{onboarding-Cf3JxJxY.js → onboarding-D9AZJlDK.js} +13 -13
  174. package/dist/{onboarding.finalize-BCmAqhLV.js → onboarding.finalize-D4hW1yTd.js} +7 -7
  175. package/dist/{onboarding.finalize-BH4WHo75.js → onboarding.finalize-DJxMkD2g.js} +82 -82
  176. package/dist/{onboarding.gateway-config-Sj7zQKsE.js → onboarding.gateway-config-Btu2gzgr.js} +16 -16
  177. package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
  178. package/dist/{outbound-CdY_AskB.js → outbound-BNh6PpQb.js} +6 -6
  179. package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
  180. package/dist/{outbound-attachment-jYdMgCml.js → outbound-attachment-3I6GzwDe.js} +2 -2
  181. package/dist/{outbound-attachment-IfeZJAKk.js → outbound-attachment-Bot3bRnK.js} +2 -2
  182. package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
  183. package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
  184. package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
  185. package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
  186. package/dist/{path-alias-guards-BZmt6hFb.js → path-alias-guards-Cu1nXNMM.js} +1 -1
  187. package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
  188. package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
  189. package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
  190. package/dist/{paths-DQpv9a3Q.js → paths-BYNVLNi_.js} +5 -5
  191. package/dist/{paths-D3p7ZvM6.js → paths-D_qUel1T.js} +3 -3
  192. package/dist/{pi-embedded-mKozULng.js → pi-embedded-C6RDRgJM.js} +179 -179
  193. package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
  194. package/dist/{pi-embedded-helpers-B3ceCcxm.js → pi-embedded-helpers-CghCLoPo.js} +24 -24
  195. package/dist/{pi-embedded-DMx6rHVL.js → pi-embedded-o6Xj8V4C.js} +11 -11
  196. package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  197. package/dist/{pi-model-discovery-Dlx4RLWo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
  198. package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
  199. package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
  200. package/dist/{plugin-registry-BY85d-vE.js → plugin-registry-6C1sgAm1.js} +1 -1
  201. package/dist/{plugin-registry-BIoGoN5y.js → plugin-registry-DIK-5KI9.js} +3 -3
  202. package/dist/plugin-sdk/{agent-via-gateway-CXtWg-qx.js → agent-via-gateway-DmQMFWNE.js} +2 -2
  203. package/dist/plugin-sdk/{anton-CGYTy9vy.js → anton-CrjFisFZ.js} +32 -17
  204. package/dist/plugin-sdk/{channel-web-EFRSObCG.js → channel-web-vQgHbtCG.js} +2 -2
  205. package/dist/plugin-sdk/{deps-qZxPlSgp.js → deps-DfyALwFG.js} +1 -1
  206. package/dist/plugin-sdk/{emergency-stop-CxcBz-aQ.js → emergency-stop-0ZrbH3D4.js} +2 -2
  207. package/dist/plugin-sdk/index.js +3 -3
  208. package/dist/plugin-sdk/{reply-nUO1aM3T.js → reply-BfdVf3fw.js} +11 -11
  209. package/dist/plugin-sdk/{web-CEtAvhaI.js → web-DwDLI7GP.js} +3 -3
  210. package/dist/{plugins-DYr-HHj0.js → plugins-CRB60mCJ.js} +10 -10
  211. package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
  212. package/dist/{plugins-cli-Dlb8QO-K.js → plugins-cli-B1kN2Xze.js} +80 -80
  213. package/dist/{plugins-cli-RFXGkaxP.js → plugins-cli-DFUxLQbB.js} +3 -3
  214. package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
  215. package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
  216. package/dist/{program-context-B_byBfwR.js → program-context-CjyGlgVG.js} +43 -43
  217. package/dist/{program-Do2-I4y3.js → program-mmjp27H4.js} +8 -8
  218. package/dist/{prompt-select-styled-VWGHu3e1.js → prompt-select-styled-04TKk_r3.js} +4 -4
  219. package/dist/{prompt-select-styled-CBF_I30O.js → prompt-select-styled-FskTiqWw.js} +37 -37
  220. package/dist/{provider-auth-helpers-BCc5UtUa.js → provider-auth-helpers-9IcvdTst.js} +1 -1
  221. package/dist/{provider-auth-helpers-BGGSUXOH.js → provider-auth-helpers-BI7MVWjD.js} +5 -5
  222. package/dist/{push-apns-CHmvuoMu.js → push-apns-Bh0u21Bh.js} +1 -1
  223. package/dist/{push-apns-CuwLAoXk.js → push-apns-DvSYSWvk.js} +5 -5
  224. package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
  225. package/dist/{pw-ai-DIV4PcIo.js → pw-ai-CfYaR1K2.js} +13 -13
  226. package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
  227. package/dist/{qmd-manager-BRvg3Rx2.js → qmd-manager-B_GgyQQ0.js} +8 -8
  228. package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
  229. package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
  230. package/dist/{query-expansion-DHuNyU-_.js → query-expansion-DEq020GG.js} +5 -5
  231. package/dist/{redact-1Y0KPNtr.js → redact-Bvpf-ATQ.js} +1 -1
  232. package/dist/{redact-snapshot-KMo22a85.js → redact-snapshot-BbEVKv0k.js} +1 -1
  233. package/dist/{register.agent-Dx7ULz49.js → register.agent-B3zUfhl9.js} +9 -9
  234. package/dist/{register.agent-CDcuj79y.js → register.agent-BSe92Zxh.js} +95 -95
  235. package/dist/register.configure-DZ9OCp0V.js +168 -0
  236. package/dist/{register.configure-BctHAiWh.js → register.configure-N4JG5hVe.js} +8 -8
  237. package/dist/{register.maintenance-BcFR1fGQ.js → register.maintenance-BjhkxF3o.js} +9 -9
  238. package/dist/{register.maintenance-wv8PzmVy.js → register.maintenance-DxauQqK_.js} +90 -90
  239. package/dist/{register.message-DUAiI9J7.js → register.message-BsMpRFVr.js} +71 -71
  240. package/dist/{register.message-BLScF2fV.js → register.message-DoZ5i1Pn.js} +3 -3
  241. package/dist/{register.onboard-BMNBXD29.js → register.onboard-Cw3wNQRm.js} +2 -2
  242. package/dist/{register.onboard-F09brfSb.js → register.onboard-Hxi3l9IA.js} +18 -18
  243. package/dist/{register.orchestrator-anton-CGhKIDjJ.js → register.orchestrator-anton-BqQfw2JX.js} +14 -14
  244. package/dist/{register.orchestrator-anton-Tn_RaMLq.js → register.orchestrator-anton-DOByOKzU.js} +2 -2
  245. package/dist/{register.setup-jzek547p.js → register.setup-dazD7bl3.js} +21 -21
  246. package/dist/{register.setup-DqbGSLoJ.js → register.setup-r5Xy4nv4.js} +2 -2
  247. package/dist/{register.status-health-sessions-ByfydR_f.js → register.status-health-sessions-3zjBM0m6.js} +82 -82
  248. package/dist/{register.status-health-sessions-wbopjGL-.js → register.status-health-sessions-DobZ2G2u.js} +4 -4
  249. package/dist/{register.subclis-CuNL7Zgu.js → register.subclis-CGJxYP3h.js} +9 -9
  250. package/dist/{replies-2C16fnBP.js → replies-6_GxvQYe.js} +3 -3
  251. package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
  252. package/dist/{reply-CdFdL9nL.js → reply-BDr-UY9O.js} +153 -153
  253. package/dist/{reply-prefix-DCljZiIB.js → reply-prefix-BUgeSN2R.js} +1 -1
  254. package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-C3y4zpTl.js} +1 -1
  255. package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
  256. package/dist/{resolve-route-ClcifpKn.js → resolve-route-DuttYY7A.js} +4 -4
  257. package/dist/{retry-CG6cMRDQ.js → retry-BeB9WenR.js} +1 -1
  258. package/dist/{rpc-CNqnw2FL.js → rpc-Cf9OK5Yk.js} +1 -1
  259. package/dist/{run-main-9A7FdIR1.js → run-main-BDEztzfx.js} +15 -15
  260. package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
  261. package/dist/{runner-BkCU-kqs.js → runner-PgRFPYUj.js} +11 -11
  262. package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
  263. package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
  264. package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
  265. package/dist/{secrets-cli-DP718vNZ.js → secrets-cli-CR3h2TBy.js} +9 -9
  266. package/dist/{security-cli-CG2_SV7b.js → security-cli-B9_LV2po.js} +39 -39
  267. package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
  268. package/dist/{send-DZa8fWSm.js → send-BeIZJuy4.js} +7 -7
  269. package/dist/{send-Y1hD4tQ1.js → send-C1hvd3bt.js} +6 -6
  270. package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
  271. package/dist/{send-BOxJ4QXF.js → send-D4bMycQu.js} +7 -7
  272. package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
  273. package/dist/{send-FLdrx-oF.js → send-Dfa3sn6r.js} +24 -24
  274. package/dist/{send-IlPMLAH-.js → send-DmLC7aEF.js} +10 -10
  275. package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
  276. package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
  277. package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
  278. package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
  279. package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
  280. package/dist/{server-node-events-CbVkqOtV.js → server-node-events-BL1dTBEr.js} +3 -3
  281. package/dist/{server-node-events-BSPxvn7O.js → server-node-events-C69TPlKW.js} +71 -71
  282. package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
  283. package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
  284. package/dist/{session-nUPBXeEa.js → session-F_YDS_1V.js} +7 -7
  285. package/dist/{sessions-DRA4oaxz.js → sessions-3ioSeOA1.js} +41 -41
  286. package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
  287. package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
  288. package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
  289. package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
  290. package/dist/{skill-commands-BHTBXXVn.js → skill-commands-Ck3flWX7.js} +9 -9
  291. package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
  292. package/dist/{skills-umlGvChF.js → skills-CnAPWfca.js} +22 -22
  293. package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
  294. package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
  295. package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
  296. package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
  297. package/dist/{status-ClMOrHdT.js → status-AEwcpHsu.js} +2 -2
  298. package/dist/{status-YWasgjym.js → status-B8z0RCPf.js} +24 -24
  299. package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
  300. package/dist/{store-D-ZicQeo.js → store-CvMgrKWx.js} +2 -2
  301. package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
  302. package/dist/{subagent-registry-BH5O1rxK.js → subagent-registry-Dclk-Ews.js} +11 -11
  303. package/dist/{subsystem-D7ZepYT1.js → subsystem-tzu-rIAJ.js} +1 -1
  304. package/dist/{system-cli-BfjZ6QvH.js → system-cli-DyVZ5udc.js} +8 -8
  305. package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
  306. package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
  307. package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
  308. package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
  309. package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
  310. package/dist/{tables-Co_R_WKs.js → tables-5k-zOZ-s.js} +1 -1
  311. package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
  312. package/dist/{target-errors-B1mcM4WR.js → target-errors-BPfQrPim.js} +2 -2
  313. package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
  314. package/dist/{tokens-DGajj8M9.js → tokens-BRLyURxW.js} +1 -1
  315. package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
  316. package/dist/{tool-images-Duuqr4bN.js → tool-images-CcGZpzmq.js} +2 -2
  317. package/dist/{tool-loop-detection-CjWRg_4q.js → tool-loop-detection-BNGetx3Z.js} +3 -3
  318. package/dist/{tui-B2bAseIB.js → tui-Bne3YNiw.js} +6 -6
  319. package/dist/{tui-cli-cewAjqAk.js → tui-cli-D0Z-rcUe.js} +30 -30
  320. package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
  321. package/dist/{update-cli-D7gDHoEE.js → update-cli-8Tk6PCmD.js} +99 -99
  322. package/dist/{update-cli-Cxp_mYOH.js → update-cli-Bobm67f-.js} +9 -9
  323. package/dist/{update-runner-DRglQgXe.js → update-runner-B4xzPa4-.js} +15 -15
  324. package/dist/{update-runner-tu2Aiphu.js → update-runner-C4NjVy9-.js} +1 -1
  325. package/dist/{upgrade-command-28wRHZZ2.js → upgrade-command-909a7QUc.js} +3 -3
  326. package/dist/{utils-D9wGoiU9.js → utils-CTFLl_ji.js} +18 -18
  327. package/dist/{web-aRaB-CvF.js → web-9J12F46d.js} +3 -3
  328. package/dist/{web-BxegDO-S.js → web-DPSpgc_K.js} +3 -3
  329. package/dist/web-Dqy4kqC9.js +123 -0
  330. package/dist/{web-BuIXrrsp.js → web-NzOJcvWO.js} +66 -66
  331. package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
  332. package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
  333. package/dist/{whatsapp-actions-BJ6kVDXi.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
  334. package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
  335. package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
  336. package/dist/{workspace-tAtkoD_r.js → workspace-DBFSzT6O.js} +18 -18
  337. package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  338. package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
  339. package/extensions/acpx/package.json +1 -1
  340. package/extensions/bluebubbles/package.json +1 -1
  341. package/extensions/copilot-proxy/package.json +1 -1
  342. package/extensions/diagnostics-otel/package.json +1 -1
  343. package/extensions/discord/package.json +1 -1
  344. package/extensions/feishu/package.json +1 -1
  345. package/extensions/google-gemini-cli-auth/package.json +1 -1
  346. package/extensions/googlechat/package.json +1 -1
  347. package/extensions/hand/package.json +1 -1
  348. package/extensions/imessage/package.json +1 -1
  349. package/extensions/irc/package.json +1 -1
  350. package/extensions/line/package.json +1 -1
  351. package/extensions/llm-task/package.json +1 -1
  352. package/extensions/matrix/CHANGELOG.md +12 -0
  353. package/extensions/matrix/package.json +1 -1
  354. package/extensions/mattermost/package.json +1 -1
  355. package/extensions/memory-core/package.json +1 -1
  356. package/extensions/memory-lancedb/package.json +1 -1
  357. package/extensions/minimax-portal-auth/package.json +1 -1
  358. package/extensions/msteams/CHANGELOG.md +12 -0
  359. package/extensions/msteams/package.json +1 -1
  360. package/extensions/nextcloud-talk/package.json +1 -1
  361. package/extensions/nostr/CHANGELOG.md +12 -0
  362. package/extensions/nostr/package.json +1 -1
  363. package/extensions/open-prose/package.json +1 -1
  364. package/extensions/signal/package.json +1 -1
  365. package/extensions/slack/package.json +1 -1
  366. package/extensions/synology-chat/package.json +1 -1
  367. package/extensions/telegram/package.json +1 -1
  368. package/extensions/tlon/package.json +1 -1
  369. package/extensions/twitch/CHANGELOG.md +12 -0
  370. package/extensions/twitch/package.json +1 -1
  371. package/extensions/voice-call/CHANGELOG.md +12 -0
  372. package/extensions/voice-call/package.json +1 -1
  373. package/extensions/whatsapp/package.json +1 -1
  374. package/extensions/zalo/CHANGELOG.md +12 -0
  375. package/extensions/zalo/package.json +1 -1
  376. package/extensions/zalouser/CHANGELOG.md +12 -0
  377. package/extensions/zalouser/package.json +1 -1
  378. package/package.json +1 -1
  379. package/dist/anton-D9tZAGaj.js +0 -777
  380. package/dist/emergency-stop-DyQna_P0.js +0 -113
  381. package/dist/register.configure-CxwdWRSG.js +0 -168
  382. package/dist/web-DESq0zCM.js +0 -123
@@ -1,18 +1,18 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
2
- import { Ft as createConfigIO, Ht as writeConfigFile, It as loadConfig } from "./model-selection-CSn9tUuH.js";
2
+ import { Ft as createConfigIO, Ht as writeConfigFile, It as loadConfig } from "./model-selection-0dGxYGp8.js";
3
3
  import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
4
- import { A as DEFAULT_IDLEHANDS_BROWSER_ENABLED, C as stopChromeExtensionRelayServer, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, S as ensureChromeExtensionRelayServer, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, _ as appendCdpPath, a as resolveIdleHandsUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as withBrowserNavigationPolicy, h as assertBrowserNavigationResultAllowed, i as launchIdleHandsChrome, j as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, k as DEFAULT_IDLEHANDS_BROWSER_COLOR, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopIdleHandsChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchJson, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as fetchOk } from "./chrome-YguTEaLx.js";
4
+ import { A as DEFAULT_IDLEHANDS_BROWSER_ENABLED, C as stopChromeExtensionRelayServer, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, S as ensureChromeExtensionRelayServer, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, _ as appendCdpPath, a as resolveIdleHandsUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as withBrowserNavigationPolicy, h as assertBrowserNavigationResultAllowed, i as launchIdleHandsChrome, j as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, k as DEFAULT_IDLEHANDS_BROWSER_COLOR, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopIdleHandsChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchJson, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as fetchOk } from "./chrome-VBsQfIrt.js";
5
5
  import { i as isLoopbackHost } from "./ws-XBTtYpJc.js";
6
6
  import { a as resolveGatewayAuth } from "./auth-heRVBxh2.js";
7
- import { c as normalizeBrowserFormField, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-Bt0fZexW.js";
7
+ import { c as normalizeBrowserFormField, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-B-CLQ5RT.js";
8
8
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-DZDuPc3M.js";
9
9
  import { t as SsrFBlockedError } from "./ssrf-Dw9zzKSM.js";
10
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BkoEFRYH.js";
11
- import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-CLNuI8-G.js";
10
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BU-VdLZu.js";
11
+ import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-kH9wHHbO.js";
12
12
  import { t as movePathToTrash } from "./trash-CUFiyQN5.js";
13
13
  import fs from "node:fs";
14
14
  import path from "node:path";
15
- import fsPromises from "node:fs/promises";
15
+ import fs$1 from "node:fs/promises";
16
16
  import crypto from "node:crypto";
17
17
 
18
18
  //#region src/gateway/startup-auth.ts
@@ -158,7 +158,7 @@ function isModuleNotFoundError(err) {
158
158
  }
159
159
  async function loadPwAiModule(mode) {
160
160
  try {
161
- return await import("./pw-ai-BGALvhDi.js");
161
+ return await import("./pw-ai-7i9eGnLh.js");
162
162
  } catch (err) {
163
163
  if (mode === "soft") return null;
164
164
  if (isModuleNotFoundError(err)) return null;
@@ -316,7 +316,7 @@ async function withPlaywrightRouteContext(params) {
316
316
  //#endregion
317
317
  //#region src/browser/routes/output-paths.ts
318
318
  async function ensureOutputRootDir(rootDir) {
319
- await fsPromises.mkdir(rootDir, { recursive: true });
319
+ await fs$1.mkdir(rootDir, { recursive: true });
320
320
  }
321
321
  async function resolveWritableOutputPathOrRespond(params) {
322
322
  if (params.ensureRootDir) await ensureOutputRootDir(params.rootDir);
@@ -2681,11 +2681,11 @@ function createProfileContext(opts, profile) {
2681
2681
  const userDataDir = resolveIdleHandsUserDataDir(profile.name);
2682
2682
  const profileState = getProfileState();
2683
2683
  if (await isHttpReachable(300) && !profileState.running) try {
2684
- await (await import("./pw-ai-BGALvhDi.js")).closePlaywrightBrowserConnection();
2684
+ await (await import("./pw-ai-7i9eGnLh.js")).closePlaywrightBrowserConnection();
2685
2685
  } catch {}
2686
2686
  if (profileState.running) await stopRunningBrowser();
2687
2687
  try {
2688
- await (await import("./pw-ai-BGALvhDi.js")).closePlaywrightBrowserConnection();
2688
+ await (await import("./pw-ai-7i9eGnLh.js")).closePlaywrightBrowserConnection();
2689
2689
  } catch {}
2690
2690
  if (!fs.existsSync(userDataDir)) return {
2691
2691
  moved: false,
@@ -1,5 +1,5 @@
1
- import { S as ensureChromeExtensionRelayServer } from "./chrome-YguTEaLx.js";
2
- import { a as resolveProfile, n as listKnownProfileNames, t as createBrowserRouteContext } from "./server-context-BxNSTpH6.js";
1
+ import { S as ensureChromeExtensionRelayServer } from "./chrome-VBsQfIrt.js";
2
+ import { a as resolveProfile, n as listKnownProfileNames, t as createBrowserRouteContext } from "./server-context-DI0W_H7R.js";
3
3
 
4
4
  //#region src/browser/server-lifecycle.ts
5
5
  async function ensureExtensionRelayForProfiles(params) {
@@ -25,7 +25,7 @@ import "./logging-Bgrm4o7g.js";
25
25
  import "./auth-store-D9BmR4S6.js";
26
26
  import "./send-m4lQkQcY.js";
27
27
  import "./send-CCiDIuX4.js";
28
- import { A as createOutboundSendDeps, An as requestHeartbeatNow, E as agentCommand, En as enqueueSystemEvent, bn as buildOutboundSessionContext, ht as resolveOutboundTarget } from "./subagent-registry-BH5O1rxK.js";
28
+ import { A as createOutboundSendDeps, An as requestHeartbeatNow, E as agentCommand, En as enqueueSystemEvent, bn as buildOutboundSessionContext, ht as resolveOutboundTarget } from "./subagent-registry-Dclk-Ews.js";
29
29
  import "./paths-CC17i2eK.js";
30
30
  import "./chat-envelope-Dedaetiq.js";
31
31
  import "./client-udFMSDes.js";
@@ -108,11 +108,11 @@ import "./cli-utils-BfsDuRZS.js";
108
108
  import "./help-format-CldHB7lS.js";
109
109
  import "./progress-B76RkFx7.js";
110
110
  import "./replies-DSfpze17.js";
111
- import "./deps-CjWcQwlX.js";
111
+ import "./deps-AEDT3iDX.js";
112
112
  import "./onboard-helpers-DWivfzcc.js";
113
113
  import "./prompt-style-XmK49QYK.js";
114
114
  import "./pairing-labels-D7xcHkxi.js";
115
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CHmvuoMu.js";
115
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-Bh0u21Bh.js";
116
116
  import { randomUUID } from "node:crypto";
117
117
 
118
118
  //#region src/gateway/server-node-events.ts
@@ -1,122 +1,122 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import "./utils-CXzXXV2o.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import { Bn as buildOutboundSessionContext, Bt as createOutboundSendDeps, Cr as enqueueSystemEvent, Dr as requestHeartbeatNow, E as resolveGatewaySessionStoreTarget, Lt as resolveOutboundTarget, T as pruneLegacyStoreKeys, jt as agentCommand, w as loadSessionEntry } from "./reply-CdFdL9nL.js";
5
- import "./agent-scope-Bn39ugK4.js";
4
+ import { Bn as buildOutboundSessionContext, Bt as createOutboundSendDeps, Cr as enqueueSystemEvent, Dr as requestHeartbeatNow, E as resolveGatewaySessionStoreTarget, Lt as resolveOutboundTarget, T as pruneLegacyStoreKeys, jt as agentCommand, w as loadSessionEntry } from "./reply-BDr-UY9O.js";
5
+ import "./agent-scope-RA0zXRpu.js";
6
6
  import "./subsystem-CGZX2PBV.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
8
8
  import { c as normalizeMainKey } from "./session-key-Cuihcz_O.js";
9
- import "./idlehands-root-DFL2GrNW.js";
9
+ import "./idlehands-root-B8cUs-5M.js";
10
10
  import "./exec-CKHMT0tZ.js";
11
- import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
11
+ import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
12
12
  import "./github-copilot-token-D7lpquOO.js";
13
13
  import "./boolean-BsqeuxE6.js";
14
14
  import "./env-Bx-F45X5.js";
15
15
  import "./host-env-security-DkAVVuaw.js";
16
16
  import "./env-vars-sTMVGyld.js";
17
- import "./manifest-registry-RfRn8HJx.js";
18
- import "./dock-CzF5XYGd.js";
17
+ import "./manifest-registry-Bak1x76G.js";
18
+ import "./dock-Y96MzKuM.js";
19
19
  import "./message-channel-DVauVtrg.js";
20
- import "./send-CVIXqubC.js";
21
- import "./runner-BFG54hnb.js";
22
- import "./image-C2JZiK-6.js";
23
- import "./models-config-lQpqp472.js";
24
- import "./pi-model-discovery-Bt79ifyi.js";
25
- import "./pi-embedded-helpers-BkzrQ5bZ.js";
26
- import "./sandbox-CfPbhDY_.js";
20
+ import "./send-DwdHiC7_.js";
21
+ import "./runner-DzszLzI4.js";
22
+ import "./image-DSDEbSiO.js";
23
+ import "./models-config-C5A1wDWh.js";
24
+ import "./pi-model-discovery-BIP3RjXl.js";
25
+ import "./pi-embedded-helpers-BCsfqpDt.js";
26
+ import "./sandbox-DcUw5h3p.js";
27
27
  import "./tool-catalog-4_Wxc542.js";
28
- import "./chrome-YguTEaLx.js";
28
+ import "./chrome-VBsQfIrt.js";
29
29
  import "./tailscale-B5Irc_Bi.js";
30
30
  import "./ip-DJ5wsTQn.js";
31
31
  import "./tailnet-C9lH_YnG.js";
32
32
  import "./ws-XBTtYpJc.js";
33
33
  import "./auth-heRVBxh2.js";
34
- import "./server-context-BxNSTpH6.js";
34
+ import "./server-context-DI0W_H7R.js";
35
35
  import "./frontmatter-D-sQ_Hqk.js";
36
- import "./skills-TIyQDZx7.js";
37
- import "./path-alias-guards-BCskHdfJ.js";
38
- import "./paths-Bt0fZexW.js";
36
+ import "./skills-DlvDyK8L.js";
37
+ import "./path-alias-guards-FXBVVTLw.js";
38
+ import "./paths-B-CLQ5RT.js";
39
39
  import "./redact-B_4KNlXs.js";
40
40
  import "./errors-DZDuPc3M.js";
41
- import "./fs-safe-DNFrxDS-.js";
41
+ import "./fs-safe-_JQUGpZf.js";
42
42
  import "./ssrf-Dw9zzKSM.js";
43
- import "./image-ops-BkoEFRYH.js";
44
- import "./store-CLNuI8-G.js";
45
- import "./ports-DWJO5S52.js";
43
+ import "./image-ops-BU-VdLZu.js";
44
+ import "./store-kH9wHHbO.js";
45
+ import "./ports-SQy1d-RL.js";
46
46
  import "./trash-CUFiyQN5.js";
47
47
  import "./server-middleware-BC21xYvr.js";
48
- import { g as updateSessionStore } from "./sessions-BqWocozB.js";
49
- import { r as normalizeChannelId } from "./plugins-B4hASNc2.js";
50
- import "./accounts-D-hQsUw-.js";
51
- import "./accounts-DsVN0UNw.js";
52
- import "./accounts-D87a1Y_K.js";
53
- import "./bindings-DZjkLUU_.js";
48
+ import { g as updateSessionStore } from "./sessions-BtPXimXQ.js";
49
+ import { r as normalizeChannelId } from "./plugins-D46VZh7u.js";
50
+ import "./accounts-DLTODa_Z.js";
51
+ import "./accounts-3HS_UAhJ.js";
52
+ import "./accounts-DgbTKQoW.js";
53
+ import "./bindings-B59Q7nsk.js";
54
54
  import "./logging-q4KyMmY-.js";
55
- import "./auth-store-CMyrmmSF.js";
56
- import "./send-BPwTl4-K.js";
55
+ import "./auth-store-DDzIMy8_.js";
56
+ import "./send-DuwdEkLw.js";
57
57
  import "./paths-DRz46q00.js";
58
58
  import "./chat-envelope-Bebo3vwl.js";
59
- import "./tool-images-DZHrc4pq.js";
59
+ import "./tool-images-CHqepyF_.js";
60
60
  import "./tool-display-Dac7lHGW.js";
61
61
  import "./fetch-guard-yUZu1Vzc.js";
62
- import "./api-key-rotation-nXQVJErE.js";
63
- import "./local-roots-Cco87A2_.js";
64
- import "./model-catalog-BCsDrrvq.js";
62
+ import "./api-key-rotation-B-FTJm5p.js";
63
+ import "./local-roots-q0xbefkf.js";
64
+ import "./model-catalog-D9no0CH2.js";
65
65
  import "./tokens-Dg-QZ_pN.js";
66
- import { t as deliverOutboundPayloads } from "./deliver-yTpXc5sv.js";
67
- import "./commands-D3BU_t7G.js";
68
- import "./commands-registry-Cj4D_1tw.js";
69
- import "./client-Dl5EAvfO.js";
70
- import "./call-Du-oBD99.js";
71
- import "./pairing-token-3hoCgQqp.js";
66
+ import { t as deliverOutboundPayloads } from "./deliver--kttnrER.js";
67
+ import "./commands-Dj5LalLo.js";
68
+ import "./commands-registry-CURlRZQJ.js";
69
+ import "./client-DtnD-ee9.js";
70
+ import "./call-BpWhjuOg.js";
71
+ import "./pairing-token-lKXTMQ_M.js";
72
72
  import "./fetch-CYe1ekSh.js";
73
73
  import "./retry-Db05aSB8.js";
74
- import "./pairing-store-qvpPoWL_.js";
74
+ import "./pairing-store-CPpEEQJO.js";
75
75
  import "./exec-approvals-C2s2dPha.js";
76
- import "./exec-approvals-allowlist-8AkOwwIr.js";
77
- import "./exec-safe-bin-runtime-policy-DYXuBKqH.js";
78
- import "./nodes-screen-CIAn0wXq.js";
79
- import "./target-errors-BYuWhuLU.js";
76
+ import "./exec-approvals-allowlist-Co2tJSEo.js";
77
+ import "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
78
+ import "./nodes-screen-CcpPaFxa.js";
79
+ import "./target-errors-bLIVFsbF.js";
80
80
  import "./diagnostic-session-state-CJHdRyOy.js";
81
- import "./with-timeout-BodPmGCY.js";
81
+ import "./with-timeout-DEdycYxq.js";
82
82
  import "./diagnostic-ByHpt6q8.js";
83
- import "./send-DDMaLJAQ.js";
84
- import "./model-Bd-05WpB.js";
85
- import "./reply-prefix-BMEdvSpA.js";
86
- import "./memory-cli-4wfelGdK.js";
87
- import "./manager-BBeTPO2h.js";
88
- import "./query-expansion-i5I3yavb.js";
83
+ import "./send--lzpNy4f.js";
84
+ import "./model-C-icShH2.js";
85
+ import "./reply-prefix-C3y4zpTl.js";
86
+ import "./memory-cli-CUGwnVIY.js";
87
+ import "./manager-BMAFgXyU.js";
88
+ import "./query-expansion-Clts_AGz.js";
89
89
  import "./chunk-ClMFHJu-.js";
90
- import "./markdown-tables-C5hTDqNm.js";
91
- import "./ir-DV0Hszc8.js";
90
+ import "./markdown-tables-DZClqsNo.js";
91
+ import "./ir-VncGpwA1.js";
92
92
  import "./render-DC4qnRqG.js";
93
- import "./pi-tools.policy-B_ME3yF6.js";
93
+ import "./pi-tools.policy-DfITIKZj.js";
94
94
  import "./channel-activity-DaCsrdWK.js";
95
- import "./tables-CZSD889r.js";
96
- import "./send-BCPkAE2k.js";
95
+ import "./tables-g9xkflht.js";
96
+ import "./send-C4v0Leny.js";
97
97
  import "./proxy-yk1Oqe9p.js";
98
98
  import "./links-15764jZB.js";
99
99
  import "./cli-utils-CH2y4E2f.js";
100
100
  import "./help-format-CMAqOikG.js";
101
101
  import "./progress-BQLz1r3L.js";
102
- import "./resolve-route-Ef_Yt2Dw.js";
103
- import "./replies-Czp4hvpS.js";
104
- import "./skill-commands-BwIRWSCI.js";
105
- import "./workspace-dirs-D3bousoX.js";
106
- import "./deps-BotXja4Z.js";
107
- import "./plugin-auto-enable-BMuSi4aV.js";
108
- import "./channel-selection-3jUl-PyW.js";
109
- import "./outbound-attachment-jYdMgCml.js";
102
+ import "./resolve-route-D_AbcmD6.js";
103
+ import "./replies-hSFVxL4h.js";
104
+ import "./skill-commands-BFzmZAfo.js";
105
+ import "./workspace-dirs-SsExQ3Bz.js";
106
+ import "./deps-Bq7jJLyN.js";
107
+ import "./plugin-auto-enable-7DUxMy6A.js";
108
+ import "./channel-selection-ZxRkxpuF.js";
109
+ import "./outbound-attachment-Bot3bRnK.js";
110
110
  import "./delivery-queue-BvDRo8CK.js";
111
111
  import "./session-cost-usage-DS1rjzML.js";
112
- import "./send-CEavqqEz.js";
113
- import "./onboard-helpers-CdzbIhrm.js";
112
+ import "./send-DQiw_nGD.js";
113
+ import "./onboard-helpers-mzy38DiC.js";
114
114
  import "./prompt-style-kmKiCZnm.js";
115
- import "./pairing-labels-DuZ7ih-T.js";
116
- import "./server-lifecycle-CGKrGrhM.js";
115
+ import "./pairing-labels-ChQJzbS9.js";
116
+ import "./server-lifecycle-B5PlrlbG.js";
117
117
  import "./stagger-rQoQSWkz.js";
118
- import "./system-run-command-BIhrK3OI.js";
119
- import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CuwLAoXk.js";
118
+ import "./system-run-command-qJdgzxLp.js";
119
+ import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-DvSYSWvk.js";
120
120
  import { randomUUID } from "node:crypto";
121
121
 
122
122
  //#region src/gateway/server-node-events.ts
@@ -1,7 +1,7 @@
1
1
  import { d as resolveGatewayServiceDescription, l as resolveGatewayLaunchAgentLabel, m as resolveLegacyGatewayLaunchAgentLabels, p as resolveGatewayWindowsTaskName, t as GATEWAY_LAUNCH_AGENT_LABEL } from "./constants-Z_TnY4pX.js";
2
- import { _ as formatLine, a as readSystemdServiceRuntime, b as execFileUtf8, c as stopSystemdService, g as resolveHomeDir, h as resolveGatewayStateDir, i as readSystemdServiceExecStart, m as parseKeyValueOutput, n as isSystemdServiceEnabled, p as splitArgsPreservingQuotes, s as restartSystemdService, t as installSystemdService, u as uninstallSystemdService, v as toPosixPath, y as writeFormattedLines } from "./systemd-DyrVLTI0.js";
2
+ import { _ as formatLine, a as readSystemdServiceRuntime, b as execFileUtf8, c as stopSystemdService, g as resolveHomeDir, h as resolveGatewayStateDir, i as readSystemdServiceExecStart, m as parseKeyValueOutput, n as isSystemdServiceEnabled, p as splitArgsPreservingQuotes, s as restartSystemdService, t as installSystemdService, u as uninstallSystemdService, v as toPosixPath, y as writeFormattedLines } from "./systemd-CaCR5CyM.js";
3
3
  import path from "node:path";
4
- import fsPromises from "node:fs/promises";
4
+ import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/daemon/launchd-plist.ts
7
7
  const plistEscape = (value) => value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll("\"", "&quot;").replaceAll("'", "&apos;");
@@ -14,7 +14,7 @@ const renderEnvDict = (env) => {
14
14
  };
15
15
  async function readLaunchAgentProgramArgumentsFromFile(plistPath) {
16
16
  try {
17
- const plist = await fsPromises.readFile(plistPath, "utf8");
17
+ const plist = await fs.readFile(plistPath, "utf8");
18
18
  const programMatch = plist.match(/<key>ProgramArguments<\/key>\s*<array>([\s\S]*?)<\/array>/i);
19
19
  if (!programMatch) return null;
20
20
  const args = Array.from(programMatch[1].matchAll(/<string>([\s\S]*?)<\/string>/gi)).map((match) => plistUnescape(match[1] ?? "").trim());
@@ -128,7 +128,7 @@ async function isLaunchAgentListed(args) {
128
128
  async function launchAgentPlistExists(env) {
129
129
  try {
130
130
  const plistPath = resolveLaunchAgentPlistPath(env);
131
- await fsPromises.access(plistPath);
131
+ await fs.access(plistPath);
132
132
  return true;
133
133
  } catch {
134
134
  return false;
@@ -188,7 +188,7 @@ async function uninstallLaunchAgent({ env, stdout }) {
188
188
  ]);
189
189
  await execLaunchctl(["unload", plistPath]);
190
190
  try {
191
- await fsPromises.access(plistPath);
191
+ await fs.access(plistPath);
192
192
  } catch {
193
193
  stdout.write(`LaunchAgent not found at ${plistPath}\n`);
194
194
  return;
@@ -197,8 +197,8 @@ async function uninstallLaunchAgent({ env, stdout }) {
197
197
  const trashDir = path.join(home, ".Trash");
198
198
  const dest = path.join(trashDir, `${label}.plist`);
199
199
  try {
200
- await fsPromises.mkdir(trashDir, { recursive: true });
201
- await fsPromises.rename(plistPath, dest);
200
+ await fs.mkdir(trashDir, { recursive: true });
201
+ await fs.rename(plistPath, dest);
202
202
  stdout.write(`${formatLine("Moved LaunchAgent to Trash", dest)}\n`);
203
203
  } catch {
204
204
  stdout.write(`LaunchAgent remains at ${plistPath} (could not move)\n`);
@@ -242,7 +242,7 @@ async function stopLaunchAgent({ stdout, env }) {
242
242
  }
243
243
  async function installLaunchAgent({ env, stdout, programArguments, workingDirectory, environment, description }) {
244
244
  const { logDir, stdoutPath, stderrPath } = resolveGatewayLogPaths(env);
245
- await fsPromises.mkdir(logDir, { recursive: true });
245
+ await fs.mkdir(logDir, { recursive: true });
246
246
  const domain = resolveGuiDomain();
247
247
  const label = resolveLaunchAgentLabel({ env });
248
248
  for (const legacyLabel of resolveLegacyGatewayLaunchAgentLabels(env.IDLEHANDS_PROFILE)) {
@@ -254,11 +254,11 @@ async function installLaunchAgent({ env, stdout, programArguments, workingDirect
254
254
  ]);
255
255
  await execLaunchctl(["unload", legacyPlistPath]);
256
256
  try {
257
- await fsPromises.unlink(legacyPlistPath);
257
+ await fs.unlink(legacyPlistPath);
258
258
  } catch {}
259
259
  }
260
260
  const plistPath = resolveLaunchAgentPlistPathForLabel(env, label);
261
- await fsPromises.mkdir(path.dirname(plistPath), { recursive: true });
261
+ await fs.mkdir(path.dirname(plistPath), { recursive: true });
262
262
  const plist = buildLaunchAgentPlist({
263
263
  label,
264
264
  comment: resolveGatewayServiceDescription({
@@ -272,7 +272,7 @@ async function installLaunchAgent({ env, stdout, programArguments, workingDirect
272
272
  stderrPath,
273
273
  environment
274
274
  });
275
- await fsPromises.writeFile(plistPath, plist, "utf8");
275
+ await fs.writeFile(plistPath, plist, "utf8");
276
276
  await execLaunchctl([
277
277
  "bootout",
278
278
  domain,
@@ -452,7 +452,7 @@ function resolveTaskUser(env) {
452
452
  async function readScheduledTaskCommand(env) {
453
453
  const scriptPath = resolveTaskScriptPath(env);
454
454
  try {
455
- const content = await fsPromises.readFile(scriptPath, "utf8");
455
+ const content = await fs.readFile(scriptPath, "utf8");
456
456
  let workingDirectory = "";
457
457
  let commandLine = "";
458
458
  const environment = {};
@@ -520,7 +520,7 @@ async function assertSchtasksAvailable() {
520
520
  async function installScheduledTask({ env, stdout, programArguments, workingDirectory, environment, description }) {
521
521
  await assertSchtasksAvailable();
522
522
  const scriptPath = resolveTaskScriptPath(env);
523
- await fsPromises.mkdir(path.dirname(scriptPath), { recursive: true });
523
+ await fs.mkdir(path.dirname(scriptPath), { recursive: true });
524
524
  const script = buildTaskScript({
525
525
  description: resolveGatewayServiceDescription({
526
526
  env,
@@ -531,7 +531,7 @@ async function installScheduledTask({ env, stdout, programArguments, workingDire
531
531
  workingDirectory,
532
532
  environment
533
533
  });
534
- await fsPromises.writeFile(scriptPath, script, "utf8");
534
+ await fs.writeFile(scriptPath, script, "utf8");
535
535
  const taskName = resolveTaskName(env);
536
536
  const baseArgs = [
537
537
  "/Create",
@@ -583,7 +583,7 @@ async function uninstallScheduledTask({ env, stdout }) {
583
583
  ]);
584
584
  const scriptPath = resolveTaskScriptPath(env);
585
585
  try {
586
- await fsPromises.unlink(scriptPath);
586
+ await fs.unlink(scriptPath);
587
587
  stdout.write(`${formatLine("Removed task script", scriptPath)}\n`);
588
588
  } catch {
589
589
  stdout.write(`Task script not found at ${scriptPath}\n`);
@@ -1,7 +1,7 @@
1
1
  import { G as toPinoLikeLogger, I as success, O as danger, V as getChildLogger, c as ensureDir, y as resolveUserPath } from "./utils-CXzXXV2o.js";
2
2
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
3
3
  import { r as VERSION } from "./env-vars-sTMVGyld.js";
4
- import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-CMyrmmSF.js";
4
+ import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-DDzIMy8_.js";
5
5
  import fs from "node:fs";
6
6
  import { randomUUID } from "node:crypto";
7
7
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
@@ -1,8 +1,8 @@
1
- import { I as getChildLogger, a as ensureDir, h as resolveUserPath, j as success, w as danger, z as toPinoLikeLogger } from "./utils-D9wGoiU9.js";
2
- import { tn as VERSION } from "./model-selection-C5hI1dum.js";
1
+ import { I as getChildLogger, a as ensureDir, h as resolveUserPath, j as success, w as danger, z as toPinoLikeLogger } from "./utils-CTFLl_ji.js";
2
+ import { tn as VERSION } from "./model-selection-1MMYqY6M.js";
3
3
  import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
4
- import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-Bb4aajHu.js";
5
- import fs from "node:fs";
4
+ import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-DXT-l7fO.js";
5
+ import syncFs from "node:fs";
6
6
  import { randomUUID } from "node:crypto";
7
7
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
8
8
  import qrcode from "qrcode-terminal";
@@ -21,16 +21,16 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
21
21
  const raw = readCredsJsonRaw(credsPath);
22
22
  if (raw) try {
23
23
  JSON.parse(raw);
24
- fs.copyFileSync(credsPath, backupPath);
24
+ syncFs.copyFileSync(credsPath, backupPath);
25
25
  try {
26
- fs.chmodSync(backupPath, 384);
26
+ syncFs.chmodSync(backupPath, 384);
27
27
  } catch {}
28
28
  } catch {}
29
29
  } catch {}
30
30
  try {
31
31
  await Promise.resolve(saveCreds());
32
32
  try {
33
- fs.chmodSync(resolveWebCredsPath(authDir), 384);
33
+ syncFs.chmodSync(resolveWebCredsPath(authDir), 384);
34
34
  } catch {}
35
35
  } catch (err) {
36
36
  logger.warn({ error: String(err) }, "failed saving WhatsApp creds");