claude-code-best 1.0.3 → 1.2.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 (522) hide show
  1. package/README.md +104 -369
  2. package/dist/{chunk-5wxspfct.js → chunk-01qzvbp3.js} +8 -2
  3. package/dist/chunk-053bj0m0.js +247 -0
  4. package/dist/chunk-05tt9tt1.js +653 -0
  5. package/dist/chunk-06sq1vz3.js +403 -0
  6. package/dist/chunk-07069jq1.js +30 -0
  7. package/dist/chunk-0dac8msw.js +135 -0
  8. package/dist/{chunk-52n4py3b.js → chunk-0ja0y3at.js} +6 -6
  9. package/dist/chunk-0jzdwbdc.js +14 -0
  10. package/dist/chunk-0nrq46nf.js +313 -0
  11. package/dist/chunk-0qz705wz.js +192 -0
  12. package/dist/{chunk-by7ezad6.js → chunk-0rn4v8sg.js} +42 -28
  13. package/dist/{chunk-1cbn5kxf.js → chunk-0rpb2bdp.js} +3 -2
  14. package/dist/{chunk-zz21rvr7.js → chunk-127cmycn.js} +8 -5
  15. package/dist/chunk-12vk6z7z.js +109 -0
  16. package/dist/chunk-15y014gg.js +102 -0
  17. package/dist/{chunk-44fpr6jq.js → chunk-168xb8v1.js} +4 -2
  18. package/dist/{chunk-8fmbf525.js → chunk-16bnxyz0.js} +1 -1
  19. package/dist/{chunk-wsqhnjj3.js → chunk-1atfzck5.js} +24 -24
  20. package/dist/chunk-1cbhkqxg.js +310 -0
  21. package/dist/chunk-1csq8bf1.js +295 -0
  22. package/dist/{chunk-0e1xsncc.js → chunk-1cwdhk7a.js} +1 -1
  23. package/dist/{chunk-36k3f7pn.js → chunk-1ebqpwhn.js} +79 -59
  24. package/dist/{chunk-ap2a2er6.js → chunk-1mh5vt6v.js} +102 -80
  25. package/dist/chunk-1qf125vg.js +123 -0
  26. package/dist/{chunk-fcz5eche.js → chunk-1sp6713v.js} +139 -170
  27. package/dist/{chunk-d18z9pna.js → chunk-1thgdca1.js} +2 -2
  28. package/dist/chunk-1z1gfx2c.js +443 -0
  29. package/dist/{chunk-7z8j9qfn.js → chunk-21z7acxh.js} +3 -3
  30. package/dist/chunk-229pcf6p.js +509 -0
  31. package/dist/chunk-238g70xa.js +1 -1
  32. package/dist/{chunk-vpb723tx.js → chunk-23ad5t92.js} +5 -5
  33. package/dist/chunk-28043j1k.js +68 -0
  34. package/dist/chunk-299r6d9v.js +141 -0
  35. package/dist/{chunk-5r3ak65p.js → chunk-2bw5nqsw.js} +4 -4
  36. package/dist/chunk-2mxstrx5.js +445 -0
  37. package/dist/{chunk-w2z5pqd3.js → chunk-2q39ej51.js} +6 -6
  38. package/dist/chunk-2qwgfjcj.js +5370 -0
  39. package/dist/chunk-2ss23j0q.js +3587 -0
  40. package/dist/{chunk-k9c3888e.js → chunk-2wvxddsg.js} +9 -7
  41. package/dist/chunk-2x2aznpc.js +134 -0
  42. package/dist/{chunk-bqq4zamw.js → chunk-2ys5wcxk.js} +3 -3
  43. package/dist/{chunk-2kbk09sb.js → chunk-3cvcwgsr.js} +79 -59
  44. package/dist/{chunk-rs45skes.js → chunk-3xv7rjsy.js} +15 -11
  45. package/dist/chunk-42x5tjk2.js +42 -0
  46. package/dist/{chunk-n78qmqpq.js → chunk-436r0x2n.js} +8 -8
  47. package/dist/{chunk-k3vpzx3c.js → chunk-44q4jkwa.js} +27 -67
  48. package/dist/{chunk-qnbdekts.js → chunk-44w22kyx.js} +111 -132
  49. package/dist/{chunk-7m2nd8da.js → chunk-46fcr28b.js} +31 -10
  50. package/dist/{chunk-wm2f2f1z.js → chunk-474y75ga.js} +2 -2
  51. package/dist/{chunk-6fkwz9yk.js → chunk-478rpnqm.js} +8 -8
  52. package/dist/chunk-48w0df8a.js +32 -0
  53. package/dist/chunk-4cp6193g.js +9076 -0
  54. package/dist/chunk-4d0de73v.js +436 -0
  55. package/dist/chunk-4eecm90d.js +1030 -0
  56. package/dist/{chunk-jfv3zczw.js → chunk-4f4ccg1h.js} +10 -115
  57. package/dist/chunk-4h102wt5.js +65 -0
  58. package/dist/{chunk-6n2qgm9v.js → chunk-4hv90qcz.js} +1 -1
  59. package/dist/{chunk-4gj6zzg1.js → chunk-4jcqmf9w.js} +43 -29
  60. package/dist/{chunk-067wa5sn.js → chunk-4kk7vxed.js} +8 -6
  61. package/dist/chunk-4nspekjp.js +69 -0
  62. package/dist/chunk-4xmb7bvy.js +125 -0
  63. package/dist/{chunk-nrp9yaq6.js → chunk-4xy0c1dz.js} +16 -12
  64. package/dist/{chunk-77g09znh.js → chunk-53c9gb9c.js} +23 -16
  65. package/dist/{chunk-03nqtgyr.js → chunk-53zsn91p.js} +42 -30
  66. package/dist/{chunk-gkrx7ptx.js → chunk-548g1d6z.js} +113 -114
  67. package/dist/chunk-559yvwh1.js +63 -0
  68. package/dist/chunk-5a6ahhvy.js +594 -0
  69. package/dist/{chunk-h2j4t3fk.js → chunk-5c6man70.js} +9692 -17630
  70. package/dist/chunk-5hb5ev7b.js +74 -0
  71. package/dist/{chunk-hx2tr4ep.js → chunk-5z28bqne.js} +34 -475
  72. package/dist/{chunk-p7g7pf3f.js → chunk-61ahbn23.js} +8 -6
  73. package/dist/chunk-64c1avct.js +13 -0
  74. package/dist/{chunk-0sb5scxx.js → chunk-652wnf1z.js} +5 -5
  75. package/dist/{chunk-1w361mz1.js → chunk-66jkaz3q.js} +109 -213
  76. package/dist/{chunk-q25bjaev.js → chunk-677as3nh.js} +2 -2
  77. package/dist/chunk-68ksfahx.js +386 -0
  78. package/dist/{chunk-xs0hwvpa.js → chunk-68pfxvxt.js} +14 -9
  79. package/dist/{chunk-epmheefa.js → chunk-69hys77v.js} +8 -8
  80. package/dist/{chunk-404wc7d4.js → chunk-6ayqcq3h.js} +126 -119
  81. package/dist/chunk-6kpbgc5w.js +23 -0
  82. package/dist/chunk-6mpsxxsf.js +362 -0
  83. package/dist/chunk-6nze0g86.js +119 -0
  84. package/dist/{chunk-v1mgv1et.js → chunk-6p4cyhb3.js} +4 -3
  85. package/dist/{chunk-w2qfgzzh.js → chunk-6t62dbnb.js} +61 -100
  86. package/dist/chunk-6t87a3q6.js +2842 -0
  87. package/dist/{chunk-q6av622g.js → chunk-6xana182.js} +18 -13
  88. package/dist/{chunk-fpf4cgbt.js → chunk-7bfach0x.js} +9 -9
  89. package/dist/{chunk-g6e1ab2k.js → chunk-7f1ggjr2.js} +81 -61
  90. package/dist/chunk-7fxjmmfw.js +1172 -0
  91. package/dist/{chunk-ckcagq32.js → chunk-7gqf9wej.js} +5 -5
  92. package/dist/chunk-7j3dkjqq.js +38 -0
  93. package/dist/chunk-7ns74x0q.js +475 -0
  94. package/dist/chunk-7qmknpkq.js +272 -0
  95. package/dist/chunk-7rzepn9c.js +83 -0
  96. package/dist/chunk-7tdcwje9.js +68 -0
  97. package/dist/{chunk-201dvaa3.js → chunk-8201tnhf.js} +11 -5
  98. package/dist/{chunk-dv1wfr85.js → chunk-8225arm6.js} +5 -4
  99. package/dist/chunk-822wfv88.js +70 -0
  100. package/dist/chunk-837tm8ht.js +183 -0
  101. package/dist/chunk-8a2ajt5d.js +878 -0
  102. package/dist/{chunk-drv8qvwz.js → chunk-8bymxfn4.js} +43 -29
  103. package/dist/chunk-8cwbzk7h.js +118 -0
  104. package/dist/chunk-8d0ev0m2.js +111 -0
  105. package/dist/chunk-8g5pe1gr.js +37 -0
  106. package/dist/{chunk-g0j0t6qk.js → chunk-8g747a8x.js} +1 -1
  107. package/dist/chunk-8kfwb79z.js +436 -0
  108. package/dist/{chunk-xyqr1cww.js → chunk-8me0yq6v.js} +12 -12
  109. package/dist/{chunk-qdrwxg3e.js → chunk-8n8285ax.js} +91 -71
  110. package/dist/{chunk-sdj9b9wh.js → chunk-8pn8tvgg.js} +9 -154
  111. package/dist/{chunk-ha0xq3e9.js → chunk-8qhr4n77.js} +64 -106
  112. package/dist/{chunk-fpjzr5jj.js → chunk-8s9bbk3r.js} +62 -45
  113. package/dist/{chunk-e3g8q4cn.js → chunk-905d2hee.js} +10 -8
  114. package/dist/{chunk-3psth3ez.js → chunk-91xq5y4a.js} +9 -9
  115. package/dist/{chunk-rq1kckze.js → chunk-93xsyzsp.js} +1 -1
  116. package/dist/chunk-99pmbfqp.js +230 -0
  117. package/dist/chunk-9f14bkn9.js +33068 -0
  118. package/dist/{chunk-ex978bsn.js → chunk-9m78gjpd.js} +1 -1
  119. package/dist/{chunk-hpwa620w.js → chunk-9pm2d2gv.js} +251 -306
  120. package/dist/chunk-a136cvvz.js +27 -0
  121. package/dist/{chunk-n5t9m8h9.js → chunk-a1bjde7d.js} +7 -7
  122. package/dist/chunk-a2evk7n1.js +168 -0
  123. package/dist/{chunk-6heqkcjx.js → chunk-a3k4w4cm.js} +42 -28
  124. package/dist/chunk-a3mcc1sb.js +1403 -0
  125. package/dist/{chunk-8hq5kk3y.js → chunk-a4twdmhf.js} +3 -2
  126. package/dist/chunk-a8eaey19.js +66 -0
  127. package/dist/chunk-abkb5pw6.js +426 -0
  128. package/dist/chunk-ae76ded0.js +30 -0
  129. package/dist/{chunk-2v1br2x0.js → chunk-agx5w9ce.js} +14 -8
  130. package/dist/chunk-ah46h8rp.js +70 -0
  131. package/dist/chunk-aj3azy6z.js +409 -0
  132. package/dist/chunk-an6z4rzv.js +158 -0
  133. package/dist/{chunk-r6b58y3x.js → chunk-ase86y73.js} +1 -3
  134. package/dist/{chunk-e6s36z54.js → chunk-avfjb6pd.js} +17 -557
  135. package/dist/{chunk-1hhdpn3t.js → chunk-az5x70pn.js} +8 -5
  136. package/dist/{chunk-91gk0g2y.js → chunk-b6rg3egp.js} +33 -18
  137. package/dist/chunk-b73r6ngr.js +125 -0
  138. package/dist/{chunk-8bedvdm1.js → chunk-b81hd3m6.js} +1 -1
  139. package/dist/{chunk-ebfsjcvm.js → chunk-b9mhpc0v.js} +3 -3
  140. package/dist/chunk-b9ndqcdv.js +139 -0
  141. package/dist/{chunk-w7wgpqcp.js → chunk-bd8zk9tn.js} +7 -7
  142. package/dist/chunk-bdy6n17s.js +343 -0
  143. package/dist/{chunk-s8y2tfzf.js → chunk-bf1j3azq.js} +156 -119
  144. package/dist/{chunk-j5j6nrfq.js → chunk-bfcet2mw.js} +2 -2
  145. package/dist/{chunk-jy35mvy3.js → chunk-bmjmrk76.js} +7 -7
  146. package/dist/{chunk-ra0r65nx.js → chunk-bsj8e2mb.js} +11 -11
  147. package/dist/{chunk-jce5r25x.js → chunk-bt64sq5y.js} +5 -4
  148. package/dist/{chunk-vyc0rjyx.js → chunk-bwg7582d.js} +1 -1
  149. package/dist/{chunk-3be7ka25.js → chunk-bxcfz5gy.js} +1 -1
  150. package/dist/{chunk-7wm1rjfm.js → chunk-c1k9tg7h.js} +518 -810
  151. package/dist/{chunk-qwvrkydc.js → chunk-c5pxerks.js} +13 -11
  152. package/dist/chunk-c6sjhj89.js +1284 -0
  153. package/dist/{chunk-brcnd1j0.js → chunk-c9q0phsg.js} +9 -6
  154. package/dist/chunk-caj0ab74.js +129 -0
  155. package/dist/chunk-chsyvavm.js +3435 -0
  156. package/dist/chunk-cjpt035a.js +269 -0
  157. package/dist/chunk-cmcbatgz.js +147 -0
  158. package/dist/chunk-cnsj3vq2.js +35 -0
  159. package/dist/chunk-cqjmxeqv.js +269 -0
  160. package/dist/{chunk-cdz5yb0r.js → chunk-crmjpsqe.js} +13 -2
  161. package/dist/{chunk-2mcp388c.js → chunk-cvb1v08x.js} +38 -32
  162. package/dist/{chunk-w0r5627q.js → chunk-cxhvyf7c.js} +234 -363
  163. package/dist/{chunk-s0wvh65m.js → chunk-cxx0e4nv.js} +1343 -2839
  164. package/dist/chunk-cy2hswr1.js +15 -0
  165. package/dist/{chunk-g9q2cznf.js → chunk-cy6ezb6j.js} +125994 -138958
  166. package/dist/{chunk-ks0m9njy.js → chunk-d2jekryq.js} +8 -8
  167. package/dist/chunk-d4mdda98.js +94 -0
  168. package/dist/{chunk-hgtf13es.js → chunk-d6ve5pze.js} +10 -10
  169. package/dist/{chunk-55wgxwa9.js → chunk-d7886r6a.js} +6928 -6935
  170. package/dist/{chunk-4bgz02m1.js → chunk-d83tmb5h.js} +87 -64
  171. package/dist/{chunk-hdwh7ncw.js → chunk-d8meetqc.js} +84 -63
  172. package/dist/{chunk-128nh5j9.js → chunk-d8r0q4ps.js} +547 -866
  173. package/dist/chunk-d95k8xkm.js +84 -0
  174. package/dist/chunk-dd4m7t1v.js +112 -0
  175. package/dist/{chunk-rcdpvnxh.js → chunk-dekbr08w.js} +24 -20
  176. package/dist/{chunk-cvge4pvp.js → chunk-dk8287aa.js} +1 -1
  177. package/dist/chunk-dm3n2qgd.js +24 -0
  178. package/dist/{chunk-b0105v1f.js → chunk-dmxte86x.js} +3 -3
  179. package/dist/{chunk-zkmxtgc3.js → chunk-dqvwn28p.js} +19 -15
  180. package/dist/chunk-drkm8yx2.js +34 -0
  181. package/dist/chunk-dsbewdgm.js +148 -0
  182. package/dist/{chunk-w7h2yphx.js → chunk-dwekpr47.js} +2 -2
  183. package/dist/{chunk-hg776v69.js → chunk-e3299veq.js} +16 -68
  184. package/dist/{chunk-wqpr7002.js → chunk-e5hcyxae.js} +132 -18
  185. package/dist/chunk-e7h0nd5w.js +106 -0
  186. package/dist/{chunk-7qwme3ab.js → chunk-eaemyebz.js} +5 -5
  187. package/dist/{chunk-hjhc4cpt.js → chunk-edzkkadh.js} +2 -2
  188. package/dist/chunk-em99fnet.js +128 -0
  189. package/dist/{chunk-hfzj1m07.js → chunk-epyaq1z0.js} +13 -4
  190. package/dist/{chunk-r8f13sz1.js → chunk-eqmkajs4.js} +102 -195
  191. package/dist/{chunk-gax0fcbx.js → chunk-ergam9ft.js} +5 -5
  192. package/dist/chunk-es2fdse0.js +63 -0
  193. package/dist/{chunk-grdvmq7q.js → chunk-esn3tgm2.js} +8 -6
  194. package/dist/{chunk-ptmcaxqn.js → chunk-et8ybmt2.js} +9 -7
  195. package/dist/chunk-ew9rp41b.js +300 -0
  196. package/dist/{chunk-dvfb4qwt.js → chunk-ewx6xfzb.js} +2 -2
  197. package/dist/chunk-eyjtbtt0.js +137 -0
  198. package/dist/chunk-f0jd2p9n.js +797 -0
  199. package/dist/{chunk-vzqrbsd1.js → chunk-f69rgsm2.js} +5 -5
  200. package/dist/{chunk-45kxdsp8.js → chunk-f6rbj3gz.js} +17 -12
  201. package/dist/chunk-fbhyqxdg.js +1182 -0
  202. package/dist/chunk-feyzykye.js +10 -0
  203. package/dist/chunk-ffhejx56.js +107 -0
  204. package/dist/{chunk-cpe70sxw.js → chunk-fhx6nt2a.js} +42 -28
  205. package/dist/chunk-fkkysfev.js +158 -0
  206. package/dist/chunk-fn510gqw.js +216 -0
  207. package/dist/chunk-ftsg8bjm.js +117 -0
  208. package/dist/{chunk-s39js2d3.js → chunk-fyts9grb.js} +2 -2
  209. package/dist/{chunk-bjqw6798.js → chunk-fz0ch109.js} +6 -5
  210. package/dist/{chunk-q1e6pzwh.js → chunk-g1jarkx9.js} +38 -8
  211. package/dist/chunk-g9f19ttm.js +15 -0
  212. package/dist/chunk-g9qte35t.js +341 -0
  213. package/dist/chunk-gaav53dc.js +105 -0
  214. package/dist/chunk-gfx3cwrk.js +75 -0
  215. package/dist/chunk-gk2d1x2a.js +946 -0
  216. package/dist/chunk-gkbat1p9.js +121 -0
  217. package/dist/{chunk-cg43nnpk.js → chunk-gmnyk2t8.js} +8 -6
  218. package/dist/{chunk-m23b51r2.js → chunk-gnmdprq3.js} +191 -338
  219. package/dist/{chunk-bq6x1ehp.js → chunk-gpz0ddyz.js} +8 -8
  220. package/dist/{chunk-yt6z8030.js → chunk-gv1csnc3.js} +217 -355
  221. package/dist/{chunk-nx6nds18.js → chunk-gv37c8ax.js} +3 -3
  222. package/dist/{chunk-h6c8cms4.js → chunk-gzr2601k.js} +10 -10
  223. package/dist/{chunk-2tkt52mz.js → chunk-h3pda469.js} +37 -82
  224. package/dist/{chunk-qqfa0dqg.js → chunk-h4b85amj.js} +20 -32
  225. package/dist/chunk-h5zv78zq.js +352 -0
  226. package/dist/{chunk-2x3gmbws.js → chunk-h7edytkc.js} +5 -5
  227. package/dist/{chunk-as261f01.js → chunk-ha0wbzc3.js} +13 -11
  228. package/dist/{chunk-nxsh6de2.js → chunk-hcgkak1j.js} +20 -125
  229. package/dist/{chunk-tjaqa99q.js → chunk-hezj20qy.js} +3 -3
  230. package/dist/{chunk-7ahman84.js → chunk-hf85ht0m.js} +2 -2
  231. package/dist/{chunk-w0hx9v3y.js → chunk-ht1nfygk.js} +42 -28
  232. package/dist/chunk-j316jjby.js +108 -0
  233. package/dist/chunk-j3fge71v.js +115 -0
  234. package/dist/{chunk-v4h5psgs.js → chunk-j4x0t6k2.js} +46 -31
  235. package/dist/{chunk-9gbamk79.js → chunk-j5bth84e.js} +5 -1
  236. package/dist/chunk-j783d5af.js +134 -0
  237. package/dist/chunk-j7pbwf9x.js +108 -0
  238. package/dist/{chunk-rf2w4x97.js → chunk-j8rnrm5n.js} +120 -142
  239. package/dist/{chunk-vratq94g.js → chunk-j9gxwbe3.js} +1 -1
  240. package/dist/{chunk-3r24h7t6.js → chunk-jaaxk89e.js} +1 -1
  241. package/dist/{chunk-y47cg3kz.js → chunk-jaew3662.js} +18 -13
  242. package/dist/{chunk-q1txr206.js → chunk-jbbj16w2.js} +128 -185
  243. package/dist/chunk-jerew25v.js +148 -0
  244. package/dist/{chunk-v399mzxk.js → chunk-jf0p00fz.js} +2 -2
  245. package/dist/{chunk-97r68x5g.js → chunk-jfsah2w3.js} +1065 -1762
  246. package/dist/{chunk-av73dywf.js → chunk-jna2tcvj.js} +8 -8
  247. package/dist/{chunk-yym1e1dr.js → chunk-jng0mb4r.js} +10 -10
  248. package/dist/chunk-jrrmwfp4.js +66 -0
  249. package/dist/{chunk-0rc2rn3b.js → chunk-jt6fa514.js} +14 -12
  250. package/dist/chunk-jvkyx1b7.js +911 -0
  251. package/dist/{chunk-41xeh3t9.js → chunk-jy6c07wa.js} +4 -4
  252. package/dist/chunk-k1fvb16y.js +269 -0
  253. package/dist/{chunk-bqfnp99q.js → chunk-k3s4yk22.js} +1 -1
  254. package/dist/{chunk-madfgr3n.js → chunk-k46gxg21.js} +68 -8
  255. package/dist/chunk-k8wwyz2t.js +110 -0
  256. package/dist/{chunk-mnx3wyv4.js → chunk-ka3fdfyb.js} +83 -62
  257. package/dist/{chunk-k5c8ssc6.js → chunk-ka4x7mhn.js} +42 -28
  258. package/dist/chunk-kb99zpps.js +216 -0
  259. package/dist/{chunk-1dyeexvn.js → chunk-kd3mmsd2.js} +4 -4
  260. package/dist/{chunk-1xkekb9y.js → chunk-kfd89dsd.js} +5 -3
  261. package/dist/{chunk-g7fxbqsc.js → chunk-km1wcchx.js} +87 -68
  262. package/dist/{chunk-248szg6m.js → chunk-kmhwx18d.js} +3 -3
  263. package/dist/{chunk-pabnr66n.js → chunk-kq91dwkq.js} +8 -6
  264. package/dist/chunk-m17m84b7.js +111 -0
  265. package/dist/chunk-m1a0s9fd.js +1070 -0
  266. package/dist/{chunk-jafes477.js → chunk-m2bcpk8j.js} +4 -3
  267. package/dist/{chunk-t0brxw87.js → chunk-m7jtn7dk.js} +80 -60
  268. package/dist/chunk-mq2mgyt9.js +103 -0
  269. package/dist/chunk-msv3w4qp.js +1811 -0
  270. package/dist/chunk-mx28h61f.js +1147 -0
  271. package/dist/{chunk-wf7yz2j0.js → chunk-mxe1f4jg.js} +13 -11
  272. package/dist/{chunk-n5crdyay.js → chunk-mzwjvfr2.js} +137 -124
  273. package/dist/{chunk-gf96dtb6.js → chunk-n2n0sq7r.js} +71 -77
  274. package/dist/{chunk-m06q12hg.js → chunk-n8mpqdje.js} +1 -1
  275. package/dist/chunk-n9e984ba.js +132 -0
  276. package/dist/chunk-netzwgv1.js +154 -0
  277. package/dist/{chunk-xszk7n10.js → chunk-nh3cd07f.js} +1 -1
  278. package/dist/chunk-njrz6mbe.js +66 -0
  279. package/dist/{chunk-sb2sew2f.js → chunk-nv7pfr7k.js} +2 -2
  280. package/dist/{chunk-g9xf7jc4.js → chunk-nwd8pb55.js} +85 -65
  281. package/dist/{chunk-5hva0tsg.js → chunk-p2yv7m0g.js} +6 -6
  282. package/dist/chunk-p5t2vy90.js +259 -0
  283. package/dist/{chunk-zk2wsm7d.js → chunk-p7vkh4wx.js} +2 -2
  284. package/dist/{chunk-da4ve9t5.js → chunk-p8crqj70.js} +10 -10
  285. package/dist/{chunk-02y0y853.js → chunk-pcngtzr8.js} +12 -6
  286. package/dist/{chunk-3vpqaqc6.js → chunk-pdjem6h1.js} +53 -71
  287. package/dist/{chunk-7rgwp44r.js → chunk-pmxdzjq0.js} +11 -9
  288. package/dist/{chunk-3s5r02ps.js → chunk-pnkcecq2.js} +31 -57
  289. package/dist/{chunk-zsfxha74.js → chunk-pshjyzq4.js} +8 -7
  290. package/dist/chunk-pt1yj9zf.js +107 -0
  291. package/dist/{chunk-rxwb7b78.js → chunk-py6b9d5b.js} +2331 -4219
  292. package/dist/chunk-q7n8d91g.js +67 -0
  293. package/dist/{chunk-e5pntxye.js → chunk-q7tpyeb3.js} +6 -4
  294. package/dist/{chunk-7ymfj7m3.js → chunk-q82r31er.js} +1 -1
  295. package/dist/chunk-qajrkk97.js +298 -0
  296. package/dist/chunk-qbrh24cn.js +119 -0
  297. package/dist/chunk-qd9ntz7c.js +230 -0
  298. package/dist/chunk-qfr5tcd5.js +2537 -0
  299. package/dist/chunk-qpzfmkct.js +456 -0
  300. package/dist/{chunk-ywxd4qw4.js → chunk-qtfc6wdh.js} +2 -5
  301. package/dist/chunk-r032587e.js +83 -0
  302. package/dist/chunk-r2k2jy0y.js +51 -0
  303. package/dist/{chunk-8mqwac85.js → chunk-r4dnnggx.js} +22 -16
  304. package/dist/{chunk-5wnn3t3a.js → chunk-r5n8fvw0.js} +7 -7
  305. package/dist/{chunk-pxvatg16.js → chunk-r7kh03er.js} +231 -190
  306. package/dist/{chunk-z4wtem3z.js → chunk-rfs0mfg8.js} +147 -151
  307. package/dist/{chunk-hrzerbfw.js → chunk-rgbbtszq.js} +14 -14
  308. package/dist/{chunk-ctw5jwcd.js → chunk-rkak3kjw.js} +10 -10
  309. package/dist/chunk-rp568bfw.js +111 -0
  310. package/dist/chunk-rtv718sv.js +146 -0
  311. package/dist/{chunk-8d5eyjse.js → chunk-rvkvehat.js} +5284 -3093
  312. package/dist/chunk-s1baskk7.js +14 -0
  313. package/dist/{chunk-tse7q7k1.js → chunk-s1eb67v3.js} +79 -59
  314. package/dist/{chunk-7rn4t7tx.js → chunk-s59kx26r.js} +87 -64
  315. package/dist/chunk-s6yk6m3b.js +109 -0
  316. package/dist/{chunk-bsk44136.js → chunk-sca71yv8.js} +11 -9
  317. package/dist/chunk-sfrwm87k.js +151 -0
  318. package/dist/chunk-sgaknx21.js +123 -0
  319. package/dist/{chunk-4y62603j.js → chunk-snyaz093.js} +9 -15
  320. package/dist/{chunk-ytg914ra.js → chunk-sq8wkk3z.js} +1 -3
  321. package/dist/chunk-sxqj7s2h.js +54 -0
  322. package/dist/chunk-t2m6cjp1.js +264 -0
  323. package/dist/chunk-t6hmvb6k.js +1021 -0
  324. package/dist/chunk-t72x960a.js +125 -0
  325. package/dist/chunk-t9kashay.js +440 -0
  326. package/dist/chunk-t9wzf009.js +151 -0
  327. package/dist/chunk-ta1dgyj1.js +154 -0
  328. package/dist/chunk-tavxhayf.js +149 -0
  329. package/dist/{chunk-2tw2ve8h.js → chunk-tcdv4gp8.js} +18 -12
  330. package/dist/chunk-td3b74vm.js +362 -0
  331. package/dist/{chunk-mt25echc.js → chunk-tezak8rx.js} +1 -1
  332. package/dist/chunk-tgcw0rzx.js +262 -0
  333. package/dist/{chunk-9rcbyag3.js → chunk-tmdbrszg.js} +2 -2
  334. package/dist/{chunk-avwewk4v.js → chunk-v17qee2y.js} +12 -8
  335. package/dist/{chunk-njtjmsx7.js → chunk-v1jd31dw.js} +2 -2
  336. package/dist/chunk-var1et7e.js +66 -0
  337. package/dist/{chunk-j5zq8axt.js → chunk-ve9wswz4.js} +7 -131
  338. package/dist/{chunk-hqmz36b3.js → chunk-vf612n57.js} +21 -101
  339. package/dist/chunk-vfhabc5j.js +109 -0
  340. package/dist/{chunk-wszmas1q.js → chunk-vgy0w6tt.js} +2 -2
  341. package/dist/chunk-vh02fvz1.js +375 -0
  342. package/dist/{chunk-jz6sqm8m.js → chunk-vm935era.js} +1083 -881
  343. package/dist/{chunk-e7393td6.js → chunk-vtb8z6as.js} +14 -9
  344. package/dist/chunk-w2kf9sxn.js +115 -0
  345. package/dist/chunk-w7trx259.js +132 -0
  346. package/dist/chunk-w92b262y.js +1072 -0
  347. package/dist/chunk-w9zqjhvm.js +103 -0
  348. package/dist/{chunk-0he1tqj5.js → chunk-wb2fvy1k.js} +81 -61
  349. package/dist/chunk-ws2d81aj.js +123 -0
  350. package/dist/{chunk-k808gmhk.js → chunk-wssgdcck.js} +2 -2
  351. package/dist/{chunk-t9z6njcr.js → chunk-wtycm8km.js} +9 -9
  352. package/dist/chunk-wz0d8mna.js +108 -0
  353. package/dist/chunk-x01wtn3p.js +144 -0
  354. package/dist/{chunk-ze747xz6.js → chunk-x2sp7rcv.js} +73 -105
  355. package/dist/{chunk-7vtykt4v.js → chunk-xbprynsc.js} +18 -46
  356. package/dist/{chunk-p196v9d0.js → chunk-xext3y2y.js} +8 -6
  357. package/dist/{chunk-r66hz8j6.js → chunk-xycy3c8q.js} +15 -12
  358. package/dist/{chunk-npv8q5qr.js → chunk-y01ys1vm.js} +25 -74
  359. package/dist/{chunk-spqaamnc.js → chunk-y78t50v0.js} +2 -2
  360. package/dist/chunk-y9bgt2k1.js +78 -0
  361. package/dist/{chunk-j8rw3m89.js → chunk-ydm0nfsv.js} +6 -6
  362. package/dist/{chunk-3cn070p7.js → chunk-yetebjek.js} +291 -502
  363. package/dist/chunk-ym5r3jnk.js +2007 -0
  364. package/dist/chunk-ysks0ewj.js +237 -0
  365. package/dist/chunk-yv3evkgg.js +68 -0
  366. package/dist/chunk-yw79dz62.js +164 -0
  367. package/dist/{chunk-ea18z8vr.js → chunk-yy59gvs4.js} +159 -183
  368. package/dist/{chunk-def1dc97.js → chunk-yyax4hdg.js} +10 -8
  369. package/dist/chunk-yzx3mhfd.js +110 -0
  370. package/dist/chunk-z0q85m5f.js +108 -0
  371. package/dist/chunk-z1bs6d7k.js +24 -0
  372. package/dist/chunk-z6e5jp2w.js +119 -0
  373. package/dist/chunk-z7ssqvt6.js +6886 -0
  374. package/dist/chunk-z95yxwyb.js +61 -0
  375. package/dist/{chunk-5a3cw988.js → chunk-z9aqj026.js} +5 -5
  376. package/dist/chunk-zc6dxhk9.js +169 -0
  377. package/dist/{chunk-2t3vw4tx.js → chunk-ze6zvkg6.js} +10 -10
  378. package/dist/{chunk-t0rgmccj.js → chunk-zejm280k.js} +1 -1
  379. package/dist/chunk-zfapazzd.js +37 -0
  380. package/dist/chunk-zj4fqmnc.js +219 -0
  381. package/dist/chunk-zkrpbswn.js +1608 -0
  382. package/dist/chunk-zktbb38m.js +112 -0
  383. package/dist/{chunk-2mcrd0rj.js → chunk-zptcqa7t.js} +92 -71
  384. package/dist/{chunk-a3csma98.js → chunk-zvnsjbt8.js} +1 -1
  385. package/dist/chunk-zwaanw8y.js +110 -0
  386. package/dist/{chunk-g3t0act8.js → chunk-zzm33q8x.js} +1 -1
  387. package/dist/{chunk-3gqdqmzb.js → chunk-zzzc1ead.js} +17 -12
  388. package/dist/cli.js +39 -10
  389. package/dist/download-ripgrep.js +24821 -0
  390. package/dist/vendor/audio-capture/arm64-darwin/audio-capture.node +0 -0
  391. package/dist/vendor/audio-capture/arm64-linux/audio-capture.node +0 -0
  392. package/dist/vendor/audio-capture/arm64-win32/audio-capture.node +0 -0
  393. package/dist/vendor/audio-capture/x64-darwin/audio-capture.node +0 -0
  394. package/dist/vendor/audio-capture/x64-linux/audio-capture.node +0 -0
  395. package/dist/vendor/audio-capture/x64-win32/audio-capture.node +0 -0
  396. package/package.json +25 -15
  397. package/scripts/download-ripgrep.ts +335 -0
  398. package/scripts/postinstall.cjs +319 -0
  399. package/dist/chunk-07ysf2mw.js +0 -184
  400. package/dist/chunk-0ewgfms5.js +0 -117
  401. package/dist/chunk-165b9y9k.js +0 -70
  402. package/dist/chunk-17g3drrw.js +0 -121
  403. package/dist/chunk-1jv1ckhg.js +0 -1152
  404. package/dist/chunk-1pxd1xfp.js +0 -103
  405. package/dist/chunk-1tzexy7d.js +0 -258
  406. package/dist/chunk-271zt54b.js +0 -1871
  407. package/dist/chunk-2a27tvzp.js +0 -281
  408. package/dist/chunk-2g1zxpt7.js +0 -2833
  409. package/dist/chunk-2jb48txn.js +0 -98
  410. package/dist/chunk-2kc13eta.js +0 -88
  411. package/dist/chunk-2tme3s1c.js +0 -114
  412. package/dist/chunk-4491abz9.js +0 -99
  413. package/dist/chunk-4dfmgx6h.js +0 -69
  414. package/dist/chunk-4fbyr2hm.js +0 -279
  415. package/dist/chunk-5dsvtbwb.js +0 -87
  416. package/dist/chunk-5t59fqg3.js +0 -127
  417. package/dist/chunk-60nc5bh3.js +0 -1579
  418. package/dist/chunk-6dcq96a3.js +0 -128
  419. package/dist/chunk-6tm5941a.js +0 -152
  420. package/dist/chunk-79zmgkg5.js +0 -750
  421. package/dist/chunk-7d35rxr3.js +0 -69
  422. package/dist/chunk-7enxknwt.js +0 -442
  423. package/dist/chunk-7j0wpf4m.js +0 -89
  424. package/dist/chunk-7q6pjeyp.js +0 -1493
  425. package/dist/chunk-7whgbwhx.js +0 -584
  426. package/dist/chunk-9egdc8n4.js +0 -463
  427. package/dist/chunk-9rr0wepz.js +0 -56
  428. package/dist/chunk-ajp7hmws.js +0 -422
  429. package/dist/chunk-bm1qb16p.js +0 -17
  430. package/dist/chunk-bmvzacx5.js +0 -998
  431. package/dist/chunk-bw093kge.js +0 -129
  432. package/dist/chunk-c4q9x8t2.js +0 -105
  433. package/dist/chunk-c6421kme.js +0 -54
  434. package/dist/chunk-cdajcgne.js +0 -195
  435. package/dist/chunk-ch8avrbh.js +0 -86
  436. package/dist/chunk-chkyv40s.js +0 -2642
  437. package/dist/chunk-d049dd11.js +0 -348
  438. package/dist/chunk-d7tw94h4.js +0 -114
  439. package/dist/chunk-daeav7vb.js +0 -418
  440. package/dist/chunk-dxnv8hfn.js +0 -536
  441. package/dist/chunk-dy3tzxgq.js +0 -91
  442. package/dist/chunk-exy9bnjf.js +0 -212
  443. package/dist/chunk-f1f3dmd5.js +0 -713
  444. package/dist/chunk-f7yg1atj.js +0 -47
  445. package/dist/chunk-fakajzny.js +0 -372
  446. package/dist/chunk-ftrm87vt.js +0 -467
  447. package/dist/chunk-ftsp0cj3.js +0 -105
  448. package/dist/chunk-fv7hhcns.js +0 -345
  449. package/dist/chunk-fvcwxb8x.js +0 -83
  450. package/dist/chunk-g00hs992.js +0 -90
  451. package/dist/chunk-g5fpkpeg.js +0 -520
  452. package/dist/chunk-g9qyg278.js +0 -88
  453. package/dist/chunk-gkjdjqfs.js +0 -112
  454. package/dist/chunk-gqk545se.js +0 -6107
  455. package/dist/chunk-gyj242zr.js +0 -20
  456. package/dist/chunk-gzmjp1eb.js +0 -696
  457. package/dist/chunk-hbh17tng.js +0 -1013
  458. package/dist/chunk-hdfzyzk4.js +0 -85
  459. package/dist/chunk-hdtb5jce.js +0 -101
  460. package/dist/chunk-j99mjxam.js +0 -220
  461. package/dist/chunk-jaqg0k7h.js +0 -271
  462. package/dist/chunk-jdew773m.js +0 -115
  463. package/dist/chunk-jjsx6t78.js +0 -169
  464. package/dist/chunk-jpr8js4w.js +0 -328
  465. package/dist/chunk-jx817w05.js +0 -11
  466. package/dist/chunk-k0g3jve7.js +0 -89
  467. package/dist/chunk-k1g3g183.js +0 -128
  468. package/dist/chunk-k1p54aq6.js +0 -54
  469. package/dist/chunk-kexj9c6y.js +0 -5398
  470. package/dist/chunk-kgg1gq3t.js +0 -113
  471. package/dist/chunk-kwkrek4t.js +0 -95
  472. package/dist/chunk-m4gcjpj3.js +0 -103
  473. package/dist/chunk-m6rk1r6q.js +0 -194
  474. package/dist/chunk-mb2xmb0d.js +0 -53
  475. package/dist/chunk-mv1pbf3a.js +0 -297
  476. package/dist/chunk-my7r0cca.js +0 -469
  477. package/dist/chunk-nprycdaa.js +0 -525
  478. package/dist/chunk-p2pztr2r.js +0 -104
  479. package/dist/chunk-p68nf56z.js +0 -92
  480. package/dist/chunk-p6pc9xrz.js +0 -3443
  481. package/dist/chunk-p7skftb4.js +0 -108
  482. package/dist/chunk-pa2235xc.js +0 -160
  483. package/dist/chunk-pmzbyaat.js +0 -99
  484. package/dist/chunk-pqzk7nbh.js +0 -91
  485. package/dist/chunk-pvvew193.js +0 -802
  486. package/dist/chunk-pvx0x5zm.js +0 -2057
  487. package/dist/chunk-py77warv.js +0 -66
  488. package/dist/chunk-q43gccx5.js +0 -92
  489. package/dist/chunk-rse6x10x.js +0 -89
  490. package/dist/chunk-rxdhy7ve.js +0 -131
  491. package/dist/chunk-scb48p4v.js +0 -496
  492. package/dist/chunk-sjqtqj35.js +0 -28
  493. package/dist/chunk-sq0wf7jj.js +0 -1919
  494. package/dist/chunk-sy1hkkty.js +0 -400
  495. package/dist/chunk-sy9jf9v2.js +0 -109
  496. package/dist/chunk-t2km9bn3.js +0 -87
  497. package/dist/chunk-t4afbt2j.js +0 -88
  498. package/dist/chunk-t4c5qtdc.js +0 -42
  499. package/dist/chunk-t94jxd0x.js +0 -100
  500. package/dist/chunk-tb2g2bba.js +0 -192
  501. package/dist/chunk-tdpvdzbf.js +0 -97
  502. package/dist/chunk-tf4dw2e2.js +0 -142
  503. package/dist/chunk-tp40437d.js +0 -90
  504. package/dist/chunk-vabm7x8v.js +0 -61
  505. package/dist/chunk-veaq13qy.js +0 -490
  506. package/dist/chunk-vmz3wcnv.js +0 -641
  507. package/dist/chunk-vsgv16zj.js +0 -756
  508. package/dist/chunk-vxa0avb0.js +0 -105
  509. package/dist/chunk-x14dq3v1.js +0 -722
  510. package/dist/chunk-x6bg700t.js +0 -88
  511. package/dist/chunk-x8b7vft8.js +0 -132
  512. package/dist/chunk-xmdcxa8r.js +0 -374
  513. package/dist/chunk-y42a2xmv.js +0 -1316
  514. package/dist/chunk-y56ckcf8.js +0 -44
  515. package/dist/chunk-ybgghjqa.js +0 -602
  516. package/dist/chunk-zacq47b2.js +0 -84
  517. package/dist/chunk-zv3hxg5y.js +0 -267
  518. package/dist/chunk-zw2x3xxq.js +0 -96
  519. package/dist/chunk-zyf9epwn.js +0 -642
  520. package/dist/{chunk-whvdag1y.js → chunk-3bfs3x0h.js} +9 -9
  521. package/dist/{chunk-27xc1csx.js → chunk-dggvswz1.js} +3 -3
  522. package/dist/{chunk-0wftg29n.js → chunk-f9nt10jh.js} +3 -3
@@ -0,0 +1,946 @@
1
+ // @bun
2
+ import {
3
+ endInteractionSpan,
4
+ init_betaSessionTracing,
5
+ init_perfettoTracing,
6
+ init_sessionTracing,
7
+ initializePerfettoTracing,
8
+ isBetaTracingEnabled,
9
+ isEnhancedTelemetryEnabled
10
+ } from "./chunk-esn3tgm2.js";
11
+ import {
12
+ BasicTracerProvider,
13
+ BatchSpanProcessor,
14
+ ConsoleSpanExporter,
15
+ init_esm as init_esm2
16
+ } from "./chunk-mx28h61f.js";
17
+ import {
18
+ BatchLogRecordProcessor,
19
+ ConsoleLogRecordExporter,
20
+ LoggerProvider,
21
+ checkHasTrustDialogAccepted,
22
+ getAuthHeaders,
23
+ getClaudeCodeUserAgent,
24
+ getGlobalConfig,
25
+ getOtelHeadersFromHelper,
26
+ getSettings_DEPRECATED,
27
+ getSubscriptionType,
28
+ hasProfileScope,
29
+ init_auth,
30
+ init_config1 as init_config,
31
+ init_esm,
32
+ init_http,
33
+ init_settings1 as init_settings,
34
+ init_userAgent,
35
+ is1PApiCustomer,
36
+ isClaudeAISubscriber,
37
+ require_src as require_src5,
38
+ saveGlobalConfig,
39
+ withOAuth401Retry
40
+ } from "./chunk-c1k9tg7h.js";
41
+ import"./chunk-905d2hee.js";
42
+ import"./chunk-rkak3kjw.js";
43
+ import {
44
+ HttpsProxyAgent,
45
+ getCACertificates,
46
+ getMTLSConfig,
47
+ getProxyUrl,
48
+ init_caCerts,
49
+ init_dist,
50
+ init_mtls,
51
+ init_proxy,
52
+ shouldBypassProxy
53
+ } from "./chunk-p2yv7m0g.js";
54
+ import"./chunk-1cwdhk7a.js";
55
+ import"./chunk-j9gxwbe3.js";
56
+ import"./chunk-64c1avct.js";
57
+ import"./chunk-6kpbgc5w.js";
58
+ import"./chunk-8g5pe1gr.js";
59
+ import {
60
+ getPlatform,
61
+ getWslVersion,
62
+ init_platform
63
+ } from "./chunk-hezj20qy.js";
64
+ import"./chunk-8g747a8x.js";
65
+ import"./chunk-d7886r6a.js";
66
+ import {
67
+ require_src as require_src6
68
+ } from "./chunk-a8ejc632.js";
69
+ import {
70
+ require_src as require_src2,
71
+ require_src1 as require_src3,
72
+ require_src2 as require_src4
73
+ } from "./chunk-f5ma3nh5.js";
74
+ import"./chunk-r2k2jy0y.js";
75
+ import"./chunk-3c25bcsw.js";
76
+ import"./chunk-2q39ej51.js";
77
+ import"./chunk-q82r31er.js";
78
+ import {
79
+ require_src
80
+ } from "./chunk-p2816w9z.js";
81
+ import"./chunk-v1kzp02e.js";
82
+ import {
83
+ init_startupProfiler,
84
+ profileCheckpoint
85
+ } from "./chunk-qpzfmkct.js";
86
+ import"./chunk-crmjpsqe.js";
87
+ import"./chunk-rvkvehat.js";
88
+ import"./chunk-g338npwr.js";
89
+ import"./chunk-h0rbjg6x.js";
90
+ import"./chunk-0vkfrmqm.js";
91
+ import"./chunk-0xjaqda8.js";
92
+ import"./chunk-rgbbtszq.js";
93
+ import {
94
+ init_memoize,
95
+ memoizeWithTTLAsync
96
+ } from "./chunk-1thgdca1.js";
97
+ import"./chunk-qnfx3qtx.js";
98
+ import"./chunk-yw79dz62.js";
99
+ import"./chunk-b81hd3m6.js";
100
+ import {
101
+ init_log,
102
+ init_privacyLevel,
103
+ isEssentialTrafficOnly,
104
+ logError
105
+ } from "./chunk-61ahbn23.js";
106
+ import"./chunk-8tnsngw2.js";
107
+ import"./chunk-edzkkadh.js";
108
+ import"./chunk-bwg7582d.js";
109
+ import"./chunk-5z28bqne.js";
110
+ import"./chunk-qajrkk97.js";
111
+ import {
112
+ getHasFormattedOutput,
113
+ init_cleanupRegistry,
114
+ init_debug,
115
+ init_slowOperations,
116
+ jsonStringify,
117
+ logForDebugging,
118
+ registerCleanup
119
+ } from "./chunk-hcgkak1j.js";
120
+ import"./chunk-fbv4apne.js";
121
+ import {
122
+ errorMessage,
123
+ init_errors,
124
+ toError
125
+ } from "./chunk-z6e5jp2w.js";
126
+ import {
127
+ init_envUtils,
128
+ isEnvTruthy
129
+ } from "./chunk-jaaxk89e.js";
130
+ import {
131
+ getIsNonInteractiveSession,
132
+ getLoggerProvider,
133
+ getMeterProvider,
134
+ getTracerProvider,
135
+ init_state,
136
+ setEventLogger,
137
+ setLoggerProvider,
138
+ setMeterProvider,
139
+ setTracerProvider
140
+ } from "./chunk-h4b85amj.js";
141
+ import"./chunk-07069jq1.js";
142
+ import"./chunk-vf612n57.js";
143
+ import"./chunk-d4mdda98.js";
144
+ import"./chunk-7wm5s02e.js";
145
+ import"./chunk-4g3v8y12.js";
146
+ import"./chunk-7739pg2c.js";
147
+ import {
148
+ axios_default,
149
+ init_axios
150
+ } from "./chunk-nh3cd07f.js";
151
+ import"./chunk-8pn8tvgg.js";
152
+ import"./chunk-netzwgv1.js";
153
+ import {
154
+ __esm,
155
+ __require,
156
+ __toESM
157
+ } from "./chunk-qp2qdcda.js";
158
+
159
+ // src/services/api/metricsOptOut.ts
160
+ async function _fetchMetricsEnabled() {
161
+ const authResult = getAuthHeaders();
162
+ if (authResult.error) {
163
+ throw new Error(`Auth error: ${authResult.error}`);
164
+ }
165
+ const headers = {
166
+ "Content-Type": "application/json",
167
+ "User-Agent": getClaudeCodeUserAgent(),
168
+ ...authResult.headers
169
+ };
170
+ const endpoint = `https://api.anthropic.com/api/claude_code/organizations/metrics_enabled`;
171
+ const response = await axios_default.get(endpoint, {
172
+ headers,
173
+ timeout: 5000
174
+ });
175
+ return response.data;
176
+ }
177
+ async function _checkMetricsEnabledAPI() {
178
+ if (isEssentialTrafficOnly()) {
179
+ return { enabled: false, hasError: false };
180
+ }
181
+ try {
182
+ const data = await withOAuth401Retry(_fetchMetricsEnabled, {
183
+ also403Revoked: true
184
+ });
185
+ logForDebugging(`Metrics opt-out API response: enabled=${data.metrics_logging_enabled}`);
186
+ return {
187
+ enabled: data.metrics_logging_enabled,
188
+ hasError: false
189
+ };
190
+ } catch (error) {
191
+ logForDebugging(`Failed to check metrics opt-out status: ${errorMessage(error)}`);
192
+ logError(error);
193
+ return { enabled: false, hasError: true };
194
+ }
195
+ }
196
+ async function refreshMetricsStatus() {
197
+ const result = await memoizedCheckMetrics();
198
+ if (result.hasError) {
199
+ return result;
200
+ }
201
+ const cached = getGlobalConfig().metricsStatusCache;
202
+ const unchanged = cached !== undefined && cached.enabled === result.enabled;
203
+ if (unchanged && Date.now() - cached.timestamp < DISK_CACHE_TTL_MS) {
204
+ return result;
205
+ }
206
+ saveGlobalConfig((current) => ({
207
+ ...current,
208
+ metricsStatusCache: {
209
+ enabled: result.enabled,
210
+ timestamp: Date.now()
211
+ }
212
+ }));
213
+ return result;
214
+ }
215
+ async function checkMetricsEnabled() {
216
+ if (isClaudeAISubscriber() && !hasProfileScope()) {
217
+ return { enabled: false, hasError: false };
218
+ }
219
+ const cached = getGlobalConfig().metricsStatusCache;
220
+ if (cached) {
221
+ if (Date.now() - cached.timestamp > DISK_CACHE_TTL_MS) {
222
+ refreshMetricsStatus().catch(logError);
223
+ }
224
+ return {
225
+ enabled: cached.enabled,
226
+ hasError: false
227
+ };
228
+ }
229
+ return refreshMetricsStatus();
230
+ }
231
+ var CACHE_TTL_MS, DISK_CACHE_TTL_MS, memoizedCheckMetrics;
232
+ var init_metricsOptOut = __esm(() => {
233
+ init_axios();
234
+ init_auth();
235
+ init_config();
236
+ init_debug();
237
+ init_errors();
238
+ init_http();
239
+ init_log();
240
+ init_memoize();
241
+ init_privacyLevel();
242
+ init_userAgent();
243
+ CACHE_TTL_MS = 60 * 60 * 1000;
244
+ DISK_CACHE_TTL_MS = 24 * 60 * 60 * 1000;
245
+ memoizedCheckMetrics = memoizeWithTTLAsync(_checkMetricsEnabledAPI, CACHE_TTL_MS);
246
+ });
247
+
248
+ // src/utils/telemetry/bigqueryExporter.ts
249
+ class BigQueryMetricsExporter {
250
+ endpoint;
251
+ timeout;
252
+ pendingExports = [];
253
+ isShutdown = false;
254
+ constructor(options = {}) {
255
+ const defaultEndpoint = "https://api.anthropic.com/api/claude_code/metrics";
256
+ if (process.env.USER_TYPE === "ant" && process.env.ANT_CLAUDE_CODE_METRICS_ENDPOINT) {
257
+ this.endpoint = process.env.ANT_CLAUDE_CODE_METRICS_ENDPOINT + "/api/claude_code/metrics";
258
+ } else {
259
+ this.endpoint = defaultEndpoint;
260
+ }
261
+ this.timeout = options.timeout || 5000;
262
+ }
263
+ async export(metrics, resultCallback) {
264
+ if (this.isShutdown) {
265
+ resultCallback({
266
+ code: import_core.ExportResultCode.FAILED,
267
+ error: new Error("Exporter has been shutdown")
268
+ });
269
+ return;
270
+ }
271
+ const exportPromise = this.doExport(metrics, resultCallback);
272
+ this.pendingExports.push(exportPromise);
273
+ exportPromise.finally(() => {
274
+ const index = this.pendingExports.indexOf(exportPromise);
275
+ if (index > -1) {
276
+ this.pendingExports.splice(index, 1);
277
+ }
278
+ });
279
+ }
280
+ async doExport(metrics, resultCallback) {
281
+ try {
282
+ const hasTrust = checkHasTrustDialogAccepted() || getIsNonInteractiveSession();
283
+ if (!hasTrust) {
284
+ logForDebugging("BigQuery metrics export: trust not established, skipping");
285
+ resultCallback({ code: import_core.ExportResultCode.SUCCESS });
286
+ return;
287
+ }
288
+ const metricsStatus = await checkMetricsEnabled();
289
+ if (!metricsStatus.enabled) {
290
+ logForDebugging("Metrics export disabled by organization setting");
291
+ resultCallback({ code: import_core.ExportResultCode.SUCCESS });
292
+ return;
293
+ }
294
+ const payload = this.transformMetricsForInternal(metrics);
295
+ const authResult = getAuthHeaders();
296
+ if (authResult.error) {
297
+ logForDebugging(`Metrics export failed: ${authResult.error}`);
298
+ resultCallback({
299
+ code: import_core.ExportResultCode.FAILED,
300
+ error: new Error(authResult.error)
301
+ });
302
+ return;
303
+ }
304
+ const headers = {
305
+ "Content-Type": "application/json",
306
+ "User-Agent": getClaudeCodeUserAgent(),
307
+ ...authResult.headers
308
+ };
309
+ const response = await axios_default.post(this.endpoint, payload, {
310
+ timeout: this.timeout,
311
+ headers
312
+ });
313
+ logForDebugging("BigQuery metrics exported successfully");
314
+ logForDebugging(`BigQuery API Response: ${jsonStringify(response.data, null, 2)}`);
315
+ resultCallback({ code: import_core.ExportResultCode.SUCCESS });
316
+ } catch (error) {
317
+ logForDebugging(`BigQuery metrics export failed: ${errorMessage(error)}`);
318
+ logError(error);
319
+ resultCallback({
320
+ code: import_core.ExportResultCode.FAILED,
321
+ error: toError(error)
322
+ });
323
+ }
324
+ }
325
+ transformMetricsForInternal(metrics) {
326
+ const attrs = metrics.resource.attributes;
327
+ const resourceAttributes = {
328
+ "service.name": attrs["service.name"] || "claude-code",
329
+ "service.version": attrs["service.version"] || "unknown",
330
+ "os.type": attrs["os.type"] || "unknown",
331
+ "os.version": attrs["os.version"] || "unknown",
332
+ "host.arch": attrs["host.arch"] || "unknown",
333
+ "aggregation.temporality": this.selectAggregationTemporality() === import_sdk_metrics.AggregationTemporality.DELTA ? "delta" : "cumulative"
334
+ };
335
+ if (attrs["wsl.version"]) {
336
+ resourceAttributes["wsl.version"] = attrs["wsl.version"];
337
+ }
338
+ if (isClaudeAISubscriber()) {
339
+ resourceAttributes["user.customer_type"] = "claude_ai";
340
+ const subscriptionType = getSubscriptionType();
341
+ if (subscriptionType) {
342
+ resourceAttributes["user.subscription_type"] = subscriptionType;
343
+ }
344
+ } else {
345
+ resourceAttributes["user.customer_type"] = "api";
346
+ }
347
+ const transformed = {
348
+ resource_attributes: resourceAttributes,
349
+ metrics: metrics.scopeMetrics.flatMap((scopeMetric) => scopeMetric.metrics.map((metric) => ({
350
+ name: metric.descriptor.name,
351
+ description: metric.descriptor.description,
352
+ unit: metric.descriptor.unit,
353
+ data_points: this.extractDataPoints(metric)
354
+ })))
355
+ };
356
+ return transformed;
357
+ }
358
+ extractDataPoints(metric) {
359
+ const dataPoints = metric.dataPoints || [];
360
+ return dataPoints.filter((point) => typeof point.value === "number").map((point) => ({
361
+ attributes: this.convertAttributes(point.attributes),
362
+ value: point.value,
363
+ timestamp: this.hrTimeToISOString(point.endTime || point.startTime || [Date.now() / 1000, 0])
364
+ }));
365
+ }
366
+ async shutdown() {
367
+ this.isShutdown = true;
368
+ await this.forceFlush();
369
+ logForDebugging("BigQuery metrics exporter shutdown complete");
370
+ }
371
+ async forceFlush() {
372
+ await Promise.all(this.pendingExports);
373
+ logForDebugging("BigQuery metrics exporter flush complete");
374
+ }
375
+ convertAttributes(attributes) {
376
+ const result = {};
377
+ if (attributes) {
378
+ for (const [key, value] of Object.entries(attributes)) {
379
+ if (value !== undefined && value !== null) {
380
+ result[key] = String(value);
381
+ }
382
+ }
383
+ }
384
+ return result;
385
+ }
386
+ hrTimeToISOString(hrTime) {
387
+ const [seconds, nanoseconds] = hrTime;
388
+ const date = new Date(seconds * 1000 + nanoseconds / 1e6);
389
+ return date.toISOString();
390
+ }
391
+ selectAggregationTemporality() {
392
+ return import_sdk_metrics.AggregationTemporality.DELTA;
393
+ }
394
+ }
395
+ var import_core, import_sdk_metrics;
396
+ var init_bigqueryExporter = __esm(() => {
397
+ init_axios();
398
+ init_metricsOptOut();
399
+ init_state();
400
+ init_auth();
401
+ init_config();
402
+ init_debug();
403
+ init_errors();
404
+ init_http();
405
+ init_log();
406
+ init_slowOperations();
407
+ init_userAgent();
408
+ import_core = __toESM(require_src3(), 1);
409
+ import_sdk_metrics = __toESM(require_src6(), 1);
410
+ });
411
+
412
+ // src/utils/telemetry/logger.ts
413
+ class ClaudeCodeDiagLogger {
414
+ error(message, ..._) {
415
+ logError(new Error(message));
416
+ logForDebugging(`[3P telemetry] OTEL diag error: ${message}`, {
417
+ level: "error"
418
+ });
419
+ }
420
+ warn(message, ..._) {
421
+ logError(new Error(message));
422
+ logForDebugging(`[3P telemetry] OTEL diag warn: ${message}`, {
423
+ level: "warn"
424
+ });
425
+ }
426
+ info(_message, ..._args) {
427
+ return;
428
+ }
429
+ debug(_message, ..._args) {
430
+ return;
431
+ }
432
+ verbose(_message, ..._args) {
433
+ return;
434
+ }
435
+ }
436
+ var init_logger = __esm(() => {
437
+ init_debug();
438
+ init_log();
439
+ });
440
+
441
+ // src/utils/telemetry/instrumentation.ts
442
+ function telemetryTimeout(ms, message) {
443
+ return new Promise((_, reject) => {
444
+ setTimeout((rej, msg) => rej(new TelemetryTimeoutError(msg)), ms, reject, message).unref();
445
+ });
446
+ }
447
+ function bootstrapTelemetry() {
448
+ if (process.env.USER_TYPE === "ant") {
449
+ if (process.env.ANT_OTEL_METRICS_EXPORTER) {
450
+ process.env.OTEL_METRICS_EXPORTER = process.env.ANT_OTEL_METRICS_EXPORTER;
451
+ }
452
+ if (process.env.ANT_OTEL_LOGS_EXPORTER) {
453
+ process.env.OTEL_LOGS_EXPORTER = process.env.ANT_OTEL_LOGS_EXPORTER;
454
+ }
455
+ if (process.env.ANT_OTEL_TRACES_EXPORTER) {
456
+ process.env.OTEL_TRACES_EXPORTER = process.env.ANT_OTEL_TRACES_EXPORTER;
457
+ }
458
+ if (process.env.ANT_OTEL_EXPORTER_OTLP_PROTOCOL) {
459
+ process.env.OTEL_EXPORTER_OTLP_PROTOCOL = process.env.ANT_OTEL_EXPORTER_OTLP_PROTOCOL;
460
+ }
461
+ if (process.env.ANT_OTEL_EXPORTER_OTLP_ENDPOINT) {
462
+ process.env.OTEL_EXPORTER_OTLP_ENDPOINT = process.env.ANT_OTEL_EXPORTER_OTLP_ENDPOINT;
463
+ }
464
+ if (process.env.ANT_OTEL_EXPORTER_OTLP_HEADERS) {
465
+ process.env.OTEL_EXPORTER_OTLP_HEADERS = process.env.ANT_OTEL_EXPORTER_OTLP_HEADERS;
466
+ }
467
+ }
468
+ if (!process.env.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE) {
469
+ process.env.OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE = "delta";
470
+ }
471
+ }
472
+ function parseExporterTypes(value) {
473
+ return (value || "").trim().split(",").filter(Boolean).map((t) => t.trim()).filter((t) => t !== "none");
474
+ }
475
+ async function getOtlpReaders() {
476
+ const exporterTypes = parseExporterTypes(process.env.OTEL_METRICS_EXPORTER);
477
+ const exportInterval = parseInt(process.env.OTEL_METRIC_EXPORT_INTERVAL || DEFAULT_METRICS_EXPORT_INTERVAL_MS.toString());
478
+ const exporters = [];
479
+ for (const exporterType of exporterTypes) {
480
+ if (exporterType === "console") {
481
+ const consoleExporter = new import_sdk_metrics2.ConsoleMetricExporter;
482
+ const originalExport = consoleExporter.export.bind(consoleExporter);
483
+ consoleExporter.export = (metrics, callback) => {
484
+ if (metrics.resource && metrics.resource.attributes) {
485
+ logForDebugging(`
486
+ === Resource Attributes ===`);
487
+ logForDebugging(jsonStringify(metrics.resource.attributes));
488
+ logForDebugging(`===========================
489
+ `);
490
+ }
491
+ return originalExport(metrics, callback);
492
+ };
493
+ exporters.push(consoleExporter);
494
+ } else if (exporterType === "otlp") {
495
+ const protocol = process.env.OTEL_EXPORTER_OTLP_METRICS_PROTOCOL?.trim() || process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim();
496
+ const httpConfig = getOTLPExporterConfig();
497
+ switch (protocol) {
498
+ case "grpc": {
499
+ const { OTLPMetricExporter } = await import("./chunk-f9nt10jh.js").then((m)=>__toESM(m.default,1));
500
+ exporters.push(new OTLPMetricExporter);
501
+ break;
502
+ }
503
+ case "http/json": {
504
+ const { OTLPMetricExporter } = await import("./chunk-8y12jxg8.js").then((m)=>__toESM(m.default,1));
505
+ exporters.push(new OTLPMetricExporter(httpConfig));
506
+ break;
507
+ }
508
+ case "http/protobuf": {
509
+ const { OTLPMetricExporter } = await import("./chunk-s3pzvdss.js");
510
+ exporters.push(new OTLPMetricExporter(httpConfig));
511
+ break;
512
+ }
513
+ default:
514
+ throw new Error(`Unknown protocol set in OTEL_EXPORTER_OTLP_METRICS_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${protocol}`);
515
+ }
516
+ } else if (exporterType === "prometheus") {
517
+ const { PrometheusExporter } = await import("./chunk-6gr3c3w9.js").then((m)=>__toESM(m.default,1));
518
+ exporters.push(new PrometheusExporter);
519
+ } else {
520
+ throw new Error(`Unknown exporter type set in OTEL_EXPORTER_OTLP_METRICS_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${exporterType}`);
521
+ }
522
+ }
523
+ return exporters.map((exporter) => {
524
+ if ("export" in exporter) {
525
+ return new import_sdk_metrics2.PeriodicExportingMetricReader({
526
+ exporter,
527
+ exportIntervalMillis: exportInterval
528
+ });
529
+ }
530
+ return exporter;
531
+ });
532
+ }
533
+ async function getOtlpLogExporters() {
534
+ const exporterTypes = parseExporterTypes(process.env.OTEL_LOGS_EXPORTER);
535
+ const protocol = process.env.OTEL_EXPORTER_OTLP_LOGS_PROTOCOL?.trim() || process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim();
536
+ const endpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
537
+ logForDebugging(`[3P telemetry] getOtlpLogExporters: types=${jsonStringify(exporterTypes)}, protocol=${protocol}, endpoint=${endpoint}`);
538
+ const exporters = [];
539
+ for (const exporterType of exporterTypes) {
540
+ if (exporterType === "console") {
541
+ exporters.push(new ConsoleLogRecordExporter);
542
+ } else if (exporterType === "otlp") {
543
+ const httpConfig = getOTLPExporterConfig();
544
+ switch (protocol) {
545
+ case "grpc": {
546
+ const { OTLPLogExporter } = await import("./chunk-dd60e5wj.js").then((m)=>__toESM(m.default,1));
547
+ exporters.push(new OTLPLogExporter);
548
+ break;
549
+ }
550
+ case "http/json": {
551
+ const { OTLPLogExporter } = await import("./chunk-6bd8brc4.js");
552
+ exporters.push(new OTLPLogExporter(httpConfig));
553
+ break;
554
+ }
555
+ case "http/protobuf": {
556
+ const { OTLPLogExporter } = await import("./chunk-a9zh40sj.js");
557
+ exporters.push(new OTLPLogExporter(httpConfig));
558
+ break;
559
+ }
560
+ default:
561
+ throw new Error(`Unknown protocol set in OTEL_EXPORTER_OTLP_LOGS_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${protocol}`);
562
+ }
563
+ } else {
564
+ throw new Error(`Unknown exporter type set in OTEL_LOGS_EXPORTER env var: ${exporterType}`);
565
+ }
566
+ }
567
+ return exporters;
568
+ }
569
+ async function getOtlpTraceExporters() {
570
+ const exporterTypes = parseExporterTypes(process.env.OTEL_TRACES_EXPORTER);
571
+ const exporters = [];
572
+ for (const exporterType of exporterTypes) {
573
+ if (exporterType === "console") {
574
+ exporters.push(new ConsoleSpanExporter);
575
+ } else if (exporterType === "otlp") {
576
+ const protocol = process.env.OTEL_EXPORTER_OTLP_TRACES_PROTOCOL?.trim() || process.env.OTEL_EXPORTER_OTLP_PROTOCOL?.trim();
577
+ const httpConfig = getOTLPExporterConfig();
578
+ switch (protocol) {
579
+ case "grpc": {
580
+ const { OTLPTraceExporter } = await import("./chunk-eskw6xkv.js").then((m)=>__toESM(m.default,1));
581
+ exporters.push(new OTLPTraceExporter);
582
+ break;
583
+ }
584
+ case "http/json": {
585
+ const { OTLPTraceExporter } = await import("./chunk-dgqrcy74.js");
586
+ exporters.push(new OTLPTraceExporter(httpConfig));
587
+ break;
588
+ }
589
+ case "http/protobuf": {
590
+ const { OTLPTraceExporter } = await import("./chunk-8ymf4e6z.js");
591
+ exporters.push(new OTLPTraceExporter(httpConfig));
592
+ break;
593
+ }
594
+ default:
595
+ throw new Error(`Unknown protocol set in OTEL_EXPORTER_OTLP_TRACES_PROTOCOL or OTEL_EXPORTER_OTLP_PROTOCOL env var: ${protocol}`);
596
+ }
597
+ } else {
598
+ throw new Error(`Unknown exporter type set in OTEL_TRACES_EXPORTER env var: ${exporterType}`);
599
+ }
600
+ }
601
+ return exporters;
602
+ }
603
+ function isTelemetryEnabled() {
604
+ return isEnvTruthy(process.env.CLAUDE_CODE_ENABLE_TELEMETRY);
605
+ }
606
+ function getBigQueryExportingReader() {
607
+ const bigqueryExporter = new BigQueryMetricsExporter;
608
+ return new import_sdk_metrics2.PeriodicExportingMetricReader({
609
+ exporter: bigqueryExporter,
610
+ exportIntervalMillis: 300000
611
+ });
612
+ }
613
+ function isBigQueryMetricsEnabled() {
614
+ const subscriptionType = getSubscriptionType();
615
+ const isC4EOrTeamUser = isClaudeAISubscriber() && (subscriptionType === "enterprise" || subscriptionType === "team");
616
+ return is1PApiCustomer() || isC4EOrTeamUser;
617
+ }
618
+ async function initializeBetaTracing(resource) {
619
+ const endpoint = process.env.BETA_TRACING_ENDPOINT;
620
+ if (!endpoint) {
621
+ return;
622
+ }
623
+ const [{ OTLPTraceExporter }, { OTLPLogExporter }] = await Promise.all([
624
+ import("./chunk-dgqrcy74.js"),
625
+ import("./chunk-6bd8brc4.js")
626
+ ]);
627
+ const httpConfig = {
628
+ url: `${endpoint}/v1/traces`
629
+ };
630
+ const logHttpConfig = {
631
+ url: `${endpoint}/v1/logs`
632
+ };
633
+ const traceExporter = new OTLPTraceExporter(httpConfig);
634
+ const spanProcessor = new BatchSpanProcessor(traceExporter, {
635
+ scheduledDelayMillis: DEFAULT_TRACES_EXPORT_INTERVAL_MS
636
+ });
637
+ const tracerProvider = new BasicTracerProvider({
638
+ resource,
639
+ spanProcessors: [spanProcessor]
640
+ });
641
+ import_api.trace.setGlobalTracerProvider(tracerProvider);
642
+ setTracerProvider(tracerProvider);
643
+ const logExporter = new OTLPLogExporter(logHttpConfig);
644
+ const loggerProvider = new LoggerProvider({
645
+ resource,
646
+ processors: [
647
+ new BatchLogRecordProcessor(logExporter, {
648
+ scheduledDelayMillis: DEFAULT_LOGS_EXPORT_INTERVAL_MS
649
+ })
650
+ ]
651
+ });
652
+ import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
653
+ setLoggerProvider(loggerProvider);
654
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "2.1.888");
655
+ setEventLogger(eventLogger);
656
+ process.on("beforeExit", async () => {
657
+ await loggerProvider?.forceFlush();
658
+ await tracerProvider?.forceFlush();
659
+ });
660
+ process.on("exit", () => {
661
+ loggerProvider?.forceFlush();
662
+ tracerProvider?.forceFlush();
663
+ });
664
+ }
665
+ async function initializeTelemetry() {
666
+ profileCheckpoint("telemetry_init_start");
667
+ bootstrapTelemetry();
668
+ if (getHasFormattedOutput()) {
669
+ for (const key of [
670
+ "OTEL_METRICS_EXPORTER",
671
+ "OTEL_LOGS_EXPORTER",
672
+ "OTEL_TRACES_EXPORTER"
673
+ ]) {
674
+ const v = process.env[key];
675
+ if (v?.includes("console")) {
676
+ process.env[key] = v.split(",").map((s) => s.trim()).filter((s) => s !== "console").join(",");
677
+ }
678
+ }
679
+ }
680
+ import_api.diag.setLogger(new ClaudeCodeDiagLogger, import_api.DiagLogLevel.ERROR);
681
+ initializePerfettoTracing();
682
+ const readers = [];
683
+ const telemetryEnabled = isTelemetryEnabled();
684
+ logForDebugging(`[3P telemetry] isTelemetryEnabled=${telemetryEnabled} (CLAUDE_CODE_ENABLE_TELEMETRY=${process.env.CLAUDE_CODE_ENABLE_TELEMETRY})`);
685
+ if (telemetryEnabled) {
686
+ readers.push(...await getOtlpReaders());
687
+ }
688
+ if (isBigQueryMetricsEnabled()) {
689
+ readers.push(getBigQueryExportingReader());
690
+ }
691
+ const platform = getPlatform();
692
+ const baseAttributes = {
693
+ [import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
694
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "2.1.888"
695
+ };
696
+ if (platform === "wsl") {
697
+ const wslVersion = getWslVersion();
698
+ if (wslVersion) {
699
+ baseAttributes["wsl.version"] = wslVersion;
700
+ }
701
+ }
702
+ const baseResource = import_resources.resourceFromAttributes(baseAttributes);
703
+ const osResource = import_resources.resourceFromAttributes(import_resources.osDetector.detect().attributes || {});
704
+ const hostDetected = import_resources.hostDetector.detect();
705
+ const hostArchAttributes = hostDetected.attributes?.[import_semantic_conventions.SEMRESATTRS_HOST_ARCH] ? {
706
+ [import_semantic_conventions.SEMRESATTRS_HOST_ARCH]: hostDetected.attributes[import_semantic_conventions.SEMRESATTRS_HOST_ARCH]
707
+ } : {};
708
+ const hostArchResource = import_resources.resourceFromAttributes(hostArchAttributes);
709
+ const envResource = import_resources.resourceFromAttributes(import_resources.envDetector.detect().attributes || {});
710
+ const resource = baseResource.merge(osResource).merge(hostArchResource).merge(envResource);
711
+ if (isBetaTracingEnabled()) {
712
+ initializeBetaTracing(resource).catch((e) => logForDebugging(`Beta tracing init failed: ${e}`, { level: "error" }));
713
+ const meterProvider2 = new import_sdk_metrics2.MeterProvider({
714
+ resource,
715
+ views: [],
716
+ readers
717
+ });
718
+ setMeterProvider(meterProvider2);
719
+ const shutdownTelemetry2 = async () => {
720
+ const timeoutMs = parseInt(process.env.CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS || "2000");
721
+ try {
722
+ endInteractionSpan();
723
+ const loggerProvider = getLoggerProvider();
724
+ const tracerProvider = getTracerProvider();
725
+ const chains = [meterProvider2.shutdown()];
726
+ if (loggerProvider) {
727
+ chains.push(loggerProvider.forceFlush().then(() => loggerProvider.shutdown()));
728
+ }
729
+ if (tracerProvider) {
730
+ chains.push(tracerProvider.forceFlush().then(() => tracerProvider.shutdown()));
731
+ }
732
+ await Promise.race([
733
+ Promise.all(chains),
734
+ telemetryTimeout(timeoutMs, "OpenTelemetry shutdown timeout")
735
+ ]);
736
+ } catch {}
737
+ };
738
+ registerCleanup(shutdownTelemetry2);
739
+ return meterProvider2.getMeter("com.anthropic.claude_code", "2.1.888");
740
+ }
741
+ const meterProvider = new import_sdk_metrics2.MeterProvider({
742
+ resource,
743
+ views: [],
744
+ readers
745
+ });
746
+ setMeterProvider(meterProvider);
747
+ if (telemetryEnabled) {
748
+ const logExporters = await getOtlpLogExporters();
749
+ logForDebugging(`[3P telemetry] Created ${logExporters.length} log exporter(s)`);
750
+ if (logExporters.length > 0) {
751
+ const loggerProvider = new LoggerProvider({
752
+ resource,
753
+ processors: logExporters.map((exporter) => new BatchLogRecordProcessor(exporter, {
754
+ scheduledDelayMillis: parseInt(process.env.OTEL_LOGS_EXPORT_INTERVAL || DEFAULT_LOGS_EXPORT_INTERVAL_MS.toString())
755
+ }))
756
+ });
757
+ import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
758
+ setLoggerProvider(loggerProvider);
759
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "2.1.888");
760
+ setEventLogger(eventLogger);
761
+ logForDebugging("[3P telemetry] Event logger set successfully");
762
+ process.on("beforeExit", async () => {
763
+ await loggerProvider?.forceFlush();
764
+ const tracerProvider = getTracerProvider();
765
+ await tracerProvider?.forceFlush();
766
+ });
767
+ process.on("exit", () => {
768
+ loggerProvider?.forceFlush();
769
+ getTracerProvider()?.forceFlush();
770
+ });
771
+ }
772
+ }
773
+ if (telemetryEnabled && isEnhancedTelemetryEnabled()) {
774
+ const traceExporters = await getOtlpTraceExporters();
775
+ if (traceExporters.length > 0) {
776
+ const spanProcessors = traceExporters.map((exporter) => new BatchSpanProcessor(exporter, {
777
+ scheduledDelayMillis: parseInt(process.env.OTEL_TRACES_EXPORT_INTERVAL || DEFAULT_TRACES_EXPORT_INTERVAL_MS.toString())
778
+ }));
779
+ const tracerProvider = new BasicTracerProvider({
780
+ resource,
781
+ spanProcessors
782
+ });
783
+ import_api.trace.setGlobalTracerProvider(tracerProvider);
784
+ setTracerProvider(tracerProvider);
785
+ }
786
+ }
787
+ const shutdownTelemetry = async () => {
788
+ const timeoutMs = parseInt(process.env.CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS || "2000");
789
+ try {
790
+ endInteractionSpan();
791
+ const shutdownPromises = [meterProvider.shutdown()];
792
+ const loggerProvider = getLoggerProvider();
793
+ if (loggerProvider) {
794
+ shutdownPromises.push(loggerProvider.shutdown());
795
+ }
796
+ const tracerProvider = getTracerProvider();
797
+ if (tracerProvider) {
798
+ shutdownPromises.push(tracerProvider.shutdown());
799
+ }
800
+ await Promise.race([
801
+ Promise.all(shutdownPromises),
802
+ telemetryTimeout(timeoutMs, "OpenTelemetry shutdown timeout")
803
+ ]);
804
+ } catch (error) {
805
+ if (error instanceof Error && error.message.includes("timeout")) {
806
+ logForDebugging(`
807
+ OpenTelemetry telemetry flush timed out after ${timeoutMs}ms
808
+
809
+ To resolve this issue, you can:
810
+ 1. Increase the timeout by setting CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS env var (e.g., 5000 for 5 seconds)
811
+ 2. Check if your OpenTelemetry backend is experiencing scalability issues
812
+ 3. Disable OpenTelemetry by unsetting CLAUDE_CODE_ENABLE_TELEMETRY env var
813
+
814
+ Current timeout: ${timeoutMs}ms
815
+ `, { level: "error" });
816
+ }
817
+ throw error;
818
+ }
819
+ };
820
+ registerCleanup(shutdownTelemetry);
821
+ return meterProvider.getMeter("com.anthropic.claude_code", "2.1.888");
822
+ }
823
+ async function flushTelemetry() {
824
+ const meterProvider = getMeterProvider();
825
+ if (!meterProvider) {
826
+ return;
827
+ }
828
+ const timeoutMs = parseInt(process.env.CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS || "5000");
829
+ try {
830
+ const flushPromises = [meterProvider.forceFlush()];
831
+ const loggerProvider = getLoggerProvider();
832
+ if (loggerProvider) {
833
+ flushPromises.push(loggerProvider.forceFlush());
834
+ }
835
+ const tracerProvider = getTracerProvider();
836
+ if (tracerProvider) {
837
+ flushPromises.push(tracerProvider.forceFlush());
838
+ }
839
+ await Promise.race([
840
+ Promise.all(flushPromises),
841
+ telemetryTimeout(timeoutMs, "OpenTelemetry flush timeout")
842
+ ]);
843
+ logForDebugging("Telemetry flushed successfully");
844
+ } catch (error) {
845
+ if (error instanceof TelemetryTimeoutError) {
846
+ logForDebugging(`Telemetry flush timed out after ${timeoutMs}ms. Some metrics may not be exported.`, { level: "warn" });
847
+ } else {
848
+ logForDebugging(`Telemetry flush failed: ${errorMessage(error)}`, {
849
+ level: "error"
850
+ });
851
+ }
852
+ }
853
+ }
854
+ function parseOtelHeadersEnvVar() {
855
+ const headers = {};
856
+ const envHeaders = process.env.OTEL_EXPORTER_OTLP_HEADERS;
857
+ if (envHeaders) {
858
+ for (const pair of envHeaders.split(",")) {
859
+ const [key, ...valueParts] = pair.split("=");
860
+ if (key && valueParts.length > 0) {
861
+ headers[key.trim()] = valueParts.join("=").trim();
862
+ }
863
+ }
864
+ }
865
+ return headers;
866
+ }
867
+ function getOTLPExporterConfig() {
868
+ const proxyUrl = getProxyUrl();
869
+ const mtlsConfig = getMTLSConfig();
870
+ const settings = getSettings_DEPRECATED();
871
+ const config = {};
872
+ const staticHeaders = parseOtelHeadersEnvVar();
873
+ if (settings?.otelHeadersHelper) {
874
+ config.headers = async () => {
875
+ const dynamicHeaders = getOtelHeadersFromHelper();
876
+ return { ...staticHeaders, ...dynamicHeaders };
877
+ };
878
+ } else if (Object.keys(staticHeaders).length > 0) {
879
+ config.headers = async () => staticHeaders;
880
+ }
881
+ const otelEndpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT;
882
+ if (!proxyUrl || otelEndpoint && shouldBypassProxy(otelEndpoint)) {
883
+ const caCerts2 = getCACertificates();
884
+ if (mtlsConfig || caCerts2) {
885
+ config.httpAgentOptions = {
886
+ ...mtlsConfig,
887
+ ...caCerts2 && { ca: caCerts2 }
888
+ };
889
+ }
890
+ return config;
891
+ }
892
+ const caCerts = getCACertificates();
893
+ const agentFactory = (_protocol) => {
894
+ const proxyAgent = mtlsConfig || caCerts ? new HttpsProxyAgent(proxyUrl, {
895
+ ...mtlsConfig && {
896
+ cert: mtlsConfig.cert,
897
+ key: mtlsConfig.key,
898
+ passphrase: mtlsConfig.passphrase
899
+ },
900
+ ...caCerts && { ca: caCerts }
901
+ }) : new HttpsProxyAgent(proxyUrl);
902
+ return proxyAgent;
903
+ };
904
+ config.httpAgentOptions = agentFactory;
905
+ return config;
906
+ }
907
+ var import_api, import_api_logs, import_resources, import_sdk_metrics2, import_semantic_conventions, DEFAULT_METRICS_EXPORT_INTERVAL_MS = 60000, DEFAULT_LOGS_EXPORT_INTERVAL_MS = 5000, DEFAULT_TRACES_EXPORT_INTERVAL_MS = 5000, TelemetryTimeoutError;
908
+ var init_instrumentation = __esm(() => {
909
+ init_esm();
910
+ init_esm2();
911
+ init_dist();
912
+ init_state();
913
+ init_auth();
914
+ init_platform();
915
+ init_caCerts();
916
+ init_cleanupRegistry();
917
+ init_debug();
918
+ init_envUtils();
919
+ init_errors();
920
+ init_mtls();
921
+ init_proxy();
922
+ init_settings();
923
+ init_slowOperations();
924
+ init_startupProfiler();
925
+ init_betaSessionTracing();
926
+ init_bigqueryExporter();
927
+ init_logger();
928
+ init_perfettoTracing();
929
+ init_sessionTracing();
930
+ import_api = __toESM(require_src(), 1);
931
+ import_api_logs = __toESM(require_src5(), 1);
932
+ import_resources = __toESM(require_src4(), 1);
933
+ import_sdk_metrics2 = __toESM(require_src6(), 1);
934
+ import_semantic_conventions = __toESM(require_src2(), 1);
935
+ TelemetryTimeoutError = class TelemetryTimeoutError extends Error {
936
+ };
937
+ });
938
+ init_instrumentation();
939
+
940
+ export {
941
+ parseExporterTypes,
942
+ isTelemetryEnabled,
943
+ initializeTelemetry,
944
+ flushTelemetry,
945
+ bootstrapTelemetry
946
+ };