@cartanova/qgrid-cli 2.6.7 → 2.6.9
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/monit/monit.frame.js +2 -2
- package/bundle/dist/application/qgrid/expired-token-reminder.js +45 -15
- package/bundle/dist/application/qgrid/oauth.js +1 -1
- package/bundle/dist/application/qgrid/qgrid.frame.js +3 -3
- package/bundle/dist/application/qgrid/slack-user-map.js +5 -14
- package/bundle/dist/application/qgrid/token-death.js +3 -2
- package/bundle/dist/application/qgrid/tool-emulation.js +1 -1
- package/bundle/dist/application/queries.generated.js +8 -2
- package/bundle/dist/application/request-log/request-log.model.js +2 -2
- package/bundle/dist/application/request-log-step/request-log-step.model.js +1 -1
- package/bundle/dist/application/setting/setting.constant.js +226 -0
- package/bundle/dist/application/setting/setting.model.js +254 -0
- package/bundle/dist/application/setting/setting.store.js +66 -0
- package/bundle/dist/application/setting/setting.types.js +51 -0
- package/bundle/dist/application/sonamu.generated.js +32 -2
- package/bundle/dist/application/sonamu.generated.sso.js +12 -2
- package/bundle/dist/application/token/token.model.js +1 -1
- package/bundle/dist/i18n/en.js +3 -1
- package/bundle/dist/i18n/ko.js +3 -1
- package/bundle/dist/i18n/sd.generated.js +9 -1
- package/bundle/dist/migrations/20260808194708_create__settings.js +24 -0
- package/bundle/dist/sonamu.config.js +8 -2
- package/bundle/dist/utils/providers/openai/openai-worker-pool-config.js +21 -6
- package/bundle/dist/utils/quiet-hours.js +47 -0
- package/bundle/dist/utils/slack-notify.js +16 -5
- package/bundle/src/application/qgrid/expired-token-reminder.test.ts +147 -2
- package/bundle/src/application/qgrid/expired-token-reminder.ts +66 -16
- package/bundle/src/application/qgrid/slack-user-map.test.ts +23 -0
- package/bundle/src/application/qgrid/slack-user-map.ts +4 -14
- package/bundle/src/application/qgrid/token-death.ts +2 -0
- package/bundle/src/application/queries.generated.ts +21 -1
- package/bundle/src/application/setting/setting.constant.test.ts +109 -0
- package/bundle/src/application/setting/setting.constant.ts +250 -0
- package/bundle/src/application/setting/setting.entity.json +59 -0
- package/bundle/src/application/setting/setting.model.ts +277 -0
- package/bundle/src/application/setting/setting.store.test.ts +87 -0
- package/bundle/src/application/setting/setting.store.ts +85 -0
- package/bundle/src/application/setting/setting.types.ts +53 -0
- package/bundle/src/application/sonamu.generated.http +54 -0
- package/bundle/src/application/sonamu.generated.sso.ts +21 -0
- package/bundle/src/application/sonamu.generated.ts +51 -0
- package/bundle/src/i18n/en.ts +2 -0
- package/bundle/src/i18n/ko.ts +2 -0
- package/bundle/src/i18n/sd.generated.ts +8 -0
- package/bundle/src/migrations/20260808194708_create__settings.ts +19 -0
- package/bundle/src/sonamu.config.ts +12 -0
- package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +12 -0
- package/bundle/src/utils/providers/openai/openai-worker-pool-config.ts +43 -5
- package/bundle/src/utils/quiet-hours.ts +79 -0
- package/bundle/src/utils/slack-notify.test.ts +171 -20
- package/bundle/src/utils/slack-notify.ts +31 -4
- package/bundle/web-dist/client/assets/index-DnnliAzf.js +78 -0
- package/bundle/web-dist/client/assets/index-rdbxJinT.css +1 -0
- package/bundle/web-dist/client/assets/{logs-CUO9Q0UT.js → logs-5gACO5tJ.js} +1 -1
- package/bundle/web-dist/client/assets/{monit-Dy7UtqC2.js → monit-DRCc50GU.js} +1 -1
- package/bundle/web-dist/client/assets/plus-p4vtg6LN.js +1 -0
- package/bundle/web-dist/client/assets/{routes-B6gfQrph.js → routes-DBdI9Ba1.js} +2 -2
- package/bundle/web-dist/client/assets/{sd.generated-DYdwSB2I.js → sd.generated-Bwa7rses.js} +1 -1
- package/bundle/web-dist/client/assets/services.generated-BzwTuZRP.js +1 -0
- package/bundle/web-dist/client/assets/settings-B62_r1i4.js +1 -0
- package/bundle/web-dist/client/assets/{show-Bi0QYUVm.js → show-BCRrSc8-.js} +1 -1
- package/bundle/web-dist/client/assets/tokens-CDiXKYGf.js +1 -0
- package/bundle/web-dist/client/assets/{use-oauth-login-flow-Cx6BlvXM.js → use-oauth-login-flow-Qqg4koSg.js} +1 -1
- package/bundle/web-dist/client/index.html +3 -3
- package/bundle/web-dist/server/assets/{lazyRouteComponent-BaZaveNc.js → lazyRouteComponent-Ws7I6fL-.js} +2 -1
- package/bundle/web-dist/server/assets/{logs-DMOw3SjD.js → logs-C1rxLh8H.js} +4 -4
- package/bundle/web-dist/server/assets/{monit-UmcqHroX.js → monit-C8gx9Sar.js} +3 -2
- package/bundle/web-dist/server/assets/plus-BISXNqRU.js +19 -0
- package/bundle/web-dist/server/assets/react-dom-D7duWOwf.js +462 -0
- package/bundle/web-dist/server/assets/{routes-BfoQmYud.js → routes-ZW_Ih5Em.js} +11 -7
- package/bundle/web-dist/server/assets/{sd.generated-B0xqnHEo.js → sd.generated-LO-h1_16.js} +13 -461
- package/bundle/web-dist/server/assets/{services.generated-DqAKskAS.js → services.generated-CZIChgHV.js} +119 -2
- package/bundle/web-dist/server/assets/settings--aoatERH.js +382 -0
- package/bundle/web-dist/server/assets/{show-C-oSdzHX.js → show-BY27w9oi.js} +4 -4
- package/bundle/web-dist/server/assets/{tokens-Dkd_uXEk.js → tokens-DIObtTuZ.js} +17 -72
- package/bundle/web-dist/server/assets/{use-oauth-login-flow-YM1nsd-H.js → use-oauth-login-flow-V3k8PSqQ.js} +2 -2
- package/bundle/web-dist/server/entry-server.generated.js +54 -18
- package/package.json +1 -1
- package/skills/qgrid/references/cli-env-and-server-boot.md +17 -2
- package/skills/qgrid/references/openai-codex-runtime.md +1 -1
- package/skills/qgrid/references/sonamu-api-web-flow.md +2 -0
- package/skills/qgrid/references/token-auth-quota-lifecycle.md +2 -0
- package/bundle/web-dist/client/assets/index-B4GlN1IX.css +0 -1
- package/bundle/web-dist/client/assets/index-CV_rp3zE.js +0 -78
- package/bundle/web-dist/client/assets/services.generated-BsAvotjG.js +0 -1
- package/bundle/web-dist/client/assets/tokens-BAuYgBl6.js +0 -1
- /package/bundle/web-dist/server/assets/{cost-CSH_t17I.js → cost-DzjfVtUr.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
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{i as a}from"./index-
|
|
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{i as a}from"./index-DnnliAzf.js";import{r as o}from"./cost-CpjVoAqp.js";import{n as s,o as c}from"./services.generated-BzwTuZRP.js";import{n as l,r as u,t as d}from"./use-oauth-login-flow-Qqg4koSg.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.
|
|
5
|
-
`},I={onDragStart(e){return`Picked up draggable item ${e}.`},onDragOver(e,t){return t?`Draggable item ${e} was moved over droppable area ${t}.`:`Draggable item ${e} is no longer over a droppable area.`},onDragEnd(e,t){return t?`Draggable item ${e} was dropped over droppable area ${t}`:`Draggable item ${e} was dropped.`},onDragCancel(e){return`Dragging was cancelled. Draggable item ${e} was dropped.`}},L;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(L||={});function R(...e){}var z=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(({disabled:e})=>!e)}getNodeFor(e){return this.get(e)?.node.current??void 0}},se=(0,p.createContext)({activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,activeNodeClientRect:null,activators:[],ariaDescribedById:{draggable:``},containerNodeRect:null,dispatch:R,draggableNodes:{},droppableRects:new Map,droppableContainers:new z,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:R},scrollableAncestors:[],scrollableAncestorRects:[],recomputeLayouts:R,windowRect:null,willRecomputeLayouts:!1});function ce(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:{},translate:{x:0,y:0}},droppable:{containers:new z}}}function le(e,t){switch(t.type){case L.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case L.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case L.DragEnd:case L.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case L.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new z(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case L.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new z(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case L.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new z(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}var ue=(0,p.createContext)({type:null,event:null});function de({onDragStart:e,onDragMove:t,onDragOver:n,onDragEnd:r,onDragCancel:i}){let a=(0,p.useContext)(ue),o=(0,p.useRef)(a);(0,p.useEffect)(()=>{if(a!==o.current){let{type:s,event:c}=a;switch(s){case L.DragStart:e?.(c);break;case L.DragMove:t?.(c);break;case L.DragOver:n?.(c);break;case L.DragCancel:i?.(c);break;case L.DragEnd:r?.(c);break}o.current=a}},[a,e,t,n,r,i])}function fe({announcements:e=I,hiddenTextDescribedById:t,screenReaderInstructions:n}){let{announce:r,announcement:i}=ae(),a=O(`DndLiveRegion`),[o,s]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{s(!0)},[]),de((0,p.useMemo)(()=>({onDragStart({active:t}){r(e.onDragStart(t.id))},onDragMove({active:t,over:n}){e.onDragMove&&r(e.onDragMove(t.id,n?.id))},onDragOver({active:t,over:n}){r(e.onDragOver(t.id,n?.id))},onDragEnd({active:t,over:n}){r(e.onDragEnd(t.id,n?.id))},onDragCancel({active:t}){r(e.onDragCancel(t.id))}}),[r,e])),o?(0,f.createPortal)(p.createElement(p.Fragment,null,p.createElement(P,{id:t,value:n.draggable}),p.createElement(F,{id:a,announcement:i})),document.body):null}var B=Object.freeze({x:0,y:0});function V(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function pe(e,t=e.offsetLeft,n=e.offsetTop){return{x:t+e.width*.5,y:n+e.height*.5}}var me=({collisionRect:e,droppableContainers:t})=>{let n=pe(e,e.left,e.top),r=1/0,i=null;for(let e of t){let{rect:{current:t}}=e;if(t){let a=V(pe(t),n);a<r&&(r=a,i=e.id)}}return i};function he(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ge(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:B}function _e(e){return function(t,...n){return n.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x,offsetLeft:t.offsetLeft+e*n.x,offsetTop:t.offsetTop+e*n.y}),{...t})}}var ve=_e(1);function H(e,t=window.getComputedStyle(e)){return t.position===`fixed`}function ye(e,t=window.getComputedStyle(e)){let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].find(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})!=null}function U(e){let t=[];function n(e){if(!e)return t;if(y(e)&&e.scrollingElement!=null&&!t.includes(e.scrollingElement))return t.push(e.scrollingElement),t;if(!b(e)||x(e)||t.includes(e))return t;let r=window.getComputedStyle(e);return ye(e,r)&&t.push(e),H(e,r)?t:n(e.parentNode)}return e?n(e.parentNode):t}function W(e){return!h||!e?null:g(e)?e:_(e)?y(e)||e===S(e).scrollingElement?window:b(e)?e:null:null}function be(e){return g(e)?{x:e.scrollX,y:e.scrollY}:{x:e.scrollLeft,y:e.scrollTop}}var G;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(G||={});function xe(e){let t={x:0,y:0},n={x:e.scrollWidth-e.clientWidth,y:e.scrollHeight-e.clientHeight};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=n.y,isRight:e.scrollLeft>=n.x,maxScroll:n,minScroll:t}}function Se(e){return!h||!e?!1:e===document.scrollingElement}var K={x:.2,y:.2};function q(e,t,{top:n,left:r,right:i,bottom:a},o=10,s=K){let{clientHeight:c,clientWidth:l}=e,u=Se(e)?{top:0,left:0,right:l,bottom:c,width:l,height:c}:t,{isTop:d,isBottom:f,isLeft:p,isRight:m}=xe(e),h={x:0,y:0},g={x:0,y:0},_={height:u.height*s.y,width:u.width*s.x};return!d&&n<=u.top+_.height?(h.y=G.Backward,g.y=o*Math.abs((u.top+_.height-n)/_.height)):!f&&a>=u.bottom-_.height&&(h.y=G.Forward,g.y=o*Math.abs((u.bottom-_.height-a)/_.height)),!m&&i>=u.right-_.width?(h.x=G.Forward,g.x=o*Math.abs((u.right-_.width-i)/_.width)):!p&&r<=u.left+_.width&&(h.x=G.Backward,g.x=o*Math.abs((u.left+_.width-r)/_.width)),{direction:h,speed:g}}function Ce(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function we(e){return e.reduce((e,t)=>A(e,be(t)),B)}function J(e,t,n=B){if(!e||!b(e))return n;let r={x:n.x+e.offsetLeft,y:n.y+e.offsetTop};return e.offsetParent===t?r:J(e.offsetParent,t,r)}function Y(e){let{offsetWidth:t,offsetHeight:n}=e,{x:r,y:i}=J(e,null);return{width:t,height:n,offsetTop:i,offsetLeft:r}}function Te(e){if(g(e)){let e=window.innerWidth,t=window.innerHeight;return{top:0,left:0,right:e,bottom:t,width:e,height:t,offsetTop:0,offsetLeft:0}}let{offsetTop:t,offsetLeft:n}=Y(e),{width:r,height:i,top:a,bottom:o,left:s,right:c}=e.getBoundingClientRect();return{width:r,height:i,top:a,bottom:o,right:c,left:s,offsetTop:t,offsetLeft:n}}function Ee(e){let{width:t,height:n,offsetTop:r,offsetLeft:i}=Y(e),a=we(U(e)),o=r-a.y,s=i-a.x;return{width:t,height:n,top:o,bottom:o+n,right:s+t,left:s,offsetTop:r,offsetLeft:i}}function De(e,t){let n=Math.max(t.top,e.offsetTop),r=Math.max(t.left,e.offsetLeft),i=Math.min(t.left+t.width,e.offsetLeft+e.width),a=Math.min(t.top+t.height,e.offsetTop+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Oe=({collisionRect:e,droppableContainers:t})=>{let n=0,r=null;for(let i of t){let{rect:{current:t}}=i;if(t){let a=De(t,e);a>n&&(n=a,r=i.id)}}return r},X;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(X||={});var ke;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(ke||={});function Ae({acceleration:e,activator:t=X.Pointer,canScroll:n,draggingRect:r,enabled:i,interval:a=5,order:o=ke.TreeOrder,pointerCoordinates:s,scrollableAncestors:c,scrollableAncestorRects:l,threshold:u}){let[d,f]=T(),m=(0,p.useRef)({x:1,y:1}),h=(0,p.useMemo)(()=>{switch(t){case X.Pointer:return s?{top:s.y,bottom:s.y,left:s.x,right:s.x}:null;case X.DraggableRect:return r}return null},[t,r,s]),g=(0,p.useRef)(B),_=(0,p.useRef)(null),v=(0,p.useCallback)(()=>{let e=_.current;if(!e)return;let t=m.current.x*g.current.x,n=m.current.y*g.current.y;e.scrollBy(t,n)},[]),y=(0,p.useMemo)(()=>o===ke.TreeOrder?[...c].reverse():c,[o,c]);(0,p.useEffect)(()=>{if(!i||!c.length||!h){f();return}for(let t of y){if(n?.(t)===!1)continue;let r=l[c.indexOf(t)];if(!r)continue;let{direction:i,speed:o}=q(t,r,h,e,u);if(o.x>0||o.y>0){f(),_.current=t,d(v,a),m.current=o,g.current=i;return}}m.current={x:0,y:0},g.current={x:0,y:0},f()},[e,v,n,f,i,a,JSON.stringify(h),d,c,y,l,JSON.stringify(u)])}function je(e,t){let n=t===null?void 0:e[t],r=n?n.node.current:null;return E(e=>t===null?null:r??e??null,[r,t])}function Me(e,t){return(0,p.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}function Ne(e){let t=(0,p.useRef)(e);return C(()=>{t.current!==e&&(t.current=e)},[e]),t}var Pe;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Pe||={});var Fe;(function(e){e.Optimized=`optimized`})(Fe||={});var Ie=new Map,Le={measure:Y,strategy:Pe.WhileDragging,frequency:Fe.Optimized};function Re(e,{dragging:t,dependencies:n,config:r}){let[i,a]=(0,p.useState)(!1),{frequency:o,measure:s,strategy:c}={...Le,...r},l=(0,p.useRef)(e),u=(0,p.useCallback)(()=>a(!0),[]),d=(0,p.useRef)(null),f=h(),m=E(n=>{if(f&&!t)return Ie;if(!n||n===Ie||l.current!==e||i){for(let t of e)t&&(t.rect.current=t.node.current?s(t.node.current):null);return ze(e)}return n},[e,t,f,s,i]);return(0,p.useEffect)(()=>{l.current=e},[e]),(0,p.useEffect)(()=>{i&&a(!1)},[i]),(0,p.useEffect)(function(){f||requestAnimationFrame(u)},[t,f]),(0,p.useEffect)(function(){f||typeof o!=`number`||d.current!==null||(d.current=setTimeout(()=>{u(),d.current=null},o))},[o,f,u,...n]),{layoutRectMap:m,recomputeLayouts:u,willRecomputeLayouts:i};function h(){switch(c){case Pe.Always:return!1;case Pe.BeforeDragging:return t;default:return!t}}}function ze(e){let t=new Map;if(e)for(let n of e){if(!n)continue;let{id:e,rect:r}=n;r.current!=null&&t.set(e,r.current)}return t}function Be(e){let[t,n]=(0,p.useState)(null),r=(0,p.useRef)(e),i=(0,p.useCallback)(e=>{let t=W(e.target);t&&n(e=>e?(e.set(t,be(t)),new Map(e)):null)},[]);return(0,p.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=W(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,be(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{W(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,p.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>A(e,t),B):we(e):B,[e,t])}var Ve=[];function He(e){let t=(0,p.useRef)(e),n=E(n=>e?n&&e&&t.current&&e.parentNode===t.current.parentNode?n:U(e):Ve,[e]);return(0,p.useEffect)(()=>{t.current=e},[e]),n}function Ue(e){(0,p.useEffect)(()=>{if(!h)return;let t=e.map(({sensor:e})=>e.setup==null?void 0:e.setup());return()=>{for(let e of t)e?.()}},e.map(({sensor:e})=>e))}function We(e,t){return(0,p.useMemo)(()=>e.reduce((e,{eventName:n,handler:r})=>(e[n]=e=>{r(e,t)},e),{}),[e,t])}var Ge=Je(Te),Ke=Ye(Te);function qe(e,t,n){let r=(0,p.useRef)(e);return E(i=>e?n||!i&&e||e!==r.current?b(e)&&e.parentNode==null?null:t(e):i??null:null,[e,n,t])}function Je(e){return(t,n)=>qe(t,e,n)}function Ye(e){let t=[];return function(n,r){let i=(0,p.useRef)(n);return E(a=>n.length?r||!a&&n.length||n!==i.current?n.map(t=>e(t)):a??t:t,[n,r])}}function Xe(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return b(t)?t:e}function Ze(e){let{width:t,height:n,offsetLeft:r,offsetTop:i}=Y(e);return{top:i,bottom:i+n,left:r,right:r+t,width:t,height:n,offsetTop:i,offsetLeft:r}}var Qe=Je(Ze);function $e({disabled:e,forceRecompute:t}){let[n,r]=ee(),i=Qe(e?null:Xe(n.current),t);return(0,p.useMemo)(()=>({nodeRef:n,rect:i,setRef:r}),[i,n,r])}function et(e,t){return(0,p.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function tt(...e){return(0,p.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var nt=class{constructor(e){this.target=e,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))}}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function rt(e){let{EventTarget:t}=v(e);return e instanceof t?e:S(e)}function it(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var Z;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Z||={});function at(e){e.preventDefault()}function ot(e){e.stopPropagation()}var Q;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`})(Q||={});var st={start:[Q.Space,Q.Enter],cancel:[Q.Esc],end:[Q.Space,Q.Enter]},ct=(e,{currentCoordinates:t})=>{switch(e.code){case Q.Right:return{...t,x:t.x+25};case Q.Left:return{...t,x:t.x-25};case Q.Down:return{...t,y:t.y+25};case Q.Up:return{...t,y:t.y-25}}},lt=class{constructor(e){this.props=e,this.autoScrollEnabled=!1,this.coordinates=B;let{event:{target:t}}=e;this.props=e,this.listeners=new nt(S(t)),this.windowListeners=new nt(v(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Z.Resize,this.handleCancel),this.windowListeners.add(Z.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Z.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props;if(!e.node.current)throw Error(`Active draggable node is undefined`);let n=Te(e.node.current),r={x:n.left,y:n.top};this.coordinates=r,t(r)}handleKeyDown(e){if(M(e)){let{coordinates:t}=this,{active:n,context:r,options:i}=this.props,{keyboardCodes:a=st,coordinateGetter:o=ct,scrollBehavior:s=`smooth`}=i,{code:c}=e;if(a.end.includes(c)){this.handleEnd(e);return}if(a.cancel.includes(c)){this.handleCancel(e);return}let l=o(e,{active:n,context:r.current,currentCoordinates:t});if(l){let n={x:0,y:0},{scrollableAncestors:i}=r.current;for(let r of i){let i=e.code,a=te(l,t),{isTop:o,isRight:c,isLeft:u,isBottom:d,maxScroll:f,minScroll:p}=xe(r),m=Ce(r),h={x:Math.min(i===Q.Right?m.right-m.width/2:m.right,Math.max(i===Q.Right?m.left:m.left+m.width/2,l.x)),y:Math.min(i===Q.Down?m.bottom-m.height/2:m.bottom,Math.max(i===Q.Down?m.top:m.top+m.height/2,l.y))},g=i===Q.Right&&!c||i===Q.Left&&!u,_=i===Q.Down&&!d||i===Q.Up&&!o;if(g&&h.x!==l.x){if(i===Q.Right&&r.scrollLeft+a.x<=f.x||i===Q.Left&&r.scrollLeft+a.x>=p.x){r.scrollBy({left:a.x,behavior:s});return}n.x=i===Q.Right?r.scrollLeft-f.x:r.scrollLeft-p.x,r.scrollBy({left:-n.x,behavior:s});break}else if(_&&h.y!==l.y){if(i===Q.Down&&r.scrollTop+a.y<=f.y||i===Q.Up&&r.scrollTop+a.y>=p.y){r.scrollBy({top:a.y,behavior:s});return}n.y=i===Q.Down?r.scrollTop-f.y:r.scrollTop-p.y,r.scrollBy({top:-n.y,behavior:s});break}}this.handleMove(e,A(l,n))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t),this.coordinates=t}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};lt.activators=[{eventName:`onKeyDown`,handler:(e,{keyboardCodes:t=st,onActivation:n})=>{let{code:r}=e.nativeEvent;return t.start.includes(r)?(e.preventDefault(),n?.({event:e.nativeEvent}),!0):!1}}];function ut(e){return!!(e&&`distance`in e)}function dt(e){return!!(e&&`delay`in e)}var ft=class{constructor(e,t,n=rt(e.event.target)){this.props=e,this.events=t,this.autoScrollEnabled=!0,this.activated=!1,this.timeoutId=null;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=S(i),this.documentListeners=new nt(this.document),this.listeners=new nt(n),this.windowListeners=new nt(v(i)),this.initialCoordinates=re(r),this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),this.windowListeners.add(Z.Resize,this.handleCancel),this.windowListeners.add(Z.DragStart,at),this.windowListeners.add(Z.VisibilityChange,this.handleCancel),this.windowListeners.add(Z.ContextMenu,at),this.documentListeners.add(Z.Keydown,this.handleKeydown),t){if(ut(t))return;if(dt(t)){this.timeoutId=setTimeout(this.handleStart,t.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Z.Click,ot,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Z.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=re(e),s=te(n,o);if(!t&&a){if(dt(a))return it(s,a.tolerance)?this.handleCancel():void 0;if(ut(a))return a.tolerance!=null&&it(s,a.tolerance)?this.handleCancel():it(s,a.distance)?this.handleStart():void 0}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onEnd:e}=this.props;this.detach(),e()}handleCancel(){let{onCancel:e}=this.props;this.detach(),e()}handleKeydown(e){e.code===Q.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},pt={move:{name:`pointermove`},end:{name:`pointerup`}},mt=class extends ft{constructor(e){let{event:t}=e,n=S(t.target);super(e,pt,n)}};mt.activators=[{eventName:`onPointerDown`,handler:({nativeEvent:e},{onActivation:t})=>!e.isPrimary||e.button!==0?!1:(t?.({event:e}),!0)}];var ht={move:{name:`mousemove`},end:{name:`mouseup`}},gt;(function(e){e[e.RightClick=2]=`RightClick`})(gt||={});var _t=class extends ft{constructor(e){super(e,ht,S(e.event.target))}};_t.activators=[{eventName:`onMouseDown`,handler:({nativeEvent:e},{onActivation:t})=>e.button===gt.RightClick?!1:(t?.({event:e}),!0)}];var vt={move:{name:`touchmove`},end:{name:`touchend`}},yt=class extends ft{constructor(e){super(e,vt)}static setup(){return window.addEventListener(vt.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(vt.move.name,e)};function e(){}}};yt.activators=[{eventName:`onTouchStart`,handler:({nativeEvent:e},{onActivation:t})=>{let{touches:n}=e;return n.length>1?!1:(t?.({event:e}),!0)}}];function bt(e,{transform:t,...n}){return e?.length?e.reduce((e,t)=>t({transform:e,...n}),t):t}var xt=[{sensor:mt,options:{}},{sensor:lt,options:{}}],St={current:{}},Ct=(0,p.createContext)({...B,scaleX:1,scaleY:1}),wt=(0,p.memo)(function({id:e,autoScroll:t=!0,announcements:n,children:r,sensors:i=xt,collisionDetection:a=Oe,measuring:o,modifiers:s,screenReaderInstructions:c=oe,...l}){let[u,d]=(0,p.useReducer)(le,void 0,ce),[m,h]=(0,p.useState)(()=>({type:null,event:null})),[g,_]=(0,p.useState)(!1),{draggable:{active:v,nodes:y,translate:b},droppable:{containers:x}}=u,S=v?y[v]:null,w=(0,p.useRef)({initial:null,translated:null}),T=(0,p.useMemo)(()=>v==null?null:{id:v,data:S?.data??St,rect:w},[v,S]),E=(0,p.useRef)(null),[ee,D]=(0,p.useState)(null),[k,te]=(0,p.useState)(null),j=(0,p.useRef)(l),M=O(`DndDescribedBy`,e),ne=(0,p.useMemo)(()=>x.getEnabled(),[x]),{layoutRectMap:N,recomputeLayouts:ie,willRecomputeLayouts:P}=Re(ne,{dragging:g,dependencies:[b.x,b.y],config:o?.droppable}),F=je(y,v),ae=k?re(k):null,I=qe(F,o?.draggable?.measure??Ee),R=Ge(F),z=(0,p.useRef)(null),de=z.current,V=(0,p.useRef)({active:null,activeNode:F,collisionRect:null,droppableRects:N,draggableNodes:y,draggingNodeRect:null,droppableContainers:x,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null,translatedRect:null}),pe=x.getNodeFor(V.current.over?.id),me=Ge(F?F.ownerDocument.defaultView:null),_e=Ge(F?F.parentElement:null),H=He(v?pe??F:null),ye=Ke(H),U=$e({disabled:v==null,forceRecompute:P}),W=U.rect??I,be=W===I?ge(I,de):B,G=bt(s,{transform:{x:b.x-be.x,y:b.y-be.y,scaleX:1,scaleY:1},activatorEvent:k,active:T,activeNodeRect:R,containerNodeRect:_e,draggingNodeRect:W,over:V.current.over,overlayNodeRect:U.rect,scrollableAncestors:H,scrollableAncestorRects:ye,windowRect:me}),xe=ae?A(ae,b):null,Se=Be(H),K=A(G,Se),q=W?ve(W,G):null,Ce=q?ve(q,Se):null,we=T&&Ce?a({active:T,collisionRect:Ce,droppableContainers:ne}):null,[J,Y]=(0,p.useState)(null),Te=he(G,J?.rect??null,I),De=(0,p.useCallback)((e,{sensor:t,options:n})=>{if(!E.current)return;let r=y[E.current];if(!r)return;let i=new t({active:E.current,activeNode:r,event:e.nativeEvent,options:n,context:V,onStart(e){let t=E.current;if(!t)return;let n=y[t];if(!n)return;let{onDragStart:r}=j.current,i={active:{id:t,data:n.data,rect:w}};(0,f.unstable_batchedUpdates)(()=>{d({type:L.DragStart,initialCoordinates:e,active:t}),h({type:L.DragStart,event:i})}),r?.(i)},onMove(e){d({type:L.DragMove,coordinates:e})},onEnd:a(L.DragEnd),onCancel:a(L.DragCancel)});(0,f.unstable_batchedUpdates)(()=>{D(i),te(e.nativeEvent)});function a(e){return async function(){let{active:t,over:n,scrollAdjustedTranslate:r}=V.current,i=null;if(t&&r){let{cancelDrop:a}=j.current;i={active:t,delta:r,over:n},e===L.DragEnd&&typeof a==`function`&&await Promise.resolve(a(i))&&(e=L.DragCancel)}if(E.current=null,(0,f.unstable_batchedUpdates)(()=>{d({type:e}),Y(null),_(!1),D(null),te(null),i&&h({type:e,event:i})}),i){let{onDragCancel:t,onDragEnd:n}=j.current;(e===L.DragEnd?n:t)?.(i)}}}},[d,y]),X=Me(i,(0,p.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent;E.current!==null||i.dndKit||i.defaultPrevented||e(n,t.options)===!0&&(i.dndKit={capturedBy:t.sensor},E.current=r,De(n,t))},[De]));Ue(i),C(()=>{j.current=l},Object.values(l)),(0,p.useEffect)(()=>{v!=null&&_(!0)},[v]),(0,p.useEffect)(()=>{T||(z.current=null),T&&I&&!z.current&&(z.current=I)},[I,T]),(0,p.useEffect)(()=>{let{onDragMove:e}=j.current,{active:t,over:n}=V.current;if(!t)return;let r={active:t,delta:{x:K.x,y:K.y},over:n};h({type:L.DragMove,event:r}),e?.(r)},[K.x,K.y]),(0,p.useEffect)(()=>{let{active:e,droppableContainers:t,scrollAdjustedTranslate:n}=V.current;if(!e||!E.current||!n)return;let{onDragOver:r}=j.current,i=t.get(we),a=i&&i.rect.current?{id:i.id,rect:i.rect.current,data:i.data,disabled:i.disabled}:null,o={active:e,delta:{x:n.x,y:n.y},over:a};(0,f.unstable_batchedUpdates)(()=>{Y(a),h({type:L.DragOver,event:o}),r?.(o)})},[we]),C(()=>{V.current={active:T,activeNode:F,collisionRect:Ce,droppableRects:N,draggableNodes:y,draggingNodeRect:W,droppableContainers:x,over:J,scrollableAncestors:H,scrollAdjustedTranslate:K,translatedRect:q},w.current={initial:W,translated:q}},[T,F,Ce,y,W,N,x,J,H,K,q]),Ae({...Ne(),draggingRect:q,pointerCoordinates:xe,scrollableAncestors:H,scrollableAncestorRects:ye});let ke=(0,p.useMemo)(()=>({active:T,activeNode:F,activeNodeRect:I,activeNodeClientRect:R,activatorEvent:k,activators:X,ariaDescribedById:{draggable:M},containerNodeRect:_e,dispatch:d,dragOverlay:U,draggableNodes:y,droppableContainers:x,droppableRects:N,over:J,recomputeLayouts:ie,scrollableAncestors:H,scrollableAncestorRects:ye,willRecomputeLayouts:P,windowRect:me}),[T,F,R,I,k,X,_e,U,d,y,M,x,N,J,ie,H,ye,P,me]);return p.createElement(ue.Provider,{value:m},p.createElement(se.Provider,{value:ke},p.createElement(Ct.Provider,{value:Te},r)),p.createElement(fe,{announcements:n,hiddenTextDescribedById:M,screenReaderInstructions:c}));function Ne(){let e=ee?.autoScrollEnabled===!1,n=typeof t==`object`?t.enabled===!1:t===!1,r=!e&&!n;return typeof t==`object`?{...t,enabled:r}:{enabled:r}}}),Tt=(0,p.createContext)(null),Et=`button`,Dt=`Droppable`;function Ot({id:e,data:t,disabled:n=!1,attributes:r}){let i=O(Dt),{active:a,activeNodeRect:o,activatorEvent:s,ariaDescribedById:c,draggableNodes:l,droppableRects:u,activators:d,over:f}=(0,p.useContext)(se),{role:m=Et,roleDescription:h=`draggable`,tabIndex:g=0}=r??{},_=a?.id===e,v=(0,p.useContext)(_?Ct:Tt),[y,b]=ee(),x=We(d,e),S=Ne(t);return(0,p.useEffect)(()=>(l[e]={id:e,key:i,node:y,data:S},()=>{let t=l[e];t&&t.key===i&&delete l[e]}),[l,e]),{active:a,activeNodeRect:o,activatorEvent:s,attributes:(0,p.useMemo)(()=>({role:m,tabIndex:g,"aria-pressed":_&&m===Et?!0:void 0,"aria-roledescription":h,"aria-describedby":c.draggable}),[m,g,_,h,c.draggable]),droppableRects:u,isDragging:_,listeners:n?void 0:x,node:y,over:f,setNodeRef:b,transform:v}}function kt(){return(0,p.useContext)(se)}var At=`Droppable`;function jt({data:e,disabled:t=!1,id:n}){let r=O(At),{active:i,dispatch:a,over:o}=(0,p.useContext)(se),s=(0,p.useRef)(null),[c,l]=ee(),u=Ne(e);return C(()=>(a({type:L.RegisterDroppable,element:{id:n,key:r,disabled:t,node:c,rect:s,data:u}}),()=>a({type:L.UnregisterDroppable,key:r,id:n})),[n]),(0,p.useEffect)(()=>{a({type:L.SetDroppableDisabled,id:n,key:r,disabled:t})},[t]),{active:i,rect:s,isOver:o?.id===n,node:c,over:o,setNodeRef:l}}function Mt(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Nt(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Pt(e){return e!==null&&e>=0}var Ft=({layoutRects:e,activeIndex:t,overIndex:n,index:r})=>{let i=Mt(e,n,t),a=e[r],o=i[r];return!o||!a?null:{x:o.offsetLeft-a.offsetLeft,y:o.offsetTop-a.offsetTop,scaleX:o.width/a.width,scaleY:o.height/a.height}},It=`Sortable`,Lt=p.createContext({activeIndex:-1,containerId:It,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Ft,wasDragging:{current:!1}});function Rt({children:e,id:t,items:n,strategy:r=Ft}){let{active:i,dragOverlay:a,droppableRects:o,over:s,recomputeLayouts:c,willRecomputeLayouts:l}=kt(),u=O(It,t),d=a.rect!==null,f=(0,p.useMemo)(()=>n.map(e=>typeof e==`string`?e:e.id),[n]),m=i!=null,h=(0,p.useRef)(!1),g=i?f.indexOf(i.id):-1,_=g!==-1,v=s?f.indexOf(s.id):-1,y=(0,p.useRef)(f),b=Nt(f,o),x=!zt(f,y.current),S=v!==-1&&g===-1||x;C(()=>{x&&_&&!l&&c()},[x,_,c,l]),(0,p.useEffect)(()=>{y.current=f},[f]),(0,p.useEffect)(()=>{let e=setTimeout(()=>{h.current=m},100);return()=>clearTimeout(e)},[m]);let w=(0,p.useMemo)(()=>({activeIndex:g,containerId:u,disableTransforms:S,items:f,overIndex:v,useDragOverlay:d,sortedRects:b,strategy:r,wasDragging:h}),[g,u,S,f,v,b,d,r,h]);return p.createElement(Lt.Provider,{value:w},e)}function zt(e,t){return e.join()===t.join()}var Bt=({id:e,items:t,activeIndex:n,overIndex:r})=>Mt(t,n,r).indexOf(e),Vt=({containerId:e,isSorting:t,wasDragging:n,index:r,items:i,newIndex:a,previousItems:o,previousContainerId:s,transition:c})=>!c||!n||o!==i&&r===a?!1:t?!0:a!==r&&e===s,Ht={duration:200,easing:`ease`},Ut=`transform`,Wt=N.Transition.toString({property:Ut,duration:0,easing:`linear`}),Gt={roleDescription:`sortable`};function Kt({disabled:e,index:t,node:n,rect:r}){let[i,a]=(0,p.useState)(null),o=(0,p.useRef)(t);return C(()=>{if(!e&&t!==o.current&&n.current){let e=r.current;if(e){let t=Te(n.current),r={x:e.offsetLeft-t.offsetLeft,y:e.offsetTop-t.offsetTop,scaleX:e.width/t.width,scaleY:e.height/t.height};(r.x||r.y)&&a(r)}}t!==o.current&&(o.current=t)},[e,t,n,r]),(0,p.useEffect)(()=>{i&&requestAnimationFrame(()=>{a(null)})},[i]),i}function qt({animateLayoutChanges:e=Vt,attributes:t,disabled:n,data:r,getNewIndex:i=Bt,id:a,strategy:o,transition:s=Ht}){let{items:c,containerId:l,activeIndex:u,disableTransforms:d,sortedRects:f,overIndex:h,useDragOverlay:g,strategy:_,wasDragging:v}=(0,p.useContext)(Lt),y=c.indexOf(a),b=(0,p.useMemo)(()=>({sortable:{containerId:l,index:y,items:c},...r}),[l,r,y,c]),{rect:x,node:S,setNodeRef:C}=jt({id:a,data:b}),{active:w,activeNodeRect:T,activatorEvent:E,attributes:ee,setNodeRef:D,listeners:O,isDragging:k,over:A,transform:te}=Ot({id:a,data:b,attributes:{...Gt,...t},disabled:n}),j=m(C,D),M=!!w,ne=M&&v.current&&!d&&Pt(u)&&Pt(h),re=!g&&k,ie=ne?(re&&ne?te:null)??(o??_)({layoutRects:f,activeNodeRect:T,activeIndex:u,overIndex:h,index:y}):null,P=Pt(u)&&Pt(h)?i({id:a,items:c,activeIndex:u,overIndex:h}):y,F=(0,p.useRef)(c),ae=c!==F.current,oe=(0,p.useRef)(P),I=(0,p.useRef)(l),L=e({active:w,containerId:l,isDragging:k,isSorting:M,id:a,index:y,items:c,newIndex:oe.current,previousItems:F.current,previousContainerId:I.current,transition:s,wasDragging:v.current}),R=Kt({disabled:!L,index:y,node:S,rect:x});return(0,p.useEffect)(()=>{M&&oe.current!==P&&(oe.current=P),l!==I.current&&(I.current=l),c!==F.current&&(F.current=c)},[M,P,l,c]),{active:w,attributes:ee,activatorEvent:E,rect:x,index:y,isSorting:M,isDragging:k,listeners:O,node:S,overIndex:h,over:A,setNodeRef:j,setDroppableNodeRef:C,setDraggableNodeRef:D,transform:R??ie,transition:z()};function z(){if(R||ae&&oe.current===y)return Wt;if(!(re||!s)&&(M||L))return N.Transition.toString({...s,property:Ut})}}Q.Down,Q.Right,Q.Up,Q.Left;var $=i(),Jt=e=>(0,$.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,$.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m12 14l4-4M3.34 19a10 10 0 1 1 17.32 0`})}),Yt=e=>(0,$.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,$.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,$.jsx)(`circle`,{cx:9,cy:12,r:1}),(0,$.jsx)(`circle`,{cx:9,cy:5,r:1}),(0,$.jsx)(`circle`,{cx:9,cy:19,r:1}),(0,$.jsx)(`circle`,{cx:15,cy:12,r:1}),(0,$.jsx)(`circle`,{cx:15,cy:5,r:1}),(0,$.jsx)(`circle`,{cx:15,cy:19,r:1})]})}),Xt=new Set([`anthropic`,`openai`]);function Zt(e){let t=e.trim();if(t===``)return{ok:!0,value:null};if(!/^\d+$/.test(t))return{ok:!1,error:`정수만 입력하세요 (0–100)`};let n=Number(t);return n>100?{ok:!1,error:`100 이하여야 합니다`}:{ok:!0,value:n===0?null:n}}function Qt(e){let t=e.trim();if(!/^\d+$/.test(t))return{ok:!1,error:`1–100 사이 정수를 입력하세요`};let n=Number(t);return n<1||n>100?{ok:!1,error:`1–100 사이 정수를 입력하세요`}:{ok:!0,value:n}}var $t={openai:{stripe:`bg-openai-400`,bar:`bg-openai-bar`,badge:`bg-openai-50 text-openai-600`,cost:`text-openai-600`},anthropic:{stripe:`bg-anthropic-400`,bar:`bg-anthropic-400`,badge:`bg-anthropic-50 text-anthropic-600`,cost:`text-anthropic-600`},google:{stripe:`bg-google-400`,bar:`bg-google-400`,badge:`bg-google-50 text-google-600`,cost:`text-google-600`}},en={stripe:`bg-sand-400`,bar:`bg-sienna-400`,badge:`bg-sand-200 text-sand-500`,cost:`text-sienna-600`};function tn(e){return $t[e]??en}function nn(e,t){return e>=95?`bg-danger-400`:e>=80?`bg-caution-400`:t.bar}function rn(e){if(!e)return``;let t=new Date(e).getTime()-Date.now();if(t<=0)return`resetting...`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`resets ${n}h ${r}m`:`resets ${r}m`}function an(e,t){if(!t||t<=0)return e;let n=t/60;return n>=24?`${Math.round(n/24)}d`:`${Math.round(n)}h`}function on({label:e,utilization:t,resetsAt:n,windowDurationMins:r,theme:i,threshold:a}){let o=t??0,s=a!=null;return(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs text-sand-600 w-7 shrink-0`,children:an(e,r)}),(0,$.jsxs)(`div`,{className:`relative flex-1 min-w-0 h-2 bg-sand-200 rounded-full overflow-hidden`,children:[(0,$.jsx)(`div`,{className:`h-full rounded-full transition-all duration-300 ${nn(o,i)}`,style:{width:`${Math.min(o,100)}%`}}),s&&(0,$.jsx)(`div`,{className:`absolute top-[-2px] bottom-[-2px] w-0.5 bg-sienna-500 rounded-full`,style:{left:`calc(${Math.min(a,100)}% - 1px)`}})]}),(0,$.jsxs)(`span`,{className:`text-xs tabular-nums text-sand-700 w-9 text-right shrink-0`,children:[o,`%`]}),(0,$.jsx)(`span`,{className:`hidden sm:inline text-[10px] text-sand-400 w-24 text-right shrink-0`,title:rn(n),children:rn(n)})]})}function sn({token:e,theme:t}){let{data:n,isLoading:r}=c.useUsage(e.id);if(r)return(0,$.jsxs)(`div`,{className:`animate-pulse space-y-2 py-2`,children:[(0,$.jsx)(`div`,{className:`h-2 w-full bg-sand-200 rounded-full`}),(0,$.jsx)(`div`,{className:`h-2 w-3/4 bg-sand-200 rounded-full`})]});if(n?.error){let e=n.error.includes(`re-login`)||n.error.includes(`token_revoked`)||n.error.includes(`401`);return(0,$.jsxs)(`div`,{className:`py-1`,children:[(0,$.jsx)(`p`,{className:`text-[11px] text-amber-600`,children:e?`Session expired`:`Unavailable`}),(0,$.jsx)(`p`,{className:`text-[10px] text-sand-400 mt-0.5`,children:e?`Please re-login via OAuth`:n.error})]})}if(!n?.fiveHour&&!n?.sevenDay)return(0,$.jsx)(`p`,{className:`text-[11px] text-sand-400 py-1`,children:`No usage data`});let i=Xt.has(e.provider)?e.quota_threshold:null;return(0,$.jsxs)(`div`,{className:`space-y-1.5 py-1`,children:[n.fiveHour&&(0,$.jsx)(on,{label:`5h`,utilization:n.fiveHour.utilization,resetsAt:n.fiveHour.resetsAt,windowDurationMins:n.fiveHour.windowDurationMins,theme:t,threshold:i}),n.sevenDay&&(0,$.jsx)(on,{label:`7d`,utilization:n.sevenDay.utilization,resetsAt:n.sevenDay.resetsAt,windowDurationMins:n.sevenDay.windowDurationMins,theme:t})]})}function cn({token:e}){let[n,r]=(0,p.useState)(null),[i,o]=(0,p.useState)(``),s=(0,p.useRef)(null),c=t(),l=u(),d=Xt.has(e.provider),f=n!==null,m=Zt(i),h=()=>{let t=s.current?.getBoundingClientRect();if(!t)return;let n=Math.min(Math.max(t.right-240,8),Math.max(window.innerWidth-240-8,8)),i=t.top-6-150,a=t.bottom+6;r({left:n,top:Math.min(Math.max(i>=8?i:a,8),Math.max(window.innerHeight-150-8,8))}),o(String(e.quota_threshold??100))},g=()=>r(null);if(!d)return(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] text-sand-300 border border-sand-100`,title:`Quota threshold는 이 provider에서 지원되지 않습니다`,children:[(0,$.jsx)(Jt,{className:`size-3`}),`n/a`]});let _=e=>{let t=/^\d+$/.test(i.trim())?Number(i.trim()):0,n=Math.min(Math.max(t+e,0),100);o(String(n))};return(0,$.jsxs)(`div`,{className:`inline-flex`,children:[(0,$.jsxs)(`button`,{ref:s,type:`button`,title:`사용률 제한 설정`,onClick:f?g:h,className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] border border-sand-200/80 text-sand-400 hover:text-sand-600 hover:border-sand-300 transition-colors duration-150`,children:[(0,$.jsx)(Jt,{className:`size-3`}),`Set limit`]}),f&&n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onPointerDown:g}),(0,$.jsxs)(`div`,{className:`fixed z-50 w-60 panel shadow-xl p-3`,style:{top:n.top,left:n.left},children:[(0,$.jsx)(`label`,{htmlFor:`threshold-${e.id}`,className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`사용률 제한`}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>_(-10),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600 text-base leading-none hover:bg-sand-100 transition-colors duration-150`,children:`−`}),(0,$.jsx)(a,{id:`threshold-${e.id}`,value:i,onChange:e=>o(e.target.value),inputMode:`numeric`,className:`h-9 w-14 border rounded-md text-center text-sm text-sand-900 bg-white tabular-nums focus:outline-none ${m.ok?`border-sand-200 focus:border-sienna-300`:`border-red-300 focus:border-red-400`}`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>_(10),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600 text-base leading-none hover:bg-sand-100 transition-colors duration-150`,children:`+`}),(0,$.jsx)(`span`,{className:`text-sm text-sand-500`,children:`%`})]}),m.ok?(0,$.jsx)(`p`,{className:`mt-1.5 text-[11px] text-sand-500 leading-snug`,children:m.value===null?`제한 없음 — 사용률과 무관하게 항상 사용합니다.`:`5h 사용률이 임계치에 달하면 해당 토큰을 건너뜁니다.`}):(0,$.jsx)(`p`,{className:`mt-1.5 text-[11px] text-red-500`,children:m.error}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-end gap-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:`px-2 py-1 text-[11px] font-medium rounded-md border border-sand-200 text-sand-600 hover:bg-sand-100 transition-colors duration-150`,onClick:g,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`px-2 py-1 text-[11px] font-medium rounded-md bg-sienna-400 text-white hover:bg-sienna-500 disabled:opacity-50 transition-colors duration-150`,disabled:l.isPending||!m.ok,onClick:async()=>{m.ok&&(await l.mutateAsync({id:e.id,quotaThreshold:m.value}),await Promise.all([c.invalidateQueries({queryKey:[`Token`]}),c.invalidateQueries({queryKey:[`Qgrid`]})]),g())},children:l.isPending?`Saving...`:`Save`})]})]})]})]})}function ln({token:e}){let[n,r]=(0,p.useState)(null),[i,o]=(0,p.useState)(``),s=(0,p.useRef)(null),c=t(),l=u(),d=Qt(i),f=()=>{let t=s.current?.getBoundingClientRect();if(!t)return;let n=Math.min(Math.max(t.right-240,8),Math.max(window.innerWidth-240-8,8)),i=t.top-6-150,a=Math.min(Math.max(i>=8?i:t.bottom+6,8),Math.max(window.innerHeight-150-8,8));o(String(e.weight)),r({left:n,top:a})},m=()=>r(null),h=e=>{let t=/^\d+$/.test(i.trim())?Number(i.trim()):1;o(String(Math.min(Math.max(t+e,1),100)))};return(0,$.jsxs)(`div`,{className:`inline-flex`,children:[(0,$.jsxs)(`button`,{ref:s,type:`button`,title:`라우팅 가중치 설정`,onClick:n?m:f,className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] border border-sand-200/80 text-sand-400 hover:text-sand-600 hover:border-sand-300 transition-colors duration-150`,children:[`Weight `,e.weight]}),n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onPointerDown:m}),(0,$.jsxs)(`div`,{className:`fixed z-50 w-60 panel shadow-xl p-3`,style:n,children:[(0,$.jsx)(`label`,{htmlFor:`weight-${e.id}`,className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`라우팅 가중치`}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>h(-1),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600`,children:`−`}),(0,$.jsx)(a,{id:`weight-${e.id}`,value:i,onChange:e=>o(e.target.value),inputMode:`numeric`,className:`h-9 w-16 border rounded-md text-center text-sm tabular-nums ${d.ok?`border-sand-200`:`border-red-300`}`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>h(1),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600`,children:`+`})]}),(0,$.jsx)(`p`,{className:`mt-1.5 text-[11px] ${d.ok?`text-sand-500`:`text-red-500`}`,children:d.ok?`새 요청의 상대 배정 비율입니다.`:d.error}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-end gap-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:m,className:`px-2 py-1 text-[11px]`,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,onClick:async()=>{d.ok&&(await l.mutateAsync({id:e.id,weight:d.value}),await Promise.all([c.invalidateQueries({queryKey:[`Token`]}),c.invalidateQueries({queryKey:[`Qgrid`]})]),m())},disabled:l.isPending||!d.ok,className:`px-2 py-1 text-[11px] rounded-md bg-sienna-400 text-white disabled:opacity-50`,children:l.isPending?`Saving...`:`Save`})]})]})]})]})}function un({token:e}){let t=d(),n=async e=>{await t.submitCode(e)&&t.reset()};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,title:`기존 이름으로 다시 로그인`,disabled:t.loadingProvider!==null,onClick:()=>void t.start(e.provider,e.name??``),className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium border border-sienna-300 text-sienna-600 hover:bg-sienna-50 disabled:opacity-50 transition-colors duration-150`,children:t.loadingProvider===e.provider?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`size-2.5 border-2 border-sienna-400 border-t-transparent rounded-full animate-spin`}),`로그인 대기`]}):`재로그인`}),t.codeEntry&&(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 bg-sand-900/8 backdrop-blur-sm`,onClick:t.reset,onKeyDown:()=>{}}),(0,$.jsxs)(`div`,{className:`relative panel shadow-xl w-full max-w-md mx-4`,children:[(0,$.jsx)(`div`,{className:`px-5 py-4 border-b border-sand-100/60`,children:(0,$.jsx)(`h3`,{className:`text-base font-medium text-sand-900`,children:`재로그인`})}),(0,$.jsx)(`div`,{className:`px-5 py-4`,children:(0,$.jsx)(l,{isPending:t.completeMutation.isPending,isError:t.completeMutation.isError,onSubmit:e=>void n(e),onRestart:t.reset})})]})]})]})}function dn({token:e}){let{attributes:t,listeners:n,setNodeRef:r,transform:i,transition:a,isDragging:s}=qt({id:String(e.id),transition:{duration:200,easing:`ease`}}),{data:l}=c.useTotalCost({num:0,page:1,...e.name?{token_name:e.name}:{}},{enabled:!!e.name}),u=tn(e.provider);return(0,$.jsxs)(`div`,{ref:r,style:{transform:N.Translate.toString(i),transition:a,opacity:s?.5:1,zIndex:s?10:void 0},className:`relative rounded-lg bg-white border border-sand-200/80 overflow-hidden shadow-sm hover:shadow-md transition-shadow duration-200`,children:[(0,$.jsx)(`div`,{className:`absolute inset-y-0 left-0 w-1 ${u.stripe}`}),(0,$.jsxs)(`div`,{className:`pl-4 pr-3 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 mb-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":`순서 변경 핸들`,...t,...n,className:`shrink-0 -m-1 p-1 text-sand-300 hover:text-sand-500 cursor-grab active:cursor-grabbing touch-none`,children:(0,$.jsx)(Yt,{className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`text-[13px] font-medium text-sand-800 truncate select-none`,children:e.name??`Unnamed`})]}),(0,$.jsx)(`span`,{className:`text-[11px] tabular-nums font-medium shrink-0 ${u.cost}`,title:`이 토큰의 누적 비용`,children:o(l?.usd??0)})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 mb-2`,children:[(0,$.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full uppercase ${u.badge}`,children:e.provider}),(0,$.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full ${e.active?`bg-sage-100 text-sage-600`:`bg-sand-200 text-sand-500`}`,children:e.active?`Active`:`Inactive`}),Xt.has(e.provider)&&e.quota_threshold!==null&&(0,$.jsxs)(`span`,{className:`px-1.5 py-0.5 rounded-full bg-sienna-50 text-[10px] tabular-nums font-medium text-sienna-600`,title:`사용률 ${e.quota_threshold}% 이상이면 이 토큰 제외`,children:[`≤ `,e.quota_threshold,`%`]})]}),(0,$.jsx)(sn,{token:e,theme:u}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,children:[!e.active&&(0,$.jsx)(un,{token:e}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(ln,{token:e}),(0,$.jsx)(cn,{token:e})]})]})]})}var fn=[`all`,`openai`,`anthropic`];function pn(){let{data:e,isLoading:n}=s.useTokens(`A`,{orderBy:`ord-asc`}),r=t(),i=s.useReorderMutation(),[a,o]=(0,p.useState)([]),[c,l]=(0,p.useState)(`all`);(0,p.useEffect)(()=>{e?.rows&&o(e.rows)},[e?.rows]);let u=tt(et(mt,{activationConstraint:{distance:5}})),d=t=>{let{active:n,over:c}=t;if(!c||n.id===c.id)return;let l=Number(n.id),u=Number(c.id),d=a.findIndex(e=>e.id===l),f=a.findIndex(e=>e.id===u);if(d===-1||f===-1)return;let p=Mt(a,d,f);o(p);let m=s.getTokensQueryOptions(`A`,{orderBy:`ord-asc`}).queryKey,h=r.getQueryData(m);r.setQueryData(m,e=>e&&{...e,rows:p}),i.mutate({ids:p.map(e=>e.id)},{onError:()=>{r.setQueryData(m,h),e?.rows&&o(e.rows)},onSettled:()=>{Promise.all([r.invalidateQueries({queryKey:[`Token`]}),r.invalidateQueries({queryKey:[`Qgrid`]})])}})};if(n)return(0,$.jsx)(`div`,{className:`panel p-5`,children:(0,$.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-3`,children:Array.from({length:4}).map((e,t)=>(0,$.jsxs)(`div`,{className:`rounded-lg bg-sand-50 px-4 py-3 animate-pulse`,children:[(0,$.jsx)(`div`,{className:`h-3 w-16 bg-sand-200 rounded mb-3`}),(0,$.jsx)(`div`,{className:`h-2 w-full bg-sand-200 rounded-full`})]},`skel-${t}`))})});if(a.length===0)return(0,$.jsx)(`div`,{className:`panel px-5 py-10`,children:(0,$.jsx)(`p`,{className:`text-sand-400 text-[13px] text-center`,children:`No tokens registered`})});let f=c===`all`?a:a.filter(e=>e.provider===c);return(0,$.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-5 py-2.5`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:`Token Usage`}),(0,$.jsx)(`div`,{className:`segmented-control flex gap-0.5`,children:fn.map(e=>(0,$.jsx)(`button`,{type:`button`,"data-active":c===e,className:`px-2.5 py-[3px] text-[11px] font-medium rounded-[6px] transition-all duration-150 ${c===e?`text-sand-800`:`text-sand-500 hover:text-sand-700`}`,onClick:()=>l(e),children:e===`all`?`All`:e===`openai`?`OpenAI`:`Anthropic`},e))})]}),(0,$.jsx)(`div`,{className:`p-4`,children:(0,$.jsx)(wt,{sensors:u,collisionDetection:me,onDragEnd:d,children:(0,$.jsx)(Rt,{items:f.map(e=>String(e.id)),strategy:Ft,children:(0,$.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-3`,children:f.map(e=>(0,$.jsx)(dn,{token:e},e.id))})})})})]})}function mn(){return(0,$.jsx)(`div`,{className:`max-w-6xl mx-auto`,children:(0,$.jsx)(pn,{})})}export{mn as component};
|
|
5
|
+
`},I={onDragStart(e){return`Picked up draggable item ${e}.`},onDragOver(e,t){return t?`Draggable item ${e} was moved over droppable area ${t}.`:`Draggable item ${e} is no longer over a droppable area.`},onDragEnd(e,t){return t?`Draggable item ${e} was dropped over droppable area ${t}`:`Draggable item ${e} was dropped.`},onDragCancel(e){return`Dragging was cancelled. Draggable item ${e} was dropped.`}},L;(function(e){e.DragStart=`dragStart`,e.DragMove=`dragMove`,e.DragEnd=`dragEnd`,e.DragCancel=`dragCancel`,e.DragOver=`dragOver`,e.RegisterDroppable=`registerDroppable`,e.SetDroppableDisabled=`setDroppableDisabled`,e.UnregisterDroppable=`unregisterDroppable`})(L||={});function R(...e){}var z=class extends Map{get(e){return e==null?void 0:super.get(e)??void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(({disabled:e})=>!e)}getNodeFor(e){return this.get(e)?.node.current??void 0}},se=(0,p.createContext)({activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,activeNodeClientRect:null,activators:[],ariaDescribedById:{draggable:``},containerNodeRect:null,dispatch:R,draggableNodes:{},droppableRects:new Map,droppableContainers:new z,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:R},scrollableAncestors:[],scrollableAncestorRects:[],recomputeLayouts:R,windowRect:null,willRecomputeLayouts:!1});function ce(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:{},translate:{x:0,y:0}},droppable:{containers:new z}}}function le(e,t){switch(t.type){case L.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case L.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case L.DragEnd:case L.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case L.RegisterDroppable:{let{element:n}=t,{id:r}=n,i=new z(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case L.SetDroppableDisabled:{let{id:n,key:r,disabled:i}=t,a=e.droppable.containers.get(n);if(!a||r!==a.key)return e;let o=new z(e.droppable.containers);return o.set(n,{...a,disabled:i}),{...e,droppable:{...e.droppable,containers:o}}}case L.UnregisterDroppable:{let{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;let a=new z(e.droppable.containers);return a.delete(n),{...e,droppable:{...e.droppable,containers:a}}}default:return e}}var ue=(0,p.createContext)({type:null,event:null});function de({onDragStart:e,onDragMove:t,onDragOver:n,onDragEnd:r,onDragCancel:i}){let a=(0,p.useContext)(ue),o=(0,p.useRef)(a);(0,p.useEffect)(()=>{if(a!==o.current){let{type:s,event:c}=a;switch(s){case L.DragStart:e?.(c);break;case L.DragMove:t?.(c);break;case L.DragOver:n?.(c);break;case L.DragCancel:i?.(c);break;case L.DragEnd:r?.(c);break}o.current=a}},[a,e,t,n,r,i])}function fe({announcements:e=I,hiddenTextDescribedById:t,screenReaderInstructions:n}){let{announce:r,announcement:i}=ae(),a=O(`DndLiveRegion`),[o,s]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{s(!0)},[]),de((0,p.useMemo)(()=>({onDragStart({active:t}){r(e.onDragStart(t.id))},onDragMove({active:t,over:n}){e.onDragMove&&r(e.onDragMove(t.id,n?.id))},onDragOver({active:t,over:n}){r(e.onDragOver(t.id,n?.id))},onDragEnd({active:t,over:n}){r(e.onDragEnd(t.id,n?.id))},onDragCancel({active:t}){r(e.onDragCancel(t.id))}}),[r,e])),o?(0,f.createPortal)(p.createElement(p.Fragment,null,p.createElement(P,{id:t,value:n.draggable}),p.createElement(F,{id:a,announcement:i})),document.body):null}var B=Object.freeze({x:0,y:0});function V(e,t){return Math.sqrt((e.x-t.x)**2+(e.y-t.y)**2)}function pe(e,t=e.offsetLeft,n=e.offsetTop){return{x:t+e.width*.5,y:n+e.height*.5}}var me=({collisionRect:e,droppableContainers:t})=>{let n=pe(e,e.left,e.top),r=1/0,i=null;for(let e of t){let{rect:{current:t}}=e;if(t){let a=V(pe(t),n);a<r&&(r=a,i=e.id)}}return i};function he(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function ge(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:B}function _e(e){return function(t,...n){return n.reduce((t,n)=>({...t,top:t.top+e*n.y,bottom:t.bottom+e*n.y,left:t.left+e*n.x,right:t.right+e*n.x,offsetLeft:t.offsetLeft+e*n.x,offsetTop:t.offsetTop+e*n.y}),{...t})}}var ve=_e(1);function H(e,t=window.getComputedStyle(e)){return t.position===`fixed`}function ye(e,t=window.getComputedStyle(e)){let n=/(auto|scroll|overlay)/;return[`overflow`,`overflowX`,`overflowY`].find(e=>{let r=t[e];return typeof r==`string`?n.test(r):!1})!=null}function U(e){let t=[];function n(e){if(!e)return t;if(y(e)&&e.scrollingElement!=null&&!t.includes(e.scrollingElement))return t.push(e.scrollingElement),t;if(!b(e)||x(e)||t.includes(e))return t;let r=window.getComputedStyle(e);return ye(e,r)&&t.push(e),H(e,r)?t:n(e.parentNode)}return e?n(e.parentNode):t}function W(e){return!h||!e?null:g(e)?e:_(e)?y(e)||e===S(e).scrollingElement?window:b(e)?e:null:null}function be(e){return g(e)?{x:e.scrollX,y:e.scrollY}:{x:e.scrollLeft,y:e.scrollTop}}var G;(function(e){e[e.Forward=1]=`Forward`,e[e.Backward=-1]=`Backward`})(G||={});function xe(e){let t={x:0,y:0},n={x:e.scrollWidth-e.clientWidth,y:e.scrollHeight-e.clientHeight};return{isTop:e.scrollTop<=t.y,isLeft:e.scrollLeft<=t.x,isBottom:e.scrollTop>=n.y,isRight:e.scrollLeft>=n.x,maxScroll:n,minScroll:t}}function Se(e){return!h||!e?!1:e===document.scrollingElement}var K={x:.2,y:.2};function q(e,t,{top:n,left:r,right:i,bottom:a},o=10,s=K){let{clientHeight:c,clientWidth:l}=e,u=Se(e)?{top:0,left:0,right:l,bottom:c,width:l,height:c}:t,{isTop:d,isBottom:f,isLeft:p,isRight:m}=xe(e),h={x:0,y:0},g={x:0,y:0},_={height:u.height*s.y,width:u.width*s.x};return!d&&n<=u.top+_.height?(h.y=G.Backward,g.y=o*Math.abs((u.top+_.height-n)/_.height)):!f&&a>=u.bottom-_.height&&(h.y=G.Forward,g.y=o*Math.abs((u.bottom-_.height-a)/_.height)),!m&&i>=u.right-_.width?(h.x=G.Forward,g.x=o*Math.abs((u.right-_.width-i)/_.width)):!p&&r<=u.left+_.width&&(h.x=G.Backward,g.x=o*Math.abs((u.left+_.width-r)/_.width)),{direction:h,speed:g}}function Ce(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:t}=window;return{top:0,left:0,right:e,bottom:t,width:e,height:t}}let{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function we(e){return e.reduce((e,t)=>A(e,be(t)),B)}function J(e,t,n=B){if(!e||!b(e))return n;let r={x:n.x+e.offsetLeft,y:n.y+e.offsetTop};return e.offsetParent===t?r:J(e.offsetParent,t,r)}function Y(e){let{offsetWidth:t,offsetHeight:n}=e,{x:r,y:i}=J(e,null);return{width:t,height:n,offsetTop:i,offsetLeft:r}}function Te(e){if(g(e)){let e=window.innerWidth,t=window.innerHeight;return{top:0,left:0,right:e,bottom:t,width:e,height:t,offsetTop:0,offsetLeft:0}}let{offsetTop:t,offsetLeft:n}=Y(e),{width:r,height:i,top:a,bottom:o,left:s,right:c}=e.getBoundingClientRect();return{width:r,height:i,top:a,bottom:o,right:c,left:s,offsetTop:t,offsetLeft:n}}function Ee(e){let{width:t,height:n,offsetTop:r,offsetLeft:i}=Y(e),a=we(U(e)),o=r-a.y,s=i-a.x;return{width:t,height:n,top:o,bottom:o+n,right:s+t,left:s,offsetTop:r,offsetLeft:i}}function De(e,t){let n=Math.max(t.top,e.offsetTop),r=Math.max(t.left,e.offsetLeft),i=Math.min(t.left+t.width,e.offsetLeft+e.width),a=Math.min(t.top+t.height,e.offsetTop+e.height),o=i-r,s=a-n;if(r<i&&n<a){let n=t.width*t.height,r=e.width*e.height,i=o*s,a=i/(n+r-i);return Number(a.toFixed(4))}return 0}var Oe=({collisionRect:e,droppableContainers:t})=>{let n=0,r=null;for(let i of t){let{rect:{current:t}}=i;if(t){let a=De(t,e);a>n&&(n=a,r=i.id)}}return r},X;(function(e){e[e.Pointer=0]=`Pointer`,e[e.DraggableRect=1]=`DraggableRect`})(X||={});var ke;(function(e){e[e.TreeOrder=0]=`TreeOrder`,e[e.ReversedTreeOrder=1]=`ReversedTreeOrder`})(ke||={});function Ae({acceleration:e,activator:t=X.Pointer,canScroll:n,draggingRect:r,enabled:i,interval:a=5,order:o=ke.TreeOrder,pointerCoordinates:s,scrollableAncestors:c,scrollableAncestorRects:l,threshold:u}){let[d,f]=T(),m=(0,p.useRef)({x:1,y:1}),h=(0,p.useMemo)(()=>{switch(t){case X.Pointer:return s?{top:s.y,bottom:s.y,left:s.x,right:s.x}:null;case X.DraggableRect:return r}return null},[t,r,s]),g=(0,p.useRef)(B),_=(0,p.useRef)(null),v=(0,p.useCallback)(()=>{let e=_.current;if(!e)return;let t=m.current.x*g.current.x,n=m.current.y*g.current.y;e.scrollBy(t,n)},[]),y=(0,p.useMemo)(()=>o===ke.TreeOrder?[...c].reverse():c,[o,c]);(0,p.useEffect)(()=>{if(!i||!c.length||!h){f();return}for(let t of y){if(n?.(t)===!1)continue;let r=l[c.indexOf(t)];if(!r)continue;let{direction:i,speed:o}=q(t,r,h,e,u);if(o.x>0||o.y>0){f(),_.current=t,d(v,a),m.current=o,g.current=i;return}}m.current={x:0,y:0},g.current={x:0,y:0},f()},[e,v,n,f,i,a,JSON.stringify(h),d,c,y,l,JSON.stringify(u)])}function je(e,t){let n=t===null?void 0:e[t],r=n?n.node.current:null;return E(e=>t===null?null:r??e??null,[r,t])}function Me(e,t){return(0,p.useMemo)(()=>e.reduce((e,n)=>{let{sensor:r}=n,i=r.activators.map(e=>({eventName:e.eventName,handler:t(e.handler,n)}));return[...e,...i]},[]),[e,t])}function Ne(e){let t=(0,p.useRef)(e);return C(()=>{t.current!==e&&(t.current=e)},[e]),t}var Pe;(function(e){e[e.Always=0]=`Always`,e[e.BeforeDragging=1]=`BeforeDragging`,e[e.WhileDragging=2]=`WhileDragging`})(Pe||={});var Fe;(function(e){e.Optimized=`optimized`})(Fe||={});var Ie=new Map,Le={measure:Y,strategy:Pe.WhileDragging,frequency:Fe.Optimized};function Re(e,{dragging:t,dependencies:n,config:r}){let[i,a]=(0,p.useState)(!1),{frequency:o,measure:s,strategy:c}={...Le,...r},l=(0,p.useRef)(e),u=(0,p.useCallback)(()=>a(!0),[]),d=(0,p.useRef)(null),f=h(),m=E(n=>{if(f&&!t)return Ie;if(!n||n===Ie||l.current!==e||i){for(let t of e)t&&(t.rect.current=t.node.current?s(t.node.current):null);return ze(e)}return n},[e,t,f,s,i]);return(0,p.useEffect)(()=>{l.current=e},[e]),(0,p.useEffect)(()=>{i&&a(!1)},[i]),(0,p.useEffect)(function(){f||requestAnimationFrame(u)},[t,f]),(0,p.useEffect)(function(){f||typeof o!=`number`||d.current!==null||(d.current=setTimeout(()=>{u(),d.current=null},o))},[o,f,u,...n]),{layoutRectMap:m,recomputeLayouts:u,willRecomputeLayouts:i};function h(){switch(c){case Pe.Always:return!1;case Pe.BeforeDragging:return t;default:return!t}}}function ze(e){let t=new Map;if(e)for(let n of e){if(!n)continue;let{id:e,rect:r}=n;r.current!=null&&t.set(e,r.current)}return t}function Be(e){let[t,n]=(0,p.useState)(null),r=(0,p.useRef)(e),i=(0,p.useCallback)(e=>{let t=W(e.target);t&&n(e=>e?(e.set(t,be(t)),new Map(e)):null)},[]);return(0,p.useEffect)(()=>{let t=r.current;if(e!==t){a(t);let o=e.map(e=>{let t=W(e);return t?(t.addEventListener(`scroll`,i,{passive:!0}),[t,be(t)]):null}).filter(e=>e!=null);n(o.length?new Map(o):null),r.current=e}return()=>{a(e),a(t)};function a(e){e.forEach(e=>{W(e)?.removeEventListener(`scroll`,i)})}},[i,e]),(0,p.useMemo)(()=>e.length?t?Array.from(t.values()).reduce((e,t)=>A(e,t),B):we(e):B,[e,t])}var Ve=[];function He(e){let t=(0,p.useRef)(e),n=E(n=>e?n&&e&&t.current&&e.parentNode===t.current.parentNode?n:U(e):Ve,[e]);return(0,p.useEffect)(()=>{t.current=e},[e]),n}function Ue(e){(0,p.useEffect)(()=>{if(!h)return;let t=e.map(({sensor:e})=>e.setup==null?void 0:e.setup());return()=>{for(let e of t)e?.()}},e.map(({sensor:e})=>e))}function We(e,t){return(0,p.useMemo)(()=>e.reduce((e,{eventName:n,handler:r})=>(e[n]=e=>{r(e,t)},e),{}),[e,t])}var Ge=Je(Te),Ke=Ye(Te);function qe(e,t,n){let r=(0,p.useRef)(e);return E(i=>e?n||!i&&e||e!==r.current?b(e)&&e.parentNode==null?null:t(e):i??null:null,[e,n,t])}function Je(e){return(t,n)=>qe(t,e,n)}function Ye(e){let t=[];return function(n,r){let i=(0,p.useRef)(n);return E(a=>n.length?r||!a&&n.length||n!==i.current?n.map(t=>e(t)):a??t:t,[n,r])}}function Xe(e){if(!e)return null;if(e.children.length>1)return e;let t=e.children[0];return b(t)?t:e}function Ze(e){let{width:t,height:n,offsetLeft:r,offsetTop:i}=Y(e);return{top:i,bottom:i+n,left:r,right:r+t,width:t,height:n,offsetTop:i,offsetLeft:r}}var Qe=Je(Ze);function $e({disabled:e,forceRecompute:t}){let[n,r]=ee(),i=Qe(e?null:Xe(n.current),t);return(0,p.useMemo)(()=>({nodeRef:n,rect:i,setRef:r}),[i,n,r])}function et(e,t){return(0,p.useMemo)(()=>({sensor:e,options:t??{}}),[e,t])}function tt(...e){return(0,p.useMemo)(()=>[...e].filter(e=>e!=null),[...e])}var nt=class{constructor(e){this.target=e,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>this.target?.removeEventListener(...e))}}add(e,t,n){var r;(r=this.target)==null||r.addEventListener(e,t,n),this.listeners.push([e,t,n])}};function rt(e){let{EventTarget:t}=v(e);return e instanceof t?e:S(e)}function it(e,t){let n=Math.abs(e.x),r=Math.abs(e.y);return typeof t==`number`?Math.sqrt(n**2+r**2)>t:`x`in t&&`y`in t?n>t.x&&r>t.y:`x`in t?n>t.x:`y`in t?r>t.y:!1}var Z;(function(e){e.Click=`click`,e.DragStart=`dragstart`,e.Keydown=`keydown`,e.ContextMenu=`contextmenu`,e.Resize=`resize`,e.SelectionChange=`selectionchange`,e.VisibilityChange=`visibilitychange`})(Z||={});function at(e){e.preventDefault()}function ot(e){e.stopPropagation()}var Q;(function(e){e.Space=`Space`,e.Down=`ArrowDown`,e.Right=`ArrowRight`,e.Left=`ArrowLeft`,e.Up=`ArrowUp`,e.Esc=`Escape`,e.Enter=`Enter`})(Q||={});var st={start:[Q.Space,Q.Enter],cancel:[Q.Esc],end:[Q.Space,Q.Enter]},ct=(e,{currentCoordinates:t})=>{switch(e.code){case Q.Right:return{...t,x:t.x+25};case Q.Left:return{...t,x:t.x-25};case Q.Down:return{...t,y:t.y+25};case Q.Up:return{...t,y:t.y-25}}},lt=class{constructor(e){this.props=e,this.autoScrollEnabled=!1,this.coordinates=B;let{event:{target:t}}=e;this.props=e,this.listeners=new nt(S(t)),this.windowListeners=new nt(v(t)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(Z.Resize,this.handleCancel),this.windowListeners.add(Z.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(Z.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:t}=this.props;if(!e.node.current)throw Error(`Active draggable node is undefined`);let n=Te(e.node.current),r={x:n.left,y:n.top};this.coordinates=r,t(r)}handleKeyDown(e){if(M(e)){let{coordinates:t}=this,{active:n,context:r,options:i}=this.props,{keyboardCodes:a=st,coordinateGetter:o=ct,scrollBehavior:s=`smooth`}=i,{code:c}=e;if(a.end.includes(c)){this.handleEnd(e);return}if(a.cancel.includes(c)){this.handleCancel(e);return}let l=o(e,{active:n,context:r.current,currentCoordinates:t});if(l){let n={x:0,y:0},{scrollableAncestors:i}=r.current;for(let r of i){let i=e.code,a=te(l,t),{isTop:o,isRight:c,isLeft:u,isBottom:d,maxScroll:f,minScroll:p}=xe(r),m=Ce(r),h={x:Math.min(i===Q.Right?m.right-m.width/2:m.right,Math.max(i===Q.Right?m.left:m.left+m.width/2,l.x)),y:Math.min(i===Q.Down?m.bottom-m.height/2:m.bottom,Math.max(i===Q.Down?m.top:m.top+m.height/2,l.y))},g=i===Q.Right&&!c||i===Q.Left&&!u,_=i===Q.Down&&!d||i===Q.Up&&!o;if(g&&h.x!==l.x){if(i===Q.Right&&r.scrollLeft+a.x<=f.x||i===Q.Left&&r.scrollLeft+a.x>=p.x){r.scrollBy({left:a.x,behavior:s});return}n.x=i===Q.Right?r.scrollLeft-f.x:r.scrollLeft-p.x,r.scrollBy({left:-n.x,behavior:s});break}else if(_&&h.y!==l.y){if(i===Q.Down&&r.scrollTop+a.y<=f.y||i===Q.Up&&r.scrollTop+a.y>=p.y){r.scrollBy({top:a.y,behavior:s});return}n.y=i===Q.Down?r.scrollTop-f.y:r.scrollTop-p.y,r.scrollBy({top:-n.y,behavior:s});break}}this.handleMove(e,A(l,n))}}}handleMove(e,t){let{onMove:n}=this.props;e.preventDefault(),n(t),this.coordinates=t}handleEnd(e){let{onEnd:t}=this.props;e.preventDefault(),this.detach(),t()}handleCancel(e){let{onCancel:t}=this.props;e.preventDefault(),this.detach(),t()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}};lt.activators=[{eventName:`onKeyDown`,handler:(e,{keyboardCodes:t=st,onActivation:n})=>{let{code:r}=e.nativeEvent;return t.start.includes(r)?(e.preventDefault(),n?.({event:e.nativeEvent}),!0):!1}}];function ut(e){return!!(e&&`distance`in e)}function dt(e){return!!(e&&`delay`in e)}var ft=class{constructor(e,t,n=rt(e.event.target)){this.props=e,this.events=t,this.autoScrollEnabled=!0,this.activated=!1,this.timeoutId=null;let{event:r}=e,{target:i}=r;this.props=e,this.events=t,this.document=S(i),this.documentListeners=new nt(this.document),this.listeners=new nt(n),this.windowListeners=new nt(v(i)),this.initialCoordinates=re(r),this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:t}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),this.windowListeners.add(Z.Resize,this.handleCancel),this.windowListeners.add(Z.DragStart,at),this.windowListeners.add(Z.VisibilityChange,this.handleCancel),this.windowListeners.add(Z.ContextMenu,at),this.documentListeners.add(Z.Keydown,this.handleKeydown),t){if(ut(t))return;if(dt(t)){this.timeoutId=setTimeout(this.handleStart,t.delay);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){let{initialCoordinates:e}=this,{onStart:t}=this.props;e&&(this.activated=!0,this.documentListeners.add(Z.Click,ot,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(Z.SelectionChange,this.removeTextSelection),t(e))}handleMove(e){let{activated:t,initialCoordinates:n,props:r}=this,{onMove:i,options:{activationConstraint:a}}=r;if(!n)return;let o=re(e),s=te(n,o);if(!t&&a){if(dt(a))return it(s,a.tolerance)?this.handleCancel():void 0;if(ut(a))return a.tolerance!=null&&it(s,a.tolerance)?this.handleCancel():it(s,a.distance)?this.handleStart():void 0}e.cancelable&&e.preventDefault(),i(o)}handleEnd(){let{onEnd:e}=this.props;this.detach(),e()}handleCancel(){let{onCancel:e}=this.props;this.detach(),e()}handleKeydown(e){e.code===Q.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}},pt={move:{name:`pointermove`},end:{name:`pointerup`}},mt=class extends ft{constructor(e){let{event:t}=e,n=S(t.target);super(e,pt,n)}};mt.activators=[{eventName:`onPointerDown`,handler:({nativeEvent:e},{onActivation:t})=>!e.isPrimary||e.button!==0?!1:(t?.({event:e}),!0)}];var ht={move:{name:`mousemove`},end:{name:`mouseup`}},gt;(function(e){e[e.RightClick=2]=`RightClick`})(gt||={});var _t=class extends ft{constructor(e){super(e,ht,S(e.event.target))}};_t.activators=[{eventName:`onMouseDown`,handler:({nativeEvent:e},{onActivation:t})=>e.button===gt.RightClick?!1:(t?.({event:e}),!0)}];var vt={move:{name:`touchmove`},end:{name:`touchend`}},yt=class extends ft{constructor(e){super(e,vt)}static setup(){return window.addEventListener(vt.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(vt.move.name,e)};function e(){}}};yt.activators=[{eventName:`onTouchStart`,handler:({nativeEvent:e},{onActivation:t})=>{let{touches:n}=e;return n.length>1?!1:(t?.({event:e}),!0)}}];function bt(e,{transform:t,...n}){return e?.length?e.reduce((e,t)=>t({transform:e,...n}),t):t}var xt=[{sensor:mt,options:{}},{sensor:lt,options:{}}],St={current:{}},Ct=(0,p.createContext)({...B,scaleX:1,scaleY:1}),wt=(0,p.memo)(function({id:e,autoScroll:t=!0,announcements:n,children:r,sensors:i=xt,collisionDetection:a=Oe,measuring:o,modifiers:s,screenReaderInstructions:c=oe,...l}){let[u,d]=(0,p.useReducer)(le,void 0,ce),[m,h]=(0,p.useState)(()=>({type:null,event:null})),[g,_]=(0,p.useState)(!1),{draggable:{active:v,nodes:y,translate:b},droppable:{containers:x}}=u,S=v?y[v]:null,w=(0,p.useRef)({initial:null,translated:null}),T=(0,p.useMemo)(()=>v==null?null:{id:v,data:S?.data??St,rect:w},[v,S]),E=(0,p.useRef)(null),[ee,D]=(0,p.useState)(null),[k,te]=(0,p.useState)(null),j=(0,p.useRef)(l),M=O(`DndDescribedBy`,e),ne=(0,p.useMemo)(()=>x.getEnabled(),[x]),{layoutRectMap:N,recomputeLayouts:ie,willRecomputeLayouts:P}=Re(ne,{dragging:g,dependencies:[b.x,b.y],config:o?.droppable}),F=je(y,v),ae=k?re(k):null,I=qe(F,o?.draggable?.measure??Ee),R=Ge(F),z=(0,p.useRef)(null),de=z.current,V=(0,p.useRef)({active:null,activeNode:F,collisionRect:null,droppableRects:N,draggableNodes:y,draggingNodeRect:null,droppableContainers:x,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null,translatedRect:null}),pe=x.getNodeFor(V.current.over?.id),me=Ge(F?F.ownerDocument.defaultView:null),_e=Ge(F?F.parentElement:null),H=He(v?pe??F:null),ye=Ke(H),U=$e({disabled:v==null,forceRecompute:P}),W=U.rect??I,be=W===I?ge(I,de):B,G=bt(s,{transform:{x:b.x-be.x,y:b.y-be.y,scaleX:1,scaleY:1},activatorEvent:k,active:T,activeNodeRect:R,containerNodeRect:_e,draggingNodeRect:W,over:V.current.over,overlayNodeRect:U.rect,scrollableAncestors:H,scrollableAncestorRects:ye,windowRect:me}),xe=ae?A(ae,b):null,Se=Be(H),K=A(G,Se),q=W?ve(W,G):null,Ce=q?ve(q,Se):null,we=T&&Ce?a({active:T,collisionRect:Ce,droppableContainers:ne}):null,[J,Y]=(0,p.useState)(null),Te=he(G,J?.rect??null,I),De=(0,p.useCallback)((e,{sensor:t,options:n})=>{if(!E.current)return;let r=y[E.current];if(!r)return;let i=new t({active:E.current,activeNode:r,event:e.nativeEvent,options:n,context:V,onStart(e){let t=E.current;if(!t)return;let n=y[t];if(!n)return;let{onDragStart:r}=j.current,i={active:{id:t,data:n.data,rect:w}};(0,f.unstable_batchedUpdates)(()=>{d({type:L.DragStart,initialCoordinates:e,active:t}),h({type:L.DragStart,event:i})}),r?.(i)},onMove(e){d({type:L.DragMove,coordinates:e})},onEnd:a(L.DragEnd),onCancel:a(L.DragCancel)});(0,f.unstable_batchedUpdates)(()=>{D(i),te(e.nativeEvent)});function a(e){return async function(){let{active:t,over:n,scrollAdjustedTranslate:r}=V.current,i=null;if(t&&r){let{cancelDrop:a}=j.current;i={active:t,delta:r,over:n},e===L.DragEnd&&typeof a==`function`&&await Promise.resolve(a(i))&&(e=L.DragCancel)}if(E.current=null,(0,f.unstable_batchedUpdates)(()=>{d({type:e}),Y(null),_(!1),D(null),te(null),i&&h({type:e,event:i})}),i){let{onDragCancel:t,onDragEnd:n}=j.current;(e===L.DragEnd?n:t)?.(i)}}}},[d,y]),X=Me(i,(0,p.useCallback)((e,t)=>(n,r)=>{let i=n.nativeEvent;E.current!==null||i.dndKit||i.defaultPrevented||e(n,t.options)===!0&&(i.dndKit={capturedBy:t.sensor},E.current=r,De(n,t))},[De]));Ue(i),C(()=>{j.current=l},Object.values(l)),(0,p.useEffect)(()=>{v!=null&&_(!0)},[v]),(0,p.useEffect)(()=>{T||(z.current=null),T&&I&&!z.current&&(z.current=I)},[I,T]),(0,p.useEffect)(()=>{let{onDragMove:e}=j.current,{active:t,over:n}=V.current;if(!t)return;let r={active:t,delta:{x:K.x,y:K.y},over:n};h({type:L.DragMove,event:r}),e?.(r)},[K.x,K.y]),(0,p.useEffect)(()=>{let{active:e,droppableContainers:t,scrollAdjustedTranslate:n}=V.current;if(!e||!E.current||!n)return;let{onDragOver:r}=j.current,i=t.get(we),a=i&&i.rect.current?{id:i.id,rect:i.rect.current,data:i.data,disabled:i.disabled}:null,o={active:e,delta:{x:n.x,y:n.y},over:a};(0,f.unstable_batchedUpdates)(()=>{Y(a),h({type:L.DragOver,event:o}),r?.(o)})},[we]),C(()=>{V.current={active:T,activeNode:F,collisionRect:Ce,droppableRects:N,draggableNodes:y,draggingNodeRect:W,droppableContainers:x,over:J,scrollableAncestors:H,scrollAdjustedTranslate:K,translatedRect:q},w.current={initial:W,translated:q}},[T,F,Ce,y,W,N,x,J,H,K,q]),Ae({...Ne(),draggingRect:q,pointerCoordinates:xe,scrollableAncestors:H,scrollableAncestorRects:ye});let ke=(0,p.useMemo)(()=>({active:T,activeNode:F,activeNodeRect:I,activeNodeClientRect:R,activatorEvent:k,activators:X,ariaDescribedById:{draggable:M},containerNodeRect:_e,dispatch:d,dragOverlay:U,draggableNodes:y,droppableContainers:x,droppableRects:N,over:J,recomputeLayouts:ie,scrollableAncestors:H,scrollableAncestorRects:ye,willRecomputeLayouts:P,windowRect:me}),[T,F,R,I,k,X,_e,U,d,y,M,x,N,J,ie,H,ye,P,me]);return p.createElement(ue.Provider,{value:m},p.createElement(se.Provider,{value:ke},p.createElement(Ct.Provider,{value:Te},r)),p.createElement(fe,{announcements:n,hiddenTextDescribedById:M,screenReaderInstructions:c}));function Ne(){let e=ee?.autoScrollEnabled===!1,n=typeof t==`object`?t.enabled===!1:t===!1,r=!e&&!n;return typeof t==`object`?{...t,enabled:r}:{enabled:r}}}),Tt=(0,p.createContext)(null),Et=`button`,Dt=`Droppable`;function Ot({id:e,data:t,disabled:n=!1,attributes:r}){let i=O(Dt),{active:a,activeNodeRect:o,activatorEvent:s,ariaDescribedById:c,draggableNodes:l,droppableRects:u,activators:d,over:f}=(0,p.useContext)(se),{role:m=Et,roleDescription:h=`draggable`,tabIndex:g=0}=r??{},_=a?.id===e,v=(0,p.useContext)(_?Ct:Tt),[y,b]=ee(),x=We(d,e),S=Ne(t);return(0,p.useEffect)(()=>(l[e]={id:e,key:i,node:y,data:S},()=>{let t=l[e];t&&t.key===i&&delete l[e]}),[l,e]),{active:a,activeNodeRect:o,activatorEvent:s,attributes:(0,p.useMemo)(()=>({role:m,tabIndex:g,"aria-pressed":_&&m===Et?!0:void 0,"aria-roledescription":h,"aria-describedby":c.draggable}),[m,g,_,h,c.draggable]),droppableRects:u,isDragging:_,listeners:n?void 0:x,node:y,over:f,setNodeRef:b,transform:v}}function kt(){return(0,p.useContext)(se)}var At=`Droppable`;function jt({data:e,disabled:t=!1,id:n}){let r=O(At),{active:i,dispatch:a,over:o}=(0,p.useContext)(se),s=(0,p.useRef)(null),[c,l]=ee(),u=Ne(e);return C(()=>(a({type:L.RegisterDroppable,element:{id:n,key:r,disabled:t,node:c,rect:s,data:u}}),()=>a({type:L.UnregisterDroppable,key:r,id:n})),[n]),(0,p.useEffect)(()=>{a({type:L.SetDroppableDisabled,id:n,key:r,disabled:t})},[t]),{active:i,rect:s,isOver:o?.id===n,node:c,over:o,setNodeRef:l}}function Mt(e,t,n){let r=e.slice();return r.splice(n<0?r.length+n:n,0,r.splice(t,1)[0]),r}function Nt(e,t){return e.reduce((e,n,r)=>{let i=t.get(n);return i&&(e[r]=i),e},Array(e.length))}function Pt(e){return e!==null&&e>=0}var Ft=({layoutRects:e,activeIndex:t,overIndex:n,index:r})=>{let i=Mt(e,n,t),a=e[r],o=i[r];return!o||!a?null:{x:o.offsetLeft-a.offsetLeft,y:o.offsetTop-a.offsetTop,scaleX:o.width/a.width,scaleY:o.height/a.height}},It=`Sortable`,Lt=p.createContext({activeIndex:-1,containerId:It,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:Ft,wasDragging:{current:!1}});function Rt({children:e,id:t,items:n,strategy:r=Ft}){let{active:i,dragOverlay:a,droppableRects:o,over:s,recomputeLayouts:c,willRecomputeLayouts:l}=kt(),u=O(It,t),d=a.rect!==null,f=(0,p.useMemo)(()=>n.map(e=>typeof e==`string`?e:e.id),[n]),m=i!=null,h=(0,p.useRef)(!1),g=i?f.indexOf(i.id):-1,_=g!==-1,v=s?f.indexOf(s.id):-1,y=(0,p.useRef)(f),b=Nt(f,o),x=!zt(f,y.current),S=v!==-1&&g===-1||x;C(()=>{x&&_&&!l&&c()},[x,_,c,l]),(0,p.useEffect)(()=>{y.current=f},[f]),(0,p.useEffect)(()=>{let e=setTimeout(()=>{h.current=m},100);return()=>clearTimeout(e)},[m]);let w=(0,p.useMemo)(()=>({activeIndex:g,containerId:u,disableTransforms:S,items:f,overIndex:v,useDragOverlay:d,sortedRects:b,strategy:r,wasDragging:h}),[g,u,S,f,v,b,d,r,h]);return p.createElement(Lt.Provider,{value:w},e)}function zt(e,t){return e.join()===t.join()}var Bt=({id:e,items:t,activeIndex:n,overIndex:r})=>Mt(t,n,r).indexOf(e),Vt=({containerId:e,isSorting:t,wasDragging:n,index:r,items:i,newIndex:a,previousItems:o,previousContainerId:s,transition:c})=>!c||!n||o!==i&&r===a?!1:t?!0:a!==r&&e===s,Ht={duration:200,easing:`ease`},Ut=`transform`,Wt=N.Transition.toString({property:Ut,duration:0,easing:`linear`}),Gt={roleDescription:`sortable`};function Kt({disabled:e,index:t,node:n,rect:r}){let[i,a]=(0,p.useState)(null),o=(0,p.useRef)(t);return C(()=>{if(!e&&t!==o.current&&n.current){let e=r.current;if(e){let t=Te(n.current),r={x:e.offsetLeft-t.offsetLeft,y:e.offsetTop-t.offsetTop,scaleX:e.width/t.width,scaleY:e.height/t.height};(r.x||r.y)&&a(r)}}t!==o.current&&(o.current=t)},[e,t,n,r]),(0,p.useEffect)(()=>{i&&requestAnimationFrame(()=>{a(null)})},[i]),i}function qt({animateLayoutChanges:e=Vt,attributes:t,disabled:n,data:r,getNewIndex:i=Bt,id:a,strategy:o,transition:s=Ht}){let{items:c,containerId:l,activeIndex:u,disableTransforms:d,sortedRects:f,overIndex:h,useDragOverlay:g,strategy:_,wasDragging:v}=(0,p.useContext)(Lt),y=c.indexOf(a),b=(0,p.useMemo)(()=>({sortable:{containerId:l,index:y,items:c},...r}),[l,r,y,c]),{rect:x,node:S,setNodeRef:C}=jt({id:a,data:b}),{active:w,activeNodeRect:T,activatorEvent:E,attributes:ee,setNodeRef:D,listeners:O,isDragging:k,over:A,transform:te}=Ot({id:a,data:b,attributes:{...Gt,...t},disabled:n}),j=m(C,D),M=!!w,ne=M&&v.current&&!d&&Pt(u)&&Pt(h),re=!g&&k,ie=ne?(re&&ne?te:null)??(o??_)({layoutRects:f,activeNodeRect:T,activeIndex:u,overIndex:h,index:y}):null,P=Pt(u)&&Pt(h)?i({id:a,items:c,activeIndex:u,overIndex:h}):y,F=(0,p.useRef)(c),ae=c!==F.current,oe=(0,p.useRef)(P),I=(0,p.useRef)(l),L=e({active:w,containerId:l,isDragging:k,isSorting:M,id:a,index:y,items:c,newIndex:oe.current,previousItems:F.current,previousContainerId:I.current,transition:s,wasDragging:v.current}),R=Kt({disabled:!L,index:y,node:S,rect:x});return(0,p.useEffect)(()=>{M&&oe.current!==P&&(oe.current=P),l!==I.current&&(I.current=l),c!==F.current&&(F.current=c)},[M,P,l,c]),{active:w,attributes:ee,activatorEvent:E,rect:x,index:y,isSorting:M,isDragging:k,listeners:O,node:S,overIndex:h,over:A,setNodeRef:j,setDroppableNodeRef:C,setDraggableNodeRef:D,transform:R??ie,transition:z()};function z(){if(R||ae&&oe.current===y)return Wt;if(!(re||!s)&&(M||L))return N.Transition.toString({...s,property:Ut})}}Q.Down,Q.Right,Q.Up,Q.Left;var $=i(),Jt=e=>(0,$.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,$.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`m12 14l4-4M3.34 19a10 10 0 1 1 17.32 0`})}),Yt=e=>(0,$.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,$.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,$.jsx)(`circle`,{cx:9,cy:12,r:1}),(0,$.jsx)(`circle`,{cx:9,cy:5,r:1}),(0,$.jsx)(`circle`,{cx:9,cy:19,r:1}),(0,$.jsx)(`circle`,{cx:15,cy:12,r:1}),(0,$.jsx)(`circle`,{cx:15,cy:5,r:1}),(0,$.jsx)(`circle`,{cx:15,cy:19,r:1})]})}),Xt=new Set([`anthropic`,`openai`]);function Zt(e){let t=e.trim();if(t===``)return{ok:!0,value:null};if(!/^\d+$/.test(t))return{ok:!1,error:`정수만 입력하세요 (0–100)`};let n=Number(t);return n>100?{ok:!1,error:`100 이하여야 합니다`}:{ok:!0,value:n===0?null:n}}function Qt(e){let t=e.trim();if(!/^\d+$/.test(t))return{ok:!1,error:`1–100 사이 정수를 입력하세요`};let n=Number(t);return n<1||n>100?{ok:!1,error:`1–100 사이 정수를 입력하세요`}:{ok:!0,value:n}}var $t={openai:{stripe:`bg-openai-400`,bar:`bg-openai-bar`,badge:`bg-openai-50 text-openai-600`,cost:`text-openai-600`},anthropic:{stripe:`bg-anthropic-400`,bar:`bg-anthropic-400`,badge:`bg-anthropic-50 text-anthropic-600`,cost:`text-anthropic-600`},google:{stripe:`bg-google-400`,bar:`bg-google-400`,badge:`bg-google-50 text-google-600`,cost:`text-google-600`}},en={stripe:`bg-sand-400`,bar:`bg-sienna-400`,badge:`bg-sand-200 text-sand-500`,cost:`text-sienna-600`};function tn(e){return $t[e]??en}function nn(e,t){return e>=95?`bg-danger-400`:e>=80?`bg-caution-400`:t.bar}function rn(e){if(!e)return``;let t=new Date(e).getTime()-Date.now();if(t<=0)return`resetting...`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`resets ${n}h ${r}m`:`resets ${r}m`}function an(e,t){if(!t||t<=0)return e;let n=t/60;return n>=24?`${Math.round(n/24)}d`:`${Math.round(n)}h`}function on({label:e,utilization:t,resetsAt:n,windowDurationMins:r,theme:i,threshold:a}){let o=t??0,s=a!=null;return(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs text-sand-600 w-7 shrink-0`,children:an(e,r)}),(0,$.jsxs)(`div`,{className:`relative flex-1 min-w-0 h-2 bg-sand-200 rounded-full overflow-hidden`,children:[(0,$.jsx)(`div`,{className:`h-full rounded-full transition-all duration-300 ${nn(o,i)}`,style:{width:`${Math.min(o,100)}%`}}),s&&(0,$.jsx)(`div`,{className:`absolute top-[-2px] bottom-[-2px] w-0.5 bg-sienna-500 rounded-full`,style:{left:`calc(${Math.min(a,100)}% - 1px)`}})]}),(0,$.jsxs)(`span`,{className:`text-xs tabular-nums text-sand-700 w-9 text-right shrink-0`,children:[o,`%`]}),(0,$.jsx)(`span`,{className:`hidden sm:inline text-[10px] text-sand-400 w-24 text-right shrink-0`,title:rn(n),children:rn(n)})]})}function sn({token:e,theme:t}){let{data:n,isLoading:r}=s.useUsage(e.id);if(r)return(0,$.jsxs)(`div`,{className:`animate-pulse space-y-2 py-2`,children:[(0,$.jsx)(`div`,{className:`h-2 w-full bg-sand-200 rounded-full`}),(0,$.jsx)(`div`,{className:`h-2 w-3/4 bg-sand-200 rounded-full`})]});if(n?.error){let e=n.error.includes(`re-login`)||n.error.includes(`token_revoked`)||n.error.includes(`401`);return(0,$.jsxs)(`div`,{className:`py-1`,children:[(0,$.jsx)(`p`,{className:`text-[11px] text-amber-600`,children:e?`Session expired`:`Unavailable`}),(0,$.jsx)(`p`,{className:`text-[10px] text-sand-400 mt-0.5`,children:e?`Please re-login via OAuth`:n.error})]})}if(!n?.fiveHour&&!n?.sevenDay)return(0,$.jsx)(`p`,{className:`text-[11px] text-sand-400 py-1`,children:`No usage data`});let i=Xt.has(e.provider)?e.quota_threshold:null;return(0,$.jsxs)(`div`,{className:`space-y-1.5 py-1`,children:[n.fiveHour&&(0,$.jsx)(on,{label:`5h`,utilization:n.fiveHour.utilization,resetsAt:n.fiveHour.resetsAt,windowDurationMins:n.fiveHour.windowDurationMins,theme:t,threshold:i}),n.sevenDay&&(0,$.jsx)(on,{label:`7d`,utilization:n.sevenDay.utilization,resetsAt:n.sevenDay.resetsAt,windowDurationMins:n.sevenDay.windowDurationMins,theme:t})]})}function cn({token:e}){let[n,r]=(0,p.useState)(null),[i,o]=(0,p.useState)(``),s=(0,p.useRef)(null),c=t(),l=u(),d=Xt.has(e.provider),f=n!==null,m=Zt(i),h=()=>{let t=s.current?.getBoundingClientRect();if(!t)return;let n=Math.min(Math.max(t.right-240,8),Math.max(window.innerWidth-240-8,8)),i=t.top-6-150,a=t.bottom+6;r({left:n,top:Math.min(Math.max(i>=8?i:a,8),Math.max(window.innerHeight-150-8,8))}),o(String(e.quota_threshold??100))},g=()=>r(null);if(!d)return(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] text-sand-300 border border-sand-100`,title:`Quota threshold는 이 provider에서 지원되지 않습니다`,children:[(0,$.jsx)(Jt,{className:`size-3`}),`n/a`]});let _=e=>{let t=/^\d+$/.test(i.trim())?Number(i.trim()):0,n=Math.min(Math.max(t+e,0),100);o(String(n))};return(0,$.jsxs)(`div`,{className:`inline-flex`,children:[(0,$.jsxs)(`button`,{ref:s,type:`button`,title:`사용률 제한 설정`,onClick:f?g:h,className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] border border-sand-200/80 text-sand-400 hover:text-sand-600 hover:border-sand-300 transition-colors duration-150`,children:[(0,$.jsx)(Jt,{className:`size-3`}),`Set limit`]}),f&&n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onPointerDown:g}),(0,$.jsxs)(`div`,{className:`fixed z-50 w-60 panel shadow-xl p-3`,style:{top:n.top,left:n.left},children:[(0,$.jsx)(`label`,{htmlFor:`threshold-${e.id}`,className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`사용률 제한`}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>_(-10),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600 text-base leading-none hover:bg-sand-100 transition-colors duration-150`,children:`−`}),(0,$.jsx)(a,{id:`threshold-${e.id}`,value:i,onChange:e=>o(e.target.value),inputMode:`numeric`,className:`h-9 w-14 border rounded-md text-center text-sm text-sand-900 bg-white tabular-nums focus:outline-none ${m.ok?`border-sand-200 focus:border-sienna-300`:`border-red-300 focus:border-red-400`}`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>_(10),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600 text-base leading-none hover:bg-sand-100 transition-colors duration-150`,children:`+`}),(0,$.jsx)(`span`,{className:`text-sm text-sand-500`,children:`%`})]}),m.ok?(0,$.jsx)(`p`,{className:`mt-1.5 text-[11px] text-sand-500 leading-snug`,children:m.value===null?`제한 없음 — 사용률과 무관하게 항상 사용합니다.`:`5h 사용률이 임계치에 달하면 해당 토큰을 건너뜁니다.`}):(0,$.jsx)(`p`,{className:`mt-1.5 text-[11px] text-red-500`,children:m.error}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-end gap-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,className:`px-2 py-1 text-[11px] font-medium rounded-md border border-sand-200 text-sand-600 hover:bg-sand-100 transition-colors duration-150`,onClick:g,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,className:`px-2 py-1 text-[11px] font-medium rounded-md bg-sienna-400 text-white hover:bg-sienna-500 disabled:opacity-50 transition-colors duration-150`,disabled:l.isPending||!m.ok,onClick:async()=>{m.ok&&(await l.mutateAsync({id:e.id,quotaThreshold:m.value}),await Promise.all([c.invalidateQueries({queryKey:[`Token`]}),c.invalidateQueries({queryKey:[`Qgrid`]})]),g())},children:l.isPending?`Saving...`:`Save`})]})]})]})]})}function ln({token:e}){let[n,r]=(0,p.useState)(null),[i,o]=(0,p.useState)(``),s=(0,p.useRef)(null),c=t(),l=u(),d=Qt(i),f=()=>{let t=s.current?.getBoundingClientRect();if(!t)return;let n=Math.min(Math.max(t.right-240,8),Math.max(window.innerWidth-240-8,8)),i=t.top-6-150,a=Math.min(Math.max(i>=8?i:t.bottom+6,8),Math.max(window.innerHeight-150-8,8));o(String(e.weight)),r({left:n,top:a})},m=()=>r(null),h=e=>{let t=/^\d+$/.test(i.trim())?Number(i.trim()):1;o(String(Math.min(Math.max(t+e,1),100)))};return(0,$.jsxs)(`div`,{className:`inline-flex`,children:[(0,$.jsxs)(`button`,{ref:s,type:`button`,title:`라우팅 가중치 설정`,onClick:n?m:f,className:`flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] border border-sand-200/80 text-sand-400 hover:text-sand-600 hover:border-sand-300 transition-colors duration-150`,children:[`Weight `,e.weight]}),n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onPointerDown:m}),(0,$.jsxs)(`div`,{className:`fixed z-50 w-60 panel shadow-xl p-3`,style:n,children:[(0,$.jsx)(`label`,{htmlFor:`weight-${e.id}`,className:`text-[10px] uppercase tracking-wider text-sand-500 font-medium`,children:`라우팅 가중치`}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>h(-1),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600`,children:`−`}),(0,$.jsx)(a,{id:`weight-${e.id}`,value:i,onChange:e=>o(e.target.value),inputMode:`numeric`,className:`h-9 w-16 border rounded-md text-center text-sm tabular-nums ${d.ok?`border-sand-200`:`border-red-300`}`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>h(1),className:`size-9 shrink-0 rounded-md border border-sand-200 text-sand-600`,children:`+`})]}),(0,$.jsx)(`p`,{className:`mt-1.5 text-[11px] ${d.ok?`text-sand-500`:`text-red-500`}`,children:d.ok?`새 요청의 상대 배정 비율입니다.`:d.error}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-end gap-1.5`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:m,className:`px-2 py-1 text-[11px]`,children:`Cancel`}),(0,$.jsx)(`button`,{type:`button`,onClick:async()=>{d.ok&&(await l.mutateAsync({id:e.id,weight:d.value}),await Promise.all([c.invalidateQueries({queryKey:[`Token`]}),c.invalidateQueries({queryKey:[`Qgrid`]})]),m())},disabled:l.isPending||!d.ok,className:`px-2 py-1 text-[11px] rounded-md bg-sienna-400 text-white disabled:opacity-50`,children:l.isPending?`Saving...`:`Save`})]})]})]})]})}function un({token:e}){let t=d(),n=async e=>{await t.submitCode(e)&&t.reset()};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,title:`기존 이름으로 다시 로그인`,disabled:t.loadingProvider!==null,onClick:()=>void t.start(e.provider,e.name??``),className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium border border-sienna-300 text-sienna-600 hover:bg-sienna-50 disabled:opacity-50 transition-colors duration-150`,children:t.loadingProvider===e.provider?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`size-2.5 border-2 border-sienna-400 border-t-transparent rounded-full animate-spin`}),`로그인 대기`]}):`재로그인`}),t.codeEntry&&(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,children:[(0,$.jsx)(`div`,{className:`absolute inset-0 bg-sand-900/8 backdrop-blur-sm`,onClick:t.reset,onKeyDown:()=>{}}),(0,$.jsxs)(`div`,{className:`relative panel shadow-xl w-full max-w-md mx-4`,children:[(0,$.jsx)(`div`,{className:`px-5 py-4 border-b border-sand-100/60`,children:(0,$.jsx)(`h3`,{className:`text-base font-medium text-sand-900`,children:`재로그인`})}),(0,$.jsx)(`div`,{className:`px-5 py-4`,children:(0,$.jsx)(l,{isPending:t.completeMutation.isPending,isError:t.completeMutation.isError,onSubmit:e=>void n(e),onRestart:t.reset})})]})]})]})}function dn({token:e}){let{attributes:t,listeners:n,setNodeRef:r,transform:i,transition:a,isDragging:c}=qt({id:String(e.id),transition:{duration:200,easing:`ease`}}),{data:l}=s.useTotalCost({num:0,page:1,...e.name?{token_name:e.name}:{}},{enabled:!!e.name}),u=tn(e.provider);return(0,$.jsxs)(`div`,{ref:r,style:{transform:N.Translate.toString(i),transition:a,opacity:c?.5:1,zIndex:c?10:void 0},className:`relative rounded-lg bg-white border border-sand-200/80 overflow-hidden shadow-sm hover:shadow-md transition-shadow duration-200`,children:[(0,$.jsx)(`div`,{className:`absolute inset-y-0 left-0 w-1 ${u.stripe}`}),(0,$.jsxs)(`div`,{className:`pl-4 pr-3 py-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2 mb-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(`button`,{type:`button`,"aria-label":`순서 변경 핸들`,...t,...n,className:`shrink-0 -m-1 p-1 text-sand-300 hover:text-sand-500 cursor-grab active:cursor-grabbing touch-none`,children:(0,$.jsx)(Yt,{className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`text-[13px] font-medium text-sand-800 truncate select-none`,children:e.name??`Unnamed`})]}),(0,$.jsx)(`span`,{className:`text-[11px] tabular-nums font-medium shrink-0 ${u.cost}`,title:`이 토큰의 누적 비용`,children:o(l?.usd??0)})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 mb-2`,children:[(0,$.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full uppercase ${u.badge}`,children:e.provider}),(0,$.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full ${e.active?`bg-sage-100 text-sage-600`:`bg-sand-200 text-sand-500`}`,children:e.active?`Active`:`Inactive`}),Xt.has(e.provider)&&e.quota_threshold!==null&&(0,$.jsxs)(`span`,{className:`px-1.5 py-0.5 rounded-full bg-sienna-50 text-[10px] tabular-nums font-medium text-sienna-600`,title:`사용률 ${e.quota_threshold}% 이상이면 이 토큰 제외`,children:[`≤ `,e.quota_threshold,`%`]})]}),(0,$.jsx)(sn,{token:e,theme:u}),(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,children:[!e.active&&(0,$.jsx)(un,{token:e}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(ln,{token:e}),(0,$.jsx)(cn,{token:e})]})]})]})}var fn=[`all`,`openai`,`anthropic`];function pn(){let{data:e,isLoading:n}=c.useTokens(`A`,{orderBy:`ord-asc`}),r=t(),i=c.useReorderMutation(),[a,o]=(0,p.useState)([]),[s,l]=(0,p.useState)(`all`);(0,p.useEffect)(()=>{e?.rows&&o(e.rows)},[e?.rows]);let u=tt(et(mt,{activationConstraint:{distance:5}})),d=t=>{let{active:n,over:s}=t;if(!s||n.id===s.id)return;let l=Number(n.id),u=Number(s.id),d=a.findIndex(e=>e.id===l),f=a.findIndex(e=>e.id===u);if(d===-1||f===-1)return;let p=Mt(a,d,f);o(p);let m=c.getTokensQueryOptions(`A`,{orderBy:`ord-asc`}).queryKey,h=r.getQueryData(m);r.setQueryData(m,e=>e&&{...e,rows:p}),i.mutate({ids:p.map(e=>e.id)},{onError:()=>{r.setQueryData(m,h),e?.rows&&o(e.rows)},onSettled:()=>{Promise.all([r.invalidateQueries({queryKey:[`Token`]}),r.invalidateQueries({queryKey:[`Qgrid`]})])}})};if(n)return(0,$.jsx)(`div`,{className:`panel p-5`,children:(0,$.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-3`,children:Array.from({length:4}).map((e,t)=>(0,$.jsxs)(`div`,{className:`rounded-lg bg-sand-50 px-4 py-3 animate-pulse`,children:[(0,$.jsx)(`div`,{className:`h-3 w-16 bg-sand-200 rounded mb-3`}),(0,$.jsx)(`div`,{className:`h-2 w-full bg-sand-200 rounded-full`})]},`skel-${t}`))})});if(a.length===0)return(0,$.jsx)(`div`,{className:`panel px-5 py-10`,children:(0,$.jsx)(`p`,{className:`text-sand-400 text-[13px] text-center`,children:`No tokens registered`})});let f=s===`all`?a:a.filter(e=>e.provider===s);return(0,$.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,$.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-5 py-2.5`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:`Token Usage`}),(0,$.jsx)(`div`,{className:`segmented-control flex gap-0.5`,children:fn.map(e=>(0,$.jsx)(`button`,{type:`button`,"data-active":s===e,className:`px-2.5 py-[3px] text-[11px] font-medium rounded-[6px] transition-all duration-150 ${s===e?`text-sand-800`:`text-sand-500 hover:text-sand-700`}`,onClick:()=>l(e),children:e===`all`?`All`:e===`openai`?`OpenAI`:`Anthropic`},e))})]}),(0,$.jsx)(`div`,{className:`p-4`,children:(0,$.jsx)(wt,{sensors:u,collisionDetection:me,onDragEnd:d,children:(0,$.jsx)(Rt,{items:f.map(e=>String(e.id)),strategy:Ft,children:(0,$.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-3`,children:f.map(e=>(0,$.jsx)(dn,{token:e},e.id))})})})})]})}function mn(){return(0,$.jsx)(`div`,{className:`max-w-6xl mx-auto`,children:(0,$.jsx)(pn,{})})}export{mn as component};
|
|
@@ -48,4 +48,4 @@ import{n as e,r as t,t as n}from"./rolldown-runtime-Dw2cE7zH.js";import{i as r}f
|
|
|
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=ai,s=!Gr.jitless,c=s&&oi.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?xo([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function wo(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=>!xi(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=>wi(e,r,Kr())))}),t)}var To=U(`$ZodUnion`,(e,t)=>{q.init(e,t),W(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),W(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),W(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),W(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=>Zr(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=>wo(t,i,e,a)):wo(s,i,e,a)}}),Eo=U(`$ZodIntersection`,(e,t)=>{q.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])=>Oo(e,t,n)):Oo(e,i,a)}});function Do(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(si(e)&&si(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=Do(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=Do(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 Oo(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}),xi(e))return e;let o=Do(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var ko=U(`$ZodEnum`,(e,t)=>{q.init(e,t);let n=qr(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>li.has(typeof e)).map(e=>typeof e==`string`?ui(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}}),Ao=U(`$ZodTransform`,(e,t)=>{q.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Wr(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 Ur;return n.value=i,n}});function jo(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var Mo=U(`$ZodOptional`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,W(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),W(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Zr(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=>jo(t,e.value)):jo(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),No=U(`$ZodExactOptional`,(e,t)=>{Mo.init(e,t),W(e._zod,`values`,()=>t.innerType._zod.values),W(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Po=U(`$ZodNullable`,(e,t)=>{q.init(e,t),W(e._zod,`optin`,()=>t.innerType._zod.optin),W(e._zod,`optout`,()=>t.innerType._zod.optout),W(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${Zr(e.source)}|null)$`):void 0}),W(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)}),Fo=U(`$ZodDefault`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,W(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=>Io(e,t)):Io(r,t)}});function Io(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Lo=U(`$ZodPrefault`,(e,t)=>{q.init(e,t),e._zod.optin=`optional`,W(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))}),Ro=U(`$ZodNonOptional`,(e,t)=>{q.init(e,t),W(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=>zo(t,e)):zo(i,e)}});function zo(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 Bo=U(`$ZodCatch`,(e,t)=>{q.init(e,t),W(e._zod,`optin`,()=>t.innerType._zod.optin),W(e._zod,`optout`,()=>t.innerType._zod.optout),W(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=>wi(e,n,Kr()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>wi(e,n,Kr()))},input:e.value}),e.issues=[]),e)}}),Vo=U(`$ZodPipe`,(e,t)=>{q.init(e,t),W(e._zod,`values`,()=>t.in._zod.values),W(e._zod,`optin`,()=>t.in._zod.optin),W(e._zod,`optout`,()=>t.out._zod.optout),W(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=>Ho(e,t.in,n)):Ho(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Ho(e,t.out,n)):Ho(r,t.out,n)}});function Ho(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Uo=U(`$ZodReadonly`,(e,t)=>{q.init(e,t),W(e._zod,`propValues`,()=>t.innerType._zod.propValues),W(e._zod,`values`,()=>t.innerType._zod.values),W(e._zod,`optin`,()=>t.innerType?._zod?.optin),W(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(Wo):Wo(r)}});function Wo(e){return e.value=Object.freeze(e.value),e}var Go=U(`$ZodCustom`,(e,t)=>{K.init(e,t),q.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=>Ko(t,n,r,e));Ko(i,n,r,e)}});function Ko(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(Ei(e))}}var qo,Jo=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 Yo(){return new Jo}(qo=globalThis).__zod_globalRegistry??(qo.__zod_globalRegistry=Yo());var Xo=globalThis.__zod_globalRegistry;function Zo(e,t){return new e({type:`string`,...G(t)})}function Qo(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...G(t)})}function $o(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...G(t)})}function es(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...G(t)})}function ts(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...G(t)})}function ns(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...G(t)})}function rs(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...G(t)})}function is(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...G(t)})}function as(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...G(t)})}function os(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...G(t)})}function ss(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...G(t)})}function cs(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...G(t)})}function ls(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...G(t)})}function us(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...G(t)})}function ds(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...G(t)})}function fs(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...G(t)})}function ps(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...G(t)})}function ms(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...G(t)})}function hs(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...G(t)})}function gs(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...G(t)})}function _s(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...G(t)})}function vs(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...G(t)})}function ys(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...G(t)})}function bs(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...G(t)})}function xs(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...G(t)})}function Ss(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...G(t)})}function Cs(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...G(t)})}function ws(e,t){return new e({type:`number`,checks:[],...G(t)})}function Ts(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...G(t)})}function Es(e){return new e({type:`unknown`})}function Ds(e,t){return new e({type:`never`,...G(t)})}function Os(e,t){return new Sa({check:`less_than`,...G(t),value:e,inclusive:!1})}function ks(e,t){return new Sa({check:`less_than`,...G(t),value:e,inclusive:!0})}function As(e,t){return new Ca({check:`greater_than`,...G(t),value:e,inclusive:!1})}function js(e,t){return new Ca({check:`greater_than`,...G(t),value:e,inclusive:!0})}function Ms(e,t){return new wa({check:`multiple_of`,...G(t),value:e})}function Ns(e,t){return new Ea({check:`max_length`,...G(t),maximum:e})}function Ps(e,t){return new Da({check:`min_length`,...G(t),minimum:e})}function Fs(e,t){return new Oa({check:`length_equals`,...G(t),length:e})}function Is(e,t){return new Aa({check:`string_format`,format:`regex`,...G(t),pattern:e})}function Ls(e){return new ja({check:`string_format`,format:`lowercase`,...G(e)})}function Rs(e){return new Ma({check:`string_format`,format:`uppercase`,...G(e)})}function zs(e,t){return new Na({check:`string_format`,format:`includes`,...G(t),includes:e})}function Bs(e,t){return new Pa({check:`string_format`,format:`starts_with`,...G(t),prefix:e})}function Vs(e,t){return new Fa({check:`string_format`,format:`ends_with`,...G(t),suffix:e})}function Hs(e){return new Ia({check:`overwrite`,tx:e})}function Us(e){return Hs(t=>t.normalize(e))}function Ws(){return Hs(e=>e.trim())}function Gs(){return Hs(e=>e.toLowerCase())}function Ks(){return Hs(e=>e.toUpperCase())}function qs(){return Hs(e=>ri(e))}function Js(e,t,n){return new e({type:`array`,element:t,...G(n)})}function Ys(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...G(n)})}function Xs(e){let t=Zs(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(Ei(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(Ei(r))}},e(n.value,n)));return t}function Zs(e,t){let n=new K({check:`custom`,...G(t)});return n._zod.check=e,n}function Qs(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??Xo,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 Y(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,Y(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`&&X(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 $s(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 ec(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:nc(t,`input`,e.processors),output:nc(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function X(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 X(r.element,n);if(r.type===`set`)return X(r.valueType,n);if(r.type===`lazy`)return X(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 X(r.innerType,n);if(r.type===`intersection`)return X(r.left,n)||X(r.right,n);if(r.type===`record`||r.type===`map`)return X(r.keyType,n)||X(r.valueType,n);if(r.type===`pipe`)return X(r.in,n)||X(r.out,n);if(r.type===`object`){for(let e in r.shape)if(X(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(X(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(X(e,n))return!0;return!!(r.rest&&X(r.rest,n))}return!1}var tc=(e,t={})=>n=>{let r=Qs({...n,processors:t});return Y(e,r),$s(r,e),ec(r,e)},nc=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Qs({...i??{},target:a,io:t,processors:n});return Y(e,o),$s(o,e),ec(o,e)},rc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ic=(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=rc[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}))])}},ac=(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)},oc=(e,t,n,r)=>{n.not={}},sc=(e,t,n,r)=>{let i=e._zod.def,a=qr(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},cc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},lc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},uc=(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=Y(a.element,t,{...r,path:[...r.path,`items`]})},dc=(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]=Y(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=Y(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},fc=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Y(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},pc=(e,t,n,r)=>{let i=e._zod.def,a=Y(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Y(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]]},mc=(e,t,n,r)=>{let i=e._zod.def,a=Y(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`}]},hc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},gc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},_c=(e,t,n,r)=>{let i=e._zod.def;Y(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)))},vc=(e,t,n,r)=>{let i=e._zod.def;Y(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},yc=(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;Y(a,t,r);let o=t.seen.get(e);o.ref=a},bc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},xc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Sc=U(`ZodISODateTime`,(e,t)=>{Za.init(e,t),$.init(e,t)});function Cc(e){return bs(Sc,e)}var wc=U(`ZodISODate`,(e,t)=>{Qa.init(e,t),$.init(e,t)});function Tc(e){return xs(wc,e)}var Ec=U(`ZodISOTime`,(e,t)=>{$a.init(e,t),$.init(e,t)});function Dc(e){return Ss(Ec,e)}var Oc=U(`ZodISODuration`,(e,t)=>{eo.init(e,t),$.init(e,t)});function kc(e){return Cs(Oc,e)}var Ac=(e,t)=>{Oi.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>ji(e,t)},flatten:{value:t=>Ai(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Jr,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Jr,2)}},isEmpty:{get(){return e.issues.length===0}}})};U(`ZodError`,Ac);var Z=U(`ZodError`,Ac,{Parent:Error}),jc=Mi(Z),Mc=Ni(Z),Nc=Pi(Z),Pc=Ii(Z),Fc=Ri(Z),Ic=zi(Z),Lc=Bi(Z),Rc=Vi(Z),zc=Hi(Z),Bc=Ui(Z),Vc=Wi(Z),Hc=Gi(Z),Q=U(`ZodType`,(e,t)=>(q.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:nc(e,`input`),output:nc(e,`output`)}}),e.toJSONSchema=tc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(ti(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)=>di(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>jc(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Nc(e,t,n),e.parseAsync=async(t,n)=>Mc(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Pc(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Fc(e,t,n),e.decode=(t,n)=>Ic(e,t,n),e.encodeAsync=async(t,n)=>Lc(e,t,n),e.decodeAsync=async(t,n)=>Rc(e,t,n),e.safeEncode=(t,n)=>zc(e,t,n),e.safeDecode=(t,n)=>Bc(e,t,n),e.safeEncodeAsync=async(t,n)=>Vc(e,t,n),e.safeDecodeAsync=async(t,n)=>Hc(e,t,n),e.refine=(t,n)=>e.check(Xl(t,n)),e.superRefine=t=>e.check(Zl(t)),e.overwrite=t=>e.check(Hs(t)),e.optional=()=>Ml(e),e.exactOptional=()=>Pl(e),e.nullable=()=>Il(e),e.nullish=()=>Ml(Il(e)),e.nonoptional=t=>Hl(e,t),e.array=()=>bl(e),e.or=t=>wl([e,t]),e.and=t=>El(e,t),e.transform=t=>Kl(e,Al(t)),e.default=t=>Rl(e,t),e.prefault=t=>Bl(e,t),e.catch=t=>Wl(e,t),e.pipe=t=>Kl(e,t),e.readonly=()=>Jl(e),e.describe=t=>{let n=e.clone();return Xo.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return Xo.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return Xo.get(e);let n=e.clone();return Xo.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),Uc=U(`_ZodString`,(e,t)=>{za.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ic(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(Is(...t)),e.includes=(...t)=>e.check(zs(...t)),e.startsWith=(...t)=>e.check(Bs(...t)),e.endsWith=(...t)=>e.check(Vs(...t)),e.min=(...t)=>e.check(Ps(...t)),e.max=(...t)=>e.check(Ns(...t)),e.length=(...t)=>e.check(Fs(...t)),e.nonempty=(...t)=>e.check(Ps(1,...t)),e.lowercase=t=>e.check(Ls(t)),e.uppercase=t=>e.check(Rs(t)),e.trim=()=>e.check(Ws()),e.normalize=(...t)=>e.check(Us(...t)),e.toLowerCase=()=>e.check(Gs()),e.toUpperCase=()=>e.check(Ks()),e.slugify=()=>e.check(qs())}),Wc=U(`ZodString`,(e,t)=>{za.init(e,t),Uc.init(e,t),e.email=t=>e.check(Qo(Kc,t)),e.url=t=>e.check(is(Yc,t)),e.jwt=t=>e.check(ys(ul,t)),e.emoji=t=>e.check(as(Xc,t)),e.guid=t=>e.check($o(qc,t)),e.uuid=t=>e.check(es(Jc,t)),e.uuidv4=t=>e.check(ts(Jc,t)),e.uuidv6=t=>e.check(ns(Jc,t)),e.uuidv7=t=>e.check(rs(Jc,t)),e.nanoid=t=>e.check(os(Zc,t)),e.guid=t=>e.check($o(qc,t)),e.cuid=t=>e.check(ss(Qc,t)),e.cuid2=t=>e.check(cs($c,t)),e.ulid=t=>e.check(ls(el,t)),e.base64=t=>e.check(gs(sl,t)),e.base64url=t=>e.check(_s(cl,t)),e.xid=t=>e.check(us(tl,t)),e.ksuid=t=>e.check(ds(nl,t)),e.ipv4=t=>e.check(fs(rl,t)),e.ipv6=t=>e.check(ps(il,t)),e.cidrv4=t=>e.check(ms(al,t)),e.cidrv6=t=>e.check(hs(ol,t)),e.e164=t=>e.check(vs(ll,t)),e.datetime=t=>e.check(Cc(t)),e.date=t=>e.check(Tc(t)),e.time=t=>e.check(Dc(t)),e.duration=t=>e.check(kc(t))});function Gc(e){return Zo(Wc,e)}var $=U(`ZodStringFormat`,(e,t)=>{J.init(e,t),Uc.init(e,t)}),Kc=U(`ZodEmail`,(e,t)=>{Ha.init(e,t),$.init(e,t)}),qc=U(`ZodGUID`,(e,t)=>{Ba.init(e,t),$.init(e,t)}),Jc=U(`ZodUUID`,(e,t)=>{Va.init(e,t),$.init(e,t)}),Yc=U(`ZodURL`,(e,t)=>{Ua.init(e,t),$.init(e,t)}),Xc=U(`ZodEmoji`,(e,t)=>{Wa.init(e,t),$.init(e,t)}),Zc=U(`ZodNanoID`,(e,t)=>{Ga.init(e,t),$.init(e,t)}),Qc=U(`ZodCUID`,(e,t)=>{Ka.init(e,t),$.init(e,t)}),$c=U(`ZodCUID2`,(e,t)=>{qa.init(e,t),$.init(e,t)}),el=U(`ZodULID`,(e,t)=>{Ja.init(e,t),$.init(e,t)}),tl=U(`ZodXID`,(e,t)=>{Ya.init(e,t),$.init(e,t)}),nl=U(`ZodKSUID`,(e,t)=>{Xa.init(e,t),$.init(e,t)}),rl=U(`ZodIPv4`,(e,t)=>{to.init(e,t),$.init(e,t)}),il=U(`ZodIPv6`,(e,t)=>{no.init(e,t),$.init(e,t)}),al=U(`ZodCIDRv4`,(e,t)=>{ro.init(e,t),$.init(e,t)}),ol=U(`ZodCIDRv6`,(e,t)=>{io.init(e,t),$.init(e,t)}),sl=U(`ZodBase64`,(e,t)=>{oo.init(e,t),$.init(e,t)}),cl=U(`ZodBase64URL`,(e,t)=>{co.init(e,t),$.init(e,t)}),ll=U(`ZodE164`,(e,t)=>{lo.init(e,t),$.init(e,t)}),ul=U(`ZodJWT`,(e,t)=>{fo.init(e,t),$.init(e,t)}),dl=U(`ZodNumber`,(e,t)=>{po.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ac(e,t,n,r),e.gt=(t,n)=>e.check(As(t,n)),e.gte=(t,n)=>e.check(js(t,n)),e.min=(t,n)=>e.check(js(t,n)),e.lt=(t,n)=>e.check(Os(t,n)),e.lte=(t,n)=>e.check(ks(t,n)),e.max=(t,n)=>e.check(ks(t,n)),e.int=t=>e.check(ml(t)),e.safe=t=>e.check(ml(t)),e.positive=t=>e.check(As(0,t)),e.nonnegative=t=>e.check(js(0,t)),e.negative=t=>e.check(Os(0,t)),e.nonpositive=t=>e.check(ks(0,t)),e.multipleOf=(t,n)=>e.check(Ms(t,n)),e.step=(t,n)=>e.check(Ms(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 fl(e){return ws(dl,e)}var pl=U(`ZodNumberFormat`,(e,t)=>{mo.init(e,t),dl.init(e,t)});function ml(e){return Ts(pl,e)}var hl=U(`ZodUnknown`,(e,t)=>{ho.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function gl(){return Es(hl)}var _l=U(`ZodNever`,(e,t)=>{go.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oc(e,t,n,r)});function vl(e){return Ds(_l,e)}var yl=U(`ZodArray`,(e,t)=>{vo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uc(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Ps(t,n)),e.nonempty=t=>e.check(Ps(1,t)),e.max=(t,n)=>e.check(Ns(t,n)),e.length=(t,n)=>e.check(Fs(t,n)),e.unwrap=()=>e.element});function bl(e,t){return Js(yl,e,t)}var xl=U(`ZodObject`,(e,t)=>{Co.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dc(e,t,n,r),W(e,`shape`,()=>t.shape),e.keyof=()=>Ol(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:gl()}),e.loose=()=>e.clone({...e._zod.def,catchall:gl()}),e.strict=()=>e.clone({...e._zod.def,catchall:vl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>gi(e,t),e.safeExtend=t=>_i(e,t),e.merge=t=>vi(e,t),e.pick=t=>mi(e,t),e.omit=t=>hi(e,t),e.partial=(...t)=>yi(jl,e,t[0]),e.required=(...t)=>bi(Vl,e,t[0])});function Sl(e,t){return new xl({type:`object`,shape:e??{},...G(t)})}var Cl=U(`ZodUnion`,(e,t)=>{To.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fc(e,t,n,r),e.options=t.options});function wl(e,t){return new Cl({type:`union`,options:e,...G(t)})}var Tl=U(`ZodIntersection`,(e,t)=>{Eo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pc(e,t,n,r)});function El(e,t){return new Tl({type:`intersection`,left:e,right:t})}var Dl=U(`ZodEnum`,(e,t)=>{ko.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sc(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 Dl({...t,checks:[],...G(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 Dl({...t,checks:[],...G(r),entries:i})}});function Ol(e,t){return new Dl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...G(t)})}var kl=U(`ZodTransform`,(e,t)=>{Ao.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Wr(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ei(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(Ei(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Al(e){return new kl({type:`transform`,transform:e})}var jl=U(`ZodOptional`,(e,t)=>{Mo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ml(e){return new jl({type:`optional`,innerType:e})}var Nl=U(`ZodExactOptional`,(e,t)=>{No.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Pl(e){return new Nl({type:`optional`,innerType:e})}var Fl=U(`ZodNullable`,(e,t)=>{Po.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Il(e){return new Fl({type:`nullable`,innerType:e})}var Ll=U(`ZodDefault`,(e,t)=>{Fo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Rl(e,t){return new Ll({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ci(t)}})}var zl=U(`ZodPrefault`,(e,t)=>{Lo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_c(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Bl(e,t){return new zl({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ci(t)}})}var Vl=U(`ZodNonOptional`,(e,t)=>{Ro.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Hl(e,t){return new Vl({type:`nonoptional`,innerType:e,...G(t)})}var Ul=U(`ZodCatch`,(e,t)=>{Bo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Wl(e,t){return new Ul({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Gl=U(`ZodPipe`,(e,t)=>{Vo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yc(e,t,n,r),e.in=t.in,e.out=t.out});function Kl(e,t){return new Gl({type:`pipe`,in:e,out:t})}var ql=U(`ZodReadonly`,(e,t)=>{Uo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Jl(e){return new ql({type:`readonly`,innerType:e})}var Yl=U(`ZodCustom`,(e,t)=>{Go.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cc(e,t,n,r)});function Xl(e,t={}){return Ys(Yl,e,t)}function Zl(e){return Xs(e)}var Ql=t(Hr(),1),$l=t(r(),1);function eu(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}R.defaults.transformResponse=[e=>{if(typeof e==`string`)try{return JSON.parse(e,eu)}catch{return e}return e}],R.interceptors.request.use(e=>(e.headers[`Accept-Language`]=mu(),e));async function tu(e){try{return(await R({...e})).data}catch(e){if(R.isAxiosError(e)&&e.response?.data){let t=e.response.data;throw new nu(e.response.status,t.message,t.issues)}throw e}}var nu=class extends Error{isSonamuError;constructor(e,t,n){super(t),this.code=e,this.message=t,this.issues=n,this.isSonamuError=!0}};Ol([`both`,`list`,`count`]),Sl({semanticQuery:Sl({embedding:bl(fl()).min(1024).max(1024),threshold:fl().optional(),method:Ol([`cosine`,`l2`,`inner_product`]).optional()})}),Gc().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`),Sl({name:Gc(),url:Gc(),mime_type:Gc(),size:fl()});function ru(e,t,n,r={}){let{enabled:i=!0,retry:a=3,retryInterval:o=3e3}=r,[s,c]=(0,$l.useState)({isConnected:!1,error:null,retryCount:0,isEnded:!1}),l=(0,$l.useRef)(null),u=(0,$l.useRef)(null),d=(0,$l.useRef)(n);(0,$l.useEffect)(()=>{d.current=n},[n]);let f=()=>{if(i)try{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null);let n=Ql.default.stringify(t),r=new Yn(n?`${e}?${n}`:e,{fetch:(e,t)=>globalThis.fetch(e,{...t,headers:{...t?.headers,"Accept-Language":mu()}})});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,eu))}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,eu),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,$l.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 iu(e,t){let n=e===0&&t.zero||e===1&&t.one||t.other;return typeof n==`function`?n(e):n??e.toString()}function au(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 ou(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 su(e){let[t,n]=(0,$l.useState)(!1),r=(0,$l.useCallback)(async()=>{n(!0);try{await e.refetch()}finally{n(!1)}},[e]);return{...e,refresh:r,isRefreshing:t}}var cu={"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=>iu(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`,"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`},lu={"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":`서비스를 사용할 수 없습니다`,"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}${au(e,`은는`)} 최대 ${t}자까지 입력할 수 있습니다`,"validation.minLength":(e,t)=>`${e}${au(e,`은는`)} 최소 ${t}자 이상이어야 합니다`,"validation.required":e=>`${au(e,`은는`)} 필수입니다`,"validation.url":`올바른 URL 형식이 아닙니다`},uu=`ko`,du=[`ko`,`en`],fu=uu;function pu(e){fu=e}function mu(){return fu}var hu={"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":`저장`},gu={"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`},_u={"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.effort":`effort level`,"entity.RequestLog.history":`inject_items 히스토리`,"entity.RequestLog.tools":`요청에 장착된 tool 정의 목록`,"entity.RequestLog.status":`실행 상태`,"entity.RequestLog.error_message":`에러 메시지`,"entity.RequestLog.tool_call_count":`tool call 횟수`,"entity.RequestLog.is_image_generation":`이미지 생성 turn 여부 (quota 귀속용)`,"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.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.ord":`정렬 순서`,"entity.Token.quota_threshold":`quota 사용률 임계치(%). null이면 미설정`,"entity.Token.weight":`가중 라운드로빈 라우팅 가중치 (1..100)`,"enum.TokenOrderBy.id-desc":`ID최신순`,"enum.TokenOrderBy.ord-asc":`순서순`,"enum.TokenSearchField.id":`ID`,"enum.TokenSearchField.name":`이름`},vu={ko:{...hu,..._u,...lu},en:{...gu,...cu}};function yu(e,t){let n=vu[t];if(n?.[e]!==void 0)return n[e];if(t!==uu&&vu[uu]?.[e]!==void 0)return vu[uu][e];for(let n of du)if(n!==t&&n!==uu&&vu[n]?.[e]!==void 0)return vu[n][e];return e}function bu(e){return yu(e,mu())}bu.locale=e=>t=>yu(t,e),bu.enumLabels=e=>new Proxy({},{get(t,n){if(typeof n!=`symbol`)return yu(`enum.${e}.${n}`,mu())}});export{ou as a,ru as c,Sl as d,Gc as f,eu as i,Ol as l,du as n,tu as o,Hr as p,pu as r,su as s,bu as t,fl as u};
|
|
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 ec(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:nc(t,`input`,e.processors),output:nc(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function X(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 X(r.element,n);if(r.type===`set`)return X(r.valueType,n);if(r.type===`lazy`)return X(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 X(r.innerType,n);if(r.type===`intersection`)return X(r.left,n)||X(r.right,n);if(r.type===`record`||r.type===`map`)return X(r.keyType,n)||X(r.valueType,n);if(r.type===`pipe`)return X(r.in,n)||X(r.out,n);if(r.type===`object`){for(let e in r.shape)if(X(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(X(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(X(e,n))return!0;return!!(r.rest&&X(r.rest,n))}return!1}var tc=(e,t={})=>n=>{let r=Qs({...n,processors:t});return Y(e,r),$s(r,e),ec(r,e)},nc=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Qs({...i??{},target:a,io:t,processors:n});return Y(e,o),$s(o,e),ec(o,e)},rc={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ic=(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=rc[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}))])}},ac=(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)},oc=(e,t,n,r)=>{n.not={}},sc=(e,t,n,r)=>{let i=e._zod.def,a=qr(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},cc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},lc=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},uc=(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=Y(a.element,t,{...r,path:[...r.path,`items`]})},dc=(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]=Y(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=Y(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},fc=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Y(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},pc=(e,t,n,r)=>{let i=e._zod.def,a=Y(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Y(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]]},mc=(e,t,n,r)=>{let i=e._zod.def,a=Y(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`}]},hc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},gc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},_c=(e,t,n,r)=>{let i=e._zod.def;Y(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)))},vc=(e,t,n,r)=>{let i=e._zod.def;Y(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},yc=(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;Y(a,t,r);let o=t.seen.get(e);o.ref=a},bc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},xc=(e,t,n,r)=>{let i=e._zod.def;Y(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Sc=U(`ZodISODateTime`,(e,t)=>{Za.init(e,t),$.init(e,t)});function Cc(e){return bs(Sc,e)}var wc=U(`ZodISODate`,(e,t)=>{Qa.init(e,t),$.init(e,t)});function Tc(e){return xs(wc,e)}var Ec=U(`ZodISOTime`,(e,t)=>{$a.init(e,t),$.init(e,t)});function Dc(e){return Ss(Ec,e)}var Oc=U(`ZodISODuration`,(e,t)=>{eo.init(e,t),$.init(e,t)});function kc(e){return Cs(Oc,e)}var Ac=(e,t)=>{Oi.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>ji(e,t)},flatten:{value:t=>Ai(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Jr,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Jr,2)}},isEmpty:{get(){return e.issues.length===0}}})};U(`ZodError`,Ac);var Z=U(`ZodError`,Ac,{Parent:Error}),jc=Mi(Z),Mc=Ni(Z),Nc=Pi(Z),Pc=Ii(Z),Fc=Ri(Z),Ic=zi(Z),Lc=Bi(Z),Rc=Vi(Z),zc=Hi(Z),Bc=Ui(Z),Vc=Wi(Z),Hc=Gi(Z),Q=U(`ZodType`,(e,t)=>(q.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:nc(e,`input`),output:nc(e,`output`)}}),e.toJSONSchema=tc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(ti(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)=>di(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>jc(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Nc(e,t,n),e.parseAsync=async(t,n)=>Mc(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Pc(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Fc(e,t,n),e.decode=(t,n)=>Ic(e,t,n),e.encodeAsync=async(t,n)=>Lc(e,t,n),e.decodeAsync=async(t,n)=>Rc(e,t,n),e.safeEncode=(t,n)=>zc(e,t,n),e.safeDecode=(t,n)=>Bc(e,t,n),e.safeEncodeAsync=async(t,n)=>Vc(e,t,n),e.safeDecodeAsync=async(t,n)=>Hc(e,t,n),e.refine=(t,n)=>e.check(Xl(t,n)),e.superRefine=t=>e.check(Zl(t)),e.overwrite=t=>e.check(Hs(t)),e.optional=()=>Ml(e),e.exactOptional=()=>Pl(e),e.nullable=()=>Il(e),e.nullish=()=>Ml(Il(e)),e.nonoptional=t=>Hl(e,t),e.array=()=>bl(e),e.or=t=>wl([e,t]),e.and=t=>El(e,t),e.transform=t=>Kl(e,Al(t)),e.default=t=>Rl(e,t),e.prefault=t=>Bl(e,t),e.catch=t=>Wl(e,t),e.pipe=t=>Kl(e,t),e.readonly=()=>Jl(e),e.describe=t=>{let n=e.clone();return Xo.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return Xo.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return Xo.get(e);let n=e.clone();return Xo.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),Uc=U(`_ZodString`,(e,t)=>{za.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ic(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(Is(...t)),e.includes=(...t)=>e.check(zs(...t)),e.startsWith=(...t)=>e.check(Bs(...t)),e.endsWith=(...t)=>e.check(Vs(...t)),e.min=(...t)=>e.check(Ps(...t)),e.max=(...t)=>e.check(Ns(...t)),e.length=(...t)=>e.check(Fs(...t)),e.nonempty=(...t)=>e.check(Ps(1,...t)),e.lowercase=t=>e.check(Ls(t)),e.uppercase=t=>e.check(Rs(t)),e.trim=()=>e.check(Ws()),e.normalize=(...t)=>e.check(Us(...t)),e.toLowerCase=()=>e.check(Gs()),e.toUpperCase=()=>e.check(Ks()),e.slugify=()=>e.check(qs())}),Wc=U(`ZodString`,(e,t)=>{za.init(e,t),Uc.init(e,t),e.email=t=>e.check(Qo(Kc,t)),e.url=t=>e.check(is(Yc,t)),e.jwt=t=>e.check(ys(ul,t)),e.emoji=t=>e.check(as(Xc,t)),e.guid=t=>e.check($o(qc,t)),e.uuid=t=>e.check(es(Jc,t)),e.uuidv4=t=>e.check(ts(Jc,t)),e.uuidv6=t=>e.check(ns(Jc,t)),e.uuidv7=t=>e.check(rs(Jc,t)),e.nanoid=t=>e.check(os(Zc,t)),e.guid=t=>e.check($o(qc,t)),e.cuid=t=>e.check(ss(Qc,t)),e.cuid2=t=>e.check(cs($c,t)),e.ulid=t=>e.check(ls(el,t)),e.base64=t=>e.check(gs(sl,t)),e.base64url=t=>e.check(_s(cl,t)),e.xid=t=>e.check(us(tl,t)),e.ksuid=t=>e.check(ds(nl,t)),e.ipv4=t=>e.check(fs(rl,t)),e.ipv6=t=>e.check(ps(il,t)),e.cidrv4=t=>e.check(ms(al,t)),e.cidrv6=t=>e.check(hs(ol,t)),e.e164=t=>e.check(vs(ll,t)),e.datetime=t=>e.check(Cc(t)),e.date=t=>e.check(Tc(t)),e.time=t=>e.check(Dc(t)),e.duration=t=>e.check(kc(t))});function Gc(e){return Zo(Wc,e)}var $=U(`ZodStringFormat`,(e,t)=>{J.init(e,t),Uc.init(e,t)}),Kc=U(`ZodEmail`,(e,t)=>{Ha.init(e,t),$.init(e,t)}),qc=U(`ZodGUID`,(e,t)=>{Ba.init(e,t),$.init(e,t)}),Jc=U(`ZodUUID`,(e,t)=>{Va.init(e,t),$.init(e,t)}),Yc=U(`ZodURL`,(e,t)=>{Ua.init(e,t),$.init(e,t)}),Xc=U(`ZodEmoji`,(e,t)=>{Wa.init(e,t),$.init(e,t)}),Zc=U(`ZodNanoID`,(e,t)=>{Ga.init(e,t),$.init(e,t)}),Qc=U(`ZodCUID`,(e,t)=>{Ka.init(e,t),$.init(e,t)}),$c=U(`ZodCUID2`,(e,t)=>{qa.init(e,t),$.init(e,t)}),el=U(`ZodULID`,(e,t)=>{Ja.init(e,t),$.init(e,t)}),tl=U(`ZodXID`,(e,t)=>{Ya.init(e,t),$.init(e,t)}),nl=U(`ZodKSUID`,(e,t)=>{Xa.init(e,t),$.init(e,t)}),rl=U(`ZodIPv4`,(e,t)=>{to.init(e,t),$.init(e,t)}),il=U(`ZodIPv6`,(e,t)=>{no.init(e,t),$.init(e,t)}),al=U(`ZodCIDRv4`,(e,t)=>{ro.init(e,t),$.init(e,t)}),ol=U(`ZodCIDRv6`,(e,t)=>{io.init(e,t),$.init(e,t)}),sl=U(`ZodBase64`,(e,t)=>{oo.init(e,t),$.init(e,t)}),cl=U(`ZodBase64URL`,(e,t)=>{co.init(e,t),$.init(e,t)}),ll=U(`ZodE164`,(e,t)=>{lo.init(e,t),$.init(e,t)}),ul=U(`ZodJWT`,(e,t)=>{fo.init(e,t),$.init(e,t)}),dl=U(`ZodNumber`,(e,t)=>{po.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ac(e,t,n,r),e.gt=(t,n)=>e.check(As(t,n)),e.gte=(t,n)=>e.check(js(t,n)),e.min=(t,n)=>e.check(js(t,n)),e.lt=(t,n)=>e.check(Os(t,n)),e.lte=(t,n)=>e.check(ks(t,n)),e.max=(t,n)=>e.check(ks(t,n)),e.int=t=>e.check(ml(t)),e.safe=t=>e.check(ml(t)),e.positive=t=>e.check(As(0,t)),e.nonnegative=t=>e.check(js(0,t)),e.negative=t=>e.check(Os(0,t)),e.nonpositive=t=>e.check(ks(0,t)),e.multipleOf=(t,n)=>e.check(Ms(t,n)),e.step=(t,n)=>e.check(Ms(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 fl(e){return ws(dl,e)}var pl=U(`ZodNumberFormat`,(e,t)=>{mo.init(e,t),dl.init(e,t)});function ml(e){return Ts(pl,e)}var hl=U(`ZodUnknown`,(e,t)=>{ho.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function gl(){return Es(hl)}var _l=U(`ZodNever`,(e,t)=>{go.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oc(e,t,n,r)});function vl(e){return Ds(_l,e)}var yl=U(`ZodArray`,(e,t)=>{vo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uc(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Ps(t,n)),e.nonempty=t=>e.check(Ps(1,t)),e.max=(t,n)=>e.check(Ns(t,n)),e.length=(t,n)=>e.check(Fs(t,n)),e.unwrap=()=>e.element});function bl(e,t){return Js(yl,e,t)}var xl=U(`ZodObject`,(e,t)=>{Co.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dc(e,t,n,r),W(e,`shape`,()=>t.shape),e.keyof=()=>Ol(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:gl()}),e.loose=()=>e.clone({...e._zod.def,catchall:gl()}),e.strict=()=>e.clone({...e._zod.def,catchall:vl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>gi(e,t),e.safeExtend=t=>_i(e,t),e.merge=t=>vi(e,t),e.pick=t=>mi(e,t),e.omit=t=>hi(e,t),e.partial=(...t)=>yi(jl,e,t[0]),e.required=(...t)=>bi(Vl,e,t[0])});function Sl(e,t){return new xl({type:`object`,shape:e??{},...G(t)})}var Cl=U(`ZodUnion`,(e,t)=>{To.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fc(e,t,n,r),e.options=t.options});function wl(e,t){return new Cl({type:`union`,options:e,...G(t)})}var Tl=U(`ZodIntersection`,(e,t)=>{Eo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pc(e,t,n,r)});function El(e,t){return new Tl({type:`intersection`,left:e,right:t})}var Dl=U(`ZodEnum`,(e,t)=>{ko.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sc(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 Dl({...t,checks:[],...G(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 Dl({...t,checks:[],...G(r),entries:i})}});function Ol(e,t){return new Dl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...G(t)})}var kl=U(`ZodTransform`,(e,t)=>{Ao.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Wr(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Ei(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(Ei(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Al(e){return new kl({type:`transform`,transform:e})}var jl=U(`ZodOptional`,(e,t)=>{Mo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ml(e){return new jl({type:`optional`,innerType:e})}var Nl=U(`ZodExactOptional`,(e,t)=>{No.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Pl(e){return new Nl({type:`optional`,innerType:e})}var Fl=U(`ZodNullable`,(e,t)=>{Po.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Il(e){return new Fl({type:`nullable`,innerType:e})}var Ll=U(`ZodDefault`,(e,t)=>{Fo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Rl(e,t){return new Ll({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ci(t)}})}var zl=U(`ZodPrefault`,(e,t)=>{Lo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_c(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Bl(e,t){return new zl({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ci(t)}})}var Vl=U(`ZodNonOptional`,(e,t)=>{Ro.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Hl(e,t){return new Vl({type:`nonoptional`,innerType:e,...G(t)})}var Ul=U(`ZodCatch`,(e,t)=>{Bo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Wl(e,t){return new Ul({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var Gl=U(`ZodPipe`,(e,t)=>{Vo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yc(e,t,n,r),e.in=t.in,e.out=t.out});function Kl(e,t){return new Gl({type:`pipe`,in:e,out:t})}var ql=U(`ZodReadonly`,(e,t)=>{Uo.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Jl(e){return new ql({type:`readonly`,innerType:e})}var Yl=U(`ZodCustom`,(e,t)=>{Go.init(e,t),Q.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cc(e,t,n,r)});function Xl(e,t={}){return Ys(Yl,e,t)}function Zl(e){return Xs(e)}var Ql=t(Hr(),1),$l=t(r(),1);function eu(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}R.defaults.transformResponse=[e=>{if(typeof e==`string`)try{return JSON.parse(e,eu)}catch{return e}return e}],R.interceptors.request.use(e=>(e.headers[`Accept-Language`]=mu(),e));async function tu(e){try{return(await R({...e})).data}catch(e){if(R.isAxiosError(e)&&e.response?.data){let t=e.response.data;throw new nu(e.response.status,t.message,t.issues)}throw e}}var nu=class extends Error{isSonamuError;constructor(e,t,n){super(t),this.code=e,this.message=t,this.issues=n,this.isSonamuError=!0}};Ol([`both`,`list`,`count`]),Sl({semanticQuery:Sl({embedding:bl(fl()).min(1024).max(1024),threshold:fl().optional(),method:Ol([`cosine`,`l2`,`inner_product`]).optional()})}),Gc().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`),Sl({name:Gc(),url:Gc(),mime_type:Gc(),size:fl()});function ru(e,t,n,r={}){let{enabled:i=!0,retry:a=3,retryInterval:o=3e3}=r,[s,c]=(0,$l.useState)({isConnected:!1,error:null,retryCount:0,isEnded:!1}),l=(0,$l.useRef)(null),u=(0,$l.useRef)(null),d=(0,$l.useRef)(n);(0,$l.useEffect)(()=>{d.current=n},[n]);let f=()=>{if(i)try{l.current&&=(l.current.close(),null),u.current&&=(clearTimeout(u.current),null);let n=Ql.default.stringify(t),r=new Yn(n?`${e}?${n}`:e,{fetch:(e,t)=>globalThis.fetch(e,{...t,headers:{...t?.headers,"Accept-Language":mu()}})});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,eu))}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,eu),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,$l.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 iu(e,t){let n=e===0&&t.zero||e===1&&t.one||t.other;return typeof n==`function`?n(e):n??e.toString()}function au(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 ou(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 su(e){let[t,n]=(0,$l.useState)(!1),r=(0,$l.useCallback)(async()=>{n(!0);try{await e.refetch()}finally{n(!1)}},[e]);return{...e,refresh:r,isRefreshing:t}}var cu={"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=>iu(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`},lu={"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}${au(e,`은는`)} 최대 ${t}자까지 입력할 수 있습니다`,"validation.minLength":(e,t)=>`${e}${au(e,`은는`)} 최소 ${t}자 이상이어야 합니다`,"validation.required":e=>`${au(e,`은는`)} 필수입니다`,"validation.url":`올바른 URL 형식이 아닙니다`},uu=`ko`,du=[`ko`,`en`],fu=uu;function pu(e){fu=e}function mu(){return fu}var hu={"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":`저장`},gu={"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`},_u={"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.effort":`effort level`,"entity.RequestLog.history":`inject_items 히스토리`,"entity.RequestLog.tools":`요청에 장착된 tool 정의 목록`,"entity.RequestLog.status":`실행 상태`,"entity.RequestLog.error_message":`에러 메시지`,"entity.RequestLog.tool_call_count":`tool call 횟수`,"entity.RequestLog.is_image_generation":`이미지 생성 turn 여부 (quota 귀속용)`,"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":`설정 키 (예: openai.maxWorkersPerToken)`,"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.ord":`정렬 순서`,"entity.Token.quota_threshold":`quota 사용률 임계치(%). null이면 미설정`,"entity.Token.weight":`가중 라운드로빈 라우팅 가중치 (1..100)`,"enum.TokenOrderBy.id-desc":`ID최신순`,"enum.TokenOrderBy.ord-asc":`순서순`,"enum.TokenSearchField.id":`ID`,"enum.TokenSearchField.name":`이름`},vu={ko:{...hu,..._u,...lu},en:{...gu,...cu}};function yu(e,t){let n=vu[t];if(n?.[e]!==void 0)return n[e];if(t!==uu&&vu[uu]?.[e]!==void 0)return vu[uu][e];for(let n of du)if(n!==t&&n!==uu&&vu[n]?.[e]!==void 0)return vu[n][e];return e}function bu(e){return yu(e,mu())}bu.locale=e=>t=>yu(t,e),bu.enumLabels=e=>new Proxy({},{get(t,n){if(typeof n!=`symbol`)return yu(`enum.${e}.${n}`,mu())}});export{ou as a,ru as c,Sl as d,Gc as f,eu as i,Ol as l,du as n,tu as o,Hr as p,pu as r,su as s,bu as t,fl as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{_ as t,g as n,h as r,m as i,p as a}from"./vendor-tanstack-DJRQAbrY.js";import{a as o,c as s,o as c,p as l,s as u}from"./sd.generated-Bwa7rses.js";var d=e(l(),1),f;(function(e){async function s(e,t){return c({method:`GET`,url:`/api/token/findById?${d.default.stringify({subset:e,id:t})}`})}e.getToken=s;let l=e.getTokenQueryOptions=(e,t)=>n({queryKey:[`Token`,`getToken`,e,t],queryFn:()=>s(e,t)});e.useToken=(e,n,r)=>u(t({...l(e,n),...r}));async function f(e,t){return c({method:`GET`,url:`/api/token/findMany?${d.default.stringify({subset:e,rawParams:t})}`})}e.getTokens=f;let p=e.getTokensQueryOptions=(e,t)=>n({queryKey:[`Token`,`getTokens`,e,t],queryFn:()=>f(e,t)});e.useTokens=(e,n,r)=>u(t({...p(e,n),...r}));let m=e.getTokensInfiniteQueryOptions=(e,t)=>r({queryKey:[`Token`,`getTokens`,`infinite`,e,t],queryFn:({pageParam:n})=>f(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:o});e.useTokensInfinite=(e,t,n)=>u(a({...m(e,t),...n}));async function h(e){return c({method:`POST`,url:`/api/token/save`,data:{spa:e}})}e.save=h,e.useSaveMutation=()=>i({mutationFn:e=>h(e.spa)});async function g(e){return c({method:`POST`,url:`/api/token/reorder`,data:{ids:e}})}e.reorder=g,e.useReorderMutation=()=>i({mutationFn:e=>g(e.ids)});async function _(e){return c({method:`POST`,url:`/api/token/del`,data:{ids:e}})}e.del=_,e.useDelMutation=()=>i({mutationFn:e=>_(e.ids)})})(f||={});var p;(function(e){async function s(e,t){return c({method:`GET`,url:`/api/setting/findById?${d.default.stringify({subset:e,id:t})}`})}e.getSetting=s;let l=e.getSettingQueryOptions=(e,t)=>n({queryKey:[`Setting`,`getSetting`,e,t],queryFn:()=>s(e,t)});e.useSetting=(e,n,r)=>u(t({...l(e,n),...r}));async function f(e,t){return c({method:`GET`,url:`/api/setting/findMany?${d.default.stringify({subset:e,rawParams:t})}`})}e.getSettings=f;let p=e.getSettingsQueryOptions=(e,t)=>n({queryKey:[`Setting`,`getSettings`,e,t],queryFn:()=>f(e,t)});e.useSettings=(e,n,r)=>u(t({...p(e,n),...r}));let m=e.getSettingsInfiniteQueryOptions=(e,t)=>r({queryKey:[`Setting`,`getSettings`,`infinite`,e,t],queryFn:({pageParam:n})=>f(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:o});e.useSettingsInfinite=(e,t,n)=>u(a({...m(e,t),...n}));async function h(){return c({method:`GET`,url:`/api/setting/listSettings`})}e.getSettingList=h;let g=e.getSettingListQueryOptions=()=>n({queryKey:[`Setting`,`getSettingList`],queryFn:()=>h()});e.useSettingList=e=>u(t({...g(),...e}));async function _(e,t){return c({method:`POST`,url:`/api/setting/updateSetting`,data:{key:e,value:t}})}e.updateSetting=_,e.useUpdateSettingMutation=()=>i({mutationFn:e=>_(e.key,e.value)});async function v(e){return c({method:`POST`,url:`/api/setting/resetSetting`,data:{key:e}})}e.resetSetting=v,e.useResetSettingMutation=()=>i({mutationFn:e=>v(e.key)});async function y(){return c({method:`POST`,url:`/api/setting/triggerExpiryReminder`})}e.triggerExpiryReminder=y,e.useTriggerExpiryReminderMutation=()=>i({mutationFn:e=>y()})})(p||={});var m;(function(e){async function s(e,t){return c({method:`GET`,url:`/api/requestLogStep/findById?${d.default.stringify({subset:e,id:t})}`})}e.getRequestLogStep=s;let l=e.getRequestLogStepQueryOptions=(e,t)=>n({queryKey:[`RequestLogStep`,`getRequestLogStep`,e,t],queryFn:()=>s(e,t)});e.useRequestLogStep=(e,n,r)=>u(t({...l(e,n),...r}));async function f(e,t){return c({method:`GET`,url:`/api/requestLogStep/findMany?${d.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogSteps=f;let p=e.getRequestLogStepsQueryOptions=(e,t)=>n({queryKey:[`RequestLogStep`,`getRequestLogSteps`,e,t],queryFn:()=>f(e,t)});e.useRequestLogSteps=(e,n,r)=>u(t({...p(e,n),...r}));let m=e.getRequestLogStepsInfiniteQueryOptions=(e,t)=>r({queryKey:[`RequestLogStep`,`getRequestLogSteps`,`infinite`,e,t],queryFn:({pageParam:n})=>f(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:o});e.useRequestLogStepsInfinite=(e,t,n)=>u(a({...m(e,t),...n}));async function h(e){return c({method:`POST`,url:`/api/requestLogStep/save`,data:{spa:e}})}e.save=h,e.useSaveMutation=()=>i({mutationFn:e=>h(e.spa)});async function g(e){return c({method:`POST`,url:`/api/requestLogStep/del`,data:{ids:e}})}e.del=g,e.useDelMutation=()=>i({mutationFn:e=>g(e.ids)})})(m||={});var h;(function(e){async function s(e,t){return c({method:`GET`,url:`/api/requestLog/findById?${d.default.stringify({subset:e,id:t})}`})}e.getRequestLog=s;let l=e.getRequestLogQueryOptions=(e,t)=>n({queryKey:[`RequestLog`,`getRequestLog`,e,t],queryFn:()=>s(e,t)});e.useRequestLog=(e,n,r)=>u(t({...l(e,n),...r}));async function f(e,t){return c({method:`GET`,url:`/api/requestLog/findMany?${d.default.stringify({subset:e,rawParams:t})}`})}e.getRequestLogs=f;let p=e.getRequestLogsQueryOptions=(e,t)=>n({queryKey:[`RequestLog`,`getRequestLogs`,e,t],queryFn:()=>f(e,t)});e.useRequestLogs=(e,n,r)=>u(t({...p(e,n),...r}));let m=e.getRequestLogsInfiniteQueryOptions=(e,t)=>r({queryKey:[`RequestLog`,`getRequestLogs`,`infinite`,e,t],queryFn:({pageParam:n})=>f(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:o});e.useRequestLogsInfinite=(e,t,n)=>u(a({...m(e,t),...n}));async function h(e){return c({method:`POST`,url:`/api/requestLog/save`,data:{spa:e}})}e.save=h,e.useSaveMutation=()=>i({mutationFn:e=>h(e.spa)});async function g(e){return c({method:`POST`,url:`/api/requestLog/del`,data:{ids:e}})}e.del=g,e.useDelMutation=()=>i({mutationFn:e=>g(e.ids)})})(h||={});var g;(function(e){async function r(e){return c({method:`POST`,url:`/api/qgrid/query`,data:{args:e}})}e.query=r,e.useQueryMutation=()=>i({mutationFn:e=>r(e.args)});async function a(e){return c({method:`POST`,url:`/api/qgrid/prepareStream`,data:{args:e}})}e.prepareStream=a,e.usePrepareStreamMutation=()=>i({mutationFn:e=>a(e.args)});function o(e,t,n){return s(`/api/qgrid/queryStream`,e,t,n)}e.useQueryStream=o;async function l(e){return c({method:`POST`,url:`/api/qgrid/createRun`,data:{input:e}})}e.createRun=l,e.useCreateRunMutation=()=>i({mutationFn:e=>l(e.input)});async function f(e){return c({method:`POST`,url:`/api/qgrid/appendStep`,data:{input:e}})}e.appendStep=f,e.useAppendStepMutation=()=>i({mutationFn:e=>f(e.input)});async function p(e){return c({method:`POST`,url:`/api/qgrid/finishRun`,data:{input:e}})}e.finishRun=p,e.useFinishRunMutation=()=>i({mutationFn:e=>p(e.input)});async function m(){return c({method:`GET`,url:`/api/qgrid/stats`})}e.stats=m;let h=e.statsQueryOptions=()=>n({queryKey:[`Qgrid`,`stats`],queryFn:()=>m()});e.useStats=e=>u(t({...h(),...e}));async function g(e){return c({method:`GET`,url:`/api/qgrid/totalCost?${d.default.stringify({params:e})}`})}e.totalCost=g;let _=e.totalCostQueryOptions=e=>n({queryKey:[`Qgrid`,`totalCost`,e],queryFn:()=>g(e)});e.useTotalCost=(e,n)=>u(t({..._(e),...n}));async function v(){return c({method:`GET`,url:`/api/qgrid/projectNames`})}e.projectNames=v;let y=e.projectNamesQueryOptions=()=>n({queryKey:[`Qgrid`,`projectNames`],queryFn:()=>v()});e.useProjectNames=e=>u(t({...y(),...e}));async function b(){return c({method:`GET`,url:`/api/qgrid/modelNames`})}e.modelNames=b;let x=e.modelNamesQueryOptions=()=>n({queryKey:[`Qgrid`,`modelNames`],queryFn:()=>b()});e.useModelNames=e=>u(t({...x(),...e}));async function S(e,t,n){return c({method:`POST`,url:`/api/qgrid/addToken`,data:{provider:e,credentials:t,name:n}})}e.addToken=S,e.useAddTokenMutation=()=>i({mutationFn:e=>S(e.provider,e.credentials,e.name)});async function C(e,t,n,r){return c({method:`POST`,url:`/api/qgrid/updateToken`,data:{id:e,name:t,quotaThreshold:n,weight:r}})}e.updateToken=C;async function w(e){return c({method:`POST`,url:`/api/qgrid/removeToken`,data:{id:e}})}e.removeToken=w,e.useRemoveTokenMutation=()=>i({mutationFn:e=>w(e.id)});async function T(e){return c({method:`POST`,url:`/api/qgrid/toggleToken`,data:{id:e}})}e.toggleToken=T,e.useToggleTokenMutation=()=>i({mutationFn:e=>T(e.id)});async function E(e){return c({method:`POST`,url:`/api/qgrid/oauthStart`,data:{name:e}})}e.oauthStart=E,e.useOauthStartMutation=()=>i({mutationFn:e=>E(e.name)});async function D(e){return c({method:`POST`,url:`/api/qgrid/oauthComplete`,data:{pastedCode:e}})}e.oauthComplete=D,e.useOauthCompleteMutation=()=>i({mutationFn:e=>D(e.pastedCode)});async function O(e){return c({method:`POST`,url:`/api/qgrid/oauthStartOpenAI`,data:{name:e}})}e.oauthStartOpenAI=O,e.useOauthStartOpenAIMutation=()=>i({mutationFn:e=>O(e.name)});async function k(e){return c({method:`GET`,url:`/api/qgrid/usage?${d.default.stringify({tokenId:e})}`})}e.usage=k;let A=e.usageQueryOptions=e=>n({queryKey:[`Qgrid`,`usage`,e],queryFn:()=>k(e)});e.useUsage=(e,n)=>u(t({...A(e),...n}));async function j(){return c({method:`GET`,url:`/api/qgrid/health`})}e.health=j;let M=e.healthQueryOptions=()=>n({queryKey:[`Qgrid`,`health`],queryFn:()=>j()});e.useHealth=e=>u(t({...M(),...e}))})(g||={});var _;(function(e){async function r(e){return c({method:`GET`,url:`/api/monit/monitLogs?${d.default.stringify({cursor:e})}`})}e.monitLogs=r;let i=e.monitLogsQueryOptions=e=>n({queryKey:[`Monit`,`monitLogs`,e],queryFn:()=>r(e)});e.useMonitLogs=(e,n)=>u(t({...i(e),...n}));async function a(){return c({method:`GET`,url:`/api/monit/monitInfo`})}e.monitInfo=a;let o=e.monitInfoQueryOptions=()=>n({queryKey:[`Monit`,`monitInfo`],queryFn:()=>a()});e.useMonitInfo=e=>u(t({...o(),...e}))})(_||={}),h.useRequestLogs,h.useRequestLogsInfinite,m.useRequestLogSteps,m.useRequestLogStepsInfinite,p.useSettings,p.useSettingsInfinite,f.useTokens,f.useTokensInfinite;export{p as a,m as i,g as n,f as o,h as r,_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{y as t}from"./vendor-tanstack-DJRQAbrY.js";import{i as n,r}from"./vendor-react-DH4kUfK2.js";import{a as i}from"./services.generated-BzwTuZRP.js";import{t as a}from"./plus-p4vtg6LN.js";var o=e(n()),s=r(),c=e=>(0,s.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,s.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,s.jsx)(`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0`}),(0,s.jsx)(`circle`,{cx:12,cy:12,r:3})]})}),l=e=>(0,s.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,s.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,s.jsx)(`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575a1 1 0 0 1 0 .696a10.8 10.8 0 0 1-1.444 2.49m-6.41-.679a3 3 0 0 1-4.242-4.242`}),(0,s.jsx)(`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 4.446-5.143M2 2l20 20`})]})}),u=e=>(0,s.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,s.jsx)(`path`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M5 12h14`})}),d=e=>(0,s.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`,...e,children:(0,s.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,children:[(0,s.jsx)(`path`,{d:`M3 12a9 9 0 1 0 9-9a9.75 9.75 0 0 0-6.74 2.74L3 8`}),(0,s.jsx)(`path`,{d:`M3 3v5h5`})]})}),f={openai:`OpenAI 워커`,slack:`Slack 알림`,slackConnection:`Slack 연결`};function p(e){return e?e.length<=12?`•`.repeat(e.length):`${e.slice(0,8)}${`•`.repeat(12)}${e.slice(-4)}`:``}function m({value:e,min:t,max:n,step:r,disabled:i,onChange:o}){let c=Number(e),l=Number.isFinite(c),d=t??-1/0,f=n??1/0,p=e=>{let n=Math.min(Math.max((l?c:t??0)+e,d),f);o(String(Number(n.toFixed(2))))};return(0,s.jsxs)(`div`,{className:`inline-flex items-center rounded-lg border border-sand-200/80 bg-white overflow-hidden`,children:[(0,s.jsx)(`button`,{type:`button`,"aria-label":`감소`,onClick:()=>p(-r),disabled:i||l&&c<=d,className:`size-7 grid place-items-center text-sand-500 hover:bg-sand-100 disabled:opacity-30 disabled:hover:bg-transparent transition-colors duration-150`,children:(0,s.jsx)(u,{className:`size-3`})}),(0,s.jsx)(`input`,{value:e,onChange:e=>o(e.target.value),disabled:i,inputMode:`decimal`,className:`w-12 text-center text-[12px] tabular-nums text-sand-800 bg-transparent border-x border-sand-200/80 py-1 focus:outline-none focus:bg-sand-50`}),(0,s.jsx)(`button`,{type:`button`,"aria-label":`증가`,onClick:()=>p(r),disabled:i||l&&c>=f,className:`size-7 grid place-items-center text-sand-500 hover:bg-sand-100 disabled:opacity-30 disabled:hover:bg-transparent transition-colors duration-150`,children:(0,s.jsx)(a,{className:`size-3`})})]})}function h({value:e,presets:t,disabled:n,onChange:r}){let i=Number(e);return(0,s.jsx)(`div`,{className:`segmented-control inline-flex`,children:t.map(e=>(0,s.jsx)(`button`,{type:`button`,disabled:n,"data-active":i===e,onClick:()=>r(String(e)),className:`rounded-[6px] px-2.5 py-1 text-[11px] font-medium tabular-nums text-sand-500 transition-colors hover:text-sand-800 disabled:opacity-50 data-[active=true]:text-sand-900`,children:e>=60?`${e/60}시간`:`${e}분`},e))})}function g({source:e}){return(0,s.jsx)(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded ${e===`db`?`bg-sienna-50 text-sienna-600`:`bg-sand-100 text-sand-500`}`,children:e===`db`?`저장값`:e===`env`?`환경변수`:`기본값`})}function _({on:e,disabled:t,onChange:n}){return(0,s.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,disabled:t,onClick:()=>n(!e),className:`relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors duration-200 disabled:opacity-50 ${e?`bg-sage-400`:`bg-sand-300`}`,children:(0,s.jsx)(`span`,{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform duration-200 ${e?`translate-x-4.5`:`translate-x-0.5`}`})})}function v({item:e}){let[n,r]=(0,o.useState)(null),[a,u]=(0,o.useState)(!1),[f,v]=(0,o.useState)(null),y=t(),b=i.useUpdateSettingMutation(),x=i.useResetSettingMutation(),S=b.isPending||x.isPending,C=n??e.value,w=n!==null&&n!==e.value,T=()=>y.invalidateQueries({queryKey:[`Setting`,`getSettingList`]}),E=async t=>{v(null);try{await b.mutateAsync({key:e.key,value:t}),await T(),r(null)}catch(e){v(e.message)}},D=async()=>{v(null);try{await x.mutateAsync({key:e.key}),await T(),r(null)}catch(e){v(e.message)}},O=e.kind===`secret`;return(0,s.jsxs)(`div`,{className:`px-4 py-3 sm:px-5`,children:[(0,s.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,s.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,s.jsx)(`span`,{className:`text-[13px] text-sand-800`,children:e.label}),(0,s.jsx)(g,{source:e.source}),e.applies===`restart`&&(0,s.jsx)(`span`,{className:`text-[10px] text-caution-500`,title:`저장해도 다음 재시작부터 반영됩니다`,children:`재시작 필요`})]}),e.help&&(0,s.jsx)(`p`,{className:`mt-0.5 text-[11px] text-sand-500`,children:e.help})]}),(0,s.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[e.kind===`boolean`&&(0,s.jsx)(_,{on:C===`true`,disabled:S,onChange:e=>void E(String(e))}),e.kind===`preset`&&(0,s.jsx)(h,{value:C,presets:e.presets,disabled:S,onChange:e=>void E(e)}),(e.kind===`integer`||e.kind===`number`)&&(0,s.jsx)(m,{value:C,min:e.min,max:e.max,step:e.kind===`integer`?1:.5,disabled:S,onChange:r}),(e.kind===`string`||O)&&(0,s.jsxs)(`div`,{className:`relative`,children:[(0,s.jsx)(`input`,{value:O&&!a?p(C):C,onChange:e=>r(e.target.value),onFocus:()=>O&&u(!0),disabled:S,className:`w-48 sm:w-64 rounded-lg border border-sand-200/80 bg-white py-1.5 pl-2.5 text-[12px] text-sand-800 focus:outline-none focus:border-sienna-300 ${O?`pr-8 font-mono`:`pr-2.5`}`}),O&&(0,s.jsx)(`button`,{type:`button`,"aria-label":a?`값 숨기기`:`값 보기`,onClick:()=>u(e=>!e),className:`absolute right-1.5 top-1/2 -translate-y-1/2 size-6 grid place-items-center text-sand-400 hover:text-sand-600 transition-colors duration-150`,children:a?(0,s.jsx)(l,{className:`size-3.5`}):(0,s.jsx)(c,{className:`size-3.5`})})]}),w&&(0,s.jsx)(`button`,{type:`button`,onClick:()=>void E(C),disabled:S,className:`px-2.5 py-1.5 text-[11px] font-medium rounded-lg bg-sienna-400 text-white hover:bg-sienna-500 disabled:opacity-50 transition-colors duration-150`,children:b.isPending?`저장 중`:`저장`}),!w&&e.source===`db`&&(0,s.jsx)(`button`,{type:`button`,title:`저장값을 지웁니다 — 환경변수 또는 기본값으로 돌아갑니다`,onClick:()=>void D(),disabled:S,className:`size-7 grid place-items-center rounded-lg text-sand-400 hover:text-sand-600 hover:bg-sand-100 disabled:opacity-50 transition-colors duration-150`,children:(0,s.jsx)(d,{className:`size-3.5`})})]})]}),f&&(0,s.jsx)(`p`,{className:`mt-1.5 text-[11px] text-red-500`,children:f})]})}function y(){let[e,t]=(0,o.useState)(null),n=i.useTriggerExpiryReminderMutation(),r=async()=>{t(null);try{let{sent:e}=await n.mutateAsync();t(e===0?`재로그인이 필요한 토큰이 없습니다`:`${e}건 발송`)}catch(e){t(e.message)}};return(0,s.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&(0,s.jsx)(`span`,{className:`text-[11px] text-sand-500`,children:e}),(0,s.jsx)(`button`,{type:`button`,onClick:()=>void r(),disabled:n.isPending,className:`px-2 py-1 text-[11px] rounded-lg border border-sand-200/80 text-sand-600 hover:bg-sand-100 disabled:opacity-50 transition-colors duration-150`,children:n.isPending?`보내는 중`:`지금 보내기`})]})}function b(){let{data:e,isLoading:t}=i.useSettingList();if(t)return(0,s.jsx)(`div`,{className:`space-y-4`,children:[0,1].map(e=>(0,s.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,s.jsx)(`div`,{className:`panel-header px-4 py-2.5 sm:px-5`,children:(0,s.jsx)(`div`,{className:`h-3 w-24 rounded bg-sand-200 animate-pulse`})}),(0,s.jsx)(`div`,{className:`divide-y divide-sand-100/80`,children:[0,1,2].map(e=>(0,s.jsxs)(`div`,{className:`px-4 py-3 sm:px-5 flex items-center justify-between gap-4`,children:[(0,s.jsx)(`div`,{className:`h-3 w-40 rounded bg-sand-100 animate-pulse`}),(0,s.jsx)(`div`,{className:`h-7 w-24 rounded-lg bg-sand-100 animate-pulse`})]},e))})]},e))});let n=e?.settings??[],r=e?.runtime??[],a=[...new Set(n.map(e=>e.group))];return(0,s.jsxs)(`div`,{className:`space-y-4`,children:[(0,s.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,s.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-4 py-2.5 sm:px-5`,children:[(0,s.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:`환경`}),(0,s.jsx)(`span`,{className:`text-[11px] text-sand-400`,children:`기동 시점 값`})]}),(0,s.jsx)(`dl`,{className:`px-4 py-3 sm:px-5 grid grid-cols-1 sm:grid-cols-2 gap-x-8 gap-y-1.5`,children:r.map(e=>(0,s.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 min-w-0`,children:[(0,s.jsx)(`dt`,{className:`text-[11px] text-sand-500 shrink-0`,children:e.label}),(0,s.jsx)(`dd`,{className:`text-[12px] font-mono text-sand-700 truncate`,children:e.value})]},e.label))})]}),a.map(e=>{let t=n.filter(t=>t.group===e);return(0,s.jsxs)(`div`,{className:`panel overflow-hidden`,children:[(0,s.jsxs)(`div`,{className:`panel-header flex items-center justify-between px-4 py-2.5 sm:px-5`,children:[(0,s.jsx)(`span`,{className:`text-[13px] font-medium text-sand-700`,children:f[e]??e}),e===`slack`&&(0,s.jsx)(y,{})]}),(0,s.jsx)(`div`,{className:`divide-y divide-sand-100/80`,children:t.map(e=>(0,s.jsx)(v,{item:e},e.key))})]},e)})]})}function x(){return(0,s.jsx)(`div`,{className:`max-w-4xl mx-auto`,children:(0,s.jsx)(b,{})})}export{x as component};
|