hyperclaw 5.3.45 → 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 (438) 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-B2Qo91lq.js +143 -0
  32. package/dist/banner-CZ2BfvQq.js +143 -0
  33. package/dist/banner-CjTRWmks.js +7 -0
  34. package/dist/banner-CmNA9NKE.js +7 -0
  35. package/dist/banner-D3-Ik5d2.js +143 -0
  36. package/dist/banner-D3X8tQ-0.js +7 -0
  37. package/dist/banner-Dpygks0H.js +143 -0
  38. package/dist/banner-ZX1WLr44.js +7 -0
  39. package/dist/bounty-tools-Cq-oC9gk.js +211 -0
  40. package/dist/bounty-tools-DZ-WtRdE.js +211 -0
  41. package/dist/bounty-tools-DhpmjF5Y.js +211 -0
  42. package/dist/bounty-tools-NGuBWI55.js +211 -0
  43. package/dist/browser-tools-5Fl1hP_2.js +5 -0
  44. package/dist/browser-tools-Ay-wU_a4.js +5 -0
  45. package/dist/browser-tools-BMgBB2fK.js +179 -0
  46. package/dist/browser-tools-kcViDwk5.js +179 -0
  47. package/dist/chat-BGD9AWhr.js +523 -0
  48. package/dist/chat-BUa1oGqj.js +528 -0
  49. package/dist/chat-CiuT-GTs.js +528 -0
  50. package/dist/chat-D8wFNN4z.js +523 -0
  51. package/dist/chat-DfI8uOzF.js +528 -0
  52. package/dist/chat-Dz5rmUSs.js +528 -0
  53. package/dist/chat-RTmX1F16.js +528 -0
  54. package/dist/claw-tasks-Cio1Q7eA.js +80 -0
  55. package/dist/claw-tasks-DzxNWVcz.js +80 -0
  56. package/dist/claw-tasks-L7vQSGlt.js +80 -0
  57. package/dist/claw-tasks-dndWneZW.js +80 -0
  58. package/dist/config-B-W-Mz4X.js +7 -0
  59. package/dist/config-BAwkTUJC.js +261 -0
  60. package/dist/config-CYPw2v4l.js +261 -0
  61. package/dist/config-DN9fdLL3.js +261 -0
  62. package/dist/config-FejpHHTz.js +261 -0
  63. package/dist/config-Tq_GJHf7.js +7 -0
  64. package/dist/config-n4qy5jIy.js +7 -0
  65. package/dist/config-qJUYRMzx.js +7 -0
  66. package/dist/connector-CwT7KZm2.js +309 -0
  67. package/dist/connector-DX4k-lGd.js +442 -0
  68. package/dist/cost-tracker-C2q5zKic.js +103 -0
  69. package/dist/cost-tracker-CsRQAOEr.js +103 -0
  70. package/dist/cost-tracker-DAXWN5YT.js +103 -0
  71. package/dist/cost-tracker-bySvehH6.js +103 -0
  72. package/dist/credentials-store-BAW87r6f.js +7 -0
  73. package/dist/credentials-store-BHtk7_H_.js +7 -0
  74. package/dist/credentials-store-CESgFvFU.js +89 -0
  75. package/dist/credentials-store-CR4WSDGl.js +7 -0
  76. package/dist/credentials-store-CXq4kZub.js +89 -0
  77. package/dist/credentials-store-DUp8dtaS.js +89 -0
  78. package/dist/credentials-store-hiSga8qn.js +89 -0
  79. package/dist/credentials-store-kLdrmqSt.js +7 -0
  80. package/dist/cron-tasks-BFsaCKxE.js +89 -0
  81. package/dist/cron-tasks-BelA2aUW.js +89 -0
  82. package/dist/cron-tasks-D1T9fWAb.js +89 -0
  83. package/dist/cron-tasks-f_ieXSG2.js +89 -0
  84. package/dist/daemon-BTYhQvD_.js +7 -0
  85. package/dist/daemon-BoaFnmdF.js +421 -0
  86. package/dist/daemon-BrHxr4ut.js +421 -0
  87. package/dist/daemon-BzdeLgON.js +421 -0
  88. package/dist/daemon-BzqWIC4v.js +7 -0
  89. package/dist/daemon-C3OczPR1.js +7 -0
  90. package/dist/daemon-D-klsy3i.js +7 -0
  91. package/dist/daemon-D57KIIA3.js +421 -0
  92. package/dist/daemon-D8uyH9et.js +7 -0
  93. package/dist/daemon-DBTtYx6E.js +421 -0
  94. package/dist/daemon-D_bYfHgn.js +421 -0
  95. package/dist/daemon-DcE6vcjH.js +421 -0
  96. package/dist/daemon-NFwpuo3L.js +7 -0
  97. package/dist/daemon-srcdhzUG.js +7 -0
  98. package/dist/delivery-Bt0xW6L9.js +4 -0
  99. package/dist/delivery-C2sAERN7.js +4 -0
  100. package/dist/delivery-CF2Q4hb1.js +95 -0
  101. package/dist/delivery-CfMljOwk.js +95 -0
  102. package/dist/delivery-DP0d4_A4.js +95 -0
  103. package/dist/delivery-DXYt4aMO.js +4 -0
  104. package/dist/delivery-DXxP2UL4.js +4 -0
  105. package/dist/delivery-jT2UIDlU.js +95 -0
  106. package/dist/destructive-gate-5LYh6brt.js +116 -0
  107. package/dist/destructive-gate-B_hNKtu6.js +116 -0
  108. package/dist/destructive-gate-DvxPSDMR.js +116 -0
  109. package/dist/destructive-gate-Qd2y7x1B.js +116 -0
  110. package/dist/dist-B1qvBUax.js +30541 -0
  111. package/dist/engine-B7Q4Vx-C.js +7 -0
  112. package/dist/engine-BBJlKpMP.js +7 -0
  113. package/dist/engine-BNygJfCo.js +335 -0
  114. package/dist/engine-C-G3G-U7.js +7 -0
  115. package/dist/engine-DB4MBzki.js +7 -0
  116. package/dist/engine-DPi9fhMl.js +332 -0
  117. package/dist/engine-DRpy9Y5O.js +327 -0
  118. package/dist/engine-DeaqDcaT.js +7 -0
  119. package/dist/engine-DetHi9LP.js +327 -0
  120. package/dist/engine-DuvXJrUP.js +335 -0
  121. package/dist/engine-HkyTC_xl.js +332 -0
  122. package/dist/engine-JysunhPR.js +7 -0
  123. package/dist/engine-MzEUw7qb.js +7 -0
  124. package/dist/engine-j9Yaqt_-.js +332 -0
  125. package/dist/env-resolve--MaE2kFF.js +167 -0
  126. package/dist/env-resolve-BYWG94tK.js +11 -0
  127. package/dist/env-resolve-Bop7KbNq.js +167 -0
  128. package/dist/env-resolve-Buos635Y.js +167 -0
  129. package/dist/env-resolve-D3dP1-Xt.js +11 -0
  130. package/dist/env-resolve-DvsbhPKl.js +11 -0
  131. package/dist/env-resolve-NNM3F6Eo.js +167 -0
  132. package/dist/env-resolve-dTjn-g8X.js +11 -0
  133. package/dist/extraction-tools-Bh5F0ENP.js +91 -0
  134. package/dist/extraction-tools-BjzXD9LW.js +5 -0
  135. package/dist/extraction-tools-D1lrDYhe.js +5 -0
  136. package/dist/extraction-tools-FBwtT2Bx.js +91 -0
  137. package/dist/fileFromPath-CodL6KXh.js +85 -0
  138. package/dist/gmail-watch-setup--eQ8raeb.js +42 -0
  139. package/dist/gmail-watch-setup-9t14gy1B.js +42 -0
  140. package/dist/gmail-watch-setup-B9fx_OLg.js +42 -0
  141. package/dist/gmail-watch-setup-DP3kDRx1.js +42 -0
  142. package/dist/heartbeat-engine-5iOlL7Dj.js +89 -0
  143. package/dist/heartbeat-engine-Bu4q18GH.js +89 -0
  144. package/dist/heartbeat-engine-CF_JjNJ4.js +89 -0
  145. package/dist/heartbeat-engine-CLADYZxE.js +89 -0
  146. package/dist/hub-CZeGrS20.js +6 -0
  147. package/dist/hub-DAkEVTEy.js +545 -0
  148. package/dist/hyperclawbot-BqyZr2GM.js +516 -0
  149. package/dist/hyperclawbot-CNVUtvYC.js +516 -0
  150. package/dist/hyperclawbot-D5ofLNgm.js +516 -0
  151. package/dist/hyperclawbot-D61zVMyQ.js +516 -0
  152. package/dist/hyperclawbot-DTzP20Up.js +516 -0
  153. package/dist/hyperclawbot-DwScttSx.js +516 -0
  154. package/dist/hyperclawbot-v65eL2U0.js +516 -0
  155. package/dist/inference-BEvs7s3c.js +2854 -0
  156. package/dist/inference-C4b9YqXk.js +8 -0
  157. package/dist/inference-CRF6HyyH.js +2854 -0
  158. package/dist/inference-CfhTACI8.js +2854 -0
  159. package/dist/inference-DGsy36Ru.js +8 -0
  160. package/dist/inference-Da7Hw4J3.js +8 -0
  161. package/dist/inference-DhJ-SHZn.js +8 -0
  162. package/dist/inference-K7Jrnzre.js +2854 -0
  163. package/dist/isFile-CSxoSB8X.js +2274 -0
  164. package/dist/knowledge-graph-BdsJ5KEL.js +134 -0
  165. package/dist/knowledge-graph-CFRBepzr.js +134 -0
  166. package/dist/knowledge-graph-CeDeahui.js +134 -0
  167. package/dist/knowledge-graph-DoYFZnUr.js +134 -0
  168. package/dist/loader-C2qtNbtF.js +6 -0
  169. package/dist/loader-D6yjBYo4.js +410 -0
  170. package/dist/loader-DBO6yRNh.js +6 -0
  171. package/dist/loader-DUhmG3V9.js +410 -0
  172. package/dist/loader-Dl8LNycw.js +6 -0
  173. package/dist/loader-UpOYxgZv.js +6 -0
  174. package/dist/loader-hXv2mZjK.js +410 -0
  175. package/dist/loader-nDBcv3Tm.js +410 -0
  176. package/dist/logger-BD316YbA.js +86 -0
  177. package/dist/logger-BnXZkfsp.js +86 -0
  178. package/dist/logger-CmphFNmW.js +86 -0
  179. package/dist/logger-DkHzhh56.js +86 -0
  180. package/dist/manager-3-q8zuAW.js +250 -0
  181. package/dist/manager-BkMzc-EJ.js +250 -0
  182. package/dist/manager-Bq5LApdR.js +6 -0
  183. package/dist/manager-CNgdJunf.js +250 -0
  184. package/dist/manager-CozyZSDG.js +250 -0
  185. package/dist/manager-D4mDWXph.js +120 -0
  186. package/dist/manager-DuS-WQhZ.js +120 -0
  187. package/dist/manager-Dz2eKYqo.js +116 -0
  188. package/dist/manager-R0TlRMZy.js +120 -0
  189. package/dist/manager-aJfY7rt6.js +120 -0
  190. package/dist/mcp-BH7HtOQ8.js +142 -0
  191. package/dist/mcp-CAJSA_ee.js +142 -0
  192. package/dist/mcp-CD-iIQa2.js +142 -0
  193. package/dist/mcp-DGo37Ifb.js +142 -0
  194. package/dist/mcp-loader-BAGRKfJz.js +93 -0
  195. package/dist/mcp-loader-Ct1NQKnX.js +93 -0
  196. package/dist/mcp-loader-D1T6UX73.js +93 -0
  197. package/dist/mcp-loader-DJk6MEof.js +93 -0
  198. package/dist/mcp-loader-DdXvU63s.js +93 -0
  199. package/dist/mcp-loader-Dt64EewT.js +93 -0
  200. package/dist/mcp-loader-gMliiJ7R.js +93 -0
  201. package/dist/memory-CyonlkTy.js +6 -0
  202. package/dist/memory-DPSWQBc0.js +276 -0
  203. package/dist/memory-auto-B0QOqaUD.js +306 -0
  204. package/dist/memory-auto-BSxYJugl.js +5 -0
  205. package/dist/memory-auto-CcFRxMj-.js +306 -0
  206. package/dist/memory-auto-CifT5aj_.js +5 -0
  207. package/dist/memory-auto-Cp2Jwx3Y.js +306 -0
  208. package/dist/memory-auto-DjK_D8CA.js +306 -0
  209. package/dist/memory-auto-N57dp4Do.js +5 -0
  210. package/dist/memory-auto-n0kOcU7F.js +5 -0
  211. package/dist/memory-integration-D8shLJwp.js +91 -0
  212. package/dist/memory-integration-DLmzJ62L.js +91 -0
  213. package/dist/memory-integration-DMXDbMIL.js +91 -0
  214. package/dist/memory-integration-Dgr-mjue.js +91 -0
  215. package/dist/moltbook-CIeOshK6.js +81 -0
  216. package/dist/moltbook-CX5XWn06.js +81 -0
  217. package/dist/moltbook-DUfiE4NY.js +81 -0
  218. package/dist/moltbook-YEiNI8Cm.js +81 -0
  219. package/dist/multi-agent-tools-jzfvT4zP.js +87 -0
  220. package/dist/multimodal-zZdwqISl.js +77 -0
  221. package/dist/node-BYrxELx2.js +251 -0
  222. package/dist/node-CLWgPlAk.js +251 -0
  223. package/dist/node-Czz8Y85D.js +251 -0
  224. package/dist/node-Du2H2Ddi.js +226 -0
  225. package/dist/node-domexception-v89b0Nwz.js +21 -0
  226. package/dist/node-pending-queue-DUXCbYkp.js +32 -0
  227. package/dist/node-pending-queue-DZp7cdfo.js +32 -0
  228. package/dist/node-pending-queue-iYpoWqxe.js +32 -0
  229. package/dist/nodes-registry-BTy7Sc7D.js +52 -0
  230. package/dist/nodes-registry-BYjmmJBU.js +52 -0
  231. package/dist/nodes-registry-C8GeEGq0.js +52 -0
  232. package/dist/nodes-registry-Du6Klz0l.js +52 -0
  233. package/dist/oauth-flow-BA0yMrHx.js +148 -0
  234. package/dist/oauth-flow-C4QSMsbl.js +148 -0
  235. package/dist/oauth-flow-CIuDBDsp.js +148 -0
  236. package/dist/oauth-flow-CniM4jlJ.js +148 -0
  237. package/dist/oauth-provider-BA4GVFKg.js +111 -0
  238. package/dist/oauth-provider-Bnul5A_Z.js +111 -0
  239. package/dist/oauth-provider-DqPXPiiC.js +111 -0
  240. package/dist/oauth-provider-MEgHjij2.js +111 -0
  241. package/dist/observability-0spm7MPz.js +89 -0
  242. package/dist/observability-BOMYgHUh.js +89 -0
  243. package/dist/observability-CDqHr-_o.js +89 -0
  244. package/dist/observability-ah2a7sh1.js +89 -0
  245. package/dist/onboard-32d2Gsuy.js +14 -0
  246. package/dist/onboard-BJ78s3NT.js +3854 -0
  247. package/dist/onboard-C55YXd_e.js +14 -0
  248. package/dist/onboard-CNnm4yYp.js +3841 -0
  249. package/dist/onboard-CXSVPnP7.js +3854 -0
  250. package/dist/onboard-Cgj_CIrq.js +3812 -0
  251. package/dist/onboard-ChnsqU5z.js +14 -0
  252. package/dist/onboard-CjzqTYq3.js +3812 -0
  253. package/dist/onboard-CwvXXOR1.js +14 -0
  254. package/dist/onboard-CxlIsNhX.js +3854 -0
  255. package/dist/onboard-DPmufMqX.js +14 -0
  256. package/dist/onboard-F9lKA2ie.js +14 -0
  257. package/dist/onboard-UTQXzlPD.js +3854 -0
  258. package/dist/onboard-hK098kjl.js +14 -0
  259. package/dist/openai-CrdtuLxw.js +6292 -0
  260. package/dist/orchestrator-5M-6MB7r.js +6 -0
  261. package/dist/orchestrator-B3BjP1dy.js +6 -0
  262. package/dist/orchestrator-BZS62iDS.js +6 -0
  263. package/dist/orchestrator-Bcj7uc1F.js +189 -0
  264. package/dist/orchestrator-C7oLWNFW.js +6 -0
  265. package/dist/orchestrator-CTMbjgH_.js +6 -0
  266. package/dist/orchestrator-Crn4fgbI.js +189 -0
  267. package/dist/orchestrator-Cs6s-QmS.js +189 -0
  268. package/dist/orchestrator-Cuyqncql.js +189 -0
  269. package/dist/orchestrator-CxlEm5li.js +6 -0
  270. package/dist/orchestrator-DGqwsLmO.js +189 -0
  271. package/dist/orchestrator-UUHsFKiH.js +6 -0
  272. package/dist/orchestrator-oa7HbCnF.js +189 -0
  273. package/dist/orchestrator-tUKag7pG.js +189 -0
  274. package/dist/osint-ADgw_Gkd.js +283 -0
  275. package/dist/osint-B5j3IuJK.js +283 -0
  276. package/dist/osint-BJvOCmVk.js +283 -0
  277. package/dist/osint-CK9xVUUm.js +283 -0
  278. package/dist/osint-D6vQXCWh.js +283 -0
  279. package/dist/osint-DLYZsp1k.js +283 -0
  280. package/dist/osint-cAAdO-cx.js +283 -0
  281. package/dist/osint-chat-B0lc0Y6r.js +789 -0
  282. package/dist/osint-chat-BUhiSpf9.js +789 -0
  283. package/dist/osint-chat-BbH6eW8z.js +789 -0
  284. package/dist/osint-chat-C-9FVAkU.js +789 -0
  285. package/dist/osint-chat-CWET8Fno.js +789 -0
  286. package/dist/osint-chat-Cgdzg3lh.js +789 -0
  287. package/dist/osint-chat-xRP672b-.js +789 -0
  288. package/dist/pc-access-BCaF5mRs.js +858 -0
  289. package/dist/pc-access-BOcXappE.js +858 -0
  290. package/dist/pc-access-BgZNmAdB.js +8 -0
  291. package/dist/pc-access-CAoM6WN4.js +8 -0
  292. package/dist/pc-access-D2HdoziZ.js +8 -0
  293. package/dist/pc-access-D4g0fjQb.js +858 -0
  294. package/dist/pending-approval-CJPyt8U5.js +22 -0
  295. package/dist/pending-approval-CzMNCTfZ.js +22 -0
  296. package/dist/pending-approval-DaXi7otO.js +22 -0
  297. package/dist/pending-approval-KcyeiifE.js +22 -0
  298. package/dist/providers-DrZP0NeR.js +5 -0
  299. package/dist/providers-dHhpJo9j.js +1120 -0
  300. package/dist/reminders-store-B58LldEG.js +58 -0
  301. package/dist/reminders-store-C4gWckLa.js +58 -0
  302. package/dist/reminders-store-DT0o6a60.js +58 -0
  303. package/dist/renderer-B8c22rbg.js +228 -0
  304. package/dist/renderer-BS0ETL20.js +228 -0
  305. package/dist/renderer-Cg3c41A5.js +228 -0
  306. package/dist/renderer-UoPcgaAd.js +228 -0
  307. package/dist/rules-D0v5nuSE.js +106 -0
  308. package/dist/rules-DCKPgwLb.js +106 -0
  309. package/dist/rules-Zn9j4PnO.js +106 -0
  310. package/dist/rules-oAgOSPHC.js +106 -0
  311. package/dist/run-main.js +457 -131
  312. package/dist/runner-BaZ2V27T.js +1307 -0
  313. package/dist/runner-Bgl7UTbV.js +1307 -0
  314. package/dist/runner-DOKp3-v5.js +1307 -0
  315. package/dist/runner-voYdfM_f.js +1307 -0
  316. package/dist/search-tools-BBwMa8VX.js +107 -0
  317. package/dist/search-tools-CEUOO9Jf.js +107 -0
  318. package/dist/search-tools-VHP3xVyC.js +107 -0
  319. package/dist/search-tools-w_zT7-dr.js +107 -0
  320. package/dist/server-6TIyu0mb.js +4 -0
  321. package/dist/server-BAdJwMM9.js +4 -0
  322. package/dist/server-BD9FLc7S.js +1384 -0
  323. package/dist/server-BlqWBbS7.js +4 -0
  324. package/dist/server-BzwPvTbD.js +1447 -0
  325. package/dist/server-CBvSfG4w.js +4 -0
  326. package/dist/server-CbNBcB41.js +4 -0
  327. package/dist/server-DPTXaJJF.js +4 -0
  328. package/dist/server-Da_jSrfS.js +4 -0
  329. package/dist/server-Dv2zHHy-.js +1447 -0
  330. package/dist/server-MDmdWHob.js +1447 -0
  331. package/dist/server-N9LnLQCS.js +1447 -0
  332. package/dist/server-gai_RW1u.js +1356 -0
  333. package/dist/server-vbYKep6r.js +1356 -0
  334. package/dist/session-store-C6Otslf9.js +5 -0
  335. package/dist/session-store-Cmfnvuw9.js +141 -0
  336. package/dist/session-store-CuR9DgRf.js +5 -0
  337. package/dist/session-store-Cx1RMBhS.js +5 -0
  338. package/dist/session-store-DPPHkJBn.js +5 -0
  339. package/dist/session-store-DWLCWQFS.js +141 -0
  340. package/dist/session-store-qGufR_m5.js +141 -0
  341. package/dist/session-store-sUpA509O.js +141 -0
  342. package/dist/sessions-tools-9Z8TtdmP.js +5 -0
  343. package/dist/sessions-tools-BAZnoQLp.js +95 -0
  344. package/dist/sessions-tools-Bb_zF947.js +95 -0
  345. package/dist/sessions-tools-ClrKqLII.js +131 -0
  346. package/dist/sessions-tools-DFe23ZDD.js +5 -0
  347. package/dist/sessions-tools-JHSZ6Bns.js +5 -0
  348. package/dist/sessions-tools-TsRdeFb7.js +95 -0
  349. package/dist/sessions-tools-nYP3Agfs.js +5 -0
  350. package/dist/skill-loader-9jg876RH.js +160 -0
  351. package/dist/skill-loader-CM4KWQ7_.js +160 -0
  352. package/dist/skill-loader-CS3OP4Lr.js +160 -0
  353. package/dist/skill-loader-CnJDLNbY.js +7 -0
  354. package/dist/skill-loader-DRLgt5V2.js +160 -0
  355. package/dist/skill-loader-DVpEgYV2.js +7 -0
  356. package/dist/skill-loader-Df5T_UFl.js +7 -0
  357. package/dist/skill-loader-DxE-gZkT.js +7 -0
  358. package/dist/skill-runtime-8Xh5874w.js +104 -0
  359. package/dist/skill-runtime-B3aUdWKh.js +104 -0
  360. package/dist/skill-runtime-BKyhYvpW.js +5 -0
  361. package/dist/skill-runtime-BP0kZfmM.js +5 -0
  362. package/dist/skill-runtime-CHQT7c1k.js +5 -0
  363. package/dist/skill-runtime-CLK5HTVE.js +5 -0
  364. package/dist/skill-runtime-COyc3Bci.js +104 -0
  365. package/dist/skill-runtime-Cfd0OLkP.js +104 -0
  366. package/dist/skill-runtime-CvDXX7wN.js +5 -0
  367. package/dist/skill-runtime-D4REZnhY.js +104 -0
  368. package/dist/skill-runtime-DQRi9sIf.js +5 -0
  369. package/dist/skill-runtime-DRd56NWK.js +104 -0
  370. package/dist/skill-runtime-Dr0fimDf.js +5 -0
  371. package/dist/skill-runtime-DtO4i9vK.js +104 -0
  372. package/dist/src-9GyYED0T.js +63 -0
  373. package/dist/src-B9L6qb-Z.js +462 -0
  374. package/dist/src-BEjIVOmq.js +63 -0
  375. package/dist/src-BY3On_zO.js +462 -0
  376. package/dist/src-BdgKAlMQ.js +20 -0
  377. package/dist/src-C52A3OwC.js +301 -0
  378. package/dist/src-C8cbfjat.js +173 -0
  379. package/dist/src-CDLnbsLp.js +458 -0
  380. package/dist/src-CQ2lZvdF.js +462 -0
  381. package/dist/src-Cdwn9xpG.js +462 -0
  382. package/dist/src-CyCLoqIP.js +63 -0
  383. package/dist/src-D-OND_62.js +301 -0
  384. package/dist/src-D4VRanxB.js +458 -0
  385. package/dist/src-DFo8lVfV.js +300 -0
  386. package/dist/src-DJbpP4Gs.js +462 -0
  387. package/dist/src-DK-ayUx7.js +63 -0
  388. package/dist/src-DPfnArdr.js +300 -0
  389. package/dist/src-DTft7Qvt.js +63 -0
  390. package/dist/src-DgvFah8g.js +153 -0
  391. package/dist/src-H1I7JC2E.js +63 -0
  392. package/dist/src-TYvV_oFO.js +63 -0
  393. package/dist/src-lltU5gkh.js +20 -0
  394. package/dist/sub-agent-tools-BoMCZ6jz.js +39 -0
  395. package/dist/sub-agent-tools-CE8pVUdb.js +39 -0
  396. package/dist/sub-agent-tools-CQWNfYn_.js +39 -0
  397. package/dist/sub-agent-tools-CViiqebO.js +39 -0
  398. package/dist/sub-agent-tools-DgT4jUHC.js +39 -0
  399. package/dist/sub-agent-tools-Dla3ZB5N.js +39 -0
  400. package/dist/sub-agent-tools-Lbin_4S3.js +39 -0
  401. package/dist/tool-policy-1EBdJkSG.js +190 -0
  402. package/dist/tool-policy-B1bL0X-E.js +189 -0
  403. package/dist/tool-policy-NLbucl5-.js +189 -0
  404. package/dist/tool-policy-yNVTLNDY.js +189 -0
  405. package/dist/tts-elevenlabs-Bk24wQ2V.js +64 -0
  406. package/dist/tts-elevenlabs-CHrJZuNW.js +64 -0
  407. package/dist/tts-elevenlabs-DHqQsqMz.js +64 -0
  408. package/dist/tts-elevenlabs-TUKPkSV2.js +64 -0
  409. package/dist/vision-CW1YCKed.js +167 -0
  410. package/dist/vision-DPLmrwUA.js +167 -0
  411. package/dist/vision-Q4EOcBS6.js +167 -0
  412. package/dist/vision-XyAGO5La.js +167 -0
  413. package/dist/vision-tools-B5DNR28M.js +5 -0
  414. package/dist/vision-tools-CC9HSuvN.js +51 -0
  415. package/dist/vision-tools-Ca3OhtdX.js +51 -0
  416. package/dist/vision-tools-CpU2fSRv.js +51 -0
  417. package/dist/vision-tools-Ct52djW8.js +51 -0
  418. package/dist/vision-tools-DF7N2DDI.js +5 -0
  419. package/dist/vision-tools-DyP6lRA5.js +5 -0
  420. package/dist/vision-tools-RIVKEUeY.js +5 -0
  421. package/dist/voice-transcription-Bz2y0nPK.js +170 -0
  422. package/dist/voice-transcription-CVFcHpPF.js +170 -0
  423. package/dist/voice-transcription-CvQuWPYK.js +170 -0
  424. package/dist/voice-transcription-YqndiLA7.js +170 -0
  425. package/dist/website-watch-tools-B036Y8OQ.js +176 -0
  426. package/dist/website-watch-tools-B8CHie8v.js +5 -0
  427. package/dist/website-watch-tools-Brk5oIEv.js +176 -0
  428. package/dist/website-watch-tools-CJqRj_GB.js +5 -0
  429. package/dist/website-watch-tools-CSSEu3Qy.js +5 -0
  430. package/dist/website-watch-tools-D92dkYZa.js +176 -0
  431. package/dist/website-watch-tools-Du_a8lXq.js +176 -0
  432. package/dist/website-watch-tools-UdTBGgRk.js +5 -0
  433. package/package.json +147 -143
  434. package/scripts/fix-mojibake.mjs +166 -0
  435. package/static/web/assets/{index-BeAuHLb2.js → index-8bDizzaq.js} +2 -2
  436. package/static/web/assets/index-B5N1LHGR.css +1 -0
  437. package/static/web/index.html +2 -2
  438. package/static/web/assets/index-D2RfO0dG.css +0 -1
@@ -0,0 +1,39 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region packages/core/src/agent/sub-agent-tools.ts
4
+ /** Tool: spawn a sub-agent to accomplish a focused goal. Returns the sub-agent's response. */
5
+ function getSubAgentTools() {
6
+ return [{
7
+ name: "spawn_sub_agent",
8
+ description: "Delegate a focused subtask to a sub-agent. Use when you need specialized work (research, coding, summarization) that benefits from a fresh context. Provide a clear, self-contained goal.",
9
+ input_schema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "Clear, self-contained goal for the sub-agent (e.g. \"Summarize the key points of X\", \"Write a function that does Y\")"
15
+ },
16
+ context: {
17
+ type: "string",
18
+ description: "Optional context the sub-agent needs (paste relevant excerpts)"
19
+ }
20
+ },
21
+ required: ["goal"]
22
+ },
23
+ handler: async (input) => {
24
+ const goal = String(input.goal || "").trim();
25
+ const context = String(input.context || "").trim();
26
+ if (!goal) return "Error: goal is required.";
27
+ const prompt = context ? `Context:\n${context}\n\nTask: ${goal}` : goal;
28
+ const { runAgentEngine } = await Promise.resolve().then(() => require("./engine-C-G3G-U7.js"));
29
+ const result = await runAgentEngine(prompt, {});
30
+ if (result.error) return `Sub-agent error: ${result.text}`;
31
+ return result.text;
32
+ }
33
+ }];
34
+ }
35
+ var init_sub_agent_tools = require_chunk.__esm({ "packages/core/src/agent/sub-agent-tools.ts"() {} });
36
+
37
+ //#endregion
38
+ init_sub_agent_tools();
39
+ exports.getSubAgentTools = getSubAgentTools;
@@ -0,0 +1,39 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region packages/core/src/agent/sub-agent-tools.ts
4
+ /** Tool: spawn a sub-agent to accomplish a focused goal. Returns the sub-agent's response. */
5
+ function getSubAgentTools() {
6
+ return [{
7
+ name: "spawn_sub_agent",
8
+ description: "Delegate a focused subtask to a sub-agent. Use when you need specialized work (research, coding, summarization) that benefits from a fresh context. Provide a clear, self-contained goal.",
9
+ input_schema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "Clear, self-contained goal for the sub-agent (e.g. \"Summarize the key points of X\", \"Write a function that does Y\")"
15
+ },
16
+ context: {
17
+ type: "string",
18
+ description: "Optional context the sub-agent needs (paste relevant excerpts)"
19
+ }
20
+ },
21
+ required: ["goal"]
22
+ },
23
+ handler: async (input) => {
24
+ const goal = String(input.goal || "").trim();
25
+ const context = String(input.context || "").trim();
26
+ if (!goal) return "Error: goal is required.";
27
+ const prompt = context ? `Context:\n${context}\n\nTask: ${goal}` : goal;
28
+ const { runAgentEngine } = await Promise.resolve().then(() => require("./engine-DeaqDcaT.js"));
29
+ const result = await runAgentEngine(prompt, {});
30
+ if (result.error) return `Sub-agent error: ${result.text}`;
31
+ return result.text;
32
+ }
33
+ }];
34
+ }
35
+ var init_sub_agent_tools = require_chunk.__esm({ "packages/core/src/agent/sub-agent-tools.ts"() {} });
36
+
37
+ //#endregion
38
+ init_sub_agent_tools();
39
+ exports.getSubAgentTools = getSubAgentTools;
@@ -0,0 +1,39 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region packages/core/src/agent/sub-agent-tools.ts
4
+ /** Tool: spawn a sub-agent to accomplish a focused goal. Returns the sub-agent's response. */
5
+ function getSubAgentTools() {
6
+ return [{
7
+ name: "spawn_sub_agent",
8
+ description: "Delegate a focused subtask to a sub-agent. Use when you need specialized work (research, coding, summarization) that benefits from a fresh context. Provide a clear, self-contained goal.",
9
+ input_schema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "Clear, self-contained goal for the sub-agent (e.g. \"Summarize the key points of X\", \"Write a function that does Y\")"
15
+ },
16
+ context: {
17
+ type: "string",
18
+ description: "Optional context the sub-agent needs (paste relevant excerpts)"
19
+ }
20
+ },
21
+ required: ["goal"]
22
+ },
23
+ handler: async (input) => {
24
+ const goal = String(input.goal || "").trim();
25
+ const context = String(input.context || "").trim();
26
+ if (!goal) return "Error: goal is required.";
27
+ const prompt = context ? `Context:\n${context}\n\nTask: ${goal}` : goal;
28
+ const { runAgentEngine } = await Promise.resolve().then(() => require("./engine-MzEUw7qb.js"));
29
+ const result = await runAgentEngine(prompt, {});
30
+ if (result.error) return `Sub-agent error: ${result.text}`;
31
+ return result.text;
32
+ }
33
+ }];
34
+ }
35
+ var init_sub_agent_tools = require_chunk.__esm({ "packages/core/src/agent/sub-agent-tools.ts"() {} });
36
+
37
+ //#endregion
38
+ init_sub_agent_tools();
39
+ exports.getSubAgentTools = getSubAgentTools;
@@ -0,0 +1,39 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region packages/core/src/agent/sub-agent-tools.ts
4
+ /** Tool: spawn a sub-agent to accomplish a focused goal. Returns the sub-agent's response. */
5
+ function getSubAgentTools() {
6
+ return [{
7
+ name: "spawn_sub_agent",
8
+ description: "Delegate a focused subtask to a sub-agent. Use when you need specialized work (research, coding, summarization) that benefits from a fresh context. Provide a clear, self-contained goal.",
9
+ input_schema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "Clear, self-contained goal for the sub-agent (e.g. \"Summarize the key points of X\", \"Write a function that does Y\")"
15
+ },
16
+ context: {
17
+ type: "string",
18
+ description: "Optional context the sub-agent needs (paste relevant excerpts)"
19
+ }
20
+ },
21
+ required: ["goal"]
22
+ },
23
+ handler: async (input) => {
24
+ const goal = String(input.goal || "").trim();
25
+ const context = String(input.context || "").trim();
26
+ if (!goal) return "Error: goal is required.";
27
+ const prompt = context ? `Context:\n${context}\n\nTask: ${goal}` : goal;
28
+ const { runAgentEngine } = await Promise.resolve().then(() => require("./engine-BBJlKpMP.js"));
29
+ const result = await runAgentEngine(prompt, {});
30
+ if (result.error) return `Sub-agent error: ${result.text}`;
31
+ return result.text;
32
+ }
33
+ }];
34
+ }
35
+ var init_sub_agent_tools = require_chunk.__esm({ "packages/core/src/agent/sub-agent-tools.ts"() {} });
36
+
37
+ //#endregion
38
+ init_sub_agent_tools();
39
+ exports.getSubAgentTools = getSubAgentTools;
@@ -0,0 +1,39 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region packages/core/src/agent/sub-agent-tools.ts
4
+ /** Tool: spawn a sub-agent to accomplish a focused goal. Returns the sub-agent's response. */
5
+ function getSubAgentTools() {
6
+ return [{
7
+ name: "spawn_sub_agent",
8
+ description: "Delegate a focused subtask to a sub-agent. Use when you need specialized work (research, coding, summarization) that benefits from a fresh context. Provide a clear, self-contained goal.",
9
+ input_schema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "Clear, self-contained goal for the sub-agent (e.g. \"Summarize the key points of X\", \"Write a function that does Y\")"
15
+ },
16
+ context: {
17
+ type: "string",
18
+ description: "Optional context the sub-agent needs (paste relevant excerpts)"
19
+ }
20
+ },
21
+ required: ["goal"]
22
+ },
23
+ handler: async (input) => {
24
+ const goal = String(input.goal || "").trim();
25
+ const context = String(input.context || "").trim();
26
+ if (!goal) return "Error: goal is required.";
27
+ const prompt = context ? `Context:\n${context}\n\nTask: ${goal}` : goal;
28
+ const { runAgentEngine } = await Promise.resolve().then(() => require("./engine-JysunhPR.js"));
29
+ const result = await runAgentEngine(prompt, {});
30
+ if (result.error) return `Sub-agent error: ${result.text}`;
31
+ return result.text;
32
+ }
33
+ }];
34
+ }
35
+ var init_sub_agent_tools = require_chunk.__esm({ "packages/core/src/agent/sub-agent-tools.ts"() {} });
36
+
37
+ //#endregion
38
+ init_sub_agent_tools();
39
+ exports.getSubAgentTools = getSubAgentTools;
@@ -0,0 +1,39 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region packages/core/src/agent/sub-agent-tools.ts
4
+ /** Tool: spawn a sub-agent to accomplish a focused goal. Returns the sub-agent's response. */
5
+ function getSubAgentTools() {
6
+ return [{
7
+ name: "spawn_sub_agent",
8
+ description: "Delegate a focused subtask to a sub-agent. Use when you need specialized work (research, coding, summarization) that benefits from a fresh context. Provide a clear, self-contained goal.",
9
+ input_schema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "Clear, self-contained goal for the sub-agent (e.g. \"Summarize the key points of X\", \"Write a function that does Y\")"
15
+ },
16
+ context: {
17
+ type: "string",
18
+ description: "Optional context the sub-agent needs (paste relevant excerpts)"
19
+ }
20
+ },
21
+ required: ["goal"]
22
+ },
23
+ handler: async (input) => {
24
+ const goal = String(input.goal || "").trim();
25
+ const context = String(input.context || "").trim();
26
+ if (!goal) return "Error: goal is required.";
27
+ const prompt = context ? `Context:\n${context}\n\nTask: ${goal}` : goal;
28
+ const { runAgentEngine } = await Promise.resolve().then(() => require("./engine-B7Q4Vx-C.js"));
29
+ const result = await runAgentEngine(prompt, {});
30
+ if (result.error) return `Sub-agent error: ${result.text}`;
31
+ return result.text;
32
+ }
33
+ }];
34
+ }
35
+ var init_sub_agent_tools = require_chunk.__esm({ "packages/core/src/agent/sub-agent-tools.ts"() {} });
36
+
37
+ //#endregion
38
+ init_sub_agent_tools();
39
+ exports.getSubAgentTools = getSubAgentTools;
@@ -0,0 +1,39 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region packages/core/src/agent/sub-agent-tools.ts
4
+ /** Tool: spawn a sub-agent to accomplish a focused goal. Returns the sub-agent's response. */
5
+ function getSubAgentTools() {
6
+ return [{
7
+ name: "spawn_sub_agent",
8
+ description: "Delegate a focused subtask to a sub-agent. Use when you need specialized work (research, coding, summarization) that benefits from a fresh context. Provide a clear, self-contained goal.",
9
+ input_schema: {
10
+ type: "object",
11
+ properties: {
12
+ goal: {
13
+ type: "string",
14
+ description: "Clear, self-contained goal for the sub-agent (e.g. \"Summarize the key points of X\", \"Write a function that does Y\")"
15
+ },
16
+ context: {
17
+ type: "string",
18
+ description: "Optional context the sub-agent needs (paste relevant excerpts)"
19
+ }
20
+ },
21
+ required: ["goal"]
22
+ },
23
+ handler: async (input) => {
24
+ const goal = String(input.goal || "").trim();
25
+ const context = String(input.context || "").trim();
26
+ if (!goal) return "Error: goal is required.";
27
+ const prompt = context ? `Context:\n${context}\n\nTask: ${goal}` : goal;
28
+ const { runAgentEngine } = await Promise.resolve().then(() => require("./engine-DB4MBzki.js"));
29
+ const result = await runAgentEngine(prompt, {});
30
+ if (result.error) return `Sub-agent error: ${result.text}`;
31
+ return result.text;
32
+ }
33
+ }];
34
+ }
35
+ var init_sub_agent_tools = require_chunk.__esm({ "packages/core/src/agent/sub-agent-tools.ts"() {} });
36
+
37
+ //#endregion
38
+ init_sub_agent_tools();
39
+ exports.getSubAgentTools = getSubAgentTools;
@@ -0,0 +1,190 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region src/infra/tool-policy.ts
4
+ function expandToToolNames(entries) {
5
+ const out = /* @__PURE__ */ new Set();
6
+ for (const e of entries) {
7
+ const key = e.toLowerCase().trim();
8
+ if (key === "*" || key === "") continue;
9
+ if (key.startsWith("group:")) {
10
+ const group = TOOL_GROUPS[key];
11
+ if (group) group.forEach((t) => out.add(t));
12
+ } else out.add(key);
13
+ }
14
+ return out;
15
+ }
16
+ function matchesPattern(toolName, pattern) {
17
+ const p = pattern.toLowerCase();
18
+ const t = toolName.toLowerCase();
19
+ if (p === "*" || p === t) return true;
20
+ if (p.endsWith("*")) {
21
+ const prefix = p.slice(0, -1);
22
+ return t.startsWith(prefix);
23
+ }
24
+ return false;
25
+ }
26
+ function isAllowed(toolName, allowSet, denySet, profileAllowSet) {
27
+ if (denySet.size > 0) {
28
+ for (const d of denySet) if (matchesPattern(toolName, d)) return false;
29
+ }
30
+ if (profileAllowSet && profileAllowSet.size > 0) {
31
+ let inProfile = false;
32
+ for (const a of profileAllowSet) if (matchesPattern(toolName, a)) {
33
+ inProfile = true;
34
+ break;
35
+ }
36
+ if (!inProfile) return false;
37
+ }
38
+ if (allowSet.size > 0) {
39
+ for (const a of allowSet) if (matchesPattern(toolName, a)) return true;
40
+ return false;
41
+ }
42
+ return true;
43
+ }
44
+ function applyToolPolicy(tools, config, context) {
45
+ if (!config) return tools;
46
+ let profile = config.profile ?? "full";
47
+ let allow = config.allow ?? [];
48
+ let deny = config.deny ?? [];
49
+ if (context?.provider && config.byProvider) {
50
+ const providerKey = context.provider + (context.model ? "/" + context.model : "");
51
+ const exact = config.byProvider[providerKey] ?? config.byProvider[context.provider];
52
+ if (exact) {
53
+ if (exact.profile) profile = exact.profile;
54
+ if (exact.allow?.length) allow = [...allow, ...exact.allow];
55
+ if (exact.deny?.length) deny = [...deny, ...exact.deny];
56
+ }
57
+ }
58
+ const denySet = expandToToolNames(deny);
59
+ const allowSet = expandToToolNames(allow);
60
+ const profileTools = profile === "full" ? null : new Set(PROFILE_TOOLS[profile]);
61
+ return tools.filter((t) => isAllowed(t.name, allowSet, denySet, profileTools));
62
+ }
63
+ /** For sandbox explain: return effective policy description. */
64
+ function describeToolPolicy(config, context) {
65
+ if (!config) return {
66
+ profile: "full",
67
+ allow: [],
68
+ deny: [],
69
+ source: "default"
70
+ };
71
+ let profile = config.profile ?? "full";
72
+ let allow = config.allow ?? [];
73
+ let deny = config.deny ?? [];
74
+ let source = "tools";
75
+ if (context?.provider && config.byProvider) {
76
+ const providerKey = context.provider + (context.model ? "/" + context.model : "");
77
+ const exact = config.byProvider[providerKey] ?? config.byProvider[context.provider];
78
+ if (exact) {
79
+ if (exact.profile) {
80
+ profile = exact.profile;
81
+ source = `tools.byProvider[${context.provider}]`;
82
+ }
83
+ if (exact.allow?.length) allow = [...allow, ...exact.allow];
84
+ if (exact.deny?.length) deny = [...deny, ...exact.deny];
85
+ }
86
+ }
87
+ return {
88
+ profile,
89
+ allow,
90
+ deny,
91
+ source
92
+ };
93
+ }
94
+ var TOOL_GROUPS, PROFILE_TOOLS;
95
+ var init_tool_policy = require_chunk.__esm({ "src/infra/tool-policy.ts"() {
96
+ TOOL_GROUPS = {
97
+ "group:fs": [
98
+ "read_file",
99
+ "write_file",
100
+ "edit_file",
101
+ "delete_file",
102
+ "list_directory"
103
+ ],
104
+ "group:runtime": ["run_shell", "kill_process"],
105
+ "group:sessions": [
106
+ "sessions_list",
107
+ "sessions_send",
108
+ "sessions_history",
109
+ "sessions_spawn"
110
+ ],
111
+ "group:memory": [
112
+ "read_memory",
113
+ "write_memory",
114
+ "memory_graph_add",
115
+ "memory_graph_query"
116
+ ],
117
+ "group:ui": [
118
+ "canvas_add",
119
+ "browser_snapshot",
120
+ "browser_action"
121
+ ],
122
+ "group:messaging": [
123
+ "sessions_send",
124
+ "sessions_list",
125
+ "sessions_history"
126
+ ],
127
+ "group:automation": [
128
+ "add_reminder",
129
+ "list_reminders",
130
+ "complete_reminder",
131
+ "watch_website_add",
132
+ "watch_website_check",
133
+ "watch_website_list"
134
+ ],
135
+ "group:pc": [
136
+ "run_shell",
137
+ "read_file",
138
+ "write_file",
139
+ "edit_file",
140
+ "list_directory",
141
+ "delete_file",
142
+ "kill_process",
143
+ "system_info",
144
+ "open",
145
+ "clipboard",
146
+ "search_files",
147
+ "screenshot",
148
+ "camera_capture",
149
+ "screen_record",
150
+ "contacts_list",
151
+ "calendar_events",
152
+ "photos_recent",
153
+ "app_updates",
154
+ "notify"
155
+ ],
156
+ "group:extraction": ["extract_pdf", "extract_spreadsheet"],
157
+ "group:vision": ["analyze_image"]
158
+ };
159
+ PROFILE_TOOLS = {
160
+ full: [],
161
+ messaging: [
162
+ "get_current_time",
163
+ "sessions_list",
164
+ "sessions_history",
165
+ "sessions_send",
166
+ "read_memory",
167
+ "write_memory"
168
+ ],
169
+ coding: [
170
+ ...TOOL_GROUPS["group:fs"],
171
+ ...TOOL_GROUPS["group:runtime"],
172
+ ...TOOL_GROUPS["group:sessions"],
173
+ ...TOOL_GROUPS["group:memory"],
174
+ "http_get",
175
+ "canvas_add",
176
+ "create_skill",
177
+ "get_current_time"
178
+ ],
179
+ minimal: [
180
+ "get_current_time",
181
+ "sessions_list",
182
+ "read_memory"
183
+ ]
184
+ };
185
+ } });
186
+
187
+ //#endregion
188
+ init_tool_policy();
189
+ exports.applyToolPolicy = applyToolPolicy;
190
+ exports.describeToolPolicy = describeToolPolicy;
@@ -0,0 +1,189 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+
3
+ //#region src/infra/tool-policy.ts
4
+ function expandToToolNames(entries) {
5
+ const out = /* @__PURE__ */ new Set();
6
+ for (const e of entries) {
7
+ const key = e.toLowerCase().trim();
8
+ if (key === "*" || key === "") continue;
9
+ if (key.startsWith("group:")) {
10
+ const group = TOOL_GROUPS[key];
11
+ if (group) group.forEach((t) => out.add(t));
12
+ } else out.add(key);
13
+ }
14
+ return out;
15
+ }
16
+ function matchesPattern(toolName, pattern) {
17
+ const p = pattern.toLowerCase();
18
+ const t = toolName.toLowerCase();
19
+ if (p === "*" || p === t) return true;
20
+ if (p.endsWith("*")) {
21
+ const prefix = p.slice(0, -1);
22
+ return t.startsWith(prefix);
23
+ }
24
+ return false;
25
+ }
26
+ function isAllowed(toolName, allowSet, denySet, profileAllowSet) {
27
+ if (denySet.size > 0) {
28
+ for (const d of denySet) if (matchesPattern(toolName, d)) return false;
29
+ }
30
+ if (profileAllowSet && profileAllowSet.size > 0) {
31
+ let inProfile = false;
32
+ for (const a of profileAllowSet) if (matchesPattern(toolName, a)) {
33
+ inProfile = true;
34
+ break;
35
+ }
36
+ if (!inProfile) return false;
37
+ }
38
+ if (allowSet.size > 0) {
39
+ for (const a of allowSet) if (matchesPattern(toolName, a)) return true;
40
+ return false;
41
+ }
42
+ return true;
43
+ }
44
+ function applyToolPolicy(tools, config, context) {
45
+ if (!config) return tools;
46
+ let profile = config.profile ?? "full";
47
+ let allow = config.allow ?? [];
48
+ let deny = config.deny ?? [];
49
+ if (context?.provider && config.byProvider) {
50
+ const providerKey = context.provider + (context.model ? "/" + context.model : "");
51
+ const exact = config.byProvider[providerKey] ?? config.byProvider[context.provider];
52
+ if (exact) {
53
+ if (exact.profile) profile = exact.profile;
54
+ if (exact.allow?.length) allow = [...allow, ...exact.allow];
55
+ if (exact.deny?.length) deny = [...deny, ...exact.deny];
56
+ }
57
+ }
58
+ const denySet = expandToToolNames(deny);
59
+ const allowSet = expandToToolNames(allow);
60
+ const profileTools = profile === "full" ? null : new Set(PROFILE_TOOLS[profile]);
61
+ return tools.filter((t) => isAllowed(t.name, allowSet, denySet, profileTools));
62
+ }
63
+ /** For sandbox explain: return effective policy description. */
64
+ function describeToolPolicy(config, context) {
65
+ if (!config) return {
66
+ profile: "full",
67
+ allow: [],
68
+ deny: [],
69
+ source: "default"
70
+ };
71
+ let profile = config.profile ?? "full";
72
+ let allow = config.allow ?? [];
73
+ let deny = config.deny ?? [];
74
+ let source = "tools";
75
+ if (context?.provider && config.byProvider) {
76
+ const providerKey = context.provider + (context.model ? "/" + context.model : "");
77
+ const exact = config.byProvider[providerKey] ?? config.byProvider[context.provider];
78
+ if (exact) {
79
+ if (exact.profile) {
80
+ profile = exact.profile;
81
+ source = `tools.byProvider[${context.provider}]`;
82
+ }
83
+ if (exact.allow?.length) allow = [...allow, ...exact.allow];
84
+ if (exact.deny?.length) deny = [...deny, ...exact.deny];
85
+ }
86
+ }
87
+ return {
88
+ profile,
89
+ allow,
90
+ deny,
91
+ source
92
+ };
93
+ }
94
+ var TOOL_GROUPS, PROFILE_TOOLS;
95
+ var init_tool_policy = require_chunk.__esm({ "src/infra/tool-policy.ts"() {
96
+ TOOL_GROUPS = {
97
+ "group:fs": [
98
+ "read_file",
99
+ "write_file",
100
+ "edit_file",
101
+ "delete_file",
102
+ "list_directory"
103
+ ],
104
+ "group:runtime": ["run_shell", "kill_process"],
105
+ "group:sessions": [
106
+ "sessions_list",
107
+ "sessions_send",
108
+ "sessions_history"
109
+ ],
110
+ "group:memory": [
111
+ "read_memory",
112
+ "write_memory",
113
+ "memory_graph_add",
114
+ "memory_graph_query"
115
+ ],
116
+ "group:ui": [
117
+ "canvas_add",
118
+ "browser_snapshot",
119
+ "browser_action"
120
+ ],
121
+ "group:messaging": [
122
+ "sessions_send",
123
+ "sessions_list",
124
+ "sessions_history"
125
+ ],
126
+ "group:automation": [
127
+ "add_reminder",
128
+ "list_reminders",
129
+ "complete_reminder",
130
+ "watch_website_add",
131
+ "watch_website_check",
132
+ "watch_website_list"
133
+ ],
134
+ "group:pc": [
135
+ "run_shell",
136
+ "read_file",
137
+ "write_file",
138
+ "edit_file",
139
+ "list_directory",
140
+ "delete_file",
141
+ "kill_process",
142
+ "system_info",
143
+ "open",
144
+ "clipboard",
145
+ "search_files",
146
+ "screenshot",
147
+ "camera_capture",
148
+ "screen_record",
149
+ "contacts_list",
150
+ "calendar_events",
151
+ "photos_recent",
152
+ "app_updates",
153
+ "notify"
154
+ ],
155
+ "group:extraction": ["extract_pdf", "extract_spreadsheet"],
156
+ "group:vision": ["analyze_image"]
157
+ };
158
+ PROFILE_TOOLS = {
159
+ full: [],
160
+ messaging: [
161
+ "get_current_time",
162
+ "sessions_list",
163
+ "sessions_history",
164
+ "sessions_send",
165
+ "read_memory",
166
+ "write_memory"
167
+ ],
168
+ coding: [
169
+ ...TOOL_GROUPS["group:fs"],
170
+ ...TOOL_GROUPS["group:runtime"],
171
+ ...TOOL_GROUPS["group:sessions"],
172
+ ...TOOL_GROUPS["group:memory"],
173
+ "http_get",
174
+ "canvas_add",
175
+ "create_skill",
176
+ "get_current_time"
177
+ ],
178
+ minimal: [
179
+ "get_current_time",
180
+ "sessions_list",
181
+ "read_memory"
182
+ ]
183
+ };
184
+ } });
185
+
186
+ //#endregion
187
+ init_tool_policy();
188
+ exports.applyToolPolicy = applyToolPolicy;
189
+ exports.describeToolPolicy = describeToolPolicy;