hyperclaw 5.4.0 โ 5.4.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.
- package/README.md +1 -0
- package/dist/a2ui-protocol-CibzbTxL.js +75 -0
- package/dist/a2ui-protocol-Dtb8zlog.js +75 -0
- package/dist/a2ui-protocol-ORP2Etw0.js +75 -0
- package/dist/a2ui-protocol-whRZHdBk.js +75 -0
- package/dist/abort-controller-B55O1IgK.js +47995 -0
- package/dist/agents-routing-Ai2BQVpU.js +7 -0
- package/dist/agents-routing-B0RBl1B8.js +424 -0
- package/dist/agents-routing-BSUaOpce.js +7 -0
- package/dist/agents-routing-C4PVN8G6.js +7 -0
- package/dist/agents-routing-Dcr29-JV.js +424 -0
- package/dist/agents-routing-EwzORQQv.js +424 -0
- package/dist/agents-routing-Fd-uQ4R_.js +7 -0
- package/dist/agents-routing-eLjVYBAk.js +424 -0
- package/dist/api-key-validation-BANgbsfO.js +66 -0
- package/dist/api-key-validation-Bnz-0MMK.js +66 -0
- package/dist/api-key-validation-D_fMCaO5.js +66 -0
- package/dist/api-key-validation-Db7rG3JU.js +66 -0
- package/dist/api-keys-guide-B6AJ1V5D.js +149 -0
- package/dist/api-keys-guide-C75JQOdH.js +149 -0
- package/dist/api-keys-guide-CFJPrgsL.js +149 -0
- package/dist/api-keys-guide-DDz08BJQ.js +149 -0
- package/dist/audit-BLMB8qp7.js +445 -0
- package/dist/audit-Cb2TvqYZ.js +445 -0
- package/dist/audit-D7koAKvj.js +445 -0
- package/dist/audit-xP_175jB.js +445 -0
- package/dist/backup-7l3iovkX.js +86 -0
- package/dist/backup-BKLTHh62.js +86 -0
- package/dist/backup-CspxXk78.js +86 -0
- package/dist/backup-D8dFYDXV.js +86 -0
- package/dist/banner-CZ2BfvQq.js +143 -0
- package/dist/banner-CjTRWmks.js +7 -0
- package/dist/banner-Dpygks0H.js +143 -0
- package/dist/banner-ZX1WLr44.js +7 -0
- package/dist/bounty-tools-Cq-oC9gk.js +211 -0
- package/dist/bounty-tools-DZ-WtRdE.js +211 -0
- package/dist/bounty-tools-DhpmjF5Y.js +211 -0
- package/dist/bounty-tools-NGuBWI55.js +211 -0
- package/dist/browser-tools-5Fl1hP_2.js +5 -0
- package/dist/browser-tools-Ay-wU_a4.js +5 -0
- package/dist/browser-tools-BMgBB2fK.js +179 -0
- package/dist/browser-tools-kcViDwk5.js +179 -0
- package/dist/chat-BUa1oGqj.js +528 -0
- package/dist/chat-CiuT-GTs.js +528 -0
- package/dist/chat-DfI8uOzF.js +528 -0
- package/dist/chat-Dz5rmUSs.js +528 -0
- package/dist/chat-RTmX1F16.js +528 -0
- package/dist/claw-tasks-Cio1Q7eA.js +80 -0
- package/dist/claw-tasks-DzxNWVcz.js +80 -0
- package/dist/claw-tasks-L7vQSGlt.js +80 -0
- package/dist/claw-tasks-dndWneZW.js +80 -0
- package/dist/config-B-W-Mz4X.js +7 -0
- package/dist/config-BAwkTUJC.js +261 -0
- package/dist/config-CYPw2v4l.js +261 -0
- package/dist/config-DN9fdLL3.js +261 -0
- package/dist/config-FejpHHTz.js +261 -0
- package/dist/config-Tq_GJHf7.js +7 -0
- package/dist/config-n4qy5jIy.js +7 -0
- package/dist/config-qJUYRMzx.js +7 -0
- package/dist/connector-CwT7KZm2.js +309 -0
- package/dist/connector-DX4k-lGd.js +442 -0
- package/dist/cost-tracker-C2q5zKic.js +103 -0
- package/dist/cost-tracker-CsRQAOEr.js +103 -0
- package/dist/cost-tracker-DAXWN5YT.js +103 -0
- package/dist/cost-tracker-bySvehH6.js +103 -0
- package/dist/credentials-store-BAW87r6f.js +7 -0
- package/dist/credentials-store-BHtk7_H_.js +7 -0
- package/dist/credentials-store-CESgFvFU.js +89 -0
- package/dist/credentials-store-CR4WSDGl.js +7 -0
- package/dist/credentials-store-CXq4kZub.js +89 -0
- package/dist/credentials-store-DUp8dtaS.js +89 -0
- package/dist/credentials-store-hiSga8qn.js +89 -0
- package/dist/credentials-store-kLdrmqSt.js +7 -0
- package/dist/cron-tasks-BFsaCKxE.js +89 -0
- package/dist/cron-tasks-BelA2aUW.js +89 -0
- package/dist/cron-tasks-D1T9fWAb.js +89 -0
- package/dist/cron-tasks-f_ieXSG2.js +89 -0
- package/dist/daemon-BTYhQvD_.js +7 -0
- package/dist/daemon-BoaFnmdF.js +421 -0
- package/dist/daemon-BrHxr4ut.js +421 -0
- package/dist/daemon-BzdeLgON.js +421 -0
- package/dist/daemon-BzqWIC4v.js +7 -0
- package/dist/daemon-C3OczPR1.js +7 -0
- package/dist/daemon-D57KIIA3.js +421 -0
- package/dist/daemon-D8uyH9et.js +7 -0
- package/dist/daemon-DBTtYx6E.js +421 -0
- package/dist/daemon-srcdhzUG.js +7 -0
- package/dist/delivery-Bt0xW6L9.js +4 -0
- package/dist/delivery-C2sAERN7.js +4 -0
- package/dist/delivery-CF2Q4hb1.js +95 -0
- package/dist/delivery-CfMljOwk.js +95 -0
- package/dist/delivery-DP0d4_A4.js +95 -0
- package/dist/delivery-DXYt4aMO.js +4 -0
- package/dist/delivery-DXxP2UL4.js +4 -0
- package/dist/delivery-jT2UIDlU.js +95 -0
- package/dist/destructive-gate-5LYh6brt.js +116 -0
- package/dist/destructive-gate-B_hNKtu6.js +116 -0
- package/dist/destructive-gate-DvxPSDMR.js +116 -0
- package/dist/destructive-gate-Qd2y7x1B.js +116 -0
- package/dist/dist-B1qvBUax.js +30541 -0
- package/dist/engine-BBJlKpMP.js +7 -0
- package/dist/engine-BNygJfCo.js +335 -0
- package/dist/engine-DB4MBzki.js +7 -0
- package/dist/engine-DPi9fhMl.js +332 -0
- package/dist/engine-DeaqDcaT.js +7 -0
- package/dist/engine-DuvXJrUP.js +335 -0
- package/dist/engine-HkyTC_xl.js +332 -0
- package/dist/engine-JysunhPR.js +7 -0
- package/dist/engine-MzEUw7qb.js +7 -0
- package/dist/engine-j9Yaqt_-.js +332 -0
- package/dist/env-resolve--MaE2kFF.js +167 -0
- package/dist/env-resolve-BYWG94tK.js +11 -0
- package/dist/env-resolve-Bop7KbNq.js +167 -0
- package/dist/env-resolve-Buos635Y.js +167 -0
- package/dist/env-resolve-D3dP1-Xt.js +11 -0
- package/dist/env-resolve-DvsbhPKl.js +11 -0
- package/dist/env-resolve-NNM3F6Eo.js +167 -0
- package/dist/env-resolve-dTjn-g8X.js +11 -0
- package/dist/extraction-tools-Bh5F0ENP.js +91 -0
- package/dist/extraction-tools-BjzXD9LW.js +5 -0
- package/dist/extraction-tools-D1lrDYhe.js +5 -0
- package/dist/extraction-tools-FBwtT2Bx.js +91 -0
- package/dist/fileFromPath-CodL6KXh.js +85 -0
- package/dist/gmail-watch-setup--eQ8raeb.js +42 -0
- package/dist/gmail-watch-setup-9t14gy1B.js +42 -0
- package/dist/gmail-watch-setup-B9fx_OLg.js +42 -0
- package/dist/gmail-watch-setup-DP3kDRx1.js +42 -0
- package/dist/heartbeat-engine-5iOlL7Dj.js +89 -0
- package/dist/heartbeat-engine-Bu4q18GH.js +89 -0
- package/dist/heartbeat-engine-CF_JjNJ4.js +89 -0
- package/dist/heartbeat-engine-CLADYZxE.js +89 -0
- package/dist/hub-CZeGrS20.js +6 -0
- package/dist/hub-DAkEVTEy.js +545 -0
- package/dist/hyperclawbot-CNVUtvYC.js +516 -0
- package/dist/hyperclawbot-D5ofLNgm.js +516 -0
- package/dist/hyperclawbot-D61zVMyQ.js +516 -0
- package/dist/hyperclawbot-DwScttSx.js +516 -0
- package/dist/hyperclawbot-v65eL2U0.js +516 -0
- package/dist/inference-BEvs7s3c.js +2854 -0
- package/dist/inference-C4b9YqXk.js +8 -0
- package/dist/inference-CRF6HyyH.js +2854 -0
- package/dist/inference-CfhTACI8.js +2854 -0
- package/dist/inference-DGsy36Ru.js +8 -0
- package/dist/inference-Da7Hw4J3.js +8 -0
- package/dist/inference-DhJ-SHZn.js +8 -0
- package/dist/inference-K7Jrnzre.js +2854 -0
- package/dist/isFile-CSxoSB8X.js +2274 -0
- package/dist/knowledge-graph-BdsJ5KEL.js +134 -0
- package/dist/knowledge-graph-CFRBepzr.js +134 -0
- package/dist/knowledge-graph-CeDeahui.js +134 -0
- package/dist/knowledge-graph-DoYFZnUr.js +134 -0
- package/dist/loader-C2qtNbtF.js +6 -0
- package/dist/loader-D6yjBYo4.js +410 -0
- package/dist/loader-DBO6yRNh.js +6 -0
- package/dist/loader-DUhmG3V9.js +410 -0
- package/dist/loader-Dl8LNycw.js +6 -0
- package/dist/loader-UpOYxgZv.js +6 -0
- package/dist/loader-hXv2mZjK.js +410 -0
- package/dist/loader-nDBcv3Tm.js +410 -0
- package/dist/logger-BD316YbA.js +86 -0
- package/dist/logger-BnXZkfsp.js +86 -0
- package/dist/logger-CmphFNmW.js +86 -0
- package/dist/logger-DkHzhh56.js +86 -0
- package/dist/manager-3-q8zuAW.js +250 -0
- package/dist/manager-BkMzc-EJ.js +250 -0
- package/dist/manager-Bq5LApdR.js +6 -0
- package/dist/manager-CNgdJunf.js +250 -0
- package/dist/manager-CozyZSDG.js +250 -0
- package/dist/manager-D4mDWXph.js +120 -0
- package/dist/manager-DuS-WQhZ.js +120 -0
- package/dist/manager-Dz2eKYqo.js +116 -0
- package/dist/manager-R0TlRMZy.js +120 -0
- package/dist/manager-aJfY7rt6.js +120 -0
- package/dist/mcp-BH7HtOQ8.js +142 -0
- package/dist/mcp-CAJSA_ee.js +142 -0
- package/dist/mcp-CD-iIQa2.js +142 -0
- package/dist/mcp-DGo37Ifb.js +142 -0
- package/dist/mcp-loader-Ct1NQKnX.js +93 -0
- package/dist/mcp-loader-D1T6UX73.js +93 -0
- package/dist/mcp-loader-DJk6MEof.js +93 -0
- package/dist/mcp-loader-DdXvU63s.js +93 -0
- package/dist/mcp-loader-gMliiJ7R.js +93 -0
- package/dist/memory-CyonlkTy.js +6 -0
- package/dist/memory-DPSWQBc0.js +276 -0
- package/dist/memory-auto-B0QOqaUD.js +306 -0
- package/dist/memory-auto-BSxYJugl.js +5 -0
- package/dist/memory-auto-CcFRxMj-.js +306 -0
- package/dist/memory-auto-CifT5aj_.js +5 -0
- package/dist/memory-auto-Cp2Jwx3Y.js +306 -0
- package/dist/memory-auto-DjK_D8CA.js +306 -0
- package/dist/memory-auto-N57dp4Do.js +5 -0
- package/dist/memory-auto-n0kOcU7F.js +5 -0
- package/dist/memory-integration-D8shLJwp.js +91 -0
- package/dist/memory-integration-DLmzJ62L.js +91 -0
- package/dist/memory-integration-DMXDbMIL.js +91 -0
- package/dist/memory-integration-Dgr-mjue.js +91 -0
- package/dist/moltbook-CIeOshK6.js +81 -0
- package/dist/moltbook-CX5XWn06.js +81 -0
- package/dist/moltbook-DUfiE4NY.js +81 -0
- package/dist/moltbook-YEiNI8Cm.js +81 -0
- package/dist/multi-agent-tools-jzfvT4zP.js +87 -0
- package/dist/multimodal-zZdwqISl.js +77 -0
- package/dist/node-BYrxELx2.js +251 -0
- package/dist/node-CLWgPlAk.js +251 -0
- package/dist/node-Czz8Y85D.js +251 -0
- package/dist/node-Du2H2Ddi.js +226 -0
- package/dist/node-domexception-v89b0Nwz.js +21 -0
- package/dist/node-pending-queue-DUXCbYkp.js +32 -0
- package/dist/node-pending-queue-DZp7cdfo.js +32 -0
- package/dist/node-pending-queue-iYpoWqxe.js +32 -0
- package/dist/nodes-registry-BTy7Sc7D.js +52 -0
- package/dist/nodes-registry-BYjmmJBU.js +52 -0
- package/dist/nodes-registry-C8GeEGq0.js +52 -0
- package/dist/nodes-registry-Du6Klz0l.js +52 -0
- package/dist/oauth-flow-BA0yMrHx.js +148 -0
- package/dist/oauth-flow-C4QSMsbl.js +148 -0
- package/dist/oauth-flow-CIuDBDsp.js +148 -0
- package/dist/oauth-flow-CniM4jlJ.js +148 -0
- package/dist/oauth-provider-BA4GVFKg.js +111 -0
- package/dist/oauth-provider-Bnul5A_Z.js +111 -0
- package/dist/oauth-provider-DqPXPiiC.js +111 -0
- package/dist/oauth-provider-MEgHjij2.js +111 -0
- package/dist/observability-0spm7MPz.js +89 -0
- package/dist/observability-BOMYgHUh.js +89 -0
- package/dist/observability-CDqHr-_o.js +89 -0
- package/dist/observability-ah2a7sh1.js +89 -0
- package/dist/onboard-BJ78s3NT.js +3854 -0
- package/dist/onboard-C55YXd_e.js +14 -0
- package/dist/onboard-CNnm4yYp.js +3841 -0
- package/dist/onboard-CXSVPnP7.js +3854 -0
- package/dist/onboard-CwvXXOR1.js +14 -0
- package/dist/onboard-CxlIsNhX.js +3854 -0
- package/dist/onboard-DPmufMqX.js +14 -0
- package/dist/onboard-F9lKA2ie.js +14 -0
- package/dist/onboard-UTQXzlPD.js +3854 -0
- package/dist/onboard-hK098kjl.js +14 -0
- package/dist/openai-CrdtuLxw.js +6292 -0
- package/dist/orchestrator-5M-6MB7r.js +6 -0
- package/dist/orchestrator-B3BjP1dy.js +6 -0
- package/dist/orchestrator-BZS62iDS.js +6 -0
- package/dist/orchestrator-CTMbjgH_.js +6 -0
- package/dist/orchestrator-Crn4fgbI.js +189 -0
- package/dist/orchestrator-Cs6s-QmS.js +189 -0
- package/dist/orchestrator-DGqwsLmO.js +189 -0
- package/dist/orchestrator-UUHsFKiH.js +6 -0
- package/dist/orchestrator-oa7HbCnF.js +189 -0
- package/dist/orchestrator-tUKag7pG.js +189 -0
- package/dist/osint-BJvOCmVk.js +283 -0
- package/dist/osint-CK9xVUUm.js +283 -0
- package/dist/osint-D6vQXCWh.js +283 -0
- package/dist/osint-DLYZsp1k.js +283 -0
- package/dist/osint-cAAdO-cx.js +283 -0
- package/dist/osint-chat-B0lc0Y6r.js +789 -0
- package/dist/osint-chat-BUhiSpf9.js +789 -0
- package/dist/osint-chat-C-9FVAkU.js +789 -0
- package/dist/osint-chat-CWET8Fno.js +789 -0
- package/dist/osint-chat-Cgdzg3lh.js +789 -0
- package/dist/pc-access-BCaF5mRs.js +858 -0
- package/dist/pc-access-BOcXappE.js +858 -0
- package/dist/pc-access-BgZNmAdB.js +8 -0
- package/dist/pc-access-CAoM6WN4.js +8 -0
- package/dist/pc-access-D2HdoziZ.js +8 -0
- package/dist/pc-access-D4g0fjQb.js +858 -0
- package/dist/pending-approval-CJPyt8U5.js +22 -0
- package/dist/pending-approval-CzMNCTfZ.js +22 -0
- package/dist/pending-approval-DaXi7otO.js +22 -0
- package/dist/pending-approval-KcyeiifE.js +22 -0
- package/dist/providers-DrZP0NeR.js +5 -0
- package/dist/providers-dHhpJo9j.js +1120 -0
- package/dist/reminders-store-B58LldEG.js +58 -0
- package/dist/reminders-store-C4gWckLa.js +58 -0
- package/dist/reminders-store-DT0o6a60.js +58 -0
- package/dist/renderer-B8c22rbg.js +228 -0
- package/dist/renderer-BS0ETL20.js +228 -0
- package/dist/renderer-Cg3c41A5.js +228 -0
- package/dist/renderer-UoPcgaAd.js +228 -0
- package/dist/rules-D0v5nuSE.js +106 -0
- package/dist/rules-DCKPgwLb.js +106 -0
- package/dist/rules-Zn9j4PnO.js +106 -0
- package/dist/rules-oAgOSPHC.js +106 -0
- package/dist/run-main.js +457 -131
- package/dist/runner-BaZ2V27T.js +1307 -0
- package/dist/runner-Bgl7UTbV.js +1307 -0
- package/dist/runner-DOKp3-v5.js +1307 -0
- package/dist/runner-voYdfM_f.js +1307 -0
- package/dist/search-tools-BBwMa8VX.js +107 -0
- package/dist/search-tools-CEUOO9Jf.js +107 -0
- package/dist/search-tools-VHP3xVyC.js +107 -0
- package/dist/search-tools-w_zT7-dr.js +107 -0
- package/dist/server-BAdJwMM9.js +4 -0
- package/dist/server-BD9FLc7S.js +1384 -0
- package/dist/server-BlqWBbS7.js +4 -0
- package/dist/server-BzwPvTbD.js +1447 -0
- package/dist/server-CBvSfG4w.js +4 -0
- package/dist/server-CbNBcB41.js +4 -0
- package/dist/server-DPTXaJJF.js +4 -0
- package/dist/server-Dv2zHHy-.js +1447 -0
- package/dist/server-MDmdWHob.js +1447 -0
- package/dist/server-N9LnLQCS.js +1447 -0
- package/dist/session-store-C6Otslf9.js +5 -0
- package/dist/session-store-Cmfnvuw9.js +141 -0
- package/dist/session-store-CuR9DgRf.js +5 -0
- package/dist/session-store-Cx1RMBhS.js +5 -0
- package/dist/session-store-DPPHkJBn.js +5 -0
- package/dist/session-store-DWLCWQFS.js +141 -0
- package/dist/session-store-qGufR_m5.js +141 -0
- package/dist/session-store-sUpA509O.js +141 -0
- package/dist/sessions-tools-9Z8TtdmP.js +5 -0
- package/dist/sessions-tools-BAZnoQLp.js +95 -0
- package/dist/sessions-tools-Bb_zF947.js +95 -0
- package/dist/sessions-tools-ClrKqLII.js +131 -0
- package/dist/sessions-tools-DFe23ZDD.js +5 -0
- package/dist/sessions-tools-JHSZ6Bns.js +5 -0
- package/dist/sessions-tools-TsRdeFb7.js +95 -0
- package/dist/sessions-tools-nYP3Agfs.js +5 -0
- package/dist/skill-loader-9jg876RH.js +160 -0
- package/dist/skill-loader-CM4KWQ7_.js +160 -0
- package/dist/skill-loader-CS3OP4Lr.js +160 -0
- package/dist/skill-loader-CnJDLNbY.js +7 -0
- package/dist/skill-loader-DRLgt5V2.js +160 -0
- package/dist/skill-loader-DVpEgYV2.js +7 -0
- package/dist/skill-loader-Df5T_UFl.js +7 -0
- package/dist/skill-loader-DxE-gZkT.js +7 -0
- package/dist/skill-runtime-8Xh5874w.js +104 -0
- package/dist/skill-runtime-B3aUdWKh.js +104 -0
- package/dist/skill-runtime-BKyhYvpW.js +5 -0
- package/dist/skill-runtime-BP0kZfmM.js +5 -0
- package/dist/skill-runtime-CLK5HTVE.js +5 -0
- package/dist/skill-runtime-COyc3Bci.js +104 -0
- package/dist/skill-runtime-CvDXX7wN.js +5 -0
- package/dist/skill-runtime-D4REZnhY.js +104 -0
- package/dist/skill-runtime-DQRi9sIf.js +5 -0
- package/dist/skill-runtime-DRd56NWK.js +104 -0
- package/dist/src-9GyYED0T.js +63 -0
- package/dist/src-B9L6qb-Z.js +462 -0
- package/dist/src-BEjIVOmq.js +63 -0
- package/dist/src-BY3On_zO.js +462 -0
- package/dist/src-BdgKAlMQ.js +20 -0
- package/dist/src-C52A3OwC.js +301 -0
- package/dist/src-C8cbfjat.js +173 -0
- package/dist/src-CQ2lZvdF.js +462 -0
- package/dist/src-Cdwn9xpG.js +462 -0
- package/dist/src-CyCLoqIP.js +63 -0
- package/dist/src-D-OND_62.js +301 -0
- package/dist/src-DFo8lVfV.js +300 -0
- package/dist/src-DJbpP4Gs.js +462 -0
- package/dist/src-DPfnArdr.js +300 -0
- package/dist/src-DTft7Qvt.js +63 -0
- package/dist/src-DgvFah8g.js +153 -0
- package/dist/src-TYvV_oFO.js +63 -0
- package/dist/src-lltU5gkh.js +20 -0
- package/dist/sub-agent-tools-CE8pVUdb.js +39 -0
- package/dist/sub-agent-tools-CQWNfYn_.js +39 -0
- package/dist/sub-agent-tools-CViiqebO.js +39 -0
- package/dist/sub-agent-tools-DgT4jUHC.js +39 -0
- package/dist/sub-agent-tools-Lbin_4S3.js +39 -0
- package/dist/tool-policy-1EBdJkSG.js +190 -0
- package/dist/tool-policy-B1bL0X-E.js +189 -0
- package/dist/tool-policy-NLbucl5-.js +189 -0
- package/dist/tool-policy-yNVTLNDY.js +189 -0
- package/dist/tts-elevenlabs-Bk24wQ2V.js +64 -0
- package/dist/tts-elevenlabs-CHrJZuNW.js +64 -0
- package/dist/tts-elevenlabs-DHqQsqMz.js +64 -0
- package/dist/tts-elevenlabs-TUKPkSV2.js +64 -0
- package/dist/vision-CW1YCKed.js +167 -0
- package/dist/vision-DPLmrwUA.js +167 -0
- package/dist/vision-Q4EOcBS6.js +167 -0
- package/dist/vision-XyAGO5La.js +167 -0
- package/dist/vision-tools-B5DNR28M.js +5 -0
- package/dist/vision-tools-CC9HSuvN.js +51 -0
- package/dist/vision-tools-Ca3OhtdX.js +51 -0
- package/dist/vision-tools-CpU2fSRv.js +51 -0
- package/dist/vision-tools-Ct52djW8.js +51 -0
- package/dist/vision-tools-DF7N2DDI.js +5 -0
- package/dist/vision-tools-DyP6lRA5.js +5 -0
- package/dist/vision-tools-RIVKEUeY.js +5 -0
- package/dist/voice-transcription-Bz2y0nPK.js +170 -0
- package/dist/voice-transcription-CVFcHpPF.js +170 -0
- package/dist/voice-transcription-CvQuWPYK.js +170 -0
- package/dist/voice-transcription-YqndiLA7.js +170 -0
- package/dist/website-watch-tools-B036Y8OQ.js +176 -0
- package/dist/website-watch-tools-B8CHie8v.js +5 -0
- package/dist/website-watch-tools-Brk5oIEv.js +176 -0
- package/dist/website-watch-tools-CJqRj_GB.js +5 -0
- package/dist/website-watch-tools-CSSEu3Qy.js +5 -0
- package/dist/website-watch-tools-D92dkYZa.js +176 -0
- package/dist/website-watch-tools-Du_a8lXq.js +176 -0
- package/dist/website-watch-tools-UdTBGgRk.js +5 -0
- package/package.json +5 -3
- package/static/web/assets/{index-Bf8pf7Wg.js โ index-8bDizzaq.js} +2 -2
- package/static/web/index.html +1 -1
|
@@ -0,0 +1,283 @@
|
|
|
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 inquirer = require_chunk.__toESM(require("inquirer"));
|
|
6
|
+
const ora = require_chunk.__toESM(require("ora"));
|
|
7
|
+
const fs_extra = require_chunk.__toESM(require("fs-extra"));
|
|
8
|
+
const path = require_chunk.__toESM(require("path"));
|
|
9
|
+
|
|
10
|
+
//#region src/commands/osint.ts
|
|
11
|
+
require_paths$1.init_paths();
|
|
12
|
+
const getConfigFile = () => require_paths.getConfigPath();
|
|
13
|
+
const getOsintProfileFile = () => path.default.join(require_paths.getHyperClawDir(), "osint-profile.json");
|
|
14
|
+
const MODE_DESCRIPTIONS = {
|
|
15
|
+
recon: "Passive reconnaissance โ WHOIS, DNS, subdomains, public info gathering",
|
|
16
|
+
bugbounty: "Bug bounty workflow โ target scope, vulnerability research, report drafting",
|
|
17
|
+
pentest: "Penetration testing โ active recon, service enumeration, exploit research",
|
|
18
|
+
footprint: "Digital footprint โ social media, email leaks, username tracking",
|
|
19
|
+
custom: "Custom โ configure your own tools and system prompt"
|
|
20
|
+
};
|
|
21
|
+
const MODE_SYSTEM_PROMPTS = {
|
|
22
|
+
recon: `You are a professional OSINT analyst specializing in passive reconnaissance.
|
|
23
|
+
Your goal is to gather publicly available information about the target without triggering detection.
|
|
24
|
+
Use DNS lookups, WHOIS data, web scraping, and public databases.
|
|
25
|
+
Always cite sources and stay within legal boundaries.
|
|
26
|
+
Never attempt active exploitation โ only passive information gathering.`,
|
|
27
|
+
bugbounty: `You are an experienced bug bounty hunter working within an authorized scope.
|
|
28
|
+
Your goal is to identify security vulnerabilities in web applications and infrastructure.
|
|
29
|
+
Follow responsible disclosure principles. Report findings clearly with reproduction steps.
|
|
30
|
+
Focus on: XSS, SQLi, SSRF, authentication issues, business logic flaws, IDOR.
|
|
31
|
+
Use tools methodically. Document everything for your report.`,
|
|
32
|
+
pentest: `You are a professional penetration tester with explicit written authorization.
|
|
33
|
+
Conduct a thorough security assessment following the PTES methodology.
|
|
34
|
+
Phases: Intelligence Gathering โ Scanning โ Exploitation โ Post-Exploitation โ Reporting.
|
|
35
|
+
Document all findings with CVSS scores. Stay within defined scope at all times.
|
|
36
|
+
Never exfiltrate real data โ only demonstrate access.`,
|
|
37
|
+
footprint: `You are a digital forensics investigator mapping a target's online presence.
|
|
38
|
+
Your goal is to build a comprehensive profile using only public sources.
|
|
39
|
+
Search social media, data breach databases (HaveIBeenPwned, Dehashed), LinkedIn, GitHub.
|
|
40
|
+
Create a timeline of online activity. Identify connected accounts, email patterns, usernames.
|
|
41
|
+
This is for defensive intelligence gathering and authorized investigations only.`,
|
|
42
|
+
custom: `You are a security researcher with access to OSINT and analysis tools.
|
|
43
|
+
Use available tools to assist with the research task.`
|
|
44
|
+
};
|
|
45
|
+
const MODE_MCP_SERVERS = {
|
|
46
|
+
recon: ["mcp-browser", "mcp-filesystem"],
|
|
47
|
+
bugbounty: [
|
|
48
|
+
"mcp-browser",
|
|
49
|
+
"mcp-filesystem",
|
|
50
|
+
"mcp-github"
|
|
51
|
+
],
|
|
52
|
+
pentest: [
|
|
53
|
+
"mcp-browser",
|
|
54
|
+
"mcp-filesystem",
|
|
55
|
+
"mcp-terminal",
|
|
56
|
+
"mcp-github"
|
|
57
|
+
],
|
|
58
|
+
footprint: ["mcp-browser", "mcp-filesystem"],
|
|
59
|
+
custom: ["mcp-browser", "mcp-filesystem"]
|
|
60
|
+
};
|
|
61
|
+
function printBanner() {
|
|
62
|
+
console.log();
|
|
63
|
+
console.log(chalk.default.red.bold(" โโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโ"));
|
|
64
|
+
console.log(chalk.default.red.bold(" โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ"));
|
|
65
|
+
console.log(chalk.default.yellow.bold(" โโโ โโโโโโโโโโโโโโโโโโโโ โโโ โโโ "));
|
|
66
|
+
console.log(chalk.default.yellow.bold(" โโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโโ "));
|
|
67
|
+
console.log(chalk.default.red.bold(" โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโ "));
|
|
68
|
+
console.log(chalk.default.red.bold(" โโโโโโโ โโโโโโโโโโโโโโ โโโโโ โโโ "));
|
|
69
|
+
console.log();
|
|
70
|
+
console.log(chalk.default.gray(" HyperClaw OSINT / Ethical Hacking Mode"));
|
|
71
|
+
console.log(chalk.default.gray(" โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"));
|
|
72
|
+
console.log(chalk.default.yellow(" โ ๏ธ For authorized security research only."));
|
|
73
|
+
console.log(chalk.default.yellow(" โ ๏ธ Always have explicit written permission."));
|
|
74
|
+
console.log();
|
|
75
|
+
}
|
|
76
|
+
async function osintSetup(options) {
|
|
77
|
+
printBanner();
|
|
78
|
+
if (options.show) {
|
|
79
|
+
try {
|
|
80
|
+
const profile$1 = await fs_extra.default.readJson(getOsintProfileFile());
|
|
81
|
+
console.log(chalk.default.cyan.bold(" ๐ Current OSINT Profile:\n"));
|
|
82
|
+
console.log(` โ๏ธ Mode: ${chalk.default.yellow(profile$1.mode)}`);
|
|
83
|
+
console.log(` ๐ฏ Target: ${chalk.default.white(profile$1.target || "(not set)")}`);
|
|
84
|
+
console.log(` ๐ท๏ธ Type: ${profile$1.targetType || "N/A"}`);
|
|
85
|
+
console.log(` ๐ MCP: ${profile$1.mcpServers.join(", ")}`);
|
|
86
|
+
console.log(` ๐ Created: ${profile$1.createdAt}`);
|
|
87
|
+
if (profile$1.notes) console.log(` ๐ Notes: ${profile$1.notes}`);
|
|
88
|
+
console.log();
|
|
89
|
+
} catch {
|
|
90
|
+
console.log(chalk.default.gray(" โน๏ธ No OSINT profile saved yet. Run: hyperclaw osint setup\n"));
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (options.reset) {
|
|
95
|
+
await fs_extra.default.remove(getOsintProfileFile());
|
|
96
|
+
const osintActivePath = path.default.join(require_paths.getHyperClawDir(), "OSINT-ACTIVE.md");
|
|
97
|
+
await fs_extra.default.remove(osintActivePath).catch(() => {});
|
|
98
|
+
console.log(chalk.default.green(" ๐งน OSINT profile cleared.\n"));
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
console.log(chalk.default.bold(" ๐ Select OSINT workflow:\n"));
|
|
102
|
+
for (const [mode$1, desc] of Object.entries(MODE_DESCRIPTIONS)) console.log(` ${chalk.default.cyan(mode$1.padEnd(12))} ${chalk.default.gray(desc)}`);
|
|
103
|
+
console.log();
|
|
104
|
+
const { mode } = await inquirer.default.prompt([{
|
|
105
|
+
type: "list",
|
|
106
|
+
name: "mode",
|
|
107
|
+
message: "Workflow:",
|
|
108
|
+
choices: Object.keys(MODE_DESCRIPTIONS).map((m) => ({
|
|
109
|
+
name: `${m.padEnd(12)} โ ${MODE_DESCRIPTIONS[m]}`,
|
|
110
|
+
value: m
|
|
111
|
+
})),
|
|
112
|
+
default: options.mode || "recon"
|
|
113
|
+
}]);
|
|
114
|
+
const { hasTarget } = await inquirer.default.prompt([{
|
|
115
|
+
type: "confirm",
|
|
116
|
+
name: "hasTarget",
|
|
117
|
+
message: "Set a target for this session?",
|
|
118
|
+
default: true
|
|
119
|
+
}]);
|
|
120
|
+
let target;
|
|
121
|
+
let targetType;
|
|
122
|
+
if (hasTarget) {
|
|
123
|
+
const resp = await inquirer.default.prompt([{
|
|
124
|
+
type: "list",
|
|
125
|
+
name: "targetType",
|
|
126
|
+
message: "Target type:",
|
|
127
|
+
choices: [
|
|
128
|
+
"domain",
|
|
129
|
+
"ip",
|
|
130
|
+
"username",
|
|
131
|
+
"email",
|
|
132
|
+
"org",
|
|
133
|
+
"custom"
|
|
134
|
+
]
|
|
135
|
+
}, {
|
|
136
|
+
type: "input",
|
|
137
|
+
name: "target",
|
|
138
|
+
message: "Target value (e.g. example.com):",
|
|
139
|
+
validate: (v) => v.trim().length > 0 || "Required"
|
|
140
|
+
}]);
|
|
141
|
+
target = resp.target.trim();
|
|
142
|
+
targetType = resp.targetType;
|
|
143
|
+
}
|
|
144
|
+
const { notes } = await inquirer.default.prompt([{
|
|
145
|
+
type: "input",
|
|
146
|
+
name: "notes",
|
|
147
|
+
message: "Session notes (optional, e.g. \"HackerOne program XYZ\"):"
|
|
148
|
+
}]);
|
|
149
|
+
console.log();
|
|
150
|
+
const { confirmed } = await inquirer.default.prompt([{
|
|
151
|
+
type: "confirm",
|
|
152
|
+
name: "confirmed",
|
|
153
|
+
message: chalk.default.yellow("I confirm I have explicit written authorization to test this target."),
|
|
154
|
+
default: false
|
|
155
|
+
}]);
|
|
156
|
+
if (!confirmed) {
|
|
157
|
+
console.log(chalk.default.red("\n ๐ซ Aborted. OSINT mode requires authorization confirmation.\n"));
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const spinner = (0, ora.default)("โ๏ธ Applying OSINT configuration...").start();
|
|
161
|
+
const mcpServers = MODE_MCP_SERVERS[mode];
|
|
162
|
+
const systemPrompt = MODE_SYSTEM_PROMPTS[mode];
|
|
163
|
+
const profile = {
|
|
164
|
+
mode,
|
|
165
|
+
target,
|
|
166
|
+
targetType,
|
|
167
|
+
notes: notes || void 0,
|
|
168
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
169
|
+
mcpServers,
|
|
170
|
+
systemPromptOverride: systemPrompt
|
|
171
|
+
};
|
|
172
|
+
await fs_extra.default.ensureDir(require_paths.getHyperClawDir());
|
|
173
|
+
await fs_extra.default.writeJson(getOsintProfileFile(), profile, { spaces: 2 });
|
|
174
|
+
let config = {};
|
|
175
|
+
try {
|
|
176
|
+
config = await fs_extra.default.readJson(getConfigFile());
|
|
177
|
+
} catch {}
|
|
178
|
+
if (!config.agent) config.agent = {};
|
|
179
|
+
const agent = config.agent;
|
|
180
|
+
agent.systemPromptOverride = systemPrompt;
|
|
181
|
+
agent.osintMode = mode;
|
|
182
|
+
if (target) agent.osintTarget = `${targetType}: ${target}`;
|
|
183
|
+
const mcpFile = path.default.join(require_paths.getHyperClawDir(), "mcp-servers.json");
|
|
184
|
+
let mcpServersJson = [];
|
|
185
|
+
try {
|
|
186
|
+
mcpServersJson = await fs_extra.default.readJson(mcpFile);
|
|
187
|
+
} catch {}
|
|
188
|
+
const extensionsDir = path.default.join(path.default.dirname(getConfigFile()), "..", "..");
|
|
189
|
+
const serverDefs = {
|
|
190
|
+
"mcp-filesystem": {
|
|
191
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-filesystem/server.mjs")}`,
|
|
192
|
+
label: "Filesystem (OSINT)"
|
|
193
|
+
},
|
|
194
|
+
"mcp-browser": {
|
|
195
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-browser/server.mjs")}`,
|
|
196
|
+
label: "Browser/Web (OSINT)"
|
|
197
|
+
},
|
|
198
|
+
"mcp-terminal": {
|
|
199
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-terminal/server.mjs")}`,
|
|
200
|
+
label: "Terminal (OSINT)"
|
|
201
|
+
},
|
|
202
|
+
"mcp-github": {
|
|
203
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-github/server.mjs")}`,
|
|
204
|
+
label: "GitHub (OSINT)"
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
for (const serverId of mcpServers) {
|
|
208
|
+
const already = mcpServersJson.find((s) => s.id === serverId);
|
|
209
|
+
if (!already && serverDefs[serverId]) mcpServersJson.push({
|
|
210
|
+
id: serverId,
|
|
211
|
+
name: serverDefs[serverId].label,
|
|
212
|
+
transport: "stdio",
|
|
213
|
+
command: serverDefs[serverId].command,
|
|
214
|
+
enabled: true,
|
|
215
|
+
addedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
216
|
+
});
|
|
217
|
+
else if (already) already.enabled = true;
|
|
218
|
+
}
|
|
219
|
+
await fs_extra.default.ensureDir(path.default.dirname(mcpFile));
|
|
220
|
+
await fs_extra.default.writeJson(mcpFile, mcpServersJson, { spaces: 2 });
|
|
221
|
+
await fs_extra.default.writeJson(getConfigFile(), config, { spaces: 2 });
|
|
222
|
+
spinner.succeed("โ
OSINT configuration applied");
|
|
223
|
+
console.log();
|
|
224
|
+
console.log(chalk.default.bold.red(" ๐ฉธ OSINT mode ready:"));
|
|
225
|
+
console.log(` โ๏ธ Workflow: ${chalk.default.yellow(mode)}`);
|
|
226
|
+
if (target) console.log(` ๐ฏ Target: ${chalk.default.white(target)} ${chalk.default.gray(`(${targetType})`)}`);
|
|
227
|
+
console.log(` ๐ MCP: ${chalk.default.cyan(mcpServers.join(", "))}`);
|
|
228
|
+
console.log();
|
|
229
|
+
const { launchNow } = await inquirer.default.prompt([{
|
|
230
|
+
type: "confirm",
|
|
231
|
+
name: "launchNow",
|
|
232
|
+
message: chalk.default.red("๐ Launch OSINT chat session now?"),
|
|
233
|
+
default: true
|
|
234
|
+
}]);
|
|
235
|
+
if (!launchNow) {
|
|
236
|
+
console.log(chalk.default.gray("\n ๐ Run: hyperclaw osint chat โ to start your session later."));
|
|
237
|
+
console.log(chalk.default.gray(" ๐๏ธ To view profile: hyperclaw osint --show"));
|
|
238
|
+
console.log(chalk.default.gray(" ๐งน To reset: hyperclaw osint --reset\n"));
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-BUhiSpf9.js"));
|
|
242
|
+
await runOsintChat({});
|
|
243
|
+
}
|
|
244
|
+
async function osintQuickStart(mode) {
|
|
245
|
+
printBanner();
|
|
246
|
+
console.log(chalk.default.bold(" ๐ Available OSINT workflows:\n"));
|
|
247
|
+
const workflowEmojis = {
|
|
248
|
+
recon: "๐",
|
|
249
|
+
bugbounty: "๐",
|
|
250
|
+
pentest: "๐ญ",
|
|
251
|
+
footprint: "๐ค",
|
|
252
|
+
custom: "๐ง"
|
|
253
|
+
};
|
|
254
|
+
for (const [m, desc] of Object.entries(MODE_DESCRIPTIONS)) {
|
|
255
|
+
const isActive = m === mode;
|
|
256
|
+
const bullet = isActive ? chalk.default.green("โถ") : chalk.default.gray("โ");
|
|
257
|
+
const emoji = workflowEmojis[m] ?? "โข";
|
|
258
|
+
console.log(` ${bullet} ${emoji} ${chalk.default.cyan(m.padEnd(12))} ${chalk.default.white(desc)}`);
|
|
259
|
+
}
|
|
260
|
+
console.log();
|
|
261
|
+
console.log(chalk.default.bold(" ๐ Commands:\n"));
|
|
262
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint setup")} โ โ๏ธ interactive OSINT session setup`);
|
|
263
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint chat")} โ ๐ฌ start OSINT chat session`);
|
|
264
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint --show")} โ ๐๏ธ show current profile`);
|
|
265
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint --reset")} โ ๐งน clear OSINT profile`);
|
|
266
|
+
console.log();
|
|
267
|
+
console.log(chalk.default.bold.red(" ๐ฉธ Daemon mode (full shell/tool access):\n"));
|
|
268
|
+
console.log(` ${chalk.default.gray("1.")} ${chalk.default.cyan("hyperclaw daemon start")} โ ๐ฉธ start the daemon (keep running)`);
|
|
269
|
+
console.log(` ${chalk.default.gray("2.")} ${chalk.default.cyan("hyperclaw osint chat")} โ ๐ auto-connects to daemon`);
|
|
270
|
+
console.log(` ${chalk.default.gray(" ")} ${chalk.default.gray("๐ง Gives: nmap, curl, dig, whois, msfconsole, dirb, nikto, sqlmap...")}`);
|
|
271
|
+
console.log();
|
|
272
|
+
console.log(chalk.default.bold(" ๐ MCP servers for OSINT:\n"));
|
|
273
|
+
console.log(` ${chalk.default.cyan("mcp-browser")} โ ๐ web_fetch, web_search, dns_lookup, whois_lookup, extract_links`);
|
|
274
|
+
console.log(` ${chalk.default.cyan("mcp-filesystem")} โ ๐ read_file, write_file, search_files (for saving reports)`);
|
|
275
|
+
console.log(` ${chalk.default.cyan("mcp-github")} โ ๐ list_repos, search_code, get_file`);
|
|
276
|
+
console.log(` ${chalk.default.cyan("mcp-terminal")} โ ๐ป run_command (pentest mode only, requires authorization)`);
|
|
277
|
+
console.log();
|
|
278
|
+
console.log(chalk.default.yellow(" โ ๏ธ Always operate within authorized scope and applicable laws.\n"));
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
//#endregion
|
|
282
|
+
exports.osintQuickStart = osintQuickStart;
|
|
283
|
+
exports.osintSetup = osintSetup;
|
|
@@ -0,0 +1,283 @@
|
|
|
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 inquirer = require_chunk.__toESM(require("inquirer"));
|
|
6
|
+
const ora = require_chunk.__toESM(require("ora"));
|
|
7
|
+
const fs_extra = require_chunk.__toESM(require("fs-extra"));
|
|
8
|
+
const path = require_chunk.__toESM(require("path"));
|
|
9
|
+
|
|
10
|
+
//#region src/commands/osint.ts
|
|
11
|
+
require_paths$1.init_paths();
|
|
12
|
+
const getConfigFile = () => require_paths.getConfigPath();
|
|
13
|
+
const getOsintProfileFile = () => path.default.join(require_paths.getHyperClawDir(), "osint-profile.json");
|
|
14
|
+
const MODE_DESCRIPTIONS = {
|
|
15
|
+
recon: "Passive reconnaissance โ WHOIS, DNS, subdomains, public info gathering",
|
|
16
|
+
bugbounty: "Bug bounty workflow โ target scope, vulnerability research, report drafting",
|
|
17
|
+
pentest: "Penetration testing โ active recon, service enumeration, exploit research",
|
|
18
|
+
footprint: "Digital footprint โ social media, email leaks, username tracking",
|
|
19
|
+
custom: "Custom โ configure your own tools and system prompt"
|
|
20
|
+
};
|
|
21
|
+
const MODE_SYSTEM_PROMPTS = {
|
|
22
|
+
recon: `You are a professional OSINT analyst specializing in passive reconnaissance.
|
|
23
|
+
Your goal is to gather publicly available information about the target without triggering detection.
|
|
24
|
+
Use DNS lookups, WHOIS data, web scraping, and public databases.
|
|
25
|
+
Always cite sources and stay within legal boundaries.
|
|
26
|
+
Never attempt active exploitation โ only passive information gathering.`,
|
|
27
|
+
bugbounty: `You are an experienced bug bounty hunter working within an authorized scope.
|
|
28
|
+
Your goal is to identify security vulnerabilities in web applications and infrastructure.
|
|
29
|
+
Follow responsible disclosure principles. Report findings clearly with reproduction steps.
|
|
30
|
+
Focus on: XSS, SQLi, SSRF, authentication issues, business logic flaws, IDOR.
|
|
31
|
+
Use tools methodically. Document everything for your report.`,
|
|
32
|
+
pentest: `You are a professional penetration tester with explicit written authorization.
|
|
33
|
+
Conduct a thorough security assessment following the PTES methodology.
|
|
34
|
+
Phases: Intelligence Gathering โ Scanning โ Exploitation โ Post-Exploitation โ Reporting.
|
|
35
|
+
Document all findings with CVSS scores. Stay within defined scope at all times.
|
|
36
|
+
Never exfiltrate real data โ only demonstrate access.`,
|
|
37
|
+
footprint: `You are a digital forensics investigator mapping a target's online presence.
|
|
38
|
+
Your goal is to build a comprehensive profile using only public sources.
|
|
39
|
+
Search social media, data breach databases (HaveIBeenPwned, Dehashed), LinkedIn, GitHub.
|
|
40
|
+
Create a timeline of online activity. Identify connected accounts, email patterns, usernames.
|
|
41
|
+
This is for defensive intelligence gathering and authorized investigations only.`,
|
|
42
|
+
custom: `You are a security researcher with access to OSINT and analysis tools.
|
|
43
|
+
Use available tools to assist with the research task.`
|
|
44
|
+
};
|
|
45
|
+
const MODE_MCP_SERVERS = {
|
|
46
|
+
recon: ["mcp-browser", "mcp-filesystem"],
|
|
47
|
+
bugbounty: [
|
|
48
|
+
"mcp-browser",
|
|
49
|
+
"mcp-filesystem",
|
|
50
|
+
"mcp-github"
|
|
51
|
+
],
|
|
52
|
+
pentest: [
|
|
53
|
+
"mcp-browser",
|
|
54
|
+
"mcp-filesystem",
|
|
55
|
+
"mcp-terminal",
|
|
56
|
+
"mcp-github"
|
|
57
|
+
],
|
|
58
|
+
footprint: ["mcp-browser", "mcp-filesystem"],
|
|
59
|
+
custom: ["mcp-browser", "mcp-filesystem"]
|
|
60
|
+
};
|
|
61
|
+
function printBanner() {
|
|
62
|
+
console.log();
|
|
63
|
+
console.log(chalk.default.red.bold(" โโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโ"));
|
|
64
|
+
console.log(chalk.default.red.bold(" โโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ"));
|
|
65
|
+
console.log(chalk.default.yellow.bold(" โโโ โโโโโโโโโโโโโโโโโโโโ โโโ โโโ "));
|
|
66
|
+
console.log(chalk.default.yellow.bold(" โโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโโ "));
|
|
67
|
+
console.log(chalk.default.red.bold(" โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโ "));
|
|
68
|
+
console.log(chalk.default.red.bold(" โโโโโโโ โโโโโโโโโโโโโโ โโโโโ โโโ "));
|
|
69
|
+
console.log();
|
|
70
|
+
console.log(chalk.default.gray(" HyperClaw OSINT / Ethical Hacking Mode"));
|
|
71
|
+
console.log(chalk.default.gray(" โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"));
|
|
72
|
+
console.log(chalk.default.yellow(" โ ๏ธ For authorized security research only."));
|
|
73
|
+
console.log(chalk.default.yellow(" โ ๏ธ Always have explicit written permission."));
|
|
74
|
+
console.log();
|
|
75
|
+
}
|
|
76
|
+
async function osintSetup(options) {
|
|
77
|
+
printBanner();
|
|
78
|
+
if (options.show) {
|
|
79
|
+
try {
|
|
80
|
+
const profile$1 = await fs_extra.default.readJson(getOsintProfileFile());
|
|
81
|
+
console.log(chalk.default.cyan.bold(" ๐ Current OSINT Profile:\n"));
|
|
82
|
+
console.log(` โ๏ธ Mode: ${chalk.default.yellow(profile$1.mode)}`);
|
|
83
|
+
console.log(` ๐ฏ Target: ${chalk.default.white(profile$1.target || "(not set)")}`);
|
|
84
|
+
console.log(` ๐ท๏ธ Type: ${profile$1.targetType || "N/A"}`);
|
|
85
|
+
console.log(` ๐ MCP: ${profile$1.mcpServers.join(", ")}`);
|
|
86
|
+
console.log(` ๐ Created: ${profile$1.createdAt}`);
|
|
87
|
+
if (profile$1.notes) console.log(` ๐ Notes: ${profile$1.notes}`);
|
|
88
|
+
console.log();
|
|
89
|
+
} catch {
|
|
90
|
+
console.log(chalk.default.gray(" โน๏ธ No OSINT profile saved yet. Run: hyperclaw osint setup\n"));
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (options.reset) {
|
|
95
|
+
await fs_extra.default.remove(getOsintProfileFile());
|
|
96
|
+
const osintActivePath = path.default.join(require_paths.getHyperClawDir(), "OSINT-ACTIVE.md");
|
|
97
|
+
await fs_extra.default.remove(osintActivePath).catch(() => {});
|
|
98
|
+
console.log(chalk.default.green(" ๐งน OSINT profile cleared.\n"));
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
console.log(chalk.default.bold(" ๐ Select OSINT workflow:\n"));
|
|
102
|
+
for (const [mode$1, desc] of Object.entries(MODE_DESCRIPTIONS)) console.log(` ${chalk.default.cyan(mode$1.padEnd(12))} ${chalk.default.gray(desc)}`);
|
|
103
|
+
console.log();
|
|
104
|
+
const { mode } = await inquirer.default.prompt([{
|
|
105
|
+
type: "list",
|
|
106
|
+
name: "mode",
|
|
107
|
+
message: "Workflow:",
|
|
108
|
+
choices: Object.keys(MODE_DESCRIPTIONS).map((m) => ({
|
|
109
|
+
name: `${m.padEnd(12)} โ ${MODE_DESCRIPTIONS[m]}`,
|
|
110
|
+
value: m
|
|
111
|
+
})),
|
|
112
|
+
default: options.mode || "recon"
|
|
113
|
+
}]);
|
|
114
|
+
const { hasTarget } = await inquirer.default.prompt([{
|
|
115
|
+
type: "confirm",
|
|
116
|
+
name: "hasTarget",
|
|
117
|
+
message: "Set a target for this session?",
|
|
118
|
+
default: true
|
|
119
|
+
}]);
|
|
120
|
+
let target;
|
|
121
|
+
let targetType;
|
|
122
|
+
if (hasTarget) {
|
|
123
|
+
const resp = await inquirer.default.prompt([{
|
|
124
|
+
type: "list",
|
|
125
|
+
name: "targetType",
|
|
126
|
+
message: "Target type:",
|
|
127
|
+
choices: [
|
|
128
|
+
"domain",
|
|
129
|
+
"ip",
|
|
130
|
+
"username",
|
|
131
|
+
"email",
|
|
132
|
+
"org",
|
|
133
|
+
"custom"
|
|
134
|
+
]
|
|
135
|
+
}, {
|
|
136
|
+
type: "input",
|
|
137
|
+
name: "target",
|
|
138
|
+
message: "Target value (e.g. example.com):",
|
|
139
|
+
validate: (v) => v.trim().length > 0 || "Required"
|
|
140
|
+
}]);
|
|
141
|
+
target = resp.target.trim();
|
|
142
|
+
targetType = resp.targetType;
|
|
143
|
+
}
|
|
144
|
+
const { notes } = await inquirer.default.prompt([{
|
|
145
|
+
type: "input",
|
|
146
|
+
name: "notes",
|
|
147
|
+
message: "Session notes (optional, e.g. \"HackerOne program XYZ\"):"
|
|
148
|
+
}]);
|
|
149
|
+
console.log();
|
|
150
|
+
const { confirmed } = await inquirer.default.prompt([{
|
|
151
|
+
type: "confirm",
|
|
152
|
+
name: "confirmed",
|
|
153
|
+
message: chalk.default.yellow("I confirm I have explicit written authorization to test this target."),
|
|
154
|
+
default: false
|
|
155
|
+
}]);
|
|
156
|
+
if (!confirmed) {
|
|
157
|
+
console.log(chalk.default.red("\n ๐ซ Aborted. OSINT mode requires authorization confirmation.\n"));
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
const spinner = (0, ora.default)("โ๏ธ Applying OSINT configuration...").start();
|
|
161
|
+
const mcpServers = MODE_MCP_SERVERS[mode];
|
|
162
|
+
const systemPrompt = MODE_SYSTEM_PROMPTS[mode];
|
|
163
|
+
const profile = {
|
|
164
|
+
mode,
|
|
165
|
+
target,
|
|
166
|
+
targetType,
|
|
167
|
+
notes: notes || void 0,
|
|
168
|
+
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
169
|
+
mcpServers,
|
|
170
|
+
systemPromptOverride: systemPrompt
|
|
171
|
+
};
|
|
172
|
+
await fs_extra.default.ensureDir(require_paths.getHyperClawDir());
|
|
173
|
+
await fs_extra.default.writeJson(getOsintProfileFile(), profile, { spaces: 2 });
|
|
174
|
+
let config = {};
|
|
175
|
+
try {
|
|
176
|
+
config = await fs_extra.default.readJson(getConfigFile());
|
|
177
|
+
} catch {}
|
|
178
|
+
if (!config.agent) config.agent = {};
|
|
179
|
+
const agent = config.agent;
|
|
180
|
+
agent.systemPromptOverride = systemPrompt;
|
|
181
|
+
agent.osintMode = mode;
|
|
182
|
+
if (target) agent.osintTarget = `${targetType}: ${target}`;
|
|
183
|
+
const mcpFile = path.default.join(require_paths.getHyperClawDir(), "mcp-servers.json");
|
|
184
|
+
let mcpServersJson = [];
|
|
185
|
+
try {
|
|
186
|
+
mcpServersJson = await fs_extra.default.readJson(mcpFile);
|
|
187
|
+
} catch {}
|
|
188
|
+
const extensionsDir = path.default.join(path.default.dirname(getConfigFile()), "..", "..");
|
|
189
|
+
const serverDefs = {
|
|
190
|
+
"mcp-filesystem": {
|
|
191
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-filesystem/server.mjs")}`,
|
|
192
|
+
label: "Filesystem (OSINT)"
|
|
193
|
+
},
|
|
194
|
+
"mcp-browser": {
|
|
195
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-browser/server.mjs")}`,
|
|
196
|
+
label: "Browser/Web (OSINT)"
|
|
197
|
+
},
|
|
198
|
+
"mcp-terminal": {
|
|
199
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-terminal/server.mjs")}`,
|
|
200
|
+
label: "Terminal (OSINT)"
|
|
201
|
+
},
|
|
202
|
+
"mcp-github": {
|
|
203
|
+
command: `node ${path.default.join(process.cwd(), "extensions/mcp-github/server.mjs")}`,
|
|
204
|
+
label: "GitHub (OSINT)"
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
for (const serverId of mcpServers) {
|
|
208
|
+
const already = mcpServersJson.find((s) => s.id === serverId);
|
|
209
|
+
if (!already && serverDefs[serverId]) mcpServersJson.push({
|
|
210
|
+
id: serverId,
|
|
211
|
+
name: serverDefs[serverId].label,
|
|
212
|
+
transport: "stdio",
|
|
213
|
+
command: serverDefs[serverId].command,
|
|
214
|
+
enabled: true,
|
|
215
|
+
addedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
216
|
+
});
|
|
217
|
+
else if (already) already.enabled = true;
|
|
218
|
+
}
|
|
219
|
+
await fs_extra.default.ensureDir(path.default.dirname(mcpFile));
|
|
220
|
+
await fs_extra.default.writeJson(mcpFile, mcpServersJson, { spaces: 2 });
|
|
221
|
+
await fs_extra.default.writeJson(getConfigFile(), config, { spaces: 2 });
|
|
222
|
+
spinner.succeed("โ
OSINT configuration applied");
|
|
223
|
+
console.log();
|
|
224
|
+
console.log(chalk.default.bold.red(" ๐ฉธ OSINT mode ready:"));
|
|
225
|
+
console.log(` โ๏ธ Workflow: ${chalk.default.yellow(mode)}`);
|
|
226
|
+
if (target) console.log(` ๐ฏ Target: ${chalk.default.white(target)} ${chalk.default.gray(`(${targetType})`)}`);
|
|
227
|
+
console.log(` ๐ MCP: ${chalk.default.cyan(mcpServers.join(", "))}`);
|
|
228
|
+
console.log();
|
|
229
|
+
const { launchNow } = await inquirer.default.prompt([{
|
|
230
|
+
type: "confirm",
|
|
231
|
+
name: "launchNow",
|
|
232
|
+
message: chalk.default.red("๐ Launch OSINT chat session now?"),
|
|
233
|
+
default: true
|
|
234
|
+
}]);
|
|
235
|
+
if (!launchNow) {
|
|
236
|
+
console.log(chalk.default.gray("\n ๐ Run: hyperclaw osint chat โ to start your session later."));
|
|
237
|
+
console.log(chalk.default.gray(" ๐๏ธ To view profile: hyperclaw osint --show"));
|
|
238
|
+
console.log(chalk.default.gray(" ๐งน To reset: hyperclaw osint --reset\n"));
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-C-9FVAkU.js"));
|
|
242
|
+
await runOsintChat({});
|
|
243
|
+
}
|
|
244
|
+
async function osintQuickStart(mode) {
|
|
245
|
+
printBanner();
|
|
246
|
+
console.log(chalk.default.bold(" ๐ Available OSINT workflows:\n"));
|
|
247
|
+
const workflowEmojis = {
|
|
248
|
+
recon: "๐",
|
|
249
|
+
bugbounty: "๐",
|
|
250
|
+
pentest: "๐ญ",
|
|
251
|
+
footprint: "๐ค",
|
|
252
|
+
custom: "๐ง"
|
|
253
|
+
};
|
|
254
|
+
for (const [m, desc] of Object.entries(MODE_DESCRIPTIONS)) {
|
|
255
|
+
const isActive = m === mode;
|
|
256
|
+
const bullet = isActive ? chalk.default.green("โถ") : chalk.default.gray("โ");
|
|
257
|
+
const emoji = workflowEmojis[m] ?? "โข";
|
|
258
|
+
console.log(` ${bullet} ${emoji} ${chalk.default.cyan(m.padEnd(12))} ${chalk.default.white(desc)}`);
|
|
259
|
+
}
|
|
260
|
+
console.log();
|
|
261
|
+
console.log(chalk.default.bold(" ๐ Commands:\n"));
|
|
262
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint setup")} โ โ๏ธ interactive OSINT session setup`);
|
|
263
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint chat")} โ ๐ฌ start OSINT chat session`);
|
|
264
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint --show")} โ ๐๏ธ show current profile`);
|
|
265
|
+
console.log(` ${chalk.default.cyan("hyperclaw osint --reset")} โ ๐งน clear OSINT profile`);
|
|
266
|
+
console.log();
|
|
267
|
+
console.log(chalk.default.bold.red(" ๐ฉธ Daemon mode (full shell/tool access):\n"));
|
|
268
|
+
console.log(` ${chalk.default.gray("1.")} ${chalk.default.cyan("hyperclaw daemon start")} โ ๐ฉธ start the daemon (keep running)`);
|
|
269
|
+
console.log(` ${chalk.default.gray("2.")} ${chalk.default.cyan("hyperclaw osint chat")} โ ๐ auto-connects to daemon`);
|
|
270
|
+
console.log(` ${chalk.default.gray(" ")} ${chalk.default.gray("๐ง Gives: nmap, curl, dig, whois, msfconsole, dirb, nikto, sqlmap...")}`);
|
|
271
|
+
console.log();
|
|
272
|
+
console.log(chalk.default.bold(" ๐ MCP servers for OSINT:\n"));
|
|
273
|
+
console.log(` ${chalk.default.cyan("mcp-browser")} โ ๐ web_fetch, web_search, dns_lookup, whois_lookup, extract_links`);
|
|
274
|
+
console.log(` ${chalk.default.cyan("mcp-filesystem")} โ ๐ read_file, write_file, search_files (for saving reports)`);
|
|
275
|
+
console.log(` ${chalk.default.cyan("mcp-github")} โ ๐ list_repos, search_code, get_file`);
|
|
276
|
+
console.log(` ${chalk.default.cyan("mcp-terminal")} โ ๐ป run_command (pentest mode only, requires authorization)`);
|
|
277
|
+
console.log();
|
|
278
|
+
console.log(chalk.default.yellow(" โ ๏ธ Always operate within authorized scope and applicable laws.\n"));
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
//#endregion
|
|
282
|
+
exports.osintQuickStart = osintQuickStart;
|
|
283
|
+
exports.osintSetup = osintSetup;
|