aigetwey 1.4.0 → 1.4.2
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/CHANGELOG.md +20 -0
- package/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/build-manifest.json +3 -3
- package/dashboard/.next/diagnostics/route-bundle-stats.json +4 -4
- package/dashboard/.next/fallback-build-manifest.json +3 -3
- package/dashboard/.next/server/app/(console)/providers/[id]/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/(console)/providers/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/_global-error.html +1 -1
- package/dashboard/.next/server/app/_global-error.rsc +1 -1
- package/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/server/app/_not-found.rsc +1 -1
- package/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/combos.html +1 -1
- package/dashboard/.next/server/app/combos.rsc +1 -1
- package/dashboard/.next/server/app/combos.segments/!KGNvbnNvbGUp/combos/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/combos.segments/!KGNvbnNvbGUp/combos.segment.rsc +1 -1
- package/dashboard/.next/server/app/combos.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/combos.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/combos.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/combos.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/combos.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/config.html +1 -1
- package/dashboard/.next/server/app/config.rsc +1 -1
- package/dashboard/.next/server/app/config.segments/!KGNvbnNvbGUp/config/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/config.segments/!KGNvbnNvbGUp/config.segment.rsc +1 -1
- package/dashboard/.next/server/app/config.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/config.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/config.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/config.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/config.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/console.html +1 -1
- package/dashboard/.next/server/app/console.rsc +1 -1
- package/dashboard/.next/server/app/console.segments/!KGNvbnNvbGUp/console/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/console.segments/!KGNvbnNvbGUp/console.segment.rsc +1 -1
- package/dashboard/.next/server/app/console.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/console.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/console.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/console.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/console.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.html +1 -1
- package/dashboard/.next/server/app/endpoint.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.segments/!KGNvbnNvbGUp/endpoint/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.segments/!KGNvbnNvbGUp/endpoint.segment.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/endpoint.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/index.html +1 -1
- package/dashboard/.next/server/app/index.rsc +1 -1
- package/dashboard/.next/server/app/index.segments/!KGNvbnNvbGUp/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/index.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/keys.html +1 -1
- package/dashboard/.next/server/app/keys.rsc +1 -1
- package/dashboard/.next/server/app/keys.segments/!KGNvbnNvbGUp/keys/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/keys.segments/!KGNvbnNvbGUp/keys.segment.rsc +1 -1
- package/dashboard/.next/server/app/keys.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/keys.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/keys.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/keys.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/keys.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/login.html +1 -1
- package/dashboard/.next/server/app/login.rsc +1 -1
- package/dashboard/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/dashboard/.next/server/app/providers.html +1 -1
- package/dashboard/.next/server/app/providers.rsc +2 -2
- package/dashboard/.next/server/app/providers.segments/!KGNvbnNvbGUp/providers/__PAGE__.segment.rsc +2 -2
- package/dashboard/.next/server/app/providers.segments/!KGNvbnNvbGUp/providers.segment.rsc +1 -1
- package/dashboard/.next/server/app/providers.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/providers.segments/_full.segment.rsc +2 -2
- package/dashboard/.next/server/app/providers.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/providers.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/providers.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/quota.html +1 -1
- package/dashboard/.next/server/app/quota.rsc +1 -1
- package/dashboard/.next/server/app/quota.segments/!KGNvbnNvbGUp/quota/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/quota.segments/!KGNvbnNvbGUp/quota.segment.rsc +1 -1
- package/dashboard/.next/server/app/quota.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/quota.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/quota.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/quota.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/quota.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/app/tools.html +1 -1
- package/dashboard/.next/server/app/tools.rsc +1 -1
- package/dashboard/.next/server/app/tools.segments/!KGNvbnNvbGUp/tools/__PAGE__.segment.rsc +1 -1
- package/dashboard/.next/server/app/tools.segments/!KGNvbnNvbGUp/tools.segment.rsc +1 -1
- package/dashboard/.next/server/app/tools.segments/!KGNvbnNvbGUp.segment.rsc +1 -1
- package/dashboard/.next/server/app/tools.segments/_full.segment.rsc +1 -1
- package/dashboard/.next/server/app/tools.segments/_head.segment.rsc +1 -1
- package/dashboard/.next/server/app/tools.segments/_index.segment.rsc +1 -1
- package/dashboard/.next/server/app/tools.segments/_tree.segment.rsc +1 -1
- package/dashboard/.next/server/chunks/[root-of-the-server]__07euc03._.js.map +1 -1
- package/dashboard/.next/server/chunks/[root-of-the-server]__0uqpr_c._.js.map +1 -1
- package/dashboard/.next/server/chunks/ssr/_0p90gyy._.js.map +1 -1
- package/dashboard/.next/server/chunks/ssr/_1mumvwn._.js.map +1 -1
- package/dashboard/.next/server/chunks/ssr/src_components_ProviderDetail_tsx_06sxu0r._.js +1 -1
- package/dashboard/.next/server/chunks/ssr/src_components_ProviderDetail_tsx_06sxu0r._.js.map +1 -1
- package/dashboard/.next/server/chunks/ssr/src_components_ProviderManager_tsx_09d2dzw._.js +1 -1
- package/dashboard/.next/server/chunks/ssr/src_components_ProviderManager_tsx_09d2dzw._.js.map +1 -1
- package/dashboard/.next/server/middleware-build-manifest.js +3 -3
- package/dashboard/.next/server/pages/404.html +1 -1
- package/dashboard/.next/server/pages/500.html +1 -1
- package/dashboard/.next/static/chunks/{0pf-u__m67vld.js → 03xhjt1ta90pp.js} +1 -1
- package/dashboard/.next/static/chunks/{3y0b8yet0vgwr.js → 15d148buj9byd.js} +1 -1
- package/dashboard/.next/trace +1 -1
- package/dashboard/.next/trace-build +1 -1
- package/dashboard/src/components/ProviderDetail.tsx +10 -5
- package/dashboard/src/components/ProviderManager.tsx +7 -3
- package/dashboard/src/lib/client.ts +1 -0
- package/dashboard/src/lib/gateway.ts +2 -1
- package/dist/cli.js +10 -4
- package/dist/cli.js.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/headroom/process.js +22 -6
- package/dist/headroom/process.js.map +1 -1
- package/dist/routes/admin.js +1 -0
- package/dist/routes/admin.js.map +1 -1
- package/package.json +1 -1
- package/src/cli.ts +8 -4
- package/src/config.ts +2 -0
- package/src/headroom/process.ts +19 -5
- package/src/routes/admin.ts +2 -0
- /package/dashboard/.next/static/{WxqdtupTIrBh47rvaXxLB → jKcczqYA93-Kuqa9A9H9h}/_buildManifest.js +0 -0
- /package/dashboard/.next/static/{WxqdtupTIrBh47rvaXxLB → jKcczqYA93-Kuqa9A9H9h}/_clientMiddlewareManifest.js +0 -0
- /package/dashboard/.next/static/{WxqdtupTIrBh47rvaXxLB → jKcczqYA93-Kuqa9A9H9h}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[62293,a=>{"use strict";let b;var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a.i(87924),w=a.i(72131),x=a.i(38246),y=a.i(35112);function z(a){let b=Object.prototype.toString.call(a);return"[object Window]"===b||"[object global]"===b}function A(a){return"nodeType"in a}function B(a){var b,c;return a?z(a)?a:A(a)&&null!=(b=null==(c=a.ownerDocument)?void 0:c.defaultView)?b:window:window}function C(a){let{Document:b}=B(a);return a instanceof b}function D(a){return!z(a)&&a instanceof B(a).HTMLElement}function E(a){return a instanceof B(a).SVGElement}function F(a){return a?z(a)?a.document:A(a)?C(a)?a:D(a)||E(a)?a.ownerDocument:document:document:document}let G=w.useEffect;function H(a){let b=(0,w.useRef)(a);return G(()=>{b.current=a}),(0,w.useCallback)(function(){for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return null==b.current?void 0:b.current(...c)},[])}function I(a,b){void 0===b&&(b=[a]);let c=(0,w.useRef)(a);return G(()=>{c.current!==a&&(c.current=a)},b),c}function J(a,b){let c=(0,w.useRef)();return(0,w.useMemo)(()=>{let b=a(c.current);return c.current=b,b},[...b])}function K(a){let b=H(a),c=(0,w.useRef)(null),d=(0,w.useCallback)(a=>{a!==c.current&&(null==b||b(a,c.current)),c.current=a},[]);return[c,d]}function L(a){let b=(0,w.useRef)();return(0,w.useEffect)(()=>{b.current=a},[a]),b.current}let M={};function N(a,b){return(0,w.useMemo)(()=>{if(b)return b;let c=null==M[a]?0:M[a]+1;return M[a]=c,a+"-"+c},[a,b])}function O(a){return function(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return d.reduce((b,c)=>{for(let[d,e]of Object.entries(c)){let c=b[d];null!=c&&(b[d]=c+a*e)}return b},{...b})}}let P=O(1),Q=O(-1);function R(a){if(!a)return!1;let{KeyboardEvent:b}=B(a.target);return b&&a instanceof b}function S(a){if(function(a){if(!a)return!1;let{TouchEvent:b}=B(a.target);return b&&a instanceof b}(a)){if(a.touches&&a.touches.length){let{clientX:b,clientY:c}=a.touches[0];return{x:b,y:c}}else if(a.changedTouches&&a.changedTouches.length){let{clientX:b,clientY:c}=a.changedTouches[0];return{x:b,y:c}}}return"clientX"in a&&"clientY"in a?{x:a.clientX,y:a.clientY}:null}let T=Object.freeze({Translate:{toString(a){if(!a)return;let{x:b,y:c}=a;return"translate3d("+(b?Math.round(b):0)+"px, "+(c?Math.round(c):0)+"px, 0)"}},Scale:{toString(a){if(!a)return;let{scaleX:b,scaleY:c}=a;return"scaleX("+b+") scaleY("+c+")"}},Transform:{toString(a){if(a)return[T.Translate.toString(a),T.Scale.toString(a)].join(" ")}},Transition:{toString(a){let{property:b,duration:c,easing:d}=a;return b+" "+c+"ms "+d}}}),U="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",V={display:"none"};function W(a){let{id:b,value:c}=a;return w.default.createElement("div",{id:b,style:V},c)}function X(a){let{id:b,announcement:c,ariaLiveType:d="assertive"}=a;return w.default.createElement("div",{id:b,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":d,"aria-atomic":!0},c)}let Y=(0,w.createContext)(null),Z={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},$={onDragStart(a){let{active:b}=a;return"Picked up draggable item "+b.id+"."},onDragOver(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was moved over droppable area "+c.id+".":"Draggable item "+b.id+" is no longer over a droppable area."},onDragEnd(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was dropped over droppable area "+c.id:"Draggable item "+b.id+" was dropped."},onDragCancel(a){let{active:b}=a;return"Dragging was cancelled. Draggable item "+b.id+" was dropped."}};function _(a){var b;let c,{announcements:d=$,container:e,hiddenTextDescribedById:f,screenReaderInstructions:g=Z}=a,{announce:h,announcement:i}=function(){let[a,b]=(0,w.useState)("");return{announce:(0,w.useCallback)(a=>{null!=a&&b(a)},[]),announcement:a}}(),j=N("DndLiveRegion"),[k,l]=(0,w.useState)(!1);if((0,w.useEffect)(()=>{l(!0)},[]),b=(0,w.useMemo)(()=>({onDragStart(a){let{active:b}=a;h(d.onDragStart({active:b}))},onDragMove(a){let{active:b,over:c}=a;d.onDragMove&&h(d.onDragMove({active:b,over:c}))},onDragOver(a){let{active:b,over:c}=a;h(d.onDragOver({active:b,over:c}))},onDragEnd(a){let{active:b,over:c}=a;h(d.onDragEnd({active:b,over:c}))},onDragCancel(a){let{active:b,over:c}=a;h(d.onDragCancel({active:b,over:c}))}}),[h,d]),c=(0,w.useContext)(Y),(0,w.useEffect)(()=>{if(!c)throw Error("useDndMonitor must be used within a children of <DndContext>");return c(b)},[b,c]),!k)return null;let m=w.default.createElement(w.default.Fragment,null,w.default.createElement(W,{id:f,value:g.draggable}),w.default.createElement(X,{id:j,announcement:i}));return e?(0,y.createPortal)(m,e):m}function aa(){}(c=l||(l={})).DragStart="dragStart",c.DragMove="dragMove",c.DragEnd="dragEnd",c.DragCancel="dragCancel",c.DragOver="dragOver",c.RegisterDroppable="registerDroppable",c.SetDroppableDisabled="setDroppableDisabled",c.UnregisterDroppable="unregisterDroppable";let ab=Object.freeze({x:0,y:0});function ac(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return c-d}function ad(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return d-c}function ae(a,b,c){return void 0===b&&(b=a.left),void 0===c&&(c=a.top),{x:b+.5*a.width,y:c+.5*a.height}}let af=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=ae(b,b.left,b.top),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){var g;let c=(g=ae(d),Math.sqrt(Math.pow(g.x-e.x,2)+Math.pow(g.y-e.y,2)));f.push({id:b,data:{droppableContainer:a,value:c}})}}return f.sort(ac)},ag=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=[];for(let a of d){let{id:d}=a,f=c.get(d);if(f){let c=function(a,b){let c=Math.max(b.top,a.top),d=Math.max(b.left,a.left),e=Math.min(b.left+b.width,a.left+a.width),f=Math.min(b.top+b.height,a.top+a.height);if(d<e&&c<f){let g=b.width*b.height,h=a.width*a.height,i=(e-d)*(f-c);return Number((i/(g+h-i)).toFixed(4))}return 0}(f,b);c>0&&e.push({id:d,data:{droppableContainer:a,value:c}})}}return e.sort(ad)};function ah(a,b){return a&&b?{x:a.left-b.left,y:a.top-b.top}:ab}let ai=function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.reduce((a,b)=>({...a,top:a.top+ +b.y,bottom:a.bottom+ +b.y,left:a.left+ +b.x,right:a.right+ +b.x}),{...a})},aj={ignoreTransform:!1};function ak(a,b){void 0===b&&(b=aj);let c=a.getBoundingClientRect();if(b.ignoreTransform){let{transform:b,transformOrigin:d}=B(a).getComputedStyle(a);b&&(c=function(a,b,c){let d=function(a){if(a.startsWith("matrix3d(")){let b=a.slice(9,-1).split(/, /);return{x:+b[12],y:+b[13],scaleX:+b[0],scaleY:+b[5]}}if(a.startsWith("matrix(")){let b=a.slice(7,-1).split(/, /);return{x:+b[4],y:+b[5],scaleX:+b[0],scaleY:+b[3]}}return null}(b);if(!d)return a;let{scaleX:e,scaleY:f,x:g,y:h}=d,i=a.left-g-(1-e)*parseFloat(c),j=a.top-h-(1-f)*parseFloat(c.slice(c.indexOf(" ")+1)),k=e?a.width/e:a.width,l=f?a.height/f:a.height;return{width:k,height:l,top:j,right:i+k,bottom:j+l,left:i}}(c,b,d))}let{top:d,left:e,width:f,height:g,bottom:h,right:i}=c;return{top:d,left:e,width:f,height:g,bottom:h,right:i}}function al(a){return ak(a,{ignoreTransform:!0})}function am(a,b){let c=[];return a?function d(e){var f,g;let h;if(null!=b&&c.length>=b||!e)return c;if(C(e)&&null!=e.scrollingElement&&!c.includes(e.scrollingElement))return c.push(e.scrollingElement),c;if(!D(e)||E(e)||c.includes(e))return c;let i=B(a).getComputedStyle(e);return(e!==a&&(void 0===(f=i)&&(f=B(e).getComputedStyle(e)),h=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(a=>{let b=f[a];return"string"==typeof b&&h.test(b)}))&&c.push(e),void 0===(g=i)&&(g=B(e).getComputedStyle(e)),"fixed"===g.position)?c:d(e.parentNode)}(a):c}function an(a){let[b]=am(a,1);return null!=b?b:null}function ao(a){return z(a)?a.scrollX:a.scrollLeft}function ap(a){return z(a)?a.scrollY:a.scrollTop}function aq(a){return{x:ao(a),y:ap(a)}}function ar(a){let b={x:0,y:0},c={height:a.clientHeight,width:a.clientWidth},d={x:a.scrollWidth-c.width,y:a.scrollHeight-c.height},e=a.scrollTop<=b.y,f=a.scrollLeft<=b.x;return{isTop:e,isLeft:f,isBottom:a.scrollTop>=d.y,isRight:a.scrollLeft>=d.x,maxScroll:d,minScroll:b}}(d=m||(m={}))[d.Forward=1]="Forward",d[d.Backward=-1]="Backward";let as={x:.2,y:.2};function at(a){return a.reduce((a,b)=>P(a,aq(b)),ab)}let au=[["x",["left","right"],function(a){return a.reduce((a,b)=>a+ao(b),0)}],["y",["top","bottom"],function(a){return a.reduce((a,b)=>a+ap(b),0)}]];class av{constructor(a,b){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const c=am(b),d=at(c);for(const[b,e,f]of(this.rect={...a},this.width=a.width,this.height=a.height,au))for(const a of e)Object.defineProperty(this,a,{get:()=>{let e=f(c),g=d[b]-e;return this.rect[a]+g},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class aw{constructor(a){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(a=>{var b;return null==(b=this.target)?void 0:b.removeEventListener(...a)})},this.target=a}add(a,b,c){var d;null==(d=this.target)||d.addEventListener(a,b,c),this.listeners.push([a,b,c])}}function ax(a,b){let c=Math.abs(a.x),d=Math.abs(a.y);return"number"==typeof b?Math.sqrt(c**2+d**2)>b:"x"in b&&"y"in b?c>b.x&&d>b.y:"x"in b?c>b.x:"y"in b&&d>b.y}function ay(a){a.preventDefault()}function az(a){a.stopPropagation()}(e=n||(n={})).Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange",(f=o||(o={})).Space="Space",f.Down="ArrowDown",f.Right="ArrowRight",f.Left="ArrowLeft",f.Up="ArrowUp",f.Esc="Escape",f.Enter="Enter",f.Tab="Tab";let aA={start:[o.Space,o.Enter],cancel:[o.Esc],end:[o.Space,o.Enter,o.Tab]},aB=(a,b)=>{let{currentCoordinates:c}=b;switch(a.code){case o.Right:return{...c,x:c.x+25};case o.Left:return{...c,x:c.x-25};case o.Down:return{...c,y:c.y+25};case o.Up:return{...c,y:c.y-25}}};class aC{constructor(a){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=a;const{event:{target:b}}=a;this.props=a,this.listeners=new aw(F(b)),this.windowListeners=new aw(B(b)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(n.Resize,this.handleCancel),this.windowListeners.add(n.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(n.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:a,onStart:b}=this.props,c=a.node.current;c&&function(a,b){if(void 0===b&&(b=ak),!a)return;let{top:c,left:d,bottom:e,right:f}=b(a);an(a)&&(e<=0||f<=0||c>=window.innerHeight||d>=window.innerWidth)&&a.scrollIntoView({block:"center",inline:"center"})}(c),b(ab)}handleKeyDown(a){if(R(a)){let{active:b,context:c,options:d}=this.props,{keyboardCodes:e=aA,coordinateGetter:f=aB,scrollBehavior:g="smooth"}=d,{code:h}=a;if(e.end.includes(h))return void this.handleEnd(a);if(e.cancel.includes(h))return void this.handleCancel(a);let{collisionRect:i}=c.current,j=i?{x:i.left,y:i.top}:ab;this.referenceCoordinates||(this.referenceCoordinates=j);let k=f(a,{active:b,context:c.current,currentCoordinates:j});if(k){let b=Q(k,j),d={x:0,y:0},{scrollableAncestors:e}=c.current;for(let c of e){let e=a.code,{isTop:f,isRight:h,isLeft:i,isBottom:j,maxScroll:l,minScroll:m}=ar(c),n=function(a){if(a===document.scrollingElement){let{innerWidth:a,innerHeight:b}=window;return{top:0,left:0,right:a,bottom:b,width:a,height:b}}let{top:b,left:c,right:d,bottom:e}=a.getBoundingClientRect();return{top:b,left:c,right:d,bottom:e,width:a.clientWidth,height:a.clientHeight}}(c),p={x:Math.min(e===o.Right?n.right-n.width/2:n.right,Math.max(e===o.Right?n.left:n.left+n.width/2,k.x)),y:Math.min(e===o.Down?n.bottom-n.height/2:n.bottom,Math.max(e===o.Down?n.top:n.top+n.height/2,k.y))},q=e===o.Right&&!h||e===o.Left&&!i,r=e===o.Down&&!j||e===o.Up&&!f;if(q&&p.x!==k.x){let a=c.scrollLeft+b.x,f=e===o.Right&&a<=l.x||e===o.Left&&a>=m.x;if(f&&!b.y)return void c.scrollTo({left:a,behavior:g});f?d.x=c.scrollLeft-a:d.x=e===o.Right?c.scrollLeft-l.x:c.scrollLeft-m.x,d.x&&c.scrollBy({left:-d.x,behavior:g});break}if(r&&p.y!==k.y){let a=c.scrollTop+b.y,f=e===o.Down&&a<=l.y||e===o.Up&&a>=m.y;if(f&&!b.x)return void c.scrollTo({top:a,behavior:g});f?d.y=c.scrollTop-a:d.y=e===o.Down?c.scrollTop-l.y:c.scrollTop-m.y,d.y&&c.scrollBy({top:-d.y,behavior:g});break}}this.handleMove(a,P(Q(k,this.referenceCoordinates),d))}}}handleMove(a,b){let{onMove:c}=this.props;a.preventDefault(),c(b)}handleEnd(a){let{onEnd:b}=this.props;a.preventDefault(),this.detach(),b()}handleCancel(a){let{onCancel:b}=this.props;a.preventDefault(),this.detach(),b()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function aD(a){return!!(a&&"distance"in a)}function aE(a){return!!(a&&"delay"in a)}aC.activators=[{eventName:"onKeyDown",handler:(a,b,c)=>{let{keyboardCodes:d=aA,onActivation:e}=b,{active:f}=c,{code:g}=a.nativeEvent;if(d.start.includes(g)){let b=f.activatorNode.current;return(!b||a.target===b)&&(a.preventDefault(),null==e||e({event:a.nativeEvent}),!0)}return!1}}];class aF{constructor(a,b,c){var d;void 0===c&&(c=function(a){let{EventTarget:b}=B(a);return a instanceof b?a:F(a)}(a.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=a,this.events=b;const{event:e}=a,{target:f}=e;this.props=a,this.events=b,this.document=F(f),this.documentListeners=new aw(this.document),this.listeners=new aw(c),this.windowListeners=new aw(B(f)),this.initialCoordinates=null!=(d=S(e))?d:ab,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:a,props:{options:{activationConstraint:b,bypassActivationConstraint:c}}}=this;if(this.listeners.add(a.move.name,this.handleMove,{passive:!1}),this.listeners.add(a.end.name,this.handleEnd),a.cancel&&this.listeners.add(a.cancel.name,this.handleCancel),this.windowListeners.add(n.Resize,this.handleCancel),this.windowListeners.add(n.DragStart,ay),this.windowListeners.add(n.VisibilityChange,this.handleCancel),this.windowListeners.add(n.ContextMenu,ay),this.documentListeners.add(n.Keydown,this.handleKeydown),b){if(null!=c&&c({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(aE(b)){this.timeoutId=setTimeout(this.handleStart,b.delay),this.handlePending(b);return}if(aD(b))return void this.handlePending(b)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(a,b){let{active:c,onPending:d}=this.props;d(c,a,this.initialCoordinates,b)}handleStart(){let{initialCoordinates:a}=this,{onStart:b}=this.props;a&&(this.activated=!0,this.documentListeners.add(n.Click,az,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(n.SelectionChange,this.removeTextSelection),b(a))}handleMove(a){var b;let{activated:c,initialCoordinates:d,props:e}=this,{onMove:f,options:{activationConstraint:g}}=e;if(!d)return;let h=null!=(b=S(a))?b:ab,i=Q(d,h);if(!c&&g){if(aD(g)){if(null!=g.tolerance&&ax(i,g.tolerance))return this.handleCancel();if(ax(i,g.distance))return this.handleStart()}return aE(g)&&ax(i,g.tolerance)?this.handleCancel():void this.handlePending(g,i)}a.cancelable&&a.preventDefault(),f(h)}handleEnd(){let{onAbort:a,onEnd:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleCancel(){let{onAbort:a,onCancel:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleKeydown(a){a.code===o.Esc&&this.handleCancel()}removeTextSelection(){var a;null==(a=this.document.getSelection())||a.removeAllRanges()}}let aG={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class aH extends aF{constructor(a){const{event:b}=a;super(a,aG,F(b.target))}}aH.activators=[{eventName:"onPointerDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return!!c.isPrimary&&0===c.button&&(null==d||d({event:c}),!0)}}];(g=p||(p={}))[g.RightClick=2]="RightClick";(h=q||(q={}))[h.Pointer=0]="Pointer",h[h.DraggableRect=1]="DraggableRect",(i=r||(r={}))[i.TreeOrder=0]="TreeOrder",i[i.ReversedTreeOrder=1]="ReversedTreeOrder";let aI={x:{[m.Backward]:!1,[m.Forward]:!1},y:{[m.Backward]:!1,[m.Forward]:!1}};(j=s||(s={}))[j.Always=0]="Always",j[j.BeforeDragging=1]="BeforeDragging",j[j.WhileDragging=2]="WhileDragging",(t||(t={})).Optimized="optimized";let aJ=new Map;function aK(a,b){return J(c=>a?c||("function"==typeof b?b(a):a):null,[b,a])}function aL(a){let{callback:b,disabled:c}=a;H(b);let d=(0,w.useMemo)(()=>{},[c]);return(0,w.useEffect)(()=>()=>null==d?void 0:d.disconnect(),[d]),d}function aM(a){return new av(ak(a),a)}function aN(a,b,c){void 0===b&&(b=aM);let[d,e]=(0,w.useState)(null);function f(){e(d=>{if(!a)return null;if(!1===a.isConnected){var e;return null!=(e=null!=d?d:c)?e:null}let f=b(a);return JSON.stringify(d)===JSON.stringify(f)?d:f})}let g=function(a){let{callback:b,disabled:c}=a,d=H(b),e=(0,w.useMemo)(()=>{},[d,c]);return(0,w.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}({callback(b){if(a)for(let c of b){let{type:b,target:d}=c;if("childList"===b&&d instanceof HTMLElement&&d.contains(a)){f();break}}}}),h=aL({callback:f});return G(()=>{f(),a?(null==h||h.observe(a),null==g||g.observe(document.body,{childList:!0,subtree:!0})):(null==h||h.disconnect(),null==g||g.disconnect())},[a]),d}let aO=[];function aP(a,b){void 0===b&&(b=[]);let c=(0,w.useRef)(null);return(0,w.useEffect)(()=>{c.current=null},b),(0,w.useEffect)(()=>{let b=a!==ab;b&&!c.current&&(c.current=a),!b&&c.current&&(c.current=null)},[a]),c.current?Q(a,c.current):ab}function aQ(a){return(0,w.useMemo)(()=>{let b,c;return a?(b=a.innerWidth,{top:0,left:0,right:b,bottom:c=a.innerHeight,width:b,height:c}):null},[a])}let aR=[],aS=[{sensor:aH,options:{}},{sensor:aC,options:{}}],aT={current:{}},aU={draggable:{measure:al},droppable:{measure:al,strategy:s.WhileDragging,frequency:t.Optimized},dragOverlay:{measure:ak}};class aV extends Map{get(a){var b;return null!=a&&null!=(b=super.get(a))?b:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(a=>{let{disabled:b}=a;return!b})}getNodeFor(a){var b,c;return null!=(b=null==(c=this.get(a))?void 0:c.node.current)?b:void 0}}let aW={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new aV,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:aa},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:aU,measureDroppableContainers:aa,windowRect:null,measuringScheduled:!1},aX={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:aa,draggableNodes:new Map,over:null,measureDroppableContainers:aa},aY=(0,w.createContext)(aX),aZ=(0,w.createContext)(aW);function a$(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new aV}}}function a_(a,b){switch(b.type){case l.DragStart:return{...a,draggable:{...a.draggable,initialCoordinates:b.initialCoordinates,active:b.active}};case l.DragMove:if(null==a.draggable.active)return a;return{...a,draggable:{...a.draggable,translate:{x:b.coordinates.x-a.draggable.initialCoordinates.x,y:b.coordinates.y-a.draggable.initialCoordinates.y}}};case l.DragEnd:case l.DragCancel:return{...a,draggable:{...a.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case l.RegisterDroppable:{let{element:c}=b,{id:d}=c,e=new aV(a.droppable.containers);return e.set(d,c),{...a,droppable:{...a.droppable,containers:e}}}case l.SetDroppableDisabled:{let{id:c,key:d,disabled:e}=b,f=a.droppable.containers.get(c);if(!f||d!==f.key)return a;let g=new aV(a.droppable.containers);return g.set(c,{...f,disabled:e}),{...a,droppable:{...a.droppable,containers:g}}}case l.UnregisterDroppable:{let{id:c,key:d}=b,e=a.droppable.containers.get(c);if(!e||d!==e.key)return a;let f=new aV(a.droppable.containers);return f.delete(c),{...a,droppable:{...a.droppable,containers:f}}}default:return a}}function a0(a){let{disabled:b}=a,{active:c,activatorEvent:d,draggableNodes:e}=(0,w.useContext)(aY),f=L(d),g=L(null==c?void 0:c.id);return(0,w.useEffect)(()=>{if(!b&&!d&&f&&null!=g){if(!R(f)||document.activeElement===f.target)return;let a=e.get(g);if(!a)return;let{activatorNode:b,node:c}=a;(b.current||c.current)&&requestAnimationFrame(()=>{for(let a of[b.current,c.current]){if(!a)continue;let b=a.matches(U)?a:a.querySelector(U);if(b){b.focus();break}}})}},[d,b,e,g,f]),null}let a1=(0,w.createContext)({...ab,scaleX:1,scaleY:1});(k=u||(u={}))[k.Uninitialized=0]="Uninitialized",k[k.Initializing=1]="Initializing",k[k.Initialized=2]="Initialized";let a2=(0,w.memo)(function(a){var b,c,d,e,f,g,h,i;let j,k,n,o,p,t,v,x,{id:z,accessibility:A,autoScroll:C=!0,children:E,sensors:F=aS,collisionDetection:H=ag,measuring:M,modifiers:O,...Q}=a,[R,T]=(0,w.useReducer)(a_,void 0,a$),[U,V]=function(){let[a]=(0,w.useState)(()=>new Set),b=(0,w.useCallback)(b=>(a.add(b),()=>a.delete(b)),[a]);return[(0,w.useCallback)(b=>{let{type:c,event:d}=b;a.forEach(a=>{var b;return null==(b=a[c])?void 0:b.call(a,d)})},[a]),b]}(),[W,X]=(0,w.useState)(u.Uninitialized),Z=W===u.Initialized,{draggable:{active:$,nodes:aa,translate:ac},droppable:{containers:ad}}=R,ae=null!=$?aa.get($):null,af=(0,w.useRef)({initial:null,translated:null}),aj=(0,w.useMemo)(()=>{var a;return null!=$?{id:$,data:null!=(a=null==ae?void 0:ae.data)?a:aT,rect:af}:null},[$,ae]),al=(0,w.useRef)(null),[ao,ap]=(0,w.useState)(null),[au,aw]=(0,w.useState)(null),ax=I(Q,Object.values(Q)),ay=N("DndDescribedBy",z),az=(0,w.useMemo)(()=>ad.getEnabled(),[ad]),aA=(0,w.useMemo)(()=>({draggable:{...aU.draggable,...null==M?void 0:M.draggable},droppable:{...aU.droppable,...null==M?void 0:M.droppable},dragOverlay:{...aU.dragOverlay,...null==M?void 0:M.dragOverlay}}),[null==M?void 0:M.draggable,null==M?void 0:M.droppable,null==M?void 0:M.dragOverlay]),{droppableRects:aB,measureDroppableContainers:aC,measuringScheduled:aD}=function(a,b){let{dragging:c,dependencies:d,config:e}=b,[f,g]=(0,w.useState)(null),{frequency:h,measure:i,strategy:j}=e,k=(0,w.useRef)(a),l=function(){switch(j){case s.Always:return!1;case s.BeforeDragging:return c;default:return!c}}(),m=I(l),n=(0,w.useCallback)(function(a){void 0===a&&(a=[]),m.current||g(b=>null===b?a:b.concat(a.filter(a=>!b.includes(a))))},[m]),o=(0,w.useRef)(null),p=J(b=>{if(l&&!c)return aJ;if(!b||b===aJ||k.current!==a||null!=f){let b=new Map;for(let c of a){if(!c)continue;if(f&&f.length>0&&!f.includes(c.id)&&c.rect.current){b.set(c.id,c.rect.current);continue}let a=c.node.current,d=a?new av(i(a),a):null;c.rect.current=d,d&&b.set(c.id,d)}return b}return b},[a,f,c,l,i]);return(0,w.useEffect)(()=>{k.current=a},[a]),(0,w.useEffect)(()=>{l||n()},[c,l]),(0,w.useEffect)(()=>{f&&f.length>0&&g(null)},[JSON.stringify(f)]),(0,w.useEffect)(()=>{l||"number"!=typeof h||null!==o.current||(o.current=setTimeout(()=>{n(),o.current=null},h))},[h,l,n,...d]),{droppableRects:p,measureDroppableContainers:n,measuringScheduled:null!=f}}(az,{dragging:Z,dependencies:[ac.x,ac.y],config:aA.droppable}),aE=J(a=>{var b;return null==$?null:null!=(b=null!=p?p:a)?b:null},[p=(o=null!=$?aa.get($):void 0)?o.node.current:null,$]),aF=(0,w.useMemo)(()=>au?S(au):null,[au]),aG=(j=(null==ao?void 0:ao.autoScrollEnabled)===!1,k="object"==typeof C?!1===C.enabled:!1===C,n=Z&&!j&&!k,"object"==typeof C?{...C,enabled:n}:{enabled:n}),aH=aK(aE,aA.draggable.measure);!function(a){let{activeNode:b,measure:c,initialRect:d,config:e=!0}=a,f=(0,w.useRef)(!1),{x:g,y:h}="boolean"==typeof e?{x:e,y:e}:e;G(()=>{if(!g&&!h||!b){f.current=!1;return}if(f.current||!d)return;let a=null==b?void 0:b.node.current;if(!a||!1===a.isConnected)return;let e=ah(c(a),d);if(g||(e.x=0),h||(e.y=0),f.current=!0,Math.abs(e.x)>0||Math.abs(e.y)>0){let b=an(a);b&&b.scrollBy({top:e.y,left:e.x})}},[b,g,h,d,c])}({activeNode:null!=$?aa.get($):null,config:aG.layoutShiftCompensation,initialRect:aH,measure:aA.draggable.measure});let aM=aN(aE,aA.draggable.measure,aH),aV=aN(aE?aE.parentElement:null),aW=(0,w.useRef)({activatorEvent:null,active:null,activeNode:aE,collisionRect:null,collisions:null,droppableRects:aB,draggableNodes:aa,draggingNode:null,draggingNodeRect:null,droppableContainers:ad,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),aX=ad.getNodeFor(null==(b=aW.current.over)?void 0:b.id),a2=function(a){let{measure:b}=a,[c,d]=(0,w.useState)(null),e=aL({callback:(0,w.useCallback)(a=>{for(let{target:c}of a)if(D(c)){d(a=>{let d=b(c);return a?{...a,width:d.width,height:d.height}:d});break}},[b])}),[f,g]=K((0,w.useCallback)(a=>{let c=function(a){if(!a)return null;if(a.children.length>1)return a;let b=a.children[0];return D(b)?b:a}(a);null==e||e.disconnect(),c&&(null==e||e.observe(c)),d(c?b(c):null)},[b,e]));return(0,w.useMemo)(()=>({nodeRef:f,rect:c,setRef:g}),[c,f,g])}({measure:aA.dragOverlay.measure}),a3=null!=(c=a2.nodeRef.current)?c:aE,a4=Z?null!=(d=a2.rect)?d:aM:null,a5=!!(a2.nodeRef.current&&a2.rect),a6=(t=aK(f=a5?null:aM),ah(f,t)),a7=aQ(a3?B(a3):null),a8=(g=Z?null!=aX?aX:aE:null,v=(0,w.useRef)(g),x=J(a=>g?a&&a!==aO&&g&&v.current&&g.parentNode===v.current.parentNode?a:am(g):aO,[g]),(0,w.useEffect)(()=>{v.current=g},[g]),x),a9=function(a,b){void 0===b&&(b=ak);let[c]=a,d=aQ(c?B(c):null),[e,f]=(0,w.useState)(aR);function g(){f(()=>a.length?a.map(a=>new av(b(a),a)):aR)}let h=aL({callback:g});return G(()=>{null==h||h.disconnect(),g(),a.forEach(a=>null==h?void 0:h.observe(a))},[a]),e}(a8),ba=function(a,b){let{transform:c,...d}=b;return null!=a&&a.length?a.reduce((a,b)=>b({transform:a,...d}),c):c}(O,{transform:{x:ac.x-a6.x,y:ac.y-a6.y,scaleX:1,scaleY:1},activatorEvent:au,active:aj,activeNodeRect:aM,containerNodeRect:aV,draggingNodeRect:a4,over:aW.current.over,overlayNodeRect:a2.rect,scrollableAncestors:a8,scrollableAncestorRects:a9,windowRect:a7}),bb=aF?P(aF,ac):null,bc=function(a){let[b,c]=(0,w.useState)(null),d=(0,w.useRef)(a),e=(0,w.useCallback)(a=>{var b;let d=(b=a.target,null);d&&c(a=>a?(a.set(d,aq(d)),new Map(a)):null)},[]);return(0,w.useEffect)(()=>{let b=d.current;if(a!==b){e(b);let f=a.map(a=>null).filter(a=>null!=a);c(f.length?new Map(f):null),d.current=a}return()=>{e(a),e(b)};function e(a){a.forEach(a=>{})}},[e,a]),(0,w.useMemo)(()=>a.length?b?Array.from(b.values()).reduce((a,b)=>P(a,b),ab):at(a):ab,[a,b])}(a8),bd=aP(bc),be=aP(bc,[aM]),bf=P(ba,bd),bg=a4?ai(a4,ba):null,bh=aj&&bg?H({active:aj,collisionRect:bg,droppableRects:aB,droppableContainers:az,pointerCoordinates:bb}):null,bi=function(a){if(!a||0===a.length)return null;let[b]=a;return b.id}(bh),[bj,bk]=(0,w.useState)(null),bl=(h=a5?ba:P(ba,be),i=null!=(e=null==bj?void 0:bj.rect)?e:null,{...h,scaleX:i&&aM?i.width/aM.width:1,scaleY:i&&aM?i.height/aM.height:1}),bm=(0,w.useRef)(null),bn=(0,w.useCallback)((a,b)=>{let{sensor:c,options:d}=b;if(null==al.current)return;let e=aa.get(al.current);if(!e)return;let f=a.nativeEvent,g=new c({active:al.current,activeNode:e,event:f,options:d,context:aW,onAbort(a){if(!aa.get(a))return;let{onDragAbort:b}=ax.current,c={id:a};null==b||b(c),U({type:"onDragAbort",event:c})},onPending(a,b,c,d){if(!aa.get(a))return;let{onDragPending:e}=ax.current,f={id:a,constraint:b,initialCoordinates:c,offset:d};null==e||e(f),U({type:"onDragPending",event:f})},onStart(a){let b=al.current;if(null==b)return;let c=aa.get(b);if(!c)return;let{onDragStart:d}=ax.current,e={activatorEvent:f,active:{id:b,data:c.data,rect:af}};(0,y.unstable_batchedUpdates)(()=>{null==d||d(e),X(u.Initializing),T({type:l.DragStart,initialCoordinates:a,active:b}),U({type:"onDragStart",event:e}),ap(bm.current),aw(f)})},onMove(a){T({type:l.DragMove,coordinates:a})},onEnd:h(l.DragEnd),onCancel:h(l.DragCancel)});function h(a){return async function(){let{active:b,collisions:c,over:d,scrollAdjustedTranslate:e}=aW.current,g=null;if(b&&e){let{cancelDrop:h}=ax.current;g={activatorEvent:f,active:b,collisions:c,delta:e,over:d},a===l.DragEnd&&"function"==typeof h&&await Promise.resolve(h(g))&&(a=l.DragCancel)}al.current=null,(0,y.unstable_batchedUpdates)(()=>{T({type:a}),X(u.Uninitialized),bk(null),ap(null),aw(null),bm.current=null;let b=a===l.DragEnd?"onDragEnd":"onDragCancel";if(g){let a=ax.current[b];null==a||a(g),U({type:b,event:g})}})}}bm.current=g},[aa]),bo=(0,w.useCallback)((a,b)=>(c,d)=>{let e=c.nativeEvent,f=aa.get(d);null!==al.current||!f||e.dndKit||e.defaultPrevented||!0===a(c,b.options,{active:f})&&(e.dndKit={capturedBy:b.sensor},al.current=d,bn(c,b))},[aa,bn]),bp=(0,w.useMemo)(()=>F.reduce((a,b)=>{let{sensor:c}=b;return[...a,...c.activators.map(a=>({eventName:a.eventName,handler:bo(a.handler,b)}))]},[]),[F,bo]);(0,w.useEffect)(()=>{},F.map(a=>{let{sensor:b}=a;return b})),G(()=>{aM&&W===u.Initializing&&X(u.Initialized)},[aM,W]),(0,w.useEffect)(()=>{let{onDragMove:a}=ax.current,{active:b,activatorEvent:c,collisions:d,over:e}=aW.current;if(!b||!c)return;let f={active:b,activatorEvent:c,collisions:d,delta:{x:bf.x,y:bf.y},over:e};(0,y.unstable_batchedUpdates)(()=>{null==a||a(f),U({type:"onDragMove",event:f})})},[bf.x,bf.y]),(0,w.useEffect)(()=>{let{active:a,activatorEvent:b,collisions:c,droppableContainers:d,scrollAdjustedTranslate:e}=aW.current;if(!a||null==al.current||!b||!e)return;let{onDragOver:f}=ax.current,g=d.get(bi),h=g&&g.rect.current?{id:g.id,rect:g.rect.current,data:g.data,disabled:g.disabled}:null,i={active:a,activatorEvent:b,collisions:c,delta:{x:e.x,y:e.y},over:h};(0,y.unstable_batchedUpdates)(()=>{bk(h),null==f||f(i),U({type:"onDragOver",event:i})})},[bi]),G(()=>{aW.current={activatorEvent:au,active:aj,activeNode:aE,collisionRect:bg,collisions:bh,droppableRects:aB,draggableNodes:aa,draggingNode:a3,draggingNodeRect:a4,droppableContainers:ad,over:bj,scrollableAncestors:a8,scrollAdjustedTranslate:bf},af.current={initial:a4,translated:bg}},[aj,aE,bh,bg,aa,a3,a4,aB,ad,bj,a8,bf]),function(a){let b,{acceleration:c,activator:d=q.Pointer,canScroll:e,draggingRect:f,enabled:g,interval:h=5,order:i=r.TreeOrder,pointerCoordinates:j,scrollableAncestors:k,scrollableAncestorRects:l,delta:n,threshold:o}=a,p=function(a){let{delta:b,disabled:c}=a,d=L(b);return J(a=>{if(c||!d||!a)return aI;let e={x:Math.sign(b.x-d.x),y:Math.sign(b.y-d.y)};return{x:{[m.Backward]:a.x[m.Backward]||-1===e.x,[m.Forward]:a.x[m.Forward]||1===e.x},y:{[m.Backward]:a.y[m.Backward]||-1===e.y,[m.Forward]:a.y[m.Forward]||1===e.y}}},[c,b,d])}({delta:n,disabled:!g}),[s,t]=(b=(0,w.useRef)(null),[(0,w.useCallback)((a,c)=>{b.current=setInterval(a,c)},[]),(0,w.useCallback)(()=>{null!==b.current&&(clearInterval(b.current),b.current=null)},[])]),u=(0,w.useRef)({x:0,y:0}),v=(0,w.useRef)({x:0,y:0}),x=(0,w.useMemo)(()=>{switch(d){case q.Pointer:return j?{top:j.y,bottom:j.y,left:j.x,right:j.x}:null;case q.DraggableRect:return f}},[d,f,j]),y=(0,w.useRef)(null),z=(0,w.useCallback)(()=>{let a=y.current;if(!a)return;let b=u.current.x*v.current.x,c=u.current.y*v.current.y;a.scrollBy(b,c)},[]),A=(0,w.useMemo)(()=>i===r.TreeOrder?[...k].reverse():k,[i,k]);(0,w.useEffect)(()=>{if(!g||!k.length||!x)return void t();for(let a of A){if((null==e?void 0:e(a))===!1)continue;let b=l[k.indexOf(a)];if(!b)continue;let{direction:d,speed:f}=function(a,b,c,d,e){let{top:f,left:g,right:h,bottom:i}=c;void 0===d&&(d=10),void 0===e&&(e=as);let{isTop:j,isBottom:k,isLeft:l,isRight:n}=ar(a),o={x:0,y:0},p={x:0,y:0},q={height:b.height*e.y,width:b.width*e.x};return!j&&f<=b.top+q.height?(o.y=m.Backward,p.y=d*Math.abs((b.top+q.height-f)/q.height)):!k&&i>=b.bottom-q.height&&(o.y=m.Forward,p.y=d*Math.abs((b.bottom-q.height-i)/q.height)),!n&&h>=b.right-q.width?(o.x=m.Forward,p.x=d*Math.abs((b.right-q.width-h)/q.width)):!l&&g<=b.left+q.width&&(o.x=m.Backward,p.x=d*Math.abs((b.left+q.width-g)/q.width)),{direction:o,speed:p}}(a,b,x,c,o);for(let a of["x","y"])p[a][d[a]]||(f[a]=0,d[a]=0);if(f.x>0||f.y>0){t(),y.current=a,s(z,h),u.current=f,v.current=d;return}}u.current={x:0,y:0},v.current={x:0,y:0},t()},[c,z,e,t,g,h,JSON.stringify(x),JSON.stringify(p),s,k,A,l,JSON.stringify(o)])}({...aG,delta:ac,draggingRect:bg,pointerCoordinates:bb,scrollableAncestors:a8,scrollableAncestorRects:a9});let bq=(0,w.useMemo)(()=>({active:aj,activeNode:aE,activeNodeRect:aM,activatorEvent:au,collisions:bh,containerNodeRect:aV,dragOverlay:a2,draggableNodes:aa,droppableContainers:ad,droppableRects:aB,over:bj,measureDroppableContainers:aC,scrollableAncestors:a8,scrollableAncestorRects:a9,measuringConfiguration:aA,measuringScheduled:aD,windowRect:a7}),[aj,aE,aM,au,bh,aV,a2,aa,ad,aB,bj,aC,a8,a9,aA,aD,a7]),br=(0,w.useMemo)(()=>({activatorEvent:au,activators:bp,active:aj,activeNodeRect:aM,ariaDescribedById:{draggable:ay},dispatch:T,draggableNodes:aa,over:bj,measureDroppableContainers:aC}),[au,bp,aj,aM,T,ay,aa,bj,aC]);return w.default.createElement(Y.Provider,{value:V},w.default.createElement(aY.Provider,{value:br},w.default.createElement(aZ.Provider,{value:bq},w.default.createElement(a1.Provider,{value:bl},E)),w.default.createElement(a0,{disabled:(null==A?void 0:A.restoreFocus)===!1})),w.default.createElement(_,{...A,hiddenTextDescribedById:ay}))}),a3=(0,w.createContext)(null),a4="button",a5={timeout:25},a6={position:"fixed",touchAction:"none"},a7=a=>R(a)?"transform 250ms ease":void 0;function a8(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function a9(a){return null!==a&&a>=0}(a,b)=>{let{as:c,activatorEvent:d,adjustScale:e,children:f,className:g,rect:h,style:i,transform:j,transition:k=a7}=a;if(!h)return null;let l=e?j:{...j,scaleX:1,scaleY:1},m={...a6,width:h.width,height:h.height,top:h.top,left:h.left,transform:T.Transform.toString(l),transformOrigin:e&&d?function(a,b){let c=S(a);if(!c)return"0 0";let d={x:(c.x-b.left)/b.width*100,y:(c.y-b.top)/b.height*100};return d.x+"% "+d.y+"%"}(d,h):void 0,transition:"function"==typeof k?k(d):k,...i};return w.default.createElement(c,{className:g,style:m,ref:b},f)},b={styles:{active:{opacity:"0"}}};let ba=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=a8(b,d,c),g=b[e],h=f[e];return h&&g?{x:h.left-g.left,y:h.top-g.top,scaleX:h.width/g.width,scaleY:h.height/g.height}:null},bb="Sortable",bc=w.default.createContext({activeIndex:-1,containerId:bb,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ba,disabled:{draggable:!1,droppable:!1}});function bd(a){let{children:b,id:c,items:d,strategy:e=ba,disabled:f=!1}=a,{active:g,dragOverlay:h,droppableRects:i,over:j,measureDroppableContainers:k}=(0,w.useContext)(aZ),l=N(bb,c),m=null!==h.rect,n=(0,w.useMemo)(()=>d.map(a=>"object"==typeof a&&"id"in a?a.id:a),[d]),o=null!=g,p=g?n.indexOf(g.id):-1,q=j?n.indexOf(j.id):-1,r=(0,w.useRef)(n),s=!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(n,r.current),t=-1!==q&&-1===p||s,u="boolean"==typeof f?{draggable:f,droppable:f}:f;G(()=>{s&&o&&k(n)},[s,n,o,k]),(0,w.useEffect)(()=>{r.current=n},[n]);let v=(0,w.useMemo)(()=>({activeIndex:p,containerId:l,disabled:u,disableTransforms:t,items:n,overIndex:q,useDragOverlay:m,sortedRects:n.reduce((a,b,c)=>{let d=i.get(b);return d&&(a[c]=d),a},Array(n.length)),strategy:e}),[p,l,u.draggable,u.droppable,t,n,q,i,m,e]);return w.default.createElement(bc.Provider,{value:v},b)}let be=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return a8(c,d,e).indexOf(b)},bf=a=>{let{containerId:b,isSorting:c,wasDragging:d,index:e,items:f,newIndex:g,previousItems:h,previousContainerId:i,transition:j}=a;return!!j&&!!d&&(h===f||e!==g)&&(!!c||g!==e&&b===i)},bg={duration:200,easing:"ease"},bh="transform",bi=T.Transition.toString({property:bh,duration:0,easing:"linear"}),bj={roleDescription:"sortable"};o.Down,o.Right,o.Up,o.Left;var bk=a.i(56173),bl=a.i(47153),bm=a.i(2693),bn=a.i(2799),bo=a.i(7078),bp=a.i(93026),bq=a.i(58918);function br({p:a,healthy:b,cooling:c,onDone:d}){let{attributes:e,listeners:f,setNodeRef:g,transform:h,transition:i,isDragging:j}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bf,attributes:g,disabled:h,data:i,getNewIndex:j=be,id:k,strategy:m,resizeObserverConfig:n,transition:o=bg}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:x,strategy:y}=(0,w.useContext)(bc),z=(b=h,c=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),A=p.indexOf(k),B=(0,w.useMemo)(()=>({sortable:{containerId:q,index:A,items:p},...i}),[q,i,A,p]),C=(0,w.useMemo)(()=>p.slice(p.indexOf(k)),[p,k]),{rect:D,node:E,isOver:F,setNodeRef:H}=function(a){let{data:b,disabled:c=!1,id:d,resizeObserverConfig:e}=a,f=N("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,w.useContext)(aY),k=(0,w.useRef)({disabled:c}),m=(0,w.useRef)(!1),n=(0,w.useRef)(null),o=(0,w.useRef)(null),{disabled:p,updateMeasurementsFor:q,timeout:r}={...a5,...e},s=I(null!=q?q:d),t=aL({callback:(0,w.useCallback)(()=>{if(!m.current){m.current=!0;return}null!=o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(Array.isArray(s.current)?s.current:[s.current]),o.current=null},r)},[r]),disabled:p||!g}),[u,v]=K((0,w.useCallback)((a,b)=>{t&&(b&&(t.unobserve(b),m.current=!1),a&&t.observe(a))},[t])),x=I(b);return(0,w.useEffect)(()=>{t&&u.current&&(t.disconnect(),m.current=!1,t.observe(u.current))},[u,t]),(0,w.useEffect)(()=>(h({type:l.RegisterDroppable,element:{id:d,key:f,disabled:c,node:u,rect:n,data:x}}),()=>h({type:l.UnregisterDroppable,key:f,id:d})),[d]),(0,w.useEffect)(()=>{c!==k.current.disabled&&(h({type:l.SetDroppableDisabled,id:d,key:f,disabled:c}),k.current.disabled=c)},[d,f,c,h]),{active:g,rect:n,isOver:(null==i?void 0:i.id)===d,node:u,over:i,setNodeRef:v}}({id:k,data:B,disabled:z.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...n}}),{active:J,activatorEvent:L,activeNodeRect:M,attributes:O,setNodeRef:P,listeners:Q,isDragging:S,over:U,setActivatorNodeRef:V,transform:W}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=N("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,w.useContext)(aY),{role:n=a4,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,w.useContext)(q?a1:a3),[s,t]=K(),[u,v]=K(),x=(0,w.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),y=I(c);return G(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:y}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,w.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===a4||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:x,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:B,attributes:{...bj,...g},disabled:z.draggable}),X=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,w.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(H,P),Y=!!J,Z=Y&&!t&&a9(r)&&a9(v),$=!x&&S,_=$&&Z?W:null,aa=Z?null!=_?_:(null!=m?m:y)({rects:u,activeNodeRect:M,activeIndex:r,overIndex:v,index:A}):null,ab=a9(r)&&a9(v)?j({id:k,items:p,activeIndex:r,overIndex:v}):A,ac=null==J?void 0:J.id,ad=(0,w.useRef)({activeId:ac,items:p,newIndex:ab,containerId:q}),ae=p!==ad.current.items,af=f({active:J,containerId:q,isDragging:S,isSorting:Y,id:k,index:A,items:p,newIndex:ad.current.newIndex,previousItems:ad.current.items,previousContainerId:ad.current.containerId,transition:o,wasDragging:null!=ad.current.activeId}),ag=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,w.useState)(null),h=(0,w.useRef)(c);return G(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=ak(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,w.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!af,index:A,node:E,rect:D});return(0,w.useEffect)(()=>{Y&&ad.current.newIndex!==ab&&(ad.current.newIndex=ab),q!==ad.current.containerId&&(ad.current.containerId=q),p!==ad.current.items&&(ad.current.items=p)},[Y,ab,q,p]),(0,w.useEffect)(()=>{if(ac===ad.current.activeId)return;if(null!=ac&&null==ad.current.activeId){ad.current.activeId=ac;return}let a=setTimeout(()=>{ad.current.activeId=ac},50);return()=>clearTimeout(a)},[ac]),{active:J,activeIndex:r,attributes:O,data:B,rect:D,index:A,newIndex:ab,items:p,isOver:F,isSorting:Y,isDragging:S,listeners:Q,node:E,overIndex:v,over:U,setNodeRef:X,setActivatorNodeRef:V,setDroppableNodeRef:H,setDraggableNodeRef:P,transform:null!=ag?ag:aa,transition:ag||ae&&ad.current.newIndex===A?bi:(!$||R(L))&&o&&(Y||af)?T.Transition.toString({...o,property:bh}):void 0}}({id:a.id}),k={transform:T.Transform.toString(h),transition:i};return(0,v.jsxs)("div",{ref:g,style:k,className:`group relative rounded-brand-lg border bg-surface shadow-soft transition-colors ${j?"opacity-50 border-accent shadow-elevated z-10":""} ${a.disabled?"border-danger/35 opacity-60 hover:opacity-100 hover:border-danger/60":j?"":"border-border hover:border-text-subtle"}`,children:[(0,v.jsx)("div",{...e,...f,className:"absolute inset-x-0 top-0 flex h-5 cursor-grab items-center justify-center opacity-0 transition-opacity group-hover:opacity-100 active:cursor-grabbing",onClick:a=>a.preventDefault(),children:(0,v.jsx)("span",{className:"h-[3px] w-8 rounded-full bg-border-subtle transition-colors group-hover:bg-text-subtle"})}),(0,v.jsxs)(x.default,{href:`/providers/${encodeURIComponent(a.id)}`,className:"block px-5 py-6",draggable:!1,children:[(0,v.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,v.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,v.jsx)(bl.Lamp,{state:a.disabled?"down":b?"live":"down"}),(0,v.jsxs)("div",{className:"min-w-0",children:[(0,v.jsx)("span",{className:"block truncate text-[15px] font-semibold text-text",children:a.name||a.id}),a.name&&(0,v.jsxs)("span",{className:"block truncate text-[12px] text-text-subtle",children:[a.id,"/"]})]})]}),(0,v.jsx)(bm.FormatBadge,{format:a.format})]}),(0,v.jsx)("div",{className:"mt-3 truncate text-[13px] text-text-subtle",children:a.base_url}),(0,v.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[(0,v.jsx)(bs,{id:a.id,disabled:!!a.disabled,onDone:d}),a.free&&(0,v.jsx)(bm.Badge,{tone:"info",children:"no auth"}),a.service_account&&(0,v.jsx)(bm.Badge,{tone:"info",children:"service-account"}),(0,v.jsx)(bm.Badge,{tone:"neutral",children:a.free||a.service_account?`${a.api_keys?.length??0} keys`:`${a.api_keys?.length??+!!a.api_key} keys`}),(0,v.jsxs)(bm.Badge,{tone:"neutral",children:[a.models.length," models"]}),c&&(0,v.jsx)(bn.CooldownTimer,{ms:c.cooldown_ms})]})]})]})}function bs({id:a,disabled:b,onDone:c}){let[d,e]=(0,w.useState)(!1);return(0,v.jsx)("button",{type:"button",onClick:f=>{f.preventDefault(),f.stopPropagation(),d||(e(!0),bk.adminApi.setProviderDisabled(a,!b).then(()=>c()).finally(()=>e(!1)))},className:`inline-flex items-center gap-1.5 text-[11px] font-medium ${b?"text-danger":"text-text-muted"}`,"aria-label":b?"Enable provider":"Disable provider",title:b?"Provider disabled — click to enable":"Provider enabled — click to disable",children:(0,v.jsx)("span",{className:`relative h-4 w-7 rounded-full transition-colors ${b?"bg-danger":"bg-accent"} ${d?"opacity-60":""}`,children:(0,v.jsx)("span",{className:`absolute left-0.5 top-0.5 h-3 w-3 rounded-full bg-white transition-transform ${b?"translate-x-0":"translate-x-[14px]"}`})})})}let bt=[{id:"openai",label:"OpenAI compatible",sub:"/v1/chat/completions",icon:"bolt",format:"openai",base_url:"https://api.openai.com/v1",hint:"Base URL ending in /v1 for any OpenAI-compatible API.",modelHint:"e.g. gpt-4o, glm-5.2"},{id:"anthropic",label:"Anthropic compatible",sub:"/v1/messages",icon:"smart_toy",format:"anthropic",base_url:"https://api.anthropic.com",hint:"Base URL of an Anthropic-compatible API; /messages is appended.",modelHint:"e.g. claude-sonnet-4-6"}];function bu({onDone:a,onClose:b}){let[c,d]=(0,w.useState)(null),[e,f]=(0,w.useState)(""),[g,h]=(0,w.useState)(""),[i,j]=(0,w.useState)(""),[k,l]=(0,w.useState)(!1),[m,n]=(0,w.useState)(""),[o,p]=(0,w.useState)(!1),[q,r]=(0,w.useState)(!1),[s,t]=(0,w.useState)(null),[u,x]=(0,w.useState)("");if(!c)return(0,v.jsxs)("div",{className:"mb-5 rounded-brand-lg border border-border bg-surface p-5 shadow-soft",children:[(0,v.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,v.jsxs)("div",{children:[(0,v.jsx)("h2",{className:"text-[14px] font-semibold text-text",children:"Add a provider"}),(0,v.jsx)("p",{className:"mt-0.5 text-[12.5px] text-text-muted",children:"Pick the API your endpoint speaks — the rest is prefilled."})]}),(0,v.jsx)("button",{type:"button",onClick:b,className:"flex-none text-text-subtle hover:text-text","aria-label":"Cancel",children:(0,v.jsx)(bp.Icon,{name:"close",size:18})})]}),(0,v.jsx)("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:bt.map(a=>(0,v.jsxs)("button",{type:"button",onClick:()=>{d(a),h(a.base_url),t(null),x("")},className:"group flex items-start gap-3 rounded-brand-lg border border-border bg-bg p-4 text-left transition-colors hover:border-accent hover:bg-accent-soft",children:[(0,v.jsx)("span",{className:"flex h-10 w-10 flex-none items-center justify-center rounded-brand bg-surface-2 text-text-muted group-hover:text-accent",children:(0,v.jsx)(bp.Icon,{name:a.icon,size:20})}),(0,v.jsxs)("span",{className:"min-w-0",children:[(0,v.jsx)("span",{className:"block text-[13.5px] font-semibold text-text",children:a.label}),(0,v.jsx)("span",{className:"block tnum text-[11.5px] text-text-subtle",children:a.sub}),(0,v.jsx)("span",{className:"mt-1 block text-[11.5px] text-text-muted",children:a.hint})]})]},a.id))})]});async function y(){if(!g||!c)return;r(!0),t(null);let a=await bk.adminApi.validateProvider({format:c.format,base_url:g,api_key:i||void 0});r(!1),t(a.data??{ok:!1,reachable:!1,status:0,error:a.error})}async function z(b){if(b.preventDefault(),!c||!e||!g)return void x("name and base URL are required");p(!0),x("");let d=await bk.adminApi.addProvider({id:e,format:c.format,base_url:g,api_key:i||void 0,free:!i.trim()});if(!d.ok){p(!1),x(d.error??"failed");return}m.trim()&&await bk.adminApi.addModel(e,m.trim()),p(!1),a()}return(0,v.jsx)("div",{className:"mb-5 rounded-brand-lg border border-border bg-surface p-5 shadow-soft",children:(0,v.jsxs)("form",{onSubmit:z,children:[(0,v.jsxs)("div",{className:"mb-4 flex items-center gap-2.5 border-b border-border-subtle pb-4",children:[(0,v.jsx)("span",{className:"flex h-8 w-8 items-center justify-center rounded-brand bg-surface-2 text-text-muted",children:(0,v.jsx)(bp.Icon,{name:c.icon,size:17})}),(0,v.jsxs)("div",{children:[(0,v.jsx)("div",{className:"text-[13.5px] font-semibold text-text",children:c.label}),(0,v.jsx)("div",{className:"tnum text-[11px] text-text-subtle",children:c.sub})]}),(0,v.jsxs)("button",{type:"button",onClick:()=>{d(null),t(null)},className:"ml-auto inline-flex items-center gap-1 text-[12px] text-text-subtle hover:text-text",children:[(0,v.jsx)(bp.Icon,{name:"arrow_back",size:14})," change type"]})]}),(0,v.jsxs)("div",{className:"space-y-3",children:[(0,v.jsx)(bo.Field,{label:"Name",hint:"a friendly id — also the model prefix (name/model)",children:(0,v.jsx)(bo.Input,{value:e,onChange:a=>f(a.target.value),placeholder:"e.g. openai, anthropic"})}),(0,v.jsx)(bo.Field,{label:"Base URL",hint:c.hint,children:(0,v.jsx)(bo.Input,{value:g,onChange:a=>{h(a.target.value),t(null)},placeholder:c.base_url,className:"font-mono text-[12.5px]"})}),(0,v.jsx)(bo.Field,{label:"API Key",hint:"used for Check and live requests — leave blank for a free / no-auth endpoint",children:(0,v.jsxs)("div",{className:"flex gap-2",children:[(0,v.jsxs)("div",{className:"relative flex-1",children:[(0,v.jsx)(bo.Input,{type:k?"text":"password",value:i,onChange:a=>{j(a.target.value),t(null)},placeholder:"sk-…",className:"pr-9 font-mono text-[12.5px]"}),i&&(0,v.jsx)("button",{type:"button",onClick:()=>l(a=>!a),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text","aria-label":k?"Hide key":"Show key",children:(0,v.jsx)(bp.Icon,{name:k?"visibility_off":"visibility",size:15})})]}),(0,v.jsxs)(bo.Button,{type:"button",variant:"ghost",disabled:q||!g,onClick:y,children:[(0,v.jsx)(bp.Icon,{name:q?"progress_activity":"wifi_tethering",size:15}),q?"Checking…":"Check"]})]})}),s&&(0,v.jsxs)("div",{className:"flex items-center gap-2 text-[12px]",children:[(0,v.jsx)(bm.Badge,{tone:s.ok?"live":s.reachable?"warn":"down",children:s.ok?"valid":s.reachable?`reachable (${s.status})`:"invalid"}),s.error&&(0,v.jsx)("span",{className:"text-text-subtle",children:s.error})]}),(0,v.jsx)(bo.Field,{label:"Model ID",hint:"optional — seed one if the provider has no /models endpoint",children:(0,v.jsx)(bo.Input,{value:m,onChange:a=>n(a.target.value),placeholder:c.modelHint,className:"font-mono text-[12.5px]"})})]}),u&&(0,v.jsx)("div",{className:"mt-2 text-[12px] text-danger",children:u}),(0,v.jsxs)("div",{className:"mt-4 flex justify-end gap-2",children:[(0,v.jsx)(bo.Button,{type:"button",variant:"ghost",onClick:b,children:"Cancel"}),(0,v.jsx)(bo.Button,{type:"submit",disabled:o,children:o?"Adding…":"Add provider"})]})]})})}a.s(["ProviderManager",0,function(){var a;let[b,c]=(0,w.useState)(null),[d,e]=(0,w.useState)(""),[f,g]=(0,w.useState)(!1),[h,i]=(0,w.useState)([]),j=(0,w.useCallback)(async()=>{let[a,b]=await Promise.all([fetch("/api/gw/admin/config"),bk.adminApi.providers()]);if(!a.ok||!b.ok)return void e("could not reach the gateway");e("");let d={config:await a.json(),health:b.data?.providers??[]};c(d),i(d.config.providers.map(a=>a.id))},[]);(0,w.useEffect)(()=>{j()},[j]);let k=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,w.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}((a={activationConstraint:{distance:6}},(0,w.useMemo)(()=>({sensor:aH,options:null!=a?a:{}}),[aH,a])));async function l(a){let{active:c,over:d}=a;if(!d||c.id===d.id||!b)return;let e=h.indexOf(c.id),f=h.indexOf(d.id);-1!==e&&-1!==f&&(i(a8(h,e,f)),await bk.adminApi.reorderProvider(e,f),j())}if(d)return(0,v.jsx)(bq.Empty,{children:d});if(!b)return(0,v.jsx)(bq.Empty,{children:"Loading…"});let m=new Map(b.health.map(a=>[a.id,a])),n=new Map(b.config.providers.map(a=>[a.id,a])),o=h.map(a=>n.get(a)).filter(Boolean);return(0,v.jsxs)("div",{children:[(0,v.jsxs)("div",{className:"mb-6 flex items-center justify-between gap-3",children:[(0,v.jsxs)("div",{children:[(0,v.jsx)("h1",{className:"text-[22px] font-semibold tracking-tight text-text",children:"Providers & Keys"}),(0,v.jsx)("p",{className:"mt-1 text-[13px] text-text-muted",children:"Upstream providers the gateway routes to."})]}),(0,v.jsxs)(bo.Button,{onClick:()=>g(!0),children:[(0,v.jsx)(bp.Icon,{name:"add",size:17}),"Add provider"]})]}),f&&(0,v.jsx)(bu,{onClose:()=>g(!1),onDone:()=>{g(!1),j()}}),0===o.length?(0,v.jsx)(bq.Empty,{children:"No providers yet. Add one to start routing."}):(0,v.jsx)(a2,{sensors:k,collisionDetection:af,onDragEnd:l,children:(0,v.jsx)(bd,{items:h,strategy:ba,children:(0,v.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:o.map(a=>{let b=m.get(a.id),c=!b||b.keys.some(a=>a.healthy),d=b?.keys.find(a=>!a.healthy&&a.cooldown_ms>0);return(0,v.jsx)(br,{p:a,healthy:c,cooling:d,onDone:j},a.id)})})})})]})}],62293)}];
|
|
1
|
+
module.exports=[62293,a=>{"use strict";let b;var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a.i(87924),w=a.i(72131),x=a.i(38246),y=a.i(35112);function z(a){let b=Object.prototype.toString.call(a);return"[object Window]"===b||"[object global]"===b}function A(a){return"nodeType"in a}function B(a){var b,c;return a?z(a)?a:A(a)&&null!=(b=null==(c=a.ownerDocument)?void 0:c.defaultView)?b:window:window}function C(a){let{Document:b}=B(a);return a instanceof b}function D(a){return!z(a)&&a instanceof B(a).HTMLElement}function E(a){return a instanceof B(a).SVGElement}function F(a){return a?z(a)?a.document:A(a)?C(a)?a:D(a)||E(a)?a.ownerDocument:document:document:document}let G=w.useEffect;function H(a){let b=(0,w.useRef)(a);return G(()=>{b.current=a}),(0,w.useCallback)(function(){for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return null==b.current?void 0:b.current(...c)},[])}function I(a,b){void 0===b&&(b=[a]);let c=(0,w.useRef)(a);return G(()=>{c.current!==a&&(c.current=a)},b),c}function J(a,b){let c=(0,w.useRef)();return(0,w.useMemo)(()=>{let b=a(c.current);return c.current=b,b},[...b])}function K(a){let b=H(a),c=(0,w.useRef)(null),d=(0,w.useCallback)(a=>{a!==c.current&&(null==b||b(a,c.current)),c.current=a},[]);return[c,d]}function L(a){let b=(0,w.useRef)();return(0,w.useEffect)(()=>{b.current=a},[a]),b.current}let M={};function N(a,b){return(0,w.useMemo)(()=>{if(b)return b;let c=null==M[a]?0:M[a]+1;return M[a]=c,a+"-"+c},[a,b])}function O(a){return function(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return d.reduce((b,c)=>{for(let[d,e]of Object.entries(c)){let c=b[d];null!=c&&(b[d]=c+a*e)}return b},{...b})}}let P=O(1),Q=O(-1);function R(a){if(!a)return!1;let{KeyboardEvent:b}=B(a.target);return b&&a instanceof b}function S(a){if(function(a){if(!a)return!1;let{TouchEvent:b}=B(a.target);return b&&a instanceof b}(a)){if(a.touches&&a.touches.length){let{clientX:b,clientY:c}=a.touches[0];return{x:b,y:c}}else if(a.changedTouches&&a.changedTouches.length){let{clientX:b,clientY:c}=a.changedTouches[0];return{x:b,y:c}}}return"clientX"in a&&"clientY"in a?{x:a.clientX,y:a.clientY}:null}let T=Object.freeze({Translate:{toString(a){if(!a)return;let{x:b,y:c}=a;return"translate3d("+(b?Math.round(b):0)+"px, "+(c?Math.round(c):0)+"px, 0)"}},Scale:{toString(a){if(!a)return;let{scaleX:b,scaleY:c}=a;return"scaleX("+b+") scaleY("+c+")"}},Transform:{toString(a){if(a)return[T.Translate.toString(a),T.Scale.toString(a)].join(" ")}},Transition:{toString(a){let{property:b,duration:c,easing:d}=a;return b+" "+c+"ms "+d}}}),U="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",V={display:"none"};function W(a){let{id:b,value:c}=a;return w.default.createElement("div",{id:b,style:V},c)}function X(a){let{id:b,announcement:c,ariaLiveType:d="assertive"}=a;return w.default.createElement("div",{id:b,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":d,"aria-atomic":!0},c)}let Y=(0,w.createContext)(null),Z={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},$={onDragStart(a){let{active:b}=a;return"Picked up draggable item "+b.id+"."},onDragOver(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was moved over droppable area "+c.id+".":"Draggable item "+b.id+" is no longer over a droppable area."},onDragEnd(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was dropped over droppable area "+c.id:"Draggable item "+b.id+" was dropped."},onDragCancel(a){let{active:b}=a;return"Dragging was cancelled. Draggable item "+b.id+" was dropped."}};function _(a){var b;let c,{announcements:d=$,container:e,hiddenTextDescribedById:f,screenReaderInstructions:g=Z}=a,{announce:h,announcement:i}=function(){let[a,b]=(0,w.useState)("");return{announce:(0,w.useCallback)(a=>{null!=a&&b(a)},[]),announcement:a}}(),j=N("DndLiveRegion"),[k,l]=(0,w.useState)(!1);if((0,w.useEffect)(()=>{l(!0)},[]),b=(0,w.useMemo)(()=>({onDragStart(a){let{active:b}=a;h(d.onDragStart({active:b}))},onDragMove(a){let{active:b,over:c}=a;d.onDragMove&&h(d.onDragMove({active:b,over:c}))},onDragOver(a){let{active:b,over:c}=a;h(d.onDragOver({active:b,over:c}))},onDragEnd(a){let{active:b,over:c}=a;h(d.onDragEnd({active:b,over:c}))},onDragCancel(a){let{active:b,over:c}=a;h(d.onDragCancel({active:b,over:c}))}}),[h,d]),c=(0,w.useContext)(Y),(0,w.useEffect)(()=>{if(!c)throw Error("useDndMonitor must be used within a children of <DndContext>");return c(b)},[b,c]),!k)return null;let m=w.default.createElement(w.default.Fragment,null,w.default.createElement(W,{id:f,value:g.draggable}),w.default.createElement(X,{id:j,announcement:i}));return e?(0,y.createPortal)(m,e):m}function aa(){}(c=l||(l={})).DragStart="dragStart",c.DragMove="dragMove",c.DragEnd="dragEnd",c.DragCancel="dragCancel",c.DragOver="dragOver",c.RegisterDroppable="registerDroppable",c.SetDroppableDisabled="setDroppableDisabled",c.UnregisterDroppable="unregisterDroppable";let ab=Object.freeze({x:0,y:0});function ac(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return c-d}function ad(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return d-c}function ae(a,b,c){return void 0===b&&(b=a.left),void 0===c&&(c=a.top),{x:b+.5*a.width,y:c+.5*a.height}}let af=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=ae(b,b.left,b.top),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){var g;let c=(g=ae(d),Math.sqrt(Math.pow(g.x-e.x,2)+Math.pow(g.y-e.y,2)));f.push({id:b,data:{droppableContainer:a,value:c}})}}return f.sort(ac)},ag=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=[];for(let a of d){let{id:d}=a,f=c.get(d);if(f){let c=function(a,b){let c=Math.max(b.top,a.top),d=Math.max(b.left,a.left),e=Math.min(b.left+b.width,a.left+a.width),f=Math.min(b.top+b.height,a.top+a.height);if(d<e&&c<f){let g=b.width*b.height,h=a.width*a.height,i=(e-d)*(f-c);return Number((i/(g+h-i)).toFixed(4))}return 0}(f,b);c>0&&e.push({id:d,data:{droppableContainer:a,value:c}})}}return e.sort(ad)};function ah(a,b){return a&&b?{x:a.left-b.left,y:a.top-b.top}:ab}let ai=function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.reduce((a,b)=>({...a,top:a.top+ +b.y,bottom:a.bottom+ +b.y,left:a.left+ +b.x,right:a.right+ +b.x}),{...a})},aj={ignoreTransform:!1};function ak(a,b){void 0===b&&(b=aj);let c=a.getBoundingClientRect();if(b.ignoreTransform){let{transform:b,transformOrigin:d}=B(a).getComputedStyle(a);b&&(c=function(a,b,c){let d=function(a){if(a.startsWith("matrix3d(")){let b=a.slice(9,-1).split(/, /);return{x:+b[12],y:+b[13],scaleX:+b[0],scaleY:+b[5]}}if(a.startsWith("matrix(")){let b=a.slice(7,-1).split(/, /);return{x:+b[4],y:+b[5],scaleX:+b[0],scaleY:+b[3]}}return null}(b);if(!d)return a;let{scaleX:e,scaleY:f,x:g,y:h}=d,i=a.left-g-(1-e)*parseFloat(c),j=a.top-h-(1-f)*parseFloat(c.slice(c.indexOf(" ")+1)),k=e?a.width/e:a.width,l=f?a.height/f:a.height;return{width:k,height:l,top:j,right:i+k,bottom:j+l,left:i}}(c,b,d))}let{top:d,left:e,width:f,height:g,bottom:h,right:i}=c;return{top:d,left:e,width:f,height:g,bottom:h,right:i}}function al(a){return ak(a,{ignoreTransform:!0})}function am(a,b){let c=[];return a?function d(e){var f,g;let h;if(null!=b&&c.length>=b||!e)return c;if(C(e)&&null!=e.scrollingElement&&!c.includes(e.scrollingElement))return c.push(e.scrollingElement),c;if(!D(e)||E(e)||c.includes(e))return c;let i=B(a).getComputedStyle(e);return(e!==a&&(void 0===(f=i)&&(f=B(e).getComputedStyle(e)),h=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(a=>{let b=f[a];return"string"==typeof b&&h.test(b)}))&&c.push(e),void 0===(g=i)&&(g=B(e).getComputedStyle(e)),"fixed"===g.position)?c:d(e.parentNode)}(a):c}function an(a){let[b]=am(a,1);return null!=b?b:null}function ao(a){return z(a)?a.scrollX:a.scrollLeft}function ap(a){return z(a)?a.scrollY:a.scrollTop}function aq(a){return{x:ao(a),y:ap(a)}}function ar(a){let b={x:0,y:0},c={height:a.clientHeight,width:a.clientWidth},d={x:a.scrollWidth-c.width,y:a.scrollHeight-c.height},e=a.scrollTop<=b.y,f=a.scrollLeft<=b.x;return{isTop:e,isLeft:f,isBottom:a.scrollTop>=d.y,isRight:a.scrollLeft>=d.x,maxScroll:d,minScroll:b}}(d=m||(m={}))[d.Forward=1]="Forward",d[d.Backward=-1]="Backward";let as={x:.2,y:.2};function at(a){return a.reduce((a,b)=>P(a,aq(b)),ab)}let au=[["x",["left","right"],function(a){return a.reduce((a,b)=>a+ao(b),0)}],["y",["top","bottom"],function(a){return a.reduce((a,b)=>a+ap(b),0)}]];class av{constructor(a,b){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const c=am(b),d=at(c);for(const[b,e,f]of(this.rect={...a},this.width=a.width,this.height=a.height,au))for(const a of e)Object.defineProperty(this,a,{get:()=>{let e=f(c),g=d[b]-e;return this.rect[a]+g},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class aw{constructor(a){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(a=>{var b;return null==(b=this.target)?void 0:b.removeEventListener(...a)})},this.target=a}add(a,b,c){var d;null==(d=this.target)||d.addEventListener(a,b,c),this.listeners.push([a,b,c])}}function ax(a,b){let c=Math.abs(a.x),d=Math.abs(a.y);return"number"==typeof b?Math.sqrt(c**2+d**2)>b:"x"in b&&"y"in b?c>b.x&&d>b.y:"x"in b?c>b.x:"y"in b&&d>b.y}function ay(a){a.preventDefault()}function az(a){a.stopPropagation()}(e=n||(n={})).Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange",(f=o||(o={})).Space="Space",f.Down="ArrowDown",f.Right="ArrowRight",f.Left="ArrowLeft",f.Up="ArrowUp",f.Esc="Escape",f.Enter="Enter",f.Tab="Tab";let aA={start:[o.Space,o.Enter],cancel:[o.Esc],end:[o.Space,o.Enter,o.Tab]},aB=(a,b)=>{let{currentCoordinates:c}=b;switch(a.code){case o.Right:return{...c,x:c.x+25};case o.Left:return{...c,x:c.x-25};case o.Down:return{...c,y:c.y+25};case o.Up:return{...c,y:c.y-25}}};class aC{constructor(a){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=a;const{event:{target:b}}=a;this.props=a,this.listeners=new aw(F(b)),this.windowListeners=new aw(B(b)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(n.Resize,this.handleCancel),this.windowListeners.add(n.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(n.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:a,onStart:b}=this.props,c=a.node.current;c&&function(a,b){if(void 0===b&&(b=ak),!a)return;let{top:c,left:d,bottom:e,right:f}=b(a);an(a)&&(e<=0||f<=0||c>=window.innerHeight||d>=window.innerWidth)&&a.scrollIntoView({block:"center",inline:"center"})}(c),b(ab)}handleKeyDown(a){if(R(a)){let{active:b,context:c,options:d}=this.props,{keyboardCodes:e=aA,coordinateGetter:f=aB,scrollBehavior:g="smooth"}=d,{code:h}=a;if(e.end.includes(h))return void this.handleEnd(a);if(e.cancel.includes(h))return void this.handleCancel(a);let{collisionRect:i}=c.current,j=i?{x:i.left,y:i.top}:ab;this.referenceCoordinates||(this.referenceCoordinates=j);let k=f(a,{active:b,context:c.current,currentCoordinates:j});if(k){let b=Q(k,j),d={x:0,y:0},{scrollableAncestors:e}=c.current;for(let c of e){let e=a.code,{isTop:f,isRight:h,isLeft:i,isBottom:j,maxScroll:l,minScroll:m}=ar(c),n=function(a){if(a===document.scrollingElement){let{innerWidth:a,innerHeight:b}=window;return{top:0,left:0,right:a,bottom:b,width:a,height:b}}let{top:b,left:c,right:d,bottom:e}=a.getBoundingClientRect();return{top:b,left:c,right:d,bottom:e,width:a.clientWidth,height:a.clientHeight}}(c),p={x:Math.min(e===o.Right?n.right-n.width/2:n.right,Math.max(e===o.Right?n.left:n.left+n.width/2,k.x)),y:Math.min(e===o.Down?n.bottom-n.height/2:n.bottom,Math.max(e===o.Down?n.top:n.top+n.height/2,k.y))},q=e===o.Right&&!h||e===o.Left&&!i,r=e===o.Down&&!j||e===o.Up&&!f;if(q&&p.x!==k.x){let a=c.scrollLeft+b.x,f=e===o.Right&&a<=l.x||e===o.Left&&a>=m.x;if(f&&!b.y)return void c.scrollTo({left:a,behavior:g});f?d.x=c.scrollLeft-a:d.x=e===o.Right?c.scrollLeft-l.x:c.scrollLeft-m.x,d.x&&c.scrollBy({left:-d.x,behavior:g});break}if(r&&p.y!==k.y){let a=c.scrollTop+b.y,f=e===o.Down&&a<=l.y||e===o.Up&&a>=m.y;if(f&&!b.x)return void c.scrollTo({top:a,behavior:g});f?d.y=c.scrollTop-a:d.y=e===o.Down?c.scrollTop-l.y:c.scrollTop-m.y,d.y&&c.scrollBy({top:-d.y,behavior:g});break}}this.handleMove(a,P(Q(k,this.referenceCoordinates),d))}}}handleMove(a,b){let{onMove:c}=this.props;a.preventDefault(),c(b)}handleEnd(a){let{onEnd:b}=this.props;a.preventDefault(),this.detach(),b()}handleCancel(a){let{onCancel:b}=this.props;a.preventDefault(),this.detach(),b()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function aD(a){return!!(a&&"distance"in a)}function aE(a){return!!(a&&"delay"in a)}aC.activators=[{eventName:"onKeyDown",handler:(a,b,c)=>{let{keyboardCodes:d=aA,onActivation:e}=b,{active:f}=c,{code:g}=a.nativeEvent;if(d.start.includes(g)){let b=f.activatorNode.current;return(!b||a.target===b)&&(a.preventDefault(),null==e||e({event:a.nativeEvent}),!0)}return!1}}];class aF{constructor(a,b,c){var d;void 0===c&&(c=function(a){let{EventTarget:b}=B(a);return a instanceof b?a:F(a)}(a.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=a,this.events=b;const{event:e}=a,{target:f}=e;this.props=a,this.events=b,this.document=F(f),this.documentListeners=new aw(this.document),this.listeners=new aw(c),this.windowListeners=new aw(B(f)),this.initialCoordinates=null!=(d=S(e))?d:ab,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:a,props:{options:{activationConstraint:b,bypassActivationConstraint:c}}}=this;if(this.listeners.add(a.move.name,this.handleMove,{passive:!1}),this.listeners.add(a.end.name,this.handleEnd),a.cancel&&this.listeners.add(a.cancel.name,this.handleCancel),this.windowListeners.add(n.Resize,this.handleCancel),this.windowListeners.add(n.DragStart,ay),this.windowListeners.add(n.VisibilityChange,this.handleCancel),this.windowListeners.add(n.ContextMenu,ay),this.documentListeners.add(n.Keydown,this.handleKeydown),b){if(null!=c&&c({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(aE(b)){this.timeoutId=setTimeout(this.handleStart,b.delay),this.handlePending(b);return}if(aD(b))return void this.handlePending(b)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(a,b){let{active:c,onPending:d}=this.props;d(c,a,this.initialCoordinates,b)}handleStart(){let{initialCoordinates:a}=this,{onStart:b}=this.props;a&&(this.activated=!0,this.documentListeners.add(n.Click,az,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(n.SelectionChange,this.removeTextSelection),b(a))}handleMove(a){var b;let{activated:c,initialCoordinates:d,props:e}=this,{onMove:f,options:{activationConstraint:g}}=e;if(!d)return;let h=null!=(b=S(a))?b:ab,i=Q(d,h);if(!c&&g){if(aD(g)){if(null!=g.tolerance&&ax(i,g.tolerance))return this.handleCancel();if(ax(i,g.distance))return this.handleStart()}return aE(g)&&ax(i,g.tolerance)?this.handleCancel():void this.handlePending(g,i)}a.cancelable&&a.preventDefault(),f(h)}handleEnd(){let{onAbort:a,onEnd:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleCancel(){let{onAbort:a,onCancel:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleKeydown(a){a.code===o.Esc&&this.handleCancel()}removeTextSelection(){var a;null==(a=this.document.getSelection())||a.removeAllRanges()}}let aG={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class aH extends aF{constructor(a){const{event:b}=a;super(a,aG,F(b.target))}}aH.activators=[{eventName:"onPointerDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return!!c.isPrimary&&0===c.button&&(null==d||d({event:c}),!0)}}];(g=p||(p={}))[g.RightClick=2]="RightClick";(h=q||(q={}))[h.Pointer=0]="Pointer",h[h.DraggableRect=1]="DraggableRect",(i=r||(r={}))[i.TreeOrder=0]="TreeOrder",i[i.ReversedTreeOrder=1]="ReversedTreeOrder";let aI={x:{[m.Backward]:!1,[m.Forward]:!1},y:{[m.Backward]:!1,[m.Forward]:!1}};(j=s||(s={}))[j.Always=0]="Always",j[j.BeforeDragging=1]="BeforeDragging",j[j.WhileDragging=2]="WhileDragging",(t||(t={})).Optimized="optimized";let aJ=new Map;function aK(a,b){return J(c=>a?c||("function"==typeof b?b(a):a):null,[b,a])}function aL(a){let{callback:b,disabled:c}=a;H(b);let d=(0,w.useMemo)(()=>{},[c]);return(0,w.useEffect)(()=>()=>null==d?void 0:d.disconnect(),[d]),d}function aM(a){return new av(ak(a),a)}function aN(a,b,c){void 0===b&&(b=aM);let[d,e]=(0,w.useState)(null);function f(){e(d=>{if(!a)return null;if(!1===a.isConnected){var e;return null!=(e=null!=d?d:c)?e:null}let f=b(a);return JSON.stringify(d)===JSON.stringify(f)?d:f})}let g=function(a){let{callback:b,disabled:c}=a,d=H(b),e=(0,w.useMemo)(()=>{},[d,c]);return(0,w.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}({callback(b){if(a)for(let c of b){let{type:b,target:d}=c;if("childList"===b&&d instanceof HTMLElement&&d.contains(a)){f();break}}}}),h=aL({callback:f});return G(()=>{f(),a?(null==h||h.observe(a),null==g||g.observe(document.body,{childList:!0,subtree:!0})):(null==h||h.disconnect(),null==g||g.disconnect())},[a]),d}let aO=[];function aP(a,b){void 0===b&&(b=[]);let c=(0,w.useRef)(null);return(0,w.useEffect)(()=>{c.current=null},b),(0,w.useEffect)(()=>{let b=a!==ab;b&&!c.current&&(c.current=a),!b&&c.current&&(c.current=null)},[a]),c.current?Q(a,c.current):ab}function aQ(a){return(0,w.useMemo)(()=>{let b,c;return a?(b=a.innerWidth,{top:0,left:0,right:b,bottom:c=a.innerHeight,width:b,height:c}):null},[a])}let aR=[],aS=[{sensor:aH,options:{}},{sensor:aC,options:{}}],aT={current:{}},aU={draggable:{measure:al},droppable:{measure:al,strategy:s.WhileDragging,frequency:t.Optimized},dragOverlay:{measure:ak}};class aV extends Map{get(a){var b;return null!=a&&null!=(b=super.get(a))?b:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(a=>{let{disabled:b}=a;return!b})}getNodeFor(a){var b,c;return null!=(b=null==(c=this.get(a))?void 0:c.node.current)?b:void 0}}let aW={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new aV,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:aa},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:aU,measureDroppableContainers:aa,windowRect:null,measuringScheduled:!1},aX={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:aa,draggableNodes:new Map,over:null,measureDroppableContainers:aa},aY=(0,w.createContext)(aX),aZ=(0,w.createContext)(aW);function a$(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new aV}}}function a_(a,b){switch(b.type){case l.DragStart:return{...a,draggable:{...a.draggable,initialCoordinates:b.initialCoordinates,active:b.active}};case l.DragMove:if(null==a.draggable.active)return a;return{...a,draggable:{...a.draggable,translate:{x:b.coordinates.x-a.draggable.initialCoordinates.x,y:b.coordinates.y-a.draggable.initialCoordinates.y}}};case l.DragEnd:case l.DragCancel:return{...a,draggable:{...a.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case l.RegisterDroppable:{let{element:c}=b,{id:d}=c,e=new aV(a.droppable.containers);return e.set(d,c),{...a,droppable:{...a.droppable,containers:e}}}case l.SetDroppableDisabled:{let{id:c,key:d,disabled:e}=b,f=a.droppable.containers.get(c);if(!f||d!==f.key)return a;let g=new aV(a.droppable.containers);return g.set(c,{...f,disabled:e}),{...a,droppable:{...a.droppable,containers:g}}}case l.UnregisterDroppable:{let{id:c,key:d}=b,e=a.droppable.containers.get(c);if(!e||d!==e.key)return a;let f=new aV(a.droppable.containers);return f.delete(c),{...a,droppable:{...a.droppable,containers:f}}}default:return a}}function a0(a){let{disabled:b}=a,{active:c,activatorEvent:d,draggableNodes:e}=(0,w.useContext)(aY),f=L(d),g=L(null==c?void 0:c.id);return(0,w.useEffect)(()=>{if(!b&&!d&&f&&null!=g){if(!R(f)||document.activeElement===f.target)return;let a=e.get(g);if(!a)return;let{activatorNode:b,node:c}=a;(b.current||c.current)&&requestAnimationFrame(()=>{for(let a of[b.current,c.current]){if(!a)continue;let b=a.matches(U)?a:a.querySelector(U);if(b){b.focus();break}}})}},[d,b,e,g,f]),null}let a1=(0,w.createContext)({...ab,scaleX:1,scaleY:1});(k=u||(u={}))[k.Uninitialized=0]="Uninitialized",k[k.Initializing=1]="Initializing",k[k.Initialized=2]="Initialized";let a2=(0,w.memo)(function(a){var b,c,d,e,f,g,h,i;let j,k,n,o,p,t,v,x,{id:z,accessibility:A,autoScroll:C=!0,children:E,sensors:F=aS,collisionDetection:H=ag,measuring:M,modifiers:O,...Q}=a,[R,T]=(0,w.useReducer)(a_,void 0,a$),[U,V]=function(){let[a]=(0,w.useState)(()=>new Set),b=(0,w.useCallback)(b=>(a.add(b),()=>a.delete(b)),[a]);return[(0,w.useCallback)(b=>{let{type:c,event:d}=b;a.forEach(a=>{var b;return null==(b=a[c])?void 0:b.call(a,d)})},[a]),b]}(),[W,X]=(0,w.useState)(u.Uninitialized),Z=W===u.Initialized,{draggable:{active:$,nodes:aa,translate:ac},droppable:{containers:ad}}=R,ae=null!=$?aa.get($):null,af=(0,w.useRef)({initial:null,translated:null}),aj=(0,w.useMemo)(()=>{var a;return null!=$?{id:$,data:null!=(a=null==ae?void 0:ae.data)?a:aT,rect:af}:null},[$,ae]),al=(0,w.useRef)(null),[ao,ap]=(0,w.useState)(null),[au,aw]=(0,w.useState)(null),ax=I(Q,Object.values(Q)),ay=N("DndDescribedBy",z),az=(0,w.useMemo)(()=>ad.getEnabled(),[ad]),aA=(0,w.useMemo)(()=>({draggable:{...aU.draggable,...null==M?void 0:M.draggable},droppable:{...aU.droppable,...null==M?void 0:M.droppable},dragOverlay:{...aU.dragOverlay,...null==M?void 0:M.dragOverlay}}),[null==M?void 0:M.draggable,null==M?void 0:M.droppable,null==M?void 0:M.dragOverlay]),{droppableRects:aB,measureDroppableContainers:aC,measuringScheduled:aD}=function(a,b){let{dragging:c,dependencies:d,config:e}=b,[f,g]=(0,w.useState)(null),{frequency:h,measure:i,strategy:j}=e,k=(0,w.useRef)(a),l=function(){switch(j){case s.Always:return!1;case s.BeforeDragging:return c;default:return!c}}(),m=I(l),n=(0,w.useCallback)(function(a){void 0===a&&(a=[]),m.current||g(b=>null===b?a:b.concat(a.filter(a=>!b.includes(a))))},[m]),o=(0,w.useRef)(null),p=J(b=>{if(l&&!c)return aJ;if(!b||b===aJ||k.current!==a||null!=f){let b=new Map;for(let c of a){if(!c)continue;if(f&&f.length>0&&!f.includes(c.id)&&c.rect.current){b.set(c.id,c.rect.current);continue}let a=c.node.current,d=a?new av(i(a),a):null;c.rect.current=d,d&&b.set(c.id,d)}return b}return b},[a,f,c,l,i]);return(0,w.useEffect)(()=>{k.current=a},[a]),(0,w.useEffect)(()=>{l||n()},[c,l]),(0,w.useEffect)(()=>{f&&f.length>0&&g(null)},[JSON.stringify(f)]),(0,w.useEffect)(()=>{l||"number"!=typeof h||null!==o.current||(o.current=setTimeout(()=>{n(),o.current=null},h))},[h,l,n,...d]),{droppableRects:p,measureDroppableContainers:n,measuringScheduled:null!=f}}(az,{dragging:Z,dependencies:[ac.x,ac.y],config:aA.droppable}),aE=J(a=>{var b;return null==$?null:null!=(b=null!=p?p:a)?b:null},[p=(o=null!=$?aa.get($):void 0)?o.node.current:null,$]),aF=(0,w.useMemo)(()=>au?S(au):null,[au]),aG=(j=(null==ao?void 0:ao.autoScrollEnabled)===!1,k="object"==typeof C?!1===C.enabled:!1===C,n=Z&&!j&&!k,"object"==typeof C?{...C,enabled:n}:{enabled:n}),aH=aK(aE,aA.draggable.measure);!function(a){let{activeNode:b,measure:c,initialRect:d,config:e=!0}=a,f=(0,w.useRef)(!1),{x:g,y:h}="boolean"==typeof e?{x:e,y:e}:e;G(()=>{if(!g&&!h||!b){f.current=!1;return}if(f.current||!d)return;let a=null==b?void 0:b.node.current;if(!a||!1===a.isConnected)return;let e=ah(c(a),d);if(g||(e.x=0),h||(e.y=0),f.current=!0,Math.abs(e.x)>0||Math.abs(e.y)>0){let b=an(a);b&&b.scrollBy({top:e.y,left:e.x})}},[b,g,h,d,c])}({activeNode:null!=$?aa.get($):null,config:aG.layoutShiftCompensation,initialRect:aH,measure:aA.draggable.measure});let aM=aN(aE,aA.draggable.measure,aH),aV=aN(aE?aE.parentElement:null),aW=(0,w.useRef)({activatorEvent:null,active:null,activeNode:aE,collisionRect:null,collisions:null,droppableRects:aB,draggableNodes:aa,draggingNode:null,draggingNodeRect:null,droppableContainers:ad,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),aX=ad.getNodeFor(null==(b=aW.current.over)?void 0:b.id),a2=function(a){let{measure:b}=a,[c,d]=(0,w.useState)(null),e=aL({callback:(0,w.useCallback)(a=>{for(let{target:c}of a)if(D(c)){d(a=>{let d=b(c);return a?{...a,width:d.width,height:d.height}:d});break}},[b])}),[f,g]=K((0,w.useCallback)(a=>{let c=function(a){if(!a)return null;if(a.children.length>1)return a;let b=a.children[0];return D(b)?b:a}(a);null==e||e.disconnect(),c&&(null==e||e.observe(c)),d(c?b(c):null)},[b,e]));return(0,w.useMemo)(()=>({nodeRef:f,rect:c,setRef:g}),[c,f,g])}({measure:aA.dragOverlay.measure}),a3=null!=(c=a2.nodeRef.current)?c:aE,a4=Z?null!=(d=a2.rect)?d:aM:null,a5=!!(a2.nodeRef.current&&a2.rect),a6=(t=aK(f=a5?null:aM),ah(f,t)),a7=aQ(a3?B(a3):null),a8=(g=Z?null!=aX?aX:aE:null,v=(0,w.useRef)(g),x=J(a=>g?a&&a!==aO&&g&&v.current&&g.parentNode===v.current.parentNode?a:am(g):aO,[g]),(0,w.useEffect)(()=>{v.current=g},[g]),x),a9=function(a,b){void 0===b&&(b=ak);let[c]=a,d=aQ(c?B(c):null),[e,f]=(0,w.useState)(aR);function g(){f(()=>a.length?a.map(a=>new av(b(a),a)):aR)}let h=aL({callback:g});return G(()=>{null==h||h.disconnect(),g(),a.forEach(a=>null==h?void 0:h.observe(a))},[a]),e}(a8),ba=function(a,b){let{transform:c,...d}=b;return null!=a&&a.length?a.reduce((a,b)=>b({transform:a,...d}),c):c}(O,{transform:{x:ac.x-a6.x,y:ac.y-a6.y,scaleX:1,scaleY:1},activatorEvent:au,active:aj,activeNodeRect:aM,containerNodeRect:aV,draggingNodeRect:a4,over:aW.current.over,overlayNodeRect:a2.rect,scrollableAncestors:a8,scrollableAncestorRects:a9,windowRect:a7}),bb=aF?P(aF,ac):null,bc=function(a){let[b,c]=(0,w.useState)(null),d=(0,w.useRef)(a),e=(0,w.useCallback)(a=>{var b;let d=(b=a.target,null);d&&c(a=>a?(a.set(d,aq(d)),new Map(a)):null)},[]);return(0,w.useEffect)(()=>{let b=d.current;if(a!==b){e(b);let f=a.map(a=>null).filter(a=>null!=a);c(f.length?new Map(f):null),d.current=a}return()=>{e(a),e(b)};function e(a){a.forEach(a=>{})}},[e,a]),(0,w.useMemo)(()=>a.length?b?Array.from(b.values()).reduce((a,b)=>P(a,b),ab):at(a):ab,[a,b])}(a8),bd=aP(bc),be=aP(bc,[aM]),bf=P(ba,bd),bg=a4?ai(a4,ba):null,bh=aj&&bg?H({active:aj,collisionRect:bg,droppableRects:aB,droppableContainers:az,pointerCoordinates:bb}):null,bi=function(a){if(!a||0===a.length)return null;let[b]=a;return b.id}(bh),[bj,bk]=(0,w.useState)(null),bl=(h=a5?ba:P(ba,be),i=null!=(e=null==bj?void 0:bj.rect)?e:null,{...h,scaleX:i&&aM?i.width/aM.width:1,scaleY:i&&aM?i.height/aM.height:1}),bm=(0,w.useRef)(null),bn=(0,w.useCallback)((a,b)=>{let{sensor:c,options:d}=b;if(null==al.current)return;let e=aa.get(al.current);if(!e)return;let f=a.nativeEvent,g=new c({active:al.current,activeNode:e,event:f,options:d,context:aW,onAbort(a){if(!aa.get(a))return;let{onDragAbort:b}=ax.current,c={id:a};null==b||b(c),U({type:"onDragAbort",event:c})},onPending(a,b,c,d){if(!aa.get(a))return;let{onDragPending:e}=ax.current,f={id:a,constraint:b,initialCoordinates:c,offset:d};null==e||e(f),U({type:"onDragPending",event:f})},onStart(a){let b=al.current;if(null==b)return;let c=aa.get(b);if(!c)return;let{onDragStart:d}=ax.current,e={activatorEvent:f,active:{id:b,data:c.data,rect:af}};(0,y.unstable_batchedUpdates)(()=>{null==d||d(e),X(u.Initializing),T({type:l.DragStart,initialCoordinates:a,active:b}),U({type:"onDragStart",event:e}),ap(bm.current),aw(f)})},onMove(a){T({type:l.DragMove,coordinates:a})},onEnd:h(l.DragEnd),onCancel:h(l.DragCancel)});function h(a){return async function(){let{active:b,collisions:c,over:d,scrollAdjustedTranslate:e}=aW.current,g=null;if(b&&e){let{cancelDrop:h}=ax.current;g={activatorEvent:f,active:b,collisions:c,delta:e,over:d},a===l.DragEnd&&"function"==typeof h&&await Promise.resolve(h(g))&&(a=l.DragCancel)}al.current=null,(0,y.unstable_batchedUpdates)(()=>{T({type:a}),X(u.Uninitialized),bk(null),ap(null),aw(null),bm.current=null;let b=a===l.DragEnd?"onDragEnd":"onDragCancel";if(g){let a=ax.current[b];null==a||a(g),U({type:b,event:g})}})}}bm.current=g},[aa]),bo=(0,w.useCallback)((a,b)=>(c,d)=>{let e=c.nativeEvent,f=aa.get(d);null!==al.current||!f||e.dndKit||e.defaultPrevented||!0===a(c,b.options,{active:f})&&(e.dndKit={capturedBy:b.sensor},al.current=d,bn(c,b))},[aa,bn]),bp=(0,w.useMemo)(()=>F.reduce((a,b)=>{let{sensor:c}=b;return[...a,...c.activators.map(a=>({eventName:a.eventName,handler:bo(a.handler,b)}))]},[]),[F,bo]);(0,w.useEffect)(()=>{},F.map(a=>{let{sensor:b}=a;return b})),G(()=>{aM&&W===u.Initializing&&X(u.Initialized)},[aM,W]),(0,w.useEffect)(()=>{let{onDragMove:a}=ax.current,{active:b,activatorEvent:c,collisions:d,over:e}=aW.current;if(!b||!c)return;let f={active:b,activatorEvent:c,collisions:d,delta:{x:bf.x,y:bf.y},over:e};(0,y.unstable_batchedUpdates)(()=>{null==a||a(f),U({type:"onDragMove",event:f})})},[bf.x,bf.y]),(0,w.useEffect)(()=>{let{active:a,activatorEvent:b,collisions:c,droppableContainers:d,scrollAdjustedTranslate:e}=aW.current;if(!a||null==al.current||!b||!e)return;let{onDragOver:f}=ax.current,g=d.get(bi),h=g&&g.rect.current?{id:g.id,rect:g.rect.current,data:g.data,disabled:g.disabled}:null,i={active:a,activatorEvent:b,collisions:c,delta:{x:e.x,y:e.y},over:h};(0,y.unstable_batchedUpdates)(()=>{bk(h),null==f||f(i),U({type:"onDragOver",event:i})})},[bi]),G(()=>{aW.current={activatorEvent:au,active:aj,activeNode:aE,collisionRect:bg,collisions:bh,droppableRects:aB,draggableNodes:aa,draggingNode:a3,draggingNodeRect:a4,droppableContainers:ad,over:bj,scrollableAncestors:a8,scrollAdjustedTranslate:bf},af.current={initial:a4,translated:bg}},[aj,aE,bh,bg,aa,a3,a4,aB,ad,bj,a8,bf]),function(a){let b,{acceleration:c,activator:d=q.Pointer,canScroll:e,draggingRect:f,enabled:g,interval:h=5,order:i=r.TreeOrder,pointerCoordinates:j,scrollableAncestors:k,scrollableAncestorRects:l,delta:n,threshold:o}=a,p=function(a){let{delta:b,disabled:c}=a,d=L(b);return J(a=>{if(c||!d||!a)return aI;let e={x:Math.sign(b.x-d.x),y:Math.sign(b.y-d.y)};return{x:{[m.Backward]:a.x[m.Backward]||-1===e.x,[m.Forward]:a.x[m.Forward]||1===e.x},y:{[m.Backward]:a.y[m.Backward]||-1===e.y,[m.Forward]:a.y[m.Forward]||1===e.y}}},[c,b,d])}({delta:n,disabled:!g}),[s,t]=(b=(0,w.useRef)(null),[(0,w.useCallback)((a,c)=>{b.current=setInterval(a,c)},[]),(0,w.useCallback)(()=>{null!==b.current&&(clearInterval(b.current),b.current=null)},[])]),u=(0,w.useRef)({x:0,y:0}),v=(0,w.useRef)({x:0,y:0}),x=(0,w.useMemo)(()=>{switch(d){case q.Pointer:return j?{top:j.y,bottom:j.y,left:j.x,right:j.x}:null;case q.DraggableRect:return f}},[d,f,j]),y=(0,w.useRef)(null),z=(0,w.useCallback)(()=>{let a=y.current;if(!a)return;let b=u.current.x*v.current.x,c=u.current.y*v.current.y;a.scrollBy(b,c)},[]),A=(0,w.useMemo)(()=>i===r.TreeOrder?[...k].reverse():k,[i,k]);(0,w.useEffect)(()=>{if(!g||!k.length||!x)return void t();for(let a of A){if((null==e?void 0:e(a))===!1)continue;let b=l[k.indexOf(a)];if(!b)continue;let{direction:d,speed:f}=function(a,b,c,d,e){let{top:f,left:g,right:h,bottom:i}=c;void 0===d&&(d=10),void 0===e&&(e=as);let{isTop:j,isBottom:k,isLeft:l,isRight:n}=ar(a),o={x:0,y:0},p={x:0,y:0},q={height:b.height*e.y,width:b.width*e.x};return!j&&f<=b.top+q.height?(o.y=m.Backward,p.y=d*Math.abs((b.top+q.height-f)/q.height)):!k&&i>=b.bottom-q.height&&(o.y=m.Forward,p.y=d*Math.abs((b.bottom-q.height-i)/q.height)),!n&&h>=b.right-q.width?(o.x=m.Forward,p.x=d*Math.abs((b.right-q.width-h)/q.width)):!l&&g<=b.left+q.width&&(o.x=m.Backward,p.x=d*Math.abs((b.left+q.width-g)/q.width)),{direction:o,speed:p}}(a,b,x,c,o);for(let a of["x","y"])p[a][d[a]]||(f[a]=0,d[a]=0);if(f.x>0||f.y>0){t(),y.current=a,s(z,h),u.current=f,v.current=d;return}}u.current={x:0,y:0},v.current={x:0,y:0},t()},[c,z,e,t,g,h,JSON.stringify(x),JSON.stringify(p),s,k,A,l,JSON.stringify(o)])}({...aG,delta:ac,draggingRect:bg,pointerCoordinates:bb,scrollableAncestors:a8,scrollableAncestorRects:a9});let bq=(0,w.useMemo)(()=>({active:aj,activeNode:aE,activeNodeRect:aM,activatorEvent:au,collisions:bh,containerNodeRect:aV,dragOverlay:a2,draggableNodes:aa,droppableContainers:ad,droppableRects:aB,over:bj,measureDroppableContainers:aC,scrollableAncestors:a8,scrollableAncestorRects:a9,measuringConfiguration:aA,measuringScheduled:aD,windowRect:a7}),[aj,aE,aM,au,bh,aV,a2,aa,ad,aB,bj,aC,a8,a9,aA,aD,a7]),br=(0,w.useMemo)(()=>({activatorEvent:au,activators:bp,active:aj,activeNodeRect:aM,ariaDescribedById:{draggable:ay},dispatch:T,draggableNodes:aa,over:bj,measureDroppableContainers:aC}),[au,bp,aj,aM,T,ay,aa,bj,aC]);return w.default.createElement(Y.Provider,{value:V},w.default.createElement(aY.Provider,{value:br},w.default.createElement(aZ.Provider,{value:bq},w.default.createElement(a1.Provider,{value:bl},E)),w.default.createElement(a0,{disabled:(null==A?void 0:A.restoreFocus)===!1})),w.default.createElement(_,{...A,hiddenTextDescribedById:ay}))}),a3=(0,w.createContext)(null),a4="button",a5={timeout:25},a6={position:"fixed",touchAction:"none"},a7=a=>R(a)?"transform 250ms ease":void 0;function a8(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function a9(a){return null!==a&&a>=0}(a,b)=>{let{as:c,activatorEvent:d,adjustScale:e,children:f,className:g,rect:h,style:i,transform:j,transition:k=a7}=a;if(!h)return null;let l=e?j:{...j,scaleX:1,scaleY:1},m={...a6,width:h.width,height:h.height,top:h.top,left:h.left,transform:T.Transform.toString(l),transformOrigin:e&&d?function(a,b){let c=S(a);if(!c)return"0 0";let d={x:(c.x-b.left)/b.width*100,y:(c.y-b.top)/b.height*100};return d.x+"% "+d.y+"%"}(d,h):void 0,transition:"function"==typeof k?k(d):k,...i};return w.default.createElement(c,{className:g,style:m,ref:b},f)},b={styles:{active:{opacity:"0"}}};let ba=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=a8(b,d,c),g=b[e],h=f[e];return h&&g?{x:h.left-g.left,y:h.top-g.top,scaleX:h.width/g.width,scaleY:h.height/g.height}:null},bb="Sortable",bc=w.default.createContext({activeIndex:-1,containerId:bb,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:ba,disabled:{draggable:!1,droppable:!1}});function bd(a){let{children:b,id:c,items:d,strategy:e=ba,disabled:f=!1}=a,{active:g,dragOverlay:h,droppableRects:i,over:j,measureDroppableContainers:k}=(0,w.useContext)(aZ),l=N(bb,c),m=null!==h.rect,n=(0,w.useMemo)(()=>d.map(a=>"object"==typeof a&&"id"in a?a.id:a),[d]),o=null!=g,p=g?n.indexOf(g.id):-1,q=j?n.indexOf(j.id):-1,r=(0,w.useRef)(n),s=!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(n,r.current),t=-1!==q&&-1===p||s,u="boolean"==typeof f?{draggable:f,droppable:f}:f;G(()=>{s&&o&&k(n)},[s,n,o,k]),(0,w.useEffect)(()=>{r.current=n},[n]);let v=(0,w.useMemo)(()=>({activeIndex:p,containerId:l,disabled:u,disableTransforms:t,items:n,overIndex:q,useDragOverlay:m,sortedRects:n.reduce((a,b,c)=>{let d=i.get(b);return d&&(a[c]=d),a},Array(n.length)),strategy:e}),[p,l,u.draggable,u.droppable,t,n,q,i,m,e]);return w.default.createElement(bc.Provider,{value:v},b)}let be=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return a8(c,d,e).indexOf(b)},bf=a=>{let{containerId:b,isSorting:c,wasDragging:d,index:e,items:f,newIndex:g,previousItems:h,previousContainerId:i,transition:j}=a;return!!j&&!!d&&(h===f||e!==g)&&(!!c||g!==e&&b===i)},bg={duration:200,easing:"ease"},bh="transform",bi=T.Transition.toString({property:bh,duration:0,easing:"linear"}),bj={roleDescription:"sortable"};o.Down,o.Right,o.Up,o.Left;var bk=a.i(56173),bl=a.i(47153),bm=a.i(2693),bn=a.i(2799),bo=a.i(7078),bp=a.i(93026),bq=a.i(58918);function br({p:a,healthy:b,cooling:c,onDone:d}){let{attributes:e,listeners:f,setNodeRef:g,transform:h,transition:i,isDragging:j}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bf,attributes:g,disabled:h,data:i,getNewIndex:j=be,id:k,strategy:m,resizeObserverConfig:n,transition:o=bg}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:x,strategy:y}=(0,w.useContext)(bc),z=(b=h,c=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),A=p.indexOf(k),B=(0,w.useMemo)(()=>({sortable:{containerId:q,index:A,items:p},...i}),[q,i,A,p]),C=(0,w.useMemo)(()=>p.slice(p.indexOf(k)),[p,k]),{rect:D,node:E,isOver:F,setNodeRef:H}=function(a){let{data:b,disabled:c=!1,id:d,resizeObserverConfig:e}=a,f=N("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,w.useContext)(aY),k=(0,w.useRef)({disabled:c}),m=(0,w.useRef)(!1),n=(0,w.useRef)(null),o=(0,w.useRef)(null),{disabled:p,updateMeasurementsFor:q,timeout:r}={...a5,...e},s=I(null!=q?q:d),t=aL({callback:(0,w.useCallback)(()=>{if(!m.current){m.current=!0;return}null!=o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(Array.isArray(s.current)?s.current:[s.current]),o.current=null},r)},[r]),disabled:p||!g}),[u,v]=K((0,w.useCallback)((a,b)=>{t&&(b&&(t.unobserve(b),m.current=!1),a&&t.observe(a))},[t])),x=I(b);return(0,w.useEffect)(()=>{t&&u.current&&(t.disconnect(),m.current=!1,t.observe(u.current))},[u,t]),(0,w.useEffect)(()=>(h({type:l.RegisterDroppable,element:{id:d,key:f,disabled:c,node:u,rect:n,data:x}}),()=>h({type:l.UnregisterDroppable,key:f,id:d})),[d]),(0,w.useEffect)(()=>{c!==k.current.disabled&&(h({type:l.SetDroppableDisabled,id:d,key:f,disabled:c}),k.current.disabled=c)},[d,f,c,h]),{active:g,rect:n,isOver:(null==i?void 0:i.id)===d,node:u,over:i,setNodeRef:v}}({id:k,data:B,disabled:z.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...n}}),{active:J,activatorEvent:L,activeNodeRect:M,attributes:O,setNodeRef:P,listeners:Q,isDragging:S,over:U,setActivatorNodeRef:V,transform:W}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=N("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,w.useContext)(aY),{role:n=a4,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,w.useContext)(q?a1:a3),[s,t]=K(),[u,v]=K(),x=(0,w.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),y=I(c);return G(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:y}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,w.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===a4||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:x,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:B,attributes:{...bj,...g},disabled:z.draggable}),X=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,w.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(H,P),Y=!!J,Z=Y&&!t&&a9(r)&&a9(v),$=!x&&S,_=$&&Z?W:null,aa=Z?null!=_?_:(null!=m?m:y)({rects:u,activeNodeRect:M,activeIndex:r,overIndex:v,index:A}):null,ab=a9(r)&&a9(v)?j({id:k,items:p,activeIndex:r,overIndex:v}):A,ac=null==J?void 0:J.id,ad=(0,w.useRef)({activeId:ac,items:p,newIndex:ab,containerId:q}),ae=p!==ad.current.items,af=f({active:J,containerId:q,isDragging:S,isSorting:Y,id:k,index:A,items:p,newIndex:ad.current.newIndex,previousItems:ad.current.items,previousContainerId:ad.current.containerId,transition:o,wasDragging:null!=ad.current.activeId}),ag=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,w.useState)(null),h=(0,w.useRef)(c);return G(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=ak(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,w.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!af,index:A,node:E,rect:D});return(0,w.useEffect)(()=>{Y&&ad.current.newIndex!==ab&&(ad.current.newIndex=ab),q!==ad.current.containerId&&(ad.current.containerId=q),p!==ad.current.items&&(ad.current.items=p)},[Y,ab,q,p]),(0,w.useEffect)(()=>{if(ac===ad.current.activeId)return;if(null!=ac&&null==ad.current.activeId){ad.current.activeId=ac;return}let a=setTimeout(()=>{ad.current.activeId=ac},50);return()=>clearTimeout(a)},[ac]),{active:J,activeIndex:r,attributes:O,data:B,rect:D,index:A,newIndex:ab,items:p,isOver:F,isSorting:Y,isDragging:S,listeners:Q,node:E,overIndex:v,over:U,setNodeRef:X,setActivatorNodeRef:V,setDroppableNodeRef:H,setDraggableNodeRef:P,transform:null!=ag?ag:aa,transition:ag||ae&&ad.current.newIndex===A?bi:(!$||R(L))&&o&&(Y||af)?T.Transition.toString({...o,property:bh}):void 0}}({id:a.id}),k={transform:T.Transform.toString(h),transition:i};return(0,v.jsxs)("div",{ref:g,style:k,className:`group relative rounded-brand-lg border bg-surface shadow-soft transition-colors ${j?"opacity-50 border-accent shadow-elevated z-10":""} ${a.disabled?"border-danger/35 opacity-60 hover:opacity-100 hover:border-danger/60":j?"":"border-border hover:border-text-subtle"}`,children:[(0,v.jsx)("div",{...e,...f,className:"absolute inset-x-0 top-0 flex h-5 cursor-grab items-center justify-center opacity-0 transition-opacity group-hover:opacity-100 active:cursor-grabbing",onClick:a=>a.preventDefault(),children:(0,v.jsx)("span",{className:"h-[3px] w-8 rounded-full bg-border-subtle transition-colors group-hover:bg-text-subtle"})}),(0,v.jsxs)(x.default,{href:`/providers/${encodeURIComponent(a.id)}`,className:"block px-5 py-6",draggable:!1,children:[(0,v.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,v.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,v.jsx)(bl.Lamp,{state:a.disabled?"down":b?"live":"down"}),(0,v.jsxs)("div",{className:"min-w-0",children:[(0,v.jsx)("span",{className:"block truncate text-[15px] font-semibold text-text",children:a.name||a.id}),a.name&&(0,v.jsxs)("span",{className:"block truncate text-[12px] text-text-subtle",children:[a.id,"/"]})]})]}),(0,v.jsx)(bm.FormatBadge,{format:a.format})]}),(0,v.jsx)("div",{className:"mt-3 truncate text-[13px] text-text-subtle",children:a.base_url}),(0,v.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-2",children:[(0,v.jsx)(bs,{id:a.id,disabled:!!a.disabled,onDone:d}),a.free&&(0,v.jsx)(bm.Badge,{tone:"info",children:"no auth"}),a.service_account&&(0,v.jsx)(bm.Badge,{tone:"info",children:"service-account"}),(0,v.jsx)(bm.Badge,{tone:"neutral",children:a.free||a.service_account?`${a.api_keys?.length??0} keys`:`${a.api_keys?.length??+!!a.api_key} keys`}),(0,v.jsxs)(bm.Badge,{tone:"neutral",children:[a.models.length," models"]}),c&&(0,v.jsx)(bn.CooldownTimer,{ms:c.cooldown_ms})]})]})]})}function bs({id:a,disabled:b,onDone:c}){let[d,e]=(0,w.useState)(!1);return(0,v.jsx)("button",{type:"button",onClick:f=>{f.preventDefault(),f.stopPropagation(),d||(e(!0),bk.adminApi.setProviderDisabled(a,!b).then(()=>c()).finally(()=>e(!1)))},className:`inline-flex items-center gap-1.5 text-[11px] font-medium ${b?"text-danger":"text-text-muted"}`,"aria-label":b?"Enable provider":"Disable provider",title:b?"Provider disabled — click to enable":"Provider enabled — click to disable",children:(0,v.jsx)("span",{className:`relative h-4 w-7 rounded-full transition-colors ${b?"bg-danger":"bg-accent"} ${d?"opacity-60":""}`,children:(0,v.jsx)("span",{className:`absolute left-0.5 top-0.5 h-3 w-3 rounded-full bg-white transition-transform ${b?"translate-x-0":"translate-x-[14px]"}`})})})}let bt=[{id:"openai",label:"OpenAI compatible",sub:"/v1/chat/completions",icon:"bolt",format:"openai",base_url:"https://api.openai.com/v1",hint:"Base URL ending in /v1 for any OpenAI-compatible API.",modelHint:"e.g. gpt-4o, glm-5.2"},{id:"anthropic",label:"Anthropic compatible",sub:"/v1/messages",icon:"smart_toy",format:"anthropic",base_url:"https://api.anthropic.com",hint:"Base URL of an Anthropic-compatible API; /messages is appended.",modelHint:"e.g. claude-sonnet-4-6"}];function bu({onDone:a,onClose:b}){let[c,d]=(0,w.useState)(null),[e,f]=(0,w.useState)(""),[g,h]=(0,w.useState)(""),[i,j]=(0,w.useState)(""),[k,l]=(0,w.useState)(""),[m,n]=(0,w.useState)(!1),[o,p]=(0,w.useState)(""),[q,r]=(0,w.useState)(!1),[s,t]=(0,w.useState)(!1),[u,x]=(0,w.useState)(null),[y,z]=(0,w.useState)("");if(!c)return(0,v.jsxs)("div",{className:"mb-5 rounded-brand-lg border border-border bg-surface p-5 shadow-soft",children:[(0,v.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,v.jsxs)("div",{children:[(0,v.jsx)("h2",{className:"text-[14px] font-semibold text-text",children:"Add a provider"}),(0,v.jsx)("p",{className:"mt-0.5 text-[12.5px] text-text-muted",children:"Pick the API your endpoint speaks — the rest is prefilled."})]}),(0,v.jsx)("button",{type:"button",onClick:b,className:"flex-none text-text-subtle hover:text-text","aria-label":"Cancel",children:(0,v.jsx)(bp.Icon,{name:"close",size:18})})]}),(0,v.jsx)("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:bt.map(a=>(0,v.jsxs)("button",{type:"button",onClick:()=>{d(a),j(a.base_url),x(null),z("")},className:"group flex items-start gap-3 rounded-brand-lg border border-border bg-bg p-4 text-left transition-colors hover:border-accent hover:bg-accent-soft",children:[(0,v.jsx)("span",{className:"flex h-10 w-10 flex-none items-center justify-center rounded-brand bg-surface-2 text-text-muted group-hover:text-accent",children:(0,v.jsx)(bp.Icon,{name:a.icon,size:20})}),(0,v.jsxs)("span",{className:"min-w-0",children:[(0,v.jsx)("span",{className:"block text-[13.5px] font-semibold text-text",children:a.label}),(0,v.jsx)("span",{className:"block tnum text-[11.5px] text-text-subtle",children:a.sub}),(0,v.jsx)("span",{className:"mt-1 block text-[11.5px] text-text-muted",children:a.hint})]})]},a.id))})]});async function A(){if(!i||!c)return;t(!0),x(null);let a=await bk.adminApi.validateProvider({format:c.format,base_url:i,api_key:k||void 0});t(!1),x(a.data??{ok:!1,reachable:!1,status:0,error:a.error})}async function B(b){if(b.preventDefault(),!c||!e||!i)return void z("name and base URL are required");r(!0),z("");let d=await bk.adminApi.addProvider({id:e,format:c.format,base_url:i,api_key:k||void 0,free:!k.trim(),name:g.trim()||void 0});if(!d.ok){r(!1),z(d.error??"failed");return}o.trim()&&await bk.adminApi.addModel(e,o.trim()),r(!1),a()}return(0,v.jsx)("div",{className:"mb-5 rounded-brand-lg border border-border bg-surface p-5 shadow-soft",children:(0,v.jsxs)("form",{onSubmit:B,children:[(0,v.jsxs)("div",{className:"mb-4 flex items-center gap-2.5 border-b border-border-subtle pb-4",children:[(0,v.jsx)("span",{className:"flex h-8 w-8 items-center justify-center rounded-brand bg-surface-2 text-text-muted",children:(0,v.jsx)(bp.Icon,{name:c.icon,size:17})}),(0,v.jsxs)("div",{children:[(0,v.jsx)("div",{className:"text-[13.5px] font-semibold text-text",children:c.label}),(0,v.jsx)("div",{className:"tnum text-[11px] text-text-subtle",children:c.sub})]}),(0,v.jsxs)("button",{type:"button",onClick:()=>{d(null),x(null)},className:"ml-auto inline-flex items-center gap-1 text-[12px] text-text-subtle hover:text-text",children:[(0,v.jsx)(bp.Icon,{name:"arrow_back",size:14})," change type"]})]}),(0,v.jsxs)("div",{className:"space-y-3",children:[(0,v.jsx)(bo.Field,{label:"Label",hint:"display name in dashboard (optional)",children:(0,v.jsx)(bo.Input,{value:g,onChange:a=>h(a.target.value),placeholder:"e.g. My OpenAI"})}),(0,v.jsx)(bo.Field,{label:"ID / Prefix",hint:"the call prefix (id/model) — used by CLI tools",children:(0,v.jsx)(bo.Input,{value:e,onChange:a=>f(a.target.value),placeholder:"e.g. openai, anthropic",className:"font-mono text-[12.5px]"})}),(0,v.jsx)(bo.Field,{label:"Base URL",hint:c.hint,children:(0,v.jsx)(bo.Input,{value:i,onChange:a=>{j(a.target.value),x(null)},placeholder:c.base_url,className:"font-mono text-[12.5px]"})}),(0,v.jsx)(bo.Field,{label:"API Key",hint:"used for Check and live requests — leave blank for a free / no-auth endpoint",children:(0,v.jsxs)("div",{className:"flex gap-2",children:[(0,v.jsxs)("div",{className:"relative flex-1",children:[(0,v.jsx)(bo.Input,{type:m?"text":"password",value:k,onChange:a=>{l(a.target.value),x(null)},placeholder:"sk-…",className:"pr-9 font-mono text-[12.5px]"}),k&&(0,v.jsx)("button",{type:"button",onClick:()=>n(a=>!a),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text","aria-label":m?"Hide key":"Show key",children:(0,v.jsx)(bp.Icon,{name:m?"visibility_off":"visibility",size:15})})]}),(0,v.jsxs)(bo.Button,{type:"button",variant:"ghost",disabled:s||!i,onClick:A,children:[(0,v.jsx)(bp.Icon,{name:s?"progress_activity":"wifi_tethering",size:15}),s?"Checking…":"Check"]})]})}),u&&(0,v.jsxs)("div",{className:"flex items-center gap-2 text-[12px]",children:[(0,v.jsx)(bm.Badge,{tone:u.ok?"live":u.reachable?"warn":"down",children:u.ok?"valid":u.reachable?`reachable (${u.status})`:"invalid"}),u.error&&(0,v.jsx)("span",{className:"text-text-subtle",children:u.error})]}),(0,v.jsx)(bo.Field,{label:"Model ID",hint:"optional — seed one if the provider has no /models endpoint",children:(0,v.jsx)(bo.Input,{value:o,onChange:a=>p(a.target.value),placeholder:c.modelHint,className:"font-mono text-[12.5px]"})})]}),y&&(0,v.jsx)("div",{className:"mt-2 text-[12px] text-danger",children:y}),(0,v.jsxs)("div",{className:"mt-4 flex justify-end gap-2",children:[(0,v.jsx)(bo.Button,{type:"button",variant:"ghost",onClick:b,children:"Cancel"}),(0,v.jsx)(bo.Button,{type:"submit",disabled:q,children:q?"Adding…":"Add provider"})]})]})})}a.s(["ProviderManager",0,function(){var a;let[b,c]=(0,w.useState)(null),[d,e]=(0,w.useState)(""),[f,g]=(0,w.useState)(!1),[h,i]=(0,w.useState)([]),j=(0,w.useCallback)(async()=>{let[a,b]=await Promise.all([fetch("/api/gw/admin/config"),bk.adminApi.providers()]);if(!a.ok||!b.ok)return void e("could not reach the gateway");e("");let d={config:await a.json(),health:b.data?.providers??[]};c(d),i(d.config.providers.map(a=>a.id))},[]);(0,w.useEffect)(()=>{j()},[j]);let k=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,w.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}((a={activationConstraint:{distance:6}},(0,w.useMemo)(()=>({sensor:aH,options:null!=a?a:{}}),[aH,a])));async function l(a){let{active:c,over:d}=a;if(!d||c.id===d.id||!b)return;let e=h.indexOf(c.id),f=h.indexOf(d.id);-1!==e&&-1!==f&&(i(a8(h,e,f)),await bk.adminApi.reorderProvider(e,f),j())}if(d)return(0,v.jsx)(bq.Empty,{children:d});if(!b)return(0,v.jsx)(bq.Empty,{children:"Loading…"});let m=new Map(b.health.map(a=>[a.id,a])),n=new Map(b.config.providers.map(a=>[a.id,a])),o=h.map(a=>n.get(a)).filter(Boolean);return(0,v.jsxs)("div",{children:[(0,v.jsxs)("div",{className:"mb-6 flex items-center justify-between gap-3",children:[(0,v.jsxs)("div",{children:[(0,v.jsx)("h1",{className:"text-[22px] font-semibold tracking-tight text-text",children:"Providers & Keys"}),(0,v.jsx)("p",{className:"mt-1 text-[13px] text-text-muted",children:"Upstream providers the gateway routes to."})]}),(0,v.jsxs)(bo.Button,{onClick:()=>g(!0),children:[(0,v.jsx)(bp.Icon,{name:"add",size:17}),"Add provider"]})]}),f&&(0,v.jsx)(bu,{onClose:()=>g(!1),onDone:()=>{g(!1),j()}}),0===o.length?(0,v.jsx)(bq.Empty,{children:"No providers yet. Add one to start routing."}):(0,v.jsx)(a2,{sensors:k,collisionDetection:af,onDragEnd:l,children:(0,v.jsx)(bd,{items:h,strategy:ba,children:(0,v.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:o.map(a=>{let b=m.get(a.id),c=!b||b.keys.some(a=>a.healthy),d=b?.keys.find(a=>!a.healthy&&a.cooldown_ms>0);return(0,v.jsx)(br,{p:a,healthy:c,cooling:d,onDone:j},a.id)})})})})]})}],62293)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_components_ProviderManager_tsx_09d2dzw._.js.map
|