@caspian2026/agent-sdk 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/dist/chunk-018smjq7.js +26 -0
  2. package/dist/chunk-055q0a2m.js +146 -0
  3. package/dist/chunk-07069jq1.js +30 -0
  4. package/dist/chunk-0731m51q.js +8 -0
  5. package/dist/chunk-0awwmrwr.js +46 -0
  6. package/dist/chunk-0htx82k2.js +64 -0
  7. package/dist/chunk-0jmt5sx1.js +104 -0
  8. package/dist/chunk-0kj8bq80.js +252 -0
  9. package/dist/chunk-0kxcq8h9.js +86 -0
  10. package/dist/chunk-0paqc2yw.js +15 -0
  11. package/dist/chunk-0vkfrmqm.js +690 -0
  12. package/dist/chunk-0xjaqda8.js +1124 -0
  13. package/dist/chunk-10qhq6f8.js +458 -0
  14. package/dist/chunk-15m49c67.js +121 -0
  15. package/dist/chunk-15sfg4bs.js +65 -0
  16. package/dist/chunk-162ewhvy.js +869 -0
  17. package/dist/chunk-177s15bv.js +120 -0
  18. package/dist/chunk-19e603rv.js +284 -0
  19. package/dist/chunk-1ax1znzj.js +537 -0
  20. package/dist/chunk-1c4j7qn2.js +319 -0
  21. package/dist/chunk-1gx78081.js +66 -0
  22. package/dist/chunk-1h2famwb.js +49 -0
  23. package/dist/chunk-1nk93fqz.js +357 -0
  24. package/dist/chunk-1xct96nd.js +2520 -0
  25. package/dist/chunk-1xvcvdef.js +90 -0
  26. package/dist/chunk-1yrcnrs7.js +261 -0
  27. package/dist/chunk-21bcvwr7.js +660 -0
  28. package/dist/chunk-2352ts05.js +667 -0
  29. package/dist/chunk-23jzrwsw.js +43 -0
  30. package/dist/chunk-26hg7303.js +62 -0
  31. package/dist/chunk-2f21meep.js +122 -0
  32. package/dist/chunk-2fwze72g.js +24 -0
  33. package/dist/chunk-2gzv8nrw.js +205 -0
  34. package/dist/chunk-2h05vtpv.js +83 -0
  35. package/dist/chunk-2h0y6m16.js +465 -0
  36. package/dist/chunk-2n7bbxm6.js +168 -0
  37. package/dist/chunk-2nv3d0he.js +108 -0
  38. package/dist/chunk-2vqrdwx9.js +1811 -0
  39. package/dist/chunk-3389cj3w.js +120 -0
  40. package/dist/chunk-35sgv3er.js +231 -0
  41. package/dist/chunk-3c25bcsw.js +17 -0
  42. package/dist/chunk-3e20cj49.js +443 -0
  43. package/dist/chunk-3mr5ryx4.js +122 -0
  44. package/dist/chunk-3nk79af8.js +8 -0
  45. package/dist/chunk-3qbdzsvm.js +120 -0
  46. package/dist/chunk-3yprydpw.js +213 -0
  47. package/dist/chunk-430yrtmk.js +492 -0
  48. package/dist/chunk-46hd1gyd.js +140 -0
  49. package/dist/chunk-46hdszda.js +63 -0
  50. package/dist/chunk-46n7byh8.js +102 -0
  51. package/dist/chunk-4cp6193g.js +9076 -0
  52. package/dist/chunk-4dn3n459.js +409 -0
  53. package/dist/chunk-4hv90qcz.js +8 -0
  54. package/dist/chunk-4jm600zv.js +13 -0
  55. package/dist/chunk-4nspekjp.js +69 -0
  56. package/dist/chunk-505mxxa9.js +19 -0
  57. package/dist/chunk-50bay5qy.js +224 -0
  58. package/dist/chunk-537qfvn5.js +345 -0
  59. package/dist/chunk-55raexh7.js +14358 -0
  60. package/dist/chunk-572vjq78.js +56 -0
  61. package/dist/chunk-5apfzkpy.js +87 -0
  62. package/dist/chunk-5ccdsxgy.js +74 -0
  63. package/dist/chunk-5dmhsqap.js +32 -0
  64. package/dist/chunk-5fs6nkjr.js +98 -0
  65. package/dist/chunk-5nchekqe.js +87 -0
  66. package/dist/chunk-5pp28k2r.js +120 -0
  67. package/dist/chunk-5rt4b8q9.js +116 -0
  68. package/dist/chunk-5rv9c8yd.js +1072 -0
  69. package/dist/chunk-5z28bqne.js +6748 -0
  70. package/dist/chunk-64c1avct.js +13 -0
  71. package/dist/chunk-66zry909.js +11 -0
  72. package/dist/chunk-682qgta2.js +102 -0
  73. package/dist/chunk-68ffk5qa.js +14 -0
  74. package/dist/chunk-68w91pzt.js +79 -0
  75. package/dist/chunk-69fgaak0.js +654 -0
  76. package/dist/chunk-69n11zng.js +436 -0
  77. package/dist/chunk-6dj5t602.js +341 -0
  78. package/dist/chunk-6gh20s05.js +146 -0
  79. package/dist/chunk-6maej1hh.js +502 -0
  80. package/dist/chunk-6nsd9606.js +790 -0
  81. package/dist/chunk-6p4cyhb3.js +16 -0
  82. package/dist/chunk-6t4a9cgj.js +877 -0
  83. package/dist/chunk-6t8yqfks.js +227 -0
  84. package/dist/chunk-6vthy0fj.js +213 -0
  85. package/dist/chunk-70cw4cg9.js +1026 -0
  86. package/dist/chunk-70eey1nh.js +164 -0
  87. package/dist/chunk-76j2e9vy.js +68 -0
  88. package/dist/chunk-7acgdm7x.js +93 -0
  89. package/dist/chunk-7aw745vx.js +40175 -0
  90. package/dist/chunk-7gvwg1v9.js +122 -0
  91. package/dist/chunk-7h2ybnf3.js +636 -0
  92. package/dist/chunk-7kcm5hn2.js +155 -0
  93. package/dist/chunk-7m2hp89m.js +73 -0
  94. package/dist/chunk-7mqab3z7.js +31 -0
  95. package/dist/chunk-7sgtxrsc.js +1059 -0
  96. package/dist/chunk-7wm5s02e.js +216 -0
  97. package/dist/chunk-7xyswgjh.js +8 -0
  98. package/dist/chunk-7yxvpj5j.js +1452 -0
  99. package/dist/chunk-80a8vabn.js +93 -0
  100. package/dist/chunk-83e71kz6.js +180 -0
  101. package/dist/chunk-83hfzbx3.js +10 -0
  102. package/dist/chunk-8g5pe1gr.js +37 -0
  103. package/dist/chunk-8g747a8x.js +26 -0
  104. package/dist/chunk-8hj8ms5q.js +111 -0
  105. package/dist/chunk-8mkwsdk1.js +61 -0
  106. package/dist/chunk-8n42zyfx.js +40 -0
  107. package/dist/chunk-8qhxyqj9.js +1155 -0
  108. package/dist/chunk-8y30k9pz.js +38 -0
  109. package/dist/chunk-960ze3jj.js +124 -0
  110. package/dist/chunk-97wgdsab.js +35 -0
  111. package/dist/chunk-9grztvcg.js +93 -0
  112. package/dist/chunk-9x5zgy22.js +12 -0
  113. package/dist/chunk-a8792r1c.js +620 -0
  114. package/dist/chunk-ahr1r7c6.js +4275 -0
  115. package/dist/chunk-ase86y73.js +15 -0
  116. package/dist/chunk-b0kf00ff.js +637 -0
  117. package/dist/chunk-b0qptb1k.js +640 -0
  118. package/dist/chunk-b1kcd3ss.js +27 -0
  119. package/dist/chunk-b2fd462a.js +54 -0
  120. package/dist/chunk-bdrjvs5k.js +157 -0
  121. package/dist/chunk-beg7bdyz.js +90 -0
  122. package/dist/chunk-bg4x9ex0.js +21 -0
  123. package/dist/chunk-bktfq0ns.js +95 -0
  124. package/dist/chunk-bmbq6nt1.js +145 -0
  125. package/dist/chunk-bvf2z3g6.js +1003 -0
  126. package/dist/chunk-bxcfz5gy.js +56 -0
  127. package/dist/chunk-c11swzas.js +5368 -0
  128. package/dist/chunk-c37j5zxe.js +57 -0
  129. package/dist/chunk-c5mz5vw2.js +117 -0
  130. package/dist/chunk-c6sjhj89.js +1284 -0
  131. package/dist/chunk-c7jwbe76.js +29030 -0
  132. package/dist/chunk-cc2tg4q8.js +311 -0
  133. package/dist/chunk-cdhmrbj4.js +6353 -0
  134. package/dist/chunk-cdz5yb0r.js +57 -0
  135. package/dist/chunk-cfv996bs.js +22 -0
  136. package/dist/chunk-cgfdkzhb.js +12 -0
  137. package/dist/chunk-chakj069.js +310 -0
  138. package/dist/chunk-chsyvavm.js +3435 -0
  139. package/dist/chunk-cnsj3vq2.js +35 -0
  140. package/dist/chunk-ctdg0qxh.js +1386 -0
  141. package/dist/chunk-cxq7gc42.js +386 -0
  142. package/dist/chunk-d1pyf9as.js +8586 -0
  143. package/dist/chunk-d4kwjqjy.js +308 -0
  144. package/dist/chunk-d4mdda98.js +94 -0
  145. package/dist/chunk-d7886r6a.js +13870 -0
  146. package/dist/chunk-d7f1pzkq.js +95 -0
  147. package/dist/chunk-ddsjkqs4.js +39 -0
  148. package/dist/chunk-dm3n2qgd.js +24 -0
  149. package/dist/chunk-e2mv8ts8.js +115 -0
  150. package/dist/chunk-e4bhfc6d.js +2720 -0
  151. package/dist/chunk-e4p1jbs4.js +58 -0
  152. package/dist/chunk-e7h4qxgw.js +21 -0
  153. package/dist/chunk-e8p3fy6v.js +202 -0
  154. package/dist/chunk-e97mp86b.js +111 -0
  155. package/dist/chunk-ebqwkhyf.js +145 -0
  156. package/dist/chunk-eenq3avg.js +69 -0
  157. package/dist/chunk-efgjfast.js +61 -0
  158. package/dist/chunk-ehtwnxpg.js +1591 -0
  159. package/dist/chunk-en8wkxh7.js +173 -0
  160. package/dist/chunk-enkdxqas.js +33 -0
  161. package/dist/chunk-eqp1rfft.js +17 -0
  162. package/dist/chunk-ercvcek8.js +266 -0
  163. package/dist/chunk-etgh9xvt.js +369 -0
  164. package/dist/chunk-ev3qkf76.js +106 -0
  165. package/dist/chunk-evp5pb9x.js +3567 -0
  166. package/dist/chunk-ewadzrm8.js +103 -0
  167. package/dist/chunk-exah13mz.js +94 -0
  168. package/dist/chunk-f0rzvqmq.js +87 -0
  169. package/dist/chunk-f1m9pect.js +258 -0
  170. package/dist/chunk-fajg8x36.js +8158 -0
  171. package/dist/chunk-fbv4apne.js +51 -0
  172. package/dist/chunk-fbvw6wq9.js +116 -0
  173. package/dist/chunk-feyzykye.js +10 -0
  174. package/dist/chunk-fn1vvj8k.js +894 -0
  175. package/dist/chunk-fshfxw2q.js +183 -0
  176. package/dist/chunk-fyc5fepv.js +10 -0
  177. package/dist/chunk-g9f19ttm.js +15 -0
  178. package/dist/chunk-gcpfxk0c.js +644 -0
  179. package/dist/chunk-gdg6411p.js +106 -0
  180. package/dist/chunk-gkyzz8er.js +849 -0
  181. package/dist/chunk-gxahdggv.js +71 -0
  182. package/dist/chunk-h6fsks9j.js +220 -0
  183. package/dist/chunk-h9n54swm.js +27 -0
  184. package/dist/chunk-hakdhagh.js +16606 -0
  185. package/dist/chunk-hchy0hq6.js +159 -0
  186. package/dist/chunk-hh3k5s1s.js +180 -0
  187. package/dist/chunk-hqqkj5pg.js +202 -0
  188. package/dist/chunk-htpehq9t.js +251 -0
  189. package/dist/chunk-hwfknpxv.js +39 -0
  190. package/dist/chunk-hwn8vetn.js +394 -0
  191. package/dist/chunk-hx3j6n92.js +178 -0
  192. package/dist/chunk-hyb749hd.js +194 -0
  193. package/dist/chunk-hzgnejb1.js +90 -0
  194. package/dist/chunk-hzknr99c.js +477 -0
  195. package/dist/chunk-j3zhb8vv.js +152 -0
  196. package/dist/chunk-j5bth84e.js +97 -0
  197. package/dist/chunk-j64ga6ta.js +8035 -0
  198. package/dist/chunk-jaaxk89e.js +113 -0
  199. package/dist/chunk-jd32zbps.js +15 -0
  200. package/dist/chunk-jfja8q7w.js +91 -0
  201. package/dist/chunk-jgjqa49s.js +27 -0
  202. package/dist/chunk-jgpmpgx6.js +19 -0
  203. package/dist/chunk-jgwd85hp.js +91 -0
  204. package/dist/chunk-jk69qtzx.js +277 -0
  205. package/dist/chunk-jr1xm1dd.js +147 -0
  206. package/dist/chunk-jss0azv7.js +2337 -0
  207. package/dist/chunk-jxpmkae9.js +108 -0
  208. package/dist/chunk-jy9rxxqe.js +102 -0
  209. package/dist/chunk-jyw3np47.js +264 -0
  210. package/dist/chunk-jzthz1bx.js +15 -0
  211. package/dist/chunk-k0p9w03v.js +4957 -0
  212. package/dist/chunk-k2rybwww.js +92 -0
  213. package/dist/chunk-k3939ggz.js +168 -0
  214. package/dist/chunk-k591cwbg.js +345 -0
  215. package/dist/chunk-k5ez1h65.js +108 -0
  216. package/dist/chunk-k8vp0atq.js +2331 -0
  217. package/dist/chunk-kajf3jgq.js +694 -0
  218. package/dist/chunk-kbm69rtz.js +276 -0
  219. package/dist/chunk-kjh11txh.js +419 -0
  220. package/dist/chunk-kqggbte3.js +326 -0
  221. package/dist/chunk-kr6qfwq0.js +95 -0
  222. package/dist/chunk-kvfg8eeg.js +150 -0
  223. package/dist/chunk-kwekc97v.js +18 -0
  224. package/dist/chunk-m1cehfta.js +861 -0
  225. package/dist/chunk-m87bhhqv.js +61 -0
  226. package/dist/chunk-mg7pbk0r.js +151 -0
  227. package/dist/chunk-mpbfkp8j.js +418 -0
  228. package/dist/chunk-mpk1sjyk.js +117 -0
  229. package/dist/chunk-msecaxyj.js +74 -0
  230. package/dist/chunk-mswx2nma.js +103 -0
  231. package/dist/chunk-mw1kpeg9.js +6895 -0
  232. package/dist/chunk-mxr2s6d1.js +89 -0
  233. package/dist/chunk-my40g5hp.js +560 -0
  234. package/dist/chunk-n0kmh4ra.js +338 -0
  235. package/dist/chunk-n18q5yqs.js +397 -0
  236. package/dist/chunk-n7pnyq43.js +131 -0
  237. package/dist/chunk-naybw0p0.js +32 -0
  238. package/dist/chunk-nb6abcch.js +83 -0
  239. package/dist/chunk-ne5r3k03.js +350 -0
  240. package/dist/chunk-nebezy1d.js +997 -0
  241. package/dist/chunk-netzwgv1.js +154 -0
  242. package/dist/chunk-nhapyawz.js +32994 -0
  243. package/dist/chunk-npnvheft.js +156 -0
  244. package/dist/chunk-nrtksr2p.js +51 -0
  245. package/dist/chunk-nw9t5pq9.js +132 -0
  246. package/dist/chunk-nxgsnh2y.js +735 -0
  247. package/dist/chunk-p11xp4xp.js +266 -0
  248. package/dist/chunk-p1hwrf72.js +74 -0
  249. package/dist/chunk-p1zj9mg9.js +567 -0
  250. package/dist/chunk-p39a677r.js +115 -0
  251. package/dist/chunk-p7vkh4wx.js +15 -0
  252. package/dist/chunk-p8na2wwp.js +14 -0
  253. package/dist/chunk-pcb7fbyg.js +259 -0
  254. package/dist/chunk-pckwmrzd.js +409 -0
  255. package/dist/chunk-ped973jn.js +111 -0
  256. package/dist/chunk-phd1qfpc.js +5971 -0
  257. package/dist/chunk-pkkngdv0.js +524 -0
  258. package/dist/chunk-ppwjyveh.js +8 -0
  259. package/dist/chunk-pqvr8jq7.js +324 -0
  260. package/dist/chunk-prcah3ys.js +106 -0
  261. package/dist/chunk-ps49ymvj.js +43 -0
  262. package/dist/chunk-pwwa7s62.js +11 -0
  263. package/dist/chunk-pxdzy0jh.js +134 -0
  264. package/dist/chunk-q3jr5t07.js +62 -0
  265. package/dist/chunk-q6cfkntd.js +675 -0
  266. package/dist/chunk-q6m26rc8.js +88 -0
  267. package/dist/chunk-q6xs51jj.js +332 -0
  268. package/dist/chunk-q7jnesv8.js +74 -0
  269. package/dist/chunk-q7zpf4r2.js +440 -0
  270. package/dist/chunk-q8c88vjm.js +24 -0
  271. package/dist/chunk-qajrkk97.js +298 -0
  272. package/dist/chunk-qatfdxvd.js +34 -0
  273. package/dist/chunk-qb6k2afy.js +153 -0
  274. package/dist/chunk-qfk94vcn.js +329 -0
  275. package/dist/chunk-qj2e1apf.js +471 -0
  276. package/dist/chunk-qj2mk79w.js +111 -0
  277. package/dist/chunk-qk7dfae6.js +267 -0
  278. package/dist/chunk-qnfx3qtx.js +617 -0
  279. package/dist/chunk-qp2qdcda.js +100 -0
  280. package/dist/chunk-qq0phwn8.js +458 -0
  281. package/dist/chunk-qwqjesx7.js +258 -0
  282. package/dist/chunk-qygmcg7w.js +60 -0
  283. package/dist/chunk-qz2x630m.js +49145 -0
  284. package/dist/chunk-qzj4e8fn.js +357 -0
  285. package/dist/chunk-ratvcbmn.js +255 -0
  286. package/dist/chunk-rkg741k3.js +37 -0
  287. package/dist/chunk-rn0v1hk8.js +34 -0
  288. package/dist/chunk-rsq0h0rz.js +91 -0
  289. package/dist/chunk-rvnb2gn6.js +1053 -0
  290. package/dist/chunk-rx278zpa.js +75 -0
  291. package/dist/chunk-s3hsqf80.js +473 -0
  292. package/dist/chunk-s4cb0bcb.js +655 -0
  293. package/dist/chunk-s8kj6ajy.js +32 -0
  294. package/dist/chunk-sd36yzx8.js +954 -0
  295. package/dist/chunk-sfcpjh4r.js +98 -0
  296. package/dist/chunk-spybh2dy.js +175 -0
  297. package/dist/chunk-sw9ax3ym.js +92 -0
  298. package/dist/chunk-szj5wvdy.js +28 -0
  299. package/dist/chunk-t29a6zb5.js +45 -0
  300. package/dist/chunk-t9p85zff.js +24 -0
  301. package/dist/chunk-tc1aazk4.js +131 -0
  302. package/dist/chunk-tdbz9gbm.js +1030 -0
  303. package/dist/chunk-tjcfpk38.js +208 -0
  304. package/dist/chunk-tp2jxmcx.js +8427 -0
  305. package/dist/chunk-tqmtkm0k.js +92 -0
  306. package/dist/chunk-tvgvt220.js +22820 -0
  307. package/dist/chunk-v0qraze5.js +291 -0
  308. package/dist/chunk-v1kzp02e.js +785 -0
  309. package/dist/chunk-v78fj8by.js +145 -0
  310. package/dist/chunk-v8g3kad0.js +101 -0
  311. package/dist/chunk-v9smspw2.js +4301 -0
  312. package/dist/chunk-vawgyev5.js +157 -0
  313. package/dist/chunk-vb3x3cxe.js +375 -0
  314. package/dist/chunk-vf612n57.js +472 -0
  315. package/dist/chunk-vjn8mbcw.js +198 -0
  316. package/dist/chunk-vmbfv1y5.js +295 -0
  317. package/dist/chunk-vrf54kmt.js +321 -0
  318. package/dist/chunk-vyjeh50y.js +2149 -0
  319. package/dist/chunk-vzgkedm9.js +159745 -0
  320. package/dist/chunk-w004kfw0.js +245 -0
  321. package/dist/chunk-w0yhbmxn.js +132 -0
  322. package/dist/chunk-w4yn8cq7.js +123 -0
  323. package/dist/chunk-waqwgprq.js +1164 -0
  324. package/dist/chunk-wayfjcwt.js +447 -0
  325. package/dist/chunk-wby6yd4m.js +91 -0
  326. package/dist/chunk-wha6v7za.js +705 -0
  327. package/dist/chunk-wjcq2vkf.js +641 -0
  328. package/dist/chunk-wtjt9qyk.js +2670 -0
  329. package/dist/chunk-x2pvw7xw.js +42 -0
  330. package/dist/chunk-x6r4v44b.js +8 -0
  331. package/dist/chunk-x8d2ehd7.js +19 -0
  332. package/dist/chunk-xd6kmmb1.js +95 -0
  333. package/dist/chunk-xp61y5ba.js +125 -0
  334. package/dist/chunk-xv3era3s.js +8 -0
  335. package/dist/chunk-xxw9a0bq.js +58 -0
  336. package/dist/chunk-xzhaa7gd.js +112 -0
  337. package/dist/chunk-y1784krc.js +19 -0
  338. package/dist/chunk-y4ca9kqz.js +3830 -0
  339. package/dist/chunk-yff68ex1.js +113 -0
  340. package/dist/chunk-yg4vgpxs.js +436 -0
  341. package/dist/chunk-yk62vxj2.js +2964 -0
  342. package/dist/chunk-ym5r3jnk.js +2007 -0
  343. package/dist/chunk-ysanv95x.js +225 -0
  344. package/dist/chunk-yvtzznds.js +63 -0
  345. package/dist/chunk-yyex5gsf.js +269 -0
  346. package/dist/chunk-yyf72f78.js +456 -0
  347. package/dist/chunk-z19sd3bt.js +1648 -0
  348. package/dist/chunk-z2dp53wn.js +17 -0
  349. package/dist/chunk-z9n0183s.js +39 -0
  350. package/dist/chunk-zb8f6h5g.js +9174 -0
  351. package/dist/chunk-zctfbr1v.js +594 -0
  352. package/dist/chunk-zesnmkg3.js +2840 -0
  353. package/dist/chunk-zf47r1b7.js +94 -0
  354. package/dist/chunk-zghtdbat.js +253 -0
  355. package/dist/chunk-zpmwvd09.js +275 -0
  356. package/dist/chunk-zqncgyf6.js +127 -0
  357. package/dist/chunk-zr6mz36s.js +281 -0
  358. package/dist/chunk-zshzdw1n.js +141 -0
  359. package/dist/chunk-zx5kw7z4.js +40 -0
  360. package/dist/chunk-zzm33q8x.js +8 -0
  361. package/dist/cli.js +91 -0
  362. package/dist/download-ripgrep.js +24821 -0
  363. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  364. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  365. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  366. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  367. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  368. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  369. package/dist/vendor/ripgrep/x64-win32/rg.exe +0 -0
  370. package/package.json +122 -0
  371. package/scripts/postinstall.cjs +319 -0
@@ -0,0 +1,251 @@
1
+ // @bun
2
+ import {
3
+ getDesktopPath,
4
+ init_file
5
+ } from "./chunk-tp2jxmcx.js";
6
+ import"./chunk-z19sd3bt.js";
7
+ import"./chunk-1ax1znzj.js";
8
+ import"./chunk-wha6v7za.js";
9
+ import"./chunk-6nsd9606.js";
10
+ import"./chunk-xp61y5ba.js";
11
+ import"./chunk-64c1avct.js";
12
+ import"./chunk-8g5pe1gr.js";
13
+ import"./chunk-8g747a8x.js";
14
+ import"./chunk-d7886r6a.js";
15
+ import"./chunk-3c25bcsw.js";
16
+ import"./chunk-s3hsqf80.js";
17
+ import"./chunk-yyf72f78.js";
18
+ import"./chunk-cdz5yb0r.js";
19
+ import"./chunk-c7jwbe76.js";
20
+ import"./chunk-0vkfrmqm.js";
21
+ import"./chunk-7sgtxrsc.js";
22
+ import"./chunk-0xjaqda8.js";
23
+ import {
24
+ init_analytics,
25
+ logEvent
26
+ } from "./chunk-x8d2ehd7.js";
27
+ import"./chunk-tdbz9gbm.js";
28
+ import"./chunk-0awwmrwr.js";
29
+ import"./chunk-qnfx3qtx.js";
30
+ import"./chunk-70eey1nh.js";
31
+ import {
32
+ init_log,
33
+ logError
34
+ } from "./chunk-1nk93fqz.js";
35
+ import"./chunk-s8kj6ajy.js";
36
+ import"./chunk-eenq3avg.js";
37
+ import"./chunk-7mqab3z7.js";
38
+ import"./chunk-5z28bqne.js";
39
+ import"./chunk-qajrkk97.js";
40
+ import {
41
+ getFsImplementation,
42
+ init_debug,
43
+ init_errors,
44
+ init_fsOperations,
45
+ init_slowOperations,
46
+ jsonStringify,
47
+ logForDebugging,
48
+ toError
49
+ } from "./chunk-phd1qfpc.js";
50
+ import"./chunk-fbv4apne.js";
51
+ import"./chunk-jaaxk89e.js";
52
+ import {
53
+ getSessionId,
54
+ init_state
55
+ } from "./chunk-k8vp0atq.js";
56
+ import"./chunk-vf612n57.js";
57
+ import"./chunk-07069jq1.js";
58
+ import"./chunk-d4mdda98.js";
59
+ import"./chunk-55raexh7.js";
60
+ import"./chunk-v1kzp02e.js";
61
+ import"./chunk-7wm5s02e.js";
62
+ import"./chunk-b0kf00ff.js";
63
+ import"./chunk-netzwgv1.js";
64
+ import {
65
+ __esm
66
+ } from "./chunk-qp2qdcda.js";
67
+
68
+ // src/utils/heapDumpService.ts
69
+ import { createWriteStream, writeFileSync } from "fs";
70
+ import { readdir, readFile, writeFile } from "fs/promises";
71
+ import { join } from "path";
72
+ import { pipeline } from "stream/promises";
73
+ import {
74
+ getHeapSnapshot,
75
+ getHeapSpaceStatistics,
76
+ getHeapStatistics
77
+ } from "v8";
78
+ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
79
+ const usage = process.memoryUsage();
80
+ const heapStats = getHeapStatistics();
81
+ const resourceUsage = process.resourceUsage();
82
+ const uptimeSeconds = process.uptime();
83
+ let heapSpaceStats;
84
+ try {
85
+ heapSpaceStats = getHeapSpaceStatistics();
86
+ } catch {}
87
+ const activeHandles = process._getActiveHandles().length;
88
+ const activeRequests = process._getActiveRequests().length;
89
+ let openFileDescriptors;
90
+ try {
91
+ openFileDescriptors = (await readdir("/proc/self/fd")).length;
92
+ } catch {}
93
+ let smapsRollup;
94
+ try {
95
+ smapsRollup = await readFile("/proc/self/smaps_rollup", "utf8");
96
+ } catch {}
97
+ const nativeMemory = usage.rss - usage.heapUsed;
98
+ const bytesPerSecond = uptimeSeconds > 0 ? usage.rss / uptimeSeconds : 0;
99
+ const mbPerHour = bytesPerSecond * 3600 / (1024 * 1024);
100
+ const potentialLeaks = [];
101
+ if (heapStats.number_of_detached_contexts > 0) {
102
+ potentialLeaks.push(`${heapStats.number_of_detached_contexts} detached context(s) - possible iframe/context leak`);
103
+ }
104
+ if (activeHandles > 100) {
105
+ potentialLeaks.push(`${activeHandles} active handles - possible timer/socket leak`);
106
+ }
107
+ if (nativeMemory > usage.heapUsed) {
108
+ potentialLeaks.push("Native memory > heap - leak may be in native addons (node-pty, sharp, etc.)");
109
+ }
110
+ if (mbPerHour > 100) {
111
+ potentialLeaks.push(`High memory growth rate: ${mbPerHour.toFixed(1)} MB/hour`);
112
+ }
113
+ if (openFileDescriptors && openFileDescriptors > 500) {
114
+ potentialLeaks.push(`${openFileDescriptors} open file descriptors - possible file/socket leak`);
115
+ }
116
+ return {
117
+ timestamp: new Date().toISOString(),
118
+ sessionId: getSessionId(),
119
+ trigger,
120
+ dumpNumber,
121
+ uptimeSeconds,
122
+ memoryUsage: {
123
+ heapUsed: usage.heapUsed,
124
+ heapTotal: usage.heapTotal,
125
+ external: usage.external,
126
+ arrayBuffers: usage.arrayBuffers,
127
+ rss: usage.rss
128
+ },
129
+ memoryGrowthRate: {
130
+ bytesPerSecond,
131
+ mbPerHour
132
+ },
133
+ v8HeapStats: {
134
+ heapSizeLimit: heapStats.heap_size_limit,
135
+ mallocedMemory: heapStats.malloced_memory,
136
+ peakMallocedMemory: heapStats.peak_malloced_memory,
137
+ detachedContexts: heapStats.number_of_detached_contexts,
138
+ nativeContexts: heapStats.number_of_native_contexts
139
+ },
140
+ v8HeapSpaces: heapSpaceStats?.map((space) => ({
141
+ name: space.space_name,
142
+ size: space.space_size,
143
+ used: space.space_used_size,
144
+ available: space.space_available_size
145
+ })),
146
+ resourceUsage: {
147
+ maxRSS: resourceUsage.maxRSS * 1024,
148
+ userCPUTime: resourceUsage.userCPUTime,
149
+ systemCPUTime: resourceUsage.systemCPUTime
150
+ },
151
+ activeHandles,
152
+ activeRequests,
153
+ openFileDescriptors,
154
+ analysis: {
155
+ potentialLeaks,
156
+ recommendation: potentialLeaks.length > 0 ? `WARNING: ${potentialLeaks.length} potential leak indicator(s) found. See potentialLeaks array.` : "No obvious leak indicators. Check heap snapshot for retained objects."
157
+ },
158
+ smapsRollup,
159
+ platform: process.platform,
160
+ nodeVersion: process.version,
161
+ ccVersion: "2.1.888"
162
+ };
163
+ }
164
+ async function performHeapDump(trigger = "manual", dumpNumber = 0) {
165
+ try {
166
+ const sessionId = getSessionId();
167
+ const diagnostics = await captureMemoryDiagnostics(trigger, dumpNumber);
168
+ const toGB = (bytes) => (bytes / 1024 / 1024 / 1024).toFixed(3);
169
+ logForDebugging(`[HeapDump] Memory state:
170
+ heapUsed: ${toGB(diagnostics.memoryUsage.heapUsed)} GB (in snapshot)
171
+ external: ${toGB(diagnostics.memoryUsage.external)} GB (NOT in snapshot)
172
+ rss: ${toGB(diagnostics.memoryUsage.rss)} GB (total process)
173
+ ${diagnostics.analysis.recommendation}`);
174
+ const dumpDir = getDesktopPath();
175
+ await getFsImplementation().mkdir(dumpDir);
176
+ const suffix = dumpNumber > 0 ? `-dump${dumpNumber}` : "";
177
+ const heapFilename = `${sessionId}${suffix}.heapsnapshot`;
178
+ const diagFilename = `${sessionId}${suffix}-diagnostics.json`;
179
+ const heapPath = join(dumpDir, heapFilename);
180
+ const diagPath = join(dumpDir, diagFilename);
181
+ await writeFile(diagPath, jsonStringify(diagnostics, null, 2), {
182
+ mode: 384
183
+ });
184
+ logForDebugging(`[HeapDump] Diagnostics written to ${diagPath}`);
185
+ await writeHeapSnapshot(heapPath);
186
+ logForDebugging(`[HeapDump] Heap dump written to ${heapPath}`);
187
+ logEvent("tengu_heap_dump", {
188
+ triggerManual: trigger === "manual",
189
+ triggerAuto15GB: trigger === "auto-1.5GB",
190
+ dumpNumber,
191
+ success: true
192
+ });
193
+ return { success: true, heapPath, diagPath };
194
+ } catch (err) {
195
+ const error = toError(err);
196
+ logError(error);
197
+ logEvent("tengu_heap_dump", {
198
+ triggerManual: trigger === "manual",
199
+ triggerAuto15GB: trigger === "auto-1.5GB",
200
+ dumpNumber,
201
+ success: false
202
+ });
203
+ return { success: false, error: error.message };
204
+ }
205
+ }
206
+ async function writeHeapSnapshot(filepath) {
207
+ if (typeof Bun !== "undefined") {
208
+ writeFileSync(filepath, Bun.generateHeapSnapshot("v8", "arraybuffer"), {
209
+ mode: 384
210
+ });
211
+ Bun.gc(true);
212
+ return;
213
+ }
214
+ const writeStream = createWriteStream(filepath, { mode: 384 });
215
+ const heapSnapshotStream = getHeapSnapshot();
216
+ await pipeline(heapSnapshotStream, writeStream);
217
+ }
218
+ var init_heapDumpService = __esm(() => {
219
+ init_state();
220
+ init_analytics();
221
+ init_debug();
222
+ init_errors();
223
+ init_file();
224
+ init_fsOperations();
225
+ init_log();
226
+ init_slowOperations();
227
+ });
228
+
229
+ // src/commands/heapdump/heapdump.ts
230
+ async function call() {
231
+ const result = await performHeapDump();
232
+ if (!result.success) {
233
+ return {
234
+ type: "text",
235
+ value: `Failed to create heap dump: ${result.error}`
236
+ };
237
+ }
238
+ return {
239
+ type: "text",
240
+ value: `${result.heapPath}
241
+ ${result.diagPath}`
242
+ };
243
+ }
244
+ var init_heapdump = __esm(() => {
245
+ init_heapDumpService();
246
+ });
247
+ init_heapdump();
248
+
249
+ export {
250
+ call
251
+ };
@@ -0,0 +1,39 @@
1
+ // @bun
2
+ import {
3
+ clearBetaHeaderLatches,
4
+ clearSystemPromptSectionState,
5
+ getSystemPromptSectionCache,
6
+ init_state,
7
+ setSystemPromptSectionCacheEntry
8
+ } from "./chunk-k8vp0atq.js";
9
+ import {
10
+ __esm
11
+ } from "./chunk-qp2qdcda.js";
12
+
13
+ // src/constants/systemPromptSections.ts
14
+ function systemPromptSection(name, compute) {
15
+ return { name, compute, cacheBreak: false };
16
+ }
17
+ function DANGEROUS_uncachedSystemPromptSection(name, compute, _reason) {
18
+ return { name, compute, cacheBreak: true };
19
+ }
20
+ async function resolveSystemPromptSections(sections) {
21
+ const cache = getSystemPromptSectionCache();
22
+ return Promise.all(sections.map(async (s) => {
23
+ if (!s.cacheBreak && cache.has(s.name)) {
24
+ return cache.get(s.name) ?? null;
25
+ }
26
+ const value = await s.compute();
27
+ setSystemPromptSectionCacheEntry(s.name, value);
28
+ return value;
29
+ }));
30
+ }
31
+ function clearSystemPromptSections() {
32
+ clearSystemPromptSectionState();
33
+ clearBetaHeaderLatches();
34
+ }
35
+ var init_systemPromptSections = __esm(() => {
36
+ init_state();
37
+ });
38
+
39
+ export { systemPromptSection, DANGEROUS_uncachedSystemPromptSection, resolveSystemPromptSections, clearSystemPromptSections, init_systemPromptSections };
@@ -0,0 +1,394 @@
1
+ // @bun
2
+ import"./chunk-4hv90qcz.js";
3
+ import {
4
+ getSecureSocketPath,
5
+ getSocketDir,
6
+ init_common
7
+ } from "./chunk-wayfjcwt.js";
8
+ import"./chunk-xp61y5ba.js";
9
+ import {
10
+ init_lazySchema,
11
+ lazySchema
12
+ } from "./chunk-64c1avct.js";
13
+ import {
14
+ exports_external
15
+ } from "./chunk-d7886r6a.js";
16
+ import"./chunk-3c25bcsw.js";
17
+ import"./chunk-70eey1nh.js";
18
+ import"./chunk-1nk93fqz.js";
19
+ import"./chunk-s8kj6ajy.js";
20
+ import"./chunk-eenq3avg.js";
21
+ import"./chunk-7mqab3z7.js";
22
+ import"./chunk-5z28bqne.js";
23
+ import"./chunk-qajrkk97.js";
24
+ import {
25
+ init_slowOperations,
26
+ jsonParse,
27
+ jsonStringify
28
+ } from "./chunk-phd1qfpc.js";
29
+ import"./chunk-fbv4apne.js";
30
+ import"./chunk-jaaxk89e.js";
31
+ import"./chunk-k8vp0atq.js";
32
+ import"./chunk-vf612n57.js";
33
+ import"./chunk-07069jq1.js";
34
+ import"./chunk-d4mdda98.js";
35
+ import"./chunk-7wm5s02e.js";
36
+ import"./chunk-qp2qdcda.js";
37
+
38
+ // src/utils/claudeInChrome/chromeNativeHost.ts
39
+ import {
40
+ appendFile,
41
+ chmod,
42
+ mkdir,
43
+ readdir,
44
+ rmdir,
45
+ stat,
46
+ unlink
47
+ } from "fs/promises";
48
+ import { createServer } from "net";
49
+ import { homedir, platform } from "os";
50
+ import { join } from "path";
51
+ init_lazySchema();
52
+ init_slowOperations();
53
+ init_common();
54
+ var VERSION = "1.0.0";
55
+ var MAX_MESSAGE_SIZE = 1024 * 1024;
56
+ var LOG_FILE = process.env.USER_TYPE === "ant" ? join(homedir(), ".claude", "debug", "chrome-native-host.txt") : undefined;
57
+ function log(message, ...args) {
58
+ if (LOG_FILE) {
59
+ const timestamp = new Date().toISOString();
60
+ const formattedArgs = args.length > 0 ? " " + jsonStringify(args) : "";
61
+ const logLine = `[${timestamp}] [Claude Chrome Native Host] ${message}${formattedArgs}
62
+ `;
63
+ appendFile(LOG_FILE, logLine).catch(() => {});
64
+ }
65
+ console.error(`[Claude Chrome Native Host] ${message}`, ...args);
66
+ }
67
+ function sendChromeMessage(message) {
68
+ const jsonBytes = Buffer.from(message, "utf-8");
69
+ const lengthBuffer = Buffer.alloc(4);
70
+ lengthBuffer.writeUInt32LE(jsonBytes.length, 0);
71
+ process.stdout.write(lengthBuffer);
72
+ process.stdout.write(jsonBytes);
73
+ }
74
+ async function runChromeNativeHost() {
75
+ log("Initializing...");
76
+ const host = new ChromeNativeHost;
77
+ const messageReader = new ChromeMessageReader;
78
+ await host.start();
79
+ while (true) {
80
+ const message = await messageReader.read();
81
+ if (message === null) {
82
+ break;
83
+ }
84
+ await host.handleMessage(message);
85
+ }
86
+ await host.stop();
87
+ }
88
+ var messageSchema = lazySchema(() => exports_external.object({
89
+ type: exports_external.string()
90
+ }).passthrough());
91
+
92
+ class ChromeNativeHost {
93
+ mcpClients = new Map;
94
+ nextClientId = 1;
95
+ server = null;
96
+ running = false;
97
+ socketPath = null;
98
+ async start() {
99
+ if (this.running) {
100
+ return;
101
+ }
102
+ this.socketPath = getSecureSocketPath();
103
+ if (platform() !== "win32") {
104
+ const socketDir = getSocketDir();
105
+ try {
106
+ const dirStats = await stat(socketDir);
107
+ if (!dirStats.isDirectory()) {
108
+ await unlink(socketDir);
109
+ }
110
+ } catch {}
111
+ await mkdir(socketDir, { recursive: true, mode: 448 });
112
+ await chmod(socketDir, 448).catch(() => {});
113
+ try {
114
+ const files = await readdir(socketDir);
115
+ for (const file of files) {
116
+ if (!file.endsWith(".sock")) {
117
+ continue;
118
+ }
119
+ const pid = parseInt(file.replace(".sock", ""), 10);
120
+ if (isNaN(pid)) {
121
+ continue;
122
+ }
123
+ try {
124
+ process.kill(pid, 0);
125
+ } catch {
126
+ await unlink(join(socketDir, file)).catch(() => {});
127
+ log(`Removed stale socket for PID ${pid}`);
128
+ }
129
+ }
130
+ } catch {}
131
+ }
132
+ log(`Creating socket listener: ${this.socketPath}`);
133
+ this.server = createServer((socket) => this.handleMcpClient(socket));
134
+ await new Promise((resolve, reject) => {
135
+ this.server.listen(this.socketPath, () => {
136
+ log("Socket server listening for connections");
137
+ this.running = true;
138
+ resolve();
139
+ });
140
+ this.server.on("error", (err) => {
141
+ log("Socket server error:", err);
142
+ reject(err);
143
+ });
144
+ });
145
+ if (platform() !== "win32") {
146
+ try {
147
+ await chmod(this.socketPath, 384);
148
+ log("Socket permissions set to 0600");
149
+ } catch (e) {
150
+ log("Failed to set socket permissions:", e);
151
+ }
152
+ }
153
+ }
154
+ async stop() {
155
+ if (!this.running) {
156
+ return;
157
+ }
158
+ for (const [, client] of this.mcpClients) {
159
+ client.socket.destroy();
160
+ }
161
+ this.mcpClients.clear();
162
+ if (this.server) {
163
+ await new Promise((resolve) => {
164
+ this.server.close(() => resolve());
165
+ });
166
+ this.server = null;
167
+ }
168
+ if (platform() !== "win32" && this.socketPath) {
169
+ try {
170
+ await unlink(this.socketPath);
171
+ log("Cleaned up socket file");
172
+ } catch {}
173
+ try {
174
+ const socketDir = getSocketDir();
175
+ const remaining = await readdir(socketDir);
176
+ if (remaining.length === 0) {
177
+ await rmdir(socketDir);
178
+ log("Removed empty socket directory");
179
+ }
180
+ } catch {}
181
+ }
182
+ this.running = false;
183
+ }
184
+ async isRunning() {
185
+ return this.running;
186
+ }
187
+ async getClientCount() {
188
+ return this.mcpClients.size;
189
+ }
190
+ async handleMessage(messageJson) {
191
+ let rawMessage;
192
+ try {
193
+ rawMessage = jsonParse(messageJson);
194
+ } catch (e) {
195
+ log("Invalid JSON from Chrome:", e.message);
196
+ sendChromeMessage(jsonStringify({
197
+ type: "error",
198
+ error: "Invalid message format"
199
+ }));
200
+ return;
201
+ }
202
+ const parsed = messageSchema().safeParse(rawMessage);
203
+ if (!parsed.success) {
204
+ log("Invalid message from Chrome:", parsed.error.message);
205
+ sendChromeMessage(jsonStringify({
206
+ type: "error",
207
+ error: "Invalid message format"
208
+ }));
209
+ return;
210
+ }
211
+ const message = parsed.data;
212
+ log(`Handling Chrome message type: ${message.type}`);
213
+ switch (message.type) {
214
+ case "ping":
215
+ log("Responding to ping");
216
+ sendChromeMessage(jsonStringify({
217
+ type: "pong",
218
+ timestamp: Date.now()
219
+ }));
220
+ break;
221
+ case "get_status":
222
+ sendChromeMessage(jsonStringify({
223
+ type: "status_response",
224
+ native_host_version: VERSION
225
+ }));
226
+ break;
227
+ case "tool_response": {
228
+ if (this.mcpClients.size > 0) {
229
+ log(`Forwarding tool response to ${this.mcpClients.size} MCP clients`);
230
+ const { type: _, ...data } = message;
231
+ const responseData = Buffer.from(jsonStringify(data), "utf-8");
232
+ const lengthBuffer = Buffer.alloc(4);
233
+ lengthBuffer.writeUInt32LE(responseData.length, 0);
234
+ const responseMsg = Buffer.concat([lengthBuffer, responseData]);
235
+ for (const [id, client] of this.mcpClients) {
236
+ try {
237
+ client.socket.write(responseMsg);
238
+ } catch (e) {
239
+ log(`Failed to send to MCP client ${id}:`, e);
240
+ }
241
+ }
242
+ }
243
+ break;
244
+ }
245
+ case "notification": {
246
+ if (this.mcpClients.size > 0) {
247
+ log(`Forwarding notification to ${this.mcpClients.size} MCP clients`);
248
+ const { type: _, ...data } = message;
249
+ const notificationData = Buffer.from(jsonStringify(data), "utf-8");
250
+ const lengthBuffer = Buffer.alloc(4);
251
+ lengthBuffer.writeUInt32LE(notificationData.length, 0);
252
+ const notificationMsg = Buffer.concat([
253
+ lengthBuffer,
254
+ notificationData
255
+ ]);
256
+ for (const [id, client] of this.mcpClients) {
257
+ try {
258
+ client.socket.write(notificationMsg);
259
+ } catch (e) {
260
+ log(`Failed to send notification to MCP client ${id}:`, e);
261
+ }
262
+ }
263
+ }
264
+ break;
265
+ }
266
+ default:
267
+ log(`Unknown message type: ${message.type}`);
268
+ sendChromeMessage(jsonStringify({
269
+ type: "error",
270
+ error: `Unknown message type: ${message.type}`
271
+ }));
272
+ }
273
+ }
274
+ handleMcpClient(socket) {
275
+ const clientId = this.nextClientId++;
276
+ const client = {
277
+ id: clientId,
278
+ socket,
279
+ buffer: Buffer.alloc(0)
280
+ };
281
+ this.mcpClients.set(clientId, client);
282
+ log(`MCP client ${clientId} connected. Total clients: ${this.mcpClients.size}`);
283
+ sendChromeMessage(jsonStringify({
284
+ type: "mcp_connected"
285
+ }));
286
+ socket.on("data", (data) => {
287
+ client.buffer = Buffer.concat([client.buffer, data]);
288
+ while (client.buffer.length >= 4) {
289
+ const length = client.buffer.readUInt32LE(0);
290
+ if (length === 0 || length > MAX_MESSAGE_SIZE) {
291
+ log(`Invalid message length from MCP client ${clientId}: ${length}`);
292
+ socket.destroy();
293
+ return;
294
+ }
295
+ if (client.buffer.length < 4 + length) {
296
+ break;
297
+ }
298
+ const messageBytes = client.buffer.slice(4, 4 + length);
299
+ client.buffer = client.buffer.slice(4 + length);
300
+ try {
301
+ const request = jsonParse(messageBytes.toString("utf-8"));
302
+ log(`Forwarding tool request from MCP client ${clientId}: ${request.method}`);
303
+ sendChromeMessage(jsonStringify({
304
+ type: "tool_request",
305
+ method: request.method,
306
+ params: request.params
307
+ }));
308
+ } catch (e) {
309
+ log(`Failed to parse tool request from MCP client ${clientId}:`, e);
310
+ }
311
+ }
312
+ });
313
+ socket.on("error", (err) => {
314
+ log(`MCP client ${clientId} error: ${err}`);
315
+ });
316
+ socket.on("close", () => {
317
+ log(`MCP client ${clientId} disconnected. Remaining clients: ${this.mcpClients.size - 1}`);
318
+ this.mcpClients.delete(clientId);
319
+ sendChromeMessage(jsonStringify({
320
+ type: "mcp_disconnected"
321
+ }));
322
+ });
323
+ }
324
+ }
325
+
326
+ class ChromeMessageReader {
327
+ buffer = Buffer.alloc(0);
328
+ pendingResolve = null;
329
+ closed = false;
330
+ constructor() {
331
+ process.stdin.on("data", (chunk) => {
332
+ this.buffer = Buffer.concat([this.buffer, chunk]);
333
+ this.tryProcessMessage();
334
+ });
335
+ process.stdin.on("end", () => {
336
+ this.closed = true;
337
+ if (this.pendingResolve) {
338
+ this.pendingResolve(null);
339
+ this.pendingResolve = null;
340
+ }
341
+ });
342
+ process.stdin.on("error", () => {
343
+ this.closed = true;
344
+ if (this.pendingResolve) {
345
+ this.pendingResolve(null);
346
+ this.pendingResolve = null;
347
+ }
348
+ });
349
+ }
350
+ tryProcessMessage() {
351
+ if (!this.pendingResolve) {
352
+ return;
353
+ }
354
+ if (this.buffer.length < 4) {
355
+ return;
356
+ }
357
+ const length = this.buffer.readUInt32LE(0);
358
+ if (length === 0 || length > MAX_MESSAGE_SIZE) {
359
+ log(`Invalid message length: ${length}`);
360
+ this.pendingResolve(null);
361
+ this.pendingResolve = null;
362
+ return;
363
+ }
364
+ if (this.buffer.length < 4 + length) {
365
+ return;
366
+ }
367
+ const messageBytes = this.buffer.subarray(4, 4 + length);
368
+ this.buffer = this.buffer.subarray(4 + length);
369
+ const message = messageBytes.toString("utf-8");
370
+ this.pendingResolve(message);
371
+ this.pendingResolve = null;
372
+ }
373
+ async read() {
374
+ if (this.closed) {
375
+ return null;
376
+ }
377
+ if (this.buffer.length >= 4) {
378
+ const length = this.buffer.readUInt32LE(0);
379
+ if (length > 0 && length <= MAX_MESSAGE_SIZE && this.buffer.length >= 4 + length) {
380
+ const messageBytes = this.buffer.subarray(4, 4 + length);
381
+ this.buffer = this.buffer.subarray(4 + length);
382
+ return messageBytes.toString("utf-8");
383
+ }
384
+ }
385
+ return new Promise((resolve) => {
386
+ this.pendingResolve = resolve;
387
+ this.tryProcessMessage();
388
+ });
389
+ }
390
+ }
391
+ export {
392
+ sendChromeMessage,
393
+ runChromeNativeHost
394
+ };