vite-devtools-svelte 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +19 -7
  2. package/dist/analyzers/api.d.ts +17 -4
  3. package/dist/analyzers/assets.d.ts +0 -1
  4. package/dist/analyzers/build.d.ts +7 -1
  5. package/dist/analyzers/http.d.ts +9 -0
  6. package/dist/analyzers/module-graph.d.ts +9 -0
  7. package/dist/analyzers/og.d.ts +21 -4
  8. package/dist/analyzers/routes.d.ts +16 -1
  9. package/dist/client/assets/ApiPlayground-qRDX0tRk.js +3 -0
  10. package/dist/client/assets/Assets-yTFLB7w2.js +1 -0
  11. package/dist/client/assets/BuildAnalysis-C6yO6EJN.js +1 -0
  12. package/dist/client/assets/CaptureNotice-DykEK0Kp.js +1 -0
  13. package/dist/client/assets/Components-BTG8jKec.js +2 -0
  14. package/dist/client/assets/DataTable-C5C0HrMd.js +1 -0
  15. package/dist/client/assets/DataTable-gMBzprA7.css +1 -0
  16. package/dist/client/assets/ErrorDashboard-DHdptxQP.js +1 -0
  17. package/dist/client/assets/FpsMonitor-G1xRBjK3.js +1 -0
  18. package/dist/client/assets/Inspect-Ba_b5o73.js +4 -0
  19. package/dist/client/assets/{Inspector-DGmAzhki.js → Inspector-mTvtYmwt.js} +1 -1
  20. package/dist/client/assets/{versions-Co596WUJ.css → LiveControls-CMau2xlU.css} +1 -1
  21. package/dist/client/assets/LiveControls-nrc1-cBk.js +1 -0
  22. package/dist/client/assets/LoadProfiler-eYXaLPba.js +1 -0
  23. package/dist/client/assets/ModuleGraph-Dp-bJUnD.js +1 -0
  24. package/dist/client/assets/OGPreview-BzZ_MAg7.js +1 -0
  25. package/dist/client/assets/Overview-Cbi5ayT1.js +1 -0
  26. package/dist/client/assets/Overview-Neh721Uf.css +1 -0
  27. package/dist/client/assets/Panel-CKQaY_Qq.js +1 -0
  28. package/dist/client/assets/Panel-b1jDvzob.css +1 -0
  29. package/dist/client/assets/ReactiveGraph-CQpsrwa7.js +19 -0
  30. package/dist/client/assets/RenderProfiler-CCG8KJ2a.js +1 -0
  31. package/dist/client/assets/Routes-Dg3ZrLhJ.js +1 -0
  32. package/dist/client/assets/SearchField-B5EQ5IIf.js +1 -0
  33. package/dist/client/assets/Segmented-Dz1OdcPr.js +1 -0
  34. package/dist/client/assets/SplitView-CxRUXpY5.js +1 -0
  35. package/dist/client/assets/StateTimeline-CLt2yN8k.js +1 -0
  36. package/dist/client/assets/TreeView-BYOJBzxO.js +1 -0
  37. package/dist/client/assets/VirtualList-Bfn8is0p.js +1 -0
  38. package/dist/client/assets/{browser-agent-rpc-BXhoSh1z-D9g7mT9G.js → browser-agent-rpc-BXhoSh1z-CuoUGU_3.js} +1 -1
  39. package/dist/client/assets/capture.svelte-BLIttZ2Z.js +1 -0
  40. package/dist/client/assets/collections-uqk9p1aQ.js +1 -0
  41. package/dist/client/assets/format-BEILGi1v.js +1 -0
  42. package/dist/client/assets/{index-eZHqMk0z.css → index-BmEfdt6W.css} +1 -1
  43. package/dist/client/assets/{index-BzMw8R8l.js → index-Cf5oAFpK.js} +6 -6
  44. package/dist/client/assets/{reactive-C2hv2QLH.js → reactive-DuxZv-g7.js} +1 -1
  45. package/dist/client/assets/reactive-selection.svelte-iv05jhlt.js +1 -0
  46. package/dist/client/assets/versions-Bd19hz8p.js +1 -0
  47. package/dist/client/index.html +2 -2
  48. package/dist/index.mjs +1655 -1353
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/mcp/issues.d.ts +19 -6
  51. package/dist/mcp/server.d.ts +0 -5
  52. package/dist/mcp/sessions.d.ts +8 -1
  53. package/dist/plugin.d.ts +20 -0
  54. package/dist/runtime/ids.d.ts +3 -0
  55. package/dist/runtime/index.d.ts +18 -0
  56. package/dist/runtime/transform.d.ts +22 -0
  57. package/dist/{collector.d.ts → server/collector.d.ts} +11 -16
  58. package/dist/{devframe.d.ts → server/devframe.d.ts} +10 -10
  59. package/dist/{mount.d.ts → server/mount.d.ts} +4 -9
  60. package/dist/{security.d.ts → server/security.d.ts} +10 -2
  61. package/dist/types.d.ts +26 -2
  62. package/package.json +12 -4
  63. package/skills/vite-devtools-svelte-perf-audit/SKILL.md +2 -2
  64. package/skills/vite-devtools-svelte-perf-fix/SKILL.md +3 -3
  65. package/dist/client/assets/ApiPlayground-BMx5j-7t.js +0 -3
  66. package/dist/client/assets/Assets-BHhg5Smm.js +0 -1
  67. package/dist/client/assets/Badge-BBLKgCiU.css +0 -1
  68. package/dist/client/assets/Badge-CBVv8IFU.js +0 -1
  69. package/dist/client/assets/BuildAnalysis-BdVCnWpb.js +0 -1
  70. package/dist/client/assets/CaptureNotice-BeXCVhO0.js +0 -1
  71. package/dist/client/assets/Components-D_qDgEUt.js +0 -1
  72. package/dist/client/assets/DataTable-C6-tmcTQ.js +0 -1
  73. package/dist/client/assets/DataTable-CdVIFm8T.css +0 -1
  74. package/dist/client/assets/ErrorDashboard-CfUhPzue.js +0 -1
  75. package/dist/client/assets/FpsMonitor-B_AuHgyu.js +0 -1
  76. package/dist/client/assets/Inspect-BOgmKm6W.js +0 -3
  77. package/dist/client/assets/LoadProfiler-5xhnDLjR.js +0 -1
  78. package/dist/client/assets/ModuleGraph-Cp7f0Nz0.js +0 -1
  79. package/dist/client/assets/OGPreview-CjBhXSgn.js +0 -1
  80. package/dist/client/assets/Overview-B8hvIsIM.css +0 -1
  81. package/dist/client/assets/Overview-Kbpkgsas.js +0 -1
  82. package/dist/client/assets/ReactiveGraph-w2TK82c8.js +0 -5
  83. package/dist/client/assets/RenderProfiler-CeF8_j3b.js +0 -1
  84. package/dist/client/assets/Routes-DArWZtzC.js +0 -1
  85. package/dist/client/assets/SearchField-eocQu1eB.js +0 -1
  86. package/dist/client/assets/Segmented-JGNuI5EZ.js +0 -1
  87. package/dist/client/assets/SplitView-B8lYXXEm.js +0 -1
  88. package/dist/client/assets/StateTimeline-HpyvgoK1.js +0 -1
  89. package/dist/client/assets/TreeView-fty5aCC5.js +0 -1
  90. package/dist/client/assets/VirtualList-BvOBTnYJ.js +0 -1
  91. package/dist/client/assets/capture.svelte-CUhwdJwX.js +0 -1
  92. package/dist/client/assets/format-CW_NXiBg.js +0 -1
  93. package/dist/client/assets/reactive-selection.svelte-Dfd9zWsh.js +0 -1
  94. package/dist/client/assets/versions-CZjRj40E.js +0 -1
  95. package/dist/runtime.d.ts +0 -19
  96. /package/dist/{template-injector.d.ts → server/template-injector.d.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ import{A as e,At as t,B as n,Ct as r,Dt as i,E as a,Et as o,F as s,I as c,J as l,Mt as u,Nt as d,P as f,Q as p,R as m,St as h,Tt as g,V as _,X as v,Y as y,Z as b,_t as x,at as S,bt as C,ct as w,dt as T,ft as E,g as D,gt as O,ht as k,i as A,it as j,jt as M,kt as ee,lt as N,mt as P,n as te,ot as F,pt as ne,r as I,rt as re,st as L,t as ie,tt as ae,ut as R,wt as z,xt as B,yt as V}from"./index-Cf5oAFpK.js";import{n as oe,t as se}from"./Panel-CKQaY_Qq.js";import{t as ce}from"./SearchField-B5EQ5IIf.js";import{t as le}from"./SplitView-CxRUXpY5.js";import{a as ue,c as de,l as fe,n as H,o as pe,s as U,u as me}from"./format-BEILGi1v.js";import{t as he}from"./DataTable-C5C0HrMd.js";import{t as ge}from"./Inspector-mTvtYmwt.js";import{t as _e}from"./Segmented-Dz1OdcPr.js";import{n as ve}from"./collections-uqk9p1aQ.js";import{t as ye}from"./CaptureNotice-DykEK0Kp.js";import{t as be}from"./LiveControls-nrc1-cBk.js";import{t as W}from"./reactive-selection.svelte-iv05jhlt.js";import{t as xe}from"./versions-Bd19hz8p.js";import{t as Se}from"./capture.svelte-BLIttZ2Z.js";import{a as Ce,c as we,d as G,f as Te,i as Ee,l as De,n as Oe,o as ke,r as Ae,s as je,t as Me,u as Ne}from"./reactive-DuxZv-g7.js";var K=280,q=78,J=28,Y=40,Pe={state:0,derived:1,effect:2,template:3};function Fe(e){return e?e.split(/[\\/]/).pop()?.replace(/\.svelte$/,``)??``:``}function Ie(e,t){if(e.length===0)return{positions:new Map,width:0,height:0,componentBoxes:[]};let n=new Map(e.map(e=>[e.id,e])),r=new Map,i=new Map,a=new Map;for(let t of e)r.set(t.id,0),i.set(t.id,[]),a.set(t.id,[]);t=t.filter(e=>n.has(e.from)&&n.has(e.to));for(let e of t)i.get(e.from).push(e.to),a.get(e.to).push(e.from),r.set(e.to,r.get(e.to)+1);let o=[],s=e.filter(e=>r.get(e.id)===0).map(e=>e.id),c=new Set;for(;s.length>0;){o.push([...s]);for(let e of s)c.add(e);let e=[];for(let t of s)for(let n of i.get(t))r.set(n,r.get(n)-1),r.get(n)===0&&!c.has(n)&&e.push(n);s=e}let l=e.filter(e=>!c.has(e.id)).map(e=>e.id);l.length>0&&o.push(l);for(let e of o)e.sort((e,t)=>{let r=n.get(e),i=n.get(t),a=r.componentFile.localeCompare(i.componentFile);return a===0?(Pe[r.type]??3)-(Pe[i.type]??3):a});let u=new Map;for(let e of o)for(let[t,n]of e.entries())u.set(n,t);for(let e=0;e<4;e++){for(let e of o.slice(1)){let t=new Map;for(let n of e){let e=a.get(n);t.set(n,e.reduce((e,t)=>e+u.get(t),0)/e.length)}e.sort((e,r)=>{let i=n.get(e),a=n.get(r),o=i.componentFile.localeCompare(a.componentFile);return o===0?t.get(e)-t.get(r):o});for(let[t,n]of e.entries())u.set(n,t)}for(let e=o.length-2;e>=0;e--){let t=o[e],r=new Map;for(let e of t){let t=i.get(e);if(t.length>0){let n=t.reduce((e,t)=>e+u.get(t),0)/t.length;r.set(e,n)}else r.set(e,u.get(e))}t.sort((e,t)=>{let i=n.get(e),a=n.get(t),o=i.componentFile.localeCompare(a.componentFile);return o===0?r.get(e)-r.get(t):o});for(let[e,n]of t.entries())u.set(n,e)}}let d=[],f=[];for(let e of o){let t=[],r=Y,i=``;for(let[a,o]of e.entries()){let e=n.get(o).componentFile;a>0&&e!==i&&(r+=J),t.push({id:o,comp:e}),r+=q,i=e}d.push(t),f.push(r)}let p=Math.max(...f,80),m=new Map;for(let[e,t]of d.entries()){let n=Y+(p-f[e])/2,r=``;for(let[i,{id:a,comp:o}]of t.entries())i>0&&o!==r&&(n+=J),m.set(a,{x:Y+e*K,y:n}),n+=q,r=o}for(let e=0;e<6;e++)for(let e of o){if(e.length<=1)continue;let t=new Map;for(let n of e){let e=a.get(n),r=i.get(n),o=[...e,...r].filter(e=>m.has(e));if(o.length>0){let e=o.reduce((e,t)=>e+m.get(t).y,0)/o.length;t.set(n,e)}}let r=e.toSorted((e,t)=>m.get(e).y-m.get(t).y);for(let[e,i]of r.entries()){let a=t.get(i);if(a===void 0)continue;let o=m.get(i),s=e>0?r[e-1]:null,c=e<r.length-1?r[e+1]:null,l=s?n.get(s):null,u=n.get(i),d=s&&l&&l.componentFile!==u.componentFile?J:0,f=s?m.get(s).y+q+d:Y,h=c?n.get(c):null,g=c&&h&&h.componentFile!==u.componentFile?J:0,_=c?m.get(c).y-q-g:p,v=Math.max(f,Math.min(_,a));m.set(i,{x:o.x,y:v})}}let h=0;for(let[,e]of m)h=Math.max(h,e.y+58);let g=[];for(let[e,t]of o.entries()){let r=new Map;for(let e of t){let t=n.get(e),i=m.get(e),a=r.get(t.componentFile);a?a.push(i):r.set(t.componentFile,[i])}for(let[t,n]of r){let r=Fe(t),i=1/0,a=-1/0;for(let e of n)i=Math.min(i,e.y),a=Math.max(a,e.y+58);let o=Y+e*K;g.push({file:r,componentFile:t,x:o-14,y:i-14,w:188,h:a-i+28})}}return{positions:m,width:80+o.length*K,height:h+Y,componentBoxes:g}}function Le(e,t,n){if(n.size===0)return{affected:new Set,edgeKeys:new Set,depths:new Map};let r=new Map;for(let t of e)r.set(t.id,[]);for(let e of t)r.get(e.from)?.push(e.to);let i=new Map,a=[];for(let e of n)a.push({id:e,depth:0});for(;a.length>0;){let{id:e,depth:t}=a.shift();if(!i.has(e)){i.set(e,t);for(let n of r.get(e)??[])a.push({id:n,depth:t+1})}}let o=new Set(i.keys()),s=new Set;for(let e of t)o.has(e.from)&&o.has(e.to)&&s.add(`${e.from}→${e.to}`);return{affected:o,edgeKeys:s,depths:i}}var Re=w(`<p class="empty svelte-kaeped">No reactive signals tracked yet.</p>`),ze=N(`<rect rx="10" ry="10" class="component-box svelte-kaeped"></rect><text class="component-label svelte-kaeped"> </text>`,1),X=N(`<path class="edge-sweep svelte-kaeped"></path>`),Be=N(`<path></path><!><polygon></polygon>`,1),Ve=N(`<rect x="-4" y="-4" rx="10" ry="10" fill="none" stroke-width="2" class="glow-ring svelte-kaeped"></rect>`),He=N(`<text y="36" text-anchor="end" class="node-value svelte-kaeped" font-size="10" font-family="DM Mono, monospace" font-weight="500"> </text>`),Ue=N(`<g role="button" tabindex="0"><!><rect rx="6" ry="6" fill="var(--color-surface)" class="svelte-kaeped"></rect><circle cx="12" cy="16" r="4" class="svelte-kaeped"></circle><text x="22" y="16" dominant-baseline="middle" class="node-name svelte-kaeped" font-size="11" font-family="DM Mono, monospace"> </text><text y="16" text-anchor="end" dominant-baseline="middle" class="node-type svelte-kaeped" font-size="9" font-family="DM Sans, sans-serif" font-weight="600"> </text><text x="12" y="36" class="node-meta svelte-kaeped" font-size="9" font-family="DM Mono, monospace"> </text><!><line x1="6" y1="24" y2="24" class="node-divider svelte-kaeped" stroke-width="0.5"></line></g>`),We=N(`<svg width="100%" height="100%" class="svelte-kaeped"><defs class="svelte-kaeped"><filter id="glow-blue" x="-50%" y="-50%" width="200%" height="200%" class="svelte-kaeped"><feGaussianBlur stdDeviation="6" result="blur" class="svelte-kaeped"></feGaussianBlur><feFlood flood-color="#3b82f6" flood-opacity="0.7" class="svelte-kaeped"></feFlood><feComposite in2="blur" operator="in" class="svelte-kaeped"></feComposite><feMerge class="svelte-kaeped"><feMergeNode class="svelte-kaeped"></feMergeNode><feMergeNode in="SourceGraphic" class="svelte-kaeped"></feMergeNode></feMerge></filter><filter id="glow-green" x="-50%" y="-50%" width="200%" height="200%" class="svelte-kaeped"><feGaussianBlur stdDeviation="6" result="blur" class="svelte-kaeped"></feGaussianBlur><feFlood flood-color="#22c55e" flood-opacity="0.7" class="svelte-kaeped"></feFlood><feComposite in2="blur" operator="in" class="svelte-kaeped"></feComposite><feMerge class="svelte-kaeped"><feMergeNode class="svelte-kaeped"></feMergeNode><feMergeNode in="SourceGraphic" class="svelte-kaeped"></feMergeNode></feMerge></filter><filter id="glow-red" x="-50%" y="-50%" width="200%" height="200%" class="svelte-kaeped"><feGaussianBlur stdDeviation="6" result="blur" class="svelte-kaeped"></feGaussianBlur><feFlood flood-color="#ef4444" flood-opacity="0.7" class="svelte-kaeped"></feFlood><feComposite in2="blur" operator="in" class="svelte-kaeped"></feComposite><feMerge class="svelte-kaeped"><feMergeNode class="svelte-kaeped"></feMergeNode><feMergeNode in="SourceGraphic" class="svelte-kaeped"></feMergeNode></feMerge></filter></defs><!><!><!></svg>`),Ge=w(`<div><div class="zoom-controls svelte-kaeped"><button type="button" class="zoom-btn svelte-kaeped" title="Zoom out" aria-label="Zoom out">−</button> <button type="button" class="zoom-label svelte-kaeped" title="Fit to view"> </button> <button type="button" class="zoom-btn svelte-kaeped" title="Zoom in" aria-label="Zoom in">+</button></div> <!></div>`);function Ke(e,r){t(r,!0);let a=n(r,`changedNodeIds`,19,()=>new Set),s=n(r,`selectedNodeId`,15,null),c=g(0),d=g(0),f=g(800),m=g(400),v=g(!1),y=0,w=0,T=0,D=0,k=g(null),A=1.2,M=8e3,N=g(800),te=i(()=>Math.round(P(N)/P(f)*100)),I=!1;function ie(){I=!0,se(1/A,P(c)+P(f)/2,P(d)+P(m)/2)}function R(){I=!0,se(A,P(c)+P(f)/2,P(d)+P(m)/2)}function oe(){I=!1,ce()}function se(e,t,n){let r=Math.min(M,Math.max(100,P(f)*e)),i=Math.min(M,Math.max(100,P(m)*e)),a=r/P(f);z(c,t-(t-P(c))*a),z(d,n-(n-P(d))*a),z(f,r,!0),z(m,i,!0)}function ce(){if(!P(k)||P(U).width===0)return;let e=P(k).getBoundingClientRect();if(e.width===0||e.height===0){requestAnimationFrame(()=>ce());return}let t=e.width/e.height,n=Math.max(P(U).width,200)+160,r=Math.max(P(U).height,100)+160,i=n/r,a,o;i>t?(a=n,o=n/t):(o=r,a=r*t);let s=e.width/110*160,l=e.height/110*160;a>s&&(a=s,o=s/t),o>l&&(o=l,a=l*t),z(f,a,!0),z(m,o,!0);let u=(P(U).width-160)/2-80,p=(P(U).height-160)/2-80;z(c,u+80-P(f)/2),z(d,p+80-P(m)/2),z(N,P(f),!0)}let le=0;x(()=>{let e=r.nodes.length;e>0&&e!==le&&!I&&requestAnimationFrame(()=>ce()),le=e});function ue(e){e.preventDefault(),I=!0;let t=e.deltaY>0?A:1/A;if(!P(k))return;let n=P(k).getBoundingClientRect();se(t,P(c)+(e.clientX-n.left)/n.width*P(f),P(d)+(e.clientY-n.top)/n.height*P(m))}function de(e){e.target.closest(`.node`)||(I=!0,z(v,!0),y=e.clientX,w=e.clientY,T=P(c),D=P(d),e.currentTarget.setPointerCapture(e.pointerId))}function fe(e){if(!P(v)||!P(k))return;let t=P(k).getBoundingClientRect(),n=(e.clientX-y)/t.width*P(f),r=(e.clientY-w)/t.height*P(m);z(c,T-n),z(d,D-r)}function H(){z(v,!1)}function pe(e){if(e===void 0)return``;let t=me(e);return t.length>14?t.slice(0,13)+`…`:t}let U=i(()=>Ie(r.nodes,r.edges)),he=i(()=>Le(r.nodes,r.edges,a())),ge=i(()=>P(he).affected),_e=i(()=>P(he).edgeKeys),ve=i(()=>P(he).depths);function ye(e){return(P(ve).get(e)??0)*700}function be(e){return ye(e)+300}function W(e){switch(e){case`state`:return`var(--color-info)`;case`derived`:return`var(--color-success)`;case`effect`:return`var(--color-error)`;case`template`:return`var(--purple)`;default:return`var(--color-text-muted)`}}function xe(e){switch(e){case`state`:return`#3b82f6`;case`derived`:return`#22c55e`;case`effect`:return`#ef4444`;case`template`:return`#a855f7`;default:return`#999`}}function Se(e){s(s()===e.id?null:e.id),r.onSelectNode?.(s()?e:null)}let Ce=i(()=>new Map(r.nodes.map(e=>[e.id,e]))),we=g(0);x(()=>{a().size>0&&queueMicrotask(()=>{o(we)})});var G=Ge();let Te;var Ee=V(G),De=V(Ee),Oe=h(De,2),ke=B(Oe),Ae=h(Oe,2);u(Ee);var je=h(Ee,2),Me=e=>{var t=Re();F(e,t)},Ne=e=>{var t=We(),n=h(V(t));ae(n,17,()=>P(U).componentBoxes,e=>`${e.x}:${e.componentFile}`,(e,t)=>{var n=ze(),r=C(n),i=h(r),a=B(i,!0);O(()=>{l(r,`x`,P(t).x),l(r,`y`,P(t).y),l(r,`width`,P(t).w),l(r,`height`,P(t).h),l(i,`x`,P(t).x+6),l(i,`y`,P(t).y+11),S(a,P(t).file)}),F(e,n)});var a=h(n);ae(a,17,()=>r.edges,e=>`${e.from}→${e.to}`,(e,t)=>{let n=i(()=>P(U).positions.get(P(t).from)),r=i(()=>P(U).positions.get(P(t).to));var a=L(),o=C(a),c=e=>{let a=i(()=>P(n).x+160),o=i(()=>P(n).y+29),c=i(()=>P(r).x),u=i(()=>P(r).y+29),d=i(()=>(P(a)+P(c))/2),f=i(()=>s()===P(t).from||s()===P(t).to),m=i(()=>P(Ce).get(P(t).from)),g=i(()=>`${P(t).from}→${P(t).to}`),_=i(()=>P(_e).has(P(g))),v=i(()=>be(P(t).from)),y=i(()=>`M ${P(a)} ${P(o)} C ${P(d)} ${P(o)}, ${P(d)} ${P(u)}, ${P(c)} ${P(u)}`);var x=Be(),S=C(x);let w;var T=h(S),E=e=>{var t=L(),n=C(t);re(n,()=>P(we),e=>{var t=X();let n;O(e=>{l(t,`d`,P(y)),l(t,`stroke`,e),n=b(t,``,n,{"--sweep-delay":`${P(v)??``}ms`,"--sweep-dur":`400ms`})},[()=>P(m)?xe(P(m).type):`#fff`]),F(e,t)}),F(e,t)};j(T,e=>{P(_)&&e(E)});var D=h(T);let k;O((e,t)=>{l(S,`d`,P(y)),w=p(S,0,`edge svelte-kaeped`,null,w,{highlighted:P(f)}),l(S,`stroke`,e),l(D,`points`,`${P(c)-8},${P(u)-5} ${P(c)??``},${P(u)??``} ${P(c)-8},${P(u)+5}`),k=p(D,0,`arrow svelte-kaeped`,null,k,{highlighted:P(f)}),l(D,`fill`,t)},[()=>P(f)?`var(--color-accent)`:P(m)?W(P(m).type):`var(--color-text-muted)`,()=>P(f)?`var(--color-accent)`:P(m)?W(P(m).type):`var(--color-text-muted)`]),F(e,x)};j(o,e=>{P(n)&&P(r)&&e(c)}),F(e,a)});var o=h(a);ae(o,17,()=>r.nodes,e=>e.id,(e,t)=>{let n=i(()=>P(U).positions.get(P(t).id));var r=L(),a=C(r),o=e=>{let r=i(()=>P(t).value!==void 0&&P(t).type!==`effect`),a=i(()=>P(ge).has(P(t).id)),o=i(()=>ye(P(t).id)),c=i(()=>P(t).type===`state`?`url(#glow-blue)`:P(t).type===`derived`?`url(#glow-green)`:`url(#glow-red)`);var d=Ue();let f;var m=V(d),g=e=>{var n=L(),r=C(n);re(r,()=>P(we),e=>{var n=Ve();let r;O(e=>{l(n,`width`,168),l(n,`height`,66),l(n,`stroke`,e),l(n,`filter`,P(c)),r=b(n,``,r,{"--node-delay":`${P(o)??``}ms`})},[()=>xe(P(t).type)]),F(e,n)}),F(e,n)};j(m,e=>{P(a)&&e(g)});var _=h(m),v=h(_),y=h(v),x=B(y,!0),w=h(y),T=B(w,!0),D=h(w),k=B(D,!0),A=h(D),M=e=>{var n=He(),r=B(n);O(e=>{l(n,`x`,154),S(r,`= ${e??``}`)},[()=>pe(P(t).value)]),F(e,n)};j(A,e=>{P(r)&&e(M)});var ee=h(A);u(d),O((e,r,i,a)=>{f=p(d,0,`node svelte-kaeped`,null,f,{selected:s()===P(t).id}),l(d,`transform`,`translate(${P(n).x??``}, ${P(n).y??``})`),l(d,`aria-label`,`${P(t).type??``} ${P(t).name??``}`),l(d,`aria-pressed`,s()===P(t).id),l(_,`width`,160),l(_,`height`,58),l(_,`stroke`,e),l(_,`stroke-width`,s()===P(t).id?2.5:1.5),l(v,`fill`,r),S(x,i),l(w,`x`,154),S(T,P(t).type),S(k,a),l(ee,`x2`,154)},[()=>W(P(t).type),()=>W(P(t).type),()=>P(t).name.length>14?P(t).name.slice(0,13)+`…`:P(t).name,()=>Fe(P(t).componentFile)]),E(`click`,d,()=>Se(P(t))),E(`keydown`,d,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Se(P(t)))}),F(e,d)};j(a,e=>{P(n)&&e(o)}),F(e,r)}),u(t),O(()=>l(t,`viewBox`,`${P(c)??``} ${P(d)??``} ${P(f)??``} ${P(m)??``}`)),F(e,t)};j(je,e=>{r.nodes.length===0?e(Me):e(Ne,-1)}),u(G),_(G,e=>z(k,e),()=>P(k)),O(()=>{Te=p(G,1,`graph-container svelte-kaeped`,null,Te,{dragging:P(v)}),l(Oe,`aria-label`,`Fit to view (zoom ${P(te)??``}%)`),S(ke,`${P(te)??``}%`)}),ne(`wheel`,G,ue),E(`pointerdown`,G,de),E(`pointermove`,G,fe),E(`pointerup`,G,H),ne(`pointercancel`,G,H),E(`click`,De,R),E(`click`,Oe,oe),E(`click`,Ae,ie),F(e,G),ee()}T([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`]);var qe=w(`<p> </p> <!>`,1),Je=w(`<div class="warn svelte-1mo53p6"><dt class="svelte-1mo53p6">Baseline</dt> <dd class="svelte-1mo53p6"> </dd></div>`),Ye=w(`<div class="warn svelte-1mo53p6"><dt class="svelte-1mo53p6">Stale</dt> <dd class="svelte-1mo53p6"> </dd></div>`),Xe=w(`<li><button type="button"><span class="mono"> </span> <span class="sub"> </span></button></li>`),Ze=w(`<h3 class="section-title">Listed instances <span class="num"> </span></h3> <ul class="link-list"></ul> <p class="note svelte-1mo53p6"> </p>`,1),Qe=w(`<span class="faint num"> </span>`),$e=w(`<span class="end num"> </span>`),et=w(`<span class="end num faint"> </span>`),tt=w(`<span class="truncate"><span class="mono"> </span> <!></span> <!> <!> <span class="end num" title="at least this many changes in the window (sampled every 200 ms); not a rate"> </span> <span class="end num"> </span> <!>`,1),nt=w(`<div class="overview svelte-1mo53p6"><dl class="record svelte-1mo53p6" role="group" aria-label="What this overview covers"><div class="svelte-1mo53p6"><dt class="svelte-1mo53p6">Window</dt> <dd class="svelte-1mo53p6"> </dd></div> <div class="svelte-1mo53p6"><dt class="svelte-1mo53p6">Changes</dt> <dd class="svelte-1mo53p6">$state sampled every 200 ms; several writes within one sample count once</dd></div> <div class="svelte-1mo53p6"><dt class="svelte-1mo53p6">Coverage</dt> <dd class="svelte-1mo53p6">state created during component init and in <code>.svelte.js/.ts</code> module bodies;
2
+ reads from the markup appear as the component's <em>markup</em> node</dd></div> <div class="svelte-1mo53p6"><dt class="svelte-1mo53p6">Components</dt> <dd class="svelte-1mo53p6"> </dd></div> <div class="svelte-1mo53p6"><dt class="svelte-1mo53p6">Not available yet</dt> <dd class="svelte-1mo53p6"> </dd></div> <!> <!></dl> <div class="table svelte-1mo53p6"><!></div> <p class="foot svelte-1mo53p6"> <!> </p></div>`),rt=w(`<p> </p>`),it=w(`<p class="baseline svelte-1mo53p6" role="status"> </p>`),at=w(`<span class="truncate muted"> <!></span>`),ot=w(`<span class="truncate mono value svelte-1mo53p6"> </span>`),st=w(`<span class="truncate mono name svelte-1mo53p6"> </span> <!> <span class="end num" title="changes of this state in the buffer (sampled every 200 ms); not a total or a rate"> </span> <!> <span class="end num faint"> </span>`,1),ct=w(`<div class="overview svelte-1mo53p6"><!> <div class="table svelte-1mo53p6"><!></div> <p class="foot svelte-1mo53p6"> <!></p></div>`),lt=w(`<!> <!>`,1),ut=w(`<p class="none svelte-1mo53p6">All reads from this component's markup: <code></code>, attributes,
3
+ block conditions and <code>&lt;svelte:head&gt;</code>.</p>`),dt=w(`<h3 class="section-title">Current value</h3> <p class="none svelte-1mo53p6">Not evaluated yet: nothing has read this $derived so far (Svelte computes deriveds on
4
+ first read).</p>`,1),ft=w(`<p class="none svelte-1mo53p6">Full value: not available yet. This dev server reports only a summary for objects
5
+ and arrays.</p>`),pt=w(`<h3 class="section-title">Current value</h3> <pre> </pre> <!>`,1),mt=w(`<!> Sampled changes of all signals (latest 500) are in the <button type="button" class="link svelte-1mo53p6">State timeline</button>.`,1),ht=w(`<!> <!> <!> <h3 class="section-title">Cause</h3> <p class="none svelte-1mo53p6"> </p> <!> <!> <h3 class="section-title">History</h3> <p class="none svelte-1mo53p6"><!></p>`,1),gt=w(`<div class="scope-bar svelte-1mo53p6"><span><strong class="mono"> </strong> <span class="faint num"> </span> and the signals it is directly linked
6
+ to</span> <!></div>`),_t=w(`<p>Signals created during component init appear here with their dependencies.</p>`),vt=w(`<p></p> <!>`,1),yt=w(`<div class="graph svelte-1mo53p6"><!></div>`),bt=w(`<span class="truncate muted"><!></span>`),xt=w(`<span><!></span> <span><!></span> <!> <span class="truncate mono value svelte-1mo53p6"> </span> <!>`,1),St=w(`<div class="local svelte-1mo53p6"><!> <p class="legend svelte-1mo53p6">Edges mean <strong>can affect</strong>: a snapshot of current dependencies, not a recorded
7
+ cause. <!> <!></p> <div class="body svelte-1mo53p6"><!></div></div>`),Ct=w(`<li><button type="button"><!> <span class="truncate mono"> </span> <span class="sub truncate"> </span></button></li>`),wt=w(`<ul class="link-list"></ul>`),Tt=w(`<p class="none svelte-1mo53p6">None</p>`),Et=w(`<h3 class="section-title"> <span class="num"> </span></h3> <!>`,1),Dt=w(`<option> </option>`),Ot=w(`<select class="select scope svelte-1mo53p6" aria-label="Filter loaded signals by component file"><option> </option><!></select>`),kt=w(`<span class="hint svelte-1mo53p6" title="Polling makes the app rebuild the whole graph; large graphs start paused."> </span>`),At=w(`<!> <!> <!> <!> <!> <!>`,1),jt=w(`<!> <!> <!>`,1),Mt=w(`<p>Choose one in the <button type="button" class="link svelte-1mo53p6">Overview</button> or use <strong>Show reactivity</strong> in the <button type="button" class="link svelte-1mo53p6">Components</button> inspector. Only that component's signals and the signals they are directly linked to are loaded.</p>`);function Nt(n,o){t(o,!0);let _=e=>{var t=L(),n=C(t),r=e=>{w(e)},i=e=>{b(e)};j(n,e=>{P(J)===`states`?e(r):e(i,-1)}),F(e,t)},b=e=>{let t=i(()=>Y.data);var n=L(),r=C(n),a=e=>{I(e,{icon:`warning`,title:`Overview not available`,children:(e,t)=>{var n=qe(),r=C(n),i=B(r),a=h(r,2);m(a,{icon:`graph`,onclick:()=>z(K,`full`),children:(e,t)=>{M();var n=R(`Full graph`);F(e,n)},$$slots:{default:!0}}),O(()=>S(i,`The dev server did not return per-component activity (${Y.error??``}). Pick a component in
8
+ Components (Show reactivity) or open the full graph.`)),F(e,n)},$$slots:{default:!0}})},o=e=>{I(e,{title:`Reading activity…`})},s=e=>{var n=nt(),r=V(n),a=V(r),o=h(V(a),2),s=B(o);u(a);var c=h(a,6),f=h(V(c),2),p=B(f);u(c);var m=h(c,2),g=h(V(m),2),_=B(g);u(m);var v=h(m,2),y=e=>{var n=Je(),r=h(V(n),2),i=B(r,!0);u(n),O(e=>S(i,e),[()=>Oe(P(t).baseline)]),F(e,n)},b=i(()=>Oe(P(t).baseline));j(v,e=>{P(b)&&e(y)});var x=h(v,2),w=e=>{var n=Ye(),r=h(V(n),2),i=B(r,!0);u(n),O(e=>S(i,e),[()=>pn(P(t))]),F(e,n)},T=i(()=>pn(P(t)));j(x,e=>{P(T)&&e(w)}),u(r);var D=h(r,2),k=V(D);{let e=e=>{var n=L(),r=C(n),a=e=>{{let n=i(()=>H(P(Re).file)),r=i(()=>fe(P(Re).file,3));ge(e,{get title(){return`<${P(n)??``}>`},get subtitle(){return P(r)},onclose:()=>z(Ie,null),children:(e,n)=>{var r=Ze(),i=C(r),a=h(V(i)),o=B(a,!0);u(i);var s=h(i,2);ae(s,21,()=>P(Re).instances,e=>e.componentId,(e,n)=>{var r=Xe(),i=V(r),a=V(i),o=B(a),s=h(a,2),c=B(s);u(i),u(r),O((e,r)=>{i.disabled=!P(t).epoch,S(o,`#${P(n).componentId??``}`),S(c,`≥ ${e??``} changes · ${r??``} renders`)},[()=>P(n).changes.toLocaleString(),()=>P(n).renders.toLocaleString()]),E(`click`,i,()=>It(P(n),P(t).epoch)),F(e,r)}),u(s);var c=h(s,2),l=B(c,!0);O(()=>{S(o,P(Re).instances.length),S(l,P(t).epoch?`Select an instance to load its signals and the signals they are directly linked to.`:`The dev server reported no page-load id, so instances cannot be selected here; use Show reactivity in Components.`)}),F(e,r)},$$slots:{default:!0}})}};j(r,e=>{P(Re)&&e(a)}),F(e,n)},n=i(()=>!!P(Re));le(k,{id:`reactive-overview`,get open(){return P(n)},aside:e,children:(e,n)=>{he(e,{get items(){return P(Le)},get columns(){return ze},getKey:e=>e.key,label:`Most active components`,onactivate:e=>e.instances.length===1&&It(e.instances[0],P(t).epoch),get sort(){return P(Fe)},set sort(e){z(Fe,e,!0)},get selected(){return P(Ie)},set selected(e){z(Ie,e,!0)},row:(e,t=d,n)=>{let r=()=>(n?.()).visible;var a=tt(),o=C(a),s=V(o),c=B(s,!0),f=h(s,2),p=e=>{var n=Qe(),r=B(n,!0);O(()=>S(r,` #${t().instances[0].componentId}`)),F(e,n)};j(f,e=>{P(Pe)===`instance`&&e(p)}),u(o);var m=h(o,2),g=e=>{var n=$e(),r=B(n,!0);O(()=>S(r,t().instances.length)),F(e,n)},_=i(()=>r().has(`instances`));j(m,e=>{P(_)&&e(g)});var v=h(m,2),y=e=>{var n=et(),r=B(n,!0);O(e=>{l(n,`title`,`registered: ${t().nodes.state??``} $state · ${t().nodes.derived??``} $derived · ${t().nodes.effect??``} $effect`),S(r,e)},[()=>De(t().nodes)]),F(e,n)},b=i(()=>r().has(`nodes`));j(v,e=>{P(b)&&e(y)});var x=h(v,2),w=B(x),T=h(x,2),E=B(T,!0),D=h(T,2),k=e=>{var n=et(),r=B(n,!0);O(e=>S(r,e),[()=>pe(t().renderMs)]),F(e,n)},A=i(()=>r().has(`renderMs`));j(D,e=>{P(A)&&e(k)}),O((e,t,n)=>{S(c,e),S(w,`≥ ${t??``}`),S(E,n)},[()=>H(t().file),()=>t().changes.toLocaleString(),()=>t().renders.toLocaleString()]),F(e,a)},empty:e=>{I(e,{icon:`reactive`,title:`No component was active in the window`})},$$slots:{row:!0,empty:!0}})},$$slots:{aside:!0,default:!0}})}u(D);var A=h(D,2),M=V(A),ee=h(M),N=e=>{var n=R();O((e,t)=>S(n,`Other: ${e??``} components with ${t??``}
9
+ signals.`),[()=>P(t).other.components.toLocaleString(),()=>P(t).other.nodes.toLocaleString()]),F(e,n)},te=e=>{var t=R(`Other: unknown.`);F(e,t)};j(ee,e=>{P(t).other?e(N):e(te,-1)});var ne=h(ee);u(A),u(n),O((e,n,r,i,a,o,c,l)=>{S(s,`last ${e??``} s · sampled while active for ${n??``} s`),S(p,`${r??``} active of ${i??``} registered`),S(_,`${a??``}
10
+ (not reported by this dev server)`),S(M,`Listed: ${o??``}
11
+ ${P(t).rows.length===1?`component`:`components`} (${c??``}). `),S(ne,` Total registered: ${l??``}. Counts restart when the app page
12
+ reloads.`)},[()=>Math.round(P(t).window.ms/1e3),()=>Math.round(P(t).window.sampledActiveMs/1e3),()=>P(t).components.withActivity.toLocaleString(),()=>fn(P(t).components.total),()=>[!P(t).capabilities.valueInspection&&`full values`,!P(t).capabilities.signalHistory&&`per-signal history`,!P(t).capabilities.writeCause&&`update cause`].filter(Boolean).join(`, `)||`none`,()=>P(t).rows.length.toLocaleString(),()=>P(t).truncated?`top ${P(t).rows.length} of ${P(t).components.withActivity.toLocaleString()} active`:`all active`,()=>fn(P(t).components.total)]),F(e,n)};j(r,e=>{!P(t)&&Y.error?e(a):P(t)?e(s,-1):e(o,1)}),F(e,n)},w=e=>{var t=L(),n=C(t),r=e=>{I(e,{icon:`warning`,title:`State timeline not available`,children:(e,t)=>{var n=rt(),r=B(n);O(()=>S(r,`The dev server did not return the timeline buffer (${X.error??``}).`)),F(e,n)},$$slots:{default:!0}})},a=e=>{var t=ct(),n=V(t),r=e=>{var t=it(),n=B(t,!0);O(()=>S(n,P(Ue))),F(e,t)};j(n,e=>{P(Ue)&&e(r)});var a=h(n,2),o=V(a);he(o,{get items(){return P(Ve)},get columns(){return Pt},getKey:e=>e.key,label:`Most changed states in the timeline buffer`,onactivate:Ft,get sort(){return P(Ge)},set sort(e){z(Ge,e,!0)},get selected(){return P(Nt)},set selected(e){z(Nt,e,!0)},row:(e,t=d,n)=>{let r=()=>(n?.()).visible;var a=st(),o=C(a),s=B(o,!0),c=h(o,2),l=e=>{var n=at(),r=V(n,!0),i=h(r),a=e=>{var n=Qe(),r=B(n,!0);O(()=>S(r,` #${t().componentId}`)),F(e,n)};j(i,e=>{t().componentId!==null&&e(a)}),u(n),O(e=>S(r,e),[()=>H(t().file)]),F(e,n)},f=i(()=>r().has(`component`));j(c,e=>{P(f)&&e(l)});var p=h(c,2),m=B(p),g=h(p,2),_=e=>{var n=ot(),r=B(n,!0);O(e=>S(r,e),[()=>U(t().last.newValue,80)]),F(e,n)},v=i(()=>r().has(`value`));j(g,e=>{P(v)&&e(_)});var y=h(g,2),b=B(y,!0);O((e,n)=>{S(s,t().name),S(m,`≥ ${e??``}`),S(b,n)},[()=>t().changes.toLocaleString(),()=>ue(t().last.timestamp)]),F(e,a)},empty:e=>{{let t=i(()=>X.loading?`Reading the timeline…`:`No $state changes in the buffer`);I(e,{icon:`timeline`,get title(){return P(t)}})}},$$slots:{row:!0,empty:!0}}),u(a);var s=h(a,2),c=V(s),l=h(c),f=e=>{var t=R();O(()=>S(t,`Last refresh failed (${X.error??``}); showing the previous buffer.`)),F(e,t)};j(l,e=>{X.error&&e(f)}),u(s),u(t),O((e,t)=>S(c,`From the State timeline buffer: the latest ${e??``} sampled changes
13
+ (every 200 ms) across all signals, since
14
+ ${t??``}. Older changes
15
+ and signals that changed less recently may be missing; counts are not totals or rates.
16
+ Activate a row to open its component. `),[()=>X.data.length.toLocaleString(),()=>P(We)===null?`unknown (buffer empty)`:ue(P(We))]),F(e,t)};j(n,e=>{!X.data.length&&X.error?e(r):e(a,-1)}),F(e,t)},T=e=>{{let t=e=>{var t=L(),n=C(t),r=e=>{{let t=e=>{var t=lt(),n=C(t);oe(n,{get tone(){return cn[P($).type]},children:(e,t)=>{M();var n=R();O(e=>S(n,e),[()=>ln(P($).type)]),F(e,n)},$$slots:{default:!0}});var r=h(n,2);oe(r,{children:(e,t)=>{M();var n=R();O(()=>S(n,`component #${P($).componentId??``}`)),F(e,n)},$$slots:{default:!0}}),F(e,t)},n=e=>{var t=lt(),n=C(t);m(n,{icon:`editor`,onclick:()=>mn(P($)),children:(e,t)=>{M();var n=R();O(()=>S(n,P($).type===`template`?`Open component`:`Go to definition (by name)`)),F(e,n)},$$slots:{default:!0}});var r=h(n,2),i=e=>{m(e,{icon:`reactive`,onclick:()=>hn(P($)),children:(e,t)=>{M();var n=R(`Show this component`);F(e,n)},$$slots:{default:!0}})};j(r,e=>{(P(K)===`full`||P($).componentId!==P(q)?.componentId)&&P(Q).epoch&&e(i)}),F(e,t)},r=i(()=>fe(P($).componentFile,3));ge(e,{get title(){return P($).name},get subtitle(){return P(r)},onclose:()=>z(Yt,null),badges:t,actions:n,children:(e,t)=>{var n=ht(),r=C(n),a=e=>{var t=ut(),n=h(V(t));n.textContent=`{expressions}`,M(3),u(t),F(e,t)};j(r,e=>{P($).type===`template`&&e(a)});var o=h(r,2),s=e=>{var t=dt();M(2),F(e,t)};j(o,e=>{P($).unevaluated&&e(s)});var c=h(o,2),l=e=>{var t=pt(),n=h(C(t),2);let r;var a=B(n,!0),o=h(n,2),s=e=>{var t=ft();F(e,t)},c=i(()=>!P(dn).valueInspection&&we(P($).value));j(o,e=>{P(c)&&e(s)}),O((e,t)=>{r=p(n,1,`code-block svelte-1mo53p6`,null,r,{flash:e}),S(a,t)},[()=>P(Lt).has(P($).id),()=>we(P($).value)?P($).value:de(P($).value)]),F(e,t)};j(c,e=>{P($).value!==void 0&&e(l)});var d=h(c,4),f=B(d,!0),m=h(d,2);{let e=i(()=>P(Qt).deps.get(P($).id)??[]);N(m,()=>`Reads (can affect this)`,()=>P(e))}var g=h(m,2);{let e=i(()=>P(Qt).dependents.get(P($).id)??[]);N(g,()=>`Can affect`,()=>P(e))}var _=h(g,4),v=V(_),y=e=>{var t=mt(),n=C(t),r=e=>{var t=R(`Per-signal history: not available yet.`);F(e,t)};j(n,e=>{P(dn).signalHistory||e(r)});var i=h(n,2);M(),E(`click`,i,()=>A.go(`timeline`)),F(e,t)},b=e=>{var t=R();O(e=>S(t,`Not recorded for ${e??``}.`),[()=>ln(P($).type)]),F(e,t)};j(v,e=>{P($).type===`state`?e(y):e(b,-1)}),u(_),O(()=>S(f,P(dn).writeCause?`Recorded writes appear here.`:`Not recorded. This dev server does not capture which write changed a signal; the links below are dependencies, not causes.`)),F(e,n)},$$slots:{badges:!0,actions:!0,default:!0}})}};j(n,e=>{P($)&&e(r)}),F(e,t)},n=i(()=>!!P($));le(e,{id:`reactive`,get open(){return P(n)},aside:t,children:(e,t)=>{var n=St(),r=V(n),a=e=>{var t=gt(),n=V(t),r=V(n),i=B(r,!0),a=h(r,2),o=B(a);M(),u(n);var s=h(n,2);m(s,{icon:`close`,variant:`ghost`,label:`Clear selection`,onclick:gn}),u(t),O(()=>{S(i,P(q).label),S(o,`#${P(q).componentId??``}`)}),F(e,t)};j(r,e=>{P(K)===`local`&&P(q)&&e(a)});var o=h(r,2),s=h(V(o),3),c=e=>{var t=R();O(e=>S(t,`${e??``} edges to signals outside the loaded
17
+ set are not shown.`),[()=>P(Q).edgesOmitted.toLocaleString()]),F(e,t)};j(s,e=>{P(Q).edgesOmitted&&e(c)});var l=h(s,2),g=e=>{var t=R();O(e=>S(t,`Built ${e??``}.`),[()=>ue(P(zt))]),F(e,t)};j(l,e=>{P(zt)!==null&&P(Q)!==Me&&e(g)}),u(o);var _=h(o,2),v=V(_),y=e=>{var t=L(),n=C(t),r=e=>{I(e,{title:`Collecting reactive graph…`})},i=e=>{I(e,{icon:`reactive`,title:`No signals tracked here`,children:(e,t)=>{var n=_t();F(e,n)},$$slots:{default:!0}})};j(n,e=>{Z.loading||Z.busy?e(r):e(i,-1)}),F(e,t)},b=e=>{var t=L(),n=C(t),r=e=>{{let t=i(()=>P(nn).length.toLocaleString());I(e,{icon:`graph`,get title(){return`${P(t)??``} signals is too many to lay out`},children:(e,t)=>{var n=vt(),r=C(n);r.textContent=`Pick a single component or filter to under 400 signals, or use the list view.`;var i=h(r,2);m(i,{icon:`list`,onclick:()=>Gt.value=`list`,children:(e,t)=>{M();var n=R(`Switch to list`);F(e,n)},$$slots:{default:!0}}),F(e,n)},$$slots:{default:!0}})}},a=e=>{var t=yt();Ke(V(t),{get nodes(){return P(nn)},get edges(){return P(an)},get changedNodeIds(){return P(Lt)},get selectedNodeId(){return P(Yt)},set selectedNodeId(e){z(Yt,e,!0)}}),u(t),F(e,t)};j(n,e=>{P(nn).length>ne?e(r):e(a,-1)}),F(e,t)},x=e=>{he(e,{get items(){return P(nn)},get columns(){return un},getKey:e=>e.id,label:`Reactive signals`,onactivate:mn,get sort(){return P(Jt)},set sort(e){z(Jt,e,!0)},get selected(){return P(Yt)},set selected(e){z(Yt,e,!0)},row:(e,t=d,n)=>{let r=()=>(n?.()).visible;var a=xt(),o=C(a),s=V(o);oe(s,{get tone(){return cn[t().type]},children:(e,n)=>{M();var r=R();O(()=>S(r,t().type===`template`?`markup`:t().type)),F(e,r)},$$slots:{default:!0}}),u(o);var c=h(o,2);let l;var m=V(c);f(m,{get text(){return t().name},get query(){return P(Kt)}}),u(c);var g=h(c,2),_=e=>{var n=bt(),r=V(n);{let e=i(()=>H(t().componentFile));f(r,{get text(){return P(e)},get query(){return P(Kt)}})}u(n),F(e,n)},v=i(()=>r().has(`component`));j(g,e=>{P(v)&&e(_)});var y=h(g,2),b=B(y,!0),x=h(y,2),w=e=>{var n=et(),r=B(n);O((e,t)=>S(r,`${e??``} / ${t??``}`),[()=>P(Qt).deps.get(t().id)?.length??0,()=>P(Qt).dependents.get(t().id)?.length??0]),F(e,n)},T=i(()=>r().has(`deps`));j(x,e=>{P(T)&&e(w)}),O((e,t)=>{l=p(c,1,`truncate mono name svelte-1mo53p6`,null,l,{flash:e}),S(b,t)},[()=>P(Lt).has(t().id),()=>t().value===void 0?``:Ne(t().value,120)]),F(e,a)},empty:e=>{I(e,{icon:`search`,title:`No loaded signals match`})},$$slots:{row:!0,empty:!0}})};j(v,e=>{P(Q).nodes.length===0?e(y):P(on)===`graph`?e(b,1):e(x,-1)}),u(_),u(n),F(e,n)},$$slots:{aside:!0,default:!0}})}},N=(e,t=d,n=d)=>{var r=Et(),a=C(r),o=V(a),s=h(o),c=B(s,!0);u(a);var l=h(a,2),f=e=>{var t=wt();ae(t,20,n,e=>e,(e,t)=>{let n=i(()=>P(Zt).get(t));var r=L(),a=C(r),o=e=>{var r=Ct(),i=V(r),a=V(i);oe(a,{get tone(){return cn[P(n).type]},children:(e,t)=>{M();var r=R();O(()=>S(r,P(n).type===`template`?`markup`:P(n).type)),F(e,r)},$$slots:{default:!0}});var o=h(a,2),s=B(o,!0),c=h(o,2),l=B(c);u(i),u(r),O(e=>{S(s,P(n).name),S(l,`${e??``}${P(K)===`local`&&P(n).componentId!==P(q)?.componentId?` · other component`:``}`)},[()=>H(P(n).componentFile)]),E(`click`,i,()=>z(Yt,t,!0)),F(e,r)};j(a,e=>{P(n)&&e(o)}),F(e,r)}),u(t),F(e,t)},p=e=>{var t=Tt();F(e,t)};j(l,e=>{n().length?e(f):e(p,-1)}),O(()=>{S(o,`${t()??``} `),S(c,n().length)}),F(e,r)},ne=400,re={topK:50,windowMs:1e4},me=2e3,K=g(r(W.current?`local`:`overview`)),q=i(()=>W.current);x(()=>{W.current&&k(()=>z(K,`local`))});let J=g(`components`),Y=te(()=>Ee(re),{initial:null,interval:me,when:()=>P(K)===`overview`&&P(J)===`components`}),Pe=g(`file`),Fe=g(r({id:`changes`,desc:!0})),Ie=g(null),Le=i(()=>{let e=Y.data?.rows??[];return P(Pe)===`file`?ke(e).map(e=>({key:e.file,...e})):e.map(e=>({key:`#${e.componentId}`,file:e.file,instances:[e],nodes:e.nodes,changes:e.changes,renders:e.renders,renderMs:e.renderMs}))}),Re=i(()=>P(Ie)?P(Le).find(e=>e.key===P(Ie))??null:null),ze=[{id:`component`,label:`Component`,width:`minmax(0, 1fr)`,sort:(e,t)=>e.file.localeCompare(t.file)},{id:`instances`,label:`Inst.`,width:`52px`,align:`end`,descFirst:!0,minWidth:560,sort:(e,t)=>e.instances.length-t.instances.length},{id:`nodes`,label:`Signals`,width:`72px`,align:`end`,descFirst:!0,minWidth:640,sort:(e,t)=>De(e.nodes)-De(t.nodes)},{id:`changes`,label:`Changes`,width:`84px`,align:`end`,descFirst:!0,sort:(e,t)=>e.changes-t.changes},{id:`renders`,label:`Renders`,width:`72px`,align:`end`,descFirst:!0,sort:(e,t)=>e.renders-t.renders},{id:`renderMs`,label:`Render time`,width:`96px`,align:`end`,descFirst:!0,minWidth:720,sort:(e,t)=>e.renderMs-t.renderMs}],X=te(async()=>(await a(void 0)).changes,{initial:[],interval:me,version:xe(`stateTimeline`),when:()=>P(K)===`overview`&&P(J)===`states`});function Be(e,[t,...n]){let r=Number(e.slice(0,e.indexOf(`:`)));return{key:e,name:t.name,file:t.componentFile,componentId:Number.isInteger(r)?r:null,changes:n.length+1,last:n.reduce((e,t)=>t.seq>e.seq?t:e,t)}}let Ve=i(()=>[...ve(X.data,e=>e.id)].map(([e,t])=>Be(e,t))),He=Se(me,()=>P(K)===`overview`&&P(J)===`states`),Ue=i(()=>Oe(He.data.stateTimeline?.baseline)),We=i(()=>X.data.length?X.data[0].timestamp:null),Ge=g(r({id:`changes`,desc:!0})),Nt=g(null),Pt=[{id:`name`,label:`State`,width:`minmax(120px, 1fr)`,sort:(e,t)=>e.name.localeCompare(t.name)},{id:`component`,label:`Component`,width:`minmax(0, 1fr)`,minWidth:560,sort:(e,t)=>e.file.localeCompare(t.file)},{id:`changes`,label:`Changes`,width:`84px`,align:`end`,descFirst:!0,sort:(e,t)=>e.changes-t.changes},{id:`value`,label:`Last value`,width:`minmax(0, 1fr)`,minWidth:680},{id:`at`,label:`Last seen`,width:`96px`,align:`end`,descFirst:!0,sort:(e,t)=>e.last.seq-t.last.seq}];async function Ft(e){if(e.componentId===null)return;let t=(await D().catch(()=>null))?.epoch;t&&W.set({componentId:e.componentId,epoch:t,label:`<${H(e.file)}>`,file:e.file})}function It(e,t){t&&W.set({componentId:e.componentId,epoch:t,label:`<${H(e.file)}>`,file:e.file})}let Lt=g(new Set),Rt=new Map,zt=g(null),Bt=i(()=>P(K)===`full`?null:P(K)===`local`&&P(q)?.epoch?P(q).componentId:void 0),Z=te(async()=>{let e=k(()=>P(Bt)),t=k(()=>P(q)?.epoch);if(e===void 0||e!==null&&!t)return Me;let n=await Ae(e===null?null:{componentId:e,epoch:t}),r=n.nodes.filter(e=>e.value!==void 0),i=new Set(r.filter(e=>Rt.has(e.id)&&!Te(Rt.get(e.id),e.value)).map(e=>e.id));return Rt=new Map(r.map(e=>[e.id,e.value])),(i.size||P(Lt).size)&&z(Lt,i),z(zt,n.computedAt,!0),n},{initial:Me,interval:5e3,equals:G,when:()=>P(Bt)!==void 0}),Vt;x(()=>{let e=P(Bt);k(()=>{e!==Vt&&(Vt=e,Rt=new Map,z(Lt,new Set),z(Yt,null),z(zt,null),e!==void 0&&Z.refresh())})});let Ht=g(!1),Ut=!1;x(()=>{P(Ht)&&Z.live&&(Ut=!0)}),x(()=>{P(K)!==`full`||Ut||P(Ht)||Z.data.nodes.length<=2e3||k(()=>{Z.live=!1,z(Ht,!0)})});let Wt=i(()=>P(K)===`local`&&!!P(q)?.epoch&&(je(Z.data)||!!Z.data.epoch&&Z.data.epoch!==P(q).epoch)),Q=i(()=>P(Wt)||P(Bt)===void 0||Z.data.scope!==(P(Bt)??null)?Me:Z.data),Gt=ie(`reactive:view`,`auto`),Kt=g(``),qt=g(`all`),Jt=g(r({id:`component`,desc:!1})),Yt=g(null),Xt=g(``),Zt=i(()=>new Map(P(Q).nodes.map(e=>[e.id,e]))),Qt=i(()=>({deps:ve(P(Q).edges,e=>e.to,e=>e.from),dependents:ve(P(Q).edges,e=>e.from,e=>e.to)})),$t=i(()=>[...new Set(P(Q).nodes.map(e=>e.componentFile))].sort()),en=i(()=>P(K)!==`full`||!P(Xt)?null:Ce(P(Q).nodes,P(Q).edges,P(Xt))),tn=i(()=>new Map(P(Q).nodes.map(e=>[e.id,s(e.name,e.componentFile,e.value===void 0?``:Ne(e.value))]))),nn=i(()=>{let e=c(P(Kt)),t=P(en);return P(Q).nodes.filter(n=>(!t||t.has(n.id))&&(P(qt)===`all`||n.type===P(qt))&&(!e||e(P(tn).get(n.id)??``)))}),rn=i(()=>new Set(P(nn).map(e=>e.id))),an=i(()=>P(Q).edges.filter(e=>P(rn).has(e.from)&&P(rn).has(e.to))),on=i(()=>Gt.value===`auto`?P(nn).length<=150?`graph`:`list`:Gt.value),$=i(()=>P(Yt)?P(Zt).get(P(Yt))??null:null),sn=i(()=>{let e={state:0,derived:0,effect:0,template:0};for(let t of P(Q).nodes)e[t.type]++;return e}),cn={state:`blue`,derived:`green`,effect:`red`,template:`purple`},ln=e=>e===`template`?`markup`:`$${e}`,un=[{id:`type`,label:`Kind`,width:`68px`,sort:(e,t)=>e.type.localeCompare(t.type)},{id:`name`,label:`Name`,width:`minmax(120px, 1fr)`,sort:(e,t)=>e.name.localeCompare(t.name)},{id:`component`,label:`Component`,width:`minmax(0, 1fr)`,minWidth:560,sort:(e,t)=>e.componentFile.localeCompare(t.componentFile)||e.name.localeCompare(t.name)},{id:`value`,label:`Value`,width:`minmax(0, 1.2fr)`},{id:`deps`,label:`In / Out`,width:`64px`,align:`end`,descFirst:!0,minWidth:680,sort:(e,t)=>(P(Qt).deps.get(e.id)?.length??0)+(P(Qt).dependents.get(e.id)?.length??0)-(P(Qt).deps.get(t.id)?.length??0)-(P(Qt).dependents.get(t.id)?.length??0)}],dn=i(()=>Y.data?.capabilities??{valueInspection:!1,signalHistory:!1,writeCause:!1}),fn=e=>e==null?`unknown`:e.toLocaleString(),pn=e=>e?.stale?e.staleReason===`no-runtime`?`no app page is connected`:`the app did not answer in time; showing the previous reply`:null;function mn(t){e(t.componentFile,t.name,t.type).catch(()=>{})}function hn(e){P(Q).epoch&&W.set({componentId:e.componentId,epoch:P(Q).epoch,label:`<${H(e.componentFile)}>`,file:e.componentFile})}function gn(){W.set(null),z(K,`overview`)}{let e=e=>{var t=jt(),n=C(t);{let e=i(()=>[{value:`overview`,label:`Overview`},{value:`local`,label:P(q)?P(q).label:`Component`},{value:`full`,label:`Full graph`}]);_e(n,{label:`Reactivity view`,get options(){return P(e)},get value(){return P(K)},set value(e){z(K,e,!0)}})}var r=h(n,2),a=e=>{_e(e,{label:`Overview of`,options:[{value:`components`,label:`Components`},{value:`states`,label:`States`}],get value(){return P(J)},set value(e){z(J,e,!0)}})};j(r,e=>{P(K)===`overview`&&e(a)});var o=h(r,2),s=e=>{_e(e,{label:`Group`,options:[{value:`file`,label:`By file`},{value:`instance`,label:`By instance`}],get value(){return P(Pe)},set value(e){z(Pe,e,!0)}})},c=e=>{var t=At(),n=C(t);{let e=i(()=>[{value:`all`,label:`All`},{value:`state`,label:`$state`,count:P(sn).state},{value:`derived`,label:`$derived`,count:P(sn).derived},{value:`effect`,label:`$effect`,count:P(sn).effect},{value:`template`,label:`markup`,count:P(sn).template}]);_e(n,{label:`Signal kind`,get options(){return P(e)},get value(){return P(qt)},set value(e){z(qt,e,!0)}})}var r=h(n,2);{let e=i(()=>P(Q).nodes.length.toLocaleString());ce(r,{get placeholder(){return`Filter the ${P(e)??``} loaded signals…`},get count(){return P(nn).length},get value(){return P(Kt)},set value(e){z(Kt,e,!0)}})}var a=h(r,2),o=e=>{var t=Ot(),n=V(t),r=B(n);n.value=n.__value=``;var i=h(n);ae(i,16,()=>P($t),e=>e,(e,t)=>{var n=Dt(),r=B(n,!0),i={};O(e=>{S(r,e),i!==(i=t)&&(n.value=(n.__value=i)??``)},[()=>H(t)]),F(e,n)}),u(t),v(t),O(()=>S(r,`All loaded files (${P($t).length??``})`)),y(t,()=>P(Xt),e=>z(Xt,e)),F(e,t)};j(a,e=>{P(K)===`full`&&e(o)});var s=h(a,2);{let e=i(()=>({captured:P(Q).nodes.length,total:P(Q).total?.nodes??null,truncated:P(Q).truncated,policy:P(Q).policy})),t=i(()=>pn(P(Q)));ye(s,{get info(){return P(e)},noun:`signals`,get stale(){return P(t)}})}var c=h(s,2),l=e=>{var t=kt(),n=B(t);O((e,t)=>S(n,`Paused: ${e??``} of ${t??``} signals`),[()=>P(Q).nodes.length.toLocaleString(),()=>fn(P(Q).total?.nodes)]),F(e,t)};j(c,e=>{P(Ht)&&!Z.live&&P(K)===`full`&&e(l)});var d=h(c,2);_e(d,{label:`Layout`,options:[{value:`auto`,label:`Auto`},{value:`graph`,label:`Graph`},{value:`list`,label:`List`}],get value(){return Gt.value},set value(e){Gt.value=e}}),F(e,t)};j(o,e=>{P(K)===`overview`&&P(J)===`components`?e(s):P(K)!==`overview`&&e(c,1)}),F(e,t)},t=e=>{var t=L(),n=C(t),r=e=>{{let t=i(()=>P(J)===`states`?X:Y);be(e,{get res(){return P(t)}})}},a=e=>{be(e,{get res(){return Z}})};j(n,e=>{P(K)===`overview`?e(r):P(Bt)!==void 0&&e(a,1)}),F(e,t)},r=i(()=>P(K)===`overview`?P(J)===`states`?P(Ve).length:Y.data?.components.total??void 0:P(Q).nodes.length);se(n,{title:`Reactivity`,get count(){return P(r)},toolbar:e,actions:t,children:(e,t)=>{var n=L(),r=C(n),i=e=>{_(e)},a=e=>{I(e,{icon:`reactive`,title:`Pick a component`,children:(e,t)=>{var n=Mt(),r=h(V(n)),i=h(r,4);M(),u(n),E(`click`,r,()=>z(K,`overview`)),E(`click`,i,()=>A.go(`components`)),F(e,n)},$$slots:{default:!0}})},o=e=>{I(e,{icon:`warning`,title:`This selection has no page-load id`,children:(e,t)=>{var n=qe(),r=C(n),i=B(r),a=h(r,2);m(a,{icon:`close`,onclick:gn,children:(e,t)=>{M();var n=R(`Clear selection`);F(e,n)},$$slots:{default:!0}}),O(()=>S(i,`Component ids are only valid within one page load. Pick ${P(q).label??``} again in Components once
18
+ the tree has refreshed.`)),F(e,n)},$$slots:{default:!0}})},s=e=>{I(e,{icon:`warning`,title:`The app page reloaded`,children:(e,t)=>{var n=qe(),r=C(n),i=B(r),a=h(r,2);m(a,{icon:`close`,onclick:gn,children:(e,t)=>{M();var n=R(`Clear selection`);F(e,n)},$$slots:{default:!0}}),O(()=>S(i,`Component ids restart on every page load, so ${P(q)?.label??``} #${P(q)?.componentId??``} may now be a
19
+ different instance. Pick it again.`)),F(e,n)},$$slots:{default:!0}})},c=e=>{T(e)};j(r,e=>{P(K)===`overview`?e(i):P(K)===`local`&&!P(q)?e(a,1):P(K)===`local`&&P(q)&&!P(q).epoch?e(o,2):P(Wt)?e(s,3):e(c,-1)}),F(e,n)},$$slots:{toolbar:!0,actions:!0,default:!0}})}ee()}T([`click`]);export{Nt as default};
@@ -0,0 +1 @@
1
+ import{At as e,C as t,Ct as n,Dt as r,L as i,Mt as a,Nt as o,P as s,Q as c,R as l,St as u,Tt as d,Z as f,at as p,bt as m,ct as h,gt as g,it as _,jt as v,k as y,kt as b,mt as x,n as S,ot as C,r as w,st as T,ut as E,wt as D,xt as O,yt as k}from"./index-Cf5oAFpK.js";import{n as A,t as j}from"./Panel-CKQaY_Qq.js";import{t as M}from"./SearchField-B5EQ5IIf.js";import{t as N}from"./SplitView-CxRUXpY5.js";import{a as ee,l as P,o as F}from"./format-BEILGi1v.js";import{t as I}from"./DataTable-C5C0HrMd.js";import{t as L}from"./Inspector-mTvtYmwt.js";import{t as R}from"./Segmented-Dz1OdcPr.js";import{n as z}from"./collections-uqk9p1aQ.js";import{t as B}from"./CaptureNotice-DykEK0Kp.js";import{t as V}from"./LiveControls-nrc1-cBk.js";import{t as te}from"./versions-Bd19hz8p.js";import{t as ne}from"./capture.svelte-BLIttZ2Z.js";var re=h(`<!> <!> <!> <span class="summary num svelte-1u85j1o"> </span>`,1),ie=h(`<!> <!>`,1),ae=h(`<div class="stats svelte-1u85j1o"><div class="svelte-1u85j1o"><span class="svelte-1u85j1o">Renders</span><strong class="num svelte-1u85j1o"> </strong></div> <div class="svelte-1u85j1o"><span class="svelte-1u85j1o">Total</span><strong class="num svelte-1u85j1o"> </strong></div> <div class="svelte-1u85j1o"><span class="svelte-1u85j1o">Average</span><strong> </strong></div> <div class="svelte-1u85j1o"><span class="svelte-1u85j1o">Last</span><strong> </strong></div> <div class="svelte-1u85j1o"><span class="svelte-1u85j1o"> </span><strong class="num svelte-1u85j1o"> </strong></div> <div class="svelte-1u85j1o"><span class="svelte-1u85j1o">Last render</span><strong class="num svelte-1u85j1o"> </strong></div></div> <p class="note svelte-1u85j1o">Share of all render time: <strong class="num"> </strong></p>`,1),H=h(`<span class="end num muted"> </span>`),oe=h(`<span> </span>`),se=h(`<span class="name svelte-1u85j1o"><span class="cname svelte-1u85j1o"><!></span> <span class="file truncate svelte-1u85j1o"><!></span></span> <!> <!> <span class="end num"> </span> <!> <span class="total end svelte-1u85j1o"><span></span> <span class="num"> </span></span>`,1),ce=h(`<p>Interact with your app — every component mount and update is timed.</p>`);function U(h,U){e(U,!0);let W=S(t,{initial:[],interval:1e3,version:te(`renderProfiles`)}),le=ne(1e3),G=d(`component`),K=d(``),q=d(n({id:`total`,desc:!0})),J=d(null);function ue(e,t){return{key:t,name:e.name,file:e.file,instances:1,initTime:e.initTime,renderCount:e.renderCount,totalRenderTime:e.totalRenderTime,lastRenderTime:e.lastRenderTime,lastRenderAt:e.lastRenderAt,ids:[e.componentId]}}function de(e,t){return e.instances++,e.initTime+=t.initTime,e.renderCount+=t.renderCount,e.totalRenderTime+=t.totalRenderTime,e.ids.push(t.componentId),t.lastRenderAt>e.lastRenderAt&&(e.lastRenderAt=t.lastRenderAt,e.lastRenderTime=t.lastRenderTime),e}let Y=r(()=>x(G)===`instance`?W.data.map(e=>ue(e,String(e.componentId))):[...z(W.data,e=>e.file)].map(([e,[t,...n]])=>n.reduce(de,ue(t,e)))),fe=r(()=>{let e=i(x(K));return e?x(Y).filter(t=>e(t.name,t.file)):x(Y)}),pe=r(()=>x(Y).reduce((e,t)=>Math.max(e,t.totalRenderTime),1e-4)),X=r(()=>x(Y).reduce((e,t)=>({renders:e.renders+t.renderCount,time:e.time+t.totalRenderTime}),{renders:0,time:0})),Z=r(()=>x(J)?x(Y).find(e=>e.key===x(J))??null:null),Q=e=>e.renderCount?e.totalRenderTime/e.renderCount:0,me=[{id:`name`,label:`Component`,width:`minmax(0, 1fr)`,sort:(e,t)=>e.name.localeCompare(t.name)},{id:`instances`,label:`Inst.`,width:`52px`,align:`end`,descFirst:!0,minWidth:640,sort:(e,t)=>e.instances-t.instances},{id:`init`,label:`Init`,width:`72px`,align:`end`,descFirst:!0,minWidth:720,sort:(e,t)=>e.initTime-t.initTime},{id:`renders`,label:`Renders`,width:`68px`,align:`end`,descFirst:!0,sort:(e,t)=>e.renderCount-t.renderCount},{id:`avg`,label:`Avg`,width:`72px`,align:`end`,descFirst:!0,minWidth:560,sort:(e,t)=>Q(e)-Q(t)},{id:`total`,label:`Total`,width:`150px`,align:`end`,descFirst:!0,sort:(e,t)=>e.totalRenderTime-t.totalRenderTime}];function $(e){return e>=16?`hot`:e>=4?`warm`:``}j(h,{title:`Render`,get count(){return W.data.length},toolbar:e=>{var t=re(),n=m(t);R(n,{label:`Group by`,options:[{value:`component`,label:`By component`},{value:`instance`,label:`By instance`}],get value(){return x(G)},set value(e){D(G,e,!0)}});var r=u(n,2);M(r,{placeholder:`Filter components…`,get count(){return x(fe).length},get value(){return x(K)},set value(e){D(K,e,!0)}});var i=u(r,2);B(i,{get info(){return le.data.renderProfiles},noun:`profiles`});var a=u(i,2),o=O(a);g((e,t)=>p(o,`${e??``} renders · ${t??``}`),[()=>x(X).renders.toLocaleString(),()=>F(x(X).time)]),C(e,t)},actions:e=>{V(e,{get res(){return W}})},children:(e,t)=>{{let t=e=>{var t=T(),n=m(t),i=e=>{L(e,{get title(){return x(Z).name},get subtitle(){return x(Z).file},onclose:()=>D(J,null),badges:e=>{var t=ie(),n=m(t),i=e=>{A(e,{children:(e,t)=>{v();var n=E();g(()=>p(n,`${x(Z).instances??``} instance${x(Z).instances===1?``:`s`}`)),C(e,n)},$$slots:{default:!0}})};_(n,e=>{x(G)===`component`&&e(i)});var a=u(n,2),o=e=>{A(e,{tone:`red`,children:(e,t)=>{v();var n=E(`over frame budget`);C(e,n)},$$slots:{default:!0}})},s=r(()=>Q(x(Z))>=16),c=e=>{A(e,{tone:`yellow`,children:(e,t)=>{v();var n=E(`slow`);C(e,n)},$$slots:{default:!0}})},l=r(()=>Q(x(Z))>=4);_(a,e=>{x(s)?e(o):x(l)&&e(c,1)}),C(e,t)},actions:e=>{l(e,{icon:`editor`,onclick:()=>y(x(Z).file).catch(()=>{}),children:(e,t)=>{v();var n=E(`Open in editor`);C(e,n)},$$slots:{default:!0}})},children:(e,t)=>{var n=ae(),r=m(n),i=k(r),o=u(k(i)),s=O(o,!0);a(i);var l=u(i,2),d=u(k(l)),f=O(d,!0);a(l);var h=u(l,2),_=u(k(h)),v=O(_,!0);a(h);var y=u(h,2),b=u(k(y)),S=O(b,!0);a(y);var w=u(y,2),T=k(w),E=O(T),D=u(T),A=O(D,!0);a(w);var j=u(w,2),M=u(k(j)),N=O(M,!0);a(j),a(r);var P=u(r,2),I=u(k(P)),L=O(I);a(P),g((e,t,n,r,i,a,o,l,u)=>{p(s,e),p(f,t),c(_,1,`num ${n??``}`,`svelte-1u85j1o`),p(v,r),c(b,1,`num ${i??``}`,`svelte-1u85j1o`),p(S,a),p(E,`Init${x(G)===`component`?` (sum)`:``}`),p(A,o),p(N,l),p(L,`${u??``}%`)},[()=>x(Z).renderCount.toLocaleString(),()=>F(x(Z).totalRenderTime),()=>$(Q(x(Z))),()=>F(Q(x(Z))),()=>$(x(Z).lastRenderTime),()=>F(x(Z).lastRenderTime),()=>F(x(Z).initTime),()=>x(Z).lastRenderAt?ee(x(Z).lastRenderAt):`—`,()=>(x(Z).totalRenderTime/Math.max(x(X).time,1e-4)*100).toFixed(1)]),C(e,n)},$$slots:{badges:!0,actions:!0,default:!0}})};_(n,e=>{x(Z)&&e(i)}),C(e,t)},n=r(()=>!!x(Z));N(e,{id:`render`,get open(){return x(n)},aside:t,children:(e,t)=>{I(e,{get items(){return x(fe)},get columns(){return me},getKey:e=>e.key,label:`Render profiles`,onactivate:e=>y(e.file).catch(()=>{}),get sort(){return x(q)},set sort(e){D(q,e,!0)},get selected(){return x(J)},set selected(e){D(J,e,!0)},row:(e,t=o,n)=>{let i=()=>(n?.()).visible;var l=se(),d=m(l),h=k(d),v=k(h);s(v,{get text(){return t().name},get query(){return x(K)}}),a(h);var y=u(h,2),b=k(y);{let e=r(()=>P(t().file));s(b,{get text(){return x(e)},get query(){return x(K)}})}a(y),a(d);var S=u(d,2),w=e=>{var n=H(),r=O(n,!0);g(()=>p(r,t().instances)),C(e,n)},T=r(()=>i().has(`instances`));_(S,e=>{x(T)&&e(w)});var E=u(S,2),D=e=>{var n=H(),r=O(n,!0);g(e=>p(r,e),[()=>F(t().initTime)]),C(e,n)},A=r(()=>i().has(`init`));_(E,e=>{x(A)&&e(D)});var j=u(E,2),M=O(j,!0),N=u(j,2),ee=e=>{var n=oe(),r=O(n,!0);g((e,t)=>{c(n,1,`end num ${e??``}`,`svelte-1u85j1o`),p(r,t)},[()=>$(Q(t())),()=>F(Q(t()))]),C(e,n)},I=r(()=>i().has(`avg`));_(N,e=>{x(I)&&e(ee)});var L=u(N,2),R=k(L);let z;var B=u(R,2),V=O(B,!0);a(L),g((e,t,n,r)=>{p(M,e),c(R,1,`bar ${t??``}`,`svelte-1u85j1o`),z=f(R,``,z,{width:n}),p(V,r)},[()=>t().renderCount.toLocaleString(),()=>$(Q(t())),()=>`${Math.max(2,t().totalRenderTime/x(pe)*60)}px`,()=>F(t().totalRenderTime)]),C(e,l)},empty:e=>{var t=T(),n=m(t),r=e=>{w(e,{title:`Waiting for render data…`})},i=e=>{w(e,{icon:`render`,title:`No renders recorded yet`,children:(e,t)=>{var n=ce();C(e,n)},$$slots:{default:!0}})},a=e=>{w(e,{icon:`search`,title:`No components match`})};_(n,e=>{W.loading?e(r):W.data.length===0?e(i,1):e(a,-1)}),C(e,t)},$$slots:{row:!0,empty:!0}})},$$slots:{aside:!0,default:!0}})}},$$slots:{toolbar:!0,actions:!0,default:!0}}),b()}export{U as default};
@@ -0,0 +1 @@
1
+ import{At as e,Ct as t,Dt as n,J as r,L as i,Mt as a,Nt as o,P as s,Q as c,R as l,St as u,Tt as d,_t as f,at as p,bt as m,ct as h,dt as g,ft as _,gt as v,it as y,jt as b,k as x,kt as S,mt as C,n as w,ot as T,r as E,st as D,tt as O,ut as k,w as ee,wt as A,xt as j,yt as M}from"./index-Cf5oAFpK.js";import{n as N,t as te}from"./Panel-CKQaY_Qq.js";import{t as ne}from"./SearchField-B5EQ5IIf.js";import{t as re}from"./SplitView-CxRUXpY5.js";import{t as ie}from"./Inspector-mTvtYmwt.js";import{t as ae}from"./Segmented-Dz1OdcPr.js";import{n as P,t as oe}from"./TreeView-BYOJBzxO.js";function se(e){let t={key:`/`,segment:`/`,route:null,children:[]},n=new Map([[`/`,t]]),r=e.toSorted((e,t)=>e.id.localeCompare(t.id));for(let e of r){if(e.id===`/`){t.route=e;continue}let r=t,i=``;for(let t of e.id.split(`/`).filter(Boolean)){i+=`/`+t;let e=n.get(i);e||(e={key:i,segment:t,route:null,children:[]},n.set(i,e),r.children.push(e)),r=e}r.route=e}return{roots:[t],byKey:n}}var F=h(`<!> <!> <!> <!>`,1),ce=h(`<span class="params svelte-yu3l91"></span>`),le=h(`<span class="faint">none</span>`),ue=h(`<li><button type="button"><!> <span class="sub truncate mono svelte-yu3l91"> </span></button></li>`),I=h(`<h3 class="section-title">Matching</h3> <dl class="kv"><dt>Pattern</dt> <dd class="mono"> </dd> <dt>Params</dt> <dd><!></dd></dl> <h3 class="section-title">Files <span class="num"> </span></h3> <ul class="link-list svelte-yu3l91"></ul>`,1),L=h(`<span class="k page svelte-yu3l91" title="+page.svelte">P</span>`),R=h(`<span class="k layout svelte-yu3l91" title="+layout.svelte">L</span>`),z=h(`<span class="k server svelte-yu3l91" title="server load">S</span>`),B=h(`<span class="k load svelte-yu3l91" title="universal load">U</span>`),V=h(`<span class="k api svelte-yu3l91" title="+server endpoint">API</span>`),H=h(`<span class="kinds svelte-yu3l91"><!> <!> <!> <!> <!></span> <span class="path truncate svelte-yu3l91"><!></span>`,1),de=h(`<span><!></span> <!>`,1),U=h(`<p class="mono"> </p>`),fe=h(`<p>Routes appear here for SvelteKit projects with a <code>src/routes</code> directory.</p>`);function W(h,g){e(g,!0);let W=w(ee,{initial:[]}),G=n(()=>se(W.data)),K=d(``),q=d(`all`),J=d(t(new Set([`/`]))),Y=d(null),X=!1;f(()=>{X||W.data.length===0||(X=!0,A(J,W.data.length<=60?P(C(G).roots,{key:e=>e.key,children:e=>e.children}):new Set([`/`,...(C(G).roots[0]?.children??[]).map(e=>e.key)]),!0))});let pe=n(()=>C(q)===`pages`?e=>e.hasPage:C(q)===`endpoints`?e=>e.hasEndpoint:C(q)===`dynamic`?e=>e.params.length>0:null),me=n(()=>{let e=i(C(K)),t=C(pe);return!e&&!t?null:n=>!!n.route&&(!t||t(n.route))&&(!e||e(n.route.path,n.route.id))}),Z=n(()=>({all:W.data.length,pages:W.data.filter(e=>e.hasPage).length,endpoints:W.data.filter(e=>e.hasEndpoint).length,dynamic:W.data.filter(e=>e.params.length>0).length})),Q=n(()=>C(Y)?C(G).byKey.get(C(Y))?.route??null:null),he={page:`+page.svelte`,layout:`+layout.svelte`,"server-page":`+page.server`,"server-layout":`+layout.server`,endpoint:`+server`,"page-load":`+page`,"layout-load":`+layout`,error:`+error.svelte`,"page-load-server":`+page.server`,"layout-load-server":`+layout.server`};function ge(e){return e===`endpoint`?`green`:e.includes(`server`)?`blue`:e.includes(`layout`)?`purple`:e===`error`?`red`:`accent`}function _e(e){return e.startsWith(`[...`)?`rest`:e.startsWith(`[`)?`param`:e.startsWith(`(`)?`group`:``}function ve(e){return e.hasPage&&e.params.length===0}function ye(e){window.open(new URL(e.path,location.origin).href,`_blank`,`noopener`)}function be(e){return(e.files.find(e=>e.type===`page`)??e.files.find(e=>e.type===`endpoint`)??e.files[0])?.path}function $(e){e&&x(e).catch(()=>{})}te(h,{title:`Routes`,get count(){return W.data.length},toolbar:e=>{var t=F(),r=m(t);{let e=n(()=>[{value:`all`,label:`All`,count:C(Z).all},{value:`pages`,label:`Pages`,count:C(Z).pages},{value:`endpoints`,label:`Endpoints`,count:C(Z).endpoints},{value:`dynamic`,label:`Dynamic`,count:C(Z).dynamic}]);ae(r,{label:`Route kind`,get options(){return C(e)},get value(){return C(q)},set value(e){A(q,e,!0)}})}var i=u(r,2);ne(i,{placeholder:`Filter by path…`,get value(){return C(K)},set value(e){A(K,e,!0)}});var a=u(i,2);l(a,{icon:`expand`,variant:`ghost`,label:`Expand all`,onclick:()=>A(J,P(C(G).roots,{key:e=>e.key,children:e=>e.children}),!0)});var o=u(a,2);l(o,{icon:`collapse`,variant:`ghost`,label:`Collapse all`,onclick:()=>A(J,new Set([`/`]),!0)}),T(e,t)},actions:e=>{l(e,{icon:`refresh`,variant:`ghost`,label:`Rescan routes`,get disabled(){return W.busy},onclick:()=>W.refresh()})},children:(e,t)=>{{let t=e=>{var t=D(),i=m(t),o=e=>{let t=n(()=>C(Q));{let i=e=>{var n=F(),r=m(n),i=e=>{N(e,{tone:`accent`,children:(e,t)=>{b();var n=k(`page`);T(e,n)},$$slots:{default:!0}})};y(r,e=>{C(t).hasPage&&e(i)});var a=u(r,2),o=e=>{N(e,{tone:`purple`,children:(e,t)=>{b();var n=k(`layout`);T(e,n)},$$slots:{default:!0}})};y(a,e=>{C(t).hasLayout&&e(o)});var s=u(a,2),c=e=>{N(e,{tone:`green`,children:(e,t)=>{b();var n=k(`endpoint`);T(e,n)},$$slots:{default:!0}})};y(s,e=>{C(t).hasEndpoint&&e(c)});var l=u(s,2),d=e=>{N(e,{tone:`blue`,children:(e,t)=>{b();var n=k(`server load`);T(e,n)},$$slots:{default:!0}})};y(l,e=>{(C(t).hasServerPage||C(t).hasServerLayout)&&e(d)}),T(e,n)},o=e=>{var r=D(),i=m(r),a=e=>{l(e,{icon:`external`,onclick:()=>ye(C(t)),children:(e,t)=>{b();var n=k(`Open page`);T(e,n)},$$slots:{default:!0}})},o=n(()=>ve(C(t)));y(i,e=>{C(o)&&e(a)}),T(e,r)},s=n(()=>`src/routes`+(C(t).id===`/`?``:C(t).id));ie(e,{get title(){return C(t).path},get subtitle(){return C(s)},onclose:()=>A(Y,null),badges:i,actions:o,children:(e,i)=>{var o=I(),s=u(m(o),2),c=u(M(s),2),l=j(c,!0),d=u(c,4),f=M(d),h=e=>{var r=ce();O(r,21,()=>C(t).params,e=>e.name,(e,t)=>{{let r=n(()=>C(t).matcher?`matcher: ${C(t).matcher}`:void 0);N(e,{tone:`yellow`,get title(){return C(r)},children:(e,n)=>{b();var r=k();v(()=>p(r,`${C(t).rest?`...`:``}${C(t).name??``}${C(t).optional?`?`:``}${C(t).matcher?`=${C(t).matcher}`:``}`)),T(e,r)},$$slots:{default:!0}})}}),a(r),T(e,r)},g=e=>{var t=le();T(e,t)};y(f,e=>{C(t).params.length?e(h):e(g,-1)}),a(d),a(s);var x=u(s,2),S=u(M(x)),w=j(S,!0);a(x);var E=u(x,2);O(E,21,()=>C(t).files,e=>e.path,(e,t)=>{var i=ue(),o=M(i),s=M(o);{let e=n(()=>ge(C(t).type));N(s,{get tone(){return C(e)},children:(e,n)=>{b();var r=k();v(()=>p(r,he[C(t).type]??C(t).type)),T(e,r)},$$slots:{default:!0}})}var c=u(s,2),l=j(c,!0);a(o),a(i),v(()=>{r(o,`title`,`Open ${C(t).path??``} in editor`),p(l,C(t).path)}),_(`click`,o,()=>$(C(t).path)),T(e,i)}),a(E),v(()=>{p(l,C(t).pattern),p(w,C(t).files.length)}),T(e,o)},$$slots:{badges:!0,actions:!0,default:!0}})}};y(i,e=>{C(Q)&&e(o)}),T(e,t)},i=n(()=>!!C(Q));re(e,{id:`routes`,get open(){return C(i)},aside:t,children:(e,t)=>{{let t=(e,t=o)=>{var n=de(),r=m(n);let i;var l=M(r);s(l,{get text(){return t().segment},get query(){return C(K)}}),a(r);var d=u(r,2),f=e=>{var n=H(),r=m(n),i=M(r),o=e=>{var t=L();T(e,t)};y(i,e=>{t().route.hasPage&&e(o)});var c=u(i,2),l=e=>{var t=R();T(e,t)};y(c,e=>{t().route.hasLayout&&e(l)});var d=u(c,2),f=e=>{var t=z();T(e,t)};y(d,e=>{(t().route.hasServerPage||t().route.hasServerLayout)&&e(f)});var p=u(d,2),h=e=>{var t=B();T(e,t)};y(p,e=>{(t().route.hasPageLoad||t().route.hasLayoutLoad)&&e(h)});var g=u(p,2),_=e=>{var t=V();T(e,t)};y(g,e=>{t().route.hasEndpoint&&e(_)}),a(r);var v=u(r,2),b=M(v);s(b,{get text(){return t().route.path},get query(){return C(K)}}),a(v),T(e,n)};y(d,e=>{t().route&&e(f)}),v(e=>i=c(r,1,`seg ${e??``}`,`svelte-yu3l91`,i,{dir:!t().route}),[()=>_e(t().segment)]),T(e,n)},r=e=>{var t=D(),n=m(t),r=e=>{E(e,{title:`Scanning src/routes…`})},i=e=>{E(e,{icon:`errors`,tone:`error`,title:`Could not read routes`,children:(e,t)=>{var n=U(),r=j(n,!0);v(()=>p(r,W.error)),T(e,n)},$$slots:{default:!0}})},a=e=>{E(e,{icon:`routes`,title:`No routes found`,children:(e,t)=>{var n=fe();T(e,n)},$$slots:{default:!0}})},o=e=>{E(e,{icon:`search`,title:`No routes match`})};y(n,e=>{W.loading?e(r):W.error?e(i,1):W.data.length===0?e(a,2):e(o,-1)}),T(e,t)},i=n(()=>W.data.length?C(G).roots:[]);oe(e,{get roots(){return C(i)},getKey:e=>e.key,getChildren:e=>e.children,get filter(){return C(me)},label:`Route tree`,onactivate:e=>e.route&&$(be(e.route)),get expanded(){return C(J)},set expanded(e){A(J,e,!0)},get selected(){return C(Y)},set selected(e){A(Y,e,!0)},row:t,empty:r,$$slots:{row:!0,empty:!0}})}},$$slots:{aside:!0,default:!0}})}},$$slots:{toolbar:!0,actions:!0,default:!0}}),S()}g([`click`]);export{W as default};
@@ -0,0 +1 @@
1
+ import{At as e,B as t,J as n,Mt as r,St as i,Tt as a,U as o,V as s,at as c,ct as l,dt as u,ft as d,gt as f,it as p,kt as m,mt as h,ot as g,q as _,wt as v,xt as y,yt as b,z as x}from"./index-Cf5oAFpK.js";var S=l(`<span class="hits num svelte-13x9cek" aria-live="polite"> </span>`),C=l(`<kbd class="hint svelte-13x9cek" aria-hidden="true">/</kbd>`),w=l(`<label class="search svelte-13x9cek"><!> <span class="sr-only"> </span> <input data-panel-search="" type="search" spellcheck="false" autocomplete="off" class="svelte-13x9cek"/> <!></label>`);function T(l,u){e(u,!0);let T=t(u,`value`,15,``),E=t(u,`placeholder`,3,`Filter…`),D=t(u,`label`,3,`Filter`),O=t(u,`count`,3,null),k=a(null);function A(e){if(e.key===`Escape`&&T())e.stopPropagation(),T(``);else if(e.key===`ArrowDown`){let t=(h(k)?.closest(`section`))?.querySelector(`[role="listbox"],[role="tree"]`);t&&(e.preventDefault(),t.focus())}}var j=w(),M=b(j);x(M,{name:`search`,size:13});var N=i(M,2),P=y(N,!0),F=i(N,2);_(F),s(F,e=>v(k,e),()=>h(k));var I=i(F,2),L=e=>{var t=S(),n=y(t,!0);f(()=>c(n,O())),g(e,t)},R=e=>{var t=C();g(e,t)};p(I,e=>{T()&&O()!=null?e(L):T()||e(R,1)}),r(j),f(()=>{c(P,D()),n(F,`aria-label`,D()),n(F,`placeholder`,E())}),d(`keydown`,F,A),o(F,T),g(l,j),m()}u([`keydown`]);export{T as t};
@@ -0,0 +1 @@
1
+ import{At as e,B as t,J as n,Mt as r,St as i,at as a,ct as o,dt as s,ft as c,gt as l,it as u,kt as d,mt as f,ot as p,tt as m,xt as h,yt as g}from"./index-Cf5oAFpK.js";var _=o(`<span class="n num svelte-1lde95s"> </span>`),v=o(`<button type="button" role="radio" class="svelte-1lde95s"> <!></button>`),y=o(`<div class="seg svelte-1lde95s" role="radiogroup" tabindex="-1"></div>`);function b(o,s){e(s,!0);let b=t(s,`value`,15);function x(e){let t=s.options.findIndex(e=>e.value===b()),n=t;if(e.key===`ArrowRight`||e.key===`ArrowDown`)n=(t+1)%s.options.length;else if(e.key===`ArrowLeft`||e.key===`ArrowUp`)n=(t-1+s.options.length)%s.options.length;else return;let r=s.options[n];if(!r)return;e.preventDefault(),b(r.value);let i=e.currentTarget;queueMicrotask(()=>i.querySelector(`[aria-checked="true"]`)?.focus())}var S=y();m(S,21,()=>s.options,e=>e.value,(e,t)=>{var o=v(),s=g(o),d=i(s),m=e=>{var n=_(),r=h(n,!0);l(()=>a(r,f(t).count)),p(e,n)};u(d,e=>{f(t).count!=null&&e(m)}),r(o),l(()=>{n(o,`aria-checked`,f(t).value===b()),n(o,`tabindex`,f(t).value===b()?0:-1),a(s,`${f(t).label??``} `)}),c(`click`,o,()=>b(f(t).value)),p(e,o)}),r(S),l(()=>n(S,`aria-label`,s.label)),c(`keydown`,S,x),p(o,S),d()}s([`keydown`,`click`]);export{b as t};
@@ -0,0 +1 @@
1
+ import{$ as e,At as t,B as n,Dt as r,H as i,J as a,Mt as o,Q as s,St as c,Tt as l,Z as u,bt as d,ct as f,dt as p,ft as m,gt as h,it as g,kt as _,mt as v,ot as y,t as b,wt as x,yt as S}from"./index-Cf5oAFpK.js";var C=f(`<div class="handle svelte-10qqxh5" role="separator" aria-label="Resize panel" tabindex="0"></div> <div class="aside svelte-10qqxh5"><!></div>`,1),w=f(`<div><div class="main svelte-10qqxh5"><!></div> <!></div>`);function T(f,p){t(p,!0);let T=n(p,`open`,3,!0),E=n(p,`initial`,3,360),D=n(p,`min`,3,220),O=n(p,`stackBelow`,3,760),k=n(p,`side`,3,`end`),A=b(`split:${p.id}`,E()),j=l(0),M=l(0),N=l(!1),P=r(()=>v(j)>0&&v(j)<O()),F=r(()=>v(P)?v(M):v(j)),I=r(()=>Math.max(D(),Math.min(A.value,Math.max(D(),v(F)-D()))));function L(e){let t=e.currentTarget;t.setPointerCapture(e.pointerId),x(N,!0);let n=v(P)?e.clientY:e.clientX,r=v(I),i=v(P)||k()===`end`?-1:1,a=e=>{let t=(v(P)?e.clientY:e.clientX)-n;A.value=Math.round(r+i*t)},o=()=>{x(N,!1),t.removeEventListener(`pointermove`,a),t.removeEventListener(`pointerup`,o),t.removeEventListener(`pointercancel`,o),A.value=v(I)};t.addEventListener(`pointermove`,a),t.addEventListener(`pointerup`,o),t.addEventListener(`pointercancel`,o)}function R(e){let t=e.shiftKey?64:16,n=k()===`end`||v(P)?[`ArrowLeft`,`ArrowUp`]:[`ArrowRight`,`ArrowDown`],r=k()===`end`||v(P)?[`ArrowRight`,`ArrowDown`]:[`ArrowLeft`,`ArrowUp`];if(n.includes(e.key))A.value=v(I)+t;else if(r.includes(e.key))A.value=v(I)-t;else return;e.preventDefault()}var z=w();let B,V;var H=S(z),U=S(H);e(U,()=>p.children),o(H);var W=c(H,2),G=t=>{var n=C(),r=d(n),i=c(r,2),s=S(i);e(s,()=>p.aside),o(i),h(()=>{a(r,`aria-orientation`,v(P)?`horizontal`:`vertical`),a(r,`aria-valuenow`,v(I)),a(r,`aria-valuemin`,D())}),m(`pointerdown`,r,L),m(`keydown`,r,R),y(t,n)};g(W,e=>{T()&&e(G)}),o(z),h(()=>{B=s(z,1,`split svelte-10qqxh5`,null,B,{stacked:v(P),start:k()===`start`,dragging:v(N)}),V=u(z,``,V,{"--side":`${v(I)??``}px`})}),i(z,`clientWidth`,e=>x(j,e)),i(z,`clientHeight`,e=>x(M,e)),y(f,z),_()}p([`pointerdown`,`keydown`]);export{T as t};
@@ -0,0 +1 @@
1
+ import{A as e,At as t,Dt as n,E as r,F as i,I as a,J as o,Mt as s,P as c,R as l,St as u,Tt as d,at as f,bt as p,c as m,ct as h,gt as g,it as _,jt as v,kt as y,mt as b,n as x,ot as S,r as C,st as w,ut as T,wt as E,xt as D,yt as O}from"./index-Cf5oAFpK.js";import{n as k,t as A}from"./Panel-CKQaY_Qq.js";import{t as j}from"./SearchField-B5EQ5IIf.js";import{t as ee}from"./SplitView-CxRUXpY5.js";import{t as M}from"./VirtualList-Bfn8is0p.js";import{a as N,c as P,n as te,s as F}from"./format-BEILGi1v.js";import{t as I}from"./Inspector-mTvtYmwt.js";import{t as ne}from"./CaptureNotice-DykEK0Kp.js";import{t as re}from"./LiveControls-nrc1-cBk.js";import{t as ie}from"./versions-Bd19hz8p.js";import{t as ae}from"./capture.svelte-BLIttZ2Z.js";import{n as L}from"./reactive-DuxZv-g7.js";var oe=h(`<span class="baseline svelte-1gmwyjx" role="status"> </span>`),se=h(`<!> <!> <!> <span class="summary svelte-1gmwyjx"> </span> <span class="summary svelte-1gmwyjx"></span>`,1),ce=h(`<!> <!>`,1),le=h(`<h3 class="section-title">Before</h3> <pre class="code-block old-block svelte-1gmwyjx"> </pre> <h3 class="section-title">After</h3> <pre class="code-block new-block svelte-1gmwyjx"> </pre>`,1),R=h(`<span class="old svelte-1gmwyjx"> </span><span class="arrow svelte-1gmwyjx">→</span>`,1),ue=h(`<span class="time num svelte-1gmwyjx"> </span> <span class="sig svelte-1gmwyjx"><span class="mono name svelte-1gmwyjx"><!></span> <span class="comp truncate svelte-1gmwyjx"><!></span></span> <span class="change mono truncate svelte-1gmwyjx"><!> <span class="new svelte-1gmwyjx"><!></span></span>`,1),de=h(`<p class="mono"> </p>`),fe=h(`<p>Interact with your app — every <code>$state</code> write is recorded here, newest first.</p>`),pe=h(`<div class="list svelte-1gmwyjx"><div class="head svelte-1gmwyjx" aria-hidden="true"><span>Time</span><span>Signal</span><span>Change</span></div> <div class="body svelte-1gmwyjx"><!></div></div>`);function z(h,z){t(z,!0);let B,V,H=[],U=e=>{let t=e,n=t.serverId??t.instanceId;return typeof n==`string`||typeof n==`number`?String(n):void 0};async function me(){let e=await r(B),t=U(e),n=H.at(-1)?.seq,i=!e.reset&&B!==void 0&&(t!==void 0&&V!==void 0&&t!==V||e.cursor<B||e.changes.length>0&&n!==void 0&&e.changes[0].seq<=n);return i&&(e=await r(void 0)),V=U(e),B=e.cursor,e.reset||i?H=e.changes.slice(-500):e.changes.length&&(H=H.concat(e.changes).slice(-500)),H}let W=x(me,{initial:[],interval:1e3,version:ie(`stateTimeline`),equals:(e,t)=>e===t}),G=ae(1e3),K=d(``),q=d(null),J=new WeakMap;function Y(e){let t=J.get(e);return t||(t={old:e.oldValue===null?``:F(e.oldValue,40),next:F(e.newValue,80),hay:i(e.name,e.componentFile,F(e.newValue,200))},J.set(e,t)),t}let X=n(()=>{let e=[],t=a(b(K)),n=W.data;for(let r=n.length-1;r>=0;r--){let i=n[r];(!t||t(Y(i).hay))&&e.push({key:String(i.seq),c:i})}return e}),Z=n(()=>b(q)?b(X).find(e=>e.key===b(q))?.c??null:null),Q=n(()=>new Set(W.data.map(e=>e.id)).size);async function he(){await m().catch(()=>{}),B=void 0,H=[],W.set(H),E(q,null)}function $(t){e(t.componentFile,t.name,`state`).catch(()=>{})}A(h,{title:`State timeline`,get count(){return W.data.length},toolbar:e=>{var t=se(),r=p(t);j(r,{placeholder:`Filter by signal, component or value…`,get count(){return b(X).length},get value(){return b(K)},set value(e){E(K,e,!0)}});var i=u(r,2);ne(i,{get info(){return G.data.stateTimeline},noun:`changes`});var a=u(i,2),s=e=>{var t=oe(),n=D(t,!0);g(e=>f(n,e),[()=>L(G.data.stateTimeline?.baseline)]),S(e,t)},c=n(()=>L(G.data.stateTimeline?.baseline));_(a,e=>{b(c)&&e(s)});var l=u(a,2),d=D(l),m=u(l,2);o(m,`title`,`The app checks $state every 200 ms: several writes within one check are one entry, and times are when a change was detected. The dev server keeps the latest 500 changes across all signals.`),m.textContent=`sampled every 200 ms · latest 500`,g(()=>f(d,`${b(Q)??``} signal${b(Q)===1?``:`s`}`)),S(e,t)},actions:e=>{re(e,{get res(){return W},onclear:he})},children:(e,t)=>{{let t=e=>{var t=w(),r=p(t),i=e=>{I(e,{get title(){return b(Z).name},get subtitle(){return b(Z).componentFile},onclose:()=>E(q,null),badges:e=>{var t=ce(),r=p(t);{let e=n(()=>b(Z).oldValue===null?`green`:`blue`);k(r,{get tone(){return b(e)},children:(e,t)=>{v();var n=T();g(()=>f(n,b(Z).oldValue===null?`init`:`update`)),S(e,n)},$$slots:{default:!0}})}var i=u(r,2);k(i,{children:(e,t)=>{v();var n=T();g(e=>f(n,e),[()=>N(b(Z).timestamp,!0)]),S(e,n)},$$slots:{default:!0}}),S(e,t)},actions:e=>{l(e,{icon:`editor`,onclick:()=>$(b(Z)),children:(e,t)=>{v();var n=T(`Go to definition`);S(e,n)},$$slots:{default:!0}})},children:(e,t)=>{var n=le(),r=u(p(n),2),i=D(r,!0),a=u(r,4),o=D(a,!0);g((e,t)=>{f(i,e),f(o,t)},[()=>P(b(Z).oldValue),()=>P(b(Z).newValue)]),S(e,n)},$$slots:{badges:!0,actions:!0,default:!0}})};_(r,e=>{b(Z)&&e(i)}),S(e,t)},r=n(()=>!!b(Z));ee(e,{id:`timeline`,get open(){return b(r)},aside:t,children:(e,t)=>{var r=pe(),i=u(O(r),2),a=O(i);M(a,{get items(){return b(X)},getKey:e=>e.key,label:`State changes, newest first`,onactivate:e=>$(e.c),get selected(){return b(q)},set selected(e){E(q,e,!0)},row:(e,t)=>{let r=()=>(t?.()).c;var i=ue(),a=p(i),o=D(a,!0),l=u(a,2),d=O(l),m=O(d);c(m,{get text(){return r().name},get query(){return b(K)}}),s(d);var h=u(d,2),y=O(h);{let e=n(()=>te(r().componentFile));c(y,{get text(){return b(e)},get query(){return b(K)}})}s(h),s(l);var x=u(l,2),C=O(x),w=e=>{k(e,{tone:`green`,children:(e,t)=>{v();var n=T(`init`);S(e,n)},$$slots:{default:!0}})},E=e=>{var t=R(),n=p(t),i=D(n,!0);v(),g(e=>f(i,e),[()=>Y(r()).old]),S(e,t)};_(C,e=>{r().oldValue===null?e(w):e(E,-1)});var A=u(C,2),j=O(A);{let e=n(()=>Y(r()).next);c(j,{get text(){return b(e)},get query(){return b(K)}})}s(A),s(x),g(e=>f(o,e),[()=>N(r().timestamp,!0)]),S(e,i)},empty:e=>{var t=w(),n=p(t),r=e=>{C(e,{icon:`errors`,tone:`error`,title:`Could not load the state timeline`,children:(e,t)=>{var n=de(),r=D(n,!0);g(()=>f(r,W.error)),S(e,n)},$$slots:{default:!0}})},i=e=>{C(e,{icon:`timeline`,title:`No state changes yet`,children:(e,t)=>{var n=fe();S(e,n)},$$slots:{default:!0}})},a=e=>{C(e,{icon:`search`,title:`No changes match`})};_(n,e=>{W.error&&W.data.length===0?e(r):W.data.length===0?e(i,1):e(a,-1)}),S(e,t)},$$slots:{row:!0,empty:!0}}),s(i),s(r),S(e,r)},$$slots:{aside:!0,default:!0}})}},$$slots:{toolbar:!0,actions:!0,default:!0}}),y()}export{z as default};
@@ -0,0 +1 @@
1
+ import{$ as e,At as t,B as n,Ct as r,Dt as i,Mt as a,Nt as o,Q as s,St as c,Tt as l,V as u,Z as d,bt as f,ct as p,dt as m,ft as h,gt as g,it as _,kt as v,mt as y,ot as b,wt as x,yt as S,z as C}from"./index-Cf5oAFpK.js";import{t as w}from"./VirtualList-Bfn8is0p.js";function T(e,t,n,r){let i=[];if(!r){let r=(e,a,o)=>{for(let s of e){let e=t.key(s),c=t.children(s),l=c.length>0&&n.has(e);i.push({node:s,key:e,depth:a,parentKey:o,hasChildren:c.length>0,expanded:l,match:!1,posinset:0,setsize:0}),l&&r(c,a+1,e)}};return r(e,0,null),E(i)}let a=(e,n,o)=>{let s=t.key(e),c=t.children(e),l=r(e),u=i.length,d={node:e,key:s,depth:n,parentKey:o,hasChildren:c.length>0,expanded:!1,match:l,posinset:0,setsize:0};i.push(d);let f=!1;for(let e of c)a(e,n+1,s)&&(f=!0);return!l&&!f?(i.length=u,!1):(d.expanded=f,!0)};for(let t of e)a(t,0,null);return E(i)}function E(e){let t=new Map;for(let n of e){let e=(t.get(n.parentKey)??0)+1;t.set(n.parentKey,e),n.posinset=e}for(let n of e)n.setsize=t.get(n.parentKey);return e}function D(e,t){let n=new Set,r=[...e];for(;r.length>0;){let e=r.pop(),i=t.children(e);if(i.length>0){n.add(t.key(e));for(let e of i)r.push(e)}}return n}function O(e,t,n,r){if(e.id!==void 0){let t=n.byId.get(e.id);if(t)return t}let i=n.byKey.get(e.path);return i&&!t.has(r(i))?i:null}function k(e,t,n,r,i){let a=t?.byId??new Map,o=[];for(let s of e){let e=t?.byKey.get(s),c=O({id:e?r(e):void 0,path:s},a,n,r);c&&o.push(i(c))}return o}function A(e,t,n,r,i){return k(e,t!==null&&t.epoch!==null&&t.epoch===n.epoch?t:null,n,r,i)}function j(e,t,n,r=3){let i=[],a=(e,o)=>{if(!(o>=r))for(let r of e){let e=t(r);e.length!==0&&(i.push(n(r)),a(e,o+1))}};return a(e,0),i}var M=p(`<button type="button" tabindex="-1" aria-hidden="true"><!></button>`),N=p(`<span class="twisty-spacer svelte-6jgyr7" aria-hidden="true"></span>`),P=p(`<span class="indent svelte-6jgyr7" aria-hidden="true"></span> <!> <!>`,1);function F(p,m){t(m,!0);let E=n(m,`expanded`,31,()=>r(new Set)),D=n(m,`selected`,15,null),O=n(m,`filter`,3,null),k=n(m,`rowHeight`,3,26),A=l(null),j=i(()=>T(m.roots,{key:m.getKey,children:m.getChildren},E(),O()));function F(e,t){E(t??!E().has(e)?new Set([...E(),e]):new Set([...E()].filter(t=>t!==e)))}function I(e){return y(j).findIndex(t=>t.key===e)}function L(e,t){t.length>0&&E(new Set([...E(),...t])),D(e),queueMicrotask(()=>y(A)?.scrollToIndex(I(e),`center`))}function R(){y(A)?.focus()}function z(e,t){return e.key===`ArrowRight`||e.key===`l`?(t.hasChildren&&!t.expanded?F(t.key,!0):t.expanded&&y(A)?.select(I(t.key)+1),!0):e.key===`ArrowLeft`||e.key===`h`?(t.expanded&&!O()?F(t.key,!1):t.parentKey!=null&&y(A)?.select(I(t.parentKey)),!0):e.key===` `&&t.hasChildren?(F(t.key),!0):!1}var B={reveal:L,focus:R};return u(w(p,{get items(){return y(j)},getKey:e=>e.key,role:`tree`,get label(){return m.label},get rowHeight(){return k()},get empty(){return m.empty},onselect:e=>m.onselect?.(e.node),onactivate:e=>m.onactivate?.(e.node),onrowkeydown:z,rowAttrs:e=>({"aria-level":e.depth+1,"aria-posinset":e.posinset,"aria-setsize":e.setsize,"aria-expanded":e.hasChildren?e.expanded:void 0}),get selected(){return D()},set selected(e){D(e)},row:(t,n=o)=>{var r=P(),i=f(r);let l;var u=c(i,2),p=e=>{var t=M();let r;var i=S(t);C(i,{name:`chevron`,size:12}),a(t),g(()=>r=s(t,1,`twisty svelte-6jgyr7`,null,r,{open:n().expanded})),h(`click`,t,e=>{e.stopPropagation(),O()||F(n().key)}),b(e,t)},v=e=>{var t=N();b(e,t)};_(u,e=>{n().hasChildren?e(p):e(v,-1)});var y=c(u,2);e(y,()=>m.row,()=>n().node,n),g(()=>l=d(i,``,l,{width:`${n().depth*14}px`})),b(t,r)},$$slots:{row:!0}}),e=>x(A,e,!0),()=>y(A)),v(B)}m([`click`]);export{A as i,D as n,j as r,F as t};
@@ -0,0 +1 @@
1
+ import{$ as e,At as t,B as n,Dt as r,G as i,J as a,K as o,Mt as s,Tt as c,V as l,W as u,Z as d,_t as f,bt as p,ct as m,dt as h,ft as g,gt as _,ht as v,it as y,kt as b,mt as x,ot as S,pt as C,st as w,tt as T,wt as E,yt as D}from"./index-Cf5oAFpK.js";var O=0,k=m(`<div><!></div>`),A=m(`<div class="spacer svelte-1cpjs53"></div>`),j=m(`<div class="viewport svelte-1cpjs53" tabindex="0"><!></div>`);function M(m,h){t(h,!0);let M=n(h,`rowHeight`,3,28),N=n(h,`selected`,15,null),P=n(h,`role`,3,`listbox`),F=n(h,`overscan`,3,8),I=`vl${++O}`,L=c(null),R=c(0),z=c(0),B=r(()=>h.items.length*M()),V=r(()=>Math.max(0,Math.floor(x(R)/M())-F())),H=r(()=>Math.min(h.items.length,Math.ceil((x(R)+x(z))/M())+F())),U=r(()=>h.items.slice(x(V),x(H))),W=r(()=>Math.max(1,Math.floor(x(z)/M())-1)),G=r(()=>{if(N()==null)return null;for(let[e,t]of h.items.entries())if(h.getKey(t,e)===N())return{index:e,item:t};return null}),K=r(()=>x(G)?.index??-1);f(()=>{let e=x(L);if(!e)return;let t=new ResizeObserver(()=>{E(z,e.clientHeight,!0)});return t.observe(e),E(z,e.clientHeight,!0),()=>t.disconnect()}),f(()=>{x(L)&&x(R)>Math.max(0,x(B)-x(z))&&(x(L).scrollTop=Math.max(0,x(B)-x(z)))}),f(()=>{N()!=null&&v(()=>{x(K)>=0&&J(x(K))})});function q(){x(L)&&E(R,x(L).scrollTop,!0)}function J(e,t=`auto`){if(!x(L)||e<0)return;let n=e*M();t===`center`?x(L).scrollTop=Math.max(0,n-x(z)/2+M()/2):n<x(L).scrollTop?x(L).scrollTop=n:n+M()>x(L).scrollTop+x(z)&&(x(L).scrollTop=n+M()-x(z)),E(R,x(L).scrollTop,!0)}function Y(){x(L)?.focus({preventScroll:!0})}function X(e){if(!h.items.length)return;let t=Math.max(0,Math.min(h.items.length-1,e)),n=h.items[t];N(h.getKey(n,t)),J(t),h.onselect?.(n,t)}function Z(e){if(e.altKey||e.metaKey||e.ctrlKey)return;let t=x(G),n=t?.index??-1;if(t&&h.onrowkeydown?.(e,t.item,t.index)){e.preventDefault();return}let r=null;switch(e.key){case`ArrowDown`:case`j`:r=n<0?0:n+1;break;case`ArrowUp`:case`k`:r=n<0?0:n-1;break;case`Home`:r=0;break;case`End`:r=h.items.length-1;break;case`PageDown`:r=(n<0?0:n)+x(W);break;case`PageUp`:r=(n<0?0:n)-x(W);break;case`Enter`:t&&(e.preventDefault(),h.onactivate?.(t.item,t.index));return;default:return}e.preventDefault(),X(r)}function Q(e){X(e),Y()}var ee={scrollToIndex:J,focus:Y,select:X},$=j(),te=D($),ne=t=>{var n=w(),r=p(n),i=t=>{var n=w(),r=p(n);e(r,()=>h.empty),S(t,n)};y(r,e=>{h.empty&&e(i)}),S(t,n)},re=t=>{var n=A();let a;T(n,23,()=>x(U),(e,t)=>h.getKey(e,x(V)+t),(t,n,a)=>{let c=r(()=>x(V)+x(a)),l=r(()=>x(c)===x(K));var d=k(),f=()=>Q(x(c)),p=()=>h.onactivate?.(x(n),x(c));o(d,e=>({id:`${I}-${x(c)??``}`,class:`row`,role:P()===`tree`?`treeitem`:`option`,"aria-selected":x(l),"aria-posinset":x(c)+1,"aria-setsize":h.items.length,onclick:f,ondblclick:p,...e,[u]:{selected:x(l)},[i]:{height:`${M()??``}px`,transform:`translateY(${x(c)*M()}px)`}}),[()=>h.rowAttrs?.(x(n),x(c))],void 0,void 0,`svelte-1cpjs53`);var m=D(d);e(m,()=>h.row,()=>x(n),()=>({index:x(c),selected:x(l)})),s(d),S(t,d)}),s(n),_(()=>a=d(n,``,a,{height:`${x(B)??``}px`})),S(t,n)};return y(te,e=>{h.items.length===0?e(ne):e(re,-1)}),s($),l($,e=>E(L,e),()=>x(L)),_(()=>{a($,`role`,P()),a($,`aria-label`,h.label),a($,`aria-activedescendant`,x(K)>=x(V)&&x(K)<x(H)?`${I}-${x(K)}`:void 0)}),C(`scroll`,$,q),g(`keydown`,$,Z),S(m,$),b(ee)}h([`keydown`]);export{M as t};
@@ -1 +1 @@
1
- import{k as e}from"./index-BzMw8R8l.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a).catch(()=>{}))}))},s=a(o),l=e.events.on(`connection:status`,e=>{e===`connected`&&o()});return o(),()=>{n=!0,s(),l()}}export{l as setupBrowserAgentRpcBridge};
1
+ import{N as e}from"./index-Cf5oAFpK.js";var t=Symbol.for(`devframe:browser-agent-registry`),{tools:n,listeners:r}=globalThis[t]??={tools:new Map,listeners:new Set};function i(){return[...n.values()]}function a(e){return r.add(e),()=>r.delete(e)}var o=`devframe:client-id`,s;function c(t=globalThis.window){try{let n=t?.sessionStorage;if(n){let t=n.getItem(o);return t||(t=e(),n.setItem(o,t)),t}}catch{}return s??=e(),s}function l(e){e.client.register({name:`devframe:agent:invoke-client-tool`,type:`action`,jsonSerializable:!0,handler:async(e,t)=>{let n=i().find(t=>t.id===e);if(!n)throw Error(`[devframe/agent] browser tool "${e}" not found`);return await n.invoke(t)}});let t=!1,n=!1,r=0,o=()=>{t||n||(t=!0,queueMicrotask(async()=>{if(t=!1,n)return;let a=i().map(({invoke:e,...t})=>t);(a.length!==0||r!==0)&&(r=a.length,await e.callOptional(`devframe:agent:sync-client-tools`,c(),a).catch(()=>{}))}))},s=a(o),l=e.events.on(`connection:status`,e=>{e===`connected`&&o()});return o(),()=>{n=!0,s(),l()}}export{l as setupBrowserAgentRpcBridge};
@@ -0,0 +1 @@
1
+ import{j as e,n as t}from"./index-Cf5oAFpK.js";var n=e,r=typeof n.getCaptureInfo==`function`;function i(e,i){return t(()=>r?n.getCaptureInfo():Promise.resolve({}),{initial:{},interval:r?e:void 0,when:i})}export{i as t};
@@ -0,0 +1 @@
1
+ function e(e,t){let n=new Map;for(let r of e){let e=t(r);n.set(e,(n.get(e)??0)+1)}return n}function t(e,t,n){let r=new Map;for(let i of e){let e=t(i),a=n?n(i):i,o=r.get(e);o?o.push(a):r.set(e,[a])}return r}export{t as n,e as t};
@@ -0,0 +1 @@
1
+ var e=/[\\/]/;function t(t,n=2){return t?t.split(e).slice(-n).join(`/`):``}function n(t){return t?t.split(e).pop()??``:``}function r(e,t=`Unknown`){return e&&n(e).replace(/\.svelte$/,``)||t}var i=[`KB`,`MB`,`GB`,`TB`];function a(e){if(typeof e!=`number`||!Number.isFinite(e))return`—`;if(Math.abs(e)<1024)return`${e} B`;let t=e/1024,n=0;for(;Math.abs(t)>=1024&&n<i.length-1;)t/=1024,n++;return`${t.toFixed(n===0?1:2)} ${i[n]}`}function o(e){return typeof e!=`number`||!Number.isFinite(e)?`—`:e>=1e3?`${(e/1e3).toFixed(2)} s`:e>=100?`${e.toFixed(0)} ms`:e>=10?`${e.toFixed(1)} ms`:`${e.toFixed(2)} ms`}function s(e,t=!1){return new Date(e).toLocaleTimeString(void 0,{hour12:!1,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,...t?{fractionalSecondDigits:3}:{}})}function c(e){return typeof e==`string`?e:String(e)}function l(e,t=80){if(e===void 0)return`undefined`;if(typeof e==`number`&&!Number.isFinite(e))return String(e);let n;try{n=typeof e==`string`?JSON.stringify(e):JSON.stringify(e)??c(e)}catch{n=c(e)}return n.length>t?n.slice(0,t-1)+`…`:n}function u(e){if(e===void 0)return`undefined`;if(typeof e==`number`&&!Number.isFinite(e))return String(e);try{return JSON.stringify(e,null,2)??c(e)}catch{return c(e)}}function d(e,t=Date.now()){if(e===null)return`never`;let n=Math.max(0,Math.round((t-e)/1e3));if(n<2)return`just now`;if(n<60)return`${n}s ago`;let r=Math.round(n/60);return r<60?`${r}m ago`:`${Math.round(r/60)}h ago`}export{s as a,u as c,a as i,t as l,r as n,o,d as r,l as s,n as t,c as u};
@@ -1 +1 @@
1
- :root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:20px;--fs-2xl:28px;--row-h:28px;--control-h:26px;--header-h:44px;--nav-w:200px;--nav-w-collapsed:48px;--radius-sm:4px;--radius:6px;--radius-lg:10px;--radius-full:999px;--ease:cubic-bezier(.2, 0, 0, 1);--dur-fast:90ms;--dur:.16s;--accent:#ff3e00;--accent-hover:#ff5a24;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--text-xs:var(--fs-xs);--text-sm:var(--fs-sm);--text-lg:var(--fs-lg);--radius-md:var(--radius);--transition-fast:var(--dur-fast) var(--ease);--color-accent:var(--accent);--color-accent-400:var(--accent-hover);--color-accent-500:var(--accent);--color-base:var(--bg);--color-surface:var(--bg-elevated);--color-surface-active:var(--bg-active);--color-border:var(--border);--color-text:var(--fg);--color-text-muted:var(--fg-muted);--color-text-subtle:var(--fg-muted);--color-text-faint:var(--fg-faint);--color-success:var(--green);--color-error:var(--red);--color-error-bg:var(--red-bg);--color-info:var(--blue);--color-info-bg:var(--blue-bg);--color-warning-text:var(--yellow)}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111214;--bg-subtle:#16171a;--bg-elevated:#1c1d21;--bg-inset:#0c0d0e;--bg-hover:#ffffff0b;--bg-active:#ffffff14;--bg-selected:#ff3e0024;--bg-selected-strong:#ff3e0038;--border:#ffffff13;--border-strong:#ffffff21;--fg:#e8e8ea;--fg-muted:#b1b3b9;--fg-faint:#9497a0;--accent-fg:#ff7a4d;--focus:#ff7a4d;--mark:#ffaa0047;--shadow:0 10px 40px #00000080, 0 0 0 1px var(--border-strong);--green:#4ade80;--green-bg:#4ade801f;--yellow:#fbbf24;--yellow-bg:#fbbf241f;--red:#f87171;--red-bg:#f871711f;--blue:#60a5fa;--blue-bg:#60a5fa1f;--purple:#c084fc;--purple-bg:#c084fc1f;--cyan:#22d3ee;--cyan-bg:#22d3ee1f}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-subtle:#f7f7f8;--bg-elevated:#fff;--bg-inset:#f3f3f5;--bg-hover:#0000000a;--bg-active:#00000012;--bg-selected:#ff3e001a;--bg-selected-strong:#ff3e002b;--border:#00000014;--border-strong:#00000026;--fg:#1c1d21;--fg-muted:#474b53;--fg-faint:#5f636b;--accent-fg:#b82e00;--focus:#ff3e00;--mark:#ffaa0059;--shadow:0 12px 40px #00000029, 0 0 0 1px var(--border-strong);--green:#116a33;--green-bg:#16a34a1a;--yellow:#895306;--yellow-bg:#eab30824;--red:#b01e1e;--red-bg:#dc262617;--blue:#1f53c5;--blue-bg:#2563eb17;--purple:#7e2cc9;--purple-bg:#9333ea17;--cyan:#0c6179;--cyan-bg:#0e74901a}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";margin:0;line-height:1.45;overflow:hidden}#app{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}mark{background:var(--mark);color:inherit;border-radius:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}::selection{background:#ff3e004d}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.input,.select{height:var(--control-h);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease);outline:none;min-width:0;padding:0 8px}.input:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--accent)}textarea.input{height:auto;font-family:var(--font-mono);resize:vertical;padding:6px 8px}.section-title{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:6px;margin:0;padding:12px 14px 6px;font-weight:600;display:flex}.kv{font-size:var(--fs-sm);grid-template-columns:minmax(72px,max-content) 1fr;gap:4px 12px;margin:0;padding:0 14px;display:grid}.kv dt{color:var(--fg-muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.code-block{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;margin:0 14px;padding:8px 10px;line-height:1.55;overflow:auto}.link-list{margin:0;padding:0 6px;list-style:none}.link-list button{border-radius:var(--radius-sm);text-align:left;width:100%;min-height:26px;font-size:var(--fs-sm);background:0 0;border:0;align-items:center;gap:8px;padding:3px 8px;display:flex}.link-list button:hover{background:var(--bg-hover)}.link-list .sub{color:var(--fg-faint);font-size:var(--fs-xs);margin-left:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.icon.svelte-13so817{flex-shrink:0;display:block}.host.svelte-2j5tc8{height:100%;min-height:0}.host[hidden].svelte-2j5tc8{display:none}.empty.svelte-1uba7bi{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;min-height:160px;padding:40px 24px;display:flex}.ico.svelte-1uba7bi{border-radius:var(--radius-lg);background:var(--bg-active);width:40px;height:40px;color:var(--fg-muted);place-items:center;margin-bottom:4px;display:grid}.error.svelte-1uba7bi .ico:where(.svelte-1uba7bi){background:var(--red-bg);color:var(--red)}.title.svelte-1uba7bi{color:var(--fg);margin:0;font-weight:600}.body.svelte-1uba7bi{max-width:420px;color:var(--fg-muted);font-size:var(--fs-sm);flex-direction:column;align-items:center;gap:10px;display:flex}.body.svelte-1uba7bi p{margin:0}.btn.svelte-1klcfz0{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--fg-muted);font-size:var(--fs-sm);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-weight:500;display:inline-flex}.btn.svelte-1klcfz0:hover:not(:disabled){color:var(--fg);border-color:var(--border-strong);background:var(--bg-hover)}.btn.svelte-1klcfz0:disabled{opacity:.45;cursor:default}.icon-only.svelte-1klcfz0{width:var(--control-h);padding:0}.ghost.svelte-1klcfz0{background:0 0;border-color:#0000}.ghost.svelte-1klcfz0:hover:not(:disabled){border-color:#0000}.primary.svelte-1klcfz0{background:var(--accent);border-color:var(--accent);color:#fff}.primary.svelte-1klcfz0:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.danger.svelte-1klcfz0:hover:not(:disabled){color:var(--red)}.btn[aria-pressed=true].svelte-1klcfz0{color:var(--accent-fg);background:var(--bg-selected);border-color:#0000}.label.svelte-1klcfz0{align-items:center;gap:6px;display:inline-flex}.scrim.svelte-1bm0yy4{z-index:100;animation:svelte-1bm0yy4-fade var(--dur) var(--ease);background:#00000059;justify-content:center;align-items:flex-start;padding:min(14vh,96px) 16px 16px;display:flex;position:fixed;inset:0}.palette.svelte-1bm0yy4{background:var(--bg-elevated);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(480px,100%);box-shadow:var(--shadow);animation:svelte-1bm0yy4-rise var(--dur) var(--ease);flex-direction:column;display:flex;overflow:hidden}.field.svelte-1bm0yy4{border-bottom:1px solid var(--border);height:46px;color:var(--fg-faint);align-items:center;gap:10px;padding:0 14px;display:flex}.field.svelte-1bm0yy4 input:where(.svelte-1bm0yy4){font-size:var(--fs-lg);color:var(--fg);background:0 0;border:0;outline:none;flex:1}.list.svelte-1bm0yy4{margin:0;padding:6px;list-style:none;overflow-y:auto}.item.svelte-1bm0yy4{border-radius:var(--radius);height:34px;color:var(--fg-muted);cursor:pointer;align-items:center;gap:10px;padding:0 10px;display:flex}.item.active.svelte-1bm0yy4{background:var(--bg-active);color:var(--fg)}.item.active.svelte-1bm0yy4 .icon{color:var(--accent-fg)}.label.svelte-1bm0yy4{white-space:nowrap;font-weight:500}.hint.svelte-1bm0yy4{color:var(--fg-faint);font-size:var(--fs-sm);flex:1}.group.svelte-1bm0yy4{font-size:var(--fs-2xs);color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em;margin-left:auto}.none.svelte-1bm0yy4{text-align:center;color:var(--fg-faint);padding:24px}.foot.svelte-1bm0yy4{border-top:1px solid var(--border);color:var(--fg-faint);font-size:var(--fs-xs);gap:14px;padding:8px 14px;display:flex}.foot.svelte-1bm0yy4 span:where(.svelte-1bm0yy4){align-items:center;gap:3px;display:inline-flex}kbd.svelte-1bm0yy4{text-align:center;border:1px solid var(--border-strong);min-width:16px;font-size:var(--fs-2xs);color:var(--fg-muted);border-radius:3px;padding:0 4px;line-height:15px}@keyframes svelte-1bm0yy4-fade{0%{opacity:0}}@keyframes svelte-1bm0yy4-rise{0%{opacity:0;transform:translateY(-6px)scale(.99)}}.scrim.svelte-1o7zaml{z-index:90;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.card.svelte-1o7zaml{text-align:center;background:var(--bg-elevated);border-radius:var(--radius-lg);width:min(360px,100%);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:10px;padding:28px 24px 20px;display:flex}.lock.svelte-1o7zaml{background:var(--bg-selected);width:44px;height:44px;color:var(--accent-fg);border-radius:12px;place-items:center;display:grid}h2.svelte-1o7zaml{font-size:var(--fs-lg);margin:4px 0 0}p.svelte-1o7zaml{color:var(--fg-muted);font-size:var(--fs-sm);margin:0}.otp.svelte-1o7zaml{text-align:center;letter-spacing:.4em;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius);outline:none;width:100%;height:44px;margin:6px 0 4px;font-size:22px}.otp.svelte-1o7zaml:focus{border-color:var(--accent)}.otp[aria-invalid=true].svelte-1o7zaml{border-color:var(--red)}.err.svelte-1o7zaml{color:var(--red)}.card.svelte-1o7zaml .btn{width:100%;height:32px}.link.svelte-1o7zaml{color:var(--fg-muted);font-size:var(--fs-xs);background:0 0;border:0;text-decoration:underline}.banner.svelte-1o7zaml{z-index:80;border-radius:var(--radius-full);background:var(--bg-elevated);max-width:calc(100% - 32px);box-shadow:var(--shadow);font-size:var(--fs-sm);color:var(--fg-muted);align-items:center;gap:8px;padding:7px 12px;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.banner.error.svelte-1o7zaml{color:var(--red)}.spinner.svelte-1o7zaml{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite svelte-1o7zaml-spin}@keyframes svelte-1o7zaml-spin{to{transform:rotate(360deg)}}.app.svelte-1n46o8q{grid-template-columns:var(--nav-w) minmax(0, 1fr);height:100dvh;display:grid}.app.collapsed.svelte-1n46o8q{grid-template-columns:var(--nav-w-collapsed) minmax(0, 1fr)}.nav.svelte-1n46o8q{background:var(--bg-subtle);border-right:1px solid var(--border);flex-direction:column;gap:8px;min-height:0;padding:10px 8px 8px;display:flex;overflow:hidden auto}.brand.svelte-1n46o8q{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;height:26px;padding:0 6px;font-weight:600;display:flex}.logo.svelte-1n46o8q{flex-shrink:0}.cmdk.svelte-1n46o8q{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);height:28px;color:var(--fg-faint);font-size:var(--fs-sm);text-align:left;align-items:center;gap:8px;padding:0 8px;display:flex}.cmdk.svelte-1n46o8q:hover{border-color:var(--border-strong);color:var(--fg-muted)}.cmdk.svelte-1n46o8q .grow:where(.svelte-1n46o8q){flex:1}.cmdk.svelte-1n46o8q kbd:where(.svelte-1n46o8q){font-size:var(--fs-2xs);color:var(--fg-faint)}.groups.svelte-1n46o8q{flex-direction:column;flex:1;gap:10px;display:flex}.group.svelte-1n46o8q{flex-direction:column;gap:1px;display:flex}.group-label.svelte-1n46o8q{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);white-space:nowrap;padding:4px 8px 3px;font-weight:600}.item.svelte-1n46o8q{border-radius:var(--radius);height:28px;color:var(--fg-muted);font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:0 8px;font-weight:500;text-decoration:none;display:flex;position:relative}.item.svelte-1n46o8q:hover{background:var(--bg-hover);color:var(--fg)}.item[aria-current=page].svelte-1n46o8q{background:var(--bg-active);color:var(--fg)}.item[aria-current=page].svelte-1n46o8q .icon{color:var(--accent-fg)}.item[aria-current=page].svelte-1n46o8q:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:7px;bottom:7px;left:-8px}.conn.svelte-1n46o8q{font-size:var(--fs-xs);color:var(--fg-faint);text-transform:capitalize;align-items:center;gap:6px;margin-right:auto;padding:0 6px;display:inline-flex}.conn-dot.svelte-1n46o8q{background:var(--yellow);border-radius:50%;width:7px;height:7px}.conn.connected.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q){background:var(--green)}.conn.disconnected.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q),.conn.error.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q),.conn.unauthorized.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q){background:var(--red)}.collapsed.svelte-1n46o8q .conn:where(.svelte-1n46o8q){margin:0 0 4px;padding:6px 0}.foot.svelte-1n46o8q{border-top:1px solid var(--border);align-items:center;gap:2px;padding-top:6px;display:flex}.collapsed.svelte-1n46o8q .nav-text:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .brand-name:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .group-label:where(.svelte-1n46o8q){display:none}.collapsed.svelte-1n46o8q .brand:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .item:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .cmdk:where(.svelte-1n46o8q){justify-content:center;padding:0}.collapsed.svelte-1n46o8q .group:where(.svelte-1n46o8q){border-top:1px solid var(--border);padding-top:6px}.collapsed.svelte-1n46o8q .group:where(.svelte-1n46o8q):first-child{border-top:0;padding-top:0}.collapsed.svelte-1n46o8q .foot:where(.svelte-1n46o8q){flex-direction:column;align-items:center}.stage.svelte-1n46o8q{min-width:0;min-height:0;position:relative}.stage.svelte-1n46o8q .host{height:100%;min-height:0}.stage.svelte-1n46o8q .host[hidden]{display:none}.loading.svelte-1n46o8q{background:linear-gradient(90deg, transparent, var(--accent), transparent);background-repeat:no-repeat;background-size:40% 100%;height:2px;animation:1s linear infinite svelte-1n46o8q-slide}@keyframes svelte-1n46o8q-slide{0%{background-position:-40% 0}to{background-position:140% 0}}
1
+ :root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:20px;--fs-2xl:28px;--row-h:28px;--control-h:26px;--header-h:44px;--nav-w:200px;--nav-w-collapsed:48px;--radius-sm:4px;--radius:6px;--radius-lg:10px;--radius-full:999px;--ease:cubic-bezier(.2, 0, 0, 1);--dur-fast:90ms;--dur:.16s;--accent:#ff3e00;--accent-hover:#ff5a24;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--text-xs:var(--fs-xs);--text-sm:var(--fs-sm);--text-lg:var(--fs-lg);--radius-md:var(--radius);--transition-fast:var(--dur-fast) var(--ease);--color-accent:var(--accent);--color-accent-400:var(--accent-hover);--color-accent-500:var(--accent);--color-base:var(--bg);--color-surface:var(--bg-elevated);--color-surface-active:var(--bg-active);--color-border:var(--border);--color-text:var(--fg);--color-text-muted:var(--fg-muted);--color-text-subtle:var(--fg-muted);--color-text-faint:var(--fg-faint);--color-success:var(--green);--color-error:var(--red);--color-error-bg:var(--red-bg);--color-info:var(--blue);--color-info-bg:var(--blue-bg);--color-warning-text:var(--yellow)}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111214;--bg-subtle:#16171a;--bg-elevated:#1c1d21;--bg-inset:#0c0d0e;--bg-hover:#ffffff0b;--bg-active:#ffffff14;--bg-selected:#ff3e0024;--bg-selected-strong:#ff3e0038;--border:#ffffff13;--border-strong:#ffffff21;--fg:#e8e8ea;--fg-muted:#b1b3b9;--fg-faint:#9497a0;--accent-fg:#ff7a4d;--focus:#ff7a4d;--mark:#ffaa0047;--shadow:0 10px 40px #00000080, 0 0 0 1px var(--border-strong);--green:#4ade80;--green-bg:#4ade801f;--yellow:#fbbf24;--yellow-bg:#fbbf241f;--red:#f87171;--red-bg:#f871711f;--blue:#60a5fa;--blue-bg:#60a5fa1f;--purple:#c084fc;--purple-bg:#c084fc1f;--cyan:#22d3ee;--cyan-bg:#22d3ee1f}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-subtle:#f7f7f8;--bg-elevated:#fff;--bg-inset:#f3f3f5;--bg-hover:#0000000a;--bg-active:#00000012;--bg-selected:#ff3e001a;--bg-selected-strong:#ff3e002b;--border:#00000014;--border-strong:#00000026;--fg:#1c1d21;--fg-muted:#474b53;--fg-faint:#5f636b;--accent-fg:#b82e00;--focus:#ff3e00;--mark:#ffaa0059;--shadow:0 12px 40px #00000029, 0 0 0 1px var(--border-strong);--green:#116a33;--green-bg:#16a34a1a;--yellow:#895306;--yellow-bg:#eab30824;--red:#b01e1e;--red-bg:#dc262617;--blue:#1f53c5;--blue-bg:#2563eb17;--purple:#7e2cc9;--purple-bg:#9333ea17;--cyan:#0c6179;--cyan-bg:#0e74901a}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";margin:0;line-height:1.45;overflow:hidden}#app{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code,kbd,pre,.mono{font-family:var(--font-mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}mark{background:var(--mark);color:inherit;border-radius:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}::selection{background:#ff3e004d}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.input,.select{height:var(--control-h);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease);outline:none;min-width:0;padding:0 8px}.input:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--accent)}textarea.input{height:auto;font-family:var(--font-mono);resize:vertical;padding:6px 8px}.section-title{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:6px;margin:0;padding:12px 14px 6px;font-weight:600;display:flex}.kv{font-size:var(--fs-sm);grid-template-columns:minmax(72px,max-content) 1fr;gap:4px 12px;margin:0;padding:0 14px;display:grid}.kv dt{color:var(--fg-muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.code-block{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;margin:0 14px;padding:8px 10px;line-height:1.55;overflow:auto}.link-list{margin:0;padding:0 6px;list-style:none}.link-list button{border-radius:var(--radius-sm);text-align:left;width:100%;min-height:26px;font-size:var(--fs-sm);background:0 0;border:0;align-items:center;gap:8px;padding:3px 8px;display:flex}.link-list button:hover{background:var(--bg-hover)}.link-list .sub{color:var(--fg-faint);font-size:var(--fs-xs);margin-left:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.icon.svelte-13so817{flex-shrink:0;display:block}.btn.svelte-1klcfz0{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--fg-muted);font-size:var(--fs-sm);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-weight:500;display:inline-flex}.btn.svelte-1klcfz0:hover:not(:disabled){color:var(--fg);border-color:var(--border-strong);background:var(--bg-hover)}.btn.svelte-1klcfz0:disabled{opacity:.45;cursor:default}.icon-only.svelte-1klcfz0{width:var(--control-h);padding:0}.ghost.svelte-1klcfz0{background:0 0;border-color:#0000}.ghost.svelte-1klcfz0:hover:not(:disabled){border-color:#0000}.primary.svelte-1klcfz0{background:var(--accent);border-color:var(--accent);color:#fff}.primary.svelte-1klcfz0:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.danger.svelte-1klcfz0:hover:not(:disabled){color:var(--red)}.btn[aria-pressed=true].svelte-1klcfz0{color:var(--accent-fg);background:var(--bg-selected);border-color:#0000}.label.svelte-1klcfz0{align-items:center;gap:6px;display:inline-flex}.scrim.svelte-1bm0yy4{z-index:100;animation:svelte-1bm0yy4-fade var(--dur) var(--ease);background:#00000059;justify-content:center;align-items:flex-start;padding:min(14vh,96px) 16px 16px;display:flex;position:fixed;inset:0}.palette.svelte-1bm0yy4{background:var(--bg-elevated);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(480px,100%);box-shadow:var(--shadow);animation:svelte-1bm0yy4-rise var(--dur) var(--ease);flex-direction:column;display:flex;overflow:hidden}.field.svelte-1bm0yy4{border-bottom:1px solid var(--border);height:46px;color:var(--fg-faint);align-items:center;gap:10px;padding:0 14px;display:flex}.field.svelte-1bm0yy4 input:where(.svelte-1bm0yy4){font-size:var(--fs-lg);color:var(--fg);background:0 0;border:0;outline:none;flex:1}.list.svelte-1bm0yy4{margin:0;padding:6px;list-style:none;overflow-y:auto}.item.svelte-1bm0yy4{border-radius:var(--radius);height:34px;color:var(--fg-muted);cursor:pointer;align-items:center;gap:10px;padding:0 10px;display:flex}.item.active.svelte-1bm0yy4{background:var(--bg-active);color:var(--fg)}.item.active.svelte-1bm0yy4 .icon{color:var(--accent-fg)}.label.svelte-1bm0yy4{white-space:nowrap;font-weight:500}.hint.svelte-1bm0yy4{color:var(--fg-faint);font-size:var(--fs-sm);flex:1}.group.svelte-1bm0yy4{font-size:var(--fs-2xs);color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em;margin-left:auto}.none.svelte-1bm0yy4{text-align:center;color:var(--fg-faint);padding:24px}.foot.svelte-1bm0yy4{border-top:1px solid var(--border);color:var(--fg-faint);font-size:var(--fs-xs);gap:14px;padding:8px 14px;display:flex}.foot.svelte-1bm0yy4 span:where(.svelte-1bm0yy4){align-items:center;gap:3px;display:inline-flex}kbd.svelte-1bm0yy4{text-align:center;border:1px solid var(--border-strong);min-width:16px;font-size:var(--fs-2xs);color:var(--fg-muted);border-radius:3px;padding:0 4px;line-height:15px}@keyframes svelte-1bm0yy4-fade{0%{opacity:0}}@keyframes svelte-1bm0yy4-rise{0%{opacity:0;transform:translateY(-6px)scale(.99)}}.scrim.svelte-1o7zaml{z-index:90;background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.card.svelte-1o7zaml{text-align:center;background:var(--bg-elevated);border-radius:var(--radius-lg);width:min(360px,100%);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:10px;padding:28px 24px 20px;display:flex}.lock.svelte-1o7zaml{background:var(--bg-selected);width:44px;height:44px;color:var(--accent-fg);border-radius:12px;place-items:center;display:grid}h2.svelte-1o7zaml{font-size:var(--fs-lg);margin:4px 0 0}p.svelte-1o7zaml{color:var(--fg-muted);font-size:var(--fs-sm);margin:0}.otp.svelte-1o7zaml{text-align:center;letter-spacing:.4em;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius);outline:none;width:100%;height:44px;margin:6px 0 4px;font-size:22px}.otp.svelte-1o7zaml:focus{border-color:var(--accent)}.otp[aria-invalid=true].svelte-1o7zaml{border-color:var(--red)}.err.svelte-1o7zaml{color:var(--red)}.card.svelte-1o7zaml .btn{width:100%;height:32px}.link.svelte-1o7zaml{color:var(--fg-muted);font-size:var(--fs-xs);background:0 0;border:0;text-decoration:underline}.banner.svelte-1o7zaml{z-index:80;border-radius:var(--radius-full);background:var(--bg-elevated);max-width:calc(100% - 32px);box-shadow:var(--shadow);font-size:var(--fs-sm);color:var(--fg-muted);align-items:center;gap:8px;padding:7px 12px;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.banner.error.svelte-1o7zaml{color:var(--red)}.spinner.svelte-1o7zaml{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite svelte-1o7zaml-spin}@keyframes svelte-1o7zaml-spin{to{transform:rotate(360deg)}}.empty.svelte-1uba7bi{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;min-height:160px;padding:40px 24px;display:flex}.ico.svelte-1uba7bi{border-radius:var(--radius-lg);background:var(--bg-active);width:40px;height:40px;color:var(--fg-muted);place-items:center;margin-bottom:4px;display:grid}.error.svelte-1uba7bi .ico:where(.svelte-1uba7bi){background:var(--red-bg);color:var(--red)}.title.svelte-1uba7bi{color:var(--fg);margin:0;font-weight:600}.body.svelte-1uba7bi{max-width:420px;color:var(--fg-muted);font-size:var(--fs-sm);flex-direction:column;align-items:center;gap:10px;display:flex}.body.svelte-1uba7bi p{margin:0}.host.svelte-2j5tc8{height:100%;min-height:0}.host[hidden].svelte-2j5tc8{display:none}.app.svelte-1n46o8q{grid-template-columns:var(--nav-w) minmax(0, 1fr);height:100dvh;display:grid}.app.collapsed.svelte-1n46o8q{grid-template-columns:var(--nav-w-collapsed) minmax(0, 1fr)}.nav.svelte-1n46o8q{background:var(--bg-subtle);border-right:1px solid var(--border);flex-direction:column;gap:8px;min-height:0;padding:10px 8px 8px;display:flex;overflow:hidden auto}.brand.svelte-1n46o8q{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;height:26px;padding:0 6px;font-weight:600;display:flex}.logo.svelte-1n46o8q{flex-shrink:0}.cmdk.svelte-1n46o8q{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);height:28px;color:var(--fg-faint);font-size:var(--fs-sm);text-align:left;align-items:center;gap:8px;padding:0 8px;display:flex}.cmdk.svelte-1n46o8q:hover{border-color:var(--border-strong);color:var(--fg-muted)}.cmdk.svelte-1n46o8q .grow:where(.svelte-1n46o8q){flex:1}.cmdk.svelte-1n46o8q kbd:where(.svelte-1n46o8q){font-size:var(--fs-2xs);color:var(--fg-faint)}.groups.svelte-1n46o8q{flex-direction:column;flex:1;gap:10px;display:flex}.group.svelte-1n46o8q{flex-direction:column;gap:1px;display:flex}.group-label.svelte-1n46o8q{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);white-space:nowrap;padding:4px 8px 3px;font-weight:600}.item.svelte-1n46o8q{border-radius:var(--radius);height:28px;color:var(--fg-muted);font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);align-items:center;gap:10px;padding:0 8px;font-weight:500;text-decoration:none;display:flex;position:relative}.item.svelte-1n46o8q:hover{background:var(--bg-hover);color:var(--fg)}.item[aria-current=page].svelte-1n46o8q{background:var(--bg-active);color:var(--fg)}.item[aria-current=page].svelte-1n46o8q .icon{color:var(--accent-fg)}.item[aria-current=page].svelte-1n46o8q:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:7px;bottom:7px;left:-8px}.conn.svelte-1n46o8q{font-size:var(--fs-xs);color:var(--fg-faint);text-transform:capitalize;align-items:center;gap:6px;margin-right:auto;padding:0 6px;display:inline-flex}.conn-dot.svelte-1n46o8q{background:var(--yellow);border-radius:50%;width:7px;height:7px}.conn.connected.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q){background:var(--green)}.conn.disconnected.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q),.conn.error.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q),.conn.unauthorized.svelte-1n46o8q .conn-dot:where(.svelte-1n46o8q){background:var(--red)}.collapsed.svelte-1n46o8q .conn:where(.svelte-1n46o8q){margin:0 0 4px;padding:6px 0}.foot.svelte-1n46o8q{border-top:1px solid var(--border);align-items:center;gap:2px;padding-top:6px;display:flex}.collapsed.svelte-1n46o8q .nav-text:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .brand-name:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .group-label:where(.svelte-1n46o8q){display:none}.collapsed.svelte-1n46o8q .brand:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .item:where(.svelte-1n46o8q),.collapsed.svelte-1n46o8q .cmdk:where(.svelte-1n46o8q){justify-content:center;padding:0}.collapsed.svelte-1n46o8q .group:where(.svelte-1n46o8q){border-top:1px solid var(--border);padding-top:6px}.collapsed.svelte-1n46o8q .group:where(.svelte-1n46o8q):first-child{border-top:0;padding-top:0}.collapsed.svelte-1n46o8q .foot:where(.svelte-1n46o8q){flex-direction:column;align-items:center}.stage.svelte-1n46o8q{min-width:0;min-height:0;position:relative}.stage.svelte-1n46o8q .host{height:100%;min-height:0}.stage.svelte-1n46o8q .host[hidden]{display:none}.loading.svelte-1n46o8q{height:2px;overflow:hidden}.loading.svelte-1n46o8q:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:40%;height:100%;animation:1s linear infinite svelte-1n46o8q-slide;display:block}@keyframes svelte-1n46o8q-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}