From da88fe1aa6bd7cbf1287a2dd6a08aaf22b7a9616 Mon Sep 17 00:00:00 2001 From: mikemikimike <13286568797@163.com> Date: Sat, 22 Aug 2026 22:34:13 +0800 Subject: [PATCH 01/12] feat(auditlog): add field-specific audit filters --- .../{index-DGTME5kj.js => index-CAvndJpu.js} | 10 +++--- ...{index-BBUuyK53.css => index-CE3xLF5q.css} | 2 +- .../admin/dashboard/static/dist/index.html | 32 +++++++++---------- .../src/pages/audit-logs/AuditFilters.svelte | 31 ++++++++++++++---- .../src/pages/audit-logs/audit-logic.js | 14 ++++++++ .../src/pages/audit-logs/auditList.svelte.js | 9 ++++++ .../src/pages/audit-logs/live-logs-logic.js | 2 +- .../src/pages/audit-logs/liveLogs.svelte.js | 2 ++ web/dashboard/tests/audit-list.test.js | 6 ++++ 9 files changed, 79 insertions(+), 29 deletions(-) rename internal/admin/dashboard/static/dist/assets/{index-DGTME5kj.js => index-CAvndJpu.js} (95%) rename internal/admin/dashboard/static/dist/assets/{index-BBUuyK53.css => index-CE3xLF5q.css} (76%) diff --git a/internal/admin/dashboard/static/dist/assets/index-DGTME5kj.js b/internal/admin/dashboard/static/dist/assets/index-CAvndJpu.js similarity index 95% rename from internal/admin/dashboard/static/dist/assets/index-DGTME5kj.js rename to internal/admin/dashboard/static/dist/assets/index-CAvndJpu.js index d59f4c1d1..0243c6b1e 100644 --- a/internal/admin/dashboard/static/dist/assets/index-DGTME5kj.js +++ b/internal/admin/dashboard/static/dist/assets/index-CAvndJpu.js @@ -9,7 +9,7 @@ `)}function d4(e){let t=e&&e.request_health;return t&&typeof t==`object`?t:null}function f4(e){let t=d4(e);return t?String(t.circuit_state||``).trim():``}function FLe(e){let t=f4(e);return t?t.charAt(0).toUpperCase()+t.slice(1):``}function ILe(e){let t=f4(e);return t===`open`?`is-unhealthy`:t===`half-open`?`is-degraded`:`is-healthy`}function LLe(e){let t=d4(e);if(!t)return``;let n=Number(t.requests||0),r=Number(t.errors||0),i=Math.round(Number(t.window_seconds||0)/60),a=i>0?`last `+i+` min`:`recent`;return String(n)+` request`+(n===1?``:`s`)+` · `+String(r)+` error`+(r===1?``:`s`)+` (`+a+`)`}function p4(e){let t=d4(e);return t&&Array.isArray(t.models)?t.models:[]}function RLe(e){return e?String(Number(e.errors||0))+`/`+String(Number(e.requests||0))+` failed`:``}function zLe(e){let t=e&&e.last_error;return!t||!t.message?``:(t.status_code?`HTTP `+String(t.status_code)+`: `:``)+t.message}function m4(){return{name:``,slug:``,url:``,transport:`http`,description:``,enabled:!0,headers:[],allowed_tools:``,disallowed_tools:``,user_paths:``,tool_timeout_seconds:``}}function h4(){return{server:``,status:``,instructions:``,tools:[],prompts:[],resources:[],templates:[]}}function g4(e){return String(e&&(e.slug||e.name)||``).trim()}function _4(e){return String(e&&e.status||``).trim()||`connecting`}function BLe(e){let t={connected:sOe,degraded:uOe,connecting:pOe,disabled:gOe},n=_4(e);return t[n]?.()||n}function v4(e){switch(_4(e)){case`connected`:return`status-success`;case`degraded`:return String(e&&e.last_error||``).trim()?`status-error`:`status-warning`;case`connecting`:return`status-neutral`;default:return`status-unknown`}}function VLe(e,t){let n=_4(e),r=String(e&&e.last_error||``).trim();return r&&n!==`connected`?r:n===`connected`&&e&&e.connected_at?LU({date:(typeof t==`function`?t:String)(e.connected_at)}):``}function y4(e){return String(e&&e.transport||``)===`stdio`?BU():String(e&&e.url||``).trim()||`—`}function HLe(e){return UU({prompts:Number(e&&e.prompt_count||0),resources:Number(e&&e.resource_count||0)})}function b4(e){let t=String(e||``).normalize(`NFKD`).toLowerCase(),n=t.replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64).replace(/-+$/g,``);if(n)return n;let r=2166136261;for(let e of t)r=Math.imul((r^e.codePointAt(0))>>>0,16777619)>>>0;return`mcp-`+r.toString(16).padStart(8,`0`)}function ULe(e){return String(e||``).split(` `).map(e=>e.trim()).filter(e=>e)}function WLe(e){return!e||typeof e!=`object`||Array.isArray(e)?[]:Object.keys(e).sort().map(t=>({name:t,value:String(e[t]||``)}))}function GLe(e){let t={};return(Array.isArray(e)?e:[]).forEach(e=>{let n=String(e&&e.name||``).trim();n&&(t[n]=String(e&&e.value||``))}),t}function KLe(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.slug,e.url,e.transport,e.description,e.status].some(e=>String(e||``).toLowerCase().includes(r)))}function qLe(e){return{name:String(e.name||``).trim(),slug:g4(e),url:String(e.url||``).trim(),transport:e.transport===`sse`?`sse`:`http`,description:String(e.description||``).trim(),enabled:e.enabled!==!1,headers:WLe(e.headers),allowed_tools:(Array.isArray(e.allowed_tools)?e.allowed_tools:[]).join(`, `),disallowed_tools:(Array.isArray(e.disallowed_tools)?e.disallowed_tools:[]).join(`, `),user_paths:(Array.isArray(e.user_paths)?e.user_paths:[]).join(` -`),tool_timeout_seconds:e.tool_timeout_seconds?String(e.tool_timeout_seconds):``}}function JLe(e,t,n){let r=String(e.name||``).trim(),i=String(e.slug||b4(r)).trim().toLowerCase(),a=String(e.url||``).trim(),o=e.transport===`sse`?`sse`:`http`;if(!r)return{error:KU()};if(!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(i))return{error:YU()};if(t===`create`&&(n||[]).some(e=>g4(e)===i))return{error:QU({slug:i})};if(!a)return{error:tW()};let s,c=String(e.tool_timeout_seconds||``).trim();if(c!==``){let e=Number(c);if(!Number.isSafeInteger(e)||e<0)return{error:iW()};s=e}return{payload:{name:r,slug:i,url:a,transport:o,headers:GLe(e.headers),description:String(e.description||``).trim(),enabled:!!e.enabled,allowed_tools:VX(e.allowed_tools),disallowed_tools:VX(e.disallowed_tools),user_paths:ULe(e.user_paths),tool_timeout_seconds:s}}}function YLe(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>(Array.isArray(e)?e:[]).filter(e=>e&&typeof e==`object`);return{server:String(n.server||e||``).trim(),status:String(n.status||``).trim(),instructions:String(n.instructions||``).trim(),tools:r(n.tools),prompts:r(n.prompts),resources:r(n.resources),templates:r(n.templates)}}function XLe(e,t){return String(e&&e.server||``)+`_`+String(t||``)}function x4(e){let t=e||h4(),n=(e,t)=>{let n=String(e||``).trim(),r=String(t||``).trim();return n&&r?n+` — `+r:r||n},r=e=>n=>({key:e+`:`+String(n.name||``),name:String(n.name||``),aggregated:XLe(t,n.name),description:String(n.description||``).trim()});return[{key:`tools`,title:sW(),items:(t.tools||[]).map(r(`tool`))},{key:`prompts`,title:uW(),items:(t.prompts||[]).map(r(`prompt`))},{key:`resources`,title:pW(),items:(t.resources||[]).map(e=>({key:`resource:`+String(e.uri||``),name:String(e.uri||``),aggregated:``,description:n(e.name,e.description)}))},{key:`templates`,title:gW(),items:(t.templates||[]).map(e=>({key:`template:`+String(e.uri_template||``),name:String(e.uri_template||``),aggregated:``,description:n(e.name,e.description)}))}].filter(e=>e.items.length>0)}function ZLe(e){return x4(e).length===0}function S4(e){return(e||[]).length}function C4(e){return(e||[]).filter(e=>_4(e)===`connected`).length}function w4(e){return(e||[]).filter(e=>e&&e.enabled!==!1&&_4(e)===`degraded`).length}function QLe(e,t){return!!e&&S4(t)>0}function $Le(e){return String(C4(e))+`/`+String(S4(e))}function eRe(e){return w4(e)>0?`is-degraded`:`is-healthy`}function tRe(e){let t=w4(e);if(t>0)return Tf({count:t});let n=S4(e),r=C4(e);return n>0&&r===n?xu():Of({connected:r,total:n})}function T4(){return{interval:`day`,buckets:[],summary:{requests:0},provider_latency:[]}}function nRe(e){let t=e&&typeof e==`object`?e:{};return{interval:t.interval===`hour`?`hour`:`day`,buckets:Array.isArray(t.buckets)?t.buckets:[],summary:t.summary&&typeof t.summary==`object`?t.summary:{requests:0},provider_latency:Array.isArray(t.provider_latency)?t.provider_latency:[]}}function rRe(e){return Number(e&&e.summary&&e.summary.requests||0)>0}function iRe(e){return(e&&Array.isArray(e.provider_latency)?e.provider_latency:[]).length>0}function aRe(e){let t=e&&e.summary?e.summary.success_rate:null;return t==null?`—`:(Math.round(Number(t)*1e3)/10).toFixed(1)+`%`}function E4(e,t){return Number(e&&e.summary&&e.summary[t]||0)}function D4(e){let t=Number(e);return Number.isFinite(t)?t>=6e4?(t/6e4).toFixed(1)+` min`:t>=1e3?(t/1e3).toFixed(2)+` s`:Math.round(t)+` ms`:`-`}function oRe(e){let t=e&&e.summary?e.summary.avg_duration_ms:null;return t==null?`—`:D4(Number(t))}function O4(e,t){try{let n={},r=Y();return new Intl.DateTimeFormat(r,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,hourCycle:`h23`}).formatToParts(e).forEach(e=>{n[e.type]=e.value}),{year:n.year,month:n.month,day:n.day,hour:Number(n.hour),shortDate:new Intl.DateTimeFormat(r,{timeZone:t,month:`short`,day:`numeric`}).format(e),fullDate:new Intl.DateTimeFormat(r,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`}).format(e)}}catch{let t=new Intl.DateTimeFormat(Y(),{month:`short`}).format(e);return{year:String(e.getFullYear()),month:t,day:String(e.getDate()),hour:e.getHours(),shortDate:t+` `+e.getDate(),fullDate:t+` `+e.getDate()+`, `+e.getFullYear()}}}function k4(e,t,n){let r=new Date(e.start);if(Number.isNaN(r.getTime()))return String(e.start||``);let i=O4(r,n),a=i.shortDate;return t!==`hour`||i.hour===0?a:String(i.hour).padStart(2,`0`)+`:00`}function A4(e,t,n,r){let i=new Date(e.start);return Number.isNaN(i.getTime())?String(e.start||``):t===`hour`?r(e.start):O4(i,n).fullDate}function sRe(e){return{ok:e(`var(--success)`),clientError:e(`var(--warning)`),serverError:e(`var(--danger)`),other:e(`color-mix(in srgb, var(--text-muted) 55%, transparent)`)}}function cRe(e,t,n={}){let r=n.interval===`hour`?`hour`:`day`,i=n.zone,a=n.resolve||(e=>e),o=n.formatTimestamp||(e=>String(e)),s=t.map(e=>k4(e,r,i)),c=sRe(a),l=a(`var(--bg-surface)`),u=e=>Number(e)||0,d=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:l,borderWidth:1,borderSkipped:!1,borderRadius:2,maxBarThickness:28}),f=[d(`2xx`,t.map(e=>u(e.status_2xx)),c.ok),d(`4xx`,t.map(e=>u(e.status_4xx)),c.clientError),d(`5xx`,t.map(e=>u(e.status_5xx)),c.serverError)];return t.some(e=>u(e.status_other)>0)&&f.push(d(Kf(),t.map(e=>u(e.status_other)),c.other)),{type:`bar`,data:{labels:s,datasets:f},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:P2(e,{title:e=>e.length?A4(t[e[0].dataIndex],r,i,o):``,label:e=>e.dataset.label+`: `+iZ(e.parsed.y),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),uf({total:iZ(t)})}})},scales:{x:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:N2(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:N2(),precision:0,callback:e=>qX(e)}}}}}}function j4(e=GIe()){let t={};return function(n){return n in t||(t[n]=e[Object.keys(t).length%e.length]),t[n]}}function lRe(e,t,n,r={}){let i=r.interval===`hour`?`hour`:`day`,a=r.zone,o=r.formatTimestamp||(e=>String(e)),s=r.providerColor||j4();return{type:`line`,data:{labels:t.map(e=>k4(e,i,a)),datasets:n.map(e=>({label:e.provider,data:(e.avg_duration_ms||[]).map(e=>e==null?null:Number(e)),borderColor:s(e.provider),backgroundColor:s(e.provider),fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4,spanGaps:i===`hour`&&2}))},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:P2(e,{title:e=>e.length?A4(t[e[0].dataIndex],i,a,o):``,label:e=>{let t=(n[e.datasetIndex]&&n[e.datasetIndex].requests||[])[e.dataIndex],r=Number(t)||0;return e.dataset.label+`: `+D4(e.parsed.y)+(r>0?` (`+r.toLocaleString()+` req)`:``)}})},scales:{x:{grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:N2(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:N2(),callback:e=>D4(e)}}}}}}var uRe=class{#e=j(N(o4()));get status(){return R(this.#e)}set status(e){M(this.#e,e,!0)}#t=j(!1);get loading(){return R(this.#t)}set loading(e){M(this.#t,e,!0)}#n=j(!1);get loadedOnce(){return R(this.#n)}set loadedOnce(e){M(this.#n,e,!0)}#r=j(!1);get detailsExpanded(){return R(this.#r)}set detailsExpanded(e){M(this.#r,e,!0)}#i=j(N({}));get cardOverrides(){return R(this.#i)}set cardOverrides(e){M(this.#i,e,!0)}#a=null;#o=null;#s=!1;initPreferences(){if(this.#s)return;this.#s=!0;let e=bLe(zi());this.detailsExpanded=e.detailsExpanded,this.cardOverrides=e.cardOverrides}cardExpanded(e){return SLe(this.cardOverrides,this.detailsExpanded,e)}toggleCard(e){let t=e&&e.name?String(e.name):``;if(!t)return;let n={...this.cardOverrides};n[t]=!this.cardExpanded(e),this.cardOverrides=n,s4(zi(),this.cardOverrides)}toggleDetails(){this.detailsExpanded=!this.detailsExpanded,this.cardOverrides={},xLe(zi(),this.detailsExpanded),s4(zi(),this.cardOverrides)}detailsToggleLabel(){return this.detailsExpanded?fl():ll()}async fetch(){this.initPreferences(),this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=await TX(`/admin/providers/status`,{label:`provider status`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.status=o4(),this.#l();return}let n=t.data&&typeof t.data==`object`?t.data:o4();n.summary||=o4().summary,Array.isArray(n.providers)||(n.providers=[]),this.status=n,this.#c()}catch(e){if(DX(e))return;console.error(`Failed to fetch provider status:`,e),this.status=o4(),this.#l()}finally{this.#a===e&&(this.#a=null,this.loading=!1,this.loadedOnce=!0)}}#c(){this.#l(),OLe(this.status.providers)&&(this.#o=setTimeout(()=>{this.#o=null,this.fetch()},_Le))}#l(){this.#o&&=(clearTimeout(this.#o),null)}stopPolling(){this.#l()}},dRe=class{#e=j(N(T4()));get stats(){return R(this.#e)}set stats(e){M(this.#e,e,!0)}#t=j(!1);get loading(){return R(this.#t)}set loading(e){M(this.#t,e,!0)}#n=0;async fetch(){let e=++this.#n;this.loading=!0;try{let t=await TX(`/admin/audit/stats?`+cZ.queryStr(),{label:`audit stats`});if(t.stale||e!==this.#n)return;if(!t.ok){this.stats=T4();return}this.stats=nRe(t.data)}catch(t){if(console.error(`Failed to fetch audit stats:`,t),e!==this.#n)return;this.stats=T4()}finally{e===this.#n&&(this.loading=!1)}}},fRe=class{#e=j(N([]));get servers(){return R(this.#e)}set servers(e){M(this.#e,e,!0)}#t=j(!1);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}async fetch(){if(await OX.ensureLoaded(),!OX.mcpVisible()){this.available=!1,this.servers=[];return}this.loading=!0;try{let e=await TX(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[];return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[]}finally{this.loading=!1}}},pRe=class{#e=j(N([]));get data(){return R(this.#e)}set data(e){M(this.#e,e,!0)}#t=j(`tokens`);get mode(){return R(this.#t)}set mode(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=null;async fetch(){this.#r&&this.#r.abort();let e=new AbortController;this.#r=e,this.loading=!0;try{let t=await TX(`/admin/usage/daily?days=365&interval=daily`,{label:`calendar`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.data=[];return}this.data=Array.isArray(t.data)?t.data:[]}catch(e){if(DX(e))return;console.error(`Failed to fetch calendar data:`,e),this.data=[]}finally{this.#r===e&&(this.#r=null,this.loading=!1)}}},M4=new uRe,N4=new dRe,P4=new fRe,F4=new pRe,I4=(e,t=f,n=f,r=f,i=f,a=f)=>{var o=hRe(),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=P(l),d=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},p=e=>{var t=mRe(),a=F(t),o=P(a),s=P(o,!0);D(o),Ve(),D(a);var c=I(a,4),l=P(c),u=P(l,!0);D(l),Ve(),D(c);var d=I(c,4),f=P(d,!0);D(d),L((e,t,n,r,i,o)=>{K(a,`title`,e),H(s,t),K(c,`title`,n),H(u,r),K(d,`title`,i),H(f,o)},[()=>JX(Is(),n()),()=>qX(n()),()=>JX(zs(),r()),()=>qX(r()),()=>JX(Js(),i()),()=>qX(i())]),V(e,t)};U(u,e=>{a()?e(d):e(p,-1)}),D(l),D(o),L(()=>H(c,t())),V(e,o)},L4=(e,t=f,n=f,r=f,i=f,a=f,o=f)=>{var s=vRe(),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u,!0);D(u);var p=I(u,2),m=e=>{var t=gRe(),n=P(t,!0);D(t),L(()=>{K(t,`aria-label`,o().title),K(t,`title`,o().title),H(n,a())}),z(`click`,t,function(...e){o().onclick?.apply(this,e)}),V(e,t)},h=e=>{var t=_Re(),n=P(t,!0);D(t),L(()=>H(n,a())),V(e,t)};U(p,e=>{o()?e(m):e(h,-1)}),D(s),L(()=>{G(s,1,`card provider-status-flag ${t()??``} ${n()??``}`,`svelte-6tr9cf`),H(l,r()),H(d,i())}),V(e,s)},mRe=B(` i + o = `,1),hRe=B(`
`),gRe=B(``),_Re=B(` `),vRe=B(`
`),yRe=B(`
`),bRe=B(`
`),xRe=B(``),SRe=B(`
`);function CRe(e,t){O(t,!0);let n=A(()=>pZ.summary),r=A(()=>pZ.cacheOverview),i=A(()=>pZ.cacheAnalyticsEnabled()),a=A(()=>M4.status.summary),o=A(()=>pZ.loading),s=A(()=>pZ.cacheLoading),c=A(()=>R(o)||R(i)&&R(s));function l(){let e=document.getElementById(`provider-status-section`);e&&(e.scrollIntoView({behavior:`smooth`,block:`start`}),e.focus({preventScroll:!0}))}var u=SRe(),d=P(u);{let e=A(()=>Ns()),t=A(()=>aLe(R(n)));I4(d,()=>R(e),()=>R(n).total_input_tokens,()=>R(n).total_output_tokens,()=>R(t),()=>R(o))}var f=I(d,2),p=P(f),m=P(p,!0);D(p);var h=I(p,2),g=P(h),_=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},v=e=>{var t=wr();L(e=>H(t,e),[()=>UX(Z2(R(n),R(r),R(i)))]),V(e,t)};U(g,e=>{R(c)?e(_):e(v,-1)}),D(h),D(f);var y=I(f,2),b=e=>{var t=yRe(),n=P(t),i=P(n,!0);D(n);var a=I(n,2),o=P(a),c=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},l=e=>{var t=wr();L(e=>H(t,e),[()=>UX(R(r).summary.total_hits)]),V(e,t)};U(o,e=>{R(s)?e(c):e(l,-1)}),D(a),D(t),L(e=>H(i,e),[()=>ec()]),V(e,t)};U(y,e=>{R(i)&&e(b)});var x=I(y,2),S=P(x),C=P(S,!0);D(S);var w=I(S,2),T=P(w),ee=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},E=e=>{var t=wr();L(e=>H(t,e),[()=>WX(R(n).total_cost)]),V(e,t)};U(T,e=>{R(o)?e(ee):e(E,-1)}),D(w),D(x);var te=I(x,2),ne=e=>{{let t=A(()=>oc()),n=A(()=>sLe(R(r)));I4(e,()=>R(t),()=>R(r).summary.total_input_tokens,()=>R(r).summary.total_output_tokens,()=>R(n),()=>R(s))}};U(te,e=>{R(i)&&e(ne)});var re=I(te,2),ie=P(re),ae=P(ie,!0);D(ie);var oe=I(ie,2),se=e=>{var t=bRe(),n=P(t);{let e=A(()=>Uo());Y2(n,{size:18,get label(){return R(e)}})}D(t),V(e,t)},ce=e=>{var t=xRe(),r=P(t);k2(r,{build:()=>gLe(n4(R(n)),F2(`var(--token-prompt)`),F2(`var(--bg-surface-hover)`))});var i=I(r,2),a=P(i,!0);D(i),D(t),L((e,n)=>{K(t,`aria-label`,e),H(a,n)},[()=>hc({rate:r4(R(n))}),()=>r4(R(n))]),V(e,t)};U(oe,e=>{R(o)?e(se):e(ce,-1)}),D(re);var le=I(re,2),ue=e=>{{let t=A(()=>CLe(R(a))),n=A(()=>vc()),r=A(()=>TLe(R(a))),i=A(()=>DLe(R(a))),o=A(()=>ELe(R(a))?{title:xc(),onclick:l}:null);L4(e,()=>`provider-status-overview-card`,()=>R(t),()=>R(n),()=>R(r),()=>R(i),()=>R(o))}};U(le,e=>{R(a).total>0&&e(ue)});var de=I(le,2),fe=e=>{{let t=A(()=>eRe(P4.servers)),n=A(()=>Ho()),r=A(()=>$Le(P4.servers)),i=A(()=>tRe(P4.servers)),a=A(()=>({title:wc(),onclick:()=>eX.navigate(`mcp-servers`)}));L4(e,()=>`mcp-servers-flag`,()=>R(t),()=>R(n),()=>R(r),()=>R(i),()=>R(a))}},pe=A(()=>QLe(P4.available,P4.servers));U(de,e=>{R(pe)&&e(fe)}),D(u),L((e,t,n,r,i)=>{H(m,e),K(h,`title`,t),H(C,n),K(re,`title`,r),H(ae,i)},[()=>Zs(),()=>oLe(R(n),R(r),R(i)),()=>rc(),()=>fc(),()=>lc()]),V(e,u),k()}vr([`click`]);var wRe=B(` `),TRe=B(`
`),ERe=B(` `),DRe=B(`
`),ORe=B(`

`);function kRe(e,t){O(t,!0);let n=A(()=>pZ.cacheAnalyticsEnabled()),r=A(()=>$2(pZ.summary,pZ.cacheOverview,R(n))),i=A(()=>uLe(pZ.summary,pZ.cacheOverview,R(n))),a=A(()=>lLe(pZ.summary,pZ.cacheOverview,R(n))),o=A(()=>!R(a)&&(pZ.loading||pZ.cacheLoading));var s=ORe(),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d),D(c);var p=I(c,2);let m;var h=P(p);W(h,17,()=>R(i),e=>e.key,(e,t)=>{var n=TRe(),r=P(n),i=e=>{var n=wRe(),r=P(n);D(n),L(()=>H(r,`${R(t).pct??``}%`)),V(e,n)};U(r,e=>{R(t).pct>=8&&e(i)}),D(n),L(e=>{ui(n,`width: ${R(t).pct??``}%; background: var(${R(t).colorVar??``})`),K(n,`title`,e)},[()=>e4(R(t))]),V(e,n)});var g=I(h,2),_=e=>{{let t=A(()=>Uo());Y2(e,{size:16,get label(){return R(t)}})}},v=e=>{var t=ERe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Du()]),V(e,t)};U(g,e=>{R(o)?e(_):R(a)||e(v,1)}),D(p);var y=I(p,2);W(y,21,()=>R(r),e=>e.key,(e,t)=>{var n=DRe(),r=P(n),i=I(r,2),a=P(i,!0);D(i);var o=I(i,2),s=P(o);D(o);var c=I(o,2),l=P(c,!0);D(c),D(n),L((e,i)=>{K(n,`title`,e),ui(r,`background: var(${R(t).colorVar??``})`),H(a,R(t).label),H(s,`${R(t).pct??``}%`),H(l,i)},[()=>e4(R(t)),()=>UX(R(t).tokens)]),V(e,n)}),D(y),D(s),L((e,t,n)=>{H(u,e),H(f,t),m=G(p,1,`cache-meter-bar svelte-1yzecxj`,null,m,{"is-empty":!R(a)}),K(p,`role`,R(o)?void 0:`img`),K(p,`aria-label`,n)},[()=>Ns(),()=>wu(),()=>R(o)?void 0:dLe(R(i))]),V(e,s),k()}var ARe=Cr(` `),jRe=Cr(``);function R4(e,t){let n=q(t,`label`,3,`No data`);var r=jRe(),i=I(P(r),9),a=e=>{var t=ARe(),r=P(t,!0);D(t),L(()=>H(r,n())),V(e,t)};U(i,e=>{n()&&e(a)}),D(r),L(()=>{K(r,`role`,n()?`img`:void 0),K(r,`aria-label`,n()||void 0),K(r,`aria-hidden`,n()?void 0:`true`)}),V(e,r)}var z4=B(`
`),MRe=B(`

`);function NRe(e,t){O(t,!0);let n=[{value:`daily`,label:zne},{value:`weekly`,label:Hne},{value:`monthly`,label:Gne},{value:`yearly`,label:Jne}];function r(e){cZ.interval=e,t.onintervalchange?.()}function i(){let e=pZ.daily;if(e.length===0)return null;let t=cZ.rangeStart(),n=cZ.rangeEnd(),r=pLe(t4(e,cZ.interval,t,n),t4(Array.isArray(pZ.cacheOverview.daily)?pZ.cacheOverview.daily:[],cZ.interval,t,n));return hLe(M2(),r,{cacheEnabled:pZ.cacheAnalyticsEnabled(),resolve:F2})}var a=MRe(),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s,2);{let e=A(()=>Ine()),t=A(()=>n.map(e=>({value:e.value,label:e.label()})));A2(l,{get ariaLabel(){return R(e)},get options(){return R(t)},get value(){return cZ.interval},onchange:r})}D(o);var u=I(o,2),d=P(u);k2(d,{build:i});var f=I(d,2),p=e=>{var t=z4(),n=P(t);{let e=A(()=>Uo());Y2(n,{size:24,get label(){return R(e)}})}D(t),V(e,t)},m=e=>{var t=z4();R4(P(t),{}),D(t),V(e,t)};U(f,e=>{pZ.daily.length===0&&pZ.loading?e(p):pZ.daily.length===0&&!X.authError&&e(m,1)}),D(u),D(a),L(e=>H(c,e),[()=>cZ.chartTitle()]),V(e,a),k()}var B4=10,PRe=.7;function FRe(e,t){if(e<=0||t<=0)return 0;let n=(e/t)**+PRe,r=Math.ceil(n*B4);return r<1?1:r>B4?B4:r}function IRe(){let e=[];for(let t=0;t<=B4;t++)e.push(t);return e}function LRe(e,t,n){let r={};(e||[]).forEach(e=>{r[e.date]=e});let i=cX(uX(n,-364)),a=i.getUTCDay();i.setUTCDate(i.getUTCDate()-a);let o=[];for(let e=new Date(i);lX(e)<=n;e.setUTCDate(e.getUTCDate()+1)){let n=lX(e),i=r[n],a=0;i&&(a=t===`costs`?i.total_cost==null?0:i.total_cost:i.total_tokens||0),o.push({dateStr:n,value:a,level:0,empty:!1})}let s=0;for(let e=0;es&&(s=o[e].value);for(let e=0;e0){for(;l.length<7;)l.push({dateStr:``,value:0,level:0,empty:!0});c.push(l)}return c}function RRe(e){let t=cX(uX(e,-364)),n=t.getUTCDay();t.setUTCDate(t.getUTCDate()-n);let r=new Intl.DateTimeFormat(Y(),{month:`short`,timeZone:`UTC`}),i=[],a={},o=0;for(let n=new Date(t);lX(n)<=e;n.setUTCDate(n.getUTCDate()+7),o++){let t=null;if(o===0)t=new Date(n);else for(let r=0;r<7;r++){let i=new Date(n);if(i.setUTCDate(n.getUTCDate()+r),lX(i)>e)break;if(i.getUTCDate()===1){t=i;break}}if(!t)continue;let s=t.getUTCFullYear()+`-`+t.getUTCMonth();a[s]||(i.push({label:r.format(t),col:o,key:s}),a[s]=!0)}for(let e=0;e `),URe=B(`
`),WRe=B(`
`),GRe=B(`
`),KRe=B(`
`),qRe=B(`

`,1);function JRe(e,t){O(t,!0);let n=j(N({show:!1,x:0,y:0,text:``})),r=A(()=>yX.currentDateKey()),i=A(()=>LRe(F4.data,F4.mode,R(r))),a=A(()=>RRe(R(r)));function o(e,t){t.empty||M(n,{show:!0,x:e.clientX,y:e.clientY,text:VRe(t,F4.mode)},!0)}function s(){M(n,{show:!1,x:0,y:0,text:``},!0)}var c=qRe(),l=F(c),u=P(l),d=P(u),f=P(d,!0);D(d);var p=I(d,2),m=e=>{{let t=A(()=>ed());Y2(e,{size:14,get label(){return R(t)}})}};U(p,e=>{F4.loading&&F4.data.length===0&&e(m)});var h=I(p,2);{let e=A(()=>rd()),t=A(()=>[{value:`tokens`,label:Ns()},{value:`costs`,label:od()}]);A2(h,{get ariaLabel(){return R(e)},get options(){return R(t)},get value(){return F4.mode},onchange:e=>F4.mode=e})}D(u);var g=I(u,2),_=P(g),v=I(P(_),2),y=P(v,!0);D(v);var b=I(v,4),x=P(b,!0);D(b);var S=I(b,4),C=P(S,!0);D(S),Ve(2),D(_);var w=I(_,2),T=P(w);W(T,21,()=>R(a),e=>e.key,(e,t)=>{var n=HRe(),r=P(n,!0);D(n),L(()=>{ui(n,`grid-column: ${R(t).col+1} / span ${R(t).span??``}`),H(r,R(t).label)}),V(e,n)}),D(T);var ee=I(T,2);W(ee,21,()=>R(i),Ar,(e,t,n)=>{var r=WRe();W(r,23,()=>R(t),(e,t)=>n+`-`+t,(e,t)=>{var n=URe();L(()=>G(n,1,ai([`contribution-calendar-cell`,R(t).empty?`empty`:`level-${R(t).level}`]),`svelte-3hfxuq`)),_r(`mouseenter`,n,e=>o(e,R(t))),_r(`mouseleave`,n,s),V(e,n)}),D(r),V(e,r)}),D(ee),D(w),D(g);var E=I(g,2),te=P(E),ne=P(te),re=P(ne,!0);D(ne),D(te);var ie=I(te,2),ae=P(ie),oe=P(ae,!0);D(ae);var se=I(ae,2);W(se,16,IRe,e=>e,(e,t)=>{var n=GRe();L(()=>G(n,1,`contribution-calendar-cell level-${t??``}`,`svelte-3hfxuq`)),V(e,n)});var ce=I(se,2),le=P(ce,!0);D(ce),D(ie),D(E),D(l);var ue=I(l,2),de=e=>{var t=KRe(),r=P(t,!0);D(t),L(()=>{ui(t,`left: ${R(n).x??``}px; top: ${R(n).y-40}px`),H(r,R(n).text)}),V(e,t)};U(ue,e=>{R(n).show&&e(de)}),L((e,t,n,r,i,a,o)=>{H(f,e),H(y,t),H(x,n),H(C,r),H(re,i),H(oe,a),H(le,o)},[()=>Zu(),()=>ld(),()=>fd(),()=>hd(),()=>zRe(F4.data,F4.mode),()=>vd(),()=>xd()]),V(e,c),k()}var YRe=B(``),XRe=B(`

`),ZRe=B(`
`);function V4(e,t){O(t,!0);let n=q(t,`label`,3,`help`),r=q(t,`text`,3,``),i=q(t,`open`,15,!1),a=q(t,`external`,3,!1),o=A(()=>!!r()||!!t.help||a());var s=ZRe(),c=P(s),l=P(c);Br(l,()=>t.title??f);var u=I(l,2),d=e=>{var r=YRe();let a;L(()=>{a=G(r,1,`inline-help-toggle svelte-y40or3`,null,a,{"is-open":i()}),K(r,`aria-label`,(i()?`Hide `:`Show `)+n()),K(r,`aria-expanded`,i()),K(r,`aria-controls`,t.copyId)}),z(`click`,r,()=>i(!i())),V(e,r)};U(u,e=>{R(o)&&e(d)}),Br(I(u,2),()=>t.extra??f),D(c);var p=I(c,2),m=e=>{var n=XRe(),i=P(n),a=e=>{var n=Tr();Br(F(n),()=>t.help),V(e,n)},o=e=>{var t=wr();L(()=>H(t,r())),V(e,t)};U(i,e=>{t.help?e(a):e(o,-1)}),D(n),L(()=>K(n,`id`,t.copyId)),V(e,n)};U(p,e=>{i()&&R(o)&&!a()&&e(m)}),D(s),V(e,s),k()}vr([`click`]);var QRe=B(`
`);function H4(e,t){let n=q(t,`label`,3,`Loading...`),r=q(t,`class`,3,``);var i=QRe(),a=I(P(i),2),o=P(a,!0);D(a),D(i),L(()=>{G(i,1,ai([`loading-state`,r()]),`svelte-hzxv1d`),H(o,n())}),V(e,i)}var $Re=B(`

`),eze=B(`
`),tze=B(`

2xx 4xx 5xx
`,1),nze=B(`
`);function rze(e,t){O(t,!0);let n=j4(),r=A(()=>N4.stats);function i(){return{interval:R(r).interval,zone:yX.effectiveTimezone(),resolve:F2,formatTimestamp:e=>yX.formatTimestamp(e)}}var a=Tr(),o=F(a),s=e=>{var t=tze(),a=F(t),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=P(l),d=P(u),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p),D(u);var h=I(u,2),g=I(P(h),4),_=P(g,!0);D(g),D(h);var v=I(h,2),y=I(P(v),4),b=P(y,!0);D(y),D(v);var x=I(v,2),S=I(P(x),4),C=P(S,!0);D(S),D(x),D(l),D(o);var w=I(o,2);k2(P(w),{build:()=>cRe(M2(),R(r).buckets,i())}),D(w),D(a);var T=I(a,2),ee=e=>{var t=eze(),a=P(t),o=P(a);{let e=e=>{var t=$Re(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>zc()]),V(e,t)},t=A(()=>Hc()),n=A(()=>Gc());V4(o,{copyId:`audit-latency-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}var s=I(o,2),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d),D(c),D(s),D(a);var p=I(a,2);k2(P(p),{build:()=>lRe(M2(),R(r).buckets,R(r).provider_latency,{...i(),providerColor:n})}),D(p),D(t),L((e,t,n)=>{K(c,`title`,e),H(u,t),H(f,n)},[()=>Jc(),()=>Zc(),()=>oRe(R(r))]),V(e,t)},E=A(()=>iRe(R(r)));U(T,e=>{R(E)&&e(ee)}),L((e,t,n,r,i,a,o,s)=>{H(c,e),K(l,`aria-label`,t),K(u,`title`,n),H(f,r),H(m,i),H(_,a),H(b,o),H(C,s)},[()=>Dc(),()=>Ac(),()=>Nc(),()=>Ic(),()=>aRe(R(r)),()=>UX(E4(R(r),`status_2xx`)),()=>UX(E4(R(r),`status_4xx`)),()=>UX(E4(R(r),`status_5xx`))]),V(e,t)},c=A(()=>rRe(R(r))),l=e=>{var t=nze(),n=P(t);{let e=A(()=>rl());H4(n,{get label(){return R(e)}})}D(t),V(e,t)};U(o,e=>{R(c)?e(s):N4.loading&&e(l,1)}),V(e,a),k()}var U4=(e,t=f,n=f,r)=>{let i=gt(()=>h(r?.(),!1));var a=oze(),o=P(a),s=P(o,!0);D(o);var c=I(o,2),l=e=>{var t=ize(),r=P(t,!0);D(t),L(()=>H(r,n())),V(e,t)},u=e=>{var t=aze(),r=P(t,!0);D(t),L(()=>H(r,n())),V(e,t)};U(c,e=>{R(i)?e(l):e(u,-1)}),D(a),L(()=>H(s,t())),V(e,a)},ize=B(` `),aze=B(` `),oze=B(`
`),sze=B(`

`),cze=B(`
`),lze=B(`
`),uze=B(`
`),dze=B(`
`),fze=B(`

`);function pze(e,t){O(t,!0);let n=A(()=>ILe(t.provider)),r=A(()=>[[Il(),t.provider.config?.base_url],[zl(),t.provider.config?.api_version]].filter(([,e])=>!!e));var i=fze();let a;var o=P(i),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=e=>{var n=sze(),r=P(n,!0);D(n),L(()=>H(r,t.provider.last_error)),V(e,n)};U(l,e=>{t.provider.last_error&&e(u)});var d=I(l,2),f=e=>{var r=dze(),i=P(r);{let e=A(()=>Hl()),n=A(()=>LLe(t.provider));U4(i,()=>R(e),()=>R(n))}var a=I(i,2),o=e=>{var r=cze(),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o),c=P(s,!0);D(s),D(o),D(r),L((e,t)=>{H(a,e),G(s,1,ai([`provider-status-health-state`,R(n)]),`svelte-6y9wjv`),H(c,t)},[()=>Gl(),()=>FLe(t.provider)]),V(e,r)},s=A(()=>f4(t.provider));U(a,e=>{R(s)&&e(o)});var c=I(a,2),l=e=>{var n=uze(),r=P(n),i=P(r,!0);D(r);var a=I(r,2);W(a,21,()=>p4(t.provider),e=>e.model,(e,t)=>{var n=lze();let r;var i=P(n),a=P(i,!0);D(i);var o=I(i,2),s=P(o,!0);D(o),D(n),L((e,i)=>{r=G(n,1,`provider-status-health-model svelte-6y9wjv`,null,r,{"is-flagged":R(t).flagged}),K(n,`title`,e),H(a,R(t).model),H(s,i)},[()=>zLe(R(t)),()=>RLe(R(t))]),V(e,n)}),D(a),D(n),L(e=>H(i,e),[()=>Jl()]),V(e,n)},u=A(()=>p4(t.provider).length>0);U(c,e=>{R(u)&&e(l)}),D(r),V(e,r)},p=A(()=>d4(t.provider));U(d,e=>{R(p)&&e(f)});var m=I(d,2),h=P(m);W(h,17,()=>R(r),([e,t])=>e,(e,t)=>{var n=A(()=>g(R(t),2));U4(e,()=>R(n)[0],()=>R(n)[1],()=>!0)});var _=I(h,2);{let e=A(()=>Zl()),n=A(()=>NLe(t.provider));U4(_,()=>R(e),()=>R(n))}var v=I(_,2);{let e=A(()=>eu()),n=A(()=>jLe(t.provider));U4(v,()=>R(e),()=>R(n))}var y=I(v,2);{let e=A(()=>ru()),n=A(()=>MLe(t.provider));U4(y,()=>R(e),()=>R(n))}D(m),D(o),D(i),L(()=>{a=G(i,1,`provider-status-details svelte-6y9wjv`,null,a,{"is-expanded":t.expanded,"is-collapsed":!t.expanded}),K(i,`aria-hidden`,!t.expanded),H(c,t.provider.status_reason)}),V(e,i),k()}var mze=B(` `),hze=B(``),gze=B(`

`);function _ze(e,t){O(t,!0);let n=A(()=>M4.cardExpanded(t.provider)),r=e=>yX.formatTimestamp(e);var i=gze(),a=P(i),o=P(a),s=P(o),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=e=>{var n=mze(),r=P(n);D(n),L(e=>H(r,`(${e??``})`),[()=>l4(t.provider)]),V(e,n)},f=A(()=>l4(t.provider));U(u,e=>{R(f)&&e(d)});var p=I(u,2),m=e=>{var n=hze();L((e,t,r)=>{K(n,`href`,e),K(n,`aria-label`,t),K(n,`title`,r)},[()=>u4(t.provider),()=>hl({provider:l4(t.provider)||t.provider.name}),()=>hl({provider:l4(t.provider)||t.provider.name})]),V(e,n)},h=A(()=>u4(t.provider));U(p,e=>{R(h)&&e(m)}),D(s),D(o);var g=I(o,2),_=P(g,!0);D(g),D(a);var v=I(a,2),y=P(v),b=P(y),x=P(b,!0);D(b);var S=I(b,2),C=P(S,!0);D(S),D(y);var w=I(y,2),T=P(w),ee=P(T,!0);D(T);var E=I(T,2),te=P(E,!0);D(E),D(w),D(v);var ne=I(v,2);pze(ne,{get provider(){return t.provider},get expanded(){return R(n)}});var re=I(ne,2);let ie;J(P(re),{get icon(){return EY},class:`provider-status-card-toggle-icon`}),D(re),D(i),L((e,r,i,a,o,s,c,u,d)=>{H(l,t.provider.name),G(g,1,`provider-status-pill ${e??``}`,`svelte-nopjmh`),K(g,`title`,r),H(_,t.provider.status_label),H(x,i),H(C,a),H(ee,o),K(E,`title`,s),H(te,c),ie=G(re,1,`provider-status-card-toggle svelte-nopjmh`,null,ie,{"is-expanded":R(n)}),K(re,`aria-expanded`,R(n)),K(re,`aria-label`,u),K(re,`title`,d)},[()=>wLe(t.provider.status),()=>PLe(t.provider),()=>vl(),()=>UX(t.provider.runtime?.inventory_stale?0:t.provider.runtime?.discovered_model_count),()=>xl(),()=>ALe(t.provider,r),()=>kLe(t.provider,r),()=>R(n)?Dl({provider:t.provider.name}):wl({provider:t.provider.name}),()=>R(n)?Nl():Al()]),z(`click`,re,()=>M4.toggleCard(t.provider)),V(e,i),k()}vr([`click`]);var vze=B(`

`),yze=B(`
`);function bze(e,t){O(t,!0);let n=A(()=>M4.status.providers);var r=Tr(),i=F(r),a=e=>{var t=vze(),r=P(t),i=P(r),a=P(i),o=P(a,!0);D(a),D(i);var s=I(i,2),c=P(s),l=P(c,!0);D(c);var u=I(c,2);let d;D(s),D(r);var f=I(r,2);W(f,21,()=>R(n),e=>e.name,(e,t)=>{_ze(e,{get provider(){return R(t)}})}),D(f),D(t),L((e,t,n)=>{H(o,e),K(s,`aria-checked`,M4.detailsExpanded),K(s,`title`,t),H(l,n),d=G(u,1,`provider-status-toggle-track svelte-1kx3uw4`,null,d,{"is-active":M4.detailsExpanded})},[()=>el(),()=>M4.detailsToggleLabel(),()=>M4.detailsToggleLabel()]),z(`click`,s,()=>M4.toggleDetails()),V(e,t)},o=e=>{var t=yze(),n=P(t);{let e=A(()=>ol());Y2(n,{size:18,get label(){return R(e)}})}D(t),V(e,t)};U(i,e=>{R(n).length>0?e(a):M4.loading&&!M4.loadedOnce&&e(o,1)}),V(e,r),k()}vr([`click`]);var xze=B(`
`);function W4(e,t){O(t,!0);function n(){pZ.fetchUsage(),pZ.fetchCacheOverview(``),N4.fetch(),M4.fetch(),P4.fetch(),F4.fetch()}function r(){pZ.fetchUsage(),pZ.fetchCacheOverview(``),N4.fetch()}function i(){r(),F4.fetch()}dn(()=>{if(X.refreshTick,eX.page===`overview`)return nr(()=>{n(),J2.start()}),()=>{J2.stop(),M4.stopPolling()}});var a=xze(),o=P(a);rLe(o,{});var s=I(o,2),c=P(s),l=P(c,!0);D(c),D(s);var u=I(s,2);hZ(P(u),{onchange:i}),D(u);var d=I(u,2);uZ(d,{});var f=I(d,2);CRe(f,{});var p=I(f,2);kRe(p,{});var m=I(p,2);NRe(m,{onintervalchange:r});var h=I(m,2);JRe(h,{});var g=I(h,2);rze(g,{}),bze(I(g,2),{}),D(a),L(e=>H(l,e),[()=>Nne()]),V(e,a),k()}var Sze=`/admin/live/logs?types=audit,usage`;function G4(e,t,n){return!!t&&String(e&&e.id||``).trim()===t||!!n&&String(e&&e.request_id||``).trim()===n}function Cze(e){switch(e){case`date_range`:return jue();case`filters`:return Pue();case`pagination`:return Lue();default:return``}}function wze(e){let t=Sze,n=Number(e||0);return Number.isFinite(n)&&n>0&&(t+=`&cursor=`+encodeURIComponent(String(n))),t}function Tze(){return{async consumeLiveLogsBody(e){await R2(e,e=>this.applyLiveLogEvent(e))},applyLiveLogEvent(e){if(!e||typeof e!=`object`)return;let t=Number(e.seq||0);Number.isFinite(t)&&t>this.liveLogsLastSeq&&(this.liveLogsLastSeq=t);let n=String(e.type||``).trim();if(n!==`heartbeat`){if(n===`reset`){this.reloadLiveLogSources();return}if(n===`audit.removed`){this.removeLiveAuditEntry(e.data);return}if(n.indexOf(`audit.`)===0){this.mergeLiveAuditEntry(e.data||{},n);return}n.indexOf(`usage.`)===0&&(this.mergeLiveUsageEntry(e.data||{},n),typeof this.noteLiveTokenUsage==`function`&&this.noteLiveTokenUsage(n))}},reloadLiveLogSources(){typeof this.fetchUsage==`function`&&this.fetchUsage(),this.page===`audit-logs`&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},auditLivePauseReason(){return!this.auditLog||this.auditLog.offset!==0?`pagination`:this.auditSearch||this.auditMethod||this.auditStatusCode||this.auditStream?`filters`:!this.followsToday&&(this.customStartDate||this.customEndDate)?`date_range`:null},auditLiveInsertAllowed(){return!this.auditLivePauseReason()},usageLiveInsertAllowed(){return this.usageLog&&this.usageLog.offset===0&&!this.usageLogSearch&&!this.usageFilterModel&&!this.usageFilterProvider&&!this.usageFilterLabel&&!this.usageFilterUserPath&&!this.usageFilterSession},mergeLiveAuditEntry(e,t){if(!e||typeof e!=`object`)return;let n=String(e.id||e.request_id||``).trim();if(!n)return;let r=String(e.request_id||``).trim(),i=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],a=i.findIndex(e=>G4(e,n,r)),o=a>=0&&i[a]||{},s=t===`audit.detail`,c=s?{...e,_detail_loaded:!0,_response_partial:!1,bodies_omitted:!1}:this.liveAuditPatch(o,e,t);if(a>=0){let e=this.mergeLiveAuditPatch(o,c);return i.splice(a,1,e),this.auditLog.entries=[...i],this.regroupLiveAuditHead(e),s||this.fetchExpandedAuditDetailIfReady(e),this.cacheMergedAuditRecord(e,t),e}let l=this.mergeLiveAuditChild(e,c);if(l)return s||this.fetchExpandedAuditDetailIfReady(l),this.cacheMergedAuditRecord(l,t),l;if(!this.auditLiveInsertAllowed()){this.cacheMergedAuditRecord(c,t);return}if(!s&&this.auditGroupSessions){let e=this.foldLiveAuditIntoThread(c);if(e)return this.fetchExpandedAuditDetailIfReady(e),this.cacheMergedAuditRecord(e,t),e}this.auditLog.entries=[this.mergeLiveAuditUsagePatch(c),...i].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1;let u=this.auditLog.entries[0];return s||this.fetchExpandedAuditDetailIfReady(u),this.cacheMergedAuditRecord(u,t),u},liveAuditPatch(e,t,n){let r=this.liveAuditStateAfter(e._live_state,n),i=this.liveAuditEventFlushed(e._live_state)||this.liveAuditEventFlushed(r),a={...t,_live:!0,_live_state:r,_audit_flushed:i,_live_pending:!i};return n===`audit.stream`?a._response_partial=!0:this.liveAuditStateSettled(n)&&(a._response_partial=!1),a},mergeLiveAuditChild(e,t){let n=this.auditThreadChildren;if(!n||typeof n!=`object`)return null;let r=String(e.id||``).trim(),i=String(e.request_id||``).trim(),a=Object.keys(n);for(let e=0;eG4(e,r,i));if(c<0)continue;let l=this.mergeLiveAuditPatch(s[c]||{},t),u=[...s];return u.splice(c,1,l),this.auditThreadChildren={...n,[a[e]]:{...o,entries:u}},l}return null},regroupLiveAuditHead(e){if(!this.auditGroupSessions)return null;let t=String(e&&e.session_id||``).trim();if(!t)return null;let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=String(e.id||``).trim(),i=n.findIndex(e=>String(e.id||``).trim()===r);if(i<0)return null;let a=n.findIndex((e,n)=>n!==i&&String(e.session_id||``).trim()===t);if(a<0)return null;let o=n[a],s=Date.parse(o&&o.timestamp),c=Date.parse(e&&e.timestamp),l=Number.isFinite(s)&&Number.isFinite(c)&&s>c,u=l?o:e,d=l?e:o,f={...u,session_count:Math.max(1,Number(o.session_count||1))+Math.max(1,Number(e.session_count||1))},p=n.filter((e,t)=>t!==i&&t!==a);return p.unshift(f),this.auditLog.entries=p,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-1),this.prependLiveAuditThreadChild(t,d),f},foldLiveAuditIntoThread(e){let t=String(e&&e.session_id||``).trim();if(!t)return null;let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=n.findIndex(e=>String(e.session_id||``).trim()===t);if(r<0)return null;let i=n[r],a=Number(i.session_count),o=this.mergeLiveAuditUsagePatch({...e,session_count:(Number.isFinite(a)&&a>0?a:1)+1}),s=[...n];return s.splice(r,1),s.unshift(o),this.auditLog.entries=s,this.prependLiveAuditThreadChild(t,i),o},prependLiveAuditThreadChild(e,t){let n=this.auditThreadChildren||{},r=n[e],i={...t};delete i.session_count;let a=r&&Array.isArray(r.entries)?{...r,entries:[i,...r.entries],total:Number(r.total||r.entries.length)+1}:{loading:!1,loaded:!1,entries:[i],total:1};this.auditThreadChildren={...n,[e]:a}},removeLiveAuditThreadChild(e,t){let n=this.auditThreadChildren;!n||typeof n!=`object`||Object.keys(n).forEach(r=>{let i=n[r],a=i&&Array.isArray(i.entries)?i.entries:[],o=a.filter(n=>!G4(n,e,t)),s=a.length-o.length;s!==0&&(this.auditThreadChildren={...this.auditThreadChildren,[r]:{...i,entries:o,total:Math.max(0,Number(i.total||a.length)-s)}},this.decrementLiveAuditThreadCount(r,s))})},decrementLiveAuditThreadCount(e,t){let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=n.findIndex(t=>String(t.session_id||``).trim()===e);if(r<0)return;let i=n[r],a=[...n];a.splice(r,1,{...i,session_count:Math.max(1,Number(i.session_count||1)-t)}),this.auditLog.entries=a},mergeLiveAuditPatch(e,t){let n={...e,...t};return t.data===void 0&&e.data!==void 0?n.data=e.data:e.data&&t.data&&typeof e.data==`object`&&typeof t.data==`object`&&!Array.isArray(e.data)&&!Array.isArray(t.data)&&(n.data={...e.data,...t.data}),this.mergeLiveAuditUsagePatch(n)},mergeLiveAuditUsagePatch(e){let t=this.liveUsageEntryForAudit(e);if(!t)return e;let n=this.auditEntryWithLiveUsage(e,t);return this.removeSkippedLiveUsage(t),n},liveUsageEntryForAudit(e){let t=String(e&&e.request_id||``).trim();return t&&((this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[]).find(e=>String(e&&e.request_id||``).trim()===t)||this.skippedLiveUsageByRequestId&&this.skippedLiveUsageByRequestId[t])||null},cacheMergedAuditRecord(e,t){return e&&typeof this.cacheAuditRecord==`function`?this.cacheAuditRecord(e,t):e},fetchExpandedAuditDetailIfReady(e){!e||!this.isAuditEntryExpanded||!this.isAuditEntryExpanded(e)||String(e._live_state||``).trim()!==`audit.flushed`&&!e._audit_flushed||typeof this.fetchAuditEntryDetail==`function`&&this.fetchAuditEntryDetail(e)},liveAuditStateRank(e){switch(String(e||``).trim()){case`audit.started`:return 10;case`audit.updated`:case`audit.stream`:return 20;case`audit.completed`:return 30;case`audit.failed`:case`audit.flushed`:case`audit.detail`:return 40;default:return 0}},liveAuditStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveAuditStateRank(n)>this.liveAuditStateRank(r)?n:r},liveAuditStateSettled(e){return this.liveAuditStateRank(e)>=this.liveAuditStateRank(`audit.completed`)},liveAuditEventFlushed(e){let t=String(e||``).trim();return t===`audit.failed`||t===`audit.flushed`||t===`audit.detail`},removeLiveAuditEntry(e){if(!e||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim();if(!t&&!n)return;let r=this.auditLog.entries,i=[],a=0,o=0,s=!1;r.forEach(e=>{if(!G4(e,t,n)){i.push(e);return}a++;let r=String(e.session_id||``).trim(),c=Math.max(1,Number(e.session_count||1));if(!this.auditGroupSessions||!r||c<=1)return;o++;let l=this.auditThreadChildren&&this.auditThreadChildren[r],u=l&&Array.isArray(l.entries)?l.entries.filter(e=>!G4(e,t,n)):[];if(u.length===0){s=!0;return}let d={...u[0],session_id:r,session_count:c-1};i.push(d),this.auditThreadChildren={...this.auditThreadChildren,[r]:{...l,entries:u.slice(1),total:Math.max(0,Number(l.total||c)-1)}}}),a>0&&(this.auditLog.entries=i,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-a+o)),this.removeLiveAuditThreadChild(t,n),s&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},mergeLiveUsageEntry(e,t){if(!e||typeof e!=`object`)return;e={...e,_live_state:t||e._live_state||`usage.completed`};let n=String(e.id||``).trim();if(!n)return;let r=this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[],i=r.findIndex(e=>String(e.id||``).trim()===n);if(i>=0){let t=r[i]||{},n=this.mergeLiveUsagePatch(t,e);if(this.applyLiveUsageToAudit(n),this.liveUsageShouldSkip(n)){r.splice(i,1),this.usageLog.entries=[...r],this.usageLog.total=Math.max(0,Number(this.usageLog.total||0)-1),this.storeSkippedLiveUsage(n);return}r.splice(i,1,n),this.usageLog.entries=[...r],this.removeSkippedLiveUsage(n);return}let a=this.mergeLiveUsagePatch(this.liveUsageSeedForEntry(e),e);if(this.applyLiveUsageToAudit(a),this.liveUsageShouldSkip(a)){this.storeSkippedLiveUsage(a);return}this.removeSkippedLiveUsage(a),this.usageLog.entries=[a,...r].slice(0,this.usageLog.limit||50),this.usageLog.total=Number(this.usageLog.total||0)+1},mergeLiveUsagePatch(e,t){e=e&&typeof e==`object`?e:{};let n=this.liveUsageStateAfter(e._live_state,t&&t._live_state),r=this.liveUsageEventFlushed(e)||this.liveUsageEventFlushed({...t,_live_state:n});return{...e,...t,_live:!0,_live_state:n||`usage.completed`,_live_pending:!r,_usage_flushed:r}},liveUsageShouldSkip(e){return!!(this.usageLogHideCached&&this.liveUsageEntryCached(e))||!this.usageLiveInsertAllowed()},liveUsageSeedForEntry(e){return this.skippedLiveUsageForEntry(e)||this.auditLiveUsageForEntry(e)},skippedLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();return t&&this.skippedLiveUsageByRequestId?this.skippedLiveUsageByRequestId[t]:null},auditLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return null;let n=this.auditLog.entries.find(e=>String(e&&e.request_id||``).trim()===t),r=n&&n.usage&&typeof n.usage==`object`&&!Array.isArray(n.usage)?n.usage:null;return r?{id:e&&e.id,request_id:t,entries:r.entries,input_tokens:r.input_tokens,uncached_input_tokens:r.uncached_input_tokens,cached_input_tokens:r.cached_input_tokens,cache_write_input_tokens:r.cache_write_input_tokens,output_tokens:r.output_tokens,total_tokens:r.total_tokens,cached_input_ratio:r.cached_input_ratio,estimated_cached_characters:r.estimated_cached_characters,_live_state:n._usage_live_state,_live_pending:n._usage_live_pending,_usage_flushed:n._usage_flushed}:null},storeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&((!this.skippedLiveUsageByRequestId||typeof this.skippedLiveUsageByRequestId!=`object`||Array.isArray(this.skippedLiveUsageByRequestId))&&(this.skippedLiveUsageByRequestId={}),this.skippedLiveUsageByRequestId[t]=e)},removeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&this.skippedLiveUsageByRequestId&&delete this.skippedLiveUsageByRequestId[t]},liveUsageEntryCached(e){let t=String(e&&e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`||!!(e&&e.cache_hit)},liveUsageEventFlushed(e){let t=String(e&&e._live_state||``).trim();return!!(e&&e._usage_flushed)||t===`usage.failed`||t===`usage.flushed`},liveUsageStateRank(e){switch(String(e||``).trim()){case`usage.completed`:return 10;case`usage.failed`:case`usage.flushed`:return 20;default:return 0}},liveUsageStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveUsageStateRank(n)>this.liveUsageStateRank(r)?n:r},applyLiveUsageToAudit(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let n=this.auditLog.entries.findIndex(e=>String(e.request_id||``).trim()===t);if(n>=0){let t=this.auditLog.entries[n];this.auditLog.entries.splice(n,1,this.auditEntryWithLiveUsage(t,e)),this.auditLog.entries=[...this.auditLog.entries]}let r=this.auditThreadChildren;if(!r||typeof r!=`object`)return;let i=r,a=!1;Object.keys(r).forEach(n=>{let r=i[n],o=r&&Array.isArray(r.entries)?r.entries:[],s=o.findIndex(e=>String(e.request_id||``).trim()===t);if(s<0)return;let c=[...o];c.splice(s,1,this.auditEntryWithLiveUsage(o[s],e)),i={...i,[n]:{...r,entries:c}},a=!0}),a&&(this.auditThreadChildren=i)},auditEntryWithLiveUsage(e,t){let n=this.liveUsageStateAfter(e._usage_live_state,t._live_state||`usage.completed`),r=this.liveUsageEventFlushed({_live_state:n,_usage_flushed:e._usage_flushed||t._usage_flushed});return{...e,usage:this.liveUsageSummary(t,e.usage),_usage_live_state:n||`usage.completed`,_usage_live_pending:!r,_usage_flushed:r}},liveUsageSummary(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=this.liveNumber(e.input_tokens,this.liveNumber(n.input_tokens,0)),i=this.liveNumber(e.output_tokens,this.liveNumber(n.output_tokens,0)),a=this.liveNumber(e.uncached_input_tokens,this.liveNumber(n.uncached_input_tokens,0)),o=this.liveNumber(e.cached_input_tokens,this.liveNumber(n.cached_input_tokens,0)),s=this.liveNumber(e.cache_write_input_tokens,this.liveNumber(n.cache_write_input_tokens,0));r>0&&a+o+s===0&&(a=r);let c=a+o+s||r,l=c+i||this.liveNumber(e.total_tokens,this.liveNumber(n.total_tokens,0)),u=this.liveNumber(e.cached_input_ratio,this.liveNumber(n.cached_input_ratio,c>0?o/c:0));return{entries:Math.max(1,this.liveNumber(e.entries,this.liveNumber(n.entries,1))),input_tokens:c,uncached_input_tokens:a,cached_input_tokens:o,cache_write_input_tokens:s,output_tokens:i,total_tokens:l,cached_input_ratio:u,estimated_cached_characters:this.liveNumber(e.estimated_cached_characters,this.liveNumber(n.estimated_cached_characters,o*4))}},liveNumber(e,t){let n=Number(e);return Number.isFinite(n)?n:t},auditEntryShouldFetchDetail(e){return!e||e._detail_loading||e._detail_loaded||this.auditEntryLiveDetailPending(e)?!1:this.auditEntryNeedsPersistedLiveDetail(e)||e.bodies_omitted?!0:!this.auditEntryHasDetailData(e)},auditEntryLiveDetailPending(e){if(!e||!e._live)return!1;let t=String(e._live_state||``).trim();return t===`audit.failed`||!e._audit_flushed&&t!==`audit.flushed`&&t!==`audit.detail`},auditEntryNeedsPersistedLiveDetail(e){return!!(e&&e._live&&!e._detail_loaded)},auditEntryHasDetailData(e){let t=e&&e.data;return!t||typeof t!=`object`?!1:t.request_headers!==void 0||t.response_headers!==void 0||t.request_body!==void 0||t.response_body!==void 0||t.request_body_too_big_to_handle!==void 0||t.response_body_too_big_to_handle!==void 0||t.user_agent!==void 0||t.api_key_hash!==void 0||t.temperature!==void 0||t.max_tokens!==void 0||t.error_message!==void 0||t.error_code!==void 0},clearAuditDetailLoading(e){if(!e)return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim(),r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.find(e=>t&&String(e.id||``).trim()===t?!0:!!(n&&String(e.request_id||``).trim()===n)),a=i||e;a._detail_loading=!1,i&&(this.auditLog.entries=[...r])}}}var K4={"audit.started":10,"audit.updated":20,"audit.stream":20,"audit.completed":30,"audit.failed":40,"audit.flushed":40,"audit.detail":40},Eze=new Set(Object.keys(K4));function q4(e){return String(e&&(e.id||e.request_id)||``).trim()}function Dze(e,t){let n=e&&typeof e==`object`?e:{},r=t&&typeof t==`object`?t:{},i={...n,...r};if(r.data==null&&n.data!=null)i.data=n.data;else if(J4(n.data)&&J4(r.data)){i.data={...n.data,...r.data};let e=Aze(n.data.request_revisions,r.data.request_revisions);e&&(i.data.request_revisions=e)}let a=String(n._live_state||``).trim(),o=String(r._live_state||``).trim();return(K4[a]||0)>(K4[o]||0)&&(i._live_state=a),n._audit_flushed&&(i._audit_flushed=!0),i._audit_flushed&&(i._live_pending=!1),n._detail_loaded&&!r._detail_loaded&&(i._detail_loaded=!0,i.bodies_omitted=!1),i.bodies_omitted&&J4(i.data)&&(i.data.request_body!==void 0||i.data.response_body!==void 0)&&(i.bodies_omitted=!1),i}function Oze(e,t){let n=Number(t||0);return(Array.isArray(e)?e:[]).filter(e=>Number(e&&e.version||0)>n)}function kze(e){return Eze.has(String(e&&e.eventType||``).trim())}function Aze(e,t){return!Array.isArray(e)||!Array.isArray(t)?null:t.map(t=>{let n=Number(t&&t.seq||0),r=e.find(e=>Number(e&&e.seq||0)===n);if(!r)return t;let i={...t};return(i.body==null||i.body===``)&&r.body!=null&&(i.body=r.body),i.detail==null&&r.detail!=null&&(i.detail=r.detail),i})}function J4(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}var Y4=200,X4=class{#e=j(N({entries:[],total:0,limit:25,offset:0}));get auditLog(){return R(this.#e)}set auditLog(e){M(this.#e,e,!0)}#t=j(N({entries:[],total:0,limit:50,offset:0}));get usageLog(){return R(this.#t)}set usageLog(e){M(this.#t,e,!0)}#n=j(N({}));get auditRecords(){return R(this.#n)}set auditRecords(e){M(this.#n,e,!0)}#r=j(N([]));get auditRecordChanges(){return R(this.#r)}set auditRecordChanges(e){M(this.#r,e,!0)}auditRecordVersion=0;auditRecordPins=new Set;#i=j(``);get auditSearch(){return R(this.#i)}set auditSearch(e){M(this.#i,e,!0)}#a=j(``);get auditMethod(){return R(this.#a)}set auditMethod(e){M(this.#a,e,!0)}#o=j(``);get auditStatusCode(){return R(this.#o)}set auditStatusCode(e){M(this.#o,e,!0)}#s=j(``);get auditStream(){return R(this.#s)}set auditStream(e){M(this.#s,e,!0)}#c=j(Bi(`gomodel_audit_group_sessions`,`true`)!==`false`);get auditGroupSessions(){return R(this.#c)}set auditGroupSessions(e){M(this.#c,e,!0)}#l=j(N({}));get auditThreadChildren(){return R(this.#l)}set auditThreadChildren(e){M(this.#l,e,!0)}#u=j(``);get usageLogSearch(){return R(this.#u)}set usageLogSearch(e){M(this.#u,e,!0)}#d=j(``);get usageFilterModel(){return R(this.#d)}set usageFilterModel(e){M(this.#d,e,!0)}#f=j(``);get usageFilterProvider(){return R(this.#f)}set usageFilterProvider(e){M(this.#f,e,!0)}#p=j(``);get usageFilterLabel(){return R(this.#p)}set usageFilterLabel(e){M(this.#p,e,!0)}#m=j(``);get usageFilterUserPath(){return R(this.#m)}set usageFilterUserPath(e){M(this.#m,e,!0)}#h=j(``);get usageFilterSession(){return R(this.#h)}set usageFilterSession(e){M(this.#h,e,!0)}#g=j(!1);get usageLogHideCached(){return R(this.#g)}set usageLogHideCached(e){M(this.#g,e,!0)}#_=j(!1);get liveLogsStreaming(){return R(this.#_)}set liveLogsStreaming(e){M(this.#_,e,!0)}liveLogsLastSeq=0;liveLogsReconnectAttempts=0;liveLogsReconnectTimer=null;liveLogsController=null;skippedLiveUsageByRequestId=null;fetchUsage=null;fetchAuditLog=null;isAuditEntryExpanded=null;noteLiveTokenUsage=null;upsertAuditRecord(e,t=``){let n=q4(e);if(!n)return e;let r=Dze(this.auditRecords[n],e);return this.auditRecords={...this.auditRecords,[n]:r},this.pruneAuditRecords(),this.auditRecordVersion++,this.auditRecordChanges=[...this.auditRecordChanges,{version:this.auditRecordVersion,key:n,eventType:t}].slice(-512),r}upsertAuditRecords(e,t=``){return(Array.isArray(e)?e:[]).map(e=>this.upsertAuditRecord(e,t))}auditRecord(e){let t=typeof e==`string`?String(e).trim():q4(e);return t&&this.auditRecords[t]||null}cacheAuditRecord(e,t){return this.upsertAuditRecord(e,t)}pinAuditRecords(e){this.auditRecordPins=new Set((Array.isArray(e)?e:[]).map(String))}pruneAuditRecords(){let e=Object.keys(this.auditRecords);if(e.length<=Y4)return;let t={...this.auditRecords},n=e.length-Y4;for(let r of e){if(n<=0)break;this.auditRecordPins.has(r)||(delete t[r],n--)}this.auditRecords=t}get page(){return eX.page}get customStartDate(){return cZ.customStartDate}get customEndDate(){return cZ.customEndDate}get followsToday(){return cZ.followsToday}liveLogsEnabled(){return OX.liveLogsVisible()}async startLiveLogs(){typeof fetch!=`function`||typeof ReadableStream>`u`||(await OX.ensureLoaded(),this.liveLogsEnabled()&&(this.stopLiveLogs(),this.liveLogsController=typeof AbortController==`function`?new AbortController:null,this.readLiveLogsStream(this.liveLogsController)))}stopLiveLogs(){this.liveLogsStreaming=!1,this.liveLogsReconnectTimer&&=(clearTimeout(this.liveLogsReconnectTimer),null),this.liveLogsController&&typeof this.liveLogsController.abort==`function`&&this.liveLogsController.abort(),this.liveLogsController=null}ensureLiveLogs(){this.liveLogsController||this.liveLogsReconnectTimer||this.startLiveLogs()}async readLiveLogsStream(e){let t={};e&&(t.signal=e.signal);let n=wze(this.liveLogsLastSeq),r=X.generation;try{let i=await CX(n,t);if(i.status===401){if(X.handleUnauthorized(r),r{this.liveLogsReconnectTimer=null,this.startLiveLogs()},t)}async fetchAuditEntryDetail(e){if(!this.auditEntryShouldFetchDetail(e))return;let t=String(e.id||``).trim();if(!t)return;e._detail_loading=!0;let n=e;try{let e=await TX(`/admin/audit/detail?log_id=`+encodeURIComponent(t),{label:`audit detail`});if(e.stale||!e.ok)return;n=this.mergeLiveAuditEntry(e.data,`audit.detail`)||n}catch(e){console.error(`Failed to fetch audit detail:`,e)}finally{this.clearAuditDetailLoading(n)}}};Object.assign(X4.prototype,Tze());var Z4=new X4;if(typeof window<`u`){let e=!1;window.addEventListener(`pagehide`,()=>{e=!!Z4.liveLogsController,Z4.stopLiveLogs()}),window.addEventListener(`pageshow`,t=>{t.persisted&&e&&Z4.ensureLiveLogs()})}var Q4=null;pn(()=>{dn(()=>{let e=X.refreshTick;if(Q4===null){Q4=e;return}e!==Q4&&(Q4=e,nr(()=>{Z4.stopLiveLogs(),Z4.startLiveLogs()}))})});function $4(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,uncached_input_tokens:0,cached_input_tokens:0,cache_write_input_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null,rewrite_tokens_saved:0,rewrite_cost_saved:null}}function jze(){return{entries:[],total:0,limit:50,offset:0}}function e3(){return{entries:[],total:0,limit:50,offset:0}}function Mze(e){let t=String(e||``).trim();return t.length<=26?t||`-`:t.slice(0,15)+`…`+t.slice(-8)}function Nze(e,t){let n=[[`model`,e&&e.model],[`provider`,e&&e.provider],[`label`,e&&e.label],[`user_path`,e&&e.user_path],[`session_id`,e&&e.session_id]],r=``;for(let[e,i]of n)!i||e===t||(r+=`&`+e+`=`+encodeURIComponent(i));return r}function Pze({limit:e,offset:t,hideCached:n,search:r}){let i=`&limit=`+e+`&offset=`+t;return i+=`&cache_mode=`+(n?`uncached`:`all`),r&&(i+=`&search=`+encodeURIComponent(r)),i}function Fze({limit:e,offset:t}){return`&limit=`+e+`&offset=`+t}function t3(e,t){let n=new Set(e||[]);return t&&n.add(t),[...n].sort()}function Ize(e,t){let n=Number(t&&t.total_requests||0)-Number(e&&e.total_requests||0);return Number.isFinite(n)&&n>0?n:0}function Lze(e,t,n){let r=n?e:t,i=Number(r&&r.total_requests||0);return Number.isFinite(i)?i:0}function Rze(e,t,n){let r=Ize(e,t);return r<=0?``:n?Tse({count:UX(r)}):Ose({provider:UX(Number(e&&e.total_requests||0)),cache:UX(r)})}function zze(e){let t=e||{};return t.total_input_cost===null||t.total_input_cost===void 0?``:jse({input:WX(t.total_input_cost),output:WX(t.total_output_cost)})}function n3(e){let t=Number(e&&e.rewrite_tokens_saved||0);return Number.isFinite(t)&&t>0?t:0}function Bze(e){return n3(e)>0}function r3(e){let t=e||{};return t.rewrite_cost_saved===void 0?null:t.rewrite_cost_saved}function Vze(){return Pse()}function Hze(e,t){return t===`costs`?WX(r3(e)):qX(n3(e))}function Uze(e,t){let n=t===`costs`,r=n?Number(r3(e)):n3(e);if(!Number.isFinite(r)||r<=0)return null;let i=e&&(n?e.total_cost:e.total_input_tokens);if(i==null)return null;let a=Number(i);return!Number.isFinite(a)||a<0?null:r/(a+r)*100}function i3(e,t){let n=Uze(e,t);return n===null?``:Lse({percent:n<.1?`<0.1`:n.toFixed(1)})}function Wze(e,t){let n=n3(e);if(n<=0)return``;let r=[Bse({count:UX(n)}),Vze(),Use()],i=r3(e);i!=null&&(r.push(Kse({cost:WX(i)})),r.push(Yse()));let a=i3(e,t);return a&&r.push(Qse({percent:a,mode:t===`costs`?tce():ice()})),r.join(` +`),tool_timeout_seconds:e.tool_timeout_seconds?String(e.tool_timeout_seconds):``}}function JLe(e,t,n){let r=String(e.name||``).trim(),i=String(e.slug||b4(r)).trim().toLowerCase(),a=String(e.url||``).trim(),o=e.transport===`sse`?`sse`:`http`;if(!r)return{error:KU()};if(!/^[a-z0-9][a-z0-9_-]{0,63}$/.test(i))return{error:YU()};if(t===`create`&&(n||[]).some(e=>g4(e)===i))return{error:QU({slug:i})};if(!a)return{error:tW()};let s,c=String(e.tool_timeout_seconds||``).trim();if(c!==``){let e=Number(c);if(!Number.isSafeInteger(e)||e<0)return{error:iW()};s=e}return{payload:{name:r,slug:i,url:a,transport:o,headers:GLe(e.headers),description:String(e.description||``).trim(),enabled:!!e.enabled,allowed_tools:VX(e.allowed_tools),disallowed_tools:VX(e.disallowed_tools),user_paths:ULe(e.user_paths),tool_timeout_seconds:s}}}function YLe(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>(Array.isArray(e)?e:[]).filter(e=>e&&typeof e==`object`);return{server:String(n.server||e||``).trim(),status:String(n.status||``).trim(),instructions:String(n.instructions||``).trim(),tools:r(n.tools),prompts:r(n.prompts),resources:r(n.resources),templates:r(n.templates)}}function XLe(e,t){return String(e&&e.server||``)+`_`+String(t||``)}function x4(e){let t=e||h4(),n=(e,t)=>{let n=String(e||``).trim(),r=String(t||``).trim();return n&&r?n+` — `+r:r||n},r=e=>n=>({key:e+`:`+String(n.name||``),name:String(n.name||``),aggregated:XLe(t,n.name),description:String(n.description||``).trim()});return[{key:`tools`,title:sW(),items:(t.tools||[]).map(r(`tool`))},{key:`prompts`,title:uW(),items:(t.prompts||[]).map(r(`prompt`))},{key:`resources`,title:pW(),items:(t.resources||[]).map(e=>({key:`resource:`+String(e.uri||``),name:String(e.uri||``),aggregated:``,description:n(e.name,e.description)}))},{key:`templates`,title:gW(),items:(t.templates||[]).map(e=>({key:`template:`+String(e.uri_template||``),name:String(e.uri_template||``),aggregated:``,description:n(e.name,e.description)}))}].filter(e=>e.items.length>0)}function ZLe(e){return x4(e).length===0}function S4(e){return(e||[]).length}function C4(e){return(e||[]).filter(e=>_4(e)===`connected`).length}function w4(e){return(e||[]).filter(e=>e&&e.enabled!==!1&&_4(e)===`degraded`).length}function QLe(e,t){return!!e&&S4(t)>0}function $Le(e){return String(C4(e))+`/`+String(S4(e))}function eRe(e){return w4(e)>0?`is-degraded`:`is-healthy`}function tRe(e){let t=w4(e);if(t>0)return Tf({count:t});let n=S4(e),r=C4(e);return n>0&&r===n?xu():Of({connected:r,total:n})}function T4(){return{interval:`day`,buckets:[],summary:{requests:0},provider_latency:[]}}function nRe(e){let t=e&&typeof e==`object`?e:{};return{interval:t.interval===`hour`?`hour`:`day`,buckets:Array.isArray(t.buckets)?t.buckets:[],summary:t.summary&&typeof t.summary==`object`?t.summary:{requests:0},provider_latency:Array.isArray(t.provider_latency)?t.provider_latency:[]}}function rRe(e){return Number(e&&e.summary&&e.summary.requests||0)>0}function iRe(e){return(e&&Array.isArray(e.provider_latency)?e.provider_latency:[]).length>0}function aRe(e){let t=e&&e.summary?e.summary.success_rate:null;return t==null?`—`:(Math.round(Number(t)*1e3)/10).toFixed(1)+`%`}function E4(e,t){return Number(e&&e.summary&&e.summary[t]||0)}function D4(e){let t=Number(e);return Number.isFinite(t)?t>=6e4?(t/6e4).toFixed(1)+` min`:t>=1e3?(t/1e3).toFixed(2)+` s`:Math.round(t)+` ms`:`-`}function oRe(e){let t=e&&e.summary?e.summary.avg_duration_ms:null;return t==null?`—`:D4(Number(t))}function O4(e,t){try{let n={},r=Y();return new Intl.DateTimeFormat(r,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,hourCycle:`h23`}).formatToParts(e).forEach(e=>{n[e.type]=e.value}),{year:n.year,month:n.month,day:n.day,hour:Number(n.hour),shortDate:new Intl.DateTimeFormat(r,{timeZone:t,month:`short`,day:`numeric`}).format(e),fullDate:new Intl.DateTimeFormat(r,{timeZone:t,year:`numeric`,month:`short`,day:`numeric`}).format(e)}}catch{let t=new Intl.DateTimeFormat(Y(),{month:`short`}).format(e);return{year:String(e.getFullYear()),month:t,day:String(e.getDate()),hour:e.getHours(),shortDate:t+` `+e.getDate(),fullDate:t+` `+e.getDate()+`, `+e.getFullYear()}}}function k4(e,t,n){let r=new Date(e.start);if(Number.isNaN(r.getTime()))return String(e.start||``);let i=O4(r,n),a=i.shortDate;return t!==`hour`||i.hour===0?a:String(i.hour).padStart(2,`0`)+`:00`}function A4(e,t,n,r){let i=new Date(e.start);return Number.isNaN(i.getTime())?String(e.start||``):t===`hour`?r(e.start):O4(i,n).fullDate}function sRe(e){return{ok:e(`var(--success)`),clientError:e(`var(--warning)`),serverError:e(`var(--danger)`),other:e(`color-mix(in srgb, var(--text-muted) 55%, transparent)`)}}function cRe(e,t,n={}){let r=n.interval===`hour`?`hour`:`day`,i=n.zone,a=n.resolve||(e=>e),o=n.formatTimestamp||(e=>String(e)),s=t.map(e=>k4(e,r,i)),c=sRe(a),l=a(`var(--bg-surface)`),u=e=>Number(e)||0,d=(e,t,n)=>({label:e,data:t,backgroundColor:n,borderColor:l,borderWidth:1,borderSkipped:!1,borderRadius:2,maxBarThickness:28}),f=[d(`2xx`,t.map(e=>u(e.status_2xx)),c.ok),d(`4xx`,t.map(e=>u(e.status_4xx)),c.clientError),d(`5xx`,t.map(e=>u(e.status_5xx)),c.serverError)];return t.some(e=>u(e.status_other)>0)&&f.push(d(Kf(),t.map(e=>u(e.status_other)),c.other)),{type:`bar`,data:{labels:s,datasets:f},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:P2(e,{title:e=>e.length?A4(t[e[0].dataIndex],r,i,o):``,label:e=>e.dataset.label+`: `+iZ(e.parsed.y),footer:e=>{let t=0;return e.forEach(e=>{t+=Number(e.parsed.y)||0}),uf({total:iZ(t)})}})},scales:{x:{stacked:!0,grid:{display:!1},border:{display:!1},ticks:{color:e.text,font:N2(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{stacked:!0,beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:N2(),precision:0,callback:e=>qX(e)}}}}}}function j4(e=GIe()){let t={};return function(n){return n in t||(t[n]=e[Object.keys(t).length%e.length]),t[n]}}function lRe(e,t,n,r={}){let i=r.interval===`hour`?`hour`:`day`,a=r.zone,o=r.formatTimestamp||(e=>String(e)),s=r.providerColor||j4();return{type:`line`,data:{labels:t.map(e=>k4(e,i,a)),datasets:n.map(e=>({label:e.provider,data:(e.avg_duration_ms||[]).map(e=>e==null?null:Number(e)),borderColor:s(e.provider),backgroundColor:s(e.provider),fill:!1,tension:.3,borderWidth:2,pointRadius:0,pointHoverRadius:4,spanGaps:i===`hour`&&2}))},options:{responsive:!0,maintainAspectRatio:!1,animation:{duration:0},interaction:{mode:`index`,intersect:!1},plugins:{legend:{labels:{color:e.text,font:{size:12}}},tooltip:P2(e,{title:e=>e.length?A4(t[e[0].dataIndex],i,a,o):``,label:e=>{let t=(n[e.datasetIndex]&&n[e.datasetIndex].requests||[])[e.dataIndex],r=Number(t)||0;return e.dataset.label+`: `+D4(e.parsed.y)+(r>0?` (`+r.toLocaleString()+` req)`:``)}})},scales:{x:{grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:N2(),maxRotation:0,autoSkip:!0,maxTicksLimit:12}},y:{beginAtZero:!0,grid:{color:e.grid},border:{display:!1},ticks:{color:e.text,font:N2(),callback:e=>D4(e)}}}}}}var uRe=class{#e=j(N(o4()));get status(){return R(this.#e)}set status(e){M(this.#e,e,!0)}#t=j(!1);get loading(){return R(this.#t)}set loading(e){M(this.#t,e,!0)}#n=j(!1);get loadedOnce(){return R(this.#n)}set loadedOnce(e){M(this.#n,e,!0)}#r=j(!1);get detailsExpanded(){return R(this.#r)}set detailsExpanded(e){M(this.#r,e,!0)}#i=j(N({}));get cardOverrides(){return R(this.#i)}set cardOverrides(e){M(this.#i,e,!0)}#a=null;#o=null;#s=!1;initPreferences(){if(this.#s)return;this.#s=!0;let e=bLe(zi());this.detailsExpanded=e.detailsExpanded,this.cardOverrides=e.cardOverrides}cardExpanded(e){return SLe(this.cardOverrides,this.detailsExpanded,e)}toggleCard(e){let t=e&&e.name?String(e.name):``;if(!t)return;let n={...this.cardOverrides};n[t]=!this.cardExpanded(e),this.cardOverrides=n,s4(zi(),this.cardOverrides)}toggleDetails(){this.detailsExpanded=!this.detailsExpanded,this.cardOverrides={},xLe(zi(),this.detailsExpanded),s4(zi(),this.cardOverrides)}detailsToggleLabel(){return this.detailsExpanded?fl():ll()}async fetch(){this.initPreferences(),this.#a&&this.#a.abort();let e=new AbortController;this.#a=e,this.loading=!0;try{let t=await TX(`/admin/providers/status`,{label:`provider status`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.status=o4(),this.#l();return}let n=t.data&&typeof t.data==`object`?t.data:o4();n.summary||=o4().summary,Array.isArray(n.providers)||(n.providers=[]),this.status=n,this.#c()}catch(e){if(DX(e))return;console.error(`Failed to fetch provider status:`,e),this.status=o4(),this.#l()}finally{this.#a===e&&(this.#a=null,this.loading=!1,this.loadedOnce=!0)}}#c(){this.#l(),OLe(this.status.providers)&&(this.#o=setTimeout(()=>{this.#o=null,this.fetch()},_Le))}#l(){this.#o&&=(clearTimeout(this.#o),null)}stopPolling(){this.#l()}},dRe=class{#e=j(N(T4()));get stats(){return R(this.#e)}set stats(e){M(this.#e,e,!0)}#t=j(!1);get loading(){return R(this.#t)}set loading(e){M(this.#t,e,!0)}#n=0;async fetch(){let e=++this.#n;this.loading=!0;try{let t=await TX(`/admin/audit/stats?`+cZ.queryStr(),{label:`audit stats`});if(t.stale||e!==this.#n)return;if(!t.ok){this.stats=T4();return}this.stats=nRe(t.data)}catch(t){if(console.error(`Failed to fetch audit stats:`,t),e!==this.#n)return;this.stats=T4()}finally{e===this.#n&&(this.loading=!1)}}},fRe=class{#e=j(N([]));get servers(){return R(this.#e)}set servers(e){M(this.#e,e,!0)}#t=j(!1);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}async fetch(){if(await OX.ensureLoaded(),!OX.mcpVisible()){this.available=!1,this.servers=[];return}this.loading=!0;try{let e=await TX(`/admin/mcp-servers`,{label:`mcp servers`});if(e.stale)return;if(e.status===503||e.status===404){this.available=!1,this.servers=[];return}if(this.available=!0,!e.ok){this.servers=[];return}this.servers=Array.isArray(e.data)?e.data:[]}catch(e){console.error(`Failed to fetch MCP servers:`,e),this.servers=[]}finally{this.loading=!1}}},pRe=class{#e=j(N([]));get data(){return R(this.#e)}set data(e){M(this.#e,e,!0)}#t=j(`tokens`);get mode(){return R(this.#t)}set mode(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=null;async fetch(){this.#r&&this.#r.abort();let e=new AbortController;this.#r=e,this.loading=!0;try{let t=await TX(`/admin/usage/daily?days=365&interval=daily`,{label:`calendar`,signal:e.signal});if(t.stale||e.signal.aborted)return;if(!t.ok){this.data=[];return}this.data=Array.isArray(t.data)?t.data:[]}catch(e){if(DX(e))return;console.error(`Failed to fetch calendar data:`,e),this.data=[]}finally{this.#r===e&&(this.#r=null,this.loading=!1)}}},M4=new uRe,N4=new dRe,P4=new fRe,F4=new pRe,I4=(e,t=f,n=f,r=f,i=f,a=f)=>{var o=hRe(),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=P(l),d=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},p=e=>{var t=mRe(),a=F(t),o=P(a),s=P(o,!0);D(o),Ve(),D(a);var c=I(a,4),l=P(c),u=P(l,!0);D(l),Ve(),D(c);var d=I(c,4),f=P(d,!0);D(d),L((e,t,n,r,i,o)=>{K(a,`title`,e),H(s,t),K(c,`title`,n),H(u,r),K(d,`title`,i),H(f,o)},[()=>JX(Is(),n()),()=>qX(n()),()=>JX(zs(),r()),()=>qX(r()),()=>JX(Js(),i()),()=>qX(i())]),V(e,t)};U(u,e=>{a()?e(d):e(p,-1)}),D(l),D(o),L(()=>H(c,t())),V(e,o)},L4=(e,t=f,n=f,r=f,i=f,a=f,o=f)=>{var s=vRe(),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u,!0);D(u);var p=I(u,2),m=e=>{var t=gRe(),n=P(t,!0);D(t),L(()=>{K(t,`aria-label`,o().title),K(t,`title`,o().title),H(n,a())}),z(`click`,t,function(...e){o().onclick?.apply(this,e)}),V(e,t)},h=e=>{var t=_Re(),n=P(t,!0);D(t),L(()=>H(n,a())),V(e,t)};U(p,e=>{o()?e(m):e(h,-1)}),D(s),L(()=>{G(s,1,`card provider-status-flag ${t()??``} ${n()??``}`,`svelte-6tr9cf`),H(l,r()),H(d,i())}),V(e,s)},mRe=B(` i + o = `,1),hRe=B(`
`),gRe=B(``),_Re=B(` `),vRe=B(`
`),yRe=B(`
`),bRe=B(`
`),xRe=B(``),SRe=B(`
`);function CRe(e,t){O(t,!0);let n=A(()=>pZ.summary),r=A(()=>pZ.cacheOverview),i=A(()=>pZ.cacheAnalyticsEnabled()),a=A(()=>M4.status.summary),o=A(()=>pZ.loading),s=A(()=>pZ.cacheLoading),c=A(()=>R(o)||R(i)&&R(s));function l(){let e=document.getElementById(`provider-status-section`);e&&(e.scrollIntoView({behavior:`smooth`,block:`start`}),e.focus({preventScroll:!0}))}var u=SRe(),d=P(u);{let e=A(()=>Ns()),t=A(()=>aLe(R(n)));I4(d,()=>R(e),()=>R(n).total_input_tokens,()=>R(n).total_output_tokens,()=>R(t),()=>R(o))}var f=I(d,2),p=P(f),m=P(p,!0);D(p);var h=I(p,2),g=P(h),_=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},v=e=>{var t=wr();L(e=>H(t,e),[()=>UX(Z2(R(n),R(r),R(i)))]),V(e,t)};U(g,e=>{R(c)?e(_):e(v,-1)}),D(h),D(f);var y=I(f,2),b=e=>{var t=yRe(),n=P(t),i=P(n,!0);D(n);var a=I(n,2),o=P(a),c=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},l=e=>{var t=wr();L(e=>H(t,e),[()=>UX(R(r).summary.total_hits)]),V(e,t)};U(o,e=>{R(s)?e(c):e(l,-1)}),D(a),D(t),L(e=>H(i,e),[()=>ec()]),V(e,t)};U(y,e=>{R(i)&&e(b)});var x=I(y,2),S=P(x),C=P(S,!0);D(S);var w=I(S,2),T=P(w),ee=e=>{{let t=A(()=>Uo());Y2(e,{size:18,get label(){return R(t)}})}},E=e=>{var t=wr();L(e=>H(t,e),[()=>WX(R(n).total_cost)]),V(e,t)};U(T,e=>{R(o)?e(ee):e(E,-1)}),D(w),D(x);var te=I(x,2),ne=e=>{{let t=A(()=>oc()),n=A(()=>sLe(R(r)));I4(e,()=>R(t),()=>R(r).summary.total_input_tokens,()=>R(r).summary.total_output_tokens,()=>R(n),()=>R(s))}};U(te,e=>{R(i)&&e(ne)});var re=I(te,2),ie=P(re),ae=P(ie,!0);D(ie);var oe=I(ie,2),se=e=>{var t=bRe(),n=P(t);{let e=A(()=>Uo());Y2(n,{size:18,get label(){return R(e)}})}D(t),V(e,t)},ce=e=>{var t=xRe(),r=P(t);k2(r,{build:()=>gLe(n4(R(n)),F2(`var(--token-prompt)`),F2(`var(--bg-surface-hover)`))});var i=I(r,2),a=P(i,!0);D(i),D(t),L((e,n)=>{K(t,`aria-label`,e),H(a,n)},[()=>hc({rate:r4(R(n))}),()=>r4(R(n))]),V(e,t)};U(oe,e=>{R(o)?e(se):e(ce,-1)}),D(re);var le=I(re,2),ue=e=>{{let t=A(()=>CLe(R(a))),n=A(()=>vc()),r=A(()=>TLe(R(a))),i=A(()=>DLe(R(a))),o=A(()=>ELe(R(a))?{title:xc(),onclick:l}:null);L4(e,()=>`provider-status-overview-card`,()=>R(t),()=>R(n),()=>R(r),()=>R(i),()=>R(o))}};U(le,e=>{R(a).total>0&&e(ue)});var de=I(le,2),fe=e=>{{let t=A(()=>eRe(P4.servers)),n=A(()=>Ho()),r=A(()=>$Le(P4.servers)),i=A(()=>tRe(P4.servers)),a=A(()=>({title:wc(),onclick:()=>eX.navigate(`mcp-servers`)}));L4(e,()=>`mcp-servers-flag`,()=>R(t),()=>R(n),()=>R(r),()=>R(i),()=>R(a))}},pe=A(()=>QLe(P4.available,P4.servers));U(de,e=>{R(pe)&&e(fe)}),D(u),L((e,t,n,r,i)=>{H(m,e),K(h,`title`,t),H(C,n),K(re,`title`,r),H(ae,i)},[()=>Zs(),()=>oLe(R(n),R(r),R(i)),()=>rc(),()=>fc(),()=>lc()]),V(e,u),k()}vr([`click`]);var wRe=B(` `),TRe=B(`
`),ERe=B(` `),DRe=B(`
`),ORe=B(`

`);function kRe(e,t){O(t,!0);let n=A(()=>pZ.cacheAnalyticsEnabled()),r=A(()=>$2(pZ.summary,pZ.cacheOverview,R(n))),i=A(()=>uLe(pZ.summary,pZ.cacheOverview,R(n))),a=A(()=>lLe(pZ.summary,pZ.cacheOverview,R(n))),o=A(()=>!R(a)&&(pZ.loading||pZ.cacheLoading));var s=ORe(),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d),D(c);var p=I(c,2);let m;var h=P(p);W(h,17,()=>R(i),e=>e.key,(e,t)=>{var n=TRe(),r=P(n),i=e=>{var n=wRe(),r=P(n);D(n),L(()=>H(r,`${R(t).pct??``}%`)),V(e,n)};U(r,e=>{R(t).pct>=8&&e(i)}),D(n),L(e=>{ui(n,`width: ${R(t).pct??``}%; background: var(${R(t).colorVar??``})`),K(n,`title`,e)},[()=>e4(R(t))]),V(e,n)});var g=I(h,2),_=e=>{{let t=A(()=>Uo());Y2(e,{size:16,get label(){return R(t)}})}},v=e=>{var t=ERe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Du()]),V(e,t)};U(g,e=>{R(o)?e(_):R(a)||e(v,1)}),D(p);var y=I(p,2);W(y,21,()=>R(r),e=>e.key,(e,t)=>{var n=DRe(),r=P(n),i=I(r,2),a=P(i,!0);D(i);var o=I(i,2),s=P(o);D(o);var c=I(o,2),l=P(c,!0);D(c),D(n),L((e,i)=>{K(n,`title`,e),ui(r,`background: var(${R(t).colorVar??``})`),H(a,R(t).label),H(s,`${R(t).pct??``}%`),H(l,i)},[()=>e4(R(t)),()=>UX(R(t).tokens)]),V(e,n)}),D(y),D(s),L((e,t,n)=>{H(u,e),H(f,t),m=G(p,1,`cache-meter-bar svelte-1yzecxj`,null,m,{"is-empty":!R(a)}),K(p,`role`,R(o)?void 0:`img`),K(p,`aria-label`,n)},[()=>Ns(),()=>wu(),()=>R(o)?void 0:dLe(R(i))]),V(e,s),k()}var ARe=Cr(` `),jRe=Cr(``);function R4(e,t){let n=q(t,`label`,3,`No data`);var r=jRe(),i=I(P(r),9),a=e=>{var t=ARe(),r=P(t,!0);D(t),L(()=>H(r,n())),V(e,t)};U(i,e=>{n()&&e(a)}),D(r),L(()=>{K(r,`role`,n()?`img`:void 0),K(r,`aria-label`,n()||void 0),K(r,`aria-hidden`,n()?void 0:`true`)}),V(e,r)}var z4=B(`
`),MRe=B(`

`);function NRe(e,t){O(t,!0);let n=[{value:`daily`,label:zne},{value:`weekly`,label:Hne},{value:`monthly`,label:Gne},{value:`yearly`,label:Jne}];function r(e){cZ.interval=e,t.onintervalchange?.()}function i(){let e=pZ.daily;if(e.length===0)return null;let t=cZ.rangeStart(),n=cZ.rangeEnd(),r=pLe(t4(e,cZ.interval,t,n),t4(Array.isArray(pZ.cacheOverview.daily)?pZ.cacheOverview.daily:[],cZ.interval,t,n));return hLe(M2(),r,{cacheEnabled:pZ.cacheAnalyticsEnabled(),resolve:F2})}var a=MRe(),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s,2);{let e=A(()=>Ine()),t=A(()=>n.map(e=>({value:e.value,label:e.label()})));A2(l,{get ariaLabel(){return R(e)},get options(){return R(t)},get value(){return cZ.interval},onchange:r})}D(o);var u=I(o,2),d=P(u);k2(d,{build:i});var f=I(d,2),p=e=>{var t=z4(),n=P(t);{let e=A(()=>Uo());Y2(n,{size:24,get label(){return R(e)}})}D(t),V(e,t)},m=e=>{var t=z4();R4(P(t),{}),D(t),V(e,t)};U(f,e=>{pZ.daily.length===0&&pZ.loading?e(p):pZ.daily.length===0&&!X.authError&&e(m,1)}),D(u),D(a),L(e=>H(c,e),[()=>cZ.chartTitle()]),V(e,a),k()}var B4=10,PRe=.7;function FRe(e,t){if(e<=0||t<=0)return 0;let n=(e/t)**+PRe,r=Math.ceil(n*B4);return r<1?1:r>B4?B4:r}function IRe(){let e=[];for(let t=0;t<=B4;t++)e.push(t);return e}function LRe(e,t,n){let r={};(e||[]).forEach(e=>{r[e.date]=e});let i=cX(uX(n,-364)),a=i.getUTCDay();i.setUTCDate(i.getUTCDate()-a);let o=[];for(let e=new Date(i);lX(e)<=n;e.setUTCDate(e.getUTCDate()+1)){let n=lX(e),i=r[n],a=0;i&&(a=t===`costs`?i.total_cost==null?0:i.total_cost:i.total_tokens||0),o.push({dateStr:n,value:a,level:0,empty:!1})}let s=0;for(let e=0;es&&(s=o[e].value);for(let e=0;e0){for(;l.length<7;)l.push({dateStr:``,value:0,level:0,empty:!0});c.push(l)}return c}function RRe(e){let t=cX(uX(e,-364)),n=t.getUTCDay();t.setUTCDate(t.getUTCDate()-n);let r=new Intl.DateTimeFormat(Y(),{month:`short`,timeZone:`UTC`}),i=[],a={},o=0;for(let n=new Date(t);lX(n)<=e;n.setUTCDate(n.getUTCDate()+7),o++){let t=null;if(o===0)t=new Date(n);else for(let r=0;r<7;r++){let i=new Date(n);if(i.setUTCDate(n.getUTCDate()+r),lX(i)>e)break;if(i.getUTCDate()===1){t=i;break}}if(!t)continue;let s=t.getUTCFullYear()+`-`+t.getUTCMonth();a[s]||(i.push({label:r.format(t),col:o,key:s}),a[s]=!0)}for(let e=0;e `),URe=B(`
`),WRe=B(`
`),GRe=B(`
`),KRe=B(`
`),qRe=B(`

`,1);function JRe(e,t){O(t,!0);let n=j(N({show:!1,x:0,y:0,text:``})),r=A(()=>yX.currentDateKey()),i=A(()=>LRe(F4.data,F4.mode,R(r))),a=A(()=>RRe(R(r)));function o(e,t){t.empty||M(n,{show:!0,x:e.clientX,y:e.clientY,text:VRe(t,F4.mode)},!0)}function s(){M(n,{show:!1,x:0,y:0,text:``},!0)}var c=qRe(),l=F(c),u=P(l),d=P(u),f=P(d,!0);D(d);var p=I(d,2),m=e=>{{let t=A(()=>ed());Y2(e,{size:14,get label(){return R(t)}})}};U(p,e=>{F4.loading&&F4.data.length===0&&e(m)});var h=I(p,2);{let e=A(()=>rd()),t=A(()=>[{value:`tokens`,label:Ns()},{value:`costs`,label:od()}]);A2(h,{get ariaLabel(){return R(e)},get options(){return R(t)},get value(){return F4.mode},onchange:e=>F4.mode=e})}D(u);var g=I(u,2),_=P(g),v=I(P(_),2),y=P(v,!0);D(v);var b=I(v,4),x=P(b,!0);D(b);var S=I(b,4),C=P(S,!0);D(S),Ve(2),D(_);var w=I(_,2),T=P(w);W(T,21,()=>R(a),e=>e.key,(e,t)=>{var n=HRe(),r=P(n,!0);D(n),L(()=>{ui(n,`grid-column: ${R(t).col+1} / span ${R(t).span??``}`),H(r,R(t).label)}),V(e,n)}),D(T);var ee=I(T,2);W(ee,21,()=>R(i),Ar,(e,t,n)=>{var r=WRe();W(r,23,()=>R(t),(e,t)=>n+`-`+t,(e,t)=>{var n=URe();L(()=>G(n,1,ai([`contribution-calendar-cell`,R(t).empty?`empty`:`level-${R(t).level}`]),`svelte-3hfxuq`)),_r(`mouseenter`,n,e=>o(e,R(t))),_r(`mouseleave`,n,s),V(e,n)}),D(r),V(e,r)}),D(ee),D(w),D(g);var E=I(g,2),te=P(E),ne=P(te),re=P(ne,!0);D(ne),D(te);var ie=I(te,2),ae=P(ie),oe=P(ae,!0);D(ae);var se=I(ae,2);W(se,16,IRe,e=>e,(e,t)=>{var n=GRe();L(()=>G(n,1,`contribution-calendar-cell level-${t??``}`,`svelte-3hfxuq`)),V(e,n)});var ce=I(se,2),le=P(ce,!0);D(ce),D(ie),D(E),D(l);var ue=I(l,2),de=e=>{var t=KRe(),r=P(t,!0);D(t),L(()=>{ui(t,`left: ${R(n).x??``}px; top: ${R(n).y-40}px`),H(r,R(n).text)}),V(e,t)};U(ue,e=>{R(n).show&&e(de)}),L((e,t,n,r,i,a,o)=>{H(f,e),H(y,t),H(x,n),H(C,r),H(re,i),H(oe,a),H(le,o)},[()=>Zu(),()=>ld(),()=>fd(),()=>hd(),()=>zRe(F4.data,F4.mode),()=>vd(),()=>xd()]),V(e,c),k()}var YRe=B(``),XRe=B(`

`),ZRe=B(`
`);function V4(e,t){O(t,!0);let n=q(t,`label`,3,`help`),r=q(t,`text`,3,``),i=q(t,`open`,15,!1),a=q(t,`external`,3,!1),o=A(()=>!!r()||!!t.help||a());var s=ZRe(),c=P(s),l=P(c);Br(l,()=>t.title??f);var u=I(l,2),d=e=>{var r=YRe();let a;L(()=>{a=G(r,1,`inline-help-toggle svelte-y40or3`,null,a,{"is-open":i()}),K(r,`aria-label`,(i()?`Hide `:`Show `)+n()),K(r,`aria-expanded`,i()),K(r,`aria-controls`,t.copyId)}),z(`click`,r,()=>i(!i())),V(e,r)};U(u,e=>{R(o)&&e(d)}),Br(I(u,2),()=>t.extra??f),D(c);var p=I(c,2),m=e=>{var n=XRe(),i=P(n),a=e=>{var n=Tr();Br(F(n),()=>t.help),V(e,n)},o=e=>{var t=wr();L(()=>H(t,r())),V(e,t)};U(i,e=>{t.help?e(a):e(o,-1)}),D(n),L(()=>K(n,`id`,t.copyId)),V(e,n)};U(p,e=>{i()&&R(o)&&!a()&&e(m)}),D(s),V(e,s),k()}vr([`click`]);var QRe=B(`
`);function H4(e,t){let n=q(t,`label`,3,`Loading...`),r=q(t,`class`,3,``);var i=QRe(),a=I(P(i),2),o=P(a,!0);D(a),D(i),L(()=>{G(i,1,ai([`loading-state`,r()]),`svelte-hzxv1d`),H(o,n())}),V(e,i)}var $Re=B(`

`),eze=B(`
`),tze=B(`

2xx 4xx 5xx
`,1),nze=B(`
`);function rze(e,t){O(t,!0);let n=j4(),r=A(()=>N4.stats);function i(){return{interval:R(r).interval,zone:yX.effectiveTimezone(),resolve:F2,formatTimestamp:e=>yX.formatTimestamp(e)}}var a=Tr(),o=F(a),s=e=>{var t=tze(),a=F(t),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=P(l),d=P(u),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p),D(u);var h=I(u,2),g=I(P(h),4),_=P(g,!0);D(g),D(h);var v=I(h,2),y=I(P(v),4),b=P(y,!0);D(y),D(v);var x=I(v,2),S=I(P(x),4),C=P(S,!0);D(S),D(x),D(l),D(o);var w=I(o,2);k2(P(w),{build:()=>cRe(M2(),R(r).buckets,i())}),D(w),D(a);var T=I(a,2),ee=e=>{var t=eze(),a=P(t),o=P(a);{let e=e=>{var t=$Re(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>zc()]),V(e,t)},t=A(()=>Hc()),n=A(()=>Gc());V4(o,{copyId:`audit-latency-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}var s=I(o,2),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d),D(c),D(s),D(a);var p=I(a,2);k2(P(p),{build:()=>lRe(M2(),R(r).buckets,R(r).provider_latency,{...i(),providerColor:n})}),D(p),D(t),L((e,t,n)=>{K(c,`title`,e),H(u,t),H(f,n)},[()=>Jc(),()=>Zc(),()=>oRe(R(r))]),V(e,t)},E=A(()=>iRe(R(r)));U(T,e=>{R(E)&&e(ee)}),L((e,t,n,r,i,a,o,s)=>{H(c,e),K(l,`aria-label`,t),K(u,`title`,n),H(f,r),H(m,i),H(_,a),H(b,o),H(C,s)},[()=>Dc(),()=>Ac(),()=>Nc(),()=>Ic(),()=>aRe(R(r)),()=>UX(E4(R(r),`status_2xx`)),()=>UX(E4(R(r),`status_4xx`)),()=>UX(E4(R(r),`status_5xx`))]),V(e,t)},c=A(()=>rRe(R(r))),l=e=>{var t=nze(),n=P(t);{let e=A(()=>rl());H4(n,{get label(){return R(e)}})}D(t),V(e,t)};U(o,e=>{R(c)?e(s):N4.loading&&e(l,1)}),V(e,a),k()}var U4=(e,t=f,n=f,r)=>{let i=gt(()=>h(r?.(),!1));var a=oze(),o=P(a),s=P(o,!0);D(o);var c=I(o,2),l=e=>{var t=ize(),r=P(t,!0);D(t),L(()=>H(r,n())),V(e,t)},u=e=>{var t=aze(),r=P(t,!0);D(t),L(()=>H(r,n())),V(e,t)};U(c,e=>{R(i)?e(l):e(u,-1)}),D(a),L(()=>H(s,t())),V(e,a)},ize=B(` `),aze=B(` `),oze=B(`
`),sze=B(`

`),cze=B(`
`),lze=B(`
`),uze=B(`
`),dze=B(`
`),fze=B(`

`);function pze(e,t){O(t,!0);let n=A(()=>ILe(t.provider)),r=A(()=>[[Il(),t.provider.config?.base_url],[zl(),t.provider.config?.api_version]].filter(([,e])=>!!e));var i=fze();let a;var o=P(i),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=e=>{var n=sze(),r=P(n,!0);D(n),L(()=>H(r,t.provider.last_error)),V(e,n)};U(l,e=>{t.provider.last_error&&e(u)});var d=I(l,2),f=e=>{var r=dze(),i=P(r);{let e=A(()=>Hl()),n=A(()=>LLe(t.provider));U4(i,()=>R(e),()=>R(n))}var a=I(i,2),o=e=>{var r=cze(),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o),c=P(s,!0);D(s),D(o),D(r),L((e,t)=>{H(a,e),G(s,1,ai([`provider-status-health-state`,R(n)]),`svelte-6y9wjv`),H(c,t)},[()=>Gl(),()=>FLe(t.provider)]),V(e,r)},s=A(()=>f4(t.provider));U(a,e=>{R(s)&&e(o)});var c=I(a,2),l=e=>{var n=uze(),r=P(n),i=P(r,!0);D(r);var a=I(r,2);W(a,21,()=>p4(t.provider),e=>e.model,(e,t)=>{var n=lze();let r;var i=P(n),a=P(i,!0);D(i);var o=I(i,2),s=P(o,!0);D(o),D(n),L((e,i)=>{r=G(n,1,`provider-status-health-model svelte-6y9wjv`,null,r,{"is-flagged":R(t).flagged}),K(n,`title`,e),H(a,R(t).model),H(s,i)},[()=>zLe(R(t)),()=>RLe(R(t))]),V(e,n)}),D(a),D(n),L(e=>H(i,e),[()=>Jl()]),V(e,n)},u=A(()=>p4(t.provider).length>0);U(c,e=>{R(u)&&e(l)}),D(r),V(e,r)},p=A(()=>d4(t.provider));U(d,e=>{R(p)&&e(f)});var m=I(d,2),h=P(m);W(h,17,()=>R(r),([e,t])=>e,(e,t)=>{var n=A(()=>g(R(t),2));U4(e,()=>R(n)[0],()=>R(n)[1],()=>!0)});var _=I(h,2);{let e=A(()=>Zl()),n=A(()=>NLe(t.provider));U4(_,()=>R(e),()=>R(n))}var v=I(_,2);{let e=A(()=>eu()),n=A(()=>jLe(t.provider));U4(v,()=>R(e),()=>R(n))}var y=I(v,2);{let e=A(()=>ru()),n=A(()=>MLe(t.provider));U4(y,()=>R(e),()=>R(n))}D(m),D(o),D(i),L(()=>{a=G(i,1,`provider-status-details svelte-6y9wjv`,null,a,{"is-expanded":t.expanded,"is-collapsed":!t.expanded}),K(i,`aria-hidden`,!t.expanded),H(c,t.provider.status_reason)}),V(e,i),k()}var mze=B(` `),hze=B(``),gze=B(`

`);function _ze(e,t){O(t,!0);let n=A(()=>M4.cardExpanded(t.provider)),r=e=>yX.formatTimestamp(e);var i=gze(),a=P(i),o=P(a),s=P(o),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=e=>{var n=mze(),r=P(n);D(n),L(e=>H(r,`(${e??``})`),[()=>l4(t.provider)]),V(e,n)},f=A(()=>l4(t.provider));U(u,e=>{R(f)&&e(d)});var p=I(u,2),m=e=>{var n=hze();L((e,t,r)=>{K(n,`href`,e),K(n,`aria-label`,t),K(n,`title`,r)},[()=>u4(t.provider),()=>hl({provider:l4(t.provider)||t.provider.name}),()=>hl({provider:l4(t.provider)||t.provider.name})]),V(e,n)},h=A(()=>u4(t.provider));U(p,e=>{R(h)&&e(m)}),D(s),D(o);var g=I(o,2),_=P(g,!0);D(g),D(a);var v=I(a,2),y=P(v),b=P(y),x=P(b,!0);D(b);var S=I(b,2),C=P(S,!0);D(S),D(y);var w=I(y,2),T=P(w),ee=P(T,!0);D(T);var E=I(T,2),te=P(E,!0);D(E),D(w),D(v);var ne=I(v,2);pze(ne,{get provider(){return t.provider},get expanded(){return R(n)}});var re=I(ne,2);let ie;J(P(re),{get icon(){return EY},class:`provider-status-card-toggle-icon`}),D(re),D(i),L((e,r,i,a,o,s,c,u,d)=>{H(l,t.provider.name),G(g,1,`provider-status-pill ${e??``}`,`svelte-nopjmh`),K(g,`title`,r),H(_,t.provider.status_label),H(x,i),H(C,a),H(ee,o),K(E,`title`,s),H(te,c),ie=G(re,1,`provider-status-card-toggle svelte-nopjmh`,null,ie,{"is-expanded":R(n)}),K(re,`aria-expanded`,R(n)),K(re,`aria-label`,u),K(re,`title`,d)},[()=>wLe(t.provider.status),()=>PLe(t.provider),()=>vl(),()=>UX(t.provider.runtime?.inventory_stale?0:t.provider.runtime?.discovered_model_count),()=>xl(),()=>ALe(t.provider,r),()=>kLe(t.provider,r),()=>R(n)?Dl({provider:t.provider.name}):wl({provider:t.provider.name}),()=>R(n)?Nl():Al()]),z(`click`,re,()=>M4.toggleCard(t.provider)),V(e,i),k()}vr([`click`]);var vze=B(`

`),yze=B(`
`);function bze(e,t){O(t,!0);let n=A(()=>M4.status.providers);var r=Tr(),i=F(r),a=e=>{var t=vze(),r=P(t),i=P(r),a=P(i),o=P(a,!0);D(a),D(i);var s=I(i,2),c=P(s),l=P(c,!0);D(c);var u=I(c,2);let d;D(s),D(r);var f=I(r,2);W(f,21,()=>R(n),e=>e.name,(e,t)=>{_ze(e,{get provider(){return R(t)}})}),D(f),D(t),L((e,t,n)=>{H(o,e),K(s,`aria-checked`,M4.detailsExpanded),K(s,`title`,t),H(l,n),d=G(u,1,`provider-status-toggle-track svelte-1kx3uw4`,null,d,{"is-active":M4.detailsExpanded})},[()=>el(),()=>M4.detailsToggleLabel(),()=>M4.detailsToggleLabel()]),z(`click`,s,()=>M4.toggleDetails()),V(e,t)},o=e=>{var t=yze(),n=P(t);{let e=A(()=>ol());Y2(n,{size:18,get label(){return R(e)}})}D(t),V(e,t)};U(i,e=>{R(n).length>0?e(a):M4.loading&&!M4.loadedOnce&&e(o,1)}),V(e,r),k()}vr([`click`]);var xze=B(`
`);function W4(e,t){O(t,!0);function n(){pZ.fetchUsage(),pZ.fetchCacheOverview(``),N4.fetch(),M4.fetch(),P4.fetch(),F4.fetch()}function r(){pZ.fetchUsage(),pZ.fetchCacheOverview(``),N4.fetch()}function i(){r(),F4.fetch()}dn(()=>{if(X.refreshTick,eX.page===`overview`)return nr(()=>{n(),J2.start()}),()=>{J2.stop(),M4.stopPolling()}});var a=xze(),o=P(a);rLe(o,{});var s=I(o,2),c=P(s),l=P(c,!0);D(c),D(s);var u=I(s,2);hZ(P(u),{onchange:i}),D(u);var d=I(u,2);uZ(d,{});var f=I(d,2);CRe(f,{});var p=I(f,2);kRe(p,{});var m=I(p,2);NRe(m,{onintervalchange:r});var h=I(m,2);JRe(h,{});var g=I(h,2);rze(g,{}),bze(I(g,2),{}),D(a),L(e=>H(l,e),[()=>Nne()]),V(e,a),k()}var Sze=`/admin/live/logs?types=audit,usage`;function G4(e,t,n){return!!t&&String(e&&e.id||``).trim()===t||!!n&&String(e&&e.request_id||``).trim()===n}function Cze(e){switch(e){case`date_range`:return jue();case`filters`:return Pue();case`pagination`:return Lue();default:return``}}function wze(e){let t=Sze,n=Number(e||0);return Number.isFinite(n)&&n>0&&(t+=`&cursor=`+encodeURIComponent(String(n))),t}function Tze(){return{async consumeLiveLogsBody(e){await R2(e,e=>this.applyLiveLogEvent(e))},applyLiveLogEvent(e){if(!e||typeof e!=`object`)return;let t=Number(e.seq||0);Number.isFinite(t)&&t>this.liveLogsLastSeq&&(this.liveLogsLastSeq=t);let n=String(e.type||``).trim();if(n!==`heartbeat`){if(n===`reset`){this.reloadLiveLogSources();return}if(n===`audit.removed`){this.removeLiveAuditEntry(e.data);return}if(n.indexOf(`audit.`)===0){this.mergeLiveAuditEntry(e.data||{},n);return}n.indexOf(`usage.`)===0&&(this.mergeLiveUsageEntry(e.data||{},n),typeof this.noteLiveTokenUsage==`function`&&this.noteLiveTokenUsage(n))}},reloadLiveLogSources(){typeof this.fetchUsage==`function`&&this.fetchUsage(),this.page===`audit-logs`&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},auditLivePauseReason(){return!this.auditLog||this.auditLog.offset!==0?`pagination`:this.auditSearch||this.auditFieldValue||this.auditMethod||this.auditStatusCode||this.auditStream?`filters`:!this.followsToday&&(this.customStartDate||this.customEndDate)?`date_range`:null},auditLiveInsertAllowed(){return!this.auditLivePauseReason()},usageLiveInsertAllowed(){return this.usageLog&&this.usageLog.offset===0&&!this.usageLogSearch&&!this.usageFilterModel&&!this.usageFilterProvider&&!this.usageFilterLabel&&!this.usageFilterUserPath&&!this.usageFilterSession},mergeLiveAuditEntry(e,t){if(!e||typeof e!=`object`)return;let n=String(e.id||e.request_id||``).trim();if(!n)return;let r=String(e.request_id||``).trim(),i=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],a=i.findIndex(e=>G4(e,n,r)),o=a>=0&&i[a]||{},s=t===`audit.detail`,c=s?{...e,_detail_loaded:!0,_response_partial:!1,bodies_omitted:!1}:this.liveAuditPatch(o,e,t);if(a>=0){let e=this.mergeLiveAuditPatch(o,c);return i.splice(a,1,e),this.auditLog.entries=[...i],this.regroupLiveAuditHead(e),s||this.fetchExpandedAuditDetailIfReady(e),this.cacheMergedAuditRecord(e,t),e}let l=this.mergeLiveAuditChild(e,c);if(l)return s||this.fetchExpandedAuditDetailIfReady(l),this.cacheMergedAuditRecord(l,t),l;if(!this.auditLiveInsertAllowed()){this.cacheMergedAuditRecord(c,t);return}if(!s&&this.auditGroupSessions){let e=this.foldLiveAuditIntoThread(c);if(e)return this.fetchExpandedAuditDetailIfReady(e),this.cacheMergedAuditRecord(e,t),e}this.auditLog.entries=[this.mergeLiveAuditUsagePatch(c),...i].slice(0,this.auditLog.limit||25),this.auditLog.total=Number(this.auditLog.total||0)+1;let u=this.auditLog.entries[0];return s||this.fetchExpandedAuditDetailIfReady(u),this.cacheMergedAuditRecord(u,t),u},liveAuditPatch(e,t,n){let r=this.liveAuditStateAfter(e._live_state,n),i=this.liveAuditEventFlushed(e._live_state)||this.liveAuditEventFlushed(r),a={...t,_live:!0,_live_state:r,_audit_flushed:i,_live_pending:!i};return n===`audit.stream`?a._response_partial=!0:this.liveAuditStateSettled(n)&&(a._response_partial=!1),a},mergeLiveAuditChild(e,t){let n=this.auditThreadChildren;if(!n||typeof n!=`object`)return null;let r=String(e.id||``).trim(),i=String(e.request_id||``).trim(),a=Object.keys(n);for(let e=0;eG4(e,r,i));if(c<0)continue;let l=this.mergeLiveAuditPatch(s[c]||{},t),u=[...s];return u.splice(c,1,l),this.auditThreadChildren={...n,[a[e]]:{...o,entries:u}},l}return null},regroupLiveAuditHead(e){if(!this.auditGroupSessions)return null;let t=String(e&&e.session_id||``).trim();if(!t)return null;let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=String(e.id||``).trim(),i=n.findIndex(e=>String(e.id||``).trim()===r);if(i<0)return null;let a=n.findIndex((e,n)=>n!==i&&String(e.session_id||``).trim()===t);if(a<0)return null;let o=n[a],s=Date.parse(o&&o.timestamp),c=Date.parse(e&&e.timestamp),l=Number.isFinite(s)&&Number.isFinite(c)&&s>c,u=l?o:e,d=l?e:o,f={...u,session_count:Math.max(1,Number(o.session_count||1))+Math.max(1,Number(e.session_count||1))},p=n.filter((e,t)=>t!==i&&t!==a);return p.unshift(f),this.auditLog.entries=p,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-1),this.prependLiveAuditThreadChild(t,d),f},foldLiveAuditIntoThread(e){let t=String(e&&e.session_id||``).trim();if(!t)return null;let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=n.findIndex(e=>String(e.session_id||``).trim()===t);if(r<0)return null;let i=n[r],a=Number(i.session_count),o=this.mergeLiveAuditUsagePatch({...e,session_count:(Number.isFinite(a)&&a>0?a:1)+1}),s=[...n];return s.splice(r,1),s.unshift(o),this.auditLog.entries=s,this.prependLiveAuditThreadChild(t,i),o},prependLiveAuditThreadChild(e,t){let n=this.auditThreadChildren||{},r=n[e],i={...t};delete i.session_count;let a=r&&Array.isArray(r.entries)?{...r,entries:[i,...r.entries],total:Number(r.total||r.entries.length)+1}:{loading:!1,loaded:!1,entries:[i],total:1};this.auditThreadChildren={...n,[e]:a}},removeLiveAuditThreadChild(e,t){let n=this.auditThreadChildren;!n||typeof n!=`object`||Object.keys(n).forEach(r=>{let i=n[r],a=i&&Array.isArray(i.entries)?i.entries:[],o=a.filter(n=>!G4(n,e,t)),s=a.length-o.length;s!==0&&(this.auditThreadChildren={...this.auditThreadChildren,[r]:{...i,entries:o,total:Math.max(0,Number(i.total||a.length)-s)}},this.decrementLiveAuditThreadCount(r,s))})},decrementLiveAuditThreadCount(e,t){let n=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],r=n.findIndex(t=>String(t.session_id||``).trim()===e);if(r<0)return;let i=n[r],a=[...n];a.splice(r,1,{...i,session_count:Math.max(1,Number(i.session_count||1)-t)}),this.auditLog.entries=a},mergeLiveAuditPatch(e,t){let n={...e,...t};return t.data===void 0&&e.data!==void 0?n.data=e.data:e.data&&t.data&&typeof e.data==`object`&&typeof t.data==`object`&&!Array.isArray(e.data)&&!Array.isArray(t.data)&&(n.data={...e.data,...t.data}),this.mergeLiveAuditUsagePatch(n)},mergeLiveAuditUsagePatch(e){let t=this.liveUsageEntryForAudit(e);if(!t)return e;let n=this.auditEntryWithLiveUsage(e,t);return this.removeSkippedLiveUsage(t),n},liveUsageEntryForAudit(e){let t=String(e&&e.request_id||``).trim();return t&&((this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[]).find(e=>String(e&&e.request_id||``).trim()===t)||this.skippedLiveUsageByRequestId&&this.skippedLiveUsageByRequestId[t])||null},cacheMergedAuditRecord(e,t){return e&&typeof this.cacheAuditRecord==`function`?this.cacheAuditRecord(e,t):e},fetchExpandedAuditDetailIfReady(e){!e||!this.isAuditEntryExpanded||!this.isAuditEntryExpanded(e)||String(e._live_state||``).trim()!==`audit.flushed`&&!e._audit_flushed||typeof this.fetchAuditEntryDetail==`function`&&this.fetchAuditEntryDetail(e)},liveAuditStateRank(e){switch(String(e||``).trim()){case`audit.started`:return 10;case`audit.updated`:case`audit.stream`:return 20;case`audit.completed`:return 30;case`audit.failed`:case`audit.flushed`:case`audit.detail`:return 40;default:return 0}},liveAuditStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveAuditStateRank(n)>this.liveAuditStateRank(r)?n:r},liveAuditStateSettled(e){return this.liveAuditStateRank(e)>=this.liveAuditStateRank(`audit.completed`)},liveAuditEventFlushed(e){let t=String(e||``).trim();return t===`audit.failed`||t===`audit.flushed`||t===`audit.detail`},removeLiveAuditEntry(e){if(!e||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim();if(!t&&!n)return;let r=this.auditLog.entries,i=[],a=0,o=0,s=!1;r.forEach(e=>{if(!G4(e,t,n)){i.push(e);return}a++;let r=String(e.session_id||``).trim(),c=Math.max(1,Number(e.session_count||1));if(!this.auditGroupSessions||!r||c<=1)return;o++;let l=this.auditThreadChildren&&this.auditThreadChildren[r],u=l&&Array.isArray(l.entries)?l.entries.filter(e=>!G4(e,t,n)):[];if(u.length===0){s=!0;return}let d={...u[0],session_id:r,session_count:c-1};i.push(d),this.auditThreadChildren={...this.auditThreadChildren,[r]:{...l,entries:u.slice(1),total:Math.max(0,Number(l.total||c)-1)}}}),a>0&&(this.auditLog.entries=i,this.auditLog.total=Math.max(0,Number(this.auditLog.total||0)-a+o)),this.removeLiveAuditThreadChild(t,n),s&&typeof this.fetchAuditLog==`function`&&this.fetchAuditLog(!0)},mergeLiveUsageEntry(e,t){if(!e||typeof e!=`object`)return;e={...e,_live_state:t||e._live_state||`usage.completed`};let n=String(e.id||``).trim();if(!n)return;let r=this.usageLog&&Array.isArray(this.usageLog.entries)?this.usageLog.entries:[],i=r.findIndex(e=>String(e.id||``).trim()===n);if(i>=0){let t=r[i]||{},n=this.mergeLiveUsagePatch(t,e);if(this.applyLiveUsageToAudit(n),this.liveUsageShouldSkip(n)){r.splice(i,1),this.usageLog.entries=[...r],this.usageLog.total=Math.max(0,Number(this.usageLog.total||0)-1),this.storeSkippedLiveUsage(n);return}r.splice(i,1,n),this.usageLog.entries=[...r],this.removeSkippedLiveUsage(n);return}let a=this.mergeLiveUsagePatch(this.liveUsageSeedForEntry(e),e);if(this.applyLiveUsageToAudit(a),this.liveUsageShouldSkip(a)){this.storeSkippedLiveUsage(a);return}this.removeSkippedLiveUsage(a),this.usageLog.entries=[a,...r].slice(0,this.usageLog.limit||50),this.usageLog.total=Number(this.usageLog.total||0)+1},mergeLiveUsagePatch(e,t){e=e&&typeof e==`object`?e:{};let n=this.liveUsageStateAfter(e._live_state,t&&t._live_state),r=this.liveUsageEventFlushed(e)||this.liveUsageEventFlushed({...t,_live_state:n});return{...e,...t,_live:!0,_live_state:n||`usage.completed`,_live_pending:!r,_usage_flushed:r}},liveUsageShouldSkip(e){return!!(this.usageLogHideCached&&this.liveUsageEntryCached(e))||!this.usageLiveInsertAllowed()},liveUsageSeedForEntry(e){return this.skippedLiveUsageForEntry(e)||this.auditLiveUsageForEntry(e)},skippedLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();return t&&this.skippedLiveUsageByRequestId?this.skippedLiveUsageByRequestId[t]:null},auditLiveUsageForEntry(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return null;let n=this.auditLog.entries.find(e=>String(e&&e.request_id||``).trim()===t),r=n&&n.usage&&typeof n.usage==`object`&&!Array.isArray(n.usage)?n.usage:null;return r?{id:e&&e.id,request_id:t,entries:r.entries,input_tokens:r.input_tokens,uncached_input_tokens:r.uncached_input_tokens,cached_input_tokens:r.cached_input_tokens,cache_write_input_tokens:r.cache_write_input_tokens,output_tokens:r.output_tokens,total_tokens:r.total_tokens,cached_input_ratio:r.cached_input_ratio,estimated_cached_characters:r.estimated_cached_characters,_live_state:n._usage_live_state,_live_pending:n._usage_live_pending,_usage_flushed:n._usage_flushed}:null},storeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&((!this.skippedLiveUsageByRequestId||typeof this.skippedLiveUsageByRequestId!=`object`||Array.isArray(this.skippedLiveUsageByRequestId))&&(this.skippedLiveUsageByRequestId={}),this.skippedLiveUsageByRequestId[t]=e)},removeSkippedLiveUsage(e){let t=String(e&&e.request_id||``).trim();t&&this.skippedLiveUsageByRequestId&&delete this.skippedLiveUsageByRequestId[t]},liveUsageEntryCached(e){let t=String(e&&e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`||!!(e&&e.cache_hit)},liveUsageEventFlushed(e){let t=String(e&&e._live_state||``).trim();return!!(e&&e._usage_flushed)||t===`usage.failed`||t===`usage.flushed`},liveUsageStateRank(e){switch(String(e||``).trim()){case`usage.completed`:return 10;case`usage.failed`:case`usage.flushed`:return 20;default:return 0}},liveUsageStateAfter(e,t){let n=String(e||``).trim(),r=String(t||``).trim();return this.liveUsageStateRank(n)>this.liveUsageStateRank(r)?n:r},applyLiveUsageToAudit(e){let t=String(e&&e.request_id||``).trim();if(!t||!this.auditLog||!Array.isArray(this.auditLog.entries))return;let n=this.auditLog.entries.findIndex(e=>String(e.request_id||``).trim()===t);if(n>=0){let t=this.auditLog.entries[n];this.auditLog.entries.splice(n,1,this.auditEntryWithLiveUsage(t,e)),this.auditLog.entries=[...this.auditLog.entries]}let r=this.auditThreadChildren;if(!r||typeof r!=`object`)return;let i=r,a=!1;Object.keys(r).forEach(n=>{let r=i[n],o=r&&Array.isArray(r.entries)?r.entries:[],s=o.findIndex(e=>String(e.request_id||``).trim()===t);if(s<0)return;let c=[...o];c.splice(s,1,this.auditEntryWithLiveUsage(o[s],e)),i={...i,[n]:{...r,entries:c}},a=!0}),a&&(this.auditThreadChildren=i)},auditEntryWithLiveUsage(e,t){let n=this.liveUsageStateAfter(e._usage_live_state,t._live_state||`usage.completed`),r=this.liveUsageEventFlushed({_live_state:n,_usage_flushed:e._usage_flushed||t._usage_flushed});return{...e,usage:this.liveUsageSummary(t,e.usage),_usage_live_state:n||`usage.completed`,_usage_live_pending:!r,_usage_flushed:r}},liveUsageSummary(e,t){let n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=this.liveNumber(e.input_tokens,this.liveNumber(n.input_tokens,0)),i=this.liveNumber(e.output_tokens,this.liveNumber(n.output_tokens,0)),a=this.liveNumber(e.uncached_input_tokens,this.liveNumber(n.uncached_input_tokens,0)),o=this.liveNumber(e.cached_input_tokens,this.liveNumber(n.cached_input_tokens,0)),s=this.liveNumber(e.cache_write_input_tokens,this.liveNumber(n.cache_write_input_tokens,0));r>0&&a+o+s===0&&(a=r);let c=a+o+s||r,l=c+i||this.liveNumber(e.total_tokens,this.liveNumber(n.total_tokens,0)),u=this.liveNumber(e.cached_input_ratio,this.liveNumber(n.cached_input_ratio,c>0?o/c:0));return{entries:Math.max(1,this.liveNumber(e.entries,this.liveNumber(n.entries,1))),input_tokens:c,uncached_input_tokens:a,cached_input_tokens:o,cache_write_input_tokens:s,output_tokens:i,total_tokens:l,cached_input_ratio:u,estimated_cached_characters:this.liveNumber(e.estimated_cached_characters,this.liveNumber(n.estimated_cached_characters,o*4))}},liveNumber(e,t){let n=Number(e);return Number.isFinite(n)?n:t},auditEntryShouldFetchDetail(e){return!e||e._detail_loading||e._detail_loaded||this.auditEntryLiveDetailPending(e)?!1:this.auditEntryNeedsPersistedLiveDetail(e)||e.bodies_omitted?!0:!this.auditEntryHasDetailData(e)},auditEntryLiveDetailPending(e){if(!e||!e._live)return!1;let t=String(e._live_state||``).trim();return t===`audit.failed`||!e._audit_flushed&&t!==`audit.flushed`&&t!==`audit.detail`},auditEntryNeedsPersistedLiveDetail(e){return!!(e&&e._live&&!e._detail_loaded)},auditEntryHasDetailData(e){let t=e&&e.data;return!t||typeof t!=`object`?!1:t.request_headers!==void 0||t.response_headers!==void 0||t.request_body!==void 0||t.response_body!==void 0||t.request_body_too_big_to_handle!==void 0||t.response_body_too_big_to_handle!==void 0||t.user_agent!==void 0||t.api_key_hash!==void 0||t.temperature!==void 0||t.max_tokens!==void 0||t.error_message!==void 0||t.error_code!==void 0},clearAuditDetailLoading(e){if(!e)return;let t=String(e.id||``).trim(),n=String(e.request_id||``).trim(),r=this.auditLog&&Array.isArray(this.auditLog.entries)?this.auditLog.entries:[],i=r.find(e=>t&&String(e.id||``).trim()===t?!0:!!(n&&String(e.request_id||``).trim()===n)),a=i||e;a._detail_loading=!1,i&&(this.auditLog.entries=[...r])}}}var K4={"audit.started":10,"audit.updated":20,"audit.stream":20,"audit.completed":30,"audit.failed":40,"audit.flushed":40,"audit.detail":40},Eze=new Set(Object.keys(K4));function q4(e){return String(e&&(e.id||e.request_id)||``).trim()}function Dze(e,t){let n=e&&typeof e==`object`?e:{},r=t&&typeof t==`object`?t:{},i={...n,...r};if(r.data==null&&n.data!=null)i.data=n.data;else if(J4(n.data)&&J4(r.data)){i.data={...n.data,...r.data};let e=Aze(n.data.request_revisions,r.data.request_revisions);e&&(i.data.request_revisions=e)}let a=String(n._live_state||``).trim(),o=String(r._live_state||``).trim();return(K4[a]||0)>(K4[o]||0)&&(i._live_state=a),n._audit_flushed&&(i._audit_flushed=!0),i._audit_flushed&&(i._live_pending=!1),n._detail_loaded&&!r._detail_loaded&&(i._detail_loaded=!0,i.bodies_omitted=!1),i.bodies_omitted&&J4(i.data)&&(i.data.request_body!==void 0||i.data.response_body!==void 0)&&(i.bodies_omitted=!1),i}function Oze(e,t){let n=Number(t||0);return(Array.isArray(e)?e:[]).filter(e=>Number(e&&e.version||0)>n)}function kze(e){return Eze.has(String(e&&e.eventType||``).trim())}function Aze(e,t){return!Array.isArray(e)||!Array.isArray(t)?null:t.map(t=>{let n=Number(t&&t.seq||0),r=e.find(e=>Number(e&&e.seq||0)===n);if(!r)return t;let i={...t};return(i.body==null||i.body===``)&&r.body!=null&&(i.body=r.body),i.detail==null&&r.detail!=null&&(i.detail=r.detail),i})}function J4(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}var Y4=200,X4=class{#e=j(N({entries:[],total:0,limit:25,offset:0}));get auditLog(){return R(this.#e)}set auditLog(e){M(this.#e,e,!0)}#t=j(N({entries:[],total:0,limit:50,offset:0}));get usageLog(){return R(this.#t)}set usageLog(e){M(this.#t,e,!0)}#n=j(N({}));get auditRecords(){return R(this.#n)}set auditRecords(e){M(this.#n,e,!0)}#r=j(N([]));get auditRecordChanges(){return R(this.#r)}set auditRecordChanges(e){M(this.#r,e,!0)}auditRecordVersion=0;auditRecordPins=new Set;#i=j(``);get auditSearch(){return R(this.#i)}set auditSearch(e){M(this.#i,e,!0)}#a=j(``);get auditMethod(){return R(this.#a)}set auditMethod(e){M(this.#a,e,!0)}#o=j(``);get auditStatusCode(){return R(this.#o)}set auditStatusCode(e){M(this.#o,e,!0)}#s=j(``);get auditStream(){return R(this.#s)}set auditStream(e){M(this.#s,e,!0)}#c=j(`user_path`);get auditField(){return R(this.#c)}set auditField(e){M(this.#c,e,!0)}#l=j(``);get auditFieldValue(){return R(this.#l)}set auditFieldValue(e){M(this.#l,e,!0)}#u=j(Bi(`gomodel_audit_group_sessions`,`true`)!==`false`);get auditGroupSessions(){return R(this.#u)}set auditGroupSessions(e){M(this.#u,e,!0)}#d=j(N({}));get auditThreadChildren(){return R(this.#d)}set auditThreadChildren(e){M(this.#d,e,!0)}#f=j(``);get usageLogSearch(){return R(this.#f)}set usageLogSearch(e){M(this.#f,e,!0)}#p=j(``);get usageFilterModel(){return R(this.#p)}set usageFilterModel(e){M(this.#p,e,!0)}#m=j(``);get usageFilterProvider(){return R(this.#m)}set usageFilterProvider(e){M(this.#m,e,!0)}#h=j(``);get usageFilterLabel(){return R(this.#h)}set usageFilterLabel(e){M(this.#h,e,!0)}#g=j(``);get usageFilterUserPath(){return R(this.#g)}set usageFilterUserPath(e){M(this.#g,e,!0)}#_=j(``);get usageFilterSession(){return R(this.#_)}set usageFilterSession(e){M(this.#_,e,!0)}#v=j(!1);get usageLogHideCached(){return R(this.#v)}set usageLogHideCached(e){M(this.#v,e,!0)}#y=j(!1);get liveLogsStreaming(){return R(this.#y)}set liveLogsStreaming(e){M(this.#y,e,!0)}liveLogsLastSeq=0;liveLogsReconnectAttempts=0;liveLogsReconnectTimer=null;liveLogsController=null;skippedLiveUsageByRequestId=null;fetchUsage=null;fetchAuditLog=null;isAuditEntryExpanded=null;noteLiveTokenUsage=null;upsertAuditRecord(e,t=``){let n=q4(e);if(!n)return e;let r=Dze(this.auditRecords[n],e);return this.auditRecords={...this.auditRecords,[n]:r},this.pruneAuditRecords(),this.auditRecordVersion++,this.auditRecordChanges=[...this.auditRecordChanges,{version:this.auditRecordVersion,key:n,eventType:t}].slice(-512),r}upsertAuditRecords(e,t=``){return(Array.isArray(e)?e:[]).map(e=>this.upsertAuditRecord(e,t))}auditRecord(e){let t=typeof e==`string`?String(e).trim():q4(e);return t&&this.auditRecords[t]||null}cacheAuditRecord(e,t){return this.upsertAuditRecord(e,t)}pinAuditRecords(e){this.auditRecordPins=new Set((Array.isArray(e)?e:[]).map(String))}pruneAuditRecords(){let e=Object.keys(this.auditRecords);if(e.length<=Y4)return;let t={...this.auditRecords},n=e.length-Y4;for(let r of e){if(n<=0)break;this.auditRecordPins.has(r)||(delete t[r],n--)}this.auditRecords=t}get page(){return eX.page}get customStartDate(){return cZ.customStartDate}get customEndDate(){return cZ.customEndDate}get followsToday(){return cZ.followsToday}liveLogsEnabled(){return OX.liveLogsVisible()}async startLiveLogs(){typeof fetch!=`function`||typeof ReadableStream>`u`||(await OX.ensureLoaded(),this.liveLogsEnabled()&&(this.stopLiveLogs(),this.liveLogsController=typeof AbortController==`function`?new AbortController:null,this.readLiveLogsStream(this.liveLogsController)))}stopLiveLogs(){this.liveLogsStreaming=!1,this.liveLogsReconnectTimer&&=(clearTimeout(this.liveLogsReconnectTimer),null),this.liveLogsController&&typeof this.liveLogsController.abort==`function`&&this.liveLogsController.abort(),this.liveLogsController=null}ensureLiveLogs(){this.liveLogsController||this.liveLogsReconnectTimer||this.startLiveLogs()}async readLiveLogsStream(e){let t={};e&&(t.signal=e.signal);let n=wze(this.liveLogsLastSeq),r=X.generation;try{let i=await CX(n,t);if(i.status===401){if(X.handleUnauthorized(r),r{this.liveLogsReconnectTimer=null,this.startLiveLogs()},t)}async fetchAuditEntryDetail(e){if(!this.auditEntryShouldFetchDetail(e))return;let t=String(e.id||``).trim();if(!t)return;e._detail_loading=!0;let n=e;try{let e=await TX(`/admin/audit/detail?log_id=`+encodeURIComponent(t),{label:`audit detail`});if(e.stale||!e.ok)return;n=this.mergeLiveAuditEntry(e.data,`audit.detail`)||n}catch(e){console.error(`Failed to fetch audit detail:`,e)}finally{this.clearAuditDetailLoading(n)}}};Object.assign(X4.prototype,Tze());var Z4=new X4;if(typeof window<`u`){let e=!1;window.addEventListener(`pagehide`,()=>{e=!!Z4.liveLogsController,Z4.stopLiveLogs()}),window.addEventListener(`pageshow`,t=>{t.persisted&&e&&Z4.ensureLiveLogs()})}var Q4=null;pn(()=>{dn(()=>{let e=X.refreshTick;if(Q4===null){Q4=e;return}e!==Q4&&(Q4=e,nr(()=>{Z4.stopLiveLogs(),Z4.startLiveLogs()}))})});function $4(){return{total_requests:0,total_input_tokens:0,total_output_tokens:0,total_tokens:0,uncached_input_tokens:0,cached_input_tokens:0,cache_write_input_tokens:0,total_input_cost:null,total_output_cost:null,total_cost:null,rewrite_tokens_saved:0,rewrite_cost_saved:null}}function jze(){return{entries:[],total:0,limit:50,offset:0}}function e3(){return{entries:[],total:0,limit:50,offset:0}}function Mze(e){let t=String(e||``).trim();return t.length<=26?t||`-`:t.slice(0,15)+`…`+t.slice(-8)}function Nze(e,t){let n=[[`model`,e&&e.model],[`provider`,e&&e.provider],[`label`,e&&e.label],[`user_path`,e&&e.user_path],[`session_id`,e&&e.session_id]],r=``;for(let[e,i]of n)!i||e===t||(r+=`&`+e+`=`+encodeURIComponent(i));return r}function Pze({limit:e,offset:t,hideCached:n,search:r}){let i=`&limit=`+e+`&offset=`+t;return i+=`&cache_mode=`+(n?`uncached`:`all`),r&&(i+=`&search=`+encodeURIComponent(r)),i}function Fze({limit:e,offset:t}){return`&limit=`+e+`&offset=`+t}function t3(e,t){let n=new Set(e||[]);return t&&n.add(t),[...n].sort()}function Ize(e,t){let n=Number(t&&t.total_requests||0)-Number(e&&e.total_requests||0);return Number.isFinite(n)&&n>0?n:0}function Lze(e,t,n){let r=n?e:t,i=Number(r&&r.total_requests||0);return Number.isFinite(i)?i:0}function Rze(e,t,n){let r=Ize(e,t);return r<=0?``:n?Tse({count:UX(r)}):Ose({provider:UX(Number(e&&e.total_requests||0)),cache:UX(r)})}function zze(e){let t=e||{};return t.total_input_cost===null||t.total_input_cost===void 0?``:jse({input:WX(t.total_input_cost),output:WX(t.total_output_cost)})}function n3(e){let t=Number(e&&e.rewrite_tokens_saved||0);return Number.isFinite(t)&&t>0?t:0}function Bze(e){return n3(e)>0}function r3(e){let t=e||{};return t.rewrite_cost_saved===void 0?null:t.rewrite_cost_saved}function Vze(){return Pse()}function Hze(e,t){return t===`costs`?WX(r3(e)):qX(n3(e))}function Uze(e,t){let n=t===`costs`,r=n?Number(r3(e)):n3(e);if(!Number.isFinite(r)||r<=0)return null;let i=e&&(n?e.total_cost:e.total_input_tokens);if(i==null)return null;let a=Number(i);return!Number.isFinite(a)||a<0?null:r/(a+r)*100}function i3(e,t){let n=Uze(e,t);return n===null?``:Lse({percent:n<.1?`<0.1`:n.toFixed(1)})}function Wze(e,t){let n=n3(e);if(n<=0)return``;let r=[Bse({count:UX(n)}),Vze(),Use()],i=r3(e);i!=null&&(r.push(Kse({cost:WX(i)})),r.push(Yse()));let a=i3(e,t);return a&&r.push(Qse({percent:a,mode:t===`costs`?tce():ice()})),r.join(` `)}function a3(e){return String(e&&e.cost_source||``).trim()}function o3(e){let t=a3(e);return t===`openrouter_credits`||t===`xai_cost_in_usd_ticks`}function s3(e){switch(a3(e)){case`openrouter_credits`:return sce();case`xai_cost_in_usd_ticks`:return uce();default:return``}}function c3(e){return String(e&&e.cache_type||``).trim().toLowerCase()}function l3(e){let t=c3(e);return t===`exact`||t===`semantic`}function Gze(e){let t=c3(e);return t===`exact`?pce():t===`semantic`?gce():`-`}function u3(e,t){let n=t?String(t):``;if(!l3(e))return n;let r=yce();return n?r+` `+n:r}function Kze(e){let t=Number(e&&e.cached_input_ratio);return!Number.isFinite(t)||t<=0?0:Math.min(1,t)}function d3(e){return Number(e&&e.cached_input_tokens||0)>0}function qze(e){return d3(e)?(Kze(e)*100).toFixed(1)+`%`:``}function Jze(e){if(!d3(e))return``;let t=Number(e.cached_input_tokens||0),n=Number(e.uncached_input_tokens||0),r=Number(e.cache_write_input_tokens||0),i=t+n+r,a=[Sce({cached:UX(t),total:UX(i)})];return r>0&&a.push(Tce({count:UX(r)})),a.join(` `)}function f3(e){let t=[];if(s3(e)&&(t.push(s3(e)),t.push(``)),t.push(Oce({cost:WX(e.input_cost)})),t.push(jce({cost:WX(e.output_cost)})),e.raw_data){t.push(``);for(let[n,r]of Object.entries(e.raw_data)){let e=n.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase()),i=r&&typeof r==`object`?JSON.stringify(r):UX(r);t.push(e+`: `+i)}}return t.join(` @@ -21,7 +21,7 @@ /team/alpha /non-existing`),D(x);var w=I(x,2);{let e=A(()=>gx());n6(w,{id:`virtual-model-description`,get label(){return R(e)},children:(e,t)=>{var r=_We();at(r),L(e=>{K(r,`placeholder`,e),r.disabled=n.vmFormManaged},[()=>yx()]),Di(r,()=>n.vmForm.description,e=>n.vmForm.description=e),V(e,r)},$$slots:{default:!0}})}var T=I(w,2),ee=e=>{{let t=A(()=>Sx());n6(e,{id:`virtual-model-slowdown`,get label(){return R(t)},children:(e,t)=>{var r=vWe(),i=F(r);bi(i);var a=I(i,2),o=P(a,!0);D(a),L((e,t)=>{K(i,`placeholder`,e),i.disabled=n.vmFormManaged,H(o,t)},[()=>Tx(),()=>Ox()]),Di(i,()=>n.vmForm.slowdown,e=>n.vmForm.slowdown=e),V(e,r)},$$slots:{default:!0}})}},E=A(()=>n.vmFormSupportsSlowdown());U(T,e=>{R(E)&&e(ee)});var te=I(T,2),ne=P(te),re=e=>{var t=yWe(),r=P(t,!0);D(t),L(e=>H(r,e),[()=>jx({default:n.vmFormDefaultEnabled?Px():Lx(),effective:n.vmFormEffectiveEnabled?Px():Lx()})]),V(e,t)};U(ne,e=>{n.vmFormMode===`edit`&&e(re)});var ie=I(ne,2),ae=P(ie);{let e=A(()=>n.vmFormToggleRestricted()),t=A(()=>Ahe()),r=A(()=>n.vmFormToggleLabel());j8(ae,{get enabled(){return n.vmForm.enabled},get restricted(){return R(e)},get label(){return R(t)},get disabled(){return n.vmFormManaged},get text(){return R(r)},onclick:()=>{n.vmFormManaged||(n.vmForm.enabled=!n.vmForm.enabled)}})}D(ie),D(te),L((e,t)=>{H(u,e),m.disabled=n.vmFormManaged,H(_,t),C.disabled=n.vmFormManaged},[()=>ub(),()=>Qb()]),z(`click`,m,()=>n.addVmTarget()),Di(C,()=>n.vmForm.user_paths,e=>n.vmForm.user_paths=e),V(e,r)},$$slots:{header:!0,extraActions:!0,default:!0}})}k()}vr([`click`]);var SWe=B(`

`,1),CWe=B(``),wWe=B(``),P8=B(``),TWe=B(``),EWe=B(`
`),DWe=B(`
`),OWe=B(`
`),kWe=B(`
`),AWe=B(`

USD
`,1);function jWe(e,t){O(t,!0);let n=p8;{let t=e=>{var t=SWe(),r=F(t),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a),L((e,t)=>{H(i,e),H(o,t)},[()=>iS(),()=>n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||sS()]),V(e,t)},r=e=>{var t=Tr(),r=F(t),i=e=>{var t=CWe(),r=P(t,!0);D(t),L(e=>{t.disabled=n.modelPricingOverrideSubmitting,H(r,e)},[()=>BS()]),z(`click`,t,()=>n.deleteModelPricingOverride()),V(e,t)};U(r,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(i)}),V(e,t)},i=A(()=>Qx()),a=A(()=>tS());t6(e,{get open(){return n.modelPricingOverrideFormOpen},get ariaLabel(){return R(i)},dialogClass:`model-pricing-editor`,get error(){return n.modelPricingOverrideError},get submitting(){return n.modelPricingOverrideSubmitting},get submitLabel(){return R(a)},onclose:()=>n.closeModelPricingOverrideForm(),onsubmit:()=>n.submitModelPricingOverrideForm(),header:t,extraActions:r,children:(e,t)=>{var r=AWe(),i=F(r),a=P(i);{let e=A(()=>uS());n6(a,{id:`model-pricing-override-selector`,get label(){return R(e)},children:(e,t)=>{var r=wWe();bi(r),Di(r,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),V(e,r)},$$slots:{default:!0}})}var o=I(a,2),s=e=>{{let t=A(()=>pS());n6(e,{id:`model-pricing-override-scope`,get label(){return R(t)},children:(e,t)=>{var r=TWe();W(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=P8(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(r),z(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),pi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),V(e,r)},$$slots:{default:!0}})}};U(o,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(s)}),D(i);var c=I(i,2),l=P(c,!0);D(c);var u=I(c,2);W(u,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=EWe(),a=P(i),o=P(a),s=P(o,!0);D(o);var c=I(o,2);W(c,21,()=>n.availablePricingFieldOptions(R(t)),e=>e.value,(e,t)=>{var n=P8(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).group+` - `+R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(c),D(a);var l=I(a,2),u=P(l),d=P(u,!0);D(u);var f=I(u,2);bi(f),D(l);var p=I(l,2);{let e=A(()=>TS({price:n.pricingFieldLabel(R(t).field)}));O3(p,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(R(t)),children:(e,t)=>{J(e,{get icon(){return XY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(i),L((e,n)=>{K(o,`for`,`pricing-type-`+R(t).id),H(s,e),K(c,`id`,`pricing-type-`+R(t).id),K(u,`for`,`pricing-value-`+R(t).id),H(d,n),K(f,`id`,`pricing-value-`+R(t).id)},[()=>yS(),()=>SS()]),pi(c,()=>R(t).field,e=>R(t).field=e),Di(f,()=>R(t).value,e=>R(t).value=e),V(e,i)}),D(u);var d=I(u,2),f=P(d),p=P(f);J(p,{get icon(){return RY},class:`form-action-icon`});var m=I(p,2),h=P(m,!0);D(m),D(f),D(d);var g=I(d,2),_=e=>{var t=DWe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jS()]),V(e,t)};U(g,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(_)});var v=I(g,2),y=P(v),b=P(y),x=P(b,!0);D(b);var S=I(b,4),C=P(S,!0);D(S),D(y);var w=I(y,2),T=e=>{var t=OWe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>LS()]),V(e,t)},ee=A(()=>n.modelPricingEffectivePreviewRows().length===0);U(w,e=>{R(ee)&&e(T)}),W(I(w,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=kWe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(n),L(e=>{H(i,R(t).label),H(o,e),H(c,R(t).source)},[()=>R(t).value===null||R(t).value===void 0?`-`:KX(Number(R(t).value))]),V(e,n)}),D(v),L((e,t,n,r)=>{H(l,e),H(h,t),H(x,n),H(C,r)},[()=>gS(),()=>OS(),()=>yS(),()=>PS()]),z(`click`,f,()=>n.addModelPricingOverrideRow()),V(e,r)},$$slots:{header:!0,extraActions:!0,default:!0}})}k()}vr([`click`,`change`]);var MWe=B(`

`,1),NWe=B(``),PWe=B(`

`),FWe=B(``),IWe=B(`
`),LWe=B(`
`,1),RWe=B(`
`);function zWe(e,t){O(t,!0);{let t=e=>{var t=MWe(),n=F(t),r=P(n,!0);D(n);var i=I(n,2),a=P(i,!0);D(i),L(e=>{H(r,e),H(a,$.failoverForm.source||`Failover`)},[()=>KS()]),V(e,t)},n=e=>{var t=Tr(),n=F(t),r=e=>{var t=NWe(),n=P(t,!0);D(t),L(e=>{t.disabled=$.failoverSaving||$.failoverGenerating,H(n,e)},[()=>gC()]),z(`click`,t,()=>$.deleteFailoverRule()),V(e,t)};U(n,e=>{$.failoverFormMode===`edit`&&!$.failoverFormManaged&&e(r)}),V(e,t)},r=A(()=>US()),i=A(()=>$.failoverGenerating||$.failoverFormManaged),a=A(()=>Pb());t6(e,{get open(){return $.failoverFormOpen},get ariaLabel(){return R(r)},get error(){return $.failoverError},get submitting(){return $.failoverSaving},get submitDisabled(){return R(i)},get submitLabel(){return R(a)},onclose:()=>$.closeFailoverForm(),onsubmit:()=>$.submitFailoverForm(),header:t,extraActions:n,children:(e,t)=>{var n=RWe(),r=P(n),i=e=>{var t=PWe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>YS()]),V(e,t)};U(r,e=>{$.failoverFormManaged&&e(i)});var a=I(r,2);W(a,21,()=>lZ.models,Ar,(e,t,n,r)=>{var i=FWe(),a=P(i,!0);D(i);var o={};L((e,t)=>{H(a,e),o!==(o=t)&&(i.value=(i.__value=t)??``)},[()=>M6(R(t)),()=>M6(R(t))]),V(e,i)}),D(a);var o=I(a,2);{let e=A(()=>QS());n6(o,{id:`failover-target`,get label(){return R(e)},children:(e,t)=>{var n=LWe(),r=F(n),i=P(r),a=P(i);bi(a);var o=I(a,2),s=e=>{{let t=A(()=>iC());O3(e,{get label(){return R(t)},class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>$.removePrimaryFailoverTarget(),get disabled(){return $.failoverFormManaged},children:(e,t)=>{J(e,{get icon(){return KY},class:`table-icon-svg`})},$$slots:{default:!0}})}};U(o,e=>{$.failoverForm.target_model&&e(s)}),D(i),W(I(i,2),17,()=>$.failoverForm.targets,Ar,(e,t,n)=>{var r=IWe(),i=P(r);bi(i);var a=I(i,2);{let e=A(()=>iC());O3(a,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>$.removeFailoverTarget(n),get disabled(){return $.failoverFormManaged},children:(e,t)=>{J(e,{get icon(){return KY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(r),L(e=>{i.disabled=$.failoverFormManaged,K(i,`aria-label`,e)},[()=>tC()]),Di(i,()=>R(t).model,e=>R(t).model=e),V(e,r)}),D(r);var c=I(r,2),l=P(c),u=P(l);J(u,{get icon(){return RY},class:`form-action-icon`});var d=I(u,2),f=P(d,!0);D(d),D(l);var p=I(l,2),m=P(p);J(m,{get icon(){return YY},class:`form-action-icon`});var h=I(m,2),g=P(h,!0);D(h),D(p),D(c),L((e,t,n,r)=>{a.disabled=$.failoverFormManaged,K(a,`aria-label`,e),l.disabled=$.failoverFormManaged||$.failoverGenerating||$.failoverSaving,H(f,t),p.disabled=n,H(g,r)},[()=>tC(),()=>sC(),()=>$.failoverFormManaged||$.failoverGenerating||$.failoverSaving||!$.failoverEnabled(),()=>$.failoverGenerating?uC():pC()]),Di(a,()=>$.failoverForm.target_model,e=>$.failoverForm.target_model=e),z(`click`,l,()=>$.addFailoverTarget()),z(`click`,p,()=>$.generateFailoverForForm()),V(e,n)},$$slots:{default:!0}})}var s=I(o,2),c=P(s);j8(P(c),{get enabled(){return $.failoverForm.enabled},label:`failover mapping`,get disabled(){return $.failoverFormManaged},onclick:()=>{$.failoverFormManaged||($.failoverForm.enabled=!$.failoverForm.enabled)}}),D(c),D(s),D(n),V(e,n)},$$slots:{header:!0,extraActions:!0,default:!0}})}k()}vr([`click`]);var BWe=B(` `),VWe=B(`
`),HWe=B(``),UWe=B(`
`),F8=B(`

`),WWe=B(``),GWe=B(``);function I8(e,t){O(t,!0),MX(e,{get open(){return $.failoverDraftsOpen},variant:`editor`,onclose:()=>$.closeFailoverDraftsModal(),children:(e,t)=>{var n=GWe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i);var l=I(i,2),u=P(l),d=e=>{var t=BWe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>$.failoverDraftCountLabel()]),V(e,t)};U(u,e=>{$.failoverGeneratedRules.length>0&&e(d)});var f=I(u,2);{let e=A(()=>OC());kX(f,{get label(){return R(e)},onclick:()=>$.closeFailoverDraftsModal(),get disabled(){return $.failoverDraftSaving}})}D(l),D(r);var p=I(r,2),m=e=>{{let t=A(()=>jC());H4(e,{get label(){return R(t)},class:`failover-drafts-loading`})}};U(p,e=>{$.failoverGenerating&&e(m)});var h=I(p,2),g=e=>{var t=VWe(),n=P(t);{let e=A(()=>PC()),t=A(()=>LC());v3(n,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return $.failoverDraftFilter},set value(e){$.failoverDraftFilter=e}})}var r=I(n,2),i=P(r);J(i,{get icon(){return TY},class:`form-action-icon`});var a=I(i,2),o=P(a,!0);D(a),D(r),D(t),L(e=>{r.disabled=$.failoverDraftSaving,H(o,e)},[()=>$.allFailoverDraftsSelected()?UC():BC()]),z(`click`,r,()=>$.toggleAllFailoverDrafts()),V(e,t)};U(h,e=>{!$.failoverGenerating&&$.failoverGeneratedRules.length>0&&e(g)});var _=I(h,2),v=e=>{var t=UWe();W(t,21,()=>$.filteredFailoverDrafts(),e=>`failover-draft:`+$.failoverPrimaryModel(e),(e,t)=>{var n=HWe(),r=P(n);bi(r);var i=I(r,2),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i),D(n),L((e,t,n,i)=>{Si(r,e),r.disabled=$.failoverDraftSaving,K(r,`aria-label`,t),H(o,n),H(c,i)},[()=>$.failoverDraftSelected(R(t)),()=>KC({model:$.failoverPrimaryModel(R(t))}),()=>$.failoverPrimaryModel(R(t)),()=>$.failoverTargetLabel(R(t))]),z(`change`,r,e=>$.setFailoverDraftSelected(R(t),e.currentTarget.checked)),V(e,n)}),D(t),V(e,t)},y=A(()=>!$.failoverGenerating&&$.filteredFailoverDrafts().length>0);U(_,e=>{R(y)&&e(v)});var b=I(_,2),x=e=>{var t=F8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>YC()]),V(e,t)};U(b,e=>{!$.failoverGenerating&&$.failoverGeneratedRules.length===0&&!$.failoverError&&e(x)});var S=I(b,2),C=e=>{var t=F8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>QC()]),V(e,t)},w=A(()=>!$.failoverGenerating&&$.failoverGeneratedRules.length>0&&$.filteredFailoverDrafts().length===0);U(S,e=>{R(w)&&e(C)});var T=I(S,2),ee=e=>{var t=WWe(),n=P(t,!0);D(t),L(()=>H(n,$.failoverError)),V(e,t)};U(T,e=>{$.failoverError&&e(ee)});var E=I(T,2),te=P(E),ne=P(te,!0);D(te);var re=I(te,2),ie=P(re);J(ie,{get icon(){return VY},class:`form-action-icon`});var ae=I(ie,2),oe=P(ae,!0);D(ae),D(re),D(E),D(n),L((e,t,r,i,a,s)=>{K(n,`aria-label`,e),H(o,t),H(c,r),te.disabled=$.failoverDraftSaving,H(ne,i),re.disabled=a,H(oe,s)},[()=>yC(),()=>SC(),()=>TC(),()=>ba(),()=>$.failoverGenerating||$.failoverDraftSaving||$.selectedFailoverDraftCount()===0,()=>$.failoverDraftSaving?tw():iw()]),z(`click`,te,()=>$.closeFailoverDraftsModal()),z(`click`,re,()=>$.saveSelectedFailoverDrafts()),V(e,n)},$$slots:{default:!0}}),k()}vr([`click`,`change`]);var KWe=B(`
`),L8=B(` `,1),qWe=B(`

`),JWe=B(`

`),YWe=B(` `),XWe=B(`
`),ZWe=B(`
`),QWe=B(`

`),$We=B(``),eGe=B(``);function tGe(e,t){O(t,!0);function n(){X.dialogOpen||Q.closeRateLimitInspector()}MX(e,{get open(){return Q.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=eGe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s),l=P(c,!0);D(c),D(s),D(i),kX(I(i,2),{label:`Close rate limits inspector`,onclick:()=>Q.closeRateLimitInspector()}),D(r);var u=I(r,2),d=e=>{H4(e,{label:`Loading rate limits...`})},f=e=>{var t=KWe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jA()]),V(e,t)},p=e=>{var t=Tr();W(F(t),17,()=>Q.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=QWe(),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2);{let e=A(()=>`Add `+R(t).title.toLowerCase());O3(o,{get label(){return R(e)},class:`budget-action-btn`,onclick:()=>Q.openRateLimitFormFromInspector(R(t).scope,R(t).subject),children:(e,t)=>{var n=L8(),r=F(n);J(r,{get icon(){return RY},class:`table-icon-svg`});var i=I(r,2),a=P(i,!0);D(i),L(e=>H(a,e),[()=>YA()]),V(e,n)},$$slots:{default:!0}})}D(r);var s=I(r,2),c=e=>{var n=qWe(),r=P(n,!0);D(n),L(()=>H(r,R(t).hint)),V(e,n)};U(s,e=>{R(t).hint&&e(c)});var l=I(s,2),u=e=>{var t=JWe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>QA()]),V(e,t)},d=e=>{var n=ZWe();W(n,21,()=>R(t).items,e=>Q.rateLimitKey(e),(e,t)=>{var n=XWe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s),l=e=>{var t=YWe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>ZJ()]),V(e,t)};U(c,e=>{R(t).per_child&&e(l)});var u=I(c,2),d=P(u);{let e=A(()=>Q.rateLimitIsConcurrent(R(t))?CY:GY);J(d,{get icon(){return R(e)},class:`budget-period-icon`})}var f=I(d,2),p=P(f,!0);D(f),D(u),D(s);var m=I(s,2),h=P(m),g=P(h),_=P(g,!0);D(g);var v=I(g,2),y=P(v,!0);D(v),D(h);var b=I(h,2),x=P(b),S=e=>{O3(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Q.openRateLimitFormFromInspector(null,null,R(t)),children:(e,t)=>{var n=L8(),r=F(n);J(r,{get icon(){return LY},class:`budget-action-icon`});var i=I(r,2),a=P(i,!0);D(i),L(e=>H(a,e),[()=>tj()]),V(e,n)},$$slots:{default:!0}})},C=A(()=>!Q.rateLimitIsReadOnly(R(t)));U(x,e=>{R(C)&&e(S)}),D(b),D(m),D(i),D(r),D(n),L((e,t,r,i,a,s,c,l)=>{G(n,1,`budget-row ${e??``}`),ui(n,t),K(n,`title`,r),H(o,i),H(p,a),H(_,s),K(v,`title`,c),H(y,l)},[()=>Q.rateLimitPressureClass(R(t)),()=>Q.rateLimitPressureStyle(R(t)),()=>R(t).per_child?QJ():Q.rateLimitPressurePercent(R(t))+`% of the most constrained cap used`,()=>Q.rateLimitSubject(R(t)),()=>Q.rateLimitPeriodLabel(R(t)),()=>Q.rateLimitInspectorSummary(R(t)),()=>Q.rateLimitIsReadOnly(R(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Q.rateLimitSourceLabel(R(t))]),V(e,n)}),D(n),V(e,n)};U(l,e=>{R(t).items.length===0?e(u):e(d,-1)}),D(n),L(()=>H(a,R(t).title)),V(e,n)}),V(e,t)};U(u,e=>{Q.rateLimitsLoading?e(d):Q.rateLimitsAvailable?e(p,-1):e(f,1)});var m=I(u,2),h=P(m),g=I(h,2),_=e=>{var t=$We();z(`click`,t,()=>{Q.closeRateLimitInspector(),eX.navigate(`rate-limits`)}),V(e,t)},v=A(()=>Q.rateLimitsEnabled());U(g,e=>{R(v)&&e(_)}),D(m),D(n),L((e,t)=>{K(n,`aria-label`,e),H(o,t),H(l,Q.rateLimitInspector.title)},[()=>KA(),()=>TA()]),z(`click`,h,()=>Q.closeRateLimitInspector()),V(e,n)},$$slots:{default:!0}}),k()}vr([`click`]);var nGe=B(`
`),R8=B(`
`),rGe=B(``),iGe=B(`
`),aGe=B(``),oGe=B(`
`),z8=B(`

`),sGe=B(`
`);function cGe(e,t){O(t,!0),dn(()=>{X.refreshTick,eX.page===`models`&&(n8.fetchVirtualModels(),p8.fetchModelPricingOverrides(),$.fetchFailoverRules(),Q.fetchRateLimitsPage())}),dn(()=>{let e=n8.filteredDisplayModels.length;return nr(()=>n8.restartModelRendering(e)),()=>n8.stopModelRendering()});let n=A(()=>X.needsAuth),r={all:Nhe,text_generation:Ihe,embedding:zhe,image:Hhe,audio:Ghe,video:Jhe,utility:Zhe};function i(e){return r[e.category]?.()||e.display_name}var a=sGe(),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=e=>{var t=nGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Uv({count:lZ.filter?n8.filteredDisplayModels.length+` / `+n8.displayModels.length:n8.displayModels.length})]),V(e,t)};U(l,e=>{n8.displayModels.length>0&&e(u)}),D(o);var d=I(o,2);uZ(d,{});var f=I(d,2),p=e=>{var t=R8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Kv()]),V(e,t)};U(f,e=>{!n8.virtualModelsAvailable&&!R(n)&&e(p)});var m=I(f,2),h=e=>{var t=R8(),n=P(t,!0);D(t),L(()=>H(n,n8.aliasError)),V(e,t)};U(m,e=>{n8.aliasError&&!R(n)&&e(h)});var g=I(m,2),_=e=>{var t=R8(),n=P(t,!0);D(t),L(()=>H(n,p8.modelPricingOverrideError)),V(e,t)};U(g,e=>{p8.modelPricingOverrideError&&!R(n)&&!p8.modelPricingOverrideFormOpen&&e(_)});var v=I(g,2),y=e=>{var t=iGe();W(t,21,()=>lZ.categories,e=>e.category,(e,t)=>{var n=rGe();let r;var a=P(n),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(n),L(e=>{r=G(n,1,`category-tab svelte-scpjps`,null,r,{active:lZ.activeCategory===R(t).category}),H(o,e),H(c,R(t).count)},[()=>i(R(t))]),z(`click`,n,()=>lZ.selectCategory(R(t).category)),V(e,n)}),D(t),V(e,t)};U(v,e=>{lZ.categories.length>0&&e(y)});var b=I(v,2),x=e=>{var t=oGe(),n=P(t),r=P(n);{let e=A(()=>Yv()),t=A(()=>Qv());v3(r,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return lZ.filter},set value(e){lZ.filter=e}})}D(n);var i=I(n,2),a=P(i),o=e=>{var t=aGe(),n=P(t);J(n,{get icon(){return RY},class:`alias-create-icon`});var r=I(n,2),i=P(r,!0);D(r),D(t),L((e,n,r)=>{K(t,`aria-label`,e),K(t,`title`,n),H(i,r)},[()=>iy(),()=>sy(),()=>ty()]),z(`click`,t,()=>n8.openVirtualModelCreate()),V(e,t)};U(a,e=>{n8.virtualModelsAvailable&&e(o)}),D(i),D(t),V(e,t)};U(b,e=>{(n8.displayModels.length>0||lZ.filter||n8.virtualModelsAvailable)&&e(x)});var S=I(b,2),C=e=>{{let t=A(()=>n8.modelLoadingText());H4(e,{get label(){return R(t)},class:`models-loading-state`})}},w=A(()=>n8.modelsBusy()&&!R(n));U(S,e=>{R(w)&&e(C)});var T=I(S,2);xWe(T,{});var ee=I(T,2);jWe(ee,{});var E=I(ee,2),te=e=>{oWe(e,{})};U(E,e=>{(n8.displayModels.length>0||lZ.filter)&&e(te)});var ne=I(E,2),re=e=>{var t=z8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>uy()]),V(e,t)};U(ne,e=>{n8.displayModels.length===0&&!lZ.loading&&!R(n)&&!lZ.filter&&(lZ.activeCategory===`all`||!lZ.activeCategory)&&e(re)});var ie=I(ne,2),ae=e=>{var t=z8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>py()]),V(e,t)};U(ie,e=>{n8.displayModels.length===0&&!lZ.loading&&!R(n)&&!lZ.filter&&lZ.activeCategory&&lZ.activeCategory!==`all`&&e(ae)});var oe=I(ie,2),se=e=>{var t=z8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gy()]),V(e,t)};U(oe,e=>{n8.displayModels.length>0&&n8.filteredDisplayModels.length===0&&lZ.filter&&e(se)});var ce=I(oe,2);tGe(ce,{});var le=I(ce,2);E6(le,{});var ue=I(le,2);zWe(ue,{}),I8(I(ue,2),{}),D(a),L(e=>H(c,e),[()=>Bv()]),V(e,a),k()}vr([`click`]);function lGe(e,t,n){let r=Array.isArray(e)?e:[];if(t===n||t<0||n<0||t>=r.length||n>=r.length)return r;let i=r.slice(),[a]=i.splice(t,1);return i.splice(n,0,a),i}function uGe(e,t,n){let r=n.length;if(r===0)return-1;let i=e;if(t=0&&tn[a];a++)i=a;return i}function dGe(e,t,n,r){return e===t||t===n?0:tt&&e<=n?-r:t>n&&e>=n&&e{let i=null,a=()=>[...r.querySelectorAll(n)].filter(e=>e.parentElement===r);function o(t){if(!i)return;let{handle:n,pointerId:a,items:o,from:s,to:c}=i;i=null,n.removeEventListener(`lostpointercapture`,f),window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,d);for(let e of o)e.style.transform=``,e.style.transition=``,e.style.zIndex=``,e.classList.remove(`is-dragging`);r.classList.remove(`is-sorting`),document.body.classList.remove(`sortable-dragging`);try{n.releasePointerCapture(a)}catch{}!t&&s!==c&&e(s,c)}function s(e){if(i||e.button!==0)return;let o=e.target.closest(t);if(!o||o.hasAttribute(`disabled`)||o.getAttribute(`aria-disabled`)===`true`)return;let s=o.closest(n),p=a(),m=s?p.indexOf(s):-1;if(m<0||p.length<2)return;e.preventDefault();let h=p.map(e=>{let t=e.getBoundingClientRect();return t.top+t.height/2});i={pointerId:e.pointerId,handle:o,items:p,from:m,to:m,startY:e.clientY,grabOffset:h[m]-e.clientY,midpoints:h,height:p[m].getBoundingClientRect().height+c(p)},o.setPointerCapture(e.pointerId),o.addEventListener(`lostpointercapture`,f),window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u),window.addEventListener(`pointercancel`,d),p[m].classList.add(`is-dragging`),p[m].style.zIndex=`2`;for(let e of p)e!==p[m]&&(e.style.transition=`transform 0.15s ease`);r.classList.add(`is-sorting`),document.body.classList.add(`sortable-dragging`)}function c(e){if(e.length<2)return 0;let t=e[0].getBoundingClientRect(),n=e[1].getBoundingClientRect();return Math.max(0,n.top-t.bottom)}function l(e){if(!i||e.pointerId!==i.pointerId)return;let{items:t,from:n,midpoints:r,height:a,startY:o,grabOffset:s}=i,c=e.clientY-o;i.to=uGe(n,e.clientY+s,r),t[n].style.transform=`translateY(${c}px)`,t.forEach((e,t)=>{if(t===n)return;let r=dGe(t,n,i.to,a);e.style.transform=r?`translateY(${r}px)`:``})}function u(e){!i||e.pointerId!==i.pointerId||o(!1)}function d(e){!i||e.pointerId!==i.pointerId||o(!0)}function f(e){!i||e.pointerId!==i.pointerId||o(!0)}function p(e){i&&e.key===`Escape`&&o(!0)}return r.addEventListener(`pointerdown`,s),window.addEventListener(`keydown`,p),()=>{o(!0),r.removeEventListener(`pointerdown`,s),window.removeEventListener(`keydown`,p)}}}function B8(e){if(e==null)return null;if(typeof e!=`object`){let t=String(e);return{value:t,label:t,description:``}}let t=String(e.value??``);return{value:t,label:String(e.label??t),description:String(e.description??``)}}function pGe(e,t){let n=new Set,r=(Array.isArray(e)?e:[]).map(B8).filter(e=>!e||n.has(e.value)?!1:(n.add(e.value),!0)),i=String(t||``).trim().toLowerCase();if(!i)return r;let a=[],o=[];for(let e of r){let t=[e.value,e.label,e.description].map(e=>e.toLowerCase());t.some(e=>e.startsWith(i))?a.push(e):t.some(e=>e.includes(i))&&o.push(e)}return a.concat(o)}function mGe(e,t,n){let r=String(t||``).trim();return!n||!r||(Array.isArray(e)?e:[]).map(B8).some(e=>e&&e.value===r)?``:r}function hGe(e,t,n){return n?e<0?t>=0?0:n-1:((e+t)%n+n)%n:-1}var gGe=B(`
  • `),_Ge=B(` `),vGe=B(`
  • `),yGe=B(``),bGe=B(`
    `),xGe=B(`
    `);function SGe(e,t){let n=Tee();O(t,!0);let r=q(t,`options`,19,()=>[]),i=q(t,`value`,15,``),a=q(t,`placeholder`,3,``),o=q(t,`searchPlaceholder`,3,``),s=q(t,`ariaLabel`,3,``),c=q(t,`id`,3,void 0),l=q(t,`allowCustom`,3,!1),u=q(t,`disabled`,3,!1),d=q(t,`mono`,3,!1),f=q(t,`class`,3,``),p=n+`-search-select-list`,m=j(!1),h=j(``),g=j(-1),_=j(null),v=j(null),y=A(()=>pGe(r(),R(h))),b=A(()=>mGe(r(),R(h),l())),x=A(()=>R(y).length+ +!!R(b)),S=A(()=>r().map(B8).find(e=>e&&e.value===i())||(i()?{value:i(),label:i(),description:``}:null));function C(e){return R(b)?e===0?R(b):R(y)[e-1]?.value:R(y)[e]?.value}async function w(){if(u())return;M(m,!0),M(h,``);let e=R(y).findIndex(e=>e.value===i());M(g,e>=0?e:-1,!0),await $n(),R(_)?.focus(),te()}function T(){M(m,!1),M(h,``),M(g,-1)}function ee(){R(m)?T():w()}function E(e){e!=null&&(i(String(e)),t.onchange?.(i()),T())}function te(){(R(v)?.querySelector(`.search-select-option-active`))?.scrollIntoView?.({block:`nearest`})}async function ne(e){switch(e.key){case`ArrowDown`:case`ArrowUp`:e.preventDefault(),M(g,hGe(R(g),e.key===`ArrowDown`?1:-1,R(x)),!0),await $n(),te();break;case`Enter`:e.preventDefault(),R(g)>=0?E(C(R(g))):R(x)>0&&E(C(0));break;case`Tab`:T();break;case`Escape`:e.preventDefault(),e.stopPropagation(),T();break;default:break}}dn(()=>{R(h),M(g,R(x)>0?0:-1,!0)});var re=xGe();let ie;var ae=P(re);let oe;var se=P(ae);let ce;var le=P(se),ue=P(le,!0);D(le),D(se),ni(se,jX),J(I(se,2),{get icon(){return EY},class:`search-select-chevron`}),D(ae);var de=I(ae,2),fe=e=>{var t=bGe(),n=P(t),r=P(n);J(r,{get icon(){return HY},class:`search-select-search-icon`});var a=I(r,2);bi(a),Mi(a,e=>M(_,e),()=>R(_)),D(n);var s=I(n,2),c=P(s),l=e=>{var t=gGe();let n;var r=P(t),i=P(r),a=P(i,!0);D(i),D(r),ni(r,jX),D(t),L(e=>{K(t,`id`,p+`-0`),n=G(t,1,`search-select-option search-select-option-custom svelte-1yfc9j2`,null,n,{mono:d(),"search-select-option-active":R(g)===0}),H(a,e)},[()=>wo({value:R(b)})]),_r(`mouseenter`,t,()=>M(g,0)),z(`click`,t,()=>E(R(b))),V(e,t)};U(c,e=>{R(b)&&e(l)});var u=I(c,2);W(u,19,()=>R(y),e=>e.value,(e,t,n)=>{let r=A(()=>R(n)+ +!!R(b));var a=vGe();let o;var s=P(a),c=P(s),l=P(c,!0);D(c),D(s),ni(s,jX);var u=I(s,2),f=e=>{var n=_Ge(),r=P(n,!0);D(n),L(()=>H(r,R(t).description)),V(e,n)};U(u,e=>{R(t).description&&e(f)});var m=I(u,2),h=e=>{J(e,{get icon(){return TY},class:`search-select-check`})};U(m,e=>{R(t).value===i()&&e(h)}),D(a),L(()=>{K(a,`id`,p+`-`+R(r)),o=G(a,1,`search-select-option svelte-1yfc9j2`,null,o,{mono:d(),"search-select-option-current":R(t).value===i(),"search-select-option-active":R(g)===R(r)}),K(a,`aria-selected`,R(t).value===i()),K(s,`title`,R(t).label),H(l,R(t).label)}),_r(`mouseenter`,a,()=>M(g,R(r))),z(`click`,a,()=>E(R(t).value)),V(e,a)});var f=I(u,2),m=e=>{var t=yGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>xo()]),V(e,t)};U(f,e=>{R(x)===0&&e(m)}),D(s),Mi(s,e=>M(v,e),()=>R(v)),D(t),L((e,t)=>{K(a,`aria-controls`,p),K(a,`aria-activedescendant`,R(g)>=0?p+`-`+R(g):void 0),K(a,`aria-label`,e),K(a,`placeholder`,t),K(s,`id`,p)},[()=>o()||vo(),()=>o()||vo()]),z(`keydown`,a,ne),Di(a,()=>R(h),e=>M(h,e)),V(e,t)};U(de,e=>{R(m)&&e(fe)}),D(re),ni(re,()=>R(m)?AX(T):void 0),L(e=>{ie=G(re,1,ai([`search-select`,f()]),`svelte-1yfc9j2`,ie,{"search-select-open":R(m)}),K(ae,`id`,c()),oe=G(ae,1,`search-select-trigger svelte-1yfc9j2`,null,oe,{mono:d()}),K(ae,`aria-expanded`,R(m)),K(ae,`aria-controls`,R(m)?p:void 0),K(ae,`aria-label`,s()||void 0),ae.disabled=u(),ce=G(se,1,`search-select-value search-select-clip svelte-1yfc9j2`,null,ce,{"search-select-placeholder":!R(S)}),K(se,`title`,e),H(ue,R(S)?R(S).label:a())},[()=>R(S)?[R(S).label,R(S).description].filter(Boolean).join(` — `):void 0]),z(`click`,ae,ee),z(`keydown`,ae,e=>{!R(m)&&(e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),w())}),V(e,re),k()}vr([`click`,`keydown`]);var CGe=[{id:`chat`,path:`/v1/chat/completions`},{id:`responses`,path:`/v1/responses`},{id:`messages`,path:`/v1/messages`}],wGe=`chat`,V8=[`system`,`user`,`assistant`],TGe=new Set([`chat`,`responses`,`messages`]);function H8(e){return CGe.find(t=>t.id===e)||null}function U8(e){return H8(e)?e:wGe}function W8(e){return V8.includes(e)?e:`user`}function G8(e){return e===void 0?void 0:JSON.parse(JSON.stringify(e))}function K8(e){return String(e?.content??``)}function EGe(e){return(Array.isArray(e)?e:[]).filter(e=>K8(e).trim()!==``).map(e=>({role:W8(e.role),content:K8(e)}))}function DGe(e){let t=e.filter(e=>e.role===`system`),n=e.filter(e=>e.role!==`system`);return{system:t.length?t.map(e=>e.content).join(` -`):``,rest:n}}function OGe(e,t={}){let n=H8(e);if(!n)return null;let r=String(t.model||``).trim(),i=!!t.stream,a=kGe(t.maxTokens),o=EGe(t.messages);if(n.id===`chat`){let e={model:r,messages:o};return a&&(e.max_tokens=a),i&&(e.stream=!0),e}let{system:s,rest:c}=DGe(o);if(n.id===`responses`){let e={model:r};return s&&(e.instructions=s),e.input=c,a&&(e.max_output_tokens=a),i&&(e.stream=!0),e}let l={model:r,max_tokens:a||1024};return s&&(l.system=s),l.messages=c,i&&(l.stream=!0),l}function kGe(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:0}function q8(e,t){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&typeof e==`object`&&t.has(e.type)).map(e=>String(e.text??``)).join(``):``}function AGe(e,t){if(!t||typeof t!=`object`)return``;switch(e){case`chat`:{let e=Array.isArray(t.choices)?t.choices[0]?.message:null;return e?q8(e.content,new Set([`text`]))||String(e.refusal||``):``}case`responses`:return typeof t.output_text==`string`&&t.output_text?t.output_text:(Array.isArray(t.output)?t.output:[]).filter(e=>e&&e.type===`message`).map(e=>q8(e.content,new Set([`output_text`]))).join(``);case`messages`:return q8(t.content,new Set([`text`]));default:return``}}function jGe(e){let t=e&&typeof e==`object`?e.usage:null;if(!t||typeof t!=`object`)return null;let n=t.prompt_tokens??t.input_tokens,r=t.completion_tokens??t.output_tokens;return n===void 0&&r===void 0?null:{input:Number(n||0),output:Number(r||0)}}function MGe(e){let t=e&&typeof e==`object`?e.error:null;return t?typeof t==`string`?t:String(t.message||t.type||``):``}function NGe(e){let t={events:0,error:``,result:null},n={chat(e){t.result||={id:e.id,object:`chat.completion`,created:e.created,model:e.model,choices:[{index:0,message:{role:`assistant`,content:``},finish_reason:null}]},e.model&&!t.result.model&&(t.result.model=e.model),e.usage&&(t.result.usage=G8(e.usage));let n=Array.isArray(e.choices)?e.choices[0]:null;if(!n)return``;let r=t.result.choices[0];n.finish_reason&&(r.finish_reason=n.finish_reason);let i=n.delta||{};i.role&&(r.message.role=i.role);let a=typeof i.content==`string`?i.content:``;return r.message.content+=a,a},responses(e){t.result||={output:[]};let n=t.result.output||(t.result.output=[]);switch(e.type){case`response.output_item.added`:{let t=G8(e.item)||{};return n[e.output_index??n.length]=t,``}case`response.output_text.delta`:{let t=String(e.delta??``),r=e.output_index===void 0||e.output_index===null?n.findLast(e=>e&&e.type===`message`):n[e.output_index];(!r||r.type!==`message`)&&(r={type:`message`,role:`assistant`,content:[]},n.push(r)),Array.isArray(r.content)||(r.content=[]);let i=r.content[e.content_index??r.content.length-1];return(!i||i.type!==`output_text`)&&(i={type:`output_text`,text:``},r.content.push(i)),i.text=String(i.text||``)+t,t}case`response.created`:case`response.in_progress`:case`response.completed`:case`response.incomplete`:case`response.failed`:{let r=G8(e.response);return r?((!Array.isArray(r.output)||r.output.length===0)&&(r.output=n),t.result=r,``):``}default:return``}},messages(e){switch(e.type){case`message_start`:return t.result=G8(e.message)||{},t.result.content=[],``;case`content_block_start`:return t.result||={content:[]},t.result.content[e.index??t.result.content.length]=G8(e.content_block)||{},``;case`content_block_delta`:{t.result||={content:[]};let n=t.result.content[e.index??0]||(t.result.content[e.index??0]={}),r=e.delta||{};return r.type===`text_delta`?(n.type=n.type||`text`,n.text=(n.text||``)+String(r.text??``),String(r.text??``)):(r.type===`input_json_delta`&&(n.partial_json=(n.partial_json||``)+String(r.partial_json??``)),``)}case`message_delta`:return t.result||={content:[]},Object.assign(t.result,G8(e.delta)||{}),e.usage&&(t.result.usage={...t.result.usage||{},...G8(e.usage)}),``;default:return``}}}[e]||(()=>``);return{get events(){return t.events},get error(){return t.error},push(e){if(!e||typeof e!=`object`)return``;t.events++;let r=MGe(e);return r?(t.error=r,``):n(e)},result(){return t.result}}}function PGe(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n?.selector||n?.model?.id||``).trim();if(!e||t.has(e)||n?.access&&n.access.effective_enabled===!1)continue;let r=n?.model?.metadata?.modes;if(Array.isArray(r)&&r.length&&!r.some(e=>TGe.has(e)))continue;let i=String(n?.provider_name||``),a=i?i.toLowerCase()+`/`:``,o=a&&e.toLowerCase().startsWith(a)&&e.length>a.length?e.slice(a.length):e;t.set(e,{id:e,label:o,provider:i})}return[...t.values()].sort((e,t)=>e.id.localeCompare(t.id))}function J8(e){return Math.max(280,Math.min(760,Math.floor(Number(e||0)*.6)))}function Y8(e,t){let n=J8(t),r=Number(e);return Number.isFinite(r)?Math.min(n,Math.max(280,Math.round(r))):Math.min(420,n)}function X8(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Z8={endpoint:`gomodel_playground_endpoint`,model:`gomodel_playground_model`,stream:`gomodel_playground_stream`,panel:`gomodel_playground_json_panel`},Q8=new class{#e=j(N(U8(Bi(Z8.endpoint,``))));get endpoint(){return R(this.#e)}set endpoint(e){M(this.#e,e,!0)}#t=j(N(Bi(Z8.model,``)||``));get model(){return R(this.#t)}set model(e){M(this.#t,e,!0)}#n=j(Bi(Z8.stream,`true`)!==`false`);get stream(){return R(this.#n)}set stream(e){M(this.#n,e,!0)}#r=j(N([]));get messages(){return R(this.#r)}set messages(e){M(this.#r,e,!0)}#i=j(``);get draft(){return R(this.#i)}set draft(e){M(this.#i,e,!0)}#a=j(!1);get sending(){return R(this.#a)}set sending(e){M(this.#a,e,!0)}#o=j(!1);get sendingStream(){return R(this.#o)}set sendingStream(e){M(this.#o,e,!0)}#s=j(``);get error(){return R(this.#s)}set error(e){M(this.#s,e,!0)}#c=j(null);get response(){return R(this.#c)}set response(e){M(this.#c,e,!0)}#l=j(null);get responseMeta(){return R(this.#l)}set responseMeta(e){M(this.#l,e,!0)}#u=j(Bi(Z8.panel,`true`)!==`false`);get panelOpen(){return R(this.#u)}set panelOpen(e){M(this.#u,e,!0)}#d=j(`request`);get panelTab(){return R(this.#d)}set panelTab(e){M(this.#d,e,!0)}#f=A(()=>OGe(this.endpoint,{model:this.model,messages:this.messages,stream:this.stream}));get requestBody(){return R(this.#f)}set requestBody(e){M(this.#f,e)}#p=null;#m=1;get endpointPath(){return H8(this.endpoint)?.path||``}get canSend(){return!this.sending&&(this.draft.trim()!==``||this.messages.length>0)}setEndpoint(e){this.endpoint=U8(e),Vi(Z8.endpoint,this.endpoint)}setModel(e){this.model=String(e||``),Vi(Z8.model,this.model)}setStream(e){this.stream=!!e,Vi(Z8.stream,this.stream)}togglePanel(){this.panelOpen=!this.panelOpen,Vi(Z8.panel,this.panelOpen)}addMessage(e,t=``){return this.messages.push({id:this.#m++,role:W8(e),content:String(t),pending:!1}),this.messages[this.messages.length-1]}removeMessage(e){this.messages=this.messages.filter(t=>t.id!==e)}moveMessage(e,t){this.messages=lGe(this.messages,e,t)}nudgeMessage(e,t){let n=this.messages.findIndex(t=>t.id===e);n<0||this.moveMessage(n,Math.max(0,Math.min(this.messages.length-1,n+t)))}clear(){this.stop(),this.messages=[],this.error=``,this.response=null,this.responseMeta=null}stop(){this.#p&&this.#p.abort()}async send(){if(!this.canSend)return;let e=this.draft.trim();if(e&&(this.addMessage(`user`,e),this.draft=``),!String(this.model||``).trim()){this.error=vte();return}let t=H8(this.endpoint),n=this.requestBody;if(!t||!n)return;let r=new AbortController;this.#p=r,this.sending=!0,this.sendingStream=n.stream===!0,this.error=``,this.response=null,this.responseMeta=null;let i=X.generation,a=performance.now(),o=this.addMessage(`assistant`,``);o.pending=!0;let s={status:0,durationMs:0,streamed:!1,events:0,usage:null};try{let e=await CX(t.path,{method:`POST`,body:JSON.stringify(n),signal:r.signal});if(s.status=e.status,!e.ok){let t=null;try{t=await e.json()}catch{t=null}if(this.response=t,e.status===401&&xX(t)){X.handleUnauthorized(i),this.error=BV();return}this.error=bX(t,Lo());return}if(n.stream===!0&&e.body&&String(e.headers.get(`Content-Type`)||``).includes(`text/event-stream`)){s.streamed=!0;let n=NGe(t.id);await R2(e.body.getReader(),e=>{let t=n.push(e);t&&(o.content+=t)}),s.events=n.events,this.response=n.result(),n.error&&(this.error=n.error)}else{let n=await e.json();this.response=n,o.content=AGe(t.id,n)}s.usage=jGe(this.response),!o.content&&!this.error&&(this.error=Cte())}catch(e){!DX(e)&&!r.signal.aborted&&(console.error(`Playground request failed:`,e),this.error=Lo())}finally{s.durationMs=Math.round(performance.now()-a),o.pending=!1,o.content||this.removeMessage(o.id),this.#p===r&&(this.#p=null,this.sending=!1),this.responseMeta=s,(this.response!==null||this.error)&&(this.panelTab=`response`)}}},FGe=B(``),IGe=B(`
    `);function LGe(e,t){O(t,!0);let n=q(t,`modelOptions`,19,()=>[]),r=A(()=>n().map(e=>({value:e.id,label:e.label,description:e.provider}))),i=A(()=>[{value:`chat`,label:$a()},{value:`responses`,label:no()},{value:`messages`,label:ao()}]),a={system:Mo,user:No,assistant:Po};var o=IGe(),s=P(o),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2);{let e=A(()=>Xa());A2(d,{get options(){return R(i)},get value(){return Q8.endpoint},get ariaLabel(){return R(e)},onchange:e=>Q8.setEndpoint(e)})}D(c);var f=I(c,2),p=P(f),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>fo()),t=A(()=>ho()),n=A(()=>co());SGe(h,{id:`playground-model`,class:`playground-model-select`,get options(){return R(r)},get value(){return Q8.model},onchange:e=>Q8.setModel(e),get placeholder(){return R(e)},get searchPlaceholder(){return R(t)},get ariaLabel(){return R(n)},allowCustom:!0,mono:!0})}D(f),D(s);var g=I(s,2),_=P(g),v=P(_,!0);D(_);var y=I(_,2);W(y,20,()=>V8,e=>e,(e,t)=>{var n=FGe(),r=P(n);J(r,{get icon(){return RY},class:`table-icon-svg`});var i=I(r,2),o=P(i,!0);D(i),D(n),L(e=>{G(n,1,ai([`btn`,`btn-with-icon`,`playground-add-btn`,`playground-role-`+t]),`svelte-1t3fm2w`),H(o,e)},[()=>a[t]()]),z(`click`,n,()=>Q8.addMessage(t)),V(e,n)}),D(y);var b=I(y,2),x=P(b);D(b);var S=I(b,2),C=P(S);bi(C);var w=I(C,2),T=P(w,!0);D(w),D(S);var ee=I(S,2),E=P(ee);J(E,{get icon(){return Lke},class:`table-icon-svg`});var te=I(E,2),ne=P(te,!0);D(te),D(ee),D(g),D(o),L((e,t,n,r,i,a,o)=>{H(u,e),H(m,t),H(v,n),K(y,`aria-label`,r),K(b,`title`,i),H(x,`POST ${Q8.endpointPath??``}`),Si(C,Q8.stream),H(T,a),ee.disabled=Q8.messages.length===0&&!Q8.response&&!Q8.error,H(ne,o)},[()=>Xa(),()=>co(),()=>Ao(),()=>Ao(),()=>qa(),()=>Do(),()=>tte()]),z(`change`,C,e=>Q8.setStream(e.currentTarget.checked)),z(`click`,ee,()=>Q8.clear()),V(e,o),k()}vr([`click`,`change`]);var RGe=B(``),zGe=B(` `),BGe=B(`
    `);function VGe(e,t){O(t,!0);let n=q(t,`message`,7);function r(e){if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;e.preventDefault(),Q8.nudgeMessage(n().id,e.key===`ArrowUp`?-1:1);let t=e.currentTarget;queueMicrotask(()=>t.focus())}let i={system:Mo,user:No,assistant:Po};var a=BGe(),o=P(a),s=P(o);J(P(s),{get icon(){return Bke},class:`table-icon-svg`}),D(s);var c=I(s,2);W(c,20,()=>V8,e=>e,(e,t)=>{var n=RGe(),r=P(n,!0);D(n);var a={};L(e=>{H(r,e),a!==(a=t)&&(n.value=(n.__value=t)??``)},[()=>i[t]()]),V(e,n)}),D(c);var l;fi(c);var u=I(c,2),d=e=>{var t=zGe(),n=I(P(t),2),r=P(n,!0);D(n),D(t),L(e=>H(r,e),[()=>Io()]),V(e,t)};U(u,e=>{n().pending&&e(d)});var f=I(u,2);{let e=A(()=>Xee());O3(f,{get label(){return R(e)},class:`table-icon-btn playground-remove-btn`,get disabled(){return n().pending},onclick:()=>Q8.removeMessage(n().id),children:(e,t)=>{J(e,{get icon(){return KY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(o);var p=I(o,2);at(p),D(a),L((e,t,r,i,o)=>{G(a,1,ai([`playground-message`,`playground-message-`+n().role]),`svelte-8ie8sw`),K(a,`data-role`,n().role),K(s,`aria-label`,e),K(s,`title`,t),s.disabled=n().pending||Q8.messages.length<2,K(c,`aria-label`,r),c.disabled=n().pending,l!==(l=n().role)&&(c.value=(c.__value=n().role)??``,di(c,n().role)),K(p,`aria-label`,i),K(p,`placeholder`,o),p.readOnly=n().pending},[()=>Fo(),()=>Fo(),()=>Ree(),()=>i[n().role](),()=>qee()]),z(`keydown`,s,r),z(`change`,c,e=>{n().role=e.currentTarget.value}),Di(p,()=>n().content,e=>n().content=e),V(e,a),k()}vr([`keydown`,`change`]);var HGe=B(``),UGe=B(``),WGe=B(`
    `);function GGe(e,t){O(t,!0);function n(e){e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),Q8.canSend&&Q8.send())}var r=WGe(),i=P(r);at(i);var a=I(i,2),o=P(a),s=P(o,!0);D(o);var c=I(o,2),l=e=>{var t=HGe(),n=P(t);J(n,{get icon(){return iAe},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>pte()]),V(e,t)},u=e=>{var t=UGe(),n=P(t);J(n,{get icon(){return Zke},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=!Q8.canSend,H(i,e)},[()=>is()]),V(e,t)};U(c,e=>{Q8.sending?e(l):e(u,-1)}),D(a),D(r),L((e,t,n)=>{K(i,`aria-label`,e),K(i,`placeholder`,t),i.disabled=Q8.sending,H(s,n)},[()=>ste(),()=>ute(),()=>qa()]),_r(`submit`,r,e=>{e.preventDefault(),Q8.sending?Q8.stop():Q8.send()}),z(`keydown`,i,n),Di(i,()=>Q8.draft,e=>Q8.draft=e),V(e,r),k()}vr([`keydown`]);var KGe=B(``);function $8(e,t){O(t,!0);let n=q(t,`label`,3,`Copy`),r=q(t,`copiedLabel`,3,`Copied`),i=q(t,`errorLabel`,3,``),a=q(t,`class`,3,`btn`),o=A(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=KGe();let c;var l=P(s),u=e=>{J(e,{get icon(){return OY},width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{J(e,{get icon(){return AY},width:`14`,height:`14`})};U(l,e=>{t.state.copied?e(u):e(d,-1)});var f=I(l,2),p=P(f,!0);D(f),D(s),L(()=>{c=G(s,1,ai([`copy-feedback-btn`,a()]),null,c,{"copy-feedback-btn-copied":t.state.copied}),H(p,R(o))}),z(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),V(e,s),k()}vr([`click`]);var e5=null;function qGe(){return e5===null&&(e5=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`)),!!(e5&&e5.matches)}function t5(e){return qGe()?0:e}function JGe(e,t){return!t||!t.live?{duration:0}:RX(e,{duration:t5(150)})}var YGe=B(`

     
    `,1),n5=B(`

    `),XGe=B(`

    `),ZGe=B(`
     
    `,1),QGe=B(``);function $Ge(e,t){O(t,!0);let n=`gomodel_playground_json_panel_width`,r=typeof window>`u`?1280:window.innerWidth,i=Number(Bi(n,420))||420,a=j(N(Y8(i,r))),o=j(N(J8(r))),s=null,c=C3({logPrefix:`Failed to copy playground JSON:`}),l=A(()=>[{value:`request`,label:Bo()},{value:`response`,label:Vo()}]),u=A(()=>X8(Q8.requestBody)),d=A(()=>X8(Q8.response)),f=A(()=>Q8.panelTab===`request`?R(u):R(d));function p(e){if(!e)return[];let t=[];return e.status&&t.push(Yte({status:e.status})),t.push(Qte({seconds:(e.durationMs/1e3).toFixed(2)})),e.usage&&t.push(tne({input:e.usage.input,output:e.usage.output})),e.streamed&&t.push(ine({count:e.events})),t}function m(e){M(a,Y8(window.innerWidth-e,window.innerWidth),!0),i=R(a)}function h(e){e.button===0&&(e.preventDefault(),s=e.pointerId,e.currentTarget.setPointerCapture(e.pointerId),m(e.clientX))}function g(e){e.pointerId===s&&m(e.clientX)}function _(e){s===null||e.pointerId!==s||(s=null,Vi(n,i))}function v(e){e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),M(a,Y8(R(a)+(e.key===`ArrowLeft`?24:-24),window.innerWidth),!0),i=R(a),Vi(n,i))}dn(()=>{if(!Q8.panelOpen)return;let e=()=>{M(o,J8(window.innerWidth),!0),M(a,Y8(i,window.innerWidth),!0)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)});var y=Tr(),b=F(y),x=e=>{var t=QGe();let n;var r=P(t),i=I(r,2),s=P(i),m=P(s,!0);D(s);var y=I(s,2);{let e=A(()=>zo());A2(y,{get options(){return R(l)},get value(){return Q8.panelTab},get ariaLabel(){return R(e)},onchange:e=>{Q8.panelTab=e}})}var b=I(y,2),x=P(b);{let e=A(()=>Ute()),t=A(()=>As()),n=A(()=>as());$8(x,{get state(){return c},get label(){return R(e)},get copiedLabel(){return R(t)},get errorLabel(){return R(n)},onclick:()=>c.copy(R(f))})}var S=I(x,2);{let e=A(()=>Ro());kX(S,{get label(){return R(e)},onclick:()=>Q8.togglePanel()})}D(b),D(i);var C=I(i,2),w=P(C),T=e=>{var t=YGe(),n=F(t),r=P(n);D(n);var i=I(n,2),a=P(i,!0);D(i),L(()=>{H(r,`POST ${Q8.endpointPath??``}`),H(a,R(u))}),V(e,t)},ee=e=>{var t=n5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Q8.sendingStream?Bte():Io()]),V(e,t)},E=e=>{var t=n5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Lte()]),V(e,t)},te=e=>{var t=ZGe(),n=F(t),r=e=>{var t=XGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>p(Q8.responseMeta).join(` · `)]),V(e,t)};U(n,e=>{Q8.responseMeta&&e(r)});var i=I(n,2),a=P(i,!0);D(i),L(()=>H(a,R(d))),V(e,t)};U(w,e=>{Q8.panelTab===`request`?e(T):Q8.sending&&Q8.response===null?e(ee,1):Q8.response===null?e(E,2):e(te,-1)}),D(C),D(t),L((e,i,s)=>{n=ui(t,``,n,{"--playground-json-panel-width":R(a)+`px`}),K(r,`aria-label`,e),K(r,`aria-valuemin`,280),K(r,`aria-valuemax`,R(o)),K(r,`aria-valuenow`,R(a)),H(m,i),K(C,`aria-label`,s)},[()=>Kte(),()=>zo(),()=>Q8.panelTab===`request`?Bo():Vo()]),z(`pointerdown`,r,h),z(`pointermove`,r,g),z(`pointerup`,r,_),_r(`pointercancel`,r,_),z(`keydown`,r,v),$r(3,t,()=>RX,()=>({axis:`x`,duration:t5(180),easing:zX})),V(e,t)};U(b,e=>{Q8.panelOpen&&e(x)}),V(e,y),k()}vr([`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var eKe=B(``),tKe=B(`

    `),nKe=B(`
    `);function rKe(e,t){O(t,!0);let n=A(()=>PGe(lZ.models));dn(()=>{eX.page!==`playground`||Q8.model||R(n).length===0||Q8.setModel(R(n)[0].id)});let r=j(null);dn(()=>{let e=Q8.messages[Q8.messages.length-1];e?.content,!(!R(r)||!e?.pending)&&(R(r).scrollTop=R(r).scrollHeight)});var i=nKe();let a;var o=P(i),s=P(o),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u),f=P(d);J(f,{get icon(){return Oke},class:`table-icon-svg`});var p=I(f,2),m=P(p,!0);D(p),D(d),D(u),D(s);var h=I(s,2);LGe(h,{get modelOptions(){return R(n)}});var g=I(h,2),_=e=>{var t=eKe(),n=P(t,!0);D(t),L(()=>H(n,Q8.error)),V(e,t)};U(g,e=>{Q8.error&&e(_)});var v=I(g,2),y=P(v),b=e=>{var t=tKe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>ite()]),V(e,t)},x=e=>{var t=Tr();W(F(t),17,()=>Q8.messages,e=>e.id,(e,t)=>{VGe(e,{get message(){return R(t)}})}),V(e,t)};U(y,e=>{Q8.messages.length===0?e(b):e(x,-1)}),D(v),Mi(v,e=>M(r,e),()=>R(r)),ni(v,()=>fGe({onreorder:(e,t)=>Q8.moveMessage(e,t)})),GGe(I(v,2),{}),D(o),$Ge(I(o,2),{}),D(i),L((e,t,n)=>{a=G(i,1,`playground svelte-l6u7qi`,null,a,{"playground-panel-open":Q8.panelOpen}),K(o,`aria-label`,e),H(l,t),K(d,`aria-pressed`,Q8.panelOpen),H(m,n)},[()=>Wa(),()=>Wa(),()=>Q8.panelOpen?Ro():Ete()]),z(`click`,d,()=>Q8.togglePanel()),V(e,i),k()}vr([`click`]);var iKe=`draft-workflow-preview`;function r5(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function i5(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function aKe(e){return{ref:``,step:Number.isFinite(e)?e:10}}function a5(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function o5(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function oKe(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function s5(e){return{cache:!!o5(e,`cache`,!1),audit:!!o5(e,`audit`,!1),usage:!!o5(e,`usage`,!1),budget:o5(e,`budget`,!0)!==!1,guardrails:!!o5(e,`guardrails`,!1),failover:o5(e,`failover`,!0)!==!1}}function c5(e,t){let n=s5(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function l5(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...c5((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:s5(n).failover}}function sKe(e,t){return l5(e,t).failover?x_e():w_e()}function u5(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:a5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function cKe(e,t){return l5(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function d5(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function f5(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function p5(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=f5(e);t&&n.add(t)}),[...n].sort()}function m5(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&f5(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function lKe(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?dve():t===`provider_model_path`?mve():t===`provider_path`?_ve():t===`path`?yve():t===`provider`?Sve():Tve()}function h5(e){return String(e&&e.scope_display||`global`).trim()||`global`}function g5(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=h5(e);return n===`global`?Ove():n}function _5(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return KH();if(t.includes(`:`))return YH()}}return``}function v5(e){if(_5(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function y5(e){let t=e||r5(),n=String(t.scope_provider||``).trim(),r=v5(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function b5(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=v5(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function uKe(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=v5(e&&e.scope_user_path),i=b5({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function dKe(e,t){let n=t||i5(),r=d5(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=v5(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===v5(n.scope_user_path)}function x5(e,t,n){let r=y5(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>dKe(e,r))||null}function S5(e){return String(e&&e.scope_type||``).trim()!==`global`}function fKe(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function pKe(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,d5(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function mKe(e,t){let n=e||r5(),r=y5(n),i=s5(n.features||{}),a=c5(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?u5(n):[];return{id:iKe,scope_type:b5(r),scope_display:uKe(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function hKe({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||r5(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=v5(a.scope_user_path),l=s5(a.features||{}),u=c5(l,t),d=x5(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=oKe(f,`failover`),m=p?o5(f,`failover`,!0)!==!1:null,h=i||i5(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&v5(h.scope_user_path)===v5(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:a5(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function gKe(e,{models:t=[],hydratedScope:n=null}={}){let r=n||i5(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!p5(t,r).includes(o)&&o!==i)return jve();if(s&&!o)return Pve();if(s){let e=m5(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return Lve()}let c=_5(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return Bve();if(!Number.isInteger(e.step)||e.step<0)return Uve();if(d.has(e.ref))return Kve();d.add(e.ref)}return``}var C5=new class{#e=j(N([]));get workflows(){return R(this.#e)}set workflows(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get formOpen(){return R(this.#a)}set formOpen(e){M(this.#a,e,!0)}#o=j(!1);get submitting(){return R(this.#o)}set submitting(e){M(this.#o,e,!0)}#s=j(``);get deactivatingID(){return R(this.#s)}set deactivatingID(e){M(this.#s,e,!0)}#c=j(``);get formError(){return R(this.#c)}set formError(e){M(this.#c,e,!0)}#l=j(!1);get formHydrated(){return R(this.#l)}set formHydrated(e){M(this.#l,e,!0)}#u=j(N(i5()));get hydratedScope(){return R(this.#u)}set hydratedScope(e){M(this.#u,e,!0)}#d=j(N([]));get guardrailRefs(){return R(this.#d)}set guardrailRefs(e){M(this.#d,e,!0)}#f=j(N(r5()));get form(){return R(this.#f)}set form(e){M(this.#f,e,!0)}#p=null;failoverVisible(){return OX.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:OX.cacheVisible(),audit:OX.auditVisible(),usage:OX.usageVisible(),budget:OX.budgetsVisible(),guardrails:OX.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return pKe(this.workflows,this.filter)}providerOptions(){return p5(lZ.models,this.hydratedScope)}modelOptions(e){return m5(lZ.models,e,this.hydratedScope)}activeScopeMatch(){return x5(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?Zge():LM()}submittingLabel(){return this.submitMode()===`save`?e_e():r_e()}preview(){return mKe(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=i5(),this.form=r5();return}this.formHydrated=!0,this.hydratedScope={scope_provider:d5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?s5(e.workflow_payload.features):l5(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:a5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):u5(e);this.form={scope_provider:d5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=i5(),this.form=r5()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(aKe(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return hKe({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4),n=await k3(`/admin/workflows`,{label:`workflows`,options:{signal:e.signal}});if(clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1,n.status!==`stale`)){if(n.status===`unavailable`){this.available=!1,this.workflows=[];return}if(n.result&&(this.available=!0),n.status===`error`){this.workflows=[],this.error=e.signal.aborted?l_e():n.error;return}this.workflows=n.items}}async fetchGuardrailRefs(){let e=await k3(`/admin/workflows/guardrails`,{label:`workflow guardrails`});e.status!==`stale`&&(this.guardrailRefs=e.items)}async fetchPage(){await Promise.all([OX.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=gKe(e,{models:lZ.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await A3(`/admin/workflows`,`POST`,e,{label:`create workflow`,unavailableStatuses:[]});if(t.status===`stale`||t.result&&t.result.status===401)return;if(t.status===`error`){this.formError=t.error;return}BX.success(f_e()),this.closeForm(),this.fetchPage()}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!S5(e))return;let n=g5(e);if(confirm(h_e({name:n}))){this.deactivatingID=t;try{let e=await A3(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`,unavailableStatuses:[]});if(e.status===`stale`||e.result&&e.result.status===401)return;if(e.status===`error`){BX.error(e.error);return}BX.success(v_e()),this.fetchPage()}finally{this.deactivatingID=``}}}},_Ke=B(``);function vKe(e,t){O(t,!0);let n=q(t,`workflowID`,3,``),r=C3({logPrefix:`Failed to copy workflow ID:`});dn(()=>{n(),r.reset()});let i=A(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=A(()=>n()?R(i)+` `+n():R(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=_Ke();let c;var l=I(P(s),4),u=P(l,!0);D(l);var d=I(l,2);J(P(d),{get icon(){return AY}}),D(d),D(s),L(()=>{c=G(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),K(s,`title`,R(i)),K(s,`aria-label`,R(a)),H(u,n())}),z(`click`,s,o),V(e,s),k()}vr([`click`]);var w5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=gt(()=>h((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=SKe(),l=P(c),u=e=>{var t=yKe();let r;J(P(t),{get icon(){return n()}}),D(t),L(()=>r=G(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":R(i)===`workflow-node-endpoint`})),V(e,t)};U(l,e=>{n()&&e(u)});var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=e=>{var t=bKe(),n=P(t,!0);D(t),L(()=>H(n,s())),V(e,t)};U(p,e=>{s()&&e(m)});var g=I(p,2),_=e=>{var t=xKe(),n=P(t,!0);D(t),L(()=>H(n,o())),V(e,t)};U(g,e=>{o()&&e(_)}),D(c),L(()=>{G(c,1,ai([`workflow-node`,R(i),a()]),`svelte-nbptrg`),H(f,r())}),V(e,c)},yKe=B(`
    `),bKe=B(` `),xKe=B(` `),SKe=B(`
    `),T5=B(`
    `,1),E5=B(`
    `,1),CKe=B(`
    `),wKe=B(`
    `),TKe=B(`
    `);function D5(e,t){O(t,!0);let n=q(t,`chart`,19,()=>({}));var r=TKe(),i=P(r),a=e=>{vKe(e,{get workflowID(){return n().workflowID}})};U(i,e=>{n().workflowID&&e(a)});var o=I(i,2),s=P(o);{let e=A(()=>({icon:sAe,label:OOe(),variant:`workflow-node-endpoint`}));w5(s,()=>R(e))}var c=I(s,4);{let e=A(()=>({icon:MY,label:jOe(),state:n().authNodeClass,sub:n().authNodeSublabel}));w5(c,()=>R(e))}var l=I(c,2),u=e=>{var t=T5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:MY,label:SN(),state:n().cacheNodeClass,badge:n().cacheStatusLabel}));w5(i,()=>R(e))}L(()=>G(r,1,ai([`workflow-conn`,n().cacheConnClass]),`svelte-nbptrg`)),V(e,t)};U(l,e=>{n().showCache&&e(u)});var d=I(l,2),f=e=>{var t=E5(),r=I(F(t),2);{let e=A(()=>({icon:JY,label:jN(),state:n().budgetNodeClass,badge:n().budgetStatusLabel}));w5(r,()=>R(e))}V(e,t)};U(d,e=>{n().showBudget&&e(f)});var p=I(d,2),m=e=>{var t=E5(),r=I(F(t),2);{let e=A(()=>({icon:nAe,label:Ok(),sub:n().guardrailLabel}));w5(r,()=>R(e))}V(e,t)};U(p,e=>{n().showGuardrails&&e(m)});var h=I(p,2),g=I(h,2);w5(g,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var _=I(g,2),v=e=>{var t=T5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:IY,label:PN(),state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel}));w5(i,()=>R(e))}L(()=>G(r,1,ai([`workflow-conn`,n().failoverConnClass]),`svelte-nbptrg`)),V(e,t)};U(_,e=>{n().showFailover&&e(v)});var y=I(_,2),b=I(y,2);{let e=A(()=>({icon:Fke,label:POe(),variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel}));w5(b,()=>R(e))}D(o);var x=I(o,2),S=e=>{var t=wKe(),r=P(t),i=e=>{{let t=A(()=>({icon:jke,label:ON(),variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}));w5(e,()=>R(t))}};U(r,e=>{n().showUsage&&e(i)});var a=I(r,2),o=e=>{V(e,CKe())};U(a,e=>{n().showUsage&&n().showAudit&&e(o)});var s=I(a,2),c=e=>{{let t=A(()=>({icon:Rke,label:LOe(),variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}));w5(e,()=>R(t))}};U(s,e=>{n().showAudit&&e(c)});var l=I(s,4),u=P(l,!0);D(l),D(t),L(e=>H(u,e),[()=>Tk()]),V(e,t)};U(x,e=>{n().showAsync&&e(S)}),D(r),L(()=>{G(h,1,ai([`workflow-conn`,n().aiConnClass]),`svelte-nbptrg`),G(y,1,ai([`workflow-conn`,n().responseConnClass]),`svelte-nbptrg`)}),V(e,r),k()}function EKe(e){let t=u5(e).length;return t===0?``:t===1?M_e():HJ({count:t})}function DKe(e,t){return t&&t.provider?t.provider:d5(e&&e.scope)||`AI`}function OKe(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function kKe(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function AKe(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:s5(t)}function O5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function k5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return k5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=k5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:k5(e.error,t+1)):``}function A5(e){return e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{}}function jKe(e){let t=A5(e);return String(t.error_code||t.errorCode||``).trim()||k5(t.response_body)}function MKe(e){return String(e&&e.error_type||``).trim().toLowerCase()===`authentication_error`&&!String(A5(e).error_provider||``).trim()}function NKe(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function PKe(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=O5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=NKe(n);if(i)return i;let a=d5(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function FKe(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=O5(e),o=PKe(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=MKe(e),l=String(e.auth_method||``).trim().toLowerCase()||null,u=jKe(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function IKe(e){return!!(e&&e.cacheHit)}function LKe(e){return!!(e&&e.failoverTarget)}function j5(e){return!!(e&&e.budgetExceeded)}function RKe(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function zKe(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function BKe(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?BOe():UOe()}function VKe(e,t,n,r){return e?j5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function HKe(e){return j5(e)?KOe():null}function UKe(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function WKe(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function GKe(e){return e&&e.failoverTarget?YOe():null}function KKe(e){return e&&e.failoverTarget?e.failoverTarget:null}function M5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function qKe(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function JKe(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function YKe(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function XKe(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function ZKe(e){return!e||!e.authMethod?null:e.authMethod}function N5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function P5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function QKe(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function F5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function I5(e,t){return!e||!e._live||P5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function $Ke(e,t,n){return!e||!e._live?``:F5(e)?`usage`:I5(e,t)?`audit`:P5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function L5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?s5(i.features):l5(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||j5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||LKe(t),m=kKe(e,i.entry),h=$Ke(i.entry,t,a),g=F5(i.entry),_=I5(i.entry,t),v=P5(i.entry,s),y=QKe(i.entry,s);return{showBudget:c,budgetNodeClass:VKe(c,t,s,h===`budget`),budgetStatusLabel:HKe(t),showGuardrails:l,guardrailLabel:l?EKe(e):``,showCache:!!i.forceCache||!!a.cache||IKe(t),cacheNodeClass:RKe(t,h===`cache`),cacheConnClass:zKe(t),cacheStatusLabel:BKe(t),showFailover:p,failoverNodeClass:p?UKe(t):``,failoverConnClass:p?WKe(t):``,failoverStatusLabel:p?GKe(t):null,failoverTargetLabel:p?KKe(t):null,aiLabel:DKe(e,t),aiSublabel:OKe(e,t),aiConnClass:M5(t),aiNodeClass:qKe(t,h===`ai`),responseConnClass:M5(t),responseNodeClass:JKe(t,h===`response`),responseNodeSublabel:YKe(t),authNodeClass:XKe(t,h===`auth`),authNodeSublabel:ZKe(t),usageNodeClass:N5(u,y,g),auditNodeClass:N5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function eqe(e,t){return L5(e,null,{forceCache:!1},t)}function tqe(e,t,n){return L5(t,FKe(e,t),{entry:e,features:AKe(e)||(t?l5(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var nqe=B(`

    `),R5=B(`

    `),rqe=B(`
    `),iqe=B(`
    `),aqe=B(`

    `),oqe=B(``),sqe=B(`

    `);function z5(e,t){O(t,!0);let n=q(t,`preview`,3,!1),r=A(()=>C5.featureCaps()),i=A(()=>g5(t.workflow)),a=A(()=>cKe(t.workflow,R(r))),o=A(()=>eqe(t.workflow,R(r))),s=A(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=sqe();let l;var u=P(c),d=P(u),f=P(d),p=P(f,!0);D(f);var m=I(f,2),h=P(m,!0);D(m),D(d);var g=I(d,2),_=P(g),v=P(_,!0);D(_),D(g),D(u);var y=I(u,2),b=e=>{var n=nqe(),r=P(n,!0);D(n),L(()=>H(r,t.workflow.description)),V(e,n)};U(y,e=>{t.workflow.description&&e(b)});var x=I(y,2),S=e=>{var n=R5(),i=P(n);D(n),L((e,t)=>H(i,`${e??``}: ${t??``}`),[()=>PN(),()=>sKe(t.workflow,R(r))]),V(e,n)},C=A(()=>C5.failoverVisible());U(x,e=>{R(C)&&e(S)});var w=I(x,2);D5(w,{get chart(){return R(o)}});var T=I(w,2),ee=e=>{var t=aqe(),n=P(t),r=P(n),i=P(r,!0);D(r);var o=I(r,2),c=P(o,!0);D(o),D(n);var l=I(n,2),u=e=>{var t=iqe();W(t,23,()=>R(a),(e,t)=>R(s)+t,(e,t)=>{var n=rqe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a),D(n),L(e=>{H(i,R(t).ref),H(o,e)},[()=>F_e({number:R(t).step})]),V(e,n)}),D(t),V(e,t)},d=e=>{var t=R5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jk()]),V(e,t)};U(l,e=>{R(a).length>0?e(u):e(d,-1)}),D(t),L((e,t)=>{H(i,e),H(c,t)},[()=>Ok(),()=>R(a).length?HJ({count:R(a).length}):D_e()]),V(e,t)},E=A(()=>OX.guardrailsVisible());U(T,e=>{R(E)&&e(ee)});var te=I(T,2),ne=e=>{var n=oqe(),r=P(n),a=P(r),o=P(a,!0);D(a);var s=I(a,2);{let e=A(()=>$_e({name:R(i)}));O3(s,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>C5.openCreate(t.workflow),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(r);var c=I(r,2),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p),D(c),D(n),L((e,t,n,r,i,s,c)=>{a.disabled=e,K(a,`aria-label`,t),K(a,`title`,n),H(o,r),H(u,i),H(f,s),H(m,c)},[()=>C5.deactivatingID===t.workflow.id||!S5(t.workflow),()=>R_e({name:R(i)}),()=>S5(t.workflow)?V_e():W_e(),()=>C5.deactivatingID===t.workflow.id?q_e():X_e(),()=>nve({version:t.workflow.version}),()=>ave({date:yX.formatTimestamp(t.workflow.created_at)}),()=>cve({hash:fKe(t.workflow.workflow_hash)})]),z(`click`,a,()=>C5.deactivate(t.workflow)),V(e,n)};U(te,e=>{n()||e(ne)}),D(c),L((e,t)=>{l=G(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),H(p,e),H(h,R(i)),H(v,t)},[()=>lKe(t.workflow),()=>h5(t.workflow)]),V(e,c),k()}vr([`click`]);var cqe=B(`

    `),B5=B(``),lqe=B(``),uqe=B(``),dqe=B(``),fqe=B(``),pqe=B(``),V5=B(``),mqe=B(`
    `),hqe=B(`
    `),gqe=B(`
    `),_qe=B(`

    `),vqe=B(`

    `),yqe=B(`

    `,1);function bqe(e,t){O(t,!0);{let t=e=>{{let t=e=>{var t=cqe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>C5.submitMode()===`save`?PM():LM()]),V(e,t)},n=A(()=>OM()),r=A(()=>jM());V4(e,{copyId:`workflow-help-copy`,get label(){return R(n)},get text(){return R(r)},title:t,$$slots:{title:!0}})}},n=A(()=>TM()),r=A(()=>C5.submitLabel()),i=A(()=>C5.submittingLabel()),a=A(()=>C5.submitMode()===`create`?RY:VY);t6(e,{get open(){return C5.formOpen},get ariaLabel(){return R(n)},get error(){return C5.formError},get submitting(){return C5.submitting},get submitLabel(){return R(r)},get submittingLabel(){return R(i)},get submitIcon(){return R(a)},dialogClass:`workflow-editor`,onclose:()=>C5.closeForm(),onsubmit:()=>C5.submitForm(),header:t,children:(e,t)=>{var n=yqe(),r=F(n),i=P(r);{let e=A(()=>BM());n6(i,{id:`workflow-scope-provider`,get label(){return R(e)},children:(e,t)=>{var n=lqe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),16,()=>C5.providerOptions(),e=>e,(e,t)=>{var n=B5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>UM()]),z(`change`,n,e=>C5.setProvider(e.currentTarget.value)),pi(n,()=>C5.form.scope_provider,e=>C5.form.scope_provider=e),V(e,n)},$$slots:{default:!0}})}var a=I(i,2),o=e=>{{let t=A(()=>KM());n6(e,{id:`workflow-scope-model`,get label(){return R(t)},children:(e,t)=>{var n=uqe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),17,()=>C5.modelOptions(C5.form.scope_provider),e=>C5.form.scope_provider+`-`+e,(e,t)=>{var n=B5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t)),i!==(i=R(t))&&(n.value=(n.__value=R(t))??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>YM()]),pi(n,()=>C5.form.scope_model,e=>C5.form.scope_model=e),V(e,n)},$$slots:{default:!0}})}};U(a,e=>{C5.form.scope_provider&&e(o)});var s=I(a,2);{let e=A(()=>QM());n6(s,{id:`workflow-name`,get label(){return R(e)},children:(e,t)=>{var n=dqe();bi(n),L(e=>K(n,`placeholder`,e),[()=>tN()]),Di(n,()=>C5.form.name,e=>C5.form.name=e),V(e,n)},$$slots:{default:!0}})}var c=I(s,2);{let e=A(()=>iN());n6(c,{id:`workflow-user-path`,get label(){return R(e)},children:(e,t)=>{var n=fqe();bi(n),Di(n,()=>C5.form.scope_user_path,e=>C5.form.scope_user_path=e),V(e,n)},$$slots:{default:!0}})}D(r);var l=I(r,2),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>gN());n6(h,{id:`workflow-description`,get label(){return R(e)},children:(e,t)=>{var n=pqe();at(n),L(e=>K(n,`placeholder`,e),[()=>yN()]),Di(n,()=>C5.form.description,e=>C5.form.description=e),V(e,n)},$$slots:{default:!0}})}var g=I(h,2),_=P(g),v=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>SN()]),Oi(n,()=>C5.form.features.cache,e=>C5.form.features.cache=e),V(e,t)},y=A(()=>OX.cacheVisible());U(_,e=>{R(y)&&e(v)});var b=I(_,2),x=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>TN()]),Oi(n,()=>C5.form.features.audit,e=>C5.form.features.audit=e),V(e,t)},S=A(()=>OX.auditVisible());U(b,e=>{R(S)&&e(x)});var C=I(b,2),w=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>ON()]),Oi(n,()=>C5.form.features.usage,e=>C5.form.features.usage=e),V(e,t)},T=A(()=>OX.usageVisible());U(C,e=>{R(T)&&e(w)});var ee=I(C,2),E=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>jN()]),Oi(n,()=>C5.form.features.budget,e=>C5.form.features.budget=e),V(e,t)},te=A(()=>OX.budgetsVisible());U(ee,e=>{R(te)&&e(E)});var ne=I(ee,2),re=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>Ok()]),Oi(n,()=>C5.form.features.guardrails,e=>C5.form.features.guardrails=e),V(e,t)},ie=A(()=>OX.guardrailsVisible());U(ne,e=>{R(ie)&&e(re)});var ae=I(ne,2),oe=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>PN()]),Oi(n,()=>C5.form.features.failover,e=>C5.form.features.failover=e),V(e,t)},se=A(()=>C5.failoverVisible());U(ae,e=>{R(se)&&e(oe)}),D(g);var ce=I(g,2),le=P(ce),ue=P(le),de=P(ue,!0);D(ue);var fe=I(ue,2),pe=P(fe,!0);D(fe),D(le);var me=I(le,2);{let e=A(()=>C5.preview());z5(me,{get workflow(){return R(e)},preview:!0})}D(ce);var he=I(ce,2),ge=e=>{var t=vqe(),n=P(t),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o,!0);D(o),D(r);var c=I(r,2),l=P(c,!0);D(c),D(n);var u=I(n,2),d=e=>{var t=mqe(),n=P(t),r=P(n,!0);D(n);var i=I(n,2),a=P(i,!0);D(i),D(t),L((e,t)=>{H(r,e),H(a,t)},[()=>QN(),()=>tP()]),z(`click`,i,()=>eX.navigate(`guardrails`)),V(e,t)};U(u,e=>{C5.guardrailRefs.length===0&&e(d)});var f=I(u,2),p=e=>{var t=gqe();W(t,21,()=>C5.form.guardrails,Ar,(e,t,n)=>{var r=hqe(),i=P(r),a=P(i);K(a,`for`,`workflow-guardrail-ref-`+n);var o=P(a,!0);D(a);var s=I(a,2);bi(s),K(s,`id`,`workflow-guardrail-ref-`+n),D(i);var c=I(i,2),l=P(c);K(l,`for`,`workflow-guardrail-step-`+n);var u=P(l,!0);D(l);var d=I(l,2);bi(d),K(d,`id`,`workflow-guardrail-step-`+n),D(c);var f=I(c,2),p=P(f,!0);D(f),D(r),L((e,t,n,r,i,a,c)=>{H(o,e),K(s,`placeholder`,t),K(s,`aria-label`,n),H(u,r),K(d,`placeholder`,i),K(d,`aria-label`,a),H(p,c)},[()=>iP(),()=>iP(),()=>`${iP()} ${n+1}`,()=>sP(),()=>sP(),()=>`${UN()} ${n+1}`,()=>uP()]),Di(s,()=>R(t).ref,e=>R(t).ref=e),Di(d,()=>R(t).step,e=>R(t).step=e),z(`click`,f,()=>C5.removeGuardrailStep(n)),V(e,r)}),D(t),V(e,t)},m=e=>{var t=_qe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pP()]),V(e,t)};U(f,e=>{C5.form.guardrails.length>0?e(p):e(m,-1)}),D(t),L((e,t,n)=>{H(a,e),H(s,t),H(l,n)},[()=>UN(),()=>KN(),()=>YN()]),z(`click`,c,()=>C5.addGuardrailStep()),V(e,t)},_e=A(()=>C5.form.features.guardrails&&OX.guardrailsVisible());U(he,e=>{R(_e)&&e(ge)}),L((e,t,n,r,i)=>{H(u,e),H(f,t),H(m,n),H(de,r),H(pe,i)},[()=>sN(),()=>uN(),()=>pN(),()=>LN(),()=>BN()]),V(e,n)},$$slots:{header:!0,default:!0}})}k()}vr([`change`,`click`]);var xqe=B(`
    `),H5=B(`

    `),Sqe=B(`
    `);function Cqe(e,t){O(t,!0);var n=Sqe(),r=P(n),i=e=>{{let t=A(()=>o_e());H4(e,{get label(){return R(t)}})}};U(r,e=>{C5.loading&&!X.authError&&e(i)});var a=I(r,2),o=e=>{var t=xqe();W(t,21,()=>C5.filteredWorkflows,e=>e.id,(e,t)=>{z5(e,{get workflow(){return R(t)}})}),D(t),V(e,t)};U(a,e=>{C5.filteredWorkflows.length>0&&e(o)});var s=I(a,2),c=e=>{var t=H5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>yk()]),V(e,t)};U(s,e=>{C5.workflows.length===0&&!C5.loading&&!X.authError&&C5.available&&e(c)});var l=I(s,2),u=e=>{var t=H5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Sk()]),V(e,t)};U(l,e=>{C5.workflows.length>0&&C5.filteredWorkflows.length===0&&!C5.loading&&e(u)}),D(n),V(e,n),k()}var wqe=B(``),U5=B(`
    `),Tqe=B(`
    `),Eqe=B(``),Dqe=B(`
    `);function Oqe(e,t){O(t,!0),dn(()=>{X.refreshTick,C5.fetchPage()});var n=Dqe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i);var l=I(i,2),u=P(l),d=e=>{var t=wqe(),n=P(t);J(n,{get icon(){return RY},class:`form-action-icon`,"aria-hidden":`true`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>sk()]),z(`click`,t,()=>C5.openCreate()),V(e,t)};U(u,e=>{C5.available&&e(d)}),D(l),D(r);var f=I(r,2),p=e=>{var t=U5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>uk()]),V(e,t)};U(f,e=>{!C5.available&&!X.authError&&e(p)});var m=I(f,2),h=e=>{var t=U5(),n=P(t,!0);D(t),L(()=>H(n,C5.error)),V(e,t)};U(m,e=>{C5.error&&!X.authError&&e(h)});var g=I(m,2),_=e=>{var t=Tqe(),n=P(t),r=P(n);{let e=A(()=>pk()),t=A(()=>gk());v3(r,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return C5.filter},set value(e){C5.filter=e}})}D(n);var i=I(n,2),a=P(i),o=P(a,!0);D(a),D(i),D(t),L(()=>H(o,C5.filteredWorkflows.length+` active scopes`)),V(e,t)};U(g,e=>{C5.available&&e(_)});var v=I(g,2);bqe(v,{});var y=I(v,2);Cqe(y,{});var b=I(y,2);W(b,20,()=>C5.guardrailRefs,e=>e,(e,t)=>{var n=Eqe(),r={};L(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(b),D(n),L((e,t)=>{H(o,e),H(c,t)},[()=>tk(),()=>ik()]),V(e,n),k()}vr([`click`]);function kqe(e,{from:t,to:n},r={}){var{delay:i=0,duration:a=e=>Math.sqrt(e)*120,easing:o=zX}=r,s=getComputedStyle(e),c=s.transform===`none`?``:s.transform,[l,u]=s.transformOrigin.split(` `).map(parseFloat);l/=e.clientWidth,u/=e.clientHeight;var d=Aqe(e),f=e.clientWidth/n.width/d,p=e.clientHeight/n.height/d,m=t.left+t.width*l,h=t.top+t.height*u,g=n.left+n.width*l,_=n.top+n.height*u,v=(m-g)*f,y=(h-_)*p,b=t.width/n.width,x=t.height/n.height;return{delay:i,duration:typeof a==`function`?a(Math.sqrt(v*v+y*y)):a,easing:o,css:(e,t)=>`transform: ${c} translate(${t*v}px, ${t*y}px) scale(${e+t*b}, ${e+t*x});`}}function Aqe(e){if(`currentCSSZoom`in e)return e.currentCSSZoom;for(var t=e,n=1;t!==null;)n*=+getComputedStyle(t).zoom,t=t.parentElement;return n}var W5=new class{#e=j(N({}));get workflowVersionsByID(){return R(this.#e)}set workflowVersionsByID(e){M(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:OX.cacheVisible(),audit:OX.auditVisible(),usage:OX.usageVisible(),budget:OX.budgetsVisible(),guardrails:OX.guardrailsVisible(),failover:OX.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await TX(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}},G5=6;function K5(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function q5(e,t=0,n=null){let r=String(e||``).trim();if(!r)return``;if(t>G5)return r;let i=K5(r);return i==null?r:J5(i,t+1,n)||n&&n(i)||r}function J5(e,t=0,n=null,r=null){if(e==null||t>G5)return``;if(typeof e==`string`){let i=K5(e.trim());return i==null?``:J5(i,t+1,n,r)}if(typeof e!=`object`)return``;let i=r||new Set;if(i.has(e))return``;if(i.add(e),Array.isArray(e)){for(let r=0;r=400||Nqe(t&&t.response_body)}function Fqe(e){let t=e&&e.data?e.data:null;return t?jqe(t.error_message)||(Pqe(e,t)?J5(t.response_body,0):``):``}function Y5(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function Iqe(e){return Y5(e)===null?``:X5(e)+Z5(e)+`.`}function X5(e){let t=Y5(e);return t===null?``:t===0?yle():Sle()}function Z5(e){let t=Y5(e);return t===null?``:t===0?Tle():Ole({count:t})}function Lqe({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o}){let s=e;return s+=`&limit=`+t+`&offset=`+n,r&&(s+=`&search=`+encodeURIComponent(r)),i&&(s+=`&method=`+encodeURIComponent(i)),a&&(s+=`&status_code=`+encodeURIComponent(a)),o&&(s+=`&stream=`+encodeURIComponent(o)),s}function Rqe({sessionId:e,limit:t}){return`session_id=`+encodeURIComponent(e)+`&limit=`+(t||100)+`&offset=0`}function Q5(e){return String(e&&e.session_id||``).trim()}function $5(e){let t=Number(e&&e.session_count);return Number.isFinite(t)&&t>1?t:1}function zqe(e){return!!Q5(e)&&$5(e)>1}function Bqe(e){return{entries:(Array.isArray(e&&e.sessions)?e.sessions:[]).filter(e=>e&&e.latest).map(e=>({...e.latest,session_count:Math.max(1,Number(e.request_count)||1)})),total:Number(e&&e.total||0),limit:Number(e&&e.limit||25),offset:Number(e&&e.offset||0)}}function Vqe(e,t,n){let r=new Set((Array.isArray(n)?n:[]).flatMap(e=>r7(e))),i=(Array.isArray(t)?t:[]).filter(e=>!r7(e).some(e=>r.has(e))),a=new Set([...r,...i.flatMap(e=>r7(e))]),o=(e&&Array.isArray(e.entries)?e.entries:[]).filter(e=>e&&e._live&&!r7(e).some(e=>a.has(e)));return{entries:[...o,...i],preservedCount:o.length}}function e7(e,t){let n=e||{};if(!t)return n;if(n[t]){let e={...n};return delete e[t],e}return{...n,[t]:!0}}function t7(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>Q5(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=n[e];return}a=!0}),a?i:n}function n7(e){return String(e&&e.id||``).trim()}function r7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function i7(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function Hqe(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function a7(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&Hqe(t)}function Uqe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!a7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>i7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>r7(e))),s=[];return a.forEach(e=>{let t=r7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function Wqe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!a7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>i7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>r7(e))),s=new Map;i.forEach((e,t)=>{let n=Q5(e);n&&!s.has(n)&&s.set(n,t)});let c=[],l=i;return a.forEach(e=>{let t=r7(e);if(t.length===0||t.some(e=>o.has(e)))return;let n=Q5(e);if(n&&s.has(n)){let r=s.get(n);l===i&&(l=[...i]);let a=$5(l[r]),c=Number(e&&e.session_count),u=Number.isFinite(c)&&c>1?c:null;l[r]={...e,session_count:u===null?a+1:Math.max(a,u)},t.forEach(e=>o.add(e));return}t.forEach(e=>o.add(e)),c.push(e)}),r.entries=[...c,...l].slice(0,r.limit||25),r.total=Number(r.total||0)+c.length,r}function Gqe(e,t){let n=n7(t),r=e||{};return n?r[n]?{}:{[n]:!0}:r}function Kqe(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>n7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function qqe(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function o7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function s7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function c7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function l7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function u7(e){let t=l7(e);return t.length>1||t.some(e=>!(e&&e.success))}function Jqe(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function d7(e){return String(e&&e.kind||``).trim()||`attempt`}function Yqe(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function Xqe(e){return String(e&&e.model||``).trim()||`-`}function Zqe(e){let t=l7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function Qqe(e){return l7(e).length+`×`}function $qe(e){let t=l7(e),n=t.filter(e=>!(e&&e.success)).length;return n>0?Jde({count:t.length,failed:n}):Gde({count:t.length})}function eJe(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=d7(e);n&&n!==`attempt`&&t.push(n),t.push(Jqe(e));let r=Yqe(e);r&&r!==`-`&&t.push(r);let i=Xqe(e);return i&&i!==`-`&&t.push(i),t.push(e.success?Zde():efe()),t.join(` · `)}function tJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function nJe(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||Hde()}function rJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function iJe(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function aJe(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=tJe(e,t),a=rJe(e,t),o=nJe(t),s=i!=null&&i!==``,c=d7(t),l=l7(e).length<=1;return{title:us(),direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:iJe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:rfe(),showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:fs()}}function f7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function p7(e){return f7(e).filter(e=>!(e&&e.no_change))}function oJe(e){return f7(e).filter(e=>e&&e.no_change).map(e=>{let t=String(e.rewriter||`rewriter`);return{id:`step-`+Number(e.seq||0),rewriter:t,label:Tfe({rewriter:t}),title:Ofe({rewriter:t})}})}function sJe(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function cJe(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=p7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:Ide(),direction:`request`,seq:i?0:Number(t&&t.seq||0),requestStep:`revision-`+Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:sJe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:zde(),showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:Sfe()}}function m7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function lJe(e){let t=m7(e);return Number(t&&t.cached_input_tokens||0)>0}function uJe(e){let t=m7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function dJe(e){let t=m7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?jfe({count:UX(r)}):Pfe({percent:uJe(e).toFixed(1)})}function fJe(e){return lJe(e)?dJe(e):``}function pJe(e,t){let n=m7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function mJe(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&s7(e);return{title:jde(),direction:`request`,requestStep:`original`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:fJe(e),promptCacheHighlight:pJe(e,t),noChangeSteps:oJe(e),showEmpty:r&&!i,emptyMessage:ofe(),showPending:i,pendingMessage:ds(),showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:dfe()}}function hJe(e){let t=e&&e.data?e.data:null,n=Fqe(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&s7(e);return{title:us(),direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&s7(e),showEmpty:r&&!i,emptyMessage:mfe(),showPending:i,pendingMessage:_fe(),showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:fs()}}function h7(e,t){let n=[{id:`request`,pane:mJe(e,t)}];return p7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:cJe(e,t)})}),u7(e)?l7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:aJe(e,t)})}):n.push({id:`response`,pane:hJe(e)}),n}function gJe(e){if(!u7(e))return`response`;let t=l7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function _Je(e,t,n){return e&&(Array.isArray(n)?n:h7(t)).some(t=>t.id===e)?e:gJe(t)}function vJe(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}var yJe=100;function g7(){return{entries:[],total:0,limit:25,offset:0}}var _7=new class{#e=j(N({}));get auditExpandedEntries(){return R(this.#e)}set auditExpandedEntries(e){M(this.#e,e,!0)}#t=j(N({}));get auditExpandedThreads(){return R(this.#t)}set auditExpandedThreads(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}auditFetchToken=0;get auditLog(){return Z4.auditLog}set auditLog(e){Z4.auditLog=e}get auditSearch(){return Z4.auditSearch}set auditSearch(e){Z4.auditSearch=e}get auditMethod(){return Z4.auditMethod}set auditMethod(e){Z4.auditMethod=e}get auditStatusCode(){return Z4.auditStatusCode}set auditStatusCode(e){Z4.auditStatusCode=e}get auditStream(){return Z4.auditStream}set auditStream(e){Z4.auditStream=e}get auditGroupSessions(){return Z4.auditGroupSessions}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,customStartDate:cZ.customStartDate,customEndDate:cZ.customEndDate}}toggleAuditGroupSessions(){Z4.auditGroupSessions=!Z4.auditGroupSessions,Vi(`gomodel_audit_group_sessions`,Z4.auditGroupSessions),this.auditExpandedThreads={},Z4.auditThreadChildren={},this.fetchAuditLog(!0)}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=this.auditGroupSessions,r=Lqe({dateQuery:cZ.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream}),i=await TX((n?`/admin/audit/sessions?`:`/admin/audit/log?`)+r,{label:`audit log`});if(i.stale||t!==this.auditFetchToken)return;if(!i.ok){this.auditLog=g7();return}let a=n?Bqe(i.data):i.data,o=(n?Wqe:Uqe)(a,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(o.entries)||(o.entries=[]),o.entries=Z4.upsertAuditRecords(o.entries,`audit.list`),this.auditLog=o,this.auditExpandedThreads=t7(this.auditExpandedThreads,o.entries),Z4.auditThreadChildren=t7(Z4.auditThreadChildren,o.entries);let s=[...o.entries,...this.loadedThreadChildren()];this.auditExpandedEntries=Kqe(this.auditExpandedEntries,s);try{await W5.prefetchAuditWorkflows(s)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=g7()}finally{t===this.auditFetchToken&&(this.loading=!1)}}loadedThreadChildren(){let e=Z4.auditThreadChildren||{};return Object.keys(e).flatMap(t=>Array.isArray(e[t]&&e[t].entries)?e[t].entries:[])}isThreadExpanded(e){return!!(e&&this.auditExpandedThreads[e])}threadChildren(e){return e&&Z4.auditThreadChildren[e]||null}async toggleThread(e){let t=Q5(e);if(!t)return;let n=!this.isThreadExpanded(t);this.auditExpandedThreads=e7(this.auditExpandedThreads,t);let r=Z4.auditThreadChildren[t];n&&!(r&&(r.loaded||r.loading))&&await this.fetchThreadEntries(e)}async fetchThreadEntries(e){let t=Q5(e);if(!t)return;let n=Z4.auditThreadChildren[t];Z4.auditThreadChildren={...Z4.auditThreadChildren,[t]:{loading:!0,loaded:!1,entries:n&&Array.isArray(n.entries)?n.entries:[],total:Number(n&&n.total||0)}};let r=()=>{let e={...Z4.auditThreadChildren},n=e[t],r=n&&Array.isArray(n.entries)?n.entries:[];r.length>0?e[t]={loading:!1,loaded:!1,entries:r,total:r.length}:(delete e[t],this.auditExpandedThreads[t]&&(this.auditExpandedThreads=e7(this.auditExpandedThreads,t))),Z4.auditThreadChildren=e};try{let n=await TX(`/admin/audit/log?`+Rqe({sessionId:t,limit:yJe}),{label:`audit session`});if(n.stale){r();return}if(!n.ok)throw Error(`audit session fetch failed`);let i=Z4.auditThreadChildren[t],a=this.auditLog.entries.find(e=>Q5(e)===t),o=Vqe(i,n.data.entries,a?[a]:[e]);o.entries=Z4.upsertAuditRecords(o.entries,`audit.thread`),Z4.auditThreadChildren={...Z4.auditThreadChildren,[t]:{loading:!1,loaded:!0,entries:o.entries,total:Number(n.data.total||0)+o.preservedCount}}}catch(e){console.error(`Failed to fetch audit session entries:`,e),r()}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=n7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}toggleAuditEntryExpanded(e){this.auditExpandedEntries=Gqe(this.auditExpandedEntries,e);let t=this.isAuditEntryExpanded(e);return t&&typeof Z4.fetchAuditEntryDetail==`function`&&Z4.fetchAuditEntryDetail(e),t}expandAuditEntry(e){this.isAuditEntryExpanded(e)||this.toggleAuditEntryExpanded(e)}};Z4.fetchAuditLog=e=>_7.fetchAuditLog(e),Z4.isAuditEntryExpanded=e=>_7.isAuditEntryExpanded(e);var bJe=B(`
    `);function xJe(e,t){O(t,!0);let n=y3(()=>_7.fetchAuditLog(!0));dn(()=>n.cancel);var r=bJe(),i=P(r),a=P(i);{let e=A(()=>Yle()),t=A(()=>Qle());v3(a,{id:`audit-filter-search`,get placeholder(){return R(e)},get label(){return R(t)},get oninput(){return n},get loading(){return _7.loading},get value(){return _7.auditSearch},set value(e){_7.auditSearch=e}})}D(i);var o=I(i,2),s=P(o),c=P(s),l=P(c,!0);D(c),c.value=c.__value=``;var u=I(c);u.value=u.__value=`GET`;var d=I(u);d.value=d.__value=`POST`;var f=I(d);f.value=f.__value=`PUT`;var p=I(f);p.value=p.__value=`PATCH`;var m=I(p);m.value=m.__value=`DELETE`,D(s);var h=I(s,2),g=P(h),_=P(g,!0);D(g),g.value=g.__value=``;var v=I(g);v.value=v.__value=`200`;var y=I(v);y.value=y.__value=`201`;var b=I(y);b.value=b.__value=`400`;var x=I(b);x.value=x.__value=`401`;var S=I(x);S.value=S.__value=`403`;var C=I(S);C.value=C.__value=`404`;var w=I(C);w.value=w.__value=`429`;var T=I(w);T.value=T.__value=`500`;var ee=I(T);ee.value=ee.__value=`502`;var E=I(ee);E.value=E.__value=`503`;var te=I(E);te.value=te.__value=`504`,D(h);var ne=I(h,2),re=P(ne),ie=P(re,!0);D(re),re.value=re.__value=``;var ae=I(re),oe=P(ae,!0);D(ae),ae.value=ae.__value=`true`;var se=I(ae),ce=P(se,!0);D(se),se.value=se.__value=`false`,D(ne);var le=I(ne,2),ue=P(le);J(ue,{get icon(){return XY},class:`table-icon-svg`});var de=I(ue,2),fe=P(de,!0);D(de),D(le),D(o),D(r),L((e,t,n,r,i,a,o,c,u)=>{K(s,`aria-label`,e),H(l,t),K(h,`aria-label`,n),H(_,r),K(ne,`aria-label`,i),H(ie,a),H(oe,o),H(ce,c),H(fe,u)},[()=>tue(),()=>iue(),()=>sue(),()=>uue(),()=>pue(),()=>gue(),()=>yue(),()=>Sue(),()=>rs()]),z(`change`,s,()=>_7.fetchAuditLog(!0)),pi(s,()=>_7.auditMethod,e=>_7.auditMethod=e),z(`change`,h,()=>_7.fetchAuditLog(!0)),pi(h,()=>_7.auditStatusCode,e=>_7.auditStatusCode=e),z(`change`,ne,()=>_7.fetchAuditLog(!0)),pi(ne,()=>_7.auditStream,e=>_7.auditStream=e),z(`click`,le,()=>_7.clearAuditFilters()),V(e,r),k()}vr([`change`,`click`]);var v7=B(` `),SJe=B(` `),CJe=B(` `);function wJe(e,t){O(t,!0);let n=A(()=>Z4.auditLivePauseReason()),r=A(()=>Z4.liveLogsStreaming&&!R(n));var i=Tr(),a=F(i),o=e=>{var t=CJe(),i=P(t);let a;var o=I(i,2),s=e=>{var t=v7(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Tue()]),V(e,t)},c=e=>{var t=v7(),r=P(t,!0);D(t),L(e=>H(r,e),[()=>Cze(R(n))]),V(e,t)},l=e=>{var t=SJe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Oue()]),V(e,t)};U(o,e=>{Z4.liveLogsStreaming?R(n)?e(c,1):e(l,-1):e(s)}),D(t),L(()=>a=G(i,1,`live-dot svelte-tve6yv`,null,a,{"is-streaming":R(r)})),V(e,t)},s=A(()=>OX.liveLogsVisible());U(a,e=>{R(s)&&e(o)}),V(e,i),k()}var TJe=B(``),EJe=B(` `),DJe=B(``);function OJe(e,t){O(t,!0);let n=A(()=>[{key:`provider`,text:ZX(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`session_id`,text:t.entry.session_id&&`session: `+t.entry.session_id,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+$X(t.entry),mono:!0},{key:`failover`,text:c7(t.entry)&&`failover: `+c7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=DJe(),i=P(r),a=P(i,!0);D(i);var o=I(i,2);W(o,21,()=>R(n),e=>e.key,(e,n)=>{var r=Tr(),i=F(r),a=e=>{var r=TJe(),i=P(r,!0);D(r),L(e=>{K(r,`title`,e),H(i,R(n).text)},[()=>ls()]),z(`click`,r,()=>Z.filterBySession(t.entry.session_id,t.entry.user_path)),V(e,r)},o=e=>{var t=EJe(),r=P(t,!0);D(t),L(()=>{G(t,1,ai([`provider-badge`,R(n).class,{mono:R(n).mono}]),`svelte-hyopt0`),H(r,R(n).text)}),V(e,t)};U(i,e=>{R(n).key===`session_id`?e(a):e(o,-1)}),V(e,r)}),D(o),D(r),L(e=>H(a,e),[()=>nde()]),V(e,r),k()}vr([`click`]);var kJe=B(``),AJe=B(` `);function jJe(e,t){O(t,!0);let n=A(()=>Zqe(t.entry)),r=A(()=>R(n).length>0?$qe(t.entry):``),i=A(()=>R(n).length>0?Qqe(t.entry):``);var a=Tr(),o=F(a),s=e=>{var a=AJe(),o=P(a);W(o,21,()=>R(n),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=kJe();let r;L(e=>{r=G(n,1,`audit-attempt-pip svelte-1eu22xn`,null,r,{"audit-attempt-success":!!(R(t)&&R(t).success),"audit-attempt-error":!(R(t)&&R(t).success)}),K(n,`title`,e)},[()=>eJe(R(t))]),V(e,n)}),D(o);var s=I(o,2),c=P(s,!0);D(s),D(a),L(()=>{K(a,`title`,R(r)),K(a,`aria-label`,R(r)),H(c,R(i))}),V(e,a)};U(o,e=>{R(n).length>0&&e(s)}),V(e,a),k()}var MJe=new Set([`instructions`,`system`,`messages`,`input`,`previous_response_id`,`choices`,`output`,`content`]);function NJe(e){if(!e||typeof e!=`object`)return``;let t=String(e.type||``).toLowerCase();if(t===`image`||t===`image_url`||t===`input_image`||t===`output_image`)return nhe();if(t===`audio`||t===`input_audio`||t===`output_audio`)return ahe();if(t===`file`||t===`input_file`||t===`output_file`){let t=String(e.filename||e.name||``).trim();return t?dhe({name:t}):che()}return typeof e.refusal==`string`?e.refusal:``}function y7(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:NJe(e)).filter(Boolean).join(` +`):``,rest:n}}function OGe(e,t={}){let n=H8(e);if(!n)return null;let r=String(t.model||``).trim(),i=!!t.stream,a=kGe(t.maxTokens),o=EGe(t.messages);if(n.id===`chat`){let e={model:r,messages:o};return a&&(e.max_tokens=a),i&&(e.stream=!0),e}let{system:s,rest:c}=DGe(o);if(n.id===`responses`){let e={model:r};return s&&(e.instructions=s),e.input=c,a&&(e.max_output_tokens=a),i&&(e.stream=!0),e}let l={model:r,max_tokens:a||1024};return s&&(l.system=s),l.messages=c,i&&(l.stream=!0),l}function kGe(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:0}function q8(e,t){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&typeof e==`object`&&t.has(e.type)).map(e=>String(e.text??``)).join(``):``}function AGe(e,t){if(!t||typeof t!=`object`)return``;switch(e){case`chat`:{let e=Array.isArray(t.choices)?t.choices[0]?.message:null;return e?q8(e.content,new Set([`text`]))||String(e.refusal||``):``}case`responses`:return typeof t.output_text==`string`&&t.output_text?t.output_text:(Array.isArray(t.output)?t.output:[]).filter(e=>e&&e.type===`message`).map(e=>q8(e.content,new Set([`output_text`]))).join(``);case`messages`:return q8(t.content,new Set([`text`]));default:return``}}function jGe(e){let t=e&&typeof e==`object`?e.usage:null;if(!t||typeof t!=`object`)return null;let n=t.prompt_tokens??t.input_tokens,r=t.completion_tokens??t.output_tokens;return n===void 0&&r===void 0?null:{input:Number(n||0),output:Number(r||0)}}function MGe(e){let t=e&&typeof e==`object`?e.error:null;return t?typeof t==`string`?t:String(t.message||t.type||``):``}function NGe(e){let t={events:0,error:``,result:null},n={chat(e){t.result||={id:e.id,object:`chat.completion`,created:e.created,model:e.model,choices:[{index:0,message:{role:`assistant`,content:``},finish_reason:null}]},e.model&&!t.result.model&&(t.result.model=e.model),e.usage&&(t.result.usage=G8(e.usage));let n=Array.isArray(e.choices)?e.choices[0]:null;if(!n)return``;let r=t.result.choices[0];n.finish_reason&&(r.finish_reason=n.finish_reason);let i=n.delta||{};i.role&&(r.message.role=i.role);let a=typeof i.content==`string`?i.content:``;return r.message.content+=a,a},responses(e){t.result||={output:[]};let n=t.result.output||(t.result.output=[]);switch(e.type){case`response.output_item.added`:{let t=G8(e.item)||{};return n[e.output_index??n.length]=t,``}case`response.output_text.delta`:{let t=String(e.delta??``),r=e.output_index===void 0||e.output_index===null?n.findLast(e=>e&&e.type===`message`):n[e.output_index];(!r||r.type!==`message`)&&(r={type:`message`,role:`assistant`,content:[]},n.push(r)),Array.isArray(r.content)||(r.content=[]);let i=r.content[e.content_index??r.content.length-1];return(!i||i.type!==`output_text`)&&(i={type:`output_text`,text:``},r.content.push(i)),i.text=String(i.text||``)+t,t}case`response.created`:case`response.in_progress`:case`response.completed`:case`response.incomplete`:case`response.failed`:{let r=G8(e.response);return r?((!Array.isArray(r.output)||r.output.length===0)&&(r.output=n),t.result=r,``):``}default:return``}},messages(e){switch(e.type){case`message_start`:return t.result=G8(e.message)||{},t.result.content=[],``;case`content_block_start`:return t.result||={content:[]},t.result.content[e.index??t.result.content.length]=G8(e.content_block)||{},``;case`content_block_delta`:{t.result||={content:[]};let n=t.result.content[e.index??0]||(t.result.content[e.index??0]={}),r=e.delta||{};return r.type===`text_delta`?(n.type=n.type||`text`,n.text=(n.text||``)+String(r.text??``),String(r.text??``)):(r.type===`input_json_delta`&&(n.partial_json=(n.partial_json||``)+String(r.partial_json??``)),``)}case`message_delta`:return t.result||={content:[]},Object.assign(t.result,G8(e.delta)||{}),e.usage&&(t.result.usage={...t.result.usage||{},...G8(e.usage)}),``;default:return``}}}[e]||(()=>``);return{get events(){return t.events},get error(){return t.error},push(e){if(!e||typeof e!=`object`)return``;t.events++;let r=MGe(e);return r?(t.error=r,``):n(e)},result(){return t.result}}}function PGe(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n?.selector||n?.model?.id||``).trim();if(!e||t.has(e)||n?.access&&n.access.effective_enabled===!1)continue;let r=n?.model?.metadata?.modes;if(Array.isArray(r)&&r.length&&!r.some(e=>TGe.has(e)))continue;let i=String(n?.provider_name||``),a=i?i.toLowerCase()+`/`:``,o=a&&e.toLowerCase().startsWith(a)&&e.length>a.length?e.slice(a.length):e;t.set(e,{id:e,label:o,provider:i})}return[...t.values()].sort((e,t)=>e.id.localeCompare(t.id))}function J8(e){return Math.max(280,Math.min(760,Math.floor(Number(e||0)*.6)))}function Y8(e,t){let n=J8(t),r=Number(e);return Number.isFinite(r)?Math.min(n,Math.max(280,Math.round(r))):Math.min(420,n)}function X8(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Z8={endpoint:`gomodel_playground_endpoint`,model:`gomodel_playground_model`,stream:`gomodel_playground_stream`,panel:`gomodel_playground_json_panel`},Q8=new class{#e=j(N(U8(Bi(Z8.endpoint,``))));get endpoint(){return R(this.#e)}set endpoint(e){M(this.#e,e,!0)}#t=j(N(Bi(Z8.model,``)||``));get model(){return R(this.#t)}set model(e){M(this.#t,e,!0)}#n=j(Bi(Z8.stream,`true`)!==`false`);get stream(){return R(this.#n)}set stream(e){M(this.#n,e,!0)}#r=j(N([]));get messages(){return R(this.#r)}set messages(e){M(this.#r,e,!0)}#i=j(``);get draft(){return R(this.#i)}set draft(e){M(this.#i,e,!0)}#a=j(!1);get sending(){return R(this.#a)}set sending(e){M(this.#a,e,!0)}#o=j(!1);get sendingStream(){return R(this.#o)}set sendingStream(e){M(this.#o,e,!0)}#s=j(``);get error(){return R(this.#s)}set error(e){M(this.#s,e,!0)}#c=j(null);get response(){return R(this.#c)}set response(e){M(this.#c,e,!0)}#l=j(null);get responseMeta(){return R(this.#l)}set responseMeta(e){M(this.#l,e,!0)}#u=j(Bi(Z8.panel,`true`)!==`false`);get panelOpen(){return R(this.#u)}set panelOpen(e){M(this.#u,e,!0)}#d=j(`request`);get panelTab(){return R(this.#d)}set panelTab(e){M(this.#d,e,!0)}#f=A(()=>OGe(this.endpoint,{model:this.model,messages:this.messages,stream:this.stream}));get requestBody(){return R(this.#f)}set requestBody(e){M(this.#f,e)}#p=null;#m=1;get endpointPath(){return H8(this.endpoint)?.path||``}get canSend(){return!this.sending&&(this.draft.trim()!==``||this.messages.length>0)}setEndpoint(e){this.endpoint=U8(e),Vi(Z8.endpoint,this.endpoint)}setModel(e){this.model=String(e||``),Vi(Z8.model,this.model)}setStream(e){this.stream=!!e,Vi(Z8.stream,this.stream)}togglePanel(){this.panelOpen=!this.panelOpen,Vi(Z8.panel,this.panelOpen)}addMessage(e,t=``){return this.messages.push({id:this.#m++,role:W8(e),content:String(t),pending:!1}),this.messages[this.messages.length-1]}removeMessage(e){this.messages=this.messages.filter(t=>t.id!==e)}moveMessage(e,t){this.messages=lGe(this.messages,e,t)}nudgeMessage(e,t){let n=this.messages.findIndex(t=>t.id===e);n<0||this.moveMessage(n,Math.max(0,Math.min(this.messages.length-1,n+t)))}clear(){this.stop(),this.messages=[],this.error=``,this.response=null,this.responseMeta=null}stop(){this.#p&&this.#p.abort()}async send(){if(!this.canSend)return;let e=this.draft.trim();if(e&&(this.addMessage(`user`,e),this.draft=``),!String(this.model||``).trim()){this.error=vte();return}let t=H8(this.endpoint),n=this.requestBody;if(!t||!n)return;let r=new AbortController;this.#p=r,this.sending=!0,this.sendingStream=n.stream===!0,this.error=``,this.response=null,this.responseMeta=null;let i=X.generation,a=performance.now(),o=this.addMessage(`assistant`,``);o.pending=!0;let s={status:0,durationMs:0,streamed:!1,events:0,usage:null};try{let e=await CX(t.path,{method:`POST`,body:JSON.stringify(n),signal:r.signal});if(s.status=e.status,!e.ok){let t=null;try{t=await e.json()}catch{t=null}if(this.response=t,e.status===401&&xX(t)){X.handleUnauthorized(i),this.error=BV();return}this.error=bX(t,Lo());return}if(n.stream===!0&&e.body&&String(e.headers.get(`Content-Type`)||``).includes(`text/event-stream`)){s.streamed=!0;let n=NGe(t.id);await R2(e.body.getReader(),e=>{let t=n.push(e);t&&(o.content+=t)}),s.events=n.events,this.response=n.result(),n.error&&(this.error=n.error)}else{let n=await e.json();this.response=n,o.content=AGe(t.id,n)}s.usage=jGe(this.response),!o.content&&!this.error&&(this.error=Cte())}catch(e){!DX(e)&&!r.signal.aborted&&(console.error(`Playground request failed:`,e),this.error=Lo())}finally{s.durationMs=Math.round(performance.now()-a),o.pending=!1,o.content||this.removeMessage(o.id),this.#p===r&&(this.#p=null,this.sending=!1),this.responseMeta=s,(this.response!==null||this.error)&&(this.panelTab=`response`)}}},FGe=B(``),IGe=B(`
    `);function LGe(e,t){O(t,!0);let n=q(t,`modelOptions`,19,()=>[]),r=A(()=>n().map(e=>({value:e.id,label:e.label,description:e.provider}))),i=A(()=>[{value:`chat`,label:$a()},{value:`responses`,label:no()},{value:`messages`,label:ao()}]),a={system:Mo,user:No,assistant:Po};var o=IGe(),s=P(o),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2);{let e=A(()=>Xa());A2(d,{get options(){return R(i)},get value(){return Q8.endpoint},get ariaLabel(){return R(e)},onchange:e=>Q8.setEndpoint(e)})}D(c);var f=I(c,2),p=P(f),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>fo()),t=A(()=>ho()),n=A(()=>co());SGe(h,{id:`playground-model`,class:`playground-model-select`,get options(){return R(r)},get value(){return Q8.model},onchange:e=>Q8.setModel(e),get placeholder(){return R(e)},get searchPlaceholder(){return R(t)},get ariaLabel(){return R(n)},allowCustom:!0,mono:!0})}D(f),D(s);var g=I(s,2),_=P(g),v=P(_,!0);D(_);var y=I(_,2);W(y,20,()=>V8,e=>e,(e,t)=>{var n=FGe(),r=P(n);J(r,{get icon(){return RY},class:`table-icon-svg`});var i=I(r,2),o=P(i,!0);D(i),D(n),L(e=>{G(n,1,ai([`btn`,`btn-with-icon`,`playground-add-btn`,`playground-role-`+t]),`svelte-1t3fm2w`),H(o,e)},[()=>a[t]()]),z(`click`,n,()=>Q8.addMessage(t)),V(e,n)}),D(y);var b=I(y,2),x=P(b);D(b);var S=I(b,2),C=P(S);bi(C);var w=I(C,2),T=P(w,!0);D(w),D(S);var ee=I(S,2),E=P(ee);J(E,{get icon(){return Lke},class:`table-icon-svg`});var te=I(E,2),ne=P(te,!0);D(te),D(ee),D(g),D(o),L((e,t,n,r,i,a,o)=>{H(u,e),H(m,t),H(v,n),K(y,`aria-label`,r),K(b,`title`,i),H(x,`POST ${Q8.endpointPath??``}`),Si(C,Q8.stream),H(T,a),ee.disabled=Q8.messages.length===0&&!Q8.response&&!Q8.error,H(ne,o)},[()=>Xa(),()=>co(),()=>Ao(),()=>Ao(),()=>qa(),()=>Do(),()=>tte()]),z(`change`,C,e=>Q8.setStream(e.currentTarget.checked)),z(`click`,ee,()=>Q8.clear()),V(e,o),k()}vr([`click`,`change`]);var RGe=B(``),zGe=B(` `),BGe=B(`
    `);function VGe(e,t){O(t,!0);let n=q(t,`message`,7);function r(e){if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;e.preventDefault(),Q8.nudgeMessage(n().id,e.key===`ArrowUp`?-1:1);let t=e.currentTarget;queueMicrotask(()=>t.focus())}let i={system:Mo,user:No,assistant:Po};var a=BGe(),o=P(a),s=P(o);J(P(s),{get icon(){return Bke},class:`table-icon-svg`}),D(s);var c=I(s,2);W(c,20,()=>V8,e=>e,(e,t)=>{var n=RGe(),r=P(n,!0);D(n);var a={};L(e=>{H(r,e),a!==(a=t)&&(n.value=(n.__value=t)??``)},[()=>i[t]()]),V(e,n)}),D(c);var l;fi(c);var u=I(c,2),d=e=>{var t=zGe(),n=I(P(t),2),r=P(n,!0);D(n),D(t),L(e=>H(r,e),[()=>Io()]),V(e,t)};U(u,e=>{n().pending&&e(d)});var f=I(u,2);{let e=A(()=>Xee());O3(f,{get label(){return R(e)},class:`table-icon-btn playground-remove-btn`,get disabled(){return n().pending},onclick:()=>Q8.removeMessage(n().id),children:(e,t)=>{J(e,{get icon(){return KY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(o);var p=I(o,2);at(p),D(a),L((e,t,r,i,o)=>{G(a,1,ai([`playground-message`,`playground-message-`+n().role]),`svelte-8ie8sw`),K(a,`data-role`,n().role),K(s,`aria-label`,e),K(s,`title`,t),s.disabled=n().pending||Q8.messages.length<2,K(c,`aria-label`,r),c.disabled=n().pending,l!==(l=n().role)&&(c.value=(c.__value=n().role)??``,di(c,n().role)),K(p,`aria-label`,i),K(p,`placeholder`,o),p.readOnly=n().pending},[()=>Fo(),()=>Fo(),()=>Ree(),()=>i[n().role](),()=>qee()]),z(`keydown`,s,r),z(`change`,c,e=>{n().role=e.currentTarget.value}),Di(p,()=>n().content,e=>n().content=e),V(e,a),k()}vr([`keydown`,`change`]);var HGe=B(``),UGe=B(``),WGe=B(`
    `);function GGe(e,t){O(t,!0);function n(e){e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),Q8.canSend&&Q8.send())}var r=WGe(),i=P(r);at(i);var a=I(i,2),o=P(a),s=P(o,!0);D(o);var c=I(o,2),l=e=>{var t=HGe(),n=P(t);J(n,{get icon(){return iAe},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>pte()]),V(e,t)},u=e=>{var t=UGe(),n=P(t);J(n,{get icon(){return Zke},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=!Q8.canSend,H(i,e)},[()=>is()]),V(e,t)};U(c,e=>{Q8.sending?e(l):e(u,-1)}),D(a),D(r),L((e,t,n)=>{K(i,`aria-label`,e),K(i,`placeholder`,t),i.disabled=Q8.sending,H(s,n)},[()=>ste(),()=>ute(),()=>qa()]),_r(`submit`,r,e=>{e.preventDefault(),Q8.sending?Q8.stop():Q8.send()}),z(`keydown`,i,n),Di(i,()=>Q8.draft,e=>Q8.draft=e),V(e,r),k()}vr([`keydown`]);var KGe=B(``);function $8(e,t){O(t,!0);let n=q(t,`label`,3,`Copy`),r=q(t,`copiedLabel`,3,`Copied`),i=q(t,`errorLabel`,3,``),a=q(t,`class`,3,`btn`),o=A(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=KGe();let c;var l=P(s),u=e=>{J(e,{get icon(){return OY},width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{J(e,{get icon(){return AY},width:`14`,height:`14`})};U(l,e=>{t.state.copied?e(u):e(d,-1)});var f=I(l,2),p=P(f,!0);D(f),D(s),L(()=>{c=G(s,1,ai([`copy-feedback-btn`,a()]),null,c,{"copy-feedback-btn-copied":t.state.copied}),H(p,R(o))}),z(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),V(e,s),k()}vr([`click`]);var e5=null;function qGe(){return e5===null&&(e5=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`)),!!(e5&&e5.matches)}function t5(e){return qGe()?0:e}function JGe(e,t){return!t||!t.live?{duration:0}:RX(e,{duration:t5(150)})}var YGe=B(`

     
    `,1),n5=B(`

    `),XGe=B(`

    `),ZGe=B(`
     
    `,1),QGe=B(``);function $Ge(e,t){O(t,!0);let n=`gomodel_playground_json_panel_width`,r=typeof window>`u`?1280:window.innerWidth,i=Number(Bi(n,420))||420,a=j(N(Y8(i,r))),o=j(N(J8(r))),s=null,c=C3({logPrefix:`Failed to copy playground JSON:`}),l=A(()=>[{value:`request`,label:Bo()},{value:`response`,label:Vo()}]),u=A(()=>X8(Q8.requestBody)),d=A(()=>X8(Q8.response)),f=A(()=>Q8.panelTab===`request`?R(u):R(d));function p(e){if(!e)return[];let t=[];return e.status&&t.push(Yte({status:e.status})),t.push(Qte({seconds:(e.durationMs/1e3).toFixed(2)})),e.usage&&t.push(tne({input:e.usage.input,output:e.usage.output})),e.streamed&&t.push(ine({count:e.events})),t}function m(e){M(a,Y8(window.innerWidth-e,window.innerWidth),!0),i=R(a)}function h(e){e.button===0&&(e.preventDefault(),s=e.pointerId,e.currentTarget.setPointerCapture(e.pointerId),m(e.clientX))}function g(e){e.pointerId===s&&m(e.clientX)}function _(e){s===null||e.pointerId!==s||(s=null,Vi(n,i))}function v(e){e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),M(a,Y8(R(a)+(e.key===`ArrowLeft`?24:-24),window.innerWidth),!0),i=R(a),Vi(n,i))}dn(()=>{if(!Q8.panelOpen)return;let e=()=>{M(o,J8(window.innerWidth),!0),M(a,Y8(i,window.innerWidth),!0)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)});var y=Tr(),b=F(y),x=e=>{var t=QGe();let n;var r=P(t),i=I(r,2),s=P(i),m=P(s,!0);D(s);var y=I(s,2);{let e=A(()=>zo());A2(y,{get options(){return R(l)},get value(){return Q8.panelTab},get ariaLabel(){return R(e)},onchange:e=>{Q8.panelTab=e}})}var b=I(y,2),x=P(b);{let e=A(()=>Ute()),t=A(()=>As()),n=A(()=>as());$8(x,{get state(){return c},get label(){return R(e)},get copiedLabel(){return R(t)},get errorLabel(){return R(n)},onclick:()=>c.copy(R(f))})}var S=I(x,2);{let e=A(()=>Ro());kX(S,{get label(){return R(e)},onclick:()=>Q8.togglePanel()})}D(b),D(i);var C=I(i,2),w=P(C),T=e=>{var t=YGe(),n=F(t),r=P(n);D(n);var i=I(n,2),a=P(i,!0);D(i),L(()=>{H(r,`POST ${Q8.endpointPath??``}`),H(a,R(u))}),V(e,t)},ee=e=>{var t=n5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Q8.sendingStream?Bte():Io()]),V(e,t)},E=e=>{var t=n5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Lte()]),V(e,t)},te=e=>{var t=ZGe(),n=F(t),r=e=>{var t=XGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>p(Q8.responseMeta).join(` · `)]),V(e,t)};U(n,e=>{Q8.responseMeta&&e(r)});var i=I(n,2),a=P(i,!0);D(i),L(()=>H(a,R(d))),V(e,t)};U(w,e=>{Q8.panelTab===`request`?e(T):Q8.sending&&Q8.response===null?e(ee,1):Q8.response===null?e(E,2):e(te,-1)}),D(C),D(t),L((e,i,s)=>{n=ui(t,``,n,{"--playground-json-panel-width":R(a)+`px`}),K(r,`aria-label`,e),K(r,`aria-valuemin`,280),K(r,`aria-valuemax`,R(o)),K(r,`aria-valuenow`,R(a)),H(m,i),K(C,`aria-label`,s)},[()=>Kte(),()=>zo(),()=>Q8.panelTab===`request`?Bo():Vo()]),z(`pointerdown`,r,h),z(`pointermove`,r,g),z(`pointerup`,r,_),_r(`pointercancel`,r,_),z(`keydown`,r,v),$r(3,t,()=>RX,()=>({axis:`x`,duration:t5(180),easing:zX})),V(e,t)};U(b,e=>{Q8.panelOpen&&e(x)}),V(e,y),k()}vr([`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var eKe=B(``),tKe=B(`

    `),nKe=B(`
    `);function rKe(e,t){O(t,!0);let n=A(()=>PGe(lZ.models));dn(()=>{eX.page!==`playground`||Q8.model||R(n).length===0||Q8.setModel(R(n)[0].id)});let r=j(null);dn(()=>{let e=Q8.messages[Q8.messages.length-1];e?.content,!(!R(r)||!e?.pending)&&(R(r).scrollTop=R(r).scrollHeight)});var i=nKe();let a;var o=P(i),s=P(o),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u),f=P(d);J(f,{get icon(){return Oke},class:`table-icon-svg`});var p=I(f,2),m=P(p,!0);D(p),D(d),D(u),D(s);var h=I(s,2);LGe(h,{get modelOptions(){return R(n)}});var g=I(h,2),_=e=>{var t=eKe(),n=P(t,!0);D(t),L(()=>H(n,Q8.error)),V(e,t)};U(g,e=>{Q8.error&&e(_)});var v=I(g,2),y=P(v),b=e=>{var t=tKe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>ite()]),V(e,t)},x=e=>{var t=Tr();W(F(t),17,()=>Q8.messages,e=>e.id,(e,t)=>{VGe(e,{get message(){return R(t)}})}),V(e,t)};U(y,e=>{Q8.messages.length===0?e(b):e(x,-1)}),D(v),Mi(v,e=>M(r,e),()=>R(r)),ni(v,()=>fGe({onreorder:(e,t)=>Q8.moveMessage(e,t)})),GGe(I(v,2),{}),D(o),$Ge(I(o,2),{}),D(i),L((e,t,n)=>{a=G(i,1,`playground svelte-l6u7qi`,null,a,{"playground-panel-open":Q8.panelOpen}),K(o,`aria-label`,e),H(l,t),K(d,`aria-pressed`,Q8.panelOpen),H(m,n)},[()=>Wa(),()=>Wa(),()=>Q8.panelOpen?Ro():Ete()]),z(`click`,d,()=>Q8.togglePanel()),V(e,i),k()}vr([`click`]);var iKe=`draft-workflow-preview`;function r5(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function i5(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function aKe(e){return{ref:``,step:Number.isFinite(e)?e:10}}function a5(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function o5(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function oKe(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function s5(e){return{cache:!!o5(e,`cache`,!1),audit:!!o5(e,`audit`,!1),usage:!!o5(e,`usage`,!1),budget:o5(e,`budget`,!0)!==!1,guardrails:!!o5(e,`guardrails`,!1),failover:o5(e,`failover`,!0)!==!1}}function c5(e,t){let n=s5(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function l5(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...c5((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:s5(n).failover}}function sKe(e,t){return l5(e,t).failover?x_e():w_e()}function u5(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:a5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function cKe(e,t){return l5(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function d5(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function f5(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function p5(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=f5(e);t&&n.add(t)}),[...n].sort()}function m5(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&f5(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function lKe(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?dve():t===`provider_model_path`?mve():t===`provider_path`?_ve():t===`path`?yve():t===`provider`?Sve():Tve()}function h5(e){return String(e&&e.scope_display||`global`).trim()||`global`}function g5(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=h5(e);return n===`global`?Ove():n}function _5(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return KH();if(t.includes(`:`))return YH()}}return``}function v5(e){if(_5(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function y5(e){let t=e||r5(),n=String(t.scope_provider||``).trim(),r=v5(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function b5(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=v5(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function uKe(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=v5(e&&e.scope_user_path),i=b5({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function dKe(e,t){let n=t||i5(),r=d5(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=v5(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===v5(n.scope_user_path)}function x5(e,t,n){let r=y5(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>dKe(e,r))||null}function S5(e){return String(e&&e.scope_type||``).trim()!==`global`}function fKe(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function pKe(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,d5(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function mKe(e,t){let n=e||r5(),r=y5(n),i=s5(n.features||{}),a=c5(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?u5(n):[];return{id:iKe,scope_type:b5(r),scope_display:uKe(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function hKe({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||r5(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=v5(a.scope_user_path),l=s5(a.features||{}),u=c5(l,t),d=x5(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=oKe(f,`failover`),m=p?o5(f,`failover`,!0)!==!1:null,h=i||i5(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&v5(h.scope_user_path)===v5(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:a5(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function gKe(e,{models:t=[],hydratedScope:n=null}={}){let r=n||i5(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!p5(t,r).includes(o)&&o!==i)return jve();if(s&&!o)return Pve();if(s){let e=m5(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return Lve()}let c=_5(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return Bve();if(!Number.isInteger(e.step)||e.step<0)return Uve();if(d.has(e.ref))return Kve();d.add(e.ref)}return``}var C5=new class{#e=j(N([]));get workflows(){return R(this.#e)}set workflows(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get formOpen(){return R(this.#a)}set formOpen(e){M(this.#a,e,!0)}#o=j(!1);get submitting(){return R(this.#o)}set submitting(e){M(this.#o,e,!0)}#s=j(``);get deactivatingID(){return R(this.#s)}set deactivatingID(e){M(this.#s,e,!0)}#c=j(``);get formError(){return R(this.#c)}set formError(e){M(this.#c,e,!0)}#l=j(!1);get formHydrated(){return R(this.#l)}set formHydrated(e){M(this.#l,e,!0)}#u=j(N(i5()));get hydratedScope(){return R(this.#u)}set hydratedScope(e){M(this.#u,e,!0)}#d=j(N([]));get guardrailRefs(){return R(this.#d)}set guardrailRefs(e){M(this.#d,e,!0)}#f=j(N(r5()));get form(){return R(this.#f)}set form(e){M(this.#f,e,!0)}#p=null;failoverVisible(){return OX.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:OX.cacheVisible(),audit:OX.auditVisible(),usage:OX.usageVisible(),budget:OX.budgetsVisible(),guardrails:OX.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return pKe(this.workflows,this.filter)}providerOptions(){return p5(lZ.models,this.hydratedScope)}modelOptions(e){return m5(lZ.models,e,this.hydratedScope)}activeScopeMatch(){return x5(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?Zge():LM()}submittingLabel(){return this.submitMode()===`save`?e_e():r_e()}preview(){return mKe(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=i5(),this.form=r5();return}this.formHydrated=!0,this.hydratedScope={scope_provider:d5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?s5(e.workflow_payload.features):l5(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:a5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):u5(e);this.form={scope_provider:d5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=i5(),this.form=r5()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(aKe(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return hKe({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4),n=await k3(`/admin/workflows`,{label:`workflows`,options:{signal:e.signal}});if(clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1,n.status!==`stale`)){if(n.status===`unavailable`){this.available=!1,this.workflows=[];return}if(n.result&&(this.available=!0),n.status===`error`){this.workflows=[],this.error=e.signal.aborted?l_e():n.error;return}this.workflows=n.items}}async fetchGuardrailRefs(){let e=await k3(`/admin/workflows/guardrails`,{label:`workflow guardrails`});e.status!==`stale`&&(this.guardrailRefs=e.items)}async fetchPage(){await Promise.all([OX.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=gKe(e,{models:lZ.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await A3(`/admin/workflows`,`POST`,e,{label:`create workflow`,unavailableStatuses:[]});if(t.status===`stale`||t.result&&t.result.status===401)return;if(t.status===`error`){this.formError=t.error;return}BX.success(f_e()),this.closeForm(),this.fetchPage()}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!S5(e))return;let n=g5(e);if(confirm(h_e({name:n}))){this.deactivatingID=t;try{let e=await A3(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`,unavailableStatuses:[]});if(e.status===`stale`||e.result&&e.result.status===401)return;if(e.status===`error`){BX.error(e.error);return}BX.success(v_e()),this.fetchPage()}finally{this.deactivatingID=``}}}},_Ke=B(``);function vKe(e,t){O(t,!0);let n=q(t,`workflowID`,3,``),r=C3({logPrefix:`Failed to copy workflow ID:`});dn(()=>{n(),r.reset()});let i=A(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=A(()=>n()?R(i)+` `+n():R(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=_Ke();let c;var l=I(P(s),4),u=P(l,!0);D(l);var d=I(l,2);J(P(d),{get icon(){return AY}}),D(d),D(s),L(()=>{c=G(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),K(s,`title`,R(i)),K(s,`aria-label`,R(a)),H(u,n())}),z(`click`,s,o),V(e,s),k()}vr([`click`]);var w5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=gt(()=>h((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=SKe(),l=P(c),u=e=>{var t=yKe();let r;J(P(t),{get icon(){return n()}}),D(t),L(()=>r=G(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":R(i)===`workflow-node-endpoint`})),V(e,t)};U(l,e=>{n()&&e(u)});var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=e=>{var t=bKe(),n=P(t,!0);D(t),L(()=>H(n,s())),V(e,t)};U(p,e=>{s()&&e(m)});var g=I(p,2),_=e=>{var t=xKe(),n=P(t,!0);D(t),L(()=>H(n,o())),V(e,t)};U(g,e=>{o()&&e(_)}),D(c),L(()=>{G(c,1,ai([`workflow-node`,R(i),a()]),`svelte-nbptrg`),H(f,r())}),V(e,c)},yKe=B(`
    `),bKe=B(` `),xKe=B(` `),SKe=B(`
    `),T5=B(`
    `,1),E5=B(`
    `,1),CKe=B(`
    `),wKe=B(`
    `),TKe=B(`
    `);function D5(e,t){O(t,!0);let n=q(t,`chart`,19,()=>({}));var r=TKe(),i=P(r),a=e=>{vKe(e,{get workflowID(){return n().workflowID}})};U(i,e=>{n().workflowID&&e(a)});var o=I(i,2),s=P(o);{let e=A(()=>({icon:sAe,label:OOe(),variant:`workflow-node-endpoint`}));w5(s,()=>R(e))}var c=I(s,4);{let e=A(()=>({icon:MY,label:jOe(),state:n().authNodeClass,sub:n().authNodeSublabel}));w5(c,()=>R(e))}var l=I(c,2),u=e=>{var t=T5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:MY,label:SN(),state:n().cacheNodeClass,badge:n().cacheStatusLabel}));w5(i,()=>R(e))}L(()=>G(r,1,ai([`workflow-conn`,n().cacheConnClass]),`svelte-nbptrg`)),V(e,t)};U(l,e=>{n().showCache&&e(u)});var d=I(l,2),f=e=>{var t=E5(),r=I(F(t),2);{let e=A(()=>({icon:JY,label:jN(),state:n().budgetNodeClass,badge:n().budgetStatusLabel}));w5(r,()=>R(e))}V(e,t)};U(d,e=>{n().showBudget&&e(f)});var p=I(d,2),m=e=>{var t=E5(),r=I(F(t),2);{let e=A(()=>({icon:nAe,label:Ok(),sub:n().guardrailLabel}));w5(r,()=>R(e))}V(e,t)};U(p,e=>{n().showGuardrails&&e(m)});var h=I(p,2),g=I(h,2);w5(g,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var _=I(g,2),v=e=>{var t=T5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:IY,label:PN(),state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel}));w5(i,()=>R(e))}L(()=>G(r,1,ai([`workflow-conn`,n().failoverConnClass]),`svelte-nbptrg`)),V(e,t)};U(_,e=>{n().showFailover&&e(v)});var y=I(_,2),b=I(y,2);{let e=A(()=>({icon:Fke,label:POe(),variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel}));w5(b,()=>R(e))}D(o);var x=I(o,2),S=e=>{var t=wKe(),r=P(t),i=e=>{{let t=A(()=>({icon:jke,label:ON(),variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}));w5(e,()=>R(t))}};U(r,e=>{n().showUsage&&e(i)});var a=I(r,2),o=e=>{V(e,CKe())};U(a,e=>{n().showUsage&&n().showAudit&&e(o)});var s=I(a,2),c=e=>{{let t=A(()=>({icon:Rke,label:LOe(),variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}));w5(e,()=>R(t))}};U(s,e=>{n().showAudit&&e(c)});var l=I(s,4),u=P(l,!0);D(l),D(t),L(e=>H(u,e),[()=>Tk()]),V(e,t)};U(x,e=>{n().showAsync&&e(S)}),D(r),L(()=>{G(h,1,ai([`workflow-conn`,n().aiConnClass]),`svelte-nbptrg`),G(y,1,ai([`workflow-conn`,n().responseConnClass]),`svelte-nbptrg`)}),V(e,r),k()}function EKe(e){let t=u5(e).length;return t===0?``:t===1?M_e():HJ({count:t})}function DKe(e,t){return t&&t.provider?t.provider:d5(e&&e.scope)||`AI`}function OKe(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function kKe(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function AKe(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:s5(t)}function O5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function k5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return k5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=k5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:k5(e.error,t+1)):``}function A5(e){return e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{}}function jKe(e){let t=A5(e);return String(t.error_code||t.errorCode||``).trim()||k5(t.response_body)}function MKe(e){return String(e&&e.error_type||``).trim().toLowerCase()===`authentication_error`&&!String(A5(e).error_provider||``).trim()}function NKe(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function PKe(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=O5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=NKe(n);if(i)return i;let a=d5(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function FKe(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=O5(e),o=PKe(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=MKe(e),l=String(e.auth_method||``).trim().toLowerCase()||null,u=jKe(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function IKe(e){return!!(e&&e.cacheHit)}function LKe(e){return!!(e&&e.failoverTarget)}function j5(e){return!!(e&&e.budgetExceeded)}function RKe(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function zKe(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function BKe(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?BOe():UOe()}function VKe(e,t,n,r){return e?j5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function HKe(e){return j5(e)?KOe():null}function UKe(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function WKe(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function GKe(e){return e&&e.failoverTarget?YOe():null}function KKe(e){return e&&e.failoverTarget?e.failoverTarget:null}function M5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function qKe(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function JKe(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function YKe(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function XKe(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function ZKe(e){return!e||!e.authMethod?null:e.authMethod}function N5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function P5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function QKe(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function F5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function I5(e,t){return!e||!e._live||P5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function $Ke(e,t,n){return!e||!e._live?``:F5(e)?`usage`:I5(e,t)?`audit`:P5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function L5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?s5(i.features):l5(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||j5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||LKe(t),m=kKe(e,i.entry),h=$Ke(i.entry,t,a),g=F5(i.entry),_=I5(i.entry,t),v=P5(i.entry,s),y=QKe(i.entry,s);return{showBudget:c,budgetNodeClass:VKe(c,t,s,h===`budget`),budgetStatusLabel:HKe(t),showGuardrails:l,guardrailLabel:l?EKe(e):``,showCache:!!i.forceCache||!!a.cache||IKe(t),cacheNodeClass:RKe(t,h===`cache`),cacheConnClass:zKe(t),cacheStatusLabel:BKe(t),showFailover:p,failoverNodeClass:p?UKe(t):``,failoverConnClass:p?WKe(t):``,failoverStatusLabel:p?GKe(t):null,failoverTargetLabel:p?KKe(t):null,aiLabel:DKe(e,t),aiSublabel:OKe(e,t),aiConnClass:M5(t),aiNodeClass:qKe(t,h===`ai`),responseConnClass:M5(t),responseNodeClass:JKe(t,h===`response`),responseNodeSublabel:YKe(t),authNodeClass:XKe(t,h===`auth`),authNodeSublabel:ZKe(t),usageNodeClass:N5(u,y,g),auditNodeClass:N5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function eqe(e,t){return L5(e,null,{forceCache:!1},t)}function tqe(e,t,n){return L5(t,FKe(e,t),{entry:e,features:AKe(e)||(t?l5(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var nqe=B(`

    `),R5=B(`

    `),rqe=B(`
    `),iqe=B(`
    `),aqe=B(`

    `),oqe=B(``),sqe=B(`

    `);function z5(e,t){O(t,!0);let n=q(t,`preview`,3,!1),r=A(()=>C5.featureCaps()),i=A(()=>g5(t.workflow)),a=A(()=>cKe(t.workflow,R(r))),o=A(()=>eqe(t.workflow,R(r))),s=A(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=sqe();let l;var u=P(c),d=P(u),f=P(d),p=P(f,!0);D(f);var m=I(f,2),h=P(m,!0);D(m),D(d);var g=I(d,2),_=P(g),v=P(_,!0);D(_),D(g),D(u);var y=I(u,2),b=e=>{var n=nqe(),r=P(n,!0);D(n),L(()=>H(r,t.workflow.description)),V(e,n)};U(y,e=>{t.workflow.description&&e(b)});var x=I(y,2),S=e=>{var n=R5(),i=P(n);D(n),L((e,t)=>H(i,`${e??``}: ${t??``}`),[()=>PN(),()=>sKe(t.workflow,R(r))]),V(e,n)},C=A(()=>C5.failoverVisible());U(x,e=>{R(C)&&e(S)});var w=I(x,2);D5(w,{get chart(){return R(o)}});var T=I(w,2),ee=e=>{var t=aqe(),n=P(t),r=P(n),i=P(r,!0);D(r);var o=I(r,2),c=P(o,!0);D(o),D(n);var l=I(n,2),u=e=>{var t=iqe();W(t,23,()=>R(a),(e,t)=>R(s)+t,(e,t)=>{var n=rqe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a),D(n),L(e=>{H(i,R(t).ref),H(o,e)},[()=>F_e({number:R(t).step})]),V(e,n)}),D(t),V(e,t)},d=e=>{var t=R5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jk()]),V(e,t)};U(l,e=>{R(a).length>0?e(u):e(d,-1)}),D(t),L((e,t)=>{H(i,e),H(c,t)},[()=>Ok(),()=>R(a).length?HJ({count:R(a).length}):D_e()]),V(e,t)},E=A(()=>OX.guardrailsVisible());U(T,e=>{R(E)&&e(ee)});var te=I(T,2),ne=e=>{var n=oqe(),r=P(n),a=P(r),o=P(a,!0);D(a);var s=I(a,2);{let e=A(()=>$_e({name:R(i)}));O3(s,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>C5.openCreate(t.workflow),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(r);var c=I(r,2),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p),D(c),D(n),L((e,t,n,r,i,s,c)=>{a.disabled=e,K(a,`aria-label`,t),K(a,`title`,n),H(o,r),H(u,i),H(f,s),H(m,c)},[()=>C5.deactivatingID===t.workflow.id||!S5(t.workflow),()=>R_e({name:R(i)}),()=>S5(t.workflow)?V_e():W_e(),()=>C5.deactivatingID===t.workflow.id?q_e():X_e(),()=>nve({version:t.workflow.version}),()=>ave({date:yX.formatTimestamp(t.workflow.created_at)}),()=>cve({hash:fKe(t.workflow.workflow_hash)})]),z(`click`,a,()=>C5.deactivate(t.workflow)),V(e,n)};U(te,e=>{n()||e(ne)}),D(c),L((e,t)=>{l=G(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),H(p,e),H(h,R(i)),H(v,t)},[()=>lKe(t.workflow),()=>h5(t.workflow)]),V(e,c),k()}vr([`click`]);var cqe=B(`

    `),B5=B(``),lqe=B(``),uqe=B(``),dqe=B(``),fqe=B(``),pqe=B(``),V5=B(``),mqe=B(`
    `),hqe=B(`
    `),gqe=B(`
    `),_qe=B(`

    `),vqe=B(`

    `),yqe=B(`

    `,1);function bqe(e,t){O(t,!0);{let t=e=>{{let t=e=>{var t=cqe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>C5.submitMode()===`save`?PM():LM()]),V(e,t)},n=A(()=>OM()),r=A(()=>jM());V4(e,{copyId:`workflow-help-copy`,get label(){return R(n)},get text(){return R(r)},title:t,$$slots:{title:!0}})}},n=A(()=>TM()),r=A(()=>C5.submitLabel()),i=A(()=>C5.submittingLabel()),a=A(()=>C5.submitMode()===`create`?RY:VY);t6(e,{get open(){return C5.formOpen},get ariaLabel(){return R(n)},get error(){return C5.formError},get submitting(){return C5.submitting},get submitLabel(){return R(r)},get submittingLabel(){return R(i)},get submitIcon(){return R(a)},dialogClass:`workflow-editor`,onclose:()=>C5.closeForm(),onsubmit:()=>C5.submitForm(),header:t,children:(e,t)=>{var n=yqe(),r=F(n),i=P(r);{let e=A(()=>BM());n6(i,{id:`workflow-scope-provider`,get label(){return R(e)},children:(e,t)=>{var n=lqe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),16,()=>C5.providerOptions(),e=>e,(e,t)=>{var n=B5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>UM()]),z(`change`,n,e=>C5.setProvider(e.currentTarget.value)),pi(n,()=>C5.form.scope_provider,e=>C5.form.scope_provider=e),V(e,n)},$$slots:{default:!0}})}var a=I(i,2),o=e=>{{let t=A(()=>KM());n6(e,{id:`workflow-scope-model`,get label(){return R(t)},children:(e,t)=>{var n=uqe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),17,()=>C5.modelOptions(C5.form.scope_provider),e=>C5.form.scope_provider+`-`+e,(e,t)=>{var n=B5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t)),i!==(i=R(t))&&(n.value=(n.__value=R(t))??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>YM()]),pi(n,()=>C5.form.scope_model,e=>C5.form.scope_model=e),V(e,n)},$$slots:{default:!0}})}};U(a,e=>{C5.form.scope_provider&&e(o)});var s=I(a,2);{let e=A(()=>QM());n6(s,{id:`workflow-name`,get label(){return R(e)},children:(e,t)=>{var n=dqe();bi(n),L(e=>K(n,`placeholder`,e),[()=>tN()]),Di(n,()=>C5.form.name,e=>C5.form.name=e),V(e,n)},$$slots:{default:!0}})}var c=I(s,2);{let e=A(()=>iN());n6(c,{id:`workflow-user-path`,get label(){return R(e)},children:(e,t)=>{var n=fqe();bi(n),Di(n,()=>C5.form.scope_user_path,e=>C5.form.scope_user_path=e),V(e,n)},$$slots:{default:!0}})}D(r);var l=I(r,2),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>gN());n6(h,{id:`workflow-description`,get label(){return R(e)},children:(e,t)=>{var n=pqe();at(n),L(e=>K(n,`placeholder`,e),[()=>yN()]),Di(n,()=>C5.form.description,e=>C5.form.description=e),V(e,n)},$$slots:{default:!0}})}var g=I(h,2),_=P(g),v=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>SN()]),Oi(n,()=>C5.form.features.cache,e=>C5.form.features.cache=e),V(e,t)},y=A(()=>OX.cacheVisible());U(_,e=>{R(y)&&e(v)});var b=I(_,2),x=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>TN()]),Oi(n,()=>C5.form.features.audit,e=>C5.form.features.audit=e),V(e,t)},S=A(()=>OX.auditVisible());U(b,e=>{R(S)&&e(x)});var C=I(b,2),w=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>ON()]),Oi(n,()=>C5.form.features.usage,e=>C5.form.features.usage=e),V(e,t)},T=A(()=>OX.usageVisible());U(C,e=>{R(T)&&e(w)});var ee=I(C,2),E=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>jN()]),Oi(n,()=>C5.form.features.budget,e=>C5.form.features.budget=e),V(e,t)},te=A(()=>OX.budgetsVisible());U(ee,e=>{R(te)&&e(E)});var ne=I(ee,2),re=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>Ok()]),Oi(n,()=>C5.form.features.guardrails,e=>C5.form.features.guardrails=e),V(e,t)},ie=A(()=>OX.guardrailsVisible());U(ne,e=>{R(ie)&&e(re)});var ae=I(ne,2),oe=e=>{var t=V5(),n=P(t);bi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>PN()]),Oi(n,()=>C5.form.features.failover,e=>C5.form.features.failover=e),V(e,t)},se=A(()=>C5.failoverVisible());U(ae,e=>{R(se)&&e(oe)}),D(g);var ce=I(g,2),le=P(ce),ue=P(le),de=P(ue,!0);D(ue);var fe=I(ue,2),pe=P(fe,!0);D(fe),D(le);var me=I(le,2);{let e=A(()=>C5.preview());z5(me,{get workflow(){return R(e)},preview:!0})}D(ce);var he=I(ce,2),ge=e=>{var t=vqe(),n=P(t),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o,!0);D(o),D(r);var c=I(r,2),l=P(c,!0);D(c),D(n);var u=I(n,2),d=e=>{var t=mqe(),n=P(t),r=P(n,!0);D(n);var i=I(n,2),a=P(i,!0);D(i),D(t),L((e,t)=>{H(r,e),H(a,t)},[()=>QN(),()=>tP()]),z(`click`,i,()=>eX.navigate(`guardrails`)),V(e,t)};U(u,e=>{C5.guardrailRefs.length===0&&e(d)});var f=I(u,2),p=e=>{var t=gqe();W(t,21,()=>C5.form.guardrails,Ar,(e,t,n)=>{var r=hqe(),i=P(r),a=P(i);K(a,`for`,`workflow-guardrail-ref-`+n);var o=P(a,!0);D(a);var s=I(a,2);bi(s),K(s,`id`,`workflow-guardrail-ref-`+n),D(i);var c=I(i,2),l=P(c);K(l,`for`,`workflow-guardrail-step-`+n);var u=P(l,!0);D(l);var d=I(l,2);bi(d),K(d,`id`,`workflow-guardrail-step-`+n),D(c);var f=I(c,2),p=P(f,!0);D(f),D(r),L((e,t,n,r,i,a,c)=>{H(o,e),K(s,`placeholder`,t),K(s,`aria-label`,n),H(u,r),K(d,`placeholder`,i),K(d,`aria-label`,a),H(p,c)},[()=>iP(),()=>iP(),()=>`${iP()} ${n+1}`,()=>sP(),()=>sP(),()=>`${UN()} ${n+1}`,()=>uP()]),Di(s,()=>R(t).ref,e=>R(t).ref=e),Di(d,()=>R(t).step,e=>R(t).step=e),z(`click`,f,()=>C5.removeGuardrailStep(n)),V(e,r)}),D(t),V(e,t)},m=e=>{var t=_qe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pP()]),V(e,t)};U(f,e=>{C5.form.guardrails.length>0?e(p):e(m,-1)}),D(t),L((e,t,n)=>{H(a,e),H(s,t),H(l,n)},[()=>UN(),()=>KN(),()=>YN()]),z(`click`,c,()=>C5.addGuardrailStep()),V(e,t)},_e=A(()=>C5.form.features.guardrails&&OX.guardrailsVisible());U(he,e=>{R(_e)&&e(ge)}),L((e,t,n,r,i)=>{H(u,e),H(f,t),H(m,n),H(de,r),H(pe,i)},[()=>sN(),()=>uN(),()=>pN(),()=>LN(),()=>BN()]),V(e,n)},$$slots:{header:!0,default:!0}})}k()}vr([`change`,`click`]);var xqe=B(`
    `),H5=B(`

    `),Sqe=B(`
    `);function Cqe(e,t){O(t,!0);var n=Sqe(),r=P(n),i=e=>{{let t=A(()=>o_e());H4(e,{get label(){return R(t)}})}};U(r,e=>{C5.loading&&!X.authError&&e(i)});var a=I(r,2),o=e=>{var t=xqe();W(t,21,()=>C5.filteredWorkflows,e=>e.id,(e,t)=>{z5(e,{get workflow(){return R(t)}})}),D(t),V(e,t)};U(a,e=>{C5.filteredWorkflows.length>0&&e(o)});var s=I(a,2),c=e=>{var t=H5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>yk()]),V(e,t)};U(s,e=>{C5.workflows.length===0&&!C5.loading&&!X.authError&&C5.available&&e(c)});var l=I(s,2),u=e=>{var t=H5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Sk()]),V(e,t)};U(l,e=>{C5.workflows.length>0&&C5.filteredWorkflows.length===0&&!C5.loading&&e(u)}),D(n),V(e,n),k()}var wqe=B(``),U5=B(`
    `),Tqe=B(`
    `),Eqe=B(``),Dqe=B(`
    `);function Oqe(e,t){O(t,!0),dn(()=>{X.refreshTick,C5.fetchPage()});var n=Dqe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i);var l=I(i,2),u=P(l),d=e=>{var t=wqe(),n=P(t);J(n,{get icon(){return RY},class:`form-action-icon`,"aria-hidden":`true`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>sk()]),z(`click`,t,()=>C5.openCreate()),V(e,t)};U(u,e=>{C5.available&&e(d)}),D(l),D(r);var f=I(r,2),p=e=>{var t=U5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>uk()]),V(e,t)};U(f,e=>{!C5.available&&!X.authError&&e(p)});var m=I(f,2),h=e=>{var t=U5(),n=P(t,!0);D(t),L(()=>H(n,C5.error)),V(e,t)};U(m,e=>{C5.error&&!X.authError&&e(h)});var g=I(m,2),_=e=>{var t=Tqe(),n=P(t),r=P(n);{let e=A(()=>pk()),t=A(()=>gk());v3(r,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return C5.filter},set value(e){C5.filter=e}})}D(n);var i=I(n,2),a=P(i),o=P(a,!0);D(a),D(i),D(t),L(()=>H(o,C5.filteredWorkflows.length+` active scopes`)),V(e,t)};U(g,e=>{C5.available&&e(_)});var v=I(g,2);bqe(v,{});var y=I(v,2);Cqe(y,{});var b=I(y,2);W(b,20,()=>C5.guardrailRefs,e=>e,(e,t)=>{var n=Eqe(),r={};L(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(b),D(n),L((e,t)=>{H(o,e),H(c,t)},[()=>tk(),()=>ik()]),V(e,n),k()}vr([`click`]);function kqe(e,{from:t,to:n},r={}){var{delay:i=0,duration:a=e=>Math.sqrt(e)*120,easing:o=zX}=r,s=getComputedStyle(e),c=s.transform===`none`?``:s.transform,[l,u]=s.transformOrigin.split(` `).map(parseFloat);l/=e.clientWidth,u/=e.clientHeight;var d=Aqe(e),f=e.clientWidth/n.width/d,p=e.clientHeight/n.height/d,m=t.left+t.width*l,h=t.top+t.height*u,g=n.left+n.width*l,_=n.top+n.height*u,v=(m-g)*f,y=(h-_)*p,b=t.width/n.width,x=t.height/n.height;return{delay:i,duration:typeof a==`function`?a(Math.sqrt(v*v+y*y)):a,easing:o,css:(e,t)=>`transform: ${c} translate(${t*v}px, ${t*y}px) scale(${e+t*b}, ${e+t*x});`}}function Aqe(e){if(`currentCSSZoom`in e)return e.currentCSSZoom;for(var t=e,n=1;t!==null;)n*=+getComputedStyle(t).zoom,t=t.parentElement;return n}var W5=new class{#e=j(N({}));get workflowVersionsByID(){return R(this.#e)}set workflowVersionsByID(e){M(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:OX.cacheVisible(),audit:OX.auditVisible(),usage:OX.usageVisible(),budget:OX.budgetsVisible(),guardrails:OX.guardrailsVisible(),failover:OX.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await TX(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}},G5=6;function K5(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function q5(e,t=0,n=null){let r=String(e||``).trim();if(!r)return``;if(t>G5)return r;let i=K5(r);return i==null?r:J5(i,t+1,n)||n&&n(i)||r}function J5(e,t=0,n=null,r=null){if(e==null||t>G5)return``;if(typeof e==`string`){let i=K5(e.trim());return i==null?``:J5(i,t+1,n,r)}if(typeof e!=`object`)return``;let i=r||new Set;if(i.has(e))return``;if(i.add(e),Array.isArray(e)){for(let r=0;r=400||Nqe(t&&t.response_body)}function Fqe(e){let t=e&&e.data?e.data:null;return t?jqe(t.error_message)||(Pqe(e,t)?J5(t.response_body,0):``):``}function Y5(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function Iqe(e){return Y5(e)===null?``:X5(e)+Z5(e)+`.`}function X5(e){let t=Y5(e);return t===null?``:t===0?yle():Sle()}function Z5(e){let t=Y5(e);return t===null?``:t===0?Tle():Ole({count:t})}function Lqe({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o,field:s,fieldValue:c}){let l=e;if(l+=`&limit=`+t+`&offset=`+n,r&&(l+=`&search=`+encodeURIComponent(r)),i&&(l+=`&method=`+encodeURIComponent(i)),a&&(l+=`&status_code=`+encodeURIComponent(a)),o&&(l+=`&stream=`+encodeURIComponent(o)),c){let e={user_path:`user_path`,request_id:`search`,model:`requested_model`,provider:`provider`,session_id:`session_id`,error_type:`error_type`,search:`search`}[s]||`search`;l+=`&`+e+`=`+encodeURIComponent(c)}return l}function Rqe({sessionId:e,limit:t}){return`session_id=`+encodeURIComponent(e)+`&limit=`+(t||100)+`&offset=0`}function Q5(e){return String(e&&e.session_id||``).trim()}function $5(e){let t=Number(e&&e.session_count);return Number.isFinite(t)&&t>1?t:1}function zqe(e){return!!Q5(e)&&$5(e)>1}function Bqe(e){return{entries:(Array.isArray(e&&e.sessions)?e.sessions:[]).filter(e=>e&&e.latest).map(e=>({...e.latest,session_count:Math.max(1,Number(e.request_count)||1)})),total:Number(e&&e.total||0),limit:Number(e&&e.limit||25),offset:Number(e&&e.offset||0)}}function Vqe(e,t,n){let r=new Set((Array.isArray(n)?n:[]).flatMap(e=>r7(e))),i=(Array.isArray(t)?t:[]).filter(e=>!r7(e).some(e=>r.has(e))),a=new Set([...r,...i.flatMap(e=>r7(e))]),o=(e&&Array.isArray(e.entries)?e.entries:[]).filter(e=>e&&e._live&&!r7(e).some(e=>a.has(e)));return{entries:[...o,...i],preservedCount:o.length}}function e7(e,t){let n=e||{};if(!t)return n;if(n[t]){let e={...n};return delete e[t],e}return{...n,[t]:!0}}function t7(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>Q5(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=n[e];return}a=!0}),a?i:n}function n7(e){return String(e&&e.id||``).trim()}function r7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function i7(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function Hqe(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function a7(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&Hqe(t)}function Uqe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!a7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>i7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>r7(e))),s=[];return a.forEach(e=>{let t=r7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function Wqe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!a7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>i7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>r7(e))),s=new Map;i.forEach((e,t)=>{let n=Q5(e);n&&!s.has(n)&&s.set(n,t)});let c=[],l=i;return a.forEach(e=>{let t=r7(e);if(t.length===0||t.some(e=>o.has(e)))return;let n=Q5(e);if(n&&s.has(n)){let r=s.get(n);l===i&&(l=[...i]);let a=$5(l[r]),c=Number(e&&e.session_count),u=Number.isFinite(c)&&c>1?c:null;l[r]={...e,session_count:u===null?a+1:Math.max(a,u)},t.forEach(e=>o.add(e));return}t.forEach(e=>o.add(e)),c.push(e)}),r.entries=[...c,...l].slice(0,r.limit||25),r.total=Number(r.total||0)+c.length,r}function Gqe(e,t){let n=n7(t),r=e||{};return n?r[n]?{}:{[n]:!0}:r}function Kqe(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>n7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function qqe(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function o7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function s7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function c7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function l7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function u7(e){let t=l7(e);return t.length>1||t.some(e=>!(e&&e.success))}function Jqe(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function d7(e){return String(e&&e.kind||``).trim()||`attempt`}function Yqe(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function Xqe(e){return String(e&&e.model||``).trim()||`-`}function Zqe(e){let t=l7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function Qqe(e){return l7(e).length+`×`}function $qe(e){let t=l7(e),n=t.filter(e=>!(e&&e.success)).length;return n>0?Jde({count:t.length,failed:n}):Gde({count:t.length})}function eJe(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=d7(e);n&&n!==`attempt`&&t.push(n),t.push(Jqe(e));let r=Yqe(e);r&&r!==`-`&&t.push(r);let i=Xqe(e);return i&&i!==`-`&&t.push(i),t.push(e.success?Zde():efe()),t.join(` · `)}function tJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function nJe(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||Hde()}function rJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function iJe(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function aJe(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=tJe(e,t),a=rJe(e,t),o=nJe(t),s=i!=null&&i!==``,c=d7(t),l=l7(e).length<=1;return{title:us(),direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:iJe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:rfe(),showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:fs()}}function f7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function p7(e){return f7(e).filter(e=>!(e&&e.no_change))}function oJe(e){return f7(e).filter(e=>e&&e.no_change).map(e=>{let t=String(e.rewriter||`rewriter`);return{id:`step-`+Number(e.seq||0),rewriter:t,label:Tfe({rewriter:t}),title:Ofe({rewriter:t})}})}function sJe(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function cJe(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=p7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:Ide(),direction:`request`,seq:i?0:Number(t&&t.seq||0),requestStep:`revision-`+Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:sJe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:zde(),showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:Sfe()}}function m7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function lJe(e){let t=m7(e);return Number(t&&t.cached_input_tokens||0)>0}function uJe(e){let t=m7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function dJe(e){let t=m7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?jfe({count:UX(r)}):Pfe({percent:uJe(e).toFixed(1)})}function fJe(e){return lJe(e)?dJe(e):``}function pJe(e,t){let n=m7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function mJe(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&s7(e);return{title:jde(),direction:`request`,requestStep:`original`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:fJe(e),promptCacheHighlight:pJe(e,t),noChangeSteps:oJe(e),showEmpty:r&&!i,emptyMessage:ofe(),showPending:i,pendingMessage:ds(),showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:dfe()}}function hJe(e){let t=e&&e.data?e.data:null,n=Fqe(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&s7(e);return{title:us(),direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&s7(e),showEmpty:r&&!i,emptyMessage:mfe(),showPending:i,pendingMessage:_fe(),showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:fs()}}function h7(e,t){let n=[{id:`request`,pane:mJe(e,t)}];return p7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:cJe(e,t)})}),u7(e)?l7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:aJe(e,t)})}):n.push({id:`response`,pane:hJe(e)}),n}function gJe(e){if(!u7(e))return`response`;let t=l7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function _Je(e,t,n){return e&&(Array.isArray(n)?n:h7(t)).some(t=>t.id===e)?e:gJe(t)}function vJe(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}var yJe=100;function g7(){return{entries:[],total:0,limit:25,offset:0}}var _7=new class{#e=j(N({}));get auditExpandedEntries(){return R(this.#e)}set auditExpandedEntries(e){M(this.#e,e,!0)}#t=j(N({}));get auditExpandedThreads(){return R(this.#t)}set auditExpandedThreads(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}auditFetchToken=0;get auditLog(){return Z4.auditLog}set auditLog(e){Z4.auditLog=e}get auditSearch(){return Z4.auditSearch}set auditSearch(e){Z4.auditSearch=e}get auditMethod(){return Z4.auditMethod}set auditMethod(e){Z4.auditMethod=e}get auditStatusCode(){return Z4.auditStatusCode}set auditStatusCode(e){Z4.auditStatusCode=e}get auditStream(){return Z4.auditStream}set auditStream(e){Z4.auditStream=e}get auditField(){return Z4.auditField}set auditField(e){Z4.auditField=e}get auditFieldValue(){return Z4.auditFieldValue}set auditFieldValue(e){Z4.auditFieldValue=e}get auditGroupSessions(){return Z4.auditGroupSessions}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,fieldValue:this.auditFieldValue,customStartDate:cZ.customStartDate,customEndDate:cZ.customEndDate}}toggleAuditGroupSessions(){Z4.auditGroupSessions=!Z4.auditGroupSessions,Vi(`gomodel_audit_group_sessions`,Z4.auditGroupSessions),this.auditExpandedThreads={},Z4.auditThreadChildren={},this.fetchAuditLog(!0)}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=this.auditGroupSessions,r=Lqe({dateQuery:cZ.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,field:this.auditField,fieldValue:this.auditFieldValue}),i=await TX((n?`/admin/audit/sessions?`:`/admin/audit/log?`)+r,{label:`audit log`});if(i.stale||t!==this.auditFetchToken)return;if(!i.ok){this.auditLog=g7();return}let a=n?Bqe(i.data):i.data,o=(n?Wqe:Uqe)(a,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(o.entries)||(o.entries=[]),o.entries=Z4.upsertAuditRecords(o.entries,`audit.list`),this.auditLog=o,this.auditExpandedThreads=t7(this.auditExpandedThreads,o.entries),Z4.auditThreadChildren=t7(Z4.auditThreadChildren,o.entries);let s=[...o.entries,...this.loadedThreadChildren()];this.auditExpandedEntries=Kqe(this.auditExpandedEntries,s);try{await W5.prefetchAuditWorkflows(s)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=g7()}finally{t===this.auditFetchToken&&(this.loading=!1)}}loadedThreadChildren(){let e=Z4.auditThreadChildren||{};return Object.keys(e).flatMap(t=>Array.isArray(e[t]&&e[t].entries)?e[t].entries:[])}isThreadExpanded(e){return!!(e&&this.auditExpandedThreads[e])}threadChildren(e){return e&&Z4.auditThreadChildren[e]||null}async toggleThread(e){let t=Q5(e);if(!t)return;let n=!this.isThreadExpanded(t);this.auditExpandedThreads=e7(this.auditExpandedThreads,t);let r=Z4.auditThreadChildren[t];n&&!(r&&(r.loaded||r.loading))&&await this.fetchThreadEntries(e)}async fetchThreadEntries(e){let t=Q5(e);if(!t)return;let n=Z4.auditThreadChildren[t];Z4.auditThreadChildren={...Z4.auditThreadChildren,[t]:{loading:!0,loaded:!1,entries:n&&Array.isArray(n.entries)?n.entries:[],total:Number(n&&n.total||0)}};let r=()=>{let e={...Z4.auditThreadChildren},n=e[t],r=n&&Array.isArray(n.entries)?n.entries:[];r.length>0?e[t]={loading:!1,loaded:!1,entries:r,total:r.length}:(delete e[t],this.auditExpandedThreads[t]&&(this.auditExpandedThreads=e7(this.auditExpandedThreads,t))),Z4.auditThreadChildren=e};try{let n=await TX(`/admin/audit/log?`+Rqe({sessionId:t,limit:yJe}),{label:`audit session`});if(n.stale){r();return}if(!n.ok)throw Error(`audit session fetch failed`);let i=Z4.auditThreadChildren[t],a=this.auditLog.entries.find(e=>Q5(e)===t),o=Vqe(i,n.data.entries,a?[a]:[e]);o.entries=Z4.upsertAuditRecords(o.entries,`audit.thread`),Z4.auditThreadChildren={...Z4.auditThreadChildren,[t]:{loading:!1,loaded:!0,entries:o.entries,total:Number(n.data.total||0)+o.preservedCount}}}catch(e){console.error(`Failed to fetch audit session entries:`,e),r()}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.auditField=`user_path`,this.auditFieldValue=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=n7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}toggleAuditEntryExpanded(e){this.auditExpandedEntries=Gqe(this.auditExpandedEntries,e);let t=this.isAuditEntryExpanded(e);return t&&typeof Z4.fetchAuditEntryDetail==`function`&&Z4.fetchAuditEntryDetail(e),t}expandAuditEntry(e){this.isAuditEntryExpanded(e)||this.toggleAuditEntryExpanded(e)}};Z4.fetchAuditLog=e=>_7.fetchAuditLog(e),Z4.isAuditEntryExpanded=e=>_7.isAuditEntryExpanded(e);var bJe=B(`
    `);function xJe(e,t){O(t,!0);let n=Yle,r=y3(()=>_7.fetchAuditLog(!0));dn(()=>r.cancel);var i=bJe(),a=P(i),o=P(a);{let e=A(()=>Qle()||n());v3(o,{id:`audit-filter-search`,placeholder:`Enter a value to filter`,label:`Audit field value`,get title(){return R(e)},get oninput(){return r},get loading(){return _7.loading},get value(){return _7.auditFieldValue},set value(e){_7.auditFieldValue=e}})}D(a);var s=I(a,2),c=P(s),l=P(c);l.value=l.__value=`user_path`;var u=I(l);u.value=u.__value=`request_id`;var d=I(u);d.value=d.__value=`model`;var f=I(d);f.value=f.__value=`provider`;var p=I(f);p.value=p.__value=`session_id`;var m=I(p);m.value=m.__value=`error_type`;var h=I(m);h.value=h.__value=`search`,D(c);var g=I(c,2),_=P(g),v=P(_,!0);D(_),_.value=_.__value=``;var y=I(_);y.value=y.__value=`GET`;var b=I(y);b.value=b.__value=`POST`;var x=I(b);x.value=x.__value=`PUT`;var S=I(x);S.value=S.__value=`PATCH`;var C=I(S);C.value=C.__value=`DELETE`,D(g);var w=I(g,2),T=P(w),ee=P(T,!0);D(T),T.value=T.__value=``;var E=I(T);E.value=E.__value=`200`;var te=I(E);te.value=te.__value=`201`;var ne=I(te);ne.value=ne.__value=`400`;var re=I(ne);re.value=re.__value=`401`;var ie=I(re);ie.value=ie.__value=`403`;var ae=I(ie);ae.value=ae.__value=`404`;var oe=I(ae);oe.value=oe.__value=`429`;var se=I(oe);se.value=se.__value=`500`;var ce=I(se);ce.value=ce.__value=`502`;var le=I(ce);le.value=le.__value=`503`;var ue=I(le);ue.value=ue.__value=`504`,D(w);var de=I(w,2),fe=P(de),pe=P(fe,!0);D(fe),fe.value=fe.__value=``;var me=I(fe),he=P(me,!0);D(me),me.value=me.__value=`true`;var ge=I(me),_e=P(ge,!0);D(ge),ge.value=ge.__value=`false`,D(de);var ve=I(de,2),ye=P(ve);J(ye,{get icon(){return XY},class:`table-icon-svg`});var be=I(ye,2),xe=P(be,!0);D(be),D(ve),D(s),D(i),L((e,t,n,r,i,a,o,s,c)=>{K(g,`aria-label`,e),H(v,t),K(w,`aria-label`,n),H(ee,r),K(de,`aria-label`,i),H(pe,a),H(he,o),H(_e,s),H(xe,c)},[()=>tue(),()=>iue(),()=>sue(),()=>uue(),()=>pue(),()=>gue(),()=>yue(),()=>Sue(),()=>rs()]),z(`change`,c,()=>_7.fetchAuditLog(!0)),pi(c,()=>_7.auditField,e=>_7.auditField=e),z(`change`,g,()=>_7.fetchAuditLog(!0)),pi(g,()=>_7.auditMethod,e=>_7.auditMethod=e),z(`change`,w,()=>_7.fetchAuditLog(!0)),pi(w,()=>_7.auditStatusCode,e=>_7.auditStatusCode=e),z(`change`,de,()=>_7.fetchAuditLog(!0)),pi(de,()=>_7.auditStream,e=>_7.auditStream=e),z(`click`,ve,()=>_7.clearAuditFilters()),V(e,i),k()}vr([`change`,`click`]);var v7=B(` `),SJe=B(` `),CJe=B(` `);function wJe(e,t){O(t,!0);let n=A(()=>Z4.auditLivePauseReason()),r=A(()=>Z4.liveLogsStreaming&&!R(n));var i=Tr(),a=F(i),o=e=>{var t=CJe(),i=P(t);let a;var o=I(i,2),s=e=>{var t=v7(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Tue()]),V(e,t)},c=e=>{var t=v7(),r=P(t,!0);D(t),L(e=>H(r,e),[()=>Cze(R(n))]),V(e,t)},l=e=>{var t=SJe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Oue()]),V(e,t)};U(o,e=>{Z4.liveLogsStreaming?R(n)?e(c,1):e(l,-1):e(s)}),D(t),L(()=>a=G(i,1,`live-dot svelte-tve6yv`,null,a,{"is-streaming":R(r)})),V(e,t)},s=A(()=>OX.liveLogsVisible());U(a,e=>{R(s)&&e(o)}),V(e,i),k()}var TJe=B(``),EJe=B(` `),DJe=B(``);function OJe(e,t){O(t,!0);let n=A(()=>[{key:`provider`,text:ZX(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`session_id`,text:t.entry.session_id&&`session: `+t.entry.session_id,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+$X(t.entry),mono:!0},{key:`failover`,text:c7(t.entry)&&`failover: `+c7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=DJe(),i=P(r),a=P(i,!0);D(i);var o=I(i,2);W(o,21,()=>R(n),e=>e.key,(e,n)=>{var r=Tr(),i=F(r),a=e=>{var r=TJe(),i=P(r,!0);D(r),L(e=>{K(r,`title`,e),H(i,R(n).text)},[()=>ls()]),z(`click`,r,()=>Z.filterBySession(t.entry.session_id,t.entry.user_path)),V(e,r)},o=e=>{var t=EJe(),r=P(t,!0);D(t),L(()=>{G(t,1,ai([`provider-badge`,R(n).class,{mono:R(n).mono}]),`svelte-hyopt0`),H(r,R(n).text)}),V(e,t)};U(i,e=>{R(n).key===`session_id`?e(a):e(o,-1)}),V(e,r)}),D(o),D(r),L(e=>H(a,e),[()=>nde()]),V(e,r),k()}vr([`click`]);var kJe=B(``),AJe=B(` `);function jJe(e,t){O(t,!0);let n=A(()=>Zqe(t.entry)),r=A(()=>R(n).length>0?$qe(t.entry):``),i=A(()=>R(n).length>0?Qqe(t.entry):``);var a=Tr(),o=F(a),s=e=>{var a=AJe(),o=P(a);W(o,21,()=>R(n),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=kJe();let r;L(e=>{r=G(n,1,`audit-attempt-pip svelte-1eu22xn`,null,r,{"audit-attempt-success":!!(R(t)&&R(t).success),"audit-attempt-error":!(R(t)&&R(t).success)}),K(n,`title`,e)},[()=>eJe(R(t))]),V(e,n)}),D(o);var s=I(o,2),c=P(s,!0);D(s),D(a),L(()=>{K(a,`title`,R(r)),K(a,`aria-label`,R(r)),H(c,R(i))}),V(e,a)};U(o,e=>{R(n).length>0&&e(s)}),V(e,a),k()}var MJe=new Set([`instructions`,`system`,`messages`,`input`,`previous_response_id`,`choices`,`output`,`content`]);function NJe(e){if(!e||typeof e!=`object`)return``;let t=String(e.type||``).toLowerCase();if(t===`image`||t===`image_url`||t===`input_image`||t===`output_image`)return nhe();if(t===`audio`||t===`input_audio`||t===`output_audio`)return ahe();if(t===`file`||t===`input_file`||t===`output_file`){let t=String(e.filename||e.name||``).trim();return t?dhe({name:t}):che()}return typeof e.refusal==`string`?e.refusal:``}function y7(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:NJe(e)).filter(Boolean).join(` `).trim();if(typeof e==`object`){if(typeof e.text==`string`)return e.text.trim();try{return JSON.stringify(e,null,2)}catch{return``}}return String(e).trim()}function b7(e){return!e||typeof e!=`object`?``:y7(e.content)||(typeof e.refusal==`string`?e.refusal.trim():``)}function x7(e){if(e==null)return[];if(typeof e==`string`)return e?[e]:[];if(Array.isArray(e))return e.flatMap(e=>typeof e==`string`?e?[e]:[]:!e||typeof e!=`object`?[]:typeof e.text==`string`?e.text?[e.text]:[]:typeof e.output_text==`string`&&e.output_text?[e.output_text]:[]);if(typeof e==`object`)return typeof e.text==`string`&&e.text?[e.text]:[];let t=String(e);return t?[t]:[]}function S7(e){if(e==null)return[];if(Array.isArray(e))return e.flatMap(S7);if(typeof e==`object`)return Object.entries(e).flatMap(([e,t])=>[e,...S7(t)]);let t=String(e);return t?[t]:[]}function C7(e){return V7(e).flatMap(e=>[...e.name?[String(e.name)]:[],...S7(e.arguments)])}function w7(e){return Array.isArray(e)?e.flatMap(e=>e&&typeof e==`object`&&e.type===`tool_use`?C7([e]):x7(e)):x7(e)}function PJe(e){let t=e&&e.usage?e.usage.estimated_cached_characters:null;if(t==null)return null;let n=Number(t);return Number.isFinite(n)&&n>0?Math.floor(n):0}function FJe(e,t){if(!e)return null;let n=(Array.isArray(t)?t:[]).reduce((e,t)=>e+String(t||``).length,0),r=Math.min(String(e).length,n);return r>0?{total:r}:null}function IJe(e){let t=e&&e.arguments!==void 0?e.arguments:``,n=``;if(typeof t==`string`)n=t;else try{n=JSON.stringify(t)}catch{n=String(t)}return(String(e&&e.name||``)+`(`+n+`)`).length}function T7(e){return{characters:(Array.isArray(e)?e:[]).map(IJe)}}function LJe(e,t){let n=Math.max(0,Number(t||0));return e.map(e=>{if(!e||e.role===`error`)return e;let t=Math.max(0,Number(e._promptTextCharacters||0)),r=Math.min(n,t);n-=r;let i=0;(Array.isArray(e._toolPromptCharacters)?e._toolPromptCharacters:[]).forEach(e=>{let t=Math.max(0,Number(e||0)),r=Math.min(n,t);n-=r,i+=r});let a=t+(e._toolPromptCharacters||[]).reduce((e,t)=>e+Math.max(0,Number(t||0)),0);return{...e,promptCacheRatio:a>0?(r+i)/a:0}})}function RJe(e){if(e==null)return[];if(typeof e==`string`){let t=e.trim();return t?[{role:`user`,text:t}]:[]}if(!Array.isArray(e)){let t=y7(e);return t?[{role:`user`,text:t}]:[]}return e.map(e=>{if(!e||typeof e!=`object`)return null;let t=String(e.role||`user`).toLowerCase(),n=y7(e.content);return n?{role:t,text:n}:null}).filter(Boolean)}function zJe(e){return b7(e)}function BJe(e){if(!e||typeof e!=`object`)return[];let t=[];return t.push(...x7(e.instructions)),Array.isArray(e.messages)&&e.messages.forEach(e=>{!e||typeof e!=`object`||(t.push(...w7(e.content)),t.push(...C7(e.tool_calls)))}),typeof e.input==`string`?t.push(e.input):Array.isArray(e.input)?e.input.forEach(e=>{if(!(!e||typeof e!=`object`)){if(e.type===`function_call`||e.type===`tool_use`){t.push(...C7([e]));return}t.push(...w7(e.content)),typeof e.text==`string`&&t.push(e.text)}}):e.input&&typeof e.input==`object`&&(t.push(...x7(e.input.content)),typeof e.input.text==`string`&&t.push(e.input.text)),t.map(e=>String(e||``)).filter(e=>e.length>0)}var E7=e=>y7(e);function VJe(e){if(!e||!e.data)return``;let t=J5(e.data.response_body,0,E7);if(t)return t;let n=e.data.error_message;if(n==null)return``;if(typeof n==`string`){let e=n.trim();return e?J5(K5(e),0,E7)||e:``}return J5(n,0,E7)||y7(n)}function HJe(e){return Array.isArray(e)?e.some(e=>!e||typeof e!=`object`?!1:e.type===`message`||e.role===`assistant`||e.role===`user`||e.role===`system`?!0:Array.isArray(e.content)?e.content.some(e=>!e||typeof e!=`object`?!1:typeof e.text==`string`||e.type===`output_text`||e.type===`input_text`):!1):!1}function UJe(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/embeddings`||t===`/v1/embeddings/`||t.startsWith(`/v1/embeddings?`)||t.startsWith(`/v1/embeddings/`)}function WJe(e){return e?!!D7(e):!1}function GJe(e){let t=String(e||``).trim().split(`?`)[0].replace(/\/+$/,``).toLowerCase();return t.startsWith(`/v1/`)?t.slice(3):t}function D7(e){switch(GJe(e)){case`/chat/completions`:return`chat`;case`/responses`:return`responses`;case`/messages`:return`messages`;default:return``}}var O7=`final`,KJe=`original`;function k7(e){return(e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]).filter(e=>e&&!e.no_change)}function A7(e){if(!e||!e.data||e.data.request_body==null)return[];let t=k7(e),n=[{id:KJe,rewriter:``,seq:0,hasBody:!0,isFinal:t.length===0}];return t.forEach((e,r)=>{n.push({id:`revision-`+Number(e.seq||0),rewriter:String(e.rewriter||``),seq:Number(e.seq||0),hasBody:e.body!=null&&e.body!==``,isFinal:r===t.length-1})}),n}function j7(e){return e?e.isFinal&&e.id!==`original`?O7:e.id:O7}function qJe(e,t){let n=String(t||`final`);if(n===`final`)return O7;let r=A7(e).find(e=>e.id===n);return r?j7(r):O7}function JJe(e,t){let n=e&&e.data?e.data.request_body:null;if(n==null)return null;let r=String(t||`final`);if(r===`original`)return n;let i=k7(e),a=r===`final`?i[i.length-1]:i.find(e=>`revision-`+Number(e.seq||0)===r);return a&&a.body!=null&&a.body!==``?a.body:n}function M7(e){if(!e||typeof e!=`object`)return null;try{return JSON.parse(JSON.stringify(e))}catch{return null}}function N7(e,t){if(!t||typeof t!=`object`)return;let n=e[e.length-1];try{if(n&&JSON.stringify(n)===JSON.stringify(t))return}catch{}e.push(t)}function YJe(e){let t=D7(e&&e.path),n=e&&e.data&&e.data.request_body;return!t||!n||typeof n!=`object`?!1:t!==`responses`||(e.data&&e.data.response_body&&typeof e.data.response_body.id==`string`?e.data.response_body.id.trim():``)!==``||G7(n)!==``}function XJe(e,t){let n=String(t||``).trim(),r=D7(e&&e.path),i=M7(e&&e.data&&e.data.request_body);if(!n||!r||!i)return null;let a=e&&e.data?e.data.response_body:null;if(r===`responses`){let e=a&&typeof a.id==`string`?a.id.trim():``,t=G7(i);return!e&&!t?null:(i.input=n,e&&!t?i.previous_response_id=e:delete i.previous_response_id,i)}let o=Array.isArray(i.messages)?i.messages:[];if(r===`chat`){let e=a&&Array.isArray(a.choices)?a.choices[0]:null;e&&e.message&&N7(o,M7(e.message)),o.push({role:`user`,content:n})}else a&&a.content!==void 0&&N7(o,{role:String(a.role||`assistant`),content:M7(a.content)||a.content}),o.push({role:`user`,content:n});return i.messages=o,i}var ZJe=new Set(`authorization.proxy-authorization.cookie.content-type.content-length.host.accept.connection.accept-encoding.content-encoding.transfer-encoding.user-agent.date.expect.upgrade.via.te.trailer.keep-alive.origin.referer.forwarded.x-real-ip.traceparent.tracestate.x-request-id.idempotency-key.x-idempotency-key.x-gomodel-timezone.x-gomodel-interaction-parent`.split(`.`));function QJe(e,t,n=``){let r=e&&e.data&&e.data.request_headers,i={};return r&&typeof r==`object`&&Object.keys(r).forEach(e=>{let t=String(e).toLowerCase(),n=String(r[e]==null?``:r[e]);!e||!n||n===`[REDACTED]`||ZJe.has(t)||t.startsWith(`sec-`)||t.startsWith(`cf-`)||t.startsWith(`x-forwarded-`)||(i[e]=n)}),i[`X-GoModel-Interaction-Parent`]=String(t||e&&e.id||``).trim(),String(n||``).trim()&&(i[`X-Request-ID`]=String(n).trim()),i}function $Je(e,t){let n=String(t||``).trim();return!n||!Array.isArray(e)?null:e.find(e=>String(e&&e.request_id||``).trim()===n)||null}function eYe(e,t,n,r,i){let a=Array.isArray(e)?e:[],o=String(i&&i.id||``).trim(),s=String(i&&i.request_id||``).trim(),c=String(i&&i.session_id||``).trim(),l=String(r||``).trim(),u=P7(i),d=a.some(e=>o&&String(e&&e.id||``).trim()===o||s&&String(e&&e.request_id||``).trim()===s),f=!!l&&s===l,p=!!n&&c===String(n).trim(),m=!!u&&(u===String(t||``).trim()||a.some(e=>String(e&&e.id||``).trim()===u)),h=d||f||!l&&(p||m);return{accepted:h,submittedChild:f,followUpRequestID:h&&f&&o?``:l}}function P7(e){let t=e&&e.data&&e.data.request_headers;if(!t||typeof t!=`object`)return``;let n=Object.keys(t).find(e=>e.toLowerCase()===`x-gomodel-interaction-parent`);return n?String(t[n]||``).trim():``}function tYe(e,t){return!Array.isArray(e)||!t?null:e.find(e=>String(e&&e.id||``)===String(t))||null}function F7(e){return!Array.isArray(e)||e.length===0?null:e.reduce((e,t)=>e?K7(t,e)>=0?t:e:t,null)}function nYe(e,t){let n=new Set(Array.isArray(t)?t.map(String):[]);return F7((Array.isArray(e)?e:[]).filter(e=>{let t=String(e&&e.id||``);return n.has(t)&&e&&e.data&&e.data.request_body!=null}))}function rYe(e,t){let n=F7(e);return!!n&&String(n.id||``)===String(t||``)}function iYe(e,t,n){return String(e||``).trim()===`audit.flushed`&&String(t||``).trim()!==``&&String(t||``).trim()===String(n||``).trim()}function I7(e,t){let n=Array.isArray(e)?e.filter(Boolean).map(String):[];return(Array.isArray(t)?t:[]).forEach(e=>{let t=String(e&&(e.id||e.request_id)||``).trim();t&&!n.includes(t)&&n.push(t)}),n}function aYe(e){if(e&&e.conversation_payload)return!0;let t=e&&e.data?e.data.request_body:null,n=e&&e.data?e.data.response_body:null,r=t&&(Array.isArray(t.messages)||t.input!==void 0||typeof t.instructions==`string`||typeof t.previous_response_id==`string`),i=n&&(Array.isArray(n.choices)||HJe(n.output));return!!(r||i)}function oYe(e){return!e||UJe(e.path)?!1:WJe(e.path)||aYe(e)}function L7(e){let t=0,n=!1,r=!1,i=String(e||``);for(let e=0;e0&&a+1`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function lYe(e){return!!(e&&typeof e==`object`&&e.__audio__===!0)}function uYe(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0 B`;let n=[`B`,`KB`,`MB`,`GB`],r=0,i=t;for(;i>=1024&&r`
    `+R7(t)+``+R7(fYe(e[t]))+`
    `);return t.length?``:``}function mYe(e){let t=dYe(e.content_type),n=R7(t+` · `+uYe(e.bytes)),r=pYe(e.meta);if(e.stored&&e.encoding===`base64`&&e.data){let i=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``);return`
    `+n+`
    `+r+`
    `}let i=e.too_large?Lfe():Bfe();return`
    `+n+`
    `+R7(i)+`
    `+r+`
    `}function z7(e){try{return JSON.stringify(String(e)).slice(1,-1)}catch{return``}}function hYe(e){if(!e||typeof e!=`object`)return null;let t=Number(e.characters||0);if(!Number.isFinite(t)||t<=0)return null;let n=Array.isArray(e.segments)?e.segments.map(e=>String(e||``)).filter(Boolean):[];return n.length===0?null:{remaining:Math.floor(t),segments:n,segmentIndex:0}}function B7(e,t){if(!t||t.remaining<=0||t.segmentIndex>=t.segments.length)return R7(e);let n=``,r=0,i=0;for(;t.remaining>0&&t.segmentIndex`+R7(l)+``,r=s+l.length,i=s+o.length,t.remaining-=c,c>=a.length){t.segmentIndex++;continue}break}return n?n+R7(e.slice(r)):R7(e)}function gYe(e,t,n){let r=n&&typeof n.formatJSON==`function`?n.formatJSON:e=>String(e),i=n&&typeof n.canShowConversation==`function`?n.canShowConversation:()=>!1,a=hYe(n&&n.promptCacheHighlight),o=r(t);if(!o||o===`Not captured`)return R7(o);if(!i(e))return o.split(` `).map(e=>B7(e,a)).join(` `);let s=o.split(` @@ -32,7 +32,7 @@ `):e.text||``}function SYe(e){return e?[String(e.text||``),Array.isArray(e.toolCalls)&&e.toolCalls.length>0?J7({role:`function_call`,toolCalls:e.toolCalls}):``].filter(Boolean).join(` `):``}function Y7(e){let t=e&&e.arguments!==void 0?e.arguments:``;if(typeof t!=`string`)try{return JSON.stringify(t,null,2)}catch{return String(t)}try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}var CYe=600*1e3,wYe=15*1e3,TYe=250,EYe=class{#e=j(!1);get conversationOpen(){return R(this.#e)}set conversationOpen(e){M(this.#e,e,!0)}#t=j(!1);get conversationLoading(){return R(this.#t)}set conversationLoading(e){M(this.#t,e,!0)}#n=j(``);get conversationError(){return R(this.#n)}set conversationError(e){M(this.#n,e,!0)}#r=j(``);get conversationAnchorID(){return R(this.#r)}set conversationAnchorID(e){M(this.#r,e,!0)}#i=j(N([]));get conversationEntryIDs(){return R(this.#i)}set conversationEntryIDs(e){M(this.#i,e,!0)}#a=j(``);get conversationSessionID(){return R(this.#a)}set conversationSessionID(e){M(this.#a,e,!0)}#o=j(!1);get conversationTruncated(){return R(this.#o)}set conversationTruncated(e){M(this.#o,e,!0)}#s=j(!1);get conversationFollowLatest(){return R(this.#s)}set conversationFollowLatest(e){M(this.#s,e,!0)}#c=j(``);get conversationOpenedFromID(){return R(this.#c)}set conversationOpenedFromID(e){M(this.#c,e,!0)}#l=j(N(O7));get conversationRequestStep(){return R(this.#l)}set conversationRequestStep(e){M(this.#l,e,!0)}#u=j(``);get followUpText(){return R(this.#u)}set followUpText(e){M(this.#u,e,!0)}#d=j(!1);get followUpSending(){return R(this.#d)}set followUpSending(e){M(this.#d,e,!0)}#f=j(``);get followUpError(){return R(this.#f)}set followUpError(e){M(this.#f,e,!0)}followUpRequestID=``;followUpAbort=null;conversationRequestToken=0;conversationReturnFocusEl=null;bodyPointerStart=null;revisionDetailRequested=new Set;#p=j(null);get conversationDialogEl(){return R(this.#p)}set conversationDialogEl(e){M(this.#p,e,!0)}#m=j(null);get conversationCloseBtnEl(){return R(this.#m)}set conversationCloseBtnEl(e){M(this.#m,e,!0)}#h=j(null);get conversationThreadEl(){return R(this.#h)}set conversationThreadEl(e){M(this.#h,e,!0)}get conversationEntries(){return(this.conversationEntryIDs||[]).map(e=>Z4.auditRecord(e)).filter(Boolean)}#g=A(()=>q7(this.conversationEntries,this.conversationAnchorID,{anchorRequestStep:this.conversationRequestStep}));get conversationView(){return R(this.#g)}set conversationView(e){M(this.#g,e)}get conversationMessages(){return this.conversationView.messages}get conversationBranchEntryIDs(){return this.conversationView.entryIDs}_setConversationEntryIDs(e){this.conversationEntryIDs=[...new Set((Array.isArray(e)?e:[]).filter(Boolean))],Z4.pinAuditRecords(this.conversationEntryIDs)}canShowConversation(e){return oYe(e)}startBodyInteraction(e){this.bodyPointerStart={x:e.clientX,y:e.clientY}}_isBodyDrag(e){if(!this.bodyPointerStart)return!1;let t=Math.abs(e.clientX-this.bodyPointerStart.x),n=Math.abs(e.clientY-this.bodyPointerStart.y);return t>4||n>4}_hasActiveSelection(){let e=window.getSelection?window.getSelection():null;return!e||e.isCollapsed?!1:String(e.toString()||``).trim().length>0}handleBodyConversationClick(e,t,n){let r=this._isBodyDrag(e);if(this.bodyPointerStart=null,r||this._hasActiveSelection()||!this.canShowConversation(t))return;let i=e.target&&e.target.closest?e.target.closest(`[data-conversation-trigger="1"]`):null;i&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,i,n))}handleErrorConversationClick(e,t){let n=this._isBodyDrag(e);this.bodyPointerStart=null,!n&&(this._hasActiveSelection()||this.canShowConversation(t)&&(e.preventDefault(),e.stopPropagation(),this.openConversation(t,e.currentTarget)))}formatJSON(e){return HX(e)}renderBodyWithConversationHighlights(e,t,n){return gYe(e,t,{formatJSON:e=>this.formatJSON(e),canShowConversation:e=>this.canShowConversation(e),promptCacheHighlight:n&&n.promptCacheHighlight})}async openConversation(e,t,n){if(!e||!e.id||!this.canShowConversation(e))return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null;t instanceof HTMLElement?this.conversationReturnFocusEl=t:r&&r!==document.body&&(this.conversationReturnFocusEl=r);let i=++this.conversationRequestToken;if(this.conversationOpen=!0,this.conversationError=``,this.conversationAnchorID=e.id,this.conversationOpenedFromID=e.id,this.conversationSessionID=String(e.session_id||``).trim(),this._setConversationEntryIDs([]),this.conversationTruncated=!1,this.conversationFollowLatest=!1,this.conversationRequestStep=qJe(e,n),this.revisionDetailRequested=new Set,this.followUpText=``,this.followUpError=``,this.followUpRequestID=``,requestAnimationFrame(()=>this._focusConversationDrawer()),this._conversationEntryLivePending(e)){this.conversationFollowLatest=!0,this.conversationLoading=!1,this._addConversationRecord(Z4.upsertAuditRecord(e,`conversation.live`));return}this.conversationLoading=!0,await this.fetchConversation(e.id,i,!0,!0)}_conversationEntryLivePending(e){return typeof Z4.auditEntryLiveDetailPending==`function`&&Z4.auditEntryLiveDetailPending(e)}_applyConversationView(){let e=this.conversationEntries,t=q7(e,this.conversationAnchorID);if(this.conversationFollowLatest){let n=nYe(e,t.entryIDs);n&&n.id&&String(n.id)!==this.conversationAnchorID&&this._setConversationAnchor(String(n.id))}this._ensureAnchorRevisionBodies()}_setConversationAnchor(e){let t=String(e||``);t!==this.conversationAnchorID&&(this.conversationAnchorID=t,this.conversationRequestStep=O7)}conversationRequestSteps(){return A7(this.selectedConversationEntry())}selectRequestStep(e){this.conversationRequestStep=String(e||`final`),this._ensureAnchorRevisionBodies()}async _ensureAnchorRevisionBodies(){let e=this.selectedConversationEntry(),t=String(e&&e.id||``).trim();if(!t||e._detail_loaded||!A7(e).some(e=>e.seq>0&&!e.hasBody))return;let n=this.revisionDetailRequested;if(!n.has(t)){n.add(t);try{let e=await TX(`/admin/audit/detail?log_id=`+encodeURIComponent(t),{label:`audit detail`});if(!e.ok||e.stale||!e.data){n.delete(t);return}Z4.upsertAuditRecord({...e.data,_detail_loaded:!0},`audit.detail`)}catch(e){n.delete(t),console.error(`Failed to fetch audit detail for request steps:`,e)}}}handleAuditRecordChange(e,t){if(!this.conversationOpen||!e)return;let n=String(e.id||``).trim(),r=eYe(this.conversationEntries,this.conversationAnchorID,this.conversationSessionID,this.followUpRequestID,e);if(r.accepted&&(this.followUpRequestID=r.followUpRequestID,n&&r.submittedChild&&(this._setConversationAnchor(n),this.conversationFollowLatest=!0),this._addConversationRecord(e),iYe(String(t||e._live_state||``).trim(),n,this.conversationAnchorID))){this.conversationMessages.length===0&&(this.conversationLoading=!0);let e=++this.conversationRequestToken;this.fetchConversation(n,e,!1)}}_addConversationRecord(e){let t=q4(e);t&&!this.conversationEntryIDs.includes(t)&&this._setConversationEntryIDs([...this.conversationEntryIDs,t]),!this.conversationSessionID&&e.session_id&&(this.conversationSessionID=String(e.session_id).trim()),this._applyConversationView(),this.conversationFollowLatest&&this._scheduleLatestScroll()}conversationLiveWaiting(){if(!this.conversationOpen)return!1;let e=new Set(this.conversationBranchEntryIDs||[]);return(this.conversationEntries||[]).some(t=>e.has(String(t&&t.id||``))&&t._live&&(typeof Z4.liveAuditStateSettled!=`function`||!Z4.liveAuditStateSettled(t._live_state)))}conversationLiveStatusText(){return(this.conversationMessages||[]).length>0?nme():ds()}closeConversation(){this.followUpAbort&&this.followUpAbort.abort(),this.conversationOpen=!1,this.conversationRequestToken++,this.conversationSessionID=``,this._setConversationEntryIDs([]),this.conversationFollowLatest=!1,this.conversationOpenedFromID=``,this.followUpRequestID=``,this.followUpSending=!1;let e=this.conversationReturnFocusEl;this.conversationReturnFocusEl=null,e&&typeof e.focus==`function`&&document.contains(e)&&requestAnimationFrame(()=>e.focus())}_focusConversationDrawer(){if(!this.conversationOpen)return;let e=this.conversationCloseBtnEl;if(e&&typeof e.focus==`function`){e.focus();return}let t=this.conversationDialogEl;t&&typeof t.focus==`function`&&t.focus()}async fetchConversation(e,t,n=!0,r=!1){try{let i=await TX(`/admin/audit/conversation?`+(`log_id=`+encodeURIComponent(e)+`&limit=120`),{label:`audit conversation`});if(t!==this.conversationRequestToken||i.stale)return;if(!i.ok){this.conversationError=ame();return}let a=i.data||{},o=a.anchor_id||e,s=Array.isArray(a.entries)?a.entries:[],c=Z4.upsertAuditRecords(s,`conversation.hydrated`),l=I7(this.conversationEntryIDs,c);l.length>this.conversationEntryIDs.length&&this._setConversationEntryIDs(l),r&&(this.conversationFollowLatest=rYe(c,o)),this._setConversationAnchor(o);let u=this.conversationEntries.find(e=>e.id===this.conversationAnchorID);u&&u.session_id&&(this.conversationSessionID=String(u.session_id).trim()),this.conversationTruncated=!!a.truncated,this._applyConversationView(),this.conversationFollowLatest?this._scheduleLatestScroll():n&&this._scheduleAnchorScroll()}catch(e){if(t!==this.conversationRequestToken)return;console.error(`Failed to fetch audit conversation:`,e),this.conversationError=cme()}finally{t===this.conversationRequestToken&&(this.conversationLoading=!1)}}selectedConversationEntry(){return tYe(this.conversationEntries,this.conversationAnchorID)}followUpKind(){let e=this.selectedConversationEntry();return YJe(e)?D7(e.path):``}canSendFollowUp(){return!!this.followUpKind()&&!!String(this.followUpText||``).trim()&&!this.followUpSending&&!this.conversationLiveWaiting()}async sendFollowUp(){if(!this.canSendFollowUp())return;let e=this.selectedConversationEntry(),t=XJe(e,this.followUpText);if(!e||!t)return;let n=this.conversationAnchorID,r=OYe(),i=new AbortController,a=!1,o=setTimeout(()=>{a=!0,i.abort()},CYe);this.followUpSending=!0,this.followUpError=``,this.followUpRequestID=r,this.followUpAbort=i;let s=X.generation;try{let a=QJe(e,n,r),o=await CX(e.path,{method:`POST`,headers:a,body:JSON.stringify(t),signal:i.signal}),c=String(o.headers.get(`X-Request-ID`)||``).trim();if(c&&this.followUpRequestID&&(this.followUpRequestID=c),!o.ok){let e=null;try{e=await o.json()}catch{}o.status===401&&xX(e)&&X.handleUnauthorized(s),this.followUpError=e&&e.error&&e.error.message||dme(),(this.followUpRequestID===r||this.followUpRequestID===c)&&(this.followUpRequestID=``);return}if(this.followUpText=``,await DYe(o),!Z4.liveLogsStreaming&&this.conversationOpen){let e=++this.conversationRequestToken;await this._selectPersistedFollowUp(n,this.followUpRequestID,e,i.signal)}}catch(e){DX(e)||i.signal.aborted?a&&this.conversationOpen&&(this.followUpError=mme()):(console.error(`Failed to send interaction follow-up:`,e),this.followUpError=_me())}finally{clearTimeout(o),this.followUpAbort===i&&(this.followUpAbort=null,this.followUpSending=!1)}}async _selectPersistedFollowUp(e,t,n,r){let i=Date.now()+wYe;for(;this.conversationOpen&&n===this.conversationRequestToken&&Date.now(){let e=this.conversationThreadEl;if(!e)return;let t=e.querySelectorAll(`[data-conversation-anchor="true"]`),n=t[t.length-1];n&&typeof n.scrollIntoView==`function`&&n.scrollIntoView({block:`center`})})}_scheduleLatestScroll(){requestAnimationFrame(()=>{let e=this.conversationThreadEl;if(!e)return;let t=e.lastElementChild;t&&typeof t.scrollIntoView==`function`&&t.scrollIntoView({block:`end`})})}};async function DYe(e){let t=e&&e.body&&typeof e.body.getReader==`function`?e.body.getReader():null;if(!t){await e.text();return}for(;!(await t.read()).done;);}function OYe(){return globalThis.crypto&&typeof globalThis.crypto.randomUUID==`function`?globalThis.crypto.randomUUID():`dashboard-`+Date.now().toString(36)+`-`+Math.random().toString(36).slice(2)}function kYe(e,t){return new Promise((n,r)=>{let i,a=()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))};if(i=setTimeout(()=>{t&&t.removeEventListener(`abort`,a),n()},e),t){if(t.aborted){a();return}t.addEventListener(`abort`,a,{once:!0})}})}var X7=new EYe,Z7=0;pn(()=>{dn(()=>{let e=Oze(Z4.auditRecordChanges,Z7);e.length!==0&&(Z7=Number(e[e.length-1].version||0),nr(()=>{e.forEach(e=>{if(!kze(e))return;let t=Z4.auditRecord(e.key);X7.handleAuditRecordChange(t,e.eventType)})}))})});var AYe=B(``),jYe=B(``),MYe=B(` `),NYe=B(` `),PYe=B(``),FYe=B(`
    `);function IYe(e,t){O(t,!0);let n=q(t,`thread`,3,null),r=q(t,`expanded`,3,!1),i=q(t,`onactivate`,3,null),a=q(t,`onusage`,3,null),o=q(t,`hidePath`,3,!1),s=A(()=>yX.formatTimestamp(t.entry.timestamp)),c=A(()=>R(s)===`-`?R(s):R(s).slice(R(s).lastIndexOf(` `)+1)),l=A(()=>X7.conversationOpen&&String(X7.conversationAnchorID||``)===String(t.entry.id||``));function u(e){e.preventDefault(),i()&&i()()}function d(e){e.stopPropagation(),e.preventDefault(),n().ontoggle()}function f(e){e.stopPropagation(),e.preventDefault(),a()?.()}function p(){return Bue({count:Number(n().count||1)})}function m(e){if(e.stopPropagation(),e.preventDefault(),R(l)){X7.closeConversation();return}X7.openConversation(t.entry,e.currentTarget)}var h=FYe();let g;var _=P(h),v=P(_),y=e=>{var t=AYe(),r=P(t);{let e=A(()=>n().expanded?EY:DY);J(r,{get icon(){return R(e)},class:`audit-thread-expander-svg`})}var i=I(r,2),a=P(i,!0);D(i),D(t),L((e,r)=>{K(t,`aria-expanded`,n().expanded),K(t,`title`,e),K(t,`aria-label`,r),H(a,n().count)},[()=>p(),()=>p()+`, `+(n().expanded?ele():Zce())]),z(`click`,t,d),V(e,t)};U(v,e=>{n()&&e(y)});var b=I(v,2),x=e=>{var t=jYe();J(P(t),{get icon(){return Nke},class:`audit-session-usage-svg`}),D(t),L((e,n)=>{K(t,`title`,e),K(t,`aria-label`,n)},[()=>ls(),()=>ls()]),z(`click`,t,f),V(e,t)};U(b,e=>{a()&&e(x)});var S=I(b,2),C=P(S),w=P(C,!0);D(C);var T=I(C,2),ee=P(T,!0);D(T),D(S);var E=I(S,2),te=e=>{var n=MYe(),r=P(n,!0);D(n),L(e=>H(r,e),[()=>rje(t.entry)]),V(e,n)};U(E,e=>{(t.entry.requested_model||t.entry.model)&&e(te)});var ne=I(E,2),re=e=>{var n=NYe(),r=P(n,!0);D(n),L(()=>H(r,t.entry.path||`-`)),V(e,n)};U(ne,e=>{o()||e(re)}),D(_);var ie=I(_,2),ae=P(ie);jJe(ae,{get entry(){return t.entry}});var oe=I(ae,2),se=P(oe),ce=P(se,!0);D(se);var le=I(se,2),ue=P(le,!0);D(le),D(oe);var de=I(oe,2),fe=P(de,!0);D(de);var pe=I(de,2),me=e=>{var t=PYe();let n;var r=P(t);{let e=A(()=>R(l)?Pke:DY);J(r,{get icon(){return R(e)},class:`audit-conversation-trigger-svg`})}D(t),L((e,r)=>{n=G(t,1,`audit-conversation-trigger svelte-17mysgz`,null,n,{"audit-conversation-trigger-active":R(l)}),K(t,`title`,e),K(t,`aria-label`,r),K(t,`aria-pressed`,R(l))},[()=>R(l)?cs():ss(),()=>R(l)?cs():ss()]),z(`click`,t,m),V(e,t)},he=A(()=>X7.canShowConversation(t.entry));U(pe,e=>{R(he)&&e(me)}),D(ie),D(h),L((e,n,i,a,o)=>{g=G(h,1,`audit-entry-summary svelte-17mysgz`,null,g,e),K(h,`aria-expanded`,r()),G(S,1,`audit-status-badge audit-request-badge ${n??``}`,`svelte-17mysgz`),K(S,`title`,i),K(S,`aria-label`,(t.entry.status_code||`-`)+` `+(t.entry.method||`-`)),H(w,t.entry.status_code||`-`),H(ee,t.entry.method||`-`),K(oe,`title`,a),K(oe,`aria-label`,R(s)),H(ce,R(s)),H(ue,R(c)),H(fe,o)},[()=>({"audit-entry-summary-live-in-progress":s7(t.entry),"audit-entry-summary-has-interactions":X7.canShowConversation(t.entry)}),()=>o7(t.entry.status_code),()=>Uue({status:t.entry.status_code||`-`,method:t.entry.method||`-`}),()=>XX(t.entry.timestamp),()=>qqe(t.entry.duration_ns)]),z(`click`,h,u),V(e,h),k()}vr([`click`]);var LYe=B(`
     
    `),RYe=B(`
     
    `),zYe=B(` `),BYe=B(` `),VYe=B(`
    `),HYe=B(`

    `),UYe=B(`

    `),WYe=B(`

    `),GYe=B(`
    `);function KYe(e,t){O(t,!0);let n=C3({logPrefix:`Failed to copy audit payload:`}),r=C3({logPrefix:`Failed to copy audit payload:`}),i=A(()=>t.pane&&t.pane.showHeaders?HX(t.pane.headers):``),a=A(()=>!t.pane||!t.pane.showBody?``:lYe(t.pane.body)?mYe(t.pane.body):X7.renderBodyWithConversationHighlights(t.pane.entry,t.pane.body,{promptCacheHighlight:t.pane.promptCacheHighlight})),o=A(()=>!!(t.pane&&X7.canShowConversation(t.pane.entry)));function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),X7.handleErrorConversationClick(e,t.pane.entry))}var c=GYe();let l;var u=P(c),d=e=>{var n=LYe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2);let c;var l=P(a,!0);D(a),D(n),L(e=>{H(i,e),c=G(a,1,`audit-json audit-pane-error-message svelte-1h5puht`,null,c,{"audit-pane-clickable-preview":R(o)}),K(a,`role`,R(o)?`button`:null),K(a,`tabindex`,R(o)?0:null),H(l,t.pane.errorMessage)},[()=>sde()]),z(`mousedown`,a,e=>X7.startBodyInteraction(e)),z(`keydown`,a,s),z(`click`,a,e=>X7.handleErrorConversationClick(e,t.pane.entry)),V(e,n)};U(u,e=>{t.pane.showErrorMessage&&e(d)});var f=I(u,2),p=e=>{var n=RYe(),a=P(n),o=P(a),s=P(o,!0);D(o);var c=I(o,2);{let e=A(()=>pde()),n=A(()=>as());$8(c,{get state(){return r},get label(){return R(e)},get errorLabel(){return R(n)},class:`audit-copy-btn`,onclick:()=>r.copy(t.pane.copyHeaders,HX)})}D(a);var l=I(a,2),u=P(l,!0);D(l),D(n),L(e=>{H(s,e),H(u,R(i))},[()=>t.pane.headersTitle||ude()]),V(e,n)};U(f,e=>{t.pane.showHeaders&&e(p)});var m=I(f,2),h=e=>{var r=VYe(),i=P(r),o=P(i),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=e=>{var n=zYe(),r=P(n,!0);D(n),L(()=>H(r,t.pane.bodyCacheRatioLabel)),V(e,n)};U(l,e=>{t.pane.bodyCacheRatioLabel&&e(u)});var d=I(l,2),f=e=>{var t=BYe(),n=I(P(t),2),r=P(n,!0);D(n),D(t),L(e=>H(r,e),[()=>yde()]),V(e,t)};U(d,e=>{t.pane.streaming&&e(f)}),D(o);var p=I(o,2);{let e=A(()=>Sde()),r=A(()=>as());$8(p,{get state(){return n},get label(){return R(e)},get errorLabel(){return R(r)},class:`audit-copy-btn`,onclick:()=>n.copy(t.pane.copyBody,HX)})}D(i);var m=I(i,2);zr(m,()=>R(a),!0),D(m),D(r),L(e=>H(c,e),[()=>gde()]),z(`mousedown`,m,e=>X7.startBodyInteraction(e)),z(`click`,m,e=>X7.handleBodyConversationClick(e,t.pane.entry,t.pane.requestStep)),V(e,r)};U(m,e=>{t.pane.showBody&&e(h)});var g=I(m,2),_=e=>{var n=HYe(),r=P(n,!0);D(n),L(()=>H(r,t.pane.emptyMessage)),V(e,n)};U(g,e=>{t.pane.showEmpty&&e(_)});var v=I(g,2),y=e=>{var n=UYe(),r=I(P(n),2),i=P(r,!0);D(r),D(n),L(()=>H(i,t.pane.pendingMessage)),V(e,n)};U(v,e=>{t.pane.showPending&&e(y)});var b=I(v,2),x=e=>{var n=WYe(),r=P(n,!0);D(n),L(()=>H(r,t.pane.tooLargeMessage)),V(e,n)};U(b,e=>{t.pane.showTooLarge&&e(x)}),D(c),L(()=>l=G(c,1,`audit-pane svelte-1h5puht`,null,l,{"audit-pane-split":t.pane&&t.pane.layout===`split`,"audit-pane-split-single":t.pane&&t.pane.layout===`split`&&!(t.pane.showHeaders&&t.pane.showBody)})),V(e,c),k()}vr([`mousedown`,`keydown`,`click`]);var qYe=B(` `),Q7=B(` `),JYe=B(` `),YYe=B(` `),XYe=B(``),ZYe=B(`
    `),QYe=B(`
    `);function $Ye(e,t){O(t,!0);let n=q(t,`panes`,19,()=>[]),r=j(null),i=A(()=>_Je(R(r),t.entry,n())),a=e=>`audit-tab-`+t.entry.id+`-`+e,o=e=>`audit-tabpanel-`+t.entry.id+`-`+e;function s(e,t){let i=n().map(e=>e.id),a=vJe(e.key,i,t);if(a==null)return;e.preventDefault();let o=(e.currentTarget?.closest?.(`.audit-pane-tablist`))?.querySelectorAll(`.audit-pane-tab`)[i.indexOf(a)];o?.focus?.(),o?.scrollIntoView?.({block:`nearest`,inline:`nearest`}),M(r,a,!0)}var c=QYe(),l=P(c);W(l,21,n,e=>e.id,(e,t)=>{var n=XYe();let c;var l=P(n),u=P(l),d=e=>{J(e,{get icon(){return Tke}})},f=e=>{J(e,{get icon(){return wke}})};U(u,e=>{R(t).pane.direction===`request`?e(d):R(t).pane.direction===`response`&&e(f,1)}),D(l);var p=I(l,2),m=P(p,!0);D(p);var h=I(p,2),g=e=>{var n=qYe(),r=P(n);D(n),L(()=>H(r,`#${R(t).pane.seq??``}`)),V(e,n)};U(h,e=>{R(t).pane.seq&&e(g)});var _=I(h,2),v=e=>{var n=Q7(),r=P(n,!0);D(n),L(()=>{G(n,1,`provider-badge audit-pane-kind audit-pane-kind-${R(t).pane.kind??``}`,`svelte-1bc5vi5`),H(r,R(t).pane.kind)}),V(e,n)};U(_,e=>{R(t).pane.kind&&e(v)});var y=I(_,2);W(y,17,()=>R(t).pane.noChangeSteps||[],e=>e.id,(e,t)=>{var n=JYe(),r=P(n,!0);D(n),L(()=>{K(n,`title`,R(t).title),H(r,R(t).label)}),V(e,n)});var b=I(y,2),x=e=>{var n=YYe(),r=P(n,!0);D(n),L(e=>{K(n,`title`,e),H(r,R(t).pane.savingsLabel)},[()=>Ode()]),V(e,n)};U(b,e=>{R(t).pane.savingsLabel&&e(x)});var S=I(b,2),C=e=>{var n=Q7(),r=P(n,!0);D(n),L(e=>{G(n,1,`audit-status-badge ${e??``}`,`svelte-1bc5vi5`),H(r,R(t).pane.statusCode)},[()=>o7(R(t).pane.statusCode)]),V(e,n)};U(S,e=>{R(t).pane.statusCode&&e(C)}),D(n),L((e,r)=>{c=G(n,1,`audit-pane-tab svelte-1bc5vi5`,null,c,{"audit-pane-tab-active":R(i)===R(t).id}),K(n,`aria-selected`,R(i)===R(t).id),K(n,`id`,e),K(n,`aria-controls`,r),K(n,`tabindex`,R(i)===R(t).id?0:-1),G(l,1,ai([`audit-pane-icon`,R(t).pane.direction&&`audit-pane-icon-${R(t).pane.direction}`]),`svelte-1bc5vi5`),H(m,R(t).pane.title)},[()=>a(R(t).id),()=>o(R(t).id)]),z(`keydown`,n,e=>s(e,R(t).id)),z(`click`,n,()=>M(r,R(t).id,!0)),V(e,n)}),D(l),W(I(l,2),17,n,e=>e.id,(e,t)=>{var n=ZYe();let r;KYe(P(n),{get pane(){return R(t).pane}}),D(n),L((e,a)=>{K(n,`id`,e),K(n,`aria-labelledby`,a),r=ui(n,``,r,{display:R(i)===R(t).id?null:`none`})},[()=>o(R(t).id),()=>a(R(t).id)]),V(e,n)}),D(c),L(e=>K(l,`aria-label`,e),[()=>Tde()]),V(e,c),k()}vr([`keydown`,`click`]);var eXe=B(`
    `),tXe=B(`
    `);function $7(e,t){O(t,!0);let n=q(t,`thread`,3,null),r=q(t,`hidePath`,3,!1),i=A(()=>_7.isAuditEntryExpanded(t.entry)),a=A(()=>X7.conversationOpen&&String(X7.conversationAnchorID||``)===String(t.entry.id||``)),o=A(()=>R(i)?h7(t.entry,BJe):[]),s=A(()=>R(i)?tqe(t.entry,W5.auditEntryWorkflow(t.entry),W5.workflowFeatureCaps()):null);function c(){_7.toggleAuditEntryExpanded(t.entry)}var l=tXe();let u;var d=P(l);{let e=A(()=>t.entry.session_id?()=>Z.filterBySession(t.entry.session_id,t.entry.user_path):null);IYe(d,{get entry(){return t.entry},get thread(){return n()},get expanded(){return R(i)},get hidePath(){return r()},onactivate:c,get onusage(){return R(e)}})}var f=I(d,2),p=e=>{var n=eXe(),r=P(n),i=e=>{D5(e,{get chart(){return R(s)}})};U(r,e=>{R(s)&&e(i)});var a=I(r,2);$Ye(a,{get entry(){return t.entry},get panes(){return R(o)}}),OJe(I(a,2),{get entry(){return t.entry}}),D(n),$r(3,n,()=>LX,()=>({y:-6,duration:t5(150)})),V(e,n)};U(f,e=>{R(i)&&e(p)}),D(l),L(()=>u=G(l,1,`audit-entry svelte-cmjgwr`,null,u,{"audit-entry-interactions-open":R(a)})),V(e,l),k()}var nXe=B(`
    `),rXe=B(`
    `),iXe=B(`

    `),aXe=B(`
    `),oXe=B(`
    `);function sXe(e,t){O(t,!0);let n=A(()=>Q5(t.entry)),r=A(()=>_7.isThreadExpanded(R(n))),i=A(()=>_7.threadChildren(R(n))),a=A(()=>R(i)&&!R(i).loading&&Number(R(i).total||0)>R(i).entries.length+1);var o=Tr(),s=F(o),c=e=>{$7(e,{get entry(){return t.entry}})},l=A(()=>!zqe(t.entry)),u=e=>{var n=oXe(),o=P(n);{let e=A(()=>({count:$5(t.entry),expanded:R(r),ontoggle:()=>_7.toggleThread(t.entry)}));$7(o,{get entry(){return t.entry},get thread(){return R(e)}})}var s=I(o,2),c=e=>{var n=aXe(),r=P(n),o=e=>{var t=nXe(),n=P(t);{let e=A(()=>Xue());Y2(n,{size:14,get label(){return R(e)}})}D(t),V(e,t)};U(r,e=>{R(i)&&R(i).loading&&e(o)});var s=I(r,2);W(s,17,()=>R(i)&&R(i).entries||[],e=>e.id,(e,n)=>{var r=rXe(),i=P(r);{let e=A(()=>R(n).path===t.entry.path);$7(i,{get entry(){return R(n)},get hidePath(){return R(e)}})}D(r),V(e,r)});var c=I(s,2),l=e=>{var t=iXe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>$ue({shown:R(i).entries.length+1,total:R(i).total})]),V(e,t)};U(c,e=>{R(a)&&e(l)}),D(n),$r(3,n,()=>RX,()=>({duration:t5(150)})),V(e,n)};U(s,e=>{R(r)&&e(c)}),D(n),V(e,n)};U(s,e=>{R(l)?e(c):e(u,-1)}),V(e,o),k()}var cXe=B(`

    .

    `),lXe=B(`
    LOGGING_ENABLED=true
    `),uXe=B(`

    `),dXe=B(`
    `),fXe=B(`
    `),pXe=B(`
    `),mXe=B(`
    `);function hXe(e,t){O(t,!0);let n=A(()=>OX.config&&OX.config.LOGGING_RETENTION_DAYS);dn(()=>{if(X.refreshTick,eX.page===`audit-logs`)return nr(()=>r())});function r(){let e=!1;return(async()=>{try{await OX.ensureLoaded()}finally{await _7.fetchAuditLog(!0),!e&&OX.liveLogsVisible()&&Z4.ensureLiveLogs()}})(),()=>{e=!0,Z4.stopLiveLogs()}}var i=mXe(),a=P(i),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=e=>{{let t=e=>{var t=cXe(),r=P(t,!0),i=I(r),a=P(i,!0);D(i),Ve(),D(t),L((e,t)=>{H(r,e),H(a,t)},[()=>X5(R(n)),()=>Z5(R(n))]),V(e,t)},r=A(()=>ple()),i=A(()=>gle());V4(e,{copyId:`audit-retention-help-copy`,get label(){return R(r)},get text(){return R(i)},title:t,$$slots:{title:!0}})}},d=A(()=>Iqe(R(n)));U(l,e=>{R(d)&&e(u)}),D(o),D(a);var f=I(a,2);hZ(P(f),{onchange:()=>_7.fetchAuditLog(!0)}),D(f);var p=I(f,2);uZ(p,{});var m=I(p,2),h=e=>{var t=lXe(),n=P(t,!0),r=I(n,2,!0);D(t),L((e,t)=>{H(n,e),H(r,t)},[()=>jle(),()=>Ple()]),V(e,t)},g=A(()=>OX.loaded&&!OX.auditVisible()&&!X.needsAuth);U(m,e=>{R(g)&&e(h)});var _=I(m,2),v=P(_);xJe(v,{});var y=I(v,2),b=P(y),x=P(b),S=e=>{var t=uXe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>_7.auditGroupSessions?Lle({start:_7.auditLog.offset+1,end:Math.min(_7.auditLog.offset+_7.auditLog.limit,_7.auditLog.total),total:_7.auditLog.total}):Ble({start:_7.auditLog.offset+1,end:Math.min(_7.auditLog.offset+_7.auditLog.limit,_7.auditLog.total),total:_7.auditLog.total})]),V(e,t)};U(x,e=>{_7.auditLog.total>0&&e(S)});var C=I(x,2),w=P(C);bi(w);var T=I(w,2),ee=P(T,!0);D(T),D(C),D(b),wJe(I(b,2),{}),D(y);var E=I(y,2),te=e=>{{let t=A(()=>Kle());H4(e,{get label(){return R(t)}})}},ne=e=>{var t=fXe();W(t,29,()=>_7.auditLog.entries,e=>e.id,(e,t)=>{var n=dXe(),r=P(n),i=e=>{sXe(e,{get entry(){return R(t)}})},a=e=>{$7(e,{get entry(){return R(t)}})};U(r,e=>{_7.auditGroupSessions?e(i):e(a,-1)}),D(n),Qr(n,()=>kqe,()=>({duration:t5(150)})),$r(1,n,()=>JGe,()=>({live:R(t)._live})),V(e,n)}),D(t),V(e,t)};U(E,e=>{_7.loading&&_7.auditLog.entries.length===0?e(te):_7.auditLog.entries.length>0&&e(ne,1)});var re=I(E,2),ie=e=>{var t=pXe();R4(P(t),{}),D(t),V(e,t)};U(re,e=>{_7.auditLog.entries.length===0&&!_7.loading&&!X.needsAuth&&e(ie)}),S3(I(re,2),{get total(){return _7.auditLog.total},get offset(){return _7.auditLog.offset},get limit(){return _7.auditLog.limit},onprev:()=>_7.auditLogPrevPage(),onnext:()=>_7.auditLogNextPage()}),D(_),D(i),L((e,t)=>{H(c,e),Si(w,_7.auditGroupSessions),H(ee,t)},[()=>ule(),()=>Ule()]),z(`change`,w,()=>_7.toggleAuditGroupSessions()),V(e,i),k()}vr([`change`]);function e9(e){try{let t=JSON.parse(JSON.stringify(e||{}));return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}catch{return{}}}function t9(e){return Array.isArray(e)?e.map(e=>String(e||``).trim()).filter(e=>e):e==null?[]:String(e).split(`,`).map(e=>e.trim()).filter(e=>e)}function n9(e,t){let n=String(t||``).trim();return(e||[]).find(e=>String(e&&e.type||``).trim()===n)||null}function r9(e){return Array.isArray(e)&&e.length>0&&String(e[0].type||``).trim()||`system_prompt`}function i9(e,t){let n=String(t||``).trim();return n&&n9(e,n)?n:r9(e)}function a9(e,t){let n=n9(e,t);return!n||!n.defaults?{}:e9(n.defaults)}function o9(e,t,n){return{...a9(e,n),...e9(t)}}function s9(e,t){let n=i9(e,t);return{name:``,type:n,description:``,user_path:``,config:a9(e,n)}}function gXe(e,t){if(!t)return e||[];let n=String(t).toLowerCase();return(e||[]).filter(e=>[e.name,e.type,e.user_path,e.description,e.summary].some(e=>String(e||``).toLowerCase().includes(n)))}function _Xe(e,t){let n=n9(e,t);return n&&n.label?n.label:t||Yve()}function vXe(e,t){let n=n9(e,t);return Array.isArray(n&&n.fields)?n.fields:[]}function c9(e,t){if(!t||!e)return t&&t.input===`checkboxes`?[]:``;let n=e[t.key];return n==null?t.input===`checkboxes`?[]:``:t.input===`checkboxes`?t9(n):n}function l9(e,t,n){if(!t)return e;let r=e9(e);if(t.input===`number`){let e=String(n||``).trim();if(e===``)delete r[t.key];else{let n=Number(e);r[t.key]=Number.isFinite(n)?n:e}}else t.input===`checkboxes`?r[t.key]=t9(n):r[t.key]=n;return r}function yXe(e,t,n){return c9(e,t).includes(String(n||``).trim())}function bXe(e,t,n,r){let i=t9(c9(e,t)),a=String(n||``).trim();return a?l9(e,t,r?Array.from(new Set([...i,a])):i.filter(e=>e!==a)):e}function xXe(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),description:String(e&&e.description||``).trim()||void 0,user_path:String(e&&e.user_path||``).trim()||void 0,config:e9(e&&e.config)}}var u9=new class{#e=j(N([]));get guardrails(){return R(this.#e)}set guardrails(e){M(this.#e,e,!0)}#t=j(N([]));get types(){return R(this.#t)}set types(e){M(this.#t,e,!0)}#n=j(!0);get available(){return R(this.#n)}set available(e){M(this.#n,e,!0)}#r=j(!1);get loading(){return R(this.#r)}set loading(e){M(this.#r,e,!0)}#i=j(!1);get typesLoading(){return R(this.#i)}set typesLoading(e){M(this.#i,e,!0)}#a=j(``);get error(){return R(this.#a)}set error(e){M(this.#a,e,!0)}#o=j(``);get filter(){return R(this.#o)}set filter(e){M(this.#o,e,!0)}#s=j(!1);get formOpen(){return R(this.#s)}set formOpen(e){M(this.#s,e,!0)}#c=j(!1);get formSubmitting(){return R(this.#c)}set formSubmitting(e){M(this.#c,e,!0)}#l=j(``);get deletingName(){return R(this.#l)}set deletingName(e){M(this.#l,e,!0)}#u=j(`create`);get formMode(){return R(this.#u)}set formMode(e){M(this.#u,e,!0)}#d=j(``);get formOriginalName(){return R(this.#d)}set formOriginalName(e){M(this.#d,e,!0)}#f=j(N({name:``,type:``,description:``,user_path:``,config:{}}));get form(){return R(this.#f)}set form(e){M(this.#f,e,!0)}get filtered(){return gXe(this.guardrails,this.filter)}typeLabel(e){return _Xe(this.types,e)}typeFields(e){return vXe(this.types,e)}fieldValue(e){return c9(this.form&&this.form.config,e)}setFieldValue(e,t){this.form={...this.form,config:l9(this.form.config,e,t)}}arrayFieldSelected(e,t){return yXe(this.form&&this.form.config,e,t)}toggleArrayFieldValue(e,t,n){this.form={...this.form,config:bXe(this.form.config,e,t,n)}}openCreate(){this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=s9(this.types,r9(this.types)),this.formOpen=!0}openEdit(e){let t=i9(this.types,e&&e.type);this.formMode=`edit`,this.formOriginalName=String(e&&e.name||``).trim(),this.error=``,this.form={name:this.formOriginalName,type:t,description:String(e&&e.description||``).trim(),user_path:String(e&&e.user_path||``).trim(),config:o9(this.types,e&&e.config,t)},this.formOpen=!0}closeForm(){this.formOpen=!1,this.formMode=`create`,this.formOriginalName=``,this.error=``,this.form=s9(this.types,r9(this.types))}changeType(e){let t=i9(this.types,e);this.form={...this.form,type:t,config:a9(this.types,t)}}async fetchTypes(){this.typesLoading=!0;try{let e=await k3(`/admin/guardrails/types`,{label:`guardrail types`});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,this.types=[];return}if(e.result&&(this.available=!0),this.types=e.items,e.status===`error`){this.error=e.error;return}let t=i9(this.types,this.form.type);this.form={...this.form,type:t,config:o9(this.types,this.form.config,t)}}finally{this.typesLoading=!1}}async fetchGuardrails(){this.loading=!0,this.error=``;try{let e=await k3(`/admin/guardrails`,{label:`guardrails`});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,this.guardrails=[];return}e.result&&(this.available=!0),this.guardrails=e.items,this.error=e.error}finally{this.loading=!1}}async fetchPage(){await Promise.all([this.fetchTypes(),this.fetchGuardrails()])}async submitForm(){let e=String(this.form.name||``).trim(),t=String(this.form.type||``).trim();if(!e){this.error=Qve();return}if(!t){this.error=tye();return}this.error=``,this.formSubmitting=!0;let n=xXe(this.form);try{let t=await A3(`/admin/guardrails`,`PUT`,n,{label:`save guardrail`,errorFallback:iye(),unavailableMessage:jj()});if(t.status===`stale`)return;if(t.status===`unavailable`){this.available=!1,this.error=t.error;return}if(t.status===`error`){this.error=t.error;return}BX.success(sye({name:e})),this.closeForm(),this.fetchGuardrails()}finally{this.formSubmitting=!1}}async deleteGuardrail(e){let t=String(e&&e.name||``).trim();if(!(!t||this.deletingName)&&window.confirm(yye({name:t}))){this.deletingName=t;try{let e=await A3(`/admin/guardrails`,`DELETE`,{name:t},{label:`delete guardrail`,errorFallback:Sye(),unavailableMessage:jj()});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,BX.error(e.error);return}if(e.status===`error`){BX.error(e.error);return}BX.success(Tye({name:t})),this.formOpen&&this.formOriginalName===t&&this.closeForm(),this.fetchGuardrails()}finally{this.deletingName=``}}}},SXe=B(`
    `),CXe=B(`
    `),wXe=B(`
    `),TXe=B(`
    `),EXe=B(`

    `),DXe=B(`

    `);function OXe(e,t){O(t,!0);var n=DXe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i);var l=I(i,2),u=P(l);J(u,{get icon(){return RY},class:`form-action-icon`});var d=I(u,2),f=P(d,!0);D(d),D(l),D(r);var p=I(r,2),m=e=>{var t=SXe(),n=P(t),r=P(n);{let e=A(()=>Lj()),t=A(()=>Bj());v3(r,{id:`guardrail-filter`,get placeholder(){return R(e)},get label(){return R(t)},get value(){return u9.filter},set value(e){u9.filter=e}})}D(n),D(t),V(e,t)};U(p,e=>{u9.available&&e(m)});var h=I(p,2),g=e=>{{let t=A(()=>yM());H4(e,{get label(){return R(t)}})}};U(h,e=>{u9.loading&&u9.filtered.length===0&&e(g)});var _=I(h,2),v=e=>{var t=TXe(),n=P(t),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a),c=P(s,!0);D(s);var l=I(s),u=P(l,!0);D(l);var d=I(l),f=P(d,!0);D(d);var p=I(d),m=P(p,!0);D(p),D(i),D(r);var h=I(r);W(h,21,()=>u9.filtered,e=>e.name,(e,t)=>{var n=wXe(),r=P(n),i=P(r,!0);D(r);var a=I(r),o=P(a),s=P(o,!0);D(o),D(a);var c=I(a),l=P(c,!0);D(c);var u=I(c),d=P(u),f=P(d,!0);D(d);var p=I(d,2),m=e=>{var n=CXe(),r=P(n,!0);D(n),L(()=>H(r,R(t).description)),V(e,n)};U(p,e=>{R(t).description&&e(m)}),D(u);var h=I(u),g=P(h),_=P(g);{let e=A(()=>uye({name:R(t).name}));O3(_,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>u9.openEdit(R(t)),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}var v=I(_,2);{let e=A(()=>u9.deletingName===R(t).name?gye({name:R(t).name}):pye({name:R(t).name})),n=A(()=>u9.deletingName===R(t).name);O3(v,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>u9.deleteGuardrail(R(t)),get disabled(){return R(n)},children:(e,t)=>{J(e,{get icon(){return XY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(g),D(h),D(n),L((e,n)=>{H(i,R(t).name),H(s,e),H(l,R(t).user_path||`—`),H(f,n)},[()=>u9.typeLabel(R(t).type),()=>R(t).summary||R(t).description||SM()]),V(e,n)}),D(h),D(n),D(t),L((e,t,n,r,i)=>{H(o,e),H(c,t),H(u,n),H(f,r),H(m,i)},[()=>Uj(),()=>Kj(),()=>Yj(),()=>Qj(),()=>tM()]),V(e,t)};U(_,e=>{u9.filtered.length>0&&e(v)});var y=I(_,2),b=e=>{var t=EXe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>iM()]),V(e,t)};U(y,e=>{u9.filtered.length===0&&!u9.loading&&u9.available&&!u9.error&&!X.authError&&e(b)}),D(n),L((e,t,n)=>{H(o,e),H(c,t),l.disabled=u9.typesLoading||u9.formSubmitting||!u9.available,H(f,n)},[()=>Sj(),()=>gM(),()=>Pj()]),z(`click`,l,()=>u9.openCreate()),V(e,n),k()}vr([`click`]);var kXe=B(`

    `),AXe=B(``),d9=B(``),jXe=B(``),MXe=B(``),NXe=B(``),PXe=B(``),FXe=B(``),IXe=B(``),LXe=B(``),RXe=B(`
    `),zXe=B(``),BXe=B(` `),VXe=B(`
    `),HXe=B(`
    `);function UXe(e,t){O(t,!0);let n=A(()=>u9.formMode===`edit`);{let t=e=>{var t=kXe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>iF()]),V(e,t)},r=A(()=>R(n)?YP():Pj()),i=A(()=>QP()),a=A(()=>tF());t6(e,{get open(){return u9.formOpen},get title(){return R(r)},get ariaLabel(){return R(i)},get error(){return u9.error},get submitting(){return u9.formSubmitting},get submitLabel(){return R(a)},dialogClass:`settings-guardrails-editor guardrails-editor-wide`,onclose:()=>u9.closeForm(),onsubmit:()=>u9.submitForm(),headerHint:t,children:(e,t)=>{var r=HXe(),i=P(r);{let e=A(()=>Uj());n6(i,{id:`guardrail-name`,get label(){return R(e)},children:(e,t)=>{var r=AXe();bi(r),L(()=>{r.disabled=R(n),K(r,`data-modal-autofocus`,!R(n)||void 0)}),Di(r,()=>u9.form.name,e=>u9.form.name=e),V(e,r)},$$slots:{default:!0}})}var a=I(i,2);{let e=A(()=>Kj());n6(a,{id:`guardrail-type`,get label(){return R(e)},children:(e,t)=>{var r=jXe();W(r,21,()=>u9.types,e=>e.type,(e,t)=>{var n=d9(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).label),i!==(i=R(t).type)&&(n.value=(n.__value=R(t).type)??``)}),V(e,n)}),D(r);var i;fi(r),L(()=>{r.disabled=R(n),i!==(i=u9.form.type)&&(r.value=(r.__value=u9.form.type)??``,di(r,u9.form.type))}),z(`change`,r,e=>u9.changeType(e.currentTarget.value)),V(e,r)},$$slots:{default:!0}})}var o=I(a,2);{let e=A(()=>sF());n6(o,{id:`guardrail-description`,get label(){return R(e)},children:(e,t)=>{var r=MXe();bi(r),L(e=>{K(r,`placeholder`,e),K(r,`data-modal-autofocus`,R(n)?!0:void 0)},[()=>uF()]),Di(r,()=>u9.form.description,e=>u9.form.description=e),V(e,r)},$$slots:{default:!0}})}var s=I(o,2),c=P(s);{let e=e=>{var t=NXe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Yj()]),V(e,t)},t=A(()=>pF()),n=A(()=>gF());V4(c,{copyId:`guardrail-user-path-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}var l=I(c,2);bi(l),D(s),W(I(s,2),17,()=>u9.typeFields(u9.form.type),e=>e.key,(e,t)=>{var n=Tr(),r=F(n),i=e=>{var n=RXe(),r=P(n);{let e=e=>{var n=PXe(),r=P(n,!0);D(n),L(()=>{K(n,`for`,`guardrail-field-`+R(t).key),H(r,R(t).label)}),V(e,n)},n=A(()=>`guardrail-field-help-`+R(t).key),i=A(()=>R(t).label+` help`),a=A(()=>R(t).help||``);V4(r,{get copyId(){return R(n)},get label(){return R(i)},get text(){return R(a)},title:e,$$slots:{title:!0}})}var i=I(r,2),a=e=>{var n=FXe();W(n,21,()=>R(t).options||[],e=>e.value,(e,t)=>{var n=d9(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(n);var r;fi(n),L(e=>{K(n,`id`,`guardrail-field-`+R(t).key),K(n,`aria-describedby`,R(t).help?`guardrail-field-help-`+R(t).key:void 0),r!==(r=e)&&(n.value=(n.__value=e)??``,di(n,e))},[()=>u9.fieldValue(R(t))]),z(`change`,n,e=>u9.setFieldValue(R(t),e.currentTarget.value)),V(e,n)},o=e=>{var n=IXe();at(n),L(e=>{K(n,`id`,`guardrail-field-`+R(t).key),K(n,`placeholder`,R(t).placeholder||``),xi(n,e),K(n,`aria-describedby`,R(t).help?`guardrail-field-help-`+R(t).key:void 0)},[()=>u9.fieldValue(R(t))]),z(`input`,n,e=>u9.setFieldValue(R(t),e.currentTarget.value)),V(e,n)},s=e=>{var n=LXe();bi(n),L(e=>{K(n,`id`,`guardrail-field-`+R(t).key),K(n,`type`,R(t).input||`text`),K(n,`placeholder`,R(t).placeholder||``),xi(n,e),K(n,`aria-describedby`,R(t).help?`guardrail-field-help-`+R(t).key:void 0)},[()=>u9.fieldValue(R(t))]),z(`input`,n,e=>u9.setFieldValue(R(t),e.currentTarget.value)),V(e,n)};U(i,e=>{R(t).input===`select`?e(a):R(t).input===`textarea`?e(o,1):e(s,-1)}),D(n),V(e,n)},a=e=>{var n=VXe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2);W(a,21,()=>R(t).options||[],e=>R(t).key+`-`+e.value,(e,n)=>{var r=zXe(),i=P(r);bi(i);var a=I(i,2),o=P(a,!0);D(a),D(r),L(e=>{Si(i,e),H(o,R(n).label)},[()=>u9.arrayFieldSelected(R(t),R(n).value)]),z(`change`,i,e=>u9.toggleArrayFieldValue(R(t),R(n).value,e.currentTarget.checked)),V(e,r)}),D(a);var o=I(a,2),s=e=>{var n=BXe(),r=P(n,!0);D(n),L(()=>{K(n,`id`,`guardrail-field-help-`+R(t).key),H(r,R(t).help)}),V(e,n)};U(o,e=>{R(t).help&&e(s)}),D(n),L(()=>{K(n,`aria-describedby`,R(t).help?`guardrail-field-help-`+R(t).key:void 0),H(i,R(t).label)}),V(e,n)};U(r,e=>{R(t).input===`checkboxes`?e(a,-1):e(i)}),V(e,n)}),D(r),L(e=>K(l,`aria-label`,e),[()=>Yj()]),Di(l,()=>u9.form.user_path,e=>u9.form.user_path=e),V(e,r)},$$slots:{headerHint:!0,default:!0}})}k()}vr([`change`,`input`]);var WXe=B(`

    `),f9=B(`
    `),GXe=B(`

    `);function KXe(e,t){O(t,!0),dn(()=>{X.refreshTick,eX.page===`guardrails`&&(OX.ensureLoaded(),u9.fetchPage())});var n=GXe(),r=P(n),i=P(r),a=P(i);{let e=e=>{var t=WXe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pj()]),V(e,t)},t=A(()=>sM()),n=A(()=>uM());V4(a,{copyId:`guardrails-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}D(i),D(r);var o=I(r,2),s=P(o),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u,!0);D(u);var f=I(u,2),p=P(f,!0);D(f),D(s);var m=I(s,2),h=P(m),g=P(h),_=P(g,!0);D(g);var v=I(g,2),y=P(v,!0);D(v),D(h);var b=I(h,2),x=P(b),S=P(x,!0);D(x);var C=I(x,2),w=P(C,!0);D(C),D(b),D(m),D(o);var T=I(o,2);uZ(T,{});var ee=I(T,2),E=e=>{var t=f9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Oj()]),V(e,t)},te=A(()=>!OX.guardrailsVisible());U(ee,e=>{R(te)&&e(E)});var ne=I(ee,2),re=e=>{var t=f9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jj()]),V(e,t)};U(ne,e=>{!X.authError&&!u9.available&&e(re)});var ie=I(ne,2),ae=e=>{var t=f9(),n=P(t,!0);D(t),L(()=>H(n,u9.error)),V(e,t)};U(ie,e=>{!X.authError&&u9.error&&!u9.formOpen&&e(ae)});var oe=I(ie,2);UXe(oe,{}),OXe(I(oe,2),{}),D(n),L((e,t,n,r,i,a,o)=>{H(l,e),H(d,t),H(p,n),H(_,r),H(y,i),H(S,a),H(w,o)},[()=>gj(),()=>yj(),()=>pM(),()=>Sj(),()=>UX(u9.guardrails.length),()=>Tj(),()=>UX(u9.types.length)]),V(e,n),k()}var p9=new class{#e=j(N([]));get servers(){return R(this.#e)}set servers(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get formOpen(){return R(this.#a)}set formOpen(e){M(this.#a,e,!0)}#o=j(!1);get formSubmitting(){return R(this.#o)}set formSubmitting(e){M(this.#o,e,!0)}#s=j(`create`);get formMode(){return R(this.#s)}set formMode(e){M(this.#s,e,!0)}#c=j(!1);get slugEdited(){return R(this.#c)}set slugEdited(e){M(this.#c,e,!0)}#l=j(!1);get advancedOpen(){return R(this.#l)}set advancedOpen(e){M(this.#l,e,!0)}#u=j(N(m4()));get form(){return R(this.#u)}set form(e){M(this.#u,e,!0)}#d=j(``);get deletingName(){return R(this.#d)}set deletingName(e){M(this.#d,e,!0)}#f=j(``);get reconnectingName(){return R(this.#f)}set reconnectingName(e){M(this.#f,e,!0)}#p=j(!1);get catalogOpen(){return R(this.#p)}set catalogOpen(e){M(this.#p,e,!0)}#m=j(!1);get catalogLoading(){return R(this.#m)}set catalogLoading(e){M(this.#m,e,!0)}#h=j(``);get catalogError(){return R(this.#h)}set catalogError(e){M(this.#h,e,!0)}#g=j(N(h4()));get catalog(){return R(this.#g)}set catalog(e){M(this.#g,e,!0)}#_=A(()=>KLe(this.servers,this.filter));get filtered(){return R(this.#_)}set filtered(e){M(this.#_,e)}async fetchServers(){if(await OX.ensureLoaded(),!OX.mcpVisible()){this.available=!1,this.servers=[],this.error=``,this.loading=!1;return}this.loading=!0,this.error=``;try{let e=await k3(`/admin/mcp-servers`,{label:`mcp servers`,errorFallback:yW(),unavailableStatuses:[503,404]});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,this.servers=[];return}if(e.status===`error`){e.result&&(this.available=!0),this.servers=[],this.error=e.error;return}this.available=!0,this.servers=e.items}finally{this.loading=!1}}openCreate(){this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=m4(),this.formOpen=!0}openEdit(e){!e||e.managed||(this.formMode=`edit`,this.slugEdited=!0,this.advancedOpen=!1,this.error=``,this.form=qLe(e),this.formOpen=!0)}closeForm(){this.formOpen=!1,this.formMode=`create`,this.slugEdited=!1,this.advancedOpen=!1,this.error=``,this.form=m4()}syncSlugFromName(){this.formMode===`create`&&!this.slugEdited&&(this.form.slug=b4(this.form.name))}markSlugEdited(){this.formMode===`create`&&(this.slugEdited=!0)}addHeader(){this.form.headers.push({name:``,value:``})}removeHeader(e){this.form.headers.splice(e,1)}async submitForm(){let e=JLe(this.form,this.formMode,this.servers);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await A3(`/admin/mcp-servers`,`PUT`,e.payload,{label:`save mcp server`,errorFallback:SW(),unavailableMessage:QE()});if(t.status===`stale`)return;if(t.status===`unavailable`){this.available=!1,this.error=t.error;return}if(t.status===`error`){this.error=t.error;return}BX.success(TW({name:e.payload.name})),this.closeForm(),this.fetchServers()}finally{this.formSubmitting=!1}}async deleteServer(e){let t=String(e&&e.name||``).trim(),n=g4(e);if(!(!n||this.deletingName||e&&e.managed)&&confirm(OW({name:t}))){this.deletingName=n;try{let e=await A3(`/admin/mcp-servers/`+encodeURIComponent(n),`DELETE`,void 0,{label:`delete mcp server`,errorFallback:jW(),unavailableMessage:QE()});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,BX.error(e.error);return}if(e.status===`error`){BX.error(e.error);return}BX.success(PW({name:t})),this.formOpen&&this.form.slug===n&&this.closeForm(),this.fetchServers()}finally{this.deletingName=``}}}async reconnectServer(e){let t=String(e&&e.name||``).trim(),n=g4(e);if(!(!n||this.reconnectingName)){this.reconnectingName=n;try{let e=await A3(`/admin/mcp-servers/`+encodeURIComponent(n)+`/reconnect`,`POST`,void 0,{label:`reconnect mcp server`,errorFallback:LW(),unavailableMessage:QE()});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,BX.error(e.error);return}if(e.status===`error`){BX.error(e.error);return}let r=e.result.data,i=_4(r);i===`connected`?BX.success(BW({name:t})):i===`disabled`?BX.success(UW({name:t})):BX.error(KW({name:t,status:i})),r&&r.name?this.servers=(this.servers||[]).map(e=>g4(e)===g4(r)?r:e):this.fetchServers()}finally{this.reconnectingName=``}}}async openCatalog(e){let t=String(e&&e.name||``).trim(),n=g4(e);if(n){this.catalogOpen=!0,this.catalogLoading=!0,this.catalogError=``,this.catalog={...h4(),server:n,status:_4(e)};try{let e=await TX(`/admin/mcp-servers/`+encodeURIComponent(n)+`/catalog`,{label:`mcp server catalog`});if(e.stale)return;if(e.status===503){this.available=!1,this.catalogError=QE();return}if(e.status===404){this.catalogError=YW({name:t});return}if(!e.ok){this.catalogError=e.status===401?BV():bX(e.data,QW());return}this.catalog=YLe(n,e.data)}catch(e){console.error(`Failed to load MCP server catalog:`,e),this.catalogError=QW()}finally{this.catalogLoading=!1}}}closeCatalog(){this.catalogOpen=!1,this.catalogLoading=!1,this.catalogError=``,this.catalog=h4()}},qXe=B(``),JXe=B(`

    `),YXe=B(`
    `),XXe=B(`

    `),ZXe=B(`
  • `),QXe=B(`

      `),$Xe=B(`

      `),eZe=B(` `,1),tZe=B(``);function nZe(e,t){O(t,!0);let n=A(()=>x4(p9.catalog));MX(e,{get open(){return p9.catalogOpen},variant:`editor`,onclose:()=>p9.closeCatalog(),children:(e,t)=>{var r=tZe(),i=P(r),a=P(i),o=P(a),s=P(o,!0);D(o);var c=I(o,2),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d),D(c),D(a);var p=I(a,2);{let e=A(()=>SD());kX(p,{get label(){return R(e)},onclick:()=>p9.closeCatalog()})}D(i);var m=I(i,2),h=e=>{{let t=A(()=>TD());H4(e,{get label(){return R(t)}})}},g=e=>{var t=qXe(),n=P(t,!0);D(t),L(()=>H(n,p9.catalogError)),V(e,t)},_=e=>{var t=eZe(),r=F(t),i=e=>{var t=JXe(),n=P(t,!0);D(t),L(()=>H(n,p9.catalog.instructions)),V(e,t)};U(r,e=>{p9.catalog.instructions&&e(i)});var a=I(r,2);W(a,17,()=>R(n),e=>e.key,(e,t)=>{var n=QXe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2);W(a,21,()=>R(t).items,e=>e.key,(e,t)=>{var n=ZXe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=e=>{var n=YXe(),r=P(n,!0);D(n),L(e=>{K(n,`title`,e),H(r,R(t).aggregated)},[()=>OD({name:R(t).aggregated})]),V(e,n)};U(a,e=>{R(t).aggregated&&e(o)});var s=I(a,2),c=e=>{var n=XXe(),r=P(n,!0);D(n),L(()=>H(r,R(t).description)),V(e,n)};U(s,e=>{R(t).description&&e(c)}),D(n),L(()=>{K(r,`title`,R(t).aggregated||R(t).name),H(i,R(t).name)}),V(e,n)}),D(a),D(n),L(()=>H(i,R(t).title)),V(e,n)});var o=I(a,2),s=e=>{var t=$Xe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jD()]),V(e,t)},c=A(()=>ZLe(p9.catalog));U(o,e=>{R(c)&&e(s)}),V(e,t)};U(m,e=>{p9.catalogLoading?e(h):p9.catalogError?e(g,1):e(_,-1)});var v=I(m,2),y=P(v),b=P(y,!0);D(y),D(v),D(r),L((e,t,n,i,a)=>{K(r,`aria-label`,e),H(s,t),H(u,p9.catalog.server),G(d,1,`audit-status-badge ${n??``}`,`svelte-1xqrzco`),H(f,i),H(b,a)},[()=>gD(),()=>yD(),()=>v4(p9.catalog),()=>_4(p9.catalog),()=>PD()]),z(`click`,y,()=>p9.closeCatalog()),V(e,r)},$$slots:{default:!0}}),k()}vr([`click`]);var rZe=B(`

      `),iZe=B(` `,1),m9=B(` `),aZe=B(` `,1),oZe=B(` `,1),sZe=B(``),cZe=B(`
      `),lZe=B(`
      `,1);function uZe(e,t){O(t,!0);{let t=e=>{var t=rZe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>UD()]),V(e,t)},n=A(()=>p9.formMode===`edit`?LD():YE()),r=A(()=>BD());t6(e,{get open(){return p9.formOpen},get title(){return R(n)},get ariaLabel(){return R(r)},get error(){return p9.error},get submitting(){return p9.formSubmitting},onclose:()=>p9.closeForm(),onsubmit:()=>p9.submitForm(),headerHint:t,children:(e,t)=>{var n=lZe(),r=F(n);{let e=A(()=>KD());n6(r,{id:`mcp-server-name`,get label(){return R(e)},children:(e,t)=>{var n=iZe(),r=F(n);bi(r);var i=I(r,2),a=P(i,!0);D(i),L(e=>H(a,e),[()=>YD()]),z(`input`,r,()=>p9.syncSlugFromName()),Di(r,()=>p9.form.name,e=>p9.form.name=e),V(e,n)},$$slots:{default:!0}})}var i=I(r,2);{let e=A(()=>QD());n6(i,{id:`mcp-server-slug`,get label(){return R(e)},children:(e,t)=>{var n=aZe(),r=F(n);bi(r);var i=I(r,2),a=e=>{var t=m9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>tO()]),V(e,t)},o=e=>{var t=m9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>iO()]),V(e,t)};U(i,e=>{p9.formMode===`create`?e(a):e(o,-1)}),L(()=>r.disabled=p9.formMode===`edit`),z(`input`,r,()=>p9.markSlugEdited()),Di(r,()=>p9.form.slug,e=>p9.form.slug=e),V(e,n)},$$slots:{default:!0}})}var a=I(i,2);{let e=A(()=>sO());n6(a,{id:`mcp-server-transport`,get label(){return R(e)},children:(e,t)=>{var n=oZe(),r=F(n),i=P(r);i.value=i.__value=`http`;var a=I(i);a.value=a.__value=`sse`,D(r);var o=I(r,2),s=P(o,!0);D(o),L(e=>H(s,e),[()=>uO()]),pi(r,()=>p9.form.transport,e=>p9.form.transport=e),V(e,n)},$$slots:{default:!0}})}var o=I(a,2);n6(o,{id:`mcp-server-url`,label:`URL`,children:(e,t)=>{var n=sZe();bi(n),Di(n,()=>p9.form.url,e=>p9.form.url=e),V(e,n)},$$slots:{default:!0}});var s=I(o,2),c=P(s),l=P(c,!0);D(c);var u=I(c,2);W(u,21,()=>p9.form.headers,Ar,(e,t,n)=>{var r=cZe(),i=P(r);bi(i);var a=I(i,2);bi(a);var o=I(a,2);{let e=A(()=>SO());O3(o,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>p9.removeHeader(n),children:(e,t)=>{J(e,{get icon(){return KY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(r),L((e,t)=>{K(i,`aria-label`,e),K(a,`aria-label`,t)},[()=>gO(),()=>yO()]),Di(i,()=>R(t).name,e=>R(t).name=e),Di(a,()=>R(t).value,e=>R(t).value=e),V(e,r)}),D(u);var d=I(u,2),f=P(d),p=P(f);J(p,{get icon(){return RY},class:`form-action-icon`});var m=I(p,2),h=P(m,!0);D(m),D(f),D(d);var g=I(d,2),_=P(g,!0);D(g),D(s);var v=I(s,2),y=P(v);j8(P(y),{get enabled(){return p9.form.enabled},label:`MCP server`,onclick:()=>p9.form.enabled=!p9.form.enabled}),D(y),D(v);var b=I(v,2),x=P(b),S=P(x),C=P(S),w=P(C,!0);D(C);var T=I(C,2),ee=P(T,!0);D(T),D(S),D(x);var E=I(x,2),te=P(E),ne=P(te),re=P(ne,!0);D(ne);var ie=I(ne,2);bi(ie),D(te);var ae=I(te,2),oe=P(ae),se=P(oe,!0);D(oe);var ce=I(oe,2);bi(ce),D(ae);var le=I(ae,2),ue=P(le),de=P(ue,!0);D(ue);var fe=I(ue,2);bi(fe),D(le);var pe=I(le,2),me=P(pe),he=P(me,!0);D(me);var ge=I(me,2);at(ge),K(ge,`placeholder`,`/ -/team/alpha`),D(pe);var _e=I(pe,2),ve=P(_e),ye=P(ve,!0);D(ve);var be=I(ve,2);bi(be),D(_e),D(E),D(b),L((e,t,n,r,i,a,o,s,c,u,d,f,p,m)=>{H(l,e),H(h,t),H(_,n),b.open=p9.advancedOpen,H(w,r),H(ee,i),H(re,a),K(ie,`placeholder`,o),H(se,s),K(ce,`placeholder`,c),H(de,u),K(fe,`placeholder`,d),H(he,f),H(ye,p),K(be,`placeholder`,m)},[()=>pO(),()=>TO(),()=>OO(),()=>jO(),()=>PO(),()=>LO(),()=>yOe(),()=>BO(),()=>SOe(),()=>UO(),()=>TOe(),()=>KO(),()=>YO(),()=>QO()]),z(`click`,f,()=>p9.addHeader()),_r(`toggle`,b,e=>p9.advancedOpen=e.currentTarget.open),Di(ie,()=>p9.form.description,e=>p9.form.description=e),Di(ce,()=>p9.form.allowed_tools,e=>p9.form.allowed_tools=e),Di(fe,()=>p9.form.disallowed_tools,e=>p9.form.disallowed_tools=e),Di(ge,()=>p9.form.user_paths,e=>p9.form.user_paths=e),Di(be,()=>p9.form.tool_timeout_seconds,e=>p9.form.tool_timeout_seconds=e),V(e,n)},$$slots:{headerHint:!0,default:!0}})}k()}vr([`input`,`click`]);var dZe=B(` `),fZe=B(`
      `),pZe=B(`
      `),mZe=B(`
      `);function hZe(e,t){O(t,!0);function n(e){return VLe(e,e=>yX.formatTimestamp(e))}var r=mZe(),i=P(r),a=P(i),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s),u=P(l,!0);D(l);var d=I(l),f=P(d,!0);D(d);var p=I(d),m=P(p,!0);D(p);var h=I(p),g=P(h,!0);D(h);var _=I(h),v=P(_,!0);D(_);var y=I(_),b=P(y,!0);D(y),D(o),D(a);var x=I(a);W(x,21,()=>p9.filtered,e=>g4(e),(e,t)=>{var r=pZe(),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=e=>{var t=dZe(),n=P(t,!0);D(t),L((e,r)=>{K(t,`title`,e),H(n,r)},[()=>gU(),()=>LV()]),V(e,t)};U(s,e=>{R(t).managed&&e(c)});var l=I(s,2),u=P(l,!0);D(l),D(i);var d=I(i),f=P(d),p=P(f,!0);D(f),D(d);var m=I(d),h=P(m,!0);D(m);var g=I(m),_=P(g),v=P(_,!0);D(_);var y=I(_,2),b=e=>{var n=fZe(),r=P(n,!0);D(n),L(()=>H(r,R(t).last_error)),V(e,n)},x=A(()=>_4(R(t))===`degraded`&&R(t).last_error);U(y,e=>{R(x)&&e(b)}),D(g);var S=I(g),C=P(S),w=P(C,!0);D(C);var T=I(C,2),ee=P(T,!0);D(T),D(S);var E=I(S),te=P(E),ne=P(te,!0);D(te),D(E);var re=I(E),ie=P(re),ae=P(ie),oe=e=>{{let n=A(()=>yU({name:R(t).name}));O3(e,{get label(){return R(n)},class:`table-icon-btn`,onclick:()=>p9.openEdit(R(t)),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}};U(ae,e=>{R(t).managed||e(oe)});var se=I(ae,2);{let e=A(()=>SU({name:R(t).name}));O3(se,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>p9.openCatalog(R(t)),children:(e,t)=>{J(e,{get icon(){return Wke},class:`form-action-icon`})},$$slots:{default:!0}})}var ce=I(se,2);{let e=A(()=>p9.reconnectingName===g4(R(t))?OU({name:R(t).name}):TU({name:R(t).name})),n=A(()=>p9.reconnectingName===g4(R(t)));O3(ce,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>p9.reconnectServer(R(t)),get disabled(){return R(n)},children:(e,t)=>{J(e,{get icon(){return zY},class:`form-action-icon`})},$$slots:{default:!0}})}var le=I(ce,2),ue=e=>{{let n=A(()=>p9.deletingName===g4(R(t))?PU({name:R(t).name}):jU({name:R(t).name})),r=A(()=>p9.deletingName===g4(R(t)));O3(e,{get label(){return R(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>p9.deleteServer(R(t)),get disabled(){return R(r)},children:(e,t)=>{J(e,{get icon(){return XY},class:`table-icon-svg`})},$$slots:{default:!0}})}};U(le,e=>{R(t).managed||e(ue)}),D(ie),D(re),D(r),L((e,n,r,i,a,s,c,l,d)=>{H(o,R(t).name),H(u,e),H(p,R(t).transport||`http`),K(m,`title`,n),H(h,r),G(_,1,`audit-status-badge ${i??``}`,`svelte-ah8nrt`),K(_,`title`,a),H(v,s),H(w,c),H(ee,l),G(te,1,ai([`auth-key-status-badge`,R(t).enabled?`auth-key-status-active`:`auth-key-status-inactive`])),H(ne,d)},[()=>g4(R(t)),()=>y4(R(t)),()=>y4(R(t)),()=>v4(R(t)),()=>n(R(t)),()=>BLe(R(t)),()=>UX(R(t).tool_count||0),()=>HLe(R(t)),()=>R(t).enabled?jV():PV()]),V(e,r)}),D(x),D(i),D(r),L((e,t,n,r,i,a,o)=>{H(c,e),H(u,t),H(f,n),H(m,r),H(g,i),H(v,a),H(b,o)},[()=>KD(),()=>QH(),()=>tU(),()=>iU(),()=>sU(),()=>uU(),()=>pU()]),V(e,r),k()}var gZe=B(`

      `),_Ze=B(``),vZe=B(`
      `),yZe=B(``),bZe=B(`
      `),h9=B(`

      `),xZe=B(`
      `);function SZe(e,t){O(t,!0);let n=KE();dn(()=>{X.refreshTick,eX.page===`mcp-servers`&&p9.fetchServers()});var r=xZe(),i=P(r),a=P(i),o=P(a);{let e=e=>{var t=gZe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>BE()]),V(e,t)},t=A(()=>UE());V4(o,{copyId:`mcp-servers-help-copy`,get label(){return R(t)},get text(){return n},title:e,$$slots:{title:!0}})}D(a);var s=I(a,2),c=P(s),l=e=>{var t=_Ze(),n=P(t);J(n,{get icon(){return RY},class:`form-action-icon`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=p9.formSubmitting,H(i,e)},[()=>YE()]),z(`click`,t,()=>p9.openCreate()),V(e,t)};U(c,e=>{p9.available&&!X.authError&&e(l)}),D(s),D(i);var u=I(i,2),d=e=>{var t=vZe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>QE()]),V(e,t)};U(u,e=>{!p9.available&&!X.authError&&e(d)});var f=I(u,2),p=e=>{var t=yZe(),n=P(t,!0);D(t),L(()=>H(n,p9.error)),V(e,t)};U(f,e=>{p9.error&&!X.authError&&!p9.formOpen&&e(p)});var m=I(f,2),h=e=>{{let t=A(()=>tD());H4(e,{get label(){return R(t)}})}};U(m,e=>{p9.loading&&!X.authError&&e(h)});var g=I(m,2),_=e=>{var t=bZe(),n=P(t),r=P(n);{let e=A(()=>iD()),t=A(()=>sD());v3(r,{id:`mcp-server-filter`,get placeholder(){return R(e)},get label(){return R(t)},get value(){return p9.filter},set value(e){p9.filter=e}})}D(n),D(t),V(e,t)};U(g,e=>{(p9.servers.length>0||p9.filter)&&p9.available&&!X.authError&&e(_)});var v=I(g,2);uZe(v,{});var y=I(v,2);nZe(y,{});var b=I(y,2),x=e=>{hZe(e,{})};U(b,e=>{p9.filtered.length>0&&p9.available&&!X.authError&&e(x)});var S=I(b,2),C=e=>{var t=h9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>uD()]),V(e,t)};U(S,e=>{p9.servers.length===0&&!p9.filter&&!p9.loading&&!X.authError&&!p9.error&&p9.available&&e(C)});var w=I(S,2),T=e=>{var t=h9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pD()]),V(e,t)};U(w,e=>{p9.servers.length>0&&p9.filtered.length===0&&p9.filter&&!p9.loading&&!X.authError&&p9.available&&e(T)}),D(r),V(e,r),k()}vr([`click`]);var g9=`api_keys`,_9=`session_sticky_keys`,v9=`base_url`,y9=`service_account_json`,b9=`models`,x9=[g9,_9,v9,`api_version`,`backend`,`auth_type`,`api_mode`,`vertex_project`,`vertex_location`,`service_account_file`,y9,`service_account_json_base64`,`gcp_scope`,b9];function CZe(){return{[g9]:{label:yK(),control:`keys`,hint:sq()},[_9]:{label:SK(),control:`checkbox`,hint:uq()},[v9]:{label:TK(),control:`text`},api_version:{label:OK(),control:`text`,placeholder:`e.g. 2024-10-01-preview`,hint:pq()},backend:{label:jK(),control:`select`,hint:gq()},auth_type:{label:PK(),control:`select`,hint:yq()},api_mode:{label:LK(),control:`select`,hint:Sq()},vertex_project:{label:BK(),control:`text`,placeholder:`my-gcp-project`},vertex_location:{label:UK(),control:`text`,placeholder:`us-central1`},service_account_file:{label:KK(),control:`text`,placeholder:`/path/to/service-account.json`,hint:Tq()},[y9]:{label:YK(),control:`textarea`,placeholder:jDe(),hint:Oq()},service_account_json_base64:{label:QK(),control:`text`,hint:jq()},gcp_scope:{label:tq(),control:`text`,placeholder:`https://www.googleapis.com/auth/cloud-platform`},[b9]:{label:iq(),control:`text`,placeholder:`gpt-4o, gpt-4o-mini`,hint:Pq()}}}function wZe(e){return CZe()[e]||{label:String(e||``).split(`_`).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),control:`text`}}function S9(){return{name:``,type:``,api_keys:[],session_sticky_keys:!0,base_url:``,api_version:``,backend:``,auth_type:``,api_mode:``,vertex_project:``,vertex_location:``,service_account_file:``,service_account_json:``,service_account_json_base64:``,gcp_scope:``,models:``,enabled:!0}}function TZe(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.type,e.base_url].some(e=>String(e||``).toLowerCase().includes(r)))}function EZe(e,t){let n=(Array.isArray(e)?e:[]).map(e=>String(e&&e.type||``).trim()).filter(Boolean),r=String(t||``).trim();return r&&!n.includes(r)&&n.push(r),n}function DZe(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>String(e&&e.type||``).trim()===n)||null}function C9(e,t){let n=e&&Array.isArray(e.fields)&&e.fields.length>0?e.fields:x9.map(e=>({name:e,advanced:e!==g9})),r=t||e&&e.default_base_url||``,i=[],a=[];for(let e of n){let t=String(e&&e.name||``).trim();if(!t)continue;let n={...wZe(t),name:t,required:!!(e&&e.required),options:Array.isArray(e&&e.options)?e.options:[]};t===`base_url`&&r&&(n.placeholder=r,n.hint=Lq({value:r})),n.options.length>0&&(n.control=`select`),(e&&e.advanced?a:i).push(n)}return{primary:i,advanced:a}}var OZe=new Set([`name`,`type`,`enabled`]);function kZe(e,t){let n=new Set([...t.primary||[],...t.advanced||[]].map(e=>e.name)),r=S9(),i={...e};for(let e of Object.keys(r))!OZe.has(e)&&!n.has(e)&&(i[e]=r[e]);return i}function AZe(e){let t=Array.isArray(e&&e.api_keys)?e.api_keys.length:0;return t>0?Bq({count:t}):String(e&&e.service_account_json||``).trim()||String(e&&e.service_account_json_base64||``).trim()||String(e&&e.service_account_file||``).trim()?Uq():String(e&&e.vertex_project||``).trim()?`ADC`:Kq()}function jZe(e){let t=Array.isArray(e&&e.models)?e.models:[];return t.length===0?Yq():Qq({count:t.length})}function MZe(e){return(Array.isArray(e)?e:[]).map(e=>({value:String(e||``)}))}function w9(e){return(Array.isArray(e)?e:[]).map(e=>String(e&&e.value||``))}function NZe(e,t){let n=String(t||``).trim();if(!n)return``;let r=new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.name||``).trim()));if(!r.has(n))return n;let i=1;for(;r.has(n+`-`+i);)i+=1;return n+`-`+i}function PZe(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:MZe(e&&e.api_keys),session_sticky_keys:!e||e.session_sticky_keys!==!1,base_url:String(e&&e.base_url||``),api_version:String(e&&e.api_version||``),backend:String(e&&e.backend||``),auth_type:String(e&&e.auth_type||``),api_mode:String(e&&e.api_mode||``),vertex_project:String(e&&e.vertex_project||``),vertex_location:String(e&&e.vertex_location||``),service_account_file:String(e&&e.service_account_file||``),service_account_json:String(e&&e.service_account_json||``),service_account_json_base64:String(e&&e.service_account_json_base64||``),gcp_scope:String(e&&e.gcp_scope||``),models:(Array.isArray(e&&e.models)?e.models:[]).join(`, `),enabled:!e||e.enabled!==!1}}function FZe(e){let t=String(e||``).trim();return t.length>=3&&/^\*+$/.test(t)}function IZe(e,t,n,r){let i={},a=String(e&&e.name||``).trim();String(e&&e.type||``).trim()||(i.type=PDe()),a?a.includes(`/`)?i.name=BDe():t===`create`&&(Array.isArray(n)?n:[]).some(e=>String(e&&e.name||``).trim()===a)&&(i.name=tOe({name:a})):i.name=LDe();let{primary:o,advanced:s}=C9(r);for(let t of[...o,...s]){let n=LZe(e,t);n&&(i[t.name]=n)}return i}function LZe(e,t){if(t.name===`api_keys`){let n=w9(e&&e.api_keys);return t.required&&!n.some(e=>e.trim())?UDe():n.some(e=>!e.trim())?KDe():``}let n=String(e&&e[t.name]||``).trim();if(t.required&&!n)return iOe({field:t.label});if(!n)return``;if(t.name===`base_url`&&!n.includes(`://`)&&/[./]/.test(n))return YDe({value:n});if(t.name===`service_account_json`&&!FZe(n))try{JSON.parse(n)}catch{return QDe()}return``}function RZe(e,t){let n={name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),enabled:!!(e&&e.enabled)},{primary:r,advanced:i}=C9(t),a=!!(t&&Array.isArray(t.fields)&&t.fields.length>0),o=new Set;for(let t of[...r,...i])!a&&t.name===`session_sticky_keys`||(o.add(t.name),n[t.name]=T9(e,t.name));for(let t of x9){if(o.has(t)||t===`session_sticky_keys`)continue;let r=T9(e,t);(Array.isArray(r)?r.length>0:String(r).trim()!==``)&&(n[t]=r)}return n}function T9(e,t){switch(t){case g9:return w9(e&&e.api_keys);case b9:return VX(e&&e.models);case _9:return!!(e&&e.session_sticky_keys);case y9:return e&&e.service_account_json||``;default:return String(e&&e[t]||``).trim()}}var E9=new class{#e=j(N([]));get rows(){return R(this.#e)}set rows(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get formOpen(){return R(this.#a)}set formOpen(e){M(this.#a,e,!0)}#o=j(!1);get formSubmitting(){return R(this.#o)}set formSubmitting(e){M(this.#o,e,!0)}#s=j(`create`);get formMode(){return R(this.#s)}set formMode(e){M(this.#s,e,!0)}#c=j(!1);get advancedOpen(){return R(this.#c)}set advancedOpen(e){M(this.#c,e,!0)}#l=j(N(S9()));get form(){return R(this.#l)}set form(e){M(this.#l,e,!0)}#u=j(N({}));get fieldErrors(){return R(this.#u)}set fieldErrors(e){M(this.#u,e,!0)}#d=j(``);get focusField(){return R(this.#d)}set focusField(e){M(this.#d,e,!0)}#f=j(``);get deletingName(){return R(this.#f)}set deletingName(e){M(this.#f,e,!0)}#p=j(!1);get deleteSubmitting(){return R(this.#p)}set deleteSubmitting(e){M(this.#p,e,!0)}#m=j(N([]));get types(){return R(this.#m)}set types(e){M(this.#m,e,!0)}#h=j(!1);get typesLoaded(){return R(this.#h)}set typesLoaded(e){M(this.#h,e,!0)}#g=null;get filteredRows(){return TZe(this.rows,this.filter)}get schema(){return DZe(this.types,this.form.type)}get formFields(){if(!String(this.form.type||``).trim())return{primary:[],advanced:[]};let e=this.schema;return C9(e,e&&e.default_base_url)}async fetchTypes(){let e=await k3(`/admin/provider-credentials/types`,{label:`provider credential types`});e.status===`ok`&&(this.types=e.items,this.typesLoaded=!0)}async fetchPage(){this.#g&&this.#g.abort();let e=new AbortController;this.#g=e,this.loading=!0,this.error=``;try{let t=await k3(`/admin/provider-credentials`,{label:`provider credentials`,errorFallback:QG(),unavailableStatuses:[503,404],options:{signal:e.signal}});if(t.status===`stale`||e.signal.aborted)return;if(t.status===`unavailable`){this.available=!1,this.rows=[];return}if(t.status===`error`){t.result&&(this.available=!0),this.rows=[],this.error=t.error;return}this.available=!0,this.rows=t.items,this.typesLoaded||await this.fetchTypes()}finally{this.#g===e&&(this.#g=null,this.loading=!1)}}#_(e,t){this.formMode=e,this.form=t,this.advancedOpen=!1,this.error=``,this.fieldErrors={},this.focusField=``}openCreate(){this.#_(`create`,S9()),this.formOpen=!0,this.typesLoaded||this.fetchTypes()}openEdit(e){!e||e.managed||(this.#_(`edit`,PZe(e)),this.formOpen=!0,this.typesLoaded||this.fetchTypes())}closeForm(){this.formOpen=!1,this.#_(`create`,S9())}selectType(){this.fieldErrors={};let e=this.formFields;this.formMode===`create`&&(this.form=kZe(this.form,e));let t=e.primary.find(e=>e.name===`api_keys`);t&&t.required&&this.form.api_keys.length===0&&(this.form.api_keys=[{value:``}])}clearFieldError(e){if(this.fieldErrors[e]===void 0)return;let{[e]:t,...n}=this.fieldErrors;this.fieldErrors=n}addApiKeyRow(){this.form.api_keys.push({value:``}),this.clearFieldError(`api_keys`)}removeApiKeyRow(e){this.form.api_keys.splice(e,1),this.clearFieldError(`api_keys`)}#v(e){let t=bX(e,tK()),n=String(e&&e.error&&typeof e.error==`object`&&e.error.param||``).trim();if(n&&this.#y(n)){this.fieldErrors={...this.fieldErrors,[n]:t},this.error=``,this.#b();return}this.error=t}#y(e){if(e===`name`||e===`type`)return!0;let{primary:t,advanced:n}=this.formFields;return[...t,...n].some(t=>t.name===e)}#b(){let e=Object.keys(this.fieldErrors);if(e.length===0)return;let{primary:t,advanced:n}=this.formFields;n.some(t=>e.includes(t.name))&&(this.advancedOpen=!0);let r=[`type`,`name`,...t.map(e=>e.name),...n.map(e=>e.name)];this.focusField=r.find(t=>e.includes(t))||e[0]}#x(){lZ.fetchModels(),lZ.fetchCategories()}async submitForm(){let e=this.schema,t=IZe(this.form,this.formMode,this.rows,e);if(Object.keys(t).length>0){this.fieldErrors=t,this.error=``,this.#b();return}let n=RZe(this.form,e);this.error=``,this.fieldErrors={},this.formSubmitting=!0;try{let e=await A3(`/admin/provider-credentials`,`PUT`,n,{label:`save provider credential`,errorFallback:tK(),unavailableMessage:Bk()});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,this.error=e.error;return}if(e.status===`error`){e.result&&e.result.status!==401?this.#v(e.result.data):this.error=e.error;return}BX.success(iK({name:n.name})),this.closeForm(),this.#x(),this.fetchPage()}finally{this.formSubmitting=!1}}async performDelete(e){this.deleteSubmitting=!0,this.deletingName=e;try{let t=await A3(`/admin/provider-credentials/`+encodeURIComponent(e),`DELETE`,void 0,{label:`delete provider credential`,errorFallback:sK(),unavailableMessage:Bk()});if(t.status===`stale`)return;if(t.status===`unavailable`){this.available=!1,PX.error=t.error;return}if(t.status===`error`){PX.error=t.error;return}BX.success(uK({name:e})),PX.close(),this.formOpen&&this.form.name===e&&this.closeForm(),this.#x(),this.fetchPage()}finally{this.deleteSubmitting=!1,this.deletingName=``}}requestDelete(e){let t=String(e||``).trim();if(!t||this.deleteSubmitting)return;let n=(this.rows||[]).find(e=>String(e&&e.name||``).trim()===t);n&&n.managed||PX.open({title:pK(),titleId:`providerCredentialDeleteDialogTitle`,inputId:`provider-credential-delete-confirmation`,message:gK({name:t}),requiredText:t,confirmLabel:pK(),icon:KY,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.performDelete(t)})}},zZe=B(` `),BZe=B(` `,1),VZe=B(`
      `),HZe=B(`
      `);function UZe(e,t){O(t,!0);var n=HZe(),r=P(n),i=P(r),a=P(i),o=P(a),s=P(o,!0);D(o);var c=I(o),l=P(c,!0);D(c);var u=I(c),d=P(u,!0);D(u);var f=I(u),p=P(f,!0);D(f);var m=I(f),h=P(m,!0);D(m);var g=I(m),_=P(g,!0);D(g);var v=I(g),y=P(v,!0);D(v);var b=I(v),x=P(b,!0);D(b),D(a),D(i);var S=I(i);W(S,21,()=>E9.filteredRows,e=>e.name,(e,t)=>{var n=VZe(),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=e=>{var t=zZe(),n=P(t,!0);D(t),L((e,r)=>{K(t,`title`,e),H(n,r)},[()=>SA(),()=>LV()]),V(e,t)};U(o,e=>{R(t).managed&&e(s)}),D(r);var c=I(r),l=P(c),u=P(l,!0);D(l),D(c);var d=I(c),f=P(d,!0);D(d);var p=I(d),m=P(p,!0);D(p);var h=I(p),g=P(h,!0);D(h);var _=I(h),v=P(_);let y;var b=P(v,!0);D(v),D(_);var x=I(_),S=P(x,!0);D(x);var C=I(x),w=P(C),T=P(w),ee=e=>{var n=BZe(),r=F(n);{let e=A(()=>UG({name:R(t).name}));O3(r,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>E9.openEdit(R(t)),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}var i=I(r,2);{let e=A(()=>E9.deletingName===R(t).name?YG({name:R(t).name}):KG({name:R(t).name})),n=A(()=>E9.deletingName===R(t).name);O3(i,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>E9.requestDelete(R(t).name),get disabled(){return R(n)},children:(e,t)=>{J(e,{get icon(){return XY},class:`table-icon-svg`})},$$slots:{default:!0}})}V(e,n)};U(T,e=>{R(t).managed||e(ee)}),D(w),D(C),D(n),L((e,n,r,i)=>{H(a,R(t).name),H(u,R(t).type),K(d,`title`,R(t).base_url||``),H(f,R(t).base_url||`—`),H(m,e),H(g,n),y=G(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":R(t).enabled,"auth-key-status-inactive":!R(t).enabled}),H(b,r),H(S,i)},[()=>AZe(R(t)),()=>jZe(R(t)),()=>R(t).enabled?jV():PV(),()=>yX.formatTimestamp(R(t).updated_at)]),V(e,n)}),D(S),D(r),D(n),L((e,t,n,r,i,a,o,c)=>{H(s,e),H(l,t),H(d,n),H(p,r),H(h,i),H(_,a),H(y,o),H(x,c)},[()=>tA(),()=>iA(),()=>Il(),()=>sA(),()=>uA(),()=>pA(),()=>gA(),()=>yA()]),V(e,n),k()}var WZe=B(``),GZe=B(`
      `),KZe=B(`
      `,1),qZe=B(``),JZe=B(``),YZe=B(``),XZe=B(``),ZZe=B(``),QZe=B(` `),$Ze=B(` `),eQe=B(`
      `);function D9(e,t){O(t,!0);let n=A(()=>`provider-credential-`+t.field.name),r=A(()=>E9.fieldErrors[t.field.name]||``),i=A(()=>R(r)?R(n)+`-error`:t.field.hint?R(n)+`-hint`:void 0),a=A(()=>{let e=String(E9.form[t.field.name]||``).trim();return!e||t.field.options.includes(e)?t.field.options:[...t.field.options,e]});function o(){E9.clearFieldError(t.field.name)}var s=eQe(),c=P(s),l=P(c),u=I(l),d=e=>{V(e,WZe())};U(u,e=>{t.field.required&&e(d)}),D(c);var f=I(c,2),p=e=>{var t=KZe(),a=F(t);W(a,21,()=>E9.form.api_keys,Ar,(e,t,a)=>{var s=GZe(),c=P(s);bi(c);var l=I(c,2);{let e=A(()=>PG({number:a+1}));O3(l,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>E9.removeApiKeyRow(a),children:(e,t)=>{J(e,{get icon(){return KY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(s),L(e=>{K(c,`id`,a===0?R(n):R(n)+`-`+a),K(c,`aria-label`,e),K(c,`aria-invalid`,R(r)?`true`:void 0),K(c,`aria-describedby`,a===0?R(i):void 0)},[()=>jG({number:a+1})]),z(`input`,c,o),Di(c,()=>R(t).value,e=>R(t).value=e),V(e,s)}),D(a);var s=I(a,2),c=P(s),l=P(c);J(l,{get icon(){return RY},class:`form-action-icon`});var u=I(l,2),d=P(u,!0);D(u),D(c),D(s),L(e=>{K(c,`id`,E9.form.api_keys.length===0?R(n):void 0),H(d,e)},[()=>LG()]),z(`click`,c,()=>E9.addApiKeyRow()),V(e,t)},m=e=>{var s=JZe(),c=P(s),l=P(c,!0);D(c),c.value=c.__value=``,W(I(c),16,()=>R(a),e=>e,(e,t)=>{var n=qZe(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(s),L(e=>{K(s,`id`,R(n)),K(s,`aria-invalid`,R(r)?`true`:void 0),K(s,`aria-describedby`,R(i)),H(l,e)},[()=>BG()]),z(`change`,s,o),pi(s,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,s)},h=e=>{var a=YZe();bi(a),L(()=>{K(a,`id`,R(n)),K(a,`aria-invalid`,R(r)?`true`:void 0),K(a,`aria-describedby`,R(i))}),z(`change`,a,o),Oi(a,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,a)},g=e=>{var a=XZe();at(a),L(()=>{K(a,`id`,R(n)),K(a,`placeholder`,t.field.placeholder||``),K(a,`aria-invalid`,R(r)?`true`:void 0),K(a,`aria-describedby`,R(i))}),z(`input`,a,o),Di(a,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,a)},_=e=>{var a=ZZe();bi(a),L(()=>{K(a,`id`,R(n)),K(a,`placeholder`,t.field.placeholder||``),K(a,`aria-invalid`,R(r)?`true`:void 0),K(a,`aria-describedby`,R(i))}),z(`input`,a,o),Di(a,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,a)};U(f,e=>{t.field.control===`keys`?e(p):t.field.control===`select`?e(m,1):t.field.control===`checkbox`?e(h,2):t.field.control===`textarea`?e(g,3):e(_,-1)});var v=I(f,2),y=e=>{var t=QZe(),i=P(t,!0);D(t),L(()=>{K(t,`id`,R(n)+`-error`),H(i,R(r))}),V(e,t)},b=e=>{var r=$Ze(),i=P(r,!0);D(r),L(()=>{K(r,`id`,R(n)+`-hint`),H(i,t.field.hint)}),V(e,r)};U(v,e=>{R(r)?e(y):t.field.hint&&e(b,1)}),D(s),L(()=>{K(c,`for`,R(n)),H(l,`${t.field.label??``} `)}),V(e,s),k()}vr([`input`,`click`,`change`]);var O9=B(`

      `),tQe=B(``),nQe=B(` `),rQe=B(` `),iQe=B(` `),k9=B(` `),aQe=B(`
      `),oQe=B(`
      `,1);function sQe(e,t){O(t,!0);let n=A(()=>EZe(E9.types,E9.form.type)),r=A(()=>E9.formFields),i=A(()=>E9.fieldErrors.name||``),a=A(()=>E9.fieldErrors.type||``);function o(){E9.selectType(),E9.formMode===`create`&&(E9.form.name=NZe(E9.rows,E9.form.type))}dn(()=>{let e=E9.focusField;if(!e)return;E9.focusField=``;let t=document.getElementById(`provider-credential-`+e);t&&(t.scrollIntoView({block:`center`}),t.focus({preventScroll:!0}))});{let t=e=>{var t=O9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>sG()]),V(e,t)},s=A(()=>E9.formMode===`edit`?tG():Lk()),c=A(()=>iG());t6(e,{get open(){return E9.formOpen},get title(){return R(s)},get ariaLabel(){return R(c)},get error(){return E9.error},get submitting(){return E9.formSubmitting},novalidate:!0,onclose:()=>E9.closeForm(),onsubmit:()=>E9.submitForm(),headerHint:t,children:(e,t)=>{var s=oQe(),c=F(s),l=P(c),u=P(l,!0);Ve(),D(l);var d=I(l,2),f=P(d),p=P(f,!0);D(f),f.value=f.__value=``,W(I(f),16,()=>R(n),e=>e,(e,t)=>{var n=tQe(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(d);var m=I(d,2),h=e=>{var t=nQe(),n=P(t,!0);D(t),L(()=>H(n,R(a))),V(e,t)},g=e=>{var t=rQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pG()]),V(e,t)};U(m,e=>{R(a)?e(h):e(g,-1)}),D(c);var _=I(c,2),v=P(_),y=P(v,!0);Ve(),D(v);var b=I(v,2);bi(b);var x=I(b,2),S=e=>{var t=iQe(),n=P(t,!0);D(t),L(()=>H(n,R(i))),V(e,t)},C=e=>{var t=k9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gG()]),V(e,t)},w=e=>{var t=k9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>yG()]),V(e,t)};U(x,e=>{R(i)?e(S):E9.formMode===`create`?e(C,1):e(w,-1)}),D(_);var T=I(_,2),ee=e=>{var t=O9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>SG()]),V(e,t)};U(T,e=>{E9.form.type||e(ee)});var E=I(T,2);W(E,17,()=>R(r).primary,e=>e.name,(e,t)=>{D9(e,{get field(){return R(t)}})});var te=I(E,2),ne=P(te),re=P(ne);{let e=A(()=>TG());j8(re,{get enabled(){return E9.form.enabled},get label(){return R(e)},onclick:()=>E9.form.enabled=!E9.form.enabled})}D(ne),D(te);var ie=I(te,2),ae=e=>{var t=aQe(),n=P(t),i=P(n),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i),D(n);var l=I(n,2);W(l,21,()=>R(r).advanced,e=>e.name,(e,t)=>{D9(e,{get field(){return R(t)}})}),D(l),D(t),L((e,n)=>{t.open=E9.advancedOpen,H(o,e),H(c,n)},[()=>OG(),()=>R(r).advanced.map(e=>e.label).join(`, `)]),_r(`toggle`,t,e=>E9.advancedOpen=e.currentTarget.open),V(e,t)};U(ie,e=>{R(r).advanced.length>0&&e(ae)}),L((e,t,n)=>{H(u,e),d.disabled=E9.formMode===`edit`,K(d,`aria-invalid`,R(a)?`true`:void 0),K(d,`aria-describedby`,R(a)?`provider-credential-type-error`:`provider-credential-type-hint`),H(p,t),H(y,n),b.disabled=E9.formMode===`edit`,K(b,`aria-invalid`,R(i)?`true`:void 0),K(b,`aria-describedby`,R(i)?`provider-credential-name-error`:`provider-credential-name-hint`)},[()=>iA(),()=>uG(),()=>tA()]),z(`change`,d,o),pi(d,()=>E9.form.type,e=>E9.form.type=e),z(`input`,b,()=>E9.clearFieldError(`name`)),Di(b,()=>E9.form.name,e=>E9.form.name=e),V(e,s)},$$slots:{headerHint:!0,default:!0}})}k()}vr([`change`,`input`]);var cQe=B(`

      `),lQe=B(``),uQe=B(`
      `),dQe=B(``),fQe=B(`
      `),A9=B(`

      `),pQe=B(`
      `);function mQe(e,t){O(t,!0),dn(()=>{X.refreshTick,eX.page===`providers-config`&&E9.fetchPage()});var n=pQe(),r=P(n),i=P(r);V4(P(i),{copyId:`providers-config-help-copy`,label:`model providers help`,title:e=>{var t=cQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Pk()]),V(e,t)},help:e=>{Ve(),V(e,wr(`Configure LLM provider credentials here instead of setting API keys as - environment variables. Providers declared in config.yaml or env vars - are read-only (Config badge) and cannot be edited or deleted from the +/team/alpha`),D(pe);var _e=I(pe,2),ve=P(_e),ye=P(ve,!0);D(ve);var be=I(ve,2);bi(be),D(_e),D(E),D(b),L((e,t,n,r,i,a,o,s,c,u,d,f,p,m)=>{H(l,e),H(h,t),H(_,n),b.open=p9.advancedOpen,H(w,r),H(ee,i),H(re,a),K(ie,`placeholder`,o),H(se,s),K(ce,`placeholder`,c),H(de,u),K(fe,`placeholder`,d),H(he,f),H(ye,p),K(be,`placeholder`,m)},[()=>pO(),()=>TO(),()=>OO(),()=>jO(),()=>PO(),()=>LO(),()=>yOe(),()=>BO(),()=>SOe(),()=>UO(),()=>TOe(),()=>KO(),()=>YO(),()=>QO()]),z(`click`,f,()=>p9.addHeader()),_r(`toggle`,b,e=>p9.advancedOpen=e.currentTarget.open),Di(ie,()=>p9.form.description,e=>p9.form.description=e),Di(ce,()=>p9.form.allowed_tools,e=>p9.form.allowed_tools=e),Di(fe,()=>p9.form.disallowed_tools,e=>p9.form.disallowed_tools=e),Di(ge,()=>p9.form.user_paths,e=>p9.form.user_paths=e),Di(be,()=>p9.form.tool_timeout_seconds,e=>p9.form.tool_timeout_seconds=e),V(e,n)},$$slots:{headerHint:!0,default:!0}})}k()}vr([`input`,`click`]);var dZe=B(` `),fZe=B(`
      `),pZe=B(`
      `),mZe=B(`
      `);function hZe(e,t){O(t,!0);function n(e){return VLe(e,e=>yX.formatTimestamp(e))}var r=mZe(),i=P(r),a=P(i),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s),u=P(l,!0);D(l);var d=I(l),f=P(d,!0);D(d);var p=I(d),m=P(p,!0);D(p);var h=I(p),g=P(h,!0);D(h);var _=I(h),v=P(_,!0);D(_);var y=I(_),b=P(y,!0);D(y),D(o),D(a);var x=I(a);W(x,21,()=>p9.filtered,e=>g4(e),(e,t)=>{var r=pZe(),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=e=>{var t=dZe(),n=P(t,!0);D(t),L((e,r)=>{K(t,`title`,e),H(n,r)},[()=>gU(),()=>LV()]),V(e,t)};U(s,e=>{R(t).managed&&e(c)});var l=I(s,2),u=P(l,!0);D(l),D(i);var d=I(i),f=P(d),p=P(f,!0);D(f),D(d);var m=I(d),h=P(m,!0);D(m);var g=I(m),_=P(g),v=P(_,!0);D(_);var y=I(_,2),b=e=>{var n=fZe(),r=P(n,!0);D(n),L(()=>H(r,R(t).last_error)),V(e,n)},x=A(()=>_4(R(t))===`degraded`&&R(t).last_error);U(y,e=>{R(x)&&e(b)}),D(g);var S=I(g),C=P(S),w=P(C,!0);D(C);var T=I(C,2),ee=P(T,!0);D(T),D(S);var E=I(S),te=P(E),ne=P(te,!0);D(te),D(E);var re=I(E),ie=P(re),ae=P(ie),oe=e=>{{let n=A(()=>yU({name:R(t).name}));O3(e,{get label(){return R(n)},class:`table-icon-btn`,onclick:()=>p9.openEdit(R(t)),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}};U(ae,e=>{R(t).managed||e(oe)});var se=I(ae,2);{let e=A(()=>SU({name:R(t).name}));O3(se,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>p9.openCatalog(R(t)),children:(e,t)=>{J(e,{get icon(){return Wke},class:`form-action-icon`})},$$slots:{default:!0}})}var ce=I(se,2);{let e=A(()=>p9.reconnectingName===g4(R(t))?OU({name:R(t).name}):TU({name:R(t).name})),n=A(()=>p9.reconnectingName===g4(R(t)));O3(ce,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>p9.reconnectServer(R(t)),get disabled(){return R(n)},children:(e,t)=>{J(e,{get icon(){return zY},class:`form-action-icon`})},$$slots:{default:!0}})}var le=I(ce,2),ue=e=>{{let n=A(()=>p9.deletingName===g4(R(t))?PU({name:R(t).name}):jU({name:R(t).name})),r=A(()=>p9.deletingName===g4(R(t)));O3(e,{get label(){return R(n)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>p9.deleteServer(R(t)),get disabled(){return R(r)},children:(e,t)=>{J(e,{get icon(){return XY},class:`table-icon-svg`})},$$slots:{default:!0}})}};U(le,e=>{R(t).managed||e(ue)}),D(ie),D(re),D(r),L((e,n,r,i,a,s,c,l,d)=>{H(o,R(t).name),H(u,e),H(p,R(t).transport||`http`),K(m,`title`,n),H(h,r),G(_,1,`audit-status-badge ${i??``}`,`svelte-ah8nrt`),K(_,`title`,a),H(v,s),H(w,c),H(ee,l),G(te,1,ai([`auth-key-status-badge`,R(t).enabled?`auth-key-status-active`:`auth-key-status-inactive`])),H(ne,d)},[()=>g4(R(t)),()=>y4(R(t)),()=>y4(R(t)),()=>v4(R(t)),()=>n(R(t)),()=>BLe(R(t)),()=>UX(R(t).tool_count||0),()=>HLe(R(t)),()=>R(t).enabled?jV():PV()]),V(e,r)}),D(x),D(i),D(r),L((e,t,n,r,i,a,o)=>{H(c,e),H(u,t),H(f,n),H(m,r),H(g,i),H(v,a),H(b,o)},[()=>KD(),()=>QH(),()=>tU(),()=>iU(),()=>sU(),()=>uU(),()=>pU()]),V(e,r),k()}var gZe=B(`

      `),_Ze=B(``),vZe=B(`
      `),yZe=B(``),bZe=B(`
      `),h9=B(`

      `),xZe=B(`
      `);function SZe(e,t){O(t,!0);let n=KE();dn(()=>{X.refreshTick,eX.page===`mcp-servers`&&p9.fetchServers()});var r=xZe(),i=P(r),a=P(i),o=P(a);{let e=e=>{var t=gZe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>BE()]),V(e,t)},t=A(()=>UE());V4(o,{copyId:`mcp-servers-help-copy`,get label(){return R(t)},get text(){return n},title:e,$$slots:{title:!0}})}D(a);var s=I(a,2),c=P(s),l=e=>{var t=_Ze(),n=P(t);J(n,{get icon(){return RY},class:`form-action-icon`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=p9.formSubmitting,H(i,e)},[()=>YE()]),z(`click`,t,()=>p9.openCreate()),V(e,t)};U(c,e=>{p9.available&&!X.authError&&e(l)}),D(s),D(i);var u=I(i,2),d=e=>{var t=vZe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>QE()]),V(e,t)};U(u,e=>{!p9.available&&!X.authError&&e(d)});var f=I(u,2),p=e=>{var t=yZe(),n=P(t,!0);D(t),L(()=>H(n,p9.error)),V(e,t)};U(f,e=>{p9.error&&!X.authError&&!p9.formOpen&&e(p)});var m=I(f,2),h=e=>{{let t=A(()=>tD());H4(e,{get label(){return R(t)}})}};U(m,e=>{p9.loading&&!X.authError&&e(h)});var g=I(m,2),_=e=>{var t=bZe(),n=P(t),r=P(n);{let e=A(()=>iD()),t=A(()=>sD());v3(r,{id:`mcp-server-filter`,get placeholder(){return R(e)},get label(){return R(t)},get value(){return p9.filter},set value(e){p9.filter=e}})}D(n),D(t),V(e,t)};U(g,e=>{(p9.servers.length>0||p9.filter)&&p9.available&&!X.authError&&e(_)});var v=I(g,2);uZe(v,{});var y=I(v,2);nZe(y,{});var b=I(y,2),x=e=>{hZe(e,{})};U(b,e=>{p9.filtered.length>0&&p9.available&&!X.authError&&e(x)});var S=I(b,2),C=e=>{var t=h9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>uD()]),V(e,t)};U(S,e=>{p9.servers.length===0&&!p9.filter&&!p9.loading&&!X.authError&&!p9.error&&p9.available&&e(C)});var w=I(S,2),T=e=>{var t=h9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pD()]),V(e,t)};U(w,e=>{p9.servers.length>0&&p9.filtered.length===0&&p9.filter&&!p9.loading&&!X.authError&&p9.available&&e(T)}),D(r),V(e,r),k()}vr([`click`]);var g9=`api_keys`,_9=`session_sticky_keys`,v9=`base_url`,y9=`service_account_json`,b9=`models`,x9=[g9,_9,v9,`api_version`,`backend`,`auth_type`,`api_mode`,`vertex_project`,`vertex_location`,`service_account_file`,y9,`service_account_json_base64`,`gcp_scope`,b9];function CZe(){return{[g9]:{label:yK(),control:`keys`,hint:sq()},[_9]:{label:SK(),control:`checkbox`,hint:uq()},[v9]:{label:TK(),control:`text`},api_version:{label:OK(),control:`text`,placeholder:`e.g. 2024-10-01-preview`,hint:pq()},backend:{label:jK(),control:`select`,hint:gq()},auth_type:{label:PK(),control:`select`,hint:yq()},api_mode:{label:LK(),control:`select`,hint:Sq()},vertex_project:{label:BK(),control:`text`,placeholder:`my-gcp-project`},vertex_location:{label:UK(),control:`text`,placeholder:`us-central1`},service_account_file:{label:KK(),control:`text`,placeholder:`/path/to/service-account.json`,hint:Tq()},[y9]:{label:YK(),control:`textarea`,placeholder:jDe(),hint:Oq()},service_account_json_base64:{label:QK(),control:`text`,hint:jq()},gcp_scope:{label:tq(),control:`text`,placeholder:`https://www.googleapis.com/auth/cloud-platform`},[b9]:{label:iq(),control:`text`,placeholder:`gpt-4o, gpt-4o-mini`,hint:Pq()}}}function wZe(e){return CZe()[e]||{label:String(e||``).split(`_`).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),control:`text`}}function S9(){return{name:``,type:``,api_keys:[],session_sticky_keys:!0,base_url:``,api_version:``,backend:``,auth_type:``,api_mode:``,vertex_project:``,vertex_location:``,service_account_file:``,service_account_json:``,service_account_json_base64:``,gcp_scope:``,models:``,enabled:!0}}function TZe(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.type,e.base_url].some(e=>String(e||``).toLowerCase().includes(r)))}function EZe(e,t){let n=(Array.isArray(e)?e:[]).map(e=>String(e&&e.type||``).trim()).filter(Boolean),r=String(t||``).trim();return r&&!n.includes(r)&&n.push(r),n}function DZe(e,t){let n=String(t||``).trim();return n&&(Array.isArray(e)?e:[]).find(e=>String(e&&e.type||``).trim()===n)||null}function C9(e,t){let n=e&&Array.isArray(e.fields)&&e.fields.length>0?e.fields:x9.map(e=>({name:e,advanced:e!==g9})),r=t||e&&e.default_base_url||``,i=[],a=[];for(let e of n){let t=String(e&&e.name||``).trim();if(!t)continue;let n={...wZe(t),name:t,required:!!(e&&e.required),options:Array.isArray(e&&e.options)?e.options:[]};t===`base_url`&&r&&(n.placeholder=r,n.hint=Lq({value:r})),n.options.length>0&&(n.control=`select`),(e&&e.advanced?a:i).push(n)}return{primary:i,advanced:a}}var OZe=new Set([`name`,`type`,`enabled`]);function kZe(e,t){let n=new Set([...t.primary||[],...t.advanced||[]].map(e=>e.name)),r=S9(),i={...e};for(let e of Object.keys(r))!OZe.has(e)&&!n.has(e)&&(i[e]=r[e]);return i}function AZe(e){let t=Array.isArray(e&&e.api_keys)?e.api_keys.length:0;return t>0?Bq({count:t}):String(e&&e.service_account_json||``).trim()||String(e&&e.service_account_json_base64||``).trim()||String(e&&e.service_account_file||``).trim()?Uq():String(e&&e.vertex_project||``).trim()?`ADC`:Kq()}function jZe(e){let t=Array.isArray(e&&e.models)?e.models:[];return t.length===0?Yq():Qq({count:t.length})}function MZe(e){return(Array.isArray(e)?e:[]).map(e=>({value:String(e||``)}))}function w9(e){return(Array.isArray(e)?e:[]).map(e=>String(e&&e.value||``))}function NZe(e,t){let n=String(t||``).trim();if(!n)return``;let r=new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.name||``).trim()));if(!r.has(n))return n;let i=1;for(;r.has(n+`-`+i);)i+=1;return n+`-`+i}function PZe(e){return{name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),api_keys:MZe(e&&e.api_keys),session_sticky_keys:!e||e.session_sticky_keys!==!1,base_url:String(e&&e.base_url||``),api_version:String(e&&e.api_version||``),backend:String(e&&e.backend||``),auth_type:String(e&&e.auth_type||``),api_mode:String(e&&e.api_mode||``),vertex_project:String(e&&e.vertex_project||``),vertex_location:String(e&&e.vertex_location||``),service_account_file:String(e&&e.service_account_file||``),service_account_json:String(e&&e.service_account_json||``),service_account_json_base64:String(e&&e.service_account_json_base64||``),gcp_scope:String(e&&e.gcp_scope||``),models:(Array.isArray(e&&e.models)?e.models:[]).join(`, `),enabled:!e||e.enabled!==!1}}function FZe(e){let t=String(e||``).trim();return t.length>=3&&/^\*+$/.test(t)}function IZe(e,t,n,r){let i={},a=String(e&&e.name||``).trim();String(e&&e.type||``).trim()||(i.type=PDe()),a?a.includes(`/`)?i.name=BDe():t===`create`&&(Array.isArray(n)?n:[]).some(e=>String(e&&e.name||``).trim()===a)&&(i.name=tOe({name:a})):i.name=LDe();let{primary:o,advanced:s}=C9(r);for(let t of[...o,...s]){let n=LZe(e,t);n&&(i[t.name]=n)}return i}function LZe(e,t){if(t.name===`api_keys`){let n=w9(e&&e.api_keys);return t.required&&!n.some(e=>e.trim())?UDe():n.some(e=>!e.trim())?KDe():``}let n=String(e&&e[t.name]||``).trim();if(t.required&&!n)return iOe({field:t.label});if(!n)return``;if(t.name===`base_url`&&!n.includes(`://`)&&/[./]/.test(n))return YDe({value:n});if(t.name===`service_account_json`&&!FZe(n))try{JSON.parse(n)}catch{return QDe()}return``}function RZe(e,t){let n={name:String(e&&e.name||``).trim(),type:String(e&&e.type||``).trim(),enabled:!!(e&&e.enabled)},{primary:r,advanced:i}=C9(t),a=!!(t&&Array.isArray(t.fields)&&t.fields.length>0),o=new Set;for(let t of[...r,...i])!a&&t.name===`session_sticky_keys`||(o.add(t.name),n[t.name]=T9(e,t.name));for(let t of x9){if(o.has(t)||t===`session_sticky_keys`)continue;let r=T9(e,t);(Array.isArray(r)?r.length>0:String(r).trim()!==``)&&(n[t]=r)}return n}function T9(e,t){switch(t){case g9:return w9(e&&e.api_keys);case b9:return VX(e&&e.models);case _9:return!!(e&&e.session_sticky_keys);case y9:return e&&e.service_account_json||``;default:return String(e&&e[t]||``).trim()}}var E9=new class{#e=j(N([]));get rows(){return R(this.#e)}set rows(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get formOpen(){return R(this.#a)}set formOpen(e){M(this.#a,e,!0)}#o=j(!1);get formSubmitting(){return R(this.#o)}set formSubmitting(e){M(this.#o,e,!0)}#s=j(`create`);get formMode(){return R(this.#s)}set formMode(e){M(this.#s,e,!0)}#c=j(!1);get advancedOpen(){return R(this.#c)}set advancedOpen(e){M(this.#c,e,!0)}#l=j(N(S9()));get form(){return R(this.#l)}set form(e){M(this.#l,e,!0)}#u=j(N({}));get fieldErrors(){return R(this.#u)}set fieldErrors(e){M(this.#u,e,!0)}#d=j(``);get focusField(){return R(this.#d)}set focusField(e){M(this.#d,e,!0)}#f=j(``);get deletingName(){return R(this.#f)}set deletingName(e){M(this.#f,e,!0)}#p=j(!1);get deleteSubmitting(){return R(this.#p)}set deleteSubmitting(e){M(this.#p,e,!0)}#m=j(N([]));get types(){return R(this.#m)}set types(e){M(this.#m,e,!0)}#h=j(!1);get typesLoaded(){return R(this.#h)}set typesLoaded(e){M(this.#h,e,!0)}#g=null;get filteredRows(){return TZe(this.rows,this.filter)}get schema(){return DZe(this.types,this.form.type)}get formFields(){if(!String(this.form.type||``).trim())return{primary:[],advanced:[]};let e=this.schema;return C9(e,e&&e.default_base_url)}async fetchTypes(){let e=await k3(`/admin/provider-credentials/types`,{label:`provider credential types`});e.status===`ok`&&(this.types=e.items,this.typesLoaded=!0)}async fetchPage(){this.#g&&this.#g.abort();let e=new AbortController;this.#g=e,this.loading=!0,this.error=``;try{let t=await k3(`/admin/provider-credentials`,{label:`provider credentials`,errorFallback:QG(),unavailableStatuses:[503,404],options:{signal:e.signal}});if(t.status===`stale`||e.signal.aborted)return;if(t.status===`unavailable`){this.available=!1,this.rows=[];return}if(t.status===`error`){t.result&&(this.available=!0),this.rows=[],this.error=t.error;return}this.available=!0,this.rows=t.items,this.typesLoaded||await this.fetchTypes()}finally{this.#g===e&&(this.#g=null,this.loading=!1)}}#_(e,t){this.formMode=e,this.form=t,this.advancedOpen=!1,this.error=``,this.fieldErrors={},this.focusField=``}openCreate(){this.#_(`create`,S9()),this.formOpen=!0,this.typesLoaded||this.fetchTypes()}openEdit(e){!e||e.managed||(this.#_(`edit`,PZe(e)),this.formOpen=!0,this.typesLoaded||this.fetchTypes())}closeForm(){this.formOpen=!1,this.#_(`create`,S9())}selectType(){this.fieldErrors={};let e=this.formFields;this.formMode===`create`&&(this.form=kZe(this.form,e));let t=e.primary.find(e=>e.name===`api_keys`);t&&t.required&&this.form.api_keys.length===0&&(this.form.api_keys=[{value:``}])}clearFieldError(e){if(this.fieldErrors[e]===void 0)return;let{[e]:t,...n}=this.fieldErrors;this.fieldErrors=n}addApiKeyRow(){this.form.api_keys.push({value:``}),this.clearFieldError(`api_keys`)}removeApiKeyRow(e){this.form.api_keys.splice(e,1),this.clearFieldError(`api_keys`)}#v(e){let t=bX(e,tK()),n=String(e&&e.error&&typeof e.error==`object`&&e.error.param||``).trim();if(n&&this.#y(n)){this.fieldErrors={...this.fieldErrors,[n]:t},this.error=``,this.#b();return}this.error=t}#y(e){if(e===`name`||e===`type`)return!0;let{primary:t,advanced:n}=this.formFields;return[...t,...n].some(t=>t.name===e)}#b(){let e=Object.keys(this.fieldErrors);if(e.length===0)return;let{primary:t,advanced:n}=this.formFields;n.some(t=>e.includes(t.name))&&(this.advancedOpen=!0);let r=[`type`,`name`,...t.map(e=>e.name),...n.map(e=>e.name)];this.focusField=r.find(t=>e.includes(t))||e[0]}#x(){lZ.fetchModels(),lZ.fetchCategories()}async submitForm(){let e=this.schema,t=IZe(this.form,this.formMode,this.rows,e);if(Object.keys(t).length>0){this.fieldErrors=t,this.error=``,this.#b();return}let n=RZe(this.form,e);this.error=``,this.fieldErrors={},this.formSubmitting=!0;try{let e=await A3(`/admin/provider-credentials`,`PUT`,n,{label:`save provider credential`,errorFallback:tK(),unavailableMessage:Bk()});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,this.error=e.error;return}if(e.status===`error`){e.result&&e.result.status!==401?this.#v(e.result.data):this.error=e.error;return}BX.success(iK({name:n.name})),this.closeForm(),this.#x(),this.fetchPage()}finally{this.formSubmitting=!1}}async performDelete(e){this.deleteSubmitting=!0,this.deletingName=e;try{let t=await A3(`/admin/provider-credentials/`+encodeURIComponent(e),`DELETE`,void 0,{label:`delete provider credential`,errorFallback:sK(),unavailableMessage:Bk()});if(t.status===`stale`)return;if(t.status===`unavailable`){this.available=!1,PX.error=t.error;return}if(t.status===`error`){PX.error=t.error;return}BX.success(uK({name:e})),PX.close(),this.formOpen&&this.form.name===e&&this.closeForm(),this.#x(),this.fetchPage()}finally{this.deleteSubmitting=!1,this.deletingName=``}}requestDelete(e){let t=String(e||``).trim();if(!t||this.deleteSubmitting)return;let n=(this.rows||[]).find(e=>String(e&&e.name||``).trim()===t);n&&n.managed||PX.open({title:pK(),titleId:`providerCredentialDeleteDialogTitle`,inputId:`provider-credential-delete-confirmation`,message:gK({name:t}),requiredText:t,confirmLabel:pK(),icon:KY,dialogClass:`budget-reset-dialog`,onConfirm:()=>this.performDelete(t)})}},zZe=B(` `),BZe=B(` `,1),VZe=B(`
      `),HZe=B(`
      `);function UZe(e,t){O(t,!0);var n=HZe(),r=P(n),i=P(r),a=P(i),o=P(a),s=P(o,!0);D(o);var c=I(o),l=P(c,!0);D(c);var u=I(c),d=P(u,!0);D(u);var f=I(u),p=P(f,!0);D(f);var m=I(f),h=P(m,!0);D(m);var g=I(m),_=P(g,!0);D(g);var v=I(g),y=P(v,!0);D(v);var b=I(v),x=P(b,!0);D(b),D(a),D(i);var S=I(i);W(S,21,()=>E9.filteredRows,e=>e.name,(e,t)=>{var n=VZe(),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=e=>{var t=zZe(),n=P(t,!0);D(t),L((e,r)=>{K(t,`title`,e),H(n,r)},[()=>SA(),()=>LV()]),V(e,t)};U(o,e=>{R(t).managed&&e(s)}),D(r);var c=I(r),l=P(c),u=P(l,!0);D(l),D(c);var d=I(c),f=P(d,!0);D(d);var p=I(d),m=P(p,!0);D(p);var h=I(p),g=P(h,!0);D(h);var _=I(h),v=P(_);let y;var b=P(v,!0);D(v),D(_);var x=I(_),S=P(x,!0);D(x);var C=I(x),w=P(C),T=P(w),ee=e=>{var n=BZe(),r=F(n);{let e=A(()=>UG({name:R(t).name}));O3(r,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>E9.openEdit(R(t)),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}var i=I(r,2);{let e=A(()=>E9.deletingName===R(t).name?YG({name:R(t).name}):KG({name:R(t).name})),n=A(()=>E9.deletingName===R(t).name);O3(i,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>E9.requestDelete(R(t).name),get disabled(){return R(n)},children:(e,t)=>{J(e,{get icon(){return XY},class:`table-icon-svg`})},$$slots:{default:!0}})}V(e,n)};U(T,e=>{R(t).managed||e(ee)}),D(w),D(C),D(n),L((e,n,r,i)=>{H(a,R(t).name),H(u,R(t).type),K(d,`title`,R(t).base_url||``),H(f,R(t).base_url||`—`),H(m,e),H(g,n),y=G(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":R(t).enabled,"auth-key-status-inactive":!R(t).enabled}),H(b,r),H(S,i)},[()=>AZe(R(t)),()=>jZe(R(t)),()=>R(t).enabled?jV():PV(),()=>yX.formatTimestamp(R(t).updated_at)]),V(e,n)}),D(S),D(r),D(n),L((e,t,n,r,i,a,o,c)=>{H(s,e),H(l,t),H(d,n),H(p,r),H(h,i),H(_,a),H(y,o),H(x,c)},[()=>tA(),()=>iA(),()=>Il(),()=>sA(),()=>uA(),()=>pA(),()=>gA(),()=>yA()]),V(e,n),k()}var WZe=B(``),GZe=B(`
      `),KZe=B(`
      `,1),qZe=B(``),JZe=B(``),YZe=B(``),XZe=B(``),ZZe=B(``),QZe=B(` `),$Ze=B(` `),eQe=B(`
      `);function D9(e,t){O(t,!0);let n=A(()=>`provider-credential-`+t.field.name),r=A(()=>E9.fieldErrors[t.field.name]||``),i=A(()=>R(r)?R(n)+`-error`:t.field.hint?R(n)+`-hint`:void 0),a=A(()=>{let e=String(E9.form[t.field.name]||``).trim();return!e||t.field.options.includes(e)?t.field.options:[...t.field.options,e]});function o(){E9.clearFieldError(t.field.name)}var s=eQe(),c=P(s),l=P(c),u=I(l),d=e=>{V(e,WZe())};U(u,e=>{t.field.required&&e(d)}),D(c);var f=I(c,2),p=e=>{var t=KZe(),a=F(t);W(a,21,()=>E9.form.api_keys,Ar,(e,t,a)=>{var s=GZe(),c=P(s);bi(c);var l=I(c,2);{let e=A(()=>PG({number:a+1}));O3(l,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>E9.removeApiKeyRow(a),children:(e,t)=>{J(e,{get icon(){return KY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(s),L(e=>{K(c,`id`,a===0?R(n):R(n)+`-`+a),K(c,`aria-label`,e),K(c,`aria-invalid`,R(r)?`true`:void 0),K(c,`aria-describedby`,a===0?R(i):void 0)},[()=>jG({number:a+1})]),z(`input`,c,o),Di(c,()=>R(t).value,e=>R(t).value=e),V(e,s)}),D(a);var s=I(a,2),c=P(s),l=P(c);J(l,{get icon(){return RY},class:`form-action-icon`});var u=I(l,2),d=P(u,!0);D(u),D(c),D(s),L(e=>{K(c,`id`,E9.form.api_keys.length===0?R(n):void 0),H(d,e)},[()=>LG()]),z(`click`,c,()=>E9.addApiKeyRow()),V(e,t)},m=e=>{var s=JZe(),c=P(s),l=P(c,!0);D(c),c.value=c.__value=``,W(I(c),16,()=>R(a),e=>e,(e,t)=>{var n=qZe(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(s),L(e=>{K(s,`id`,R(n)),K(s,`aria-invalid`,R(r)?`true`:void 0),K(s,`aria-describedby`,R(i)),H(l,e)},[()=>BG()]),z(`change`,s,o),pi(s,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,s)},h=e=>{var a=YZe();bi(a),L(()=>{K(a,`id`,R(n)),K(a,`aria-invalid`,R(r)?`true`:void 0),K(a,`aria-describedby`,R(i))}),z(`change`,a,o),Oi(a,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,a)},g=e=>{var a=XZe();at(a),L(()=>{K(a,`id`,R(n)),K(a,`placeholder`,t.field.placeholder||``),K(a,`aria-invalid`,R(r)?`true`:void 0),K(a,`aria-describedby`,R(i))}),z(`input`,a,o),Di(a,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,a)},_=e=>{var a=ZZe();bi(a),L(()=>{K(a,`id`,R(n)),K(a,`placeholder`,t.field.placeholder||``),K(a,`aria-invalid`,R(r)?`true`:void 0),K(a,`aria-describedby`,R(i))}),z(`input`,a,o),Di(a,()=>E9.form[t.field.name],e=>E9.form[t.field.name]=e),V(e,a)};U(f,e=>{t.field.control===`keys`?e(p):t.field.control===`select`?e(m,1):t.field.control===`checkbox`?e(h,2):t.field.control===`textarea`?e(g,3):e(_,-1)});var v=I(f,2),y=e=>{var t=QZe(),i=P(t,!0);D(t),L(()=>{K(t,`id`,R(n)+`-error`),H(i,R(r))}),V(e,t)},b=e=>{var r=$Ze(),i=P(r,!0);D(r),L(()=>{K(r,`id`,R(n)+`-hint`),H(i,t.field.hint)}),V(e,r)};U(v,e=>{R(r)?e(y):t.field.hint&&e(b,1)}),D(s),L(()=>{K(c,`for`,R(n)),H(l,`${t.field.label??``} `)}),V(e,s),k()}vr([`input`,`click`,`change`]);var O9=B(`

      `),tQe=B(``),nQe=B(` `),rQe=B(` `),iQe=B(` `),k9=B(` `),aQe=B(`
      `),oQe=B(`
      `,1);function sQe(e,t){O(t,!0);let n=A(()=>EZe(E9.types,E9.form.type)),r=A(()=>E9.formFields),i=A(()=>E9.fieldErrors.name||``),a=A(()=>E9.fieldErrors.type||``);function o(){E9.selectType(),E9.formMode===`create`&&(E9.form.name=NZe(E9.rows,E9.form.type))}dn(()=>{let e=E9.focusField;if(!e)return;E9.focusField=``;let t=document.getElementById(`provider-credential-`+e);t&&(t.scrollIntoView({block:`center`}),t.focus({preventScroll:!0}))});{let t=e=>{var t=O9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>sG()]),V(e,t)},s=A(()=>E9.formMode===`edit`?tG():Lk()),c=A(()=>iG());t6(e,{get open(){return E9.formOpen},get title(){return R(s)},get ariaLabel(){return R(c)},get error(){return E9.error},get submitting(){return E9.formSubmitting},novalidate:!0,onclose:()=>E9.closeForm(),onsubmit:()=>E9.submitForm(),headerHint:t,children:(e,t)=>{var s=oQe(),c=F(s),l=P(c),u=P(l,!0);Ve(),D(l);var d=I(l,2),f=P(d),p=P(f,!0);D(f),f.value=f.__value=``,W(I(f),16,()=>R(n),e=>e,(e,t)=>{var n=tQe(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(d);var m=I(d,2),h=e=>{var t=nQe(),n=P(t,!0);D(t),L(()=>H(n,R(a))),V(e,t)},g=e=>{var t=rQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pG()]),V(e,t)};U(m,e=>{R(a)?e(h):e(g,-1)}),D(c);var _=I(c,2),v=P(_),y=P(v,!0);Ve(),D(v);var b=I(v,2);bi(b);var x=I(b,2),S=e=>{var t=iQe(),n=P(t,!0);D(t),L(()=>H(n,R(i))),V(e,t)},C=e=>{var t=k9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gG()]),V(e,t)},w=e=>{var t=k9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>yG()]),V(e,t)};U(x,e=>{R(i)?e(S):E9.formMode===`create`?e(C,1):e(w,-1)}),D(_);var T=I(_,2),ee=e=>{var t=O9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>SG()]),V(e,t)};U(T,e=>{E9.form.type||e(ee)});var E=I(T,2);W(E,17,()=>R(r).primary,e=>e.name,(e,t)=>{D9(e,{get field(){return R(t)}})});var te=I(E,2),ne=P(te),re=P(ne);{let e=A(()=>TG());j8(re,{get enabled(){return E9.form.enabled},get label(){return R(e)},onclick:()=>E9.form.enabled=!E9.form.enabled})}D(ne),D(te);var ie=I(te,2),ae=e=>{var t=aQe(),n=P(t),i=P(n),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i),D(n);var l=I(n,2);W(l,21,()=>R(r).advanced,e=>e.name,(e,t)=>{D9(e,{get field(){return R(t)}})}),D(l),D(t),L((e,n)=>{t.open=E9.advancedOpen,H(o,e),H(c,n)},[()=>OG(),()=>R(r).advanced.map(e=>e.label).join(`, `)]),_r(`toggle`,t,e=>E9.advancedOpen=e.currentTarget.open),V(e,t)};U(ie,e=>{R(r).advanced.length>0&&e(ae)}),L((e,t,n)=>{H(u,e),d.disabled=E9.formMode===`edit`,K(d,`aria-invalid`,R(a)?`true`:void 0),K(d,`aria-describedby`,R(a)?`provider-credential-type-error`:`provider-credential-type-hint`),H(p,t),H(y,n),b.disabled=E9.formMode===`edit`,K(b,`aria-invalid`,R(i)?`true`:void 0),K(b,`aria-describedby`,R(i)?`provider-credential-name-error`:`provider-credential-name-hint`)},[()=>iA(),()=>uG(),()=>tA()]),z(`change`,d,o),pi(d,()=>E9.form.type,e=>E9.form.type=e),z(`input`,b,()=>E9.clearFieldError(`name`)),Di(b,()=>E9.form.name,e=>E9.form.name=e),V(e,s)},$$slots:{headerHint:!0,default:!0}})}k()}vr([`change`,`input`]);var cQe=B(`

      `),lQe=B(``),uQe=B(`
      `),dQe=B(``),fQe=B(`
      `),A9=B(`

      `),pQe=B(`
      `);function mQe(e,t){O(t,!0),dn(()=>{X.refreshTick,eX.page===`providers-config`&&E9.fetchPage()});var n=pQe(),r=P(n),i=P(r);V4(P(i),{copyId:`providers-config-help-copy`,label:`model providers help`,title:e=>{var t=cQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Pk()]),V(e,t)},help:e=>{Ve(),V(e,wr(`Configure LLM provider credentials here instead of setting API keys as\r + environment variables. Providers declared in config.yaml or env vars\r + are read-only (Config badge) and cannot be edited or deleted from the\r dashboard. Keys are masked after saving.`))},$$slots:{title:!0,help:!0}}),D(i);var a=I(i,2),o=P(a),s=e=>{var t=lQe(),n=P(t);J(n,{get icon(){return RY},class:`form-action-icon`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=E9.formSubmitting,H(i,e)},[()=>Lk()]),z(`click`,t,()=>E9.openCreate()),V(e,t)};U(o,e=>{E9.available&&!X.needsAuth&&e(s)}),D(a),D(r);var c=I(r,2),l=e=>{var t=uQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Bk()]),V(e,t)};U(c,e=>{!E9.available&&!X.needsAuth&&e(l)});var u=I(c,2),d=e=>{var t=dQe(),n=P(t,!0);D(t),L(()=>H(n,E9.error)),V(e,t)};U(u,e=>{E9.error&&!X.needsAuth&&!E9.formOpen&&e(d)});var f=I(u,2),p=e=>{H4(e,{label:`Loading providers...`})};U(f,e=>{E9.loading&&!X.needsAuth&&e(p)});var m=I(f,2),h=e=>{var t=fQe(),n=P(t),r=P(n);{let e=A(()=>Uk()),t=A(()=>Kk());v3(r,{id:`provider-credential-filter`,get placeholder(){return R(e)},get label(){return R(t)},get value(){return E9.filter},set value(e){E9.filter=e}})}D(n),D(t),V(e,t)};U(m,e=>{(E9.rows.length>0||E9.filter)&&E9.available&&!X.needsAuth&&e(h)});var g=I(m,2);sQe(g,{});var _=I(g,2),v=e=>{UZe(e,{})};U(_,e=>{E9.filteredRows.length>0&&E9.available&&!X.needsAuth&&e(v)});var y=I(_,2),b=e=>{var t=A9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Yk()]),V(e,t)};U(y,e=>{E9.rows.length===0&&!E9.filter&&!E9.loading&&!X.needsAuth&&!E9.error&&E9.available&&e(b)});var x=I(y,2),S=e=>{var t=A9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Qk()]),V(e,t)};U(x,e=>{E9.rows.length>0&&E9.filteredRows.length===0&&E9.filter&&!E9.loading&&!X.needsAuth&&E9.available&&e(S)}),D(n),V(e,n),k()}vr([`click`]);function j9(){return{name:``,description:``,user_path:``,labels:``,dashboard_access:!1,expires_at:``}}function M9(e){let t=[];for(let n of String(e||``).split(`,`)){let e=n.trim();e&&!t.includes(e)&&t.push(e)}return t}function N9(e){let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t;for(let e of n.split(`/`)){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return KH();if(t.includes(`:`))return YH()}}return``}function hQe(e){if(N9(e))return``;let t=String(e||``).trim();if(!t)return``;let n=t.startsWith(`/`)?t:`/`+t,r=[];for(let e of n.split(`/`)){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function gQe(e){let t=e||{},n=String(t.name||``).trim();if(!n)return{error:UH()};let r=N9(t.user_path);if(r)return{error:r};let i=hQe(t.user_path),a=M9(t.labels),o={name:n,description:String(t.description||``).trim()||void 0,user_path:i||void 0,labels:a.length?a:void 0,dashboard_access:t.dashboard_access?!0:void 0};return t.expires_at&&(o.expires_at=t.expires_at+`T23:59:59Z`),{payload:o}}function P9(e,t=Date.now()){let n=e&&e.expires_at;if(!n)return!1;let r=Date.parse(n);return Number.isFinite(r)&&r<=t}function F9(e){return e?!!e.deactivated_at||e.enabled===!1:!1}function I9(e,t=Date.now()){return!e||e.active===!1||F9(e)?!1:!P9(e,t)}function _Qe(e){return[e.name,e.description,e.user_path,e.redacted_value,...e.labels||[]].filter(Boolean).join(` `).toLowerCase()}function vQe(e,t={}){let{query:n=``,showInactive:r=!1,now:i=Date.now()}=t,a=String(n||``).trim().toLowerCase();return(Array.isArray(e)?e:[]).filter(e=>!r&&!I9(e,i)?!1:!a||_Qe(e).includes(a))}function L9(e,t){return F9(e)?2:+!I9(e,t)}function R9(e){let t=e&&e.expires_at;if(!t)return 1/0;let n=Date.parse(t);return Number.isFinite(n)?n:1/0}function z9(e){let t=Date.parse(e&&e.deactivated_at||``);return Number.isFinite(t)?t:-1/0}function yQe(e,t=Date.now()){return(Array.isArray(e)?e.slice():[]).sort((e,n)=>{let r=L9(e,t),i=L9(n,t);if(r!==i)return r-i;let[a,o]=r===2?[z9(e),z9(n)]:[R9(e),R9(n)];return a===o?String(e.name||``).localeCompare(String(n.name||``)):a>o?-1:1})}function bQe(e,t=Date.now()){return(Array.isArray(e)?e:[]).reduce((e,n)=>e+ +!I9(n,t),0)}function B9(){return{open:!1,id:``,name:``,value:``,submitting:!1,error:``}}var V9=new class{#e=j(N([]));get keys(){return R(this.#e)}set keys(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get showInactive(){return R(this.#a)}set showInactive(e){M(this.#a,e,!0)}#o=A(()=>yQe(vQe(this.keys,{query:this.filter,showInactive:this.showInactive})));get visibleKeys(){return R(this.#o)}set visibleKeys(e){M(this.#o,e)}#s=A(()=>bQe(this.keys));get inactiveCount(){return R(this.#s)}set inactiveCount(e){M(this.#s,e)}#c=j(!1);get formOpen(){return R(this.#c)}set formOpen(e){M(this.#c,e,!0)}#l=j(!1);get formSubmitting(){return R(this.#l)}set formSubmitting(e){M(this.#l,e,!0)}#u=j(``);get issuedValue(){return R(this.#u)}set issuedValue(e){M(this.#u,e,!0)}#d=j(``);get deactivatingID(){return R(this.#d)}set deactivatingID(e){M(this.#d,e,!0)}#f=j(``);get dashboardAccessID(){return R(this.#f)}set dashboardAccessID(e){M(this.#f,e,!0)}#p=j(N(j9()));get form(){return R(this.#p)}set form(e){M(this.#p,e,!0)}#m=j(N(B9()));get labelsEditor(){return R(this.#m)}set labelsEditor(e){M(this.#m,e,!0)}copyState=C3({logPrefix:`Failed to copy auth key:`});async fetchKeys(){this.loading=!0,this.error=``;try{let e=await k3(`/admin/auth-keys`,{label:`auth keys`,errorFallback:uH()});if(e.status===`stale`)return;if(e.status===`unavailable`){this.available=!1,this.keys=[];return}if(e.status===`error`){e.result&&(this.available=!0),this.error=e.error;return}this.available=!0,this.keys=e.items}finally{this.loading=!1}}openForm(){this.formSubmitting||this.formOpen||(this.formOpen=!0,this.error=``,this.issuedValue||(this.copyState.reset(),this.form=j9()))}closeForm(){this.formOpen&&(this.formOpen=!1,this.error=``,this.copyState.reset(),!this.formSubmitting&&!this.issuedValue&&(this.form=j9()))}copyIssuedValue(){return this.copyState.copy(this.issuedValue)}dismissIssuedKey(){this.issuedValue=``,this.copyState.reset(),this.form=j9()}async submitForm(){let e=gQe(this.form);if(e.error){this.error=e.error;return}this.error=``,this.formSubmitting=!0;try{let t=await A3(`/admin/auth-keys`,`POST`,e.payload,{label:`create API key`,errorFallback:pH(),unavailableMessage:gH()});if(t.status===`stale`)return;if(t.status===`unavailable`){this.available=!1,this.error=t.error;return}if(t.status===`error`){this.error=t.error,t.result&&t.result.status!==401&&console.error(`Failed to create API key:`,t.result.status,this.error);return}let n=t.result.data||{};this.issuedValue=n.value||``,this.formOpen=!0,this.copyState.reset(),this.form=j9(),this.fetchKeys()}finally{this.formSubmitting=!1}}openLabelsEditor(e){!e||this.labelsEditor.submitting||(this.labelsEditor={open:!0,id:e.id,name:e.name||``,value:(e.labels||[]).join(`, `),submitting:!1,error:``})}closeLabelsEditor(){!this.labelsEditor.open||this.labelsEditor.submitting||(this.labelsEditor=B9())}async submitLabelsEditor(){let e=this.labelsEditor;if(!e.open||e.submitting||!e.id)return;e.submitting=!0,e.error=``;let t={labels:M9(e.value)};try{let n=await A3(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/labels`,`PUT`,t,{label:`update API key labels`,errorFallback:yH(),unavailableMessage:gH()});if(n.status===`stale`)return;if(n.status===`unavailable`){this.available=!1,e.error=n.error;return}if(n.status===`error`){e.error=n.error,n.result&&n.result.status!==401&&console.error(`Failed to update auth key labels:`,n.result.status,e.error);return}BX.success(SH({name:e.name})),e.submitting=!1,this.closeLabelsEditor(),this.fetchKeys()}finally{e.submitting=!1}}async toggleDashboardAccess(e){if(!e||!e.active||this.dashboardAccessID)return;let t=!e.dashboard_access;this.dashboardAccessID=e.id;try{let n=await A3(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/dashboard-access`,`PUT`,{dashboard_access:t},{label:`update API key dashboard access`,errorFallback:TH(),unavailableMessage:gH()});if(n.status===`stale`)return;if(n.status===`unavailable`){this.available=!1,BX.error(n.error);return}if(n.status===`error`){n.result&&n.result.status!==401&&console.error(`Failed to update auth key dashboard access:`,n.result.status,n.error),BX.error(n.error);return}BX.success(t?OH({name:e.name}):jH({name:e.name})),this.fetchKeys()}finally{this.dashboardAccessID=``}}async deactivateKey(e){if(!(!e||!e.active)&&window.confirm(PH({name:e.name}))){this.deactivatingID=e.id;try{let t=await A3(`/admin/auth-keys/`+encodeURIComponent(e.id)+`/deactivate`,`POST`,void 0,{label:`deactivate API key`,errorFallback:LH(),unavailableMessage:gH()});if(t.status===`stale`)return;if(t.status===`unavailable`){this.available=!1,BX.error(t.error);return}if(t.status===`error`){t.result&&t.result.status!==401&&console.error(`Failed to deactivate auth key:`,t.result.status,t.error),BX.error(t.error);return}BX.success(BH({name:e.name})),this.fetchKeys()}finally{this.deactivatingID=``}}}},xQe=B(``),SQe=B(`

      `),CQe=B(``),wQe=B(``),TQe=B(``),EQe=B(``),DQe=B(`
      `);function OQe(e,t){O(t,!0);{let t=A(()=>uw()),n=A(()=>Bw()),r=A(()=>V9.issuedValue?``:V9.error),i=A(()=>V9.issuedValue?Uw():uw()),a=A(()=>Kw()),o=A(()=>V9.issuedValue?TY:RY);t6(e,{get open(){return V9.formOpen},get title(){return R(t)},get ariaLabel(){return R(n)},get error(){return R(r)},get submitting(){return V9.formSubmitting},get submitLabel(){return R(i)},get submittingLabel(){return R(a)},get submitIcon(){return R(o)},cancel:!1,dialogClass:`auth-key-editor`,onclose:()=>V9.closeForm(),onsubmit:()=>V9.issuedValue?V9.dismissIssuedKey():V9.submitForm(),children:(e,t)=>{var n=Tr(),r=F(n),i=e=>{var t=SQe(),n=P(t),r=P(n,!0);D(n);var i=I(n,2),a=P(i),o=P(a,!0);D(a),$8(I(a,2),{get state(){return V9.copyState},onclick:()=>V9.copyIssuedValue()}),D(i);var s=I(i,2),c=e=>{var t=xQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Qw()]),V(e,t)};U(s,e=>{V9.copyState.error&&e(c)}),D(t),L(e=>{H(r,e),H(o,V9.issuedValue)},[()=>Yw()]),V(e,t)},a=e=>{var t=DQe(),n=P(t),r=P(n),i=P(r),a=P(i),o=I(a),s=P(o);D(o),D(i);var c=I(i,2);bi(c),D(r);var l=I(r,2),u=P(l),d=P(u),f=I(d),p=P(f);D(f),D(u);var m=I(u,2);bi(m),D(l),D(n);var h=I(n,2),g=P(h);{let e=e=>{var t=CQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pT()]),V(e,t)},t=e=>{Ve();var t=wr();L(e=>H(t,e),[()=>yT()]),V(e,t)},n=A(()=>gT());V4(g,{copyId:`auth-key-user-path-help-copy`,get label(){return R(n)},title:e,help:t,$$slots:{title:!0,help:!0}})}var _=I(g,2);bi(_),D(h);var v=I(h,2),y=P(v);{let e=e=>{var t=wQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>ST()]),V(e,t)},t=e=>{Ve();var t=wr();L(e=>H(t,e),[()=>OT()]),V(e,t)},n=A(()=>TT());V4(y,{copyId:`auth-key-labels-help-copy`,get label(){return R(n)},title:e,help:t,$$slots:{title:!0,help:!0}})}var b=I(y,2);bi(b),D(v);var x=I(v,2),S=P(x);{let e=e=>{var t=TQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jT()]),V(e,t)},t=e=>{Ve();var t=wr();L(e=>H(t,e),[()=>LT()]),V(e,t)},n=A(()=>PT());V4(S,{copyId:`auth-key-dashboard-access-help-copy`,get label(){return R(n)},title:e,help:t,$$slots:{title:!0,help:!0}})}var C=I(S,2),w=P(C);bi(w);var T=I(w,2),ee=P(T,!0);D(T),D(C),D(x);var E=I(x,2);{let e=A(()=>UT());n6(E,{id:`auth-key-description`,get label(){return R(e)},children:(e,t)=>{var n=EQe();at(n),L(e=>K(n,`placeholder`,e),[()=>KT()]),Di(n,()=>V9.form.description,e=>V9.form.description=e),V(e,n)},$$slots:{default:!0}})}D(t),L((e,t,n,r,i)=>{H(a,`${e??``} `),H(s,`(${t??``})`),H(d,`${n??``} `),H(p,`(${r??``})`),H(ee,i)},[()=>tT(),()=>iT(),()=>sT(),()=>uT(),()=>BT()]),Di(c,()=>V9.form.name,e=>V9.form.name=e),Di(m,()=>V9.form.expires_at,e=>V9.form.expires_at=e),Di(_,()=>V9.form.user_path,e=>V9.form.user_path=e),Di(b,()=>V9.form.labels,e=>V9.form.labels=e),Oi(w,()=>V9.form.dashboard_access,e=>V9.form.dashboard_access=e),V(e,t)};U(r,e=>{V9.issuedValue?e(i):e(a,-1)}),V(e,n)},$$slots:{default:!0}})}k()}var kQe=B(`

      `),AQe=B(`

      `,1);function jQe(e,t){O(t,!0);{let t=e=>{var t=kQe(),n=P(t,!0);D(t),L(()=>H(n,V9.labelsEditor.name)),V(e,t)},n=A(()=>TE()),r=A(()=>OE()),i=A(()=>jE());t6(e,{get open(){return V9.labelsEditor.open},get title(){return R(n)},get ariaLabel(){return R(r)},get error(){return V9.labelsEditor.error},get submitting(){return V9.labelsEditor.submitting},get submitLabel(){return R(i)},cancel:!1,dialogClass:`auth-key-editor`,onclose:()=>V9.closeLabelsEditor(),onsubmit:()=>V9.submitLabelsEditor(),headerHint:t,children:(e,t)=>{{let t=A(()=>PE());n6(e,{id:`auth-key-labels-edit`,get label(){return R(t)},children:(e,t)=>{var n=AQe(),r=F(n);bi(r);var i=I(r,2),a=P(i,!0);D(i),L(e=>H(a,e),[()=>LE()]),Di(r,()=>V9.labelsEditor.value,e=>V9.labelsEditor.value=e),V(e,n)},$$slots:{default:!0}})}},$$slots:{headerHint:!0,default:!0}})}k()}var MQe=B(` `),NQe=B(`
      `),PQe=B(``),H9=B(` `),FQe=B(` `),IQe=B(` `,1),LQe=B(`
      `),RQe=B(`
      `);function zQe(e,t){O(t,!0);var n=RQe(),r=P(n),i=P(r),a=P(i),o=P(a),s=P(o,!0);D(o);var c=I(o),l=P(c,!0);D(c);var u=I(c),d=P(u,!0);D(u);var f=I(u),p=P(f,!0);D(f);var m=I(f),h=P(m,!0);D(m);var g=I(m),_=P(g),v=P(_);J(I(v),{get icon(){return Hke},width:`13`,height:`13`}),D(_),D(g);var y=I(g),b=P(y,!0);D(y);var x=I(y),S=P(x,!0);D(x);var C=I(x);D(a),D(i);var w=I(i);W(w,21,()=>V9.visibleKeys,e=>e.id,(e,t)=>{var n=LQe();let r;var i=P(n),a=P(i,!0);D(i);var o=I(i),s=P(o,!0);D(o);var c=I(o),l=P(c,!0);D(c);var u=I(c),d=P(u),f=e=>{var n=NQe();W(n,20,()=>R(t).labels||[],e=>e,(e,t)=>{var n=MQe(),r=P(n,!0);D(n),L(e=>{ui(n,e),H(r,t)},[()=>KIe(t)]),V(e,n)}),D(n),V(e,n)},p=e=>{V(e,PQe())};U(d,e=>{(R(t).labels||[]).length>0?e(f):e(p,-1)}),D(u);var m=I(u),h=P(m),g=P(h,!0);D(h),D(m);var _=I(m),v=P(_);let y;var b=P(v,!0);D(v),D(_);var x=I(_),S=P(x),C=e=>{var n=FQe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=e=>{var t=H9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>yE()]),V(e,t)},s=A(()=>P9(R(t)));U(a,e=>{R(s)&&e(o)}),D(n),L(e=>H(i,e),[()=>eje(R(t).expires_at)]),V(e,n)},w=e=>{V(e,wr(`—`))};U(S,e=>{R(t).expires_at?e(C):e(w,-1)}),D(x);var T=I(x),ee=P(T,!0);D(T);var E=I(T),te=P(E),ne=P(te),re=e=>{var n=IQe(),r=F(n);{let e=A(()=>R(t).dashboard_access?YV({name:R(t).name}):KV({name:R(t).name})),n=A(()=>!!V9.dashboardAccessID);O3(r,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>V9.toggleDashboardAccess(R(t)),get disabled(){return R(n)},children:(e,n)=>{{let n=A(()=>R(t).dashboard_access?tAe:UY);J(e,{get icon(){return R(n)},class:`table-icon-svg`})}},$$slots:{default:!0}})}var i=I(r,2);{let e=A(()=>QV({name:R(t).name}));O3(i,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>V9.openLabelsEditor(R(t)),children:(e,t)=>{J(e,{get icon(){return LY},class:`table-icon-svg`})},$$slots:{default:!0}})}var a=I(i,2);{let e=A(()=>V9.deactivatingID===R(t).id?iH({name:R(t).name}):tH({name:R(t).name})),n=A(()=>V9.deactivatingID===R(t).id);O3(a,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn`,onclick:()=>V9.deactivateKey(R(t)),get disabled(){return R(n)},children:(e,t)=>{J(e,{get icon(){return Xke},class:`table-icon-svg`})},$$slots:{default:!0}})}V(e,n)},ie=e=>{var n=H9(),r=P(n,!0);D(n),L((e,t)=>{K(n,`title`,e),H(r,t)},[()=>R(t).deactivated_at?sH({date:XX(R(t).deactivated_at)}):SE(),()=>SE()]),V(e,n)},ae=A(()=>F9(R(t)));U(ne,e=>{R(t).active?e(re):R(ae)&&e(ie,1)}),D(te),D(E),D(n),L((e,i,o,c)=>{r=G(n,1,`svelte-nf0ldb`,null,r,e),H(a,R(t).name),H(s,R(t).description||`—`),H(l,R(t).user_path||`—`),H(g,R(t).redacted_value),y=G(v,1,`auth-key-status-badge`,null,y,{"auth-key-status-active":R(t).dashboard_access,"auth-key-status-inactive":!R(t).dashboard_access}),H(b,i),K(x,`title`,o),H(ee,c)},[()=>({"auth-key-row-deactivated":F9(R(t))}),()=>R(t).dashboard_access?pE():gE(),()=>R(t).expires_at?XX(R(t).expires_at):``,()=>yX.formatTimestamp(R(t).created_at)]),V(e,n)}),D(w),D(r),D(n),L((e,t,n,r,i,a,o,c,u,f)=>{H(s,e),H(l,t),H(d,n),H(p,r),H(h,i),K(_,`title`,a),H(v,`${o??``} `),H(b,c),H(S,u),K(C,`aria-label`,f)},[()=>tT(),()=>YT(),()=>QT(),()=>tE(),()=>iE(),()=>UV(),()=>jT(),()=>sT(),()=>sE(),()=>uE()]),V(e,n),k()}var BQe=B(``),VQe=B(`
      `),HQe=B(``),UQe=B(`

      `),WQe=B(`
      `),U9=B(`

      `),GQe=B(`
      `);function KQe(e,t){O(t,!0),dn(()=>{X.refreshTick,eX.page===`auth-keys`&&V9.fetchKeys()});var n=GQe(),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o),c=e=>{var t=BQe(),n=P(t);J(n,{get icon(){return RY},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=V9.formSubmitting,H(i,e)},[()=>uw()]),z(`click`,t,()=>{V9.formSubmitting||V9.openForm()}),V(e,t)};U(s,e=>{V9.available&&!X.authError&&e(c)}),D(o),D(r);var l=I(r,2),u=e=>{var t=VQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>pw()]),V(e,t)};U(l,e=>{!V9.available&&!X.authError&&e(u)});var d=I(l,2),f=e=>{var t=HQe(),n=P(t,!0);D(t),L(()=>H(n,V9.error)),V(e,t)};U(d,e=>{V9.error&&!X.authError&&!V9.formOpen&&e(f)});var p=I(d,2),m=e=>{var t=UQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gw()]),V(e,t)};U(p,e=>{V9.available&&!X.authError&&e(m)});var h=I(p,2);OQe(h,{});var g=I(h,2);jQe(g,{});var _=I(g,2),v=e=>{{let t=A(()=>yw());H4(e,{get label(){return R(t)}})}};U(_,e=>{V9.loading&&V9.keys.length===0&&e(v)});var y=I(_,2),b=e=>{var t=WQe(),n=P(t),r=P(n);{let e=A(()=>Sw()),t=A(()=>Tw());v3(r,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return V9.filter},set value(e){V9.filter=e}})}D(n);var i=I(n,2),a=P(i),o=P(a);bi(o);var s=I(o,2),c=P(s),l=I(c),u=e=>{var t=wr();L(()=>H(t,`(${V9.inactiveCount??``})`)),V(e,t)};U(l,e=>{V9.inactiveCount>0&&e(u)}),D(s),D(a),D(i),D(t),L(e=>H(c,`${e??``} `),[()=>Ow()]),Oi(o,()=>V9.showInactive,e=>V9.showInactive=e),V(e,t)};U(y,e=>{V9.keys.length>0&&V9.available&&e(b)});var x=I(y,2),S=e=>{zQe(e,{})};U(x,e=>{V9.visibleKeys.length>0&&V9.available&&e(S)});var C=I(x,2),w=e=>{var t=U9(),n=P(t);D(t),L((e,t)=>H(n,`${e??``}${t??``}`),[()=>jw(),()=>V9.inactiveCount>0&&!V9.showInactive?` `+Pw({count:V9.inactiveCount}):``]),V(e,t)};U(C,e=>{V9.keys.length>0&&V9.visibleKeys.length===0&&V9.available&&e(w)});var T=I(C,2),ee=e=>{var t=U9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Lw()]),V(e,t)};U(T,e=>{V9.keys.length===0&&!V9.loading&&!X.authError&&!V9.error&&V9.available&&e(ee)}),D(n),L(e=>H(a,e),[()=>sw()]),V(e,n),k()}vr([`click`]);var qQe=B(``),JQe=B(`
      `);function YQe(e,t){O(t,!0);let n=Ji.map(e=>({value:e,label:cje(e)}));var r=Tr(),i=F(r),a=e=>{var t=JQe(),r=P(t),i=P(r,!0);D(r);var a=I(r,2);W(a,21,()=>n,e=>e.value,(e,t)=>{var n=qQe(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(a);var o;fi(a),D(t),L((e,t,n)=>{H(i,e),K(a,`aria-label`,t),o!==(o=n)&&(a.value=(a.__value=n)??``,di(a,n))},[()=>Bz(),()=>Bz(),()=>Y()]),z(`change`,a,e=>ra(e.currentTarget.value)),V(e,t)};U(i,e=>{n.length>1&&e(a)}),V(e,r),k()}vr([`change`]);var XQe=B(`

      `),ZQe=B(``),QQe=B(``),$Qe=B(`
      `,1);function e$e(e,t){O(t,!0);function n(){yX.saveOverride(),X.refresh()}function r(){yX.clearOverride(),X.refresh()}var i=$Qe(),a=F(i),o=P(a);{let e=e=>{var t=XQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Yf()]),V(e,t)},t=A(()=>Qf()),n=A(()=>tp());V4(o,{copyId:`timezone-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}D(a);var s=I(a,2),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d),p=P(f,!0);D(f),f.value=f.__value=``,W(I(f),17,()=>yX.options,e=>e.value,(e,t)=>{var n=ZQe(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(d),D(c),D(s);var m=I(s,2),h=P(m),g=e=>{var t=QQe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>up()]),z(`click`,t,r),V(e,t)};U(h,e=>{yX.override&&e(g)}),D(m),L((e,t)=>{H(u,e),H(p,t)},[()=>ip(),()=>sp({timezone:yX.detectedTimeZoneLabel()})]),_r(`focus`,d,()=>yX.ensureOptions()),z(`change`,d,n),pi(d,()=>yX.override,e=>yX.override=e),V(e,i),k()}vr([`change`,`click`]);var t$e=B(``),n$e=B(`

      `,1);function r$e(e,t){O(t,!0);let n=A(()=>$.failoverSaving||$.failoverGenerating||$.failoverDraftSaving||!$.failoverAvailable||!$.failoverEnabled());var r=n$e(),i=F(r),a=P(i),o=P(a),s=P(o,!0);D(o),D(a);var c=I(a,2),l=P(c),u=P(l);J(u,{get icon(){return YY},class:`form-action-icon`});var d=I(u,2),f=P(d,!0);D(d),D(l);var p=I(l,2),m=P(p);J(m,{get icon(){return KY},class:`form-action-icon`});var h=I(m,2),g=P(h,!0);D(h),D(p),D(c),D(i);var _=I(i,2),v=P(_),y=e=>{var t=t$e(),n=P(t,!0);D(t),L(()=>H(n,$.failoverError)),V(e,t)};U(v,e=>{$.failoverError&&e(y)}),D(_),I8(I(_,2),{}),L((e,t,r)=>{H(s,e),l.disabled=R(n),H(f,t),p.disabled=R(n),H(g,r)},[()=>pp(),()=>$.failoverGenerating?gp():yp(),()=>Sp()]),z(`click`,l,()=>$.generateFailoverRules()),z(`click`,p,()=>$.openFailoverResetDialog()),V(e,r),k()}vr([`click`]);function i$e(){return{daily_reset_hour:0,daily_reset_minute:0,weekly_reset_weekday:1,weekly_reset_hour:0,weekly_reset_minute:0,monthly_reset_day:1,monthly_reset_hour:0,monthly_reset_minute:0}}function W9(e,t){let n=t||{},r=(e,t)=>{if(e===``)return t;let n=Number(e);return Number.isFinite(n)&&Number.isInteger(n)?Math.trunc(n):t},i=(e,t)=>r(n[e],t),a=(t,n)=>e?r(e[t],n):n;return{daily_reset_hour:a(`daily_reset_hour`,i(`daily_reset_hour`,0)),daily_reset_minute:a(`daily_reset_minute`,i(`daily_reset_minute`,0)),weekly_reset_weekday:a(`weekly_reset_weekday`,i(`weekly_reset_weekday`,1)),weekly_reset_hour:a(`weekly_reset_hour`,i(`weekly_reset_hour`,0)),weekly_reset_minute:a(`weekly_reset_minute`,i(`weekly_reset_minute`,0)),monthly_reset_day:a(`monthly_reset_day`,i(`monthly_reset_day`,1)),monthly_reset_hour:a(`monthly_reset_hour`,i(`monthly_reset_hour`,0)),monthly_reset_minute:a(`monthly_reset_minute`,i(`monthly_reset_minute`,0))}}function a$e(){return[{value:0,label:sI()},{value:1,label:uI()},{value:2,label:pI()},{value:3,label:gI()},{value:4,label:yI()},{value:5,label:SI()},{value:6,label:TI()}]}var o$e=B(`

      `),s$e=B(``),c$e=B(`

      `),l$e=B(``),u$e=B(``),d$e=B(`
      `,1);function f$e(e,t){O(t,!0);let n=j(N(i$e())),r=j(!1),i=j(!1),a=j(``),o=j(!1),s=A(()=>OX.budgetsVisible());async function c(){if(await OX.ensureLoaded(),!OX.budgetsVisible()){M(a,``);return}M(r,!0),M(a,``);try{let e=await TX(`/admin/budgets/settings`,{label:`budget settings`});if(e.stale)return;if(!e.ok){M(a,QF(),!0);return}M(n,W9(e.data,R(n)),!0)}catch(e){console.error(`Failed to fetch budget settings:`,e),M(a,QF(),!0)}finally{M(r,!1)}}async function l(){if(!R(i)){M(i,!0);try{let e=await EX(`/admin/budgets/settings`,`PUT`,W9(R(n),R(n)),{label:`budget settings`});if(e.stale)return;if(!e.ok){BX.error(tI());return}M(n,W9(e.data,R(n)),!0),M(a,``),BX.success(iI())}catch(e){console.error(`Failed to save budget settings:`,e),BX.error(tI())}finally{M(i,!1)}}}dn(()=>{X.refreshTick,c()});var u=Tr(),d=F(u),f=e=>{var t=d$e(),s=F(t),c=P(s);{let e=e=>{var t=o$e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Bp()]),V(e,t)},t=A(()=>Pp()),n=A(()=>Lp());V4(c,{copyId:`budget-settings-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}var u=I(c,2),d=P(u),f=P(d),p=P(f,!0);D(f);var m=I(f,2),h=P(m);{let e=e=>{var t=s$e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jF()]),V(e,t)},t=A(()=>OF());V4(h,{copyId:`budget-monthly-day-help-copy`,get label(){return R(t)},external:!0,get open(){return R(o)},set open(e){M(o,e,!0)},title:e,$$slots:{title:!0}})}var g=I(h,2);bi(g),D(m);var _=I(m,2),v=P(_),y=P(v,!0);D(v);var b=I(v,2);bi(b),D(_);var x=I(_,2),S=P(x),C=P(S,!0);D(S);var w=I(S,2);bi(w),D(x);var T=I(x,2),ee=P(T),E=e=>{var t=c$e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>PF()]),V(e,t)};U(ee,e=>{R(o)&&e(E)}),D(T),D(d);var te=I(d,2),ne=P(te),re=P(ne,!0);D(ne);var ie=I(ne,2),ae=P(ie),oe=P(ae,!0);D(ae);var se=I(ae,2);W(se,21,a$e,e=>e.value,(e,t)=>{var n=l$e(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(se),D(ie);var ce=I(ie,2),le=P(ce),ue=P(le,!0);D(le);var de=I(le,2);bi(de),D(ce);var fe=I(ce,2),pe=P(fe),me=P(pe,!0);D(pe);var he=I(pe,2);bi(he),D(fe),Ve(2),D(te);var ge=I(te,2),_e=P(ge),ve=P(_e,!0);D(_e);var ye=I(_e,4),be=P(ye),xe=P(be,!0);D(be);var Se=I(be,2);bi(Se),D(ye);var Ce=I(ye,2),we=P(Ce),Te=P(we,!0);D(we);var Ee=I(we,2);bi(Ee),D(Ce),Ve(2),D(ge),D(u);var De=I(u,2),Oe=P(De),ke=P(Oe);J(ke,{get icon(){return VY},class:`form-action-icon`});var Ae=I(ke,2),je=P(Ae,!0);D(Ae),D(Oe);var Me=I(Oe,2),Ne=e=>{{let t=A(()=>YF());Y2(e,{size:16,get label(){return R(t)}})}};U(Me,e=>{R(r)&&e(Ne)}),D(De),D(s);var Pe=I(s,2),Fe=P(Pe),Ie=e=>{var t=u$e(),n=P(t,!0);D(t),L(()=>H(n,R(a))),V(e,t)};U(Fe,e=>{R(a)&&e(Ie)}),D(Pe),L((e,t,n,a,o,s,c,l,u,d,f)=>{H(p,e),H(y,t),H(C,n),H(re,a),H(oe,o),H(ue,s),H(me,c),H(ve,l),H(xe,u),H(Te,d),Oe.disabled=R(i)||R(r),K(Oe,`aria-busy`,R(i)?`true`:`false`),H(je,f)},[()=>yF(),()=>BF(),()=>UF(),()=>SF(),()=>LF(),()=>BF(),()=>UF(),()=>TF(),()=>BF(),()=>UF(),()=>KF()]),Di(g,()=>R(n).monthly_reset_day,e=>R(n).monthly_reset_day=e),Di(b,()=>R(n).monthly_reset_hour,e=>R(n).monthly_reset_hour=e),Di(w,()=>R(n).monthly_reset_minute,e=>R(n).monthly_reset_minute=e),pi(se,()=>R(n).weekly_reset_weekday,e=>R(n).weekly_reset_weekday=e),Di(de,()=>R(n).weekly_reset_hour,e=>R(n).weekly_reset_hour=e),Di(he,()=>R(n).weekly_reset_minute,e=>R(n).weekly_reset_minute=e),Di(Se,()=>R(n).daily_reset_hour,e=>R(n).daily_reset_hour=e),Di(Ee,()=>R(n).daily_reset_minute,e=>R(n).daily_reset_minute=e),z(`click`,Oe,l),V(e,t)};U(d,e=>{R(s)&&e(f)}),V(e,u),k()}vr([`click`]);var p$e=B(`

      `);function m$e(e,t){O(t,!0);var n=Tr(),r=F(n),i=e=>{var t=p$e(),n=P(t),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a),D(n);var s=I(n,2),c=P(s),l=P(c);J(l,{get icon(){return BY},class:`form-action-icon`});var u=I(l,2),d=P(u,!0);D(u),D(c),D(s),D(t),L((e,t,n)=>{H(i,e),H(o,t),c.disabled=$3.resetAllLoading,H(d,n)},[()=>Tp(),()=>Op(),()=>jp()]),z(`click`,c,()=>$3.openResetDialog()),V(e,t)},a=A(()=>OX.budgetsVisible());U(r,e=>{R(a)&&e(i)}),V(e,n),k()}vr([`click`]);function h$e(){return{header:``,prefix:``,do_not_pass:!1,delimiter:``,managed:!1}}function G9(e){return(e&&Array.isArray(e.headers)?e.headers:[]).map(e=>({header:typeof e.header==`string`?e.header:``,prefix:typeof e.prefix==`string`?e.prefix:``,do_not_pass:e.do_not_pass===!0,delimiter:typeof e.delimiter==`string`&&e.delimiter!==`,`?e.delimiter:``,managed:e.managed===!0}))}function g$e(e){return{headers:(Array.isArray(e)?e:[]).filter(e=>!e.managed&&e.header.trim()!==``).map(e=>({header:e.header.trim(),prefix:e.prefix,do_not_pass:e.do_not_pass,delimiter:e.delimiter}))}}function _$e(e){return e&&e.error&&e.error.message?e.error.message:``}var v$e=B(`

      `),y$e=B(`config`),b$e=B(``),x$e=B(`
      `),S$e=B(`

      `),C$e=B(``),w$e=B(`
      `,1);function T$e(e,t){O(t,!0);let n=j(N([])),r=j(!0),i=j(!1),a=j(!1),o=j(``);function s(){R(n).push(h$e())}function c(e){let t=R(n)[e];!t||t.managed||R(n).splice(e,1)}async function l(){M(i,!0),M(o,``);try{let e=await TX(`/admin/tagging/settings`,{label:`tagging settings`});if(e.stale)return;if(!e.ok){M(o,gL(),!0);return}M(n,G9(e.data),!0),M(r,e.data&&e.data.editable!==!1,!0)}catch(e){console.error(`Failed to fetch tagging settings:`,e),M(o,gL(),!0)}finally{M(i,!1)}}async function u(){if(!(R(a)||!R(r))){M(a,!0);try{let e=await EX(`/admin/tagging/settings`,`PUT`,g$e(R(n)),{label:`tagging settings`});if(e.stale)return;if(!e.ok){BX.error(e.status!==401&&_$e(e.data)||yL());return}M(n,G9(e.data),!0),M(r,e.data&&e.data.editable!==!1,!0),M(o,``),BX.success(SL())}catch(e){console.error(`Failed to save tagging settings:`,e),BX.error(yL())}finally{M(a,!1)}}}dn(()=>{X.refreshTick,l()});var d=w$e(),f=F(d),p=P(f);{let e=e=>{var t=v$e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>OI()]),V(e,t)},t=A(()=>jI()),n=A(()=>PI());V4(p,{copyId:`tagging-settings-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}var m=I(p,2),h=P(m);W(h,17,()=>R(n),Ar,(e,t,n)=>{var i=x$e(),a=P(i),o=P(a);K(o,`for`,`tagging-header-`+n);var s=P(o,!0);D(o);var l=I(o,2);bi(l),K(l,`id`,`tagging-header-`+n),D(a);var u=I(a,2),d=P(u);K(d,`for`,`tagging-prefix-`+n);var f=P(d,!0);D(d);var p=I(d,2);bi(p),K(p,`id`,`tagging-prefix-`+n),D(u);var m=I(u,2),h=P(m);K(h,`for`,`tagging-delimiter-`+n);var g=P(h,!0);D(h);var _=I(h,2);bi(_),K(_,`id`,`tagging-delimiter-`+n),D(m);var v=I(m,2),y=P(v);bi(y);var b=I(y,2),x=P(b,!0);D(b),D(v);var S=I(v,2),C=P(S),w=e=>{var t=y$e();L(e=>K(t,`title`,e),[()=>YI()]),V(e,t)},T=e=>{var i=b$e(),a=P(i,!0);D(i),L((e,t)=>{i.disabled=!R(r),K(i,`aria-label`,e),H(a,t)},[()=>tL({header:R(t).header||n+1}),()=>QI()]),z(`click`,i,()=>c(n)),V(e,i)};U(C,e=>{R(t).managed?e(w):e(T,-1)}),D(S),D(i),L((e,n,i,a)=>{H(s,e),l.disabled=R(t).managed||!R(r),H(f,n),p.disabled=R(t).managed||!R(r),H(g,i),_.disabled=R(t).managed||!R(r),y.disabled=R(t).managed||!R(r),H(x,a)},[()=>LI(),()=>BI(),()=>UI(),()=>KI()]),Di(l,()=>R(t).header,e=>R(t).header=e),Di(p,()=>R(t).prefix,e=>R(t).prefix=e),Di(_,()=>R(t).delimiter,e=>R(t).delimiter=e),Oi(y,()=>R(t).do_not_pass,e=>R(t).do_not_pass=e),V(e,i)});var g=I(h,2),_=e=>{{let t=A(()=>iL());Y2(e,{size:16,get label(){return R(t)}})}};U(g,e=>{R(i)&&e(_)});var v=I(g,2),y=e=>{var t=S$e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>sL()]),V(e,t)};U(v,e=>{!R(i)&&R(n).length===0&&e(y)}),D(m);var b=I(m,2),x=P(b),S=P(x);J(S,{get icon(){return RY},class:`form-action-icon`});var C=I(S,2),w=P(C,!0);D(C),D(x);var T=I(x,2),ee=P(T);J(ee,{get icon(){return VY},class:`form-action-icon`});var E=I(ee,2),te=P(E,!0);D(E),D(T),D(b),D(f);var ne=I(f,2),re=P(ne),ie=e=>{var t=C$e(),n=P(t,!0);D(t),L(()=>H(n,R(o))),V(e,t)};U(re,e=>{R(o)&&e(ie)}),D(ne),L((e,t)=>{x.disabled=!R(r)||R(a)||R(i),H(w,e),T.disabled=!R(r)||R(a)||R(i),K(T,`aria-busy`,R(a)?`true`:`false`),H(te,t)},[()=>uL(),()=>pL()]),z(`click`,x,s),z(`click`,T,u),V(e,d),k()}vr([`click`]);function E$e(e){let t=e||{};if(t.selectedPreset)return{days:parseInt(t.selectedPreset,10)||30};let n=t.customStartDate?YX(t.customStartDate):``,r=t.customEndDate||t.today||null;return{start_date:n,end_date:r?YX(r):``}}function D$e(e,t,n,r){return{...E$e(e),user_path:String(t||``).trim(),selector:String(n||``).trim(),confirmation:r}}function O$e(e){let t=Number(e&&e.matched||0),n=Number(e&&e.recalculated||0),r=Number(e&&e.without_pricing||0),i=iz({matched:t,recalculated:n});return r>0&&(i+=` `+sz({count:r})),i}var k$e=B(`

      `),A$e=B(`
      `);function j$e(e,t){O(t,!0);let n=j(``),r=j(``),i=j(!1),a=A(()=>OX.booleanFlag(`USAGE_PRICING_RECALCULATION_ENABLED`,!1));function o(){if(!R(a)){BX.error(KR());return}R(i)||PX.open({title:UR(),titleId:`pricingRecalculateDialogTitle`,inputId:`pricing-recalculate-confirmation`,requiredText:YR(),confirmLabel:UR(),icon:wY,dialogClass:`pricing-recalculate-dialog`,message:QR(),onConfirm:()=>s()})}async function s(){if(!R(a)){BX.error(KR());return}if(!R(i)){M(i,!0);try{let e=await EX(`/admin/usage/recalculate-pricing`,`POST`,D$e({selectedPreset:cZ.selectedPreset,customStartDate:cZ.customStartDate,customEndDate:cZ.customEndDate,today:yX.todayDate()},R(n),R(r),YR()),{label:`pricing recalculation`});if(e.stale)return;if(!e.ok){PX.error=tz();return}PX.close(),BX.success(O$e(e.data)),pZ.fetchUsage()}catch(e){console.error(`Failed to recalculate pricing:`,e),PX.error=tz()}finally{M(i,!1)}}}var c=Tr(),l=F(c),u=e=>{var t=A$e(),s=P(t);{let e=e=>{var t=k$e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>SR()]),V(e,t)},t=A(()=>TR()),n=A(()=>OR());V4(s,{copyId:`pricing-recalculate-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}var c=I(s,2),l=P(c),u=P(l),d=P(u,!0);D(u);var f=I(u,2);hZ(P(f),{}),D(f),D(l);var p=I(l,2),m=P(p),h=P(m,!0);D(m);var g=I(m,2);bi(g),D(p);var _=I(p,2),v=P(_),y=P(v,!0);D(v);var b=I(v,2);bi(b),D(_),D(c);var x=I(c,2),S=P(x),C=P(S);J(C,{get icon(){return wY},class:`form-action-icon`});var w=I(C,2),T=P(w,!0);D(w),D(S),D(x),D(t),L((e,t,n,r,o)=>{H(d,e),H(h,t),H(y,n),K(b,`placeholder`,r),S.disabled=R(i)||!R(a),K(S,`aria-busy`,R(i)?`true`:`false`),H(T,o)},[()=>jR(),()=>PR(),()=>LR(),()=>BR(),()=>UR()]),Di(g,()=>R(n),e=>M(n,e)),Di(b,()=>R(r),e=>M(r,e)),z(`click`,S,o),V(e,t)};U(l,e=>{R(a)&&e(u)}),V(e,c),k()}vr([`click`]);function K9(e){return String(e&&e.status||`ok`).toLowerCase()}function q9(e){if(!e||typeof e!=`object`)return LL();let t=Number(e.model_count||0),n=Number(e.provider_count||0),r=K9(e);return YL({status:r===`ok`?BL():r===`partial`?UL():KL(),models:QL({count:t}),providers:tR({count:n})})}function M$e(e){return!!e&&K9(e)===`ok`}function J9(e){let t=e&&e.steps;return Array.isArray(t)?t:[]}function N$e(e){let t=String(e&&e.name||``).replace(/_/g,` `),n=String(e&&e.status||``).trim(),r=String(e&&(e.error||e.message)||``).trim();return t?r?t+`: `+n+` - `+r:t+`: `+n:r||n||``}var P$e=B(`

      `),F$e=B(`
    • `),I$e=B(`
        `),L$e=B(`
        `,1);function R$e(e,t){O(t,!0);let n=j(!1),r=j(null);async function i(){if(!R(n)){M(n,!0),M(r,null);try{let e=await EX(`/admin/runtime/refresh`,`POST`,void 0,{label:`runtime refresh`});if(e.stale)return;if(!e.ok){BX.error(KL());return}M(r,e.data&&typeof e.data==`object`?e.data:null,!0),M$e(R(r))?BX.success(q9(R(r))):BX.error(q9(R(r))),X.refresh()}catch(e){console.error(`Failed to refresh runtime:`,e),BX.error(KL())}finally{M(n,!1)}}}var a=L$e(),o=F(a),s=P(o);{let e=e=>{var t=P$e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>TL()]),V(e,t)},t=A(()=>OL()),n=A(()=>jL());V4(s,{copyId:`runtime-refresh-help-copy`,get label(){return R(t)},get text(){return R(n)},title:e,$$slots:{title:!0}})}var c=I(s,2),l=P(c);let u;var d=P(l);J(d,{get icon(){return zY},class:`settings-refresh-icon`});var f=I(d,2),p=P(f,!0);D(f),D(l),D(c),D(o);var m=I(o,2),h=P(m),g=e=>{var t=I$e();W(t,21,()=>J9(R(r)),e=>e.name,(e,t)=>{var n=F$e(),r=P(n,!0);D(n),L(e=>{G(n,1,`runtime-refresh-step is-${R(t).status??``}`,`svelte-yeq2mp`),H(r,e)},[()=>N$e(R(t))]),V(e,n)}),D(t),V(e,t)},_=A(()=>J9(R(r)).length>0);U(h,e=>{R(_)&&e(g)}),D(m),L(e=>{u=G(l,1,`btn btn-primary btn-with-icon settings-refresh-btn`,null,u,{"is-refreshing":R(n)}),l.disabled=R(n),K(l,`aria-busy`,R(n)?`true`:`false`),H(p,e)},[()=>PL()]),z(`click`,l,i),V(e,a),k()}vr([`click`]);var z$e=B(``),B$e=B(`

        `),V$e=B(`

        `),H$e=B(``),U$e=B(`
        `),W$e=B(`

        `);function G$e(e,t){O(t,!0);let n=j(N([])),r=j(!1),i=j(``),a=j(``);async function o(){M(r,!0),M(a,``);try{let e=await TX(`/admin/runtime/settings`,{label:`runtime settings`});if(e.stale)return;if(!e.ok){M(a,sR(),!0);return}M(n,Array.isArray(e.data?.settings)?e.data.settings:[],!0)}catch(e){console.error(`Failed to load runtime settings:`,e),M(a,sR(),!0)}finally{M(r,!1)}}async function s(e,t,r){if(!(e.locked||R(i))){M(i,e.key,!0);try{let i=await EX(`/admin/runtime/settings/${encodeURIComponent(e.key)}`,`PUT`,{value:t},{label:`save ${e.label}`});if(i.stale){r.value=e.value;return}if(!i.ok){r.value=e.value,BX.error(uR({setting:e.label}));return}M(n,R(n).map(t=>t.key===e.key?i.data:t),!0),BX.success(pR({setting:e.label}))}catch(t){r.value=e.value,console.error(`Failed to save runtime setting:`,t),BX.error(uR({setting:e.label}))}finally{M(i,``)}}}dn(()=>{X.refreshTick,o()});var c=Tr(),l=F(c),u=e=>{var t=W$e(),o=P(t),c=P(o),l=P(c,!0);D(c);var u=I(c,2),d=e=>{var t=z$e(),n=P(t,!0);D(t),L(()=>H(n,R(a))),V(e,t)};U(u,e=>{R(a)&&e(d)}),D(o);var f=I(o,2);W(f,21,()=>R(n),e=>e.key,(e,t)=>{var n=U$e(),r=P(n),a=P(r),o=P(a,!0);D(a);var c=I(a,2),l=e=>{var n=B$e(),r=P(n,!0);D(n),L(()=>H(r,R(t).description)),V(e,n)};U(c,e=>{R(t).description&&e(l)});var u=I(c,2),d=e=>{var n=V$e(),r=P(n,!0);D(n),L(e=>H(r,e),[()=>gR({source:R(t).managed_by||yR()})]),V(e,n)};U(u,e=>{R(t).locked&&e(d)}),D(r);var f=I(r,2);W(f,21,()=>R(t).options||[],e=>e.value,(e,t)=>{var n=H$e(),r=P(n,!0);D(n);var i={};L(()=>{K(n,`title`,R(t).description||``),H(r,R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(f);var p;fi(f),D(n),L(()=>{K(a,`for`,`runtime-setting-${R(t).key}`),H(o,R(t).label),K(f,`id`,`runtime-setting-${R(t).key}`),f.disabled=R(t).locked||R(i)!==``,p!==(p=R(t).value)&&(f.value=(f.__value=R(t).value)??``,di(f,R(t).value))}),z(`change`,f,e=>s(R(t),e.currentTarget.value,e.currentTarget)),V(e,n)}),D(f),D(t),L(e=>{H(l,e),K(f,`aria-busy`,R(r)?`true`:`false`)},[()=>iR()]),V(e,t)};U(l,e=>{(R(n).length>0||R(a))&&e(u)}),V(e,c),k()}vr([`change`]);var K$e=B(`
        `);function q$e(e,t){O(t,!0),dn(()=>{X.refreshTick,eX.page===`settings`&&(yX.ensureOptions(),OX.ensureLoaded())});var n=K$e(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a),D(i),D(r);var s=I(r,2),c=P(s);e$e(c,{});var l=I(c,2);YQe(l,{});var u=I(l,2);r$e(u,{});var d=I(u,2);f$e(d,{});var f=I(d,2);m$e(f,{});var p=I(f,2);T$e(p,{});var m=I(p,2);G$e(m,{});var h=I(m,2);j$e(h,{}),R$e(I(h,2),{}),D(s);var g=I(s,2),_=P(g,!0);D(g),D(n),L((e,t)=>{H(o,e),H(_,t)},[()=>Uce(),()=>pAe()]),V(e,n),k()}var Y9=B(`
        `),J$e=B(`
         
        `),Y$e=B(`
         
        `),X$e=B(`
         
        `),Z$e=B(`
        `),Q$e=B(`
        `,1),$$e=B(`
        `);function e1e(e,t){O(t,!0);let n=q(t,`showPromptCache`,3,!0),r=C3({logPrefix:`Failed to copy interaction message:`}),i=A(()=>t.msg.role===`function_call`||t.msg.role===`function_result`);function a(e){return(Math.max(0,Math.min(1,Number(e||0)))*100).toFixed(1)+`%`}function o(e){let t=Math.max(0,Math.min(1,Number(e||0)));return t>0?vs({percent:Math.round(t*100)}):void 0}function s(e){return e.role===`function_call`?(e.toolCalls||[]).map(e=>e.name+`()`).join(`, `):(e.functionName?e.functionName+`: `:``)+e.text}var c=$$e();let l;var u=P(c),d=e=>{var r=J$e(),i=P(r),a=P(i),c=P(a,!0);D(a);var l=I(a,2),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d),D(i);var p=I(i,2),m=e=>{var n=Y9(),r=P(n);D(n),L(e=>H(r,`${e??``}: ${t.msg.functionCallID??``}`),[()=>xs()]),V(e,n)};U(p,e=>{t.msg.functionCallID&&e(m)});var h=I(p,2),g=e=>{var n=Tr();W(F(n),17,()=>t.msg.toolCalls,Ar,(e,n)=>{var r=Tr(),i=F(r),a=e=>{var r=Y9(),i=P(r);D(r),L(e=>H(i,`${e??``}: ${R(n).id??``}`),[()=>t.msg.toolCalls.length>1?ws({name:R(n).name}):xs()]),V(e,r)};U(i,e=>{R(n).id&&e(a)}),V(e,r)}),V(e,n)};U(h,e=>{t.msg.role===`function_call`&&t.msg.toolCalls&&e(g)});var _=I(h,2),v=P(_,!0);D(_),D(r),L((e,n,i,a)=>{K(r,`title`,e),H(c,t.msg.roleLabel),H(u,n),H(f,i),H(v,a)},[()=>n()?o(t.msg.promptCacheRatio):void 0,()=>s(t.msg),()=>yX.formatTimestamp(t.msg.timestamp),()=>J7(t.msg)]),V(e,r)},f=e=>{var r=Q$e(),i=F(r),a=P(i),s=P(a,!0);D(a);var c=I(a,2),l=P(c,!0);D(c),D(i);var u=I(i,2),d=e=>{var r=Y$e(),i=P(r,!0);D(r),L(e=>{K(r,`title`,e),H(i,t.msg.text)},[()=>n()?o(t.msg.promptCacheRatio):void 0]),V(e,r)};U(u,e=>{t.msg.text&&e(d)});var f=I(u,2),p=e=>{var n=Z$e();W(n,23,()=>t.msg.toolCalls,(e,t)=>e.name+`-`+t,(e,t)=>{var n=X$e(),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o,!0);D(o),D(r);var c=I(r,2),l=e=>{var n=Y9(),r=P(n);D(n),L(e=>H(r,`${e??``}: ${R(t).id??``}`),[()=>xs()]),V(e,n)};U(c,e=>{R(t).id&&e(l)});var u=I(c,2),d=P(u,!0);D(u),D(n),L((e,n)=>{H(a,R(t).name+`()`),H(s,e),H(d,n)},[()=>Y7(R(t))||Ds(),()=>Y7(R(t))||Ds()]),V(e,n)}),D(n),V(e,n)};U(f,e=>{t.msg.toolCalls&&e(p)}),L((e,n)=>{K(i,`title`,e),H(s,t.msg.roleLabel),H(l,n)},[()=>n()?o(t.msg.promptCacheRatio):void 0,()=>yX.formatTimestamp(t.msg.timestamp)]),V(e,r)};U(u,e=>{R(i)?e(d):e(f,-1)});var p=I(u,2);let m;var h=P(p);{let e=A(()=>r.copied?OY:AY);J(h,{get icon(){return R(e)},width:`14`,height:`14`})}D(p),D(c),L((e,n,a)=>{G(c,1,ai([R(i)?`chat-function-note`:`chat-message`,t.msg.roleClass,{"is-anchor":t.msg.isAnchor,"is-after-anchor":t.msg.isAfterAnchor}]),`svelte-12s99s5`),K(c,`data-conversation-anchor`,t.msg.isAnchor?`true`:void 0),K(c,`data-entry-id`,t.msg.entryID),l=ui(c,``,l,e),m=G(p,1,`chat-message-copy svelte-12s99s5`,null,m,{"is-copied":r.copied}),K(p,`aria-label`,n),K(p,`title`,a)},[()=>({"--prompt-cache-fill":a(t.msg.promptCacheRatio),"--prompt-cache-visibility":n()&&t.msg.promptCacheRatio>0?`1`:`0`}),()=>r.copied?mhe():hs(),()=>r.copied?As():hs()]),z(`click`,p,e=>{e.stopPropagation(),r.copy(SYe(t.msg))}),V(e,c),k()}vr([`click`]);function X9(e,t=0){let n=Math.max(0,Q9(e)-Math.max(0,Q9(t))),r=Math.min(320,Math.max(180,Math.floor(n*.58))),i=Math.min(360,Math.max(128,Math.floor(n*.35)));return{min:r,max:Math.max(r,n-i)}}function Z9(e,t,n=0){let r=X9(t,n),i=Q9(e)||520;return Math.min(r.max,Math.max(r.min,Math.round(i)))}function t1e(e,t,n=0){return Z9(Q9(t)-Q9(e),t,n)}function n1e(e,t,n,r){if(!Array.isArray(e)||e.length===0)return{index:-1,align:`start`};let i=Q9(t),a=0;e.forEach((e,t)=>{Q9(e)<=i+1&&(a=t)});let o=Number(r)<0?-1:1,s=Math.min(e.length-1,Math.max(0,a+o)),c=e.length-1,l=Q9(e[c])0&&s===c&&l?`end`:`start`}}function Q9(e){let t=Number(e);return Number.isFinite(t)?t:0}var r1e=B(``),i1e=B(``),a1e=B(``),o1e=B(`
        `),s1e=B(`
        `),$9=B(`

        `),c1e=B(`
        `),l1e=B(`

        `),u1e=B(`
        `),d1e=B(``),f1e=B(``),p1e=B(``);function m1e(e,t){O(t,!0);let n=X7,r=Number(Bi(`gomodel_interactions_panel_width`)),i=`gomodel_interactions_prompt_cache_fill`,a=Number.isFinite(r)&&r>0?r:520,o=j(N(a)),s=j(320),c=j(760),l=j(!1),u=j(!1),d=j(Bi(i,`true`)!==`false`),f=null;function p(e){return!e||e.seq===0?Eme():e.isFinal?Mme({rewriter:e.rewriter}):kme({rewriter:e.rewriter})}function m(e,{fullscreen:t,revealWithoutSlide:n=!1}){let r=t5(180);return t?LX(e,{x:R(o),duration:r,easing:zX}):n?{duration:0}:RX(e,{axis:`x`,duration:r,easing:zX})}async function h(e){if(e===R(l))return;let t=R(l)&&!e;M(u,t,!0),M(l,e,!0),t&&(await $n(),M(u,!1))}function g(){M(d,!R(d)),Vi(i,R(d))}function _(){return(document.querySelector(`.sidebar`)?.getBoundingClientRect().width||0)+(document.querySelector(`.sidebar-toggle`)?.getBoundingClientRect().width||0)}function v(){let e=_(),t=X9(window.innerWidth,e);M(s,t.min,!0),M(c,t.max,!0),M(o,Z9(a,window.innerWidth,e),!0)}function y(e){M(o,t1e(e,window.innerWidth,_()),!0),a=R(o)}function b(e){e.button===0&&(e.preventDefault(),f=e.pointerId,e.currentTarget.setPointerCapture(e.pointerId),document.body.classList.add(`conversation-panel-resizing`),y(e.clientX))}function x(e){e.pointerId===f&&y(e.clientX)}function S(e){f===null||e.pointerId!==void 0&&e.pointerId!==f||(f=null,document.body.classList.remove(`conversation-panel-resizing`),Vi(`gomodel_interactions_panel_width`,a))}function C(e){e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),a=R(o)+(e.key===`ArrowLeft`?24:-24),v(),a=R(o),Vi(`gomodel_interactions_panel_width`,a))}function w(e){let t=document.getElementById(`interactions-drawer-content`),r=n.conversationThreadEl;if(!t||!r)return;let i=[...r.querySelectorAll(`[data-conversation-message="true"]`)],a=t.getBoundingClientRect(),o=a.top+14,s=n1e(i.map(e=>e.getBoundingClientRect().top),o,a.bottom,e),c=i[s.index];if(!c)return;let l=s.align===`end`?t.scrollHeight:t.scrollTop+c.getBoundingClientRect().top-a.top-14;t.scrollTo({top:l,behavior:t5(1)>0?`smooth`:`auto`})}function T(){return[document.querySelector(`.sidebar`),document.querySelector(`.sidebar-toggle`),document.getElementById(`dashboard-content`)].filter(Boolean)}dn(()=>{if(!n.conversationOpen)return;v();let e=document.querySelector(`.sidebar`),t=new ResizeObserver(v);e&&t.observe(e);let r=e=>{e.key===`Escape`&&!Ki.anyOpen&&(R(l)?h(!1):n.closeConversation())};return window.addEventListener(`keydown`,r),window.addEventListener(`resize`,v),()=>{S({}),t.disconnect(),window.removeEventListener(`keydown`,r),window.removeEventListener(`resize`,v)}}),dn(()=>{n.conversationOpen||M(l,!1)}),dn(()=>{if(!R(l))return;let e=T().map(e=>({element:e,inert:e.inert,ariaHidden:e.getAttribute(`aria-hidden`)}));return e.forEach(({element:e})=>{e.inert=!0,e.setAttribute(`aria-hidden`,`true`)}),()=>{e.forEach(({element:e,inert:t,ariaHidden:n})=>{e.inert=t,n===null?e.removeAttribute(`aria-hidden`):e.setAttribute(`aria-hidden`,n)})}}),dn(()=>{eX.page!==`audit-logs`&&n.conversationOpen&&n.closeConversation()});var ee=Tr(),E=F(ee),te=e=>{var t=Tr();W(F(t),16,()=>[R(l)],e=>e,(e,t)=>{var r=p1e();let i,a;var l=P(r),f=I(l,2),_=P(f),v=P(_),y=P(v),T=P(y,!0);D(y);var ee=I(y,2),E=P(ee);let te;D(ee),D(v);var ne=I(v,2),re=P(ne),ie=P(re);{let e=A(()=>t?Kke:IY);J(ie,{get icon(){return R(e)},class:`table-icon-svg`})}D(re);var ae=I(re,2);{let e=A(()=>ype());kX(ae,{get label(){return R(e)},onclick:()=>n.closeConversation(),get el(){return n.conversationCloseBtnEl},set el(e){n.conversationCloseBtnEl=e}})}D(ne),D(_);var oe=I(_,2),se=e=>{var t=i1e(),r=P(t),i=P(r,!0);D(r);var a=I(r,2);W(a,21,()=>n.conversationRequestSteps(),e=>e.id,(e,t)=>{var n=r1e(),r=P(n,!0);D(n);var i={};L((e,t)=>{H(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>p(R(t)),()=>j7(R(t))]),V(e,n)}),D(a);var o;fi(a),D(t),L((e,r)=>{K(t,`title`,e),H(i,r),o!==(o=n.conversationRequestStep)&&(a.value=(a.__value=n.conversationRequestStep)??``,di(a,n.conversationRequestStep))},[()=>Fme(),()=>Cme()]),z(`change`,a,e=>n.selectRequestStep(e.currentTarget.value)),V(e,t)},ce=A(()=>n.conversationRequestSteps().length>1);U(oe,e=>{R(ce)&&e(se)});var le=I(oe,2),ue=e=>{var t=a1e(),n=P(t);let r;var i=I(n,2),a=P(i),o=I(a),s=P(o,!0);D(o),D(i),D(t),L((e,i,o)=>{K(t,`aria-checked`,R(d)),K(t,`title`,e),r=G(n,1,`conversation-cache-switch svelte-ssrzja`,null,r,{"is-active":R(d)}),H(a,`${i??``} `),H(s,o)},[()=>R(d)?Fpe():Rpe(),()=>Vpe(),()=>Wpe()]),z(`click`,t,g),V(e,t)},de=A(()=>n.conversationMessages.some(e=>Number(e.promptCacheRatio||0)>0));U(le,e=>{R(de)&&e(ue)}),D(f);var fe=I(f,2),pe=P(fe),me=e=>{var t=o1e(),n=P(t);J(P(n),{get icon(){return Eke},width:`14`,height:`14`}),D(n);var r=I(n,2);J(P(r),{get icon(){return Cke},width:`14`,height:`14`}),D(r),D(t),L((e,i,a,o,s)=>{K(t,`aria-label`,e),K(n,`aria-label`,i),K(n,`title`,a),K(r,`aria-label`,o),K(r,`title`,s)},[()=>Spe(),()=>ps(),()=>ps(),()=>ms(),()=>ms()]),z(`click`,n,()=>w(-1)),z(`click`,r,()=>w(1)),V(e,t)};U(pe,e=>{n.conversationMessages.length>1&&e(me)});var he=I(pe,2),ge=e=>{var t=s1e(),r=P(t,!0);D(t),L(()=>H(r,n.conversationError)),V(e,t)};U(he,e=>{n.conversationError&&e(ge)});var _e=I(he,2),ve=e=>{var t=$9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>kpe()]),V(e,t)};U(_e,e=>{n.conversationLoading&&e(ve)});var ye=I(_e,2),be=e=>{var t=$9(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Mpe()]),V(e,t)},xe=A(()=>!n.conversationLoading&&!n.followUpSending&&!n.conversationError&&n.conversationMessages.length===0&&!n.conversationLiveWaiting());U(ye,e=>{R(xe)&&e(be)});var Se=I(ye,2),Ce=e=>{var t=c1e();W(t,21,()=>n.conversationMessages,e=>e.uid,(e,t)=>{e1e(e,{get msg(){return R(t)},get showPromptCache(){return R(d)}})}),D(t),Mi(t,e=>n.conversationThreadEl=e,()=>n?.conversationThreadEl),V(e,t)};U(Se,e=>{n.conversationMessages.length>0&&e(Ce)});var we=I(Se,2),Te=e=>{var t=l1e(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>qpe()]),V(e,t)};U(we,e=>{n.conversationTruncated&&e(Te)});var Ee=I(we,2),De=e=>{var t=u1e(),r=I(P(t),2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>n.conversationLiveStatusText()]),V(e,t)},Oe=A(()=>n.conversationLiveWaiting());U(Ee,e=>{R(Oe)&&e(De)}),D(fe);var ke=I(fe,2),Ae=e=>{var t=f1e(),r=P(t),i=P(r);at(i);var a=I(i,2),o=e=>{var t=d1e(),r=P(t,!0);D(t),L(()=>H(r,n.followUpError)),V(e,t)};U(a,e=>{n.followUpError&&e(o)});var s=I(a,2),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u,!0);D(u),D(s),D(r),D(t),L((e,t,n,r,a,o)=>{K(i,`aria-label`,e),K(i,`placeholder`,t),i.disabled=n,H(l,r),u.disabled=a,H(d,o)},[()=>Xpe(),()=>$pe(),()=>n.followUpSending||n.conversationLiveWaiting(),()=>n.selectedConversationEntry()?.path||``,()=>!n.canSendFollowUp(),()=>n.followUpSending?ale():is()]),_r(`submit`,r,e=>{e.preventDefault(),n.sendFollowUp()}),Di(i,()=>n.followUpText,e=>n.followUpText=e),V(e,t)},je=A(()=>n.conversationAnchorID&&n.followUpKind());U(ke,e=>{R(je)&&e(Ae)}),D(r),Mi(r,e=>n.conversationDialogEl=e,()=>n?.conversationDialogEl),L((e,u,d,f,p,m)=>{i=G(r,1,`conversation-drawer svelte-ssrzja`,null,i,{"conversation-drawer-fullscreen":t}),K(r,`role`,t?`dialog`:void 0),K(r,`aria-modal`,t?`true`:void 0),a=ui(r,``,a,{"--conversation-panel-width":R(o)+`px`}),K(l,`aria-label`,e),K(l,`aria-valuemin`,R(s)),K(l,`aria-valuemax`,R(c)),K(l,`aria-valuenow`,R(o)),H(T,u),K(ee,`aria-label`,d),K(ee,`title`,f),te=G(E,1,`live-dot`,null,te,{"is-streaming":n.conversationFollowLatest}),K(re,`aria-label`,p),K(re,`title`,m),K(re,`aria-pressed`,t)},[()=>Ufe(),()=>Kfe(),()=>n.conversationFollowLatest?Yfe():Qfe(),()=>n.conversationFollowLatest?tpe():ipe(),()=>t?spe():upe(),()=>t?ppe():gpe()]),z(`pointerdown`,l,b),z(`pointermove`,l,x),z(`pointerup`,l,S),_r(`pointercancel`,l,S),_r(`lostpointercapture`,l,S),z(`keydown`,l,C),z(`click`,re,()=>h(!t)),$r(7,r,()=>m,()=>({fullscreen:t,revealWithoutSlide:!t&&R(u)})),V(e,r)}),V(e,t)};U(E,e=>{n.conversationOpen&&e(te)}),V(e,ee),k()}vr([`pointerdown`,`pointermove`,`pointerup`,`keydown`,`click`,`change`]);var h1e=B(`
        `,1);function g1e(e,t){O(t,!0);let n={overview:W4,usage:JBe,budgets:JVe,"rate-limits":BHe,models:cGe,playground:rKe,workflows:Oqe,"audit-logs":hXe,guardrails:KXe,"mcp-servers":SZe,"providers-config":mQe,"auth-keys":KQe,settings:q$e};sje(),yX.init(),cZ.init(),X.init(),Wi.init(),Gi.init(),eX.init(),dn(()=>{X.refreshTick,OX.fetch(),lZ.fetchModels(),lZ.fetchCategories()}),dn(()=>{document.body.classList.toggle(`dashboard-modal-open`,Ki.anyOpen)});let r=A(()=>n[eX.page]||W4);var i=h1e(),a=F(i);jAe(a,{});var o=I(a,2);let s;var c=P(o);$Ae(c,{}),Vr(I(c,2),()=>R(r),(e,t)=>{t(e,{})}),D(o);var l=I(o,2);m1e(l,{});var u=I(l,2);zAe(u,{});var d=I(u,2);UAe(d,{}),ZAe(I(d,2),{}),L(()=>s=G(o,1,`content`,null,s,{"interactions-open":X7.conversationOpen})),V(e,i),k()}Eee(g1e,{target:document.getElementById(`app`)}); \ No newline at end of file diff --git a/internal/admin/dashboard/static/dist/assets/index-BBUuyK53.css b/internal/admin/dashboard/static/dist/assets/index-CE3xLF5q.css similarity index 76% rename from internal/admin/dashboard/static/dist/assets/index-BBUuyK53.css rename to internal/admin/dashboard/static/dist/assets/index-CE3xLF5q.css index e751bdfd7..eeaa40fdc 100644 --- a/internal/admin/dashboard/static/dist/assets/index-BBUuyK53.css +++ b/internal/admin/dashboard/static/dist/assets/index-CE3xLF5q.css @@ -1 +1 @@ -:root{--bg:#111110;--bg-surface:#1e1d1c;--bg-surface-hover:#2a2420;--border:#2a2826;--text:#e8e0d6;--text-muted:#9a918a;--accent:#b8956e;--accent-hover:#d4b896;--success:#34d399;--info:#3b82f6;--warning:#f59e0b;--danger:#ef4444;--prompt-cache-color:color-mix(in srgb, var(--info) 72%, #fff);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 24%, var(--bg-surface));--cache-meter-uncached:var(--token-input);--cache-meter-local:var(--token-local);--cache-meter-prompt:var(--token-prompt);--token-input:#c0824a;--token-output:#ddb27a;--token-prompt:color-mix(in srgb, var(--info) 60%, transparent);--token-local:color-mix(in srgb, var(--info) 20%, transparent);--sidebar-width:240px;--radius:8px;--chart-grid:#2a2826;--chart-text:#9a918a;--chart-day-marker:var(--text);--chart-tooltip-bg:#1e1d1c;--chart-tooltip-border:#2a2826;--chart-tooltip-text:#e8e0d6;--cal-level-0:#161b22;--cal-level-1:color-mix(in srgb, var(--info) 15%, var(--bg-surface));--cal-level-2:color-mix(in srgb, var(--info) 25%, var(--bg-surface));--cal-level-3:color-mix(in srgb, var(--info) 36%, var(--bg-surface));--cal-level-4:color-mix(in srgb, var(--info) 48%, var(--bg-surface));--cal-level-5:color-mix(in srgb, var(--info) 60%, var(--bg-surface));--cal-level-6:color-mix(in srgb, var(--info) 73%, var(--bg-surface));--cal-level-7:color-mix(in srgb, var(--info) 87%, var(--bg-surface));--cal-level-8:var(--info);--cal-level-9:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-10:color-mix(in srgb, var(--info) 62%, #fff);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface-hover) 86%, #fff 14%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface-hover) 72%, #fff 28%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body.dashboard-modal-open{overflow:hidden}.app{height:100vh;min-height:0;display:flex;overflow:hidden}.badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.auth-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);padding:22px;box-shadow:0 24px 70px #00000061}.auth-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.auth-dialog h2{margin-top:2px;font-size:22px;line-height:1.2}.auth-dialog-close{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.auth-dialog-close:hover{color:var(--text);background:var(--bg-surface-hover)}.auth-dialog-close:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-hint{color:var(--text-muted);font-size:13px}.auth-dialog-error{color:var(--danger);font-size:13px;font-weight:600}.auth-dialog-form{gap:10px;margin-top:18px;display:grid}.auth-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.content{-webkit-overflow-scrolling:touch;flex:1 1 0;width:100%;min-width:0;min-height:0;padding:32px;transition:width .2s;overflow-y:auto;container:dashboard-content/inline-size}.content>*{width:100%;max-width:1336px;margin-inline:auto}body.dashboard-modal-open .content{overflow-y:hidden}.content.interactions-open>*{max-width:none}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.3px;font-size:22px;font-weight:700}.page-header-controls{align-items:center;gap:12px;display:flex}.page-with-sticky-date{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;display:grid}.page-with-sticky-date>*{grid-column:1/-1}.page-with-sticky-date>.date-range-page-header{grid-column:1}.page-with-sticky-date>.sticky-date-range{grid-column:2;justify-self:end}.model-count{color:var(--text-muted);font-size:14px}.provider-status-section{margin-top:28px;scroll-margin-top:24px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.card-value{letter-spacing:-.5px;font-size:28px;font-weight:700}.cache-meter{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:24px}.chart-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.chart-container h3{margin-bottom:16px;font-size:16px;font-weight:600}.chart-container-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-container-header h3{margin-bottom:0}.chart-wrapper{height:210px;position:relative}.live-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-dot.is-streaming{background:var(--success);position:relative}.live-dot.is-streaming:after{content:"";z-index:-1;background:color-mix(in srgb, var(--success) 55%, transparent);border-radius:50%;animation:1.8s ease-out infinite live-dot-pulse;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.live-dot.is-streaming:after{opacity:0;animation:none}}@keyframes live-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(2.5)}to{opacity:0;transform:scale(2.5)}}.alert{border-radius:var(--radius);margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d}.table-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar-main{flex:1;min-width:0}.table-toolbar-actions{justify-content:flex-end;margin-left:auto;display:flex}input:is([type=text],[type=date],[type=number]){background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}input:is([type=text],[type=date],[type=number]):focus{border-color:var(--accent)}input:is([type=text],[type=date],[type=number]):disabled,textarea:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table th.model-actions-header{text-align:right;white-space:nowrap;width:1%;min-width:156px}.data-table td{border-bottom:1px solid var(--border);padding:10px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-surface-hover)}.mono{font-family:SF Mono,Menlo,Consolas,monospace}.font-size-md{font-size:13px}.col-price,.data-table th.col-price{text-align:right}td.col-price{color:var(--text-muted);white-space:nowrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.provider-badge{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px}.empty-state-icon{width:auto;height:auto;max-height:160px;color:var(--text-muted);margin:0 auto;display:block}.empty-state-icon text{fill:var(--text-muted);font-family:inherit;font-weight:600}.chart-empty-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-empty-overlay .empty-state-icon{width:auto;max-width:90%;height:auto;max-height:195px}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.table-action-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.table-action-btn:hover:not(:disabled){background:var(--bg-surface-hover)}.table-action-btn:disabled{opacity:.45;cursor:default}.table-action-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.table-action-btn-active{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.table-action-btn-active:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-surface-hover))}.table-action-btn-failover-active{color:var(--info);background:color-mix(in srgb, var(--cache-meter-prompt) 35%, var(--bg));border-color:color-mix(in srgb, var(--info) 45%, var(--border));position:relative}.table-action-btn-failover-active:hover:not(:disabled){background:color-mix(in srgb, var(--cache-meter-prompt) 45%, var(--bg-surface-hover))}.table-icon-btn{border-radius:6px;gap:0;width:32px;min-width:32px;height:32px;padding:0}.table-icon-btn.table-action-btn-active{position:relative}.table-icon-btn.table-action-btn-active:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-btn.table-action-btn-failover-active:after{content:"";background:var(--info);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-svg{flex-shrink:0;width:14px;height:14px}.model-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.alias-kind-badge{border:1px solid var(--border);background:var(--bg);min-height:24px;color:var(--accent);letter-spacing:.2px;text-transform:uppercase;border-color:color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.form h3{font-size:20px;font-weight:700}.form-kicker,.form-hint{color:var(--text-muted);font-size:13px}.alias-actions-cell{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.model-list-actions{white-space:nowrap;flex-wrap:nowrap}.model-list-actions .table-icon-btn{flex:0 0 32px}.model-list-actions .alias-toggle{flex:none}.alias-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.alias-toggle:hover:not(:disabled){background:var(--bg-surface-hover)}.alias-toggle:disabled{opacity:.45;cursor:default}.alias-toggle-track{background:color-mix(in srgb, var(--border) 80%, var(--bg));border-radius:6px;width:34px;height:18px;transition:background .15s;position:relative}.alias-toggle-thumb{background:var(--text-muted);border-radius:6px;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:2px}.alias-toggle.enabled{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.alias-toggle.enabled .alias-toggle-track{background:color-mix(in srgb, var(--success) 55%, var(--bg))}.alias-toggle.enabled .alias-toggle-thumb{background:#fff;transform:translate(14px)}.alias-toggle.restricted{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:color-mix(in srgb, var(--accent) 70%, var(--text))}.alias-toggle.restricted .alias-toggle-track{background:color-mix(in srgb, var(--accent) 55%, var(--bg))}.editor-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.auth-key-editor{background:color-mix(in srgb, var(--bg-surface) 82%, var(--bg) 18%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px;font-weight:600;display:inline-block}.vm-target-row{align-items:center;gap:8px;display:flex}.vm-target-row .vm-target-model{flex:auto;min-width:0}.vm-target-row .vm-target-weight{flex:0 0 88px;width:88px}.vm-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vm-status-row .vm-status-toggle{margin-left:auto}.form-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface));color:var(--danger);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.form-error:empty{display:none}.form-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4}.form-field-required{color:var(--danger);margin-left:3px}:is(input,textarea,select)[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger) 60%, var(--border))}:is(input,textarea,select)[aria-invalid=true]:focus{border-color:var(--danger)}textarea{resize:vertical;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:13px}textarea:focus{border-color:var(--accent)}.form-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:38px;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--accent)}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.failover-target-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.data-table tr.alias-row.is-valid td{background:var(--alias-row-valid-bg)}.data-table tr.alias-row.is-valid:hover td{background:var(--alias-row-valid-bg-hover)}.data-table tr.alias-row:not(.is-valid) td{background:color-mix(in srgb, var(--accent) 10%, var(--bg-surface))}.data-table tr.alias-row:not(.is-valid):hover td{background:color-mix(in srgb, var(--accent) 16%, var(--bg-surface-hover))}.data-table tr.alias-row.is-disabled td{background:var(--bg-surface);opacity:.58}.data-table tr.alias-row.is-disabled:hover td{background:var(--bg-surface-hover);opacity:.72}.data-table tr.model-access-disabled-row td{background:color-mix(in srgb, var(--danger) 6%, var(--bg-surface))}.data-table tr.model-access-disabled-row:hover td{background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface-hover))}.workflow-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-section-head h4{font-size:14px;font-weight:700}.workflow-preview{flex-direction:column;gap:12px;display:flex}.workflow-feature-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-feature-toggle{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.workflow-feature-toggle input{width:16px;height:16px}.model-chart-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.model-chart-section h3{margin:0;font-size:16px;font-weight:600}.model-chart-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.bar-chart-wrap{width:100%;height:180px;position:relative}.form-select,.usage-log-select{appearance:none;background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;outline:none;min-width:140px;padding:8px 34px 8px 12px;font-family:inherit;font-size:13px}.form-select:disabled,.usage-log-select:disabled{cursor:not-allowed;opacity:.6}.form-select:focus,.usage-log-select:focus{border-color:var(--accent)}.form-select{width:100%;min-width:0}.usage-label-chips{flex-wrap:wrap;gap:4px;max-width:280px;display:inline-flex}.usage-label-chip{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg));min-height:20px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:1px 9px;font-family:inherit;font-size:11px;font-style:normal;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.usage-label-chip:hover{background:color-mix(in srgb, var(--label-color,var(--accent)) 26%, var(--bg))}.usage-label-chip.active{background:color-mix(in srgb, var(--label-color,var(--accent)) 32%, var(--bg));border-color:var(--label-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--label-color,var(--accent)) 55%, transparent)}@keyframes audit-live-summary-stripe-blink{0%,to{opacity:.9}50%{opacity:.28}}.audit-status-badge{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);border-radius:999px;justify-content:center;align-items:center;min-width:46px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-status-badge.status-success{color:var(--success);border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.audit-status-badge.status-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.audit-status-badge.status-error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.audit-status-badge.status-neutral{color:var(--text-muted)}.audit-status-badge.status-unknown{color:var(--text-muted);border-color:color-mix(in srgb, var(--border) 75%, transparent)}.audit-pane{border:1px solid var(--border);background:var(--bg);border-top:0;border-radius:0 0 8px 8px;min-width:0;padding:12px}.audit-pane h5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:11px;font-weight:600}.audit-prompt-cache-pill{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);min-height:20px;color:var(--prompt-cache-color);letter-spacing:.02em;text-transform:none;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.audit-prompt-cache-highlight{color:var(--prompt-cache-color);font-weight:700}.audit-audio{white-space:normal;flex-direction:column;gap:8px;display:flex}.audit-audio-player{width:100%;max-width:420px;height:36px}.audit-audio-meta{color:var(--text-muted);font-size:12px}.audit-audio-empty{align-items:flex-start;padding:4px 0}.audit-audio-icon{font-size:20px;line-height:1}.audit-audio-note{color:var(--text-muted);font-size:12px}.audit-audio-metadata{flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.audit-audio-meta-row{gap:8px;display:flex}.audit-audio-meta-key{color:var(--text-muted);min-width:120px}.conversation-body-highlight{border-left:2px solid color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:pointer;line-height:inherit;border-radius:2px;margin:0 0 0 -2px;padding:0 0 0 2px;display:inline}.conversation-body-highlight:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.conversation-body-highlight.conversation-system{border-left-color:color-mix(in srgb, var(--warning) 70%, var(--border));background:color-mix(in srgb, var(--warning) 10%, transparent)}.conversation-body-highlight.conversation-user{border-left-color:color-mix(in srgb, var(--accent) 75%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent)}.conversation-body-highlight.conversation-assistant{border-left-color:color-mix(in srgb, var(--success) 65%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}#interactions-drawer-content{flex:1;min-height:0;overflow-y:auto}.pagination{justify-content:space-between;align-items:center;padding:12px 0 0;display:flex}.btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.btn:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-primary{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000 10%);color:#fff;font-weight:600;box-shadow:0 10px 22px #3b82f62e}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, #fff 10%);border-color:color-mix(in srgb, var(--accent) 78%, #000 12%)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:0 0;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 75%, var(--border))}.btn-danger{color:#fff;border-color:color-mix(in srgb, var(--danger) 76%, #000 12%);background:var(--danger);box-shadow:0 10px 22px color-mix(in srgb, var(--danger) 20%, transparent);font-weight:600}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 90%, #fff 10%);border-color:color-mix(in srgb, var(--danger) 82%, #000 14%)}.btn-with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-with-icon .table-icon-svg{width:16px;height:16px}.btn:disabled{opacity:.4;cursor:default}.settings-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.inline-help-section{flex-direction:column;gap:2px;display:flex}.inline-help-title-row{align-items:center;gap:10px;display:inline-flex}.inline-help-title-row h2,.inline-help-title-row h3{margin-bottom:0}.inline-help-title-row h2:empty,.inline-help-title-row h3:empty{display:none}.inline-help-toggle{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));width:16px;height:16px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s;display:inline-flex;position:relative}.inline-help-toggle:before{content:"";pointer-events:auto;background:0 0;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-help-toggle:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));color:var(--text);background:0 0}.inline-help-toggle:active{background:0 0}.inline-help-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.inline-help-toggle-icon{justify-content:center;align-items:center;width:100%;height:100%;padding-bottom:1px;font-size:13px;font-weight:700;line-height:1;transition:transform .52s cubic-bezier(.22,.72,.12,1);display:inline-flex;transform:rotate(0)}.inline-help-copy{max-width:780px;color:var(--text-muted);margin-top:2px;font-size:14px}.settings-select{width:100%}.settings-refresh-section{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:24px;padding-top:22px;display:grid}.settings-refresh-section h3{font-size:18px}.settings-refresh-section p{max-width:720px;color:var(--text-muted);font-size:14px;line-height:1.55}.budget-list{gap:10px;padding:10px 0;display:grid}.budget-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;padding:12px 14px;display:grid}.budget-row-main{min-width:0}.budget-row-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.budget-scope-value{width:fit-content;max-width:100%;min-height:24px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;justify-self:start;align-items:center;gap:5px;padding:2px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;display:inline-flex;overflow:hidden}.budget-user-path{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--bg))}.budget-label{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.budget-scope-icon{stroke-width:2.2px;opacity:.85;flex:0 0 12px;width:12px;height:12px}.budget-row-meta{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.budget-source{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:11px}.budget-row-period{justify-content:center;min-width:0;display:flex}.budget-row-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.budget-bars{gap:6px;margin-top:10px;display:grid}.budget-bar-line{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;display:grid}.budget-bar-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;line-height:1;display:flex}.budget-bar-percent{font-weight:700}.budget-bar-track{background:color-mix(in srgb, var(--border) 75%, var(--bg));border-radius:999px;height:16px;position:relative;overflow:hidden}.budget-bar-fill{border-radius:inherit;min-width:0;height:100%;transition:width .2s}.budget-bar-fill-usage{background:color-mix(in srgb, var(--success) 82%, var(--accent))}.budget-bar-fill-danger{background:var(--danger)}.budget-bar-track-period-monthly{background:color-mix(in srgb, #30302c 22%, var(--bg))}.budget-bar-fill-period-monthly{background:#30302c}.budget-bar-track-period-weekly{background:color-mix(in srgb, #68765c 22%, var(--bg))}.budget-bar-fill-period-weekly{background:#68765c}.budget-bar-track-period-daily{background:color-mix(in srgb, #b5652d 22%, var(--bg))}.budget-bar-fill-period-daily{background:#a75a26}.budget-bar-track-period-hourly{background:color-mix(in srgb, #783f22 22%, var(--bg))}.budget-bar-fill-period-hourly{background:#783f22}.budget-bar-track-period-custom{background:color-mix(in srgb, #bfa584 22%, var(--bg))}.budget-bar-fill-period-custom{background:#bfa584}.budget-bar-text-row{z-index:1;pointer-events:none;color:var(--text);position:absolute;inset:0}.budget-bar-text{text-overflow:ellipsis;white-space:nowrap;max-width:min(44%,190px);font-size:11px;font-weight:700;line-height:12px;position:absolute;top:50%;overflow:hidden}.budget-bar-text-center{max-width:min(46%,240px);left:50%;transform:translate(-50%,-50%)}.budget-bar-text-end{text-align:right;max-width:min(34%,180px);right:8px;transform:translateY(-50%)}.budget-period-label{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.budget-period-icon{stroke-width:2.2px;flex:0 0 12px;width:12px;height:12px}.budget-period-label-monthly{border-color:color-mix(in srgb, #30302c 62%, var(--border));background:color-mix(in srgb, #30302c 12%, var(--bg));color:color-mix(in srgb, #30302c 34%, var(--text) 66%)}.budget-period-label-weekly{border-color:color-mix(in srgb, #68765c 62%, var(--border));background:color-mix(in srgb, #68765c 12%, var(--bg));color:color-mix(in srgb, #68765c 34%, var(--text) 66%)}.budget-period-label-daily{border-color:color-mix(in srgb, #b5652d 62%, var(--border));background:color-mix(in srgb, #b5652d 12%, var(--bg));color:color-mix(in srgb, #b5652d 34%, var(--text) 66%)}.budget-period-label-hourly{border-color:color-mix(in srgb, #783f22 62%, var(--border));background:color-mix(in srgb, #783f22 12%, var(--bg));color:color-mix(in srgb, #783f22 34%, var(--text) 66%)}.budget-period-label-custom{border-style:dashed;border-color:color-mix(in srgb, #bfa584 68%, var(--border));background:color-mix(in srgb, #bfa584 16%, var(--bg));color:color-mix(in srgb, #8b6f4f 34%, var(--text) 66%)}[data-theme=light] .budget-period-label-monthly{color:#30302c}[data-theme=light] .budget-period-label-weekly{color:#68765c}[data-theme=light] .budget-period-label-daily{color:#b5652d}[data-theme=light] .budget-period-label-hourly{color:#783f22}[data-theme=light] .budget-period-label-custom{color:#8b6f4f}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .budget-period-label-monthly{color:#30302c}:root:not([data-theme=dark]) .budget-period-label-weekly{color:#68765c}:root:not([data-theme=dark]) .budget-period-label-daily{color:#b5652d}:root:not([data-theme=dark]) .budget-period-label-hourly{color:#783f22}:root:not([data-theme=dark]) .budget-period-label-custom{color:#8b6f4f}}.budget-row-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.budget-action-btn{white-space:nowrap;justify-content:center;gap:0;width:28px;min-width:0;height:28px;padding:0;transition:width .18s,border-color .15s,background .15s,color .15s;overflow:hidden}.budget-action-btn:hover,.budget-action-btn:focus-visible{gap:6px;width:82px;padding:0 9px}.budget-action-label{opacity:0;max-width:0;transition:max-width .18s,opacity .12s;overflow:hidden}.budget-action-btn:hover .budget-action-label,.budget-action-btn:focus-visible .budget-action-label{opacity:1;max-width:58px}.budget-action-btn-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.budget-action-icon{flex:0 0 14px;width:14px;height:14px}.budget-editor{background:color-mix(in srgb, var(--bg-surface) 86%, var(--bg) 14%)}.budget-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.budget-reset-dialog{max-width:460px}.form-action-icon{flex:0 0 16px;width:16px;height:16px}.settings-refresh-alert{margin-top:16px;margin-bottom:0}@media (width<=768px){.badge{display:none}.content{width:100%;margin:0 auto;padding:20px}.auth-dialog{padding:18px}.auth-dialog-actions{flex-direction:column-reverse}.auth-dialog-actions .btn{width:100%}.cards{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap;gap:12px}.page-header h2{width:100%}.page-header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.page-with-sticky-date{grid-template-columns:minmax(0,1fr)}.page-with-sticky-date>.date-range-page-header,.page-with-sticky-date>.sticky-date-range{grid-column:1}.page-with-sticky-date>.date-range-page-header{margin-bottom:12px}.page-with-sticky-date>.sticky-date-range{width:100%;margin-bottom:24px}.sticky-date-range .date-picker-trigger{justify-content:space-between;width:100%}.usage-log-select{min-width:0}.budget-row{grid-template-columns:1fr}.budget-row-controls{flex-wrap:wrap}.budget-bar-line{grid-template-columns:1fr;gap:5px}.form-grid,.workflow-feature-toggles{grid-template-columns:1fr}.workflow-section-head{flex-direction:column;align-items:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-actions{justify-content:stretch;margin-left:0}.table-toolbar-actions .btn{width:100%}.model-editor{padding:16px}.alias-actions-cell,.editor-header{flex-direction:column;align-items:flex-start}.alias-actions-cell .table-action-btn,.editor-header .table-action-btn{width:100%}.alias-actions-cell .table-icon-btn,.editor-header .table-icon-btn{width:36px}.model-list-actions{flex-flow:row;align-items:center}.model-list-actions .table-action-btn{width:auto}.model-list-actions .table-icon-btn{flex-basis:32px;width:32px}.model-editor .editor-header{flex-direction:row;align-items:flex-start}.model-editor .editor-header>:first-child{flex:1;min-width:0}.model-editor .editor-header .dialog-close-btn{flex:0 0 32px;align-self:flex-start;width:32px;min-width:32px}.settings-panel{padding:18px}.budget-settings-actions,.budget-settings-actions .btn{width:100%}}.workflow-conn{background:color-mix(in srgb, var(--accent) 44%, var(--border));flex:1 1 0;width:auto;min-width:13px;height:2px;position:relative}.workflow-conn:after{content:"";background:color-mix(in srgb, var(--accent) 44%, var(--border));clip-path:polygon(0 0,100% 50%,0 100%);width:7px;height:9px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.workflow-node{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:72px;padding:8px 12px;display:flex}.auth-key-description{color:var(--text-muted);max-width:220px;font-size:13px}.auth-key-status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.auth-key-status-active{background:color-mix(in srgb, var(--success) 12%, var(--bg));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.auth-key-status-inactive{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger)}.mcp-server-advanced{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg) 28%);overflow:hidden}.mcp-server-advanced>summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.mcp-server-advanced>summary::-webkit-details-marker{display:none}.mcp-server-advanced>summary:after{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);content:"";flex:none;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)}.mcp-server-advanced[open]>summary:after{transform:rotate(225deg)}.mcp-server-advanced-summary-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mcp-server-advanced-title{font-size:13px;font-weight:600}.mcp-server-advanced-fields{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:14px;display:flex}.copy-feedback-btn{align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.rate-limit-pressure-row{background-image:linear-gradient(to right, color-mix(in srgb, var(--success) 16%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-high{background-image:linear-gradient(to right, color-mix(in srgb, var(--warning) 20%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-full{background-image:linear-gradient(to right, color-mix(in srgb, var(--danger) 22%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.table-icon-btn.rate-limit-gauge-inherited{color:var(--accent-strong,var(--accent));background:linear-gradient(to right, color-mix(in srgb, var(--accent) 22%, var(--bg)) 50%, var(--bg) 50%);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.auth-dialog-input-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-dialog-input-shell:focus-within .auth-dialog-input-icon{color:var(--accent)}.auth-dialog-submit-icon{flex:0 0 16px;width:16px;height:16px}.nav-icon{flex:0 0 18px;width:18px;height:18px}.api-key-open-icon{flex:0 0 15px;width:15px;height:15px}.theme-icon{flex:0 0 14px;width:14px;height:14px}.theme-toggle-mobile .theme-icon{flex-basis:16px;width:16px;height:16px}@media (width<=768px){.sidebar-footer .api-key-open-icon{flex-basis:16px;width:16px;height:16px}}.failover-drafts-loading{min-height:96px}.models-loading-state{top:16px;left:var(--sidebar-width);z-index:110;pointer-events:none;--loading-state-min-height:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:fit-content;box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);margin:0 auto;padding:10px 14px;position:fixed;right:0}@media (width<=768px){.models-loading-state{left:60px}}.sidebar.sidebar-collapsed~.content .models-loading-state{left:60px}.alias-create-icon{flex:0 0 16px;width:16px;height:16px}.pricing-override-remove-row{margin-bottom:1px}@media (width<=768px){.pricing-override-remove-row{margin-bottom:0}}.pricing-recalculate-dialog{max-width:480px}.settings-refresh-btn.is-refreshing .settings-refresh-icon{transform-origin:50%;animation:.8s linear infinite loading-spin}.cost-source-icon{width:14px;height:14px;color:var(--success);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.cache-savings-icon{width:14px;height:14px;color:var(--accent);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.theme-toggle.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;margin-bottom:10px;padding:2px;display:inline-flex}.theme-btn.svelte-1keql7b{width:28px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn.svelte-1keql7b:hover{color:var(--text)}.theme-btn.active.svelte-1keql7b{background:var(--accent);color:#fff}.theme-btn.svelte-1keql7b:focus-visible,.theme-toggle-mobile.svelte-1keql7b:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.theme-toggle-mobile.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:none}.theme-toggle-mobile.svelte-1keql7b:hover{color:var(--text)}.theme-toggle.is-compact.svelte-1keql7b{display:none}.theme-toggle-mobile.is-compact.svelte-1keql7b{margin:0 auto;display:flex}@media (width<=768px){.theme-toggle.svelte-1keql7b{display:none}.theme-toggle-mobile.svelte-1keql7b{margin:0 auto;display:flex}}.sidebar.svelte-1nwtzae{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:10;flex-direction:column;max-height:100vh;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar.sidebar-resizing.svelte-1nwtzae{transition:none}.sidebar-header.svelte-1nwtzae{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px;display:flex}.sidebar-logo.svelte-1nwtzae{width:28px;height:28px;color:var(--accent);flex-shrink:0}.sidebar-logo.svelte-1nwtzae svg{width:100%;height:100%}.sidebar-header.svelte-1nwtzae h1{letter-spacing:-.3px;font-size:18px;font-weight:700}.sidebar-nav.svelte-1nwtzae{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.nav-item.svelte-1nwtzae{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item.svelte-1nwtzae:hover{background:var(--bg-surface-hover);color:var(--text)}.nav-item.active.svelte-1nwtzae{background:var(--accent);color:#fff}.nav-label.svelte-1nwtzae{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-footer.svelte-1nwtzae{border-top:1px solid var(--border);padding:16px}.api-key-section.svelte-1nwtzae{gap:8px;display:grid}.external-auth-section.svelte-1nwtzae{gap:8px;margin-top:8px;display:grid}.external-auth-user.svelte-1nwtzae{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.external-auth-user.svelte-1nwtzae span:where(.svelte-1nwtzae){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.api-key-open-btn.svelte-1nwtzae{border:1px solid var(--accent);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.api-key-open-btn.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 78%, var(--text));color:color-mix(in srgb, var(--accent) 78%, var(--text))}.api-key-open-btn.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar-toggle.svelte-1nwtzae{cursor:ew-resize;z-index:11;background:0 0;border:none;flex:0 0 6px;width:6px;height:100vh;padding:0;transition:background .15s;position:sticky;top:0}.sidebar-toggle.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.sidebar-toggle.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}body.sidebar-resizing{cursor:ew-resize;-webkit-user-select:none;user-select:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae){justify-content:center;padding:16px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae) h1,.sidebar.sidebar-collapsed.svelte-1nwtzae .badge{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-label:where(.svelte-1nwtzae){display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae){padding:8px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .external-auth-section:where(.svelte-1nwtzae){display:none}@media (width<=768px){.sidebar.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar-header.svelte-1nwtzae{justify-content:center;padding:16px}.sidebar-header.svelte-1nwtzae h1{display:none}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae) .nav-label:where(.svelte-1nwtzae){display:none}.sidebar-footer.svelte-1nwtzae{gap:8px;padding:8px;display:grid}.sidebar-footer.svelte-1nwtzae .api-key-section:where(.svelte-1nwtzae),.sidebar-footer.svelte-1nwtzae .external-auth-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .external-auth-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .external-auth-user:where(.svelte-1nwtzae){display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae){justify-self:center;width:36px;height:36px;min-height:36px;padding:0}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae) span,.sidebar-toggle.svelte-1nwtzae{display:none}}.dialog-close-btn.svelte-11l1bb5{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.dialog-close-btn.svelte-11l1bb5:hover{color:var(--text);background:var(--bg-surface-hover)}.dialog-close-btn.svelte-11l1bb5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-backdrop.svelte-17e0w4c,.editor-modal-backdrop.svelte-17e0w4c{z-index:80;background:#0000007a;position:fixed;inset:0}.auth-dialog-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-modal-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.editor-modal-shell.svelte-17e0w4c>*{overscroll-behavior:contain;width:min(760px,100%);max-height:min(100vh - 40px,960px);margin:0;overflow:auto;box-shadow:0 24px 70px #00000061}@media (width<=768px){.auth-dialog-shell.svelte-17e0w4c,.editor-modal-shell.svelte-17e0w4c{align-items:end;padding:12px}.editor-modal-shell.svelte-17e0w4c>*{max-height:calc(100vh - 24px)}}.external-login-btn.svelte-1dsu6u0{justify-content:center;width:100%;text-decoration:none}.auth-dialog-separator.svelte-1dsu6u0{color:var(--text-muted);align-items:center;gap:10px;font-size:12px;display:flex}.auth-dialog-separator.svelte-1dsu6u0:before,.auth-dialog-separator.svelte-1dsu6u0:after{content:"";border-top:1px solid var(--border);flex:1}.auth-dialog-input-shell.svelte-1dsu6u0{position:relative}.auth-dialog-input.svelte-1dsu6u0{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:11px 12px 11px 38px;font-family:inherit;font-size:14px}.auth-dialog-input.svelte-1dsu6u0:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.flash-region.svelte-1i257xg{top:16px;left:var(--sidebar-width);z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;right:0}.sidebar.sidebar-collapsed~.flash-region.svelte-1i257xg{left:60px}@media (width<=768px){.flash-region.svelte-1i257xg{left:60px}}.flash-toast.svelte-1i257xg{border-radius:var(--radius);pointer-events:auto;align-items:flex-start;gap:10px;width:max-content;max-width:min(480px,100% - 32px);padding:12px 12px 12px 16px;font-size:14px;animation:.9s ease-out svelte-1i257xg-flash-toast-glow;display:flex;box-shadow:0 10px 30px #00000059}@keyframes svelte-1i257xg-flash-toast-glow{0%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 45%, transparent), 0 10px 30px #00000059}to{box-shadow:0 0 0 4px #0000,0 10px 30px #00000059}}@media (prefers-reduced-motion:reduce){.flash-toast.svelte-1i257xg{animation:none}}.flash-toast-success.svelte-1i257xg{background:color-mix(in srgb, var(--success) 14%, var(--bg-surface));color:var(--success);border:1px solid #34d39959}.flash-toast-error.svelte-1i257xg{background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--warning);border:1px solid #f59e0b66}.flash-toast-text.svelte-1i257xg{overflow-wrap:anywhere;flex:1;min-width:0}.flash-toast-icon{flex-shrink:0;width:18px;height:18px}.flash-toast-dismiss.svelte-1i257xg{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.flash-toast-dismiss.svelte-1i257xg:hover{opacity:1}.demo-mode-banner.svelte-1s3mcn8{border:1px solid color-mix(in srgb, var(--warning) 55%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--text);box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:grid}.demo-mode-banner-icon.svelte-1s3mcn8{width:20px;height:20px;color:var(--warning);flex:0 0 20px}.demo-mode-banner-copy.svelte-1s3mcn8{align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.demo-mode-banner.svelte-1s3mcn8 strong{color:var(--warning);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:12px}.demo-mode-banner-links.svelte-1s3mcn8{justify-content:flex-end;align-items:center;gap:6px;display:flex}.demo-mode-banner-links.svelte-1s3mcn8 a{border:1px solid color-mix(in srgb, var(--warning) 42%, var(--border));border-radius:var(--radius);min-height:28px;color:var(--text);white-space:nowrap;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.demo-mode-banner-links.svelte-1s3mcn8 a:hover{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text)}.demo-mode-banner-links.svelte-1s3mcn8 a:focus-visible{outline:2px solid color-mix(in srgb, var(--warning) 42%, transparent);outline-offset:2px}@media (width<=768px){.demo-mode-banner.svelte-1s3mcn8{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.demo-mode-banner-copy.svelte-1s3mcn8{gap:2px;display:grid}.demo-mode-banner-links.svelte-1s3mcn8{flex-wrap:wrap;grid-column:2;justify-content:flex-start}}.auth-banner.svelte-1c5yh36{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dp-calendar.svelte-g7ga4u{flex-shrink:0;width:224px}.dp-cal-header.svelte-g7ga4u{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.dp-cal-title.svelte-g7ga4u{font-size:13px;font-weight:600}.dp-nav-btn.svelte-g7ga4u{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dp-nav-btn.svelte-g7ga4u:hover{background:var(--bg-surface-hover);color:var(--text)}.dp-nav-btn.svelte-g7ga4u:disabled{opacity:.3;cursor:default;pointer-events:none}.dp-nav-prev-mobile.svelte-g7ga4u{display:none}.dp-weekdays.svelte-g7ga4u{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-weekdays.svelte-g7ga4u span:where(.svelte-g7ga4u){color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.dp-days.svelte-g7ga4u{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.dp-day.svelte-g7ga4u{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;transition:all .1s;display:flex}.dp-day.svelte-g7ga4u:hover:not(.disabled):not(.other-month){background:var(--bg-surface-hover)}.dp-day.other-month.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default}.dp-day.today.svelte-g7ga4u{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.dp-day.in-range.svelte-g7ga4u{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:0}.dp-day.range-start.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:6px 0 0 6px;font-weight:600}.dp-day.range-end.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:0 6px 6px 0;font-weight:600}.dp-day.range-start.range-end.svelte-g7ga4u{border-radius:6px}.dp-day.range-start.today.svelte-g7ga4u,.dp-day.range-end.today.svelte-g7ga4u{box-shadow:none}.dp-day.disabled.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default;pointer-events:none}@media (width<=768px){.dp-nav-prev-mobile.svelte-g7ga4u{display:flex}}.date-picker.svelte-ax7ma4{position:relative}.date-picker-trigger.svelte-ax7ma4{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.date-picker-trigger.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.date-picker-trigger.svelte-ax7ma4 svg:where(.svelte-ax7ma4){color:var(--text-muted);flex-shrink:0}.date-picker-chevron.svelte-ax7ma4{transition:transform .15s}.date-picker-chevron.open.svelte-ax7ma4{transform:rotate(180deg)}.date-picker-dropdown.svelte-ax7ma4{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.date-picker-presets.svelte-ax7ma4{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:140px;padding:8px;display:flex}.preset-btn.svelte-ax7ma4{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.preset-btn.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.preset-btn.active.svelte-ax7ma4{background:var(--accent);color:#fff}.date-picker-calendars.svelte-ax7ma4{flex-wrap:nowrap;gap:16px;padding:12px;display:flex}.dp-cursor-hint.svelte-ax7ma4{pointer-events:none;z-index:101;background:var(--bg-surface);color:var(--text);border:1px solid var(--accent);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:flex;position:fixed;transform:translate(12px,-50%)}.dp-cursor-hint.svelte-ax7ma4 svg:where(.svelte-ax7ma4){width:12px;height:12px;color:var(--accent);flex-shrink:0}@media (width<=768px){.date-picker-dropdown.svelte-ax7ma4{border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}.date-picker-presets.svelte-ax7ma4{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--border);flex-flow:row;min-width:0;overflow-x:auto}.date-picker-calendars.svelte-ax7ma4{justify-content:center}.date-picker-calendars.svelte-ax7ma4>.dp-calendar:first-child{display:none}}.segmented-control.svelte-92fh5i{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.segmented-btn.svelte-92fh5i{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.segmented-btn.svelte-92fh5i:hover{color:var(--text)}.segmented-btn.active.svelte-92fh5i{background:var(--accent);color:#fff}@media (width<=768px){.segmented-btn.svelte-92fh5i{padding:4px 8px;font-size:11px}}.live-tokens.svelte-17qr2ta{margin-bottom:28px}.live-tokens-heading.svelte-17qr2ta{flex-direction:column;gap:2px;display:flex}.live-tokens-subtitle.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live-tokens-legend.svelte-17qr2ta{flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;display:flex}.live-tokens-legend-item.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-tokens-swatch.svelte-17qr2ta{border-radius:2px;flex-shrink:0;width:10px;height:10px}.live-tokens-legend-value.svelte-17qr2ta{color:var(--text);font-weight:600}.live-tokens-empty.svelte-17qr2ta .live-tokens-empty-text:where(.svelte-17qr2ta){color:var(--text-muted);font-size:13px}.spinner.svelte-b54l9o{width:var(--spinner-size);height:var(--spinner-size);border:2px solid var(--border,#80808059);border-top-color:var(--accent,currentColor);border-radius:50%;flex:none;animation:.7s linear infinite svelte-b54l9o-spinner-rotate;display:inline-block}@keyframes svelte-b54l9o-spinner-rotate{to{transform:rotate(360deg)}}.provider-status-flag.svelte-6tr9cf{grid-column:span 2}.provider-status-overview-card.svelte-6tr9cf{grid-column:span 1}.provider-status-flag.is-healthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, var(--bg-surface))}.provider-status-flag.is-degraded.svelte-6tr9cf{border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-flag.is-unhealthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface))}.provider-status-value.svelte-6tr9cf{margin-bottom:8px}.provider-status-card-link.svelte-6tr9cf{color:var(--accent-strong,var(--accent));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:13px;font-weight:600}.provider-status-card-link.svelte-6tr9cf:hover{color:var(--text);text-decoration:underline}.provider-status-card-link.svelte-6tr9cf:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:3px;border-radius:4px}.provider-status-card-note.svelte-6tr9cf{color:var(--text-muted);font-size:13px;display:block}@media (width>=720px){.card-wide.svelte-6tr9cf{grid-column:span 2}}.cache-token-value.svelte-6tr9cf{flex-wrap:wrap;align-items:center;gap:6px;line-height:1;display:flex}.cache-token-part.svelte-6tr9cf{align-items:center;display:inline-flex}.cache-token-operator.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;font-size:24px;font-weight:600;line-height:1}.cache-token-marker.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-left:2px;font-size:14px;font-weight:700}.prompt-cache-gauge.svelte-6tr9cf{width:120px;height:60px;margin:8px auto 0;position:relative;overflow:hidden}.prompt-cache-gauge.svelte-6tr9cf canvas{display:block}.prompt-cache-gauge-loading.svelte-6tr9cf{justify-content:center;align-items:center;display:flex}.prompt-cache-gauge-value.svelte-6tr9cf{text-align:center;color:var(--text);font-size:18px;font-weight:700;line-height:1;position:absolute;bottom:4px;left:0;right:0}@media (width<=768px){.provider-status-flag.svelte-6tr9cf{grid-column:span 1}}.mcp-servers-flag.svelte-6tr9cf{grid-column:span 1}.cache-meter-header.svelte-1yzecxj{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:16px;display:flex}.cache-meter-header.svelte-1yzecxj h3{font-size:16px;font-weight:600}.cache-meter-subtitle.svelte-1yzecxj{color:var(--text-muted);font-size:13px}.cache-meter-bar.svelte-1yzecxj{background:var(--bg-surface-hover);border-radius:6px;width:100%;height:28px;display:flex;overflow:hidden}.cache-meter-segment.svelte-1yzecxj{justify-content:center;align-items:center;min-width:3px;height:100%;transition:width .3s;display:flex;overflow:hidden}.cache-meter-segment-label.svelte-1yzecxj{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000073;font-size:12px;font-weight:600;line-height:1}.cache-meter-segment.svelte-1yzecxj+.cache-meter-segment:where(.svelte-1yzecxj){box-shadow:-1px 0 0 var(--bg-surface)}.cache-meter-bar.is-empty.svelte-1yzecxj{background:var(--bg-surface-hover);justify-content:center;align-items:center;height:auto;min-height:28px;padding:6px 12px}.cache-meter-legend.svelte-1yzecxj{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.cache-meter-legend-item.svelte-1yzecxj{align-items:center;gap:8px;font-size:13px;display:flex}.cache-meter-swatch.svelte-1yzecxj{border-radius:3px;flex-shrink:0;width:12px;height:12px}.cache-meter-legend-label.svelte-1yzecxj{color:var(--text)}.cache-meter-legend-pct.svelte-1yzecxj{color:var(--text);font-weight:600}.cache-meter-legend-tokens.svelte-1yzecxj{color:var(--text-muted)}.cache-meter-empty.svelte-1yzecxj{color:var(--text-muted);text-align:center;font-size:13px}.contribution-calendar-section.svelte-3hfxuq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:24px}.contribution-calendar-header.svelte-3hfxuq{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.contribution-calendar-header.svelte-3hfxuq h3{font-size:16px;font-weight:600}.contribution-calendar-grid-wrapper.svelte-3hfxuq{gap:8px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq{flex-direction:column;gap:2px;padding-top:22px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq span{height:13px;color:var(--text-muted);text-align:right;min-width:28px;font-size:10px;line-height:13px}.contribution-calendar-scroll.svelte-3hfxuq{--contribution-week-size:13px;--contribution-week-gap:2px;flex:1;min-width:0;overflow-x:auto}.contribution-calendar-months.svelte-3hfxuq{grid-auto-columns:var(--contribution-week-size);gap:var(--contribution-week-gap);grid-auto-flow:column;height:16px;margin-bottom:6px;display:grid}.contribution-calendar-month-label.svelte-3hfxuq{color:var(--text-muted);white-space:nowrap;font-size:10px}.contribution-calendar-grid.svelte-3hfxuq{gap:var(--contribution-week-gap);display:flex}.contribution-calendar-week.svelte-3hfxuq{flex-direction:column;gap:2px;display:flex}.contribution-calendar-cell.svelte-3hfxuq{width:var(--contribution-week-size);height:var(--contribution-week-size);background:var(--cal-level-0);border-radius:2px}.contribution-calendar-cell.level-1.svelte-3hfxuq{background:var(--cal-level-1)}.contribution-calendar-cell.level-2.svelte-3hfxuq{background:var(--cal-level-2)}.contribution-calendar-cell.level-3.svelte-3hfxuq{background:var(--cal-level-3)}.contribution-calendar-cell.level-4.svelte-3hfxuq{background:var(--cal-level-4)}.contribution-calendar-cell.level-5.svelte-3hfxuq{background:var(--cal-level-5)}.contribution-calendar-cell.level-6.svelte-3hfxuq{background:var(--cal-level-6)}.contribution-calendar-cell.level-7.svelte-3hfxuq{background:var(--cal-level-7)}.contribution-calendar-cell.level-8.svelte-3hfxuq{background:var(--cal-level-8)}.contribution-calendar-cell.level-9.svelte-3hfxuq{background:var(--cal-level-9)}.contribution-calendar-cell.level-10.svelte-3hfxuq{background:var(--cal-level-10)}.contribution-calendar-cell.empty.svelte-3hfxuq{background:0 0}.contribution-calendar-footer.svelte-3hfxuq{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.contribution-calendar-meta.svelte-3hfxuq{flex-direction:column;gap:4px;display:flex}.contribution-calendar-summary.svelte-3hfxuq{color:var(--text-muted);font-size:12px}.contribution-calendar-legend.svelte-3hfxuq{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.contribution-calendar-legend.svelte-3hfxuq .contribution-calendar-cell:where(.svelte-3hfxuq){cursor:default;width:11px;height:11px}.contribution-calendar-tooltip.svelte-3hfxuq{z-index:200;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #0003}@media (width<=768px){.contribution-calendar-day-labels.svelte-3hfxuq{display:none}.contribution-calendar-section.svelte-3hfxuq{padding:16px}.contribution-calendar-footer.svelte-3hfxuq{flex-direction:column;align-items:flex-start}}.inline-help-toggle.is-open.svelte-y40or3{color:var(--text);background:0 0}.inline-help-toggle.is-open.svelte-y40or3 .inline-help-toggle-icon{transform:rotate(540deg)}.loading-state.svelte-hzxv1d{min-height:var(--loading-state-min-height,64px);color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.audit-stats-section.svelte-14e9yan{margin-top:24px}.audit-stats-header.svelte-14e9yan{align-items:flex-start}.audit-stats-kpis.svelte-14e9yan{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.audit-stats-kpi.svelte-14e9yan{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.audit-stats-kpi-value.svelte-14e9yan{color:var(--text);font-size:13px}.audit-stats-kpi-dot.svelte-14e9yan{border-radius:2px;flex-shrink:0;width:8px;height:8px}.audit-stats-dot-2xx.svelte-14e9yan{background:var(--success)}.audit-stats-dot-4xx.svelte-14e9yan{background:var(--warning)}.audit-stats-dot-5xx.svelte-14e9yan{background:var(--danger)}.provider-status-details.svelte-6y9wjv{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.provider-status-details.is-expanded.svelte-6y9wjv{opacity:1;grid-template-rows:1fr}.provider-status-details.is-collapsed.svelte-6y9wjv{pointer-events:none}.provider-status-details-inner.svelte-6y9wjv{flex-direction:column;gap:14px;min-height:0;display:flex;overflow:hidden}.provider-status-reason.svelte-6y9wjv{color:var(--text-muted);font-size:13px}.provider-status-error.svelte-6y9wjv{color:var(--danger);overflow-wrap:break-word;font-size:12px}.provider-status-config-label.svelte-6y9wjv{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-config.svelte-6y9wjv{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.provider-status-config-row.svelte-6y9wjv{flex-direction:column;gap:4px;display:flex}.provider-status-config-value.svelte-6y9wjv{color:var(--text);overflow-wrap:break-word;font-size:13px;display:block}.provider-status-health.svelte-6y9wjv{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:12px;padding-top:12px;display:flex}.provider-status-health-state.svelte-6y9wjv{border:1px solid var(--border);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.provider-status-health-state.is-healthy.svelte-6y9wjv{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-health-state.is-degraded.svelte-6y9wjv{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-health-state.is-unhealthy.svelte-6y9wjv{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-health-models.svelte-6y9wjv{flex-direction:column;gap:4px;display:flex}.provider-status-health-model.svelte-6y9wjv{color:var(--text);justify-content:space-between;gap:8px;font-size:13px;display:flex}.provider-status-health-model.is-flagged.svelte-6y9wjv{color:var(--danger)}.provider-status-health-model-name.svelte-6y9wjv{overflow-wrap:anywhere}.provider-status-health-model-stats.svelte-6y9wjv{white-space:nowrap;color:var(--text-muted)}.provider-status-health-model.is-flagged.svelte-6y9wjv .provider-status-health-model-stats:where(.svelte-6y9wjv){color:var(--danger);font-weight:700}.provider-status-card.svelte-nopjmh{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:18px;display:flex}.provider-status-card-toggle.svelte-nopjmh{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:auto -18px -18px;padding:7px 0;transition:background .15s,color .15s;display:flex}.provider-status-card-toggle.svelte-nopjmh:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}.provider-status-card-toggle.svelte-nopjmh:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:-2px}.provider-status-card-toggle.svelte-nopjmh .provider-status-card-toggle-icon{width:16px;height:16px;transition:transform .28s;display:block}.provider-status-card-toggle.is-expanded.svelte-nopjmh .provider-status-card-toggle-icon{transform:rotate(180deg)}.provider-status-card-head.svelte-nopjmh{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.provider-status-name.svelte-nopjmh{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:16px;font-weight:700;display:flex}.provider-doc-help.svelte-nopjmh{align-self:center;text-decoration:none}.provider-status-name-type.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-pill.svelte-nopjmh{border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.provider-status-pill.is-healthy.svelte-nopjmh{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-pill.is-degraded.svelte-nopjmh{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-pill.is-unhealthy.svelte-nopjmh{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-meta.svelte-nopjmh{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.provider-status-meta-item.svelte-nopjmh{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.provider-status-meta-label.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-meta-value.svelte-nopjmh{color:var(--text);font-size:14px}@media (width<=768px){.provider-status-meta.svelte-nopjmh{grid-template-columns:1fr}}.provider-status-section-loading.svelte-1kx3uw4{justify-content:center;padding:24px 0;display:flex}.provider-status-section-header.svelte-1kx3uw4{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.provider-status-toggle.svelte-1kx3uw4{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.provider-status-toggle.svelte-1kx3uw4:hover{background:var(--bg-surface-hover)}.provider-status-toggle.svelte-1kx3uw4:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.provider-status-toggle-copy.svelte-1kx3uw4{white-space:nowrap}.provider-status-toggle-track.svelte-1kx3uw4{background:color-mix(in srgb, var(--text-muted) 35%, var(--border));border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .2s;position:relative}.provider-status-toggle-track.is-active.svelte-1kx3uw4{background:color-mix(in srgb, var(--accent) 82%, var(--bg-surface))}.provider-status-toggle-thumb.svelte-1kx3uw4{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000003d}.provider-status-toggle-track.is-active.svelte-1kx3uw4 .provider-status-toggle-thumb:where(.svelte-1kx3uw4){transform:translate(14px)}.provider-status-grid.svelte-1kx3uw4{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}@media (width<=768px){.provider-status-section-header.svelte-1kx3uw4{flex-direction:column;align-items:flex-start}.provider-status-toggle.svelte-1kx3uw4{justify-content:space-between;width:100%}}.filter-input-wrap.svelte-30xz1k{flex:1;width:100%;min-width:min(400px,100%);display:flex;position:relative}.filter-input.svelte-30xz1k{flex:1;width:100%;min-width:0;padding-left:34px}.filter-input-clearable.svelte-30xz1k{padding-right:34px}.filter-input-wrap.svelte-30xz1k .filter-input-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filter-input-spinner.svelte-30xz1k{pointer-events:none;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.filter-input-spinner.with-clear.svelte-30xz1k{right:38px}.filter-input-clear.svelte-30xz1k{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.filter-input-clear.svelte-30xz1k:hover{background:var(--bg-surface-hover);color:var(--text)}.filter-input-clear.svelte-30xz1k svg{width:14px;height:14px}.usage-page-filters.svelte-1oi6ywk{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.usage-page-filters.svelte-1oi6ywk .usage-log-select{flex:0 auto}.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-session{flex:220px;min-width:180px;max-width:360px}@media (width<=768px){.usage-page-filters.svelte-1oi6ywk .usage-log-select,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-session{flex:100%;max-width:none}}.pro-saved-value.svelte-1qiwzdu{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pro-saved-delta.svelte-1qiwzdu{color:var(--success);letter-spacing:0;font-size:13px;font-weight:600}.pagination-info.svelte-1imew3q{color:var(--text-muted);font-size:13px}.pagination-buttons.svelte-1imew3q{gap:8px;display:flex}.session-id-chip.svelte-1pkjhcn{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--bg));max-width:290px;color:var(--accent-strong,var(--accent));vertical-align:middle;border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.session-id-chip.svelte-1pkjhcn:hover,.session-id-chip.active.svelte-1pkjhcn{background:color-mix(in srgb, var(--accent) 20%, var(--bg));border-color:var(--accent)}.session-id-filter.svelte-1pkjhcn,.session-id-copy.svelte-1pkjhcn{color:inherit;cursor:pointer;background:0 0;border:0}.session-id-filter.svelte-1pkjhcn{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:4px 8px;font-size:12px;overflow:hidden}.session-id-copy.svelte-1pkjhcn{border-left:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));justify-content:center;align-items:center;width:28px;padding:0 7px;display:inline-flex}.session-id-copy.svelte-1pkjhcn:hover,.session-id-copy.copied.svelte-1pkjhcn{background:color-mix(in srgb, var(--accent) 18%, transparent)}.session-id-copy.svelte-1pkjhcn svg{width:13px;height:13px}.session-id-chip.compact.svelte-1pkjhcn{max-width:220px}.session-id-chip.compact.svelte-1pkjhcn .session-id-filter:where(.svelte-1pkjhcn){padding:3px 7px;font-size:11px}.session-id-chip.compact.svelte-1pkjhcn .session-id-copy:where(.svelte-1pkjhcn){width:25px;padding:0 6px}.usage-breakdown-loading.svelte-1kee4g8{justify-content:center;align-items:center;min-height:120px;display:flex}.chart-view-toggle.svelte-1kee4g8{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.chart-view-btn.svelte-1kee4g8{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.chart-view-btn.svelte-1kee4g8:hover{color:var(--text)}.chart-view-btn.active.svelte-1kee4g8{background:var(--accent);color:#fff}.chart-view-btn.svelte-1kee4g8 svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.usage-chart-table-wrapper.svelte-1kee4g8{-webkit-overflow-scrolling:touch;margin-top:0;overflow-x:auto}.usage-chart-data-table.svelte-1kee4g8{min-width:max-content}.usage-chart-data-table.svelte-1kee4g8 th,.usage-chart-data-table.svelte-1kee4g8 td{white-space:nowrap}.usage-log-section.svelte-hg4ill .usage-log-loading{--loading-state-min-height:120px}.usage-log-section.svelte-hg4ill{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.usage-log-section.svelte-hg4ill h3{margin-bottom:16px;font-size:16px;font-weight:600}.usage-log-section.svelte-hg4ill .table-wrapper{overflow-x:auto}.usage-log-toolbar.svelte-hg4ill{gap:12px;margin-bottom:16px;display:grid}.usage-filter-row.svelte-hg4ill{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:12px;display:grid}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1/-1}.usage-filter-row-options.svelte-hg4ill{grid-template-columns:1fr}.usage-log-checkbox.svelte-hg4ill{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.usage-log-checkbox.svelte-hg4ill input{cursor:pointer;width:16px;height:16px}.usage-ts.svelte-hg4ill{white-space:nowrap;font-size:12px}.usage-log-row-cached.svelte-hg4ill td{opacity:.75;font-style:italic}.usage-log-row-cached.svelte-hg4ill .usage-log-cache-cell:where(.svelte-hg4ill){font-weight:700}.caveat-icon.svelte-hg4ill{color:var(--warning);cursor:help;margin-left:4px;font-size:14px}@media (width<=768px){.usage-log-toolbar.svelte-hg4ill{gap:10px}.usage-filter-row.svelte-hg4ill{grid-template-columns:1fr}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1}.usage-log-table.svelte-hg4ill{display:block;overflow-x:auto}}.usage-sticky-controls.svelte-spwie6{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.usage-charts-grid.svelte-spwie6{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}.usage-charts-grid.svelte-spwie6 .model-chart-section{flex:calc(50% - 24px);min-width:420px;margin-bottom:0}.usage-session-breakdown-wrap.svelte-spwie6{margin-bottom:24px}.usage-session-breakdown-wrap.svelte-spwie6 .session-usage-breakdown{width:100%;margin-bottom:0}@media (width<=520px){.usage-charts-grid.svelte-spwie6 .model-chart-section{min-width:0}}.per-child-summary.svelte-1jm56wo{border:1px solid var(--border);color:var(--text-muted);border-radius:.5rem;padding:.75rem .9rem;line-height:1.45}.budget-bar-text-row-on-fill.svelte-1jm56wo{color:#fff;clip-path:inset(0 calc(100% - var(--budget-progress,0%)) 0 0)}.budget-bar-text-start.svelte-1jm56wo{left:8px;transform:translateY(-50%)}.budget-bar-track-period-custom.svelte-1jm56wo .budget-bar-text-row-on-fill:where(.svelte-1jm56wo){color:#3f332a}.per-child-option.svelte-13ryo7h{cursor:pointer;grid-column:1/-1;align-items:flex-start;gap:.65rem;display:flex}.per-child-option.svelte-13ryo7h input:where(.svelte-13ryo7h){margin-top:.2rem}.per-child-option.svelte-13ryo7h span:where(.svelte-13ryo7h){gap:.2rem;display:grid}.per-child-option.svelte-13ryo7h small:where(.svelte-13ryo7h){color:var(--text-muted);line-height:1.4}.budget-override-dialog.svelte-13ryo7h{max-width:460px}.budget-sort-control.svelte-1752fqe{align-items:center;gap:8px}.budget-sort-control.svelte-1752fqe label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.budget-sort-select.svelte-1752fqe{background-color:var(--bg-surface);min-width:132px}.budget-sort-select.svelte-1752fqe:hover{background-color:var(--bg-surface-hover)}.per-child-option.svelte-1z12ccc{cursor:pointer;grid-column:1/-1;align-items:flex-start;gap:.65rem;display:flex}.per-child-option.svelte-1z12ccc input:where(.svelte-1z12ccc){margin-top:.2rem}.per-child-option.svelte-1z12ccc span:where(.svelte-1z12ccc){gap:.2rem;display:grid}.per-child-option.svelte-1z12ccc small:where(.svelte-1z12ccc){color:var(--text-muted);line-height:1.4}.rate-limit-tabs.svelte-8cz2gt{gap:6px;margin-bottom:16px;display:flex}.rate-limit-tab.svelte-8cz2gt{--scope-hue:var(--accent);min-width:0;font:inherit;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.rate-limit-tab.scope-provider.svelte-8cz2gt{--scope-hue:var(--info)}.rate-limit-tab.scope-model.svelte-8cz2gt{--scope-hue:#68765c}.rate-limit-tab.svelte-8cz2gt:hover{color:var(--text);background:var(--bg-surface-hover)}.rate-limit-tab.svelte-8cz2gt:focus-visible{outline:2px solid color-mix(in srgb, var(--scope-hue) 70%, var(--border));outline-offset:1px}.rate-limit-tab.active.svelte-8cz2gt{color:color-mix(in srgb, var(--scope-hue) 62%, var(--text));background:color-mix(in srgb, var(--scope-hue) 12%, var(--bg-surface));border-color:color-mix(in srgb, var(--scope-hue) 45%, var(--border))}.rate-limit-tab-label.svelte-8cz2gt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rate-limit-tab-count.svelte-8cz2gt{text-align:center;min-width:20px;color:var(--text-muted);background:var(--bg);border-radius:999px;flex:none;padding:1px 7px;font-size:11px;font-weight:600}.rate-limit-tab.active.svelte-8cz2gt .rate-limit-tab-count:where(.svelte-8cz2gt){color:inherit;background:color-mix(in srgb, var(--scope-hue) 18%, var(--bg))}@media (width<=768px){.rate-limit-tab.svelte-8cz2gt{gap:6px;padding:6px 10px;font-size:12px}}.rate-limit-group.svelte-8cz2gt{--scope-hue:var(--accent);margin-bottom:24px;padding-left:16px;position:relative}.rate-limit-group.svelte-8cz2gt:before{content:"";background:var(--scope-hue);border-radius:999px;width:3px;position:absolute;top:2px;bottom:2px;left:0}.rate-limit-group.scope-provider.svelte-8cz2gt{--scope-hue:var(--info)}.rate-limit-group.scope-model.svelte-8cz2gt{--scope-hue:#68765c}.rate-limit-group-header.svelte-8cz2gt{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.rate-limit-group-title.svelte-8cz2gt{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--scope-hue) 62%, var(--text));font-size:11px;font-weight:700}.rate-limit-group-count.svelte-8cz2gt{color:var(--text-muted);font-size:12px}.rate-limit-group.svelte-8cz2gt .budget-scope-value{border-color:color-mix(in srgb, var(--scope-hue) 40%, var(--border));background:color-mix(in srgb, var(--scope-hue) 12%, var(--bg))}.rate-limit-subgroup.svelte-8cz2gt{margin-bottom:12px}.rate-limit-subgroup-title.svelte-8cz2gt{color:color-mix(in srgb, var(--scope-hue) 45%, var(--text-muted));margin:10px 0 6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:600}.rate-limit-group-empty.svelte-8cz2gt{color:var(--text-muted);margin:0;padding:4px 0 8px;font-size:13px}.model-name-cell.svelte-1iynym{flex-direction:column;gap:8px;display:flex}.model-name-primary.svelte-1iynym{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-name-secondary.svelte-1iynym{color:var(--text-muted);font-size:12px}.model-redirect-remove-btn.svelte-1iynym{appearance:none;color:var(--danger);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:11px}.model-redirect-remove-btn.svelte-1iynym:hover:not(:disabled){text-decoration:underline}.model-redirect-remove-btn.svelte-1iynym:disabled{opacity:.45;cursor:default}.model-kind-icon.svelte-1iynym{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--bg);width:24px;height:24px;color:var(--accent);border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.model-kind-icon-svg.svelte-1iynym{width:14px;height:14px}.model-row-actions.svelte-1iynym{text-align:right;width:170px}@media (width<=768px){.model-name-primary.svelte-1iynym{flex-direction:column;align-items:flex-start}}.provider-group-row.svelte-1911hy6 td{background:color-mix(in srgb, var(--accent) 6%, var(--bg));padding-top:12px;padding-bottom:12px}.provider-group-row.svelte-1911hy6:hover td{background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.provider-group-header.svelte-1911hy6{justify-content:space-between;align-items:center;gap:16px;display:flex}.provider-group-meta.svelte-1911hy6{flex-direction:column;gap:4px;min-width:0;display:flex}.provider-group-title.svelte-1911hy6{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-group-type.svelte-1911hy6,.provider-group-count.svelte-1911hy6,.provider-group-summary.svelte-1911hy6{color:var(--text-muted);font-size:12px}@media (width<=768px){.provider-group-header.svelte-1911hy6{flex-direction:column;align-items:flex-start}}.vm-session-affinity-checkbox.svelte-d1j6xw{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.vm-session-affinity-checkbox.svelte-d1j6xw input:where(.svelte-d1j6xw){accent-color:var(--accent);cursor:pointer}.pricing-override-rows.svelte-u8snes{gap:12px;display:grid}.pricing-override-row.svelte-u8snes{grid-template-columns:minmax(220px,1fr) minmax(130px,180px) 32px;align-items:end;gap:12px;display:grid}.pricing-override-row-actions.svelte-u8snes{justify-content:flex-start;display:flex}.pricing-override-tier-note.svelte-u8snes{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:6px;padding:10px 12px;font-size:13px}.pricing-preview.svelte-u8snes{border:1px solid var(--border);border-radius:6px;overflow:hidden}.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:minmax(150px,1fr) minmax(90px,auto) minmax(130px,.8fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.pricing-preview-header.svelte-u8snes{background:var(--bg);color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.pricing-preview-row.svelte-u8snes{border-top:1px solid var(--border);font-size:13px}.pricing-preview-row-empty.svelte-u8snes{color:var(--text-muted);grid-template-columns:1fr}@media (width<=768px){.pricing-override-row.svelte-u8snes,.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:1fr}}.failover-drafts-editor.svelte-1n87bip{flex-direction:column;gap:16px;display:flex}.failover-draft-header-actions.svelte-1n87bip{flex:none;align-items:center;gap:10px;display:flex}.failover-draft-counter.svelte-1n87bip{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.failover-draft-toolbar.svelte-1n87bip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.failover-draft-toolbar.svelte-1n87bip .filter-input-wrap,.failover-draft-toolbar.svelte-1n87bip .filter-input{min-width:0}.failover-draft-toggle-all.svelte-1n87bip{flex:none}.failover-draft-list.svelte-1n87bip{flex-direction:column;gap:8px;max-height:min(52vh,430px);padding-right:4px;display:flex;overflow-y:auto}.failover-draft-row.svelte-1n87bip{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.failover-draft-row.svelte-1n87bip:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--bg-surface-hover)}.failover-draft-row.svelte-1n87bip input{width:16px;height:16px;margin-top:2px}.failover-draft-copy.svelte-1n87bip{gap:4px;min-width:0;display:grid}.failover-draft-source.svelte-1n87bip,.failover-draft-targets.svelte-1n87bip{overflow-wrap:anywhere}.failover-draft-targets.svelte-1n87bip{color:var(--text-muted);font-size:12px}.failover-drafts-empty.svelte-1n87bip{align-items:center;min-height:96px;display:flex}.failover-draft-actions.svelte-1n87bip{margin-top:0}.category-tabs.svelte-scpjps{-webkit-overflow-scrolling:touch;align-items:center;gap:4px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.category-tab.svelte-scpjps{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.category-tab.svelte-scpjps:hover{color:var(--text);background:var(--bg-surface-hover)}.category-tab.active.svelte-scpjps{background:var(--accent);color:#fff;border-color:var(--accent)}.category-tab.svelte-scpjps .tab-count:where(.svelte-scpjps){background:#ffffff26;border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.category-tab.svelte-scpjps:not(.active) .tab-count:where(.svelte-scpjps){background:var(--bg)}@media (width<=768px){.category-tabs.svelte-scpjps{gap:4px}.category-tab.svelte-scpjps{padding:5px 10px;font-size:12px}}.search-select.svelte-1yfc9j2{min-width:0;display:inline-flex;position:relative}.search-select-trigger.svelte-1yfc9j2{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;min-height:32px;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:5px 8px 5px 10px;font-family:inherit;font-size:12px;transition:border-color .15s,background .15s;display:inline-flex}.search-select-trigger.mono.svelte-1yfc9j2{font-family:SF Mono,Menlo,Consolas,monospace}.search-select-trigger.svelte-1yfc9j2:hover:not(:disabled),.search-select-open.svelte-1yfc9j2 .search-select-trigger:where(.svelte-1yfc9j2){border-color:var(--accent)}.search-select-trigger.svelte-1yfc9j2:disabled{opacity:.6;cursor:not-allowed}.search-select-value.svelte-1yfc9j2{flex:auto;min-width:0}.search-select-clip.svelte-1yfc9j2{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.search-select-clip.svelte-1yfc9j2.marquee-active{text-overflow:clip}.search-select-clip.svelte-1yfc9j2.marquee-active .search-select-text:where(.svelte-1yfc9j2){animation:svelte-1yfc9j2-search-select-marquee var(--marquee-duration,3s) ease-in-out infinite alternate;display:inline-block}@keyframes svelte-1yfc9j2-search-select-marquee{0%,12%{transform:translate(0)}88%,to{transform:translateX(var(--marquee-shift,0))}}@media (prefers-reduced-motion:reduce){.search-select-clip.svelte-1yfc9j2.marquee-active .search-select-text:where(.svelte-1yfc9j2){transform:translateX(var(--marquee-shift,0));transition:transform .6s;animation:none}}.search-select-placeholder.svelte-1yfc9j2{color:var(--text-muted)}.search-select.svelte-1yfc9j2 .search-select-chevron{width:14px;height:14px;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.search-select-open.svelte-1yfc9j2 .search-select-chevron{transform:rotate(180deg)}.search-select-popover.svelte-1yfc9j2{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:max(100%,280px);max-width:min(480px,90vw);display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.search-select-search.svelte-1yfc9j2{border-bottom:1px solid var(--border);padding:8px;display:flex;position:relative}.search-select.svelte-1yfc9j2 .search-select-search-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search-select-search-input.svelte-1yfc9j2{background:var(--bg);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);border-radius:6px;padding:7px 10px 7px 30px;font-family:inherit;font-size:13px}.search-select-search-input.svelte-1yfc9j2:focus{border-color:var(--accent);outline:none}.search-select-list.svelte-1yfc9j2{max-height:280px;margin:0;padding:6px;list-style:none;overflow-y:auto}.search-select-option.svelte-1yfc9j2{color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;font-size:12px;display:flex}.search-select-option.mono.svelte-1yfc9j2{font-family:SF Mono,Menlo,Consolas,monospace}.search-select-option-active.svelte-1yfc9j2{background:var(--bg-surface-hover)}.search-select-option-current.svelte-1yfc9j2{color:var(--accent);font-weight:600}.search-select-option-custom.svelte-1yfc9j2{color:var(--accent);font-style:italic}.search-select-option-label.svelte-1yfc9j2{flex:auto;min-width:0}.search-select-option-description.svelte-1yfc9j2{color:var(--text-muted);white-space:nowrap;flex:0 auto;font-family:inherit;font-size:11px}.search-select.svelte-1yfc9j2 .search-select-check{flex-shrink:0;width:14px;height:14px}.search-select-empty.svelte-1yfc9j2{color:var(--text-muted);text-align:center;padding:12px 10px;font-size:12px}.playground-toolbar.svelte-1t3fm2w{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.playground-toolbar-row.svelte-1t3fm2w{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.playground-field.svelte-1t3fm2w{align-items:center;gap:8px;display:flex}.playground-field-model.svelte-1t3fm2w{flex:240px;min-width:200px}.playground-field-model.svelte-1t3fm2w .playground-model-select{flex:auto;min-width:0}.playground-field-label.svelte-1t3fm2w{color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.playground-stream-toggle.svelte-1t3fm2w{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.playground-stream-toggle.svelte-1t3fm2w input:where(.svelte-1t3fm2w){accent-color:var(--accent)}.playground-add-buttons.svelte-1t3fm2w{gap:6px;display:inline-flex}.playground-add-btn.svelte-1t3fm2w{padding:5px 12px;font-size:12px;font-weight:600}.playground-add-btn.playground-role-system.svelte-1t3fm2w{color:var(--warning)}.playground-add-btn.playground-role-user.svelte-1t3fm2w{color:var(--info)}.playground-add-btn.playground-role-assistant.svelte-1t3fm2w{color:var(--success)}.playground-endpoint-path.svelte-1t3fm2w{min-width:0;color:var(--text-muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;font-size:12px;overflow:hidden}@media (width<=768px){.playground-endpoint-path.svelte-1t3fm2w{display:none}}.playground-message.svelte-8ie8sw{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--playground-role-color,var(--border));border-radius:var(--radius);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.playground-message-system.svelte-8ie8sw{--playground-role-color:var(--warning)}.playground-message-user.svelte-8ie8sw{--playground-role-color:var(--info)}.playground-message-assistant.svelte-8ie8sw{--playground-role-color:var(--success)}.playground-message.svelte-8ie8sw.is-dragging{border-color:var(--accent);opacity:.95;box-shadow:0 10px 24px #0000004d}.playground-message-head.svelte-8ie8sw{align-items:center;gap:10px;display:flex}.playground-drag-handle.svelte-8ie8sw{width:24px;height:24px;color:var(--text-muted);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin-left:-4px;padding:0;display:inline-flex}.playground-drag-handle.svelte-8ie8sw:hover:not(:disabled),.playground-drag-handle.svelte-8ie8sw:focus-visible{background:var(--bg-surface-hover);color:var(--text)}.playground-drag-handle.svelte-8ie8sw:disabled{opacity:.35;cursor:default}.playground-message.svelte-8ie8sw.is-dragging .playground-drag-handle:where(.svelte-8ie8sw){cursor:grabbing}.playground-role-select.svelte-8ie8sw{background:var(--bg);border:1px solid var(--border);color:var(--playground-role-color,var(--text));cursor:pointer;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:600}.playground-role-select.svelte-8ie8sw:disabled{cursor:default;opacity:.7}.playground-message-pending.svelte-8ie8sw{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.playground-message-head.svelte-8ie8sw .playground-remove-btn{margin-left:auto}.playground-message-body.svelte-8ie8sw{background:var(--bg);field-sizing:content;min-height:44px;max-height:40vh;padding:8px 10px;font-size:13px;line-height:1.5}.playground-message-body[readonly].svelte-8ie8sw{opacity:1;cursor:text}.playground-composer.svelte-f0lwn1{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px;display:flex}.playground-composer-input.svelte-f0lwn1{background:var(--bg);field-sizing:content;min-height:56px;max-height:30vh;font-size:13px;line-height:1.5}.playground-composer-actions.svelte-f0lwn1{justify-content:space-between;align-items:center;gap:12px;display:flex}.playground-composer-hint.svelte-f0lwn1{color:var(--text-muted);font-size:12px}@media (width<=768px){.playground-composer-hint.svelte-f0lwn1{display:none}}.playground-json-panel.svelte-o8bylf{flex:0 0 var(--playground-json-panel-width,420px);width:var(--playground-json-panel-width,420px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.playground-json-resize-handle.svelte-o8bylf{cursor:col-resize;touch-action:none;z-index:1;width:8px;position:absolute;top:0;bottom:0;left:0}.playground-json-resize-handle.svelte-o8bylf:hover,.playground-json-resize-handle.svelte-o8bylf:focus-visible{background:color-mix(in srgb, var(--accent) 35%, transparent);outline:none}.playground-json-header.svelte-o8bylf{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.playground-json-header.svelte-o8bylf h3:where(.svelte-o8bylf){font-size:14px;font-weight:700}.playground-json-actions.svelte-o8bylf{align-items:center;gap:6px;margin-left:auto;display:flex}.playground-json-actions.svelte-o8bylf .copy-feedback-btn{padding:5px 10px;font-size:12px}.playground-json-body.svelte-o8bylf{flex:1 1 0;min-height:0;padding:12px 14px;overflow:auto}.playground-json-meta.svelte-o8bylf{color:var(--text-muted);margin-bottom:10px;font-size:11px}.playground-json-placeholder.svelte-o8bylf{color:var(--text-muted);font-size:13px}.playground-json-code.svelte-o8bylf{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.55}@media (width<=768px){.playground-json-panel.svelte-o8bylf{width:min(100vw, var(--playground-json-panel-width,420px));z-index:30;border-radius:0;position:fixed;inset:0 0 0 auto}}.playground.svelte-l6u7qi{align-items:stretch;gap:16px;height:100%;min-height:480px;display:flex}.playground-main.svelte-l6u7qi{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.playground-header.svelte-l6u7qi{margin-bottom:16px}.playground-error.svelte-l6u7qi{margin-bottom:12px}.playground-history.svelte-l6u7qi{scroll-behavior:smooth;flex-direction:column;flex:1 1 0;gap:10px;min-height:0;padding:4px 2px 12px;display:flex;overflow-y:auto}.playground-history.svelte-l6u7qi.is-sorting{-webkit-user-select:none;user-select:none;overflow-y:hidden}.playground-history.svelte-l6u7qi .empty-state:where(.svelte-l6u7qi){max-width:420px;margin:auto}@media (width<=768px){.playground.svelte-l6u7qi{min-height:0}}.workflow-pipeline-meta.svelte-1viff7o{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 86%, transparent);min-width:0;max-width:calc(100% - 28px);color:var(--text-muted);white-space:nowrap;appearance:none;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:0;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:absolute;top:12px;right:14px;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover,.workflow-pipeline-meta.svelte-1viff7o:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));color:color-mix(in srgb, var(--accent) 74%, var(--text))}.workflow-pipeline-meta.svelte-1viff7o:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.workflow-pipeline-meta-label.svelte-1viff7o{flex:none;font-weight:700}.workflow-pipeline-meta-placeholder.svelte-1viff7o{opacity:1;flex:none;max-width:3ch;margin-left:4px;transition:max-width .18s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta-value.svelte-1viff7o{opacity:0;text-overflow:clip;flex:0 auto;max-width:0;margin-left:0;transition:max-width .22s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o){opacity:0;max-width:0;margin-left:0}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o){opacity:1;max-width:42ch;margin-left:4px}.workflow-pipeline-meta-icon.svelte-1viff7o{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:14px;margin-left:0;line-height:0;transition:width .18s,margin-left .18s,opacity .15s,transform .18s;display:inline-flex;overflow:hidden;transform:translate(4px)translateY(1px)scale(.84)}.workflow-pipeline-meta-icon.svelte-1viff7o svg{width:14px;height:14px}.workflow-pipeline-meta-copied.svelte-1viff7o,.workflow-pipeline-meta-copied.svelte-1viff7o:hover,.workflow-pipeline-meta-copied.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-icon:where(.svelte-1viff7o){opacity:1;width:14px;margin-left:6px;transform:translateY(1px)}.workflow-pipeline-meta-error.svelte-1viff7o,.workflow-pipeline-meta-error.svelte-1viff7o:hover,.workflow-pipeline-meta-error.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 34%, var(--border));color:var(--danger)}.workflow-pipeline.svelte-nbptrg{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);flex-direction:column;gap:0;margin-bottom:12px;padding:18px 20px 4px;display:flex;position:relative}.workflow-pipeline-row.svelte-nbptrg{align-items:center;width:100%;min-width:0;display:flex;overflow:auto hidden}.workflow-pipeline.svelte-nbptrg>.workflow-pipeline-row:where(.svelte-nbptrg){padding-bottom:16px}.workflow-node-icon.svelte-nbptrg{border-radius:var(--radius);background:var(--bg);width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.workflow-node-icon.svelte-nbptrg svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.workflow-node-label.svelte-nbptrg{letter-spacing:.03em;color:var(--text);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2}.workflow-node-sub.svelte-nbptrg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:10px;font-weight:500;line-height:1.2;font-family:var(--font-mono,ui-monospace, monospace);overflow:hidden}.workflow-node-badge.svelte-nbptrg{border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;display:inline-flex}.workflow-node-endpoint.svelte-nbptrg{border-radius:var(--radius);border-color:var(--border);background:var(--bg-surface);flex-direction:row;gap:7px;min-width:auto;padding:10px 14px}.workflow-node-icon-endpoint.svelte-nbptrg{border-radius:var(--radius);width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:flex-start;padding:0}.workflow-node-icon-endpoint.svelte-nbptrg svg{width:14px;height:14px}.workflow-node-endpoint.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted);font-size:11px;font-weight:600}.workflow-node-feature.svelte-nbptrg{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface))}.workflow-node-feature.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--accent) 70%, var(--text-muted))}.workflow-node-ai.svelte-nbptrg{border-radius:var(--radius);gap:6px;min-width:96px;padding:12px 16px}.workflow-async-section.svelte-nbptrg>:where(.svelte-nbptrg):first-child{margin-left:auto}.workflow-async-turn.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 60px;height:2px;margin-left:7px;position:relative}.workflow-async-turn.svelte-nbptrg:before{content:"";background:color-mix(in srgb, var(--text-muted) 40%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);width:7px;height:9px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.workflow-async-turn.svelte-nbptrg:after{content:"";border-right:2px dashed color-mix(in srgb, var(--text-muted) 40%, var(--border));height:16px;position:absolute;bottom:1px;right:0}.workflow-conn-async.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 24px;width:24px}.workflow-conn-async.svelte-nbptrg:after{background:color-mix(in srgb, var(--text-muted) 45%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);left:-1px;right:auto}.workflow-node-async.svelte-nbptrg{border-radius:var(--radius);border-style:dashed;flex-direction:row;gap:7px;min-width:auto;padding:7px 12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){border-radius:var(--radius);width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg) svg{width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){font-size:10px;font-weight:700}.workflow-async-label.svelte-nbptrg{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.55;white-space:nowrap;flex-shrink:0;align-items:center;margin-left:8px;font-size:9px;font-weight:800;display:inline-flex}.workflow-node-success.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 18%, var(--bg));color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 85%, var(--text))}.workflow-node-success.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 74%, var(--text-muted))}.workflow-node-success.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 14%, var(--bg));border-color:color-mix(in srgb, var(--success) 38%, var(--border));color:var(--success)}.workflow-node-current.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 16%, var(--bg));color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 85%, var(--text))}.workflow-node-current.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 72%, var(--text-muted))}.workflow-node-current.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 13%, var(--bg));border-color:color-mix(in srgb, var(--info) 36%, var(--border));color:var(--info)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 85%, var(--text))}.workflow-node-warning.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 72%, var(--text-muted))}.workflow-node-warning.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}.workflow-node-error.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--danger) 14%, var(--bg));color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 85%, var(--text))}.workflow-node-error.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 72%, var(--text-muted))}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 12%, var(--bg));color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg),.workflow-node-neutral.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--text-muted) 84%, var(--border))}.workflow-node-neutral.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 10%, var(--bg));border-color:color-mix(in srgb, var(--text-muted) 28%, var(--border));color:var(--text-muted)}.workflow-conn-hit.svelte-nbptrg,.workflow-conn-hit.svelte-nbptrg:after{background:color-mix(in srgb, var(--success) 58%, var(--border))}.workflow-conn-dim.svelte-nbptrg,.workflow-conn-dim.svelte-nbptrg:after{background:color-mix(in srgb, var(--border) 75%, transparent)}.workflow-node-success.svelte-nbptrg{border-color:color-mix(in srgb, var(--success) 52%, var(--border));background:color-mix(in srgb, var(--success) 9%, var(--bg-surface))}.workflow-node-current.svelte-nbptrg{border-color:color-mix(in srgb, var(--info) 56%, var(--border));background:color-mix(in srgb, var(--info) 10%, var(--bg-surface))}.workflow-node-warning.svelte-nbptrg{border-color:color-mix(in srgb, var(--warning) 52%, var(--border));background:color-mix(in srgb, var(--warning) 9%, var(--bg-surface))}.workflow-node-error.svelte-nbptrg{border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--bg-surface))}.workflow-node-neutral.svelte-nbptrg{border-color:color-mix(in srgb, var(--text-muted) 40%, var(--border));background:color-mix(in srgb, var(--text-muted) 8%, var(--bg-surface))}.workflow-node-skipped.svelte-nbptrg{opacity:.28;position:relative}.workflow-card.svelte-1fo9fvq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.workflow-card-head.svelte-1fo9fvq{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-card-footer.svelte-1fo9fvq{flex-direction:column;align-items:stretch;gap:10px;display:flex}.workflow-card-head.svelte-1fo9fvq h3{font-size:18px;font-weight:700}.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-card-meta-footer.svelte-1fo9fvq{justify-content:flex-start}.workflow-card-footer.svelte-1fo9fvq .alias-actions-cell{align-self:flex-end}.workflow-card-description.svelte-1fo9fvq{color:var(--text-muted);font-size:14px}.workflow-guardrails.svelte-1fo9fvq{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list.svelte-1fo9fvq{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-item.svelte-1fo9fvq{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=768px){.workflow-card-head.svelte-1fo9fvq,.workflow-card-footer.svelte-1fo9fvq,.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq,.workflow-guardrail-item.svelte-1fo9fvq{flex-direction:column;align-items:flex-start}}.model-editor.workflow-editor{width:min(1080px,100%);margin-bottom:0}.alert-inline-actions.svelte-1bcpzh1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workflow-guardrail-editor.svelte-1bcpzh1{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list-editor.svelte-1bcpzh1{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-row.svelte-1bcpzh1{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:stretch;align-items:center;gap:12px;padding:10px 12px;display:flex}.workflow-guardrail-field.svelte-1bcpzh1{flex:auto;min-width:0}.workflow-guardrail-step-field.svelte-1bcpzh1{flex:0 0 120px}.workflow-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-step-input.svelte-1bcpzh1{max-width:120px}@media (width<=768px){.workflow-guardrail-row.svelte-1bcpzh1{flex-direction:column;align-items:flex-start}.workflow-step-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-guardrail-field.svelte-1bcpzh1,.workflow-guardrail-step-field.svelte-1bcpzh1{flex-basis:auto;width:100%}}.workflows-list.svelte-ie2kfk{min-width:0}.workflow-card-grid.svelte-ie2kfk{grid-template-columns:1fr;gap:16px;display:grid}.workflow-page-note.svelte-l8kr26{color:var(--text-muted);margin-top:6px;font-size:14px}.audit-log-toolbar.svelte-1pwbpcm{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.audit-filter-select.svelte-1pwbpcm{grid-column:span 2;min-width:0}.audit-filter-row-search.svelte-1pwbpcm .filter-input-wrap{grid-column:1/-1;max-width:none}.audit-filter-row-controls.svelte-1pwbpcm .audit-filter-select:where(.svelte-1pwbpcm){grid-column:span 2}.audit-filter-row-controls.svelte-1pwbpcm .btn{grid-column:11/-1;justify-self:end;min-width:108px}.audit-clear-btn.svelte-1pwbpcm{justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.audit-clear-btn.svelte-1pwbpcm .table-icon-svg{width:12px;height:12px}@media (width<=768px){.audit-log-toolbar.svelte-1pwbpcm{gap:8px}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:1fr}.audit-filter-row.svelte-1pwbpcm .filter-input-wrap,.audit-filter-row.svelte-1pwbpcm .filter-input,.audit-filter-select.svelte-1pwbpcm,.audit-filter-row.svelte-1pwbpcm .btn{grid-column:auto}}.audit-live-status.svelte-tve6yv{color:var(--text-muted);align-items:center;gap:10px;margin-left:16px;padding-left:6px;font-size:12px;display:inline-flex}.audit-live-status.svelte-tve6yv .live-dot.is-streaming:where(.svelte-tve6yv){animation:1.8s ease-out infinite svelte-tve6yv-audit-live-dot-throb}@keyframes svelte-tve6yv-audit-live-dot-throb{0%{transform:scale(1)}35%{transform:scale(1.35)}70%{transform:scale(1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.audit-live-status.svelte-tve6yv .live-dot.is-streaming:where(.svelte-tve6yv){animation:none}}.audit-live-status-text.is-live.svelte-tve6yv{color:var(--success);font-weight:600}.audit-entry-metadata.svelte-hyopt0{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.audit-entry-metadata-label.svelte-hyopt0{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.audit-entry-context.svelte-hyopt0{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.audit-alias-badge.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent-strong,var(--accent))}.audit-session-usage-link.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent-strong,var(--accent));cursor:pointer}.audit-session-usage-link.svelte-hyopt0:hover{background:color-mix(in srgb, var(--accent) 22%, var(--bg));border-color:var(--accent)}@media (width<=768px){.audit-entry-metadata.svelte-hyopt0{flex-direction:column;align-items:flex-start;gap:8px}}.audit-attempt-track.svelte-1eu22xn{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.audit-attempt-track-pips.svelte-1eu22xn{align-items:center;gap:3px;display:inline-flex}.audit-attempt-pip.svelte-1eu22xn{background:var(--text-muted);border-radius:2px;width:8px;height:8px}.audit-attempt-pip.audit-attempt-success.svelte-1eu22xn{background:var(--success)}.audit-attempt-pip.audit-attempt-error.svelte-1eu22xn{background:var(--danger)}.audit-attempt-track-count.svelte-1eu22xn{color:var(--text-muted);font-size:11px}.audit-entry-summary.svelte-17mysgz{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;list-style:none;display:flex;position:relative}.audit-entry-summary.svelte-17mysgz::-webkit-details-marker{display:none}.audit-entry-summary-live-in-progress.svelte-17mysgz{background:color-mix(in srgb, var(--info) 7%, var(--bg))}.audit-entry-summary-has-interactions.svelte-17mysgz{padding-right:44px}.audit-entry-summary-live-in-progress.svelte-17mysgz:before{content:"";background:var(--info);pointer-events:none;width:3px;animation:1.2s ease-in-out infinite audit-live-summary-stripe-blink;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:reduce){.audit-entry-summary-live-in-progress.svelte-17mysgz:before{opacity:.78;animation:none}}.audit-entry-left.svelte-17mysgz{align-items:center;gap:8px;min-width:0;display:flex}.audit-entry-right.svelte-17mysgz{color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;min-height:28px;display:inline-flex}.audit-thread-expander.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);min-width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:3px;padding:0 7px 0 4px;transition:background .1s ease-out,color .1s ease-out;display:inline-flex}.audit-thread-expander.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 12%, var(--bg));color:var(--accent)}.audit-thread-expander.svelte-17mysgz .audit-thread-expander-svg{width:14px;height:14px}.audit-thread-count.svelte-17mysgz{font-size:11px;font-weight:600}.audit-session-usage.svelte-17mysgz{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--bg));width:28px;height:28px;color:var(--accent-strong,var(--accent));cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.audit-session-usage.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg));border-color:var(--accent)}.audit-session-usage.svelte-17mysgz .audit-session-usage-svg{width:14px;height:14px}.audit-conversation-trigger.svelte-17mysgz{border:0;border-left:1px solid var(--border);background:color-mix(in srgb, var(--accent) 12%, var(--bg));width:32px;height:100%;color:var(--accent);cursor:pointer;border-radius:0;justify-content:center;align-items:center;margin:0;transition:background .1s ease-out,color .1s ease-out;display:inline-flex;position:absolute;inset:0 0 0 auto}.audit-conversation-trigger.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg))}.audit-conversation-trigger-active.svelte-17mysgz{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 28%, var(--bg));border-left:0}.audit-conversation-trigger-active.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 34%, var(--bg))}.audit-conversation-trigger.svelte-17mysgz .audit-conversation-trigger-svg{stroke-linecap:butt;stroke-linejoin:miter;width:18px;height:18px}.audit-path.svelte-17mysgz{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.audit-request-badge.svelte-17mysgz{white-space:nowrap;gap:6px;min-width:0}.audit-timestamp-time.svelte-17mysgz{display:none}.audit-provider-model.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);height:24px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:420px;padding:0 10px;font-size:12px;display:inline-flex;overflow:hidden}@container dashboard-content (width<=699px){.audit-entry-summary.svelte-17mysgz{flex-direction:column;align-items:flex-start}.audit-entry-right.svelte-17mysgz{justify-content:space-between;width:100%}.audit-request-status.svelte-17mysgz,.audit-timestamp-full.svelte-17mysgz{display:none}.audit-timestamp-time.svelte-17mysgz{display:inline}}.audit-pane-split.svelte-1h5puht{grid-template-columns:1fr 2fr;align-items:start;gap:10px 14px;display:grid}.audit-pane-split-single.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}@container dashboard-content (width<=699px){.audit-pane-split.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}}.audit-pane-split.svelte-1h5puht .audit-pane-block-error:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-empty:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-size-warning:where(.svelte-1h5puht){grid-column:1/-1}.audit-pane-block.svelte-1h5puht{min-width:0}.audit-pane-block.svelte-1h5puht>h5{margin-bottom:6px}.audit-pane-block-head.svelte-1h5puht{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.audit-pane-block-title.svelte-1h5puht{align-items:center;gap:8px;min-width:0;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn{background-color:var(--bg-surface);border:1px solid color-mix(in srgb, var(--border) 70%, var(--text) 30%);color:var(--text);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg-surface) 80%, var(--text) 20%);border-color:color-mix(in srgb, var(--border) 45%, var(--text) 55%)}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 18%, var(--bg-surface))}.audit-json.svelte-1h5puht{background:var(--bg-surface);border:1px solid var(--border);box-sizing:border-box;white-space:pre;max-width:100%;max-height:220px;color:var(--text);border-radius:6px;padding:10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.audit-pane-error-message.svelte-1h5puht{color:var(--danger)}.audit-pane-clickable-preview.svelte-1h5puht{cursor:pointer}.audit-pane-clickable-preview.svelte-1h5puht:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.audit-json-body.svelte-1h5puht{white-space:pre;overflow-wrap:normal}.audit-pane-empty.svelte-1h5puht{text-align:left;padding:8px 0 0}.audit-pane-pending.svelte-1h5puht{align-items:center;gap:8px;display:flex}.audit-pane-streaming.svelte-1h5puht{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:7px;padding-left:4px;font-size:11px;font-weight:600;display:inline-flex}.audit-size-warning.svelte-1h5puht{color:var(--warning);margin-top:8px;font-size:12px}.audit-request-response.svelte-1bc5vi5{margin-top:4px}.audit-pane-tablist.svelte-1bc5vi5{border-bottom:1px solid var(--border);gap:2px;display:flex;overflow:auto hidden}.audit-pane-tab.svelte-1bc5vi5{white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-bottom-color:#0000;border-radius:6px 6px 0 0;flex:none;align-items:center;gap:8px;margin-bottom:-1px;margin-right:12px;padding:8px 12px;font-family:inherit;font-size:13px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.audit-pane-tab.svelte-1bc5vi5:not(.audit-pane-tab-active):hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.audit-pane-tab-active.svelte-1bc5vi5{color:var(--text);border-color:var(--border);border-bottom-color:var(--bg);background:var(--bg)}.audit-pane-tab-label.svelte-1bc5vi5{font-weight:600}.audit-pane-tabpanel.svelte-1bc5vi5{min-width:0}.audit-pane-icon.svelte-1bc5vi5{color:var(--text-muted);flex:none;align-items:center;display:inline-flex}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-request{color:var(--accent)}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-response{color:var(--info)}.audit-pane-icon.svelte-1bc5vi5 svg{width:16px;height:16px}.audit-pane-seq.svelte-1bc5vi5{color:var(--text-muted);font-size:12px}.audit-pane-kind.svelte-1bc5vi5{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-primary{color:var(--text-muted)}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-failover{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-retry{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 30%, var(--border))}.audit-savings-pill.svelte-1bc5vi5{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);color:var(--prompt-cache-color);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.audit-step-pill.svelte-1bc5vi5{border:1px dashed var(--border);color:var(--text-muted);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.audit-entry.svelte-cmjgwr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:background .12s ease-out,border-color .12s ease-out;overflow:hidden}.audit-entry-interactions-open.svelte-cmjgwr{border-width:2px;border-color:color-mix(in srgb, var(--prompt-cache-color) 38%, var(--border))}.audit-entry-details.svelte-cmjgwr{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px;overflow:hidden}.audit-thread.svelte-pneivi{flex-direction:column;gap:10px;display:flex}.audit-thread-children.svelte-pneivi{flex-direction:column;gap:10px;margin-left:26px;display:flex}.audit-thread-child.svelte-pneivi,.audit-thread-loading.svelte-pneivi{position:relative}.audit-thread-child.svelte-pneivi:before,.audit-thread-loading.svelte-pneivi:before{content:"";border-left:1px solid var(--border);border-bottom:1px solid var(--border);pointer-events:none;border-bottom-left-radius:6px;width:12px;height:calc(50% + 10px);position:absolute;top:-10px;left:-14px}.audit-thread-child.svelte-pneivi:not(:last-child):after{content:"";border-left:1px solid var(--border);pointer-events:none;position:absolute;top:50%;bottom:-10px;left:-14px}.audit-thread-loading.svelte-pneivi{padding:6px 0 6px 4px;display:flex}.audit-thread-more.svelte-pneivi{color:var(--text-muted);padding-left:4px;font-size:12px}.audit-list-toolbar.svelte-1nhcbov{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.audit-list-toolbar-left.svelte-1nhcbov{flex-wrap:wrap;align-items:center;gap:16px;display:inline-flex}.audit-group-checkbox.svelte-1nhcbov{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;display:inline-flex}.audit-group-checkbox.svelte-1nhcbov input:where(.svelte-1nhcbov){accent-color:var(--accent);cursor:pointer}.audit-retention-note.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-retention-highlight.svelte-1nhcbov{color:var(--text);font-weight:600}.audit-log-section.svelte-1nhcbov{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.audit-log-summary.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-log-list.svelte-1nhcbov{flex-direction:column;gap:10px;display:flex}.settings-guardrails-list.svelte-1bvx512{min-width:0}.settings-guardrail-type-pill.svelte-1bvx512{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-guardrail-summary.svelte-1bvx512{color:var(--text);font-size:14px;line-height:1.45}.settings-guardrail-description.svelte-1bvx512{color:var(--text-muted);margin-top:6px;font-size:12px}.model-editor.guardrails-editor-wide{width:min(1080px,100%)}.form-field-fieldset.svelte-s964s3{border:0;min-inline-size:0;margin:0;padding:0}.form-field-legend.svelte-s964s3{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:0;font-size:12px;font-weight:600}.model-editor.settings-guardrails-editor{min-width:0}.settings-guardrails-hero.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:var(--radius);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-hover) 18%, transparent), transparent 42%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--accent) 16%, transparent), transparent 40%), var(--bg-surface);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.settings-kicker.svelte-5x874c{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.settings-guardrails-hero.svelte-5x874c h3{margin-bottom:8px}.settings-guardrails-hero.svelte-5x874c p:last-child{color:var(--text-muted);margin-bottom:0}.settings-guardrails-meta.svelte-5x874c{gap:12px;display:flex}.settings-guardrails-stat.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--bg-surface-hover) 76%, transparent);border-radius:16px;min-width:110px;padding:14px 16px}.settings-guardrails-stat-label.svelte-5x874c{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.settings-guardrails-stat.svelte-5x874c strong{font-size:24px;font-weight:700}@media (width<=768px){.settings-guardrails-hero.svelte-5x874c{flex-direction:column}.settings-guardrails-meta.svelte-5x874c{width:100%}.settings-guardrails-stat.svelte-5x874c{flex:1 1 0}}.mcp-catalog-section.svelte-1xqrzco{margin-top:18px}.mcp-catalog-section.svelte-1xqrzco .form-field-label{margin-bottom:8px}.mcp-catalog-subtitle.svelte-1xqrzco{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-catalog-list.svelte-1xqrzco{flex-direction:column;gap:12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mcp-catalog-item-name.svelte-1xqrzco{overflow-wrap:anywhere;font-size:13px}.mcp-catalog-item-aggregated.svelte-1xqrzco{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.mcp-catalog-item-description.svelte-1xqrzco{color:var(--text-muted);margin:2px 0 0;font-size:13px;font-weight:400}.mcp-server-sub-counts.svelte-ah8nrt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:4px;font-size:11px;overflow:hidden}.mcp-server-table-wrapper.svelte-ah8nrt{overflow-x:auto}.mcp-server-table-wrapper.svelte-ah8nrt .data-table{min-width:860px}.auth-key-form-fields.svelte-1gswxes>.form-field{margin-bottom:4px}.auth-key-dashboard-toggle.svelte-1gswxes{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-key-issued-banner.svelte-1gswxes{background:color-mix(in srgb, var(--success) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));border-radius:var(--radius);margin-bottom:20px;padding:16px}.auth-key-issued-warning.svelte-1gswxes{color:color-mix(in srgb, var(--success) 80%, var(--text));margin-bottom:12px;font-size:13px;font-weight:600}.auth-key-issued-value-row.svelte-1gswxes{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.auth-key-issued-token.svelte-1gswxes{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;flex:1;min-width:0;padding:8px 12px;font-size:13px;overflow-x:auto}.usage-label-chip-static.svelte-nf0ldb,.usage-label-chip-static.svelte-nf0ldb:hover{cursor:default;background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.auth-key-redacted.svelte-nf0ldb{color:var(--text-muted);font-size:13px}.auth-key-actions-cell.svelte-nf0ldb{white-space:nowrap}.auth-key-row-deactivated.svelte-nf0ldb td:where(.svelte-nf0ldb):not(.auth-key-actions-cell){opacity:.55}.auth-key-expiry.svelte-nf0ldb{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.auth-key-th-help.svelte-nf0ldb{cursor:help;align-items:center;gap:4px;display:inline-flex}.auth-key-row-actions.svelte-nf0ldb{align-items:center;gap:6px;display:inline-flex}.auth-keys-help-notice.svelte-1xpdcqx{margin-bottom:20px}.auth-keys-inactive-toggle.svelte-1xpdcqx{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-keys-inactive-toggle.svelte-1xpdcqx input:where(.svelte-1xpdcqx){width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.locale-settings.svelte-hr6ahz{grid-template-columns:minmax(280px,420px)}.locale-selector-label.svelte-hr6ahz{color:var(--text);font-size:18px;font-weight:600}.settings-panel-header.svelte-15kyv2y{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.settings-panel-header.svelte-15kyv2y h3{font-size:18px}.settings-form-grid.svelte-15kyv2y{grid-template-columns:minmax(280px,420px);gap:16px;display:grid}@media (width<=768px){.settings-form-grid.svelte-15kyv2y{grid-template-columns:1fr}}.budget-settings-section.svelte-a747ys{width:100%}.budget-settings-grid.svelte-a747ys{gap:12px;display:grid}.budget-settings-row.svelte-a747ys{grid-template-columns:96px minmax(170px,1fr) minmax(110px,140px) minmax(110px,140px) minmax(220px,280px);align-items:start;gap:12px;display:grid}.budget-settings-period.svelte-a747ys{color:var(--text);letter-spacing:0;text-transform:uppercase;align-self:end;min-height:35px;padding-bottom:9px;font-size:12px;font-weight:700}.budget-settings-spacer.svelte-a747ys{min-height:1px}.budget-settings-help-cell.svelte-a747ys{align-self:start;min-width:0;min-height:35px}.budget-settings-help-cell.svelte-a747ys .inline-help-copy{max-width:280px;margin:22px 0 0;font-size:12px;line-height:1.35}@media (width<=768px){.budget-settings-grid.svelte-a747ys,.budget-settings-row.svelte-a747ys{grid-template-columns:1fr}.budget-settings-spacer.svelte-a747ys{display:none}}.tagging-settings-grid.svelte-18e8yem{gap:12px;display:grid}.tagging-settings-row.svelte-18e8yem{grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) minmax(80px,110px) auto minmax(90px,auto);align-items:end;gap:12px;display:grid}.tagging-do-not-pass.svelte-18e8yem{color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-height:35px;font-size:13px;display:flex}.tagging-row-trailer.svelte-18e8yem{align-items:center;gap:8px;min-height:35px;display:flex}.tagging-settings-empty.svelte-18e8yem{color:var(--text-muted);margin:0}.tagging-settings-actions.svelte-18e8yem{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.tagging-settings-row.svelte-18e8yem{grid-template-columns:1fr;align-items:stretch}.tagging-settings-actions.svelte-18e8yem,.tagging-settings-actions.svelte-18e8yem .btn{width:100%}}.pricing-recalculate-section.svelte-1cdxzyk{width:100%}.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:minmax(220px,320px) minmax(260px,360px);justify-content:start;align-items:end;gap:12px;width:100%;display:grid}.pricing-recalculate-date-field.svelte-1cdxzyk{grid-column:1/-1;width:100%;max-width:320px}.pricing-recalculate-filter-field.svelte-1cdxzyk{width:100%;max-width:360px}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker{width:100%}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-trigger{justify-content:space-between;width:100%}.pricing-recalculate-actions.svelte-1cdxzyk{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:1fr}.pricing-recalculate-actions.svelte-1cdxzyk,.pricing-recalculate-actions.svelte-1cdxzyk .btn{width:100%}}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-dropdown{inset:auto auto calc(100% + 6px) 0}.settings-refresh-icon.svelte-yeq2mp{flex:0 0 16px;width:16px;height:16px}.runtime-refresh-steps.svelte-yeq2mp{color:var(--text-muted);gap:8px;margin-top:14px;padding-left:18px;font-size:13px;display:grid}.runtime-refresh-step.is-ok.svelte-yeq2mp{color:var(--success)}.runtime-refresh-step.is-partial.svelte-yeq2mp{color:var(--warning)}.runtime-refresh-step.is-failed.svelte-yeq2mp{color:var(--danger)}.runtime-settings-copy.svelte-tldbe5{min-width:180px}.runtime-settings-fields.svelte-tldbe5{gap:16px;width:min(560px,100%);display:grid}.runtime-setting-row.svelte-tldbe5{grid-template-columns:minmax(220px,1fr) 180px;align-items:center;gap:20px;display:grid}.runtime-setting-description.svelte-tldbe5,.runtime-setting-managed.svelte-tldbe5{color:var(--text-muted);margin:4px 0 0;font-size:12px}.runtime-setting-managed.svelte-tldbe5{color:var(--warning)}@media (width<=720px){.runtime-setting-row.svelte-tldbe5{grid-template-columns:1fr;gap:8px}}.settings-version-footer.svelte-3naq7u{color:var(--text-muted);text-align:right;margin-top:24px;font-size:12px}.chat-message.svelte-12s99s5{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-width:94%;padding:10px 42px 10px 12px;position:relative;overflow:hidden}.chat-message.is-anchor.svelte-12s99s5{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.chat-message.is-after-anchor.svelte-12s99s5,.chat-function-note.is-after-anchor.svelte-12s99s5{opacity:.46}.chat-message.role-user.svelte-12s99s5{align-self:flex-start}.chat-message.role-assistant.svelte-12s99s5{background:color-mix(in srgb, var(--accent) 18%, var(--bg));align-self:flex-end}.chat-message.role-system.svelte-12s99s5{background:color-mix(in srgb, var(--warning) 10%, var(--bg));align-self:center;width:100%;max-width:100%}.chat-message.role-error.svelte-12s99s5{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg));align-self:flex-end}.chat-message.role-error.svelte-12s99s5 .chat-role:where(.svelte-12s99s5){color:color-mix(in srgb, var(--danger) 75%, var(--text-muted))}.chat-message-meta.svelte-12s99s5{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.chat-role.svelte-12s99s5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:12px;font-weight:700}.chat-time.svelte-12s99s5{color:var(--text-muted);white-space:nowrap;font-size:11px}.chat-content.svelte-12s99s5{white-space:pre-wrap;overflow-wrap:break-word;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}.chat-message.svelte-12s99s5:before,.chat-function-note.svelte-12s99s5:before{content:"";z-index:0;pointer-events:none;opacity:var(--prompt-cache-visibility);background:linear-gradient(90deg, color-mix(in srgb, var(--prompt-cache-color) 18%, transparent) 0, color-mix(in srgb, var(--prompt-cache-color) 18%, transparent) var(--prompt-cache-fill), transparent var(--prompt-cache-fill), transparent 100%);transition:opacity .15s;position:absolute;inset:0}.chat-message.svelte-12s99s5>:where(.svelte-12s99s5),.chat-function-note.svelte-12s99s5>:where(.svelte-12s99s5){z-index:1;position:relative}.chat-message-copy.svelte-12s99s5{z-index:2;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 92%, transparent);width:26px;height:26px;color:var(--text-muted);opacity:0;pointer-events:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:opacity .12s,transform .12s,color .12s,background-color .12s,border-color .12s;display:inline-flex;position:absolute;bottom:6px;right:6px;transform:translateY(3px)}.chat-message.svelte-12s99s5:hover .chat-message-copy:where(.svelte-12s99s5),.chat-function-note.svelte-12s99s5:hover .chat-message-copy:where(.svelte-12s99s5),.chat-message.svelte-12s99s5:focus-within .chat-message-copy:where(.svelte-12s99s5),.chat-function-note.svelte-12s99s5:focus-within .chat-message-copy:where(.svelte-12s99s5),.chat-message-copy.is-copied.svelte-12s99s5{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-message-copy.svelte-12s99s5:hover{color:var(--text);background:var(--bg-surface-hover)}.chat-message-copy.svelte-12s99s5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.chat-message-copy.is-copied.svelte-12s99s5{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.chat-tool-calls.svelte-12s99s5{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:8px;padding-top:6px;display:flex}.chat-tool-call.svelte-12s99s5{color:var(--text-muted);border-radius:5px;min-width:0;padding:3px 5px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;position:relative;overflow:hidden}.chat-tool-call-summary.svelte-12s99s5{cursor:pointer;align-items:baseline;gap:6px;min-width:0;display:flex}.chat-tool-call-preview.svelte-12s99s5{white-space:nowrap;text-overflow:ellipsis;opacity:.8;flex:1;min-width:0;overflow:hidden}.chat-tool-call-arguments.svelte-12s99s5{background:color-mix(in srgb, var(--border) 45%, transparent);color:var(--text);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;max-height:200px;margin-top:5px;padding:6px 8px;line-height:1.45;overflow:auto}.chat-tool-call-name.svelte-12s99s5:before{content:"⚡"}.chat-function-note.svelte-12s99s5{max-width:94%;color:var(--text-muted);background:color-mix(in srgb, var(--border) 40%, transparent);border:1px dashed var(--border);border-radius:12px;align-self:center;padding:4px 42px 4px 12px;font-size:12px;position:relative;overflow:hidden}.chat-function-note.is-anchor.svelte-12s99s5{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-inner.svelte-12s99s5{align-items:baseline;gap:6px;min-height:26px;display:flex;overflow:hidden}.chat-function-note-inner.svelte-12s99s5 .chat-time:where(.svelte-12s99s5){flex-shrink:0;margin-left:auto}.chat-function-call-id.svelte-12s99s5{color:var(--text-muted);overflow-wrap:anywhere;margin-top:6px;font-size:10px}.chat-function-label.svelte-12s99s5{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.chat-function-label.svelte-12s99s5:before{content:"▸";margin-right:4px;transition:transform .12s;display:inline-block}.chat-function-note-details[open].svelte-12s99s5 .chat-function-label:where(.svelte-12s99s5):before{transform:rotate(90deg)}.chat-function-detail.svelte-12s99s5{white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.chat-function-note.role-function-call.svelte-12s99s5{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));align-self:flex-end}.chat-function-note.role-function-result.svelte-12s99s5{background:color-mix(in srgb, var(--success) 8%, transparent);border-color:color-mix(in srgb, var(--success) 30%, var(--border));align-self:flex-start}.chat-function-note.is-anchor.role-function-call.svelte-12s99s5,.chat-function-note.is-anchor.role-function-result.svelte-12s99s5{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-details.svelte-12s99s5{width:100%}.chat-function-note-details.svelte-12s99s5>summary{cursor:pointer;list-style:none}.chat-function-note-details.svelte-12s99s5>summary::-webkit-details-marker{display:none}.chat-function-expanded.svelte-12s99s5{border-top:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);max-height:200px;margin-top:6px;padding-top:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto}@media (width<=768px){.chat-message.svelte-12s99s5{max-width:100%}}@media (hover:none){.chat-message-copy.svelte-12s99s5{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){.chat-message-copy.svelte-12s99s5{transition:none}}.conversation-drawer.svelte-ssrzja{width:var(--conversation-panel-width);background:var(--bg-surface);border-left:1px solid var(--border);z-index:12;flex-direction:column;flex:none;min-width:0;height:100vh;display:flex;position:sticky;top:0}.conversation-drawer-fullscreen.svelte-ssrzja{z-index:70;border-left:0;flex-basis:auto;width:100vw;height:100dvh;position:fixed;inset:0}.conversation-drawer-fullscreen.svelte-ssrzja .conversation-resize-handle:where(.svelte-ssrzja){display:none}.conversation-resize-handle.svelte-ssrzja{z-index:2;cursor:col-resize;touch-action:none;background:0 0;border:0;border-radius:0;outline:none;width:10px;padding:0;position:absolute;top:0;bottom:0;left:-5px}.conversation-resize-handle.svelte-ssrzja:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:4px}.conversation-resize-handle.svelte-ssrzja:hover:after,.conversation-resize-handle.svelte-ssrzja:focus-visible:after{background:color-mix(in srgb, var(--accent) 70%, var(--border))}body.conversation-panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.conversation-drawer-header.svelte-ssrzja{border-bottom:1px solid var(--border);flex-direction:column;gap:9px;padding:14px 16px;display:flex}.conversation-drawer-header-row.svelte-ssrzja{justify-content:space-between;align-items:center;gap:10px;display:flex}.conversation-drawer-header-actions.svelte-ssrzja{align-items:center;gap:6px;display:flex}.conversation-drawer-title.svelte-ssrzja{align-items:center;gap:9px;min-width:0;display:flex}.conversation-follow-status.svelte-ssrzja{justify-content:center;align-items:center;margin:-4px;padding:4px;display:inline-flex}.conversation-drawer-header.svelte-ssrzja h3{font-size:16px;font-weight:700}#interactions-drawer-content.svelte-ssrzja{position:relative}.conversation-message-navigation.svelte-ssrzja{z-index:4;opacity:0;pointer-events:none;flex-direction:column;gap:4px;width:max-content;height:0;margin-left:auto;margin-right:12px;transition:opacity .12s,transform .12s;display:flex;position:sticky;top:12px;transform:translateY(-3px)}#interactions-drawer-content.svelte-ssrzja:hover .conversation-message-navigation:where(.svelte-ssrzja),.conversation-message-navigation.svelte-ssrzja:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.conversation-message-navigation.svelte-ssrzja button:where(.svelte-ssrzja){border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 94%, transparent);width:30px;height:30px;min-height:30px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 1px 3px #00000029}.conversation-message-navigation.svelte-ssrzja button:where(.svelte-ssrzja):hover{color:var(--text);background:var(--bg-surface-hover)}.conversation-message-navigation.svelte-ssrzja button:where(.svelte-ssrzja):focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.conversation-drawer-footer.svelte-ssrzja{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;gap:9px;padding:10px 16px;display:flex}.conversation-composer.svelte-ssrzja{flex-direction:column;gap:7px;display:flex}.conversation-composer.svelte-ssrzja textarea:where(.svelte-ssrzja){resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:50px;color:var(--text);font:inherit;border-radius:7px;padding:9px 10px;line-height:1.45}.conversation-composer.svelte-ssrzja textarea:where(.svelte-ssrzja):focus{outline:2px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:1px}.conversation-composer.svelte-ssrzja textarea:where(.svelte-ssrzja):disabled{opacity:.65}.conversation-composer-actions.svelte-ssrzja{justify-content:space-between;align-items:center;gap:10px;display:flex}.conversation-endpoint.svelte-ssrzja{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:11px;overflow:hidden}.conversation-send-error.svelte-ssrzja{color:var(--danger);font-size:12px}.conversation-truncated.svelte-ssrzja{color:var(--text-muted);padding:0 16px 14px;font-size:12px}.conversation-step-picker.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:7px;font-size:11px;display:flex}.conversation-step-picker.svelte-ssrzja span:where(.svelte-ssrzja){flex:none}.conversation-step-picker.svelte-ssrzja select:where(.svelte-ssrzja){border:1px solid var(--border);background:var(--bg);min-width:0;max-width:100%;color:var(--text);border-radius:6px;padding:3px 6px;font-family:inherit;font-size:11px}.conversation-step-picker.svelte-ssrzja select:where(.svelte-ssrzja):focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:1px}.conversation-cache-legend.svelte-ssrzja{color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-family:inherit;font-size:11px;display:flex}.conversation-cache-legend.svelte-ssrzja:hover{color:var(--text)}.conversation-cache-legend.svelte-ssrzja:focus-visible{outline:2px solid color-mix(in srgb, var(--prompt-cache-color) 35%, transparent);outline-offset:3px;border-radius:3px}.conversation-cache-switch.svelte-ssrzja{background:color-mix(in srgb, var(--text-muted) 30%, var(--border));border-radius:999px;flex:none;width:28px;height:16px;transition:background-color .15s;position:relative}.conversation-cache-switch.is-active.svelte-ssrzja{background:color-mix(in srgb, var(--prompt-cache-color) 80%, var(--bg))}.conversation-cache-switch-thumb.svelte-ssrzja{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000003d}.conversation-cache-switch.is-active.svelte-ssrzja .conversation-cache-switch-thumb:where(.svelte-ssrzja){transform:translate(12px)}.conversation-cache-estimate.svelte-ssrzja{opacity:.75}.conversation-thread.svelte-ssrzja{flex-direction:column;gap:10px;padding:14px 16px 20px;display:flex}.conversation-live-status.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:10px;padding:4px 16px 20px;font-size:13px;display:flex}@media (hover:none){.conversation-message-navigation.svelte-ssrzja{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){.conversation-message-navigation.svelte-ssrzja{transition:none}} +:root{--bg:#111110;--bg-surface:#1e1d1c;--bg-surface-hover:#2a2420;--border:#2a2826;--text:#e8e0d6;--text-muted:#9a918a;--accent:#b8956e;--accent-hover:#d4b896;--success:#34d399;--info:#3b82f6;--warning:#f59e0b;--danger:#ef4444;--prompt-cache-color:color-mix(in srgb, var(--info) 72%, #fff);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 24%, var(--bg-surface));--cache-meter-uncached:var(--token-input);--cache-meter-local:var(--token-local);--cache-meter-prompt:var(--token-prompt);--token-input:#c0824a;--token-output:#ddb27a;--token-prompt:color-mix(in srgb, var(--info) 60%, transparent);--token-local:color-mix(in srgb, var(--info) 20%, transparent);--sidebar-width:240px;--radius:8px;--chart-grid:#2a2826;--chart-text:#9a918a;--chart-day-marker:var(--text);--chart-tooltip-bg:#1e1d1c;--chart-tooltip-border:#2a2826;--chart-tooltip-text:#e8e0d6;--cal-level-0:#161b22;--cal-level-1:color-mix(in srgb, var(--info) 15%, var(--bg-surface));--cal-level-2:color-mix(in srgb, var(--info) 25%, var(--bg-surface));--cal-level-3:color-mix(in srgb, var(--info) 36%, var(--bg-surface));--cal-level-4:color-mix(in srgb, var(--info) 48%, var(--bg-surface));--cal-level-5:color-mix(in srgb, var(--info) 60%, var(--bg-surface));--cal-level-6:color-mix(in srgb, var(--info) 73%, var(--bg-surface));--cal-level-7:color-mix(in srgb, var(--info) 87%, var(--bg-surface));--cal-level-8:var(--info);--cal-level-9:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-10:color-mix(in srgb, var(--info) 62%, #fff);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface-hover) 86%, #fff 14%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface-hover) 72%, #fff 28%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f0ea;--bg-surface:#fff;--bg-surface-hover:#ece5dc;--border:#e8e0d6;--text:#2d2519;--text-muted:#7a7068;--accent:#755c3d;--accent-hover:#9a7d5a;--success:#34d399;--info:#2563eb;--warning:#d97706;--danger:#dc2626;--prompt-cache-color:color-mix(in srgb, var(--info) 84%, #0f172a);--prompt-cache-color-bg:color-mix(in srgb, var(--token-prompt) 18%, var(--bg-surface));--chart-grid:#e8e0d6;--chart-text:#7a7068;--chart-day-marker:var(--text);--chart-tooltip-bg:#fff;--chart-tooltip-border:#e8e0d6;--chart-tooltip-text:#2d2519;--cal-level-0:#ebedf0;--cal-level-1:color-mix(in srgb, var(--info) 12%, #fff);--cal-level-2:color-mix(in srgb, var(--info) 24%, #fff);--cal-level-3:color-mix(in srgb, var(--info) 37%, #fff);--cal-level-4:color-mix(in srgb, var(--info) 50%, #fff);--cal-level-5:color-mix(in srgb, var(--info) 64%, #fff);--cal-level-6:color-mix(in srgb, var(--info) 80%, #fff);--cal-level-7:var(--info);--cal-level-8:color-mix(in srgb, var(--info) 85%, #000);--cal-level-9:color-mix(in srgb, var(--info) 72%, #000);--cal-level-10:color-mix(in srgb, var(--info) 60%, #000);--alias-row-valid-bg:color-mix(in srgb, var(--bg-surface) 96%, var(--accent) 4%);--alias-row-valid-bg-hover:color-mix(in srgb, var(--bg-surface) 90%, var(--accent) 10%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body.dashboard-modal-open{overflow:hidden}.app{height:100vh;min-height:0;display:flex;overflow:hidden}.badge{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.auth-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);padding:22px;box-shadow:0 24px 70px #00000061}.auth-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.auth-dialog h2{margin-top:2px;font-size:22px;line-height:1.2}.auth-dialog-close{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.auth-dialog-close:hover{color:var(--text);background:var(--bg-surface-hover)}.auth-dialog-close:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-hint{color:var(--text-muted);font-size:13px}.auth-dialog-error{color:var(--danger);font-size:13px;font-weight:600}.auth-dialog-form{gap:10px;margin-top:18px;display:grid}.auth-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.content{-webkit-overflow-scrolling:touch;flex:1 1 0;width:100%;min-width:0;min-height:0;padding:32px;transition:width .2s;overflow-y:auto;container:dashboard-content/inline-size}.content>*{width:100%;max-width:1336px;margin-inline:auto}body.dashboard-modal-open .content{overflow-y:hidden}.content.interactions-open>*{max-width:none}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.3px;font-size:22px;font-weight:700}.page-header-controls{align-items:center;gap:12px;display:flex}.page-with-sticky-date{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:12px;display:grid}.page-with-sticky-date>*{grid-column:1/-1}.page-with-sticky-date>.date-range-page-header{grid-column:1}.page-with-sticky-date>.sticky-date-range{grid-column:2;justify-self:end}.model-count{color:var(--text-muted);font-size:14px}.provider-status-section{margin-top:28px;scroll-margin-top:24px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:28px;display:grid}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.card-value{letter-spacing:-.5px;font-size:28px;font-weight:700}.cache-meter{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:28px;padding:24px}.chart-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.chart-container h3{margin-bottom:16px;font-size:16px;font-weight:600}.chart-container-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-container-header h3{margin-bottom:0}.chart-wrapper{height:210px;position:relative}.live-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.live-dot.is-streaming{background:var(--success);position:relative}.live-dot.is-streaming:after{content:"";z-index:-1;background:color-mix(in srgb, var(--success) 55%, transparent);border-radius:50%;animation:1.8s ease-out infinite live-dot-pulse;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.live-dot.is-streaming:after{opacity:0;animation:none}}@keyframes live-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(2.5)}to{opacity:0;transform:scale(2.5)}}.alert{border-radius:var(--radius);margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-warning{color:var(--warning);background:#f59e0b1a;border:1px solid #f59e0b4d}.table-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.table-toolbar-main{flex:1;min-width:0}.table-toolbar-actions{justify-content:flex-end;margin-left:auto;display:flex}input:is([type=text],[type=date],[type=number]){background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}input:is([type=text],[type=date],[type=number]):focus{border-color:var(--accent)}input:is([type=text],[type=date],[type=number]):disabled,textarea:disabled,.form-input:disabled{opacity:.6;cursor:not-allowed}.table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:600}.data-table th.model-actions-header{text-align:right;white-space:nowrap;width:1%;min-width:156px}.data-table td{border-bottom:1px solid var(--border);padding:10px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-surface-hover)}.mono{font-family:SF Mono,Menlo,Consolas,monospace}.font-size-md{font-size:13px}.col-price,.data-table th.col-price{text-align:right}td.col-price{color:var(--text-muted);white-space:nowrap;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.provider-badge{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:48px 0;font-size:14px}.empty-state-icon{width:auto;height:auto;max-height:160px;color:var(--text-muted);margin:0 auto;display:block}.empty-state-icon text{fill:var(--text-muted);font-family:inherit;font-weight:600}.chart-empty-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chart-empty-overlay .empty-state-icon{width:auto;max-width:90%;height:auto;max-height:195px}.loading-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.table-action-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.table-action-btn:hover:not(:disabled){background:var(--bg-surface-hover)}.table-action-btn:disabled{opacity:.45;cursor:default}.table-action-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.table-action-btn-active{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 38%, var(--border))}.table-action-btn-active:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-surface-hover))}.table-action-btn-failover-active{color:var(--info);background:color-mix(in srgb, var(--cache-meter-prompt) 35%, var(--bg));border-color:color-mix(in srgb, var(--info) 45%, var(--border));position:relative}.table-action-btn-failover-active:hover:not(:disabled){background:color-mix(in srgb, var(--cache-meter-prompt) 45%, var(--bg-surface-hover))}.table-icon-btn{border-radius:6px;gap:0;width:32px;min-width:32px;height:32px;padding:0}.table-icon-btn.table-action-btn-active{position:relative}.table-icon-btn.table-action-btn-active:after{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-btn.table-action-btn-failover-active:after{content:"";background:var(--info);width:6px;height:6px;box-shadow:0 0 0 2px var(--bg-surface);border-radius:999px;position:absolute;top:4px;right:4px}.table-icon-svg{flex-shrink:0;width:14px;height:14px}.model-editor{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.alias-kind-badge{border:1px solid var(--border);background:var(--bg);min-height:24px;color:var(--accent);letter-spacing:.2px;text-transform:uppercase;border-color:color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.form h3{font-size:20px;font-weight:700}.form-kicker,.form-hint{color:var(--text-muted);font-size:13px}.alias-actions-cell{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.model-list-actions{white-space:nowrap;flex-wrap:nowrap}.model-list-actions .table-icon-btn{flex:0 0 32px}.model-list-actions .alias-toggle{flex:none}.alias-toggle{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:inline-flex}.alias-toggle:hover:not(:disabled){background:var(--bg-surface-hover)}.alias-toggle:disabled{opacity:.45;cursor:default}.alias-toggle-track{background:color-mix(in srgb, var(--border) 80%, var(--bg));border-radius:6px;width:34px;height:18px;transition:background .15s;position:relative}.alias-toggle-thumb{background:var(--text-muted);border-radius:6px;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:2px}.alias-toggle.enabled{border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.alias-toggle.enabled .alias-toggle-track{background:color-mix(in srgb, var(--success) 55%, var(--bg))}.alias-toggle.enabled .alias-toggle-thumb{background:#fff;transform:translate(14px)}.alias-toggle.restricted{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:color-mix(in srgb, var(--accent) 70%, var(--text))}.alias-toggle.restricted .alias-toggle-track{background:color-mix(in srgb, var(--accent) 55%, var(--bg))}.editor-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.form{flex-direction:column;gap:16px;display:flex}.auth-key-editor{background:color-mix(in srgb, var(--bg-surface) 82%, var(--bg) 18%)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{flex-direction:column;gap:8px;display:flex}.form-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px;font-weight:600;display:inline-block}.vm-target-row{align-items:center;gap:8px;display:flex}.vm-target-row .vm-target-model{flex:auto;min-width:0}.vm-target-row .vm-target-weight{flex:0 0 88px;width:88px}.vm-status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.vm-status-row .vm-status-toggle{margin-left:auto}.form-error{border:1px solid color-mix(in srgb, var(--danger) 42%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface));color:var(--danger);overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.form-error:empty{display:none}.form-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4}.form-field-required{color:var(--danger);margin-left:3px}:is(input,textarea,select)[aria-invalid=true]{border-color:color-mix(in srgb, var(--danger) 60%, var(--border))}:is(input,textarea,select)[aria-invalid=true]:focus{border-color:var(--danger)}textarea{resize:vertical;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:60px;color:var(--text);outline:none;padding:10px 12px;font-family:inherit;font-size:13px}textarea:focus{border-color:var(--accent)}.form-input{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:38px;color:var(--text);outline:none;padding:8px 10px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--accent)}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.failover-target-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.data-table tr.alias-row.is-valid td{background:var(--alias-row-valid-bg)}.data-table tr.alias-row.is-valid:hover td{background:var(--alias-row-valid-bg-hover)}.data-table tr.alias-row:not(.is-valid) td{background:color-mix(in srgb, var(--accent) 10%, var(--bg-surface))}.data-table tr.alias-row:not(.is-valid):hover td{background:color-mix(in srgb, var(--accent) 16%, var(--bg-surface-hover))}.data-table tr.alias-row.is-disabled td{background:var(--bg-surface);opacity:.58}.data-table tr.alias-row.is-disabled:hover td{background:var(--bg-surface-hover);opacity:.72}.data-table tr.model-access-disabled-row td{background:color-mix(in srgb, var(--danger) 6%, var(--bg-surface))}.data-table tr.model-access-disabled-row:hover td{background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface-hover))}.workflow-section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-section-head h4{font-size:14px;font-weight:700}.workflow-preview{flex-direction:column;gap:12px;display:flex}.workflow-feature-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workflow-feature-toggle{border:1px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.workflow-feature-toggle input{width:16px;height:16px}.model-chart-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.model-chart-section h3{margin:0;font-size:16px;font-weight:600}.model-chart-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.bar-chart-wrap{width:100%;height:180px;position:relative}.form-select,.usage-log-select{appearance:none;background-color:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px;outline:none;min-width:140px;padding:8px 34px 8px 12px;font-family:inherit;font-size:13px}.form-select:disabled,.usage-log-select:disabled{cursor:not-allowed;opacity:.6}.form-select:focus,.usage-log-select:focus{border-color:var(--accent)}.form-select{width:100%;min-width:0}.usage-label-chips{flex-wrap:wrap;gap:4px;max-width:280px;display:inline-flex}.usage-label-chip{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg));min-height:20px;color:var(--text);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;padding:1px 9px;font-family:inherit;font-size:11px;font-style:normal;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s;display:inline-flex}.usage-label-chip:hover{background:color-mix(in srgb, var(--label-color,var(--accent)) 26%, var(--bg))}.usage-label-chip.active{background:color-mix(in srgb, var(--label-color,var(--accent)) 32%, var(--bg));border-color:var(--label-color,var(--accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--label-color,var(--accent)) 55%, transparent)}@keyframes audit-live-summary-stripe-blink{0%,to{opacity:.9}50%{opacity:.28}}.audit-status-badge{border:1px solid var(--border);letter-spacing:.2px;background:var(--bg-surface);border-radius:999px;justify-content:center;align-items:center;min-width:46px;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.audit-status-badge.status-success{color:var(--success);border-color:color-mix(in srgb, var(--success) 50%, var(--border))}.audit-status-badge.status-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.audit-status-badge.status-error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.audit-status-badge.status-neutral{color:var(--text-muted)}.audit-status-badge.status-unknown{color:var(--text-muted);border-color:color-mix(in srgb, var(--border) 75%, transparent)}.audit-pane{border:1px solid var(--border);background:var(--bg);border-top:0;border-radius:0 0 8px 8px;min-width:0;padding:12px}.audit-pane h5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:11px;font-weight:600}.audit-prompt-cache-pill{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);min-height:20px;color:var(--prompt-cache-color);letter-spacing:.02em;text-transform:none;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.audit-prompt-cache-highlight{color:var(--prompt-cache-color);font-weight:700}.audit-audio{white-space:normal;flex-direction:column;gap:8px;display:flex}.audit-audio-player{width:100%;max-width:420px;height:36px}.audit-audio-meta{color:var(--text-muted);font-size:12px}.audit-audio-empty{align-items:flex-start;padding:4px 0}.audit-audio-icon{font-size:20px;line-height:1}.audit-audio-note{color:var(--text-muted);font-size:12px}.audit-audio-metadata{flex-direction:column;gap:2px;margin-top:4px;font-size:12px;display:flex}.audit-audio-meta-row{gap:8px;display:flex}.audit-audio-meta-key{color:var(--text-muted);min-width:120px}.conversation-body-highlight{border-left:2px solid color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent);cursor:pointer;line-height:inherit;border-radius:2px;margin:0 0 0 -2px;padding:0 0 0 2px;display:inline}.conversation-body-highlight:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.conversation-body-highlight.conversation-system{border-left-color:color-mix(in srgb, var(--warning) 70%, var(--border));background:color-mix(in srgb, var(--warning) 10%, transparent)}.conversation-body-highlight.conversation-user{border-left-color:color-mix(in srgb, var(--accent) 75%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent)}.conversation-body-highlight.conversation-assistant{border-left-color:color-mix(in srgb, var(--success) 65%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}#interactions-drawer-content{flex:1;min-height:0;overflow-y:auto}.pagination{justify-content:space-between;align-items:center;padding:12px 0 0;display:flex}.btn{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.btn:hover:not(:disabled){background:var(--bg-surface-hover)}.btn-primary{background:var(--accent);border-color:color-mix(in srgb, var(--accent) 70%, #000 10%);color:#fff;font-weight:600;box-shadow:0 10px 22px #3b82f62e}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 90%, #fff 10%);border-color:color-mix(in srgb, var(--accent) 78%, #000 12%)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:0 0;font-weight:600}.btn-danger-outline:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 75%, var(--border))}.btn-danger{color:#fff;border-color:color-mix(in srgb, var(--danger) 76%, #000 12%);background:var(--danger);box-shadow:0 10px 22px color-mix(in srgb, var(--danger) 20%, transparent);font-weight:600}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 90%, #fff 10%);border-color:color-mix(in srgb, var(--danger) 82%, #000 14%)}.btn-with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn-with-icon .table-icon-svg{width:16px;height:16px}.btn:disabled{opacity:.4;cursor:default}.settings-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.inline-help-section{flex-direction:column;gap:2px;display:flex}.inline-help-title-row{align-items:center;gap:10px;display:inline-flex}.inline-help-title-row h2,.inline-help-title-row h3{margin-bottom:0}.inline-help-title-row h2:empty,.inline-help-title-row h3:empty{display:none}.inline-help-toggle{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));width:16px;height:16px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:color .18s,border-color .18s;display:inline-flex;position:relative}.inline-help-toggle:before{content:"";pointer-events:auto;background:0 0;width:32px;height:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inline-help-toggle:hover{border-color:color-mix(in srgb, var(--accent) 48%, var(--border));color:var(--text);background:0 0}.inline-help-toggle:active{background:0 0}.inline-help-toggle:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.inline-help-toggle-icon{justify-content:center;align-items:center;width:100%;height:100%;padding-bottom:1px;font-size:13px;font-weight:700;line-height:1;transition:transform .52s cubic-bezier(.22,.72,.12,1);display:inline-flex;transform:rotate(0)}.inline-help-copy{max-width:780px;color:var(--text-muted);margin-top:2px;font-size:14px}.settings-select{width:100%}.settings-refresh-section{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:24px;padding-top:22px;display:grid}.settings-refresh-section h3{font-size:18px}.settings-refresh-section p{max-width:720px;color:var(--text-muted);font-size:14px;line-height:1.55}.budget-list{gap:10px;padding:10px 0;display:grid}.budget-row{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;padding:12px 14px;display:grid}.budget-row-main{min-width:0}.budget-row-head{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.budget-scope-value{width:fit-content;max-width:100%;min-height:24px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;justify-self:start;align-items:center;gap:5px;padding:2px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;display:inline-flex;overflow:hidden}.budget-user-path{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--bg))}.budget-label{border:1px solid color-mix(in srgb, var(--label-color,var(--accent)) 45%, var(--border));background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.budget-scope-icon{stroke-width:2.2px;opacity:.85;flex:0 0 12px;width:12px;height:12px}.budget-row-meta{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.budget-source{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;padding:2px 7px;font-size:11px}.budget-row-period{justify-content:center;min-width:0;display:flex}.budget-row-controls{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.budget-bars{gap:6px;margin-top:10px;display:grid}.budget-bar-line{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:10px;display:grid}.budget-bar-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:11px;line-height:1;display:flex}.budget-bar-percent{font-weight:700}.budget-bar-track{background:color-mix(in srgb, var(--border) 75%, var(--bg));border-radius:999px;height:16px;position:relative;overflow:hidden}.budget-bar-fill{border-radius:inherit;min-width:0;height:100%;transition:width .2s}.budget-bar-fill-usage{background:color-mix(in srgb, var(--success) 82%, var(--accent))}.budget-bar-fill-danger{background:var(--danger)}.budget-bar-track-period-monthly{background:color-mix(in srgb, #30302c 22%, var(--bg))}.budget-bar-fill-period-monthly{background:#30302c}.budget-bar-track-period-weekly{background:color-mix(in srgb, #68765c 22%, var(--bg))}.budget-bar-fill-period-weekly{background:#68765c}.budget-bar-track-period-daily{background:color-mix(in srgb, #b5652d 22%, var(--bg))}.budget-bar-fill-period-daily{background:#a75a26}.budget-bar-track-period-hourly{background:color-mix(in srgb, #783f22 22%, var(--bg))}.budget-bar-fill-period-hourly{background:#783f22}.budget-bar-track-period-custom{background:color-mix(in srgb, #bfa584 22%, var(--bg))}.budget-bar-fill-period-custom{background:#bfa584}.budget-bar-text-row{z-index:1;pointer-events:none;color:var(--text);position:absolute;inset:0}.budget-bar-text{text-overflow:ellipsis;white-space:nowrap;max-width:min(44%,190px);font-size:11px;font-weight:700;line-height:12px;position:absolute;top:50%;overflow:hidden}.budget-bar-text-center{max-width:min(46%,240px);left:50%;transform:translate(-50%,-50%)}.budget-bar-text-end{text-align:right;max-width:min(34%,180px);right:8px;transform:translateY(-50%)}.budget-period-label{border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.budget-period-icon{stroke-width:2.2px;flex:0 0 12px;width:12px;height:12px}.budget-period-label-monthly{border-color:color-mix(in srgb, #30302c 62%, var(--border));background:color-mix(in srgb, #30302c 12%, var(--bg));color:color-mix(in srgb, #30302c 34%, var(--text) 66%)}.budget-period-label-weekly{border-color:color-mix(in srgb, #68765c 62%, var(--border));background:color-mix(in srgb, #68765c 12%, var(--bg));color:color-mix(in srgb, #68765c 34%, var(--text) 66%)}.budget-period-label-daily{border-color:color-mix(in srgb, #b5652d 62%, var(--border));background:color-mix(in srgb, #b5652d 12%, var(--bg));color:color-mix(in srgb, #b5652d 34%, var(--text) 66%)}.budget-period-label-hourly{border-color:color-mix(in srgb, #783f22 62%, var(--border));background:color-mix(in srgb, #783f22 12%, var(--bg));color:color-mix(in srgb, #783f22 34%, var(--text) 66%)}.budget-period-label-custom{border-style:dashed;border-color:color-mix(in srgb, #bfa584 68%, var(--border));background:color-mix(in srgb, #bfa584 16%, var(--bg));color:color-mix(in srgb, #8b6f4f 34%, var(--text) 66%)}[data-theme=light] .budget-period-label-monthly{color:#30302c}[data-theme=light] .budget-period-label-weekly{color:#68765c}[data-theme=light] .budget-period-label-daily{color:#b5652d}[data-theme=light] .budget-period-label-hourly{color:#783f22}[data-theme=light] .budget-period-label-custom{color:#8b6f4f}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .budget-period-label-monthly{color:#30302c}:root:not([data-theme=dark]) .budget-period-label-weekly{color:#68765c}:root:not([data-theme=dark]) .budget-period-label-daily{color:#b5652d}:root:not([data-theme=dark]) .budget-period-label-hourly{color:#783f22}:root:not([data-theme=dark]) .budget-period-label-custom{color:#8b6f4f}}.budget-row-actions{flex-flow:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.budget-action-btn{white-space:nowrap;justify-content:center;gap:0;width:28px;min-width:0;height:28px;padding:0;transition:width .18s,border-color .15s,background .15s,color .15s;overflow:hidden}.budget-action-btn:hover,.budget-action-btn:focus-visible{gap:6px;width:82px;padding:0 9px}.budget-action-label{opacity:0;max-width:0;transition:max-width .18s,opacity .12s;overflow:hidden}.budget-action-btn:hover .budget-action-label,.budget-action-btn:focus-visible .budget-action-label{opacity:1;max-width:58px}.budget-action-btn-warning{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, var(--border))}.budget-action-icon{flex:0 0 14px;width:14px;height:14px}.budget-editor{background:color-mix(in srgb, var(--bg-surface) 86%, var(--bg) 14%)}.budget-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.budget-reset-dialog{max-width:460px}.form-action-icon{flex:0 0 16px;width:16px;height:16px}.settings-refresh-alert{margin-top:16px;margin-bottom:0}@media (width<=768px){.badge{display:none}.content{width:100%;margin:0 auto;padding:20px}.auth-dialog{padding:18px}.auth-dialog-actions{flex-direction:column-reverse}.auth-dialog-actions .btn{width:100%}.cards{grid-template-columns:repeat(2,1fr)}.page-header{flex-wrap:wrap;gap:12px}.page-header h2{width:100%}.page-header-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.page-with-sticky-date{grid-template-columns:minmax(0,1fr)}.page-with-sticky-date>.date-range-page-header,.page-with-sticky-date>.sticky-date-range{grid-column:1}.page-with-sticky-date>.date-range-page-header{margin-bottom:12px}.page-with-sticky-date>.sticky-date-range{width:100%;margin-bottom:24px}.sticky-date-range .date-picker-trigger{justify-content:space-between;width:100%}.usage-log-select{min-width:0}.budget-row{grid-template-columns:1fr}.budget-row-controls{flex-wrap:wrap}.budget-bar-line{grid-template-columns:1fr;gap:5px}.form-grid,.workflow-feature-toggles{grid-template-columns:1fr}.workflow-section-head{flex-direction:column;align-items:flex-start}.table-toolbar{flex-direction:column;align-items:stretch}.table-toolbar-actions{justify-content:stretch;margin-left:0}.table-toolbar-actions .btn{width:100%}.model-editor{padding:16px}.alias-actions-cell,.editor-header{flex-direction:column;align-items:flex-start}.alias-actions-cell .table-action-btn,.editor-header .table-action-btn{width:100%}.alias-actions-cell .table-icon-btn,.editor-header .table-icon-btn{width:36px}.model-list-actions{flex-flow:row;align-items:center}.model-list-actions .table-action-btn{width:auto}.model-list-actions .table-icon-btn{flex-basis:32px;width:32px}.model-editor .editor-header{flex-direction:row;align-items:flex-start}.model-editor .editor-header>:first-child{flex:1;min-width:0}.model-editor .editor-header .dialog-close-btn{flex:0 0 32px;align-self:flex-start;width:32px;min-width:32px}.settings-panel{padding:18px}.budget-settings-actions,.budget-settings-actions .btn{width:100%}}.workflow-conn{background:color-mix(in srgb, var(--accent) 44%, var(--border));flex:1 1 0;width:auto;min-width:13px;height:2px;position:relative}.workflow-conn:after{content:"";background:color-mix(in srgb, var(--accent) 44%, var(--border));clip-path:polygon(0 0,100% 50%,0 100%);width:7px;height:9px;position:absolute;top:50%;right:-1px;transform:translateY(-50%)}.workflow-node{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;min-width:72px;padding:8px 12px;display:flex}.auth-key-description{color:var(--text-muted);max-width:220px;font-size:13px}.auth-key-status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.auth-key-status-active{background:color-mix(in srgb, var(--success) 12%, var(--bg));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));color:var(--success)}.auth-key-status-inactive{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger)}.mcp-server-advanced{border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in srgb, var(--bg-surface) 72%, var(--bg) 28%);overflow:hidden}.mcp-server-advanced>summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;list-style:none;display:flex}.mcp-server-advanced>summary::-webkit-details-marker{display:none}.mcp-server-advanced>summary:after{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);content:"";flex:none;width:7px;height:7px;transition:transform .15s;transform:rotate(45deg)}.mcp-server-advanced[open]>summary:after{transform:rotate(225deg)}.mcp-server-advanced-summary-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.mcp-server-advanced-title{font-size:13px;font-weight:600}.mcp-server-advanced-fields{border-top:1px solid var(--border);flex-direction:column;gap:16px;padding:14px;display:flex}.copy-feedback-btn{align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.rate-limit-pressure-row{background-image:linear-gradient(to right, color-mix(in srgb, var(--success) 16%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-high{background-image:linear-gradient(to right, color-mix(in srgb, var(--warning) 20%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.rate-limit-pressure-row.rate-limit-pressure-full{background-image:linear-gradient(to right, color-mix(in srgb, var(--danger) 22%, transparent) var(--rate-limit-pressure,0%), transparent var(--rate-limit-pressure,0%))}.table-icon-btn.rate-limit-gauge-inherited{color:var(--accent-strong,var(--accent));background:linear-gradient(to right, color-mix(in srgb, var(--accent) 22%, var(--bg)) 50%, var(--bg) 50%);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.auth-dialog-input-icon{width:16px;height:16px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-dialog-input-shell:focus-within .auth-dialog-input-icon{color:var(--accent)}.auth-dialog-submit-icon{flex:0 0 16px;width:16px;height:16px}.nav-icon{flex:0 0 18px;width:18px;height:18px}.api-key-open-icon{flex:0 0 15px;width:15px;height:15px}.theme-icon{flex:0 0 14px;width:14px;height:14px}.theme-toggle-mobile .theme-icon{flex-basis:16px;width:16px;height:16px}@media (width<=768px){.sidebar-footer .api-key-open-icon{flex-basis:16px;width:16px;height:16px}}.failover-drafts-loading{min-height:96px}.models-loading-state{top:16px;left:var(--sidebar-width);z-index:110;pointer-events:none;--loading-state-min-height:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);width:fit-content;box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);margin:0 auto;padding:10px 14px;position:fixed;right:0}@media (width<=768px){.models-loading-state{left:60px}}.sidebar.sidebar-collapsed~.content .models-loading-state{left:60px}.alias-create-icon{flex:0 0 16px;width:16px;height:16px}.pricing-override-remove-row{margin-bottom:1px}@media (width<=768px){.pricing-override-remove-row{margin-bottom:0}}.pricing-recalculate-dialog{max-width:480px}.settings-refresh-btn.is-refreshing .settings-refresh-icon{transform-origin:50%;animation:.8s linear infinite loading-spin}.cost-source-icon{width:14px;height:14px;color:var(--success);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.cache-savings-icon{width:14px;height:14px;color:var(--accent);cursor:help;vertical-align:-2px;stroke-width:2px;margin-left:4px}.theme-toggle.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;margin-bottom:10px;padding:2px;display:inline-flex}.theme-btn.svelte-1keql7b{width:28px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn.svelte-1keql7b:hover{color:var(--text)}.theme-btn.active.svelte-1keql7b{background:var(--accent);color:#fff}.theme-btn.svelte-1keql7b:focus-visible,.theme-toggle-mobile.svelte-1keql7b:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.theme-toggle-mobile.svelte-1keql7b{background:var(--bg);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:none}.theme-toggle-mobile.svelte-1keql7b:hover{color:var(--text)}.theme-toggle.is-compact.svelte-1keql7b{display:none}.theme-toggle-mobile.is-compact.svelte-1keql7b{margin:0 auto;display:flex}@media (width<=768px){.theme-toggle.svelte-1keql7b{display:none}.theme-toggle-mobile.svelte-1keql7b{margin:0 auto;display:flex}}.sidebar.svelte-1nwtzae{flex:0 0 var(--sidebar-width);width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);-webkit-overflow-scrolling:touch;z-index:10;flex-direction:column;max-height:100vh;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar.sidebar-resizing.svelte-1nwtzae{transition:none}.sidebar-header.svelte-1nwtzae{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:20px;display:flex}.sidebar-logo.svelte-1nwtzae{width:28px;height:28px;color:var(--accent);flex-shrink:0}.sidebar-logo.svelte-1nwtzae svg{width:100%;height:100%}.sidebar-header.svelte-1nwtzae h1{letter-spacing:-.3px;font-size:18px;font-weight:700}.sidebar-nav.svelte-1nwtzae{flex-direction:column;flex:1;gap:4px;padding:12px;display:flex}.nav-item.svelte-1nwtzae{border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item.svelte-1nwtzae:hover{background:var(--bg-surface-hover);color:var(--text)}.nav-item.active.svelte-1nwtzae{background:var(--accent);color:#fff}.nav-label.svelte-1nwtzae{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-footer.svelte-1nwtzae{border-top:1px solid var(--border);padding:16px}.api-key-section.svelte-1nwtzae{gap:8px;display:grid}.external-auth-section.svelte-1nwtzae{gap:8px;margin-top:8px;display:grid}.external-auth-user.svelte-1nwtzae{min-width:0;color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.external-auth-user.svelte-1nwtzae span:where(.svelte-1nwtzae){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.api-key-open-btn.svelte-1nwtzae{border:1px solid var(--accent);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.api-key-open-btn.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 78%, var(--text));color:color-mix(in srgb, var(--accent) 78%, var(--text))}.api-key-open-btn.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.sidebar-toggle.svelte-1nwtzae{cursor:ew-resize;z-index:11;background:0 0;border:none;flex:0 0 6px;width:6px;height:100vh;padding:0;transition:background .15s;position:sticky;top:0}.sidebar-toggle.svelte-1nwtzae:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.sidebar-toggle.svelte-1nwtzae:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}body.sidebar-resizing{cursor:ew-resize;-webkit-user-select:none;user-select:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae){justify-content:center;padding:16px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-header:where(.svelte-1nwtzae) h1,.sidebar.sidebar-collapsed.svelte-1nwtzae .badge{display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-nav:where(.svelte-1nwtzae) .nav-label:where(.svelte-1nwtzae){display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae){padding:8px}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .external-auth-section:where(.svelte-1nwtzae){display:none}@media (width<=768px){.sidebar.svelte-1nwtzae{flex-basis:60px;width:60px}.sidebar-header.svelte-1nwtzae{justify-content:center;padding:16px}.sidebar-header.svelte-1nwtzae h1{display:none}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae){justify-content:center;padding:10px}.sidebar-nav.svelte-1nwtzae .nav-item:where(.svelte-1nwtzae) .nav-label:where(.svelte-1nwtzae){display:none}.sidebar-footer.svelte-1nwtzae{gap:8px;padding:8px;display:grid}.sidebar-footer.svelte-1nwtzae .api-key-section:where(.svelte-1nwtzae),.sidebar-footer.svelte-1nwtzae .external-auth-section:where(.svelte-1nwtzae),.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .external-auth-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .external-auth-user:where(.svelte-1nwtzae){display:none}.sidebar.sidebar-collapsed.svelte-1nwtzae .sidebar-footer:where(.svelte-1nwtzae) .api-key-section:where(.svelte-1nwtzae){display:grid}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae){justify-self:center;width:36px;height:36px;min-height:36px;padding:0}.sidebar-footer.svelte-1nwtzae .api-key-open-btn:where(.svelte-1nwtzae) span,.sidebar-toggle.svelte-1nwtzae{display:none}}.dialog-close-btn.svelte-11l1bb5{background:var(--bg);border:1px solid var(--border);width:32px;min-width:32px;height:32px;color:var(--text-muted);cursor:pointer;font:inherit;border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.dialog-close-btn.svelte-11l1bb5:hover{color:var(--text);background:var(--bg-surface-hover)}.dialog-close-btn.svelte-11l1bb5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:2px}.auth-dialog-backdrop.svelte-17e0w4c,.editor-modal-backdrop.svelte-17e0w4c{z-index:80;background:#0000007a;position:fixed;inset:0}.auth-dialog-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-modal-shell.svelte-17e0w4c{z-index:90;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.editor-modal-shell.svelte-17e0w4c>*{overscroll-behavior:contain;width:min(760px,100%);max-height:min(100vh - 40px,960px);margin:0;overflow:auto;box-shadow:0 24px 70px #00000061}@media (width<=768px){.auth-dialog-shell.svelte-17e0w4c,.editor-modal-shell.svelte-17e0w4c{align-items:end;padding:12px}.editor-modal-shell.svelte-17e0w4c>*{max-height:calc(100vh - 24px)}}.external-login-btn.svelte-1dsu6u0{justify-content:center;width:100%;text-decoration:none}.auth-dialog-separator.svelte-1dsu6u0{color:var(--text-muted);align-items:center;gap:10px;font-size:12px;display:flex}.auth-dialog-separator.svelte-1dsu6u0:before,.auth-dialog-separator.svelte-1dsu6u0:after{content:"";border-top:1px solid var(--border);flex:1}.auth-dialog-input-shell.svelte-1dsu6u0{position:relative}.auth-dialog-input.svelte-1dsu6u0{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);outline:none;padding:11px 12px 11px 38px;font-family:inherit;font-size:14px}.auth-dialog-input.svelte-1dsu6u0:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.flash-region.svelte-1i257xg{top:16px;left:var(--sidebar-width);z-index:120;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;right:0}.sidebar.sidebar-collapsed~.flash-region.svelte-1i257xg{left:60px}@media (width<=768px){.flash-region.svelte-1i257xg{left:60px}}.flash-toast.svelte-1i257xg{border-radius:var(--radius);pointer-events:auto;align-items:flex-start;gap:10px;width:max-content;max-width:min(480px,100% - 32px);padding:12px 12px 12px 16px;font-size:14px;animation:.9s ease-out svelte-1i257xg-flash-toast-glow;display:flex;box-shadow:0 10px 30px #00000059}@keyframes svelte-1i257xg-flash-toast-glow{0%{box-shadow:0 0 0 4px color-mix(in srgb, currentColor 45%, transparent), 0 10px 30px #00000059}to{box-shadow:0 0 0 4px #0000,0 10px 30px #00000059}}@media (prefers-reduced-motion:reduce){.flash-toast.svelte-1i257xg{animation:none}}.flash-toast-success.svelte-1i257xg{background:color-mix(in srgb, var(--success) 14%, var(--bg-surface));color:var(--success);border:1px solid #34d39959}.flash-toast-error.svelte-1i257xg{background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--warning);border:1px solid #f59e0b66}.flash-toast-text.svelte-1i257xg{overflow-wrap:anywhere;flex:1;min-width:0}.flash-toast-icon{flex-shrink:0;width:18px;height:18px}.flash-toast-dismiss.svelte-1i257xg{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;flex-shrink:0;padding:0 2px;font-size:18px;line-height:1}.flash-toast-dismiss.svelte-1i257xg:hover{opacity:1}.demo-mode-banner.svelte-1s3mcn8{border:1px solid color-mix(in srgb, var(--warning) 55%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--warning) 14%, var(--bg-surface));color:var(--text);box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 70%, transparent);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;display:grid}.demo-mode-banner-icon.svelte-1s3mcn8{width:20px;height:20px;color:var(--warning);flex:0 0 20px}.demo-mode-banner-copy.svelte-1s3mcn8{align-items:baseline;gap:8px;min-width:0;font-size:13px;display:flex}.demo-mode-banner.svelte-1s3mcn8 strong{color:var(--warning);letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:12px}.demo-mode-banner-links.svelte-1s3mcn8{justify-content:flex-end;align-items:center;gap:6px;display:flex}.demo-mode-banner-links.svelte-1s3mcn8 a{border:1px solid color-mix(in srgb, var(--warning) 42%, var(--border));border-radius:var(--radius);min-height:28px;color:var(--text);white-space:nowrap;align-items:center;padding:4px 8px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.demo-mode-banner-links.svelte-1s3mcn8 a:hover{border-color:var(--warning);background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text)}.demo-mode-banner-links.svelte-1s3mcn8 a:focus-visible{outline:2px solid color-mix(in srgb, var(--warning) 42%, transparent);outline-offset:2px}@media (width<=768px){.demo-mode-banner.svelte-1s3mcn8{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.demo-mode-banner-copy.svelte-1s3mcn8{gap:2px;display:grid}.demo-mode-banner-links.svelte-1s3mcn8{flex-wrap:wrap;grid-column:2;justify-content:flex-start}}.auth-banner.svelte-1c5yh36{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dp-calendar.svelte-g7ga4u{flex-shrink:0;width:224px}.dp-cal-header.svelte-g7ga4u{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 4px;display:flex}.dp-cal-title.svelte-g7ga4u{font-size:13px;font-weight:600}.dp-nav-btn.svelte-g7ga4u{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.dp-nav-btn.svelte-g7ga4u:hover{background:var(--bg-surface-hover);color:var(--text)}.dp-nav-btn.svelte-g7ga4u:disabled{opacity:.3;cursor:default;pointer-events:none}.dp-nav-prev-mobile.svelte-g7ga4u{display:none}.dp-weekdays.svelte-g7ga4u{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-weekdays.svelte-g7ga4u span:where(.svelte-g7ga4u){color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.dp-days.svelte-g7ga4u{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.dp-day.svelte-g7ga4u{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;font-size:12px;transition:all .1s;display:flex}.dp-day.svelte-g7ga4u:hover:not(.disabled):not(.other-month){background:var(--bg-surface-hover)}.dp-day.other-month.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default}.dp-day.today.svelte-g7ga4u{color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:700}.dp-day.in-range.svelte-g7ga4u{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:0}.dp-day.range-start.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:6px 0 0 6px;font-weight:600}.dp-day.range-end.svelte-g7ga4u{background:var(--accent);color:#fff;border-radius:0 6px 6px 0;font-weight:600}.dp-day.range-start.range-end.svelte-g7ga4u{border-radius:6px}.dp-day.range-start.today.svelte-g7ga4u,.dp-day.range-end.today.svelte-g7ga4u{box-shadow:none}.dp-day.disabled.svelte-g7ga4u{color:var(--text-muted);opacity:.3;cursor:default;pointer-events:none}@media (width<=768px){.dp-nav-prev-mobile.svelte-g7ga4u{display:flex}}.date-picker.svelte-ax7ma4{position:relative}.date-picker-trigger.svelte-ax7ma4{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:inline-flex}.date-picker-trigger.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.date-picker-trigger.svelte-ax7ma4 svg:where(.svelte-ax7ma4){color:var(--text-muted);flex-shrink:0}.date-picker-chevron.svelte-ax7ma4{transition:transform .15s}.date-picker-chevron.open.svelte-ax7ma4{transform:rotate(180deg)}.date-picker-dropdown.svelte-ax7ma4{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.date-picker-presets.svelte-ax7ma4{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-width:140px;padding:8px;display:flex}.preset-btn.svelte-ax7ma4{color:var(--text);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.preset-btn.svelte-ax7ma4:hover{background:var(--bg-surface-hover)}.preset-btn.active.svelte-ax7ma4{background:var(--accent);color:#fff}.date-picker-calendars.svelte-ax7ma4{flex-wrap:nowrap;gap:16px;padding:12px;display:flex}.dp-cursor-hint.svelte-ax7ma4{pointer-events:none;z-index:101;background:var(--bg-surface);color:var(--text);border:1px solid var(--accent);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:flex;position:fixed;transform:translate(12px,-50%)}.dp-cursor-hint.svelte-ax7ma4 svg:where(.svelte-ax7ma4){width:12px;height:12px;color:var(--accent);flex-shrink:0}@media (width<=768px){.date-picker-dropdown.svelte-ax7ma4{border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;max-height:80vh;position:fixed;inset:auto 0 0;overflow-y:auto}.date-picker-presets.svelte-ax7ma4{-webkit-overflow-scrolling:touch;border-right:none;border-bottom:1px solid var(--border);flex-flow:row;min-width:0;overflow-x:auto}.date-picker-calendars.svelte-ax7ma4{justify-content:center}.date-picker-calendars.svelte-ax7ma4>.dp-calendar:first-child{display:none}}.segmented-control.svelte-92fh5i{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.segmented-btn.svelte-92fh5i{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.segmented-btn.svelte-92fh5i:hover{color:var(--text)}.segmented-btn.active.svelte-92fh5i{background:var(--accent);color:#fff}@media (width<=768px){.segmented-btn.svelte-92fh5i{padding:4px 8px;font-size:11px}}.live-tokens.svelte-17qr2ta{margin-bottom:28px}.live-tokens-heading.svelte-17qr2ta{flex-direction:column;gap:2px;display:flex}.live-tokens-subtitle.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.live-tokens-legend.svelte-17qr2ta{flex-wrap:wrap;gap:8px 18px;margin-bottom:16px;display:flex}.live-tokens-legend-item.svelte-17qr2ta{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-tokens-swatch.svelte-17qr2ta{border-radius:2px;flex-shrink:0;width:10px;height:10px}.live-tokens-legend-value.svelte-17qr2ta{color:var(--text);font-weight:600}.live-tokens-empty.svelte-17qr2ta .live-tokens-empty-text:where(.svelte-17qr2ta){color:var(--text-muted);font-size:13px}.spinner.svelte-b54l9o{width:var(--spinner-size);height:var(--spinner-size);border:2px solid var(--border,#80808059);border-top-color:var(--accent,currentColor);border-radius:50%;flex:none;animation:.7s linear infinite svelte-b54l9o-spinner-rotate;display:inline-block}@keyframes svelte-b54l9o-spinner-rotate{to{transform:rotate(360deg)}}.provider-status-flag.svelte-6tr9cf{grid-column:span 2}.provider-status-overview-card.svelte-6tr9cf{grid-column:span 1}.provider-status-flag.is-healthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, var(--bg-surface))}.provider-status-flag.is-degraded.svelte-6tr9cf{border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-flag.is-unhealthy.svelte-6tr9cf{border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface))}.provider-status-value.svelte-6tr9cf{margin-bottom:8px}.provider-status-card-link.svelte-6tr9cf{color:var(--accent-strong,var(--accent));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:13px;font-weight:600}.provider-status-card-link.svelte-6tr9cf:hover{color:var(--text);text-decoration:underline}.provider-status-card-link.svelte-6tr9cf:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:3px;border-radius:4px}.provider-status-card-note.svelte-6tr9cf{color:var(--text-muted);font-size:13px;display:block}@media (width>=720px){.card-wide.svelte-6tr9cf{grid-column:span 2}}.cache-token-value.svelte-6tr9cf{flex-wrap:wrap;align-items:center;gap:6px;line-height:1;display:flex}.cache-token-part.svelte-6tr9cf{align-items:center;display:inline-flex}.cache-token-operator.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;font-size:24px;font-weight:600;line-height:1}.cache-token-marker.svelte-6tr9cf{color:var(--text-muted);letter-spacing:0;text-transform:uppercase;margin-left:2px;font-size:14px;font-weight:700}.prompt-cache-gauge.svelte-6tr9cf{width:120px;height:60px;margin:8px auto 0;position:relative;overflow:hidden}.prompt-cache-gauge.svelte-6tr9cf canvas{display:block}.prompt-cache-gauge-loading.svelte-6tr9cf{justify-content:center;align-items:center;display:flex}.prompt-cache-gauge-value.svelte-6tr9cf{text-align:center;color:var(--text);font-size:18px;font-weight:700;line-height:1;position:absolute;bottom:4px;left:0;right:0}@media (width<=768px){.provider-status-flag.svelte-6tr9cf{grid-column:span 1}}.mcp-servers-flag.svelte-6tr9cf{grid-column:span 1}.cache-meter-header.svelte-1yzecxj{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:16px;display:flex}.cache-meter-header.svelte-1yzecxj h3{font-size:16px;font-weight:600}.cache-meter-subtitle.svelte-1yzecxj{color:var(--text-muted);font-size:13px}.cache-meter-bar.svelte-1yzecxj{background:var(--bg-surface-hover);border-radius:6px;width:100%;height:28px;display:flex;overflow:hidden}.cache-meter-segment.svelte-1yzecxj{justify-content:center;align-items:center;min-width:3px;height:100%;transition:width .3s;display:flex;overflow:hidden}.cache-meter-segment-label.svelte-1yzecxj{color:#fff;white-space:nowrap;text-shadow:0 1px 2px #00000073;font-size:12px;font-weight:600;line-height:1}.cache-meter-segment.svelte-1yzecxj+.cache-meter-segment:where(.svelte-1yzecxj){box-shadow:-1px 0 0 var(--bg-surface)}.cache-meter-bar.is-empty.svelte-1yzecxj{background:var(--bg-surface-hover);justify-content:center;align-items:center;height:auto;min-height:28px;padding:6px 12px}.cache-meter-legend.svelte-1yzecxj{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.cache-meter-legend-item.svelte-1yzecxj{align-items:center;gap:8px;font-size:13px;display:flex}.cache-meter-swatch.svelte-1yzecxj{border-radius:3px;flex-shrink:0;width:12px;height:12px}.cache-meter-legend-label.svelte-1yzecxj{color:var(--text)}.cache-meter-legend-pct.svelte-1yzecxj{color:var(--text);font-weight:600}.cache-meter-legend-tokens.svelte-1yzecxj{color:var(--text-muted)}.cache-meter-empty.svelte-1yzecxj{color:var(--text-muted);text-align:center;font-size:13px}.contribution-calendar-section.svelte-3hfxuq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:24px}.contribution-calendar-header.svelte-3hfxuq{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.contribution-calendar-header.svelte-3hfxuq h3{font-size:16px;font-weight:600}.contribution-calendar-grid-wrapper.svelte-3hfxuq{gap:8px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq{flex-direction:column;gap:2px;padding-top:22px;display:flex}.contribution-calendar-day-labels.svelte-3hfxuq span{height:13px;color:var(--text-muted);text-align:right;min-width:28px;font-size:10px;line-height:13px}.contribution-calendar-scroll.svelte-3hfxuq{--contribution-week-size:13px;--contribution-week-gap:2px;flex:1;min-width:0;overflow-x:auto}.contribution-calendar-months.svelte-3hfxuq{grid-auto-columns:var(--contribution-week-size);gap:var(--contribution-week-gap);grid-auto-flow:column;height:16px;margin-bottom:6px;display:grid}.contribution-calendar-month-label.svelte-3hfxuq{color:var(--text-muted);white-space:nowrap;font-size:10px}.contribution-calendar-grid.svelte-3hfxuq{gap:var(--contribution-week-gap);display:flex}.contribution-calendar-week.svelte-3hfxuq{flex-direction:column;gap:2px;display:flex}.contribution-calendar-cell.svelte-3hfxuq{width:var(--contribution-week-size);height:var(--contribution-week-size);background:var(--cal-level-0);border-radius:2px}.contribution-calendar-cell.level-1.svelte-3hfxuq{background:var(--cal-level-1)}.contribution-calendar-cell.level-2.svelte-3hfxuq{background:var(--cal-level-2)}.contribution-calendar-cell.level-3.svelte-3hfxuq{background:var(--cal-level-3)}.contribution-calendar-cell.level-4.svelte-3hfxuq{background:var(--cal-level-4)}.contribution-calendar-cell.level-5.svelte-3hfxuq{background:var(--cal-level-5)}.contribution-calendar-cell.level-6.svelte-3hfxuq{background:var(--cal-level-6)}.contribution-calendar-cell.level-7.svelte-3hfxuq{background:var(--cal-level-7)}.contribution-calendar-cell.level-8.svelte-3hfxuq{background:var(--cal-level-8)}.contribution-calendar-cell.level-9.svelte-3hfxuq{background:var(--cal-level-9)}.contribution-calendar-cell.level-10.svelte-3hfxuq{background:var(--cal-level-10)}.contribution-calendar-cell.empty.svelte-3hfxuq{background:0 0}.contribution-calendar-footer.svelte-3hfxuq{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.contribution-calendar-meta.svelte-3hfxuq{flex-direction:column;gap:4px;display:flex}.contribution-calendar-summary.svelte-3hfxuq{color:var(--text-muted);font-size:12px}.contribution-calendar-legend.svelte-3hfxuq{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.contribution-calendar-legend.svelte-3hfxuq .contribution-calendar-cell:where(.svelte-3hfxuq){cursor:default;width:11px;height:11px}.contribution-calendar-tooltip.svelte-3hfxuq{z-index:200;background:var(--bg-surface);color:var(--text);border:1px solid var(--border);white-space:nowrap;pointer-events:none;border-radius:4px;padding:4px 8px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 4px 12px #0003}@media (width<=768px){.contribution-calendar-day-labels.svelte-3hfxuq{display:none}.contribution-calendar-section.svelte-3hfxuq{padding:16px}.contribution-calendar-footer.svelte-3hfxuq{flex-direction:column;align-items:flex-start}}.inline-help-toggle.is-open.svelte-y40or3{color:var(--text);background:0 0}.inline-help-toggle.is-open.svelte-y40or3 .inline-help-toggle-icon{transform:rotate(540deg)}.loading-state.svelte-hzxv1d{min-height:var(--loading-state-min-height,64px);color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.audit-stats-section.svelte-14e9yan{margin-top:24px}.audit-stats-header.svelte-14e9yan{align-items:flex-start}.audit-stats-kpis.svelte-14e9yan{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.audit-stats-kpi.svelte-14e9yan{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.audit-stats-kpi-value.svelte-14e9yan{color:var(--text);font-size:13px}.audit-stats-kpi-dot.svelte-14e9yan{border-radius:2px;flex-shrink:0;width:8px;height:8px}.audit-stats-dot-2xx.svelte-14e9yan{background:var(--success)}.audit-stats-dot-4xx.svelte-14e9yan{background:var(--warning)}.audit-stats-dot-5xx.svelte-14e9yan{background:var(--danger)}.provider-status-details.svelte-6y9wjv{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .28s,opacity .22s;display:grid}.provider-status-details.is-expanded.svelte-6y9wjv{opacity:1;grid-template-rows:1fr}.provider-status-details.is-collapsed.svelte-6y9wjv{pointer-events:none}.provider-status-details-inner.svelte-6y9wjv{flex-direction:column;gap:14px;min-height:0;display:flex;overflow:hidden}.provider-status-reason.svelte-6y9wjv{color:var(--text-muted);font-size:13px}.provider-status-error.svelte-6y9wjv{color:var(--danger);overflow-wrap:break-word;font-size:12px}.provider-status-config-label.svelte-6y9wjv{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-config.svelte-6y9wjv{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.provider-status-config-row.svelte-6y9wjv{flex-direction:column;gap:4px;display:flex}.provider-status-config-value.svelte-6y9wjv{color:var(--text);overflow-wrap:break-word;font-size:13px;display:block}.provider-status-health.svelte-6y9wjv{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-bottom:12px;padding-top:12px;display:flex}.provider-status-health-state.svelte-6y9wjv{border:1px solid var(--border);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.provider-status-health-state.is-healthy.svelte-6y9wjv{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-health-state.is-degraded.svelte-6y9wjv{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-health-state.is-unhealthy.svelte-6y9wjv{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-health-models.svelte-6y9wjv{flex-direction:column;gap:4px;display:flex}.provider-status-health-model.svelte-6y9wjv{color:var(--text);justify-content:space-between;gap:8px;font-size:13px;display:flex}.provider-status-health-model.is-flagged.svelte-6y9wjv{color:var(--danger)}.provider-status-health-model-name.svelte-6y9wjv{overflow-wrap:anywhere}.provider-status-health-model-stats.svelte-6y9wjv{white-space:nowrap;color:var(--text-muted)}.provider-status-health-model.is-flagged.svelte-6y9wjv .provider-status-health-model-stats:where(.svelte-6y9wjv){color:var(--danger);font-weight:700}.provider-status-card.svelte-nopjmh{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:14px;padding:18px;display:flex}.provider-status-card-toggle.svelte-nopjmh{border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;margin:auto -18px -18px;padding:7px 0;transition:background .15s,color .15s;display:flex}.provider-status-card-toggle.svelte-nopjmh:hover{background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--text)}.provider-status-card-toggle.svelte-nopjmh:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 32%, transparent);outline-offset:-2px}.provider-status-card-toggle.svelte-nopjmh .provider-status-card-toggle-icon{width:16px;height:16px;transition:transform .28s;display:block}.provider-status-card-toggle.is-expanded.svelte-nopjmh .provider-status-card-toggle-icon{transform:rotate(180deg)}.provider-status-card-head.svelte-nopjmh{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.provider-status-name.svelte-nopjmh{letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:16px;font-weight:700;display:flex}.provider-doc-help.svelte-nopjmh{align-self:center;text-decoration:none}.provider-status-name-type.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-pill.svelte-nopjmh{border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.provider-status-pill.is-healthy.svelte-nopjmh{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border));background:color-mix(in srgb, var(--success) 10%, transparent)}.provider-status-pill.is-degraded.svelte-nopjmh{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 48%, var(--border));background:color-mix(in srgb, var(--warning) 26%, var(--bg-surface))}.provider-status-pill.is-unhealthy.svelte-nopjmh{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, transparent)}.provider-status-meta.svelte-nopjmh{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.provider-status-meta-item.svelte-nopjmh{background:var(--bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.provider-status-meta-label.svelte-nopjmh{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.provider-status-meta-value.svelte-nopjmh{color:var(--text);font-size:14px}@media (width<=768px){.provider-status-meta.svelte-nopjmh{grid-template-columns:1fr}}.provider-status-section-loading.svelte-1kx3uw4{justify-content:center;padding:24px 0;display:flex}.provider-status-section-header.svelte-1kx3uw4{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.provider-status-toggle.svelte-1kx3uw4{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.provider-status-toggle.svelte-1kx3uw4:hover{background:var(--bg-surface-hover)}.provider-status-toggle.svelte-1kx3uw4:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 28%, transparent);outline-offset:2px}.provider-status-toggle-copy.svelte-1kx3uw4{white-space:nowrap}.provider-status-toggle-track.svelte-1kx3uw4{background:color-mix(in srgb, var(--text-muted) 35%, var(--border));border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background-color .2s;position:relative}.provider-status-toggle-track.is-active.svelte-1kx3uw4{background:color-mix(in srgb, var(--accent) 82%, var(--bg-surface))}.provider-status-toggle-thumb.svelte-1kx3uw4{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000003d}.provider-status-toggle-track.is-active.svelte-1kx3uw4 .provider-status-toggle-thumb:where(.svelte-1kx3uw4){transform:translate(14px)}.provider-status-grid.svelte-1kx3uw4{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}@media (width<=768px){.provider-status-section-header.svelte-1kx3uw4{flex-direction:column;align-items:flex-start}.provider-status-toggle.svelte-1kx3uw4{justify-content:space-between;width:100%}}.filter-input-wrap.svelte-30xz1k{flex:1;width:100%;min-width:min(400px,100%);display:flex;position:relative}.filter-input.svelte-30xz1k{flex:1;width:100%;min-width:0;padding-left:34px}.filter-input-clearable.svelte-30xz1k{padding-right:34px}.filter-input-wrap.svelte-30xz1k .filter-input-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filter-input-spinner.svelte-30xz1k{pointer-events:none;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.filter-input-spinner.with-clear.svelte-30xz1k{right:38px}.filter-input-clear.svelte-30xz1k{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.filter-input-clear.svelte-30xz1k:hover{background:var(--bg-surface-hover);color:var(--text)}.filter-input-clear.svelte-30xz1k svg{width:14px;height:14px}.usage-page-filters.svelte-1oi6ywk{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.usage-page-filters.svelte-1oi6ywk .usage-log-select{flex:0 auto}.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-session{flex:220px;min-width:180px;max-width:360px}@media (width<=768px){.usage-page-filters.svelte-1oi6ywk .usage-log-select,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-user-path,.usage-page-filters.svelte-1oi6ywk .usage-page-filters-session{flex:100%;max-width:none}}.pro-saved-value.svelte-1qiwzdu{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pro-saved-delta.svelte-1qiwzdu{color:var(--success);letter-spacing:0;font-size:13px;font-weight:600}.pagination-info.svelte-1imew3q{color:var(--text-muted);font-size:13px}.pagination-buttons.svelte-1imew3q{gap:8px;display:flex}.session-id-chip.svelte-1pkjhcn{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--bg));max-width:290px;color:var(--accent-strong,var(--accent));vertical-align:middle;border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.session-id-chip.svelte-1pkjhcn:hover,.session-id-chip.active.svelte-1pkjhcn{background:color-mix(in srgb, var(--accent) 20%, var(--bg));border-color:var(--accent)}.session-id-filter.svelte-1pkjhcn,.session-id-copy.svelte-1pkjhcn{color:inherit;cursor:pointer;background:0 0;border:0}.session-id-filter.svelte-1pkjhcn{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:4px 8px;font-size:12px;overflow:hidden}.session-id-copy.svelte-1pkjhcn{border-left:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));justify-content:center;align-items:center;width:28px;padding:0 7px;display:inline-flex}.session-id-copy.svelte-1pkjhcn:hover,.session-id-copy.copied.svelte-1pkjhcn{background:color-mix(in srgb, var(--accent) 18%, transparent)}.session-id-copy.svelte-1pkjhcn svg{width:13px;height:13px}.session-id-chip.compact.svelte-1pkjhcn{max-width:220px}.session-id-chip.compact.svelte-1pkjhcn .session-id-filter:where(.svelte-1pkjhcn){padding:3px 7px;font-size:11px}.session-id-chip.compact.svelte-1pkjhcn .session-id-copy:where(.svelte-1pkjhcn){width:25px;padding:0 6px}.usage-breakdown-loading.svelte-1kee4g8{justify-content:center;align-items:center;min-height:120px;display:flex}.chart-view-toggle.svelte-1kee4g8{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;padding:2px;display:inline-flex}.chart-view-btn.svelte-1kee4g8{width:30px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.chart-view-btn.svelte-1kee4g8:hover{color:var(--text)}.chart-view-btn.active.svelte-1kee4g8{background:var(--accent);color:#fff}.chart-view-btn.svelte-1kee4g8 svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.usage-chart-table-wrapper.svelte-1kee4g8{-webkit-overflow-scrolling:touch;margin-top:0;overflow-x:auto}.usage-chart-data-table.svelte-1kee4g8{min-width:max-content}.usage-chart-data-table.svelte-1kee4g8 th,.usage-chart-data-table.svelte-1kee4g8 td{white-space:nowrap}.usage-log-section.svelte-hg4ill .usage-log-loading{--loading-state-min-height:120px}.usage-log-section.svelte-hg4ill{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.usage-log-section.svelte-hg4ill h3{margin-bottom:16px;font-size:16px;font-weight:600}.usage-log-section.svelte-hg4ill .table-wrapper{overflow-x:auto}.usage-log-toolbar.svelte-hg4ill{gap:12px;margin-bottom:16px;display:grid}.usage-filter-row.svelte-hg4ill{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:12px;display:grid}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1/-1}.usage-filter-row-options.svelte-hg4ill{grid-template-columns:1fr}.usage-log-checkbox.svelte-hg4ill{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.usage-log-checkbox.svelte-hg4ill input{cursor:pointer;width:16px;height:16px}.usage-ts.svelte-hg4ill{white-space:nowrap;font-size:12px}.usage-log-row-cached.svelte-hg4ill td{opacity:.75;font-style:italic}.usage-log-row-cached.svelte-hg4ill .usage-log-cache-cell:where(.svelte-hg4ill){font-weight:700}.caveat-icon.svelte-hg4ill{color:var(--warning);cursor:help;margin-left:4px;font-size:14px}@media (width<=768px){.usage-log-toolbar.svelte-hg4ill{gap:10px}.usage-filter-row.svelte-hg4ill{grid-template-columns:1fr}.usage-filter-row-search.svelte-hg4ill .filter-input-wrap{grid-column:1}.usage-log-table.svelte-hg4ill{display:block;overflow-x:auto}}.usage-sticky-controls.svelte-spwie6{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.usage-charts-grid.svelte-spwie6{flex-wrap:wrap;gap:24px;margin-bottom:24px;display:flex}.usage-charts-grid.svelte-spwie6 .model-chart-section{flex:calc(50% - 24px);min-width:420px;margin-bottom:0}.usage-session-breakdown-wrap.svelte-spwie6{margin-bottom:24px}.usage-session-breakdown-wrap.svelte-spwie6 .session-usage-breakdown{width:100%;margin-bottom:0}@media (width<=520px){.usage-charts-grid.svelte-spwie6 .model-chart-section{min-width:0}}.per-child-summary.svelte-1jm56wo{border:1px solid var(--border);color:var(--text-muted);border-radius:.5rem;padding:.75rem .9rem;line-height:1.45}.budget-bar-text-row-on-fill.svelte-1jm56wo{color:#fff;clip-path:inset(0 calc(100% - var(--budget-progress,0%)) 0 0)}.budget-bar-text-start.svelte-1jm56wo{left:8px;transform:translateY(-50%)}.budget-bar-track-period-custom.svelte-1jm56wo .budget-bar-text-row-on-fill:where(.svelte-1jm56wo){color:#3f332a}.per-child-option.svelte-13ryo7h{cursor:pointer;grid-column:1/-1;align-items:flex-start;gap:.65rem;display:flex}.per-child-option.svelte-13ryo7h input:where(.svelte-13ryo7h){margin-top:.2rem}.per-child-option.svelte-13ryo7h span:where(.svelte-13ryo7h){gap:.2rem;display:grid}.per-child-option.svelte-13ryo7h small:where(.svelte-13ryo7h){color:var(--text-muted);line-height:1.4}.budget-override-dialog.svelte-13ryo7h{max-width:460px}.budget-sort-control.svelte-1752fqe{align-items:center;gap:8px}.budget-sort-control.svelte-1752fqe label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.budget-sort-select.svelte-1752fqe{background-color:var(--bg-surface);min-width:132px}.budget-sort-select.svelte-1752fqe:hover{background-color:var(--bg-surface-hover)}.per-child-option.svelte-1z12ccc{cursor:pointer;grid-column:1/-1;align-items:flex-start;gap:.65rem;display:flex}.per-child-option.svelte-1z12ccc input:where(.svelte-1z12ccc){margin-top:.2rem}.per-child-option.svelte-1z12ccc span:where(.svelte-1z12ccc){gap:.2rem;display:grid}.per-child-option.svelte-1z12ccc small:where(.svelte-1z12ccc){color:var(--text-muted);line-height:1.4}.rate-limit-tabs.svelte-8cz2gt{gap:6px;margin-bottom:16px;display:flex}.rate-limit-tab.svelte-8cz2gt{--scope-hue:var(--accent);min-width:0;font:inherit;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.rate-limit-tab.scope-provider.svelte-8cz2gt{--scope-hue:var(--info)}.rate-limit-tab.scope-model.svelte-8cz2gt{--scope-hue:#68765c}.rate-limit-tab.svelte-8cz2gt:hover{color:var(--text);background:var(--bg-surface-hover)}.rate-limit-tab.svelte-8cz2gt:focus-visible{outline:2px solid color-mix(in srgb, var(--scope-hue) 70%, var(--border));outline-offset:1px}.rate-limit-tab.active.svelte-8cz2gt{color:color-mix(in srgb, var(--scope-hue) 62%, var(--text));background:color-mix(in srgb, var(--scope-hue) 12%, var(--bg-surface));border-color:color-mix(in srgb, var(--scope-hue) 45%, var(--border))}.rate-limit-tab-label.svelte-8cz2gt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rate-limit-tab-count.svelte-8cz2gt{text-align:center;min-width:20px;color:var(--text-muted);background:var(--bg);border-radius:999px;flex:none;padding:1px 7px;font-size:11px;font-weight:600}.rate-limit-tab.active.svelte-8cz2gt .rate-limit-tab-count:where(.svelte-8cz2gt){color:inherit;background:color-mix(in srgb, var(--scope-hue) 18%, var(--bg))}@media (width<=768px){.rate-limit-tab.svelte-8cz2gt{gap:6px;padding:6px 10px;font-size:12px}}.rate-limit-group.svelte-8cz2gt{--scope-hue:var(--accent);margin-bottom:24px;padding-left:16px;position:relative}.rate-limit-group.svelte-8cz2gt:before{content:"";background:var(--scope-hue);border-radius:999px;width:3px;position:absolute;top:2px;bottom:2px;left:0}.rate-limit-group.scope-provider.svelte-8cz2gt{--scope-hue:var(--info)}.rate-limit-group.scope-model.svelte-8cz2gt{--scope-hue:#68765c}.rate-limit-group-header.svelte-8cz2gt{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.rate-limit-group-title.svelte-8cz2gt{letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--scope-hue) 62%, var(--text));font-size:11px;font-weight:700}.rate-limit-group-count.svelte-8cz2gt{color:var(--text-muted);font-size:12px}.rate-limit-group.svelte-8cz2gt .budget-scope-value{border-color:color-mix(in srgb, var(--scope-hue) 40%, var(--border));background:color-mix(in srgb, var(--scope-hue) 12%, var(--bg))}.rate-limit-subgroup.svelte-8cz2gt{margin-bottom:12px}.rate-limit-subgroup-title.svelte-8cz2gt{color:color-mix(in srgb, var(--scope-hue) 45%, var(--text-muted));margin:10px 0 6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;font-weight:600}.rate-limit-group-empty.svelte-8cz2gt{color:var(--text-muted);margin:0;padding:4px 0 8px;font-size:13px}.model-name-cell.svelte-1iynym{flex-direction:column;gap:8px;display:flex}.model-name-primary.svelte-1iynym{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.model-name-secondary.svelte-1iynym{color:var(--text-muted);font-size:12px}.model-redirect-remove-btn.svelte-1iynym{appearance:none;color:var(--danger);cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:11px}.model-redirect-remove-btn.svelte-1iynym:hover:not(:disabled){text-decoration:underline}.model-redirect-remove-btn.svelte-1iynym:disabled{opacity:.45;cursor:default}.model-kind-icon.svelte-1iynym{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--bg);width:24px;height:24px;color:var(--accent);border-radius:999px;flex:0 0 24px;justify-content:center;align-items:center;display:inline-flex}.model-kind-icon-svg.svelte-1iynym{width:14px;height:14px}.model-row-actions.svelte-1iynym{text-align:right;width:170px}@media (width<=768px){.model-name-primary.svelte-1iynym{flex-direction:column;align-items:flex-start}}.provider-group-row.svelte-1911hy6 td{background:color-mix(in srgb, var(--accent) 6%, var(--bg));padding-top:12px;padding-bottom:12px}.provider-group-row.svelte-1911hy6:hover td{background:color-mix(in srgb, var(--accent) 8%, var(--bg))}.provider-group-header.svelte-1911hy6{justify-content:space-between;align-items:center;gap:16px;display:flex}.provider-group-meta.svelte-1911hy6{flex-direction:column;gap:4px;min-width:0;display:flex}.provider-group-title.svelte-1911hy6{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.provider-group-type.svelte-1911hy6,.provider-group-count.svelte-1911hy6,.provider-group-summary.svelte-1911hy6{color:var(--text-muted);font-size:12px}@media (width<=768px){.provider-group-header.svelte-1911hy6{flex-direction:column;align-items:flex-start}}.vm-session-affinity-checkbox.svelte-d1j6xw{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.vm-session-affinity-checkbox.svelte-d1j6xw input:where(.svelte-d1j6xw){accent-color:var(--accent);cursor:pointer}.pricing-override-rows.svelte-u8snes{gap:12px;display:grid}.pricing-override-row.svelte-u8snes{grid-template-columns:minmax(220px,1fr) minmax(130px,180px) 32px;align-items:end;gap:12px;display:grid}.pricing-override-row-actions.svelte-u8snes{justify-content:flex-start;display:flex}.pricing-override-tier-note.svelte-u8snes{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:6px;padding:10px 12px;font-size:13px}.pricing-preview.svelte-u8snes{border:1px solid var(--border);border-radius:6px;overflow:hidden}.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:minmax(150px,1fr) minmax(90px,auto) minmax(130px,.8fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.pricing-preview-header.svelte-u8snes{background:var(--bg);color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:600}.pricing-preview-row.svelte-u8snes{border-top:1px solid var(--border);font-size:13px}.pricing-preview-row-empty.svelte-u8snes{color:var(--text-muted);grid-template-columns:1fr}@media (width<=768px){.pricing-override-row.svelte-u8snes,.pricing-preview-header.svelte-u8snes,.pricing-preview-row.svelte-u8snes{grid-template-columns:1fr}}.failover-drafts-editor.svelte-1n87bip{flex-direction:column;gap:16px;display:flex}.failover-draft-header-actions.svelte-1n87bip{flex:none;align-items:center;gap:10px;display:flex}.failover-draft-counter.svelte-1n87bip{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.failover-draft-toolbar.svelte-1n87bip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.failover-draft-toolbar.svelte-1n87bip .filter-input-wrap,.failover-draft-toolbar.svelte-1n87bip .filter-input{min-width:0}.failover-draft-toggle-all.svelte-1n87bip{flex:none}.failover-draft-list.svelte-1n87bip{flex-direction:column;gap:8px;max-height:min(52vh,430px);padding-right:4px;display:flex;overflow-y:auto}.failover-draft-row.svelte-1n87bip{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.failover-draft-row.svelte-1n87bip:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--bg-surface-hover)}.failover-draft-row.svelte-1n87bip input{width:16px;height:16px;margin-top:2px}.failover-draft-copy.svelte-1n87bip{gap:4px;min-width:0;display:grid}.failover-draft-source.svelte-1n87bip,.failover-draft-targets.svelte-1n87bip{overflow-wrap:anywhere}.failover-draft-targets.svelte-1n87bip{color:var(--text-muted);font-size:12px}.failover-drafts-empty.svelte-1n87bip{align-items:center;min-height:96px;display:flex}.failover-draft-actions.svelte-1n87bip{margin-top:0}.category-tabs.svelte-scpjps{-webkit-overflow-scrolling:touch;align-items:center;gap:4px;margin-bottom:16px;padding-bottom:2px;display:flex;overflow-x:auto}.category-tab.svelte-scpjps{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.category-tab.svelte-scpjps:hover{color:var(--text);background:var(--bg-surface-hover)}.category-tab.active.svelte-scpjps{background:var(--accent);color:#fff;border-color:var(--accent)}.category-tab.svelte-scpjps .tab-count:where(.svelte-scpjps){background:#ffffff26;border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.category-tab.svelte-scpjps:not(.active) .tab-count:where(.svelte-scpjps){background:var(--bg)}@media (width<=768px){.category-tabs.svelte-scpjps{gap:4px}.category-tab.svelte-scpjps{padding:5px 10px;font-size:12px}}.search-select.svelte-1yfc9j2{min-width:0;display:inline-flex;position:relative}.search-select-trigger.svelte-1yfc9j2{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-width:0;min-height:32px;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:8px;padding:5px 8px 5px 10px;font-family:inherit;font-size:12px;transition:border-color .15s,background .15s;display:inline-flex}.search-select-trigger.mono.svelte-1yfc9j2{font-family:SF Mono,Menlo,Consolas,monospace}.search-select-trigger.svelte-1yfc9j2:hover:not(:disabled),.search-select-open.svelte-1yfc9j2 .search-select-trigger:where(.svelte-1yfc9j2){border-color:var(--accent)}.search-select-trigger.svelte-1yfc9j2:disabled{opacity:.6;cursor:not-allowed}.search-select-value.svelte-1yfc9j2{flex:auto;min-width:0}.search-select-clip.svelte-1yfc9j2{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.search-select-clip.svelte-1yfc9j2.marquee-active{text-overflow:clip}.search-select-clip.svelte-1yfc9j2.marquee-active .search-select-text:where(.svelte-1yfc9j2){animation:svelte-1yfc9j2-search-select-marquee var(--marquee-duration,3s) ease-in-out infinite alternate;display:inline-block}@keyframes svelte-1yfc9j2-search-select-marquee{0%,12%{transform:translate(0)}88%,to{transform:translateX(var(--marquee-shift,0))}}@media (prefers-reduced-motion:reduce){.search-select-clip.svelte-1yfc9j2.marquee-active .search-select-text:where(.svelte-1yfc9j2){transform:translateX(var(--marquee-shift,0));transition:transform .6s;animation:none}}.search-select-placeholder.svelte-1yfc9j2{color:var(--text-muted)}.search-select.svelte-1yfc9j2 .search-select-chevron{width:14px;height:14px;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.search-select-open.svelte-1yfc9j2 .search-select-chevron{transform:rotate(180deg)}.search-select-popover.svelte-1yfc9j2{z-index:100;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:max(100%,280px);max-width:min(480px,90vw);display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 24px #00000040}.search-select-search.svelte-1yfc9j2{border-bottom:1px solid var(--border);padding:8px;display:flex;position:relative}.search-select.svelte-1yfc9j2 .search-select-search-icon{width:14px;height:14px;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search-select-search-input.svelte-1yfc9j2{background:var(--bg);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);border-radius:6px;padding:7px 10px 7px 30px;font-family:inherit;font-size:13px}.search-select-search-input.svelte-1yfc9j2:focus{border-color:var(--accent);outline:none}.search-select-list.svelte-1yfc9j2{max-height:280px;margin:0;padding:6px;list-style:none;overflow-y:auto}.search-select-option.svelte-1yfc9j2{color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:7px 10px;font-size:12px;display:flex}.search-select-option.mono.svelte-1yfc9j2{font-family:SF Mono,Menlo,Consolas,monospace}.search-select-option-active.svelte-1yfc9j2{background:var(--bg-surface-hover)}.search-select-option-current.svelte-1yfc9j2{color:var(--accent);font-weight:600}.search-select-option-custom.svelte-1yfc9j2{color:var(--accent);font-style:italic}.search-select-option-label.svelte-1yfc9j2{flex:auto;min-width:0}.search-select-option-description.svelte-1yfc9j2{color:var(--text-muted);white-space:nowrap;flex:0 auto;font-family:inherit;font-size:11px}.search-select.svelte-1yfc9j2 .search-select-check{flex-shrink:0;width:14px;height:14px}.search-select-empty.svelte-1yfc9j2{color:var(--text-muted);text-align:center;padding:12px 10px;font-size:12px}.playground-toolbar.svelte-1t3fm2w{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;margin-bottom:12px;padding:12px 14px;display:flex}.playground-toolbar-row.svelte-1t3fm2w{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.playground-field.svelte-1t3fm2w{align-items:center;gap:8px;display:flex}.playground-field-model.svelte-1t3fm2w{flex:240px;min-width:200px}.playground-field-model.svelte-1t3fm2w .playground-model-select{flex:auto;min-width:0}.playground-field-label.svelte-1t3fm2w{color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.playground-stream-toggle.svelte-1t3fm2w{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.playground-stream-toggle.svelte-1t3fm2w input:where(.svelte-1t3fm2w){accent-color:var(--accent)}.playground-add-buttons.svelte-1t3fm2w{gap:6px;display:inline-flex}.playground-add-btn.svelte-1t3fm2w{padding:5px 12px;font-size:12px;font-weight:600}.playground-add-btn.playground-role-system.svelte-1t3fm2w{color:var(--warning)}.playground-add-btn.playground-role-user.svelte-1t3fm2w{color:var(--info)}.playground-add-btn.playground-role-assistant.svelte-1t3fm2w{color:var(--success)}.playground-endpoint-path.svelte-1t3fm2w{min-width:0;color:var(--text-muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;font-size:12px;overflow:hidden}@media (width<=768px){.playground-endpoint-path.svelte-1t3fm2w{display:none}}.playground-message.svelte-8ie8sw{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--playground-role-color,var(--border));border-radius:var(--radius);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex}.playground-message-system.svelte-8ie8sw{--playground-role-color:var(--warning)}.playground-message-user.svelte-8ie8sw{--playground-role-color:var(--info)}.playground-message-assistant.svelte-8ie8sw{--playground-role-color:var(--success)}.playground-message.svelte-8ie8sw.is-dragging{border-color:var(--accent);opacity:.95;box-shadow:0 10px 24px #0000004d}.playground-message-head.svelte-8ie8sw{align-items:center;gap:10px;display:flex}.playground-drag-handle.svelte-8ie8sw{width:24px;height:24px;color:var(--text-muted);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin-left:-4px;padding:0;display:inline-flex}.playground-drag-handle.svelte-8ie8sw:hover:not(:disabled),.playground-drag-handle.svelte-8ie8sw:focus-visible{background:var(--bg-surface-hover);color:var(--text)}.playground-drag-handle.svelte-8ie8sw:disabled{opacity:.35;cursor:default}.playground-message.svelte-8ie8sw.is-dragging .playground-drag-handle:where(.svelte-8ie8sw){cursor:grabbing}.playground-role-select.svelte-8ie8sw{background:var(--bg);border:1px solid var(--border);color:var(--playground-role-color,var(--text));cursor:pointer;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:600}.playground-role-select.svelte-8ie8sw:disabled{cursor:default;opacity:.7}.playground-message-pending.svelte-8ie8sw{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:inline-flex}.playground-message-head.svelte-8ie8sw .playground-remove-btn{margin-left:auto}.playground-message-body.svelte-8ie8sw{background:var(--bg);field-sizing:content;min-height:44px;max-height:40vh;padding:8px 10px;font-size:13px;line-height:1.5}.playground-message-body[readonly].svelte-8ie8sw{opacity:1;cursor:text}.playground-composer.svelte-f0lwn1{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px;display:flex}.playground-composer-input.svelte-f0lwn1{background:var(--bg);field-sizing:content;min-height:56px;max-height:30vh;font-size:13px;line-height:1.5}.playground-composer-actions.svelte-f0lwn1{justify-content:space-between;align-items:center;gap:12px;display:flex}.playground-composer-hint.svelte-f0lwn1{color:var(--text-muted);font-size:12px}@media (width<=768px){.playground-composer-hint.svelte-f0lwn1{display:none}}.playground-json-panel.svelte-o8bylf{flex:0 0 var(--playground-json-panel-width,420px);width:var(--playground-json-panel-width,420px);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.playground-json-resize-handle.svelte-o8bylf{cursor:col-resize;touch-action:none;z-index:1;width:8px;position:absolute;top:0;bottom:0;left:0}.playground-json-resize-handle.svelte-o8bylf:hover,.playground-json-resize-handle.svelte-o8bylf:focus-visible{background:color-mix(in srgb, var(--accent) 35%, transparent);outline:none}.playground-json-header.svelte-o8bylf{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.playground-json-header.svelte-o8bylf h3:where(.svelte-o8bylf){font-size:14px;font-weight:700}.playground-json-actions.svelte-o8bylf{align-items:center;gap:6px;margin-left:auto;display:flex}.playground-json-actions.svelte-o8bylf .copy-feedback-btn{padding:5px 10px;font-size:12px}.playground-json-body.svelte-o8bylf{flex:1 1 0;min-height:0;padding:12px 14px;overflow:auto}.playground-json-meta.svelte-o8bylf{color:var(--text-muted);margin-bottom:10px;font-size:11px}.playground-json-placeholder.svelte-o8bylf{color:var(--text-muted);font-size:13px}.playground-json-code.svelte-o8bylf{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.55}@media (width<=768px){.playground-json-panel.svelte-o8bylf{width:min(100vw, var(--playground-json-panel-width,420px));z-index:30;border-radius:0;position:fixed;inset:0 0 0 auto}}.playground.svelte-l6u7qi{align-items:stretch;gap:16px;height:100%;min-height:480px;display:flex}.playground-main.svelte-l6u7qi{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex}.playground-header.svelte-l6u7qi{margin-bottom:16px}.playground-error.svelte-l6u7qi{margin-bottom:12px}.playground-history.svelte-l6u7qi{scroll-behavior:smooth;flex-direction:column;flex:1 1 0;gap:10px;min-height:0;padding:4px 2px 12px;display:flex;overflow-y:auto}.playground-history.svelte-l6u7qi.is-sorting{-webkit-user-select:none;user-select:none;overflow-y:hidden}.playground-history.svelte-l6u7qi .empty-state:where(.svelte-l6u7qi){max-width:420px;margin:auto}@media (width<=768px){.playground.svelte-l6u7qi{min-height:0}}.workflow-pipeline-meta.svelte-1viff7o{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 86%, transparent);min-width:0;max-width:calc(100% - 28px);color:var(--text-muted);white-space:nowrap;appearance:none;cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:0;padding:2px 10px;font-size:12px;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:absolute;top:12px;right:14px;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover,.workflow-pipeline-meta.svelte-1viff7o:focus-visible{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface));color:color-mix(in srgb, var(--accent) 74%, var(--text))}.workflow-pipeline-meta.svelte-1viff7o:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.workflow-pipeline-meta-label.svelte-1viff7o{flex:none;font-weight:700}.workflow-pipeline-meta-placeholder.svelte-1viff7o{opacity:1;flex:none;max-width:3ch;margin-left:4px;transition:max-width .18s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta-value.svelte-1viff7o{opacity:0;text-overflow:clip;flex:0 auto;max-width:0;margin-left:0;transition:max-width .22s,margin-left .18s,opacity .15s;overflow:hidden}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-placeholder:where(.svelte-1viff7o){opacity:0;max-width:0;margin-left:0}.workflow-pipeline-meta.svelte-1viff7o:hover .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta.svelte-1viff7o:focus-visible .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o),.workflow-pipeline-meta-error.svelte-1viff7o .workflow-pipeline-meta-value:where(.svelte-1viff7o){opacity:1;max-width:42ch;margin-left:4px}.workflow-pipeline-meta-icon.svelte-1viff7o{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:14px;margin-left:0;line-height:0;transition:width .18s,margin-left .18s,opacity .15s,transform .18s;display:inline-flex;overflow:hidden;transform:translate(4px)translateY(1px)scale(.84)}.workflow-pipeline-meta-icon.svelte-1viff7o svg{width:14px;height:14px}.workflow-pipeline-meta-copied.svelte-1viff7o,.workflow-pipeline-meta-copied.svelte-1viff7o:hover,.workflow-pipeline-meta-copied.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--success) 12%, var(--bg));border-color:color-mix(in srgb, var(--success) 40%, var(--border));color:var(--success)}.workflow-pipeline-meta-copied.svelte-1viff7o .workflow-pipeline-meta-icon:where(.svelte-1viff7o){opacity:1;width:14px;margin-left:6px;transform:translateY(1px)}.workflow-pipeline-meta-error.svelte-1viff7o,.workflow-pipeline-meta-error.svelte-1viff7o:hover,.workflow-pipeline-meta-error.svelte-1viff7o:focus-visible{background:color-mix(in srgb, var(--danger) 10%, var(--bg));border-color:color-mix(in srgb, var(--danger) 34%, var(--border));color:var(--danger)}.workflow-pipeline.svelte-nbptrg{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);flex-direction:column;gap:0;margin-bottom:12px;padding:18px 20px 4px;display:flex;position:relative}.workflow-pipeline-row.svelte-nbptrg{align-items:center;width:100%;min-width:0;display:flex;overflow:auto hidden}.workflow-pipeline.svelte-nbptrg>.workflow-pipeline-row:where(.svelte-nbptrg){padding-bottom:16px}.workflow-node-icon.svelte-nbptrg{border-radius:var(--radius);background:var(--bg);width:28px;height:28px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.workflow-node-icon.svelte-nbptrg svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.workflow-node-label.svelte-nbptrg{letter-spacing:.03em;color:var(--text);white-space:nowrap;font-size:11px;font-weight:700;line-height:1.2}.workflow-node-sub.svelte-nbptrg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:10px;font-weight:500;line-height:1.2;font-family:var(--font-mono,ui-monospace, monospace);overflow:hidden}.workflow-node-badge.svelte-nbptrg{border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);align-items:center;padding:2px 7px;font-size:9px;font-weight:800;line-height:1.5;display:inline-flex}.workflow-node-endpoint.svelte-nbptrg{border-radius:var(--radius);border-color:var(--border);background:var(--bg-surface);flex-direction:row;gap:7px;min-width:auto;padding:10px 14px}.workflow-node-icon-endpoint.svelte-nbptrg{border-radius:var(--radius);width:auto;height:auto;color:var(--text-muted);background:0 0;justify-content:flex-start;padding:0}.workflow-node-icon-endpoint.svelte-nbptrg svg{width:14px;height:14px}.workflow-node-endpoint.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted);font-size:11px;font-weight:600}.workflow-node-feature.svelte-nbptrg{border-color:color-mix(in srgb, var(--accent) 46%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--bg-surface))}.workflow-node-feature.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--accent) 16%, var(--bg));color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--accent)}.workflow-node-feature.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--accent) 70%, var(--text-muted))}.workflow-node-ai.svelte-nbptrg{border-radius:var(--radius);gap:6px;min-width:96px;padding:12px 16px}.workflow-async-section.svelte-nbptrg>:where(.svelte-nbptrg):first-child{margin-left:auto}.workflow-async-turn.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 60px;height:2px;margin-left:7px;position:relative}.workflow-async-turn.svelte-nbptrg:before{content:"";background:color-mix(in srgb, var(--text-muted) 40%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);width:7px;height:9px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.workflow-async-turn.svelte-nbptrg:after{content:"";border-right:2px dashed color-mix(in srgb, var(--text-muted) 40%, var(--border));height:16px;position:absolute;bottom:1px;right:0}.workflow-conn-async.svelte-nbptrg{background:repeating-linear-gradient(to left, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 0, color-mix(in srgb, var(--text-muted) 45%, var(--border)) 5px, transparent 5px, transparent 9px);flex:0 0 24px;width:24px}.workflow-conn-async.svelte-nbptrg:after{background:color-mix(in srgb, var(--text-muted) 45%, var(--border));clip-path:polygon(100% 0,0 50%,100% 100%);left:-1px;right:auto}.workflow-node-async.svelte-nbptrg{border-radius:var(--radius);border-style:dashed;flex-direction:row;gap:7px;min-width:auto;padding:7px 12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){border-radius:var(--radius);width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg) svg{width:12px;height:12px}.workflow-node-async.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){font-size:10px;font-weight:700}.workflow-async-label.svelte-nbptrg{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.55;white-space:nowrap;flex-shrink:0;align-items:center;margin-left:8px;font-size:9px;font-weight:800;display:inline-flex}.workflow-node-success.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 18%, var(--bg));color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--success)}.workflow-node-success.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 85%, var(--text))}.workflow-node-success.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--success) 74%, var(--text-muted))}.workflow-node-success.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--success) 14%, var(--bg));border-color:color-mix(in srgb, var(--success) 38%, var(--border));color:var(--success)}.workflow-node-current.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 16%, var(--bg));color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--info)}.workflow-node-current.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 85%, var(--text))}.workflow-node-current.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--info) 72%, var(--text-muted))}.workflow-node-current.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--info) 13%, var(--bg));border-color:color-mix(in srgb, var(--info) 36%, var(--border));color:var(--info)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--warning)}.workflow-node-warning.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 85%, var(--text))}.workflow-node-warning.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--warning) 72%, var(--text-muted))}.workflow-node-warning.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}.workflow-node-error.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--danger) 14%, var(--bg));color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg){color:var(--danger)}.workflow-node-error.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 85%, var(--text))}.workflow-node-error.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--danger) 72%, var(--text-muted))}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 12%, var(--bg));color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-icon-endpoint:where(.svelte-nbptrg),.workflow-node-neutral.svelte-nbptrg .workflow-node-label:where(.svelte-nbptrg){color:var(--text-muted)}.workflow-node-neutral.svelte-nbptrg .workflow-node-sub:where(.svelte-nbptrg){color:color-mix(in srgb, var(--text-muted) 84%, var(--border))}.workflow-node-neutral.svelte-nbptrg .workflow-node-badge:where(.svelte-nbptrg){background:color-mix(in srgb, var(--text-muted) 10%, var(--bg));border-color:color-mix(in srgb, var(--text-muted) 28%, var(--border));color:var(--text-muted)}.workflow-conn-hit.svelte-nbptrg,.workflow-conn-hit.svelte-nbptrg:after{background:color-mix(in srgb, var(--success) 58%, var(--border))}.workflow-conn-dim.svelte-nbptrg,.workflow-conn-dim.svelte-nbptrg:after{background:color-mix(in srgb, var(--border) 75%, transparent)}.workflow-node-success.svelte-nbptrg{border-color:color-mix(in srgb, var(--success) 52%, var(--border));background:color-mix(in srgb, var(--success) 9%, var(--bg-surface))}.workflow-node-current.svelte-nbptrg{border-color:color-mix(in srgb, var(--info) 56%, var(--border));background:color-mix(in srgb, var(--info) 10%, var(--bg-surface))}.workflow-node-warning.svelte-nbptrg{border-color:color-mix(in srgb, var(--warning) 52%, var(--border));background:color-mix(in srgb, var(--warning) 9%, var(--bg-surface))}.workflow-node-error.svelte-nbptrg{border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 9%, var(--bg-surface))}.workflow-node-neutral.svelte-nbptrg{border-color:color-mix(in srgb, var(--text-muted) 40%, var(--border));background:color-mix(in srgb, var(--text-muted) 8%, var(--bg-surface))}.workflow-node-skipped.svelte-nbptrg{opacity:.28;position:relative}.workflow-card.svelte-1fo9fvq{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.workflow-card-head.svelte-1fo9fvq{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workflow-card-footer.svelte-1fo9fvq{flex-direction:column;align-items:stretch;gap:10px;display:flex}.workflow-card-head.svelte-1fo9fvq h3{font-size:18px;font-weight:700}.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workflow-card-meta-footer.svelte-1fo9fvq{justify-content:flex-start}.workflow-card-footer.svelte-1fo9fvq .alias-actions-cell{align-self:flex-end}.workflow-card-description.svelte-1fo9fvq{color:var(--text-muted);font-size:14px}.workflow-guardrails.svelte-1fo9fvq{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list.svelte-1fo9fvq{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-item.svelte-1fo9fvq{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}@media (width<=768px){.workflow-card-head.svelte-1fo9fvq,.workflow-card-footer.svelte-1fo9fvq,.workflow-card-badges.svelte-1fo9fvq,.workflow-card-meta.svelte-1fo9fvq,.workflow-guardrail-item.svelte-1fo9fvq{flex-direction:column;align-items:flex-start}}.model-editor.workflow-editor{width:min(1080px,100%);margin-bottom:0}.alert-inline-actions.svelte-1bcpzh1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.workflow-guardrail-editor.svelte-1bcpzh1{flex-direction:column;gap:12px;display:flex}.workflow-guardrail-list-editor.svelte-1bcpzh1{flex-direction:column;gap:10px;display:flex}.workflow-guardrail-row.svelte-1bcpzh1{border:1px solid var(--border);background:var(--bg);border-radius:10px;justify-content:stretch;align-items:center;gap:12px;padding:10px 12px;display:flex}.workflow-guardrail-field.svelte-1bcpzh1{flex:auto;min-width:0}.workflow-guardrail-step-field.svelte-1bcpzh1{flex:0 0 120px}.workflow-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-step-input.svelte-1bcpzh1{max-width:120px}@media (width<=768px){.workflow-guardrail-row.svelte-1bcpzh1{flex-direction:column;align-items:flex-start}.workflow-step-input.svelte-1bcpzh1{width:100%;max-width:none}.workflow-guardrail-field.svelte-1bcpzh1,.workflow-guardrail-step-field.svelte-1bcpzh1{flex-basis:auto;width:100%}}.workflows-list.svelte-ie2kfk{min-width:0}.workflow-card-grid.svelte-ie2kfk{grid-template-columns:1fr;gap:16px;display:grid}.workflow-page-note.svelte-l8kr26{color:var(--text-muted);margin-top:6px;font-size:14px}.audit-log-toolbar.svelte-1pwbpcm{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.audit-filter-select.svelte-1pwbpcm{grid-column:span 2;min-width:0}.audit-filter-row-search.svelte-1pwbpcm .filter-input-wrap{grid-column:span 4;max-width:none}.audit-filter-field.svelte-1pwbpcm,.audit-filter-row-controls.svelte-1pwbpcm .audit-filter-select:where(.svelte-1pwbpcm){grid-column:span 2}.audit-filter-row-controls.svelte-1pwbpcm .btn{grid-column:11/-1;justify-self:end;min-width:108px}.audit-clear-btn.svelte-1pwbpcm{justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex}.audit-clear-btn.svelte-1pwbpcm .table-icon-svg{width:12px;height:12px}@media (width<=768px){.audit-log-toolbar.svelte-1pwbpcm{gap:8px}.audit-filter-row.svelte-1pwbpcm{grid-template-columns:1fr}.audit-filter-row.svelte-1pwbpcm .filter-input-wrap,.audit-filter-row.svelte-1pwbpcm .filter-input,.audit-filter-select.svelte-1pwbpcm,.audit-filter-row.svelte-1pwbpcm .btn{grid-column:auto}}.audit-live-status.svelte-tve6yv{color:var(--text-muted);align-items:center;gap:10px;margin-left:16px;padding-left:6px;font-size:12px;display:inline-flex}.audit-live-status.svelte-tve6yv .live-dot.is-streaming:where(.svelte-tve6yv){animation:1.8s ease-out infinite svelte-tve6yv-audit-live-dot-throb}@keyframes svelte-tve6yv-audit-live-dot-throb{0%{transform:scale(1)}35%{transform:scale(1.35)}70%{transform:scale(1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.audit-live-status.svelte-tve6yv .live-dot.is-streaming:where(.svelte-tve6yv){animation:none}}.audit-live-status-text.is-live.svelte-tve6yv{color:var(--success);font-weight:600}.audit-entry-metadata.svelte-hyopt0{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.audit-entry-metadata-label.svelte-hyopt0{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.audit-entry-context.svelte-hyopt0{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.audit-alias-badge.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--accent-strong,var(--accent))}.audit-session-usage-link.svelte-hyopt0{background:color-mix(in srgb, var(--accent) 12%, var(--bg));border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent-strong,var(--accent));cursor:pointer}.audit-session-usage-link.svelte-hyopt0:hover{background:color-mix(in srgb, var(--accent) 22%, var(--bg));border-color:var(--accent)}@media (width<=768px){.audit-entry-metadata.svelte-hyopt0{flex-direction:column;align-items:flex-start;gap:8px}}.audit-attempt-track.svelte-1eu22xn{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.audit-attempt-track-pips.svelte-1eu22xn{align-items:center;gap:3px;display:inline-flex}.audit-attempt-pip.svelte-1eu22xn{background:var(--text-muted);border-radius:2px;width:8px;height:8px}.audit-attempt-pip.audit-attempt-success.svelte-1eu22xn{background:var(--success)}.audit-attempt-pip.audit-attempt-error.svelte-1eu22xn{background:var(--danger)}.audit-attempt-track-count.svelte-1eu22xn{color:var(--text-muted);font-size:11px}.audit-entry-summary.svelte-17mysgz{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;list-style:none;display:flex;position:relative}.audit-entry-summary.svelte-17mysgz::-webkit-details-marker{display:none}.audit-entry-summary-live-in-progress.svelte-17mysgz{background:color-mix(in srgb, var(--info) 7%, var(--bg))}.audit-entry-summary-has-interactions.svelte-17mysgz{padding-right:44px}.audit-entry-summary-live-in-progress.svelte-17mysgz:before{content:"";background:var(--info);pointer-events:none;width:3px;animation:1.2s ease-in-out infinite audit-live-summary-stripe-blink;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:reduce){.audit-entry-summary-live-in-progress.svelte-17mysgz:before{opacity:.78;animation:none}}.audit-entry-left.svelte-17mysgz{align-items:center;gap:8px;min-width:0;display:flex}.audit-entry-right.svelte-17mysgz{color:var(--text-muted);flex-shrink:0;align-items:center;gap:10px;min-height:28px;display:inline-flex}.audit-thread-expander.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);min-width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:3px;padding:0 7px 0 4px;transition:background .1s ease-out,color .1s ease-out;display:inline-flex}.audit-thread-expander.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 12%, var(--bg));color:var(--accent)}.audit-thread-expander.svelte-17mysgz .audit-thread-expander-svg{width:14px;height:14px}.audit-thread-count.svelte-17mysgz{font-size:11px;font-weight:600}.audit-session-usage.svelte-17mysgz{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--bg));width:28px;height:28px;color:var(--accent-strong,var(--accent));cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.audit-session-usage.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg));border-color:var(--accent)}.audit-session-usage.svelte-17mysgz .audit-session-usage-svg{width:14px;height:14px}.audit-conversation-trigger.svelte-17mysgz{border:0;border-left:1px solid var(--border);background:color-mix(in srgb, var(--accent) 12%, var(--bg));width:32px;height:100%;color:var(--accent);cursor:pointer;border-radius:0;justify-content:center;align-items:center;margin:0;transition:background .1s ease-out,color .1s ease-out;display:inline-flex;position:absolute;inset:0 0 0 auto}.audit-conversation-trigger.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 20%, var(--bg))}.audit-conversation-trigger-active.svelte-17mysgz{color:var(--accent-strong,var(--accent));background:color-mix(in srgb, var(--accent) 28%, var(--bg));border-left:0}.audit-conversation-trigger-active.svelte-17mysgz:hover{background:color-mix(in srgb, var(--accent) 34%, var(--bg))}.audit-conversation-trigger.svelte-17mysgz .audit-conversation-trigger-svg{stroke-linecap:butt;stroke-linejoin:miter;width:18px;height:18px}.audit-path.svelte-17mysgz{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.audit-request-badge.svelte-17mysgz{white-space:nowrap;gap:6px;min-width:0}.audit-timestamp-time.svelte-17mysgz{display:none}.audit-provider-model.svelte-17mysgz{border:1px solid var(--border);background:var(--bg-surface);height:24px;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;max-width:420px;padding:0 10px;font-size:12px;display:inline-flex;overflow:hidden}@container dashboard-content (width<=699px){.audit-entry-summary.svelte-17mysgz{flex-direction:column;align-items:flex-start}.audit-entry-right.svelte-17mysgz{justify-content:space-between;width:100%}.audit-request-status.svelte-17mysgz,.audit-timestamp-full.svelte-17mysgz{display:none}.audit-timestamp-time.svelte-17mysgz{display:inline}}.audit-pane-split.svelte-1h5puht{grid-template-columns:1fr 2fr;align-items:start;gap:10px 14px;display:grid}.audit-pane-split-single.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}@container dashboard-content (width<=699px){.audit-pane-split.svelte-1h5puht{grid-template-columns:minmax(0,1fr)}}.audit-pane-split.svelte-1h5puht .audit-pane-block-error:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-pane-empty:where(.svelte-1h5puht),.audit-pane-split.svelte-1h5puht .audit-size-warning:where(.svelte-1h5puht){grid-column:1/-1}.audit-pane-block.svelte-1h5puht{min-width:0}.audit-pane-block.svelte-1h5puht>h5{margin-bottom:6px}.audit-pane-block-head.svelte-1h5puht{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.audit-pane-block-title.svelte-1h5puht{align-items:center;gap:8px;min-width:0;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn{background-color:var(--bg-surface);border:1px solid color-mix(in srgb, var(--border) 70%, var(--text) 30%);color:var(--text);cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn:hover:not(:disabled){background:color-mix(in srgb, var(--bg-surface) 80%, var(--text) 20%);border-color:color-mix(in srgb, var(--border) 45%, var(--text) 55%)}.audit-pane-block-head.svelte-1h5puht .audit-copy-btn.copy-feedback-btn-copied{background:color-mix(in srgb, var(--success) 18%, var(--bg-surface))}.audit-json.svelte-1h5puht{background:var(--bg-surface);border:1px solid var(--border);box-sizing:border-box;white-space:pre;max-width:100%;max-height:220px;color:var(--text);border-radius:6px;padding:10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}.audit-pane-error-message.svelte-1h5puht{color:var(--danger)}.audit-pane-clickable-preview.svelte-1h5puht{cursor:pointer}.audit-pane-clickable-preview.svelte-1h5puht:hover{background:color-mix(in srgb, var(--danger) 8%, transparent)}.audit-json-body.svelte-1h5puht{white-space:pre;overflow-wrap:normal}.audit-pane-empty.svelte-1h5puht{text-align:left;padding:8px 0 0}.audit-pane-pending.svelte-1h5puht{align-items:center;gap:8px;display:flex}.audit-pane-streaming.svelte-1h5puht{letter-spacing:.02em;color:var(--text-muted);align-items:center;gap:7px;padding-left:4px;font-size:11px;font-weight:600;display:inline-flex}.audit-size-warning.svelte-1h5puht{color:var(--warning);margin-top:8px;font-size:12px}.audit-request-response.svelte-1bc5vi5{margin-top:4px}.audit-pane-tablist.svelte-1bc5vi5{border-bottom:1px solid var(--border);gap:2px;display:flex;overflow:auto hidden}.audit-pane-tab.svelte-1bc5vi5{white-space:nowrap;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-bottom-color:#0000;border-radius:6px 6px 0 0;flex:none;align-items:center;gap:8px;margin-bottom:-1px;margin-right:12px;padding:8px 12px;font-family:inherit;font-size:13px;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.audit-pane-tab.svelte-1bc5vi5:not(.audit-pane-tab-active):hover{color:var(--text);background:color-mix(in srgb, var(--text) 5%, transparent)}.audit-pane-tab-active.svelte-1bc5vi5{color:var(--text);border-color:var(--border);border-bottom-color:var(--bg);background:var(--bg)}.audit-pane-tab-label.svelte-1bc5vi5{font-weight:600}.audit-pane-tabpanel.svelte-1bc5vi5{min-width:0}.audit-pane-icon.svelte-1bc5vi5{color:var(--text-muted);flex:none;align-items:center;display:inline-flex}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-request{color:var(--accent)}.audit-pane-icon.svelte-1bc5vi5.audit-pane-icon-response{color:var(--info)}.audit-pane-icon.svelte-1bc5vi5 svg{width:16px;height:16px}.audit-pane-seq.svelte-1bc5vi5{color:var(--text-muted);font-size:12px}.audit-pane-kind.svelte-1bc5vi5{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-primary{color:var(--text-muted)}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-failover{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg));border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.audit-pane-kind.svelte-1bc5vi5.audit-pane-kind-retry{color:var(--warning);background:color-mix(in srgb, var(--warning) 14%, var(--bg));border-color:color-mix(in srgb, var(--warning) 30%, var(--border))}.audit-savings-pill.svelte-1bc5vi5{border:1px solid color-mix(in srgb, var(--prompt-cache-color) 45%, var(--border));background:var(--prompt-cache-color-bg);color:var(--prompt-cache-color);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.audit-step-pill.svelte-1bc5vi5{border:1px dashed var(--border);color:var(--text-muted);letter-spacing:.02em;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.audit-entry.svelte-cmjgwr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);transition:background .12s ease-out,border-color .12s ease-out;overflow:hidden}.audit-entry-interactions-open.svelte-cmjgwr{border-width:2px;border-color:color-mix(in srgb, var(--prompt-cache-color) 38%, var(--border))}.audit-entry-details.svelte-cmjgwr{border-top:1px solid var(--border);background:var(--bg-surface);padding:12px;overflow:hidden}.audit-thread.svelte-pneivi{flex-direction:column;gap:10px;display:flex}.audit-thread-children.svelte-pneivi{flex-direction:column;gap:10px;margin-left:26px;display:flex}.audit-thread-child.svelte-pneivi,.audit-thread-loading.svelte-pneivi{position:relative}.audit-thread-child.svelte-pneivi:before,.audit-thread-loading.svelte-pneivi:before{content:"";border-left:1px solid var(--border);border-bottom:1px solid var(--border);pointer-events:none;border-bottom-left-radius:6px;width:12px;height:calc(50% + 10px);position:absolute;top:-10px;left:-14px}.audit-thread-child.svelte-pneivi:not(:last-child):after{content:"";border-left:1px solid var(--border);pointer-events:none;position:absolute;top:50%;bottom:-10px;left:-14px}.audit-thread-loading.svelte-pneivi{padding:6px 0 6px 4px;display:flex}.audit-thread-more.svelte-pneivi{color:var(--text-muted);padding-left:4px;font-size:12px}.audit-list-toolbar.svelte-1nhcbov{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.audit-list-toolbar-left.svelte-1nhcbov{flex-wrap:wrap;align-items:center;gap:16px;display:inline-flex}.audit-group-checkbox.svelte-1nhcbov{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13px;display:inline-flex}.audit-group-checkbox.svelte-1nhcbov input:where(.svelte-1nhcbov){accent-color:var(--accent);cursor:pointer}.audit-retention-note.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-retention-highlight.svelte-1nhcbov{color:var(--text);font-weight:600}.audit-log-section.svelte-1nhcbov{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.audit-log-summary.svelte-1nhcbov{color:var(--text-muted);font-size:13px}.audit-log-list.svelte-1nhcbov{flex-direction:column;gap:10px;display:flex}.settings-guardrails-list.svelte-1bvx512{min-width:0}.settings-guardrail-type-pill.svelte-1bvx512{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.settings-guardrail-summary.svelte-1bvx512{color:var(--text);font-size:14px;line-height:1.45}.settings-guardrail-description.svelte-1bvx512{color:var(--text-muted);margin-top:6px;font-size:12px}.model-editor.guardrails-editor-wide{width:min(1080px,100%)}.form-field-fieldset.svelte-s964s3{border:0;min-inline-size:0;margin:0;padding:0}.form-field-legend.svelte-s964s3{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:0;font-size:12px;font-weight:600}.model-editor.settings-guardrails-editor{min-width:0}.settings-guardrails-hero.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));border-radius:var(--radius);background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent-hover) 18%, transparent), transparent 42%), radial-gradient(circle at bottom left, color-mix(in srgb, var(--accent) 16%, transparent), transparent 40%), var(--bg-surface);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:24px;display:flex}.settings-kicker.svelte-5x874c{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:700}.settings-guardrails-hero.svelte-5x874c h3{margin-bottom:8px}.settings-guardrails-hero.svelte-5x874c p:last-child{color:var(--text-muted);margin-bottom:0}.settings-guardrails-meta.svelte-5x874c{gap:12px;display:flex}.settings-guardrails-stat.svelte-5x874c{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:color-mix(in srgb, var(--bg-surface-hover) 76%, transparent);border-radius:16px;min-width:110px;padding:14px 16px}.settings-guardrails-stat-label.svelte-5x874c{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.settings-guardrails-stat.svelte-5x874c strong{font-size:24px;font-weight:700}@media (width<=768px){.settings-guardrails-hero.svelte-5x874c{flex-direction:column}.settings-guardrails-meta.svelte-5x874c{width:100%}.settings-guardrails-stat.svelte-5x874c{flex:1 1 0}}.mcp-catalog-section.svelte-1xqrzco{margin-top:18px}.mcp-catalog-section.svelte-1xqrzco .form-field-label{margin-bottom:8px}.mcp-catalog-subtitle.svelte-1xqrzco{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mcp-catalog-list.svelte-1xqrzco{flex-direction:column;gap:12px;margin:0 0 8px;padding:0;list-style:none;display:flex}.mcp-catalog-item-name.svelte-1xqrzco{overflow-wrap:anywhere;font-size:13px}.mcp-catalog-item-aggregated.svelte-1xqrzco{color:var(--text-muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.mcp-catalog-item-description.svelte-1xqrzco{color:var(--text-muted);margin:2px 0 0;font-size:13px;font-weight:400}.mcp-server-sub-counts.svelte-ah8nrt{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:4px;font-size:11px;overflow:hidden}.mcp-server-table-wrapper.svelte-ah8nrt{overflow-x:auto}.mcp-server-table-wrapper.svelte-ah8nrt .data-table{min-width:860px}.auth-key-form-fields.svelte-1gswxes>.form-field{margin-bottom:4px}.auth-key-dashboard-toggle.svelte-1gswxes{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-key-issued-banner.svelte-1gswxes{background:color-mix(in srgb, var(--success) 8%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--success) 30%, var(--border));border-radius:var(--radius);margin-bottom:20px;padding:16px}.auth-key-issued-warning.svelte-1gswxes{color:color-mix(in srgb, var(--success) 80%, var(--text));margin-bottom:12px;font-size:13px;font-weight:600}.auth-key-issued-value-row.svelte-1gswxes{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.auth-key-issued-token.svelte-1gswxes{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;flex:1;min-width:0;padding:8px 12px;font-size:13px;overflow-x:auto}.usage-label-chip-static.svelte-nf0ldb,.usage-label-chip-static.svelte-nf0ldb:hover{cursor:default;background:color-mix(in srgb, var(--label-color,var(--accent)) 14%, var(--bg))}.auth-key-redacted.svelte-nf0ldb{color:var(--text-muted);font-size:13px}.auth-key-actions-cell.svelte-nf0ldb{white-space:nowrap}.auth-key-row-deactivated.svelte-nf0ldb td:where(.svelte-nf0ldb):not(.auth-key-actions-cell){opacity:.55}.auth-key-expiry.svelte-nf0ldb{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.auth-key-th-help.svelte-nf0ldb{cursor:help;align-items:center;gap:4px;display:inline-flex}.auth-key-row-actions.svelte-nf0ldb{align-items:center;gap:6px;display:inline-flex}.auth-keys-help-notice.svelte-1xpdcqx{margin-bottom:20px}.auth-keys-inactive-toggle.svelte-1xpdcqx{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.auth-keys-inactive-toggle.svelte-1xpdcqx input:where(.svelte-1xpdcqx){width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.locale-settings.svelte-hr6ahz{grid-template-columns:minmax(280px,420px)}.locale-selector-label.svelte-hr6ahz{color:var(--text);font-size:18px;font-weight:600}.settings-panel-header.svelte-15kyv2y{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.settings-panel-header.svelte-15kyv2y h3{font-size:18px}.settings-form-grid.svelte-15kyv2y{grid-template-columns:minmax(280px,420px);gap:16px;display:grid}@media (width<=768px){.settings-form-grid.svelte-15kyv2y{grid-template-columns:1fr}}.budget-settings-section.svelte-a747ys{width:100%}.budget-settings-grid.svelte-a747ys{gap:12px;display:grid}.budget-settings-row.svelte-a747ys{grid-template-columns:96px minmax(170px,1fr) minmax(110px,140px) minmax(110px,140px) minmax(220px,280px);align-items:start;gap:12px;display:grid}.budget-settings-period.svelte-a747ys{color:var(--text);letter-spacing:0;text-transform:uppercase;align-self:end;min-height:35px;padding-bottom:9px;font-size:12px;font-weight:700}.budget-settings-spacer.svelte-a747ys{min-height:1px}.budget-settings-help-cell.svelte-a747ys{align-self:start;min-width:0;min-height:35px}.budget-settings-help-cell.svelte-a747ys .inline-help-copy{max-width:280px;margin:22px 0 0;font-size:12px;line-height:1.35}@media (width<=768px){.budget-settings-grid.svelte-a747ys,.budget-settings-row.svelte-a747ys{grid-template-columns:1fr}.budget-settings-spacer.svelte-a747ys{display:none}}.tagging-settings-grid.svelte-18e8yem{gap:12px;display:grid}.tagging-settings-row.svelte-18e8yem{grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) minmax(80px,110px) auto minmax(90px,auto);align-items:end;gap:12px;display:grid}.tagging-do-not-pass.svelte-18e8yem{color:var(--text);white-space:nowrap;align-items:center;gap:6px;min-height:35px;font-size:13px;display:flex}.tagging-row-trailer.svelte-18e8yem{align-items:center;gap:8px;min-height:35px;display:flex}.tagging-settings-empty.svelte-18e8yem{color:var(--text-muted);margin:0}.tagging-settings-actions.svelte-18e8yem{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.tagging-settings-row.svelte-18e8yem{grid-template-columns:1fr;align-items:stretch}.tagging-settings-actions.svelte-18e8yem,.tagging-settings-actions.svelte-18e8yem .btn{width:100%}}.pricing-recalculate-section.svelte-1cdxzyk{width:100%}.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:minmax(220px,320px) minmax(260px,360px);justify-content:start;align-items:end;gap:12px;width:100%;display:grid}.pricing-recalculate-date-field.svelte-1cdxzyk{grid-column:1/-1;width:100%;max-width:320px}.pricing-recalculate-filter-field.svelte-1cdxzyk{width:100%;max-width:360px}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker{width:100%}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-trigger{justify-content:space-between;width:100%}.pricing-recalculate-actions.svelte-1cdxzyk{flex-wrap:wrap;gap:10px;display:flex}@media (width<=768px){.pricing-recalculate-grid.svelte-1cdxzyk{grid-template-columns:1fr}.pricing-recalculate-actions.svelte-1cdxzyk,.pricing-recalculate-actions.svelte-1cdxzyk .btn{width:100%}}.pricing-recalculate-date-field.svelte-1cdxzyk .date-picker-dropdown{inset:auto auto calc(100% + 6px) 0}.settings-refresh-icon.svelte-yeq2mp{flex:0 0 16px;width:16px;height:16px}.runtime-refresh-steps.svelte-yeq2mp{color:var(--text-muted);gap:8px;margin-top:14px;padding-left:18px;font-size:13px;display:grid}.runtime-refresh-step.is-ok.svelte-yeq2mp{color:var(--success)}.runtime-refresh-step.is-partial.svelte-yeq2mp{color:var(--warning)}.runtime-refresh-step.is-failed.svelte-yeq2mp{color:var(--danger)}.runtime-settings-copy.svelte-tldbe5{min-width:180px}.runtime-settings-fields.svelte-tldbe5{gap:16px;width:min(560px,100%);display:grid}.runtime-setting-row.svelte-tldbe5{grid-template-columns:minmax(220px,1fr) 180px;align-items:center;gap:20px;display:grid}.runtime-setting-description.svelte-tldbe5,.runtime-setting-managed.svelte-tldbe5{color:var(--text-muted);margin:4px 0 0;font-size:12px}.runtime-setting-managed.svelte-tldbe5{color:var(--warning)}@media (width<=720px){.runtime-setting-row.svelte-tldbe5{grid-template-columns:1fr;gap:8px}}.settings-version-footer.svelte-3naq7u{color:var(--text-muted);text-align:right;margin-top:24px;font-size:12px}.chat-message.svelte-12s99s5{border:1px solid var(--border);background:var(--bg);border-radius:10px;max-width:94%;padding:10px 42px 10px 12px;position:relative;overflow:hidden}.chat-message.is-anchor.svelte-12s99s5{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.chat-message.is-after-anchor.svelte-12s99s5,.chat-function-note.is-after-anchor.svelte-12s99s5{opacity:.46}.chat-message.role-user.svelte-12s99s5{align-self:flex-start}.chat-message.role-assistant.svelte-12s99s5{background:color-mix(in srgb, var(--accent) 18%, var(--bg));align-self:flex-end}.chat-message.role-system.svelte-12s99s5{background:color-mix(in srgb, var(--warning) 10%, var(--bg));align-self:center;width:100%;max-width:100%}.chat-message.role-error.svelte-12s99s5{border-color:color-mix(in srgb, var(--danger) 55%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--bg));align-self:flex-end}.chat-message.role-error.svelte-12s99s5 .chat-role:where(.svelte-12s99s5){color:color-mix(in srgb, var(--danger) 75%, var(--text-muted))}.chat-message-meta.svelte-12s99s5{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.chat-role.svelte-12s99s5{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);font-size:12px;font-weight:700}.chat-time.svelte-12s99s5{color:var(--text-muted);white-space:nowrap;font-size:11px}.chat-content.svelte-12s99s5{white-space:pre-wrap;overflow-wrap:break-word;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}.chat-message.svelte-12s99s5:before,.chat-function-note.svelte-12s99s5:before{content:"";z-index:0;pointer-events:none;opacity:var(--prompt-cache-visibility);background:linear-gradient(90deg, color-mix(in srgb, var(--prompt-cache-color) 18%, transparent) 0, color-mix(in srgb, var(--prompt-cache-color) 18%, transparent) var(--prompt-cache-fill), transparent var(--prompt-cache-fill), transparent 100%);transition:opacity .15s;position:absolute;inset:0}.chat-message.svelte-12s99s5>:where(.svelte-12s99s5),.chat-function-note.svelte-12s99s5>:where(.svelte-12s99s5){z-index:1;position:relative}.chat-message-copy.svelte-12s99s5{z-index:2;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 92%, transparent);width:26px;height:26px;color:var(--text-muted);opacity:0;pointer-events:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:opacity .12s,transform .12s,color .12s,background-color .12s,border-color .12s;display:inline-flex;position:absolute;bottom:6px;right:6px;transform:translateY(3px)}.chat-message.svelte-12s99s5:hover .chat-message-copy:where(.svelte-12s99s5),.chat-function-note.svelte-12s99s5:hover .chat-message-copy:where(.svelte-12s99s5),.chat-message.svelte-12s99s5:focus-within .chat-message-copy:where(.svelte-12s99s5),.chat-function-note.svelte-12s99s5:focus-within .chat-message-copy:where(.svelte-12s99s5),.chat-message-copy.is-copied.svelte-12s99s5{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-message-copy.svelte-12s99s5:hover{color:var(--text);background:var(--bg-surface-hover)}.chat-message-copy.svelte-12s99s5:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.chat-message-copy.is-copied.svelte-12s99s5{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border))}.chat-tool-calls.svelte-12s99s5{border-top:1px solid var(--border);flex-direction:column;gap:3px;margin-top:8px;padding-top:6px;display:flex}.chat-tool-call.svelte-12s99s5{color:var(--text-muted);border-radius:5px;min-width:0;padding:3px 5px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;position:relative;overflow:hidden}.chat-tool-call-summary.svelte-12s99s5{cursor:pointer;align-items:baseline;gap:6px;min-width:0;display:flex}.chat-tool-call-preview.svelte-12s99s5{white-space:nowrap;text-overflow:ellipsis;opacity:.8;flex:1;min-width:0;overflow:hidden}.chat-tool-call-arguments.svelte-12s99s5{background:color-mix(in srgb, var(--border) 45%, transparent);color:var(--text);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;max-height:200px;margin-top:5px;padding:6px 8px;line-height:1.45;overflow:auto}.chat-tool-call-name.svelte-12s99s5:before{content:"⚡"}.chat-function-note.svelte-12s99s5{max-width:94%;color:var(--text-muted);background:color-mix(in srgb, var(--border) 40%, transparent);border:1px dashed var(--border);border-radius:12px;align-self:center;padding:4px 42px 4px 12px;font-size:12px;position:relative;overflow:hidden}.chat-function-note.is-anchor.svelte-12s99s5{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-inner.svelte-12s99s5{align-items:baseline;gap:6px;min-height:26px;display:flex;overflow:hidden}.chat-function-note-inner.svelte-12s99s5 .chat-time:where(.svelte-12s99s5){flex-shrink:0;margin-left:auto}.chat-function-call-id.svelte-12s99s5{color:var(--text-muted);overflow-wrap:anywhere;margin-top:6px;font-size:10px}.chat-function-label.svelte-12s99s5{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.chat-function-label.svelte-12s99s5:before{content:"▸";margin-right:4px;transition:transform .12s;display:inline-block}.chat-function-note-details[open].svelte-12s99s5 .chat-function-label:where(.svelte-12s99s5):before{transform:rotate(90deg)}.chat-function-detail.svelte-12s99s5{white-space:nowrap;text-overflow:ellipsis;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.chat-function-note.role-function-call.svelte-12s99s5{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, var(--border));align-self:flex-end}.chat-function-note.role-function-result.svelte-12s99s5{background:color-mix(in srgb, var(--success) 8%, transparent);border-color:color-mix(in srgb, var(--success) 30%, var(--border));align-self:flex-start}.chat-function-note.is-anchor.role-function-call.svelte-12s99s5,.chat-function-note.is-anchor.role-function-result.svelte-12s99s5{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.chat-function-note-details.svelte-12s99s5{width:100%}.chat-function-note-details.svelte-12s99s5>summary{cursor:pointer;list-style:none}.chat-function-note-details.svelte-12s99s5>summary::-webkit-details-marker{display:none}.chat-function-expanded.svelte-12s99s5{border-top:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);max-height:200px;margin-top:6px;padding-top:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto}@media (width<=768px){.chat-message.svelte-12s99s5{max-width:100%}}@media (hover:none){.chat-message-copy.svelte-12s99s5{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){.chat-message-copy.svelte-12s99s5{transition:none}}.conversation-drawer.svelte-ssrzja{width:var(--conversation-panel-width);background:var(--bg-surface);border-left:1px solid var(--border);z-index:12;flex-direction:column;flex:none;min-width:0;height:100vh;display:flex;position:sticky;top:0}.conversation-drawer-fullscreen.svelte-ssrzja{z-index:70;border-left:0;flex-basis:auto;width:100vw;height:100dvh;position:fixed;inset:0}.conversation-drawer-fullscreen.svelte-ssrzja .conversation-resize-handle:where(.svelte-ssrzja){display:none}.conversation-resize-handle.svelte-ssrzja{z-index:2;cursor:col-resize;touch-action:none;background:0 0;border:0;border-radius:0;outline:none;width:10px;padding:0;position:absolute;top:0;bottom:0;left:-5px}.conversation-resize-handle.svelte-ssrzja:after{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:4px}.conversation-resize-handle.svelte-ssrzja:hover:after,.conversation-resize-handle.svelte-ssrzja:focus-visible:after{background:color-mix(in srgb, var(--accent) 70%, var(--border))}body.conversation-panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.conversation-drawer-header.svelte-ssrzja{border-bottom:1px solid var(--border);flex-direction:column;gap:9px;padding:14px 16px;display:flex}.conversation-drawer-header-row.svelte-ssrzja{justify-content:space-between;align-items:center;gap:10px;display:flex}.conversation-drawer-header-actions.svelte-ssrzja{align-items:center;gap:6px;display:flex}.conversation-drawer-title.svelte-ssrzja{align-items:center;gap:9px;min-width:0;display:flex}.conversation-follow-status.svelte-ssrzja{justify-content:center;align-items:center;margin:-4px;padding:4px;display:inline-flex}.conversation-drawer-header.svelte-ssrzja h3{font-size:16px;font-weight:700}#interactions-drawer-content.svelte-ssrzja{position:relative}.conversation-message-navigation.svelte-ssrzja{z-index:4;opacity:0;pointer-events:none;flex-direction:column;gap:4px;width:max-content;height:0;margin-left:auto;margin-right:12px;transition:opacity .12s,transform .12s;display:flex;position:sticky;top:12px;transform:translateY(-3px)}#interactions-drawer-content.svelte-ssrzja:hover .conversation-message-navigation:where(.svelte-ssrzja),.conversation-message-navigation.svelte-ssrzja:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.conversation-message-navigation.svelte-ssrzja button:where(.svelte-ssrzja){border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 94%, transparent);width:30px;height:30px;min-height:30px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 1px 3px #00000029}.conversation-message-navigation.svelte-ssrzja button:where(.svelte-ssrzja):hover{color:var(--text);background:var(--bg-surface-hover)}.conversation-message-navigation.svelte-ssrzja button:where(.svelte-ssrzja):focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.conversation-drawer-footer.svelte-ssrzja{border-top:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;gap:9px;padding:10px 16px;display:flex}.conversation-composer.svelte-ssrzja{flex-direction:column;gap:7px;display:flex}.conversation-composer.svelte-ssrzja textarea:where(.svelte-ssrzja){resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:50px;color:var(--text);font:inherit;border-radius:7px;padding:9px 10px;line-height:1.45}.conversation-composer.svelte-ssrzja textarea:where(.svelte-ssrzja):focus{outline:2px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:1px}.conversation-composer.svelte-ssrzja textarea:where(.svelte-ssrzja):disabled{opacity:.65}.conversation-composer-actions.svelte-ssrzja{justify-content:space-between;align-items:center;gap:10px;display:flex}.conversation-endpoint.svelte-ssrzja{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:11px;overflow:hidden}.conversation-send-error.svelte-ssrzja{color:var(--danger);font-size:12px}.conversation-truncated.svelte-ssrzja{color:var(--text-muted);padding:0 16px 14px;font-size:12px}.conversation-step-picker.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:7px;font-size:11px;display:flex}.conversation-step-picker.svelte-ssrzja span:where(.svelte-ssrzja){flex:none}.conversation-step-picker.svelte-ssrzja select:where(.svelte-ssrzja){border:1px solid var(--border);background:var(--bg);min-width:0;max-width:100%;color:var(--text);border-radius:6px;padding:3px 6px;font-family:inherit;font-size:11px}.conversation-step-picker.svelte-ssrzja select:where(.svelte-ssrzja):focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 38%, transparent);outline-offset:1px}.conversation-cache-legend.svelte-ssrzja{color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-family:inherit;font-size:11px;display:flex}.conversation-cache-legend.svelte-ssrzja:hover{color:var(--text)}.conversation-cache-legend.svelte-ssrzja:focus-visible{outline:2px solid color-mix(in srgb, var(--prompt-cache-color) 35%, transparent);outline-offset:3px;border-radius:3px}.conversation-cache-switch.svelte-ssrzja{background:color-mix(in srgb, var(--text-muted) 30%, var(--border));border-radius:999px;flex:none;width:28px;height:16px;transition:background-color .15s;position:relative}.conversation-cache-switch.is-active.svelte-ssrzja{background:color-mix(in srgb, var(--prompt-cache-color) 80%, var(--bg))}.conversation-cache-switch-thumb.svelte-ssrzja{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000003d}.conversation-cache-switch.is-active.svelte-ssrzja .conversation-cache-switch-thumb:where(.svelte-ssrzja){transform:translate(12px)}.conversation-cache-estimate.svelte-ssrzja{opacity:.75}.conversation-thread.svelte-ssrzja{flex-direction:column;gap:10px;padding:14px 16px 20px;display:flex}.conversation-live-status.svelte-ssrzja{color:var(--text-muted);align-items:center;gap:10px;padding:4px 16px 20px;font-size:13px;display:flex}@media (hover:none){.conversation-message-navigation.svelte-ssrzja{opacity:1;pointer-events:auto;transform:none}}@media (prefers-reduced-motion:reduce){.conversation-message-navigation.svelte-ssrzja{transition:none}} diff --git a/internal/admin/dashboard/static/dist/index.html b/internal/admin/dashboard/static/dist/index.html index aa7fcdacc..80d71675c 100644 --- a/internal/admin/dashboard/static/dist/index.html +++ b/internal/admin/dashboard/static/dist/index.html @@ -1,16 +1,16 @@ - - - - - - - GoModel Dashboard - - - - - - -
        - - + + + + + + + GoModel Dashboard + + + + + + +
        + + diff --git a/web/dashboard/src/pages/audit-logs/AuditFilters.svelte b/web/dashboard/src/pages/audit-logs/AuditFilters.svelte index 3f7744b96..31be32e99 100644 --- a/web/dashboard/src/pages/audit-logs/AuditFilters.svelte +++ b/web/dashboard/src/pages/audit-logs/AuditFilters.svelte @@ -1,12 +1,13 @@ + diff --git a/web/dashboard/messages/en.json b/web/dashboard/messages/en.json index f5cd0ea7e..8d7bf570f 100644 --- a/web/dashboard/messages/en.json +++ b/web/dashboard/messages/en.json @@ -208,6 +208,16 @@ "audit_loading": "Loading audit logs", "audit_search_placeholder": "Search by request ID, model, provider, path, user path, or error…", "audit_search_label": "Search by request ID, model, provider, path, user path, or error", + "audit_field_value_placeholder": "Enter a value to filter", + "audit_field_value_label": "Audit field value", + "audit_filter_field_label": "Audit filter field", + "audit_filter_field_user_path": "User path", + "audit_filter_field_request_id": "Request ID", + "audit_filter_field_model": "Model", + "audit_filter_field_provider": "Provider", + "audit_filter_field_session_id": "Session ID", + "audit_filter_field_error_type": "Error type", + "audit_filter_field_search": "All fields (slow)", "audit_filter_method_label": "HTTP method filter", "audit_filter_all_methods": "All Methods", "audit_filter_status_label": "Status code filter", diff --git a/web/dashboard/messages/pl.json b/web/dashboard/messages/pl.json index 1cb9e3164..b354de1e5 100644 --- a/web/dashboard/messages/pl.json +++ b/web/dashboard/messages/pl.json @@ -210,6 +210,16 @@ "audit_loading": "Wczytywanie logów audytowych", "audit_search_placeholder": "Szukaj według ID Requestu, modelu, dostawcy, ścieżki, User Path lub błędu…", "audit_search_label": "Szukaj według ID Requestu, modelu, dostawcy, ścieżki, User Path lub błędu", + "audit_field_value_placeholder": "Wpisz wartość filtra", + "audit_field_value_label": "Wartość pola audytu", + "audit_filter_field_label": "Pole filtra audytu", + "audit_filter_field_user_path": "Ścieżka użytkownika", + "audit_filter_field_request_id": "ID żądania", + "audit_filter_field_model": "Model", + "audit_filter_field_provider": "Dostawca", + "audit_filter_field_session_id": "ID sesji", + "audit_filter_field_error_type": "Typ błędu", + "audit_filter_field_search": "Wszystkie pola (wolne)", "audit_filter_method_label": "Filtr metody HTTP", "audit_filter_all_methods": "Wszystkie metody", "audit_filter_status_label": "Filtr kodu statusu", diff --git a/web/dashboard/src/pages/audit-logs/AuditFilters.svelte b/web/dashboard/src/pages/audit-logs/AuditFilters.svelte index 31be32e99..660288431 100644 --- a/web/dashboard/src/pages/audit-logs/AuditFilters.svelte +++ b/web/dashboard/src/pages/audit-logs/AuditFilters.svelte @@ -1,13 +1,11 @@ - + +
        From d76d7fd501fdb9707495cf2aa5889f0354997570 Mon Sep 17 00:00:00 2001 From: mikemikimike <13286568797@163.com> Date: Tue, 25 Aug 2026 00:49:34 +0800 Subject: [PATCH 11/12] fix(auditlog): filter request IDs exactly --- cmd/gomodel/docs/docs.go | 12 ++++++++ docs/openapi.json | 16 ++++++++++ .../{index-CfLHiHcn.js => index-CCBY1enE.js} | 2 +- .../admin/dashboard/static/dist/index.html | 2 +- internal/admin/handler_audit.go | 3 ++ internal/admin/handler_test.go | 5 +++- internal/auditlog/reader.go | 1 + internal/auditlog/reader_mongodb.go | 3 ++ internal/auditlog/reader_mongodb_test.go | 11 +++++++ internal/auditlog/reader_sql.go | 3 ++ internal/auditlog/reader_sql_boundary_test.go | 30 +++++++++++++++++++ .../src/pages/audit-logs/audit-logic.js | 2 +- web/dashboard/tests/audit-list.test.js | 2 +- 13 files changed, 87 insertions(+), 5 deletions(-) rename internal/admin/dashboard/static/dist/assets/{index-CfLHiHcn.js => index-CCBY1enE.js} (97%) diff --git a/cmd/gomodel/docs/docs.go b/cmd/gomodel/docs/docs.go index 11a816307..3ab4756af 100644 --- a/cmd/gomodel/docs/docs.go +++ b/cmd/gomodel/docs/docs.go @@ -185,6 +185,12 @@ const docTemplate = `{ "name": "user_path", "in": "query" }, + { + "type": "string", + "description": "Filter by exact request id", + "name": "request_id", + "in": "query" + }, { "type": "string", "description": "Filter by exact session id", @@ -314,6 +320,12 @@ const docTemplate = `{ "name": "user_path", "in": "query" }, + { + "type": "string", + "description": "Filter by exact request id", + "name": "request_id", + "in": "query" + }, { "type": "string", "description": "Filter by error type", diff --git a/docs/openapi.json b/docs/openapi.json index 78109a1fa..c4d1576de 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -235,6 +235,14 @@ "type": "string" } }, + { + "description": "Filter by exact request id", + "name": "request_id", + "in": "query", + "schema": { + "type": "string" + } + }, { "description": "Filter by exact session id", "name": "session_id", @@ -410,6 +418,14 @@ "type": "string" } }, + { + "description": "Filter by exact request id", + "name": "request_id", + "in": "query", + "schema": { + "type": "string" + } + }, { "description": "Filter by error type", "name": "error_type", diff --git a/internal/admin/dashboard/static/dist/assets/index-CfLHiHcn.js b/internal/admin/dashboard/static/dist/assets/index-CCBY1enE.js similarity index 97% rename from internal/admin/dashboard/static/dist/assets/index-CfLHiHcn.js rename to internal/admin/dashboard/static/dist/assets/index-CCBY1enE.js index 04a41c15a..aaa53e1a4 100644 --- a/internal/admin/dashboard/static/dist/assets/index-CfLHiHcn.js +++ b/internal/admin/dashboard/static/dist/assets/index-CCBY1enE.js @@ -21,7 +21,7 @@ /team/alpha /non-existing`),D(x);var w=I(x,2);{let e=A(()=>tS());e6(w,{id:`virtual-model-description`,get label(){return R(e)},children:(e,t)=>{var r=uGe();at(r),L(e=>{K(r,`placeholder`,e),r.disabled=n.vmFormManaged},[()=>iS()]),Ei(r,()=>n.vmForm.description,e=>n.vmForm.description=e),V(e,r)},$$slots:{default:!0}})}var T=I(w,2),ee=e=>{{let t=A(()=>sS());e6(e,{id:`virtual-model-slowdown`,get label(){return R(t)},children:(e,t)=>{var r=dGe(),i=F(r);yi(i);var a=I(i,2),o=P(a,!0);D(a),L((e,t)=>{K(i,`placeholder`,e),i.disabled=n.vmFormManaged,H(o,t)},[()=>uS(),()=>pS()]),Ei(i,()=>n.vmForm.slowdown,e=>n.vmForm.slowdown=e),V(e,r)},$$slots:{default:!0}})}},E=A(()=>n.vmFormSupportsSlowdown());U(T,e=>{R(E)&&e(ee)});var te=I(T,2),ne=P(te),re=e=>{var t=fGe(),r=P(t,!0);D(t),L(e=>H(r,e),[()=>gS({default:n.vmFormDefaultEnabled?yS():SS(),effective:n.vmFormEffectiveEnabled?yS():SS()})]),V(e,t)};U(ne,e=>{n.vmFormMode===`edit`&&e(re)});var ie=I(ne,2),ae=P(ie);{let e=A(()=>n.vmFormToggleRestricted()),t=A(()=>Cge()),r=A(()=>n.vmFormToggleLabel());k8(ae,{get enabled(){return n.vmForm.enabled},get restricted(){return R(e)},get label(){return R(t)},get disabled(){return n.vmFormManaged},get text(){return R(r)},onclick:()=>{n.vmFormManaged||(n.vmForm.enabled=!n.vmForm.enabled)}})}D(ie),D(te),L((e,t)=>{H(u,e),m.disabled=n.vmFormManaged,H(_,t),C.disabled=n.vmFormManaged},[()=>Yb(),()=>Lx()]),z(`click`,m,()=>n.addVmTarget()),Ei(C,()=>n.vmForm.user_paths,e=>n.vmForm.user_paths=e),V(e,r)},$$slots:{header:!0,extraActions:!0,default:!0}})}k()}vr([`click`]);var hGe=B(`

        `,1),gGe=B(``),_Ge=B(``),M8=B(``),vGe=B(``),yGe=B(`
        `),bGe=B(`
        `),xGe=B(`
        `),SGe=B(`
        `),CGe=B(`

        USD
        `,1);function wGe(e,t){O(t,!0);let n=d8;{let t=e=>{var t=hGe(),r=F(t),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a),L((e,t)=>{H(i,e),H(o,t)},[()=>US(),()=>n.modelPricingOverrideFormDisplayName||n.modelPricingOverrideForm.selector||KS()]),V(e,t)},r=e=>{var t=Tr(),r=F(t),i=e=>{var t=gGe(),r=P(t,!0);D(t),L(e=>{t.disabled=n.modelPricingOverrideSubmitting,H(r,e)},[()=>TC()]),z(`click`,t,()=>n.deleteModelPricingOverride()),V(e,t)};U(r,e=>{n.modelPricingOverrideFormHasExistingOverride&&e(i)}),V(e,t)},i=A(()=>LS()),a=A(()=>BS());$3(e,{get open(){return n.modelPricingOverrideFormOpen},get ariaLabel(){return R(i)},dialogClass:`model-pricing-editor`,get error(){return n.modelPricingOverrideError},get submitting(){return n.modelPricingOverrideSubmitting},get submitLabel(){return R(a)},onclose:()=>n.closeModelPricingOverrideForm(),onsubmit:()=>n.submitModelPricingOverrideForm(),header:t,extraActions:r,children:(e,t)=>{var r=CGe(),i=F(r),a=P(i);{let e=A(()=>YS());e6(a,{id:`model-pricing-override-selector`,get label(){return R(e)},children:(e,t)=>{var r=_Ge();yi(r),Ei(r,()=>n.modelPricingOverrideForm.selector,e=>n.modelPricingOverrideForm.selector=e),V(e,r)},$$slots:{default:!0}})}var o=I(a,2),s=e=>{{let t=A(()=>QS());e6(e,{id:`model-pricing-override-scope`,get label(){return R(t)},children:(e,t)=>{var r=vGe();W(r,21,()=>n.modelPricingOverrideFormScopeOptions,e=>e.value,(e,t)=>{var n=M8(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(r),z(`change`,r,()=>n.setModelPricingOverrideScope(n.modelPricingOverrideFormScope)),fi(r,()=>n.modelPricingOverrideFormScope,e=>n.modelPricingOverrideFormScope=e),V(e,r)},$$slots:{default:!0}})}};U(o,e=>{n.modelPricingOverrideFormScopeOptions.length>1&&e(s)}),D(i);var c=I(i,2),l=P(c,!0);D(c);var u=I(c,2);W(u,21,()=>n.modelPricingOverrideRows,e=>e.id,(e,t,r)=>{var i=yGe(),a=P(i),o=P(a),s=P(o,!0);D(o);var c=I(o,2);W(c,21,()=>n.availablePricingFieldOptions(R(t)),e=>e.value,(e,t)=>{var n=M8(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t).group+` - `+R(t).label),i!==(i=R(t).value)&&(n.value=(n.__value=R(t).value)??``)}),V(e,n)}),D(c),D(a);var l=I(a,2),u=P(l),d=P(u,!0);D(u);var f=I(u,2);yi(f),D(l);var p=I(l,2);{let e=A(()=>uC({price:n.pricingFieldLabel(R(t).field)}));E3(p,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn pricing-override-remove-row`,onclick:()=>n.removeModelPricingOverrideRow(R(t)),children:(e,t)=>{J(e,{get icon(){return JY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(i),L((e,n)=>{K(o,`for`,`pricing-type-`+R(t).id),H(s,e),K(c,`id`,`pricing-type-`+R(t).id),K(u,`for`,`pricing-value-`+R(t).id),H(d,n),K(f,`id`,`pricing-value-`+R(t).id)},[()=>iC(),()=>sC()]),fi(c,()=>R(t).field,e=>R(t).field=e),Ei(f,()=>R(t).value,e=>R(t).value=e),V(e,i)}),D(u);var d=I(u,2),f=P(d),p=P(f);J(p,{get icon(){return IY},class:`form-action-icon`});var m=I(p,2),h=P(m,!0);D(m),D(f),D(d);var g=I(d,2),_=e=>{var t=bGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gC()]),V(e,t)};U(g,e=>{n.modelPricingOverrideFormPreservedTiers.length>0&&e(_)});var v=I(g,2),y=P(v),b=P(y),x=P(b,!0);D(b);var S=I(b,4),C=P(S,!0);D(S),D(y);var w=I(y,2),T=e=>{var t=xGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>SC()]),V(e,t)},ee=A(()=>n.modelPricingEffectivePreviewRows().length===0);U(w,e=>{R(ee)&&e(T)}),W(I(w,2),17,()=>n.modelPricingEffectivePreviewRows(),e=>e.field,(e,t)=>{var n=SGe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(n),L(e=>{H(i,R(t).label),H(o,e),H(c,R(t).source)},[()=>R(t).value===null||R(t).value===void 0?`-`:WX(Number(R(t).value))]),V(e,n)}),D(v),L((e,t,n,r)=>{H(l,e),H(h,t),H(x,n),H(C,r)},[()=>tC(),()=>pC(),()=>iC(),()=>yC()]),z(`click`,f,()=>n.addModelPricingOverrideRow()),V(e,r)},$$slots:{header:!0,extraActions:!0,default:!0}})}k()}vr([`click`,`change`]);var TGe=B(`

        `,1),EGe=B(``),DGe=B(`

        `),OGe=B(``),kGe=B(`
        `),AGe=B(`
        `,1),jGe=B(`
        `);function MGe(e,t){O(t,!0);{let t=e=>{var t=TGe(),n=F(t),r=P(n,!0);D(n);var i=I(n,2),a=P(i,!0);D(i),L(e=>{H(r,e),H(a,$.failoverForm.source||`Failover`)},[()=>jC()]),V(e,t)},n=e=>{var t=Tr(),n=F(t),r=e=>{var t=EGe(),n=P(t,!0);D(t),L(e=>{t.disabled=$.failoverSaving||$.failoverGenerating,H(n,e)},[()=>tw()]),z(`click`,t,()=>$.deleteFailoverRule()),V(e,t)};U(n,e=>{$.failoverFormMode===`edit`&&!$.failoverFormManaged&&e(r)}),V(e,t)},r=A(()=>OC()),i=A(()=>$.failoverGenerating||$.failoverFormManaged),a=A(()=>yx());$3(e,{get open(){return $.failoverFormOpen},get ariaLabel(){return R(r)},get error(){return $.failoverError},get submitting(){return $.failoverSaving},get submitDisabled(){return R(i)},get submitLabel(){return R(a)},onclose:()=>$.closeFailoverForm(),onsubmit:()=>$.submitFailoverForm(),header:t,extraActions:n,children:(e,t)=>{var n=jGe(),r=P(n),i=e=>{var t=DGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>PC()]),V(e,t)};U(r,e=>{$.failoverFormManaged&&e(i)});var a=I(r,2);W(a,21,()=>sZ.models,Ar,(e,t,n,r)=>{var i=OGe(),a=P(i,!0);D(i);var o={};L((e,t)=>{H(a,e),o!==(o=t)&&(i.value=(i.__value=t)??``)},[()=>A6(R(t)),()=>A6(R(t))]),V(e,i)}),D(a);var o=I(a,2);{let e=A(()=>LC());e6(o,{id:`failover-target`,get label(){return R(e)},children:(e,t)=>{var n=AGe(),r=F(n),i=P(r),a=P(i);yi(a);var o=I(a,2),s=e=>{{let t=A(()=>UC());E3(e,{get label(){return R(t)},class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>$.removePrimaryFailoverTarget(),get disabled(){return $.failoverFormManaged},children:(e,t)=>{J(e,{get icon(){return WY},class:`table-icon-svg`})},$$slots:{default:!0}})}};U(o,e=>{$.failoverForm.target_model&&e(s)}),D(i),W(I(i,2),17,()=>$.failoverForm.targets,Ar,(e,t,n)=>{var r=kGe(),i=P(r);yi(i);var a=I(i,2);{let e=A(()=>UC());E3(a,{get label(){return R(e)},class:`table-action-btn-danger table-icon-btn vm-target-remove`,onclick:()=>$.removeFailoverTarget(n),get disabled(){return $.failoverFormManaged},children:(e,t)=>{J(e,{get icon(){return WY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(r),L(e=>{i.disabled=$.failoverFormManaged,K(i,`aria-label`,e)},[()=>BC()]),Ei(i,()=>R(t).model,e=>R(t).model=e),V(e,r)}),D(r);var c=I(r,2),l=P(c),u=P(l);J(u,{get icon(){return IY},class:`form-action-icon`});var d=I(u,2),f=P(d,!0);D(d),D(l);var p=I(l,2),m=P(p);J(m,{get icon(){return qY},class:`form-action-icon`});var h=I(m,2),g=P(h,!0);D(h),D(p),D(c),L((e,t,n,r)=>{a.disabled=$.failoverFormManaged,K(a,`aria-label`,e),l.disabled=$.failoverFormManaged||$.failoverGenerating||$.failoverSaving,H(f,t),p.disabled=n,H(g,r)},[()=>BC(),()=>KC(),()=>$.failoverFormManaged||$.failoverGenerating||$.failoverSaving||!$.failoverEnabled(),()=>$.failoverGenerating?YC():QC()]),Ei(a,()=>$.failoverForm.target_model,e=>$.failoverForm.target_model=e),z(`click`,l,()=>$.addFailoverTarget()),z(`click`,p,()=>$.generateFailoverForForm()),V(e,n)},$$slots:{default:!0}})}var s=I(o,2),c=P(s);k8(P(c),{get enabled(){return $.failoverForm.enabled},label:`failover mapping`,get disabled(){return $.failoverFormManaged},onclick:()=>{$.failoverFormManaged||($.failoverForm.enabled=!$.failoverForm.enabled)}}),D(c),D(s),D(n),V(e,n)},$$slots:{header:!0,extraActions:!0,default:!0}})}k()}vr([`click`]);var NGe=B(` `),PGe=B(`
        `),FGe=B(``),IGe=B(`
        `),N8=B(`

        `),LGe=B(``),RGe=B(``);function P8(e,t){O(t,!0),AX(e,{get open(){return $.failoverDraftsOpen},variant:`editor`,onclose:()=>$.closeFailoverDraftsModal(),children:(e,t)=>{var n=RGe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i);var l=I(i,2),u=P(l),d=e=>{var t=NGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>$.failoverDraftCountLabel()]),V(e,t)};U(u,e=>{$.failoverGeneratedRules.length>0&&e(d)});var f=I(u,2);{let e=A(()=>pw());DX(f,{get label(){return R(e)},onclick:()=>$.closeFailoverDraftsModal(),get disabled(){return $.failoverDraftSaving}})}D(l),D(r);var p=I(r,2),m=e=>{{let t=A(()=>gw());B4(e,{get label(){return R(t)},class:`failover-drafts-loading`})}};U(p,e=>{$.failoverGenerating&&e(m)});var h=I(p,2),g=e=>{var t=PGe(),n=P(t);{let e=A(()=>yw()),t=A(()=>Sw());g3(n,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return $.failoverDraftFilter},set value(e){$.failoverDraftFilter=e}})}var r=I(n,2),i=P(r);J(i,{get icon(){return CY},class:`form-action-icon`});var a=I(i,2),o=P(a,!0);D(a),D(r),D(t),L(e=>{r.disabled=$.failoverDraftSaving,H(o,e)},[()=>$.allFailoverDraftsSelected()?Ow():Tw()]),z(`click`,r,()=>$.toggleAllFailoverDrafts()),V(e,t)};U(h,e=>{!$.failoverGenerating&&$.failoverGeneratedRules.length>0&&e(g)});var _=I(h,2),v=e=>{var t=IGe();W(t,21,()=>$.filteredFailoverDrafts(),e=>`failover-draft:`+$.failoverPrimaryModel(e),(e,t)=>{var n=FGe(),r=P(n);yi(r);var i=I(r,2),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i),D(n),L((e,t,n,i)=>{xi(r,e),r.disabled=$.failoverDraftSaving,K(r,`aria-label`,t),H(o,n),H(c,i)},[()=>$.failoverDraftSelected(R(t)),()=>jw({model:$.failoverPrimaryModel(R(t))}),()=>$.failoverPrimaryModel(R(t)),()=>$.failoverTargetLabel(R(t))]),z(`change`,r,e=>$.setFailoverDraftSelected(R(t),e.currentTarget.checked)),V(e,n)}),D(t),V(e,t)},y=A(()=>!$.failoverGenerating&&$.filteredFailoverDrafts().length>0);U(_,e=>{R(y)&&e(v)});var b=I(_,2),x=e=>{var t=N8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Pw()]),V(e,t)};U(b,e=>{!$.failoverGenerating&&$.failoverGeneratedRules.length===0&&!$.failoverError&&e(x)});var S=I(b,2),C=e=>{var t=N8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Lw()]),V(e,t)},w=A(()=>!$.failoverGenerating&&$.failoverGeneratedRules.length>0&&$.filteredFailoverDrafts().length===0);U(S,e=>{R(w)&&e(C)});var T=I(S,2),ee=e=>{var t=LGe(),n=P(t,!0);D(t),L(()=>H(n,$.failoverError)),V(e,t)};U(T,e=>{$.failoverError&&e(ee)});var E=I(T,2),te=P(E),ne=P(te,!0);D(te);var re=I(te,2),ie=P(re);J(ie,{get icon(){return zY},class:`form-action-icon`});var ae=I(ie,2),oe=P(ae,!0);D(ae),D(re),D(E),D(n),L((e,t,r,i,a,s)=>{K(n,`aria-label`,e),H(o,t),H(c,r),te.disabled=$.failoverDraftSaving,H(ne,i),re.disabled=a,H(oe,s)},[()=>iw(),()=>sw(),()=>uw(),()=>ya(),()=>$.failoverGenerating||$.failoverDraftSaving||$.selectedFailoverDraftCount()===0,()=>$.failoverDraftSaving?Bw():Uw()]),z(`click`,te,()=>$.closeFailoverDraftsModal()),z(`click`,re,()=>$.saveSelectedFailoverDrafts()),V(e,n)},$$slots:{default:!0}}),k()}vr([`click`,`change`]);var zGe=B(`
        `),F8=B(` `,1),BGe=B(`

        `),VGe=B(`

        `),HGe=B(` `),UGe=B(`
        `),WGe=B(`
        `),GGe=B(`

        `),KGe=B(``),qGe=B(``);function JGe(e,t){O(t,!0);function n(){X.dialogOpen||Q.closeRateLimitInspector()}AX(e,{get open(){return Q.rateLimitInspectorOpen},variant:`editor`,onclose:n,children:(e,t)=>{var n=qGe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s),l=P(c,!0);D(c),D(s),D(i),DX(I(i,2),{label:`Close rate limits inspector`,onclick:()=>Q.closeRateLimitInspector()}),D(r);var u=I(r,2),d=e=>{B4(e,{label:`Loading rate limits...`})},f=e=>{var t=zGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gj()]),V(e,t)},p=e=>{var t=Tr();W(F(t),17,()=>Q.rateLimitInspectorSections(),e=>e.key,(e,t)=>{var n=GGe(),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2);{let e=A(()=>`Add `+R(t).title.toLowerCase());E3(o,{get label(){return R(e)},class:`budget-action-btn`,onclick:()=>Q.openRateLimitFormFromInspector(R(t).scope,R(t).subject),children:(e,t)=>{var n=F8(),r=F(n);J(r,{get icon(){return IY},class:`table-icon-svg`});var i=I(r,2),a=P(i,!0);D(i),L(e=>H(a,e),[()=>Pj()]),V(e,n)},$$slots:{default:!0}})}D(r);var s=I(r,2),c=e=>{var n=BGe(),r=P(n,!0);D(n),L(()=>H(r,R(t).hint)),V(e,n)};U(s,e=>{R(t).hint&&e(c)});var l=I(s,2),u=e=>{var t=VGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Lj()]),V(e,t)},d=e=>{var n=WGe();W(n,21,()=>R(t).items,e=>Q.rateLimitKey(e),(e,t)=>{var n=UGe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s),l=e=>{var t=HGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>YJ()]),V(e,t)};U(c,e=>{R(t).per_child&&e(l)});var u=I(c,2),d=P(u);{let e=A(()=>Q.rateLimitIsConcurrent(R(t))?xY:UY);J(d,{get icon(){return R(e)},class:`budget-period-icon`})}var f=I(d,2),p=P(f,!0);D(f),D(u),D(s);var m=I(s,2),h=P(m),g=P(h),_=P(g,!0);D(g);var v=I(g,2),y=P(v,!0);D(v),D(h);var b=I(h,2),x=P(b),S=e=>{E3(e,{label:`Edit rate limit`,class:`budget-action-btn`,onclick:()=>Q.openRateLimitFormFromInspector(null,null,R(t)),children:(e,t)=>{var n=F8(),r=F(n);J(r,{get icon(){return FY},class:`budget-action-icon`});var i=I(r,2),a=P(i,!0);D(i),L(e=>H(a,e),[()=>Bj()]),V(e,n)},$$slots:{default:!0}})},C=A(()=>!Q.rateLimitIsReadOnly(R(t)));U(x,e=>{R(C)&&e(S)}),D(b),D(m),D(i),D(r),D(n),L((e,t,r,i,a,s,c,l)=>{G(n,1,`budget-row ${e??``}`),li(n,t),K(n,`title`,r),H(o,i),H(p,a),H(_,s),K(v,`title`,c),H(y,l)},[()=>Q.rateLimitPressureClass(R(t)),()=>Q.rateLimitPressureStyle(R(t)),()=>R(t).per_child?XJ():Q.rateLimitPressurePercent(R(t))+`% of the most constrained cap used`,()=>Q.rateLimitSubject(R(t)),()=>Q.rateLimitPeriodLabel(R(t)),()=>Q.rateLimitInspectorSummary(R(t)),()=>Q.rateLimitIsReadOnly(R(t))?`Declared in configuration; read-only in the dashboard`:`Managed via dashboard or admin API`,()=>Q.rateLimitSourceLabel(R(t))]),V(e,n)}),D(n),V(e,n)};U(l,e=>{R(t).items.length===0?e(u):e(d,-1)}),D(n),L(()=>H(a,R(t).title)),V(e,n)}),V(e,t)};U(u,e=>{Q.rateLimitsLoading?e(d):Q.rateLimitsAvailable?e(p,-1):e(f,1)});var m=I(u,2),h=P(m),g=I(h,2),_=e=>{var t=KGe();z(`click`,t,()=>{Q.closeRateLimitInspector(),QY.navigate(`rate-limits`)}),V(e,t)},v=A(()=>Q.rateLimitsEnabled());U(g,e=>{R(v)&&e(_)}),D(m),D(n),L((e,t)=>{K(n,`aria-label`,e),H(o,t),H(l,Q.rateLimitInspector.title)},[()=>jj(),()=>uj()]),z(`click`,h,()=>Q.closeRateLimitInspector()),V(e,n)},$$slots:{default:!0}}),k()}vr([`click`]);var YGe=B(`
        `),I8=B(`
        `),XGe=B(``),ZGe=B(`
        `),QGe=B(``),$Ge=B(`
        `),L8=B(`

        `),eKe=B(`
        `);function tKe(e,t){O(t,!0),dn(()=>{X.refreshTick,QY.page===`models`&&(e8.fetchVirtualModels(),d8.fetchModelPricingOverrides(),$.fetchFailoverRules(),Q.fetchRateLimitsPage())}),dn(()=>{let e=e8.filteredDisplayModels.length;return nr(()=>e8.restartModelRendering(e)),()=>e8.stopModelRendering()});let n=A(()=>X.needsAuth),r={all:Ege,text_generation:kge,embedding:Mge,image:Fge,audio:Rge,video:Vge,utility:Wge};function i(e){return r[e.category]?.()||e.display_name}var a=eKe(),o=P(a),s=P(o),c=P(s,!0);D(s);var l=I(s,2),u=e=>{var t=YGe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Oy({count:sZ.filter?e8.filteredDisplayModels.length+` / `+e8.displayModels.length:e8.displayModels.length})]),V(e,t)};U(l,e=>{e8.displayModels.length>0&&e(u)}),D(o);var d=I(o,2);cZ(d,{});var f=I(d,2),p=e=>{var t=I8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>jy()]),V(e,t)};U(f,e=>{!e8.virtualModelsAvailable&&!R(n)&&e(p)});var m=I(f,2),h=e=>{var t=I8(),n=P(t,!0);D(t),L(()=>H(n,e8.aliasError)),V(e,t)};U(m,e=>{e8.aliasError&&!R(n)&&e(h)});var g=I(m,2),_=e=>{var t=I8(),n=P(t,!0);D(t),L(()=>H(n,d8.modelPricingOverrideError)),V(e,t)};U(g,e=>{d8.modelPricingOverrideError&&!R(n)&&!d8.modelPricingOverrideFormOpen&&e(_)});var v=I(g,2),y=e=>{var t=ZGe();W(t,21,()=>sZ.categories,e=>e.category,(e,t)=>{var n=XGe();let r;var a=P(n),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(n),L(e=>{r=G(n,1,`category-tab svelte-scpjps`,null,r,{active:sZ.activeCategory===R(t).category}),H(o,e),H(c,R(t).count)},[()=>i(R(t))]),z(`click`,n,()=>sZ.selectCategory(R(t).category)),V(e,n)}),D(t),V(e,t)};U(v,e=>{sZ.categories.length>0&&e(y)});var b=I(v,2),x=e=>{var t=$Ge(),n=P(t),r=P(n);{let e=A(()=>Py()),t=A(()=>Ly());g3(r,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return sZ.filter},set value(e){sZ.filter=e}})}D(n);var i=I(n,2),a=P(i),o=e=>{var t=QGe(),n=P(t);J(n,{get icon(){return IY},class:`alias-create-icon`});var r=I(n,2),i=P(r,!0);D(r),D(t),L((e,n,r)=>{K(t,`aria-label`,e),K(t,`title`,n),H(i,r)},[()=>Uy(),()=>Ky(),()=>By()]),z(`click`,t,()=>e8.openVirtualModelCreate()),V(e,t)};U(a,e=>{e8.virtualModelsAvailable&&e(o)}),D(i),D(t),V(e,t)};U(b,e=>{(e8.displayModels.length>0||sZ.filter||e8.virtualModelsAvailable)&&e(x)});var S=I(b,2),C=e=>{{let t=A(()=>e8.modelLoadingText());B4(e,{get label(){return R(t)},class:`models-loading-state`})}},w=A(()=>e8.modelsBusy()&&!R(n));U(S,e=>{R(w)&&e(C)});var T=I(S,2);mGe(T,{});var ee=I(T,2);wGe(ee,{});var E=I(ee,2),te=e=>{$We(e,{})};U(E,e=>{(e8.displayModels.length>0||sZ.filter)&&e(te)});var ne=I(E,2),re=e=>{var t=L8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Yy()]),V(e,t)};U(ne,e=>{e8.displayModels.length===0&&!sZ.loading&&!R(n)&&!sZ.filter&&(sZ.activeCategory===`all`||!sZ.activeCategory)&&e(re)});var ie=I(ne,2),ae=e=>{var t=L8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Qy()]),V(e,t)};U(ie,e=>{e8.displayModels.length===0&&!sZ.loading&&!R(n)&&!sZ.filter&&sZ.activeCategory&&sZ.activeCategory!==`all`&&e(ae)});var oe=I(ie,2),se=e=>{var t=L8(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>tb()]),V(e,t)};U(oe,e=>{e8.displayModels.length>0&&e8.filteredDisplayModels.length===0&&sZ.filter&&e(se)});var ce=I(oe,2);JGe(ce,{});var le=I(ce,2);w6(le,{});var ue=I(le,2);MGe(ue,{}),P8(I(ue,2),{}),D(a),L(e=>H(c,e),[()=>Ty()]),V(e,a),k()}vr([`click`]);function nKe(e,t,n){let r=Array.isArray(e)?e:[];if(t===n||t<0||n<0||t>=r.length||n>=r.length)return r;let i=r.slice(),[a]=i.splice(t,1);return i.splice(n,0,a),i}function rKe(e,t,n){let r=n.length;if(r===0)return-1;let i=e;if(t=0&&tn[a];a++)i=a;return i}function iKe(e,t,n,r){return e===t||t===n?0:tt&&e<=n?-r:t>n&&e>=n&&e{let i=null,a=()=>[...r.querySelectorAll(n)].filter(e=>e.parentElement===r);function o(t){if(!i)return;let{handle:n,pointerId:a,items:o,from:s,to:c}=i;i=null,n.removeEventListener(`lostpointercapture`,f),window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,d);for(let e of o)e.style.transform=``,e.style.transition=``,e.style.zIndex=``,e.classList.remove(`is-dragging`);r.classList.remove(`is-sorting`),document.body.classList.remove(`sortable-dragging`);try{n.releasePointerCapture(a)}catch{}!t&&s!==c&&e(s,c)}function s(e){if(i||e.button!==0)return;let o=e.target.closest(t);if(!o||o.hasAttribute(`disabled`)||o.getAttribute(`aria-disabled`)===`true`)return;let s=o.closest(n),p=a(),m=s?p.indexOf(s):-1;if(m<0||p.length<2)return;e.preventDefault();let h=p.map(e=>{let t=e.getBoundingClientRect();return t.top+t.height/2});i={pointerId:e.pointerId,handle:o,items:p,from:m,to:m,startY:e.clientY,grabOffset:h[m]-e.clientY,midpoints:h,height:p[m].getBoundingClientRect().height+c(p)},o.setPointerCapture(e.pointerId),o.addEventListener(`lostpointercapture`,f),window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u),window.addEventListener(`pointercancel`,d),p[m].classList.add(`is-dragging`),p[m].style.zIndex=`2`;for(let e of p)e!==p[m]&&(e.style.transition=`transform 0.15s ease`);r.classList.add(`is-sorting`),document.body.classList.add(`sortable-dragging`)}function c(e){if(e.length<2)return 0;let t=e[0].getBoundingClientRect(),n=e[1].getBoundingClientRect();return Math.max(0,n.top-t.bottom)}function l(e){if(!i||e.pointerId!==i.pointerId)return;let{items:t,from:n,midpoints:r,height:a,startY:o,grabOffset:s}=i,c=e.clientY-o;i.to=rKe(n,e.clientY+s,r),t[n].style.transform=`translateY(${c}px)`,t.forEach((e,t)=>{if(t===n)return;let r=iKe(t,n,i.to,a);e.style.transform=r?`translateY(${r}px)`:``})}function u(e){!i||e.pointerId!==i.pointerId||o(!1)}function d(e){!i||e.pointerId!==i.pointerId||o(!0)}function f(e){!i||e.pointerId!==i.pointerId||o(!0)}function p(e){i&&e.key===`Escape`&&o(!0)}return r.addEventListener(`pointerdown`,s),window.addEventListener(`keydown`,p),()=>{o(!0),r.removeEventListener(`pointerdown`,s),window.removeEventListener(`keydown`,p)}}}function R8(e){if(e==null)return null;if(typeof e!=`object`){let t=String(e);return{value:t,label:t,description:``}}let t=String(e.value??``);return{value:t,label:String(e.label??t),description:String(e.description??``)}}function oKe(e,t){let n=new Set,r=(Array.isArray(e)?e:[]).map(R8).filter(e=>!e||n.has(e.value)?!1:(n.add(e.value),!0)),i=String(t||``).trim().toLowerCase();if(!i)return r;let a=[],o=[];for(let e of r){let t=[e.value,e.label,e.description].map(e=>e.toLowerCase());t.some(e=>e.startsWith(i))?a.push(e):t.some(e=>e.includes(i))&&o.push(e)}return a.concat(o)}function sKe(e,t,n){let r=String(t||``).trim();return!n||!r||(Array.isArray(e)?e:[]).map(R8).some(e=>e&&e.value===r)?``:r}function cKe(e,t,n){return n?e<0?t>=0?0:n-1:((e+t)%n+n)%n:-1}var lKe=B(`
      • `),uKe=B(` `),dKe=B(`
      • `),fKe=B(``),pKe=B(`
        `),mKe=B(`
        `);function hKe(e,t){let n=Tee();O(t,!0);let r=q(t,`options`,19,()=>[]),i=q(t,`value`,15,``),a=q(t,`placeholder`,3,``),o=q(t,`searchPlaceholder`,3,``),s=q(t,`ariaLabel`,3,``),c=q(t,`id`,3,void 0),l=q(t,`allowCustom`,3,!1),u=q(t,`disabled`,3,!1),d=q(t,`mono`,3,!1),f=q(t,`class`,3,``),p=n+`-search-select-list`,m=j(!1),h=j(``),g=j(-1),_=j(null),v=j(null),y=A(()=>oKe(r(),R(h))),b=A(()=>sKe(r(),R(h),l())),x=A(()=>R(y).length+ +!!R(b)),S=A(()=>r().map(R8).find(e=>e&&e.value===i())||(i()?{value:i(),label:i(),description:``}:null));function C(e){return R(b)?e===0?R(b):R(y)[e-1]?.value:R(y)[e]?.value}async function w(){if(u())return;M(m,!0),M(h,``);let e=R(y).findIndex(e=>e.value===i());M(g,e>=0?e:-1,!0),await $n(),R(_)?.focus(),te()}function T(){M(m,!1),M(h,``),M(g,-1)}function ee(){R(m)?T():w()}function E(e){e!=null&&(i(String(e)),t.onchange?.(i()),T())}function te(){(R(v)?.querySelector(`.search-select-option-active`))?.scrollIntoView?.({block:`nearest`})}async function ne(e){switch(e.key){case`ArrowDown`:case`ArrowUp`:e.preventDefault(),M(g,cKe(R(g),e.key===`ArrowDown`?1:-1,R(x)),!0),await $n(),te();break;case`Enter`:e.preventDefault(),R(g)>=0?E(C(R(g))):R(x)>0&&E(C(0));break;case`Tab`:T();break;case`Escape`:e.preventDefault(),e.stopPropagation(),T();break;default:break}}dn(()=>{R(h),M(g,R(x)>0?0:-1,!0)});var re=mKe();let ie;var ae=P(re);let oe;var se=P(ae);let ce;var le=P(se),ue=P(le,!0);D(le),D(se),ni(se,kX),J(I(se,2),{get icon(){return wY},class:`search-select-chevron`}),D(ae);var de=I(ae,2),fe=e=>{var t=pKe(),n=P(t),r=P(n);J(r,{get icon(){return BY},class:`search-select-search-icon`});var a=I(r,2);yi(a),ji(a,e=>M(_,e),()=>R(_)),D(n);var s=I(n,2),c=P(s),l=e=>{var t=lKe();let n;var r=P(t),i=P(r),a=P(i,!0);D(i),D(r),ni(r,kX),D(t),L(e=>{K(t,`id`,p+`-0`),n=G(t,1,`search-select-option search-select-option-custom svelte-1yfc9j2`,null,n,{mono:d(),"search-select-option-active":R(g)===0}),H(a,e)},[()=>Co({value:R(b)})]),_r(`mouseenter`,t,()=>M(g,0)),z(`click`,t,()=>E(R(b))),V(e,t)};U(c,e=>{R(b)&&e(l)});var u=I(c,2);W(u,19,()=>R(y),e=>e.value,(e,t,n)=>{let r=A(()=>R(n)+ +!!R(b));var a=dKe();let o;var s=P(a),c=P(s),l=P(c,!0);D(c),D(s),ni(s,kX);var u=I(s,2),f=e=>{var n=uKe(),r=P(n,!0);D(n),L(()=>H(r,R(t).description)),V(e,n)};U(u,e=>{R(t).description&&e(f)});var m=I(u,2),h=e=>{J(e,{get icon(){return CY},class:`search-select-check`})};U(m,e=>{R(t).value===i()&&e(h)}),D(a),L(()=>{K(a,`id`,p+`-`+R(r)),o=G(a,1,`search-select-option svelte-1yfc9j2`,null,o,{mono:d(),"search-select-option-current":R(t).value===i(),"search-select-option-active":R(g)===R(r)}),K(a,`aria-selected`,R(t).value===i()),K(s,`title`,R(t).label),H(l,R(t).label)}),_r(`mouseenter`,a,()=>M(g,R(r))),z(`click`,a,()=>E(R(t).value)),V(e,a)});var f=I(u,2),m=e=>{var t=fKe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>bo()]),V(e,t)};U(f,e=>{R(x)===0&&e(m)}),D(s),ji(s,e=>M(v,e),()=>R(v)),D(t),L((e,t)=>{K(a,`aria-controls`,p),K(a,`aria-activedescendant`,R(g)>=0?p+`-`+R(g):void 0),K(a,`aria-label`,e),K(a,`placeholder`,t),K(s,`id`,p)},[()=>o()||_o(),()=>o()||_o()]),z(`keydown`,a,ne),Ei(a,()=>R(h),e=>M(h,e)),V(e,t)};U(de,e=>{R(m)&&e(fe)}),D(re),ni(re,()=>R(m)?OX(T):void 0),L(e=>{ie=G(re,1,ii([`search-select`,f()]),`svelte-1yfc9j2`,ie,{"search-select-open":R(m)}),K(ae,`id`,c()),oe=G(ae,1,`search-select-trigger svelte-1yfc9j2`,null,oe,{mono:d()}),K(ae,`aria-expanded`,R(m)),K(ae,`aria-controls`,R(m)?p:void 0),K(ae,`aria-label`,s()||void 0),ae.disabled=u(),ce=G(se,1,`search-select-value search-select-clip svelte-1yfc9j2`,null,ce,{"search-select-placeholder":!R(S)}),K(se,`title`,e),H(ue,R(S)?R(S).label:a())},[()=>R(S)?[R(S).label,R(S).description].filter(Boolean).join(` — `):void 0]),z(`click`,ae,ee),z(`keydown`,ae,e=>{!R(m)&&(e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),w())}),V(e,re),k()}vr([`click`,`keydown`]);var gKe=[{id:`chat`,path:`/v1/chat/completions`},{id:`responses`,path:`/v1/responses`},{id:`messages`,path:`/v1/messages`}],_Ke=`chat`,z8=[`system`,`user`,`assistant`],vKe=new Set([`chat`,`responses`,`messages`]);function B8(e){return gKe.find(t=>t.id===e)||null}function V8(e){return B8(e)?e:_Ke}function H8(e){return z8.includes(e)?e:`user`}function U8(e){return e===void 0?void 0:JSON.parse(JSON.stringify(e))}function W8(e){return String(e?.content??``)}function yKe(e){return(Array.isArray(e)?e:[]).filter(e=>W8(e).trim()!==``).map(e=>({role:H8(e.role),content:W8(e)}))}function bKe(e){let t=e.filter(e=>e.role===`system`),n=e.filter(e=>e.role!==`system`);return{system:t.length?t.map(e=>e.content).join(` -`):``,rest:n}}function xKe(e,t={}){let n=B8(e);if(!n)return null;let r=String(t.model||``).trim(),i=!!t.stream,a=SKe(t.maxTokens),o=yKe(t.messages);if(n.id===`chat`){let e={model:r,messages:o};return a&&(e.max_tokens=a),i&&(e.stream=!0),e}let{system:s,rest:c}=bKe(o);if(n.id===`responses`){let e={model:r};return s&&(e.instructions=s),e.input=c,a&&(e.max_output_tokens=a),i&&(e.stream=!0),e}let l={model:r,max_tokens:a||1024};return s&&(l.system=s),l.messages=c,i&&(l.stream=!0),l}function SKe(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:0}function G8(e,t){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&typeof e==`object`&&t.has(e.type)).map(e=>String(e.text??``)).join(``):``}function CKe(e,t){if(!t||typeof t!=`object`)return``;switch(e){case`chat`:{let e=Array.isArray(t.choices)?t.choices[0]?.message:null;return e?G8(e.content,new Set([`text`]))||String(e.refusal||``):``}case`responses`:return typeof t.output_text==`string`&&t.output_text?t.output_text:(Array.isArray(t.output)?t.output:[]).filter(e=>e&&e.type===`message`).map(e=>G8(e.content,new Set([`output_text`]))).join(``);case`messages`:return G8(t.content,new Set([`text`]));default:return``}}function wKe(e){let t=e&&typeof e==`object`?e.usage:null;if(!t||typeof t!=`object`)return null;let n=t.prompt_tokens??t.input_tokens,r=t.completion_tokens??t.output_tokens;return n===void 0&&r===void 0?null:{input:Number(n||0),output:Number(r||0)}}function TKe(e){let t=e&&typeof e==`object`?e.error:null;return t?typeof t==`string`?t:String(t.message||t.type||``):``}function EKe(e){let t={events:0,error:``,result:null},n={chat(e){t.result||={id:e.id,object:`chat.completion`,created:e.created,model:e.model,choices:[{index:0,message:{role:`assistant`,content:``},finish_reason:null}]},e.model&&!t.result.model&&(t.result.model=e.model),e.usage&&(t.result.usage=U8(e.usage));let n=Array.isArray(e.choices)?e.choices[0]:null;if(!n)return``;let r=t.result.choices[0];n.finish_reason&&(r.finish_reason=n.finish_reason);let i=n.delta||{};i.role&&(r.message.role=i.role);let a=typeof i.content==`string`?i.content:``;return r.message.content+=a,a},responses(e){t.result||={output:[]};let n=t.result.output||(t.result.output=[]);switch(e.type){case`response.output_item.added`:{let t=U8(e.item)||{};return n[e.output_index??n.length]=t,``}case`response.output_text.delta`:{let t=String(e.delta??``),r=e.output_index===void 0||e.output_index===null?n.findLast(e=>e&&e.type===`message`):n[e.output_index];(!r||r.type!==`message`)&&(r={type:`message`,role:`assistant`,content:[]},n.push(r)),Array.isArray(r.content)||(r.content=[]);let i=r.content[e.content_index??r.content.length-1];return(!i||i.type!==`output_text`)&&(i={type:`output_text`,text:``},r.content.push(i)),i.text=String(i.text||``)+t,t}case`response.created`:case`response.in_progress`:case`response.completed`:case`response.incomplete`:case`response.failed`:{let r=U8(e.response);return r?((!Array.isArray(r.output)||r.output.length===0)&&(r.output=n),t.result=r,``):``}default:return``}},messages(e){switch(e.type){case`message_start`:return t.result=U8(e.message)||{},t.result.content=[],``;case`content_block_start`:return t.result||={content:[]},t.result.content[e.index??t.result.content.length]=U8(e.content_block)||{},``;case`content_block_delta`:{t.result||={content:[]};let n=t.result.content[e.index??0]||(t.result.content[e.index??0]={}),r=e.delta||{};return r.type===`text_delta`?(n.type=n.type||`text`,n.text=(n.text||``)+String(r.text??``),String(r.text??``)):(r.type===`input_json_delta`&&(n.partial_json=(n.partial_json||``)+String(r.partial_json??``)),``)}case`message_delta`:return t.result||={content:[]},Object.assign(t.result,U8(e.delta)||{}),e.usage&&(t.result.usage={...t.result.usage||{},...U8(e.usage)}),``;default:return``}}}[e]||(()=>``);return{get events(){return t.events},get error(){return t.error},push(e){if(!e||typeof e!=`object`)return``;t.events++;let r=TKe(e);return r?(t.error=r,``):n(e)},result(){return t.result}}}function DKe(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n?.selector||n?.model?.id||``).trim();if(!e||t.has(e)||n?.access&&n.access.effective_enabled===!1)continue;let r=n?.model?.metadata?.modes;if(Array.isArray(r)&&r.length&&!r.some(e=>vKe.has(e)))continue;let i=String(n?.provider_name||``),a=i?i.toLowerCase()+`/`:``,o=a&&e.toLowerCase().startsWith(a)&&e.length>a.length?e.slice(a.length):e;t.set(e,{id:e,label:o,provider:i})}return[...t.values()].sort((e,t)=>e.id.localeCompare(t.id))}function K8(e){return Math.max(280,Math.min(760,Math.floor(Number(e||0)*.6)))}function q8(e,t){let n=K8(t),r=Number(e);return Number.isFinite(r)?Math.min(n,Math.max(280,Math.round(r))):Math.min(420,n)}function J8(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Y8={endpoint:`gomodel_playground_endpoint`,model:`gomodel_playground_model`,stream:`gomodel_playground_stream`,panel:`gomodel_playground_json_panel`},X8=new class{#e=j(N(V8(zi(Y8.endpoint,``))));get endpoint(){return R(this.#e)}set endpoint(e){M(this.#e,e,!0)}#t=j(N(zi(Y8.model,``)||``));get model(){return R(this.#t)}set model(e){M(this.#t,e,!0)}#n=j(zi(Y8.stream,`true`)!==`false`);get stream(){return R(this.#n)}set stream(e){M(this.#n,e,!0)}#r=j(N([]));get messages(){return R(this.#r)}set messages(e){M(this.#r,e,!0)}#i=j(``);get draft(){return R(this.#i)}set draft(e){M(this.#i,e,!0)}#a=j(!1);get sending(){return R(this.#a)}set sending(e){M(this.#a,e,!0)}#o=j(!1);get sendingStream(){return R(this.#o)}set sendingStream(e){M(this.#o,e,!0)}#s=j(``);get error(){return R(this.#s)}set error(e){M(this.#s,e,!0)}#c=j(null);get response(){return R(this.#c)}set response(e){M(this.#c,e,!0)}#l=j(null);get responseMeta(){return R(this.#l)}set responseMeta(e){M(this.#l,e,!0)}#u=j(zi(Y8.panel,`true`)!==`false`);get panelOpen(){return R(this.#u)}set panelOpen(e){M(this.#u,e,!0)}#d=j(`request`);get panelTab(){return R(this.#d)}set panelTab(e){M(this.#d,e,!0)}#f=A(()=>xKe(this.endpoint,{model:this.model,messages:this.messages,stream:this.stream}));get requestBody(){return R(this.#f)}set requestBody(e){M(this.#f,e)}#p=null;#m=1;get endpointPath(){return B8(this.endpoint)?.path||``}get canSend(){return!this.sending&&(this.draft.trim()!==``||this.messages.length>0)}setEndpoint(e){this.endpoint=V8(e),Bi(Y8.endpoint,this.endpoint)}setModel(e){this.model=String(e||``),Bi(Y8.model,this.model)}setStream(e){this.stream=!!e,Bi(Y8.stream,this.stream)}togglePanel(){this.panelOpen=!this.panelOpen,Bi(Y8.panel,this.panelOpen)}addMessage(e,t=``){return this.messages.push({id:this.#m++,role:H8(e),content:String(t),pending:!1}),this.messages[this.messages.length-1]}removeMessage(e){this.messages=this.messages.filter(t=>t.id!==e)}moveMessage(e,t){this.messages=nKe(this.messages,e,t)}nudgeMessage(e,t){let n=this.messages.findIndex(t=>t.id===e);n<0||this.moveMessage(n,Math.max(0,Math.min(this.messages.length-1,n+t)))}clear(){this.stop(),this.messages=[],this.error=``,this.response=null,this.responseMeta=null}stop(){this.#p&&this.#p.abort()}async send(){if(!this.canSend)return;let e=this.draft.trim();if(e&&(this.addMessage(`user`,e),this.draft=``),!String(this.model||``).trim()){this.error=Ste();return}let t=B8(this.endpoint),n=this.requestBody;if(!t||!n)return;let r=new AbortController;this.#p=r,this.sending=!0,this.sendingStream=n.stream===!0,this.error=``,this.response=null,this.responseMeta=null;let i=X.generation,a=performance.now(),o=this.addMessage(`assistant`,``);o.pending=!0;let s={status:0,durationMs:0,streamed:!1,events:0,usage:null};try{let e=await xX(t.path,{method:`POST`,body:JSON.stringify(n),signal:r.signal});if(s.status=e.status,!e.ok){let t=null;try{t=await e.json()}catch{t=null}if(this.response=t,e.status===401&&yX(t)){X.handleUnauthorized(i),this.error=TH();return}this.error=vX(t,No());return}if(n.stream===!0&&e.body&&String(e.headers.get(`Content-Type`)||``).includes(`text/event-stream`)){s.streamed=!0;let n=EKe(t.id);await I2(e.body.getReader(),e=>{let t=n.push(e);t&&(o.content+=t)}),s.events=n.events,this.response=n.result(),n.error&&(this.error=n.error)}else{let n=await e.json();this.response=n,o.content=CKe(t.id,n)}s.usage=wKe(this.response),!o.content&&!this.error&&(this.error=Dte())}catch(e){!TX(e)&&!r.signal.aborted&&(console.error(`Playground request failed:`,e),this.error=No())}finally{s.durationMs=Math.round(performance.now()-a),o.pending=!1,o.content||this.removeMessage(o.id),this.#p===r&&(this.#p=null,this.sending=!1),this.responseMeta=s,(this.response!==null||this.error)&&(this.panelTab=`response`)}}},OKe=B(``),kKe=B(`
        `);function AKe(e,t){O(t,!0);let n=q(t,`modelOptions`,19,()=>[]),r=A(()=>n().map(e=>({value:e.id,label:e.label,description:e.provider}))),i=A(()=>[{value:`chat`,label:Qa()},{value:`responses`,label:to()},{value:`messages`,label:io()}]),a={system:Oo,user:ko,assistant:Ao};var o=kKe(),s=P(o),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2);{let e=A(()=>Ya());O2(d,{get options(){return R(i)},get value(){return X8.endpoint},get ariaLabel(){return R(e)},onchange:e=>X8.setEndpoint(e)})}D(c);var f=I(c,2),p=P(f),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>uo()),t=A(()=>mo()),n=A(()=>so());hKe(h,{id:`playground-model`,class:`playground-model-select`,get options(){return R(r)},get value(){return X8.model},onchange:e=>X8.setModel(e),get placeholder(){return R(e)},get searchPlaceholder(){return R(t)},get ariaLabel(){return R(n)},allowCustom:!0,mono:!0})}D(f),D(s);var g=I(s,2),_=P(g),v=P(_,!0);D(_);var y=I(_,2);W(y,20,()=>z8,e=>e,(e,t)=>{var n=OKe(),r=P(n);J(r,{get icon(){return IY},class:`table-icon-svg`});var i=I(r,2),o=P(i,!0);D(i),D(n),L(e=>{G(n,1,ii([`btn`,`btn-with-icon`,`playground-add-btn`,`playground-role-`+t]),`svelte-1t3fm2w`),H(o,e)},[()=>a[t]()]),z(`click`,n,()=>X8.addMessage(t)),V(e,n)}),D(y);var b=I(y,2),x=P(b);D(b);var S=I(b,2),C=P(S);yi(C);var w=I(C,2),T=P(w,!0);D(w),D(S);var ee=I(S,2),E=P(ee);J(E,{get icon(){return AAe},class:`table-icon-svg`});var te=I(E,2),ne=P(te,!0);D(te),D(ee),D(g),D(o),L((e,t,n,r,i,a,o)=>{H(u,e),H(m,t),H(v,n),K(y,`aria-label`,r),K(b,`title`,i),H(x,`POST ${X8.endpointPath??``}`),xi(C,X8.stream),H(T,a),ee.disabled=X8.messages.length===0&&!X8.response&&!X8.error,H(ne,o)},[()=>Ya(),()=>so(),()=>Do(),()=>Do(),()=>Ka(),()=>Eo(),()=>ate()]),z(`change`,C,e=>X8.setStream(e.currentTarget.checked)),z(`click`,ee,()=>X8.clear()),V(e,o),k()}vr([`click`,`change`]);var jKe=B(``),MKe=B(` `),NKe=B(`
        `);function PKe(e,t){O(t,!0);let n=q(t,`message`,7);function r(e){if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;e.preventDefault(),X8.nudgeMessage(n().id,e.key===`ArrowUp`?-1:1);let t=e.currentTarget;queueMicrotask(()=>t.focus())}let i={system:Oo,user:ko,assistant:Ao};var a=NKe(),o=P(a),s=P(o);J(P(s),{get icon(){return NAe},class:`table-icon-svg`}),D(s);var c=I(s,2);W(c,20,()=>z8,e=>e,(e,t)=>{var n=jKe(),r=P(n,!0);D(n);var a={};L(e=>{H(r,e),a!==(a=t)&&(n.value=(n.__value=t)??``)},[()=>i[t]()]),V(e,n)}),D(c);var l;di(c);var u=I(c,2),d=e=>{var t=MKe(),n=I(P(t),2),r=P(n,!0);D(n),D(t),L(e=>H(r,e),[()=>Mo()]),V(e,t)};U(u,e=>{n().pending&&e(d)});var f=I(u,2);{let e=A(()=>ete());E3(f,{get label(){return R(e)},class:`table-icon-btn playground-remove-btn`,get disabled(){return n().pending},onclick:()=>X8.removeMessage(n().id),children:(e,t)=>{J(e,{get icon(){return WY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(o);var p=I(o,2);at(p),D(a),L((e,t,r,i,o)=>{G(a,1,ii([`playground-message`,`playground-message-`+n().role]),`svelte-8ie8sw`),K(a,`data-role`,n().role),K(s,`aria-label`,e),K(s,`title`,t),s.disabled=n().pending||X8.messages.length<2,K(c,`aria-label`,r),c.disabled=n().pending,l!==(l=n().role)&&(c.value=(c.__value=n().role)??``,ui(c,n().role)),K(p,`aria-label`,i),K(p,`placeholder`,o),p.readOnly=n().pending},[()=>jo(),()=>jo(),()=>Hee(),()=>i[n().role](),()=>Zee()]),z(`keydown`,s,r),z(`change`,c,e=>{n().role=e.currentTarget.value}),Ei(p,()=>n().content,e=>n().content=e),V(e,a),k()}vr([`keydown`,`change`]);var FKe=B(``),IKe=B(``),LKe=B(`
        `);function RKe(e,t){O(t,!0);function n(e){e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),X8.canSend&&X8.send())}var r=LKe(),i=P(r);at(i);var a=I(i,2),o=P(a),s=P(o,!0);D(o);var c=I(o,2),l=e=>{var t=FKe(),n=P(t);J(n,{get icon(){return ZAe},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>_te()]),V(e,t)},u=e=>{var t=IKe(),n=P(t);J(n,{get icon(){return WAe},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=!X8.canSend,H(i,e)},[()=>es()]),V(e,t)};U(c,e=>{X8.sending?e(l):e(u,-1)}),D(a),D(r),L((e,t,n)=>{K(i,`aria-label`,e),K(i,`placeholder`,t),i.disabled=X8.sending,H(s,n)},[()=>dte(),()=>mte(),()=>Ka()]),_r(`submit`,r,e=>{e.preventDefault(),X8.sending?X8.stop():X8.send()}),z(`keydown`,i,n),Ei(i,()=>X8.draft,e=>X8.draft=e),V(e,r),k()}vr([`keydown`]);var zKe=B(``);function Z8(e,t){O(t,!0);let n=q(t,`label`,3,`Copy`),r=q(t,`copiedLabel`,3,`Copied`),i=q(t,`errorLabel`,3,``),a=q(t,`class`,3,`btn`),o=A(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=zKe();let c;var l=P(s),u=e=>{J(e,{get icon(){return EY},width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{J(e,{get icon(){return OY},width:`14`,height:`14`})};U(l,e=>{t.state.copied?e(u):e(d,-1)});var f=I(l,2),p=P(f,!0);D(f),D(s),L(()=>{c=G(s,1,ii([`copy-feedback-btn`,a()]),null,c,{"copy-feedback-btn-copied":t.state.copied}),H(p,R(o))}),z(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),V(e,s),k()}vr([`click`]);var Q8=null;function BKe(){return Q8===null&&(Q8=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`)),!!(Q8&&Q8.matches)}function $8(e){return BKe()?0:e}function VKe(e,t){return!t||!t.live?{duration:0}:IX(e,{duration:$8(150)})}var HKe=B(`

         
        `,1),e5=B(`

        `),UKe=B(`

        `),WKe=B(`
         
        `,1),GKe=B(``);function KKe(e,t){O(t,!0);let n=`gomodel_playground_json_panel_width`,r=typeof window>`u`?1280:window.innerWidth,i=Number(zi(n,420))||420,a=j(N(q8(i,r))),o=j(N(K8(r))),s=null,c=x3({logPrefix:`Failed to copy playground JSON:`}),l=A(()=>[{value:`request`,label:Io()},{value:`response`,label:Lo()}]),u=A(()=>J8(X8.requestBody)),d=A(()=>J8(X8.response)),f=A(()=>X8.panelTab===`request`?R(u):R(d));function p(e){if(!e)return[];let t=[];return e.status&&t.push($te({status:e.status})),t.push(nne({seconds:(e.durationMs/1e3).toFixed(2)})),e.usage&&t.push(ane({input:e.usage.input,output:e.usage.output})),e.streamed&&t.push(cne({count:e.events})),t}function m(e){M(a,q8(window.innerWidth-e,window.innerWidth),!0),i=R(a)}function h(e){e.button===0&&(e.preventDefault(),s=e.pointerId,e.currentTarget.setPointerCapture(e.pointerId),m(e.clientX))}function g(e){e.pointerId===s&&m(e.clientX)}function _(e){s===null||e.pointerId!==s||(s=null,Bi(n,i))}function v(e){e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),M(a,q8(R(a)+(e.key===`ArrowLeft`?24:-24),window.innerWidth),!0),i=R(a),Bi(n,i))}dn(()=>{if(!X8.panelOpen)return;let e=()=>{M(o,K8(window.innerWidth),!0),M(a,q8(i,window.innerWidth),!0)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)});var y=Tr(),b=F(y),x=e=>{var t=GKe();let n;var r=P(t),i=I(r,2),s=P(i),m=P(s,!0);D(s);var y=I(s,2);{let e=A(()=>Fo());O2(y,{get options(){return R(l)},get value(){return X8.panelTab},get ariaLabel(){return R(e)},onchange:e=>{X8.panelTab=e}})}var b=I(y,2),x=P(b);{let e=A(()=>qte()),t=A(()=>hc()),n=A(()=>ts());Z8(x,{get state(){return c},get label(){return R(e)},get copiedLabel(){return R(t)},get errorLabel(){return R(n)},onclick:()=>c.copy(R(f))})}var S=I(x,2);{let e=A(()=>Po());DX(S,{get label(){return R(e)},onclick:()=>X8.togglePanel()})}D(b),D(i);var C=I(i,2),w=P(C),T=e=>{var t=HKe(),n=F(t),r=P(n);D(n);var i=I(n,2),a=P(i,!0);D(i),L(()=>{H(r,`POST ${X8.endpointPath??``}`),H(a,R(u))}),V(e,t)},ee=e=>{var t=e5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>X8.sendingStream?Wte():Mo()]),V(e,t)},E=e=>{var t=e5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Vte()]),V(e,t)},te=e=>{var t=WKe(),n=F(t),r=e=>{var t=UKe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>p(X8.responseMeta).join(` · `)]),V(e,t)};U(n,e=>{X8.responseMeta&&e(r)});var i=I(n,2),a=P(i,!0);D(i),L(()=>H(a,R(d))),V(e,t)};U(w,e=>{X8.panelTab===`request`?e(T):X8.sending&&X8.response===null?e(ee,1):X8.response===null?e(E,2):e(te,-1)}),D(C),D(t),L((e,i,s)=>{n=li(t,``,n,{"--playground-json-panel-width":R(a)+`px`}),K(r,`aria-label`,e),K(r,`aria-valuemin`,280),K(r,`aria-valuemax`,R(o)),K(r,`aria-valuenow`,R(a)),H(m,i),K(C,`aria-label`,s)},[()=>Xte(),()=>Fo(),()=>X8.panelTab===`request`?Io():Lo()]),z(`pointerdown`,r,h),z(`pointermove`,r,g),z(`pointerup`,r,_),_r(`pointercancel`,r,_),z(`keydown`,r,v),$r(3,t,()=>IX,()=>({axis:`x`,duration:$8(180),easing:LX})),V(e,t)};U(b,e=>{X8.panelOpen&&e(x)}),V(e,y),k()}vr([`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var qKe=B(``),JKe=B(`

        `),YKe=B(`
        `);function XKe(e,t){O(t,!0);let n=A(()=>DKe(sZ.models));dn(()=>{QY.page!==`playground`||X8.model||R(n).length===0||X8.setModel(R(n)[0].id)});let r=j(null);dn(()=>{let e=X8.messages[X8.messages.length-1];e?.content,!(!R(r)||!e?.pending)&&(R(r).scrollTop=R(r).scrollHeight)});var i=YKe();let a;var o=P(i),s=P(o),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u),f=P(d);J(f,{get icon(){return xAe},class:`table-icon-svg`});var p=I(f,2),m=P(p,!0);D(p),D(d),D(u),D(s);var h=I(s,2);AKe(h,{get modelOptions(){return R(n)}});var g=I(h,2),_=e=>{var t=qKe(),n=P(t,!0);D(t),L(()=>H(n,X8.error)),V(e,t)};U(g,e=>{X8.error&&e(_)});var v=I(g,2),y=P(v),b=e=>{var t=JKe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>cte()]),V(e,t)},x=e=>{var t=Tr();W(F(t),17,()=>X8.messages,e=>e.id,(e,t)=>{PKe(e,{get message(){return R(t)}})}),V(e,t)};U(y,e=>{X8.messages.length===0?e(b):e(x,-1)}),D(v),ji(v,e=>M(r,e),()=>R(r)),ni(v,()=>aKe({onreorder:(e,t)=>X8.moveMessage(e,t)})),RKe(I(v,2),{}),D(o),KKe(I(o,2),{}),D(i),L((e,t,n)=>{a=G(i,1,`playground svelte-l6u7qi`,null,a,{"playground-panel-open":X8.panelOpen}),K(o,`aria-label`,e),H(l,t),K(d,`aria-pressed`,X8.panelOpen),H(m,n)},[()=>Ua(),()=>Ua(),()=>X8.panelOpen?Po():Ate()]),z(`click`,d,()=>X8.togglePanel()),V(e,i),k()}vr([`click`]);var ZKe=`draft-workflow-preview`;function t5(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function n5(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function QKe(e){return{ref:``,step:Number.isFinite(e)?e:10}}function r5(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function i5(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function $Ke(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function a5(e){return{cache:!!i5(e,`cache`,!1),audit:!!i5(e,`audit`,!1),usage:!!i5(e,`usage`,!1),budget:i5(e,`budget`,!0)!==!1,guardrails:!!i5(e,`guardrails`,!1),failover:i5(e,`failover`,!0)!==!1}}function o5(e,t){let n=a5(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function s5(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...o5((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:a5(n).failover}}function eqe(e,t){return s5(e,t).failover?mve():_ve()}function c5(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:r5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function tqe(e,t){return s5(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function l5(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function u5(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function d5(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=u5(e);t&&n.add(t)}),[...n].sort()}function f5(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&u5(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function nqe(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?rye():t===`provider_model_path`?oye():t===`provider_path`?lye():t===`path`?fye():t===`provider`?hye():vye()}function p5(e){return String(e&&e.scope_display||`global`).trim()||`global`}function m5(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=p5(e);return n===`global`?xye():n}function h5(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return jU();if(t.includes(`:`))return PU()}}return``}function g5(e){if(h5(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function _5(e){let t=e||t5(),n=String(t.scope_provider||``).trim(),r=g5(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function v5(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=g5(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function rqe(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=g5(e&&e.scope_user_path),i=v5({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function iqe(e,t){let n=t||n5(),r=l5(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=g5(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===g5(n.scope_user_path)}function y5(e,t,n){let r=_5(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>iqe(e,r))||null}function b5(e){return String(e&&e.scope_type||``).trim()!==`global`}function aqe(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function oqe(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,l5(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function sqe(e,t){let n=e||t5(),r=_5(n),i=a5(n.features||{}),a=o5(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?c5(n):[];return{id:ZKe,scope_type:v5(r),scope_display:rqe(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function cqe({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||t5(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=g5(a.scope_user_path),l=a5(a.features||{}),u=o5(l,t),d=y5(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=$Ke(f,`failover`),m=p?i5(f,`failover`,!0)!==!1:null,h=i||n5(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&g5(h.scope_user_path)===g5(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:r5(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function lqe(e,{models:t=[],hydratedScope:n=null}={}){let r=n||n5(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!d5(t,r).includes(o)&&o!==i)return wye();if(s&&!o)return Dye();if(s){let e=f5(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return Aye()}let c=h5(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return Nye();if(!Number.isInteger(e.step)||e.step<0)return Iye();if(d.has(e.ref))return zye();d.add(e.ref)}return``}var x5=new class{#e=j(N([]));get workflows(){return R(this.#e)}set workflows(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get formOpen(){return R(this.#a)}set formOpen(e){M(this.#a,e,!0)}#o=j(!1);get submitting(){return R(this.#o)}set submitting(e){M(this.#o,e,!0)}#s=j(``);get deactivatingID(){return R(this.#s)}set deactivatingID(e){M(this.#s,e,!0)}#c=j(``);get formError(){return R(this.#c)}set formError(e){M(this.#c,e,!0)}#l=j(!1);get formHydrated(){return R(this.#l)}set formHydrated(e){M(this.#l,e,!0)}#u=j(N(n5()));get hydratedScope(){return R(this.#u)}set hydratedScope(e){M(this.#u,e,!0)}#d=j(N([]));get guardrailRefs(){return R(this.#d)}set guardrailRefs(e){M(this.#d,e,!0)}#f=j(N(t5()));get form(){return R(this.#f)}set form(e){M(this.#f,e,!0)}#p=null;failoverVisible(){return EX.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:EX.cacheVisible(),audit:EX.auditVisible(),usage:EX.usageVisible(),budget:EX.budgetsVisible(),guardrails:EX.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return oqe(this.workflows,this.filter)}providerOptions(){return d5(sZ.models,this.hydratedScope)}modelOptions(e){return f5(sZ.models,e,this.hydratedScope)}activeScopeMatch(){return y5(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?W_e():SN()}submittingLabel(){return this.submitMode()===`save`?q_e():X_e()}preview(){return sqe(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=n5(),this.form=t5();return}this.formHydrated=!0,this.hydratedScope={scope_provider:l5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?a5(e.workflow_payload.features):s5(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:r5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):c5(e);this.form={scope_provider:l5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=n5(),this.form=t5()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(QKe(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return cqe({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4),n=await D3(`/admin/workflows`,{label:`workflows`,options:{signal:e.signal}});if(clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1,n.status!==`stale`)){if(n.status===`unavailable`){this.available=!1,this.workflows=[];return}if(n.result&&(this.available=!0),n.status===`error`){this.workflows=[],this.error=e.signal.aborted?nve():n.error;return}this.workflows=n.items}}async fetchGuardrailRefs(){let e=await D3(`/admin/workflows/guardrails`,{label:`workflow guardrails`});e.status!==`stale`&&(this.guardrailRefs=e.items)}async fetchPage(){await Promise.all([EX.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=lqe(e,{models:sZ.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await O3(`/admin/workflows`,`POST`,e,{label:`create workflow`,unavailableStatuses:[]});if(t.status===`stale`||t.result&&t.result.status===401)return;if(t.status===`error`){this.formError=t.error;return}RX.success(ave()),this.closeForm(),this.fetchPage()}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!b5(e))return;let n=m5(e);if(confirm(cve({name:n}))){this.deactivatingID=t;try{let e=await O3(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`,unavailableStatuses:[]});if(e.status===`stale`||e.result&&e.result.status===401)return;if(e.status===`error`){RX.error(e.error);return}RX.success(dve()),this.fetchPage()}finally{this.deactivatingID=``}}}},uqe=B(``);function dqe(e,t){O(t,!0);let n=q(t,`workflowID`,3,``),r=x3({logPrefix:`Failed to copy workflow ID:`});dn(()=>{n(),r.reset()});let i=A(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=A(()=>n()?R(i)+` `+n():R(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=uqe();let c;var l=I(P(s),4),u=P(l,!0);D(l);var d=I(l,2);J(P(d),{get icon(){return OY}}),D(d),D(s),L(()=>{c=G(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),K(s,`title`,R(i)),K(s,`aria-label`,R(a)),H(u,n())}),z(`click`,s,o),V(e,s),k()}vr([`click`]);var S5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=gt(()=>h((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=hqe(),l=P(c),u=e=>{var t=fqe();let r;J(P(t),{get icon(){return n()}}),D(t),L(()=>r=G(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":R(i)===`workflow-node-endpoint`})),V(e,t)};U(l,e=>{n()&&e(u)});var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=e=>{var t=pqe(),n=P(t,!0);D(t),L(()=>H(n,s())),V(e,t)};U(p,e=>{s()&&e(m)});var g=I(p,2),_=e=>{var t=mqe(),n=P(t,!0);D(t),L(()=>H(n,o())),V(e,t)};U(g,e=>{o()&&e(_)}),D(c),L(()=>{G(c,1,ii([`workflow-node`,R(i),a()]),`svelte-nbptrg`),H(f,r())}),V(e,c)},fqe=B(`
        `),pqe=B(` `),mqe=B(` `),hqe=B(`
        `),C5=B(`
        `,1),w5=B(`
        `,1),gqe=B(`
        `),_qe=B(`
        `),vqe=B(`
        `);function T5(e,t){O(t,!0);let n=q(t,`chart`,19,()=>({}));var r=vqe(),i=P(r),a=e=>{dqe(e,{get workflowID(){return n().workflowID}})};U(i,e=>{n().workflowID&&e(a)});var o=I(i,2),s=P(o);{let e=A(()=>({icon:eje,label:xke(),variant:`workflow-node-endpoint`}));S5(s,()=>R(e))}var c=I(s,4);{let e=A(()=>({icon:AY,label:wke(),state:n().authNodeClass,sub:n().authNodeSublabel}));S5(c,()=>R(e))}var l=I(c,2),u=e=>{var t=C5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:AY,label:sP(),state:n().cacheNodeClass,badge:n().cacheStatusLabel}));S5(i,()=>R(e))}L(()=>G(r,1,ii([`workflow-conn`,n().cacheConnClass]),`svelte-nbptrg`)),V(e,t)};U(l,e=>{n().showCache&&e(u)});var d=I(l,2),f=e=>{var t=w5(),r=I(F(t),2);{let e=A(()=>({icon:KY,label:gP(),state:n().budgetNodeClass,badge:n().budgetStatusLabel}));S5(r,()=>R(e))}V(e,t)};U(d,e=>{n().showBudget&&e(f)});var p=I(d,2),m=e=>{var t=w5(),r=I(F(t),2);{let e=A(()=>({icon:YAe,label:pA(),sub:n().guardrailLabel}));S5(r,()=>R(e))}V(e,t)};U(p,e=>{n().showGuardrails&&e(m)});var h=I(p,2),g=I(h,2);S5(g,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var _=I(g,2),v=e=>{var t=C5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:PY,label:yP(),state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel}));S5(i,()=>R(e))}L(()=>G(r,1,ii([`workflow-conn`,n().failoverConnClass]),`svelte-nbptrg`)),V(e,t)};U(_,e=>{n().showFailover&&e(v)});var y=I(_,2),b=I(y,2);{let e=A(()=>({icon:OAe,label:Dke(),variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel}));S5(b,()=>R(e))}D(o);var x=I(o,2),S=e=>{var t=_qe(),r=P(t),i=e=>{{let t=A(()=>({icon:wAe,label:pP(),variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}));S5(e,()=>R(t))}};U(r,e=>{n().showUsage&&e(i)});var a=I(r,2),o=e=>{V(e,gqe())};U(a,e=>{n().showUsage&&n().showAudit&&e(o)});var s=I(a,2),c=e=>{{let t=A(()=>({icon:jAe,label:Ake(),variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}));S5(e,()=>R(t))}};U(s,e=>{n().showAudit&&e(c)});var l=I(s,4),u=P(l,!0);D(l),D(t),L(e=>H(u,e),[()=>uA()]),V(e,t)};U(x,e=>{n().showAsync&&e(S)}),D(r),L(()=>{G(h,1,ii([`workflow-conn`,n().aiConnClass]),`svelte-nbptrg`),G(y,1,ii([`workflow-conn`,n().responseConnClass]),`svelte-nbptrg`)}),V(e,r),k()}function yqe(e){let t=c5(e).length;return t===0?``:t===1?Tve():BJ({count:t})}function bqe(e,t){return t&&t.provider?t.provider:l5(e&&e.scope)||`AI`}function xqe(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function Sqe(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function Cqe(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:a5(t)}function E5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function D5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return D5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=D5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:D5(e.error,t+1)):``}function O5(e){return e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{}}function wqe(e){let t=O5(e);return String(t.error_code||t.errorCode||``).trim()||D5(t.response_body)}function Tqe(e){return String(e&&e.error_type||``).trim().toLowerCase()===`authentication_error`&&!String(O5(e).error_provider||``).trim()}function Eqe(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function Dqe(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=E5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=Eqe(n);if(i)return i;let a=l5(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function Oqe(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=E5(e),o=Dqe(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=Tqe(e),l=String(e.auth_method||``).trim().toLowerCase()||null,u=wqe(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function kqe(e){return!!(e&&e.cacheHit)}function Aqe(e){return!!(e&&e.failoverTarget)}function k5(e){return!!(e&&e.budgetExceeded)}function jqe(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function Mqe(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function Nqe(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?Nke():Ike()}function Pqe(e,t,n,r){return e?k5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function Fqe(e){return k5(e)?zke():null}function Iqe(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function Lqe(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function Rqe(e){return e&&e.failoverTarget?Hke():null}function zqe(e){return e&&e.failoverTarget?e.failoverTarget:null}function A5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function Bqe(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function Vqe(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function Hqe(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function Uqe(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function Wqe(e){return!e||!e.authMethod?null:e.authMethod}function j5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function M5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function Gqe(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function N5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function P5(e,t){return!e||!e._live||M5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function Kqe(e,t,n){return!e||!e._live?``:N5(e)?`usage`:P5(e,t)?`audit`:M5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function F5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?a5(i.features):s5(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||k5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||Aqe(t),m=Sqe(e,i.entry),h=Kqe(i.entry,t,a),g=N5(i.entry),_=P5(i.entry,t),v=M5(i.entry,s),y=Gqe(i.entry,s);return{showBudget:c,budgetNodeClass:Pqe(c,t,s,h===`budget`),budgetStatusLabel:Fqe(t),showGuardrails:l,guardrailLabel:l?yqe(e):``,showCache:!!i.forceCache||!!a.cache||kqe(t),cacheNodeClass:jqe(t,h===`cache`),cacheConnClass:Mqe(t),cacheStatusLabel:Nqe(t),showFailover:p,failoverNodeClass:p?Iqe(t):``,failoverConnClass:p?Lqe(t):``,failoverStatusLabel:p?Rqe(t):null,failoverTargetLabel:p?zqe(t):null,aiLabel:bqe(e,t),aiSublabel:xqe(e,t),aiConnClass:A5(t),aiNodeClass:Bqe(t,h===`ai`),responseConnClass:A5(t),responseNodeClass:Vqe(t,h===`response`),responseNodeSublabel:Hqe(t),authNodeClass:Uqe(t,h===`auth`),authNodeSublabel:Wqe(t),usageNodeClass:j5(u,y,g),auditNodeClass:j5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function qqe(e,t){return F5(e,null,{forceCache:!1},t)}function Jqe(e,t,n){return F5(t,Oqe(e,t),{entry:e,features:Cqe(e)||(t?s5(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var Yqe=B(`

        `),I5=B(`

        `),Xqe=B(`
        `),Zqe=B(`
        `),Qqe=B(`

        `),$qe=B(``),eJe=B(`

        `);function L5(e,t){O(t,!0);let n=q(t,`preview`,3,!1),r=A(()=>x5.featureCaps()),i=A(()=>m5(t.workflow)),a=A(()=>tqe(t.workflow,R(r))),o=A(()=>qqe(t.workflow,R(r))),s=A(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=eJe();let l;var u=P(c),d=P(u),f=P(d),p=P(f,!0);D(f);var m=I(f,2),h=P(m,!0);D(m),D(d);var g=I(d,2),_=P(g),v=P(_,!0);D(_),D(g),D(u);var y=I(u,2),b=e=>{var n=Yqe(),r=P(n,!0);D(n),L(()=>H(r,t.workflow.description)),V(e,n)};U(y,e=>{t.workflow.description&&e(b)});var x=I(y,2),S=e=>{var n=I5(),i=P(n);D(n),L((e,t)=>H(i,`${e??``}: ${t??``}`),[()=>yP(),()=>eqe(t.workflow,R(r))]),V(e,n)},C=A(()=>x5.failoverVisible());U(x,e=>{R(C)&&e(S)});var w=I(x,2);T5(w,{get chart(){return R(o)}});var T=I(w,2),ee=e=>{var t=Qqe(),n=P(t),r=P(n),i=P(r,!0);D(r);var o=I(r,2),c=P(o,!0);D(o),D(n);var l=I(n,2),u=e=>{var t=Zqe();W(t,23,()=>R(a),(e,t)=>R(s)+t,(e,t)=>{var n=Xqe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a),D(n),L(e=>{H(i,R(t).ref),H(o,e)},[()=>Ove({number:R(t).step})]),V(e,n)}),D(t),V(e,t)},d=e=>{var t=I5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gA()]),V(e,t)};U(l,e=>{R(a).length>0?e(u):e(d,-1)}),D(t),L((e,t)=>{H(i,e),H(c,t)},[()=>pA(),()=>R(a).length?BJ({count:R(a).length}):bve()]),V(e,t)},E=A(()=>EX.guardrailsVisible());U(T,e=>{R(E)&&e(ee)});var te=I(T,2),ne=e=>{var n=$qe(),r=P(n),a=P(r),o=P(a,!0);D(a);var s=I(a,2);{let e=A(()=>Kve({name:R(i)}));E3(s,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>x5.openCreate(t.workflow),children:(e,t)=>{J(e,{get icon(){return FY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(r);var c=I(r,2),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p),D(c),D(n),L((e,t,n,r,i,s,c)=>{a.disabled=e,K(a,`aria-label`,t),K(a,`title`,n),H(o,r),H(u,i),H(f,s),H(m,c)},[()=>x5.deactivatingID===t.workflow.id||!b5(t.workflow),()=>jve({name:R(i)}),()=>b5(t.workflow)?Pve():Lve(),()=>x5.deactivatingID===t.workflow.id?Bve():Uve(),()=>Jve({version:t.workflow.version}),()=>Zve({date:_X.formatTimestamp(t.workflow.created_at)}),()=>eye({hash:aqe(t.workflow.workflow_hash)})]),z(`click`,a,()=>x5.deactivate(t.workflow)),V(e,n)};U(te,e=>{n()||e(ne)}),D(c),L((e,t)=>{l=G(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),H(p,e),H(h,R(i)),H(v,t)},[()=>nqe(t.workflow),()=>p5(t.workflow)]),V(e,c),k()}vr([`click`]);var tJe=B(`

        `),R5=B(``),nJe=B(``),rJe=B(``),iJe=B(``),aJe=B(``),oJe=B(``),z5=B(``),sJe=B(`
        `),cJe=B(`
        `),lJe=B(`
        `),uJe=B(`

        `),dJe=B(`

        `),fJe=B(`

        `,1);function pJe(e,t){O(t,!0);{let t=e=>{{let t=e=>{var t=tJe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>x5.submitMode()===`save`?yN():SN()]),V(e,t)},n=A(()=>pN()),r=A(()=>gN());z4(e,{copyId:`workflow-help-copy`,get label(){return R(n)},get text(){return R(r)},title:t,$$slots:{title:!0}})}},n=A(()=>uN()),r=A(()=>x5.submitLabel()),i=A(()=>x5.submittingLabel()),a=A(()=>x5.submitMode()===`create`?IY:zY);$3(e,{get open(){return x5.formOpen},get ariaLabel(){return R(n)},get error(){return x5.formError},get submitting(){return x5.submitting},get submitLabel(){return R(r)},get submittingLabel(){return R(i)},get submitIcon(){return R(a)},dialogClass:`workflow-editor`,onclose:()=>x5.closeForm(),onsubmit:()=>x5.submitForm(),header:t,children:(e,t)=>{var n=fJe(),r=F(n),i=P(r);{let e=A(()=>TN());e6(i,{id:`workflow-scope-provider`,get label(){return R(e)},children:(e,t)=>{var n=nJe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),16,()=>x5.providerOptions(),e=>e,(e,t)=>{var n=R5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>ON()]),z(`change`,n,e=>x5.setProvider(e.currentTarget.value)),fi(n,()=>x5.form.scope_provider,e=>x5.form.scope_provider=e),V(e,n)},$$slots:{default:!0}})}var a=I(i,2),o=e=>{{let t=A(()=>jN());e6(e,{id:`workflow-scope-model`,get label(){return R(t)},children:(e,t)=>{var n=rJe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),17,()=>x5.modelOptions(x5.form.scope_provider),e=>x5.form.scope_provider+`-`+e,(e,t)=>{var n=R5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t)),i!==(i=R(t))&&(n.value=(n.__value=R(t))??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>PN()]),fi(n,()=>x5.form.scope_model,e=>x5.form.scope_model=e),V(e,n)},$$slots:{default:!0}})}};U(a,e=>{x5.form.scope_provider&&e(o)});var s=I(a,2);{let e=A(()=>LN());e6(s,{id:`workflow-name`,get label(){return R(e)},children:(e,t)=>{var n=iJe();yi(n),L(e=>K(n,`placeholder`,e),[()=>BN()]),Ei(n,()=>x5.form.name,e=>x5.form.name=e),V(e,n)},$$slots:{default:!0}})}var c=I(s,2);{let e=A(()=>UN());e6(c,{id:`workflow-user-path`,get label(){return R(e)},children:(e,t)=>{var n=aJe();yi(n),Ei(n,()=>x5.form.scope_user_path,e=>x5.form.scope_user_path=e),V(e,n)},$$slots:{default:!0}})}D(r);var l=I(r,2),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>tP());e6(h,{id:`workflow-description`,get label(){return R(e)},children:(e,t)=>{var n=oJe();at(n),L(e=>K(n,`placeholder`,e),[()=>iP()]),Ei(n,()=>x5.form.description,e=>x5.form.description=e),V(e,n)},$$slots:{default:!0}})}var g=I(h,2),_=P(g),v=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>sP()]),Di(n,()=>x5.form.features.cache,e=>x5.form.features.cache=e),V(e,t)},y=A(()=>EX.cacheVisible());U(_,e=>{R(y)&&e(v)});var b=I(_,2),x=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>uP()]),Di(n,()=>x5.form.features.audit,e=>x5.form.features.audit=e),V(e,t)},S=A(()=>EX.auditVisible());U(b,e=>{R(S)&&e(x)});var C=I(b,2),w=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>pP()]),Di(n,()=>x5.form.features.usage,e=>x5.form.features.usage=e),V(e,t)},T=A(()=>EX.usageVisible());U(C,e=>{R(T)&&e(w)});var ee=I(C,2),E=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>gP()]),Di(n,()=>x5.form.features.budget,e=>x5.form.features.budget=e),V(e,t)},te=A(()=>EX.budgetsVisible());U(ee,e=>{R(te)&&e(E)});var ne=I(ee,2),re=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>pA()]),Di(n,()=>x5.form.features.guardrails,e=>x5.form.features.guardrails=e),V(e,t)},ie=A(()=>EX.guardrailsVisible());U(ne,e=>{R(ie)&&e(re)});var ae=I(ne,2),oe=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>yP()]),Di(n,()=>x5.form.features.failover,e=>x5.form.features.failover=e),V(e,t)},se=A(()=>x5.failoverVisible());U(ae,e=>{R(se)&&e(oe)}),D(g);var ce=I(g,2),le=P(ce),ue=P(le),de=P(ue,!0);D(ue);var fe=I(ue,2),pe=P(fe,!0);D(fe),D(le);var me=I(le,2);{let e=A(()=>x5.preview());L5(me,{get workflow(){return R(e)},preview:!0})}D(ce);var he=I(ce,2),ge=e=>{var t=dJe(),n=P(t),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o,!0);D(o),D(r);var c=I(r,2),l=P(c,!0);D(c),D(n);var u=I(n,2),d=e=>{var t=sJe(),n=P(t),r=P(n,!0);D(n);var i=I(n,2),a=P(i,!0);D(i),D(t),L((e,t)=>{H(r,e),H(a,t)},[()=>LP(),()=>BP()]),z(`click`,i,()=>QY.navigate(`guardrails`)),V(e,t)};U(u,e=>{x5.guardrailRefs.length===0&&e(d)});var f=I(u,2),p=e=>{var t=lJe();W(t,21,()=>x5.form.guardrails,Ar,(e,t,n)=>{var r=cJe(),i=P(r),a=P(i);K(a,`for`,`workflow-guardrail-ref-`+n);var o=P(a,!0);D(a);var s=I(a,2);yi(s),K(s,`id`,`workflow-guardrail-ref-`+n),D(i);var c=I(i,2),l=P(c);K(l,`for`,`workflow-guardrail-step-`+n);var u=P(l,!0);D(l);var d=I(l,2);yi(d),K(d,`id`,`workflow-guardrail-step-`+n),D(c);var f=I(c,2),p=P(f,!0);D(f),D(r),L((e,t,n,r,i,a,c)=>{H(o,e),K(s,`placeholder`,t),K(s,`aria-label`,n),H(u,r),K(d,`placeholder`,i),K(d,`aria-label`,a),H(p,c)},[()=>UP(),()=>UP(),()=>`${UP()} ${n+1}`,()=>KP(),()=>KP(),()=>`${OP()} ${n+1}`,()=>YP()]),Ei(s,()=>R(t).ref,e=>R(t).ref=e),Ei(d,()=>R(t).step,e=>R(t).step=e),z(`click`,f,()=>x5.removeGuardrailStep(n)),V(e,r)}),D(t),V(e,t)},m=e=>{var t=uJe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>QP()]),V(e,t)};U(f,e=>{x5.form.guardrails.length>0?e(p):e(m,-1)}),D(t),L((e,t,n)=>{H(a,e),H(s,t),H(l,n)},[()=>OP(),()=>jP(),()=>PP()]),z(`click`,c,()=>x5.addGuardrailStep()),V(e,t)},_e=A(()=>x5.form.features.guardrails&&EX.guardrailsVisible());U(he,e=>{R(_e)&&e(ge)}),L((e,t,n,r,i)=>{H(u,e),H(f,t),H(m,n),H(de,r),H(pe,i)},[()=>KN(),()=>YN(),()=>QN(),()=>SP(),()=>TP()]),V(e,n)},$$slots:{header:!0,default:!0}})}k()}vr([`change`,`click`]);var mJe=B(`
        `),B5=B(`

        `),hJe=B(`
        `);function gJe(e,t){O(t,!0);var n=hJe(),r=P(n),i=e=>{{let t=A(()=>$_e());B4(e,{get label(){return R(t)}})}};U(r,e=>{x5.loading&&!X.authError&&e(i)});var a=I(r,2),o=e=>{var t=mJe();W(t,21,()=>x5.filteredWorkflows,e=>e.id,(e,t)=>{L5(e,{get workflow(){return R(t)}})}),D(t),V(e,t)};U(a,e=>{x5.filteredWorkflows.length>0&&e(o)});var s=I(a,2),c=e=>{var t=B5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>iA()]),V(e,t)};U(s,e=>{x5.workflows.length===0&&!x5.loading&&!X.authError&&x5.available&&e(c)});var l=I(s,2),u=e=>{var t=B5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>sA()]),V(e,t)};U(l,e=>{x5.workflows.length>0&&x5.filteredWorkflows.length===0&&!x5.loading&&e(u)}),D(n),V(e,n),k()}var _Je=B(``),V5=B(`
        `),vJe=B(`
        `),yJe=B(``),bJe=B(`
        `);function xJe(e,t){O(t,!0),dn(()=>{X.refreshTick,x5.fetchPage()});var n=bJe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i);var l=I(i,2),u=P(l),d=e=>{var t=_Je(),n=P(t);J(n,{get icon(){return IY},class:`form-action-icon`,"aria-hidden":`true`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>Kk()]),z(`click`,t,()=>x5.openCreate()),V(e,t)};U(u,e=>{x5.available&&e(d)}),D(l),D(r);var f=I(r,2),p=e=>{var t=V5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Yk()]),V(e,t)};U(f,e=>{!x5.available&&!X.authError&&e(p)});var m=I(f,2),h=e=>{var t=V5(),n=P(t,!0);D(t),L(()=>H(n,x5.error)),V(e,t)};U(m,e=>{x5.error&&!X.authError&&e(h)});var g=I(m,2),_=e=>{var t=vJe(),n=P(t),r=P(n);{let e=A(()=>Qk()),t=A(()=>tA());g3(r,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return x5.filter},set value(e){x5.filter=e}})}D(n);var i=I(n,2),a=P(i),o=P(a,!0);D(a),D(i),D(t),L(()=>H(o,x5.filteredWorkflows.length+` active scopes`)),V(e,t)};U(g,e=>{x5.available&&e(_)});var v=I(g,2);pJe(v,{});var y=I(v,2);gJe(y,{});var b=I(y,2);W(b,20,()=>x5.guardrailRefs,e=>e,(e,t)=>{var n=yJe(),r={};L(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(b),D(n),L((e,t)=>{H(o,e),H(c,t)},[()=>Bk(),()=>Uk()]),V(e,n),k()}vr([`click`]);function SJe(e,{from:t,to:n},r={}){var{delay:i=0,duration:a=e=>Math.sqrt(e)*120,easing:o=LX}=r,s=getComputedStyle(e),c=s.transform===`none`?``:s.transform,[l,u]=s.transformOrigin.split(` `).map(parseFloat);l/=e.clientWidth,u/=e.clientHeight;var d=CJe(e),f=e.clientWidth/n.width/d,p=e.clientHeight/n.height/d,m=t.left+t.width*l,h=t.top+t.height*u,g=n.left+n.width*l,_=n.top+n.height*u,v=(m-g)*f,y=(h-_)*p,b=t.width/n.width,x=t.height/n.height;return{delay:i,duration:typeof a==`function`?a(Math.sqrt(v*v+y*y)):a,easing:o,css:(e,t)=>`transform: ${c} translate(${t*v}px, ${t*y}px) scale(${e+t*b}, ${e+t*x});`}}function CJe(e){if(`currentCSSZoom`in e)return e.currentCSSZoom;for(var t=e,n=1;t!==null;)n*=+getComputedStyle(t).zoom,t=t.parentElement;return n}var H5=new class{#e=j(N({}));get workflowVersionsByID(){return R(this.#e)}set workflowVersionsByID(e){M(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:EX.cacheVisible(),audit:EX.auditVisible(),usage:EX.usageVisible(),budget:EX.budgetsVisible(),guardrails:EX.guardrailsVisible(),failover:EX.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await CX(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}},U5=6;function W5(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function G5(e,t=0,n=null){let r=String(e||``).trim();if(!r)return``;if(t>U5)return r;let i=W5(r);return i==null?r:K5(i,t+1,n)||n&&n(i)||r}function K5(e,t=0,n=null,r=null){if(e==null||t>U5)return``;if(typeof e==`string`){let i=W5(e.trim());return i==null?``:K5(i,t+1,n,r)}if(typeof e!=`object`)return``;let i=r||new Set;if(i.has(e))return``;if(i.add(e),Array.isArray(e)){for(let r=0;r=400||EJe(t&&t.response_body)}function OJe(e){let t=e&&e.data?e.data:null;return t?wJe(t.error_message)||(DJe(e,t)?K5(t.response_body,0):``):``}function q5(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function kJe(e){return q5(e)===null?``:J5(e)+Y5(e)+`.`}function J5(e){let t=q5(e);return t===null?``:t===0?Cle():Ele()}function Y5(e){let t=q5(e);return t===null?``:t===0?kle():Mle({count:t})}function AJe({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o,field:s,fieldValue:c}){let l=e;if(l+=`&limit=`+t+`&offset=`+n,r&&(l+=`&search=`+encodeURIComponent(r)),i&&(l+=`&method=`+encodeURIComponent(i)),a&&(l+=`&status_code=`+encodeURIComponent(a)),o&&(l+=`&stream=`+encodeURIComponent(o)),c){let e={user_path:`user_path`,request_id:`search`,model:`requested_model`,provider:`provider`,session_id:`session_id`,error_type:`error_type`,search:`search`}[s]||`search`;l+=`&`+e+`=`+encodeURIComponent(c)}return l}function jJe({sessionId:e,limit:t}){return`session_id=`+encodeURIComponent(e)+`&limit=`+(t||100)+`&offset=0`}function X5(e){return String(e&&e.session_id||``).trim()}function Z5(e){let t=Number(e&&e.session_count);return Number.isFinite(t)&&t>1?t:1}function MJe(e){return!!X5(e)&&Z5(e)>1}function NJe(e){return{entries:(Array.isArray(e&&e.sessions)?e.sessions:[]).filter(e=>e&&e.latest).map(e=>({...e.latest,session_count:Math.max(1,Number(e.request_count)||1)})),total:Number(e&&e.total||0),limit:Number(e&&e.limit||25),offset:Number(e&&e.offset||0)}}function PJe(e,t,n){let r=new Set((Array.isArray(n)?n:[]).flatMap(e=>t7(e))),i=(Array.isArray(t)?t:[]).filter(e=>!t7(e).some(e=>r.has(e))),a=new Set([...r,...i.flatMap(e=>t7(e))]),o=(e&&Array.isArray(e.entries)?e.entries:[]).filter(e=>e&&e._live&&!t7(e).some(e=>a.has(e)));return{entries:[...o,...i],preservedCount:o.length}}function Q5(e,t){let n=e||{};if(!t)return n;if(n[t]){let e={...n};return delete e[t],e}return{...n,[t]:!0}}function $5(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>X5(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=n[e];return}a=!0}),a?i:n}function e7(e){return String(e&&e.id||``).trim()}function t7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function n7(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function FJe(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function r7(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&!(t&&t.fieldValue)&&FJe(t)}function IJe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!r7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>n7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>t7(e))),s=[];return a.forEach(e=>{let t=t7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function LJe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!r7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>n7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>t7(e))),s=new Map;i.forEach((e,t)=>{let n=X5(e);n&&!s.has(n)&&s.set(n,t)});let c=[],l=i;return a.forEach(e=>{let t=t7(e);if(t.length===0||t.some(e=>o.has(e)))return;let n=X5(e);if(n&&s.has(n)){let r=s.get(n);l===i&&(l=[...i]);let a=Z5(l[r]),c=Number(e&&e.session_count),u=Number.isFinite(c)&&c>1?c:null;l[r]={...e,session_count:u===null?a+1:Math.max(a,u)},t.forEach(e=>o.add(e));return}t.forEach(e=>o.add(e)),c.push(e)}),r.entries=[...c,...l].slice(0,r.limit||25),r.total=Number(r.total||0)+c.length,r}function RJe(e,t){let n=e7(t),r=e||{};return n?r[n]?{}:{[n]:!0}:r}function zJe(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>e7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function BJe(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function i7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function a7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function o7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function s7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function c7(e){let t=s7(e);return t.length>1||t.some(e=>!(e&&e.success))}function VJe(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function l7(e){return String(e&&e.kind||``).trim()||`attempt`}function HJe(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function UJe(e){return String(e&&e.model||``).trim()||`-`}function WJe(e){let t=s7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function GJe(e){return s7(e).length+`×`}function KJe(e){let t=s7(e),n=t.filter(e=>!(e&&e.success)).length;return n>0?Ofe({count:t.length,failed:n}):Tfe({count:t.length})}function qJe(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=l7(e);n&&n!==`attempt`&&t.push(n),t.push(VJe(e));let r=HJe(e);r&&r!==`-`&&t.push(r);let i=UJe(e);return i&&i!==`-`&&t.push(i),t.push(e.success?jfe():Pfe()),t.join(` · `)}function JJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function YJe(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||Sfe()}function XJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function ZJe(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function QJe(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=JJe(e,t),a=XJe(e,t),o=YJe(t),s=i!=null&&i!==``,c=l7(t),l=s7(e).length<=1;return{title:os(),direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:ZJe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:Lfe(),showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:cs()}}function u7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function d7(e){return u7(e).filter(e=>!(e&&e.no_change))}function $Je(e){return u7(e).filter(e=>e&&e.no_change).map(e=>{let t=String(e.rewriter||`rewriter`);return{id:`step-`+Number(e.seq||0),rewriter:t,label:ape({rewriter:t}),title:cpe({rewriter:t})}})}function eYe(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function tYe(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=d7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:gfe(),direction:`request`,seq:i?0:Number(t&&t.seq||0),requestStep:`revision-`+Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:eYe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:yfe(),showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:npe()}}function f7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function nYe(e){let t=f7(e);return Number(t&&t.cached_input_tokens||0)>0}function rYe(e){let t=f7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function iYe(e){let t=f7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?dpe({count:VX(r)}):mpe({percent:rYe(e).toFixed(1)})}function aYe(e){return nYe(e)?iYe(e):``}function oYe(e,t){let n=f7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function sYe(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&a7(e);return{title:dfe(),direction:`request`,requestStep:`original`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:aYe(e),promptCacheHighlight:oYe(e,t),noChangeSteps:$Je(e),showEmpty:r&&!i,emptyMessage:Bfe(),showPending:i,pendingMessage:ss(),showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:Gfe()}}function cYe(e){let t=e&&e.data?e.data:null,n=OJe(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&a7(e);return{title:os(),direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&a7(e),showEmpty:r&&!i,emptyMessage:Jfe(),showPending:i,pendingMessage:Zfe(),showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:cs()}}function p7(e,t){let n=[{id:`request`,pane:sYe(e,t)}];return d7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:tYe(e,t)})}),c7(e)?s7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:QJe(e,t)})}):n.push({id:`response`,pane:cYe(e)}),n}function lYe(e){if(!c7(e))return`response`;let t=s7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function uYe(e,t,n){return e&&(Array.isArray(n)?n:p7(t)).some(t=>t.id===e)?e:lYe(t)}function dYe(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}var fYe=100;function m7(){return{entries:[],total:0,limit:25,offset:0}}var h7=new class{#e=j(N({}));get auditExpandedEntries(){return R(this.#e)}set auditExpandedEntries(e){M(this.#e,e,!0)}#t=j(N({}));get auditExpandedThreads(){return R(this.#t)}set auditExpandedThreads(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}auditFetchToken=0;get auditLog(){return Y4.auditLog}set auditLog(e){Y4.auditLog=e}get auditSearch(){return Y4.auditSearch}set auditSearch(e){Y4.auditSearch=e}get auditMethod(){return Y4.auditMethod}set auditMethod(e){Y4.auditMethod=e}get auditStatusCode(){return Y4.auditStatusCode}set auditStatusCode(e){Y4.auditStatusCode=e}get auditStream(){return Y4.auditStream}set auditStream(e){Y4.auditStream=e}get auditField(){return Y4.auditField}set auditField(e){Y4.auditField=e}get auditFieldValue(){return Y4.auditFieldValue}set auditFieldValue(e){Y4.auditFieldValue=e}get auditGroupSessions(){return Y4.auditGroupSessions}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,fieldValue:this.auditFieldValue,customStartDate:oZ.customStartDate,customEndDate:oZ.customEndDate}}toggleAuditGroupSessions(){Y4.auditGroupSessions=!Y4.auditGroupSessions,Bi(`gomodel_audit_group_sessions`,Y4.auditGroupSessions),this.auditExpandedThreads={},Y4.auditThreadChildren={},this.fetchAuditLog(!0)}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=this.auditGroupSessions,r=AJe({dateQuery:oZ.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,field:this.auditField,fieldValue:this.auditFieldValue}),i=await CX((n?`/admin/audit/sessions?`:`/admin/audit/log?`)+r,{label:`audit log`});if(i.stale||t!==this.auditFetchToken)return;if(!i.ok){this.auditLog=m7();return}let a=n?NJe(i.data):i.data,o=(n?LJe:IJe)(a,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(o.entries)||(o.entries=[]),o.entries=Y4.upsertAuditRecords(o.entries,`audit.list`),this.auditLog=o,this.auditExpandedThreads=$5(this.auditExpandedThreads,o.entries),Y4.auditThreadChildren=$5(Y4.auditThreadChildren,o.entries);let s=[...o.entries,...this.loadedThreadChildren()];this.auditExpandedEntries=zJe(this.auditExpandedEntries,s);try{await H5.prefetchAuditWorkflows(s)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=m7()}finally{t===this.auditFetchToken&&(this.loading=!1)}}loadedThreadChildren(){let e=Y4.auditThreadChildren||{};return Object.keys(e).flatMap(t=>Array.isArray(e[t]&&e[t].entries)?e[t].entries:[])}isThreadExpanded(e){return!!(e&&this.auditExpandedThreads[e])}threadChildren(e){return e&&Y4.auditThreadChildren[e]||null}async toggleThread(e){let t=X5(e);if(!t)return;let n=!this.isThreadExpanded(t);this.auditExpandedThreads=Q5(this.auditExpandedThreads,t);let r=Y4.auditThreadChildren[t];n&&!(r&&(r.loaded||r.loading))&&await this.fetchThreadEntries(e)}async fetchThreadEntries(e){let t=X5(e);if(!t)return;let n=Y4.auditThreadChildren[t];Y4.auditThreadChildren={...Y4.auditThreadChildren,[t]:{loading:!0,loaded:!1,entries:n&&Array.isArray(n.entries)?n.entries:[],total:Number(n&&n.total||0)}};let r=()=>{let e={...Y4.auditThreadChildren},n=e[t],r=n&&Array.isArray(n.entries)?n.entries:[];r.length>0?e[t]={loading:!1,loaded:!1,entries:r,total:r.length}:(delete e[t],this.auditExpandedThreads[t]&&(this.auditExpandedThreads=Q5(this.auditExpandedThreads,t))),Y4.auditThreadChildren=e};try{let n=await CX(`/admin/audit/log?`+jJe({sessionId:t,limit:fYe}),{label:`audit session`});if(n.stale){r();return}if(!n.ok)throw Error(`audit session fetch failed`);let i=Y4.auditThreadChildren[t],a=this.auditLog.entries.find(e=>X5(e)===t),o=PJe(i,n.data.entries,a?[a]:[e]);o.entries=Y4.upsertAuditRecords(o.entries,`audit.thread`),Y4.auditThreadChildren={...Y4.auditThreadChildren,[t]:{loading:!1,loaded:!0,entries:o.entries,total:Number(n.data.total||0)+o.preservedCount}}}catch(e){console.error(`Failed to fetch audit session entries:`,e),r()}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.auditField=`search`,this.auditFieldValue=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=e7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}toggleAuditEntryExpanded(e){this.auditExpandedEntries=RJe(this.auditExpandedEntries,e);let t=this.isAuditEntryExpanded(e);return t&&typeof Y4.fetchAuditEntryDetail==`function`&&Y4.fetchAuditEntryDetail(e),t}expandAuditEntry(e){this.isAuditEntryExpanded(e)||this.toggleAuditEntryExpanded(e)}};Y4.fetchAuditLog=e=>h7.fetchAuditLog(e),Y4.isAuditEntryExpanded=e=>h7.isAuditEntryExpanded(e);var pYe=B(`
        `);function mYe(e,t){O(t,!0);let n=_3(()=>h7.fetchAuditLog(!0));dn(()=>n.cancel);var r=pYe(),i=P(r),a=P(i);{let e=A(()=>aue()),t=A(()=>cue()),r=A(()=>nue()||$le());g3(a,{id:`audit-filter-search`,get placeholder(){return R(e)},get label(){return R(t)},get title(){return R(r)},get oninput(){return n},get loading(){return h7.loading},get value(){return h7.auditFieldValue},set value(e){h7.auditFieldValue=e}})}var o=I(a,2),s=P(o),c=P(s,!0);D(s),s.value=s.__value=`user_path`;var l=I(s),u=P(l,!0);D(l),l.value=l.__value=`request_id`;var d=I(l),f=P(d,!0);D(d),d.value=d.__value=`model`;var p=I(d),m=P(p,!0);D(p),p.value=p.__value=`provider`;var h=I(p),g=P(h,!0);D(h),h.value=h.__value=`session_id`;var _=I(h),v=P(_,!0);D(_),_.value=_.__value=`error_type`;var y=I(_),b=P(y,!0);D(y),y.value=y.__value=`search`,D(o),D(i);var x=I(i,2),S=P(x),C=P(S),w=P(C,!0);D(C),C.value=C.__value=``;var T=I(C);T.value=T.__value=`GET`;var ee=I(T);ee.value=ee.__value=`POST`;var E=I(ee);E.value=E.__value=`PUT`;var te=I(E);te.value=te.__value=`PATCH`;var ne=I(te);ne.value=ne.__value=`DELETE`,D(S);var re=I(S,2),ie=P(re),ae=P(ie,!0);D(ie),ie.value=ie.__value=``;var oe=I(ie);oe.value=oe.__value=`200`;var se=I(oe);se.value=se.__value=`201`;var ce=I(se);ce.value=ce.__value=`400`;var le=I(ce);le.value=le.__value=`401`;var ue=I(le);ue.value=ue.__value=`403`;var de=I(ue);de.value=de.__value=`404`;var fe=I(de);fe.value=fe.__value=`429`;var pe=I(fe);pe.value=pe.__value=`500`;var me=I(pe);me.value=me.__value=`502`;var he=I(me);he.value=he.__value=`503`;var ge=I(he);ge.value=ge.__value=`504`,D(re);var _e=I(re,2),ve=P(_e),ye=P(ve,!0);D(ve),ve.value=ve.__value=``;var be=I(ve),xe=P(be,!0);D(be),be.value=be.__value=`true`;var Se=I(be),Ce=P(Se,!0);D(Se),Se.value=Se.__value=`false`,D(_e);var we=I(_e,2),Te=P(we);J(Te,{get icon(){return JY},class:`table-icon-svg`});var Ee=I(Te,2),De=P(Ee,!0);D(Ee),D(we),D(x),D(r),L((e,t,n,r,i,a,s,l,d,p,h,_,y,x,C,T,ee)=>{K(o,`aria-label`,e),H(c,t),H(u,n),H(f,r),H(m,i),H(g,a),H(v,s),H(b,l),K(S,`aria-label`,d),H(w,p),K(re,`aria-label`,h),H(ae,_),K(_e,`aria-label`,y),H(ye,x),H(xe,C),H(Ce,T),H(De,ee)},[()=>due(),()=>mue(),()=>_ue(),()=>bue(),()=>Cue(),()=>Eue(),()=>kue(),()=>Mue(),()=>Fue(),()=>Rue(),()=>Vue(),()=>Wue(),()=>que(),()=>Xue(),()=>$ue(),()=>nde(),()=>$o()]),z(`change`,o,()=>h7.fetchAuditLog(!0)),fi(o,()=>h7.auditField,e=>h7.auditField=e),z(`change`,S,()=>h7.fetchAuditLog(!0)),fi(S,()=>h7.auditMethod,e=>h7.auditMethod=e),z(`change`,re,()=>h7.fetchAuditLog(!0)),fi(re,()=>h7.auditStatusCode,e=>h7.auditStatusCode=e),z(`change`,_e,()=>h7.fetchAuditLog(!0)),fi(_e,()=>h7.auditStream,e=>h7.auditStream=e),z(`click`,we,()=>h7.clearAuditFilters()),V(e,r),k()}vr([`change`,`click`]);var g7=B(` `),hYe=B(` `),gYe=B(` `);function _Ye(e,t){O(t,!0);let n=A(()=>Y4.auditLivePauseReason()),r=A(()=>Y4.liveLogsStreaming&&!R(n));var i=Tr(),a=F(i),o=e=>{var t=gYe(),i=P(t);let a;var o=I(i,2),s=e=>{var t=g7(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>ade()]),V(e,t)},c=e=>{var t=g7(),r=P(t,!0);D(t),L(e=>H(r,e),[()=>gBe(R(n))]),V(e,t)},l=e=>{var t=hYe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>cde()]),V(e,t)};U(o,e=>{Y4.liveLogsStreaming?R(n)?e(c,1):e(l,-1):e(s)}),D(t),L(()=>a=G(i,1,`live-dot svelte-tve6yv`,null,a,{"is-streaming":R(r)})),V(e,t)},s=A(()=>EX.liveLogsVisible());U(a,e=>{R(s)&&e(o)}),V(e,i),k()}var vYe=B(``),yYe=B(` `),bYe=B(``);function xYe(e,t){O(t,!0);let n=A(()=>[{key:`provider`,text:YX(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`session_id`,text:t.entry.session_id&&`session: `+t.entry.session_id,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+ZX(t.entry),mono:!0},{key:`failover`,text:o7(t.entry)&&`failover: `+o7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=bYe(),i=P(r),a=P(i,!0);D(i);var o=I(i,2);W(o,21,()=>R(n),e=>e.key,(e,n)=>{var r=Tr(),i=F(r),a=e=>{var r=vYe(),i=P(r,!0);D(r),L(e=>{K(r,`title`,e),H(i,R(n).text)},[()=>as()]),z(`click`,r,()=>Z.filterBySession(t.entry.session_id,t.entry.user_path)),V(e,r)},o=e=>{var t=yYe(),r=P(t,!0);D(t),L(()=>{G(t,1,ii([`provider-badge`,R(n).class,{mono:R(n).mono}]),`svelte-hyopt0`),H(r,R(n).text)}),V(e,t)};U(i,e=>{R(n).key===`session_id`?e(a):e(o,-1)}),V(e,r)}),D(o),D(r),L(e=>H(a,e),[()=>Ide()]),V(e,r),k()}vr([`click`]);var SYe=B(``),CYe=B(` `);function wYe(e,t){O(t,!0);let n=A(()=>WJe(t.entry)),r=A(()=>R(n).length>0?KJe(t.entry):``),i=A(()=>R(n).length>0?GJe(t.entry):``);var a=Tr(),o=F(a),s=e=>{var a=CYe(),o=P(a);W(o,21,()=>R(n),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=SYe();let r;L(e=>{r=G(n,1,`audit-attempt-pip svelte-1eu22xn`,null,r,{"audit-attempt-success":!!(R(t)&&R(t).success),"audit-attempt-error":!(R(t)&&R(t).success)}),K(n,`title`,e)},[()=>qJe(R(t))]),V(e,n)}),D(o);var s=I(o,2),c=P(s,!0);D(s),D(a),L(()=>{K(a,`title`,R(r)),K(a,`aria-label`,R(r)),H(c,R(i))}),V(e,a)};U(o,e=>{R(n).length>0&&e(s)}),V(e,a),k()}var TYe=new Set([`instructions`,`system`,`messages`,`input`,`previous_response_id`,`choices`,`output`,`content`]);function EYe(e){if(!e||typeof e!=`object`)return``;let t=String(e.type||``).toLowerCase();if(t===`image`||t===`image_url`||t===`input_image`||t===`output_image`)return zs();if(t===`audio`||t===`input_audio`||t===`output_audio`)return Hs();if(t===`file`||t===`input_file`||t===`output_file`){let t=String(e.filename||e.name||``).trim();return t?Js({name:t}):Gs()}return typeof e.refusal==`string`?e.refusal:``}function _7(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:EYe(e)).filter(Boolean).join(` +`):``,rest:n}}function xKe(e,t={}){let n=B8(e);if(!n)return null;let r=String(t.model||``).trim(),i=!!t.stream,a=SKe(t.maxTokens),o=yKe(t.messages);if(n.id===`chat`){let e={model:r,messages:o};return a&&(e.max_tokens=a),i&&(e.stream=!0),e}let{system:s,rest:c}=bKe(o);if(n.id===`responses`){let e={model:r};return s&&(e.instructions=s),e.input=c,a&&(e.max_output_tokens=a),i&&(e.stream=!0),e}let l={model:r,max_tokens:a||1024};return s&&(l.system=s),l.messages=c,i&&(l.stream=!0),l}function SKe(e){let t=Number(e);return Number.isInteger(t)&&t>0?t:0}function G8(e,t){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>e&&typeof e==`object`&&t.has(e.type)).map(e=>String(e.text??``)).join(``):``}function CKe(e,t){if(!t||typeof t!=`object`)return``;switch(e){case`chat`:{let e=Array.isArray(t.choices)?t.choices[0]?.message:null;return e?G8(e.content,new Set([`text`]))||String(e.refusal||``):``}case`responses`:return typeof t.output_text==`string`&&t.output_text?t.output_text:(Array.isArray(t.output)?t.output:[]).filter(e=>e&&e.type===`message`).map(e=>G8(e.content,new Set([`output_text`]))).join(``);case`messages`:return G8(t.content,new Set([`text`]));default:return``}}function wKe(e){let t=e&&typeof e==`object`?e.usage:null;if(!t||typeof t!=`object`)return null;let n=t.prompt_tokens??t.input_tokens,r=t.completion_tokens??t.output_tokens;return n===void 0&&r===void 0?null:{input:Number(n||0),output:Number(r||0)}}function TKe(e){let t=e&&typeof e==`object`?e.error:null;return t?typeof t==`string`?t:String(t.message||t.type||``):``}function EKe(e){let t={events:0,error:``,result:null},n={chat(e){t.result||={id:e.id,object:`chat.completion`,created:e.created,model:e.model,choices:[{index:0,message:{role:`assistant`,content:``},finish_reason:null}]},e.model&&!t.result.model&&(t.result.model=e.model),e.usage&&(t.result.usage=U8(e.usage));let n=Array.isArray(e.choices)?e.choices[0]:null;if(!n)return``;let r=t.result.choices[0];n.finish_reason&&(r.finish_reason=n.finish_reason);let i=n.delta||{};i.role&&(r.message.role=i.role);let a=typeof i.content==`string`?i.content:``;return r.message.content+=a,a},responses(e){t.result||={output:[]};let n=t.result.output||(t.result.output=[]);switch(e.type){case`response.output_item.added`:{let t=U8(e.item)||{};return n[e.output_index??n.length]=t,``}case`response.output_text.delta`:{let t=String(e.delta??``),r=e.output_index===void 0||e.output_index===null?n.findLast(e=>e&&e.type===`message`):n[e.output_index];(!r||r.type!==`message`)&&(r={type:`message`,role:`assistant`,content:[]},n.push(r)),Array.isArray(r.content)||(r.content=[]);let i=r.content[e.content_index??r.content.length-1];return(!i||i.type!==`output_text`)&&(i={type:`output_text`,text:``},r.content.push(i)),i.text=String(i.text||``)+t,t}case`response.created`:case`response.in_progress`:case`response.completed`:case`response.incomplete`:case`response.failed`:{let r=U8(e.response);return r?((!Array.isArray(r.output)||r.output.length===0)&&(r.output=n),t.result=r,``):``}default:return``}},messages(e){switch(e.type){case`message_start`:return t.result=U8(e.message)||{},t.result.content=[],``;case`content_block_start`:return t.result||={content:[]},t.result.content[e.index??t.result.content.length]=U8(e.content_block)||{},``;case`content_block_delta`:{t.result||={content:[]};let n=t.result.content[e.index??0]||(t.result.content[e.index??0]={}),r=e.delta||{};return r.type===`text_delta`?(n.type=n.type||`text`,n.text=(n.text||``)+String(r.text??``),String(r.text??``)):(r.type===`input_json_delta`&&(n.partial_json=(n.partial_json||``)+String(r.partial_json??``)),``)}case`message_delta`:return t.result||={content:[]},Object.assign(t.result,U8(e.delta)||{}),e.usage&&(t.result.usage={...t.result.usage||{},...U8(e.usage)}),``;default:return``}}}[e]||(()=>``);return{get events(){return t.events},get error(){return t.error},push(e){if(!e||typeof e!=`object`)return``;t.events++;let r=TKe(e);return r?(t.error=r,``):n(e)},result(){return t.result}}}function DKe(e){let t=new Map;for(let n of Array.isArray(e)?e:[]){let e=String(n?.selector||n?.model?.id||``).trim();if(!e||t.has(e)||n?.access&&n.access.effective_enabled===!1)continue;let r=n?.model?.metadata?.modes;if(Array.isArray(r)&&r.length&&!r.some(e=>vKe.has(e)))continue;let i=String(n?.provider_name||``),a=i?i.toLowerCase()+`/`:``,o=a&&e.toLowerCase().startsWith(a)&&e.length>a.length?e.slice(a.length):e;t.set(e,{id:e,label:o,provider:i})}return[...t.values()].sort((e,t)=>e.id.localeCompare(t.id))}function K8(e){return Math.max(280,Math.min(760,Math.floor(Number(e||0)*.6)))}function q8(e,t){let n=K8(t),r=Number(e);return Number.isFinite(r)?Math.min(n,Math.max(280,Math.round(r))):Math.min(420,n)}function J8(e){if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Y8={endpoint:`gomodel_playground_endpoint`,model:`gomodel_playground_model`,stream:`gomodel_playground_stream`,panel:`gomodel_playground_json_panel`},X8=new class{#e=j(N(V8(zi(Y8.endpoint,``))));get endpoint(){return R(this.#e)}set endpoint(e){M(this.#e,e,!0)}#t=j(N(zi(Y8.model,``)||``));get model(){return R(this.#t)}set model(e){M(this.#t,e,!0)}#n=j(zi(Y8.stream,`true`)!==`false`);get stream(){return R(this.#n)}set stream(e){M(this.#n,e,!0)}#r=j(N([]));get messages(){return R(this.#r)}set messages(e){M(this.#r,e,!0)}#i=j(``);get draft(){return R(this.#i)}set draft(e){M(this.#i,e,!0)}#a=j(!1);get sending(){return R(this.#a)}set sending(e){M(this.#a,e,!0)}#o=j(!1);get sendingStream(){return R(this.#o)}set sendingStream(e){M(this.#o,e,!0)}#s=j(``);get error(){return R(this.#s)}set error(e){M(this.#s,e,!0)}#c=j(null);get response(){return R(this.#c)}set response(e){M(this.#c,e,!0)}#l=j(null);get responseMeta(){return R(this.#l)}set responseMeta(e){M(this.#l,e,!0)}#u=j(zi(Y8.panel,`true`)!==`false`);get panelOpen(){return R(this.#u)}set panelOpen(e){M(this.#u,e,!0)}#d=j(`request`);get panelTab(){return R(this.#d)}set panelTab(e){M(this.#d,e,!0)}#f=A(()=>xKe(this.endpoint,{model:this.model,messages:this.messages,stream:this.stream}));get requestBody(){return R(this.#f)}set requestBody(e){M(this.#f,e)}#p=null;#m=1;get endpointPath(){return B8(this.endpoint)?.path||``}get canSend(){return!this.sending&&(this.draft.trim()!==``||this.messages.length>0)}setEndpoint(e){this.endpoint=V8(e),Bi(Y8.endpoint,this.endpoint)}setModel(e){this.model=String(e||``),Bi(Y8.model,this.model)}setStream(e){this.stream=!!e,Bi(Y8.stream,this.stream)}togglePanel(){this.panelOpen=!this.panelOpen,Bi(Y8.panel,this.panelOpen)}addMessage(e,t=``){return this.messages.push({id:this.#m++,role:H8(e),content:String(t),pending:!1}),this.messages[this.messages.length-1]}removeMessage(e){this.messages=this.messages.filter(t=>t.id!==e)}moveMessage(e,t){this.messages=nKe(this.messages,e,t)}nudgeMessage(e,t){let n=this.messages.findIndex(t=>t.id===e);n<0||this.moveMessage(n,Math.max(0,Math.min(this.messages.length-1,n+t)))}clear(){this.stop(),this.messages=[],this.error=``,this.response=null,this.responseMeta=null}stop(){this.#p&&this.#p.abort()}async send(){if(!this.canSend)return;let e=this.draft.trim();if(e&&(this.addMessage(`user`,e),this.draft=``),!String(this.model||``).trim()){this.error=Ste();return}let t=B8(this.endpoint),n=this.requestBody;if(!t||!n)return;let r=new AbortController;this.#p=r,this.sending=!0,this.sendingStream=n.stream===!0,this.error=``,this.response=null,this.responseMeta=null;let i=X.generation,a=performance.now(),o=this.addMessage(`assistant`,``);o.pending=!0;let s={status:0,durationMs:0,streamed:!1,events:0,usage:null};try{let e=await xX(t.path,{method:`POST`,body:JSON.stringify(n),signal:r.signal});if(s.status=e.status,!e.ok){let t=null;try{t=await e.json()}catch{t=null}if(this.response=t,e.status===401&&yX(t)){X.handleUnauthorized(i),this.error=TH();return}this.error=vX(t,No());return}if(n.stream===!0&&e.body&&String(e.headers.get(`Content-Type`)||``).includes(`text/event-stream`)){s.streamed=!0;let n=EKe(t.id);await I2(e.body.getReader(),e=>{let t=n.push(e);t&&(o.content+=t)}),s.events=n.events,this.response=n.result(),n.error&&(this.error=n.error)}else{let n=await e.json();this.response=n,o.content=CKe(t.id,n)}s.usage=wKe(this.response),!o.content&&!this.error&&(this.error=Dte())}catch(e){!TX(e)&&!r.signal.aborted&&(console.error(`Playground request failed:`,e),this.error=No())}finally{s.durationMs=Math.round(performance.now()-a),o.pending=!1,o.content||this.removeMessage(o.id),this.#p===r&&(this.#p=null,this.sending=!1),this.responseMeta=s,(this.response!==null||this.error)&&(this.panelTab=`response`)}}},OKe=B(``),kKe=B(`
        `);function AKe(e,t){O(t,!0);let n=q(t,`modelOptions`,19,()=>[]),r=A(()=>n().map(e=>({value:e.id,label:e.label,description:e.provider}))),i=A(()=>[{value:`chat`,label:Qa()},{value:`responses`,label:to()},{value:`messages`,label:io()}]),a={system:Oo,user:ko,assistant:Ao};var o=kKe(),s=P(o),c=P(s),l=P(c),u=P(l,!0);D(l);var d=I(l,2);{let e=A(()=>Ya());O2(d,{get options(){return R(i)},get value(){return X8.endpoint},get ariaLabel(){return R(e)},onchange:e=>X8.setEndpoint(e)})}D(c);var f=I(c,2),p=P(f),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>uo()),t=A(()=>mo()),n=A(()=>so());hKe(h,{id:`playground-model`,class:`playground-model-select`,get options(){return R(r)},get value(){return X8.model},onchange:e=>X8.setModel(e),get placeholder(){return R(e)},get searchPlaceholder(){return R(t)},get ariaLabel(){return R(n)},allowCustom:!0,mono:!0})}D(f),D(s);var g=I(s,2),_=P(g),v=P(_,!0);D(_);var y=I(_,2);W(y,20,()=>z8,e=>e,(e,t)=>{var n=OKe(),r=P(n);J(r,{get icon(){return IY},class:`table-icon-svg`});var i=I(r,2),o=P(i,!0);D(i),D(n),L(e=>{G(n,1,ii([`btn`,`btn-with-icon`,`playground-add-btn`,`playground-role-`+t]),`svelte-1t3fm2w`),H(o,e)},[()=>a[t]()]),z(`click`,n,()=>X8.addMessage(t)),V(e,n)}),D(y);var b=I(y,2),x=P(b);D(b);var S=I(b,2),C=P(S);yi(C);var w=I(C,2),T=P(w,!0);D(w),D(S);var ee=I(S,2),E=P(ee);J(E,{get icon(){return AAe},class:`table-icon-svg`});var te=I(E,2),ne=P(te,!0);D(te),D(ee),D(g),D(o),L((e,t,n,r,i,a,o)=>{H(u,e),H(m,t),H(v,n),K(y,`aria-label`,r),K(b,`title`,i),H(x,`POST ${X8.endpointPath??``}`),xi(C,X8.stream),H(T,a),ee.disabled=X8.messages.length===0&&!X8.response&&!X8.error,H(ne,o)},[()=>Ya(),()=>so(),()=>Do(),()=>Do(),()=>Ka(),()=>Eo(),()=>ate()]),z(`change`,C,e=>X8.setStream(e.currentTarget.checked)),z(`click`,ee,()=>X8.clear()),V(e,o),k()}vr([`click`,`change`]);var jKe=B(``),MKe=B(` `),NKe=B(`
        `);function PKe(e,t){O(t,!0);let n=q(t,`message`,7);function r(e){if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;e.preventDefault(),X8.nudgeMessage(n().id,e.key===`ArrowUp`?-1:1);let t=e.currentTarget;queueMicrotask(()=>t.focus())}let i={system:Oo,user:ko,assistant:Ao};var a=NKe(),o=P(a),s=P(o);J(P(s),{get icon(){return NAe},class:`table-icon-svg`}),D(s);var c=I(s,2);W(c,20,()=>z8,e=>e,(e,t)=>{var n=jKe(),r=P(n,!0);D(n);var a={};L(e=>{H(r,e),a!==(a=t)&&(n.value=(n.__value=t)??``)},[()=>i[t]()]),V(e,n)}),D(c);var l;di(c);var u=I(c,2),d=e=>{var t=MKe(),n=I(P(t),2),r=P(n,!0);D(n),D(t),L(e=>H(r,e),[()=>Mo()]),V(e,t)};U(u,e=>{n().pending&&e(d)});var f=I(u,2);{let e=A(()=>ete());E3(f,{get label(){return R(e)},class:`table-icon-btn playground-remove-btn`,get disabled(){return n().pending},onclick:()=>X8.removeMessage(n().id),children:(e,t)=>{J(e,{get icon(){return WY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(o);var p=I(o,2);at(p),D(a),L((e,t,r,i,o)=>{G(a,1,ii([`playground-message`,`playground-message-`+n().role]),`svelte-8ie8sw`),K(a,`data-role`,n().role),K(s,`aria-label`,e),K(s,`title`,t),s.disabled=n().pending||X8.messages.length<2,K(c,`aria-label`,r),c.disabled=n().pending,l!==(l=n().role)&&(c.value=(c.__value=n().role)??``,ui(c,n().role)),K(p,`aria-label`,i),K(p,`placeholder`,o),p.readOnly=n().pending},[()=>jo(),()=>jo(),()=>Hee(),()=>i[n().role](),()=>Zee()]),z(`keydown`,s,r),z(`change`,c,e=>{n().role=e.currentTarget.value}),Ei(p,()=>n().content,e=>n().content=e),V(e,a),k()}vr([`keydown`,`change`]);var FKe=B(``),IKe=B(``),LKe=B(`
        `);function RKe(e,t){O(t,!0);function n(e){e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),X8.canSend&&X8.send())}var r=LKe(),i=P(r);at(i);var a=I(i,2),o=P(a),s=P(o,!0);D(o);var c=I(o,2),l=e=>{var t=FKe(),n=P(t);J(n,{get icon(){return ZAe},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>_te()]),V(e,t)},u=e=>{var t=IKe(),n=P(t);J(n,{get icon(){return WAe},class:`table-icon-svg`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>{t.disabled=!X8.canSend,H(i,e)},[()=>es()]),V(e,t)};U(c,e=>{X8.sending?e(l):e(u,-1)}),D(a),D(r),L((e,t,n)=>{K(i,`aria-label`,e),K(i,`placeholder`,t),i.disabled=X8.sending,H(s,n)},[()=>dte(),()=>mte(),()=>Ka()]),_r(`submit`,r,e=>{e.preventDefault(),X8.sending?X8.stop():X8.send()}),z(`keydown`,i,n),Ei(i,()=>X8.draft,e=>X8.draft=e),V(e,r),k()}vr([`keydown`]);var zKe=B(``);function Z8(e,t){O(t,!0);let n=q(t,`label`,3,`Copy`),r=q(t,`copiedLabel`,3,`Copied`),i=q(t,`errorLabel`,3,``),a=q(t,`class`,3,`btn`),o=A(()=>t.state.error&&i()?i():t.state.copied?r():n());var s=zKe();let c;var l=P(s),u=e=>{J(e,{get icon(){return EY},width:`14`,height:`14`,"stroke-width":`2.5`})},d=e=>{J(e,{get icon(){return OY},width:`14`,height:`14`})};U(l,e=>{t.state.copied?e(u):e(d,-1)});var f=I(l,2),p=P(f,!0);D(f),D(s),L(()=>{c=G(s,1,ii([`copy-feedback-btn`,a()]),null,c,{"copy-feedback-btn-copied":t.state.copied}),H(p,R(o))}),z(`click`,s,e=>{e.preventDefault(),t.onclick?.(e)}),V(e,s),k()}vr([`click`]);var Q8=null;function BKe(){return Q8===null&&(Q8=typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`)),!!(Q8&&Q8.matches)}function $8(e){return BKe()?0:e}function VKe(e,t){return!t||!t.live?{duration:0}:IX(e,{duration:$8(150)})}var HKe=B(`

         
        `,1),e5=B(`

        `),UKe=B(`

        `),WKe=B(`
         
        `,1),GKe=B(``);function KKe(e,t){O(t,!0);let n=`gomodel_playground_json_panel_width`,r=typeof window>`u`?1280:window.innerWidth,i=Number(zi(n,420))||420,a=j(N(q8(i,r))),o=j(N(K8(r))),s=null,c=x3({logPrefix:`Failed to copy playground JSON:`}),l=A(()=>[{value:`request`,label:Io()},{value:`response`,label:Lo()}]),u=A(()=>J8(X8.requestBody)),d=A(()=>J8(X8.response)),f=A(()=>X8.panelTab===`request`?R(u):R(d));function p(e){if(!e)return[];let t=[];return e.status&&t.push($te({status:e.status})),t.push(nne({seconds:(e.durationMs/1e3).toFixed(2)})),e.usage&&t.push(ane({input:e.usage.input,output:e.usage.output})),e.streamed&&t.push(cne({count:e.events})),t}function m(e){M(a,q8(window.innerWidth-e,window.innerWidth),!0),i=R(a)}function h(e){e.button===0&&(e.preventDefault(),s=e.pointerId,e.currentTarget.setPointerCapture(e.pointerId),m(e.clientX))}function g(e){e.pointerId===s&&m(e.clientX)}function _(e){s===null||e.pointerId!==s||(s=null,Bi(n,i))}function v(e){e.key!==`ArrowLeft`&&e.key!==`ArrowRight`||(e.preventDefault(),M(a,q8(R(a)+(e.key===`ArrowLeft`?24:-24),window.innerWidth),!0),i=R(a),Bi(n,i))}dn(()=>{if(!X8.panelOpen)return;let e=()=>{M(o,K8(window.innerWidth),!0),M(a,q8(i,window.innerWidth),!0)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)});var y=Tr(),b=F(y),x=e=>{var t=GKe();let n;var r=P(t),i=I(r,2),s=P(i),m=P(s,!0);D(s);var y=I(s,2);{let e=A(()=>Fo());O2(y,{get options(){return R(l)},get value(){return X8.panelTab},get ariaLabel(){return R(e)},onchange:e=>{X8.panelTab=e}})}var b=I(y,2),x=P(b);{let e=A(()=>qte()),t=A(()=>hc()),n=A(()=>ts());Z8(x,{get state(){return c},get label(){return R(e)},get copiedLabel(){return R(t)},get errorLabel(){return R(n)},onclick:()=>c.copy(R(f))})}var S=I(x,2);{let e=A(()=>Po());DX(S,{get label(){return R(e)},onclick:()=>X8.togglePanel()})}D(b),D(i);var C=I(i,2),w=P(C),T=e=>{var t=HKe(),n=F(t),r=P(n);D(n);var i=I(n,2),a=P(i,!0);D(i),L(()=>{H(r,`POST ${X8.endpointPath??``}`),H(a,R(u))}),V(e,t)},ee=e=>{var t=e5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>X8.sendingStream?Wte():Mo()]),V(e,t)},E=e=>{var t=e5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Vte()]),V(e,t)},te=e=>{var t=WKe(),n=F(t),r=e=>{var t=UKe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>p(X8.responseMeta).join(` · `)]),V(e,t)};U(n,e=>{X8.responseMeta&&e(r)});var i=I(n,2),a=P(i,!0);D(i),L(()=>H(a,R(d))),V(e,t)};U(w,e=>{X8.panelTab===`request`?e(T):X8.sending&&X8.response===null?e(ee,1):X8.response===null?e(E,2):e(te,-1)}),D(C),D(t),L((e,i,s)=>{n=li(t,``,n,{"--playground-json-panel-width":R(a)+`px`}),K(r,`aria-label`,e),K(r,`aria-valuemin`,280),K(r,`aria-valuemax`,R(o)),K(r,`aria-valuenow`,R(a)),H(m,i),K(C,`aria-label`,s)},[()=>Xte(),()=>Fo(),()=>X8.panelTab===`request`?Io():Lo()]),z(`pointerdown`,r,h),z(`pointermove`,r,g),z(`pointerup`,r,_),_r(`pointercancel`,r,_),z(`keydown`,r,v),$r(3,t,()=>IX,()=>({axis:`x`,duration:$8(180),easing:LX})),V(e,t)};U(b,e=>{X8.panelOpen&&e(x)}),V(e,y),k()}vr([`pointerdown`,`pointermove`,`pointerup`,`keydown`]);var qKe=B(``),JKe=B(`

        `),YKe=B(`
        `);function XKe(e,t){O(t,!0);let n=A(()=>DKe(sZ.models));dn(()=>{QY.page!==`playground`||X8.model||R(n).length===0||X8.setModel(R(n)[0].id)});let r=j(null);dn(()=>{let e=X8.messages[X8.messages.length-1];e?.content,!(!R(r)||!e?.pending)&&(R(r).scrollTop=R(r).scrollHeight)});var i=YKe();let a;var o=P(i),s=P(o),c=P(s),l=P(c,!0);D(c);var u=I(c,2),d=P(u),f=P(d);J(f,{get icon(){return xAe},class:`table-icon-svg`});var p=I(f,2),m=P(p,!0);D(p),D(d),D(u),D(s);var h=I(s,2);AKe(h,{get modelOptions(){return R(n)}});var g=I(h,2),_=e=>{var t=qKe(),n=P(t,!0);D(t),L(()=>H(n,X8.error)),V(e,t)};U(g,e=>{X8.error&&e(_)});var v=I(g,2),y=P(v),b=e=>{var t=JKe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>cte()]),V(e,t)},x=e=>{var t=Tr();W(F(t),17,()=>X8.messages,e=>e.id,(e,t)=>{PKe(e,{get message(){return R(t)}})}),V(e,t)};U(y,e=>{X8.messages.length===0?e(b):e(x,-1)}),D(v),ji(v,e=>M(r,e),()=>R(r)),ni(v,()=>aKe({onreorder:(e,t)=>X8.moveMessage(e,t)})),RKe(I(v,2),{}),D(o),KKe(I(o,2),{}),D(i),L((e,t,n)=>{a=G(i,1,`playground svelte-l6u7qi`,null,a,{"playground-panel-open":X8.panelOpen}),K(o,`aria-label`,e),H(l,t),K(d,`aria-pressed`,X8.panelOpen),H(m,n)},[()=>Ua(),()=>Ua(),()=>X8.panelOpen?Po():Ate()]),z(`click`,d,()=>X8.togglePanel()),V(e,i),k()}vr([`click`]);var ZKe=`draft-workflow-preview`;function t5(){return{scope_provider:``,scope_model:``,scope_user_path:``,name:``,description:``,features:{cache:!0,audit:!0,usage:!0,budget:!0,guardrails:!1,failover:!0},guardrails:[]}}function n5(){return{scope_provider:``,scope_model:``,scope_user_path:``}}function QKe(e){return{ref:``,step:Number.isFinite(e)?e:10}}function r5(e){let t=e==null?``:String(e).trim();if(t===``)return NaN;let n=Number(t);return Number.isFinite(n)?n:NaN}function i5(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return n;let r=t.charAt(0).toUpperCase()+t.slice(1);for(let n of[t,r])if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==null&&e[n]!==void 0)return e[n];return n}function $Ke(e,t){return!e||typeof e!=`object`||Array.isArray(e)?!1:[t,t.charAt(0).toUpperCase()+t.slice(1)].some(t=>Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==null&&e[t]!==void 0)}function a5(e){return{cache:!!i5(e,`cache`,!1),audit:!!i5(e,`audit`,!1),usage:!!i5(e,`usage`,!1),budget:i5(e,`budget`,!0)!==!1,guardrails:!!i5(e,`guardrails`,!1),failover:i5(e,`failover`,!0)!==!1}}function o5(e,t){let n=a5(e),r=t||{},i=n.usage&&!!r.usage;return{cache:n.cache&&!!r.cache,audit:n.audit&&!!r.audit,usage:i,budget:i&&n.budget&&!!r.budget,guardrails:n.guardrails&&!!r.guardrails,failover:n.failover&&!!r.failover}}function s5(e,t){let n=e&&e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:e&&e.features?e.features:{};return{...o5((e&&e.effective_features&&typeof e.effective_features==`object`&&!Array.isArray(e.effective_features)?e.effective_features:null)||n,t),failover:a5(n).failover}}function eqe(e,t){return s5(e,t).failover?mve():_ve()}function c5(e){return(Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:Array.isArray(e&&e.guardrails)?e.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:r5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0)}function tqe(e,t){return s5(e,t).guardrails&&Array.isArray(e&&e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[]}function l5(e){return String(e&&(e.scope_provider_name||e.scope_provider)||``).trim()}function u5(e){return String(e&&(e.provider_name||e.provider_type)||``).trim()}function d5(e,t){let n=new Set,r=String(t&&t.scope_provider||``).trim();return r&&n.add(r),(Array.isArray(e)?e:[]).forEach(e=>{let t=u5(e);t&&n.add(t)}),[...n].sort()}function f5(e,t,n){let r=String(t||``).trim(),i=new Set,a=String(n&&n.scope_provider||``).trim(),o=String(n&&n.scope_model||``).trim();return r&&r===a&&o&&i.add(o),(Array.isArray(e)?e:[]).forEach(e=>{if(r&&u5(e)!==r)return;let t=String(e&&e.model&&e.model.id||``).trim();t&&i.add(t)}),[...i].sort()}function nqe(e){let t=String(e&&e.scope_type||``).trim();return t===`provider_model`?rye():t===`provider_model_path`?oye():t===`provider_path`?lye():t===`path`?fye():t===`provider`?hye():vye()}function p5(e){return String(e&&e.scope_display||`global`).trim()||`global`}function m5(e){let t=String(e&&e.name||``).trim();if(t)return t;let n=p5(e);return n===`global`?xye():n}function h5(e){let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`);for(let e of n){let t=String(e||``).trim();if(t){if(t===`.`||t===`..`)return jU();if(t.includes(`:`))return PU()}}return``}function g5(e){if(h5(e))return``;let t=String(e||``).trim();if(!t)return``;let n=(t.startsWith(`/`)?t:`/`+t).split(`/`),r=[];for(let e of n){let t=String(e||``).trim();t&&r.push(t)}return r.length?`/`+r.join(`/`):`/`}function _5(e){let t=e||t5(),n=String(t.scope_provider||``).trim(),r=g5(t.scope_user_path);return{scope_provider:n,scope_model:n?String(t.scope_model||``).trim():``,scope_user_path:r}}function v5(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=g5(e&&e.scope_user_path);return!t&&!r?`global`:!t&&r?`path`:!n&&!r?`provider`:!n&&r?`provider_path`:r?`provider_model_path`:`provider_model`}function rqe(e){let t=String(e&&e.scope_provider||``).trim(),n=t?String(e&&e.scope_model||``).trim():``,r=g5(e&&e.scope_user_path),i=v5({scope_provider:t,scope_model:n,scope_user_path:r});return i===`global`?`global`:i===`path`?r:i===`provider`?t:i===`provider_path`?t+` @ `+r:i===`provider_model_path`?t+`/`+n+` @ `+r:t+`/`+n}function iqe(e,t){let n=t||n5(),r=l5(e&&e.scope),i=r?String(e&&e.scope&&e.scope.scope_model||``).trim():``,a=g5(e&&e.scope&&e.scope.scope_user_path);return r===String(n.scope_provider||``).trim()&&i===String(n.scope_model||``).trim()&&a===g5(n.scope_user_path)}function y5(e,t,n){let r=_5(t);return!(r.scope_provider!==``||r.scope_model!==``||r.scope_user_path!==``)&&!n?null:(Array.isArray(e)?e:[]).find(e=>iqe(e,r))||null}function b5(e){return String(e&&e.scope_type||``).trim()!==`global`}function aqe(e){let t=String(e||``).trim();return t?t.length<=14?t:t.slice(0,12)+`…`:`—`}function oqe(e,t){let n=Array.isArray(e)?e:[];if(!t)return n;let r=String(t).toLowerCase();return n.filter(e=>[e.name,e.description,e.scope_display,e.scope_type,l5(e&&e.scope),e.scope&&e.scope.scope_model,e.scope&&e.scope.scope_user_path,e.workflow_hash,...Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>e.ref):[]].some(e=>String(e||``).toLowerCase().includes(r)))}function sqe(e,t){let n=e||t5(),r=_5(n),i=a5(n.features||{}),a=o5(i,t);a.failover=i.failover;let o=!!a.guardrails,s=o?c5(n):[];return{id:ZKe,scope_type:v5(r),scope_display:rqe(r),scope:{scope_provider_name:r.scope_provider,scope_model:r.scope_model,...r.scope_user_path?{scope_user_path:r.scope_user_path}:{}},name:String(n.name||``).trim(),description:String(n.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!a.cache,audit:!!a.audit,usage:!!a.usage,budget:!!a.budget,guardrails:o,failover:!!a.failover},guardrails:s}}}function cqe({form:e,caps:t,workflows:n=[],formHydrated:r=!1,hydratedScope:i=null}){let a=e||t5(),o=String(a.scope_provider||``).trim(),s=o?String(a.scope_model||``).trim():``,c=g5(a.scope_user_path),l=a5(a.features||{}),u=o5(l,t),d=y5(n,a,r),f=d&&d.workflow_payload&&d.workflow_payload.features,p=$Ke(f,`failover`),m=p?i5(f,`failover`,!0)!==!1:null,h=i||n5(),g=String(h.scope_provider||``).trim()===o&&String(h.scope_model||``).trim()===s&&g5(h.scope_user_path)===g5(c),_=!!(t&&t.failover),v=_||!!r&&g&&Object.prototype.hasOwnProperty.call(l,`failover`)||!r&&!!d&&p,y=u.guardrails?(Array.isArray(a.guardrails)?a.guardrails:[]).map(e=>({ref:String(e&&e.ref||``).trim(),step:r5(e&&e.step)})):[],b={scope_provider_name:o,scope_model:s,...c?{scope_user_path:c}:{},name:String(a.name||``).trim(),description:String(a.description||``).trim(),workflow_payload:{schema_version:1,features:{cache:!!u.cache,audit:!!u.audit,usage:!!u.usage,budget:!!u.budget,guardrails:!!u.guardrails},guardrails:y}};return v&&(b.workflow_payload.features.failover=!_&&!r&&d&&p?m:!!l.failover),b}function lqe(e,{models:t=[],hydratedScope:n=null}={}){let r=n||n5(),i=String(r.scope_provider||``).trim(),a=String(r.scope_model||``).trim(),o=String(e&&(e.scope_provider_name||e.scope_provider)||``).trim(),s=String(e&&e.scope_model||``).trim();if(o&&!d5(t,r).includes(o)&&o!==i)return wye();if(s&&!o)return Dye();if(s){let e=f5(t,o,r),n=o===i&&s===a;if(!e.includes(s)&&!n)return Aye()}let c=h5(e.scope_user_path);if(c)return c;let l=e.workflow_payload&&e.workflow_payload.features?e.workflow_payload.features:{},u=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails:[];if(!l.guardrails)return``;let d=new Set;for(let e of u){if(!e.ref)return Nye();if(!Number.isInteger(e.step)||e.step<0)return Iye();if(d.has(e.ref))return zye();d.add(e.ref)}return``}var x5=new class{#e=j(N([]));get workflows(){return R(this.#e)}set workflows(e){M(this.#e,e,!0)}#t=j(!0);get available(){return R(this.#t)}set available(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}#r=j(``);get error(){return R(this.#r)}set error(e){M(this.#r,e,!0)}#i=j(``);get filter(){return R(this.#i)}set filter(e){M(this.#i,e,!0)}#a=j(!1);get formOpen(){return R(this.#a)}set formOpen(e){M(this.#a,e,!0)}#o=j(!1);get submitting(){return R(this.#o)}set submitting(e){M(this.#o,e,!0)}#s=j(``);get deactivatingID(){return R(this.#s)}set deactivatingID(e){M(this.#s,e,!0)}#c=j(``);get formError(){return R(this.#c)}set formError(e){M(this.#c,e,!0)}#l=j(!1);get formHydrated(){return R(this.#l)}set formHydrated(e){M(this.#l,e,!0)}#u=j(N(n5()));get hydratedScope(){return R(this.#u)}set hydratedScope(e){M(this.#u,e,!0)}#d=j(N([]));get guardrailRefs(){return R(this.#d)}set guardrailRefs(e){M(this.#d,e,!0)}#f=j(N(t5()));get form(){return R(this.#f)}set form(e){M(this.#f,e,!0)}#p=null;failoverVisible(){return EX.booleanFlag(`FAILOVER_ENABLED`,!0)}featureCaps(){return{cache:EX.cacheVisible(),audit:EX.auditVisible(),usage:EX.usageVisible(),budget:EX.budgetsVisible(),guardrails:EX.guardrailsVisible(),failover:this.failoverVisible()}}get filteredWorkflows(){return oqe(this.workflows,this.filter)}providerOptions(){return d5(sZ.models,this.hydratedScope)}modelOptions(e){return f5(sZ.models,e,this.hydratedScope)}activeScopeMatch(){return y5(this.workflows,this.form,this.formHydrated)}submitMode(){return this.activeScopeMatch()?`save`:`create`}submitLabel(){return this.submitMode()===`save`?W_e():SN()}submittingLabel(){return this.submitMode()===`save`?q_e():X_e()}preview(){return sqe(this.form,this.featureCaps())}openCreate(e){if(this.formOpen=!0,this.submitting=!1,this.formError=``,!e){this.formHydrated=!1,this.hydratedScope=n5(),this.form=t5();return}this.formHydrated=!0,this.hydratedScope={scope_provider:l5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``).trim(),scope_user_path:String(e.scope&&e.scope.scope_user_path||``).trim()};let t=e.workflow_payload&&e.workflow_payload.features?a5(e.workflow_payload.features):s5(e,this.featureCaps()),n=Array.isArray(e.workflow_payload&&e.workflow_payload.guardrails)?e.workflow_payload.guardrails.map(e=>({ref:String(e&&e.ref||``).trim(),step:r5(e&&e.step)})).filter(e=>Number.isInteger(e.step)&&e.step>=0):c5(e);this.form={scope_provider:l5(e.scope),scope_model:String(e.scope&&e.scope.scope_model||``),scope_user_path:String(e.scope&&e.scope.scope_user_path||``),name:String(e.name||``),description:String(e.description||``),features:{cache:!!t.cache,audit:!!t.audit,usage:!!t.usage,budget:!!t.budget,guardrails:!!t.guardrails,failover:!!t.failover},guardrails:n.map(e=>({ref:String(e&&e.ref||``),step:Number.isFinite(e&&e.step)?e.step:10}))}}closeForm(){this.formOpen=!1,this.submitting=!1,this.formError=``,this.formHydrated=!1,this.hydratedScope=n5(),this.form=t5()}setProvider(e){if(this.form.scope_provider=String(e||``).trim(),!this.form.scope_provider){this.form.scope_model=``;return}this.modelOptions(this.form.scope_provider).includes(String(this.form.scope_model||``).trim())||(this.form.scope_model=``)}addGuardrailStep(){let e=(Array.isArray(this.form.guardrails)?this.form.guardrails:[]).reduce((e,t)=>{let n=Number(t&&t.step);return Number.isFinite(n)?Math.max(e,n):e},0)+10;this.form.guardrails.push(QKe(e))}removeGuardrailStep(e){Array.isArray(this.form.guardrails)&&this.form.guardrails.splice(e,1)}buildRequest(){return cqe({form:this.form,caps:this.featureCaps(),workflows:this.workflows,formHydrated:this.formHydrated,hydratedScope:this.hydratedScope})}async fetchWorkflows(){this.#p&&this.#p.abort();let e=new AbortController;this.#p=e,this.loading=!0,this.error=``;let t=setTimeout(()=>e.abort(),1e4),n=await D3(`/admin/workflows`,{label:`workflows`,options:{signal:e.signal}});if(clearTimeout(t),this.#p===e&&(this.#p=null,this.loading=!1,n.status!==`stale`)){if(n.status===`unavailable`){this.available=!1,this.workflows=[];return}if(n.result&&(this.available=!0),n.status===`error`){this.workflows=[],this.error=e.signal.aborted?nve():n.error;return}this.workflows=n.items}}async fetchGuardrailRefs(){let e=await D3(`/admin/workflows/guardrails`,{label:`workflow guardrails`});e.status!==`stale`&&(this.guardrailRefs=e.items)}async fetchPage(){await Promise.all([EX.ensureLoaded(),this.fetchWorkflows(),this.fetchGuardrailRefs()])}async submitForm(){if(this.submitting)return;this.formError=``;let e=this.buildRequest(),t=lqe(e,{models:sZ.models,hydratedScope:this.hydratedScope});if(t){this.formError=t;return}this.submitting=!0;try{let t=await O3(`/admin/workflows`,`POST`,e,{label:`create workflow`,unavailableStatuses:[]});if(t.status===`stale`||t.result&&t.result.status===401)return;if(t.status===`error`){this.formError=t.error;return}RX.success(ave()),this.closeForm(),this.fetchPage()}finally{this.submitting=!1}}async deactivate(e){let t=String(e&&e.id||``).trim();if(!t||this.deactivatingID||!b5(e))return;let n=m5(e);if(confirm(cve({name:n}))){this.deactivatingID=t;try{let e=await O3(`/admin/workflows/`+encodeURIComponent(t)+`/deactivate`,`POST`,void 0,{label:`deactivate workflow`,unavailableStatuses:[]});if(e.status===`stale`||e.result&&e.result.status===401)return;if(e.status===`error`){RX.error(e.error);return}RX.success(dve()),this.fetchPage()}finally{this.deactivatingID=``}}}},uqe=B(``);function dqe(e,t){O(t,!0);let n=q(t,`workflowID`,3,``),r=x3({logPrefix:`Failed to copy workflow ID:`});dn(()=>{n(),r.reset()});let i=A(()=>r.error?`Unable to copy workflow ID`:r.copied?`Workflow ID copied`:`Copy workflow ID`),a=A(()=>n()?R(i)+` `+n():R(i));async function o(e){e.preventDefault(),n()&&await r.copy(n())}var s=uqe();let c;var l=I(P(s),4),u=P(l,!0);D(l);var d=I(l,2);J(P(d),{get icon(){return OY}}),D(d),D(s),L(()=>{c=G(s,1,`workflow-pipeline-meta mono svelte-1viff7o`,null,c,{"workflow-pipeline-meta-copied":r.copied,"workflow-pipeline-meta-error":r.error}),K(s,`title`,R(i)),K(s,`aria-label`,R(a)),H(u,n())}),z(`click`,s,o),V(e,s),k()}vr([`click`]);var S5=(e,t)=>{let n=()=>(t?.()).icon,r=()=>(t?.()).label,i=gt(()=>h((t?.()).variant,`workflow-node-feature`)),a=()=>(t?.()).state,o=()=>(t?.()).sub,s=()=>(t?.()).badge;var c=hqe(),l=P(c),u=e=>{var t=fqe();let r;J(P(t),{get icon(){return n()}}),D(t),L(()=>r=G(t,1,`workflow-node-icon svelte-nbptrg`,null,r,{"workflow-node-icon-endpoint":R(i)===`workflow-node-endpoint`})),V(e,t)};U(l,e=>{n()&&e(u)});var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=e=>{var t=pqe(),n=P(t,!0);D(t),L(()=>H(n,s())),V(e,t)};U(p,e=>{s()&&e(m)});var g=I(p,2),_=e=>{var t=mqe(),n=P(t,!0);D(t),L(()=>H(n,o())),V(e,t)};U(g,e=>{o()&&e(_)}),D(c),L(()=>{G(c,1,ii([`workflow-node`,R(i),a()]),`svelte-nbptrg`),H(f,r())}),V(e,c)},fqe=B(`
        `),pqe=B(` `),mqe=B(` `),hqe=B(`
        `),C5=B(`
        `,1),w5=B(`
        `,1),gqe=B(`
        `),_qe=B(`
        `),vqe=B(`
        `);function T5(e,t){O(t,!0);let n=q(t,`chart`,19,()=>({}));var r=vqe(),i=P(r),a=e=>{dqe(e,{get workflowID(){return n().workflowID}})};U(i,e=>{n().workflowID&&e(a)});var o=I(i,2),s=P(o);{let e=A(()=>({icon:eje,label:xke(),variant:`workflow-node-endpoint`}));S5(s,()=>R(e))}var c=I(s,4);{let e=A(()=>({icon:AY,label:wke(),state:n().authNodeClass,sub:n().authNodeSublabel}));S5(c,()=>R(e))}var l=I(c,2),u=e=>{var t=C5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:AY,label:sP(),state:n().cacheNodeClass,badge:n().cacheStatusLabel}));S5(i,()=>R(e))}L(()=>G(r,1,ii([`workflow-conn`,n().cacheConnClass]),`svelte-nbptrg`)),V(e,t)};U(l,e=>{n().showCache&&e(u)});var d=I(l,2),f=e=>{var t=w5(),r=I(F(t),2);{let e=A(()=>({icon:KY,label:gP(),state:n().budgetNodeClass,badge:n().budgetStatusLabel}));S5(r,()=>R(e))}V(e,t)};U(d,e=>{n().showBudget&&e(f)});var p=I(d,2),m=e=>{var t=w5(),r=I(F(t),2);{let e=A(()=>({icon:YAe,label:pA(),sub:n().guardrailLabel}));S5(r,()=>R(e))}V(e,t)};U(p,e=>{n().showGuardrails&&e(m)});var h=I(p,2),g=I(h,2);S5(g,()=>({label:n().aiLabel,variant:`workflow-node-ai`,state:n().aiNodeClass,sub:n().aiSublabel}));var _=I(g,2),v=e=>{var t=C5(),r=F(t),i=I(r,2);{let e=A(()=>({icon:PY,label:yP(),state:n().failoverNodeClass,badge:n().failoverStatusLabel,sub:n().failoverTargetLabel}));S5(i,()=>R(e))}L(()=>G(r,1,ii([`workflow-conn`,n().failoverConnClass]),`svelte-nbptrg`)),V(e,t)};U(_,e=>{n().showFailover&&e(v)});var y=I(_,2),b=I(y,2);{let e=A(()=>({icon:OAe,label:Dke(),variant:`workflow-node-endpoint`,state:n().responseNodeClass,sub:n().responseNodeSublabel}));S5(b,()=>R(e))}D(o);var x=I(o,2),S=e=>{var t=_qe(),r=P(t),i=e=>{{let t=A(()=>({icon:wAe,label:pP(),variant:`workflow-node-feature workflow-node-async`,state:n().usageNodeClass}));S5(e,()=>R(t))}};U(r,e=>{n().showUsage&&e(i)});var a=I(r,2),o=e=>{V(e,gqe())};U(a,e=>{n().showUsage&&n().showAudit&&e(o)});var s=I(a,2),c=e=>{{let t=A(()=>({icon:jAe,label:Ake(),variant:`workflow-node-feature workflow-node-async`,state:n().auditNodeClass}));S5(e,()=>R(t))}};U(s,e=>{n().showAudit&&e(c)});var l=I(s,4),u=P(l,!0);D(l),D(t),L(e=>H(u,e),[()=>uA()]),V(e,t)};U(x,e=>{n().showAsync&&e(S)}),D(r),L(()=>{G(h,1,ii([`workflow-conn`,n().aiConnClass]),`svelte-nbptrg`),G(y,1,ii([`workflow-conn`,n().responseConnClass]),`svelte-nbptrg`)}),V(e,r),k()}function yqe(e){let t=c5(e).length;return t===0?``:t===1?Tve():BJ({count:t})}function bqe(e,t){return t&&t.provider?t.provider:l5(e&&e.scope)||`AI`}function xqe(e,t){return t&&t.model?t.model:e&&e.scope&&e.scope.scope_model||null}function Sqe(e,t){let n=String(e&&e.id||``).trim();if(n&&n!==`draft-workflow-preview`)return n;let r=String(t&&t.workflow_version_id||``).trim();return r&&r!==`draft-workflow-preview`?r:null}function Cqe(e){let t=e&&e.data&&e.data.workflow_features;return!t||typeof t!=`object`||Array.isArray(t)?null:a5(t)}function E5(e){let t=e&&e.data&&e.data.failover;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=String(t.target_model||t.targetModel||``).trim()||null;return n?{targetModel:n}:null}function D5(e,t=0){if(t>4||e==null)return``;if(typeof e==`string`){let n=e.trim();if(!n||n[0]!==`{`&&n[0]!==`[`)return``;try{return D5(JSON.parse(n),t+1)}catch{return``}}if(Array.isArray(e)){for(let n of e){let e=D5(n,t+1);if(e)return e}return``}return typeof e==`object`?String(e.code||``).trim()||(e.error===void 0?``:D5(e.error,t+1)):``}function O5(e){return e&&e.data&&typeof e.data==`object`&&!Array.isArray(e.data)?e.data:{}}function wqe(e){let t=O5(e);return String(t.error_code||t.errorCode||``).trim()||D5(t.response_body)}function Tqe(e){return String(e&&e.error_type||``).trim().toLowerCase()===`authentication_error`&&!String(O5(e).error_provider||``).trim()}function Eqe(e){let t=String(e||``).trim();if(!t)return null;let n=t.indexOf(`/`);return n<=0||n>=t.length-1?null:{provider:t.slice(0,n),model:t.slice(n+1)}}function Dqe(e,t){let n=String(e&&(e.requested_model||e.model)||``).trim(),r=E5(e);if(!(r&&r.targetModel))return{provider:String(e&&e.provider||``).trim()||null,model:n||null};let i=Eqe(n);if(i)return i;let a=l5(t&&t.scope),o=a?String(t&&t.scope&&t.scope.scope_model||``).trim():``;return a||o?{provider:a||null,model:o||n||null}:{provider:null,model:n||null}}function Oqe(e,t){if(!e)return null;let n=(()=>{let t=String(e.cache_type||``).trim().toLowerCase();return t===`exact`||t===`semantic`?t:null})(),r=(()=>{if(e.status_code===void 0||e.status_code===null)return null;let t=String(e.status_code).trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null})(),i=n?!0:e.cache_hit!==void 0&&e.cache_hit!==null&&!!e.cache_hit,a=E5(e),o=Dqe(e,t),s=Number.isFinite(r)&&r>=200&&r<300,c=Tqe(e),l=String(e.auth_method||``).trim().toLowerCase()||null,u=wqe(e).toLowerCase()===`budget_exceeded`;return{cacheHit:i,cacheType:n||null,failoverTarget:a&&a.targetModel?a.targetModel:null,provider:o.provider,model:o.model,statusCode:r,responseSuccess:s,aiSuccess:s&&!i,authError:c,authMethod:l,budgetExceeded:u}}function kqe(e){return!!(e&&e.cacheHit)}function Aqe(e){return!!(e&&e.failoverTarget)}function k5(e){return!!(e&&e.budgetExceeded)}function jqe(e,t){return t?`workflow-node-current`:e&&e.cacheHit?`workflow-node-success`:``}function Mqe(e){return e&&e.cacheHit?`workflow-conn-hit`:``}function Nqe(e){return!e||!e.cacheHit?null:e.cacheType===`semantic`?Nke():Ike()}function Pqe(e,t,n,r){return e?k5(t)?`workflow-node-error`:r?`workflow-node-current`:n?`workflow-node-success`:``:``}function Fqe(e){return k5(e)?zke():null}function Iqe(e){return e&&e.cacheHit?`workflow-node-skipped`:e&&e.failoverTarget?`workflow-node-success`:``}function Lqe(e){return e&&e.cacheHit?`workflow-conn-dim`:e&&e.failoverTarget?`workflow-conn-hit`:``}function Rqe(e){return e&&e.failoverTarget?Hke():null}function zqe(e){return e&&e.failoverTarget?e.failoverTarget:null}function A5(e){return e&&e.cacheHit?`workflow-conn-dim`:``}function Bqe(e,t){return e?e.cacheHit?`workflow-node-skipped`:t?`workflow-node-current`:e.aiSuccess?`workflow-node-success`:``:``}function Vqe(e,t){if(!e)return``;let n=e.statusCode;return!Number.isFinite(n)&&t?`workflow-node-current`:Number.isFinite(n)?n>=500?`workflow-node-error`:n>=400?`workflow-node-warning`:n>=300?`workflow-node-neutral`:n>=200?`workflow-node-success`:``:``}function Hqe(e){return!e||!Number.isFinite(e.statusCode)?null:String(e.statusCode)}function Uqe(e,t){return e?e.authError?`workflow-node-error`:t?`workflow-node-current`:e.authMethod===`api_key`||e.authMethod===`master_key`?`workflow-node-success`:``:``}function Wqe(e){return!e||!e.authMethod?null:e.authMethod}function j5(e,t,n){return e?n?`workflow-node-current`:t?`workflow-node-success`:``:``}function M5(e,t){if(!e||!e._live)return!!t;let n=String(e._live_state||``).trim();return!!e._audit_flushed||n===`audit.flushed`||n===`audit.detail`}function Gqe(e,t){if(!e)return!!t;let n=e.usage||{},r=Number(n.entries||0)>0;if(!e._live)return r;let i=String(e._usage_live_state||``).trim();return e._usage_flushed||i===`usage.flushed`?!0:!e._usage_live_pending&&r&&!e._live_pending}function N5(e){return!!(e&&e._live&&e._usage_live_pending&&!e._usage_flushed)}function P5(e,t){return!e||!e._live||M5(e,!1)?!1:String(e._live_state||``).trim()===`audit.completed`||!!(t&&Number.isFinite(t.statusCode))}function Kqe(e,t,n){return!e||!e._live?``:N5(e)?`usage`:P5(e,t)?`audit`:M5(e,!1)&&!e._live_pending?``:t&&t.cacheHit?`cache`:t&&(t.provider||t.model)?`ai`:n&&n.budget&&(e.workflow_version_id||e.requested_model)?`budget`:t&&t.authMethod?``:`auth`}function F5(e,t,n,r){let i=n||{},a=i.features&&typeof i.features==`object`&&!Array.isArray(i.features)?a5(i.features):s5(e,r),o=!!i.forceAudit,s=!!i.highlightAsyncPresent,c=!!a.budget||k5(t),l=!!a.guardrails,u=!!a.usage,d=o||!!a.audit,f=!!i.forceAsync||!!(u||d),p=!!a.failover||Aqe(t),m=Sqe(e,i.entry),h=Kqe(i.entry,t,a),g=N5(i.entry),_=P5(i.entry,t),v=M5(i.entry,s),y=Gqe(i.entry,s);return{showBudget:c,budgetNodeClass:Pqe(c,t,s,h===`budget`),budgetStatusLabel:Fqe(t),showGuardrails:l,guardrailLabel:l?yqe(e):``,showCache:!!i.forceCache||!!a.cache||kqe(t),cacheNodeClass:jqe(t,h===`cache`),cacheConnClass:Mqe(t),cacheStatusLabel:Nqe(t),showFailover:p,failoverNodeClass:p?Iqe(t):``,failoverConnClass:p?Lqe(t):``,failoverStatusLabel:p?Rqe(t):null,failoverTargetLabel:p?zqe(t):null,aiLabel:bqe(e,t),aiSublabel:xqe(e,t),aiConnClass:A5(t),aiNodeClass:Bqe(t,h===`ai`),responseConnClass:A5(t),responseNodeClass:Vqe(t,h===`response`),responseNodeSublabel:Hqe(t),authNodeClass:Uqe(t,h===`auth`),authNodeSublabel:Wqe(t),usageNodeClass:j5(u,y,g),auditNodeClass:j5(d,v,_),showAsync:f,showUsage:u,showAudit:d,workflowID:m}}function qqe(e,t){return F5(e,null,{forceCache:!1},t)}function Jqe(e,t,n){return F5(t,Oqe(e,t),{entry:e,features:Cqe(e)||(t?s5(t,n):{cache:!1,audit:!1,usage:!1,budget:!1,guardrails:!1,failover:!1}),forceAudit:!0,forceAsync:!0,highlightAsyncPresent:!0},n)}var Yqe=B(`

        `),I5=B(`

        `),Xqe=B(`
        `),Zqe=B(`
        `),Qqe=B(`

        `),$qe=B(``),eJe=B(`

        `);function L5(e,t){O(t,!0);let n=q(t,`preview`,3,!1),r=A(()=>x5.featureCaps()),i=A(()=>m5(t.workflow)),a=A(()=>tqe(t.workflow,R(r))),o=A(()=>qqe(t.workflow,R(r))),s=A(()=>n()?`draft-workflow-preview-guardrail-`:t.workflow.id+`-guardrail-`);var c=eJe();let l;var u=P(c),d=P(u),f=P(d),p=P(f,!0);D(f);var m=I(f,2),h=P(m,!0);D(m),D(d);var g=I(d,2),_=P(g),v=P(_,!0);D(_),D(g),D(u);var y=I(u,2),b=e=>{var n=Yqe(),r=P(n,!0);D(n),L(()=>H(r,t.workflow.description)),V(e,n)};U(y,e=>{t.workflow.description&&e(b)});var x=I(y,2),S=e=>{var n=I5(),i=P(n);D(n),L((e,t)=>H(i,`${e??``}: ${t??``}`),[()=>yP(),()=>eqe(t.workflow,R(r))]),V(e,n)},C=A(()=>x5.failoverVisible());U(x,e=>{R(C)&&e(S)});var w=I(x,2);T5(w,{get chart(){return R(o)}});var T=I(w,2),ee=e=>{var t=Qqe(),n=P(t),r=P(n),i=P(r,!0);D(r);var o=I(r,2),c=P(o,!0);D(o),D(n);var l=I(n,2),u=e=>{var t=Zqe();W(t,23,()=>R(a),(e,t)=>R(s)+t,(e,t)=>{var n=Xqe(),r=P(n),i=P(r,!0);D(r);var a=I(r,2),o=P(a,!0);D(a),D(n),L(e=>{H(i,R(t).ref),H(o,e)},[()=>Ove({number:R(t).step})]),V(e,n)}),D(t),V(e,t)},d=e=>{var t=I5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>gA()]),V(e,t)};U(l,e=>{R(a).length>0?e(u):e(d,-1)}),D(t),L((e,t)=>{H(i,e),H(c,t)},[()=>pA(),()=>R(a).length?BJ({count:R(a).length}):bve()]),V(e,t)},E=A(()=>EX.guardrailsVisible());U(T,e=>{R(E)&&e(ee)});var te=I(T,2),ne=e=>{var n=$qe(),r=P(n),a=P(r),o=P(a,!0);D(a);var s=I(a,2);{let e=A(()=>Kve({name:R(i)}));E3(s,{get label(){return R(e)},class:`table-icon-btn`,onclick:()=>x5.openCreate(t.workflow),children:(e,t)=>{J(e,{get icon(){return FY},class:`table-icon-svg`})},$$slots:{default:!0}})}D(r);var c=I(r,2),l=P(c),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p),D(c),D(n),L((e,t,n,r,i,s,c)=>{a.disabled=e,K(a,`aria-label`,t),K(a,`title`,n),H(o,r),H(u,i),H(f,s),H(m,c)},[()=>x5.deactivatingID===t.workflow.id||!b5(t.workflow),()=>jve({name:R(i)}),()=>b5(t.workflow)?Pve():Lve(),()=>x5.deactivatingID===t.workflow.id?Bve():Uve(),()=>Jve({version:t.workflow.version}),()=>Zve({date:_X.formatTimestamp(t.workflow.created_at)}),()=>eye({hash:aqe(t.workflow.workflow_hash)})]),z(`click`,a,()=>x5.deactivate(t.workflow)),V(e,n)};U(te,e=>{n()||e(ne)}),D(c),L((e,t)=>{l=G(c,1,`workflow-card svelte-1fo9fvq`,null,l,{"workflow-preview-card":n()}),H(p,e),H(h,R(i)),H(v,t)},[()=>nqe(t.workflow),()=>p5(t.workflow)]),V(e,c),k()}vr([`click`]);var tJe=B(`

        `),R5=B(``),nJe=B(``),rJe=B(``),iJe=B(``),aJe=B(``),oJe=B(``),z5=B(``),sJe=B(`
        `),cJe=B(`
        `),lJe=B(`
        `),uJe=B(`

        `),dJe=B(`

        `),fJe=B(`

        `,1);function pJe(e,t){O(t,!0);{let t=e=>{{let t=e=>{var t=tJe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>x5.submitMode()===`save`?yN():SN()]),V(e,t)},n=A(()=>pN()),r=A(()=>gN());z4(e,{copyId:`workflow-help-copy`,get label(){return R(n)},get text(){return R(r)},title:t,$$slots:{title:!0}})}},n=A(()=>uN()),r=A(()=>x5.submitLabel()),i=A(()=>x5.submittingLabel()),a=A(()=>x5.submitMode()===`create`?IY:zY);$3(e,{get open(){return x5.formOpen},get ariaLabel(){return R(n)},get error(){return x5.formError},get submitting(){return x5.submitting},get submitLabel(){return R(r)},get submittingLabel(){return R(i)},get submitIcon(){return R(a)},dialogClass:`workflow-editor`,onclose:()=>x5.closeForm(),onsubmit:()=>x5.submitForm(),header:t,children:(e,t)=>{var n=fJe(),r=F(n),i=P(r);{let e=A(()=>TN());e6(i,{id:`workflow-scope-provider`,get label(){return R(e)},children:(e,t)=>{var n=nJe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),16,()=>x5.providerOptions(),e=>e,(e,t)=>{var n=R5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>ON()]),z(`change`,n,e=>x5.setProvider(e.currentTarget.value)),fi(n,()=>x5.form.scope_provider,e=>x5.form.scope_provider=e),V(e,n)},$$slots:{default:!0}})}var a=I(i,2),o=e=>{{let t=A(()=>jN());e6(e,{id:`workflow-scope-model`,get label(){return R(t)},children:(e,t)=>{var n=rJe(),r=P(n),i=P(r,!0);D(r),r.value=r.__value=``,W(I(r),17,()=>x5.modelOptions(x5.form.scope_provider),e=>x5.form.scope_provider+`-`+e,(e,t)=>{var n=R5(),r=P(n,!0);D(n);var i={};L(()=>{H(r,R(t)),i!==(i=R(t))&&(n.value=(n.__value=R(t))??``)}),V(e,n)}),D(n),L(e=>H(i,e),[()=>PN()]),fi(n,()=>x5.form.scope_model,e=>x5.form.scope_model=e),V(e,n)},$$slots:{default:!0}})}};U(a,e=>{x5.form.scope_provider&&e(o)});var s=I(a,2);{let e=A(()=>LN());e6(s,{id:`workflow-name`,get label(){return R(e)},children:(e,t)=>{var n=iJe();yi(n),L(e=>K(n,`placeholder`,e),[()=>BN()]),Ei(n,()=>x5.form.name,e=>x5.form.name=e),V(e,n)},$$slots:{default:!0}})}var c=I(s,2);{let e=A(()=>UN());e6(c,{id:`workflow-user-path`,get label(){return R(e)},children:(e,t)=>{var n=aJe();yi(n),Ei(n,()=>x5.form.scope_user_path,e=>x5.form.scope_user_path=e),V(e,n)},$$slots:{default:!0}})}D(r);var l=I(r,2),u=P(l,!0);D(l);var d=I(l,2),f=P(d,!0);D(d);var p=I(d,2),m=P(p,!0);D(p);var h=I(p,2);{let e=A(()=>tP());e6(h,{id:`workflow-description`,get label(){return R(e)},children:(e,t)=>{var n=oJe();at(n),L(e=>K(n,`placeholder`,e),[()=>iP()]),Ei(n,()=>x5.form.description,e=>x5.form.description=e),V(e,n)},$$slots:{default:!0}})}var g=I(h,2),_=P(g),v=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>sP()]),Di(n,()=>x5.form.features.cache,e=>x5.form.features.cache=e),V(e,t)},y=A(()=>EX.cacheVisible());U(_,e=>{R(y)&&e(v)});var b=I(_,2),x=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>uP()]),Di(n,()=>x5.form.features.audit,e=>x5.form.features.audit=e),V(e,t)},S=A(()=>EX.auditVisible());U(b,e=>{R(S)&&e(x)});var C=I(b,2),w=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>pP()]),Di(n,()=>x5.form.features.usage,e=>x5.form.features.usage=e),V(e,t)},T=A(()=>EX.usageVisible());U(C,e=>{R(T)&&e(w)});var ee=I(C,2),E=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>gP()]),Di(n,()=>x5.form.features.budget,e=>x5.form.features.budget=e),V(e,t)},te=A(()=>EX.budgetsVisible());U(ee,e=>{R(te)&&e(E)});var ne=I(ee,2),re=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>pA()]),Di(n,()=>x5.form.features.guardrails,e=>x5.form.features.guardrails=e),V(e,t)},ie=A(()=>EX.guardrailsVisible());U(ne,e=>{R(ie)&&e(re)});var ae=I(ne,2),oe=e=>{var t=z5(),n=P(t);yi(n);var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>yP()]),Di(n,()=>x5.form.features.failover,e=>x5.form.features.failover=e),V(e,t)},se=A(()=>x5.failoverVisible());U(ae,e=>{R(se)&&e(oe)}),D(g);var ce=I(g,2),le=P(ce),ue=P(le),de=P(ue,!0);D(ue);var fe=I(ue,2),pe=P(fe,!0);D(fe),D(le);var me=I(le,2);{let e=A(()=>x5.preview());L5(me,{get workflow(){return R(e)},preview:!0})}D(ce);var he=I(ce,2),ge=e=>{var t=dJe(),n=P(t),r=P(n),i=P(r),a=P(i,!0);D(i);var o=I(i,2),s=P(o,!0);D(o),D(r);var c=I(r,2),l=P(c,!0);D(c),D(n);var u=I(n,2),d=e=>{var t=sJe(),n=P(t),r=P(n,!0);D(n);var i=I(n,2),a=P(i,!0);D(i),D(t),L((e,t)=>{H(r,e),H(a,t)},[()=>LP(),()=>BP()]),z(`click`,i,()=>QY.navigate(`guardrails`)),V(e,t)};U(u,e=>{x5.guardrailRefs.length===0&&e(d)});var f=I(u,2),p=e=>{var t=lJe();W(t,21,()=>x5.form.guardrails,Ar,(e,t,n)=>{var r=cJe(),i=P(r),a=P(i);K(a,`for`,`workflow-guardrail-ref-`+n);var o=P(a,!0);D(a);var s=I(a,2);yi(s),K(s,`id`,`workflow-guardrail-ref-`+n),D(i);var c=I(i,2),l=P(c);K(l,`for`,`workflow-guardrail-step-`+n);var u=P(l,!0);D(l);var d=I(l,2);yi(d),K(d,`id`,`workflow-guardrail-step-`+n),D(c);var f=I(c,2),p=P(f,!0);D(f),D(r),L((e,t,n,r,i,a,c)=>{H(o,e),K(s,`placeholder`,t),K(s,`aria-label`,n),H(u,r),K(d,`placeholder`,i),K(d,`aria-label`,a),H(p,c)},[()=>UP(),()=>UP(),()=>`${UP()} ${n+1}`,()=>KP(),()=>KP(),()=>`${OP()} ${n+1}`,()=>YP()]),Ei(s,()=>R(t).ref,e=>R(t).ref=e),Ei(d,()=>R(t).step,e=>R(t).step=e),z(`click`,f,()=>x5.removeGuardrailStep(n)),V(e,r)}),D(t),V(e,t)},m=e=>{var t=uJe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>QP()]),V(e,t)};U(f,e=>{x5.form.guardrails.length>0?e(p):e(m,-1)}),D(t),L((e,t,n)=>{H(a,e),H(s,t),H(l,n)},[()=>OP(),()=>jP(),()=>PP()]),z(`click`,c,()=>x5.addGuardrailStep()),V(e,t)},_e=A(()=>x5.form.features.guardrails&&EX.guardrailsVisible());U(he,e=>{R(_e)&&e(ge)}),L((e,t,n,r,i)=>{H(u,e),H(f,t),H(m,n),H(de,r),H(pe,i)},[()=>KN(),()=>YN(),()=>QN(),()=>SP(),()=>TP()]),V(e,n)},$$slots:{header:!0,default:!0}})}k()}vr([`change`,`click`]);var mJe=B(`
        `),B5=B(`

        `),hJe=B(`
        `);function gJe(e,t){O(t,!0);var n=hJe(),r=P(n),i=e=>{{let t=A(()=>$_e());B4(e,{get label(){return R(t)}})}};U(r,e=>{x5.loading&&!X.authError&&e(i)});var a=I(r,2),o=e=>{var t=mJe();W(t,21,()=>x5.filteredWorkflows,e=>e.id,(e,t)=>{L5(e,{get workflow(){return R(t)}})}),D(t),V(e,t)};U(a,e=>{x5.filteredWorkflows.length>0&&e(o)});var s=I(a,2),c=e=>{var t=B5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>iA()]),V(e,t)};U(s,e=>{x5.workflows.length===0&&!x5.loading&&!X.authError&&x5.available&&e(c)});var l=I(s,2),u=e=>{var t=B5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>sA()]),V(e,t)};U(l,e=>{x5.workflows.length>0&&x5.filteredWorkflows.length===0&&!x5.loading&&e(u)}),D(n),V(e,n),k()}var _Je=B(``),V5=B(`
        `),vJe=B(`
        `),yJe=B(``),bJe=B(`
        `);function xJe(e,t){O(t,!0),dn(()=>{X.refreshTick,x5.fetchPage()});var n=bJe(),r=P(n),i=P(r),a=P(i),o=P(a,!0);D(a);var s=I(a,2),c=P(s,!0);D(s),D(i);var l=I(i,2),u=P(l),d=e=>{var t=_Je(),n=P(t);J(n,{get icon(){return IY},class:`form-action-icon`,"aria-hidden":`true`});var r=I(n,2),i=P(r,!0);D(r),D(t),L(e=>H(i,e),[()=>Kk()]),z(`click`,t,()=>x5.openCreate()),V(e,t)};U(u,e=>{x5.available&&e(d)}),D(l),D(r);var f=I(r,2),p=e=>{var t=V5(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>Yk()]),V(e,t)};U(f,e=>{!x5.available&&!X.authError&&e(p)});var m=I(f,2),h=e=>{var t=V5(),n=P(t,!0);D(t),L(()=>H(n,x5.error)),V(e,t)};U(m,e=>{x5.error&&!X.authError&&e(h)});var g=I(m,2),_=e=>{var t=vJe(),n=P(t),r=P(n);{let e=A(()=>Qk()),t=A(()=>tA());g3(r,{get placeholder(){return R(e)},get label(){return R(t)},get value(){return x5.filter},set value(e){x5.filter=e}})}D(n);var i=I(n,2),a=P(i),o=P(a,!0);D(a),D(i),D(t),L(()=>H(o,x5.filteredWorkflows.length+` active scopes`)),V(e,t)};U(g,e=>{x5.available&&e(_)});var v=I(g,2);pJe(v,{});var y=I(v,2);gJe(y,{});var b=I(y,2);W(b,20,()=>x5.guardrailRefs,e=>e,(e,t)=>{var n=yJe(),r={};L(()=>{r!==(r=t)&&(n.value=(n.__value=t)??``)}),V(e,n)}),D(b),D(n),L((e,t)=>{H(o,e),H(c,t)},[()=>Bk(),()=>Uk()]),V(e,n),k()}vr([`click`]);function SJe(e,{from:t,to:n},r={}){var{delay:i=0,duration:a=e=>Math.sqrt(e)*120,easing:o=LX}=r,s=getComputedStyle(e),c=s.transform===`none`?``:s.transform,[l,u]=s.transformOrigin.split(` `).map(parseFloat);l/=e.clientWidth,u/=e.clientHeight;var d=CJe(e),f=e.clientWidth/n.width/d,p=e.clientHeight/n.height/d,m=t.left+t.width*l,h=t.top+t.height*u,g=n.left+n.width*l,_=n.top+n.height*u,v=(m-g)*f,y=(h-_)*p,b=t.width/n.width,x=t.height/n.height;return{delay:i,duration:typeof a==`function`?a(Math.sqrt(v*v+y*y)):a,easing:o,css:(e,t)=>`transform: ${c} translate(${t*v}px, ${t*y}px) scale(${e+t*b}, ${e+t*x});`}}function CJe(e){if(`currentCSSZoom`in e)return e.currentCSSZoom;for(var t=e,n=1;t!==null;)n*=+getComputedStyle(t).zoom,t=t.parentElement;return n}var H5=new class{#e=j(N({}));get workflowVersionsByID(){return R(this.#e)}set workflowVersionsByID(e){M(this.#e,e,!0)}workflowVersionRequests={};workflowFeatureCaps(){return{cache:EX.cacheVisible(),audit:EX.auditVisible(),usage:EX.usageVisible(),budget:EX.budgetsVisible(),guardrails:EX.guardrailsVisible(),failover:EX.booleanFlag(`FAILOVER_ENABLED`,!0)}}cacheWorkflowVersion(e){let t=String(e&&e.id||``).trim();return t?(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:e},e):null}cacheMissingWorkflowVersion(e){let t=String(e||``).trim();t&&(this.workflowVersionsByID={...this.workflowVersionsByID||{},[t]:null})}workflowVersionCacheHas(e){return Object.prototype.hasOwnProperty.call(this.workflowVersionsByID||{},String(e||``).trim())}workflowVersionByID(e){let t=String(e||``).trim();return t&&this.workflowVersionCacheHas(t)?this.workflowVersionsByID[t]:null}async fetchWorkflowVersion(e){let t=String(e||``).trim();if(!t)return null;if(this.workflowVersionCacheHas(t))return this.workflowVersionsByID[t];if(this.workflowVersionRequests[t])return this.workflowVersionRequests[t];let n=(async()=>{let e=typeof AbortController==`function`?new AbortController:null,n=e?setTimeout(()=>e.abort(),1e4):null;try{let n=await CX(`/admin/workflows/`+encodeURIComponent(t),{label:`workflow`,signal:e?e.signal:void 0});if(n.stale)return null;if(n.status===404)return this.cacheMissingWorkflowVersion(t),null;if(!n.ok)return null;let r=n.data;return!r||typeof r!=`object`||Array.isArray(r)?(this.cacheMissingWorkflowVersion(t),null):this.cacheWorkflowVersion(r)}catch(e){return e&&e.name===`AbortError`||console.error(`Failed to fetch workflow version:`,e),null}finally{n!==null&&clearTimeout(n),delete this.workflowVersionRequests[t]}})();return this.workflowVersionRequests[t]=n,n}async prefetchAuditWorkflows(e){let t=[...new Set((Array.isArray(e)?e:[]).map(e=>String(e&&e.workflow_version_id||``).trim()).filter(Boolean))];t.length!==0&&await Promise.all(t.map(e=>this.fetchWorkflowVersion(e)))}auditEntryWorkflow(e){let t=String(e&&e.workflow_version_id||``).trim();return t?this.workflowVersionByID(t):null}},U5=6;function W5(e){if(typeof e!=`string`)return null;try{return JSON.parse(e)}catch{return null}}function G5(e,t=0,n=null){let r=String(e||``).trim();if(!r)return``;if(t>U5)return r;let i=W5(r);return i==null?r:K5(i,t+1,n)||n&&n(i)||r}function K5(e,t=0,n=null,r=null){if(e==null||t>U5)return``;if(typeof e==`string`){let i=W5(e.trim());return i==null?``:K5(i,t+1,n,r)}if(typeof e!=`object`)return``;let i=r||new Set;if(i.has(e))return``;if(i.add(e),Array.isArray(e)){for(let r=0;r=400||EJe(t&&t.response_body)}function OJe(e){let t=e&&e.data?e.data:null;return t?wJe(t.error_message)||(DJe(e,t)?K5(t.response_body,0):``):``}function q5(e){if(e==null||String(e).trim()===``)return null;let t=Number(e);return!Number.isInteger(t)||t<0?null:t}function kJe(e){return q5(e)===null?``:J5(e)+Y5(e)+`.`}function J5(e){let t=q5(e);return t===null?``:t===0?Cle():Ele()}function Y5(e){let t=q5(e);return t===null?``:t===0?kle():Mle({count:t})}function AJe({dateQuery:e,limit:t,offset:n,search:r,method:i,statusCode:a,stream:o,field:s,fieldValue:c}){let l=e;if(l+=`&limit=`+t+`&offset=`+n,r&&(l+=`&search=`+encodeURIComponent(r)),i&&(l+=`&method=`+encodeURIComponent(i)),a&&(l+=`&status_code=`+encodeURIComponent(a)),o&&(l+=`&stream=`+encodeURIComponent(o)),c){let e={user_path:`user_path`,request_id:`request_id`,model:`requested_model`,provider:`provider`,session_id:`session_id`,error_type:`error_type`,search:`search`}[s]||`search`;l+=`&`+e+`=`+encodeURIComponent(c)}return l}function jJe({sessionId:e,limit:t}){return`session_id=`+encodeURIComponent(e)+`&limit=`+(t||100)+`&offset=0`}function X5(e){return String(e&&e.session_id||``).trim()}function Z5(e){let t=Number(e&&e.session_count);return Number.isFinite(t)&&t>1?t:1}function MJe(e){return!!X5(e)&&Z5(e)>1}function NJe(e){return{entries:(Array.isArray(e&&e.sessions)?e.sessions:[]).filter(e=>e&&e.latest).map(e=>({...e.latest,session_count:Math.max(1,Number(e.request_count)||1)})),total:Number(e&&e.total||0),limit:Number(e&&e.limit||25),offset:Number(e&&e.offset||0)}}function PJe(e,t,n){let r=new Set((Array.isArray(n)?n:[]).flatMap(e=>t7(e))),i=(Array.isArray(t)?t:[]).filter(e=>!t7(e).some(e=>r.has(e))),a=new Set([...r,...i.flatMap(e=>t7(e))]),o=(e&&Array.isArray(e.entries)?e.entries:[]).filter(e=>e&&e._live&&!t7(e).some(e=>a.has(e)));return{entries:[...o,...i],preservedCount:o.length}}function Q5(e,t){let n=e||{};if(!t)return n;if(n[t]){let e={...n};return delete e[t],e}return{...n,[t]:!0}}function $5(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>X5(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=n[e];return}a=!0}),a?i:n}function e7(e){return String(e&&e.id||``).trim()}function t7(e){if(!e)return[];let t=[],n=String(e.id||``).trim(),r=String(e.request_id||``).trim();return n&&t.push(`id:`+n),r&&t.push(`request:`+r),t}function n7(e){return!!(e&&e._live&&e._live_pending&&!e._audit_flushed)}function FJe(e){let t=e&&e.customStartDate,n=e&&e.customEndDate;if(!t&&!n)return!0;let r=new Date;if(t){let e=new Date(t);if(e.setHours(0,0,0,0),Number.isFinite(e.getTime())&&re)return!1}return!0}function r7(e,t){return e&&Number(e.offset||0)===0&&!(t&&t.search)&&!(t&&t.method)&&!(t&&t.statusCode)&&!(t&&t.stream)&&!(t&&t.fieldValue)&&FJe(t)}function IJe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!r7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>n7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>t7(e))),s=[];return a.forEach(e=>{let t=t7(e);t.length!==0&&(t.some(e=>o.has(e))||(t.forEach(e=>o.add(e)),s.push(e)))}),s.length===0?r:(r.entries=[...s,...i].slice(0,r.limit||25),r.total=Number(r.total||0)+s.length,r)}function LJe(e,t,n){let r=e&&typeof e==`object`?{...e}:{entries:[],total:0,limit:25,offset:0},i=Array.isArray(r.entries)?r.entries:[];if(r.entries=i,!r7(r,n))return r;let a=(Array.isArray(t)?t:[]).filter(e=>n7(e));if(a.length===0)return r;let o=new Set(i.flatMap(e=>t7(e))),s=new Map;i.forEach((e,t)=>{let n=X5(e);n&&!s.has(n)&&s.set(n,t)});let c=[],l=i;return a.forEach(e=>{let t=t7(e);if(t.length===0||t.some(e=>o.has(e)))return;let n=X5(e);if(n&&s.has(n)){let r=s.get(n);l===i&&(l=[...i]);let a=Z5(l[r]),c=Number(e&&e.session_count),u=Number.isFinite(c)&&c>1?c:null;l[r]={...e,session_count:u===null?a+1:Math.max(a,u)},t.forEach(e=>o.add(e));return}t.forEach(e=>o.add(e)),c.push(e)}),r.entries=[...c,...l].slice(0,r.limit||25),r.total=Number(r.total||0)+c.length,r}function RJe(e,t){let n=e7(t),r=e||{};return n?r[n]?{}:{[n]:!0}:r}function zJe(e,t){let n=e||{},r=new Set((Array.isArray(t)?t:[]).map(e=>e7(e)).filter(Boolean)),i={},a=!1;return Object.keys(n).forEach(e=>{if(r.has(e)){i[e]=!0;return}a=!0}),a?i:n}function BJe(e){if(e==null)return`-`;let t=Number(e);return Number.isFinite(t)?t<=0?`pending`:t<1e6?Math.round(t/1e3)+` µs`:t<1e9?(t/1e6).toFixed(2)+` ms`:(t/1e9).toFixed(2)+` s`:`-`}function i7(e){if(e==null||e===``)return`status-unknown`;let t=Number(e);return Number.isFinite(t)?t>=500?`status-error`:t>=400?`status-warning`:t>=300?`status-neutral`:`status-success`:`status-unknown`}function a7(e){if(!e||!e._live||!e._live_pending)return!1;let t=String(e._live_state||``).trim();if(t===`audit.completed`||t===`audit.flushed`||t===`audit.detail`)return!1;if(e._response_partial)return!0;if(e.status_code!==null&&e.status_code!==void 0&&e.status_code!==``||Number(e.duration_ns||0)>0||e.error_type||e.error_message)return!1;let n=e.data||{};return!(n.response_headers||n.response_body||n.error_message)}function o7(e){let t=e&&e.data&&e.data.failover;return!t||typeof t!=`object`||Array.isArray(t)?null:String(t.target_model||t.targetModel||``).trim()||null}function s7(e){return(e&&e.data&&Array.isArray(e.data.attempts)?e.data.attempts:[]).map((e,t)=>({...e,seq:Number(e&&e.seq||t+1)})).sort((e,t)=>e.seq-t.seq)}function c7(e){let t=s7(e);return t.length>1||t.some(e=>!(e&&e.success))}function VJe(e){if(!e)return`-`;let t=e.status_code||e.status;return t?String(t):e.success?`ok`:`error`}function l7(e){return String(e&&e.kind||``).trim()||`attempt`}function HJe(e){if(!e)return`-`;let t=String(e.provider_name||``).trim(),n=String(e.provider_type||e.provider||``).trim();return t&&n&&t!==n?t+` (`+n+`)`:t||n||`-`}function UJe(e){return String(e&&e.model||``).trim()||`-`}function WJe(e){let t=s7(e);return t.length>1||t.some(e=>!(e&&e.success))?t:[]}function GJe(e){return s7(e).length+`×`}function KJe(e){let t=s7(e),n=t.filter(e=>!(e&&e.success)).length;return n>0?Ofe({count:t.length,failed:n}):Tfe({count:t.length})}function qJe(e){if(!e)return``;let t=[`#`+Number(e.seq||0)],n=l7(e);n&&n!==`attempt`&&t.push(n),t.push(VJe(e));let r=HJe(e);r&&r!==`-`&&t.push(r);let i=UJe(e);return i&&i!==`-`&&t.push(i),t.push(e.success?jfe():Pfe()),t.join(` · `)}function JJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t&&t.response_body!=null?t.response_body:null}return t.response_body!=null&&t.response_body!==``?t.response_body:null}function YJe(e){if(!e||e.success)return``;let t=String(e.error_message||``).trim(),n=String(e.error_code||``).trim(),r=String(e.error_type||``).trim();return t&&n?n+`: `+t:t||n||r||Sfe()}function XJe(e,t){if(!t)return null;if(t.success){let t=e&&e.data?e.data:null;return t?t.response_headers:null}return t.response_headers||null}function ZJe(e){let t=Number(e&&e.status_code);return Number.isFinite(t)&&t>0?t:null}function QJe(e,t){let n=!!(t&&t.success),r=e&&e.data?e.data:null,i=JJe(e,t),a=XJe(e,t),o=YJe(t),s=i!=null&&i!==``,c=l7(t),l=s7(e).length<=1;return{title:os(),direction:`response`,seq:l?0:Number(t&&t.seq||0),kind:l||c===`attempt`?``:c,statusCode:l?null:ZJe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:i,showErrorMessage:!!o,errorMessage:o,showHeaders:!!a,headers:a,showBody:s,body:i,showEmpty:!o&&!s&&!a,emptyMessage:Lfe(),showTooLarge:!!(n&&r&&r.response_body_too_big_to_handle),tooLargeMessage:cs()}}function u7(e){return e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]}function d7(e){return u7(e).filter(e=>!(e&&e.no_change))}function $Je(e){return u7(e).filter(e=>e&&e.no_change).map(e=>{let t=String(e.rewriter||`rewriter`);return{id:`step-`+Number(e.seq||0),rewriter:t,label:ape({rewriter:t}),title:cpe({rewriter:t})}})}function eYe(e){let t=Number(e&&e.bytes_before),n=Number(e&&e.bytes_after);if(!Number.isFinite(t)||!Number.isFinite(n)||t<=0||n>=t)return``;let r=(1-n/t)*100;return`-`+(r>=10?String(Math.round(r)):r.toFixed(1))+`%`}function tYe(e,t){let n=t&&t.body,r=n!=null&&n!==``,i=d7(e).length<=1,a={rewriter:t&&t.rewriter||``,bytes:Number(t&&t.bytes_before||0)+` → `+Number(t&&t.bytes_after||0)};return t&&t.detail!=null&&(a.detail=t.detail),{title:gfe(),direction:`request`,seq:i?0:Number(t&&t.seq||0),requestStep:`revision-`+Number(t&&t.seq||0),kind:t&&t.rewriter?String(t.rewriter):``,savingsLabel:eYe(t),layout:`split`,entry:e,copyHeaders:a,copyBody:n,showErrorMessage:!1,errorMessage:null,showHeaders:!0,headers:a,headersTitle:yfe(),showBody:r,body:n,showEmpty:!1,emptyMessage:``,showTooLarge:!r,tooLargeMessage:npe()}}function f7(e){let t=e&&e.usage;return!t||typeof t!=`object`?null:t}function nYe(e){let t=f7(e);return Number(t&&t.cached_input_tokens||0)>0}function rYe(e){let t=f7(e),n=Number(t&&t.input_tokens||0),r=Number(t&&t.cached_input_tokens||0);return!Number.isFinite(n)||n<=0||!Number.isFinite(r)||r<=0?0:Math.max(0,Math.min(100,r/n*100))}function iYe(e){let t=f7(e);if(!t)return``;let n=Number(t.input_tokens||0),r=Number(t.cached_input_tokens||0);return n<=0?dpe({count:VX(r)}):mpe({percent:rYe(e).toFixed(1)})}function aYe(e){return nYe(e)?iYe(e):``}function oYe(e,t){let n=f7(e);if(!n||!e||!e.data||!e.data.request_body)return null;let r=Number(n.estimated_cached_characters||0);if(!Number.isFinite(r)||r<=0||typeof t!=`function`)return null;let i=t(e.data.request_body);return!Array.isArray(i)||i.length===0?null:{characters:r,segments:i}}function sYe(e,t){let n=e&&e.data?e.data:null,r=!n||!n.request_headers&&!n.request_body,i=r&&a7(e);return{title:dfe(),direction:`request`,requestStep:`original`,layout:`split`,entry:e,copyHeaders:n&&n.request_headers,copyBody:n&&n.request_body,showErrorMessage:!1,errorMessage:null,showHeaders:!!(n&&n.request_headers),headers:n&&n.request_headers,showBody:!!(n&&n.request_body),body:n&&n.request_body,bodyCacheRatioLabel:aYe(e),promptCacheHighlight:oYe(e,t),noChangeSteps:$Je(e),showEmpty:r&&!i,emptyMessage:Bfe(),showPending:i,pendingMessage:ss(),showTooLarge:!!(n&&n.request_body_too_big_to_handle),tooLargeMessage:Gfe()}}function cYe(e){let t=e&&e.data?e.data:null,n=OJe(e),r=!t||!n&&!t.response_headers&&!t.response_body,i=r&&a7(e);return{title:os(),direction:`response`,layout:`split`,entry:e,copyHeaders:t&&t.response_headers,copyBody:t&&t.response_body,showErrorMessage:!!n,errorMessage:n,showHeaders:!!(t&&t.response_headers),headers:t&&t.response_headers,showBody:!!(t&&t.response_body),body:t&&t.response_body,streaming:!!(e&&e._response_partial&&t&&t.response_body)&&a7(e),showEmpty:r&&!i,emptyMessage:Jfe(),showPending:i,pendingMessage:Zfe(),showTooLarge:!!(t&&t.response_body_too_big_to_handle),tooLargeMessage:cs()}}function p7(e,t){let n=[{id:`request`,pane:sYe(e,t)}];return d7(e).forEach(t=>{n.push({id:`revision-`+Number(t&&t.seq||0),pane:tYe(e,t)})}),c7(e)?s7(e).forEach(t=>{n.push({id:`response-`+Number(t&&t.seq||0),pane:QJe(e,t)})}):n.push({id:`response`,pane:cYe(e)}),n}function lYe(e){if(!c7(e))return`response`;let t=s7(e),n=null;return t.forEach(e=>{e&&e.success&&(n=e)}),n||=t[t.length-1],n?`response-`+Number(n.seq||0):`request`}function uYe(e,t,n){return e&&(Array.isArray(n)?n:p7(t)).some(t=>t.id===e)?e:lYe(t)}function dYe(e,t,n){if(!t||!t.length)return null;let r=t.indexOf(n);r<0&&(r=0);let i;switch(e){case`ArrowRight`:case`ArrowDown`:i=(r+1)%t.length;break;case`ArrowLeft`:case`ArrowUp`:i=(r-1+t.length)%t.length;break;case`Home`:i=0;break;case`End`:i=t.length-1;break;default:return null}return t[i]}var fYe=100;function m7(){return{entries:[],total:0,limit:25,offset:0}}var h7=new class{#e=j(N({}));get auditExpandedEntries(){return R(this.#e)}set auditExpandedEntries(e){M(this.#e,e,!0)}#t=j(N({}));get auditExpandedThreads(){return R(this.#t)}set auditExpandedThreads(e){M(this.#t,e,!0)}#n=j(!1);get loading(){return R(this.#n)}set loading(e){M(this.#n,e,!0)}auditFetchToken=0;get auditLog(){return Y4.auditLog}set auditLog(e){Y4.auditLog=e}get auditSearch(){return Y4.auditSearch}set auditSearch(e){Y4.auditSearch=e}get auditMethod(){return Y4.auditMethod}set auditMethod(e){Y4.auditMethod=e}get auditStatusCode(){return Y4.auditStatusCode}set auditStatusCode(e){Y4.auditStatusCode=e}get auditStream(){return Y4.auditStream}set auditStream(e){Y4.auditStream=e}get auditField(){return Y4.auditField}set auditField(e){Y4.auditField=e}get auditFieldValue(){return Y4.auditFieldValue}set auditFieldValue(e){Y4.auditFieldValue=e}get auditGroupSessions(){return Y4.auditGroupSessions}liveFilters(){return{search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,fieldValue:this.auditFieldValue,customStartDate:oZ.customStartDate,customEndDate:oZ.customEndDate}}toggleAuditGroupSessions(){Y4.auditGroupSessions=!Y4.auditGroupSessions,Bi(`gomodel_audit_group_sessions`,Y4.auditGroupSessions),this.auditExpandedThreads={},Y4.auditThreadChildren={},this.fetchAuditLog(!0)}async fetchAuditLog(e){let t=++this.auditFetchToken;this.loading=!0;try{e&&(this.auditLog.offset=0);let n=this.auditGroupSessions,r=AJe({dateQuery:oZ.queryStr(),limit:this.auditLog.limit,offset:this.auditLog.offset,search:this.auditSearch,method:this.auditMethod,statusCode:this.auditStatusCode,stream:this.auditStream,field:this.auditField,fieldValue:this.auditFieldValue}),i=await CX((n?`/admin/audit/sessions?`:`/admin/audit/log?`)+r,{label:`audit log`});if(i.stale||t!==this.auditFetchToken)return;if(!i.ok){this.auditLog=m7();return}let a=n?NJe(i.data):i.data,o=(n?LJe:IJe)(a,this.auditLog&&this.auditLog.entries,this.liveFilters());Array.isArray(o.entries)||(o.entries=[]),o.entries=Y4.upsertAuditRecords(o.entries,`audit.list`),this.auditLog=o,this.auditExpandedThreads=$5(this.auditExpandedThreads,o.entries),Y4.auditThreadChildren=$5(Y4.auditThreadChildren,o.entries);let s=[...o.entries,...this.loadedThreadChildren()];this.auditExpandedEntries=zJe(this.auditExpandedEntries,s);try{await H5.prefetchAuditWorkflows(s)}catch(e){console.error(`Failed to prefetch audit workflows:`,e)}}catch(e){if(console.error(`Failed to fetch audit log:`,e),t!==this.auditFetchToken)return;this.auditLog=m7()}finally{t===this.auditFetchToken&&(this.loading=!1)}}loadedThreadChildren(){let e=Y4.auditThreadChildren||{};return Object.keys(e).flatMap(t=>Array.isArray(e[t]&&e[t].entries)?e[t].entries:[])}isThreadExpanded(e){return!!(e&&this.auditExpandedThreads[e])}threadChildren(e){return e&&Y4.auditThreadChildren[e]||null}async toggleThread(e){let t=X5(e);if(!t)return;let n=!this.isThreadExpanded(t);this.auditExpandedThreads=Q5(this.auditExpandedThreads,t);let r=Y4.auditThreadChildren[t];n&&!(r&&(r.loaded||r.loading))&&await this.fetchThreadEntries(e)}async fetchThreadEntries(e){let t=X5(e);if(!t)return;let n=Y4.auditThreadChildren[t];Y4.auditThreadChildren={...Y4.auditThreadChildren,[t]:{loading:!0,loaded:!1,entries:n&&Array.isArray(n.entries)?n.entries:[],total:Number(n&&n.total||0)}};let r=()=>{let e={...Y4.auditThreadChildren},n=e[t],r=n&&Array.isArray(n.entries)?n.entries:[];r.length>0?e[t]={loading:!1,loaded:!1,entries:r,total:r.length}:(delete e[t],this.auditExpandedThreads[t]&&(this.auditExpandedThreads=Q5(this.auditExpandedThreads,t))),Y4.auditThreadChildren=e};try{let n=await CX(`/admin/audit/log?`+jJe({sessionId:t,limit:fYe}),{label:`audit session`});if(n.stale){r();return}if(!n.ok)throw Error(`audit session fetch failed`);let i=Y4.auditThreadChildren[t],a=this.auditLog.entries.find(e=>X5(e)===t),o=PJe(i,n.data.entries,a?[a]:[e]);o.entries=Y4.upsertAuditRecords(o.entries,`audit.thread`),Y4.auditThreadChildren={...Y4.auditThreadChildren,[t]:{loading:!1,loaded:!0,entries:o.entries,total:Number(n.data.total||0)+o.preservedCount}}}catch(e){console.error(`Failed to fetch audit session entries:`,e),r()}}clearAuditFilters(){this.auditSearch=``,this.auditMethod=``,this.auditStatusCode=``,this.auditStream=``,this.auditField=`search`,this.auditFieldValue=``,this.fetchAuditLog(!0)}auditLogNextPage(){this.auditLog.offset+this.auditLog.limit0&&(this.auditLog.offset=Math.max(0,this.auditLog.offset-this.auditLog.limit),this.fetchAuditLog(!1))}isAuditEntryExpanded(e){let t=e7(e);return t?!!(this.auditExpandedEntries&&this.auditExpandedEntries[t]):!1}toggleAuditEntryExpanded(e){this.auditExpandedEntries=RJe(this.auditExpandedEntries,e);let t=this.isAuditEntryExpanded(e);return t&&typeof Y4.fetchAuditEntryDetail==`function`&&Y4.fetchAuditEntryDetail(e),t}expandAuditEntry(e){this.isAuditEntryExpanded(e)||this.toggleAuditEntryExpanded(e)}};Y4.fetchAuditLog=e=>h7.fetchAuditLog(e),Y4.isAuditEntryExpanded=e=>h7.isAuditEntryExpanded(e);var pYe=B(`
        `);function mYe(e,t){O(t,!0);let n=_3(()=>h7.fetchAuditLog(!0));dn(()=>n.cancel);var r=pYe(),i=P(r),a=P(i);{let e=A(()=>aue()),t=A(()=>cue()),r=A(()=>nue()||$le());g3(a,{id:`audit-filter-search`,get placeholder(){return R(e)},get label(){return R(t)},get title(){return R(r)},get oninput(){return n},get loading(){return h7.loading},get value(){return h7.auditFieldValue},set value(e){h7.auditFieldValue=e}})}var o=I(a,2),s=P(o),c=P(s,!0);D(s),s.value=s.__value=`user_path`;var l=I(s),u=P(l,!0);D(l),l.value=l.__value=`request_id`;var d=I(l),f=P(d,!0);D(d),d.value=d.__value=`model`;var p=I(d),m=P(p,!0);D(p),p.value=p.__value=`provider`;var h=I(p),g=P(h,!0);D(h),h.value=h.__value=`session_id`;var _=I(h),v=P(_,!0);D(_),_.value=_.__value=`error_type`;var y=I(_),b=P(y,!0);D(y),y.value=y.__value=`search`,D(o),D(i);var x=I(i,2),S=P(x),C=P(S),w=P(C,!0);D(C),C.value=C.__value=``;var T=I(C);T.value=T.__value=`GET`;var ee=I(T);ee.value=ee.__value=`POST`;var E=I(ee);E.value=E.__value=`PUT`;var te=I(E);te.value=te.__value=`PATCH`;var ne=I(te);ne.value=ne.__value=`DELETE`,D(S);var re=I(S,2),ie=P(re),ae=P(ie,!0);D(ie),ie.value=ie.__value=``;var oe=I(ie);oe.value=oe.__value=`200`;var se=I(oe);se.value=se.__value=`201`;var ce=I(se);ce.value=ce.__value=`400`;var le=I(ce);le.value=le.__value=`401`;var ue=I(le);ue.value=ue.__value=`403`;var de=I(ue);de.value=de.__value=`404`;var fe=I(de);fe.value=fe.__value=`429`;var pe=I(fe);pe.value=pe.__value=`500`;var me=I(pe);me.value=me.__value=`502`;var he=I(me);he.value=he.__value=`503`;var ge=I(he);ge.value=ge.__value=`504`,D(re);var _e=I(re,2),ve=P(_e),ye=P(ve,!0);D(ve),ve.value=ve.__value=``;var be=I(ve),xe=P(be,!0);D(be),be.value=be.__value=`true`;var Se=I(be),Ce=P(Se,!0);D(Se),Se.value=Se.__value=`false`,D(_e);var we=I(_e,2),Te=P(we);J(Te,{get icon(){return JY},class:`table-icon-svg`});var Ee=I(Te,2),De=P(Ee,!0);D(Ee),D(we),D(x),D(r),L((e,t,n,r,i,a,s,l,d,p,h,_,y,x,C,T,ee)=>{K(o,`aria-label`,e),H(c,t),H(u,n),H(f,r),H(m,i),H(g,a),H(v,s),H(b,l),K(S,`aria-label`,d),H(w,p),K(re,`aria-label`,h),H(ae,_),K(_e,`aria-label`,y),H(ye,x),H(xe,C),H(Ce,T),H(De,ee)},[()=>due(),()=>mue(),()=>_ue(),()=>bue(),()=>Cue(),()=>Eue(),()=>kue(),()=>Mue(),()=>Fue(),()=>Rue(),()=>Vue(),()=>Wue(),()=>que(),()=>Xue(),()=>$ue(),()=>nde(),()=>$o()]),z(`change`,o,()=>h7.fetchAuditLog(!0)),fi(o,()=>h7.auditField,e=>h7.auditField=e),z(`change`,S,()=>h7.fetchAuditLog(!0)),fi(S,()=>h7.auditMethod,e=>h7.auditMethod=e),z(`change`,re,()=>h7.fetchAuditLog(!0)),fi(re,()=>h7.auditStatusCode,e=>h7.auditStatusCode=e),z(`change`,_e,()=>h7.fetchAuditLog(!0)),fi(_e,()=>h7.auditStream,e=>h7.auditStream=e),z(`click`,we,()=>h7.clearAuditFilters()),V(e,r),k()}vr([`change`,`click`]);var g7=B(` `),hYe=B(` `),gYe=B(` `);function _Ye(e,t){O(t,!0);let n=A(()=>Y4.auditLivePauseReason()),r=A(()=>Y4.liveLogsStreaming&&!R(n));var i=Tr(),a=F(i),o=e=>{var t=gYe(),i=P(t);let a;var o=I(i,2),s=e=>{var t=g7(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>ade()]),V(e,t)},c=e=>{var t=g7(),r=P(t,!0);D(t),L(e=>H(r,e),[()=>gBe(R(n))]),V(e,t)},l=e=>{var t=hYe(),n=P(t,!0);D(t),L(e=>H(n,e),[()=>cde()]),V(e,t)};U(o,e=>{Y4.liveLogsStreaming?R(n)?e(c,1):e(l,-1):e(s)}),D(t),L(()=>a=G(i,1,`live-dot svelte-tve6yv`,null,a,{"is-streaming":R(r)})),V(e,t)},s=A(()=>EX.liveLogsVisible());U(a,e=>{R(s)&&e(o)}),V(e,i),k()}var vYe=B(``),yYe=B(` `),bYe=B(``);function xYe(e,t){O(t,!0);let n=A(()=>[{key:`provider`,text:YX(t.entry)||`-`},{key:`model`,text:t.entry.requested_model||t.entry.model||`-`,mono:!0},{key:`user_path`,text:t.entry.user_path,mono:!0},{key:`session_id`,text:t.entry.session_id&&`session: `+t.entry.session_id,mono:!0},{key:`request_id`,text:`request_id: `+(t.entry.request_id||`-`),mono:!0},{key:`ip`,text:t.entry.client_ip&&`ip: `+t.entry.client_ip,mono:!0},{key:`auth_key_id`,text:t.entry.auth_key_id&&`auth_key_id: `+t.entry.auth_key_id,mono:!0},{key:`alias`,text:t.entry.alias_used&&`alias`,class:`audit-alias-badge`},{key:`resolved`,text:t.entry.alias_used&&t.entry.resolved_model&&`resolved: `+ZX(t.entry),mono:!0},{key:`failover`,text:o7(t.entry)&&`failover: `+o7(t.entry),mono:!0},{key:`stream`,text:t.entry.stream&&`stream`},{key:`error_type`,text:t.entry.error_type}].filter(e=>!!e.text));var r=bYe(),i=P(r),a=P(i,!0);D(i);var o=I(i,2);W(o,21,()=>R(n),e=>e.key,(e,n)=>{var r=Tr(),i=F(r),a=e=>{var r=vYe(),i=P(r,!0);D(r),L(e=>{K(r,`title`,e),H(i,R(n).text)},[()=>as()]),z(`click`,r,()=>Z.filterBySession(t.entry.session_id,t.entry.user_path)),V(e,r)},o=e=>{var t=yYe(),r=P(t,!0);D(t),L(()=>{G(t,1,ii([`provider-badge`,R(n).class,{mono:R(n).mono}]),`svelte-hyopt0`),H(r,R(n).text)}),V(e,t)};U(i,e=>{R(n).key===`session_id`?e(a):e(o,-1)}),V(e,r)}),D(o),D(r),L(e=>H(a,e),[()=>Ide()]),V(e,r),k()}vr([`click`]);var SYe=B(``),CYe=B(` `);function wYe(e,t){O(t,!0);let n=A(()=>WJe(t.entry)),r=A(()=>R(n).length>0?KJe(t.entry):``),i=A(()=>R(n).length>0?GJe(t.entry):``);var a=Tr(),o=F(a),s=e=>{var a=CYe(),o=P(a);W(o,21,()=>R(n),e=>t.entry.id+`-pip-`+e.seq,(e,t)=>{var n=SYe();let r;L(e=>{r=G(n,1,`audit-attempt-pip svelte-1eu22xn`,null,r,{"audit-attempt-success":!!(R(t)&&R(t).success),"audit-attempt-error":!(R(t)&&R(t).success)}),K(n,`title`,e)},[()=>qJe(R(t))]),V(e,n)}),D(o);var s=I(o,2),c=P(s,!0);D(s),D(a),L(()=>{K(a,`title`,R(r)),K(a,`aria-label`,R(r)),H(c,R(i))}),V(e,a)};U(o,e=>{R(n).length>0&&e(s)}),V(e,a),k()}var TYe=new Set([`instructions`,`system`,`messages`,`input`,`previous_response_id`,`choices`,`output`,`content`]);function EYe(e){if(!e||typeof e!=`object`)return``;let t=String(e.type||``).toLowerCase();if(t===`image`||t===`image_url`||t===`input_image`||t===`output_image`)return zs();if(t===`audio`||t===`input_audio`||t===`output_audio`)return Hs();if(t===`file`||t===`input_file`||t===`output_file`){let t=String(e.filename||e.name||``).trim();return t?Js({name:t}):Gs()}return typeof e.refusal==`string`?e.refusal:``}function _7(e){if(e==null)return``;if(typeof e==`string`)return e.trim();if(Array.isArray(e))return e.map(e=>typeof e==`string`?e:!e||typeof e!=`object`?``:typeof e.text==`string`?e.text:typeof e.output_text==`string`?e.output_text:EYe(e)).filter(Boolean).join(` `).trim();if(typeof e==`object`){if(typeof e.text==`string`)return e.text.trim();try{return JSON.stringify(e,null,2)}catch{return``}}return String(e).trim()}function v7(e){return!e||typeof e!=`object`?``:_7(e.content)||(typeof e.refusal==`string`?e.refusal.trim():``)}function y7(e){if(e==null)return[];if(typeof e==`string`)return e?[e]:[];if(Array.isArray(e))return e.flatMap(e=>typeof e==`string`?e?[e]:[]:!e||typeof e!=`object`?[]:typeof e.text==`string`?e.text?[e.text]:[]:typeof e.output_text==`string`&&e.output_text?[e.output_text]:[]);if(typeof e==`object`)return typeof e.text==`string`&&e.text?[e.text]:[];let t=String(e);return t?[t]:[]}function b7(e){if(e==null)return[];if(Array.isArray(e))return e.flatMap(b7);if(typeof e==`object`)return Object.entries(e).flatMap(([e,t])=>[e,...b7(t)]);let t=String(e);return t?[t]:[]}function x7(e){return V7(e).flatMap(e=>[...e.name?[String(e.name)]:[],...b7(e.arguments)])}function S7(e){return Array.isArray(e)?e.flatMap(e=>e&&typeof e==`object`&&e.type===`tool_use`?x7([e]):y7(e)):y7(e)}function DYe(e){let t=e&&e.usage?e.usage.estimated_cached_characters:null;if(t==null)return null;let n=Number(t);return Number.isFinite(n)&&n>0?Math.floor(n):0}function OYe(e,t){if(!e)return null;let n=(Array.isArray(t)?t:[]).reduce((e,t)=>e+String(t||``).length,0),r=Math.min(String(e).length,n);return r>0?{total:r}:null}function kYe(e){let t=e&&e.arguments!==void 0?e.arguments:``,n=``;if(typeof t==`string`)n=t;else try{n=JSON.stringify(t)}catch{n=String(t)}return(String(e&&e.name||``)+`(`+n+`)`).length}function C7(e){return{characters:(Array.isArray(e)?e:[]).map(kYe)}}function AYe(e,t){let n=Math.max(0,Number(t||0));return e.map(e=>{if(!e||e.role===`error`)return e;let t=Math.max(0,Number(e._promptTextCharacters||0)),r=Math.min(n,t);n-=r;let i=0;(Array.isArray(e._toolPromptCharacters)?e._toolPromptCharacters:[]).forEach(e=>{let t=Math.max(0,Number(e||0)),r=Math.min(n,t);n-=r,i+=r});let a=t+(e._toolPromptCharacters||[]).reduce((e,t)=>e+Math.max(0,Number(t||0)),0);return{...e,promptCacheRatio:a>0?(r+i)/a:0}})}function jYe(e){if(e==null)return[];if(typeof e==`string`){let t=e.trim();return t?[{role:`user`,text:t}]:[]}if(!Array.isArray(e)){let t=_7(e);return t?[{role:`user`,text:t}]:[]}return e.map(e=>{if(!e||typeof e!=`object`)return null;let t=String(e.role||`user`).toLowerCase(),n=_7(e.content);return n?{role:t,text:n}:null}).filter(Boolean)}function MYe(e){return v7(e)}function NYe(e){if(!e||typeof e!=`object`)return[];let t=[];return t.push(...y7(e.instructions)),Array.isArray(e.messages)&&e.messages.forEach(e=>{!e||typeof e!=`object`||(t.push(...S7(e.content)),t.push(...x7(e.tool_calls)))}),typeof e.input==`string`?t.push(e.input):Array.isArray(e.input)?e.input.forEach(e=>{if(!(!e||typeof e!=`object`)){if(e.type===`function_call`||e.type===`tool_use`){t.push(...x7([e]));return}t.push(...S7(e.content)),typeof e.text==`string`&&t.push(e.text)}}):e.input&&typeof e.input==`object`&&(t.push(...y7(e.input.content)),typeof e.input.text==`string`&&t.push(e.input.text)),t.map(e=>String(e||``)).filter(e=>e.length>0)}var w7=e=>_7(e);function PYe(e){if(!e||!e.data)return``;let t=K5(e.data.response_body,0,w7);if(t)return t;let n=e.data.error_message;if(n==null)return``;if(typeof n==`string`){let e=n.trim();return e?K5(W5(e),0,w7)||e:``}return K5(n,0,w7)||_7(n)}function FYe(e){return Array.isArray(e)?e.some(e=>!e||typeof e!=`object`?!1:e.type===`message`||e.role===`assistant`||e.role===`user`||e.role===`system`?!0:Array.isArray(e.content)?e.content.some(e=>!e||typeof e!=`object`?!1:typeof e.text==`string`||e.type===`output_text`||e.type===`input_text`):!1):!1}function IYe(e){if(!e)return!1;let t=String(e).toLowerCase();return t===`/v1/embeddings`||t===`/v1/embeddings/`||t.startsWith(`/v1/embeddings?`)||t.startsWith(`/v1/embeddings/`)}function LYe(e){return e?!!T7(e):!1}function RYe(e){let t=String(e||``).trim().split(`?`)[0].replace(/\/+$/,``).toLowerCase();return t.startsWith(`/v1/`)?t.slice(3):t}function T7(e){switch(RYe(e)){case`/chat/completions`:return`chat`;case`/responses`:return`responses`;case`/messages`:return`messages`;default:return``}}var E7=`final`,zYe=`original`;function D7(e){return(e&&e.data&&Array.isArray(e.data.request_revisions)?e.data.request_revisions:[]).filter(e=>e&&!e.no_change)}function O7(e){if(!e||!e.data||e.data.request_body==null)return[];let t=D7(e),n=[{id:zYe,rewriter:``,seq:0,hasBody:!0,isFinal:t.length===0}];return t.forEach((e,r)=>{n.push({id:`revision-`+Number(e.seq||0),rewriter:String(e.rewriter||``),seq:Number(e.seq||0),hasBody:e.body!=null&&e.body!==``,isFinal:r===t.length-1})}),n}function k7(e){return e?e.isFinal&&e.id!==`original`?E7:e.id:E7}function BYe(e,t){let n=String(t||`final`);if(n===`final`)return E7;let r=O7(e).find(e=>e.id===n);return r?k7(r):E7}function VYe(e,t){let n=e&&e.data?e.data.request_body:null;if(n==null)return null;let r=String(t||`final`);if(r===`original`)return n;let i=D7(e),a=r===`final`?i[i.length-1]:i.find(e=>`revision-`+Number(e.seq||0)===r);return a&&a.body!=null&&a.body!==``?a.body:n}function A7(e){if(!e||typeof e!=`object`)return null;try{return JSON.parse(JSON.stringify(e))}catch{return null}}function j7(e,t){if(!t||typeof t!=`object`)return;let n=e[e.length-1];try{if(n&&JSON.stringify(n)===JSON.stringify(t))return}catch{}e.push(t)}function HYe(e){let t=T7(e&&e.path),n=e&&e.data&&e.data.request_body;return!t||!n||typeof n!=`object`?!1:t!==`responses`||(e.data&&e.data.response_body&&typeof e.data.response_body.id==`string`?e.data.response_body.id.trim():``)!==``||G7(n)!==``}function UYe(e,t){let n=String(t||``).trim(),r=T7(e&&e.path),i=A7(e&&e.data&&e.data.request_body);if(!n||!r||!i)return null;let a=e&&e.data?e.data.response_body:null;if(r===`responses`){let e=a&&typeof a.id==`string`?a.id.trim():``,t=G7(i);return!e&&!t?null:(i.input=n,e&&!t?i.previous_response_id=e:delete i.previous_response_id,i)}let o=Array.isArray(i.messages)?i.messages:[];if(r===`chat`){let e=a&&Array.isArray(a.choices)?a.choices[0]:null;e&&e.message&&j7(o,A7(e.message)),o.push({role:`user`,content:n})}else a&&a.content!==void 0&&j7(o,{role:String(a.role||`assistant`),content:A7(a.content)||a.content}),o.push({role:`user`,content:n});return i.messages=o,i}var WYe=new Set(`authorization.proxy-authorization.cookie.content-type.content-length.host.accept.connection.accept-encoding.content-encoding.transfer-encoding.user-agent.date.expect.upgrade.via.te.trailer.keep-alive.origin.referer.forwarded.x-real-ip.traceparent.tracestate.x-request-id.idempotency-key.x-idempotency-key.x-gomodel-timezone.x-gomodel-interaction-parent`.split(`.`));function GYe(e,t,n=``){let r=e&&e.data&&e.data.request_headers,i={};return r&&typeof r==`object`&&Object.keys(r).forEach(e=>{let t=String(e).toLowerCase(),n=String(r[e]==null?``:r[e]);!e||!n||n===`[REDACTED]`||WYe.has(t)||t.startsWith(`sec-`)||t.startsWith(`cf-`)||t.startsWith(`x-forwarded-`)||(i[e]=n)}),i[`X-GoModel-Interaction-Parent`]=String(t||e&&e.id||``).trim(),String(n||``).trim()&&(i[`X-Request-ID`]=String(n).trim()),i}function KYe(e,t){let n=String(t||``).trim();return!n||!Array.isArray(e)?null:e.find(e=>String(e&&e.request_id||``).trim()===n)||null}function qYe(e,t,n,r,i){let a=Array.isArray(e)?e:[],o=String(i&&i.id||``).trim(),s=String(i&&i.request_id||``).trim(),c=String(i&&i.session_id||``).trim(),l=String(r||``).trim(),u=M7(i),d=a.some(e=>o&&String(e&&e.id||``).trim()===o||s&&String(e&&e.request_id||``).trim()===s),f=!!l&&s===l,p=!!n&&c===String(n).trim(),m=!!u&&(u===String(t||``).trim()||a.some(e=>String(e&&e.id||``).trim()===u)),h=d||f||!l&&(p||m);return{accepted:h,submittedChild:f,followUpRequestID:h&&f&&o?``:l}}function M7(e){let t=e&&e.data&&e.data.request_headers;if(!t||typeof t!=`object`)return``;let n=Object.keys(t).find(e=>e.toLowerCase()===`x-gomodel-interaction-parent`);return n?String(t[n]||``).trim():``}function JYe(e,t){return!Array.isArray(e)||!t?null:e.find(e=>String(e&&e.id||``)===String(t))||null}function N7(e){return!Array.isArray(e)||e.length===0?null:e.reduce((e,t)=>e?K7(t,e)>=0?t:e:t,null)}function YYe(e,t){let n=new Set(Array.isArray(t)?t.map(String):[]);return N7((Array.isArray(e)?e:[]).filter(e=>{let t=String(e&&e.id||``);return n.has(t)&&e&&e.data&&e.data.request_body!=null}))}function XYe(e,t){let n=N7(e);return!!n&&String(n.id||``)===String(t||``)}function ZYe(e,t,n){return String(e||``).trim()===`audit.flushed`&&String(t||``).trim()!==``&&String(t||``).trim()===String(n||``).trim()}function P7(e,t){let n=Array.isArray(e)?e.filter(Boolean).map(String):[];return(Array.isArray(t)?t:[]).forEach(e=>{let t=String(e&&(e.id||e.request_id)||``).trim();t&&!n.includes(t)&&n.push(t)}),n}function QYe(e){if(e&&e.conversation_payload)return!0;let t=e&&e.data?e.data.request_body:null,n=e&&e.data?e.data.response_body:null,r=t&&(Array.isArray(t.messages)||t.input!==void 0||typeof t.instructions==`string`||typeof t.previous_response_id==`string`),i=n&&(Array.isArray(n.choices)||FYe(n.output));return!!(r||i)}function $Ye(e){return!e||IYe(e.path)?!1:LYe(e.path)||QYe(e)}function F7(e){let t=0,n=!1,r=!1,i=String(e||``);for(let e=0;e0&&a+1`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function nXe(e){return!!(e&&typeof e==`object`&&e.__audio__===!0)}function L7(e){let t=Number(e||0);if(!Number.isFinite(t)||t<=0)return`0 B`;let n=[`B`,`KB`,`MB`,`GB`],r=0,i=t;for(;i>=1024&&r`
        `+I7(t)+``+I7(iXe(e[t]))+`
        `);return t.length?``:``}function aXe(e){let t=rXe(e.content_type),n=I7(t+` · `+L7(e.bytes)),r=R7(e.meta);if(e.stored&&e.encoding===`base64`&&e.data){let i=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``);return`
        `+n+`
        `+r+`
        `}let i=e.too_large?_pe():bpe();return`
        `+n+`
        `+I7(i)+`
        `+r+`
        `}function oXe(e){return!!(e&&typeof e==`object`&&e.__images__===!0)}function sXe(e){let t=String(e||``).trim();return/^image\/[a-zA-Z0-9.+-]+$/.test(t)?t:`image/png`}function cXe(e){switch(e){case`input`:return kpe();case`mask`:return Mpe();default:return Fpe()}}function lXe(e){let t=I7(cXe(e.role)),n=[e.filename,e.content_type,e.bytes?L7(e.bytes):``].filter(Boolean).map(e=>I7(String(e))).join(` · `),r=e.revised_prompt?`
        `+I7(String(e.revised_prompt))+`
        `:``,i=`
        `+t+(n?` · `+n:``)+`
        `;if(e.stored&&e.encoding===`base64`&&e.data){let n=sXe(e.content_type),a=String(e.data).replace(/[^A-Za-z0-9+/=]/g,``),o=`data:`+n+`;base64,`+a;return`
        `+t+``+i+r+`
        `}if(e.url){let t=String(e.url),n=/^https?:\/\//i.test(t)?I7(t):``;return`
        `+(n?``+n+``:``+I7(t)+``)+i+r+`
        `}let a=e.too_large?Cpe():Epe();return`
        `+i+`
        `+I7(a)+`
        `+r+`
        `}function uXe(e){let t=Array.isArray(e.images)?e.images.filter(e=>e&&typeof e==`object`):[];return`
        `+(t.length?``:``)+R7(e.meta)+`
        `}function z7(e){try{return JSON.stringify(String(e)).slice(1,-1)}catch{return``}}function dXe(e){if(!e||typeof e!=`object`)return null;let t=Number(e.characters||0);if(!Number.isFinite(t)||t<=0)return null;let n=Array.isArray(e.segments)?e.segments.map(e=>String(e||``)).filter(Boolean):[];return n.length===0?null:{remaining:Math.floor(t),segments:n,segmentIndex:0}}function B7(e,t){if(!t||t.remaining<=0||t.segmentIndex>=t.segments.length)return I7(e);let n=``,r=0,i=0;for(;t.remaining>0&&t.segmentIndex`+I7(l)+``,r=s+l.length,i=s+o.length,t.remaining-=c,c>=a.length){t.segmentIndex++;continue}break}return n?n+I7(e.slice(r)):I7(e)}function fXe(e,t,n){let r=n&&typeof n.formatJSON==`function`?n.formatJSON:e=>String(e),i=n&&typeof n.canShowConversation==`function`?n.canShowConversation:()=>!1,a=dXe(n&&n.promptCacheHighlight),o=r(t);if(!o||o===`Not captured`)return I7(o);if(!i(e))return o.split(` `).map(e=>B7(e,a)).join(` `);let s=o.split(` diff --git a/internal/admin/dashboard/static/dist/index.html b/internal/admin/dashboard/static/dist/index.html index 08a82f7fa..dbd7b5e48 100644 --- a/internal/admin/dashboard/static/dist/index.html +++ b/internal/admin/dashboard/static/dist/index.html @@ -7,7 +7,7 @@ GoModel Dashboard - + diff --git a/internal/admin/handler_audit.go b/internal/admin/handler_audit.go index 4fa28b16d..8cf53ee65 100644 --- a/internal/admin/handler_audit.go +++ b/internal/admin/handler_audit.go @@ -47,6 +47,7 @@ const conversationBuildTimeout = 10 * time.Second // @Param method query string false "Filter by HTTP method" // @Param path query string false "Filter by request path" // @Param user_path query string false "Filter by tracked user path subtree" +// @Param request_id query string false "Filter by exact request id" // @Param session_id query string false "Filter by exact session id" // @Param error_type query string false "Filter by error type" // @Param status_code query int false "Filter by status code" @@ -147,6 +148,7 @@ func parseAuditLogQueryParams(c *echo.Context) (auditlog.LogQueryParams, error) Method: strings.ToUpper(c.QueryParam("method")), Path: c.QueryParam("path"), UserPath: userPath, + RequestID: strings.TrimSpace(c.QueryParam("request_id")), SessionID: sessionID, ErrorType: c.QueryParam("error_type"), Search: c.QueryParam("search"), @@ -207,6 +209,7 @@ func parseAuditLogQueryParams(c *echo.Context) (auditlog.LogQueryParams, error) // @Param method query string false "Filter by HTTP method" // @Param path query string false "Filter by request path" // @Param user_path query string false "Filter by tracked user path subtree" +// @Param request_id query string false "Filter by exact request id" // @Param error_type query string false "Filter by error type" // @Param status_code query int false "Filter by status code" // @Param stream query bool false "Filter by stream mode (true/false)" diff --git a/internal/admin/handler_test.go b/internal/admin/handler_test.go index 875fbb78a..adc9e3753 100644 --- a/internal/admin/handler_test.go +++ b/internal/admin/handler_test.go @@ -1430,7 +1430,7 @@ func TestAuditLog_WithFilters(t *testing.T) { } h := NewHandler(nil, nil, WithAuditReader(reader)) - c, rec := newHandlerContext("/admin/audit/log?model=gpt-4&provider=openai&method=post&path=/v1/chat/completions&user_path=/team&error_type=provider_error&status_code=502&stream=true&search=timeout&limit=10&offset=5") + c, rec := newHandlerContext("/admin/audit/log?model=gpt-4&provider=openai&method=post&path=/v1/chat/completions&user_path=/team&request_id=req-42&error_type=provider_error&status_code=502&stream=true&search=timeout&limit=10&offset=5") if err := h.AuditLog(c); err != nil { t.Fatalf("unexpected error: %v", err) @@ -1454,6 +1454,9 @@ func TestAuditLog_WithFilters(t *testing.T) { if reader.lastQuery.UserPath != "/team" { t.Errorf("expected user_path filter to match, got %q", reader.lastQuery.UserPath) } + if reader.lastQuery.RequestID != "req-42" { + t.Errorf("expected request_id filter req-42, got %q", reader.lastQuery.RequestID) + } if reader.lastQuery.ErrorType != "provider_error" { t.Errorf("expected error_type provider_error, got %q", reader.lastQuery.ErrorType) } diff --git a/internal/auditlog/reader.go b/internal/auditlog/reader.go index 1a0f65175..57868f8d1 100644 --- a/internal/auditlog/reader.go +++ b/internal/auditlog/reader.go @@ -19,6 +19,7 @@ type LogQueryParams struct { Method string Path string UserPath string + RequestID string // exact-match request id filter SessionID string // exact-match session id filter ErrorType string Search string diff --git a/internal/auditlog/reader_mongodb.go b/internal/auditlog/reader_mongodb.go index 0069df70b..2a6e66d4a 100644 --- a/internal/auditlog/reader_mongodb.go +++ b/internal/auditlog/reader_mongodb.go @@ -274,6 +274,9 @@ func mongoLogMatchFilters(params LogQueryParams) (bson.D, error) { }, }) } + if params.RequestID != "" { + matchFilters = append(matchFilters, bson.E{Key: "request_id", Value: params.RequestID}) + } if params.SessionID != "" { matchFilters = append(matchFilters, bson.E{Key: "session_id", Value: params.SessionID}) } diff --git a/internal/auditlog/reader_mongodb_test.go b/internal/auditlog/reader_mongodb_test.go index 7912e4ee4..ee585697c 100644 --- a/internal/auditlog/reader_mongodb_test.go +++ b/internal/auditlog/reader_mongodb_test.go @@ -145,3 +145,14 @@ func TestMongoExactUserPathMatchFilter(t *testing.T) { } }) } + +func TestMongoLogMatchFilters_RequestIDUsesExactFieldMatch(t *testing.T) { + got, err := mongoLogMatchFilters(LogQueryParams{RequestID: "req-42"}) + if err != nil { + t.Fatalf("mongoLogMatchFilters returned error: %v", err) + } + want := bson.D{{Key: "request_id", Value: "req-42"}} + if !reflect.DeepEqual(got, want) { + t.Fatalf("mongoLogMatchFilters(request_id) = %#v, want %#v", got, want) + } +} diff --git a/internal/auditlog/reader_sql.go b/internal/auditlog/reader_sql.go index 05ea05160..ac324407a 100644 --- a/internal/auditlog/reader_sql.go +++ b/internal/auditlog/reader_sql.go @@ -234,6 +234,9 @@ func (r *SQLReader) logFilters(ctx context.Context, params LogQueryParams) ([]st if params.ErrorType != "" { add(r.likeClause("error_type"), contains(params.ErrorType)) } + if params.RequestID != "" { + add("request_id = ?", params.RequestID) + } if params.SessionID != "" { add("session_id = ?", params.SessionID) } diff --git a/internal/auditlog/reader_sql_boundary_test.go b/internal/auditlog/reader_sql_boundary_test.go index 5157f28ed..c0da030ba 100644 --- a/internal/auditlog/reader_sql_boundary_test.go +++ b/internal/auditlog/reader_sql_boundary_test.go @@ -202,6 +202,36 @@ func TestSQLReaderGetLogs_SearchUUIDMatchesIdentifierColumns(t *testing.T) { }) } +func TestSQLReaderGetLogs_RequestIDMatchesOnlyRequestID(t *testing.T) { + sqlxtest.Run(t, func(t *testing.T, db sqlx.DB) { + store, err := newSQLStoreForTest(t, db, 0) + if err != nil { + t.Fatalf("failed to create store: %v", err) + } + + ctx := context.Background() + if err := store.WriteBatch(ctx, []*LogEntry{ + {ID: "request-match", Timestamp: time.Date(2026, 1, 16, 12, 0, 0, 0, time.UTC), Provider: "openai", RequestID: "req-42"}, + {ID: "session-only", Timestamp: time.Date(2026, 1, 16, 11, 0, 0, 0, time.UTC), Provider: "openai", SessionID: "req-42"}, + {ID: "model-only", Timestamp: time.Date(2026, 1, 16, 10, 0, 0, 0, time.UTC), Provider: "openai", RequestedModel: "req-42"}, + }); err != nil { + t.Fatalf("failed to seed audit logs: %v", err) + } + + reader, err := NewSQLReader(db) + if err != nil { + t.Fatalf("failed to create reader: %v", err) + } + result, err := reader.GetLogs(ctx, LogQueryParams{RequestID: "req-42", Limit: 10}) + if err != nil { + t.Fatalf("GetLogs returned error: %v", err) + } + if result.Total != 1 || len(result.Entries) != 1 || result.Entries[0].ID != "request-match" { + t.Fatalf("request_id filter returned total=%d entries=%v, want only request-match", result.Total, result.Entries) + } + }) +} + func TestSQLReaderGetLogs_SearchMatchesErrorMessage(t *testing.T) { sqlxtest.Run(t, func(t *testing.T, db sqlx.DB) { diff --git a/web/dashboard/src/pages/audit-logs/audit-logic.js b/web/dashboard/src/pages/audit-logs/audit-logic.js index baa211749..1a2fd5a72 100644 --- a/web/dashboard/src/pages/audit-logs/audit-logic.js +++ b/web/dashboard/src/pages/audit-logs/audit-logic.js @@ -137,7 +137,7 @@ export function buildAuditLogQuery({ if (fieldValue) { const param = { user_path: "user_path", - request_id: "search", + request_id: "request_id", model: "requested_model", provider: "provider", session_id: "session_id", diff --git a/web/dashboard/tests/audit-list.test.js b/web/dashboard/tests/audit-list.test.js index af391ca3c..19001ad32 100644 --- a/web/dashboard/tests/audit-list.test.js +++ b/web/dashboard/tests/audit-list.test.js @@ -46,7 +46,7 @@ test("buildAuditLogQuery maps explicit audit fields to indexed API filters", () const base = { dateQuery: "days=7", limit: 25, offset: 0, method: "", statusCode: "", stream: "" }; assert.match(buildAuditLogQuery({ ...base, field: "user_path", fieldValue: "/team" }), /&user_path=%2Fteam/); assert.match(buildAuditLogQuery({ ...base, field: "model", fieldValue: "gpt-5" }), /&requested_model=gpt-5/); - assert.match(buildAuditLogQuery({ ...base, field: "request_id", fieldValue: "abc" }), /&search=abc/); + assert.match(buildAuditLogQuery({ ...base, field: "request_id", fieldValue: "abc" }), /&request_id=abc/); assert.match(buildAuditLogQuery({ ...base, field: "provider", fieldValue: "Azure OpenAI & test" }), /&provider=Azure%20OpenAI%20%26%20test/); assert.match(buildAuditLogQuery({ ...base, field: "session_id", fieldValue: "session 123" }), /&session_id=session%20123/); assert.match(buildAuditLogQuery({ ...base, field: "error_type", fieldValue: "timeout" }), /&error_type=timeout/); From 992b4f6e66bb2123d4f104b174e488988f603957 Mon Sep 17 00:00:00 2001 From: mikemikimike <13286568797@163.com> Date: Wed, 26 Aug 2026 22:40:21 +0800 Subject: [PATCH 12/12] fix(auditlog): support partial user path filters --- internal/auditlog/reader_mongodb.go | 5 +++- internal/auditlog/reader_sql.go | 6 +++-- internal/auditlog/reader_sql_boundary_test.go | 27 +++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/internal/auditlog/reader_mongodb.go b/internal/auditlog/reader_mongodb.go index 2a6e66d4a..1f17eff9f 100644 --- a/internal/auditlog/reader_mongodb.go +++ b/internal/auditlog/reader_mongodb.go @@ -262,7 +262,10 @@ func mongoLogMatchFilters(params LogQueryParams) (bson.D, error) { if params.ExactUserPath { matchFilters = append(matchFilters, mongoExactUserPathMatchFilter(userPath)) } else { - matchFilters = append(matchFilters, mongoUserPathMatchFilter(userPath)) + matchFilters = append(matchFilters, bson.E{Key: "user_path", Value: bson.D{ + {Key: "$regex", Value: regexp.QuoteMeta(userPath)}, + {Key: "$options", Value: "i"}, + }}) } } if params.ErrorType != "" { diff --git a/internal/auditlog/reader_sql.go b/internal/auditlog/reader_sql.go index ac324407a..117dfeb20 100644 --- a/internal/auditlog/reader_sql.go +++ b/internal/auditlog/reader_sql.go @@ -227,8 +227,10 @@ func (r *SQLReader) logFilters(ctx context.Context, params LogQueryParams) ([]st if params.ExactUserPath { add(auditExactUserPathSQLPredicate(userPath, r.dialect.userPath), userPath) } else { - lower, upper := auditUserPathSubtreeBounds(userPath) - add(auditUserPathSQLPredicate(userPath, r.dialect.userPath), userPath, lower, upper) + // The dashboard field filter is an incremental text search. Keep + // matching useful while a path is still being typed instead of + // treating the fragment as a complete hierarchy node. + add(r.likeClause("user_path"), contains(userPath)) } } if params.ErrorType != "" { diff --git a/internal/auditlog/reader_sql_boundary_test.go b/internal/auditlog/reader_sql_boundary_test.go index c0da030ba..fdcacf557 100644 --- a/internal/auditlog/reader_sql_boundary_test.go +++ b/internal/auditlog/reader_sql_boundary_test.go @@ -133,6 +133,33 @@ func TestSQLReaderGetLogs_SearchMatchesUserPath(t *testing.T) { }) } +func TestSQLReaderGetLogs_UserPathFilterMatchesPartialPath(t *testing.T) { + sqlxtest.Run(t, func(t *testing.T, db sqlx.DB) { + store, err := newSQLStoreForTest(t, db, 0) + if err != nil { + t.Fatalf("failed to create store: %v", err) + } + if err := store.WriteBatch(context.Background(), []*LogEntry{{ + ID: "partial-user-path", Timestamp: time.Date(2026, 1, 16, 12, 0, 0, 0, time.UTC), + RequestedModel: "gpt-5", Provider: "openai", UserPath: "/team/alpha", + }}); err != nil { + t.Fatalf("failed to seed audit log: %v", err) + } + + reader, err := NewSQLReader(db) + if err != nil { + t.Fatalf("failed to create reader: %v", err) + } + result, err := reader.GetLogs(context.Background(), LogQueryParams{UserPath: "alpha", Limit: 10}) + if err != nil { + t.Fatalf("GetLogs returned error: %v", err) + } + if result.Total != 1 || result.Entries[0].ID != "partial-user-path" { + t.Fatalf("partial user path returned %#v, want partial-user-path", result.Entries) + } + }) +} + // A full canonical UUID takes the indexed-identifier fast path: equality on // id/request_id/auth_key_id/session_id, case-insensitively — and deliberately // no longer the LIKE sweep over the free-text columns.