Release v0.9.329

Automated sync from private repository.
Built with obfuscation enabled.
This commit is contained in:
GitHub Actions Bot
2026-05-07 18:49:18 +00:00
parent 98475ca9bb
commit 2d961cef1a
108 changed files with 132 additions and 132 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ This guide covers **manual** installation of the Console dashboard (without `man
## Prerequisite
An existing [pyMC_Repeater](https://github.com/rightup/pyMC_Repeater) installation. The Console dashboard is served by pyMC_Repeater's CherryPy server; installing it on its own does nothing useful.
An existing [pyMC_Repeater](https://github.com/pyMC-dev/pyMC_Repeater) installation. The Console dashboard is served by pyMC_Repeater's CherryPy server; installing it on its own does nothing useful.
Verify Repeater is installed:
+6 -6
View File
@@ -3,9 +3,9 @@
[![GitHub Release](https://img.shields.io/github/v/release/dmduran12/pymc_console-dist)](https://github.com/dmduran12/pymc_console-dist/releases)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
A real-time web dashboard for [MeshCore](https://meshcore.co.uk/) LoRa mesh repeaters.
A real-time web dashboard for [MeshCore](https://meshcore.io/) LoRa mesh repeaters.
pyMC Console gives you full visibility into your mesh network — packet flow, topology, signal quality, RF metrics, and radio configuration — through a single browser tab. It layers on top of [pyMC_Repeater](https://github.com/rightup/pyMC_Repeater) without modifying it.
pyMC Console gives you full visibility into your mesh network — packet flow, topology, signal quality, RF metrics, and radio configuration — through a single browser tab. It layers on top of [pyMC_Repeater](https://github.com/pyMC-dev/pyMC_Repeater) without modifying it.
---
@@ -19,10 +19,10 @@ pyMC Console gives you full visibility into your mesh network — packet flow, t
### Prerequisite: pyMC_Repeater
The Console dashboard plugs into an existing [pyMC_Repeater](https://github.com/rightup/pyMC_Repeater) install. If you don't already have it running, install it first using upstream's manage.sh:
The Console dashboard plugs into an existing [pyMC_Repeater](https://github.com/pyMC-dev/pyMC_Repeater) install. If you don't already have it running, install it first using upstream's manage.sh:
```bash
git clone https://github.com/rightup/pyMC_Repeater.git
git clone https://github.com/pyMC-dev/pyMC_Repeater.git
cd pyMC_Repeater
sudo ./manage.sh install
```
@@ -428,8 +428,8 @@ MIT — See [LICENSE](LICENSE)
Built on the work of:
- **[RightUp](https://github.com/rightup)** — Creator of pyMC_Repeater, pymc_core, and the MeshCore Python ecosystem
- **[pyMC_Repeater](https://github.com/rightup/pyMC_Repeater)** — Core repeater daemon
- **[pyMC_Repeater](https://github.com/pyMC-dev/pyMC_Repeater)** — Core repeater daemon
- **[pymc_core](https://github.com/rightup/pyMC_core)** — Protocol library
- **[MeshCore](https://meshcore.co.uk/)** — The MeshCore project and community
- **[MeshCore](https://meshcore.io/)** — The MeshCore project and community
- **[d40cht/meshcore-connectivity-analysis](https://github.com/d40cht/meshcore-connectivity-analysis)** — Viterbi HMM approach for path disambiguation
- **[meshcore-bot](https://github.com/agessaman/meshcore-bot)** — Recency scoring and dual-hop anchor disambiguation
+1 -1
View File
@@ -1 +1 @@
0.9.327
0.9.329
@@ -1,4 +1,4 @@
import{e as U,c$ as J,ao as q,aa as G,cF as Q,ct as V,r as d,j as n,bN as K,B as Y}from"./index-z7hs-Lqg.js";import{c as Z}from"./node-types-CYBwvGbl.js";import{C as W}from"./circle-question-mark-CNXiECM0.js";import{F as ee}from"./funnel-CZeXBf0P.js";import{S as te}from"./search-CHa3X7MR.js";/**
import{e as U,c$ as J,ao as q,aa as G,cF as Q,ct as V,r as d,j as n,bN as K,B as Y}from"./index-DeL-WnAD.js";import{c as Z}from"./node-types-CEjkNAjn.js";import{C as W}from"./circle-question-mark-wO4DVjyE.js";import{F as ee}from"./funnel-YJCR8dsc.js";import{S as te}from"./search-CvkXer8T.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{r as o}from"./index-z7hs-Lqg.js";import{u as w}from"./maplibre-gl-3W6k_TGJ.js";const C={light:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",dark:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json"},x={light:"basemap-light-",dark:"basemap-dark-"},k={};async function E(i){if(k[i])return k[i];const t=await(await fetch(C[i])).json();return k[i]=t,t}function R({mode:i}){const{current:l}=w(),[t,b]=o.useState(null),u=o.useRef({light:!1,dark:!1}),m=o.useRef({light:[],dark:[]});o.useEffect(()=>{const e=()=>{var a;const s=(a=l==null?void 0:l.getMap)==null?void 0:a.call(l);s&&!t&&b(s)};e();const r=setInterval(e,50),c=setTimeout(()=>clearInterval(r),5e3);return()=>{clearInterval(r),clearTimeout(c)}},[l,t]);const g=o.useCallback(async(e,r,c)=>{var L,I;if(u.current[r])return;const s=x[r],a=await E(r),d=[];for(const[y,f]of Object.entries(a.sources||{})){const n=s+y;e.getSource(n)||e.addSource(n,f)}const v=(I=(((L=e.getStyle())==null?void 0:L.layers)||[]).find(y=>!y.id.startsWith("basemap-light-")&&!y.id.startsWith("basemap-dark-")))==null?void 0:I.id;for(const y of a.layers||[]){const f=s+y.id;if(d.push(f),e.getLayer(f))continue;const n={...y,id:f};"source"in n&&typeof n.source=="string"&&(n.source=s+n.source),n.layout||(n.layout={}),n.layout.visibility=c?"visible":"none";try{e.addLayer(n,v)}catch(S){console.warn(`[BasemapLayer] Failed to add layer ${f}:`,S)}}m.current[r]=d,u.current[r]=!0},[]),h=o.useCallback((e,r,c)=>{const s=m.current[r],a=c?"visible":"none";for(const d of s)if(e.getLayer(d))try{e.setLayoutProperty(d,"visibility",a)}catch{}},[]),p=o.useCallback(e=>{var s;const c=(((s=e.getStyle())==null?void 0:s.layers)||[]).filter(a=>!a.id.startsWith("basemap-light-")&&!a.id.startsWith("basemap-dark-"));for(const a of c)try{e.moveLayer(a.id)}catch{}},[]);return o.useEffect(()=>{if(!t)return;const e=r=>{t.hasImage(r.id)||t.addImage(r.id,{width:1,height:1,data:new Uint8Array([0,0,0,0])})};return t.on("styleimagemissing",e),()=>{t.off("styleimagemissing",e)}},[t]),o.useEffect(()=>{if(!t)return;let e=!1;const r=async()=>{if(!e)try{await Promise.all([g(t,"light",i==="light"),g(t,"dark",i==="dark")]),e||p(t)}catch(s){console.error("[BasemapLayer] Setup error:",s)}};t.isStyleLoaded()?r():(t.once("style.load",r),t.once("load",()=>{!e&&!u.current.light&&r()}));const c=()=>{e||setTimeout(()=>{!e&&u.current.light&&u.current.dark&&p(t)},100)};return t.on("styledata",c),()=>{e=!0,t.off("styledata",c)}},[t,g,p,i]),o.useEffect(()=>{t&&(!u.current.light||!u.current.dark||(h(t,"light",i==="light"),h(t,"dark",i==="dark")))},[t,i,h]),null}export{R as B};
import{r as o}from"./index-DeL-WnAD.js";import{u as w}from"./maplibre-gl-BFLemsGw.js";const C={light:"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",dark:"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json"},x={light:"basemap-light-",dark:"basemap-dark-"},k={};async function E(i){if(k[i])return k[i];const t=await(await fetch(C[i])).json();return k[i]=t,t}function R({mode:i}){const{current:l}=w(),[t,b]=o.useState(null),u=o.useRef({light:!1,dark:!1}),m=o.useRef({light:[],dark:[]});o.useEffect(()=>{const e=()=>{var a;const s=(a=l==null?void 0:l.getMap)==null?void 0:a.call(l);s&&!t&&b(s)};e();const r=setInterval(e,50),c=setTimeout(()=>clearInterval(r),5e3);return()=>{clearInterval(r),clearTimeout(c)}},[l,t]);const g=o.useCallback(async(e,r,c)=>{var L,I;if(u.current[r])return;const s=x[r],a=await E(r),d=[];for(const[y,f]of Object.entries(a.sources||{})){const n=s+y;e.getSource(n)||e.addSource(n,f)}const v=(I=(((L=e.getStyle())==null?void 0:L.layers)||[]).find(y=>!y.id.startsWith("basemap-light-")&&!y.id.startsWith("basemap-dark-")))==null?void 0:I.id;for(const y of a.layers||[]){const f=s+y.id;if(d.push(f),e.getLayer(f))continue;const n={...y,id:f};"source"in n&&typeof n.source=="string"&&(n.source=s+n.source),n.layout||(n.layout={}),n.layout.visibility=c?"visible":"none";try{e.addLayer(n,v)}catch(S){console.warn(`[BasemapLayer] Failed to add layer ${f}:`,S)}}m.current[r]=d,u.current[r]=!0},[]),h=o.useCallback((e,r,c)=>{const s=m.current[r],a=c?"visible":"none";for(const d of s)if(e.getLayer(d))try{e.setLayoutProperty(d,"visibility",a)}catch{}},[]),p=o.useCallback(e=>{var s;const c=(((s=e.getStyle())==null?void 0:s.layers)||[]).filter(a=>!a.id.startsWith("basemap-light-")&&!a.id.startsWith("basemap-dark-"));for(const a of c)try{e.moveLayer(a.id)}catch{}},[]);return o.useEffect(()=>{if(!t)return;const e=r=>{t.hasImage(r.id)||t.addImage(r.id,{width:1,height:1,data:new Uint8Array([0,0,0,0])})};return t.on("styleimagemissing",e),()=>{t.off("styleimagemissing",e)}},[t]),o.useEffect(()=>{if(!t)return;let e=!1;const r=async()=>{if(!e)try{await Promise.all([g(t,"light",i==="light"),g(t,"dark",i==="dark")]),e||p(t)}catch(s){console.error("[BasemapLayer] Setup error:",s)}};t.isStyleLoaded()?r():(t.once("style.load",r),t.once("load",()=>{!e&&!u.current.light&&r()}));const c=()=>{e||setTimeout(()=>{!e&&u.current.light&&u.current.dark&&p(t)},100)};return t.on("styledata",c),()=>{e=!0,t.off("styledata",c)}},[t,g,p,i]),o.useEffect(()=>{t&&(!u.current.light||!u.current.dark||(h(t,"light",i==="light"),h(t,"dark",i==="dark")))},[t,i,h]),null}export{R as B};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{r as d,j as s,aC as x,aL as m,bZ as g,c as C,aD as f,eJ as j,B as o}from"./index-z7hs-Lqg.js";const u={danger:"text-sys-red",warning:"text-sys-indigo",default:"text-sys-blue"},p={danger:"danger",warning:"warning",default:"primary"};function N({isOpen:n,title:r="Confirm",message:l,confirmLabel:t="Confirm",cancelLabel:i="Cancel",variant:a="default",onConfirm:c,onCancel:e}){return s.jsxs(x,{open:n,onClose:e,size:"sm",children:[s.jsx(m,{icon:s.jsx(g,{className:C("w-5 h-5",u[a])}),title:r,onClose:e}),s.jsx(f,{children:s.jsx("p",{className:"text-sm text-fg-secondary",children:l})}),s.jsxs(j,{children:[s.jsx(o,{color:"muted",onClick:e,className:"flex-1",children:i}),s.jsx(o,{color:p[a],onClick:c,className:"flex-1",children:t})]})]})}const y=d.memo(N);export{y as C};
import{r as d,j as s,aC as x,aL as m,bZ as g,c as C,aD as f,eJ as j,B as o}from"./index-DeL-WnAD.js";const u={danger:"text-sys-red",warning:"text-sys-indigo",default:"text-sys-blue"},p={danger:"danger",warning:"warning",default:"primary"};function N({isOpen:n,title:r="Confirm",message:l,confirmLabel:t="Confirm",cancelLabel:i="Cancel",variant:a="default",onConfirm:c,onCancel:e}){return s.jsxs(x,{open:n,onClose:e,size:"sm",children:[s.jsx(m,{icon:s.jsx(g,{className:C("w-5 h-5",u[a])}),title:r,onClose:e}),s.jsx(f,{children:s.jsx("p",{className:"text-sm text-fg-secondary",children:l})}),s.jsxs(j,{children:[s.jsx(o,{color:"muted",onClick:e,className:"flex-1",children:i}),s.jsx(o,{color:p[a],onClick:c,className:"flex-1",children:t})]})]})}const y=d.memo(N);export{y as C};
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e as Sr,an as xa,r as R,gB as wa,cv as va,dq as ba,dr as ka,j as m,aC as Co,ds as Ca,aD as Eo,m as Jt,a0 as Wn,aE as So,c as Cn,a2 as Z0,O as lr,Z as vn,gC as q0,gD as Mo,gE as Ea,ck as Sa,cr as Ma,ct as Ba,dV as Bo,ap as Do,aF as _o,d as Cr,b as En,B as Nt,dH as Da,cm as ms,E as Gs,S as Us,dy as To,t as Ro,d0 as jo,aa as Io,bN as Sn,bJ as xi,gF as Lo,Q as _a,a6 as Ta,dG as Ra,gG as ja,az as No,bU as wi,bW as Ia,a1 as J0,a3 as X0,co as La,ba as Na,f1 as Fo,gH as Fa,gI as Pa,dI as Qa,dJ as Oa,gJ as za,gK as Ha,aS as Po,V as gt,gL as Ga,gM as Qo,gN as Ua,ao as Er,bQ as Oo,dx as Va,gO as zo,gP as Ho,cc as Wa,gz as Ya,cf as $a,dv as Go,dz as Ka,ab as Za,gQ as qa,fd as Ja,gR as ps,ga as Xa,fJ as Au,gS as eu}from"./index-z7hs-Lqg.js";import{u as Or,S as Qr,L as qt,M as tu,b as ru}from"./maplibre-gl-3W6k_TGJ.js";import{u as Uo,r as Vo,e as vi,f as bi,g as nu}from"./consumer-registry-Kxz4-wmw.js";import{L as U0,c as su}from"./link-scoring-Dx3njF26.js";import{C as iu}from"./ConfirmModal-DVgg2LDA.js";import{s as ou,a as lu,M as au}from"./variants-DFt7pJMW.js";import{G as Ms}from"./git-branch-CrbiSRrH.js";import{D as uu}from"./database-DHMkN_yj.js";import{H as cu,A as g0,D as ki,p as fu,c as hu,u as mn}from"./useMapViewStore-B-Ab549x.js";import{E as Wo}from"./target-CHuJS-f4.js";import{F as du}from"./funnel-CZeXBf0P.js";import{P as mu}from"./plus-Yu_0ESGn.js";import{C as pu}from"./compass-C3bBZPXT.js";import{Z as gu}from"./zap-B82camuC.js";import{b as yu,e as xu,a as Yo,m as Ci,E as wu,u as vu,G as bu,g as ku,d as Cu,f as Eu}from"./max-Cq0U86Y9.js";import{T as Su}from"./trash-2-BVyYcCQC.js";import{W as Mu}from"./wifi-off-MDa7FobF.js";import{W as Bu}from"./wifi-BFiLEOlF.js";import{C as Du}from"./circle-alert-DkP7i5G0.js";import{C as $o}from"./clock-DsNceNiK.js";import{C as _u}from"./chevron-right-CiEPb31Z.js";import{u as Vs,a as Ko,b as Zo,c as Tu,d as Ru,e as Ws,f as Ei,R as ju,g as Iu,h as qo,t as Lu,i as Nu,j as Fu,k as Pu}from"./useReplayTick-B_G8t9hI.js";import{L as Qu}from"./LightSparkline-BcBmxZxl.js";import{P as Jo,R as Ou}from"./Contacts-DhCju_B8.js";import{H as Y0,C as ar,N as zu,a as Hu}from"./badge-colors-Dl76Mz8m.js";import{M as Gu}from"./map-pin-DWLRe_Vl.js";import{c as Si}from"./node-types-CYBwvGbl.js";import{B as Uu}from"./BasemapLayer-D10OX3L_.js";import{a as Xo,b as Bs,c as Vu}from"./easing-BTXA1k_G.js";import"./index-C1Lbv_wQ.js";import"./index-DFuVRsCa.js";import"./payload-detail-B90vdWlt.js";import"./usePipelineStore-BqUY7u1A.js";import"./PageLayout-ibbqk_Rx.js";import"./listbox-BWrtV3zq.js";import"./element-movement-AoU05aAV.js";import"./use-text-value-CEIvTQXU.js";import"./frozen-DV2SMiP_.js";import"./MqttModeBadge-4kHiU4IG.js";import"./chat-utils-ZzeUIRDA.js";import"./SignalIndicator-pCoe-QGq.js";import"./CollisionExplorerModal-o9IMK6Zk.js";import"./share-2-BC_lE14L.js";import"./circle-question-mark-CNXiECM0.js";import"./map-pin-off-BoSoOUD8.js";import"./activity-BbFqmThD.js";import"./search-CHa3X7MR.js";/**
import{e as Sr,an as xa,r as R,gB as wa,cv as va,dq as ba,dr as ka,j as m,aC as Co,ds as Ca,aD as Eo,m as Jt,a0 as Wn,aE as So,c as Cn,a2 as Z0,O as lr,Z as vn,gC as q0,gD as Mo,gE as Ea,ck as Sa,cr as Ma,ct as Ba,dV as Bo,ap as Do,aF as _o,d as Cr,b as En,B as Nt,dH as Da,cm as ms,E as Gs,S as Us,dy as To,t as Ro,d0 as jo,aa as Io,bN as Sn,bJ as xi,gF as Lo,Q as _a,a6 as Ta,dG as Ra,gG as ja,az as No,bU as wi,bW as Ia,a1 as J0,a3 as X0,co as La,ba as Na,f1 as Fo,gH as Fa,gI as Pa,dI as Qa,dJ as Oa,gJ as za,gK as Ha,aS as Po,V as gt,gL as Ga,gM as Qo,gN as Ua,ao as Er,bQ as Oo,dx as Va,gO as zo,gP as Ho,cc as Wa,gz as Ya,cf as $a,dv as Go,dz as Ka,ab as Za,gQ as qa,fd as Ja,gR as ps,ga as Xa,fJ as Au,gS as eu}from"./index-DeL-WnAD.js";import{u as Or,S as Qr,L as qt,M as tu,b as ru}from"./maplibre-gl-BFLemsGw.js";import{u as Uo,r as Vo,e as vi,f as bi,g as nu}from"./consumer-registry-IlWx8XVx.js";import{L as U0,c as su}from"./link-scoring-CR4LXwXV.js";import{C as iu}from"./ConfirmModal-CRhLoJv2.js";import{s as ou,a as lu,M as au}from"./variants-D8tntEUw.js";import{G as Ms}from"./git-branch-CiPZ-Y2m.js";import{D as uu}from"./database-BVbFSsby.js";import{H as cu,A as g0,D as ki,p as fu,c as hu,u as mn}from"./useMapViewStore-DU2_9KS8.js";import{E as Wo}from"./target-B8glVfxy.js";import{F as du}from"./funnel-YJCR8dsc.js";import{P as mu}from"./plus-BvkzSqcH.js";import{C as pu}from"./compass-SSAjJwWn.js";import{Z as gu}from"./zap-DWKOi72w.js";import{b as yu,e as xu,a as Yo,m as Ci,E as wu,u as vu,G as bu,g as ku,d as Cu,f as Eu}from"./max-D9rMvI7U.js";import{T as Su}from"./trash-2-BfXyuy1h.js";import{W as Mu}from"./wifi-off-BI0K7wj-.js";import{W as Bu}from"./wifi-Dq72XQWh.js";import{C as Du}from"./circle-alert-C9s8rj_A.js";import{C as $o}from"./clock-BMRLDRe_.js";import{C as _u}from"./chevron-right-DkuFuhe4.js";import{u as Vs,a as Ko,b as Zo,c as Tu,d as Ru,e as Ws,f as Ei,R as ju,g as Iu,h as qo,t as Lu,i as Nu,j as Fu,k as Pu}from"./useReplayTick-ChX8ftH-.js";import{L as Qu}from"./LightSparkline-DqkZo3TQ.js";import{P as Jo,R as Ou}from"./Contacts-DfKUHo6F.js";import{H as Y0,C as ar,N as zu,a as Hu}from"./badge-colors-Dl76Mz8m.js";import{M as Gu}from"./map-pin-BVSMcVYI.js";import{c as Si}from"./node-types-CEjkNAjn.js";import{B as Uu}from"./BasemapLayer-gTESIItF.js";import{a as Xo,b as Bs,c as Vu}from"./easing-Bef26SeD.js";import"./index-h4zodNdb.js";import"./index-wSLd8OPk.js";import"./payload-detail-x6Ma7CKa.js";import"./usePipelineStore-Bx48HYNJ.js";import"./PageLayout-B5m1JzIf.js";import"./listbox-DzftT-wi.js";import"./element-movement-eLpyUu99.js";import"./use-text-value-i8qr2Qnh.js";import"./frozen-C7O8J2rf.js";import"./MqttModeBadge-CoW4d9oi.js";import"./chat-utils-CfjOeEHb.js";import"./SignalIndicator-DlKW4KRb.js";import"./CollisionExplorerModal-DxxgWBq_.js";import"./share-2-DqmKi5Rt.js";import"./circle-question-mark-wO4DVjyE.js";import"./map-pin-off-Cf_Dixpd.js";import"./activity-BgjB7QYN.js";import"./search-CvkXer8T.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{r as a,cZ as d,j as o,c_ as N}from"./index-z7hs-Lqg.js";import{A as g}from"./index-C1Lbv_wQ.js";const I=a.memo(function({value:t,format:e,prefix:r,suffix:s,className:n,priority:m="medium"}){const[u,p]=a.useState(!1),[f,l]=a.useState(t);a.useEffect(()=>d(()=>{p(!0),l(0)},m),[m]),a.useEffect(()=>{u&&l(t)},[u,t]);const A=`${r??""}${t.toLocaleString(void 0,e)}${s??""}`;return u?o.jsx(g,{className:`${n??""} overflow-hidden`,format:e,prefix:r,suffix:s,transition:N.numberTicker,children:f}):o.jsx("span",{className:n,children:A})}),x={",":"punc",".":"punc-period",":":"punc-colon","/":"punc-slash"},c=/([,\.:\/])/g;function j(i){return i.split(c).map((e,r)=>{const s=x[e];return s?o.jsx("span",{className:s,children:e},r):e})}const S=a.memo(function({children:t,className:e="",as:r="span"}){const s=a.useMemo(()=>{let n;return typeof t=="number"?n=t.toLocaleString():Array.isArray(t)?n=t.join(""):n=String(t??""),c.test(n)?(c.lastIndex=0,j(n)):n},[t]);return o.jsx(r,{className:`data-tight ${e}`.trim(),children:s})});export{I as A,S as D};
import{r as a,cZ as d,j as o,c_ as N}from"./index-DeL-WnAD.js";import{A as g}from"./index-h4zodNdb.js";const I=a.memo(function({value:t,format:e,prefix:r,suffix:s,className:n,priority:m="medium"}){const[u,p]=a.useState(!1),[f,l]=a.useState(t);a.useEffect(()=>d(()=>{p(!0),l(0)},m),[m]),a.useEffect(()=>{u&&l(t)},[u,t]);const A=`${r??""}${t.toLocaleString(void 0,e)}${s??""}`;return u?o.jsx(g,{className:`${n??""} overflow-hidden`,format:e,prefix:r,suffix:s,transition:N.numberTicker,children:f}):o.jsx("span",{className:n,children:A})}),x={",":"punc",".":"punc-period",":":"punc-colon","/":"punc-slash"},c=/([,\.:\/])/g;function j(i){return i.split(c).map((e,r)=>{const s=x[e];return s?o.jsx("span",{className:s,children:e},r):e})}const S=a.memo(function({children:t,className:e="",as:r="span"}){const s=a.useMemo(()=>{let n;return typeof t=="number"?n=t.toLocaleString():Array.isArray(t)?n=t.join(""):n=String(t??""),c.test(n)?(c.lastIndex=0,j(n)):n},[t]);return o.jsx(r,{className:`data-tight ${e}`.trim(),children:s})});export{I as A,S as D};
@@ -1 +1 @@
import{r as b,j as c,c as d}from"./index-z7hs-Lqg.js";const g={hero:{mobile:12},"hero-tall":{mobile:12},"hero-auto":{mobile:12},panel:{mobile:12,md:6},feature:{mobile:12,md:6,lg:4},standard:{mobile:12,sm:6,lg:4,xl:3},compact:{mobile:6,lg:3},widget:{mobile:6,sm:4,md:3,lg:2},auto:{mobile:12}},p={hero:"bento-row-hero","hero-tall":"bento-row-hero-tall","hero-auto":"bento-row-hero-auto",panel:"bento-row-panel",feature:"bento-row-feature",standard:"bento-row-standard",compact:"bento-row-compact",widget:"bento-row-widget",auto:"bento-row-auto"};function w({template:o,children:r,className:e,gap:n}){const t=g[o],m=p[o],a=n==="none"?"gap-0":n==="sm"?"bento-gap-sm":n==="lg"?"bento-gap-lg":"bento-gap",i=b.Children.map(r,l=>!b.isValidElement(l)||l.type===u?l:c.jsx(u,{span:t.mobile,sm:t.sm,md:t.md,lg:t.lg,xl:t.xl,children:l}));return c.jsx("div",{className:d("bento-row",m,a,e),children:i})}function s(o,r=""){const e=r?`${r}:`:"";return o==="full"?`${e}col-span-full`:o==="auto"?`${e}col-auto`:o===1.5?`${e}bento-col-1-5`:`${e}bento-col-${o}`}function u({children:o,span:r,sm:e,md:n,lg:t,xl:m,ratio:a,className:i}){const l=d("bento-cell",s(r),e&&s(e,"sm"),n&&s(n,"md"),t&&s(t,"lg"),m&&s(m,"xl"),i);return c.jsx("div",{className:l,"data-ratio":a??void 0,style:a?{"--cell-ratio":a}:void 0,children:o})}export{u as C,w as R};
import{r as b,j as c,c as d}from"./index-DeL-WnAD.js";const g={hero:{mobile:12},"hero-tall":{mobile:12},"hero-auto":{mobile:12},panel:{mobile:12,md:6},feature:{mobile:12,md:6,lg:4},standard:{mobile:12,sm:6,lg:4,xl:3},compact:{mobile:6,lg:3},widget:{mobile:6,sm:4,md:3,lg:2},auto:{mobile:12}},p={hero:"bento-row-hero","hero-tall":"bento-row-hero-tall","hero-auto":"bento-row-hero-auto",panel:"bento-row-panel",feature:"bento-row-feature",standard:"bento-row-standard",compact:"bento-row-compact",widget:"bento-row-widget",auto:"bento-row-auto"};function w({template:o,children:r,className:e,gap:n}){const t=g[o],m=p[o],a=n==="none"?"gap-0":n==="sm"?"bento-gap-sm":n==="lg"?"bento-gap-lg":"bento-gap",i=b.Children.map(r,l=>!b.isValidElement(l)||l.type===u?l:c.jsx(u,{span:t.mobile,sm:t.sm,md:t.md,lg:t.lg,xl:t.xl,children:l}));return c.jsx("div",{className:d("bento-row",m,a,e),children:i})}function s(o,r=""){const e=r?`${r}:`:"";return o==="full"?`${e}col-span-full`:o==="auto"?`${e}col-auto`:o===1.5?`${e}bento-col-1-5`:`${e}bento-col-${o}`}function u({children:o,span:r,sm:e,md:n,lg:t,xl:m,ratio:a,className:i}){const l=d("bento-cell",s(r),e&&s(e,"sm"),n&&s(n,"md"),t&&s(t,"lg"),m&&s(m,"xl"),i);return c.jsx("div",{className:l,"data-ratio":a??void 0,style:a?{"--cell-ratio":a}:void 0,children:o})}export{u as C,w as R};
@@ -1 +1 @@
import{r as l,j as t,Z as O}from"./index-z7hs-Lqg.js";import{b as F,c as x}from"./keycap-sfx-ByZp-njj.js";const R={a:"24,3 76,3 83,7 76,11 24,11 17,7",b:"88,22 93,27 93,71 88,76 83,71 83,27",c:"88,106 93,111 93,155 88,160 83,155 83,111",d:"24,171 76,171 83,175 76,179 24,179 17,175",e:"12,106 17,111 17,155 12,160 7,155 7,111",f:"12,22 17,27 17,71 12,76 7,71 7,27",g:"24,86 76,86 83,91 76,96 24,96 17,91"},w=Object.keys(R),N={0:"abcdef",1:"bc",2:"abdeg",3:"abcdg",4:"bcfg",5:"acdfg",6:"acdefg",7:"abc",8:"abcdefg",9:"abcdfg",A:"abcefg",B:"cdefg",C:"adef",D:"bcdeg",E:"adefg",F:"aefg",G:"acdef",H:"bcefg",I:"ef",J:"bcde",L:"def",M:"abcefg",N:"ceg",O:"abcdef",P:"abefg",Q:"abcfg",R:"eg",S:"acdfg",T:"defg",U:"bcdef",V:"cde",Y:"bcdfg",Z:"abdeg",a:"abcefg",b:"cdefg",c:"deg",d:"bcdeg",e:"adefg",f:"aefg",g:"abcdfg",h:"cefg",i:"c",j:"bcde",l:"def",m:"abcef",n:"ceg",o:"cdeg",p:"abefg",r:"eg",s:"acdfg",t:"defg",u:"cde",v:"cde",y:"bcdfg"," ":"",_:"d","-":"g","=":"dg","°":"abfg",'"':"bf","'":"f","(":"adef",")":"abcd","[":"adef","]":"abcd","!":"bc",".":"d"},C=6,D=56,L=2;function B(){return w.filter(()=>Math.random()>.45).join("")}function $(r,i){const n=Array.from(r).map(a=>N[a.toUpperCase()]??N[a]??""),d=Math.max(0,(i??0)-r.length);for(let a=0;a<d;a++)n.push("");return n}function Y({text:r,color:i="currentColor",size:n=18,minChars:d,noCycle:a=!1,className:S}){const h=Math.round(n*.5494505494505495),M=document.documentElement.dataset.mode==="light"?.08:.16,[T,f]=l.useState(null);l.useEffect(()=>{if(a)return;const e=$(r,d),o=e.length,g=C+(o-1)*L;let y=0,b,E=!1;const k=()=>{if(!E){if(y++,y>=g){f(null);return}f(e.map((j,_)=>{const v=C+_*L;return y>=v?j:B()})),b=setTimeout(k,D)}};return k(),()=>{E=!0,clearTimeout(b)}},[r,d,a]);const c=(e,o)=>t.jsx("svg",{viewBox:"0 0 100 182",width:h,height:n,className:"seven-seg__char","aria-hidden":"true",children:w.map(g=>t.jsx("polygon",{points:R[g],fill:i,stroke:i,strokeWidth:4,strokeLinejoin:"round",opacity:e.includes(g)?1:M},g))},o),s=$(r,d),u=T??s;return t.jsxs("span",{className:`seven-seg${S?` ${S}`:""}`,children:[u.map((e,o)=>c(e,`${o}-${e}`)),t.jsx("span",{className:"sr-only",children:r})]})}const G={grey:"/assets/keycap.svg",red:"/assets/keycap-red.svg"},I=O[900],P="#FFDEB0";function Z({icon:r,variant:i="grey",onClick:n,onPress:d,sentDuration:a=2e3,title:S,disabled:h=!1,className:m,iconColor:M=I,iconActiveColor:T=P,indicators:f}){const c=!!d,[s,u]=l.useState("idle"),[e,o]=l.useState(!1),g=l.useRef(),y=c?s==="held":e,b=c&&(s==="sending"||s==="sent"),E=c?s==="held"||s==="sending":e;l.useEffect(()=>()=>clearTimeout(g.current),[]);const k=l.useCallback(()=>{h||b||(F(),c?u("held"):o(!0))},[h,b,c]),j=l.useCallback(async()=>{if(c){if(s!=="held")return;x(),u("sending");const p=await d();u(p?"sent":"idle"),p&&(g.current=setTimeout(()=>u("idle"),a))}else{if(!e)return;o(!1),x(),n==null||n()}},[c,s,d,a,e,n]),_=l.useCallback(()=>{c?s==="held"&&(x(),u("idle")):(e&&x(),o(!1))},[c,s,e]),v=t.jsx("button",{onMouseDown:k,onMouseUp:j,onMouseLeave:_,onTouchStart:k,onTouchEnd:j,onTouchCancel:_,disabled:h||b,className:`keycap-btn${i==="red"?" keycap-btn--red-cap":""}${E?" keycap-btn--pressed":""}${m&&!f?` ${m}`:""}`,title:S,children:t.jsxs("div",{className:"keycap-wrap",children:[t.jsx("img",{src:G[i],alt:"",className:"keycap-btn__img",draggable:!1}),t.jsx("span",{className:"keycap-icon-overlay",style:{color:y||s==="sending"?T:M},children:r})]})});return f!=null&&f.length?t.jsxs("div",{className:`keycap-group${m?` ${m}`:""}`,children:[v,t.jsx("div",{className:"indicator-key-pair",children:f.map(p=>{const A=p.trackPress?s:p.active?"active":"idle";return t.jsxs("div",{className:`indicator-key${A!=="idle"?` indicator-key--${A}`:""}`,children:[t.jsx("span",{className:"indicator-key__label",children:p.label}),t.jsx("span",{className:"indicator-key__led"})]},p.label)})})]}):v}export{Z as K,Y as S};
import{r as l,j as t,Z as O}from"./index-DeL-WnAD.js";import{b as F,c as x}from"./keycap-sfx-ByZp-njj.js";const R={a:"24,3 76,3 83,7 76,11 24,11 17,7",b:"88,22 93,27 93,71 88,76 83,71 83,27",c:"88,106 93,111 93,155 88,160 83,155 83,111",d:"24,171 76,171 83,175 76,179 24,179 17,175",e:"12,106 17,111 17,155 12,160 7,155 7,111",f:"12,22 17,27 17,71 12,76 7,71 7,27",g:"24,86 76,86 83,91 76,96 24,96 17,91"},w=Object.keys(R),N={0:"abcdef",1:"bc",2:"abdeg",3:"abcdg",4:"bcfg",5:"acdfg",6:"acdefg",7:"abc",8:"abcdefg",9:"abcdfg",A:"abcefg",B:"cdefg",C:"adef",D:"bcdeg",E:"adefg",F:"aefg",G:"acdef",H:"bcefg",I:"ef",J:"bcde",L:"def",M:"abcefg",N:"ceg",O:"abcdef",P:"abefg",Q:"abcfg",R:"eg",S:"acdfg",T:"defg",U:"bcdef",V:"cde",Y:"bcdfg",Z:"abdeg",a:"abcefg",b:"cdefg",c:"deg",d:"bcdeg",e:"adefg",f:"aefg",g:"abcdfg",h:"cefg",i:"c",j:"bcde",l:"def",m:"abcef",n:"ceg",o:"cdeg",p:"abefg",r:"eg",s:"acdfg",t:"defg",u:"cde",v:"cde",y:"bcdfg"," ":"",_:"d","-":"g","=":"dg","°":"abfg",'"':"bf","'":"f","(":"adef",")":"abcd","[":"adef","]":"abcd","!":"bc",".":"d"},C=6,D=56,L=2;function B(){return w.filter(()=>Math.random()>.45).join("")}function $(r,i){const n=Array.from(r).map(a=>N[a.toUpperCase()]??N[a]??""),d=Math.max(0,(i??0)-r.length);for(let a=0;a<d;a++)n.push("");return n}function Y({text:r,color:i="currentColor",size:n=18,minChars:d,noCycle:a=!1,className:S}){const h=Math.round(n*.5494505494505495),M=document.documentElement.dataset.mode==="light"?.08:.16,[T,f]=l.useState(null);l.useEffect(()=>{if(a)return;const e=$(r,d),o=e.length,g=C+(o-1)*L;let y=0,b,E=!1;const k=()=>{if(!E){if(y++,y>=g){f(null);return}f(e.map((j,_)=>{const v=C+_*L;return y>=v?j:B()})),b=setTimeout(k,D)}};return k(),()=>{E=!0,clearTimeout(b)}},[r,d,a]);const c=(e,o)=>t.jsx("svg",{viewBox:"0 0 100 182",width:h,height:n,className:"seven-seg__char","aria-hidden":"true",children:w.map(g=>t.jsx("polygon",{points:R[g],fill:i,stroke:i,strokeWidth:4,strokeLinejoin:"round",opacity:e.includes(g)?1:M},g))},o),s=$(r,d),u=T??s;return t.jsxs("span",{className:`seven-seg${S?` ${S}`:""}`,children:[u.map((e,o)=>c(e,`${o}-${e}`)),t.jsx("span",{className:"sr-only",children:r})]})}const G={grey:"/assets/keycap.svg",red:"/assets/keycap-red.svg"},I=O[900],P="#FFDEB0";function Z({icon:r,variant:i="grey",onClick:n,onPress:d,sentDuration:a=2e3,title:S,disabled:h=!1,className:m,iconColor:M=I,iconActiveColor:T=P,indicators:f}){const c=!!d,[s,u]=l.useState("idle"),[e,o]=l.useState(!1),g=l.useRef(),y=c?s==="held":e,b=c&&(s==="sending"||s==="sent"),E=c?s==="held"||s==="sending":e;l.useEffect(()=>()=>clearTimeout(g.current),[]);const k=l.useCallback(()=>{h||b||(F(),c?u("held"):o(!0))},[h,b,c]),j=l.useCallback(async()=>{if(c){if(s!=="held")return;x(),u("sending");const p=await d();u(p?"sent":"idle"),p&&(g.current=setTimeout(()=>u("idle"),a))}else{if(!e)return;o(!1),x(),n==null||n()}},[c,s,d,a,e,n]),_=l.useCallback(()=>{c?s==="held"&&(x(),u("idle")):(e&&x(),o(!1))},[c,s,e]),v=t.jsx("button",{onMouseDown:k,onMouseUp:j,onMouseLeave:_,onTouchStart:k,onTouchEnd:j,onTouchCancel:_,disabled:h||b,className:`keycap-btn${i==="red"?" keycap-btn--red-cap":""}${E?" keycap-btn--pressed":""}${m&&!f?` ${m}`:""}`,title:S,children:t.jsxs("div",{className:"keycap-wrap",children:[t.jsx("img",{src:G[i],alt:"",className:"keycap-btn__img",draggable:!1}),t.jsx("span",{className:"keycap-icon-overlay",style:{color:y||s==="sending"?T:M},children:r})]})});return f!=null&&f.length?t.jsxs("div",{className:`keycap-group${m?` ${m}`:""}`,children:[v,t.jsx("div",{className:"indicator-key-pair",children:f.map(p=>{const A=p.trackPress?s:p.active?"active":"idle";return t.jsxs("div",{className:`indicator-key${A!=="idle"?` indicator-key--${A}`:""}`,children:[t.jsx("span",{className:"indicator-key__label",children:p.label}),t.jsx("span",{className:"indicator-key__led"})]},p.label)})})]}):v}export{Z as K,Y as S};
@@ -1 +1 @@
import{r as y,j as t}from"./index-z7hs-Lqg.js";const m="var(--sys-cyan)",k="var(--sys-blue)",v="var(--sys-indigo)",I="var(--sparkline-critical)",g="var(--fg-muted)";function C(d,o,e,s=2){if(d.length<2)return"";const r=d.map(n=>n.count),u=Math.max(...r,1),p=Math.min(...r),l=u-p||1,j=o-s*2,a=e-s*2,i=r.map((n,c)=>({x:s+c/(r.length-1)*j,y:s+a-(n-p)/l*a}));let x=`M ${i[0].x.toFixed(1)} ${i[0].y.toFixed(1)}`;for(let n=1;n<i.length;n++){const c=i[n-1],f=i[n],$=(c.x+f.x)/2;x+=` Q ${$.toFixed(1)} ${c.y.toFixed(1)} ${f.x.toFixed(1)} ${f.y.toFixed(1)}`}return x}const L=y.memo(function({data:o,width:e=48,height:s=16,color:r,invertScale:u=!1,isLoading:p=!1,className:l=""}){const a=`sl-${y.useId().replace(/:/g,"")}`,i=y.useMemo(()=>C(o,e,s),[o,e,s]),x=!r&&o.length>=2,n=r??(x?`url(#${a})`:g),c=l.includes("w-");return p&&o.length<2?t.jsx("div",{className:`flex items-center justify-center ${l}`,style:c?{height:s}:{width:e,height:s},children:t.jsx("div",{className:"rounded animate-pulse bg-subtle-fill-hover",style:c?{width:"100%",height:s-6}:{width:e-8,height:s-6}})}):o.length<2?t.jsx("svg",{width:e,height:s,viewBox:`0 0 ${e} ${s}`,className:l,"aria-hidden":"true",children:t.jsx("line",{x1:4,y1:s/2,x2:e-4,y2:s/2,stroke:I,strokeWidth:1.5,strokeDasharray:"3,2"})}):t.jsxs("svg",{width:e,height:s,viewBox:`0 0 ${e} ${s}`,preserveAspectRatio:"none",className:l,"aria-hidden":"true",style:{maxWidth:"100%"},children:[x&&t.jsx("defs",{children:t.jsxs("linearGradient",{id:a,gradientUnits:"userSpaceOnUse",x1:0,y1:2,x2:0,y2:s-2,children:[t.jsx("stop",{offset:"0%",stopColor:u?v:m}),t.jsx("stop",{offset:"50%",stopColor:k}),t.jsx("stop",{offset:"100%",stopColor:u?m:v})]})}),t.jsx("path",{d:i,fill:"none",stroke:n,strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]})});export{L};
import{r as y,j as t}from"./index-DeL-WnAD.js";const m="var(--sys-cyan)",k="var(--sys-blue)",v="var(--sys-indigo)",I="var(--sparkline-critical)",g="var(--fg-muted)";function C(d,o,e,s=2){if(d.length<2)return"";const r=d.map(n=>n.count),u=Math.max(...r,1),p=Math.min(...r),l=u-p||1,j=o-s*2,a=e-s*2,i=r.map((n,c)=>({x:s+c/(r.length-1)*j,y:s+a-(n-p)/l*a}));let x=`M ${i[0].x.toFixed(1)} ${i[0].y.toFixed(1)}`;for(let n=1;n<i.length;n++){const c=i[n-1],f=i[n],$=(c.x+f.x)/2;x+=` Q ${$.toFixed(1)} ${c.y.toFixed(1)} ${f.x.toFixed(1)} ${f.y.toFixed(1)}`}return x}const L=y.memo(function({data:o,width:e=48,height:s=16,color:r,invertScale:u=!1,isLoading:p=!1,className:l=""}){const a=`sl-${y.useId().replace(/:/g,"")}`,i=y.useMemo(()=>C(o,e,s),[o,e,s]),x=!r&&o.length>=2,n=r??(x?`url(#${a})`:g),c=l.includes("w-");return p&&o.length<2?t.jsx("div",{className:`flex items-center justify-center ${l}`,style:c?{height:s}:{width:e,height:s},children:t.jsx("div",{className:"rounded animate-pulse bg-subtle-fill-hover",style:c?{width:"100%",height:s-6}:{width:e-8,height:s-6}})}):o.length<2?t.jsx("svg",{width:e,height:s,viewBox:`0 0 ${e} ${s}`,className:l,"aria-hidden":"true",children:t.jsx("line",{x1:4,y1:s/2,x2:e-4,y2:s/2,stroke:I,strokeWidth:1.5,strokeDasharray:"3,2"})}):t.jsxs("svg",{width:e,height:s,viewBox:`0 0 ${e} ${s}`,preserveAspectRatio:"none",className:l,"aria-hidden":"true",style:{maxWidth:"100%"},children:[x&&t.jsx("defs",{children:t.jsxs("linearGradient",{id:a,gradientUnits:"userSpaceOnUse",x1:0,y1:2,x2:0,y2:s-2,children:[t.jsx("stop",{offset:"0%",stopColor:u?v:m}),t.jsx("stop",{offset:"50%",stopColor:k}),t.jsx("stop",{offset:"100%",stopColor:u?m:v})]})}),t.jsx("path",{d:i,fill:"none",stroke:n,strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})]})});export{L};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{dY as h,dZ as f,a5 as j,d_ as L,d$ as v,r as l,e0 as N,j as e,e1 as m,a7 as y,B as w,c as i,e2 as b,dN as C,m as S,e3 as E}from"./index-z7hs-Lqg.js";import{P,a as R,B as k,C as B}from"./PageLayout-ibbqk_Rx.js";import{C as I,a as T}from"./circle-stop-DUyGL-n9.js";const D=l.memo(function({log:a}){return e.jsx(S.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.15,ease:"easeOut"},className:"p-3 bg-subtle-fill/80 radius-inner depth-stroke-raised hover:bg-subtle-fill-strong transition-base",children:e.jsxs("div",{className:"flex items-baseline gap-3",children:[e.jsx("span",{className:i("type-data-sm w-14 shrink-0",E(a.level)),children:a.level}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"type-data-sm text-fg-primary break-words whitespace-pre-wrap",children:a.message}),e.jsx("p",{className:"type-data-xs text-fg-muted mt-1",children:new Date(a.timestamp).toLocaleString()})]})]})})});function M({showDebug:s,onToggle:a}){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:i("type-data-sm",s?"text-sys-orange":"text-sys-cyan"),children:s?"DEBUG":"INFO"}),e.jsx(C,{enabled:s,onChange:a,size:"sm"})]})}function O(){const s=h(),a=f(),o=j(),r=L(),g=v(),[c,x]=l.useState(!1),u=l.useCallback(()=>{x(t=>!t)},[]),d=c?s:s.filter(t=>t.level!=="DEBUG"),n=l.useRef(r);return n.current=r,l.useEffect(()=>{if(!o)return;n.current();const t=setInterval(()=>n.current(),N.logs);return()=>clearInterval(t)},[o]),e.jsxs(P,{children:[e.jsx(R,{title:"System Logs",icon:e.jsx(m,{}),controls:e.jsx(M,{showDebug:c,onToggle:u})}),e.jsx(k,{ready:!0,children:e.jsxs(B,{neomorphic:!0,noPadding:!0,children:[e.jsx(y,{listHeader:!0,icon:e.jsx(m,{className:"icon-sm"}),title:"Log Entries",actions:e.jsx(w,{plain:!0,color:o?"danger":"primary",onClick:()=>g(!o),title:o?"Pause":"Resume",className:i(!o&&"animate-pulse-slow"),children:o?e.jsx(I,{"data-slot":"icon",className:"!w-5 !h-5"}):e.jsx(T,{"data-slot":"icon",className:"!w-5 !h-5"})})}),e.jsx("div",{className:"space-y-2 max-h-[calc(100dvh-226px)] sm:max-h-[calc(100dvh-234px)] lg:max-h-[calc(100vh-194px)] overflow-y-auto p-4",children:a&&s.length===0?e.jsx(b,{count:10}):d.length===0?e.jsx("div",{className:"text-center py-12 text-fg-muted",children:s.length===0?"No logs available":"No logs match selected filters"}):d.map((t,p)=>e.jsx(D,{log:t},`${t.timestamp}-${p}`))})]})})]})}export{O as default};
import{dY as h,dZ as f,a5 as j,d_ as L,d$ as v,r as l,e0 as N,j as e,e1 as m,a7 as y,B as w,c as i,e2 as b,dN as C,m as S,e3 as E}from"./index-DeL-WnAD.js";import{P,a as R,B as k,C as B}from"./PageLayout-B5m1JzIf.js";import{C as I,a as T}from"./circle-stop-DJ8RnfMC.js";const D=l.memo(function({log:a}){return e.jsx(S.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.15,ease:"easeOut"},className:"p-3 bg-subtle-fill/80 radius-inner depth-stroke-raised hover:bg-subtle-fill-strong transition-base",children:e.jsxs("div",{className:"flex items-baseline gap-3",children:[e.jsx("span",{className:i("type-data-sm w-14 shrink-0",E(a.level)),children:a.level}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"type-data-sm text-fg-primary break-words whitespace-pre-wrap",children:a.message}),e.jsx("p",{className:"type-data-xs text-fg-muted mt-1",children:new Date(a.timestamp).toLocaleString()})]})]})})});function M({showDebug:s,onToggle:a}){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:i("type-data-sm",s?"text-sys-orange":"text-sys-cyan"),children:s?"DEBUG":"INFO"}),e.jsx(C,{enabled:s,onChange:a,size:"sm"})]})}function O(){const s=h(),a=f(),o=j(),r=L(),g=v(),[c,x]=l.useState(!1),u=l.useCallback(()=>{x(t=>!t)},[]),d=c?s:s.filter(t=>t.level!=="DEBUG"),n=l.useRef(r);return n.current=r,l.useEffect(()=>{if(!o)return;n.current();const t=setInterval(()=>n.current(),N.logs);return()=>clearInterval(t)},[o]),e.jsxs(P,{children:[e.jsx(R,{title:"System Logs",icon:e.jsx(m,{}),controls:e.jsx(M,{showDebug:c,onToggle:u})}),e.jsx(k,{ready:!0,children:e.jsxs(B,{neomorphic:!0,noPadding:!0,children:[e.jsx(y,{listHeader:!0,icon:e.jsx(m,{className:"icon-sm"}),title:"Log Entries",actions:e.jsx(w,{plain:!0,color:o?"danger":"primary",onClick:()=>g(!o),title:o?"Pause":"Resume",className:i(!o&&"animate-pulse-slow"),children:o?e.jsx(I,{"data-slot":"icon",className:"!w-5 !h-5"}):e.jsx(T,{"data-slot":"icon",className:"!w-5 !h-5"})})}),e.jsx("div",{className:"space-y-2 max-h-[calc(100dvh-226px)] sm:max-h-[calc(100dvh-234px)] lg:max-h-[calc(100vh-194px)] overflow-y-auto p-4",children:a&&s.length===0?e.jsx(b,{count:10}):d.length===0?e.jsx("div",{className:"text-center py-12 text-fg-muted",children:s.length===0?"No logs available":"No logs match selected filters"}):d.map((t,p)=>e.jsx(D,{log:t},`${t.timestamp}-${p}`))})]})})]})}export{O as default};
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e as Se,fm as N,fn as Ke,r as d,j as e,I as K,B as te,c as C,f2 as Fe,f3 as ze,aF as be,f4 as Ve,a8 as pe,V as I,a0 as ne,bN as xe,fo as ye,dp as Ce,fp as Le,fq as me,bI as We,fr as $e,aa as le,a7 as Pe,fs as O,ft as Ze,fu as Ye,fv as Me,fw as Je,fx as Xe,fy as _e,a2 as je,fz as qe,cL as ke,fA as Qe,bZ as et}from"./index-z7hs-Lqg.js";import{C as Q,P as tt,a as st,B as at}from"./PageLayout-ibbqk_Rx.js";import{L as Re,a as fe}from"./listbox-BWrtV3zq.js";import{S as nt}from"./settings-2-B31vEDZw.js";import{P as re}from"./plus-Yu_0ESGn.js";import{M as rt}from"./map-pin-DWLRe_Vl.js";import{C as lt}from"./check-check-CdToX8xZ.js";import{Z as se}from"./zap-B82camuC.js";import{S as Te}from"./search-CHa3X7MR.js";import{C as de}from"./chevron-right-CiEPb31Z.js";import{H as ot}from"./hash-BnfoQg7p.js";import{u as it,C as ct}from"./chevron-up-IVq5Oai2.js";import{F as dt}from"./funnel-CZeXBf0P.js";import{a as ut,C as mt}from"./circle-stop-DUyGL-n9.js";import{T as ht}from"./trash-2-BVyYcCQC.js";import{M as pt}from"./message-square-R6-Kdjxl.js";import{C as xt}from"./cpu-DGruEafU.js";import{R as ue,C as ge}from"./Grid-Bu0HO2Hb.js";import{W as ft}from"./wifi-BFiLEOlF.js";import{W as gt}from"./wifi-off-MDa7FobF.js";import{D as Ne}from"./database-DHMkN_yj.js";import{C as Nt}from"./clock-DsNceNiK.js";import"./element-movement-AoU05aAV.js";import"./use-text-value-CEIvTQXU.js";import"./frozen-DV2SMiP_.js";/**
import{e as Se,fm as N,fn as Ke,r as d,j as e,I as K,B as te,c as C,f2 as Fe,f3 as ze,aF as be,f4 as Ve,a8 as pe,V as I,a0 as ne,bN as xe,fo as ye,dp as Ce,fp as Le,fq as me,bI as We,fr as $e,aa as le,a7 as Pe,fs as O,ft as Ze,fu as Ye,fv as Me,fw as Je,fx as Xe,fy as _e,a2 as je,fz as qe,cL as ke,fA as Qe,bZ as et}from"./index-DeL-WnAD.js";import{C as Q,P as tt,a as st,B as at}from"./PageLayout-B5m1JzIf.js";import{L as Re,a as fe}from"./listbox-DzftT-wi.js";import{S as nt}from"./settings-2-CDOP8Hmj.js";import{P as re}from"./plus-BvkzSqcH.js";import{M as rt}from"./map-pin-BVSMcVYI.js";import{C as lt}from"./check-check-BJRDbUuh.js";import{Z as se}from"./zap-DWKOi72w.js";import{S as Te}from"./search-CvkXer8T.js";import{C as de}from"./chevron-right-DkuFuhe4.js";import{H as ot}from"./hash-DXcoqxS-.js";import{u as it,C as ct}from"./chevron-up-BBbsmvtw.js";import{F as dt}from"./funnel-YJCR8dsc.js";import{a as ut,C as mt}from"./circle-stop-DJ8RnfMC.js";import{T as ht}from"./trash-2-BfXyuy1h.js";import{M as pt}from"./message-square-C-Ay3pjE.js";import{C as xt}from"./cpu-kfEhArLl.js";import{R as ue,C as ge}from"./Grid-6U-T3OAd.js";import{W as ft}from"./wifi-Dq72XQWh.js";import{W as gt}from"./wifi-off-BI0K7wj-.js";import{D as Ne}from"./database-BVbFSsby.js";import{C as Nt}from"./clock-BMRLDRe_.js";import"./element-movement-eLpyUu99.js";import"./use-text-value-i8qr2Qnh.js";import"./frozen-C7O8J2rf.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{j as e,Y as d,c as m,aR as o,r as i,gy as f}from"./index-z7hs-Lqg.js";function p({children:a,className:s}){return e.jsx("div",{className:m("section-gap",s),children:a})}function g({children:a,className:s,ready:n}){const r=o(),t=n??r,[x,c]=i.useState(!1);return i.useEffect(()=>{if(!t){c(!1);return}let l=!1;return requestAnimationFrame(()=>{requestAnimationFrame(()=>{l||i.startTransition(()=>c(!0))})}),()=>{l=!0}},[t]),e.jsx(f.Provider,{value:x,children:e.jsx("div",{className:m("bento-section",s),children:a})})}function j({title:a,icon:s,controls:n,leading:r,subtitle:t}){return e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 min-h-9",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsxs("h1",{className:"type-title text-fg-primary flex items-baseline gap-2 sm:gap-3 min-w-0",children:[s&&e.jsx("span",{className:"text-icon-page-title flex-shrink-0 translate-y-[0.1em] [&>svg]:h-[1em] [&>svg]:w-[1em] [&>svg]:stroke-[1.5]",children:s}),e.jsx("span",{className:"truncate",children:a})]}),r]}),n&&e.jsx("div",{className:"flex items-center gap-2 flex-shrink-0",children:n})]}),t&&e.jsx("div",{children:t})]})}function h({size:a,...s}){return e.jsx(d,{...s})}export{g as B,h as C,p as P,j as a};
import{j as e,Y as d,c as m,aR as o,r as i,gy as f}from"./index-DeL-WnAD.js";function p({children:a,className:s}){return e.jsx("div",{className:m("section-gap",s),children:a})}function g({children:a,className:s,ready:n}){const r=o(),t=n??r,[x,c]=i.useState(!1);return i.useEffect(()=>{if(!t){c(!1);return}let l=!1;return requestAnimationFrame(()=>{requestAnimationFrame(()=>{l||i.startTransition(()=>c(!0))})}),()=>{l=!0}},[t]),e.jsx(f.Provider,{value:x,children:e.jsx("div",{className:m("bento-section",s),children:a})})}function j({title:a,icon:s,controls:n,leading:r,subtitle:t}){return e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 min-h-9",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsxs("h1",{className:"type-title text-fg-primary flex items-baseline gap-2 sm:gap-3 min-w-0",children:[s&&e.jsx("span",{className:"text-icon-page-title flex-shrink-0 translate-y-[0.1em] [&>svg]:h-[1em] [&>svg]:w-[1em] [&>svg]:stroke-[1.5]",children:s}),e.jsx("span",{className:"truncate",children:a})]}),r]}),n&&e.jsx("div",{className:"flex items-center gap-2 flex-shrink-0",children:n})]}),t&&e.jsx("div",{children:t})]})}function h({size:a,...s}){return e.jsx(d,{...s})}export{g as B,h as C,p as P,j as a};
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e as I,r as l,j as e,ct as W,aa as De,c as A,aC as Ae,aL as $e,aD as Ke,V as U,I as E,eJ as Fe,B as b,cb as we,aF as ie,O as Oe,a7 as te,a3 as Ce,a0 as G,a1 as Be,eK as Se,eL as ze,bJ as _e,eM as qe,eN as He,eO as Ve,eP as Ue,eQ as Ge,eR as We,eS as Ye,eT as Ie,a6 as Je,Q as Qe,eE as Xe,cv as ce}from"./index-z7hs-Lqg.js";import{C as q,P as de,a as me,B as Ze}from"./PageLayout-ibbqk_Rx.js";import{R as es,C as ue}from"./Grid-Bu0HO2Hb.js";import{c as ss,m as ts}from"./node-types-CYBwvGbl.js";import{R as as}from"./repeat-BiGHmz05.js";import{L as ns,a as rs,b as ls}from"./listbox-BWrtV3zq.js";import{P as os}from"./plus-Yu_0ESGn.js";import{F as P,L as D,D as is}from"./fieldset-QTHj_FCa.js";import{M as Z}from"./map-pin-DWLRe_Vl.js";import{T as Re}from"./trash-2-BVyYcCQC.js";import{S as ee,K as Y}from"./KeycapButton-7xnDpUXn.js";import{C as xe}from"./ConfirmModal-DVgg2LDA.js";import{S as cs,C as ds}from"./ChatBubble-BIaJnaM-.js";import{e as ms,g as us,a as xs}from"./chat-utils-ZzeUIRDA.js";import{W as se}from"./wifi-BFiLEOlF.js";import{M as ps}from"./message-square-text-BLmGfDW8.js";import{K as hs}from"./key-round-Bu0a00E_.js";import"./element-movement-AoU05aAV.js";import"./use-text-value-CEIvTQXU.js";import"./frozen-DV2SMiP_.js";import"./keycap-sfx-ByZp-njj.js";/**
import{e as I,r as l,j as e,ct as W,aa as De,c as A,aC as Ae,aL as $e,aD as Ke,V as U,I as E,eJ as Fe,B as b,cb as we,aF as ie,O as Oe,a7 as te,a3 as Ce,a0 as G,a1 as Be,eK as Se,eL as ze,bJ as _e,eM as qe,eN as He,eO as Ve,eP as Ue,eQ as Ge,eR as We,eS as Ye,eT as Ie,a6 as Je,Q as Qe,eE as Xe,cv as ce}from"./index-DeL-WnAD.js";import{C as q,P as de,a as me,B as Ze}from"./PageLayout-B5m1JzIf.js";import{R as es,C as ue}from"./Grid-6U-T3OAd.js";import{c as ss,m as ts}from"./node-types-CEjkNAjn.js";import{R as as}from"./repeat-rLP-j1q2.js";import{L as ns,a as rs,b as ls}from"./listbox-DzftT-wi.js";import{P as os}from"./plus-BvkzSqcH.js";import{F as P,L as D,D as is}from"./fieldset-rgg6LZ59.js";import{M as Z}from"./map-pin-BVSMcVYI.js";import{T as Re}from"./trash-2-BfXyuy1h.js";import{S as ee,K as Y}from"./KeycapButton-BNtsQg09.js";import{C as xe}from"./ConfirmModal-CRhLoJv2.js";import{S as cs,C as ds}from"./ChatBubble-BiDM3EJl.js";import{e as ms,g as us,a as xs}from"./chat-utils-CfjOeEHb.js";import{W as se}from"./wifi-Dq72XQWh.js";import{M as ps}from"./message-square-text-BODs2cLY.js";import{K as hs}from"./key-round-yyUg3qrj.js";import"./element-movement-eLpyUu99.js";import"./use-text-value-i8qr2Qnh.js";import"./frozen-C7O8J2rf.js";import"./keycap-sfx-ByZp-njj.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as g,r as l,fk as V,fl as z,eg as J,j as e,B as j,a2 as M,a0 as U,dV as Z,bJ as C,c as N,bZ as Q,eL as Y,cV as W,cF as X,ct as ee,c4 as se}from"./index-z7hs-Lqg.js";import{C as ae}from"./ConfirmModal-DVgg2LDA.js";import{P as te,a as le,B as ie,C as E}from"./PageLayout-ibbqk_Rx.js";import{R as T,C as y}from"./Grid-Bu0HO2Hb.js";import{S as $}from"./shield-check-BSvQdaIj.js";import{C as ne}from"./circle-question-mark-CNXiECM0.js";import{S as ce}from"./shield-DDEBFoOI.js";import{A as re}from"./antenna-BJEcgblE.js";import{T as F}from"./trash-2-BVyYcCQC.js";/**
import{e as g,r as l,fk as V,fl as z,eg as J,j as e,B as j,a2 as M,a0 as U,dV as Z,bJ as C,c as N,bZ as Q,eL as Y,cV as W,cF as X,ct as ee,c4 as se}from"./index-DeL-WnAD.js";import{C as ae}from"./ConfirmModal-CRhLoJv2.js";import{P as te,a as le,B as ie,C as E}from"./PageLayout-B5m1JzIf.js";import{R as T,C as y}from"./Grid-6U-T3OAd.js";import{S as $}from"./shield-check-BXVXFS1a.js";import{C as ne}from"./circle-question-mark-wO4DVjyE.js";import{S as ce}from"./shield-Cpk6zCGf.js";import{A as re}from"./antenna-bbxJkq0B.js";import{T as F}from"./trash-2-BfXyuy1h.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as l,r as m,c as i,j as r,gq as j,dx as _,e8 as k}from"./index-z7hs-Lqg.js";/**
import{e as l,r as m,c as i,j as r,gq as j,dx as _,e8 as k}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
var Ft=Object.defineProperty;var Ht=(t,n,s)=>n in t?Ft(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s;var ke=(t,n,s)=>Ht(t,typeof n!="symbol"?n+"":n,s);import{e as Oe,r as l,j as e,G as Ve,c as mt,P as At,cG as _t,cH as qe,w as De,cI as Bt,V as Pe,cJ as $t,co as Re,cK as zt,cL as Wt,x as Ut,at as Gt,cM as Vt,cN as qt,cO as Xt,cP as Kt,cQ as Yt,cc as Zt,cR as Xe,cf as Qt,cS as Jt,cT as es,a7 as Le,cU as ts,bZ as dt,c4 as ss,af as Rt,ag as ns,cV as as,bL as rs,a6 as is,ac as ls,ab as os,Q as cs,aR as ms,aS as ds,ad as us,aA as hs,cW as Ke,aj as xs,cX as ut,as as ps,aa as fs,cY as gs}from"./index-z7hs-Lqg.js";import{L as Ee}from"./layers-qQNR30b4.js";import{u as lt,h as ys,r as ot}from"./consumer-registry-Kxz4-wmw.js";import{e as bs}from"./easing-BTXA1k_G.js";import{C as Ye}from"./compass-C3bBZPXT.js";import{T as js,M as vs}from"./MqttModeBadge-4kHiU4IG.js";import{C as be,P as Ns,a as ks,B as ws}from"./PageLayout-ibbqk_Rx.js";import{A as Ze,D as ze}from"./DataValue-DgJ-lt78.js";import{C as Ss}from"./CollisionExplorerModal-o9IMK6Zk.js";import{H as ht}from"./hash-BnfoQg7p.js";import{L as We}from"./LightSparkline-BcBmxZxl.js";import{A as Ms}from"./activity-BbFqmThD.js";import{c as Cs,a as As,A as _s}from"./AnalyzerFilterPanel-s-7gCz18.js";import{useResolveSource as Rs}from"./usePipelineStore-BqUY7u1A.js";import{R as Ae,C as Ie}from"./Grid-Bu0HO2Hb.js";import{S as Ts}from"./settings-2-B31vEDZw.js";import{N as Ls}from"./network-BD4f7bFj.js";import"./chevron-right-CiEPb31Z.js";import"./map-pin-DWLRe_Vl.js";import"./index-C1Lbv_wQ.js";import"./index-DFuVRsCa.js";import"./maplibre-gl-3W6k_TGJ.js";import"./BasemapLayer-D10OX3L_.js";import"./share-2-BC_lE14L.js";import"./node-types-CYBwvGbl.js";import"./circle-question-mark-CNXiECM0.js";import"./funnel-CZeXBf0P.js";import"./search-CHa3X7MR.js";/**
var Ft=Object.defineProperty;var Ht=(t,n,s)=>n in t?Ft(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s;var ke=(t,n,s)=>Ht(t,typeof n!="symbol"?n+"":n,s);import{e as Oe,r as l,j as e,G as Ve,c as mt,P as At,cG as _t,cH as qe,w as De,cI as Bt,V as Pe,cJ as $t,co as Re,cK as zt,cL as Wt,x as Ut,at as Gt,cM as Vt,cN as qt,cO as Xt,cP as Kt,cQ as Yt,cc as Zt,cR as Xe,cf as Qt,cS as Jt,cT as es,a7 as Le,cU as ts,bZ as dt,c4 as ss,af as Rt,ag as ns,cV as as,bL as rs,a6 as is,ac as ls,ab as os,Q as cs,aR as ms,aS as ds,ad as us,aA as hs,cW as Ke,aj as xs,cX as ut,as as ps,aa as fs,cY as gs}from"./index-DeL-WnAD.js";import{L as Ee}from"./layers-BVR9X8Tc.js";import{u as lt,h as ys,r as ot}from"./consumer-registry-IlWx8XVx.js";import{e as bs}from"./easing-Bef26SeD.js";import{C as Ye}from"./compass-SSAjJwWn.js";import{T as js,M as vs}from"./MqttModeBadge-CoW4d9oi.js";import{C as be,P as Ns,a as ks,B as ws}from"./PageLayout-B5m1JzIf.js";import{A as Ze,D as ze}from"./DataValue-DYH-qq0_.js";import{C as Ss}from"./CollisionExplorerModal-DxxgWBq_.js";import{H as ht}from"./hash-DXcoqxS-.js";import{L as We}from"./LightSparkline-DqkZo3TQ.js";import{A as Ms}from"./activity-BgjB7QYN.js";import{c as Cs,a as As,A as _s}from"./AnalyzerFilterPanel-CvZrGTAa.js";import{useResolveSource as Rs}from"./usePipelineStore-Bx48HYNJ.js";import{R as Ae,C as Ie}from"./Grid-6U-T3OAd.js";import{S as Ts}from"./settings-2-CDOP8Hmj.js";import{N as Ls}from"./network-wzRi2ZfL.js";import"./chevron-right-DkuFuhe4.js";import"./map-pin-BVSMcVYI.js";import"./index-h4zodNdb.js";import"./index-wSLd8OPk.js";import"./maplibre-gl-BFLemsGw.js";import"./BasemapLayer-gTESIItF.js";import"./share-2-DqmKi5Rt.js";import"./node-types-CEjkNAjn.js";import"./circle-question-mark-wO4DVjyE.js";import"./funnel-YJCR8dsc.js";import"./search-CvkXer8T.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as ee,aK as A,O as B,r as l,L as J,j as e,dQ as z,c as F,bZ as se,a7 as E,dR as te,dS as re,dT as ne,dU as ae,cG as oe,B as le,dV as ce,dW as ie,dX as G}from"./index-z7hs-Lqg.js";import{C as P,P as de,a as me,B as ue}from"./PageLayout-ibbqk_Rx.js";import{A as xe}from"./arrow-up-DLWkS2nv.js";import{N as fe}from"./network-BD4f7bFj.js";import{A as he}from"./arrow-down-zLsCMtR5.js";import{T as pe}from"./thermometer-D2zDBxIt.js";import{A as D}from"./activity-BbFqmThD.js";import{C as ge}from"./cpu-DGruEafU.js";import{R as H,C as $}from"./Grid-Bu0HO2Hb.js";/**
import{e as ee,aK as A,O as B,r as l,L as J,j as e,dQ as z,c as F,bZ as se,a7 as E,dR as te,dS as re,dT as ne,dU as ae,cG as oe,B as le,dV as ce,dW as ie,dX as G}from"./index-DeL-WnAD.js";import{C as P,P as de,a as me,B as ue}from"./PageLayout-B5m1JzIf.js";import{A as xe}from"./arrow-up-CHqxlaGO.js";import{N as fe}from"./network-wzRi2ZfL.js";import{A as he}from"./arrow-down-BdvFnSkw.js";import{T as pe}from"./thermometer-DNwrRze3.js";import{A as D}from"./activity-BgjB7QYN.js";import{C as ge}from"./cpu-kfEhArLl.js";import{R as H,C as $}from"./Grid-6U-T3OAd.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e as Ae,r as p,gu as _e,gv as Ie,af as Be,ag as Ve,j as e,a7 as U,V as ye,dV as He,dK as qe,c as le,aF as We,Q as Oe,a6 as Ye,gw as Xe,O as $,co as z,v as ze,c8 as Ge,bZ as Je,H as me,Z,gx as Qe,L as xe}from"./index-z7hs-Lqg.js";import{C as Q,P as Ke,a as Ue,B as De}from"./PageLayout-ibbqk_Rx.js";import{useResolveSource as Ze}from"./usePipelineStore-BqUY7u1A.js";import{C as et}from"./chevron-right-CiEPb31Z.js";import{R as se,C as ae}from"./Grid-Bu0HO2Hb.js";import"./node-types-CYBwvGbl.js";/**
import{e as Ae,r as p,gu as _e,gv as Ie,af as Be,ag as Ve,j as e,a7 as U,V as ye,dV as He,dK as qe,c as le,aF as We,Q as Oe,a6 as Ye,gw as Xe,O as $,co as z,v as ze,c8 as Ge,bZ as Je,H as me,Z,gx as Qe,L as xe}from"./index-DeL-WnAD.js";import{C as Q,P as Ke,a as Ue,B as De}from"./PageLayout-B5m1JzIf.js";import{useResolveSource as Ze}from"./usePipelineStore-Bx48HYNJ.js";import{C as et}from"./chevron-right-DkuFuhe4.js";import{R as se,C as ae}from"./Grid-6U-T3OAd.js";import"./node-types-CEjkNAjn.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as t}from"./index-z7hs-Lqg.js";/**
import{e as t}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as o}from"./index-z7hs-Lqg.js";/**
import{e as o}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as o}from"./index-z7hs-Lqg.js";/**
import{e as o}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as o}from"./index-z7hs-Lqg.js";/**
import{e as o}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1 +1 @@
import{r as g,Z as d,O as l}from"./index-z7hs-Lqg.js";function p(e){const n=parseInt(e.slice(1,3),16)/255,t=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255,o=Math.max(n,t,r),i=Math.min(n,t,r),a=(o+i)/2;if(o===i)return[0,0,a];const s=o-i,u=a>.5?s/(2-o-i):s/(o+i);let c=0;return o===n?c=((t-r)/s+(t<r?6:0))/6:o===t?c=((r-n)/s+2)/6:c=((n-t)/s+4)/6,[c,u,a]}function E(e,n,t){if(n===0)return`#${Math.round(t*255).toString(16).padStart(2,"0").repeat(3)}`;const r=(s,u,c)=>(c<0&&(c+=1),c>1&&(c-=1),c<1/6?s+(u-s)*6*c:c<1/2?u:c<2/3?s+(u-s)*(2/3-c)*6:s),o=t<.5?t*(1+n):t+n-t*n,i=2*t-o,a=s=>Math.round(s*255).toString(16).padStart(2,"0");return`#${a(r(i,o,e+1/3))}${a(r(i,o,e))}${a(r(i,o,e-1/3))}`}function S(e,n,t){let r=n[0]-e[0];return r>.5&&(r-=1),r<-.5&&(r+=1),[(e[0]+r*t+1)%1,e[1]+(n[1]-e[1])*t,e[2]+(n[2]-e[2])*t]}const x=[l.red,l.orange,l.amber,l.green,l.teal,l.cyan,l.blue,l.indigo,l.purple,l.pink],m=4,h=[];{const e=x.map(p);for(let n=0;n<e.length;n++){const t=(n+1)%e.length;for(let r=0;r<m;r++){const[o,i,a]=S(e[n],e[t],r/m);h.push(E(o,i,a))}}}function j(e){let n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return h[Math.abs(n)%h.length]}const f=new RegExp("(?:\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F)","gu");function N(e){const n=e.trim();if(!n)return 0;const t=n.match(f);return!t||t.length===0||t.length>3||n.replace(f,"").replace(/[\u200D\uFE0F\s]/g,"").length>0?0:t.length}function C(e){const n=e.match(f);if(n&&n.length>0){const t=n[0],r=e.replace(f,"").trim();return{emoji:t,cleanName:r||e}}return{emoji:null,cleanName:e}}function y(e){const{cleanName:n}=C(e),t=n.split(/[\s-_]+/).filter(Boolean);if(t.length>=2){const o=Array.from(t[0])[0]||"",i=Array.from(t[1])[0]||"";return(o+i).toUpperCase()}return Array.from(n).slice(0,2).join("").toUpperCase()}function M(e){return new Date(e*1e3).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1})}function T(e,n){const t=/@\[([^\]]+)\]/g,r=[];let o=0,i;const a=n!=null&&n.isOutgoing?d[200]:l.blue,s=n==null?void 0:n.onMentionClick;for(;(i=t.exec(e))!==null;){i.index>o&&r.push(e.slice(o,i.index));const u=i[1];r.push(g.createElement(s?"button":"span",{key:i.index,className:s?"font-bold hover:underline underline-offset-2 cursor-pointer":"font-bold",style:{color:a},...s&&{type:"button",onClick:c=>{c.stopPropagation(),s(u)}}},u)),o=i.index+i[0].length}return o<e.length&&r.push(e.slice(o)),r.length>0?r:e}export{y as a,M as b,N as c,C as e,T as f,j as g};
import{r as g,Z as d,O as l}from"./index-DeL-WnAD.js";function p(e){const n=parseInt(e.slice(1,3),16)/255,t=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255,o=Math.max(n,t,r),i=Math.min(n,t,r),a=(o+i)/2;if(o===i)return[0,0,a];const s=o-i,u=a>.5?s/(2-o-i):s/(o+i);let c=0;return o===n?c=((t-r)/s+(t<r?6:0))/6:o===t?c=((r-n)/s+2)/6:c=((n-t)/s+4)/6,[c,u,a]}function E(e,n,t){if(n===0)return`#${Math.round(t*255).toString(16).padStart(2,"0").repeat(3)}`;const r=(s,u,c)=>(c<0&&(c+=1),c>1&&(c-=1),c<1/6?s+(u-s)*6*c:c<1/2?u:c<2/3?s+(u-s)*(2/3-c)*6:s),o=t<.5?t*(1+n):t+n-t*n,i=2*t-o,a=s=>Math.round(s*255).toString(16).padStart(2,"0");return`#${a(r(i,o,e+1/3))}${a(r(i,o,e))}${a(r(i,o,e-1/3))}`}function S(e,n,t){let r=n[0]-e[0];return r>.5&&(r-=1),r<-.5&&(r+=1),[(e[0]+r*t+1)%1,e[1]+(n[1]-e[1])*t,e[2]+(n[2]-e[2])*t]}const x=[l.red,l.orange,l.amber,l.green,l.teal,l.cyan,l.blue,l.indigo,l.purple,l.pink],m=4,h=[];{const e=x.map(p);for(let n=0;n<e.length;n++){const t=(n+1)%e.length;for(let r=0;r<m;r++){const[o,i,a]=S(e[n],e[t],r/m);h.push(E(o,i,a))}}}function j(e){let n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return h[Math.abs(n)%h.length]}const f=new RegExp("(?:\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F)","gu");function N(e){const n=e.trim();if(!n)return 0;const t=n.match(f);return!t||t.length===0||t.length>3||n.replace(f,"").replace(/[\u200D\uFE0F\s]/g,"").length>0?0:t.length}function C(e){const n=e.match(f);if(n&&n.length>0){const t=n[0],r=e.replace(f,"").trim();return{emoji:t,cleanName:r||e}}return{emoji:null,cleanName:e}}function y(e){const{cleanName:n}=C(e),t=n.split(/[\s-_]+/).filter(Boolean);if(t.length>=2){const o=Array.from(t[0])[0]||"",i=Array.from(t[1])[0]||"";return(o+i).toUpperCase()}return Array.from(n).slice(0,2).join("").toUpperCase()}function M(e){return new Date(e*1e3).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1})}function T(e,n){const t=/@\[([^\]]+)\]/g,r=[];let o=0,i;const a=n!=null&&n.isOutgoing?d[200]:l.blue,s=n==null?void 0:n.onMentionClick;for(;(i=t.exec(e))!==null;){i.index>o&&r.push(e.slice(o,i.index));const u=i[1];r.push(g.createElement(s?"button":"span",{key:i.index,className:s?"font-bold hover:underline underline-offset-2 cursor-pointer":"font-bold",style:{color:a},...s&&{type:"button",onClick:c=>{c.stopPropagation(),s(u)}}},u)),o=i.index+i[0].length}return o<e.length&&r.push(e.slice(o)),r.length>0?r:e}export{y as a,M as b,N as c,C as e,T as f,j as g};
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as o}from"./index-z7hs-Lqg.js";/**
import{e as o}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1 +1 @@
import{ax as n,r as i}from"./index-z7hs-Lqg.js";const p=t=>(t.type??t.payload_type)===n.ADVERT,l=t=>(t.type??t.payload_type)===n.TRACE,h=t=>(t.type??t.payload_type)===n.TXT_MSG,_=t=>(t.type??t.payload_type)===n.PATH,d=t=>(t.type??t.payload_type)===n.ACK,g=t=>{const e=t.type??t.payload_type;return e===n.GRP_TXT||e===n.GRP_DATA},m=t=>(t.path_length??(Array.isArray(t.original_path)?t.original_path.length:0))>0,A=t=>!!t.src_hash,T=t=>t.airtime_ms!=null,c=new Set,o=new Map;function a(t,e){return`${t}|${e}`}function u(t,e){const s=a(t,e);o.set(s,(o.get(s)??0)+1)}function y(t,e){const s=a(t,e),r=o.get(s)??0;r>1?o.set(s,r-1):o.delete(s)}function C(t){for(const e of t){const s=a(e.target,e.fn);c.has(s)||c.add(s)}}function P(t){i.useEffect(()=>{for(const e of t)u(e.target,e.fn);return()=>{for(const e of t)y(e.target,e.fn)}},[t])}export{m as a,A as b,h as c,d,p as e,l as f,_ as g,T as h,g as i,C as r,P as u};
import{ax as n,r as i}from"./index-DeL-WnAD.js";const p=t=>(t.type??t.payload_type)===n.ADVERT,l=t=>(t.type??t.payload_type)===n.TRACE,h=t=>(t.type??t.payload_type)===n.TXT_MSG,_=t=>(t.type??t.payload_type)===n.PATH,d=t=>(t.type??t.payload_type)===n.ACK,g=t=>{const e=t.type??t.payload_type;return e===n.GRP_TXT||e===n.GRP_DATA},m=t=>(t.path_length??(Array.isArray(t.original_path)?t.original_path.length:0))>0,A=t=>!!t.src_hash,T=t=>t.airtime_ms!=null,c=new Set,o=new Map;function a(t,e){return`${t}|${e}`}function u(t,e){const s=a(t,e);o.set(s,(o.get(s)??0)+1)}function y(t,e){const s=a(t,e),r=o.get(s)??0;r>1?o.set(s,r-1):o.delete(s)}function C(t){for(const e of t){const s=a(e.target,e.fn);c.has(s)||c.add(s)}}function P(t){i.useEffect(()=>{for(const e of t)u(e.target,e.fn);return()=>{for(const e of t)y(e.target,e.fn)}},[t])}export{m as a,A as b,h as c,d,p as e,l as f,_ as g,T as h,g as i,C as r,P as u};
@@ -1,4 +1,4 @@
import{e as h}from"./index-z7hs-Lqg.js";/**
import{e as h}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1 +1 @@
import{gT as s}from"./index-z7hs-Lqg.js";const e=s(.65,0,.35,1),t=s(.33,1,.68,1),c=s(.33,.67,.67,1),u=s(.76,0,.24,1);export{t as a,e as b,c,u as e};
import{gT as s}from"./index-DeL-WnAD.js";const e=s(.65,0,.35,1),t=s(.33,1,.68,1),c=s(.33,.67,.67,1),u=s(.76,0,.24,1);export{t as a,e as b,c,u as e};
@@ -1 +1 @@
import{r as o,aU as p,d4 as v,gr as b,gs as $,dk as m,by as x}from"./index-z7hs-Lqg.js";function y(e,t){return e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&"id"in e&&"id"in t?e.id===t.id:e===t}function D(e=y){return o.useCallback((t,n)=>{if(typeof e=="string"){let u=e;return(t==null?void 0:t[u])===(n==null?void 0:n[u])}return e(t,n)},[e])}var w=(e=>(e[e.Left=0]="Left",e[e.Right=2]="Right",e))(w||{});function M(e){let t=o.useRef(null),n=p(l=>{t.current=l.pointerType,!v(l.currentTarget)&&l.pointerType==="mouse"&&l.button===w.Left&&(l.preventDefault(),e(l))}),u=p(l=>{t.current!=="mouse"&&(v(l.currentTarget)||e(l))});return{onPointerDown:n,onClick:u}}var R=(e=>(e[e.Ignore=0]="Ignore",e[e.Select=1]="Select",e[e.Close=2]="Close",e))(R||{});const E={Ignore:{kind:0},Select:e=>({kind:1,target:e}),Close:{kind:2}},I=200,k=5;function N(e,{trigger:t,action:n,close:u,select:l}){let r=o.useRef(null),i=o.useRef(null),c=o.useRef(null);b(e&&t!==null,"pointerdown",s=>{$(s==null?void 0:s.target)&&t!=null&&t.contains(s.target)&&(i.current=s.x,c.current=s.y,r.current=s.timeStamp)}),b(e&&t!==null,"pointerup",s=>{var a,d;let f=r.current;if(f===null||(r.current=null,!m(s.target))||Math.abs(s.x-((a=i.current)!=null?a:s.x))<k&&Math.abs(s.y-((d=c.current)!=null?d:s.y))<k)return;let g=n(s);switch(g.kind){case 0:return;case 1:{s.timeStamp-f>I&&(l(g.target),u());break}case 2:{u();break}}},{capture:!0})}function h(e){return[e.screenX,e.screenY]}function j(){let e=o.useRef([-1,-1]);return{wasMoved(t){let n=h(t);return e.current[0]===n[0]&&e.current[1]===n[1]?!1:(e.current=n,!0)},update(t){e.current=h(t)}}}function L(e){throw new Error("Unexpected object: "+e)}var S=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(S||{});function P(e,t){let n=t.resolveItems();if(n.length<=0)return null;let u=t.resolveActiveIndex(),l=u??-1;switch(e.focus){case 0:{for(let r=0;r<n.length;++r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 1:{l===-1&&(l=n.length);for(let r=l-1;r>=0;--r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 2:{for(let r=l+1;r<n.length;++r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 3:{for(let r=n.length-1;r>=0;--r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 4:{for(let r=0;r<n.length;++r)if(t.resolveId(n[r],r,n)===e.id)return r;return u}case 5:return null;default:L(e)}}const z={Idle:{kind:"Idle"},Tracked:e=>({kind:"Tracked",position:e}),Moved:{kind:"Moved"}};function T(e){let t=e.getBoundingClientRect();return`${t.x},${t.y}`}function F(e,t,n){let u=x();if(t.kind==="Tracked"){let l=function(){r!==T(e)&&(u.dispose(),n())},{position:r}=t,i=new ResizeObserver(l);i.observe(e),u.add(()=>i.disconnect()),u.addEventListener(window,"scroll",l,{passive:!0}),u.addEventListener(window,"resize",l)}return()=>u.dispose()}export{N as L,E as S,z as a,T as b,S as c,D as d,P as f,w as g,F as p,M as s,j as u};
import{r as o,aU as p,d4 as v,gr as b,gs as $,dk as m,by as x}from"./index-DeL-WnAD.js";function y(e,t){return e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&"id"in e&&"id"in t?e.id===t.id:e===t}function D(e=y){return o.useCallback((t,n)=>{if(typeof e=="string"){let u=e;return(t==null?void 0:t[u])===(n==null?void 0:n[u])}return e(t,n)},[e])}var w=(e=>(e[e.Left=0]="Left",e[e.Right=2]="Right",e))(w||{});function M(e){let t=o.useRef(null),n=p(l=>{t.current=l.pointerType,!v(l.currentTarget)&&l.pointerType==="mouse"&&l.button===w.Left&&(l.preventDefault(),e(l))}),u=p(l=>{t.current!=="mouse"&&(v(l.currentTarget)||e(l))});return{onPointerDown:n,onClick:u}}var R=(e=>(e[e.Ignore=0]="Ignore",e[e.Select=1]="Select",e[e.Close=2]="Close",e))(R||{});const E={Ignore:{kind:0},Select:e=>({kind:1,target:e}),Close:{kind:2}},I=200,k=5;function N(e,{trigger:t,action:n,close:u,select:l}){let r=o.useRef(null),i=o.useRef(null),c=o.useRef(null);b(e&&t!==null,"pointerdown",s=>{$(s==null?void 0:s.target)&&t!=null&&t.contains(s.target)&&(i.current=s.x,c.current=s.y,r.current=s.timeStamp)}),b(e&&t!==null,"pointerup",s=>{var a,d;let f=r.current;if(f===null||(r.current=null,!m(s.target))||Math.abs(s.x-((a=i.current)!=null?a:s.x))<k&&Math.abs(s.y-((d=c.current)!=null?d:s.y))<k)return;let g=n(s);switch(g.kind){case 0:return;case 1:{s.timeStamp-f>I&&(l(g.target),u());break}case 2:{u();break}}},{capture:!0})}function h(e){return[e.screenX,e.screenY]}function j(){let e=o.useRef([-1,-1]);return{wasMoved(t){let n=h(t);return e.current[0]===n[0]&&e.current[1]===n[1]?!1:(e.current=n,!0)},update(t){e.current=h(t)}}}function L(e){throw new Error("Unexpected object: "+e)}var S=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(S||{});function P(e,t){let n=t.resolveItems();if(n.length<=0)return null;let u=t.resolveActiveIndex(),l=u??-1;switch(e.focus){case 0:{for(let r=0;r<n.length;++r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 1:{l===-1&&(l=n.length);for(let r=l-1;r>=0;--r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 2:{for(let r=l+1;r<n.length;++r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 3:{for(let r=n.length-1;r>=0;--r)if(!t.resolveDisabled(n[r],r,n))return r;return u}case 4:{for(let r=0;r<n.length;++r)if(t.resolveId(n[r],r,n)===e.id)return r;return u}case 5:return null;default:L(e)}}const z={Idle:{kind:"Idle"},Tracked:e=>({kind:"Tracked",position:e}),Moved:{kind:"Moved"}};function T(e){let t=e.getBoundingClientRect();return`${t.x},${t.y}`}function F(e,t,n){let u=x();if(t.kind==="Tracked"){let l=function(){r!==T(e)&&(u.dispose(),n())},{position:r}=t,i=new ResizeObserver(l);i.observe(e),u.add(()=>i.disconnect()),u.addEventListener(window,"scroll",l,{passive:!0}),u.addEventListener(window,"resize",l)}return()=>u.dispose()}export{N as L,E as S,z as a,T as b,S as c,D as d,P as f,w as g,F as p,M as s,j as u};
@@ -1 +1 @@
import{j as a,dM as l,c as i,b3 as n,fH as c}from"./index-z7hs-Lqg.js";function x({disabled:e,className:s,children:t}){return a.jsx(l,{disabled:e,className:i("flex flex-col gap-2",s),children:t})}function m({required:e,className:s,children:t,...r}){return a.jsxs(n,{className:i("text-sm font-medium text-fg-primary select-none","data-[disabled]:opacity-50",r.title&&"cursor-help",s),...r,children:[t,e&&a.jsx("span",{className:"text-sys-red ml-0.5","aria-hidden":"true",children:"*"})]})}function o({className:e,children:s,...t}){return a.jsx(c,{className:i("text-sm text-fg-muted","data-[disabled]:opacity-50",e),...t,children:s})}export{o as D,x as F,m as L};
import{j as a,dM as l,c as i,b3 as n,fH as c}from"./index-DeL-WnAD.js";function x({disabled:e,className:s,children:t}){return a.jsx(l,{disabled:e,className:i("flex flex-col gap-2",s),children:t})}function m({required:e,className:s,children:t,...r}){return a.jsxs(n,{className:i("text-sm font-medium text-fg-primary select-none","data-[disabled]:opacity-50",r.title&&"cursor-help",s),...r,children:[t,e&&a.jsx("span",{className:"text-sys-red ml-0.5","aria-hidden":"true",children:"*"})]})}function o({className:e,children:s,...t}){return a.jsx(c,{className:i("text-sm text-fg-muted","data-[disabled]:opacity-50",e),...t,children:s})}export{o as D,x as F,m as L};
@@ -1 +1 @@
import{bv as l,r as o}from"./index-z7hs-Lqg.js";function a({children:t,freeze:e},n){let r=f(e,t);return o.isValidElement(r)?o.cloneElement(r,{ref:n}):l.createElement(l.Fragment,null,r)}const s=l.forwardRef(a);function f(t,e){let[n,r]=o.useState(e);return!t&&n!==e&&r(e),t?n:e}export{s,f as u};
import{bv as l,r as o}from"./index-DeL-WnAD.js";function a({children:t,freeze:e},n){let r=f(e,t);return o.isValidElement(r)?o.cloneElement(r,{ref:n}):l.createElement(l.Fragment,null,r)}const s=l.forwardRef(a);function f(t,e){let[n,r]=o.useState(e);return!t&&n!==e&&r(e),t?n:e}export{s,f as u};
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as a}from"./index-z7hs-Lqg.js";/**
import{e as a}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1 +1 @@
import{gN as L,dx as y,bQ as A,O as g}from"./index-z7hs-Lqg.js";function R(r){if(Array.isArray(r))return r;if(typeof r=="string"&&r.startsWith("["))try{const s=JSON.parse(r);return Array.isArray(s)?s:[]}catch{return[]}return[]}function C(r,s,x){const M=L(Array.from(s,t=>[t,t])),c=new Map,i=new Map;for(const t of r){const p=t.route??t.route_type;if(!y(p))continue;const a=R(t.original_path);if(a.length===0)continue;const o=a.map(e=>e.toUpperCase());if(!t.transmitted&&o.length>=2){const e=o[o.length-2];if(e){const n=M.get(e);n&&i.set(n,(i.get(n)??0)+1)}}if(o.some(e=>A(e,x)))for(const e of o){if(e===x)continue;const n=M.get(e);n&&c.set(n,(c.get(n)??0)+1)}}let u=0,f=0;for(const t of s)u=Math.max(u,c.get(t)??0),f=Math.max(f,i.get(t)??0);const S=new Map;let h=0,m=0,d=0;for(const t of s){const p=c.get(t)??0,a=i.get(t)??0,o=u>0?Math.round(p/u*100):0,l=f>0?Math.round(a/f*100):0,e=o+l;S.set(t,{hash:t,listenerCount:p,loudCount:a,listenerScore:o,loudScore:l,blendedScore:e}),h=Math.max(h,o),m=Math.max(m,l),d=Math.max(d,e)}return{scores:S,maxListenerScore:h,maxLoudScore:m,maxBlendedScore:d}}const O={YELLOW:g.amber,GREEN:g.green,RED:g.red,GRAY:"#505050"};export{O as L,C as c};
import{gN as L,dx as y,bQ as A,O as g}from"./index-DeL-WnAD.js";function R(r){if(Array.isArray(r))return r;if(typeof r=="string"&&r.startsWith("["))try{const s=JSON.parse(r);return Array.isArray(s)?s:[]}catch{return[]}return[]}function C(r,s,x){const M=L(Array.from(s,t=>[t,t])),c=new Map,i=new Map;for(const t of r){const p=t.route??t.route_type;if(!y(p))continue;const a=R(t.original_path);if(a.length===0)continue;const o=a.map(e=>e.toUpperCase());if(!t.transmitted&&o.length>=2){const e=o[o.length-2];if(e){const n=M.get(e);n&&i.set(n,(i.get(n)??0)+1)}}if(o.some(e=>A(e,x)))for(const e of o){if(e===x)continue;const n=M.get(e);n&&c.set(n,(c.get(n)??0)+1)}}let u=0,f=0;for(const t of s)u=Math.max(u,c.get(t)??0),f=Math.max(f,i.get(t)??0);const S=new Map;let h=0,m=0,d=0;for(const t of s){const p=c.get(t)??0,a=i.get(t)??0,o=u>0?Math.round(p/u*100):0,l=f>0?Math.round(a/f*100):0,e=o+l;S.set(t,{hash:t,listenerCount:p,loudCount:a,listenerScore:o,loudScore:l,blendedScore:e}),h=Math.max(h,o),m=Math.max(m,l),d=Math.max(d,e)}return{scores:S,maxListenerScore:h,maxLoudScore:m,maxBlendedScore:d}}const O={YELLOW:g.amber,GREEN:g.green,RED:g.red,GRAY:"#505050"};export{O as L,C as c};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e as a}from"./index-z7hs-Lqg.js";/**
import{e as a}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e as T,q as j,dv as S}from"./index-z7hs-Lqg.js";/**
import{e as T,q as j,dv as S}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1 +1 @@
import{co as a}from"./index-z7hs-Lqg.js";function o(r){var t;const e=((t=r.contact_type)==null?void 0:t.toLowerCase())??"";return e==="room server"||e==="room_server"||e==="room"||e==="server"?{type:"room_server",isRepeater:r.is_repeater===!0,isCompanion:!1,isRoomServer:!0,isClient:!1,label:"Room Server",badgeText:"ROOM"}:e==="companion"||e==="chat node"||e==="chat_node"||e==="chat"?{type:"companion",isRepeater:!1,isCompanion:!0,isRoomServer:!1,isClient:!1,label:"Companion",badgeText:"COMP"}:e==="client"||e==="cli"?{type:"companion",isRepeater:!1,isCompanion:!1,isRoomServer:!1,isClient:!0,label:"Client",badgeText:"CLI"}:e==="repeater"||e==="rep"?{type:"repeater",isRepeater:!0,isCompanion:!1,isRoomServer:!1,isClient:!1,label:"Repeater",badgeText:"RPT"}:r.is_repeater===!0?{type:"repeater",isRepeater:!0,isCompanion:!1,isRoomServer:!1,isClient:!1,label:"Repeater",badgeText:"RPT"}:{type:"unknown",isRepeater:!1,isCompanion:!1,isRoomServer:!1,isClient:!1,label:"Unknown",badgeText:""}}function n(r){switch(r){case a.GRP_TXT:case a.TXT_MSG:case a.REQ:case a.ANON_REQ:return"companion";case a.TRACE:case a.PATH:return"repeater";case a.GRP_DATA:return"room_server";default:return"unknown"}}function i(r){switch(r){case 1:return"companion";case 2:return"repeater";case 3:return"room_server";default:return"unknown"}}export{o as c,n as i,i as m};
import{co as a}from"./index-DeL-WnAD.js";function o(r){var t;const e=((t=r.contact_type)==null?void 0:t.toLowerCase())??"";return e==="room server"||e==="room_server"||e==="room"||e==="server"?{type:"room_server",isRepeater:r.is_repeater===!0,isCompanion:!1,isRoomServer:!0,isClient:!1,label:"Room Server",badgeText:"ROOM"}:e==="companion"||e==="chat node"||e==="chat_node"||e==="chat"?{type:"companion",isRepeater:!1,isCompanion:!0,isRoomServer:!1,isClient:!1,label:"Companion",badgeText:"COMP"}:e==="client"||e==="cli"?{type:"companion",isRepeater:!1,isCompanion:!1,isRoomServer:!1,isClient:!0,label:"Client",badgeText:"CLI"}:e==="repeater"||e==="rep"?{type:"repeater",isRepeater:!0,isCompanion:!1,isRoomServer:!1,isClient:!1,label:"Repeater",badgeText:"RPT"}:r.is_repeater===!0?{type:"repeater",isRepeater:!0,isCompanion:!1,isRoomServer:!1,isClient:!1,label:"Repeater",badgeText:"RPT"}:{type:"unknown",isRepeater:!1,isCompanion:!1,isRoomServer:!1,isClient:!1,label:"Unknown",badgeText:""}}function n(r){switch(r){case a.GRP_TXT:case a.TXT_MSG:case a.REQ:case a.ANON_REQ:return"companion";case a.TRACE:case a.PATH:return"repeater";case a.GRP_DATA:return"room_server";default:return"unknown"}}function i(r){switch(r){case 1:return"companion";case 2:return"repeater";case 3:return"room_server";default:return"unknown"}}export{o as c,n as i,i as m};
@@ -1 +1 @@
import{ax as o,c9 as d,fj as s,fi as c,hi as y,hj as f,hk as p}from"./index-z7hs-Lqg.js";function h(e){const a=e.payload_type??e.type;if(a!==o.TRACE||!e.payload)return null;try{const t=d(e.payload);let n=[];if(e._traceSnrPath!=null&&e._traceSnrPath.length>0)n=e._traceSnrPath;else if(e.raw_packet){const r=s(e.raw_packet,a);r&&r.length>0&&(n=r)}return c(t,n)}catch{return null}}function N(e){if((e.payload_type??e.type)!==o.ADVERT||!e.payload)return null;try{const t=d(e.payload),n=y(t);if(!n)return null;const r=n.publicKey.slice(0,2).toUpperCase(),l={...n,prefix:r};let i=null;return n.latitude&&n.longitude&&(i={latitude:n.latitude,longitude:n.longitude,name:n.name||`Node ${r||"??"}`,prefix:r,publicKey:n.publicKey}),{data:l,sourceNode:i}}catch{return null}}function u(e){if(!e)return null;const a=e.trim(),t=/(-?\d+\.?\d*)\s*[,\s]\s*(-?\d+\.?\d*)/,n=a.match(t);if(!n)return null;const r=parseFloat(n[1]),l=parseFloat(n[2]);return isNaN(r)||isNaN(l)||r<-90||r>90||l<-180||l>180||r===0&&l===0?null:{lat:r,lon:l}}function T(e){var t,n;if(!e.decrypted||!((t=e.channelName)!=null&&t.toLowerCase().includes("wardrive")))return null;const a=u(e.text);return a?{latitude:a.lat,longitude:a.lon,name:e.senderName||"Wardrive Ping",prefix:((n=e.senderName)==null?void 0:n.slice(0,2).toUpperCase())||"WD",nodeType:"wardrive"}:null}function C(e,a){const t=e.payload_type??e.type;if(t===o.TRACE){const n=h(e);if(n)return{kind:"trace",data:n,snrValues:n.snrValues}}if(t===o.ADVERT){const n=N(e);if(n)return{kind:"advert",data:n.data,sourceNode:n.sourceNode}}if(t===o.GRP_TXT&&a){const n=u(a.text),r=T(a);return{kind:"grp_txt",decoded:a,wardriveCoords:n,wardriveSourceNode:r}}if(t===o.CONTROL){const n=_(e);if(n)return{kind:"control",data:n}}if(t===o.ANON_REQ){const n=R(e);if(n)return{kind:"anon_req",data:n}}return{kind:"generic"}}function _(e){if((e.payload_type??e.type)!==o.CONTROL||!e.payload)return null;try{const t=d(e.payload);return f(t)}catch{return null}}function R(e){if((e.payload_type??e.type)!==o.ANON_REQ||!e.payload)return null;try{const t=d(e.payload),n=p(t);if(!n)return null;const r=n.senderPublicKey.slice(0,2).toUpperCase();return{...n,prefix:r}}catch{return null}}export{h as a,C as d,u as p};
import{ax as o,c9 as d,fj as s,fi as c,hi as y,hj as f,hk as p}from"./index-DeL-WnAD.js";function h(e){const a=e.payload_type??e.type;if(a!==o.TRACE||!e.payload)return null;try{const t=d(e.payload);let n=[];if(e._traceSnrPath!=null&&e._traceSnrPath.length>0)n=e._traceSnrPath;else if(e.raw_packet){const r=s(e.raw_packet,a);r&&r.length>0&&(n=r)}return c(t,n)}catch{return null}}function N(e){if((e.payload_type??e.type)!==o.ADVERT||!e.payload)return null;try{const t=d(e.payload),n=y(t);if(!n)return null;const r=n.publicKey.slice(0,2).toUpperCase(),l={...n,prefix:r};let i=null;return n.latitude&&n.longitude&&(i={latitude:n.latitude,longitude:n.longitude,name:n.name||`Node ${r||"??"}`,prefix:r,publicKey:n.publicKey}),{data:l,sourceNode:i}}catch{return null}}function u(e){if(!e)return null;const a=e.trim(),t=/(-?\d+\.?\d*)\s*[,\s]\s*(-?\d+\.?\d*)/,n=a.match(t);if(!n)return null;const r=parseFloat(n[1]),l=parseFloat(n[2]);return isNaN(r)||isNaN(l)||r<-90||r>90||l<-180||l>180||r===0&&l===0?null:{lat:r,lon:l}}function T(e){var t,n;if(!e.decrypted||!((t=e.channelName)!=null&&t.toLowerCase().includes("wardrive")))return null;const a=u(e.text);return a?{latitude:a.lat,longitude:a.lon,name:e.senderName||"Wardrive Ping",prefix:((n=e.senderName)==null?void 0:n.slice(0,2).toUpperCase())||"WD",nodeType:"wardrive"}:null}function C(e,a){const t=e.payload_type??e.type;if(t===o.TRACE){const n=h(e);if(n)return{kind:"trace",data:n,snrValues:n.snrValues}}if(t===o.ADVERT){const n=N(e);if(n)return{kind:"advert",data:n.data,sourceNode:n.sourceNode}}if(t===o.GRP_TXT&&a){const n=u(a.text),r=T(a);return{kind:"grp_txt",decoded:a,wardriveCoords:n,wardriveSourceNode:r}}if(t===o.CONTROL){const n=_(e);if(n)return{kind:"control",data:n}}if(t===o.ANON_REQ){const n=R(e);if(n)return{kind:"anon_req",data:n}}return{kind:"generic"}}function _(e){if((e.payload_type??e.type)!==o.CONTROL||!e.payload)return null;try{const t=d(e.payload);return f(t)}catch{return null}}function R(e){if((e.payload_type??e.type)!==o.ANON_REQ||!e.payload)return null;try{const t=d(e.payload),n=p(t);if(!n)return null;const r=n.senderPublicKey.slice(0,2).toUpperCase();return{...n,prefix:r}}catch{return null}}export{h as a,C as d,u as p};
@@ -1,4 +1,4 @@
import{e as a}from"./index-z7hs-Lqg.js";/**
import{e as a}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1 +1 @@
import{ew as n}from"./index-z7hs-Lqg.js";async function r(){return n("/api/transport_keys")}async function s(o){return n("/api/transport_keys",{method:"POST",body:JSON.stringify(o)})}async function a(o,t){return n(`/api/transport_key/${o}`,{method:"PUT",body:JSON.stringify(t)})}async function c(o){return n(`/api/transport_key/${o}`,{method:"DELETE"})}async function i(){return n("/api/unscoped_flood_policy")}async function y(o){return n("/api/unscoped_flood_policy",{method:"POST",body:JSON.stringify({unscoped_flood_allow:o})})}async function p(o){return n("/api/restart_service",{method:"POST",body:"{}",signal:o})}async function d(){return n("/api/check_pymc_console")}export{i as a,s as b,d as c,c as d,r as g,p as r,y as s,a as u};
import{ew as n}from"./index-DeL-WnAD.js";async function r(){return n("/api/transport_keys")}async function s(o){return n("/api/transport_keys",{method:"POST",body:JSON.stringify(o)})}async function a(o,t){return n(`/api/transport_key/${o}`,{method:"PUT",body:JSON.stringify(t)})}async function c(o){return n(`/api/transport_key/${o}`,{method:"DELETE"})}async function i(){return n("/api/unscoped_flood_policy")}async function y(o){return n("/api/unscoped_flood_policy",{method:"POST",body:JSON.stringify({unscoped_flood_allow:o})})}async function p(o){return n("/api/restart_service",{method:"POST",body:"{}",signal:o})}async function d(){return n("/api/check_pymc_console")}export{i as a,s as b,d as c,c as d,r as g,p as r,y as s,a as u};
@@ -1,4 +1,4 @@
import{e as c}from"./index-z7hs-Lqg.js";/**
import{e as c}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e}from"./index-z7hs-Lqg.js";/**
import{e}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
import{e as a}from"./index-z7hs-Lqg.js";/**
import{e as a}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
@@ -1 +1 @@
import{bj as c,r as o,aU as s}from"./index-z7hs-Lqg.js";let a=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function f(r){var u,n;let e=(u=r.innerText)!=null?u:"",l=r.cloneNode(!0);if(!c(l))return e;let t=!1;for(let F of l.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))F.remove(),t=!0;let i=t?(n=l.innerText)!=null?n:"":e;return a.test(i)&&(i=i.replace(a,"")),i}function m(r){let u=r.getAttribute("aria-label");if(typeof u=="string")return u.trim();let n=r.getAttribute("aria-labelledby");if(n){let e=n.split(" ").map(l=>{let t=document.getElementById(l);if(t){let i=t.getAttribute("aria-label");return typeof i=="string"?i.trim():f(t).trim()}return null}).filter(Boolean);if(e.length>0)return e.join(", ")}return f(r).trim()}function g(r){let u=o.useRef(""),n=o.useRef("");return s(()=>{let e=r.current;if(!e)return"";let l=e.innerText;if(u.current===l)return n.current;let t=m(e).trim().toLowerCase();return u.current=l,n.current=t,t})}export{g as s};
import{bj as c,r as o,aU as s}from"./index-DeL-WnAD.js";let a=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function f(r){var u,n;let e=(u=r.innerText)!=null?u:"",l=r.cloneNode(!0);if(!c(l))return e;let t=!1;for(let F of l.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))F.remove(),t=!0;let i=t?(n=l.innerText)!=null?n:"":e;return a.test(i)&&(i=i.replace(a,"")),i}function m(r){let u=r.getAttribute("aria-label");if(typeof u=="string")return u.trim();let n=r.getAttribute("aria-labelledby");if(n){let e=n.split(" ").map(l=>{let t=document.getElementById(l);if(t){let i=t.getAttribute("aria-label");return typeof i=="string"?i.trim():f(t).trim()}return null}).filter(Boolean);if(e.length>0)return e.join(", ")}return f(r).trim()}function g(r){let u=o.useRef(""),n=o.useRef("");return s(()=>{let e=r.current;if(!e)return"";let l=e.innerText;if(u.current===l)return n.current;let t=m(e).trim().toLowerCase();return u.current=l,n.current=t,t})}export{g as s};
@@ -1 +1 @@
import{r as a,bt as d,d1 as E}from"./index-z7hs-Lqg.js";function x(o,{container:e,accept:r,walk:t}){let n=a.useRef(r),c=a.useRef(t);a.useEffect(()=>{n.current=r,c.current=t},[r,t]),d(()=>{if(!e||!o)return;let u=E(e);if(!u)return;let f=n.current,l=c.current,i=Object.assign(p=>f(p),{acceptNode:f}),s=u.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,i,!1);for(;s.nextNode();)l(s.currentNode)},[e,o,n,c])}export{x as F};
import{r as a,bt as d,d1 as E}from"./index-DeL-WnAD.js";function x(o,{container:e,accept:r,walk:t}){let n=a.useRef(r),c=a.useRef(t);a.useEffect(()=>{n.current=r,c.current=t},[r,t]),d(()=>{if(!e||!o)return;let u=E(e);if(!u)return;let f=n.current,l=c.current,i=Object.assign(p=>f(p),{acceptNode:f}),s=u.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,i,!1);for(;s.nextNode();)l(s.currentNode)},[e,o,n,c])}export{x as F};
@@ -1,4 +1,4 @@
import{e as L,r as y,j as I,c_ as E,t as D}from"./index-z7hs-Lqg.js";import{A as H}from"./index-C1Lbv_wQ.js";/**
import{e as L,r as y,j as I,c_ as E,t as D}from"./index-DeL-WnAD.js";import{A as H}from"./index-h4zodNdb.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{t as A,r as S}from"./index-z7hs-Lqg.js";import{p as T}from"./payload-detail-B90vdWlt.js";function E(t){const r=[];for(const n of t){if(n.is_outgoing)continue;const o=T(n.text);o&&r.push({lat:o.lat,lon:o.lon,timestampS:n.timestamp,senderName:n.sender_name??"Unknown",pathHops:n.path_hops,pathSnr:n.path_snr,pathRssi:n.path_rssi,msgSnr:n.msg_snr})}return r.sort((n,o)=>n.timestampS-o.timestampS),r}function v(t,r){if(t.length===0)return null;if(r<=t[0].timestampS)return{lo:0,hi:0,t:0};if(r>=t[t.length-1].timestampS){const i=t.length-1;return{lo:i,hi:i,t:0}}let n=0,o=t.length-1;for(;n<o-1;){const i=n+o>>1;t[i].timestampS<=r?n=i:o=i}const e=t[o].timestampS-t[n].timestampS,a=e>0?(r-t[n].timestampS)/e:0;return{lo:n,hi:o,t:a}}function x(t,r,n,o,e){const a=e*e,i=a*e;return .5*(2*r+(-t+n)*e+(2*t-5*r+4*n-o)*a+(-t+3*r-3*n+o)*i)}function I(t,r,n,o){const e=Math.PI/180,a=(o-r)*e,i=Math.sin(a)*Math.cos(n*e),u=Math.cos(t*e)*Math.sin(n*e)-Math.sin(t*e)*Math.cos(n*e)*Math.cos(a);return(Math.atan2(i,u)*180/Math.PI+360)%360}function b(t,r){if(t.length===0)return null;const n=v(t,r);if(!n)return null;const{lo:o,hi:e,t:a}=n;if(o===e)return{lat:t[o].lat,lon:t[o].lon,bearing:null};const i=Math.max(0,o-1),u=o,h=e,g=Math.min(t.length-1,e+1),s=t[i],c=t[u],f=t[h],d=t[g];let m,p;i===u&&h===g?(m=c.lat+(f.lat-c.lat)*a,p=c.lon+(f.lon-c.lon)*a):(m=x(s.lat,c.lat,f.lat,d.lat,a),p=x(s.lon,c.lon,f.lon,d.lon,a));const P=I(c.lat,c.lon,f.lat,f.lon);return{lat:m,lon:p,bearing:P}}function $(t,r){const n=[];for(const e of t){if(e.timestampS>r)break;n.push([e.lon,e.lat])}const o=b(t,r);if(o&&n.length>0){const e=n[n.length-1];(Math.abs(e[0]-o.lon)>1e-7||Math.abs(e[1]-o.lat)>1e-7)&&n.push([o.lon,o.lat])}return n}function R(t,r){if(t.length===0)return null;if(t.length===1)return{lat:t[0].lat,lon:t[0].lon,bearing:null};const n=t.length-1,o=Math.max(0,Math.min(n,r)),e=Math.floor(o),a=Math.min(e+1,n),i=o-e;if(e===a)return{lat:t[e].lat,lon:t[e].lon,bearing:null};const u=Math.max(0,e-1),h=Math.min(n,a+1),g=t[u],s=t[e],c=t[a],f=t[h];let d,m;u===e&&a===h?(d=s.lat+(c.lat-s.lat)*i,m=s.lon+(c.lon-s.lon)*i):(d=x(g.lat,s.lat,c.lat,f.lat,i),m=x(g.lon,s.lon,c.lon,f.lon,i));const p=I(s.lat,s.lon,c.lat,c.lon);return{lat:d,lon:m,bearing:p}}function F(t,r){if(t.length===0)return[];const n=[],o=R(t,r);o&&n.push([o.lon,o.lat]);const e=Math.ceil(Math.max(0,r));for(let a=e;a<t.length;a++)n.push([t[a].lon,t[a].lat]);return n}function C(t){const r=Math.max(0,Math.round(t)),n=Math.floor(r/3600),o=Math.floor(r%3600/60),e=r%60;return n>0?`${n}:${String(o).padStart(2,"0")}:${String(e).padStart(2,"0")}`:`${o}:${String(e).padStart(2,"0")}`}const K=[2,5,10,20],M={isActive:!1,ownerKey:null,samples:[],isPlaying:!1,speed:5,currentIdx:0,currentTimeS:0,timeRange:{start:0,end:0}},l=A((t,r)=>({...M,startRewind:(n,o)=>{if(n.length<2){t({...M});return}const e=n.length-1,a={start:n[0].timestampS,end:n[e].timestampS};t({isActive:!0,ownerKey:o,samples:n,isPlaying:!0,speed:5,currentIdx:e,currentTimeS:a.end,timeRange:a})},togglePlay:()=>{var a;const{isPlaying:n,currentIdx:o,samples:e}=r();if(n)t({isPlaying:!1});else if(o<=0){const i=e.length-1;t({isPlaying:!0,currentIdx:i,currentTimeS:((a=e[i])==null?void 0:a.timestampS)??0})}else t({isPlaying:!0})},pause:()=>t({isPlaying:!1}),setSpeed:n=>t({speed:n}),seek:n=>{const{samples:o}=r();if(o.length<2)return;const e=o.length-1,a=Math.max(0,Math.min(e,n*e));t({currentIdx:a,currentTimeS:y(o,a)})},stopRewind:()=>t({...M}),tick:n=>{const{isPlaying:o,speed:e,currentIdx:a,samples:i}=r();if(!o||i.length<2)return;const u=e*(n/1e3),h=a-u;h<=0?t({currentIdx:0,currentTimeS:i[0].timestampS,isPlaying:!1}):t({currentIdx:h,currentTimeS:y(i,h)})}}));function y(t,r){if(t.length===0)return 0;const n=t.length-1,o=Math.max(0,Math.min(n,r)),e=Math.floor(o),a=Math.min(e+1,n);if(e===a)return t[e].timestampS;const i=o-e;return t[e].timestampS+i*(t[a].timestampS-t[e].timestampS)}const L=()=>l(t=>t.isActive),W=()=>l(t=>t.ownerKey),k=()=>l(t=>t.isPlaying),q=()=>l(t=>t.currentIdx),B=()=>l(t=>t.currentTimeS),D=()=>l(t=>t.speed),H=()=>l(t=>t.timeRange),N=()=>l(t=>t.samples);function j(){const{isActive:t,samples:r,currentIdx:n}=l.getState();return!t||r.length===0?null:R(r,n)}function O(){var e;const{isActive:t,samples:r,currentIdx:n}=l.getState();if(!t||r.length===0)return;const o=Math.round(Math.max(0,Math.min(r.length-1,n)));return(e=r[o])==null?void 0:e.pathHops}function U(){const t=k(),r=S.useRef(0),n=S.useRef(0);S.useEffect(()=>{if(!t){n.current=0;return}const o=l.getState().tick,e=a=>{if(n.current>0){const i=Math.min(a-n.current,100);o(i)}n.current=a,r.current=requestAnimationFrame(e)};return r.current=requestAnimationFrame(e),()=>{cancelAnimationFrame(r.current),n.current=0}},[t])}export{K as R,k as a,B as b,D as c,H as d,l as e,C as f,E as g,j as h,O as i,N as j,U as k,W as l,q as m,R as p,F as r,$ as t,L as u};
import{t as A,r as S}from"./index-DeL-WnAD.js";import{p as T}from"./payload-detail-x6Ma7CKa.js";function E(t){const r=[];for(const n of t){if(n.is_outgoing)continue;const o=T(n.text);o&&r.push({lat:o.lat,lon:o.lon,timestampS:n.timestamp,senderName:n.sender_name??"Unknown",pathHops:n.path_hops,pathSnr:n.path_snr,pathRssi:n.path_rssi,msgSnr:n.msg_snr})}return r.sort((n,o)=>n.timestampS-o.timestampS),r}function v(t,r){if(t.length===0)return null;if(r<=t[0].timestampS)return{lo:0,hi:0,t:0};if(r>=t[t.length-1].timestampS){const i=t.length-1;return{lo:i,hi:i,t:0}}let n=0,o=t.length-1;for(;n<o-1;){const i=n+o>>1;t[i].timestampS<=r?n=i:o=i}const e=t[o].timestampS-t[n].timestampS,a=e>0?(r-t[n].timestampS)/e:0;return{lo:n,hi:o,t:a}}function x(t,r,n,o,e){const a=e*e,i=a*e;return .5*(2*r+(-t+n)*e+(2*t-5*r+4*n-o)*a+(-t+3*r-3*n+o)*i)}function I(t,r,n,o){const e=Math.PI/180,a=(o-r)*e,i=Math.sin(a)*Math.cos(n*e),u=Math.cos(t*e)*Math.sin(n*e)-Math.sin(t*e)*Math.cos(n*e)*Math.cos(a);return(Math.atan2(i,u)*180/Math.PI+360)%360}function b(t,r){if(t.length===0)return null;const n=v(t,r);if(!n)return null;const{lo:o,hi:e,t:a}=n;if(o===e)return{lat:t[o].lat,lon:t[o].lon,bearing:null};const i=Math.max(0,o-1),u=o,h=e,g=Math.min(t.length-1,e+1),s=t[i],c=t[u],f=t[h],d=t[g];let m,p;i===u&&h===g?(m=c.lat+(f.lat-c.lat)*a,p=c.lon+(f.lon-c.lon)*a):(m=x(s.lat,c.lat,f.lat,d.lat,a),p=x(s.lon,c.lon,f.lon,d.lon,a));const P=I(c.lat,c.lon,f.lat,f.lon);return{lat:m,lon:p,bearing:P}}function $(t,r){const n=[];for(const e of t){if(e.timestampS>r)break;n.push([e.lon,e.lat])}const o=b(t,r);if(o&&n.length>0){const e=n[n.length-1];(Math.abs(e[0]-o.lon)>1e-7||Math.abs(e[1]-o.lat)>1e-7)&&n.push([o.lon,o.lat])}return n}function R(t,r){if(t.length===0)return null;if(t.length===1)return{lat:t[0].lat,lon:t[0].lon,bearing:null};const n=t.length-1,o=Math.max(0,Math.min(n,r)),e=Math.floor(o),a=Math.min(e+1,n),i=o-e;if(e===a)return{lat:t[e].lat,lon:t[e].lon,bearing:null};const u=Math.max(0,e-1),h=Math.min(n,a+1),g=t[u],s=t[e],c=t[a],f=t[h];let d,m;u===e&&a===h?(d=s.lat+(c.lat-s.lat)*i,m=s.lon+(c.lon-s.lon)*i):(d=x(g.lat,s.lat,c.lat,f.lat,i),m=x(g.lon,s.lon,c.lon,f.lon,i));const p=I(s.lat,s.lon,c.lat,c.lon);return{lat:d,lon:m,bearing:p}}function F(t,r){if(t.length===0)return[];const n=[],o=R(t,r);o&&n.push([o.lon,o.lat]);const e=Math.ceil(Math.max(0,r));for(let a=e;a<t.length;a++)n.push([t[a].lon,t[a].lat]);return n}function C(t){const r=Math.max(0,Math.round(t)),n=Math.floor(r/3600),o=Math.floor(r%3600/60),e=r%60;return n>0?`${n}:${String(o).padStart(2,"0")}:${String(e).padStart(2,"0")}`:`${o}:${String(e).padStart(2,"0")}`}const K=[2,5,10,20],M={isActive:!1,ownerKey:null,samples:[],isPlaying:!1,speed:5,currentIdx:0,currentTimeS:0,timeRange:{start:0,end:0}},l=A((t,r)=>({...M,startRewind:(n,o)=>{if(n.length<2){t({...M});return}const e=n.length-1,a={start:n[0].timestampS,end:n[e].timestampS};t({isActive:!0,ownerKey:o,samples:n,isPlaying:!0,speed:5,currentIdx:e,currentTimeS:a.end,timeRange:a})},togglePlay:()=>{var a;const{isPlaying:n,currentIdx:o,samples:e}=r();if(n)t({isPlaying:!1});else if(o<=0){const i=e.length-1;t({isPlaying:!0,currentIdx:i,currentTimeS:((a=e[i])==null?void 0:a.timestampS)??0})}else t({isPlaying:!0})},pause:()=>t({isPlaying:!1}),setSpeed:n=>t({speed:n}),seek:n=>{const{samples:o}=r();if(o.length<2)return;const e=o.length-1,a=Math.max(0,Math.min(e,n*e));t({currentIdx:a,currentTimeS:y(o,a)})},stopRewind:()=>t({...M}),tick:n=>{const{isPlaying:o,speed:e,currentIdx:a,samples:i}=r();if(!o||i.length<2)return;const u=e*(n/1e3),h=a-u;h<=0?t({currentIdx:0,currentTimeS:i[0].timestampS,isPlaying:!1}):t({currentIdx:h,currentTimeS:y(i,h)})}}));function y(t,r){if(t.length===0)return 0;const n=t.length-1,o=Math.max(0,Math.min(n,r)),e=Math.floor(o),a=Math.min(e+1,n);if(e===a)return t[e].timestampS;const i=o-e;return t[e].timestampS+i*(t[a].timestampS-t[e].timestampS)}const L=()=>l(t=>t.isActive),W=()=>l(t=>t.ownerKey),k=()=>l(t=>t.isPlaying),q=()=>l(t=>t.currentIdx),B=()=>l(t=>t.currentTimeS),D=()=>l(t=>t.speed),H=()=>l(t=>t.timeRange),N=()=>l(t=>t.samples);function j(){const{isActive:t,samples:r,currentIdx:n}=l.getState();return!t||r.length===0?null:R(r,n)}function O(){var e;const{isActive:t,samples:r,currentIdx:n}=l.getState();if(!t||r.length===0)return;const o=Math.round(Math.max(0,Math.min(r.length-1,n)));return(e=r[o])==null?void 0:e.pathHops}function U(){const t=k(),r=S.useRef(0),n=S.useRef(0);S.useEffect(()=>{if(!t){n.current=0;return}const o=l.getState().tick,e=a=>{if(n.current>0){const i=Math.min(a-n.current,100);o(i)}n.current=a,r.current=requestAnimationFrame(e)};return r.current=requestAnimationFrame(e),()=>{cancelAnimationFrame(r.current),n.current=0}},[t])}export{K as R,k as a,B as b,D as c,H as d,l as e,C as f,E as g,j as h,O as i,N as j,U as k,W as l,q as m,R as p,F as r,$ as t,L as u};
@@ -1,4 +1,4 @@
import{e as t,en as a,eo as i}from"./index-z7hs-Lqg.js";/**
import{e as t,en as a,eo as i}from"./index-DeL-WnAD.js";/**
* @license lucide-react v0.559.0 - ISC
*
* This source code is licensed under the ISC license.

Some files were not shown because too many files have changed in this diff Show More