gemi 0.142.0 → 0.143.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 (211) hide show
  1. package/dist/ai/index.js +2 -2
  2. package/dist/ai/index.js.map +1 -1
  3. package/dist/app/App.d.ts +4 -3
  4. package/dist/app/App.d.ts.map +1 -1
  5. package/dist/app/index.js +1 -1
  6. package/dist/bin/gemi.js +2 -2
  7. package/dist/bin/gemi.js.map +3 -3
  8. package/dist/bun/plugin.js +1 -1
  9. package/dist/bun/preload.js +1 -1
  10. package/dist/{chunk-s58hbczk.js → chunk-0839f72f.js} +2 -2
  11. package/dist/{chunk-s58hbczk.js.map → chunk-0839f72f.js.map} +1 -1
  12. package/dist/{chunk-0c553zfq.js → chunk-0t2ym9ap.js} +3 -3
  13. package/dist/{chunk-0c553zfq.js.map → chunk-0t2ym9ap.js.map} +1 -1
  14. package/dist/{chunk-mg9dgkha.js → chunk-159c392q.js} +2 -2
  15. package/dist/{chunk-mg9dgkha.js.map → chunk-159c392q.js.map} +1 -1
  16. package/dist/{chunk-r6thf4ge.js → chunk-1cn7ets3.js} +3 -3
  17. package/dist/{chunk-r6thf4ge.js.map → chunk-1cn7ets3.js.map} +1 -1
  18. package/dist/{chunk-kddgfct7.js → chunk-1ed75a7b.js} +3 -3
  19. package/dist/{chunk-kddgfct7.js.map → chunk-1ed75a7b.js.map} +1 -1
  20. package/dist/chunk-1rvnk7g8.js +24 -0
  21. package/dist/{chunk-3mnn4nb0.js.map → chunk-1rvnk7g8.js.map} +5 -6
  22. package/dist/{chunk-98dxtkbt.js → chunk-1skdsmjx.js} +2 -2
  23. package/dist/{chunk-98dxtkbt.js.map → chunk-1skdsmjx.js.map} +1 -1
  24. package/dist/{chunk-x4g0r9d3.js → chunk-1w5dnkd1.js} +2 -2
  25. package/dist/{chunk-x4g0r9d3.js.map → chunk-1w5dnkd1.js.map} +1 -1
  26. package/dist/{chunk-3wpxqcw7.js → chunk-1x9ghjpt.js} +1 -1
  27. package/dist/{chunk-vtqvq9ca.js → chunk-20d0n391.js} +2 -2
  28. package/dist/{chunk-tbhtx2t0.js.map → chunk-20d0n391.js.map} +1 -1
  29. package/dist/{chunk-y7v30zd8.js → chunk-236be97q.js} +1 -1
  30. package/dist/{chunk-tghh8r2q.js → chunk-2ra5skyk.js} +2 -2
  31. package/dist/{chunk-tghh8r2q.js.map → chunk-2ra5skyk.js.map} +1 -1
  32. package/dist/{chunk-kc2z9z3m.js → chunk-3q7sc68p.js} +2 -2
  33. package/dist/{chunk-kc2z9z3m.js.map → chunk-3q7sc68p.js.map} +1 -1
  34. package/dist/{chunk-t7qp951h.js → chunk-5g7m7g4a.js} +3 -3
  35. package/dist/{chunk-t7qp951h.js.map → chunk-5g7m7g4a.js.map} +1 -1
  36. package/dist/{chunk-5013raxj.js → chunk-5qfzvnyp.js} +3 -3
  37. package/dist/{chunk-5013raxj.js.map → chunk-5qfzvnyp.js.map} +1 -1
  38. package/dist/{chunk-eydahc2f.js → chunk-5xfpqda5.js} +1 -1
  39. package/dist/{chunk-p131vmpy.js → chunk-63q7ycwt.js} +2 -2
  40. package/dist/{chunk-p131vmpy.js.map → chunk-63q7ycwt.js.map} +1 -1
  41. package/dist/{chunk-gy307m19.js → chunk-68f0jpje.js} +2 -2
  42. package/dist/{chunk-gy307m19.js.map → chunk-68f0jpje.js.map} +1 -1
  43. package/dist/{chunk-b9d021hx.js → chunk-78bfmwp0.js} +2 -2
  44. package/dist/{chunk-b9d021hx.js.map → chunk-78bfmwp0.js.map} +1 -1
  45. package/dist/{chunk-j9hf1jyd.js → chunk-83cvkhzn.js} +2 -2
  46. package/dist/{chunk-j9hf1jyd.js.map → chunk-83cvkhzn.js.map} +1 -1
  47. package/dist/{chunk-9yfg4nqq.js → chunk-8ex0y47w.js} +2 -2
  48. package/dist/{chunk-9yfg4nqq.js.map → chunk-8ex0y47w.js.map} +1 -1
  49. package/dist/{chunk-me6mmvbq.js → chunk-8ky8cmde.js} +2 -2
  50. package/dist/{chunk-me6mmvbq.js.map → chunk-8ky8cmde.js.map} +1 -1
  51. package/dist/{chunk-gp4s95kn.js → chunk-9dkpv8ev.js} +2 -2
  52. package/dist/{chunk-gp4s95kn.js.map → chunk-9dkpv8ev.js.map} +1 -1
  53. package/dist/{chunk-v2cv3wcw.js → chunk-9k46m1vf.js} +2 -2
  54. package/dist/{chunk-v2cv3wcw.js.map → chunk-9k46m1vf.js.map} +1 -1
  55. package/dist/chunk-9qfd02h8.js +10 -0
  56. package/dist/{chunk-2yr1ad3c.js.map → chunk-9qfd02h8.js.map} +4 -4
  57. package/dist/{chunk-e9eh5k8a.js → chunk-9tgcmx4h.js} +2 -2
  58. package/dist/{chunk-e9eh5k8a.js.map → chunk-9tgcmx4h.js.map} +1 -1
  59. package/dist/{chunk-23mcs80p.js → chunk-9xzg05xg.js} +3 -3
  60. package/dist/{chunk-23mcs80p.js.map → chunk-9xzg05xg.js.map} +1 -1
  61. package/dist/{chunk-e9xbdgb2.js → chunk-a37shxb1.js} +2 -2
  62. package/dist/{chunk-e9xbdgb2.js.map → chunk-a37shxb1.js.map} +1 -1
  63. package/dist/chunk-aw8gj99f.js +4 -0
  64. package/dist/chunk-aw8gj99f.js.map +10 -0
  65. package/dist/{chunk-k732d7x5.js → chunk-azd6da5h.js} +2 -2
  66. package/dist/{chunk-k732d7x5.js.map → chunk-azd6da5h.js.map} +1 -1
  67. package/dist/{chunk-1fe07ge4.js → chunk-b4jx4fzq.js} +1 -1
  68. package/dist/chunk-b6mgrrk6.js +5 -0
  69. package/dist/{chunk-5gkzbhts.js.map → chunk-b6mgrrk6.js.map} +1 -1
  70. package/dist/{chunk-6zz3kez5.js → chunk-ce9wm3r9.js} +2 -2
  71. package/dist/{chunk-6zz3kez5.js.map → chunk-ce9wm3r9.js.map} +1 -1
  72. package/dist/{chunk-t6n490ha.js → chunk-ceb4jcrm.js} +2 -2
  73. package/dist/{chunk-t6n490ha.js.map → chunk-ceb4jcrm.js.map} +1 -1
  74. package/dist/{chunk-9b4ypfcw.js → chunk-ej4kf7m5.js} +3 -3
  75. package/dist/{chunk-9b4ypfcw.js.map → chunk-ej4kf7m5.js.map} +1 -1
  76. package/dist/{chunk-b3tmkge9.js → chunk-f2e7n064.js} +2 -2
  77. package/dist/{chunk-b3tmkge9.js.map → chunk-f2e7n064.js.map} +1 -1
  78. package/dist/{chunk-6qydm38w.js → chunk-f5qdyw45.js} +2 -2
  79. package/dist/{chunk-6qydm38w.js.map → chunk-f5qdyw45.js.map} +1 -1
  80. package/dist/{chunk-r1x5ms0y.js → chunk-fpz9e3xx.js} +2 -2
  81. package/dist/{chunk-r1x5ms0y.js.map → chunk-fpz9e3xx.js.map} +1 -1
  82. package/dist/{chunk-mj55jdwp.js → chunk-fsem81ec.js} +1 -1
  83. package/dist/{chunk-25gg2nve.js → chunk-hnsrwr0p.js} +2 -2
  84. package/dist/{chunk-25gg2nve.js.map → chunk-hnsrwr0p.js.map} +1 -1
  85. package/dist/{chunk-dptp6ceg.js → chunk-hyhbk12v.js} +2 -2
  86. package/dist/{chunk-dptp6ceg.js.map → chunk-hyhbk12v.js.map} +1 -1
  87. package/dist/{chunk-eve0hewa.js → chunk-j2k408xc.js} +3 -3
  88. package/dist/{chunk-eve0hewa.js.map → chunk-j2k408xc.js.map} +1 -1
  89. package/dist/{chunk-ct3sgfpj.js → chunk-jmhrpfqn.js} +2 -2
  90. package/dist/{chunk-ct3sgfpj.js.map → chunk-jmhrpfqn.js.map} +1 -1
  91. package/dist/{chunk-qdz4dqbf.js → chunk-kaphqnpp.js} +3 -3
  92. package/dist/{chunk-qdz4dqbf.js.map → chunk-kaphqnpp.js.map} +1 -1
  93. package/dist/chunk-kkqw8bqg.js +117 -0
  94. package/dist/{chunk-n02c478d.js.map → chunk-kkqw8bqg.js.map} +8 -6
  95. package/dist/{chunk-dzvp8ynr.js → chunk-ktrm6y5j.js} +3 -3
  96. package/dist/{chunk-dzvp8ynr.js.map → chunk-ktrm6y5j.js.map} +1 -1
  97. package/dist/{chunk-vp4x2c0k.js → chunk-kzc6bn8n.js} +2 -2
  98. package/dist/{chunk-vp4x2c0k.js.map → chunk-kzc6bn8n.js.map} +1 -1
  99. package/dist/{chunk-5aj27bgc.js → chunk-m6t5a0me.js} +2 -2
  100. package/dist/{chunk-5aj27bgc.js.map → chunk-m6t5a0me.js.map} +1 -1
  101. package/dist/{chunk-yxhg3wjf.js → chunk-m70hn4eg.js} +2 -2
  102. package/dist/{chunk-yxhg3wjf.js.map → chunk-m70hn4eg.js.map} +1 -1
  103. package/dist/{chunk-rw4z3n9b.js → chunk-m8yd59gg.js} +2 -2
  104. package/dist/{chunk-rw4z3n9b.js.map → chunk-m8yd59gg.js.map} +1 -1
  105. package/dist/{chunk-b4qh3ywd.js → chunk-maqkrbsb.js} +2 -2
  106. package/dist/{chunk-b4qh3ywd.js.map → chunk-maqkrbsb.js.map} +1 -1
  107. package/dist/{chunk-7dwgex81.js → chunk-mfn94b95.js} +2 -2
  108. package/dist/{chunk-7dwgex81.js.map → chunk-mfn94b95.js.map} +1 -1
  109. package/dist/{chunk-jrvg80jw.js → chunk-mkw35cz7.js} +2 -2
  110. package/dist/{chunk-jrvg80jw.js.map → chunk-mkw35cz7.js.map} +1 -1
  111. package/dist/{chunk-7hdfbp2x.js → chunk-mnmr27wd.js} +2 -2
  112. package/dist/{chunk-7hdfbp2x.js.map → chunk-mnmr27wd.js.map} +1 -1
  113. package/dist/{chunk-1cdz01em.js → chunk-n9zycjm1.js} +3 -3
  114. package/dist/{chunk-1cdz01em.js.map → chunk-n9zycjm1.js.map} +1 -1
  115. package/dist/{chunk-d0kw04ym.js → chunk-ncb1qtae.js} +2 -2
  116. package/dist/{chunk-d0kw04ym.js.map → chunk-ncb1qtae.js.map} +1 -1
  117. package/dist/{chunk-c7ecv545.js → chunk-p57nt0pm.js} +2 -2
  118. package/dist/{chunk-c7ecv545.js.map → chunk-p57nt0pm.js.map} +1 -1
  119. package/dist/{chunk-yxjfghq3.js → chunk-p81qeav5.js} +3 -3
  120. package/dist/{chunk-yxjfghq3.js.map → chunk-p81qeav5.js.map} +1 -1
  121. package/dist/{chunk-rwrcsfzv.js → chunk-qt6x2r6a.js} +2 -2
  122. package/dist/{chunk-rwrcsfzv.js.map → chunk-qt6x2r6a.js.map} +1 -1
  123. package/dist/{chunk-qvtmn7mn.js → chunk-r0z27j6t.js} +2 -2
  124. package/dist/{chunk-qvtmn7mn.js.map → chunk-r0z27j6t.js.map} +1 -1
  125. package/dist/{chunk-6d9f4vw0.js → chunk-r567t83k.js} +4 -4
  126. package/dist/{chunk-6d9f4vw0.js.map → chunk-r567t83k.js.map} +1 -1
  127. package/dist/{chunk-pfgbkhmm.js → chunk-rezmtdyt.js} +2 -2
  128. package/dist/{chunk-pfgbkhmm.js.map → chunk-rezmtdyt.js.map} +1 -1
  129. package/dist/{chunk-apfk702c.js → chunk-rvm5mkwm.js} +2 -2
  130. package/dist/{chunk-apfk702c.js.map → chunk-rvm5mkwm.js.map} +1 -1
  131. package/dist/{chunk-eyqsvzej.js → chunk-s29tgy4y.js} +2 -2
  132. package/dist/{chunk-eyqsvzej.js.map → chunk-s29tgy4y.js.map} +1 -1
  133. package/dist/{chunk-dje31gme.js → chunk-sa6a0wy1.js} +2 -2
  134. package/dist/{chunk-dje31gme.js.map → chunk-sa6a0wy1.js.map} +1 -1
  135. package/dist/{chunk-d1whcvyn.js → chunk-sgwgj2q0.js} +1 -1
  136. package/dist/{chunk-8r9kna46.js → chunk-t03nda3s.js} +2 -2
  137. package/dist/{chunk-8r9kna46.js.map → chunk-t03nda3s.js.map} +1 -1
  138. package/dist/{chunk-tbhtx2t0.js → chunk-t2nsn0r2.js} +2 -2
  139. package/dist/{chunk-vtqvq9ca.js.map → chunk-t2nsn0r2.js.map} +1 -1
  140. package/dist/{chunk-7p64zc6a.js → chunk-tkvamktq.js} +2 -2
  141. package/dist/{chunk-7p64zc6a.js.map → chunk-tkvamktq.js.map} +1 -1
  142. package/dist/{chunk-8gfgsmxk.js → chunk-v57ndv0h.js} +2 -2
  143. package/dist/{chunk-8gfgsmxk.js.map → chunk-v57ndv0h.js.map} +1 -1
  144. package/dist/{chunk-e3y72vzw.js → chunk-wffc5k3m.js} +2 -2
  145. package/dist/{chunk-e3y72vzw.js.map → chunk-wffc5k3m.js.map} +1 -1
  146. package/dist/{chunk-pxavt1j3.js → chunk-x0t3t7g3.js} +2 -2
  147. package/dist/{chunk-pxavt1j3.js.map → chunk-x0t3t7g3.js.map} +1 -1
  148. package/dist/{chunk-dvwdehnp.js → chunk-y5yac6n1.js} +2 -2
  149. package/dist/{chunk-dvwdehnp.js.map → chunk-y5yac6n1.js.map} +1 -1
  150. package/dist/{chunk-ks7msv3e.js → chunk-yjszzjyj.js} +2 -2
  151. package/dist/{chunk-ks7msv3e.js.map → chunk-yjszzjyj.js.map} +1 -1
  152. package/dist/{chunk-18y8n1r3.js → chunk-z80v4z8y.js} +2 -2
  153. package/dist/{chunk-18y8n1r3.js.map → chunk-z80v4z8y.js.map} +1 -1
  154. package/dist/config/index.js +1 -1
  155. package/dist/console/run.js +2 -2
  156. package/dist/console/run.js.map +1 -1
  157. package/dist/container/index.js +2 -2
  158. package/dist/container/index.js.map +1 -1
  159. package/dist/database/index.js +2 -2
  160. package/dist/database/index.js.map +1 -1
  161. package/dist/email/index.js +2 -2
  162. package/dist/email/index.js.map +1 -1
  163. package/dist/facades/index.js +2 -2
  164. package/dist/facades/index.js.map +1 -1
  165. package/dist/foundation/index.js +2 -2
  166. package/dist/foundation/index.js.map +1 -1
  167. package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
  168. package/dist/http/clientAddress.d.ts +8 -0
  169. package/dist/http/clientAddress.d.ts.map +1 -0
  170. package/dist/http/index.js +2 -2
  171. package/dist/http/index.js.map +1 -1
  172. package/dist/i18n/dictionaryRuntime.js +2 -2
  173. package/dist/i18n/dictionaryRuntime.js.map +1 -1
  174. package/dist/i18n/index.js +2 -2
  175. package/dist/i18n/index.js.map +1 -1
  176. package/dist/kernel/index.js +2 -2
  177. package/dist/kernel/index.js.map +1 -1
  178. package/dist/orm/index.js +2 -2
  179. package/dist/orm/index.js.map +1 -1
  180. package/dist/server/forwardedFor.d.ts +28 -20
  181. package/dist/server/forwardedFor.d.ts.map +1 -1
  182. package/dist/server/httpProd.d.ts.map +1 -1
  183. package/dist/server/index.js +2 -2
  184. package/dist/server/index.js.map +1 -1
  185. package/dist/services/broadcast/SocketHub.d.ts.map +1 -1
  186. package/dist/services/index.js +2 -2
  187. package/dist/services/index.js.map +1 -1
  188. package/dist/services/queue/work.js +2 -2
  189. package/dist/services/queue/work.js.map +1 -1
  190. package/dist/services/router/DomainResolver.d.ts +2 -1
  191. package/dist/services/router/DomainResolver.d.ts.map +1 -1
  192. package/dist/services/router/DomainRouter.d.ts +17 -0
  193. package/dist/services/router/DomainRouter.d.ts.map +1 -1
  194. package/dist/services/router/RouteServiceProvider.d.ts.map +1 -1
  195. package/dist/stats/route-table.js +1 -1
  196. package/dist/support/index.js +2 -2
  197. package/dist/support/index.js.map +1 -1
  198. package/dist/vitest/index.js +1 -1
  199. package/package.json +1 -1
  200. package/dist/chunk-2yr1ad3c.js +0 -10
  201. package/dist/chunk-3mnn4nb0.js +0 -24
  202. package/dist/chunk-3v4esxbd.js +0 -4
  203. package/dist/chunk-3v4esxbd.js.map +0 -10
  204. package/dist/chunk-5gkzbhts.js +0 -5
  205. package/dist/chunk-n02c478d.js +0 -117
  206. /package/dist/{chunk-3wpxqcw7.js.map → chunk-1x9ghjpt.js.map} +0 -0
  207. /package/dist/{chunk-y7v30zd8.js.map → chunk-236be97q.js.map} +0 -0
  208. /package/dist/{chunk-eydahc2f.js.map → chunk-5xfpqda5.js.map} +0 -0
  209. /package/dist/{chunk-1fe07ge4.js.map → chunk-b4jx4fzq.js.map} +0 -0
  210. /package/dist/{chunk-mj55jdwp.js.map → chunk-fsem81ec.js.map} +0 -0
  211. /package/dist/{chunk-d1whcvyn.js.map → chunk-sgwgj2q0.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{cb as w8}from"../chunk-fcqx2t0p.js";import{Ab as j8,Bb as M8,Cb as L8,Db as N8,Eb as S4,Fb as Z6,Gb as k,Hb as x8,Ib as D8,Jb as F8,Kb as H8,Lb as U8,Mb as O8,Nb as S8,Ob as R8,Pb as _8,Qb as f8,Rb as k8,Sb as C8,Tb as b8,Ub as T8,Vb as I8,Wb as P8,db as PZ,eb as wZ,fb as VZ,gb as vZ,hb as qZ,ib as H4,jb as yZ,kb as N4,lb as x4,mb as V1,nb as AZ,ob as hZ,pb as Z8,tb as $8,ub as J8,vb as Q8,wb as Y8,xb as z8,yb as X8,zb as B8}from"../chunk-2yr1ad3c.js";import"../chunk-7dwgex81.js";import{Ad as eZ,Bd as W8,md as gZ,nd as EZ,od as mZ,pd as cZ,qd as uZ,rd as dZ,sd as lZ,td as nZ,ud as iZ,vd as oZ,wd as sZ,xd as aZ,yd as tZ,zd as rZ}from"../chunk-r1x5ms0y.js";import{Cd as pZ}from"../chunk-6jd0e1dz.js";import{Dd as LZ,Ed as NZ,Fd as xZ,Gd as DZ,Hd as FZ,Id as HZ,Jd as UZ,Kd as OZ,Ld as SZ,Md as RZ,Nd as _Z,Od as fZ,Pd as kZ,Qd as CZ,Rd as bZ,Sd as TZ,Xd as IZ}from"../chunk-6zz3kez5.js";import{Yd as K8,Zd as G8}from"../chunk-c7ecv545.js";import"../chunk-6hs102jh.js";import{$e as W5,$f as i5,Ae as hW,Af as T5,Be as gW,Bf as P5,Ce as EW,De as mW,Ee as b0,Ef as w5,Fe as cW,Ff as V5,Ge as uW,Gf as v5,He as pW,Hf as q5,Ie as dW,Ig as KZ,Je as lW,Jf as y5,Jg as GZ,Kf as A5,Lf as h5,Mf as g5,Nf as E5,Of as m5,Pf as c5,Qf as u5,Rf as p5,Sf as d5,Xf as C,Yf as i,Zf as l5,_e as eW,_f as n5,af as Z5,ag as o5,bf as $5,bg as s5,cf as J5,df as Q5,dg as a5,eg as t5,fe as o0,fg as r5,ge as bW,gg as e5,he as TW,hg as WZ,ie as IW,jf as D5,ke as PW,kf as F5,kg as ZZ,lf as H5,lg as $Z,mf as U5,mg as JZ,ne as s0,nf as O5,oe as v0,of as S5,pe as q0,pf as R5,qe as G4,qf as _5,re as wW,rf as f5,rg as QZ,tf as k5,uf as W6,ve as VW,vf as C5,vg as YZ,we as vW,xe as qW,xg as v1,ye as yW,ze as AW,zf as b5}from"../chunk-n02c478d.js";import"../chunk-9b4ypfcw.js";import"../chunk-5013raxj.js";import{$h as T1,Bh as K4,Ch as J4,Dh as M1,Qh as L4,Th as t,Vh as d,Zh as Q4,_h as L1,ai as nW,bi as iW,ci as oW,di as sW,si as aW,ti as tW,vi as rW,xi as I1}from"../chunk-eve0hewa.js";import"../chunk-v2cv3wcw.js";import{Hi as r}from"../chunk-7hdfbp2x.js";import{Pi as j5,Qi as M5,Ri as b1,Si as L5,Ti as k0,Ui as N5,Vi as x5}from"../chunk-dzvp8ynr.js";import{$i as z5,aj as X5,bj as B5}from"../chunk-23mcs80p.js";import"../chunk-e9xbdgb2.js";import{Kj as I5}from"../chunk-gy307m19.js";import{Mj as Y5,Nj as K5,Oj as G5}from"../chunk-98dxtkbt.js";import"../chunk-ks7msv3e.js";import"../chunk-yxjfghq3.js";import"../chunk-8r9kna46.js";import"../chunk-rwrcsfzv.js";import{Ek as zZ,Fk as XZ,Gk as BZ,Hk as jZ,Jk as MZ}from"../chunk-t7qp951h.js";import"../chunk-rw4z3n9b.js";import{Tk as q}from"../chunk-kddgfct7.js";import"../chunk-s58hbczk.js";import"../chunk-apfk702c.js";import"../chunk-eyqsvzej.js";import"../chunk-9yfg4nqq.js";import"../chunk-5aj27bgc.js";import{rl as I0}from"../chunk-tbhtx2t0.js";import{Buffer as T0}from"buffer";class P0 extends L1{client;config;constructor(...W){super();this.config=W}async connect(){let W=await import("../chunk-6d9f4vw0.js");return this.client??=new W.S3Client(...this.config),{sdk:W,client:this.client}}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y=process.env.BUCKET_NAME;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket??Y,J=W.contentType||($ instanceof Blob||$ instanceof File?$.type:void 0);J=J||void 0;let K=$ instanceof T0?$:$ instanceof Blob||$ instanceof File?T0.from(await $.arrayBuffer()):"",{sdk:G,client:z}=await this.connect();return Z?.throwIfAborted(),await z.send(new G.PutObjectCommand({Bucket:Y,Key:Q,Body:K,ContentType:J}),{abortSignal:Z}),Q}async delete(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME;if(!Z)throw Error("Object name has to be specified");let{sdk:J,client:Q}=await this.connect();try{await Q.send(new J.DeleteObjectCommand({Bucket:$,Key:Z}))}catch(Y){if(Y?.name==="NoSuchKey"||Y?.$metadata?.httpStatusCode===404)return;throw Y}}async*pages(W,{bucket:Z,signal:$}){let{sdk:J,client:Q}=await this.connect(),Y;do{$?.throwIfAborted();let K=await Q.send(new J.ListObjectsV2Command({Bucket:Z??process.env.BUCKET_NAME,Prefix:W,ContinuationToken:Y}),{abortSignal:$});yield(K.Contents??[]).map((G)=>({name:G.Key,size:G.Size??0,lastModified:G.LastModified??new Date(0)})),Y=K.IsTruncated?K.NextContinuationToken:void 0}while(Y)}async*objects(W,Z={}){for await(let $ of this.pages(W,Z))yield*$}async deletePrefix(W,Z={}){Q4(W);let $=Z.bucket??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect(),Y=0;for await(let K of this.pages(W,{...Z,bucket:$})){if(K.length===0)continue;Z.signal?.throwIfAborted();let z=(await Q.send(new J.DeleteObjectsCommand({Bucket:$,Delete:{Objects:K.map((X)=>({Key:X.name})),Quiet:!0}}),{abortSignal:Z.signal}))?.Errors??[];if(z.length>0){let X=z[0];throw Error(`S3 could not delete ${z.length} object(s) under "${W}", e.g. "${X.Key}": ${X.Code??"unknown"} ${X.Message??""}`.trim())}Y+=K.length}return Y}async list(W){let{sdk:Z,client:$}=await this.connect();return await $.send(new Z.ListObjectsV2Command({Bucket:process.env.BUCKET_NAME,Prefix:W}))}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=process.env.BUCKET_NAME,J;if(typeof W==="string")J=W;else $=W.bucket??$,J=W.name;if(!J)throw Error("Object name has to be specified");let{sdk:Q,client:Y}=await this.connect();Z?.throwIfAborted();let K=await Y.send(new Q.GetObjectCommand({Bucket:$,Key:J}),{abortSignal:Z}),G=T1(K.Body.transformToWebStream(),Z);return Z?.throwIfAborted(),new Response(G,{headers:{"Content-Type":K.ContentType,"Content-Length":K.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":K.LastModified?.toUTCString()||"",ETag:K.ETag||""}})}async read(W){let Z=typeof W==="string"?{name:W}:W,$=Z.bucket??process.env.BUCKET_NAME,{name:J,range:Q=null}=Z;if(!J)throw Error("Object name has to be specified");let{sdk:Y,client:K}=await this.connect(),G;try{G=await K.send(new Y.GetObjectCommand({Bucket:$,Key:J,Range:Q?J4(Q):void 0}))}catch(j){if(j?.name==="InvalidRange"||j?.$metadata?.httpStatusCode===416)throw new t(await this.size({name:J,bucket:$}));if(j?.name==="NoSuchKey"||j?.$metadata?.httpStatusCode===404)throw new d(J);throw j}let z=M1(G.ContentRange),X=Boolean(z)&&G.$metadata?.httpStatusCode===206,B=z?.total??G.ContentLength??0;return{body:G.Body.transformToWebStream(),start:z?.start??0,end:z?.end??B-1,total:B,partial:X,type:G.ContentType??"application/octet-stream",etag:G.ETag||void 0,lastModified:G.LastModified,name:J}}async size(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect();try{return(await Q.send(new J.HeadObjectCommand({Bucket:$,Key:Z}))).ContentLength??0}catch(Y){if(Y?.name==="NotFound"||Y?.$metadata?.httpStatusCode===404)throw new d(Z);throw Y}}}import{Buffer as w0}from"buffer";import{Readable as m6}from"stream";function Y4(W){return W?.statusCode===404||W?.details?.errorCode==="BlobNotFound"||W?.code==="BlobNotFound"}function c6(W){return W?.statusCode===416||W?.details?.errorCode==="InvalidRange"||W?.code==="InvalidRange"}class V0 extends L1{config;serviceClientPromise=null;constructor(W={}){super();this.config=W}async serviceClient(){if(this.config.serviceClient)return this.config.serviceClient;return this.serviceClientPromise??=(async()=>{let W;try{W=await import("@azure/storage-blob")}catch{throw Error("AzureBlobDriver requires the '@azure/storage-blob' package. Install it with `bun add @azure/storage-blob`, or pass a pre-built `serviceClient`.")}let Z=this.config.connectionString??process.env.AZURE_STORAGE_CONNECTION_STRING;if(this.config.url)return new W.BlobServiceClient(this.config.url,this.config.credential);if(Z)return W.BlobServiceClient.fromConnectionString(Z);throw Error("AzureBlobDriver needs a connection string (AZURE_STORAGE_CONNECTION_STRING), a `url`, or a `serviceClient`.")})(),this.serviceClientPromise}async blob(W,Z){if(!W)throw Error("Object name has to be specified");let $=Z??this.config.container??process.env.BUCKET_NAME;if(!$)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");return(await this.serviceClient()).getContainerClient($).getBlockBlobClient(W)}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket,J=W.contentType??($ instanceof Blob||$ instanceof File?$.type:void 0);let K=$ instanceof w0?$:w0.from(await $.arrayBuffer()),G=await this.blob(Q,Y);return Z?.throwIfAborted(),await G.uploadData(K,{blobHTTPHeaders:J?{blobContentType:J}:void 0,abortSignal:Z}),Q}async*objects(W,{bucket:Z,signal:$}={}){$?.throwIfAborted();let J=Z??this.config.container??process.env.BUCKET_NAME;if(!J)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");let Y=(await this.serviceClient()).getContainerClient(J);for await(let K of Y.listBlobsFlat({prefix:W}))$?.throwIfAborted(),yield{name:K.name,size:K.properties?.contentLength??0,lastModified:K.properties?.lastModified??new Date(0)}}async list(W){let Z=this.config.container??process.env.BUCKET_NAME,J=(await this.serviceClient()).getContainerClient(Z),Q=[];for await(let Y of J.listBlobsFlat({prefix:W}))Q.push(Y.name);return Q}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=await this.download(typeof W==="string"?{name:W}:{name:W.name,bucket:W.bucket},Z);return new Response($.body,{headers:{"Content-Type":$.type,"Content-Length":String($.total),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":$.lastModified?.toUTCString()??"",ETag:$.etag??""}})}async read(W){return this.download(typeof W==="string"?{name:W}:W)}async download(W,Z){let{name:$,bucket:J,range:Q=null}=W,Y=await this.blob($,J);Z?.throwIfAborted();let K,G,z=Q?.kind==="suffix"||Q?.kind==="offset"&&Q.end===null&&Q.start===0;if(Q&&z){let H=await this.size({name:$,bucket:J}),p=K4(Q,H);if(!p)throw new t(H);K=p.start,G=p.length}else if(Q?.kind==="offset")K=Q.start,G=Q.end===null?void 0:Q.end-Q.start+1;let X;try{X=await Y.download(K,G,Z?{abortSignal:Z}:void 0)}catch(H){if(c6(H))throw new t(await this.size({name:$,bucket:J}));if(Y4(H))throw new d($);throw H}let B=M1(X.contentRange),j=Boolean(B),x=B?.total??X.contentLength??0,O=await u6(X);if(O instanceof ReadableStream)O=T1(O,Z);return Z?.throwIfAborted(),{body:O,start:B?.start??0,end:B?.end??x-1,total:x,partial:j,type:X.contentType??"application/octet-stream",etag:X.etag||void 0,lastModified:X.lastModified,name:$}}async size(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{return(await J.getProperties()).contentLength??0}catch(Q){if(Y4(Q))throw new d(Z);throw Q}}async delete(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{await J.delete()}catch(Q){if(Y4(Q))return;throw Q}}}async function u6(W){if(W.blobBody)return await W.blobBody;if(W.readableStreamBody)return m6.toWeb(W.readableStreamBody);return null}function p6(W){return W}var d6=`
2
+ import{cb as w8}from"../chunk-fcqx2t0p.js";import{Ab as j8,Bb as M8,Cb as L8,Db as N8,Eb as S4,Fb as Z6,Gb as k,Hb as x8,Ib as D8,Jb as F8,Kb as H8,Lb as U8,Mb as O8,Nb as S8,Ob as R8,Pb as _8,Qb as f8,Rb as k8,Sb as C8,Tb as b8,Ub as T8,Vb as I8,Wb as P8,db as PZ,eb as wZ,fb as VZ,gb as vZ,hb as qZ,ib as H4,jb as yZ,kb as N4,lb as x4,mb as V1,nb as AZ,ob as hZ,pb as Z8,tb as $8,ub as J8,vb as Q8,wb as Y8,xb as z8,yb as X8,zb as B8}from"../chunk-9qfd02h8.js";import"../chunk-mfn94b95.js";import{Ad as eZ,Bd as W8,md as gZ,nd as EZ,od as mZ,pd as cZ,qd as uZ,rd as dZ,sd as lZ,td as nZ,ud as iZ,vd as oZ,wd as sZ,xd as aZ,yd as tZ,zd as rZ}from"../chunk-fpz9e3xx.js";import{Cd as pZ}from"../chunk-6jd0e1dz.js";import{Dd as LZ,Ed as NZ,Fd as xZ,Gd as DZ,Hd as FZ,Id as HZ,Jd as UZ,Kd as OZ,Ld as SZ,Md as RZ,Nd as _Z,Od as fZ,Pd as kZ,Qd as CZ,Rd as bZ,Sd as TZ,Xd as IZ}from"../chunk-ce9wm3r9.js";import{Yd as K8,Zd as G8}from"../chunk-p57nt0pm.js";import"../chunk-6hs102jh.js";import{$e as eW,$f as n5,Ae as AW,Af as b5,Be as hW,Bf as T5,Bg as v1,Ce as gW,Cf as P5,De as EW,Ee as mW,Fe as b0,Ff as w5,Ge as cW,Gf as V5,He as uW,Hf as v5,Ie as pW,If as q5,Je as dW,Ke as lW,Kf as y5,Lf as A5,Mf as h5,Mg as KZ,Nf as g5,Ng as GZ,Of as E5,Pf as m5,Qf as c5,Rf as u5,Sf as p5,Tf as d5,Yf as C,Zf as i,_f as l5,af as W5,ag as i5,bf as Z5,bg as o5,cf as $5,cg as s5,df as J5,ef as Q5,eg as a5,fe as o0,fg as t5,ge as bW,gg as r5,he as TW,hg as e5,ie as IW,ig as WZ,ke as PW,kf as D5,lf as F5,lg as ZZ,mf as H5,mg as $Z,nf as U5,ng as JZ,oe as s0,of as O5,pe as v0,pf as S5,qe as q0,qf as R5,re as G4,rf as _5,se as wW,sf as f5,sg as QZ,uf as k5,vf as W6,we as VW,wf as C5,wg as YZ,xe as vW,ye as qW,ze as yW}from"../chunk-kkqw8bqg.js";import"../chunk-ej4kf7m5.js";import"../chunk-5qfzvnyp.js";import{Bi as I1,Fh as K4,Gh as J4,Hh as M1,Uh as L4,Xh as t,Zh as d,bi as Q4,ci as L1,di as T1,ei as nW,fi as iW,gi as oW,hi as sW,wi as aW,xi as tW,zi as rW}from"../chunk-j2k408xc.js";import"../chunk-9k46m1vf.js";import{Li as r}from"../chunk-mnmr27wd.js";import{Ti as j5,Ui as M5,Vi as b1,Wi as L5,Xi as k0,Yi as N5,Zi as x5}from"../chunk-ktrm6y5j.js";import{dj as z5,ej as X5,fj as B5}from"../chunk-9xzg05xg.js";import"../chunk-a37shxb1.js";import{Oj as I5}from"../chunk-68f0jpje.js";import{Qj as Y5,Rj as K5,Sj as G5}from"../chunk-1skdsmjx.js";import"../chunk-yjszzjyj.js";import"../chunk-p81qeav5.js";import"../chunk-t03nda3s.js";import"../chunk-qt6x2r6a.js";import{Ik as zZ,Jk as XZ,Kk as BZ,Lk as jZ,Nk as MZ}from"../chunk-5g7m7g4a.js";import"../chunk-m8yd59gg.js";import{Xk as q}from"../chunk-1ed75a7b.js";import"../chunk-0839f72f.js";import"../chunk-rvm5mkwm.js";import"../chunk-s29tgy4y.js";import"../chunk-8ex0y47w.js";import"../chunk-m6t5a0me.js";import{vl as I0}from"../chunk-t2nsn0r2.js";import{Buffer as T0}from"buffer";class P0 extends L1{client;config;constructor(...W){super();this.config=W}async connect(){let W=await import("../chunk-r567t83k.js");return this.client??=new W.S3Client(...this.config),{sdk:W,client:this.client}}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y=process.env.BUCKET_NAME;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket??Y,J=W.contentType||($ instanceof Blob||$ instanceof File?$.type:void 0);J=J||void 0;let K=$ instanceof T0?$:$ instanceof Blob||$ instanceof File?T0.from(await $.arrayBuffer()):"",{sdk:G,client:z}=await this.connect();return Z?.throwIfAborted(),await z.send(new G.PutObjectCommand({Bucket:Y,Key:Q,Body:K,ContentType:J}),{abortSignal:Z}),Q}async delete(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME;if(!Z)throw Error("Object name has to be specified");let{sdk:J,client:Q}=await this.connect();try{await Q.send(new J.DeleteObjectCommand({Bucket:$,Key:Z}))}catch(Y){if(Y?.name==="NoSuchKey"||Y?.$metadata?.httpStatusCode===404)return;throw Y}}async*pages(W,{bucket:Z,signal:$}){let{sdk:J,client:Q}=await this.connect(),Y;do{$?.throwIfAborted();let K=await Q.send(new J.ListObjectsV2Command({Bucket:Z??process.env.BUCKET_NAME,Prefix:W,ContinuationToken:Y}),{abortSignal:$});yield(K.Contents??[]).map((G)=>({name:G.Key,size:G.Size??0,lastModified:G.LastModified??new Date(0)})),Y=K.IsTruncated?K.NextContinuationToken:void 0}while(Y)}async*objects(W,Z={}){for await(let $ of this.pages(W,Z))yield*$}async deletePrefix(W,Z={}){Q4(W);let $=Z.bucket??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect(),Y=0;for await(let K of this.pages(W,{...Z,bucket:$})){if(K.length===0)continue;Z.signal?.throwIfAborted();let z=(await Q.send(new J.DeleteObjectsCommand({Bucket:$,Delete:{Objects:K.map((X)=>({Key:X.name})),Quiet:!0}}),{abortSignal:Z.signal}))?.Errors??[];if(z.length>0){let X=z[0];throw Error(`S3 could not delete ${z.length} object(s) under "${W}", e.g. "${X.Key}": ${X.Code??"unknown"} ${X.Message??""}`.trim())}Y+=K.length}return Y}async list(W){let{sdk:Z,client:$}=await this.connect();return await $.send(new Z.ListObjectsV2Command({Bucket:process.env.BUCKET_NAME,Prefix:W}))}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=process.env.BUCKET_NAME,J;if(typeof W==="string")J=W;else $=W.bucket??$,J=W.name;if(!J)throw Error("Object name has to be specified");let{sdk:Q,client:Y}=await this.connect();Z?.throwIfAborted();let K=await Y.send(new Q.GetObjectCommand({Bucket:$,Key:J}),{abortSignal:Z}),G=T1(K.Body.transformToWebStream(),Z);return Z?.throwIfAborted(),new Response(G,{headers:{"Content-Type":K.ContentType,"Content-Length":K.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":K.LastModified?.toUTCString()||"",ETag:K.ETag||""}})}async read(W){let Z=typeof W==="string"?{name:W}:W,$=Z.bucket??process.env.BUCKET_NAME,{name:J,range:Q=null}=Z;if(!J)throw Error("Object name has to be specified");let{sdk:Y,client:K}=await this.connect(),G;try{G=await K.send(new Y.GetObjectCommand({Bucket:$,Key:J,Range:Q?J4(Q):void 0}))}catch(j){if(j?.name==="InvalidRange"||j?.$metadata?.httpStatusCode===416)throw new t(await this.size({name:J,bucket:$}));if(j?.name==="NoSuchKey"||j?.$metadata?.httpStatusCode===404)throw new d(J);throw j}let z=M1(G.ContentRange),X=Boolean(z)&&G.$metadata?.httpStatusCode===206,B=z?.total??G.ContentLength??0;return{body:G.Body.transformToWebStream(),start:z?.start??0,end:z?.end??B-1,total:B,partial:X,type:G.ContentType??"application/octet-stream",etag:G.ETag||void 0,lastModified:G.LastModified,name:J}}async size(W){let Z=typeof W==="string"?W:W.name,$=(typeof W==="string"?void 0:W.bucket)??process.env.BUCKET_NAME,{sdk:J,client:Q}=await this.connect();try{return(await Q.send(new J.HeadObjectCommand({Bucket:$,Key:Z}))).ContentLength??0}catch(Y){if(Y?.name==="NotFound"||Y?.$metadata?.httpStatusCode===404)throw new d(Z);throw Y}}}import{Buffer as w0}from"buffer";import{Readable as m6}from"stream";function Y4(W){return W?.statusCode===404||W?.details?.errorCode==="BlobNotFound"||W?.code==="BlobNotFound"}function c6(W){return W?.statusCode===416||W?.details?.errorCode==="InvalidRange"||W?.code==="InvalidRange"}class V0 extends L1{config;serviceClientPromise=null;constructor(W={}){super();this.config=W}async serviceClient(){if(this.config.serviceClient)return this.config.serviceClient;return this.serviceClientPromise??=(async()=>{let W;try{W=await import("@azure/storage-blob")}catch{throw Error("AzureBlobDriver requires the '@azure/storage-blob' package. Install it with `bun add @azure/storage-blob`, or pass a pre-built `serviceClient`.")}let Z=this.config.connectionString??process.env.AZURE_STORAGE_CONNECTION_STRING;if(this.config.url)return new W.BlobServiceClient(this.config.url,this.config.credential);if(Z)return W.BlobServiceClient.fromConnectionString(Z);throw Error("AzureBlobDriver needs a connection string (AZURE_STORAGE_CONNECTION_STRING), a `url`, or a `serviceClient`.")})(),this.serviceClientPromise}async blob(W,Z){if(!W)throw Error("Object name has to be specified");let $=Z??this.config.container??process.env.BUCKET_NAME;if(!$)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");return(await this.serviceClient()).getContainerClient($).getBlockBlobClient(W)}async put(W,{signal:Z}={}){Z?.throwIfAborted();let $,J,Q,Y;if(W instanceof Blob)$=W,Q=`${Bun.randomUUIDv7()}.${W.type.split("/")[1].split(";")[0]}`,J=W.type;else $=W.body,Q=W.name,Y=W.bucket,J=W.contentType??($ instanceof Blob||$ instanceof File?$.type:void 0);let K=$ instanceof w0?$:w0.from(await $.arrayBuffer()),G=await this.blob(Q,Y);return Z?.throwIfAborted(),await G.uploadData(K,{blobHTTPHeaders:J?{blobContentType:J}:void 0,abortSignal:Z}),Q}async*objects(W,{bucket:Z,signal:$}={}){$?.throwIfAborted();let J=Z??this.config.container??process.env.BUCKET_NAME;if(!J)throw Error("AzureBlobDriver needs a container name, from `bucket`, the `container` config, or BUCKET_NAME.");let Y=(await this.serviceClient()).getContainerClient(J);for await(let K of Y.listBlobsFlat({prefix:W}))$?.throwIfAborted(),yield{name:K.name,size:K.properties?.contentLength??0,lastModified:K.properties?.lastModified??new Date(0)}}async list(W){let Z=this.config.container??process.env.BUCKET_NAME,J=(await this.serviceClient()).getContainerClient(Z),Q=[];for await(let Y of J.listBlobsFlat({prefix:W}))Q.push(Y.name);return Q}async fetch(W,{signal:Z}={}){Z?.throwIfAborted();let $=await this.download(typeof W==="string"?{name:W}:{name:W.name,bucket:W.bucket},Z);return new Response($.body,{headers:{"Content-Type":$.type,"Content-Length":String($.total),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":$.lastModified?.toUTCString()??"",ETag:$.etag??""}})}async read(W){return this.download(typeof W==="string"?{name:W}:W)}async download(W,Z){let{name:$,bucket:J,range:Q=null}=W,Y=await this.blob($,J);Z?.throwIfAborted();let K,G,z=Q?.kind==="suffix"||Q?.kind==="offset"&&Q.end===null&&Q.start===0;if(Q&&z){let H=await this.size({name:$,bucket:J}),p=K4(Q,H);if(!p)throw new t(H);K=p.start,G=p.length}else if(Q?.kind==="offset")K=Q.start,G=Q.end===null?void 0:Q.end-Q.start+1;let X;try{X=await Y.download(K,G,Z?{abortSignal:Z}:void 0)}catch(H){if(c6(H))throw new t(await this.size({name:$,bucket:J}));if(Y4(H))throw new d($);throw H}let B=M1(X.contentRange),j=Boolean(B),x=B?.total??X.contentLength??0,O=await u6(X);if(O instanceof ReadableStream)O=T1(O,Z);return Z?.throwIfAborted(),{body:O,start:B?.start??0,end:B?.end??x-1,total:x,partial:j,type:X.contentType??"application/octet-stream",etag:X.etag||void 0,lastModified:X.lastModified,name:$}}async size(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{return(await J.getProperties()).contentLength??0}catch(Q){if(Y4(Q))throw new d(Z);throw Q}}async delete(W){let Z=typeof W==="string"?W:W.name,$=typeof W==="string"?void 0:W.bucket,J=await this.blob(Z,$);try{await J.delete()}catch(Q){if(Y4(Q))return;throw Q}}}async function u6(W){if(W.blobBody)return await W.blobBody;if(W.readableStreamBody)return m6.toWeb(W.readableStreamBody);return null}function p6(W){return W}var d6=`
3
3
  local currentKey = KEYS[1]
4
4
  local previousKey = KEYS[2]
5
5
  local limit = tonumber(ARGV[1])
@@ -69,4 +69,4 @@ ${W.resolution}.`;console.warn($),console.warn("To disable this message, import
69
69
  `));return await this.put(Z.data.upload_url,$,{forceBodyMode:"raw",enableAuth:!1,headers:{"Content-Type":"text/plain"},prefix:""}),Z}async complianceJobResult(W){let Z=W;while(Z.status!=="complete"){if(Z.status==="expired"||Z.status==="failed")throw Error("Job failed to be completed.");await new Promise((J)=>setTimeout(J,3500)),Z=(await this.complianceJob(W.id)).data}return(await this.get(W.download_url,void 0,{enableAuth:!1,prefix:""})).trim().split(`
70
70
  `).filter((J)=>J).map((J)=>JSON.parse(J))}async usage(W={}){return this.get("usage/tweets",W)}community(W,Z={}){return this.get("communities/:id",Z,{params:{id:W}})}searchCommunities(W,Z={}){return this.get("communities/search",{query:W,...Z})}}class B1 extends z1{constructor(){super(...arguments);this._prefix=e}get readOnly(){return this}}class j1 extends X1{constructor(){super(...arguments);this._prefix=g}get readOnly(){return this}get labs(){if(this._labs)return this._labs;return this._labs=new B1(this)}hideReply(W,Z){return this.put("tweets/:id/hidden",{hidden:Z},{params:{id:W}})}like(W,Z){return this.post("users/:id/likes",{tweet_id:Z},{params:{id:W}})}unlike(W,Z){return this.delete("users/:id/likes/:tweet_id",void 0,{params:{id:W,tweet_id:Z}})}retweet(W,Z){return this.post("users/:id/retweets",{tweet_id:Z},{params:{id:W}})}unretweet(W,Z){return this.delete("users/:id/retweets/:tweet_id",void 0,{params:{id:W,tweet_id:Z}})}tweet(W,Z={}){if(typeof W==="object")Z=W;else Z={text:W,...Z};return this.post("tweets",Z)}async uploadMedia(W,Z,$=1048576){let J=Z.media_category;if(!Z.media_category){if(Z.media_type.includes("gif"))J="tweet_gif";else if(Z.media_type.includes("image"))J="tweet_image";else if(Z.media_type.includes("video"))J="tweet_video"}let Q={additional_owners:Z.additional_owners,media_type:Z.media_type,total_bytes:W.length,media_category:J},K=(await this.post("media/upload/initialize",Q)).data.id,G=Math.ceil(W.length/$),z=new Uint8Array(W);for(let B=0;B<G;B++){let j=B*$,x=Math.min(j+$,W.length),O=z.slice(j,x),H=Buffer.from(O),p={segment_index:B,media:H};await this.post(`media/upload/${K}/append`,p,{forceBodyMode:"form-data"})}if((await this.post(`media/upload/${K}/finalize`)).data.processing_info)await this.waitForMediaProcessing(K);return K}async waitForMediaProcessing(W){var Z;let J=(await this.get("media/upload",{command:"STATUS",media_id:W})).data.processing_info;if(!J)return;switch(J.state){case"succeeded":return;case"failed":throw Error(`Media processing failed: ${(Z=J.error)===null||Z===void 0?void 0:Z.message}`);case"pending":case"in_progress":{let Q=J===null||J===void 0?void 0:J.check_after_secs;if(Q&&Q>0)await new Promise((Y)=>setTimeout(Y,Q*1000)),await this.waitForMediaProcessing(W)}}}createMediaMetadata(W,Z){return this.post("media/metadata",{id:W,metadata:Z})}reply(W,Z,$={}){var J;let Q={in_reply_to_tweet_id:Z,...(J=$.reply)!==null&&J!==void 0?J:{}};return this.post("tweets",{text:W,...$,reply:Q})}quote(W,Z,$={}){return this.tweet(W,{...$,quote_tweet_id:Z})}async tweetThread(W){var Z,$;let J=[];for(let Q of W){let Y=J.length?J[J.length-1]:null,K={...typeof Q==="string"?{text:Q}:Q},G=Y?Y.data.id:(Z=K.reply)===null||Z===void 0?void 0:Z.in_reply_to_tweet_id,z=($=K.text)!==null&&$!==void 0?$:"";if(G)J.push(await this.reply(z,G,K));else J.push(await this.tweet(z,K))}return J}deleteTweet(W){return this.delete("tweets/:id",void 0,{params:{id:W}})}async bookmark(W){let Z=await this.getCurrentUserV2Object();return this.post("users/:id/bookmarks",{tweet_id:W},{params:{id:Z.data.id}})}async deleteBookmark(W){let Z=await this.getCurrentUserV2Object();return this.delete("users/:id/bookmarks/:tweet_id",void 0,{params:{id:Z.data.id,tweet_id:W}})}follow(W,Z){return this.post("users/:id/following",{target_user_id:Z},{params:{id:W}})}unfollow(W,Z){return this.delete("users/:source_user_id/following/:target_user_id",void 0,{params:{source_user_id:W,target_user_id:Z}})}block(W,Z){return this.post("users/:id/blocking",{target_user_id:Z},{params:{id:W}})}unblock(W,Z){return this.delete("users/:source_user_id/blocking/:target_user_id",void 0,{params:{source_user_id:W,target_user_id:Z}})}mute(W,Z){return this.post("users/:id/muting",{target_user_id:Z},{params:{id:W}})}unmute(W,Z){return this.delete("users/:source_user_id/muting/:target_user_id",void 0,{params:{source_user_id:W,target_user_id:Z}})}createList(W){return this.post("lists",W)}updateList(W,Z={}){return this.put("lists/:id",Z,{params:{id:W}})}removeList(W){return this.delete("lists/:id",void 0,{params:{id:W}})}addListMember(W,Z){return this.post("lists/:id/members",{user_id:Z},{params:{id:W}})}removeListMember(W,Z){return this.delete("lists/:id/members/:user_id",void 0,{params:{id:W,user_id:Z}})}subscribeToList(W,Z){return this.post("users/:id/followed_lists",{list_id:Z},{params:{id:W}})}unsubscribeOfList(W,Z){return this.delete("users/:id/followed_lists/:list_id",void 0,{params:{id:W,list_id:Z}})}pinList(W,Z){return this.post("users/:id/pinned_lists",{list_id:Z},{params:{id:W}})}unpinList(W,Z){return this.delete("users/:id/pinned_lists/:list_id",void 0,{params:{id:W,list_id:Z}})}sendDmInConversation(W,Z){return this.post("dm_conversations/:dm_conversation_id/messages",Z,{params:{dm_conversation_id:W}})}sendDmToParticipant(W,Z){return this.post("dm_conversations/with/:participant_id/messages",Z,{params:{participant_id:W}})}createDmConversation(W){return this.post("dm_conversations",W)}}class _6 extends B1{constructor(){super(...arguments);this._prefix=e}get readWrite(){return this}}var f6=_6;class k6 extends j1{constructor(){super(...arguments);this._prefix=g}get readWrite(){return this}get labs(){if(this._labs)return this._labs;return this._labs=new f6(this)}}var C6=k6;class k1 extends c{get v1(){if(this._v1)return this._v1;return this._v1=new Y1(this)}get v2(){if(this._v2)return this._v2;return this._v2=new X1(this)}async currentUser(W=!1){return await this.getCurrentUserObject(W)}async currentUserV2(W=!1){return await this.getCurrentUserV2Object(W)}search(W,Z){return this.v2.search(W,Z)}async generateAuthLink(W="oob",{authAccessType:Z,linkMode:$="authenticate",forceLogin:J,screenName:Q}={}){let Y=await this.post("https://api.x.com/oauth/request_token",{oauth_callback:W,x_auth_access_type:Z}),K=`https://api.x.com/oauth/${$}?oauth_token=${encodeURIComponent(Y.oauth_token)}`;if(J!==void 0)K+=`&force_login=${encodeURIComponent(J)}`;if(Q!==void 0)K+=`&screen_name=${encodeURIComponent(Q)}`;if(this._requestMaker.hasPlugins())this._requestMaker.applyPluginMethod("onOAuth1RequestToken",{client:this._requestMaker,url:K,oauthResult:Y});return{url:K,...Y}}async login(W){let Z=this.getActiveTokens();if(Z.type!=="oauth-1.0a")throw Error("You must setup TwitterApi instance with consumer keys to accept OAuth 1.0 login");let $=await this.post("https://api.x.com/oauth/access_token",{oauth_token:Z.accessToken,oauth_verifier:W}),J=new this.constructor({appKey:Z.appKey,appSecret:Z.appSecret,accessToken:$.oauth_token,accessSecret:$.oauth_token_secret},this._requestMaker.clientSettings);return{accessToken:$.oauth_token,accessSecret:$.oauth_token_secret,userId:$.user_id,screenName:$.screen_name,client:J}}async appLogin(){let W=this.getActiveTokens();if(W.type!=="oauth-1.0a")throw Error("You must setup TwitterApi instance with consumer keys to accept app-only login");let $=await new this.constructor({username:W.appKey,password:W.appSecret},this._requestMaker.clientSettings).post("https://api.x.com/oauth2/token",{grant_type:"client_credentials"});return new this.constructor($.access_token,this._requestMaker.clientSettings)}generateOAuth2AuthLink(W,Z={}){var $,J;if(!this._requestMaker.clientId)throw Error("Twitter API instance is not initialized with client ID. You can find your client ID in Twitter Developer Portal. Please build an instance with: new TwitterApi({ clientId: '<yourClientId>' })");let Q=($=Z.state)!==null&&$!==void 0?$:a.generateRandomString(32),Y=a.getCodeVerifier(),K=a.getCodeChallengeFromVerifier(Y),G=(J=Z.scope)!==null&&J!==void 0?J:"",z=Array.isArray(G)?G.join(" "):G,X=new URL("https://x.com/i/oauth2/authorize"),B={response_type:"code",client_id:this._requestMaker.clientId,redirect_uri:W,state:Q,code_challenge:K,code_challenge_method:"s256",scope:z};R.addQueryParamsToUrl(X,B);let j={url:X.toString(),state:Q,codeVerifier:Y,codeChallenge:K};if(this._requestMaker.hasPlugins())this._requestMaker.applyPluginMethod("onOAuth2RequestToken",{client:this._requestMaker,result:j,redirectUri:W});return j}async loginWithOAuth2({code:W,codeVerifier:Z,redirectUri:$}){if(!this._requestMaker.clientId)throw Error("Twitter API instance is not initialized with client ID. Please build an instance with: new TwitterApi({ clientId: '<yourClientId>' })");let J=await this.post("https://api.x.com/2/oauth2/token",{code:W,code_verifier:Z,redirect_uri:$,grant_type:"authorization_code",client_id:this._requestMaker.clientId,client_secret:this._requestMaker.clientSecret});return this.parseOAuth2AccessTokenResult(J)}async refreshOAuth2Token(W){if(!this._requestMaker.clientId)throw Error("Twitter API instance is not initialized with client ID. Please build an instance with: new TwitterApi({ clientId: '<yourClientId>' })");let Z=await this.post("https://api.x.com/2/oauth2/token",{refresh_token:W,grant_type:"refresh_token",client_id:this._requestMaker.clientId,client_secret:this._requestMaker.clientSecret});return this.parseOAuth2AccessTokenResult(Z)}async revokeOAuth2Token(W,Z="access_token"){if(!this._requestMaker.clientId)throw Error("Twitter API instance is not initialized with client ID. Please build an instance with: new TwitterApi({ clientId: '<yourClientId>' })");return await this.post("https://api.x.com/2/oauth2/revoke",{client_id:this._requestMaker.clientId,client_secret:this._requestMaker.clientSecret,token:W,token_type_hint:Z})}parseOAuth2AccessTokenResult(W){let Z=new this.constructor(W.access_token,this._requestMaker.clientSettings),$=W.scope.split(" ").filter((J)=>J);return{client:Z,expiresIn:W.expires_in,accessToken:W.access_token,scope:$,refreshToken:W.refresh_token}}}class C1 extends k1{get v1(){if(this._v1)return this._v1;return this._v1=new K1(this)}get v2(){if(this._v2)return this._v2;return this._v2=new j1(this)}get readOnly(){return this}}class s1 extends _{constructor(){super(...arguments);this._prefix=W1}}class a1 extends s1{constructor(){super(...arguments);this._prefix=W1}get readOnly(){return this}}class t1 extends _{constructor(){super(...arguments);this._prefix=Z1}}class r1 extends t1{constructor(){super(...arguments);this._prefix=Z1}get readOnly(){return this}}class b6 extends r1{constructor(){super(...arguments);this._prefix=Z1}get readWrite(){return this}}var T6=b6;class I6 extends a1{constructor(){super(...arguments);this._prefix=W1}get readWrite(){return this}get sandbox(){if(this._sandbox)return this._sandbox;return this._sandbox=new T6(this)}}var P6=I6;class _0 extends C1{get v1(){if(this._v1)return this._v1;return this._v1=new l1(this)}get v2(){if(this._v2)return this._v2;return this._v2=new C6(this)}get readWrite(){return this}get ads(){if(this._ads)return this._ads;return this._ads=new P6(this)}static getErrors(W){var Z;if(typeof W!=="object")return[];if(!("data"in W))return[];return(Z=W.data.errors)!==null&&Z!==void 0?Z:[]}static getProfileImageInSize(W,Z){let $=W.split("/").pop(),J=["normal","bigger","mini"],Q=W;for(let K of J)if($.includes(`_${K}`)){Q=W.replace(`_${K}`,"");break}if(Z==="original")return Q;let Y=Q.lastIndexOf(".");if(Y!==-1){let K=Q.slice(Y+1);return Q.slice(0,Y)+"_"+Z+"."+K}else return Q+"_"+Z}}var UW={clientId:process.env.X_CLIENT_ID,clientSecret:process.env.X_SECRET,redirectPath:"/auth/oauth/x/callback",scope:["tweet.read","users.read","offline.access"]};class w6 extends i{config;client;constructor(W={}){super();this.config={...UW,...W},this.client=new _0({clientId:this.config.clientId,clientSecret:this.config.clientSecret})}redirectUri(){return`${r()??""}${this.config.redirectPath}`}getRedirectUrl(W,Z){if(!Z)throw Error("XOAuthProvider needs the state and PKCE challenge gemi passes.");let $=new URL("https://x.com/i/oauth2/authorize"),J={response_type:"code",client_id:this.config.clientId,redirect_uri:this.redirectUri(),state:Z.state,code_challenge:Z.codeChallenge,code_challenge_method:Z.codeChallengeMethod,scope:this.config.scope.join(" ")};for(let[Q,Y]of Object.entries(J))$.searchParams.set(Q,Y);return $.toString()}async onCallback(W,Z){let $=W.search.get("code");if(!$)throw new C("missing_code");if(!Z?.codeVerifier)throw new C("invalid_state");let J;try{J=await this.client.loginWithOAuth2({code:$,codeVerifier:Z.codeVerifier,redirectUri:this.redirectUri()})}catch(X){throw console.error("X OAuth error: token exchange failed",X),new C("exchange_failed")}let{data:Q}=await J.client.v2.me({"user.fields":["name","username","entities"]}),{name:Y,email:K,id:G="",username:z}=Q??{};return{name:Y,email:K,username:z,providerId:G}}}var v6=["instagram_business_basic"],v={authorizeUrl:"https://www.instagram.com/oauth/authorize",tokenUrl:"https://api.instagram.com/oauth/access_token",graphUrl:"https://graph.instagram.com"};class I extends Error{status;type;code;constructor(W,Z,$,J,Q){super(W,Q);this.status=Z;this.type=$;this.code=J;this.name="InstagramApiError"}}async function e1(W){let Z=new URLSearchParams({client_id:W.clientId,client_secret:W.clientSecret,grant_type:"authorization_code",redirect_uri:W.redirectUri,code:W.code.replace(/#_$/,"")}),$=await Z4(W.tokenUrl??v.tokenUrl,"code exchange",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Z.toString()}),J=Array.isArray($.data)?$.data[0]:$,Q=J?.access_token;if(typeof Q!=="string"||Q==="")throw new I("Instagram's code exchange answered without an access token.",200);let Y=J?.permissions;return{accessToken:Q,userId:f0(J?.user_id),permissions:Array.isArray(Y)?Y.map(String):typeof Y==="string"?Y.split(/[\s,]+/).filter(Boolean):null}}async function q6(W){let Z=new URL("/access_token",W.graphUrl??v.graphUrl);return Z.searchParams.set("grant_type","ig_exchange_token"),Z.searchParams.set("client_secret",W.clientSecret),Z.searchParams.set("access_token",W.accessToken),A6(await Z4(Z.toString(),"long-lived token exchange",{method:"GET"}))}async function y6(W){let Z=new URL("/refresh_access_token",W.graphUrl??v.graphUrl);return Z.searchParams.set("grant_type","ig_refresh_token"),Z.searchParams.set("access_token",W.accessToken),A6(await Z4(Z.toString(),"token refresh",{method:"GET"}))}async function W4(W){let Z=W.graphApiVersion?`/${W.graphApiVersion.replace(/^\/+|\/+$/g,"")}`:"",$=new URL(`${Z}/me`,W.graphUrl??v.graphUrl);$.searchParams.set("fields",(W.fields??["user_id","username","name","account_type","profile_picture_url"]).join(",")),$.searchParams.set("access_token",W.accessToken);let J=await Z4($.toString(),"profile request",{method:"GET"}),Q=Array.isArray(J.data)?J.data[0]:J,Y=f0(Q?.user_id);if(!Y)throw new I("Instagram's /me answered without a user_id.",200);let K={user_id:Y},G=f0(Q?.id);if(G)K.id=G;for(let z of["username","name","account_type","profile_picture_url"]){let X=Q?.[z];if(typeof X==="string"&&X!=="")K[z]=X}return K}function A6(W){if(typeof W.access_token!=="string"||W.access_token==="")throw new I("Instagram answered without an access token.",200);let Z=Number(W.expires_in);return{accessToken:W.access_token,tokenType:typeof W.token_type==="string"?W.token_type:null,expiresIn:Number.isFinite(Z)&&Z>0?Z:null}}async function Z4(W,Z,$){let J;try{J=await fetch(W,{...$,redirect:"error"})}catch(Y){throw new I(`Instagram's ${Z} failed to reach Instagram.`,void 0,void 0,void 0,{cause:Y})}let Q=OW(await J.text().catch(()=>""));if(!J.ok){let Y=Q.error??{},K=V6(Q.error_type)??V6(Y.type),G=Number(Q.code??Y.code);throw new I(`Instagram refused the ${Z} (HTTP ${J.status}${K?`, ${K}`:""}${Number.isFinite(G)?` ${G}`:""}).`,J.status,K,Number.isFinite(G)?G:void 0)}return Q}function OW(W){try{let Z=JSON.parse(W.replace(/("(?:user_id|id)"\s*:\s*)(-?\d+)(?=\s*[,}\]])/g,'$1"$2"'));return Z&&typeof Z==="object"?Z:{}}catch{return{}}}function f0(W){if(typeof W==="string"&&W!=="")return W;if(typeof W==="number"&&Number.isSafeInteger(W))return String(W);return null}function V6(W){return typeof W==="string"&&W!==""?W:void 0}class h6 extends i{createUsersWithoutEmail=!0;linkByEmail=!1;config;constructor(W={}){super();this.config={clientId:process.env.INSTAGRAM_CLIENT_ID??"",clientSecret:process.env.INSTAGRAM_CLIENT_SECRET??"",scopes:v6,redirectPath:"/auth/oauth/instagram/callback",authorizationParams:{},...W}}redirectUri(){return`${r()??""}${this.config.redirectPath}`}getRedirectUrl(W,Z){let $=new URL(this.config.authorizeUrl??v.authorizeUrl),J={...this.config.authorizationParams,client_id:this.config.clientId,redirect_uri:this.redirectUri(),response_type:"code",scope:this.config.scopes.join(",")};if(Z)J.state=Z.state;for(let[Q,Y]of Object.entries(J))$.searchParams.set(Q,Y);return $.toString()}async onCallback(W){let Z=W.search.get("code");if(!Z)throw new C("missing_code");let $;try{let J=await e1({code:Z,clientId:this.config.clientId,clientSecret:this.config.clientSecret,redirectUri:this.redirectUri(),tokenUrl:this.config.tokenUrl});$=await W4({accessToken:J.accessToken,graphUrl:this.config.graphUrl,graphApiVersion:this.config.graphApiVersion,fields:["user_id","username","name"]})}catch(J){if(J instanceof I)throw console.error(`Instagram OAuth error: ${J.message}`),new C("exchange_failed");throw J}return{providerId:$.user_id,username:$.username,name:$.name||$.username}}}import{createHmac as SW,timingSafeEqual as RW}from"crypto";class P extends Error{reason;constructor(W,Z){super(Z);this.reason=W;this.name="MetaSignedRequestError"}}function _W(W,Z,$={}){if(!Z)throw Error("parseMetaSignedRequest needs the app secret.");if(typeof W!=="string")throw new P("malformed","No signed_request was given.");let J=W.indexOf(".");if(J<=0||J===W.length-1||W.indexOf(".",J+1)!==-1)throw new P("malformed","A signed_request is <signature>.<payload>.");let Q=W.slice(0,J),Y=W.slice(J+1);if(!/^[A-Za-z0-9_-]+={0,2}$/.test(Q)||!/^[A-Za-z0-9_-]+={0,2}$/.test(Y))throw new P("malformed","A signed_request is base64url.");let K=SW("sha256",Z).update(Y).digest(),G=Buffer.from(Q,"base64url");if(G.length!==K.length||!RW(G,K))throw new P("bad_signature","The signed_request's signature does not match the app secret.");let z;try{let x=Buffer.from(Y,"base64url").toString("utf8").replace(/("user_id"\s*:\s*)(-?\d+)(?=\s*[,}])/g,'$1"$2"');z=JSON.parse(x)}catch{throw new P("malformed","The signed_request's payload is not JSON.")}if(!z||typeof z!=="object")throw new P("malformed","The signed_request's payload is not an object.");if(String(z.algorithm??"").toUpperCase()!=="HMAC-SHA256")throw new P("unsupported_algorithm","Only HMAC-SHA256 signed_requests are accepted.");let X=Math.floor(($.now??Date.now())/1000),B=Number(z.expires);if(Number.isFinite(B)&&B>0&&B<X)throw new P("expired","The signed_request has expired.");let j=z.user_id;if((typeof j!=="string"||j==="")&&typeof j!=="number")throw new P("missing_user","The signed_request names no user.");return{...z,algorithm:String(z.algorithm),user_id:String(j)}}var fW=86400000;class g6 extends k0{instagram;constructor(W={}){let Z={authorizeUrl:W.authorizeUrl??v.authorizeUrl,tokenUrl:W.tokenUrl??v.tokenUrl,graphUrl:W.graphUrl??v.graphUrl,graphApiVersion:W.graphApiVersion};super({authorizeUrl:Z.authorizeUrl,tokenUrl:Z.tokenUrl,clientId:W.clientId??process.env.INSTAGRAM_CLIENT_ID??"",clientSecret:W.clientSecret??process.env.INSTAGRAM_CLIENT_SECRET??"",scopes:W.scopes??["instagram_business_basic","instagram_business_content_publish"],scopeSeparator:",",pkce:!1,authorizationParams:W.authorizationParams??{},redirectUri:W.redirectUri,apiBaseUrl:Z.graphUrl,refreshLeewaySeconds:W.refreshLeewaySeconds??864000,multiple:W.multiple??!1,tokenPlacement:"query",isTokenRejected:kW,refreshStrategy:async($)=>{if(Date.now()-$.issuedAt.getTime()<fW){if($.reason==="rejected")throw new b1("refresh_failed","Instagram refused the access token (OAuthException 190).",{status:401});return null}let J=await $4("refresh_failed",()=>y6({accessToken:$.accessToken,graphUrl:Z.graphUrl}));return{accessToken:J.accessToken,refreshToken:null,tokenType:J.tokenType,expiresAt:J.expiresIn===null?null:new Date(Date.now()+J.expiresIn*1000),scopes:$.scopes,providerAccountId:$.providerAccountId}}});this.instagram=Z}async exchangeCode(W){let Z=await $4("exchange_failed",()=>e1({code:W.code,clientId:this.config.clientId,clientSecret:this.config.clientSecret,redirectUri:W.redirectUri,tokenUrl:this.instagram.tokenUrl})),$=await $4("exchange_failed",()=>q6({accessToken:Z.accessToken,clientSecret:this.config.clientSecret,graphUrl:this.instagram.graphUrl})),J=await $4("exchange_failed",()=>W4({accessToken:$.accessToken,graphUrl:this.instagram.graphUrl,graphApiVersion:this.instagram.graphApiVersion}));return{accessToken:$.accessToken,refreshToken:null,tokenType:$.tokenType,expiresAt:$.expiresIn===null?null:new Date(Date.now()+$.expiresIn*1000),scopes:Z.permissions??this.config.scopes,providerAccountId:J.user_id,profile:{...J}}}refresh(){return Promise.reject(new b1("refresh_failed","Instagram connections renew the access token itself; call connection.refresh()."))}}async function kW(W){if(W.status===401)return!0;if(W.status!==400)return!1;let Z=await W.clone().json().catch(()=>null);return Number(Z?.error?.code)===190}async function $4(W,Z){try{return await Z()}catch($){if($ instanceof I)throw new b1(W,$.message,{cause:$,status:$.status===200?502:$.status});throw $}}class C0{describe;rollout;when;serverOnly;salt;constructor(W={}){if(W.rollout!==void 0){let{rollout:Z}=W;if(!Number.isFinite(Z)||Z<0||Z>100)throw Error(`A feature's \`rollout\` must be a number between 0 and 100, received ${String(Z)}.`)}this.describe=W.describe,this.rollout=W.rollout,this.when=W.when,this.serverOnly=W.serverOnly??!1,this.salt=W.salt}}function CW(W={}){return new C0(W)}class E6 extends b0{rows=new Map;constructor(W={}){super();for(let[Z,$]of Object.entries(W))this.rows.set(Z,{key:Z,active:$})}async load(){return[...this.rows.values()].map((W)=>({...W}))}async write(W,Z,$){return this.rows.set(W,{key:W,active:Z,updatedBy:$.actor,updatedAt:new Date}),{actorRecorded:!0}}}export{e5 as viewRouteConfigDefaults,G8 as translationConfigDefaults,J4 as toRangeHeaderValue,gW as subjectFor,aW as sniffContentType,lZ as scheduleConfigDefaults,K4 as resolveRange,b8 as redisConfigDefaults,f8 as rateLimiterConfigDefaults,UZ as queueConfigDefaults,_W as parseMetaSignedRequest,M1 as parseContentRange,IW as mintSessionToken,GZ as middlewareConfigDefaults,vZ as mcpCallOf,jZ as mailConfigDefaults,O8 as logConfigDefaults,TW as isSessionToken,g5 as isFinalRunStatus,Z6 as isBroadcastEvent,tW as isActiveContentType,AW as inRollout,o5 as imageConfigDefaults,oW as filesystemConfigDefaults,j8 as featuresConfigDefaults,iZ as eventConfigDefaults,hW as evaluateFeature,H5 as encodeCursor,ZZ as documentScriptCspHash,tZ as discoverWorkflows,W8 as discoverListeners,aZ as discoverJobs,rZ as discoverCronJobs,eZ as discoverCommands,K8 as defineTranslationConfig,dZ as defineScheduleConfig,y5 as defineRunsConfig,t5 as defineRouteConfig,C8 as defineRedisConfig,_8 as defineRateLimiterConfig,HZ as defineQueueConfig,KZ as defineMiddlewareConfig,BZ as defineMailConfig,U8 as defineLogConfig,i5 as defineImageConfig,iW as defineFilesystemConfig,B8 as defineFeaturesConfig,CW as defineFeature,nZ as defineEventConfig,p6 as defineEncryptionConfig,mZ as defineCommandConfig,uZ as defineCommand,D5 as defineChangeFeedConfig,eW as defineCacheConfig,b5 as defineBroadcastConfig,VW as defineAuthConfig,U5 as decodeCursor,DZ as createWorkflowTableStatements,c5 as createRunsTableStatements,cZ as commandConfigDefaults,F5 as changeFeedConfigDefaults,W5 as cacheConfigDefaults,yW as bucketOf,qW as bucketKey,T5 as broadcastConfigDefaults,H4 as bearerToken,vW as authConfigDefaults,Q4 as assertDeletablePrefix,r5 as apiRouteConfigDefaults,w6 as XOAuthProvider,bZ as WorkflowRuntime,kZ as WorkflowCancelledError,sZ as Workflow,_Z as WaitTimeoutError,QZ as ViewRouteDispatcher,pW as UndeclaredFeatureError,Q5 as TaggedCache,fZ as StepTimeoutError,RZ as StepFailedError,CZ as Step,E6 as StaticFeatureFlagSource,n5 as Sharp,hZ as Scheduler,z8 as ScheduleServiceProvider,JZ as STATIC_NAVIGATION_CSP_HASH,C5 as SOCKET_ID_HEADER,bW as SESSION_TOKEN_PREFIX,P0 as S3Driver,P8 as RunsServiceProvider,u5 as RunNotFoundError,d5 as RunManager,p5 as RunFailure,I8 as RouteServiceProvider,XZ as ResendDriver,T8 as RedisServiceProvider,y0 as RedisRateLimiter,I1 as RedisManager,$5 as RedisCacheStore,P5 as RedisBroadcastDriver,k8 as RateLimiterServiceProvider,G4 as RateLimiterDriver,PW as RateLimiter,t as RangeNotSatisfiableError,Z8 as QueueServiceProvider,TZ as QueueManager,x5 as ProviderConnection,v5 as PendingBroadcast,h5 as OPEN_RUN_STATUSES,L5 as OAuthReconnectRequiredError,i as OAuthProvider,k0 as OAuthConnectionProvider,b1 as OAuthConnectionError,C as OAuthCallbackError,R8 as MiddlewareServiceProvider,a5 as MiddlewareRegistry,P as MetaSignedRequestError,OZ as MemoryWorkflowStore,E5 as MemoryRunStore,SZ as MemoryQueueDriver,r0 as MemoryMcpOAuthStore,NZ as MemoryLockStore,j5 as MemoryConnectionStore,S5 as MemoryChangeFeedDriver,Z5 as MemoryCacheStore,I5 as MemoryBroadcastDriver,wZ as McpToolError,qZ as McpRegistry,a0 as McpOAuthServer,AZ as McpHttpServer,VZ as McpCallRefusedError,yZ as McpApiKeyResolver,L8 as MailServiceProvider,MZ as MailManager,S8 as LogServiceProvider,rW as LogManager,G5 as LockManager,Y5 as LockLostError,oZ as Listener,H8 as KernelIdServiceProvider,WZ as KernelId,IZ as Job,k5 as InvalidChannelError,h6 as InstagramOAuthProvider,g6 as InstagramConnectionProvider,I as InstagramApiError,wW as InMemoryRateLimiter,F8 as ImageServiceProvider,l5 as ImageOptimizationDriver,s5 as ImageManager,$Z as ISLAND_LOADER_CSP_HASH,K5 as HeldLock,J6 as GoogleOAuthProvider,D8 as FilesystemServiceProvider,sW as FilesystemManager,nW as FileSystemDriver,L1 as FileStorageDriver,d as FileNotFoundError,M8 as FeaturesServiceProvider,uW as FeatureSourceReadOnlyError,dW as FeatureScope,EW as FeatureReloadError,cW as FeatureModelMissingError,lW as FeatureManager,mW as FeatureFlagStore,b0 as FeatureFlagSource,C0 as Feature,A5 as FINAL_RUN_STATUSES,x8 as EventServiceProvider,k as EventManager,y1 as Event,N8 as EncryptionServiceProvider,X5 as EncryptionKeyError,z5 as Encrypter,zZ as EmailDriver,B5 as DecryptionError,xZ as DatabaseWorkflowStore,m5 as DatabaseRunStore,FZ as DatabaseQueueDriver,LZ as DatabaseLockStore,X8 as DatabaseFeatureFlagSource,M5 as DatabaseConnectionStore,O5 as DatabaseChangeFeedDriver,PZ as DEFAULT_MCP_SCOPE,pZ as CronJob,N5 as ConnectionManager,w8 as CommandRegistry,gZ as CommandFailed,EZ as Command,f5 as ChangeFeedSubscription,Q8 as ChangeFeedServiceProvider,_5 as ChangeFeedManager,R5 as ChangeFeedFullError,J8 as CacheServiceProvider,J5 as CacheManager,P1 as CONSENT_PAGE_HEADERS,$8 as BroadcastServiceProvider,q5 as BroadcastScope,w5 as BroadcastPayloadTooLargeError,V5 as BroadcastManager,$6 as BroadcastEvent,V0 as AzureBlobDriver,Y8 as AuthServiceProvider,v1 as AuthManager,YZ as ApiRouteDispatcher};
71
71
 
72
- //# debugId=24BD3545AD641DCF64756E2164756E21
72
+ //# debugId=FD92CEB9EF5C905A64756E2164756E21
@@ -76,6 +76,6 @@
76
76
  "import {\n FeatureFlagSource,\n type FeatureWriteMeta,\n type FeatureWriteResult,\n} from \"./FeatureFlagSource\";\n\n/**\n * Switches from a plain object instead of a database.\n *\n * This is how a test turns a feature on:\n *\n * ```ts\n * defineFeaturesConfig({\n * source: new StaticFeatureFlagSource({ \"new-checkout\": true }),\n * })\n * ```\n *\n * Deliberately **not** a stub that returns canned answers: these rows go through\n * the same store and the same evaluator the database source feeds. A test that\n * pins `\"new-checkout\": true` therefore still exercises the feature's own `when`\n * and `rollout`, which is the part worth testing — pinning the final answer\n * would assert about a code path production never runs.\n *\n * Writable, in memory, so `Features.set()` works against it in a test exactly\n * as it does against the table — including the actor, which it always records.\n * The object passed in is copied, never mutated.\n */\nexport class StaticFeatureFlagSource extends FeatureFlagSource {\n private readonly rows = new Map<string, Record<string, unknown>>();\n\n constructor(active: Record<string, boolean> = {}) {\n super();\n for (const [key, value] of Object.entries(active)) {\n this.rows.set(key, { key, active: value });\n }\n }\n\n async load(): Promise<Record<string, unknown>[]> {\n return [...this.rows.values()].map((row) => ({ ...row }));\n }\n\n async write(key: string, active: boolean, meta: FeatureWriteMeta): Promise<FeatureWriteResult> {\n this.rows.set(key, { key, active, updatedBy: meta.actor, updatedAt: new Date() });\n return { actorRecorded: true };\n }\n}\n"
77
77
  ],
78
78
  "mappings": "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",
79
- "debugId": "24BD3545AD641DCF64756E2164756E21",
79
+ "debugId": "FD92CEB9EF5C905A64756E2164756E21",
80
80
  "names": []
81
81
  }
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Sd as H,Vd as _}from"../../chunk-6zz3kez5.js";import{Kj as O}from"../../chunk-gy307m19.js";import"../../chunk-98dxtkbt.js";import"../../chunk-ks7msv3e.js";import"../../chunk-yxjfghq3.js";import"../../chunk-8r9kna46.js";import"../../chunk-kddgfct7.js";import"../../chunk-s58hbczk.js";import{bl as U,cl as V,gl as Z}from"../../chunk-eyqsvzej.js";import{kl as Y}from"../../chunk-9yfg4nqq.js";import"../../chunk-tbhtx2t0.js";import X from"path";function T(z){if(!z.config.get("route.channels"))return null;let C=z.config.get("broadcast",{}).driver;if(!(C===void 0||C==="memory"||C instanceof O))return null;return'[gemi] Broadcasts from this worker reach no one: the broadcast driver is "memory", which delivers to the sockets of the process that emits, and a worker has none. Set `driver: "redis"` in app/config/broadcast.ts.'}class J extends Error{name="QueueWorkerRefused"}class N{kernel;stopping;keepAlive;settings;constructor(z,C={}){this.kernel=z;this.settings={...V(),...C}}async start(){if(await this.kernel.waitForBoot(),this.stopping)return;let z=this.kernel.app;if(!z.bound(H))throw new J("[gemi] `gemi queue:work` has no queue to claim from: this application does not register QueueServiceProvider.");let C=z.make(H);if(!C.durable)throw new J('[gemi] `gemi queue:work` refuses to start: the queue uses the memory driver, which keeps each job in the process that dispatched it, so a worker never sees one. Set `driver: "database"` (or another driver every process can reach) in app/config/queue.ts, or run jobs in the server and drop the worker.');C.start(),this.keepAlive=setInterval(()=>{},1073741824),console.log(`[gemi] Queue worker started: claiming up to ${C.config.concurrency} job(s) at a time.`);let E=T(z);if(E)console.warn(E)}stop(z={}){return this.stopping??=this.drain({...this.settings,...z}),this.stopping}async drain(z){U();let C=this.kernel.app,E=C.resolved(H)?C.make(H):void 0;if(E)console.log(`[gemi] Shutting down: waiting for ${E.running} running job(s) (up to ${z.timeoutMs/1000}s).`),await E.drain(z.timeoutMs);let F=await this.kernel.shutdown({timeoutMs:z.providerTimeoutMs});clearInterval(this.keepAlive);let G=(E?.running??0)===0&&F.failed.length===0&&F.timedOut.length===0;return console.log(`[gemi] Shutdown ${G?"complete":"finished with errors"}.`),G?0:1}}async function $(){let z=Y();process.env.ROOT_DIR=z,process.env.APP_DIR=X.join(z,"app"),_();let C=X.join(z,"app/kernel/Kernel.ts"),{default:E}=await import(C);if(typeof E!=="function")return console.error(`[gemi] ${C} has no default export to boot the worker from.`),1;let F=new E;F.boot();let G=new N(F);Z(()=>G.stop());try{await G.start()}catch(L){if(!(L instanceof J))throw L;return console.error(L.message),1}return}$().then((z)=>{if(z!==void 0)process.exit(z)},(z)=>{console.error("[gemi] The queue worker failed to start:",z),process.exit(1)});
2
+ import{Sd as H,Vd as _}from"../../chunk-ce9wm3r9.js";import{Oj as O}from"../../chunk-68f0jpje.js";import"../../chunk-1skdsmjx.js";import"../../chunk-yjszzjyj.js";import"../../chunk-p81qeav5.js";import"../../chunk-t03nda3s.js";import"../../chunk-1ed75a7b.js";import"../../chunk-0839f72f.js";import{fl as U,gl as V,kl as Z}from"../../chunk-s29tgy4y.js";import{ol as Y}from"../../chunk-8ex0y47w.js";import"../../chunk-t2nsn0r2.js";import X from"path";function T(z){if(!z.config.get("route.channels"))return null;let C=z.config.get("broadcast",{}).driver;if(!(C===void 0||C==="memory"||C instanceof O))return null;return'[gemi] Broadcasts from this worker reach no one: the broadcast driver is "memory", which delivers to the sockets of the process that emits, and a worker has none. Set `driver: "redis"` in app/config/broadcast.ts.'}class J extends Error{name="QueueWorkerRefused"}class N{kernel;stopping;keepAlive;settings;constructor(z,C={}){this.kernel=z;this.settings={...V(),...C}}async start(){if(await this.kernel.waitForBoot(),this.stopping)return;let z=this.kernel.app;if(!z.bound(H))throw new J("[gemi] `gemi queue:work` has no queue to claim from: this application does not register QueueServiceProvider.");let C=z.make(H);if(!C.durable)throw new J('[gemi] `gemi queue:work` refuses to start: the queue uses the memory driver, which keeps each job in the process that dispatched it, so a worker never sees one. Set `driver: "database"` (or another driver every process can reach) in app/config/queue.ts, or run jobs in the server and drop the worker.');C.start(),this.keepAlive=setInterval(()=>{},1073741824),console.log(`[gemi] Queue worker started: claiming up to ${C.config.concurrency} job(s) at a time.`);let E=T(z);if(E)console.warn(E)}stop(z={}){return this.stopping??=this.drain({...this.settings,...z}),this.stopping}async drain(z){U();let C=this.kernel.app,E=C.resolved(H)?C.make(H):void 0;if(E)console.log(`[gemi] Shutting down: waiting for ${E.running} running job(s) (up to ${z.timeoutMs/1000}s).`),await E.drain(z.timeoutMs);let F=await this.kernel.shutdown({timeoutMs:z.providerTimeoutMs});clearInterval(this.keepAlive);let G=(E?.running??0)===0&&F.failed.length===0&&F.timedOut.length===0;return console.log(`[gemi] Shutdown ${G?"complete":"finished with errors"}.`),G?0:1}}async function $(){let z=Y();process.env.ROOT_DIR=z,process.env.APP_DIR=X.join(z,"app"),_();let C=X.join(z,"app/kernel/Kernel.ts"),{default:E}=await import(C);if(typeof E!=="function")return console.error(`[gemi] ${C} has no default export to boot the worker from.`),1;let F=new E;F.boot();let G=new N(F);Z(()=>G.stop());try{await G.start()}catch(L){if(!(L instanceof J))throw L;return console.error(L.message),1}return}$().then((z)=>{if(z!==void 0)process.exit(z)},(z)=>{console.error("[gemi] The queue worker failed to start:",z),process.exit(1)});
3
3
 
4
- //# debugId=19D1294E8BBCCDFE64756E2164756E21
4
+ //# debugId=58586A524FA962F664756E2164756E21
@@ -7,6 +7,6 @@
7
7
  "import type { Application, ShutdownReport } from \"../../foundation/Application\";\nimport { markShuttingDown, shutdownSettings, type ShutdownSettings } from \"../../server/shutdown\";\nimport { memoryBroadcastInWorker } from \"../broadcast/workerWarning\";\nimport { QueueManager } from \"./QueueManager\";\n\n/** The part of a `Kernel` a worker drives. */\nexport type WorkerKernel = {\n readonly app: Application;\n waitForBoot(): Promise<void>;\n shutdown(options?: { timeoutMs?: number }): Promise<ShutdownReport>;\n};\n\n/**\n * A worker that was told to start in an application it cannot claim for. The\n * message is written for the operator reading the deploy's logs.\n */\nexport class QueueWorkerRefused extends Error {\n name = \"QueueWorkerRefused\";\n}\n\n/**\n * The process `gemi queue:work` runs: the application booted as a server boots\n * it, claiming from the queue, and no `Bun.serve`. It exists so job capacity\n * can be scaled apart from request traffic, which needs a driver both kinds of\n * process can reach; see `start` for why the memory driver is refused.\n *\n * The caller marks the process as a worker (`markQueueWorker`) before the\n * kernel registers, so every claim rule that asks `claimsInThisProcess` sees a\n * process that claims, whatever `GEMI_QUEUE_CLAIM` says.\n */\nexport class QueueWorker {\n private stopping: Promise<number> | undefined;\n private keepAlive: ReturnType<typeof setInterval> | undefined;\n private readonly settings: ShutdownSettings;\n\n /**\n * `settings` default to the `GEMI_SHUTDOWN_*` variables, read here rather\n * than at the signal so a bad value is warned about while the deploy is\n * being watched, as `Server.start` does.\n */\n constructor(\n private readonly kernel: WorkerKernel,\n settings: Partial<ShutdownSettings> = {},\n ) {\n this.settings = { ...shutdownSettings(), ...settings };\n }\n\n /**\n * Boots the application and starts claiming. Rejects with\n * `QueueWorkerRefused` when the application has no queue, or its queue uses\n * the memory driver.\n *\n * Refused rather than warned about, because a memory worker can never do\n * anything: its jobs live in a `Map` in the process that dispatched them,\n * so a worker's is always empty. Left running, it looks like a healthy\n * deploy — a process up, no errors — that runs nothing, and scaling it out\n * adds no capacity. An exit the platform reports as a crash loop is a form\n * of the mistake someone will see.\n */\n async start(): Promise<void> {\n await this.kernel.waitForBoot();\n // A signal during the boot has already drained and cleared the handle\n // below. Going on would start the loop again and arm a handle nothing\n // clears, holding open a worker that has finished shutting down.\n if (this.stopping) return;\n\n const application = this.kernel.app;\n // `bound`, not `make` in a try: an application built without the queue\n // provider is a configuration to name, not an unbound-token stack trace.\n if (!application.bound(QueueManager)) {\n throw new QueueWorkerRefused(\n \"[gemi] `gemi queue:work` has no queue to claim from: this application \" +\n \"does not register QueueServiceProvider.\",\n );\n }\n const queue = application.make(QueueManager);\n if (!queue.durable) {\n throw new QueueWorkerRefused(\n \"[gemi] `gemi queue:work` refuses to start: the queue uses the memory \" +\n \"driver, which keeps each job in the process that dispatched it, so \" +\n 'a worker never sees one. Set `driver: \"database\"` (or another driver ' +\n \"every process can reach) in app/config/queue.ts, or run jobs in the \" +\n \"server and drop the worker.\",\n );\n }\n\n // Idempotent: a production boot with a durable driver has already started\n // it (`startClaimingIfServing`). Development has not, and a worker claims\n // in either.\n queue.start();\n // The queue's poll timer is unref'd, so that a script's queue does not\n // hold it open; here the queue is the process, and without a handle of its\n // own an idle worker would exit 0 as soon as it booted.\n this.keepAlive = setInterval(() => {}, 1 << 30);\n console.log(\n `[gemi] Queue worker started: claiming up to ${queue.config.concurrency} job(s) at a time.`,\n );\n const broadcastWarning = memoryBroadcastInWorker(application);\n if (broadcastWarning) console.warn(broadcastWarning);\n }\n\n /**\n * Stops claiming, waits for the running jobs, runs every provider's\n * `shutdown()`, and resolves with the exit code: 0 when no job was left\n * running and every provider finished in time, 1 otherwise. Idempotent.\n *\n * `gemi start`'s drain, with the jobs where the requests were:\n * `isShuttingDown()` turns true, which stops a durable queue claiming;\n * running jobs get `timeoutMs` (`GEMI_SHUTDOWN_TIMEOUT`), which a server\n * spends on requests; then `Application.shutdown` gets `providerTimeoutMs`,\n * and in it the queue provider waits for whatever is still running and\n * names it. The two budgets add up as they do for a server, so a worker\n * fits the same grace period. `delayMs` is not waited: it is for a load\n * balancer, and nothing routes to a worker.\n */\n stop(settings: Partial<ShutdownSettings> = {}): Promise<number> {\n this.stopping ??= this.drain({ ...this.settings, ...settings });\n return this.stopping;\n }\n\n private async drain(settings: ShutdownSettings): Promise<number> {\n markShuttingDown();\n const application = this.kernel.app;\n // Resolving the manager now would build a driver only to stop it, which\n // is what a signal during the boot, before the provider resolved it, finds.\n const queue = application.resolved(QueueManager) ? application.make(QueueManager) : undefined;\n if (queue) {\n console.log(\n `[gemi] Shutting down: waiting for ${queue.running} running job(s) ` +\n `(up to ${settings.timeoutMs / 1000}s).`,\n );\n await queue.drain(settings.timeoutMs);\n }\n\n const report = await this.kernel.shutdown({ timeoutMs: settings.providerTimeoutMs });\n clearInterval(this.keepAlive);\n const clean =\n (queue?.running ?? 0) === 0 && report.failed.length === 0 && report.timedOut.length === 0;\n console.log(`[gemi] Shutdown ${clean ? \"complete\" : \"finished with errors\"}.`);\n return clean ? 0 : 1;\n }\n}\n"
8
8
  ],
9
9
  "mappings": ";gcAYA,kBCDO,OAAS,DAAuB,DAAC,AAAyC,DAC/E,CAAI,DAAC,AAAY,KAAO,IAAI,gBAAgB,EAAG,OAAO,KACtD,IAAM,EAAS,EAAY,OAAO,IAAqB,YAAa,CAAC,CAAC,EAAE,OAGxE,GAAI,EADF,IAAW,QAAa,IAAW,UAAY,aAAkB,GACtD,OAAO,KACpB,MACE,uNCFG,MAAM,UAA2B,KAAM,CAC5C,KAAO,oBACT,CAYO,MAAM,CAAY,CAWJ,OAVX,SACA,UACS,SAOjB,WAAW,CACQ,EACjB,EAAsC,CAAC,EACvC,CAFiB,cAGjB,KAAK,SAAW,IAAK,EAAiB,KAAM,CAAS,OAejD,MAAK,EAAkB,CAK3B,GAJA,MAAM,KAAK,OAAO,YAAY,EAI1B,KAAK,SAAU,OAEnB,IAAM,EAAc,KAAK,OAAO,IAGhC,GAAI,CAAC,EAAY,MAAM,CAAY,EACjC,MAAM,IAAI,EACR,+GAEF,EAEF,IAAM,EAAQ,EAAY,KAAK,CAAY,EAC3C,GAAI,CAAC,EAAM,QACT,MAAM,IAAI,EACR,8SAKF,EAMF,EAAM,MAAM,EAIZ,KAAK,UAAY,YAAY,IAAM,GAAI,UAAO,EAC9C,QAAQ,IACN,+CAA+C,EAAM,OAAO,+BAC9D,EACA,IAAM,EAAmB,EAAwB,CAAW,EAC5D,GAAI,EAAkB,QAAQ,KAAK,CAAgB,EAiBrD,IAAI,CAAC,EAAsC,CAAC,EAAoB,CAE9D,OADA,KAAK,WAAa,KAAK,MAAM,IAAK,KAAK,YAAa,CAAS,CAAC,EACvD,KAAK,cAGA,MAAK,CAAC,EAA6C,CAC/D,EAAiB,EACjB,IAAM,EAAc,KAAK,OAAO,IAG1B,EAAQ,EAAY,SAAS,CAAY,EAAI,EAAY,KAAK,CAAY,EAAI,OACpF,GAAI,EACF,QAAQ,IACN,qCAAqC,EAAM,iCAC/B,EAAS,UAAY,SACnC,EACA,MAAM,EAAM,MAAM,EAAS,SAAS,EAGtC,IAAM,EAAS,MAAM,KAAK,OAAO,SAAS,CAAE,UAAW,EAAS,iBAAkB,CAAC,EACnF,cAAc,KAAK,SAAS,EAC5B,IAAM,GACH,GAAO,SAAW,KAAO,GAAK,EAAO,OAAO,SAAW,GAAK,EAAO,SAAS,SAAW,EAE1F,OADA,QAAQ,IAAI,mBAAmB,EAAQ,WAAa,yBAAyB,EACtE,EAAQ,EAAI,EAEvB,CF1HA,eAAe,CAAI,EAAgC,CACjD,IAAM,EAAU,EAAY,EAI5B,QAAQ,IAAI,SAAW,EACvB,QAAQ,IAAI,QAAU,EAAK,KAAK,EAAS,KAAK,EAE9C,EAAgB,EAEhB,IAAM,EAAa,EAAK,KAAK,EAAS,sBAAsB,GACpD,QAAS,GAAY,MAAa,UAG1C,GAAI,OAAO,IAAW,WAEpB,OADA,QAAQ,MAAM,UAAU,kDAA2D,EAC5E,EAET,IAAM,EAAS,IAAI,EACnB,EAAO,KAAK,EAEZ,IAAM,EAAS,IAAI,EAAY,CAAM,EAKrC,EAAuB,IAAM,EAAO,KAAK,CAAC,EAE1C,GAAI,CACF,MAAM,EAAO,MAAM,EACnB,MAAO,EAAO,CACd,GAAI,EAAE,aAAiB,GAAqB,MAAM,EAElD,OADA,QAAQ,MAAM,EAAM,OAAO,EACpB,EAGT,OAGF,EAAK,EAAE,KACL,CAAC,IAAS,CACR,GAAI,IAAS,OAAW,QAAQ,KAAK,CAAI,GAE3C,CAAC,IAAU,CACT,QAAQ,MAAM,2CAA4C,CAAK,EAC/D,QAAQ,KAAK,CAAC,EAElB",
10
- "debugId": "19D1294E8BBCCDFE64756E2164756E21",
10
+ "debugId": "58586A524FA962F664756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -60,7 +60,8 @@ export declare class DomainResolver {
60
60
  */
61
61
  private forwardedHost;
62
62
  /**
63
- * The client address `trustProxy.clientIpHeader` names — its first entry —
63
+ * The client address `trustProxy.clientIpHeader` names — its first entry,
64
+ * without a port —
64
65
  * or `null` when no such header is configured, the secret is missing or
65
66
  * wrong, or the header is absent or not an IPv4/IPv6 address.
66
67
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DomainResolver.d.ts","sourceRoot":"","sources":["../../../services/router/DomainResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAyC,aAAa,EAAE,MAAM,UAAU,CAAC;AAErF,qDAAqD;AACrD,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,0CAA0C;AAC1C,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAC;CACjB;AAcD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAO7E;AAuFD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS5E;AAeD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,QAsE7D;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuD;IAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGlB;IACJ,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6D;IACtF,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE9B,MAAM,EAAE,aAAa;IAiBjC;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAWrB;;;;OAIG;IACH,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAa5C;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASjC,wEAAwE;IACxE,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAInC;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAkBlC,0FAA0F;IACpF,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAe3D;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1D,OAAO,CAAC,WAAW;YAIL,KAAK;YA0BL,aAAa;IAuC3B,wEAAwE;IACxE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM;CAUrB"}
1
+ {"version":3,"file":"DomainResolver.d.ts","sourceRoot":"","sources":["../../../services/router/DomainResolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAyC,aAAa,EAAE,MAAM,UAAU,CAAC;AAErF,qDAAqD;AACrD,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,0CAA0C;AAC1C,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAC;CACjB;AAcD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAO7E;AAuFD,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS5E;AAeD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,QAsE7D;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuD;IAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGlB;IACJ,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6D;IACtF,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAE9B,MAAM,EAAE,aAAa;IAiBjC;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAWrB;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAa5C;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASjC,wEAAwE;IACxE,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAInC;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAkBlC,0FAA0F;IACpF,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAe3D;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1D,OAAO,CAAC,WAAW;YAIL,KAAK;YA0BL,aAAa;IAuC3B,wEAAwE;IACxE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM;CAUrB"}
@@ -2,6 +2,7 @@ import { ApiRouteDispatcher } from "./ApiRouteDispatcher";
2
2
  import { ViewRouteDispatcher } from "./ViewRouteDispatcher";
3
3
  import { DomainResolver, type ResolvedDomain } from "./DomainResolver";
4
4
  import type { ApiRouteConfig, DomainsConfig, ViewRouteConfig } from "./config";
5
+ import { type ClientIpHeaderTrust } from "../../server/forwardedFor";
5
6
  /**
6
7
  * Where a TLS proxy asks whether to issue a certificate for a host — Caddy's
7
8
  * `on_demand_tls { ask ... }`. Answered before host resolution, since the
@@ -24,12 +25,28 @@ export declare class DomainRouter {
24
25
  readonly resolver: DomainResolver | null;
25
26
  /** Whether hosts outside the root are served at all — `route.domains.custom` is set. */
26
27
  readonly acceptsCustomDomains: boolean;
28
+ /**
29
+ * The client-IP header trusted without `route.domains` —
30
+ * `GEMI_CLIENT_IP_HEADER` and its secret (see `forwardedFor.ts`) — or `null`.
31
+ */
32
+ readonly clientIpTrust: ClientIpHeaderTrust | null;
27
33
  private readonly groups;
28
34
  constructor(root: DomainDispatchers, config: {
29
35
  api: ApiRouteConfig;
30
36
  view: ViewRouteConfig;
31
37
  domains?: DomainsConfig;
38
+ clientIpTrust?: ClientIpHeaderTrust | null;
32
39
  });
40
+ /**
41
+ * Makes the address a proven proxy names the one the rest of gemi reads: the
42
+ * only entry of `X-Forwarded-For`, with `X-Real-IP` dropped. The proxy is
43
+ * `route.domains.trustProxy` (`clientIpHeader` + `secret`) or, failing that,
44
+ * `GEMI_CLIENT_IP_HEADER` + `GEMI_PROXY_SECRET_HEADER`/`GEMI_PROXY_SECRET`.
45
+ * A request without the secret keeps the address `GEMI_TRUST_PROXY` settled
46
+ * on. Idempotent. Lives here so the secret is withheld from `proxy()` routes
47
+ * by the app's copy of gemi (see the note at the top of `app/App.ts`).
48
+ */
49
+ applyClientIp(req: Request): void;
33
50
  /**
34
51
  * Resolves `req`'s host group, records it for every `HttpRequest` built over
35
52
  * `req`, and returns that group's dispatchers — `null` when no group serves
@@ -1 +1 @@
1
- {"version":3,"file":"DomainRouter.d.ts","sourceRoot":"","sources":["../../../services/router/DomainRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,cAAc,EAId,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAsB,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGnG;;;;GAIG;AACH,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,kBAAkB,CAAC;IACxB,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,MAAM,CAAC,KAAK,SAAoB;IAEhC,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,wFAAwF;IACxF,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG7D,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE;QAAE,GAAG,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE;IAuBjF;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAiB5D;;;;;;;;;;;OAWG;IACG,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBjD,kEAAkE;IAClE,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,iBAAiB;IAI7D,mGAAmG;IACnG,eAAe,IAAI,mBAAmB,EAAE;IAIxC;;;;;OAKG;IACH,UAAU,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC;CAUlE"}
1
+ {"version":3,"file":"DomainRouter.d.ts","sourceRoot":"","sources":["../../../services/router/DomainRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,cAAc,EAId,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAsB,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEnG,OAAO,EAAE,KAAK,mBAAmB,EAAyB,MAAM,2BAA2B,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,kBAAkB,CAAC;IACxB,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,MAAM,CAAC,KAAK,SAAoB;IAEhC,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,wFAAwF;IACxF,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG7D,IAAI,EAAE,iBAAiB,EACvB,MAAM,EAAE;QACN,GAAG,EAAE,cAAc,CAAC;QACpB,IAAI,EAAE,eAAe,CAAC;QACtB,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,aAAa,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;KAC5C;IAwBH;;;;;;;;OAQG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAejC;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAiB5D;;;;;;;;;;;OAWG;IACG,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBjD,kEAAkE;IAClE,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,iBAAiB;IAI7D,mGAAmG;IACnG,eAAe,IAAI,mBAAmB,EAAE;IAIxC;;;;;OAKG;IACH,UAAU,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC;CAUlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"RouteServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/router/RouteServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAmBhE;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,QAAQ;IAgDR;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;;;;OAQG;IACH,IAAI;CAeL"}
1
+ {"version":3,"file":"RouteServiceProvider.d.ts","sourceRoot":"","sources":["../../../services/router/RouteServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAoBhE;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,QAAQ;IAiDR;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;;;;OAQG;IACH,IAAI;CAeL"}
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import"../chunk-tbhtx2t0.js";import M from"path";import{writeFileSync as Q}from"fs";var L=new Set(["FILE","REDIRECT"]);function H(j){return j.run(()=>{let x=[];for(let{group:z,view:D}of j.domains().viewGroups())for(let[G,B]of Object.entries(D.flatViewRoutes)){let C=D.routeManifest[G]??B.segments.map((K)=>K.viewPath);if(C.length===0||L.has(C.at(-1)))continue;x.push({path:G,group:z,views:C,...B.static?{static:{...B.static.layout?{layout:B.static.layout}:{},...B.static.navigation?{navigation:!0}:{}}}:{}})}return x})}var J=process.argv[2];async function U(){if(!J)throw Error("usage: route-table <out.json>");let j=M.resolve(process.cwd(),"app/kernel/Kernel.ts"),x=await import(j);if(typeof x.default!=="function")throw Error(`${j} has no default export (the Kernel subclass).`);let z=new x.default;z.boot();try{Q(J,JSON.stringify(H(z)))}finally{z.destroy()}}U().then(()=>process.exit(0),(j)=>{console.error(j?.stack??String(j)),process.exit(1)});
2
+ import"../chunk-t2nsn0r2.js";import M from"path";import{writeFileSync as Q}from"fs";var L=new Set(["FILE","REDIRECT"]);function H(j){return j.run(()=>{let x=[];for(let{group:z,view:D}of j.domains().viewGroups())for(let[G,B]of Object.entries(D.flatViewRoutes)){let C=D.routeManifest[G]??B.segments.map((K)=>K.viewPath);if(C.length===0||L.has(C.at(-1)))continue;x.push({path:G,group:z,views:C,...B.static?{static:{...B.static.layout?{layout:B.static.layout}:{},...B.static.navigation?{navigation:!0}:{}}}:{}})}return x})}var J=process.argv[2];async function U(){if(!J)throw Error("usage: route-table <out.json>");let j=M.resolve(process.cwd(),"app/kernel/Kernel.ts"),x=await import(j);if(typeof x.default!=="function")throw Error(`${j} has no default export (the Kernel subclass).`);let z=new x.default;z.boot();try{Q(J,JSON.stringify(H(z)))}finally{z.destroy()}}U().then(()=>process.exit(0),(j)=>{console.error(j?.stack??String(j)),process.exit(1)});
3
3
 
4
4
  //# debugId=05EB0087C5A2060D64756E2164756E21