From c694494bee6a399e4d763b546363b63c1563c462 Mon Sep 17 00:00:00 2001 From: Janaina <jsk22@inf.ufpr.br> Date: Wed, 7 May 2025 11:03:46 -0300 Subject: [PATCH] ok --- bun.lockb | Bin 179606 -> 175722 bytes package.json | 3 +- pnpm-lock.yaml | 4014 +++++++++++++++++ .../migrations/0003_mysterious_the_fallen.sql | 1 + src/db/migrations/meta/0003_snapshot.json | 2714 +++++++++++ src/db/migrations/meta/_journal.json | 7 + src/db/repo/complaint.repo.ts | 14 + src/db/repo/homologation.repo.ts | 4 +- src/db/repo/user-role.repo.ts | 19 +- src/db/seeds/collections.seed.ts | 2 +- src/db/seeds/resource.seed.ts | 2 + src/db/seeds/user-role.seed.ts | 4 +- src/routes/complaints.route.ts | 22 +- src/routes/homologation.route.ts | 7 +- src/routes/user.route.ts | 27 +- src/search/index.ts | 5 +- src/services/complaints.service.ts | 5 + src/services/user-role.relation.service.ts | 5 +- 18 files changed, 6834 insertions(+), 21 deletions(-) create mode 100644 pnpm-lock.yaml create mode 100644 src/db/migrations/0003_mysterious_the_fallen.sql create mode 100644 src/db/migrations/meta/0003_snapshot.json diff --git a/bun.lockb b/bun.lockb index 07d65b227b112081b8a5c9b3bf38892687972d65..c6fab67ceda4fd6f25551f4c2a416322ac7ac6ae 100755 GIT binary patch delta 32511 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 b>LG4GD2MYAsui|#*)T0m-+pri(_Rq(s-CE7 delta 34419 zcmaELhilqzt_gaYs<F;?w!0iZ1$+}(BX*{IC&%`uF($U|jLPZ}GwvMEyT-Pci2(%G zPYjo5Dqgj)g0ViaC^;juEVZbOn}LCgfuZ3HHv@wJ14Bb1Hv<Dd14F}H9tH+J28M?B zJPZun3=9ngMfu68#l;M%WvO{3#S9EdrD<uYMGOo#co`Tt85kORc_8|e`4|`k85kNY zq55@s7#MgM7#fm`l68%Z7#LJ|!0PK8+_@nZ<m9I$7H2Rp@CZO00&~C%0R{#U28M=P z0uXiR4mu|QF*q|XBef{Aq&TxUv8X7ql7UeG;^6e0{3MW{bA=fg#26SFVuc|N)Di*7 zi!e0EgBc7B8$}>KW)q$Kib=j+7$nWmkRk?lXG3mgUS>gJaj~Z`gfAryQJpUiah3yA zoI?U){BLmv23`h+hA$Ej^~WV3-kL87p{GbdoNXY*z#z`R(4Z;>u`farLf1=5Lk!4} zhG-yU&;l8VL(mPXfktd`Nl|KIZUw_PS%?L%WFZbnGD!pl55p>1h(imw!Q$QxFrS7( z1R4^HEAx^W7#NN*Ffd3lFf^zufE6}mD?l82Qh|X%l!2k)fC9vzyu`fx%oGNOO$w8P zSoArS7#QRj7#b!kPwrxouUBDU5Mp3xD9uaBOwMFrC@Id#1jW*C6-cVdC`e3C%`0KJ zzzI<|O9f)rCp88JNl;=?V_=YAU}!j@29YnREXYhw%wZ7LfT)|Q0SUC<>JXY$0}?pN z8HqXB3=9nQy_yh#jKpHyw4B8B?P?H<bG0DRm#76X2xb7xg4Jpe@dav-P@D>-yP$NA z4n#hS0phS2BL)Ud28IT4T}U9A8Zj`aGceRQywHV&mWnRKA$$;th8Knm3~Hc!sL#M4 z!@$t6&lD1FOHCm@57UFB7c)}`JyVx~L70J|Ay60MfgE#4$h4S4)VD$9#q=S3LrVq* zX@+`+hDDYT10*dW8fx_+(W+t!aXGUoBqY!chFL6Z3bBw2>a)L44?Wd`n72_MWD!F{ zk}kx&>$VW{&w}LZ85kP=L4)eH0Rw{q14Bc<4J4yC*g$etaY<2LX)Xi9Q9}j>Wd??Z zMNs;&10-ZlJ3uUIFl1m*Vqj=U$}cYll|*q+elpZUwuTH0iVO@5GEjQIGXq0C$UqMl zNRa$CfGD`_3W=+7H%Q3rhB|DH0Rw|P14BcZE5xDp&?u;dipN1|B?CxQX+Y(L^dKb; zs{sRpECWNs3w;PZU7w*IoP#`}F4Tw8XT2dow$2-3;bmx$ZUqGyD7Tb?@)H9?2{cIc zeHj>37#JEHpmD$56~dq93h_`F)WQ4wAtANeACgwgT<ak|5rZmlfV%vz9wbD5210`L zULeFlbD<7sh0?iDdcQ6t%GN*=nGrNGM>0UtMrv_RW?l&c!|^akHrxxP)9S+^i7O|y zEDu!r#Dqf>ctYvma0YN~l9HNQpqp9Dur3UeCSYX}tn{553DLJG43h0?!x$J;85kP! z!yvgTvsf2g{_{se)TM+$vTc24dR~4}Dg#3#R3I%gFGaVsfWa*WqQDwT7wG2XCnuJq z7U<?==4O^KSjR%-J;NX#I1>voI6Jkn4CE1~IEZ{&PGU((Y6^oD)ZwYcr6rj;#SE#% zg{7%QmGun8@eqxv#RWyFsSFJ2VUW0a7Z34yVsd^FC}^aiJ`+uZh_i=5f;=TPsWhE| zfg!gTWGw>&tQJem0=t8uv?x<ItC)eIpfs;CIX@+}HwmJzI0=*u>lqrpheCXimRMX; z$iTo*lv-MxnO4d0BN^h5lPQoO6-|W%{mvAK`p2OVgN}wmQacX=#3Ngw=Iu{|=--?M z(Vv?Rp%c;}CE)LL1_n-0{s%=&Voou`La2fJG9V>lM<^r_W<f20g$!pXB+-5dfyjGg zLsI+7EJ$uK$cCiyhAfDMOL8C%D^ATV1C<LP`;sad7>aWeizmx)^Va7=LR29SqAo2D z!cQtnOinFkV7LnvSI&o|rP6$eJS@qiWEO!FmtFxxJSP_t^(V3*?(E5eWcM2(5O<Yl zLDUr#rIwUrrWQ?J!7Wgq3e6$^iXb^HvlvpiJuiZkLFnnMC^NSxF^z!%<QY)JOO!%l zg|`%9d1hW(PG)*WNqJFXK|v)0Lw;UzDo7nHc0l?-fex*t>l<L{50=hg(V3E;TvC*o zmukTPF<7?(;-DoJkkI{50kOCjDn79iQq2FZgoNgYN{GJH;-u2doD_!S8i;=18c3mN z4yNlF8Wh0{h6ZjZ{jD033?5ZO(%CsEy$eb&gVK|rbRCq=g3@77+PNB%4h^8RER^Pg z(m$#g7=%FS@EM4~z|e37N*{vKvQQu5_W@-dhy}H5De?gWLjx`kcup?lRZu`{n4Ilm z0GF&{43KPnWb#Jd|C<H)A8^+13~8udFR<c=tzSW<Z0jK#yN<v`KjU+1Hc85R9~4$* zH_F-k`PBK0^y8ZG4doBh_*ed@%K6&o9iJB7`%Ws-&-Li(S6l1ieF|BhPc_S%v5rS{ zsm`I-k1kv}GUw(w^_sHZCpI|EoKca;m0I_*yeRVFa=m>!^qh<|E*%uI{u=KyN%8bD zan~%dJsn1~XR7S;oxJ>u7;B`gpKSBVu24-k-3y1`ZT=u}f|H4#d-5(-dq(cbzrduG znmr@W<SH<^3rzk}vuEU;Y^4q&tH9(gF!@W}o`a8p!GnRJfq62cra4my-{dL{u$T*6 zjER5pFAaM}{>fIFAhHTf?$Wep6qx)AOj>Dy*i~S1mzF)F;N)Lm(n=e|uF|$=6q>vX zO#afg=MZ9GFk@h7U<BKDKxlH6jy<FB<XvF$7nrotwPzHWTm>d~>DqIMFfh0=Ff=fM zbqI@2w$ig_6rEfJCU@!CbBHo97{TSa#U@+n+cSzyt^$+0z~nD|dq(leRt6xl3QX=Y zuxFH*{0mH48QOD5GB8*%Ff_1(?MRlKyvxv@QF8JxFll9E&mqOY5C#ho&bd+y40a3* z4IE(Ax1}ckGO}lso@`|dBCEjUE@OKRX$A%xu$c#CEf{4cTbbB1%1o{Tle@s=FB5x4 z*~wO>AhHTf?lQG!l$-nuOj?<N*i~S17nuBIX3r=;*~;9WL!N=b0Un48<tOhl2g&?0 zw`WwCY-Ir=tH9(g3wuVz$-ls)l_iK>1txb{+A}Im{sktjtU&B4FuBXho>6)7FED9k z4PsYW+cT<6-UTLqfk`VHdq&mCRbX-#nEVAMt!%;Kw)Tu_lXuzLGpbMi1tzWRK<p|z zdq$1PyTIfxFll8E5~;GcXVjd$3rzk3lU5G)9GVOa77PpxEZ_hZ*P6V`!JbiT@-HxH z<!H~SJ-N!!o<kdwlpw0gwI}}q%UC&q<(=#qbtdlulfS^Em9ssg(c~&Hxy#v}(RlJN zFlpriVpqA?Gn!1^1tx#F*mIaNFhoFHpk~2nI=RZ#p3!XbE-?Aa)t<wQfx!<Vt!d7r zW<I&f&7Q-Yfx!tT#(CeIfgu3S)3;z?2!it(Eg&fx;_%}ZlXtn>Gg?mm1tzUL>=~^l zSAof0VDcB3wDPoPw4PiACU=3!U!L}iHj}NqKx7q|+yy3odD%1CPPXy}kyT)Fm$yBm z-Q-_j(#pr4!;XO=0p=PeUHi$qeC!$RC;tMIR=yy1m9IUc!{lAQ_8boIfY3B&3U{1r z<!8_6IJwHtp3!OYE-?8EOj`MaM5_Gl8J#EZ0+YY|?HOGrTLpl~ssMXNx5>M}<S#I3 z6==`sKDi1^?gEp)0__<+CR+u8$f_WFM$gH+z~nD5X%%eG;l;oZ1$TFp*W_Kn_KaSW ze+An!dQY|r0g+W;a#x5wqtE1DA@&?TkdS7b?C4;@=rg%0)Sknafx&=*p@DPqK~)Pz z-^ss1?HPS1TZP#(`c19^le@s=uP}Q?|H)S2AhIglo-ttZE-?8EOj<?QGX_qs0+YKU z>^XuM7*b#^<E#&YloqVu<a;$}a#f@~WANl%VDcB3w2HE444GU7CU=3!Us3jqp_8qm z?HR)+S4G=1hELuFCVzoRs~C_-Rg67j#N=II@)wx2iUo;O#o9AQPTmD3e}PG>IFLwH zoIPXI<XvF$7nrn)w`Yu=Tm>d~fyrNB(kj88BL<S4Ag&IKnY=5(o+XBX!EW+j4QtM` zF_0|DI@!_Df-!b-RiZs(?BrdE_8hU03ItLZUW=V<m1NHtH@ON-?gEp)z@$~OJ!Aaj zDloYVO#T9sRw?!z@yOZ9HDU6u6nn;m$-ls)RjNH>;^ZnYxeHAG0+Uv0_KZoBtH9(g zF!>8iTBX}FCQq&cle@s=uXKCHl*v{ZAhHTf?gEp)GVB>sCtGEL$SN?o3rzmXv}a74 zY?TEftH9*0EPKZE$-lDfInp5|FC^>kOrKnpZO@o7c~`bQM+O6fIRirjA2`xWGbUT* zfMlw2>=`pB?*fy*z@$~KJ!977DloY#*PbzZ@-HxHm1obGGr0;(?gEp)^6VLNCtKx% z$f|sMj$BAZ2dSzz<xc(uma!_ZXUv;i1txca$zNd7s?eSzpMe2Xk+V*246^`n5Ov&+ z{K>xx?HThYTNT-J6hLY}h^Gn*Chsb;XDpcftH_?QaI#e~h^zvWyTIhHVtdA-$yOyG zvZ}<Mr-*^U6jU2BFfdq7J}9d_*+80uSF#vV{(+j>ypumlfkio6iy0UK!FBaPb#u;Z z#S9GokZMf9oKv*~l91RYGs>BB=9WNePv*%7P0Tr0mM}1wfa_mJHFM6pC6Fx4KH1U8 zoKvF|qK^@*ub>oCH-p<3oa;&<sg`lFqmnu2vr>pDjFTPJ%vq(%7#IvD+sa#WdX+&U zm1%OLu{m#78AJ~+0|SEu#N|<(JY@_F)(i{{An%AwK4=2*&fhYKft-^a%gi|q%OS?F zPd+GZ&RbZHC0IC@l|u{%$06gr$vaCxrQ^>Md&UiuElce=87kqP(KP4usAOR91bh3S znK|R)$v;c&nOLhPTb0>yI#$8_=_qT?*fn`)nLTS&4FiM!<h^CqtS4(27<|Djv04TO z2rC)R+5l($tz}^F2CMU^V_@(EvnIk>x8N-0dYEhuoV69s`UhvZH^9_QXkcJ)2b*^t z&XQ{ciPcuvuz(pLhpuU4U~mO1`v_;5HNnKHVJyxAO^|S5o_x^SoJp{G@~#>?*63!i ze`~B+S2Z&*_)e~EvS9%;_SRUly0n0VK&**y*1Z<6cWbO!HCw?Bt+8e;g0ptRSuAZZ zSzkD78k}_>&eCXysVi&;c@1RS4mj&Sm{nV6!_onh?Ck)1t;U-55}YO82@{KfvlhZw zoXTC0yvaTplw)GMAc=}`vZJLr<D|)!&GwAfCRaAwGYNE0-qmc!7&!T7vps8THv@zH z<h|<FjMpbuwpiE8F@Q%VK#3PL<V-Zp&%nT-%fP?@nj_H%>tbL4(aa3sl8Awkfq}so zDvpP)XJBCf7mi@1=1>DI!8`^AWEy0VHB=l#gDkRx@<BAnLVGA5M1#~jLPp;iq8S*# z4vK-wgJ^aJ28LvYdIkoNL1_#O46F<c44~m|5M2P(02=E7>A^;WEP#$DF@R{014=-O z85kIlX^=X|FcSj<G7WM-Z9P;&E!4s~1_lO@L@QJrnFd+V1{EiUW@BJr=z*#S(IAKP zLHQsW<nhTLCd)*E44w>?0MQ_YQ=xoh8l-L-)S=U%@*o<dekPO;qCpnVXJBApp4>Y{ zJQ8HhGN>#v4Ki&x)U*{)c@Pa!zZxpO1}YAsLE`J7d@wz^w_RKlB)SzU3Zg-#ZiDiX zX~xNC+r`15y#t!ac0ujf4UPK)Q2s%vZe$wd!^2Q<WEv!Xlz{=9h)+VzJq@MLLd`n| z)pw48p&pzH&x3-7fq~%?G_G$#6%a#nGB7Yaf~rTRLAmG|R2)Qu9QFdrN6__<Z1585 z!q-q2zJV$P(IA69K=~jV6rLZUd}JCV{s}6MOoPNfL&ZTfXh=+(5mHX*)-ysJpvMRa zG9##j36wTtgk(ocM)2?_gBw(x7gXK{O8Y_S0H}F^j0_AM3=9mQlnnBDG*mtoDjx?m zw?2^(lF!qi0+~<+Sx^l*Q29crd<m2;hssw%>1wFH8mK(TW84f33|)+n>^l*vZZgzi zvmxs08RkJH7C`AmPz9@?2CjzkH$(YbK;g;2zyP8_QL_VT!G5Ux0VsVC>hNPw^&lFQ z4bLz#fM%o_Zh;+8&%kgO%wS-60Hq&8gZMckc&L)$Ga~~7NaIgN@YEWEJQF0Ul$jtt z(_(^zpgxo~VS=c)f~vEFs&j?%J((a;>chmqzzE8JzEBOpOprto3RMsR)ff*_$iTpm z0HqV5@+nN<u{efYPy~a<@}c4dP<4e+3rnHqS2KafRvB8EAZeqQiGiUW<g>|45TEU2 zf+VtIP@kNJ8h8$B&?Tq?uRtxh3YEVBrEfzmdI(kb7%Kh@O234f^OgxbKg7V#461EF zBZ<tAAQJ_ZT?`BiAR6Q;ab`&FkbsKgqe0Ou$qWfWX{dU9G)TP+GbsES7#L)r8jxv_ z0$Hem@=$pY4H8#?I!qBtD?#N!G)P_<s!tUvuLhOJply&OKpNGdd=L#{YJms_1_lrf zlGldvK{V6k+Fp4<P|2dt3`tT(%nS@HlVxX%Gcrtm+pBH~3PX?$Af2{Qoy5?blVkfp zX5{wC*MqeAfCvT#24os!wjWd+M1wLrsAdBtsCZ^b3QLCuLnc%mhz7YO3(7~PLHY`y z;z+a;xD`?gHK-h_07Qcfs(^-XC6um$%7bW-d^JdXa_t;(L6CFnm?1f}8AMN>+b=$O zO+N>ypknA`hU9?t(16?oH3yjnnYS4#zYSzA0|Uc$Xu{nKRgX-AY}^kO2hkw?2bdvQ z_9RsQDOe6T1vU6A)T8I28bLHj;{~YvWvKjBr~%iY>OeHe!W&TeTTpRi8Z>7A0V<B5 zp*a8{07_5{40Pjz6Bq-23qd~n#LNI%>B7JXD)bo`s7BXQ+dzEgfufR&1yZPSvw#b$ zdInyo03Xz6AR45QA1W>Yr9lxx{mw}}Nxc(ryAIST0XYUlgQ5nxQvwnP@j>FCP6>z) zqCx2n)F}b+K{UvNpiT+61^_WY8VL7JAmto2J15}uPjv4D<a`DO1}b(=w7^D!dM}_7 z5Y#IH34mx&h=6(}AU=p@p8R&QJg7m(0P2!}L_su26>^sZBo5+(0(i7*GTJo(bx}ZR z0l7;8N+TdXNF3B90r5ffXx9YPXBzFAjCM^%yC!O&jsvJ*0QFfw1qG-}0^);cP;CzC zl7RRi8YB<ul7RRidbDf8FxoW%B@zY(hS9DGz8(Q6$KaA5=&p$}5nYqbQu8-(vH#=$ z$H>4SKl$U@a7Km6p6kLH6(=uT7tW|O`RBTDM&-$Y>%$pUCa+u{&Zs(>aYHzx+T_R$ z;f(5&H*N@L)R@e<F`Q9za^l8tMy<&^H-<B6PZr!1KG|a(@8r@=-i*4F4{i#d{9_&O zWYx{yjQW!cH-}GNv7UGG)y>|FhLaVyginsxz&p8hi#Mb3<cnLvCv$A%oou?*o6&S~ z<JR!WJ2vu8e!A70(R{Muw(!Xrn|LQr-R8|`Ir-tX@W~RJc_+JW_hz)7JaK#Y<P)2D zCx6}U&1gH>aYy*%iY>g8m+tUpw4eNONBCrot-O;%cX~5APF}b(eDaO0ypvgXc{4gs z4%`(!xnmpe<gL5B8C@qc?hc=9v7L8v>TYjF_sJV~hfjX7op-Y69&bj^$%%WyC(qcy zJNf7yZ$|IQf_uX!d+g+$T)Nkr(RcE}z2TF8?Bt!Sy3d=@e{$iz@X0H7@lL+F&zmuD zvf}>m$q~DGC%5kRW(=Nuaew$^jy=4SO%Hf8hE8rg5I%Xw9^T1M4|p?%Pc}RlJ~?AA z@8qcmy%{4XKRg&dSz;gWWY<I9jM0-P9txj)Vju71uZO%DV<$Tv4xe1HpLg=o!`_VX zlRq8~pR93!cXH?vZ^p#Q3y*|PzHxweGV4)q#^lL?N5dy~9ORw6^{6*v>SV@a;gc;6 z@lH-X=FONsdE>G0$uAD^P8L1x&6qhk@p$;;8Haf%A3g5Pm_1qWMEGQnBfOJKPk1xt zPCj@deDaSYypvT=dNbxvE<71NdBsuQ$yZN$GZs!(JQY4U;u!Db)>Gb$#gi|d3ZKkz zoOiP6X>Z2T$&IJOC+|4UJNfBpZ^rV;hG)VjXPn@jJoSt>W98(BXTm2-oaCMCde)n< zdh*1x;ge6C<emKWtT$urWXE&ilPgZ~PF{M>o3VcK$8+J6HBR$R4n6P9*f@FN`S8g% zPV-J?z2ME*JUQ?}_~ec=ypy+H@MdhC%y=<;vc*~6$*C8;8QUjsycj<D#aZ6TqL;iG zJ0~Yz3ZFdV9Pi|#m%JIfCktK<pX_m-cXH`vZ^quq2QP<D{&Ajnvg#FY#{S8LSHdT+ zxWGI4>J@LsiIWwthEI;T$UC|9syE~0$rrDNPv*G9JK6M_H{;aFjn~2_@3_P}`RO%p z#_5v{uZK_0xXe3w>UD3%nUf!051%Y?g?F;+4R6NTlPBH?pM2s9@8qvHycy?CcDxxr zx#BAC<fS*g8Rt*_cr$#m#x>r_p|`vl7fxPyD}3^eYrK<LZ+kN?o*Z~Pd~(Ni-pN~U zdowPb%y=h!vc(PF$*Fg|8JADqcqe@FiyOR?MelkuuAH2BH+=Gpo4k{c-t}f&Jz4Nx z_+*b;ypv1sc{8q^eDGfQ<R7<qC#&A~W?VnH@P7E@6}NdOU%l_mxN)-LgYd}_cX%ha zKJaGTJo(~-@W~u^c_*7b^k&>Tx$$B6<Q;c;CqI4Y&A5HC;iK@$8TWW6PkrRgxO4Ku zN8ytt?(<G|eeBJ+d-BA`;ge6?=bilZu{Y!1$&OFLCs#b+oxJpkH{<@vAD@Iz)_BM} zIrOPF<H5-bpN3Dq@sM{i>oaf0!;=G_g-`By#5;NGGjGPDlNq0fPqui>J2~~aH{<ci z8=r?ye({)hvgiwM#*>p1UxZJd@q~Bs(HGu~rzZ=(44>@rly`FJOK--rlMlWOpZwz~ z?_||i-i+rb7rqLgyy6+}<g2f|881#&d>uYH;yLf+*4N&QmnUC*9X^@k1@C0jH{Og_ zCpW$cpS<G*@8qX%ycw@gHhddCIpZbo<f(7H8E;O0_%?j9#4Fy(uJ61VZ%>~1E`0Kd zSG<$IzVl|hJK6Dl_~eS$ypxx{_h!65`Q!WW$r^8XCx?FUW_&n#;fL_aH{S40X8q{R z_;_;Q$MDG=Z+Rzg{pij3bTZ?o@W~eMcqgZR@@9NKdE=+>$uHjVP8R*_&G>S1;^*+m zGv4z~KKj|4@%3cEFX59tKJZR1{o>8|cJje5;gf%S;GL}c)tmAC<ifAvlUID?oqYAH zH{-|2ir>N~M||R)-1^O%@$=-1-@+$zeCC~O`rVu9E5qcb?_ra7eCD0}^t(6HcZSJE zKf)$weBqru^@lgpPlm~leuPby_{uxk^`|$}Z-&W}euhmx@s)S-*Pq@@e;Fn_{R*30 z@r`%#(qG<8{~0EK`V}@=<2&!<(BIySjFT7s4xfDEJMU!HKi-VYlLP;RPwx1^J9+CL zZ${S1jDN!?Tm0mmoch<Bk$v*Uzu}W#{N$Z1`p=t@b8_Op@X0fN@lHPa&zq5Zvf%&l z$sWJ?CYSy9V&t8C@PGK^AHR90sxo>r@=q;f44=H>5AW2gjNXib(-j#R!zV}l<(=Nj z$mq=|JpCew&+(6Ux+xQ*H>2qEMkdDa$vgh>PJasGi%&OXW(=R4@t=44RAxqRM#<?9 znHj^UN-*+HcV%JpW|W>jk%cjQ>Ip{P>0d#7+3Aj~jN#KO7#Vq|FJ)!)W|W`)5hS3& z#K=26l#S7wQE~c0HpcMjH$Vcc?2O)w%F_ec8N;V{Ff;N_-wF~?ozBR?7(U&Cg^_o9 zDhH!Cqx$rXAb}Sk0Z~pyZ${1OiJXk#(`T?U@=iYr640J5$i)~w-GhyhcX}xoqc@}O z^n)OQA0Po$ZbolL{pp3=jN#K)uru;bzX}pCoUX{j7(P9MgOPW7D-WYLqw(~MAOQ|e zM&9YByo}zArqdgF8N;XV00}$=37Ahe<YNq<p25Y)JAEo2qc@}F^oJk;32snu@H2Wd zT2G(I&lo=a1W4d3NWgZwqW~y8ctGJH!063rKm8*}K!X<)9)gVCjE>V63WCA|B)}@f z=*{RnJx~Y~9(<ti013EGXA}m72R|r0gc-dV-KTE^3A_Lah>9?JGkQ)>6aj^Y04O{_ z0^ZXFMM2>q2nr8TMsG&n=?6gqKR^PiVvOF5{?iM^K;a<-3J;J#;B-ZCP<RM~!b6<V zn=yF$MUVi82q-)x7`+)or#DJ~!UH7m6eJKn-B1z~9-^S|kYw~`jGX=uBp@LM3J)np zZ(q<{E2voq!Yrp|8Jw`m3{}&dSoJsJ_ct3hr!6;DUOD|!({zi6_UgF*e>+~qtf}|U zTFNrbTT4K0C6`pYgo%@=&FZwkg>yE$bxhwY#wbzGJL!nf!Z3%3P1-9e6WTY;SyQbR zeJC;MOF`#+Ptlv-;)I&h=T8Wnyd(VAe$&U=;aV@+RDvHW{F$*io_{ib_C<5>oG7G` z2ATl|xeSC^zSrC+IVkk^tn=$TGdmU>>~}4D^sD!b{F4Q-yEMMdYGA*6=l_pJ&qT>P zHfx@BFlawC?7m`jF5u7czcy+2J}4|_E|{Jx&L~kImBssMSqD?!HQ(0RjI-N5d}C>= zi=S+FH*MEs)_Hfg-TyyjZ`+}4Q^k`Po-4lUF~9yHy0X8`nCI;F`g5OIKivC<<h*!L zR}$nl&>Dg_Svh}8H_hDi<R;S%?dIYohgT;VE0*+x@96$?lOadPZ)x8vS*`CWl2PaH zELZZpqv{bh@r#wN`##=`y_=17FFLYKmz7|YsOM~FF<sxf^(dEKM&fF9-K8gUR&Qaw zf6A+O;v0z@lN{o*A4F$pn9j-xczRFfmLRjff6#GZZG&fb6!d;YB<|DCM{*u$x*X~{ z1{T$soQ5+QBm({I)3jozp3gby!^UlR#-Bs)oT@?V|69G>UmXg*yuTrNuWy4m|D&%> zx0W8|jOLo%T`7B{`7Za`$qLiYf}A%eq~y%5kedy&++{R4W}klPeMmmZ^+c%0ewNc4 z+P_`lZl7{mg*hV8_okg*80VIk5!-M7D*J8BpWx=U!26d9*H<LxB_oF(W7vngPG!~C zUcK(Vl&SA9+x>BM@U2hNj;%C#Gqe1blCtK!ea=%X;w4pHclTeJ|9zT&h=EAehWkSP zHU>ZYtG6;aO|O+?l&H6Ot0|x9^>VFZT7hiVJCE&#=apB5O#5Wrb2R;^i{N%XjRUb8 zCZF{4T=rJNV6uJVf_1z-Ihoh2ul~`FuK4+}habs#smRWoe7EE8UYpfD`eMh$Id;FQ zJ9ucF)zSAF(>HQ=gne~+bKfkwe%7iv?<4~+MAwPVIsGxxz5a(1`%@#PZmZMh`8GDG zOxKlSl&GKHvht5fPF2_61N&O`#_scbqW-$vXTp!0|4!A$c_{k0UH!7s-#aE`<J@=e zKM7d(7;Zi2_;81&!<QKM5~jUx&V$x9Ffu^0Mmn<drd;c6=-=i%RnS3FrogG)m$^T) zJmgqeq)>=(YA=tdgI<Q$yes~_lBa&ip8wWy;>ND@%f{Bz^RLvaKR<s=U|0F?>32cS zyS+a0{$-)pte)FWiA;~>e(gGUl2B;L$88V!<Wdd4&nv8&Hv5v7AlH2sW!`#E*8~x} z&kx@yuh{V`<V)A9%!&D1kwOo&Gy|UYn1pvax+{N*%+ATR?ac5GPAI$FRC=uVp8iRJ znNiwaXZCqneBI=)AgQcTRp=!nmH0#7Rj-Aq=$DX>3!hp8pPK0OUTH>&deiswguA}{ zQ(eA<$NBTz&3E{FFGyFq-2ZQ8RN#7dsz{;QdL6_1*>BP!D%@8l9gA!H&GY}`{biXZ z4HNFVDmj_!A~`P`IrJ9oo|zG;ylBfy@!BQ4N|yikg?2N}OXFBBk+aRLc~WzUZC;J) zyo6_x4~m{oiWL;D{5Q|wy1Vc1%-*`=^CkZq#vYt*E5j&JU-G)_%DbmNC!CF+{+%Jm z7XRSp+SyJ4lTZKWjPYAjv|i3*&s&b9OWb9*E=Y3KeX0w(#3K}zJpaoT?ViI6YS~hi zkeru`?7Z?jw+uxlD=awOdb(IXwr6YgNlle0tqbq;#&1i1*!9Cv;%(7N`#BROAItaN zHIR`t*ZaQqxzhg0h6iRpFmOt&Eq*!utqh}t&q@6W&vYNM{yWCzUZIgM_4a|UX|kKH zS<7KIu^^2T3Fkhq3u88RaE+;WY?~RD9+L3ZZEorG4!(@NJ+a4Ut(b5d$$9zHCrUAf zGZsvL38D(8J4!Q#GZsys38IRpe*{q_(>-Mv!x>AbF9cC#(|>}f^67!HjNyzG(^rD1 z%IS=9jNyz`(<4Dt_4JJ(s%AQ;JYzUx?es(tRX2Snh^n71sK6M`*f2d4L^V!72%?&% zODZykGd52z1W_&1PlBk{>558>;f!t5D?wEI^ot;>W4fj?V>n~y^hOZXHT@=t>Yi?> z!WhojGrbc;^-g~XqWY#=sxpQ%_D`P(q9#m#38E%WcT{5xXPh*BCWx9m{UeB)GTl?1 zF`RMg^o1a5+Vr0wYWnm*4aRWB8PivSsF~9lH5tPhXHAa;QM0FS1W|LQb80b$GtQl! z2%_dq-wC4TPZ!i?3};+0JrhJNoPH2QEt)Q=!x+xEczPj-S~C44h*~;bQI|2CaoO}r z5Vd^zMG&=Ox~3juIOEFcjUZ~(^qU}R^>jmh#&E_p(>p=b+UXBL)Vl4K28_FzrY|sH zJOUy@CL2hzOfzNVWakI3rfHZy(SY$XNX8H(BLLb$3ChL)g&;d1LDD^7nO;%w`kaR8 zq6itVMzFaMVv@8dNbNK$MoxA`g!v0Vg44HHF>d8o1FtY>uvEis2*@!o<2b=ObsQKu z+3mp#qY&<eC;=(<1t}6Jh3+2@_C;6>ao;3qUXY6E3tSjE*+bD~K_-CBnhRF6#+{Lq zJptlMkmn&rz!hzr{>6w<WcnR1Mqc(DG^3`14T$k!<YX^|cyIDYDG`vMiZcUbV`xYb zBoIN<qN&i`v6@IuN&%_nf$f7$%FNT7e$a|>G06H<kks@UK8!0E>$f}lGTvuotlzHa z&v>12`WY`qfyn{#3Ls^3CUeMXfEZvujS|pwKN=9wfUxG;0b0Arz`&5QZu-<kjNbLd z;Bp?a_6U^qL445QI4F&RHco)V%AjgM;uk>#0|NtSjU}ko0<8;K0u`%(sspXbeg!gs zfq?<E1{0(Xw19vE#9&}xsDi3v2d%LcfC^Sa1wpf%7eKZ$Fff1?Y=Wdg>u3|8Vzp3p zT+nqnAiL|JVxV<ipjAj9rJ%J_Aibbn-)$g844@4v;AJhK(`y(&>%mw-D?FN@n)w(Q z7($>5o1tQ$b@QMljUWSCpke|H3=H?7s|j17VxX07u}qLPmu*lnAqED9TMUrJX6;Zh zVUS*sVGIlm9iT;}pcNh>3=9mrpn{+!sUTO2G9Z?pcSALU)<{)C)%8Hd#2FYEKntfq zA=C>MlYmZafI_2>5nS|uPL^TV0`=Sys5&XoX)&PXaG)Ss3Kf(FEwpEbtS(&!6_a6L zU;wR81BK9XsF*AR14Ahzc%wDL3aA)p0T3t+fI?^`R7{?MfdM223L#L^19?t?fq~%( z#3S_#pf$80K}ArIfYw(sFfgovYE}X*(uF8wSPK<XhAwddg~mEi5Hf(zN?^!=`fdYM zohsB~kV7{@#nc!W7(h$lK}K!@i`9eAtYHAHg9i!17V>H^Ffhyl2|yR~f*h#Hz`!t@ z0kRek()49u04<Q23stub>KJVX28MZ1G0*~FkX{{-rx+l1?F3s4*^jXbv?&8*$S$a$ z9s>iz0tN;KkRiLFViQ2#1f|}s)2-Grs!jJ<##mAhT7U&wtp%E&0WH7-<;zRV4B*v* zUCay&-OLOOJ<JRYz03>@eas9D{mcvu6POtoCNeWHOlD?an8M7!FqN5sVHz_7!*pf_ zhMCL^46~RS7-lmwFwA9UV3^0uz%ZYgfnfnN1H(dQ28Kn<3=E5z85lr$eJL};^!aNT zRjojaW<eSKH4_5^XpP1f1_p+&3=9n47#JA7GcYjxU|?YQ$-uzyi-CdRHv<F19|i`7 zzYGiv{}`sHEoa;$2+HRd85kHqi}FDW{bQyVu3(g|2kk&HVE}KC0c|k{?{onzGy|<l z11%>tU}j)2WM*IhExY^7%)s!4nStReGXujnW(J1u%nS@am>C#;GBYszVrF3Y&CI~? zhna!lFEazfKV}Ao|Da?7TC@gQ;l{$iz|6wHz{0}7z{<kFz{bMBz|O)@&%nXLzyK;o zt}rt&7&9|4m@qRim@-4w{)#a(Fo2fizhVII+hPE%jyw%oqRGs_09ukO$IQS0T0#k0 z-)jWgdB)7ZAi&JPAjr(XAOZ?V1_lPuO3LHR3=Aij85qo&85k^>85lszIX5yhFf@bK z{kAeQFn|iJXl4e60A@(J1S*q2We}*`C}Lt@04)UpEw2t^WMBZTW(Jj0hD;0$pq0+| zm>3vxm>3v9tE0~|F))Do-q#r!7^X2YFo0H0t1vMzC@?WFykTTuc+1GZ@Q#sz;R7QB z!$(F2hEEZU3=DRR3=9s83=GbU3=Fp!7#Qv_FfiO@U|_fhEx;ZyFfcr1fb5F60xEA9 z7#MCaFff3&Q-I1c(AJr9P!0rD0iYtEfq|iVdg2O3;re_A1_scMkPQqB3>z637(j=3 z*nqYiGJrQof%c1o_bP$10xt^#!$bxKhDi(z4A+?%7(h!)&6pV&Ks!@jGcYj7Gcz!N z7FJ6!GcdR@GcdR_GcZ^&GcZ^)GcZ^(GcbVG#Da>wt;`Gz3Cs)(iJ&#Dpq0L$j1DR( zKnv?ZC&zU%F)(z20)&Bq;VlCL!#f5BhW88%43D8j6=-`1XzR%y1_p-x3=9mQHF50> z3=Eyn5~`blfdRCw2(<MGv>j<PsNi5=U;wQK%wT|QwlV;P5h!+VGBYrM_R@e>YI`s< zFo0GwfL3FJmK<j@Gk}Y-JZ1)ld}aoQ=L`%CpuH`JphedV1_p*H3=9mtpfVX$fHN>K zG%_$SG&3+Tv@kF*fL48jR{ri_W?<OO%)qdRnSlYc(zpba$3dkUsK%MYz`y`1wm`)c zX!$Q_33C}U1H)Pd28MME3=B&_6+ANoc%1-f`SK)Y28J2T3=DIaA!nq0U}j)A!ps1! zLqSy`sOke%b)cF^j~Ozp4yss^nHd;Bd{E^9sw_YiK|P27E${+uh<VDuz_1ru@PpPZ zZU@zw%nS^-nHd=FFf%aRWoBTw$IQTRpP7N-0W$-`LuLksN6ZWikC_=5o-i{oJY{BJ zcm@h3W(I~App41P!0?Khf#EeX1H&6;28OrH3=Hp>85rI(GcbVGMe8v$Br||kAc9;4 zatNp?0>YqOI3RJ*+D6dc&?eBaLClb*3aHQrZE0G<z`y|7>IB;Mv<g~IgZLl}lG^~P z6&M&8z8nRY)3%0;4B%P|R6T;KP0&~!X#6#b5wiCMl+QpVCdl3jP>6%<WME(brJ;=N z3)eClGuDGP>4DBd0;MBRZJ5Hqz!1j(K7|Lofe$1GsyRXR2q?pVDjHDT0TKsQSnALU z3sf6|YEBgf1_n^&25N|a>K%|ikXq0(SStnw29Ozs4B%b4pgO1?bo?0TP!90sKF|_8 zGw23DQwH#kS@5nwkeE9I1A{jMcyA|zD+2?AEdzMlF9T@#END$Fs1M}C0Nz*209s1x z!oa`)(&NSe-Wki_#lXPe3tGm{06rQ3w7Hle0@OV7XJB9mX8><2X9!^c?>YwUHD(B4 z0Pi_w2xb7E$iNWF0N$(55DPUR0<^=30et2G184^!XjdWV96r!FfAOG34g&)N=y*U- zyAmW0Duz567#K1^dp;N#7(mC|<$*FwE&~HY4s`DoXvZO_J_luSP&o!_AA<OxHM*ee z597n=Qm8&qaR?HthUQpMGY+(QP!igh0X4;HKt&|1sAOOOFQlyp6?~uqZ~_AZ1E`Dv zrAttD2c=P183fAqpzIIggLWWxfEuz$Wm7)`0|RJ{E~v-=rEd@$<PcCX0-|>^FfeR_ z7B8Si52z*wWzNN*<~b-!g9>|4iMxn_fdQ0rLCZEll>w;L1S;sRGB7ZJDgjV+4r;u7 zfEJ#hLKIYCfU5Q_3=9mQ5*t+Rfr<*y_Bl|s56V2CiUYJ85L6^xhgK$+85kH|f#M&u z?+(;P0By_zmBOIf<rD)0!*S?&jYk+57(j(1s8rs^z`y`1+dw%MR8WG}7=zk-AYZ~T zh!655$nhXHvN(th5(CMD*qcD{4-)_tj-dK#F|;iQ3Js7U3!y~;$n~Iol%PTtqz7aG zE*c~U@;N9pKx#mt3o1fD1uw{akUR+2g9JegkR>1*gh2{G;-E4J<N#241Tq992clO( z6B3LMqLI~sECY#wJOuM8hz6DXAaM`|RnXO-_y^U}AOU2>AU-J3fGh)P1XYTl$`ND< zC_RAE04O9tAp%kdid#_pgXBSaKp_V*1H=Z=AT^*g0#XkPJy5z^0E&N*g6+`M31Y)E z!Dx_1n8Bd50kRxq0VtF}>OmM3dN4JhAO@)cg%V5+s0sq91DOf(5J)YU4~l=70H_uQ zxe&DT6eJ14AYX!f4AKZ%&J7X+VGtjr4;Ct*lnxRH`4l;;fgAvGEKD89ERf@1cGZI{ z1GxrdAjp6dNFf2*!U_`yB}@<-<U5c$5C-u<jsQ6l6s(|DD`<BqsL}=PY6W${K<yh) zn+>EM*<oiG7#QY*;vXb|?rLb^0Pc9g$_9Mp0dg4tO7XD#56S_!@;)Tn*E296=X=ok ztf0IO%G)4^fr1?7OHknh@)anGKt2WqB}fjW4kiZTgAx`@48#Y8Feu1DVjv6>1BDt$ zY%VDNK?;y1K+yr>qlXGe98?N|<Y0z?N=A_7AU;SOhCzIgB_KIaN%#N%|NkH{boqKv zu!7p&u<QqFizDY#kOr6>hz&9j<PcEX92No~pMatXB!3^;ZiiV0qCpr`o`4b~NDT-> z(?UJC7YqtcPy#}d0E>fCF32*FMWA>EsRP9+x;juB7SzB3$-~S6SqcgPXhH+`m_hnb zL$w~Ve;VX6P`rVB0V=&fp#rlQ6vUul2gN_gr{pI#ENKlC|FFac4HB@=kzEbSR>Wi} zknfSRFQ}UV+QSVB36Rf0800w+4H5%+x*o&<VUPeQxbUR~kQz{(0HR@fK!$+WpiZJa zv|slX)HGvcV6bLnU;ypi2JPzxwN(um85r~#85lGe85ooq85lZ1`5!b*r2tw#$;iMU z%gDeW#mK-Q$;iMU4jNcuWMB|wWMBXd;c+oCFmQslLxZ+FgSIz=b}EB*Ei*!f0GJpV z82*F1{*a*oP_qs+OaK}d01XL%h6X^x1fbyp(69kW{1>SF2Qfe!@j(qlM$mR=sNp<} z3=G_$o#&uE)1ZMUMg|5!Mg|5EMg|5UMg|69Mg|56Mg|5MMg|6HsKY^QIjA^DPLUCO z(ii9mHU>}w733Lp&{k?j1_l*I1_o8oAR=f#ye1<9gBBwL186I}4kH5tXl@Y{M4*rX zg@y&x=b)|epkX(VPmLKF7(iR(O&J*&K#Lr#7#SEq>Ope0jF5p6(1>U_w4418)PRLX zODH1)gCipYLwyKTAt>%Znw_8$AaPLt92A!zanRm-S7^w1FhKh4Fts4dKx`LA28Lip z1_sdndrzo?Js24n+@T%=#XD$^K1d9-hu?>hp`O8;k%7UNk%7UFk%7S<YC#Yv*q{yp zSq>T`03|S(gFu$qFfuS8I}+qjP>6xz7t}xnwR}OdvY-%vr6o`r0!<{df})mzfgumH z1sxPTpdbUyk%GpQU<n7*u>d7Fc18w<9MI4kG{J%55EPUd(3A{Xv;hhMc}4~X(8&Uz zR3F30zyNX}D8(~_5;OxOae~&LBtX*-Xf=fhDE^Ze85lsb@1O+&pdJv&F)56YF%^(F z=yU=Q2Kf%zS0JCj(gG-5fYJl#<N{D41SLq2qhN_qjFEw%pOJw9G+bN2$iM&^g$K?4 z3l=d#hT1_#8-Rx4OQ+ZFVU%VCjVHHFzqy;yS``!lAg!RmTF@XaXmocmBLf5Itb&D% z3=E*N3+7L^+{0+E1<K2yaaqvtDrhVgH1rChLF0=cS_5<r0qDpI{ppAHFoO10Fid~G zhjAL4g`TOIp27C!y^QjV(;bd6N^HNfkFkxN$(?(;!3jpu>HWtU<rulAuRG2tX$n1D z|MXkd2uHR3W=xE6CVB>X1`G_))7Kl6Vx)3rFHo0fVvIA?Gt@I;V5s4q{^vNOq%`z6 z_b9{9GVz6M2~3P}W_kvCh71f4d%y}n2lr!|eTI8_$_YkeQ^?8t4cGkKmcQ<QXu`x8 zX9O_;c1Hi2y=+?}r4GT&Heg_|<e9$U6vT4uX7}<;JIR<1G8%MQ!0t=Wl2#ONX$QOB z800V5^#O{v_2bmz6rVFO)|u)Vfn;v*PM>p<(U_5M`UMchJ)Pwgqp>OU@O}%gQ}2vs zOI3ga2&`NMr|WqHrsteuG-f2^)I{#-S57hdO7lPts6}y+At)fv2~4*+%_s>{fa;k# zP*fN)Fx(QDUI0=6y_w*&wVU<y>ZSfnjCG)ZG+<zO&oh0=X+~pd=$!xuq*U2<$0s~s zVvI9}M5d?kbOSLa38o<7={#o`B|!>7mo7*O3FU++^Iw4~G+<!J6`t+@QUJZ9AfPU1 z&z+5%*Dx{0nd=$onK3YEiA*m!!{{pwy}ZCd^!^O1{T#K>NHt(!U=y8w=M1B(tr+Os zXT*I5ACA-(%(;H%GAN1+z%c<kQ#*41JJvb(-fBRNFl1oJ7oQ$?mQm6adZod<Rg+$e ziC$`DVvMuUGXSMc*rf+6D*xphFOYU*VT?1-Gc?pQV3;B?ea%@$NofhlZ10a>)ftB( zrYvP*Tp$774c>5EV)}!#jFR;dkh$xW$is)`@h@OyV!S8;IR_Ya??LG0H!4;60+C=_ zK}ItON<wCr4Y@wP)^ZbJVPgC%0XZ`mc8P+Y{-H&Zrw)sNlMgt5!LD8So5Q%FK*{A6 zSjJG#fQ5nKxWx1g=NLuh4Hy_;mo!8%&bjUOeSQHGW1J}@i$D}fnnG`Dc#{$pde`QF z3)oR$3t;y-tjRarlJhQk9ylt&GLq8M|D9u$G=<*ha4}-l1<x<@pE5Cmla&br0~S}C z>4AMZMPj<oc}7V_a9Bw&&6k|sfZ)o&ZhSy;jHR9tC|(xGOh0#?(U?(oI@1M4V`*6i z@X^1`*TU2um%0doqF&D!r0$jM^neSDl8my`vo0_iGYU_icY#q-S{yua)qt5E)D@;* z0+|QB_+ip*|9I235KAUT13g1fnq=6dFkRsyqcNkx^biQuaglL0qtbMhON_G_m8T!L z#Mmeez0rZu(f>>52h(>T$AD6k0mCwt=`oiX8yQum-@DA1E)6}uc%pt(ui92yOHisb z&@(jFGnlG2J>d$Yq$yOv<P*2TXFNEtkO`Fb4D^f{7+`lboDQ3I_R^K6c(9DAo}nSb zcD3p2pjtt<P-M3*w_WYlt`5yrpd1dpUm`6~#xJFv{Sr6<7=aA^q&EG}6-G%$_33q2 z86}ulHKrR}Wt3#pnC^9z(HJ5M;>`f@B&VMN$!Si1c9qdrS{<^kLB_zPG~Z0;J2+v0 zV>eN2y5BWMNonZS6K4)TTKMGjn%m%{2`)T;t50vb#%Ro_GkqI`5_rxi!NjFIeZfaY zNk-l23irU&yjP48GO#1~RfB&B6t4VV3N{5?KRD=4e+N;2;V+{EQ<CoV1=qp)9xyV2 zOqsyWB*8ROclx{QjFP6%1N{?<k1X9FSlIwI#fX6ccI3Z9>e2JjiPyxL7>)JJjZO3n z7%uBhFZcvDaKj5m38ufg(+h4eN;2wA-v<)an_k1j1mbP@$|%7UrZ;^96O)7t>>`0f zn`TU0rZMjk6C<=%U})8w&U2GdQW|>GK)UknritngL1`9LQyMZbY}K3Ya1(64!)Gw{ zkBLcw>95}OK9Dwj$Qki(Shh!gVitjEGiG4W*Pq@8Qm;S#4oJ8D^aF1gC75dUrwiO- zlw{PO-oVTRq8y$vN-&+#pDyqPEP9TaNmAMXa-O^8C7Uf%Rd1<6!^D7rLCIix+!sa( z83*V!3d+Y~oD-RsWJ6ULGBCs$On-2T5o`qLCJDovwp$pAu1X>TZ;rwA02U@mMuX{k zw;4gy1CW8gp*K_5{k7zGo-_LbSiPx*o&kf5;q)4iLc{6vSePW3;tZ#6xXmbO3cdPb zS}oIJ>+6obPzRVZFu*R)u-GsAP9u5x9<WK^Xgg{+{U1~-=-!c!*0V0yuxefgD*#&s zyP4!$x~4#tTdf9I2CUW8Xu954MhTf1=p`qYJfr9H>UO<`T5HI_Ag(*T;SOUuN*V>F zwGA)831z}BMqfs-5+f#Ylyp4()m=tuMyx3ub}@;u<0<2`NqYYgX-3#|y1{!!38p~Z z>7XPo1G~z^f7uGf#9K!D5h@|cT!QI^?sRZsH8Y+50hEa#$r2jz5==`?r#di6GMY~N zz$gK7V8b0outTxXKF~BIAp^T<1vBl5>rS8W0OE0WCJ7nXRV`n>Oxft!*#)XkL2287 zfuY5G`aOuk3x64Xm~zagyFFwyW&}G@V!GE$MiaOnaT_9OIo*Jh3E@XW%jpJ>z_uef zUxI0o<@6bk5YYe&5rk@llZ}{|O{dR!3^pU-H>1S#bC1E11Y(06bb^Bk?AV|uV8^yW zC^QXH(;Xf#N-_P@nGP<+P@|ox!Df2FQ$|Tfo9PqYg6#oE52P%C7aL4VO{X_}gJ)0) zxM3Uhr#n1D6b2B#fYMvT9Y$E$CNcfMGq9_{p#X6Ps9bXRjAY<Gc$9y54R*$Y>xfco zy5Dz3DW>bT(;qws%YhAoq;y2;IIA}uY$BQ)ZW~Mo<!o312rX}6N!EwS%yfFgOR%ZX zECP0Ui~00(AW=y2l!0B{(=j1n-NZvZ9MJq`z`y`W`9{<IUNM?t%XAXcFT4VK9#Lh0 zf=A&sqog$SIvvw|={m!!K9I7;2vq+-ia`mc#}3o;UNibKLIWQbDdM`*KfFfE;}T5$ zs4<ufE@(kj7&z9k)?J_^1j@JYKtVGDW+ANdfL#DY$i=WM0P<<VJ4Rzh=jjL7z*Qb7 z=44>k0GVyue4?m*QV29O;iZ=m6Qo=LX@|wey$6gE(`(+N1u{y3A!!P|T&MOm)3j%^ z&u#>lo8S`F3@Y=tl=nbq96tv_Cd_rZ-v>rXX{dsf^v7$LFJ1i^;iPG<(?75>Niw=l zpYwqcL~Z-PXv~OSPRe~`l$3_vVx*@nD=hTSAPQj#H1|x;`p78F2+fArBZR0X1L^fX zIJ<#rUvM4)@%}L}NlFt@XZt{EXNv1;a1Bdxg)GSku5KlzaaOaC8WB{dAu^Z*lfB;b z4PWuaDlCUVV+PuGLR2}Z@}Pu>D3&CrpZ&%t#RzVyz;wX!D!jx56<Npy!gp{X32K7D z>pDp81{Yumw}Y$#mB65415svUODrIjAAW$1tzlx4nEvTLS~(-ZBm`~>!kSeux1u%< z5VFul)%22IV1uAd1%%TiWMJ20eJ*}EZGGy?DbPl`0RzK2@97B~Op=VqwUs2J_w;oj zLEY(~dTRQE-;B~I3M8iM{b7`b1SH5eAb&II`%bU>11^sXZou0B@L**s(VhN)kx63u zzdwwoj9{fOZ-E06TwFkE27J{$q|^qb8q5YgN*iSQyno=pKvnkcAJ~EKKvfi^x`DO6 z@ij)4nockH4{qEF++viNp7VoI3VWA=X|?}U9wtd?=p|w)lWdvp{EdBzT%I6WNgx+W zftpIth$2)HA?f5}WEw4wAXixt*FPY(I5NVFSE8c@UKL^1VpOWD=DlJB)tit8-F}p+ zndx5ObUt<_NonYHbVfyMcliG90}YQs8_JNp<-^pbJADE>6R08tXE{iQ@<B?6U|R?m z3!pp*HUZLj1{DLKHUh{XurS16Bc>Z6)6Z}+NlHVnB1^kzzbRDL;wclOxt^g3Xbh1v zbQ%|vu{87wv*JCWtJg8{e+1X#;9<;;(CL0$Op+i4pevy6DM|`)+43=ghbRoq^b8ob zhE8unGQrBwJ4CASK4{?25Hb?=ICT02E+$FF(CM$Zn0y&Urdx0`88e1W&*5g0gk9zZ zyGRK-JY~qhpdL1T0XI`RNC9XdSMtO}&bzG}Rzn9Pj2Rd_!=@|ofDH<RP+bse9}klx zW7zZ?5FQUN6L`=PbmOZ$)1$b+cke)hWYE#gbz##TKnkF@{V9}rZ734)Iso>ZC1?-@ zGKwa_bUbW&A1@PV^X&>=CS%6%>31N!Z@f&#rqC+_D|UW0XSMPKIT19vYR13-yCiV) z$@)o7>1#k8aYH>LJwpbDnDFUwd`yxct)RPXF%@7L;{=WAn#0C8C1hYX3ZCq(;S*=N zS^*l=0uP@s@JCO7z{g}P4ZRsKEbz2nqQI8p&;fV@1_rm7>3aN3zKpTcYxtQY8DpnU z<7e`fhF%Dmt0|YXYD$tnsMv&<R~$e6A3u|^H1xv18B-jNT-gyJ0j|ZsqjHeAl9-+% zz$DC>02#g&O`P5!z$6LM1oC0F?Uatf%XdJIfDW7#$4}oP08S4~f=tFZ;@Oaap*U%J zfFP43W7702K_*|u<mo#EnS7<8cl>pyOxd{S*2()!jG!O~tztWwGF?H4Ns=*jx|I;q zY{s<d*MyjiO`+r4m?;2u384Sli{)>xOPWH{mmvc~Li%(&VJ1n_bnxo=hBrTw?#2sq zfF>cJSsHvlAOl0gYaRtj?j}_uuvYK@>b{KWJ;F?&;mHHS;KX=Km`R&4b2^&{lcH%B zWNh<Dq``Nto^Ac0;Y2;qs1yV2I>2+H9*#@CWW4~(fVwpdkYp+W&CC)^9ih`Fh%iY? zL+|aIxc%_qOeMn(M5bPuH9bL;Ns=*Z`aKaQW5$r_LZVE@jM>u*B$*_bP$VUoJhG?n zlVmcQeoT}plMy`H4>lNd1u~{f3{cFFkbzx!_<UXE#PCOjkg-A&P|ks=T#_^Wj2M$7 zWA5~4Vob)2xznY@nbI+%4?MGD#K7=9bov}|aF}fqXEJ8YoBj$y$w@FtnnLe6wEcWw z<0%2t4DcwZAt*b+Za!p*FbX-#w(2N2X@V1PY5w#a2_|F4g6Rt+m?TkyKw|nE2_|V! zC}Q_4r0j%;5EH~p;Gz(8K`=^L368-N;P8fN@R`oU%_KGb0}qqb^bJ=TMVSrs45s^W zGs#SE6Jio(wbV1yGn{T9&LlJa5;v15vx%P3^j9ERE0Bf-LQEoZ#(IX9dIp)$t3k_K z(w^!0mx7WgI0a6BBg7<A54-*lcJ&-06~eA@#7t?h%Skb_18DCED7(Tgv}0nl&@(j$ z1u^VKRJ1aZ)fhG(0V^aWvS2rSqRjyrAuchU*S6bv#b3T<&?3o*fguHYy{SGwN0R)+ z&9A^ku%Vs_0|TgJ0L2ed6=4pUG*}ciorjl6f+;_2`aT{e2^lNs6{eVV1vCR?!7i7C zUF-)Mqt^r50=r~%zs~Gi)}az!;LK;FX922bATvU+O9i2B23JuG;2VuG6F)n+c9W2K zUIdvt+629r5NfIc0|TU5l}P&sy-pK$l_A96pj@AYvr2|tXo^|Y!furflk&JI|8et4 zuzd!4hM;68$!f^J;3+))fH0Fp8tnE?JLt`c;D9gy<y+W2v9P-nq3OwlfdO`N?7tUE zU%r=!&IGp+OhI~JdmLf+EJF1dO<%*$BvTLDh6=lV5t?m{5qEyV?pp*q7vy&a*zKUA z(3=^-G6taJ0J}Y1aMmkviThX5nHWLaGC&)2aHQ&bLk0%erK7M5AECw>FfhQbC52rH ziI9O^NQ&t=*p;QQ>mr#LL2Il*PQWGu+ET|bJwS-b6P)D@AXy%izu6%9d-^*eCTY+u z?%3NXu<L2>ZClNs9JF)+IB>y@2;6lS^wQJ@=!KQ1!Kuo~K+lK)c3bbw@BJye7CZqp z^epr&^$aW+7+@FrVyoY=CUipv252oW3cVv3wU(d$f}2ThI+qlalr-#$(o9(|v&}bt zJApl63Yt~doo+A1Bxwq}oz-vOCi}Abf0|$g;Kl{)9#>I5^#>sH`oXAaW(VS29= zlQHAO=?A5lBpE+Uzb(ZiDGj^U^~sxEQU?_NUIcp`)J|nMG@W0XNz(KR^w!kp(@H)q zwEwo71vD9Gp=V^k0K1;_;M0jKgvH&zBV>L|j|FLk-N<U-G%J2P8$T050qoA!MJwyF z-f^g2LdY0QUoFifDGj^il|#@@dk5o`GYAD?)9-`K&Vt?sEAi`>VbCeFRD^;$sLUaT zckXI0nH&%@lcwv+FiA2ln|@J_NrVmThh5VXK|<%ISIaO-O2e+EJ@KtUzGg}2WQ5jl z)7Q%|Nt$v)@3IZDyPz#2E4Un?0Cw9guei(0dF#rKBV^2{{{>m$JAI)%%+}=ThO$hq zoE*)NwvFfXdRZn(Q`r5qnLBM(n6TwO0~=wfXK2KLH4eZs&!(T1Ws)=l-+9Zx&|v0s zX4}F^TdELRvBm*dt8Ddj8962iY1low9V}}y;svcL5PF@b`^zy&n!+yLJ;5F@-R(v0 zA%p^~kpMQlZu(p~CP``7UB0)Q)7%WF-8zWS3XTLxMsWCxO#d&(#3~KD5O}in8|AFt zSse()kEYAZGfA4kZV;X)ZLsU|%j7780<7@@c8Frl^gMYc32Df+#0(9q-7;f~?A7NW z^nxQsk`WvyBGb>yGqEv>Our`2WMl@rQg`v`8I|+1E@d(?)>-J8>KPg^bV28)5tG+- zMh1F@MtT-GI@9eGm?Rn1ruQf?NiZInUZ}t%1?6!W7(n&~Z!nm?PJzjZiGg9dfg+P( zWDcaw++tyRhOvV0A86YPsBk;ZoU%%OPq@spPRQy9ChgYvY0G)u{OW{E;Pc;{(f)hd z>Ajp?kUj*%n=4OGowqf30JY}dp6$C7nM}E-yRBi8-p*yjv^ahGg?1)3H+^0GRPYXb zT}X39uOz+7p)@Z&u|U7Lq^LBxq_ikCMK?JoKQGlGqck@$uRJ3kbk}&XesX?ZT4uU# zVo_0I<@7{-CYkBadYJg8SM)Q<iyG@0fDJ;?F@0%2lNLnLwSFdr>6;pvlyq>|rLT)& zy{_SO$0R1@>Gds4DvV~+9~LqxPrum0B*ADrePR-mvLK`?)z{UBFm#QlZ?s`jp3Y^( z#G?#q_85a)lvb=)l$w}RkXVud!n&Eox`|1}`8lN}(*vEDWTpq$FtI8i1XJ~O_0iO& z>KcOWmPRs4UsoTAr)xNUVjq*T2&^X7*VTtHb*FFCVNwx<RCfBh`VfY$A=s&0pn6kZ zS3f^5dHTnCCbj7W{Y)Iw%X*na7>%Z{t7lT4ZrRTy%xtV@H2q;dlhSl$4<<1d13e>y z=?7hz6sK=#V-jGt)H9pD(TYhC6uB~t=F<--Gbw}3;mIo2*VWG|21heki72f7tFNmM QW9k}%oxXkTOs2ge0G%7e@Bjb+ diff --git a/package.json b/package.json index 2cd1559..d60c467 100644 --- a/package.json +++ b/package.json @@ -10,12 +10,13 @@ }, "dependencies": { "@aws-sdk/client-s3": "^3.750.0", + "@elastic/elasticsearch": "^8.17.0", "@hono/swagger-ui": "^0.5.0", "@hono/zod-openapi": "^0.18.3", - "@elastic/elasticsearch": "^8.17.0", "@hono/zod-validator": "^0.2.2", "@scalar/hono-api-reference": "^0.8.0", "archiver": "^7.0.1", + "bun": "1.2.10", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", "drizzle-orm": "^0.31.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..7f3fc0c --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4014 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@aws-sdk/client-s3': + specifier: ^3.750.0 + version: 3.797.0 + '@elastic/elasticsearch': + specifier: ^8.17.0 + version: 8.18.2 + '@hono/swagger-ui': + specifier: ^0.5.0 + version: 0.5.1(hono@4.7.8) + '@hono/zod-openapi': + specifier: ^0.18.3 + version: 0.18.4(hono@4.7.8)(zod@3.24.3) + '@hono/zod-validator': + specifier: ^0.2.2 + version: 0.2.2(hono@4.7.8)(zod@3.24.3) + '@scalar/hono-api-reference': + specifier: ^0.8.0 + version: 0.8.5(hono@4.7.8) + archiver: + specifier: ^7.0.1 + version: 7.0.1 + dotenv: + specifier: ^16.4.5 + version: 16.5.0 + dotenv-expand: + specifier: ^11.0.6 + version: 11.0.7 + drizzle-orm: + specifier: ^0.31.2 + version: 0.31.4(@opentelemetry/api@1.9.0)(bun-types@1.2.10)(postgres@3.4.5) + drizzle-zod: + specifier: ^0.5.1 + version: 0.5.1(drizzle-orm@0.31.4(@opentelemetry/api@1.9.0)(bun-types@1.2.10)(postgres@3.4.5))(zod@3.24.3) + file-type: + specifier: ^20.1.0 + version: 20.5.0 + hono: + specifier: ^4.4.8 + version: 4.7.8 + hono-openapi: + specifier: ^0.4.6 + version: 0.4.6(@hono/zod-validator@0.2.2(hono@4.7.8)(zod@3.24.3))(hono@4.7.8)(zod@3.24.3) + jwt-simple: + specifier: ^0.5.6 + version: 0.5.6 + nodemailer: + specifier: ^6.10.0 + version: 6.10.1 + postgres: + specifier: ^3.4.4 + version: 3.4.5 + reflect-metadata: + specifier: ^0.2.2 + version: 0.2.2 + typedi: + specifier: ^0.10.0 + version: 0.10.0 + zod: + specifier: ^3.23.8 + version: 3.24.3 + devDependencies: + '@eslint/js': + specifier: ^9.5.0 + version: 9.25.1 + '@types/archiver': + specifier: ^6.0.3 + version: 6.0.3 + '@types/bun': + specifier: latest + version: 1.2.10 + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + drizzle-kit: + specifier: ^0.22.7 + version: 0.22.8 + eslint: + specifier: ^9.x + version: 9.25.1 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@9.25.1) + globals: + specifier: ^15.6.0 + version: 15.15.0 + prettier: + specifier: ^3.3.2 + version: 3.5.3 + typescript-eslint: + specifier: ^7.14.1 + version: 7.18.0(eslint@9.25.1)(typescript@5.8.3) + +packages: + + '@apidevtools/json-schema-ref-parser@11.9.3': + resolution: {integrity: sha512-60vepv88RwcJtSHrD6MjIL6Ta3SOYbgfnkHb+ppAVK+o9mXprRtulx7VlRl3lN3bbvysAfCS7WMVfhUYemB0IQ==} + engines: {node: '>= 16'} + + '@asteasolutions/zod-to-openapi@7.3.0': + resolution: {integrity: sha512-7tE/r1gXwMIvGnXVUdIqUhCU1RevEFC4Jk6Bussa0fk1ecbnnINkZzj1EOAJyE/M3AI25DnHT/zKQL1/FPFi8Q==} + peerDependencies: + zod: ^3.20.2 + + '@aws-crypto/crc32@5.2.0': + resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/crc32c@5.2.0': + resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==} + + '@aws-crypto/sha1-browser@5.2.0': + resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==} + + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + + '@aws-crypto/util@5.2.0': + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + + '@aws-sdk/client-s3@3.797.0': + resolution: {integrity: sha512-N7pB94mXi4fCt+rYmR9TzfbbwZsWs6Mnk/jDNX9sAZyWkZQnS3AZ/nRtnUmdCimdnOPOMNVjmAoZ4mW3Ff8LDw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/client-sso@3.797.0': + resolution: {integrity: sha512-9xuR918p7tShR67ZL+AOSbydpJxSHAOdXcQswxxWR/hKCF7tULX7tyL3gNo3l/ETp0CDcStvorOdH/nCbzEOjw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/core@3.796.0': + resolution: {integrity: sha512-tH8Sp7lCxISVoLnkyv4AouuXs2CDlMhTuesWa0lq2NX1f+DXsMwSBtN37ttZdpFMw3F8mWdsJt27X9h2Oq868A==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-env@3.796.0': + resolution: {integrity: sha512-kQzGKm4IOYYO6vUrai2JocNwhJm4Aml2BsAV+tBhFhhkutE7khf9PUucoVjB78b0J48nF+kdSacqzY+gB81/Uw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-http@3.796.0': + resolution: {integrity: sha512-wWOT6VAHIKOuHdKFGm1iyKvx7f6+Kc/YTzFWJPuT+l+CPlXR6ylP1UMIDsHHLKpMzsrh3CH77QDsjkhQrnKkfg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-ini@3.797.0': + resolution: {integrity: sha512-Zpj6pJ2hnebrhLDr+x61ArMUkjHG6mfJRfamHxeVTgZkhLcwHjC5aM4u9pWTVugIaPY+VBtgkKPbi3TRbHlt2g==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-node@3.797.0': + resolution: {integrity: sha512-xJSWvvnmzEfHbqbpN4F3E3mI9+zJ/VWLGiKOjzX1Inbspa5WqNn2GoMamolZR2TvvZS4F3Hp73TD1WoBzkIjuw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-process@3.796.0': + resolution: {integrity: sha512-r4e8/4AdKn/qQbRVocW7oXkpoiuXdTv0qty8AASNLnbQnT1vjD1bvmP6kp4fbHPWgwY8I9h0Dqjp49uy9Bqyuw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-sso@3.797.0': + resolution: {integrity: sha512-VlyWnjTsTnBXqXcEW0nw3S7nj00n9fYwF6uU6HPO9t860yIySG01lNPAWTvAt3DfVL5SRS0GANriCZF6ohcMcQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.797.0': + resolution: {integrity: sha512-DIb05FEmdOX7bNsqSVEAB3UkaDgrYHonQ2+gcBLqZ7LoDNnovHIlvC5jii93usgEStxITZstnzw+49keNEgVWw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-bucket-endpoint@3.775.0': + resolution: {integrity: sha512-qogMIpVChDYr4xiUNC19/RDSw/sKoHkAhouS6Skxiy6s27HBhow1L3Z1qVYXuBmOZGSWPU0xiyZCvOyWrv9s+Q==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-expect-continue@3.775.0': + resolution: {integrity: sha512-Apd3owkIeUW5dnk3au9np2IdW2N0zc9NjTjHiH+Mx3zqwSrc+m+ANgJVgk9mnQjMzU/vb7VuxJ0eqdEbp5gYsg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-flexible-checksums@3.796.0': + resolution: {integrity: sha512-JTqnyzGlbvXDcEnBtd5LFNrCFKUHnGyp/V9+BkvzNP02WXABLWzYvj1TCaf5pQySwK/b4kVn5lvbpTi0rXqjZw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-host-header@3.775.0': + resolution: {integrity: sha512-tkSegM0Z6WMXpLB8oPys/d+umYIocvO298mGvcMCncpRl77L9XkvSLJIFzaHes+o7djAgIduYw8wKIMStFss2w==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-location-constraint@3.775.0': + resolution: {integrity: sha512-8TMXEHZXZTFTckQLyBT5aEI8fX11HZcwZseRifvBKKpj0RZDk4F0EEYGxeNSPpUQ7n+PRWyfAEnnZNRdAj/1NQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-logger@3.775.0': + resolution: {integrity: sha512-FaxO1xom4MAoUJsldmR92nT1G6uZxTdNYOFYtdHfd6N2wcNaTuxgjIvqzg5y7QIH9kn58XX/dzf1iTjgqUStZw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.775.0': + resolution: {integrity: sha512-GLCzC8D0A0YDG5u3F5U03Vb9j5tcOEFhr8oc6PDk0k0vm5VwtZOE6LvK7hcCSoAB4HXyOUM0sQuXrbaAh9OwXA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-sdk-s3@3.796.0': + resolution: {integrity: sha512-5o78oE79sGOtYkL7Up02h2nmr9UhGQZJgxE29EBdTw4dZ1EaA46L+C8oA+fBCmAB5xPQsjQqvhRrsr4Lcp+jZQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-ssec@3.775.0': + resolution: {integrity: sha512-Iw1RHD8vfAWWPzBBIKaojO4GAvQkHOYIpKdAfis/EUSUmSa79QsnXnRqsdcE0mCB0Ylj23yi+ah4/0wh9FsekA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/middleware-user-agent@3.796.0': + resolution: {integrity: sha512-IeNg+3jNWT37J45opi5Jx89hGF0lOnZjiNwlMp3rKq7PlOqy8kWq5J1Gxk0W3tIkPpuf68CtBs/QFrRXWOjsZw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/nested-clients@3.797.0': + resolution: {integrity: sha512-xCsRKdsv0GAg9E28fvYBdC3JR2xdtZ2o41MVknOs+pSFtMsZm3SsgxObN35p1OTMk/o/V0LORGVLnFQMlc5QiA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/region-config-resolver@3.775.0': + resolution: {integrity: sha512-40iH3LJjrQS3LKUJAl7Wj0bln7RFPEvUYKFxtP8a+oKFDO0F65F52xZxIJbPn6sHkxWDAnZlGgdjZXM3p2g5wQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/signature-v4-multi-region@3.796.0': + resolution: {integrity: sha512-JAOLdvazTc9HlTFslSrIOrKRMuOruuM3FeGw0hyfLP/RIbjd9bqe/xLIzDSJr3wpCpJs0sXoofwJgXtgTipvjA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/token-providers@3.797.0': + resolution: {integrity: sha512-TLFkP4BBdkH2zCXhG3JjaYrRft25MMZ+6/YDz1C/ikq2Zk8krUbVoSmhtYMVz10JtxAPiQ++w0vI/qbz2JSDXg==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/types@3.775.0': + resolution: {integrity: sha512-ZoGKwa4C9fC9Av6bdfqcW6Ix5ot05F/S4VxWR2nHuMv7hzfmAjTOcUiWT7UR4hM/U0whf84VhDtXN/DWAk52KA==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-arn-parser@3.723.0': + resolution: {integrity: sha512-ZhEfvUwNliOQROcAk34WJWVYTlTa4694kSVhDSjW6lE1bMataPnIN8A0ycukEzBXmd8ZSoBcQLn6lKGl7XIJ5w==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-endpoints@3.787.0': + resolution: {integrity: sha512-fd3zkiOkwnbdbN0Xp9TsP5SWrmv0SpT70YEdbb8wAj2DWQwiCmFszaSs+YCvhoCdmlR3Wl9Spu0pGpSAGKeYvQ==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-locate-window@3.723.0': + resolution: {integrity: sha512-Yf2CS10BqK688DRsrKI/EO6B8ff5J86NXe4C+VCysK7UOgN0l1zOTeTukZ3H8Q9tYYX3oaF1961o8vRkFm7Nmw==} + engines: {node: '>=18.0.0'} + + '@aws-sdk/util-user-agent-browser@3.775.0': + resolution: {integrity: sha512-txw2wkiJmZKVdDbscK7VBK+u+TJnRtlUjRTLei+elZg2ADhpQxfVAQl436FUeIv6AhB/oRHW6/K/EAGXUSWi0A==} + + '@aws-sdk/util-user-agent-node@3.796.0': + resolution: {integrity: sha512-9fQpNcHgVFitf1tbTT8V1xGRoRHSmOAWjrhevo6Tc0WoINMAKz+4JNqfVGWRE5Tmtpq0oHKo1RmvxXQQtJYciA==} + engines: {node: '>=18.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/xml-builder@3.775.0': + resolution: {integrity: sha512-b9NGO6FKJeLGYnV7Z1yvcP1TNU4dkD5jNsLWOF1/sygZoASaQhNOlaiJ/1OH331YQ1R1oWk38nBb0frsYkDsOQ==} + engines: {node: '>=18.0.0'} + + '@elastic/elasticsearch@8.18.2': + resolution: {integrity: sha512-2pOc/hGdxkbaDavfAlnUfjJdVsFRCGqg7fpsWJfJ2UzpgViIyojdViHg8zOCT1J14lAwvDgb9CNETWa3SBZRfw==} + engines: {node: '>=18'} + + '@elastic/transport@8.9.6': + resolution: {integrity: sha512-v71jgmZtgPg2ouXF5KTPxU1a6z7YYc8nazAS7jLySteC/vrShs1OJh6oEEeo5oDc19MYUofV/JV1h5vqJVBXOw==} + engines: {node: '>=18'} + + '@esbuild-kit/core-utils@3.3.2': + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild-kit/esm-loader@2.6.5': + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + deprecated: 'Merged into tsx: https://tsx.is' + + '@esbuild/aix-ppc64@0.19.12': + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.19.12': + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.19.12': + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.19.12': + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.19.12': + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.12': + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.19.12': + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.19.12': + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.19.12': + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.19.12': + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.19.12': + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.19.12': + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.12': + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.19.12': + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.19.12': + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.19.12': + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.19.12': + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.19.12': + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.19.12': + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.19.12': + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.19.12': + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.6.1': + resolution: {integrity: sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.20.0': + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.2.1': + resolution: {integrity: sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.13.0': + resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.25.1': + resolution: {integrity: sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.8': + resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@hono/swagger-ui@0.5.1': + resolution: {integrity: sha512-XpUCfszLJ9b1rtFdzqOSHfdg9pfBiC2J5piEjuSanYpDDTIwpMz0ciiv5N3WWUaQpz9fEgH8lttQqL41vIFuDA==} + peerDependencies: + hono: '*' + + '@hono/zod-openapi@0.18.4': + resolution: {integrity: sha512-6NHMHU96Hh32B1yDhb94Z4Z5/POsmEu2AXpWLWcBq9arskRnOMt2752yEoXoADV8WUAc7H1IkNaQHGj1ytXbYw==} + engines: {node: '>=16.0.0'} + peerDependencies: + hono: '>=4.3.6' + zod: 3.* + + '@hono/zod-validator@0.2.2': + resolution: {integrity: sha512-dSDxaPV70Py8wuIU2QNpoVEIOSzSXZ/6/B/h4xA7eOMz7+AarKTSGV8E6QwrdcCbBLkpqfJ4Q2TmBO0eP1tCBQ==} + peerDependencies: + hono: '>=3.9.0' + zod: ^3.19.1 + + '@hono/zod-validator@0.4.3': + resolution: {integrity: sha512-xIgMYXDyJ4Hj6ekm9T9Y27s080Nl9NXHcJkOvkXPhubOLj8hZkOL8pDnnXfvCf5xEE8Q4oMFenQUZZREUY2gqQ==} + peerDependencies: + hono: '>=3.9.0' + zod: ^3.19.1 + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.2': + resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} + engines: {node: '>=18.18'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@opentelemetry/api@1.9.0': + resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} + engines: {node: '>=8.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@scalar/core@0.2.11': + resolution: {integrity: sha512-crakGk7IOWEvlexKdxr+uLW+SzvE/9OLZMYGHn0GNop3jSsHqZRB7a4epZ6MzmOP6L2665M4q8g1IuTKBudYVw==} + engines: {node: '>=18'} + + '@scalar/hono-api-reference@0.8.5': + resolution: {integrity: sha512-s9jmP7wQnXNvGR/pFyUxc1BDb7YMbLHJY7czqbMouBjNOhaeutipg2RioiViLOPdyLUoJWeUDxL7h4fUxcZMoA==} + engines: {node: '>=18'} + peerDependencies: + hono: ^4.0.0 + + '@scalar/openapi-types@0.2.1': + resolution: {integrity: sha512-UMxX54taQXnEWYEuesbH+pkjlXRVV1u/Wx6YbVeU3QoJdFGqT3Z7si9zsokoG6MXDcdi1LGny7A0KwownmPvUQ==} + engines: {node: '>=18'} + + '@scalar/types@0.1.11': + resolution: {integrity: sha512-fNcaZbZKoZ2PvoW+KJHmk4au8ZukgWlb6qLK3k/SLkfsTggN3DO4PR57ch6cyl2WhwENNbw+iI+ss7fTRcPnOA==} + engines: {node: '>=18'} + + '@smithy/abort-controller@4.0.2': + resolution: {integrity: sha512-Sl/78VDtgqKxN2+1qduaVE140XF+Xg+TafkncspwM4jFP/LHr76ZHmIY/y3V1M0mMLNk+Je6IGbzxy23RSToMw==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader-native@4.0.0': + resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} + engines: {node: '>=18.0.0'} + + '@smithy/chunked-blob-reader@5.0.0': + resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} + engines: {node: '>=18.0.0'} + + '@smithy/config-resolver@4.1.0': + resolution: {integrity: sha512-8smPlwhga22pwl23fM5ew4T9vfLUCeFXlcqNOCD5M5h8VmNPNUE9j6bQSuRXpDSV11L/E/SwEBQuW8hr6+nS1A==} + engines: {node: '>=18.0.0'} + + '@smithy/core@3.2.0': + resolution: {integrity: sha512-k17bgQhVZ7YmUvA8at4af1TDpl0NDMBuBKJl8Yg0nrefwmValU+CnA5l/AriVdQNthU/33H3nK71HrLgqOPr1Q==} + engines: {node: '>=18.0.0'} + + '@smithy/credential-provider-imds@4.0.2': + resolution: {integrity: sha512-32lVig6jCaWBHnY+OEQ6e6Vnt5vDHaLiydGrwYMW9tPqO688hPGTYRamYJ1EptxEC2rAwJrHWmPoKRBl4iTa8w==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-codec@4.0.2': + resolution: {integrity: sha512-p+f2kLSK7ZrXVfskU/f5dzksKTewZk8pJLPvER3aFHPt76C2MxD9vNatSfLzzQSQB4FNO96RK4PSXfhD1TTeMQ==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-browser@4.0.2': + resolution: {integrity: sha512-CepZCDs2xgVUtH7ZZ7oDdZFH8e6Y2zOv8iiX6RhndH69nlojCALSKK+OXwZUgOtUZEUaZ5e1hULVCHYbCn7pug==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-config-resolver@4.1.0': + resolution: {integrity: sha512-1PI+WPZ5TWXrfj3CIoKyUycYynYJgZjuQo8U+sphneOtjsgrttYybdqESFReQrdWJ+LKt6NEdbYzmmfDBmjX2A==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-node@4.0.2': + resolution: {integrity: sha512-C5bJ/C6x9ENPMx2cFOirspnF9ZsBVnBMtP6BdPl/qYSuUawdGQ34Lq0dMcf42QTjUZgWGbUIZnz6+zLxJlb9aw==} + engines: {node: '>=18.0.0'} + + '@smithy/eventstream-serde-universal@4.0.2': + resolution: {integrity: sha512-St8h9JqzvnbB52FtckiHPN4U/cnXcarMniXRXTKn0r4b4XesZOGiAyUdj1aXbqqn1icSqBlzzUsCl6nPB018ng==} + engines: {node: '>=18.0.0'} + + '@smithy/fetch-http-handler@5.0.2': + resolution: {integrity: sha512-+9Dz8sakS9pe7f2cBocpJXdeVjMopUDLgZs1yWeu7h++WqSbjUYv/JAJwKwXw1HV6gq1jyWjxuyn24E2GhoEcQ==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-blob-browser@4.0.2': + resolution: {integrity: sha512-3g188Z3DyhtzfBRxpZjU8R9PpOQuYsbNnyStc/ZVS+9nVX1f6XeNOa9IrAh35HwwIZg+XWk8bFVtNINVscBP+g==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-node@4.0.2': + resolution: {integrity: sha512-VnTpYPnRUE7yVhWozFdlxcYknv9UN7CeOqSrMH+V877v4oqtVYuoqhIhtSjmGPvYrYnAkaM61sLMKHvxL138yg==} + engines: {node: '>=18.0.0'} + + '@smithy/hash-stream-node@4.0.2': + resolution: {integrity: sha512-POWDuTznzbIwlEXEvvXoPMS10y0WKXK790soe57tFRfvf4zBHyzE529HpZMqmDdwG9MfFflnyzndUQ8j78ZdSg==} + engines: {node: '>=18.0.0'} + + '@smithy/invalid-dependency@4.0.2': + resolution: {integrity: sha512-GatB4+2DTpgWPday+mnUkoumP54u/MDM/5u44KF9hIu8jF0uafZtQLcdfIKkIcUNuF/fBojpLEHZS/56JqPeXQ==} + engines: {node: '>=18.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@4.0.0': + resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + engines: {node: '>=18.0.0'} + + '@smithy/md5-js@4.0.2': + resolution: {integrity: sha512-Hc0R8EiuVunUewCse2syVgA2AfSRco3LyAv07B/zCOMa+jpXI9ll+Q21Nc6FAlYPcpNcAXqBzMhNs1CD/pP2bA==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-content-length@4.0.2': + resolution: {integrity: sha512-hAfEXm1zU+ELvucxqQ7I8SszwQ4znWMbNv6PLMndN83JJN41EPuS93AIyh2N+gJ6x8QFhzSO6b7q2e6oClDI8A==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-endpoint@4.1.0': + resolution: {integrity: sha512-xhLimgNCbCzsUppRTGXWkZywksuTThxaIB0HwbpsVLY5sceac4e1TZ/WKYqufQLaUy+gUSJGNdwD2jo3cXL0iA==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-retry@4.1.0': + resolution: {integrity: sha512-2zAagd1s6hAaI/ap6SXi5T3dDwBOczOMCSkkYzktqN1+tzbk1GAsHNAdo/1uzxz3Ky02jvZQwbi/vmDA6z4Oyg==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-serde@4.0.3': + resolution: {integrity: sha512-rfgDVrgLEVMmMn0BI8O+8OVr6vXzjV7HZj57l0QxslhzbvVfikZbVfBVthjLHqib4BW44QhcIgJpvebHlRaC9A==} + engines: {node: '>=18.0.0'} + + '@smithy/middleware-stack@4.0.2': + resolution: {integrity: sha512-eSPVcuJJGVYrFYu2hEq8g8WWdJav3sdrI4o2c6z/rjnYDd3xH9j9E7deZQCzFn4QvGPouLngH3dQ+QVTxv5bOQ==} + engines: {node: '>=18.0.0'} + + '@smithy/node-config-provider@4.0.2': + resolution: {integrity: sha512-WgCkILRZfJwJ4Da92a6t3ozN/zcvYyJGUTmfGbgS/FkCcoCjl7G4FJaCDN1ySdvLvemnQeo25FdkyMSTSwulsw==} + engines: {node: '>=18.0.0'} + + '@smithy/node-http-handler@4.0.4': + resolution: {integrity: sha512-/mdqabuAT3o/ihBGjL94PUbTSPSRJ0eeVTdgADzow0wRJ0rN4A27EOrtlK56MYiO1fDvlO3jVTCxQtQmK9dZ1g==} + engines: {node: '>=18.0.0'} + + '@smithy/property-provider@4.0.2': + resolution: {integrity: sha512-wNRoQC1uISOuNc2s4hkOYwYllmiyrvVXWMtq+TysNRVQaHm4yoafYQyjN/goYZS+QbYlPIbb/QRjaUZMuzwQ7A==} + engines: {node: '>=18.0.0'} + + '@smithy/protocol-http@5.1.0': + resolution: {integrity: sha512-KxAOL1nUNw2JTYrtviRRjEnykIDhxc84qMBzxvu1MUfQfHTuBlCG7PA6EdVwqpJjH7glw7FqQoFxUJSyBQgu7g==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-builder@4.0.2': + resolution: {integrity: sha512-NTOs0FwHw1vimmQM4ebh+wFQvOwkEf/kQL6bSM1Lock+Bv4I89B3hGYoUEPkmvYPkDKyp5UdXJYu+PoTQ3T31Q==} + engines: {node: '>=18.0.0'} + + '@smithy/querystring-parser@4.0.2': + resolution: {integrity: sha512-v6w8wnmZcVXjfVLjxw8qF7OwESD9wnpjp0Dqry/Pod0/5vcEA3qxCr+BhbOHlxS8O+29eLpT3aagxXGwIoEk7Q==} + engines: {node: '>=18.0.0'} + + '@smithy/service-error-classification@4.0.2': + resolution: {integrity: sha512-LA86xeFpTKn270Hbkixqs5n73S+LVM0/VZco8dqd+JT75Dyx3Lcw/MraL7ybjmz786+160K8rPOmhsq0SocoJQ==} + engines: {node: '>=18.0.0'} + + '@smithy/shared-ini-file-loader@4.0.2': + resolution: {integrity: sha512-J9/gTWBGVuFZ01oVA6vdb4DAjf1XbDhK6sLsu3OS9qmLrS6KB5ygpeHiM3miIbj1qgSJ96GYszXFWv6ErJ8QEw==} + engines: {node: '>=18.0.0'} + + '@smithy/signature-v4@5.1.0': + resolution: {integrity: sha512-4t5WX60sL3zGJF/CtZsUQTs3UrZEDO2P7pEaElrekbLqkWPYkgqNW1oeiNYC6xXifBnT9dVBOnNQRvOE9riU9w==} + engines: {node: '>=18.0.0'} + + '@smithy/smithy-client@4.2.0': + resolution: {integrity: sha512-Qs65/w30pWV7LSFAez9DKy0Koaoh3iHhpcpCCJ4waj/iqwsuSzJna2+vYwq46yBaqO5ZbP9TjUsATUNxrKeBdw==} + engines: {node: '>=18.0.0'} + + '@smithy/types@4.2.0': + resolution: {integrity: sha512-7eMk09zQKCO+E/ivsjQv+fDlOupcFUCSC/L2YUPgwhvowVGWbPQHjEFcmjt7QQ4ra5lyowS92SV53Zc6XD4+fg==} + engines: {node: '>=18.0.0'} + + '@smithy/url-parser@4.0.2': + resolution: {integrity: sha512-Bm8n3j2ScqnT+kJaClSVCMeiSenK6jVAzZCNewsYWuZtnBehEz4r2qP0riZySZVfzB+03XZHJeqfmJDkeeSLiQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-base64@4.0.0': + resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-browser@4.0.0': + resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-body-length-node@4.0.0': + resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@4.0.0': + resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + engines: {node: '>=18.0.0'} + + '@smithy/util-config-provider@4.0.0': + resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-browser@4.0.8': + resolution: {integrity: sha512-ZTypzBra+lI/LfTYZeop9UjoJhhGRTg3pxrNpfSTQLd3AJ37r2z4AXTKpq1rFXiiUIJsYyFgNJdjWRGP/cbBaQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-defaults-mode-node@4.0.8': + resolution: {integrity: sha512-Rgk0Jc/UDfRTzVthye/k2dDsz5Xxs9LZaKCNPgJTRyoyBoeiNCnHsYGOyu1PKN+sDyPnJzMOz22JbwxzBp9NNA==} + engines: {node: '>=18.0.0'} + + '@smithy/util-endpoints@3.0.2': + resolution: {integrity: sha512-6QSutU5ZyrpNbnd51zRTL7goojlcnuOB55+F9VBD+j8JpRY50IGamsjlycrmpn8PQkmJucFW8A0LSfXj7jjtLQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-hex-encoding@4.0.0': + resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-middleware@4.0.2': + resolution: {integrity: sha512-6GDamTGLuBQVAEuQ4yDQ+ti/YINf/MEmIegrEeg7DdB/sld8BX1lqt9RRuIcABOhAGTA50bRbPzErez7SlDtDQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-retry@4.0.2': + resolution: {integrity: sha512-Qryc+QG+7BCpvjloFLQrmlSd0RsVRHejRXd78jNO3+oREueCjwG1CCEH1vduw/ZkM1U9TztwIKVIi3+8MJScGg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-stream@4.2.0': + resolution: {integrity: sha512-Vj1TtwWnuWqdgQI6YTUF5hQ/0jmFiOYsc51CSMgj7QfyO+RF4EnT2HNjoviNlOOmgzgvf3f5yno+EiC4vrnaWQ==} + engines: {node: '>=18.0.0'} + + '@smithy/util-uri-escape@4.0.0': + resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + engines: {node: '>=18.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@4.0.0': + resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + engines: {node: '>=18.0.0'} + + '@smithy/util-waiter@4.0.3': + resolution: {integrity: sha512-JtaY3FxmD+te+KSI2FJuEcfNC9T/DGGVf551babM7fAaXhjJUt7oSYurH1Devxd2+BOSUACCgt3buinx4UnmEA==} + engines: {node: '>=18.0.0'} + + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + + '@tokenizer/inflate@0.2.7': + resolution: {integrity: sha512-MADQgmZT1eKjp06jpI2yozxaU9uVs4GzzgSL+uEq7bVcJ9V1ZXQkeGNql1fsSI0gMy1vhvNTNbUqrx+pZfJVmg==} + engines: {node: '>=18'} + + '@tokenizer/token@0.3.0': + resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} + + '@types/archiver@6.0.3': + resolution: {integrity: sha512-a6wUll6k3zX6qs5KlxIggs1P1JcYJaTCx2gnlr+f0S1yd2DoaEwoIK10HmBaLnZwWneBz+JBm0dwcZu0zECBcQ==} + + '@types/bun@1.2.10': + resolution: {integrity: sha512-eilv6WFM3M0c9ztJt7/g80BDusK98z/FrFwseZgT4bXCq2vPhXD4z8R3oddmAn+R/Nmz9vBn4kweJKmGTZj+lg==} + + '@types/command-line-args@5.2.3': + resolution: {integrity: sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==} + + '@types/command-line-usage@5.0.4': + resolution: {integrity: sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==} + + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/node@20.17.32': + resolution: {integrity: sha512-zeMXFn8zQ+UkjK4ws0RiOC9EWByyW1CcVmLe+2rQocXRsGEDxUCwPEIVgpsGcLHS/P8JkT0oa3839BRABS0oPw==} + + '@types/node@22.15.3': + resolution: {integrity: sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==} + + '@types/readdir-glob@1.1.5': + resolution: {integrity: sha512-raiuEPUYqXu+nvtY2Pe8s8FEmZ3x5yAH4VkLdihcPdalvsHltomrRC9BzuStrJ9yk06470hS0Crw0f1pXqD+Hg==} + + '@typescript-eslint/eslint-plugin@7.18.0': + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.18.0': + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.18.0': + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@unhead/schema@1.11.20': + resolution: {integrity: sha512-0zWykKAaJdm+/Y7yi/Yds20PrUK7XabLe9c3IRcjnwYmSWY6z0Cr19VIs3ozCj8P+GhR+/TI2mwtGlueCEYouA==} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + apache-arrow@19.0.1: + resolution: {integrity: sha512-APmMLzS4qbTivLrPdQXexGM4JRr+0g62QDaobzEvip/FdQIrv2qLy0mD5Qdmw4buydtVJgbFeKR8f59I6PPGDg==} + hasBin: true + + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-back@6.2.2: + resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} + engines: {node: '>=12.17'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + b4a@1.6.7: + resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.5.4: + resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bun-types@1.2.10: + resolution: {integrity: sha512-b5ITZMnVdf3m1gMvJHG+gIfeJHiQPJak0f7925Hxu6ZN5VKA8AGy4GZ4lM+Xkn6jtWxg5S3ldWvfmXdvnkp3GQ==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + chalk-template@0.4.0: + resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} + engines: {node: '>=12'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + command-line-args@6.0.1: + resolution: {integrity: sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==} + engines: {node: '>=12.20'} + peerDependencies: + '@75lb/nature': latest + peerDependenciesMeta: + '@75lb/nature': + optional: true + + command-line-usage@7.0.3: + resolution: {integrity: sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==} + engines: {node: '>=12.20.0'} + + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + + dotenv@16.5.0: + resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} + engines: {node: '>=12'} + + drizzle-kit@0.22.8: + resolution: {integrity: sha512-VjI4wsJjk3hSqHSa3TwBf+uvH6M6pRHyxyoVbt935GUzP9tUR/BRZ+MhEJNgryqbzN2Za1KP0eJMTgKEPsalYQ==} + hasBin: true + + drizzle-orm@0.31.4: + resolution: {integrity: sha512-VGD9SH9aStF2z4QOTnVlVX/WghV/EnuEzTmsH3fSVp2E4fFgc8jl3viQrS/XUJx1ekW4rVVLJMH42SfGQdjX3Q==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=3' + '@electric-sql/pglite': '>=0.1.1' + '@libsql/client': '*' + '@neondatabase/serverless': '>=0.1' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1' + '@prisma/client': '*' + '@tidbcloud/serverless': '*' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/react': '>=18' + '@types/sql.js': '*' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=13.2.0' + knex: '*' + kysely: '*' + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + prisma: '*' + react: '>=18' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@prisma/client': + optional: true + '@tidbcloud/serverless': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/react': + optional: true + '@types/sql.js': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + prisma: + optional: true + react: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + + drizzle-zod@0.5.1: + resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==} + peerDependencies: + drizzle-orm: '>=0.23.13' + zod: '*' + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + esbuild-register@3.6.0: + resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} + peerDependencies: + esbuild: '>=0.12 <1' + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.25.1: + resolution: {integrity: sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + file-type@20.5.0: + resolution: {integrity: sha512-BfHZtG/l9iMm4Ecianu7P8HRD2tBHLtjXinm4X62XBOYzi7CYA7jyqfJzOvXHqzVrVPYqBo2/GvbARMaaJkKVg==} + engines: {node: '>=18'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-replace@5.0.2: + resolution: {integrity: sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==} + engines: {node: '>=14'} + peerDependencies: + '@75lb/nature': latest + peerDependenciesMeta: + '@75lb/nature': + optional: true + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatbuffers@24.12.23: + resolution: {integrity: sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA==} + + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + hono-openapi@0.4.6: + resolution: {integrity: sha512-wSDySp2cS5Zcf1OeLG7nCP3eMsCpcDomN137T9B6/Z5Qq3D0nWgMf0I3Gl41SE1rE37OBQ0Smqx3LOP9Hk//7A==} + peerDependencies: + '@hono/arktype-validator': ^2.0.0 + '@hono/effect-validator': ^1.2.0 + '@hono/typebox-validator': ^0.2.0 || ^0.3.0 + '@hono/valibot-validator': ^0.5.1 + '@hono/zod-validator': ^0.4.1 + '@sinclair/typebox': ^0.34.9 + '@valibot/to-json-schema': ^1.0.0-beta.3 + arktype: ^2.0.0-rc.25 + effect: ^3.11.3 + hono: ^4.6.13 + openapi-types: ^12.1.3 + valibot: ^1.0.0-beta.9 + zod: ^3.23.8 + zod-openapi: ^4.0.0 + peerDependenciesMeta: + '@hono/arktype-validator': + optional: true + '@hono/effect-validator': + optional: true + '@hono/typebox-validator': + optional: true + '@hono/valibot-validator': + optional: true + '@hono/zod-validator': + optional: true + '@sinclair/typebox': + optional: true + '@valibot/to-json-schema': + optional: true + arktype: + optional: true + effect: + optional: true + hono: + optional: true + openapi-types: + optional: true + valibot: + optional: true + zod: + optional: true + zod-openapi: + optional: true + + hono@4.7.8: + resolution: {integrity: sha512-PCibtFdxa7/Ldud9yddl1G81GjYaeMYYTq4ywSaNsYbB1Lug4mwtOMJf2WXykL0pntYwmpRJeOI3NmoDgD+Jxw==} + engines: {node: '>=16.9.0'} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + hpagent@1.2.0: + resolution: {integrity: sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==} + engines: {node: '>=14'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-bignum@0.0.3: + resolution: {integrity: sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==} + engines: {node: '>=0.8'} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-walker@2.0.0: + resolution: {integrity: sha512-nXN2cMky0Iw7Af28w061hmxaPDaML5/bQD9nwm1lOoIKEGjHcRGxqWe4MfrkYThYAPjSUhmsp4bJNoLAyVn9Xw==} + engines: {node: '>=10'} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + jwt-simple@0.5.6: + resolution: {integrity: sha512-40aUybvhH9t2h71ncA1/1SbtTNCVZHgsTsTgqPUxGWDmUDrXyDf2wMNQKEbdBjbf4AI+fQhbECNTV6lWxQKUzg==} + engines: {node: '>= 0.4.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@5.1.5: + resolution: {integrity: sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==} + engines: {node: ^18 || >=20} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + nodemailer@6.10.1: + resolution: {integrity: sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==} + engines: {node: '>=6.0.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + openapi3-ts@4.4.0: + resolution: {integrity: sha512-9asTNB9IkKEzWMcHmVZE7Ts3kC9G7AFHfs8i7caD8HbI76gEjdkId4z/AkP83xdZsH7PLAnnbl47qZkXuxpArw==} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + peek-readable@7.0.0: + resolution: {integrity: sha512-nri2TO5JE3/mRryik9LlHFT53cgHfRK0Lt0BAZQXku/AW3E6XLt2GaY8siWi7dvW/m1z0ecn+J+bpDa9ZN3IsQ==} + engines: {node: '>=18'} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + postgres@3.4.5: + resolution: {integrity: sha512-cDWgoah1Gez9rN3H4165peY9qfpEo+SA61oQv65O3cRUE1pOEoJWwddwcqKE8XZYjbblOJlYDlLV4h67HrEVDg==} + engines: {node: '>=12'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + engines: {node: '>=14'} + hasBin: true + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@4.7.0: + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + + reflect-metadata@0.2.2: + resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + secure-json-parse@3.0.2: + resolution: {integrity: sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==} + + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + streamx@2.22.0: + resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strnum@1.1.2: + resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + + strtok3@10.2.2: + resolution: {integrity: sha512-Xt18+h4s7Z8xyZ0tmBoRmzxcop97R4BAh+dXouUDCYn+Em+1P3qpkUfI5ueWLT8ynC5hZ+q4iPEmGG1urvQGBg==} + engines: {node: '>=18'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + table-layout@4.1.1: + resolution: {integrity: sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==} + engines: {node: '>=12.17'} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + token-types@6.0.0: + resolution: {integrity: sha512-lbDrTLVsHhOMljPscd0yitpozq7Ga2M5Cvez5AjGg8GASBjtt6iERCAJ93yommPmz62fb45oFIXHEZ3u9bfJEA==} + engines: {node: '>=14.16'} + + ts-api-utils@1.4.3: + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@4.40.1: + resolution: {integrity: sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==} + engines: {node: '>=16'} + + typedi@0.10.0: + resolution: {integrity: sha512-v3UJF8xm68BBj6AF4oQML3ikrfK2c9EmZUyLOfShpJuItAqVBHWP/KtpGinkSsIiP6EZyyb6Z3NXyW9dgS9X1w==} + + typescript-eslint@7.18.0: + resolution: {integrity: sha512-PonBkP603E3tt05lDkbOMyaxJjvKqQrXsnow72sVeOFINDE/qNmnnd+f9b4N+U7W6MXnnYyrhtmF2t08QWwUbA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true + + typical@7.3.0: + resolution: {integrity: sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==} + engines: {node: '>=12.17'} + + uint8array-extras@1.4.0: + resolution: {integrity: sha512-ZPtzy0hu4cZjv3z5NW9gfKnNLjoz4y6uv4HlelAjDK7sY/xOkKZv9xK/WQpcsBB3jEybChz9DPC2U/+cusjJVQ==} + engines: {node: '>=18'} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + undici@6.21.2: + resolution: {integrity: sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==} + engines: {node: '>=18.17'} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrapjs@5.1.0: + resolution: {integrity: sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==} + engines: {node: '>=12.17'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + yaml@2.7.1: + resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zhead@2.2.4: + resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} + + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + + zod@3.24.3: + resolution: {integrity: sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==} + +snapshots: + + '@apidevtools/json-schema-ref-parser@11.9.3': + dependencies: + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + js-yaml: 4.1.0 + + '@asteasolutions/zod-to-openapi@7.3.0(zod@3.24.3)': + dependencies: + openapi3-ts: 4.4.0 + zod: 3.24.3 + + '@aws-crypto/crc32@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.775.0 + tslib: 2.8.1 + + '@aws-crypto/crc32c@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.775.0 + tslib: 2.8.1 + + '@aws-crypto/sha1-browser@5.2.0': + dependencies: + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-locate-window': 3.723.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-browser@5.2.0': + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-locate-window': 3.723.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-crypto/sha256-js@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.775.0 + tslib: 2.8.1 + + '@aws-crypto/supports-web-crypto@5.2.0': + dependencies: + tslib: 2.8.1 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.8.1 + + '@aws-sdk/client-s3@3.797.0': + dependencies: + '@aws-crypto/sha1-browser': 5.2.0 + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.796.0 + '@aws-sdk/credential-provider-node': 3.797.0 + '@aws-sdk/middleware-bucket-endpoint': 3.775.0 + '@aws-sdk/middleware-expect-continue': 3.775.0 + '@aws-sdk/middleware-flexible-checksums': 3.796.0 + '@aws-sdk/middleware-host-header': 3.775.0 + '@aws-sdk/middleware-location-constraint': 3.775.0 + '@aws-sdk/middleware-logger': 3.775.0 + '@aws-sdk/middleware-recursion-detection': 3.775.0 + '@aws-sdk/middleware-sdk-s3': 3.796.0 + '@aws-sdk/middleware-ssec': 3.775.0 + '@aws-sdk/middleware-user-agent': 3.796.0 + '@aws-sdk/region-config-resolver': 3.775.0 + '@aws-sdk/signature-v4-multi-region': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-endpoints': 3.787.0 + '@aws-sdk/util-user-agent-browser': 3.775.0 + '@aws-sdk/util-user-agent-node': 3.796.0 + '@aws-sdk/xml-builder': 3.775.0 + '@smithy/config-resolver': 4.1.0 + '@smithy/core': 3.2.0 + '@smithy/eventstream-serde-browser': 4.0.2 + '@smithy/eventstream-serde-config-resolver': 4.1.0 + '@smithy/eventstream-serde-node': 4.0.2 + '@smithy/fetch-http-handler': 5.0.2 + '@smithy/hash-blob-browser': 4.0.2 + '@smithy/hash-node': 4.0.2 + '@smithy/hash-stream-node': 4.0.2 + '@smithy/invalid-dependency': 4.0.2 + '@smithy/md5-js': 4.0.2 + '@smithy/middleware-content-length': 4.0.2 + '@smithy/middleware-endpoint': 4.1.0 + '@smithy/middleware-retry': 4.1.0 + '@smithy/middleware-serde': 4.0.3 + '@smithy/middleware-stack': 4.0.2 + '@smithy/node-config-provider': 4.0.2 + '@smithy/node-http-handler': 4.0.4 + '@smithy/protocol-http': 5.1.0 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + '@smithy/url-parser': 4.0.2 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.8 + '@smithy/util-defaults-mode-node': 4.0.8 + '@smithy/util-endpoints': 3.0.2 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-retry': 4.0.2 + '@smithy/util-stream': 4.2.0 + '@smithy/util-utf8': 4.0.0 + '@smithy/util-waiter': 4.0.3 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.797.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.796.0 + '@aws-sdk/middleware-host-header': 3.775.0 + '@aws-sdk/middleware-logger': 3.775.0 + '@aws-sdk/middleware-recursion-detection': 3.775.0 + '@aws-sdk/middleware-user-agent': 3.796.0 + '@aws-sdk/region-config-resolver': 3.775.0 + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-endpoints': 3.787.0 + '@aws-sdk/util-user-agent-browser': 3.775.0 + '@aws-sdk/util-user-agent-node': 3.796.0 + '@smithy/config-resolver': 4.1.0 + '@smithy/core': 3.2.0 + '@smithy/fetch-http-handler': 5.0.2 + '@smithy/hash-node': 4.0.2 + '@smithy/invalid-dependency': 4.0.2 + '@smithy/middleware-content-length': 4.0.2 + '@smithy/middleware-endpoint': 4.1.0 + '@smithy/middleware-retry': 4.1.0 + '@smithy/middleware-serde': 4.0.3 + '@smithy/middleware-stack': 4.0.2 + '@smithy/node-config-provider': 4.0.2 + '@smithy/node-http-handler': 4.0.4 + '@smithy/protocol-http': 5.1.0 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + '@smithy/url-parser': 4.0.2 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.8 + '@smithy/util-defaults-mode-node': 4.0.8 + '@smithy/util-endpoints': 3.0.2 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-retry': 4.0.2 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.796.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/core': 3.2.0 + '@smithy/node-config-provider': 4.0.2 + '@smithy/property-provider': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/signature-v4': 5.1.0 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + '@smithy/util-middleware': 4.0.2 + fast-xml-parser: 4.4.1 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-env@3.796.0': + dependencies: + '@aws-sdk/core': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@smithy/property-provider': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-http@3.796.0': + dependencies: + '@aws-sdk/core': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@smithy/fetch-http-handler': 5.0.2 + '@smithy/node-http-handler': 4.0.4 + '@smithy/property-provider': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + '@smithy/util-stream': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-ini@3.797.0': + dependencies: + '@aws-sdk/core': 3.796.0 + '@aws-sdk/credential-provider-env': 3.796.0 + '@aws-sdk/credential-provider-http': 3.796.0 + '@aws-sdk/credential-provider-process': 3.796.0 + '@aws-sdk/credential-provider-sso': 3.797.0 + '@aws-sdk/credential-provider-web-identity': 3.797.0 + '@aws-sdk/nested-clients': 3.797.0 + '@aws-sdk/types': 3.775.0 + '@smithy/credential-provider-imds': 4.0.2 + '@smithy/property-provider': 4.0.2 + '@smithy/shared-ini-file-loader': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-node@3.797.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.796.0 + '@aws-sdk/credential-provider-http': 3.796.0 + '@aws-sdk/credential-provider-ini': 3.797.0 + '@aws-sdk/credential-provider-process': 3.796.0 + '@aws-sdk/credential-provider-sso': 3.797.0 + '@aws-sdk/credential-provider-web-identity': 3.797.0 + '@aws-sdk/types': 3.775.0 + '@smithy/credential-provider-imds': 4.0.2 + '@smithy/property-provider': 4.0.2 + '@smithy/shared-ini-file-loader': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-process@3.796.0': + dependencies: + '@aws-sdk/core': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@smithy/property-provider': 4.0.2 + '@smithy/shared-ini-file-loader': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/credential-provider-sso@3.797.0': + dependencies: + '@aws-sdk/client-sso': 3.797.0 + '@aws-sdk/core': 3.796.0 + '@aws-sdk/token-providers': 3.797.0 + '@aws-sdk/types': 3.775.0 + '@smithy/property-provider': 4.0.2 + '@smithy/shared-ini-file-loader': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.797.0': + dependencies: + '@aws-sdk/core': 3.796.0 + '@aws-sdk/nested-clients': 3.797.0 + '@aws-sdk/types': 3.775.0 + '@smithy/property-provider': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/middleware-bucket-endpoint@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-arn-parser': 3.723.0 + '@smithy/node-config-provider': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + '@smithy/util-config-provider': 4.0.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-expect-continue@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-flexible-checksums@3.796.0': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@aws-crypto/crc32c': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/core': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@smithy/is-array-buffer': 4.0.0 + '@smithy/node-config-provider': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-stream': 4.2.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-host-header@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-location-constraint@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-logger@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-recursion-detection@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-sdk-s3@3.796.0': + dependencies: + '@aws-sdk/core': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-arn-parser': 3.723.0 + '@smithy/core': 3.2.0 + '@smithy/node-config-provider': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/signature-v4': 5.1.0 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-stream': 4.2.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-ssec@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/middleware-user-agent@3.796.0': + dependencies: + '@aws-sdk/core': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-endpoints': 3.787.0 + '@smithy/core': 3.2.0 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/nested-clients@3.797.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.796.0 + '@aws-sdk/middleware-host-header': 3.775.0 + '@aws-sdk/middleware-logger': 3.775.0 + '@aws-sdk/middleware-recursion-detection': 3.775.0 + '@aws-sdk/middleware-user-agent': 3.796.0 + '@aws-sdk/region-config-resolver': 3.775.0 + '@aws-sdk/types': 3.775.0 + '@aws-sdk/util-endpoints': 3.787.0 + '@aws-sdk/util-user-agent-browser': 3.775.0 + '@aws-sdk/util-user-agent-node': 3.796.0 + '@smithy/config-resolver': 4.1.0 + '@smithy/core': 3.2.0 + '@smithy/fetch-http-handler': 5.0.2 + '@smithy/hash-node': 4.0.2 + '@smithy/invalid-dependency': 4.0.2 + '@smithy/middleware-content-length': 4.0.2 + '@smithy/middleware-endpoint': 4.1.0 + '@smithy/middleware-retry': 4.1.0 + '@smithy/middleware-serde': 4.0.3 + '@smithy/middleware-stack': 4.0.2 + '@smithy/node-config-provider': 4.0.2 + '@smithy/node-http-handler': 4.0.4 + '@smithy/protocol-http': 5.1.0 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + '@smithy/url-parser': 4.0.2 + '@smithy/util-base64': 4.0.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-body-length-node': 4.0.0 + '@smithy/util-defaults-mode-browser': 4.0.8 + '@smithy/util-defaults-mode-node': 4.0.8 + '@smithy/util-endpoints': 3.0.2 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-retry': 4.0.2 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/region-config-resolver@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/node-config-provider': 4.0.2 + '@smithy/types': 4.2.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.2 + tslib: 2.8.1 + + '@aws-sdk/signature-v4-multi-region@3.796.0': + dependencies: + '@aws-sdk/middleware-sdk-s3': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@smithy/protocol-http': 5.1.0 + '@smithy/signature-v4': 5.1.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/token-providers@3.797.0': + dependencies: + '@aws-sdk/nested-clients': 3.797.0 + '@aws-sdk/types': 3.775.0 + '@smithy/property-provider': 4.0.2 + '@smithy/shared-ini-file-loader': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/types@3.775.0': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/util-arn-parser@3.723.0': + dependencies: + tslib: 2.8.1 + + '@aws-sdk/util-endpoints@3.787.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/types': 4.2.0 + '@smithy/util-endpoints': 3.0.2 + tslib: 2.8.1 + + '@aws-sdk/util-locate-window@3.723.0': + dependencies: + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-browser@3.775.0': + dependencies: + '@aws-sdk/types': 3.775.0 + '@smithy/types': 4.2.0 + bowser: 2.11.0 + tslib: 2.8.1 + + '@aws-sdk/util-user-agent-node@3.796.0': + dependencies: + '@aws-sdk/middleware-user-agent': 3.796.0 + '@aws-sdk/types': 3.775.0 + '@smithy/node-config-provider': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@aws-sdk/xml-builder@3.775.0': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@elastic/elasticsearch@8.18.2': + dependencies: + '@elastic/transport': 8.9.6 + apache-arrow: 19.0.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@75lb/nature' + - supports-color + + '@elastic/transport@8.9.6': + dependencies: + '@opentelemetry/api': 1.9.0 + debug: 4.4.0 + hpagent: 1.2.0 + ms: 2.1.3 + secure-json-parse: 3.0.2 + tslib: 2.8.1 + undici: 6.21.2 + transitivePeerDependencies: + - supports-color + + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.10.0 + + '@esbuild/aix-ppc64@0.19.12': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + + '@eslint-community/eslint-utils@4.6.1(eslint@9.25.1)': + dependencies: + eslint: 9.25.1 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.20.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.2.1': {} + + '@eslint/core@0.13.0': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.0 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.25.1': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.2.8': + dependencies: + '@eslint/core': 0.13.0 + levn: 0.4.1 + + '@hono/swagger-ui@0.5.1(hono@4.7.8)': + dependencies: + hono: 4.7.8 + + '@hono/zod-openapi@0.18.4(hono@4.7.8)(zod@3.24.3)': + dependencies: + '@asteasolutions/zod-to-openapi': 7.3.0(zod@3.24.3) + '@hono/zod-validator': 0.4.3(hono@4.7.8)(zod@3.24.3) + hono: 4.7.8 + zod: 3.24.3 + + '@hono/zod-validator@0.2.2(hono@4.7.8)(zod@3.24.3)': + dependencies: + hono: 4.7.8 + zod: 3.24.3 + + '@hono/zod-validator@0.4.3(hono@4.7.8)(zod@3.24.3)': + dependencies: + hono: 4.7.8 + zod: 3.24.3 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.2': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jsdevtools/ono@7.1.3': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@opentelemetry/api@1.9.0': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@scalar/core@0.2.11': + dependencies: + '@scalar/types': 0.1.11 + + '@scalar/hono-api-reference@0.8.5(hono@4.7.8)': + dependencies: + '@scalar/core': 0.2.11 + hono: 4.7.8 + + '@scalar/openapi-types@0.2.1': + dependencies: + zod: 3.24.3 + + '@scalar/types@0.1.11': + dependencies: + '@scalar/openapi-types': 0.2.1 + '@unhead/schema': 1.11.20 + nanoid: 5.1.5 + type-fest: 4.40.1 + zod: 3.24.3 + + '@smithy/abort-controller@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/chunked-blob-reader-native@4.0.0': + dependencies: + '@smithy/util-base64': 4.0.0 + tslib: 2.8.1 + + '@smithy/chunked-blob-reader@5.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/config-resolver@4.1.0': + dependencies: + '@smithy/node-config-provider': 4.0.2 + '@smithy/types': 4.2.0 + '@smithy/util-config-provider': 4.0.0 + '@smithy/util-middleware': 4.0.2 + tslib: 2.8.1 + + '@smithy/core@3.2.0': + dependencies: + '@smithy/middleware-serde': 4.0.3 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + '@smithy/util-body-length-browser': 4.0.0 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-stream': 4.2.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/credential-provider-imds@4.0.2': + dependencies: + '@smithy/node-config-provider': 4.0.2 + '@smithy/property-provider': 4.0.2 + '@smithy/types': 4.2.0 + '@smithy/url-parser': 4.0.2 + tslib: 2.8.1 + + '@smithy/eventstream-codec@4.0.2': + dependencies: + '@aws-crypto/crc32': 5.2.0 + '@smithy/types': 4.2.0 + '@smithy/util-hex-encoding': 4.0.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-browser@4.0.2': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-config-resolver@4.1.0': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-node@4.0.2': + dependencies: + '@smithy/eventstream-serde-universal': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/eventstream-serde-universal@4.0.2': + dependencies: + '@smithy/eventstream-codec': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/fetch-http-handler@5.0.2': + dependencies: + '@smithy/protocol-http': 5.1.0 + '@smithy/querystring-builder': 4.0.2 + '@smithy/types': 4.2.0 + '@smithy/util-base64': 4.0.0 + tslib: 2.8.1 + + '@smithy/hash-blob-browser@4.0.2': + dependencies: + '@smithy/chunked-blob-reader': 5.0.0 + '@smithy/chunked-blob-reader-native': 4.0.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/hash-node@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/hash-stream-node@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/invalid-dependency@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/is-array-buffer@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/md5-js@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/middleware-content-length@4.0.2': + dependencies: + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/middleware-endpoint@4.1.0': + dependencies: + '@smithy/core': 3.2.0 + '@smithy/middleware-serde': 4.0.3 + '@smithy/node-config-provider': 4.0.2 + '@smithy/shared-ini-file-loader': 4.0.2 + '@smithy/types': 4.2.0 + '@smithy/url-parser': 4.0.2 + '@smithy/util-middleware': 4.0.2 + tslib: 2.8.1 + + '@smithy/middleware-retry@4.1.0': + dependencies: + '@smithy/node-config-provider': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/service-error-classification': 4.0.2 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-retry': 4.0.2 + tslib: 2.8.1 + uuid: 9.0.1 + + '@smithy/middleware-serde@4.0.3': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/middleware-stack@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/node-config-provider@4.0.2': + dependencies: + '@smithy/property-provider': 4.0.2 + '@smithy/shared-ini-file-loader': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/node-http-handler@4.0.4': + dependencies: + '@smithy/abort-controller': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/querystring-builder': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/property-provider@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/protocol-http@5.1.0': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/querystring-builder@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + '@smithy/util-uri-escape': 4.0.0 + tslib: 2.8.1 + + '@smithy/querystring-parser@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/service-error-classification@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + + '@smithy/shared-ini-file-loader@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/signature-v4@5.1.0': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-middleware': 4.0.2 + '@smithy/util-uri-escape': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/smithy-client@4.2.0': + dependencies: + '@smithy/core': 3.2.0 + '@smithy/middleware-endpoint': 4.1.0 + '@smithy/middleware-stack': 4.0.2 + '@smithy/protocol-http': 5.1.0 + '@smithy/types': 4.2.0 + '@smithy/util-stream': 4.2.0 + tslib: 2.8.1 + + '@smithy/types@4.2.0': + dependencies: + tslib: 2.8.1 + + '@smithy/url-parser@4.0.2': + dependencies: + '@smithy/querystring-parser': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-base64@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-body-length-browser@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-body-length-node@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-buffer-from@4.0.0': + dependencies: + '@smithy/is-array-buffer': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-config-provider@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-defaults-mode-browser@4.0.8': + dependencies: + '@smithy/property-provider': 4.0.2 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + bowser: 2.11.0 + tslib: 2.8.1 + + '@smithy/util-defaults-mode-node@4.0.8': + dependencies: + '@smithy/config-resolver': 4.1.0 + '@smithy/credential-provider-imds': 4.0.2 + '@smithy/node-config-provider': 4.0.2 + '@smithy/property-provider': 4.0.2 + '@smithy/smithy-client': 4.2.0 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-endpoints@3.0.2': + dependencies: + '@smithy/node-config-provider': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-hex-encoding@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-middleware@4.0.2': + dependencies: + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-retry@4.0.2': + dependencies: + '@smithy/service-error-classification': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@smithy/util-stream@4.2.0': + dependencies: + '@smithy/fetch-http-handler': 5.0.2 + '@smithy/node-http-handler': 4.0.4 + '@smithy/types': 4.2.0 + '@smithy/util-base64': 4.0.0 + '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-hex-encoding': 4.0.0 + '@smithy/util-utf8': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-uri-escape@4.0.0': + dependencies: + tslib: 2.8.1 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.8.1 + + '@smithy/util-utf8@4.0.0': + dependencies: + '@smithy/util-buffer-from': 4.0.0 + tslib: 2.8.1 + + '@smithy/util-waiter@4.0.3': + dependencies: + '@smithy/abort-controller': 4.0.2 + '@smithy/types': 4.2.0 + tslib: 2.8.1 + + '@swc/helpers@0.5.17': + dependencies: + tslib: 2.8.1 + + '@tokenizer/inflate@0.2.7': + dependencies: + debug: 4.4.0 + fflate: 0.8.2 + token-types: 6.0.0 + transitivePeerDependencies: + - supports-color + + '@tokenizer/token@0.3.0': {} + + '@types/archiver@6.0.3': + dependencies: + '@types/readdir-glob': 1.1.5 + + '@types/bun@1.2.10': + dependencies: + bun-types: 1.2.10 + + '@types/command-line-args@5.2.3': {} + + '@types/command-line-usage@5.0.4': {} + + '@types/estree@1.0.7': {} + + '@types/json-schema@7.0.15': {} + + '@types/node@20.17.32': + dependencies: + undici-types: 6.19.8 + + '@types/node@22.15.3': + dependencies: + undici-types: 6.21.0 + + '@types/readdir-glob@1.1.5': + dependencies: + '@types/node': 22.15.3 + + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.25.1)(typescript@5.8.3))(eslint@9.25.1)(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 7.18.0(eslint@9.25.1)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@9.25.1)(typescript@5.8.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.25.1)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 9.25.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.3(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.18.0(eslint@9.25.1)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.4.0 + eslint: 9.25.1 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + + '@typescript-eslint/type-utils@7.18.0(eslint@9.25.1)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.25.1)(typescript@5.8.3) + debug: 4.4.0 + eslint: 9.25.1 + ts-api-utils: 1.4.3(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@7.18.0': {} + + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.4.0 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 1.4.3(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.18.0(eslint@9.25.1)(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.6.1(eslint@9.25.1) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.8.3) + eslint: 9.25.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + + '@unhead/schema@1.11.20': + dependencies: + hookable: 5.5.3 + zhead: 2.2.4 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + acorn-jsx@5.3.2(acorn@8.14.1): + dependencies: + acorn: 8.14.1 + + acorn@8.14.1: {} + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.1.0: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + apache-arrow@19.0.1: + dependencies: + '@swc/helpers': 0.5.17 + '@types/command-line-args': 5.2.3 + '@types/command-line-usage': 5.0.4 + '@types/node': 20.17.32 + command-line-args: 6.0.1 + command-line-usage: 7.0.3 + flatbuffers: 24.12.23 + json-bignum: 0.0.3 + tslib: 2.8.1 + transitivePeerDependencies: + - '@75lb/nature' + + archiver-utils@5.0.2: + dependencies: + glob: 10.4.5 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + + archiver@7.0.1: + dependencies: + archiver-utils: 5.0.2 + async: 3.2.6 + buffer-crc32: 1.0.0 + readable-stream: 4.7.0 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + + argparse@2.0.1: {} + + array-back@6.2.2: {} + + array-union@2.1.0: {} + + async@3.2.6: {} + + b4a@1.6.7: {} + + balanced-match@1.0.2: {} + + bare-events@2.5.4: + optional: true + + base64-js@1.5.1: {} + + bowser@2.11.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + buffer-crc32@1.0.0: {} + + buffer-from@1.1.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bun-types@1.2.10: + dependencies: + '@types/node': 22.15.3 + + callsites@3.1.0: {} + + chalk-template@0.4.0: + dependencies: + chalk: 4.1.2 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + clone@2.1.2: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + command-line-args@6.0.1: + dependencies: + array-back: 6.2.2 + find-replace: 5.0.2 + lodash.camelcase: 4.3.0 + typical: 7.3.0 + + command-line-usage@7.0.3: + dependencies: + array-back: 6.2.2 + chalk-template: 0.4.0 + table-layout: 4.1.1 + typical: 7.3.0 + + compress-commons@6.0.2: + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.7.0 + + concat-map@0.0.1: {} + + core-util-is@1.0.3: {} + + crc-32@1.2.2: {} + + crc32-stream@6.0.0: + dependencies: + crc-32: 1.2.2 + readable-stream: 4.7.0 + + cross-env@7.0.3: + dependencies: + cross-spawn: 7.0.6 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + deep-is@0.1.4: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.5.0 + + dotenv@16.5.0: {} + + drizzle-kit@0.22.8: + dependencies: + '@esbuild-kit/esm-loader': 2.6.5 + esbuild: 0.19.12 + esbuild-register: 3.6.0(esbuild@0.19.12) + transitivePeerDependencies: + - supports-color + + drizzle-orm@0.31.4(@opentelemetry/api@1.9.0)(bun-types@1.2.10)(postgres@3.4.5): + optionalDependencies: + '@opentelemetry/api': 1.9.0 + bun-types: 1.2.10 + postgres: 3.4.5 + + drizzle-zod@0.5.1(drizzle-orm@0.31.4(@opentelemetry/api@1.9.0)(bun-types@1.2.10)(postgres@3.4.5))(zod@3.24.3): + dependencies: + drizzle-orm: 0.31.4(@opentelemetry/api@1.9.0)(bun-types@1.2.10)(postgres@3.4.5) + zod: 3.24.3 + + eastasianwidth@0.2.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + esbuild-register@3.6.0(esbuild@0.19.12): + dependencies: + debug: 4.4.0 + esbuild: 0.19.12 + transitivePeerDependencies: + - supports-color + + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + esbuild@0.19.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + escape-string-regexp@4.0.0: {} + + eslint-config-prettier@9.1.0(eslint@9.25.1): + dependencies: + eslint: 9.25.1 + + eslint-scope@8.3.0: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@4.2.0: {} + + eslint@9.25.1: + dependencies: + '@eslint-community/eslint-utils': 4.6.1(eslint@9.25.1) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.20.0 + '@eslint/config-helpers': 0.2.1 + '@eslint/core': 0.13.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.25.1 + '@eslint/plugin-kit': 0.2.8 + '@humanfs/node': 0.16.6 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.2 + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0 + escape-string-regexp: 4.0.0 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@10.3.0: + dependencies: + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 4.2.0 + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + event-target-shim@5.0.1: {} + + events@3.3.0: {} + + fast-deep-equal@3.1.3: {} + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-xml-parser@4.4.1: + dependencies: + strnum: 1.1.2 + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fflate@0.8.2: {} + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + file-type@20.5.0: + dependencies: + '@tokenizer/inflate': 0.2.7 + strtok3: 10.2.2 + token-types: 6.0.0 + uint8array-extras: 1.4.0 + transitivePeerDependencies: + - supports-color + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-replace@5.0.2: {} + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + + flatbuffers@24.12.23: {} + + flatted@3.3.3: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + get-tsconfig@4.10.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + globals@14.0.0: {} + + globals@15.15.0: {} + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + has-flag@4.0.0: {} + + hono-openapi@0.4.6(@hono/zod-validator@0.2.2(hono@4.7.8)(zod@3.24.3))(hono@4.7.8)(zod@3.24.3): + dependencies: + json-schema-walker: 2.0.0 + optionalDependencies: + '@hono/zod-validator': 0.2.2(hono@4.7.8)(zod@3.24.3) + hono: 4.7.8 + zod: 3.24.3 + + hono@4.7.8: {} + + hookable@5.5.3: {} + + hpagent@1.2.0: {} + + ieee754@1.2.1: {} + + ignore@5.3.2: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + inherits@2.0.4: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + is-stream@2.0.1: {} + + isarray@1.0.0: {} + + isexe@2.0.0: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-bignum@0.0.3: {} + + json-buffer@3.0.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-walker@2.0.0: + dependencies: + '@apidevtools/json-schema-ref-parser': 11.9.3 + clone: 2.1.2 + + json-stable-stringify-without-jsonify@1.0.1: {} + + jwt-simple@0.5.6: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.camelcase@4.3.0: {} + + lodash.merge@4.6.2: {} + + lodash@4.17.21: {} + + lru-cache@10.4.3: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minipass@7.1.2: {} + + ms@2.1.3: {} + + nanoid@5.1.5: {} + + natural-compare@1.4.0: {} + + nodemailer@6.10.1: {} + + normalize-path@3.0.0: {} + + openapi3-ts@4.4.0: + dependencies: + yaml: 2.7.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-type@4.0.0: {} + + peek-readable@7.0.0: {} + + picomatch@2.3.1: {} + + postgres@3.4.5: {} + + prelude-ls@1.2.1: {} + + prettier@3.5.3: {} + + process-nextick-args@2.0.1: {} + + process@0.11.10: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + readable-stream@4.7.0: + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + + readdir-glob@1.1.3: + dependencies: + minimatch: 5.1.6 + + reflect-metadata@0.2.2: {} + + resolve-from@4.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + reusify@1.1.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + secure-json-parse@3.0.2: {} + + semver@7.7.1: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@4.1.0: {} + + slash@3.0.0: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + streamx@2.22.0: + dependencies: + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + optionalDependencies: + bare-events: 2.5.4 + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.1.0 + + strip-json-comments@3.1.1: {} + + strnum@1.1.2: {} + + strtok3@10.2.2: + dependencies: + '@tokenizer/token': 0.3.0 + peek-readable: 7.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + table-layout@4.1.1: + dependencies: + array-back: 6.2.2 + wordwrapjs: 5.1.0 + + tar-stream@3.1.7: + dependencies: + b4a: 1.6.7 + fast-fifo: 1.3.2 + streamx: 2.22.0 + + text-decoder@1.2.3: + dependencies: + b4a: 1.6.7 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + token-types@6.0.0: + dependencies: + '@tokenizer/token': 0.3.0 + ieee754: 1.2.1 + + ts-api-utils@1.4.3(typescript@5.8.3): + dependencies: + typescript: 5.8.3 + + tslib@2.8.1: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@4.40.1: {} + + typedi@0.10.0: {} + + typescript-eslint@7.18.0(eslint@9.25.1)(typescript@5.8.3): + dependencies: + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.25.1)(typescript@5.8.3))(eslint@9.25.1)(typescript@5.8.3) + '@typescript-eslint/parser': 7.18.0(eslint@9.25.1)(typescript@5.8.3) + '@typescript-eslint/utils': 7.18.0(eslint@9.25.1)(typescript@5.8.3) + eslint: 9.25.1 + optionalDependencies: + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + typescript@5.8.3: {} + + typical@7.3.0: {} + + uint8array-extras@1.4.0: {} + + undici-types@6.19.8: {} + + undici-types@6.21.0: {} + + undici@6.21.2: {} + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + util-deprecate@1.0.2: {} + + uuid@9.0.1: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + wordwrapjs@5.1.0: {} + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + yaml@2.7.1: {} + + yocto-queue@0.1.0: {} + + zhead@2.2.4: {} + + zip-stream@6.0.1: + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.7.0 + + zod@3.24.3: {} diff --git a/src/db/migrations/0003_mysterious_the_fallen.sql b/src/db/migrations/0003_mysterious_the_fallen.sql new file mode 100644 index 0000000..9d889c1 --- /dev/null +++ b/src/db/migrations/0003_mysterious_the_fallen.sql @@ -0,0 +1 @@ +ALTER TABLE "notifications" ALTER COLUMN "actor_user_id" SET NOT NULL; \ No newline at end of file diff --git a/src/db/migrations/meta/0003_snapshot.json b/src/db/migrations/meta/0003_snapshot.json new file mode 100644 index 0000000..f8eb3db --- /dev/null +++ b/src/db/migrations/meta/0003_snapshot.json @@ -0,0 +1,2714 @@ +{ + "id": "50829ae2-c646-4fc2-aaeb-40af6e5e926c", + "prevId": "9feef775-e14c-4a3d-a342-bb281dd95fa3", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.achievements": { + "name": "achievements", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "reward_experience": { + "name": "reward_experience", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "reward_points": { + "name": "reward_points", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "review_state": { + "name": "review_state", + "type": "review_state", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'under_review'" + }, + "repeatable": { + "name": "repeatable", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "is_resettable": { + "name": "is_resettable", + "type": "boolean", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "achievements_id_unique": { + "name": "achievements_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.actions": { + "name": "actions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "actions_id_unique": { + "name": "actions_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.collection_likes": { + "name": "collection_likes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "collection_id": { + "name": "collection_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "collection_likes_user_id_users_id_fk": { + "name": "collection_likes_user_id_users_id_fk", + "tableFrom": "collection_likes", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "collection_likes_collection_id_collections_id_fk": { + "name": "collection_likes_collection_id_collections_id_fk", + "tableFrom": "collection_likes", + "tableTo": "collections", + "columnsFrom": [ + "collection_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "collection_likes_id_unique": { + "name": "collection_likes_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.collection_resources": { + "name": "collection_resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "collection_id": { + "name": "collection_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "collection_resources_collection_id_collections_id_fk": { + "name": "collection_resources_collection_id_collections_id_fk", + "tableFrom": "collection_resources", + "tableTo": "collections", + "columnsFrom": [ + "collection_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "collection_resources_resource_id_resources_id_fk": { + "name": "collection_resources_resource_id_resources_id_fk", + "tableFrom": "collection_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "collection_resources_id_unique": { + "name": "collection_resources_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.collection_stats": { + "name": "collection_stats", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "views": { + "name": "views", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "downloads": { + "name": "downloads", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "likes": { + "name": "likes", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "shares": { + "name": "shares", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "score": { + "name": "score", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0.0'" + }, + "follows": { + "name": "follows", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "collection_stats_id_unique": { + "name": "collection_stats_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.collections": { + "name": "collections", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_private": { + "name": "is_private", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "thumbnail": { + "name": "thumbnail", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "collection_stats_id": { + "name": "collection_stats_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "collections_user_id_users_id_fk": { + "name": "collections_user_id_users_id_fk", + "tableFrom": "collections", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "collections_collection_stats_id_collection_stats_id_fk": { + "name": "collections_collection_stats_id_collection_stats_id_fk", + "tableFrom": "collections", + "tableTo": "collection_stats", + "columnsFrom": [ + "collection_stats_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "collections_id_unique": { + "name": "collections_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + }, + "collections_collection_stats_id_unique": { + "name": "collections_collection_stats_id_unique", + "nullsNotDistinct": false, + "columns": [ + "collection_stats_id" + ] + } + } + }, + "public.commentReply": { + "name": "commentReply", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "comment_id": { + "name": "comment_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "update_at": { + "name": "update_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": { + "commentReply_user_id_users_id_fk": { + "name": "commentReply_user_id_users_id_fk", + "tableFrom": "commentReply", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "commentReply_comment_id_comments_id_fk": { + "name": "commentReply_comment_id_comments_id_fk", + "tableFrom": "commentReply", + "tableTo": "comments", + "columnsFrom": [ + "comment_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "commentReply_id_unique": { + "name": "commentReply_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.comments": { + "name": "comments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": { + "comments_user_id_users_id_fk": { + "name": "comments_user_id_users_id_fk", + "tableFrom": "comments", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "comments_resource_id_resources_id_fk": { + "name": "comments_resource_id_resources_id_fk", + "tableFrom": "comments", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "comments_id_unique": { + "name": "comments_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.complaints": { + "name": "complaints", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "state": { + "name": "state", + "type": "complaints_state", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'complained'" + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "denouncer_id": { + "name": "denouncer_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "collection_id": { + "name": "collection_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "evaluated_at": { + "name": "evaluated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "q1": { + "name": "q1", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q2": { + "name": "q2", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q3": { + "name": "q3", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q4": { + "name": "q4", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q5": { + "name": "q5", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q6": { + "name": "q6", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q7": { + "name": "q7", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "complaints_denouncer_id_users_id_fk": { + "name": "complaints_denouncer_id_users_id_fk", + "tableFrom": "complaints", + "tableTo": "users", + "columnsFrom": [ + "denouncer_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "complaints_resource_id_resources_id_fk": { + "name": "complaints_resource_id_resources_id_fk", + "tableFrom": "complaints", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "complaints_collection_id_collections_id_fk": { + "name": "complaints_collection_id_collections_id_fk", + "tableFrom": "complaints", + "tableTo": "collections", + "columnsFrom": [ + "collection_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "complaints_user_id_users_id_fk": { + "name": "complaints_user_id_users_id_fk", + "tableFrom": "complaints", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "complaints_id_unique": { + "name": "complaints_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.educational_stages": { + "name": "educational_stages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "educational_stages_id_unique": { + "name": "educational_stages_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.followers": { + "name": "followers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "follower_id": { + "name": "follower_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "followers_user_id_users_id_fk": { + "name": "followers_user_id_users_id_fk", + "tableFrom": "followers", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "followers_follower_id_users_id_fk": { + "name": "followers_follower_id_users_id_fk", + "tableFrom": "followers", + "tableTo": "users", + "columnsFrom": [ + "follower_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "followers_id_unique": { + "name": "followers_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.institutions": { + "name": "institutions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "uf": { + "name": "uf", + "type": "varchar(2)", + "primaryKey": false, + "notNull": false + }, + "city": { + "name": "city", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false + }, + "cep": { + "name": "cep", + "type": "varchar(10)", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "institutions_id_unique": { + "name": "institutions_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.item_achievements": { + "name": "item_achievements", + "schema": "", + "columns": { + "item_id": { + "name": "item_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "achievement_id": { + "name": "achievement_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "item_achievements_item_id_items_id_fk": { + "name": "item_achievements_item_id_items_id_fk", + "tableFrom": "item_achievements", + "tableTo": "items", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "item_achievements_achievement_id_achievements_id_fk": { + "name": "item_achievements_achievement_id_achievements_id_fk", + "tableFrom": "item_achievements", + "tableTo": "achievements", + "columnsFrom": [ + "achievement_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "item_achievements_item_id_achievement_id_pk": { + "name": "item_achievements_item_id_achievement_id_pk", + "columns": [ + "item_id", + "achievement_id" + ] + } + }, + "uniqueConstraints": {} + }, + "public.items": { + "name": "items", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "price": { + "name": "price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "discount": { + "name": "discount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "items_id_unique": { + "name": "items_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.languages": { + "name": "languages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "code": { + "name": "code", + "type": "varchar(10)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "languages_id_unique": { + "name": "languages_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + }, + "languages_code_unique": { + "name": "languages_code_unique", + "nullsNotDistinct": false, + "columns": [ + "code" + ] + } + } + }, + "public.licenses": { + "name": "licenses", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "licenses_id_unique": { + "name": "licenses_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.notifications": { + "name": "notifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "owner_id": { + "name": "owner_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "action_id": { + "name": "action_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "actor_user_id": { + "name": "actor_user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "target_user_id": { + "name": "target_user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "target_resource_id": { + "name": "target_resource_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "target_collection_id": { + "name": "target_collection_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "viewed": { + "name": "viewed", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": { + "notifications_owner_id_users_id_fk": { + "name": "notifications_owner_id_users_id_fk", + "tableFrom": "notifications", + "tableTo": "users", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notifications_action_id_actions_id_fk": { + "name": "notifications_action_id_actions_id_fk", + "tableFrom": "notifications", + "tableTo": "actions", + "columnsFrom": [ + "action_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notifications_actor_user_id_users_id_fk": { + "name": "notifications_actor_user_id_users_id_fk", + "tableFrom": "notifications", + "tableTo": "users", + "columnsFrom": [ + "actor_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notifications_target_user_id_users_id_fk": { + "name": "notifications_target_user_id_users_id_fk", + "tableFrom": "notifications", + "tableTo": "users", + "columnsFrom": [ + "target_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notifications_target_resource_id_resources_id_fk": { + "name": "notifications_target_resource_id_resources_id_fk", + "tableFrom": "notifications", + "tableTo": "resources", + "columnsFrom": [ + "target_resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "notifications_target_collection_id_collections_id_fk": { + "name": "notifications_target_collection_id_collections_id_fk", + "tableFrom": "notifications", + "tableTo": "collections", + "columnsFrom": [ + "target_collection_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "notifications_id_unique": { + "name": "notifications_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.object_types": { + "name": "object_types", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "object_types_id_unique": { + "name": "object_types_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.resource_educational_stages": { + "name": "resource_educational_stages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "educational_stage_id": { + "name": "educational_stage_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "resource_educational_stages_resource_id_resources_id_fk": { + "name": "resource_educational_stages_resource_id_resources_id_fk", + "tableFrom": "resource_educational_stages", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resource_educational_stages_educational_stage_id_educational_stages_id_fk": { + "name": "resource_educational_stages_educational_stage_id_educational_stages_id_fk", + "tableFrom": "resource_educational_stages", + "tableTo": "educational_stages", + "columnsFrom": [ + "educational_stage_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "resource_educational_stages_id_unique": { + "name": "resource_educational_stages_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.resource_languages": { + "name": "resource_languages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "language_id": { + "name": "language_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "resource_languages_resource_id_resources_id_fk": { + "name": "resource_languages_resource_id_resources_id_fk", + "tableFrom": "resource_languages", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resource_languages_language_id_languages_id_fk": { + "name": "resource_languages_language_id_languages_id_fk", + "tableFrom": "resource_languages", + "tableTo": "languages", + "columnsFrom": [ + "language_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "resource_languages_id_unique": { + "name": "resource_languages_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.resource_likes": { + "name": "resource_likes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "resource_likes_user_id_users_id_fk": { + "name": "resource_likes_user_id_users_id_fk", + "tableFrom": "resource_likes", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resource_likes_resource_id_resources_id_fk": { + "name": "resource_likes_resource_id_resources_id_fk", + "tableFrom": "resource_likes", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "resource_likes_id_unique": { + "name": "resource_likes_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.resource_stats": { + "name": "resource_stats", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "views": { + "name": "views", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "downloads": { + "name": "downloads", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "likes": { + "name": "likes", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "shares": { + "name": "shares", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "score": { + "name": "score", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0.0'" + }, + "follows": { + "name": "follows", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "comments": { + "name": "comments", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "resource_stats_id_unique": { + "name": "resource_stats_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.resource_subjects": { + "name": "resource_subjects", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "subject_id": { + "name": "subject_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "resource_subjects_resource_id_resources_id_fk": { + "name": "resource_subjects_resource_id_resources_id_fk", + "tableFrom": "resource_subjects", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resource_subjects_subject_id_subjects_id_fk": { + "name": "resource_subjects_subject_id_subjects_id_fk", + "tableFrom": "resource_subjects", + "tableTo": "subjects", + "columnsFrom": [ + "subject_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "resource_subjects_id_unique": { + "name": "resource_subjects_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.resources": { + "name": "resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "resource_state": { + "name": "resource_state", + "type": "resource_state", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "author": { + "name": "author", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "link": { + "name": "link", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false + }, + "thumbnail": { + "name": "thumbnail", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "published_at": { + "name": "published_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "submitted_at": { + "name": "submitted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "resource_stats_id": { + "name": "resource_stats_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "object_type_id": { + "name": "object_type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "license_id": { + "name": "license_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "resources_user_id_users_id_fk": { + "name": "resources_user_id_users_id_fk", + "tableFrom": "resources", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resources_resource_stats_id_resource_stats_id_fk": { + "name": "resources_resource_stats_id_resource_stats_id_fk", + "tableFrom": "resources", + "tableTo": "resource_stats", + "columnsFrom": [ + "resource_stats_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resources_object_type_id_object_types_id_fk": { + "name": "resources_object_type_id_object_types_id_fk", + "tableFrom": "resources", + "tableTo": "object_types", + "columnsFrom": [ + "object_type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resources_license_id_licenses_id_fk": { + "name": "resources_license_id_licenses_id_fk", + "tableFrom": "resources", + "tableTo": "licenses", + "columnsFrom": [ + "license_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "resources_id_unique": { + "name": "resources_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + }, + "resources_resource_stats_id_unique": { + "name": "resources_resource_stats_id_unique", + "nullsNotDistinct": false, + "columns": [ + "resource_stats_id" + ] + } + } + }, + "public.roles": { + "name": "roles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "roles_id_unique": { + "name": "roles_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + }, + "roles_name_unique": { + "name": "roles_name_unique", + "nullsNotDistinct": false, + "columns": [ + "name" + ] + } + } + }, + "public.subjects": { + "name": "subjects", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "subjects_id_unique": { + "name": "subjects_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.submissions": { + "name": "submissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "is_accepted": { + "name": "is_accepted", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "justification": { + "name": "justification", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "submitter_id": { + "name": "submitter_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "curator_id": { + "name": "curator_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "answered_at": { + "name": "answered_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "q1": { + "name": "q1", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q2": { + "name": "q2", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q3": { + "name": "q3", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "q4": { + "name": "q4", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "submissions_resource_id_resources_id_fk": { + "name": "submissions_resource_id_resources_id_fk", + "tableFrom": "submissions", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "submissions_submitter_id_users_id_fk": { + "name": "submissions_submitter_id_users_id_fk", + "tableFrom": "submissions", + "tableTo": "users", + "columnsFrom": [ + "submitter_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "submissions_curator_id_users_id_fk": { + "name": "submissions_curator_id_users_id_fk", + "tableFrom": "submissions", + "tableTo": "users", + "columnsFrom": [ + "curator_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "submissions_id_unique": { + "name": "submissions_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.user_achievements": { + "name": "user_achievements", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "achievement_id": { + "name": "achievement_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_achievements_user_id_users_id_fk": { + "name": "user_achievements_user_id_users_id_fk", + "tableFrom": "user_achievements", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_achievements_achievement_id_users_id_fk": { + "name": "user_achievements_achievement_id_users_id_fk", + "tableFrom": "user_achievements", + "tableTo": "users", + "columnsFrom": [ + "achievement_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_achievements_id_unique": { + "name": "user_achievements_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.user_collections": { + "name": "user_collections", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "collection_id": { + "name": "collection_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_collections_user_id_users_id_fk": { + "name": "user_collections_user_id_users_id_fk", + "tableFrom": "user_collections", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_collections_collection_id_collections_id_fk": { + "name": "user_collections_collection_id_collections_id_fk", + "tableFrom": "user_collections", + "tableTo": "collections", + "columnsFrom": [ + "collection_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_collections_id_unique": { + "name": "user_collections_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.user_institutions": { + "name": "user_institutions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "institution_id": { + "name": "institution_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_institutions_user_id_users_id_fk": { + "name": "user_institutions_user_id_users_id_fk", + "tableFrom": "user_institutions", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_institutions_institution_id_institutions_id_fk": { + "name": "user_institutions_institution_id_institutions_id_fk", + "tableFrom": "user_institutions", + "tableTo": "institutions", + "columnsFrom": [ + "institution_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_institutions_id_unique": { + "name": "user_institutions_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.user_items": { + "name": "user_items", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "item_id": { + "name": "item_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_items_user_id_users_id_fk": { + "name": "user_items_user_id_users_id_fk", + "tableFrom": "user_items", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_items_item_id_items_id_fk": { + "name": "user_items_item_id_items_id_fk", + "tableFrom": "user_items", + "tableTo": "items", + "columnsFrom": [ + "item_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_items_id_unique": { + "name": "user_items_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.user_roles": { + "name": "user_roles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "role_id": { + "name": "role_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "user_roles_user_id_users_id_fk": { + "name": "user_roles_user_id_users_id_fk", + "tableFrom": "user_roles", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_roles_role_id_roles_id_fk": { + "name": "user_roles_role_id_roles_id_fk", + "tableFrom": "user_roles", + "tableTo": "roles", + "columnsFrom": [ + "role_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_roles_id_unique": { + "name": "user_roles_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.user_stats": { + "name": "user_stats", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "score": { + "name": "score", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0.0'" + }, + "likes": { + "name": "likes", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "likes_received": { + "name": "likes_received", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "follows": { + "name": "follows", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "followers": { + "name": "followers", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "collections": { + "name": "collections", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "submitted_resources": { + "name": "submitted_resources", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "approved_resources": { + "name": "approved_resources", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "reviewed_resources": { + "name": "reviewed_resources", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "comments": { + "name": "comments", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_stats_id_unique": { + "name": "user_stats_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + } + } + }, + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "password": { + "name": "password", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'sem descrição'" + }, + "birthday": { + "name": "birthday", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "cpf": { + "name": "cpf", + "type": "varchar(11)", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "confirmed_at": { + "name": "confirmed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "confirmation_sent_at": { + "name": "confirmation_sent_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "reactivated_at": { + "name": "reactivated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "user_stats_id": { + "name": "user_stats_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "level": { + "name": "level", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "experience": { + "name": "experience", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "points": { + "name": "points", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "level_xp": { + "name": "level_xp", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 0 + } + }, + "indexes": {}, + "foreignKeys": { + "users_user_stats_id_user_stats_id_fk": { + "name": "users_user_stats_id_user_stats_id_fk", + "tableFrom": "users", + "tableTo": "user_stats", + "columnsFrom": [ + "user_stats_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "users_id_unique": { + "name": "users_id_unique", + "nullsNotDistinct": false, + "columns": [ + "id" + ] + }, + "users_username_unique": { + "name": "users_username_unique", + "nullsNotDistinct": false, + "columns": [ + "username" + ] + }, + "users_email_unique": { + "name": "users_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + }, + "users_cpf_unique": { + "name": "users_cpf_unique", + "nullsNotDistinct": false, + "columns": [ + "cpf" + ] + }, + "users_user_stats_id_unique": { + "name": "users_user_stats_id_unique", + "nullsNotDistinct": false, + "columns": [ + "user_stats_id" + ] + } + } + } + }, + "enums": { + "public.complaints_state": { + "name": "complaints_state", + "schema": "public", + "values": [ + "complained", + "rejected", + "accepted" + ] + }, + "public.resource_state": { + "name": "resource_state", + "schema": "public", + "values": [ + "draft", + "submitted", + "accepted", + "reported", + "deleted" + ] + }, + "public.review_state": { + "name": "review_state", + "schema": "public", + "values": [ + "active", + "inactive", + "under_review" + ] + } + }, + "schemas": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/src/db/migrations/meta/_journal.json b/src/db/migrations/meta/_journal.json index cac9669..1ff8c55 100644 --- a/src/db/migrations/meta/_journal.json +++ b/src/db/migrations/meta/_journal.json @@ -22,6 +22,13 @@ "when": 1745328426511, "tag": "0002_thankful_captain_midlands", "breakpoints": true + }, + { + "idx": 3, + "version": "7", + "when": 1745932013204, + "tag": "0003_mysterious_the_fallen", + "breakpoints": true } ] } \ No newline at end of file diff --git a/src/db/repo/complaint.repo.ts b/src/db/repo/complaint.repo.ts index 895bae1..c1931da 100644 --- a/src/db/repo/complaint.repo.ts +++ b/src/db/repo/complaint.repo.ts @@ -3,6 +3,8 @@ import type { ComplaintInput, ComplaintModel, ComplaintUpdate } from "../schema/ import db from ".."; import complaintTable, { complaintSchemas } from "../schema/complaint.schema"; import { eq } from "drizzle-orm"; +import type { ResourceModel } from "../schema/resource.schema"; +import resourceTable from "../schema/resource.schema"; @Service() export class ComplaintRepo { @@ -59,4 +61,16 @@ export class ComplaintRepo { .array() .parse(await db.query.complaintTable.findMany()) } + + async findResources(): Promise<ResourceModel[]> { + const results = await db + .select() + .from(resourceTable) + .innerJoin(complaintTable, eq(resourceTable.id, complaintTable.resource_id)) + + // Como o select traz objetos com `.resourceTable` e `.complaintTable`, você pode mapear: + const resources = results.map((row) => row.resources) + console.log("CHAMEI AQUi") + return resources + } } \ No newline at end of file diff --git a/src/db/repo/homologation.repo.ts b/src/db/repo/homologation.repo.ts index 8cfd42f..902736a 100644 --- a/src/db/repo/homologation.repo.ts +++ b/src/db/repo/homologation.repo.ts @@ -28,7 +28,7 @@ export class HomologationRepo { eq(resourceTable.state, "submitted"), not(eq(resourceTable.user_id, userId)) // pega os que nao corresponde ao usuario )) - - return resourceSchema.model.array().parse(resources) + + return resources } } diff --git a/src/db/repo/user-role.repo.ts b/src/db/repo/user-role.repo.ts index 2aead53..8a0a982 100644 --- a/src/db/repo/user-role.repo.ts +++ b/src/db/repo/user-role.repo.ts @@ -3,6 +3,8 @@ import { z } from "zod"; import db from "@/db"; import { and, eq } from "drizzle-orm"; import userRoleRelationTable, { userRoleRelationSchemas, type UserRoleRelationInput, type UserRoleRelationModel, type UserRoleRelationUpdate } from "../relations/user-role.relation"; +import { roleTable } from "../schema"; +import type { RoleModel } from "../schema/roles.schema"; @Service() export class UserRoleRepo{ @@ -33,12 +35,19 @@ export class UserRoleRepo{ return userRoleRelationSchemas.model.parse(userRoleRelation) } - async findByUserId(user_id: UserRoleRelationModel['user_id']): Promise<UserRoleRelationModel[]>{ - - return z - .array(userRoleRelationSchemas.model).parse(await db.query.userRoleRelationTable.findMany({ - where: eq(userRoleRelationTable.user_id, user_id)})) + async findByUserId(user_id: number): Promise<RoleModel[]> { + const result = await db + .select({ + userRole: userRoleRelationTable, + role: roleTable, + }) + .from(userRoleRelationTable) + .innerJoin(roleTable, eq(userRoleRelationTable.role_id, roleTable.id)) + .where(eq(userRoleRelationTable.user_id, user_id)); + console.log("OIIIIIIIIIIIIIIII", result) + return result.map(r => r.role); } + async findByRoleId(userRole_id: UserRoleRelationModel['role_id']): Promise<UserRoleRelationModel[]>{ return z diff --git a/src/db/seeds/collections.seed.ts b/src/db/seeds/collections.seed.ts index c7f96bf..ef85e47 100644 --- a/src/db/seeds/collections.seed.ts +++ b/src/db/seeds/collections.seed.ts @@ -13,7 +13,7 @@ const collectionData: CollectionInput[] = [ is_private: false, thumbnail: 'https://www.google.com', collection_stats_id: 1, - user_id: 1, + user_id: 2, }, { name: 'Collection 2', diff --git a/src/db/seeds/resource.seed.ts b/src/db/seeds/resource.seed.ts index 0033388..dab2775 100644 --- a/src/db/seeds/resource.seed.ts +++ b/src/db/seeds/resource.seed.ts @@ -20,6 +20,7 @@ const resourceData: ResourceInput[] = [ }, { name: 'recurso 2', + state: 'submitted', description: 'recurso 2 description', author: 'author 2', link: 'link 2', @@ -31,6 +32,7 @@ const resourceData: ResourceInput[] = [ }, { name: 'recurso 3', + state: 'submitted', description: 'recurso 2 description', author: 'author 2', link: 'link 2', diff --git a/src/db/seeds/user-role.seed.ts b/src/db/seeds/user-role.seed.ts index bf20f31..a87ddf9 100644 --- a/src/db/seeds/user-role.seed.ts +++ b/src/db/seeds/user-role.seed.ts @@ -8,7 +8,7 @@ export default async function seed(db: db){ const userRolesData: UserRoleRelationInput[] = [ { - user_id: 1, - role_id: 3 + user_id: 2, + role_id: 2 } ] \ No newline at end of file diff --git a/src/routes/complaints.route.ts b/src/routes/complaints.route.ts index 649cd0e..f4eab0c 100644 --- a/src/routes/complaints.route.ts +++ b/src/routes/complaints.route.ts @@ -13,6 +13,7 @@ import { getComplaintByIdRouteDescription, getAllComplaintsRouteDescription } from "../documentation/compliantDescribers" +import { resourceSchema } from "@/db/schema/resource.schema"; const service = Container.get(ComplaintService); @@ -119,6 +120,25 @@ export const complaintsRouter = honoWithJwt() ) } }) +.get('/resources', async (c) => { + try { + const resources = resourceSchema.dto.array().parse( + await service.findResources() + ) + return c.json( resources ) + } catch (e) { + return c.json( + createApexError({ + status: 'error', + message: 'could not find resources', + code: HttpStatus.NOT_FOUND, + path: c.req.routePath, + suggestion: 'check the input and try again', + }), + HttpStatus.NOT_FOUND + ) + } +}) .get('/:id', getComplaintByIdRouteDescription, async (c) => { try { const id = +c.req.param('id') @@ -160,4 +180,4 @@ export const complaintsRouter = honoWithJwt() HttpStatus.NOT_FOUND ) } -}) \ No newline at end of file +}) diff --git a/src/routes/homologation.route.ts b/src/routes/homologation.route.ts index eb50889..71b7c4a 100644 --- a/src/routes/homologation.route.ts +++ b/src/routes/homologation.route.ts @@ -14,6 +14,7 @@ import { getAllHomologationRoute, createHomologationRoute } from "../documentation/homologationDescribers" +import { addObjectTypeNameArray } from "./resource.route"; const serviceHomologation = Container.get(HomologationService) const service = Container.get(SubmissionService); @@ -56,9 +57,9 @@ export const homologationRouter = honoWithJwt() } //rota que pega os com submitted e que nao tem id do usuario atual - const resource = serviceHomologation.findHomologationResource(user); - - return c.json({ resource }) + const resource = await serviceHomologation.findHomologationResource(user); + const resources = await addObjectTypeNameArray(resource) + return c.json(resources) } catch (e) { return c.json( diff --git a/src/routes/user.route.ts b/src/routes/user.route.ts index a84f0ee..89bfb4e 100644 --- a/src/routes/user.route.ts +++ b/src/routes/user.route.ts @@ -1,4 +1,4 @@ -import { userSchemas, type UserProfile } from '@/db/schema/user.schema' +import { userSchemas, type UserModel, type UserProfile } from '@/db/schema/user.schema' import { UserService } from '@/services/user.service' import { Container } from 'typedi' import { z } from 'zod' @@ -25,11 +25,29 @@ import { systemDeleteUserRoute, meUserRoute } from "../documentation/userDescriber" +import type { RoleModel } from '@/db/schema/roles.schema' +import { UserRoleRelationService } from '@/services/user-role.relation.service' const service = Container.get(UserService) const followService = Container.get(FollowRelationService) const userStatsService = Container.get(UserStatsService) const searchService = Container.get(SearchService); +const userRoleService = Container.get(UserRoleRelationService) + +type userWithRoles = UserModel & { + roles: RoleModel[]; +}; + +async function addRolesToUser(user: UserModel): Promise<userWithRoles> { + const roles = await userRoleService.findByUserId(user.id) + if (!roles) { + throw new Error('Object Type not found'); + } + return { + ...user, + roles: roles, + }; +} export const userRouter = honoWithJwt() .get('/me', meUserRoute, @@ -59,8 +77,11 @@ export const userRouter = honoWithJwt() try { const id = +c.req.param('id'); const user = await service.findById(id) - - return c.json(user) + if (!user) { + throw new Error('User not found'); + } + const user_role = await addRolesToUser(user) + return c.json(user_role) } catch (e) { return c.json( createApexError({ diff --git a/src/search/index.ts b/src/search/index.ts index 3269b06..9f4f054 100644 --- a/src/search/index.ts +++ b/src/search/index.ts @@ -6,6 +6,9 @@ import { Container } from 'typedi' export const es = new Client({ node: env.ELASTICSEARCH_URL, Connection: HttpConnection, + tls: { + rejectUnauthorized: false + } }) // Register the Elasticsearch client in the DI container @@ -26,4 +29,4 @@ checkElasticsearchConnection() export type es = typeof es -export default es \ No newline at end of file +export default es diff --git a/src/services/complaints.service.ts b/src/services/complaints.service.ts index 3e7d31a..e5b766e 100644 --- a/src/services/complaints.service.ts +++ b/src/services/complaints.service.ts @@ -1,5 +1,6 @@ import { ComplaintRepo } from "@/db/repo/complaint.repo"; import type { ComplaintInput, ComplaintModel, ComplaintUpdate } from "@/db/schema/complaint.schema"; +import type { ResourceModel } from "@/db/schema/resource.schema"; import { Inject, Service } from "typedi"; @Service() @@ -30,5 +31,9 @@ export class ComplaintService { async findMany(): Promise<ComplaintModel[]> { return this.repo.findMany() } + + async findResources(): Promise<ResourceModel[]> { + return this.repo.findResources() + } } \ No newline at end of file diff --git a/src/services/user-role.relation.service.ts b/src/services/user-role.relation.service.ts index 15cac40..89baca2 100644 --- a/src/services/user-role.relation.service.ts +++ b/src/services/user-role.relation.service.ts @@ -5,6 +5,7 @@ import { type UserRoleRelationUpdate } from "@/db/relations/user-role.relation"; import { UserRoleRepo } from "@/db/repo/user-role.repo"; +import type { RoleModel } from "@/db/schema/roles.schema"; import { Inject, Service } from "typedi"; @Service() @@ -31,8 +32,8 @@ export class UserRoleRelationService { } async findByUserId( - userId: UserRoleRelationModel['user_id'] - ): Promise<UserRoleRelationModel[]>{ + userId: number + ): Promise<RoleModel[]>{ return await this.repo.findByUserId(userId) } -- GitLab