signetai 0.93.2 → 0.93.4

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 (59) hide show
  1. package/dashboard/_app/immutable/chunks/{CoZTA4rR.js → 003lCdOi.js} +1 -1
  2. package/dashboard/_app/immutable/chunks/{BrPrnuUr.js → 6T3j9pUV.js} +1 -1
  3. package/dashboard/_app/immutable/chunks/{C_aF0KK8.js → 72fwnyg_.js} +1 -1
  4. package/dashboard/_app/immutable/chunks/{lXCNqkXw.js → B1qTZjfh.js} +1 -1
  5. package/dashboard/_app/immutable/chunks/{DOD8NA30.js → B35t1YnR.js} +1 -1
  6. package/dashboard/_app/immutable/chunks/{B-46a8r-.js → BAng8x88.js} +1 -1
  7. package/dashboard/_app/immutable/chunks/{BpSdZAZV.js → BFNEp1XR.js} +1 -1
  8. package/dashboard/_app/immutable/chunks/{CpSsOVAX.js → BO6ANpMV.js} +1 -1
  9. package/dashboard/_app/immutable/chunks/{B7nKnUyB.js → BPGgZ1nO.js} +1 -1
  10. package/dashboard/_app/immutable/chunks/{DveSUWke.js → BUmxmqel.js} +1 -1
  11. package/dashboard/_app/immutable/chunks/{DRvOKKWv.js → BWEG8zrc.js} +1 -1
  12. package/dashboard/_app/immutable/chunks/{D7xeaPP3.js → BXUCXMeO.js} +1 -1
  13. package/dashboard/_app/immutable/chunks/{XzQAwonl.js → BZYRglMK.js} +1 -1
  14. package/dashboard/_app/immutable/chunks/{ckxtyN-y.js → BrdDhQLE.js} +1 -1
  15. package/dashboard/_app/immutable/chunks/{Dwwle54L.js → C-EplTok.js} +1 -1
  16. package/dashboard/_app/immutable/chunks/{EV1hM2te.js → CAwoQc6n.js} +1 -1
  17. package/dashboard/_app/immutable/chunks/{Ce4tuixn.js → CHs_XKZT.js} +3 -3
  18. package/dashboard/_app/immutable/chunks/{D-C6qtlm.js → CLNbcKF6.js} +1 -1
  19. package/dashboard/_app/immutable/chunks/{Bux0IBmy.js → CRwnToEE.js} +2 -2
  20. package/dashboard/_app/immutable/chunks/{Crv8WuKe.js → Ciz_g-y6.js} +1 -1
  21. package/dashboard/_app/immutable/chunks/{-xlB6A9x.js → Cl08CgUv.js} +1 -1
  22. package/dashboard/_app/immutable/chunks/{Bl7OVYOd.js → ClTY613N.js} +1 -1
  23. package/dashboard/_app/immutable/chunks/{ljkXGEJr.js → CroWbnUo.js} +1 -1
  24. package/dashboard/_app/immutable/chunks/{CtkmVO8P.js → CtuU6H5M.js} +1 -1
  25. package/dashboard/_app/immutable/chunks/{BpenpEzB.js → CwmmSsiC.js} +1 -1
  26. package/dashboard/_app/immutable/chunks/{DX4fx6Rv.js → D08NO2-o.js} +1 -1
  27. package/dashboard/_app/immutable/chunks/{Cf9LiuZK.js → D1wVrltr.js} +1 -1
  28. package/dashboard/_app/immutable/chunks/{CHxAYRFq.js → D2vqAiG3.js} +1 -1
  29. package/dashboard/_app/immutable/chunks/{C30MojJQ.js → D3fYV7uG.js} +1 -1
  30. package/dashboard/_app/immutable/chunks/{DwPU16sz.js → DDCyxhXe.js} +1 -1
  31. package/dashboard/_app/immutable/chunks/{UW26wK8x.js → DDmo07Bx.js} +1 -1
  32. package/dashboard/_app/immutable/chunks/{QviE-p9D.js → DRdrRG6W.js} +1 -1
  33. package/dashboard/_app/immutable/chunks/{fwD-Qc-P.js → DRnfTD4J.js} +1 -1
  34. package/dashboard/_app/immutable/chunks/{CuD9gj_L.js → DkIYazcS.js} +1 -1
  35. package/dashboard/_app/immutable/chunks/{L2ZKNerG.js → Dr0IvX06.js} +1 -1
  36. package/dashboard/_app/immutable/chunks/{iHwdijz3.js → DrQX0ro5.js} +1 -1
  37. package/dashboard/_app/immutable/chunks/{p0Lh_vKZ.js → DsNAdZFa.js} +1 -1
  38. package/dashboard/_app/immutable/chunks/{T4kP41Vd.js → DwB2zEy5.js} +1 -1
  39. package/dashboard/_app/immutable/chunks/{ugcMlwPX.js → EMwVNZgd.js} +1 -1
  40. package/dashboard/_app/immutable/chunks/{CdakCIDP.js → EfoKJl07.js} +1 -1
  41. package/dashboard/_app/immutable/chunks/{Dgv9F3Mt.js → GhfDKrcC.js} +1 -1
  42. package/dashboard/_app/immutable/chunks/{DrnVHXU7.js → Mj_xKGBf.js} +1 -1
  43. package/dashboard/_app/immutable/chunks/{t8RD0MUO.js → OcKoHIoG.js} +1 -1
  44. package/dashboard/_app/immutable/chunks/{CNPj8PyX.js → R9tpfNZ4.js} +2 -2
  45. package/dashboard/_app/immutable/chunks/{BZvYneXW.js → U4CjiMAE.js} +1 -1
  46. package/dashboard/_app/immutable/chunks/{DzmPTX4S.js → i64397j3.js} +1 -1
  47. package/dashboard/_app/immutable/chunks/{BsUZkli4.js → lWP4YCEP.js} +1 -1
  48. package/dashboard/_app/immutable/chunks/{csXUup0T.js → v2v3NM-v.js} +1 -1
  49. package/dashboard/_app/immutable/entry/{app.BulW150v.js → app.DOtoL6IK.js} +2 -2
  50. package/dashboard/_app/immutable/entry/start.CnPPL3bf.js +1 -0
  51. package/dashboard/_app/immutable/nodes/{1.cZdTJ8Pb.js → 1.DbCbriVN.js} +1 -1
  52. package/dashboard/_app/immutable/nodes/2.DoXZSp9p.js +1 -0
  53. package/dashboard/_app/version.json +1 -1
  54. package/dashboard/index.html +6 -6
  55. package/dist/cli.js +132 -126
  56. package/dist/daemon.js +6 -2
  57. package/package.json +1 -1
  58. package/dashboard/_app/immutable/entry/start.CQ_0l64Q.js +0 -1
  59. package/dashboard/_app/immutable/nodes/2.GeWkZd_q.js +0 -1
@@ -1,4 +1,4 @@
1
- import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as m,y as h,z as _,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./o6XZc-z-.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./Ce4tuixn.js";import{P as er}from"./DiLyuexf.js";import{T as rr}from"./BBTUzYSt.js";import{B as sr}from"./DX4fx6Rv.js";import{P as tr,a as ar,b as nr}from"./BsUZkli4.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
1
+ import{p as Ae,o as k,e as xe,q as Ge,j as n,t as d,k as O,i as r,l as a,b as i,d as Oe,v as g,f as be,w as H,x as m,y as h,z as _,A as he,B as $e,m as x,u as Y,h as oe,s as qe,D as Le}from"./o6XZc-z-.js";import{f as Ve,n as Je,E as Ke,g as Qe,a as Ue,B as q,r as We,t as p,b as Xe,s as Ye,d as Ze}from"./CHs_XKZT.js";import{P as er}from"./DiLyuexf.js";import{T as rr}from"./BBTUzYSt.js";import{B as sr}from"./D08NO2-o.js";import{P as tr,a as ar,b as nr}from"./lWP4YCEP.js";var ir=x('<div class="flex flex-1 items-center justify-center sig-label">Loading connectors...</div>'),or=x(`<div class="flex items-center gap-3 px-3 py-2.5
2
2
  border border-[var(--sig-border)]
3
3
  bg-[var(--sig-surface-raised)]"><span></span> <div class="flex flex-col gap-0.5 min-w-0 flex-1"><span class="text-[12px] font-medium text-[var(--sig-text-bright)]
4
4
  font-[family-name:var(--font-display)] tracking-[0.04em]"> </span> <span class="sig-eyebrow truncate"> </span></div> <div class="flex flex-col items-end gap-0.5 shrink-0"><span> </span> <span class="sig-eyebrow"><!></span></div></div>`),lr=x(`<div class="flex items-center justify-center py-8
@@ -1,4 +1,4 @@
1
- import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,aa as Je,O as he,ab as We,a3 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./o6XZc-z-.js";import{I as ye,K as Xe,o as ae}from"./Ce4tuixn.js";import{S as Ye,a as Ze,b as et,c as tt}from"./D7xeaPP3.js";import{W as at,L as ve}from"./DOD8NA30.js";import{T as st}from"./ljkXGEJr.js";function rt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];ye(P,be({name:"activity"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}function nt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M12 19h8"}],["path",{d:"m4 17 6-6-6-6"}]];ye(P,be({name:"terminal"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}var it=T('<span class="ts-panel-count svelte-c36e65"> </span>'),lt=T("<!> <!>",1),ot=T('<div class="ts-control svelte-c36e65"><div class="ts-control-head svelte-c36e65"><div class="ts-control-title-wrap svelte-c36e65"><!> <span class="ts-control-title svelte-c36e65"> </span> <!></div> <!></div> <div class="ts-action-bar svelte-c36e65"><!> <button class="ts-run svelte-c36e65"><!></button></div></div>'),ct=T('<button class="ts-clear svelte-c36e65" title="Clear output"><!></button>'),dt=T('<div class="ts-empty svelte-c36e65">no output yet</div>'),pt=T('<div class="ts-line svelte-c36e65"></div>'),mt=T('<div class="ts-root svelte-c36e65"><div class="ts-controls svelte-c36e65"></div> <div class="ts-terminal-wrap svelte-c36e65"><div class="ts-terminal-head svelte-c36e65"><span class="ts-control-title svelte-c36e65">Terminal</span> <!></div> <div class="ts-term svelte-c36e65" role="log"><!></div></div></div>');function yt(P,f){se(f,!0);const _=[{id:"cli",title:"CLI",icon:nt,color:"var(--sig-highlight)",commands:[{label:"Status",kind:"cli",key:"status"},{label:"Daemon Status",kind:"cli",key:"daemon-status"},{label:"Daemon Logs",kind:"cli",key:"daemon-logs"},{label:"Sync",kind:"cli",key:"sync"},{label:"Embed Audit",kind:"cli",key:"embed-audit"},{label:"Skill List",kind:"cli",key:"skill-list"},{label:"Secret List",kind:"cli",key:"secret-list"},{label:"Recall Test",kind:"cli",key:"recall-test"}]},{id:"status",title:"Status",icon:rt,color:"var(--sig-highlight)",commands:[{label:"Health",kind:"api",method:"GET",path:"/health"},{label:"Diagnostics",kind:"api",method:"GET",path:"/api/diagnostics"},{label:"Pipeline",kind:"api",method:"GET",path:"/api/pipeline/status"},{label:"Predictor",kind:"api",method:"GET",path:"/api/predictor/status"},{label:"Git",kind:"api",method:"GET",path:"/api/git/status"},{label:"Embeddings",kind:"api",method:"GET",path:"/api/embeddings/health"}]},{id:"info",title:"Info",icon:Xe,color:"var(--sig-highlight)",commands:[{label:"Embed Gaps",kind:"api",method:"GET",path:"/api/repair/embedding-gaps"},{label:"Dedup Stats",kind:"api",method:"GET",path:"/api/repair/dedup-stats"},{label:"Cold Stats",kind:"api",method:"GET",path:"/api/repair/cold-stats"}]},{id:"repair",title:"Repair",icon:at,color:"var(--sig-highlight)",commands:[{label:"Check FTS",kind:"api",method:"POST",path:"/api/repair/check-fts"},{label:"Re-embed",kind:"api",method:"POST",path:"/api/repair/re-embed"},{label:"Resync Vec",kind:"api",method:"POST",path:"/api/repair/resync-vec"},{label:"Clean Orphans",kind:"api",method:"POST",path:"/api/repair/clean-orphans"},{label:"Deduplicate",kind:"api",method:"POST",path:"/api/repair/deduplicate"},{label:"Retention",kind:"api",method:"POST",path:"/api/repair/retention-sweep"},{label:"Requeue Dead",kind:"api",method:"POST",path:"/api/repair/requeue-dead"},{label:"Release Leases",kind:"api",method:"POST",path:"/api/repair/release-leases"},{label:"Backfill Skipped",kind:"api",method:"POST",path:"/api/repair/backfill-skipped"},{label:"Reclassify",kind:"api",method:"POST",path:"/api/repair/reclassify-entities"},{label:"Prune Chunks",kind:"api",method:"POST",path:"/api/repair/prune-chunk-groups"},{label:"Prune Singletons",kind:"api",method:"POST",path:"/api/repair/prune-singleton-entities"},{label:"Stop Daemon",kind:"cli",key:"daemon-stop"},{label:"Restart Daemon",kind:"cli",key:"daemon-restart"},{label:"Update Signet",kind:"cli",key:"update"}]}],g=pe(Object.fromEntries(_.map(e=>[e.id,{lines:[],running:!1,selected:0}])));let h=me(pe([])),O=me(void 0);const x=Object.fromEntries(_.map(e=>[e.id,e]));function E(e){te(O,e,!0)}async function v(e){await Ve(),s(O)?.scrollTo({top:s(O).scrollHeight,behavior:"smooth"})}function o(e,t){const a=g[e];if(!a)return;a.lines=[...a.lines,t];const i=x[e]?.title??e;te(h,[...s(h),t?`[${i}] ${t}`:""],!0)}function _e(){te(h,[],!0);for(const e of _)g[e.id].lines=[]}async function xe(e,t){const a=g[e];if(!a||a.running||!t.key)return;a.running=!0,o(e,`\x1B[32m$\x1B[0m signet ${t.key.replace(/-/g," ")}`),await v();const i=new AbortController;let r=!1;try{const n=await fetch(`${ae}/api/troubleshoot/exec`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:t.key}),signal:i.signal});if(!n.ok){const D=await n.json().catch(()=>({error:"request failed"}));o(e,`\x1B[31merror:\x1B[0m ${D.error??n.statusText}`),a.running=!1,await v(e);return}const d=n.body?.getReader();if(!d){o(e,"\x1B[31merror:\x1B[0m no stream"),a.running=!1;return}t.key==="daemon-restart"&&(r=!0);const b=new TextDecoder;let $="";try{for(;;){const{done:D,value:W}=await d.read();if(D)break;$+=b.decode(W,{stream:!0});const N=$.split(`
1
+ import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,aa as Je,O as he,ab as We,a3 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./o6XZc-z-.js";import{I as ye,K as Xe,o as ae}from"./CHs_XKZT.js";import{S as Ye,a as Ze,b as et,c as tt}from"./BXUCXMeO.js";import{W as at,L as ve}from"./B35t1YnR.js";import{T as st}from"./CroWbnUo.js";function rt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];ye(P,be({name:"activity"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}function nt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M12 19h8"}],["path",{d:"m4 17 6-6-6-6"}]];ye(P,be({name:"terminal"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}var it=T('<span class="ts-panel-count svelte-c36e65"> </span>'),lt=T("<!> <!>",1),ot=T('<div class="ts-control svelte-c36e65"><div class="ts-control-head svelte-c36e65"><div class="ts-control-title-wrap svelte-c36e65"><!> <span class="ts-control-title svelte-c36e65"> </span> <!></div> <!></div> <div class="ts-action-bar svelte-c36e65"><!> <button class="ts-run svelte-c36e65"><!></button></div></div>'),ct=T('<button class="ts-clear svelte-c36e65" title="Clear output"><!></button>'),dt=T('<div class="ts-empty svelte-c36e65">no output yet</div>'),pt=T('<div class="ts-line svelte-c36e65"></div>'),mt=T('<div class="ts-root svelte-c36e65"><div class="ts-controls svelte-c36e65"></div> <div class="ts-terminal-wrap svelte-c36e65"><div class="ts-terminal-head svelte-c36e65"><span class="ts-control-title svelte-c36e65">Terminal</span> <!></div> <div class="ts-term svelte-c36e65" role="log"><!></div></div></div>');function yt(P,f){se(f,!0);const _=[{id:"cli",title:"CLI",icon:nt,color:"var(--sig-highlight)",commands:[{label:"Status",kind:"cli",key:"status"},{label:"Daemon Status",kind:"cli",key:"daemon-status"},{label:"Daemon Logs",kind:"cli",key:"daemon-logs"},{label:"Sync",kind:"cli",key:"sync"},{label:"Embed Audit",kind:"cli",key:"embed-audit"},{label:"Skill List",kind:"cli",key:"skill-list"},{label:"Secret List",kind:"cli",key:"secret-list"},{label:"Recall Test",kind:"cli",key:"recall-test"}]},{id:"status",title:"Status",icon:rt,color:"var(--sig-highlight)",commands:[{label:"Health",kind:"api",method:"GET",path:"/health"},{label:"Diagnostics",kind:"api",method:"GET",path:"/api/diagnostics"},{label:"Pipeline",kind:"api",method:"GET",path:"/api/pipeline/status"},{label:"Predictor",kind:"api",method:"GET",path:"/api/predictor/status"},{label:"Git",kind:"api",method:"GET",path:"/api/git/status"},{label:"Embeddings",kind:"api",method:"GET",path:"/api/embeddings/health"}]},{id:"info",title:"Info",icon:Xe,color:"var(--sig-highlight)",commands:[{label:"Embed Gaps",kind:"api",method:"GET",path:"/api/repair/embedding-gaps"},{label:"Dedup Stats",kind:"api",method:"GET",path:"/api/repair/dedup-stats"},{label:"Cold Stats",kind:"api",method:"GET",path:"/api/repair/cold-stats"}]},{id:"repair",title:"Repair",icon:at,color:"var(--sig-highlight)",commands:[{label:"Check FTS",kind:"api",method:"POST",path:"/api/repair/check-fts"},{label:"Re-embed",kind:"api",method:"POST",path:"/api/repair/re-embed"},{label:"Resync Vec",kind:"api",method:"POST",path:"/api/repair/resync-vec"},{label:"Clean Orphans",kind:"api",method:"POST",path:"/api/repair/clean-orphans"},{label:"Deduplicate",kind:"api",method:"POST",path:"/api/repair/deduplicate"},{label:"Retention",kind:"api",method:"POST",path:"/api/repair/retention-sweep"},{label:"Requeue Dead",kind:"api",method:"POST",path:"/api/repair/requeue-dead"},{label:"Release Leases",kind:"api",method:"POST",path:"/api/repair/release-leases"},{label:"Backfill Skipped",kind:"api",method:"POST",path:"/api/repair/backfill-skipped"},{label:"Reclassify",kind:"api",method:"POST",path:"/api/repair/reclassify-entities"},{label:"Prune Chunks",kind:"api",method:"POST",path:"/api/repair/prune-chunk-groups"},{label:"Prune Singletons",kind:"api",method:"POST",path:"/api/repair/prune-singleton-entities"},{label:"Stop Daemon",kind:"cli",key:"daemon-stop"},{label:"Restart Daemon",kind:"cli",key:"daemon-restart"},{label:"Update Signet",kind:"cli",key:"update"}]}],g=pe(Object.fromEntries(_.map(e=>[e.id,{lines:[],running:!1,selected:0}])));let h=me(pe([])),O=me(void 0);const x=Object.fromEntries(_.map(e=>[e.id,e]));function E(e){te(O,e,!0)}async function v(e){await Ve(),s(O)?.scrollTo({top:s(O).scrollHeight,behavior:"smooth"})}function o(e,t){const a=g[e];if(!a)return;a.lines=[...a.lines,t];const i=x[e]?.title??e;te(h,[...s(h),t?`[${i}] ${t}`:""],!0)}function _e(){te(h,[],!0);for(const e of _)g[e.id].lines=[]}async function xe(e,t){const a=g[e];if(!a||a.running||!t.key)return;a.running=!0,o(e,`\x1B[32m$\x1B[0m signet ${t.key.replace(/-/g," ")}`),await v();const i=new AbortController;let r=!1;try{const n=await fetch(`${ae}/api/troubleshoot/exec`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:t.key}),signal:i.signal});if(!n.ok){const D=await n.json().catch(()=>({error:"request failed"}));o(e,`\x1B[31merror:\x1B[0m ${D.error??n.statusText}`),a.running=!1,await v(e);return}const d=n.body?.getReader();if(!d){o(e,"\x1B[31merror:\x1B[0m no stream"),a.running=!1;return}t.key==="daemon-restart"&&(r=!0);const b=new TextDecoder;let $="";try{for(;;){const{done:D,value:W}=await d.read();if(D)break;$+=b.decode(W,{stream:!0});const N=$.split(`
2
2
 
3
3
  `);$=N.pop()??"";for(const F of N){const R=F.match(/^data:\s*(.+)$/m);if(R)try{const m=JSON.parse(R[1]);if(m.type==="started"&&(r=!0),m.type==="stdout"||m.type==="stderr"){const S=String(m.data).replace(/\n$/,"");if(S){for(const I of S.split(`
4
4
  `))o(e,m.type==="stderr"?`\x1B[33m${I}\x1B[0m`:I);await v(e)}}else m.type==="exit"?(o(e,m.code===0?"\x1B[32m✓ exit 0\x1B[0m":`\x1B[31m✗ exit ${m.code}\x1B[0m`),await v(e)):m.type==="error"&&(o(e,`\x1B[31merror:\x1B[0m ${m.message}`),await v(e))}catch{}}}}finally{d.releaseLock()}}catch(n){i.signal.aborted||(t.key==="daemon-stop"||t.key==="daemon-restart"?o(e,"\x1B[33mDaemon process ended\x1B[0m"):o(e,`\x1B[31merror:\x1B[0m ${n instanceof Error?n.message:"fetch failed"}`))}if(t.key==="daemon-restart"&&r){o(e,"\x1B[90mWaiting for daemon to restart...\x1B[0m"),await v();let n=!1;for(let d=0;d<15;d++){await new Promise(b=>setTimeout(b,1e3));try{if((await fetch(`${ae}/health`)).ok){n=!0;break}}catch{}}o(e,n?"\x1B[32m✓ Daemon restarted\x1B[0m":"\x1B[31m✗ Daemon did not restart within 15s\x1B[0m"),await v()}o(e,""),a.running=!1,await v()}async function $e(e,t){const a=g[e];if(!a||a.running||!t.path||!t.method)return;a.running=!0;const i=performance.now();o(e,`\x1B[32m$\x1B[0m ${t.method} ${t.path}`),await v();try{const r=await fetch(`${ae}${t.path}`,{method:t.method}),n=Math.round(performance.now()-i),b=(r.headers.get("content-type")??"").includes("json")?JSON.stringify(await r.json(),null,2):await r.text();o(e,r.ok?`\x1B[32m${r.status} OK\x1B[0m \x1B[90m${n}ms\x1B[0m`:`\x1B[31m${r.status} FAILED\x1B[0m \x1B[90m${n}ms\x1B[0m`);for(const $ of b.split(`
@@ -1 +1 @@
1
- import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,G as z,i as l,b as u,u as h,d as G,r as j}from"./o6XZc-z-.js";import{c as f}from"./Ce4tuixn.js";function C(g,e){$(e,!0);let a=c(e,"ref",15,null),r=c(e,"checked",15,!1),p=j(e,["$$slots","$$events","$$legacy","ref","class","checked"]);var s=d(),b=o(s);{let k=h(()=>f("data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));i(b,()=>y,(m,v)=>{v(m,P({"data-slot":"switch",get class(){return l(k)}},()=>p,{get ref(){return a()},set ref(t){a(t)},get checked(){return r()},set checked(t){r(t)},children:(t,q)=>{var n=d(),w=o(n);{let x=h(()=>f("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"));i(w,()=>z,(_,S)=>{S(_,{"data-slot":"switch-thumb",get class(){return l(x)}})})}u(t,n)},$$slots:{default:!0}}))})}u(g,s),G()}export{C as S};
1
+ import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,G as z,i as l,b as u,u as h,d as G,r as j}from"./o6XZc-z-.js";import{c as f}from"./CHs_XKZT.js";function C(g,e){$(e,!0);let a=c(e,"ref",15,null),r=c(e,"checked",15,!1),p=j(e,["$$slots","$$events","$$legacy","ref","class","checked"]);var s=d(),b=o(s);{let k=h(()=>f("data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));i(b,()=>y,(m,v)=>{v(m,P({"data-slot":"switch",get class(){return l(k)}},()=>p,{get ref(){return a()},set ref(t){a(t)},get checked(){return r()},set checked(t){r(t)},children:(t,q)=>{var n=d(),w=o(n);{let x=h(()=>f("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"));i(w,()=>z,(_,S)=>{S(_,{"data-slot":"switch-thumb",get class(){return l(x)}})})}u(t,n)},$$slots:{default:!0}}))})}u(g,s),G()}export{C as S};
@@ -1,4 +1,4 @@
1
- import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as ht,m as x,P as fr}from"./o6XZc-z-.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./Ce4tuixn.js";import{P as _r}from"./DiLyuexf.js";import{T as br}from"./BBTUzYSt.js";import{C as yr}from"./C30MojJQ.js";import{S as hr}from"./CpSsOVAX.js";import{S as Me,a as Ge,b as le,c as He}from"./D7xeaPP3.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&ht().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function ye(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),ht().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
1
+ import{p as ir,o as S,e as cr,q as dr,v as s,Q as vr,i as t,j as n,t as l,h as T,f as z,w as oe,x as M,y as O,z as u,b as i,A as we,c as $e,K as Ve,u as J,l as o,k as K,B as ge,O as gr,d as ur,U as ht,m as x,P as fr}from"./o6XZc-z-.js";import{f as mr,n as pr,E as xr,B as qe,A as Lt,o as wt}from"./CHs_XKZT.js";import{P as _r}from"./DiLyuexf.js";import{T as br}from"./BBTUzYSt.js";import{C as yr}from"./D3fYV7uG.js";import{S as hr}from"./BO6ANpMV.js";import{S as Me,a as Ge,b as le,c as He}from"./BXUCXMeO.js";var Lr=x("<!> <!>",1),wr=x("<!> <!>",1),$r=x("<!> <!>",1),Sr=x("<!> <!>",1),kr=x("<!> <!> <!>",1),Er=x("<!> <!>",1),Pr=x('<span class="sig-eyebrow truncate max-w-[220px]"> </span>'),Tr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">Loading logs...</div>'),Or=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-danger)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]"> </div>'),Rr=x('<div class="py-[var(--space-xl)] text-center text-[var(--sig-text-muted)] font-[family-name:var(--font-display)] text-[length:var(--font-size-base)]">No logs found</div>'),Ar=x('<span class="text-[var(--sig-text-muted)]"> </span>'),Cr=x('<div class="mt-1 text-[11px] text-[var(--sig-text-muted)] whitespace-pre-wrap break-words"> </div>'),Nr=x('<button type="button"><div class="flex flex-wrap items-baseline gap-[var(--space-xs)]"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span> </span> <span> </span> <span class="text-[var(--sig-text-bright)] break-all"> </span> <!></div> <!></button>'),Dr=x('<div class="font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] leading-relaxed"><!></div>'),zr=x('<div class="text-[var(--sig-text-muted)]">Duration</div> <div class="text-[var(--sig-text-bright)]"> </div>',1),Ir=x('<details class="mb-1 border border-[var(--sig-border)] bg-[var(--sig-surface)] rounded-lg"><summary class="cursor-pointer px-2 py-1 text-[10px] text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] select-none"><span class="font-semibold text-[var(--sig-text)]"> </span> <span class="ml-1 opacity-60"> </span> <span class="ml-1 opacity-40"> </span></summary> <pre class="m-0 px-2 py-1 text-[10px] leading-relaxed whitespace-pre-wrap break-words text-[var(--sig-text)]"> </pre></details>'),jr=x('<div class="mb-1"><div class="text-[10px] text-[var(--sig-text-muted)] font-semibold mb-0.5"> </div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-words border border-[var(--sig-border)] rounded-lg bg-[var(--sig-surface)] text-[var(--sig-text)]"> </pre></div>'),Br=x('<div class="mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)] text-[length:var(--font-size-xs)] uppercase tracking-[0.08em] mb-1">Readable output</div> <!></div>'),Fr=x('<div class="grid grid-cols-[80px_1fr] gap-y-1 gap-x-2 mb-[var(--space-sm)]"><div class="text-[var(--sig-text-muted)]">Time</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <div class="text-[var(--sig-text-muted)]">Level</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Category</div> <div> </div> <div class="text-[var(--sig-text-muted)]">Message</div> <div class="text-[var(--sig-text-bright)] break-all"> </div> <!></div> <!> <div class="rounded-lg border border-[var(--sig-border)] bg-[var(--sig-surface)] overflow-hidden"><div class="flex items-center justify-between gap-2 px-2 py-1 border-b border-[var(--sig-border)]"><div class="sig-eyebrow tracking-[0.08em]">Log details</div> <!></div> <pre class="m-0 p-2 text-[10px] leading-relaxed whitespace-pre-wrap break-all text-[var(--sig-text-muted)]"> </pre></div>',1),Vr=x('<div class="text-[var(--sig-text-muted)]">Select a log entry to inspect details.</div>'),qr=x('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="flex flex-col flex-1 min-h-0 p-[var(--space-sm)] lg:p-[var(--space-md)]"><div class="flex-1 min-h-0 grid grid-cols-1 gap-[var(--space-md)] lg:grid-cols-[minmax(0,1.55fr)_minmax(0,1fr)]"><section class="min-h-0 flex flex-col rounded-lg border border-[var(--sig-border-strong)] bg-[var(--sig-surface-raised)] overflow-hidden"><div class="flex flex-wrap items-center gap-[var(--space-sm)] px-[var(--space-md)] py-[var(--space-sm)] border-b border-[var(--sig-border)] shrink-0"><!> <!> <!> <label class="flex items-center gap-1.5 sig-label text-[var(--sig-text)] cursor-pointer"><!> Auto-scroll</label> <div class="ml-auto flex items-center gap-[var(--space-sm)] min-w-0"><!> <span><!></span> <!> <!></div></div> <!></section> <section class="log-details-window min-h-0 overflow-auto rounded-lg border border-[var(--sig-border-strong)] p-[var(--space-md)] font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] svelte-q4aevr"><!></section></div></div></div>');function Qr($t,St){ir(St,!0);const kt=2e3,Et=3e4,Se="signet-dashboard-log-order",Je="desc",Ke="List order",Ue={debug:0,info:1,warn:2,error:3},ke={desc:"Newest first",asc:"Oldest first"};let I=S(cr([])),Ee=S(!1),me=S(""),ie=S(!1),W=S(!1),U=S(!1),Z=S(""),D=null,X=S(!0),ee=0,j=null,Q=S(""),te=S(""),Y=S(null),B=S(!1),ue=S(!1),Xe=S(!1),ce=S(null),re=S(null),pe=S(!1),de=null,Pe=0;const Qe=24,Pt=["daemon","api","memory","sync","git","watcher","embedding","embedding-tracker","harness","system","hooks","pipeline","skills","secrets","auth","session-tracker","summary-worker","document-worker","maintenance","scheduler","retention","llm"],Tt=["debug","info","warn","error"],ae=J(()=>t(Y)??Je);function Ye(e){return e==="desc"||e==="asc"}function We(e){return e==="debug"||e==="info"||e==="warn"||e==="error"}function xe(e){return typeof e=="object"&&e!==null}function Ot(e){return xe(e)&&e.type==="connected"}function Ze(e){if(!xe(e)||typeof e.timestamp!="string"||typeof e.category!="string"||typeof e.message!="string"||typeof e.level!="string"||!We(e.level))return null;const r={timestamp:e.timestamp,level:e.level,category:e.category,message:e.message};return xe(e.data)&&(r.data=e.data),typeof e.duration=="number"&&Number.isFinite(e.duration)&&(r.duration=e.duration),xe(e.error)&&typeof e.error.name=="string"&&typeof e.error.message=="string"&&(r.error={name:e.error.name,message:e.error.message}),r}function _e(e){const r=Date.parse(e);return Number.isNaN(r)?0:r}function Rt(e,r,a){const c=a==="desc"?_e(r.entry.timestamp)-_e(e.entry.timestamp):_e(e.entry.timestamp)-_e(r.entry.timestamp);return c!==0?c:a==="desc"?r.id-e.id:e.id-r.id}function et(e,r=0){const a=e.map((c,f)=>{const v=r+f;return{id:v,key:`log-${v}`,entry:c}});return{entries:a,nextId:r+a.length}}function Te(e,r){return[...e].sort((a,c)=>Rt(a,c,r))}function Oe(e,r){return e.length===0?null:r==="desc"?e[0]??null:e[e.length-1]??null}function At(e,r,a,c,f=500){const v=et([r],a),p=Te([...e,...v.entries],c);return{entries:c==="desc"?p.slice(0,f):p.slice(-f),nextId:v.nextId}}function Ct(){try{const e=localStorage.getItem(Se);if(e&&Ye(e))return e}catch{return null}return null}function Nt(e){try{if(e===null){localStorage.removeItem(Se);return}localStorage.setItem(Se,e)}catch{return}}function Dt(){return t(Y)===null?Ke:ke[t(Y)]}function Re(e){switch(e){case"error":return"log-level--error";case"warn":return"log-level--warn";case"debug":return"log-level--debug";default:return"log-level--info"}}function tt(e){switch(e.toLowerCase()){case"watcher":return"log-category--watcher";case"daemon":return"log-category--daemon";case"pipeline":return"log-category--pipeline";case"system":return"log-category--system";case"embeding-tracker":case"embedding-tracker":return"log-category--embedding-tracker";case"document-worker":return"log-category--document-worker";case"maintenance":return"log-category--maintenance";case"git":return"log-category--git";case"schedular":case"scheduler":return"log-category--scheduler";case"retention":return"log-category--retention";default:return"log-category--default"}}function rt(){const e=Oe(t(I),t(ae));return!e||!t(re)?!0:t(re)===e.key}function Ae(){s(re,Oe(t(I),t(ae))?.key??null,!0)}function zt(){const e=Oe(t(I),t(ae))?.entry??null;if(!t(re))return e;for(const r of t(I))if(r.key===t(re))return r.entry;return e}const A=J(zt);function at(e="smooth"){t(ce)&&t(ce).scrollTo({top:t(ae)==="desc"?0:t(ce).scrollHeight,behavior:e})}function be(e="auto"){de===null&&ht().then(()=>{de===null&&(de=requestAnimationFrame(()=>{de=null,t(B)&&at(e)}))})}function It(e){return e?t(ae)==="desc"?e.scrollTop<=Qe:e.scrollHeight-e.clientHeight-e.scrollTop<=Qe:!0}function jt(e){const r=e&&Ye(e)?e:null;if(r===t(Y))return;const a=rt();s(Y,r,!0),s(I,Te(t(I),r??Je),!0),a&&Ae(),t(B)&&(s(ue,!1),be("auto")),Nt(r)}async function ye(){s(Ee,!0),s(me,"");try{const e=new URLSearchParams({limit:"200"});t(Q)&&e.set("level",t(Q)),t(te)&&e.set("category",t(te));const a=await(await fetch(`${wt}/api/logs?${e}`)).json(),c=Array.isArray(a.logs)?a.logs.map(v=>Ze(v)).filter(v=>v!==null):[],f=et(c);Pe=f.nextId,s(I,Te(f.entries,t(ae)),!0),Ae(),t(Xe)?t(B)&&be("auto"):(s(Xe,!0),ht().then(()=>at("auto")))}catch{s(me,"Failed to fetch logs")}finally{s(Ee,!1)}}function st(){t(X)&&(j!==null&&(clearTimeout(j),j=null),D&&D.close(),s(U,!0),ee===0&&(s(W,!1),s(Z,"")),D=new EventSource(`${wt}/api/logs/stream`),D.onmessage=e=>{try{const r=JSON.parse(e.data);if(Ot(r)){ee=0,s(W,!1),s(U,!1),s(ie,!0),s(Z,"");return}const a=Ze(r);if(!a)return;t(U)&&(s(U,!1),s(ie,!0));const c=Ue[a.level],f=We(t(Q))?Ue[t(Q)]:void 0;if(t(Q)&&(c??-1)<(f??-1)||t(te)&&a.category!==t(te))return;const v=rt(),p=At(t(I),a,Pe,t(ae));Pe=p.nextId,s(I,p.entries,!0),v&&Ae(),t(B)&&be("auto")}catch{}},D.onerror=()=>{if(!t(X)||(s(ie,!1),s(U,!1),D?.close(),D=null,j!==null))return;const e=Math.min(kt*2**Math.min(ee,10),Et);ee=Math.min(ee+1,10),s(W,!0),s(Z,`Stream lost — reconnecting in ${e/1e3}s`),j=setTimeout(()=>{j=null,st()},e)})}function Bt(){s(X,!1),s(ie,!1),s(U,!1),s(W,!1),s(Z,""),ee=0,j!==null&&(clearTimeout(j),j=null),D&&(D.close(),D=null)}function nt(){s(X,!0),ee=0,s(W,!1),s(Z,""),st()}function Ft(){if(t(X)){Bt();return}nt()}function Vt(e){return e.split("T")[1]?.slice(0,8)||""}function qt(e){try{return new Date(e).toLocaleString()}catch{return e}}function ot(e){return JSON.stringify(e,null,2)}function q(e){return typeof e=="string"&&e.length>0?e:null}function Mt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.length>0):[]}function lt(e){const r=e.data;if(!r)return[];const a=[],c=q(r.inject)??q(r.injectPreview);c&&a.push({label:"Inject",content:c});const f=q(r.prompt)??q(r.promptPreview);f&&a.push({label:"Prompt",content:f});const v=q(r.summaryPrompt)??q(r.summaryPromptPreview);v&&a.push({label:"Summary Prompt",content:v});const p=q(r.summary)??q(r.summaryPreview);p&&a.push({label:"Summary",content:p});const k=q(r.transcript)??q(r.transcriptPreview);k&&a.push({label:"Transcript",content:k});const d=Mt(r.factsPreview);if(d.length>0){const g=d.map(L=>`- ${L}`).join(`
2
2
  `);a.push({label:"Facts",content:g})}return a}function it(e){const r=lt(e);if(r.length===0)return"";const a=r.map(c=>c.content).join(`
3
3
 
4
4
  `).trim();return a.length<=220?a:`${a.slice(0,220)}...`}async function Gt(){if(t(A))try{await navigator.clipboard.writeText(ot(t(A))),s(pe,!0),setTimeout(()=>{s(pe,!1)},1200)}catch{s(pe,!1)}}dr(()=>(s(Y,Ct(),!0),ye(),nt(),()=>{s(X,!1),de!==null&&cancelAnimationFrame(de),j!==null&&clearTimeout(j),D&&D.close()})),vr(()=>{const e=t(ce);if(!e)return;const r=()=>{const a=It(e);if(t(B)&&!a){s(B,!1),s(ue,!0);return}!t(B)&&t(ue)&&a&&(s(B,!0),s(ue,!1))};return e.addEventListener("scroll",r,{passive:!0}),r(),()=>{e.removeEventListener("scroll",r)}});var Ce=qr(),ct=n(Ce);_r(ct,{title:"Logs",children:(e,r)=>{br(e,{group:"engine",get tabs(){return xr},get activeTab(){return pr.activeTab},onselect:(a,c)=>mr(c)})}});var dt=l(ct,2),vt=n(dt),Ne=n(vt),De=n(Ne),gt=n(De);T(gt,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(Q)},onValueChange:a=>{s(Q,a??"",!0),ye()},children:(a,c)=>{var f=wr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(Q)||"All levels")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=Lr(),R=z(_);T(R,()=>le,(y,b)=>{b(y,{value:"",label:"All levels"})});var m=l(R,2);we(m,17,()=>Tt,Ve,(y,b)=>{var h=$e(),w=z(h);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(y,h)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ut=l(gt,2);T(ut,()=>He,(e,r)=>{r(e,{type:"single",get value(){return t(te)},onValueChange:a=>{s(te,a??"",!0),ye()},children:(a,c)=>{var f=Sr(),v=z(f);T(v,()=>Me,(k,d)=>{d(k,{class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] rounded-lg h-auto py-1 px-2 min-w-[100px]",children:(g,L)=>{oe();var _=M();O(()=>u(_,t(te)||"All categories")),i(g,_)},$$slots:{default:!0}})});var p=l(v,2);T(p,()=>Ge,(k,d)=>{d(k,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(g,L)=>{var _=$r(),R=z(_);T(R,()=>le,(y,b)=>{b(y,{value:"",label:"All categories"})});var m=l(R,2);we(m,17,()=>Pt,Ve,(y,b)=>{var h=$e(),w=z(h);T(w,()=>le,(se,F)=>{F(se,{get value(){return t(b)},get label(){return t(b)}})}),i(y,h)}),i(g,_)},$$slots:{default:!0}})}),i(a,f)},$$slots:{default:!0}})});var ft=l(ut,2);{let e=J(()=>t(Y)??"");T(ft,()=>He,(r,a)=>{a(r,{type:"single",get value(){return t(e)},onValueChange:jt,children:(c,f)=>{var v=Er(),p=z(v);{let d=J(()=>t(Y)===null?"":void 0);T(p,()=>Me,(g,L)=>{L(g,{get"data-placeholder"(){return t(d)},class:"font-[family-name:var(--font-mono)] text-[length:var(--font-size-sm)] bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] text-[var(--sig-text-bright)] data-[placeholder]:text-[var(--sig-text-muted)] rounded-lg h-auto py-1 px-2 min-w-[124px]",children:(_,R)=>{oe();var m=M();O(y=>u(m,y),[Dt]),i(_,m)},$$slots:{default:!0}})})}var k=l(p,2);T(k,()=>Ge,(d,g)=>{g(d,{class:"bg-[var(--sig-surface-raised)] border-[var(--sig-border-strong)] rounded-lg",children:(L,_)=>{var R=kr(),m=z(R);T(m,()=>le,(h,w)=>{w(h,{value:"",label:Ke})});var y=l(m,2);T(y,()=>le,(h,w)=>{w(h,{value:"desc",get label(){return ke.desc}})});var b=l(y,2);T(b,()=>le,(h,w)=>{w(h,{value:"asc",get label(){return ke.asc}})}),i(L,R)},$$slots:{default:!0}})}),i(c,v)},$$slots:{default:!0}})})}var ze=l(ft,2),Ht=n(ze);yr(Ht,{get checked(){return t(B)},onCheckedChange:e=>{s(B,e===!0),s(ue,!1),t(B)&&be("auto")},class:"rounded-lg"}),oe(),o(ze);var mt=l(ze,2),pt=n(mt);{var Jt=e=>{var r=Pr(),a=n(r,!0);o(r),O(()=>u(a,t(Z))),i(e,r)};K(pt,e=>{t(Z)&&e(Jt)})}var he=l(pt,2),Kt=n(he);{var Ut=e=>{var r=M("● Live");i(e,r)},Xt=e=>{var r=M("↺ Reconnecting");i(e,r)},Qt=e=>{var r=M("◌ Connecting");i(e,r)},Yt=e=>{var r=M("● Offline");i(e,r)};K(Kt,e=>{t(ie)?e(Ut):t(W)?e(Xt,1):t(U)?e(Qt,2):e(Yt,-1)})}o(he);var xt=l(he,2);{let e=J(()=>t(X)?"Disconnect stream":"Reconnect stream");qe(xt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Ft,get title(){return t(e)},children:(r,a)=>{oe();var c=M();O(()=>u(c,t(X)?"Disconnect":"Reconnect")),i(r,c)},$$slots:{default:!0}})}var Wt=l(xt,2);qe(Wt,{variant:"outline",size:"sm",class:"sig-label px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:ye,title:"Reload logs",children:(e,r)=>{oe();var a=M();O(()=>u(a,Lt.Refresh)),i(e,a)},$$slots:{default:!0}}),o(mt),o(De);var Zt=l(De,2);hr(Zt,{class:"min-h-0 flex-1",get viewportRef(){return t(ce)},set viewportRef(e){s(ce,e,!0)},children:(e,r)=>{var a=Dr(),c=n(a);{var f=d=>{var g=Tr();i(d,g)},v=d=>{var g=Or(),L=n(g,!0);o(g),O(()=>u(L,t(me))),i(d,g)},p=d=>{var g=Rr();i(d,g)},k=d=>{var g=$e(),L=z(g);we(L,17,()=>t(I),_=>_.key,(_,R)=>{const m=J(()=>t(R).entry),y=J(()=>t(R).key);var b=Nr(),h=n(b),w=n(h),se=n(w,!0);o(w);var F=l(w,2),Ie=n(F,!0);o(F);var E=l(F,2),V=n(E);o(E);var C=l(E,2),ne=n(C,!0);o(C);var G=l(C,2);{var Le=P=>{var $=Ar(),N=n($);o($),O(()=>u(N,`(${t(m).duration??""}ms)`)),i(P,$)};K(G,P=>{t(m).duration!==void 0&&P(Le)})}o(h);var je=l(h,2);{var Be=P=>{var $=Cr(),N=n($,!0);o($),O(H=>u(N,H),[()=>it(t(m))]),i(P,$)},Fe=J(()=>it(t(m)));K(je,P=>{t(Fe)&&P(Be)})}o(b),O((P,$,N,H,ve)=>{ge(b,1,P,"svelte-q4aevr"),u(se,$),ge(F,1,N,"svelte-q4aevr"),u(Ie,H),ge(E,1,ve,"svelte-q4aevr"),u(V,`[${t(m).category??""}]`),u(ne,t(m).message)},[()=>`log-row ${Re(t(m).level)} w-full text-left px-[var(--space-md)] py-1.5 border-b border-[var(--sig-border)] hover:bg-[var(--sig-surface)] cursor-pointer ${t(re)===t(y)?"bg-[var(--sig-surface)] border-[var(--sig-border-strong)]":""}`,()=>Vt(t(m).timestamp),()=>`font-semibold shrink-0 min-w-[40px] ${Re(t(m).level)}`,()=>t(m).level.toUpperCase(),()=>`log-category ${tt(t(m).category)} shrink-0`]),gr("click",b,()=>{s(re,t(y),!0)}),i(_,b)}),i(d,g)};K(c,d=>{t(Ee)?d(f):t(me)?d(v,1):t(I).length===0?d(p,2):d(k,-1)})}o(a),i(e,a)},$$slots:{default:!0}}),o(Ne);var _t=l(Ne,2),er=n(_t);{var tr=e=>{const r=J(()=>lt(t(A)));var a=Fr(),c=z(a),f=l(n(c),2),v=n(f,!0);o(f);var p=l(f,4),k=n(p,!0);o(p);var d=l(p,4),g=n(d,!0);o(d);var L=l(d,4),_=n(L,!0);o(L);var R=l(L,2);{var m=E=>{var V=zr(),C=l(z(V),2),ne=n(C);o(C),O(()=>u(ne,`${t(A).duration??""}ms`)),i(E,V)};K(R,E=>{t(A).duration!==void 0&&E(m)})}o(c);var y=l(c,2);{var b=E=>{var V=Br(),C=l(n(V),2);we(C,17,()=>t(r),Ve,(ne,G)=>{var Le=$e(),je=z(Le);{var Be=P=>{var $=Ir(),N=n($),H=n(N),ve=n(H,!0);o(H);var fe=l(H,2),ar=n(fe);o(fe);var bt=l(fe,2),sr=n(bt);o(bt),o(N);var yt=l(N,2),nr=n(yt,!0);o(yt),o($),O((or,lr)=>{u(ve,t(G).label),u(ar,`(${or??""} chars)`),u(sr,`${lr??""}...`),u(nr,t(G).content)},[()=>t(G).content.length.toLocaleString(),()=>t(G).content.slice(0,100).replace(/\n/g," ")]),i(P,$)},Fe=P=>{var $=jr(),N=n($),H=n(N,!0);o(N);var ve=l(N,2),fe=n(ve,!0);o(ve),o($),O(()=>{u(H,t(G).label),u(fe,t(G).content)}),i(P,$)};K(je,P=>{t(G).content.length>500?P(Be):P(Fe,-1)})}i(ne,Le)}),o(V),i(E,V)};K(y,E=>{t(r).length>0&&E(b)})}var h=l(y,2),w=n(h),se=l(n(w),2);qe(se,{variant:"outline",size:"sm",class:"sig-eyebrow px-2 py-1 h-auto hover:border-[var(--sig-border-strong)] hover:text-[var(--sig-text-bright)]",onclick:Gt,children:(E,V)=>{oe();var C=M();O(()=>u(C,t(pe)?"Copied":Lt.CopyJson)),i(E,C)},$$slots:{default:!0}}),o(w);var F=l(w,2),Ie=n(F,!0);o(F),o(h),O((E,V,C,ne)=>{u(v,E),ge(p,1,V,"svelte-q4aevr"),u(k,t(A).level),ge(d,1,C,"svelte-q4aevr"),u(g,t(A).category),u(_,t(A).message),u(Ie,ne)},[()=>qt(t(A).timestamp),()=>`uppercase ${Re(t(A).level)}`,()=>`log-category ${tt(t(A).category)}`,()=>ot(t(A))]),i(e,a)},rr=e=>{var r=Vr();i(e,r)};K(er,e=>{t(A)?e(tr):e(rr,-1)})}o(_t),o(vt),o(dt),o(Ce),O(()=>ge(he,1,`sig-label font-medium ${t(ie)?"text-[var(--sig-success)] [animation:pulse_2s_infinite]":t(W)||t(U)?"text-[var(--sig-accent)] [animation:pulse_2s_infinite]":"text-[var(--sig-danger)]"}`,"svelte-q4aevr")),i($t,Ce),ur()}fr(["click"]);export{Qr as default};
@@ -1 +1 @@
1
- import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./o6XZc-z-.js";import{I as f}from"./Ce4tuixn.js";function _(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]];f(t,p({name:"wrench"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}function N(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M12 2v4"}],["path",{d:"m16.2 7.8 2.9-2.9"}],["path",{d:"M18 12h4"}],["path",{d:"m16.2 16.2 2.9 2.9"}],["path",{d:"M12 18v4"}],["path",{d:"m4.9 19.1 2.9-2.9"}],["path",{d:"M2 12h4"}],["path",{d:"m4.9 4.9 2.9 2.9"}]];f(t,p({name:"loader"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}export{N as L,_ as W};
1
+ import{p as d,s as p,c,f as l,a as h,n as i,b as m,d as $,r as u}from"./o6XZc-z-.js";import{I as f}from"./CHs_XKZT.js";function _(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"}]];f(t,p({name:"wrench"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}function N(t,a){d(a,!0);let o=u(a,["$$slots","$$events","$$legacy"]);const s=[["path",{d:"M12 2v4"}],["path",{d:"m16.2 7.8 2.9-2.9"}],["path",{d:"M18 12h4"}],["path",{d:"m16.2 16.2 2.9 2.9"}],["path",{d:"M12 18v4"}],["path",{d:"m4.9 19.1 2.9-2.9"}],["path",{d:"M2 12h4"}],["path",{d:"m4.9 4.9 2.9 2.9"}]];f(t,p({name:"loader"},()=>o,{get iconNode(){return s},children:(r,v)=>{var e=c(),n=l(e);h(n,()=>a.children??i),m(r,e)},$$slots:{default:!0}})),$()}export{N as L,_ as W};
@@ -1,4 +1,4 @@
1
- import{p as qe,g as Mt,q as Sr,i as e,v as k,Q as yt,F as sr,b as n,d as He,o as de,m as c,s as Gt,c as Ne,f as $,a as Ct,n as Jt,r as Wt,j as m,t as s,l as g,k as z,w as De,y as ee,z as Z,B as Ft,x as nt,u,a3 as kr,e as Kt,N as yr,$ as xr,O as We,h as Y,ac as wr,A as Fe,I as Pr,E as Cr,aa as ir,P as Lt,_ as It,D as Er,aR as Nr,aS as ce,aT as Ar,R as Mr}from"./o6XZc-z-.js";import{i as Tr}from"./Dwwle54L.js";import{I as Yt,B as er,b5 as Fr,b6 as ar,t as At,b7 as Ir,b8 as Or,b9 as Ut,ba as Vr,bb as Dr,bc as Lr,bd as Rr,be as Br,bf as dr}from"./Ce4tuixn.js";import{E as tr,a as cr,C as zr,y as ur,m as vr,k as gr,l as jr,h as Ur,b as qr,c as Hr,f as Kr,d as Gr,e as Jr,g as Wr,s as Yr,i as Zr,j as Xr,n as Qr,o as ea,p as ta,q as ra}from"./G7hc92us.js";import{g as aa,p as mr,s as pr}from"./Cik1Y8bQ.js";import{P as na}from"./Crv8WuKe.js";import{P as sa,a as oa,b as la}from"./BsUZkli4.js";import{L as ia}from"./CuD9gj_L.js";import{C as fr}from"./C30MojJQ.js";import{I as _e}from"./p0Lh_vKZ.js";import{T as da}from"./BpSdZAZV.js";import{R as ca}from"./L2ZKNerG.js";import{c as vt,S as gt,a as mt,b as be}from"./D7xeaPP3.js";import{C as ua}from"./DRvOKKWv.js";import{S as ut}from"./C_aF0KK8.js";var va=c('<div class="code-editor svelte-c4vs74"></div>');function ga(f,t){qe(t,!0);let r=Mt(t,"readonly",3,!1),l=de(void 0),o=de(void 0);const N=new zr;function v(){return tr.theme({"&":{backgroundColor:"var(--sig-bg)",color:"var(--sig-text-bright)",fontFamily:"var(--font-mono)",fontSize:"13px",height:"100%"},".cm-content":{caretColor:"var(--sig-text-bright)",fontFamily:"var(--font-mono)",lineHeight:"1.8",padding:"var(--space-md) 0"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--sig-text-bright)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:"rgba(255, 255, 255, 0.08) !important"},".cm-activeLine":{backgroundColor:"rgba(255, 255, 255, 0.03)"},".cm-gutters":{backgroundColor:"var(--sig-surface)",color:"var(--sig-text-muted)",border:"none",borderRight:"1px solid var(--sig-border)",fontFamily:"var(--font-mono)",fontSize:"11px"},".cm-activeLineGutter":{backgroundColor:"rgba(255, 255, 255, 0.04)",color:"var(--sig-text)"},".cm-foldGutter":{color:"var(--sig-text-muted)"},"&.cm-focused":{outline:"none"},".cm-matchingBracket":{backgroundColor:"rgba(255, 255, 255, 0.1)",color:"var(--sig-text-bright)"},".cm-searchMatch":{backgroundColor:"rgba(255, 255, 255, 0.12)"},".cm-selectionMatch":{backgroundColor:"rgba(255, 255, 255, 0.06)"},".cm-line":{padding:"0 var(--space-md)"},".cm-scroller":{overflow:"auto"}},{dark:!0})}function _(){return t.language==="yaml"?ur():t.language==="markdown"?vr():[]}function S(){const y=gr.of([{key:"Mod-s",run:()=>(t.onsave?.(),!0)}]);return[jr(),Ur(),qr(),Hr(),Kr(),Gr(),Jr(),Wr(),Yr(ra,{fallback:!0}),gr.of([...Zr,...Xr,...Qr,...ea,...ta]),v(),N.of(_()),y,tr.updateListener.of(b=>{b.docChanged&&t.onchange?.(b.state.doc.toString())}),...r()?[cr.readOnly.of(!0)]:[]]}Sr(()=>{if(e(l))return k(o,new tr({state:cr.create({doc:t.value,extensions:S()}),parent:e(l)}),!0),()=>{e(o)?.destroy(),k(o,void 0)}}),yt(()=>{if(!e(o))return;const y=e(o).state.doc.toString();t.value!==y&&e(o).dispatch({changes:{from:0,to:y.length,insert:t.value}})}),yt(()=>{const y=t.language;e(o)&&e(o).dispatch({effects:N.reconfigure(y==="yaml"?ur():y==="markdown"?vr():[])})});var p=va();sr(p,y=>k(l,y),()=>e(l)),n(f,p),He()}function ma(f,t){qe(t,!0);let r=Wt(t,["$$slots","$$events","$$legacy"]);const l=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}],["circle",{cx:"12",cy:"12",r:"3"}]];Yt(f,Gt({name:"eye"},()=>r,{get iconNode(){return l},children:(o,N)=>{var v=Ne(),_=$(v);Ct(_,()=>t.children??Jt),n(o,v)},$$slots:{default:!0}})),He()}var pa=c('<span> <span class="md-viewer-budget-pct svelte-ebmw30"> </span></span>'),fa=c('<span class="md-viewer-budget svelte-ebmw30"> </span>'),ha=c('<span class="md-viewer-save-meta svelte-ebmw30"> </span>'),ba=c('<span class="md-viewer-save-meta svelte-ebmw30"> </span>'),_a=c("<!> <span>Preview</span>",1),ya=c("<!> <span>Edit</span>",1),xa=c('<div class="md-viewer-prose prose svelte-ebmw30"></div>'),$a=c('<div class="md-viewer svelte-ebmw30"><div class="md-viewer-toolbar svelte-ebmw30"><span class="md-viewer-filename svelte-ebmw30"><span class="md-viewer-path svelte-ebmw30">~/.agents/</span> </span> <!> <div class="md-viewer-actions svelte-ebmw30"><!> <!> <span> </span> <!> <!> <!></div></div> <!></div>');function Sa(f,t){qe(t,!0);let r=Mt(t,"dirty",3,!1),l=Mt(t,"saving",3,!1),o=Mt(t,"saveDisabled",3,!1);function N(A){const j=A.match(/\sclass=(['"])(.*?)\1/i);if(!j)return`${A} class="md-boxed-heading"`;const re=j[1],H=j[2].split(/\s+/).filter(Boolean);return H.includes("md-boxed-heading")||H.push("md-boxed-heading"),A.replace(/\sclass=(['"])(.*?)\1/i,` class=${re}${H.join(" ")}${re}`)}function v(A){return A.replace(/<h([1-6])(\s[^>]*)?>([\s\S]*?)<\/h\1>/gi,(j,re,H="",ue="")=>{const he=N(H);return`<h${re}${he}>${ue}</h${re}>`})}const _=u(()=>t.content?.length??0),S=u(()=>t.charBudget?Math.round(e(_)/t.charBudget*100):0);let p=de(!1);const y=u(()=>{if(!t.content)return"";const A=aa.parse(t.content,{async:!1});return v(A)});var b=$a(),K=m(b),M=m(K),E=s(m(M),1,!0);g(M);var I=s(M,2);{var D=A=>{var j=pa();let re;var H=m(j),ue=s(H),he=m(ue);g(ue),g(j),ee((Se,xe)=>{re=Ft(j,1,"md-viewer-budget svelte-ebmw30",null,re,{"over-budget":e(_)>t.charBudget,"near-budget":e(S)>=80&&e(_)<=t.charBudget}),Z(H,`${Se??""} / ${xe??""} chars `),Z(he,`(${e(S)??""}%)`)},[()=>e(_).toLocaleString(),()=>t.charBudget.toLocaleString()]),n(A,j)},U=A=>{var j=fa(),re=m(j);g(j),ee(H=>Z(re,`${H??""} chars`),[()=>e(_).toLocaleString()]),n(A,j)};z(I,A=>{t.charBudget?A(D):A(U,-1)})}var q=s(I,2),O=m(q);{var G=A=>{var j=ha(),re=m(j,!0);g(j),ee(()=>Z(re,t.lastSavedText)),n(A,j)};z(O,A=>{t.lastSavedText&&A(G)})}var i=s(O,2);{var P=A=>{var j=ba(),re=m(j,!0);g(j),ee(()=>Z(re,t.saveFeedback)),n(A,j)};z(i,A=>{t.saveFeedback&&A(P)})}var T=s(i,2);let C;var X=m(T,!0);g(T);var ae=s(T,2);{var ye=A=>{er(A,{variant:"outline",size:"sm",class:`h-auto rounded-lg gap-1 font-[family-name:var(--font-mono)] text-[10px]
1
+ import{p as qe,g as Mt,q as Sr,i as e,v as k,Q as yt,F as sr,b as n,d as He,o as de,m as c,s as Gt,c as Ne,f as $,a as Ct,n as Jt,r as Wt,j as m,t as s,l as g,k as z,w as De,y as ee,z as Z,B as Ft,x as nt,u,a3 as kr,e as Kt,N as yr,$ as xr,O as We,h as Y,ac as wr,A as Fe,I as Pr,E as Cr,aa as ir,P as Lt,_ as It,D as Er,aR as Nr,aS as ce,aT as Ar,R as Mr}from"./o6XZc-z-.js";import{i as Tr}from"./C-EplTok.js";import{I as Yt,B as er,b5 as Fr,b6 as ar,t as At,b7 as Ir,b8 as Or,b9 as Ut,ba as Vr,bb as Dr,bc as Lr,bd as Rr,be as Br,bf as dr}from"./CHs_XKZT.js";import{E as tr,a as cr,C as zr,y as ur,m as vr,k as gr,l as jr,h as Ur,b as qr,c as Hr,f as Kr,d as Gr,e as Jr,g as Wr,s as Yr,i as Zr,j as Xr,n as Qr,o as ea,p as ta,q as ra}from"./G7hc92us.js";import{g as aa,p as mr,s as pr}from"./Cik1Y8bQ.js";import{P as na}from"./Ciz_g-y6.js";import{P as sa,a as oa,b as la}from"./lWP4YCEP.js";import{L as ia}from"./DkIYazcS.js";import{C as fr}from"./D3fYV7uG.js";import{I as _e}from"./DsNAdZFa.js";import{T as da}from"./BFNEp1XR.js";import{R as ca}from"./Dr0IvX06.js";import{c as vt,S as gt,a as mt,b as be}from"./BXUCXMeO.js";import{C as ua}from"./BWEG8zrc.js";import{S as ut}from"./72fwnyg_.js";var va=c('<div class="code-editor svelte-c4vs74"></div>');function ga(f,t){qe(t,!0);let r=Mt(t,"readonly",3,!1),l=de(void 0),o=de(void 0);const N=new zr;function v(){return tr.theme({"&":{backgroundColor:"var(--sig-bg)",color:"var(--sig-text-bright)",fontFamily:"var(--font-mono)",fontSize:"13px",height:"100%"},".cm-content":{caretColor:"var(--sig-text-bright)",fontFamily:"var(--font-mono)",lineHeight:"1.8",padding:"var(--space-md) 0"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--sig-text-bright)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:"rgba(255, 255, 255, 0.08) !important"},".cm-activeLine":{backgroundColor:"rgba(255, 255, 255, 0.03)"},".cm-gutters":{backgroundColor:"var(--sig-surface)",color:"var(--sig-text-muted)",border:"none",borderRight:"1px solid var(--sig-border)",fontFamily:"var(--font-mono)",fontSize:"11px"},".cm-activeLineGutter":{backgroundColor:"rgba(255, 255, 255, 0.04)",color:"var(--sig-text)"},".cm-foldGutter":{color:"var(--sig-text-muted)"},"&.cm-focused":{outline:"none"},".cm-matchingBracket":{backgroundColor:"rgba(255, 255, 255, 0.1)",color:"var(--sig-text-bright)"},".cm-searchMatch":{backgroundColor:"rgba(255, 255, 255, 0.12)"},".cm-selectionMatch":{backgroundColor:"rgba(255, 255, 255, 0.06)"},".cm-line":{padding:"0 var(--space-md)"},".cm-scroller":{overflow:"auto"}},{dark:!0})}function _(){return t.language==="yaml"?ur():t.language==="markdown"?vr():[]}function S(){const y=gr.of([{key:"Mod-s",run:()=>(t.onsave?.(),!0)}]);return[jr(),Ur(),qr(),Hr(),Kr(),Gr(),Jr(),Wr(),Yr(ra,{fallback:!0}),gr.of([...Zr,...Xr,...Qr,...ea,...ta]),v(),N.of(_()),y,tr.updateListener.of(b=>{b.docChanged&&t.onchange?.(b.state.doc.toString())}),...r()?[cr.readOnly.of(!0)]:[]]}Sr(()=>{if(e(l))return k(o,new tr({state:cr.create({doc:t.value,extensions:S()}),parent:e(l)}),!0),()=>{e(o)?.destroy(),k(o,void 0)}}),yt(()=>{if(!e(o))return;const y=e(o).state.doc.toString();t.value!==y&&e(o).dispatch({changes:{from:0,to:y.length,insert:t.value}})}),yt(()=>{const y=t.language;e(o)&&e(o).dispatch({effects:N.reconfigure(y==="yaml"?ur():y==="markdown"?vr():[])})});var p=va();sr(p,y=>k(l,y),()=>e(l)),n(f,p),He()}function ma(f,t){qe(t,!0);let r=Wt(t,["$$slots","$$events","$$legacy"]);const l=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}],["circle",{cx:"12",cy:"12",r:"3"}]];Yt(f,Gt({name:"eye"},()=>r,{get iconNode(){return l},children:(o,N)=>{var v=Ne(),_=$(v);Ct(_,()=>t.children??Jt),n(o,v)},$$slots:{default:!0}})),He()}var pa=c('<span> <span class="md-viewer-budget-pct svelte-ebmw30"> </span></span>'),fa=c('<span class="md-viewer-budget svelte-ebmw30"> </span>'),ha=c('<span class="md-viewer-save-meta svelte-ebmw30"> </span>'),ba=c('<span class="md-viewer-save-meta svelte-ebmw30"> </span>'),_a=c("<!> <span>Preview</span>",1),ya=c("<!> <span>Edit</span>",1),xa=c('<div class="md-viewer-prose prose svelte-ebmw30"></div>'),$a=c('<div class="md-viewer svelte-ebmw30"><div class="md-viewer-toolbar svelte-ebmw30"><span class="md-viewer-filename svelte-ebmw30"><span class="md-viewer-path svelte-ebmw30">~/.agents/</span> </span> <!> <div class="md-viewer-actions svelte-ebmw30"><!> <!> <span> </span> <!> <!> <!></div></div> <!></div>');function Sa(f,t){qe(t,!0);let r=Mt(t,"dirty",3,!1),l=Mt(t,"saving",3,!1),o=Mt(t,"saveDisabled",3,!1);function N(A){const j=A.match(/\sclass=(['"])(.*?)\1/i);if(!j)return`${A} class="md-boxed-heading"`;const re=j[1],H=j[2].split(/\s+/).filter(Boolean);return H.includes("md-boxed-heading")||H.push("md-boxed-heading"),A.replace(/\sclass=(['"])(.*?)\1/i,` class=${re}${H.join(" ")}${re}`)}function v(A){return A.replace(/<h([1-6])(\s[^>]*)?>([\s\S]*?)<\/h\1>/gi,(j,re,H="",ue="")=>{const he=N(H);return`<h${re}${he}>${ue}</h${re}>`})}const _=u(()=>t.content?.length??0),S=u(()=>t.charBudget?Math.round(e(_)/t.charBudget*100):0);let p=de(!1);const y=u(()=>{if(!t.content)return"";const A=aa.parse(t.content,{async:!1});return v(A)});var b=$a(),K=m(b),M=m(K),E=s(m(M),1,!0);g(M);var I=s(M,2);{var D=A=>{var j=pa();let re;var H=m(j),ue=s(H),he=m(ue);g(ue),g(j),ee((Se,xe)=>{re=Ft(j,1,"md-viewer-budget svelte-ebmw30",null,re,{"over-budget":e(_)>t.charBudget,"near-budget":e(S)>=80&&e(_)<=t.charBudget}),Z(H,`${Se??""} / ${xe??""} chars `),Z(he,`(${e(S)??""}%)`)},[()=>e(_).toLocaleString(),()=>t.charBudget.toLocaleString()]),n(A,j)},U=A=>{var j=fa(),re=m(j);g(j),ee(H=>Z(re,`${H??""} chars`),[()=>e(_).toLocaleString()]),n(A,j)};z(I,A=>{t.charBudget?A(D):A(U,-1)})}var q=s(I,2),O=m(q);{var G=A=>{var j=ha(),re=m(j,!0);g(j),ee(()=>Z(re,t.lastSavedText)),n(A,j)};z(O,A=>{t.lastSavedText&&A(G)})}var i=s(O,2);{var P=A=>{var j=ba(),re=m(j,!0);g(j),ee(()=>Z(re,t.saveFeedback)),n(A,j)};z(i,A=>{t.saveFeedback&&A(P)})}var T=s(i,2);let C;var X=m(T,!0);g(T);var ae=s(T,2);{var ye=A=>{er(A,{variant:"outline",size:"sm",class:`h-auto rounded-lg gap-1 font-[family-name:var(--font-mono)] text-[10px]
2
2
  font-medium uppercase tracking-[0.1em] px-2 py-[3px]
3
3
  text-[var(--sig-text-muted)] border-[var(--sig-border)]
4
4
  hover:text-[var(--sig-text)] hover:border-[var(--sig-border-strong)]`,get onclick(){return t.ondiscard},children:(j,re)=>{De();var H=nt("DISCARD");n(j,H)},$$slots:{default:!0}})};z(ae,A=>{e(p)&&r()&&t.ondiscard&&A(ye)})}var le=s(ae,2);{var te=A=>{er(A,{variant:"outline",size:"sm",class:`h-auto rounded-lg gap-1 font-[family-name:var(--font-mono)] text-[10px]
@@ -1 +1 @@
1
- import{p as n,g as r,H as u,E as c,F as b,I as v,b as f,d as x,r as m,m as g}from"./o6XZc-z-.js";import{c as p}from"./Ce4tuixn.js";var h=g("<textarea></textarea>");function y(i,a){n(a,!0);let s=r(a,"ref",15,null),o=r(a,"value",15),d=r(a,"data-slot",3,"textarea"),l=m(a,["$$slots","$$events","$$legacy","ref","value","class","data-slot"]);var e=h();u(e),c(e,t=>({"data-slot":d(),class:t,...l}),[()=>p("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a.class)]),b(e,t=>s(t),()=>s()),v(e,o),f(i,e),x()}export{y as T};
1
+ import{p as n,g as r,H as u,E as c,F as b,I as v,b as f,d as x,r as m,m as g}from"./o6XZc-z-.js";import{c as p}from"./CHs_XKZT.js";var h=g("<textarea></textarea>");function y(i,a){n(a,!0);let s=r(a,"ref",15,null),o=r(a,"value",15),d=r(a,"data-slot",3,"textarea"),l=m(a,["$$slots","$$events","$$legacy","ref","value","class","data-slot"]);var e=h();u(e),c(e,t=>({"data-slot":d(),class:t,...l}),[()=>p("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a.class)]),b(e,t=>s(t),()=>s()),v(e,o),f(i,e),x()}export{y as T};
@@ -1 +1 @@
1
- import{p as y,g as a,c as C,f as i,h as c,V as J,s as V,i as W,a as Z,n as j,t as b,W as K,b as d,d as q,r as A,u as B,m as D,X as L,k as R,Y as M,Z as N}from"./o6XZc-z-.js";import{c as E}from"./Ce4tuixn.js";var O=D("<!> <!>",1);function $(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"orientation",3,"vertical"),l=A(r,["$$slots","$$events","$$legacy","ref","class","orientation","children"]);var f=C(),m=i(f);{let p=B(()=>E("flex touch-none p-px transition-colors select-none",t()==="vertical"&&"h-full w-2.5 border-s border-s-transparent",t()==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",r.class));c(m,()=>J,(u,S)=>{S(u,V({"data-slot":"scroll-area-scrollbar",get orientation(){return t()},get class(){return W(p)}},()=>l,{get ref(){return o()},set ref(n){o(n)},children:(n,P)=>{var v=O(),s=i(v);Z(s,()=>r.children??j);var k=b(s,2);c(k,()=>K,(_,g)=>{g(_,{"data-slot":"scroll-area-thumb",class:"bg-border relative flex-1 rounded-full"})}),d(n,v)},$$slots:{default:!0}}))})}d(h,f),q()}var Q=D("<!> <!> <!> <!>",1);function er(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"viewportRef",15,null),l=a(r,"orientation",3,"vertical"),f=a(r,"scrollbarXClasses",3,""),m=a(r,"scrollbarYClasses",3,""),p=A(r,["$$slots","$$events","$$legacy","ref","viewportRef","class","orientation","scrollbarXClasses","scrollbarYClasses","children"]);var u=C(),S=i(u);{let n=B(()=>E("relative",r.class));c(S,()=>N,(P,v)=>{v(P,V({"data-slot":"scroll-area",get class(){return W(n)}},()=>p,{get ref(){return o()},set ref(s){o(s)},children:(s,k)=>{var _=Q(),g=i(_);c(g,()=>L,(e,w)=>{w(e,{"data-slot":"scroll-area-viewport",class:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1",get ref(){return t()},set ref(x){t(x)},children:(x,T)=>{var Y=C(),I=i(Y);Z(I,()=>r.children??j),d(x,Y)},$$slots:{default:!0}})});var z=b(g,2);{var F=e=>{$(e,{orientation:"vertical",get class(){return m()}})};R(z,e=>{(l()==="vertical"||l()==="both")&&e(F)})}var X=b(z,2);{var G=e=>{$(e,{orientation:"horizontal",get class(){return f()}})};R(X,e=>{(l()==="horizontal"||l()==="both")&&e(G)})}var H=b(X,2);c(H,()=>M,(e,w)=>{w(e,{})}),d(s,_)},$$slots:{default:!0}}))})}d(h,u),q()}export{er as S,$ as a};
1
+ import{p as y,g as a,c as C,f as i,h as c,V as J,s as V,i as W,a as Z,n as j,t as b,W as K,b as d,d as q,r as A,u as B,m as D,X as L,k as R,Y as M,Z as N}from"./o6XZc-z-.js";import{c as E}from"./CHs_XKZT.js";var O=D("<!> <!>",1);function $(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"orientation",3,"vertical"),l=A(r,["$$slots","$$events","$$legacy","ref","class","orientation","children"]);var f=C(),m=i(f);{let p=B(()=>E("flex touch-none p-px transition-colors select-none",t()==="vertical"&&"h-full w-2.5 border-s border-s-transparent",t()==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent",r.class));c(m,()=>J,(u,S)=>{S(u,V({"data-slot":"scroll-area-scrollbar",get orientation(){return t()},get class(){return W(p)}},()=>l,{get ref(){return o()},set ref(n){o(n)},children:(n,P)=>{var v=O(),s=i(v);Z(s,()=>r.children??j);var k=b(s,2);c(k,()=>K,(_,g)=>{g(_,{"data-slot":"scroll-area-thumb",class:"bg-border relative flex-1 rounded-full"})}),d(n,v)},$$slots:{default:!0}}))})}d(h,f),q()}var Q=D("<!> <!> <!> <!>",1);function er(h,r){y(r,!0);let o=a(r,"ref",15,null),t=a(r,"viewportRef",15,null),l=a(r,"orientation",3,"vertical"),f=a(r,"scrollbarXClasses",3,""),m=a(r,"scrollbarYClasses",3,""),p=A(r,["$$slots","$$events","$$legacy","ref","viewportRef","class","orientation","scrollbarXClasses","scrollbarYClasses","children"]);var u=C(),S=i(u);{let n=B(()=>E("relative",r.class));c(S,()=>N,(P,v)=>{v(P,V({"data-slot":"scroll-area",get class(){return W(n)}},()=>p,{get ref(){return o()},set ref(s){o(s)},children:(s,k)=>{var _=Q(),g=i(_);c(g,()=>L,(e,w)=>{w(e,{"data-slot":"scroll-area-viewport",class:"ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:ring-4 focus-visible:outline-1",get ref(){return t()},set ref(x){t(x)},children:(x,T)=>{var Y=C(),I=i(Y);Z(I,()=>r.children??j),d(x,Y)},$$slots:{default:!0}})});var z=b(g,2);{var F=e=>{$(e,{orientation:"vertical",get class(){return m()}})};R(z,e=>{(l()==="vertical"||l()==="both")&&e(F)})}var X=b(z,2);{var G=e=>{$(e,{orientation:"horizontal",get class(){return f()}})};R(X,e=>{(l()==="horizontal"||l()==="both")&&e(G)})}var H=b(X,2);c(H,()=>M,(e,w)=>{w(e,{})}),d(s,_)},$$slots:{default:!0}}))})}d(h,u),q()}export{er as S,$ as a};
@@ -1,4 +1,4 @@
1
- import{p as et,s as Ht,c as ue,f as h,a as Ft,n as Wt,b as a,d as tt,r as Ut,g as kt,j as l,l as s,t as r,k as A,i as e,y as k,B as Dt,D as yt,z as f,O as We,u as B,m as i,P as ft,A as Me,aa as Et,Q as $t,h as p,w as m,x as I,v,o as oe,U as qt,F as Vt,a3 as wt,K as Pt,e as Gt,N as Qt,q as Zt}from"./o6XZc-z-.js";import{I as Jt,$ as It,a0 as Nt,a1 as Lt,a2 as Ot,B as ot,a3 as Mt,l as Xt,aG as Yt,a6 as ea,aH as zt,aI as ta,aJ as Ct,o as aa,aK as St,aL as sa,aM as xe,aN as ra,aO as jt,aP as Tt,aQ as na}from"./Ce4tuixn.js";import{S as la}from"./C_aF0KK8.js";import{B as _t}from"./DX4fx6Rv.js";import{S as oa,a as ia}from"./CpSsOVAX.js";import{C as da,a as va}from"./T4kP41Vd.js";import{P as ca}from"./Crv8WuKe.js";import{T as ua}from"./ljkXGEJr.js";import{I as bt}from"./p0Lh_vKZ.js";import{L as Ye}from"./CuD9gj_L.js";import{c as ct,S as ut,a as gt,b as Oe}from"./D7xeaPP3.js";import{T as ga}from"./BpSdZAZV.js";import{P as _a}from"./CdakCIDP.js";import{Z as fa}from"./fwD-Qc-P.js";function At(ke,t){et(t,!0);let N=Ut(t,["$$slots","$$events","$$legacy"]);const y=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Jt(ke,Ht({name:"play"},()=>N,{get iconNode(){return y},children:(H,D)=>{var T=ue(),L=h(T);Ft(L,()=>t.children??Wt),a(H,T)},$$slots:{default:!0}})),tt()}var xa=i("<span> </span>"),ma=i('<span class="task-status-running svelte-1lta2hw">running</span>'),pa=i("<span> </span>"),ha=i('<span class="task-status-failed svelte-1lta2hw"> </span>'),ba=i('<div tabindex="0" role="button"><div class="task-top svelte-1lta2hw"><span class="task-name svelte-1lta2hw"> </span> <span class="task-harness svelte-1lta2hw"> </span></div> <div class="task-meta svelte-1lta2hw"><span> </span> <!></div> <div class="task-actions svelte-1lta2hw"><div><!></div> <button class="trigger-btn svelte-1lta2hw"><!></button></div></div>');function Rt(ke,t){et(t,!0);let N=kt(t,"isSelected",3,!1);function y(n){if(!n)return"--";const o=new Date(n).getTime()-Date.now(),C=Math.abs(o);if(C<6e4)return o>0?"< 1m":"just now";if(C<36e5){const he=Math.round(C/6e4);return o>0?`${he}m`:`${he}m ago`}if(C<864e5){const he=Math.round(C/36e5);return o>0?`${he}h`:`${he}h ago`}const pe=Math.round(C/864e5);return o>0?`${pe}d`:`${pe}d ago`}const H=B(()=>t.task.harness==="claude-code"?"claude":t.task.harness==="codex"?"codex":"opencode"),D=B(()=>y(t.task.next_run_at)),T=B(()=>y(t.task.last_run_at));var L=ba();let R;var ae=l(L),E=l(ae),se=l(E,!0);s(E);var ie=r(E,2),ge=l(ie,!0);s(ie),s(ae);var O=r(ae,2),M=l(O),c=l(M,!0);s(M);var $=r(M,2);{var re=n=>{var o=xa(),C=l(o);s(o),k(()=>f(C,`next: ${e(D)??""}`)),a(n,o)},_e=n=>{var o=ma();a(n,o)},me=n=>{var o=pa(),C=l(o);s(o),k(()=>f(C,`exit 0 · ${e(T)??""}`)),a(n,o)},Z=n=>{var o=ha(),C=l(o);s(o),k(()=>f(C,`exit ${t.task.last_run_exit_code??"?"??""} · ${e(T)??""}`)),a(n,o)};A($,n=>{t.columnKey==="scheduled"?n(re):t.columnKey==="running"?n(_e,1):t.columnKey==="completed"?n(me,2):t.columnKey==="failed"&&n(Z,3)})}s(O);var b=r(O,2),w=l(b),J=l(w);{let n=B(()=>!!t.task.enabled);la(J,{get checked(){return e(n)},onCheckedChange:o=>t.ontoggle(o===!0),class:"scale-75 origin-left"})}s(w);var F=r(w,2),u=l(F);At(u,{class:"size-3"}),s(F),s(b),s(L),k(()=>{R=Dt(L,1,"task-card svelte-1lta2hw",null,R,{"task-card--selected":N(),"task-card--disabled":!t.task.enabled}),yt(L,"data-task-id",t.task.id),yt(L,"data-column",t.columnKey),f(se,t.task.name),f(ge,e(H)),f(c,t.task.cron_expression)}),We("click",L,function(...n){t.onclick?.apply(this,n)}),We("keydown",L,n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t.onclick())}),We("click",w,n=>n.stopPropagation()),We("click",F,n=>{n.stopPropagation(),t.ontrigger()}),a(ke,L),tt()}ft(["click","keydown"]);var ka=i('<div class="empty-state svelte-10pk3oi">LOADING</div>'),ya=i('<div class="empty-state svelte-10pk3oi"><span>NO SCHEDULED TASKS</span> <span class="empty-hint svelte-10pk3oi">PRESS N TO CREATE ONE</span></div>'),wa=i('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),Pa=i('<div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi"></span> <span class="column-label svelte-10pk3oi"> </span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="column-body svelte-10pk3oi"><!> <!></div></div>'),Ca=i('<div class="disabled-section svelte-10pk3oi"><div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi" style="background: var(--sig-text-muted)"></span> <span class="column-label svelte-10pk3oi">Disabled</span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="disabled-cards svelte-10pk3oi"></div></div></div>'),Sa=i('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function ja(ke,t){et(t,!0);let N=kt(t,"selectedColumn",3,0),y=kt(t,"selectedTaskInColumn",3,0);const H=B(()=>t.tasks.filter(c=>c.enabled&&c.last_run_status!=="running")),D=B(()=>t.tasks.filter(c=>c.last_run_status==="running")),T=B(()=>t.tasks.filter(c=>c.last_run_status==="completed"&&!e(D).some($=>$.id===c.id))),L=B(()=>t.tasks.filter(c=>c.last_run_status==="failed"&&!e(D).some($=>$.id===c.id))),R=B(()=>t.tasks.filter(c=>!c.enabled)),ae=[{key:"scheduled",label:"Scheduled",color:"var(--sig-highlight)"},{key:"running",label:"Running",color:"var(--sig-warning)"},{key:"completed",label:"Completed",color:"var(--sig-success)"},{key:"failed",label:"Failed",color:"var(--sig-danger)"}];function E(c){switch(c){case"scheduled":return e(H);case"running":return e(D);case"completed":return e(T);case"failed":return e(L);default:return[]}}var se=ue(),ie=h(se);{var ge=c=>{var $=ka();a(c,$)},O=c=>{var $=ya();a(c,$)},M=c=>{var $=Sa(),re=h($);Me(re,23,()=>ae,Z=>Z.key,(Z,b,w)=>{const J=B(()=>E(e(b).key));var F=Pa(),u=l(F),n=l(u),o=r(n,2),C=l(o,!0);s(o);var pe=r(o,2),he=l(pe,!0);s(pe),s(u);var Ie=r(u,2),Ne=l(Ie);Me(Ne,19,()=>e(J),fe=>fe.id,(fe,ye,K)=>{{let X=B(()=>e(w)===N()&&e(K)===y());Rt(fe,{get task(){return e(ye)},get columnKey(){return e(b).key},get isSelected(){return e(X)},onclick:()=>t.onopendetail(e(ye).id,e(w),e(K)),ontrigger:()=>t.ontrigger(e(ye).id),ontoggle:be=>t.ontoggle(e(ye).id,be)})}});var ze=r(Ne,2);{var Ae=fe=>{var ye=wa();a(fe,ye)};A(ze,fe=>{e(J).length===0&&fe(Ae)})}s(Ie),s(F),k(()=>{yt(F,"data-column-idx",e(w)),Et(n,`background: ${e(b).color??""}`),f(C,e(b).label),f(he,e(J).length)}),a(Z,F)}),s(re);var _e=r(re,2);{var me=Z=>{var b=Ca(),w=l(b),J=l(w),F=r(l(J),4),u=l(F,!0);s(F),s(J);var n=r(J,2);Me(n,21,()=>e(R),o=>o.id,(o,C)=>{Rt(o,{get task(){return e(C)},columnKey:"disabled",isSelected:!1,onclick:()=>t.onopendetail(e(C).id,-1,-1),ontrigger:()=>t.ontrigger(e(C).id),ontoggle:pe=>t.ontoggle(e(C).id,pe)})}),s(n),s(w),s(b),k(()=>f(u,e(R).length)),a(Z,b)};A(_e,Z=>{e(R).length>0&&Z(me)})}a(c,$)};A(ie,c=>{t.loading&&t.tasks.length===0?c(ge):t.tasks.length===0?c(O,1):c(M,-1)})}a(ke,se),tt()}var Ta=i('<span class="text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"> </span>'),Ra=i('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Da=i('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Ea=i('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),$a=i('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),Ia=i(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
1
+ import{p as et,s as Ht,c as ue,f as h,a as Ft,n as Wt,b as a,d as tt,r as Ut,g as kt,j as l,l as s,t as r,k as A,i as e,y as k,B as Dt,D as yt,z as f,O as We,u as B,m as i,P as ft,A as Me,aa as Et,Q as $t,h as p,w as m,x as I,v,o as oe,U as qt,F as Vt,a3 as wt,K as Pt,e as Gt,N as Qt,q as Zt}from"./o6XZc-z-.js";import{I as Jt,$ as It,a0 as Nt,a1 as Lt,a2 as Ot,B as ot,a3 as Mt,l as Xt,aG as Yt,a6 as ea,aH as zt,aI as ta,aJ as Ct,o as aa,aK as St,aL as sa,aM as xe,aN as ra,aO as jt,aP as Tt,aQ as na}from"./CHs_XKZT.js";import{S as la}from"./72fwnyg_.js";import{B as _t}from"./D08NO2-o.js";import{S as oa,a as ia}from"./BO6ANpMV.js";import{C as da,a as va}from"./DwB2zEy5.js";import{P as ca}from"./Ciz_g-y6.js";import{T as ua}from"./CroWbnUo.js";import{I as bt}from"./DsNAdZFa.js";import{L as Ye}from"./DkIYazcS.js";import{c as ct,S as ut,a as gt,b as Oe}from"./BXUCXMeO.js";import{T as ga}from"./BFNEp1XR.js";import{P as _a}from"./EfoKJl07.js";import{Z as fa}from"./DRnfTD4J.js";function At(ke,t){et(t,!0);let N=Ut(t,["$$slots","$$events","$$legacy"]);const y=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"}]];Jt(ke,Ht({name:"play"},()=>N,{get iconNode(){return y},children:(H,D)=>{var T=ue(),L=h(T);Ft(L,()=>t.children??Wt),a(H,T)},$$slots:{default:!0}})),tt()}var xa=i("<span> </span>"),ma=i('<span class="task-status-running svelte-1lta2hw">running</span>'),pa=i("<span> </span>"),ha=i('<span class="task-status-failed svelte-1lta2hw"> </span>'),ba=i('<div tabindex="0" role="button"><div class="task-top svelte-1lta2hw"><span class="task-name svelte-1lta2hw"> </span> <span class="task-harness svelte-1lta2hw"> </span></div> <div class="task-meta svelte-1lta2hw"><span> </span> <!></div> <div class="task-actions svelte-1lta2hw"><div><!></div> <button class="trigger-btn svelte-1lta2hw"><!></button></div></div>');function Rt(ke,t){et(t,!0);let N=kt(t,"isSelected",3,!1);function y(n){if(!n)return"--";const o=new Date(n).getTime()-Date.now(),C=Math.abs(o);if(C<6e4)return o>0?"< 1m":"just now";if(C<36e5){const he=Math.round(C/6e4);return o>0?`${he}m`:`${he}m ago`}if(C<864e5){const he=Math.round(C/36e5);return o>0?`${he}h`:`${he}h ago`}const pe=Math.round(C/864e5);return o>0?`${pe}d`:`${pe}d ago`}const H=B(()=>t.task.harness==="claude-code"?"claude":t.task.harness==="codex"?"codex":"opencode"),D=B(()=>y(t.task.next_run_at)),T=B(()=>y(t.task.last_run_at));var L=ba();let R;var ae=l(L),E=l(ae),se=l(E,!0);s(E);var ie=r(E,2),ge=l(ie,!0);s(ie),s(ae);var O=r(ae,2),M=l(O),c=l(M,!0);s(M);var $=r(M,2);{var re=n=>{var o=xa(),C=l(o);s(o),k(()=>f(C,`next: ${e(D)??""}`)),a(n,o)},_e=n=>{var o=ma();a(n,o)},me=n=>{var o=pa(),C=l(o);s(o),k(()=>f(C,`exit 0 · ${e(T)??""}`)),a(n,o)},Z=n=>{var o=ha(),C=l(o);s(o),k(()=>f(C,`exit ${t.task.last_run_exit_code??"?"??""} · ${e(T)??""}`)),a(n,o)};A($,n=>{t.columnKey==="scheduled"?n(re):t.columnKey==="running"?n(_e,1):t.columnKey==="completed"?n(me,2):t.columnKey==="failed"&&n(Z,3)})}s(O);var b=r(O,2),w=l(b),J=l(w);{let n=B(()=>!!t.task.enabled);la(J,{get checked(){return e(n)},onCheckedChange:o=>t.ontoggle(o===!0),class:"scale-75 origin-left"})}s(w);var F=r(w,2),u=l(F);At(u,{class:"size-3"}),s(F),s(b),s(L),k(()=>{R=Dt(L,1,"task-card svelte-1lta2hw",null,R,{"task-card--selected":N(),"task-card--disabled":!t.task.enabled}),yt(L,"data-task-id",t.task.id),yt(L,"data-column",t.columnKey),f(se,t.task.name),f(ge,e(H)),f(c,t.task.cron_expression)}),We("click",L,function(...n){t.onclick?.apply(this,n)}),We("keydown",L,n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t.onclick())}),We("click",w,n=>n.stopPropagation()),We("click",F,n=>{n.stopPropagation(),t.ontrigger()}),a(ke,L),tt()}ft(["click","keydown"]);var ka=i('<div class="empty-state svelte-10pk3oi">LOADING</div>'),ya=i('<div class="empty-state svelte-10pk3oi"><span>NO SCHEDULED TASKS</span> <span class="empty-hint svelte-10pk3oi">PRESS N TO CREATE ONE</span></div>'),wa=i('<div class="column-empty svelte-10pk3oi">NO TASKS</div>'),Pa=i('<div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi"></span> <span class="column-label svelte-10pk3oi"> </span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="column-body svelte-10pk3oi"><!> <!></div></div>'),Ca=i('<div class="disabled-section svelte-10pk3oi"><div class="column svelte-10pk3oi"><div class="column-header svelte-10pk3oi"><span class="column-pip svelte-10pk3oi" style="background: var(--sig-text-muted)"></span> <span class="column-label svelte-10pk3oi">Disabled</span> <span class="column-count svelte-10pk3oi"> </span></div> <div class="disabled-cards svelte-10pk3oi"></div></div></div>'),Sa=i('<div class="board-grid svelte-10pk3oi"></div> <!>',1);function ja(ke,t){et(t,!0);let N=kt(t,"selectedColumn",3,0),y=kt(t,"selectedTaskInColumn",3,0);const H=B(()=>t.tasks.filter(c=>c.enabled&&c.last_run_status!=="running")),D=B(()=>t.tasks.filter(c=>c.last_run_status==="running")),T=B(()=>t.tasks.filter(c=>c.last_run_status==="completed"&&!e(D).some($=>$.id===c.id))),L=B(()=>t.tasks.filter(c=>c.last_run_status==="failed"&&!e(D).some($=>$.id===c.id))),R=B(()=>t.tasks.filter(c=>!c.enabled)),ae=[{key:"scheduled",label:"Scheduled",color:"var(--sig-highlight)"},{key:"running",label:"Running",color:"var(--sig-warning)"},{key:"completed",label:"Completed",color:"var(--sig-success)"},{key:"failed",label:"Failed",color:"var(--sig-danger)"}];function E(c){switch(c){case"scheduled":return e(H);case"running":return e(D);case"completed":return e(T);case"failed":return e(L);default:return[]}}var se=ue(),ie=h(se);{var ge=c=>{var $=ka();a(c,$)},O=c=>{var $=ya();a(c,$)},M=c=>{var $=Sa(),re=h($);Me(re,23,()=>ae,Z=>Z.key,(Z,b,w)=>{const J=B(()=>E(e(b).key));var F=Pa(),u=l(F),n=l(u),o=r(n,2),C=l(o,!0);s(o);var pe=r(o,2),he=l(pe,!0);s(pe),s(u);var Ie=r(u,2),Ne=l(Ie);Me(Ne,19,()=>e(J),fe=>fe.id,(fe,ye,K)=>{{let X=B(()=>e(w)===N()&&e(K)===y());Rt(fe,{get task(){return e(ye)},get columnKey(){return e(b).key},get isSelected(){return e(X)},onclick:()=>t.onopendetail(e(ye).id,e(w),e(K)),ontrigger:()=>t.ontrigger(e(ye).id),ontoggle:be=>t.ontoggle(e(ye).id,be)})}});var ze=r(Ne,2);{var Ae=fe=>{var ye=wa();a(fe,ye)};A(ze,fe=>{e(J).length===0&&fe(Ae)})}s(Ie),s(F),k(()=>{yt(F,"data-column-idx",e(w)),Et(n,`background: ${e(b).color??""}`),f(C,e(b).label),f(he,e(J).length)}),a(Z,F)}),s(re);var _e=r(re,2);{var me=Z=>{var b=Ca(),w=l(b),J=l(w),F=r(l(J),4),u=l(F,!0);s(F),s(J);var n=r(J,2);Me(n,21,()=>e(R),o=>o.id,(o,C)=>{Rt(o,{get task(){return e(C)},columnKey:"disabled",isSelected:!1,onclick:()=>t.onopendetail(e(C).id,-1,-1),ontrigger:()=>t.ontrigger(e(C).id),ontoggle:pe=>t.ontoggle(e(C).id,pe)})}),s(n),s(w),s(b),k(()=>f(u,e(R).length)),a(Z,b)};A(_e,Z=>{e(R).length>0&&Z(me)})}a(c,$)};A(ie,c=>{t.loading&&t.tasks.length===0?c(ge):t.tasks.length===0?c(O,1):c(M,-1)})}a(ke,se),tt()}var Ta=i('<span class="text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"> </span>'),Ra=i('<span class="text-[10px] text-[var(--sig-text-muted)] mt-2 block">No output captured</span>'),Da=i('<div class="text-[var(--sig-error,#ef4444)] mb-1"> </div>'),Ea=i('<div class="whitespace-pre-wrap break-words min-h-[1em] text-[var(--sig-warning,#e8a832)]"></div>'),$a=i('<div class="whitespace-pre-wrap break-words min-h-[1em]"></div>'),Ia=i(`<div class="mt-2 bg-[var(--sig-bg)] border border-[var(--sig-border)]
2
2
  rounded max-h-[280px] overflow-y-auto
3
3
  font-[family-name:var(--font-mono)] text-[10px] leading-[1.55]
4
4
  text-[var(--sig-text)] p-2.5" role="log"><!> <!> <!></div>`),Na=i('<span class="text-[10px] text-[var(--sig-accent)] mt-0.5 block">Click to expand output</span>'),La=i('<div class="flex items-center justify-between gap-2"><div class="flex items-center gap-2"><span class="inline-block w-1.5 h-1.5"></span> <!> <!></div> <span class="text-[10px] font-[family-name:var(--font-mono)] text-[var(--sig-text-muted)]"> </span></div> <div class="text-[10px] text-[var(--sig-text-muted)] font-[family-name:var(--font-mono)]"> </div> <!>',1),Oa=i('<button class="w-full text-left cursor-pointer bg-transparent border-none p-0"><!></button>');function Ma(ke,t){et(t,!0);let N=oe(!1),y=oe(void 0);function H(O){return O?new Date(O).toLocaleString():"—"}function D(O,M){if(!M)return"running...";const c=new Date(M).getTime()-new Date(O).getTime();if(c<1e3)return`${c}ms`;if(c<6e4)return`${(c/1e3).toFixed(1)}s`;const $=Math.floor(c/6e4),re=Math.round(c%6e4/1e3);return`${$}m ${re}s`}const T={pending:"var(--sig-text-muted)",running:"var(--sig-warning, #f59e0b)",completed:"var(--sig-success)",failed:"var(--sig-error, #ef4444)"};function L(O){return O.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const R={31:"var(--sig-error, #ef4444)",32:"var(--sig-success)",33:"var(--sig-warning, #e8a832)",90:"var(--sig-text-muted)",36:"var(--sig-accent)",34:"var(--sig-highlight)",35:"var(--sig-accent)"};function ae(O){let M=L(O);return M=M.replace(/\x1b\[(\d+(?:;\d+)*)m([\s\S]*?)\x1b\[0m/g,(c,$,re)=>{const _e=$.split(";"),me=_e.includes("1"),Z=_e.map(w=>R[w]).find(Boolean);let b=re;return Z&&(b=`<span style="color:${Z}">${b}</span>`),me&&(b=`<strong>${b}</strong>`),b}),M.replace(/\x1b\[\d+(?:;\d+)*m/g,"")}function E(O){return O?O.split(`
@@ -1,4 +1,4 @@
1
- import{p as Wt,g as Ct,o as B,e as aa,Q as Jt,v as i,c as yt,f as I,h as y,j as l,l as r,t,k as C,y as m,z as d,b as a,i as e,w as z,x as D,B as zt,O as ct,d as Yt,u,D as Y,A as Lt,m as v,P as ia,aL as Wa,aM as Ya,K as Xt,q as Pa,ag as wa,aa as $a,aN as pr,s as ja,r as Ba,aO as _r,aP as yr,as as Qa,ac as ma,ad as Fa,N as _a,at as Ma,a3 as hr,$ as lr,aQ as br,I as xr,ak as ka}from"./o6XZc-z-.js";import{i as wr,m as T,e as La,a as Aa,r as Ta,h as kr,j as Ca,g as Na,d as $r,b as Ea,k as Sr,c as Pr,s as c,l as sr,n as ir,o as nr,p as Cr,q as Da,f as da,t as pa,u as Ir,v as Za,w as Rr,x as Mr,y as Ia,z as Lr,A as Ar,B as Tr}from"./ckxtyN-y.js";import{a_ as Ua,$ as qa,B as pt,a3 as Oa,t as Ut,a$ as or,b0 as Nr,af as Er,b1 as Dr,aS as zr,c as Va,b2 as jr,b3 as Br,b4 as Fr,n as Ur,ai as Ra}from"./Ce4tuixn.js";import{b as ya,C as ha,a as ba}from"./BVExryab.js";import{I as Gt}from"./p0Lh_vKZ.js";import{c as ra,S as la,a as sa,b as rt}from"./D7xeaPP3.js";import{T as Ka}from"./BpSdZAZV.js";import{C as xa}from"./QviE-p9D.js";import{L as na}from"./CuD9gj_L.js";import{B as ga}from"./DX4fx6Rv.js";import{g as qr}from"./Cik1Y8bQ.js";var Or=v('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),Vr=v('<span class="detail-rank svelte-4mjdk4"> </span>'),Kr=v('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),Hr=v('<div class="detail-action svelte-4mjdk4"><!></div>'),Gr=v('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),Wr=v("<span>Signet Reviews</span> <!>",1),Yr=v("<!> <!> <!> <!> <!>",1),Qr=v("<!> <!>",1),Zr=v('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),Xr=v('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),Jr=v('<article class="review-item svelte-4mjdk4"><div class="review-title svelte-4mjdk4"> </div> <div class="review-meta svelte-4mjdk4"> </div> <p class="review-body svelte-4mjdk4"> </p></article>'),el=v('<div class="review-list svelte-4mjdk4"></div>'),tl=v('<div class="reviews-content svelte-4mjdk4"><div class="review-form svelte-4mjdk4"><!> <div class="review-row svelte-4mjdk4"><!> <!></div> <!> <div class="review-actions svelte-4mjdk4"><span class="review-gate svelte-4mjdk4">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-4mjdk4"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),al=v("<!> <!>",1),rl=v('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),ll=v('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),sl=v('<div class="detail-header svelte-4mjdk4"><div class="detail-title-wrap svelte-4mjdk4"><h2 class="detail-title svelte-4mjdk4"> </h2> <!></div> <!></div> <div class="detail-body svelte-4mjdk4"><!></div>',1);function il(f,s){Wt(s,!0);const p="signet:marketplace:reviews:display-name";let j=Ct(s,"canInstall",3,!0),F=Ct(s,"installBusy",3,!1),se=Ct(s,"removeBusy",3,!1),L=B("top"),V=B(!1),H=B(aa([])),ee=B(!0),Ne=B(aa(fe())),ke=B(5),me=B(""),Se=B(""),G=B(!1);const N=u(()=>`${e(ke)}/5`),ie=u(()=>{const U=[...e(H)];return e(L)==="top"?U.sort((te,Pe)=>Pe.rating===te.rating?Pe.updatedAt.localeCompare(te.updatedAt):Pe.rating-te.rating):e(L)==="good"?U.filter(te=>te.rating>=4).sort((te,Pe)=>Pe.updatedAt.localeCompare(te.updatedAt)):e(L)==="bad"?U.filter(te=>te.rating<=2).sort((te,Pe)=>Pe.updatedAt.localeCompare(te.updatedAt)):U.sort((te,Pe)=>Pe.updatedAt.localeCompare(te.updatedAt))});Jt(()=>{if(!s.open||!s.item?.targetId){i(H,[],!0);return}i(L,"top"),Ue(s.item.targetId)});function fe(){try{return localStorage.getItem(p)??""}catch{return""}}function Q(U){try{localStorage.setItem(p,U)}catch{}}function Fe(U){return U==="1"?1:U==="2"?2:U==="3"?3:U==="4"?4:5}async function Ue(U){i(V,!0);try{const te=await Ua({targetType:"mcp",targetId:U,limit:100});i(H,te.reviews,!0)}finally{i(V,!1)}}async function Je(){if(!s.item?.targetId)return;if(!s.canReview){Ut("Install or use this app before leaving a review.","error");return}const U=e(Ne).trim(),te=e(me).trim(),Pe=e(Se).trim();if(!U||!te||!Pe){Ut("Display name, title, and review are required","error");return}i(G,!0);try{const Ce=await or({targetType:"mcp",targetId:s.item.targetId,displayName:U,rating:e(ke),title:te,body:Pe});if(!Ce.success){Ut(Ce.error??"Failed to submit review","error");return}Q(U),i(me,""),i(Se,""),Ut("Review posted","success"),await Ue(s.item.targetId)}finally{i(G,!1)}}var pe=yt(),Ee=I(pe);y(Ee,()=>Oa,(U,te)=>{te(U,{get open(){return s.open},onOpenChange:Pe=>{Pe||s.onclose()},children:(Pe,Ce)=>{var _e=yt(),et=I(_e);y(et,()=>qa,(ht,wt)=>{wt(ht,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
1
+ import{p as Wt,g as Ct,o as B,e as aa,Q as Jt,v as i,c as yt,f as I,h as y,j as l,l as r,t,k as C,y as m,z as d,b as a,i as e,w as z,x as D,B as zt,O as ct,d as Yt,u,D as Y,A as Lt,m as v,P as ia,aL as Wa,aM as Ya,K as Xt,q as Pa,ag as wa,aa as $a,aN as pr,s as ja,r as Ba,aO as _r,aP as yr,as as Qa,ac as ma,ad as Fa,N as _a,at as Ma,a3 as hr,$ as lr,aQ as br,I as xr,ak as ka}from"./o6XZc-z-.js";import{i as wr,m as T,e as La,a as Aa,r as Ta,h as kr,j as Ca,g as Na,d as $r,b as Ea,k as Sr,c as Pr,s as c,l as sr,n as ir,o as nr,p as Cr,q as Da,f as da,t as pa,u as Ir,v as Za,w as Rr,x as Mr,y as Ia,z as Lr,A as Ar,B as Tr}from"./BrdDhQLE.js";import{a_ as Ua,$ as qa,B as pt,a3 as Oa,t as Ut,a$ as or,b0 as Nr,af as Er,b1 as Dr,aS as zr,c as Va,b2 as jr,b3 as Br,b4 as Fr,n as Ur,ai as Ra}from"./CHs_XKZT.js";import{b as ya,C as ha,a as ba}from"./BVExryab.js";import{I as Gt}from"./DsNAdZFa.js";import{c as ra,S as la,a as sa,b as rt}from"./BXUCXMeO.js";import{T as Ka}from"./BFNEp1XR.js";import{C as xa}from"./DRdrRG6W.js";import{L as na}from"./DkIYazcS.js";import{B as ga}from"./D08NO2-o.js";import{g as qr}from"./Cik1Y8bQ.js";var Or=v('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),Vr=v('<span class="detail-rank svelte-4mjdk4"> </span>'),Kr=v('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),Hr=v('<div class="detail-action svelte-4mjdk4"><!></div>'),Gr=v('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),Wr=v("<span>Signet Reviews</span> <!>",1),Yr=v("<!> <!> <!> <!> <!>",1),Qr=v("<!> <!>",1),Zr=v('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),Xr=v('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),Jr=v('<article class="review-item svelte-4mjdk4"><div class="review-title svelte-4mjdk4"> </div> <div class="review-meta svelte-4mjdk4"> </div> <p class="review-body svelte-4mjdk4"> </p></article>'),el=v('<div class="review-list svelte-4mjdk4"></div>'),tl=v('<div class="reviews-content svelte-4mjdk4"><div class="review-form svelte-4mjdk4"><!> <div class="review-row svelte-4mjdk4"><!> <!></div> <!> <div class="review-actions svelte-4mjdk4"><span class="review-gate svelte-4mjdk4">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-4mjdk4"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),al=v("<!> <!>",1),rl=v('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),ll=v('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),sl=v('<div class="detail-header svelte-4mjdk4"><div class="detail-title-wrap svelte-4mjdk4"><h2 class="detail-title svelte-4mjdk4"> </h2> <!></div> <!></div> <div class="detail-body svelte-4mjdk4"><!></div>',1);function il(f,s){Wt(s,!0);const p="signet:marketplace:reviews:display-name";let j=Ct(s,"canInstall",3,!0),F=Ct(s,"installBusy",3,!1),se=Ct(s,"removeBusy",3,!1),L=B("top"),V=B(!1),H=B(aa([])),ee=B(!0),Ne=B(aa(fe())),ke=B(5),me=B(""),Se=B(""),G=B(!1);const N=u(()=>`${e(ke)}/5`),ie=u(()=>{const U=[...e(H)];return e(L)==="top"?U.sort((te,Pe)=>Pe.rating===te.rating?Pe.updatedAt.localeCompare(te.updatedAt):Pe.rating-te.rating):e(L)==="good"?U.filter(te=>te.rating>=4).sort((te,Pe)=>Pe.updatedAt.localeCompare(te.updatedAt)):e(L)==="bad"?U.filter(te=>te.rating<=2).sort((te,Pe)=>Pe.updatedAt.localeCompare(te.updatedAt)):U.sort((te,Pe)=>Pe.updatedAt.localeCompare(te.updatedAt))});Jt(()=>{if(!s.open||!s.item?.targetId){i(H,[],!0);return}i(L,"top"),Ue(s.item.targetId)});function fe(){try{return localStorage.getItem(p)??""}catch{return""}}function Q(U){try{localStorage.setItem(p,U)}catch{}}function Fe(U){return U==="1"?1:U==="2"?2:U==="3"?3:U==="4"?4:5}async function Ue(U){i(V,!0);try{const te=await Ua({targetType:"mcp",targetId:U,limit:100});i(H,te.reviews,!0)}finally{i(V,!1)}}async function Je(){if(!s.item?.targetId)return;if(!s.canReview){Ut("Install or use this app before leaving a review.","error");return}const U=e(Ne).trim(),te=e(me).trim(),Pe=e(Se).trim();if(!U||!te||!Pe){Ut("Display name, title, and review are required","error");return}i(G,!0);try{const Ce=await or({targetType:"mcp",targetId:s.item.targetId,displayName:U,rating:e(ke),title:te,body:Pe});if(!Ce.success){Ut(Ce.error??"Failed to submit review","error");return}Q(U),i(me,""),i(Se,""),Ut("Review posted","success"),await Ue(s.item.targetId)}finally{i(G,!1)}}var pe=yt(),Ee=I(pe);y(Ee,()=>Oa,(U,te)=>{te(U,{get open(){return s.open},onOpenChange:Pe=>{Pe||s.onclose()},children:(Pe,Ce)=>{var _e=yt(),et=I(_e);y(et,()=>qa,(ht,wt)=>{wt(ht,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
2
2
  !border-l !border-l-[var(--sig-border)] !p-0 flex flex-col`,children:(g,R)=>{var qe=sl(),ot=I(qe),St=l(ot),it=l(St),Oe=l(it,!0);r(it);var ut=t(it,2);{var At=E=>{var ye=Kr(),ce=l(ye),Qe=l(ce,!0);r(ce);var De=t(ce,2),Re=l(De,!0);r(De);var Ie=t(De,2);{var ue=S=>{var ne=Or();a(S,ne)};C(Ie,S=>{s.item.official&&S(ue)})}var tt=t(Ie,2);{var _=S=>{var ne=Vr(),o=l(ne);r(ne),m(()=>d(o,`#${s.item.popularityRank??""}`)),a(S,ne)};C(tt,S=>{s.item.popularityRank!==null&&S(_)})}r(ye),m(()=>{d(Qe,s.item.sourceLabel),d(Re,s.item.category)}),a(E,ye)};C(ut,E=>{s.item&&E(At)})}r(St);var Tt=t(St,2);{var Mt=E=>{var ye=Hr(),ce=l(ye);{var Qe=Ie=>{pt(Ie,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-danger)] text-[var(--sig-danger)] hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)]",onclick:()=>s.item.serverId&&s.onuninstall?.(s.item.serverId),get disabled(){return se()},children:(ue,tt)=>{z();var _=D();m(()=>d(_,se()?"...":"Remove")),a(ue,_)},$$slots:{default:!0}})},De=Ie=>{pt(Ie,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] hover:bg-[var(--sig-text-bright)] hover:text-[var(--sig-bg)]",onclick:()=>s.item.catalogEntry&&s.oninstall?.(s.item.catalogEntry),get disabled(){return F()},children:(ue,tt)=>{z();var _=D();m(()=>d(_,F()?"...":"Install")),a(ue,_)},$$slots:{default:!0}})},Re=Ie=>{pt(Ie,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-border-strong)] text-[var(--sig-text-muted)]",disabled:!0,title:"MCP installs are temporarily disabled",children:(ue,tt)=>{z();var _=D("Install disabled");a(ue,_)},$$slots:{default:!0}})};C(ce,Ie=>{s.item.serverId?Ie(Qe):s.item.catalogEntry&&j()?Ie(De,1):s.item.catalogEntry&&Ie(Re,2)})}r(ye),a(E,ye)};C(Tt,E=>{s.item&&E(Mt)})}r(ot);var $e=t(ot,2),Z=l($e);{var h=E=>{var ye=rl(),ce=I(ye),Qe=l(ce,!0);r(ce);var De=t(ce,2);{var Re=ue=>{var tt=Gr();m(()=>Y(tt,"href",s.item.sourceUrl)),a(ue,tt)};C(De,ue=>{s.item.sourceUrl&&ue(Re)})}var Ie=t(De,2);y(Ie,()=>ya,(ue,tt)=>{tt(ue,{class:"reviews-section",get open(){return e(ee)},set open(_){i(ee,_,!0)},children:(_,S)=>{var ne=al(),o=I(ne);y(o,()=>ha,(oe,He)=>{He(oe,{class:"reviews-trigger",children:(ge,X)=>{var M=Wr(),ve=t(I(M),2);{let ze=u(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ee)?"rotate-180":""}`);xa(ve,{get class(){return e(ze)}})}a(ge,M)},$$slots:{default:!0}})});var $=t(o,2);y($,()=>ba,(oe,He)=>{He(oe,{children:(ge,X)=>{var M=tl(),ve=l(M),ze=l(ve);Gt(ze,{class:"review-input",placeholder:"Display name",get value(){return e(Ne)},oninput:w=>{i(Ne,w.currentTarget.value,!0)}});var gt=t(ze,2),Ve=l(gt);{let w=u(()=>String(e(ke)));y(Ve,()=>ra,(W,je)=>{je(W,{type:"single",get value(){return e(w)},onValueChange:Le=>{i(ke,Fe(Le??"5"),!0)},children:(Le,Ze)=>{var he=Qr(),J=I(he);y(J,()=>la,(vt,lt)=>{lt(vt,{class:"review-rating",children:(at,nt)=>{z();var P=D();m(()=>d(P,e(N))),a(at,P)},$$slots:{default:!0}})});var de=t(J,2);y(de,()=>sa,(vt,lt)=>{lt(vt,{class:"review-rating-content",children:(at,nt)=>{var P=Yr(),We=I(P);y(We,()=>rt,(_t,K)=>{K(_t,{value:"5",label:"5/5",class:"review-rating-item"})});var Ye=t(We,2);y(Ye,()=>rt,(_t,K)=>{K(_t,{value:"4",label:"4/5",class:"review-rating-item"})});var Dt=t(Ye,2);y(Dt,()=>rt,(_t,K)=>{K(_t,{value:"3",label:"3/5",class:"review-rating-item"})});var qt=t(Dt,2);y(qt,()=>rt,(_t,K)=>{K(_t,{value:"2",label:"2/5",class:"review-rating-item"})});var It=t(qt,2);y(It,()=>rt,(_t,K)=>{K(_t,{value:"1",label:"1/5",class:"review-rating-item"})}),a(at,P)},$$slots:{default:!0}})}),a(Le,he)},$$slots:{default:!0}})})}var kt=t(Ve,2);Gt(kt,{class:"review-input",placeholder:"Review title",get value(){return e(me)},oninput:w=>{i(me,w.currentTarget.value,!0)}}),r(gt);var bt=t(gt,2);Ka(bt,{class:"review-textarea",rows:3,placeholder:"What worked? What should improve?",get value(){return e(Se)},oninput:w=>{i(Se,w.currentTarget.value,!0)}});var be=t(bt,2),n=t(l(be),2);{let w=u(()=>e(G)||!s.canReview);pt(n,{variant:"outline",size:"sm",class:"review-submit",onclick:()=>{Je()},get disabled(){return e(w)},children:(W,je)=>{z();var Le=D();m(()=>d(Le,e(G)?"Posting...":"Post review")),a(W,Le)},$$slots:{default:!0}})}r(be),r(ve);var q=t(ve,2),ae=l(q);let x;var b=t(ae,2);let k;var O=t(b,2);let re;var Ge=t(O,2);let st;r(q);var ft=t(q,2);{var xe=w=>{var W=Zr();a(w,W)},Me=w=>{var W=Xr();a(w,W)},we=w=>{var W=el();Lt(W,21,()=>e(ie),je=>je.id,(je,Le)=>{var Ze=Jr(),he=l(Ze),J=l(he,!0);r(he);var de=t(he,2),vt=l(de);r(de);var lt=t(de,2),at=l(lt,!0);r(lt),r(Ze),m(()=>{d(J,e(Le).title),d(vt,`${e(Le).displayName??""} · ${e(Le).rating??""}/5`),d(at,e(Le).body)}),a(je,Ze)}),r(W),a(w,W)};C(ft,w=>{e(V)?w(xe):e(ie).length===0?w(Me,1):w(we,-1)})}r(M),m(()=>{x=zt(ae,1,"review-filter svelte-4mjdk4",null,x,{active:e(L)==="top"}),k=zt(b,1,"review-filter svelte-4mjdk4",null,k,{active:e(L)==="good"}),re=zt(O,1,"review-filter svelte-4mjdk4",null,re,{active:e(L)==="bad"}),st=zt(Ge,1,"review-filter svelte-4mjdk4",null,st,{active:e(L)==="all"})}),ct("click",ae,()=>i(L,"top")),ct("click",b,()=>i(L,"good")),ct("click",O,()=>i(L,"bad")),ct("click",Ge,()=>i(L,"all")),a(ge,M)},$$slots:{default:!0}})}),a(_,ne)},$$slots:{default:!0}})}),m(()=>d(Qe,s.item.description||"No description available.")),a(E,ye)},A=E=>{var ye=ll();a(E,ye)};C(Z,E=>{s.item?E(h):E(A,-1)})}r($e),m(()=>d(Oe,s.item?.name??"Tool Server")),a(g,qe)},$$slots:{default:!0}})}),a(Pe,_e)},$$slots:{default:!0}})}),a(f,pe),Yt()}ia(["click"]);var nl=v('<p class="sheet-subtitle svelte-1n2gzyy"> </p>'),ol=v('<p class="muted svelte-1n2gzyy">Select a server to configure.</p>'),vl=v('<p class="muted svelte-1n2gzyy">Loading recommended configuration...</p>'),cl=v('<a class="source-link svelte-1n2gzyy" target="_blank" rel="noopener">View source README</a>'),dl=v('<div class="inline-alert svelte-1n2gzyy"> </div>'),ul=v("<!> <!>",1),fl=v("<!> <!>",1),gl=v("<option> </option>"),ml=v('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),pl=v('<div class="inline-hint svelte-1n2gzyy">No secrets found. Add secrets in the Secrets tab to map sensitive values.</div>'),_l=v('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div> <!></div>',1),yl=v("<option> </option>"),hl=v('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),bl=v('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div></div>',1),xl=v('<div class="inline-alert svelte-1n2gzyy"> </div>'),wl=v('<div class="test-tools svelte-1n2gzyy"> </div>'),kl=v('<p class="server-description svelte-1n2gzyy"> </p> <!> <!> <div class="config-card svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-row two-col svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div></div> <!></div> <!> <div class="test-panel svelte-1n2gzyy"><div class="test-head svelte-1n2gzyy">Connection test</div> <p class="test-message svelte-1n2gzyy"> </p> <!></div>',1),$l=v('<div class="sheet-header svelte-1n2gzyy"><div><h2 class="sheet-title svelte-1n2gzyy">Install Tool Server</h2> <!></div></div> <div class="sheet-body svelte-1n2gzyy"><!></div> <div class="sheet-footer svelte-1n2gzyy"><div class="footer-hint svelte-1n2gzyy"><!></div> <div class="footer-actions svelte-1n2gzyy"><!> <!></div></div>',1);function Sl(f,s){Wt(s,!0);const p="secret://";let j=B(!1),F=B(null),se=B(""),L=B(""),V=B(""),H=B(!1),ee=B(""),Ne=B("stdio"),ke=B("20000"),me=B(""),Se=B(""),G=B(""),N=B(aa([])),ie=B(""),fe=B(aa([])),Q=B(aa([])),Fe=B(!1),Ue=B("idle"),Je=B(""),pe=B(aa([])),Ee=B(!1),U=B(null);const te=u(()=>e(Ne)==="http"?"http":"stdio"),Pe=u(()=>s.entry?s.entry.source==="modelcontextprotocol/servers"?"MCP GitHub":"MCP Registry":"");Jt(()=>{!s.open||!s.entry||e(se)!==s.entry.id&&(i(se,s.entry.id,!0),g(s.entry))}),Jt(()=>{s.open||(i(se,""),i(j,!1),i(F,null),i(Ue,"idle"),i(Je,""),i(pe,[],!0),i(U,null))});function Ce(h){return h.startsWith(p)?h.slice(p.length).trim():""}function _e(h,A){const E=Ce(A);return E?{key:h,value:"",secretName:E}:{key:h,value:A,secretName:""}}function et(h){return h.secretName.trim().length>0?`${p}${h.secretName.trim()}`:h.value}function ht(h){const A=Object.entries(h).map(([E,ye])=>_e(E,ye));return A.length>0?A:[{key:"",value:"",secretName:""}]}function wt(h){if(i(Ne,h.transport,!0),i(ke,String(h.timeoutMs),!0),h.transport==="stdio"){i(me,h.command,!0),i(Se,h.args.join(`
3
3
  `),!0),i(G,h.cwd??"",!0),i(N,ht(h.env),!0),i(ie,""),i(fe,[{key:"",value:"",secretName:""}],!0);return}i(ie,h.url,!0),i(fe,ht(h.headers),!0),i(me,""),i(Se,""),i(G,""),i(N,[{key:"",value:"",secretName:""}],!0)}async function g(h){i(j,!0),i(F,null),i(U,null),i(Ue,"idle"),i(Je,""),i(pe,[],!0),i(ee,h.name,!0),i(L,h.description,!0),i(V,""),i(H,!1),i(Ne,"stdio"),i(ke,"20000"),i(me,""),i(Se,""),i(G,""),i(N,[{key:"",value:"",secretName:""}],!0),i(ie,""),i(fe,[{key:"",value:"",secretName:""}],!0),i(Fe,!0);const[A,E]=await Promise.all([Nr(h.catalogId,h.source),Er()]);if(i(Q,E,!0),i(Fe,!1),!A){i(F,"Failed to load recommended config for this server."),i(j,!1);return}i(L,A.description||h.description,!0),i(V,A.githubUrl??"",!0),A.defaultConfig?(i(H,!0),wt(A.defaultConfig)):i(F,"No standard config was found. You can still set one manually below."),i(j,!1)}function R(h){const A={};for(const E of h){const ye=E.key.trim();if(ye.length===0)continue;const ce=et(E).trim();ce.length!==0&&(A[ye]=ce)}return A}function qe(){const h=Number(e(ke));if(!Number.isFinite(h)||h<=0)return{config:null,error:"Timeout must be a positive number."};if(e(Ne)==="stdio"){const E=e(me).trim();if(E.length===0)return{config:null,error:"Command is required for stdio transport."};const ye=e(Se).split(`
4
4
  `).map(ce=>ce.trim()).filter(ce=>ce.length>0);return{config:{transport:"stdio",command:E,args:ye,env:R(e(N)),cwd:e(G).trim()||void 0,timeoutMs:h}}}const A=e(ie).trim();if(A.length===0)return{config:null,error:"URL is required for HTTP transport."};try{new URL(A)}catch{return{config:null,error:"URL must be a valid absolute URL."}}return{config:{transport:"http",url:A,headers:R(e(fe)),timeoutMs:h}}}function ot(h){return h==="http"?"http":"stdio"}function St(h,A,E){const ye=h[A];ye&&(ye.value=E,E.trim().length>0&&(ye.secretName=""))}function it(){i(N,[...e(N),{key:"",value:"",secretName:""}],!0)}function Oe(h){i(N,e(N).filter((A,E)=>E!==h),!0),e(N).length===0&&i(N,[{key:"",value:"",secretName:""}],!0)}function ut(){i(fe,[...e(fe),{key:"",value:"",secretName:""}],!0)}function At(h){i(fe,e(fe).filter((A,E)=>E!==h),!0),e(fe).length===0&&i(fe,[{key:"",value:"",secretName:""}],!0)}async function Tt(){i(U,null),i(Ue,"running"),i(Je,"Testing MCP server connection..."),i(pe,[],!0);const h=qe();if(!h.config){i(Ue,"error"),i(Je,h.error??"Invalid config.",!0),i(U,h.error??"Invalid config.",!0);return}const A=await Dr({config:h.config});if(A.success){i(Ue,"success"),i(pe,A.tools??[],!0),i(Je,`Connection succeeded${typeof A.toolCount=="number"?` (${A.toolCount} tools)`:""}.`);return}i(Ue,"error"),i(Je,A.error??"Connection test failed.",!0)}async function Mt(){if(!s.entry)return;i(U,null);const h=qe();if(!h.config){i(U,h.error??"Invalid config.",!0);return}i(Ee,!0);const A=await wr(s.entry,{alias:e(ee).trim()||void 0,config:h.config});i(Ee,!1),A&&s.onclose()}var $e=yt(),Z=I($e);y(Z,()=>Oa,(h,A)=>{A(h,{get open(){return s.open},onOpenChange:E=>{E||s.onclose()},children:(E,ye)=>{var ce=yt(),Qe=I(ce);y(Qe,()=>qa,(De,Re)=>{Re(De,{side:"right",class:`!w-[560px] !max-w-[96vw] !bg-[var(--sig-surface)]
@@ -1 +1 @@
1
- import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./o6XZc-z-.js";import{I as $}from"./Ce4tuixn.js";function C(o,s){p(s,!0);let r=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"m9 18 6-6-6-6"}]];$(o,c({name:"chevron-right"},()=>r,{get iconNode(){return t},children:(a,g)=>{var e=i(),n=d(e);h(n,()=>s.children??l),m(a,e)},$$slots:{default:!0}})),f()}export{C};
1
+ import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./o6XZc-z-.js";import{I as $}from"./CHs_XKZT.js";function C(o,s){p(s,!0);let r=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"m9 18 6-6-6-6"}]];$(o,c({name:"chevron-right"},()=>r,{get iconNode(){return t},children:(a,g)=>{var e=i(),n=d(e);h(n,()=>s.children??l),m(a,e)},$$slots:{default:!0}})),f()}export{C};
@@ -1 +1 @@
1
- import{c as h,f as c,h as p,a6 as L,s as _,b as d,r as b,p as y,g as m,al as M,i as z,d as w,u as S,a as q,n as D,am as Q,an as R,t as N,ao as T,m as E,ap as U,j as V,k as G,l as W,x as X,y as Y,z as Z,aq as ee,ar as te}from"./o6XZc-z-.js";import{c as P,I as ae}from"./Ce4tuixn.js";import{C as H}from"./QviE-p9D.js";import{C as se}from"./CHxAYRFq.js";function re(o,e){let t=b(e,["$$slots","$$events","$$legacy"]);var r=h(),s=c(r);p(s,()=>L,(l,n)=>{n(l,_(()=>t))}),d(o,r)}function le(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>M,(u,i)=>{i(u,_({"data-slot":"select-scroll-down-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{H(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}function ne(o,e){y(e,!0);let t=b(e,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"m18 15-6-6-6 6"}]];ae(o,_({name:"chevron-up"},()=>t,{get iconNode(){return r},children:(s,l)=>{var n=h(),u=c(n);q(u,()=>e.children??D),d(s,n)},$$slots:{default:!0}})),w()}function oe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>Q,(u,i)=>{i(u,_({"data-slot":"select-scroll-up-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{ne(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}var ie=E("<!> <!> <!>",1);function he(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"sideOffset",3,4),s=m(e,"preventScroll",3,!0),l=b(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","portalProps","children","preventScroll"]);re(o,_(()=>e.portalProps,{children:(n,u)=>{var i=h(),a=c(i);{let f=S(()=>P("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e.class));p(a,()=>R,(k,x)=>{x(k,_({get sideOffset(){return r()},get preventScroll(){return s()},"data-slot":"select-content",get class(){return z(f)}},()=>l,{get ref(){return t()},set ref(g){t(g)},children:(g,j)=>{var C=ie(),O=c(C);oe(O,{});var I=N(O,2);{let v=S(()=>P("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1"));p(I,()=>T,($,B)=>{B($,{get class(){return z(v)},children:(J,ue)=>{var F=h(),K=c(F);q(K,()=>e.children??D),d(J,F)},$$slots:{default:!0}})})}var A=N(I,2);le(A,{}),d(g,C)},$$slots:{default:!0}}))})}d(n,i)},$$slots:{default:!0}})),w()}var de=E('<span class="absolute end-2 flex size-3.5 items-center justify-center"><!></span> <!>',1);function _e(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class","value","label","children"]);var s=h(),l=c(s);{const n=(i,a)=>{let f=()=>a?.().selected,k=()=>a?.().highlighted;var x=de(),g=c(x),j=V(g);{var C=v=>{se(v,{class:"size-4"})};G(j,v=>{f()&&v(C)})}W(g);var O=N(g,2);{var I=v=>{var $=h(),B=c($);q(B,()=>e.children,()=>({selected:f(),highlighted:k()})),d(v,$)},A=v=>{var $=X();Y(()=>Z($,e.label||e.value)),d(v,$)};G(O,v=>{e.children?v(I):v(A,-1)})}d(i,x)};let u=S(()=>P("data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e.class));p(l,()=>U,(i,a)=>{a(i,_({get value(){return e.value},"data-slot":"select-item",get class(){return z(u)}},()=>r,{get ref(){return t()},set ref(f){t(f)},children:n,$$slots:{default:!0}}))})}d(o,s),w()}var ce=E("<!> <!>",1);function pe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"size",3,"default"),s=b(e,["$$slots","$$events","$$legacy","ref","class","children","size"]);var l=h(),n=c(l);{let u=S(()=>P("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class));p(n,()=>ee,(i,a)=>{a(i,_({"data-slot":"select-trigger",get"data-size"(){return r()},get class(){return z(u)}},()=>s,{get ref(){return t()},set ref(f){t(f)},children:(f,k)=>{var x=ce(),g=c(x);q(g,()=>e.children??D);var j=N(g,2);H(j,{class:"size-4 opacity-50"}),d(f,x)},$$slots:{default:!0}}))})}d(o,l),w()}function be(o,e){y(e,!0);let t=m(e,"open",15,!1),r=m(e,"value",15),s=b(e,["$$slots","$$events","$$legacy","open","value"]);var l=h(),n=c(l);p(n,()=>te,(u,i)=>{i(u,_(()=>s,{get open(){return t()},set open(a){t(a)},get value(){return r()},set value(a){r(a)}}))}),d(o,l),w()}export{pe as S,he as a,_e as b,be as c};
1
+ import{c as h,f as c,h as p,a6 as L,s as _,b as d,r as b,p as y,g as m,al as M,i as z,d as w,u as S,a as q,n as D,am as Q,an as R,t as N,ao as T,m as E,ap as U,j as V,k as G,l as W,x as X,y as Y,z as Z,aq as ee,ar as te}from"./o6XZc-z-.js";import{c as P,I as ae}from"./CHs_XKZT.js";import{C as H}from"./DRdrRG6W.js";import{C as se}from"./D2vqAiG3.js";function re(o,e){let t=b(e,["$$slots","$$events","$$legacy"]);var r=h(),s=c(r);p(s,()=>L,(l,n)=>{n(l,_(()=>t))}),d(o,r)}function le(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>M,(u,i)=>{i(u,_({"data-slot":"select-scroll-down-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{H(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}function ne(o,e){y(e,!0);let t=b(e,["$$slots","$$events","$$legacy"]);const r=[["path",{d:"m18 15-6-6-6 6"}]];ae(o,_({name:"chevron-up"},()=>t,{get iconNode(){return r},children:(s,l)=>{var n=h(),u=c(n);q(u,()=>e.children??D),d(s,n)},$$slots:{default:!0}})),w()}function oe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class"]);var s=h(),l=c(s);{let n=S(()=>P("flex cursor-default items-center justify-center py-1",e.class));p(l,()=>Q,(u,i)=>{i(u,_({"data-slot":"select-scroll-up-button",get class(){return z(n)}},()=>r,{get ref(){return t()},set ref(a){t(a)},children:(a,f)=>{ne(a,{class:"size-4"})},$$slots:{default:!0}}))})}d(o,s),w()}var ie=E("<!> <!> <!>",1);function he(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"sideOffset",3,4),s=m(e,"preventScroll",3,!0),l=b(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","portalProps","children","preventScroll"]);re(o,_(()=>e.portalProps,{children:(n,u)=>{var i=h(),a=c(i);{let f=S(()=>P("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e.class));p(a,()=>R,(k,x)=>{x(k,_({get sideOffset(){return r()},get preventScroll(){return s()},"data-slot":"select-content",get class(){return z(f)}},()=>l,{get ref(){return t()},set ref(g){t(g)},children:(g,j)=>{var C=ie(),O=c(C);oe(O,{});var I=N(O,2);{let v=S(()=>P("h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1"));p(I,()=>T,($,B)=>{B($,{get class(){return z(v)},children:(J,ue)=>{var F=h(),K=c(F);q(K,()=>e.children??D),d(J,F)},$$slots:{default:!0}})})}var A=N(I,2);le(A,{}),d(g,C)},$$slots:{default:!0}}))})}d(n,i)},$$slots:{default:!0}})),w()}var de=E('<span class="absolute end-2 flex size-3.5 items-center justify-center"><!></span> <!>',1);function _e(o,e){y(e,!0);let t=m(e,"ref",15,null),r=b(e,["$$slots","$$events","$$legacy","ref","class","value","label","children"]);var s=h(),l=c(s);{const n=(i,a)=>{let f=()=>a?.().selected,k=()=>a?.().highlighted;var x=de(),g=c(x),j=V(g);{var C=v=>{se(v,{class:"size-4"})};G(j,v=>{f()&&v(C)})}W(g);var O=N(g,2);{var I=v=>{var $=h(),B=c($);q(B,()=>e.children,()=>({selected:f(),highlighted:k()})),d(v,$)},A=v=>{var $=X();Y(()=>Z($,e.label||e.value)),d(v,$)};G(O,v=>{e.children?v(I):v(A,-1)})}d(i,x)};let u=S(()=>P("data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e.class));p(l,()=>U,(i,a)=>{a(i,_({get value(){return e.value},"data-slot":"select-item",get class(){return z(u)}},()=>r,{get ref(){return t()},set ref(f){t(f)},children:n,$$slots:{default:!0}}))})}d(o,s),w()}var ce=E("<!> <!>",1);function pe(o,e){y(e,!0);let t=m(e,"ref",15,null),r=m(e,"size",3,"default"),s=b(e,["$$slots","$$events","$$legacy","ref","class","children","size"]);var l=h(),n=c(l);{let u=S(()=>P("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none select-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e.class));p(n,()=>ee,(i,a)=>{a(i,_({"data-slot":"select-trigger",get"data-size"(){return r()},get class(){return z(u)}},()=>s,{get ref(){return t()},set ref(f){t(f)},children:(f,k)=>{var x=ce(),g=c(x);q(g,()=>e.children??D);var j=N(g,2);H(j,{class:"size-4 opacity-50"}),d(f,x)},$$slots:{default:!0}}))})}d(o,l),w()}function be(o,e){y(e,!0);let t=m(e,"open",15,!1),r=m(e,"value",15),s=b(e,["$$slots","$$events","$$legacy","open","value"]);var l=h(),n=c(l);p(n,()=>te,(u,i)=>{i(u,_(()=>s,{get open(){return t()},set open(a){t(a)},get value(){return r()},set value(a){r(a)}}))}),d(o,l),w()}export{pe as S,he as a,_e as b,be as c};
@@ -1 +1 @@
1
- import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as u,r as $}from"./o6XZc-z-.js";import{I as h}from"./Ce4tuixn.js";function x(r,s){p(s,!0);let a=$(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"}],["circle",{cx:"12",cy:"7",r:"4"}]];h(r,c({name:"user"},()=>a,{get iconNode(){return o},children:(t,v)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(t,e)},$$slots:{default:!0}})),u()}export{x as U};
1
+ import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as u,r as $}from"./o6XZc-z-.js";import{I as h}from"./CHs_XKZT.js";function x(r,s){p(s,!0);let a=$(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"}],["circle",{cx:"12",cy:"7",r:"4"}]];h(r,c({name:"user"},()=>a,{get iconNode(){return o},children:(t,v)=>{var e=d(),n=i(e);l(n,()=>s.children??m),f(t,e)},$$slots:{default:!0}})),u()}export{x as U};
@@ -1 +1 @@
1
- import{e as d,i as S,u as M}from"./o6XZc-z-.js";import{p as k,m as L,q as I,u as b,t as n,v as T,w as f,l as A,x as B,y as O,z as F,C as E}from"./Ce4tuixn.js";const u=["var(--sig-icon-bg-1)","var(--sig-icon-bg-2)","var(--sig-icon-bg-3)","var(--sig-icon-bg-4)","var(--sig-icon-bg-5)","var(--sig-icon-bg-6)"];function R(t){let e=0;for(const l of t)e=e*31+l.charCodeAt(0)&65535;return e}function J(t){const e=t.split(/[-_.\s]+/).filter(Boolean);return e.length>=2?`${e[0]?.[0]??""}${e[1]?.[0]??""}`.toUpperCase():t.slice(0,2).toUpperCase()}function j(t){return u[Math.abs(R(t))%u.length]??u[0]}function Q(t){if(!t)return null;const e=t.match(/^https?:\/\/(?:www\.)?github\.com\/([a-zA-Z0-9._-]+)/);return e?.[1]?`https://github.com/${e[1]}.png?size=40`:null}function Y(t,e){return t?t==="modelcontextprotocol/servers"?"https://github.com/modelcontextprotocol.png?size=40":t==="github"&&e?.includes("/")?`https://github.com/${e.split("/")[0]}.png?size=40`:null:null}const r=d({installed:[],loadingInstalled:!1,catalog:[],catalogTotal:0,catalogLoaded:!1,catalogLoading:!1,catalogDetail:!1,query:"",view:"browse",category:"all",source:"all",sortBy:"popularity",tools:[],serverHealth:[],toolsLoading:!1,installingId:null,togglingId:null,removingId:null,installedError:null,catalogError:null,toolsError:null});function i(t){return t instanceof Error&&t.message?t.message:String(t)}function N(t,e){const l=[...t];switch(e){case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"official":return l.sort((o,s)=>o.official&&!s.official?-1:!o.official&&s.official?1:o.popularityRank-s.popularityRank);default:return l.sort((o,s)=>o.popularityRank-s.popularityRank)}}function $(t){const e=r.query.trim().toLowerCase();return t.filter(l=>r.category!=="all"&&l.category!==r.category||r.source!=="all"&&l.source!==r.source?!1:e?l.name.toLowerCase().includes(e)||l.description.toLowerCase().includes(e)||l.id.toLowerCase().includes(e):!0)}function Z(){const t=new Set(["all"]);for(const e of r.catalog)t.add(e.category);return Array.from(t)}function K(){return["all","mcpservers.org","modelcontextprotocol/servers","github"]}function V(){return N($(r.catalog),r.sortBy)}async function q(){r.loadingInstalled=!0,r.installedError=null;try{const t=await L();r.installed=t.servers}catch(t){r.installed=[],r.installedError=i(t)}finally{r.loadingInstalled=!1}}async function W(t=5){if(!r.catalogLoaded){r.catalogLoading=!0,r.catalogError=null;try{const e=await k(t);r.catalog=e.results,r.catalogTotal=e.total,r.catalogLoaded=!0}catch(e){r.catalogError=i(e)}finally{r.catalogLoading=!1}}}async function p(t=!1){r.toolsLoading=!0,r.toolsError=null;try{const e=await I(t);r.tools=e.tools,r.serverHealth=e.servers}catch(e){r.tools=[],r.serverHealth=[],r.toolsError=i(e)}finally{r.toolsLoading=!1}}async function X(t,e){r.installingId=t.id;try{const l=await T({id:t.catalogId,source:t.source,alias:e?.alias,config:e?.config});return l.success?(n("Tool Server installed","success"),await Promise.all([q(),p(!0)]),r.catalog=r.catalog.map(o=>o.id===t.id?{...o,installed:!0}:o),!0):(n(l.error??"Install failed","error"),!1)}catch(l){return n(i(l),"error"),!1}finally{r.installingId=null}}async function tt(t){r.removingId=t;try{const e=r.installed.find(o=>o.id===t),l=await b(t);if(l.success){n("Tool Server removed","success"),r.installed=r.installed.filter(s=>s.id!==t),await p(!0);const o=e?.catalogId&&e.source!=="manual"?`${e.source}:${e.catalogId}`:null;o&&(r.catalog=r.catalog.map(s=>s.id===o?{...s,installed:!1}:s))}else n(l.error??"Remove failed","error")}catch(e){n(i(e),"error")}finally{r.removingId=null}}const m="signet:skills:catalog:v1",_=300*1e3;function x(){try{const t=localStorage.getItem(m);if(!t)return null;const e=JSON.parse(t);return typeof e.ts!="number"||!Array.isArray(e.results)||typeof e.total!="number"?null:e}catch{return null}}function y(t,e){try{const l={ts:Date.now(),results:t,total:e};localStorage.setItem(m,JSON.stringify(l))}catch{}}async function z(){try{const t=await f();a.catalog=t.results,a.catalogTotal=t.total,y(t.results,t.total)}catch{}}const a=d({view:"browse",installed:[],loading:!1,catalog:[],catalogTotal:0,catalogLoading:!1,catalogLoaded:!1,query:"",results:[],searching:!1,sortBy:"popularity",providerFilter:"all",categoryFilter:"all",compareSelected:[],selectedName:null,detailOpen:!1,detailContent:"",detailMeta:null,detailLoading:!1,detailSource:null,installing:null,uninstalling:null}),D=M(()=>new Map(a.catalog.map(t=>[t.name,t])));function at(){return S(D)}let g=null;function h(t,e){const l=[...t];switch(e){case"popularity":return l.sort((o,s)=>(s.popularityScore??s.installsRaw??0)-(o.popularityScore??o.installsRaw??0));case"installs":return l.sort((o,s)=>(s.installsRaw??0)-(o.installsRaw??0));case"stars":return l.sort((o,s)=>(s.stars??0)-(o.stars??0));case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"newest":return l;default:return l}}function v(t,e){return e==="all"?[...t]:t.filter(l=>l.provider===e)}function w(t,e){return e==="all"?[...t]:t.filter(l=>(l.category??"Other")===e)}function et(){const t=new Set(["all"]);for(const e of[...a.catalog,...a.results])t.add(e.category??"Other");return Array.from(t)}function lt(){const t=v(a.catalog,a.providerFilter),e=w(t,a.categoryFilter);return h(e,a.sortBy)}function rt(){const t=v(a.results,a.providerFilter),e=w(t,a.categoryFilter);return h(e,a.sortBy)}function ot(){a.sortBy="popularity",a.providerFilter="all",a.categoryFilter="all"}function st(){a.compareSelected=[]}function nt(t){if(a.compareSelected.includes(t)){a.compareSelected=a.compareSelected.filter(l=>l!==t);return}a.compareSelected.length>=3||(a.compareSelected=[...a.compareSelected,t])}async function C(){a.loading=!0,a.installed=await A(),a.loading=!1}async function it(){if(a.catalogLoaded)return;const t=x();if(t){a.catalog=t.results,a.catalogTotal=t.total,a.catalogLoaded=!0,a.catalogLoading=!1,Date.now()-t.ts>_&&z();return}a.catalogLoading=!0;const e=await f();a.catalog=e.results,a.catalogTotal=e.total,a.catalogLoaded=!0,a.catalogLoading=!1,y(e.results,e.total)}function ct(t){if(a.query=t,g&&clearTimeout(g),!t.trim()){a.results=[],a.searching=!1;return}a.searching=!0,g=setTimeout(()=>H(),250)}async function H(){const t=a.query.trim();if(!t){a.results=[],a.searching=!1;return}a.searching=!0,a.results=await B(t),a.searching=!1}async function ut(t){a.selectedName=t,a.detailOpen=!0,a.detailLoading=!0,a.detailContent="",a.detailMeta=null;const e=a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t);a.detailSource=e??null;const l=e?.fullName||void 0,o=await E(t,l);o&&(a.detailMeta=o,a.detailContent=o.content??""),a.detailLoading=!1}function P(){a.detailOpen=!1,a.selectedName=null,a.detailContent="",a.detailMeta=null,a.detailSource=null}async function gt(t){a.installing=t;const l=(a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t))?.fullName||void 0;if((await F(t,l)).success){n(`Skill ${t} installed`,"success"),await C();const s=c=>c.name===t?{...c,installed:!0}:c;a.results=a.results.map(s),a.catalog=a.catalog.map(s)}else n(`Failed to install ${t}`,"error");a.installing=null}async function dt(t){if(a.uninstalling=t,(await O(t)).success){n(`Skill ${t} uninstalled`,"success"),await C();const l=o=>o.name===t?{...o,installed:!1}:o;a.results=a.results.map(l),a.catalog=a.catalog.map(l),a.selectedName===t&&P()}else n(`Failed to uninstall ${t}`,"error");a.uninstalling=null}export{et as A,Z as B,W as a,J as b,Y as c,Q as d,q as e,it as f,j as g,V as h,X as i,tt as j,K as k,P as l,r as m,dt as n,gt as o,at as p,C as q,p as r,a as s,ct as t,st as u,nt as v,ut as w,rt as x,lt as y,ot as z};
1
+ import{e as d,i as S,u as M}from"./o6XZc-z-.js";import{p as k,m as L,q as I,u as b,t as n,v as T,w as f,l as A,x as B,y as O,z as F,C as E}from"./CHs_XKZT.js";const u=["var(--sig-icon-bg-1)","var(--sig-icon-bg-2)","var(--sig-icon-bg-3)","var(--sig-icon-bg-4)","var(--sig-icon-bg-5)","var(--sig-icon-bg-6)"];function R(t){let e=0;for(const l of t)e=e*31+l.charCodeAt(0)&65535;return e}function J(t){const e=t.split(/[-_.\s]+/).filter(Boolean);return e.length>=2?`${e[0]?.[0]??""}${e[1]?.[0]??""}`.toUpperCase():t.slice(0,2).toUpperCase()}function j(t){return u[Math.abs(R(t))%u.length]??u[0]}function Q(t){if(!t)return null;const e=t.match(/^https?:\/\/(?:www\.)?github\.com\/([a-zA-Z0-9._-]+)/);return e?.[1]?`https://github.com/${e[1]}.png?size=40`:null}function Y(t,e){return t?t==="modelcontextprotocol/servers"?"https://github.com/modelcontextprotocol.png?size=40":t==="github"&&e?.includes("/")?`https://github.com/${e.split("/")[0]}.png?size=40`:null:null}const r=d({installed:[],loadingInstalled:!1,catalog:[],catalogTotal:0,catalogLoaded:!1,catalogLoading:!1,catalogDetail:!1,query:"",view:"browse",category:"all",source:"all",sortBy:"popularity",tools:[],serverHealth:[],toolsLoading:!1,installingId:null,togglingId:null,removingId:null,installedError:null,catalogError:null,toolsError:null});function i(t){return t instanceof Error&&t.message?t.message:String(t)}function N(t,e){const l=[...t];switch(e){case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"official":return l.sort((o,s)=>o.official&&!s.official?-1:!o.official&&s.official?1:o.popularityRank-s.popularityRank);default:return l.sort((o,s)=>o.popularityRank-s.popularityRank)}}function $(t){const e=r.query.trim().toLowerCase();return t.filter(l=>r.category!=="all"&&l.category!==r.category||r.source!=="all"&&l.source!==r.source?!1:e?l.name.toLowerCase().includes(e)||l.description.toLowerCase().includes(e)||l.id.toLowerCase().includes(e):!0)}function Z(){const t=new Set(["all"]);for(const e of r.catalog)t.add(e.category);return Array.from(t)}function K(){return["all","mcpservers.org","modelcontextprotocol/servers","github"]}function V(){return N($(r.catalog),r.sortBy)}async function q(){r.loadingInstalled=!0,r.installedError=null;try{const t=await L();r.installed=t.servers}catch(t){r.installed=[],r.installedError=i(t)}finally{r.loadingInstalled=!1}}async function W(t=5){if(!r.catalogLoaded){r.catalogLoading=!0,r.catalogError=null;try{const e=await k(t);r.catalog=e.results,r.catalogTotal=e.total,r.catalogLoaded=!0}catch(e){r.catalogError=i(e)}finally{r.catalogLoading=!1}}}async function p(t=!1){r.toolsLoading=!0,r.toolsError=null;try{const e=await I(t);r.tools=e.tools,r.serverHealth=e.servers}catch(e){r.tools=[],r.serverHealth=[],r.toolsError=i(e)}finally{r.toolsLoading=!1}}async function X(t,e){r.installingId=t.id;try{const l=await T({id:t.catalogId,source:t.source,alias:e?.alias,config:e?.config});return l.success?(n("Tool Server installed","success"),await Promise.all([q(),p(!0)]),r.catalog=r.catalog.map(o=>o.id===t.id?{...o,installed:!0}:o),!0):(n(l.error??"Install failed","error"),!1)}catch(l){return n(i(l),"error"),!1}finally{r.installingId=null}}async function tt(t){r.removingId=t;try{const e=r.installed.find(o=>o.id===t),l=await b(t);if(l.success){n("Tool Server removed","success"),r.installed=r.installed.filter(s=>s.id!==t),await p(!0);const o=e?.catalogId&&e.source!=="manual"?`${e.source}:${e.catalogId}`:null;o&&(r.catalog=r.catalog.map(s=>s.id===o?{...s,installed:!1}:s))}else n(l.error??"Remove failed","error")}catch(e){n(i(e),"error")}finally{r.removingId=null}}const m="signet:skills:catalog:v1",_=300*1e3;function x(){try{const t=localStorage.getItem(m);if(!t)return null;const e=JSON.parse(t);return typeof e.ts!="number"||!Array.isArray(e.results)||typeof e.total!="number"?null:e}catch{return null}}function y(t,e){try{const l={ts:Date.now(),results:t,total:e};localStorage.setItem(m,JSON.stringify(l))}catch{}}async function z(){try{const t=await f();a.catalog=t.results,a.catalogTotal=t.total,y(t.results,t.total)}catch{}}const a=d({view:"browse",installed:[],loading:!1,catalog:[],catalogTotal:0,catalogLoading:!1,catalogLoaded:!1,query:"",results:[],searching:!1,sortBy:"popularity",providerFilter:"all",categoryFilter:"all",compareSelected:[],selectedName:null,detailOpen:!1,detailContent:"",detailMeta:null,detailLoading:!1,detailSource:null,installing:null,uninstalling:null}),D=M(()=>new Map(a.catalog.map(t=>[t.name,t])));function at(){return S(D)}let g=null;function h(t,e){const l=[...t];switch(e){case"popularity":return l.sort((o,s)=>(s.popularityScore??s.installsRaw??0)-(o.popularityScore??o.installsRaw??0));case"installs":return l.sort((o,s)=>(s.installsRaw??0)-(o.installsRaw??0));case"stars":return l.sort((o,s)=>(s.stars??0)-(o.stars??0));case"name":return l.sort((o,s)=>o.name.localeCompare(s.name));case"newest":return l;default:return l}}function v(t,e){return e==="all"?[...t]:t.filter(l=>l.provider===e)}function w(t,e){return e==="all"?[...t]:t.filter(l=>(l.category??"Other")===e)}function et(){const t=new Set(["all"]);for(const e of[...a.catalog,...a.results])t.add(e.category??"Other");return Array.from(t)}function lt(){const t=v(a.catalog,a.providerFilter),e=w(t,a.categoryFilter);return h(e,a.sortBy)}function rt(){const t=v(a.results,a.providerFilter),e=w(t,a.categoryFilter);return h(e,a.sortBy)}function ot(){a.sortBy="popularity",a.providerFilter="all",a.categoryFilter="all"}function st(){a.compareSelected=[]}function nt(t){if(a.compareSelected.includes(t)){a.compareSelected=a.compareSelected.filter(l=>l!==t);return}a.compareSelected.length>=3||(a.compareSelected=[...a.compareSelected,t])}async function C(){a.loading=!0,a.installed=await A(),a.loading=!1}async function it(){if(a.catalogLoaded)return;const t=x();if(t){a.catalog=t.results,a.catalogTotal=t.total,a.catalogLoaded=!0,a.catalogLoading=!1,Date.now()-t.ts>_&&z();return}a.catalogLoading=!0;const e=await f();a.catalog=e.results,a.catalogTotal=e.total,a.catalogLoaded=!0,a.catalogLoading=!1,y(e.results,e.total)}function ct(t){if(a.query=t,g&&clearTimeout(g),!t.trim()){a.results=[],a.searching=!1;return}a.searching=!0,g=setTimeout(()=>H(),250)}async function H(){const t=a.query.trim();if(!t){a.results=[],a.searching=!1;return}a.searching=!0,a.results=await B(t),a.searching=!1}async function ut(t){a.selectedName=t,a.detailOpen=!0,a.detailLoading=!0,a.detailContent="",a.detailMeta=null;const e=a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t);a.detailSource=e??null;const l=e?.fullName||void 0,o=await E(t,l);o&&(a.detailMeta=o,a.detailContent=o.content??""),a.detailLoading=!1}function P(){a.detailOpen=!1,a.selectedName=null,a.detailContent="",a.detailMeta=null,a.detailSource=null}async function gt(t){a.installing=t;const l=(a.results.find(s=>s.name===t)||a.catalog.find(s=>s.name===t))?.fullName||void 0;if((await F(t,l)).success){n(`Skill ${t} installed`,"success"),await C();const s=c=>c.name===t?{...c,installed:!0}:c;a.results=a.results.map(s),a.catalog=a.catalog.map(s)}else n(`Failed to install ${t}`,"error");a.installing=null}async function dt(t){if(a.uninstalling=t,(await O(t)).success){n(`Skill ${t} uninstalled`,"success"),await C();const l=o=>o.name===t?{...o,installed:!1}:o;a.results=a.results.map(l),a.catalog=a.catalog.map(l),a.selectedName===t&&P()}else n(`Failed to uninstall ${t}`,"error");a.uninstalling=null}export{et as A,Z as B,W as a,J as b,Y as c,Q as d,q as e,it as f,j as g,V as h,X as i,tt as j,K as k,P as l,r as m,dt as n,gt as o,at as p,C as q,p as r,a as s,ct as t,st as u,nt as v,ut as w,rt as x,lt as y,ot as z};