import{s as ft,n as Fe,r as Ae,a as pt}from"../chunks/t7hwNuoe.js";import{S as ht,i as _t,d as h,l as r,a as $,b as l,n as se,c as f,e as b,m as Y,g as E,f as S,h as p,j as C,t as L,s as G,o as vt,r as Ue,x as He,v as Oe,w as Re,k as Qe,q as We}from"../chunks/CZxRa0tt.js";import{e as je}from"../chunks/D6YF6ztN.js";function Ye(a,e,t){const s=a.slice();return s[41]=e[t],s}function Xe(a,e,t){const s=a.slice();return s[38]=e[t],s}function Ze(a,e,t){const s=a.slice();return s[44]=e[t],s}function bt(a){let e,t,s="Compare two files directly without storing a baseline.",u,c,o,n,i,v,d='1',k,N,U=(a[7]||"Upload baseline file")+"",D,w,T,I,A,P,B,O='2',x,g,m=(a[9]||"Upload production file")+"",_,K,R,Q=a[10]?"Comparing...":"Compare Files",oe,X,J,ae;return{c(){e=p("div"),t=p("p"),t.textContent=s,u=C(),c=p("div"),o=p("input"),n=C(),i=p("label"),v=p("div"),v.innerHTML=d,k=C(),N=p("p"),D=L(U),w=C(),T=p("div"),I=p("input"),A=C(),P=p("label"),B=p("div"),B.innerHTML=O,x=C(),g=p("p"),_=L(m),K=C(),R=p("button"),oe=L(Q),this.h()},l(z){e=f(z,"DIV",{class:!0});var F=b(e);t=f(F,"P",{class:!0,"data-svelte-h":!0}),Y(t)!=="svelte-r383zk"&&(t.textContent=s),u=E(F),c=f(F,"DIV",{class:!0,role:!0,tabindex:!0});var ne=b(c);o=f(ne,"INPUT",{type:!0,accept:!0,class:!0,id:!0}),n=E(ne),i=f(ne,"LABEL",{for:!0,class:!0});var ee=b(i);v=f(ee,"DIV",{class:!0,"data-svelte-h":!0}),Y(v)!=="svelte-1kabe27"&&(v.innerHTML=d),k=E(ee),N=f(ee,"P",{class:!0});var te=b(N);D=S(te,U),te.forEach(h),ee.forEach(h),ne.forEach(h),w=E(F),T=f(F,"DIV",{class:!0,role:!0,tabindex:!0});var H=b(T);I=f(H,"INPUT",{type:!0,accept:!0,class:!0,id:!0}),A=E(H),P=f(H,"LABEL",{for:!0,class:!0});var j=b(P);B=f(j,"DIV",{class:!0,"data-svelte-h":!0}),Y(B)!=="svelte-dxffse"&&(B.innerHTML=O),x=E(j),g=f(j,"P",{class:!0});var Z=b(g);_=S(Z,m),Z.forEach(h),j.forEach(h),H.forEach(h),K=E(F),R=f(F,"BUTTON",{class:!0});var y=b(R);oe=S(y,Q),y.forEach(h),F.forEach(h),this.h()},h(){r(t,"class","text-xs text-surface-600"),r(o,"type","file"),r(o,"accept",".csv,.json"),r(o,"class","hidden"),r(o,"id","compare-baseline-input"),r(v,"class","w-8 h-8 rounded-lg bg-blue-100 flex items-center justify-center mx-auto mb-2"),r(N,"class","text-xs text-surface-600"),r(i,"for","compare-baseline-input"),r(i,"class","cursor-pointer"),r(c,"class","border-2 border-dashed border-surface-300 rounded-xl p-4 text-center hover:border-blue-400 transition-colors cursor-pointer"),r(c,"role","button"),r(c,"tabindex","0"),r(I,"type","file"),r(I,"accept",".csv,.json"),r(I,"class","hidden"),r(I,"id","compare-production-input"),r(B,"class","w-8 h-8 rounded-lg bg-orange-100 flex items-center justify-center mx-auto mb-2"),r(g,"class","text-xs text-surface-600"),r(P,"for","compare-production-input"),r(P,"class","cursor-pointer"),r(T,"class","border-2 border-dashed border-surface-300 rounded-xl p-4 text-center hover:border-orange-400 transition-colors cursor-pointer"),r(T,"role","button"),r(T,"tabindex","0"),R.disabled=X=a[10]||!a[6]||!a[8],r(R,"class","btn-primary w-full disabled:opacity-50"),r(e,"class","space-y-4")},m(z,F){$(z,e,F),l(e,t),l(e,u),l(e,c),l(c,o),l(c,n),l(c,i),l(i,v),l(i,k),l(i,N),l(N,D),l(e,w),l(e,T),l(T,I),l(T,A),l(T,P),l(P,B),l(P,x),l(P,g),l(g,_),l(e,K),l(e,R),l(R,oe),J||(ae=[se(o,"change",a[20]),se(c,"drop",a[33]),se(c,"dragover",qe),se(I,"change",a[21]),se(T,"drop",a[34]),se(T,"dragover",qe),se(R,"click",a[25])],J=!0)},p(z,F){F[0]&128&&U!==(U=(z[7]||"Upload baseline file")+"")&&G(D,U),F[0]&512&&m!==(m=(z[9]||"Upload production file")+"")&&G(_,m),F[0]&1024&&Q!==(Q=z[10]?"Comparing...":"Compare Files")&&G(oe,Q),F[0]&1344&&X!==(X=z[10]||!z[6]||!z[8])&&(R.disabled=X)},d(z){z&&h(e),J=!1,Ae(ae)}}}function mt(a){let e,t,s,u="Select Baseline",c,o,n,i,v,d,k='

Upload production data

CSV or JSON files

',N,U,D,w=a[10]?"Analyzing...":"Analyze Drift",T,I,A,P;function B(m,_){return m[12].length>0?yt:xt}let O=B(a),x=O(a),g=a[5]&&et(a);return{c(){e=p("div"),t=p("div"),s=p("label"),s.textContent=u,c=C(),x.c(),o=C(),n=p("div"),i=p("input"),v=C(),d=p("label"),d.innerHTML=k,N=C(),g&&g.c(),U=C(),D=p("button"),T=L(w),this.h()},l(m){e=f(m,"DIV",{class:!0});var _=b(e);t=f(_,"DIV",{});var K=b(t);s=f(K,"LABEL",{class:!0,"data-svelte-h":!0}),Y(s)!=="svelte-1q6le54"&&(s.textContent=u),c=E(K),x.l(K),K.forEach(h),o=E(_),n=f(_,"DIV",{class:!0,role:!0,tabindex:!0});var R=b(n);i=f(R,"INPUT",{type:!0,accept:!0,class:!0,id:!0}),v=E(R),d=f(R,"LABEL",{for:!0,class:!0,"data-svelte-h":!0}),Y(d)!=="svelte-kwngdj"&&(d.innerHTML=k),R.forEach(h),N=E(_),g&&g.l(_),U=E(_),D=f(_,"BUTTON",{class:!0});var Q=b(D);T=S(Q,w),Q.forEach(h),_.forEach(h),this.h()},h(){r(s,"class","label"),r(i,"type","file"),r(i,"accept",".csv,.json"),r(i,"class","hidden"),r(i,"id","production-input"),r(d,"for","production-input"),r(d,"class","cursor-pointer"),r(n,"class","border-2 border-dashed border-surface-300 rounded-xl p-6 text-center hover:border-primary-400 transition-colors cursor-pointer"),r(n,"role","button"),r(n,"tabindex","0"),D.disabled=I=a[10]||!a[4]||!a[13],r(D,"class","btn-primary w-full disabled:opacity-50"),r(e,"class","space-y-4")},m(m,_){$(m,e,_),l(e,t),l(t,s),l(t,c),x.m(t,null),l(e,o),l(e,n),l(n,i),l(n,v),l(n,d),l(e,N),g&&g.m(e,null),l(e,U),l(e,D),l(D,T),A||(P=[se(i,"change",a[19]),se(n,"drop",a[32]),se(n,"dragover",qe),se(D,"click",a[24])],A=!0)},p(m,_){O===(O=B(m))&&x?x.p(m,_):(x.d(1),x=O(m),x&&(x.c(),x.m(t,null))),m[5]?g?g.p(m,_):(g=et(m),g.c(),g.m(e,U)):g&&(g.d(1),g=null),_[0]&1024&&w!==(w=m[10]?"Analyzing...":"Analyze Drift")&&G(T,w),_[0]&13328&&I!==(I=m[10]||!m[4]||!m[13])&&(D.disabled=I)},d(m){m&&h(e),x.d(),g&&g.d(),A=!1,Ae(P)}}}function gt(a){let e,t,s,u="Baseline Name (optional)",c,o,n,i,v,d,k,N='

Upload baseline dataset

CSV or JSON files

',U,D,w,T=a[10]?"Uploading...":"Upload Baseline",I,A,P,B,O,x=a[2]&&tt(a),g=a[15]&<(a);return{c(){e=p("div"),t=p("div"),s=p("label"),s.textContent=u,c=C(),o=p("input"),n=C(),i=p("div"),v=p("input"),d=C(),k=p("label"),k.innerHTML=N,U=C(),x&&x.c(),D=C(),w=p("button"),I=L(T),P=C(),g&&g.c(),this.h()},l(m){e=f(m,"DIV",{class:!0});var _=b(e);t=f(_,"DIV",{});var K=b(t);s=f(K,"LABEL",{class:!0,"data-svelte-h":!0}),Y(s)!=="svelte-1tvwlj4"&&(s.textContent=u),c=E(K),o=f(K,"INPUT",{type:!0,placeholder:!0,class:!0}),K.forEach(h),n=E(_),i=f(_,"DIV",{class:!0,role:!0,tabindex:!0});var R=b(i);v=f(R,"INPUT",{type:!0,accept:!0,class:!0,id:!0}),d=E(R),k=f(R,"LABEL",{for:!0,class:!0,"data-svelte-h":!0}),Y(k)!=="svelte-9rlcao"&&(k.innerHTML=N),R.forEach(h),U=E(_),x&&x.l(_),D=E(_),w=f(_,"BUTTON",{class:!0});var Q=b(w);I=S(Q,T),Q.forEach(h),P=E(_),g&&g.l(_),_.forEach(h),this.h()},h(){r(s,"class","label"),r(o,"type","text"),r(o,"placeholder","e.g., Training Data v1.0"),r(o,"class","input"),r(v,"type","file"),r(v,"accept",".csv,.json"),r(v,"class","hidden"),r(v,"id","baseline-input"),r(k,"for","baseline-input"),r(k,"class","cursor-pointer"),r(i,"class","border-2 border-dashed border-surface-300 rounded-xl p-6 text-center hover:border-primary-400 transition-colors cursor-pointer"),r(i,"role","button"),r(i,"tabindex","0"),w.disabled=A=a[10]||!a[1],r(w,"class","btn-primary w-full disabled:opacity-50"),r(e,"class","space-y-4")},m(m,_){$(m,e,_),l(e,t),l(t,s),l(t,c),l(t,o),Ue(o,a[3]),l(e,n),l(e,i),l(i,v),l(i,d),l(i,k),l(e,U),x&&x.m(e,null),l(e,D),l(e,w),l(w,I),l(e,P),g&&g.m(e,null),B||(O=[se(o,"input",a[29]),se(v,"change",a[18]),se(i,"drop",a[30]),se(i,"dragover",qe),se(w,"click",a[23])],B=!0)},p(m,_){_[0]&8&&o.value!==m[3]&&Ue(o,m[3]),m[2]?x?x.p(m,_):(x=tt(m),x.c(),x.m(e,D)):x&&(x.d(1),x=null),_[0]&1024&&T!==(T=m[10]?"Uploading...":"Upload Baseline")&&G(I,T),_[0]&1026&&A!==(A=m[10]||!m[1])&&(w.disabled=A),m[15]?g?g.p(m,_):(g=lt(m),g.c(),g.m(e,null)):g&&(g.d(1),g=null)},d(m){m&&h(e),x&&x.d(),g&&g.d(),B=!1,Ae(O)}}}function xt(a){let e,t='

No baselines found. Upload one first.

';return{c(){e=p("div"),e.innerHTML=t,this.h()},l(s){e=f(s,"DIV",{class:!0,"data-svelte-h":!0}),Y(e)!=="svelte-1221l1w"&&(e.innerHTML=t),this.h()},h(){r(e,"class","p-3 bg-yellow-50 rounded-lg border border-yellow-200")},m(s,u){$(s,e,u)},p:Fe,d(s){s&&h(e)}}}function yt(a){let e,t,s="Choose a baseline...",u,c,o=je(a[12]),n=[];for(let i=0;ia[31].call(e))},m(i,v){$(i,e,v),l(e,t);for(let d=0;d0?Tt:It}let s=t(a),u=s(a);return{c(){e=p("div"),u.c(),this.h()},l(c){e=f(c,"DIV",{class:!0});var o=b(e);u.l(o),o.forEach(h),this.h()},h(){r(e,"class","space-y-2")},m(c,o){$(c,e,o),u.m(e,null)},p(c,o){s===(s=t(c))&&u?u.p(c,o):(u.d(1),u=s(c),u&&(u.c(),u.m(e,null)))},d(c){c&&h(e),u.d()}}}function Ct(a){let e;function t(c,o){return c[14].feature_scores&&c[14].feature_scores.length>0?Vt:Pt}let s=t(a),u=s(a);return{c(){e=p("div"),u.c(),this.h()},l(c){e=f(c,"DIV",{class:!0});var o=b(e);u.l(o),o.forEach(h),this.h()},h(){r(e,"class","overflow-x-auto")},m(c,o){$(c,e,o),u.m(e,null)},p(c,o){s===(s=t(c))&&u?u.p(c,o):(u.d(1),u=s(c),u&&(u.c(),u.m(e,null)))},d(c){c&&h(e),u.d()}}}function Dt(a){var ke,ie,Me,q;let e,t,s,u="Drift Summary",c,o,n,i,v=(((ke=a[14].feature_scores)==null?void 0:ke.filter(it).length)||0)+"",d,k,N,U="Severe",D,w,T,I=(((ie=a[14].feature_scores)==null?void 0:ie.filter(ct).length)||0)+"",A,P,B,O="Moderate",x,g,m,_=(((Me=a[14].feature_scores)==null?void 0:Me.filter(ut).length)||0)+"",K,R,Q,oe="Minor",X,J,ae,z=(((q=a[14].feature_scores)==null?void 0:q.filter(dt).length)||0)+"",F,ne,ee,te="Stable",H,j,Z,y="Analysis Method",V,re,W=a[14].method+"",he,de,fe,Le="

PSI (Population Stability Index): Measures distribution shift. PSI > 0.2 indicates significant drift.

KS Test: Kolmogorov-Smirnov test for distribution difference. p-value < 0.05 indicates drift.

",De,pe,ce,Te,_e=a[14].engine+"",ye,ve,be,Ie=a[14].timestamp+"",Pe;return{c(){e=p("div"),t=p("div"),s=p("h3"),s.textContent=u,c=C(),o=p("div"),n=p("div"),i=p("p"),d=L(v),k=C(),N=p("p"),N.textContent=U,D=C(),w=p("div"),T=p("p"),A=L(I),P=C(),B=p("p"),B.textContent=O,x=C(),g=p("div"),m=p("p"),K=L(_),R=C(),Q=p("p"),Q.textContent=oe,X=C(),J=p("div"),ae=p("p"),F=L(z),ne=C(),ee=p("p"),ee.textContent=te,H=C(),j=p("div"),Z=p("h3"),Z.textContent=y,V=C(),re=p("p"),he=L(W),de=C(),fe=p("div"),fe.innerHTML=Le,De=C(),pe=p("div"),ce=p("span"),Te=L("Engine: "),ye=L(_e),ve=C(),be=p("span"),Pe=L(Ie),this.h()},l(M){e=f(M,"DIV",{class:!0});var le=b(e);t=f(le,"DIV",{class:!0});var me=b(t);s=f(me,"H3",{class:!0,"data-svelte-h":!0}),Y(s)!=="svelte-13aaref"&&(s.textContent=u),c=E(me),o=f(me,"DIV",{class:!0});var ue=b(o);n=f(ue,"DIV",{class:!0});var ge=b(n);i=f(ge,"P",{class:!0});var xe=b(i);d=S(xe,v),xe.forEach(h),k=E(ge),N=f(ge,"P",{class:!0,"data-svelte-h":!0}),Y(N)!=="svelte-pz5txe"&&(N.textContent=U),ge.forEach(h),D=E(ue),w=f(ue,"DIV",{class:!0});var we=b(w);T=f(we,"P",{class:!0});var Ve=b(T);A=S(Ve,I),Ve.forEach(h),P=E(we),B=f(we,"P",{class:!0,"data-svelte-h":!0}),Y(B)!=="svelte-b4yvma"&&(B.textContent=O),we.forEach(h),x=E(ue),g=f(ue,"DIV",{class:!0});var Ne=b(g);m=f(Ne,"P",{class:!0});var Ee=b(m);K=S(Ee,_),Ee.forEach(h),R=E(Ne),Q=f(Ne,"P",{class:!0,"data-svelte-h":!0}),Y(Q)!=="svelte-g0xd2u"&&(Q.textContent=oe),Ne.forEach(h),X=E(ue),J=f(ue,"DIV",{class:!0});var Be=b(J);ae=f(Be,"P",{class:!0});var Se=b(ae);F=S(Se,z),Se.forEach(h),ne=E(Be),ee=f(Be,"P",{class:!0,"data-svelte-h":!0}),Y(ee)!=="svelte-8e854h"&&(ee.textContent=te),Be.forEach(h),ue.forEach(h),me.forEach(h),H=E(le),j=f(le,"DIV",{class:!0});var Ce=b(j);Z=f(Ce,"H3",{class:!0,"data-svelte-h":!0}),Y(Z)!=="svelte-letybc"&&(Z.textContent=y),V=E(Ce),re=f(Ce,"P",{class:!0});var Ge=b(re);he=S(Ge,W),Ge.forEach(h),de=E(Ce),fe=f(Ce,"DIV",{class:!0,"data-svelte-h":!0}),Y(fe)!=="svelte-1jjmhyj"&&(fe.innerHTML=Le),Ce.forEach(h),De=E(le),pe=f(le,"DIV",{class:!0});var ze=b(pe);ce=f(ze,"SPAN",{class:!0});var Ke=b(ce);Te=S(Ke,"Engine: "),ye=S(Ke,_e),Ke.forEach(h),ve=E(ze),be=f(ze,"SPAN",{class:!0});var Je=b(be);Pe=S(Je,Ie),Je.forEach(h),ze.forEach(h),le.forEach(h),this.h()},h(){r(s,"class","text-sm font-semibold text-surface-700 mb-3"),r(i,"class","text-lg font-bold text-red-600"),r(N,"class","text-xs text-red-600"),r(n,"class","text-center p-2 rounded-lg bg-red-50 border border-red-100"),r(T,"class","text-lg font-bold text-orange-600"),r(B,"class","text-xs text-orange-600"),r(w,"class","text-center p-2 rounded-lg bg-orange-50 border border-orange-100"),r(m,"class","text-lg font-bold text-yellow-600"),r(Q,"class","text-xs text-yellow-600"),r(g,"class","text-center p-2 rounded-lg bg-yellow-50 border border-yellow-100"),r(ae,"class","text-lg font-bold text-green-600"),r(ee,"class","text-xs text-green-600"),r(J,"class","text-center p-2 rounded-lg bg-green-50 border border-green-100"),r(o,"class","grid grid-cols-4 gap-2"),r(t,"class","bg-surface-50 rounded-lg p-4 border border-surface-100"),r(Z,"class","text-sm font-semibold text-blue-800 mb-2"),r(re,"class","text-sm text-blue-700"),r(fe,"class","mt-2 text-xs text-blue-600 space-y-1"),r(j,"class","bg-blue-50 rounded-lg p-4 border border-blue-200"),r(ce,"class","text-xs px-2 py-1 bg-purple-100 text-purple-700 rounded"),r(be,"class","text-xs text-surface-500"),r(pe,"class","flex items-center gap-2"),r(e,"class","space-y-3")},m(M,le){$(M,e,le),l(e,t),l(t,s),l(t,c),l(t,o),l(o,n),l(n,i),l(i,d),l(n,k),l(n,N),l(o,D),l(o,w),l(w,T),l(T,A),l(w,P),l(w,B),l(o,x),l(o,g),l(g,m),l(m,K),l(g,R),l(g,Q),l(o,X),l(o,J),l(J,ae),l(ae,F),l(J,ne),l(J,ee),l(e,H),l(e,j),l(j,Z),l(j,V),l(j,re),l(re,he),l(j,de),l(j,fe),l(e,De),l(e,pe),l(pe,ce),l(ce,Te),l(ce,ye),l(pe,ve),l(pe,be),l(be,Pe)},p(M,le){var me,ue,ge,xe;le[0]&16384&&v!==(v=(((me=M[14].feature_scores)==null?void 0:me.filter(it).length)||0)+"")&&G(d,v),le[0]&16384&&I!==(I=(((ue=M[14].feature_scores)==null?void 0:ue.filter(ct).length)||0)+"")&&G(A,I),le[0]&16384&&_!==(_=(((ge=M[14].feature_scores)==null?void 0:ge.filter(ut).length)||0)+"")&&G(K,_),le[0]&16384&&z!==(z=(((xe=M[14].feature_scores)==null?void 0:xe.filter(dt).length)||0)+"")&&G(F,z),le[0]&16384&&W!==(W=M[14].method+"")&&G(he,W),le[0]&16384&&_e!==(_e=M[14].engine+"")&&G(ye,_e),le[0]&16384&&Ie!==(Ie=M[14].timestamp+"")&&G(Pe,Ie)},d(M){M&&h(e)}}}function It(a){let e,t="No recommendations available";return{c(){e=p("div"),e.textContent=t,this.h()},l(s){e=f(s,"DIV",{class:!0,"data-svelte-h":!0}),Y(e)!=="svelte-jts0to"&&(e.textContent=t),this.h()},h(){r(e,"class","text-center py-8 text-surface-500")},m(s,u){$(s,e,u)},p:Fe,d(s){s&&h(e)}}}function Tt(a){let e,t=je(a[14].recommendations),s=[];for(let u=0;ua.drift_type==="severe",ct=a=>a.drift_type==="moderate",ut=a=>a.drift_type==="minor",dt=a=>a.drift_type==="none";function Bt(a,e,t){let s="upload-baseline",u=null,c="",o="",n=null,i="",v=null,d="",k=null,N="",U=!1,D="",w=[],T="",I=null,A=null,P="overview";async function B(){try{const y=await fetch("http://localhost:8000/api/v1/drift/baselines");if(y.ok){const V=await y.json();t(12,w=V.baselines||[])}}catch(y){console.error("Failed to load baselines:",y)}}function O(y){const V=y.target;V.files&&V.files[0]&&(t(1,u=V.files[0]),t(2,c=u.name),t(15,A=null),t(11,D=""))}function x(y){const V=y.target;V.files&&V.files[0]&&(t(4,n=V.files[0]),t(5,i=n.name),t(14,I=null),t(11,D=""))}function g(y){const V=y.target;V.files&&V.files[0]&&(t(6,v=V.files[0]),t(7,d=v.name),t(14,I=null),t(11,D=""))}function m(y){const V=y.target;V.files&&V.files[0]&&(t(8,k=V.files[0]),t(9,N=k.name),t(14,I=null),t(11,D=""))}function _(y,V){var re;if(y.preventDefault(),(re=y.dataTransfer)!=null&&re.files&&y.dataTransfer.files[0]){const W=y.dataTransfer.files[0];V==="baseline"?(t(1,u=W),t(2,c=W.name)):V==="production"?(t(4,n=W),t(5,i=W.name)):V==="compare-baseline"?(t(6,v=W),t(7,d=W.name)):V==="compare-production"&&(t(8,k=W),t(9,N=W.name)),t(14,I=null),t(11,D="")}}async function K(){if(!u){t(11,D="Please select a baseline file");return}t(10,U=!0),t(11,D=""),t(15,A=null);try{const y=new FormData;y.append("file",u),o&&y.append("name",o);const V=await fetch("http://localhost:8000/api/v1/drift/baseline",{method:"POST",body:y});if(!V.ok){const re=await V.json();throw new Error(re.detail||"Upload failed")}t(15,A=await V.json()),B()}catch(y){t(11,D=y instanceof Error?y.message:"Failed to upload baseline")}finally{t(10,U=!1)}}async function R(){if(!n){t(11,D="Please select a production file");return}if(!T){t(11,D="Please select a baseline for comparison");return}t(10,U=!0),t(11,D=""),t(14,I=null);try{const y=new FormData;y.append("production_file",n),y.append("baseline_id",T);const V=await fetch("http://localhost:8000/api/v1/drift/analyze",{method:"POST",body:y});if(!V.ok){const re=await V.json();throw new Error(re.detail||"Analysis failed")}t(14,I=await V.json())}catch(y){t(11,D=y instanceof Error?y.message:"Failed to analyze drift")}finally{t(10,U=!1)}}async function Q(){if(!v||!k){t(11,D="Please select both baseline and production files");return}t(10,U=!0),t(11,D=""),t(14,I=null);try{const y=new FormData;y.append("baseline_file",v),y.append("production_file",k);const V=await fetch("http://localhost:8000/api/v1/drift/compare-files",{method:"POST",body:y});if(!V.ok){const re=await V.json();throw new Error(re.detail||"Comparison failed")}t(14,I=await V.json())}catch(y){t(11,D=y instanceof Error?y.message:"Failed to compare files")}finally{t(10,U=!1)}}const oe=()=>{t(0,s="upload-baseline"),t(14,I=null)},X=()=>{t(0,s="analyze"),t(14,I=null),B()},J=()=>{t(0,s="compare"),t(14,I=null)};function ae(){o=this.value,t(3,o)}const z=y=>_(y,"baseline");function F(){T=vt(this),t(13,T),t(12,w)}const ne=y=>_(y,"production"),ee=y=>_(y,"compare-baseline"),te=y=>_(y,"compare-production"),H=()=>t(16,P="overview"),j=()=>t(16,P="features"),Z=()=>t(16,P="recommendations");return a.$$.update=()=>{a.$$.dirty[0]&1&&s==="analyze"&&B()},[s,u,c,o,n,i,v,d,k,N,U,D,w,T,I,A,P,B,O,x,g,m,_,K,R,Q,oe,X,J,ae,z,F,ne,ee,te,H,j,Z]}class jt extends ht{constructor(e){super(),_t(this,e,Bt,Nt,ft,{},null,[-1,-1])}}export{jt as component};