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,673 @@
1
+ // @bun
2
+ import {
3
+ FlushGate,
4
+ createV2ReplTransport,
5
+ getEnvLessBridgeConfig
6
+ } from "./chunk-6350958y.js";
7
+ import"./chunk-3mhygd2v.js";
8
+ import {
9
+ BoundedUUIDSet,
10
+ extractTitleText,
11
+ handleIngressMessage,
12
+ handleServerControlRequest,
13
+ isEligibleBridgeMessage,
14
+ makeResultMessage
15
+ } from "./chunk-7be87rww.js";
16
+ import"./chunk-nt837qt9.js";
17
+ import {
18
+ buildCCRv2SdkUrl
19
+ } from "./chunk-gs7vjaas.js";
20
+ import {
21
+ createTokenRefreshScheduler
22
+ } from "./chunk-f239sbhc.js";
23
+ import"./chunk-jevj87jn.js";
24
+ import {
25
+ extractErrorDetail,
26
+ init_debugUtils,
27
+ logBridgeSkip,
28
+ toCompatSessionId
29
+ } from "./chunk-ex41stfq.js";
30
+ import"./chunk-xjr0n27e.js";
31
+ import"./chunk-78n9kfp8.js";
32
+ import"./chunk-j8mxc6k6.js";
33
+ import"./chunk-z0exw850.js";
34
+ import"./chunk-3jf3k40v.js";
35
+ import"./chunk-yvmhx96e.js";
36
+ import"./chunk-qezv7msv.js";
37
+ import"./chunk-sscms68s.js";
38
+ import"./chunk-7e1qjk3s.js";
39
+ import"./chunk-1gjysfnf.js";
40
+ import"./chunk-vxgdzx6p.js";
41
+ import"./chunk-kv147680.js";
42
+ import"./chunk-2p0hvt8k.js";
43
+ import"./chunk-ycr0hp6v.js";
44
+ import"./chunk-zb2xrj5t.js";
45
+ import"./chunk-9029sbq1.js";
46
+ import {
47
+ init_analytics,
48
+ logEvent
49
+ } from "./chunk-ezpa510h.js";
50
+ import"./chunk-kp6nepx4.js";
51
+ import"./chunk-1jjzp2pa.js";
52
+ import"./chunk-w1jew5sn.js";
53
+ import"./chunk-g98m2qe6.js";
54
+ import"./chunk-sez03qd9.js";
55
+ import"./chunk-vsfj449x.js";
56
+ import"./chunk-r4cxb6t7.js";
57
+ import"./chunk-bp0ynk17.js";
58
+ import"./chunk-7yexhdjs.js";
59
+ import {
60
+ errorMessage,
61
+ init_cleanupRegistry,
62
+ init_debug,
63
+ init_errors,
64
+ init_slowOperations,
65
+ jsonStringify,
66
+ logForDebugging,
67
+ registerCleanup
68
+ } from "./chunk-rex82hys.js";
69
+ import {
70
+ init_envUtils,
71
+ isInProtectedNamespace
72
+ } from "./chunk-4s93jyky.js";
73
+ import"./chunk-318g78ty.js";
74
+ import"./chunk-c0bdmy7w.js";
75
+ import"./chunk-syxy4pf2.js";
76
+ import"./chunk-eta5aekm.js";
77
+ import {
78
+ getBridgeBaseUrlOverride,
79
+ init_bridgeConfig
80
+ } from "./chunk-eh0vnqdz.js";
81
+ import"./chunk-5f5sxgp0.js";
82
+ import {
83
+ getTrustedDeviceToken,
84
+ init_trustedDevice
85
+ } from "./chunk-zygzzzvk.js";
86
+ import {
87
+ sleep
88
+ } from "./chunk-y66bqywr.js";
89
+ import"./chunk-nwk16bbd.js";
90
+ import"./chunk-rx6z23h0.js";
91
+ import"./chunk-df5c1x8m.js";
92
+ import {
93
+ init_diagLogs,
94
+ logForDiagnosticsNoPII
95
+ } from "./chunk-65z8hg8j.js";
96
+ import"./chunk-5cp2q9sh.js";
97
+ import"./chunk-rjjakkw2.js";
98
+ import"./chunk-0sbddf6m.js";
99
+ import {
100
+ axios_default,
101
+ init_axios
102
+ } from "./chunk-q5b0kpr3.js";
103
+
104
+ // src/bridge/remoteBridgeCore.ts
105
+ init_axios();
106
+ init_trustedDevice();
107
+ init_debugUtils();
108
+ init_debug();
109
+ init_diagLogs();
110
+ init_envUtils();
111
+ init_errors();
112
+ init_cleanupRegistry();
113
+ init_analytics();
114
+
115
+ // src/bridge/codeSessionApi.ts
116
+ init_axios();
117
+ init_debug();
118
+ init_errors();
119
+ init_slowOperations();
120
+ init_debugUtils();
121
+ var ANTHROPIC_VERSION = "2023-06-01";
122
+ function oauthHeaders(accessToken) {
123
+ return {
124
+ Authorization: `Bearer ${accessToken}`,
125
+ "Content-Type": "application/json",
126
+ "anthropic-version": ANTHROPIC_VERSION
127
+ };
128
+ }
129
+ async function createCodeSession(baseUrl, accessToken, title, timeoutMs, tags) {
130
+ const url = `${baseUrl}/v1/code/sessions`;
131
+ let response;
132
+ try {
133
+ response = await axios_default.post(url, { title, bridge: {}, ...tags?.length ? { tags } : {} }, {
134
+ headers: oauthHeaders(accessToken),
135
+ timeout: timeoutMs,
136
+ validateStatus: (s) => s < 500
137
+ });
138
+ } catch (err) {
139
+ logForDebugging(`[code-session] Session create request failed: ${errorMessage(err)}`);
140
+ return null;
141
+ }
142
+ if (response.status !== 200 && response.status !== 201) {
143
+ const detail = extractErrorDetail(response.data);
144
+ logForDebugging(`[code-session] Session create failed ${response.status}${detail ? `: ${detail}` : ""}`);
145
+ return null;
146
+ }
147
+ const data = response.data;
148
+ if (!data || typeof data !== "object" || !("session" in data) || !data.session || typeof data.session !== "object" || !("id" in data.session) || typeof data.session.id !== "string" || !data.session.id.startsWith("cse_")) {
149
+ logForDebugging(`[code-session] No session.id (cse_*) in response: ${jsonStringify(data).slice(0, 200)}`);
150
+ return null;
151
+ }
152
+ return data.session.id;
153
+ }
154
+ async function fetchRemoteCredentials(sessionId, baseUrl, accessToken, timeoutMs, trustedDeviceToken) {
155
+ const url = `${baseUrl}/v1/code/sessions/${sessionId}/bridge`;
156
+ const headers = oauthHeaders(accessToken);
157
+ if (trustedDeviceToken) {
158
+ headers["X-Trusted-Device-Token"] = trustedDeviceToken;
159
+ }
160
+ let response;
161
+ try {
162
+ response = await axios_default.post(url, {}, {
163
+ headers,
164
+ timeout: timeoutMs,
165
+ validateStatus: (s) => s < 500
166
+ });
167
+ } catch (err) {
168
+ logForDebugging(`[code-session] /bridge request failed: ${errorMessage(err)}`);
169
+ return null;
170
+ }
171
+ if (response.status !== 200) {
172
+ const detail = extractErrorDetail(response.data);
173
+ logForDebugging(`[code-session] /bridge failed ${response.status}${detail ? `: ${detail}` : ""}`);
174
+ return null;
175
+ }
176
+ const data = response.data;
177
+ if (data === null || typeof data !== "object" || !("worker_jwt" in data) || typeof data.worker_jwt !== "string" || !("expires_in" in data) || typeof data.expires_in !== "number" || !("api_base_url" in data) || typeof data.api_base_url !== "string" || !("worker_epoch" in data)) {
178
+ logForDebugging(`[code-session] /bridge response malformed (need worker_jwt, expires_in, api_base_url, worker_epoch): ${jsonStringify(data).slice(0, 200)}`);
179
+ return null;
180
+ }
181
+ const rawEpoch = data.worker_epoch;
182
+ const epoch = typeof rawEpoch === "string" ? Number(rawEpoch) : rawEpoch;
183
+ if (typeof epoch !== "number" || !Number.isFinite(epoch) || !Number.isSafeInteger(epoch)) {
184
+ logForDebugging(`[code-session] /bridge worker_epoch invalid: ${jsonStringify(rawEpoch)}`);
185
+ return null;
186
+ }
187
+ return {
188
+ worker_jwt: data.worker_jwt,
189
+ api_base_url: data.api_base_url,
190
+ expires_in: data.expires_in,
191
+ worker_epoch: epoch
192
+ };
193
+ }
194
+ // src/bridge/remoteBridgeCore.ts
195
+ init_bridgeConfig();
196
+ var ANTHROPIC_VERSION2 = "2023-06-01";
197
+ function oauthHeaders2(accessToken) {
198
+ return {
199
+ Authorization: `Bearer ${accessToken}`,
200
+ "Content-Type": "application/json",
201
+ "anthropic-version": ANTHROPIC_VERSION2
202
+ };
203
+ }
204
+ async function initEnvLessBridgeCore(params) {
205
+ const {
206
+ baseUrl,
207
+ orgUUID,
208
+ title,
209
+ getAccessToken,
210
+ onAuth401,
211
+ toSDKMessages,
212
+ initialHistoryCap,
213
+ initialMessages,
214
+ onInboundMessage,
215
+ onUserMessage,
216
+ onPermissionResponse,
217
+ onInterrupt,
218
+ onSetModel,
219
+ onSetMaxThinkingTokens,
220
+ onSetPermissionMode,
221
+ onStateChange,
222
+ outboundOnly,
223
+ tags
224
+ } = params;
225
+ const cfg = await getEnvLessBridgeConfig();
226
+ const accessToken = getAccessToken();
227
+ if (!accessToken) {
228
+ logForDebugging("[remote-bridge] No OAuth token");
229
+ return null;
230
+ }
231
+ const createdSessionId = await withRetry(() => createCodeSession(baseUrl, accessToken, title, cfg.http_timeout_ms, tags), "createCodeSession", cfg);
232
+ if (!createdSessionId) {
233
+ onStateChange?.("failed", "Session creation failed \u2014 see debug log");
234
+ logBridgeSkip("v2_session_create_failed", undefined, true);
235
+ return null;
236
+ }
237
+ const sessionId = createdSessionId;
238
+ logForDebugging(`[remote-bridge] Created session ${sessionId}`);
239
+ logForDiagnosticsNoPII("info", "bridge_repl_v2_session_created");
240
+ const credentials = await withRetry(() => fetchRemoteCredentials2(sessionId, baseUrl, accessToken, cfg.http_timeout_ms), "fetchRemoteCredentials", cfg);
241
+ if (!credentials) {
242
+ onStateChange?.("failed", "Remote credentials fetch failed \u2014 see debug log");
243
+ logBridgeSkip("v2_remote_creds_failed", undefined, true);
244
+ archiveSession(sessionId, baseUrl, accessToken, orgUUID, cfg.http_timeout_ms);
245
+ return null;
246
+ }
247
+ logForDebugging(`[remote-bridge] Fetched bridge credentials (expires_in=${credentials.expires_in}s)`);
248
+ const sessionUrl = buildCCRv2SdkUrl(credentials.api_base_url, sessionId);
249
+ logForDebugging(`[remote-bridge] v2 session URL: ${sessionUrl}`);
250
+ let transport;
251
+ try {
252
+ transport = await createV2ReplTransport({
253
+ sessionUrl,
254
+ ingressToken: credentials.worker_jwt,
255
+ sessionId,
256
+ epoch: credentials.worker_epoch,
257
+ heartbeatIntervalMs: cfg.heartbeat_interval_ms,
258
+ heartbeatJitterFraction: cfg.heartbeat_jitter_fraction,
259
+ getAuthToken: () => credentials.worker_jwt,
260
+ outboundOnly
261
+ });
262
+ } catch (err) {
263
+ logForDebugging(`[remote-bridge] v2 transport setup failed: ${errorMessage(err)}`, { level: "error" });
264
+ onStateChange?.("failed", `Transport setup failed: ${errorMessage(err)}`);
265
+ logBridgeSkip("v2_transport_setup_failed", undefined, true);
266
+ archiveSession(sessionId, baseUrl, accessToken, orgUUID, cfg.http_timeout_ms);
267
+ return null;
268
+ }
269
+ logForDebugging(`[remote-bridge] v2 transport created (epoch=${credentials.worker_epoch})`);
270
+ onStateChange?.("ready");
271
+ const recentPostedUUIDs = new BoundedUUIDSet(cfg.uuid_dedup_buffer_size);
272
+ const initialMessageUUIDs = new Set;
273
+ if (initialMessages) {
274
+ for (const msg of initialMessages) {
275
+ initialMessageUUIDs.add(msg.uuid);
276
+ recentPostedUUIDs.add(msg.uuid);
277
+ }
278
+ }
279
+ const recentInboundUUIDs = new BoundedUUIDSet(cfg.uuid_dedup_buffer_size);
280
+ const flushGate = new FlushGate;
281
+ let initialFlushDone = false;
282
+ let tornDown = false;
283
+ let authRecoveryInFlight = false;
284
+ let userMessageCallbackDone = !onUserMessage;
285
+ let connectCause = "initial";
286
+ let connectDeadline;
287
+ function onConnectTimeout(cause) {
288
+ if (tornDown)
289
+ return;
290
+ logEvent("tengu_bridge_repl_connect_timeout", {
291
+ v2: true,
292
+ elapsed_ms: cfg.connect_timeout_ms,
293
+ cause
294
+ });
295
+ }
296
+ const refresh = createTokenRefreshScheduler({
297
+ refreshBufferMs: cfg.token_refresh_buffer_ms,
298
+ getAccessToken: async () => {
299
+ const stale = getAccessToken();
300
+ if (onAuth401)
301
+ await onAuth401(stale ?? "");
302
+ return getAccessToken() ?? stale;
303
+ },
304
+ onRefresh: (sid, oauthToken) => {
305
+ (async () => {
306
+ if (authRecoveryInFlight || tornDown) {
307
+ logForDebugging("[remote-bridge] Recovery already in flight, skipping proactive refresh");
308
+ return;
309
+ }
310
+ authRecoveryInFlight = true;
311
+ try {
312
+ const fresh = await withRetry(() => fetchRemoteCredentials2(sid, baseUrl, oauthToken, cfg.http_timeout_ms), "fetchRemoteCredentials (proactive)", cfg);
313
+ if (!fresh || tornDown)
314
+ return;
315
+ await rebuildTransport(fresh, "proactive_refresh");
316
+ logForDebugging("[remote-bridge] Transport rebuilt (proactive refresh)");
317
+ } catch (err) {
318
+ logForDebugging(`[remote-bridge] Proactive refresh rebuild failed: ${errorMessage(err)}`, { level: "error" });
319
+ logForDiagnosticsNoPII("error", "bridge_repl_v2_proactive_refresh_failed");
320
+ if (!tornDown) {
321
+ onStateChange?.("failed", `Refresh failed: ${errorMessage(err)}`);
322
+ }
323
+ } finally {
324
+ authRecoveryInFlight = false;
325
+ }
326
+ })();
327
+ },
328
+ label: "remote"
329
+ });
330
+ refresh.scheduleFromExpiresIn(sessionId, credentials.expires_in);
331
+ function wireTransportCallbacks() {
332
+ transport.setOnConnect(() => {
333
+ clearTimeout(connectDeadline);
334
+ logForDebugging("[remote-bridge] v2 transport connected");
335
+ logForDiagnosticsNoPII("info", "bridge_repl_v2_transport_connected");
336
+ logEvent("tengu_bridge_repl_ws_connected", {
337
+ v2: true,
338
+ cause: connectCause
339
+ });
340
+ if (!initialFlushDone && initialMessages && initialMessages.length > 0) {
341
+ initialFlushDone = true;
342
+ const flushTransport = transport;
343
+ flushHistory(initialMessages).catch((e) => logForDebugging(`[remote-bridge] flushHistory failed: ${e}`)).finally(() => {
344
+ if (transport !== flushTransport || tornDown || authRecoveryInFlight) {
345
+ return;
346
+ }
347
+ drainFlushGate();
348
+ onStateChange?.("connected");
349
+ });
350
+ } else if (!flushGate.active) {
351
+ onStateChange?.("connected");
352
+ }
353
+ });
354
+ transport.setOnData((data) => {
355
+ handleIngressMessage(data, recentPostedUUIDs, recentInboundUUIDs, onInboundMessage, onPermissionResponse ? (res) => {
356
+ transport.reportState("running");
357
+ onPermissionResponse(res);
358
+ } : undefined, (req) => handleServerControlRequest(req, {
359
+ transport,
360
+ sessionId,
361
+ onInterrupt,
362
+ onSetModel,
363
+ onSetMaxThinkingTokens,
364
+ onSetPermissionMode,
365
+ outboundOnly
366
+ }));
367
+ });
368
+ transport.setOnClose((code) => {
369
+ clearTimeout(connectDeadline);
370
+ if (tornDown)
371
+ return;
372
+ logForDebugging(`[remote-bridge] v2 transport closed (code=${code})`);
373
+ logEvent("tengu_bridge_repl_ws_closed", { code, v2: true });
374
+ if (code === 401 && !authRecoveryInFlight) {
375
+ recoverFromAuthFailure();
376
+ return;
377
+ }
378
+ onStateChange?.("failed", `Transport closed (code ${code})`);
379
+ });
380
+ }
381
+ async function rebuildTransport(fresh, cause) {
382
+ connectCause = cause;
383
+ flushGate.start();
384
+ try {
385
+ const seq = transport.getLastSequenceNum();
386
+ transport.close();
387
+ transport = await createV2ReplTransport({
388
+ sessionUrl: buildCCRv2SdkUrl(fresh.api_base_url, sessionId),
389
+ ingressToken: fresh.worker_jwt,
390
+ sessionId,
391
+ epoch: fresh.worker_epoch,
392
+ heartbeatIntervalMs: cfg.heartbeat_interval_ms,
393
+ heartbeatJitterFraction: cfg.heartbeat_jitter_fraction,
394
+ initialSequenceNum: seq,
395
+ getAuthToken: () => fresh.worker_jwt,
396
+ outboundOnly
397
+ });
398
+ if (tornDown) {
399
+ transport.close();
400
+ return;
401
+ }
402
+ wireTransportCallbacks();
403
+ transport.connect();
404
+ connectDeadline = setTimeout(onConnectTimeout, cfg.connect_timeout_ms, connectCause);
405
+ refresh.scheduleFromExpiresIn(sessionId, fresh.expires_in);
406
+ drainFlushGate();
407
+ } finally {
408
+ flushGate.drop();
409
+ }
410
+ }
411
+ async function recoverFromAuthFailure() {
412
+ if (authRecoveryInFlight)
413
+ return;
414
+ authRecoveryInFlight = true;
415
+ onStateChange?.("reconnecting", "JWT expired \u2014 refreshing");
416
+ logForDebugging("[remote-bridge] 401 on SSE \u2014 attempting JWT refresh");
417
+ try {
418
+ const stale = getAccessToken();
419
+ if (onAuth401)
420
+ await onAuth401(stale ?? "");
421
+ const oauthToken = getAccessToken() ?? stale;
422
+ if (!oauthToken || tornDown) {
423
+ if (!tornDown) {
424
+ onStateChange?.("failed", "JWT refresh failed: no OAuth token");
425
+ }
426
+ return;
427
+ }
428
+ const fresh = await withRetry(() => fetchRemoteCredentials2(sessionId, baseUrl, oauthToken, cfg.http_timeout_ms), "fetchRemoteCredentials (recovery)", cfg);
429
+ if (!fresh || tornDown) {
430
+ if (!tornDown) {
431
+ onStateChange?.("failed", "JWT refresh failed after 401");
432
+ }
433
+ return;
434
+ }
435
+ initialFlushDone = false;
436
+ await rebuildTransport(fresh, "auth_401_recovery");
437
+ logForDebugging("[remote-bridge] Transport rebuilt after 401");
438
+ } catch (err) {
439
+ logForDebugging(`[remote-bridge] 401 recovery failed: ${errorMessage(err)}`, { level: "error" });
440
+ logForDiagnosticsNoPII("error", "bridge_repl_v2_jwt_refresh_failed");
441
+ if (!tornDown) {
442
+ onStateChange?.("failed", `JWT refresh failed: ${errorMessage(err)}`);
443
+ }
444
+ } finally {
445
+ authRecoveryInFlight = false;
446
+ }
447
+ }
448
+ wireTransportCallbacks();
449
+ if (initialMessages && initialMessages.length > 0) {
450
+ flushGate.start();
451
+ }
452
+ transport.connect();
453
+ connectDeadline = setTimeout(onConnectTimeout, cfg.connect_timeout_ms, connectCause);
454
+ function drainFlushGate() {
455
+ const msgs = flushGate.end();
456
+ if (msgs.length === 0)
457
+ return;
458
+ for (const msg of msgs)
459
+ recentPostedUUIDs.add(msg.uuid);
460
+ const events = toSDKMessages(msgs).map((m) => ({
461
+ ...m,
462
+ session_id: sessionId
463
+ }));
464
+ if (msgs.some((m) => m.type === "user")) {
465
+ transport.reportState("running");
466
+ }
467
+ logForDebugging(`[remote-bridge] Drained ${msgs.length} queued message(s) after flush`);
468
+ transport.writeBatch(events);
469
+ }
470
+ async function flushHistory(msgs) {
471
+ const eligible = msgs.filter(isEligibleBridgeMessage);
472
+ const capped = initialHistoryCap > 0 && eligible.length > initialHistoryCap ? eligible.slice(-initialHistoryCap) : eligible;
473
+ if (capped.length < eligible.length) {
474
+ logForDebugging(`[remote-bridge] Capped initial flush: ${eligible.length} -> ${capped.length} (cap=${initialHistoryCap})`);
475
+ }
476
+ const events = toSDKMessages(capped).map((m) => ({
477
+ ...m,
478
+ session_id: sessionId
479
+ }));
480
+ if (events.length === 0)
481
+ return;
482
+ if (eligible.at(-1)?.type === "user") {
483
+ transport.reportState("running");
484
+ }
485
+ logForDebugging(`[remote-bridge] Flushing ${events.length} history events`);
486
+ await transport.writeBatch(events);
487
+ }
488
+ async function teardown() {
489
+ if (tornDown)
490
+ return;
491
+ tornDown = true;
492
+ refresh.cancelAll();
493
+ clearTimeout(connectDeadline);
494
+ flushGate.drop();
495
+ transport.reportState("idle");
496
+ transport.write(makeResultMessage(sessionId));
497
+ let token = getAccessToken();
498
+ let status = await archiveSession(sessionId, baseUrl, token, orgUUID, cfg.teardown_archive_timeout_ms);
499
+ if (status === 401 && onAuth401) {
500
+ try {
501
+ await onAuth401(token ?? "");
502
+ token = getAccessToken();
503
+ status = await archiveSession(sessionId, baseUrl, token, orgUUID, cfg.teardown_archive_timeout_ms);
504
+ } catch (err) {
505
+ logForDebugging(`[remote-bridge] Teardown 401 retry threw: ${errorMessage(err)}`, { level: "error" });
506
+ }
507
+ }
508
+ transport.close();
509
+ const archiveStatus = status === "no_token" ? "skipped_no_token" : status === "timeout" || status === "error" ? "network_error" : status >= 500 ? "server_5xx" : status >= 400 ? "server_4xx" : "ok";
510
+ logForDebugging(`[remote-bridge] Torn down (archive=${status})`);
511
+ logForDiagnosticsNoPII("info", "bridge_repl_v2_teardown");
512
+ logEvent("tengu_bridge_repl_teardown", {
513
+ v2: true,
514
+ archive_status: archiveStatus,
515
+ archive_ok: typeof status === "number" && status < 400,
516
+ archive_http_status: typeof status === "number" ? status : undefined,
517
+ archive_timeout: status === "timeout",
518
+ archive_no_token: status === "no_token"
519
+ });
520
+ }
521
+ const unregister = registerCleanup(teardown);
522
+ if (false) {} else {
523
+ logEvent("tengu_bridge_repl_started", {
524
+ has_initial_messages: !!(initialMessages && initialMessages.length > 0),
525
+ v2: true,
526
+ expires_in_s: credentials.expires_in,
527
+ inProtectedNamespace: isInProtectedNamespace()
528
+ });
529
+ }
530
+ return {
531
+ bridgeSessionId: sessionId,
532
+ environmentId: "",
533
+ sessionIngressUrl: credentials.api_base_url,
534
+ writeMessages(messages) {
535
+ const filtered = messages.filter((m) => isEligibleBridgeMessage(m) && !initialMessageUUIDs.has(m.uuid) && !recentPostedUUIDs.has(m.uuid));
536
+ if (filtered.length === 0)
537
+ return;
538
+ if (!userMessageCallbackDone) {
539
+ for (const m of filtered) {
540
+ const text = extractTitleText(m);
541
+ if (text !== undefined && onUserMessage?.(text, sessionId)) {
542
+ userMessageCallbackDone = true;
543
+ break;
544
+ }
545
+ }
546
+ }
547
+ if (flushGate.enqueue(...filtered)) {
548
+ logForDebugging(`[remote-bridge] Queued ${filtered.length} message(s) during flush`);
549
+ return;
550
+ }
551
+ for (const msg of filtered)
552
+ recentPostedUUIDs.add(msg.uuid);
553
+ const events = toSDKMessages(filtered).map((m) => ({
554
+ ...m,
555
+ session_id: sessionId
556
+ }));
557
+ if (filtered.some((m) => m.type === "user")) {
558
+ transport.reportState("running");
559
+ }
560
+ logForDebugging(`[remote-bridge] Sending ${filtered.length} message(s)`);
561
+ transport.writeBatch(events);
562
+ },
563
+ writeSdkMessages(messages) {
564
+ const filtered = messages.filter((m) => !m.uuid || !recentPostedUUIDs.has(m.uuid));
565
+ if (filtered.length === 0)
566
+ return;
567
+ for (const msg of filtered) {
568
+ if (msg.uuid)
569
+ recentPostedUUIDs.add(msg.uuid);
570
+ }
571
+ const events = filtered.map((m) => ({ ...m, session_id: sessionId }));
572
+ transport.writeBatch(events);
573
+ },
574
+ sendControlRequest(request) {
575
+ if (authRecoveryInFlight) {
576
+ logForDebugging(`[remote-bridge] Dropping control_request during 401 recovery: ${request.request_id}`);
577
+ return;
578
+ }
579
+ const event = { ...request, session_id: sessionId };
580
+ if (request.request?.subtype === "can_use_tool") {
581
+ transport.reportState("requires_action");
582
+ }
583
+ transport.write(event);
584
+ logForDebugging(`[remote-bridge] Sent control_request request_id=${request.request_id}`);
585
+ },
586
+ sendControlResponse(response) {
587
+ if (authRecoveryInFlight) {
588
+ logForDebugging("[remote-bridge] Dropping control_response during 401 recovery");
589
+ return;
590
+ }
591
+ const event = { ...response, session_id: sessionId };
592
+ transport.reportState("running");
593
+ transport.write(event);
594
+ logForDebugging("[remote-bridge] Sent control_response");
595
+ },
596
+ sendControlCancelRequest(requestId) {
597
+ if (authRecoveryInFlight) {
598
+ logForDebugging(`[remote-bridge] Dropping control_cancel_request during 401 recovery: ${requestId}`);
599
+ return;
600
+ }
601
+ const event = {
602
+ type: "control_cancel_request",
603
+ request_id: requestId,
604
+ session_id: sessionId
605
+ };
606
+ transport.reportState("running");
607
+ transport.write(event);
608
+ logForDebugging(`[remote-bridge] Sent control_cancel_request request_id=${requestId}`);
609
+ },
610
+ sendResult() {
611
+ if (authRecoveryInFlight) {
612
+ logForDebugging("[remote-bridge] Dropping result during 401 recovery");
613
+ return;
614
+ }
615
+ transport.reportState("idle");
616
+ transport.write(makeResultMessage(sessionId));
617
+ logForDebugging(`[remote-bridge] Sent result`);
618
+ },
619
+ async teardown() {
620
+ unregister();
621
+ await teardown();
622
+ }
623
+ };
624
+ }
625
+ async function withRetry(fn, label, cfg) {
626
+ const max = cfg.init_retry_max_attempts;
627
+ for (let attempt = 1;attempt <= max; attempt++) {
628
+ const result = await fn();
629
+ if (result !== null)
630
+ return result;
631
+ if (attempt < max) {
632
+ const base = cfg.init_retry_base_delay_ms * 2 ** (attempt - 1);
633
+ const jitter = base * cfg.init_retry_jitter_fraction * (2 * Math.random() - 1);
634
+ const delay = Math.min(base + jitter, cfg.init_retry_max_delay_ms);
635
+ logForDebugging(`[remote-bridge] ${label} failed (attempt ${attempt}/${max}), retrying in ${Math.round(delay)}ms`);
636
+ await sleep(delay);
637
+ }
638
+ }
639
+ return null;
640
+ }
641
+ async function fetchRemoteCredentials2(sessionId, baseUrl, accessToken, timeoutMs) {
642
+ const creds = await fetchRemoteCredentials(sessionId, baseUrl, accessToken, timeoutMs, getTrustedDeviceToken());
643
+ if (!creds)
644
+ return null;
645
+ return getBridgeBaseUrlOverride() ? { ...creds, api_base_url: baseUrl } : creds;
646
+ }
647
+ async function archiveSession(sessionId, baseUrl, accessToken, orgUUID, timeoutMs) {
648
+ if (!accessToken)
649
+ return "no_token";
650
+ const compatId = toCompatSessionId(sessionId);
651
+ try {
652
+ const response = await axios_default.post(`${baseUrl}/v1/sessions/${compatId}/archive`, {}, {
653
+ headers: {
654
+ ...oauthHeaders2(accessToken),
655
+ "anthropic-beta": "ccr-byoc-2025-07-29",
656
+ "x-organization-uuid": orgUUID
657
+ },
658
+ timeout: timeoutMs,
659
+ validateStatus: () => true
660
+ });
661
+ logForDebugging(`[remote-bridge] Archive ${compatId} status=${response.status}`);
662
+ return response.status;
663
+ } catch (err) {
664
+ const msg = errorMessage(err);
665
+ logForDebugging(`[remote-bridge] Archive failed: ${msg}`);
666
+ return axios_default.isAxiosError(err) && err.code === "ECONNABORTED" ? "timeout" : "error";
667
+ }
668
+ }
669
+ export {
670
+ initEnvLessBridgeCore,
671
+ fetchRemoteCredentials2 as fetchRemoteCredentials,
672
+ createCodeSession
673
+ };