PageSourceSearch

https://gpulab.ai/build/assets/show-Cp4voONp.js

js gpulab.ai collected 2026-10-05 12:01:49 UTC 39,479 bytes, 15 lines download raw bytes

1import{r as $e}from"./rolldown-runtime-DFpRNiRy.js";import"./vendor-inertia-BBlAN2Pm.js";import{i as O,q as Xe}from"./vendor-misc-6LIFe8mD.js";import{It as ge,Kt as fe,Nn as Ye,Nt as je,Or as Ne,Pn as Ze,Pr as f,Pt as es,Qt as be,St as ve,Tr as ye,Vn as _e,Wt as ss,Yn as ts,dn as as,en as we,gr as ns,hr as ls,jr as rs,kr as is,mn as os,mr as Ce,n as cs,pr as ke,qn as ds,qt as xs,r as ms,rn as us,rr as hs,t as ps,tr as gs,wn as fs,xn as I,xt as js}from"./vendor-react-D_TETAoW.js";import{r as J,t as m}from"./button-BIMnqHo1.js";import{t as Se}from"./label-DlSMIZGl.js";import{t as w}from"./badge-eQt3BKgl.js";import{t as Ns}from"./separator-Cx2qhbb3.js";import{a as Re,o as Le,r as ze,s as Pe,t as Te}from"./dialog-jXzS8FAa.js";import{t as bs}from"./input-CokVcWav.js";import{a as j,n as N,o as S,r as T,t as b}from"./card-CRITS_Jx.js";import{t as vs}from"./use-visibility-polling-BpIpCFq4.js";import{i as W,n as ys,r as _s,t as ws}from"./tabs-CSCN_Ddk.js";import{t as Cs}from"./scroll-area-C0ITmd9e.js";import{t as Ae}from"./checkbox-BQTf8SPq.js";import{t as ks}from"./app-layout-Dn-y4HyQ.js";import"./meta-head-BTMWJnZi.js";import{t as Ss}from"./progress-DwGMeAp_.js";import"./vendor-editor-BvJDU6SR.js";import{t as Q}from"./inline-code-editor-BWCBqK2T.js";var Rs=ms,Ls=cs,zs=ps,d=$e(Xe(),1),e=$e(is(),1),ne=new Set(["queued","provisioning","proxying"]),z=new Set(["running","healthy","unhealthy"]),De=new Set(["deploying","pulling","creating","starting"]);function nt({title:a,description:n,service:t,recentRequests:i,replicas:l,autoscalingLogs:h}){const[o,v]=(0,d.useState)(null),[y,$]=(0,d.useState)("all"),[Ue,qe]=(0,d.useState)({}),B=(0,d.useRef)(!1),[D,X]=(0,d.useState)(!1),[p,Ie]=(0,d.useState)("live"),[R,le]=(0,d.useState)("all"),[L,P]=(0,d.useState)([]),[Y,re]=(0,d.useState)(!1),[G,ie]=(0,d.useState)(""),[A,Je]=(0,d.useState)(!1),[U,oe]=(0,d.useState)(!0),[Z,ce]=(0,d.useState)(!0),[q,de]=(0,d.useState)(!1),[xe,me]=(0,d.useState)(!1),ee=(0,d.useRef)(null),se=(0,d.useRef)(!1),V=i.data,te=t.queued_requests_count;V.filter(s=>ne.has(s.status)).length;const Be=V.filter(s=>s.status==="completed").length,Ge=V.filter(s=>["failed","timed_out"].includes(s.status)).length,ue=Math.min(100,(t.active_replicas_count+t.provisioning_replicas_count)/Math.max(1,t.max_replicas)*100),he=V.filter(s=>y==="all"?!0:y==="active"?ne.has(s.status):y==="completed"?s.status==="completed":["failed","timed_out"].includes(s.status)),C=l.filter(s=>z.has(s.status.toLowerCase())||s.has_logs),pe=(0,d.useMemo)(()=>{if(!G)return L;const s=G.toLowerCase();return L.filter(r=>r.content.toLowerCase().includes(s))},[L,G]);(0,d.useEffect)(()=>{Z&&ee.current&&ee.current.scrollIntoView({behavior:"smooth"})},[L,Z]),(0,d.useEffect)(()=>{const s=()=>{B.current||document.hidden||(B.current=!0,f.reload({only:["service","recentRequests","replicas","autoscalingLogs"],onFinish:()=>{B.current=!1}}))},r=window.setInterval(s,1e4);return()=>{window.clearInterval(r),B.current=!1}},[]);const H=(0,d.useCallback)(async(s,r)=>{try{re(!0);const c=r==="deployment"?"containers.deployment-logs":"containers.logs",x=new URL(route(c,s),window.location.origin);x.searchParams.append("format","array"),r==="live"&&x.searchParams.append("timestamps",A.toString());const g=await fetch(x.toString()),E=await g.json();g.ok&&Array.isArray(E.logs)?P(E.logs):P([{type:"stderr",content:`Error fetching logs: ${g.statusText}`}])}catch{P([{type:"stderr",content:"Error fetching logs."}])}finally{re(!1)}},[A]);vs({callback:(0,d.useCallback)(()=>{if(se.current||!D)return;const s=R==="all"?C.find(x=>z.has(x.status.toLowerCase()))?.uuid:R;if(!s)return;se.current=!0;const r=p==="deployment"?"containers.deployment-logs":"containers.logs",c=new URL(route(r,s),window.location.origin);c.searchParams.append("format","array"),p==="live"&&c.searchParams.append("timestamps",A.toString()),fetch(c.toString()).then(x=>x.json()).then(x=>{Array.isArray(x.logs)&&P(x.logs)}).catch(()=>{}).finally(()=>{se.current=!1})},[D,p,R,C,A]),interval:p==="deployment"?3e3:1e3,enabled:D&&U}),(0,d.useEffect)(()=>{if(!D||L.length===0)return;const s=R==="all"?C.find(r=>z.has(r.status.toLowerCase()))?.uuid:R;s&&p==="live"&&H(s,"live")},[A]);const ae=(s,r)=>{Ie(s),le(r||"all"),P([]),ie(""),oe(!0),ce(!0),de(!1),X(!0);const c=r||C.find(x=>z.has(x.status.toLowerCase()))?.uuid;c&&H(c,s)},k=(0,d.useCallback)((s,r)=>{qe(c=>{if(r===null){const x={...c};return delete x[s],x}return{...c,[s]:r}})},[]),F=(0,d.useCallback)(()=>{f.reload({only:["service","replicas","autoscalingLogs"]})},[]),Ve=(0,d.useCallback)(s=>
1{O(`Restart replica "${s.server_name}"?`,{action:{label:"Restart",onClick:()=>{k(s.uuid,"restarting"),f.post(route("containers.restart",s.uuid),{},{preserveScroll:!0,preserveState:!0,onSuccess:()=>F(),onError:r=>{const c=Object.values(r).join(" ")||"Failed to restart the replica.";O.error(c)},onFinish:()=>k(s.uuid,null)})}},cancel:{label:"Cancel",onClick:()=>{}}})},[F,k]),He=(0,d.useCallback)(s=>{O(`Redeploy replica "${s.server_name}"?`,{action:{label:"Redeploy",onClick:()=>{k(s.uuid,"redeploying"),f.post(route("containers.redeploy",s.uuid),{},{preserveScroll:!0,preserveState:!0,onSuccess:()=>F(),onError:r=>{const c=Object.values(r).join(" ")||"Failed to redeploy the replica.";O.error(c)},onFinish:()=>k(s.uuid,null)})}},cancel:{label:"Cancel",onClick:()=>{}}})},[F,k]),We=(0,d.useCallback)(s=>{O(`Delete replica "${s.server_name}"?`,{action:{label:"Delete",onClick:()=>{k(s.uuid,"deleting"),f.delete(route("containers.destroy",s.uuid),{preserveScroll:!0,preserveState:!0,onSuccess:()=>F(),onError:r=>{const c=Object.values(r).join(" ")||"Failed to delete the replica.";O.error(c)},onFinish:()=>k(s.uuid,null)})}},cancel:{label:"Cancel",onClick:()=>{}}})},[F,k]),Qe=s=>{le(s),P([]);const r=s==="all"?C.find(c=>z.has(c.status.toLowerCase()))?.uuid:s;r&&H(r,p)},Ke=()=>{if(!L.length)return;const s=L.map(g=>g.content).join(`
2`),r=new Blob([s],{type:"text/plain"}),c=URL.createObjectURL(r),x=document.createElement("a");x.href=c,x.download=`${t.name}-logs-${new Date().toISOString().slice(0,19).replace(/:/g,"-")}.txt`,document.body.appendChild(x),x.click(),document.body.removeChild(x),URL.revokeObjectURL(c)};return(0,e.jsxs)(ks,{breadcrumbs:[{title:"Dashboard",href:route("dashboard")},{title:"Serverless GPUs",href:route("serverless-services.index")},{title:t.name,href:route("serverless-services.show",t.uuid)}],title:a,description:n,children:[(0,e.jsx)(rs,{title:`${t.name} - Serverless`}),(0,e.jsxs)("div",{className:"flex flex-1 flex-col gap-6 p-4",children:[(0,e.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-3",children:[(0,e.jsx)(m,{variant:"ghost",size:"icon",className:"size-8",onClick:()=>f.visit(route("serverless-services.index")),children:(0,e.jsx)(ye,{className:"size-4"})}),(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("h1",{className:"text-2xl font-semibold tracking-tight text-foreground",children:t.name}),(0,e.jsx)(w,{variant:t.is_enabled?"default":"secondary",children:t.is_enabled?"Active":"Paused"})]}),(0,e.jsxs)("p",{className:"mt-0.5 text-sm text-muted-foreground",children:[t.gpu_type_name," · ",t.gpu_count," GPU · ",t.memory," GB RAM",t.region_name?` · ${t.region_name}`:"",t.network_volume_name?` · ${t.network_volume_name}`:""]})]})]}),(0,e.jsxs)(m,{variant:"outline",size:"sm",className:"gap-2 self-start",onClick:()=>f.visit(route("serverless-services.index")),children:[(0,e.jsx)(ye,{className:"h-3.5 w-3.5"}),"All Endpoints"]})]}),(0,e.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[(0,e.jsxs)(b,{children:[(0,e.jsxs)(j,{className:"flex flex-row items-center justify-between pb-2",children:[(0,e.jsx)(T,{className:"text-sm font-medium",children:"Live Replicas"}),(0,e.jsx)(fe,{className:"h-4 w-4 text-muted-foreground"})]}),(0,e.jsxs)(N,{children:[(0,e.jsx)("div",{className:"text-2xl font-bold",children:t.active_replicas_count}),(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:t.provisioning_replicas_count>0?`${t.provisioning_replicas_count} warming`:"No cold starts"}),t.unhealthy_replicas_count>0&&(0,e.jsxs)("p",{className:"mt-1 text-xs font-medium text-orange-600 dark:text-orange-400",children:[t.unhealthy_replicas_count," unhealthy (not serving)"]})]})]}),(0,e.jsxs)(b,{children:[(0,e.jsxs)(j,{className:"flex flex-row items-center justify-between pb-2",children:[(0,e.jsx)(T,{className:"text-sm font-medium",children:"Pending Requests"}),(0,e.jsx)(hs,{className:"h-4 w-4 text-muted-foreground"})]}),(0,e.jsxs)(N,{children:[(0,e.jsx)("div",{className:J("text-2xl font-bold",t.queued_requests_count>0&&"text-warning"),children:t.queued_requests_count}),(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:"Queued, provisioning, or proxying"})]})]}),(0,e.jsxs)(b,{children:[(0,e.jsxs)(j,{className:"flex flex-row items-center justify-between pb-2",children:[(0,e.jsx)(T,{className:"text-sm font-medium",children:"Total Requests"}),(0,e.jsx)(Ne,{className:"h-4 w-4 text-muted-foreground"})]}),(0,e.jsxs)(N,{children:[(0,e.jsx)("div",{className:"text-2xl font-bold",children:t.total_requests_count}),(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:"All time"})]})]}),(0,e.jsxs)(b,{children:[(0,e.jsxs)(j,{className:"flex flex-row items-center justify-between pb-2",children:[(0,e.jsx)(T,{className:"text-sm font-medium",children:"Capacity"}),(0,e.jsx)(Ze,{className:"h-4 w-4 text-muted-foreground"})]}),(0,e.jsxs)(N,{children:[(0,e.jsxs)("div",{className:"text-2xl font-bold",children:[Math.round(ue),"%"]}),(0,e.jsx)(Ss,{value:ue,className:"mt-2 h-1.5"})]})]})]}),(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)(S,{children:"Replicas"}),(0,e.jsxs)(T,{children:[l.length," replica",l.length===1?"":"s"," managed by this 
2service"]})]}),(0,e.jsx)("div",{className:"flex items-center gap-2",children:C.length>0&&(0,e.jsxs)(m,{variant:"outline",size:"sm",className:"gap-2",onClick:()=>ae("live"),children:[(0,e.jsx)(ge,{className:"h-3.5 w-3.5"}),"View Logs"]})})]})}),(0,e.jsx)(N,{className:"p-0",children:l.length===0?(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center py-12",children:[(0,e.jsx)("div",{className:"flex size-10 items-center justify-center rounded-full bg-muted",children:(0,e.jsx)(fe,{className:"size-5 text-muted-foreground"})}),(0,e.jsx)("p",{className:"mt-3 text-sm text-muted-foreground",children:"No replicas running"}),(0,e.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Replicas will appear here when requests trigger cold starts"})]}):(0,e.jsx)("div",{className:"divide-y",children:l.map(s=>{const r=s.status.toLowerCase(),c=z.has(r),x=De.has(r),g=Ue[s.uuid],E=g!==void 0;return(0,e.jsxs)("div",{className:"flex flex-col gap-3 px-6 py-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1 flex flex-col gap-1",children:[(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsx)("span",{className:"truncate text-sm font-medium text-foreground",children:s.server_name}),(0,e.jsx)(Ps,{status:r}),s.server&&(0,e.jsxs)("span",{className:"text-xs text-muted-foreground",children:["on ",s.server.name]})]}),(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[s.uptime&&(0,e.jsxs)("span",{children:["Up ",s.uptime]}),s.created_at&&(0,e.jsxs)(e.Fragment,{children:[s.uptime&&(0,e.jsx)("span",{className:"text-muted-foreground/40",children:"·"}),(0,e.jsxs)("span",{children:["Created ",_(s.created_at)]})]}),(0,e.jsx)("span",{className:"text-muted-foreground/40",children:"·"}),(0,e.jsx)("span",{className:"font-mono text-[10px]",children:s.uuid.slice(0,12)})]})]}),(0,e.jsxs)("div",{className:"flex items-center gap-1.5",children:[c&&(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>ae("live",s.uuid),children:[(0,e.jsx)(ge,{className:"h-3 w-3"}),"Live Logs"]}),(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:E,onClick:()=>Ve(s),children:[g==="restarting"?(0,e.jsx)(I,{className:"h-3 w-3 animate-spin"}):(0,e.jsx)(be,{className:"h-3 w-3"}),g==="restarting"?"Restarting...":"Restart"]}),(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",disabled:E,onClick:()=>He(s),children:[g==="redeploying"?(0,e.jsx)(I,{className:"h-3 w-3 animate-spin"}):(0,e.jsx)(we,{className:"h-3 w-3"}),g==="redeploying"?"Redeploying...":"Redeploy"]}),(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 px-2 text-xs text-destructive hover:text-destructive",disabled:E,onClick:()=>We(s),children:[g==="deleting"?(0,e.jsx)(I,{className:"h-3 w-3 animate-spin"}):(0,e.jsx)(je,{className:"h-3 w-3"}),g==="deleting"?"Deleting...":"Delete"]}),s.has_logs&&(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>ae("deployment",s.uuid),children:[(0,e.jsx)(_e,{className:"h-3 w-3"}),"Deploy Logs"]}),x&&!s.has_logs&&(0,e.jsx)("span",{className:"text-xs text-muted-foreground italic",children:"Provisioning..."})]})]},s.id)})})})]}),(0,e.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[1fr_0.45fr]",children:[(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{children:(0,e.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)(S,{children:"Request Log"}),(0,e.jsxs)(T,{children:[i.total," request",i.total===1?"":"s"," total"]})]}),(0,e.jsx)("div",{className:"flex items-center gap-2",children:te>0&&(0,e.jsxs)(w,{variant:"outline",className:"border-warning/25 bg-warning/10 text-warning",children:[te," in flight"]})})]})}),(0,e.jsx)(N,{className:"p-0",children:(0,e.jsxs)(ws,{value:y,onValueChange:s=>$(s),className:"w-full",children:[(0,e.jsx)("div",{className:"border-b px-6 pb-4",children:(0,e.jsxs)(_s,{className:"grid w-full grid-cols-4",children:[(0,e.jsx)(W,{value:"all",children:"All"}),(0,e.jsxs)(W,{value:"active",children:["In Flight (",te,")"]}),(0,e.jsxs)(W,{value:"completed",children:["Completed (",Be,")"]}),(0,e.jsxs)(W,{value:"failed",children:["Failed (",Ge,")"]})]})}),(0,e.jsxs)(ys,{value:y,className:"mt-0",children:[he.length===0?(0,e.jsxs)("div",{className:"flex flex-col items-center justify-center py-16",children:[(0,e.jsx)("div",{className:"flex size-10 items-center justify-center rounded-full bg-muted",children:(0,e.jsx)(Ne,{className:"size-5 text-muted-foreground"})}),(0,e.jsx)("p",{className:"mt-3 text-sm text-muted-foreground",children:"No requests in this view"})]}):(0,e.jsx)("div",{className:"divide-y",children:he.map(s=>{const r=s.status==="queued"||s.status==="provisioning";return(0,e.jsxs)("div",{className:"flex w-full items-center gap-4 px-6 py-3.5 text-left transition-colors hover:bg-muted/50 cursor-pointer",onClick:()=>v(s),children:[(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsx)(Fe,{status:s.status}),(0,e.jsx)(w,{variant:"outline",className:"font-mono text-xs uppercase",children:(s.method||"GET").toUpperCase()}),(0,e.jsx)(Ee,{code:s.response_status_code}),(0,e.jsx)("span",{className:"truncate text-sm text-foreground",children:Oe(s.path,s.query_string)})]}),(0,e.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[s.content_type&&(0,e.jsx)("span",{children:s.content_type}),s.request_size_bytes!=null&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{className:"text-muted-foreground
2/40",children:"·"}),(0,e.jsx)("span",{children:Me(s.request_size_bytes)})]}),s.queued_at&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{className:"text-muted-foreground/40",children:"·"}),(0,e.jsx)("span",{children:_(s.queued_at)})]}),s.error_message&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("span",{className:"text-muted-foreground/40",children:"·"}),(0,e.jsx)("span",{className:"truncate text-destructive",children:Fs(s.error_message,80)})]})]})]}),r&&(0,e.jsxs)(m,{variant:"ghost",size:"sm",className:"h-7 shrink-0 gap-1.5 px-2 text-xs text-destructive hover:bg-destructive/10 hover:text-destructive",onClick:c=>{c.stopPropagation(),f.delete(route("serverless-requests.cancel",s.uuid),{preserveState:!0})},children:[(0,e.jsx)(ve,{className:"h-3 w-3"}),"Cancel"]})]},s.uuid)})}),i.last_page>1&&(0,e.jsxs)("div",{className:"flex items-center justify-between border-t px-6 py-3",children:[(0,e.jsxs)("p",{className:"text-sm text-muted-foreground",children:["Page ",i.current_page," of ",i.last_page,(0,e.jsxs)("span",{className:"hidden sm:inline",children:[" · ",i.total," total"]})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)(m,{variant:"outline",size:"sm",className:"h-8 gap-1",disabled:!i.has_prev_page,onClick:()=>f.reload({data:{page:i.current_page-1},only:["recentRequests"]}),children:[(0,e.jsx)(Ce,{className:"h-4 w-4"}),"Prev"]}),(0,e.jsxs)(m,{variant:"outline",size:"sm",className:"h-8 gap-1",disabled:!i.has_next_page,onClick:()=>f.reload({data:{page:i.current_page+1},only:["recentRequests"]}),children:["Next",(0,e.jsx)(ke,{className:"h-4 w-4"})]})]})]})]})]})})]}),(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{className:"pb-3",children:(0,e.jsxs)(S,{className:"flex items-center gap-2 text-sm",children:[(0,e.jsx)(Ye,{className:"h-4 w-4"}),"Invoke URL"]})}),(0,e.jsx)(N,{children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("code",{className:"flex-1 truncate rounded-md bg-muted px-3 py-2 font-mono text-xs",children:t.endpoint_url}),(0,e.jsx)(m,{variant:"outline",size:"icon",className:J("size-8 shrink-0",xe&&"border-emerald-500/50 text-emerald-600 dark:text-emerald-400"),onClick:()=>{navigator.clipboard.writeText(t.endpoint_url),me(!0),setTimeout(()=>me(!1),2e3)},children:xe?(0,e.jsx)(ns,{className:"size-3.5"}):(0,e.jsx)(gs,{className:"size-3.5"})}),(0,e.jsx)(m,{variant:"outline",size:"icon",className:"size-8 shrink-0",onClick:()=>window.open(t.endpoint_url,"_blank","noopener,noreferrer"),title:"Open in new tab",children:(0,e.jsx)(ds,{className:"size-3.5"})})]})})]}),(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{className:"pb-3",children:(0,e.jsxs)(S,{className:"flex items-center gap-2 text-sm",children:[(0,e.jsx)(ss,{className:"h-4 w-4"}),"Configuration"]})}),(0,e.jsxs)(N,{className:"flex flex-col gap-3",children:[(0,e.jsx)(u,{label:"Template",value:t.template_name||"Unknown"}),(0,e.jsx)(u,{label:"GPU Type",value:t.gpu_type_name||"Unknown"}),(0,e.jsx)(u,{label:"GPU Count",value:String(t.gpu_count)}),(0,e.jsx)(u,{label:"Memory",value:`${t.memory} GB`}),(0,e.jsx)(u,{label:"Region",value:t.region_name||"Any"}),(0,e.jsx)(u,{label:"Network Volume",value:t.network_volume_name?`${t.network_volume_name}${t.network_volume_max_size?` (${t.network_volume_max_size} GB)`:""}`:"None"}),t.network_volume_name&&(0,e.jsx)(u,{label:"Volume Mount",value:t.template_volume_mount_path||"/my_workspace"}),t.cuda_version&&(0,e.jsx)(u,{label:"CUDA",value:t.cuda_version}),(0,e.jsx)(u,{label:"Endpoint Port",value:String(t.endpoint_port)}),(0,e.jsx)(u,{label:"Health Path",value:t.health_check_path||"/"}),(0,e.jsx)(u,{label:"Image Policy",value:t.image_pull_policy})]})]}),(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{className:"pb-3",children:(0,e.jsxs)(S,{className:"flex items-center gap-2 text-sm",children:[(0,e.jsx)(fs,{className:"h-4 w-4"}),"Scaling"]})}),(0,e.jsxs)(N,{className:"flex flex-col gap-3",children:[(0,e.jsx)(u,{label:"Min Replicas",value:String(t.min_replicas)}),(0,e.jsx)(u,{label:"Max Replicas",value:String(t.max_replicas)}),(0,e.jsx)(u,{label:"Concurrency / Replica",value:String(t.max_concurrent_requests)}),(0,e.jsx)(u,{label:"Overload Routing",value:t.allow_overflow_requests?"Enabled":"Disabled"}),(0,e.jsx)(u,{label:"Custom Policy",value:t.autoscaling_enabled?"Enabled":"Disabled"})]})]}),t.autoscaling_enabled&&(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{className:"pb-3",children:(0,e.jsxs)(S,{className:"flex items-center gap-2 text-sm",children:[(0,e.jsx)(_e,{className:"h-4 w-4"}),"Autoscaling Policy"]})}),(0,e.jsxs)(N,{className:"flex flex-col gap-3",children:[(0,e.jsx)(u,{label:"Template",value:t.autoscaling_template_key||"Custom"}),(0,e.jsx)(u,{label:"Last Evaluated",value:_(t.autoscaling_last_evaluated_at,"Never")}),(0,e.jsx)(u,{label:"Last Error",value:_(t.autoscaling_last_error_at,"None")}),t.autoscaling_policy_code&&(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Policy Code"}),(0,e.jsx)(Q,{language:"javascript",languageLabel:"Policy",value:t.autoscaling_policy_code,onChange:()=>{},height:Math.min(Math.max(t.autoscaling_policy_code.split(`
3`).length*20,80),300),readOnly:!0})]}),t.autoscaling_metrics_config&&(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Metrics Config"}),(0,e.jsx)(Q,{language:"json",languageLabel:"Metrics",value:t.autoscaling_metrics_config,onChange:()=>{},height:Math.min(Math.max(t.autoscaling_metrics_config.split(`
4`).length*20,80),200),readOnly:!0})]})]})]}),(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{className:"pb-3",children:(0,e.jsxs)(S,{className:"flex items-center gap-2 text-sm",children:[(0,e.jsx)(es,{className:"h-4 w-4"}),"Timeouts"]})}),(0,e.jsxs)(N,{className:"flex flex-col gap-3",children:[(0,e.jsx)(u,{label:"Idle",value:`${t.idle_timeout_seconds}s`}),(0,e.jsx)(u,{label:"Cold Start",value:`${t.cold_start_timeout_seconds}s`}),(0,e.jsx)(u,{label:"Request",value:`${t.request_timeout_seconds}s`}),(0,e.jsx)(Ns,{className:"my-2"}),(0,e.jsx)(u,{label:"Last Invoked",value:_(t.last_invoked_at,"Never")}),(0,e.jsx)(u,{label:"Last Scaled",value:_(t.last_scaled_at,"Never")})]})]}),(t.command||t.environment_variables||t.notes)&&(0,e.jsxs)(b,{children:[(0,e.jsx)(j,{className:"pb-3",children:(0,e.jsxs)(S,{className:"flex items-center gap-2 text-sm",children:[(0,e.jsx)(js,{className:"h-4 w-4"}),"Environment"]})}),(0,e.jsxs)(N,{className:"flex flex-col gap-3",children:[t.command&&(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Command"}),(0,e.jsx)("code",{className:"mt-1 block rounded-md bg-muted px-2 py-1.5 font-mono text-xs text-foreground",children:t.command})]}),t.environment_variables&&(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Environment Variables"}),(0,e.jsx)("pre",{className:"mt-1 rounded-md bg-muted px-2 py-1.5 font-mono text-xs text-foreground whitespace-pre-wrap",children:t.environment_variables})]}),t.notes&&(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-xs font-medium text-muted-foreground",children:"Notes"}),(0,e.jsx)("p",{className:"mt-1 text-sm text-foreground",children:t.notes})]})]})]})]})]}),(0,e.jsxs)(b,{children:[(0,e.jsxs)(j,{children:[(0,e.jsx)(S,{children:"Autoscaling Logs"}),(0,e.jsxs)(T,{children:["Recent policy evaluations, metric collection warnings, and reconciliation results.",h.total>0&&(0,e.jsxs)("span",{className:"ml-1",children:["(",h.total," total)"]})]})]}),(0,e.jsx)(N,{className:"flex flex-col gap-3",children:h.data.length===0?(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:"No autoscaling logs yet."}):(0,e.jsxs)(e.Fragment,{children:[h.data.map(s=>{const r=Object.keys(s.metrics||{}).length>
40,c=Object.keys(s.context||{}).length>0,x=r||c;return(0,e.jsx)(Rs,{children:(0,e.jsxs)("div",{className:"rounded-lg border p-4",children:[(0,e.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsx)(w,{variant:s.level==="error"?"destructive":s.level==="warning"?"secondary":"outline",children:s.level}),(0,e.jsx)(w,{variant:"outline",children:s.source}),(0,e.jsx)("span",{className:"text-sm font-medium text-foreground",children:s.message})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-xs text-muted-foreground",children:_(s.created_at,"Just now")}),x&&(0,e.jsx)(Ls,{asChild:!0,children:(0,e.jsx)(m,{variant:"ghost",size:"icon",className:"h-6 w-6",children:(0,e.jsx)(ls,{className:"h-3.5 w-3.5 transition-transform [[data-state=open]_&]:rotate-180"})})})]})]}),(0,e.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-4 text-xs text-muted-foreground",children:[typeof s.current_replicas=="number"&&(0,e.jsxs)("span",{children:["Current: ",s.current_replicas]}),typeof s.desired_replicas=="number"&&(0,e.jsxs)("span",{children:["Desired: ",s.desired_replicas]}),(0,e.jsxs)("span",{children:["Event: ",s.event]}
4)]}),x&&(0,e.jsxs)(zs,{children:[r&&(0,e.jsxs)("div",{className:"mt-3",children:[(0,e.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Metrics"}),(0,e.jsx)(Q,{language:"json",languageLabel:"Metrics",value:JSON.stringify(s.metrics,null,2),onChange:()=>{},height:Math.min(JSON.stringify(s.metrics,null,2).split(`
5`).length*20,200),readOnly:!0})]}),c&&(0,e.jsxs)("div",{className:"mt-3",children:[(0,e.jsx)("p",{className:"mb-1 text-xs font-medium text-muted-foreground",children:"Context"}),(0,e.jsx)(Q,{language:"json",languageLabel:"Context",value:JSON.stringify(s.context,null,2),onChange:()=>{},height:Math.min(JSON.stringify(s.context,null,2).split(`
6`).length*20,200),readOnly:!0})]})]})]})},s.id)}),h.last_page>1&&(0,e.jsxs)("div",{className:"flex items-center justify-between pt-2",children:[(0,e.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Page ",h.current_page," of ",h.last_page]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)(m,{variant:"outline",size:"sm",disabled:!h.has_prev_page,onClick:()=>f.reload({data:{autoscaling_page:h.current_page-1},only:["autoscalingLogs"]}),children:[(0,e.jsx)(Ce,{className:"mr-1 h-4 w-4"}),"Previous"]}),(0,e.jsxs)(m,{variant:"outline",size:"sm",disabled:!h.has_next_page,onClick:()=>f.reload({data:{autoscaling_page:h.current_page+1},only:["autoscalingLogs"]}),children:["Next",(0,e.jsx)(ke,{className:"ml-1 h-4 w-4"})]})]})]})]})})]})]}),(0,e.jsx)(Te,{open:D,onOpenChange:s=>!s&&X(!1),children:(0,e.jsxs)(ze,{className:q?"!fixed !inset-0 !top-0 !left-0 flex !h-full !w-full !max-w-full !translate-x-0 !translate-y-0 flex-col !rounded-none":"flex max-h-[90vh] flex-col sm:max-w-5xl",children:[(0,e.jsxs)(Le,{className:"flex-shrink-0",children:[(0,e.jsxs)(Pe,{className:"pr-16",children:[p==="deployment"?"Deployment Logs":"Container Logs",": ",t.name]}),(0,e.jsx)(m,{variant:"ghost",size:"icon",onClick:()=>de(!q),className:"absolute top-4 right-14 size-8 rounded-sm opacity-70 hover:opacity-100",children:q?(0,e.jsx)(as,{className:"h-4 w-4"}):(0,e.jsx)(os,{className:"h-4 w-4"})})]}),(0,e.jsxs)("div",{className:"flex flex-shrink-0 flex-col items-stretch gap-3 py-2 sm:flex-row sm:flex-wrap sm:items-center sm:gap-2",children:[C.length>1&&(0,e.jsxs)("select",{className:"border-input bg-background text-foreground h-9 rounded-md border px-3 text-sm outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",value:R,onChange:s=>Qe(s.target.value),children:[(0,e.jsx)("option",{value:"all",children:"All replicas (first running)"}),C.map(s=>(0,e.jsxs)("option",{value:s.uuid,children:[s.server_name," (",s.status,")"]},s.uuid))]}),(0,e.jsxs)("div",{className:"relative min-w-0 flex-grow",children:[(0,e.jsx)(bs,{type:"search",autoComplete:"off",spellCheck:!1,value:G,onChange:s=>ie(s.target.value),placeholder:"Filter logs...",className:"pl-10"}),(0,e.jsx)(xs,{className:"absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2 text-muted-foreground"})]}),(0,e.jsxs)("div",{className:"flex flex-shrink-0 items-center gap-2",children:[(0,e.jsx)(m,{variant:"ghost",size:"icon",onClick:()=>{const s=R==="all"?C.find(r=>z.has(r.status.toLowerCase()))?.uuid:R;s&&H(s,p)},disabled:Y||p==="deployment",title:"Refresh Logs",children:Y?(0,e.jsx)(I,{className:"h-4 w-4 animate-spin"}):(0,e.jsx)(be,{className:"h-4 w-4"})}),(0,e.jsx)(m,{variant:"secondary",size:"icon",onClick:()=>P([]),disabled:p==="deployment",title:"Clear logs",children:(0,e.jsx)(je,{className:"h-4 w-4"})}),(0,e.jsx)(m,{variant:"secondary",size:"icon",onClick:Ke,title:"Download logs",children:(0,e.jsx)(ts,{className:"h-4 w-4"})}),(0,e.jsx)(m,{variant:U&&p!=="deployment"?"default":"destructive",size:"icon",onClick:()=>oe(s=>!s),disabled:p==="deployment",className:U&&p!=="deployment"?"bg-emerald-500/10 text-emerald-700 hover:bg-emerald-500/20 dark:text-emerald-400":"bg-destructive/10 text-destructive hover:bg-destructive/20",title:U?"Pause streaming":"Resume streaming",children:U&&p!=="deployment"?(0,e.jsx)(us,{className:"h-4 w-4"}):(0,e.jsx)(we,{className:"h-4 w-4"})})]}),(0,e.jsxs)("div",{className:"flex flex-shrink-0 flex-col items-start gap-3 sm:flex-row sm:items-center sm:gap-4",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(Ae,{id:"logs-auto-scroll",checked:Z,onCheckedChange:s=>ce(s===!0)}),(0,e.jsx)(Se,{htmlFor:"logs-auto-scroll",className:"cursor-pointer text-sm whitespace-nowrap",children:"Auto-scroll"})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(Ae,{id:"logs-timestamps",checked:A,onCheckedChange:s=>Je(s===!0)}),(0,e.jsx)(Se,{htmlFor:"logs-timestamps",className:"cursor-pointer text-sm whitespace-nowrap",children:"Timestamps"})]})]})]}),(0,e.jsxs)("div",{className:`relative ${q?"min-h-0 flex-grow":""}`,children:[Y&&L.length===0&&(0,e.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center rounded-lg bg-background/50",children:(0,e.jsx)(I,{className:"size-8 animate-spin text-primary"})}),(0,e.jsxs)("pre",{className:`${q?"h-full":"h-96"} overflow-y-auto rounded-lg border bg-zinc-900 p-4 font-mono text-sm whitespace-pre-wrap text-muted-foreground dark:bg-zinc-950`,children:[pe.map((s,r)=>(0,e.jsxs)("span",{children:[s.content,r<pe.length-1||s.content.length>0?`
7`:""]},r)),(0,e.jsx)("div",{ref:ee})]})]}),(0,e.jsx)(Re,{className:"flex-shrink-0 pt-4",children:(0,e.jsx)(m,{variant:"outline",onClick:()=>X(!1),children:"Close"})})]})}),(0,e.jsx)(Te,{open:!!o,onOpenChange:s=>!s&&v(null),children:(0,e.jsx)(ze,{className:"max-h-[90vh] overflow-hidden sm:max-w-5xl",children:o&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(Le,{className:"flex flex-col gap-3 pr-8",children:(0,e.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,e.jsxs)("div",{className:"flex flex-col gap-1 min-w-0",children:[(0,e.jsx)(Pe,{className:"font-mono text-sm truncate",children:o.uuid}),(0,e.jsxs)("p",{className:"text-sm text-muted-foreground",children:[(o.method||"GET").toUpperCase()," ",Oe(o.path,o.query_string)]})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(Fe,{status:o.status}),(0,e.jsx)(Ee,{code:o.response_status_code})]})]})}),(0,e.jsx)(Cs,{className:"max-h-[68vh] pr-4",children:(0,e.jsxs)("div",{className:"flex flex-col gap-6 pr-4",children:[(0,e.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4",children:[(0,e.jsx)(M,{label:"Content Type",value:As(o.content_type)}),(0,e.jsx)(M,{label:"Payload Size",value:Me(o.request_size_bytes)}),(0,e.jsx)(M,{label:"Queued",value:_(o.queued_at,"Pending")}),(0,e.jsx)(M,{label:"Completed",value:_(o.completed_at,"Pending")})]}),(0,e.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,e.jsx)(M,{label:"Started",value:_(o.started_at,"Pending")}),(0,e.jsx)(M,{label:"Response",value:o.response_status_code?`HTTP ${o.response_status_code}`:o.error_message?"No upstream response":"Awaiting upstream"})]}),o.error_message&&(0,e.jsxs)("div",{className:"rounded-lg border border-destructive/25 bg-destructive/10 px-4 py-3",children:[(0,e.jsx)("p",{className:"text-xs font-medium text-destructive uppercase",children:"Error"}),(0,e.jsx)("p",{className:"mt-1 text-sm text-foreground",children:o.error_message})]}),(0,e.jsxs)("div",{className:"grid gap-4 xl:grid-cols-2",children:[(0,e.jsx)(K,{title:"Request Headers",value:o.request_headers,emptyMessage:"No request headers captured."}),(0,e.jsx)(K,{title:"Response Headers",value:o.response_headers,emptyMessage:"No response headers captured."}),(0,e.jsx)(K,{title:"Request Body",value:o.request_body,emptyMessage:"No request body captured.",contentType:o.content_type}),(0,e.jsx)(K,{title:"Response Body",value:o.response_body,emptyMessage:"No response body captured.",contentType:Es(o.response_headers,"content-type")})]})]})}),(0,e.jsxs)(Re,{className:"flex items-center justify-between sm:justify-between",children:[o.status==="queued"||o.status==="provisioning"?(0,e.jsxs)(m,{variant:"destructive",size:"sm",className:"gap-1.5",onClick:()=>{f.delete(route("serverless-requests.cancel",o.uuid),{preserveState:!0,onSuccess:()=>v(null)})},children:[(0,e.jsx)(ve,{className:"h-3.5 w-3.5"}),"Cancel Request"]}):(0,e.jsx)("div",{}),(0,e.jsx)(m,{type:"button",variant:"outline",onClick:()=>v(null),children:"Close"})]})]})})})]})}function u({label:a,value:n}){return(0,e.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,e.jsx)("span",{className:"text-muted-foreground",children:a}),(0,e.jsx)("span",{className:"font-medium text-foreground",children:n})]})}function M({label:a,value:n}){return(0,e.jsxs)("div",{className:"rounded-lg border bg-muted/30 px-3 py-2.5",children:[(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:a}),(0,e.jsx)("p",{className:"mt-0.5 text-sm font-medium text-foreground",children:n})]})}function Ps({status:a}){return(0,e.jsx)(w,{variant:"outline",className:J("text-xs",z.has(a)&&"border-emerald-500/25 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",De.has(a)&&"border-orange-500/25 bg-orange-500/10 text-orange-700 dark:text-orange-200",a==="failed"&&"border-destructive/25 bg-destructive/10 text-destructive",a==="stopped"&&"border-border bg-muted/50 text-muted-foreground"),children:a})}function Fe({status:a}){const n=a||"queued";return(0,e.jsx)(w,{variant:"outline",className:J("text-xs",n==="completed"&&"border-emerald-500/25 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",n==="failed"&&"border-destructive/25 bg-destructive/10 text-destructive",n==="timed_out"&&"border-amber-500/25 bg-amber-500/10 text-amber-700 dark:text-amber-300",ne.has(n)&&"border-orange-500/25 bg-orange-500/10 text-orange-700 dark:text-orange-200"),children:n.replace(/_/g," ")})}function Ee({code:a}){return a?(0,e.jsx)(w,{variant:"outline",className:J("font-mono text-xs",a>=200&&a<300&&"border-emerald-500/25 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",a>=300&&a<400&&"border-sky-500/25 bg-sky-500/10 text-sky-700 dark:text-sky-300",a>=400&&a<500&&"border-amber-500/25 bg-amber-500/10 text-amber-700 dark:text-amber-300",a>=500&&"border-destructive/25 bg-destructive/10 text-destructive"),children:a}):null}function Ts({text:a}){return(0,e.jsx)(e.Fragment,{children:(0,d.useMemo)(()=>{const n=[],t=/("(?:\\.|[^"\\])*")\s*:|("(?:\\.|[^"\\])*")|((?:-?\d+\.?\d*(?:[eE][+-]?\d+)?))|(\btrue\b|\bfalse\b)|(\bnull\b)|([{}[\]:,])/g;let i=0,l;for(;(l=t.exec(a))!==null;)l.index>
7i&&n.push({text:a.slice(i,l.index),type:"punctuation"}),l[1]?(n.push({text:l[1],type:"key"}),n.push({text:":",type:"punctuation"})):l[2]?n.push({text:l[2],type:"string"}):l[3]?n.push({text:l[3],type:"number"}):l[4]?n.push({text:l[4],type:"bool"}):l[5]?n.push({text:l[5],type:"null"}):l[6]&&n.push({text:l[6],type:"punctuation"}),i=t.lastIndex;return i<a.length&&n.push({text:a.slice(i),type:"punctuation"}),n},[a]).map((n,t)=>(0,e.jsx)("span",{className:n.type==="key"?"text-purple-700 dark:text-purple-400":n.type==="string"?"text-emerald-700 dark:text-emerald-400":n.type==="number"?"text-amber-700 dark:text-amber-400":n.type==="bool"?"text-sky-700 dark:text-sky-400":n.type==="null"?"text-rose-700 dark:text-rose-400":"text-zinc-600 dark:text-zinc-400",children:n.text},t))})}function K({title:a,value:n,emptyMessage:t,contentType:i}){const l=Ms(n,i);return(0,e.jsxs)("div",{className:"overflow-hidden rounded-lg border",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between border-b px-4 py-2.5",children:[(0,e.jsx)("h3",{className:"text-sm font-medium text-foreground",children:a}),l?.isJson&&(0,e.jsx)(w,{variant:"secondary",className:"text-xs",children:"JSON"}),l?.isFormData&&(0,e.jsx)(w,{variant:"secondary",className:"text-xs",children:"Form Data"})]}),l?l.isFormData?(0,e.jsx)("div",{className:"max-h-72 overflow-auto",children:l.text.split(`
8`).map((h,o)=>{const v=h.indexOf(": ");if(v===-1)return null;const y=h.slice(0,v),$=h.slice(v+2);return(0,e.jsxs)("div",{className:"flex gap-3 border-b last:border-b-0 px-4 py-2",children:[(0,e.jsx)("span",{className:"shrink-0 font-mono text-xs font-medium text-foreground",children:y}),(0,e.jsx)("span",{className:"font-mono text-xs text-muted-foreground break-all",children:$})]},o)})}):l.isJson?(0,e.jsx)("pre",{className:"max-h-72 overflow-auto bg-zinc-50 dark:bg-zinc-950 px-4 py-3 font-mono text-xs leading-relaxed break-words whitespace-pre-wrap",children:(0,e.jsx)(Ts,{text:l.text})}):(0,e.jsx)("pre",{className:"max-h-72 overflow-auto px-4 py-3 font-mono text-xs leading-relaxed text-foreground/90 break-words whitespace-pre-wrap",children:l.text}):(0,e.jsx)("div",{className:"px-4 py-6 text-center text-sm text-muted-foreground",children:t})]})}function _(a,n="Never"){if(!a)return n;const t=new Date(a);return Number.isNaN(t.getTime())?a:t.toLocaleString()}function As(a){return a?a.split(";")[0].trim():"Unknown"}function Oe(a,n){const t=a&&a.length>0?a:"/";return n?`${t}?${n}`:t}function Me(a){if(a==null)return"Unknown";const n=["B","KB","MB","GB"];let t=a,i=0;for(;t>=1024&&i<n.length-1;)t/=1024,i++;return`${t>=10||i===0?t.toFixed(0):t.toFixed(1)} ${n[i]}`}function Fs(a,n){return a.length<=n?a:`${a.slice(0,n-1)}…`}function Es(a,n){if(!a||typeof a!="object"||Array.isArray(a))return null;const t=n.toLowerCase();for(const[i,l]of Object.entries(a))if(i.toLowerCase()===t)return Array.isArray(l)?l.join(", "):l==null?null:String(l);return null}function Os(a){const n=a.match(/^-{2,}(\S+)/);if(!n)return null;const t=n[1].replace(/--$/,""),i=a.split(new RegExp(`-{2,}${t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?:--)?`)).filter(h=>h.trim());if(i.length===0)return null;const l=[];for(const h of i){const o=h.match(/name="([^"]+)"/);if(!o)continue;const v=o[1],y=h.indexOf(`
9
10`)!==-1?h.indexOf(`
11
12`):h.indexOf(`\r
13\r
14`);if(y===-1)continue;const $=h.slice(y).trim();l.push({name:v,value:$})}return l.length>0?l:null}function Ms(a,n){if(a==null)return null;if(typeof a=="string"){const t=a.trim();if(!t)return null;if(n?.toLowerCase().includes("multipart/form-data")||/^-{2,}\d{10,}/.test(t)){const i=Os(t);if(i)return{text:i.map(l=>`${l.name}: ${l.value}`).join(`
15`),isJson:!1,isFormData:!0}}if(n?.toLowerCase().includes("json")||t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return{text:JSON.stringify(JSON.parse(t),null,2),isJson:!0}}catch{return{text:a,isJson:!1}}return{text:a,isJson:!1}}return typeof a=="object"?Array.isArray(a)&&a.length===0||!Array.isArray(a)&&Object.keys(a).length===0?null:{text:JSON.stringify(a,null,2),isJson:!0}:{text:String(a),isJson:!1}}export{nt as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.