@euraika-labs/pan-ui 0.7.0 → 0.7.2

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 (25) hide show
  1. package/.next/standalone/package.json +1 -1
  2. package/.next/static/chunks/1257.395895f93de63e8d.js +1 -0
  3. package/.next/static/chunks/2433-bbcb48ffbdc15ce7.js +1 -0
  4. package/.next/static/chunks/{3140.a3aebdd856baf0d3.js → 3140.edb5839e5b9986a9.js} +1 -1
  5. package/.next/static/chunks/app/chat/{page-f3942a49cfe4b77b.js → page-8e941e75074dda93.js} +1 -1
  6. package/.next/static/chunks/app/extensions/{page-e0ed118aa408f2e3.js → page-97611bf7fedd7072.js} +1 -1
  7. package/.next/static/chunks/app/marketplace/{page-e9f839ad75b7f4a8.js → page-d9a4cdeb605d3b23.js} +1 -1
  8. package/.next/static/chunks/app/plugins/page-3c351f43e298b9a1.js +1 -0
  9. package/.next/static/chunks/app/settings/health/page-017959e72f77dedc.js +1 -0
  10. package/.next/static/chunks/app/settings/page-882dfc9ed730aaed.js +1 -0
  11. package/.next/static/chunks/app/skills/[id]/{page-241027df81583175.js → page-ce5077e8468bb7aa.js} +1 -1
  12. package/.next/static/chunks/app/skills/page-ef7c206ea7f039f9.js +1 -0
  13. package/.next/static/chunks/{webpack-3f60b0ecd96bfc29.js → webpack-22e2d008c9d8a257.js} +1 -1
  14. package/.next/static/css/16c1f909f514ee8b.css +3 -0
  15. package/README.md +17 -0
  16. package/package.json +1 -1
  17. package/.next/static/chunks/1257.5a9a3f3bc1e6e4ed.js +0 -1
  18. package/.next/static/chunks/9860-b632f9e287faaf54.js +0 -1
  19. package/.next/static/chunks/app/plugins/page-12765968a2205454.js +0 -1
  20. package/.next/static/chunks/app/settings/health/page-61496548509805ea.js +0 -1
  21. package/.next/static/chunks/app/settings/page-c2f930a6fe7cde0f.js +0 -1
  22. package/.next/static/chunks/app/skills/page-cdeae1ae5c2ca918.js +0 -1
  23. package/.next/static/css/371b679522737b32.css +0 -3
  24. /package/.next/static/{1rIKKfgwcoD-Sz4I0QlZE → FrHkQzc0k7oikVrPWRE1J}/_buildManifest.js +0 -0
  25. /package/.next/static/{1rIKKfgwcoD-Sz4I0QlZE → FrHkQzc0k7oikVrPWRE1J}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1257,9501],{685:(e,t,l)=>{"use strict";function r(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function s(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function a(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function n(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function o(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function i(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function d(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}l.d(t,{B6:()=>d,BX:()=>o,CF:()=>a,CV:()=>s,Ow:()=>i,VJ:()=>r,b:()=>n,mF:()=>c})},1257:(e,t,l)=>{"use strict";l.r(t),l.d(t,{SkillsScreen:()=>P});var r=l(5155),s=l(2115),a=l(63),n=l(6907),o=l(7910),i=l(7801),d=l(9867),c=l(5880),u=l(9068),p=l(9347),m=l(6651),x=l(5229),h=l(8734),f=l(2056),g=l(9678),b=l(8584),y=l(2619),j=l.n(y),k=l(7726),v=l(1613),N=l(685);function w(e){var t;let{skill:l,loadedInCurrentSession:s=!1,sessionId:a}=e,n=a?"/skills/".concat(l.id,"?session=").concat(encodeURIComponent(a)):"/skills/".concat(l.id),o=null==(t=l.linkedFiles)?void 0:t.reduce((e,t)=>(e[t.group]=(e[t.group]||0)+1,e),{});return(0,r.jsxs)(j(),{href:n,"aria-label":l.id,className:"block rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:bg-muted/40 hover:shadow-md",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("h3",{className:"truncate text-sm font-semibold",children:l.name}),l.category?(0,r.jsxs)("span",{className:"hidden shrink-0 items-center gap-1 rounded-md bg-muted/60 px-1.5 py-0.5 text-3xs text-muted-foreground sm:inline-flex",children:[(0,r.jsx)(h.A,{className:"h-2.5 w-2.5"}),l.category]}):null]}),(0,r.jsx)("p",{className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:l.description})]}),(0,r.jsxs)("div",{className:"space-y-1.5 text-right text-3xs",children:[(0,r.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,N.VJ)(l.scope,l.ownerProfileId)}),(0,r.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,N.CV)(l.provenance)})]})]}),l.tags&&l.tags.length>0?(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1",children:[l.tags.slice(0,4).map(e=>(0,r.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-md bg-primary/8 px-1.5 py-0.5 text-3xs text-muted-foreground",children:[(0,r.jsx)(k.A,{className:"h-2 w-2"}),e]},e)),l.tags.length>4?(0,r.jsxs)("span",{className:"rounded-md bg-muted/50 px-1.5 py-0.5 text-3xs text-muted-foreground",children:["+",l.tags.length-4]}):null]}):null,(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-1.5 text-xs",children:[(0,r.jsx)("span",{className:"rounded-full px-2 py-0.5 ".concat(l.enabled?"bg-success/15 text-foreground":"bg-muted text-muted-foreground"),children:l.enabled?"Enabled":l.installed?"Installed":"Available"}),s?(0,r.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-foreground",children:"Loaded"}):null,o&&Object.keys(o).length>0?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:[(0,r.jsx)(v.A,{className:"h-3 w-3"}),Object.entries(o).map(e=>{let[t,l]=e;return"".concat(l," ").concat(t)}).join(", ")]}):null,l.updatedAt?(0,r.jsx)("span",{className:"rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:new Date(l.updatedAt).toLocaleDateString()}):null]})]})}var Y=l(9318),A=l(2604);function I(e){let{level:t}=e;return"trusted"===t?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-500/15 px-2 py-0.5 text-3xs font-medium text-emerald-400",children:[(0,r.jsx)(n.A,{className:"h-2.5 w-2.5"}),"Trusted"]}):"official"===t?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-blue-500/15 px-2 py-0.5 text-3xs font-medium text-blue-400",children:[(0,r.jsx)(o.A,{className:"h-2.5 w-2.5"}),"Official"]}):(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-500/15 px-2 py-0.5 text-3xs font-medium text-amber-400",children:[(0,r.jsx)(i.A,{className:"h-2.5 w-2.5"}),"Community"]})}function S(e){let{audits:t}=e;return t?(0,r.jsx)("div",{className:"flex gap-1",children:Object.entries(t).map(e=>{let[t,l]=e;return(0,r.jsxs)("span",{className:"rounded-full px-1.5 py-0.5 text-[9px] font-medium ".concat("Pass"===l?"bg-emerald-500/15 text-emerald-400":"Warn"===l?"bg-amber-500/15 text-amber-400":"bg-red-500/15 text-red-400"),children:[t,": ",l]},t)})}):null}function C(e){var t,l;let{skill:s,onInstall:a,installing:n,installsLocked:o}=e;return(0,r.jsxs)("div",{className:"flex flex-col rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("h3",{className:"truncate text-sm font-semibold",children:s.name}),(0,r.jsx)(I,{level:s.trustLevel})]}),(0,r.jsx)("p",{className:"mt-0.5 text-2xs text-muted-foreground",children:s.repo})]}),null!=s.installs?(0,r.jsxs)("span",{className:"shrink-0 rounded-lg bg-muted/50 px-2 py-0.5 text-3xs text-muted-foreground",children:[(0,r.jsx)(d.A,{className:"mr-0.5 inline h-2.5 w-2.5"}),s.installs.toLocaleString()]}):null]}),(0,r.jsx)("p",{className:"mt-2 line-clamp-3 flex-1 text-xs leading-5 text-muted-foreground",children:(null==(t=s.detail)?void 0:t.summary)||s.description}),(null==(l=s.detail)?void 0:l.securityAudits)?(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(S,{audits:s.detail.securityAudits})}):null,(0,r.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),a()},disabled:o,className:"rounded-xl bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground shadow-sm transition hover:opacity-90 disabled:opacity-50",children:n?"Installing…":o?"Please wait…":"Install"}),s.detailUrl?(0,r.jsxs)("a",{href:s.detailUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,r.jsx)(c.A,{className:"h-3 w-3"}),"skills.sh"]}):null,s.repoUrl?(0,r.jsxs)("a",{href:s.repoUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,r.jsx)(u.A,{className:"h-3 w-3"}),"Repo"]}):null]})]})}function P(){var e,t,l,n,o,i;let d=(0,a.useRouter)(),c=(0,a.useSearchParams)().get("session"),[u,y]=(0,s.useState)("installed"),[j,k]=(0,s.useState)(null),[v,N]=(0,s.useState)(""),[I,S]=(0,s.useState)(""),[P,L]=(0,s.useState)(""),O=(0,Y.a$)("installed"===u),q=(0,Y.$P)(),M=(0,Y.vb)(I||void 0),F=(0,Y.jM)(),[E,T]=(0,s.useState)(null),[z,U]=(0,s.useState)(null),[V,_]=(0,s.useState)(null),[D,H]=(0,s.useState)([]),{selectedProfileId:K,activeSessionId:Q,setActiveSessionId:B}=(0,A.j)();(0,s.useEffect)(()=>{c&&(c!==Q&&B(c),d.replace("/skills",{scroll:!1}))},[Q,c,d,B]);let J=(0,b.Ux)(K,null!=c?c:Q),R=new Set((null==(t=J.data)||null==(e=t.loadedSkillIds)?void 0:e.length)?J.data.loadedSkillIds:["skill-authoring"]),$=null!=(o=O.data)?o:[],G=(0,s.useMemo)(()=>{var e;let t=new Set;for(let e of $)e.category&&t.add(e.category);for(let l of null!=(e=q.data)?e:[])t.add(l);return Array.from(t).sort()},[$,q.data]),W=(0,s.useMemo)(()=>{let e=$;if(j&&(e=e.filter(e=>e.category===j)),v.trim()){let t=v.toLowerCase();e=e.filter(e=>{var l,r;return e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)||(null==(l=e.tags)?void 0:l.some(e=>e.toLowerCase().includes(t)))||(null==(r=e.category)?void 0:r.toLowerCase().includes(t))})}return e},[$,j,v]),X=(null!=(i=null==(l=M.data)?void 0:l.skills)?i:[]).filter(e=>!D.includes(e.identifier)),Z=$.filter(e=>e.enabled).length,ee=$.filter(e=>e.linkedFiles&&e.linkedFiles.length>0).length;async function et(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!E||E===e.id){T(e.id),_(null);try{await F.mutateAsync({identifier:e.identifier,force:t}),U(null),H(t=>t.includes(e.identifier)?t:[e.identifier,...t])}catch(s){let l=s instanceof Error?s.message:String(s),r=s instanceof g.h?"blocked_scan"===s.code:l.toLowerCase().includes("use --force to override");if(!t&&r)return void U({skill:e,message:l});_(l)}finally{T(null)}}}return(0,r.jsxs)("div",{className:"h-full overflow-y-auto space-y-5 p-4 pb-8 lg:p-6 lg:pb-10",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold",children:"Skills"}),(0,r.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"installed"===u?(0,r.jsxs)(r.Fragment,{children:["Browse ",$.length," installed skills across ",G.length," categories.",Z>0?" ".concat(Z," enabled."):"",ee>0?" ".concat(ee," include references, scripts, or templates."):""]}):(0,r.jsxs)(r.Fragment,{children:["Discover skills from skills.sh and other registries. ",X.length," available to install",(null==(n=M.data)?void 0:n.total)?" (".concat(M.data.total," total, ").concat(M.data.total-X.length," already installed)"):"","."]})})]}),V?(0,r.jsx)("div",{className:"rounded-2xl border border-danger/30 bg-danger/10 p-4 text-sm text-foreground",children:V}):null,(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>y("installed"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("installed"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:["Installed (",$.length,")"]}),(0,r.jsxs)("button",{type:"button",onClick:()=>y("discover"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("discover"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:[(0,r.jsx)(p.A,{className:"mr-1 inline h-3.5 w-3.5"}),"Discover"]})]}),"installed"===u?(0,r.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-md",children:[(0,r.jsx)(m.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,r.jsx)("input",{type:"text",placeholder:"Search skills by name, tag, or category…",value:v,onChange:e=>N(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),v?(0,r.jsx)("button",{type:"button",onClick:()=>N(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,r.jsx)(x.A,{className:"h-4 w-4"})}):null]}):(0,r.jsxs)("form",{className:"relative flex-1 min-w-[200px] max-w-md",onSubmit:e=>{e.preventDefault(),S(P)},children:[(0,r.jsx)(m.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,r.jsx)("input",{type:"text",placeholder:"Search skills.sh (e.g. kubernetes, react, python)…",value:P,onChange:e=>L(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),P?(0,r.jsx)("button",{type:"button",onClick:()=>{L(""),S("")},className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,r.jsx)(x.A,{className:"h-4 w-4"})}):null]})]}),"installed"===u?(0,r.jsxs)(r.Fragment,{children:[G.length>0?(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)("button",{type:"button",onClick:()=>k(null),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(j?"border border-border/50 text-muted-foreground hover:bg-card":"bg-primary/15 text-foreground ring-1 ring-primary/30"),children:"All"}),G.map(e=>{let t=$.filter(t=>t.category===e).length;return(0,r.jsxs)("button",{type:"button",onClick:()=>k(j===e?null:e),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(j===e?"bg-primary/15 text-foreground ring-1 ring-primary/30":"border border-border/50 text-muted-foreground hover:bg-card"),children:[e," (",t,")"]},e)})]}):null,O.isLoading?(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading skill data…"}):null,R.size?(0,r.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-card/80 p-3 text-sm text-muted-foreground",children:[(0,r.jsx)("span",{className:"font-medium text-foreground",children:"Loaded in current session:"}),(0,r.jsx)("span",{className:"ml-2",children:Array.from(R).join(", ")})]}):null,O.isLoading||0!==W.length?null:(0,r.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:v||j?'No skills match "'.concat(v||j,'". Try a different filter.'):"No installed skills were detected for the current runtime/profile scope."}),(0,r.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:W.map(e=>(0,r.jsx)(w,{skill:e,loadedInCurrentSession:R.has(e.id),sessionId:null!=c?c:Q},e.id))})]}):null,"discover"===u?(0,r.jsxs)(r.Fragment,{children:[z?(0,r.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,r.jsxs)("div",{className:"w-full max-w-2xl rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 flex h-10 w-10 items-center justify-center rounded-xl bg-amber-500/15 text-amber-400",children:(0,r.jsx)(f.A,{className:"h-5 w-5"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:"Security scan blocked this install"}),(0,r.jsxs)("p",{className:"mt-1 text-sm text-muted-foreground",children:[z.skill.name," comes from a community source and triggered a caution verdict. Pan blocked the default install to avoid silently pulling in risky skills."]})]})]}),(0,r.jsx)("div",{className:"mt-4 rounded-2xl border border-border/70 bg-card/60 p-4 text-sm text-foreground",children:(0,r.jsx)("pre",{className:"whitespace-pre-wrap break-words text-xs leading-6 text-muted-foreground",children:z.message})}),(0,r.jsx)("p",{className:"mt-4 text-sm text-muted-foreground",children:"If you trust this skill and understand the findings above, you can force the install once. Otherwise, cancel and pick a different skill."}),(0,r.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:()=>U(null),className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,r.jsx)("button",{type:"button",onClick:()=>void et(z.skill,!0),disabled:E===z.skill.id,className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50",children:E===z.skill.id?"Installing…":"Install anyway"})]})]})}):null,M.isLoading?(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Searching skills.sh…"}):null,M.isLoading||0!==X.length?null:(0,r.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:I?'No skills found for "'.concat(I,'". Try a different search term.'):"No discoverable skills found. The skills.sh cache may need to be populated — run `hermes skills browse` in your terminal."}),E?(0,r.jsx)("div",{className:"rounded-2xl border border-border/70 bg-card/60 p-4 text-sm text-muted-foreground",children:"A skill install is in progress. Pan temporarily locks the other install buttons so you do not fire overlapping installs and end up with stale cards."}):null,(0,r.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:X.map(e=>(0,r.jsx)(C,{skill:e,onInstall:()=>et(e),installing:E===e.id,installsLocked:!!E},e.id))})]}):null]})}},1613:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]])},2056:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},5880:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},7726:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]])},7910:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},8734:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},9054:(e,t,l)=>{"use strict";l.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>h});var r=l(4879);r.gM("type",[r.Ik({type:r.eu("assistant.delta"),delta:r.Yj()}),r.Ik({type:r.eu("run.phase"),phase:r.k5(["drafting","tool-started","waiting-approval","completed"]),label:r.Yj()}),r.Ik({type:r.eu("tool.started"),toolCallId:r.Yj(),toolName:r.Yj(),riskLevel:r.k5(["read","write","execute","admin"]).optional(),provenance:r.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),r.Ik({type:r.eu("tool.awaiting_approval"),toolCallId:r.Yj(),toolName:r.Yj(),summary:r.Yj(),riskLevel:r.k5(["read","write","execute","admin"]).optional(),governance:r.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),r.Ik({type:r.eu("tool.completed"),toolCallId:r.Yj(),toolName:r.Yj(),output:r.Yj().optional(),riskLevel:r.k5(["read","write","execute","admin"]).optional()}),r.Ik({type:r.eu("artifact.emitted"),artifactId:r.Yj(),artifactType:r.Yj(),label:r.Yj(),content:r.Yj().optional()}),r.Ik({type:r.eu("source.emitted"),source:r.Ik({id:r.Yj(),title:r.Yj(),href:r.Yj().optional(),snippet:r.Yj().optional(),sourceType:r.k5(["web","file","workspace","integration","unknown"]),provenance:r.k5(["built-in","verified","custom","self-hosted","local-process"]),note:r.Yj().optional(),label:r.Yj().optional()})}),r.Ik({type:r.eu("error"),message:r.Yj()})]),r.Ik({model:r.Yj(),provider:r.Yj(),policyPreset:r.k5(["safe-chat","research","builder","full-power"]),memoryMode:r.k5(["standard","minimal"])}),r.Ik({id:r.Yj(),title:r.Yj(),updatedAt:r.Yj(),preview:r.Yj().optional()});let s=r.Ik({id:r.Yj(),name:r.Yj(),description:r.Yj(),enabled:r.zM(),riskLevel:r.k5(["read","write","execute","admin"]),scope:r.k5(["global","profile","session"]),approvalPolicy:r.k5(["auto","on-request","always"]).optional(),lastUsedAt:r.Yj().optional()}),a=r.Ik({command:r.Yj().optional(),url:r.Yj().optional(),authType:r.k5(["none","api-key","oauth"]).optional(),token:r.Yj().optional()}),n=r.Ik({source:r.k5(["live","cache","persisted","failed"]),errorText:r.Yj().nullable().optional(),remediation:r.YO(r.Yj()).optional(),discoveredTools:r.ai().optional(),probedAt:r.Yj().optional()}),o=r.Ik({id:r.Yj(),name:r.Yj(),description:r.Yj(),health:r.k5(["healthy","degraded","blocked","failed"]),riskLevel:r.k5(["read","write","execute","admin"]),authState:r.k5(["connected","needs-auth","expired"]),governance:r.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:r.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:r.k5(["auto","on-request","always"]),type:r.k5(["mcp","native","builtin"]),installed:r.zM(),config:a,capabilities:r.YO(s),toolCount:r.ai(),profilesUsing:r.YO(r.Yj()),diagnostics:n.optional(),version:r.Yj().optional(),updatedAt:r.Yj().optional()}),i=r.Ik({id:r.Yj(),name:r.Yj(),sourceExtensionId:r.Yj(),sourceExtensionName:r.Yj(),category:r.k5(["mcp","builtin","native"]),riskLevel:r.k5(["read","write","execute","admin"]),enabled:r.zM(),approvalPolicy:r.k5(["auto","on-request","always"]),lastUsedAt:r.Yj().optional(),scope:r.k5(["global","profile","session"])});r.Ik({id:r.Yj(),createdAt:r.Yj(),action:r.Yj(),targetType:r.Yj(),targetId:r.Yj(),detail:r.Yj()}),r.Ik({id:r.Yj(),content:r.Yj(),updatedAt:r.Yj().optional(),scope:r.k5(["user","agent"])}),r.Ik({activeProfileId:r.Yj().nullable(),activeSessionId:r.Yj().nullable(),activeSessionTitle:r.Yj().optional(),activeSessionPreview:r.Yj().optional(),loadedSkillIds:r.YO(r.Yj()),model:r.Yj().optional(),provider:r.Yj().optional(),policyPreset:r.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:r.k5(["standard","minimal"]).optional(),userMemory:r.YO(r.Yj()),agentMemory:r.YO(r.Yj())}),r.Ik({id:r.Yj(),name:r.Yj(),modelDefault:r.Yj().optional(),policyPreset:r.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:r.ai().optional(),skillCount:r.ai().optional(),extensionCount:r.ai().optional(),active:r.zM().optional()}),r.Ik({id:r.Yj(),title:r.Yj(),updatedAt:r.Yj(),status:r.k5(["active","archived"]),preview:r.Yj().optional(),parentSessionId:r.Yj().optional()});let d=r.Ik({path:r.Yj(),name:r.Yj(),group:r.Yj()}),c=r.Ik({id:r.Yj(),name:r.Yj(),description:r.Yj(),source:r.k5(["bundled","local","hub","agent-created"]),scope:r.k5(["builtin","global","profile"]),provenance:r.k5(["built-in","verified","custom","local-process"]),installed:r.zM(),enabled:r.zM(),content:r.Yj(),loadedInSessions:r.YO(r.Yj()).optional(),ownerProfileId:r.Yj().nullable().optional(),filePath:r.Yj().optional(),version:r.Yj().optional(),updatedAt:r.Yj().optional(),impliedTools:r.YO(r.Yj()).optional(),category:r.Yj().optional(),tags:r.YO(r.Yj()).optional(),relatedSkills:r.YO(r.Yj()).optional(),linkedFiles:r.YO(d).optional(),author:r.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>o.parse(e),x=e=>o.array().parse(e),h=e=>i.array().parse(e)},9068:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},9115:(e,t,l)=>{Promise.resolve().then(l.bind(l,1935)),Promise.resolve().then(l.bind(l,9136)),Promise.resolve().then(l.bind(l,6981)),Promise.resolve().then(l.bind(l,1257))},9318:(e,t,l)=>{"use strict";l.d(t,{$P:()=>f,F8:()=>x,I3:()=>u,Pt:()=>d,Qc:()=>g,a$:()=>i,aO:()=>p,b_:()=>m,hL:()=>h,jM:()=>y,vb:()=>b});var r=l(2454),s=l(9776),a=l(549),n=l(9678),o=l(9054);function i(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return(0,r.I)({queryKey:["skills",e],queryFn:()=>(0,n.n)("/api/skills".concat(e?"?installed=true":"")),select:e=>(0,o.iF)(e.skills)})}function d(e){return(0,r.I)({queryKey:["skill",e],queryFn:()=>(0,n.n)("/api/skills/".concat(e)),select:e=>(0,o.d)(e.skill),enabled:!!e})}function c(e,t){let l=(0,o.d)(t);e.invalidateQueries({queryKey:["skills"]}),e.setQueryData(["skill",l.id],{skill:l})}function u(){let e=(0,s.jE)();return(0,a.n)({mutationFn:e=>(0,n.n)("/api/skills/".concat(e,"/install"),{method:"POST"}),onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function p(){let e=(0,s.jE)();return(0,a.n)({mutationFn:e=>{let{skillId:t,enabled:l}=e;return(0,n.n)("/api/skills/".concat(t,"/enable"),{method:"POST",body:JSON.stringify({enabled:l})})},onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function m(){let e=(0,s.jE)();return(0,a.n)({mutationFn:e=>{let{skillId:t,content:l}=e;return(0,n.n)("/api/skills/".concat(t),{method:"PATCH",body:JSON.stringify({content:l})})},onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function x(){let e=(0,s.jE)();return(0,a.n)({mutationFn:e=>{let{skillId:t,sessionId:l}=e;return(0,n.n)("/api/skills/".concat(t,"/load"),{method:"POST",body:JSON.stringify({sessionId:l})})},onSuccess:(t,l)=>{let{skill:r}=t;c(e,r),e.setQueryData(["session",l.sessionId],e=>{var t;if(!(null==e?void 0:e.session))return e;let r=null!=(t=e.session.loadedSkillIds)?t:[];return{...e,session:{...e.session,loadedSkillIds:r.includes(l.skillId)?r:[l.skillId,...r]}}}),e.invalidateQueries({queryKey:["session",l.sessionId]})}})}function h(){let e=(0,s.jE)();return(0,a.n)({mutationFn:e=>(0,n.n)("/api/skills/".concat(e),{method:"DELETE"}),onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function f(){return(0,r.I)({queryKey:["skill-categories"],queryFn:()=>(0,n.n)("/api/skills/categories"),select:e=>e.categories})}function g(e,t){return(0,r.I)({queryKey:["skill-file",e,t],queryFn:()=>(0,n.n)("/api/skills/".concat(e,"/files?path=").concat(encodeURIComponent(t))),enabled:!!(e&&t)})}function b(e){let t=e?"?q=".concat(encodeURIComponent(e)):"";return(0,r.I)({queryKey:["hub-skills",null!=e?e:""],queryFn:()=>(0,n.n)("/api/skills/hub".concat(t))})}function y(){let e=(0,s.jE)();return(0,a.n)({mutationFn:e=>{let{identifier:t,category:l,force:r}=e;return(0,n.n)("/api/skills/hub/install",{method:"POST",body:JSON.stringify({identifier:t,category:l,force:r})})},onSuccess:()=>{e.invalidateQueries({queryKey:["skills"]}),e.invalidateQueries({queryKey:["hub-skills"]}),e.invalidateQueries({queryKey:["skill-categories"]})}})}},9347:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]])},9867:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])}},e=>{e.O(0,[2231,1635,4879,5097,8441,1255,7358],()=>e(e.s=9115)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o](a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],l=!0,c=0;c<o.length;c++)(!1&a||u>=a)&&Object.keys(r.O).every(e=>r.O[e](o[c]))?o.splice(c--,1):(l=!1,a<u&&(u=a));if(l){e.splice(i--,1);var d=n();void 0!==d&&(t=d)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>9475===e?"static/chunks/9475-c598640ff854b528.js":"static/chunks/"+e+"."+({1257:"5a9a3f3bc1e6e4ed",3140:"a3aebdd856baf0d3"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var u,l,c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var s=c[d];if(s.getAttribute("src")==o||s.getAttribute("data-webpack")==t+a){u=s;break}}u||(l=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,r.nc&&u.setAttribute("nonce",r.nc),u.setAttribute("data-webpack",t+a),u.src=r.tu(o)),e[o]=[n];var f=(t,r)=>{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=f.bind(null,u.onerror),u.onload=f.bind(null,u.onload),l&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={8068:0,5475:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(5475|8068)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,l]=o,c=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(l)var d=l(r)}for(t&&t(o);c<i.length;c++)a=i[c],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(d)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})()})();
1
+ (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o](a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],l=!0,c=0;c<o.length;c++)(!1&a||u>=a)&&Object.keys(r.O).every(e=>r.O[e](o[c]))?o.splice(c--,1):(l=!1,a<u&&(u=a));if(l){e.splice(i--,1);var s=n();void 0!==s&&(t=s)}}return t}})(),r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>9475===e?"static/chunks/9475-c598640ff854b528.js":"static/chunks/"+e+"."+({1257:"395895f93de63e8d",3140:"edb5839e5b9986a9"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var u,l,c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var f=c[s];if(f.getAttribute("src")==o||f.getAttribute("data-webpack")==t+a){u=f;break}}u||(l=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,r.nc&&u.setAttribute("nonce",r.nc),u.setAttribute("data-webpack",t+a),u.src=r.tu(o)),e[o]=[n];var d=(t,r)=>{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=d.bind(null,u.onerror),u.onload=d.bind(null,u.onload),l&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={8068:0,5475:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(5475|8068)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,l]=o,c=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(l)var s=l(r)}for(t&&t(o);c<i.length;c++)a=i[c],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(s)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})()})();
@@ -0,0 +1,3 @@
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
+ ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
3
+ */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-3{left:.75rem;right:.75rem}.bottom-3{bottom:.75rem}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\[400px\]{max-height:400px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-14{min-height:3.5rem}.min-h-64{min-height:16rem}.min-h-72{min-height:18rem}.min-h-\[320px\]{min-height:320px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[13rem\]{min-width:13rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[200px\]{min-width:200px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-\[88\%\]{max-width:88%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-0\.5{--tw-translate-x:0.125rem}.translate-x-0\.5,.translate-x-6{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x:1.5rem}.translate-x-\[18px\]{--tw-translate-x:18px}.translate-x-\[18px\],.translate-x-\[22px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[22px\]{--tw-translate-x:22px}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[1rem\]{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:1.25rem}.rounded-md{border-radius:.75rem}.rounded-xl{border-radius:1.6rem}.rounded-t-lg{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-\[3px\]{border-left-width:3px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-accent\/25{border-color:hsl(var(--accent)/.25)}.border-amber-500\/40{border-color:rgb(245 158 11/.4)}.border-approval\/35{border-color:hsl(var(--approval)/.35)}.border-blue-500\/40{border-color:rgb(59 130 246/.4)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-border\/60{border-color:hsl(var(--border)/.6)}.border-border\/70{border-color:hsl(var(--border)/.7)}.border-cyan-500\/40{border-color:rgb(6 182 212/.4)}.border-danger\/25{border-color:hsl(var(--danger)/.25)}.border-danger\/30{border-color:hsl(var(--danger)/.3)}.border-danger\/35{border-color:hsl(var(--danger)/.35)}.border-emerald-500\/30{border-color:rgb(16 185 129/.3)}.border-emerald-500\/40{border-color:rgb(16 185 129/.4)}.border-fuchsia-500\/40{border-color:rgb(217 70 239/.4)}.border-indigo-500\/40{border-color:rgb(99 102 241/.4)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-primary\/15{border-color:hsl(var(--primary)/.15)}.border-primary\/20{border-color:hsl(var(--primary)/.2)}.border-primary\/30{border-color:hsl(var(--primary)/.3)}.border-primary\/40{border-color:hsl(var(--primary)/.4)}.border-primary\/50{border-color:hsl(var(--primary)/.5)}.border-primary\/60{border-color:hsl(var(--primary)/.6)}.border-purple-500\/20{border-color:rgb(168 85 247/.2)}.border-purple-500\/30{border-color:rgb(168 85 247/.3)}.border-red-500\/30{border-color:rgb(239 68 68/.3)}.border-red-500\/70{border-color:rgb(239 68 68/.7)}.border-rose-500\/40{border-color:rgb(244 63 94/.4)}.border-sky-500\/40{border-color:rgb(14 165 233/.4)}.border-slate-500\/40{border-color:rgb(100 116 139/.4)}.border-success\/25{border-color:hsl(var(--success)/.25)}.border-success\/30{border-color:hsl(var(--success)/.3)}.border-teal-500\/40{border-color:rgb(20 184 166/.4)}.border-violet-500\/40{border-color:rgb(139 92 246/.4)}.border-warning\/25{border-color:hsl(var(--warning)/.25)}.border-warning\/30{border-color:hsl(var(--warning)/.3)}.border-warning\/35{border-color:hsl(var(--warning)/.35)}.border-l-accent{border-left-color:hsl(var(--accent))}.border-l-transparent{border-left-color:transparent}.bg-accent\/10{background-color:hsl(var(--accent)/.1)}.bg-amber-500\/10{background-color:rgb(245 158 11/.1)}.bg-amber-500\/15{background-color:rgb(245 158 11/.15)}.bg-approval\/10{background-color:hsl(var(--approval)/.1)}.bg-background{background-color:hsl(var(--background))}.bg-background\/35{background-color:hsl(var(--background)/.35)}.bg-background\/50{background-color:hsl(var(--background)/.5)}.bg-background\/60{background-color:hsl(var(--background)/.6)}.bg-background\/70{background-color:hsl(var(--background)/.7)}.bg-background\/80{background-color:hsl(var(--background)/.8)}.bg-background\/85{background-color:hsl(var(--background)/.85)}.bg-background\/95{background-color:hsl(var(--background)/.95)}.bg-black\/45{background-color:rgb(0 0 0/.45)}.bg-black\/50{background-color:rgb(0 0 0/.5)}.bg-black\/60{background-color:rgb(0 0 0/.6)}.bg-blue-500\/10{background-color:rgb(59 130 246/.1)}.bg-blue-500\/15{background-color:rgb(59 130 246/.15)}.bg-border\/70{background-color:hsl(var(--border)/.7)}.bg-card{background-color:hsl(var(--card))}.bg-card\/50{background-color:hsl(var(--card)/.5)}.bg-card\/55{background-color:hsl(var(--card)/.55)}.bg-card\/60{background-color:hsl(var(--card)/.6)}.bg-card\/70{background-color:hsl(var(--card)/.7)}.bg-card\/80{background-color:hsl(var(--card)/.8)}.bg-card\/95{background-color:hsl(var(--card)/.95)}.bg-cyan-500\/10{background-color:rgb(6 182 212/.1)}.bg-danger{background-color:hsl(var(--danger))}.bg-danger\/10{background-color:hsl(var(--danger)/.1)}.bg-danger\/5{background-color:hsl(var(--danger)/.05)}.bg-emerald-500\/10{background-color:rgb(16 185 129/.1)}.bg-emerald-500\/15{background-color:rgb(16 185 129/.15)}.bg-fuchsia-500\/10{background-color:rgb(217 70 239/.1)}.bg-indigo-500\/10{background-color:rgb(99 102 241/.1)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/30{background-color:hsl(var(--muted)/.3)}.bg-muted\/40{background-color:hsl(var(--muted)/.4)}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-muted\/60{background-color:hsl(var(--muted)/.6)}.bg-muted\/70{background-color:hsl(var(--muted)/.7)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/15{background-color:hsl(var(--primary)/.15)}.bg-primary\/5{background-color:hsl(var(--primary)/.05)}.bg-purple-500\/10{background-color:rgb(168 85 247/.1)}.bg-purple-500\/20{background-color:rgb(168 85 247/.2)}.bg-purple-500\/5{background-color:rgb(168 85 247/.05)}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:rgb(239 68 68/.1)}.bg-red-500\/15{background-color:rgb(239 68 68/.15)}.bg-rose-500\/10{background-color:rgb(244 63 94/.1)}.bg-sky-500\/10{background-color:rgb(14 165 233/.1)}.bg-slate-500\/10{background-color:rgb(100 116 139/.1)}.bg-success\/10{background-color:hsl(var(--success)/.1)}.bg-success\/15{background-color:hsl(var(--success)/.15)}.bg-surface\/70{background-color:hsl(var(--surface)/.7)}.bg-teal-500\/10{background-color:rgb(20 184 166/.1)}.bg-transparent{background-color:transparent}.bg-violet-500\/10{background-color:rgb(139 92 246/.1)}.bg-warning\/10{background-color:hsl(var(--warning)/.1)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-\[linear-gradient\(135deg\2c hsl\(var\(--primary\)\)\2c hsl\(var\(--accent\)\)\)\]{background-image:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))}.bg-\[linear-gradient\(135deg\2c hsl\(var\(--primary\)\)\/0\.98\2c hsl\(var\(--accent\)\)\/0\.92\)\]{background-image:linear-gradient(135deg,hsl(var(--primary))/.98,hsl(var(--accent))/.92)}.bg-\[linear-gradient\(135deg\2c rgba\(7\2c 52\2c 85\2c 0\.14\)\2c rgba\(9\2c 70\2c 104\2c 0\.08\)\2c rgba\(233\2c 200\2c 25\2c 0\.08\)\)\]{background-image:linear-gradient(135deg,rgba(7,52,85,.14),rgba(9,70,104,.08),rgba(233,200,25,.08))}.bg-\[radial-gradient\(circle_at_top\2c hsl\(var\(--primary\)\)\/0\.09\2c transparent_30\%\)\2c linear-gradient\(180deg\2c hsl\(var\(--background\)\)\2c hsl\(var\(--background\)\)_22\%\2c hsl\(var\(--surface\)\)\)\]{background-image:radial-gradient(circle at top,hsl(var(--primary))/.09,transparent 30%),linear-gradient(180deg,hsl(var(--background)),hsl(var(--background)) 22%,hsl(var(--surface)))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-purple-500\/5{--tw-gradient-from:rgb(168 85 247/0.05) var(--tw-gradient-from-position);--tw-gradient-to:rgb(168 85 247/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-blue-500\/5{--tw-gradient-to:rgb(59 130 246/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(59 130 246/0.05) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-purple-500\/5{--tw-gradient-to:rgb(168 85 247/0.05) var(--tw-gradient-to-position)}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-5{padding-left:1.25rem}.pl-9{padding-left:2.25rem}.pr-10{padding-right:2.5rem}.pr-11{padding-right:2.75rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-2xs{font-size:.6875rem;line-height:1rem}.text-3xs{font-size:.625rem;line-height:.875rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.tracking-\[0\.01em\]{letter-spacing:.01em}.tracking-label{letter-spacing:.15em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent{color:hsl(var(--accent))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-approval{color:hsl(var(--approval))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-danger{color:hsl(var(--danger))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-fuchsia-300{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity,1))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity,1))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity,1))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-success{color:hsl(var(--success))}.text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity,1))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.text-warning{color:hsl(var(--warning))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.accent-primary{accent-color:hsl(var(--primary))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-\[0\.12\]{opacity:.12}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-card{--tw-shadow:var(--shadow-card);--tw-shadow-colored:var(--shadow-card)}.shadow-card,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-\[var\(--shadow-card\)\]{--tw-shadow-color:var(--shadow-card);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-elevated\)\]{--tw-shadow-color:var(--shadow-elevated);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--shadow-soft\)\]{--tw-shadow-color:var(--shadow-soft);--tw-shadow:var(--tw-shadow-colored)}.shadow-card{--tw-shadow-color:hsl(var(--card));--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-primary\/10{--tw-ring-color:hsl(var(--primary)/0.1)}.ring-primary\/30{--tw-ring-color:hsl(var(--primary)/0.3)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-blur-xl{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--background:60 100% 97%;--foreground:207 31% 17%;--card:0 0% 100%;--card-foreground:207 31% 17%;--surface:207 20% 94%;--surface-2:210 18% 92%;--surface-elevated:0 0% 100%;--primary:209 85% 18%;--primary-foreground:60 100% 97%;--accent:51 84% 51%;--accent-foreground:207 31% 17%;--muted:207 20% 94%;--muted-foreground:220 15% 38%;--border:220 18% 82%;--input:220 18% 82%;--ring:206 84% 22%;--success:155 73% 22%;--warning:51 84% 51%;--danger:5 80% 40%;--approval:206 84% 22%;--shadow-color:209 85% 18%;--shadow-soft:0 20px 60px -28px hsl(var(--shadow-color)/0.10);--shadow-card:0 1px 2px rgba(0,0,0,0.06);--shadow-elevated:0 8px 24px rgba(0,0,0,0.08);--shadow-shell:0 36px 100px -48px hsl(var(--shadow-color)/0.12);--radius:0.75rem;--euraika-blue:#073455;--euraika-teal:#094668;--euraika-gold:#E9C819;--euraika-charcoal:#1E2D39;--euraika-mist:#558B82;--euraika-night-black:#0A0C10;--euraika-offwhite:#FEFFEF;--euraika-flow-gradient:linear-gradient(35deg,#073455,#094668 55%,#E9C819)}.dark{--background:213 15% 12%;--foreground:60 100% 97%;--card:212 14% 16%;--card-foreground:60 100% 97%;--surface:213 15% 12%;--surface-2:212 13% 20%;--surface-elevated:212 13% 20%;--primary:206 84% 22%;--primary-foreground:60 100% 97%;--accent:49 77% 46%;--accent-foreground:60 100% 97%;--muted:211 13% 22%;--muted-foreground:216 9% 64%;--border:216 14% 24%;--input:216 16% 27%;--ring:175 25% 43%;--success:155 32% 53%;--warning:51 84% 51%;--danger:5 48% 62%;--approval:204 23% 53%;--shadow-color:240 30% 3%;--shadow-soft:0 28px 80px -34px hsl(var(--shadow-color)/0.58);--shadow-card:0 14px 32px -24px hsl(var(--shadow-color)/0.4);--shadow-elevated:0 24px 80px -36px hsl(var(--shadow-color)/0.56);--shadow-shell:0 44px 140px -56px hsl(var(--shadow-color)/0.78);--euraika-flow-gradient:linear-gradient(35deg,#094668,#558B82 55%,#D2B416)}*{border-color:hsl(var(--border))}:root,body,html{height:100%}html{scroll-behavior:smooth}body{background-color:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at top,hsl(var(--primary)/.03),transparent 22%);opacity:.55}::-moz-selection{background:hsl(var(--primary)/.2)}::selection{background:hsl(var(--primary)/.2)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:hsl(var(--muted-foreground)/.25);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground)/.4);background-clip:padding-box}.field-input{width:100%;border-radius:1.25rem;border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.field-input:focus{border-color:hsl(var(--primary))}.euraika-flow-gradient{background:var(--euraika-flow-gradient)}.surface-subtle{background-color:hsl(var(--background)/.6)}.surface-default{background-color:hsl(var(--background)/.8)}.surface-solid{background-color:hsl(var(--background)/.95)}.card-subtle{background-color:hsl(var(--card)/.6)}.card-default{background-color:hsl(var(--card)/.8)}.card-solid{background-color:hsl(var(--card)/.95)}.brand-gradient{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground\/50::-moz-placeholder{color:hsl(var(--muted-foreground)/.5)}.placeholder\:text-muted-foreground\/50::placeholder{color:hsl(var(--muted-foreground)/.5)}.placeholder\:text-muted-foreground\/60::-moz-placeholder{color:hsl(var(--muted-foreground)/.6)}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground)/.6)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-border\/60:hover{border-color:hsl(var(--border)/.6)}.hover\:border-border\/70:hover{border-color:hsl(var(--border)/.7)}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary)/.4)}.hover\:bg-card:hover{background-color:hsl(var(--card))}.hover\:bg-card\/40:hover{background-color:hsl(var(--card)/.4)}.hover\:bg-card\/50:hover{background-color:hsl(var(--card)/.5)}.hover\:bg-danger\/20:hover{background-color:hsl(var(--danger)/.2)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted)/.3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted)/.4)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted)/.6)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary)/.2)}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.hover\:bg-purple-500\/20:hover{background-color:rgb(168 85 247/.2)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-primary:focus{border-color:hsl(var(--primary))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary)/.5)}.focus\:border-purple-500\/40:focus{border-color:rgb(168 85 247/.4)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary\/20:focus{--tw-ring-color:hsl(var(--primary)/0.2)}.focus\:ring-primary\/30:focus{--tw-ring-color:hsl(var(--primary)/0.3)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-70:disabled{opacity:.7}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:bg-background{background-color:hsl(var(--background))}.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}@media (min-width:640px){.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:inline-flex{display:inline-flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:p-3{padding:.75rem}}@media (min-width:1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:min-w-\[420px\]{min-width:420px}.lg\:max-w-\[360px\]{max-width:360px}.lg\:max-w-\[420px\]{max-width:420px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.lg\:grid-cols-\[320px_minmax\(0\2c 1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\2c 1\.1fr\)_minmax\(360px\2c 420px\)\]{grid-template-columns:minmax(0,1.1fr) minmax(360px,420px)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:gap-5{gap:1.25rem}.lg\:justify-self-end{justify-self:end}.lg\:p-6{padding:1.5rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:pb-10{padding-bottom:2.5rem}.lg\:pb-5{padding-bottom:1.25rem}}@media (min-width:1280px){.xl\:inset-x-auto{left:auto;right:auto}.xl\:bottom-auto{bottom:auto}.xl\:right-4{right:1rem}.xl\:top-\[calc\(1rem\+72px\)\]{top:calc(1rem + 72px)}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:h-\[calc\(100vh-5\.75rem\)\]{height:calc(100vh - 5.75rem)}.xl\:max-h-none{max-height:none}.xl\:w-\[360px\]{width:360px}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.xl\:flex-row{flex-direction:row}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}.xl\:gap-6{gap:1.5rem}}
package/README.md CHANGED
@@ -114,12 +114,24 @@ Installed skills with search and category filters. Discover tab for the skills.s
114
114
  ![Skills discover tab](docs/assets/screenshots/skills-discover.png)
115
115
  </details>
116
116
 
117
+ <details>
118
+ <summary><strong>Marketplace</strong></summary>
119
+
120
+ ![Marketplace discovery view](docs/assets/screenshots/marketplace.png)
121
+ </details>
122
+
117
123
  <details>
118
124
  <summary><strong>Extensions & MCP</strong></summary>
119
125
 
120
126
  ![Extensions page](docs/assets/screenshots/extensions.png)
121
127
  </details>
122
128
 
129
+ <details>
130
+ <summary><strong>Plugins</strong></summary>
131
+
132
+ ![Plugins page](docs/assets/screenshots/plugins.png)
133
+ </details>
134
+
123
135
  <details>
124
136
  <summary><strong>Memory</strong></summary>
125
137
 
@@ -229,6 +241,11 @@ npm run dev
229
241
 
230
242
  ## Recent Changes
231
243
 
244
+ ### [0.7.1] — 2026-04-10
245
+ - **Fixed** post-0.7.0 regressions in skill installs, skill discovery parsing, MCP hub persistence, MCP probe refresh, stale hub metadata fallback, and command allowlist handling
246
+ - **Improved** install UX so blocked community skills can be force-installed intentionally and installed cards behave more predictably
247
+ - **Verified** current MCP install/test flows for `ai.memestack/mcp` and `dev-fentz-envcp-envcp`, plus release readiness with lint, tests, build, and dry-run packaging
248
+
232
249
  ### [0.7.0] — 2026-04-09
233
250
  - **Added** the full UX roadmap to `main`: chat-first workspace redesign, marketplace discovery refresh, integrations IA cleanup, compact navigation mode, and stronger login/onboarding guidance
234
251
  - **Changed** shell hierarchy, session scanability, and discovery/install surfaces so Pan feels calmer and more product-grade without losing power-user depth
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@euraika-labs/pan-ui",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "Beautiful WebUI for Hermes Agent — chat, skills, plugins, memory, profiles, and runtime diagnostics in one workspace.",
5
5
  "keywords": [
6
6
  "hermes",
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1257],{685:(e,t,r)=>{function l(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function s(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function a(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function n(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function d(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function o(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function i(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}r.d(t,{B6:()=>i,BX:()=>d,CF:()=>a,CV:()=>s,Ow:()=>o,VJ:()=>l,b:()=>n,mF:()=>c})},1257:(e,t,r)=>{r.r(t),r.d(t,{SkillsScreen:()=>L});var l=r(5155),s=r(2115),a=r(63),n=r(6907),d=r(7910),o=r(7801),i=r(9867),c=r(5880),u=r(9068),m=r(9347),x=r(6651),p=r(5229),h=r(8734),g=r(8584),f=r(2619),b=r.n(f),y=r(7726),v=r(1613),j=r(685);function k(e){var t;let{skill:r,loadedInCurrentSession:s=!1,sessionId:a}=e,n=a?"/skills/".concat(r.id,"?session=").concat(encodeURIComponent(a)):"/skills/".concat(r.id),d=null==(t=r.linkedFiles)?void 0:t.reduce((e,t)=>(e[t.group]=(e[t.group]||0)+1,e),{});return(0,l.jsxs)(b(),{href:n,"aria-label":r.id,className:"block rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:bg-muted/40 hover:shadow-md",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("h3",{className:"truncate text-sm font-semibold",children:r.name}),r.category?(0,l.jsxs)("span",{className:"hidden shrink-0 items-center gap-1 rounded-md bg-muted/60 px-1.5 py-0.5 text-3xs text-muted-foreground sm:inline-flex",children:[(0,l.jsx)(h.A,{className:"h-2.5 w-2.5"}),r.category]}):null]}),(0,l.jsx)("p",{className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:r.description})]}),(0,l.jsxs)("div",{className:"space-y-1.5 text-right text-3xs",children:[(0,l.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,j.VJ)(r.scope,r.ownerProfileId)}),(0,l.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,j.CV)(r.provenance)})]})]}),r.tags&&r.tags.length>0?(0,l.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1",children:[r.tags.slice(0,4).map(e=>(0,l.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-md bg-primary/8 px-1.5 py-0.5 text-3xs text-muted-foreground",children:[(0,l.jsx)(y.A,{className:"h-2 w-2"}),e]},e)),r.tags.length>4?(0,l.jsxs)("span",{className:"rounded-md bg-muted/50 px-1.5 py-0.5 text-3xs text-muted-foreground",children:["+",r.tags.length-4]}):null]}):null,(0,l.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-1.5 text-xs",children:[(0,l.jsx)("span",{className:"rounded-full px-2 py-0.5 ".concat(r.enabled?"bg-success/15 text-foreground":"bg-muted text-muted-foreground"),children:r.enabled?"Enabled":r.installed?"Installed":"Available"}),s?(0,l.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-foreground",children:"Loaded"}):null,d&&Object.keys(d).length>0?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:[(0,l.jsx)(v.A,{className:"h-3 w-3"}),Object.entries(d).map(e=>{let[t,r]=e;return"".concat(r," ").concat(t)}).join(", ")]}):null,r.updatedAt?(0,l.jsx)("span",{className:"rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:new Date(r.updatedAt).toLocaleDateString()}):null]})]})}var N=r(9318),w=r(2604);function A(e){let{level:t}=e;return"trusted"===t?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-500/15 px-2 py-0.5 text-3xs font-medium text-emerald-400",children:[(0,l.jsx)(n.A,{className:"h-2.5 w-2.5"}),"Trusted"]}):"official"===t?(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-blue-500/15 px-2 py-0.5 text-3xs font-medium text-blue-400",children:[(0,l.jsx)(d.A,{className:"h-2.5 w-2.5"}),"Official"]}):(0,l.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-500/15 px-2 py-0.5 text-3xs font-medium text-amber-400",children:[(0,l.jsx)(o.A,{className:"h-2.5 w-2.5"}),"Community"]})}function C(e){let{audits:t}=e;return t?(0,l.jsx)("div",{className:"flex gap-1",children:Object.entries(t).map(e=>{let[t,r]=e;return(0,l.jsxs)("span",{className:"rounded-full px-1.5 py-0.5 text-[9px] font-medium ".concat("Pass"===r?"bg-emerald-500/15 text-emerald-400":"Warn"===r?"bg-amber-500/15 text-amber-400":"bg-red-500/15 text-red-400"),children:[t,": ",r]},t)})}):null}function S(e){var t,r;let{skill:s,onInstall:a,installing:n}=e;return(0,l.jsxs)("div",{className:"flex flex-col rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,l.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("h3",{className:"truncate text-sm font-semibold",children:s.name}),(0,l.jsx)(A,{level:s.trustLevel})]}),(0,l.jsx)("p",{className:"mt-0.5 text-2xs text-muted-foreground",children:s.repo})]}),null!=s.installs?(0,l.jsxs)("span",{className:"shrink-0 rounded-lg bg-muted/50 px-2 py-0.5 text-3xs text-muted-foreground",children:[(0,l.jsx)(i.A,{className:"mr-0.5 inline h-2.5 w-2.5"}),s.installs.toLocaleString()]}):null]}),(0,l.jsx)("p",{className:"mt-2 line-clamp-3 flex-1 text-xs leading-5 text-muted-foreground",children:(null==(t=s.detail)?void 0:t.summary)||s.description}),(null==(r=s.detail)?void 0:r.securityAudits)?(0,l.jsx)("div",{className:"mt-2",children:(0,l.jsx)(C,{audits:s.detail.securityAudits})}):null,(0,l.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,l.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),a()},disabled:n,className:"rounded-xl bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground shadow-sm transition hover:opacity-90 disabled:opacity-50",children:n?"Installing…":"Install"}),s.detailUrl?(0,l.jsxs)("a",{href:s.detailUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(c.A,{className:"h-3 w-3"}),"skills.sh"]}):null,s.repoUrl?(0,l.jsxs)("a",{href:s.repoUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,l.jsx)(u.A,{className:"h-3 w-3"}),"Repo"]}):null]})]})}function L(){var e,t,r,n,d,o;let i=(0,a.useRouter)(),c=(0,a.useSearchParams)().get("session"),[u,f]=(0,s.useState)("installed"),[b,y]=(0,s.useState)(null),[v,j]=(0,s.useState)(""),[A,C]=(0,s.useState)(""),[L,M]=(0,s.useState)(""),I=(0,N.a$)("installed"===u),V=(0,N.$P)(),F=(0,N.vb)(A||void 0),P=(0,N.jM)(),[q,O]=(0,s.useState)(null),{selectedProfileId:H,activeSessionId:E,setActiveSessionId:U}=(0,w.j)();(0,s.useEffect)(()=>{c&&(c!==E&&U(c),i.replace("/skills",{scroll:!1}))},[E,c,i,U]);let z=(0,g.Ux)(H,null!=c?c:E),D=new Set((null==(t=z.data)||null==(e=t.loadedSkillIds)?void 0:e.length)?z.data.loadedSkillIds:["skill-authoring"]),_=null!=(d=I.data)?d:[],B=(0,s.useMemo)(()=>{var e;let t=new Set;for(let e of _)e.category&&t.add(e.category);for(let r of null!=(e=V.data)?e:[])t.add(r);return Array.from(t).sort()},[_,V.data]),T=(0,s.useMemo)(()=>{let e=_;if(b&&(e=e.filter(e=>e.category===b)),v.trim()){let t=v.toLowerCase();e=e.filter(e=>{var r,l;return e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)||(null==(r=e.tags)?void 0:r.some(e=>e.toLowerCase().includes(t)))||(null==(l=e.category)?void 0:l.toLowerCase().includes(t))})}return e},[_,b,v]),R=null!=(o=null==(r=F.data)?void 0:r.skills)?o:[],G=_.filter(e=>e.enabled).length,J=_.filter(e=>e.linkedFiles&&e.linkedFiles.length>0).length;async function W(e){O(e.id);try{await P.mutateAsync({identifier:e.identifier})}finally{O(null)}}return(0,l.jsxs)("div",{className:"h-full overflow-y-auto space-y-5 p-4 pb-8 lg:p-6 lg:pb-10",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"text-2xl font-semibold",children:"Skills"}),(0,l.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"installed"===u?(0,l.jsxs)(l.Fragment,{children:["Browse ",_.length," installed skills across ",B.length," categories.",G>0?" ".concat(G," enabled."):"",J>0?" ".concat(J," include references, scripts, or templates."):""]}):(0,l.jsxs)(l.Fragment,{children:["Discover skills from skills.sh and other registries. ",R.length," available to install",(null==(n=F.data)?void 0:n.total)?" (".concat(F.data.total," total, ").concat(F.data.total-R.length," already installed)"):"","."]})})]}),(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsxs)("button",{type:"button",onClick:()=>f("installed"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("installed"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:["Installed (",_.length,")"]}),(0,l.jsxs)("button",{type:"button",onClick:()=>f("discover"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("discover"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:[(0,l.jsx)(m.A,{className:"mr-1 inline h-3.5 w-3.5"}),"Discover"]})]}),"installed"===u?(0,l.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-md",children:[(0,l.jsx)(x.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,l.jsx)("input",{type:"text",placeholder:"Search skills by name, tag, or category…",value:v,onChange:e=>j(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),v?(0,l.jsx)("button",{type:"button",onClick:()=>j(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,l.jsx)(p.A,{className:"h-4 w-4"})}):null]}):(0,l.jsxs)("form",{className:"relative flex-1 min-w-[200px] max-w-md",onSubmit:e=>{e.preventDefault(),C(L)},children:[(0,l.jsx)(x.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,l.jsx)("input",{type:"text",placeholder:"Search skills.sh (e.g. kubernetes, react, python)…",value:L,onChange:e=>M(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),L?(0,l.jsx)("button",{type:"button",onClick:()=>{M(""),C("")},className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,l.jsx)(p.A,{className:"h-4 w-4"})}):null]})]}),"installed"===u?(0,l.jsxs)(l.Fragment,{children:[B.length>0?(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,l.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"}),(0,l.jsx)("button",{type:"button",onClick:()=>y(null),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(b?"border border-border/50 text-muted-foreground hover:bg-card":"bg-primary/15 text-foreground ring-1 ring-primary/30"),children:"All"}),B.map(e=>{let t=_.filter(t=>t.category===e).length;return(0,l.jsxs)("button",{type:"button",onClick:()=>y(b===e?null:e),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(b===e?"bg-primary/15 text-foreground ring-1 ring-primary/30":"border border-border/50 text-muted-foreground hover:bg-card"),children:[e," (",t,")"]},e)})]}):null,I.isLoading?(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading skill data…"}):null,D.size?(0,l.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-card/80 p-3 text-sm text-muted-foreground",children:[(0,l.jsx)("span",{className:"font-medium text-foreground",children:"Loaded in current session:"}),(0,l.jsx)("span",{className:"ml-2",children:Array.from(D).join(", ")})]}):null,I.isLoading||0!==T.length?null:(0,l.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:v||b?'No skills match "'.concat(v||b,'". Try a different filter.'):"No installed skills were detected for the current runtime/profile scope."}),(0,l.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:T.map(e=>(0,l.jsx)(k,{skill:e,loadedInCurrentSession:D.has(e.id),sessionId:null!=c?c:E},e.id))})]}):null,"discover"===u?(0,l.jsxs)(l.Fragment,{children:[F.isLoading?(0,l.jsx)("p",{className:"text-sm text-muted-foreground",children:"Searching skills.sh…"}):null,F.isLoading||0!==R.length?null:(0,l.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:A?'No skills found for "'.concat(A,'". Try a different search term.'):"No discoverable skills found. The skills.sh cache may need to be populated — run `hermes skills browse` in your terminal."}),(0,l.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:R.map(e=>(0,l.jsx)(S,{skill:e,onInstall:()=>W(e),installing:q===e.id},e.id))})]}):null]})}},1613:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]])},5880:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},7726:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]])},7910:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},8734:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},9068:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},9347:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]])},9867:(e,t,r)=>{r.d(t,{A:()=>l});let l=(0,r(1847).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9860],{1375:(e,a,t)=>{t.d(a,{eS:()=>u,pp:()=>p,W5:()=>m,Gu:()=>c});var l=t(5155),o=t(5299),i=t(1847);let n=(0,i.A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]),r=(0,i.A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var s=t(4269);function d(e){return"banner"===e?"rounded-xl border border-border/60 bg-card/50 p-4 shadow-[var(--shadow-card)]":"rounded-2xl border border-border/60 bg-card/55 p-6 shadow-[var(--shadow-card)]"}function c(e){var a;let{title:t,message:i,description:n,layout:r="card",className:c,children:p}=e,u=null!=(a=null!=t?t:i)?a:"Loading…";return(0,l.jsxs)("div",{className:(0,s.cn)(d(r),c),children:[(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(o.A,{className:"mt-0.5 h-4 w-4 animate-spin text-primary"}),(0,l.jsxs)("div",{className:"min-w-0",children:[(0,l.jsx)("p",{className:"font-semibold text-foreground",children:u}),n?(0,l.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]})]}),p?(0,l.jsx)("div",{className:"mt-4",children:p}):null]})}function p(e){let{title:a,description:t,icon:o,primaryAction:i,secondaryAction:r,action:c,layout:p="card",className:u}=e,m=null!=i?i:c;return(0,l.jsx)("div",{className:(0,s.cn)(d(p),"border-dashed",u),children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)("div",{className:"mt-0.5 text-primary",children:null!=o?o:(0,l.jsx)(n,{className:"h-4 w-4"})}),(0,l.jsxs)("div",{className:"min-w-0",children:[(0,l.jsx)("p",{className:"font-semibold text-foreground",children:a}),(0,l.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:t}),m||r?(0,l.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[m,r]}):null]})]})})}function u(e){let{title:a,description:t,severity:o="warning",icon:i,details:n,primaryAction:c,secondaryAction:p,layout:u="card",className:m}=e;return(0,l.jsx)("div",{className:(0,s.cn)(d(u),"danger"===o?"border-danger/35 bg-danger/10":"border-warning/35 bg-warning/10",m),children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)("div",{className:(0,s.cn)("mt-0.5","danger"===o?"text-danger":"text-warning"),children:null!=i?i:(0,l.jsx)(r,{className:"h-4 w-4"})}),(0,l.jsxs)("div",{className:"min-w-0",children:[(0,l.jsx)("p",{className:"font-semibold text-foreground",children:a}),(0,l.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:t}),n?(0,l.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:n}):null,c||p?(0,l.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[c,p]}):null]})]})})}function m(e){let{title:a="Something went wrong",error:t,message:o,description:i,primaryAction:n,secondaryAction:c,layout:p="card",className:u}=e,m=null!=o?o:t,j="string"==typeof m?m:m instanceof Error?m.message:null;return(0,l.jsx)("div",{className:(0,s.cn)(d(p),"border-danger/35 bg-danger/10",u),children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(r,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,l.jsxs)("div",{className:"min-w-0",children:[(0,l.jsx)("p",{className:"font-semibold text-foreground",children:a}),i?(0,l.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:i}):null,j?(0,l.jsx)("p",{className:"mt-1 text-sm leading-6 text-foreground",children:j}):null,n||c?(0,l.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[n,c]}):null]})]})})}},4412:(e,a,t)=>{t.d(a,{O:()=>i});var l=t(5155),o=t(4269);function i(e){let{count:a=6,className:t,cardClassName:i}=e;return(0,l.jsx)("div",{className:(0,o.cn)("grid gap-4 md:grid-cols-2 xl:grid-cols-3",t),children:Array.from({length:a}).map((e,a)=>(0,l.jsx)("div",{className:(0,o.cn)("h-40 animate-pulse rounded-2xl border border-border/50 bg-card/50",i)},a))})}},5299:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(1847).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},6670:(e,a,t)=>{t.d(a,{J:()=>r,K:()=>s});var l=t(2454),o=t(9776),i=t(549),n=t(9678);function r(e){let a=e?"?q=".concat(encodeURIComponent(e)):"";return(0,l.I)({queryKey:["hub-mcp",null!=e?e:""],queryFn:()=>(0,n.n)("/api/extensions/hub".concat(a))})}function s(){let e=(0,o.jE)();return(0,i.n)({mutationFn:e=>(0,n.n)("/api/extensions/hub/install",{method:"POST",body:JSON.stringify(e)}),onSuccess:()=>{e.invalidateQueries({queryKey:["hub-mcp"]}),e.invalidateQueries({queryKey:["extensions"]})}})}},9054:(e,a,t)=>{t.d(a,{HB:()=>m,C5:()=>j,d:()=>p,iF:()=>u,YM:()=>Y});var l=t(4879);l.gM("type",[l.Ik({type:l.eu("assistant.delta"),delta:l.Yj()}),l.Ik({type:l.eu("run.phase"),phase:l.k5(["drafting","tool-started","waiting-approval","completed"]),label:l.Yj()}),l.Ik({type:l.eu("tool.started"),toolCallId:l.Yj(),toolName:l.Yj(),riskLevel:l.k5(["read","write","execute","admin"]).optional(),provenance:l.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),l.Ik({type:l.eu("tool.awaiting_approval"),toolCallId:l.Yj(),toolName:l.Yj(),summary:l.Yj(),riskLevel:l.k5(["read","write","execute","admin"]).optional(),governance:l.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),l.Ik({type:l.eu("tool.completed"),toolCallId:l.Yj(),toolName:l.Yj(),output:l.Yj().optional(),riskLevel:l.k5(["read","write","execute","admin"]).optional()}),l.Ik({type:l.eu("artifact.emitted"),artifactId:l.Yj(),artifactType:l.Yj(),label:l.Yj(),content:l.Yj().optional()}),l.Ik({type:l.eu("source.emitted"),source:l.Ik({id:l.Yj(),title:l.Yj(),href:l.Yj().optional(),snippet:l.Yj().optional(),sourceType:l.k5(["web","file","workspace","integration","unknown"]),provenance:l.k5(["built-in","verified","custom","self-hosted","local-process"]),note:l.Yj().optional(),label:l.Yj().optional()})}),l.Ik({type:l.eu("error"),message:l.Yj()})]),l.Ik({model:l.Yj(),provider:l.Yj(),policyPreset:l.k5(["safe-chat","research","builder","full-power"]),memoryMode:l.k5(["standard","minimal"])}),l.Ik({id:l.Yj(),title:l.Yj(),updatedAt:l.Yj(),preview:l.Yj().optional()});let o=l.Ik({id:l.Yj(),name:l.Yj(),description:l.Yj(),enabled:l.zM(),riskLevel:l.k5(["read","write","execute","admin"]),scope:l.k5(["global","profile","session"]),approvalPolicy:l.k5(["auto","on-request","always"]).optional(),lastUsedAt:l.Yj().optional()}),i=l.Ik({command:l.Yj().optional(),url:l.Yj().optional(),authType:l.k5(["none","api-key","oauth"]).optional(),token:l.Yj().optional()}),n=l.Ik({source:l.k5(["live","cache","persisted","failed"]),errorText:l.Yj().nullable().optional(),remediation:l.YO(l.Yj()).optional(),discoveredTools:l.ai().optional(),probedAt:l.Yj().optional()}),r=l.Ik({id:l.Yj(),name:l.Yj(),description:l.Yj(),health:l.k5(["healthy","degraded","blocked","failed"]),riskLevel:l.k5(["read","write","execute","admin"]),authState:l.k5(["connected","needs-auth","expired"]),governance:l.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:l.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:l.k5(["auto","on-request","always"]),type:l.k5(["mcp","native","builtin"]),installed:l.zM(),config:i,capabilities:l.YO(o),toolCount:l.ai(),profilesUsing:l.YO(l.Yj()),diagnostics:n.optional(),version:l.Yj().optional(),updatedAt:l.Yj().optional()}),s=l.Ik({id:l.Yj(),name:l.Yj(),sourceExtensionId:l.Yj(),sourceExtensionName:l.Yj(),category:l.k5(["mcp","builtin","native"]),riskLevel:l.k5(["read","write","execute","admin"]),enabled:l.zM(),approvalPolicy:l.k5(["auto","on-request","always"]),lastUsedAt:l.Yj().optional(),scope:l.k5(["global","profile","session"])});l.Ik({id:l.Yj(),createdAt:l.Yj(),action:l.Yj(),targetType:l.Yj(),targetId:l.Yj(),detail:l.Yj()}),l.Ik({id:l.Yj(),content:l.Yj(),updatedAt:l.Yj().optional(),scope:l.k5(["user","agent"])}),l.Ik({activeProfileId:l.Yj().nullable(),activeSessionId:l.Yj().nullable(),activeSessionTitle:l.Yj().optional(),activeSessionPreview:l.Yj().optional(),loadedSkillIds:l.YO(l.Yj()),model:l.Yj().optional(),provider:l.Yj().optional(),policyPreset:l.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:l.k5(["standard","minimal"]).optional(),userMemory:l.YO(l.Yj()),agentMemory:l.YO(l.Yj())}),l.Ik({id:l.Yj(),name:l.Yj(),modelDefault:l.Yj().optional(),policyPreset:l.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:l.ai().optional(),skillCount:l.ai().optional(),extensionCount:l.ai().optional(),active:l.zM().optional()}),l.Ik({id:l.Yj(),title:l.Yj(),updatedAt:l.Yj(),status:l.k5(["active","archived"]),preview:l.Yj().optional(),parentSessionId:l.Yj().optional()});let d=l.Ik({path:l.Yj(),name:l.Yj(),group:l.Yj()}),c=l.Ik({id:l.Yj(),name:l.Yj(),description:l.Yj(),source:l.k5(["bundled","local","hub","agent-created"]),scope:l.k5(["builtin","global","profile"]),provenance:l.k5(["built-in","verified","custom","local-process"]),installed:l.zM(),enabled:l.zM(),content:l.Yj(),loadedInSessions:l.YO(l.Yj()).optional(),ownerProfileId:l.Yj().nullable().optional(),filePath:l.Yj().optional(),version:l.Yj().optional(),updatedAt:l.Yj().optional(),impliedTools:l.YO(l.Yj()).optional(),category:l.Yj().optional(),tags:l.YO(l.Yj()).optional(),relatedSkills:l.YO(l.Yj()).optional(),linkedFiles:l.YO(d).optional(),author:l.Yj().optional()}),p=e=>c.parse(e),u=e=>c.array().parse(e),m=e=>r.parse(e),j=e=>r.array().parse(e),Y=e=>s.array().parse(e)}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3140,8153],{140:(e,s,t)=>{Promise.resolve().then(t.bind(t,1935)),Promise.resolve().then(t.bind(t,9136)),Promise.resolve().then(t.bind(t,6981)),Promise.resolve().then(t.bind(t,3140))},962:(e,s,t)=>{"use strict";t.d(s,{Ho:()=>o,P4:()=>c,c$:()=>i,qw:()=>d});var n=t(2454),r=t(9776),l=t(549),a=t(9678);function d(){return(0,n.I)({queryKey:["plugins"],queryFn:()=>(0,a.n)("/api/plugins"),select:e=>e.plugins})}function i(){let e=(0,r.jE)();return(0,l.n)({mutationFn:e=>(0,a.n)("/api/plugins/install",{method:"POST",body:JSON.stringify(e)}),onSuccess:()=>{e.invalidateQueries({queryKey:["plugins"]})}})}function o(){let e=(0,r.jE)();return(0,l.n)({mutationFn:e=>(0,a.n)("/api/plugins/".concat(e),{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["plugins"]})}})}function c(){let e=(0,r.jE)();return(0,l.n)({mutationFn:e=>{let{id:s,enabled:t}=e;return(0,a.n)("/api/plugins/".concat(s,"/enable"),{method:"POST",body:JSON.stringify({enabled:t})})},onSuccess:()=>{e.invalidateQueries({queryKey:["plugins"]})}})}},1375:(e,s,t)=>{"use strict";t.d(s,{eS:()=>m,pp:()=>u,W5:()=>x,Gu:()=>c});var n=t(5155),r=t(5299),l=t(1847);let a=(0,l.A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]),d=(0,l.A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var i=t(4269);function o(e){return"banner"===e?"rounded-xl border border-border/60 bg-card/50 p-4 shadow-[var(--shadow-card)]":"rounded-2xl border border-border/60 bg-card/55 p-6 shadow-[var(--shadow-card)]"}function c(e){var s;let{title:t,message:l,description:a,layout:d="card",className:c,children:u}=e,m=null!=(s=null!=t?t:l)?s:"Loading…";return(0,n.jsxs)("div",{className:(0,i.cn)(o(d),c),children:[(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(r.A,{className:"mt-0.5 h-4 w-4 animate-spin text-primary"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:m}),a?(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:a}):null]})]}),u?(0,n.jsx)("div",{className:"mt-4",children:u}):null]})}function u(e){let{title:s,description:t,icon:r,primaryAction:l,secondaryAction:d,action:c,layout:u="card",className:m}=e,x=null!=l?l:c;return(0,n.jsx)("div",{className:(0,i.cn)(o(u),"border-dashed",m),children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("div",{className:"mt-0.5 text-primary",children:null!=r?r:(0,n.jsx)(a,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:s}),(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:t}),x||d?(0,n.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[x,d]}):null]})]})})}function m(e){let{title:s,description:t,severity:r="warning",icon:l,details:a,primaryAction:c,secondaryAction:u,layout:m="card",className:x}=e;return(0,n.jsx)("div",{className:(0,i.cn)(o(m),"danger"===r?"border-danger/35 bg-danger/10":"border-warning/35 bg-warning/10",x),children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("div",{className:(0,i.cn)("mt-0.5","danger"===r?"text-danger":"text-warning"),children:null!=l?l:(0,n.jsx)(d,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:s}),(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:t}),a?(0,n.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:a}):null,c||u?(0,n.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[c,u]}):null]})]})})}function x(e){let{title:s="Something went wrong",error:t,message:r,description:l,primaryAction:a,secondaryAction:c,layout:u="card",className:m}=e,x=null!=r?r:t,p="string"==typeof x?x:x instanceof Error?x.message:null;return(0,n.jsx)("div",{className:(0,i.cn)(o(u),"border-danger/35 bg-danger/10",m),children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(d,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:s}),l?(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:l}):null,p?(0,n.jsx)("p",{className:"mt-1 text-sm leading-6 text-foreground",children:p}):null,a||c?(0,n.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[a,c]}):null]})]})})}},3140:(e,s,t)=>{"use strict";t.r(s),t.d(s,{PluginsScreen:()=>f});var n=t(5155),r=t(2115),l=t(8599),a=t(1375),d=t(962),i=t(1847);let o=(0,i.A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);var c=t(4269);let u={user:"bg-blue-500/15 text-blue-400",builtin:"bg-emerald-500/15 text-emerald-400",pip:"bg-amber-500/15 text-amber-400"};function m(e){let{plugin:s,onToggle:t,onRemove:r}=e;return(0,n.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("h3",{className:"truncate text-lg font-semibold",children:s.name}),(0,n.jsxs)("span",{className:"shrink-0 rounded-full bg-muted/70 px-2 py-0.5 text-2xs text-muted-foreground",children:["v",s.version]})]}),s.author&&(0,n.jsxs)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:["by ",s.author]})]}),(0,n.jsx)("span",{className:(0,c.cn)("shrink-0 rounded-full px-2 py-0.5 text-2xs font-medium",u[s.source]),children:s.source})]}),s.description&&(0,n.jsx)("p",{className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:s.description}),s.providedTools.length>0&&(0,n.jsxs)("div",{className:"mt-3",children:[(0,n.jsx)("p",{className:"text-2xs font-medium uppercase tracking-label text-muted-foreground",children:"Tools"}),(0,n.jsx)("div",{className:"mt-1 flex flex-wrap gap-1",children:s.providedTools.map(e=>(0,n.jsx)("span",{className:"rounded-md bg-muted/50 px-1.5 py-0.5 text-2xs text-muted-foreground",children:e},e))})]}),s.providedHooks.length>0&&(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsx)("p",{className:"text-2xs font-medium uppercase tracking-label text-muted-foreground",children:"Hooks"}),(0,n.jsx)("div",{className:"mt-1 flex flex-wrap gap-1",children:s.providedHooks.map(e=>(0,n.jsx)("span",{className:"rounded-md bg-muted/50 px-1.5 py-0.5 text-2xs text-muted-foreground",children:e},e))})]}),(0,n.jsxs)("div",{className:"mt-4 flex items-center justify-between border-t border-border/70 pt-4",children:[(0,n.jsxs)("label",{className:"flex cursor-pointer items-center gap-2",children:[(0,n.jsx)("button",{type:"button",role:"switch","aria-checked":s.enabled,onClick:()=>t(s.id,!s.enabled),className:(0,c.cn)("relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors",s.enabled?"bg-primary":"bg-muted"),children:(0,n.jsx)("span",{className:(0,c.cn)("pointer-events-none block h-4 w-4 rounded-full bg-white shadow-sm transition-transform",s.enabled?"translate-x-[18px]":"translate-x-0.5")})}),(0,n.jsx)("span",{className:"text-sm text-muted-foreground",children:s.enabled?"Enabled":"Disabled"})]}),"user"===s.source&&r&&(0,n.jsxs)("button",{type:"button",onClick:()=>r(s.id),className:"flex items-center gap-1.5 rounded-lg border border-danger/30 bg-danger/10 px-2.5 py-1.5 text-xs text-danger transition hover:bg-danger/20",children:[(0,n.jsx)(o,{className:"h-3.5 w-3.5"}),"Remove"]})]})]})}let x=(0,i.A)("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var p=t(5299);let g=/^[a-zA-Z0-9][a-zA-Z0-9._-]*\/[a-zA-Z0-9._-]+$/;function h(e){let{open:s,onClose:t}=e,[l,a]=(0,r.useState)(""),[i,o]=(0,r.useState)(null),c=(0,d.c$)();if(!s)return null;let u=g.test(l);async function m(){if(!l.trim())return void o("Repository is required.");if(!u)return void o("Invalid format. Use owner/repo (for example nousresearch/hermes-plugin-web).");o(null);try{await c.mutateAsync({identifier:l.trim()}),a(""),o(null),t()}catch(e){o(function(e){let s=e.toLowerCase();return s.includes("plugin.yaml")?"This repository cloned successfully, but it is not a valid Hermes plugin yet. A valid plugin repo must include a plugin.yaml manifest.":s.includes("__init__.py")?"This repository is missing the required __init__.py plugin entrypoint, so Pan cannot treat it as a real plugin.":s.includes("already exists")||s.includes("already installed")?"That plugin is already installed in this workspace.":e}(e instanceof Error?e.message:String(e)))}}return(0,n.jsx)("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/50 p-4",children:(0,n.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-border bg-background p-5 shadow-xl",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(x,{className:"h-5 w-5 text-primary"}),(0,n.jsx)("h3",{className:"text-lg font-semibold",children:"Install plugin"})]}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Install a repo-based plugin when you need custom hooks or tool bundles beyond MCP servers and built-in integrations."}),(0,n.jsxs)("div",{className:"mt-4 rounded-xl border border-border/70 bg-card/60 p-3 text-sm text-muted-foreground",children:[(0,n.jsx)("p",{className:"font-medium text-foreground",children:"What counts as a valid plugin repo?"}),(0,n.jsxs)("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-xs leading-5",children:[(0,n.jsxs)("li",{children:["Use the GitHub format ",(0,n.jsx)("span",{className:"font-medium text-foreground",children:"owner/repo"}),"."]}),(0,n.jsxs)("li",{children:["The repository must contain a ",(0,n.jsx)("span",{className:"font-medium text-foreground",children:"plugin.yaml"})," manifest."]}),(0,n.jsxs)("li",{children:["The repository must also include the required ",(0,n.jsx)("span",{className:"font-medium text-foreground",children:"__init__.py"})," entrypoint."]})]})]}),(0,n.jsxs)("div",{className:"mt-4",children:[(0,n.jsx)("label",{className:"text-xs font-medium text-muted-foreground",children:"GitHub repository"}),(0,n.jsx)("input",{value:l,onChange:e=>{a(e.target.value),o(null)},placeholder:"owner/repo",className:"mt-1 w-full rounded-lg border bg-background px-3 py-2 text-sm outline-none placeholder:text-muted-foreground/50 focus:border-primary/50 ".concat(i?"border-red-500/70":"border-input"),autoFocus:!0,onKeyDown:e=>{"Enter"===e.key&&m()}}),!l||u||i?null:(0,n.jsx)("p",{className:"mt-1 text-xs text-amber-400",children:"Format: owner/repo (for example nousresearch/hermes-plugin-web)"}),l||i?null:(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Pan validates the repo before counting the install as successful."})]}),i?(0,n.jsx)("div",{className:"mt-3 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-400",children:i}):null,c.isSuccess?(0,n.jsx)("div",{className:"mt-3 rounded-lg border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-400",children:"Plugin installed successfully."}):null,(0,n.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,n.jsx)("button",{type:"button",onClick:function(){a(""),o(null),c.reset(),t()},className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Cancel"}),(0,n.jsxs)("button",{type:"button",onClick:()=>void m(),disabled:c.isPending||!l.trim()||!u,className:"flex items-center gap-2 rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50",children:[c.isPending?(0,n.jsx)(p.A,{className:"h-4 w-4 animate-spin"}):null,c.isPending?"Installing…":"Install plugin"]})]})]})})}function f(){var e;let s=(0,d.qw)(),t=(0,d.P4)(),i=(0,d.Ho)(),[o,c]=(0,r.useState)(!1),u=null!=(e=s.data)?e:[];function x(e,s){t.mutateAsync({id:e,enabled:s})}function p(e){i.mutateAsync(e)}return(0,n.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 pb-8 lg:p-6 lg:pb-10",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-start md:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold",children:"Plugins"}),(0,n.jsx)("p",{className:"mt-2 max-w-3xl text-sm text-muted-foreground",children:"Plugins are repo-based extensions for custom hooks and bundled tools. Use MCP servers for live external systems, and use plugins when you need deeper runtime customization."})]}),(0,n.jsx)("button",{type:"button",onClick:()=>c(!0),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Install plugin"})]}),(0,n.jsxs)("div",{className:"rounded-2xl border border-border/60 bg-card/55 p-4 text-sm text-muted-foreground shadow-sm",children:[(0,n.jsx)("p",{className:"font-medium text-foreground",children:"How plugins differ from integrations"}),(0,n.jsx)("p",{className:"mt-2",children:"Integrations and MCP servers focus on what the agent can reach right now. Plugins focus on adding custom hooks, packaged tools, and deeper behavior changes to the runtime."})]}),s.isLoading?(0,n.jsx)(a.Gu,{title:"Loading plugins…",description:"Reading installed plugins and their tool/hook metadata for this workspace."}):null,s.isError?(0,n.jsx)(a.W5,{title:"Could not load plugins",error:s.error,description:"Pan could not read the installed plugin inventory right now."}):null,s.isSuccess&&0===u.length?(0,n.jsx)(a.pp,{title:"No plugins installed",description:"Plugins are optional and usually come after skills and MCP servers. Install one when you need repo-based hooks, tool bundles, or runtime customization.",icon:(0,n.jsx)(l.A,{className:"h-5 w-5"}),primaryAction:(0,n.jsx)("button",{type:"button",onClick:()=>c(!0),className:"rounded-2xl bg-primary px-4 py-2 text-sm font-medium text-primary-foreground",children:"Install your first plugin"})}):null,s.isSuccess&&u.length>0?(0,n.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:u.map(e=>(0,n.jsx)(m,{plugin:e,onToggle:x,onRemove:p},e.id))}):null,(0,n.jsx)(h,{open:o,onClose:()=>c(!1)})]})}},5299:(e,s,t)=>{"use strict";t.d(s,{A:()=>n});let n=(0,t(1847).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])}},e=>{e.O(0,[2231,1635,5097,8441,1255,7358],()=>e(e.s=140)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7805],{586:(e,r,s)=>{Promise.resolve().then(s.bind(s,1935)),Promise.resolve().then(s.bind(s,9136)),Promise.resolve().then(s.bind(s,6981)),Promise.resolve().then(s.bind(s,3111))},1375:(e,r,s)=>{"use strict";s.d(r,{eS:()=>x,pp:()=>m,W5:()=>u,Gu:()=>c});var n=s(5155),t=s(5299),d=s(1847);let a=(0,d.A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]),l=(0,d.A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var o=s(4269);function i(e){return"banner"===e?"rounded-xl border border-border/60 bg-card/50 p-4 shadow-[var(--shadow-card)]":"rounded-2xl border border-border/60 bg-card/55 p-6 shadow-[var(--shadow-card)]"}function c(e){var r;let{title:s,message:d,description:a,layout:l="card",className:c,children:m}=e,x=null!=(r=null!=s?s:d)?r:"Loading…";return(0,n.jsxs)("div",{className:(0,o.cn)(i(l),c),children:[(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(t.A,{className:"mt-0.5 h-4 w-4 animate-spin text-primary"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:x}),a?(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:a}):null]})]}),m?(0,n.jsx)("div",{className:"mt-4",children:m}):null]})}function m(e){let{title:r,description:s,icon:t,primaryAction:d,secondaryAction:l,action:c,layout:m="card",className:x}=e,u=null!=d?d:c;return(0,n.jsx)("div",{className:(0,o.cn)(i(m),"border-dashed",x),children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("div",{className:"mt-0.5 text-primary",children:null!=t?t:(0,n.jsx)(a,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:r}),(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:s}),u||l?(0,n.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[u,l]}):null]})]})})}function x(e){let{title:r,description:s,severity:t="warning",icon:d,details:a,primaryAction:c,secondaryAction:m,layout:x="card",className:u}=e;return(0,n.jsx)("div",{className:(0,o.cn)(i(x),"danger"===t?"border-danger/35 bg-danger/10":"border-warning/35 bg-warning/10",u),children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)("div",{className:(0,o.cn)("mt-0.5","danger"===t?"text-danger":"text-warning"),children:null!=d?d:(0,n.jsx)(l,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:r}),(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:s}),a?(0,n.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:a}):null,c||m?(0,n.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[c,m]}):null]})]})})}function u(e){let{title:r="Something went wrong",error:s,message:t,description:d,primaryAction:a,secondaryAction:c,layout:m="card",className:x}=e,u=null!=t?t:s,p="string"==typeof u?u:u instanceof Error?u.message:null;return(0,n.jsx)("div",{className:(0,o.cn)(i(m),"border-danger/35 bg-danger/10",x),children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(l,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("p",{className:"font-semibold text-foreground",children:r}),d?(0,n.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:d}):null,p?(0,n.jsx)("p",{className:"mt-1 text-sm leading-6 text-foreground",children:p}):null,a||c?(0,n.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[a,c]}):null]})]})})}},3111:(e,r,s)=>{"use strict";s.d(r,{RuntimeHealthPanel:()=>c});var n=s(5155),t=s(2115),d=s(1375),a=s(2454),l=s(9678),o=s(2604);function i(){let{activeSessionId:e}=(0,o.j)(),[r,s]=(0,t.useState)(""),[d,i]=(0,t.useState)(""),c=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return(0,a.I)({queryKey:["runtime-export",e,r,s],queryFn:()=>(0,l.n)("/api/runtime/export?sessionId=".concat(encodeURIComponent(e||""),"&query=").concat(encodeURIComponent(r),"&status=").concat(encodeURIComponent(s))),enabled:!!e})}(e,r,d),m=(0,t.useMemo)(()=>{var e;return JSON.stringify(null!=(e=c.data)?e:{},null,2)},[c.data]);return(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime exports"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Filter and export runtime timeline, artifacts, approvals, and telemetry for the active session."}),(0,n.jsxs)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:[(0,n.jsx)("input",{value:r,onChange:e=>s(e.target.value),placeholder:"Filter query",className:"rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,n.jsxs)("select",{value:d,onChange:e=>i(e.target.value),className:"rounded-lg border border-input bg-background px-3 py-2 text-sm",children:[(0,n.jsx)("option",{value:"",children:"All approval states"}),(0,n.jsx)("option",{value:"pending",children:"Pending"}),(0,n.jsx)("option",{value:"approved",children:"Approved"}),(0,n.jsx)("option",{value:"rejected",children:"Rejected"})]})]}),(0,n.jsxs)("div",{className:"mt-4 flex gap-2",children:[(0,n.jsx)("a",{href:"data:application/json;charset=utf-8,".concat(encodeURIComponent(m)),download:"runtime-export-".concat(e||"global",".json"),className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Download JSON"}),(0,n.jsx)("a",{href:"/api/runtime/export?sessionId=".concat(encodeURIComponent(e||""),"&query=").concat(encodeURIComponent(r),"&status=").concat(encodeURIComponent(d),"&format=csv"),className:"rounded-lg border border-border px-4 py-2 text-sm",children:"Download CSV"})]}),(0,n.jsx)("pre",{className:"mt-4 overflow-x-auto rounded-xl border border-border bg-background p-4 text-xs text-muted-foreground",children:m})]})}function c(){let[e,r]=(0,t.useState)(""),s=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,a.I)({queryKey:["runtime-health",e],queryFn:()=>(0,l.n)("/api/runtime/health?query=".concat(encodeURIComponent(e)))})}(e);if(s.isLoading)return(0,n.jsx)(d.Gu,{message:"Running health diagnostics…"});let o=s.data;return o?(0,n.jsxs)("div",{className:"space-y-6 p-4 lg:p-6",children:[(0,n.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime health"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Configuration, provider, MCP, profile context, memory files, and runtime diagnostics."})]}),(0,n.jsxs)("div",{className:"grid gap-3 text-sm sm:grid-cols-2",children:[(0,n.jsx)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"Passing:"})," ",o.summary.okCount]})}),(0,n.jsx)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:"Needs attention:"})," ",o.summary.failingCount]})})]})]}),(0,n.jsx)("input",{value:e,onChange:e=>r(e.target.value),placeholder:"Filter checks",className:"mt-4 w-full rounded-lg border border-input bg-background px-3 py-2 text-sm"}),(0,n.jsx)("div",{className:"mt-4 grid gap-3 md:grid-cols-2",children:o.checks.map(e=>(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4 text-sm",children:[(0,n.jsx)("p",{className:"font-medium",children:e.key}),(0,n.jsx)("p",{className:"mt-1 text-muted-foreground",children:e.detail}),(0,n.jsxs)("p",{className:"mt-2 text-xs",children:["Status: ",e.ok?"ok":"needs attention"]}),e.remediation?(0,n.jsxs)("p",{className:"mt-2 text-xs text-muted-foreground",children:["Hint: ",e.remediation]}):null]},e.key))}),(0,n.jsx)("pre",{className:"mt-4 overflow-x-auto rounded-xl border border-border bg-background p-4 text-xs text-muted-foreground",children:o.doctorOutput})]}),(0,n.jsx)(i,{})]}):null}},5299:(e,r,s)=>{"use strict";s.d(r,{A:()=>n});let n=(0,s(1847).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])}},e=>{e.O(0,[2231,1635,5097,8441,1255,7358],()=>e(e.s=586)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4662],{492:(e,s,r)=>{"use strict";r.d(s,{$:()=>l});var t=r(2454),d=r(9678);function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,t.I)({queryKey:["audit",e],queryFn:()=>(0,d.n)("/api/audit?query=".concat(encodeURIComponent(e))),select:e=>e.events})}},1375:(e,s,r)=>{"use strict";r.d(s,{eS:()=>x,pp:()=>m,W5:()=>u,Gu:()=>c});var t=r(5155),d=r(5299),l=r(1847);let n=(0,l.A)("Inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]),a=(0,l.A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var i=r(4269);function o(e){return"banner"===e?"rounded-xl border border-border/60 bg-card/50 p-4 shadow-[var(--shadow-card)]":"rounded-2xl border border-border/60 bg-card/55 p-6 shadow-[var(--shadow-card)]"}function c(e){var s;let{title:r,message:l,description:n,layout:a="card",className:c,children:m}=e,x=null!=(s=null!=r?r:l)?s:"Loading…";return(0,t.jsxs)("div",{className:(0,i.cn)(o(a),c),children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(d.A,{className:"mt-0.5 h-4 w-4 animate-spin text-primary"}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"font-semibold text-foreground",children:x}),n?(0,t.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]})]}),m?(0,t.jsx)("div",{className:"mt-4",children:m}):null]})}function m(e){let{title:s,description:r,icon:d,primaryAction:l,secondaryAction:a,action:c,layout:m="card",className:x}=e,u=null!=l?l:c;return(0,t.jsx)("div",{className:(0,i.cn)(o(m),"border-dashed",x),children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"mt-0.5 text-primary",children:null!=d?d:(0,t.jsx)(n,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"font-semibold text-foreground",children:s}),(0,t.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:r}),u||a?(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[u,a]}):null]})]})})}function x(e){let{title:s,description:r,severity:d="warning",icon:l,details:n,primaryAction:c,secondaryAction:m,layout:x="card",className:u}=e;return(0,t.jsx)("div",{className:(0,i.cn)(o(x),"danger"===d?"border-danger/35 bg-danger/10":"border-warning/35 bg-warning/10",u),children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:(0,i.cn)("mt-0.5","danger"===d?"text-danger":"text-warning"),children:null!=l?l:(0,t.jsx)(a,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"font-semibold text-foreground",children:s}),(0,t.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:r}),n?(0,t.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:n}):null,c||m?(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[c,m]}):null]})]})})}function u(e){let{title:s="Something went wrong",error:r,message:d,description:l,primaryAction:n,secondaryAction:c,layout:m="card",className:x}=e,u=null!=d?d:r,h="string"==typeof u?u:u instanceof Error?u.message:null;return(0,t.jsx)("div",{className:(0,i.cn)(o(m),"border-danger/35 bg-danger/10",x),children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(a,{className:"mt-0.5 h-4 w-4 text-danger"}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("p",{className:"font-semibold text-foreground",children:s}),l?(0,t.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:l}):null,h?(0,t.jsx)("p",{className:"mt-1 text-sm leading-6 text-foreground",children:h}):null,n||c?(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[n,c]}):null]})]})})}},2841:(e,s,r)=>{"use strict";r.d(s,{SettingsScreen:()=>b});var t=r(5155),d=r(2619),l=r.n(d),n=r(7510),a=r(492);function i(){var e;let s=(0,a.$)();return(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Audit log"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Recent approvals, config changes, and profile or memory updates."}),(0,t.jsx)("div",{className:"mt-4 space-y-3",children:(null!=(e=s.data)?e:[]).map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background p-4",children:[(0,t.jsx)("p",{className:"text-sm font-medium",children:e.action}),(0,t.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:[e.targetType," \xb7 ",e.targetId," \xb7 ",new Date(e.createdAt).toLocaleString()]}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.detail})]},e.id))})]})}var o=r(9896),c=r(3804),m=r(1375),x=r(592),u=r(4269);function h(){var e,s,r,d,l,n,a,i;let o=(0,x.w)();if(o.isLoading)return(0,t.jsx)(m.Gu,{message:"Inspecting runtime…"});if(o.isError)return(0,t.jsx)(m.W5,{message:o.error.message});if(!(null==(e=o.data)?void 0:e.available))return(0,t.jsx)(m.pp,{title:"Runtime not detected",description:"Set HERMES_HOME and install the Hermes runtime to enable live chat, skill, and extension views.",action:(0,t.jsx)("button",{type:"button",onClick:()=>void o.refetch(),className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-2 text-sm font-medium text-foreground",children:"Retry detection"})});let h=o.data;return(0,t.jsxs)("section",{className:"rounded-xl border border-border/70 bg-card/60 p-5 shadow-[var(--shadow-soft)]",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 md:flex-row md:items-start md:justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime status"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Installed runtime, profile context, API reachability, memory files, and recent persisted sessions."})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:(0,u.cn)("inline-flex items-center rounded-full border px-3 py-1 text-xs font-medium",h.apiReachable?"border-success/30 bg-success/10 text-foreground":"border-warning/30 bg-warning/10 text-foreground"),children:h.apiReachable?"API reachable":"API unavailable"}),(0,t.jsxs)("button",{type:"button",onClick:()=>void o.refetch(),className:"inline-flex items-center gap-2 rounded-2xl border border-border/70 bg-background/80 px-3 py-2 text-sm font-medium text-foreground",children:[(0,t.jsx)(c.A,{className:"h-4 w-4"}),"Refresh"]})]})]}),(0,t.jsxs)("div",{className:"mt-4 grid gap-4 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/80 p-4 text-sm shadow-[var(--shadow-card)]",children:[(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Version:"})," ",h.hermesVersion]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Binary:"})," ",h.hermesPath]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Home:"})," ",h.hermesHome]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Config:"})," ",h.configPath]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Profile context:"})," ",null!=(l=null==(s=h.profileContext)?void 0:s.label)?l:"n/a"]})]}),(0,t.jsxs)("div",{className:"rounded-lg border border-border/70 bg-background/80 p-4 text-sm shadow-[var(--shadow-card)]",children:[(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Default model:"})," ",null!=(n=h.modelDefault)?n:"n/a"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Provider:"})," ",null!=(a=h.provider)?a:"n/a"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Memory provider:"})," ",null!=(i=h.memoryProvider)?i:"n/a"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"Memory files:"})," ",(null==(r=h.memoryFilesPresent)?void 0:r.join(", "))||"none detected"]}),(0,t.jsxs)("p",{children:[(0,t.jsx)("strong",{children:"API status:"})," ",h.apiMessage]})]})]}),(null==(d=h.remediationHints)?void 0:d.length)?(0,t.jsxs)("div",{className:"mt-4 rounded-lg border border-border/70 bg-background/80 p-4 text-sm shadow-[var(--shadow-card)]",children:[(0,t.jsx)("p",{className:"font-medium text-foreground",children:"Remediation hints"}),(0,t.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-muted-foreground",children:h.remediationHints.map(e=>(0,t.jsx)("li",{children:e},e))})]}):null]})}var p=r(2604);let g=[{href:"/settings/approvals",title:"Approvals browser",description:"Review blocked actions, reasons, and operator decisions."},{href:"/settings/runs",title:"Runs explorer",description:"Inspect durable run state, phases, artifacts, and failures."},{href:"/settings/telemetry",title:"Telemetry browser",description:"Trace client and server events for debugging and product insight."},{href:"/settings/audit",title:"Audit browser",description:"Search persistent governance and configuration changes."},{href:"/settings/health",title:"Runtime health",description:"Check runtime, provider, memory, and MCP remediation signals."},{href:"/settings/mcp-diagnostics",title:"MCP diagnostics",description:"Validate MCP servers, discovered tools, and probe failures."},{href:"/settings/artifacts",title:"Artifacts browser",description:"Browse files, plans, and outputs emitted by prior runs."}];function b(){var e,s,r,d,a,c,m,u,b,f,j,v;let{selectedProfileId:N}=(0,p.j)(),w=(0,n.Sj)(),y=(0,x.w)(),k=(0,n.Sn)(),P=null!=(m=null!=(a=(null!=(r=w.data)?r:[]).find(e=>e.id===N))?a:(null!=(d=w.data)?d:[]).find(e=>e.active))?m:(null!=(c=w.data)?c:[])[0],A=y.data;return(0,t.jsxs)("div",{className:"h-full overflow-y-auto space-y-6 p-4 lg:p-6",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h1",{className:"text-2xl font-semibold",children:"Settings cockpit"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"Operate with explicit visibility into runtime state, policy posture, diagnostics, and durable history."})]}),(0,t.jsxs)("section",{className:"grid gap-4 lg:grid-cols-[1.2fr_0.8fr]",children:[(0,t.jsxs)("div",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Runtime posture"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"This panel tells you whether the runtime is live, which profile is active, and what the workspace can safely do right now."})]}),(0,t.jsxs)("div",{className:"grid gap-2 text-sm sm:grid-cols-2",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Connection"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:(null==A?void 0:A.apiReachable)?"Runtime live":(null==A?void 0:A.available)?"Runtime degraded":"Runtime unavailable"})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Profile context"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:null!=(b=null!=(u=null==A||null==(e=A.profileContext)?void 0:e.label)?u:null==A?void 0:A.activeProfile)?b:"Loading"})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"MCP servers"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:null!=(f=null==A?void 0:A.mcpServers.length)?f:0})]}),(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Skills indexed"}),(0,t.jsx)("p",{className:"mt-2 font-semibold",children:null!=(j=null==A?void 0:A.skillsCount)?j:0})]})]})]}),(null==A||null==(s=A.remediationHints)?void 0:s.length)?(0,t.jsxs)("div",{className:"mt-4 rounded-xl border border-warning/30 bg-warning/10 p-4 text-sm text-foreground",children:[(0,t.jsx)("p",{className:"font-medium",children:"Recommended remediation"}),(0,t.jsx)("ul",{className:"mt-2 list-disc space-y-1 pl-5 text-muted-foreground",children:A.remediationHints.slice(0,4).map(e=>(0,t.jsx)("li",{children:e},e))})]}):null]}),P?(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Active profile policy"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"The selected profile controls memory scope, default guardrails, and which integrations are visible across the workspace."}),(0,t.jsxs)("div",{className:"mt-4 space-y-3 text-sm text-muted-foreground",children:[(0,t.jsxs)("div",{className:"rounded-xl border border-border bg-background px-4 py-3",children:[(0,t.jsx)("p",{className:"text-xs uppercase tracking-label text-muted-foreground",children:"Selected profile"}),(0,t.jsx)("p",{className:"mt-2 font-semibold text-foreground",children:P.name})]}),(0,t.jsx)(o.j,{value:null!=(v=P.policyPreset)?v:"safe-chat",onChange:e=>void k.mutateAsync({profileId:P.id,policyPreset:e})})]})]}):null]}),(0,t.jsxs)("section",{className:"rounded-2xl border border-border bg-card p-5 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Operational browsers"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:"Dedicated operator views for approvals, runs, telemetry, audit, diagnostics, and generated outputs."})]}),(0,t.jsx)(l(),{href:"/settings/health",className:"rounded-xl border border-border bg-background px-4 py-2 text-sm font-medium",children:"Open diagnostics first"})]}),(0,t.jsx)("div",{className:"mt-4 grid gap-3 md:grid-cols-2 xl:grid-cols-3",children:g.map(e=>(0,t.jsxs)(l(),{href:e.href,className:"rounded-xl border border-border bg-background p-4 transition hover:bg-muted/40",children:[(0,t.jsx)("p",{className:"text-sm font-semibold",children:e.title}),(0,t.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:e.description})]},e.href))})]}),(0,t.jsx)(h,{}),(0,t.jsx)(i,{})]})}},3804:(e,s,r)=>{"use strict";r.d(s,{A:()=>t});let t=(0,r(1847).A)("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]])},5299:(e,s,r)=>{"use strict";r.d(s,{A:()=>t});let t=(0,r(1847).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},6116:(e,s,r)=>{Promise.resolve().then(r.bind(r,1935)),Promise.resolve().then(r.bind(r,9136)),Promise.resolve().then(r.bind(r,6981)),Promise.resolve().then(r.bind(r,2841))},9896:(e,s,r)=>{"use strict";r.d(s,{j:()=>d});var t=r(5155);function d(e){let{value:s,onChange:r}=e;return(0,t.jsxs)("select",{value:s,onChange:e=>r(e.target.value),className:"w-full rounded-lg border border-input bg-background px-3 py-2 text-sm","aria-label":"Policy preset selector",children:[(0,t.jsx)("option",{value:"safe-chat",children:"Safe Chat"}),(0,t.jsx)("option",{value:"research",children:"Research"}),(0,t.jsx)("option",{value:"builder",children:"Builder"}),(0,t.jsx)("option",{value:"full-power",children:"Full Power"})]})}}},e=>{e.O(0,[2231,1635,5097,8441,1255,7358],()=>e(e.s=6116)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1257,9501],{685:(e,t,l)=>{"use strict";function r(e,t){return"builtin"===e?"Built in for every workspace":"global"===e?"Installed for all profiles":t?"Profile scoped \xb7 ".concat(t):"Profile scoped"}function a(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"local-process":return"Local";default:return e}}function n(e){switch(e){case"built-in":return"Official";case"verified":return"Verified";case"custom":return"Community";case"self-hosted":return"Self-hosted";case"local-process":return"Local process";default:return"Unknown source"}}function s(e){switch(e){case"read":case"low":return"Low risk";case"write":case"medium":return"Writes data";case"execute":return"Executes commands";case"admin":case"high":return"High privilege";default:return e}}function o(e){let t=String(null!=e?e:"unknown");return"needs-auth"===t?"Needs auth":"expired"===t?"Auth expired":"none"===t?"No auth required":"unknown"===t?"Auth unknown":"Auth connected"}function i(e){switch(e){case"enabled":return"Enabled by policy";case"blocked":return"Blocked by policy";case"approval-gated":return"Approval required";case"policy-limited":return"Policy limited";default:return"Governance unknown"}}function d(e){switch(e){case"auto":return"Auto approve";case"on-request":return"On request";case"always":return"Always ask";default:return"Policy inherited"}}function c(e){switch(e){case"global":return"Visible to every profile";case"profile":return"Visible only in this profile";case"session":return"Loaded only in the active session";default:return e}}l.d(t,{B6:()=>d,BX:()=>o,CF:()=>n,CV:()=>a,Ow:()=>i,VJ:()=>r,b:()=>s,mF:()=>c})},1257:(e,t,l)=>{"use strict";l.r(t),l.d(t,{SkillsScreen:()=>S});var r=l(5155),a=l(2115),n=l(63),s=l(6907),o=l(7910),i=l(7801),d=l(9867),c=l(5880),u=l(9068),p=l(9347),m=l(6651),x=l(5229),h=l(8734),f=l(8584),g=l(2619),b=l.n(g),y=l(7726),j=l(1613),k=l(685);function v(e){var t;let{skill:l,loadedInCurrentSession:a=!1,sessionId:n}=e,s=n?"/skills/".concat(l.id,"?session=").concat(encodeURIComponent(n)):"/skills/".concat(l.id),o=null==(t=l.linkedFiles)?void 0:t.reduce((e,t)=>(e[t.group]=(e[t.group]||0)+1,e),{});return(0,r.jsxs)(b(),{href:s,"aria-label":l.id,className:"block rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:bg-muted/40 hover:shadow-md",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("h3",{className:"truncate text-sm font-semibold",children:l.name}),l.category?(0,r.jsxs)("span",{className:"hidden shrink-0 items-center gap-1 rounded-md bg-muted/60 px-1.5 py-0.5 text-3xs text-muted-foreground sm:inline-flex",children:[(0,r.jsx)(h.A,{className:"h-2.5 w-2.5"}),l.category]}):null]}),(0,r.jsx)("p",{className:"mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground",children:l.description})]}),(0,r.jsxs)("div",{className:"space-y-1.5 text-right text-3xs",children:[(0,r.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,k.VJ)(l.scope,l.ownerProfileId)}),(0,r.jsx)("p",{className:"rounded-full border border-border/60 px-2 py-0.5",children:(0,k.CV)(l.provenance)})]})]}),l.tags&&l.tags.length>0?(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1",children:[l.tags.slice(0,4).map(e=>(0,r.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-md bg-primary/8 px-1.5 py-0.5 text-3xs text-muted-foreground",children:[(0,r.jsx)(y.A,{className:"h-2 w-2"}),e]},e)),l.tags.length>4?(0,r.jsxs)("span",{className:"rounded-md bg-muted/50 px-1.5 py-0.5 text-3xs text-muted-foreground",children:["+",l.tags.length-4]}):null]}):null,(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-1.5 text-xs",children:[(0,r.jsx)("span",{className:"rounded-full px-2 py-0.5 ".concat(l.enabled?"bg-success/15 text-foreground":"bg-muted text-muted-foreground"),children:l.enabled?"Enabled":l.installed?"Installed":"Available"}),a?(0,r.jsx)("span",{className:"rounded-full bg-primary/10 px-2 py-0.5 text-foreground",children:"Loaded"}):null,o&&Object.keys(o).length>0?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:[(0,r.jsx)(j.A,{className:"h-3 w-3"}),Object.entries(o).map(e=>{let[t,l]=e;return"".concat(l," ").concat(t)}).join(", ")]}):null,l.updatedAt?(0,r.jsx)("span",{className:"rounded-full border border-border/50 px-2 py-0.5 text-muted-foreground",children:new Date(l.updatedAt).toLocaleDateString()}):null]})]})}var Y=l(9318),w=l(2604);function N(e){let{level:t}=e;return"trusted"===t?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-emerald-500/15 px-2 py-0.5 text-3xs font-medium text-emerald-400",children:[(0,r.jsx)(s.A,{className:"h-2.5 w-2.5"}),"Trusted"]}):"official"===t?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-blue-500/15 px-2 py-0.5 text-3xs font-medium text-blue-400",children:[(0,r.jsx)(o.A,{className:"h-2.5 w-2.5"}),"Official"]}):(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-amber-500/15 px-2 py-0.5 text-3xs font-medium text-amber-400",children:[(0,r.jsx)(i.A,{className:"h-2.5 w-2.5"}),"Community"]})}function I(e){let{audits:t}=e;return t?(0,r.jsx)("div",{className:"flex gap-1",children:Object.entries(t).map(e=>{let[t,l]=e;return(0,r.jsxs)("span",{className:"rounded-full px-1.5 py-0.5 text-[9px] font-medium ".concat("Pass"===l?"bg-emerald-500/15 text-emerald-400":"Warn"===l?"bg-amber-500/15 text-amber-400":"bg-red-500/15 text-red-400"),children:[t,": ",l]},t)})}):null}function A(e){var t,l;let{skill:a,onInstall:n,installing:s}=e;return(0,r.jsxs)("div",{className:"flex flex-col rounded-2xl border border-border/70 bg-card p-4 shadow-sm transition hover:-translate-y-0.5 hover:shadow-md",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("h3",{className:"truncate text-sm font-semibold",children:a.name}),(0,r.jsx)(N,{level:a.trustLevel})]}),(0,r.jsx)("p",{className:"mt-0.5 text-2xs text-muted-foreground",children:a.repo})]}),null!=a.installs?(0,r.jsxs)("span",{className:"shrink-0 rounded-lg bg-muted/50 px-2 py-0.5 text-3xs text-muted-foreground",children:[(0,r.jsx)(d.A,{className:"mr-0.5 inline h-2.5 w-2.5"}),a.installs.toLocaleString()]}):null]}),(0,r.jsx)("p",{className:"mt-2 line-clamp-3 flex-1 text-xs leading-5 text-muted-foreground",children:(null==(t=a.detail)?void 0:t.summary)||a.description}),(null==(l=a.detail)?void 0:l.securityAudits)?(0,r.jsx)("div",{className:"mt-2",children:(0,r.jsx)(I,{audits:a.detail.securityAudits})}):null,(0,r.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),n()},disabled:s,className:"rounded-xl bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground shadow-sm transition hover:opacity-90 disabled:opacity-50",children:s?"Installing…":"Install"}),a.detailUrl?(0,r.jsxs)("a",{href:a.detailUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,r.jsx)(c.A,{className:"h-3 w-3"}),"skills.sh"]}):null,a.repoUrl?(0,r.jsxs)("a",{href:a.repoUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 rounded-xl border border-border/50 px-2.5 py-1.5 text-xs text-muted-foreground transition hover:bg-muted/40",onClick:e=>e.stopPropagation(),children:[(0,r.jsx)(u.A,{className:"h-3 w-3"}),"Repo"]}):null]})]})}function S(){var e,t,l,s,o,i;let d=(0,n.useRouter)(),c=(0,n.useSearchParams)().get("session"),[u,g]=(0,a.useState)("installed"),[b,y]=(0,a.useState)(null),[j,k]=(0,a.useState)(""),[N,I]=(0,a.useState)(""),[S,C]=(0,a.useState)(""),P=(0,Y.a$)("installed"===u),O=(0,Y.$P)(),L=(0,Y.vb)(N||void 0),q=(0,Y.jM)(),[M,F]=(0,a.useState)(null),{selectedProfileId:E,activeSessionId:T,setActiveSessionId:z}=(0,w.j)();(0,a.useEffect)(()=>{c&&(c!==T&&z(c),d.replace("/skills",{scroll:!1}))},[T,c,d,z]);let U=(0,f.Ux)(E,null!=c?c:T),V=new Set((null==(t=U.data)||null==(e=t.loadedSkillIds)?void 0:e.length)?U.data.loadedSkillIds:["skill-authoring"]),D=null!=(o=P.data)?o:[],H=(0,a.useMemo)(()=>{var e;let t=new Set;for(let e of D)e.category&&t.add(e.category);for(let l of null!=(e=O.data)?e:[])t.add(l);return Array.from(t).sort()},[D,O.data]),K=(0,a.useMemo)(()=>{let e=D;if(b&&(e=e.filter(e=>e.category===b)),j.trim()){let t=j.toLowerCase();e=e.filter(e=>{var l,r;return e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)||(null==(l=e.tags)?void 0:l.some(e=>e.toLowerCase().includes(t)))||(null==(r=e.category)?void 0:r.toLowerCase().includes(t))})}return e},[D,b,j]),_=null!=(i=null==(l=L.data)?void 0:l.skills)?i:[],Q=D.filter(e=>e.enabled).length,B=D.filter(e=>e.linkedFiles&&e.linkedFiles.length>0).length;async function J(e){F(e.id);try{await q.mutateAsync({identifier:e.identifier})}finally{F(null)}}return(0,r.jsxs)("div",{className:"h-full overflow-y-auto space-y-5 p-4 pb-8 lg:p-6 lg:pb-10",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold",children:"Skills"}),(0,r.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:"installed"===u?(0,r.jsxs)(r.Fragment,{children:["Browse ",D.length," installed skills across ",H.length," categories.",Q>0?" ".concat(Q," enabled."):"",B>0?" ".concat(B," include references, scripts, or templates."):""]}):(0,r.jsxs)(r.Fragment,{children:["Discover skills from skills.sh and other registries. ",_.length," available to install",(null==(s=L.data)?void 0:s.total)?" (".concat(L.data.total," total, ").concat(L.data.total-_.length," already installed)"):"","."]})})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>g("installed"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("installed"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:["Installed (",D.length,")"]}),(0,r.jsxs)("button",{type:"button",onClick:()=>g("discover"),className:"rounded-xl px-4 py-2 text-sm font-medium transition ".concat("discover"===u?"bg-primary text-primary-foreground shadow-sm":"border border-border/70 text-muted-foreground hover:bg-card"),children:[(0,r.jsx)(p.A,{className:"mr-1 inline h-3.5 w-3.5"}),"Discover"]})]}),"installed"===u?(0,r.jsxs)("div",{className:"relative flex-1 min-w-[200px] max-w-md",children:[(0,r.jsx)(m.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,r.jsx)("input",{type:"text",placeholder:"Search skills by name, tag, or category…",value:j,onChange:e=>k(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),j?(0,r.jsx)("button",{type:"button",onClick:()=>k(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,r.jsx)(x.A,{className:"h-4 w-4"})}):null]}):(0,r.jsxs)("form",{className:"relative flex-1 min-w-[200px] max-w-md",onSubmit:e=>{e.preventDefault(),I(S)},children:[(0,r.jsx)(m.A,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,r.jsx)("input",{type:"text",placeholder:"Search skills.sh (e.g. kubernetes, react, python)…",value:S,onChange:e=>C(e.target.value),className:"w-full rounded-xl border border-border/70 bg-background/80 py-2 pl-9 pr-8 text-sm outline-none placeholder:text-muted-foreground focus:ring-2 focus:ring-primary/30"}),S?(0,r.jsx)("button",{type:"button",onClick:()=>{C(""),I("")},className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:(0,r.jsx)(x.A,{className:"h-4 w-4"})}):null]})]}),"installed"===u?(0,r.jsxs)(r.Fragment,{children:[H.length>0?(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(h.A,{className:"h-4 w-4 text-muted-foreground"}),(0,r.jsx)("button",{type:"button",onClick:()=>y(null),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(b?"border border-border/50 text-muted-foreground hover:bg-card":"bg-primary/15 text-foreground ring-1 ring-primary/30"),children:"All"}),H.map(e=>{let t=D.filter(t=>t.category===e).length;return(0,r.jsxs)("button",{type:"button",onClick:()=>y(b===e?null:e),className:"rounded-lg px-3 py-1 text-xs font-medium transition ".concat(b===e?"bg-primary/15 text-foreground ring-1 ring-primary/30":"border border-border/50 text-muted-foreground hover:bg-card"),children:[e," (",t,")"]},e)})]}):null,P.isLoading?(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading skill data…"}):null,V.size?(0,r.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-card/80 p-3 text-sm text-muted-foreground",children:[(0,r.jsx)("span",{className:"font-medium text-foreground",children:"Loaded in current session:"}),(0,r.jsx)("span",{className:"ml-2",children:Array.from(V).join(", ")})]}):null,P.isLoading||0!==K.length?null:(0,r.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:j||b?'No skills match "'.concat(j||b,'". Try a different filter.'):"No installed skills were detected for the current runtime/profile scope."}),(0,r.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:K.map(e=>(0,r.jsx)(v,{skill:e,loadedInCurrentSession:V.has(e.id),sessionId:null!=c?c:T},e.id))})]}):null,"discover"===u?(0,r.jsxs)(r.Fragment,{children:[L.isLoading?(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Searching skills.sh…"}):null,L.isLoading||0!==_.length?null:(0,r.jsx)("div",{className:"rounded-2xl border border-dashed border-border/70 bg-card/60 p-5 text-sm text-muted-foreground",children:N?'No skills found for "'.concat(N,'". Try a different search term.'):"No discoverable skills found. The skills.sh cache may need to be populated — run `hermes skills browse` in your terminal."}),(0,r.jsx)("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:_.map(e=>(0,r.jsx)(A,{skill:e,onInstall:()=>J(e),installing:M===e.id},e.id))})]}):null]})}},1613:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]])},5880:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},7726:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]])},7910:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]])},8734:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},9054:(e,t,l)=>{"use strict";l.d(t,{HB:()=>m,C5:()=>x,d:()=>u,iF:()=>p,YM:()=>h});var r=l(4879);r.gM("type",[r.Ik({type:r.eu("assistant.delta"),delta:r.Yj()}),r.Ik({type:r.eu("run.phase"),phase:r.k5(["drafting","tool-started","waiting-approval","completed"]),label:r.Yj()}),r.Ik({type:r.eu("tool.started"),toolCallId:r.Yj(),toolName:r.Yj(),riskLevel:r.k5(["read","write","execute","admin"]).optional(),provenance:r.k5(["built-in","verified","custom","self-hosted","local-process"]).optional()}),r.Ik({type:r.eu("tool.awaiting_approval"),toolCallId:r.Yj(),toolName:r.Yj(),summary:r.Yj(),riskLevel:r.k5(["read","write","execute","admin"]).optional(),governance:r.k5(["enabled","blocked","approval-gated","policy-limited"]).optional()}),r.Ik({type:r.eu("tool.completed"),toolCallId:r.Yj(),toolName:r.Yj(),output:r.Yj().optional(),riskLevel:r.k5(["read","write","execute","admin"]).optional()}),r.Ik({type:r.eu("artifact.emitted"),artifactId:r.Yj(),artifactType:r.Yj(),label:r.Yj(),content:r.Yj().optional()}),r.Ik({type:r.eu("source.emitted"),source:r.Ik({id:r.Yj(),title:r.Yj(),href:r.Yj().optional(),snippet:r.Yj().optional(),sourceType:r.k5(["web","file","workspace","integration","unknown"]),provenance:r.k5(["built-in","verified","custom","self-hosted","local-process"]),note:r.Yj().optional(),label:r.Yj().optional()})}),r.Ik({type:r.eu("error"),message:r.Yj()})]),r.Ik({model:r.Yj(),provider:r.Yj(),policyPreset:r.k5(["safe-chat","research","builder","full-power"]),memoryMode:r.k5(["standard","minimal"])}),r.Ik({id:r.Yj(),title:r.Yj(),updatedAt:r.Yj(),preview:r.Yj().optional()});let a=r.Ik({id:r.Yj(),name:r.Yj(),description:r.Yj(),enabled:r.zM(),riskLevel:r.k5(["read","write","execute","admin"]),scope:r.k5(["global","profile","session"]),approvalPolicy:r.k5(["auto","on-request","always"]).optional(),lastUsedAt:r.Yj().optional()}),n=r.Ik({command:r.Yj().optional(),url:r.Yj().optional(),authType:r.k5(["none","api-key","oauth"]).optional(),token:r.Yj().optional()}),s=r.Ik({source:r.k5(["live","cache","persisted","failed"]),errorText:r.Yj().nullable().optional(),remediation:r.YO(r.Yj()).optional(),discoveredTools:r.ai().optional(),probedAt:r.Yj().optional()}),o=r.Ik({id:r.Yj(),name:r.Yj(),description:r.Yj(),health:r.k5(["healthy","degraded","blocked","failed"]),riskLevel:r.k5(["read","write","execute","admin"]),authState:r.k5(["connected","needs-auth","expired"]),governance:r.k5(["enabled","blocked","approval-gated","policy-limited"]),provenance:r.k5(["built-in","verified","custom","self-hosted","local-process"]),approvalPolicy:r.k5(["auto","on-request","always"]),type:r.k5(["mcp","native","builtin"]),installed:r.zM(),config:n,capabilities:r.YO(a),toolCount:r.ai(),profilesUsing:r.YO(r.Yj()),diagnostics:s.optional(),version:r.Yj().optional(),updatedAt:r.Yj().optional()}),i=r.Ik({id:r.Yj(),name:r.Yj(),sourceExtensionId:r.Yj(),sourceExtensionName:r.Yj(),category:r.k5(["mcp","builtin","native"]),riskLevel:r.k5(["read","write","execute","admin"]),enabled:r.zM(),approvalPolicy:r.k5(["auto","on-request","always"]),lastUsedAt:r.Yj().optional(),scope:r.k5(["global","profile","session"])});r.Ik({id:r.Yj(),createdAt:r.Yj(),action:r.Yj(),targetType:r.Yj(),targetId:r.Yj(),detail:r.Yj()}),r.Ik({id:r.Yj(),content:r.Yj(),updatedAt:r.Yj().optional(),scope:r.k5(["user","agent"])}),r.Ik({activeProfileId:r.Yj().nullable(),activeSessionId:r.Yj().nullable(),activeSessionTitle:r.Yj().optional(),activeSessionPreview:r.Yj().optional(),loadedSkillIds:r.YO(r.Yj()),model:r.Yj().optional(),provider:r.Yj().optional(),policyPreset:r.k5(["safe-chat","research","builder","full-power"]).optional(),memoryMode:r.k5(["standard","minimal"]).optional(),userMemory:r.YO(r.Yj()),agentMemory:r.YO(r.Yj())}),r.Ik({id:r.Yj(),name:r.Yj(),modelDefault:r.Yj().optional(),policyPreset:r.k5(["safe-chat","research","builder","full-power"]).optional(),sessionCount:r.ai().optional(),skillCount:r.ai().optional(),extensionCount:r.ai().optional(),active:r.zM().optional()}),r.Ik({id:r.Yj(),title:r.Yj(),updatedAt:r.Yj(),status:r.k5(["active","archived"]),preview:r.Yj().optional(),parentSessionId:r.Yj().optional()});let d=r.Ik({path:r.Yj(),name:r.Yj(),group:r.Yj()}),c=r.Ik({id:r.Yj(),name:r.Yj(),description:r.Yj(),source:r.k5(["bundled","local","hub","agent-created"]),scope:r.k5(["builtin","global","profile"]),provenance:r.k5(["built-in","verified","custom","local-process"]),installed:r.zM(),enabled:r.zM(),content:r.Yj(),loadedInSessions:r.YO(r.Yj()).optional(),ownerProfileId:r.Yj().nullable().optional(),filePath:r.Yj().optional(),version:r.Yj().optional(),updatedAt:r.Yj().optional(),impliedTools:r.YO(r.Yj()).optional(),category:r.Yj().optional(),tags:r.YO(r.Yj()).optional(),relatedSkills:r.YO(r.Yj()).optional(),linkedFiles:r.YO(d).optional(),author:r.Yj().optional()}),u=e=>c.parse(e),p=e=>c.array().parse(e),m=e=>o.parse(e),x=e=>o.array().parse(e),h=e=>i.array().parse(e)},9068:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},9115:(e,t,l)=>{Promise.resolve().then(l.bind(l,1935)),Promise.resolve().then(l.bind(l,9136)),Promise.resolve().then(l.bind(l,6981)),Promise.resolve().then(l.bind(l,1257))},9318:(e,t,l)=>{"use strict";l.d(t,{$P:()=>f,F8:()=>x,I3:()=>u,Pt:()=>d,Qc:()=>g,a$:()=>i,aO:()=>p,b_:()=>m,hL:()=>h,jM:()=>y,vb:()=>b});var r=l(2454),a=l(9776),n=l(549),s=l(9678),o=l(9054);function i(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return(0,r.I)({queryKey:["skills",e],queryFn:()=>(0,s.n)("/api/skills".concat(e?"?installed=true":"")),select:e=>(0,o.iF)(e.skills)})}function d(e){return(0,r.I)({queryKey:["skill",e],queryFn:()=>(0,s.n)("/api/skills/".concat(e)),select:e=>(0,o.d)(e.skill),enabled:!!e})}function c(e,t){let l=(0,o.d)(t);e.invalidateQueries({queryKey:["skills"]}),e.setQueryData(["skill",l.id],{skill:l})}function u(){let e=(0,a.jE)();return(0,n.n)({mutationFn:e=>(0,s.n)("/api/skills/".concat(e,"/install"),{method:"POST"}),onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function p(){let e=(0,a.jE)();return(0,n.n)({mutationFn:e=>{let{skillId:t,enabled:l}=e;return(0,s.n)("/api/skills/".concat(t,"/enable"),{method:"POST",body:JSON.stringify({enabled:l})})},onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function m(){let e=(0,a.jE)();return(0,n.n)({mutationFn:e=>{let{skillId:t,content:l}=e;return(0,s.n)("/api/skills/".concat(t),{method:"PATCH",body:JSON.stringify({content:l})})},onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function x(){let e=(0,a.jE)();return(0,n.n)({mutationFn:e=>{let{skillId:t,sessionId:l}=e;return(0,s.n)("/api/skills/".concat(t,"/load"),{method:"POST",body:JSON.stringify({sessionId:l})})},onSuccess:(t,l)=>{let{skill:r}=t;c(e,r),e.setQueryData(["session",l.sessionId],e=>{var t;if(!(null==e?void 0:e.session))return e;let r=null!=(t=e.session.loadedSkillIds)?t:[];return{...e,session:{...e.session,loadedSkillIds:r.includes(l.skillId)?r:[l.skillId,...r]}}}),e.invalidateQueries({queryKey:["session",l.sessionId]})}})}function h(){let e=(0,a.jE)();return(0,n.n)({mutationFn:e=>(0,s.n)("/api/skills/".concat(e),{method:"DELETE"}),onSuccess:t=>{let{skill:l}=t;return c(e,l)}})}function f(){return(0,r.I)({queryKey:["skill-categories"],queryFn:()=>(0,s.n)("/api/skills/categories"),select:e=>e.categories})}function g(e,t){return(0,r.I)({queryKey:["skill-file",e,t],queryFn:()=>(0,s.n)("/api/skills/".concat(e,"/files?path=").concat(encodeURIComponent(t))),enabled:!!(e&&t)})}function b(e){let t=e?"?q=".concat(encodeURIComponent(e)):"";return(0,r.I)({queryKey:["hub-skills",null!=e?e:""],queryFn:()=>(0,s.n)("/api/skills/hub".concat(t))})}function y(){let e=(0,a.jE)();return(0,n.n)({mutationFn:e=>{let{identifier:t,category:l}=e;return(0,s.n)("/api/skills/hub/install",{method:"POST",body:JSON.stringify({identifier:t,category:l})})},onSuccess:()=>{e.invalidateQueries({queryKey:["skills"]}),e.invalidateQueries({queryKey:["hub-skills"]}),e.invalidateQueries({queryKey:["skill-categories"]})}})}},9347:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]])},9867:(e,t,l)=>{"use strict";l.d(t,{A:()=>r});let r=(0,l(1847).A)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])}},e=>{e.O(0,[2231,1635,4879,5097,8441,1255,7358],()=>e(e.s=9115)),_N_E=e.O()}]);