atabey-mcp 0.0.20 → 0.0.21

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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # [GOV] Atabey MCP — MCP Server for AI Governance & Multi-Agent Platform / Orchestrator
2
2
 
3
- [![Version](https://img.shields.io/badge/Version-v0.0.20-blue.svg)](https://github.com/ysf-bkr/atabey)
3
+ [![Version](https://img.shields.io/badge/Version-v0.0.21-blue.svg)](https://github.com/ysf-bkr/atabey)
4
4
  [![npm](https://img.shields.io/npm/v/atabey-mcp)](https://www.npmjs.com/package/atabey-mcp)
5
5
  [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
6
6
  [![MCP](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io)
@@ -1257,4 +1257,4 @@ a:hover { color: var(--color-accent-hover); text-decoration: underline; }
1257
1257
  .animate-fade-in {
1258
1258
  animation: fadeIn 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
1259
1259
  }
1260
- `,zn=[{id:"dashboard",label:"Overview",Component:null,desc:"Governance Overview",icon:Dv},{id:"agents",label:"Specialists",Component:Sy,desc:"13 Governed Specialists",icon:Ls},{id:"hermes",label:"Hermes",Component:zy,desc:"Message Queue Stats",icon:vr},{id:"messages",label:"Audit Trail",Component:Rg,desc:"Hermes Message Queue",icon:gy},{id:"approvals",label:"HITL Gates",Component:Ny,desc:"Human-in-the-Loop Gates",icon:il},{id:"tasks",label:"Tasks",Component:Bg,desc:"Task Planning & DAG",icon:py},{id:"logs",label:"Execution",Component:Ty,desc:"Specialist Execution Logs",icon:by},{id:"quality",label:"Quality",Component:Qg,desc:"Code Quality Analysis",icon:rl},{id:"errors",label:"Exceptions",Component:Mg,desc:"Policy & Audit Exceptions",icon:ot},{id:"memory",label:"Memory",Component:Lg,desc:"Vector Memory Search",icon:hu},{id:"compliance",label:"Compliance",Component:Eg,desc:"Quality Gate Status",icon:Ll},{id:"finops",label:"FinOps",Component:Og,desc:"Budget & Cost Management",icon:mr},{id:"loop",label:"Loop Detector",Component:wg,desc:"Loop Prevention & Cooldowns",icon:Bn},{id:"license",label:"License",Component:kg,desc:"SPDX & Copyleft Scanner",icon:dy},{id:"telemetry",label:"Telemetry",Component:Gg,desc:"Edge-to-Cloud Streaming",icon:pr},{id:"privacy",label:"GDPR / KVKK",Component:qg,desc:"GDPR & KVKK Compliance",icon:il},{id:"discipline",label:"Discipline",Component:Ag,desc:"AI Discipline & Rules",icon:Bn},{id:"mcp",label:"MCP Setup",Component:Ug,desc:"MCP Configuration",icon:yr},{id:"adapters",label:"Adapters",Component:zg,desc:"Adapter-Skill Mapping",icon:xy},{id:"tokens",label:"Token Econ",Component:Yg,desc:"Token Economy & Cost",icon:Hn}],Xg={};zn.forEach(r=>{Xg[r.id]=r.icon});const Vg=["manager","security","architect","backend","frontend","quality","database","analyst","mobile","native","devops","explorer","git"];function Zg({onNavigate:r}){var le,ie,ve,Ce,F,ge,Ue,qe,ke;const{data:c}=ht("/agents",5e3),{data:d}=ht("/hermes/stats",5e3),{data:u}=ht("/approvals",5e3),{data:m}=ht("/compliance?path=src",1e4),x=Array.isArray(c)?c.filter(k=>k.state!=="READY"&&k.state!=="Idle").length:0,T=Vg.length,j=(d==null?void 0:d.pending)??0,N=Array.isArray(u)?u.filter(k=>k.status==="PENDING").length:0,h=((le=m==null?void 0:m.summary)==null?void 0:le.totalViolations)??0,{data:b}=ht("/audit",1e4),S=((ve=(ie=b==null?void 0:b.stats)==null?void 0:ie.byAction)==null?void 0:ve.MASK_PII)||((F=(Ce=b==null?void 0:b.stats)==null?void 0:Ce.byAction)==null?void 0:F.PII_MASKED)||0,O=((Ue=(ge=b==null?void 0:b.stats)==null?void 0:ge.byAction)==null?void 0:Ue.PII_DETECTED)||0,C=((ke=(qe=b==null?void 0:b.stats)==null?void 0:qe.byCategory)==null?void 0:ke.RESTRICTED)||0,{data:_}=ht("/metrics",1e4),B=(_==null?void 0:_.totalToolCalls)??0,Z=(_==null?void 0:_.totalEstimatedTokens)??0,V=(_==null?void 0:_.totalEstimatedCost)??0,{data:q}=ht("/mcp/sessions",1e4),Q=(q==null?void 0:q.total)??0,{data:G}=ht("/discipline",1e4),P=Object.values(G||{}).reduce((k,Y)=>k+(Y.violations||0),0),ne=Object.values(G||{}).some(k=>k.inCooldown);return n.jsxs("div",{className:"dashboard-overview animate-fade-in",children:[n.jsxs("div",{className:"hero-banner",children:[n.jsxs("div",{className:"hero-title-group",children:[n.jsx("h1",{children:"Governance Plane"}),n.jsxs("p",{style:{marginTop:"0.25rem",fontSize:"0.85rem",opacity:.8},children:["Governance Engine: ",n.jsx("span",{style:{color:"var(--color-success)",fontWeight:600},children:"Active"})," | Policy Target: ",n.jsx("span",{style:{color:"var(--color-highlight)",fontWeight:600},children:"Phase 0 Enforced"})]})]}),n.jsx("div",{className:"hero-meta",children:n.jsx("span",{className:"hero-badge",children:"v0.0.20"})})]}),n.jsxs("div",{style:{marginBottom:"1.5rem"},children:[n.jsx("h3",{style:{fontSize:"0.8rem",textTransform:"uppercase",color:"var(--color-text-secondary)",letterSpacing:"0.08em",marginBottom:"0.75rem",borderLeft:"3px solid var(--color-accent-primary)",paddingLeft:"8px",fontWeight:700},children:"Active Session & Specialist Status"}),n.jsxs("div",{className:"quick-stats-grid",children:[n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("agents"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Ls,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"Specialists"})]}),n.jsxs("div",{className:"stat-card-value",children:[x," / ",T]}),n.jsx("div",{className:"stat-card-desc",children:"Governed specialist nodes active"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("hermes"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(vr,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"Hermes Queue"})]}),n.jsx("div",{className:"stat-card-value",children:j}),n.jsx("div",{className:"stat-card-desc",children:"Pending messages in transit"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("approvals"),style:{borderColor:N>0?"var(--color-accent-primary)":void 0,background:N>0?"var(--color-accent-glow)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(il,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"HITL Gates"})]}),n.jsx("div",{className:"stat-card-value",style:{color:N>0?"var(--color-accent-primary)":void 0},children:N}),n.jsx("div",{className:"stat-card-desc",children:N>0?"Manual overrides pending":"All gates clear"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("mcp"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(yr,{size:18,style:{color:"var(--color-accent-primary)"}}),n.jsx("span",{className:"stat-title",children:"MCP Server"})]}),n.jsx("div",{className:"stat-card-value",style:{color:"var(--color-accent-primary)",fontSize:"1.1rem"},children:Q>0?`${Q} session(s)`:"Ready"}),n.jsx("div",{className:"stat-card-desc",children:Q>0?"AI clients connected":"Waiting for AI clients"})]})]})]}),n.jsxs("div",{style:{marginBottom:"2rem"},children:[n.jsx("h3",{style:{fontSize:"0.8rem",textTransform:"uppercase",color:"var(--color-text-secondary)",letterSpacing:"0.08em",marginBottom:"0.75rem",borderLeft:"3px solid var(--color-accent-primary)",paddingLeft:"8px",fontWeight:700},children:"AI Policy & Governance Gates"}),n.jsxs("div",{className:"quick-stats-grid",children:[n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("compliance"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Ll,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"Gate Auditing"})]}),n.jsx("div",{className:"stat-card-value",style:{color:h>0?"var(--color-warning)":void 0},children:h}),n.jsx("div",{className:"stat-card-desc",children:"Quality Gate violations"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("privacy"),style:{borderColor:O>0?"var(--color-accent-primary)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(il,{size:18,style:{color:"var(--color-accent-primary)"}}),n.jsx("span",{className:"stat-title",children:"GDPR / KVKK"})]}),n.jsx("div",{className:"stat-card-value",style:{color:"var(--color-accent-primary)",fontSize:"1.1rem"},children:S>0?`${S} masked`:"Active"}),n.jsx("div",{className:"stat-card-desc",children:O>0?`${O} PII · ${C} restricted`:"PII masking active"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("discipline"),style:{borderColor:ne?"var(--color-warning)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Bn,{size:18,style:{color:P>0?"var(--color-error)":"var(--color-success)"}}),n.jsx("span",{className:"stat-title",children:"Discipline"})]}),n.jsx("div",{className:"stat-card-value",style:{color:P>0?"var(--color-error)":"var(--color-success)",fontSize:"1.1rem"},children:P>0?`${P} violations`:"All Clean"}),n.jsx("div",{className:"stat-card-desc",children:ne?"Agent(s) in cooldown":"All agents compliant"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("tokens"),style:{borderColor:V>.1?"var(--color-warning)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Hn,{size:18,style:{color:"var(--color-accent-muted)"}}),n.jsx("span",{className:"stat-title",children:"Token Economy"})]}),n.jsx("div",{className:"stat-card-value",style:{color:"var(--color-accent-muted)",fontSize:"1.1rem"},children:B>0?`${B} calls`:"Active"}),n.jsx("div",{className:"stat-card-desc",children:Z>0?`${(Z/1e3).toFixed(1)}K tokens · ~$${V.toFixed(2)}`:"Tracking tool call metrics"})]})]})]}),n.jsxs("div",{className:"overview-sections-layout",children:[n.jsxs("div",{className:"overview-left-column",children:[n.jsx(Sy,{}),n.jsx(Ny,{})]}),n.jsxs("div",{className:"overview-right-column",children:[n.jsx(zy,{}),n.jsx(Ty,{})]})]})]})}function Jg(){const[r,c]=H.useState("dashboard"),[d,u]=H.useState(!1),[m,x]=H.useState(()=>localStorage.getItem("atabey-theme")||"dark"),[T,j]=H.useState(()=>localStorage.getItem("atabey-auth-token")||""),N=C=>{localStorage.setItem("atabey-auth-token",C),j(C)},h=Bl();H.useEffect(()=>{document.documentElement.classList.remove("theme-dark","theme-light"),document.documentElement.classList.add(`theme-${m}`)},[m]);const b=()=>{const C=m==="dark"?"light":"dark";x(C),localStorage.setItem("atabey-theme",C)},S=zn.find(C=>C.id===r)||zn[0],O=S.Component;return n.jsxs(n.Fragment,{children:[n.jsx("style",{children:Kg}),n.jsx("div",{className:`sidebar-overlay ${d?"open":""}`,onClick:()=>u(!1)}),n.jsxs("div",{className:"app-shell",children:[n.jsxs("aside",{className:`sidebar ${d?"open":""}`,children:[n.jsx("div",{className:"sidebar-header",children:n.jsx("span",{className:"sidebar-logo",children:"[ATABEY]"})}),n.jsx("nav",{className:"sidebar-nav",children:zn.map(C=>{const _=C.icon;return n.jsxs("button",{className:`sidebar-btn ${r===C.id?"active":""}`,onClick:()=>{c(C.id),u(!1)},title:C.desc,children:[n.jsx(_,{}),n.jsx("span",{className:"sidebar-label",children:C.label})]},C.id)})}),n.jsxs("div",{className:"sidebar-footer",children:[n.jsxs("div",{className:"ws-indicator",children:[n.jsx("span",{className:"ws-dot",style:{background:h?"var(--color-success)":"var(--color-error)",boxShadow:h?"0 0 6px var(--color-success)":"none"}}),h?"WS Live":"WS Offline"]}),n.jsx("div",{style:{marginTop:6,opacity:.6},children:"Atabey Governance Engine v0.0.20"})]})]}),n.jsxs("div",{className:"main-area",children:[n.jsxs("header",{className:"main-header",children:[n.jsxs("div",{className:"main-header-left",children:[n.jsx("button",{className:"menu-toggle",onClick:()=>u(!d),children:d?n.jsx(yu,{}):n.jsx(Bv,{})}),n.jsxs("span",{style:{display:"flex",alignItems:"center",gap:"0.5rem",fontWeight:500,fontSize:"0.95rem"},children:[n.jsx("span",{style:{opacity:.85},children:"Hermes Control Center"}),n.jsx("span",{style:{opacity:.4},children:"/"}),n.jsx("span",{style:{color:"var(--color-accent-primary)",fontWeight:600},children:S.label})]})]}),n.jsxs("div",{className:"main-header-right",children:[n.jsxs("div",{className:"auth-token-input-wrapper",style:{position:"relative"},children:[T?n.jsx(mu,{size:12,style:{position:"absolute",left:"6px",top:"50%",transform:"translateY(-50%)",color:"var(--color-success)"}}):n.jsx(vy,{size:12,style:{position:"absolute",left:"6px",top:"50%",transform:"translateY(-50%)",color:"var(--color-text-muted)"}}),n.jsx("input",{type:"password",placeholder:"MCP Token...",className:"auth-token-input",value:T,onChange:C=>N(C.target.value),title:"Enter MCP_AUTH_TOKEN if configured"})]}),n.jsx("button",{className:"theme-toggle-btn",onClick:b,title:`Switch to ${m==="dark"?"light":"dark"} mode`,style:{marginRight:"0.5rem"},children:m==="dark"?n.jsx(og,{size:16}):n.jsx(Gv,{size:16})}),n.jsxs("span",{className:"badge",children:[zn.length-1," modules"]}),n.jsxs("a",{href:"/api/health",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-primary)",display:"flex",alignItems:"center",gap:4},children:[n.jsx(pv,{size:14})," API"]}),n.jsxs("a",{href:"https://github.com/ysf-bkr/atabey",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-primary)",display:"flex",alignItems:"center",gap:4},children:[n.jsx(Rv,{size:14})," GitHub"]})]})]}),n.jsx("main",{className:"main-content",children:r==="dashboard"?n.jsx(Zg,{onNavigate:C=>c(C)}):n.jsx("div",{className:"focused-view animate-fade-in",children:O&&n.jsx(O,{})})}),n.jsxs("footer",{className:"main-footer",children:[zn.length-1," Modules Live · Port ",window.location.port||"5858"]})]})]})]})}const Fg=new Sp({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:2,staleTime:5e3}}});Kp.createRoot(document.getElementById("root")).render(n.jsx(H.StrictMode,{children:n.jsx(Tp,{client:Fg,children:n.jsx(Jg,{})})}));
1260
+ `,zn=[{id:"dashboard",label:"Overview",Component:null,desc:"Governance Overview",icon:Dv},{id:"agents",label:"Specialists",Component:Sy,desc:"13 Governed Specialists",icon:Ls},{id:"hermes",label:"Hermes",Component:zy,desc:"Message Queue Stats",icon:vr},{id:"messages",label:"Audit Trail",Component:Rg,desc:"Hermes Message Queue",icon:gy},{id:"approvals",label:"HITL Gates",Component:Ny,desc:"Human-in-the-Loop Gates",icon:il},{id:"tasks",label:"Tasks",Component:Bg,desc:"Task Planning & DAG",icon:py},{id:"logs",label:"Execution",Component:Ty,desc:"Specialist Execution Logs",icon:by},{id:"quality",label:"Quality",Component:Qg,desc:"Code Quality Analysis",icon:rl},{id:"errors",label:"Exceptions",Component:Mg,desc:"Policy & Audit Exceptions",icon:ot},{id:"memory",label:"Memory",Component:Lg,desc:"Vector Memory Search",icon:hu},{id:"compliance",label:"Compliance",Component:Eg,desc:"Quality Gate Status",icon:Ll},{id:"finops",label:"FinOps",Component:Og,desc:"Budget & Cost Management",icon:mr},{id:"loop",label:"Loop Detector",Component:wg,desc:"Loop Prevention & Cooldowns",icon:Bn},{id:"license",label:"License",Component:kg,desc:"SPDX & Copyleft Scanner",icon:dy},{id:"telemetry",label:"Telemetry",Component:Gg,desc:"Edge-to-Cloud Streaming",icon:pr},{id:"privacy",label:"GDPR / KVKK",Component:qg,desc:"GDPR & KVKK Compliance",icon:il},{id:"discipline",label:"Discipline",Component:Ag,desc:"AI Discipline & Rules",icon:Bn},{id:"mcp",label:"MCP Setup",Component:Ug,desc:"MCP Configuration",icon:yr},{id:"adapters",label:"Adapters",Component:zg,desc:"Adapter-Skill Mapping",icon:xy},{id:"tokens",label:"Token Econ",Component:Yg,desc:"Token Economy & Cost",icon:Hn}],Xg={};zn.forEach(r=>{Xg[r.id]=r.icon});const Vg=["manager","security","architect","backend","frontend","quality","database","analyst","mobile","native","devops","explorer","git"];function Zg({onNavigate:r}){var le,ie,ve,Ce,F,ge,Ue,qe,ke;const{data:c}=ht("/agents",5e3),{data:d}=ht("/hermes/stats",5e3),{data:u}=ht("/approvals",5e3),{data:m}=ht("/compliance?path=src",1e4),x=Array.isArray(c)?c.filter(k=>k.state!=="READY"&&k.state!=="Idle").length:0,T=Vg.length,j=(d==null?void 0:d.pending)??0,N=Array.isArray(u)?u.filter(k=>k.status==="PENDING").length:0,h=((le=m==null?void 0:m.summary)==null?void 0:le.totalViolations)??0,{data:b}=ht("/audit",1e4),S=((ve=(ie=b==null?void 0:b.stats)==null?void 0:ie.byAction)==null?void 0:ve.MASK_PII)||((F=(Ce=b==null?void 0:b.stats)==null?void 0:Ce.byAction)==null?void 0:F.PII_MASKED)||0,O=((Ue=(ge=b==null?void 0:b.stats)==null?void 0:ge.byAction)==null?void 0:Ue.PII_DETECTED)||0,C=((ke=(qe=b==null?void 0:b.stats)==null?void 0:qe.byCategory)==null?void 0:ke.RESTRICTED)||0,{data:_}=ht("/metrics",1e4),B=(_==null?void 0:_.totalToolCalls)??0,Z=(_==null?void 0:_.totalEstimatedTokens)??0,V=(_==null?void 0:_.totalEstimatedCost)??0,{data:q}=ht("/mcp/sessions",1e4),Q=(q==null?void 0:q.total)??0,{data:G}=ht("/discipline",1e4),P=Object.values(G||{}).reduce((k,Y)=>k+(Y.violations||0),0),ne=Object.values(G||{}).some(k=>k.inCooldown);return n.jsxs("div",{className:"dashboard-overview animate-fade-in",children:[n.jsxs("div",{className:"hero-banner",children:[n.jsxs("div",{className:"hero-title-group",children:[n.jsx("h1",{children:"Governance Plane"}),n.jsxs("p",{style:{marginTop:"0.25rem",fontSize:"0.85rem",opacity:.8},children:["Governance Engine: ",n.jsx("span",{style:{color:"var(--color-success)",fontWeight:600},children:"Active"})," | Policy Target: ",n.jsx("span",{style:{color:"var(--color-highlight)",fontWeight:600},children:"Phase 0 Enforced"})]})]}),n.jsx("div",{className:"hero-meta",children:n.jsx("span",{className:"hero-badge",children:"v0.0.21"})})]}),n.jsxs("div",{style:{marginBottom:"1.5rem"},children:[n.jsx("h3",{style:{fontSize:"0.8rem",textTransform:"uppercase",color:"var(--color-text-secondary)",letterSpacing:"0.08em",marginBottom:"0.75rem",borderLeft:"3px solid var(--color-accent-primary)",paddingLeft:"8px",fontWeight:700},children:"Active Session & Specialist Status"}),n.jsxs("div",{className:"quick-stats-grid",children:[n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("agents"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Ls,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"Specialists"})]}),n.jsxs("div",{className:"stat-card-value",children:[x," / ",T]}),n.jsx("div",{className:"stat-card-desc",children:"Governed specialist nodes active"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("hermes"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(vr,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"Hermes Queue"})]}),n.jsx("div",{className:"stat-card-value",children:j}),n.jsx("div",{className:"stat-card-desc",children:"Pending messages in transit"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("approvals"),style:{borderColor:N>0?"var(--color-accent-primary)":void 0,background:N>0?"var(--color-accent-glow)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(il,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"HITL Gates"})]}),n.jsx("div",{className:"stat-card-value",style:{color:N>0?"var(--color-accent-primary)":void 0},children:N}),n.jsx("div",{className:"stat-card-desc",children:N>0?"Manual overrides pending":"All gates clear"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("mcp"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(yr,{size:18,style:{color:"var(--color-accent-primary)"}}),n.jsx("span",{className:"stat-title",children:"MCP Server"})]}),n.jsx("div",{className:"stat-card-value",style:{color:"var(--color-accent-primary)",fontSize:"1.1rem"},children:Q>0?`${Q} session(s)`:"Ready"}),n.jsx("div",{className:"stat-card-desc",children:Q>0?"AI clients connected":"Waiting for AI clients"})]})]})]}),n.jsxs("div",{style:{marginBottom:"2rem"},children:[n.jsx("h3",{style:{fontSize:"0.8rem",textTransform:"uppercase",color:"var(--color-text-secondary)",letterSpacing:"0.08em",marginBottom:"0.75rem",borderLeft:"3px solid var(--color-accent-primary)",paddingLeft:"8px",fontWeight:700},children:"AI Policy & Governance Gates"}),n.jsxs("div",{className:"quick-stats-grid",children:[n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("compliance"),children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Ll,{size:18,className:"stat-icon"}),n.jsx("span",{className:"stat-title",children:"Gate Auditing"})]}),n.jsx("div",{className:"stat-card-value",style:{color:h>0?"var(--color-warning)":void 0},children:h}),n.jsx("div",{className:"stat-card-desc",children:"Quality Gate violations"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("privacy"),style:{borderColor:O>0?"var(--color-accent-primary)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(il,{size:18,style:{color:"var(--color-accent-primary)"}}),n.jsx("span",{className:"stat-title",children:"GDPR / KVKK"})]}),n.jsx("div",{className:"stat-card-value",style:{color:"var(--color-accent-primary)",fontSize:"1.1rem"},children:S>0?`${S} masked`:"Active"}),n.jsx("div",{className:"stat-card-desc",children:O>0?`${O} PII · ${C} restricted`:"PII masking active"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("discipline"),style:{borderColor:ne?"var(--color-warning)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Bn,{size:18,style:{color:P>0?"var(--color-error)":"var(--color-success)"}}),n.jsx("span",{className:"stat-title",children:"Discipline"})]}),n.jsx("div",{className:"stat-card-value",style:{color:P>0?"var(--color-error)":"var(--color-success)",fontSize:"1.1rem"},children:P>0?`${P} violations`:"All Clean"}),n.jsx("div",{className:"stat-card-desc",children:ne?"Agent(s) in cooldown":"All agents compliant"})]}),n.jsxs("div",{className:"stat-card clickable",onClick:()=>r("tokens"),style:{borderColor:V>.1?"var(--color-warning)":void 0},children:[n.jsxs("div",{className:"stat-card-header",children:[n.jsx(Hn,{size:18,style:{color:"var(--color-accent-muted)"}}),n.jsx("span",{className:"stat-title",children:"Token Economy"})]}),n.jsx("div",{className:"stat-card-value",style:{color:"var(--color-accent-muted)",fontSize:"1.1rem"},children:B>0?`${B} calls`:"Active"}),n.jsx("div",{className:"stat-card-desc",children:Z>0?`${(Z/1e3).toFixed(1)}K tokens · ~$${V.toFixed(2)}`:"Tracking tool call metrics"})]})]})]}),n.jsxs("div",{className:"overview-sections-layout",children:[n.jsxs("div",{className:"overview-left-column",children:[n.jsx(Sy,{}),n.jsx(Ny,{})]}),n.jsxs("div",{className:"overview-right-column",children:[n.jsx(zy,{}),n.jsx(Ty,{})]})]})]})}function Jg(){const[r,c]=H.useState("dashboard"),[d,u]=H.useState(!1),[m,x]=H.useState(()=>localStorage.getItem("atabey-theme")||"dark"),[T,j]=H.useState(()=>localStorage.getItem("atabey-auth-token")||""),N=C=>{localStorage.setItem("atabey-auth-token",C),j(C)},h=Bl();H.useEffect(()=>{document.documentElement.classList.remove("theme-dark","theme-light"),document.documentElement.classList.add(`theme-${m}`)},[m]);const b=()=>{const C=m==="dark"?"light":"dark";x(C),localStorage.setItem("atabey-theme",C)},S=zn.find(C=>C.id===r)||zn[0],O=S.Component;return n.jsxs(n.Fragment,{children:[n.jsx("style",{children:Kg}),n.jsx("div",{className:`sidebar-overlay ${d?"open":""}`,onClick:()=>u(!1)}),n.jsxs("div",{className:"app-shell",children:[n.jsxs("aside",{className:`sidebar ${d?"open":""}`,children:[n.jsx("div",{className:"sidebar-header",children:n.jsx("span",{className:"sidebar-logo",children:"[ATABEY]"})}),n.jsx("nav",{className:"sidebar-nav",children:zn.map(C=>{const _=C.icon;return n.jsxs("button",{className:`sidebar-btn ${r===C.id?"active":""}`,onClick:()=>{c(C.id),u(!1)},title:C.desc,children:[n.jsx(_,{}),n.jsx("span",{className:"sidebar-label",children:C.label})]},C.id)})}),n.jsxs("div",{className:"sidebar-footer",children:[n.jsxs("div",{className:"ws-indicator",children:[n.jsx("span",{className:"ws-dot",style:{background:h?"var(--color-success)":"var(--color-error)",boxShadow:h?"0 0 6px var(--color-success)":"none"}}),h?"WS Live":"WS Offline"]}),n.jsx("div",{style:{marginTop:6,opacity:.6},children:"Atabey Governance Engine v0.0.21"})]})]}),n.jsxs("div",{className:"main-area",children:[n.jsxs("header",{className:"main-header",children:[n.jsxs("div",{className:"main-header-left",children:[n.jsx("button",{className:"menu-toggle",onClick:()=>u(!d),children:d?n.jsx(yu,{}):n.jsx(Bv,{})}),n.jsxs("span",{style:{display:"flex",alignItems:"center",gap:"0.5rem",fontWeight:500,fontSize:"0.95rem"},children:[n.jsx("span",{style:{opacity:.85},children:"Hermes Control Center"}),n.jsx("span",{style:{opacity:.4},children:"/"}),n.jsx("span",{style:{color:"var(--color-accent-primary)",fontWeight:600},children:S.label})]})]}),n.jsxs("div",{className:"main-header-right",children:[n.jsxs("div",{className:"auth-token-input-wrapper",style:{position:"relative"},children:[T?n.jsx(mu,{size:12,style:{position:"absolute",left:"6px",top:"50%",transform:"translateY(-50%)",color:"var(--color-success)"}}):n.jsx(vy,{size:12,style:{position:"absolute",left:"6px",top:"50%",transform:"translateY(-50%)",color:"var(--color-text-muted)"}}),n.jsx("input",{type:"password",placeholder:"MCP Token...",className:"auth-token-input",value:T,onChange:C=>N(C.target.value),title:"Enter MCP_AUTH_TOKEN if configured"})]}),n.jsx("button",{className:"theme-toggle-btn",onClick:b,title:`Switch to ${m==="dark"?"light":"dark"} mode`,style:{marginRight:"0.5rem"},children:m==="dark"?n.jsx(og,{size:16}):n.jsx(Gv,{size:16})}),n.jsxs("span",{className:"badge",children:[zn.length-1," modules"]}),n.jsxs("a",{href:"/api/health",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-primary)",display:"flex",alignItems:"center",gap:4},children:[n.jsx(pv,{size:14})," API"]}),n.jsxs("a",{href:"https://github.com/ysf-bkr/atabey",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-primary)",display:"flex",alignItems:"center",gap:4},children:[n.jsx(Rv,{size:14})," GitHub"]})]})]}),n.jsx("main",{className:"main-content",children:r==="dashboard"?n.jsx(Zg,{onNavigate:C=>c(C)}):n.jsx("div",{className:"focused-view animate-fade-in",children:O&&n.jsx(O,{})})}),n.jsxs("footer",{className:"main-footer",children:[zn.length-1," Modules Live · Port ",window.location.port||"5858"]})]})]})]})}const Fg=new Sp({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:2,staleTime:5e3}}});Kp.createRoot(document.getElementById("root")).render(n.jsx(H.StrictMode,{children:n.jsx(Tp,{client:Fg,children:n.jsx(Jg,{})})}));
@@ -7,7 +7,7 @@
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin src="/assets/index-BQqsrmgC.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-BUUxi_j8.js"></script>
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "atabey-mcp",
3
- "version": "0.0.20",
3
+ "version": "0.0.21",
4
4
  "description": "Atabey — AI Governance & Multi-Agent Platform / Orchestrator — MCP Server",
5
5
  "author": "Yusuf BEKAR",
6
6
  "license": "AGPL-3.0",