@shadowob/cloud 1.1.6-dev.311

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 (334) hide show
  1. package/README.md +509 -0
  2. package/dist/agent-browser-CERTMCDL.js +117 -0
  3. package/dist/agent-browser-CIRZRIY4.js +118 -0
  4. package/dist/agent-pack-LF3O5TR4.js +1236 -0
  5. package/dist/agent-pack-RQT27V7R.js +1235 -0
  6. package/dist/airtable-BG2Q75G2.js +82 -0
  7. package/dist/airtable-JCQXFM5D.js +83 -0
  8. package/dist/alipay-MZX2XCDB.js +52 -0
  9. package/dist/alipay-TZQI34RB.js +51 -0
  10. package/dist/amap-5RQB3VGC.js +45 -0
  11. package/dist/amap-KPCLZYYL.js +44 -0
  12. package/dist/atlassian-LGOEWYC7.js +54 -0
  13. package/dist/atlassian-TVS2A4IU.js +55 -0
  14. package/dist/baidu-appbuilder-6UMESXHW.js +41 -0
  15. package/dist/baidu-appbuilder-QRRL3ETM.js +42 -0
  16. package/dist/baidu-maps-HEPMVP5D.js +44 -0
  17. package/dist/baidu-maps-HXC4FBVP.js +45 -0
  18. package/dist/baidu-netdisk-G5Q6B5NH.js +45 -0
  19. package/dist/baidu-netdisk-RS2K5W2M.js +44 -0
  20. package/dist/baidu-smartprogram-EWTK5WKK.js +41 -0
  21. package/dist/baidu-smartprogram-JHD3XWF6.js +40 -0
  22. package/dist/browserbase-IUIYVYI7.js +67 -0
  23. package/dist/browserbase-JFO2PCIA.js +68 -0
  24. package/dist/canva-3YOFL7JS.js +62 -0
  25. package/dist/canva-FMYN65SM.js +61 -0
  26. package/dist/chunk-6P2K6QZR.js +529 -0
  27. package/dist/chunk-7VMRQ7MG.js +90 -0
  28. package/dist/chunk-AD3JTIU3.js +17 -0
  29. package/dist/chunk-BF6CV2Y4.js +64 -0
  30. package/dist/chunk-CTNUKOQE.js +439 -0
  31. package/dist/chunk-EEFMJYKB.js +97 -0
  32. package/dist/chunk-EJKFQ35I.js +739 -0
  33. package/dist/chunk-HUICDC56.js +62 -0
  34. package/dist/chunk-JUPAE5IA.js +527 -0
  35. package/dist/chunk-JY2HTT7Q.js +437 -0
  36. package/dist/chunk-KEPTCLUO.js +121 -0
  37. package/dist/chunk-KKK5H7YX.js +3622 -0
  38. package/dist/chunk-POSVEKIY.js +210 -0
  39. package/dist/chunk-QET4LT4J.js +5769 -0
  40. package/dist/chunk-QV4XWO3P.js +30 -0
  41. package/dist/chunk-R52J3PH2.js +120 -0
  42. package/dist/chunk-R5U7XKVJ.js +16 -0
  43. package/dist/chunk-RECNVWMT.js +212 -0
  44. package/dist/chunk-RTPBU5HF.js +92 -0
  45. package/dist/chunk-SUZ2ATT6.js +5774 -0
  46. package/dist/chunk-SVMXSIMG.js +98 -0
  47. package/dist/chunk-TV3CBM7R.js +28 -0
  48. package/dist/chunk-V2LU736V.js +3495 -0
  49. package/dist/chunk-ZUYL3W53.js +741 -0
  50. package/dist/claude-plugin-577TAQVS.js +1463 -0
  51. package/dist/claude-plugin-L3MXJJ6J.js +1464 -0
  52. package/dist/cli.js +7021 -0
  53. package/dist/cloudflare-HBBABPK6.js +114 -0
  54. package/dist/cloudflare-RDFPKMM5.js +115 -0
  55. package/dist/cnb-FLP3QX46.js +44 -0
  56. package/dist/cnb-YAVVEYFB.js +45 -0
  57. package/dist/console/index.html +12 -0
  58. package/dist/console/logo.png +0 -0
  59. package/dist/console/static/css/5079.f9e0918d.css +1 -0
  60. package/dist/console/static/css/index.7f91f806.css +1 -0
  61. package/dist/console/static/font/codicon.5b7d6fac.ttf +0 -0
  62. package/dist/console/static/js/5079.72a51ca2.js +699 -0
  63. package/dist/console/static/js/5079.72a51ca2.js.LICENSE.txt +35 -0
  64. package/dist/console/static/js/7426.f8d483ea.js +1 -0
  65. package/dist/console/static/js/async/1008.4df521b7.js +1 -0
  66. package/dist/console/static/js/async/102.1d473ec7.js +1 -0
  67. package/dist/console/static/js/async/1134.3f9fd9e7.js +1 -0
  68. package/dist/console/static/js/async/1318.4b8e48e7.js +1 -0
  69. package/dist/console/static/js/async/1360.5606da88.js +7 -0
  70. package/dist/console/static/js/async/1546.045f484f.js +1 -0
  71. package/dist/console/static/js/async/1562.187de2a8.js +1 -0
  72. package/dist/console/static/js/async/168.456d4813.js +1 -0
  73. package/dist/console/static/js/async/1750.e6dc2664.js +1 -0
  74. package/dist/console/static/js/async/1994.3fc86066.js +1 -0
  75. package/dist/console/static/js/async/2348.613ae3d9.js +1 -0
  76. package/dist/console/static/js/async/2390.1b890b9d.js +1 -0
  77. package/dist/console/static/js/async/2414.9d040212.js +1 -0
  78. package/dist/console/static/js/async/2454.4c1784ab.js +1 -0
  79. package/dist/console/static/js/async/2498.f5f92030.js +1 -0
  80. package/dist/console/static/js/async/2924.b823cd1a.js +1 -0
  81. package/dist/console/static/js/async/3062.63fddea6.js +1 -0
  82. package/dist/console/static/js/async/3078.dd712008.js +1 -0
  83. package/dist/console/static/js/async/3198.1f307065.js +1 -0
  84. package/dist/console/static/js/async/3246.3d5a899f.js +1 -0
  85. package/dist/console/static/js/async/3286.871676eb.js +1 -0
  86. package/dist/console/static/js/async/342.10bf3b90.js +1 -0
  87. package/dist/console/static/js/async/3446.9681a4d7.js +1 -0
  88. package/dist/console/static/js/async/3698.ccfaabec.js +1 -0
  89. package/dist/console/static/js/async/3790.2a1106a6.js +1 -0
  90. package/dist/console/static/js/async/4231.b29784d4.js +1 -0
  91. package/dist/console/static/js/async/4551.515bd41d.js +1 -0
  92. package/dist/console/static/js/async/4596.40f6e71b.js +1 -0
  93. package/dist/console/static/js/async/4600.4aaebe6d.js +1 -0
  94. package/dist/console/static/js/async/4718.1aae022f.js +1 -0
  95. package/dist/console/static/js/async/4846.a347c020.js +1 -0
  96. package/dist/console/static/js/async/4860.83dadf89.js +1 -0
  97. package/dist/console/static/js/async/500.fcfa37cb.js +1 -0
  98. package/dist/console/static/js/async/5096.b360203d.js +1 -0
  99. package/dist/console/static/js/async/5222.043274fe.js +1 -0
  100. package/dist/console/static/js/async/5362.f498001c.js +1 -0
  101. package/dist/console/static/js/async/54.c94f0755.js +1 -0
  102. package/dist/console/static/js/async/5478.50dd9ef0.js +2 -0
  103. package/dist/console/static/js/async/5478.50dd9ef0.js.LICENSE.txt +3 -0
  104. package/dist/console/static/js/async/5507.a6a1f793.js +1 -0
  105. package/dist/console/static/js/async/5638.bc6b102d.js +1 -0
  106. package/dist/console/static/js/async/5722.e0029049.js +1 -0
  107. package/dist/console/static/js/async/5942.74635c6b.js +1 -0
  108. package/dist/console/static/js/async/5994.1c5629c1.js +1 -0
  109. package/dist/console/static/js/async/6054.6bddf720.js +1 -0
  110. package/dist/console/static/js/async/6118.45e754e5.js +1 -0
  111. package/dist/console/static/js/async/6127.adcbcbb6.js +1 -0
  112. package/dist/console/static/js/async/614.3f434c20.js +1 -0
  113. package/dist/console/static/js/async/6234.ba3b002d.js +1 -0
  114. package/dist/console/static/js/async/6310.6546a9ba.js +1 -0
  115. package/dist/console/static/js/async/6378.9f805419.js +1 -0
  116. package/dist/console/static/js/async/6380.e4433c49.js +1 -0
  117. package/dist/console/static/js/async/6418.f23bcfda.js +1 -0
  118. package/dist/console/static/js/async/6428.77c86114.js +1 -0
  119. package/dist/console/static/js/async/6443.83318a6c.js +1 -0
  120. package/dist/console/static/js/async/6508.2b445d62.js +3 -0
  121. package/dist/console/static/js/async/6542.e82a26c8.js +1 -0
  122. package/dist/console/static/js/async/6544.62111ecb.js +1 -0
  123. package/dist/console/static/js/async/6612.a0c9fcf4.js +1 -0
  124. package/dist/console/static/js/async/6740.695aebf0.js +1 -0
  125. package/dist/console/static/js/async/6822.dbbb32bc.js +1 -0
  126. package/dist/console/static/js/async/6824.ad3540ab.js +1 -0
  127. package/dist/console/static/js/async/6930.585dab94.js +1 -0
  128. package/dist/console/static/js/async/6982.c81b95e6.js +1 -0
  129. package/dist/console/static/js/async/7046.ab2378c1.js +1 -0
  130. package/dist/console/static/js/async/7110.a603277f.js +1 -0
  131. package/dist/console/static/js/async/7142.4a21366f.js +1 -0
  132. package/dist/console/static/js/async/7348.15cc6148.js +1373 -0
  133. package/dist/console/static/js/async/7348.15cc6148.js.LICENSE.txt +14 -0
  134. package/dist/console/static/js/async/7374.b1ac5c44.js +1 -0
  135. package/dist/console/static/js/async/742.847f17ca.js +1 -0
  136. package/dist/console/static/js/async/7446.743954d8.js +1 -0
  137. package/dist/console/static/js/async/7673.59bbbaac.js +1 -0
  138. package/dist/console/static/js/async/7684.c5760c8c.js +1 -0
  139. package/dist/console/static/js/async/7714.c30d0f94.js +1 -0
  140. package/dist/console/static/js/async/8118.36d5a3bf.js +298 -0
  141. package/dist/console/static/js/async/8145.4bcf043a.js +1 -0
  142. package/dist/console/static/js/async/8246.408de938.js +1 -0
  143. package/dist/console/static/js/async/8390.bdae1f7d.js +1 -0
  144. package/dist/console/static/js/async/8422.fd94dbe1.js +1 -0
  145. package/dist/console/static/js/async/8434.94a0e2ae.js +1 -0
  146. package/dist/console/static/js/async/8518.3158de13.js +1 -0
  147. package/dist/console/static/js/async/8564.fc2eb841.js +1 -0
  148. package/dist/console/static/js/async/8678.73af4c9b.js +1 -0
  149. package/dist/console/static/js/async/8694.79747168.js +1 -0
  150. package/dist/console/static/js/async/8756.1de37b83.js +1 -0
  151. package/dist/console/static/js/async/8804.7fe6bdf9.js +3 -0
  152. package/dist/console/static/js/async/8883.e717ee94.js +1 -0
  153. package/dist/console/static/js/async/8886.fe6e876c.js +1 -0
  154. package/dist/console/static/js/async/9030.fc1ae402.js +1 -0
  155. package/dist/console/static/js/async/9094.5598d084.js +1 -0
  156. package/dist/console/static/js/async/9218.ee7b84b7.js +1 -0
  157. package/dist/console/static/js/async/94.9b80bc35.js +1 -0
  158. package/dist/console/static/js/async/9526.92aba34c.js +1 -0
  159. package/dist/console/static/js/async/9762.f83bc4f3.js +1 -0
  160. package/dist/console/static/js/async/984.e11c113a.js +1 -0
  161. package/dist/console/static/js/async/9846.246653cd.js +1 -0
  162. package/dist/console/static/js/index.4487e1ff.js +1 -0
  163. package/dist/console/static/js/lib-react.15d7ca9a.js +2 -0
  164. package/dist/console/static/js/lib-react.15d7ca9a.js.LICENSE.txt +49 -0
  165. package/dist/coze-C6PMDPBI.js +49 -0
  166. package/dist/coze-E6VGRNLV.js +48 -0
  167. package/dist/dashboard.command-J7XOZNXU.js +8 -0
  168. package/dist/dashboard.command-RV2NHDKW.js +7 -0
  169. package/dist/dingtalk-JNRNRN7E.js +77 -0
  170. package/dist/dingtalk-WZGGIAHJ.js +76 -0
  171. package/dist/douyin-miniprogram-AIJPPIZH.js +41 -0
  172. package/dist/douyin-miniprogram-HCYZ5NBW.js +42 -0
  173. package/dist/figma-2YYNSCDX.js +103 -0
  174. package/dist/figma-RYOBMENP.js +102 -0
  175. package/dist/firebase-2IJDDBXX.js +112 -0
  176. package/dist/firebase-OYSY6HPT.js +111 -0
  177. package/dist/firecrawl-2T3SBUW7.js +66 -0
  178. package/dist/firecrawl-IYYXLAZM.js +65 -0
  179. package/dist/flyai-7FJ4TRAG.js +81 -0
  180. package/dist/flyai-QS5Q6FJR.js +82 -0
  181. package/dist/gitagent-MWI75OIX.js +725 -0
  182. package/dist/gitagent-YBMWY7NZ.js +726 -0
  183. package/dist/gitee-3N7OFOM7.js +53 -0
  184. package/dist/gitee-KVNK6KLZ.js +54 -0
  185. package/dist/github-LUEC2LID.js +143 -0
  186. package/dist/github-XRO5Z3GC.js +142 -0
  187. package/dist/google-ads-A3QAJI4D.js +88 -0
  188. package/dist/google-ads-VPKWTX67.js +89 -0
  189. package/dist/google-analytics-C4UR5ZR2.js +50 -0
  190. package/dist/google-analytics-XDYZA2B7.js +49 -0
  191. package/dist/google-workspace-LL3EWVHH.js +320 -0
  192. package/dist/google-workspace-YX35SHHX.js +321 -0
  193. package/dist/huawei-xiaoyi-6BSMGJHR.js +40 -0
  194. package/dist/huawei-xiaoyi-KPWLTSHB.js +41 -0
  195. package/dist/hubspot-DIUHGEDI.js +45 -0
  196. package/dist/hubspot-FTIEMNZO.js +44 -0
  197. package/dist/huggingface-MJCOXA7E.js +116 -0
  198. package/dist/huggingface-UUXK2RHK.js +117 -0
  199. package/dist/index.d.ts +3013 -0
  200. package/dist/index.js +15649 -0
  201. package/dist/inference-ai-image-generation-CMI6R5T3.js +106 -0
  202. package/dist/inference-ai-image-generation-PXV6IG4U.js +107 -0
  203. package/dist/inference-sh-7AZOLEFI.js +94 -0
  204. package/dist/inference-sh-ABQOD3YF.js +95 -0
  205. package/dist/init.command-6E24K4H3.js +9 -0
  206. package/dist/init.command-O4HG4HKR.js +10 -0
  207. package/dist/klaviyo-6K5YEFNH.js +45 -0
  208. package/dist/klaviyo-LDPBWBSS.js +44 -0
  209. package/dist/kuaidi100-HGFM5VK2.js +42 -0
  210. package/dist/kuaidi100-UHPFCVXP.js +41 -0
  211. package/dist/lark-6LNA3LUQ.js +103 -0
  212. package/dist/lark-URVBZNS4.js +102 -0
  213. package/dist/linear-7QFSFPOD.js +57 -0
  214. package/dist/linear-T4ORUP7N.js +56 -0
  215. package/dist/lovart-PDUXRUHJ.js +99 -0
  216. package/dist/lovart-QO3SK55T.js +100 -0
  217. package/dist/meta-ads-SCNFI45S.js +42 -0
  218. package/dist/meta-ads-V6XPZWX3.js +41 -0
  219. package/dist/miclaw-5CNTW7VV.js +36 -0
  220. package/dist/miclaw-TPPPS2WN.js +35 -0
  221. package/dist/model-provider-AVSFJSZP.js +393 -0
  222. package/dist/model-provider-KFB76XV5.js +392 -0
  223. package/dist/notion-FZK76MN2.js +69 -0
  224. package/dist/notion-WFA7KGZZ.js +70 -0
  225. package/dist/oceanengine-3JZUS3PP.js +43 -0
  226. package/dist/oceanengine-5BRIJVJE.js +42 -0
  227. package/dist/opencli-PFXHGCS2.js +81 -0
  228. package/dist/opencli-VIGRJTGH.js +80 -0
  229. package/dist/paypal-33UADIPR.js +54 -0
  230. package/dist/paypal-Z5JYHIWD.js +55 -0
  231. package/dist/playwright-MG5WHK47.js +58 -0
  232. package/dist/playwright-SQAQ3DZG.js +59 -0
  233. package/dist/plugins-HZBWK3WQ.js +120 -0
  234. package/dist/plugins-I4GD5SZX.js +121 -0
  235. package/dist/posthog-MU5MAJOQ.js +79 -0
  236. package/dist/posthog-RJRRKDWB.js +80 -0
  237. package/dist/salesforce-34FVIJTG.js +82 -0
  238. package/dist/salesforce-3QZ6OFVO.js +83 -0
  239. package/dist/sentry-MCIRMACU.js +111 -0
  240. package/dist/sentry-PIWW46VA.js +110 -0
  241. package/dist/seo-suite-4SQ3I67Q.js +54 -0
  242. package/dist/seo-suite-WJXMA3S4.js +55 -0
  243. package/dist/serve.command-5FMIPQRY.js +10 -0
  244. package/dist/serve.command-DNE6GPMK.js +9 -0
  245. package/dist/shadowob-JELOWHWX.js +1068 -0
  246. package/dist/shadowob-PRSMI5MW.js +1069 -0
  247. package/dist/sherlock-2PKY2E2Y.js +66 -0
  248. package/dist/sherlock-C5ZWPPVT.js +67 -0
  249. package/dist/shopify-GL3NFVGE.js +94 -0
  250. package/dist/shopify-R4G3UXM6.js +93 -0
  251. package/dist/skill-discovery-7INAUP4D.js +77 -0
  252. package/dist/skill-discovery-YPXXV622.js +78 -0
  253. package/dist/state-7MCZBTR5.js +17 -0
  254. package/dist/state-FGOFLFBE.js +18 -0
  255. package/dist/stripe-C22RR4ZS.js +83 -0
  256. package/dist/stripe-LJNPQ3CQ.js +82 -0
  257. package/dist/supabase-IRNQ54FJ.js +98 -0
  258. package/dist/supabase-N4ONFJNQ.js +97 -0
  259. package/dist/taobao-aipaas-LRR4GMO3.js +45 -0
  260. package/dist/taobao-aipaas-RVKORSF4.js +46 -0
  261. package/dist/tapd-3JPVJ7XH.js +46 -0
  262. package/dist/tapd-TMQRSMFG.js +47 -0
  263. package/dist/tencent-ads-IGD33LO7.js +42 -0
  264. package/dist/tencent-ads-UHC6OPBV.js +43 -0
  265. package/dist/tencent-docs-C3A4J3CJ.js +47 -0
  266. package/dist/tencent-docs-O2SC4FHL.js +48 -0
  267. package/dist/tencent-maps-HMMWMNF4.js +37 -0
  268. package/dist/tencent-maps-OQOKHVW2.js +36 -0
  269. package/dist/vercel-KOXDDTHX.js +73 -0
  270. package/dist/vercel-OLNVDWMG.js +74 -0
  271. package/dist/webflow-FULU5Q2I.js +114 -0
  272. package/dist/webflow-OMJKZM54.js +115 -0
  273. package/dist/wechat-miniprogram-skyline-KYCDMQNW.js +74 -0
  274. package/dist/wechat-miniprogram-skyline-VR4FVIQL.js +75 -0
  275. package/dist/wechat-pay-BCMAJ6UW.js +50 -0
  276. package/dist/wechat-pay-YQQKXVUI.js +51 -0
  277. package/dist/wonda-NGWIORYN.js +81 -0
  278. package/dist/wonda-RBABXFNM.js +82 -0
  279. package/dist/wordpress-woocommerce-RDIUTHYT.js +57 -0
  280. package/dist/wordpress-woocommerce-RNA5HB3N.js +58 -0
  281. package/dist/wps-DAEFQHDE.js +47 -0
  282. package/dist/wps-LUWHMZQQ.js +48 -0
  283. package/dist/yuque-HCHTJWNI.js +72 -0
  284. package/dist/yuque-KRH5O74J.js +71 -0
  285. package/images/RUNNERS.md +270 -0
  286. package/images/cc-connect-runner/entrypoint.mjs +311 -0
  287. package/images/claude-runner/Dockerfile +88 -0
  288. package/images/claude-runner/RUNNER.md +222 -0
  289. package/images/claude-runner/entrypoint.mjs +2 -0
  290. package/images/codex-runner/Dockerfile +87 -0
  291. package/images/codex-runner/RUNNER.md +226 -0
  292. package/images/codex-runner/entrypoint.mjs +2 -0
  293. package/images/gemini-runner/Dockerfile +87 -0
  294. package/images/gemini-runner/RUNNER.md +218 -0
  295. package/images/gemini-runner/entrypoint.mjs +2 -0
  296. package/images/hermes-runner/Dockerfile +74 -0
  297. package/images/hermes-runner/RUNNER.md +243 -0
  298. package/images/hermes-runner/entrypoint.mjs +283 -0
  299. package/images/openclaw-runner/Dockerfile +212 -0
  300. package/images/openclaw-runner/RUNNER.md +170 -0
  301. package/images/openclaw-runner/entrypoint.mjs +1113 -0
  302. package/images/openclaw-runner/warm-runtime-deps.mjs +95 -0
  303. package/images/opencode-runner/Dockerfile +87 -0
  304. package/images/opencode-runner/RUNNER.md +202 -0
  305. package/images/opencode-runner/entrypoint.mjs +2 -0
  306. package/package.json +121 -0
  307. package/templates/agent-marketplace-buddy.template.json +131 -0
  308. package/templates/ai-werewolf.template.json +92 -0
  309. package/templates/bmad-method-buddy.template.json +123 -0
  310. package/templates/brain-fix.template.json +92 -0
  311. package/templates/claude-ads-buddy.template.json +123 -0
  312. package/templates/claude-financial-services-buddy.template.json +111 -0
  313. package/templates/claude-seo-buddy.template.json +123 -0
  314. package/templates/code-arena.template.json +92 -0
  315. package/templates/daily-brief.template.json +92 -0
  316. package/templates/e-wife.template.json +92 -0
  317. package/templates/everything-claude-code-buddy.template.json +125 -0
  318. package/templates/financial-freedom.template.json +92 -0
  319. package/templates/gitstory.template.json +92 -0
  320. package/templates/google-workspace-buddy.template.json +88 -0
  321. package/templates/gsd-buddy.template.json +119 -0
  322. package/templates/gstack-buddy.template.json +143 -0
  323. package/templates/gstack.template.json +92 -0
  324. package/templates/little-match-girl.template.json +114 -0
  325. package/templates/lovart-buddy.template.json +110 -0
  326. package/templates/marketingskills-buddy.template.json +102 -0
  327. package/templates/retire-buddy.template.json +92 -0
  328. package/templates/scientific-skills-buddy.template.json +119 -0
  329. package/templates/seomachine-buddy.template.json +113 -0
  330. package/templates/shadow-server-app-demo.template.json +105 -0
  331. package/templates/slavingia-skills-buddy.template.json +102 -0
  332. package/templates/superclaude-buddy.template.json +146 -0
  333. package/templates/superpowers-buddy.template.json +108 -0
  334. package/templates/world-pulse.template.json +92 -0
@@ -0,0 +1,81 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ attachConnectorRuntimeAssets,
4
+ connectorManifest,
5
+ installedCheck,
6
+ npmGlobalDependency
7
+ } from "./chunk-SVMXSIMG.js";
8
+ import "./chunk-RECNVWMT.js";
9
+ import {
10
+ defineConnectorPlugin
11
+ } from "./chunk-CTNUKOQE.js";
12
+ import "./chunk-AD3JTIU3.js";
13
+
14
+ // src/plugins/opencli/index.ts
15
+ var manifest = connectorManifest({
16
+ id: "opencli",
17
+ name: "OpenCLI",
18
+ description: "OpenCLI turns websites, browser sessions, Electron apps, and local tools into deterministic CLI commands for agent workflows.",
19
+ category: "automation",
20
+ icon: "terminal",
21
+ website: "https://github.com/jackwener/opencli",
22
+ docs: "https://github.com/jackwener/opencli/tree/main/docs",
23
+ fields: [],
24
+ authType: "none",
25
+ capabilities: ["tool", "data-source", "action", "cli"],
26
+ tags: ["opencli", "browser", "automation", "cli", "adapter", "electron"],
27
+ popularity: 84
28
+ });
29
+ var runtimeDependencies = [
30
+ npmGlobalDependency("opencli", ["@jackwener/opencli"], "OpenCLI browser and adapter CLI")
31
+ ];
32
+ var skillSources = [
33
+ {
34
+ id: "opencli-skills",
35
+ kind: "git",
36
+ url: "https://github.com/jackwener/opencli.git",
37
+ ref: "main",
38
+ from: "skills",
39
+ targetPath: "/workspace/.agents/plugin-skills/opencli",
40
+ include: [
41
+ "opencli-adapter-author",
42
+ "opencli-autofix",
43
+ "opencli-browser",
44
+ "opencli-usage",
45
+ "smart-search"
46
+ ],
47
+ description: "OpenCLI agent skills for browser automation, adapter authoring, and usage"
48
+ }
49
+ ];
50
+ var verificationChecks = [
51
+ installedCheck("opencli-cli-installed", "OpenCLI CLI installed", ["opencli", "--version"]),
52
+ {
53
+ id: "opencli-skills-mounted",
54
+ label: "OpenCLI skills mounted",
55
+ kind: "command",
56
+ command: ["test", "-f", "/workspace/.agents/plugin-skills/opencli/opencli-usage/SKILL.md"],
57
+ timeoutMs: 5e3,
58
+ risk: "safe"
59
+ }
60
+ ];
61
+ var plugin = defineConnectorPlugin(manifest, {
62
+ cli: [
63
+ {
64
+ name: "opencli",
65
+ command: "opencli",
66
+ description: "OpenCLI command hub for website adapters, browser bridge operations, and local tool wrappers"
67
+ }
68
+ ],
69
+ runtimeDependencies,
70
+ skillSources,
71
+ verificationChecks,
72
+ prompt: "Use OpenCLI for deterministic website adapters, browser bridge workflows, Electron app control, and local CLI hub tasks. Prefer built-in adapters for read-only public data. Ask before browser-backed actions that require a user session, account state, or writes."
73
+ });
74
+ var opencli_default = attachConnectorRuntimeAssets(plugin, {
75
+ runtimeDependencies,
76
+ skillSources,
77
+ skillsMountPath: "/workspace/.agents/plugin-skills/opencli"
78
+ });
79
+ export {
80
+ opencli_default as default
81
+ };
@@ -0,0 +1,80 @@
1
+ import {
2
+ attachConnectorRuntimeAssets,
3
+ connectorManifest,
4
+ installedCheck,
5
+ npmGlobalDependency
6
+ } from "./chunk-EEFMJYKB.js";
7
+ import "./chunk-POSVEKIY.js";
8
+ import {
9
+ defineConnectorPlugin
10
+ } from "./chunk-JY2HTT7Q.js";
11
+ import "./chunk-R5U7XKVJ.js";
12
+
13
+ // src/plugins/opencli/index.ts
14
+ var manifest = connectorManifest({
15
+ id: "opencli",
16
+ name: "OpenCLI",
17
+ description: "OpenCLI turns websites, browser sessions, Electron apps, and local tools into deterministic CLI commands for agent workflows.",
18
+ category: "automation",
19
+ icon: "terminal",
20
+ website: "https://github.com/jackwener/opencli",
21
+ docs: "https://github.com/jackwener/opencli/tree/main/docs",
22
+ fields: [],
23
+ authType: "none",
24
+ capabilities: ["tool", "data-source", "action", "cli"],
25
+ tags: ["opencli", "browser", "automation", "cli", "adapter", "electron"],
26
+ popularity: 84
27
+ });
28
+ var runtimeDependencies = [
29
+ npmGlobalDependency("opencli", ["@jackwener/opencli"], "OpenCLI browser and adapter CLI")
30
+ ];
31
+ var skillSources = [
32
+ {
33
+ id: "opencli-skills",
34
+ kind: "git",
35
+ url: "https://github.com/jackwener/opencli.git",
36
+ ref: "main",
37
+ from: "skills",
38
+ targetPath: "/workspace/.agents/plugin-skills/opencli",
39
+ include: [
40
+ "opencli-adapter-author",
41
+ "opencli-autofix",
42
+ "opencli-browser",
43
+ "opencli-usage",
44
+ "smart-search"
45
+ ],
46
+ description: "OpenCLI agent skills for browser automation, adapter authoring, and usage"
47
+ }
48
+ ];
49
+ var verificationChecks = [
50
+ installedCheck("opencli-cli-installed", "OpenCLI CLI installed", ["opencli", "--version"]),
51
+ {
52
+ id: "opencli-skills-mounted",
53
+ label: "OpenCLI skills mounted",
54
+ kind: "command",
55
+ command: ["test", "-f", "/workspace/.agents/plugin-skills/opencli/opencli-usage/SKILL.md"],
56
+ timeoutMs: 5e3,
57
+ risk: "safe"
58
+ }
59
+ ];
60
+ var plugin = defineConnectorPlugin(manifest, {
61
+ cli: [
62
+ {
63
+ name: "opencli",
64
+ command: "opencli",
65
+ description: "OpenCLI command hub for website adapters, browser bridge operations, and local tool wrappers"
66
+ }
67
+ ],
68
+ runtimeDependencies,
69
+ skillSources,
70
+ verificationChecks,
71
+ prompt: "Use OpenCLI for deterministic website adapters, browser bridge workflows, Electron app control, and local CLI hub tasks. Prefer built-in adapters for read-only public data. Ask before browser-backed actions that require a user session, account state, or writes."
72
+ });
73
+ var opencli_default = attachConnectorRuntimeAssets(plugin, {
74
+ runtimeDependencies,
75
+ skillSources,
76
+ skillsMountPath: "/workspace/.agents/plugin-skills/opencli"
77
+ });
78
+ export {
79
+ opencli_default as default
80
+ };
@@ -0,0 +1,54 @@
1
+ import {
2
+ connectorField,
3
+ connectorManifest
4
+ } from "./chunk-EEFMJYKB.js";
5
+ import "./chunk-POSVEKIY.js";
6
+ import {
7
+ defineConnectorPlugin
8
+ } from "./chunk-JY2HTT7Q.js";
9
+ import "./chunk-R5U7XKVJ.js";
10
+
11
+ // src/plugins/paypal/index.ts
12
+ var manifest = connectorManifest({
13
+ id: "paypal",
14
+ name: "PayPal",
15
+ description: "PayPal commerce operations for transaction reconciliation, account risk triage, disputes, refunds, and chargeback workflows.",
16
+ category: "finance",
17
+ icon: "wallet-cards",
18
+ website: "https://developer.paypal.com",
19
+ docs: "https://docs.paypal.ai/developer/tools/ai/mcp-quickstart",
20
+ fields: [
21
+ connectorField("PAYPAL_CLIENT_ID", "PayPal client ID", {
22
+ description: "REST app client ID.",
23
+ sensitive: false,
24
+ placeholder: "Client ID"
25
+ }),
26
+ connectorField("PAYPAL_CLIENT_SECRET", "PayPal client secret", {
27
+ description: "REST app client secret.",
28
+ placeholder: "Client secret"
29
+ }),
30
+ connectorField("PAYPAL_ENVIRONMENT", "PayPal environment", {
31
+ description: "Use sandbox for testing or live for production.",
32
+ required: false,
33
+ sensitive: false,
34
+ placeholder: "sandbox"
35
+ })
36
+ ],
37
+ capabilities: ["tool", "data-source", "action", "mcp"],
38
+ tags: ["payments", "paypal", "disputes", "refunds", "risk", "mcp"],
39
+ popularity: 97
40
+ });
41
+ var paypal_default = defineConnectorPlugin(manifest, {
42
+ mcp: {
43
+ id: "paypal-mcp",
44
+ transport: "streamable-http",
45
+ url: "https://mcp.paypal.com/http",
46
+ description: "PayPal MCP server for PayPal commerce APIs",
47
+ auth: { type: "oauth2" },
48
+ requiredEnv: ["PAYPAL_CLIENT_ID", "PAYPAL_CLIENT_SECRET"]
49
+ },
50
+ prompt: "Use PayPal for payment reconciliation, dispute and chargeback investigation, refund review, and account-risk triage. Ask for approval before refunds, captures, or dispute responses."
51
+ });
52
+ export {
53
+ paypal_default as default
54
+ };
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ connectorField,
4
+ connectorManifest
5
+ } from "./chunk-SVMXSIMG.js";
6
+ import "./chunk-RECNVWMT.js";
7
+ import {
8
+ defineConnectorPlugin
9
+ } from "./chunk-CTNUKOQE.js";
10
+ import "./chunk-AD3JTIU3.js";
11
+
12
+ // src/plugins/paypal/index.ts
13
+ var manifest = connectorManifest({
14
+ id: "paypal",
15
+ name: "PayPal",
16
+ description: "PayPal commerce operations for transaction reconciliation, account risk triage, disputes, refunds, and chargeback workflows.",
17
+ category: "finance",
18
+ icon: "wallet-cards",
19
+ website: "https://developer.paypal.com",
20
+ docs: "https://docs.paypal.ai/developer/tools/ai/mcp-quickstart",
21
+ fields: [
22
+ connectorField("PAYPAL_CLIENT_ID", "PayPal client ID", {
23
+ description: "REST app client ID.",
24
+ sensitive: false,
25
+ placeholder: "Client ID"
26
+ }),
27
+ connectorField("PAYPAL_CLIENT_SECRET", "PayPal client secret", {
28
+ description: "REST app client secret.",
29
+ placeholder: "Client secret"
30
+ }),
31
+ connectorField("PAYPAL_ENVIRONMENT", "PayPal environment", {
32
+ description: "Use sandbox for testing or live for production.",
33
+ required: false,
34
+ sensitive: false,
35
+ placeholder: "sandbox"
36
+ })
37
+ ],
38
+ capabilities: ["tool", "data-source", "action", "mcp"],
39
+ tags: ["payments", "paypal", "disputes", "refunds", "risk", "mcp"],
40
+ popularity: 97
41
+ });
42
+ var paypal_default = defineConnectorPlugin(manifest, {
43
+ mcp: {
44
+ id: "paypal-mcp",
45
+ transport: "streamable-http",
46
+ url: "https://mcp.paypal.com/http",
47
+ description: "PayPal MCP server for PayPal commerce APIs",
48
+ auth: { type: "oauth2" },
49
+ requiredEnv: ["PAYPAL_CLIENT_ID", "PAYPAL_CLIENT_SECRET"]
50
+ },
51
+ prompt: "Use PayPal for payment reconciliation, dispute and chargeback investigation, refund review, and account-risk triage. Ask for approval before refunds, captures, or dispute responses."
52
+ });
53
+ export {
54
+ paypal_default as default
55
+ };
@@ -0,0 +1,58 @@
1
+ import {
2
+ attachConnectorRuntimeAssets,
3
+ connectorManifest,
4
+ installedCheck,
5
+ npmGlobalDependency
6
+ } from "./chunk-EEFMJYKB.js";
7
+ import "./chunk-POSVEKIY.js";
8
+ import {
9
+ defineConnectorPlugin
10
+ } from "./chunk-JY2HTT7Q.js";
11
+ import "./chunk-R5U7XKVJ.js";
12
+
13
+ // src/plugins/playwright/index.ts
14
+ var manifest = connectorManifest({
15
+ id: "playwright",
16
+ name: "Playwright",
17
+ description: "Playwright BrowserOps gives Buddies deterministic browser automation for E2E testing, visual QA, screenshots, trace review, and scripted web workflows.",
18
+ category: "automation",
19
+ icon: "panel-top",
20
+ website: "https://playwright.dev",
21
+ docs: "https://playwright.dev/docs/mcp",
22
+ fields: [],
23
+ authType: "none",
24
+ capabilities: ["tool", "data-source", "action", "cli", "mcp"],
25
+ tags: ["playwright", "browser", "e2e", "screenshots", "visual-qa", "mcp"],
26
+ popularity: 90
27
+ });
28
+ var runtimeDependencies = [
29
+ npmGlobalDependency("playwright", ["playwright", "@playwright/mcp"], "Playwright CLI and MCP")
30
+ ];
31
+ var plugin = defineConnectorPlugin(manifest, {
32
+ cli: [
33
+ {
34
+ name: "playwright",
35
+ command: "playwright",
36
+ description: "Playwright CLI for browser testing, screenshots, traces, and codegen"
37
+ }
38
+ ],
39
+ mcp: {
40
+ id: "playwright-mcp",
41
+ transport: "stdio",
42
+ command: "npx",
43
+ args: ["-y", "@playwright/mcp@latest"],
44
+ description: "Playwright MCP server for browser automation"
45
+ },
46
+ runtimeDependencies,
47
+ verificationChecks: [
48
+ installedCheck("playwright-cli-installed", "Playwright CLI installed", [
49
+ "playwright",
50
+ "--version"
51
+ ])
52
+ ],
53
+ prompt: "Use Playwright for browser automation, E2E tests, screenshots, visual QA, trace analysis, and reproducible web workflows. Confirm before submitting forms, publishing content, or changing account state."
54
+ });
55
+ var playwright_default = attachConnectorRuntimeAssets(plugin, { runtimeDependencies });
56
+ export {
57
+ playwright_default as default
58
+ };
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ attachConnectorRuntimeAssets,
4
+ connectorManifest,
5
+ installedCheck,
6
+ npmGlobalDependency
7
+ } from "./chunk-SVMXSIMG.js";
8
+ import "./chunk-RECNVWMT.js";
9
+ import {
10
+ defineConnectorPlugin
11
+ } from "./chunk-CTNUKOQE.js";
12
+ import "./chunk-AD3JTIU3.js";
13
+
14
+ // src/plugins/playwright/index.ts
15
+ var manifest = connectorManifest({
16
+ id: "playwright",
17
+ name: "Playwright",
18
+ description: "Playwright BrowserOps gives Buddies deterministic browser automation for E2E testing, visual QA, screenshots, trace review, and scripted web workflows.",
19
+ category: "automation",
20
+ icon: "panel-top",
21
+ website: "https://playwright.dev",
22
+ docs: "https://playwright.dev/docs/mcp",
23
+ fields: [],
24
+ authType: "none",
25
+ capabilities: ["tool", "data-source", "action", "cli", "mcp"],
26
+ tags: ["playwright", "browser", "e2e", "screenshots", "visual-qa", "mcp"],
27
+ popularity: 90
28
+ });
29
+ var runtimeDependencies = [
30
+ npmGlobalDependency("playwright", ["playwright", "@playwright/mcp"], "Playwright CLI and MCP")
31
+ ];
32
+ var plugin = defineConnectorPlugin(manifest, {
33
+ cli: [
34
+ {
35
+ name: "playwright",
36
+ command: "playwright",
37
+ description: "Playwright CLI for browser testing, screenshots, traces, and codegen"
38
+ }
39
+ ],
40
+ mcp: {
41
+ id: "playwright-mcp",
42
+ transport: "stdio",
43
+ command: "npx",
44
+ args: ["-y", "@playwright/mcp@latest"],
45
+ description: "Playwright MCP server for browser automation"
46
+ },
47
+ runtimeDependencies,
48
+ verificationChecks: [
49
+ installedCheck("playwright-cli-installed", "Playwright CLI installed", [
50
+ "playwright",
51
+ "--version"
52
+ ])
53
+ ],
54
+ prompt: "Use Playwright for browser automation, E2E tests, screenshots, visual QA, trace analysis, and reproducible web workflows. Confirm before submitting forms, publishing content, or changing account state."
55
+ });
56
+ var playwright_default = attachConnectorRuntimeAssets(plugin, { runtimeDependencies });
57
+ export {
58
+ playwright_default as default
59
+ };
@@ -0,0 +1,120 @@
1
+ import {
2
+ createPluginRegistry,
3
+ getPluginRegistry,
4
+ loadAllPlugins,
5
+ registerPlugin,
6
+ resetPluginRegistry,
7
+ resolveAgentPluginConfig,
8
+ resolvePluginSecrets,
9
+ validateManifest
10
+ } from "./chunk-JUPAE5IA.js";
11
+ import {
12
+ defineChannelPlugin,
13
+ defineConnectorPlugin,
14
+ definePlugin,
15
+ defineProviderPlugin,
16
+ defineSkillPlugin,
17
+ loadManifest
18
+ } from "./chunk-JY2HTT7Q.js";
19
+ import "./chunk-R5U7XKVJ.js";
20
+
21
+ // src/plugins/lifecycle.ts
22
+ async function executePluginProvisions(agent, config, namespace, logger, dryRun = false, extraSecrets = {}, persistedState = null) {
23
+ const registry = getPluginRegistry();
24
+ const results = { secrets: {}, states: {}, errors: [] };
25
+ if (registry.size === 0) return results;
26
+ for (const pluginDef of registry.getAll()) {
27
+ const pluginId = pluginDef.manifest.id;
28
+ if (!pluginDef._hooks.provision.length) continue;
29
+ const resolved = resolveAgentPluginConfig(pluginId, agent.id, config);
30
+ if (!resolved) continue;
31
+ const secrets = { ...resolvePluginSecrets(pluginId, config, process.env), ...extraSecrets };
32
+ const context = {
33
+ agent,
34
+ config,
35
+ agentConfig: resolved,
36
+ secrets,
37
+ namespace,
38
+ logger,
39
+ dryRun,
40
+ previousState: persistedState?.plugins?.[pluginId] ?? null
41
+ };
42
+ try {
43
+ logger.dim(` Provisioning plugin: ${pluginDef.manifest.name}`);
44
+ for (const fn of pluginDef._hooks.provision) {
45
+ const result = await fn(context);
46
+ if (result.state) results.states[pluginId] = result.state;
47
+ if (result.secrets) Object.assign(results.secrets, result.secrets);
48
+ }
49
+ } catch (err) {
50
+ const cause = err instanceof Error ? err.cause : void 0;
51
+ const message = err instanceof Error ? err.message : String(err);
52
+ const detail = cause ? ` (cause: ${cause.code ?? ""} ${cause.message ?? ""})` : "";
53
+ const stack = err instanceof Error && err.stack ? `
54
+ ${err.stack.split("\n").slice(0, 4).join("\n")}` : "";
55
+ results.errors.push({ pluginId, error: message + detail });
56
+ logger.info(` \u26A0 Plugin ${pluginId} provision failed: ${message}${detail}${stack}`);
57
+ }
58
+ }
59
+ return results;
60
+ }
61
+ async function checkPluginHealth(config, agentId = "") {
62
+ const registry = getPluginRegistry();
63
+ const results = [];
64
+ if (registry.size === 0) return results;
65
+ for (const pluginDef of registry.getAll()) {
66
+ const pluginId = pluginDef.manifest.id;
67
+ if (!pluginDef._hooks.healthCheck.length) continue;
68
+ const resolved = resolveAgentPluginConfig(pluginId, agentId, config);
69
+ if (!resolved) continue;
70
+ const secrets = resolvePluginSecrets(pluginId, config, process.env);
71
+ const context = {
72
+ agent: {
73
+ id: agentId,
74
+ runtime: "openclaw",
75
+ configuration: { openclaw: {} }
76
+ },
77
+ config,
78
+ agentConfig: resolved,
79
+ secrets,
80
+ namespace: config.deployments?.namespace ?? "default",
81
+ pluginRegistry: registry,
82
+ cwd: process.cwd()
83
+ };
84
+ try {
85
+ for (const fn of pluginDef._hooks.healthCheck) {
86
+ const result = await fn(context);
87
+ results.push({
88
+ pluginId,
89
+ name: pluginDef.manifest.name,
90
+ healthy: result.healthy,
91
+ message: result.message
92
+ });
93
+ }
94
+ } catch (err) {
95
+ results.push({
96
+ pluginId,
97
+ name: pluginDef.manifest.name,
98
+ healthy: false,
99
+ message: err instanceof Error ? err.message : String(err)
100
+ });
101
+ }
102
+ }
103
+ return results;
104
+ }
105
+ export {
106
+ checkPluginHealth,
107
+ createPluginRegistry,
108
+ defineChannelPlugin,
109
+ defineConnectorPlugin,
110
+ definePlugin,
111
+ defineProviderPlugin,
112
+ defineSkillPlugin,
113
+ executePluginProvisions,
114
+ getPluginRegistry,
115
+ loadAllPlugins,
116
+ loadManifest,
117
+ registerPlugin,
118
+ resetPluginRegistry,
119
+ validateManifest
120
+ };
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ createPluginRegistry,
4
+ getPluginRegistry,
5
+ loadAllPlugins,
6
+ registerPlugin,
7
+ resetPluginRegistry,
8
+ resolveAgentPluginConfig,
9
+ resolvePluginSecrets,
10
+ validateManifest
11
+ } from "./chunk-6P2K6QZR.js";
12
+ import {
13
+ defineChannelPlugin,
14
+ defineConnectorPlugin,
15
+ definePlugin,
16
+ defineProviderPlugin,
17
+ defineSkillPlugin,
18
+ loadManifest
19
+ } from "./chunk-CTNUKOQE.js";
20
+ import "./chunk-AD3JTIU3.js";
21
+
22
+ // src/plugins/lifecycle.ts
23
+ async function executePluginProvisions(agent, config, namespace, logger, dryRun = false, extraSecrets = {}, persistedState = null) {
24
+ const registry = getPluginRegistry();
25
+ const results = { secrets: {}, states: {}, errors: [] };
26
+ if (registry.size === 0) return results;
27
+ for (const pluginDef of registry.getAll()) {
28
+ const pluginId = pluginDef.manifest.id;
29
+ if (!pluginDef._hooks.provision.length) continue;
30
+ const resolved = resolveAgentPluginConfig(pluginId, agent.id, config);
31
+ if (!resolved) continue;
32
+ const secrets = { ...resolvePluginSecrets(pluginId, config, process.env), ...extraSecrets };
33
+ const context = {
34
+ agent,
35
+ config,
36
+ agentConfig: resolved,
37
+ secrets,
38
+ namespace,
39
+ logger,
40
+ dryRun,
41
+ previousState: persistedState?.plugins?.[pluginId] ?? null
42
+ };
43
+ try {
44
+ logger.dim(` Provisioning plugin: ${pluginDef.manifest.name}`);
45
+ for (const fn of pluginDef._hooks.provision) {
46
+ const result = await fn(context);
47
+ if (result.state) results.states[pluginId] = result.state;
48
+ if (result.secrets) Object.assign(results.secrets, result.secrets);
49
+ }
50
+ } catch (err) {
51
+ const cause = err instanceof Error ? err.cause : void 0;
52
+ const message = err instanceof Error ? err.message : String(err);
53
+ const detail = cause ? ` (cause: ${cause.code ?? ""} ${cause.message ?? ""})` : "";
54
+ const stack = err instanceof Error && err.stack ? `
55
+ ${err.stack.split("\n").slice(0, 4).join("\n")}` : "";
56
+ results.errors.push({ pluginId, error: message + detail });
57
+ logger.info(` \u26A0 Plugin ${pluginId} provision failed: ${message}${detail}${stack}`);
58
+ }
59
+ }
60
+ return results;
61
+ }
62
+ async function checkPluginHealth(config, agentId = "") {
63
+ const registry = getPluginRegistry();
64
+ const results = [];
65
+ if (registry.size === 0) return results;
66
+ for (const pluginDef of registry.getAll()) {
67
+ const pluginId = pluginDef.manifest.id;
68
+ if (!pluginDef._hooks.healthCheck.length) continue;
69
+ const resolved = resolveAgentPluginConfig(pluginId, agentId, config);
70
+ if (!resolved) continue;
71
+ const secrets = resolvePluginSecrets(pluginId, config, process.env);
72
+ const context = {
73
+ agent: {
74
+ id: agentId,
75
+ runtime: "openclaw",
76
+ configuration: { openclaw: {} }
77
+ },
78
+ config,
79
+ agentConfig: resolved,
80
+ secrets,
81
+ namespace: config.deployments?.namespace ?? "default",
82
+ pluginRegistry: registry,
83
+ cwd: process.cwd()
84
+ };
85
+ try {
86
+ for (const fn of pluginDef._hooks.healthCheck) {
87
+ const result = await fn(context);
88
+ results.push({
89
+ pluginId,
90
+ name: pluginDef.manifest.name,
91
+ healthy: result.healthy,
92
+ message: result.message
93
+ });
94
+ }
95
+ } catch (err) {
96
+ results.push({
97
+ pluginId,
98
+ name: pluginDef.manifest.name,
99
+ healthy: false,
100
+ message: err instanceof Error ? err.message : String(err)
101
+ });
102
+ }
103
+ }
104
+ return results;
105
+ }
106
+ export {
107
+ checkPluginHealth,
108
+ createPluginRegistry,
109
+ defineChannelPlugin,
110
+ defineConnectorPlugin,
111
+ definePlugin,
112
+ defineProviderPlugin,
113
+ defineSkillPlugin,
114
+ executePluginProvisions,
115
+ getPluginRegistry,
116
+ loadAllPlugins,
117
+ loadManifest,
118
+ registerPlugin,
119
+ resetPluginRegistry,
120
+ validateManifest
121
+ };