@camstack/addon-admin-ui 1.2.352 → 1.2.353
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/dist/assets/{Addons-CGDc3MCi.js → Addons-CSSlxmKX.js} +1 -1
- package/dist/assets/{AdminTabs-CZPAmhas.js → AdminTabs-D2EUE5A0.js} +1 -1
- package/dist/assets/{AiProfiles-Cb885xLi.js → AiProfiles-ZTs3hQfG.js} +1 -1
- package/dist/assets/{BrokerForm-CHyLrgZU.js → BrokerForm-jvEIkwfE.js} +1 -1
- package/dist/assets/{Build-Cq1iHbS5.js → Build-D-cQZg2g.js} +1 -1
- package/dist/assets/{Calendars-Bp7O4Q0e.js → Calendars-BCpPE1jT.js} +1 -1
- package/dist/assets/{Capabilities-BwrQQsWg.js → Capabilities-WsxtQm6G.js} +1 -1
- package/dist/assets/{Cluster-BxZqJz_z.js → Cluster-BZpFTXoQ.js} +1 -1
- package/dist/assets/{ClusterStepModel-BXQrb9-2.js → ClusterStepModel-Hz5Uy3Lc.js} +1 -1
- package/dist/assets/{CompositionEditor-CWseh3e4.js → CompositionEditor-DlXjZmuS.js} +1 -1
- package/dist/assets/{CompositionEditorPage-B6M-10Ch.js → CompositionEditorPage-DN1jwFte.js} +1 -1
- package/dist/assets/{Data-8_oyAAFm.js → Data-BiwkrKto.js} +1 -1
- package/dist/assets/{DetectionIntelligence-ZAxkWwsC.js → DetectionIntelligence-C_6PVnNp.js} +1 -1
- package/dist/assets/{DeviceDetail-CZeHFThw.js → DeviceDetail-Dd16eq5_.js} +1 -1
- package/dist/assets/{DeviceDoActionFields-rqWve7Cc.js → DeviceDoActionFields-C9efvuLy.js} +1 -1
- package/dist/assets/{Devices-KcQPMfTP.js → Devices-uRSR1KF9.js} +1 -1
- package/dist/assets/{EmbedPlayerPage-jqACjBI1.js → EmbedPlayerPage-B0M5LCl6.js} +1 -1
- package/dist/assets/{Events-BF592qf_.js → Events-BqYGW97U.js} +1 -1
- package/dist/assets/{Identity-Cts1UzJ3.js → Identity-CwF15mWM.js} +1 -1
- package/dist/assets/{IntegrationDetail-CPXel_5q.js → IntegrationDetail-KiizjQky.js} +1 -1
- package/dist/assets/{IntegrationHub-P7DZLhMu.js → IntegrationHub-CtZ9pFUl.js} +1 -1
- package/dist/assets/{Integrations-BkAo2E4O.js → Integrations-5D0W0NO_.js} +1 -1
- package/dist/assets/{Integrations-COJxgwuo.js → Integrations-8JethkBu.js} +1 -1
- package/dist/assets/{Locations-CHSHPbFF.js → Locations-C0VGgBDh.js} +1 -1
- package/dist/assets/{Logs-DRTuZa-s.js → Logs-BdD9ktZ1.js} +1 -1
- package/dist/assets/{MotionZonesSettings-BWlY0uhl.js → MotionZonesSettings-BMZDT9aS.js} +1 -1
- package/dist/assets/{MyAccess-C4ubGrSr.js → MyAccess-VT-IYS_0.js} +1 -1
- package/dist/assets/{Network-BOzx7hn8.js → Network-DAS4ofeO.js} +1 -1
- package/dist/assets/{NodeAddonsSettingsPanel-DaKtOtU5.js → NodeAddonsSettingsPanel-2ImNi4l_.js} +1 -1
- package/dist/assets/{Notifications-D_GaC55O.js → Notifications-CtpsBCVg.js} +1 -1
- package/dist/assets/{Plates-Di4sfAWp.js → Plates-DRYDfqhl.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-z1qT12AK.js → PrivacyMaskSettings-e1shTFq0.js} +1 -1
- package/dist/assets/{Recordings-BmNingKf.js → Recordings-Cp1t8Lsr.js} +1 -1
- package/dist/assets/{ScanNetworkModal-ByV68CCf.js → ScanNetworkModal-CtcUY86A.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-DqvGdipD.js → SceneMonitorEditor-B8SaYaRg.js} +1 -1
- package/dist/assets/{Scenes-_7asi5eD.js → Scenes-UX3CQiSD.js} +1 -1
- package/dist/assets/{Settings-FlIRnDpv.js → Settings-hvJAx444.js} +1 -1
- package/dist/assets/{Showroom-DBp7iZ0G.js → Showroom-DGF0GI0t.js} +1 -1
- package/dist/assets/{Terminal-K34D1Ywo.js → Terminal-CnAgipZG.js} +1 -1
- package/dist/assets/{Viewer-BYJtbGy9.js → Viewer-u429VTlj.js} +1 -1
- package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-VirN8RQI.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-Dmoq9iz_.js} +1 -1
- package/dist/assets/{archive-BCuy69tM.js → archive-DEGN5b-2.js} +1 -1
- package/dist/assets/{authed-media-C08zoxUE.js → authed-media-zoQQL-DU.js} +1 -1
- package/dist/assets/{boxes-Co2Q90CO.js → boxes-D53xb3mF.js} +1 -1
- package/dist/assets/circle-slash-g5R19IPN.js +1 -0
- package/dist/assets/{client-Diiyoh60.js → client-CxHFB-xR.js} +1 -1
- package/dist/assets/crop-DTBzwOc0.js +1 -0
- package/dist/assets/{debounced-invalidate-4bQv6974.js → debounced-invalidate-Di49k3Ur.js} +1 -1
- package/dist/assets/{device-integration-icon-DMx3ZoRE.js → device-integration-icon-C44r3pOz.js} +1 -1
- package/dist/assets/device-picker-model-Y21yLCDr.js +1 -0
- package/dist/assets/{dist-Lw8PosIF.js → dist-B_y7Xf3Y.js} +1 -1
- package/dist/assets/{dist-CupfglO0.js → dist-CupCPVu2.js} +1 -1
- package/dist/assets/{face-bbox-UX05kDZA.js → face-bbox-BekWkYM8.js} +1 -1
- package/dist/assets/{hard-drive-download-gfGmt8d5.js → hard-drive-download-CaBI4JJt.js} +1 -1
- package/dist/assets/{hostInit-BKiqkTOp.js → hostInit-LeZtjcV4.js} +1 -1
- package/dist/assets/{index-cOBEaAEQ.js → index-BdYsVZMw.js} +3 -3
- package/dist/assets/{layers-DOEpCuQZ.js → layers-Bl4GXnaV.js} +1 -1
- package/dist/assets/{location-owned-usage-BLkNLXfg.js → location-owned-usage-B2EH12kQ.js} +1 -1
- package/dist/assets/{mf-entry-bootstrap-0-72b0f0d1.js → mf-entry-bootstrap-0-f71236c8.js} +2 -2
- package/dist/assets/mount-Y21yLCDr.js +1 -0
- package/dist/assets/{notification-schedule-field-B8_FhM0a.js → notification-schedule-field-CX_ISfhK.js} +1 -1
- package/dist/assets/{player-overlays-BFYAtS6k.js → player-overlays-CHWCYkGf.js} +1 -1
- package/dist/assets/remoteEntry-D2L5CI92.js +1 -0
- package/dist/assets/{send-CYjwgPvF.js → send-BxCvGnMf.js} +1 -1
- package/dist/assets/{settings-2-DzUYHDiK.js → settings-2-CWTgzyTw.js} +1 -1
- package/dist/assets/{src-CPNx7Cnt.js → src-Crb8RLzq.js} +3 -3
- package/dist/assets/{use-scenes-feed--Nza8Rhx.js → use-scenes-feed-CsZwOmyp.js} +1 -1
- package/dist/assets/{use-stationary-objects-CJwD3-xc.js → use-stationary-objects-DTKCTzni.js} +1 -1
- package/dist/assets/useEventInvalidation-Y21yLCDr.js +1 -0
- package/dist/assets/{useNodeUrlSelection-DKxGlIbc.js → useNodeUrlSelection-BSYJnQKG.js} +1 -1
- package/dist/assets/user-round-BR8uDCSh.js +1 -0
- package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-MXxx-qLy.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-mzuJ2veF.js} +2 -2
- package/dist/index.html +7 -7
- package/dist/server/addon.js +1 -1
- package/package.json +1 -1
- package/dist/assets/circle-slash-0LfB3qk4.js +0 -1
- package/dist/assets/crop--L-amBAa.js +0 -1
- package/dist/assets/device-picker-model-D073lAZn.js +0 -1
- package/dist/assets/mount-D073lAZn.js +0 -1
- package/dist/assets/remoteEntry-BY-9rdAo.js +0 -1
- package/dist/assets/useEventInvalidation-D073lAZn.js +0 -1
- package/dist/assets/user-round-BfNCEGcF.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{I as e,K as t,Q as n,S as r,V as i,W as a,b as o,o as s,q as c,x as l,z as u}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DhP-Lgiq.js";import{at as d,gt as f,ht as p,st as m,vt as h}from"./player-overlays-BFYAtS6k.js";import{Ao as g,As as _,Au as v,Bl as y,Bo as b,Gu as x,Hd as S,Iu as C,Kl as w,Lo as T,Lu as E,Mc as ee,Nc as te,Od as D,Pc as ne,Ro as re,Rt as O,Ru as ie,St as ae,Vl as k,Zn as oe,cf as A,cr as se,da as ce,dr as le,ec as ue,jc as de,jo as fe,ju as pe,ku as me,lr as he,qd as ge,rd as j,su as _e,tl as ve,ur as ye,xt as be,zo as xe,zt as Se}from"./src-CPNx7Cnt.js";import{t as Ce}from"./hard-drive-download-gfGmt8d5.js";import{Wr as we}from"./client-Diiyoh60.js";import{t as M}from"./useTranslation-Bc5yH9V9.js";import{t as Te}from"./NodeAddonsSettingsPanel-DaKtOtU5.js";import{t as N}from"./format-size-DIxKXxtj.js";import{n as Ee,r as De,t as Oe}from"./useNodeUrlSelection-DKxGlIbc.js";var ke=h(`memory-stick`,[[`path`,{d:`M12 12v-2`,key:`fwoke6`}],[`path`,{d:`M12 18v-2`,key:`qj6yno`}],[`path`,{d:`M16 12v-2`,key:`heuere`}],[`path`,{d:`M16 18v-2`,key:`s1ct0w`}],[`path`,{d:`M2 11h1.5`,key:`15p63e`}],[`path`,{d:`M20 18v-2`,key:`12ehxp`}],[`path`,{d:`M20.5 11H22`,key:`khsy7a`}],[`path`,{d:`M4 18v-2`,key:`1c3oqr`}],[`path`,{d:`M8 12v-2`,key:`1mwtfd`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`,key:`1qcswk`}]]);n();function Ae(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let n=Math.floor(t/60);return n<24?`${n}h ${t%60}m`:`${Math.floor(n/24)}d ${n%24}h`}function je({state:e}){return l(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full ${e===`running`?`bg-success/10 text-success`:e===`crashed`||e===`failed`?`bg-destructive/10 text-destructive`:`bg-muted text-muted-foreground`}`,children:e})}var Me=[`trace`,`debug`,`info`,`warn`,`error`];function Ne({proc:e,nodeId:t,defaultExpanded:n,activePanel:i,onTogglePanel:a}){let o=e.services??[],s=o.length===1,[u,d]=c(s||n),[m,h]=c(null),[g,_]=c(`info`),v=e.name.includes(`(core)`),y=re(),x=xe(),S=b(),w=async e=>{h(e);try{await y.mutateAsync({nodeId:t,addonId:e})}catch(e){console.error(`Failed to restart addon:`,e)}finally{h(null)}},T=async()=>{h(e.name);try{await x.mutateAsync({nodeId:t,processName:e.name})}catch(e){console.error(`Failed to restart process:`,e)}finally{h(null)}},E=async n=>{let r=`${t}/${e.name}`;try{await S.mutateAsync({nodeId:r,level:n}),_(n)}catch(e){console.error(`Failed to set log level:`,e)}};return r(`div`,{className:`border border-border/50 rounded-lg overflow-hidden`,children:[r(`div`,{role:s?void 0:`button`,tabIndex:s?void 0:0,onClick:s?void 0:()=>d(!u),onKeyDown:s?void 0:e=>{(e.key===`Enter`||e.key===` `)&&d(!u)},className:`flex items-center gap-2 w-full px-3 py-2 bg-muted/20 transition-colors text-left select-none ${s?``:`hover:bg-muted/40 cursor-pointer`}`,children:[s?l(`span`,{className:`h-3 w-3 shrink-0`}):l(u?f:p,{className:`h-3 w-3 text-muted-foreground shrink-0`}),v?l(me,{className:`h-3.5 w-3.5 text-primary shrink-0`}):l(ge,{className:`h-3.5 w-3.5 text-amber-500 shrink-0`}),l(`span`,{className:`text-xs font-semibold flex-1`,children:e.name}),r(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:[`PID `,e.pid]}),l(je,{state:e.state}),r(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:[e.cpuPercent,`% CPU`]}),l(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:N(e.memoryRss)}),l(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:Ae(e.uptimeSeconds)}),!v&&r(`div`,{className:`flex items-center gap-1`,onClick:e=>e.stopPropagation(),children:[r(se,{children:[l(le,{className:`text-[9px] px-1.5 py-0.5 rounded border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors font-mono`,title:`Set log level`,children:g}),l(he,{align:`end`,className:`min-w-[70px] py-0.5`,children:Me.map(e=>l(ye,{onClick:()=>E(e),className:`h-auto px-2 py-1 text-[10px] font-mono ${e===g?`text-primary font-semibold`:``}`,children:e},e))})]}),l(`button`,{onClick:T,disabled:m===e.name,className:`p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50`,title:`Restart process`,children:l(C,{className:`h-3 w-3 ${m===e.name?`animate-spin`:``}`})})]})]}),u&&o.length>0&&l(`div`,{className:`divide-y divide-border/30`,children:o.map(e=>r(`div`,{children:[r(`div`,{className:`flex items-center gap-2 px-3 py-1.5 pl-9 hover:bg-muted/10 transition-colors`,children:[l(`div`,{className:`h-1.5 w-1.5 rounded-full shrink-0 ${e.status===`running`?`bg-success`:`bg-muted-foreground/30`}`}),l(`span`,{className:`text-xs font-medium flex-1 min-w-0 truncate`,children:e.addonId}),e.capabilities.length>0&&r(`div`,{className:`flex gap-1 flex-shrink-0`,children:[e.capabilities.slice(0,3).map(e=>l(`span`,{className:`text-[9px] px-1 py-0.5 rounded bg-blue-500/10 text-blue-400 truncate max-w-[80px]`,children:e},e)),e.capabilities.length>3&&r(`span`,{className:`text-[9px] text-muted-foreground`,children:[`+`,e.capabilities.length-3]})]}),r(`div`,{className:`flex items-center gap-1 shrink-0`,children:[l(`button`,{onClick:()=>a(e.addonId,`logs`),className:`p-0.5 rounded transition-colors ${i?.addonId===e.addonId&&i.type===`logs`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground hover:text-foreground`}`,title:`Show logs for ${e.addonId}`,children:l(pe,{className:`h-3 w-3`})}),l(`button`,{onClick:()=>a(e.addonId,`events`),className:`p-0.5 rounded transition-colors ${i?.addonId===e.addonId&&i.type===`events`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground hover:text-foreground`}`,title:`Show events for ${e.addonId}`,children:l(ie,{className:`h-3 w-3`})}),l(`button`,{onClick:()=>w(e.addonId),disabled:m===e.addonId,className:`p-0.5 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50`,title:`Restart ${e.addonId}`,children:l(C,{className:`h-3 w-3 ${m===e.addonId?`animate-spin`:``}`})})]})]}),i?.addonId===e.addonId&&i.type===`logs`&&l(`div`,{className:`border-t border-border/40 bg-muted/5`,children:l(ae,{addonId:e.addonId,agentId:t,maxHeight:`max-h-48`,showFilters:!1,onClose:()=>a(e.addonId,`logs`)})}),i?.addonId===e.addonId&&i.type===`events`&&l(`div`,{className:`border-t border-border/40 bg-muted/5`,children:l(be,{addonId:e.addonId,category:`addon.*`,maxHeight:`max-h-48`,onClose:()=>a(e.addonId,`events`)})})]},e.addonId))}),u&&o.length===0&&l(`div`,{className:`px-3 py-2 pl-9 text-[10px] text-muted-foreground`,children:`No services`})]})}function Pe({nodeId:e,processes:t}){let[n,r]=c(null),i=(e,t)=>{r(n=>n?.addonId===e&&n.type===t?null:{addonId:e,type:t})};return t.length===0?l(`div`,{className:`py-4 text-xs text-muted-foreground text-center`,children:`No processes on this node`}):l(`div`,{className:`space-y-2 py-1`,children:t.map((t,r)=>l(Ne,{proc:t,nodeId:e,defaultExpanded:r===0,activePanel:n,onTogglePanel:i},t.name))})}var Fe={system:0,managed:1,root:2};n();function Ie(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m ${e%60}s`:e<86400?`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`:`${Math.floor(e/86400)}d ${Math.floor(e%86400/3600)}h`}function Le(e,t=80){return e.length<=t?e:`…${e.slice(e.length-t+1)}`}function Re({nodeId:e}){let t=s(),n=k(`metrics.node-processes-snapshot`,t=>t.nodeId===e),{data:i}=fe({nodeId:e}),o=n?.processes??i,c=a(()=>o?[...o]:[],[o]),u=a(()=>[{key:`classification`,header:`Class`,sortValue:e=>Fe[e.classification],render:e=>l(`span`,{className:`inline-block rounded-full px-1.5 py-0.5 text-[10px] font-medium ${e.classification===`root`?`bg-sky-500/20 text-sky-400`:e.classification===`system`?`bg-foreground-subtle/20 text-foreground-subtle`:`bg-success/20 text-success`}`,children:e.classification})},{key:`pid`,header:`PID`,align:`right`,sortValue:e=>e.pid,render:e=>l(`span`,{className:`font-mono`,children:e.pid})},{key:`ppid`,header:`PPID`,align:`right`,sortValue:e=>e.ppid,render:e=>l(`span`,{className:`font-mono text-foreground-subtle`,children:e.ppid})},{key:`addonId`,header:`Addon`,sortValue:e=>e.addonId,render:e=>l(`span`,{className:`text-foreground-subtle text-[11px]`,children:e.addonId??`—`})},{key:`command`,header:`Command`,nowrap:!1,render:e=>l(`span`,{className:`font-mono text-[10px] text-foreground-subtle break-all`,children:Le(e.command)})},{key:`cpuPercent`,header:`CPU%`,align:`right`,sortValue:e=>e.cpuPercent,render:e=>e.cpuPercent.toFixed(1)},{key:`memoryRssBytes`,header:`RSS`,align:`right`,sortValue:e=>e.memoryRssBytes,render:e=>N(e.memoryRssBytes)},{key:`uptimeSec`,header:`Uptime`,align:`right`,sortValue:e=>e.uptimeSec,render:e=>l(`span`,{className:`text-foreground-subtle`,children:Ie(e.uptimeSec)})}],[]);return r(`div`,{className:`space-y-4`,children:[l(`div`,{className:`flex items-start justify-end gap-4`,children:r(`button`,{type:`button`,onClick:()=>t.invalidateQueries({queryKey:[[`metricsProvider`,`listNodeProcesses`]]}),className:`inline-flex items-center gap-1 rounded border border-border px-2 py-1 text-[11px] text-foreground hover:bg-surface-hover`,children:[l(E,{className:`h-3 w-3`}),` Refresh`]})}),l(O,{columns:u,rows:c,rowKey:e=>e.pid,minWidthPx:880,mobileMode:`scroll`,maxBodyHeight:Se,emptyMessage:`Scanning…`})]})}var P={width:320,height:64},ze=.8,F=Math.ceil(8*ze-3)+1,I=P.width+34,L=P.height+F+1+11,Be=F+P.height+1+3+Math.ceil(8*ze),Ve=[1,2,5,10],He=[1,2,4,8,16,32,64,128,256,512,1024],Ue=[1,1.5,2,2.5,3,4,5],R=[4,3,5,2],We=1e-9;function Ge(e,t){if(!Number.isFinite(e)||e<=0)return!1;if(t===`bytes`){if(!Number.isInteger(e))return!1;let t=e/1024**Math.floor(Math.log(e)/Math.log(1024));return Ue.some(e=>Math.abs(t-e)<We)}let n=e/10**Math.floor(Math.log10(e));return Ue.some(e=>Math.abs(n-e)<We)}function Ke(e,t,n){let r=0;for(let t of e)t!==null&&t>r&&(r=t);if(r<=t)return t;if(n===`bytes`){let e=1024**Math.floor(Math.log(r)/Math.log(1024));for(let t of He){let n=t*e;if(n>=r)return n}return 1024*e}let i=10**Math.floor(Math.log10(r));for(let e of Ve){let t=e*i;if(t>=r)return t}return 10*i}function z(e,t){if(!Number.isFinite(e)||e<=0)return[];let n=R.find(n=>Ge(e/n,t))??R[R.length-1],r=e/n,i=[];for(let e=1;e<=n;e++)i.push(r*e);return i}var qe=2.5;function B(e){return e*qe}function V(e,t,n,r){if(e.length===0)return[];let i=e[0].atMs,a=e.at(-1).atMs-i,o=n<=0?1:n,s=r!==void 0&&r>0?r:null;return e.map((r,c)=>{let l=a>0?(r.atMs-i)/a*t.width:c/Math.max(1,e.length-1)*t.width,u=c>0?e[c-1]:void 0;return{x:l,y:r.value===null?null:t.height-Math.min(r.value,n)/o*t.height,gapBefore:s!==null&&u!==void 0&&r.atMs-u.atMs>s}})}function H(e){let t=[],n=!1;for(let r of e){if(r.y===null){n=!1;continue}r.gapBefore&&(n=!1),t.push(`${n?`L`:`M`}${r.x.toFixed(1)},${r.y.toFixed(1)}`),n=!0}return t.join(` `)}function U(e,t){let n=[],r=[],i=()=>{if(r.length<2){r=[];return}let e=r.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(1)},${e.top.toFixed(1)}`),t=[...r].reverse().map(e=>`L${e.x.toFixed(1)},${e.bottom.toFixed(1)}`);n.push(`${e.join(` `)} ${t.join(` `)} Z`),r=[]};for(let n=0;n<e.length;n++){let a=e[n],o=t[n];if(!a||!o||a.y===null||o.y===null){i();continue}(a.gapBefore||o.gapBefore)&&i(),r.push({x:a.x,top:a.y,bottom:o.y})}return i(),n.join(` `)}function W(e,t,n=3){if(e.length<2||n<2)return[];let r=e[0].atMs,i=e.at(-1).atMs-r;if(i<=0)return[];let a=[];for(let e=0;e<n;e++){let o=e/(n-1);a.push({atMs:r+i*o,x:o*t.width,anchor:e===0?`start`:e===n-1?`end`:`middle`})}return a}function G(e){return e.length<2?0:Math.max(0,e.at(-1).atMs-e[0].atMs)}function Je(e){let t=[];for(let n=1;n<e.length;n++){let r=e[n];r.gapBefore&&t.push({fromX:e[n-1].x,toX:r.x})}return t}function Ye(e,t){if(e.length===0)return null;let n=0,r=1/0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i].x-t);a<r&&(r=a,n=i)}return n}n();var K={main:`var(--load-series-main)`,gc:`var(--load-series-gc)`},Xe=`
|
|
1
|
+
import{I as e,K as t,Q as n,S as r,V as i,W as a,b as o,o as s,q as c,x as l,z as u}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-DhP-Lgiq.js";import{at as d,gt as f,ht as p,st as m,vt as h}from"./player-overlays-CHWCYkGf.js";import{Ao as g,As as _,Au as v,Bl as y,Bo as b,Gu as x,Hd as S,Iu as C,Kl as w,Lo as T,Lu as E,Mc as ee,Nc as te,Od as D,Pc as ne,Ro as re,Rt as O,Ru as ie,St as ae,Vl as k,Zn as oe,cf as A,cr as se,da as ce,dr as le,ec as ue,jc as de,jo as fe,ju as pe,ku as me,lr as he,qd as ge,rd as j,su as _e,tl as ve,ur as ye,xt as be,zo as xe,zt as Se}from"./src-Crb8RLzq.js";import{t as Ce}from"./hard-drive-download-CaBI4JJt.js";import{Wr as we}from"./client-CxHFB-xR.js";import{t as M}from"./useTranslation-Bc5yH9V9.js";import{t as Te}from"./NodeAddonsSettingsPanel-2ImNi4l_.js";import{t as N}from"./format-size-DIxKXxtj.js";import{n as Ee,r as De,t as Oe}from"./useNodeUrlSelection-BSYJnQKG.js";var ke=h(`memory-stick`,[[`path`,{d:`M12 12v-2`,key:`fwoke6`}],[`path`,{d:`M12 18v-2`,key:`qj6yno`}],[`path`,{d:`M16 12v-2`,key:`heuere`}],[`path`,{d:`M16 18v-2`,key:`s1ct0w`}],[`path`,{d:`M2 11h1.5`,key:`15p63e`}],[`path`,{d:`M20 18v-2`,key:`12ehxp`}],[`path`,{d:`M20.5 11H22`,key:`khsy7a`}],[`path`,{d:`M4 18v-2`,key:`1c3oqr`}],[`path`,{d:`M8 12v-2`,key:`1mwtfd`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`,key:`1qcswk`}]]);n();function Ae(e){if(e<60)return`${e}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let n=Math.floor(t/60);return n<24?`${n}h ${t%60}m`:`${Math.floor(n/24)}d ${n%24}h`}function je({state:e}){return l(`span`,{className:`text-[10px] px-1.5 py-0.5 rounded-full ${e===`running`?`bg-success/10 text-success`:e===`crashed`||e===`failed`?`bg-destructive/10 text-destructive`:`bg-muted text-muted-foreground`}`,children:e})}var Me=[`trace`,`debug`,`info`,`warn`,`error`];function Ne({proc:e,nodeId:t,defaultExpanded:n,activePanel:i,onTogglePanel:a}){let o=e.services??[],s=o.length===1,[u,d]=c(s||n),[m,h]=c(null),[g,_]=c(`info`),v=e.name.includes(`(core)`),y=re(),x=xe(),S=b(),w=async e=>{h(e);try{await y.mutateAsync({nodeId:t,addonId:e})}catch(e){console.error(`Failed to restart addon:`,e)}finally{h(null)}},T=async()=>{h(e.name);try{await x.mutateAsync({nodeId:t,processName:e.name})}catch(e){console.error(`Failed to restart process:`,e)}finally{h(null)}},E=async n=>{let r=`${t}/${e.name}`;try{await S.mutateAsync({nodeId:r,level:n}),_(n)}catch(e){console.error(`Failed to set log level:`,e)}};return r(`div`,{className:`border border-border/50 rounded-lg overflow-hidden`,children:[r(`div`,{role:s?void 0:`button`,tabIndex:s?void 0:0,onClick:s?void 0:()=>d(!u),onKeyDown:s?void 0:e=>{(e.key===`Enter`||e.key===` `)&&d(!u)},className:`flex items-center gap-2 w-full px-3 py-2 bg-muted/20 transition-colors text-left select-none ${s?``:`hover:bg-muted/40 cursor-pointer`}`,children:[s?l(`span`,{className:`h-3 w-3 shrink-0`}):l(u?f:p,{className:`h-3 w-3 text-muted-foreground shrink-0`}),v?l(me,{className:`h-3.5 w-3.5 text-primary shrink-0`}):l(ge,{className:`h-3.5 w-3.5 text-amber-500 shrink-0`}),l(`span`,{className:`text-xs font-semibold flex-1`,children:e.name}),r(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:[`PID `,e.pid]}),l(je,{state:e.state}),r(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:[e.cpuPercent,`% CPU`]}),l(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:N(e.memoryRss)}),l(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:Ae(e.uptimeSeconds)}),!v&&r(`div`,{className:`flex items-center gap-1`,onClick:e=>e.stopPropagation(),children:[r(se,{children:[l(le,{className:`text-[9px] px-1.5 py-0.5 rounded border border-border text-muted-foreground hover:text-foreground hover:bg-muted transition-colors font-mono`,title:`Set log level`,children:g}),l(he,{align:`end`,className:`min-w-[70px] py-0.5`,children:Me.map(e=>l(ye,{onClick:()=>E(e),className:`h-auto px-2 py-1 text-[10px] font-mono ${e===g?`text-primary font-semibold`:``}`,children:e},e))})]}),l(`button`,{onClick:T,disabled:m===e.name,className:`p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50`,title:`Restart process`,children:l(C,{className:`h-3 w-3 ${m===e.name?`animate-spin`:``}`})})]})]}),u&&o.length>0&&l(`div`,{className:`divide-y divide-border/30`,children:o.map(e=>r(`div`,{children:[r(`div`,{className:`flex items-center gap-2 px-3 py-1.5 pl-9 hover:bg-muted/10 transition-colors`,children:[l(`div`,{className:`h-1.5 w-1.5 rounded-full shrink-0 ${e.status===`running`?`bg-success`:`bg-muted-foreground/30`}`}),l(`span`,{className:`text-xs font-medium flex-1 min-w-0 truncate`,children:e.addonId}),e.capabilities.length>0&&r(`div`,{className:`flex gap-1 flex-shrink-0`,children:[e.capabilities.slice(0,3).map(e=>l(`span`,{className:`text-[9px] px-1 py-0.5 rounded bg-blue-500/10 text-blue-400 truncate max-w-[80px]`,children:e},e)),e.capabilities.length>3&&r(`span`,{className:`text-[9px] text-muted-foreground`,children:[`+`,e.capabilities.length-3]})]}),r(`div`,{className:`flex items-center gap-1 shrink-0`,children:[l(`button`,{onClick:()=>a(e.addonId,`logs`),className:`p-0.5 rounded transition-colors ${i?.addonId===e.addonId&&i.type===`logs`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground hover:text-foreground`}`,title:`Show logs for ${e.addonId}`,children:l(pe,{className:`h-3 w-3`})}),l(`button`,{onClick:()=>a(e.addonId,`events`),className:`p-0.5 rounded transition-colors ${i?.addonId===e.addonId&&i.type===`events`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground hover:text-foreground`}`,title:`Show events for ${e.addonId}`,children:l(ie,{className:`h-3 w-3`})}),l(`button`,{onClick:()=>w(e.addonId),disabled:m===e.addonId,className:`p-0.5 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50`,title:`Restart ${e.addonId}`,children:l(C,{className:`h-3 w-3 ${m===e.addonId?`animate-spin`:``}`})})]})]}),i?.addonId===e.addonId&&i.type===`logs`&&l(`div`,{className:`border-t border-border/40 bg-muted/5`,children:l(ae,{addonId:e.addonId,agentId:t,maxHeight:`max-h-48`,showFilters:!1,onClose:()=>a(e.addonId,`logs`)})}),i?.addonId===e.addonId&&i.type===`events`&&l(`div`,{className:`border-t border-border/40 bg-muted/5`,children:l(be,{addonId:e.addonId,category:`addon.*`,maxHeight:`max-h-48`,onClose:()=>a(e.addonId,`events`)})})]},e.addonId))}),u&&o.length===0&&l(`div`,{className:`px-3 py-2 pl-9 text-[10px] text-muted-foreground`,children:`No services`})]})}function Pe({nodeId:e,processes:t}){let[n,r]=c(null),i=(e,t)=>{r(n=>n?.addonId===e&&n.type===t?null:{addonId:e,type:t})};return t.length===0?l(`div`,{className:`py-4 text-xs text-muted-foreground text-center`,children:`No processes on this node`}):l(`div`,{className:`space-y-2 py-1`,children:t.map((t,r)=>l(Ne,{proc:t,nodeId:e,defaultExpanded:r===0,activePanel:n,onTogglePanel:i},t.name))})}var Fe={system:0,managed:1,root:2};n();function Ie(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m ${e%60}s`:e<86400?`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`:`${Math.floor(e/86400)}d ${Math.floor(e%86400/3600)}h`}function Le(e,t=80){return e.length<=t?e:`…${e.slice(e.length-t+1)}`}function Re({nodeId:e}){let t=s(),n=k(`metrics.node-processes-snapshot`,t=>t.nodeId===e),{data:i}=fe({nodeId:e}),o=n?.processes??i,c=a(()=>o?[...o]:[],[o]),u=a(()=>[{key:`classification`,header:`Class`,sortValue:e=>Fe[e.classification],render:e=>l(`span`,{className:`inline-block rounded-full px-1.5 py-0.5 text-[10px] font-medium ${e.classification===`root`?`bg-sky-500/20 text-sky-400`:e.classification===`system`?`bg-foreground-subtle/20 text-foreground-subtle`:`bg-success/20 text-success`}`,children:e.classification})},{key:`pid`,header:`PID`,align:`right`,sortValue:e=>e.pid,render:e=>l(`span`,{className:`font-mono`,children:e.pid})},{key:`ppid`,header:`PPID`,align:`right`,sortValue:e=>e.ppid,render:e=>l(`span`,{className:`font-mono text-foreground-subtle`,children:e.ppid})},{key:`addonId`,header:`Addon`,sortValue:e=>e.addonId,render:e=>l(`span`,{className:`text-foreground-subtle text-[11px]`,children:e.addonId??`—`})},{key:`command`,header:`Command`,nowrap:!1,render:e=>l(`span`,{className:`font-mono text-[10px] text-foreground-subtle break-all`,children:Le(e.command)})},{key:`cpuPercent`,header:`CPU%`,align:`right`,sortValue:e=>e.cpuPercent,render:e=>e.cpuPercent.toFixed(1)},{key:`memoryRssBytes`,header:`RSS`,align:`right`,sortValue:e=>e.memoryRssBytes,render:e=>N(e.memoryRssBytes)},{key:`uptimeSec`,header:`Uptime`,align:`right`,sortValue:e=>e.uptimeSec,render:e=>l(`span`,{className:`text-foreground-subtle`,children:Ie(e.uptimeSec)})}],[]);return r(`div`,{className:`space-y-4`,children:[l(`div`,{className:`flex items-start justify-end gap-4`,children:r(`button`,{type:`button`,onClick:()=>t.invalidateQueries({queryKey:[[`metricsProvider`,`listNodeProcesses`]]}),className:`inline-flex items-center gap-1 rounded border border-border px-2 py-1 text-[11px] text-foreground hover:bg-surface-hover`,children:[l(E,{className:`h-3 w-3`}),` Refresh`]})}),l(O,{columns:u,rows:c,rowKey:e=>e.pid,minWidthPx:880,mobileMode:`scroll`,maxBodyHeight:Se,emptyMessage:`Scanning…`})]})}var P={width:320,height:64},ze=.8,F=Math.ceil(8*ze-3)+1,I=P.width+34,L=P.height+F+1+11,Be=F+P.height+1+3+Math.ceil(8*ze),Ve=[1,2,5,10],He=[1,2,4,8,16,32,64,128,256,512,1024],Ue=[1,1.5,2,2.5,3,4,5],R=[4,3,5,2],We=1e-9;function Ge(e,t){if(!Number.isFinite(e)||e<=0)return!1;if(t===`bytes`){if(!Number.isInteger(e))return!1;let t=e/1024**Math.floor(Math.log(e)/Math.log(1024));return Ue.some(e=>Math.abs(t-e)<We)}let n=e/10**Math.floor(Math.log10(e));return Ue.some(e=>Math.abs(n-e)<We)}function Ke(e,t,n){let r=0;for(let t of e)t!==null&&t>r&&(r=t);if(r<=t)return t;if(n===`bytes`){let e=1024**Math.floor(Math.log(r)/Math.log(1024));for(let t of He){let n=t*e;if(n>=r)return n}return 1024*e}let i=10**Math.floor(Math.log10(r));for(let e of Ve){let t=e*i;if(t>=r)return t}return 10*i}function z(e,t){if(!Number.isFinite(e)||e<=0)return[];let n=R.find(n=>Ge(e/n,t))??R[R.length-1],r=e/n,i=[];for(let e=1;e<=n;e++)i.push(r*e);return i}var qe=2.5;function B(e){return e*qe}function V(e,t,n,r){if(e.length===0)return[];let i=e[0].atMs,a=e.at(-1).atMs-i,o=n<=0?1:n,s=r!==void 0&&r>0?r:null;return e.map((r,c)=>{let l=a>0?(r.atMs-i)/a*t.width:c/Math.max(1,e.length-1)*t.width,u=c>0?e[c-1]:void 0;return{x:l,y:r.value===null?null:t.height-Math.min(r.value,n)/o*t.height,gapBefore:s!==null&&u!==void 0&&r.atMs-u.atMs>s}})}function H(e){let t=[],n=!1;for(let r of e){if(r.y===null){n=!1;continue}r.gapBefore&&(n=!1),t.push(`${n?`L`:`M`}${r.x.toFixed(1)},${r.y.toFixed(1)}`),n=!0}return t.join(` `)}function U(e,t){let n=[],r=[],i=()=>{if(r.length<2){r=[];return}let e=r.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(1)},${e.top.toFixed(1)}`),t=[...r].reverse().map(e=>`L${e.x.toFixed(1)},${e.bottom.toFixed(1)}`);n.push(`${e.join(` `)} ${t.join(` `)} Z`),r=[]};for(let n=0;n<e.length;n++){let a=e[n],o=t[n];if(!a||!o||a.y===null||o.y===null){i();continue}(a.gapBefore||o.gapBefore)&&i(),r.push({x:a.x,top:a.y,bottom:o.y})}return i(),n.join(` `)}function W(e,t,n=3){if(e.length<2||n<2)return[];let r=e[0].atMs,i=e.at(-1).atMs-r;if(i<=0)return[];let a=[];for(let e=0;e<n;e++){let o=e/(n-1);a.push({atMs:r+i*o,x:o*t.width,anchor:e===0?`start`:e===n-1?`end`:`middle`})}return a}function G(e){return e.length<2?0:Math.max(0,e.at(-1).atMs-e[0].atMs)}function Je(e){let t=[];for(let n=1;n<e.length;n++){let r=e[n];r.gapBefore&&t.push({fromX:e[n-1].x,toX:r.x})}return t}function Ye(e,t){if(e.length===0)return null;let n=0,r=1/0;for(let i=0;i<e.length;i++){let a=Math.abs(e[i].x-t);a<r&&(r=a,n=i)}return n}n();var K={main:`var(--load-series-main)`,gc:`var(--load-series-gc)`},Xe=`
|
|
2
2
|
.load-chart-scope { --load-series-main: #2a78d6; --load-series-gc: #e87ba4; }
|
|
3
3
|
@media (prefers-color-scheme: dark) {
|
|
4
4
|
:root:not([data-theme="light"]) .load-chart-scope {
|