import{s as wt,n as st,r as St,a as At,o as Vt}from"../chunks/t7hwNuoe.js";import{S as Ot,i as Lt,d as i,k as at,q as vt,p as Oe,r as be,s as re,a as Le,b as e,n as Te,l,c as r,e as d,g as p,m as G,f as W,h as n,j as h,t as X,o as Mt,x as _t}from"../chunks/CZxRa0tt.js";import{e as He}from"../chunks/D6YF6ztN.js";const Nt="http://localhost:8000/api/v1";async function Ve(s,t={}){const a=await fetch(`${Nt}${s}`,{...t,headers:{"Content-Type":"application/json",...t.headers}});if(!a.ok)throw new Error(`API Error: ${a.status} ${a.statusText}`);return a.json()}const mt={health:()=>Ve("/health"),estimate:{calculate:s=>Ve("/estimate/calculate",{method:"POST",body:JSON.stringify(s)}),compare:s=>Ve("/estimate/compare",{method:"POST",body:JSON.stringify(s)}),models:()=>Ve("/estimate/models")},privacy:{scanText:s=>Ve("/privacy/scan-text",{method:"POST",body:JSON.stringify({text:s})}),entityTypes:()=>Ve("/privacy/entity-types")},audit:{analyze:s=>{const t=new FormData;return t.append("file",s),fetch(`${Nt}/audit/analyze`,{method:"POST",body:t}).then(a=>a.json())}},drift:{history:()=>Ve("/drift/history"),thresholds:s=>Ve("/drift/thresholds",{method:"PUT",body:JSON.stringify(s)})},costs:{summary:()=>Ve("/costs/summary"),providers:()=>Ve("/costs/providers")},emergency:{status:()=>Ve("/emergency/status"),suspend:(s,t)=>Ve("/emergency/suspend",{method:"POST",body:JSON.stringify({system_id:s,reason:t})}),resume:s=>Ve(`/emergency/resume/${s}`,{method:"POST"})}};function bt(s,t,a){const o=s.slice();return o[33]=t[a],o}function gt(s,t,a){const o=s.slice();return o[33]=t[a],o}function Et(s,t,a){const o=s.slice();return o[38]=t[a][0],o[39]=t[a][1],o}function Ct(s){let t,a,o,u,f,c,v,A,m=s[9].length+"",g,B,U,J,D,T,C=s[8].last_updated+"",M,te,V,O,R=s[10]?"Hide Pricing":"View/Edit Pricing",x,j,K,oe,k=s[8].sources&&yt(s);return{c(){t=n("div"),a=n("div"),o=n("div"),u=n("div"),f=n("div"),c=h(),v=n("span"),A=n("span"),g=X(m),B=X(" models available"),U=h(),J=n("div"),D=X("Last updated: "),T=n("span"),M=X(C),te=h(),V=n("div"),O=n("button"),x=X(R),j=h(),k&&k.c(),this.h()},l(S){t=r(S,"DIV",{class:!0});var N=d(t);a=r(N,"DIV",{class:!0});var b=d(a);o=r(b,"DIV",{class:!0});var w=d(o);u=r(w,"DIV",{class:!0});var P=d(u);f=r(P,"DIV",{class:!0}),d(f).forEach(i),c=p(P),v=r(P,"SPAN",{class:!0});var de=d(v);A=r(de,"SPAN",{class:!0});var z=d(A);g=W(z,m),z.forEach(i),B=W(de," models available"),de.forEach(i),P.forEach(i),U=p(w),J=r(w,"DIV",{class:!0});var F=d(J);D=W(F,"Last updated: "),T=r(F,"SPAN",{class:!0});var Z=d(T);M=W(Z,C),Z.forEach(i),F.forEach(i),w.forEach(i),te=p(b),V=r(b,"DIV",{class:!0});var E=d(V);O=r(E,"BUTTON",{class:!0});var Y=d(O);x=W(Y,R),Y.forEach(i),j=p(E),k&&k.l(E),E.forEach(i),b.forEach(i),N.forEach(i),this.h()},h(){l(f,"class","w-2 h-2 rounded-full bg-green-500 animate-pulse"),l(A,"class","font-semibold"),l(v,"class","text-sm text-surface-600"),l(u,"class","flex items-center gap-2"),l(T,"class","text-surface-600 font-medium"),l(J,"class","text-sm text-surface-400"),l(o,"class","flex items-center gap-6"),l(O,"class","btn-secondary text-sm"),l(V,"class","flex items-center gap-3"),l(a,"class","flex items-center justify-between flex-wrap gap-4"),l(t,"class","card p-3 mb-4")},m(S,N){Le(S,t,N),e(t,a),e(a,o),e(o,u),e(u,f),e(u,c),e(u,v),e(v,A),e(A,g),e(v,B),e(o,U),e(o,J),e(J,D),e(J,T),e(T,M),e(a,te),e(a,V),e(V,O),e(O,x),e(V,j),k&&k.m(V,null),K||(oe=Te(O,"click",s[20]),K=!0)},p(S,N){N[0]&512&&m!==(m=S[9].length+"")&&re(g,m),N[0]&256&&C!==(C=S[8].last_updated+"")&&re(M,C),N[0]&1024&&R!==(R=S[10]?"Hide Pricing":"View/Edit Pricing")&&re(x,R),S[8].sources?k?k.p(S,N):(k=yt(S),k.c(),k.m(V,null)):k&&(k.d(1),k=null)},d(S){S&&i(t),k&&k.d(),K=!1,oe()}}}function yt(s){let t,a=He(Object.entries(s[8].sources)),o=[];for(let u=0;us[27].call(D)),l(g,"class","block"),l(M,"class","label"),l(O,"type","number"),l(O,"min","1"),l(O,"class","input"),l(C,"class","block"),l(j,"class","label"),l(k,"type","number"),l(k,"min","1"),l(k,"class","input"),l(x,"class","block"),l(w,"class","label"),l(z,"type","number"),l(z,"min","1"),l(z,"class","input"),l(b,"class","block"),l(E,"class","label"),l(ve,"type","number"),l(ve,"min","1"),l(ve,"max","31"),l(ve,"class","input"),l(Z,"class","block"),l(N,"class","grid grid-cols-2 gap-4"),ie.disabled=s[6],l(ie,"class","btn-primary w-full text-sm py-2 disabled:opacity-50"),l(m,"class","space-y-2"),l(f,"class","card p-4"),l(Q,"class","text-base font-bold text-surface-800 mb-2"),l(se,"class","card p-4"),l(u,"class","grid grid-cols-1 lg:grid-cols-2 gap-3"),l(t,"class","max-w-6xl mx-auto animate-fade-in")},m(_,H){Le(_,t,H),$&&$.m(t,null),e(t,a),le&&le.m(t,null),e(t,o),e(t,u),e(u,f),e(f,c),e(f,A),e(f,m),e(m,g),e(g,B),e(g,J),e(g,D);for(let q=0;q{await V()});async function V(){try{a(8,B=await mt.estimate.models()),a(9,U=B.models||[])}catch(E){console.error("Failed to load pricing info",E)}}async function O(){a(6,m=!0),a(7,g="");try{a(5,A=await mt.estimate.calculate({model:o,input_tokens_per_request:u,output_tokens_per_request:f,requests_per_day:c,days_per_month:v}))}catch(E){a(7,g=E instanceof Error?E.message:"Failed to calculate")}finally{a(6,m=!1)}}async function R(){if(!D||T<=0||C<=0){alert("Please fill in all fields");return}a(15,te=!0);try{(await fetch("http://localhost:8000/api/v1/estimate/pricing/override",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:D,input:T,output:C,description:M||`Custom price for ${D}`})})).ok&&(await V(),a(11,D=""),a(12,T=0),a(13,C=0),a(14,M=""),alert("Price override saved!"))}catch{alert("Failed to save override")}finally{a(15,te=!1)}}function x(E){a(11,D=E.name),a(12,T=E.input),a(13,C=E.output),a(14,M="")}async function j(E){if(confirm(`Delete override for ${E}?`))try{(await fetch(`http://localhost:8000/api/v1/estimate/pricing/override/${encodeURIComponent(E)}`,{method:"DELETE"})).ok?await V():alert("Failed to delete override")}catch{alert("Failed to delete override")}}const K=()=>a(10,J=!J),oe=E=>x(E),k=E=>j(E.name);function S(){D=this.value,a(11,D)}function N(){T=Oe(this.value),a(12,T)}function b(){C=Oe(this.value),a(13,C)}function w(){M=this.value,a(14,M)}function P(){o=Mt(this),a(0,o),a(9,U)}function de(){u=Oe(this.value),a(1,u)}function z(){f=Oe(this.value),a(2,f)}function F(){c=Oe(this.value),a(3,c)}function Z(){v=Oe(this.value),a(4,v)}return[o,u,f,c,v,A,m,g,B,U,J,D,T,C,M,te,O,R,x,j,K,oe,k,S,N,b,w,P,de,z,F,Z]}class Rt extends Ot{constructor(t){super(),Lt(this,t,Ht,qt,wt,{},null,[-1,-1])}}export{Rt as component};