@miravo/cli-linux-arm64-musl 0.7.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/LICENSE +199 -0
- package/README.md +5 -0
- package/console-dist/assets/AnimatePresence-DOKfbxUr.js +9 -0
- package/console-dist/assets/activity-CHJbwIn_.js +1 -0
- package/console-dist/assets/api-DUOCKS6t.js +1 -0
- package/console-dist/assets/arrow-right-DzTjpAuX.js +1 -0
- package/console-dist/assets/arrow-up-down-Dpy1cI5X.js +1 -0
- package/console-dist/assets/auth-screen-backdrop-UsGua6Zt.js +1 -0
- package/console-dist/assets/badge-Dl0qmCnt.js +1 -0
- package/console-dist/assets/catalog-CJE-3rom.js +1 -0
- package/console-dist/assets/catalog-D7hkpcg7.js +1 -0
- package/console-dist/assets/catalog-source-m5FRUDDK.js +1 -0
- package/console-dist/assets/catalog-template-icons-MOd-xD7l.js +1 -0
- package/console-dist/assets/checkbox-_saaQAja.js +1 -0
- package/console-dist/assets/chunk-OE4NN4TA-m2UhO8Q2.js +3 -0
- package/console-dist/assets/circle-question-mark-BwjC8Yj-.js +1 -0
- package/console-dist/assets/combobox-BqGaRFom.js +1 -0
- package/console-dist/assets/control-C3s_d_cd.js +1 -0
- package/console-dist/assets/control-CVg7wZ1b.js +1 -0
- package/console-dist/assets/copy-button-BYq-qqmM.js +1 -0
- package/console-dist/assets/dist-jROhexoH.js +2 -0
- package/console-dist/assets/download-BP5RD-RZ.js +1 -0
- package/console-dist/assets/dropdown-menu-6JrsGi7P.js +1 -0
- package/console-dist/assets/engine-store-BXfht5ME.js +1 -0
- package/console-dist/assets/events-PFkU6dri.js +1 -0
- package/console-dist/assets/events-uH2B0ni-.js +1 -0
- package/console-dist/assets/fira-code-cyrillic-ext-wght-normal-DhYMMuQd.woff2 +0 -0
- package/console-dist/assets/fira-code-cyrillic-wght-normal-Y3u8pIsh.woff2 +0 -0
- package/console-dist/assets/fira-code-greek-ext-wght-normal-wWus70Ix.woff2 +0 -0
- package/console-dist/assets/fira-code-greek-wght-normal-B2SviObF.woff2 +0 -0
- package/console-dist/assets/fira-code-latin-ext-wght-normal-Dvfvaomy.woff2 +0 -0
- package/console-dist/assets/fira-code-latin-wght-normal-CHoedHDv.woff2 +0 -0
- package/console-dist/assets/fira-code-symbols2-wght-normal-CE6EOz_n.woff2 +0 -0
- package/console-dist/assets/fleet-B1apknqo.js +1 -0
- package/console-dist/assets/fleet-CdoQJU1v.js +1 -0
- package/console-dist/assets/format-B243kebG.js +1 -0
- package/console-dist/assets/get-error-message-CCNo4ZY0.js +1 -0
- package/console-dist/assets/index-CTIFAVGZ.js +12 -0
- package/console-dist/assets/index-DUzq1mEZ.css +2 -0
- package/console-dist/assets/instance-detail-BH62ZPtN.js +1 -0
- package/console-dist/assets/label-CM_MIru8.js +1 -0
- package/console-dist/assets/layers-Cg3yeSqL.js +1 -0
- package/console-dist/assets/login-DG5yhrqi.js +136 -0
- package/console-dist/assets/models-CZEVv1PS.js +1 -0
- package/console-dist/assets/models-S3NJFuma.js +1 -0
- package/console-dist/assets/not-found-49MUUPk7.js +1 -0
- package/console-dist/assets/platform-targets-DkU1GIU_.js +1 -0
- package/console-dist/assets/platforms-Czbg-aTO.js +1 -0
- package/console-dist/assets/platforms-DbF8XkYf.js +1 -0
- package/console-dist/assets/proxy-Dd7NWn5E.js +1 -0
- package/console-dist/assets/query-fetch-error-B2TVF0yM.js +1 -0
- package/console-dist/assets/rolldown-runtime-COnpUsM8.js +1 -0
- package/console-dist/assets/route-preload-iLKZvgav.js +2 -0
- package/console-dist/assets/runtime-link-ocutSVA8.js +1 -0
- package/console-dist/assets/schibsted-grotesk-latin-ext-wght-normal-hsMS0n0O.woff2 +0 -0
- package/console-dist/assets/schibsted-grotesk-latin-wght-normal-Bb8VGrTG.woff2 +0 -0
- package/console-dist/assets/select-TsdpHrOx.js +1 -0
- package/console-dist/assets/select-display-items-C6R8SaIm.js +1 -0
- package/console-dist/assets/shallow-ODRQsuRf.js +1 -0
- package/console-dist/assets/skeleton-BK5ydi_g.js +1 -0
- package/console-dist/assets/tabs-CrmZxWmX.js +1 -0
- package/console-dist/assets/tags-Burz8TZx.js +4 -0
- package/console-dist/assets/tags-zlkQYLKu.js +1 -0
- package/console-dist/assets/tooltip-5y0snV5M.js +1 -0
- package/console-dist/assets/transition-nav-link-rkgf5kGR.js +1 -0
- package/console-dist/assets/transition-types-BNgNegH3.js +1 -0
- package/console-dist/assets/triangle-alert-B7bgkvtE.js +1 -0
- package/console-dist/assets/use-engine-command-mutation-BHd8IkoT.js +1 -0
- package/console-dist/assets/use-platform-stream-EUBU4hC1.js +2 -0
- package/console-dist/assets/use-transition-navigate-BQAQi11k.js +1 -0
- package/console-dist/assets/utils-CH98NBUe.js +1 -0
- package/console-dist/assets/validation-CEcQWBjy.js +1 -0
- package/console-dist/assets/vendor-charts-CAZdaPlq.js +60 -0
- package/console-dist/assets/vendor-table-CymGcez5.js +4 -0
- package/console-dist/assets/vendor-ui-BcvPjvmT.js +1 -0
- package/console-dist/icon.png +0 -0
- package/console-dist/index.html +82 -0
- package/console-dist/miravo-logo.webp +0 -0
- package/miravo +0 -0
- package/nodesets/.ignore +1 -0
- package/nodesets/1.02/FTNIR.NodeSet2.xml +819 -0
- package/nodesets/1.02/Opc.Ua.Adi.NodeSet2.xml +8301 -0
- package/nodesets/1.02/Opc.Ua.Di.NodeSet2.xml +1785 -0
- package/nodesets/Opc.ISA95.NodeSet2.xml +3589 -0
- package/nodesets/Opc.Ua.AMB.NodeSet2.xml +1395 -0
- package/nodesets/Opc.Ua.Adi.NodeSet2.xml +8301 -0
- package/nodesets/Opc.Ua.Adi.Types.xsd +104 -0
- package/nodesets/Opc.Ua.AutoID.NodeSet2.xml +6062 -0
- package/nodesets/Opc.Ua.CNC.NodeSet.xml +15875 -0
- package/nodesets/Opc.Ua.CommercialKitchenEquipment.NodeSet2.xml +12096 -0
- package/nodesets/Opc.Ua.Di.NodeSet2.xml +6042 -0
- package/nodesets/Opc.Ua.Di.Types.xsd +161 -0
- package/nodesets/Opc.Ua.Eumabois.Nodeset2.xml +2483 -0
- package/nodesets/Opc.Ua.Gds.NodeSet2.xml +8282 -0
- package/nodesets/Opc.Ua.Glass.NodeSet2.xml +5100 -0
- package/nodesets/Opc.Ua.IA.NodeSet2.xml +1782 -0
- package/nodesets/Opc.Ua.IOLink.NodeSet2.xml +4374 -0
- package/nodesets/Opc.Ua.IOLinkIODD.NodeSet2.xml +139 -0
- package/nodesets/Opc.Ua.IRDI.NodeSet2.xml +2243 -0
- package/nodesets/Opc.Ua.Ijt.Base.NodeSet2.xml +19459 -0
- package/nodesets/Opc.Ua.Ijt.Tightening.NodeSet2.xml +883 -0
- package/nodesets/Opc.Ua.LADS.NodeSet2.xml +7086 -0
- package/nodesets/Opc.Ua.MachineTool.NodeSet2.xml +7884 -0
- package/nodesets/Opc.Ua.MachineVision.NodeSet2.xml +17324 -0
- package/nodesets/Opc.Ua.Machinery.Jobs.Nodeset2.xml +1249 -0
- package/nodesets/Opc.Ua.Machinery.NodeSet2.xml +2099 -0
- package/nodesets/Opc.Ua.Machinery.ProcessValues.NodeSet2.xml +1858 -0
- package/nodesets/Opc.Ua.Machinery_Result.NodeSet2.xml +2640 -0
- package/nodesets/Opc.Ua.MetalForming.NodeSet2.xml +1577 -0
- package/nodesets/Opc.Ua.NodeSet2.xml +81975 -0
- package/nodesets/Opc.Ua.PADIM.NodeSet2.xml +14131 -0
- package/nodesets/Opc.Ua.PackML.NodeSet2.xml +3030 -0
- package/nodesets/Opc.Ua.Robotics.NodeSet2.xml +7409 -0
- package/nodesets/Opc.Ua.Scales.NodeSet2.xml +15817 -0
- package/nodesets/Opc.Ua.Types.bsd +3499 -0
- package/nodesets/Opc.Ua.Weihenstephan.NodeSet2.xml +821 -0
- package/nodesets/Opc.Ua.Woodworking.NodeSet2.xml +17831 -0
- package/nodesets/UANodeSet.xsd +497 -0
- package/nodesets/opc.ua.isa95-jobcontrol.nodeset2.xml +4594 -0
- package/package.json +34 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,F as t,I as n,L as r,M as i,N as a,P as o,at as s,et as c,j as l}from"./vendor-ui-BcvPjvmT.js";import{t as u}from"./utils-CH98NBUe.js";var d=s();function f({...e}){return(0,d.jsx)(l,{"data-slot":`dropdown-menu`,...e})}function p({...t}){return(0,d.jsx)(e,{"data-slot":`dropdown-menu-trigger`,...t})}function m({align:e=`start`,alignOffset:t=0,side:n=`bottom`,sideOffset:r=4,className:s,...c}){return(0,d.jsx)(a,{children:(0,d.jsx)(i,{className:`isolate z-50 outline-none`,align:e,alignOffset:t,side:n,sideOffset:r,children:(0,d.jsx)(o,{"data-slot":`dropdown-menu-content`,className:u(`z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-[var(--miravo-radius-stadium-sm)] bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95`,s),...c})})})}function h({...e}){return(0,d.jsx)(r,{"data-slot":`dropdown-menu-group`,...e})}function g({className:e,inset:t,...r}){return(0,d.jsx)(n,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:u(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...r})}function _({className:e,inset:n,variant:r=`default`,...i}){return(0,d.jsx)(t,{"data-slot":`dropdown-menu-item`,"data-inset":n,"data-variant":r,className:u(`group/dropdown-menu-item relative flex cursor-pointer items-center gap-1.5 rounded-[var(--miravo-radius-tight)] px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-sidebar-accent data-[highlighted]:text-sidebar-accent-foreground not-data-[variant=destructive]:data-[highlighted]:**:text-sidebar-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 data-[variant=destructive]:data-[highlighted]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive`,e),...i})}function v({className:e,...t}){return(0,d.jsx)(c,{"data-slot":`dropdown-menu-separator`,className:u(`-mx-1 my-1 h-px bg-border`,e),...t})}export{g as a,_ as i,m as n,v as o,h as r,p as s,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";var n=e(t(),1),r=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},i=(e=>e?r(e):r),a=e=>e;function o(e,t=a){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r}var s=e=>{let t=i(e),n=e=>o(t,e);return Object.assign(n,t),n},c=(e=>e?s(e):s),l=200,u=60,d=1e3,f=`miravo:runtime-snapshot`;function p(e){try{sessionStorage.setItem(f,JSON.stringify(e))}catch{}}function m(){try{sessionStorage.removeItem(f)}catch{}}function h(e){if(typeof e!=`object`||!e)return!1;let t=e;if(typeof t.revision!=`number`||typeof t.state!=`object`||t.state===null||typeof t.metrics!=`object`||t.metrics===null)return!1;let n=t.metrics;return typeof n.core!=`object`||n.core===null?!1:Array.isArray(t.runningTemplates)}function g(){try{let e=sessionStorage.getItem(f);if(!e)return null;let t=JSON.parse(e);return h(t)?t:(m(),null)}catch{return m(),null}}function _(e){let t=e.metrics.core.tickCount,n=e.metrics.core.actualTicksPerSecond,r=Date.now();return{connectionState:`live`,connectionStateSince:r,reconnectAttempts:0,fatalError:null,lastRevision:e.revision,environmentName:e.state.environmentName??e.metrics.environmentName??``,seed:e.state.config.seed,engineState:e.metrics.core.state,tick:t,simulationTime:e.metrics.core.simulationTimeSeconds,tickIntervalMs:e.state.config.tickIntervalMs,lastTickReceivedAt:r,instanceCount:e.metrics.core.instanceCount,memberValueCount:e.metrics.core.memberValueCount,quarantinedInstanceCount:e.metrics.core.quarantinedInstanceCount,engineErrorsCount:e.metrics.core.engineErrorsCount,tickOverrunsCount:e.metrics.core.tickOverrunsCount,circuitBreakerTripsCount:e.metrics.core.circuitBreakerTripsCount,tps:n,uptimeMs:e.metrics.core.uptimeMs,speedMultiplier:e.state.config.timeMultiplier,instances:[...e.state.instances],models:[...e.state.models],tpsHistory:[{tick:t,tps:n,sampledAtMs:r}],templateRuns:[...e.runningTemplates],availableAdapters:e.state.availableAdapters??[],adapterMetrics:e.metrics.adapters??[],memberValues:new Map,events:[]}}function v(e,t){return{connectionState:`live`,connectionStateSince:e.connectionState===`live`?e.connectionStateSince:t,reconnectAttempts:0,fatalError:null}}var y=c((e,t)=>({connectionState:`booting`,connectionStateSince:Date.now(),reconnectAttempts:0,fatalError:null,lastRevision:0,environmentName:``,seed:null,engineState:`idle`,tick:0,simulationTime:0,tickIntervalMs:1e3,lastTickReceivedAt:0,instanceCount:0,memberValueCount:0,quarantinedInstanceCount:0,engineErrorsCount:0,tickOverrunsCount:0,circuitBreakerTripsCount:0,tps:0,uptimeMs:0,speedMultiplier:1,instances:[],models:[],tpsHistory:[],templateRuns:[],availableAdapters:[],adapterMetrics:[],memberValues:new Map,events:[],replaceRuntime:(n,r)=>{let i=t().lastRevision;i>0&&(n.revision<i&&!r?.allowRevisionRewind||n.revision===i&&!r?.allowSameRevision)||(e(()=>_(n)),p(n))},applyTick:n=>{let r=t();if(n.revision<=r.lastRevision)return;let i=n.delta??[],a=n.tick??r.tick,o=n.simulationTime??r.simulationTime,s=n.instanceCount??r.instanceCount,c=n.metrics.core.actualTicksPerSecond,l=Date.now();if(!(i.length>0||a!==r.tick||o!==r.simulationTime||s!==r.instanceCount||n.metrics.adapters!==r.adapterMetrics||n.metrics.core.engineErrorsCount!==r.engineErrorsCount||n.metrics.core.tickOverrunsCount!==r.tickOverrunsCount||n.metrics.core.circuitBreakerTripsCount!==r.circuitBreakerTripsCount||n.metrics.core.memberValueCount!==r.memberValueCount||n.metrics.core.quarantinedInstanceCount!==r.quarantinedInstanceCount||c!==r.tps)){e({...v(r,l),lastTickReceivedAt:l,lastRevision:n.revision});return}let f={...v(r,l),tick:a,simulationTime:o,lastTickReceivedAt:l,instanceCount:s,memberValueCount:n.metrics.core.memberValueCount,quarantinedInstanceCount:n.metrics.core.quarantinedInstanceCount,engineErrorsCount:n.metrics.core.engineErrorsCount,tickOverrunsCount:n.metrics.core.tickOverrunsCount,circuitBreakerTripsCount:n.metrics.core.circuitBreakerTripsCount,tps:c,uptimeMs:n.metrics.core.uptimeMs,adapterMetrics:n.metrics.adapters,lastRevision:n.revision},p=r.tpsHistory.at(-1),m={tps:c,tick:a,sampledAtMs:l};if(!p||l-p.sampledAtMs>=d?f.tpsHistory=[...r.tpsHistory,m].slice(-u):f.tpsHistory=[...r.tpsHistory.slice(0,-1),m],i.length>0){let e=new Map(r.memberValues),t=new Set;for(let n of i){if(!t.has(n.instanceId)){let r=e.get(n.instanceId);e.set(n.instanceId,new Map(r)),t.add(n.instanceId)}e.get(n.instanceId)?.set(n.memberName,{value:n.value,quality:n.quality})}f.memberValues=e}e(f)},applyEvent:(n,r)=>{let i=t();if(r<=i.lastRevision)return;let a=Date.now(),o=[n,...i.events].slice(0,l),s={...v(i,a),events:o,lastRevision:r};if(n.kind===`instance:removed`){let t=new Map(i.memberValues);t.delete(n.id),e({...s,memberValues:t});return}if(n.kind===`fault:triggered`||n.kind===`fault:cleared`){let t=i.instances.map(e=>{if(e.id!==n.instanceId)return e;let t=n.kind===`fault:triggered`?[...e.activeFaults,n.fault]:e.activeFaults.filter(e=>e!==n.fault);return{...e,activeFaults:t}});e({...s,instances:t});return}if(n.kind===`lifecycle:changed`){let t=i.instances.map(e=>e.id===n.instanceId?{...e,lifecycleStage:n.to,operatingHours:n.operatingHours}:e);e({...s,instances:t});return}if(n.kind===`engine:state`){e({...s,engineState:n.to});return}e(s)},markConnection:n=>{t().connectionState!==n&&e({connectionState:n,connectionStateSince:Date.now()})},markFatal:t=>{e({connectionState:`fatal`,connectionStateSince:Date.now(),fatalError:t})},markUnauthenticated:()=>{t().connectionState!==`unauthenticated`&&e({connectionState:`unauthenticated`,connectionStateSince:Date.now()})},noteReconnectAttempt:()=>{e(e=>({reconnectAttempts:e.reconnectAttempts+1}))},resetReconnectAttempts:()=>{t().reconnectAttempts!==0&&e({reconnectAttempts:0})}}));export{c as i,g as n,y as r,m as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./events-uH2B0ni-.js";export{e as EventsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";import{at as n}from"./vendor-ui-BcvPjvmT.js";import{S as r,b as i,o as a}from"./api-DUOCKS6t.js";import{i as ee,s as te,t as o}from"./query-fetch-error-B2TVF0yM.js";import{t as s}from"./proxy-Dd7NWn5E.js";import{t as ne}from"./AnimatePresence-DOKfbxUr.js";import{u as re}from"./chunk-OE4NN4TA-m2UhO8Q2.js";import{S as ie,g as c,t as l}from"./format-B243kebG.js";import{c as ae,i as u,n as d,s as oe,t as se}from"./select-TsdpHrOx.js";import{r as f}from"./engine-store-BXfht5ME.js";import{t as p}from"./route-preload-iLKZvgav.js";import{t as ce}from"./use-transition-navigate-BQAQi11k.js";import{t as le}from"./badge-Dl0qmCnt.js";import{n as ue}from"./transition-types-BNgNegH3.js";import{n as de}from"./auth-screen-backdrop-UsGua6Zt.js";import{t as m}from"./get-error-message-CCNo4ZY0.js";import{r as fe}from"./runtime-link-ocutSVA8.js";import{a as pe,i as me,n as he,o as ge,r as _e,s as ve,t as ye}from"./combobox-BqGaRFom.js";import{a as h,c as g,i as be,o as _,r as v,s as y,t as xe}from"./select-display-items-C6R8SaIm.js";var b=e(t(),1);function Se(e){return e.includes(`triggered`)?`destructive`:e.includes(`cleared`)||e.includes(`created`)?`default`:e.includes(`removed`)||e.includes(`lifecycle`)?`secondary`:(e.includes(`state-changed`),`outline`)}function Ce(e){return e.includes(`state-changed`)?`border-info/30 bg-info/20 text-info hover:bg-info/20`:e===`platform:operation`?`border-chart-4/30 bg-chart-4/20 text-chart-4 hover:bg-chart-4/20`:e===`platform:resource`?`border-chart-4/30 bg-chart-4/15 text-chart-4 hover:bg-chart-4/15`:``}function x(e){if(`targetLabel`in e)return typeof e.targetLabel==`string`?e.targetLabel:void 0}function S(e){if(e.type===`platform:operation`){let t=e.operationType===`apply`?`Apply`:`Cleanup`,n=e.applied,r=e.operationType===`apply`?`applied`:`deleted`,i=e.failed>0?`, ${e.failed} failed`:``,a=x(e)??`Unknown target`;return`${t} ${e.templateId} \u2192 ${a} (${n} ${r}${i})`}return e.type===`platform:resource`?`${e.status===`success`?`✓`:`✗`} ${e.action} ${e.resourceType} ${e.resourceName}`:``}function we(e,t){let n=new Date(e);return n.toDateString()===t.toDateString()?n.toLocaleTimeString(l):n.toLocaleString(l,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function C(e){if(`instanceId`in e&&typeof e.instanceId==`string`)return e.instanceId}function Te(e){return e.type===`platform:operation`||e.type===`platform:resource`?x(e):C(e)}function w(e){return`fault`in e?c(e.fault):e.type===`platform:operation`||e.type===`platform:resource`?S(e):`from`in e&&`to`in e?`${c(e.from)} \u2192 ${c(e.to)}`:``}function T(e,t,n){let r=new URLSearchParams;return r.set(`limit`,`50`),e!==`all`&&r.set(`type`,e),t&&r.set(`instanceId`,t),n!==null&&r.set(`cursor`,String(n)),`/events?${r.toString()}`}var E=n(),D=1500,O=[`row-1`,`row-2`,`row-3`,`row-4`,`row-5`,`row-6`];function k(){let e=te(),[t]=re(),n=t.get(`type`)??`all`,c=t.get(`instanceId`)??``,[l,x]=(0,b.useState)(n),[S,k]=(0,b.useState)(c),[A,Ee]=(0,b.useState)(!0),j=fe(f(e=>e.connectionState))===null,M=f(e=>e.events.length),N=(0,b.useRef)(!1),P=f(e=>e.instances),De=ce(),F=ee({queryKey:i.events(l,S),queryFn:()=>a(T(l,S,null),r.events),refetchInterval:A&&j?D:!1,staleTime:5e3}),[Oe,I]=(0,b.useState)([]),[ke,L]=(0,b.useState)(!1),[Ae,R]=(0,b.useState)(null),z=`${l}::${S}`,B=(0,b.useRef)(z);(0,b.useEffect)(()=>{z!==B.current&&(B.current=z,I([]),R(null),H(!1))},[z]),(0,b.useEffect)(()=>{x(e=>e===n?e:n)},[n]),(0,b.useEffect)(()=>{k(e=>e===c?e:c)},[c]);let[V,H]=(0,b.useState)(()=>(F.data?.events.length??0)>0),U=F.data?[F.data,...Oe]:[],W=U.flatMap(e=>e.events),G=U[U.length-1],K=G?.hasMore??!1;(0,b.useEffect)(()=>{W.length>0&&!V&&H(!0)},[W.length,V]);let q=(0,b.useRef)(M);(0,b.useEffect)(()=>{M!==q.current&&(q.current=M,A&&j?(e.invalidateQueries({queryKey:i.events(l,S)}),N.current=!1):A&&(N.current=!0))},[M,A,j,e,l,S]),(0,b.useEffect)(()=>{!A||!j||!N.current||(N.current=!1,e.invalidateQueries({queryKey:i.events(l,S)}))},[A,j,e,l,S]);let[J,je]=(0,b.useState)(``),Y=(0,b.useMemo)(()=>J?P.filter(e=>e.id.toLowerCase().includes(J.toLowerCase())):P,[P,J]),X=F.isPending&&!F.data&&!F.isError,Z=A&&!X&&!V&&W.length===0,Q=F.error??Ae,Me=F.isError&&!F.data,$=(0,b.useCallback)(()=>{F.refetch()},[F]),Ne=async()=>{if(G?.nextCursor){L(!0),R(null);try{let e=await a(T(l,S,G.nextCursor),r.events);I(t=>[...t,e])}catch(e){R(e instanceof Error?e:Error(m(e,`Failed to fetch events.`)))}finally{L(!1)}}};if(Me)return(0,E.jsx)(de,{className:`min-h-full`,children:(0,E.jsx)(`div`,{className:`flex min-h-[40vh] flex-col items-center justify-center p-6 sm:p-12`,children:(0,E.jsx)(`div`,{className:`w-full max-w-md`,children:(0,E.jsx)(o,{message:m(Q,`Failed to fetch events.`),onRetry:$,isRetrying:F.isFetching})})})});let Pe=new Date;return(0,E.jsxs)(`div`,{className:`mx-auto flex w-full max-w-screen-2xl flex-col gap-5 p-4 sm:gap-6 sm:p-6`,children:[Q&&W.length>0?(0,E.jsx)(o,{message:`${m(Q,`Failed to fetch events.`)} Showing cached events.`,onRetry:$,isRetrying:F.isFetching}):null,(0,E.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3 lg:flex-row lg:items-center lg:justify-between lg:gap-4`,children:[(0,E.jsxs)(`div`,{className:`min-w-0 flex flex-col gap-1`,children:[(0,E.jsx)(`h1`,{className:`font-heading text-2xl font-semibold tracking-tight`,children:`Event Log`}),(0,E.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Real-time event stream from the engine.`}),A&&!j?(0,E.jsx)(`p`,{className:`text-xs text-warning`,role:`status`,children:`Live refresh pauses until the Miravo link is live again.`}):null]}),(0,E.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 sm:flex-row sm:flex-nowrap sm:items-center sm:gap-2 lg:w-auto lg:max-w-full`,children:[(0,E.jsx)(`button`,{type:`button`,onClick:()=>Ee(e=>!e),className:`flex h-7 shrink-0 items-center self-start overflow-hidden rounded-[var(--miravo-radius-tight)] border border-border/40 px-2 py-1 text-xs transition-colors hover:bg-muted sm:self-auto`,children:(0,E.jsx)(ne,{mode:`wait`,initial:!1,children:A?(0,E.jsxs)(s.span,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:6},transition:{type:`spring`,stiffness:500,damping:35},className:`flex items-center gap-1.5`,children:[(0,E.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),(0,E.jsx)(`span`,{className:`font-medium text-success`,children:`LIVE`})]},`live`):(0,E.jsxs)(s.span,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:6},transition:{type:`spring`,stiffness:500,damping:35},className:`flex items-center gap-1.5`,children:[(0,E.jsx)(`span`,{className:`size-1.5 rounded-full bg-muted-foreground`}),(0,E.jsx)(`span`,{className:`text-muted-foreground`,children:`Paused`})]},`paused`)})}),(0,E.jsx)(`div`,{className:`min-w-0 flex-1 lg:w-48 lg:flex-none`,children:(0,E.jsxs)(ye,{value:S||null,onValueChange:e=>{k(e??``)},onInputValueChange:je,children:[(0,E.jsx)(_e,{placeholder:`All instances`,className:`h-8 w-full min-w-0`,showClear:!!S}),(0,E.jsx)(he,{children:(0,E.jsxs)(pe,{children:[Y.map(e=>(0,E.jsx)(me,{value:e.id,children:(0,E.jsx)(`span`,{className:`font-mono`,children:e.id})},e.id)),Y.length===0&&(0,E.jsx)(`p`,{className:`py-2 text-center text-xs text-muted-foreground`,children:`No instances found`})]})})]})}),(0,E.jsx)(`div`,{className:`min-w-0 flex-1 lg:w-48 lg:flex-none`,children:(0,E.jsxs)(se,{value:l,onValueChange:e=>{x(e??`all`)},items:xe,children:[(0,E.jsx)(oe,{className:`w-full min-w-0 lg:w-48`,"aria-label":`Event type filter`,children:(0,E.jsx)(ae,{placeholder:`Filter by type`})}),(0,E.jsxs)(d,{alignItemWithTrigger:!1,align:`start`,children:[(0,E.jsx)(u,{value:`all`,children:`All events`}),(0,E.jsx)(u,{value:`fault:triggered`,children:`Fault Triggered`}),(0,E.jsx)(u,{value:`fault:cleared`,children:`Fault Cleared`}),(0,E.jsx)(u,{value:`lifecycle:changed`,children:`Lifecycle Changed`}),(0,E.jsx)(u,{value:`instance:created`,children:`Instance Created`}),(0,E.jsx)(u,{value:`instance:removed`,children:`Instance Removed`}),(0,E.jsx)(u,{value:`engine:state-changed`,children:`Engine State`}),(0,E.jsx)(u,{value:`platform:resource`,children:`Platform Resource`}),(0,E.jsx)(u,{value:`platform:operation`,children:`Platform Operation`})]})]})})]})]}),(0,E.jsx)(ge,{className:`min-w-0 py-0`,children:(0,E.jsx)(ve,{className:`p-0`,children:(0,E.jsxs)(v,{children:[(0,E.jsx)(y,{children:(0,E.jsxs)(g,{children:[(0,E.jsx)(_,{className:`hidden w-12 sm:table-cell`,children:`#`}),(0,E.jsx)(_,{children:`Type`}),(0,E.jsx)(_,{children:`Context`}),(0,E.jsx)(_,{children:`Details`}),(0,E.jsx)(_,{className:`hidden text-right md:table-cell`,children:`Cycle #`}),(0,E.jsx)(_,{className:`hidden text-right sm:table-cell`,children:`Wall Clock`})]})}),(0,E.jsxs)(be,{children:[X&&O.map(e=>(0,E.jsxs)(g,{children:[(0,E.jsx)(h,{className:`hidden sm:table-cell`,children:(0,E.jsx)(`div`,{className:`h-4 w-8 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/40`})}),(0,E.jsx)(h,{children:(0,E.jsx)(`div`,{className:`h-5 w-28 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/40`})}),(0,E.jsx)(h,{children:(0,E.jsx)(`div`,{className:`h-4 w-36 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/30`})}),(0,E.jsx)(h,{children:(0,E.jsx)(`div`,{className:`h-4 w-56 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/30`})}),(0,E.jsx)(h,{className:`hidden md:table-cell`,children:(0,E.jsx)(`div`,{className:`ml-auto h-4 w-16 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/30`})}),(0,E.jsx)(h,{className:`hidden sm:table-cell`,children:(0,E.jsx)(`div`,{className:`ml-auto h-4 w-20 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/30`})})]},e)),W.map(e=>{let t=C(e),n=Te(e),r=e.type===`platform:resource`||e.type===`platform:operation`;return(0,E.jsxs)(g,{className:t?`transition-colors`:``,onMouseEnter:t?()=>p(`/instance/${t}`):void 0,children:[(0,E.jsx)(h,{className:`hidden font-mono text-xs text-muted-foreground sm:table-cell`,children:e.id}),(0,E.jsx)(h,{children:(0,E.jsx)(le,{variant:Se(e.type),className:`text-xs ${Ce(e.type)}`,children:r?e.type===`platform:operation`?`platform:${e.operationType}`:`${e.action}:${e.resourceType}`:e.type})}),(0,E.jsx)(h,{className:`font-mono text-xs`,children:t?(0,E.jsx)(`button`,{type:`button`,className:`rounded-[var(--miravo-radius-tight)] text-left text-primary outline-none underline-offset-4 hover:underline focus-visible:ring-2 focus-visible:ring-ring/70 focus-visible:ring-offset-2 focus-visible:ring-offset-background`,onFocus:()=>p(`/instance/${t}`),onClick:()=>De(`/instance/${t}`,{transitionType:ue}),children:n??t}):n??`—`}),(0,E.jsx)(h,{className:`max-w-xs truncate font-mono text-xs`,children:w(e)||(0,E.jsx)(`span`,{className:`text-muted-foreground`,children:`—`})}),(0,E.jsx)(h,{className:`hidden text-right font-mono text-xs md:table-cell`,children:e.tick}),(0,E.jsx)(h,{className:`hidden text-right text-xs text-muted-foreground sm:table-cell`,children:we(e.timestamp,Pe)})]},e.id)}),Z&&O.map(e=>(0,E.jsxs)(g,{children:[(0,E.jsx)(h,{className:`hidden sm:table-cell`,children:(0,E.jsx)(`div`,{className:`h-4 w-8 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/30`})}),(0,E.jsx)(h,{children:(0,E.jsx)(`div`,{className:`h-5 w-28 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/30`})}),(0,E.jsx)(h,{children:(0,E.jsx)(`div`,{className:`h-4 w-36 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/20`})}),(0,E.jsx)(h,{children:(0,E.jsx)(`div`,{className:`h-4 w-56 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/20`})}),(0,E.jsx)(h,{className:`hidden md:table-cell`,children:(0,E.jsx)(`div`,{className:`ml-auto h-4 w-16 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/20`})}),(0,E.jsx)(h,{className:`hidden sm:table-cell`,children:(0,E.jsx)(`div`,{className:`ml-auto h-4 w-20 animate-pulse rounded-[var(--miravo-radius-tight)] bg-muted/20`})})]},`warmup-${e}`)),!X&&!Z&&W.length===0&&(0,E.jsx)(g,{children:(0,E.jsx)(h,{colSpan:6,className:`py-8 text-center text-muted-foreground`,children:`No events`})})]})]})})}),K&&(0,E.jsx)(`div`,{className:`flex justify-center border-t border-border/40 pt-4`,children:(0,E.jsx)(ie,{variant:`outline`,size:`sm`,onClick:()=>void Ne(),disabled:ke,children:`Load older events`})})]})}export{k as t};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./fleet-CdoQJU1v.js";export{e as FleetPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{s as t}from"./vendor-charts-CAZdaPlq.js";import{at as n}from"./vendor-ui-BcvPjvmT.js";import{S as r,b as i,o as a,x as o}from"./api-DUOCKS6t.js";import{i as s,n as c}from"./dist-jROhexoH.js";import{c as l,n as u}from"./chunk-OE4NN4TA-m2UhO8Q2.js";import{t as d}from"./shallow-ODRQsuRf.js";import{c as f,d as p,g as m,l as h,p as ee,s as g,u as _,v as te,w as ne,x as re,y as v}from"./format-B243kebG.js";import{t as y}from"./utils-CH98NBUe.js";import{t as b}from"./arrow-right-DzTjpAuX.js";import{t as x}from"./arrow-up-down-Dpy1cI5X.js";import{c as S,i as C,n as w,s as ie,t as T}from"./select-TsdpHrOx.js";import{t as ae}from"./circle-question-mark-BwjC8Yj-.js";import{t as E}from"./skeleton-BK5ydi_g.js";import{i as D,n as O,t as k}from"./tooltip-5y0snV5M.js";import{r as A}from"./engine-store-BXfht5ME.js";import{t as j}from"./route-preload-iLKZvgav.js";import{t as oe}from"./badge-Dl0qmCnt.js";import{n as se}from"./transition-types-BNgNegH3.js";import{a as ce,i as le,n as ue,o as de,r as fe,s as pe,t as me}from"./combobox-BqGaRFom.js";import{a as M,c as N,i as he,n as ge,o as P,r as _e,s as ve}from"./select-display-items-C6R8SaIm.js";var F=e(t(),1);function I(e){return o.prefetchQuery({queryKey:i.instances.detail(e),queryFn:()=>a(`/instances/${e}`,r.instanceDetail),staleTime:2e3})}var L=n(),R={success:`bg-success`,warning:`bg-warning`,destructive:`bg-destructive`,foreground:`bg-foreground/60`,primary:`bg-primary`},z={success:`text-success`,warning:`text-warning`,destructive:`text-destructive`,foreground:`text-foreground`,primary:`text-primary`},B={mqtt:`MQTT`,opcua:`OPC UA`,modbus:`Modbus`};function V({label:e,pip:t,pulse:n}){return(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[t&&(n?(0,L.jsxs)(`span`,{"aria-hidden":!0,className:`relative flex size-1.5 shrink-0 items-center justify-center`,children:[(0,L.jsx)(`span`,{className:y(`absolute inline-flex h-full w-full animate-ping rounded-full opacity-75`,R[t])}),(0,L.jsx)(`span`,{className:y(`relative inline-flex size-1.5 rounded-full`,R[t])})]}):(0,L.jsx)(`span`,{"aria-hidden":!0,className:y(`size-1.5 shrink-0 rounded-full`,R[t])})),(0,L.jsx)(`span`,{className:`truncate text-[10px] font-medium uppercase tracking-(--miravo-tracking-eyebrow) text-muted-foreground`,children:e})]})}function H({children:e,tone:t=`foreground`,live:n}){return(0,L.jsx)(`span`,{...n?{role:`status`,"aria-live":`polite`}:{},className:y(`mt-1 block min-w-0 truncate font-mono text-2xl font-semibold tabular-nums leading-none transition-colors duration-300`,z[t]),children:e})}function U({children:e}){return(0,L.jsx)(`span`,{className:`mt-1 min-w-0 truncate text-[10px] text-muted-foreground`,children:e})}function W(e,t){return e===t?``:t}function ye({statusFilter:e,onStatusFilter:t}){let{instances:n,tps:r,memberValueCount:i,availableAdapters:a,adapterMetrics:o}=A(d(e=>({instances:e.instances,tps:e.tps,memberValueCount:e.memberValueCount,availableAdapters:e.availableAdapters,adapterMetrics:e.adapterMetrics}))),s=(0,F.useMemo)(()=>{let e=n.filter(e=>!e.isQuarantined&&e.activeFaults.length===0).length,t=n.filter(e=>!e.isQuarantined&&e.activeFaults.length>0).length,r=n.filter(e=>e.isQuarantined).length,i=n.length;return{healthy:e,faulted:t,quarantined:r,total:i,pct:i>0?Math.round(e/i*100):100,activeFaultCount:n.reduce((e,t)=>e+t.activeFaults.length,0),modelCount:new Set(n.map(e=>e.model)).size,affectedCount:new Set(n.filter(e=>e.activeFaults.length>0).map(e=>e.id)).size}},[n]),c=(0,F.useMemo)(()=>{let e=a.filter(e=>e.enabled);return{enabled:e,totalMessages:e.reduce((e,t)=>e+(o.find(e=>e.name===t.name)?.metrics?.messagesPublished??0),0),totalErrors:e.reduce((e,t)=>e+(o.find(e=>e.name===t.name)?.metrics?.errorsCount??0),0),labels:e.map(e=>B[e.name]??e.name)}},[a,o]),l=s.activeFaultCount>0,f=l?`destructive`:s.quarantined>0?`warning`:`success`,m=l?`faulted`:`healthy`;return(0,L.jsxs)(`section`,{"aria-label":`Fleet status`,className:`flex w-full min-w-0 max-w-full flex-col divide-y divide-border/40 overflow-hidden rounded-(--miravo-radius-stadium-sm) border sm:flex-row sm:divide-x sm:divide-y-0`,children:[(0,L.jsxs)(`button`,{type:`button`,onClick:()=>t(W(e,m)),"aria-pressed":e===`healthy`||e===`faulted`,"aria-label":l?`Filter to faulted instances`:`Filter to healthy instances`,className:y(`flex min-w-0 flex-1 flex-col overflow-hidden px-4 py-3 text-left outline-none transition-colors duration-150`,`hover:bg-muted/40 focus-visible:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`,(e===`healthy`||e===`faulted`)&&`bg-muted/50`),children:[(0,L.jsx)(V,{label:`Health`,pip:f}),(0,L.jsxs)(H,{tone:l?`destructive`:`success`,children:[s.pct,`%`]}),(0,L.jsx)(U,{children:s.total===0?`No instances`:[`${s.total} instance${s.total===1?``:`s`}`,s.faulted>0&&`${s.faulted} faulted`,s.quarantined>0&&`${s.quarantined} quarantined`,`${s.modelCount} model${s.modelCount===1?``:`s`}`].filter(Boolean).join(` · `)})]}),(0,L.jsxs)(`button`,{type:`button`,onClick:()=>t(e===`faulted`?``:`faulted`),"aria-pressed":e===`faulted`,"aria-label":`Filter to faulted instances`,className:y(`flex min-w-0 flex-1 flex-col overflow-hidden px-4 py-3 text-left outline-none transition-colors duration-150`,`hover:bg-muted/40 focus-visible:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`,e===`faulted`&&`bg-muted/50`),children:[(0,L.jsx)(V,{label:`Faults`,pip:l?`destructive`:`success`}),(0,L.jsx)(H,{tone:l?`destructive`:`foreground`,live:!0,children:s.activeFaultCount}),(0,L.jsx)(U,{children:l?`${s.affectedCount} instance${s.affectedCount===1?``:`s`} affected`:`all clear`})]}),(0,L.jsxs)(k,{children:[(0,L.jsxs)(D,{render:(0,L.jsx)(u,{to:`/tags`,"aria-label":`Open tag stream`,className:`flex min-w-0 flex-1 flex-col overflow-hidden px-4 py-3 outline-none transition-colors duration-150 hover:bg-muted/40 focus-visible:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`}),children:[(0,L.jsx)(V,{label:`Tags`,pip:`primary`,pulse:!0}),(0,L.jsx)(H,{children:p(i)}),(0,L.jsxs)(U,{children:[(0,L.jsx)(`span`,{className:`font-mono tabular-nums`,children:r.toFixed(1)}),` tps · live`]})]}),(0,L.jsx)(O,{side:`bottom`,children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-0.5 text-[11px]`,children:[(0,L.jsx)(`span`,{children:`Live tags tracked across the fleet.`}),i>=1e6&&(0,L.jsxs)(`span`,{className:`font-mono tabular-nums text-muted-foreground`,children:[h(i),` tags`]}),(0,L.jsxs)(`span`,{className:`text-muted-foreground`,children:[`Updating at `,(0,L.jsx)(`span`,{className:`font-mono tabular-nums`,children:r.toFixed(1)}),` per second.`]})]})})]}),c.enabled.length>0&&(0,L.jsx)(G,{labels:c.labels,totalMessages:c.totalMessages,totalErrors:c.totalErrors,perAdapter:c.enabled.map(e=>({name:B[e.name]??e.name,metrics:o.find(t=>t.name===e.name)?.metrics}))})]})}function G({labels:e,totalMessages:t,totalErrors:n,perAdapter:r}){return(0,L.jsxs)(k,{children:[(0,L.jsxs)(D,{render:(0,L.jsx)(u,{to:`/control`,"aria-label":`Open control — protocol adapters`,className:`flex min-w-0 flex-1 flex-col overflow-hidden px-4 py-3 outline-none transition-colors duration-150 hover:bg-muted/40 focus-visible:bg-muted/40 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`}),children:[(0,L.jsx)(V,{label:`Protocol`,pip:`primary`,pulse:!0}),(0,L.jsx)(H,{tone:n>0?`warning`:`foreground`,live:!0,children:p(t)}),(0,L.jsxs)(U,{children:[e.join(` · `),n>0&&` · ${n} error${n===1?``:`s`}`]})]}),(0,L.jsx)(O,{side:`bottom`,children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-1 text-[11px]`,children:[(0,L.jsx)(`span`,{children:`Messages published since session start.`}),t>=1e6&&(0,L.jsxs)(`span`,{className:`font-mono tabular-nums text-muted-foreground`,children:[h(t),` total`]}),(0,L.jsx)(`div`,{className:`flex flex-col gap-0.5 border-t border-tooltip-border/60 pt-1`,children:r.map(e=>(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,L.jsxs)(`span`,{className:`font-mono tabular-nums`,children:[h(e.metrics?.messagesPublished??0),` msg`]}),e.metrics&&e.metrics.errorsCount>0&&(0,L.jsxs)(`span`,{className:`font-mono tabular-nums text-destructive`,children:[`· `,e.metrics.errorsCount,` err`]})]},e.name))})]})})]})}var K=`Commissioning → instance is running startup diagnostics. Operating → running normally. Decommissioning → winding down.`;function be(e,t,n){let r=n===`asc`?1:-1;return[...e].sort((e,n)=>{switch(t){case`id`:return e.id.localeCompare(n.id)*r;case`model`:return e.model.localeCompare(n.model)*r;case`lifecycle`:return e.lifecycleStage.localeCompare(n.lifecycleStage)*r;case`hours`:return(e.operatingHours-n.operatingHours)*r;case`faults`:return(e.activeFaults.length-n.activeFaults.length)*r;case`status`:{let t=e=>e.isQuarantined?2:+(e.activeFaults.length>0);return(t(e)-t(n))*r}default:return 0}})}function xe(e){return e===``||e===`healthy`||e===`faulted`||e===`quarantined`}function Se(e){return e.isQuarantined?`quarantined`:e.activeFaults.length>0?`faulted`:`healthy`}var q={healthy:{pip:`bg-success`,ring:`border-success/40 text-success`,label:`healthy`,help:`No active faults, not quarantined.`},faulted:{pip:`bg-warning`,ring:`border-warning/40 text-warning`,label:`faulted`,help:`One or more active faults; instance is still running.`},quarantined:{pip:`bg-destructive`,ring:`border-destructive/40 text-destructive`,label:`quarantined`,help:`Instance isolated from production flows pending review.`}};function Ce({state:e}){let t=q[e];return(0,L.jsxs)(k,{children:[(0,L.jsxs)(D,{render:(0,L.jsx)(`span`,{className:y(`inline-flex h-5 items-center gap-1.5 rounded-(--miravo-radius-pill) border bg-background/30 px-2 text-[11px] font-medium`,t.ring)}),children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:y(`size-1.5 shrink-0 rounded-full`,t.pip)}),(0,L.jsx)(`span`,{children:g(t.label)})]}),(0,L.jsx)(O,{side:`top`,children:t.help})]})}function J({label:e,sortKey:t,subtitle:n,tooltip:r,current:i,direction:a,onSort:o,className:s}){let c=i===t,l=c?a===`asc`?`ascending`:`descending`:`none`,u=(0,L.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 whitespace-nowrap rounded-(--miravo-radius-tight) text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,onClick:()=>o(t),children:[(0,L.jsxs)(`span`,{className:`inline-flex items-baseline gap-1`,children:[(0,L.jsx)(`span`,{children:e}),n&&(0,L.jsx)(`span`,{className:`text-[10px] font-normal text-muted-foreground`,children:n})]}),(0,L.jsx)(x,{className:y(`size-3`,c?`text-foreground`:`text-muted-foreground`),"aria-hidden":!0}),(0,L.jsx)(`span`,{className:`sr-only`,children:c?`, sorted ${a===`asc`?`ascending`:`descending`}. Click to toggle.`:`, click to sort`})]});return(0,L.jsx)(P,{className:s,"aria-sort":l,children:r?(0,L.jsxs)(k,{children:[(0,L.jsx)(D,{render:u}),(0,L.jsx)(O,{side:`top`,children:r})]}):u})}function we({rows:e=6}){return(0,L.jsx)(L.Fragment,{children:Array.from({length:e}).map((e,t)=>(0,L.jsxs)(N,{"aria-hidden":!0,children:[(0,L.jsx)(M,{children:(0,L.jsx)(E,{className:`h-4 w-24`})}),(0,L.jsx)(M,{className:`hidden sm:table-cell`,children:(0,L.jsx)(E,{className:`h-4 w-20`})}),(0,L.jsx)(M,{children:(0,L.jsx)(E,{className:`h-4 w-16`})}),(0,L.jsx)(M,{className:`hidden md:table-cell`,children:(0,L.jsx)(E,{className:`ml-auto h-4 w-14`})}),(0,L.jsx)(M,{children:(0,L.jsx)(E,{className:`h-4 w-6`})}),(0,L.jsx)(M,{children:(0,L.jsx)(E,{className:`h-5 w-20 rounded-(--miravo-radius-pill)`})}),(0,L.jsx)(M,{children:(0,L.jsx)(E,{className:`h-4 w-4`})})]},`skel-${t}`))})}function Y({title:e,body:t,action:n}){return(0,L.jsx)(N,{children:(0,L.jsx)(M,{colSpan:7,className:`py-10`,children:(0,L.jsxs)(`div`,{className:`mx-auto flex max-w-sm flex-col items-center gap-2 text-center`,children:[(0,L.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:e}),(0,L.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t}),n&&(0,L.jsxs)(u,{to:n.href,className:`mt-1 inline-flex items-center gap-1 rounded-(--miravo-radius-tight) text-xs font-medium text-primary outline-none hover:underline focus-visible:ring-2 focus-visible:ring-ring`,children:[n.label,(0,L.jsx)(b,{className:`size-3`,"aria-hidden":!0})]})]})})})}function X(){let{instances:e,connectionState:t}=A(d(e=>({instances:e.instances,connectionState:e.connectionState}))),[n,r]=s(`q`,c.withDefault(``)),[i,a]=s(`model`,c.withDefault(``)),[o,u]=s(`lifecycle`,c.withDefault(``)),[p,h]=s(`status`,c.withDefault(``)),g=xe(p)?p:``,[x,E]=(0,F.useState)(`id`),[R,z]=(0,F.useState)(`asc`),B=(0,F.useRef)(null),V=l(),[H,U]=(0,F.useState)(``);(0,F.useEffect)(()=>{let e=e=>{if(e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target.tagName;t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||(e.preventDefault(),B.current?.focus())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]);let W=(0,F.useCallback)(e=>{e===x?z(e=>e===`asc`?`desc`:`asc`):(E(e),z(`asc`))},[x]),G=(0,F.useCallback)(e=>{h(e===``?``:e)},[h]),q=(0,F.useMemo)(()=>{let t=new Map;for(let n of e)t.set(n.model,(t.get(n.model)??0)+1);return[...t.entries()].sort((e,t)=>e[0].localeCompare(t[0]))},[e]),X=(0,F.useMemo)(()=>[...new Set(e.map(e=>e.lifecycleStage))].sort(),[e]),Te=(0,F.useMemo)(()=>[{value:`all`,label:`All stages`},...X.map(e=>({value:e,label:m(e)}))],[X]),Z=(0,F.useMemo)(()=>H?q.filter(([e])=>v(e,H)):q,[q,H]),Ee=(0,F.useMemo)(()=>i?{value:i,label:_(i)}:null,[i]),Q=(0,F.useMemo)(()=>{let t=e;return i&&(t=t.filter(e=>e.model===i)),o&&(t=t.filter(e=>e.lifecycleStage===o)),n&&(t=t.filter(e=>te(e.id,n)||v(e.model,n))),g===`faulted`&&(t=t.filter(e=>e.activeFaults.length>0)),g===`quarantined`&&(t=t.filter(e=>e.isQuarantined)),g===`healthy`&&(t=t.filter(e=>e.activeFaults.length===0&&!e.isQuarantined)),be(t,x,R)},[e,n,g,i,o,x,R]),De=g!==``||i!==``||o!==``||n!==``,Oe=(0,F.useCallback)(()=>{r(``),h(``),a(``),u(``)},[r,h,a,u]),$=(0,F.useCallback)(e=>{(0,F.startTransition)(()=>{(0,F.addTransitionType)(se),V(`/instance/${e}`)})},[V]),ke=e.length===0&&t!==`live`,Ae=e.length===0&&t===`live`;return(0,L.jsxs)(`div`,{className:`mx-auto flex w-full max-w-screen-2xl flex-col gap-5 p-4 sm:gap-6 sm:p-6`,children:[(0,L.jsx)(`h1`,{className:`font-heading text-2xl font-semibold tracking-tight`,children:`Fleet Overview`}),(0,L.jsx)(ye,{statusFilter:g,onStatusFilter:G}),(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,L.jsxs)(me,{value:Ee,onValueChange:e=>void a(e?.value??``),isItemEqualToValue:(e,t)=>e?.value===t?.value,onInputValueChange:U,children:[(0,L.jsx)(fe,{placeholder:`All models`,className:`h-8 w-48`,showClear:!!i}),(0,L.jsx)(ue,{children:(0,L.jsxs)(ce,{children:[Z.map(([e,t])=>(0,L.jsxs)(le,{value:{value:e,label:_(e)},children:[(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:_(e)}),(0,L.jsxs)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:[`(`,t,`)`]})]},e)),Z.length===0&&(0,L.jsx)(`p`,{className:`py-2 text-center text-xs text-muted-foreground`,children:`No models found`})]})})]}),X.length>1&&(0,L.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,L.jsxs)(T,{value:o||`all`,onValueChange:e=>void u(!e||e===`all`?``:e),items:Te,children:[(0,L.jsx)(ie,{className:`h-8 w-36`,"aria-label":`Lifecycle stage`,children:(0,L.jsx)(S,{placeholder:`All stages`})}),(0,L.jsxs)(w,{alignItemWithTrigger:!1,align:`start`,children:[(0,L.jsx)(C,{value:`all`,children:`All stages`}),X.map(e=>(0,L.jsx)(C,{value:e,children:m(e)},e))]})]}),(0,L.jsxs)(k,{children:[(0,L.jsx)(D,{render:(0,L.jsx)(`button`,{type:`button`,"aria-label":`About lifecycle stages`,className:`flex size-6 items-center justify-center rounded-(--miravo-radius-tight) text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`}),children:(0,L.jsx)(ae,{className:`size-3.5`,"aria-hidden":!0})}),(0,L.jsx)(O,{side:`top`,children:K})]})]}),(0,L.jsxs)(T,{value:g||`all`,onValueChange:e=>void h(!e||e===`all`?``:e),items:ge,children:[(0,L.jsx)(ie,{className:`h-8 w-32`,"aria-label":`Status filter`,children:(0,L.jsx)(S,{placeholder:`All status`})}),(0,L.jsxs)(w,{alignItemWithTrigger:!1,align:`start`,children:[(0,L.jsx)(C,{value:`all`,children:`All status`}),(0,L.jsx)(C,{value:`healthy`,children:`Healthy`}),(0,L.jsx)(C,{value:`faulted`,children:`Faulted`}),(0,L.jsx)(C,{value:`quarantined`,children:`Quarantined`})]})]}),(0,L.jsxs)(`div`,{className:`relative`,children:[(0,L.jsx)(re,{ref:B,placeholder:`Search...`,value:n,onChange:e=>void r(e.target.value),"aria-label":`Search instances by id or model`,className:`h-8 w-40 pr-7 text-xs`}),!n&&(0,L.jsx)(`kbd`,{className:`pointer-events-none absolute top-1/2 right-2 -translate-y-1/2 rounded-(--miravo-radius-tight) border border-border bg-muted px-1 font-mono text-[10px] text-muted-foreground`,children:`/`})]}),De&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`button`,{type:`button`,onClick:Oe,className:`flex items-center gap-1 rounded-(--miravo-radius-tight) px-1 text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,L.jsx)(ne,{className:`size-3`,"aria-hidden":!0}),`Clear`]}),(0,L.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,"aria-live":`polite`,children:[Q.length,` of `,e.length]})]})]}),(0,L.jsx)(de,{className:`py-0`,children:(0,L.jsx)(pe,{className:`p-0 [&_thead_tr_th:last-child]:w-6 [&_thead_tr_th:last-child]:px-1 sm:[&_thead_tr_th:last-child]:w-8 sm:[&_thead_tr_th:last-child]:px-2 [&_tbody_tr_td:last-child]:px-1 sm:[&_tbody_tr_td:last-child]:px-2`,children:(0,L.jsxs)(_e,{children:[(0,L.jsx)(ve,{children:(0,L.jsxs)(N,{children:[(0,L.jsx)(J,{label:`Instance`,sortKey:`id`,current:x,direction:R,onSort:W}),(0,L.jsx)(J,{label:`Model`,sortKey:`model`,current:x,direction:R,onSort:W,className:`hidden sm:table-cell`}),(0,L.jsx)(J,{label:`Lifecycle`,sortKey:`lifecycle`,current:x,direction:R,onSort:W,tooltip:K}),(0,L.jsx)(J,{label:`Operating age`,sortKey:`hours`,current:x,direction:R,onSort:W,tooltip:`Cumulative operating hours since the instance started running.`,className:`hidden text-right md:table-cell`}),(0,L.jsx)(J,{label:`Faults`,sortKey:`faults`,current:x,direction:R,onSort:W,tooltip:`Count of active (uncleared) faults on this instance.`}),(0,L.jsx)(J,{label:`Status`,sortKey:`status`,current:x,direction:R,onSort:W}),(0,L.jsx)(P,{children:(0,L.jsx)(`span`,{className:`sr-only`,children:`Navigate to instance`})})]})}),(0,L.jsx)(he,{children:ke?(0,L.jsx)(we,{rows:6}):Ae?(0,L.jsx)(Y,{title:`No running instances`,body:`Start an environment from the Catalog to see instances.`,action:{label:`Open Catalog`,href:`/catalog`}}):Q.length===0?(0,L.jsx)(Y,{title:`No matches`,body:`Adjust filters or clear them to see the full fleet.`}):Q.map(e=>{let t=Se(e),n=f(e.id);return(0,L.jsxs)(N,{tabIndex:0,"aria-label":`Open instance ${n}`,className:y(`group cursor-pointer outline-none transition-colors`,`focus-visible:bg-sidebar-accent focus-visible:ring-2 focus-visible:ring-ring/70 focus-visible:ring-inset`),onClick:()=>$(e.id),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),$(e.id))},onMouseEnter:()=>{j(`/instance/${e.id}`),I(e.id)},onFocus:()=>{j(`/instance/${e.id}`),I(e.id)},children:[(0,L.jsx)(M,{className:`text-sm`,children:(0,L.jsx)(F.ViewTransition,{name:`instance-${e.id}`,default:`none`,children:(0,L.jsx)(`span`,{className:`inline-flex max-w-full rounded-(--miravo-radius-tight) text-left`,children:n})})}),(0,L.jsx)(M,{className:`hidden text-sm sm:table-cell`,children:_(e.model)}),(0,L.jsx)(M,{children:(0,L.jsx)(oe,{variant:`secondary`,className:`text-xs`,children:m(e.lifecycleStage)})}),(0,L.jsx)(M,{className:`hidden font-mono text-sm md:table-cell`,children:ee(e.operatingHours)}),(0,L.jsx)(M,{children:e.activeFaults.length>0?(0,L.jsxs)(k,{children:[(0,L.jsx)(D,{render:(0,L.jsx)(`span`,{className:`inline-flex h-5 min-w-5 items-center justify-center rounded-(--miravo-radius-pill) bg-destructive/15 px-1.5 font-mono text-[11px] font-semibold tabular-nums text-destructive`}),children:e.activeFaults.length}),(0,L.jsxs)(O,{side:`top`,children:[e.activeFaults.slice(0,4).join(`, `),e.activeFaults.length>4&&` + ${e.activeFaults.length-4} more`]})]}):(0,L.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[(0,L.jsx)(`span`,{className:`sr-only`,children:`no faults`}),(0,L.jsx)(`span`,{"aria-hidden":!0,children:`—`})]})}),(0,L.jsx)(M,{children:(0,L.jsx)(Ce,{state:t})}),(0,L.jsx)(M,{children:(0,L.jsx)(b,{className:`size-3.5 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100`,"aria-hidden":!0})})]},e.id)})})]})})})]})}export{X as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-COnpUsM8.js";import{o as e,s as t}from"./vendor-charts-CAZdaPlq.js";import{at as n,nt as r,tt as i}from"./vendor-ui-BcvPjvmT.js";import{n as a,t as o}from"./utils-CH98NBUe.js";var s=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,c=e,l=(e,t)=>n=>{if(t?.variants==null)return c(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=s(t)||s(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return c(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},u=a(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),d=a(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),f=n(),p=l(`group/button inline-flex shrink-0 items-center justify-center rounded-[var(--miravo-radius-stadium-sm)] border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:border-destructive/50 aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground border-input bg-input/30 hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 bg-destructive/20 hover:bg-destructive/30 focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[var(--miravo-radius-tight)] px-2 text-xs in-data-[slot=button-group]:rounded-[var(--miravo-radius-stadium-sm)] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-7 gap-1 rounded-[var(--miravo-radius-tight)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-[var(--miravo-radius-stadium-sm)] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,icon:`size-8`,"icon-xs":`relative size-6 rounded-[var(--miravo-radius-tight)] in-data-[slot=button-group]:rounded-[var(--miravo-radius-stadium-sm)] [&_svg:not([class*='size-'])]:size-3 before:absolute before:inset-[-10px] before:content-['']`,"icon-sm":`relative size-7 rounded-[var(--miravo-radius-tight)] in-data-[slot=button-group]:rounded-[var(--miravo-radius-stadium-sm)] before:absolute before:inset-[-10px] before:content-['']`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function m({className:e,variant:t=`default`,size:n=`default`,...i}){return(0,f.jsx)(r,{"data-slot":`button`,className:o(p({variant:t,size:n,className:e})),...i})}t();function h({className:e,type:t,...n}){return(0,f.jsx)(i,{type:t,"data-slot":`input`,className:o(`h-8 w-full min-w-0 rounded-[var(--miravo-radius-stadium-sm)] border border-input bg-input/30 px-2.5 py-1 text-xs transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-xs file:font-medium file:text-foreground placeholder:text-muted-foreground hover:bg-input/50 focus-visible:border-primary/35 focus-visible:ring-2 focus-visible:ring-primary/22 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,e),...n})}function g(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function _(e,t){let n=t.trim().toLowerCase();return n?e.toLowerCase().includes(n)||g(e).toLowerCase().includes(n):!0}function v(e,t){let n=t.trim().toLowerCase();return n?e.toLowerCase().includes(n)||O(e).toLowerCase().includes(n):!0}function y(e){return e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function b(e){let t=e.trim();return t&&(t.includes(`_`)?y(t):/^[A-Z][A-Z0-9_-]*$/.test(t)?t:t.charAt(0).toUpperCase()+t.slice(1).toLowerCase())}function x(e){return e.includes(`_`)?b(e):g(e)}var S={degC:`°C`,"m3/h":`m³/h`,"mm/s":`mm/s`,pu:`pu`,"%":`%`};function C(e){return e?S[e]??e:``}var w=`en-US`;function T(e){let t=Math.max(0,Math.trunc(e));return t<1e6?t.toLocaleString(w):new Intl.NumberFormat(w,{notation:`compact`,compactDisplay:`short`,maximumFractionDigits:1}).format(t)}function E(e){return Number.isInteger(e)?Math.abs(e)>=1e4?e.toLocaleString(w):String(e):Math.abs(e)>=100?e.toFixed(1):Math.abs(e)>=1?e.toFixed(2):e.toFixed(3)}function D(e){return e.toLocaleString(w)}function O(e){let t=e.match(/^(.+)-(\d{3,})$/);if(!t)return g(e);let[,n,r]=t;return n?`${g(n)} ${r}`:g(e)}function k(e){return e.join(`/`)}function A(e,t){return`${k(e)}/${t}`}function j(e){let t=Math.round((Number.isFinite(e)&&e>=0?e:0)*60),n=1440,r=Math.floor(t/n),i=t%n,a=Math.floor(i/60),o=i%60;if(r>=365){let e=Math.floor(r/365),t=r%365,n=[`${e}y`];return t>0&&n.push(`${t}d`),a>0&&n.push(`${a}h`),o>0&&n.push(`${o}m`),n.join(` `)}if(r>0){let e=[`${r}d`];return a>0&&e.push(`${a}h`),o>0&&e.push(`${o}m`),e.join(` `)}return a>0?o>0?`${a}h ${o}m`:`${a}h`:o>0?`${o}m`:`0h`}function M(e){return new Date(e).toLocaleString(w)}function N(e){let t=Math.floor((Date.now()-e)/1e3);if(t<60)return`just now`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);return i<30?`${i}d ago`:new Date(e).toLocaleDateString(w,{month:`short`,day:`numeric`})}var P=new Set([`faulted`,`critical`,`stopped`,`emergency`]),F=new Set([`degraded`,`uncertain`]);function I(e){return P.has(e)?`bad`:F.has(e)?`warn`:`neutral`}export{p as C,l as E,m as S,u as T,C as _,k as a,I as b,O as c,T as d,E as f,y as g,x as h,A as i,D as l,N as m,P as n,M as o,j as p,F as r,b as s,w as t,g as u,v,d as w,h as x,_ as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){return e instanceof Error&&e.message.trim().length>0?e.message:typeof e==`string`&&e.trim().length>0?e:t}export{e as t};
|