hyperclaw 5.4.0 → 5.4.2
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-CUqdJGh7.js +75 -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-B0D0vcp5.js +424 -0
- package/dist/agents-routing-B0RBl1B8.js +424 -0
- package/dist/agents-routing-BC6GndVe.js +7 -0
- package/dist/agents-routing-BSUaOpce.js +7 -0
- package/dist/agents-routing-C4PVN8G6.js +7 -0
- package/dist/agents-routing-CyFBHvyk.js +424 -0
- package/dist/agents-routing-Dcr29-JV.js +424 -0
- package/dist/agents-routing-DdpszaMx.js +7 -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-key-validation-DrMrLEa0.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/api-keys-guide-DmKF7tB-.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-Q-Uy5nem.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-CtHJEqGr.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-DYzQ8cCb.js +143 -0
- package/dist/banner-Dpygks0H.js +143 -0
- package/dist/banner-ZX1WLr44.js +7 -0
- package/dist/banner-jW84OrYg.js +7 -0
- package/dist/bounty-tools-CCwY61YO.js +211 -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-CJa0ph8c.js +528 -0
- package/dist/chat-CKnfxa1-.js +528 -0
- package/dist/chat-CQKCIrIY.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/chat-npW_ZOmo.js +528 -0
- package/dist/claw-tasks-Cio1Q7eA.js +80 -0
- package/dist/claw-tasks-Dq38PrL5.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-BzK_Xl4Y.js +261 -0
- package/dist/config-CYPw2v4l.js +261 -0
- package/dist/config-ClsdlpXc.js +261 -0
- package/dist/config-DN9fdLL3.js +261 -0
- package/dist/config-Dm394B6X.js +7 -0
- package/dist/config-FejpHHTz.js +261 -0
- package/dist/config-SiLqEezw.js +7 -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-BYPxgmsD.js +312 -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/cost-tracker-x9E8VKtk.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-Ddhgmbpz.js +7 -0
- package/dist/credentials-store-hiSga8qn.js +89 -0
- package/dist/credentials-store-kLdrmqSt.js +7 -0
- package/dist/credentials-store-onL1tYct.js +89 -0
- package/dist/cron-tasks-BFsaCKxE.js +89 -0
- package/dist/cron-tasks-BelA2aUW.js +89 -0
- package/dist/cron-tasks-CF4MJoIU.js +89 -0
- package/dist/cron-tasks-D1T9fWAb.js +89 -0
- package/dist/cron-tasks-f_ieXSG2.js +89 -0
- package/dist/daemon-ApB1nMs2.js +421 -0
- package/dist/daemon-B2ghXB-I.js +7 -0
- package/dist/daemon-BTYhQvD_.js +7 -0
- package/dist/daemon-BldYSrDj.js +421 -0
- package/dist/daemon-BoaFnmdF.js +421 -0
- package/dist/daemon-BqTcxMZe.js +7 -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-CivMFYkD.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-DBXFUMue.js +421 -0
- package/dist/daemon-srcdhzUG.js +7 -0
- package/dist/delivery-BURWi8wu.js +4 -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/delivery-kZ2mVkU5.js +95 -0
- package/dist/destructive-gate-5LYh6brt.js +116 -0
- package/dist/destructive-gate-B_hNKtu6.js +116 -0
- package/dist/destructive-gate-C1ny9ek2.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-B-JvIt_Y.js +7 -0
- package/dist/engine-BBJlKpMP.js +7 -0
- package/dist/engine-BGZnBZ4m.js +7 -0
- package/dist/engine-BNygJfCo.js +335 -0
- package/dist/engine-BTSXJNba.js +346 -0
- package/dist/engine-C7LyH310.js +353 -0
- package/dist/engine-C_nC_Ioe.js +351 -0
- package/dist/engine-DB4MBzki.js +7 -0
- package/dist/engine-DCtJSbKU.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-C0R8R7pb.js +167 -0
- package/dist/env-resolve-D3dP1-Xt.js +11 -0
- package/dist/env-resolve-Dr-KfTtw.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-BzbG0ICM.js +42 -0
- package/dist/gmail-watch-setup-DP3kDRx1.js +42 -0
- package/dist/heartbeat-engine-5iOlL7Dj.js +89 -0
- package/dist/heartbeat-engine-B9bhAHNi.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-BEm8_87h.js +516 -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-DR6BgI_d.js +516 -0
- package/dist/hyperclawbot-DwScttSx.js +516 -0
- package/dist/hyperclawbot-hZv4pde0.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-C874-2MI.js +8 -0
- package/dist/inference-CRF6HyyH.js +2854 -0
- package/dist/inference-CfhTACI8.js +2854 -0
- package/dist/inference-DCSz6Sb1.js +2880 -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-BiIvoxPt.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-DMMb9emn.js +410 -0
- package/dist/loader-DUhmG3V9.js +410 -0
- package/dist/loader-Dl8LNycw.js +6 -0
- package/dist/loader-JktrmJOG.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/logger-Oty9sC13.js +86 -0
- package/dist/manager-3-q8zuAW.js +250 -0
- package/dist/manager-BIc6zzZV.js +250 -0
- package/dist/manager-BkMzc-EJ.js +250 -0
- package/dist/manager-Bq5LApdR.js +6 -0
- package/dist/manager-BwobWy0l.js +120 -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-CI2F3m8G.js +142 -0
- package/dist/mcp-DGo37Ifb.js +142 -0
- package/dist/mcp-loader-C-21ynRH.js +93 -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-Di7n__ta.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-BVCJeTwd.js +306 -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-DXKe2ayf.js +5 -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-D2RvZ-MB.js +91 -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-DvV6GFFL.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-DFKhz7Zn.js +251 -0
- package/dist/node-Du2H2Ddi.js +226 -0
- package/dist/node-domexception-v89b0Nwz.js +21 -0
- package/dist/node-pending-queue-CIMXPU6K.js +32 -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-BeiEjd9U.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-CZOsvU1v.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-Dk-6BmGL.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-B3dDQSdI.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-BnyHie0K.js +14 -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-D-5gWzH0.js +3854 -0
- package/dist/onboard-D9pjgaVR.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-UhWVcTap.js +14 -0
- package/dist/onboard-W5DsxVf2.js +3854 -0
- package/dist/onboard-YszvVNgS.js +14 -0
- package/dist/onboard-hK098kjl.js +14 -0
- package/dist/onboard-pLDBUBpO.js +14 -0
- package/dist/onboard-zISipu-l.js +3854 -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-C0t11xj7.js +189 -0
- package/dist/orchestrator-CA4eKeGn.js +189 -0
- package/dist/orchestrator-CNxTIlOK.js +189 -0
- package/dist/orchestrator-CTMbjgH_.js +6 -0
- package/dist/orchestrator-Cg1vgEHb.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-DV5t6wQ0.js +6 -0
- package/dist/orchestrator-UUHsFKiH.js +6 -0
- package/dist/orchestrator-eT0ZL4yl.js +6 -0
- package/dist/orchestrator-oa7HbCnF.js +189 -0
- package/dist/orchestrator-tUKag7pG.js +189 -0
- package/dist/osint-47yIek6w.js +283 -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-c-xDjLb-.js +283 -0
- package/dist/osint-cAAdO-cx.js +283 -0
- package/dist/osint-chat-B0lc0Y6r.js +789 -0
- package/dist/osint-chat-BJgnkFDm.js +789 -0
- package/dist/osint-chat-BUhiSpf9.js +789 -0
- package/dist/osint-chat-C-9FVAkU.js +789 -0
- package/dist/osint-chat-C09BvbGy.js +789 -0
- package/dist/osint-chat-CWET8Fno.js +789 -0
- package/dist/osint-chat-Cgdzg3lh.js +789 -0
- package/dist/osint-chat-zdeaaw7a.js +789 -0
- package/dist/osint-e6oBrtlj.js +283 -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-CEu_-DGQ.js +22 -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-BfW-fgpw.js +5 -0
- package/dist/providers-Cs1h_TJA.js +1137 -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-B_ew6jRs.js +228 -0
- package/dist/renderer-Cg3c41A5.js +228 -0
- package/dist/renderer-UoPcgaAd.js +228 -0
- package/dist/rules-BAYXiKiJ.js +106 -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 +492 -131
- package/dist/runner-B5uo6C5q.js +1310 -0
- 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-DXVuVXW_.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-BJkDIs8Z.js +1467 -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-CtFoXM88.js +4 -0
- package/dist/server-DPTXaJJF.js +4 -0
- package/dist/server-DVxVLu_G.js +1467 -0
- package/dist/server-DZj6Nobr.js +1467 -0
- package/dist/server-Diu80smx.js +4 -0
- package/dist/server-DszV63tu.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-BLkXA1mO.js +104 -0
- package/dist/skill-runtime-BMk-h6Dl.js +5 -0
- package/dist/skill-runtime-BP0kZfmM.js +5 -0
- package/dist/skill-runtime-BaTX-RGy.js +5 -0
- package/dist/skill-runtime-CB9tnc-P.js +104 -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-D6-rGzX1.js +104 -0
- package/dist/skill-runtime-DQRi9sIf.js +5 -0
- package/dist/skill-runtime-DRd56NWK.js +104 -0
- package/dist/skill-runtime-Dej1Yr5V.js +5 -0
- package/dist/src-6dmkVQGq.js +63 -0
- package/dist/src-7yBXPAs6.js +315 -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-BOnuFlI4.js +23 -0
- package/dist/src-BY3On_zO.js +462 -0
- package/dist/src-BdgKAlMQ.js +20 -0
- package/dist/src-BkEtHLLy.js +462 -0
- package/dist/src-C52A3OwC.js +301 -0
- package/dist/src-C8cbfjat.js +173 -0
- package/dist/src-CDeWGebw.js +315 -0
- package/dist/src-CNAVUFC6.js +462 -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-DB6dPsbY.js +63 -0
- package/dist/src-DE4mH0BB.js +63 -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-krHV0uVj.js +315 -0
- package/dist/src-lltU5gkh.js +20 -0
- package/dist/src-tF0sBtr3.js +462 -0
- package/dist/sub-agent-tools-BwOxHu6f.js +39 -0
- package/dist/sub-agent-tools-CE8pVUdb.js +39 -0
- package/dist/sub-agent-tools-CJVEIF1F.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/sub-agent-tools-f4X1M-li.js +39 -0
- package/dist/tool-policy-1EBdJkSG.js +190 -0
- package/dist/tool-policy-B1bL0X-E.js +189 -0
- package/dist/tool-policy-CfWEnRxy.js +190 -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-CCeOqqrh.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-BMRKyu3c.js +167 -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-DVYx9-Jw.js +5 -0
- package/dist/vision-tools-DyP6lRA5.js +5 -0
- package/dist/vision-tools-RIVKEUeY.js +5 -0
- package/dist/vision-tools-kYb3effk.js +51 -0
- package/dist/voice-transcription-B1D1rpca.js +170 -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/chat.html +18 -4
- package/static/web/assets/index-D2ekZ-uM.js +75 -0
- package/static/web/assets/index-D_9lvvup.css +1 -0
- package/static/web/index.html +2 -2
- package/static/web/assets/index-B5N1LHGR.css +0 -1
- package/static/web/assets/index-Bf8pf7Wg.js +0 -75
|
@@ -0,0 +1,91 @@
|
|
|
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 fs_extra = require_chunk.__toESM(require("fs-extra"));
|
|
5
|
+
const path = require_chunk.__toESM(require("path"));
|
|
6
|
+
|
|
7
|
+
//#region src/services/memory-integration.ts
|
|
8
|
+
async function getConfig() {
|
|
9
|
+
try {
|
|
10
|
+
const cfg = await fs_extra.default.readJson(require_paths.getConfigPath());
|
|
11
|
+
return cfg.memoryIntegration ?? {};
|
|
12
|
+
} catch {
|
|
13
|
+
return {};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/** Sync MEMORY.md to vault (Obsidian / Raycast / Hazel). */
|
|
17
|
+
async function syncMemoryToVault(vaultDir) {
|
|
18
|
+
const target = path.default.join(vaultDir, "HyperClaw-MEMORY.md");
|
|
19
|
+
if (await fs_extra.default.pathExists(MEMORY_FILE)) {
|
|
20
|
+
await fs_extra.default.ensureDir(vaultDir);
|
|
21
|
+
await fs_extra.default.copy(MEMORY_FILE, target, { overwrite: true });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/** Write daily note with session summary and new facts. */
|
|
25
|
+
async function writeDailyNote(vaultDir, date, content) {
|
|
26
|
+
const filename = `${date}.md`;
|
|
27
|
+
const target = path.default.join(vaultDir, "HyperClaw", filename);
|
|
28
|
+
await fs_extra.default.ensureDir(path.default.dirname(target));
|
|
29
|
+
const lines = [
|
|
30
|
+
`# HyperClaw — ${date}`,
|
|
31
|
+
"",
|
|
32
|
+
`> Auto-generated daily note from HyperClaw interactions.`,
|
|
33
|
+
""
|
|
34
|
+
];
|
|
35
|
+
if (content.sessionId && (content.turnCount ?? 0) > 0) {
|
|
36
|
+
lines.push(`## Session ${content.sessionId}`);
|
|
37
|
+
lines.push(`- Turns: ${content.turnCount}`);
|
|
38
|
+
lines.push("");
|
|
39
|
+
}
|
|
40
|
+
if (content.newFacts?.length) {
|
|
41
|
+
lines.push("## New memories");
|
|
42
|
+
for (const f of content.newFacts) lines.push(`- ${f}`);
|
|
43
|
+
lines.push("");
|
|
44
|
+
}
|
|
45
|
+
const body = lines.join("\n");
|
|
46
|
+
if (await fs_extra.default.pathExists(target)) await fs_extra.default.appendFile(target, "\n---\n" + body);
|
|
47
|
+
else await fs_extra.default.writeFile(target, body);
|
|
48
|
+
}
|
|
49
|
+
/** Append new fact to daily note (for incremental updates). */
|
|
50
|
+
async function appendToDailyNote(vaultDir, date, fact) {
|
|
51
|
+
const filename = `${date}.md`;
|
|
52
|
+
const target = path.default.join(vaultDir, "HyperClaw", filename);
|
|
53
|
+
await fs_extra.default.ensureDir(path.default.dirname(target));
|
|
54
|
+
const line = `- ${(/* @__PURE__ */ new Date()).toISOString().slice(11, 19)} ${fact}\n`;
|
|
55
|
+
if (!await fs_extra.default.pathExists(target)) await fs_extra.default.writeFile(target, `# HyperClaw — ${date}\n\n`);
|
|
56
|
+
await fs_extra.default.appendFile(target, line);
|
|
57
|
+
}
|
|
58
|
+
/** Called after MEMORY.md append — sync to vault + optionally add to daily note. */
|
|
59
|
+
async function onMemoryAppended(facts) {
|
|
60
|
+
const cfg = await getConfig();
|
|
61
|
+
const vaultDir = cfg.vaultDir;
|
|
62
|
+
if (!vaultDir) return;
|
|
63
|
+
if (cfg.syncOnAppend !== false) await syncMemoryToVault(vaultDir);
|
|
64
|
+
if (cfg.dailyNotes && facts.length > 0) {
|
|
65
|
+
const today = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
66
|
+
for (const f of facts) await appendToDailyNote(vaultDir, today, f.fact);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** Called on session end — sync + write session summary to daily note. */
|
|
70
|
+
async function onSessionEnd(payload) {
|
|
71
|
+
const cfg = await getConfig();
|
|
72
|
+
const vaultDir = cfg.vaultDir;
|
|
73
|
+
if (!vaultDir || !cfg.dailyNotes) return;
|
|
74
|
+
await syncMemoryToVault(vaultDir);
|
|
75
|
+
const today = (/* @__PURE__ */ new Date()).toISOString().slice(0, 10);
|
|
76
|
+
await writeDailyNote(vaultDir, today, {
|
|
77
|
+
sessionId: payload.sessionId,
|
|
78
|
+
turnCount: payload.turnCount,
|
|
79
|
+
newFacts: payload.newFacts
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
var MEMORY_FILE;
|
|
83
|
+
var init_memory_integration = require_chunk.__esm({ "src/services/memory-integration.ts"() {
|
|
84
|
+
require_paths$1.init_paths();
|
|
85
|
+
MEMORY_FILE = path.default.join(require_paths.getHyperClawDir(), "MEMORY.md");
|
|
86
|
+
} });
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
89
|
+
init_memory_integration();
|
|
90
|
+
exports.onMemoryAppended = onMemoryAppended;
|
|
91
|
+
exports.onSessionEnd = onSessionEnd;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
|
+
const https = require_chunk.__toESM(require("https"));
|
|
3
|
+
|
|
4
|
+
//#region src/services/moltbook.ts
|
|
5
|
+
/** List feed (public or for connected agents). */
|
|
6
|
+
async function getFeed(limit = 20) {
|
|
7
|
+
if (!MOLTBOOK_API) return [];
|
|
8
|
+
try {
|
|
9
|
+
const body = await fetchJson(`${MOLTBOOK_API}/api/feed?limit=${limit}`);
|
|
10
|
+
return Array.isArray(body.posts) ? body.posts : [];
|
|
11
|
+
} catch {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** Publish a post as the configured agent. */
|
|
16
|
+
async function publishPost(content, opts) {
|
|
17
|
+
if (!MOLTBOOK_API) return null;
|
|
18
|
+
try {
|
|
19
|
+
const body = await postJson(`${MOLTBOOK_API}/api/posts`, { content }, opts?.agentToken);
|
|
20
|
+
return body.post || null;
|
|
21
|
+
} catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function fetchJson(url) {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
const u = new URL(url);
|
|
28
|
+
const req = https.default.get(url, (res) => {
|
|
29
|
+
let data = "";
|
|
30
|
+
res.on("data", (c) => data += c);
|
|
31
|
+
res.on("end", () => {
|
|
32
|
+
try {
|
|
33
|
+
resolve(JSON.parse(data));
|
|
34
|
+
} catch {
|
|
35
|
+
reject(new Error("Invalid JSON"));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
req.on("error", reject);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function postJson(url, payload, token) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
const u = new URL(url);
|
|
45
|
+
const body = JSON.stringify(payload);
|
|
46
|
+
const opts = {
|
|
47
|
+
hostname: u.hostname,
|
|
48
|
+
port: 443,
|
|
49
|
+
path: u.pathname,
|
|
50
|
+
method: "POST",
|
|
51
|
+
headers: {
|
|
52
|
+
"Content-Type": "application/json",
|
|
53
|
+
"Content-Length": Buffer.byteLength(body),
|
|
54
|
+
...token ? { Authorization: `Bearer ${token}` } : {}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const req = https.default.request(opts, (res) => {
|
|
58
|
+
let data = "";
|
|
59
|
+
res.on("data", (c) => data += c);
|
|
60
|
+
res.on("end", () => {
|
|
61
|
+
try {
|
|
62
|
+
resolve(JSON.parse(data || "{}"));
|
|
63
|
+
} catch {
|
|
64
|
+
resolve({});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
req.on("error", reject);
|
|
69
|
+
req.write(body);
|
|
70
|
+
req.end();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
var MOLTBOOK_API;
|
|
74
|
+
var init_moltbook = require_chunk.__esm({ "src/services/moltbook.ts"() {
|
|
75
|
+
MOLTBOOK_API = process.env.MOLTBOOK_API_URL || "";
|
|
76
|
+
} });
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
init_moltbook();
|
|
80
|
+
exports.getFeed = getFeed;
|
|
81
|
+
exports.publishPost = publishPost;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
|
+
const https = require_chunk.__toESM(require("https"));
|
|
3
|
+
|
|
4
|
+
//#region src/services/moltbook.ts
|
|
5
|
+
/** List feed (public or for connected agents). */
|
|
6
|
+
async function getFeed(limit = 20) {
|
|
7
|
+
if (!MOLTBOOK_API) return [];
|
|
8
|
+
try {
|
|
9
|
+
const body = await fetchJson(`${MOLTBOOK_API}/api/feed?limit=${limit}`);
|
|
10
|
+
return Array.isArray(body.posts) ? body.posts : [];
|
|
11
|
+
} catch {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** Publish a post as the configured agent. */
|
|
16
|
+
async function publishPost(content, opts) {
|
|
17
|
+
if (!MOLTBOOK_API) return null;
|
|
18
|
+
try {
|
|
19
|
+
const body = await postJson(`${MOLTBOOK_API}/api/posts`, { content }, opts?.agentToken);
|
|
20
|
+
return body.post || null;
|
|
21
|
+
} catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function fetchJson(url) {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
const u = new URL(url);
|
|
28
|
+
const req = https.default.get(url, (res) => {
|
|
29
|
+
let data = "";
|
|
30
|
+
res.on("data", (c) => data += c);
|
|
31
|
+
res.on("end", () => {
|
|
32
|
+
try {
|
|
33
|
+
resolve(JSON.parse(data));
|
|
34
|
+
} catch {
|
|
35
|
+
reject(new Error("Invalid JSON"));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
req.on("error", reject);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function postJson(url, payload, token) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
const u = new URL(url);
|
|
45
|
+
const body = JSON.stringify(payload);
|
|
46
|
+
const opts = {
|
|
47
|
+
hostname: u.hostname,
|
|
48
|
+
port: 443,
|
|
49
|
+
path: u.pathname,
|
|
50
|
+
method: "POST",
|
|
51
|
+
headers: {
|
|
52
|
+
"Content-Type": "application/json",
|
|
53
|
+
"Content-Length": Buffer.byteLength(body),
|
|
54
|
+
...token ? { Authorization: `Bearer ${token}` } : {}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const req = https.default.request(opts, (res) => {
|
|
58
|
+
let data = "";
|
|
59
|
+
res.on("data", (c) => data += c);
|
|
60
|
+
res.on("end", () => {
|
|
61
|
+
try {
|
|
62
|
+
resolve(JSON.parse(data || "{}"));
|
|
63
|
+
} catch {
|
|
64
|
+
resolve({});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
req.on("error", reject);
|
|
69
|
+
req.write(body);
|
|
70
|
+
req.end();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
var MOLTBOOK_API;
|
|
74
|
+
var init_moltbook = require_chunk.__esm({ "src/services/moltbook.ts"() {
|
|
75
|
+
MOLTBOOK_API = process.env.MOLTBOOK_API_URL || "";
|
|
76
|
+
} });
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
init_moltbook();
|
|
80
|
+
exports.getFeed = getFeed;
|
|
81
|
+
exports.publishPost = publishPost;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
|
+
const https = require_chunk.__toESM(require("https"));
|
|
3
|
+
|
|
4
|
+
//#region src/services/moltbook.ts
|
|
5
|
+
/** List feed (public or for connected agents). */
|
|
6
|
+
async function getFeed(limit = 20) {
|
|
7
|
+
if (!MOLTBOOK_API) return [];
|
|
8
|
+
try {
|
|
9
|
+
const body = await fetchJson(`${MOLTBOOK_API}/api/feed?limit=${limit}`);
|
|
10
|
+
return Array.isArray(body.posts) ? body.posts : [];
|
|
11
|
+
} catch {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** Publish a post as the configured agent. */
|
|
16
|
+
async function publishPost(content, opts) {
|
|
17
|
+
if (!MOLTBOOK_API) return null;
|
|
18
|
+
try {
|
|
19
|
+
const body = await postJson(`${MOLTBOOK_API}/api/posts`, { content }, opts?.agentToken);
|
|
20
|
+
return body.post || null;
|
|
21
|
+
} catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function fetchJson(url) {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
const u = new URL(url);
|
|
28
|
+
const req = https.default.get(url, (res) => {
|
|
29
|
+
let data = "";
|
|
30
|
+
res.on("data", (c) => data += c);
|
|
31
|
+
res.on("end", () => {
|
|
32
|
+
try {
|
|
33
|
+
resolve(JSON.parse(data));
|
|
34
|
+
} catch {
|
|
35
|
+
reject(new Error("Invalid JSON"));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
req.on("error", reject);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function postJson(url, payload, token) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
const u = new URL(url);
|
|
45
|
+
const body = JSON.stringify(payload);
|
|
46
|
+
const opts = {
|
|
47
|
+
hostname: u.hostname,
|
|
48
|
+
port: 443,
|
|
49
|
+
path: u.pathname,
|
|
50
|
+
method: "POST",
|
|
51
|
+
headers: {
|
|
52
|
+
"Content-Type": "application/json",
|
|
53
|
+
"Content-Length": Buffer.byteLength(body),
|
|
54
|
+
...token ? { Authorization: `Bearer ${token}` } : {}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const req = https.default.request(opts, (res) => {
|
|
58
|
+
let data = "";
|
|
59
|
+
res.on("data", (c) => data += c);
|
|
60
|
+
res.on("end", () => {
|
|
61
|
+
try {
|
|
62
|
+
resolve(JSON.parse(data || "{}"));
|
|
63
|
+
} catch {
|
|
64
|
+
resolve({});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
req.on("error", reject);
|
|
69
|
+
req.write(body);
|
|
70
|
+
req.end();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
var MOLTBOOK_API;
|
|
74
|
+
var init_moltbook = require_chunk.__esm({ "src/services/moltbook.ts"() {
|
|
75
|
+
MOLTBOOK_API = process.env.MOLTBOOK_API_URL || "";
|
|
76
|
+
} });
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
init_moltbook();
|
|
80
|
+
exports.getFeed = getFeed;
|
|
81
|
+
exports.publishPost = publishPost;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
|
+
const https = require_chunk.__toESM(require("https"));
|
|
3
|
+
|
|
4
|
+
//#region src/services/moltbook.ts
|
|
5
|
+
/** List feed (public or for connected agents). */
|
|
6
|
+
async function getFeed(limit = 20) {
|
|
7
|
+
if (!MOLTBOOK_API) return [];
|
|
8
|
+
try {
|
|
9
|
+
const body = await fetchJson(`${MOLTBOOK_API}/api/feed?limit=${limit}`);
|
|
10
|
+
return Array.isArray(body.posts) ? body.posts : [];
|
|
11
|
+
} catch {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** Publish a post as the configured agent. */
|
|
16
|
+
async function publishPost(content, opts) {
|
|
17
|
+
if (!MOLTBOOK_API) return null;
|
|
18
|
+
try {
|
|
19
|
+
const body = await postJson(`${MOLTBOOK_API}/api/posts`, { content }, opts?.agentToken);
|
|
20
|
+
return body.post || null;
|
|
21
|
+
} catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function fetchJson(url) {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
const u = new URL(url);
|
|
28
|
+
const req = https.default.get(url, (res) => {
|
|
29
|
+
let data = "";
|
|
30
|
+
res.on("data", (c) => data += c);
|
|
31
|
+
res.on("end", () => {
|
|
32
|
+
try {
|
|
33
|
+
resolve(JSON.parse(data));
|
|
34
|
+
} catch {
|
|
35
|
+
reject(new Error("Invalid JSON"));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
req.on("error", reject);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function postJson(url, payload, token) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
const u = new URL(url);
|
|
45
|
+
const body = JSON.stringify(payload);
|
|
46
|
+
const opts = {
|
|
47
|
+
hostname: u.hostname,
|
|
48
|
+
port: 443,
|
|
49
|
+
path: u.pathname,
|
|
50
|
+
method: "POST",
|
|
51
|
+
headers: {
|
|
52
|
+
"Content-Type": "application/json",
|
|
53
|
+
"Content-Length": Buffer.byteLength(body),
|
|
54
|
+
...token ? { Authorization: `Bearer ${token}` } : {}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const req = https.default.request(opts, (res) => {
|
|
58
|
+
let data = "";
|
|
59
|
+
res.on("data", (c) => data += c);
|
|
60
|
+
res.on("end", () => {
|
|
61
|
+
try {
|
|
62
|
+
resolve(JSON.parse(data || "{}"));
|
|
63
|
+
} catch {
|
|
64
|
+
resolve({});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
req.on("error", reject);
|
|
69
|
+
req.write(body);
|
|
70
|
+
req.end();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
var MOLTBOOK_API;
|
|
74
|
+
var init_moltbook = require_chunk.__esm({ "src/services/moltbook.ts"() {
|
|
75
|
+
MOLTBOOK_API = process.env.MOLTBOOK_API_URL || "";
|
|
76
|
+
} });
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
init_moltbook();
|
|
80
|
+
exports.getFeed = getFeed;
|
|
81
|
+
exports.publishPost = publishPost;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
|
+
const https = require_chunk.__toESM(require("https"));
|
|
3
|
+
|
|
4
|
+
//#region src/services/moltbook.ts
|
|
5
|
+
/** List feed (public or for connected agents). */
|
|
6
|
+
async function getFeed(limit = 20) {
|
|
7
|
+
if (!MOLTBOOK_API) return [];
|
|
8
|
+
try {
|
|
9
|
+
const body = await fetchJson(`${MOLTBOOK_API}/api/feed?limit=${limit}`);
|
|
10
|
+
return Array.isArray(body.posts) ? body.posts : [];
|
|
11
|
+
} catch {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** Publish a post as the configured agent. */
|
|
16
|
+
async function publishPost(content, opts) {
|
|
17
|
+
if (!MOLTBOOK_API) return null;
|
|
18
|
+
try {
|
|
19
|
+
const body = await postJson(`${MOLTBOOK_API}/api/posts`, { content }, opts?.agentToken);
|
|
20
|
+
return body.post || null;
|
|
21
|
+
} catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function fetchJson(url) {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
const u = new URL(url);
|
|
28
|
+
const req = https.default.get(url, (res) => {
|
|
29
|
+
let data = "";
|
|
30
|
+
res.on("data", (c) => data += c);
|
|
31
|
+
res.on("end", () => {
|
|
32
|
+
try {
|
|
33
|
+
resolve(JSON.parse(data));
|
|
34
|
+
} catch {
|
|
35
|
+
reject(new Error("Invalid JSON"));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
req.on("error", reject);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function postJson(url, payload, token) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
const u = new URL(url);
|
|
45
|
+
const body = JSON.stringify(payload);
|
|
46
|
+
const opts = {
|
|
47
|
+
hostname: u.hostname,
|
|
48
|
+
port: 443,
|
|
49
|
+
path: u.pathname,
|
|
50
|
+
method: "POST",
|
|
51
|
+
headers: {
|
|
52
|
+
"Content-Type": "application/json",
|
|
53
|
+
"Content-Length": Buffer.byteLength(body),
|
|
54
|
+
...token ? { Authorization: `Bearer ${token}` } : {}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const req = https.default.request(opts, (res) => {
|
|
58
|
+
let data = "";
|
|
59
|
+
res.on("data", (c) => data += c);
|
|
60
|
+
res.on("end", () => {
|
|
61
|
+
try {
|
|
62
|
+
resolve(JSON.parse(data || "{}"));
|
|
63
|
+
} catch {
|
|
64
|
+
resolve({});
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
req.on("error", reject);
|
|
69
|
+
req.write(body);
|
|
70
|
+
req.end();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
var MOLTBOOK_API;
|
|
74
|
+
var init_moltbook = require_chunk.__esm({ "src/services/moltbook.ts"() {
|
|
75
|
+
MOLTBOOK_API = process.env.MOLTBOOK_API_URL || "";
|
|
76
|
+
} });
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
init_moltbook();
|
|
80
|
+
exports.getFeed = getFeed;
|
|
81
|
+
exports.publishPost = publishPost;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
|
+
const http = require_chunk.__toESM(require("http"));
|
|
3
|
+
const https = require_chunk.__toESM(require("https"));
|
|
4
|
+
|
|
5
|
+
//#region packages/core/src/agent/multi-agent-tools.ts
|
|
6
|
+
function postChat(baseUrl, message, authToken, agentId) {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
const u = new URL(baseUrl);
|
|
9
|
+
const isHttps = u.protocol === "https:";
|
|
10
|
+
const lib = isHttps ? https.default : http.default;
|
|
11
|
+
const body = JSON.stringify({
|
|
12
|
+
message,
|
|
13
|
+
...agentId ? { agentId } : {}
|
|
14
|
+
});
|
|
15
|
+
const headers = {
|
|
16
|
+
"Content-Type": "application/json",
|
|
17
|
+
"Content-Length": Buffer.byteLength(body).toString()
|
|
18
|
+
};
|
|
19
|
+
if (authToken) headers["Authorization"] = `Bearer ${authToken}`;
|
|
20
|
+
const opts = {
|
|
21
|
+
hostname: u.hostname,
|
|
22
|
+
port: u.port || (isHttps ? 443 : 80),
|
|
23
|
+
path: (u.pathname || "/").replace(/\/$/, "") + "/api/chat",
|
|
24
|
+
method: "POST",
|
|
25
|
+
headers
|
|
26
|
+
};
|
|
27
|
+
const req = lib.request(opts, (res) => {
|
|
28
|
+
let data = "";
|
|
29
|
+
res.on("data", (c) => data += c);
|
|
30
|
+
res.on("end", () => {
|
|
31
|
+
try {
|
|
32
|
+
const parsed = JSON.parse(data || "{}");
|
|
33
|
+
if (res.statusCode && res.statusCode >= 400) resolve({ error: parsed.error || `HTTP ${res.statusCode}` });
|
|
34
|
+
else resolve({ response: parsed.response });
|
|
35
|
+
} catch {
|
|
36
|
+
resolve({ error: data || `HTTP ${res.statusCode}` });
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
req.on("error", (e) => reject(e));
|
|
41
|
+
req.write(body);
|
|
42
|
+
req.end();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function getMultiAgentTools(cfg) {
|
|
46
|
+
const remotes = cfg?.multiAgent?.remotes;
|
|
47
|
+
if (!remotes || Object.keys(remotes).length === 0) return [];
|
|
48
|
+
const ids = Object.keys(remotes);
|
|
49
|
+
const tool = {
|
|
50
|
+
name: "call_remote_agent",
|
|
51
|
+
description: `Call another HyperClaw instance for collaborative tasks. Available remotes: ${ids.join(", ")}. Use when the user wants to delegate to a different agent or get help from another HyperClaw node.`,
|
|
52
|
+
input_schema: {
|
|
53
|
+
type: "object",
|
|
54
|
+
properties: {
|
|
55
|
+
remote_id: {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: `Remote agent ID. One of: ${ids.join(", ")}`
|
|
58
|
+
},
|
|
59
|
+
message: {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "Message to send to the remote agent"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
required: ["remote_id", "message"]
|
|
65
|
+
},
|
|
66
|
+
handler: async (input) => {
|
|
67
|
+
const remoteId = String(input.remote_id || "").trim();
|
|
68
|
+
const message = String(input.message || "");
|
|
69
|
+
if (!remotes[remoteId]) return `Error: Unknown remote "${remoteId}". Available: ${ids.join(", ")}. Configure via multiAgent.remotes in hyperclaw.json.`;
|
|
70
|
+
if (!message) return "Error: message is required.";
|
|
71
|
+
const r = remotes[remoteId];
|
|
72
|
+
try {
|
|
73
|
+
const res = await postChat(r.url, message, r.token, remoteId);
|
|
74
|
+
if (res.error) return `Remote ${remoteId}: ${res.error}`;
|
|
75
|
+
return res.response ?? "(empty response)";
|
|
76
|
+
} catch (e) {
|
|
77
|
+
return `Remote ${remoteId}: ${e.message}`;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
return [tool];
|
|
82
|
+
}
|
|
83
|
+
var init_multi_agent_tools = require_chunk.__esm({ "packages/core/src/agent/multi-agent-tools.ts"() {} });
|
|
84
|
+
|
|
85
|
+
//#endregion
|
|
86
|
+
init_multi_agent_tools();
|
|
87
|
+
exports.getMultiAgentTools = getMultiAgentTools;
|
|
@@ -0,0 +1,77 @@
|
|
|
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 crypto = require_chunk.__toESM(require("crypto"));
|
|
5
|
+
|
|
6
|
+
//#region packages/memory-lancedb/src/multimodal.ts
|
|
7
|
+
const GEMINI_EMBED_MODEL = "models/gemini-embedding-2-preview";
|
|
8
|
+
function createGeminiMultimodalEmbedder(apiKey) {
|
|
9
|
+
const base = "https://generativelanguage.googleapis.com/v1beta";
|
|
10
|
+
async function embedContent(parts) {
|
|
11
|
+
const res = await fetch(`${base}/${GEMINI_EMBED_MODEL}:embedContent?key=${encodeURIComponent(apiKey)}`, {
|
|
12
|
+
method: "POST",
|
|
13
|
+
headers: { "Content-Type": "application/json" },
|
|
14
|
+
body: JSON.stringify({
|
|
15
|
+
model: GEMINI_EMBED_MODEL,
|
|
16
|
+
content: { parts },
|
|
17
|
+
taskType: "RETRIEVAL_DOCUMENT"
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
if (!res.ok) {
|
|
21
|
+
const err = await res.text();
|
|
22
|
+
throw new Error(`Gemini multimodal embed failed: ${res.status} ${err}`);
|
|
23
|
+
}
|
|
24
|
+
const j = await res.json();
|
|
25
|
+
const vec = j.embedding?.values;
|
|
26
|
+
if (!Array.isArray(vec)) throw new Error("Gemini embed: missing embedding.values");
|
|
27
|
+
return vec;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
embedText: (text) => embedContent([{ text }]),
|
|
31
|
+
embedImage: (data, mimeType) => embedContent([{ inlineData: {
|
|
32
|
+
mimeType,
|
|
33
|
+
data
|
|
34
|
+
} }]),
|
|
35
|
+
embedAudio: (data, mimeType) => embedContent([{ inlineData: {
|
|
36
|
+
mimeType,
|
|
37
|
+
data
|
|
38
|
+
} }])
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
async function addImageToMemory(store, embedder, imagePath, caption) {
|
|
42
|
+
const buf = await fs_extra.default.readFile(imagePath);
|
|
43
|
+
const base64 = buf.toString("base64");
|
|
44
|
+
const ext = path.default.extname(imagePath).toLowerCase();
|
|
45
|
+
const mimeType = ext === ".png" ? "image/png" : ext === ".webp" ? "image/webp" : "image/jpeg";
|
|
46
|
+
const embedding = await embedder.embedImage(base64, mimeType);
|
|
47
|
+
const text = caption || `[image: ${path.default.basename(imagePath)}]`;
|
|
48
|
+
const item = {
|
|
49
|
+
id: (0, crypto.randomUUID)(),
|
|
50
|
+
text,
|
|
51
|
+
category: "image",
|
|
52
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
53
|
+
embedding
|
|
54
|
+
};
|
|
55
|
+
await store.add([item]);
|
|
56
|
+
}
|
|
57
|
+
async function addAudioToMemory(store, embedder, audioPath, transcript) {
|
|
58
|
+
const buf = await fs_extra.default.readFile(audioPath);
|
|
59
|
+
const base64 = buf.toString("base64");
|
|
60
|
+
const ext = path.default.extname(audioPath).toLowerCase();
|
|
61
|
+
const mimeType = ext === ".mp3" ? "audio/mpeg" : ext === ".wav" ? "audio/wav" : ext === ".webm" ? "audio/webm" : "audio/mpeg";
|
|
62
|
+
const embedding = await embedder.embedAudio(base64, mimeType);
|
|
63
|
+
const text = transcript || `[audio: ${path.default.basename(audioPath)}]`;
|
|
64
|
+
const item = {
|
|
65
|
+
id: (0, crypto.randomUUID)(),
|
|
66
|
+
text,
|
|
67
|
+
category: "audio",
|
|
68
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
69
|
+
embedding
|
|
70
|
+
};
|
|
71
|
+
await store.add([item]);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
exports.addAudioToMemory = addAudioToMemory;
|
|
76
|
+
exports.addImageToMemory = addImageToMemory;
|
|
77
|
+
exports.createGeminiMultimodalEmbedder = createGeminiMultimodalEmbedder;
|