@cartanova/qgrid-cli 2.10.8 → 2.10.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/dist/application/qgrid/qgrid-response-format.js +2 -2
- package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +4 -2
- package/bundle/dist/application/request-log/request-log.model.js +2 -1
- package/bundle/dist/application/request-log/request-log.types.js +8 -2
- package/bundle/dist/application/sonamu.generated.js +9 -1
- package/bundle/dist/application/sonamu.generated.sso.js +2 -1
- package/bundle/dist/i18n/sd.generated.js +2 -1
- package/bundle/dist/migrations/20261018215031_alter_request_logs_add1_alter1.js +15 -0
- package/bundle/src/application/qgrid/qgrid-response-format.ts +1 -1
- package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +14 -0
- package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +3 -0
- package/bundle/src/application/request-log/request-log.entity.json +8 -0
- package/bundle/src/application/request-log/request-log.model.ts +3 -0
- package/bundle/src/application/request-log/request-log.types.ts +11 -0
- package/bundle/src/application/sonamu.generated.http +2 -0
- package/bundle/src/application/sonamu.generated.sso.ts +1 -0
- package/bundle/src/application/sonamu.generated.ts +14 -0
- package/bundle/src/i18n/sd.generated.ts +1 -0
- package/bundle/src/migrations/20261018215031_alter_request_logs_add1_alter1.ts +15 -0
- package/bundle/web-dist/client/assets/{index-DmCLKefs.js → index-DZwzUfI-.js} +4 -4
- package/bundle/web-dist/client/assets/{logs-BedgCqdB.js → logs-Cog79DU5.js} +1 -1
- package/bundle/web-dist/client/assets/{monit-76gLIcaG.js → monit-2auznBys.js} +1 -1
- package/bundle/web-dist/client/assets/{routes-BcU0zD8h.js → routes-B0lTeLK-.js} +1 -1
- package/bundle/web-dist/client/assets/{services.generated-BsieU37H.js → services.generated-NP-ValHd.js} +1 -1
- package/bundle/web-dist/client/assets/{settings-DNVHSTQH.js → settings-D8ZxZGSJ.js} +1 -1
- package/bundle/web-dist/client/assets/{show-dZPDC-qz.js → show-CFSERlnM.js} +2 -2
- package/bundle/web-dist/client/assets/{tokens-BaQQcYUT.js → tokens-CZXUyI7O.js} +1 -1
- package/bundle/web-dist/client/assets/{use-oauth-login-flow-D1jlq9ha.js → use-oauth-login-flow-hboOs3wG.js} +1 -1
- package/bundle/web-dist/client/assets/{use-update-token-mutation-DAq0F8p-.js → use-update-token-mutation-BQHS0byG.js} +1 -1
- package/bundle/web-dist/client/index.html +2 -2
- package/bundle/web-dist/server/assets/{lazyRouteComponent-Dtd0NR4r.js → lazyRouteComponent-CgBdabgd.js} +2 -2
- package/bundle/web-dist/server/assets/{logs-l91avYif.js → logs-BMyR98rU.js} +4 -4
- package/bundle/web-dist/server/assets/{monit-DvzribSE.js → monit-ZPt66W5M.js} +3 -3
- package/bundle/web-dist/server/assets/{plus-KZrECewT.js → plus-BZ9I0VgC.js} +1 -1
- package/bundle/web-dist/server/assets/{react-dom-B4a6-uuR.js → react-dom-Ds75e4Jl.js} +1 -1
- package/bundle/web-dist/server/assets/{refresh-cw-BND93JrF.js → refresh-cw-CztCFis-.js} +1 -1
- package/bundle/web-dist/server/assets/{request-model-CbqfnQOJ.js → request-model-DjGldb-h.js} +1 -1
- package/bundle/web-dist/server/assets/{routes-BAPWTizT.js → routes-Ct-k7nBA.js} +4 -4
- package/bundle/web-dist/server/assets/{services.generated-CEbGjsI0.js → services.generated-BA4AcAf5.js} +1 -0
- package/bundle/web-dist/server/assets/{settings-BZR5HSAL.js → settings-CBUZ47Xx.js} +3 -3
- package/bundle/web-dist/server/assets/{show-CxVZTAdv.js → show-LSFIzvO2.js} +11 -7
- package/bundle/web-dist/server/assets/{tokens-D1hb4eKk.js → tokens-DxrBW512.js} +4 -4
- package/bundle/web-dist/server/assets/{use-oauth-login-flow-Cvdy0zF8.js → use-oauth-login-flow-Gn8flMK5.js} +1 -1
- package/bundle/web-dist/server/assets/{use-update-token-mutation-CfYmk_4_.js → use-update-token-mutation-pkArIzCP.js} +1 -1
- package/bundle/web-dist/server/entry-server.generated.js +18 -10
- package/package.json +1 -1
- package/skills/qgrid/references/ai-sdk-provider-contract.md +1 -1
- package/skills/qgrid/references/decision-rationale.md +2 -2
- package/skills/qgrid/references/openai-codex-runtime.md +3 -2
- package/skills/qgrid/references/request-log-run-lifecycle.md +1 -1
- package/skills/qgrid/references/sonamu-api-web-flow.md +1 -1
- package/skills/qgrid/references/verification-and-debugging.md +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-Dw2cE7zH.js";import{l as e,u as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{C as i,S as a,n as o,o as s,r as c}from"./services.generated-BsieU37H.js";import{i as l,n as u,r as d}from"./index-DmCLKefs.js";import{i as f,r as p,t as m}from"./cost-DH2jZbrw.js";import{t as h}from"./refresh-cw-NNcU0Cmq.js";import{n as g,t as _}from"./request-model-CojtinqK.js";n();var v=r(),y=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m15 18l-6-6l6-6`})}),b=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m9 18l6-6l-6-6`})}),x=50,S=`__unassigned__`;function C(e){let t=new Date(e);return`${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)} ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function w(e){return e.toLocaleString()}function T(e){let t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return n>0?`${n}m ${r}s`:`${r}s`}function E({status:e,requestedModel:t,servedModel:n,imageCostMethod:r,fallbackCount:i}){if(e===`running`)return(0,v.jsx)(`span`,{className:`text-[9px] px-1.5 py-0.5 rounded-full bg-blue-100 text-blue-600 font-medium whitespace-nowrap`,children:`실행 중`});let a=_({status:e,requestedModel:t,servedModel:n,imageCostMethod:r}),o=t!==null&&n===null;return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`text-xs text-sand-500`,children:a.label}),o&&(0,v.jsx)(`span`,{className:`ml-1 text-[9px] text-sand-400`,children:`요청`}),(i??0)>0&&(0,v.jsxs)(`span`,{className:`ml-1 text-[9px] text-caution-500`,children:[`×`,i]})]})}function D(e){return e<=0?`—`:e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`}var O=[{label:`ID`,align:`left`,width:`w-12`,sortKey:`id`},{label:`Date`,align:`left`,width:`w-20`,sortKey:`created_at`},{label:`Project`,align:`left`,width:`w-20`},{label:`Token`,align:`left`,width:`w-24`},{label:`Model`,align:`left`,width:`w-20`},{label:`Fmt`,align:`left`,width:`w-12`},{label:`TTFT`,align:`right`,width:`w-16`,sortKey:`ttft_ms`},{label:`Duration`,align:`right`,width:`w-20`,sortKey:`duration_ms`},{label:`In`,align:`right`,width:`w-16`,sortKey:`input_tokens`},{label:`Out`,align:`right`,width:`w-20`,sortKey:`output_tokens`},{label:`C.Read`,align:`right`,width:`w-20`,sortKey:`cache_read_tokens`},{label:`C.Write`,align:`right`,width:`w-20`,sortKey:`cache_creation_tokens`},{label:`Hit`,align:`right`,width:`w-14`},{label:`Tools`,align:`right`,width:`w-14`},{label:`$`,align:`right`,width:`w-20`,sortKey:`cost_usd`}];function k({search:n,onSearchChange:r}){let i=t(),a=n.page??1,u=n.token??``,d=n.project??``,_=n.model??``,{data:k}=s.useTokens(`A`),A=(k?.rows??[]).map(e=>e.name).filter(Boolean),{data:j}=o.useProjectNames(),M=j?.names??[],{data:N}=o.useModelNames(),P=N?.names??[],F=d===S?{project_name_is_null:!0}:d?{project_name:d}:{},I={...u?{token_name:u}:{},...F,..._?{model_name:_}:{}},L=n.sort??`id-desc`,R=L.lastIndexOf(`-`),z=L.slice(0,R),B=L.slice(R+1)===`asc`?`asc`:`desc`,{data:V,isLoading:H,isError:U,refresh:W,isRefreshing:G}=c.useRequestLogs(`P`,{num:x,page:a,orderBy:L,...I}),{data:K,isError:q,refresh:J}=o.useTotalCost({num:0,page:1,...I}),Y=V?.rows??[],X=V?.total??0,Z=Math.ceil(X/x),Q=e=>{r({...n,...e,page:1})};return(0,v.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,v.jsxs)(`div`,{className:`panel-header flex items-center gap-2 px-3 py-2.5 flex-wrap sm:gap-3 sm:px-5`,children:[(0,v.jsxs)(`select`,{value:u,onChange:e=>Q({token:e.target.value||void 0}),disabled:A.length===0,className:`border border-sand-200/80 rounded-lg px-2.5 py-1.5 text-[11px] text-sand-700 bg-sand-50/50 focus:outline-none focus:border-sienna-300 disabled:text-sand-300 disabled:cursor-not-allowed`,children:[(0,v.jsx)(`option`,{value:``,children:A.length>0?`All Tokens`:`Tokens —`}),A.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsxs)(`select`,{value:d,onChange:e=>Q({project:e.target.value||void 0}),className:`border border-sand-200/80 rounded-lg px-2.5 py-1.5 text-[11px] text-sand-700 bg-sand-50/50 focus:outline-none focus:border-sienna-300`,children:[(0,v.jsx)(`option`,{value:``,children:`All Projects`}),(0,v.jsx)(`option`,{value:S,children:`(unassigned)`}),M.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsxs)(`select`,{value:_,onChange:e=>Q({model:e.target.value||void 0}),disabled:P.length===0,className:`border border-sand-200/80 rounded-lg px-2.5 py-1.5 text-[11px] text-sand-700 bg-sand-50/50 focus:outline-none focus:border-sienna-300 disabled:text-sand-300 disabled:cursor-not-allowed`,children:[(0,v.jsx)(`option`,{value:``,children:P.length>0?`All Models`:`Models —`}),P.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>void Promise.all([W(),J()]),disabled:G,"aria-label":`Reload`,title:`Reload`,className:`p-1 rounded text-sand-400 hover:text-sand-600 disabled:opacity-30 transition-colors`,children:(0,v.jsx)(h,{className:G?`size-3.5 animate-spin`:`size-3.5`})}),(0,v.jsx)(`div`,{className:`flex-1`}),(0,v.jsxs)(`span`,{className:`text-[11px] text-sand-400`,children:[U||!V?`—`:X,` results`]}),q?(0,v.jsx)(`span`,{role:`alert`,className:`text-[11px] text-danger-500`,children:`Failed to load total cost.`}):(0,v.jsx)(`span`,{className:`text-[11px] tabular-nums font-medium text-sienna-600`,children:K?f(K.usd):`—`})]}),U?(0,v.jsx)(`div`,{role:`alert`,className:`text-danger-500 text-center py-12 text-sm`,children:`Failed to load request logs.`}):H?(0,v.jsx)(`div`,{className:`space-y-2`,children:Array.from({length:5}).map((e,t)=>(0,v.jsx)(`div`,{className:`h-8 bg-sand-100 rounded animate-pulse`},`skel-${t}`))}):Y.length===0?(0,v.jsx)(`div`,{className:`text-sand-400 text-center py-12 text-sm`,children:`No requests yet.`}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`overflow-x-auto px-3 py-3 sm:px-5`,children:(0,v.jsxs)(`table`,{className:`w-full min-w-[900px] text-[13px]`,children:[(0,v.jsx)(`thead`,{children:(0,v.jsxs)(`tr`,{className:`border-b border-sand-100/60`,children:[O.map(e=>{let t=e.label===`Duration`?`pl-5 pr-3`:e.width?`px-4`:`px-3`,n=e.sortKey===z;return(0,v.jsx)(`th`,{className:`${e.align===`right`?`text-right`:`text-left`} ${e.width??``} ${e.width?`whitespace-nowrap`:``} ${t} py-1.5 text-[10px] uppercase font-medium ${n?`text-sienna-600`:`text-sand-400`}`,children:e.sortKey?(0,v.jsxs)(`button`,{type:`button`,onClick:()=>Q({sort:l.parse(`${e.sortKey}-${n&&B===`desc`?`asc`:`desc`}`)}),className:`inline-flex items-center gap-0.5 text-[10px] uppercase font-medium hover:text-sienna-500 transition-colors duration-150 ${e.align===`right`?`justify-end w-full`:``}`,children:[e.label,(0,v.jsx)(`span`,{className:n?``:`text-sand-300`,children:n?B===`desc`?`↓`:`↑`:`↕`})]}):e.label},e.label)}),(0,v.jsx)(`th`,{className:`w-8`})]})}),(0,v.jsx)(`tbody`,{className:`divide-y divide-sand-100/60`,children:Y.map(t=>(0,v.jsxs)(`tr`,{className:`transition-colors duration-150 hover:bg-sand-100/60 cursor-pointer`,onClick:e=>{if(e.metaKey||e.ctrlKey){window.open(`/requests/show?id=${t.id}`,`_blank`);return}i({to:`/requests/show`,search:{id:t.id}})},children:[(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(e,{to:`/requests/show`,search:{id:t.id},onClick:e=>e.stopPropagation(),className:`text-xs text-sand-500 tabular-nums hover:text-sienna-500`,children:t.id})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(`span`,{className:`text-xs text-sand-400 tabular-nums`,children:C(t.created_at)})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(`span`,{className:`text-xs text-sand-600`,children:t.project_name??`—`})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(`span`,{className:`text-xs text-sand-500`,children:t.token_name})}),(0,v.jsxs)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:[(0,v.jsx)(E,{status:t.status,requestedModel:t.requested_model_name,servedModel:t.model_name,imageCostMethod:t.image_cost_method,fallbackCount:t.fallback_count}),t.service_tier===`fast`&&(0,v.jsx)(`span`,{title:`Fast 모드`,className:`ml-1 inline-flex align-middle`,children:(0,v.jsx)(g,{"aria-label":`Fast 모드`,className:`size-3 text-[#1877F2] [&_path]:fill-current`})}),t.response_json_ok===!1&&(0,v.jsx)(`span`,{title:`structured 요청의 응답이 JSON 파싱에 실패했습니다`,className:`ml-1.5 rounded-full bg-caution-400/15 px-1.5 py-0.5 text-[9px] font-semibold text-caution-500`,children:`broken`})]}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:t.is_image_generation?(0,v.jsx)(`span`,{className:`rounded bg-sage-100 px-1.5 py-0.5 font-mono text-[10px] text-sage-700`,children:`img`}):t.is_structured?(0,v.jsx)(`span`,{className:`rounded bg-sienna-100 px-1.5 py-0.5 font-mono text-[10px] text-sienna-700`,children:`json`}):(0,v.jsx)(`span`,{className:`font-mono text-[10px] text-sand-400`,children:`text`})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 text-right tabular-nums text-sand-500 whitespace-nowrap`,children:D(t.ttft_ms)}),(0,v.jsx)(`td`,{className:`pl-5 pr-3 py-1.5 text-right tabular-nums text-sand-500 whitespace-nowrap`,children:T(t.duration_ms)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.input_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.output_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.cache_read_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.cache_creation_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:m(t)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-500`,children:t.tool_call_count>0?t.tool_call_count:`—`}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700 whitespace-nowrap`,children:p(t)}),(0,v.jsx)(`td`,{className:`px-2 py-1.5`,children:(0,v.jsx)(b,{className:`size-4 text-sand-400`})})]},t.id))})]})}),Z>1&&(0,v.jsxs)(`div`,{className:`flex items-center justify-center gap-3 px-5 py-2.5 border-t border-sand-100/60`,children:[(0,v.jsx)(`button`,{type:`button`,className:`p-1 rounded text-sand-400 hover:text-sand-600 disabled:opacity-30 transition-colors`,disabled:a===1,onClick:()=>r({...n,page:a-1}),children:(0,v.jsx)(y,{className:`size-4`})}),(0,v.jsxs)(`span`,{className:`text-[11px] text-sand-400 tabular-nums`,children:[a,` / `,Z]}),(0,v.jsx)(`button`,{type:`button`,className:`p-1 rounded text-sand-400 hover:text-sand-600 disabled:opacity-30 transition-colors`,disabled:a===Z,onClick:()=>r({...n,page:a+1}),children:(0,v.jsx)(b,{className:`size-4`})})]})]})]})}a({token:i().optional(),project:i().optional(),model:i().optional(),sort:l.optional(),page:d.shape.page.default(1)});function A(){let e=u.useSearch(),t=u.useNavigate();return(0,v.jsx)(`div`,{className:`max-w-[100rem] mx-auto`,children:(0,v.jsx)(k,{search:e,onSearchChange:e=>t({search:e})})})}export{A as component};
|
|
1
|
+
import"./rolldown-runtime-Dw2cE7zH.js";import{l as e,u as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{C as i,S as a,n as o,o as s,r as c}from"./services.generated-NP-ValHd.js";import{i as l,n as u,r as d}from"./index-DZwzUfI-.js";import{i as f,r as p,t as m}from"./cost-DH2jZbrw.js";import{t as h}from"./refresh-cw-NNcU0Cmq.js";import{n as g,t as _}from"./request-model-CojtinqK.js";n();var v=r(),y=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m15 18l-6-6l6-6`})}),b=e=>(0,v.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,v.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m9 18l6-6l-6-6`})}),x=50,S=`__unassigned__`;function C(e){let t=new Date(e);return`${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)} ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function w(e){return e.toLocaleString()}function T(e){let t=Math.round(e/1e3),n=Math.floor(t/60),r=t%60;return n>0?`${n}m ${r}s`:`${r}s`}function E({status:e,requestedModel:t,servedModel:n,imageCostMethod:r,fallbackCount:i}){if(e===`running`)return(0,v.jsx)(`span`,{className:`text-[9px] px-1.5 py-0.5 rounded-full bg-blue-100 text-blue-600 font-medium whitespace-nowrap`,children:`실행 중`});let a=_({status:e,requestedModel:t,servedModel:n,imageCostMethod:r}),o=t!==null&&n===null;return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`span`,{className:`text-xs text-sand-500`,children:a.label}),o&&(0,v.jsx)(`span`,{className:`ml-1 text-[9px] text-sand-400`,children:`요청`}),(i??0)>0&&(0,v.jsxs)(`span`,{className:`ml-1 text-[9px] text-caution-500`,children:[`×`,i]})]})}function D(e){return e<=0?`—`:e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`}var O=[{label:`ID`,align:`left`,width:`w-12`,sortKey:`id`},{label:`Date`,align:`left`,width:`w-20`,sortKey:`created_at`},{label:`Project`,align:`left`,width:`w-20`},{label:`Token`,align:`left`,width:`w-24`},{label:`Model`,align:`left`,width:`w-20`},{label:`Fmt`,align:`left`,width:`w-12`},{label:`TTFT`,align:`right`,width:`w-16`,sortKey:`ttft_ms`},{label:`Duration`,align:`right`,width:`w-20`,sortKey:`duration_ms`},{label:`In`,align:`right`,width:`w-16`,sortKey:`input_tokens`},{label:`Out`,align:`right`,width:`w-20`,sortKey:`output_tokens`},{label:`C.Read`,align:`right`,width:`w-20`,sortKey:`cache_read_tokens`},{label:`C.Write`,align:`right`,width:`w-20`,sortKey:`cache_creation_tokens`},{label:`Hit`,align:`right`,width:`w-14`},{label:`Tools`,align:`right`,width:`w-14`},{label:`$`,align:`right`,width:`w-20`,sortKey:`cost_usd`}];function k({search:n,onSearchChange:r}){let i=t(),a=n.page??1,u=n.token??``,d=n.project??``,_=n.model??``,{data:k}=s.useTokens(`A`),A=(k?.rows??[]).map(e=>e.name).filter(Boolean),{data:j}=o.useProjectNames(),M=j?.names??[],{data:N}=o.useModelNames(),P=N?.names??[],F=d===S?{project_name_is_null:!0}:d?{project_name:d}:{},I={...u?{token_name:u}:{},...F,..._?{model_name:_}:{}},L=n.sort??`id-desc`,R=L.lastIndexOf(`-`),z=L.slice(0,R),B=L.slice(R+1)===`asc`?`asc`:`desc`,{data:V,isLoading:H,isError:U,refresh:W,isRefreshing:G}=c.useRequestLogs(`P`,{num:x,page:a,orderBy:L,...I}),{data:K,isError:q,refresh:J}=o.useTotalCost({num:0,page:1,...I}),Y=V?.rows??[],X=V?.total??0,Z=Math.ceil(X/x),Q=e=>{r({...n,...e,page:1})};return(0,v.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,v.jsxs)(`div`,{className:`panel-header flex items-center gap-2 px-3 py-2.5 flex-wrap sm:gap-3 sm:px-5`,children:[(0,v.jsxs)(`select`,{value:u,onChange:e=>Q({token:e.target.value||void 0}),disabled:A.length===0,className:`border border-sand-200/80 rounded-lg px-2.5 py-1.5 text-[11px] text-sand-700 bg-sand-50/50 focus:outline-none focus:border-sienna-300 disabled:text-sand-300 disabled:cursor-not-allowed`,children:[(0,v.jsx)(`option`,{value:``,children:A.length>0?`All Tokens`:`Tokens —`}),A.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsxs)(`select`,{value:d,onChange:e=>Q({project:e.target.value||void 0}),className:`border border-sand-200/80 rounded-lg px-2.5 py-1.5 text-[11px] text-sand-700 bg-sand-50/50 focus:outline-none focus:border-sienna-300`,children:[(0,v.jsx)(`option`,{value:``,children:`All Projects`}),(0,v.jsx)(`option`,{value:S,children:`(unassigned)`}),M.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsxs)(`select`,{value:_,onChange:e=>Q({model:e.target.value||void 0}),disabled:P.length===0,className:`border border-sand-200/80 rounded-lg px-2.5 py-1.5 text-[11px] text-sand-700 bg-sand-50/50 focus:outline-none focus:border-sienna-300 disabled:text-sand-300 disabled:cursor-not-allowed`,children:[(0,v.jsx)(`option`,{value:``,children:P.length>0?`All Models`:`Models —`}),P.map(e=>(0,v.jsx)(`option`,{value:e,children:e},e))]}),(0,v.jsx)(`button`,{type:`button`,onClick:()=>void Promise.all([W(),J()]),disabled:G,"aria-label":`Reload`,title:`Reload`,className:`p-1 rounded text-sand-400 hover:text-sand-600 disabled:opacity-30 transition-colors`,children:(0,v.jsx)(h,{className:G?`size-3.5 animate-spin`:`size-3.5`})}),(0,v.jsx)(`div`,{className:`flex-1`}),(0,v.jsxs)(`span`,{className:`text-[11px] text-sand-400`,children:[U||!V?`—`:X,` results`]}),q?(0,v.jsx)(`span`,{role:`alert`,className:`text-[11px] text-danger-500`,children:`Failed to load total cost.`}):(0,v.jsx)(`span`,{className:`text-[11px] tabular-nums font-medium text-sienna-600`,children:K?f(K.usd):`—`})]}),U?(0,v.jsx)(`div`,{role:`alert`,className:`text-danger-500 text-center py-12 text-sm`,children:`Failed to load request logs.`}):H?(0,v.jsx)(`div`,{className:`space-y-2`,children:Array.from({length:5}).map((e,t)=>(0,v.jsx)(`div`,{className:`h-8 bg-sand-100 rounded animate-pulse`},`skel-${t}`))}):Y.length===0?(0,v.jsx)(`div`,{className:`text-sand-400 text-center py-12 text-sm`,children:`No requests yet.`}):(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(`div`,{className:`overflow-x-auto px-3 py-3 sm:px-5`,children:(0,v.jsxs)(`table`,{className:`w-full min-w-[900px] text-[13px]`,children:[(0,v.jsx)(`thead`,{children:(0,v.jsxs)(`tr`,{className:`border-b border-sand-100/60`,children:[O.map(e=>{let t=e.label===`Duration`?`pl-5 pr-3`:e.width?`px-4`:`px-3`,n=e.sortKey===z;return(0,v.jsx)(`th`,{className:`${e.align===`right`?`text-right`:`text-left`} ${e.width??``} ${e.width?`whitespace-nowrap`:``} ${t} py-1.5 text-[10px] uppercase font-medium ${n?`text-sienna-600`:`text-sand-400`}`,children:e.sortKey?(0,v.jsxs)(`button`,{type:`button`,onClick:()=>Q({sort:l.parse(`${e.sortKey}-${n&&B===`desc`?`asc`:`desc`}`)}),className:`inline-flex items-center gap-0.5 text-[10px] uppercase font-medium hover:text-sienna-500 transition-colors duration-150 ${e.align===`right`?`justify-end w-full`:``}`,children:[e.label,(0,v.jsx)(`span`,{className:n?``:`text-sand-300`,children:n?B===`desc`?`↓`:`↑`:`↕`})]}):e.label},e.label)}),(0,v.jsx)(`th`,{className:`w-8`})]})}),(0,v.jsx)(`tbody`,{className:`divide-y divide-sand-100/60`,children:Y.map(t=>(0,v.jsxs)(`tr`,{className:`transition-colors duration-150 hover:bg-sand-100/60 cursor-pointer`,onClick:e=>{if(e.metaKey||e.ctrlKey){window.open(`/requests/show?id=${t.id}`,`_blank`);return}i({to:`/requests/show`,search:{id:t.id}})},children:[(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(e,{to:`/requests/show`,search:{id:t.id},onClick:e=>e.stopPropagation(),className:`text-xs text-sand-500 tabular-nums hover:text-sienna-500`,children:t.id})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(`span`,{className:`text-xs text-sand-400 tabular-nums`,children:C(t.created_at)})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(`span`,{className:`text-xs text-sand-600`,children:t.project_name??`—`})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:(0,v.jsx)(`span`,{className:`text-xs text-sand-500`,children:t.token_name})}),(0,v.jsxs)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:[(0,v.jsx)(E,{status:t.status,requestedModel:t.requested_model_name,servedModel:t.model_name,imageCostMethod:t.image_cost_method,fallbackCount:t.fallback_count}),t.service_tier===`fast`&&(0,v.jsx)(`span`,{title:`Fast 모드`,className:`ml-1 inline-flex align-middle`,children:(0,v.jsx)(g,{"aria-label":`Fast 모드`,className:`size-3 text-[#1877F2] [&_path]:fill-current`})}),t.response_json_ok===!1&&(0,v.jsx)(`span`,{title:`structured 요청의 응답이 JSON 파싱에 실패했습니다`,className:`ml-1.5 rounded-full bg-caution-400/15 px-1.5 py-0.5 text-[9px] font-semibold text-caution-500`,children:`broken`})]}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 whitespace-nowrap`,children:t.is_image_generation?(0,v.jsx)(`span`,{className:`rounded bg-sage-100 px-1.5 py-0.5 font-mono text-[10px] text-sage-700`,children:`img`}):t.is_structured?(0,v.jsx)(`span`,{className:`rounded bg-sienna-100 px-1.5 py-0.5 font-mono text-[10px] text-sienna-700`,children:`json`}):(0,v.jsx)(`span`,{className:`font-mono text-[10px] text-sand-400`,children:`text`})}),(0,v.jsx)(`td`,{className:`px-4 py-1.5 text-right tabular-nums text-sand-500 whitespace-nowrap`,children:D(t.ttft_ms)}),(0,v.jsx)(`td`,{className:`pl-5 pr-3 py-1.5 text-right tabular-nums text-sand-500 whitespace-nowrap`,children:T(t.duration_ms)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.input_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.output_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.cache_read_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:w(t.cache_creation_tokens)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700`,children:m(t)}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-500`,children:t.tool_call_count>0?t.tool_call_count:`—`}),(0,v.jsx)(`td`,{className:`px-3 py-1.5 text-right tabular-nums text-sand-700 whitespace-nowrap`,children:p(t)}),(0,v.jsx)(`td`,{className:`px-2 py-1.5`,children:(0,v.jsx)(b,{className:`size-4 text-sand-400`})})]},t.id))})]})}),Z>1&&(0,v.jsxs)(`div`,{className:`flex items-center justify-center gap-3 px-5 py-2.5 border-t border-sand-100/60`,children:[(0,v.jsx)(`button`,{type:`button`,className:`p-1 rounded text-sand-400 hover:text-sand-600 disabled:opacity-30 transition-colors`,disabled:a===1,onClick:()=>r({...n,page:a-1}),children:(0,v.jsx)(y,{className:`size-4`})}),(0,v.jsxs)(`span`,{className:`text-[11px] text-sand-400 tabular-nums`,children:[a,` / `,Z]}),(0,v.jsx)(`button`,{type:`button`,className:`p-1 rounded text-sand-400 hover:text-sand-600 disabled:opacity-30 transition-colors`,disabled:a===Z,onClick:()=>r({...n,page:a+1}),children:(0,v.jsx)(b,{className:`size-4`})})]})]})]})}a({token:i().optional(),project:i().optional(),model:i().optional(),sort:l.optional(),page:d.shape.page.default(1)});function A(){let e=u.useSearch(),t=u.useNavigate();return(0,v.jsx)(`div`,{className:`max-w-[100rem] mx-auto`,children:(0,v.jsx)(k,{search:e,onSearchChange:e=>t({search:e})})})}export{A as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,n as r,r as i}from"./vendor-react-DH4kUfK2.js";import{S as a,h as o,t as s}from"./services.generated-BsieU37H.js";import{a as c,s as l}from"./index-DmCLKefs.js";import{t as u}from"./cost-DH2jZbrw.js";import{t as d}from"./refresh-cw-NNcU0Cmq.js";var f=e(n(),1),p=e(r(),1);function m(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function h(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function g(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var _=(e,t)=>Math.abs(e-t)<1.01,v=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},y,b=()=>{if(y!==void 0)return y;if(typeof navigator>`u`)return y=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return y=!0;let e=navigator.maxTouchPoints;return y=navigator.platform===`MacIntel`&&e!==void 0&&e>0},x=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},S=e=>e,C=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},w=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(x(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(x(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},T={passive:!0},E=typeof window>`u`?!0:`onscrollend`in window,D=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&E,o=0,s=a?null:v(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,T),a&&r.addEventListener(`scrollend`,u,T),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},O=(e,t)=>D(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),k=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},A=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},j=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:S,rangeExtractor:C,onChange:()=>{},measureElement:k,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=h(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!b()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,T),e.addEventListener(`touchend`,n,T),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(b()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=h(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.getMeasurements=h(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=m(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),h=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&h++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,m,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];m=r?r.end+s:t+n}else if(h===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,m=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,m=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=m+v;d[i]={index:i,start:m,size:v,end:y,key:e,lane:u},f[u]===void 0&&h++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=h(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=P(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=h(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=h(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return g(t[M(0,t.length-1,r?e=>n[e*2]:e=>g(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t);this.scrollState={index:null,align:t,behavior:n,startedAt:this.now(),lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e;this.scrollState={index:null,align:`start`,behavior:t,startedAt:this.now(),lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(b()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&_(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},M=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function N(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function P(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=N(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=M(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var F=typeof document<`u`?f.useLayoutEffect:f.useEffect;function I({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=f.useReducer(e=>e+1,0)[1],a=f.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,p.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=f.useState(()=>{let e=new j(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),F(()=>c._didMount(),[]),F(()=>c._willUpdate()),F(()=>{o(c)}),c}function L(e){return I({observeElementRect:w,observeElementOffset:O,scrollToFn:A,...e})}var R=i(),z=1e3,B=5e3,V=4e3,H={trace:0,debug:1,info:2,warning:3,error:4,fatal:5},U={trace:`TRC`,debug:`DBG`,info:`INF`,warning:`WRN`,error:`ERR`,fatal:`FTL`},W=new Intl.DateTimeFormat(`en-GB`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1});function G(e){return W.format(new Date(e))}function K(e){return e.join(`·`)}var q=120;function J(e,t){e.push(t),e.length>q&&e.shift()}var Y=56,X=14;function Z({values:e}){if(e.length<2)return null;let t=Y,n=X,r=Math.max(...e,1),i=t/(q-1),a=t-(e.length-1)*i,o=e.map((e,t)=>{let o=a+t*i,s=n-1-e/r*(n-2);return`${o.toFixed(1)},${s.toFixed(1)}`}).join(` `);return(0,R.jsx)(`svg`,{width:t,height:n,viewBox:`0 0 ${t} ${n}`,className:`shrink-0`,"aria-hidden":`true`,children:(0,R.jsx)(`polyline`,{points:o,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,className:`text-sand-300`})})}function Q({usedPercent:e,threshold:t,blocked:n}){if(e===null)return null;let r=Math.max(0,Math.min(e,100)),i=n||t!==null&&e>=t;return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,R.jsxs)(`span`,{className:`relative inline-block h-[4px] w-9 overflow-hidden rounded-full bg-sand-100`,children:[(0,R.jsx)(`span`,{className:l(`absolute inset-y-0 left-0 rounded-full`,i?`bg-caution-500`:`bg-sand-400`),style:{width:`${r}%`}}),t!==null&&(0,R.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-sand-500`,style:{left:`${Math.min(t,100)}%`}})]}),(0,R.jsxs)(`span`,{className:l(`font-mono text-[10px] tabular-nums`,i?`font-semibold text-caution-500`:`text-sand-500`),children:[Math.round(e),`%`]})]})}function $({search:e,onSearchChange:n}){let[r,i]=(0,f.useState)([]),a=(0,f.useRef)(void 0),o=(0,f.useRef)(void 0),c=(0,f.useRef)(0),[p,m]=(0,f.useState)(()=>Date.now()),h=t({queryKey:[`Monit`,`monitLogs`],queryFn:()=>s.monitLogs(a.current),refetchInterval:z,retry:!1}),g=t({...s.monitInfoQueryOptions(),staleTime:1/0}).data,_=h.data?.vitals,v=t({...s.monitStatsQueryOptions(),refetchInterval:3e4,retry:!1}).data,y=(0,f.useRef)([]);(0,f.useEffect)(()=>{_&&J(y.current,_.openaiInFlight)},[_]),(0,f.useEffect)(()=>{let e=h.data;e&&b(e)},[h.data]);function b(e){let t=()=>++c.current;i(n=>{let r=n,i=[];o.current!==void 0&&e.processStartedAt!==o.current?(r=[],i.push({kind:`restart`,key:t(),processStartedAt:e.processStartedAt})):e.dropped>0&&i.push({kind:`dropped`,key:t(),count:e.dropped}),o.current=e.processStartedAt,a.current=e.nextCursor;let s=r.findLast(e=>e.kind===`log`)?.entry.seq;for(let n of e.entries)s!==void 0&&n.seq<=s||i.push({kind:`log`,key:t(),entry:n});if(i.length===0)return n;let c=[...r,...i];return c.length>V?c.slice(-V):c})}(0,f.useEffect)(()=>{let e=window.setInterval(()=>m(Date.now()),2e3);return()=>window.clearInterval(e)},[]);let x=r.length>0&&(h.isRefetchError||h.dataUpdatedAt>0&&p-h.dataUpdatedAt>B),S=(0,f.useMemo)(()=>r.filter(t=>{if(t.kind!==`log`)return!0;switch(e.level){case`warn`:return(H[t.entry.level]??2)>=3;case`error`:return(H[t.entry.level]??2)>=4;default:return!0}}),[r,e.level]),C=(0,f.useRef)(null),w=L({count:S.length,getScrollElement:()=>C.current,estimateSize:()=>20,getItemKey:e=>S[e].key,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:80,overscan:12}),T=w.isAtEnd(),E=h.dataUpdatedAt>0,D=!E&&h.isError;return(0,R.jsxs)(`section`,{className:`panel overflow-hidden`,children:[(0,R.jsxs)(`header`,{className:`panel-header flex min-h-11 flex-wrap items-center gap-x-3 gap-y-2 px-4 py-2 sm:px-5`,children:[(0,R.jsx)(`h2`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-sand-800`,children:`Server logs`}),(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] font-medium text-sand-700`,children:[(0,R.jsx)(`span`,{className:l(`size-1.5 rounded-full`,x||D?`bg-danger-400`:`bg-sienna-500 motion-safe:animate-pulse`)}),D?`Disconnected`:x?`Stale`:E?`Live`:`…`]}),o.current!==void 0&&(0,R.jsxs)(`span`,{className:`text-[11px] text-sand-500`,children:[`ephemeral · resets on restart · since `,G(o.current)]}),(0,R.jsx)(`div`,{className:`ml-auto flex flex-wrap items-center gap-2`,children:(0,R.jsx)(`div`,{className:`segmented-control inline-flex`,role:`tablist`,"aria-label":`Log filter`,children:[{value:`all`,label:`All`},{value:`warn`,label:`Warn+`},{value:`error`,label:`Err+`}].map(t=>(0,R.jsx)(`button`,{type:`button`,"data-active":e.level===t.value,onClick:()=>n({...e,level:t.value}),className:`rounded-[6px] px-2.5 py-1 text-[11px] font-medium text-sand-500 transition-colors hover:text-sand-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sienna-300 data-[active=true]:text-sand-900`,children:t.label},t.value))})})]}),g&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-5 gap-y-1 border-b border-sand-100 bg-sand-50/60 px-4 py-2 text-[11px] text-sand-600 sm:px-5`,children:[(0,R.jsxs)(`span`,{children:[`server `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:g.serverUrl})]}),(0,R.jsxs)(`span`,{children:[`db`,` `,(0,R.jsxs)(`span`,{className:`font-mono text-sand-800`,children:[g.dbHost,`/`,g.dbName]})]}),(0,R.jsxs)(`span`,{children:[`openai transport`,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:g.openai.transport})]}),_&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[`openai in-flight`,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:_.openaiInFlight}),(0,R.jsx)(Z,{values:y.current})]}),_.anthropicTokenCount>0&&(0,R.jsxs)(`span`,{children:[`anthropic running`,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:_.anthropicInFlight})]})]}),v?.providers.map(e=>(0,R.jsxs)(`span`,{className:`text-sand-500`,children:[`1h `,e.provider,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-700`,children:e.requests}),` req`,e.errors>0&&(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(`span`,{className:`font-mono font-semibold text-caution-500`,children:e.errors}),` err`]}),` · hit `,(0,R.jsx)(`span`,{className:`font-mono text-sand-700`,children:u({input_tokens:e.inputTokens,cache_read_tokens:e.cacheReadTokens})})]},e.provider))]}),_&&(_.openaiQuotaByToken.length>0||_.anthropicTokenNames.length>0)&&(0,R.jsxs)(`div`,{className:`space-y-1.5 border-b border-sand-100 px-4 py-2.5 sm:px-5`,children:[_.openaiQuotaByToken.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`w-[4.5rem] shrink-0 text-[10px] font-medium uppercase tracking-[0.08em] text-sand-400`,children:`openai`}),_.openaiQuotaByToken.map(e=>{let t=e.usedPercent===null?`quota not sampled yet`:`quota ${Math.round(e.usedPercent)}%${e.threshold===null?``:` / threshold ${e.threshold}%`}${e.resetsAt?` · resets ${G(e.resetsAt)}`:``}`;return(0,R.jsxs)(`span`,{title:`${e.name} · ${t}`,className:`inline-flex items-center gap-1.5 rounded-md border border-sand-200 bg-white px-2 py-1`,children:[(0,R.jsx)(`span`,{className:`font-mono text-[11px] text-sand-600`,children:e.name.split(`/`).pop()}),(0,R.jsx)(Q,{usedPercent:e.usedPercent,threshold:e.threshold,blocked:e.blocked}),e.blocked&&(0,R.jsx)(`span`,{className:`rounded-full bg-caution-500/10 px-1.5 py-0.5 text-[9px] font-semibold text-caution-500`,children:`quota`})]},e.name)})]}),_.anthropicTokenNames.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`w-[4.5rem] shrink-0 text-[10px] font-medium uppercase tracking-[0.08em] text-sand-400`,children:`anthropic`}),_.anthropicTokenNames.map(e=>(0,R.jsx)(`span`,{title:e,className:`inline-flex items-baseline rounded-md border border-sand-200 bg-white px-2 py-1 font-mono text-[11px] text-sand-600`,children:e.split(`/`).pop()},e))]})]}),(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)(`div`,{ref:C,role:`log`,"aria-label":`Server process logs`,tabIndex:0,className:`main-scroll h-[calc(100vh-232px)] min-h-[320px] overflow-y-auto bg-sand-900 px-4 py-3 font-mono text-[12px] leading-[1.6] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-sienna-400`,children:D?(0,R.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 text-sand-400`,children:[(0,R.jsxs)(`p`,{className:`text-[12px]`,children:[`Could not reach the qgrid server — is it running?`,h.error instanceof Error&&(0,R.jsx)(`span`,{className:`block text-center text-[11px] text-sand-500`,children:h.error.message})]}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>void h.refetch(),className:`inline-flex items-center gap-1.5 rounded-md border border-sand-600 px-2.5 py-1.5 text-[11px] font-medium text-sand-300 transition-colors hover:bg-sand-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sienna-400`,children:[(0,R.jsx)(d,{className:`size-3`}),`Retry now`]})]}):E?S.length===0?(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-sand-500`,children:r.length===0?`No log lines yet — waiting for activity since ${o.current===void 0?`startup`:G(o.current)}.`:`No lines match the current filters.`}):(0,R.jsx)(`div`,{className:`relative w-full`,style:{height:`${w.getTotalSize()}px`},children:w.getVirtualItems().map(e=>{let t=S[e.index];return(0,R.jsx)(`div`,{ref:w.measureElement,"data-index":e.index,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${e.start}px)`},children:(0,R.jsx)(ee,{item:t})},e.key)})}):(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-sand-500`,children:`Connecting to server logs…`})}),E&&!D&&!T&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>w.scrollToEnd(),className:`absolute bottom-4 right-5 inline-flex items-center gap-1.5 rounded-full border border-sand-600 bg-sand-800/90 px-3 py-1.5 text-[11px] font-medium text-sand-200 shadow-lg backdrop-blur transition-colors hover:bg-sand-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sienna-400`,children:`↓ Jump to live`})]})]})}function ee({item:e}){if(e.kind===`restart`)return(0,R.jsxs)(`div`,{className:`py-1 text-center text-[11px] text-caution-400`,children:[`── process restarted · `,G(e.processStartedAt),` ──`]});if(e.kind===`dropped`)return(0,R.jsxs)(`div`,{className:`py-1 text-center text-[11px] italic text-sand-500`,children:[`── `,e.count,` lines dropped (buffer overflow) ──`]});let{entry:t}=e;return(0,R.jsxs)(`div`,{className:`whitespace-pre-wrap break-words text-sand-200`,children:[(0,R.jsx)(`span`,{className:`text-sand-500`,children:G(t.timestamp)}),` `,(0,R.jsx)(`span`,{className:l(`font-semibold`,t.level===`fatal`||t.level===`error`?`text-danger-400`:t.level===`warning`?`text-caution-400`:`text-sand-400`),children:U[t.level]??t.level.slice(0,3).toUpperCase()}),` `,(0,R.jsx)(`span`,{className:`text-sienna-300`,children:K(t.category)}),` `,(0,R.jsx)(`span`,{children:t.text})]})}a({level:o([`all`,`warn`,`error`]).optional().default(`all`).catch(()=>`all`)});function te(){let e=c.useSearch(),t=c.useNavigate();return(0,R.jsx)(`div`,{className:`max-w-[100rem] mx-auto`,children:(0,R.jsx)($,{search:e,onSearchChange:e=>t({search:e,replace:!0})})})}export{te as component};
|
|
1
|
+
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,n as r,r as i}from"./vendor-react-DH4kUfK2.js";import{S as a,h as o,t as s}from"./services.generated-NP-ValHd.js";import{a as c,s as l}from"./index-DZwzUfI-.js";import{t as u}from"./cost-DH2jZbrw.js";import{t as d}from"./refresh-cw-NNcU0Cmq.js";var f=e(n(),1),p=e(r(),1);function m(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function h(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function g(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var _=(e,t)=>Math.abs(e-t)<1.01,v=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},y,b=()=>{if(y!==void 0)return y;if(typeof navigator>`u`)return y=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return y=!0;let e=navigator.maxTouchPoints;return y=navigator.platform===`MacIntel`&&e!==void 0&&e>0},x=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},S=e=>e,C=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},w=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(x(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(x(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},T={passive:!0},E=typeof window>`u`?!0:`onscrollend`in window,D=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&E,o=0,s=a?null:v(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,T),a&&r.addEventListener(`scrollend`,u,T),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},O=(e,t)=>D(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),k=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},A=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},j=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:S,rangeExtractor:C,onChange:()=>{},measureElement:k,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=h(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!b()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,T),e.addEventListener(`touchend`,n,T),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(b()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=h(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.getMeasurements=h(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=m(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),h=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&h++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,m,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];m=r?r.end+s:t+n}else if(h===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,m=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,m=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=m+v;d[i]={index:i,start:m,size:v,end:y,key:e,lane:u},f[u]===void 0&&h++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=h(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=P(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=h(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=h(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return g(t[M(0,t.length-1,r?e=>n[e*2]:e=>g(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t);this.scrollState={index:null,align:t,behavior:n,startedAt:this.now(),lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e;this.scrollState={index:null,align:`start`,behavior:t,startedAt:this.now(),lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(b()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&_(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},M=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function N(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function P(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=N(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=M(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var F=typeof document<`u`?f.useLayoutEffect:f.useEffect;function I({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=f.useReducer(e=>e+1,0)[1],a=f.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,p.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=f.useState(()=>{let e=new j(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),F(()=>c._didMount(),[]),F(()=>c._willUpdate()),F(()=>{o(c)}),c}function L(e){return I({observeElementRect:w,observeElementOffset:O,scrollToFn:A,...e})}var R=i(),z=1e3,B=5e3,V=4e3,H={trace:0,debug:1,info:2,warning:3,error:4,fatal:5},U={trace:`TRC`,debug:`DBG`,info:`INF`,warning:`WRN`,error:`ERR`,fatal:`FTL`},W=new Intl.DateTimeFormat(`en-GB`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1});function G(e){return W.format(new Date(e))}function K(e){return e.join(`·`)}var q=120;function J(e,t){e.push(t),e.length>q&&e.shift()}var Y=56,X=14;function Z({values:e}){if(e.length<2)return null;let t=Y,n=X,r=Math.max(...e,1),i=t/(q-1),a=t-(e.length-1)*i,o=e.map((e,t)=>{let o=a+t*i,s=n-1-e/r*(n-2);return`${o.toFixed(1)},${s.toFixed(1)}`}).join(` `);return(0,R.jsx)(`svg`,{width:t,height:n,viewBox:`0 0 ${t} ${n}`,className:`shrink-0`,"aria-hidden":`true`,children:(0,R.jsx)(`polyline`,{points:o,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,className:`text-sand-300`})})}function Q({usedPercent:e,threshold:t,blocked:n}){if(e===null)return null;let r=Math.max(0,Math.min(e,100)),i=n||t!==null&&e>=t;return(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,R.jsxs)(`span`,{className:`relative inline-block h-[4px] w-9 overflow-hidden rounded-full bg-sand-100`,children:[(0,R.jsx)(`span`,{className:l(`absolute inset-y-0 left-0 rounded-full`,i?`bg-caution-500`:`bg-sand-400`),style:{width:`${r}%`}}),t!==null&&(0,R.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-sand-500`,style:{left:`${Math.min(t,100)}%`}})]}),(0,R.jsxs)(`span`,{className:l(`font-mono text-[10px] tabular-nums`,i?`font-semibold text-caution-500`:`text-sand-500`),children:[Math.round(e),`%`]})]})}function $({search:e,onSearchChange:n}){let[r,i]=(0,f.useState)([]),a=(0,f.useRef)(void 0),o=(0,f.useRef)(void 0),c=(0,f.useRef)(0),[p,m]=(0,f.useState)(()=>Date.now()),h=t({queryKey:[`Monit`,`monitLogs`],queryFn:()=>s.monitLogs(a.current),refetchInterval:z,retry:!1}),g=t({...s.monitInfoQueryOptions(),staleTime:1/0}).data,_=h.data?.vitals,v=t({...s.monitStatsQueryOptions(),refetchInterval:3e4,retry:!1}).data,y=(0,f.useRef)([]);(0,f.useEffect)(()=>{_&&J(y.current,_.openaiInFlight)},[_]),(0,f.useEffect)(()=>{let e=h.data;e&&b(e)},[h.data]);function b(e){let t=()=>++c.current;i(n=>{let r=n,i=[];o.current!==void 0&&e.processStartedAt!==o.current?(r=[],i.push({kind:`restart`,key:t(),processStartedAt:e.processStartedAt})):e.dropped>0&&i.push({kind:`dropped`,key:t(),count:e.dropped}),o.current=e.processStartedAt,a.current=e.nextCursor;let s=r.findLast(e=>e.kind===`log`)?.entry.seq;for(let n of e.entries)s!==void 0&&n.seq<=s||i.push({kind:`log`,key:t(),entry:n});if(i.length===0)return n;let c=[...r,...i];return c.length>V?c.slice(-V):c})}(0,f.useEffect)(()=>{let e=window.setInterval(()=>m(Date.now()),2e3);return()=>window.clearInterval(e)},[]);let x=r.length>0&&(h.isRefetchError||h.dataUpdatedAt>0&&p-h.dataUpdatedAt>B),S=(0,f.useMemo)(()=>r.filter(t=>{if(t.kind!==`log`)return!0;switch(e.level){case`warn`:return(H[t.entry.level]??2)>=3;case`error`:return(H[t.entry.level]??2)>=4;default:return!0}}),[r,e.level]),C=(0,f.useRef)(null),w=L({count:S.length,getScrollElement:()=>C.current,estimateSize:()=>20,getItemKey:e=>S[e].key,anchorTo:`end`,followOnAppend:!0,scrollEndThreshold:80,overscan:12}),T=w.isAtEnd(),E=h.dataUpdatedAt>0,D=!E&&h.isError;return(0,R.jsxs)(`section`,{className:`panel overflow-hidden`,children:[(0,R.jsxs)(`header`,{className:`panel-header flex min-h-11 flex-wrap items-center gap-x-3 gap-y-2 px-4 py-2 sm:px-5`,children:[(0,R.jsx)(`h2`,{className:`text-[13px] font-semibold tracking-[-0.01em] text-sand-800`,children:`Server logs`}),(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] font-medium text-sand-700`,children:[(0,R.jsx)(`span`,{className:l(`size-1.5 rounded-full`,x||D?`bg-danger-400`:`bg-sienna-500 motion-safe:animate-pulse`)}),D?`Disconnected`:x?`Stale`:E?`Live`:`…`]}),o.current!==void 0&&(0,R.jsxs)(`span`,{className:`text-[11px] text-sand-500`,children:[`ephemeral · resets on restart · since `,G(o.current)]}),(0,R.jsx)(`div`,{className:`ml-auto flex flex-wrap items-center gap-2`,children:(0,R.jsx)(`div`,{className:`segmented-control inline-flex`,role:`tablist`,"aria-label":`Log filter`,children:[{value:`all`,label:`All`},{value:`warn`,label:`Warn+`},{value:`error`,label:`Err+`}].map(t=>(0,R.jsx)(`button`,{type:`button`,"data-active":e.level===t.value,onClick:()=>n({...e,level:t.value}),className:`rounded-[6px] px-2.5 py-1 text-[11px] font-medium text-sand-500 transition-colors hover:text-sand-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sienna-300 data-[active=true]:text-sand-900`,children:t.label},t.value))})})]}),g&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-5 gap-y-1 border-b border-sand-100 bg-sand-50/60 px-4 py-2 text-[11px] text-sand-600 sm:px-5`,children:[(0,R.jsxs)(`span`,{children:[`server `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:g.serverUrl})]}),(0,R.jsxs)(`span`,{children:[`db`,` `,(0,R.jsxs)(`span`,{className:`font-mono text-sand-800`,children:[g.dbHost,`/`,g.dbName]})]}),(0,R.jsxs)(`span`,{children:[`openai transport`,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:g.openai.transport})]}),_&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[`openai in-flight`,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:_.openaiInFlight}),(0,R.jsx)(Z,{values:y.current})]}),_.anthropicTokenCount>0&&(0,R.jsxs)(`span`,{children:[`anthropic running`,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-800`,children:_.anthropicInFlight})]})]}),v?.providers.map(e=>(0,R.jsxs)(`span`,{className:`text-sand-500`,children:[`1h `,e.provider,` `,(0,R.jsx)(`span`,{className:`font-mono text-sand-700`,children:e.requests}),` req`,e.errors>0&&(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(`span`,{className:`font-mono font-semibold text-caution-500`,children:e.errors}),` err`]}),` · hit `,(0,R.jsx)(`span`,{className:`font-mono text-sand-700`,children:u({input_tokens:e.inputTokens,cache_read_tokens:e.cacheReadTokens})})]},e.provider))]}),_&&(_.openaiQuotaByToken.length>0||_.anthropicTokenNames.length>0)&&(0,R.jsxs)(`div`,{className:`space-y-1.5 border-b border-sand-100 px-4 py-2.5 sm:px-5`,children:[_.openaiQuotaByToken.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`w-[4.5rem] shrink-0 text-[10px] font-medium uppercase tracking-[0.08em] text-sand-400`,children:`openai`}),_.openaiQuotaByToken.map(e=>{let t=e.usedPercent===null?`quota not sampled yet`:`quota ${Math.round(e.usedPercent)}%${e.threshold===null?``:` / threshold ${e.threshold}%`}${e.resetsAt?` · resets ${G(e.resetsAt)}`:``}`;return(0,R.jsxs)(`span`,{title:`${e.name} · ${t}`,className:`inline-flex items-center gap-1.5 rounded-md border border-sand-200 bg-white px-2 py-1`,children:[(0,R.jsx)(`span`,{className:`font-mono text-[11px] text-sand-600`,children:e.name.split(`/`).pop()}),(0,R.jsx)(Q,{usedPercent:e.usedPercent,threshold:e.threshold,blocked:e.blocked}),e.blocked&&(0,R.jsx)(`span`,{className:`rounded-full bg-caution-500/10 px-1.5 py-0.5 text-[9px] font-semibold text-caution-500`,children:`quota`})]},e.name)})]}),_.anthropicTokenNames.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`w-[4.5rem] shrink-0 text-[10px] font-medium uppercase tracking-[0.08em] text-sand-400`,children:`anthropic`}),_.anthropicTokenNames.map(e=>(0,R.jsx)(`span`,{title:e,className:`inline-flex items-baseline rounded-md border border-sand-200 bg-white px-2 py-1 font-mono text-[11px] text-sand-600`,children:e.split(`/`).pop()},e))]})]}),(0,R.jsxs)(`div`,{className:`relative`,children:[(0,R.jsx)(`div`,{ref:C,role:`log`,"aria-label":`Server process logs`,tabIndex:0,className:`main-scroll h-[calc(100vh-232px)] min-h-[320px] overflow-y-auto bg-sand-900 px-4 py-3 font-mono text-[12px] leading-[1.6] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-sienna-400`,children:D?(0,R.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 text-sand-400`,children:[(0,R.jsxs)(`p`,{className:`text-[12px]`,children:[`Could not reach the qgrid server — is it running?`,h.error instanceof Error&&(0,R.jsx)(`span`,{className:`block text-center text-[11px] text-sand-500`,children:h.error.message})]}),(0,R.jsxs)(`button`,{type:`button`,onClick:()=>void h.refetch(),className:`inline-flex items-center gap-1.5 rounded-md border border-sand-600 px-2.5 py-1.5 text-[11px] font-medium text-sand-300 transition-colors hover:bg-sand-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sienna-400`,children:[(0,R.jsx)(d,{className:`size-3`}),`Retry now`]})]}):E?S.length===0?(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-sand-500`,children:r.length===0?`No log lines yet — waiting for activity since ${o.current===void 0?`startup`:G(o.current)}.`:`No lines match the current filters.`}):(0,R.jsx)(`div`,{className:`relative w-full`,style:{height:`${w.getTotalSize()}px`},children:w.getVirtualItems().map(e=>{let t=S[e.index];return(0,R.jsx)(`div`,{ref:w.measureElement,"data-index":e.index,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${e.start}px)`},children:(0,R.jsx)(ee,{item:t})},e.key)})}):(0,R.jsx)(`div`,{className:`flex h-full items-center justify-center text-[12px] text-sand-500`,children:`Connecting to server logs…`})}),E&&!D&&!T&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>w.scrollToEnd(),className:`absolute bottom-4 right-5 inline-flex items-center gap-1.5 rounded-full border border-sand-600 bg-sand-800/90 px-3 py-1.5 text-[11px] font-medium text-sand-200 shadow-lg backdrop-blur transition-colors hover:bg-sand-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-sienna-400`,children:`↓ Jump to live`})]})]})}function ee({item:e}){if(e.kind===`restart`)return(0,R.jsxs)(`div`,{className:`py-1 text-center text-[11px] text-caution-400`,children:[`── process restarted · `,G(e.processStartedAt),` ──`]});if(e.kind===`dropped`)return(0,R.jsxs)(`div`,{className:`py-1 text-center text-[11px] italic text-sand-500`,children:[`── `,e.count,` lines dropped (buffer overflow) ──`]});let{entry:t}=e;return(0,R.jsxs)(`div`,{className:`whitespace-pre-wrap break-words text-sand-200`,children:[(0,R.jsx)(`span`,{className:`text-sand-500`,children:G(t.timestamp)}),` `,(0,R.jsx)(`span`,{className:l(`font-semibold`,t.level===`fatal`||t.level===`error`?`text-danger-400`:t.level===`warning`?`text-caution-400`:`text-sand-400`),children:U[t.level]??t.level.slice(0,3).toUpperCase()}),` `,(0,R.jsx)(`span`,{className:`text-sienna-300`,children:K(t.category)}),` `,(0,R.jsx)(`span`,{children:t.text})]})}a({level:o([`all`,`warn`,`error`]).optional().default(`all`).catch(()=>`all`)});function te(){let e=c.useSearch(),t=c.useNavigate();return(0,R.jsx)(`div`,{className:`max-w-[100rem] mx-auto`,children:(0,R.jsx)($,{search:e,onSearchChange:e=>t({search:e,replace:!0})})})}export{te as component};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{y as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,n as r,r as i}from"./vendor-react-DH4kUfK2.js";import{n as a,o}from"./services.generated-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{y as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,n as r,r as i}from"./vendor-react-DH4kUfK2.js";import{n as a,o}from"./services.generated-NP-ValHd.js";import{o as s}from"./index-DZwzUfI-.js";import{i as c}from"./cost-DH2jZbrw.js";import{t as l}from"./use-update-token-mutation-BQHS0byG.js";import{n as u,t as d}from"./use-oauth-login-flow-hboOs3wG.js";var f=e(r()),p=e(n());function m(){var e=[...arguments];return(0,p.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var h=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function g(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function _(e){return`nodeType`in e}function v(e){return e?g(e)?e:_(e)?e.ownerDocument?.defaultView??window:window:window}function y(e){let{Document:t}=v(e);return e instanceof t}function b(e){return g(e)?!1:e instanceof v(e).HTMLElement}function x(e){return e instanceof v(e).SVGElement}function S(e){return e?g(e)?e.document:_(e)?y(e)?e:b(e)||x(e)?e.ownerDocument:document:document:document}var C=h?p.useLayoutEffect:p.useEffect;function w(e){let t=(0,p.useRef)(e);return C(()=>{t.current=e}),(0,p.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function T(){let e=(0,p.useRef)(null);return[(0,p.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,p.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function E(e,t){let n=(0,p.useRef)();return(0,p.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function ee(e){let t=w(e),n=(0,p.useRef)(null);return[n,(0,p.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}var D={};function O(e,t){return(0,p.useMemo)(()=>{if(t)return t;let n=D[e]==null?0:D[e]+1;return D[e]=n,e+`-`+n},[e,t])}function k(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var A=k(1),te=k(-1);function j(e){return`clientX`in e&&`clientY`in e}function M(e){if(!e)return!1;let{KeyboardEvent:t}=v(e.target);return t&&e instanceof t}function ne(e){if(!e)return!1;let{TouchEvent:t}=v(e.target);return t&&e instanceof t}function re(e){if(ne(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return j(e)?{x:e.clientX,y:e.clientY}:null}var N=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[N.Translate.toString(e),N.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),ie={display:`none`};function P(e){let{id:t,value:n}=e;return p.createElement(`div`,{id:t,style:ie},n)}function F(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return p.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function ae(){let[e,t]=(0,p.useState)(``);return{announce:(0,p.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var oe={draggable:`
|
|
2
2
|
To pick up a draggable item, press the space bar.
|
|
3
3
|
While dragging, use the arrow keys to move the item.
|
|
4
4
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
@@ -48,4 +48,4 @@ import{n as e,r as t,t as n}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as r,g
|
|
|
48
48
|
|
|
49
49
|
`)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=di,s=!Zr.jitless,c=s&&fi.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Ao([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function No(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Di(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Ai(e,r,Qr())))}),t)}var Po=H(`$ZodUnion`,(e,t)=>{K.init(e,t),U(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),U(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),U(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),U(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>ri(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>No(t,i,e,a)):No(s,i,e,a)}}),Fo=H(`$ZodIntersection`,(e,t)=>{K.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Lo(e,t,n)):Lo(e,i,a)}});function Io(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(pi(e)&&pi(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Io(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Io(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Lo(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Di(e))return e;let o=Io(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var Ro=H(`$ZodEnum`,(e,t)=>{K.init(e,t);let n=$r(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>hi.has(typeof e)).map(e=>typeof e==`string`?gi(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),zo=H(`$ZodTransform`,(e,t)=>{K.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Xr(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new Yr;return n.value=i,n}});function Bo(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var Vo=H(`$ZodOptional`,(e,t)=>{K.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ri(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Bo(t,e.value)):Bo(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Ho=H(`$ZodExactOptional`,(e,t)=>{Vo.init(e,t),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Uo=H(`$ZodNullable`,(e,t)=>{K.init(e,t),U(e._zod,`optin`,()=>t.innerType._zod.optin),U(e._zod,`optout`,()=>t.innerType._zod.optout),U(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ri(e.source)}|null)$`):void 0}),U(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Wo=H(`$ZodDefault`,(e,t)=>{K.init(e,t),e._zod.optin=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Go(e,t)):Go(r,t)}});function Go(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Ko=H(`$ZodPrefault`,(e,t)=>{K.init(e,t),e._zod.optin=`optional`,U(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),qo=H(`$ZodNonOptional`,(e,t)=>{K.init(e,t),U(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Jo(t,e)):Jo(i,e)}});function Jo(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var Yo=H(`$ZodCatch`,(e,t)=>{K.init(e,t),U(e._zod,`optin`,()=>t.innerType._zod.optin),U(e._zod,`optout`,()=>t.innerType._zod.optout),U(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Ai(e,n,Qr()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>Ai(e,n,Qr()))},input:e.value}),e.issues=[]),e)}}),Xo=H(`$ZodPipe`,(e,t)=>{K.init(e,t),U(e._zod,`values`,()=>t.in._zod.values),U(e._zod,`optin`,()=>t.in._zod.optin),U(e._zod,`optout`,()=>t.out._zod.optout),U(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Zo(e,t.in,n)):Zo(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Zo(e,t.out,n)):Zo(r,t.out,n)}});function Zo(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Qo=H(`$ZodReadonly`,(e,t)=>{K.init(e,t),U(e._zod,`propValues`,()=>t.innerType._zod.propValues),U(e._zod,`values`,()=>t.innerType._zod.values),U(e._zod,`optin`,()=>t.innerType?._zod?.optin),U(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then($o):$o(r)}});function $o(e){return e.value=Object.freeze(e.value),e}var es=H(`$ZodCustom`,(e,t)=>{G.init(e,t),K.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>ts(t,n,r,e));ts(i,n,r,e)}});function ts(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Mi(e))}}var ns,rs=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function is(){return new rs}(ns=globalThis).__zod_globalRegistry??(ns.__zod_globalRegistry=is());var as=globalThis.__zod_globalRegistry;function os(e,t){return new e({type:`string`,...W(t)})}function ss(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...W(t)})}function cs(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...W(t)})}function ls(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...W(t)})}function us(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...W(t)})}function ds(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...W(t)})}function fs(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...W(t)})}function ps(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...W(t)})}function ms(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...W(t)})}function hs(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...W(t)})}function gs(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...W(t)})}function _s(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...W(t)})}function vs(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...W(t)})}function ys(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...W(t)})}function bs(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...W(t)})}function xs(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...W(t)})}function Ss(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...W(t)})}function Cs(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...W(t)})}function ws(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...W(t)})}function Ts(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...W(t)})}function Es(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...W(t)})}function Ds(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...W(t)})}function Os(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...W(t)})}function ks(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...W(t)})}function As(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...W(t)})}function js(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...W(t)})}function Ms(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...W(t)})}function Ns(e,t){return new e({type:`number`,checks:[],...W(t)})}function Ps(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...W(t)})}function Fs(e,t){return new e({type:`boolean`,...W(t)})}function Is(e){return new e({type:`unknown`})}function Ls(e,t){return new e({type:`never`,...W(t)})}function Rs(e,t){return new e({type:`date`,...W(t)})}function zs(e,t){return new ka({check:`less_than`,...W(t),value:e,inclusive:!1})}function Bs(e,t){return new ka({check:`less_than`,...W(t),value:e,inclusive:!0})}function Vs(e,t){return new Aa({check:`greater_than`,...W(t),value:e,inclusive:!1})}function Hs(e,t){return new Aa({check:`greater_than`,...W(t),value:e,inclusive:!0})}function Us(e,t){return new ja({check:`multiple_of`,...W(t),value:e})}function Ws(e,t){return new Na({check:`max_length`,...W(t),maximum:e})}function Gs(e,t){return new Pa({check:`min_length`,...W(t),minimum:e})}function Ks(e,t){return new Fa({check:`length_equals`,...W(t),length:e})}function qs(e,t){return new La({check:`string_format`,format:`regex`,...W(t),pattern:e})}function Js(e){return new Ra({check:`string_format`,format:`lowercase`,...W(e)})}function Ys(e){return new za({check:`string_format`,format:`uppercase`,...W(e)})}function Xs(e,t){return new Ba({check:`string_format`,format:`includes`,...W(t),includes:e})}function Zs(e,t){return new Va({check:`string_format`,format:`starts_with`,...W(t),prefix:e})}function Qs(e,t){return new Ha({check:`string_format`,format:`ends_with`,...W(t),suffix:e})}function $s(e){return new Ua({check:`overwrite`,tx:e})}function ec(e){return $s(t=>t.normalize(e))}function tc(){return $s(e=>e.trim())}function nc(){return $s(e=>e.toLowerCase())}function rc(){return $s(e=>e.toUpperCase())}function ic(){return $s(e=>li(e))}function ac(e,t,n){return new e({type:`array`,element:t,...W(n)})}function oc(e,t,n){let r=W(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function sc(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...W(n)})}function cc(e){let t=lc(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(Mi(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(Mi(r))}},e(n.value,n)));return t}function lc(e,t){let n=new G({check:`custom`,...W(t)});return n._zod.check=e,n}function uc(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??as,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function J(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,J(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&Y(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function dc(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
50
50
|
|
|
51
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function fc(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:mc(t,`input`,e.processors),output:mc(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Y(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Y(r.element,n);if(r.type===`set`)return Y(r.valueType,n);if(r.type===`lazy`)return Y(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return Y(r.innerType,n);if(r.type===`intersection`)return Y(r.left,n)||Y(r.right,n);if(r.type===`record`||r.type===`map`)return Y(r.keyType,n)||Y(r.valueType,n);if(r.type===`pipe`)return Y(r.in,n)||Y(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Y(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Y(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Y(e,n))return!0;return!!(r.rest&&Y(r.rest,n))}return!1}var pc=(e,t={})=>n=>{let r=uc({...n,processors:t});return J(e,r),dc(r,e),fc(r,e)},mc=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=uc({...i??{},target:a,io:t,processors:n});return J(e,o),dc(o,e),fc(o,e)},hc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},gc=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=hc[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},_c=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},vc=(e,t,n,r)=>{n.type=`boolean`},yc=(e,t,n,r)=>{n.not={}},bc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Date cannot be represented in JSON Schema`)},xc=(e,t,n,r)=>{let i=e._zod.def,a=$r(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Sc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Cc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},wc=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=J(a.element,t,{...r,path:[...r.path,`items`]})},Tc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=J(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=J(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ec=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>J(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Dc=(e,t,n,r)=>{let i=e._zod.def,a=J(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=J(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Oc=(e,t,n,r)=>{let i=e._zod.def,a=J(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},kc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ac=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},jc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Mc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Nc=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;J(a,t,r);let o=t.seen.get(e);o.ref=a},Pc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Fc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ic=H(`ZodISODateTime`,(e,t)=>{io.init(e,t),Z.init(e,t)});function Lc(e){return ks(Ic,e)}var Rc=H(`ZodISODate`,(e,t)=>{ao.init(e,t),Z.init(e,t)});function zc(e){return As(Rc,e)}var Bc=H(`ZodISOTime`,(e,t)=>{oo.init(e,t),Z.init(e,t)});function Vc(e){return js(Bc,e)}var Hc=H(`ZodISODuration`,(e,t)=>{so.init(e,t),Z.init(e,t)});function Uc(e){return Ms(Hc,e)}var Wc=(e,t)=>{Pi.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Li(e,t)},flatten:{value:t=>Ii(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ei,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ei,2)}},isEmpty:{get(){return e.issues.length===0}}})};H(`ZodError`,Wc);var Gc=H(`ZodError`,Wc,{Parent:Error}),Kc=Ri(Gc),qc=zi(Gc),Jc=Bi(Gc),Yc=Hi(Gc),Xc=Wi(Gc),Zc=Gi(Gc),Qc=Ki(Gc),$c=qi(Gc),el=Ji(Gc),tl=Yi(Gc),nl=Xi(Gc),rl=Zi(Gc),X=H(`ZodType`,(e,t)=>(K.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:mc(e,`input`),output:mc(e,`output`)}}),e.toJSONSchema=pc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(si(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>_i(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Kc(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Jc(e,t,n),e.parseAsync=async(t,n)=>qc(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Yc(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Xc(e,t,n),e.decode=(t,n)=>Zc(e,t,n),e.encodeAsync=async(t,n)=>Qc(e,t,n),e.decodeAsync=async(t,n)=>$c(e,t,n),e.safeEncode=(t,n)=>el(e,t,n),e.safeDecode=(t,n)=>tl(e,t,n),e.safeEncodeAsync=async(t,n)=>nl(e,t,n),e.safeDecodeAsync=async(t,n)=>rl(e,t,n),e.refine=(t,n)=>e.check(gu(t,n)),e.superRefine=t=>e.check(_u(t)),e.overwrite=t=>e.check($s(t)),e.optional=()=>Zl(e),e.exactOptional=()=>$l(e),e.nullable=()=>tu(e),e.nullish=()=>Zl(tu(e)),e.nonoptional=t=>su(e,t),e.array=()=>zl(e),e.or=t=>Ul([e,t]),e.and=t=>Gl(e,t),e.transform=t=>du(e,Yl(t)),e.default=t=>ru(e,t),e.prefault=t=>au(e,t),e.catch=t=>lu(e,t),e.pipe=t=>du(e,t),e.readonly=()=>pu(e),e.describe=t=>{let n=e.clone();return as.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return as.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return as.get(e);let n=e.clone();return as.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),il=H(`_ZodString`,(e,t)=>{Ka.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gc(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(qs(...t)),e.includes=(...t)=>e.check(Xs(...t)),e.startsWith=(...t)=>e.check(Zs(...t)),e.endsWith=(...t)=>e.check(Qs(...t)),e.min=(...t)=>e.check(Gs(...t)),e.max=(...t)=>e.check(Ws(...t)),e.length=(...t)=>e.check(Ks(...t)),e.nonempty=(...t)=>e.check(Gs(1,...t)),e.lowercase=t=>e.check(Js(t)),e.uppercase=t=>e.check(Ys(t)),e.trim=()=>e.check(tc()),e.normalize=(...t)=>e.check(ec(...t)),e.toLowerCase=()=>e.check(nc()),e.toUpperCase=()=>e.check(rc()),e.slugify=()=>e.check(ic())}),al=H(`ZodString`,(e,t)=>{Ka.init(e,t),il.init(e,t),e.email=t=>e.check(ss(sl,t)),e.url=t=>e.check(ps(ul,t)),e.jwt=t=>e.check(Os(Tl,t)),e.emoji=t=>e.check(ms(dl,t)),e.guid=t=>e.check(cs(cl,t)),e.uuid=t=>e.check(ls(ll,t)),e.uuidv4=t=>e.check(us(ll,t)),e.uuidv6=t=>e.check(ds(ll,t)),e.uuidv7=t=>e.check(fs(ll,t)),e.nanoid=t=>e.check(hs(fl,t)),e.guid=t=>e.check(cs(cl,t)),e.cuid=t=>e.check(gs(pl,t)),e.cuid2=t=>e.check(_s(ml,t)),e.ulid=t=>e.check(vs(hl,t)),e.base64=t=>e.check(Ts(Sl,t)),e.base64url=t=>e.check(Es(Cl,t)),e.xid=t=>e.check(ys(gl,t)),e.ksuid=t=>e.check(bs(_l,t)),e.ipv4=t=>e.check(xs(vl,t)),e.ipv6=t=>e.check(Ss(yl,t)),e.cidrv4=t=>e.check(Cs(bl,t)),e.cidrv6=t=>e.check(ws(xl,t)),e.e164=t=>e.check(Ds(wl,t)),e.datetime=t=>e.check(Lc(t)),e.date=t=>e.check(zc(t)),e.time=t=>e.check(Vc(t)),e.duration=t=>e.check(Uc(t))});function ol(e){return os(al,e)}var Z=H(`ZodStringFormat`,(e,t)=>{q.init(e,t),il.init(e,t)}),sl=H(`ZodEmail`,(e,t)=>{Ya.init(e,t),Z.init(e,t)}),cl=H(`ZodGUID`,(e,t)=>{qa.init(e,t),Z.init(e,t)}),ll=H(`ZodUUID`,(e,t)=>{Ja.init(e,t),Z.init(e,t)}),ul=H(`ZodURL`,(e,t)=>{Xa.init(e,t),Z.init(e,t)}),dl=H(`ZodEmoji`,(e,t)=>{Za.init(e,t),Z.init(e,t)}),fl=H(`ZodNanoID`,(e,t)=>{Qa.init(e,t),Z.init(e,t)}),pl=H(`ZodCUID`,(e,t)=>{$a.init(e,t),Z.init(e,t)}),ml=H(`ZodCUID2`,(e,t)=>{eo.init(e,t),Z.init(e,t)}),hl=H(`ZodULID`,(e,t)=>{to.init(e,t),Z.init(e,t)}),gl=H(`ZodXID`,(e,t)=>{no.init(e,t),Z.init(e,t)}),_l=H(`ZodKSUID`,(e,t)=>{ro.init(e,t),Z.init(e,t)}),vl=H(`ZodIPv4`,(e,t)=>{co.init(e,t),Z.init(e,t)}),yl=H(`ZodIPv6`,(e,t)=>{lo.init(e,t),Z.init(e,t)}),bl=H(`ZodCIDRv4`,(e,t)=>{uo.init(e,t),Z.init(e,t)}),xl=H(`ZodCIDRv6`,(e,t)=>{fo.init(e,t),Z.init(e,t)}),Sl=H(`ZodBase64`,(e,t)=>{mo.init(e,t),Z.init(e,t)}),Cl=H(`ZodBase64URL`,(e,t)=>{go.init(e,t),Z.init(e,t)}),wl=H(`ZodE164`,(e,t)=>{_o.init(e,t),Z.init(e,t)}),Tl=H(`ZodJWT`,(e,t)=>{yo.init(e,t),Z.init(e,t)}),El=H(`ZodNumber`,(e,t)=>{bo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_c(e,t,n,r),e.gt=(t,n)=>e.check(Vs(t,n)),e.gte=(t,n)=>e.check(Hs(t,n)),e.min=(t,n)=>e.check(Hs(t,n)),e.lt=(t,n)=>e.check(zs(t,n)),e.lte=(t,n)=>e.check(Bs(t,n)),e.max=(t,n)=>e.check(Bs(t,n)),e.int=t=>e.check(kl(t)),e.safe=t=>e.check(kl(t)),e.positive=t=>e.check(Vs(0,t)),e.nonnegative=t=>e.check(Hs(0,t)),e.negative=t=>e.check(zs(0,t)),e.nonpositive=t=>e.check(Bs(0,t)),e.multipleOf=(t,n)=>e.check(Us(t,n)),e.step=(t,n)=>e.check(Us(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Dl(e){return Ns(El,e)}var Ol=H(`ZodNumberFormat`,(e,t)=>{xo.init(e,t),El.init(e,t)});function kl(e){return Ps(Ol,e)}var Al=H(`ZodBoolean`,(e,t)=>{So.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vc(e,t,n,r)});function jl(e){return Fs(Al,e)}var Ml=H(`ZodUnknown`,(e,t)=>{Co.init(e,t),X.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Nl(){return Is(Ml)}var Pl=H(`ZodNever`,(e,t)=>{wo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yc(e,t,n,r)});function Fl(e){return Ls(Pl,e)}var Il=H(`ZodDate`,(e,t)=>{To.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bc(e,t,n,r),e.min=(t,n)=>e.check(Hs(t,n)),e.max=(t,n)=>e.check(Bs(t,n));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function Ll(e){return Rs(Il,e)}var Rl=H(`ZodArray`,(e,t)=>{Do.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wc(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Gs(t,n)),e.nonempty=t=>e.check(Gs(1,t)),e.max=(t,n)=>e.check(Ws(t,n)),e.length=(t,n)=>e.check(Ks(t,n)),e.unwrap=()=>e.element});function zl(e,t){return ac(Rl,e,t)}var Bl=H(`ZodObject`,(e,t)=>{Mo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Tc(e,t,n,r),U(e,`shape`,()=>t.shape),e.keyof=()=>ql(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Nl()}),e.loose=()=>e.clone({...e._zod.def,catchall:Nl()}),e.strict=()=>e.clone({...e._zod.def,catchall:Fl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Si(e,t),e.safeExtend=t=>Ci(e,t),e.merge=t=>wi(e,t),e.pick=t=>bi(e,t),e.omit=t=>xi(e,t),e.partial=(...t)=>Ti(Xl,e,t[0]),e.required=(...t)=>Ei(ou,e,t[0])});function Vl(e,t){return new Bl({type:`object`,shape:e??{},...W(t)})}var Hl=H(`ZodUnion`,(e,t)=>{Po.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ec(e,t,n,r),e.options=t.options});function Ul(e,t){return new Hl({type:`union`,options:e,...W(t)})}var Wl=H(`ZodIntersection`,(e,t)=>{Fo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dc(e,t,n,r)});function Gl(e,t){return new Wl({type:`intersection`,left:e,right:t})}var Kl=H(`ZodEnum`,(e,t)=>{Ro.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xc(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Kl({...t,checks:[],...W(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Kl({...t,checks:[],...W(r),entries:i})}});function ql(e,t){return new Kl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...W(t)})}var Jl=H(`ZodTransform`,(e,t)=>{zo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Xr(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Mi(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Mi(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Yl(e){return new Jl({type:`transform`,transform:e})}var Xl=H(`ZodOptional`,(e,t)=>{Vo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zl(e){return new Xl({type:`optional`,innerType:e})}var Ql=H(`ZodExactOptional`,(e,t)=>{Ho.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $l(e){return new Ql({type:`optional`,innerType:e})}var eu=H(`ZodNullable`,(e,t)=>{Uo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tu(e){return new eu({type:`nullable`,innerType:e})}var nu=H(`ZodDefault`,(e,t)=>{Wo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ac(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ru(e,t){return new nu({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():mi(t)}})}var iu=H(`ZodPrefault`,(e,t)=>{Ko.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function au(e,t){return new iu({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():mi(t)}})}var ou=H(`ZodNonOptional`,(e,t)=>{qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function su(e,t){return new ou({type:`nonoptional`,innerType:e,...W(t)})}var cu=H(`ZodCatch`,(e,t)=>{Yo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function lu(e,t){return new cu({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var uu=H(`ZodPipe`,(e,t)=>{Xo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nc(e,t,n,r),e.in=t.in,e.out=t.out});function du(e,t){return new uu({type:`pipe`,in:e,out:t})}var fu=H(`ZodReadonly`,(e,t)=>{Qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function pu(e){return new fu({type:`readonly`,innerType:e})}var mu=H(`ZodCustom`,(e,t)=>{es.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sc(e,t,n,r)});function hu(e,t){return oc(mu,e??(()=>!0),t)}function gu(e,t={}){return sc(mu,e,t)}function _u(e){return cc(e)}var vu={"common.all":`All`,"common.backToList":`Back to List`,"common.cancel":`Cancel`,"common.close":`Close`,"common.confirm":`Confirm`,"common.create":`Create`,"common.createdAt":`Created At`,"common.delete":`Delete`,"common.edit":`Edit`,"common.login":`Login`,"common.logout":`Logout`,"common.manage":`Manage`,"common.results":e=>zu(e,{one:`${e} result`,other:`${e} results`}),"common.save":`Save`,"common.search":`Search`,"common.searchPlaceholder":`Search...`,"common.searchType":`Search Type`,"common.sort":`Sort`,"confirm.delete":`Are you sure you want to delete?`,"confirm.save":`Do you want to save?`,"dashboard.adminMenu":`Admin Menu`,"dashboard.createdAt":`Joined`,"dashboard.email":`Email`,"dashboard.loginRequired":`Please login to continue.`,"dashboard.name":`Name`,"dashboard.role":`Role`,"dashboard.title":`Admin Dashboard`,"dashboard.welcome":`Welcome!`,"delete.confirm.description":`This action cannot be undone. This will permanently delete this item.`,"delete.confirm.title":`Are you sure?`,"entity.create":e=>`Create ${e}`,"entity.edit":(e,t)=>`Edit ${e} (#${t})`,"entity.list":e=>`${e} List`,"entity.listManage":e=>`Manage ${e} List`,"error.alreadyProcessed":`Already processed`,"error.badRequest":`Bad request`,"error.duplicateRow":`Duplicate data`,"error.forbidden":`Forbidden`,"error.internalServerError":`Internal server error`,"error.notFound":`Not found`,"error.serviceUnavailable":`Service unavailable`,"setting.invalidValue":e=>`Invalid setting value: ${e}`,"setting.unknownKey":e=>`Unknown setting key ${e}`,"qgrid.dispatcherFailed":e=>`${e} dispatcher failed to initialize`,"qgrid.dispatcherStarting":e=>`${e} dispatcher is starting up. Please retry shortly`,"error.unauthorized":`Unauthorized`,notFound:(e,t)=>`${e} ID ${t} not found`,"validation.email":`Invalid email format`,"validation.maxLength":(e,t)=>`${e} must be at most ${t} characters`,"validation.minLength":(e,t)=>`${e} must be at least ${t} characters`,"validation.required":e=>`${e} is required`,"validation.url":`Invalid URL format`},yu={"common.all":`전체`,"common.backToList":`목록으로`,"common.cancel":`취소`,"common.close":`닫기`,"common.confirm":`확인`,"common.create":`생성`,"common.createdAt":`등록`,"common.delete":`삭제`,"common.edit":`수정`,"common.login":`로그인`,"common.logout":`로그아웃`,"common.manage":`관리`,"common.results":e=>`${e}개 결과`,"common.save":`저장`,"common.search":`검색`,"common.searchPlaceholder":`검색...`,"common.searchType":`검색 유형`,"common.sort":`정렬`,"confirm.delete":`정말 삭제하시겠습니까?`,"confirm.save":`저장하시겠습니까?`,"dashboard.adminMenu":`관리 메뉴`,"dashboard.createdAt":`가입일`,"dashboard.email":`이메일`,"dashboard.loginRequired":`로그인이 필요합니다.`,"dashboard.name":`이름`,"dashboard.role":`역할`,"dashboard.title":`관리자 대시보드`,"dashboard.welcome":`환영합니다!`,"delete.confirm.description":`이 작업은 취소할 수 없습니다. 항목이 영구적으로 삭제됩니다.`,"delete.confirm.title":`정말 삭제하시겠습니까?`,"entity.create":e=>`${e} 생성`,"entity.edit":(e,t)=>`${e} 수정 (#${t})`,"entity.list":e=>`${e} 목록`,"entity.listManage":e=>`${e} 목록 관리`,"error.alreadyProcessed":`이미 처리되었습니다`,"error.badRequest":`잘못된 요청입니다`,"error.duplicateRow":`중복된 데이터입니다`,"error.entityNotFound":(e,t)=>`존재하지 않는 ${e} ID ${t}`,"error.forbidden":`권한이 없습니다`,"error.internalServerError":`서버 오류가 발생했습니다`,"error.notFound":`찾을 수 없습니다`,"error.serviceUnavailable":`서비스를 사용할 수 없습니다`,"setting.invalidValue":e=>`설정 값이 올바르지 않습니다: ${e}`,"setting.unknownKey":e=>`알 수 없는 설정 키 ${e}`,"qgrid.dispatcherFailed":e=>`${e} dispatcher 초기화에 실패했습니다`,"qgrid.dispatcherStarting":e=>`${e} dispatcher 기동 중입니다. 잠시 후 다시 시도해주세요`,"error.unauthorized":`인증이 필요합니다`,"error.unknownSearchField":e=>`구현되지 않은 검색 필드 ${e}`,notFound:(e,t)=>`존재하지 않는 ${e} ID ${t}`,"validation.email":`올바른 이메일 형식이 아닙니다`,"validation.maxLength":(e,t)=>`${e}${Bu(e,`은는`)} 최대 ${t}자까지 입력할 수 있습니다`,"validation.minLength":(e,t)=>`${e}${Bu(e,`은는`)} 최소 ${t}자 이상이어야 합니다`,"validation.required":e=>`${Bu(e,`은는`)} 필수입니다`,"validation.url":`올바른 URL 형식이 아닙니다`},bu=`ko`,xu=[`ko`,`en`],Su=bu;function Cu(e){Su=e}function wu(){return Su}var Tu={"rc.asyncSelect.loading":`로딩 중...`,"rc.asyncSelect.noOptions":`옵션이 없습니다`,"rc.asyncSelect.noResults":`검색 결과가 없습니다`,"rc.asyncSelect.selectPlaceholder":`선택하세요...`,"rc.combobox.noResults":`검색 결과가 없습니다`,"rc.combobox.selectPlaceholder":`선택하세요...`,"rc.datePicker.pickDate":`날짜 선택`,"rc.datePicker.placeholder":`날짜 선택`,"rc.datePicker.selectDate":`날짜 선택`,"rc.dateSelectorMultiple.addDate":`날짜 추가`,"rc.dateSelectorMultiple.dateRange":`기간`,"rc.dateSelectorMultiple.placeholder":`날짜 선택`,"rc.dateSelectorMultiple.singleDate":`단일`,"rc.fileInput.browseFiles":`파일 찾기`,"rc.fileInput.dropZone":`파일을 드래그하거나 클릭하여 업로드`,"rc.fileInput.filePlaceholder":`파일`,"rc.fileInput.imagePlaceholder":`이미지`,"rc.fileInput.maxFilesExceeded":e=>`최대 ${e}개 파일만 업로드 가능합니다`,"rc.fileInput.pending":`대기 중`,"rc.fileInput.remove":`제거`,"rc.fileInput.uploadFailed":`업로드 실패`,"rc.fileInput.uploading":`업로드 중...`,"rc.monthPickerMultiple.addMonth":`월 추가`,"rc.monthPickerMultiple.dateRange":`기간`,"rc.monthPickerMultiple.endDate":`종료일`,"rc.monthPickerMultiple.placeholder":`월 선택`,"rc.monthPickerMultiple.singleDate":`단일`,"rc.monthPickerMultiple.startDate":`시작일`,"rc.multiSelect.clear":`전체 해제`,"rc.multiSelect.close":`닫기`,"rc.multiSelect.moreItems":e=>`+${e}개 더보기`,"rc.multiSelect.noOptions":`옵션이 없습니다`,"rc.multiSelect.noOptionsSelected":`선택된 옵션이 없습니다`,"rc.multiSelect.noResults":`검색 결과가 없습니다`,"rc.multiSelect.optionsCount":e=>`${e}개 옵션`,"rc.multiSelect.selectAll":`전체 선택`,"rc.multiSelect.selectPlaceholder":`선택하세요...`,"rc.pagination.next":`다음`,"rc.pagination.previous":`이전`,"rc.pagination.showing":(e,t,n)=>`${n}개 중 ${e}-${t}`,"rc.calendar.month.0":`1월`,"rc.calendar.month.1":`2월`,"rc.calendar.month.2":`3월`,"rc.calendar.month.3":`4월`,"rc.calendar.month.4":`5월`,"rc.calendar.month.5":`6월`,"rc.calendar.month.6":`7월`,"rc.calendar.month.7":`8월`,"rc.calendar.month.8":`9월`,"rc.calendar.month.9":`10월`,"rc.calendar.month.10":`11월`,"rc.calendar.month.11":`12월`,"rc.sonamuFilter.title":`소나무 필터`,"rc.sonamuFilter.apply":`적용`,"rc.sonamuFilter.reset":`초기화`,"rc.sonamuFilter.addRule":`규칙 추가`,"rc.sonamuFilter.noRulesYet":`아직 규칙이 없습니다. "+ 규칙 추가"를 클릭하여 시작하세요.`,"rc.sonamuFilter.selectField":`필드 선택`,"rc.sonamuFilter.selectOperator":`연산자 선택`,"rc.sonamuFilter.selectOperatorFirst":`먼저 연산자를 선택하세요`,"rc.sonamuFilter.enterValue":`값 입력`,"rc.sonamuFilter.enterNumber":`숫자 입력`,"rc.sonamuFilter.notSupported":`지원하지 않음`,"rc.sonamuFilter.startDate":`시작일`,"rc.sonamuFilter.endDate":`종료일`,"rc.sonamuFilter.appliedFilters":`🌲 적용된 소나무 필터`,"rc.common.cancel":`취소`,"rc.common.save":`저장`},Eu={"rc.asyncSelect.loading":`Loading...`,"rc.asyncSelect.noOptions":`No options`,"rc.asyncSelect.noResults":`No results`,"rc.asyncSelect.selectPlaceholder":`Select...`,"rc.combobox.noResults":`No results`,"rc.combobox.selectPlaceholder":`Select...`,"rc.datePicker.pickDate":`Pick date`,"rc.datePicker.placeholder":`Pick date`,"rc.datePicker.selectDate":`Select date`,"rc.dateSelectorMultiple.addDate":`Add date`,"rc.dateSelectorMultiple.dateRange":`Range`,"rc.dateSelectorMultiple.placeholder":`Pick date`,"rc.dateSelectorMultiple.singleDate":`Single`,"rc.fileInput.browseFiles":`Browse files`,"rc.fileInput.dropZone":`Drag files here or click to upload`,"rc.fileInput.filePlaceholder":`File`,"rc.fileInput.imagePlaceholder":`Image`,"rc.fileInput.maxFilesExceeded":e=>`Maximum ${e} files allowed`,"rc.fileInput.pending":`Pending`,"rc.fileInput.remove":`Remove`,"rc.fileInput.uploadFailed":`Upload failed`,"rc.fileInput.uploading":`Uploading...`,"rc.monthPickerMultiple.addMonth":`Add month`,"rc.monthPickerMultiple.dateRange":`Range`,"rc.monthPickerMultiple.endDate":`End date`,"rc.monthPickerMultiple.placeholder":`Pick month`,"rc.monthPickerMultiple.singleDate":`Single`,"rc.monthPickerMultiple.startDate":`Start date`,"rc.multiSelect.clear":`Clear all`,"rc.multiSelect.close":`Close`,"rc.multiSelect.moreItems":e=>`+${e} more`,"rc.multiSelect.noOptions":`No options`,"rc.multiSelect.noOptionsSelected":`No options selected`,"rc.multiSelect.noResults":`No results`,"rc.multiSelect.optionsCount":e=>`${e} options`,"rc.multiSelect.selectAll":`Select all`,"rc.multiSelect.selectPlaceholder":`Select...`,"rc.pagination.next":`Next`,"rc.pagination.previous":`Previous`,"rc.pagination.showing":(e,t,n)=>`Showing ${e}-${t} of ${n}`,"rc.calendar.month.0":`January`,"rc.calendar.month.1":`February`,"rc.calendar.month.2":`March`,"rc.calendar.month.3":`April`,"rc.calendar.month.4":`May`,"rc.calendar.month.5":`June`,"rc.calendar.month.6":`July`,"rc.calendar.month.7":`August`,"rc.calendar.month.8":`September`,"rc.calendar.month.9":`October`,"rc.calendar.month.10":`November`,"rc.calendar.month.11":`December`,"rc.sonamuFilter.title":`Sonamu Filter`,"rc.sonamuFilter.apply":`Apply`,"rc.sonamuFilter.reset":`Reset`,"rc.sonamuFilter.addRule":`Add Rule`,"rc.sonamuFilter.noRulesYet":`No rules yet. Click "+ Add Rule" to start.`,"rc.sonamuFilter.selectField":`Select field`,"rc.sonamuFilter.selectOperator":`Operator`,"rc.sonamuFilter.selectOperatorFirst":`Select operator first`,"rc.sonamuFilter.enterValue":`Enter value`,"rc.sonamuFilter.enterNumber":`Enter number`,"rc.sonamuFilter.notSupported":`Not supported`,"rc.sonamuFilter.startDate":`Start date`,"rc.sonamuFilter.endDate":`End date`,"rc.sonamuFilter.appliedFilters":`🌲 Applied SonamuFilters`,"rc.common.cancel":`Cancel`,"rc.common.save":`Save`},Du={"entity.RequestLog":`RequestLog`,"entity.RequestLog.id":`ID`,"entity.RequestLog.created_at":`등록일시`,"entity.RequestLog.token_name":`토큰 이름`,"entity.RequestLog.project_name":`프로젝트 이름`,"entity.RequestLog.model_name":`모델 이름`,"entity.RequestLog.requested_model_name":`요청 모델 이름 (fallback 전)`,"entity.RequestLog.fallback_count":`모델 fallback 횟수`,"entity.RequestLog.user_prompt":`사용자 프롬프트`,"entity.RequestLog.system_prompt":`시스템 프롬프트`,"entity.RequestLog.response":`llm 응답 전문`,"entity.RequestLog.input_tokens":`입력 토큰`,"entity.RequestLog.output_tokens":`출력 토큰`,"entity.RequestLog.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLog.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLog.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLog.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLog.duration_ms":`응답 소요시간(ms)`,"entity.RequestLog.ttft_ms":`first gen TTFT(ms)`,"entity.RequestLog.cost_usd":`API 비용`,"entity.RequestLog.cost_source":`비용 출처(provider/pricing_table/mixed)`,"entity.RequestLog.image_cost_usd":`이미지 생성 비용`,"entity.RequestLog.image_cost_method":`이미지 비용 계산 방식`,"entity.RequestLog.service_tier":`Requested OpenAI service tier`,"entity.RequestLog.effort":`effort level`,"entity.RequestLog.history":`inject_items 히스토리`,"entity.RequestLog.tools":`요청에 장착된 tool 정의 목록`,"entity.RequestLog.json_schema":`structured output 요청의 JSON Schema 원문 (detail 의 response 타입 표시용)`,"entity.RequestLog.status":`실행 상태`,"entity.RequestLog.error_message":`에러 메시지`,"entity.RequestLog.response_json_ok":`structured(jsonSchema) 요청의 응답 JSON 파싱 성공 여부. 비structured 요청은 null`,"entity.RequestLog.tool_call_count":`tool call 횟수`,"entity.RequestLog.is_image_generation":`이미지 생성 turn 여부 (quota 귀속용)`,"entity.RequestLog.is_structured":`structured output(jsonSchema) 요청 여부 (목록 구분 표시용)`,"enum.RequestLogOrderBy.id-desc":`ID최신순`,"enum.RequestLogOrderBy.id-asc":`ID오래된순`,"enum.RequestLogOrderBy.created_at-desc":`등록일시최신순`,"enum.RequestLogOrderBy.created_at-asc":`등록일시오래된순`,"enum.RequestLogOrderBy.ttft_ms-desc":`TTFT긴순`,"enum.RequestLogOrderBy.ttft_ms-asc":`TTFT짧은순`,"enum.RequestLogOrderBy.duration_ms-desc":`소요시간긴순`,"enum.RequestLogOrderBy.duration_ms-asc":`소요시간짧은순`,"enum.RequestLogOrderBy.input_tokens-desc":`입력토큰많은순`,"enum.RequestLogOrderBy.input_tokens-asc":`입력토큰적은순`,"enum.RequestLogOrderBy.output_tokens-desc":`출력토큰많은순`,"enum.RequestLogOrderBy.output_tokens-asc":`출력토큰적은순`,"enum.RequestLogOrderBy.cache_read_tokens-desc":`캐시읽기많은순`,"enum.RequestLogOrderBy.cache_read_tokens-asc":`캐시읽기적은순`,"enum.RequestLogOrderBy.cache_creation_tokens-desc":`캐시생성많은순`,"enum.RequestLogOrderBy.cache_creation_tokens-asc":`캐시생성적은순`,"enum.RequestLogOrderBy.cost_usd-desc":`비용높은순`,"enum.RequestLogOrderBy.cost_usd-asc":`비용낮은순`,"enum.RequestLogSearchField.id":`ID`,"enum.RequestLogSearchField.token_name":`토큰이름`,"enum.RequestLogSearchField.user_prompt":`사용자 프롬프트`,"enum.RequestLogStatus.running":`실행 중`,"enum.RequestLogStatus.succeeded":`성공`,"enum.RequestLogStatus.error":`에러`,"enum.RequestLogStatus.aborted":`중단`,"entity.RequestLogStep":`RequestLogStep`,"entity.RequestLogStep.id":`ID`,"entity.RequestLogStep.created_at":`등록일시`,"entity.RequestLogStep.request_log":`부모 request log ID`,"entity.RequestLogStep.step_index":`ai-sdk step number (0-based)`,"entity.RequestLogStep.type":`step 타입`,"entity.RequestLogStep.model_name":`실제 serving 모델`,"entity.RequestLogStep.requested_model_name":`요청 모델 (fallback 전)`,"entity.RequestLogStep.fallback_count":`모델 fallback 횟수`,"entity.RequestLogStep.input_tokens":`입력 토큰 (generate)`,"entity.RequestLogStep.output_tokens":`출력 토큰 (generate)`,"entity.RequestLogStep.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLogStep.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cost_usd":`step 비용 (micro-USD)`,"entity.RequestLogStep.cost_source":`비용 출처(provider/pricing_table)`,"entity.RequestLogStep.duration_ms":`소요시간(ms)`,"entity.RequestLogStep.ttft_ms":`Gen TTFT(ms)`,"entity.RequestLogStep.finish_reason":`완료 사유`,"entity.RequestLogStep.reasoning_text":`reasoning 텍스트`,"entity.RequestLogStep.reasoning_tokens":`reasoning 토큰 수`,"entity.RequestLogStep.tool_call_index":`같은 step 내 tool call 순서`,"entity.RequestLogStep.tool_call_id":`tool call ID`,"entity.RequestLogStep.tool_name":`tool 이름`,"entity.RequestLogStep.tool_args":`tool 인자 (JSON string)`,"entity.RequestLogStep.tool_result":`tool 결과 (JSON string)`,"entity.RequestLogStep.tool_duration_ms":`tool 실행 소요시간(ms)`,"entity.RequestLogStep.error":`step 에러 메시지`,"enum.RequestLogStepType.generate":`LLM 생성`,"enum.RequestLogStepType.tool_call":`Tool 호출`,"enum.RequestLogStepOrderBy.id-asc":`ID순`,"enum.RequestLogStepSearchField.id":`ID`,"entity.Setting":`Setting`,"entity.Setting.id":`ID`,"entity.Setting.created_at":`등록일시`,"entity.Setting.key":`설정 키 (예: slack.enabled)`,"entity.Setting.value":`설정 값 (문자열 저장, 앱에서 파싱·검증)`,"entity.Setting.updated_at":`최종 수정일시`,"enum.SettingOrderBy.key-asc":`키순`,"enum.SettingSearchField.key":`키`,"entity.Token":`Token`,"entity.Token.id":`ID`,"entity.Token.created_at":`등록일시`,"entity.Token.provider":`프로바이더`,"entity.Token.credentials":`인증 정보 (JSONB)`,"entity.Token.name":`토큰 이름`,"entity.Token.active":`활성 여부`,"entity.Token.reauth_required":`인증 만료로 재로그인이 필요한지 여부`,"entity.Token.ord":`정렬 순서`,"entity.Token.quota_threshold":`quota 사용률 임계치(%). null이면 미설정`,"entity.Token.weight":`가중 라운드로빈 라우팅 가중치 (1..100)`,"entity.Token.keepalive_enabled":`Anthropic 5시간 토큰 윈도우 keepalive 사용 여부`,"enum.TokenOrderBy.id-desc":`ID최신순`,"enum.TokenOrderBy.ord-asc":`순서순`,"enum.TokenSearchField.id":`ID`,"enum.TokenSearchField.name":`이름`},Ou={ko:{...Tu,...Du,...yu},en:{...Eu,...vu}};function ku(e,t){let n=Ou[t];if(n?.[e]!==void 0)return n[e];if(t!==bu&&Ou[bu]?.[e]!==void 0)return Ou[bu][e];for(let n of xu)if(n!==t&&n!==bu&&Ou[n]?.[e]!==void 0)return Ou[n][e];return e}function Au(e){return ku(e,wu())}Au.locale=e=>t=>ku(t,e),Au.enumLabels=e=>new Proxy({},{get(t,n){if(typeof n!=`symbol`)return ku(`enum.${e}.${n}`,wu())}});var ju=t(k(),1),Mu=t(c(),1);function Nu(e,t){return typeof t==`string`&&(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(\.\d{1,3})?)?(Z|[+-]\d{2}:\d{2})?$/.test(t)||/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$/.test(t))&&new Date(t).toString()!==`Invalid Date`?new Date(t):t}L.defaults.transformResponse=[e=>{if(typeof e==`string`)try{return JSON.parse(e,Nu)}catch{return e}return e}],L.interceptors.request.use(e=>(e.headers[`Accept-Language`]=wu(),e));async function Q(e){try{return(await L({...e})).data}catch(e){if(L.isAxiosError(e)&&e.response?.data){let t=e.response.data;throw new Pu(e.response.status,t.message,t.issues)}throw e}}var Pu=class extends Error{isSonamuError;constructor(e,t,n){super(t),this.code=e,this.message=t,this.issues=n,this.isSonamuError=!0}};function Fu(e){return e&&e.isSonamuError===!0}var Iu=ql([`both`,`list`,`count`]);Vl({semanticQuery:Vl({embedding:zl(Dl()).min(1024).max(1024),threshold:Dl().optional(),method:ql([`cosine`,`l2`,`inner_product`]).optional()})});function Lu(e){return Ul([e,e.array()])}ol().regex(/([0-9]{4}-[0-9]{2}-[0-9]{2}( [0-9]{2}:[0-9]{2}:[0-9]{2})*)$/,{message:`잘못된 SQLDate 타입`}).min(10).max(19).describe(`SQLDateTimeString`),Vl({name:ol(),url:ol(),mime_type:ol(),size:Dl()});function Ru(e,t,n,r={}){let{enabled:i=!0,retry:a=3,retryInterval:o=3e3}=r,[s,c]=(0,Mu.useState)({isConnected:!1,error:null,retryCount:0,isEnded:!1}),l=(0,Mu.useRef)(null),u=(0,Mu.useRef)(null),d=(0,Mu.useRef)(n);(0,Mu.useEffect)(()=>{d.current=n},[n]);let f=()=>{if(i)try{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null);let n=ju.default.stringify(t),r=new qr(n?`${e}?${n}`:e,{fetch:(e,t)=>globalThis.fetch(e,{...t,headers:{...t?.headers,"Accept-Language":wu()}})});l.current=r,c(e=>({...e,isConnected:!1,error:null,isEnded:!1})),r.onopen=()=>{c(e=>({...e,isConnected:!0,error:null,retryCount:0,isEnded:!1}))},r.onerror=e=>{l.current===r&&(r.close(),c(e=>({...e,isConnected:!1,error:`Connection failed`,isEnded:!1})),c(e=>e.retryCount<a?(u.current=setTimeout(()=>{u.current!==null&&(c(e=>({...e,retryCount:e.retryCount+1,isEnded:!1})),f())},o),e):(l.current=null,{...e,error:`Connection failed after ${a} attempts`})))},r.addEventListener(`end`,()=>{if(l.current===r&&(r.close(),l.current=null,c(e=>({...e,isConnected:!1,error:null,isEnded:!0})),d.current.end)){let e=d.current.end;e(`end`)}}),Object.keys(d.current).forEach(e=>{let t=d.current[e];t&&r.addEventListener(e,n=>{if(l.current===r){try{t(JSON.parse(n.data,Nu))}catch(t){console.error(`Failed to parse SSE data for event ${e}:`,t)}c(e=>({...e,isEnded:!1}))}})}),r.onmessage=e=>{if(l.current===r)try{let t=JSON.parse(e.data,Nu),n=d.current.message;n&&n(t)}catch(e){console.error(`Failed to parse SSE message:`,e)}}}catch(e){c(t=>({...t,error:e instanceof Error?e.message:`Unknown error`,isConnected:!1,isEnded:!1}))}};return(0,Mu.useEffect)(()=>(i&&(c({isConnected:!1,error:null,retryCount:0,isEnded:!1}),f()),()=>{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null)}),[e,JSON.stringify(t),i]),s}function zu(e,t){let n=e===0&&t.zero||e===1&&t.one||t.other;return typeof n==`function`?n(e):n??e.toString()}function Bu(e,t){let n=(()=>{let t=e.charCodeAt(e.length-1);return t<44032||t>55203?!1:(t-44032)%28!=0})();return e+{은는:n?`은`:`는`,이가:n?`이`:`가`,을를:n?`을`:`를`,과와:n?`과`:`와`,으로:n?`으로`:`로`}[t]}function Vu(e){let t=new Set,n=[];for(let r of e.pages)for(let e of r?.rows??[]){let r=e?.id;if(r!==null){if(t.has(r))continue;t.add(r)}n.push(e)}let r=e.pages[0]?.total??0;return{pages:e.pages,pageParams:e.pageParams,rows:n,total:r}}function $(e){let[t,n]=(0,Mu.useState)(!1),r=(0,Mu.useCallback)(async()=>{n(!0);try{await e.refetch()}finally{n(!1)}},[e]);return{...e,refresh:r,isRefreshing:t}}var Hu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/token/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getToken=t;let n=e.getTokenQueryOptions=(e,n)=>i({queryKey:[`Token`,`getToken`,e,n],queryFn:()=>t(e,n)});e.useToken=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/token/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getTokens=c;let l=e.getTokensQueryOptions=(e,t)=>i({queryKey:[`Token`,`getTokens`,e,t],queryFn:()=>c(e,t)});e.useTokens=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getTokensInfiniteQueryOptions=(e,t)=>a({queryKey:[`Token`,`getTokens`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useTokensInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/token/reorder`,data:{ids:e}})}e.reorder=d,e.useReorderMutation=()=>o({mutationFn:e=>d(e.ids)});async function f(e){return Q({method:`POST`,url:`/api/token/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Hu||={});var Uu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/setting/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getSetting=t;let n=e.getSettingQueryOptions=(e,n)=>i({queryKey:[`Setting`,`getSetting`,e,n],queryFn:()=>t(e,n)});e.useSetting=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/setting/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getSettings=c;let l=e.getSettingsQueryOptions=(e,t)=>i({queryKey:[`Setting`,`getSettings`,e,t],queryFn:()=>c(e,t)});e.useSettings=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getSettingsInfiniteQueryOptions=(e,t)=>a({queryKey:[`Setting`,`getSettings`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useSettingsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(){return Q({method:`GET`,url:`/api/setting/listSettings`})}e.getSettingList=d;let f=e.getSettingListQueryOptions=()=>i({queryKey:[`Setting`,`getSettingList`],queryFn:()=>d()});e.useSettingList=e=>$(r({...f(),...e}));async function p(e,t){return Q({method:`POST`,url:`/api/setting/updateSetting`,data:{key:e,value:t}})}e.updateSetting=p,e.useUpdateSettingMutation=()=>o({mutationFn:e=>p(e.key,e.value)});async function m(e){return Q({method:`POST`,url:`/api/setting/resetSetting`,data:{key:e}})}e.resetSetting=m,e.useResetSettingMutation=()=>o({mutationFn:e=>m(e.key)});async function h(){return Q({method:`POST`,url:`/api/setting/triggerExpiryReminder`})}e.triggerExpiryReminder=h,e.useTriggerExpiryReminderMutation=()=>o({mutationFn:e=>h()})})(Uu||={});var Wu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getRequestLogStep=t;let n=e.getRequestLogStepQueryOptions=(e,n)=>i({queryKey:[`RequestLogStep`,`getRequestLogStep`,e,n],queryFn:()=>t(e,n)});e.useRequestLogStep=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogSteps=c;let l=e.getRequestLogStepsQueryOptions=(e,t)=>i({queryKey:[`RequestLogStep`,`getRequestLogSteps`,e,t],queryFn:()=>c(e,t)});e.useRequestLogSteps=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogStepsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLogStep`,`getRequestLogSteps`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useRequestLogStepsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLogStep/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`POST`,url:`/api/requestLogStep/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Wu||={});var Gu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLog/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getRequestLog=t;let n=e.getRequestLogQueryOptions=(e,n)=>i({queryKey:[`RequestLog`,`getRequestLog`,e,n],queryFn:()=>t(e,n)});e.useRequestLog=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLog/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogs=c;let l=e.getRequestLogsQueryOptions=(e,t)=>i({queryKey:[`RequestLog`,`getRequestLogs`,e,t],queryFn:()=>c(e,t)});e.useRequestLogs=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLog`,`getRequestLogs`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useRequestLogsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLog/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`GET`,url:`/api/requestLog/responseTypeTs?${ju.default.stringify({id:e})}`})}e.responseTypeTs=f;let p=e.responseTypeTsQueryOptions=e=>i({queryKey:[`RequestLog`,`responseTypeTs`,e],queryFn:()=>f(e)});e.useResponseTypeTs=(e,t)=>$(r({...p(e),...t}));async function m(e){return Q({method:`GET`,url:`/api/requestLog/toolsView?${ju.default.stringify({id:e})}`})}e.toolsView=m;let h=e.toolsViewQueryOptions=e=>i({queryKey:[`RequestLog`,`toolsView`,e],queryFn:()=>m(e)});e.useToolsView=(e,t)=>$(r({...h(e),...t}));async function g(e){return Q({method:`POST`,url:`/api/requestLog/del`,data:{ids:e}})}e.del=g,e.useDelMutation=()=>o({mutationFn:e=>g(e.ids)})})(Gu||={});var Ku;(function(e){async function t(e){return Q({method:`POST`,url:`/api/qgrid/query`,data:{args:e}})}e.query=t,e.useQueryMutation=()=>o({mutationFn:e=>t(e.args)});async function n(e){return Q({method:`POST`,url:`/api/qgrid/prepareStream`,data:{args:e}})}e.prepareStream=n,e.usePrepareStreamMutation=()=>o({mutationFn:e=>n(e.args)});function a(e,t,n){return Ru(`/api/qgrid/queryStream`,e,t,n)}e.useQueryStream=a;async function s(e){return Q({method:`POST`,url:`/api/qgrid/createRun`,data:{input:e}})}e.createRun=s,e.useCreateRunMutation=()=>o({mutationFn:e=>s(e.input)});async function c(e){return Q({method:`POST`,url:`/api/qgrid/appendStep`,data:{input:e}})}e.appendStep=c,e.useAppendStepMutation=()=>o({mutationFn:e=>c(e.input)});async function l(e){return Q({method:`POST`,url:`/api/qgrid/finishRun`,data:{input:e}})}e.finishRun=l,e.useFinishRunMutation=()=>o({mutationFn:e=>l(e.input)});async function u(){return Q({method:`GET`,url:`/api/qgrid/stats`})}e.stats=u;let d=e.statsQueryOptions=()=>i({queryKey:[`Qgrid`,`stats`],queryFn:()=>u()});e.useStats=e=>$(r({...d(),...e}));async function f(e){return Q({method:`GET`,url:`/api/qgrid/totalCost?${ju.default.stringify({params:e})}`})}e.totalCost=f;let p=e.totalCostQueryOptions=e=>i({queryKey:[`Qgrid`,`totalCost`,e],queryFn:()=>f(e)});e.useTotalCost=(e,t)=>$(r({...p(e),...t}));async function m(){return Q({method:`GET`,url:`/api/qgrid/projectNames`})}e.projectNames=m;let h=e.projectNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`projectNames`],queryFn:()=>m()});e.useProjectNames=e=>$(r({...h(),...e}));async function g(){return Q({method:`GET`,url:`/api/qgrid/modelNames`})}e.modelNames=g;let _=e.modelNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`modelNames`],queryFn:()=>g()});e.useModelNames=e=>$(r({..._(),...e}));async function v(e,t,n){return Q({method:`POST`,url:`/api/qgrid/addToken`,data:{provider:e,credentials:t,name:n}})}e.addToken=v,e.useAddTokenMutation=()=>o({mutationFn:e=>v(e.provider,e.credentials,e.name)});async function y(e,t,n,r,i){return Q({method:`POST`,url:`/api/qgrid/updateToken`,data:{id:e,name:t,quotaThreshold:n,weight:r,keepaliveEnabled:i}})}e.updateToken=y;async function b(e){return Q({method:`POST`,url:`/api/qgrid/removeToken`,data:{id:e}})}e.removeToken=b,e.useRemoveTokenMutation=()=>o({mutationFn:e=>b(e.id)});async function x(e){return Q({method:`POST`,url:`/api/qgrid/toggleToken`,data:{id:e}})}e.toggleToken=x,e.useToggleTokenMutation=()=>o({mutationFn:e=>x(e.id)});async function S(e){return Q({method:`POST`,url:`/api/qgrid/oauthStart`,data:{name:e}})}e.oauthStart=S,e.useOauthStartMutation=()=>o({mutationFn:e=>S(e.name)});async function C(e){return Q({method:`POST`,url:`/api/qgrid/oauthComplete`,data:{pastedCode:e}})}e.oauthComplete=C,e.useOauthCompleteMutation=()=>o({mutationFn:e=>C(e.pastedCode)});async function w(e){return Q({method:`POST`,url:`/api/qgrid/oauthStartOpenAI`,data:{name:e}})}e.oauthStartOpenAI=w,e.useOauthStartOpenAIMutation=()=>o({mutationFn:e=>w(e.name)});async function ee(e){return Q({method:`GET`,url:`/api/qgrid/usage?${ju.default.stringify({tokenId:e})}`})}e.usage=ee;let T=e.usageQueryOptions=e=>i({queryKey:[`Qgrid`,`usage`,e],queryFn:()=>ee(e)});e.useUsage=(e,t)=>$(r({...T(e),...t}));async function te(){return Q({method:`GET`,url:`/api/qgrid/health`})}e.health=te;let E=e.healthQueryOptions=()=>i({queryKey:[`Qgrid`,`health`],queryFn:()=>te()});e.useHealth=e=>$(r({...E(),...e}))})(Ku||={});var qu;(function(e){async function t(e){return Q({method:`GET`,url:`/api/monit/monitLogs?${ju.default.stringify({cursor:e})}`})}e.monitLogs=t;let n=e.monitLogsQueryOptions=e=>i({queryKey:[`Monit`,`monitLogs`,e],queryFn:()=>t(e)});e.useMonitLogs=(e,t)=>$(r({...n(e),...t}));async function a(){return Q({method:`GET`,url:`/api/monit/monitInfo`})}e.monitInfo=a;let o=e.monitInfoQueryOptions=()=>i({queryKey:[`Monit`,`monitInfo`],queryFn:()=>a()});e.useMonitInfo=e=>$(r({...o(),...e}));async function s(){return Q({method:`GET`,url:`/api/monit/monitStats`})}e.monitStats=s;let c=e.monitStatsQueryOptions=()=>i({queryKey:[`Monit`,`monitStats`],queryFn:()=>s()});e.useMonitStats=e=>$(r({...c(),...e}))})(qu||={}),Gu.useRequestLogs,Gu.useRequestLogsInfinite,Wu.useRequestLogSteps,Wu.useRequestLogStepsInfinite,Uu.useSettings,Uu.useSettingsInfinite,Hu.useTokens,Hu.useTokensInfinite;export{ol as C,Vl as S,Nl as T,jl as _,Uu as a,kl as b,Nu as c,Lu as d,Au as f,zl as g,ql as h,Wu as i,Q as l,Cu as m,Ku as n,Hu as o,xu as p,Gu as r,Iu as s,qu as t,Fu as u,hu as v,Ul as w,Dl as x,Ll as y};
|
|
51
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function fc(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:mc(t,`input`,e.processors),output:mc(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Y(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return Y(r.element,n);if(r.type===`set`)return Y(r.valueType,n);if(r.type===`lazy`)return Y(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return Y(r.innerType,n);if(r.type===`intersection`)return Y(r.left,n)||Y(r.right,n);if(r.type===`record`||r.type===`map`)return Y(r.keyType,n)||Y(r.valueType,n);if(r.type===`pipe`)return Y(r.in,n)||Y(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Y(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Y(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Y(e,n))return!0;return!!(r.rest&&Y(r.rest,n))}return!1}var pc=(e,t={})=>n=>{let r=uc({...n,processors:t});return J(e,r),dc(r,e),fc(r,e)},mc=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=uc({...i??{},target:a,io:t,processors:n});return J(e,o),dc(o,e),fc(o,e)},hc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},gc=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=hc[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},_c=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},vc=(e,t,n,r)=>{n.type=`boolean`},yc=(e,t,n,r)=>{n.not={}},bc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Date cannot be represented in JSON Schema`)},xc=(e,t,n,r)=>{let i=e._zod.def,a=$r(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Sc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},Cc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},wc=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=J(a.element,t,{...r,path:[...r.path,`items`]})},Tc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=J(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=J(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Ec=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>J(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Dc=(e,t,n,r)=>{let i=e._zod.def,a=J(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=J(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Oc=(e,t,n,r)=>{let i=e._zod.def,a=J(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},kc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ac=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},jc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Mc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Nc=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;J(a,t,r);let o=t.seen.get(e);o.ref=a},Pc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Fc=(e,t,n,r)=>{let i=e._zod.def;J(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ic=H(`ZodISODateTime`,(e,t)=>{io.init(e,t),Z.init(e,t)});function Lc(e){return ks(Ic,e)}var Rc=H(`ZodISODate`,(e,t)=>{ao.init(e,t),Z.init(e,t)});function zc(e){return As(Rc,e)}var Bc=H(`ZodISOTime`,(e,t)=>{oo.init(e,t),Z.init(e,t)});function Vc(e){return js(Bc,e)}var Hc=H(`ZodISODuration`,(e,t)=>{so.init(e,t),Z.init(e,t)});function Uc(e){return Ms(Hc,e)}var Wc=(e,t)=>{Pi.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>Li(e,t)},flatten:{value:t=>Ii(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ei,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ei,2)}},isEmpty:{get(){return e.issues.length===0}}})};H(`ZodError`,Wc);var Gc=H(`ZodError`,Wc,{Parent:Error}),Kc=Ri(Gc),qc=zi(Gc),Jc=Bi(Gc),Yc=Hi(Gc),Xc=Wi(Gc),Zc=Gi(Gc),Qc=Ki(Gc),$c=qi(Gc),el=Ji(Gc),tl=Yi(Gc),nl=Xi(Gc),rl=Zi(Gc),X=H(`ZodType`,(e,t)=>(K.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:mc(e,`input`),output:mc(e,`output`)}}),e.toJSONSchema=pc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(si(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>_i(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Kc(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Jc(e,t,n),e.parseAsync=async(t,n)=>qc(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Yc(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Xc(e,t,n),e.decode=(t,n)=>Zc(e,t,n),e.encodeAsync=async(t,n)=>Qc(e,t,n),e.decodeAsync=async(t,n)=>$c(e,t,n),e.safeEncode=(t,n)=>el(e,t,n),e.safeDecode=(t,n)=>tl(e,t,n),e.safeEncodeAsync=async(t,n)=>nl(e,t,n),e.safeDecodeAsync=async(t,n)=>rl(e,t,n),e.refine=(t,n)=>e.check(gu(t,n)),e.superRefine=t=>e.check(_u(t)),e.overwrite=t=>e.check($s(t)),e.optional=()=>Zl(e),e.exactOptional=()=>$l(e),e.nullable=()=>tu(e),e.nullish=()=>Zl(tu(e)),e.nonoptional=t=>su(e,t),e.array=()=>zl(e),e.or=t=>Ul([e,t]),e.and=t=>Gl(e,t),e.transform=t=>du(e,Yl(t)),e.default=t=>ru(e,t),e.prefault=t=>au(e,t),e.catch=t=>lu(e,t),e.pipe=t=>du(e,t),e.readonly=()=>pu(e),e.describe=t=>{let n=e.clone();return as.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return as.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return as.get(e);let n=e.clone();return as.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),il=H(`_ZodString`,(e,t)=>{Ka.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gc(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(qs(...t)),e.includes=(...t)=>e.check(Xs(...t)),e.startsWith=(...t)=>e.check(Zs(...t)),e.endsWith=(...t)=>e.check(Qs(...t)),e.min=(...t)=>e.check(Gs(...t)),e.max=(...t)=>e.check(Ws(...t)),e.length=(...t)=>e.check(Ks(...t)),e.nonempty=(...t)=>e.check(Gs(1,...t)),e.lowercase=t=>e.check(Js(t)),e.uppercase=t=>e.check(Ys(t)),e.trim=()=>e.check(tc()),e.normalize=(...t)=>e.check(ec(...t)),e.toLowerCase=()=>e.check(nc()),e.toUpperCase=()=>e.check(rc()),e.slugify=()=>e.check(ic())}),al=H(`ZodString`,(e,t)=>{Ka.init(e,t),il.init(e,t),e.email=t=>e.check(ss(sl,t)),e.url=t=>e.check(ps(ul,t)),e.jwt=t=>e.check(Os(Tl,t)),e.emoji=t=>e.check(ms(dl,t)),e.guid=t=>e.check(cs(cl,t)),e.uuid=t=>e.check(ls(ll,t)),e.uuidv4=t=>e.check(us(ll,t)),e.uuidv6=t=>e.check(ds(ll,t)),e.uuidv7=t=>e.check(fs(ll,t)),e.nanoid=t=>e.check(hs(fl,t)),e.guid=t=>e.check(cs(cl,t)),e.cuid=t=>e.check(gs(pl,t)),e.cuid2=t=>e.check(_s(ml,t)),e.ulid=t=>e.check(vs(hl,t)),e.base64=t=>e.check(Ts(Sl,t)),e.base64url=t=>e.check(Es(Cl,t)),e.xid=t=>e.check(ys(gl,t)),e.ksuid=t=>e.check(bs(_l,t)),e.ipv4=t=>e.check(xs(vl,t)),e.ipv6=t=>e.check(Ss(yl,t)),e.cidrv4=t=>e.check(Cs(bl,t)),e.cidrv6=t=>e.check(ws(xl,t)),e.e164=t=>e.check(Ds(wl,t)),e.datetime=t=>e.check(Lc(t)),e.date=t=>e.check(zc(t)),e.time=t=>e.check(Vc(t)),e.duration=t=>e.check(Uc(t))});function ol(e){return os(al,e)}var Z=H(`ZodStringFormat`,(e,t)=>{q.init(e,t),il.init(e,t)}),sl=H(`ZodEmail`,(e,t)=>{Ya.init(e,t),Z.init(e,t)}),cl=H(`ZodGUID`,(e,t)=>{qa.init(e,t),Z.init(e,t)}),ll=H(`ZodUUID`,(e,t)=>{Ja.init(e,t),Z.init(e,t)}),ul=H(`ZodURL`,(e,t)=>{Xa.init(e,t),Z.init(e,t)}),dl=H(`ZodEmoji`,(e,t)=>{Za.init(e,t),Z.init(e,t)}),fl=H(`ZodNanoID`,(e,t)=>{Qa.init(e,t),Z.init(e,t)}),pl=H(`ZodCUID`,(e,t)=>{$a.init(e,t),Z.init(e,t)}),ml=H(`ZodCUID2`,(e,t)=>{eo.init(e,t),Z.init(e,t)}),hl=H(`ZodULID`,(e,t)=>{to.init(e,t),Z.init(e,t)}),gl=H(`ZodXID`,(e,t)=>{no.init(e,t),Z.init(e,t)}),_l=H(`ZodKSUID`,(e,t)=>{ro.init(e,t),Z.init(e,t)}),vl=H(`ZodIPv4`,(e,t)=>{co.init(e,t),Z.init(e,t)}),yl=H(`ZodIPv6`,(e,t)=>{lo.init(e,t),Z.init(e,t)}),bl=H(`ZodCIDRv4`,(e,t)=>{uo.init(e,t),Z.init(e,t)}),xl=H(`ZodCIDRv6`,(e,t)=>{fo.init(e,t),Z.init(e,t)}),Sl=H(`ZodBase64`,(e,t)=>{mo.init(e,t),Z.init(e,t)}),Cl=H(`ZodBase64URL`,(e,t)=>{go.init(e,t),Z.init(e,t)}),wl=H(`ZodE164`,(e,t)=>{_o.init(e,t),Z.init(e,t)}),Tl=H(`ZodJWT`,(e,t)=>{yo.init(e,t),Z.init(e,t)}),El=H(`ZodNumber`,(e,t)=>{bo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_c(e,t,n,r),e.gt=(t,n)=>e.check(Vs(t,n)),e.gte=(t,n)=>e.check(Hs(t,n)),e.min=(t,n)=>e.check(Hs(t,n)),e.lt=(t,n)=>e.check(zs(t,n)),e.lte=(t,n)=>e.check(Bs(t,n)),e.max=(t,n)=>e.check(Bs(t,n)),e.int=t=>e.check(kl(t)),e.safe=t=>e.check(kl(t)),e.positive=t=>e.check(Vs(0,t)),e.nonnegative=t=>e.check(Hs(0,t)),e.negative=t=>e.check(zs(0,t)),e.nonpositive=t=>e.check(Bs(0,t)),e.multipleOf=(t,n)=>e.check(Us(t,n)),e.step=(t,n)=>e.check(Us(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function Dl(e){return Ns(El,e)}var Ol=H(`ZodNumberFormat`,(e,t)=>{xo.init(e,t),El.init(e,t)});function kl(e){return Ps(Ol,e)}var Al=H(`ZodBoolean`,(e,t)=>{So.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vc(e,t,n,r)});function jl(e){return Fs(Al,e)}var Ml=H(`ZodUnknown`,(e,t)=>{Co.init(e,t),X.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Nl(){return Is(Ml)}var Pl=H(`ZodNever`,(e,t)=>{wo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yc(e,t,n,r)});function Fl(e){return Ls(Pl,e)}var Il=H(`ZodDate`,(e,t)=>{To.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bc(e,t,n,r),e.min=(t,n)=>e.check(Hs(t,n)),e.max=(t,n)=>e.check(Bs(t,n));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function Ll(e){return Rs(Il,e)}var Rl=H(`ZodArray`,(e,t)=>{Do.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wc(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Gs(t,n)),e.nonempty=t=>e.check(Gs(1,t)),e.max=(t,n)=>e.check(Ws(t,n)),e.length=(t,n)=>e.check(Ks(t,n)),e.unwrap=()=>e.element});function zl(e,t){return ac(Rl,e,t)}var Bl=H(`ZodObject`,(e,t)=>{Mo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Tc(e,t,n,r),U(e,`shape`,()=>t.shape),e.keyof=()=>ql(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Nl()}),e.loose=()=>e.clone({...e._zod.def,catchall:Nl()}),e.strict=()=>e.clone({...e._zod.def,catchall:Fl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>Si(e,t),e.safeExtend=t=>Ci(e,t),e.merge=t=>wi(e,t),e.pick=t=>bi(e,t),e.omit=t=>xi(e,t),e.partial=(...t)=>Ti(Xl,e,t[0]),e.required=(...t)=>Ei(ou,e,t[0])});function Vl(e,t){return new Bl({type:`object`,shape:e??{},...W(t)})}var Hl=H(`ZodUnion`,(e,t)=>{Po.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ec(e,t,n,r),e.options=t.options});function Ul(e,t){return new Hl({type:`union`,options:e,...W(t)})}var Wl=H(`ZodIntersection`,(e,t)=>{Fo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dc(e,t,n,r)});function Gl(e,t){return new Wl({type:`intersection`,left:e,right:t})}var Kl=H(`ZodEnum`,(e,t)=>{Ro.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xc(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Kl({...t,checks:[],...W(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Kl({...t,checks:[],...W(r),entries:i})}});function ql(e,t){return new Kl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...W(t)})}var Jl=H(`ZodTransform`,(e,t)=>{zo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Xr(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Mi(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(Mi(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Yl(e){return new Jl({type:`transform`,transform:e})}var Xl=H(`ZodOptional`,(e,t)=>{Vo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zl(e){return new Xl({type:`optional`,innerType:e})}var Ql=H(`ZodExactOptional`,(e,t)=>{Ho.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $l(e){return new Ql({type:`optional`,innerType:e})}var eu=H(`ZodNullable`,(e,t)=>{Uo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tu(e){return new eu({type:`nullable`,innerType:e})}var nu=H(`ZodDefault`,(e,t)=>{Wo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ac(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function ru(e,t){return new nu({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():mi(t)}})}var iu=H(`ZodPrefault`,(e,t)=>{Ko.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function au(e,t){return new iu({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():mi(t)}})}var ou=H(`ZodNonOptional`,(e,t)=>{qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function su(e,t){return new ou({type:`nonoptional`,innerType:e,...W(t)})}var cu=H(`ZodCatch`,(e,t)=>{Yo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function lu(e,t){return new cu({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var uu=H(`ZodPipe`,(e,t)=>{Xo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nc(e,t,n,r),e.in=t.in,e.out=t.out});function du(e,t){return new uu({type:`pipe`,in:e,out:t})}var fu=H(`ZodReadonly`,(e,t)=>{Qo.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function pu(e){return new fu({type:`readonly`,innerType:e})}var mu=H(`ZodCustom`,(e,t)=>{es.init(e,t),X.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sc(e,t,n,r)});function hu(e,t){return oc(mu,e??(()=>!0),t)}function gu(e,t={}){return sc(mu,e,t)}function _u(e){return cc(e)}var vu={"common.all":`All`,"common.backToList":`Back to List`,"common.cancel":`Cancel`,"common.close":`Close`,"common.confirm":`Confirm`,"common.create":`Create`,"common.createdAt":`Created At`,"common.delete":`Delete`,"common.edit":`Edit`,"common.login":`Login`,"common.logout":`Logout`,"common.manage":`Manage`,"common.results":e=>zu(e,{one:`${e} result`,other:`${e} results`}),"common.save":`Save`,"common.search":`Search`,"common.searchPlaceholder":`Search...`,"common.searchType":`Search Type`,"common.sort":`Sort`,"confirm.delete":`Are you sure you want to delete?`,"confirm.save":`Do you want to save?`,"dashboard.adminMenu":`Admin Menu`,"dashboard.createdAt":`Joined`,"dashboard.email":`Email`,"dashboard.loginRequired":`Please login to continue.`,"dashboard.name":`Name`,"dashboard.role":`Role`,"dashboard.title":`Admin Dashboard`,"dashboard.welcome":`Welcome!`,"delete.confirm.description":`This action cannot be undone. This will permanently delete this item.`,"delete.confirm.title":`Are you sure?`,"entity.create":e=>`Create ${e}`,"entity.edit":(e,t)=>`Edit ${e} (#${t})`,"entity.list":e=>`${e} List`,"entity.listManage":e=>`Manage ${e} List`,"error.alreadyProcessed":`Already processed`,"error.badRequest":`Bad request`,"error.duplicateRow":`Duplicate data`,"error.forbidden":`Forbidden`,"error.internalServerError":`Internal server error`,"error.notFound":`Not found`,"error.serviceUnavailable":`Service unavailable`,"setting.invalidValue":e=>`Invalid setting value: ${e}`,"setting.unknownKey":e=>`Unknown setting key ${e}`,"qgrid.dispatcherFailed":e=>`${e} dispatcher failed to initialize`,"qgrid.dispatcherStarting":e=>`${e} dispatcher is starting up. Please retry shortly`,"error.unauthorized":`Unauthorized`,notFound:(e,t)=>`${e} ID ${t} not found`,"validation.email":`Invalid email format`,"validation.maxLength":(e,t)=>`${e} must be at most ${t} characters`,"validation.minLength":(e,t)=>`${e} must be at least ${t} characters`,"validation.required":e=>`${e} is required`,"validation.url":`Invalid URL format`},yu={"common.all":`전체`,"common.backToList":`목록으로`,"common.cancel":`취소`,"common.close":`닫기`,"common.confirm":`확인`,"common.create":`생성`,"common.createdAt":`등록`,"common.delete":`삭제`,"common.edit":`수정`,"common.login":`로그인`,"common.logout":`로그아웃`,"common.manage":`관리`,"common.results":e=>`${e}개 결과`,"common.save":`저장`,"common.search":`검색`,"common.searchPlaceholder":`검색...`,"common.searchType":`검색 유형`,"common.sort":`정렬`,"confirm.delete":`정말 삭제하시겠습니까?`,"confirm.save":`저장하시겠습니까?`,"dashboard.adminMenu":`관리 메뉴`,"dashboard.createdAt":`가입일`,"dashboard.email":`이메일`,"dashboard.loginRequired":`로그인이 필요합니다.`,"dashboard.name":`이름`,"dashboard.role":`역할`,"dashboard.title":`관리자 대시보드`,"dashboard.welcome":`환영합니다!`,"delete.confirm.description":`이 작업은 취소할 수 없습니다. 항목이 영구적으로 삭제됩니다.`,"delete.confirm.title":`정말 삭제하시겠습니까?`,"entity.create":e=>`${e} 생성`,"entity.edit":(e,t)=>`${e} 수정 (#${t})`,"entity.list":e=>`${e} 목록`,"entity.listManage":e=>`${e} 목록 관리`,"error.alreadyProcessed":`이미 처리되었습니다`,"error.badRequest":`잘못된 요청입니다`,"error.duplicateRow":`중복된 데이터입니다`,"error.entityNotFound":(e,t)=>`존재하지 않는 ${e} ID ${t}`,"error.forbidden":`권한이 없습니다`,"error.internalServerError":`서버 오류가 발생했습니다`,"error.notFound":`찾을 수 없습니다`,"error.serviceUnavailable":`서비스를 사용할 수 없습니다`,"setting.invalidValue":e=>`설정 값이 올바르지 않습니다: ${e}`,"setting.unknownKey":e=>`알 수 없는 설정 키 ${e}`,"qgrid.dispatcherFailed":e=>`${e} dispatcher 초기화에 실패했습니다`,"qgrid.dispatcherStarting":e=>`${e} dispatcher 기동 중입니다. 잠시 후 다시 시도해주세요`,"error.unauthorized":`인증이 필요합니다`,"error.unknownSearchField":e=>`구현되지 않은 검색 필드 ${e}`,notFound:(e,t)=>`존재하지 않는 ${e} ID ${t}`,"validation.email":`올바른 이메일 형식이 아닙니다`,"validation.maxLength":(e,t)=>`${e}${Bu(e,`은는`)} 최대 ${t}자까지 입력할 수 있습니다`,"validation.minLength":(e,t)=>`${e}${Bu(e,`은는`)} 최소 ${t}자 이상이어야 합니다`,"validation.required":e=>`${Bu(e,`은는`)} 필수입니다`,"validation.url":`올바른 URL 형식이 아닙니다`},bu=`ko`,xu=[`ko`,`en`],Su=bu;function Cu(e){Su=e}function wu(){return Su}var Tu={"rc.asyncSelect.loading":`로딩 중...`,"rc.asyncSelect.noOptions":`옵션이 없습니다`,"rc.asyncSelect.noResults":`검색 결과가 없습니다`,"rc.asyncSelect.selectPlaceholder":`선택하세요...`,"rc.combobox.noResults":`검색 결과가 없습니다`,"rc.combobox.selectPlaceholder":`선택하세요...`,"rc.datePicker.pickDate":`날짜 선택`,"rc.datePicker.placeholder":`날짜 선택`,"rc.datePicker.selectDate":`날짜 선택`,"rc.dateSelectorMultiple.addDate":`날짜 추가`,"rc.dateSelectorMultiple.dateRange":`기간`,"rc.dateSelectorMultiple.placeholder":`날짜 선택`,"rc.dateSelectorMultiple.singleDate":`단일`,"rc.fileInput.browseFiles":`파일 찾기`,"rc.fileInput.dropZone":`파일을 드래그하거나 클릭하여 업로드`,"rc.fileInput.filePlaceholder":`파일`,"rc.fileInput.imagePlaceholder":`이미지`,"rc.fileInput.maxFilesExceeded":e=>`최대 ${e}개 파일만 업로드 가능합니다`,"rc.fileInput.pending":`대기 중`,"rc.fileInput.remove":`제거`,"rc.fileInput.uploadFailed":`업로드 실패`,"rc.fileInput.uploading":`업로드 중...`,"rc.monthPickerMultiple.addMonth":`월 추가`,"rc.monthPickerMultiple.dateRange":`기간`,"rc.monthPickerMultiple.endDate":`종료일`,"rc.monthPickerMultiple.placeholder":`월 선택`,"rc.monthPickerMultiple.singleDate":`단일`,"rc.monthPickerMultiple.startDate":`시작일`,"rc.multiSelect.clear":`전체 해제`,"rc.multiSelect.close":`닫기`,"rc.multiSelect.moreItems":e=>`+${e}개 더보기`,"rc.multiSelect.noOptions":`옵션이 없습니다`,"rc.multiSelect.noOptionsSelected":`선택된 옵션이 없습니다`,"rc.multiSelect.noResults":`검색 결과가 없습니다`,"rc.multiSelect.optionsCount":e=>`${e}개 옵션`,"rc.multiSelect.selectAll":`전체 선택`,"rc.multiSelect.selectPlaceholder":`선택하세요...`,"rc.pagination.next":`다음`,"rc.pagination.previous":`이전`,"rc.pagination.showing":(e,t,n)=>`${n}개 중 ${e}-${t}`,"rc.calendar.month.0":`1월`,"rc.calendar.month.1":`2월`,"rc.calendar.month.2":`3월`,"rc.calendar.month.3":`4월`,"rc.calendar.month.4":`5월`,"rc.calendar.month.5":`6월`,"rc.calendar.month.6":`7월`,"rc.calendar.month.7":`8월`,"rc.calendar.month.8":`9월`,"rc.calendar.month.9":`10월`,"rc.calendar.month.10":`11월`,"rc.calendar.month.11":`12월`,"rc.sonamuFilter.title":`소나무 필터`,"rc.sonamuFilter.apply":`적용`,"rc.sonamuFilter.reset":`초기화`,"rc.sonamuFilter.addRule":`규칙 추가`,"rc.sonamuFilter.noRulesYet":`아직 규칙이 없습니다. "+ 규칙 추가"를 클릭하여 시작하세요.`,"rc.sonamuFilter.selectField":`필드 선택`,"rc.sonamuFilter.selectOperator":`연산자 선택`,"rc.sonamuFilter.selectOperatorFirst":`먼저 연산자를 선택하세요`,"rc.sonamuFilter.enterValue":`값 입력`,"rc.sonamuFilter.enterNumber":`숫자 입력`,"rc.sonamuFilter.notSupported":`지원하지 않음`,"rc.sonamuFilter.startDate":`시작일`,"rc.sonamuFilter.endDate":`종료일`,"rc.sonamuFilter.appliedFilters":`🌲 적용된 소나무 필터`,"rc.common.cancel":`취소`,"rc.common.save":`저장`},Eu={"rc.asyncSelect.loading":`Loading...`,"rc.asyncSelect.noOptions":`No options`,"rc.asyncSelect.noResults":`No results`,"rc.asyncSelect.selectPlaceholder":`Select...`,"rc.combobox.noResults":`No results`,"rc.combobox.selectPlaceholder":`Select...`,"rc.datePicker.pickDate":`Pick date`,"rc.datePicker.placeholder":`Pick date`,"rc.datePicker.selectDate":`Select date`,"rc.dateSelectorMultiple.addDate":`Add date`,"rc.dateSelectorMultiple.dateRange":`Range`,"rc.dateSelectorMultiple.placeholder":`Pick date`,"rc.dateSelectorMultiple.singleDate":`Single`,"rc.fileInput.browseFiles":`Browse files`,"rc.fileInput.dropZone":`Drag files here or click to upload`,"rc.fileInput.filePlaceholder":`File`,"rc.fileInput.imagePlaceholder":`Image`,"rc.fileInput.maxFilesExceeded":e=>`Maximum ${e} files allowed`,"rc.fileInput.pending":`Pending`,"rc.fileInput.remove":`Remove`,"rc.fileInput.uploadFailed":`Upload failed`,"rc.fileInput.uploading":`Uploading...`,"rc.monthPickerMultiple.addMonth":`Add month`,"rc.monthPickerMultiple.dateRange":`Range`,"rc.monthPickerMultiple.endDate":`End date`,"rc.monthPickerMultiple.placeholder":`Pick month`,"rc.monthPickerMultiple.singleDate":`Single`,"rc.monthPickerMultiple.startDate":`Start date`,"rc.multiSelect.clear":`Clear all`,"rc.multiSelect.close":`Close`,"rc.multiSelect.moreItems":e=>`+${e} more`,"rc.multiSelect.noOptions":`No options`,"rc.multiSelect.noOptionsSelected":`No options selected`,"rc.multiSelect.noResults":`No results`,"rc.multiSelect.optionsCount":e=>`${e} options`,"rc.multiSelect.selectAll":`Select all`,"rc.multiSelect.selectPlaceholder":`Select...`,"rc.pagination.next":`Next`,"rc.pagination.previous":`Previous`,"rc.pagination.showing":(e,t,n)=>`Showing ${e}-${t} of ${n}`,"rc.calendar.month.0":`January`,"rc.calendar.month.1":`February`,"rc.calendar.month.2":`March`,"rc.calendar.month.3":`April`,"rc.calendar.month.4":`May`,"rc.calendar.month.5":`June`,"rc.calendar.month.6":`July`,"rc.calendar.month.7":`August`,"rc.calendar.month.8":`September`,"rc.calendar.month.9":`October`,"rc.calendar.month.10":`November`,"rc.calendar.month.11":`December`,"rc.sonamuFilter.title":`Sonamu Filter`,"rc.sonamuFilter.apply":`Apply`,"rc.sonamuFilter.reset":`Reset`,"rc.sonamuFilter.addRule":`Add Rule`,"rc.sonamuFilter.noRulesYet":`No rules yet. Click "+ Add Rule" to start.`,"rc.sonamuFilter.selectField":`Select field`,"rc.sonamuFilter.selectOperator":`Operator`,"rc.sonamuFilter.selectOperatorFirst":`Select operator first`,"rc.sonamuFilter.enterValue":`Enter value`,"rc.sonamuFilter.enterNumber":`Enter number`,"rc.sonamuFilter.notSupported":`Not supported`,"rc.sonamuFilter.startDate":`Start date`,"rc.sonamuFilter.endDate":`End date`,"rc.sonamuFilter.appliedFilters":`🌲 Applied SonamuFilters`,"rc.common.cancel":`Cancel`,"rc.common.save":`Save`},Du={"entity.RequestLog":`RequestLog`,"entity.RequestLog.id":`ID`,"entity.RequestLog.created_at":`등록일시`,"entity.RequestLog.token_name":`토큰 이름`,"entity.RequestLog.project_name":`프로젝트 이름`,"entity.RequestLog.model_name":`모델 이름`,"entity.RequestLog.requested_model_name":`요청 모델 이름 (fallback 전)`,"entity.RequestLog.fallback_count":`모델 fallback 횟수`,"entity.RequestLog.user_prompt":`사용자 프롬프트`,"entity.RequestLog.system_prompt":`시스템 프롬프트`,"entity.RequestLog.response":`llm 응답 전문`,"entity.RequestLog.input_tokens":`입력 토큰`,"entity.RequestLog.output_tokens":`출력 토큰`,"entity.RequestLog.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLog.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLog.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLog.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLog.duration_ms":`응답 소요시간(ms)`,"entity.RequestLog.ttft_ms":`first gen TTFT(ms)`,"entity.RequestLog.cost_usd":`API 비용`,"entity.RequestLog.cost_source":`비용 출처(provider/pricing_table/mixed)`,"entity.RequestLog.image_cost_usd":`이미지 생성 비용`,"entity.RequestLog.image_cost_method":`이미지 비용 계산 방식`,"entity.RequestLog.service_tier":`Requested OpenAI service tier`,"entity.RequestLog.effort":`effort level`,"entity.RequestLog.history":`inject_items 히스토리`,"entity.RequestLog.input_images":`현재 user turn 입력 이미지`,"entity.RequestLog.tools":`요청에 장착된 tool 정의 목록`,"entity.RequestLog.json_schema":`structured output 요청의 JSON Schema 원문 (detail 의 response 타입 표시용)`,"entity.RequestLog.status":`실행 상태`,"entity.RequestLog.error_message":`에러 메시지`,"entity.RequestLog.response_json_ok":`structured(jsonSchema) 요청의 응답 JSON 파싱 성공 여부. 비structured 요청은 null`,"entity.RequestLog.tool_call_count":`tool call 횟수`,"entity.RequestLog.is_image_generation":`이미지 생성 turn 여부 (quota 귀속용)`,"entity.RequestLog.is_structured":`structured output(jsonSchema) 요청 여부 (목록 구분 표시용)`,"enum.RequestLogOrderBy.id-desc":`ID최신순`,"enum.RequestLogOrderBy.id-asc":`ID오래된순`,"enum.RequestLogOrderBy.created_at-desc":`등록일시최신순`,"enum.RequestLogOrderBy.created_at-asc":`등록일시오래된순`,"enum.RequestLogOrderBy.ttft_ms-desc":`TTFT긴순`,"enum.RequestLogOrderBy.ttft_ms-asc":`TTFT짧은순`,"enum.RequestLogOrderBy.duration_ms-desc":`소요시간긴순`,"enum.RequestLogOrderBy.duration_ms-asc":`소요시간짧은순`,"enum.RequestLogOrderBy.input_tokens-desc":`입력토큰많은순`,"enum.RequestLogOrderBy.input_tokens-asc":`입력토큰적은순`,"enum.RequestLogOrderBy.output_tokens-desc":`출력토큰많은순`,"enum.RequestLogOrderBy.output_tokens-asc":`출력토큰적은순`,"enum.RequestLogOrderBy.cache_read_tokens-desc":`캐시읽기많은순`,"enum.RequestLogOrderBy.cache_read_tokens-asc":`캐시읽기적은순`,"enum.RequestLogOrderBy.cache_creation_tokens-desc":`캐시생성많은순`,"enum.RequestLogOrderBy.cache_creation_tokens-asc":`캐시생성적은순`,"enum.RequestLogOrderBy.cost_usd-desc":`비용높은순`,"enum.RequestLogOrderBy.cost_usd-asc":`비용낮은순`,"enum.RequestLogSearchField.id":`ID`,"enum.RequestLogSearchField.token_name":`토큰이름`,"enum.RequestLogSearchField.user_prompt":`사용자 프롬프트`,"enum.RequestLogStatus.running":`실행 중`,"enum.RequestLogStatus.succeeded":`성공`,"enum.RequestLogStatus.error":`에러`,"enum.RequestLogStatus.aborted":`중단`,"entity.RequestLogStep":`RequestLogStep`,"entity.RequestLogStep.id":`ID`,"entity.RequestLogStep.created_at":`등록일시`,"entity.RequestLogStep.request_log":`부모 request log ID`,"entity.RequestLogStep.step_index":`ai-sdk step number (0-based)`,"entity.RequestLogStep.type":`step 타입`,"entity.RequestLogStep.model_name":`실제 serving 모델`,"entity.RequestLogStep.requested_model_name":`요청 모델 (fallback 전)`,"entity.RequestLogStep.fallback_count":`모델 fallback 횟수`,"entity.RequestLogStep.input_tokens":`입력 토큰 (generate)`,"entity.RequestLogStep.output_tokens":`출력 토큰 (generate)`,"entity.RequestLogStep.cache_read_tokens":`캐시 읽기 토큰`,"entity.RequestLogStep.cache_creation_tokens":`캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_5m_tokens":`5분 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cache_creation_1h_tokens":`1시간 TTL 캐시 생성 토큰`,"entity.RequestLogStep.cost_usd":`step 비용 (micro-USD)`,"entity.RequestLogStep.cost_source":`비용 출처(provider/pricing_table)`,"entity.RequestLogStep.duration_ms":`소요시간(ms)`,"entity.RequestLogStep.ttft_ms":`Gen TTFT(ms)`,"entity.RequestLogStep.finish_reason":`완료 사유`,"entity.RequestLogStep.reasoning_text":`reasoning 텍스트`,"entity.RequestLogStep.reasoning_tokens":`reasoning 토큰 수`,"entity.RequestLogStep.tool_call_index":`같은 step 내 tool call 순서`,"entity.RequestLogStep.tool_call_id":`tool call ID`,"entity.RequestLogStep.tool_name":`tool 이름`,"entity.RequestLogStep.tool_args":`tool 인자 (JSON string)`,"entity.RequestLogStep.tool_result":`tool 결과 (JSON string)`,"entity.RequestLogStep.tool_duration_ms":`tool 실행 소요시간(ms)`,"entity.RequestLogStep.error":`step 에러 메시지`,"enum.RequestLogStepType.generate":`LLM 생성`,"enum.RequestLogStepType.tool_call":`Tool 호출`,"enum.RequestLogStepOrderBy.id-asc":`ID순`,"enum.RequestLogStepSearchField.id":`ID`,"entity.Setting":`Setting`,"entity.Setting.id":`ID`,"entity.Setting.created_at":`등록일시`,"entity.Setting.key":`설정 키 (예: slack.enabled)`,"entity.Setting.value":`설정 값 (문자열 저장, 앱에서 파싱·검증)`,"entity.Setting.updated_at":`최종 수정일시`,"enum.SettingOrderBy.key-asc":`키순`,"enum.SettingSearchField.key":`키`,"entity.Token":`Token`,"entity.Token.id":`ID`,"entity.Token.created_at":`등록일시`,"entity.Token.provider":`프로바이더`,"entity.Token.credentials":`인증 정보 (JSONB)`,"entity.Token.name":`토큰 이름`,"entity.Token.active":`활성 여부`,"entity.Token.reauth_required":`인증 만료로 재로그인이 필요한지 여부`,"entity.Token.ord":`정렬 순서`,"entity.Token.quota_threshold":`quota 사용률 임계치(%). null이면 미설정`,"entity.Token.weight":`가중 라운드로빈 라우팅 가중치 (1..100)`,"entity.Token.keepalive_enabled":`Anthropic 5시간 토큰 윈도우 keepalive 사용 여부`,"enum.TokenOrderBy.id-desc":`ID최신순`,"enum.TokenOrderBy.ord-asc":`순서순`,"enum.TokenSearchField.id":`ID`,"enum.TokenSearchField.name":`이름`},Ou={ko:{...Tu,...Du,...yu},en:{...Eu,...vu}};function ku(e,t){let n=Ou[t];if(n?.[e]!==void 0)return n[e];if(t!==bu&&Ou[bu]?.[e]!==void 0)return Ou[bu][e];for(let n of xu)if(n!==t&&n!==bu&&Ou[n]?.[e]!==void 0)return Ou[n][e];return e}function Au(e){return ku(e,wu())}Au.locale=e=>t=>ku(t,e),Au.enumLabels=e=>new Proxy({},{get(t,n){if(typeof n!=`symbol`)return ku(`enum.${e}.${n}`,wu())}});var ju=t(k(),1),Mu=t(c(),1);function Nu(e,t){return typeof t==`string`&&(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(:\d{2}(\.\d{1,3})?)?(Z|[+-]\d{2}:\d{2})?$/.test(t)||/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}[+-]\d{2}:\d{2}$/.test(t))&&new Date(t).toString()!==`Invalid Date`?new Date(t):t}L.defaults.transformResponse=[e=>{if(typeof e==`string`)try{return JSON.parse(e,Nu)}catch{return e}return e}],L.interceptors.request.use(e=>(e.headers[`Accept-Language`]=wu(),e));async function Q(e){try{return(await L({...e})).data}catch(e){if(L.isAxiosError(e)&&e.response?.data){let t=e.response.data;throw new Pu(e.response.status,t.message,t.issues)}throw e}}var Pu=class extends Error{isSonamuError;constructor(e,t,n){super(t),this.code=e,this.message=t,this.issues=n,this.isSonamuError=!0}};function Fu(e){return e&&e.isSonamuError===!0}var Iu=ql([`both`,`list`,`count`]);Vl({semanticQuery:Vl({embedding:zl(Dl()).min(1024).max(1024),threshold:Dl().optional(),method:ql([`cosine`,`l2`,`inner_product`]).optional()})});function Lu(e){return Ul([e,e.array()])}ol().regex(/([0-9]{4}-[0-9]{2}-[0-9]{2}( [0-9]{2}:[0-9]{2}:[0-9]{2})*)$/,{message:`잘못된 SQLDate 타입`}).min(10).max(19).describe(`SQLDateTimeString`),Vl({name:ol(),url:ol(),mime_type:ol(),size:Dl()});function Ru(e,t,n,r={}){let{enabled:i=!0,retry:a=3,retryInterval:o=3e3}=r,[s,c]=(0,Mu.useState)({isConnected:!1,error:null,retryCount:0,isEnded:!1}),l=(0,Mu.useRef)(null),u=(0,Mu.useRef)(null),d=(0,Mu.useRef)(n);(0,Mu.useEffect)(()=>{d.current=n},[n]);let f=()=>{if(i)try{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null);let n=ju.default.stringify(t),r=new qr(n?`${e}?${n}`:e,{fetch:(e,t)=>globalThis.fetch(e,{...t,headers:{...t?.headers,"Accept-Language":wu()}})});l.current=r,c(e=>({...e,isConnected:!1,error:null,isEnded:!1})),r.onopen=()=>{c(e=>({...e,isConnected:!0,error:null,retryCount:0,isEnded:!1}))},r.onerror=e=>{l.current===r&&(r.close(),c(e=>({...e,isConnected:!1,error:`Connection failed`,isEnded:!1})),c(e=>e.retryCount<a?(u.current=setTimeout(()=>{u.current!==null&&(c(e=>({...e,retryCount:e.retryCount+1,isEnded:!1})),f())},o),e):(l.current=null,{...e,error:`Connection failed after ${a} attempts`})))},r.addEventListener(`end`,()=>{if(l.current===r&&(r.close(),l.current=null,c(e=>({...e,isConnected:!1,error:null,isEnded:!0})),d.current.end)){let e=d.current.end;e(`end`)}}),Object.keys(d.current).forEach(e=>{let t=d.current[e];t&&r.addEventListener(e,n=>{if(l.current===r){try{t(JSON.parse(n.data,Nu))}catch(t){console.error(`Failed to parse SSE data for event ${e}:`,t)}c(e=>({...e,isEnded:!1}))}})}),r.onmessage=e=>{if(l.current===r)try{let t=JSON.parse(e.data,Nu),n=d.current.message;n&&n(t)}catch(e){console.error(`Failed to parse SSE message:`,e)}}}catch(e){c(t=>({...t,error:e instanceof Error?e.message:`Unknown error`,isConnected:!1,isEnded:!1}))}};return(0,Mu.useEffect)(()=>(i&&(c({isConnected:!1,error:null,retryCount:0,isEnded:!1}),f()),()=>{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null)}),[e,JSON.stringify(t),i]),s}function zu(e,t){let n=e===0&&t.zero||e===1&&t.one||t.other;return typeof n==`function`?n(e):n??e.toString()}function Bu(e,t){let n=(()=>{let t=e.charCodeAt(e.length-1);return t<44032||t>55203?!1:(t-44032)%28!=0})();return e+{은는:n?`은`:`는`,이가:n?`이`:`가`,을를:n?`을`:`를`,과와:n?`과`:`와`,으로:n?`으로`:`로`}[t]}function Vu(e){let t=new Set,n=[];for(let r of e.pages)for(let e of r?.rows??[]){let r=e?.id;if(r!==null){if(t.has(r))continue;t.add(r)}n.push(e)}let r=e.pages[0]?.total??0;return{pages:e.pages,pageParams:e.pageParams,rows:n,total:r}}function $(e){let[t,n]=(0,Mu.useState)(!1),r=(0,Mu.useCallback)(async()=>{n(!0);try{await e.refetch()}finally{n(!1)}},[e]);return{...e,refresh:r,isRefreshing:t}}var Hu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/token/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getToken=t;let n=e.getTokenQueryOptions=(e,n)=>i({queryKey:[`Token`,`getToken`,e,n],queryFn:()=>t(e,n)});e.useToken=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/token/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getTokens=c;let l=e.getTokensQueryOptions=(e,t)=>i({queryKey:[`Token`,`getTokens`,e,t],queryFn:()=>c(e,t)});e.useTokens=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getTokensInfiniteQueryOptions=(e,t)=>a({queryKey:[`Token`,`getTokens`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useTokensInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/token/reorder`,data:{ids:e}})}e.reorder=d,e.useReorderMutation=()=>o({mutationFn:e=>d(e.ids)});async function f(e){return Q({method:`POST`,url:`/api/token/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Hu||={});var Uu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/setting/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getSetting=t;let n=e.getSettingQueryOptions=(e,n)=>i({queryKey:[`Setting`,`getSetting`,e,n],queryFn:()=>t(e,n)});e.useSetting=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/setting/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getSettings=c;let l=e.getSettingsQueryOptions=(e,t)=>i({queryKey:[`Setting`,`getSettings`,e,t],queryFn:()=>c(e,t)});e.useSettings=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getSettingsInfiniteQueryOptions=(e,t)=>a({queryKey:[`Setting`,`getSettings`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useSettingsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(){return Q({method:`GET`,url:`/api/setting/listSettings`})}e.getSettingList=d;let f=e.getSettingListQueryOptions=()=>i({queryKey:[`Setting`,`getSettingList`],queryFn:()=>d()});e.useSettingList=e=>$(r({...f(),...e}));async function p(e,t){return Q({method:`POST`,url:`/api/setting/updateSetting`,data:{key:e,value:t}})}e.updateSetting=p,e.useUpdateSettingMutation=()=>o({mutationFn:e=>p(e.key,e.value)});async function m(e){return Q({method:`POST`,url:`/api/setting/resetSetting`,data:{key:e}})}e.resetSetting=m,e.useResetSettingMutation=()=>o({mutationFn:e=>m(e.key)});async function h(){return Q({method:`POST`,url:`/api/setting/triggerExpiryReminder`})}e.triggerExpiryReminder=h,e.useTriggerExpiryReminderMutation=()=>o({mutationFn:e=>h()})})(Uu||={});var Wu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getRequestLogStep=t;let n=e.getRequestLogStepQueryOptions=(e,n)=>i({queryKey:[`RequestLogStep`,`getRequestLogStep`,e,n],queryFn:()=>t(e,n)});e.useRequestLogStep=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLogStep/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogSteps=c;let l=e.getRequestLogStepsQueryOptions=(e,t)=>i({queryKey:[`RequestLogStep`,`getRequestLogSteps`,e,t],queryFn:()=>c(e,t)});e.useRequestLogSteps=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogStepsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLogStep`,`getRequestLogSteps`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useRequestLogStepsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLogStep/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`POST`,url:`/api/requestLogStep/del`,data:{ids:e}})}e.del=f,e.useDelMutation=()=>o({mutationFn:e=>f(e.ids)})})(Wu||={});var Gu;(function(e){async function t(e,t){return Q({method:`GET`,url:`/api/requestLog/findById?${ju.default.stringify({subset:e,id:t})}`})}e.getRequestLog=t;let n=e.getRequestLogQueryOptions=(e,n)=>i({queryKey:[`RequestLog`,`getRequestLog`,e,n],queryFn:()=>t(e,n)});e.useRequestLog=(e,t,i)=>$(r({...n(e,t),...i}));async function c(e,t){return Q({method:`GET`,url:`/api/requestLog/findMany?${ju.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogs=c;let l=e.getRequestLogsQueryOptions=(e,t)=>i({queryKey:[`RequestLog`,`getRequestLogs`,e,t],queryFn:()=>c(e,t)});e.useRequestLogs=(e,t,n)=>$(r({...l(e,t),...n}));let u=e.getRequestLogsInfiniteQueryOptions=(e,t)=>a({queryKey:[`RequestLog`,`getRequestLogs`,`infinite`,e,t],queryFn:({pageParam:n})=>c(e,{...t,page:n}),initialPageParam:1,getNextPageParam:(e,t)=>{let n=e?.total??0;return t.reduce((e,t)=>e+(t?.rows?.length??0),0)<n?t.length+1:void 0},select:Vu});e.useRequestLogsInfinite=(e,t,n)=>$(s({...u(e,t),...n}));async function d(e){return Q({method:`POST`,url:`/api/requestLog/save`,data:{spa:e}})}e.save=d,e.useSaveMutation=()=>o({mutationFn:e=>d(e.spa)});async function f(e){return Q({method:`GET`,url:`/api/requestLog/responseTypeTs?${ju.default.stringify({id:e})}`})}e.responseTypeTs=f;let p=e.responseTypeTsQueryOptions=e=>i({queryKey:[`RequestLog`,`responseTypeTs`,e],queryFn:()=>f(e)});e.useResponseTypeTs=(e,t)=>$(r({...p(e),...t}));async function m(e){return Q({method:`GET`,url:`/api/requestLog/toolsView?${ju.default.stringify({id:e})}`})}e.toolsView=m;let h=e.toolsViewQueryOptions=e=>i({queryKey:[`RequestLog`,`toolsView`,e],queryFn:()=>m(e)});e.useToolsView=(e,t)=>$(r({...h(e),...t}));async function g(e){return Q({method:`POST`,url:`/api/requestLog/del`,data:{ids:e}})}e.del=g,e.useDelMutation=()=>o({mutationFn:e=>g(e.ids)})})(Gu||={});var Ku;(function(e){async function t(e){return Q({method:`POST`,url:`/api/qgrid/query`,data:{args:e}})}e.query=t,e.useQueryMutation=()=>o({mutationFn:e=>t(e.args)});async function n(e){return Q({method:`POST`,url:`/api/qgrid/prepareStream`,data:{args:e}})}e.prepareStream=n,e.usePrepareStreamMutation=()=>o({mutationFn:e=>n(e.args)});function a(e,t,n){return Ru(`/api/qgrid/queryStream`,e,t,n)}e.useQueryStream=a;async function s(e){return Q({method:`POST`,url:`/api/qgrid/createRun`,data:{input:e}})}e.createRun=s,e.useCreateRunMutation=()=>o({mutationFn:e=>s(e.input)});async function c(e){return Q({method:`POST`,url:`/api/qgrid/appendStep`,data:{input:e}})}e.appendStep=c,e.useAppendStepMutation=()=>o({mutationFn:e=>c(e.input)});async function l(e){return Q({method:`POST`,url:`/api/qgrid/finishRun`,data:{input:e}})}e.finishRun=l,e.useFinishRunMutation=()=>o({mutationFn:e=>l(e.input)});async function u(){return Q({method:`GET`,url:`/api/qgrid/stats`})}e.stats=u;let d=e.statsQueryOptions=()=>i({queryKey:[`Qgrid`,`stats`],queryFn:()=>u()});e.useStats=e=>$(r({...d(),...e}));async function f(e){return Q({method:`GET`,url:`/api/qgrid/totalCost?${ju.default.stringify({params:e})}`})}e.totalCost=f;let p=e.totalCostQueryOptions=e=>i({queryKey:[`Qgrid`,`totalCost`,e],queryFn:()=>f(e)});e.useTotalCost=(e,t)=>$(r({...p(e),...t}));async function m(){return Q({method:`GET`,url:`/api/qgrid/projectNames`})}e.projectNames=m;let h=e.projectNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`projectNames`],queryFn:()=>m()});e.useProjectNames=e=>$(r({...h(),...e}));async function g(){return Q({method:`GET`,url:`/api/qgrid/modelNames`})}e.modelNames=g;let _=e.modelNamesQueryOptions=()=>i({queryKey:[`Qgrid`,`modelNames`],queryFn:()=>g()});e.useModelNames=e=>$(r({..._(),...e}));async function v(e,t,n){return Q({method:`POST`,url:`/api/qgrid/addToken`,data:{provider:e,credentials:t,name:n}})}e.addToken=v,e.useAddTokenMutation=()=>o({mutationFn:e=>v(e.provider,e.credentials,e.name)});async function y(e,t,n,r,i){return Q({method:`POST`,url:`/api/qgrid/updateToken`,data:{id:e,name:t,quotaThreshold:n,weight:r,keepaliveEnabled:i}})}e.updateToken=y;async function b(e){return Q({method:`POST`,url:`/api/qgrid/removeToken`,data:{id:e}})}e.removeToken=b,e.useRemoveTokenMutation=()=>o({mutationFn:e=>b(e.id)});async function x(e){return Q({method:`POST`,url:`/api/qgrid/toggleToken`,data:{id:e}})}e.toggleToken=x,e.useToggleTokenMutation=()=>o({mutationFn:e=>x(e.id)});async function S(e){return Q({method:`POST`,url:`/api/qgrid/oauthStart`,data:{name:e}})}e.oauthStart=S,e.useOauthStartMutation=()=>o({mutationFn:e=>S(e.name)});async function C(e){return Q({method:`POST`,url:`/api/qgrid/oauthComplete`,data:{pastedCode:e}})}e.oauthComplete=C,e.useOauthCompleteMutation=()=>o({mutationFn:e=>C(e.pastedCode)});async function w(e){return Q({method:`POST`,url:`/api/qgrid/oauthStartOpenAI`,data:{name:e}})}e.oauthStartOpenAI=w,e.useOauthStartOpenAIMutation=()=>o({mutationFn:e=>w(e.name)});async function ee(e){return Q({method:`GET`,url:`/api/qgrid/usage?${ju.default.stringify({tokenId:e})}`})}e.usage=ee;let T=e.usageQueryOptions=e=>i({queryKey:[`Qgrid`,`usage`,e],queryFn:()=>ee(e)});e.useUsage=(e,t)=>$(r({...T(e),...t}));async function te(){return Q({method:`GET`,url:`/api/qgrid/health`})}e.health=te;let E=e.healthQueryOptions=()=>i({queryKey:[`Qgrid`,`health`],queryFn:()=>te()});e.useHealth=e=>$(r({...E(),...e}))})(Ku||={});var qu;(function(e){async function t(e){return Q({method:`GET`,url:`/api/monit/monitLogs?${ju.default.stringify({cursor:e})}`})}e.monitLogs=t;let n=e.monitLogsQueryOptions=e=>i({queryKey:[`Monit`,`monitLogs`,e],queryFn:()=>t(e)});e.useMonitLogs=(e,t)=>$(r({...n(e),...t}));async function a(){return Q({method:`GET`,url:`/api/monit/monitInfo`})}e.monitInfo=a;let o=e.monitInfoQueryOptions=()=>i({queryKey:[`Monit`,`monitInfo`],queryFn:()=>a()});e.useMonitInfo=e=>$(r({...o(),...e}));async function s(){return Q({method:`GET`,url:`/api/monit/monitStats`})}e.monitStats=s;let c=e.monitStatsQueryOptions=()=>i({queryKey:[`Monit`,`monitStats`],queryFn:()=>s()});e.useMonitStats=e=>$(r({...c(),...e}))})(qu||={}),Gu.useRequestLogs,Gu.useRequestLogsInfinite,Wu.useRequestLogSteps,Wu.useRequestLogStepsInfinite,Uu.useSettings,Uu.useSettingsInfinite,Hu.useTokens,Hu.useTokensInfinite;export{ol as C,Vl as S,Nl as T,jl as _,Uu as a,kl as b,Nu as c,Lu as d,Au as f,zl as g,ql as h,Wu as i,Q as l,Cu as m,Ku as n,Hu as o,xu as p,Gu as r,Iu as s,qu as t,Fu as u,hu as v,Ul as w,Dl as x,Ll as y};
|