@jdi-code/claude-code 1.0.3

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 (459) hide show
  1. package/README.md +437 -0
  2. package/dist/chunk-05gxvwvf.js +692 -0
  3. package/dist/chunk-06saje2v.js +39 -0
  4. package/dist/chunk-0731m51q.js +8 -0
  5. package/dist/chunk-0e1xsncc.js +969 -0
  6. package/dist/chunk-0gemty6d.js +70 -0
  7. package/dist/chunk-0nt9md2b.js +216 -0
  8. package/dist/chunk-0nz8sqg4.js +8960 -0
  9. package/dist/chunk-0paqc2yw.js +15 -0
  10. package/dist/chunk-0pjw8y9z.js +2833 -0
  11. package/dist/chunk-0ragr30c.js +4389 -0
  12. package/dist/chunk-0vkfrmqm.js +690 -0
  13. package/dist/chunk-0vvej174.js +38 -0
  14. package/dist/chunk-0w63x62y.js +145 -0
  15. package/dist/chunk-0xjaqda8.js +1124 -0
  16. package/dist/chunk-0xn1zr3e.js +5018 -0
  17. package/dist/chunk-1141xmr4.js +8 -0
  18. package/dist/chunk-1a61g8t2.js +287 -0
  19. package/dist/chunk-1c8z1b5v.js +16 -0
  20. package/dist/chunk-1cbn5kxf.js +7 -0
  21. package/dist/chunk-1ebedmba.js +90 -0
  22. package/dist/chunk-1h2famwb.js +49 -0
  23. package/dist/chunk-1jrcb7cs.js +165 -0
  24. package/dist/chunk-1n1xqxv5.js +3353 -0
  25. package/dist/chunk-1rnkpxy4.js +227 -0
  26. package/dist/chunk-1rvz0433.js +722 -0
  27. package/dist/chunk-1wfb8e3m.js +107 -0
  28. package/dist/chunk-1x2wb3tc.js +542 -0
  29. package/dist/chunk-1xkekb9y.js +19 -0
  30. package/dist/chunk-238g70xa.js +36 -0
  31. package/dist/chunk-27xc1csx.js +104 -0
  32. package/dist/chunk-28r6z9br.js +28 -0
  33. package/dist/chunk-2a42s11t.js +412 -0
  34. package/dist/chunk-2eykm0j0.js +20 -0
  35. package/dist/chunk-2gzv8nrw.js +205 -0
  36. package/dist/chunk-2k995y2x.js +880 -0
  37. package/dist/chunk-2md1yavs.js +248 -0
  38. package/dist/chunk-2nayx6q1.js +63 -0
  39. package/dist/chunk-2qjywwq4.js +3445 -0
  40. package/dist/chunk-2tw2ve8h.js +145 -0
  41. package/dist/chunk-2y37w6dg.js +41 -0
  42. package/dist/chunk-2y659zbj.js +103 -0
  43. package/dist/chunk-30rst83v.js +168 -0
  44. package/dist/chunk-35x3tjnr.js +59 -0
  45. package/dist/chunk-3be7ka25.js +56 -0
  46. package/dist/chunk-3c25bcsw.js +17 -0
  47. package/dist/chunk-3gqdqmzb.js +75 -0
  48. package/dist/chunk-3h8a89gy.js +46 -0
  49. package/dist/chunk-3r24h7t6.js +113 -0
  50. package/dist/chunk-3sagmdbp.js +276 -0
  51. package/dist/chunk-3sdp7ds7.js +338 -0
  52. package/dist/chunk-3vzs2gbq.js +87 -0
  53. package/dist/chunk-3w6s9m5w.js +16 -0
  54. package/dist/chunk-3z6rf0m3.js +220 -0
  55. package/dist/chunk-40b8p5em.js +287 -0
  56. package/dist/chunk-41md7gny.js +91 -0
  57. package/dist/chunk-44fpr6jq.js +434 -0
  58. package/dist/chunk-455a8z6g.js +1529 -0
  59. package/dist/chunk-4589pec2.js +102 -0
  60. package/dist/chunk-45kxdsp8.js +444 -0
  61. package/dist/chunk-45m062tx.js +2058 -0
  62. package/dist/chunk-48z7dgy1.js +281 -0
  63. package/dist/chunk-495d85x1.js +8066 -0
  64. package/dist/chunk-4anyx5bv.js +38 -0
  65. package/dist/chunk-4br37gsw.js +107 -0
  66. package/dist/chunk-4g3v8y12.js +23 -0
  67. package/dist/chunk-4jm600zv.js +13 -0
  68. package/dist/chunk-4kxr1pwz.js +654 -0
  69. package/dist/chunk-4nfrc6sq.js +2431 -0
  70. package/dist/chunk-4pdedeb4.js +2644 -0
  71. package/dist/chunk-4qv4z794.js +88 -0
  72. package/dist/chunk-4t7n5hfg.js +173 -0
  73. package/dist/chunk-4tyxyfsv.js +20 -0
  74. package/dist/chunk-4wzyhqbt.js +444 -0
  75. package/dist/chunk-4zfkzkt6.js +37 -0
  76. package/dist/chunk-4zsw4fhp.js +67 -0
  77. package/dist/chunk-52wv09zw.js +102 -0
  78. package/dist/chunk-53nbpp47.js +17055 -0
  79. package/dist/chunk-55sfqnz4.js +1921 -0
  80. package/dist/chunk-55wgxwa9.js +13877 -0
  81. package/dist/chunk-5cd9cptq.js +110 -0
  82. package/dist/chunk-5dbar61y.js +265 -0
  83. package/dist/chunk-5dbk24zg.js +890 -0
  84. package/dist/chunk-5frcqxsv.js +172285 -0
  85. package/dist/chunk-5ndexvh1.js +40764 -0
  86. package/dist/chunk-5q7c8vt9.js +94 -0
  87. package/dist/chunk-5qbwrz8m.js +458 -0
  88. package/dist/chunk-5tfppbkq.js +55 -0
  89. package/dist/chunk-5xz7ts0k.js +726 -0
  90. package/dist/chunk-60xyrp86.js +117 -0
  91. package/dist/chunk-67kbbt9h.js +100 -0
  92. package/dist/chunk-6bd8brc4.js +48 -0
  93. package/dist/chunk-6deqb0mc.js +376 -0
  94. package/dist/chunk-6dj5t602.js +341 -0
  95. package/dist/chunk-6fjab2dp.js +62 -0
  96. package/dist/chunk-6g62sjpf.js +328 -0
  97. package/dist/chunk-6gr3c3w9.js +378 -0
  98. package/dist/chunk-6h9zcxaa.js +140 -0
  99. package/dist/chunk-6kpbgc5w.js +23 -0
  100. package/dist/chunk-6mapphaq.js +208 -0
  101. package/dist/chunk-6n2qgm9v.js +8 -0
  102. package/dist/chunk-6ndpfxcn.js +222 -0
  103. package/dist/chunk-6tq2v3rk.js +186 -0
  104. package/dist/chunk-70qb5sds.js +61 -0
  105. package/dist/chunk-720qpv6d.js +2336 -0
  106. package/dist/chunk-72p24c9k.js +534 -0
  107. package/dist/chunk-73rpbt04.js +1947 -0
  108. package/dist/chunk-74v9z7z4.js +50 -0
  109. package/dist/chunk-760252na.js +101 -0
  110. package/dist/chunk-7739pg2c.js +4261 -0
  111. package/dist/chunk-77czbpcq.js +472 -0
  112. package/dist/chunk-77g09znh.js +391 -0
  113. package/dist/chunk-7aw745vx.js +40175 -0
  114. package/dist/chunk-7d2700y8.js +650 -0
  115. package/dist/chunk-7jma9mhn.js +257 -0
  116. package/dist/chunk-7m2nd8da.js +110 -0
  117. package/dist/chunk-7nvpa5ex.js +123 -0
  118. package/dist/chunk-7sb5axvf.js +122 -0
  119. package/dist/chunk-7va8tw32.js +128 -0
  120. package/dist/chunk-7wm5s02e.js +216 -0
  121. package/dist/chunk-7ymfj7m3.js +151 -0
  122. package/dist/chunk-7z3tkgec.js +66 -0
  123. package/dist/chunk-7z8j9qfn.js +121 -0
  124. package/dist/chunk-83hfzbx3.js +10 -0
  125. package/dist/chunk-8440dz44.js +266 -0
  126. package/dist/chunk-893mewv4.js +98 -0
  127. package/dist/chunk-8bedvdm1.js +32 -0
  128. package/dist/chunk-8bw3ft0x.js +81 -0
  129. package/dist/chunk-8e8set87.js +281 -0
  130. package/dist/chunk-8fg1egbv.js +107 -0
  131. package/dist/chunk-8hq5kk3y.js +44 -0
  132. package/dist/chunk-8ngxagxq.js +18 -0
  133. package/dist/chunk-8thd6sgk.js +106 -0
  134. package/dist/chunk-8tnsngw2.js +31 -0
  135. package/dist/chunk-8y12jxg8.js +10 -0
  136. package/dist/chunk-8ymf4e6z.js +48 -0
  137. package/dist/chunk-8ytkb7k9.js +84 -0
  138. package/dist/chunk-8yx1trkj.js +438 -0
  139. package/dist/chunk-90wp6wez.js +10510 -0
  140. package/dist/chunk-91rcbmch.js +440 -0
  141. package/dist/chunk-96awg5tc.js +276 -0
  142. package/dist/chunk-99t8enmg.js +476 -0
  143. package/dist/chunk-9e2kqv5g.js +125 -0
  144. package/dist/chunk-9ewmqkgb.js +862 -0
  145. package/dist/chunk-9f7xza5r.js +253 -0
  146. package/dist/chunk-9gbamk79.js +93 -0
  147. package/dist/chunk-9gttd1xq.js +229 -0
  148. package/dist/chunk-9s5nkgsg.js +699 -0
  149. package/dist/chunk-9wce9hrc.js +1015 -0
  150. package/dist/chunk-9wm5e9e9.js +154 -0
  151. package/dist/chunk-9xmsmn93.js +275 -0
  152. package/dist/chunk-9y91z69v.js +44 -0
  153. package/dist/chunk-a7mq5r2z.js +41 -0
  154. package/dist/chunk-a8ejc632.js +3094 -0
  155. package/dist/chunk-a9vdeb6y.js +258 -0
  156. package/dist/chunk-a9zh40sj.js +48 -0
  157. package/dist/chunk-ae76ded0.js +30 -0
  158. package/dist/chunk-amhzxqj4.js +22 -0
  159. package/dist/chunk-ax83mpvw.js +250 -0
  160. package/dist/chunk-b0eez8w0.js +169 -0
  161. package/dist/chunk-b4wg70y1.js +54 -0
  162. package/dist/chunk-b57sb1dw.js +642 -0
  163. package/dist/chunk-b6av9ny9.js +765 -0
  164. package/dist/chunk-b74ht3xj.js +177 -0
  165. package/dist/chunk-bg3mt9bm.js +28 -0
  166. package/dist/chunk-bhdt6k7w.js +15 -0
  167. package/dist/chunk-bm1qb16p.js +17 -0
  168. package/dist/chunk-bqfnp99q.js +477 -0
  169. package/dist/chunk-bsbmmfyt.js +17 -0
  170. package/dist/chunk-bw9a5v0b.js +277 -0
  171. package/dist/chunk-c7q12yes.js +269 -0
  172. package/dist/chunk-cdz5yb0r.js +57 -0
  173. package/dist/chunk-cejskpky.js +307 -0
  174. package/dist/chunk-cfv996bs.js +22 -0
  175. package/dist/chunk-cgfdkzhb.js +12 -0
  176. package/dist/chunk-cha1tdry.js +95 -0
  177. package/dist/chunk-ctw5jwcd.js +213 -0
  178. package/dist/chunk-cv6y320h.js +299 -0
  179. package/dist/chunk-cvy3vntc.js +65 -0
  180. package/dist/chunk-cy2hswr1.js +15 -0
  181. package/dist/chunk-czkshaff.js +500 -0
  182. package/dist/chunk-d18z9pna.js +106 -0
  183. package/dist/chunk-d238zp4m.js +87 -0
  184. package/dist/chunk-d5d398m4.js +184 -0
  185. package/dist/chunk-d5e75scx.js +155 -0
  186. package/dist/chunk-d7q4zp2z.js +89 -0
  187. package/dist/chunk-das977za.js +306 -0
  188. package/dist/chunk-dchkdhzs.js +318 -0
  189. package/dist/chunk-df6bwb4a.js +40 -0
  190. package/dist/chunk-dgqrcy74.js +48 -0
  191. package/dist/chunk-dh1vws6m.js +21933 -0
  192. package/dist/chunk-dnh7jtpb.js +37 -0
  193. package/dist/chunk-dnk519qv.js +94 -0
  194. package/dist/chunk-dqqde43e.js +93 -0
  195. package/dist/chunk-drrw55jr.js +5802 -0
  196. package/dist/chunk-dv1wfr85.js +6373 -0
  197. package/dist/chunk-dy4ayw0p.js +522 -0
  198. package/dist/chunk-e2yv57c2.js +780 -0
  199. package/dist/chunk-e3g8q4cn.js +1646 -0
  200. package/dist/chunk-e4ak3jfc.js +1154 -0
  201. package/dist/chunk-e4vsvf0r.js +83 -0
  202. package/dist/chunk-e5ga3s0y.js +1188 -0
  203. package/dist/chunk-e5pntxye.js +37 -0
  204. package/dist/chunk-e5tfw9f7.js +604 -0
  205. package/dist/chunk-e64spn53.js +283 -0
  206. package/dist/chunk-e7393td6.js +42 -0
  207. package/dist/chunk-e8pk14j0.js +527 -0
  208. package/dist/chunk-eashsrsv.js +88 -0
  209. package/dist/chunk-eb90vwvr.js +152 -0
  210. package/dist/chunk-edg1yhec.js +32 -0
  211. package/dist/chunk-eh8h36nt.js +80 -0
  212. package/dist/chunk-ehtwnxpg.js +1591 -0
  213. package/dist/chunk-ep47dy22.js +198 -0
  214. package/dist/chunk-eqp1rfft.js +17 -0
  215. package/dist/chunk-eqrh0yjm.js +32 -0
  216. package/dist/chunk-ese2g7hc.js +92 -0
  217. package/dist/chunk-et4jnyb5.js +713 -0
  218. package/dist/chunk-ewadzrm8.js +103 -0
  219. package/dist/chunk-ey03t39w.js +822 -0
  220. package/dist/chunk-f1rrxxcf.js +432 -0
  221. package/dist/chunk-f2mhrmww.js +62 -0
  222. package/dist/chunk-f5ma3nh5.js +3436 -0
  223. package/dist/chunk-fbv4apne.js +51 -0
  224. package/dist/chunk-fdy0651p.js +212 -0
  225. package/dist/chunk-fj4hkg6k.js +691 -0
  226. package/dist/chunk-fpjeh2em.js +86 -0
  227. package/dist/chunk-fqc5mcw7.js +4521 -0
  228. package/dist/chunk-frsyts9j.js +1170 -0
  229. package/dist/chunk-ft2jssz4.js +424 -0
  230. package/dist/chunk-fw49pe3p.js +726 -0
  231. package/dist/chunk-fyc5fepv.js +10 -0
  232. package/dist/chunk-g0j0t6qk.js +26 -0
  233. package/dist/chunk-g338npwr.js +1061 -0
  234. package/dist/chunk-g3t0act8.js +8 -0
  235. package/dist/chunk-g41hzcy2.js +101 -0
  236. package/dist/chunk-g653q217.js +802 -0
  237. package/dist/chunk-g8dr8vvj.js +111 -0
  238. package/dist/chunk-gax0fcbx.js +182 -0
  239. package/dist/chunk-gb2q3nvc.js +224 -0
  240. package/dist/chunk-gbq6jz9a.js +469 -0
  241. package/dist/chunk-gdp8wgnd.js +674 -0
  242. package/dist/chunk-gfkppe34.js +655 -0
  243. package/dist/chunk-ghmbr193.js +202 -0
  244. package/dist/chunk-gj71pd83.js +5395 -0
  245. package/dist/chunk-gjdwtdch.js +154 -0
  246. package/dist/chunk-gm2m2yba.js +99 -0
  247. package/dist/chunk-gyj242zr.js +20 -0
  248. package/dist/chunk-h0qngp9w.js +157 -0
  249. package/dist/chunk-h3fqb66h.js +301 -0
  250. package/dist/chunk-h3qa8f5w.js +790 -0
  251. package/dist/chunk-h6wtwdk0.js +908 -0
  252. package/dist/chunk-hakdhagh.js +16606 -0
  253. package/dist/chunk-hh7cmy4k.js +20 -0
  254. package/dist/chunk-hjhc4cpt.js +69 -0
  255. package/dist/chunk-hk9xz7gk.js +118 -0
  256. package/dist/chunk-hqmz36b3.js +552 -0
  257. package/dist/chunk-hr719wjg.js +144 -0
  258. package/dist/chunk-hrzerbfw.js +1299 -0
  259. package/dist/chunk-hs8ph4p8.js +8 -0
  260. package/dist/chunk-hx2tr4ep.js +7189 -0
  261. package/dist/chunk-hzhe8ygc.js +547 -0
  262. package/dist/chunk-j287ctwr.js +167 -0
  263. package/dist/chunk-j2k4p94p.js +55 -0
  264. package/dist/chunk-j3a4p81y.js +184 -0
  265. package/dist/chunk-j64ga6ta.js +8035 -0
  266. package/dist/chunk-j7gpr82p.js +105 -0
  267. package/dist/chunk-j9wpkwjj.js +644 -0
  268. package/dist/chunk-jafes477.js +29 -0
  269. package/dist/chunk-jczedp5x.js +91 -0
  270. package/dist/chunk-jd0t67a6.js +259 -0
  271. package/dist/chunk-jd32zbps.js +15 -0
  272. package/dist/chunk-jdgeec04.js +4249 -0
  273. package/dist/chunk-jgv78tv0.js +716 -0
  274. package/dist/chunk-jgyp3mzg.js +1318 -0
  275. package/dist/chunk-jhsywyw8.js +1585 -0
  276. package/dist/chunk-jnhkref0.js +30 -0
  277. package/dist/chunk-jq1kp9yy.js +90 -0
  278. package/dist/chunk-js8rvgs1.js +27 -0
  279. package/dist/chunk-jskhn7bz.js +71 -0
  280. package/dist/chunk-jx817w05.js +11 -0
  281. package/dist/chunk-jzmz18nn.js +65 -0
  282. package/dist/chunk-k0p9w03v.js +4957 -0
  283. package/dist/chunk-k48thqgp.js +1551 -0
  284. package/dist/chunk-k5aas9d3.js +6108 -0
  285. package/dist/chunk-k5bpc8d5.js +84 -0
  286. package/dist/chunk-k8jcy7mj.js +48 -0
  287. package/dist/chunk-ka22ccvm.js +1581 -0
  288. package/dist/chunk-ka6jav10.js +91 -0
  289. package/dist/chunk-kd63fbhw.js +566 -0
  290. package/dist/chunk-kkkneeg1.js +73 -0
  291. package/dist/chunk-kq6j096k.js +538 -0
  292. package/dist/chunk-kqd0e3xj.js +463 -0
  293. package/dist/chunk-kqjrsah4.js +85 -0
  294. package/dist/chunk-kwekc97v.js +18 -0
  295. package/dist/chunk-m06q12hg.js +61 -0
  296. package/dist/chunk-m21hvkn4.js +40 -0
  297. package/dist/chunk-m390jta5.js +114 -0
  298. package/dist/chunk-m44a9yfj.js +90 -0
  299. package/dist/chunk-m4edbpcz.js +268 -0
  300. package/dist/chunk-m5c8ng6v.js +328 -0
  301. package/dist/chunk-meag7bbe.js +89 -0
  302. package/dist/chunk-meefz2g4.js +1095 -0
  303. package/dist/chunk-mhqthgdg.js +208 -0
  304. package/dist/chunk-mnsrmwn8.js +604 -0
  305. package/dist/chunk-mt25echc.js +6157 -0
  306. package/dist/chunk-mzdwvbb0.js +71 -0
  307. package/dist/chunk-mzj4mtye.js +115 -0
  308. package/dist/chunk-mzy911jq.js +128 -0
  309. package/dist/chunk-n0fwapk6.js +347 -0
  310. package/dist/chunk-n0qaeaa5.js +256 -0
  311. package/dist/chunk-n1erf6kh.js +22820 -0
  312. package/dist/chunk-n7ttdtk0.js +641 -0
  313. package/dist/chunk-n8sjmqba.js +714 -0
  314. package/dist/chunk-neh2frnn.js +154 -0
  315. package/dist/chunk-nerv0jvx.js +74 -0
  316. package/dist/chunk-nka1g8f4.js +773 -0
  317. package/dist/chunk-nq0fxyxh.js +752 -0
  318. package/dist/chunk-nstbdz07.js +159 -0
  319. package/dist/chunk-nt0mgsh6.js +496 -0
  320. package/dist/chunk-nt837qt9.js +21 -0
  321. package/dist/chunk-nwcfrws3.js +273 -0
  322. package/dist/chunk-nxsh6de2.js +1711 -0
  323. package/dist/chunk-p2816w9z.js +1486 -0
  324. package/dist/chunk-p2d5nh3g.js +342 -0
  325. package/dist/chunk-p452k1xp.js +6956 -0
  326. package/dist/chunk-p7g7pf3f.js +336 -0
  327. package/dist/chunk-pa2xksyb.js +57 -0
  328. package/dist/chunk-pmjqdasm.js +10476 -0
  329. package/dist/chunk-pnhs96g8.js +140 -0
  330. package/dist/chunk-ps49ymvj.js +43 -0
  331. package/dist/chunk-ps4c75j7.js +105 -0
  332. package/dist/chunk-pwwa7s62.js +11 -0
  333. package/dist/chunk-pxrffn0w.js +246 -0
  334. package/dist/chunk-q0yg73za.js +490 -0
  335. package/dist/chunk-q25bjaev.js +15 -0
  336. package/dist/chunk-q5by3da6.js +8 -0
  337. package/dist/chunk-q5hb65kq.js +155 -0
  338. package/dist/chunk-q6av622g.js +38 -0
  339. package/dist/chunk-q6b51yc5.js +63 -0
  340. package/dist/chunk-qbmhde47.js +92 -0
  341. package/dist/chunk-qbx1rq4f.js +812 -0
  342. package/dist/chunk-qnfx3qtx.js +617 -0
  343. package/dist/chunk-qp2qdcda.js +100 -0
  344. package/dist/chunk-qp3dw7b4.js +100 -0
  345. package/dist/chunk-qqfa0dqg.js +2343 -0
  346. package/dist/chunk-qt0b9x2w.js +42 -0
  347. package/dist/chunk-qxe98jgk.js +584 -0
  348. package/dist/chunk-qz2x630m.js +49145 -0
  349. package/dist/chunk-r5k04v8g.js +176 -0
  350. package/dist/chunk-r66hz8j6.js +34 -0
  351. package/dist/chunk-r6b58y3x.js +17 -0
  352. package/dist/chunk-r7n42k56.js +756 -0
  353. package/dist/chunk-radsjrmv.js +55 -0
  354. package/dist/chunk-rckj9gd1.js +55 -0
  355. package/dist/chunk-rn0v1hk8.js +34 -0
  356. package/dist/chunk-rn4kqfvd.js +99 -0
  357. package/dist/chunk-rngmdt2v.js +97 -0
  358. package/dist/chunk-rnjbczcy.js +229 -0
  359. package/dist/chunk-rs45skes.js +123 -0
  360. package/dist/chunk-rs5e0520.js +87 -0
  361. package/dist/chunk-rzgtgtaf.js +71 -0
  362. package/dist/chunk-s0xfxkys.js +1391 -0
  363. package/dist/chunk-s274nv8k.js +8 -0
  364. package/dist/chunk-s3pzvdss.js +50 -0
  365. package/dist/chunk-s7t2e2tw.js +1493 -0
  366. package/dist/chunk-s8amjdwf.js +524 -0
  367. package/dist/chunk-sbbt0ct3.js +90 -0
  368. package/dist/chunk-sd36yzx8.js +954 -0
  369. package/dist/chunk-sdj9b9wh.js +782 -0
  370. package/dist/chunk-se7v9emp.js +130 -0
  371. package/dist/chunk-sfq65q9w.js +117 -0
  372. package/dist/chunk-spde0bf5.js +71 -0
  373. package/dist/chunk-spqaamnc.js +63 -0
  374. package/dist/chunk-src9fqj8.js +60 -0
  375. package/dist/chunk-szj5wvdy.js +28 -0
  376. package/dist/chunk-t0mnk0qp.js +105 -0
  377. package/dist/chunk-t0rgmccj.js +39 -0
  378. package/dist/chunk-t1qmy36p.js +94 -0
  379. package/dist/chunk-t36rb2a8.js +3198 -0
  380. package/dist/chunk-tdy66rf9.js +116 -0
  381. package/dist/chunk-tf40vqky.js +70 -0
  382. package/dist/chunk-tj79kfmn.js +849 -0
  383. package/dist/chunk-tjaqa99q.js +125 -0
  384. package/dist/chunk-tmcxeatp.js +116 -0
  385. package/dist/chunk-ts2p6bv1.js +224 -0
  386. package/dist/chunk-ttk5dzz8.js +25 -0
  387. package/dist/chunk-twsxz9ph.js +110 -0
  388. package/dist/chunk-v1kzp02e.js +785 -0
  389. package/dist/chunk-v1mgv1et.js +15 -0
  390. package/dist/chunk-v399mzxk.js +58 -0
  391. package/dist/chunk-v3gm2day.js +8 -0
  392. package/dist/chunk-v496te8v.js +192 -0
  393. package/dist/chunk-v7455ztd.js +164 -0
  394. package/dist/chunk-v78fj8by.js +145 -0
  395. package/dist/chunk-v9smspw2.js +4301 -0
  396. package/dist/chunk-vd2hwk8d.js +61 -0
  397. package/dist/chunk-vdbes184.js +687 -0
  398. package/dist/chunk-vdsmt7v0.js +998 -0
  399. package/dist/chunk-vest0y6x.js +3830 -0
  400. package/dist/chunk-vf3qxte3.js +93 -0
  401. package/dist/chunk-vf5sd1nq.js +12 -0
  402. package/dist/chunk-vfqe1jqj.js +643 -0
  403. package/dist/chunk-vk3270s6.js +119 -0
  404. package/dist/chunk-vp25xhav.js +374 -0
  405. package/dist/chunk-vqr58rfh.js +160 -0
  406. package/dist/chunk-vratq94g.js +349 -0
  407. package/dist/chunk-vsr9mbnq.js +195 -0
  408. package/dist/chunk-vyc0rjyx.js +31 -0
  409. package/dist/chunk-vyjeh50y.js +2149 -0
  410. package/dist/chunk-vykgfhrb.js +120 -0
  411. package/dist/chunk-w18zryr9.js +348 -0
  412. package/dist/chunk-w2z5pqd3.js +336 -0
  413. package/dist/chunk-w5ctjgmx.js +17 -0
  414. package/dist/chunk-w6q6a1qj.js +3038 -0
  415. package/dist/chunk-w7wgpqcp.js +157 -0
  416. package/dist/chunk-wbkahkdc.js +27 -0
  417. package/dist/chunk-wdxcgk6m.js +196 -0
  418. package/dist/chunk-wef07p3j.js +131 -0
  419. package/dist/chunk-wf4q1xj3.js +62 -0
  420. package/dist/chunk-wfz0qffj.js +3939 -0
  421. package/dist/chunk-wjq4zq3t.js +162 -0
  422. package/dist/chunk-wp4hc4n7.js +133 -0
  423. package/dist/chunk-wzpdet3m.js +843 -0
  424. package/dist/chunk-wzx6mmft.js +387 -0
  425. package/dist/chunk-x0rjttct.js +420 -0
  426. package/dist/chunk-x5j50p5x.js +120 -0
  427. package/dist/chunk-xdw5dv00.js +8 -0
  428. package/dist/chunk-xe6z85xc.js +825 -0
  429. package/dist/chunk-xf4wsjdm.js +26 -0
  430. package/dist/chunk-xk66xrkk.js +339 -0
  431. package/dist/chunk-xm8fv5c9.js +469 -0
  432. package/dist/chunk-xq5ztz4g.js +130 -0
  433. package/dist/chunk-xsq9ae7x.js +90 -0
  434. package/dist/chunk-xszk7n10.js +14358 -0
  435. package/dist/chunk-xvc4gp3x.js +606 -0
  436. package/dist/chunk-xvcdtezw.js +401 -0
  437. package/dist/chunk-y1784krc.js +19 -0
  438. package/dist/chunk-y18mc4m4.js +225 -0
  439. package/dist/chunk-y47cg3kz.js +42 -0
  440. package/dist/chunk-y7njq3z3.js +1866 -0
  441. package/dist/chunk-ycxwftfh.js +97 -0
  442. package/dist/chunk-yd3av9a3.js +16 -0
  443. package/dist/chunk-yn38f69a.js +105 -0
  444. package/dist/chunk-yp5kc8hq.js +372 -0
  445. package/dist/chunk-ywxd4qw4.js +22 -0
  446. package/dist/chunk-z09n2krq.js +752 -0
  447. package/dist/chunk-z0cm9r7f.js +9300 -0
  448. package/dist/chunk-z2dp53wn.js +17 -0
  449. package/dist/chunk-z47tm067.js +678 -0
  450. package/dist/chunk-z4dm354d.js +24 -0
  451. package/dist/chunk-z72st5c8.js +26840 -0
  452. package/dist/chunk-zerg8qwf.js +96 -0
  453. package/dist/chunk-zfc67eqj.js +173 -0
  454. package/dist/chunk-zk2wsm7d.js +15 -0
  455. package/dist/chunk-zsfxha74.js +17655 -0
  456. package/dist/chunk-zvbpaaa1.js +244 -0
  457. package/dist/chunk-zxzwfa0b.js +43 -0
  458. package/dist/cli.js +194 -0
  459. package/package.json +168 -0
@@ -0,0 +1,500 @@
1
+ // @bun
2
+ import {
3
+ _baseSlice_default,
4
+ escapeXmlAttr,
5
+ getPluginsDirectory,
6
+ init__baseSlice,
7
+ init_last,
8
+ init_pluginDirectories,
9
+ init_pluginIdentifier,
10
+ init_xml as init_xml2,
11
+ last_default,
12
+ parsePluginIdentifier
13
+ } from "./chunk-5frcqxsv.js";
14
+ import {
15
+ _overRest_default,
16
+ _setToString_default,
17
+ getClaudeAIOAuthTokens,
18
+ getFeatureValue_CACHED_MAY_BE_STALE,
19
+ getSettingsForSource,
20
+ getSubscriptionType,
21
+ init__overRest,
22
+ init__setToString,
23
+ init_auth,
24
+ init_growthbook,
25
+ init_isPlainObject,
26
+ init_settings1 as init_settings,
27
+ isPlainObject_default
28
+ } from "./chunk-53nbpp47.js";
29
+ import {
30
+ init_v4
31
+ } from "./chunk-g0j0t6qk.js";
32
+ import {
33
+ exports_external,
34
+ init_lazySchema,
35
+ lazySchema
36
+ } from "./chunk-55wgxwa9.js";
37
+ import {
38
+ CHANNEL_TAG,
39
+ init_log,
40
+ init_xml,
41
+ logError
42
+ } from "./chunk-p7g7pf3f.js";
43
+ import {
44
+ _baseClone_default,
45
+ _copyObject_default,
46
+ _getAllKeysIn_default,
47
+ getFsImplementation,
48
+ init__baseClone,
49
+ init__copyObject,
50
+ init__getAllKeysIn,
51
+ init_debug,
52
+ init_fsOperations,
53
+ init_slowOperations,
54
+ jsonParse,
55
+ jsonStringify,
56
+ logForDebugging
57
+ } from "./chunk-nxsh6de2.js";
58
+ import {
59
+ _arrayMap_default,
60
+ _arrayPush_default,
61
+ _baseGet_default,
62
+ _castPath_default,
63
+ _toKey_default,
64
+ getAllowedChannels,
65
+ init__arrayMap,
66
+ init__arrayPush,
67
+ init__baseGet,
68
+ init__castPath,
69
+ init__toKey,
70
+ init_isArguments,
71
+ init_isArray,
72
+ init_state,
73
+ isArguments_default,
74
+ isArray_default
75
+ } from "./chunk-qqfa0dqg.js";
76
+ import {
77
+ _Symbol_default,
78
+ init__Symbol
79
+ } from "./chunk-hqmz36b3.js";
80
+ import {
81
+ __esm
82
+ } from "./chunk-qp2qdcda.js";
83
+
84
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_parent.js
85
+ function parent(object, path) {
86
+ return path.length < 2 ? object : _baseGet_default(object, _baseSlice_default(path, 0, -1));
87
+ }
88
+ var _parent_default;
89
+ var init__parent = __esm(() => {
90
+ init__baseGet();
91
+ init__baseSlice();
92
+ _parent_default = parent;
93
+ });
94
+
95
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseUnset.js
96
+ function baseUnset(object, path) {
97
+ path = _castPath_default(path, object);
98
+ var index = -1, length = path.length;
99
+ if (!length) {
100
+ return true;
101
+ }
102
+ var isRootPrimitive = object == null || typeof object !== "object" && typeof object !== "function";
103
+ while (++index < length) {
104
+ var key = path[index];
105
+ if (typeof key !== "string") {
106
+ continue;
107
+ }
108
+ if (key === "__proto__" && !hasOwnProperty.call(object, "__proto__")) {
109
+ return false;
110
+ }
111
+ if (key === "constructor" && index + 1 < length && typeof path[index + 1] === "string" && path[index + 1] === "prototype") {
112
+ if (isRootPrimitive && index === 0) {
113
+ continue;
114
+ }
115
+ return false;
116
+ }
117
+ }
118
+ var obj = _parent_default(object, path);
119
+ return obj == null || delete obj[_toKey_default(last_default(path))];
120
+ }
121
+ var objectProto, hasOwnProperty, _baseUnset_default;
122
+ var init__baseUnset = __esm(() => {
123
+ init__castPath();
124
+ init_last();
125
+ init__parent();
126
+ init__toKey();
127
+ objectProto = Object.prototype;
128
+ hasOwnProperty = objectProto.hasOwnProperty;
129
+ _baseUnset_default = baseUnset;
130
+ });
131
+
132
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_customOmitClone.js
133
+ function customOmitClone(value) {
134
+ return isPlainObject_default(value) ? undefined : value;
135
+ }
136
+ var _customOmitClone_default;
137
+ var init__customOmitClone = __esm(() => {
138
+ init_isPlainObject();
139
+ _customOmitClone_default = customOmitClone;
140
+ });
141
+
142
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isFlattenable.js
143
+ function isFlattenable(value) {
144
+ return isArray_default(value) || isArguments_default(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
145
+ }
146
+ var spreadableSymbol, _isFlattenable_default;
147
+ var init__isFlattenable = __esm(() => {
148
+ init__Symbol();
149
+ init_isArguments();
150
+ init_isArray();
151
+ spreadableSymbol = _Symbol_default ? _Symbol_default.isConcatSpreadable : undefined;
152
+ _isFlattenable_default = isFlattenable;
153
+ });
154
+
155
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseFlatten.js
156
+ function baseFlatten(array, depth, predicate, isStrict, result) {
157
+ var index = -1, length = array.length;
158
+ predicate || (predicate = _isFlattenable_default);
159
+ result || (result = []);
160
+ while (++index < length) {
161
+ var value = array[index];
162
+ if (depth > 0 && predicate(value)) {
163
+ if (depth > 1) {
164
+ baseFlatten(value, depth - 1, predicate, isStrict, result);
165
+ } else {
166
+ _arrayPush_default(result, value);
167
+ }
168
+ } else if (!isStrict) {
169
+ result[result.length] = value;
170
+ }
171
+ }
172
+ return result;
173
+ }
174
+ var _baseFlatten_default;
175
+ var init__baseFlatten = __esm(() => {
176
+ init__arrayPush();
177
+ init__isFlattenable();
178
+ _baseFlatten_default = baseFlatten;
179
+ });
180
+
181
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/flatten.js
182
+ function flatten(array) {
183
+ var length = array == null ? 0 : array.length;
184
+ return length ? _baseFlatten_default(array, 1) : [];
185
+ }
186
+ var flatten_default;
187
+ var init_flatten = __esm(() => {
188
+ init__baseFlatten();
189
+ flatten_default = flatten;
190
+ });
191
+
192
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_flatRest.js
193
+ function flatRest(func) {
194
+ return _setToString_default(_overRest_default(func, undefined, flatten_default), func + "");
195
+ }
196
+ var _flatRest_default;
197
+ var init__flatRest = __esm(() => {
198
+ init_flatten();
199
+ init__overRest();
200
+ init__setToString();
201
+ _flatRest_default = flatRest;
202
+ });
203
+
204
+ // node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/omit.js
205
+ var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4, omit, omit_default;
206
+ var init_omit = __esm(() => {
207
+ init__arrayMap();
208
+ init__baseClone();
209
+ init__baseUnset();
210
+ init__castPath();
211
+ init__copyObject();
212
+ init__customOmitClone();
213
+ init__flatRest();
214
+ init__getAllKeysIn();
215
+ omit = _flatRest_default(function(object, paths) {
216
+ var result = {};
217
+ if (object == null) {
218
+ return result;
219
+ }
220
+ var isDeep = false;
221
+ paths = _arrayMap_default(paths, function(path) {
222
+ path = _castPath_default(path, object);
223
+ isDeep || (isDeep = path.length > 1);
224
+ return path;
225
+ });
226
+ _copyObject_default(object, _getAllKeysIn_default(object), result);
227
+ if (isDeep) {
228
+ result = _baseClone_default(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, _customOmitClone_default);
229
+ }
230
+ var length = paths.length;
231
+ while (length--) {
232
+ _baseUnset_default(result, paths[length]);
233
+ }
234
+ return result;
235
+ });
236
+ omit_default = omit;
237
+ });
238
+
239
+ // src/services/mcp/channelAllowlist.ts
240
+ function getChannelAllowlist() {
241
+ const raw = getFeatureValue_CACHED_MAY_BE_STALE("tengu_harbor_ledger", []);
242
+ const parsed = ChannelAllowlistSchema().safeParse(raw);
243
+ return parsed.success ? parsed.data : [];
244
+ }
245
+ function isChannelsEnabled() {
246
+ return getFeatureValue_CACHED_MAY_BE_STALE("tengu_harbor", false);
247
+ }
248
+ var ChannelAllowlistSchema;
249
+ var init_channelAllowlist = __esm(() => {
250
+ init_v4();
251
+ init_lazySchema();
252
+ init_pluginIdentifier();
253
+ init_growthbook();
254
+ ChannelAllowlistSchema = lazySchema(() => exports_external.array(exports_external.object({
255
+ marketplace: exports_external.string(),
256
+ plugin: exports_external.string()
257
+ })));
258
+ });
259
+
260
+ // src/services/mcp/channelNotification.ts
261
+ function wrapChannelMessage(serverName, content, meta) {
262
+ const attrs = Object.entries(meta ?? {}).filter(([k]) => SAFE_META_KEY.test(k)).map(([k, v]) => ` ${k}="${escapeXmlAttr(v)}"`).join("");
263
+ return `<${CHANNEL_TAG} source="${escapeXmlAttr(serverName)}"${attrs}>
264
+ ${content}
265
+ </${CHANNEL_TAG}>`;
266
+ }
267
+ function getEffectiveChannelAllowlist(sub, orgList) {
268
+ if ((sub === "team" || sub === "enterprise") && orgList) {
269
+ return { entries: orgList, source: "org" };
270
+ }
271
+ return { entries: getChannelAllowlist(), source: "ledger" };
272
+ }
273
+ function findChannelEntry(serverName, channels) {
274
+ const parts = serverName.split(":");
275
+ return channels.find((c) => c.kind === "server" ? serverName === c.name : parts[0] === "plugin" && parts[1] === c.name);
276
+ }
277
+ function gateChannelServer(serverName, capabilities, pluginSource) {
278
+ if (!capabilities?.experimental?.["claude/channel"]) {
279
+ return {
280
+ action: "skip",
281
+ kind: "capability",
282
+ reason: "server did not declare claude/channel capability"
283
+ };
284
+ }
285
+ if (!isChannelsEnabled()) {
286
+ return {
287
+ action: "skip",
288
+ kind: "disabled",
289
+ reason: "channels feature is not currently available"
290
+ };
291
+ }
292
+ if (!getClaudeAIOAuthTokens()?.accessToken) {
293
+ return {
294
+ action: "skip",
295
+ kind: "auth",
296
+ reason: "channels requires claude.ai authentication (run /login)"
297
+ };
298
+ }
299
+ const sub = getSubscriptionType();
300
+ const managed = sub === "team" || sub === "enterprise";
301
+ const policy = managed ? getSettingsForSource("policySettings") : undefined;
302
+ if (managed && policy?.channelsEnabled !== true) {
303
+ return {
304
+ action: "skip",
305
+ kind: "policy",
306
+ reason: "channels not enabled by org policy (set channelsEnabled: true in managed settings)"
307
+ };
308
+ }
309
+ const entry = findChannelEntry(serverName, getAllowedChannels());
310
+ if (!entry) {
311
+ return {
312
+ action: "skip",
313
+ kind: "session",
314
+ reason: `server ${serverName} not in --channels list for this session`
315
+ };
316
+ }
317
+ if (entry.kind === "plugin") {
318
+ const actual = pluginSource ? parsePluginIdentifier(pluginSource).marketplace : undefined;
319
+ if (actual !== entry.marketplace) {
320
+ return {
321
+ action: "skip",
322
+ kind: "marketplace",
323
+ reason: `you asked for plugin:${entry.name}@${entry.marketplace} but the installed ${entry.name} plugin is from ${actual ?? "an unknown source"}`
324
+ };
325
+ }
326
+ if (!entry.dev) {
327
+ const { entries, source } = getEffectiveChannelAllowlist(sub, policy?.allowedChannelPlugins);
328
+ if (!entries.some((e) => e.plugin === entry.name && e.marketplace === entry.marketplace)) {
329
+ return {
330
+ action: "skip",
331
+ kind: "allowlist",
332
+ reason: source === "org" ? `plugin ${entry.name}@${entry.marketplace} is not on your org's approved channels list (set allowedChannelPlugins in managed settings)` : `plugin ${entry.name}@${entry.marketplace} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`
333
+ };
334
+ }
335
+ }
336
+ } else {
337
+ if (!entry.dev) {
338
+ return {
339
+ action: "skip",
340
+ kind: "allowlist",
341
+ reason: `server ${entry.name} is not on the approved channels allowlist (use --dangerously-load-development-channels for local dev)`
342
+ };
343
+ }
344
+ }
345
+ return { action: "register" };
346
+ }
347
+ var ChannelMessageNotificationSchema, CHANNEL_PERMISSION_METHOD = "notifications/claude/channel/permission", ChannelPermissionNotificationSchema, SAFE_META_KEY;
348
+ var init_channelNotification = __esm(() => {
349
+ init_v4();
350
+ init_state();
351
+ init_xml();
352
+ init_auth();
353
+ init_lazySchema();
354
+ init_pluginIdentifier();
355
+ init_settings();
356
+ init_xml2();
357
+ init_channelAllowlist();
358
+ ChannelMessageNotificationSchema = lazySchema(() => exports_external.object({
359
+ method: exports_external.literal("notifications/claude/channel"),
360
+ params: exports_external.object({
361
+ content: exports_external.string(),
362
+ meta: exports_external.record(exports_external.string(), exports_external.string()).optional()
363
+ })
364
+ }));
365
+ ChannelPermissionNotificationSchema = lazySchema(() => exports_external.object({
366
+ method: exports_external.literal(CHANNEL_PERMISSION_METHOD),
367
+ params: exports_external.object({
368
+ request_id: exports_external.string(),
369
+ behavior: exports_external.enum(["allow", "deny"])
370
+ })
371
+ }));
372
+ SAFE_META_KEY = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
373
+ });
374
+
375
+ // src/utils/plugins/pluginFlagging.ts
376
+ import { randomBytes } from "crypto";
377
+ import { readFile, rename, unlink, writeFile } from "fs/promises";
378
+ import { join } from "path";
379
+ function getFlaggedPluginsPath() {
380
+ return join(getPluginsDirectory(), FLAGGED_PLUGINS_FILENAME);
381
+ }
382
+ function parsePluginsData(content) {
383
+ const parsed = jsonParse(content);
384
+ if (typeof parsed !== "object" || parsed === null || !("plugins" in parsed) || typeof parsed.plugins !== "object" || parsed.plugins === null) {
385
+ return {};
386
+ }
387
+ const plugins = parsed.plugins;
388
+ const result = {};
389
+ for (const [id, entry] of Object.entries(plugins)) {
390
+ if (entry && typeof entry === "object" && "flaggedAt" in entry && typeof entry.flaggedAt === "string") {
391
+ const parsed2 = {
392
+ flaggedAt: entry.flaggedAt
393
+ };
394
+ if ("seenAt" in entry && typeof entry.seenAt === "string") {
395
+ parsed2.seenAt = entry.seenAt;
396
+ }
397
+ result[id] = parsed2;
398
+ }
399
+ }
400
+ return result;
401
+ }
402
+ async function readFromDisk() {
403
+ try {
404
+ const content = await readFile(getFlaggedPluginsPath(), {
405
+ encoding: "utf-8"
406
+ });
407
+ return parsePluginsData(content);
408
+ } catch {
409
+ return {};
410
+ }
411
+ }
412
+ async function writeToDisk(plugins) {
413
+ const filePath = getFlaggedPluginsPath();
414
+ const tempPath = `${filePath}.${randomBytes(8).toString("hex")}.tmp`;
415
+ try {
416
+ await getFsImplementation().mkdir(getPluginsDirectory());
417
+ const content = jsonStringify({ plugins }, null, 2);
418
+ await writeFile(tempPath, content, {
419
+ encoding: "utf-8",
420
+ mode: 384
421
+ });
422
+ await rename(tempPath, filePath);
423
+ cache = plugins;
424
+ } catch (error) {
425
+ logError(error);
426
+ try {
427
+ await unlink(tempPath);
428
+ } catch {}
429
+ }
430
+ }
431
+ async function loadFlaggedPlugins() {
432
+ const all = await readFromDisk();
433
+ const now = Date.now();
434
+ let changed = false;
435
+ for (const [id, entry] of Object.entries(all)) {
436
+ if (entry.seenAt && now - new Date(entry.seenAt).getTime() >= SEEN_EXPIRY_MS) {
437
+ delete all[id];
438
+ changed = true;
439
+ }
440
+ }
441
+ cache = all;
442
+ if (changed) {
443
+ await writeToDisk(all);
444
+ }
445
+ }
446
+ function getFlaggedPlugins() {
447
+ return cache ?? {};
448
+ }
449
+ async function addFlaggedPlugin(pluginId) {
450
+ if (cache === null) {
451
+ cache = await readFromDisk();
452
+ }
453
+ const updated = {
454
+ ...cache,
455
+ [pluginId]: {
456
+ flaggedAt: new Date().toISOString()
457
+ }
458
+ };
459
+ await writeToDisk(updated);
460
+ logForDebugging(`Flagged plugin: ${pluginId}`);
461
+ }
462
+ async function markFlaggedPluginsSeen(pluginIds) {
463
+ if (cache === null) {
464
+ cache = await readFromDisk();
465
+ }
466
+ const now = new Date().toISOString();
467
+ let changed = false;
468
+ const updated = { ...cache };
469
+ for (const id of pluginIds) {
470
+ const entry = updated[id];
471
+ if (entry && !entry.seenAt) {
472
+ updated[id] = { ...entry, seenAt: now };
473
+ changed = true;
474
+ }
475
+ }
476
+ if (changed) {
477
+ await writeToDisk(updated);
478
+ }
479
+ }
480
+ async function removeFlaggedPlugin(pluginId) {
481
+ if (cache === null) {
482
+ cache = await readFromDisk();
483
+ }
484
+ if (!(pluginId in cache))
485
+ return;
486
+ const { [pluginId]: _, ...rest } = cache;
487
+ cache = rest;
488
+ await writeToDisk(rest);
489
+ }
490
+ var FLAGGED_PLUGINS_FILENAME = "flagged-plugins.json", SEEN_EXPIRY_MS, cache = null;
491
+ var init_pluginFlagging = __esm(() => {
492
+ init_debug();
493
+ init_fsOperations();
494
+ init_log();
495
+ init_slowOperations();
496
+ init_pluginDirectories();
497
+ SEEN_EXPIRY_MS = 48 * 60 * 60 * 1000;
498
+ });
499
+
500
+ export { omit_default, init_omit, init_channelAllowlist, ChannelMessageNotificationSchema, wrapChannelMessage, findChannelEntry, gateChannelServer, init_channelNotification, loadFlaggedPlugins, getFlaggedPlugins, addFlaggedPlugin, markFlaggedPluginsSeen, removeFlaggedPlugin, init_pluginFlagging };
@@ -0,0 +1,106 @@
1
+ // @bun
2
+ import {
3
+ L,
4
+ init_index_min
5
+ } from "./chunk-qnfx3qtx.js";
6
+ import {
7
+ init_log,
8
+ logError
9
+ } from "./chunk-p7g7pf3f.js";
10
+ import {
11
+ init_slowOperations,
12
+ jsonStringify
13
+ } from "./chunk-nxsh6de2.js";
14
+ import {
15
+ __esm
16
+ } from "./chunk-qp2qdcda.js";
17
+
18
+ // src/utils/memoize.ts
19
+ function memoizeWithTTLAsync(f, cacheLifetimeMs = 5 * 60 * 1000) {
20
+ const cache = new Map;
21
+ const inFlight = new Map;
22
+ const memoized = async (...args) => {
23
+ const key = jsonStringify(args);
24
+ const cached = cache.get(key);
25
+ const now = Date.now();
26
+ if (!cached) {
27
+ const pending = inFlight.get(key);
28
+ if (pending)
29
+ return pending;
30
+ const promise = f(...args);
31
+ inFlight.set(key, promise);
32
+ try {
33
+ const result = await promise;
34
+ if (inFlight.get(key) === promise) {
35
+ cache.set(key, {
36
+ value: result,
37
+ timestamp: now,
38
+ refreshing: false
39
+ });
40
+ }
41
+ return result;
42
+ } finally {
43
+ if (inFlight.get(key) === promise) {
44
+ inFlight.delete(key);
45
+ }
46
+ }
47
+ }
48
+ if (cached && now - cached.timestamp > cacheLifetimeMs && !cached.refreshing) {
49
+ cached.refreshing = true;
50
+ const staleEntry = cached;
51
+ f(...args).then((newValue) => {
52
+ if (cache.get(key) === staleEntry) {
53
+ cache.set(key, {
54
+ value: newValue,
55
+ timestamp: Date.now(),
56
+ refreshing: false
57
+ });
58
+ }
59
+ }).catch((e) => {
60
+ logError(e);
61
+ if (cache.get(key) === staleEntry) {
62
+ cache.delete(key);
63
+ }
64
+ });
65
+ return cached.value;
66
+ }
67
+ return cache.get(key).value;
68
+ };
69
+ memoized.cache = {
70
+ clear: () => {
71
+ cache.clear();
72
+ inFlight.clear();
73
+ }
74
+ };
75
+ return memoized;
76
+ }
77
+ function memoizeWithLRU(f, cacheFn, maxCacheSize = 100) {
78
+ const cache = new L({
79
+ max: maxCacheSize
80
+ });
81
+ const memoized = (...args) => {
82
+ const key = cacheFn(...args);
83
+ const cached = cache.get(key);
84
+ if (cached !== undefined) {
85
+ return cached;
86
+ }
87
+ const result = f(...args);
88
+ cache.set(key, result);
89
+ return result;
90
+ };
91
+ memoized.cache = {
92
+ clear: () => cache.clear(),
93
+ size: () => cache.size,
94
+ delete: (key) => cache.delete(key),
95
+ get: (key) => cache.peek(key),
96
+ has: (key) => cache.has(key)
97
+ };
98
+ return memoized;
99
+ }
100
+ var init_memoize = __esm(() => {
101
+ init_index_min();
102
+ init_log();
103
+ init_slowOperations();
104
+ });
105
+
106
+ export { memoizeWithTTLAsync, memoizeWithLRU, init_memoize };
@@ -0,0 +1,87 @@
1
+ // @bun
2
+ import {
3
+ createDisabledBypassPermissionsContext,
4
+ init_AppState,
5
+ init_permissionSetup,
6
+ shouldDisableBypassPermissions,
7
+ useAppState,
8
+ useAppStateStore,
9
+ useSetAppState
10
+ } from "./chunk-5frcqxsv.js";
11
+ import {
12
+ require_react
13
+ } from "./chunk-g338npwr.js";
14
+ import {
15
+ getIsRemoteMode,
16
+ init_state
17
+ } from "./chunk-qqfa0dqg.js";
18
+ import {
19
+ __esm,
20
+ __toESM
21
+ } from "./chunk-qp2qdcda.js";
22
+
23
+ // src/utils/permissions/bypassPermissionsKillswitch.ts
24
+ async function checkAndDisableBypassPermissionsIfNeeded(toolPermissionContext, setAppState) {
25
+ if (bypassPermissionsCheckRan) {
26
+ return;
27
+ }
28
+ bypassPermissionsCheckRan = true;
29
+ if (!toolPermissionContext.isBypassPermissionsModeAvailable) {
30
+ return;
31
+ }
32
+ const shouldDisable = await shouldDisableBypassPermissions();
33
+ if (!shouldDisable) {
34
+ return;
35
+ }
36
+ setAppState((prev) => {
37
+ return {
38
+ ...prev,
39
+ toolPermissionContext: createDisabledBypassPermissionsContext(prev.toolPermissionContext)
40
+ };
41
+ });
42
+ }
43
+ function resetBypassPermissionsCheck() {
44
+ bypassPermissionsCheckRan = false;
45
+ }
46
+ function useKickOffCheckAndDisableBypassPermissionsIfNeeded() {
47
+ const toolPermissionContext = useAppState((s) => s.toolPermissionContext);
48
+ const setAppState = useSetAppState();
49
+ import_react.useEffect(() => {
50
+ if (getIsRemoteMode())
51
+ return;
52
+ checkAndDisableBypassPermissionsIfNeeded(toolPermissionContext, setAppState);
53
+ }, []);
54
+ }
55
+ async function checkAndDisableAutoModeIfNeeded(toolPermissionContext, setAppState, fastMode) {
56
+ if (false) {}
57
+ }
58
+ function resetAutoModeGateCheck() {
59
+ autoModeCheckRan = false;
60
+ }
61
+ function useKickOffCheckAndDisableAutoModeIfNeeded() {
62
+ const mainLoopModel = useAppState((s) => s.mainLoopModel);
63
+ const mainLoopModelForSession = useAppState((s) => s.mainLoopModelForSession);
64
+ const fastMode = useAppState((s) => s.fastMode);
65
+ const setAppState = useSetAppState();
66
+ const store = useAppStateStore();
67
+ const isFirstRunRef = import_react.useRef(true);
68
+ import_react.useEffect(() => {
69
+ if (getIsRemoteMode())
70
+ return;
71
+ if (isFirstRunRef.current) {
72
+ isFirstRunRef.current = false;
73
+ } else {
74
+ resetAutoModeGateCheck();
75
+ }
76
+ checkAndDisableAutoModeIfNeeded(store.getState().toolPermissionContext, setAppState, fastMode);
77
+ }, [mainLoopModel, mainLoopModelForSession, fastMode]);
78
+ }
79
+ var import_react, bypassPermissionsCheckRan = false, autoModeCheckRan = false;
80
+ var init_bypassPermissionsKillswitch = __esm(() => {
81
+ init_AppState();
82
+ init_state();
83
+ init_permissionSetup();
84
+ import_react = __toESM(require_react(), 1);
85
+ });
86
+
87
+ export { checkAndDisableBypassPermissionsIfNeeded, resetBypassPermissionsCheck, useKickOffCheckAndDisableBypassPermissionsIfNeeded, useKickOffCheckAndDisableAutoModeIfNeeded, init_bypassPermissionsKillswitch };