Files
pymc_console-dist/frontend/dist/assets/primitives-Bgn6Ik6L.js
GitHub Actions Bot c8c3f164ee Sync build v0.9.286
Automated sync from private repository.
Commit: fad7f9633de61427bfc2c672b7ddecaa0952d717
2026-02-27 07:48:08 +00:00

2 lines
11 KiB
JavaScript

import{P as e,c as t,e as s,f as n}from"./payload-decoders-_TRhCJrs.js";import{a8 as r,a7 as a,ae as l,cr as o,Q as i,cb as c,cc as d,cd as p}from"./index-CkRTgHHA.js";import{j as u,r as x}from"./vendor-react-alRNW2nb.js";function g(s){if(!s||s.length<4)return null;const n=e.fromHex(s);if(!n.success||!n.packet)return null;const l=n.packet,o=function(e){const t=3&e,s=e>>2&15,n=e>>6&3;return[{bits:"0-1",field:"Route Type",value:r(t),binary:(3&t).toString(2).padStart(2,"0")},{bits:"2-5",field:"Payload Type",value:a(s),binary:(15&s).toString(2).padStart(4,"0")},{bits:"6-7",field:"Version",value:n.toString(),binary:(3&n).toString(2).padStart(2,"0")}]}(l.header),i=s.slice(0,2);let c=2,d="";l.hasTransportCodes()&&(d=s.slice(2,10),c=10);const p=s.slice(c,c+2),u=c+2,x=u+2*l.pathLen,g=s.slice(u,x),m=s.slice(x),f=t(l);return{packet:l,headerHex:i,headerFields:o,transportCodesHex:d,pathLengthHex:p,pathDataHex:g,payloadHex:m,pathLenByteOffset:Math.floor(c/2),pathByteOffset:Math.floor(u/2),payloadStartByte:Math.floor(x/2),decoded:f}}function m(e){if(!e||e.length<8)return null;const t=parseInt(e.slice(0,2),16),s=parseInt(e.slice(2,4),16),n=parseInt(e.slice(4,6),16),r=parseInt(e.slice(6,8),16);return isNaN(t)||isNaN(s)||isNaN(n)||isNaN(r)?null:((t|s<<8|n<<16|r<<24)>>>0).toString(16).toUpperCase().padStart(8,"0")}function f(e){return e>=10?"excellent":e>=5?"good":e>=0?"fair":e>=-5?"poor":"critical"}function y(e){if(!e.payload)return null;try{const t=l(e.payload),n=function(e){if(null!=e._traceSnrPath&&e._traceSnrPath.length>0)return e._traceSnrPath;if(e.raw_packet){const t=e.payload_type??e.type,s=o(e.raw_packet,t);if(s&&s.length>0)return s}return[]}(e),r=s(t,n);return r?{packet:e,decoded:r,timestamp:e.timestamp??0,hopCount:r.snrValues.length,rssi:e.rssi,snr:e.snr}:null}catch{return null}}function h(e){const t=new Map;for(const s of e){const e=y(s);if(!e)continue;const n=e.decoded.traceTag,r=t.get(n)||[];r.push(e),t.set(n,r)}for(const[s,n]of t)n.sort((e,t)=>e.timestamp-t.timestamp),t.set(s,n);return t}function b(e,t){if(0===t.length)return{traceTag:e,traceTagValue:0,targetPath:[],targetHopCount:0,observations:[],observationCount:0,firstSeen:0,lastSeen:0,duration:0,isComplete:!1,maxHopsObserved:0,progressPercent:0,bestObservation:null,hopStats:[],linkQuality:null};const s=[...t].sort((e,t)=>e.timestamp-t.timestamp),n=s.reduce((e,t)=>t.hopCount>e.hopCount?t:e,s[0]),r=s[0].timestamp,a=s[s.length-1].timestamp,l=n.decoded.pathHashes,o=l.length,i=n.hopCount,c=n.decoded.isComplete,d=[],p=n.decoded.snrValues;for(let x=0;x<p.length&&x<l.length;x++)d.push({prefix:l[x],snr:p[x],position:x,quality:f(p[x])});let u=null;if(p.length>0){const e=Math.min(...p),t=Math.max(...p);u={minSnr:e,maxSnr:t,avgSnr:p.reduce((e,t)=>e+t,0)/p.length,weakestLinkPosition:p.indexOf(e),strongestLinkPosition:p.indexOf(t)}}return{traceTag:e,traceTagValue:n.decoded.traceTagValue,targetPath:l,targetHopCount:o,observations:s,observationCount:s.length,firstSeen:r,lastSeen:a,duration:a-r,isComplete:c,maxHopsObserved:i,progressPercent:o>0?Math.round(i/o*100):0,bestObservation:n,hopStats:d,linkQuality:u,srcHash:n.packet.src_hash,dstHash:n.packet.dst_hash}}function N(e){const t=e.payload_type??e.type;if(t!==i.TRACE||!e.payload)return null;try{const n=l(e.payload);let r=[];if(null!=e._traceSnrPath&&e._traceSnrPath.length>0)r=e._traceSnrPath;else if(e.raw_packet){const s=o(e.raw_packet,t);s&&s.length>0&&(r=s)}return s(n,r)}catch{return null}}function v(e){if(!e)return null;const t=e.trim().match(/(-?\d+\.?\d*)\s*[,\s]\s*(-?\d+\.?\d*)/);if(!t)return null;const s=parseFloat(t[1]),n=parseFloat(t[2]);return isNaN(s)||isNaN(n)||s<-90||s>90||n<-180||n>180||0===s&&0===n?null:{lat:s,lon:n}}function j(e,t){const s=e.payload_type??e.type;if(s===i.TRACE){const t=N(e);if(t)return{kind:"trace",data:t,snrValues:t.snrValues}}if(s===i.ADVERT){const t=function(e){if((e.payload_type??e.type)!==i.ADVERT||!e.payload)return null;try{const t=l(e.payload),s=n(t);if(!s)return null;const r=s.publicKey.slice(0,2).toUpperCase(),a={...s,prefix:r};let o=null;return s.latitude&&s.longitude&&(o={latitude:s.latitude,longitude:s.longitude,name:s.name||`Node ${r||"??"}`,prefix:r,publicKey:s.publicKey}),{data:a,sourceNode:o}}catch{return null}}(e);if(t)return{kind:"advert",data:t.data,sourceNode:t.sourceNode}}return s===i.GRP_TXT&&t?{kind:"grp_txt",decoded:t,wardriveCoords:v(t.text),wardriveSourceNode:function(e){var t,s;if(!e.decrypted)return null;if(!(null==(t=e.channelName)?void 0:t.toLowerCase().includes("wardrive")))return null;const n=v(e.text);return n?{latitude:n.lat,longitude:n.lon,name:e.senderName||"Wardrive Ping",prefix:(null==(s=e.senderName)?void 0:s.slice(0,2).toUpperCase())||"WD",nodeType:"wardrive"}:null}(t)}:{kind:"generic"}}const k={zinc:{stem:"bg-zinc-500/40",dot:"bg-zinc-400",row:"bg-zinc-500/8",text:"text-fg-muted/60",chip:"bg-zinc-500/20 text-fg-muted"},green:{stem:"bg-sys-green/50",dot:"bg-sys-green",row:"bg-sys-green/8",text:"text-sys-green",chip:"bg-sys-green/15 text-sys-green"},amber:{stem:"bg-sys-amber/50",dot:"bg-sys-amber",row:"bg-sys-amber/8",text:"text-sys-amber",chip:"bg-sys-amber/15 text-sys-amber"},red:{stem:"bg-sys-red/50",dot:"bg-sys-red",row:"bg-sys-red/8",text:"text-sys-red",chip:"bg-sys-red/15 text-sys-red"},blue:{stem:"bg-sys-blue/50",dot:"bg-sys-blue",row:"bg-sys-blue/8",text:"text-sys-blue",chip:"bg-sys-blue/15 text-sys-blue"},purple:{stem:"bg-sys-purple/50",dot:"bg-sys-purple",row:"bg-sys-purple/8",text:"text-sys-purple",chip:"bg-sys-purple/15 text-sys-purple"},teal:{stem:"bg-sys-teal/50",dot:"bg-sys-teal",row:"bg-sys-teal/8",text:"text-sys-teal",chip:"bg-sys-teal/15 text-sys-teal"},cyan:{stem:"bg-sys-cyan/50",dot:"bg-sys-cyan",row:"bg-sys-cyan/8",text:"text-sys-cyan",chip:"bg-sys-cyan/15 text-sys-cyan"},sky:{stem:"bg-sys-sky/50",dot:"bg-sys-sky",row:"bg-sys-sky/8",text:"text-sys-sky",chip:"bg-sys-sky/15 text-sys-sky"},pink:{stem:"bg-sys-pink/50",dot:"bg-sys-pink",row:"bg-sys-pink/8",text:"text-sys-pink",chip:"bg-sys-pink/15 text-sys-pink"},orange:{stem:"bg-sys-orange/50",dot:"bg-sys-orange",row:"bg-sys-orange/8",text:"text-sys-orange",chip:"bg-sys-orange/15 text-sys-orange"}};Object.fromEntries(Object.entries(k).map(([e,t])=>[e,t.text]));const w=x.createContext("");function S({prefix:e,children:t}){return u.jsx(w.Provider,{value:e,children:t})}function C(){return x.useContext(w)}function $({children:e,color:t="zinc"}){var s;return u.jsx("span",{className:`inline-flex items-center px-1.5 py-px rounded-full text-[9px] font-mono font-medium leading-tight ${(null==(s=k[t])?void 0:s.chip)??k.zinc.chip}`,children:e})}function P({fn:e,value:t,color:s="zinc"}){var n;const r=C(),a=r?`${r}(${e})`:e;return u.jsxs("span",{title:a,className:"inline-flex items-baseline gap-0 font-mono",children:[u.jsx("span",{className:"text-fg-muted/40",children:e}),u.jsx("span",{className:"text-fg-muted/20",children:"("}),t?u.jsx("span",{className:(null==(n=k[s])?void 0:n.text)??k.zinc.text,children:t}):u.jsx("span",{className:"text-fg-muted/20",children:"·"}),u.jsx("span",{className:"text-fg-muted/20",children:")"})]})}function _({label:e,children:t,mono:s=!0,padY:n=!1}){const r=C(),a=e.trim(),l=r?`${r}(${a})`:a;return u.jsxs("div",{className:"flex items-center gap-2 "+(n?"py-1":"py-0.5"),children:[u.jsx("dt",{className:"text-fg-muted shrink-0 w-28 text-right",children:e}),u.jsx("dd",{title:l,className:s?"text-fg-primary break-all":"text-fg-primary",children:t})]})}function T({value:e,className:t}){const s="number"==typeof e?`0x${e.toString(16).toUpperCase().padStart(2,"0")}`:e.startsWith("0x")?e:`0x${e}`;return u.jsx("span",{className:t??"text-sys-blue",children:s})}function z({value:e}){const t="number"==typeof e?e.toString(16).toUpperCase().padStart(2,"0"):e.replace(/^0x/i,"").toUpperCase();return u.jsxs("span",{className:"px-1 py-px rounded bg-zinc-500/15 text-fg-secondary font-mono text-[11px]",children:["0x",t]})}function H({value:e}){return u.jsx("span",{className:"px-1 py-px rounded bg-zinc-500/10 text-fg-muted font-mono text-[10px]",children:e.toString(2).padStart(8,"0")})}function M({raw:e,children:t}){return u.jsxs("span",{className:"inline-flex items-center gap-1.5 flex-wrap",children:[u.jsx("span",{className:"font-mono text-fg-muted",children:e}),u.jsx("span",{className:"text-fg-muted/40 text-[10px]",children:"→"}),t]})}const O={blue:"text-sys-blue",amber:"text-sys-amber",green:"text-sys-green",teal:"text-sys-teal",purple:"text-sys-purple"};function V({hops:e,hexPrefix:t,color:s="amber"}){if(0===e.length)return u.jsx("span",{className:"text-fg-muted italic",children:"∅ zero-hop"});const n=O[s]??O.amber;return u.jsxs("span",{className:"inline-flex items-center gap-1 flex-wrap",children:[t&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"font-mono text-fg-muted text-[10px]",children:t}),u.jsx("span",{className:"text-fg-muted/40 text-[10px] mx-0.5",children:"→"})]}),e.map((e,t)=>u.jsxs("span",{className:"inline-flex items-center",children:[t>0&&u.jsx("span",{className:"text-fg-muted/40 text-[10px]",children:"→"}),u.jsx("span",{className:`inline-block border border-edge-subtle rounded px-1.5 py-0.5 font-mono text-[11px] ${n}`,children:e.toUpperCase()})]},t))]})}function R({title:e}){return u.jsx("div",{className:"mt-2 pt-2 border-t border-edge-subtle",children:e&&u.jsx("p",{className:"text-sys-amber font-semibold mb-0.5",children:e})})}function U(e){if(!e||e<=0)return"never";const t=Math.floor(Date.now()/1e3)-e;return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}function L(e){return e>0?"green":"zinc"}function A({children:e,c:t}){return u.jsx("span",{className:t??"text-fg-muted",children:e})}function D({tokens:e,label:t="emits"}){const s=e.filter(e=>null!=e.value&&""!==e.value);if(0===s.length)return null;const n=[];let r;for(let a=0;a<s.length;a++){const e=s[a].group;e&&e!==r?(n.push({type:"label",group:e}),r=e):!e&&r&&(r=void 0),n.push({type:"token",token:s[a],idx:a})}return u.jsx("div",{className:"mt-3 pt-2 border-t border-dashed border-edge-subtle/40",children:u.jsxs(c,{children:[u.jsxs(d,{className:"text-[8px] uppercase tracking-widest font-mono w-full text-left",children:[u.jsxs("span",{className:"text-fg-muted/30",children:[t," →"]}),u.jsxs("span",{className:"ml-1.5 text-fg-muted/50",children:[s.length," tokens"]})]}),u.jsx(p,{children:u.jsx("div",{className:"flex flex-wrap items-center gap-x-1.5 gap-y-1 mt-1",children:n.map((e,t)=>{var s;if("label"===e.type)return u.jsx("span",{className:"text-[8px] text-fg-muted/40 uppercase tracking-wider font-mono",children:e.group},`g-${t}`);const n=e.token,r=n.raw?`${n.fn}(${n.raw}${n.value})`:`${n.fn}(${n.value})`;return u.jsx("span",{title:r,className:`inline-block border border-edge-subtle rounded px-1.5 py-0.5 font-mono cursor-default ${(null==(s=k[n.color??"zinc"])?void 0:s.text)??k.zinc.text}`,children:n.value},e.idx)})})})]})})}export{k as A,H as B,$ as C,z as H,_ as K,V as P,M as R,S,P as T,N as a,b,D as c,j as d,m as e,R as f,h as g,T as h,A as i,U as j,g as p,L as s};