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.
Files changed (391) hide show
  1. package/README.md +1 -0
  2. package/dist/a2ui-protocol-CibzbTxL.js +75 -0
  3. package/dist/a2ui-protocol-Dtb8zlog.js +75 -0
  4. package/dist/a2ui-protocol-ORP2Etw0.js +75 -0
  5. package/dist/a2ui-protocol-whRZHdBk.js +75 -0
  6. package/dist/abort-controller-B55O1IgK.js +47995 -0
  7. package/dist/agents-routing-Ai2BQVpU.js +7 -0
  8. package/dist/agents-routing-B0RBl1B8.js +424 -0
  9. package/dist/agents-routing-BSUaOpce.js +7 -0
  10. package/dist/agents-routing-C4PVN8G6.js +7 -0
  11. package/dist/agents-routing-Dcr29-JV.js +424 -0
  12. package/dist/agents-routing-EwzORQQv.js +424 -0
  13. package/dist/agents-routing-Fd-uQ4R_.js +7 -0
  14. package/dist/agents-routing-eLjVYBAk.js +424 -0
  15. package/dist/api-key-validation-BANgbsfO.js +66 -0
  16. package/dist/api-key-validation-Bnz-0MMK.js +66 -0
  17. package/dist/api-key-validation-D_fMCaO5.js +66 -0
  18. package/dist/api-key-validation-Db7rG3JU.js +66 -0
  19. package/dist/api-keys-guide-B6AJ1V5D.js +149 -0
  20. package/dist/api-keys-guide-C75JQOdH.js +149 -0
  21. package/dist/api-keys-guide-CFJPrgsL.js +149 -0
  22. package/dist/api-keys-guide-DDz08BJQ.js +149 -0
  23. package/dist/audit-BLMB8qp7.js +445 -0
  24. package/dist/audit-Cb2TvqYZ.js +445 -0
  25. package/dist/audit-D7koAKvj.js +445 -0
  26. package/dist/audit-xP_175jB.js +445 -0
  27. package/dist/backup-7l3iovkX.js +86 -0
  28. package/dist/backup-BKLTHh62.js +86 -0
  29. package/dist/backup-CspxXk78.js +86 -0
  30. package/dist/backup-D8dFYDXV.js +86 -0
  31. package/dist/banner-CZ2BfvQq.js +143 -0
  32. package/dist/banner-CjTRWmks.js +7 -0
  33. package/dist/banner-Dpygks0H.js +143 -0
  34. package/dist/banner-ZX1WLr44.js +7 -0
  35. package/dist/bounty-tools-Cq-oC9gk.js +211 -0
  36. package/dist/bounty-tools-DZ-WtRdE.js +211 -0
  37. package/dist/bounty-tools-DhpmjF5Y.js +211 -0
  38. package/dist/bounty-tools-NGuBWI55.js +211 -0
  39. package/dist/browser-tools-5Fl1hP_2.js +5 -0
  40. package/dist/browser-tools-Ay-wU_a4.js +5 -0
  41. package/dist/browser-tools-BMgBB2fK.js +179 -0
  42. package/dist/browser-tools-kcViDwk5.js +179 -0
  43. package/dist/chat-BUa1oGqj.js +528 -0
  44. package/dist/chat-CiuT-GTs.js +528 -0
  45. package/dist/chat-DfI8uOzF.js +528 -0
  46. package/dist/chat-Dz5rmUSs.js +528 -0
  47. package/dist/chat-RTmX1F16.js +528 -0
  48. package/dist/claw-tasks-Cio1Q7eA.js +80 -0
  49. package/dist/claw-tasks-DzxNWVcz.js +80 -0
  50. package/dist/claw-tasks-L7vQSGlt.js +80 -0
  51. package/dist/claw-tasks-dndWneZW.js +80 -0
  52. package/dist/config-B-W-Mz4X.js +7 -0
  53. package/dist/config-BAwkTUJC.js +261 -0
  54. package/dist/config-CYPw2v4l.js +261 -0
  55. package/dist/config-DN9fdLL3.js +261 -0
  56. package/dist/config-FejpHHTz.js +261 -0
  57. package/dist/config-Tq_GJHf7.js +7 -0
  58. package/dist/config-n4qy5jIy.js +7 -0
  59. package/dist/config-qJUYRMzx.js +7 -0
  60. package/dist/connector-CwT7KZm2.js +309 -0
  61. package/dist/connector-DX4k-lGd.js +442 -0
  62. package/dist/cost-tracker-C2q5zKic.js +103 -0
  63. package/dist/cost-tracker-CsRQAOEr.js +103 -0
  64. package/dist/cost-tracker-DAXWN5YT.js +103 -0
  65. package/dist/cost-tracker-bySvehH6.js +103 -0
  66. package/dist/credentials-store-BAW87r6f.js +7 -0
  67. package/dist/credentials-store-BHtk7_H_.js +7 -0
  68. package/dist/credentials-store-CESgFvFU.js +89 -0
  69. package/dist/credentials-store-CR4WSDGl.js +7 -0
  70. package/dist/credentials-store-CXq4kZub.js +89 -0
  71. package/dist/credentials-store-DUp8dtaS.js +89 -0
  72. package/dist/credentials-store-hiSga8qn.js +89 -0
  73. package/dist/credentials-store-kLdrmqSt.js +7 -0
  74. package/dist/cron-tasks-BFsaCKxE.js +89 -0
  75. package/dist/cron-tasks-BelA2aUW.js +89 -0
  76. package/dist/cron-tasks-D1T9fWAb.js +89 -0
  77. package/dist/cron-tasks-f_ieXSG2.js +89 -0
  78. package/dist/daemon-BTYhQvD_.js +7 -0
  79. package/dist/daemon-BoaFnmdF.js +421 -0
  80. package/dist/daemon-BrHxr4ut.js +421 -0
  81. package/dist/daemon-BzdeLgON.js +421 -0
  82. package/dist/daemon-BzqWIC4v.js +7 -0
  83. package/dist/daemon-C3OczPR1.js +7 -0
  84. package/dist/daemon-D57KIIA3.js +421 -0
  85. package/dist/daemon-D8uyH9et.js +7 -0
  86. package/dist/daemon-DBTtYx6E.js +421 -0
  87. package/dist/daemon-srcdhzUG.js +7 -0
  88. package/dist/delivery-Bt0xW6L9.js +4 -0
  89. package/dist/delivery-C2sAERN7.js +4 -0
  90. package/dist/delivery-CF2Q4hb1.js +95 -0
  91. package/dist/delivery-CfMljOwk.js +95 -0
  92. package/dist/delivery-DP0d4_A4.js +95 -0
  93. package/dist/delivery-DXYt4aMO.js +4 -0
  94. package/dist/delivery-DXxP2UL4.js +4 -0
  95. package/dist/delivery-jT2UIDlU.js +95 -0
  96. package/dist/destructive-gate-5LYh6brt.js +116 -0
  97. package/dist/destructive-gate-B_hNKtu6.js +116 -0
  98. package/dist/destructive-gate-DvxPSDMR.js +116 -0
  99. package/dist/destructive-gate-Qd2y7x1B.js +116 -0
  100. package/dist/dist-B1qvBUax.js +30541 -0
  101. package/dist/engine-BBJlKpMP.js +7 -0
  102. package/dist/engine-BNygJfCo.js +335 -0
  103. package/dist/engine-DB4MBzki.js +7 -0
  104. package/dist/engine-DPi9fhMl.js +332 -0
  105. package/dist/engine-DeaqDcaT.js +7 -0
  106. package/dist/engine-DuvXJrUP.js +335 -0
  107. package/dist/engine-HkyTC_xl.js +332 -0
  108. package/dist/engine-JysunhPR.js +7 -0
  109. package/dist/engine-MzEUw7qb.js +7 -0
  110. package/dist/engine-j9Yaqt_-.js +332 -0
  111. package/dist/env-resolve--MaE2kFF.js +167 -0
  112. package/dist/env-resolve-BYWG94tK.js +11 -0
  113. package/dist/env-resolve-Bop7KbNq.js +167 -0
  114. package/dist/env-resolve-Buos635Y.js +167 -0
  115. package/dist/env-resolve-D3dP1-Xt.js +11 -0
  116. package/dist/env-resolve-DvsbhPKl.js +11 -0
  117. package/dist/env-resolve-NNM3F6Eo.js +167 -0
  118. package/dist/env-resolve-dTjn-g8X.js +11 -0
  119. package/dist/extraction-tools-Bh5F0ENP.js +91 -0
  120. package/dist/extraction-tools-BjzXD9LW.js +5 -0
  121. package/dist/extraction-tools-D1lrDYhe.js +5 -0
  122. package/dist/extraction-tools-FBwtT2Bx.js +91 -0
  123. package/dist/fileFromPath-CodL6KXh.js +85 -0
  124. package/dist/gmail-watch-setup--eQ8raeb.js +42 -0
  125. package/dist/gmail-watch-setup-9t14gy1B.js +42 -0
  126. package/dist/gmail-watch-setup-B9fx_OLg.js +42 -0
  127. package/dist/gmail-watch-setup-DP3kDRx1.js +42 -0
  128. package/dist/heartbeat-engine-5iOlL7Dj.js +89 -0
  129. package/dist/heartbeat-engine-Bu4q18GH.js +89 -0
  130. package/dist/heartbeat-engine-CF_JjNJ4.js +89 -0
  131. package/dist/heartbeat-engine-CLADYZxE.js +89 -0
  132. package/dist/hub-CZeGrS20.js +6 -0
  133. package/dist/hub-DAkEVTEy.js +545 -0
  134. package/dist/hyperclawbot-CNVUtvYC.js +516 -0
  135. package/dist/hyperclawbot-D5ofLNgm.js +516 -0
  136. package/dist/hyperclawbot-D61zVMyQ.js +516 -0
  137. package/dist/hyperclawbot-DwScttSx.js +516 -0
  138. package/dist/hyperclawbot-v65eL2U0.js +516 -0
  139. package/dist/inference-BEvs7s3c.js +2854 -0
  140. package/dist/inference-C4b9YqXk.js +8 -0
  141. package/dist/inference-CRF6HyyH.js +2854 -0
  142. package/dist/inference-CfhTACI8.js +2854 -0
  143. package/dist/inference-DGsy36Ru.js +8 -0
  144. package/dist/inference-Da7Hw4J3.js +8 -0
  145. package/dist/inference-DhJ-SHZn.js +8 -0
  146. package/dist/inference-K7Jrnzre.js +2854 -0
  147. package/dist/isFile-CSxoSB8X.js +2274 -0
  148. package/dist/knowledge-graph-BdsJ5KEL.js +134 -0
  149. package/dist/knowledge-graph-CFRBepzr.js +134 -0
  150. package/dist/knowledge-graph-CeDeahui.js +134 -0
  151. package/dist/knowledge-graph-DoYFZnUr.js +134 -0
  152. package/dist/loader-C2qtNbtF.js +6 -0
  153. package/dist/loader-D6yjBYo4.js +410 -0
  154. package/dist/loader-DBO6yRNh.js +6 -0
  155. package/dist/loader-DUhmG3V9.js +410 -0
  156. package/dist/loader-Dl8LNycw.js +6 -0
  157. package/dist/loader-UpOYxgZv.js +6 -0
  158. package/dist/loader-hXv2mZjK.js +410 -0
  159. package/dist/loader-nDBcv3Tm.js +410 -0
  160. package/dist/logger-BD316YbA.js +86 -0
  161. package/dist/logger-BnXZkfsp.js +86 -0
  162. package/dist/logger-CmphFNmW.js +86 -0
  163. package/dist/logger-DkHzhh56.js +86 -0
  164. package/dist/manager-3-q8zuAW.js +250 -0
  165. package/dist/manager-BkMzc-EJ.js +250 -0
  166. package/dist/manager-Bq5LApdR.js +6 -0
  167. package/dist/manager-CNgdJunf.js +250 -0
  168. package/dist/manager-CozyZSDG.js +250 -0
  169. package/dist/manager-D4mDWXph.js +120 -0
  170. package/dist/manager-DuS-WQhZ.js +120 -0
  171. package/dist/manager-Dz2eKYqo.js +116 -0
  172. package/dist/manager-R0TlRMZy.js +120 -0
  173. package/dist/manager-aJfY7rt6.js +120 -0
  174. package/dist/mcp-BH7HtOQ8.js +142 -0
  175. package/dist/mcp-CAJSA_ee.js +142 -0
  176. package/dist/mcp-CD-iIQa2.js +142 -0
  177. package/dist/mcp-DGo37Ifb.js +142 -0
  178. package/dist/mcp-loader-Ct1NQKnX.js +93 -0
  179. package/dist/mcp-loader-D1T6UX73.js +93 -0
  180. package/dist/mcp-loader-DJk6MEof.js +93 -0
  181. package/dist/mcp-loader-DdXvU63s.js +93 -0
  182. package/dist/mcp-loader-gMliiJ7R.js +93 -0
  183. package/dist/memory-CyonlkTy.js +6 -0
  184. package/dist/memory-DPSWQBc0.js +276 -0
  185. package/dist/memory-auto-B0QOqaUD.js +306 -0
  186. package/dist/memory-auto-BSxYJugl.js +5 -0
  187. package/dist/memory-auto-CcFRxMj-.js +306 -0
  188. package/dist/memory-auto-CifT5aj_.js +5 -0
  189. package/dist/memory-auto-Cp2Jwx3Y.js +306 -0
  190. package/dist/memory-auto-DjK_D8CA.js +306 -0
  191. package/dist/memory-auto-N57dp4Do.js +5 -0
  192. package/dist/memory-auto-n0kOcU7F.js +5 -0
  193. package/dist/memory-integration-D8shLJwp.js +91 -0
  194. package/dist/memory-integration-DLmzJ62L.js +91 -0
  195. package/dist/memory-integration-DMXDbMIL.js +91 -0
  196. package/dist/memory-integration-Dgr-mjue.js +91 -0
  197. package/dist/moltbook-CIeOshK6.js +81 -0
  198. package/dist/moltbook-CX5XWn06.js +81 -0
  199. package/dist/moltbook-DUfiE4NY.js +81 -0
  200. package/dist/moltbook-YEiNI8Cm.js +81 -0
  201. package/dist/multi-agent-tools-jzfvT4zP.js +87 -0
  202. package/dist/multimodal-zZdwqISl.js +77 -0
  203. package/dist/node-BYrxELx2.js +251 -0
  204. package/dist/node-CLWgPlAk.js +251 -0
  205. package/dist/node-Czz8Y85D.js +251 -0
  206. package/dist/node-Du2H2Ddi.js +226 -0
  207. package/dist/node-domexception-v89b0Nwz.js +21 -0
  208. package/dist/node-pending-queue-DUXCbYkp.js +32 -0
  209. package/dist/node-pending-queue-DZp7cdfo.js +32 -0
  210. package/dist/node-pending-queue-iYpoWqxe.js +32 -0
  211. package/dist/nodes-registry-BTy7Sc7D.js +52 -0
  212. package/dist/nodes-registry-BYjmmJBU.js +52 -0
  213. package/dist/nodes-registry-C8GeEGq0.js +52 -0
  214. package/dist/nodes-registry-Du6Klz0l.js +52 -0
  215. package/dist/oauth-flow-BA0yMrHx.js +148 -0
  216. package/dist/oauth-flow-C4QSMsbl.js +148 -0
  217. package/dist/oauth-flow-CIuDBDsp.js +148 -0
  218. package/dist/oauth-flow-CniM4jlJ.js +148 -0
  219. package/dist/oauth-provider-BA4GVFKg.js +111 -0
  220. package/dist/oauth-provider-Bnul5A_Z.js +111 -0
  221. package/dist/oauth-provider-DqPXPiiC.js +111 -0
  222. package/dist/oauth-provider-MEgHjij2.js +111 -0
  223. package/dist/observability-0spm7MPz.js +89 -0
  224. package/dist/observability-BOMYgHUh.js +89 -0
  225. package/dist/observability-CDqHr-_o.js +89 -0
  226. package/dist/observability-ah2a7sh1.js +89 -0
  227. package/dist/onboard-BJ78s3NT.js +3854 -0
  228. package/dist/onboard-C55YXd_e.js +14 -0
  229. package/dist/onboard-CNnm4yYp.js +3841 -0
  230. package/dist/onboard-CXSVPnP7.js +3854 -0
  231. package/dist/onboard-CwvXXOR1.js +14 -0
  232. package/dist/onboard-CxlIsNhX.js +3854 -0
  233. package/dist/onboard-DPmufMqX.js +14 -0
  234. package/dist/onboard-F9lKA2ie.js +14 -0
  235. package/dist/onboard-UTQXzlPD.js +3854 -0
  236. package/dist/onboard-hK098kjl.js +14 -0
  237. package/dist/openai-CrdtuLxw.js +6292 -0
  238. package/dist/orchestrator-5M-6MB7r.js +6 -0
  239. package/dist/orchestrator-B3BjP1dy.js +6 -0
  240. package/dist/orchestrator-BZS62iDS.js +6 -0
  241. package/dist/orchestrator-CTMbjgH_.js +6 -0
  242. package/dist/orchestrator-Crn4fgbI.js +189 -0
  243. package/dist/orchestrator-Cs6s-QmS.js +189 -0
  244. package/dist/orchestrator-DGqwsLmO.js +189 -0
  245. package/dist/orchestrator-UUHsFKiH.js +6 -0
  246. package/dist/orchestrator-oa7HbCnF.js +189 -0
  247. package/dist/orchestrator-tUKag7pG.js +189 -0
  248. package/dist/osint-BJvOCmVk.js +283 -0
  249. package/dist/osint-CK9xVUUm.js +283 -0
  250. package/dist/osint-D6vQXCWh.js +283 -0
  251. package/dist/osint-DLYZsp1k.js +283 -0
  252. package/dist/osint-cAAdO-cx.js +283 -0
  253. package/dist/osint-chat-B0lc0Y6r.js +789 -0
  254. package/dist/osint-chat-BUhiSpf9.js +789 -0
  255. package/dist/osint-chat-C-9FVAkU.js +789 -0
  256. package/dist/osint-chat-CWET8Fno.js +789 -0
  257. package/dist/osint-chat-Cgdzg3lh.js +789 -0
  258. package/dist/pc-access-BCaF5mRs.js +858 -0
  259. package/dist/pc-access-BOcXappE.js +858 -0
  260. package/dist/pc-access-BgZNmAdB.js +8 -0
  261. package/dist/pc-access-CAoM6WN4.js +8 -0
  262. package/dist/pc-access-D2HdoziZ.js +8 -0
  263. package/dist/pc-access-D4g0fjQb.js +858 -0
  264. package/dist/pending-approval-CJPyt8U5.js +22 -0
  265. package/dist/pending-approval-CzMNCTfZ.js +22 -0
  266. package/dist/pending-approval-DaXi7otO.js +22 -0
  267. package/dist/pending-approval-KcyeiifE.js +22 -0
  268. package/dist/providers-DrZP0NeR.js +5 -0
  269. package/dist/providers-dHhpJo9j.js +1120 -0
  270. package/dist/reminders-store-B58LldEG.js +58 -0
  271. package/dist/reminders-store-C4gWckLa.js +58 -0
  272. package/dist/reminders-store-DT0o6a60.js +58 -0
  273. package/dist/renderer-B8c22rbg.js +228 -0
  274. package/dist/renderer-BS0ETL20.js +228 -0
  275. package/dist/renderer-Cg3c41A5.js +228 -0
  276. package/dist/renderer-UoPcgaAd.js +228 -0
  277. package/dist/rules-D0v5nuSE.js +106 -0
  278. package/dist/rules-DCKPgwLb.js +106 -0
  279. package/dist/rules-Zn9j4PnO.js +106 -0
  280. package/dist/rules-oAgOSPHC.js +106 -0
  281. package/dist/run-main.js +457 -131
  282. package/dist/runner-BaZ2V27T.js +1307 -0
  283. package/dist/runner-Bgl7UTbV.js +1307 -0
  284. package/dist/runner-DOKp3-v5.js +1307 -0
  285. package/dist/runner-voYdfM_f.js +1307 -0
  286. package/dist/search-tools-BBwMa8VX.js +107 -0
  287. package/dist/search-tools-CEUOO9Jf.js +107 -0
  288. package/dist/search-tools-VHP3xVyC.js +107 -0
  289. package/dist/search-tools-w_zT7-dr.js +107 -0
  290. package/dist/server-BAdJwMM9.js +4 -0
  291. package/dist/server-BD9FLc7S.js +1384 -0
  292. package/dist/server-BlqWBbS7.js +4 -0
  293. package/dist/server-BzwPvTbD.js +1447 -0
  294. package/dist/server-CBvSfG4w.js +4 -0
  295. package/dist/server-CbNBcB41.js +4 -0
  296. package/dist/server-DPTXaJJF.js +4 -0
  297. package/dist/server-Dv2zHHy-.js +1447 -0
  298. package/dist/server-MDmdWHob.js +1447 -0
  299. package/dist/server-N9LnLQCS.js +1447 -0
  300. package/dist/session-store-C6Otslf9.js +5 -0
  301. package/dist/session-store-Cmfnvuw9.js +141 -0
  302. package/dist/session-store-CuR9DgRf.js +5 -0
  303. package/dist/session-store-Cx1RMBhS.js +5 -0
  304. package/dist/session-store-DPPHkJBn.js +5 -0
  305. package/dist/session-store-DWLCWQFS.js +141 -0
  306. package/dist/session-store-qGufR_m5.js +141 -0
  307. package/dist/session-store-sUpA509O.js +141 -0
  308. package/dist/sessions-tools-9Z8TtdmP.js +5 -0
  309. package/dist/sessions-tools-BAZnoQLp.js +95 -0
  310. package/dist/sessions-tools-Bb_zF947.js +95 -0
  311. package/dist/sessions-tools-ClrKqLII.js +131 -0
  312. package/dist/sessions-tools-DFe23ZDD.js +5 -0
  313. package/dist/sessions-tools-JHSZ6Bns.js +5 -0
  314. package/dist/sessions-tools-TsRdeFb7.js +95 -0
  315. package/dist/sessions-tools-nYP3Agfs.js +5 -0
  316. package/dist/skill-loader-9jg876RH.js +160 -0
  317. package/dist/skill-loader-CM4KWQ7_.js +160 -0
  318. package/dist/skill-loader-CS3OP4Lr.js +160 -0
  319. package/dist/skill-loader-CnJDLNbY.js +7 -0
  320. package/dist/skill-loader-DRLgt5V2.js +160 -0
  321. package/dist/skill-loader-DVpEgYV2.js +7 -0
  322. package/dist/skill-loader-Df5T_UFl.js +7 -0
  323. package/dist/skill-loader-DxE-gZkT.js +7 -0
  324. package/dist/skill-runtime-8Xh5874w.js +104 -0
  325. package/dist/skill-runtime-B3aUdWKh.js +104 -0
  326. package/dist/skill-runtime-BKyhYvpW.js +5 -0
  327. package/dist/skill-runtime-BP0kZfmM.js +5 -0
  328. package/dist/skill-runtime-CLK5HTVE.js +5 -0
  329. package/dist/skill-runtime-COyc3Bci.js +104 -0
  330. package/dist/skill-runtime-CvDXX7wN.js +5 -0
  331. package/dist/skill-runtime-D4REZnhY.js +104 -0
  332. package/dist/skill-runtime-DQRi9sIf.js +5 -0
  333. package/dist/skill-runtime-DRd56NWK.js +104 -0
  334. package/dist/src-9GyYED0T.js +63 -0
  335. package/dist/src-B9L6qb-Z.js +462 -0
  336. package/dist/src-BEjIVOmq.js +63 -0
  337. package/dist/src-BY3On_zO.js +462 -0
  338. package/dist/src-BdgKAlMQ.js +20 -0
  339. package/dist/src-C52A3OwC.js +301 -0
  340. package/dist/src-C8cbfjat.js +173 -0
  341. package/dist/src-CQ2lZvdF.js +462 -0
  342. package/dist/src-Cdwn9xpG.js +462 -0
  343. package/dist/src-CyCLoqIP.js +63 -0
  344. package/dist/src-D-OND_62.js +301 -0
  345. package/dist/src-DFo8lVfV.js +300 -0
  346. package/dist/src-DJbpP4Gs.js +462 -0
  347. package/dist/src-DPfnArdr.js +300 -0
  348. package/dist/src-DTft7Qvt.js +63 -0
  349. package/dist/src-DgvFah8g.js +153 -0
  350. package/dist/src-TYvV_oFO.js +63 -0
  351. package/dist/src-lltU5gkh.js +20 -0
  352. package/dist/sub-agent-tools-CE8pVUdb.js +39 -0
  353. package/dist/sub-agent-tools-CQWNfYn_.js +39 -0
  354. package/dist/sub-agent-tools-CViiqebO.js +39 -0
  355. package/dist/sub-agent-tools-DgT4jUHC.js +39 -0
  356. package/dist/sub-agent-tools-Lbin_4S3.js +39 -0
  357. package/dist/tool-policy-1EBdJkSG.js +190 -0
  358. package/dist/tool-policy-B1bL0X-E.js +189 -0
  359. package/dist/tool-policy-NLbucl5-.js +189 -0
  360. package/dist/tool-policy-yNVTLNDY.js +189 -0
  361. package/dist/tts-elevenlabs-Bk24wQ2V.js +64 -0
  362. package/dist/tts-elevenlabs-CHrJZuNW.js +64 -0
  363. package/dist/tts-elevenlabs-DHqQsqMz.js +64 -0
  364. package/dist/tts-elevenlabs-TUKPkSV2.js +64 -0
  365. package/dist/vision-CW1YCKed.js +167 -0
  366. package/dist/vision-DPLmrwUA.js +167 -0
  367. package/dist/vision-Q4EOcBS6.js +167 -0
  368. package/dist/vision-XyAGO5La.js +167 -0
  369. package/dist/vision-tools-B5DNR28M.js +5 -0
  370. package/dist/vision-tools-CC9HSuvN.js +51 -0
  371. package/dist/vision-tools-Ca3OhtdX.js +51 -0
  372. package/dist/vision-tools-CpU2fSRv.js +51 -0
  373. package/dist/vision-tools-Ct52djW8.js +51 -0
  374. package/dist/vision-tools-DF7N2DDI.js +5 -0
  375. package/dist/vision-tools-DyP6lRA5.js +5 -0
  376. package/dist/vision-tools-RIVKEUeY.js +5 -0
  377. package/dist/voice-transcription-Bz2y0nPK.js +170 -0
  378. package/dist/voice-transcription-CVFcHpPF.js +170 -0
  379. package/dist/voice-transcription-CvQuWPYK.js +170 -0
  380. package/dist/voice-transcription-YqndiLA7.js +170 -0
  381. package/dist/website-watch-tools-B036Y8OQ.js +176 -0
  382. package/dist/website-watch-tools-B8CHie8v.js +5 -0
  383. package/dist/website-watch-tools-Brk5oIEv.js +176 -0
  384. package/dist/website-watch-tools-CJqRj_GB.js +5 -0
  385. package/dist/website-watch-tools-CSSEu3Qy.js +5 -0
  386. package/dist/website-watch-tools-D92dkYZa.js +176 -0
  387. package/dist/website-watch-tools-Du_a8lXq.js +176 -0
  388. package/dist/website-watch-tools-UdTBGgRk.js +5 -0
  389. package/package.json +5 -3
  390. package/static/web/assets/{index-Bf8pf7Wg.js → index-8bDizzaq.js} +2 -2
  391. package/static/web/index.html +1 -1
@@ -0,0 +1,167 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region src/infra/env-resolve.ts
4
+ function resolveGatewayToken(authTokenFromConfig) {
5
+ return authTokenFromConfig || process.env.HYPERCLAW_GATEWAY_TOKEN || "";
6
+ }
7
+ function resolveProviderApiKey(cfg) {
8
+ if (!cfg) return "";
9
+ const key = cfg.provider?.apiKey;
10
+ if (key) return key;
11
+ const pid = cfg.provider?.providerId || "openrouter";
12
+ switch (pid) {
13
+ case "openrouter": return process.env.OPENROUTER_API_KEY || "";
14
+ case "anthropic": return process.env.ANTHROPIC_API_KEY || "";
15
+ case "openai": return process.env.OPENAI_API_KEY || "";
16
+ case "xai": return process.env.XAI_API_KEY || "";
17
+ case "google": return process.env.GOOGLE_AI_API_KEY || "";
18
+ case "opencode-go":
19
+ case "opencode-zen": return process.env.OPENCODE_API_KEY || "";
20
+ case "ollama": return process.env.OLLAMA_API_KEY || "";
21
+ case "custom": return "";
22
+ default: return process.env.OPENROUTER_API_KEY || process.env.ANTHROPIC_API_KEY || "";
23
+ }
24
+ }
25
+ /**
26
+
27
+ * H-2: Resolve API key or OAuth access token (async).
28
+
29
+ * Resolution order:
30
+
31
+ * 1. cfg.provider.apiKey (in config file)
32
+
33
+ * 2. CredentialsStore (~/.hyperclaw/credentials/<providerId>.json)
34
+
35
+ * 3. AuthStore (~/.hyperclaw/auth.json providers map)
36
+
37
+ * 4. Environment variables (per-provider mapping in resolveProviderApiKey)
38
+
39
+ * Also handles authType === 'oauth' via the oauth-provider service.
40
+
41
+ */
42
+ async function getProviderCredentialAsync(cfg) {
43
+ if (!cfg?.provider) return "";
44
+ if (cfg.provider.authType === "oauth") {
45
+ const { getProviderCredentialAsync: getOAuth } = await Promise.resolve().then(() => require("./oauth-provider-BA4GVFKg.js"));
46
+ return getOAuth(cfg);
47
+ }
48
+ if (cfg.provider.apiKey) return cfg.provider.apiKey;
49
+ const pid = cfg.provider.providerId || "openrouter";
50
+ try {
51
+ const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-kLdrmqSt.js"));
52
+ const { getHyperClawDir } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
53
+ const credStore = new CredentialsStore(getHyperClawDir());
54
+ const cred = await credStore.get(pid);
55
+ if (cred?.apiKey) return cred.apiKey;
56
+ } catch (e) {
57
+ if (process.env.DEBUG) console.error("[env-resolve] CredentialsStore:", e?.message);
58
+ }
59
+ try {
60
+ const { AuthStore } = await Promise.resolve().then(() => require("./device-auth-store-C1bCwXO2.js"));
61
+ const { getHyperClawDir } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
62
+ const authStore = new AuthStore(getHyperClawDir());
63
+ const key = await authStore.getProviderKey(pid);
64
+ if (key) return key;
65
+ } catch (e) {
66
+ if (process.env.DEBUG) console.error("[env-resolve] AuthStore:", e?.message);
67
+ }
68
+ return resolveProviderApiKey(cfg);
69
+ }
70
+ /** Resolve Brave Search API key. Order: webSearch (provider=brave), skills.apiKeys.brave, BRAVE_API_KEY. */
71
+ function resolveBraveApiKey(cfg) {
72
+ if (cfg?.webSearch?.provider === "brave" && cfg.webSearch.apiKey) return cfg.webSearch.apiKey;
73
+ const fromSkills = cfg?.skills?.apiKeys?.["brave"];
74
+ if (fromSkills) return fromSkills;
75
+ return process.env.BRAVE_API_KEY || "";
76
+ }
77
+ /** Resolve API key for a service (bug bounty, research apps, etc.). Config first, then env. */
78
+ function resolveServiceApiKey(serviceId, cfg) {
79
+ const key = cfg?.skills?.apiKeys?.[serviceId];
80
+ if (key) return key;
81
+ const envKey = SERVICE_ENV[serviceId] || `${serviceId.toUpperCase().replace(/-/g, "_")}_API_KEY`;
82
+ return process.env[envKey] || process.env[envKey.replace(/-/g, "_")] || "";
83
+ }
84
+ function resolveChannelToken(channelId, tokenFromConfig) {
85
+ if (tokenFromConfig) return tokenFromConfig;
86
+ const envKey = CHANNEL_ENV[channelId] || `${channelId.toUpperCase().replace(/-/g, "_")}_BOT_TOKEN`;
87
+ return process.env[envKey] || process.env[`${channelId.toUpperCase()}_BOT_TOKEN`] || "";
88
+ }
89
+ /**
90
+
91
+ * Returns a summary of active path environment overrides.
92
+
93
+ * Useful for `hyperclaw health -v` and `hyperclaw status --all`.
94
+
95
+ */
96
+ function resolvePathEnvOverrides() {
97
+ return {
98
+ ...process.env.HYPERCLAW_HOME ? { hyperclawHome: process.env.HYPERCLAW_HOME } : {},
99
+ ...process.env.HYPERCLAW_STATE_DIR ? { stateDir: process.env.HYPERCLAW_STATE_DIR } : {},
100
+ ...process.env.HYPERCLAW_CONFIG_PATH ? { configPath: process.env.HYPERCLAW_CONFIG_PATH } : {},
101
+ ...process.env.HYPERCLAW_GATEWAY_TOKEN ? { gatewayToken: "(set)" } : {}
102
+ };
103
+ }
104
+ var CHANNEL_ENV, SERVICE_ENV;
105
+ var init_env_resolve = require_chunk.__esm({ "src/infra/env-resolve.ts"() {
106
+ CHANNEL_ENV = {
107
+ telegram: "TELEGRAM_BOT_TOKEN",
108
+ discord: "DISCORD_BOT_TOKEN",
109
+ slack: "SLACK_BOT_TOKEN"
110
+ };
111
+ SERVICE_ENV = {
112
+ hackerone: "HACKERONE_API_USERNAME",
113
+ "hackerone-token": "HACKERONE_API_TOKEN",
114
+ bugcrowd: "BUGCROWD_API_TOKEN",
115
+ synack: "SYNACK_API_TOKEN"
116
+ };
117
+ } });
118
+
119
+ //#endregion
120
+ Object.defineProperty(exports, 'getProviderCredentialAsync', {
121
+ enumerable: true,
122
+ get: function () {
123
+ return getProviderCredentialAsync;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, 'init_env_resolve', {
127
+ enumerable: true,
128
+ get: function () {
129
+ return init_env_resolve;
130
+ }
131
+ });
132
+ Object.defineProperty(exports, 'resolveBraveApiKey', {
133
+ enumerable: true,
134
+ get: function () {
135
+ return resolveBraveApiKey;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, 'resolveChannelToken', {
139
+ enumerable: true,
140
+ get: function () {
141
+ return resolveChannelToken;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, 'resolveGatewayToken', {
145
+ enumerable: true,
146
+ get: function () {
147
+ return resolveGatewayToken;
148
+ }
149
+ });
150
+ Object.defineProperty(exports, 'resolvePathEnvOverrides', {
151
+ enumerable: true,
152
+ get: function () {
153
+ return resolvePathEnvOverrides;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, 'resolveProviderApiKey', {
157
+ enumerable: true,
158
+ get: function () {
159
+ return resolveProviderApiKey;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, 'resolveServiceApiKey', {
163
+ enumerable: true,
164
+ get: function () {
165
+ return resolveServiceApiKey;
166
+ }
167
+ });
@@ -0,0 +1,11 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_env_resolve = require('./env-resolve-NNM3F6Eo.js');
3
+
4
+ require_env_resolve.init_env_resolve();
5
+ exports.getProviderCredentialAsync = require_env_resolve.getProviderCredentialAsync;
6
+ exports.resolveBraveApiKey = require_env_resolve.resolveBraveApiKey;
7
+ exports.resolveChannelToken = require_env_resolve.resolveChannelToken;
8
+ exports.resolveGatewayToken = require_env_resolve.resolveGatewayToken;
9
+ exports.resolvePathEnvOverrides = require_env_resolve.resolvePathEnvOverrides;
10
+ exports.resolveProviderApiKey = require_env_resolve.resolveProviderApiKey;
11
+ exports.resolveServiceApiKey = require_env_resolve.resolveServiceApiKey;
@@ -0,0 +1,11 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_env_resolve = require('./env-resolve-Buos635Y.js');
3
+
4
+ require_env_resolve.init_env_resolve();
5
+ exports.getProviderCredentialAsync = require_env_resolve.getProviderCredentialAsync;
6
+ exports.resolveBraveApiKey = require_env_resolve.resolveBraveApiKey;
7
+ exports.resolveChannelToken = require_env_resolve.resolveChannelToken;
8
+ exports.resolveGatewayToken = require_env_resolve.resolveGatewayToken;
9
+ exports.resolvePathEnvOverrides = require_env_resolve.resolvePathEnvOverrides;
10
+ exports.resolveProviderApiKey = require_env_resolve.resolveProviderApiKey;
11
+ exports.resolveServiceApiKey = require_env_resolve.resolveServiceApiKey;
@@ -0,0 +1,167 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region src/infra/env-resolve.ts
4
+ function resolveGatewayToken(authTokenFromConfig) {
5
+ return authTokenFromConfig || process.env.HYPERCLAW_GATEWAY_TOKEN || "";
6
+ }
7
+ function resolveProviderApiKey(cfg) {
8
+ if (!cfg) return "";
9
+ const key = cfg.provider?.apiKey;
10
+ if (key) return key;
11
+ const pid = cfg.provider?.providerId || "openrouter";
12
+ switch (pid) {
13
+ case "openrouter": return process.env.OPENROUTER_API_KEY || "";
14
+ case "anthropic": return process.env.ANTHROPIC_API_KEY || "";
15
+ case "openai": return process.env.OPENAI_API_KEY || "";
16
+ case "xai": return process.env.XAI_API_KEY || "";
17
+ case "google": return process.env.GOOGLE_AI_API_KEY || "";
18
+ case "opencode-go":
19
+ case "opencode-zen": return process.env.OPENCODE_API_KEY || "";
20
+ case "ollama": return process.env.OLLAMA_API_KEY || "";
21
+ case "custom": return "";
22
+ default: return process.env.OPENROUTER_API_KEY || process.env.ANTHROPIC_API_KEY || "";
23
+ }
24
+ }
25
+ /**
26
+
27
+ * H-2: Resolve API key or OAuth access token (async).
28
+
29
+ * Resolution order:
30
+
31
+ * 1. cfg.provider.apiKey (in config file)
32
+
33
+ * 2. CredentialsStore (~/.hyperclaw/credentials/<providerId>.json)
34
+
35
+ * 3. AuthStore (~/.hyperclaw/auth.json providers map)
36
+
37
+ * 4. Environment variables (per-provider mapping in resolveProviderApiKey)
38
+
39
+ * Also handles authType === 'oauth' via the oauth-provider service.
40
+
41
+ */
42
+ async function getProviderCredentialAsync(cfg) {
43
+ if (!cfg?.provider) return "";
44
+ if (cfg.provider.authType === "oauth") {
45
+ const { getProviderCredentialAsync: getOAuth } = await Promise.resolve().then(() => require("./oauth-provider-Bnul5A_Z.js"));
46
+ return getOAuth(cfg);
47
+ }
48
+ if (cfg.provider.apiKey) return cfg.provider.apiKey;
49
+ const pid = cfg.provider.providerId || "openrouter";
50
+ try {
51
+ const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-CR4WSDGl.js"));
52
+ const { getHyperClawDir } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
53
+ const credStore = new CredentialsStore(getHyperClawDir());
54
+ const cred = await credStore.get(pid);
55
+ if (cred?.apiKey) return cred.apiKey;
56
+ } catch (e) {
57
+ if (process.env.DEBUG) console.error("[env-resolve] CredentialsStore:", e?.message);
58
+ }
59
+ try {
60
+ const { AuthStore } = await Promise.resolve().then(() => require("./device-auth-store-C1bCwXO2.js"));
61
+ const { getHyperClawDir } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
62
+ const authStore = new AuthStore(getHyperClawDir());
63
+ const key = await authStore.getProviderKey(pid);
64
+ if (key) return key;
65
+ } catch (e) {
66
+ if (process.env.DEBUG) console.error("[env-resolve] AuthStore:", e?.message);
67
+ }
68
+ return resolveProviderApiKey(cfg);
69
+ }
70
+ /** Resolve Brave Search API key. Order: webSearch (provider=brave), skills.apiKeys.brave, BRAVE_API_KEY. */
71
+ function resolveBraveApiKey(cfg) {
72
+ if (cfg?.webSearch?.provider === "brave" && cfg.webSearch.apiKey) return cfg.webSearch.apiKey;
73
+ const fromSkills = cfg?.skills?.apiKeys?.["brave"];
74
+ if (fromSkills) return fromSkills;
75
+ return process.env.BRAVE_API_KEY || "";
76
+ }
77
+ /** Resolve API key for a service (bug bounty, research apps, etc.). Config first, then env. */
78
+ function resolveServiceApiKey(serviceId, cfg) {
79
+ const key = cfg?.skills?.apiKeys?.[serviceId];
80
+ if (key) return key;
81
+ const envKey = SERVICE_ENV[serviceId] || `${serviceId.toUpperCase().replace(/-/g, "_")}_API_KEY`;
82
+ return process.env[envKey] || process.env[envKey.replace(/-/g, "_")] || "";
83
+ }
84
+ function resolveChannelToken(channelId, tokenFromConfig) {
85
+ if (tokenFromConfig) return tokenFromConfig;
86
+ const envKey = CHANNEL_ENV[channelId] || `${channelId.toUpperCase().replace(/-/g, "_")}_BOT_TOKEN`;
87
+ return process.env[envKey] || process.env[`${channelId.toUpperCase()}_BOT_TOKEN`] || "";
88
+ }
89
+ /**
90
+
91
+ * Returns a summary of active path environment overrides.
92
+
93
+ * Useful for `hyperclaw health -v` and `hyperclaw status --all`.
94
+
95
+ */
96
+ function resolvePathEnvOverrides() {
97
+ return {
98
+ ...process.env.HYPERCLAW_HOME ? { hyperclawHome: process.env.HYPERCLAW_HOME } : {},
99
+ ...process.env.HYPERCLAW_STATE_DIR ? { stateDir: process.env.HYPERCLAW_STATE_DIR } : {},
100
+ ...process.env.HYPERCLAW_CONFIG_PATH ? { configPath: process.env.HYPERCLAW_CONFIG_PATH } : {},
101
+ ...process.env.HYPERCLAW_GATEWAY_TOKEN ? { gatewayToken: "(set)" } : {}
102
+ };
103
+ }
104
+ var CHANNEL_ENV, SERVICE_ENV;
105
+ var init_env_resolve = require_chunk.__esm({ "src/infra/env-resolve.ts"() {
106
+ CHANNEL_ENV = {
107
+ telegram: "TELEGRAM_BOT_TOKEN",
108
+ discord: "DISCORD_BOT_TOKEN",
109
+ slack: "SLACK_BOT_TOKEN"
110
+ };
111
+ SERVICE_ENV = {
112
+ hackerone: "HACKERONE_API_USERNAME",
113
+ "hackerone-token": "HACKERONE_API_TOKEN",
114
+ bugcrowd: "BUGCROWD_API_TOKEN",
115
+ synack: "SYNACK_API_TOKEN"
116
+ };
117
+ } });
118
+
119
+ //#endregion
120
+ Object.defineProperty(exports, 'getProviderCredentialAsync', {
121
+ enumerable: true,
122
+ get: function () {
123
+ return getProviderCredentialAsync;
124
+ }
125
+ });
126
+ Object.defineProperty(exports, 'init_env_resolve', {
127
+ enumerable: true,
128
+ get: function () {
129
+ return init_env_resolve;
130
+ }
131
+ });
132
+ Object.defineProperty(exports, 'resolveBraveApiKey', {
133
+ enumerable: true,
134
+ get: function () {
135
+ return resolveBraveApiKey;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, 'resolveChannelToken', {
139
+ enumerable: true,
140
+ get: function () {
141
+ return resolveChannelToken;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, 'resolveGatewayToken', {
145
+ enumerable: true,
146
+ get: function () {
147
+ return resolveGatewayToken;
148
+ }
149
+ });
150
+ Object.defineProperty(exports, 'resolvePathEnvOverrides', {
151
+ enumerable: true,
152
+ get: function () {
153
+ return resolvePathEnvOverrides;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, 'resolveProviderApiKey', {
157
+ enumerable: true,
158
+ get: function () {
159
+ return resolveProviderApiKey;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, 'resolveServiceApiKey', {
163
+ enumerable: true,
164
+ get: function () {
165
+ return resolveServiceApiKey;
166
+ }
167
+ });
@@ -0,0 +1,11 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_env_resolve = require('./env-resolve-Bop7KbNq.js');
3
+
4
+ require_env_resolve.init_env_resolve();
5
+ exports.getProviderCredentialAsync = require_env_resolve.getProviderCredentialAsync;
6
+ exports.resolveBraveApiKey = require_env_resolve.resolveBraveApiKey;
7
+ exports.resolveChannelToken = require_env_resolve.resolveChannelToken;
8
+ exports.resolveGatewayToken = require_env_resolve.resolveGatewayToken;
9
+ exports.resolvePathEnvOverrides = require_env_resolve.resolvePathEnvOverrides;
10
+ exports.resolveProviderApiKey = require_env_resolve.resolveProviderApiKey;
11
+ exports.resolveServiceApiKey = require_env_resolve.resolveServiceApiKey;
@@ -0,0 +1,91 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const fs_extra = require_chunk.__toESM(require("fs-extra"));
3
+ const path = require_chunk.__toESM(require("path"));
4
+ const os = require_chunk.__toESM(require("os"));
5
+
6
+ //#region packages/core/src/agent/extraction-tools.ts
7
+ function safeRequire(id) {
8
+ try {
9
+ return require(id);
10
+ } catch {
11
+ return null;
12
+ }
13
+ }
14
+ function getExtractionTools() {
15
+ return [{
16
+ name: "extract_pdf",
17
+ description: "Extract text and structure from a PDF file. Returns full text content. Use for documents, forms, reports.",
18
+ input_schema: {
19
+ type: "object",
20
+ properties: { path: {
21
+ type: "string",
22
+ description: "Path to PDF file (absolute or ~)"
23
+ } },
24
+ required: ["path"]
25
+ },
26
+ handler: async (input) => {
27
+ const filePath = input.path.replace(/^~/, os.default.homedir());
28
+ if (!await fs_extra.default.pathExists(filePath)) return `Error: File not found: ${filePath}`;
29
+ const pdfParse = safeRequire("pdf-parse");
30
+ if (!pdfParse) return "Error: pdf-parse not installed. Run: npm install pdf-parse";
31
+ try {
32
+ const buf = await fs_extra.default.readFile(filePath);
33
+ const data = await pdfParse(buf);
34
+ const text = (data.text || "").trim().slice(0, 5e4);
35
+ return `Pages: ${data.numpages || "?"}\n\n${text || "(no extractable text)"}`;
36
+ } catch (e) {
37
+ return `Error: ${e.message}`;
38
+ }
39
+ }
40
+ }, {
41
+ name: "extract_spreadsheet",
42
+ description: "Extract data from Excel (.xlsx, .xls) or CSV. Returns sheet names and cell content as structured text.",
43
+ input_schema: {
44
+ type: "object",
45
+ properties: { path: {
46
+ type: "string",
47
+ description: "Path to spreadsheet (xlsx, xls, csv)"
48
+ } },
49
+ required: ["path"]
50
+ },
51
+ handler: async (input) => {
52
+ const filePath = input.path.replace(/^~/, os.default.homedir());
53
+ if (!await fs_extra.default.pathExists(filePath)) return `Error: File not found: ${filePath}`;
54
+ const ext = path.default.extname(filePath).toLowerCase();
55
+ if (ext === ".csv") {
56
+ const content = await fs_extra.default.readFile(filePath, "utf8");
57
+ return content.slice(0, 5e4);
58
+ }
59
+ const XLSX = safeRequire("xlsx");
60
+ if (!XLSX) return "Error: xlsx not installed. Run: npm install xlsx";
61
+ try {
62
+ const buf = await fs_extra.default.readFile(filePath);
63
+ const wb = XLSX.read(buf, { type: "buffer" });
64
+ const parts = [];
65
+ for (const name of wb.SheetNames) {
66
+ const sheet = wb.Sheets[name];
67
+ const arr = XLSX.utils.sheet_to_csv(sheet);
68
+ parts.push(`Sheet: ${name}\n${arr.slice(0, 2e4)}`);
69
+ }
70
+ return parts.join("\n\n---\n\n").slice(0, 5e4);
71
+ } catch (e) {
72
+ return `Error: ${e.message}`;
73
+ }
74
+ }
75
+ }];
76
+ }
77
+ var init_extraction_tools = require_chunk.__esm({ "packages/core/src/agent/extraction-tools.ts"() {} });
78
+
79
+ //#endregion
80
+ Object.defineProperty(exports, 'getExtractionTools', {
81
+ enumerable: true,
82
+ get: function () {
83
+ return getExtractionTools;
84
+ }
85
+ });
86
+ Object.defineProperty(exports, 'init_extraction_tools', {
87
+ enumerable: true,
88
+ get: function () {
89
+ return init_extraction_tools;
90
+ }
91
+ });
@@ -0,0 +1,5 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_extraction_tools = require('./extraction-tools-Bh5F0ENP.js');
3
+
4
+ require_extraction_tools.init_extraction_tools();
5
+ exports.getExtractionTools = require_extraction_tools.getExtractionTools;
@@ -0,0 +1,5 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_extraction_tools = require('./extraction-tools-FBwtT2Bx.js');
3
+
4
+ require_extraction_tools.init_extraction_tools();
5
+ exports.getExtractionTools = require_extraction_tools.getExtractionTools;
@@ -0,0 +1,91 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const fs_extra = require_chunk.__toESM(require("fs-extra"));
3
+ const path = require_chunk.__toESM(require("path"));
4
+ const os = require_chunk.__toESM(require("os"));
5
+
6
+ //#region packages/core/src/agent/extraction-tools.ts
7
+ function safeRequire(id) {
8
+ try {
9
+ return require(id);
10
+ } catch {
11
+ return null;
12
+ }
13
+ }
14
+ function getExtractionTools() {
15
+ return [{
16
+ name: "extract_pdf",
17
+ description: "Extract text and structure from a PDF file. Returns full text content. Use for documents, forms, reports.",
18
+ input_schema: {
19
+ type: "object",
20
+ properties: { path: {
21
+ type: "string",
22
+ description: "Path to PDF file (absolute or ~)"
23
+ } },
24
+ required: ["path"]
25
+ },
26
+ handler: async (input) => {
27
+ const filePath = input.path.replace(/^~/, os.default.homedir());
28
+ if (!await fs_extra.default.pathExists(filePath)) return `Error: File not found: ${filePath}`;
29
+ const pdfParse = safeRequire("pdf-parse");
30
+ if (!pdfParse) return "Error: pdf-parse not installed. Run: npm install pdf-parse";
31
+ try {
32
+ const buf = await fs_extra.default.readFile(filePath);
33
+ const data = await pdfParse(buf);
34
+ const text = (data.text || "").trim().slice(0, 5e4);
35
+ return `Pages: ${data.numpages || "?"}\n\n${text || "(no extractable text)"}`;
36
+ } catch (e) {
37
+ return `Error: ${e.message}`;
38
+ }
39
+ }
40
+ }, {
41
+ name: "extract_spreadsheet",
42
+ description: "Extract data from Excel (.xlsx, .xls) or CSV. Returns sheet names and cell content as structured text.",
43
+ input_schema: {
44
+ type: "object",
45
+ properties: { path: {
46
+ type: "string",
47
+ description: "Path to spreadsheet (xlsx, xls, csv)"
48
+ } },
49
+ required: ["path"]
50
+ },
51
+ handler: async (input) => {
52
+ const filePath = input.path.replace(/^~/, os.default.homedir());
53
+ if (!await fs_extra.default.pathExists(filePath)) return `Error: File not found: ${filePath}`;
54
+ const ext = path.default.extname(filePath).toLowerCase();
55
+ if (ext === ".csv") {
56
+ const content = await fs_extra.default.readFile(filePath, "utf8");
57
+ return content.slice(0, 5e4);
58
+ }
59
+ const XLSX = safeRequire("xlsx");
60
+ if (!XLSX) return "Error: xlsx not installed. Run: npm install xlsx";
61
+ try {
62
+ const buf = await fs_extra.default.readFile(filePath);
63
+ const wb = XLSX.read(buf, { type: "buffer" });
64
+ const parts = [];
65
+ for (const name of wb.SheetNames) {
66
+ const sheet = wb.Sheets[name];
67
+ const arr = XLSX.utils.sheet_to_csv(sheet);
68
+ parts.push(`Sheet: ${name}\n${arr.slice(0, 2e4)}`);
69
+ }
70
+ return parts.join("\n\n---\n\n").slice(0, 5e4);
71
+ } catch (e) {
72
+ return `Error: ${e.message}`;
73
+ }
74
+ }
75
+ }];
76
+ }
77
+ var init_extraction_tools = require_chunk.__esm({ "packages/core/src/agent/extraction-tools.ts"() {} });
78
+
79
+ //#endregion
80
+ Object.defineProperty(exports, 'getExtractionTools', {
81
+ enumerable: true,
82
+ get: function () {
83
+ return getExtractionTools;
84
+ }
85
+ });
86
+ Object.defineProperty(exports, 'init_extraction_tools', {
87
+ enumerable: true,
88
+ get: function () {
89
+ return init_extraction_tools;
90
+ }
91
+ });
@@ -0,0 +1,85 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_node_domexception$1 = require('./node-domexception-v89b0Nwz.js');
3
+ const require_isFile = require('./isFile-CSxoSB8X.js');
4
+ const path = require_chunk.__toESM(require("path"));
5
+ const fs = require_chunk.__toESM(require("fs"));
6
+
7
+ //#region node_modules/formdata-node/lib/esm/isPlainObject.js
8
+ const getType = (value) => Object.prototype.toString.call(value).slice(8, -1).toLowerCase();
9
+ function isPlainObject(value) {
10
+ if (getType(value) !== "object") return false;
11
+ const pp = Object.getPrototypeOf(value);
12
+ if (pp === null || pp === void 0) return true;
13
+ const Ctor = pp.constructor && pp.constructor.toString();
14
+ return Ctor === Object.toString();
15
+ }
16
+ var isPlainObject_default = isPlainObject;
17
+
18
+ //#endregion
19
+ //#region node_modules/formdata-node/lib/esm/fileFromPath.js
20
+ var import_node_domexception = require_chunk.__toESM(require_node_domexception$1.require_node_domexception(), 1);
21
+ var __classPrivateFieldSet = void 0 && (void 0).__classPrivateFieldSet || function(receiver, state, value, kind, f) {
22
+ if (kind === "m") throw new TypeError("Private method is not writable");
23
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
+ return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
26
+ };
27
+ var __classPrivateFieldGet = void 0 && (void 0).__classPrivateFieldGet || function(receiver, state, kind, f) {
28
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
+ };
32
+ var _FileFromPath_path, _FileFromPath_start;
33
+ const MESSAGE = "The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.";
34
+ var FileFromPath = class FileFromPath {
35
+ constructor(input) {
36
+ _FileFromPath_path.set(this, void 0);
37
+ _FileFromPath_start.set(this, void 0);
38
+ __classPrivateFieldSet(this, _FileFromPath_path, input.path, "f");
39
+ __classPrivateFieldSet(this, _FileFromPath_start, input.start || 0, "f");
40
+ this.name = (0, path.basename)(__classPrivateFieldGet(this, _FileFromPath_path, "f"));
41
+ this.size = input.size;
42
+ this.lastModified = input.lastModified;
43
+ }
44
+ slice(start, end) {
45
+ return new FileFromPath({
46
+ path: __classPrivateFieldGet(this, _FileFromPath_path, "f"),
47
+ lastModified: this.lastModified,
48
+ size: end - start,
49
+ start
50
+ });
51
+ }
52
+ async *stream() {
53
+ const { mtimeMs } = await fs.promises.stat(__classPrivateFieldGet(this, _FileFromPath_path, "f"));
54
+ if (mtimeMs > this.lastModified) throw new import_node_domexception.default(MESSAGE, "NotReadableError");
55
+ if (this.size) yield* (0, fs.createReadStream)(__classPrivateFieldGet(this, _FileFromPath_path, "f"), {
56
+ start: __classPrivateFieldGet(this, _FileFromPath_start, "f"),
57
+ end: __classPrivateFieldGet(this, _FileFromPath_start, "f") + this.size - 1
58
+ });
59
+ }
60
+ get [(_FileFromPath_path = /* @__PURE__ */ new WeakMap(), _FileFromPath_start = /* @__PURE__ */ new WeakMap(), Symbol.toStringTag)]() {
61
+ return "File";
62
+ }
63
+ };
64
+ function createFileFromPath(path$1, { mtimeMs, size }, filenameOrOptions, options = {}) {
65
+ let filename;
66
+ if (isPlainObject_default(filenameOrOptions)) [options, filename] = [filenameOrOptions, void 0];
67
+ else filename = filenameOrOptions;
68
+ const file = new FileFromPath({
69
+ path: path$1,
70
+ size,
71
+ lastModified: mtimeMs
72
+ });
73
+ if (!filename) filename = file.name;
74
+ return new require_isFile.File([file], filename, {
75
+ ...options,
76
+ lastModified: file.lastModified
77
+ });
78
+ }
79
+ async function fileFromPath(path$1, filenameOrOptions, options) {
80
+ const stats = await fs.promises.stat(path$1);
81
+ return createFileFromPath(path$1, stats, filenameOrOptions, options);
82
+ }
83
+
84
+ //#endregion
85
+ exports.fileFromPath = fileFromPath;