mirror of
https://github.com/pyMC-dev/pyMC_Repeater.git
synced 2026-06-26 21:11:34 +02:00
1 line
7.2 KiB
JavaScript
1 line
7.2 KiB
JavaScript
import{U as e,o as t}from"./runtime-core.esm-bundler-CINEgm0a.js";import{t as n,v as r}from"./api-DSaJA91r.js";var i=r(`packets`,()=>{let r=e(null),i=e(null),a=e([]),o=e([]),s=e(null),c=e(null),l=e(0),u=e(!1),d=e(null),f=e(null),p=e([]),m=e([]),h=e(null),g=e(0),_=e([]),v=e({rx:0,tx:0,drop:0}),y=e({rx:0,tx:0,drop:0}),b=t(()=>r.value!==null),x=t(()=>i.value!==null),S=t(()=>a.value.length>0),C=t(()=>o.value.length>0),w=t(()=>l.value>=5?null:c.value),T=t(()=>r.value?.total_packets??0),E=t(()=>r.value?.avg_rssi??0),D=t(()=>r.value?.avg_snr??0),O=t(()=>i.value?.uptime_seconds??0),k=t(()=>{if(!r.value?.packet_types)return[];let e=r.value.packet_types,t=e.reduce((e,t)=>e+t.count,0);return e.map(e=>({type:e.type.toString(),count:e.count,percentage:t>0?e.count/t*100:0}))}),A=t(()=>{let e={};return a.value.forEach(t=>{e[t.type]||(e[t.type]=[]),e[t.type].push(t)}),e});async function j(){try{let e=await n.get(`/stats`);if(e.success&&e.data){i.value=e.data;let t=new Date;return m.value.push({timestamp:t,stats:e.data}),m.value.length>50&&(m.value=m.value.slice(-50)),e.data}else if(e&&`version`in e){let t=e;i.value=t;let n=new Date;return m.value.push({timestamp:n,stats:t}),m.value.length>50&&(m.value=m.value.slice(-50)),t}else throw Error(e.error||`Failed to fetch system stats`)}catch(e){throw d.value=e instanceof Error?e.message:`Unknown error occurred`,console.error(`Error fetching system stats:`,e),e}}async function M(e={hours:24}){try{let t=await n.get(`/noise_floor_history`,e);if(t.success&&t.data&&t.data.history){o.value=t.data.history,f.value=new Date;let e=t.data.history.filter(e=>e.noise_floor_dbm!==0);return e.length>0?(l.value=0,c.value=e[e.length-1].noise_floor_dbm):l.value++,t.data.history}else throw Error(t.error||`Failed to fetch noise floor history`)}catch(e){throw d.value=e instanceof Error?e.message:`Unknown error occurred`,console.error(`Error fetching noise floor history:`,e),e}}async function N(e={hours:24}){try{let t=await n.get(`/noise_floor_stats`,e);if(t.success&&t.data&&t.data.stats)return s.value=t.data.stats,f.value=new Date,t.data.stats;throw Error(t.error||`Failed to fetch noise floor stats`)}catch(e){throw d.value=e instanceof Error?e.message:`Unknown error occurred`,console.error(`Error fetching noise floor stats:`,e),e}}function P(e){if(!e)return;let t=Math.floor(Date.now()/1e3),n=o.value[o.value.length-1];n&&Math.abs(n.timestamp-t)<2&&n.noise_floor_dbm===e||(o.value=[...o.value,{timestamp:t,noise_floor_dbm:e}])}async function F(e={hours:24}){try{u.value=!0,d.value=null;let t=await n.get(`/packet_stats`,e);if(t.success&&t.data){r.value=t.data;let e=new Date;p.value.push({timestamp:e,stats:t.data}),p.value.length>50&&(p.value=p.value.slice(-50)),f.value=e}else throw Error(t.error||`Failed to fetch packet stats`)}catch(e){d.value=e instanceof Error?e.message:`Unknown error occurred`,console.error(`Error fetching packet stats:`,e)}finally{u.value=!1}}async function I(e={limit:100}){try{u.value=!0,d.value=null;let t=await n.get(`/recent_packets`,e);if(t.success&&t.data)a.value=t.data,f.value=new Date;else throw Error(t.error||`Failed to fetch recent packets`)}catch(e){d.value=e instanceof Error?e.message:`Unknown error occurred`,console.error(`Error fetching recent packets:`,e)}finally{u.value=!1}}async function L(e){try{u.value=!0,d.value=null;let t=await n.get(`/filtered_packets`,e);if(t.success&&t.data)return a.value=t.data,f.value=new Date,t.data;throw Error(t.error||`Failed to fetch filtered packets`)}catch(e){throw d.value=e instanceof Error?e.message:`Unknown error occurred`,console.error(`Error fetching filtered packets:`,e),e}finally{u.value=!1}}async function R(e){try{u.value=!0,d.value=null;let t=await n.get(`/packet_by_hash`,{packet_hash:e});if(t.success&&t.data)return t.data;throw Error(t.error||`Packet not found`)}catch(e){throw d.value=e instanceof Error?e.message:`Unknown error occurred`,console.error(`Error fetching packet by hash:`,e),e}finally{u.value=!1}}let z=t(()=>{if(!h.value?.series)return{totalPackets:[],transmittedPackets:[],droppedPackets:[],policyEvents:[],crcErrors:_.value.map(e=>e.count),currentRates:v.value};let e=h.value.series.find(e=>e.type===`rx_count`),t=h.value.series.find(e=>e.type===`tx_count`),n=h.value.series.find(e=>e.type===`policy_events`),r=e?.data||[],i=t?.data||[],a=r.map((e,t)=>{let n=i[t];return n?Math.max(0,e[1]-n[1]):e[1]});return{totalPackets:r.map(e=>e[1]),transmittedPackets:i.map(e=>e[1]),droppedPackets:a,policyEvents:(n?.data||[]).map(e=>e[1]),crcErrors:_.value.map(e=>e.count),currentRates:v.value}}),B=t(()=>{let e=p.value,t=m.value;return{totalPackets:e.map(e=>e.stats.total_packets),transmittedPackets:e.map(e=>e.stats.transmitted_packets),droppedPackets:e.map(e=>e.stats.dropped_packets),avgRssi:e.map(e=>e.stats.avg_rssi),uptimeHours:t.map(e=>Math.floor((e.stats.uptime_seconds||0)/3600))}});async function V(e=3e4){await Promise.all([j(),F(),I(),M({hours:1}),N({hours:1})]);let t=setInterval(async()=>{try{await Promise.all([j(),F(),I(),M({hours:1}),N({hours:1})])}catch(e){console.error(`Auto-refresh error:`,e)}},e);return()=>clearInterval(t)}async function H(e=24){try{let[t,r]=await Promise.all([n.get(`/crc_error_count`,{hours:e}),n.get(`/crc_error_history`,{hours:e})]);t?.success&&t.data&&(g.value=t.data.crc_error_count??0),r?.success&&r.data&&(_.value=r.data.history??[])}catch(e){console.error(`Failed to fetch CRC error data:`,e)}}async function U(){try{let[e]=await Promise.all([n.get(`/metrics_graph_data`,{hours:24,resolution:`average`,metrics:`rx_count,tx_count,policy_events`}),H(24)]);e?.success&&e.data&&(h.value=e.data)}catch(e){console.error(`Failed to fetch sparkline data:`,e)}}async function W(){await U()}function G(){U()}function K(){r.value=null,i.value=null,a.value=[],o.value=[],s.value=null,p.value=[],m.value=[],h.value=null,g.value=0,_.value=[],v.value={rx:0,tx:0,drop:0},y.value={rx:0,tx:0,drop:0},d.value=null,f.value=null,u.value=!1}function q(e){a.value.unshift(e),a.value.length>1e3&&(a.value=a.value.slice(0,1e3))}function J(e){let t=new Set(a.value.map(e=>e.packet_hash)),n=e.filter(e=>!t.has(e.packet_hash));if(n.length===0)return;let r=[...n,...a.value];r.sort((e,t)=>t.timestamp-e.timestamp),a.value=r.slice(0,1e3)}function Y(e){if(e.packet_stats){r.value=e.packet_stats;let t=new Date;p.value.push({timestamp:t,stats:e.packet_stats}),p.value.length>50&&(p.value=p.value.slice(-50))}if(e.system_stats){i.value=e.system_stats;let t=new Date;m.value.push({timestamp:t,stats:e.system_stats}),m.value.length>50&&(m.value=m.value.slice(-50))}f.value=new Date}return{packetStats:r,systemStats:i,recentPackets:a,noiseFloorHistory:o,noiseFloorStats:s,packetStatsHistory:p,systemStatsHistory:m,isLoading:u,error:d,lastUpdated:f,hasPacketStats:b,hasSystemStats:x,hasRecentPackets:S,hasNoiseFloorData:C,currentNoiseFloor:w,totalPackets:T,averageRSSI:E,averageSNR:D,uptime:O,packetTypeBreakdown:k,recentPacketsByType:A,sparklineData:z,legacySparklineData:B,crcErrorCount:g,crcErrorHistory:_,metricsGraphData:h,interpolatedRates:v,fetchSystemStats:j,fetchPacketStats:F,fetchCrcErrors:H,fetchRecentPackets:I,fetchFilteredPackets:L,getPacketByHash:R,fetchNoiseFloorHistory:M,fetchNoiseFloorStats:N,appendNoiseFloorReading:P,startAutoRefresh:V,initializeSparklineHistory:W,interpolateRates:G,reset:K,addRealtimePacket:q,mergeRecentPackets:J,updateRealtimeStats:Y}});export{i as t}; |