Sync build v0.9.195

Automated sync from private repository.
Commit: f0b9f5cc884f073df6c5886e881f1792c4705296
This commit is contained in:
GitHub Actions Bot
2026-01-29 18:29:14 +00:00
parent ec0e888042
commit f1ba7bed23
25 changed files with 28 additions and 28 deletions
+1 -1
View File
@@ -1 +1 @@
0.9.194
0.9.195
@@ -1 +1 @@
import{j as e}from"./vendor-react-C341c8YC.js";import{n as s}from"./recharts-6XUQYgRA.js";import{B as t}from"./index-CPdqYR4z.js";function l({title:l,icon:r,badge:i,subtitle:a,actions:c,iconColor:n="text-icon-card-title",largeTitle:x=!1,listHeader:m=!1,stackActionsOnMobile:d=!1}){return d&&c?e.jsxs("div",{className:s("flex flex-col gap-1 flex-shrink-0",m?"px-4 py-3 border-b border-border-subtle bg-bg-elevated/20":"mb-3"),children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 min-h-[32px]",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsx("span",{className:s("icon-md flex items-center justify-center",n),children:r}),e.jsx("span",{className:s(x?"type-subheading text-text-primary":"type-micro"),children:l}),i&&e.jsx(t,{color:"teal",children:i})]}),e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),a&&e.jsx("p",{className:"type-label text-text-muted ml-8",children:a})]}):e.jsxs("div",{className:s("flex flex-col gap-1 flex-shrink-0",m?"px-4 py-3 border-b border-border-subtle bg-bg-elevated/20":"mb-3"),children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 min-h-[32px]",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsx("span",{className:s("icon-md flex items-center justify-center",n),children:r}),e.jsx("span",{className:s(x?"type-subheading text-text-primary":"type-micro"),children:l}),i&&e.jsx(t,{color:"teal",children:i})]}),c&&e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),a&&e.jsx("p",{className:"type-label text-text-muted ml-8",children:a})]})}function r({children:t,centered:l,className:r}){return e.jsx("div",{className:s("flex-1 min-h-0",l&&"flex items-center justify-center",r),children:t})}export{l as C,r as a};
import{j as e}from"./vendor-react-C341c8YC.js";import{n as s}from"./recharts-6XUQYgRA.js";import{B as t}from"./index-BJEgt3tp.js";function l({title:l,icon:r,badge:i,subtitle:a,actions:c,iconColor:n="text-icon-card-title",largeTitle:x=!1,listHeader:m=!1,stackActionsOnMobile:d=!1}){return d&&c?e.jsxs("div",{className:s("flex flex-col gap-1 flex-shrink-0",m?"px-4 py-3 border-b border-border-subtle bg-bg-elevated/20":"mb-3"),children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 min-h-[32px]",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsx("span",{className:s("icon-md flex items-center justify-center",n),children:r}),e.jsx("span",{className:s(x?"type-subheading text-text-primary":"type-micro"),children:l}),i&&e.jsx(t,{color:"teal",children:i})]}),e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),a&&e.jsx("p",{className:"type-label text-text-muted ml-8",children:a})]}):e.jsxs("div",{className:s("flex flex-col gap-1 flex-shrink-0",m?"px-4 py-3 border-b border-border-subtle bg-bg-elevated/20":"mb-3"),children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 min-h-[32px]",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsx("span",{className:s("icon-md flex items-center justify-center",n),children:r}),e.jsx("span",{className:s(x?"type-subheading text-text-primary":"type-micro"),children:l}),i&&e.jsx(t,{color:"teal",children:i})]}),c&&e.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:c})]}),a&&e.jsx("p",{className:"type-label text-text-muted ml-8",children:a})]})}function r({children:t,centered:l,className:r}){return e.jsx("div",{className:s("flex-1 min-h-0",l&&"flex items-center justify-center",r),children:t})}export{l as C,r as a};
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 e,j as t,at as n}from"./vendor-react-C341c8YC.js";import{n as s}from"./recharts-6XUQYgRA.js";import{N as r,aL as o,O as a,aM as c}from"./index-CPdqYR4z.js";const i={danger:{icon:"text-accent-danger",button:"bg-accent-danger hover:brightness-110 active:brightness-90"},warning:{icon:"text-accent-secondary",button:"bg-accent-secondary hover:brightness-110 active:brightness-90 text-bg-body"},default:{icon:"text-accent-primary",button:"bg-accent-primary hover:brightness-110 active:brightness-90 text-bg-body"}},l=e.memo(function({isOpen:e,title:l="Confirm",message:b,confirmLabel:d="Confirm",cancelLabel:m="Cancel",variant:x="default",onConfirm:g,onCancel:h}){const u=i[x];return t.jsxs(r,{open:e,onClose:h,size:"sm",children:[t.jsx(o,{icon:t.jsx(n,{className:s("w-5 h-5",u.icon)}),title:l,onClose:h}),t.jsx(a,{children:t.jsx("p",{className:"text-sm text-text-secondary",children:b})}),t.jsxs(c,{children:[t.jsx("button",{onClick:h,className:"flex-1 px-4 py-2.5 rounded-lg text-sm font-medium text-text-secondary bg-bg-subtle hover:bg-bg-elevated border border-border-subtle transition-colors",children:m}),t.jsx("button",{onClick:g,className:s("flex-1 px-4 py-2.5 rounded-lg text-sm font-medium text-text-primary transition-colors",u.button),children:d})]})]})});export{l as C};
import{r as e,j as t,at as n}from"./vendor-react-C341c8YC.js";import{n as s}from"./recharts-6XUQYgRA.js";import{N as r,aL as o,O as a,aM as c}from"./index-BJEgt3tp.js";const i={danger:{icon:"text-accent-danger",button:"bg-accent-danger hover:brightness-110 active:brightness-90"},warning:{icon:"text-accent-secondary",button:"bg-accent-secondary hover:brightness-110 active:brightness-90 text-bg-body"},default:{icon:"text-accent-primary",button:"bg-accent-primary hover:brightness-110 active:brightness-90 text-bg-body"}},l=e.memo(function({isOpen:e,title:l="Confirm",message:b,confirmLabel:d="Confirm",cancelLabel:m="Cancel",variant:x="default",onConfirm:g,onCancel:h}){const u=i[x];return t.jsxs(r,{open:e,onClose:h,size:"sm",children:[t.jsx(o,{icon:t.jsx(n,{className:s("w-5 h-5",u.icon)}),title:l,onClose:h}),t.jsx(a,{children:t.jsx("p",{className:"text-sm text-text-secondary",children:b})}),t.jsxs(c,{children:[t.jsx("button",{onClick:h,className:"flex-1 px-4 py-2.5 rounded-lg text-sm font-medium text-text-secondary bg-bg-subtle hover:bg-bg-elevated border border-border-subtle transition-colors",children:m}),t.jsx("button",{onClick:g,className:s("flex-1 px-4 py-2.5 rounded-lg text-sm font-medium text-text-primary transition-colors",u.button),children:d})]})]})});export{l as C};
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 e,j as t,m as s,$ as a,aJ as i,bW as n,aA as c,q as l,aq as r}from"./vendor-react-C341c8YC.js";import{n as m}from"./recharts-6XUQYgRA.js";import{N as d,aS as x,O as o,aT as p}from"./index-CPdqYR4z.js";function h({label:e,icon:s,status:i,detail:n}){return t.jsxs("div",{className:m("flex items-center gap-3 py-3 px-4 rounded-xl transition-all duration-300","active"===i&&"bg-accent-primary/10","complete"===i&&"bg-accent-primary/10 ring-2 ring-inset ring-accent-primary","pending"===i&&"opacity-40"),children:[t.jsx("div",{className:m("w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 transition-all duration-300","active"===i&&"bg-accent-primary/20","complete"===i&&"bg-accent-primary/20","pending"===i&&"bg-subtle-fill"),children:"complete"===i?t.jsx(a,{className:"w-4 h-4 text-accent-primary"}):"active"===i?t.jsx(r,{className:"w-4 h-4 animate-spin text-accent-primary"}):t.jsx("span",{className:"text-text-muted",children:s})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:m("text-sm font-medium transition-colors","active"===i&&"text-accent-primary","complete"===i&&"text-accent-primary","pending"===i&&"text-text-muted"),children:e}),n&&"pending"!==i&&t.jsx("div",{className:"text-xs text-text-muted mt-0.5 truncate",children:n})]})]})}const g=e.memo(function({isOpen:e,currentStep:r,packetCount:m,onClose:g}){const j="complete"===r,u=e=>{const t=["fetching","analyzing","building","discovering","complete"],s=t.indexOf(r),a=t.indexOf(e);return a<s?"complete":a===s?"active":"pending"},y=g??(()=>{});return t.jsx(d,{open:e,onClose:y,size:"sm",bottomSheet:!1,children:t.jsx(x,{isLoading:!j,borderRadius:16,children:t.jsx(o,{className:"p-6",children:j?t.jsxs("div",{className:"flex flex-col items-center py-6",children:[t.jsx(s.div,{variants:p,initial:"hidden",animate:"visible",className:"w-16 h-16 rounded-full flex items-center justify-center mb-4 bg-accent-primary/20",children:t.jsx(a,{className:"w-8 h-8 text-accent-primary"})}),t.jsx("h3",{className:"text-lg font-semibold text-accent-primary",children:"Ready!"})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-accent-primary/15",children:t.jsx(i,{className:"w-5 h-5 text-accent-primary"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-base font-semibold text-text-primary",children:"Deep Analysis"}),t.jsx("p",{className:"text-xs text-text-muted",children:"Building mesh topology"})]})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx(h,{label:"Fetching Packets",icon:t.jsx(n,{className:"w-4 h-4"}),status:u("fetching"),detail:m>0?`${m.toLocaleString()} packets`:"Loading database..."}),t.jsx(h,{label:"Analyzing Database",icon:t.jsx(c,{className:"w-4 h-4"}),status:u("analyzing"),detail:"Processing packet paths"}),t.jsx(h,{label:"Building Topology",icon:t.jsx(i,{className:"w-4 h-4"}),status:u("building"),detail:"Computing mesh edges"}),t.jsx(h,{label:"Discovering Nodes",icon:t.jsx(l,{className:"w-4 h-4"}),status:u("discovering"),detail:"Viterbi HMM ghost detection"})]}),t.jsx("p",{className:"text-xs text-text-muted text-center mt-5",children:"This may take a few seconds..."})]})})})})});export{g as D};
import{r as e,j as t,m as s,$ as a,aJ as i,bW as n,aA as c,q as l,aq as r}from"./vendor-react-C341c8YC.js";import{n as m}from"./recharts-6XUQYgRA.js";import{N as d,aS as x,O as o,aT as p}from"./index-BJEgt3tp.js";function h({label:e,icon:s,status:i,detail:n}){return t.jsxs("div",{className:m("flex items-center gap-3 py-3 px-4 rounded-xl transition-all duration-300","active"===i&&"bg-accent-primary/10","complete"===i&&"bg-accent-primary/10 ring-2 ring-inset ring-accent-primary","pending"===i&&"opacity-40"),children:[t.jsx("div",{className:m("w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0 transition-all duration-300","active"===i&&"bg-accent-primary/20","complete"===i&&"bg-accent-primary/20","pending"===i&&"bg-subtle-fill"),children:"complete"===i?t.jsx(a,{className:"w-4 h-4 text-accent-primary"}):"active"===i?t.jsx(r,{className:"w-4 h-4 animate-spin text-accent-primary"}):t.jsx("span",{className:"text-text-muted",children:s})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:m("text-sm font-medium transition-colors","active"===i&&"text-accent-primary","complete"===i&&"text-accent-primary","pending"===i&&"text-text-muted"),children:e}),n&&"pending"!==i&&t.jsx("div",{className:"text-xs text-text-muted mt-0.5 truncate",children:n})]})]})}const g=e.memo(function({isOpen:e,currentStep:r,packetCount:m,onClose:g}){const j="complete"===r,u=e=>{const t=["fetching","analyzing","building","discovering","complete"],s=t.indexOf(r),a=t.indexOf(e);return a<s?"complete":a===s?"active":"pending"},y=g??(()=>{});return t.jsx(d,{open:e,onClose:y,size:"sm",bottomSheet:!1,children:t.jsx(x,{isLoading:!j,borderRadius:16,children:t.jsx(o,{className:"p-6",children:j?t.jsxs("div",{className:"flex flex-col items-center py-6",children:[t.jsx(s.div,{variants:p,initial:"hidden",animate:"visible",className:"w-16 h-16 rounded-full flex items-center justify-center mb-4 bg-accent-primary/20",children:t.jsx(a,{className:"w-8 h-8 text-accent-primary"})}),t.jsx("h3",{className:"text-lg font-semibold text-accent-primary",children:"Ready!"})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-accent-primary/15",children:t.jsx(i,{className:"w-5 h-5 text-accent-primary"})}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-base font-semibold text-text-primary",children:"Deep Analysis"}),t.jsx("p",{className:"text-xs text-text-muted",children:"Building mesh topology"})]})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx(h,{label:"Fetching Packets",icon:t.jsx(n,{className:"w-4 h-4"}),status:u("fetching"),detail:m>0?`${m.toLocaleString()} packets`:"Loading database..."}),t.jsx(h,{label:"Analyzing Database",icon:t.jsx(c,{className:"w-4 h-4"}),status:u("analyzing"),detail:"Processing packet paths"}),t.jsx(h,{label:"Building Topology",icon:t.jsx(i,{className:"w-4 h-4"}),status:u("building"),detail:"Computing mesh edges"}),t.jsx(h,{label:"Discovering Nodes",icon:t.jsx(l,{className:"w-4 h-4"}),status:u("discovering"),detail:"Viterbi HMM ghost detection"})]}),t.jsx("p",{className:"text-xs text-text-muted text-center mt-5",children:"This may take a few seconds..."})]})})})})});export{g as D};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{r as s,j as e,F as a,bA as t,bB as l}from"./vendor-react-C341c8YC.js";import{n as r}from"./recharts-6XUQYgRA.js";import{au as i,av as n,d as o,aw as c,v as m,as as x,ax as d}from"./index-CPdqYR4z.js";import{u as p}from"./usePolling-CtRLadGa.js";import{P as h,b as j,a as u,L as g}from"./PageLayout-CcoYWyzO.js";import{C as f}from"./Card-BeZKc0xw.js";import"./vendor-core-WoOfkQwm.js";import"./deckgl-DTsmDcfs.js";const v=s.memo(function({log:s}){return e.jsx("div",{className:"p-3 rounded-2xl bg-subtle-fill hover:bg-subtle-fill-strong transition-colors",children:e.jsxs("div",{className:"flex items-baseline gap-3",children:[e.jsx("span",{className:r("type-data-sm w-14 shrink-0",d(s.level)),children:s.level}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"type-data-sm text-text-primary break-words whitespace-pre-wrap",children:s.message}),e.jsx("p",{className:"type-data-xs text-text-muted mt-1",children:new Date(s.timestamp).toLocaleString()})]})]})})});function b({showDebug:s,onToggle:a}){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:r("type-data-sm",s?"text-accent-tertiary":"text-accent-primary"),children:s?"DEBUG":"INFO"}),e.jsx("button",{onClick:a,className:r("relative w-10 h-5 rounded-full transition-colors duration-200",s?"bg-accent-tertiary":"bg-accent-primary"),role:"switch","aria-checked":s,children:e.jsx("span",{className:r("absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full shadow-sm transition-transform duration-200",s?"translate-x-5":"translate-x-0")})})]})}function N(){const d=i(),N=n(),w=o(),y=c(),k=m(),[C,D]=s.useState(!1),L=s.useCallback(()=>{D(s=>!s)},[]),P=C?d:d.filter(s=>"DEBUG"!==s.level);return p(y,x.logs,w),e.jsxs(h,{children:[e.jsx(j,{title:"System Logs",icon:e.jsx(a,{}),controls:e.jsx(b,{showDebug:C,onToggle:L})}),e.jsxs(u,{noPadding:!0,children:[e.jsx(f,{listHeader:!0,icon:e.jsx(a,{className:"icon-sm"}),title:"Log Entries",actions:e.jsx("button",{onClick:()=>k(!w),className:r("transition-colors",w?"text-signal-critical hover:text-signal-critical/80":"text-accent-primary hover:text-accent-primary/80 animate-pulse-slow"),title:w?"Pause":"Resume",children:w?e.jsx(t,{className:"w-5 h-5"}):e.jsx(l,{className:"w-5 h-5"})})}),e.jsx("div",{className:"space-y-2 max-h-[calc(100vh-300px)] sm:max-h-[calc(100vh-250px)] overflow-y-auto p-4",children:N&&0===d.length?e.jsx(g,{count:10}):0===P.length?e.jsx("div",{className:"text-center py-12 text-text-muted",children:0===d.length?"No logs available":"No logs match selected filters"}):P.map((s,a)=>e.jsx(v,{log:s},`${s.timestamp}-${a}`))})]})]})}export{N as default};
import{r as s,j as e,F as a,bA as t,bB as l}from"./vendor-react-C341c8YC.js";import{n as r}from"./recharts-6XUQYgRA.js";import{au as i,av as n,d as o,aw as c,v as m,as as x,ax as d}from"./index-BJEgt3tp.js";import{u as p}from"./usePolling-CtRLadGa.js";import{P as h,b as j,a as u,L as g}from"./PageLayout-CnF5SScd.js";import{C as f}from"./Card-2pQSGkKC.js";import"./vendor-core-WoOfkQwm.js";import"./deckgl-DTsmDcfs.js";const v=s.memo(function({log:s}){return e.jsx("div",{className:"p-3 rounded-2xl bg-subtle-fill hover:bg-subtle-fill-strong transition-colors",children:e.jsxs("div",{className:"flex items-baseline gap-3",children:[e.jsx("span",{className:r("type-data-sm w-14 shrink-0",d(s.level)),children:s.level}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"type-data-sm text-text-primary break-words whitespace-pre-wrap",children:s.message}),e.jsx("p",{className:"type-data-xs text-text-muted mt-1",children:new Date(s.timestamp).toLocaleString()})]})]})})});function b({showDebug:s,onToggle:a}){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:r("type-data-sm",s?"text-accent-tertiary":"text-accent-primary"),children:s?"DEBUG":"INFO"}),e.jsx("button",{onClick:a,className:r("relative w-10 h-5 rounded-full transition-colors duration-200",s?"bg-accent-tertiary":"bg-accent-primary"),role:"switch","aria-checked":s,children:e.jsx("span",{className:r("absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full shadow-sm transition-transform duration-200",s?"translate-x-5":"translate-x-0")})})]})}function N(){const d=i(),N=n(),w=o(),y=c(),k=m(),[C,D]=s.useState(!1),L=s.useCallback(()=>{D(s=>!s)},[]),P=C?d:d.filter(s=>"DEBUG"!==s.level);return p(y,x.logs,w),e.jsxs(h,{children:[e.jsx(j,{title:"System Logs",icon:e.jsx(a,{}),controls:e.jsx(b,{showDebug:C,onToggle:L})}),e.jsxs(u,{noPadding:!0,children:[e.jsx(f,{listHeader:!0,icon:e.jsx(a,{className:"icon-sm"}),title:"Log Entries",actions:e.jsx("button",{onClick:()=>k(!w),className:r("transition-colors",w?"text-signal-critical hover:text-signal-critical/80":"text-accent-primary hover:text-accent-primary/80 animate-pulse-slow"),title:w?"Pause":"Resume",children:w?e.jsx(t,{className:"w-5 h-5"}):e.jsx(l,{className:"w-5 h-5"})})}),e.jsx("div",{className:"space-y-2 max-h-[calc(100vh-300px)] sm:max-h-[calc(100vh-250px)] overflow-y-auto p-4",children:N&&0===d.length?e.jsx(g,{count:10}):0===P.length?e.jsx("div",{className:"text-center py-12 text-text-muted",children:0===d.length?"No logs available":"No logs match selected filters"}):P.map((s,a)=>e.jsx(v,{log:s},`${s.timestamp}-${a}`))})]})]})}export{N as default};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{j as e,E as s}from"./vendor-react-C341c8YC.js";import{a as t}from"./PageLayout-CcoYWyzO.js";import{D as a}from"./DataBox-CRX76VsB.js";import{ay as r}from"./index-CPdqYR4z.js";import{C as l}from"./Card-BeZKc0xw.js";function c({nodeName:c,repeaterVersion:m,coreVersion:i,localHash:n,publicKey:d}){return e.jsxs(t,{children:[e.jsx(l,{icon:e.jsx(s,{}),title:"Node Information",largeTitle:!0}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-3 sm:gap-4",children:[e.jsxs("div",{className:"min-w-0 col-span-2 sm:col-span-1",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Node Name"}),e.jsx("p",{className:"type-body text-text-primary mt-0.5 sm:mt-1 truncate",title:c,children:c})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Repeater"}),e.jsxs("p",{className:"type-data text-text-primary mt-0.5 sm:mt-1 truncate",title:`v${m}`,children:["v",m]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Core"}),e.jsxs("p",{className:"type-data text-text-primary mt-0.5 sm:mt-1 truncate",title:`v${i}`,children:["v",i]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Console"}),e.jsxs("p",{className:"type-data text-text-primary mt-0.5 sm:mt-1 truncate",title:`v${r}`,children:["v",r]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Local Hash"}),e.jsx("div",{className:"mt-0.5 sm:mt-1",children:n?e.jsx(a,{copy:!0,size:"compact",children:n}):e.jsx("span",{className:"type-data-sm text-text-secondary",children:"N/A"})})]})]}),d&&e.jsxs("div",{className:"mt-3 sm:mt-4 pt-3 sm:pt-4 border-t border-border-subtle",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Public Key"}),e.jsx("div",{className:"mt-0.5 sm:mt-1",children:e.jsx(a,{copy:!0,size:"responsive",children:d})})]})]})}export{c as N};
import{j as e,E as s}from"./vendor-react-C341c8YC.js";import{a as t}from"./PageLayout-CnF5SScd.js";import{D as a}from"./DataBox-CRX76VsB.js";import{ay as r}from"./index-BJEgt3tp.js";import{C as l}from"./Card-2pQSGkKC.js";function c({nodeName:c,repeaterVersion:m,coreVersion:i,localHash:n,publicKey:d}){return e.jsxs(t,{children:[e.jsx(l,{icon:e.jsx(s,{}),title:"Node Information",largeTitle:!0}),e.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 gap-3 sm:gap-4",children:[e.jsxs("div",{className:"min-w-0 col-span-2 sm:col-span-1",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Node Name"}),e.jsx("p",{className:"type-body text-text-primary mt-0.5 sm:mt-1 truncate",title:c,children:c})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Repeater"}),e.jsxs("p",{className:"type-data text-text-primary mt-0.5 sm:mt-1 truncate",title:`v${m}`,children:["v",m]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Core"}),e.jsxs("p",{className:"type-data text-text-primary mt-0.5 sm:mt-1 truncate",title:`v${i}`,children:["v",i]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Console"}),e.jsxs("p",{className:"type-data text-text-primary mt-0.5 sm:mt-1 truncate",title:`v${r}`,children:["v",r]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Local Hash"}),e.jsx("div",{className:"mt-0.5 sm:mt-1",children:n?e.jsx(a,{copy:!0,size:"compact",children:n}):e.jsx("span",{className:"type-data-sm text-text-secondary",children:"N/A"})})]})]}),d&&e.jsxs("div",{className:"mt-3 sm:mt-4 pt-3 sm:pt-4 border-t border-border-subtle",children:[e.jsx("span",{className:"type-label text-text-secondary",children:"Public Key"}),e.jsx("div",{className:"mt-0.5 sm:mt-1",children:e.jsx(a,{copy:!0,size:"responsive",children:d})})]})]})}export{c as N};
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 s}from"./vendor-react-C341c8YC.js";import{n as e}from"./recharts-6XUQYgRA.js";import"./index-CPdqYR4z.js";const a=[45,72,33,58,80,42,65,28,55,75,38,62];function l({className:a,style:l}){return s.jsx("div",{className:e("animate-pulse bg-white/[0.06] rounded",a),style:l})}function c(){return s.jsx("div",{className:"p-3 rounded-lg border border-border-subtle bg-bg-subtle",children:s.jsxs("div",{className:"flex items-start gap-3",children:[s.jsx(l,{className:"w-14 h-6 rounded shrink-0"}),s.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[s.jsx(l,{className:"h-4 w-full"}),s.jsx(l,{className:"h-4 w-3/4"}),s.jsx(l,{className:"h-3 w-32 mt-1"})]})]})})}function r({count:e=8}){return s.jsx("div",{className:"space-y-2",children:Array.from({length:e}).map((e,a)=>s.jsx(c,{},a))})}function i(){return s.jsxs("div",{className:"flex flex-col gap-3 h-full","aria-hidden":"true",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(l,{className:"w-5 h-5"}),s.jsx(l,{className:"h-4 w-24"})]}),s.jsx(l,{className:"h-8 w-20"}),s.jsxs("div",{className:"flex-1 flex flex-col justify-end gap-2",children:[s.jsx(l,{className:"h-3 w-full"}),s.jsx(l,{className:"h-3 w-3/4"})]})]})}function n(){return s.jsxs("div",{className:"flex flex-col gap-3 h-full","aria-hidden":"true",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(l,{className:"w-5 h-5"}),s.jsx(l,{className:"h-4 w-24"})]}),s.jsx("div",{className:"flex-1 flex items-end gap-1",children:a.slice(0,8).map((e,a)=>s.jsx(l,{className:"flex-1",style:{height:`${e}%`}},a))})]})}function t({rows:e=5}){return s.jsxs("div",{className:"flex flex-col h-full","aria-hidden":"true",children:[s.jsx("div",{className:"pb-3 border-b border-border-subtle",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(l,{className:"w-5 h-5"}),s.jsx(l,{className:"h-4 w-24"})]})}),s.jsx("div",{className:"flex-1 pt-3 flex flex-col gap-3",children:Array.from({length:e}).map((e,a)=>s.jsx(l,{className:"h-6 w-full"},a))})]})}function d({children:a,className:l}){return s.jsx("div",{className:e("section-gap",l),children:a})}function x({title:e,icon:a,controls:l,subtitle:c}){return s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-3",children:[s.jsxs("h1",{className:"type-title text-text-primary flex items-center gap-2 sm:gap-3 h-9 min-w-0",children:[a&&s.jsx("span",{className:"w-5 h-5 sm:w-6 sm:h-6 text-icon-page-title flex-shrink-0",children:a}),s.jsx("span",{className:"truncate",children:e})]}),l&&s.jsx("div",{className:"flex items-center gap-2 sm:gap-3 h-9 flex-shrink-0",children:l})]}),c&&s.jsx("div",{children:c})]})}const m={sm:"card-sm",md:"card-md",lg:"card-lg",hero:"card-hero",auto:"card-auto"};function h({children:a,size:l,compact:c,noPadding:r,className:d,style:x,onClick:h,isLoaded:o=!0,skeletonType:f="card"}){return s.jsxs("div",{className:e("glass-card h-full flex flex-col relative",!r&&(c?"card-padding-sm":"card-padding"),l&&m[l],d),style:x,onClick:h,children:[a,!o&&(()=>{switch(f){case"chart":return s.jsx(n,{});case"list":return s.jsx(t,{});default:return s.jsx(i,{})}})()]})}export{i as C,r as L,d as P,l as S,h as a,x as b};
import{j as s}from"./vendor-react-C341c8YC.js";import{n as e}from"./recharts-6XUQYgRA.js";import"./index-BJEgt3tp.js";const a=[45,72,33,58,80,42,65,28,55,75,38,62];function l({className:a,style:l}){return s.jsx("div",{className:e("animate-pulse bg-white/[0.06] rounded",a),style:l})}function c(){return s.jsx("div",{className:"p-3 rounded-lg border border-border-subtle bg-bg-subtle",children:s.jsxs("div",{className:"flex items-start gap-3",children:[s.jsx(l,{className:"w-14 h-6 rounded shrink-0"}),s.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[s.jsx(l,{className:"h-4 w-full"}),s.jsx(l,{className:"h-4 w-3/4"}),s.jsx(l,{className:"h-3 w-32 mt-1"})]})]})})}function r({count:e=8}){return s.jsx("div",{className:"space-y-2",children:Array.from({length:e}).map((e,a)=>s.jsx(c,{},a))})}function i(){return s.jsxs("div",{className:"flex flex-col gap-3 h-full","aria-hidden":"true",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(l,{className:"w-5 h-5"}),s.jsx(l,{className:"h-4 w-24"})]}),s.jsx(l,{className:"h-8 w-20"}),s.jsxs("div",{className:"flex-1 flex flex-col justify-end gap-2",children:[s.jsx(l,{className:"h-3 w-full"}),s.jsx(l,{className:"h-3 w-3/4"})]})]})}function n(){return s.jsxs("div",{className:"flex flex-col gap-3 h-full","aria-hidden":"true",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(l,{className:"w-5 h-5"}),s.jsx(l,{className:"h-4 w-24"})]}),s.jsx("div",{className:"flex-1 flex items-end gap-1",children:a.slice(0,8).map((e,a)=>s.jsx(l,{className:"flex-1",style:{height:`${e}%`}},a))})]})}function t({rows:e=5}){return s.jsxs("div",{className:"flex flex-col h-full","aria-hidden":"true",children:[s.jsx("div",{className:"pb-3 border-b border-border-subtle",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(l,{className:"w-5 h-5"}),s.jsx(l,{className:"h-4 w-24"})]})}),s.jsx("div",{className:"flex-1 pt-3 flex flex-col gap-3",children:Array.from({length:e}).map((e,a)=>s.jsx(l,{className:"h-6 w-full"},a))})]})}function d({children:a,className:l}){return s.jsx("div",{className:e("section-gap",l),children:a})}function x({title:e,icon:a,controls:l,subtitle:c}){return s.jsxs("div",{className:"flex flex-col gap-2",children:[s.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between sm:gap-3",children:[s.jsxs("h1",{className:"type-title text-text-primary flex items-center gap-2 sm:gap-3 h-9 min-w-0",children:[a&&s.jsx("span",{className:"w-5 h-5 sm:w-6 sm:h-6 text-icon-page-title flex-shrink-0",children:a}),s.jsx("span",{className:"truncate",children:e})]}),l&&s.jsx("div",{className:"flex items-center gap-2 sm:gap-3 h-9 flex-shrink-0",children:l})]}),c&&s.jsx("div",{children:c})]})}const m={sm:"card-sm",md:"card-md",lg:"card-lg",hero:"card-hero",auto:"card-auto"};function h({children:a,size:l,compact:c,noPadding:r,className:d,style:x,onClick:h,isLoaded:o=!0,skeletonType:f="card"}){return s.jsxs("div",{className:e("glass-card h-full flex flex-col relative",!r&&(c?"card-padding-sm":"card-padding"),l&&m[l],d),style:x,onClick:h,children:[a,!o&&(()=>{switch(f){case"chart":return s.jsx(n,{});case"list":return s.jsx(t,{});default:return s.jsx(i,{})}})()]})}export{i as C,r as L,d as P,l as S,h as a,x 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
@@ -1 +1 @@
import{n as t,aP as e}from"./index-CPdqYR4z.js";function n(t){if(Array.isArray(t))return t;if("string"==typeof t&&t.startsWith("["))try{const e=JSON.parse(t);return Array.isArray(e)?e:[]}catch{return[]}return[]}function o(o,r,s){const a=new Map;for(const e of r){const n=t(e);a.has(n)||a.set(n,e)}const c=new Map,i=new Map;for(const t of o){const o=t.route??t.route_type;if(!e(o))continue;const r=n(t.original_path);if(0===r.length)continue;const f=r.map(t=>t.toUpperCase());if(!t.transmitted&&f.length>=2){const t=f[f.length-2];if(t){const e=a.get(t);e&&i.set(e,(i.get(e)??0)+1)}}if(f.includes(s))for(const t of f){if(t===s)continue;const e=a.get(t);e&&c.set(e,(c.get(e)??0)+1)}}let f=0,u=0;for(const t of r)f=Math.max(f,c.get(t)??0),u=Math.max(u,i.get(t)??0);const h=new Map;let g=0,l=0,p=0;for(const t of r){const e=c.get(t)??0,n=i.get(t)??0,o=f>0?Math.round(e/f*100):0,r=u>0?Math.round(n/u*100):0,s=o+r;h.set(t,{hash:t,listenerCount:e,loudCount:n,listenerScore:o,loudScore:r,blendedScore:s}),g=Math.max(g,o),l=Math.max(l,r),p=Math.max(p,s)}return{scores:h,maxListenerScore:g,maxLoudScore:l,maxBlendedScore:p}}const r={YELLOW:"#FFB224",GREEN:"#46A758",RED:"#E5484D",GRAY:"#505050"};export{r as L,o as c};
import{n as t,aP as e}from"./index-BJEgt3tp.js";function n(t){if(Array.isArray(t))return t;if("string"==typeof t&&t.startsWith("["))try{const e=JSON.parse(t);return Array.isArray(e)?e:[]}catch{return[]}return[]}function o(o,r,s){const a=new Map;for(const e of r){const n=t(e);a.has(n)||a.set(n,e)}const c=new Map,i=new Map;for(const t of o){const o=t.route??t.route_type;if(!e(o))continue;const r=n(t.original_path);if(0===r.length)continue;const f=r.map(t=>t.toUpperCase());if(!t.transmitted&&f.length>=2){const t=f[f.length-2];if(t){const e=a.get(t);e&&i.set(e,(i.get(e)??0)+1)}}if(f.includes(s))for(const t of f){if(t===s)continue;const e=a.get(t);e&&c.set(e,(c.get(e)??0)+1)}}let f=0,u=0;for(const t of r)f=Math.max(f,c.get(t)??0),u=Math.max(u,i.get(t)??0);const h=new Map;let g=0,l=0,p=0;for(const t of r){const e=c.get(t)??0,n=i.get(t)??0,o=f>0?Math.round(e/f*100):0,r=u>0?Math.round(n/u*100):0,s=o+r;h.set(t,{hash:t,listenerCount:e,loudCount:n,listenerScore:o,loudScore:r,blendedScore:s}),g=Math.max(g,o),l=Math.max(l,r),p=Math.max(p,s)}return{scores:h,maxListenerScore:g,maxLoudScore:l,maxBlendedScore:p}}const r={YELLOW:"#FFB224",GREEN:"#46A758",RED:"#E5484D",GRAY:"#505050"};export{r as L,o as c};
@@ -1 +1 @@
import{aF as t}from"./index-CPdqYR4z.js";async function e(e,r=10){return t("/api/ping_neighbor",{method:"POST",body:JSON.stringify({target_id:e,timeout:r})})}const r=["Chat Node","Repeater","Room Server","Hybrid Node","Unknown"];async function s(s,o=10){if(o<1||o>60)return{success:!1,error:"Timeout must be 1-60 seconds"};let n;const a=s.match(/^(0x)?([0-9a-fA-F]{1,2})$/);if(a)n=`0x${a[2].padStart(2,"0")}`;else{const e=await async function(e){const s=e.toLowerCase();for(const o of r)try{const e=await t(`/api/adverts_by_contact_type?contact_type=${encodeURIComponent(o)}&hours=168`),r=e.success&&e.data?e.data:e,n=(Array.isArray(r)?r:[]).find(t=>t.node_name&&t.node_name.toLowerCase()===s);if(n&&n.pubkey)return`0x${n.pubkey.substring(0,2)}`}catch{continue}return null}(s);if(!e)return{success:!1,error:`Node '${s}' not found`};n=e}const c=await e(n,o);if(!c.success||!c.data)return{success:!1,error:c.error||"Ping failed"};const i=(u=c.data).rtt_ms>500||u.rssi<-120?"Poor":u.rtt_ms>250||u.rssi<-100?"Fair":u.rtt_ms>100||u.rssi<-80?"Good":"Excellent";var u;return{success:!0,data:{...c.data,quality:i}}}export{s as a,e as p};
import{aF as t}from"./index-BJEgt3tp.js";async function e(e,r=10){return t("/api/ping_neighbor",{method:"POST",body:JSON.stringify({target_id:e,timeout:r})})}const r=["Chat Node","Repeater","Room Server","Hybrid Node","Unknown"];async function s(s,o=10){if(o<1||o>60)return{success:!1,error:"Timeout must be 1-60 seconds"};let n;const a=s.match(/^(0x)?([0-9a-fA-F]{1,2})$/);if(a)n=`0x${a[2].padStart(2,"0")}`;else{const e=await async function(e){const s=e.toLowerCase();for(const o of r)try{const e=await t(`/api/adverts_by_contact_type?contact_type=${encodeURIComponent(o)}&hours=168`),r=e.success&&e.data?e.data:e,n=(Array.isArray(r)?r:[]).find(t=>t.node_name&&t.node_name.toLowerCase()===s);if(n&&n.pubkey)return`0x${n.pubkey.substring(0,2)}`}catch{continue}return null}(s);if(!e)return{success:!1,error:`Node '${s}' not found`};n=e}const c=await e(n,o);if(!c.success||!c.data)return{success:!1,error:c.error||"Ping failed"};const i=(u=c.data).rtt_ms>500||u.rssi<-120?"Poor":u.rtt_ms>250||u.rssi<-100?"Fair":u.rtt_ms>100||u.rssi<-80?"Good":"Excellent";var u;return{success:!0,data:{...c.data,quality:i}}}export{s as a,e as p};
+1 -1
View File
@@ -39,7 +39,7 @@
--font-data: 'JetBrains Mono', 'SF Mono', Monaco, monospace;
}
</style>
<script type="module" crossorigin src="/assets/index-CPdqYR4z.js"></script>
<script type="module" crossorigin src="/assets/index-BJEgt3tp.js"></script>
<link rel="modulepreload" crossorigin href="/assets/vendor-core-WoOfkQwm.js">
<link rel="modulepreload" crossorigin href="/assets/vendor-react-C341c8YC.js">
<link rel="stylesheet" crossorigin href="/assets/index-CIefRaAd.css">
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "pymc_console",
"version": "0.9.194",
"version": "0.9.195",
"description": "Vite + React Dashboard for pyMC_Repeater",
"private": true,
"type": "module",