hyperclaw 5.1.9 → 5.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 (526) hide show
  1. package/README.md +3 -3
  2. package/dist/a2ui-protocol-A2xow5Ch.js +75 -0
  3. package/dist/a2ui-protocol-dTomAnFE.js +75 -0
  4. package/dist/agents-routing-95_s2yea.js +6 -0
  5. package/dist/agents-routing-Bz3SstlK.js +398 -0
  6. package/dist/agents-routing-DHDK2axt.js +6 -0
  7. package/dist/agents-routing-DRMS8Ol-.js +6 -0
  8. package/dist/agents-routing-biXULPch.js +398 -0
  9. package/dist/agents-routing-iQmIOe3k.js +398 -0
  10. package/dist/api-key-validation-BeQ2MZAT.js +64 -0
  11. package/dist/api-key-validation-C2WQk1oM.js +64 -0
  12. package/dist/api-keys-guide-2cD5Rf-K.js +149 -0
  13. package/dist/api-keys-guide-BdT2lfX6.js +149 -0
  14. package/dist/api-keys-guide-BwCIj8qd.js +149 -0
  15. package/dist/audit-1Anq45mH.js +441 -0
  16. package/dist/audit-BAVTInWP.js +441 -0
  17. package/dist/audit-CV0gLGaL.js +444 -0
  18. package/dist/audit-Dnt0XgZD.js +441 -0
  19. package/dist/audit-DqNGdIKU.js +441 -0
  20. package/dist/bounty-tools-Cx7BXUfz.js +211 -0
  21. package/dist/bounty-tools-DWvW3yc-.js +211 -0
  22. package/dist/bounty-tools-FI7DHmsS.js +211 -0
  23. package/dist/bounty-tools-cjmA3Hgk.js +211 -0
  24. package/dist/browser-tools-BGPBCApQ.js +5 -0
  25. package/dist/browser-tools-Btu_vB2d.js +179 -0
  26. package/dist/browser-tools-DF2nQ1hi.js +5 -0
  27. package/dist/browser-tools-DYx4p13A.js +179 -0
  28. package/dist/chat-4ZistSKP.js +310 -0
  29. package/dist/chat-BQMPVq39.js +310 -0
  30. package/dist/chat-BqiMMQc4.js +324 -0
  31. package/dist/chat-BxxYzPaz.js +324 -0
  32. package/dist/chat-C0W8lwhh.js +324 -0
  33. package/dist/chat-CKBxDWAQ.js +324 -0
  34. package/dist/chat-CkCcCkVG.js +324 -0
  35. package/dist/chat-DCOKsydK.js +310 -0
  36. package/dist/chat-DGUj_NDO.js +310 -0
  37. package/dist/chat-DZcZ1Uli.js +310 -0
  38. package/dist/chat-DiIra4_i.js +324 -0
  39. package/dist/claw-tasks-CIkuuhga.js +80 -0
  40. package/dist/claw-tasks-CquRilLP.js +80 -0
  41. package/dist/claw-tasks-xXtZpeY0.js +80 -0
  42. package/dist/config-BEz4yNRx.js +261 -0
  43. package/dist/config-Br73VMLb.js +261 -0
  44. package/dist/config-CXqmvq_H.js +7 -0
  45. package/dist/config-D5vF0kvV.js +261 -0
  46. package/dist/config-D_6MxFk3.js +7 -0
  47. package/dist/config-b2HmFrBr.js +7 -0
  48. package/dist/connector-1H0OW1h8.js +419 -0
  49. package/dist/connector-1qpQ5L-T.js +173 -0
  50. package/dist/connector-2OVpYt0c.js +213 -0
  51. package/dist/connector-8cFkE3X4.js +552 -0
  52. package/dist/connector-B2bZD1id.js +181 -0
  53. package/dist/connector-B3W7quzD.js +568 -0
  54. package/dist/connector-B4FWhOzd.js +189 -0
  55. package/dist/connector-B5fqvoZL.js +239 -0
  56. package/dist/connector-BA8ZbhPt.js +162 -0
  57. package/dist/connector-BFl0XIwB.js +182 -0
  58. package/dist/connector-BIGRhSuN.js +419 -0
  59. package/dist/connector-BK0qVbvh.js +498 -0
  60. package/dist/connector-BMtA4KSF.js +194 -0
  61. package/dist/connector-BPIrifW-.js +218 -0
  62. package/dist/connector-BRNU-rJ4.js +225 -0
  63. package/dist/connector-BS7lvyLd.js +213 -0
  64. package/dist/connector-BZ_-UPUL.js +305 -0
  65. package/dist/connector-Bd0NZ5bT.js +189 -0
  66. package/dist/connector-BjsPwu-Y.js +531 -0
  67. package/dist/connector-BnSsjz1D.js +167 -0
  68. package/dist/connector-BrogAqVQ.js +239 -0
  69. package/dist/connector-BsVTG3U3.js +181 -0
  70. package/dist/connector-By9pLJgR.js +340 -0
  71. package/dist/connector-C7c1ASzT.js +192 -0
  72. package/dist/connector-CIj28thK.js +182 -0
  73. package/dist/connector-CJkuYNd1.js +280 -0
  74. package/dist/connector-CPcUmIHz.js +552 -0
  75. package/dist/connector-CUlP4He3.js +194 -0
  76. package/dist/connector-CZg2I8Tn.js +350 -0
  77. package/dist/connector-C_NtpthL.js +498 -0
  78. package/dist/connector-CddDB9IK.js +192 -0
  79. package/dist/connector-ChQMspky.js +167 -0
  80. package/dist/connector-ClHFpI56.js +425 -0
  81. package/dist/connector-CmhUVhMT.js +531 -0
  82. package/dist/connector-CnX7lwCt.js +425 -0
  83. package/dist/connector-D36oGwnK.js +162 -0
  84. package/dist/connector-DDJ7Nxkq.js +286 -0
  85. package/dist/connector-DDn2QDuf.js +167 -0
  86. package/dist/connector-DO_bzgJn.js +167 -0
  87. package/dist/connector-DVcRo21Y.js +568 -0
  88. package/dist/connector-DhWs2anT.js +189 -0
  89. package/dist/connector-DsY1IXMz.js +508 -0
  90. package/dist/connector-DwRF3CQg.js +218 -0
  91. package/dist/connector-HG61cV9h.js +340 -0
  92. package/dist/connector-HR28FwA5.js +181 -0
  93. package/dist/connector-K0QGRYh5.js +85 -0
  94. package/dist/connector-NliR7NZZ.js +508 -0
  95. package/dist/connector-VolY_hP4.js +350 -0
  96. package/dist/connector-Wjx9ih70.js +286 -0
  97. package/dist/connector-dfqk7NYD.js +181 -0
  98. package/dist/connector-e0W4Mpmq.js +189 -0
  99. package/dist/connector-eK6_phVW.js +280 -0
  100. package/dist/connector-l7UmCYaL.js +225 -0
  101. package/dist/connector-n2YnOJYZ.js +305 -0
  102. package/dist/connector-orobFcqE.js +531 -0
  103. package/dist/connector-r1SRYSqX.js +173 -0
  104. package/dist/connector-tZgn5_Fk.js +85 -0
  105. package/dist/connector-wm4Oe1DK.js +181 -0
  106. package/dist/cost-tracker-DHTv6zpR.js +103 -0
  107. package/dist/cost-tracker-DJ1tiKcx.js +103 -0
  108. package/dist/cost-tracker-jbK_AoIV.js +103 -0
  109. package/dist/credentials-store-C0R-pQM7.js +5 -0
  110. package/dist/credentials-store-C9HwQSY2.js +5 -0
  111. package/dist/credentials-store-D5Xw3F75.js +89 -0
  112. package/dist/credentials-store-DIPxVk51.js +86 -0
  113. package/dist/credentials-store-DU2cVTiY.js +7 -0
  114. package/dist/credentials-store-Djqi3oXC.js +5 -0
  115. package/dist/credentials-store-HwLJ3GS2.js +87 -0
  116. package/dist/credentials-store-z16XvFZ2.js +86 -0
  117. package/dist/cron-tasks-4my0PJce.js +85 -0
  118. package/dist/cron-tasks-CJkI0lo3.js +82 -0
  119. package/dist/cron-tasks-DN1YjYhK.js +82 -0
  120. package/dist/cron-tasks-DuNdK89e.js +82 -0
  121. package/dist/daemon-3xj3FVuw.js +5 -0
  122. package/dist/daemon-3zd_nupj.js +333 -0
  123. package/dist/daemon-B9-h7ryw.js +7 -0
  124. package/dist/daemon-BLC4AL9L.js +401 -0
  125. package/dist/daemon-BR1uU7jH.js +333 -0
  126. package/dist/daemon-BRdtCOoC.js +7 -0
  127. package/dist/daemon-BnmNBHY5.js +384 -0
  128. package/dist/daemon-CCxpXxSb.js +7 -0
  129. package/dist/daemon-CEUxN3SQ.js +7 -0
  130. package/dist/daemon-CHk9_ezz.js +403 -0
  131. package/dist/daemon-CgrsZ0d9.js +320 -0
  132. package/dist/daemon-DCm9RCEz.js +401 -0
  133. package/dist/daemon-DNzuDyu8.js +7 -0
  134. package/dist/daemon-DWFWCLvh.js +7 -0
  135. package/dist/daemon-DbWcGYXq.js +5 -0
  136. package/dist/daemon-DgBZaFyi.js +355 -0
  137. package/dist/daemon-DkdMP-kQ.js +316 -0
  138. package/dist/daemon-Dsyjad7g.js +7 -0
  139. package/dist/daemon-DxoPIGQG.js +333 -0
  140. package/dist/daemon-MXsEPeVa.js +7 -0
  141. package/dist/daemon-RoGBr7z8.js +316 -0
  142. package/dist/daemon-XtFu-VzD.js +5 -0
  143. package/dist/daemon-rpJ-J0bv.js +403 -0
  144. package/dist/daemon-sZVjFUoX.js +7 -0
  145. package/dist/delivery-8fo4GZ-j.js +95 -0
  146. package/dist/delivery-CkxNZIsF.js +95 -0
  147. package/dist/delivery-CtbHkJbB.js +95 -0
  148. package/dist/delivery-D1z3f3KW.js +4 -0
  149. package/dist/delivery-DKGpk5M4.js +4 -0
  150. package/dist/delivery-DReKOHyM.js +95 -0
  151. package/dist/delivery-Ddn-VajP.js +4 -0
  152. package/dist/delivery-DsoxcD2z.js +4 -0
  153. package/dist/destructive-gate-CEn4BsTd.js +101 -0
  154. package/dist/destructive-gate-CgCqfKuT.js +101 -0
  155. package/dist/destructive-gate-DcEpMEqP.js +101 -0
  156. package/dist/developer-keys-7rQ8M4Qo.js +127 -0
  157. package/dist/developer-keys-BeUpyenR.js +8 -0
  158. package/dist/developer-keys-CSmzA-dl.js +127 -0
  159. package/dist/developer-keys-KFGbGuZj.js +8 -0
  160. package/dist/device-auth-store-BDhzxuPc.js +5 -0
  161. package/dist/device-auth-store-Cjyn2XeY.js +86 -0
  162. package/dist/device-auth-store-DgSabRGa.js +7 -0
  163. package/dist/device-auth-store-LKgpU74c.js +88 -0
  164. package/dist/device-auth-store-UlkrF-9_.js +5 -0
  165. package/dist/device-auth-store-yvGLuYAl.js +86 -0
  166. package/dist/doctor-BcfmNAGV.js +233 -0
  167. package/dist/doctor-CEP3UQjn.js +227 -0
  168. package/dist/doctor-CmJh0JLr.js +6 -0
  169. package/dist/doctor-CtDvddSn.js +231 -0
  170. package/dist/doctor-DPoCaXsd.js +227 -0
  171. package/dist/doctor-DPvY68XB.js +6 -0
  172. package/dist/doctor-G6EMPukm.js +6 -0
  173. package/dist/doctor-tL9TXt9y.js +6 -0
  174. package/dist/engine-1fLMFUn2.js +7 -0
  175. package/dist/engine-7lSiOc0W.js +323 -0
  176. package/dist/engine-B83pxJM4.js +318 -0
  177. package/dist/engine-B8hxtYpN.js +323 -0
  178. package/dist/engine-BY0XLiQ1.js +7 -0
  179. package/dist/engine-BfQ-vNqE.js +321 -0
  180. package/dist/engine-BlpKw8D4.js +7 -0
  181. package/dist/engine-BmN7L0jl.js +7 -0
  182. package/dist/engine-CRagwas6.js +321 -0
  183. package/dist/engine-CaG7uwkg.js +305 -0
  184. package/dist/engine-Ccmpd_MH.js +305 -0
  185. package/dist/engine-CppTnNbG.js +7 -0
  186. package/dist/engine-CwAfDQbD.js +7 -0
  187. package/dist/engine-D5kY4hMJ.js +7 -0
  188. package/dist/engine-DQcMDIbU.js +305 -0
  189. package/dist/engine-DeQdDkFO.js +7 -0
  190. package/dist/engine-W1I8kkgV.js +305 -0
  191. package/dist/engine-mVrq_pfQ.js +7 -0
  192. package/dist/env-resolve-BeamD7l5.js +10 -0
  193. package/dist/env-resolve-C0otwkgN.js +10 -0
  194. package/dist/env-resolve-CC_po9t5.js +10 -0
  195. package/dist/env-resolve-COjiKYD8.js +147 -0
  196. package/dist/env-resolve-CYiFHLAi.js +145 -0
  197. package/dist/env-resolve-ClZcv5-B.js +145 -0
  198. package/dist/env-resolve-DS92g2fk.js +151 -0
  199. package/dist/env-resolve-DkBUmcI3.js +10 -0
  200. package/dist/extraction-tools-6PREYSAK.js +5 -0
  201. package/dist/extraction-tools-B8F3nsLR.js +5 -0
  202. package/dist/extraction-tools-BX5HGgko.js +91 -0
  203. package/dist/extraction-tools-Co11UJdZ.js +91 -0
  204. package/dist/form_data-DDfyO9B0.js +8657 -0
  205. package/dist/form_data-DgWnyuDn.js +8657 -0
  206. package/dist/gateway-BfHcLG6d.js +194 -0
  207. package/dist/gateway-CzI8dnlS.js +196 -0
  208. package/dist/gateway-DNv10FFg.js +194 -0
  209. package/dist/gateway-DRh5v1KI.js +4 -0
  210. package/dist/gateway-DroPtqyM.js +6 -0
  211. package/dist/gateway-DyWwV0Nu.js +4 -0
  212. package/dist/gmail-watch-setup-BV4r_lgb.js +40 -0
  213. package/dist/gmail-watch-setup-CW_5D9g-.js +40 -0
  214. package/dist/gmail-watch-setup-xG9GkPwr.js +42 -0
  215. package/dist/health-CBy1PfzC.js +152 -0
  216. package/dist/health-Cq_yE5Ln.js +6 -0
  217. package/dist/heartbeat-engine-7I0dZeea.js +83 -0
  218. package/dist/heartbeat-engine-BZUNOanp.js +84 -0
  219. package/dist/heartbeat-engine-DNm8ggAs.js +83 -0
  220. package/dist/heartbeat-engine-tgK7xXmt.js +83 -0
  221. package/dist/hub-CI4qcd1b.js +515 -0
  222. package/dist/hub-CNQaC4JI.js +515 -0
  223. package/dist/hub-Co1SbxLs.js +6 -0
  224. package/dist/hub-eUh89obm.js +6 -0
  225. package/dist/hyperclawbot-BD5gNWO8.js +505 -0
  226. package/dist/hyperclawbot-Bkncybig.js +508 -0
  227. package/dist/hyperclawbot-C37Unss3.js +505 -0
  228. package/dist/hyperclawbot-CFHXZr12.js +505 -0
  229. package/dist/hyperclawbot-D6cmZ6Bg.js +505 -0
  230. package/dist/hyperclawbot-DGou0MZ6.js +508 -0
  231. package/dist/hyperclawbot-DnPIyjox.js +508 -0
  232. package/dist/hyperclawbot-GYFaTEgC.js +505 -0
  233. package/dist/hyperclawbot-mcLnyJyM.js +505 -0
  234. package/dist/hyperclawbot-y0i_joQK.js +505 -0
  235. package/dist/inference-BvmMO9dq.js +8 -0
  236. package/dist/inference-C2HOfRf8.js +2848 -0
  237. package/dist/inference-CKvR5Ik5.js +2841 -0
  238. package/dist/inference-DVVmhQn5.js +2841 -0
  239. package/dist/inference-DoM_iai-.js +2848 -0
  240. package/dist/inference-DwgXrvBb.js +6 -0
  241. package/dist/inference-Go1G6tnF.js +8 -0
  242. package/dist/inference-_ptQe0oG.js +2841 -0
  243. package/dist/inference-gK62s15E.js +6 -0
  244. package/dist/inference-lLDvSTR9.js +6 -0
  245. package/dist/knowledge-graph-4SxFnwEm.js +131 -0
  246. package/dist/knowledge-graph-BsH-HoUJ.js +131 -0
  247. package/dist/knowledge-graph-BxrAiV2B.js +134 -0
  248. package/dist/knowledge-graph-DCa91Nz5.js +131 -0
  249. package/dist/loader-7fz2fb92.js +400 -0
  250. package/dist/loader-B2jZXMBu.js +6 -0
  251. package/dist/loader-CbS0tIrR.js +4 -0
  252. package/dist/loader-Ckvv7vHF.js +410 -0
  253. package/dist/loader-CwOXDhFQ.js +400 -0
  254. package/dist/loader-DpEOgWXZ.js +4 -0
  255. package/dist/loader-DpYgmaul.js +4 -0
  256. package/dist/loader-DtyQP7wL.js +400 -0
  257. package/dist/logger-B3AqfQWG.js +84 -0
  258. package/dist/logger-B_q8yqmA.js +84 -0
  259. package/dist/logger-BxJklsDv.js +84 -0
  260. package/dist/logger-ry2oCfdf.js +86 -0
  261. package/dist/manager-9zwhTeQ5.js +233 -0
  262. package/dist/manager-B1RbCW6C.js +31 -0
  263. package/dist/manager-B90HEHxe.js +6 -0
  264. package/dist/manager-B94UWcTs.js +233 -0
  265. package/dist/manager-BDvL_oPs.js +4 -0
  266. package/dist/manager-BEatAtIB.js +31 -0
  267. package/dist/manager-BQf9drst.js +120 -0
  268. package/dist/manager-Bau1mIqb.js +6 -0
  269. package/dist/manager-BkqHak_e.js +247 -0
  270. package/dist/manager-BoFdZm-l.js +233 -0
  271. package/dist/manager-C2bq0AXc.js +233 -0
  272. package/dist/manager-CBe3W3eG.js +117 -0
  273. package/dist/manager-CoHr8_eJ.js +117 -0
  274. package/dist/manager-CuS13QUO.js +6 -0
  275. package/dist/manager-DO0pK2OI.js +117 -0
  276. package/dist/manager-DVetfBCH.js +6 -0
  277. package/dist/manager-Jd0qSzVe.js +35 -0
  278. package/dist/manager-TxFgaHT9.js +31 -0
  279. package/dist/manager-Yo6ZAofG.js +250 -0
  280. package/dist/mcp-B_WJiTZz.js +139 -0
  281. package/dist/mcp-DVhPLprc.js +139 -0
  282. package/dist/mcp-GWnLTVi-.js +142 -0
  283. package/dist/mcp-loader-B6xz7ftt.js +94 -0
  284. package/dist/mcp-loader-BLanJREp.js +94 -0
  285. package/dist/mcp-loader-Bx7FFxAU.js +94 -0
  286. package/dist/mcp-loader-CbcyUzpM.js +94 -0
  287. package/dist/mcp-loader-Cr0LRQHE.js +93 -0
  288. package/dist/mcp-loader-D0rbtV3G.js +93 -0
  289. package/dist/memory-B47nvgOq.js +271 -0
  290. package/dist/memory-D-Py-cz5.js +273 -0
  291. package/dist/memory-D991eoj7.js +6 -0
  292. package/dist/memory-DoQoaHjo.js +4 -0
  293. package/dist/memory-auto-5aBZQJQY.js +5 -0
  294. package/dist/memory-auto-BTeOoLsb.js +306 -0
  295. package/dist/memory-auto-BvjfaflZ.js +5 -0
  296. package/dist/memory-auto-CSUt3aas.js +306 -0
  297. package/dist/memory-auto-CfpACu6s.js +306 -0
  298. package/dist/memory-auto-DI9Xpd-x.js +306 -0
  299. package/dist/memory-auto-D_mPVYqI.js +5 -0
  300. package/dist/memory-auto-PmKetZuo.js +5 -0
  301. package/dist/memory-auto-_Jv-Diw_.js +306 -0
  302. package/dist/memory-auto-rLBheyC0.js +5 -0
  303. package/dist/memory-integration-UFc6CdRA.js +91 -0
  304. package/dist/memory-integration-_NOy60Fj.js +91 -0
  305. package/dist/memory-integration-nbQ8esDu.js +91 -0
  306. package/dist/moltbook-B4znBD46.js +81 -0
  307. package/dist/moltbook-CGtA7Lb3.js +81 -0
  308. package/dist/moltbook-EZOfIwcN.js +81 -0
  309. package/dist/node-BvA5_2f_.js +222 -0
  310. package/dist/node-CRaZw_av.js +225 -0
  311. package/dist/node-CSOPY84m.js +222 -0
  312. package/dist/node-FPkFXYdU.js +225 -0
  313. package/dist/nodes-registry--DkZbn41.js +52 -0
  314. package/dist/nodes-registry-DYEH1aWn.js +52 -0
  315. package/dist/nodes-registry-jK7T0THg.js +52 -0
  316. package/dist/oauth-flow-B3S4T_SJ.js +147 -0
  317. package/dist/oauth-flow-CuQHP_RD.js +150 -0
  318. package/dist/oauth-flow-D_iqT6nr.js +150 -0
  319. package/dist/oauth-flow-Du2N6B2V.js +150 -0
  320. package/dist/oauth-provider-B2RBpiXg.js +111 -0
  321. package/dist/oauth-provider-C1qk9SI-.js +110 -0
  322. package/dist/oauth-provider-CDOMIZgF.js +110 -0
  323. package/dist/observability-4CyDqBWi.js +89 -0
  324. package/dist/observability-BfhV3r9r.js +89 -0
  325. package/dist/observability-DAnU8Ung.js +89 -0
  326. package/dist/onboard-0RpraIyZ.js +11 -0
  327. package/dist/onboard-3SoScSbC.js +11 -0
  328. package/dist/onboard-B8zjN52U.js +4149 -0
  329. package/dist/onboard-BAhuTUMO.js +4240 -0
  330. package/dist/onboard-BHKBzytX.js +13 -0
  331. package/dist/onboard-Bf3ht6ct.js +11 -0
  332. package/dist/onboard-Bmpa_pxc.js +3865 -0
  333. package/dist/onboard-BwFFnEDj.js +13 -0
  334. package/dist/onboard-C-0A7RKN.js +4211 -0
  335. package/dist/onboard-CCuETEUr.js +3865 -0
  336. package/dist/onboard-CDi3B996.js +13 -0
  337. package/dist/onboard-CGGZRH3J.js +4149 -0
  338. package/dist/onboard-CcXqOCHa.js +3862 -0
  339. package/dist/onboard-DU3acWAq.js +13 -0
  340. package/dist/onboard-DVEFIFRj.js +11 -0
  341. package/dist/onboard-DW8b3EUP.js +4250 -0
  342. package/dist/onboard-DiDTuD7m.js +13 -0
  343. package/dist/onboard-DqamkA0I.js +11 -0
  344. package/dist/onboard-DtDFU4lV.js +3865 -0
  345. package/dist/onboard-IdhgSexF.js +11 -0
  346. package/dist/onboard-Qh-qibLR.js +3861 -0
  347. package/dist/onboard-T54jLovz.js +13 -0
  348. package/dist/onboard-nQerZcpc.js +3862 -0
  349. package/dist/onboard-qXuXl5An.js +4250 -0
  350. package/dist/onboard-xgJmy17T.js +11 -0
  351. package/dist/onboard-xsSdyO6Y.js +3865 -0
  352. package/dist/onboard-yACJiQ6A.js +4215 -0
  353. package/dist/onboard-z1K8FTgh.js +13 -0
  354. package/dist/orchestrator-BIKrbOtx.js +6 -0
  355. package/dist/orchestrator-BeK8XyJY.js +6 -0
  356. package/dist/orchestrator-C71UI_0E.js +189 -0
  357. package/dist/orchestrator-CC6vuL6m.js +6 -0
  358. package/dist/orchestrator-CExmcac2.js +189 -0
  359. package/dist/orchestrator-CQm9v71d.js +6 -0
  360. package/dist/orchestrator-CSZnojZo.js +189 -0
  361. package/dist/orchestrator-Cc-gXExz.js +189 -0
  362. package/dist/orchestrator-Cj5XWVVe.js +189 -0
  363. package/dist/orchestrator-CxySH0n5.js +6 -0
  364. package/dist/orchestrator-Cybvh-J0.js +189 -0
  365. package/dist/orchestrator-D-9pExNB.js +189 -0
  366. package/dist/orchestrator-DG-RjZIu.js +6 -0
  367. package/dist/orchestrator-DvEjhiJR.js +6 -0
  368. package/dist/orchestrator-FFpXJwSV.js +189 -0
  369. package/dist/orchestrator-TsNkrbVG.js +6 -0
  370. package/dist/orchestrator-mPfwBFvX.js +6 -0
  371. package/dist/orchestrator-zS6Manjk.js +189 -0
  372. package/dist/osint-BIGH02i8.js +277 -0
  373. package/dist/osint-Cc2Ju-o4.js +277 -0
  374. package/dist/osint-Cg3-CYHx.js +278 -0
  375. package/dist/pairing-BRPzVXzQ.js +198 -0
  376. package/dist/pairing-Cm78Tsdx.js +4 -0
  377. package/dist/pairing-D4sA3-Ha.js +6 -0
  378. package/dist/pairing-ouc_v-OX.js +196 -0
  379. package/dist/pc-access-BZvlAXYN.js +819 -0
  380. package/dist/pc-access-CziyndiO.js +8 -0
  381. package/dist/pc-access-D5k6dAfU.js +819 -0
  382. package/dist/pc-access-DoPSPiAK.js +8 -0
  383. package/dist/pending-approval-BaKZ0b_s.js +22 -0
  384. package/dist/pending-approval-CBVZcFJn.js +22 -0
  385. package/dist/pending-approval-DiZ96D8v.js +22 -0
  386. package/dist/providers-Bk6Y_v9m.js +681 -0
  387. package/dist/providers-BvScOYvt.js +5 -0
  388. package/dist/providers-CFQC39vg.js +5 -0
  389. package/dist/providers-DEJ8Jtml.js +1089 -0
  390. package/dist/providers-DP8T0QCR.js +1089 -0
  391. package/dist/providers-EyJsZ-sr.js +5 -0
  392. package/dist/reminders-store-BSIw5Y5z.js +58 -0
  393. package/dist/reminders-store-Bus52SjO.js +58 -0
  394. package/dist/renderer-CmMjrkqN.js +225 -0
  395. package/dist/renderer-_Y9mEqMM.js +225 -0
  396. package/dist/renderer-h3ar94cf.js +228 -0
  397. package/dist/rules-D3GcY_lt.js +103 -0
  398. package/dist/rules-DFoset7W.js +103 -0
  399. package/dist/rules-eJw9i4RF.js +106 -0
  400. package/dist/run-main.js +460 -332
  401. package/dist/runner-C-syOqBr.js +1273 -0
  402. package/dist/runner-C73am--A.js +1273 -0
  403. package/dist/runner-DKLq9jhv.js +1273 -0
  404. package/dist/runner-Im-aCXhh.js +1273 -0
  405. package/dist/runner-NvAzKXbv.js +1273 -0
  406. package/dist/security-2DPBzs5F.js +4 -0
  407. package/dist/security-BhhX8wJx.js +73 -0
  408. package/dist/server-7tmTtdPU.js +4 -0
  409. package/dist/server-A38RPbRE.js +1291 -0
  410. package/dist/server-BErPWJZ5.js +4 -0
  411. package/dist/server-BKo-zifC.js +4 -0
  412. package/dist/server-Bav63Eqx.js +4 -0
  413. package/dist/server-BbWQWOH4.js +4 -0
  414. package/dist/server-BfHtA0Y2.js +1278 -0
  415. package/dist/server-BiYaxlFV.js +1287 -0
  416. package/dist/server-C6htB4FI.js +4 -0
  417. package/dist/server-CB7cjcj4.js +1278 -0
  418. package/dist/server-CNiOi5dN.js +1285 -0
  419. package/dist/server-CSC4npaT.js +1285 -0
  420. package/dist/server-CZfP2Poz.js +1278 -0
  421. package/dist/server-C_YVts3e.js +4 -0
  422. package/dist/server-CbQl0M21.js +1278 -0
  423. package/dist/server-CeZNKjAL.js +4 -0
  424. package/dist/server-Ct7Fl3SE.js +1285 -0
  425. package/dist/server-DBUnNWZY.js +1255 -0
  426. package/dist/server-DRc26z9e.js +4 -0
  427. package/dist/server-DT7JjjVD.js +4 -0
  428. package/dist/server-DUVnyXaR.js +1255 -0
  429. package/dist/server-DacRJyZn.js +4 -0
  430. package/dist/server-Dy7Q-YLx.js +4 -0
  431. package/dist/server-PCtHMXe2.js +1292 -0
  432. package/dist/session-store-7ZPOoB81.js +5 -0
  433. package/dist/session-store-BOa2y_EQ.js +5 -0
  434. package/dist/session-store-BYEr8j52.js +139 -0
  435. package/dist/session-store-Bx7lBD_a.js +141 -0
  436. package/dist/session-store-C13h7I2r.js +136 -0
  437. package/dist/session-store-CUHgJ0Xr.js +5 -0
  438. package/dist/session-store-cbtK6hx9.js +136 -0
  439. package/dist/session-store-eecMioKI.js +5 -0
  440. package/dist/sessions-tools-B5_ow-s7.js +5 -0
  441. package/dist/sessions-tools-CG2mvJo6.js +95 -0
  442. package/dist/sessions-tools-DVSejkNU.js +95 -0
  443. package/dist/sessions-tools-fOL1N3Zu.js +5 -0
  444. package/dist/skill-loader-99egKAGN.js +160 -0
  445. package/dist/skill-loader-Bl6pYxNN.js +160 -0
  446. package/dist/skill-loader-D4D5kfDu.js +7 -0
  447. package/dist/skill-loader-DwbmjEDa.js +7 -0
  448. package/dist/skill-runtime-1CrUOOGv.js +5 -0
  449. package/dist/skill-runtime-B-2O7Vgb.js +102 -0
  450. package/dist/skill-runtime-B7PutgyZ.js +5 -0
  451. package/dist/skill-runtime-BUhMkMzO.js +5 -0
  452. package/dist/skill-runtime-Bsf3CXxL.js +102 -0
  453. package/dist/skill-runtime-Bv7fCCx8.js +102 -0
  454. package/dist/skill-runtime-Bx2HHcta.js +102 -0
  455. package/dist/skill-runtime-C6HVvnmN.js +5 -0
  456. package/dist/skill-runtime-C_54rn66.js +5 -0
  457. package/dist/skill-runtime-CtSykP3r.js +102 -0
  458. package/dist/skill-runtime-DZ6uJXGW.js +102 -0
  459. package/dist/skill-runtime-DaLnq_Jm.js +5 -0
  460. package/dist/skill-runtime-Do7NLtoa.js +5 -0
  461. package/dist/skill-runtime-DpDbjL7y.js +102 -0
  462. package/dist/skill-runtime-acmnZSq7.js +102 -0
  463. package/dist/skill-runtime-dzuLMVSw.js +5 -0
  464. package/dist/skill-runtime-fDLfk3m3.js +102 -0
  465. package/dist/skill-runtime-wiVnzSoJ.js +5 -0
  466. package/dist/src-B5lCcPXX.js +63 -0
  467. package/dist/src-B7Kxqi35.js +20 -0
  468. package/dist/src-B8DEmVd6.js +458 -0
  469. package/dist/src-BqbwzQQj.js +63 -0
  470. package/dist/src-C63ECu1t.js +63 -0
  471. package/dist/src-C65-5rOW.js +458 -0
  472. package/dist/src-CQOQRIzS.js +458 -0
  473. package/dist/src-CbTAVbeI.js +20 -0
  474. package/dist/src-Cmnclt47.js +63 -0
  475. package/dist/src-D0kptBSa.js +458 -0
  476. package/dist/src-DQ9Q89FM.js +458 -0
  477. package/dist/src-DXaT-nxD.js +63 -0
  478. package/dist/src-DZtpIvWJ.js +63 -0
  479. package/dist/src-DjzS20TD.js +63 -0
  480. package/dist/src-DmPjS2Z4.js +458 -0
  481. package/dist/src-DmbIgW0O.js +63 -0
  482. package/dist/src-DrDuFPKq.js +63 -0
  483. package/dist/src-DsaXFru7.js +63 -0
  484. package/dist/src-Dt0TXI8r.js +458 -0
  485. package/dist/src-rktqvEBJ.js +458 -0
  486. package/dist/src-tI8EOp6-.js +458 -0
  487. package/dist/src-zWhGmJSN.js +458 -0
  488. package/dist/sub-agent-tools-9k60L5mn.js +39 -0
  489. package/dist/sub-agent-tools-BBJf8oPD.js +39 -0
  490. package/dist/sub-agent-tools-BVCARpnF.js +39 -0
  491. package/dist/sub-agent-tools-Bfk5uqJo.js +39 -0
  492. package/dist/sub-agent-tools-Cx5BB5IO.js +39 -0
  493. package/dist/sub-agent-tools-DMT7jjBc.js +39 -0
  494. package/dist/sub-agent-tools-XeiuvDg5.js +39 -0
  495. package/dist/sub-agent-tools-iBQiRKg6.js +39 -0
  496. package/dist/sub-agent-tools-kr921YOA.js +39 -0
  497. package/dist/theme-CLXvI6Hr.js +183 -0
  498. package/dist/theme-DdZT-Bq4.js +10 -0
  499. package/dist/theme-GEpjn_0G.js +180 -0
  500. package/dist/theme-hOlG-hDL.js +8 -0
  501. package/dist/tool-policy-D1zWYBKm.js +189 -0
  502. package/dist/tool-policy-TmXx_fpp.js +189 -0
  503. package/dist/tool-policy-YgysHf5s.js +189 -0
  504. package/dist/tts-elevenlabs-BT4WrEwy.js +61 -0
  505. package/dist/tts-elevenlabs-C62Wnnrg.js +61 -0
  506. package/dist/tts-elevenlabs-DmEFFeR8.js +61 -0
  507. package/dist/update-check-BeAPt4-f.js +98 -0
  508. package/dist/update-check-CaHNCDqe.js +6 -0
  509. package/dist/vision-B5DQ5hYa.js +121 -0
  510. package/dist/vision-XOSSQe4m.js +121 -0
  511. package/dist/vision-sIO3kwFy.js +121 -0
  512. package/dist/vision-tools-BHogJPuK.js +5 -0
  513. package/dist/vision-tools-BZhV8wg3.js +51 -0
  514. package/dist/vision-tools-BiDKd0UA.js +5 -0
  515. package/dist/vision-tools-CdRxilYR.js +5 -0
  516. package/dist/vision-tools-DnUjpQhI.js +51 -0
  517. package/dist/vision-tools-gtUq6d-x.js +51 -0
  518. package/dist/voice-transcription-5_iQE-0C.js +138 -0
  519. package/dist/voice-transcription-C3SuzK96.js +138 -0
  520. package/dist/voice-transcription-CYFj4Iv3.js +138 -0
  521. package/dist/voice-transcription-ygmlOkky.js +138 -0
  522. package/dist/website-watch-tools-BF-wR0UI.js +5 -0
  523. package/dist/website-watch-tools-CVh7RA5-.js +139 -0
  524. package/dist/website-watch-tools-CthBrGPP.js +5 -0
  525. package/dist/website-watch-tools-Oxf8Mv4j.js +139 -0
  526. package/package.json +1 -1
@@ -0,0 +1,194 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const chalk = require_chunk.__toESM(require("chalk"));
3
+ const fs_extra = require_chunk.__toESM(require("fs-extra"));
4
+ const path = require_chunk.__toESM(require("path"));
5
+ const os = require_chunk.__toESM(require("os"));
6
+ const ws = require_chunk.__toESM(require("ws"));
7
+ const child_process = require_chunk.__toESM(require("child_process"));
8
+ const util = require_chunk.__toESM(require("util"));
9
+
10
+ //#region src/cli/gateway.ts
11
+ const execAsync = (0, util.promisify)(child_process.exec);
12
+ const HC_DIR = path.default.join(os.default.homedir(), ".hyperclaw");
13
+ var GatewayManager = class {
14
+ async isRunning(port = 18789) {
15
+ return this.detect(port);
16
+ }
17
+ async detectRuntime() {
18
+ for (const r of [
19
+ "bun",
20
+ "deno",
21
+ "node"
22
+ ]) try {
23
+ await execAsync(`which ${r}`);
24
+ return r;
25
+ } catch {}
26
+ return "node";
27
+ }
28
+ exposureLabel(e) {
29
+ const m = {
30
+ off: "Off",
31
+ serve: "Serve (Tailscale)",
32
+ funnel: "Funnel (public)"
33
+ };
34
+ return m[e] || e;
35
+ }
36
+ async detect(port = 18789) {
37
+ return new Promise((resolve) => {
38
+ try {
39
+ const ws$1 = new ws.WebSocket(`ws://127.0.0.1:${port}`);
40
+ const t = setTimeout(() => {
41
+ ws$1.terminate();
42
+ resolve(false);
43
+ }, 1500);
44
+ ws$1.on("open", () => {
45
+ clearTimeout(t);
46
+ ws$1.close();
47
+ resolve(true);
48
+ });
49
+ ws$1.on("error", () => {
50
+ clearTimeout(t);
51
+ resolve(false);
52
+ });
53
+ } catch {
54
+ resolve(false);
55
+ }
56
+ });
57
+ }
58
+ async showStatus(cfg) {
59
+ const running = await this.detect(cfg.port);
60
+ const bindLabel = {
61
+ "127.0.0.1": "loopback (localhost only)",
62
+ "0.0.0.0": "all interfaces (LAN)",
63
+ "tailscale": "Tailscale VPN only"
64
+ }[cfg.bind] || cfg.bind;
65
+ console.log(chalk.default.bold.cyan("\n 💻 GATEWAY\n"));
66
+ console.log(` ${running ? chalk.default.green("● Running") : chalk.default.gray("○ Stopped")} ws://127.0.0.1:${cfg.port}`);
67
+ console.log(` Bind: ${bindLabel}`);
68
+ console.log(` Runtime: ${cfg.runtime}${cfg.runtime === "node" ? chalk.default.gray(" (recommended)") : ""}`);
69
+ if (cfg.tailscaleExposure !== "off") console.log(` Tailscale: ${chalk.default.yellow(cfg.tailscaleExposure)}`);
70
+ console.log(` Token: ${cfg.authToken ? chalk.default.green("set") : chalk.default.yellow("none (open)")}`);
71
+ console.log(` Channels: ${cfg.enabledChannels.join(", ") || chalk.default.gray("none")}`);
72
+ console.log();
73
+ }
74
+ async applyTailscaleExposure(mode, port) {
75
+ try {
76
+ if (mode === "serve") await execAsync(`tailscale serve https / http://localhost:${port}`);
77
+ else await execAsync(`tailscale funnel ${port}`);
78
+ console.log(chalk.default.green(` ✅ Tailscale ${mode} enabled`));
79
+ } catch (e) {
80
+ console.log(chalk.default.yellow(` ⚠ Tailscale: ${e.message.slice(0, 60)}`));
81
+ }
82
+ }
83
+ generateToken() {
84
+ return require("crypto").randomBytes(32).toString("base64url");
85
+ }
86
+ async resolveBindAddress(bind) {
87
+ if (["127.0.0.1", "0.0.0.0"].includes(bind)) return bind;
88
+ if (bind === "tailscale") try {
89
+ const { stdout } = await execAsync("tailscale ip -4 2>/dev/null");
90
+ return stdout.trim();
91
+ } catch {
92
+ return "127.0.0.1";
93
+ }
94
+ return bind;
95
+ }
96
+ async installService(cfg) {
97
+ const platform = os.default.platform();
98
+ if (platform === "linux") await this.installSystemd(cfg);
99
+ else if (platform === "darwin") await this.installLaunchAgent(cfg);
100
+ else console.log(chalk.default.yellow(" Windows: Use NSSM or Task Scheduler"));
101
+ }
102
+ async installSystemd(cfg) {
103
+ const binary = process.execPath;
104
+ const content = `[Unit]
105
+ Description=HyperClaw Gateway
106
+ After=network.target
107
+
108
+ [Service]
109
+ Type=simple
110
+ ExecStart=${binary} ${path.default.join(__dirname, "run-main.js")} gateway start
111
+ Restart=on-failure
112
+ RestartSec=5
113
+ Environment=PORT=${cfg.port}
114
+
115
+ [Install]
116
+ WantedBy=default.target
117
+ `;
118
+ const serviceDir = path.default.join(os.default.homedir(), ".config/systemd/user");
119
+ const serviceFile = path.default.join(serviceDir, "hyperclaw.service");
120
+ try {
121
+ await fs_extra.default.ensureDir(serviceDir);
122
+ await fs_extra.default.writeFile(serviceFile, content);
123
+ await execAsync("systemctl --user daemon-reload");
124
+ await execAsync("systemctl --user enable hyperclaw");
125
+ await execAsync(`loginctl enable-linger ${os.default.userInfo().username}`).catch((e) => {
126
+ console.log(chalk.default.yellow(` ⚠ loginctl enable-linger failed: ${e?.message ?? e}. Service may not persist across logouts.`));
127
+ });
128
+ console.log(chalk.default.green(" ✅ systemd service installed (lingering enabled)"));
129
+ } catch (e) {
130
+ console.log(chalk.default.gray(` Service file: ${serviceFile}`));
131
+ }
132
+ }
133
+ async installLaunchAgent(cfg) {
134
+ const binary = process.execPath;
135
+ const plistDir = path.default.join(os.default.homedir(), "Library/LaunchAgents");
136
+ const plistPath = path.default.join(plistDir, "ai.hyperclaw.gateway.plist");
137
+ const content = `<?xml version="1.0" encoding="UTF-8"?>
138
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
139
+ <plist version="1.0"><dict>
140
+ <key>Label</key><string>ai.hyperclaw.gateway</string>
141
+ <key>ProgramArguments</key><array>
142
+ <string>${binary}</string>
143
+ <string>${path.default.join(__dirname, "run-main.js")}</string>
144
+ <string>gateway</string><string>start</string>
145
+ </array>
146
+ <key>RunAtLoad</key><true/>
147
+ <key>KeepAlive</key><true/>
148
+ <key>StandardOutPath</key><string>${HC_DIR}/gateway.log</string>
149
+ <key>StandardErrorPath</key><string>${HC_DIR}/gateway.err</string>
150
+ </dict></plist>`;
151
+ await fs_extra.default.ensureDir(plistDir);
152
+ await fs_extra.default.writeFile(plistPath, content);
153
+ try {
154
+ await execAsync(`launchctl load ${plistPath}`);
155
+ console.log(chalk.default.green(" ✅ LaunchAgent installed"));
156
+ } catch {
157
+ console.log(chalk.default.gray(` Written: ${plistPath}`));
158
+ }
159
+ }
160
+ async reload(port, authToken) {
161
+ try {
162
+ const ws$1 = new ws.WebSocket(`ws://127.0.0.1:${port}`);
163
+ await new Promise((resolve, reject) => {
164
+ ws$1.on("open", () => {
165
+ if (authToken) ws$1.send(JSON.stringify({
166
+ type: "auth",
167
+ token: authToken
168
+ }));
169
+ ws$1.send(JSON.stringify({ type: "config:reload" }));
170
+ setTimeout(() => {
171
+ ws$1.close();
172
+ resolve();
173
+ }, 400);
174
+ });
175
+ ws$1.on("error", reject);
176
+ setTimeout(() => {
177
+ ws$1.terminate();
178
+ resolve();
179
+ }, 2e3);
180
+ });
181
+ console.log(chalk.default.green(" ✅ Gateway reloaded"));
182
+ } catch {
183
+ console.log(chalk.default.yellow(" ⚠ Gateway not running — changes apply on next start"));
184
+ }
185
+ }
186
+ };
187
+
188
+ //#endregion
189
+ Object.defineProperty(exports, 'GatewayManager', {
190
+ enumerable: true,
191
+ get: function () {
192
+ return GatewayManager;
193
+ }
194
+ });
@@ -0,0 +1,196 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_paths = require('./paths-AIyBxIzm.js');
3
+ const require_paths$1 = require('./paths-DPovhojT.js');
4
+ const chalk = require_chunk.__toESM(require("chalk"));
5
+ const fs_extra = require_chunk.__toESM(require("fs-extra"));
6
+ const path = require_chunk.__toESM(require("path"));
7
+ const os = require_chunk.__toESM(require("os"));
8
+ const ws = require_chunk.__toESM(require("ws"));
9
+ const child_process = require_chunk.__toESM(require("child_process"));
10
+ const util = require_chunk.__toESM(require("util"));
11
+
12
+ //#region src/cli/gateway.ts
13
+ require_paths$1.init_paths();
14
+ const execAsync = (0, util.promisify)(child_process.exec);
15
+ var GatewayManager = class {
16
+ async isRunning(port = 18789) {
17
+ return this.detect(port);
18
+ }
19
+ async detectRuntime() {
20
+ for (const r of [
21
+ "bun",
22
+ "deno",
23
+ "node"
24
+ ]) try {
25
+ await execAsync(`which ${r}`);
26
+ return r;
27
+ } catch {}
28
+ return "node";
29
+ }
30
+ exposureLabel(e) {
31
+ const m = {
32
+ off: "Off",
33
+ serve: "Serve (Tailscale)",
34
+ funnel: "Funnel (public)"
35
+ };
36
+ return m[e] || e;
37
+ }
38
+ async detect(port = 18789) {
39
+ return new Promise((resolve) => {
40
+ try {
41
+ const ws$1 = new ws.WebSocket(`ws://127.0.0.1:${port}`);
42
+ const t = setTimeout(() => {
43
+ ws$1.terminate();
44
+ resolve(false);
45
+ }, 1500);
46
+ ws$1.on("open", () => {
47
+ clearTimeout(t);
48
+ ws$1.close();
49
+ resolve(true);
50
+ });
51
+ ws$1.on("error", () => {
52
+ clearTimeout(t);
53
+ resolve(false);
54
+ });
55
+ } catch {
56
+ resolve(false);
57
+ }
58
+ });
59
+ }
60
+ async showStatus(cfg) {
61
+ const running = await this.detect(cfg.port);
62
+ const bindLabel = {
63
+ "127.0.0.1": "loopback (localhost only)",
64
+ "0.0.0.0": "all interfaces (LAN)",
65
+ "tailscale": "Tailscale VPN only"
66
+ }[cfg.bind] || cfg.bind;
67
+ console.log(chalk.default.bold.cyan("\n 💻 GATEWAY\n"));
68
+ console.log(` ${running ? chalk.default.green("● Running") : chalk.default.gray("○ Stopped")} ws://127.0.0.1:${cfg.port}`);
69
+ console.log(` Bind: ${bindLabel}`);
70
+ console.log(` Runtime: ${cfg.runtime}${cfg.runtime === "node" ? chalk.default.gray(" (recommended)") : ""}`);
71
+ if (cfg.tailscaleExposure !== "off") console.log(` Tailscale: ${chalk.default.yellow(cfg.tailscaleExposure)}`);
72
+ console.log(` Token: ${cfg.authToken ? chalk.default.green("set") : chalk.default.yellow("none (open)")}`);
73
+ console.log(` Channels: ${cfg.enabledChannels.join(", ") || chalk.default.gray("none")}`);
74
+ console.log();
75
+ }
76
+ async applyTailscaleExposure(mode, port) {
77
+ try {
78
+ if (mode === "serve") await execAsync(`tailscale serve https / http://localhost:${port}`);
79
+ else await execAsync(`tailscale funnel ${port}`);
80
+ console.log(chalk.default.green(` ✅ Tailscale ${mode} enabled`));
81
+ } catch (e) {
82
+ console.log(chalk.default.yellow(` ⚠ Tailscale: ${e.message.slice(0, 60)}`));
83
+ }
84
+ }
85
+ generateToken() {
86
+ return require("crypto").randomBytes(32).toString("base64url");
87
+ }
88
+ async resolveBindAddress(bind) {
89
+ if (["127.0.0.1", "0.0.0.0"].includes(bind)) return bind;
90
+ if (bind === "tailscale") try {
91
+ const { stdout } = await execAsync("tailscale ip -4 2>/dev/null");
92
+ return stdout.trim();
93
+ } catch {
94
+ return "127.0.0.1";
95
+ }
96
+ return bind;
97
+ }
98
+ async installService(cfg) {
99
+ const platform = os.default.platform();
100
+ if (platform === "linux") await this.installSystemd(cfg);
101
+ else if (platform === "darwin") await this.installLaunchAgent(cfg);
102
+ else console.log(chalk.default.yellow(" Windows: Use NSSM or Task Scheduler"));
103
+ }
104
+ async installSystemd(cfg) {
105
+ const binary = process.execPath;
106
+ const content = `[Unit]
107
+ Description=HyperClaw Gateway
108
+ After=network.target
109
+
110
+ [Service]
111
+ Type=simple
112
+ ExecStart=${binary} ${path.default.join(__dirname, "run-main.js")} gateway start
113
+ Restart=on-failure
114
+ RestartSec=5
115
+ Environment=PORT=${cfg.port}
116
+
117
+ [Install]
118
+ WantedBy=default.target
119
+ `;
120
+ const serviceDir = path.default.join(os.default.homedir(), ".config/systemd/user");
121
+ const serviceFile = path.default.join(serviceDir, "hyperclaw.service");
122
+ try {
123
+ await fs_extra.default.ensureDir(serviceDir);
124
+ await fs_extra.default.writeFile(serviceFile, content);
125
+ await execAsync("systemctl --user daemon-reload");
126
+ await execAsync("systemctl --user enable hyperclaw");
127
+ await execAsync(`loginctl enable-linger ${os.default.userInfo().username}`).catch((e) => {
128
+ console.log(chalk.default.yellow(` ⚠ loginctl enable-linger failed: ${e?.message ?? e}. Service may not persist across logouts.`));
129
+ });
130
+ console.log(chalk.default.green(" ✅ systemd service installed (lingering enabled)"));
131
+ } catch (e) {
132
+ console.log(chalk.default.gray(` Service file: ${serviceFile}`));
133
+ }
134
+ }
135
+ async installLaunchAgent(cfg) {
136
+ const binary = process.execPath;
137
+ const plistDir = path.default.join(os.default.homedir(), "Library/LaunchAgents");
138
+ const plistPath = path.default.join(plistDir, "ai.hyperclaw.gateway.plist");
139
+ const content = `<?xml version="1.0" encoding="UTF-8"?>
140
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
141
+ <plist version="1.0"><dict>
142
+ <key>Label</key><string>ai.hyperclaw.gateway</string>
143
+ <key>ProgramArguments</key><array>
144
+ <string>${binary}</string>
145
+ <string>${path.default.join(__dirname, "run-main.js")}</string>
146
+ <string>gateway</string><string>start</string>
147
+ </array>
148
+ <key>RunAtLoad</key><true/>
149
+ <key>KeepAlive</key><true/>
150
+ <key>StandardOutPath</key><string>${require_paths.getHyperClawDir()}/gateway.log</string>
151
+ <key>StandardErrorPath</key><string>${require_paths.getHyperClawDir()}/gateway.err</string>
152
+ </dict></plist>`;
153
+ await fs_extra.default.ensureDir(plistDir);
154
+ await fs_extra.default.writeFile(plistPath, content);
155
+ try {
156
+ await execAsync(`launchctl load ${plistPath}`);
157
+ console.log(chalk.default.green(" ✅ LaunchAgent installed"));
158
+ } catch {
159
+ console.log(chalk.default.gray(` Written: ${plistPath}`));
160
+ }
161
+ }
162
+ async reload(port, authToken) {
163
+ try {
164
+ const ws$1 = new ws.WebSocket(`ws://127.0.0.1:${port}`);
165
+ await new Promise((resolve, reject) => {
166
+ ws$1.on("open", () => {
167
+ if (authToken) ws$1.send(JSON.stringify({
168
+ type: "auth",
169
+ token: authToken
170
+ }));
171
+ ws$1.send(JSON.stringify({ type: "config:reload" }));
172
+ setTimeout(() => {
173
+ ws$1.close();
174
+ resolve();
175
+ }, 400);
176
+ });
177
+ ws$1.on("error", reject);
178
+ setTimeout(() => {
179
+ ws$1.terminate();
180
+ resolve();
181
+ }, 2e3);
182
+ });
183
+ console.log(chalk.default.green(" ✅ Gateway reloaded"));
184
+ } catch {
185
+ console.log(chalk.default.yellow(" ⚠ Gateway not running — changes apply on next start"));
186
+ }
187
+ }
188
+ };
189
+
190
+ //#endregion
191
+ Object.defineProperty(exports, 'GatewayManager', {
192
+ enumerable: true,
193
+ get: function () {
194
+ return GatewayManager;
195
+ }
196
+ });
@@ -0,0 +1,194 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const chalk = require_chunk.__toESM(require("chalk"));
3
+ const fs_extra = require_chunk.__toESM(require("fs-extra"));
4
+ const path = require_chunk.__toESM(require("path"));
5
+ const os = require_chunk.__toESM(require("os"));
6
+ const child_process = require_chunk.__toESM(require("child_process"));
7
+ const util = require_chunk.__toESM(require("util"));
8
+ const ws = require_chunk.__toESM(require("ws"));
9
+
10
+ //#region src/cli/gateway.ts
11
+ const execAsync = (0, util.promisify)(child_process.exec);
12
+ const HC_DIR = path.default.join(os.default.homedir(), ".hyperclaw");
13
+ var GatewayManager = class {
14
+ async isRunning(port = 18789) {
15
+ return this.detect(port);
16
+ }
17
+ async detectRuntime() {
18
+ for (const r of [
19
+ "bun",
20
+ "deno",
21
+ "node"
22
+ ]) try {
23
+ await execAsync(`which ${r}`);
24
+ return r;
25
+ } catch {}
26
+ return "node";
27
+ }
28
+ exposureLabel(e) {
29
+ const m = {
30
+ off: "Off",
31
+ serve: "Serve (Tailscale)",
32
+ funnel: "Funnel (public)"
33
+ };
34
+ return m[e] || e;
35
+ }
36
+ async detect(port = 18789) {
37
+ return new Promise((resolve) => {
38
+ try {
39
+ const ws$1 = new ws.WebSocket(`ws://127.0.0.1:${port}`);
40
+ const t = setTimeout(() => {
41
+ ws$1.terminate();
42
+ resolve(false);
43
+ }, 1500);
44
+ ws$1.on("open", () => {
45
+ clearTimeout(t);
46
+ ws$1.close();
47
+ resolve(true);
48
+ });
49
+ ws$1.on("error", () => {
50
+ clearTimeout(t);
51
+ resolve(false);
52
+ });
53
+ } catch {
54
+ resolve(false);
55
+ }
56
+ });
57
+ }
58
+ async showStatus(cfg) {
59
+ const running = await this.detect(cfg.port);
60
+ const bindLabel = {
61
+ "127.0.0.1": "loopback (localhost only)",
62
+ "0.0.0.0": "all interfaces (LAN)",
63
+ "tailscale": "Tailscale VPN only"
64
+ }[cfg.bind] || cfg.bind;
65
+ console.log(chalk.default.bold.cyan("\n 💻 GATEWAY\n"));
66
+ console.log(` ${running ? chalk.default.green("● Running") : chalk.default.gray("○ Stopped")} ws://127.0.0.1:${cfg.port}`);
67
+ console.log(` Bind: ${bindLabel}`);
68
+ console.log(` Runtime: ${cfg.runtime}${cfg.runtime === "node" ? chalk.default.gray(" (recommended)") : ""}`);
69
+ if (cfg.tailscaleExposure !== "off") console.log(` Tailscale: ${chalk.default.yellow(cfg.tailscaleExposure)}`);
70
+ console.log(` Token: ${cfg.authToken ? chalk.default.green("set") : chalk.default.yellow("none (open)")}`);
71
+ console.log(` Channels: ${cfg.enabledChannels.join(", ") || chalk.default.gray("none")}`);
72
+ console.log();
73
+ }
74
+ async applyTailscaleExposure(mode, port) {
75
+ try {
76
+ if (mode === "serve") await execAsync(`tailscale serve https / http://localhost:${port}`);
77
+ else await execAsync(`tailscale funnel ${port}`);
78
+ console.log(chalk.default.green(` ✅ Tailscale ${mode} enabled`));
79
+ } catch (e) {
80
+ console.log(chalk.default.yellow(` ⚠ Tailscale: ${e.message.slice(0, 60)}`));
81
+ }
82
+ }
83
+ generateToken() {
84
+ return require("crypto").randomBytes(32).toString("base64url");
85
+ }
86
+ async resolveBindAddress(bind) {
87
+ if (["127.0.0.1", "0.0.0.0"].includes(bind)) return bind;
88
+ if (bind === "tailscale") try {
89
+ const { stdout } = await execAsync("tailscale ip -4 2>/dev/null");
90
+ return stdout.trim();
91
+ } catch {
92
+ return "127.0.0.1";
93
+ }
94
+ return bind;
95
+ }
96
+ async installService(cfg) {
97
+ const platform = os.default.platform();
98
+ if (platform === "linux") await this.installSystemd(cfg);
99
+ else if (platform === "darwin") await this.installLaunchAgent(cfg);
100
+ else console.log(chalk.default.yellow(" Windows: Use NSSM or Task Scheduler"));
101
+ }
102
+ async installSystemd(cfg) {
103
+ const binary = process.execPath;
104
+ const content = `[Unit]
105
+ Description=HyperClaw Gateway
106
+ After=network.target
107
+
108
+ [Service]
109
+ Type=simple
110
+ ExecStart=${binary} ${path.default.join(__dirname, "run-main.js")} gateway start
111
+ Restart=on-failure
112
+ RestartSec=5
113
+ Environment=PORT=${cfg.port}
114
+
115
+ [Install]
116
+ WantedBy=default.target
117
+ `;
118
+ const serviceDir = path.default.join(os.default.homedir(), ".config/systemd/user");
119
+ const serviceFile = path.default.join(serviceDir, "hyperclaw.service");
120
+ try {
121
+ await fs_extra.default.ensureDir(serviceDir);
122
+ await fs_extra.default.writeFile(serviceFile, content);
123
+ await execAsync("systemctl --user daemon-reload");
124
+ await execAsync("systemctl --user enable hyperclaw");
125
+ await execAsync(`loginctl enable-linger ${os.default.userInfo().username}`).catch((e) => {
126
+ console.log(chalk.default.yellow(` ⚠ loginctl enable-linger failed: ${e?.message ?? e}. Service may not persist across logouts.`));
127
+ });
128
+ console.log(chalk.default.green(" ✅ systemd service installed (lingering enabled)"));
129
+ } catch (e) {
130
+ console.log(chalk.default.gray(` Service file: ${serviceFile}`));
131
+ }
132
+ }
133
+ async installLaunchAgent(cfg) {
134
+ const binary = process.execPath;
135
+ const plistDir = path.default.join(os.default.homedir(), "Library/LaunchAgents");
136
+ const plistPath = path.default.join(plistDir, "ai.hyperclaw.gateway.plist");
137
+ const content = `<?xml version="1.0" encoding="UTF-8"?>
138
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
139
+ <plist version="1.0"><dict>
140
+ <key>Label</key><string>ai.hyperclaw.gateway</string>
141
+ <key>ProgramArguments</key><array>
142
+ <string>${binary}</string>
143
+ <string>${path.default.join(__dirname, "run-main.js")}</string>
144
+ <string>gateway</string><string>start</string>
145
+ </array>
146
+ <key>RunAtLoad</key><true/>
147
+ <key>KeepAlive</key><true/>
148
+ <key>StandardOutPath</key><string>${HC_DIR}/gateway.log</string>
149
+ <key>StandardErrorPath</key><string>${HC_DIR}/gateway.err</string>
150
+ </dict></plist>`;
151
+ await fs_extra.default.ensureDir(plistDir);
152
+ await fs_extra.default.writeFile(plistPath, content);
153
+ try {
154
+ await execAsync(`launchctl load ${plistPath}`);
155
+ console.log(chalk.default.green(" ✅ LaunchAgent installed"));
156
+ } catch {
157
+ console.log(chalk.default.gray(` Written: ${plistPath}`));
158
+ }
159
+ }
160
+ async reload(port, authToken) {
161
+ try {
162
+ const ws$1 = new ws.WebSocket(`ws://127.0.0.1:${port}`);
163
+ await new Promise((resolve, reject) => {
164
+ ws$1.on("open", () => {
165
+ if (authToken) ws$1.send(JSON.stringify({
166
+ type: "auth",
167
+ token: authToken
168
+ }));
169
+ ws$1.send(JSON.stringify({ type: "config:reload" }));
170
+ setTimeout(() => {
171
+ ws$1.close();
172
+ resolve();
173
+ }, 400);
174
+ });
175
+ ws$1.on("error", reject);
176
+ setTimeout(() => {
177
+ ws$1.terminate();
178
+ resolve();
179
+ }, 2e3);
180
+ });
181
+ console.log(chalk.default.green(" ✅ Gateway reloaded"));
182
+ } catch {
183
+ console.log(chalk.default.yellow(" ⚠ Gateway not running — changes apply on next start"));
184
+ }
185
+ }
186
+ };
187
+
188
+ //#endregion
189
+ Object.defineProperty(exports, 'GatewayManager', {
190
+ enumerable: true,
191
+ get: function () {
192
+ return GatewayManager;
193
+ }
194
+ });
@@ -0,0 +1,4 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_gateway = require('./gateway-DNv10FFg.js');
3
+
4
+ exports.GatewayManager = require_gateway.GatewayManager;
@@ -0,0 +1,6 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ require('./paths-AIyBxIzm.js');
3
+ require('./paths-DPovhojT.js');
4
+ const require_gateway = require('./gateway-CzI8dnlS.js');
5
+
6
+ exports.GatewayManager = require_gateway.GatewayManager;
@@ -0,0 +1,4 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_gateway = require('./gateway-BfHcLG6d.js');
3
+
4
+ exports.GatewayManager = require_gateway.GatewayManager;
@@ -0,0 +1,40 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const fs_extra = require_chunk.__toESM(require("fs-extra"));
3
+ const path = require_chunk.__toESM(require("path"));
4
+ const os = require_chunk.__toESM(require("os"));
5
+
6
+ //#region src/commands/gmail-watch-setup.ts
7
+ const HC_DIR = path.default.join(os.default.homedir(), ".hyperclaw");
8
+ async function getGmailAccessToken() {
9
+ const paths = [path.default.join(HC_DIR, "oauth-google-gmail.json"), path.default.join(HC_DIR, "oauth-google.json")];
10
+ for (const p of paths) {
11
+ if (!await fs_extra.default.pathExists(p)) continue;
12
+ const data = await fs_extra.default.readJson(p);
13
+ if (data.access_token) return data.access_token;
14
+ }
15
+ throw new Error("No Gmail OAuth token found. Run: hyperclaw auth oauth google-gmail");
16
+ }
17
+ async function setupGmailWatch(opts) {
18
+ const token = await getGmailAccessToken();
19
+ const body = JSON.stringify({
20
+ topicName: opts.topicName,
21
+ labelIds: opts.labelIds || ["INBOX"],
22
+ labelFilterBehavior: "INCLUDE"
23
+ });
24
+ const res = await fetch("https://gmail.googleapis.com/gmail/v1/users/me/watch", {
25
+ method: "POST",
26
+ headers: {
27
+ Authorization: `Bearer ${token}`,
28
+ "Content-Type": "application/json"
29
+ },
30
+ body
31
+ });
32
+ if (!res.ok) {
33
+ const err = await res.text();
34
+ throw new Error(`Gmail API error ${res.status}: ${err}`);
35
+ }
36
+ return res.json();
37
+ }
38
+
39
+ //#endregion
40
+ exports.setupGmailWatch = setupGmailWatch;
@@ -0,0 +1,40 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const fs_extra = require_chunk.__toESM(require("fs-extra"));
3
+ const path = require_chunk.__toESM(require("path"));
4
+ const os = require_chunk.__toESM(require("os"));
5
+
6
+ //#region src/commands/gmail-watch-setup.ts
7
+ const HC_DIR = path.default.join(os.default.homedir(), ".hyperclaw");
8
+ async function getGmailAccessToken() {
9
+ const paths = [path.default.join(HC_DIR, "oauth-google-gmail.json"), path.default.join(HC_DIR, "oauth-google.json")];
10
+ for (const p of paths) {
11
+ if (!await fs_extra.default.pathExists(p)) continue;
12
+ const data = await fs_extra.default.readJson(p);
13
+ if (data.access_token) return data.access_token;
14
+ }
15
+ throw new Error("No Gmail OAuth token found. Run: hyperclaw auth oauth google-gmail");
16
+ }
17
+ async function setupGmailWatch(opts) {
18
+ const token = await getGmailAccessToken();
19
+ const body = JSON.stringify({
20
+ topicName: opts.topicName,
21
+ labelIds: opts.labelIds || ["INBOX"],
22
+ labelFilterBehavior: "INCLUDE"
23
+ });
24
+ const res = await fetch("https://gmail.googleapis.com/gmail/v1/users/me/watch", {
25
+ method: "POST",
26
+ headers: {
27
+ Authorization: `Bearer ${token}`,
28
+ "Content-Type": "application/json"
29
+ },
30
+ body
31
+ });
32
+ if (!res.ok) {
33
+ const err = await res.text();
34
+ throw new Error(`Gmail API error ${res.status}: ${err}`);
35
+ }
36
+ return res.json();
37
+ }
38
+
39
+ //#endregion
40
+ exports.setupGmailWatch = setupGmailWatch;