@rainhole/rain-code 1.1.0

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 (496) hide show
  1. package/README.md +172 -0
  2. package/dist/chunk-06b2745w.js +3583 -0
  3. package/dist/chunk-06saje2v.js +39 -0
  4. package/dist/chunk-07069jq1.js +30 -0
  5. package/dist/chunk-0731m51q.js +8 -0
  6. package/dist/chunk-0bs2528v.js +192 -0
  7. package/dist/chunk-0fj1d707.js +313 -0
  8. package/dist/chunk-0gdkvtx4.js +117 -0
  9. package/dist/chunk-0jd8rpt4.js +34257 -0
  10. package/dist/chunk-0paqc2yw.js +15 -0
  11. package/dist/chunk-0pk0w4j1.js +332 -0
  12. package/dist/chunk-0rpb2bdp.js +8 -0
  13. package/dist/chunk-0rvwew67.js +9300 -0
  14. package/dist/chunk-0sa1g8jf.js +318 -0
  15. package/dist/chunk-0vkfrmqm.js +690 -0
  16. package/dist/chunk-0xgxxqhr.js +708 -0
  17. package/dist/chunk-0xjaqda8.js +1124 -0
  18. package/dist/chunk-0zep39v0.js +81 -0
  19. package/dist/chunk-1141xmr4.js +8 -0
  20. package/dist/chunk-12hn2mhy.js +17 -0
  21. package/dist/chunk-12rjry89.js +81 -0
  22. package/dist/chunk-168xb8v1.js +436 -0
  23. package/dist/chunk-1cwdhk7a.js +969 -0
  24. package/dist/chunk-1cx0fd76.js +132 -0
  25. package/dist/chunk-1erfksyp.js +107 -0
  26. package/dist/chunk-1h1tc4mw.js +126 -0
  27. package/dist/chunk-1h2famwb.js +49 -0
  28. package/dist/chunk-1jnbys9f.js +1811 -0
  29. package/dist/chunk-1k4fp6ft.js +389 -0
  30. package/dist/chunk-1mjn8xxc.js +22 -0
  31. package/dist/chunk-1mn6r4y2.js +747 -0
  32. package/dist/chunk-1p8myfza.js +1568 -0
  33. package/dist/chunk-1vthytca.js +79 -0
  34. package/dist/chunk-1y32rx73.js +145 -0
  35. package/dist/chunk-200781fd.js +64 -0
  36. package/dist/chunk-205mmm67.js +100 -0
  37. package/dist/chunk-209eh6ak.js +9381 -0
  38. package/dist/chunk-21mfpnva.js +85 -0
  39. package/dist/chunk-238g70xa.js +36 -0
  40. package/dist/chunk-24k6t9fa.js +151 -0
  41. package/dist/chunk-29gg6hx0.js +2992 -0
  42. package/dist/chunk-2a42s11t.js +412 -0
  43. package/dist/chunk-2ekjxh7d.js +289 -0
  44. package/dist/chunk-2eykm0j0.js +20 -0
  45. package/dist/chunk-2fwze72g.js +24 -0
  46. package/dist/chunk-2gzv8nrw.js +205 -0
  47. package/dist/chunk-2k995y2x.js +880 -0
  48. package/dist/chunk-2nayx6q1.js +63 -0
  49. package/dist/chunk-2pg9pmvc.js +182 -0
  50. package/dist/chunk-2qp2hc02.js +36 -0
  51. package/dist/chunk-2rj0dnps.js +436 -0
  52. package/dist/chunk-2t0xa4dt.js +145 -0
  53. package/dist/chunk-2ym6tnww.js +216 -0
  54. package/dist/chunk-30bpz5m2.js +34 -0
  55. package/dist/chunk-30rst83v.js +168 -0
  56. package/dist/chunk-36b2q5fg.js +1299 -0
  57. package/dist/chunk-3c25bcsw.js +17 -0
  58. package/dist/chunk-3ewzhjyb.js +207 -0
  59. package/dist/chunk-3h8a89gy.js +46 -0
  60. package/dist/chunk-3nk79af8.js +8 -0
  61. package/dist/chunk-3sfr7j85.js +884 -0
  62. package/dist/chunk-3w6s9m5w.js +16 -0
  63. package/dist/chunk-3x52v1wb.js +660 -0
  64. package/dist/chunk-404qm8xt.js +1715 -0
  65. package/dist/chunk-42fjay4q.js +141 -0
  66. package/dist/chunk-48649h96.js +8590 -0
  67. package/dist/chunk-495d85x1.js +8066 -0
  68. package/dist/chunk-4anj5saq.js +111 -0
  69. package/dist/chunk-4asynmj4.js +259 -0
  70. package/dist/chunk-4ck9wve9.js +225 -0
  71. package/dist/chunk-4cp6193g.js +9076 -0
  72. package/dist/chunk-4g3v8y12.js +23 -0
  73. package/dist/chunk-4geyher8.js +244 -0
  74. package/dist/chunk-4hv90qcz.js +8 -0
  75. package/dist/chunk-4jhr03e7.js +61 -0
  76. package/dist/chunk-4jm600zv.js +13 -0
  77. package/dist/chunk-4nspekjp.js +69 -0
  78. package/dist/chunk-4ptqcw4p.js +16 -0
  79. package/dist/chunk-4qj8cqbh.js +173 -0
  80. package/dist/chunk-4wxsg6a0.js +122 -0
  81. package/dist/chunk-4zfkzkt6.js +37 -0
  82. package/dist/chunk-54dckh8a.js +1169 -0
  83. package/dist/chunk-54y13759.js +650 -0
  84. package/dist/chunk-54yf6e8d.js +91 -0
  85. package/dist/chunk-57qz90z8.js +154 -0
  86. package/dist/chunk-59k0mjnc.js +120 -0
  87. package/dist/chunk-59p9jye4.js +104 -0
  88. package/dist/chunk-5c753bd4.js +64 -0
  89. package/dist/chunk-5cw6zwep.js +106 -0
  90. package/dist/chunk-5eaf3j24.js +133 -0
  91. package/dist/chunk-5me7398b.js +81 -0
  92. package/dist/chunk-5pevjsyw.js +118 -0
  93. package/dist/chunk-5q3c2rf4.js +107 -0
  94. package/dist/chunk-5xwtnq4g.js +146 -0
  95. package/dist/chunk-5z28bqne.js +6748 -0
  96. package/dist/chunk-613f6fbv.js +63 -0
  97. package/dist/chunk-641hawvm.js +95 -0
  98. package/dist/chunk-64c1avct.js +13 -0
  99. package/dist/chunk-64hks9ax.js +456 -0
  100. package/dist/chunk-677as3nh.js +15 -0
  101. package/dist/chunk-6bd8brc4.js +48 -0
  102. package/dist/chunk-6cs6mmez.js +112 -0
  103. package/dist/chunk-6dj5t602.js +341 -0
  104. package/dist/chunk-6e8vht4y.js +780 -0
  105. package/dist/chunk-6gr3c3w9.js +378 -0
  106. package/dist/chunk-6hkd32eh.js +83 -0
  107. package/dist/chunk-6jqxvef0.js +198 -0
  108. package/dist/chunk-6mh3vfa4.js +115 -0
  109. package/dist/chunk-6mpw9h55.js +1071 -0
  110. package/dist/chunk-6p4cyhb3.js +16 -0
  111. package/dist/chunk-6qvgnepd.js +26 -0
  112. package/dist/chunk-6r2bhsvt.js +6956 -0
  113. package/dist/chunk-6tq2v3rk.js +186 -0
  114. package/dist/chunk-7316m01k.js +125 -0
  115. package/dist/chunk-73rpbt04.js +1947 -0
  116. package/dist/chunk-75zk7zr1.js +309 -0
  117. package/dist/chunk-760252na.js +101 -0
  118. package/dist/chunk-764ec4ja.js +173 -0
  119. package/dist/chunk-76vgnv24.js +108 -0
  120. package/dist/chunk-7739pg2c.js +4261 -0
  121. package/dist/chunk-7a7hxy3d.js +167 -0
  122. package/dist/chunk-7aw745vx.js +40175 -0
  123. package/dist/chunk-7b6bg1r4.js +16128 -0
  124. package/dist/chunk-7ca4qskp.js +99 -0
  125. package/dist/chunk-7deph26x.js +311 -0
  126. package/dist/chunk-7ds8zqar.js +108 -0
  127. package/dist/chunk-7fqxw3d2.js +479 -0
  128. package/dist/chunk-7nysf9yd.js +266 -0
  129. package/dist/chunk-7tascxe2.js +90 -0
  130. package/dist/chunk-7wm5s02e.js +216 -0
  131. package/dist/chunk-7xmw2tcz.js +277 -0
  132. package/dist/chunk-7xyswgjh.js +8 -0
  133. package/dist/chunk-7zkhadkb.js +220 -0
  134. package/dist/chunk-8225arm6.js +6374 -0
  135. package/dist/chunk-83hfzbx3.js +10 -0
  136. package/dist/chunk-85tag8nv.js +1391 -0
  137. package/dist/chunk-8bd8q5xw.js +359 -0
  138. package/dist/chunk-8bwqtasa.js +213 -0
  139. package/dist/chunk-8g5pe1gr.js +37 -0
  140. package/dist/chunk-8g747a8x.js +26 -0
  141. package/dist/chunk-8h6sdj66.js +447 -0
  142. package/dist/chunk-8mm8b6dd.js +19 -0
  143. package/dist/chunk-8ndwn6st.js +120 -0
  144. package/dist/chunk-8pn8tvgg.js +637 -0
  145. package/dist/chunk-8tnn9kcb.js +131 -0
  146. package/dist/chunk-8tnsngw2.js +31 -0
  147. package/dist/chunk-8x5w267y.js +112 -0
  148. package/dist/chunk-8y12jxg8.js +10 -0
  149. package/dist/chunk-8ymf4e6z.js +48 -0
  150. package/dist/chunk-90mt0m1w.js +102 -0
  151. package/dist/chunk-90wp6wez.js +10510 -0
  152. package/dist/chunk-91ew1d6f.js +2689 -0
  153. package/dist/chunk-97jsc1kn.js +231 -0
  154. package/dist/chunk-993pnm45.js +4521 -0
  155. package/dist/chunk-9a0rsdre.js +46 -0
  156. package/dist/chunk-9d7fmqkw.js +41 -0
  157. package/dist/chunk-9dgaq0g4.js +667 -0
  158. package/dist/chunk-9f52phb8.js +138 -0
  159. package/dist/chunk-9fbpqghc.js +105 -0
  160. package/dist/chunk-9hzxd5q3.js +122 -0
  161. package/dist/chunk-9kyrssch.js +28 -0
  162. package/dist/chunk-9q93n4w6.js +308 -0
  163. package/dist/chunk-9s0xs06y.js +581 -0
  164. package/dist/chunk-9x5zgy22.js +12 -0
  165. package/dist/chunk-9zdcb9jy.js +105 -0
  166. package/dist/chunk-a136cvvz.js +27 -0
  167. package/dist/chunk-a4psxnr1.js +224 -0
  168. package/dist/chunk-a4twdmhf.js +45 -0
  169. package/dist/chunk-a7rhvq9b.js +106 -0
  170. package/dist/chunk-a8ejc632.js +3094 -0
  171. package/dist/chunk-a9vdeb6y.js +258 -0
  172. package/dist/chunk-a9zh40sj.js +48 -0
  173. package/dist/chunk-aawg48hh.js +4102 -0
  174. package/dist/chunk-ad2f3890.js +65 -0
  175. package/dist/chunk-ae7ar1jk.js +105 -0
  176. package/dist/chunk-ak3hdbe4.js +234 -0
  177. package/dist/chunk-as4e9g8f.js +298 -0
  178. package/dist/chunk-ase86y73.js +15 -0
  179. package/dist/chunk-awb4vc41.js +69 -0
  180. package/dist/chunk-b4bep0aq.js +5041 -0
  181. package/dist/chunk-b4wg70y1.js +54 -0
  182. package/dist/chunk-b81hd3m6.js +32 -0
  183. package/dist/chunk-b9knmzt0.js +106 -0
  184. package/dist/chunk-besmz4ym.js +32 -0
  185. package/dist/chunk-bgpkemkg.js +65 -0
  186. package/dist/chunk-bj8x29tz.js +54 -0
  187. package/dist/chunk-bkqsnwrq.js +239 -0
  188. package/dist/chunk-bnf662he.js +359 -0
  189. package/dist/chunk-bq00fcsd.js +165 -0
  190. package/dist/chunk-brz2c4cq.js +275 -0
  191. package/dist/chunk-bsa118r4.js +502 -0
  192. package/dist/chunk-bsengrbt.js +2737 -0
  193. package/dist/chunk-bt64sq5y.js +19 -0
  194. package/dist/chunk-bxcfz5gy.js +56 -0
  195. package/dist/chunk-bxs2a71m.js +213 -0
  196. package/dist/chunk-byv2p9hn.js +397 -0
  197. package/dist/chunk-c03am3es.js +29 -0
  198. package/dist/chunk-c2ahb7yg.js +105 -0
  199. package/dist/chunk-c2qm0t6p.js +111 -0
  200. package/dist/chunk-c42h9gzx.js +71 -0
  201. package/dist/chunk-c47xbxqw.js +38 -0
  202. package/dist/chunk-c5vkve4j.js +68 -0
  203. package/dist/chunk-c6sjhj89.js +1284 -0
  204. package/dist/chunk-ca147npg.js +27 -0
  205. package/dist/chunk-caxx597g.js +71 -0
  206. package/dist/chunk-cbrt5vsb.js +31 -0
  207. package/dist/chunk-ce0z23ct.js +443 -0
  208. package/dist/chunk-cefsp8h1.js +155 -0
  209. package/dist/chunk-cfv996bs.js +22 -0
  210. package/dist/chunk-cgfdkzhb.js +12 -0
  211. package/dist/chunk-chsyvavm.js +3435 -0
  212. package/dist/chunk-cmsknj6n.js +28228 -0
  213. package/dist/chunk-cn8bkmvj.js +264 -0
  214. package/dist/chunk-crmjpsqe.js +68 -0
  215. package/dist/chunk-cthpw4pj.js +849 -0
  216. package/dist/chunk-cwy9nj4y.js +134 -0
  217. package/dist/chunk-cyagce56.js +155 -0
  218. package/dist/chunk-cynewytp.js +227 -0
  219. package/dist/chunk-cznf6k4g.js +46 -0
  220. package/dist/chunk-d0954t9j.js +267 -0
  221. package/dist/chunk-d1qhftze.js +118 -0
  222. package/dist/chunk-d4mdda98.js +94 -0
  223. package/dist/chunk-d4rnqevg.js +41 -0
  224. package/dist/chunk-d7886r6a.js +13870 -0
  225. package/dist/chunk-dd1qvamk.js +678 -0
  226. package/dist/chunk-dg4je8qj.js +183 -0
  227. package/dist/chunk-dggvswz1.js +104 -0
  228. package/dist/chunk-dgqrcy74.js +48 -0
  229. package/dist/chunk-dm3n2qgd.js +24 -0
  230. package/dist/chunk-dnh7jtpb.js +37 -0
  231. package/dist/chunk-dsenyfax.js +105 -0
  232. package/dist/chunk-dtf0a7rr.js +655 -0
  233. package/dist/chunk-dxdb7bs1.js +60 -0
  234. package/dist/chunk-e0pth8g7.js +79 -0
  235. package/dist/chunk-e36y0q82.js +109 -0
  236. package/dist/chunk-ef55cwrv.js +267 -0
  237. package/dist/chunk-efh644hv.js +915 -0
  238. package/dist/chunk-ehtwnxpg.js +1591 -0
  239. package/dist/chunk-ejahyhd8.js +120 -0
  240. package/dist/chunk-ejk1bpzz.js +472 -0
  241. package/dist/chunk-emef71ea.js +202 -0
  242. package/dist/chunk-en7v028t.js +333 -0
  243. package/dist/chunk-eqp1rfft.js +17 -0
  244. package/dist/chunk-ewadzrm8.js +103 -0
  245. package/dist/chunk-exh7z6tv.js +132 -0
  246. package/dist/chunk-f0npbgyf.js +340 -0
  247. package/dist/chunk-f2qkc8ce.js +229 -0
  248. package/dist/chunk-f49sb3q7.js +40 -0
  249. package/dist/chunk-f5ma3nh5.js +3436 -0
  250. package/dist/chunk-fbv4apne.js +51 -0
  251. package/dist/chunk-fday7sfg.js +269 -0
  252. package/dist/chunk-feyzykye.js +10 -0
  253. package/dist/chunk-fgqwr70t.js +241 -0
  254. package/dist/chunk-fhy7zs1w.js +943 -0
  255. package/dist/chunk-fmw3f68k.js +432 -0
  256. package/dist/chunk-fmwqvpqm.js +506 -0
  257. package/dist/chunk-fn1apgre.js +66 -0
  258. package/dist/chunk-fpy4nam9.js +21933 -0
  259. package/dist/chunk-fqy0erkw.js +908 -0
  260. package/dist/chunk-ftqwza3a.js +43 -0
  261. package/dist/chunk-fyc5fepv.js +10 -0
  262. package/dist/chunk-fz0ch109.js +329 -0
  263. package/dist/chunk-fzhn8z8j.js +253 -0
  264. package/dist/chunk-g12brv6y.js +321 -0
  265. package/dist/chunk-g338npwr.js +1061 -0
  266. package/dist/chunk-g5tpks28.js +795 -0
  267. package/dist/chunk-g63tgj4f.js +58 -0
  268. package/dist/chunk-g827r0mk.js +266 -0
  269. package/dist/chunk-g8wzsxgc.js +2534 -0
  270. package/dist/chunk-gey7mwcw.js +36 -0
  271. package/dist/chunk-gghb9pks.js +120 -0
  272. package/dist/chunk-grdpaf1p.js +606 -0
  273. package/dist/chunk-gx8016vp.js +125 -0
  274. package/dist/chunk-h0qngp9w.js +157 -0
  275. package/dist/chunk-h0rbjg6x.js +55 -0
  276. package/dist/chunk-h1mr3371.js +121 -0
  277. package/dist/chunk-h3xwdgpd.js +68 -0
  278. package/dist/chunk-h4b85amj.js +2331 -0
  279. package/dist/chunk-h6d137aa.js +20 -0
  280. package/dist/chunk-h9n7z00d.js +95 -0
  281. package/dist/chunk-hakdhagh.js +16606 -0
  282. package/dist/chunk-hd8531ec.js +685 -0
  283. package/dist/chunk-heq3rn8t.js +33068 -0
  284. package/dist/chunk-hfvxc9fd.js +542 -0
  285. package/dist/chunk-hgpd0qmm.js +371 -0
  286. package/dist/chunk-hh7cmy4k.js +20 -0
  287. package/dist/chunk-hhjs87wh.js +1407 -0
  288. package/dist/chunk-hjtvdvgj.js +208 -0
  289. package/dist/chunk-hk9xz7gk.js +118 -0
  290. package/dist/chunk-hknbjky3.js +160798 -0
  291. package/dist/chunk-htsbqyf9.js +338 -0
  292. package/dist/chunk-htx7jmxk.js +78 -0
  293. package/dist/chunk-hzhe8ygc.js +547 -0
  294. package/dist/chunk-j2k4p94p.js +55 -0
  295. package/dist/chunk-j3a4p81y.js +184 -0
  296. package/dist/chunk-j46rb9m9.js +544 -0
  297. package/dist/chunk-j5bth84e.js +97 -0
  298. package/dist/chunk-j64ga6ta.js +8035 -0
  299. package/dist/chunk-j6jh72hw.js +140 -0
  300. package/dist/chunk-j9gxwbe3.js +349 -0
  301. package/dist/chunk-jaaxk89e.js +113 -0
  302. package/dist/chunk-jd32zbps.js +15 -0
  303. package/dist/chunk-jdgeec04.js +4249 -0
  304. package/dist/chunk-jk826edv.js +174 -0
  305. package/dist/chunk-jnhkref0.js +30 -0
  306. package/dist/chunk-jsx72hep.js +208 -0
  307. package/dist/chunk-jx817w05.js +11 -0
  308. package/dist/chunk-jzmz18nn.js +65 -0
  309. package/dist/chunk-k0p9w03v.js +4957 -0
  310. package/dist/chunk-k3s4yk22.js +477 -0
  311. package/dist/chunk-kfd89dsd.js +21 -0
  312. package/dist/chunk-kgfz4522.js +126 -0
  313. package/dist/chunk-kn6zg6bd.js +524 -0
  314. package/dist/chunk-kp9vkzj6.js +120 -0
  315. package/dist/chunk-kraf793v.js +118 -0
  316. package/dist/chunk-kw0r30h3.js +208 -0
  317. package/dist/chunk-kwekc97v.js +18 -0
  318. package/dist/chunk-m2bcpk8j.js +30 -0
  319. package/dist/chunk-m2kp5f7p.js +4389 -0
  320. package/dist/chunk-m74w3187.js +164 -0
  321. package/dist/chunk-m88q4jmb.js +61 -0
  322. package/dist/chunk-man6wb4n.js +1456 -0
  323. package/dist/chunk-mdk3xgya.js +42 -0
  324. package/dist/chunk-mf4g439x.js +82 -0
  325. package/dist/chunk-mg8g0xqs.js +71 -0
  326. package/dist/chunk-mkwzrqvf.js +38 -0
  327. package/dist/chunk-mn61mk4v.js +351 -0
  328. package/dist/chunk-ms09sxcj.js +908 -0
  329. package/dist/chunk-mtn1anwe.js +2351 -0
  330. package/dist/chunk-mv0zm0qj.js +65 -0
  331. package/dist/chunk-mx28h61f.js +1147 -0
  332. package/dist/chunk-mxbf8ajn.js +1067 -0
  333. package/dist/chunk-n0qaeaa5.js +256 -0
  334. package/dist/chunk-n34z5cw8.js +74 -0
  335. package/dist/chunk-n55ehz77.js +120 -0
  336. package/dist/chunk-n7ttdtk0.js +641 -0
  337. package/dist/chunk-n9ktjngj.js +336 -0
  338. package/dist/chunk-nb2ntesh.js +149 -0
  339. package/dist/chunk-netzwgv1.js +154 -0
  340. package/dist/chunk-nh3cd07f.js +14358 -0
  341. package/dist/chunk-nka1g8f4.js +773 -0
  342. package/dist/chunk-nm97cw83.js +458 -0
  343. package/dist/chunk-nq0fxyxh.js +752 -0
  344. package/dist/chunk-nt837qt9.js +21 -0
  345. package/dist/chunk-nx87c0vw.js +250 -0
  346. package/dist/chunk-nxw6y6xm.js +862 -0
  347. package/dist/chunk-nzt717xg.js +32 -0
  348. package/dist/chunk-p2816w9z.js +1486 -0
  349. package/dist/chunk-p2d5nh3g.js +342 -0
  350. package/dist/chunk-p9cdykwf.js +72 -0
  351. package/dist/chunk-paxw1ryd.js +227 -0
  352. package/dist/chunk-ph5g4d1j.js +109 -0
  353. package/dist/chunk-pp42p8y3.js +574 -0
  354. package/dist/chunk-ppdn71n4.js +400 -0
  355. package/dist/chunk-ppwjyveh.js +8 -0
  356. package/dist/chunk-ps49ymvj.js +43 -0
  357. package/dist/chunk-pshjyzq4.js +17656 -0
  358. package/dist/chunk-pw8nf9rt.js +126 -0
  359. package/dist/chunk-pwwa7s62.js +11 -0
  360. package/dist/chunk-py3zxq5j.js +129 -0
  361. package/dist/chunk-pyz1qswz.js +300 -0
  362. package/dist/chunk-q50q8mc5.js +157 -0
  363. package/dist/chunk-q7tpyeb3.js +39 -0
  364. package/dist/chunk-q82r31er.js +151 -0
  365. package/dist/chunk-qajrkk97.js +298 -0
  366. package/dist/chunk-qcpxnyeh.js +110 -0
  367. package/dist/chunk-qeabchwr.js +132 -0
  368. package/dist/chunk-qm7nbd10.js +755 -0
  369. package/dist/chunk-qm8j7kxr.js +280 -0
  370. package/dist/chunk-qmwgg5zy.js +136 -0
  371. package/dist/chunk-qnfx3qtx.js +617 -0
  372. package/dist/chunk-qp2qdcda.js +100 -0
  373. package/dist/chunk-qphaajd7.js +305 -0
  374. package/dist/chunk-qt21xxgm.js +419 -0
  375. package/dist/chunk-qy2z2p0b.js +122 -0
  376. package/dist/chunk-qyz8q0dj.js +689 -0
  377. package/dist/chunk-qz2x630m.js +49145 -0
  378. package/dist/chunk-qzq5n1yn.js +76 -0
  379. package/dist/chunk-r0ya57xw.js +170 -0
  380. package/dist/chunk-r7j395t6.js +122 -0
  381. package/dist/chunk-r7trcrs7.js +62 -0
  382. package/dist/chunk-re4yh70t.js +1095 -0
  383. package/dist/chunk-rhte1r8g.js +272 -0
  384. package/dist/chunk-rhw4ayb1.js +6851 -0
  385. package/dist/chunk-rn0v1hk8.js +34 -0
  386. package/dist/chunk-rphakhme.js +281 -0
  387. package/dist/chunk-rrtzz2pv.js +32 -0
  388. package/dist/chunk-rtnjk8ge.js +726 -0
  389. package/dist/chunk-rwhswkma.js +87 -0
  390. package/dist/chunk-rxd4kn2g.js +308 -0
  391. package/dist/chunk-s083x8ry.js +2840 -0
  392. package/dist/chunk-s16sn02n.js +365 -0
  393. package/dist/chunk-s1s8qfdh.js +182 -0
  394. package/dist/chunk-s2bwz69v.js +473 -0
  395. package/dist/chunk-s3pzvdss.js +50 -0
  396. package/dist/chunk-s9y6t0mt.js +291 -0
  397. package/dist/chunk-sd36yzx8.js +954 -0
  398. package/dist/chunk-se8xzw8h.js +87 -0
  399. package/dist/chunk-sg66v252.js +1648 -0
  400. package/dist/chunk-sg7gf3hj.js +1585 -0
  401. package/dist/chunk-spx24x6j.js +98 -0
  402. package/dist/chunk-sybxpy18.js +73 -0
  403. package/dist/chunk-szj5wvdy.js +28 -0
  404. package/dist/chunk-t0gb304x.js +182 -0
  405. package/dist/chunk-t3fr4skc.js +165 -0
  406. package/dist/chunk-t58wfamm.js +5368 -0
  407. package/dist/chunk-t6s2kkm3.js +104 -0
  408. package/dist/chunk-t8hv0x81.js +116 -0
  409. package/dist/chunk-tezak8rx.js +6157 -0
  410. package/dist/chunk-th5y3hj5.js +189 -0
  411. package/dist/chunk-tj0d3870.js +180 -0
  412. package/dist/chunk-tjgsawpx.js +40 -0
  413. package/dist/chunk-ts2p6bv1.js +224 -0
  414. package/dist/chunk-ttk5dzz8.js +25 -0
  415. package/dist/chunk-tv9pcdnz.js +51 -0
  416. package/dist/chunk-ty99rgvw.js +122 -0
  417. package/dist/chunk-tzgp8av2.js +61 -0
  418. package/dist/chunk-v1kzp02e.js +785 -0
  419. package/dist/chunk-v2c9dq7t.js +275 -0
  420. package/dist/chunk-v3aq3heg.js +620 -0
  421. package/dist/chunk-v78fj8by.js +145 -0
  422. package/dist/chunk-v9smspw2.js +4301 -0
  423. package/dist/chunk-var1et7e.js +66 -0
  424. package/dist/chunk-vchrkvet.js +120 -0
  425. package/dist/chunk-vest0y6x.js +3830 -0
  426. package/dist/chunk-vf5sd1nq.js +12 -0
  427. package/dist/chunk-vf612n57.js +472 -0
  428. package/dist/chunk-vgpy9md6.js +339 -0
  429. package/dist/chunk-vkzt82ry.js +644 -0
  430. package/dist/chunk-vsh80y0c.js +100 -0
  431. package/dist/chunk-vxkdxhyk.js +103 -0
  432. package/dist/chunk-vxt6ywm9.js +485 -0
  433. package/dist/chunk-vyjeh50y.js +2149 -0
  434. package/dist/chunk-vytdzvqs.js +1181 -0
  435. package/dist/chunk-w0qks2ja.js +1030 -0
  436. package/dist/chunk-wfz0qffj.js +3939 -0
  437. package/dist/chunk-wp1568nt.js +828 -0
  438. package/dist/chunk-wpckhx7b.js +66 -0
  439. package/dist/chunk-wpvkvwvc.js +41 -0
  440. package/dist/chunk-ws5d6qs4.js +655 -0
  441. package/dist/chunk-wsnxrrb5.js +986 -0
  442. package/dist/chunk-wyavftcj.js +103 -0
  443. package/dist/chunk-wybh0bvv.js +121 -0
  444. package/dist/chunk-wzpdet3m.js +843 -0
  445. package/dist/chunk-x2dp18yj.js +74 -0
  446. package/dist/chunk-x6r4v44b.js +8 -0
  447. package/dist/chunk-x7r5k0hf.js +423 -0
  448. package/dist/chunk-xahk20z8.js +877 -0
  449. package/dist/chunk-xajwdaxm.js +295 -0
  450. package/dist/chunk-xkt36p6r.js +61 -0
  451. package/dist/chunk-xnav6j8h.js +490 -0
  452. package/dist/chunk-xrj294jg.js +440 -0
  453. package/dist/chunk-xsq9ae7x.js +90 -0
  454. package/dist/chunk-xt9z9t7b.js +40 -0
  455. package/dist/chunk-xv3era3s.js +8 -0
  456. package/dist/chunk-y1784krc.js +19 -0
  457. package/dist/chunk-y289fz8y.js +116 -0
  458. package/dist/chunk-y3r7v9pq.js +336 -0
  459. package/dist/chunk-y98z50mm.js +158 -0
  460. package/dist/chunk-yhce3x0q.js +64 -0
  461. package/dist/chunk-yhhf6n9p.js +338 -0
  462. package/dist/chunk-ykr34msh.js +411 -0
  463. package/dist/chunk-yks9ggzn.js +103 -0
  464. package/dist/chunk-ym5r3jnk.js +2007 -0
  465. package/dist/chunk-ypa349qq.js +148 -0
  466. package/dist/chunk-yzx3mhfd.js +110 -0
  467. package/dist/chunk-z1bs6d7k.js +24 -0
  468. package/dist/chunk-z2dp53wn.js +17 -0
  469. package/dist/chunk-z3k0k30d.js +882 -0
  470. package/dist/chunk-z42cqdtf.js +107 -0
  471. package/dist/chunk-z7asrz6j.js +259 -0
  472. package/dist/chunk-za09fhhh.js +716 -0
  473. package/dist/chunk-zae0t3p4.js +252 -0
  474. package/dist/chunk-zbsw794g.js +259 -0
  475. package/dist/chunk-ze6zvkg6.js +22820 -0
  476. package/dist/chunk-zejm280k.js +39 -0
  477. package/dist/chunk-zk2wsm7d.js +15 -0
  478. package/dist/chunk-znf2b75k.js +113 -0
  479. package/dist/chunk-zqpnvsdz.js +24 -0
  480. package/dist/chunk-zs2gdkj5.js +433 -0
  481. package/dist/chunk-zseb1639.js +37 -0
  482. package/dist/chunk-zsgha506.js +63 -0
  483. package/dist/chunk-zvsfgmq8.js +146 -0
  484. package/dist/chunk-zw5xd7m9.js +160 -0
  485. package/dist/chunk-zzm33q8x.js +8 -0
  486. package/dist/cli.js +97 -0
  487. package/dist/download-ripgrep.js +24821 -0
  488. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  489. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  490. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  491. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  492. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  493. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  494. package/package.json +178 -0
  495. package/scripts/download-ripgrep.ts +335 -0
  496. package/scripts/postinstall.cjs +319 -0
@@ -0,0 +1,1071 @@
1
+ // @bun
2
+ import {
3
+ init_debug,
4
+ logForDebugging
5
+ } from "./chunk-404qm8xt.js";
6
+ import {
7
+ __esm,
8
+ __export,
9
+ __toCommonJS
10
+ } from "./chunk-qp2qdcda.js";
11
+
12
+ // src/utils/withResolvers.ts
13
+ function withResolvers() {
14
+ let resolve;
15
+ let reject;
16
+ const promise = new Promise((res, rej) => {
17
+ resolve = res;
18
+ reject = rej;
19
+ });
20
+ return { promise, resolve, reject };
21
+ }
22
+ var init_withResolvers = () => {};
23
+
24
+ // packages/@ant/computer-use-swift/src/backends/darwin.ts
25
+ var exports_darwin = {};
26
+ __export(exports_darwin, {
27
+ screenshot: () => screenshot,
28
+ display: () => display,
29
+ apps: () => apps
30
+ });
31
+ import { readFileSync, unlinkSync } from "fs";
32
+ import { tmpdir } from "os";
33
+ import { join } from "path";
34
+ function jxaSync(script) {
35
+ const result = Bun.spawnSync({
36
+ cmd: ["osascript", "-l", "JavaScript", "-e", script],
37
+ stdout: "pipe",
38
+ stderr: "pipe"
39
+ });
40
+ return new TextDecoder().decode(result.stdout).trim();
41
+ }
42
+ async function osascript(script) {
43
+ const proc = Bun.spawn(["osascript", "-e", script], {
44
+ stdout: "pipe",
45
+ stderr: "pipe"
46
+ });
47
+ const text = await new Response(proc.stdout).text();
48
+ await proc.exited;
49
+ return text.trim();
50
+ }
51
+ async function jxa(script) {
52
+ const proc = Bun.spawn(["osascript", "-l", "JavaScript", "-e", script], {
53
+ stdout: "pipe",
54
+ stderr: "pipe"
55
+ });
56
+ const text = await new Response(proc.stdout).text();
57
+ await proc.exited;
58
+ return text.trim();
59
+ }
60
+ async function captureScreenToBase64(args) {
61
+ const tmpFile = join(tmpdir(), `cu-screenshot-${Date.now()}.png`);
62
+ const proc = Bun.spawn(["screencapture", ...args, tmpFile], {
63
+ stdout: "pipe",
64
+ stderr: "pipe"
65
+ });
66
+ await proc.exited;
67
+ try {
68
+ const buf = readFileSync(tmpFile);
69
+ const base64 = buf.toString("base64");
70
+ const width = buf.readUInt32BE(16);
71
+ const height = buf.readUInt32BE(20);
72
+ return { base64, width, height };
73
+ } finally {
74
+ try {
75
+ unlinkSync(tmpFile);
76
+ } catch {}
77
+ }
78
+ }
79
+ var display, apps, screenshot;
80
+ var init_darwin = __esm(() => {
81
+ display = {
82
+ getSize(displayId) {
83
+ const all = this.listAll();
84
+ if (displayId !== undefined) {
85
+ const found = all.find((d) => d.displayId === displayId);
86
+ if (found)
87
+ return found;
88
+ }
89
+ return all[0] ?? { width: 1920, height: 1080, scaleFactor: 2, displayId: 1 };
90
+ },
91
+ listAll() {
92
+ try {
93
+ const raw = jxaSync(`
94
+ ObjC.import("CoreGraphics");
95
+ var displays = $.CGDisplayCopyAllDisplayModes ? [] : [];
96
+ var active = $.CGGetActiveDisplayList(10, null, Ref());
97
+ var countRef = Ref();
98
+ $.CGGetActiveDisplayList(0, null, countRef);
99
+ var count = countRef[0];
100
+ var idBuf = Ref();
101
+ $.CGGetActiveDisplayList(count, idBuf, countRef);
102
+ var result = [];
103
+ for (var i = 0; i < count; i++) {
104
+ var did = idBuf[i];
105
+ var w = $.CGDisplayPixelsWide(did);
106
+ var h = $.CGDisplayPixelsHigh(did);
107
+ var mode = $.CGDisplayCopyDisplayMode(did);
108
+ var pw = $.CGDisplayModeGetPixelWidth(mode);
109
+ var sf = pw > 0 && w > 0 ? pw / w : 2;
110
+ result.push({width: w, height: h, scaleFactor: sf, displayId: did});
111
+ }
112
+ JSON.stringify(result);
113
+ `);
114
+ return JSON.parse(raw).map((d) => ({
115
+ width: Number(d.width),
116
+ height: Number(d.height),
117
+ scaleFactor: Number(d.scaleFactor),
118
+ displayId: Number(d.displayId)
119
+ }));
120
+ } catch {
121
+ try {
122
+ const raw = jxaSync(`
123
+ ObjC.import("AppKit");
124
+ var screens = $.NSScreen.screens;
125
+ var result = [];
126
+ for (var i = 0; i < screens.count; i++) {
127
+ var s = screens.objectAtIndex(i);
128
+ var frame = s.frame;
129
+ var desc = s.deviceDescription;
130
+ var screenNumber = desc.objectForKey($("NSScreenNumber")).intValue;
131
+ var backingFactor = s.backingScaleFactor;
132
+ result.push({
133
+ width: Math.round(frame.size.width),
134
+ height: Math.round(frame.size.height),
135
+ scaleFactor: backingFactor,
136
+ displayId: screenNumber
137
+ });
138
+ }
139
+ JSON.stringify(result);
140
+ `);
141
+ return JSON.parse(raw).map((d) => ({
142
+ width: Number(d.width),
143
+ height: Number(d.height),
144
+ scaleFactor: Number(d.scaleFactor),
145
+ displayId: Number(d.displayId)
146
+ }));
147
+ } catch {
148
+ return [{ width: 1920, height: 1080, scaleFactor: 2, displayId: 1 }];
149
+ }
150
+ }
151
+ }
152
+ };
153
+ apps = {
154
+ async prepareDisplay(_allowlistBundleIds, _surrogateHost, _displayId) {
155
+ return { activated: "", hidden: [] };
156
+ },
157
+ async previewHideSet(_bundleIds, _displayId) {
158
+ return [];
159
+ },
160
+ async findWindowDisplays(bundleIds) {
161
+ return bundleIds.map((bundleId) => ({ bundleId, displayIds: [1] }));
162
+ },
163
+ async appUnderPoint(_x, _y) {
164
+ try {
165
+ const result = await jxa(`
166
+ ObjC.import("CoreGraphics");
167
+ ObjC.import("AppKit");
168
+ var pt = $.CGPointMake(${_x}, ${_y});
169
+ var app = $.NSWorkspace.sharedWorkspace.frontmostApplication;
170
+ JSON.stringify({bundleId: app.bundleIdentifier.js, displayName: app.localizedName.js});
171
+ `);
172
+ return JSON.parse(result);
173
+ } catch {
174
+ return null;
175
+ }
176
+ },
177
+ async listInstalled() {
178
+ try {
179
+ const result = await osascript(`
180
+ tell application "System Events"
181
+ set appList to ""
182
+ repeat with appFile in (every file of folder "Applications" of startup disk whose name ends with ".app")
183
+ set appPath to POSIX path of (appFile as alias)
184
+ set appName to name of appFile
185
+ set appList to appList & appPath & "|" & appName & "\\n"
186
+ end repeat
187
+ return appList
188
+ end tell
189
+ `);
190
+ return result.split(`
191
+ `).filter(Boolean).map((line) => {
192
+ const [path, name] = line.split("|", 2);
193
+ const displayName = (name ?? "").replace(/\.app$/, "");
194
+ return {
195
+ bundleId: `com.app.${displayName.toLowerCase().replace(/\s+/g, "-")}`,
196
+ displayName,
197
+ path: path ?? ""
198
+ };
199
+ });
200
+ } catch {
201
+ return [];
202
+ }
203
+ },
204
+ iconDataUrl(_path) {
205
+ return null;
206
+ },
207
+ listRunning() {
208
+ try {
209
+ const raw = jxaSync(`
210
+ var apps = Application("System Events").applicationProcesses.whose({backgroundOnly: false});
211
+ var result = [];
212
+ for (var i = 0; i < apps.length; i++) {
213
+ try {
214
+ var a = apps[i];
215
+ result.push({bundleId: a.bundleIdentifier(), displayName: a.name()});
216
+ } catch(e) {}
217
+ }
218
+ JSON.stringify(result);
219
+ `);
220
+ return JSON.parse(raw);
221
+ } catch {
222
+ return [];
223
+ }
224
+ },
225
+ async open(bundleId) {
226
+ await osascript(`tell application id "${bundleId}" to activate`);
227
+ },
228
+ async unhide(bundleIds) {
229
+ for (const bundleId of bundleIds) {
230
+ await osascript(`
231
+ tell application "System Events"
232
+ set visible of application process (name of application process whose bundle identifier is "${bundleId}") to true
233
+ end tell
234
+ `);
235
+ }
236
+ }
237
+ };
238
+ screenshot = {
239
+ async captureExcluding(_allowedBundleIds, _quality, _targetW, _targetH, displayId) {
240
+ const args = ["-x"];
241
+ if (displayId !== undefined)
242
+ args.push("-D", String(displayId));
243
+ return captureScreenToBase64(args);
244
+ },
245
+ async captureRegion(_allowedBundleIds, x, y, w, h, _outW, _outH, _quality, displayId) {
246
+ const args = ["-x", "-R", `${x},${y},${w},${h}`];
247
+ if (displayId !== undefined)
248
+ args.push("-D", String(displayId));
249
+ return captureScreenToBase64(args);
250
+ }
251
+ };
252
+ });
253
+
254
+ // src/utils/computerUse/win32/windowEnum.ts
255
+ var exports_windowEnum = {};
256
+ __export(exports_windowEnum, {
257
+ listWindows: () => listWindows
258
+ });
259
+ function listWindows() {
260
+ const result = Bun.spawnSync({
261
+ cmd: [
262
+ "powershell",
263
+ "-NoProfile",
264
+ "-NonInteractive",
265
+ "-Command",
266
+ ENUM_WINDOWS_PS
267
+ ],
268
+ stdout: "pipe",
269
+ stderr: "pipe"
270
+ });
271
+ const raw = new TextDecoder().decode(result.stdout).trim();
272
+ if (!raw)
273
+ return [];
274
+ return raw.split(`
275
+ `).filter(Boolean).map((line) => {
276
+ const trimmed = line.trim();
277
+ const firstPipe = trimmed.indexOf("|");
278
+ const secondPipe = trimmed.indexOf("|", firstPipe + 1);
279
+ if (firstPipe === -1 || secondPipe === -1)
280
+ return null;
281
+ const hwnd = trimmed.slice(0, firstPipe);
282
+ const pid = Number(trimmed.slice(firstPipe + 1, secondPipe));
283
+ const title = trimmed.slice(secondPipe + 1);
284
+ if (!hwnd || isNaN(pid) || !title)
285
+ return null;
286
+ return { hwnd, pid, title };
287
+ }).filter((item) => item !== null);
288
+ }
289
+ var ENUM_WINDOWS_PS = `
290
+ Add-Type @'
291
+ using System;
292
+ using System.Collections.Generic;
293
+ using System.Runtime.InteropServices;
294
+ using System.Text;
295
+ public class WinEnum {
296
+ public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam);
297
+
298
+ [DllImport("user32.dll")]
299
+ public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam);
300
+ [DllImport("user32.dll")]
301
+ public static extern bool IsWindowVisible(IntPtr hWnd);
302
+ [DllImport("user32.dll", CharSet=CharSet.Unicode)]
303
+ public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);
304
+ [DllImport("user32.dll")]
305
+ public static extern int GetWindowTextLength(IntPtr hWnd);
306
+ [DllImport("user32.dll")]
307
+ public static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint processId);
308
+
309
+ public static List<string> results = new List<string>();
310
+
311
+ public static void Run() {
312
+ results.Clear();
313
+ EnumWindows(delegate(IntPtr hWnd, IntPtr lParam) {
314
+ if (!IsWindowVisible(hWnd)) return true;
315
+ int len = GetWindowTextLength(hWnd);
316
+ if (len == 0) return true;
317
+ StringBuilder sb = new StringBuilder(len + 1);
318
+ GetWindowText(hWnd, sb, sb.Capacity);
319
+ string title = sb.ToString();
320
+ if (string.IsNullOrWhiteSpace(title)) return true;
321
+ uint pid = 0;
322
+ GetWindowThreadProcessId(hWnd, out pid);
323
+ results.Add(hWnd.ToInt64() + "|" + pid + "|" + title);
324
+ return true;
325
+ }, IntPtr.Zero);
326
+ }
327
+ }
328
+ '@
329
+ [WinEnum]::Run()
330
+ [WinEnum]::results | ForEach-Object { $_ }
331
+ `;
332
+ var init_windowEnum = () => {};
333
+
334
+ // src/utils/computerUse/win32/windowCapture.ts
335
+ function parseCaptureOutput(raw) {
336
+ const trimmed = raw.trim();
337
+ if (!trimmed || trimmed === "NOT_FOUND" || trimmed === "INVALID_SIZE") {
338
+ return null;
339
+ }
340
+ const firstComma = trimmed.indexOf(",");
341
+ const secondComma = trimmed.indexOf(",", firstComma + 1);
342
+ if (firstComma === -1 || secondComma === -1)
343
+ return null;
344
+ const width = Number(trimmed.slice(0, firstComma));
345
+ const height = Number(trimmed.slice(firstComma + 1, secondComma));
346
+ const base64 = trimmed.slice(secondComma + 1);
347
+ if (!width || !height || !base64)
348
+ return null;
349
+ return { base64, width, height };
350
+ }
351
+ function runPs(script) {
352
+ const result = Bun.spawnSync({
353
+ cmd: ["powershell", "-NoProfile", "-NonInteractive", "-Command", script],
354
+ stdout: "pipe",
355
+ stderr: "pipe"
356
+ });
357
+ return new TextDecoder().decode(result.stdout).trim();
358
+ }
359
+ function captureWindow(title) {
360
+ const escaped = title.replace(/'/g, "''");
361
+ const script = `${CAPTURE_BY_TITLE_PS}
362
+ [WinCap]::Capture('${escaped}')`;
363
+ const raw = runPs(script);
364
+ return parseCaptureOutput(raw);
365
+ }
366
+ function captureWindowByHwnd(hwnd) {
367
+ const script = `${CAPTURE_BY_HWND_PS}
368
+ [WinCapH]::Capture([IntPtr]::new(${hwnd}))`;
369
+ const raw = runPs(script);
370
+ return parseCaptureOutput(raw);
371
+ }
372
+ var CAPTURE_BY_TITLE_PS = `
373
+ Add-Type -AssemblyName System.Drawing
374
+ Add-Type -ReferencedAssemblies System.Drawing @'
375
+ using System;
376
+ using System.Runtime.InteropServices;
377
+ using System.Drawing;
378
+ using System.Drawing.Imaging;
379
+ public class WinCap {
380
+ [DllImport("user32.dll", CharSet=CharSet.Unicode)]
381
+ public static extern IntPtr FindWindow(string c, string t);
382
+ [DllImport("user32.dll")]
383
+ public static extern bool GetWindowRect(IntPtr h, out RECT r);
384
+ [DllImport("user32.dll")]
385
+ public static extern bool PrintWindow(IntPtr h, IntPtr hdc, uint f);
386
+ [StructLayout(LayoutKind.Sequential)]
387
+ public struct RECT { public int L, T, R, B; }
388
+
389
+ public static string Capture(string title) {
390
+ IntPtr hwnd = FindWindow(null, title);
391
+ if (hwnd == IntPtr.Zero) return "NOT_FOUND";
392
+ RECT r; GetWindowRect(hwnd, out r);
393
+ int w = r.R - r.L; int h = r.B - r.T;
394
+ if (w <= 0 || h <= 0) return "INVALID_SIZE";
395
+ Bitmap bmp = new Bitmap(w, h);
396
+ Graphics g = Graphics.FromImage(bmp);
397
+ IntPtr hdc = g.GetHdc();
398
+ PrintWindow(hwnd, hdc, 2);
399
+ g.ReleaseHdc(hdc); g.Dispose();
400
+ var ms = new System.IO.MemoryStream();
401
+ bmp.Save(ms, ImageFormat.Png);
402
+ bmp.Dispose();
403
+ return w + "," + h + "," + Convert.ToBase64String(ms.ToArray());
404
+ }
405
+ }
406
+ '@
407
+ `, CAPTURE_BY_HWND_PS = `
408
+ Add-Type -AssemblyName System.Drawing
409
+ Add-Type -ReferencedAssemblies System.Drawing @'
410
+ using System;
411
+ using System.Runtime.InteropServices;
412
+ using System.Drawing;
413
+ using System.Drawing.Imaging;
414
+ public class WinCapH {
415
+ [DllImport("user32.dll")]
416
+ public static extern bool GetWindowRect(IntPtr h, out RECT r);
417
+ [DllImport("user32.dll")]
418
+ public static extern bool PrintWindow(IntPtr h, IntPtr hdc, uint f);
419
+ [DllImport("user32.dll")]
420
+ public static extern bool IsWindow(IntPtr hWnd);
421
+ [StructLayout(LayoutKind.Sequential)]
422
+ public struct RECT { public int L, T, R, B; }
423
+
424
+ public static string Capture(IntPtr hwnd) {
425
+ if (!IsWindow(hwnd)) return "NOT_FOUND";
426
+ RECT r; GetWindowRect(hwnd, out r);
427
+ int w = r.R - r.L; int h = r.B - r.T;
428
+ if (w <= 0 || h <= 0) return "INVALID_SIZE";
429
+ Bitmap bmp = new Bitmap(w, h);
430
+ Graphics g = Graphics.FromImage(bmp);
431
+ IntPtr hdc = g.GetHdc();
432
+ PrintWindow(hwnd, hdc, 2);
433
+ g.ReleaseHdc(hdc); g.Dispose();
434
+ var ms = new System.IO.MemoryStream();
435
+ bmp.Save(ms, ImageFormat.Png);
436
+ bmp.Dispose();
437
+ return w + "," + h + "," + Convert.ToBase64String(ms.ToArray());
438
+ }
439
+ }
440
+ '@
441
+ `;
442
+ var init_windowCapture = () => {};
443
+
444
+ // packages/@ant/computer-use-swift/src/backends/win32.ts
445
+ var exports_win32 = {};
446
+ __export(exports_win32, {
447
+ screenshot: () => screenshot2,
448
+ display: () => display2,
449
+ apps: () => apps2
450
+ });
451
+ function ps(script) {
452
+ const result = Bun.spawnSync({
453
+ cmd: ["powershell", "-NoProfile", "-NonInteractive", "-Command", script],
454
+ stdout: "pipe",
455
+ stderr: "pipe"
456
+ });
457
+ return new TextDecoder().decode(result.stdout).trim();
458
+ }
459
+ async function psAsync(script) {
460
+ const proc = Bun.spawn(["powershell", "-NoProfile", "-NonInteractive", "-Command", script], { stdout: "pipe", stderr: "pipe" });
461
+ const out = await new Response(proc.stdout).text();
462
+ await proc.exited;
463
+ return out.trim();
464
+ }
465
+ var display2, apps2, screenshot2;
466
+ var init_win32 = __esm(() => {
467
+ init_windowEnum();
468
+ init_windowCapture();
469
+ display2 = {
470
+ getSize(displayId) {
471
+ const all = this.listAll();
472
+ if (displayId !== undefined) {
473
+ const found = all.find((d) => d.displayId === displayId);
474
+ if (found)
475
+ return found;
476
+ }
477
+ return all[0] ?? { width: 1920, height: 1080, scaleFactor: 1, displayId: 0 };
478
+ },
479
+ listAll() {
480
+ try {
481
+ const raw = ps(`
482
+ Add-Type -AssemblyName System.Windows.Forms
483
+ $result = @()
484
+ $idx = 0
485
+ foreach ($s in [System.Windows.Forms.Screen]::AllScreens) {
486
+ $result += "$($s.Bounds.Width),$($s.Bounds.Height),$idx,$($s.Primary)"
487
+ $idx++
488
+ }
489
+ $result -join "|"
490
+ `);
491
+ return raw.split("|").filter(Boolean).map((entry) => {
492
+ const [w, h, id, primary] = entry.split(",");
493
+ return {
494
+ width: Number(w),
495
+ height: Number(h),
496
+ scaleFactor: 1,
497
+ displayId: Number(id)
498
+ };
499
+ });
500
+ } catch {
501
+ return [{ width: 1920, height: 1080, scaleFactor: 1, displayId: 0 }];
502
+ }
503
+ }
504
+ };
505
+ apps2 = {
506
+ async prepareDisplay(_allowlistBundleIds, _surrogateHost, _displayId) {
507
+ return { activated: "", hidden: [] };
508
+ },
509
+ async previewHideSet(_bundleIds, _displayId) {
510
+ return [];
511
+ },
512
+ async findWindowDisplays(bundleIds) {
513
+ return bundleIds.map((bundleId) => ({ bundleId, displayIds: [0] }));
514
+ },
515
+ async appUnderPoint(_x, _y) {
516
+ try {
517
+ const out = ps(`
518
+ Add-Type @'
519
+ using System;
520
+ using System.Runtime.InteropServices;
521
+ public class WinPt {
522
+ [StructLayout(LayoutKind.Sequential)] public struct POINT { public int X; public int Y; }
523
+ [DllImport("user32.dll")] public static extern IntPtr WindowFromPoint(POINT p);
524
+ [DllImport("user32.dll")] public static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint pid);
525
+ }
526
+ '@
527
+ $pt = New-Object WinPt+POINT
528
+ $pt.X = ${_x}; $pt.Y = ${_y}
529
+ $hwnd = [WinPt]::WindowFromPoint($pt)
530
+ $pid = [uint32]0
531
+ [WinPt]::GetWindowThreadProcessId($hwnd, [ref]$pid) | Out-Null
532
+ $proc = Get-Process -Id $pid -ErrorAction SilentlyContinue
533
+ "$($proc.MainModule.FileName)|$($proc.ProcessName)"
534
+ `);
535
+ if (!out || !out.includes("|"))
536
+ return null;
537
+ const [exePath, name] = out.split("|", 2);
538
+ return { bundleId: exePath, displayName: name };
539
+ } catch {
540
+ return null;
541
+ }
542
+ },
543
+ async listInstalled() {
544
+ try {
545
+ const raw = await psAsync(`
546
+ $apps = @()
547
+ $paths = @(
548
+ 'HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\*',
549
+ 'HKLM:\\SOFTWARE\\WOW6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\*',
550
+ 'HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\*'
551
+ )
552
+ foreach ($p in $paths) {
553
+ Get-ItemProperty $p -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName } | ForEach-Object {
554
+ $apps += "$($_.DisplayName)|$($_.InstallLocation)|$($_.PSChildName)"
555
+ }
556
+ }
557
+ $apps | Select-Object -Unique | Select-Object -First 200
558
+ `);
559
+ return raw.split(`
560
+ `).filter(Boolean).map((line) => {
561
+ const [name, path, id] = line.split("|", 3);
562
+ return {
563
+ bundleId: id ?? name ?? "",
564
+ displayName: name ?? "",
565
+ path: path ?? ""
566
+ };
567
+ });
568
+ } catch {
569
+ return [];
570
+ }
571
+ },
572
+ iconDataUrl(_path) {
573
+ return null;
574
+ },
575
+ listRunning() {
576
+ try {
577
+ const windows = listWindows();
578
+ return windows.map((w) => ({
579
+ bundleId: String(w.hwnd),
580
+ displayName: w.title
581
+ }));
582
+ } catch {
583
+ return [];
584
+ }
585
+ },
586
+ async open(name) {
587
+ const escaped = name.replace(/'/g, "''");
588
+ await psAsync(`
589
+ if (Test-Path '${escaped}') {
590
+ Start-Process '${escaped}'
591
+ } else {
592
+ Start-Process -FilePath '${escaped}' -ErrorAction SilentlyContinue
593
+ }`);
594
+ },
595
+ async unhide(bundleIds) {
596
+ for (const name of bundleIds) {
597
+ await psAsync(`
598
+ Add-Type @'
599
+ using System;
600
+ using System.Runtime.InteropServices;
601
+ public class WinShow {
602
+ [DllImport("user32.dll")] public static extern bool ShowWindow(IntPtr hWnd, int nCmd);
603
+ [DllImport("user32.dll")] public static extern bool SetForegroundWindow(IntPtr hWnd);
604
+ }
605
+ '@
606
+ $proc = Get-Process -Name "${name}" -ErrorAction SilentlyContinue | Select-Object -First 1
607
+ if ($proc) { [WinShow]::ShowWindow($proc.MainWindowHandle, 9) | Out-Null; [WinShow]::SetForegroundWindow($proc.MainWindowHandle) | Out-Null }
608
+ `);
609
+ }
610
+ }
611
+ };
612
+ screenshot2 = {
613
+ async captureExcluding(_allowedBundleIds, _quality, _targetW, _targetH, displayId) {
614
+ const raw = await psAsync(`
615
+ Add-Type -AssemblyName System.Windows.Forms
616
+ Add-Type -AssemblyName System.Drawing
617
+ $screen = if (${displayId ?? -1} -ge 0) { [System.Windows.Forms.Screen]::AllScreens[${displayId ?? 0}] } else { [System.Windows.Forms.Screen]::PrimaryScreen }
618
+ $bounds = $screen.Bounds
619
+ $bmp = New-Object System.Drawing.Bitmap($bounds.Width, $bounds.Height)
620
+ $g = [System.Drawing.Graphics]::FromImage($bmp)
621
+ $g.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size)
622
+ $g.Dispose()
623
+ $ms = New-Object System.IO.MemoryStream
624
+ $bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png)
625
+ $bmp.Dispose()
626
+ $bytes = $ms.ToArray()
627
+ $ms.Dispose()
628
+ "$($bounds.Width),$($bounds.Height)," + [Convert]::ToBase64String($bytes)
629
+ `);
630
+ const firstComma = raw.indexOf(",");
631
+ const secondComma = raw.indexOf(",", firstComma + 1);
632
+ const width = Number(raw.slice(0, firstComma));
633
+ const height = Number(raw.slice(firstComma + 1, secondComma));
634
+ const base64 = raw.slice(secondComma + 1);
635
+ return { base64, width, height };
636
+ },
637
+ async captureRegion(_allowedBundleIds, x, y, w, h, _outW, _outH, _quality, _displayId) {
638
+ const raw = await psAsync(`
639
+ Add-Type -AssemblyName System.Windows.Forms
640
+ Add-Type -AssemblyName System.Drawing
641
+ $bmp = New-Object System.Drawing.Bitmap(${w}, ${h})
642
+ $g = [System.Drawing.Graphics]::FromImage($bmp)
643
+ $g.CopyFromScreen(${x}, ${y}, 0, 0, (New-Object System.Drawing.Size(${w}, ${h})))
644
+ $g.Dispose()
645
+ $ms = New-Object System.IO.MemoryStream
646
+ $bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png)
647
+ $bmp.Dispose()
648
+ $bytes = $ms.ToArray()
649
+ $ms.Dispose()
650
+ "${w},${h}," + [Convert]::ToBase64String($bytes)
651
+ `);
652
+ const firstComma = raw.indexOf(",");
653
+ const secondComma = raw.indexOf(",", firstComma + 1);
654
+ const base64 = raw.slice(secondComma + 1);
655
+ return { base64, width: w, height: h };
656
+ },
657
+ captureWindowTarget(titleOrHwnd) {
658
+ if (typeof titleOrHwnd === "number") {
659
+ return captureWindowByHwnd(titleOrHwnd);
660
+ }
661
+ return captureWindow(titleOrHwnd);
662
+ }
663
+ };
664
+ });
665
+
666
+ // packages/@ant/computer-use-swift/src/backends/linux.ts
667
+ var exports_linux = {};
668
+ __export(exports_linux, {
669
+ screenshot: () => screenshot3,
670
+ display: () => display3,
671
+ apps: () => apps3
672
+ });
673
+ function run(cmd) {
674
+ const result = Bun.spawnSync({
675
+ cmd,
676
+ stdout: "pipe",
677
+ stderr: "pipe"
678
+ });
679
+ return new TextDecoder().decode(result.stdout).trim();
680
+ }
681
+ async function runAsync(cmd) {
682
+ const proc = Bun.spawn(cmd, { stdout: "pipe", stderr: "pipe" });
683
+ const out = await new Response(proc.stdout).text();
684
+ await proc.exited;
685
+ return out.trim();
686
+ }
687
+ function commandExists(name) {
688
+ const result = Bun.spawnSync({ cmd: ["which", name], stdout: "pipe", stderr: "pipe" });
689
+ return result.exitCode === 0;
690
+ }
691
+ var display3, apps3, SCREENSHOT_PATH = "/tmp/cu-screenshot.png", screenshot3;
692
+ var init_linux = __esm(() => {
693
+ display3 = {
694
+ getSize(displayId) {
695
+ const all = this.listAll();
696
+ if (displayId !== undefined) {
697
+ const found = all.find((d) => d.displayId === displayId);
698
+ if (found)
699
+ return found;
700
+ }
701
+ return all[0] ?? { width: 1920, height: 1080, scaleFactor: 1, displayId: 0 };
702
+ },
703
+ listAll() {
704
+ try {
705
+ const raw = run(["xrandr", "--query"]);
706
+ const displays = [];
707
+ let idx = 0;
708
+ const regex = /^\S+\s+connected\s+(?:primary\s+)?(\d+)x(\d+)\+\d+\+\d+/gm;
709
+ let match;
710
+ while ((match = regex.exec(raw)) !== null) {
711
+ displays.push({
712
+ width: Number(match[1]),
713
+ height: Number(match[2]),
714
+ scaleFactor: 1,
715
+ displayId: idx++
716
+ });
717
+ }
718
+ if (displays.length === 0) {
719
+ return [{ width: 1920, height: 1080, scaleFactor: 1, displayId: 0 }];
720
+ }
721
+ return displays;
722
+ } catch {
723
+ return [{ width: 1920, height: 1080, scaleFactor: 1, displayId: 0 }];
724
+ }
725
+ }
726
+ };
727
+ apps3 = {
728
+ async prepareDisplay(_allowlistBundleIds, _surrogateHost, _displayId) {
729
+ return { activated: "", hidden: [] };
730
+ },
731
+ async previewHideSet(_bundleIds, _displayId) {
732
+ return [];
733
+ },
734
+ async findWindowDisplays(bundleIds) {
735
+ return bundleIds.map((bundleId) => ({ bundleId, displayIds: [0] }));
736
+ },
737
+ async appUnderPoint(x, y) {
738
+ try {
739
+ const out = run(["xdotool", "mousemove", "--sync", String(x), String(y), "getmouselocation", "--shell"]);
740
+ const windowMatch = out.match(/WINDOW=(\d+)/);
741
+ if (!windowMatch)
742
+ return null;
743
+ const windowId = windowMatch[1];
744
+ const pidStr = run(["xdotool", "getwindowpid", windowId]);
745
+ if (!pidStr)
746
+ return null;
747
+ let exePath = "";
748
+ try {
749
+ exePath = run(["readlink", "-f", `/proc/${pidStr}/exe`]);
750
+ } catch {}
751
+ let appName = "";
752
+ try {
753
+ appName = run(["cat", `/proc/${pidStr}/comm`]);
754
+ } catch {}
755
+ if (!exePath && !appName)
756
+ return null;
757
+ return { bundleId: exePath || pidStr, displayName: appName || "unknown" };
758
+ } catch {
759
+ return null;
760
+ }
761
+ },
762
+ async listInstalled() {
763
+ try {
764
+ const dirs = ["/usr/share/applications", "/usr/local/share/applications", `${process.env.HOME}/.local/share/applications`];
765
+ const apps4 = [];
766
+ for (const dir of dirs) {
767
+ let files;
768
+ try {
769
+ files = run(["find", dir, "-name", "*.desktop", "-maxdepth", "1"]);
770
+ } catch {
771
+ continue;
772
+ }
773
+ for (const filepath of files.split(`
774
+ `).filter(Boolean)) {
775
+ try {
776
+ const content = run(["cat", filepath]);
777
+ const nameMatch = content.match(/^Name=(.+)$/m);
778
+ const execMatch = content.match(/^Exec=(.+)$/m);
779
+ const noDisplay = content.match(/^NoDisplay=true$/m);
780
+ if (noDisplay)
781
+ continue;
782
+ const name = nameMatch?.[1] ?? "";
783
+ const exec = execMatch?.[1] ?? "";
784
+ if (!name)
785
+ continue;
786
+ apps4.push({
787
+ bundleId: filepath.split("/").pop()?.replace(".desktop", "") ?? "",
788
+ displayName: name,
789
+ path: exec.split(/\s+/)[0] ?? ""
790
+ });
791
+ } catch {}
792
+ }
793
+ }
794
+ return apps4.slice(0, 200);
795
+ } catch {
796
+ return [];
797
+ }
798
+ },
799
+ iconDataUrl(_path) {
800
+ return null;
801
+ },
802
+ listRunning() {
803
+ try {
804
+ if (commandExists("wmctrl")) {
805
+ const raw2 = run(["wmctrl", "-l", "-p"]);
806
+ const apps5 = [];
807
+ for (const line of raw2.split(`
808
+ `).filter(Boolean)) {
809
+ const parts = line.split(/\s+/);
810
+ const pid = parts[2];
811
+ if (!pid || pid === "0")
812
+ continue;
813
+ let exePath = "";
814
+ try {
815
+ exePath = run(["readlink", "-f", `/proc/${pid}/exe`]);
816
+ } catch {}
817
+ let appName = "";
818
+ try {
819
+ appName = run(["cat", `/proc/${pid}/comm`]);
820
+ } catch {}
821
+ if (appName) {
822
+ apps5.push({ bundleId: exePath || pid, displayName: appName });
823
+ }
824
+ }
825
+ const seen = new Set;
826
+ return apps5.filter((a) => {
827
+ if (seen.has(a.bundleId))
828
+ return false;
829
+ seen.add(a.bundleId);
830
+ return true;
831
+ }).slice(0, 50);
832
+ }
833
+ const raw = run(["ps", "-eo", "pid,comm", "--no-headers"]);
834
+ const apps4 = [];
835
+ for (const line of raw.split(`
836
+ `).filter(Boolean).slice(0, 50)) {
837
+ const match = line.trim().match(/^(\d+)\s+(.+)$/);
838
+ if (match) {
839
+ apps4.push({ bundleId: match[1], displayName: match[2] });
840
+ }
841
+ }
842
+ return apps4;
843
+ } catch {
844
+ return [];
845
+ }
846
+ },
847
+ async open(name) {
848
+ try {
849
+ const desktopName = name.endsWith(".desktop") ? name : `${name}.desktop`;
850
+ if (commandExists("gtk-launch")) {
851
+ await runAsync(["gtk-launch", desktopName]);
852
+ return;
853
+ }
854
+ } catch {}
855
+ await runAsync(["xdg-open", name]);
856
+ },
857
+ async unhide(bundleIds) {
858
+ for (const id of bundleIds) {
859
+ try {
860
+ if (commandExists("wmctrl") && id.startsWith("0x")) {
861
+ await runAsync(["wmctrl", "-i", "-R", id]);
862
+ } else {
863
+ await runAsync(["xdotool", "search", "--name", id, "windowactivate"]);
864
+ }
865
+ } catch {}
866
+ }
867
+ }
868
+ };
869
+ screenshot3 = {
870
+ async captureExcluding(_allowedBundleIds, _quality, _targetW, _targetH, _displayId) {
871
+ try {
872
+ await runAsync(["scrot", "-o", SCREENSHOT_PATH]);
873
+ const file = Bun.file(SCREENSHOT_PATH);
874
+ const buffer = await file.arrayBuffer();
875
+ const base64 = Buffer.from(buffer).toString("base64");
876
+ const size = display3.getSize(_displayId);
877
+ return { base64, width: size.width, height: size.height };
878
+ } catch {
879
+ return { base64: "", width: 0, height: 0 };
880
+ }
881
+ },
882
+ async captureRegion(_allowedBundleIds, x, y, w, h, _outW, _outH, _quality, _displayId) {
883
+ try {
884
+ await runAsync(["scrot", "-a", `${x},${y},${w},${h}`, "-o", SCREENSHOT_PATH]);
885
+ const file = Bun.file(SCREENSHOT_PATH);
886
+ const buffer = await file.arrayBuffer();
887
+ const base64 = Buffer.from(buffer).toString("base64");
888
+ return { base64, width: w, height: h };
889
+ } catch {
890
+ return { base64: "", width: 0, height: 0 };
891
+ }
892
+ }
893
+ };
894
+ });
895
+
896
+ // packages/@ant/computer-use-swift/src/index.ts
897
+ var exports_src = {};
898
+ __export(exports_src, {
899
+ ComputerUseAPI: () => ComputerUseAPI
900
+ });
901
+ function loadBackend() {
902
+ try {
903
+ if (process.platform === "darwin") {
904
+ return init_darwin(), __toCommonJS(exports_darwin);
905
+ } else if (process.platform === "win32") {
906
+ return init_win32(), __toCommonJS(exports_win32);
907
+ } else if (process.platform === "linux") {
908
+ return init_linux(), __toCommonJS(exports_linux);
909
+ }
910
+ } catch {
911
+ return null;
912
+ }
913
+ return null;
914
+ }
915
+
916
+ class ComputerUseAPI {
917
+ apps = backend?.apps ?? {
918
+ async prepareDisplay() {
919
+ return { activated: "", hidden: [] };
920
+ },
921
+ async previewHideSet() {
922
+ return [];
923
+ },
924
+ async findWindowDisplays(ids) {
925
+ return ids.map((b) => ({ bundleId: b, displayIds: [] }));
926
+ },
927
+ async appUnderPoint() {
928
+ return null;
929
+ },
930
+ async listInstalled() {
931
+ return [];
932
+ },
933
+ iconDataUrl() {
934
+ return null;
935
+ },
936
+ listRunning() {
937
+ return [];
938
+ },
939
+ async open() {
940
+ throw new Error("@ant/computer-use-swift: macOS only");
941
+ },
942
+ async unhide() {}
943
+ };
944
+ display = backend?.display ?? {
945
+ getSize() {
946
+ throw new Error("@ant/computer-use-swift: macOS only");
947
+ },
948
+ listAll() {
949
+ throw new Error("@ant/computer-use-swift: macOS only");
950
+ }
951
+ };
952
+ screenshot = backend?.screenshot ?? {
953
+ async captureExcluding() {
954
+ throw new Error("@ant/computer-use-swift: macOS only");
955
+ },
956
+ async captureRegion() {
957
+ throw new Error("@ant/computer-use-swift: macOS only");
958
+ }
959
+ };
960
+ async resolvePrepareCapture(allowedBundleIds, _surrogateHost, quality, targetW, targetH, displayId) {
961
+ return this.screenshot.captureExcluding(allowedBundleIds, quality, targetW, targetH, displayId);
962
+ }
963
+ }
964
+ var backend;
965
+ var init_src = __esm(() => {
966
+ backend = loadBackend();
967
+ });
968
+
969
+ // src/utils/computerUse/swiftLoader.ts
970
+ function requireComputerUseSwift() {
971
+ if (cached)
972
+ return cached;
973
+ const mod = (init_src(), __toCommonJS(exports_src));
974
+ if (mod.ComputerUseAPI && typeof mod.ComputerUseAPI === "function") {
975
+ cached = new mod.ComputerUseAPI;
976
+ } else {
977
+ cached = mod;
978
+ }
979
+ return cached;
980
+ }
981
+ var cached;
982
+ var init_swiftLoader = () => {};
983
+
984
+ // src/utils/computerUse/drainRunLoop.ts
985
+ function drainTick(cu) {
986
+ cu._drainMainRunLoop();
987
+ }
988
+ function retain() {
989
+ pending++;
990
+ if (pump === undefined) {
991
+ pump = setInterval(drainTick, 1, requireComputerUseSwift());
992
+ logForDebugging("[drainRunLoop] pump started", { level: "verbose" });
993
+ }
994
+ }
995
+ function release() {
996
+ pending--;
997
+ if (pending <= 0 && pump !== undefined) {
998
+ clearInterval(pump);
999
+ pump = undefined;
1000
+ logForDebugging("[drainRunLoop] pump stopped", { level: "verbose" });
1001
+ pending = 0;
1002
+ }
1003
+ }
1004
+ function timeoutReject(reject) {
1005
+ reject(new Error(`computer-use native call exceeded ${TIMEOUT_MS}ms`));
1006
+ }
1007
+ async function drainRunLoop(fn) {
1008
+ if (process.platform !== "darwin")
1009
+ return fn();
1010
+ retain();
1011
+ let timer;
1012
+ try {
1013
+ const work = fn();
1014
+ work.catch(() => {});
1015
+ const timeout = withResolvers();
1016
+ timer = setTimeout(timeoutReject, TIMEOUT_MS, timeout.reject);
1017
+ return await Promise.race([work, timeout.promise]);
1018
+ } finally {
1019
+ clearTimeout(timer);
1020
+ release();
1021
+ }
1022
+ }
1023
+ var pump, pending = 0, TIMEOUT_MS = 30000, retainPump, releasePump;
1024
+ var init_drainRunLoop = __esm(() => {
1025
+ init_debug();
1026
+ init_withResolvers();
1027
+ init_swiftLoader();
1028
+ retainPump = retain;
1029
+ releasePump = release;
1030
+ });
1031
+
1032
+ // src/utils/computerUse/escHotkey.ts
1033
+ function registerEscHotkey(onEscape) {
1034
+ if (process.platform !== "darwin")
1035
+ return false;
1036
+ if (registered)
1037
+ return true;
1038
+ const cu = requireComputerUseSwift();
1039
+ if (!cu.hotkey.registerEscape(onEscape)) {
1040
+ logForDebugging("[cu-esc] registerEscape returned false", { level: "warn" });
1041
+ return false;
1042
+ }
1043
+ retainPump();
1044
+ registered = true;
1045
+ logForDebugging("[cu-esc] registered");
1046
+ return true;
1047
+ }
1048
+ function unregisterEscHotkey() {
1049
+ if (!registered)
1050
+ return;
1051
+ try {
1052
+ requireComputerUseSwift().hotkey.unregister();
1053
+ } finally {
1054
+ releasePump();
1055
+ registered = false;
1056
+ logForDebugging("[cu-esc] unregistered");
1057
+ }
1058
+ }
1059
+ function notifyExpectedEscape() {
1060
+ if (!registered)
1061
+ return;
1062
+ requireComputerUseSwift().hotkey.notifyExpectedEscape();
1063
+ }
1064
+ var registered = false;
1065
+ var init_escHotkey = __esm(() => {
1066
+ init_debug();
1067
+ init_drainRunLoop();
1068
+ init_swiftLoader();
1069
+ });
1070
+
1071
+ export { withResolvers, init_withResolvers, listWindows, exports_windowEnum, init_windowEnum, requireComputerUseSwift, init_swiftLoader, drainRunLoop, init_drainRunLoop, registerEscHotkey, unregisterEscHotkey, notifyExpectedEscape, init_escHotkey };