From 75130a67522584c03ddbb8516f3117911ce3aced Mon Sep 17 00:00:00 2001 From: ytkimirti Date: Thu, 12 Mar 2026 12:01:19 +0300 Subject: [PATCH] fix: support .from() alias on keyword and facet field types in schema editor The schema editor was not supporting .from() on keyword() and facet() field types, causing alias information to be lost on schema reload for those field types. --- bun.lockb | Bin 207124 -> 207106 bytes package.json | 2 +- .../generate-schema-type-definitions.tsx | 34 +++++++++++++++--- .../components/search/schema-parser.ts | 12 +++++-- .../components/search/search-types-file.ts | 2 ++ 5 files changed, 42 insertions(+), 8 deletions(-) diff --git a/bun.lockb b/bun.lockb index 8f40c8c472239630bfc94aad9f0f04f75060ff16..65916bfd7be9806a6c8aa676fd1a9c7a41b2123b 100755 GIT binary patch delta 16802 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 NtKPML-Jzy$`5yvv@nrx2 delta 16859 zcmb7L30zgh{y%f%D#r~`6!5Bm;4a8z5%&wCj60&@n#*MoL6FrIl#96`VbW;hhDy0x z8P9rXnMRf`>zR?gHmx3QW@bf}Wm)~dbLJdSqxaq){mk#qZ+`Qe-!{LQGiT1~w_0v_ ztL5e(zcXsaqlrP6%653?jsG!aP~a-x={*a+4$Mps%2CQAHoUl|EOvC^PfZl1rJ^|3 zxhRST_zmg;u2`I#=U9}aJdAn=)SZBCfQcDN3l;p8H&qmG)UT+D;sKb6dMCgVz_x(B zT@}R-(1Lc+|0yu-4mhm2qWA)qqK@`L=g=04(iMo#fTDq*p&ej0pkO!^&pmsrJx5>nxSDvumo4dllptDsBZ7Bc?F#CO(A|;Uy6u&vli4 z+5;&35e2*mh-?13z|LU-iUQv{1ArF_rR65)Cc>N_0x!np-DE!}pfKP$;04@M9;{)IW2>FJBJ5Y+t@ z1(tOt0ty$61{ALAYv9`f3X}X8t|(mqYXD&lXCb={}NE}vH&7bbw4TiJ271P;}D?m|Ke!bKaJU%dKTV6O?dU< z2-!Q!k+&dlVe;~FP>acTY^0PVBXv<~mLoTJ3-Dr=CdbHr&jE^QQ)1vJQ#ncuppeEs zO47Fl6qm@1Qly#u(K2kZ0L6fhgFwKfF_OV?K+*BPFmhfWD+Rfq&mFrIV3=Xb z{^KRTV!*Zvi)q%@y8u6htldEZnVjtaMP&J~>}H;YdKjT*#+woYGJq!EJkk;M~D6omSG8>pGFLz|5i=gR*b`dPC4LZeuImx-1=}VH8YqMlPe+($R zQv)dYEpX&!E?tD#FNla5h{J>&N1|9A_RN!Xp92a(A{?^)v_bC!?`W8F&S!xT9W#=1Qj$Xy z#T9N|j1vr6%R& zBqu9zs0*RfQ*-ljFoqesM$kKh7D^+Sv6?eK3F9fsku=#a4nAm!{^fweI22IuGv~@s zqy9{WE=7nlb5U|$YDTg$1f~~am4lJ6))qja>;^!=&=lYft84C4I4nm|ko29tfL#Dj zBKHV*B3l}v8Svhy-$Y&b>|+DIZa~+?GLzq*6TSpqh->mW0Q$D5rzbCgeAodj(c9ZP zzmq?lkAgs0_hnYm!ZRvsnbdlnfwdrV#B@x{4b;Qak&}|;$jME<4LYHeIc>YHkV;pw z+bw(wx8zIJ9f_GaVpK;O2E$)gfz0_201BlRU=)!67w4n~rXi4)8ugig!juyL#VErK zcy^Uk?m0kV+6drTajH(K)a^n^n3SBH6_}c^g&j}kCs4e0HM%0H#uWTG9ok^48)>t+B2N>YVAYDveB*Wsq@Pu?JPhs*cJqU z(Ef=>q}DqCMP#mGGA%9u6v9k0U=G@Qq8$)wT94T#Hs8 z)W|leN*3zvQJ(`Ss3rmmAEhKO%3Z!FQAx|qToew8>L8ZbhK$1~-2oA~`n>bnDYqZ* z?~r_}0lmuROgMShfAVdqiWnR{1C-e5COj$;)lA7R%}e#vb9 z6b@XD@+hlD`8Lx6D4E0JP@ZDjQO;$x0n}0rpUhz^{i6w%>TXm`Y{|ar8beMp(w&l4 zY&6PQtPJHr_CCrw=GTL2r{IEN5Q?yxA(5_#q!3h8R=L$q2C>^cC|Sj#dQx(Z6{GZH zH7I8>?_QL=&m6s|=80J+dNg5mUG2f6QNzy1NnkVahje<+Uru6>4b+Og={wJVwP(+? zM|{1s67(5>J_>VmwUe`~s5d2d*m;ym%)JjKPp}z%s70i_!EAP)Xfl{x1NIcN^`%;8 zMDGYOp5E8Ns{2y%0@DJir3E5w47&mP)2tTtmWbmC!Zwzf_%%qk(iWB-M9Fn_66F|1 z`cYEMMx#8(%KA~YwHN!KUku4+e!&!CrK0S`Dp3})+bCaQQ8uczM|4bt04j^?ZYRmC z2DtZtn_4ea5Oai3%PK3ZtPgsM)rC;iy%QT08Uw!-g;L8=Y>LOS@_=Y^i@AqUEgJI| z+deRj3bm6GRuM+Y&+Hn?SMNslJ z%SLHqCs8IdGC;)IXq3ZQ*#K(U;jbu>Z2Z0v%x@sIj0#YcA-afbSmi)U{$RIJ+E~;e zF=Fu`#4l#!7|5mjnoMBcgDH8EIR;bJwFf&gIEIX1bwI6Q1BVC)6%C=5Z+a+7UpBjI zH0j9Phf-}e(uW9;=Jiux532zF8{jc51?z%HW*bJef?jYKFcwC7+7WEkz`0{?iV38M zU?Y=QoSl+mY&*)UtQKV-)+>^de3p&!Id&4|^Nd7MqOmfR@p@UImp4Rd8Q4z*$qSLu zE<9c~rFGHDQgy1g9v#buK#)?K#604V6_3|=vkD-`;6(|$+ z@}OQ`*UMpSIi+M5tESZQ6BL=jR?=uPk;RRomi-ZmGE3AgVm3_He@(`(**eYBEPFJy zcn`$Ft=CsDGKN~-MLmVJ8a0BIjS;f?jinZKu%gV>dpqz;_CC!j(c(G8Xdz2j)HrIn zi25|0TX$A7j%pc05dgZyt0U~>U(7L{S_+UF2C-HM&A+p{@l?Ab>Y#C9WRM-{u4n?) z<|B{F3GC-<$GmWlrKC5Tfij;}psZxqVyUJ?nR&*&zg-)Hn($;3Ci*y8^+c+j22R8V z(x$)NB7TlxzXeB=nQVKUNQ|{8yRu%BDCo0Mo@OUec4K5RCDTxPvdum{^>kaz$|h6o z3NnM>*Q7qy@MJ!PlBp~eom#Rnp@y^4_-M>n+YGARM%@?#eM4C_aG97HattvQj{@P`|Mei++-(FMl$jM)pm|o6p$EByUNOd^TgZ|PE&OU#4^9xR4W5c$lb6$ z)v!w7d&WwcG|6C&xzzG3>Lc{}ZM_~9hw=4# zDJz;sEtgQ2?ViltK`nD9ne9jQ`c2d)==4#{mOw3~lTH4YST*X_DQ5q!{0iPezh49|8Z89ELJkV`JQZVe6Z#|OnVP>245A&Du9#`Z3SX2;wZ7Q5AR3)+dcxbm+|#J5>jR21A2{ap8K6h@B36+` z$q{x9<+seXkXnLgivYTT44cEM7a|~04@MW2*(TY^M=UO#YC&_PP;w>&57AgHuulUk zLb9nY>NhMq1C(=RsHtKOk~BsZQOj}QWQhLA$`(=0Hcy6w44s9{FOzDAffFIxOz(&D z8Q>xvk`6dy8?=H&Wl`<#242+_{f^aSiRITjTWmEP+0=3>0UHFdbi234V_+z_n&x(A zwLTFfiVe)6WGO4kq1vmU5Ftx+Ln54VvBo5!KX59mh6Q%93gA8gPPj#m8NqCMR4YoB z&ThhxkuYtl^TftOTTDqHi(5>!S+IN%`d|e@t}AA>Xt}_8EfMz5M%k8~L^+?4rD8ga zM)?UVTS_&rw0avFdQV|~%c%AY@M3CfhP^A7QOod!*gvrH{?SMiQOl{N2K8XpIXhY- z>32VR98A$v7U;g?uZKGm8olKHm57h{-v0o67E zKU~*Qq^~zw1#m4g>(c;YU@Wt(q*@7ZSWcX+b=l9cYT$kb4l~mkQSaZ+SllYACFbC8 z8hE0o#DB3`;Ckoc6c0ET=9g_JoMjhM@;N(+GKdi;)mG)n3865t9-Luiz;#|Mw;OVA zmBRdrD5+qnD8FZwMTpfU_0tNIsDMSSrrL|ZiRcHPY`f;NR9Zt}75(j&NKs>fSnUg# z<3XyuVYIpkIko1??p~21*}yeo{VG~RwUcNOwr`@xs~2-$OSL>agp2hHi2^D42&-62 zEuR1v$pR-ulYY#$4rzOZw5_zmbF3P;AAk!(KMRXnY9~Ee+M@NJO~fA*#)EN@}FE6g%0% z>d^8U8(1o~h()DT8(Sp%H$3hXGxtqY`v>r1iIK4w9ICMjU?W$XqY2BcVz!4dGk_D; zB>GJJid6&G8&C3L#>$9a#Nswn?Er9CAEC8a=>A}}n<*K|dX*cNBIq_-bS^sQd4ZPYUHuF?UcOCwxj%+)o!QS zRkzJ7ZI{^9 zSMEZ@Z&sA)Ai&-`)=vJ(qRO#5Dq|bVW5{AwQ!cjJ-n+%V#DVfWJG`5^w`4L%nLP_Aq>!2-ST%4NTu!N`dg`cPagR|;=WTd3rT1IPY9FK83#f}75SBHWk}cYH z*q_bb8|_N*Ybe^_bT9Va<2~{GLiSP1-+`VgSXf%_P?SaDm$m}Gum{8@4*7(PXMX#! zn(dTXP{(Q7F1d*7HOmClBJ~-$iA5a{+a*zMVl@Y-_F?&5l%y+j9Hf>9c8is^vu`xn z&FT(P@)a9+h$5R5p-g7yQ66UQhpG0}9+@!+^V==5NX21F(wXguXh*62xK}z8nG;zi z@Obr+mVG17Khb{I;-}vY^e!6N`Kyze7t6b7S69A!qt%ri&EIyeZ*$Adb=@l!pQQzy z*hI_weRM9Z&6Yv6-`>jn?9>ZSJo98#&$Q#M-aTGUeyXa@BbiOf6>iHX?JNOZadO1n z*O7;L5Kg=i1EVlx1aw3o^*i^Y#Zg$7HkEmY47RH4KuOzOP*YI@bCUBktr!7g% z!(t5Ma>q&%OEP%nO45!Tt7?T#MDMk$5WV^#b-GodS0P~&b6k0F5ecy9FNb*47Cf;{ z%yHo-ipVL;nBh3#5$q?6&aGM?ku-qX;VZXnai!&Onmq(u`_$HzZJma0lBKlczBMBc6o6&&9m0Js`4^YqINJ3BNNk8gT&dY3XR>@@?l%Zxp4D5@mu5?A*yII&lYui8aVTu zF>Qk|MHwf9iRC%uh33L6&2(F7htRhr=p#)ce1kvf(*p~)BpjQHKEXjDp+OdjmFs2z#?Z8cx}e|c!5+dJL9UeZvhKi4^z@td29-Yuyyx*<|$Ufm6h zhH`tiKaZj}n)bQh7LD);<=@%VzW2*&5bCm;irml4kmep5e^YvSX96!!b_T!l^J>>_ z2(6Hy&>%#_RDQgt8frB!TSUCjtm^qrvHt*p4FsWzlFvymb)>egwOmSn;jz7-<~n|? zmpWboKjOuGdf!Dem1pz@O(nn3TOCYdxYkGQqs?q9C)Z6rw2vNVcLjhK-`59TU(e5o zrn{XlB2jmIy{%^Tg|SQd*x>;8c=kS5dEM9ZKe|Z{!r!r}G5?G0hnjXZFNHk5+h^IH z^1aK9phLWxw?JApPaf83fzMB}1qN4^@$vm2yP@SKULe3f(Bq^^px)({@n6syWD5x5K|9* zs@5wojaP?2oqL^TsAKr9H;)Ux13%ppkY;$_6Gin5 z{{I@>YwG_L3-&H@&3@5^ocs6U`R^GKZNu9=xftnl>`z9$PbWi}Mu)xE(f@x9|GbRX z2l@Z(p+8OXMx9`2e2<8e%?xPXh`TiY@;GJgr^oeWEeyLb#k@0Dar%ijqdrc4qzyUZ zBj5S{d5iQiS~}~yAWi>?eN+mcOOaFm%q7QHaxrhyT~Etjrw!`A2O~!Wh4jZ}E{tCs zjZli>b%g*Ec`a2#W7GZQi)Yt2!&6#}`}`vh@&GVxFw#SScp>O~vSLJk$I5?i^B_)O z#7?suum#}g`EjXx+Kuq_AakIaQ0@><9HsX0e+>j!b)DwTzizJ_nB2pf<|1VY4;rXE z$16u+h0uj)ZxI+>y7oTer+J}ocx-&^_)>Pdp<4hSFI2e3{l)_5OuVrd*eQ_1c+@-q zLra~rH#x^!ID!0-?-`?d@~|;#C*tIBV}Rm(A%NAqOj!H-g{OLkwc4gTDkKOIt@rV^ znzs;dyC*OFJ?z4Eoghr??~Eb-q=T-GF5)%vUR8^6YLV*yU~fggD)K0xFyX2bi*sKc z@UIY<&K4A6gY6#U$0lG8qHE#NRA7`Y{I>~^w2s>zP(6HYK{%Rf(pOqG_2iI4VNEl> za3R>K>n-hh&1}_!&y7_rR`Ui}_2*@W+IiBS8mI>H!dQflc~dKR_>Q?%P2JQ60`s!h zV~1CzedF5gt%jCtegR#r=4~@q_hEfbkS+ggAmE%#gt$k!6~Jm<4tq)YhIYTEMmEr0 z;;|s;Z(cX+-L@xo|DRSg5SSO!5<1+`+86%FleG0;{9gf%9A?RaopMCa}OTrFJq5jAh zm}A}f+$m~kJM#+UXJ0?p@kQU?YE%-!_fNqVeiW~r0^XDOuK?Cr;Nt~8|Lke4y)mZr z2qsTNP$*a_xx8Pznqs{P0u2Q5^S=J$m(7k_7)T^0JmlTvmGNM7j=wIz9sYT|8md|% zdB>^hIBSPUnFGIyOU$2G(sLEMK{_NN{L8Z42zO;ST^!0)77>b z1i?I3loH-~8Ys8$qeTGaJWkXO@r3|Z^Sz8bL(6~94Bcx*tP3?orumrH2?7;wP(|kd`Ir0!FHPUFUnSS6ynfV{e>_w5 zj%C(< zum+3*#siqgdFc#{YF_>OEuB1_)pf)N=!*0zy0+!jARu4y%L3@N4lanAEbazr!p%#E zPh{GjN&hBsH#*{+Lv%E+=q6+b42^8zHUKS#k&g4(=xR0Z@=oaY(qrDQo%H}ge>vvI zybJ^wOekzMF9pveyDrE4vnOaPy+%*GV(uKOFMn2oMYm3K5ZDUi+PKuK%R3 z#@zlIEr>)RU4I@p3qureIt$(|=J^8n@ME*oBAM&O;)GO+Wc~nVk9m7`(y%xCbn5JW zP)|hqR^lixd;pB}l;`2AqZ&=@dP@So0OIgQ)3Q#`=+dIMT;kT*Fh-+GgHEuF$ATcd z(UhqZG@9%6mQB1|@NP8a>je6`CQe+ggRYZ#mpR0J<<#2eCM7f&151PN9Mvnl(X~(K z)aat2x2)kAb707UeEl4_;uL>=4vv;)a57hYmpseMiqsBW;5T_w7vB$bN`13-!<_Ho zQEU{1M^E!sV(alLcPvmlxL}z!_9AcbS-@M(o4mW%Js*AOx7G)YC_<22K7w`4&J>juo-~g)#z1H%6381Ut zD-)oGd8PWnr;{)C9vFL4$O1YXEnMT331I8bKL@$hydmAZy!L}N%{~nUov;%o?g2hN z5&UlQor&PLXP!Km8G7@@%GcV2F94m$qM-YnUj#w8c~!c1zfpI7p5-A79w7xYZ#|bJ zZK*ulc}@sI!Q zAUKF)JLG)VB;GYybvEL)Rl@S{+S~kvWQ_4We>WLpbmuMRLz_m{9^?U`%}s6xLHJ)g zxo?V0h<7@u@rM##UgSZrOVs}&d8yzX4+4>86R$46(0uRCy9m;FH3+cyUKVs)LFX-U z?YFjn_O1Tg>IOznakmr%+IbLILGVtfv$pg_x~75PGqiL<%hi;E&wqX6;FX3JWdWa) zqIw}iElq*Cc77C`tO*O`mnN@n@9OvR&DvQF^lSOYDX{Y$9=O2tfH#Tb`Jy(99|N$O zx4ys5>$zfJNw@JZezrLd+!@3y=!6{c-8 zo$I!5WN|S(pVtP zTlH%ndcI5MnX4uD3)R@#IzSp)AH_5ve|w?2+B!B%?w+)<1t)*lAMrG}8N^d~b~+@R z%S!;P<_nTH{t+_lAD4$mgAV%$kuVnXGav{zuWZl%=xp)d{&pk;1V%bDFLhT1HrelX z@vNB9MylDtTV;T^d3${F^$z`~E>HbY@2Y$9B##1teCBIkm6f5o5^S>;W}}mNalM0O zM&}8gA3U#;fl?mDpFg<>of@_dfxK2A^bJ>sE||-Iotqc|scJK#C zB&>q2<^}vkw+H?_K5dd!S4KQ&D>L~@bR`RTSspxz1F5CFQXtmx*8!}9668MXOy8X! z43762gO126;z0CK{)ZUT{4ODP+`{;I(W}>jKx{~nkWYT5I=n2-@fATr*^%o2xp|BA`qy}a`>(+OlRGm9!>Qfi7&s1ChXa-Wnpfe;GMJa z3Z@_zxq{n^)Q%z+4O5$6R*bz;j*>34J7SMRob!l`44`7_syIj$4;v#WO#&sPcN{ z%A0Tg{+S`GZGd?5IdLg0EYBVW>4A3tKy64qu5^fpEAvB)^p?*rJ~ryj*T6??1M~>1 zS&FmiTfAZ!&MUD0Z}tvqflXNbGWTB&r(-|598TZBvzNnyoRFfndpb#%RX2wD$w&9s15Td#_m>6t zceVaCK{$_E0U30s_vPzXsPSYY{}3qapB*-#Ogd~9ch5(k`Mi$+x>xk|Ae+z4N7$O* zd^~fz%LkjCyH7wGobX}Or;OuIqKDP|IHbF8hX|j7_zxvP7&zbsjKYO-^1^?E}@arhU-OPy*EZXc*)wdk$VAjU}>WLpV8 znP02WPtr&BuC5aMQ2m56_&*#R%0o}cJz{ctB(>BarTVe4Q%xDe!q6y|3*bKd_hXu{r( z#ZrO#V^MKL`$GK@tvnqy4sGu~&NR&H9sbwHrT@jsp`@Bui{sJv`DFoq=CNx4yf^{i zJ&W)XeFz_1gpk!Ag6fYoj_?Z)g6`hV`l?|fdCY3$%6fwQ)lhx_KeigZjLyc27{z}B z(rSLtSG(bIUgd<>Ty+ELTZ$RnCdRr)LcZ!jU9>W^SeD@Sj+a=bI-9H|PeTn;2xI%u zsES+H;Hc?+UL%w*=hp@B;g+?SY6*MgBg(O)Lv!}c`}MGR-w}?J0!8_PPhP7&OB`HV zr~3FE#g# = { from: TFrom["from"]; } : { type: "DATE" }; } -declare class KeywordFieldBuilder { - [BUILD](): { type: "KEYWORD" }; +declare class KeywordFieldBuilder = { + from: null; +}> { + private _from; + constructor(from?: TFrom); + from(field: string): KeywordFieldBuilder<{ + from: string; + }>; + [BUILD](): TFrom["from"] extends string ? { + type: "KEYWORD"; + from: TFrom["from"]; + } : { type: "KEYWORD" }; } -declare class FacetFieldBuilder { - [BUILD](): { type: "FACET" }; +declare class FacetFieldBuilder = { + from: null; +}> { + private _from; + constructor(from?: TFrom); + from(field: string): FacetFieldBuilder<{ + from: string; + }>; + [BUILD](): TFrom["from"] extends string ? { + type: "FACET"; + from: TFrom["from"]; + } : { type: "FACET" }; } type FieldBuilder = TextFieldBuilder<{ noTokenize: boolean; @@ -138,7 +158,11 @@ type FieldBuilder = TextFieldBuilder<{ fast: boolean; }, { from: string | null; -}> | KeywordFieldBuilder | FacetFieldBuilder; +}> | KeywordFieldBuilder<{ + from: string | null; +}> | FacetFieldBuilder<{ + from: string | null; +}>; declare const s: { string(): TextFieldBuilder; number(type?: T): NumericFieldBuilder; diff --git a/src/components/databrowser/components/search/schema-parser.ts b/src/components/databrowser/components/search/schema-parser.ts index 5d2e946..be51b14 100644 --- a/src/components/databrowser/components/search/schema-parser.ts +++ b/src/components/databrowser/components/search/schema-parser.ts @@ -338,12 +338,20 @@ function parseFieldBuilder(str: string, fieldName: string): FieldValue | undefin // s.keyword() if (str.startsWith("s.keyword()")) { - return "KEYWORD" + const fromValue = extractFromValue(str) + + if (fromValue === undefined) return "KEYWORD" + + return { type: "KEYWORD", from: fromValue } } // s.facet() if (str.startsWith("s.facet()")) { - return "FACET" + const fromValue = extractFromValue(str) + + if (fromValue === undefined) return "FACET" + + return { type: "FACET", from: fromValue } } // Check if it looks like a field builder but is unrecognized diff --git a/src/components/databrowser/components/search/search-types-file.ts b/src/components/databrowser/components/search/search-types-file.ts index 7a489ba..a08c490 100644 --- a/src/components/databrowser/components/search/search-types-file.ts +++ b/src/components/databrowser/components/search/search-types-file.ts @@ -39,10 +39,12 @@ export type DateField = { export type KeywordField = { type: "KEYWORD"; + from?: string; }; export type FacetField = { type: "FACET"; + from?: string; }; export type DetailedField =