PageSourceSearch

https://axonhub.onrender.com/assets/index-D1JXKnVm.js

js axonhub.onrender.com collected 2026-10-03 11:40:09 UTC 50,643 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/channels-dialogs-DlD8TJuH.js","assets/index-DHw9oA_9.js","assets/index-H5iv3XQ2.css","assets/index.esm-BEcYT0NX.js","assets/zod-D6B7TXOx.js","assets/schemas-Dk9VIjIk.js","assets/badge-B6qX-S9N.js","assets/checkbox-T9BQO82N.js","assets/index-OHEQoLNU.js","assets/index-CYhYchP8.js","assets/check-9LYngghg.js","assets/form-CDfn-5e9.js","assets/label-B1Snm1HL.js","assets/popover-BsOz1jcH.js","assets/index-CPF_HSnu.js","assets/radio-group-BSvnBiSU.js","assets/index-B2zW4HOT.js","assets/index-DkWmRZBc.js","assets/circle-CgC1UHPE.js","assets/select-GjCTOyyM.js","assets/index-y6pprLpS.js","assets/chevron-down-DXGKvrGC.js","assets/chevron-up-BFohDdsk.js","assets/tabs-DtCQyB47.js","assets/tags-autocomplete-input-CIlCSlDR.js","assets/truncated-text-B-yKfQTa.js","assets/textarea-DF6KIPKk.js","assets/tooltip-DrbA_q--.js","assets/auto-complete-select-BIt6uB6l.js","assets/select-dropdown-DZMyJtLU.js","assets/channels-Db2bE7yr.js","assets/pagination-A-lnj4Ev.js","assets/use-error-handler-DNWpwRYc.js","assets/schema-Bp_oBydI.js","assets/config_channels-DZQTnS1P.js","assets/index-B54w6e-2.js","assets/index-CuX-f2te.js","assets/system-7Tzze9qo.js","assets/circle-check-BUTFTzkA.js","assets/refresh-cw-HpjJfzkN.js","assets/circle-alert-CPCsYsmU.js","assets/loader-circle-Ur2C-bA_.js","assets/copy-RWk8Yj30.js","assets/external-link-BAeBLCXl.js","assets/link-gQxNZ06Y.js","assets/chevron-right-Cda121HX.js","assets/trash-2-Cmo3WNWV.js","assets/plus-CXzPrKX4.js","assets/chevron-left-CFQLAvTY.js","assets/panel-left-OKD_lZod.js","assets/confirm-dialog-BSfgJrJZ.js","assets/alert-dialog-B3xsagxE.js","assets/IconCheck-D4ZfUWK-.js","assets/IconArchive-BEO1--1k.js","assets/IconInfoCircle-B2YCRXAG.js","assets/coerce-CPg-xoCJ.js","assets/IconAlertTriangle-ByVA5V6o.js","assets/IconTrash-BPtgeDgL.js","assets/IconBan-BejWpuxg.js","assets/alert-CDypPSvf.js","assets/separator-Dr0amUq4.js","assets/upload-CEfNevjK.js","assets/file-text-r5AWu5FN.js","assets/layers-QuDfj7ss.js","assets/sparkles-D5I-x_74.js","assets/key-ClDzJLzW.js","assets/table-B8uNf2eO.js","assets/IconRefresh-BwodlTU4.js","assets/format-Cr--RMFj.js","assets/IconPlus-ClnjNC-w.js","assets/providers-CiIFKju-.js","assets/compat-DOTGHHbm.js","assets/use-debounce-CFAHyMIm.js","assets/sheet-BzqtQGp8.js","assets/json-tree-view-iq1aJrSD.js","assets/ellipsis-I4rERU3U.js","assets/curl-generator-DSGv3qsC.js","assets/useRequestPermissions-DXNh56QQ.js","assets/schema-C21Wr1vp.js","assets/schema-DQE_gyQj.js","assets/validation-B3KbBPjC.js","assets/chevrons-down-up-CpEvHx1X.js","assets/chevrons-up-down-DXwgQkLi.js","assets/switch-gJnpXWOQ.js","assets/activity-ygB6GkSG.js","assets/use-pagination-search-Bvdj626l.js","assets/usePermissions-DSf1KNJ8.js","assets/header-Cv8cqG2Q.js","assets/main-DVTNl6i5.js","assets/react-icons.esm-CVQ9FCrM.js","assets/dropdown-menu-CYcatU4d.js","assets/data-table-column-header-DfnBuX63.js","assets/use-dialog-state-CL-YPIVC.js","assets/format-duration-CLi-hl45.js","assets/IconChevronDown-CWZQSnYe.js","assets/IconEdit-DfkT1ltp.js","assets/IconRoute-DyNKF_-H.js","assets/funnel-D-fuuOYG.js","assets/permission-guard-CTE2kIhR.js","assets/table-skeleton-B-H-uQPY.js","assets/server-side-pagination-DHwf_SNl.js","assets/models-wJs4hgYc.js","assets/data-table-faceted-filter-0DJuE9YU.js","assets/proxy-Doseqd7i.js","assets/IconX-CSsWvBnX.js"])))=>i.map(i=>d[i]);
2import{a as w,r as l,j as e,s as ye,I as N,c as E,B as p,b4 as ts,W as Re,b5 as he,F as as,aT as ns,b6 as ls}from"./index-DHw9oA_9.js";import{u as rs}from"./use-debounce-CFAHyMIm.js";import{u as os}from"./use-pagination-search-Bvdj626l.js";import{u as Ae}from"./usePermissions-DSf1KNJ8.js";import{H as is}from"./header-Cv8cqG2Q.js";import{M as cs}from"./main-DVTNl6i5.js";import{i as ds,M as ms,f as us}from"./react-icons.esm-CVQ9FCrM.js";import{B as O}from"./badge-B6qX-S9N.js";import{C as Ie}from"./checkbox-T9BQO82N.js";import{D as Ee,a as hs,b as Pe,c as k,d as fe,e as xs,f as gs,g as ps}from"./dropdown-menu-CYcatU4d.js";import{S as fs}from"./switch-gJnpXWOQ.js";import{a as q,b as G,c as J}from"./tooltip-DrbA_q--.js";import{D as T}from"./data-table-column-header-DfnBuX63.js";import{u as bs}from"./use-dialog-state-CL-YPIVC.js";import{b as js,c as Fe,d as ys,e as vs,f as Ns,g as Cs,a as ks,h as ws}from"./channels-Db2bE7yr.js";import{C as ne,g as Ms}from"./config_channels-DZQTnS1P.js";import{f as Ss}from"./format-duration-CLi-hl45.js";import{f as Y}from"./format-Cr--RMFj.js";import{C as Is}from"./confirm-dialog-BSfgJrJZ.js";import{I as be}from"./IconAlertTriangle-ByVA5V6o.js";import{I as Ts}from"./IconChevronDown-CWZQSnYe.js";import{I as Ds}from"./IconEdit-DfkT1ltp.js";import{I as Rs}
2from"./IconRoute-DyNKF_-H.js";import{I as je}from"./IconCheck-D4ZfUWK-.js";import{I as _e}from"./IconArchive-BEO1--1k.js";import{I as ze}from"./IconTrash-BPtgeDgL.js";import{A as As,b as Es}from"./alert-CDypPSvf.js";import{C as Ps}from"./circle-alert-CPCsYsmU.js";import{F as Fs}from"./funnel-D-fuuOYG.js";import{P as Te}from"./permission-guard-CTE2kIhR.js";import{I as _s}from"./IconPlus-ClnjNC-w.js";import{u as zs,e as Os,b as Hs,c as $s,d as Ws,f as De,T as Bs}from"./table-skeleton-B-H-uQPY.js";import{a as Ks,b as Vs,T as ae,c as Ls,d as Us,e as xe}from"./table-B8uNf2eO.js";import{S as qs}from"./server-side-pagination-DHwf_SNl.js";import{u as Gs}from"./models-wJs4hgYc.js";import{D as ge}from"./data-table-faceted-filter-0DJuE9YU.js";import{A as Js,m as ve}from"./proxy-Doseqd7i.js";import{I as Ys}from"./IconX-CSsWvBnX.js";import{I as Qs}from"./IconBan-BejWpuxg.js";import{u as Xs}from"./providers-CiIFKju-.js";const Zs=[["path",{d:"M4 10a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-0"}],["path",{d:"M6 4v4",key:"svg-1"}],["path",{d:"M6 12v8",key:"svg-2"}],["path",{d:"M10 16a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-3"}],["path",{d:"M12 4v10",key:"svg-4"}],["path",{d:"M12 18v2",key:"svg-5"}],["path",{d:"M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-6"}],["path",{d:"M18 4v1",key:"svg-7"}],["path",{d:"M18 9v11",key:"svg-8"}]],et=w("outline","adjustments","Adjustments",Zs);const st=[["path",{d:"M3 9l4 -4l4 4m-4 -4v14",key:"svg-0"}],["path",{d:"M21 15l-4 4l-4 -4m4 4v-14",key:"svg-1"}]],tt=w("outline","arrows-sort","ArrowsSort",st);const at=[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M14.8 9a2 2 0 0 0 -1.8 -1h-2a2 2 0 1 0 0 4h2a2 2 0 1 1 0 4h-2a2 2 0 0 1 -1.8 -1",key:"svg-1"}],["path",{d:"M12 7v10",key:"svg-2"}]],nt=w("outline","coin","Coin",at);const lt=[["path",{d:"M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666",key:"svg-0"}],["path",{d:"M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1",key:"svg-1"}]],rt=w("outline","copy","Copy",lt);const ot=[["path",{d:"M9 3l6 0",key:"svg-0"}],["path",{d:"M10 9l4 0",key:"svg-1"}],["path",{d:"M10 3v6l-4 11a.7 .7 0 0 0 .5 1h11a.7 .7 0 0 0 .5 -1l-4 -11v-6",key:"svg-2"}]],Oe=w("outline","flask","Flask",ot);const it=[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",key:"svg-0"}],["path",{d:"M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",key:"svg-1"}],["path",{d:"M13.41 10.59l2.59 -2.59",key:"svg-2"}],["path",{d:"M7 12a5 5 0 0 1 5 -5",key:"svg-3"}]],ct=w("outline","gauge","Gauge",it);const dt=[["path",{d:"M12 8l0 4l2 2",key:"svg-0"}],["path",{d:"M3.05 11a9 9 0 1 1 .5 4m-.5 5v-5h5",key:"svg-1"}]],mt=w("outline","history","History",dt);const ut=[["path",{d:"M10.17 6.159l2.316 -2.316a2.877 2.877 0 0 1 4.069 0l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.33 2.33",key:"svg-0"}],["path",{d:"M14.931 14.948a2.863 2.863 0 0 1 -1.486 -.79l-.301 -.302l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.863 2.863 0 0 1 -.794 -1.504",key:"svg-1"}],["path",{d:"M15 9h.01",key:"svg-2"}],["path",{d:"M3 3l18 18",key:"svg-3"}]],He=w("outline","key-off","KeyOff",ut);const ht=[["path",{d:"M12 3a9 9 0 1 0 9 9",key:"svg-0"}]],$e=w("outline","loader-2","Loader2",ht);const xt=[["path",{d:"M6 9a6 6 0 1 0 12 0a6 6 0 0 0 -12 0",key:"svg-0"}],["path",{d:"M12 3c1.333 .333 2 2.333 2 6s-.667 5.667 -2 6",key:"svg-1"}],["path",{d:"M12 3c-1.333 .333 -2 2.333 -2 6s.667 5.667 2 6",key:"svg-2"}],["path",{d:"M6 9h12",key:"svg-3"}],["path",{d:"M3 20h7",key:"svg-4"}],["path",{d:"M14 20h7",key:"svg-5"}],["path",{d:"M10 20a2 2 0 1 0 4 0a2 2 0 0 0 -4 0",key:"svg-6"}],["path",{d:"M12 15v3",key:"svg-7"}]],gt=w("outline","network","Network",xt);const pt=[["path",{d:"M7 20l10 0",key:"svg-0"}],["path",{d:"M6 6l6 -1l6 1",key:"svg-1"}],["path",{d:"M12 3l0 17",key:"svg-2"}],["path",{d:"M9 12l-3 -6l-3 6a3 3 0 0 0 6 0",key:"svg-3"}],["path",{d:"M21 12l-3 -6l-3 6a3 3 0 0 0 6 0",key:"svg-4"}]],ft=w("outline","scale","Scale",pt);const bt=[["path",{d:"M4 5a1 1 0 0 1 1 -1h14a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-14a1 1 0 0 1 -1 -1l0 -2",key:"svg-0"}],["path",{d:"M4 13a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -6",key:"svg-1"}],["path",{d:"M14 12l6 0",key:"svg-2"}],["path",{d:"M14 16l6 0",key:"svg-3"}],["path",{d:"M14 20l6 0",key:"svg-4"}]],jt=w("outline","template","Template",bt);const yt=[["path",{d:"M3 6a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-0"}
2],["path",{d:"M21 11v-3a2 2 0 0 0 -2 -2h-6l3 3m0 -6l-3 3",key:"svg-1"}],["path",{d:"M3 13v3a2 2 0 0 0 2 2h6l-3 -3m0 6l3 -3",key:"svg-2"}],["path",{d:"M15 18a3 3 0 1 0 6 0a3 3 0 0 0 -6 0",key:"svg-3"}]],vt=w("outline","transform","Transform",yt);const Nt=[["path",{d:"M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2",key:"svg-0"}],["path",{d:"M7 9l5 -5l5 5",key:"svg-1"}],["path",{d:"M12 4l0 12",key:"svg-2"}]],Ct=w("outline","upload","Upload",Nt),We=ye.createContext(null);function kt({children:a}){const[n,s]=bs(null),[t,r]=l.useState(null),[o,i]=l.useState([]),u=l.useRef(()=>{});return e.jsx(We.Provider,{value:{open:n,setOpen:s,currentRow:t,setCurrentRow:r,selectedChannels:o,setSelectedChannels:i,resetRowSelection:()=>u.current(),setResetRowSelection:d=>{u.current=d}},children:a})}const le=()=>{const a=ye.useContext(We);if(!a)throw new Error("useChannels has to be used within <ChannelsContext>");return a},Be=l.memo(({points:a})=>{const{t:n}=N();if(!a||a.length===0)return e.jsx("span",{className:"text-muted-foreground text-xs",children:"-"});const s=a.slice(-15);return e.jsx("div",{className:"flex items-center gap-0.5",children:s.map((t,r)=>{const o=t.totalRequestCount>0,i=o?t.successRequestCount/t.totalRequestCount:0,u=o&&i>=.9,d=o&&i>=.5&&i<.9,x=o&&i<.5,h=!o,j=Y(new Date(t.timestamp*1e3),"MM-dd HH:mm");return e.jsxs(q,{children:[e.jsx(G,{asChild:!0,children:e.jsx("div",{className:E("h-8 w-1.5 cursor-help rounded-sm",u&&"bg-green-500",d&&"bg-yellow-500",x&&"bg-red-500",h&&"bg-gray-200")})}),e.jsx(J,{children:e.jsxs("div",{className:"space-y-1 text-xs",children:[e.jsxs("div",{children:[n("channels.columns.healthTooltip.probeTime"),": ",j]}),e.jsxs("div",{children:[n("channels.columns.healthTooltip.successRate"),": ",t.successRequestCount,"/",t.totalRequestCount]}),e.jsxs("div",{children:[n("channels.columns.healthTooltip.firstTokenLatency"),": ",t.avgTimeToFirstTokenMs!=null?Ss(t.avgTimeToFirstTokenMs):"-"]}),e.jsxs("div",{children:[n("channels.columns.healthTooltip.tokensPerSecond"),": ",t.avgTokensPerSecond!=null?t.avgTokensPerSecond.toFixed(1):"-"]})]})})]},`${t.timestamp}-${r}`)})})});Be.displayName="ChannelHealthCell";function wt(a){if(!a)return{message:"",requestIDs:[]};const n=[],s=/\(request id: ([^)]+)\)/g;let t,r=a;for(;(t=s.exec(a))!==null;)n.push(t[1]);return r=a.replace(s,"").trim(),r=r.replace(/,\s*$/,"").trim(),{message:r,requestIDs:n}}function Mt({error:a,className:n="",messageClassName:s="text-sm font-medium",requestIdClassName:t="text-xs text-muted-foreground mt-1 opacity-70"}){const{message:r,requestIDs:o}=wt(a);return a?e.jsxs("div",{className:n,children:[e.jsx("div",{className:s,children:r}),o.length>0&&e.jsx("div",{className:"mt-1 space-y-0.5",children:o.map((i,u)=>e.jsxs("div",{className:t,children:["Request ID: ",i]},`${i}-${u}`))})]}):null}function St({open:a,onOpenChange:n,currentRow:s}){const{t}=N(),r=js(),o=Fe(),[i,u]=l.useState(null),d=async()=>{const y=s.status==="enabled"?"disabled":"enabled";try{await r.mutateAsync({id:s.id,status:y}),n(!1),u(null)}catch{}},x=async()=>{try{const y=await o.mutateAsync({channelID:s.id,modelID:s.defaultTestModel||void 0});u({success:y.success,latency:y.latency,message:y.message,error:y.error})}catch(y){u({success:!1,error:y instanceof Error?y.message:"Unknown error occurred"})}},h=s.status==="enabled",j=t(h?"channels.dialogs.status.disable.title":"channels.dialogs.status.enable.title"),v=()=>{if(h)return t("channels.dialogs.status.disable.description",{name:s.name});const y=t("channels.dialogs.status.enable.description",{name:s.name}),f=t("channels.dialogs.status.enable.warning");return e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{children:y}),e.jsx("div",{className:"rounded-md border border-amber-200 bg-amber-50 p-3 dark:border-amber-800 dark:bg-amber-900/20",children:e.jsxs("div",{className:"flex items-start space-x-2",children:[e.jsx(be,{className:"mt-0.5 h-4 w-4 flex-shrink-0 text-amber-600 dark:text-amber-400"}),e.jsxs("div",{className:"text-sm text-amber-800 dark:text-amber-200",children:[e.jsx("p",{className:"font-medium",children:t("channels.dialogs.status.enable.warningTitle")}),e.jsx("p",{className:"mt-1",children:f})]})]})}),s.defaultTestModel&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm font-medium",children:t("channels.dialogs.status.enable.testRecommended")}),e.jsxs(p,{variant:"outline",size:"sm",onClick:x,disabled:o.isPending,className:"h-8",children:[o.isPending?e.jsx($e,{className:"mr-1 h-3 w-3 animate-spin"}):e.jsx(Oe,{className:"mr-1 h-3 w-3"}),t("channels.dialogs.status.enable.testButton")]})]}),i&&e.jsx("div",{className:`rounded p-3 text-sm ${i.success?"border border-green-200 bg-green-50 text-green-800 dark:border-green-800 dark:bg-green-900/20 dark:text-green-200":"border border-red-200 bg-red-50 text-red-800 dark:border-red-800 dark:bg-red-900/20 dark:text-red-200"}`,children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"font-medium",children:i.success?t("channels.dialogs.status.enable.testSuccess",{latency:i.latency?.toFixed(2)}):t("channels.dialogs.status.enable.testFailed")}),i.message&&i.success&&e.jsxs("div",{className:"text-xs opacity-75",children:[e.jsxs("span",{className:"font-medium",children:[t("channels.dialogs.status.enable.testMessage"),":"]})," ",i.message]}),i.error&&!i.success&&e.jsxs("div",{className:"text-xs",children:[e.jsxs("span",{className:"font-medium",children:[t("channels.dialogs.status.enable.errorDetails"),":"]}),e.jsx("div",{className:"mt-1 rounded border-l-2 border-red-400 bg-red-100 p-2 dark:border-red-600 dark:bg-red-900/30",children:e.jsx(Mt,{error:i.error,messageClassName:"text-xs font-medium text-red-800 dark:text-red-200"})})]})]})})]})]})},S=t(h?"common.buttons.disable":"common.buttons.enable");return e.jsx(Is,{open:a,onOpenChange:n,handleConfirm:d,disabled:r.isPending,title:e.jsxs("span",{className:h?"text-destructive":"text-green-600",children:[e.jsx(be,{className:`${h?"stroke-destructive":"stroke-green-600"} mr-1 inline-block`,size:18}),j]}),desc:v(),confirmText:S,cancelBtnText:t("common.buttons.cancel")})}const It=4,Ke=0,Ve=100,Tt=a=>Number(a.toFixed(It)),Dt=a=>
2Tt(Math.min(Ve,Math.max(Ke,a))),Le=l.memo(({row:a})=>{const n=a.original,[s,t]=l.useState(!1),r=n.status==="enabled",o=n.status==="archived",i=l.useCallback(()=>{o||t(!0)},[o]);return e.jsxs("div",{className:"flex justify-center",children:[e.jsx(fs,{checked:r,onCheckedChange:i,disabled:o,"data-testid":"channel-status-switch"}),s&&e.jsx(St,{open:s,onOpenChange:t,currentRow:n})]})});Le.displayName="StatusSwitchCell";const Ue=l.memo(({row:a})=>{const{t:n}=N(),s=a.original,{setOpen:t,setCurrentRow:r}=le(),{channelPermissions:o}=Ae(),i=Fe(),u=s.status==="archived",d=!!s.errorMessage,x=o.canWrite&&(s.disabledAPIKeys?.length??0)>0,h=s.credentials?.apiKeys?.filter(f=>f.trim().length>0).length??0,j=o.canWrite&&h>1,v=async()=>{try{await i.mutateAsync({channelID:s.id,modelID:s.defaultTestModel||void 0})}catch{}},S=l.useCallback(()=>{r(s),t("test")},[s,r,t]),y=l.useCallback(()=>{r(s),t("edit")},[s,r,t]);return e.jsxs("div",{className:"flex items-center justify-center gap-1",children:[e.jsx(p,{size:"sm",variant:"outline",className:"h-8 w-8 p-0",onClick:y,children:e.jsx(Ds,{className:"h-3 w-3"})}),e.jsx(p,{size:"sm",variant:"outline",className:"h-8 px-3",onClick:v,disabled:i.isPending,children:e.jsx(he,{className:"mr-1 h-3 w-3"})}),e.jsxs(Ee,{children:[e.jsx(hs,{asChild:!0,children:e.jsx(p,{size:"sm",variant:"outline",className:"h-8 w-8 p-0","data-testid":"row-actions",children:e.jsx(ds,{className:"h-3 w-3"})})}),e.jsxs(Pe,{align:"end",className:"w-[160px]",children:[e.jsxs(k,{onClick:S,children:[e.jsx(he,{size:16,className:"mr-2"}),n("channels.actions.test")]}),e.jsxs(k,{onClick:()=>{r(s),t("testHistory")},children:[e.jsx(mt,{size:16,className:"mr-2"}),n("channels.actions.testHistory")]}),e.jsx(fe,{}),e.jsxs(k,{onClick:()=>{r(s),t("duplicate")},children:[e.jsx(rt,{size:16,className:"mr-2"}),n("common.actions.duplicate")]}),e.jsxs(k,{onClick:()=>{r(s),t("modelMapping")},children:[e.jsx(Rs,{size:16,className:"mr-2"}),n("channels.dialogs.settings.modelMapping.title")]}),e.jsxs(k,{onClick:()=>{r(s),t("price")},children:[e.jsx(nt,{size:16,className:"mr-2"}),n("channels.actions.modelPrice")]}),e.jsxs(k,{onClick:()=>{r(s),t("overrides")},children:[e.jsx(et,{size:16,className:"mr-2"}),n("channels.dialogs.settings.overrides.action")]}),e.jsxs(k,{onClick:()=>{r(s),t("proxy")},children:[e.jsx(gt,{size:16,className:"mr-2"}),n("channels.dialogs.proxy.action")]}),e.jsxs(k,{onClick:()=>{r(s),t("transformOptions")},children:[e.jsx(vt,{size:16,className:"mr-2"}),n("channels.dialogs.transformOptions.action")]}),e.jsxs(k,{onClick:()=>{r(s),t("rateLimit")},children:[e.jsx(ct,{size:16,className:"mr-2"}),n("channels.dialogs.rateLimit.action")]}),j&&e.jsxs(k,{onClick:()=>{r(s),t("testAPIKeys")},children:[e.jsx(he,{size:16,className:"mr-2"}),n("channels.actions.testAPIKeys",{count:h})]}),x&&e.jsxs(k,{onClick:()=>{r(s),t("disabledAPIKeys")},className:"text-orange-500!",children:[e.jsx(He,{size:16,className:"mr-2"}),n("channels.actions.disabledAPIKeys",{count:s.disabledAPIKeys?.length??0})]}),d&&e.jsxs(k,{onClick:()=>{r(s),t("errorResolved")},className:"text-green-600!",children:[e.jsx(je,{size:16,className:"mr-2"}),n("channels.actions.markErrorResolved")]}),e.jsx(fe,{}),e.jsxs(k,{onClick:()=>{r(s),t("archive")},className:u?"text-green-600!":"text-orange-500!",children:[u?e.jsx(je,{size:16,className:"mr-2"}):e.jsx(_e,{size:16,className:"mr-2"}),n(u?"common.buttons.restore":"common.buttons.archive")]}),e.jsxs(k,{onClick:()=>{r(s),t("delete")},className:"text-red-500!",children:[e.jsx(ze,{size:16,className:"mr-2"}),n("common.buttons.delete")]})]})]})]})});Ue.displayName="ActionCell";const Rt=({row:a})=>e.jsx("div",{className:"flex justify-center",children:e.jsx(p,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:n=>{n.stopPropagation(),a.toggleExpanded()},children:a.getIsExpanded()?e.jsx(Ts,{className:"h-4 w-4"}):e.jsx(ts,{className:"h-4 w-4"})})});function At(a){try{return new URL(a).origin}catch{return null}}function Et(a){try{const n=new URL(a),s=n.pathname==="/"?"":n.pathname;return{label:n.host||a,detail:`${n.protocol}//${n.host}${s}`}}catch{return{label:a}}}const qe=l.memo(({row:a})=>{const{t:n}=N(),s=a.original,t=!!s.errorMessage,r=s.disabledAPIKeys?.length??0,o=r>0,i=At(s.baseURL),u=i?e.jsx("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:E("truncate font-medium hover:underline",t?"text-destructive":""),onClick:x=>x.stopPropagation(),children:a.getValue("name")}
2):e.jsx("div",{className:E("truncate font-medium",t&&"text-destructive"),children:a.getValue("name")}),d=e.jsx("div",{className:"flex justify-center",children:e.jsxs("div",{className:"flex max-w-56 items-center gap-2",children:[t&&e.jsx(be,{className:"text-destructive h-4 w-4 shrink-0"}),!t&&o&&e.jsx(He,{className:"h-4 w-4 shrink-0 text-amber-500"}),u]})});return t?e.jsxs(q,{children:[e.jsx(G,{asChild:!0,children:d}),e.jsx(J,{children:e.jsx("div",{className:"space-y-1",children:e.jsx("p",{className:"text-destructive text-sm",children:n(`channels.messages.${s.errorMessage}`,{defaultValue:s.errorMessage})})})})]}):o?e.jsxs(q,{children:[e.jsx(G,{asChild:!0,children:d}),e.jsx(J,{children:e.jsx("p",{className:"text-sm text-amber-500",children:n("channels.actions.disabledAPIKeys",{count:r})})})]}):d});qe.displayName="NameCell";const Ge=l.memo(({row:a})=>{const{t:n}=N(),s=a.original.type,t=ne[s],r=Ms(s),o=t.icon;return e.jsx("div",{className:"flex justify-center",children:e.jsx(O,{variant:"outline",className:E("capitalize",t.color),children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(o,{size:16,className:"shrink-0"}),e.jsx("span",{children:n(`channels.providers.${r}`)})]})})})});Ge.displayName="ProviderCell";const Je=l.memo(({row:a})=>{const n=a.getValue("tags")||[];return n.length===0?e.jsx("div",{className:"flex justify-center",children:e.jsx("span",{className:"text-muted-foreground text-xs",children:"-"})}):e.jsxs("div",{className:"flex max-w-48 flex-wrap justify-center gap-1",children:[n.slice(0,2).map(s=>e.jsx(O,{variant:"outline",className:"text-xs",children:s},s)),n.length>2&&e.jsxs(O,{variant:"outline",className:"text-xs",children:["+",n.length-2]})]})});Je.displayName="TagsCell";const Ye=l.memo(({row:a})=>{const{t:n}=N(),s=a.original.settings?.proxy;if(!s||s.type==="disabled")return e.jsx("div",{className:"flex justify-center",children:e.jsx("span",{className:"text-muted-foreground text-xs",children:"-"})});if(s.type==="environment")return e.jsx("div",{className:"flex justify-center",children:e.jsx("span",{className:"text-muted-foreground text-xs",children:n("channels.dialogs.proxy.types.environment")})});const t=s.url?.trim();if(!t)return e.jsx("div",{className:"flex justify-center",children:e.jsx("span",{className:"text-muted-foreground text-xs",children:"-"})});const{label:r,detail:o}=Et(t),i=e.jsx("div",{className:"flex justify-center",children:e.jsx("span",{className:"max-w-40 truncate font-mono text-xs",children:r})});return o&&o!==r?e.jsxs(q,{children:[e.jsx(G,{asChild:!0,children:i}),e.jsx(J,{children:o})]}):i});Ye.displayName="ProxyCell";const Qe=l.memo(({row:a})=>{const{t:n}=N(),s=a.original,t=a.getValue("supportedModels"),{setOpen:r,setCurrentRow:o}=le(),i=l.useCallback(()=>{o(s),r("viewModels")},[s,o,r]);return e.jsx("div",{className:"flex items-center justify-center gap-2",children:e.jsxs("div",{className:"flex flex-wrap justify-center gap-1 overflow-hidden",children:[t.slice(0,5).map(u=>e.jsx(O,{variant:"secondary",className:"block max-w-48 truncate text-left text-xs",children:u},u)),t.length>5&&e.jsxs(O,{variant:"secondary",className:"hover:bg-primary hover:text-primary-foreground cursor-pointer text-xs transition-colors",onClick:i,title:n("channels.actions.viewModels"),children:["+",t.length-5]})]})})});Qe.displayName="SupportedModelsCell";const Xe=l.memo(({row:a})=>{const n=a.original,s=a.getValue("orderingWeight"),[t,r]=l.useState(!1),[o,i]=l.useState(s?.toString()||"1"),u=ys(),d=l.useRef(null);l.useEffect(()=>{t&&d.current&&(d.current.focus(),d.current.select())},[t]);const x=l.useCallback(()=>{r(!0),i(s?.toString()||"1")},[s]),h=l.useCallback(async()=>{const v=Dt(Number(o));if(v===s){r(!1);return}
2try{await u.mutateAsync({id:n.id,input:{orderingWeight:v}}),r(!1)}catch{}},[n.id,o,s,u]),j=l.useCallback(v=>{v.key==="Enter"?h():v.key==="Escape"&&(r(!1),i(s?.toString()||"1"))},[h,s]);return t?e.jsx("div",{className:"flex justify-center px-2",children:e.jsx(Re,{ref:d,type:"number",inputMode:"decimal",step:"any",min:Ke,max:Ve,value:o,onChange:v=>i(v.target.value),onBlur:h,onKeyDown:j,className:"h-7 w-20 text-center font-mono text-sm",disabled:u.isPending})}):e.jsxs("div",{className:"flex items-center justify-center gap-2 group cursor-pointer",onDoubleClick:x,children:[e.jsx("span",{className:E("font-mono text-sm",s==null&&"text-muted-foreground"),children:s??"-"}),u.isPending&&e.jsx($e,{className:"h-3 w-3 animate-spin text-muted-foreground"})]})});Xe.displayName="OrderingWeightCell";const Ze=l.memo(({row:a})=>{const n=a.getValue("createdAt"),s=n instanceof Date?n:new Date(n);return Number.isNaN(s.getTime())?e.jsx("div",{className:"flex justify-center",children:e.jsx("span",{className:"text-muted-foreground text-xs",children:"-"})}):e.jsx("div",{className:"flex justify-center",children:e.jsxs(q,{children:[e.jsx(G,{asChild:!0,children:e.jsx("div",{className:"text-muted-foreground cursor-help text-sm",children:Y(s,"yyyy-MM-dd")})}),e.jsx(J,{children:Y(s,"yyyy-MM-dd HH:mm:ss")})]})})});Ze.displayName="CreatedAtCell";const Pt=(a,n=!0)=>[{id:"expand",header:()=>null,meta:{className:"w-8 min-w-8 text-center"},cell:Rt,enableSorting:!1,enableHiding:!1},...n?[{id:"select",header:({table:s})=>e.jsx("div",{className:"flex justify-center",children:e.jsx(Ie,{checked:s.getIsAllPageRowsSelected()||s.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:t=>s.toggleAllPageRowsSelected(!!t),"aria-label":a("common.columns.selectAll"),className:"translate-y-[2px]"})}),cell:({row:s})=>e.jsx("div",{className:"flex justify-center",children:e.jsx(Ie,{checked:s.getIsSelected(),onCheckedChange:t=>s.toggleSelected(!!t),"aria-label":a("common.columns.selectRow"),className:"translate-y-[2px]"})}),meta:{className:"text-center"},enableSorting:!1,enableHiding:!1}]:[],{accessorKey:"name",header:({column:s})=>e.jsx(T,{column:s,title:a("common.columns.name"),className:"justify-center"}),cell:qe,meta:{className:"md:table-cell min-w-48 text-center"},enableHiding:!1,enableSorting:!0},{id:"provider",accessorKey:"type",header:({column:s})=>e.jsx(T,{column:s,title:a("channels.columns.provider"),className:"justify-center"}),cell:Ge,meta:{className:"text-center"},filterFn:(s,t,r)=>r.includes(s.original.type),enableSorting:!0,enableHiding:!1},{accessorKey:"status",header:({column:s})=>e.jsx(T,{column:s,title:a("common.columns.status"),className:"justify-center"}),cell:Le,meta:{className:"text-center"},enableSorting:!0,enableHiding:!1},{accessorKey:"tags",header:({column:s})=>e.jsx(T,{column:s,title:a("channels.columns.tags"),className:"justify-center"}),cell:Je,meta:{className:"text-center"},filterFn:(s,t,r)=>(s.getValue(t)||[]).includes(r),enableSorting:!1,enableHiding:!0},{id:"model",accessorFn:()=>"",header:()=>null,cell:()=>null,filterFn:()=>!0,enableSorting:!1,enableHiding:!0,enableColumnFilter:!1,enableGlobalFilter:!1},{accessorKey:"supportedModels",header:({column:s})=>e.jsx(T,{column:s,title:a("channels.columns.supportedModels"),className:"justify-center"}),cell:Qe,meta:{className:"max-w-64 text-center"},enableSorting:!1},{id:"proxy",accessorFn:s=>s.settings?.proxy?.url??s.settings?.proxy?.type??"",header:({column:s})=>e.jsx(T,{column:s,title:a("channels.columns.proxy"),className:"justify-center"}),cell:Ye,meta:{className:"w-32 min-w-32 text-center"},enableSorting:!1,enableHiding:!0},{id:"health",accessorKey:"health",header:({column:s})=>e.jsx(T,{column:s,title:a("channels.columns.health"),className:"justify-center"}),cell:({row:s})=>{const t=s.original.probePoints||[];return e.jsx("div",{className:"flex justify-center",children:e.jsx(Be,{points:t})})},meta:{className:"text-center"},enableSorting:!1,enableHiding:!0},{accessorKey:"orderingWeight",header:({column:s})=>e.jsx(T,{column:s,title:a("channels.columns.orderingWeight"),className:"justify-center"}),cell:Xe,meta:{className:"w-20 min-w-20 text-center"},sortingFn:"alphanumeric",enableSorting:!0,enableHiding:!0},{accessorKey:"createdAt",header:({column:s})=>e.jsx(T,{column:s,title:a("common.columns.createdAt"),className:"justify-center"}),cell:Ze,meta:{className:"text-center"},enableSorting:!0,enableHiding:!1},...n?[{id:"action",header:({column:s})=>e.jsx(T,{column:s,title:a("common.columns.actions"),className:"justify-center"}),cell:Ue,meta:{className:"text-center"},enableSorting:!1,enableHiding:!1}]:[]],Ft=l.memo(function({errorCount:n,onFilterErrorChannels:s,showErrorOnly:t,onExitErrorOnlyMode:r}){const{t:o}=N();return n===0?null:e.jsxs(As,{className:"mb-4 items-center border-orange-200 bg-orange-50 text-orange-800 dark:border-orange-800 dark:bg-orange-950 dar
2k:text-orange-200 [&>svg]:translate-y-0",children:[e.jsx(Ps,{className:"h-4 w-4"}),e.jsxs(Es,{className:"flex items-center justify-between",children:[e.jsx("div",{children:t?e.jsx("span",{children:o("channels.errorBanner.errorOnlyMode")}):e.jsx("span",{children:o("channels.errorBanner.message",{count:n})})}),e.jsxs("div",{className:"flex items-center space-x-2",children:[t&&r&&e.jsx(p,{variant:"outline",size:"sm",onClick:r,className:"border-orange-300 bg-orange-100 hover:bg-orange-200 dark:border-orange-700 dark:bg-orange-900 dark:hover:bg-orange-800",children:o("channels.errorBanner.exitErrorOnlyButton")}),!t&&e.jsxs(p,{variant:"outline",size:"sm",onClick:s,className:"border-orange-300 bg-orange-100 hover:bg-orange-200 dark:border-orange-700 dark:bg-orange-900 dark:hover:bg-orange-800",children:[e.jsx(Fs,{className:"mr-2 h-4 w-4"}),o("channels.errorBanner.filterButton")]})]})]})]})});function _t(){const{t:a}=N(),n=as(),{setOpen:s}=le();return e.jsxs("div",{className:"flex gap-2 overflow-x-auto md:overflow-x-visible",children:[e.jsx(Te,{requiredScope:"read_system",children:e.jsxs(p,{variant:"outline",className:"shrink-0 space-x-1",onClick:()=>n({to:"/system",search:{tab:"retry"}}),children:[e.jsx("span",{children:a("channels.loadBalancingStrategy")})," ",e.jsx(ft,{size:18})]})}),e.jsx(Te,{requiredScope:"write_channels",children:e.jsxs(e.Fragment,{children:[e.jsxs(p,{variant:"outline",className:"shrink-0 space-x-1",onClick:()=>s("channelSettings"),children:[e.jsx("span",{children:a("channels.actions.settings")})," ",e.jsx(ns,{size:18})]}),e.jsxs(p,{variant:"outline",className:"shrink-0 space-x-1",onClick:()=>s("bulkImport"),children:[e.jsx("span",{children:a("channels.importChannels","批量导入")})," ",e.jsx(Ct,{size:18})]}),e.jsxs(p,{variant:"outline",className:"shrink-0 space-x-1",onClick:()=>s("bulkOrdering"),children:[e.jsx("span",{children:a("channels.orderChannels")})," ",e.jsx(tt,{size:18})]}),e.jsxs(p,{className:"shrink-0 space-x-1",onClick:()=>s("add"),"data-testid":"add-channel-button",children:[e.jsx("span",{children:a("channels.addChannel")})," ",e.jsx(_s,{size:18})]})]})})]})}const es=l.memo(({channel:a,columnsLength:n,getApiFormatLabel:s})=>{const{t}=N(),r=ne[a.type];return e.jsx("div",{className:"bg-muted/30 p-6 hover:bg-muted/50",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 gap-6 md:grid-cols-2",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"text-sm font-semibold",children:t("channels.expandedRow.basic")}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsxs("span",{className:"text-muted-foreground shrink-0",children:[t("channels.columns.baseURL"),":"]}),e.jsx("span",{className:"min-w-0 flex-1 text-right font-mono text-xs break-all",children:a.baseURL})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("channels.columns.type"),":"]}),e.jsx(O,{variant:"outline",className:r?.color,children:t(`channels.types.${a.type}`)})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("channels.expandedRow.apiFormat"),":"]}),e.jsx("span",{className:"font-mono text-xs",children:s(r?.apiFormat)})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("common.columns.createdAt"),":"]}),e.jsx("span",{children:Y(a.createdAt,"yyyy-MM-dd HH:mm")})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("common.columns.updatedAt"),":"]}),e.jsx("span",{children:Y(a.updatedAt,"yyyy-MM-dd HH:mm")})]})]})]}),e.jsx("div",{className:"space-y-6",children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"text-sm font-semibold",children:t("channels.expandedRow.additional")}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("channels.columns.orderingWeight"),":"]}),e.jsx("span",{className:"font-mono text-xs",children:a.orderingWeight??0})]}),e.jsxs("div",{className:"flex justify-between",children:[e.jsxs("span",{className:"text-muted-foreground",children:[t("channels.expandedRow.remark"),":"]}),e.jsx("span",{className:"max-w-[200px] truncate text-right",title:a.remark||void 0,children:a.remark||"-"})]}),e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("span",{className:"text-muted-foreground shrink-0",children:[t("channels.expandedRow.tags"),":"]}),e.jsx("div",{className:"flex max-w-[200px] flex-wrap justify-end gap-1",children:a.tags&&a.tags.length>0?a.tags.map(o=>e.jsx(O,{variant:"outline",className:"text-xs",children:o},o)):e.jsx("span",{children:"-"})})]})]})]})})]}),a.supportedModels&&a.supportedModels.length>0&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"text-sm font-semibold",children:t("channels.expandedRow.supportedModels")}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[a.supportedModels.slice(0,5).map(o=>e.jsx(O,{variant:"secondary",className:"font-mono text-xs",children:o},o)),a.supportedModels.length>5&&e.jsx("span",{className:"text-muted-foreground flex items-center text-xs italic",children:t("channels.expandedRow.moreModels",{count:a.supportedModels.length-5})})]})]})]})})});es.displayName="ChannelExpandedRow";function zt({table:a}){const{t:n}=N();return e.jsxs(Ee,{modal:!1,children:[e.jsx(xs,{asChild:!0,children:e.jsxs(p,{variant:"outline",size:"sm",children:[e.jsx(ms,{className:"mr-2 h-4 w-4"}),n("common.view")]})}),e.jsxs(Pe,{align:"end",className:"w-[150px]",children:[e.jsx(gs,{children:n("common.toggleColumns")}),e.jsx(fe,{}),a.getAllColumns().filter(s=>typeof s.accessorFn<"u"&&s.getCanHide()).filter(s=>s?.columnDef.id!="tags"&&s?.columnDef.id!="model").map(s=>e.jsx(ps,{className:"capitalize",checked:s.getIsVisible(),onCheckedChange:t=>s.toggleVisibility(!!t),children:n(`channels.columns.${s.id}`)},s.id))]})]})}function Ot({table:a,isFiltered:n,selectedCount:s,selectedTypeTab:t="all",showErrorOnly:r,onExitErrorOnlyMode:o}){const{t:i}=N(),u=a.getState(),d=n??u.columnFilters.length>0,{data:x=[]}=vs(),{mutate:h,data:j}=Gs();l.useEffect(()=>{h({statusIn:["enabled","disabled"],includeMapping:!0,includePrefix:!0})},[h]);const v=l.useMemo(()=>x.map(f=>({value:f,label:f})),[x]),S=l.useMemo(()=>j?j.map(f=>({value:f.id,label:f.id})):[],[j]);l.useMemo(()=>Object.values(ne).map(f=>({value:f.channelType,label:i(`channels.types.${f.channelType}`)})),[i]);const y=l.useMemo(()=>[{value:"enabled",label:i("channels.status.enabled")},{value:"disabled",label:i("channels.status.disabled")},{value:"archived",label:i("channels.status.archived")}],[i]);return e.jsxs("div",{className:"flex items-center gap-4 overflow-x-auto pb-2 md:overflow-x-visible md:pb-0",children:[e.jsxs("div",{className:"relative min-w-48 flex-1",children:[e.jsx("i",{className:"ph ph-magnifying-glass text-muted-foreground absolute top-2.5 left-3"}),e.jsx(Re,{placeholder:i("channels.filters.filterByName"),value:a.getColumn("name")?.getFilterValue()??"",onChange:f=>a.getColumn("name")?.setFilterValue(f.target.value),className:"bg-card border-border focus:ring-primary/20 placeholder-muted-foreground text-foreground w-full rounded-xl border py-2 pr-4 pl-10 text-sm shadow-sm transition-all focus:ring-2 focus:outline-none"})]}),a.getColumn("status")&&e.jsx(ge,{column:a.getColumn("status"),title:i("channels.filters.status"),options:y}),a.getColumn("tags")&&v?.length>0&&e.jsx(ge,{column:a.getColumn("tags"),title:i("channels.filters.tags"),options:v,singleSelect:!0}),a.getColumn("model")&&S?.length>0&&e.jsx(ge,{column:a.getColumn("model"),title:i("channels.filters.model"),options:S,singleSelect:!0}),d&&e.jsxs(p,{variant:"ghost",onClick:()=>a.resetColumnFilters(),className:"h-8 px-2 lg:px-3",children:[i("common.filters.reset"),e.jsx(us,{className:"ml-2 h-4 w-4"})]}),r&&o&&e.jsx(p,{variant:"outline",onClick:o,className:"h-8 border-orange-600 text-orange-600 hover:bg-orange-600 hover:text-white",children:i("channels.errorBanner.exitErrorOnlyButton")}),e.jsx(zt,{table:a})]})}const Ht=ve.create(ae),$t=ve.create(ae),pe={tags:!1,proxy:!1};function Wt({columns:a,loading:n,data:s,pageInfo:t,pageSize:r,totalCount:o,nameFilter:i,typeFilter:u,statusFilter:d,tagFilter:x,modelFilter:h,selectedTypeTab:j="all",showErrorOnly:v,sorting:S,onSortingChange:y,onExitErrorOnlyMode:f,onNextPage:re,onPreviousPage:H,onPageSizeChange:Q,onResetCursor:B,onNameFilterChange:U,onTypeFilterChange:D,onStatusFilterChange:X,onTagFilterChange:Z,onModelFilterChange:ee,onHealthColumnVisibilityChange:$,canWrite:oe=!0}){const{t:C}
2=N(),{setSelectedChannels:W,setResetRowSelection:se,setOpen:P}=le(),[b,K]=l.useState({}),[Ne,ie]=l.useState({}),[F,te]=l.useState([]),[V,ce]=l.useState(()=>{const m=localStorage.getItem("channels-table-column-visibility");if(m)try{return{...pe,...JSON.parse(m)}}catch{return pe}return pe});l.useEffect(()=>{const m=[];i&&m.push({id:"name",value:i}),u.length>0&&m.push({id:"provider",value:u}),d.length>0&&m.push({id:"status",value:d}),x&&m.push({id:"tags",value:x}),h&&m.push({id:"model",value:h}),te(m)},[i,u,d,x,h]),l.useEffect(()=>{if(localStorage.setItem("channels-table-column-visibility",JSON.stringify(V)),$){const m=V.health!==!1;$(m)}},[V,$]);const de=l.useCallback(m=>{const g=typeof m=="function"?m(F):m;te(g);const M=g.find(A=>A.id==="name")?.value,z=g.find(A=>A.id==="provider")?.value,c=g.find(A=>A.id==="status")?.value,I=g.find(A=>A.id==="tags")?.value,ss=g.find(A=>A.id==="model")?.value,Ce=M||"",ke=Array.isArray(z)?z:[],we=Array.isArray(c)?c:[],Me=I||"",Se=ss||"";Ce!==i&&U(Ce),JSON.stringify(ke.sort())!==JSON.stringify(u.sort())&&D(ke),JSON.stringify(we.sort())!==JSON.stringify(d.sort())&&X(we),Me!==x&&Z(Me),Se!==h&&ee(Se)},[F,i,u,d,x,h,U,D,X,Z,ee]),R=zs({data:s,columns:a,state:{sorting:S,columnVisibility:V,rowSelection:b,columnFilters:F,expanded:Ne}
2,enableRowSelection:!0,getRowId:m=>m.id,onRowSelectionChange:K,onExpandedChange:ie,onSortingChange:y,onColumnFiltersChange:de,onColumnVisibilityChange:ce,getCoreRowModel:Ws(),getFilteredRowModel:$s(),getSortedRowModel:Hs(),getExpandedRowModel:Os(),manualPagination:!0,manualFiltering:!0}),L=l.useMemo(()=>R.getFilteredSelectedRowModel().rows,[R.getState().rowSelection,R.getFilteredRowModel().rows]),me=l.useCallback(m=>{if(!m)return"-";const g=`channels.dialogs.fields.apiFormat.formats.${m}`,M=C(g);return M===g?m:M},[C]),_=l.useMemo(()=>L.length,[L]),ue=l.useMemo(()=>F.length>0,[F.length]);return l.useEffect(()=>{se(()=>{K({})})},[se]),l.useEffect(()=>{if(_===0)W([]);else{const m=L.map(g=>g.original);W(m)}},[L,_,W]),l.useEffect(()=>{if(Object.keys(b).length>0&&s.length>0){const m=new Set(s.map(z=>z.id));Object.keys(b).some(z=>!m.has(z))&&K({})}},[s,b]),e.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[e.jsx(Ot,{table:R,isFiltered:ue,selectedCount:_,selectedTypeTab:j,showErrorOnly:v,onExitErrorOnlyMode:f}),e.jsx("div",{className:"shadow-soft relative mt-4 flex-1 overflow-auto rounded-2xl border border-[var(--table-border)]",children:e.jsx("div",{className:"min-w-max",children:e.jsxs(Ks,{"data-testid":"channels-table",className:"border-separate border-spacing-0 rounded-2xl bg-[var(--table-background)]",children:[e.jsx(Vs,{className:"sticky top-0 z-20 bg-[var(--table-header)] shadow-sm",children:R.getHeaderGroups().map(m=>e.jsx(ae,{className:"group/row border-0",children:m.headers.map(g=>e.jsx(Ls,{colSpan:g.colSpan,className:`${g.column.columnDef.meta?.className??""} text-muted-foreground border-0 text-xs font-semibold tracking-wider uppercase`,children:g.isPlaceholder?null:De(g.column.columnDef.header,g.getContext())},g.id))},m.id))}),e.jsx(Us,{className:"!bg-[var(--table-background)]",children:n?e.jsx(Bs,{rows:r,columns:a.length}):R.getRowModel().rows?.length?R.getRowModel().rows.map(m=>{const g=m.original;return e.jsxs(ye.Fragment,{children:[e.jsx(Ht,{"data-state":m.getIsSelected()&&"selected",className:"group/row table-row-hover rounded-xl border-0 !bg-[var(--table-background)]",children:m.getVisibleCells().map(M=>e.jsx(xe,{className:`${M.column.columnDef.meta?.className??""} border-0 bg-inherit px-4 py-3 transition-colors duration-200`,children:De(M.column.columnDef.cell,M.getContext())},M.id))},m.id),e.jsx(Js,{initial:!1,children:m.getIsExpanded()&&e.jsx($t,{initial:{opacity:0}
2,animate:{opacity:1},exit:{opacity:0},className:"border-0",children:e.jsx(xe,{colSpan:a.length,className:"p-0 border-0",children:e.jsx(ve.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2,ease:"easeInOut"},className:"overflow-hidden",children:e.jsx(es,{channel:g,columnsLength:a.length,getApiFormatLabel:me})})})},`${m.id}-expanded`)})]},m.id)}):e.jsx(ae,{className:"!bg-[var(--table-background)]",children:e.jsx(xe,{colSpan:a.length,className:"h-24 !bg-[var(--table-background)] text-center",children:C("common.noData")})})})]})})}),e.jsx("div",{className:"mt-4 flex-shrink-0",children:e.jsx(qs,{pageInfo:t,pageSize:r,dataLength:s.length,totalCount:o,selectedRows:_,onNextPage:re,onPreviousPage:H,onPageSizeChange:Q,onResetCursor:B})}),_>0&&oe&&e.jsx("div",{className:"fixed bottom-6 left-1/2 z-50 -translate-x-1/2",children:e.jsxs("div",{className:"bg-background flex items-center gap-2 rounded-lg border px-4 py-2 shadow-lg",children:[e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:()=>K({}),children:e.jsx(Ys,{className:"h-4 w-4"})}),e.jsxs("div",{className:"flex items-center gap-1.5 px-2",children:[e.jsx("span",{className:"bg-primary text-primary-foreground flex h-6 min-w-6 items-center justify-center rounded px-1.5 text-xs font-medium",children:_}),e.jsx("span",{className:"text-muted-foreground text-sm",children:C("common.selected")})]}),e.jsx("div",{className:"bg-border mx-2 h-6 w-px"}),e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8 text-blue-600 hover:bg-blue-100 hover:text-blue-700",onClick:()=>P("bulkApplyTemplate"),title:C("channels.templates.bulk.applyButton"),children:e.jsx(jt,{className:"h-4 w-4"})}),e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8 text-sky-600 hover:bg-sky-100 hover:text-sky-700",onClick:()=>P("bulkTest"),title:C("channels.actions.bulkTest"),children:e.jsx(Oe,{className:"h-4 w-4"})}),e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8 text-green-600 hover:bg-green-100 hover:text-green-700",onClick:()=>P("bulkEnable"),title:C("common.buttons.enable"),children:e.jsx(je,{className:"h-4 w-4"})}),e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8 text-amber-600 hover:bg-amber-100 hover:text-amber-700",onClick:()=>P("bulkDisable"),title:C("common.buttons.disable"),children:e.jsx(Qs,{className:"h-4 w-4"})}),e.jsx(p,{variant:"ghost",size:"icon",className:"h-8 w-8 text-orange-600 hover:bg-orange-100 hover:text-orange-700",onClick:()=>P("bulkArchive"),title:C("common.buttons.archive"),children:e.jsx(_e,{className:"h-4 w-4"})}),e.jsx(p,{variant:"ghost",size:"icon",className:"text-destructive h-8 w-8 hover:bg-red-100 hover:text-red-700",onClick:()=>P("bulkDelete"),title:C("common.buttons.delete"),children:e.jsx(ze,{className:"h-4 w-4"})})]})})]})}function Bt(a){const n=new Map;return a.forEach(({type:s,count:t})=>{const r=s.split("_")[0];n.has(r)||n.set(r,{types:[],totalCount:0});const o=n.get(r);o.types.push(s),o.totalCount+=t}),Array.from(n.entries()).map(([s,{types:t,totalCount:r}])=>({prefix:s,types:t,totalCount:r})).sort((s,t)=>t.totalCount-s.totalCount||s.prefix.localeCompare(t.prefix))}const Kt=l.memo(function({typeCounts:n,selectedTab:s,onTabChange:t}){const{t:r}=N(),o=l.useMemo(()=>Bt(n).slice(0,8),[n]),i=l.useMemo(()=>n.reduce((d,{count:x})=>d+x,0),[n]);if(n.length===0)return null;const u=d=>ne[d]?.icon;return e.jsx("div",{className:"mb-6 w-full overflow-hidden",children:e.jsxs("div",{className:"hide-scroll flex flex-nowrap items-center gap-2 overflow-x-auto scroll-smooth",onWheel:d=>{d.currentTarget.scrollLeft+=d.deltaY},children:[e.jsxs("button",{onClick:()=>t("all"),className:E("flex shrink-0 items-center gap-2 rounded-full px-4 py-1.5 text-sm font-medium whitespace-nowrap transition-all",s==="all"?"bg-primary text-primary-foreground shadow-primary/20 shadow-md":"bg-card border-border text-foreground hover:border-primary hover:text-primary border"),children:[r("channels.tabs.all")," ",e.jsx("span",{className:E("bg-muted text-muted-foreground ml-1 rounded-full px-1.5 text-xs",s==="all"&&"bg-primary-foreground
2/20 text-primary-foreground"),children:i})]}),o.map(({prefix:d,totalCount:x})=>{const h=u(d);return e.jsxs("button",{onClick:()=>t(d),className:E("flex shrink-0 items-center gap-2 rounded-full px-4 py-1.5 text-sm font-medium whitespace-nowrap transition-all",s===d?"bg-primary text-primary-foreground shadow-primary/20 shadow-md":"bg-card border-border text-foreground hover:border-primary hover:text-primary border"),children:[h&&e.jsx(h,{size:16}),r(`channels.types.${d}`)," ",e.jsx("span",{className:E("bg-muted text-muted-foreground rounded-full px-1.5 text-xs",s===d&&"bg-primary-foreground/20 text-primary-foreground"),children:x})]},d)})]})})}),Vt=l.lazy(()=>ls(()=>import("./channels-dialogs-DlD8TJuH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104])).then(a=>({default:a.ChannelsDialogs})));function Lt(){const{t:a}=N();Xs();const{channelPermissions:n}=Ae(),{pageSize:s,setCursors:t,setPageSize:r,resetCursor:o,paginationArgs:i}=os({defaultPageSize:20,pageSizeStorageKey:"channels-table-page-size"}),[u,d]=l.useState(""),[x,h]=l.useState([]),[j,v]=l.useState([]),[S,y]=l.useState(""),[f,re]=l.useState(""),[H,Q]=l.useState("all"),[B,U]=l.useState(!1),[D,X]=l.useState(()=>{const c=localStorage.getItem("channels-table-sorting");if(c)try{return JSON.parse(c)}catch{return[{id:"createdAt",desc:!0}]}return[{id:"createdAt",desc:!0}]}),[Z,ee]=l.useState(()=>{const c=localStorage.getItem("channels-table-column-visibility");if(c)try{return JSON.parse(c).health!==!1}catch{return!0}return!0});l.useEffect(()=>{localStorage.setItem("channels-table-sorting",JSON.stringify(D))},[D]);const{data:$=[]}=Ns(j.length>0?j:["enabled","disabled"]),{data:oe=0}=Cs(),C=rs(u,300),W=l.useMemo(()=>H==="all"?[]:$.filter(({type:c})=>c.startsWith(H)).map(({type:c})=>c),[H,$]),se=l.useMemo(()=>{const c={};C&&(c.nameContainsFold=C);const I=[...x];return W.length>0&&I.push(...W),I.length>0&&(c.typeIn=Array.from(new Set(I))),j.length>0?c.statusIn=j:c.statusIn=["enabled","disabled"],B&&(c.errorMessageNotNil=!0),Object.keys(c).length>0?c:void 0},[C,W,j,B]),P=l.useMemo(()=>{if(D.length===0)return{field:"CREATED_AT",direction:"DESC"};const[c]=D;switch(c.id){case"orderingWeight":return{field:"ORDERING_WEIGHT",direction:c.desc?"DESC":"ASC"};case"name":return{field:"NAME",direction:c.desc?"DESC":"ASC"};case"status":return{field:"STATUS",direction:c.desc?"DESC":"ASC"};case"provider":case"type":return{field:"TYPE",direction:c.desc?"DESC":"ASC"};case"createdAt":return{field:"CREATED_AT",direction:c.desc?"DESC":"ASC"};case"updatedAt":return{field:"UPDATED_AT",direction:c.desc?"DESC":"ASC"};default:return{field:"CREATED_AT",direction:"DESC"}}},[D]),{data:b,isLoading:K,error:Ne}=ks({...i,where:se,orderBy:P,hasTag:S||void 0,model:f||void 0}),ie=l.useMemo(()=>b?.edges?.map(c=>c.node.id)||[],[b?.edges]),{data:F}=ws(ie,{enabled:Z}),te=l.useMemo(()=>{if(!b?.edges)return[];const c=new Map(F?.map(I=>[I.channelID,I.points])||[]);return b.edges.map(I=>({...I.node,probePoints:c.get(I.node.id)||[]}))},[b?.edges,F]),V=l.useCallback(()=>{b?.pageInfo?.hasNextPage&&b?.pageInfo?.endCursor&&t(b.pageInfo.startCursor??void 0,b.pageInfo.endCursor??void 0,"after")},[b?.pageInfo,t]),ce=l.useCallback(()=>{b?.pageInfo?.hasPreviousPage&&t(b.pageInfo.startCursor??void 0,b.pageInfo.endCursor??void 0,"before")},[b?.pageInfo,t]),de=l.useCallback(c=>{r(c)},[r]),R=l.useCallback(c=>{d(c),o()},[]),L=l.useCallback(c=>{h(c),o()},[]),me=l.useCallback(c=>{Q(c),h([]),o()},[Q,h]),_=l.useCallback(c=>{v(c),o()},[]),ue=l.useCallback(c=>{y(c),o()},[]),m=l.useCallback(c=>{re(c),o()},[]),g=l.useCallback(()=>{U(!0),o()},[]),M=l.useCallback(()=>{U(!1),o()},[]),z=l.useMemo(()=>Pt(a,n.canWrite),[a,n.canWrite]);return e.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[e.jsx(Ft,{errorCount:oe,onFilterErrorChannels:g,showErrorOnly:B,onExitErrorOnlyMode:M}),e.jsx(Kt,{typeCounts:$,selectedTab:H,onTabChange:me}),e.jsx(Wt,{loading:K,data:te,columns:z,pageInfo:b?.pageInfo,pageSize:s,totalCount:b?.totalCount,nameFilter:u,typeFilter:x,statusFilter:j,tagFilter:S,modelFilter:f,selectedTypeTab:H,showErrorOnly:B,sorting:D,onSortingChange:X,onExitErrorOnlyMode:M,onNextPage:V,onPreviousPage:ce,onPageSizeChange:de,onResetCursor:o,onNameFilterChange:R,onTypeFilterChange:L,onStatusFilterChange:_,onTagFilterChange:ue,onModelFilterChange:m,onHealthColumnVisibilityChange:ee,canWrite:n.canWrite})]})}function Ut(){const{t:a}=N();return e.jsxs(kt,{children:[e.jsx(is,{fixed:!0,children:e.jsxs("div",{className:"flex w-full flex-1 flex-col gap-2 md:flex-row md:items-center md:justify-between md:gap-0",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("h2",{className:"text-xl font-bold tracking-tight",children:a("channels.title")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a("channels.description")})]}),e.jsx(_t,{})]})}),e.jsx(cs,{fixed:!0,children:e.jsx(Lt,{})}),e.jsx(l.Suspense,{fallback:null,children:e.jsx(Vt,{})})]})}const qt=Ut,Pa=Object.freeze(Object.defineProperty({__proto__:null,component:qt},Symbol.toStringTag,{value:"Module"}));
2export{St as C,Mt as E,$e as I,Oe as a,rt as b,Pa as i,le as u};

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