gong-code 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/README.md +38 -0
  2. package/dist/SKILL-22jccbka.md +1 -0
  3. package/dist/chunk-01wdn84e.js +8 -0
  4. package/dist/chunk-04bc74vz.js +243 -0
  5. package/dist/chunk-05t2vqsb.js +490 -0
  6. package/dist/chunk-0727wret.js +159 -0
  7. package/dist/chunk-07rervty.js +200 -0
  8. package/dist/chunk-0b9nxvyg.js +478 -0
  9. package/dist/chunk-0e428b73.js +600 -0
  10. package/dist/chunk-0hqfheht.js +3439 -0
  11. package/dist/chunk-0pnk52c2.js +116 -0
  12. package/dist/chunk-0sbddf6m.js +68 -0
  13. package/dist/chunk-0vf7xb84.js +176 -0
  14. package/dist/chunk-0yz17yjy.js +1061 -0
  15. package/dist/chunk-0zscb6c7.js +10 -0
  16. package/dist/chunk-10p21kq6.js +378 -0
  17. package/dist/chunk-17k78pmz.js +120 -0
  18. package/dist/chunk-19jvvqzp.js +1390 -0
  19. package/dist/chunk-1d5czqnr.js +173 -0
  20. package/dist/chunk-1gjysfnf.js +13876 -0
  21. package/dist/chunk-1jjfv0wd.js +467 -0
  22. package/dist/chunk-1jjzp2pa.js +617 -0
  23. package/dist/chunk-1m38dj2k.js +155 -0
  24. package/dist/chunk-1pgttway.js +211 -0
  25. package/dist/chunk-1vvnx0gb.js +8035 -0
  26. package/dist/chunk-1ztm9yps.js +49145 -0
  27. package/dist/chunk-208x1t0m.js +88 -0
  28. package/dist/chunk-20xqs3yk.js +843 -0
  29. package/dist/chunk-2b2c0wnn.js +584 -0
  30. package/dist/chunk-2g07117j.js +541 -0
  31. package/dist/chunk-2g6p2t3w.js +780 -0
  32. package/dist/chunk-2kjeaeg7.js +28 -0
  33. package/dist/chunk-2n0s2dhc.js +12 -0
  34. package/dist/chunk-2p0hvt8k.js +785 -0
  35. package/dist/chunk-2qmxg9y7.js +40174 -0
  36. package/dist/chunk-2qpy8kne.js +28 -0
  37. package/dist/chunk-2rgbf62a.js +40 -0
  38. package/dist/chunk-2tx0s41y.js +150 -0
  39. package/dist/chunk-2x8zk5cz.js +101 -0
  40. package/dist/chunk-2yqy25z4.js +48 -0
  41. package/dist/chunk-318g78ty.js +552 -0
  42. package/dist/chunk-31gfg8tz.js +290 -0
  43. package/dist/chunk-32n0s532.js +1317 -0
  44. package/dist/chunk-35dw2r9g.js +137 -0
  45. package/dist/chunk-36b5zqvn.js +1865 -0
  46. package/dist/chunk-38kpx69j.js +97 -0
  47. package/dist/chunk-3b01vp8p.js +815 -0
  48. package/dist/chunk-3f76a1ek.js +317 -0
  49. package/dist/chunk-3fd1hkhh.js +4254 -0
  50. package/dist/chunk-3ffxa7zj.js +8 -0
  51. package/dist/chunk-3gcj7w95.js +8 -0
  52. package/dist/chunk-3jf3k40v.js +970 -0
  53. package/dist/chunk-3k51qfp9.js +9301 -0
  54. package/dist/chunk-3mhygd2v.js +1180 -0
  55. package/dist/chunk-3p6y0gvb.js +117 -0
  56. package/dist/chunk-3r60xdt5.js +93 -0
  57. package/dist/chunk-43agf6xv.js +8 -0
  58. package/dist/chunk-46zr418r.js +15 -0
  59. package/dist/chunk-48k2bs4w.js +118 -0
  60. package/dist/chunk-4p987a4z.js +84 -0
  61. package/dist/chunk-4px25pe0.js +776 -0
  62. package/dist/chunk-4s93jyky.js +113 -0
  63. package/dist/chunk-4xv8bedf.js +58 -0
  64. package/dist/chunk-4y382mzd.js +346 -0
  65. package/dist/chunk-52dzw4bc.js +246 -0
  66. package/dist/chunk-52qqmh5g.js +110 -0
  67. package/dist/chunk-53grnhp7.js +8 -0
  68. package/dist/chunk-59craaxx.js +4249 -0
  69. package/dist/chunk-5b833jqs.js +96 -0
  70. package/dist/chunk-5cp2q9sh.js +58 -0
  71. package/dist/chunk-5dbaxmts.js +87 -0
  72. package/dist/chunk-5f5sxgp0.js +96 -0
  73. package/dist/chunk-5mkfderj.js +195 -0
  74. package/dist/chunk-5qw0mpvq.js +389 -0
  75. package/dist/chunk-5rxmszm8.js +48 -0
  76. package/dist/chunk-5ygxa3hr.js +65 -0
  77. package/dist/chunk-61d5dqq2.js +71 -0
  78. package/dist/chunk-6350958y.js +272 -0
  79. package/dist/chunk-65z8hg8j.js +1337 -0
  80. package/dist/chunk-6aq85gdq.js +8 -0
  81. package/dist/chunk-6cjh9exg.js +40751 -0
  82. package/dist/chunk-6e41p5m6.js +187 -0
  83. package/dist/chunk-6jb6xcnq.js +10511 -0
  84. package/dist/chunk-6jta29r1.js +20 -0
  85. package/dist/chunk-6q7f2rrv.js +4757 -0
  86. package/dist/chunk-6sg0ec6v.js +41 -0
  87. package/dist/chunk-6v0rhx4e.js +328 -0
  88. package/dist/chunk-6x5mz95v.js +751 -0
  89. package/dist/chunk-6xqp51qr.js +87 -0
  90. package/dist/chunk-6xvyx1s9.js +6957 -0
  91. package/dist/chunk-6ywh7wgp.js +468 -0
  92. package/dist/chunk-75ne77gm.js +1920 -0
  93. package/dist/chunk-77cb06js.js +602 -0
  94. package/dist/chunk-78n9kfp8.js +1645 -0
  95. package/dist/chunk-7be87rww.js +277 -0
  96. package/dist/chunk-7e1qjk3s.js +125 -0
  97. package/dist/chunk-7e7nxnss.js +360 -0
  98. package/dist/chunk-7g8156qp.js +55 -0
  99. package/dist/chunk-7nz71s42.js +3353 -0
  100. package/dist/chunk-7r078t2x.js +113 -0
  101. package/dist/chunk-7shx41hj.js +3094 -0
  102. package/dist/chunk-7yexhdjs.js +216 -0
  103. package/dist/chunk-83kmfcjv.js +256 -0
  104. package/dist/chunk-846rr9n1.js +107 -0
  105. package/dist/chunk-84ncsm1r.js +183 -0
  106. package/dist/chunk-867x8aq0.js +8936 -0
  107. package/dist/chunk-8byh30kb.js +1947 -0
  108. package/dist/chunk-8c8f6gnt.js +432 -0
  109. package/dist/chunk-8gtdseev.js +454 -0
  110. package/dist/chunk-8jfh9rq6.js +642 -0
  111. package/dist/chunk-8n4n4m67.js +800 -0
  112. package/dist/chunk-8za61tze.js +847 -0
  113. package/dist/chunk-9029sbq1.js +57 -0
  114. package/dist/chunk-94dm5rrm.js +673 -0
  115. package/dist/chunk-9bs8n985.js +329 -0
  116. package/dist/chunk-9c23776j.js +763 -0
  117. package/dist/chunk-9e93g81n.js +298 -0
  118. package/dist/chunk-9f3d61y7.js +548 -0
  119. package/dist/chunk-9gc3andd.js +422 -0
  120. package/dist/chunk-9kn3tgpb.js +130 -0
  121. package/dist/chunk-9m5rn7hk.js +61 -0
  122. package/dist/chunk-9p4hsd6a.js +50 -0
  123. package/dist/chunk-9qasfk8n.js +758 -0
  124. package/dist/chunk-9snp5mn2.js +533 -0
  125. package/dist/chunk-9tcvras3.js +2331 -0
  126. package/dist/chunk-a0186ngk.js +57 -0
  127. package/dist/chunk-a2m8f0aj.js +268 -0
  128. package/dist/chunk-a2rcafav.js +716 -0
  129. package/dist/chunk-a9hjdzar.js +160 -0
  130. package/dist/chunk-aak6ts5n.js +526 -0
  131. package/dist/chunk-aca3w84n.js +267 -0
  132. package/dist/chunk-ae76ded0.js +30 -0
  133. package/dist/chunk-afnjhn3j.js +21933 -0
  134. package/dist/chunk-ahj70tf0.js +880 -0
  135. package/dist/chunk-apjsxssq.js +169 -0
  136. package/dist/chunk-av49wjj1.js +43 -0
  137. package/dist/chunk-axggebfy.js +206 -0
  138. package/dist/chunk-az7jpbv8.js +16 -0
  139. package/dist/chunk-azz7sep6.js +328 -0
  140. package/dist/chunk-b4tpz2g1.js +93 -0
  141. package/dist/chunk-bczf2eyq.js +115 -0
  142. package/dist/chunk-bd95f637.js +208 -0
  143. package/dist/chunk-bdhdmkya.js +10 -0
  144. package/dist/chunk-bp0ynk17.js +32 -0
  145. package/dist/chunk-bq75gxjs.js +90 -0
  146. package/dist/chunk-btk5jaq6.js +10464 -0
  147. package/dist/chunk-bv4c48a5.js +120 -0
  148. package/dist/chunk-byfb105n.js +341 -0
  149. package/dist/chunk-c0bdmy7w.js +4223 -0
  150. package/dist/chunk-c20aqkz8.js +641 -0
  151. package/dist/chunk-c4jg3s2c.js +163 -0
  152. package/dist/chunk-c61q5cer.js +258 -0
  153. package/dist/chunk-c9f761sy.js +386 -0
  154. package/dist/chunk-ca6jkz06.js +157 -0
  155. package/dist/chunk-ccyg9ap9.js +171374 -0
  156. package/dist/chunk-cfej8cc7.js +371 -0
  157. package/dist/chunk-cjqxdnf9.js +23 -0
  158. package/dist/chunk-ckrs789w.js +8 -0
  159. package/dist/chunk-cqeq13wg.js +48 -0
  160. package/dist/chunk-crfj3w5e.js +22821 -0
  161. package/dist/chunk-ct5x6z7g.js +8066 -0
  162. package/dist/chunk-cv5h8n8c.js +101 -0
  163. package/dist/chunk-cwe8h159.js +1563 -0
  164. package/dist/chunk-cwm234zz.js +908 -0
  165. package/dist/chunk-d1jkfp45.js +1580 -0
  166. package/dist/chunk-d3hb1qdr.js +126 -0
  167. package/dist/chunk-d70d0zer.js +713 -0
  168. package/dist/chunk-d91tx29f.js +105 -0
  169. package/dist/chunk-d952pymh.js +20 -0
  170. package/dist/chunk-d9af3z8k.js +720 -0
  171. package/dist/chunk-da1n53c2.js +47 -0
  172. package/dist/chunk-df5c1x8m.js +732 -0
  173. package/dist/chunk-dkv64xys.js +71 -0
  174. package/dist/chunk-dm7166v6.js +251 -0
  175. package/dist/chunk-dr0y5a61.js +258 -0
  176. package/dist/chunk-drzb0rrd.js +306 -0
  177. package/dist/chunk-dw1v1q7w.js +37 -0
  178. package/dist/chunk-e224qet4.js +348 -0
  179. package/dist/chunk-e50ckbv0.js +1099 -0
  180. package/dist/chunk-e5gn6by6.js +1165 -0
  181. package/dist/chunk-e7m3f74m.js +37 -0
  182. package/dist/chunk-e8ghgwaj.js +295 -0
  183. package/dist/chunk-ed8k4ya2.js +41 -0
  184. package/dist/chunk-eh0vnqdz.js +76 -0
  185. package/dist/chunk-epwrzr35.js +4301 -0
  186. package/dist/chunk-er9h6sw5.js +5379 -0
  187. package/dist/chunk-eta5aekm.js +79 -0
  188. package/dist/chunk-ev5gxscq.js +63 -0
  189. package/dist/chunk-evp72hv5.js +212 -0
  190. package/dist/chunk-ex41stfq.js +127 -0
  191. package/dist/chunk-ezpa510h.js +62 -0
  192. package/dist/chunk-f0fm6dey.js +477 -0
  193. package/dist/chunk-f239sbhc.js +152 -0
  194. package/dist/chunk-f2bj47xf.js +109 -0
  195. package/dist/chunk-f4t24rq4.js +258 -0
  196. package/dist/chunk-f9ghvzy8.js +106 -0
  197. package/dist/chunk-f9rahzgr.js +99 -0
  198. package/dist/chunk-ff75qzty.js +521 -0
  199. package/dist/chunk-fj0ctt6q.js +264 -0
  200. package/dist/chunk-fj7wxdt3.js +221 -0
  201. package/dist/chunk-fnnpqv92.js +714 -0
  202. package/dist/chunk-fpd3zzx1.js +26696 -0
  203. package/dist/chunk-fqv2cn76.js +227 -0
  204. package/dist/chunk-fqw9j3bj.js +439 -0
  205. package/dist/chunk-frbcqhz0.js +4984 -0
  206. package/dist/chunk-fzkj59sg.js +174 -0
  207. package/dist/chunk-fzpzbpbw.js +248 -0
  208. package/dist/chunk-g52cpmd1.js +686 -0
  209. package/dist/chunk-g98m2qe6.js +31 -0
  210. package/dist/chunk-g9zgq4vy.js +715 -0
  211. package/dist/chunk-gbpt7tm8.js +687 -0
  212. package/dist/chunk-gg52jka8.js +373 -0
  213. package/dist/chunk-gjttphax.js +5793 -0
  214. package/dist/chunk-gs7vjaas.js +65 -0
  215. package/dist/chunk-gv8n85j2.js +8 -0
  216. package/dist/chunk-gxdwm6pt.js +650 -0
  217. package/dist/chunk-gy8wajg2.js +1014 -0
  218. package/dist/chunk-gz3647m0.js +200 -0
  219. package/dist/chunk-gzg07mqh.js +16 -0
  220. package/dist/chunk-h3zc60tq.js +44 -0
  221. package/dist/chunk-h4p1qt16.js +74 -0
  222. package/dist/chunk-h8219f18.js +282 -0
  223. package/dist/chunk-h9agq92v.js +331 -0
  224. package/dist/chunk-hhjtpwbj.js +16 -0
  225. package/dist/chunk-hpgpwzra.js +548 -0
  226. package/dist/chunk-hsnjvn19.js +80 -0
  227. package/dist/chunk-hsp9qrry.js +417 -0
  228. package/dist/chunk-hwz6aq2m.js +3939 -0
  229. package/dist/chunk-hzph0hbh.js +272 -0
  230. package/dist/chunk-hzqkss6v.js +153 -0
  231. package/dist/chunk-j0t31f39.js +1149 -0
  232. package/dist/chunk-j1qm6n1v.js +30 -0
  233. package/dist/chunk-j6e4b522.js +81 -0
  234. package/dist/chunk-j7qfbvxk.js +84 -0
  235. package/dist/chunk-j7qv3hvm.js +1635 -0
  236. package/dist/chunk-j8mxc6k6.js +213 -0
  237. package/dist/chunk-jevj87jn.js +224 -0
  238. package/dist/chunk-jk2ps88q.js +815 -0
  239. package/dist/chunk-jz7tbdyv.js +1599 -0
  240. package/dist/chunk-k36jpjvh.js +300 -0
  241. package/dist/chunk-k4nmrt3w.js +61 -0
  242. package/dist/chunk-kavn03r9.js +16606 -0
  243. package/dist/chunk-kkgav8dm.js +54 -0
  244. package/dist/chunk-kkq26g5c.js +33 -0
  245. package/dist/chunk-kp6nepx4.js +106 -0
  246. package/dist/chunk-ksefybc8.js +1551 -0
  247. package/dist/chunk-kv147680.js +3436 -0
  248. package/dist/chunk-kya46axt.js +833 -0
  249. package/dist/chunk-kyz233ny.js +227 -0
  250. package/dist/chunk-kzs75xmj.js +143 -0
  251. package/dist/chunk-m0vrez9w.js +266 -0
  252. package/dist/chunk-m1wadav3.js +118 -0
  253. package/dist/chunk-m4rfx3cj.js +221 -0
  254. package/dist/chunk-mc9zaggs.js +6374 -0
  255. package/dist/chunk-mcg5ttj4.js +105 -0
  256. package/dist/chunk-mf4r7918.js +63 -0
  257. package/dist/chunk-mh9khrt4.js +286 -0
  258. package/dist/chunk-mhc4szw7.js +22 -0
  259. package/dist/chunk-mkq0yzp0.js +38 -0
  260. package/dist/chunk-mr58jv4w.js +256 -0
  261. package/dist/chunk-mrrx3bmt.js +168 -0
  262. package/dist/chunk-mtyk3zz6.js +87 -0
  263. package/dist/chunk-mvgxntv6.js +62 -0
  264. package/dist/chunk-mwnjydcm.js +102 -0
  265. package/dist/chunk-mwxt0m3f.js +862 -0
  266. package/dist/chunk-mz1pxck8.js +998 -0
  267. package/dist/chunk-n3agghys.js +214 -0
  268. package/dist/chunk-n6q02ya9.js +442 -0
  269. package/dist/chunk-nt3y91vh.js +443 -0
  270. package/dist/chunk-nt837qt9.js +21 -0
  271. package/dist/chunk-ntgmegfs.js +39 -0
  272. package/dist/chunk-nwk16bbd.js +30 -0
  273. package/dist/chunk-p367ay90.js +672 -0
  274. package/dist/chunk-p7m3x9qk.js +48 -0
  275. package/dist/chunk-pagmjwp5.js +132 -0
  276. package/dist/chunk-pbd4r8ek.js +161 -0
  277. package/dist/chunk-pdkpssgv.js +2422 -0
  278. package/dist/chunk-pf6z1e35.js +32 -0
  279. package/dist/chunk-pfzejvpt.js +213 -0
  280. package/dist/chunk-pktxyhvk.js +400 -0
  281. package/dist/chunk-pp5xhveq.js +124 -0
  282. package/dist/chunk-ppnd7a8x.js +38 -0
  283. package/dist/chunk-pqh2w7dr.js +2202 -0
  284. package/dist/chunk-pr878d0z.js +240 -0
  285. package/dist/chunk-psf0y7hy.js +140 -0
  286. package/dist/chunk-pz2zz2f7.js +1586 -0
  287. package/dist/chunk-q0xkrxy8.js +890 -0
  288. package/dist/chunk-q5b0kpr3.js +14369 -0
  289. package/dist/chunk-q7z3t531.js +334 -0
  290. package/dist/chunk-qdjjtgwt.js +3183 -0
  291. package/dist/chunk-qezv7msv.js +26 -0
  292. package/dist/chunk-qmxn7f86.js +2643 -0
  293. package/dist/chunk-qqc3b97c.js +15 -0
  294. package/dist/chunk-qwrp63wh.js +145 -0
  295. package/dist/chunk-qyvqbst3.js +537 -0
  296. package/dist/chunk-qztvd4hd.js +465 -0
  297. package/dist/chunk-r0bvez4y.js +235 -0
  298. package/dist/chunk-r3z0896k.js +2831 -0
  299. package/dist/chunk-r4cxb6t7.js +32 -0
  300. package/dist/chunk-rb8k68m7.js +118 -0
  301. package/dist/chunk-rdprgm4t.js +42 -0
  302. package/dist/chunk-rex82hys.js +1710 -0
  303. package/dist/chunk-rjjakkw2.js +2560 -0
  304. package/dist/chunk-rka6gcv3.js +304 -0
  305. package/dist/chunk-rkz12ghm.js +144 -0
  306. package/dist/chunk-rnc7m1qs.js +436 -0
  307. package/dist/chunk-rx6z23h0.js +165 -0
  308. package/dist/chunk-s76582j1.js +28 -0
  309. package/dist/chunk-sez03qd9.js +7140 -0
  310. package/dist/chunk-sjvdn2ep.js +130 -0
  311. package/dist/chunk-smwhyy8p.js +115 -0
  312. package/dist/chunk-snw7nh0d.js +695 -0
  313. package/dist/chunk-sqx9c057.js +193 -0
  314. package/dist/chunk-sscms68s.js +16 -0
  315. package/dist/chunk-stknnmsb.js +272 -0
  316. package/dist/chunk-sywdxbs6.js +853 -0
  317. package/dist/chunk-syxy4pf2.js +782 -0
  318. package/dist/chunk-t0hpqsqn.js +6157 -0
  319. package/dist/chunk-tjm70vnw.js +123 -0
  320. package/dist/chunk-trzh0msn.js +154 -0
  321. package/dist/chunk-v1z17cpg.js +723 -0
  322. package/dist/chunk-vsfj449x.js +333 -0
  323. package/dist/chunk-vvkq20tt.js +287 -0
  324. package/dist/chunk-vxgdzx6p.js +338 -0
  325. package/dist/chunk-vxqhjyfz.js +15 -0
  326. package/dist/chunk-vzsstfmb.js +80 -0
  327. package/dist/chunk-w1jew5sn.js +69 -0
  328. package/dist/chunk-w3kwr76v.js +789 -0
  329. package/dist/chunk-w40netr9.js +59 -0
  330. package/dist/chunk-w99cpfdg.js +559 -0
  331. package/dist/chunk-wacn14d2.js +271 -0
  332. package/dist/chunk-wbhrqrq3.js +3033 -0
  333. package/dist/chunk-wfg9g0p7.js +17612 -0
  334. package/dist/chunk-wj3vjsbx.js +93 -0
  335. package/dist/chunk-wjhq855a.js +372 -0
  336. package/dist/chunk-wr06gqxh.js +114 -0
  337. package/dist/chunk-ws0z2y1g.js +195 -0
  338. package/dist/chunk-wt62wqcj.js +98 -0
  339. package/dist/chunk-wx4v7ddx.js +42 -0
  340. package/dist/chunk-wy0t3vb2.js +6101 -0
  341. package/dist/chunk-wysz7qk4.js +280 -0
  342. package/dist/chunk-x63fx1vd.js +192 -0
  343. package/dist/chunk-x8b7vft8.js +132 -0
  344. package/dist/chunk-x8jhkgxb.js +346 -0
  345. package/dist/chunk-x9z4q5k5.js +275 -0
  346. package/dist/chunk-xjd7e9jq.js +126 -0
  347. package/dist/chunk-xjr0n27e.js +42 -0
  348. package/dist/chunk-xpwyw7cd.js +24 -0
  349. package/dist/chunk-xw4ycnyz.js +37 -0
  350. package/dist/chunk-y66bqywr.js +17303 -0
  351. package/dist/chunk-ycarry7d.js +157 -0
  352. package/dist/chunk-ycr0hp6v.js +1486 -0
  353. package/dist/chunk-yqmaw6hf.js +496 -0
  354. package/dist/chunk-yrtm7d23.js +602 -0
  355. package/dist/chunk-yts879rw.js +48 -0
  356. package/dist/chunk-yvmhx96e.js +347 -0
  357. package/dist/chunk-ywq00rg4.js +246 -0
  358. package/dist/chunk-yygeg5mj.js +752 -0
  359. package/dist/chunk-z0exw850.js +726 -0
  360. package/dist/chunk-z2dp53wn.js +17 -0
  361. package/dist/chunk-z4rzc9nd.js +103 -0
  362. package/dist/chunk-zb0akt77.js +684 -0
  363. package/dist/chunk-zb2xrj5t.js +1789 -0
  364. package/dist/chunk-zbptn0ky.js +423 -0
  365. package/dist/chunk-zd45wbmf.js +1090 -0
  366. package/dist/chunk-zjkvspz9.js +2050 -0
  367. package/dist/chunk-zke1sp3x.js +1524 -0
  368. package/dist/chunk-zv2cvfsv.js +58 -0
  369. package/dist/chunk-zy4tmqst.js +644 -0
  370. package/dist/chunk-zygzzzvk.js +192 -0
  371. package/dist/cli-21v3v6ny.md +1 -0
  372. package/dist/cli.js +246 -0
  373. package/dist/server-n5f2q89z.md +1 -0
  374. package/package.json +161 -0
@@ -0,0 +1,758 @@
1
+ // @bun
2
+ import"./chunk-xjr0n27e.js";
3
+ import"./chunk-0yz17yjy.js";
4
+ import {
5
+ addItemToJSONCArray,
6
+ init_json,
7
+ safeParseJSONC
8
+ } from "./chunk-78n9kfp8.js";
9
+ import"./chunk-j8mxc6k6.js";
10
+ import"./chunk-z0exw850.js";
11
+ import"./chunk-3jf3k40v.js";
12
+ import"./chunk-yvmhx96e.js";
13
+ import"./chunk-qezv7msv.js";
14
+ import"./chunk-sscms68s.js";
15
+ import {
16
+ getPlatform,
17
+ init_platform
18
+ } from "./chunk-7e1qjk3s.js";
19
+ import"./chunk-1gjysfnf.js";
20
+ import {
21
+ env,
22
+ init_env
23
+ } from "./chunk-vxgdzx6p.js";
24
+ import"./chunk-kv147680.js";
25
+ import"./chunk-2p0hvt8k.js";
26
+ import"./chunk-ycr0hp6v.js";
27
+ import"./chunk-zb2xrj5t.js";
28
+ import"./chunk-9029sbq1.js";
29
+ import"./chunk-ezpa510h.js";
30
+ import"./chunk-kp6nepx4.js";
31
+ import"./chunk-1jjzp2pa.js";
32
+ import"./chunk-w1jew5sn.js";
33
+ import"./chunk-g98m2qe6.js";
34
+ import {
35
+ execFileNoThrow,
36
+ init_execFileNoThrow
37
+ } from "./chunk-sez03qd9.js";
38
+ import {
39
+ init_log,
40
+ logError
41
+ } from "./chunk-vsfj449x.js";
42
+ import"./chunk-r4cxb6t7.js";
43
+ import {
44
+ getCwd,
45
+ init_cwd
46
+ } from "./chunk-bp0ynk17.js";
47
+ import"./chunk-7yexhdjs.js";
48
+ import {
49
+ getFsImplementation,
50
+ init_debug,
51
+ init_errors,
52
+ init_fsOperations,
53
+ init_slowOperations,
54
+ isFsInaccessible,
55
+ jsonParse,
56
+ jsonStringify,
57
+ logForDebugging
58
+ } from "./chunk-rex82hys.js";
59
+ import"./chunk-4s93jyky.js";
60
+ import {
61
+ init_memoize,
62
+ memoize_default
63
+ } from "./chunk-318g78ty.js";
64
+ import"./chunk-c0bdmy7w.js";
65
+ import"./chunk-syxy4pf2.js";
66
+ import {
67
+ __esm
68
+ } from "./chunk-eta5aekm.js";
69
+ import {
70
+ color,
71
+ init_color,
72
+ init_ink,
73
+ init_supports_hyperlinks,
74
+ supportsHyperlinks
75
+ } from "./chunk-fpd3zzx1.js";
76
+ import"./chunk-bv4c48a5.js";
77
+ import {
78
+ getCurrentProjectConfig,
79
+ getGlobalConfig,
80
+ init_config1 as init_config,
81
+ init_file,
82
+ init_source,
83
+ isDirEmpty,
84
+ saveCurrentProjectConfig,
85
+ saveGlobalConfig,
86
+ source_default
87
+ } from "./chunk-y66bqywr.js";
88
+ import"./chunk-nwk16bbd.js";
89
+ import"./chunk-rx6z23h0.js";
90
+ import"./chunk-df5c1x8m.js";
91
+ import"./chunk-65z8hg8j.js";
92
+ import"./chunk-5cp2q9sh.js";
93
+ import"./chunk-rjjakkw2.js";
94
+ import"./chunk-0sbddf6m.js";
95
+ import"./chunk-q5b0kpr3.js";
96
+
97
+ // src/projectOnboardingState.ts
98
+ import { join } from "path";
99
+ function getSteps() {
100
+ const hasClaudeMd = getFsImplementation().existsSync(join(getCwd(), "CLAUDE.md"));
101
+ const isWorkspaceDirEmpty = isDirEmpty(getCwd());
102
+ return [
103
+ {
104
+ key: "workspace",
105
+ text: "Ask Claude to create a new app or clone a repository",
106
+ isComplete: false,
107
+ isCompletable: true,
108
+ isEnabled: isWorkspaceDirEmpty
109
+ },
110
+ {
111
+ key: "claudemd",
112
+ text: "Run /init to create a CLAUDE.md file with instructions for Claude",
113
+ isComplete: hasClaudeMd,
114
+ isCompletable: true,
115
+ isEnabled: !isWorkspaceDirEmpty
116
+ }
117
+ ];
118
+ }
119
+ function isProjectOnboardingComplete() {
120
+ return getSteps().filter(({ isCompletable, isEnabled }) => isCompletable && isEnabled).every(({ isComplete }) => isComplete);
121
+ }
122
+ function maybeMarkProjectOnboardingComplete() {
123
+ if (getCurrentProjectConfig().hasCompletedProjectOnboarding) {
124
+ return;
125
+ }
126
+ if (isProjectOnboardingComplete()) {
127
+ saveCurrentProjectConfig((current) => ({
128
+ ...current,
129
+ hasCompletedProjectOnboarding: true
130
+ }));
131
+ }
132
+ }
133
+ function incrementProjectOnboardingSeenCount() {
134
+ saveCurrentProjectConfig((current) => ({
135
+ ...current,
136
+ projectOnboardingSeenCount: current.projectOnboardingSeenCount + 1
137
+ }));
138
+ }
139
+ var shouldShowProjectOnboarding;
140
+ var init_projectOnboardingState = __esm(() => {
141
+ init_memoize();
142
+ init_config();
143
+ init_cwd();
144
+ init_file();
145
+ init_fsOperations();
146
+ shouldShowProjectOnboarding = memoize_default(() => {
147
+ const projectConfig = getCurrentProjectConfig();
148
+ if (projectConfig.hasCompletedProjectOnboarding || projectConfig.projectOnboardingSeenCount >= 4 || process.env.IS_DEMO) {
149
+ return false;
150
+ }
151
+ return !isProjectOnboardingComplete();
152
+ });
153
+ });
154
+
155
+ // src/utils/appleTerminalBackup.ts
156
+ import { stat } from "fs/promises";
157
+ import { homedir } from "os";
158
+ import { join as join2 } from "path";
159
+ function markTerminalSetupInProgress(backupPath) {
160
+ saveGlobalConfig((current) => ({
161
+ ...current,
162
+ appleTerminalSetupInProgress: true,
163
+ appleTerminalBackupPath: backupPath
164
+ }));
165
+ }
166
+ function markTerminalSetupComplete() {
167
+ saveGlobalConfig((current) => ({
168
+ ...current,
169
+ appleTerminalSetupInProgress: false
170
+ }));
171
+ }
172
+ function getTerminalRecoveryInfo() {
173
+ const config = getGlobalConfig();
174
+ return {
175
+ inProgress: config.appleTerminalSetupInProgress ?? false,
176
+ backupPath: config.appleTerminalBackupPath || null
177
+ };
178
+ }
179
+ function getTerminalPlistPath() {
180
+ return join2(homedir(), "Library", "Preferences", "com.apple.Terminal.plist");
181
+ }
182
+ async function backupTerminalPreferences() {
183
+ const terminalPlistPath = getTerminalPlistPath();
184
+ const backupPath = `${terminalPlistPath}.bak`;
185
+ try {
186
+ const { code } = await execFileNoThrow("defaults", [
187
+ "export",
188
+ "com.apple.Terminal",
189
+ terminalPlistPath
190
+ ]);
191
+ if (code !== 0) {
192
+ return null;
193
+ }
194
+ try {
195
+ await stat(terminalPlistPath);
196
+ } catch {
197
+ return null;
198
+ }
199
+ await execFileNoThrow("defaults", [
200
+ "export",
201
+ "com.apple.Terminal",
202
+ backupPath
203
+ ]);
204
+ markTerminalSetupInProgress(backupPath);
205
+ return backupPath;
206
+ } catch (error) {
207
+ logError(error);
208
+ return null;
209
+ }
210
+ }
211
+ async function checkAndRestoreTerminalBackup() {
212
+ const { inProgress, backupPath } = getTerminalRecoveryInfo();
213
+ if (!inProgress) {
214
+ return { status: "no_backup" };
215
+ }
216
+ if (!backupPath) {
217
+ markTerminalSetupComplete();
218
+ return { status: "no_backup" };
219
+ }
220
+ try {
221
+ await stat(backupPath);
222
+ } catch {
223
+ markTerminalSetupComplete();
224
+ return { status: "no_backup" };
225
+ }
226
+ try {
227
+ const { code } = await execFileNoThrow("defaults", [
228
+ "import",
229
+ "com.apple.Terminal",
230
+ backupPath
231
+ ]);
232
+ if (code !== 0) {
233
+ return { status: "failed", backupPath };
234
+ }
235
+ await execFileNoThrow("killall", ["cfprefsd"]);
236
+ markTerminalSetupComplete();
237
+ return { status: "restored" };
238
+ } catch (restoreError) {
239
+ logError(new Error(`Failed to restore Terminal.app settings with: ${restoreError}`));
240
+ markTerminalSetupComplete();
241
+ return { status: "failed", backupPath };
242
+ }
243
+ }
244
+ var init_appleTerminalBackup = __esm(() => {
245
+ init_config();
246
+ init_execFileNoThrow();
247
+ init_log();
248
+ });
249
+
250
+ // src/utils/completionCache.ts
251
+ import { homedir as homedir2 } from "os";
252
+ import { dirname, join as join3 } from "path";
253
+ function detectShell() {
254
+ const shell = process.env.SHELL || "";
255
+ const home = homedir2();
256
+ const claudeDir = join3(home, ".claude");
257
+ if (shell.endsWith("/zsh") || shell.endsWith("/zsh.exe")) {
258
+ const cacheFile = join3(claudeDir, "completion.zsh");
259
+ return {
260
+ name: "zsh",
261
+ rcFile: join3(home, ".zshrc"),
262
+ cacheFile,
263
+ completionLine: `[[ -f "${cacheFile}" ]] && source "${cacheFile}"`,
264
+ shellFlag: "zsh"
265
+ };
266
+ }
267
+ if (shell.endsWith("/bash") || shell.endsWith("/bash.exe")) {
268
+ const cacheFile = join3(claudeDir, "completion.bash");
269
+ return {
270
+ name: "bash",
271
+ rcFile: join3(home, ".bashrc"),
272
+ cacheFile,
273
+ completionLine: `[ -f "${cacheFile}" ] && source "${cacheFile}"`,
274
+ shellFlag: "bash"
275
+ };
276
+ }
277
+ if (shell.endsWith("/fish") || shell.endsWith("/fish.exe")) {
278
+ const xdg = process.env.XDG_CONFIG_HOME || join3(home, ".config");
279
+ const cacheFile = join3(claudeDir, "completion.fish");
280
+ return {
281
+ name: "fish",
282
+ rcFile: join3(xdg, "fish", "config.fish"),
283
+ cacheFile,
284
+ completionLine: `[ -f "${cacheFile}" ] && source "${cacheFile}"`,
285
+ shellFlag: "fish"
286
+ };
287
+ }
288
+ return null;
289
+ }
290
+ async function regenerateCompletionCache() {
291
+ const shell = detectShell();
292
+ if (!shell) {
293
+ return;
294
+ }
295
+ logForDebugging(`update: Regenerating ${shell.name} completion cache`);
296
+ const claudeBin = process.argv[1] || "claude";
297
+ const result = await execFileNoThrow(claudeBin, [
298
+ "completion",
299
+ shell.shellFlag,
300
+ "--output",
301
+ shell.cacheFile
302
+ ]);
303
+ if (result.code !== 0) {
304
+ logForDebugging(`update: Failed to regenerate ${shell.name} completion cache`);
305
+ return;
306
+ }
307
+ logForDebugging(`update: Regenerated ${shell.name} completion cache at ${shell.cacheFile}`);
308
+ }
309
+ var init_completionCache = __esm(() => {
310
+ init_color();
311
+ init_supports_hyperlinks();
312
+ init_debug();
313
+ init_errors();
314
+ init_execFileNoThrow();
315
+ init_log();
316
+ });
317
+
318
+ // src/commands/terminalSetup/terminalSetup.tsx
319
+ import { randomBytes } from "crypto";
320
+ import { copyFile, mkdir, readFile, writeFile } from "fs/promises";
321
+ import { homedir as homedir3, platform } from "os";
322
+ import { dirname as dirname2, join as join4 } from "path";
323
+ import { pathToFileURL } from "url";
324
+ function isVSCodeRemoteSSH() {
325
+ const askpassMain = process.env.VSCODE_GIT_ASKPASS_MAIN ?? "";
326
+ const path = process.env.PATH ?? "";
327
+ return askpassMain.includes(".vscode-server") || askpassMain.includes(".cursor-server") || askpassMain.includes(".windsurf-server") || path.includes(".vscode-server") || path.includes(".cursor-server") || path.includes(".windsurf-server");
328
+ }
329
+ function getNativeCSIuTerminalDisplayName() {
330
+ if (!env.terminal || !(env.terminal in NATIVE_CSIU_TERMINALS)) {
331
+ return null;
332
+ }
333
+ return NATIVE_CSIU_TERMINALS[env.terminal] ?? null;
334
+ }
335
+ function formatPathLink(filePath) {
336
+ if (!supportsHyperlinks()) {
337
+ return filePath;
338
+ }
339
+ const fileUrl = pathToFileURL(filePath).href;
340
+ return `\x1B]8;;${fileUrl}\x07${filePath}\x1B]8;;\x07`;
341
+ }
342
+ function shouldOfferTerminalSetup() {
343
+ return platform() === "darwin" && env.terminal === "Apple_Terminal" || env.terminal === "vscode" || env.terminal === "cursor" || env.terminal === "windsurf" || env.terminal === "alacritty" || env.terminal === "zed";
344
+ }
345
+ async function setupTerminal(theme) {
346
+ let result = "";
347
+ switch (env.terminal) {
348
+ case "Apple_Terminal":
349
+ result = await enableOptionAsMetaForTerminal(theme);
350
+ break;
351
+ case "vscode":
352
+ result = await installBindingsForVSCodeTerminal("VSCode", theme);
353
+ break;
354
+ case "cursor":
355
+ result = await installBindingsForVSCodeTerminal("Cursor", theme);
356
+ break;
357
+ case "windsurf":
358
+ result = await installBindingsForVSCodeTerminal("Windsurf", theme);
359
+ break;
360
+ case "alacritty":
361
+ result = await installBindingsForAlacritty(theme);
362
+ break;
363
+ case "zed":
364
+ result = await installBindingsForZed(theme);
365
+ break;
366
+ case null:
367
+ break;
368
+ }
369
+ saveGlobalConfig((current) => {
370
+ if (["vscode", "cursor", "windsurf", "alacritty", "zed"].includes(env.terminal ?? "")) {
371
+ if (current.shiftEnterKeyBindingInstalled === true)
372
+ return current;
373
+ return {
374
+ ...current,
375
+ shiftEnterKeyBindingInstalled: true
376
+ };
377
+ } else if (env.terminal === "Apple_Terminal") {
378
+ if (current.optionAsMetaKeyInstalled === true)
379
+ return current;
380
+ return {
381
+ ...current,
382
+ optionAsMetaKeyInstalled: true
383
+ };
384
+ }
385
+ return current;
386
+ });
387
+ maybeMarkProjectOnboardingComplete();
388
+ if (false) {}
389
+ return result;
390
+ }
391
+ function isShiftEnterKeyBindingInstalled() {
392
+ return getGlobalConfig().shiftEnterKeyBindingInstalled === true;
393
+ }
394
+ function hasUsedBackslashReturn() {
395
+ return getGlobalConfig().hasUsedBackslashReturn === true;
396
+ }
397
+ function markBackslashReturnUsed() {
398
+ const config = getGlobalConfig();
399
+ if (!config.hasUsedBackslashReturn) {
400
+ saveGlobalConfig((current) => ({
401
+ ...current,
402
+ hasUsedBackslashReturn: true
403
+ }));
404
+ }
405
+ }
406
+ async function call(onDone, context, _args) {
407
+ if (env.terminal && env.terminal in NATIVE_CSIU_TERMINALS) {
408
+ const message = `Shift+Enter is natively supported in ${NATIVE_CSIU_TERMINALS[env.terminal]}.
409
+
410
+ No configuration needed. Just use Shift+Enter to add newlines.`;
411
+ onDone(message);
412
+ return null;
413
+ }
414
+ if (!shouldOfferTerminalSetup()) {
415
+ const terminalName = env.terminal || "your current terminal";
416
+ const currentPlatform = getPlatform();
417
+ let platformTerminals = "";
418
+ if (currentPlatform === "macos") {
419
+ platformTerminals = ` \u2022 macOS: Apple Terminal
420
+ `;
421
+ } else if (currentPlatform === "windows") {
422
+ platformTerminals = ` \u2022 Windows: Windows Terminal
423
+ `;
424
+ }
425
+ const message = `Terminal setup cannot be run from ${terminalName}.
426
+
427
+ This command configures a convenient Shift+Enter shortcut for multi-line prompts.
428
+ ${source_default.dim("Note: You can already use backslash (\\\\) + return to add newlines.")}
429
+
430
+ To set up the shortcut (optional):
431
+ 1. Exit tmux/screen temporarily
432
+ 2. Run /terminal-setup directly in one of these terminals:
433
+ ${platformTerminals} \u2022 IDE: VSCode, Cursor, Windsurf, Zed
434
+ \u2022 Other: Alacritty
435
+ 3. Return to tmux/screen - settings will persist
436
+
437
+ ${source_default.dim("Note: iTerm2, WezTerm, Ghostty, Kitty, and Warp support Shift+Enter natively.")}`;
438
+ onDone(message);
439
+ return null;
440
+ }
441
+ const result = await setupTerminal(context.options.theme);
442
+ onDone(result);
443
+ return null;
444
+ }
445
+ async function installBindingsForVSCodeTerminal(editor = "VSCode", theme) {
446
+ if (isVSCodeRemoteSSH()) {
447
+ return `${color("warning", theme)(`Cannot install keybindings from a remote ${editor} session.`)}${EOL}${EOL}${editor} keybindings must be installed on your local machine, not the remote server.${EOL}${EOL}To install the Shift+Enter keybinding:${EOL}1. Open ${editor} on your local machine (not connected to remote)${EOL}2. Open the Command Palette (Cmd/Ctrl+Shift+P) \u2192 "Preferences: Open Keyboard Shortcuts (JSON)"${EOL}3. Add this keybinding (the file must be a JSON array):${EOL}${EOL}${source_default.dim(`[
448
+ {
449
+ "key": "shift+enter",
450
+ "command": "workbench.action.terminal.sendSequence",
451
+ "args": { "text": "\\u001b\\r" },
452
+ "when": "terminalFocus"
453
+ }
454
+ ]`)}${EOL}`;
455
+ }
456
+ const editorDir = editor === "VSCode" ? "Code" : editor;
457
+ const userDirPath = join4(homedir3(), platform() === "win32" ? join4("AppData", "Roaming", editorDir, "User") : platform() === "darwin" ? join4("Library", "Application Support", editorDir, "User") : join4(".config", editorDir, "User"));
458
+ const keybindingsPath = join4(userDirPath, "keybindings.json");
459
+ try {
460
+ await mkdir(userDirPath, {
461
+ recursive: true
462
+ });
463
+ let content = "[]";
464
+ let keybindings = [];
465
+ let fileExists = false;
466
+ try {
467
+ content = await readFile(keybindingsPath, {
468
+ encoding: "utf-8"
469
+ });
470
+ fileExists = true;
471
+ keybindings = safeParseJSONC(content) ?? [];
472
+ } catch (e) {
473
+ if (!isFsInaccessible(e))
474
+ throw e;
475
+ }
476
+ if (fileExists) {
477
+ const randomSha = randomBytes(4).toString("hex");
478
+ const backupPath = `${keybindingsPath}.${randomSha}.bak`;
479
+ try {
480
+ await copyFile(keybindingsPath, backupPath);
481
+ } catch {
482
+ return `${color("warning", theme)(`Error backing up existing ${editor} terminal keybindings. Bailing out.`)}${EOL}${source_default.dim(`See ${formatPathLink(keybindingsPath)}`)}${EOL}${source_default.dim(`Backup path: ${formatPathLink(backupPath)}`)}${EOL}`;
483
+ }
484
+ }
485
+ const existingBinding = keybindings.find((binding) => binding.key === "shift+enter" && binding.command === "workbench.action.terminal.sendSequence" && binding.when === "terminalFocus");
486
+ if (existingBinding) {
487
+ return `${color("warning", theme)(`Found existing ${editor} terminal Shift+Enter key binding. Remove it to continue.`)}${EOL}${source_default.dim(`See ${formatPathLink(keybindingsPath)}`)}${EOL}`;
488
+ }
489
+ const newKeybinding = {
490
+ key: "shift+enter",
491
+ command: "workbench.action.terminal.sendSequence",
492
+ args: {
493
+ text: "\x1B\r"
494
+ },
495
+ when: "terminalFocus"
496
+ };
497
+ const updatedContent = addItemToJSONCArray(content, newKeybinding);
498
+ await writeFile(keybindingsPath, updatedContent, {
499
+ encoding: "utf-8"
500
+ });
501
+ return `${color("success", theme)(`Installed ${editor} terminal Shift+Enter key binding`)}${EOL}${source_default.dim(`See ${formatPathLink(keybindingsPath)}`)}${EOL}`;
502
+ } catch (error) {
503
+ logError(error);
504
+ throw new Error(`Failed to install ${editor} terminal Shift+Enter key binding`);
505
+ }
506
+ }
507
+ async function enableOptionAsMetaForProfile(profileName) {
508
+ const {
509
+ code: addCode
510
+ } = await execFileNoThrow("/usr/libexec/PlistBuddy", ["-c", `Add :'Window Settings':'${profileName}':useOptionAsMetaKey bool true`, getTerminalPlistPath()]);
511
+ if (addCode !== 0) {
512
+ const {
513
+ code: setCode
514
+ } = await execFileNoThrow("/usr/libexec/PlistBuddy", ["-c", `Set :'Window Settings':'${profileName}':useOptionAsMetaKey true`, getTerminalPlistPath()]);
515
+ if (setCode !== 0) {
516
+ logError(new Error(`Failed to enable Option as Meta key for Terminal.app profile: ${profileName}`));
517
+ return false;
518
+ }
519
+ }
520
+ return true;
521
+ }
522
+ async function disableAudioBellForProfile(profileName) {
523
+ const {
524
+ code: addCode
525
+ } = await execFileNoThrow("/usr/libexec/PlistBuddy", ["-c", `Add :'Window Settings':'${profileName}':Bell bool false`, getTerminalPlistPath()]);
526
+ if (addCode !== 0) {
527
+ const {
528
+ code: setCode
529
+ } = await execFileNoThrow("/usr/libexec/PlistBuddy", ["-c", `Set :'Window Settings':'${profileName}':Bell false`, getTerminalPlistPath()]);
530
+ if (setCode !== 0) {
531
+ logError(new Error(`Failed to disable audio bell for Terminal.app profile: ${profileName}`));
532
+ return false;
533
+ }
534
+ }
535
+ return true;
536
+ }
537
+ async function enableOptionAsMetaForTerminal(theme) {
538
+ try {
539
+ const backupPath = await backupTerminalPreferences();
540
+ if (!backupPath) {
541
+ throw new Error("Failed to create backup of Terminal.app preferences, bailing out");
542
+ }
543
+ const {
544
+ stdout: defaultProfile,
545
+ code: readCode
546
+ } = await execFileNoThrow("defaults", ["read", "com.apple.Terminal", "Default Window Settings"]);
547
+ if (readCode !== 0 || !defaultProfile.trim()) {
548
+ throw new Error("Failed to read default Terminal.app profile");
549
+ }
550
+ const {
551
+ stdout: startupProfile,
552
+ code: startupCode
553
+ } = await execFileNoThrow("defaults", ["read", "com.apple.Terminal", "Startup Window Settings"]);
554
+ if (startupCode !== 0 || !startupProfile.trim()) {
555
+ throw new Error("Failed to read startup Terminal.app profile");
556
+ }
557
+ let wasAnyProfileUpdated = false;
558
+ const defaultProfileName = defaultProfile.trim();
559
+ const optionAsMetaEnabled = await enableOptionAsMetaForProfile(defaultProfileName);
560
+ const audioBellDisabled = await disableAudioBellForProfile(defaultProfileName);
561
+ if (optionAsMetaEnabled || audioBellDisabled) {
562
+ wasAnyProfileUpdated = true;
563
+ }
564
+ const startupProfileName = startupProfile.trim();
565
+ if (startupProfileName !== defaultProfileName) {
566
+ const startupOptionAsMetaEnabled = await enableOptionAsMetaForProfile(startupProfileName);
567
+ const startupAudioBellDisabled = await disableAudioBellForProfile(startupProfileName);
568
+ if (startupOptionAsMetaEnabled || startupAudioBellDisabled) {
569
+ wasAnyProfileUpdated = true;
570
+ }
571
+ }
572
+ if (!wasAnyProfileUpdated) {
573
+ throw new Error("Failed to enable Option as Meta key or disable audio bell for any Terminal.app profile");
574
+ }
575
+ await execFileNoThrow("killall", ["cfprefsd"]);
576
+ markTerminalSetupComplete();
577
+ return `${color("success", theme)(`Configured Terminal.app settings:`)}${EOL}${color("success", theme)('- Enabled "Use Option as Meta key"')}${EOL}${color("success", theme)("- Switched to visual bell")}${EOL}${source_default.dim("Option+Enter will now enter a newline.")}${EOL}${source_default.dim("You must restart Terminal.app for changes to take effect.", theme)}${EOL}`;
578
+ } catch (error) {
579
+ logError(error);
580
+ const restoreResult = await checkAndRestoreTerminalBackup();
581
+ const errorMessage = "Failed to enable Option as Meta key for Terminal.app.";
582
+ if (restoreResult.status === "restored") {
583
+ throw new Error(`${errorMessage} Your settings have been restored from backup.`);
584
+ } else if (restoreResult.status === "failed") {
585
+ throw new Error(`${errorMessage} Restoring from backup failed, try manually with: defaults import com.apple.Terminal ${restoreResult.backupPath}`);
586
+ } else {
587
+ throw new Error(`${errorMessage} No backup was available to restore from.`);
588
+ }
589
+ }
590
+ }
591
+ async function installBindingsForAlacritty(theme) {
592
+ const ALACRITTY_KEYBINDING = `[[keyboard.bindings]]
593
+ key = "Return"
594
+ mods = "Shift"
595
+ chars = "\\u001B\\r"`;
596
+ const configPaths = [];
597
+ const xdgConfigHome = process.env.XDG_CONFIG_HOME;
598
+ if (xdgConfigHome) {
599
+ configPaths.push(join4(xdgConfigHome, "alacritty", "alacritty.toml"));
600
+ } else {
601
+ configPaths.push(join4(homedir3(), ".config", "alacritty", "alacritty.toml"));
602
+ }
603
+ if (platform() === "win32") {
604
+ const appData = process.env.APPDATA;
605
+ if (appData) {
606
+ configPaths.push(join4(appData, "alacritty", "alacritty.toml"));
607
+ }
608
+ }
609
+ let configPath = null;
610
+ let configContent = "";
611
+ let configExists = false;
612
+ for (const path of configPaths) {
613
+ try {
614
+ configContent = await readFile(path, {
615
+ encoding: "utf-8"
616
+ });
617
+ configPath = path;
618
+ configExists = true;
619
+ break;
620
+ } catch (e) {
621
+ if (!isFsInaccessible(e))
622
+ throw e;
623
+ }
624
+ }
625
+ if (!configPath) {
626
+ configPath = configPaths[0] ?? null;
627
+ }
628
+ if (!configPath) {
629
+ throw new Error("No valid config path found for Alacritty");
630
+ }
631
+ try {
632
+ if (configExists) {
633
+ if (configContent.includes('mods = "Shift"') && configContent.includes('key = "Return"')) {
634
+ return `${color("warning", theme)("Found existing Alacritty Shift+Enter key binding. Remove it to continue.")}${EOL}${source_default.dim(`See ${formatPathLink(configPath)}`)}${EOL}`;
635
+ }
636
+ const randomSha = randomBytes(4).toString("hex");
637
+ const backupPath = `${configPath}.${randomSha}.bak`;
638
+ try {
639
+ await copyFile(configPath, backupPath);
640
+ } catch {
641
+ return `${color("warning", theme)("Error backing up existing Alacritty config. Bailing out.")}${EOL}${source_default.dim(`See ${formatPathLink(configPath)}`)}${EOL}${source_default.dim(`Backup path: ${formatPathLink(backupPath)}`)}${EOL}`;
642
+ }
643
+ } else {
644
+ await mkdir(dirname2(configPath), {
645
+ recursive: true
646
+ });
647
+ }
648
+ let updatedContent = configContent;
649
+ if (configContent && !configContent.endsWith(`
650
+ `)) {
651
+ updatedContent += `
652
+ `;
653
+ }
654
+ updatedContent += `
655
+ ` + ALACRITTY_KEYBINDING + `
656
+ `;
657
+ await writeFile(configPath, updatedContent, {
658
+ encoding: "utf-8"
659
+ });
660
+ return `${color("success", theme)("Installed Alacritty Shift+Enter key binding")}${EOL}${color("success", theme)("You may need to restart Alacritty for changes to take effect")}${EOL}${source_default.dim(`See ${formatPathLink(configPath)}`)}${EOL}`;
661
+ } catch (error) {
662
+ logError(error);
663
+ throw new Error("Failed to install Alacritty Shift+Enter key binding");
664
+ }
665
+ }
666
+ async function installBindingsForZed(theme) {
667
+ const zedDir = join4(homedir3(), ".config", "zed");
668
+ const keymapPath = join4(zedDir, "keymap.json");
669
+ try {
670
+ await mkdir(zedDir, {
671
+ recursive: true
672
+ });
673
+ let keymapContent = "[]";
674
+ let fileExists = false;
675
+ try {
676
+ keymapContent = await readFile(keymapPath, {
677
+ encoding: "utf-8"
678
+ });
679
+ fileExists = true;
680
+ } catch (e) {
681
+ if (!isFsInaccessible(e))
682
+ throw e;
683
+ }
684
+ if (fileExists) {
685
+ if (keymapContent.includes("shift-enter")) {
686
+ return `${color("warning", theme)("Found existing Zed Shift+Enter key binding. Remove it to continue.")}${EOL}${source_default.dim(`See ${formatPathLink(keymapPath)}`)}${EOL}`;
687
+ }
688
+ const randomSha = randomBytes(4).toString("hex");
689
+ const backupPath = `${keymapPath}.${randomSha}.bak`;
690
+ try {
691
+ await copyFile(keymapPath, backupPath);
692
+ } catch {
693
+ return `${color("warning", theme)("Error backing up existing Zed keymap. Bailing out.")}${EOL}${source_default.dim(`See ${formatPathLink(keymapPath)}`)}${EOL}${source_default.dim(`Backup path: ${formatPathLink(backupPath)}`)}${EOL}`;
694
+ }
695
+ }
696
+ let keymap;
697
+ try {
698
+ keymap = jsonParse(keymapContent);
699
+ if (!Array.isArray(keymap)) {
700
+ keymap = [];
701
+ }
702
+ } catch {
703
+ keymap = [];
704
+ }
705
+ keymap.push({
706
+ context: "Terminal",
707
+ bindings: {
708
+ "shift-enter": ["terminal::SendText", "\x1B\r"]
709
+ }
710
+ });
711
+ await writeFile(keymapPath, jsonStringify(keymap, null, 2) + `
712
+ `, {
713
+ encoding: "utf-8"
714
+ });
715
+ return `${color("success", theme)("Installed Zed Shift+Enter key binding")}${EOL}${source_default.dim(`See ${formatPathLink(keymapPath)}`)}${EOL}`;
716
+ } catch (error) {
717
+ logError(error);
718
+ throw new Error("Failed to install Zed Shift+Enter key binding");
719
+ }
720
+ }
721
+ var EOL = `
722
+ `, NATIVE_CSIU_TERMINALS;
723
+ var init_terminalSetup = __esm(() => {
724
+ init_source();
725
+ init_supports_hyperlinks();
726
+ init_ink();
727
+ init_projectOnboardingState();
728
+ init_appleTerminalBackup();
729
+ init_completionCache();
730
+ init_config();
731
+ init_env();
732
+ init_errors();
733
+ init_execFileNoThrow();
734
+ init_json();
735
+ init_log();
736
+ init_platform();
737
+ init_slowOperations();
738
+ NATIVE_CSIU_TERMINALS = {
739
+ ghostty: "Ghostty",
740
+ kitty: "Kitty",
741
+ "iTerm.app": "iTerm2",
742
+ WezTerm: "WezTerm",
743
+ WarpTerminal: "Warp"
744
+ };
745
+ });
746
+ init_terminalSetup();
747
+
748
+ export {
749
+ shouldOfferTerminalSetup,
750
+ setupTerminal,
751
+ markBackslashReturnUsed,
752
+ isShiftEnterKeyBindingInstalled,
753
+ hasUsedBackslashReturn,
754
+ getNativeCSIuTerminalDisplayName,
755
+ call
756
+ };
757
+
758
+ export { getSteps, maybeMarkProjectOnboardingComplete, shouldShowProjectOnboarding, incrementProjectOnboardingSeenCount, init_projectOnboardingState, checkAndRestoreTerminalBackup, init_appleTerminalBackup, regenerateCompletionCache, init_completionCache, getNativeCSIuTerminalDisplayName, shouldOfferTerminalSetup, setupTerminal, isShiftEnterKeyBindingInstalled, hasUsedBackslashReturn, markBackslashReturnUsed, init_terminalSetup };