@inspectr/mcplab 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/assets/{index-BvtmNz6z.js → index-BTX1kqFu.js} +1 -1
- package/dist/app/index.html +1 -1
- package/dist/app-server/runs-routes.d.ts +29 -44
- package/dist/app-server/runs-routes.d.ts.map +1 -1
- package/dist/app-server/runs-routes.js +11 -2
- package/dist/app-server/runs-routes.js.map +1 -1
- package/dist/cli.js +13 -3
- package/dist/cli.js.map +1 -1
- package/package.json +4 -4
|
@@ -140,7 +140,7 @@ Defaulting to \`null\`.`}var U8=L8,nge=B8;const fg=v.forwardRef(({className:e,va
|
|
|
140
140
|
`,"application/json"),children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Export JSON"]}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>_M(`${r.reportId}.md`,IC(r.report),"text/markdown"),children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Export Markdown"]}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>h(!0),children:[s.jsx(Ca,{className:"mr-2 h-4 w-4"}),"Delete"]})]})]}),s.jsx(q8,{report:r.report}),s.jsx(Cs,{open:f,onOpenChange:h,children:s.jsxs(Ya,{children:[s.jsxs(Xa,{children:[s.jsx(Ja,{children:"Delete tool analysis report?"}),s.jsxs(Za,{children:["Delete saved report '",r.reportId,"' from disk? This cannot be undone."]})]}),s.jsxs(Qa,{children:[s.jsx(ts,{disabled:p,children:"Cancel"}),s.jsx(es,{onClick:j=>{j.preventDefault(),g()},disabled:p,children:p?"Deleting...":"Delete"})]})]})})]})}const lge=[{id:"configure",label:"Configure Debug Session"},{id:"run",label:"Run / Inspect Flow"},{id:"report",label:"Report / Export"}];function cge(e){return navigator.clipboard.writeText(e)}function uge(){return typeof window>"u"?"":window.location.port==="8685"?"http://127.0.0.1:8787":""}function dge(e,t){const n=[];n.push("# OAuth Debugger Report"),n.push(""),n.push(`- Session ID: ${e.id}`),n.push(`- Status: ${e.status}`),n.push(`- Registration method: ${e.registrationMethod}`),n.push(`- Profile: ${e.profile}`),n.push(""),n.push("## Steps");for(const r of e.stepStates)n.push(`- ${r.title}: ${r.status}${r.outcomeSummary?` — ${r.outcomeSummary}`:""}`);if(n.push(""),n.push("## Validation Findings"),e.validations.length===0)n.push("- None");else for(const r of e.validations)n.push(`- [${r.severity}] ${r.title} (${r.stepId})`),n.push(` - ${r.detail}`),r.recommendation&&n.push(` - Recommendation: ${r.recommendation}`);n.push(""),n.push("## Event Log");for(const r of t){const a=typeof r.payload.message=="string"?r.payload.message:JSON.stringify(r.payload);n.push(`- ${new Date(r.ts).toLocaleTimeString()} [${r.type}] ${a}`)}return`${n.join(`
|
|
141
141
|
`)}
|
|
142
142
|
`}function fge(){const{source:e}=Tn(),{servers:t,reload:n,loading:r}=Ka(),[a,i]=v.useState("configure"),[o,c]=v.useState(""),[d,f]=v.useState("pre_registered"),[h,p]=v.useState("local_callback"),[y,g]=v.useState(!0),[j,b]=v.useState(!0),[x,S]=v.useState(""),[N,C]=v.useState(""),[E,_]=v.useState(""),[k,O]=v.useState(""),[R,T]=v.useState("client_secret_basic"),[F,L]=v.useState("{}"),[$,Y]=v.useState(""),[H,K]=v.useState(""),[J,Q]=v.useState(""),[D,B]=v.useState(""),[Z,z]=v.useState(""),[M,re]=v.useState(""),[te,G]=v.useState(""),[de,ce]=v.useState(""),[he,ie]=v.useState(null),[ue,Ae]=v.useState(null),[ae,$e]=v.useState([]),[W,ve]=v.useState(!1),[oe,be]=v.useState(!1),[Ie,Ye]=v.useState(!1),[je,Re]=v.useState("all"),[Xe,It]=v.useState("all"),[qt,ee]=v.useState("inspector"),Ce=v.useRef(null),Ne=v.useRef(null);v.useEffect(()=>()=>{Ce.current?.(),Ce.current=null},[]),v.useEffect(()=>{Ne.current?.scrollIntoView({behavior:"smooth",block:"end"})},[ae.length]);const Me=v.useMemo(()=>t.filter(fe=>fe.authType==="oauth2"),[t]),Be=Me.find(fe=>fe.id===o);v.useEffect(()=>{o&&(Me.some(fe=>fe.id===o)||c(""))},[Me,o]);const et=v.useMemo(()=>{const fe=he?.stepStates.length??0,De=he?.stepStates.filter($t=>$t.status==="completed"||$t.status==="skipped").length??0,st=he?.stepStates.filter($t=>$t.status==="failed").length??0,xt=fe>0?Math.round((De+st)/fe*100):0;return{total:fe,completed:De,failed:st,percent:xt}},[he]),Et=v.useMemo(()=>(he?.network??[]).filter(De=>!(je!=="all"&&De.stepId!==je||Xe==="error"&&!(De.phase==="response"&&(De.status??0)>=400)||Xe==="ok"&&!(De.phase==="response"&&(De.status??0)<400))),[he?.network,je,Xe]),Sn=!!ue,Nn=!!(he&&(he.status==="completed"||he.status==="error"||he.status==="stopped")),cr=fe=>{if(fe==="configure"||fe==="run"&&Sn||fe==="report"&&Nn)return i(fe)},ur=()=>{let fe;if(d==="dcr"&&F.trim())try{fe=JSON.parse(F)}catch{throw new Error("DCR metadata JSON is invalid")}if(!Be)throw new Error("Select an MCP server");return{profile:"latest",target:{serverName:Be.id,overrides:{authorizationServerMetadataUrl:J||void 0,authorizationEndpoint:D||void 0,tokenEndpoint:Z||void 0,registrationEndpoint:M||void 0,cimdUrl:$||void 0,resourceBaseUrl:te||void 0}},registrationMethod:d,clientConfig:{preRegistered:d==="pre_registered"?{clientId:E.trim(),clientSecret:k.trim()||void 0,tokenEndpointAuthMethod:R||void 0}:void 0,dcr:d==="dcr"?{metadata:fe,tokenEndpointAuthMethod:R||void 0}:void 0,cimd:d==="cimd"?{cimdUrl:$||void 0,expectedClientId:H||void 0}:void 0},runtime:{redirectMode:h,scopes:x.split(/[,\s]+/).map(De=>De.trim()).filter(Boolean),resource:N.trim()||void 0,usePkce:j,codeChallengeMethod:"S256"},display:{showSensitiveValues:y}}},Dn=fe=>{Ce.current?.(),Ce.current=e.subscribeOAuthDebuggerSession(fe,De=>{$e(xt=>[...xt,De]),(De.type==="completed"||De.type==="error"||De.type==="stopped")&&ve(!1),e.getOAuthDebuggerSession(fe).then(xt=>{ie(xt.session),xt.session.status==="completed"&&i("report")}).catch(()=>{})})},dr=async()=>{be(!0);try{const fe=ur(),De=await e.createOAuthDebuggerSession(fe);Ae(De.sessionId),ie(De.session),$e([]),i("run"),Dn(De.sessionId);const st=await e.startOAuthDebuggerSession(De.sessionId);ie(st.session),ve(!0),(st.session.status==="waiting_for_user"||st.session.status==="waiting_for_browser_callback")&&ve(!1)}catch(fe){Pe({title:"Could not start OAuth Debugger session",description:fe instanceof Error?fe.message:String(fe),variant:"destructive"})}finally{be(!1)}},_r=async()=>{if(ue)try{be(!0);const fe=await e.submitOAuthDebuggerManualCallback(ue,{redirectUrl:de.trim()||void 0});ie(fe.session),ce(""),ve(!0)}catch(fe){Pe({title:"Could not submit callback",description:fe instanceof Error?fe.message:String(fe),variant:"destructive"})}finally{be(!1)}},Ur=async()=>{if(ue){Ye(!0);try{const fe=await e.stopOAuthDebuggerSession(ue);if(ve(!1),fe.status!=="running"){const De=await e.getOAuthDebuggerSession(ue);ie(De.session),De.session.status==="completed"?i("report"):i("run")}}catch(fe){Pe({title:"Could not stop session",description:fe instanceof Error?fe.message:String(fe),variant:"destructive"})}finally{Ye(!1)}}},qr=async()=>{Ce.current?.(),Ce.current=null,ie(null),Ae(null),$e([]),ve(!1),Ye(!1),be(!1),ce(""),Re("all"),It("all"),ee("inspector"),i("run"),await dr()},Yn=async fe=>{if(!(!ue||!he))try{const De=await e.exportOAuthDebuggerSession(ue,fe);let st="";const xt=fe==="json"?"json":fe==="raw"?"txt":"md";typeof De=="string"?st=De:st=`${JSON.stringify(De,null,2)}
|
|
143
|
-
`;const $t=new Blob([st],{type:"text/plain;charset=utf-8"}),an=URL.createObjectURL($t),fn=document.createElement("a");fn.href=an,fn.download=`oauth-debugger-${ue}.${xt}`,fn.click(),URL.revokeObjectURL(an)}catch(De){if(fe==="markdown"){const st=dge(he,ae),xt=new Blob([st],{type:"text/markdown;charset=utf-8"}),$t=URL.createObjectURL(xt),an=document.createElement("a");an.href=$t,an.download=`oauth-debugger-${he.id}.md`,an.click(),URL.revokeObjectURL($t);return}Pe({title:"Export failed",description:De instanceof Error?De.message:String(De),variant:"destructive"})}},Xt=ue?`${uge()}/api/oauth-debugger/sessions/${ue}/authorize`:void 0,En=fe=>fe==="error"?"destructive":fe==="warning"?"outline":"secondary";return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-bold",children:"OAuth Debugger"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Step-by-step OAuth flow debugging for MCP servers (latest MCP authorization draft profile)."})]}),s.jsx("div",{className:"flex flex-wrap items-center gap-2",children:lge.map(fe=>{const De=a===fe.id,st=fe.id==="configure"||fe.id==="run"&&Sn||fe.id==="report"&&Nn;return s.jsx("button",{type:"button",onClick:()=>st&&cr(fe.id),disabled:!st,className:"rounded-full",children:s.jsx(Je,{variant:De?"default":"outline",className:st?"":"opacity-50",children:fe.label})},fe.id)})})]}),a==="configure"&&s.jsxs("div",{className:"space-y-4",children:[s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx(Nt,{className:"text-base",children:"Target MCP Server"}),s.jsx(Ws,{children:"Select one MCP server from Libraries and optionally override endpoints."})]}),s.jsxs(le,{type:"button",variant:"outline",size:"sm",onClick:()=>{n()},disabled:r,children:[s.jsx(Na,{className:`mr-2 h-4 w-4 ${r?"animate-spin":""}`}),"Refresh Servers"]})]})}),s.jsx(We,{className:"space-y-3",children:s.jsxs("div",{className:"max-w-xl space-y-2",children:[s.jsx(Fe,{children:"MCP Server"}),s.jsxs(cn,{value:o,onValueChange:c,children:[s.jsx(tn,{children:s.jsx(un,{placeholder:"Select an MCP server"})}),s.jsx(nn,{children:Me.map(fe=>s.jsx(lt,{value:fe.id,children:fe.name||fe.id},fe.id))})]}),Me.length===0&&s.jsxs("p",{className:"text-xs text-muted-foreground",children:["No MCP servers with OAuth configured found. Add OAuth 2.0 auth in"," ",s.jsx("a",{href:"/libraries/servers",className:"underline text-primary",children:"Manage Servers"}),"."]}),Be&&s.jsxs("p",{className:"text-xs text-muted-foreground",children:[Be.transport," · ",Be.url||Be.command||"No URL/command"]})]})})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Client Registration Method"})}),s.jsxs(We,{className:"space-y-3",children:[s.jsx("div",{className:"grid gap-2 md:grid-cols-3",children:[{id:"pre_registered",label:"Pre-registered client"},{id:"dcr",label:"Dynamic Client Registration (DCR)"},{id:"cimd",label:"Client ID Metadata Document (CIMD)"}].map(fe=>s.jsx("button",{type:"button",onClick:()=>f(fe.id),className:"rounded-md border p-3 text-left",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("div",{className:`h-2.5 w-2.5 rounded-full ${d===fe.id?"bg-primary":"bg-muted-foreground/30"}`}),s.jsx("span",{className:"text-sm font-medium",children:fe.label})]})},fe.id))}),s.jsx("div",{className:"grid gap-3 md:grid-cols-1",children:s.jsxs("div",{className:"max-w-md space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Redirect mode"}),s.jsxs(cn,{value:h,onValueChange:fe=>p(fe),children:[s.jsx(tn,{children:s.jsx(un,{})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"local_callback",children:"Local callback (recommended)"}),s.jsx(lt,{value:"manual",children:"Manual paste redirect URL"})]})]})]})}),d==="pre_registered"&&s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"client_id"}),s.jsx(mt,{value:E,onChange:fe=>_(fe.target.value)})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"client_secret (optional)"}),s.jsx(mt,{value:k,onChange:fe=>O(fe.target.value),type:"password"})]})]}),d==="cimd"&&s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"CIMD URL"}),s.jsx(mt,{value:$,onChange:fe=>Y(fe.target.value),placeholder:"https://.../client-metadata.json"})]})]})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Runtime OAuth Inputs"})}),s.jsxs(We,{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Scopes (space or comma separated)"}),s.jsx(mt,{value:x,onChange:fe=>S(fe.target.value),placeholder:"openid profile mcp"})]}),s.jsxs("div",{className:"flex items-center gap-2 md:col-span-2",children:[s.jsx(na,{checked:j,onCheckedChange:fe=>b(!!fe)}),s.jsx(Fe,{children:"Use PKCE (S256)"})]})]})]}),s.jsxs("details",{className:"rounded-md border bg-card p-3 shadow-sm",children:[s.jsx("summary",{className:"cursor-pointer text-sm font-medium",children:"Advanced"}),s.jsxs("div",{className:"mt-3 space-y-4",children:[s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Token endpoint auth method"}),s.jsx(mt,{value:R,onChange:fe=>T(fe.target.value),placeholder:"client_secret_basic / none / client_secret_post"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Resource / audience (optional)"}),s.jsx(mt,{value:N,onChange:fe=>C(fe.target.value),placeholder:"https://resource.example.com"})]})]}),d==="dcr"&&s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"DCR metadata JSON (optional overrides)"}),s.jsx(qa,{value:F,onChange:fe=>L(fe.target.value),className:"min-h-32 font-mono text-xs"})]}),d==="cimd"&&s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Expected client_id (optional)"}),s.jsx(mt,{value:H,onChange:fe=>K(fe.target.value)})]}),s.jsxs("div",{className:"rounded-md border bg-background p-3",children:[s.jsx("div",{className:"mb-3 text-sm font-medium",children:"Endpoint overrides"}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Authorization server metadata URL"}),s.jsx(mt,{value:J,onChange:fe=>Q(fe.target.value),placeholder:"https://.../.well-known/oauth-authorization-server"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Resource server base URL"}),s.jsx(mt,{value:te,onChange:fe=>G(fe.target.value),placeholder:"https://resource.example.com"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Authorization endpoint"}),s.jsx(mt,{value:D,onChange:fe=>B(fe.target.value),placeholder:"https://.../authorize"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Token endpoint"}),s.jsx(mt,{value:Z,onChange:fe=>z(fe.target.value),placeholder:"https://.../token"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Registration endpoint (DCR)"}),s.jsx(mt,{value:M,onChange:fe=>re(fe.target.value),placeholder:"https://.../register"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"CIMD URL override"}),s.jsx(mt,{value:$,onChange:fe=>Y(fe.target.value),placeholder:"https://.../client-metadata.json"})]})]})]}),s.jsxs(nc,{children:[s.jsx(tx,{className:"h-4 w-4"}),s.jsx(rc,{children:"Secrets display"}),s.jsxs(ac,{className:"space-y-2",children:[s.jsx("p",{children:"This debugger is configured to show full tokens/secrets in network logs and exports."}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(na,{checked:!y,onCheckedChange:fe=>g(fe===!1)}),s.jsx(Fe,{children:"Hide sensitive values in inspector"})]})]})]})]})]}),s.jsx("div",{className:"flex justify-end",children:s.jsxs(le,{type:"button",onClick:()=>{dr()},disabled:oe,children:[oe&&s.jsx(or,{className:"mr-2 h-4 w-4 animate-spin"}),"Start OAuth Debug Session"]})})]}),a==="run"&&s.jsx("div",{className:"space-y-4",children:s.jsxs("div",{className:"grid gap-4 xl:grid-cols-[1.2fr_1fr]",children:[s.jsxs(qe,{className:"xl:col-span-1",children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-start justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx(Nt,{className:"text-base",children:"Progress"}),s.jsx(Ws,{children:"Visual OAuth flow guide with live session events and next-step actions."})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[he?.uiHints.authorizationUrl&&Xt&&s.jsx(le,{asChild:!0,type:"button",size:"sm",variant:"outline",children:s.jsxs("a",{href:Xt,target:"_blank",rel:"noopener noreferrer",children:[s.jsx(mh,{className:"mr-2 h-4 w-4"}),"Open Authorization URL"]})}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{qr()},disabled:oe,children:[s.jsx(Na,{className:"mr-2 h-4 w-4"}),"Restart"]}),ue&&s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Ur()},disabled:Ie||!ue,children:[(Ie||W)&&Ie&&s.jsx(or,{className:"mr-2 h-4 w-4 animate-spin"}),s.jsx(ch,{className:"mr-2 h-4 w-4"}),"Stop Debug Session"]})]})]})}),s.jsxs(We,{className:"space-y-3",children:[s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[s.jsxs("span",{children:[et.completed+et.failed,"/",et.total," steps"]}),s.jsxs("span",{children:[et.percent,"%"]})]}),s.jsx(fg,{value:et.percent,className:"h-2"})]}),he?.status==="waiting_for_user"&&s.jsx(qe,{children:s.jsxs(We,{className:"pt-4 space-y-2",children:[s.jsx("div",{className:"text-sm font-medium",children:"Manual callback required"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Open the authorization URL, complete authentication, then paste the final redirect URL here."}),s.jsx(qa,{value:de,onChange:fe=>ce(fe.target.value),placeholder:"Paste the final redirect URL (with code and state)",className:"min-h-24 text-xs font-mono"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsxs(le,{type:"button",size:"sm",onClick:()=>{_r()},disabled:oe||!de.trim(),children:[oe&&s.jsx(or,{className:"mr-2 h-4 w-4 animate-spin"}),"Continue"]}),he.uiHints.authorizationUrl&&Xt&&s.jsx(le,{asChild:!0,type:"button",size:"sm",variant:"outline",children:s.jsx("a",{href:Xt,target:"_blank",rel:"noopener noreferrer",children:"Open Authorization URL"})})]})]})}),he?.status==="waiting_for_browser_callback"&&s.jsxs(nc,{children:[s.jsx(tx,{className:"h-4 w-4"}),s.jsx(rc,{children:"Waiting for browser callback"}),s.jsxs(ac,{className:"space-y-1",children:[s.jsx("p",{className:"text-xs",children:"Complete the authorization flow in your browser. MCP Lab is listening for the callback at:"}),s.jsx("p",{className:"text-xs font-mono break-all",children:he.uiHints.callbackUrl}),he.uiHints.authorizationUrl&&Xt&&s.jsx("div",{className:"pt-2",children:s.jsx(le,{asChild:!0,type:"button",size:"sm",variant:"outline",children:s.jsxs("a",{href:Xt,target:"_blank",rel:"noopener noreferrer",children:[s.jsx(mh,{className:"mr-2 h-4 w-4"}),"Open Authorization URL"]})})})]})]}),s.jsx("div",{className:"space-y-2",children:he?.stepStates.map(fe=>s.jsxs("div",{className:"rounded-md border p-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium",children:fe.title}),s.jsx("div",{className:"text-xs text-muted-foreground",children:fe.description})]}),s.jsx(Je,{variant:fe.status==="failed"?"destructive":fe.status==="completed"?"outline":fe.status==="active"?"secondary":"outline",className:fe.status==="completed"?"border-emerald-300 bg-emerald-50 text-emerald-700":void 0,children:fe.status})]}),fe.outcomeSummary&&s.jsx("p",{className:"mt-2 text-xs text-muted-foreground break-all",children:fe.outcomeSummary})]},fe.id))||s.jsx("p",{className:"text-sm text-muted-foreground",children:"No steps yet."})})]})]}),s.jsx("div",{className:"space-y-4 xl:col-span-1",children:s.jsxs(qe,{children:[s.jsxs(St,{className:"pb-3",children:[s.jsx(Nt,{className:"text-base",children:"Inspect"}),s.jsx(Ws,{children:"Live events and network requests/responses for the OAuth flow."})]}),s.jsx(We,{className:"space-y-3",children:s.jsxs(yC,{value:qt,onValueChange:fe=>ee(fe),children:[s.jsxs(eg,{className:"grid grid-cols-2",children:[s.jsx(Fi,{value:"inspector",children:"Network Inspector"}),s.jsx(Fi,{value:"events",children:"Live Debug"})]}),s.jsx(nf,{value:"events",className:"mt-3",children:s.jsxs("div",{className:"max-h-64 space-y-1 overflow-auto rounded-md border bg-muted/10 p-3 text-xs",children:[ae.length===0?s.jsx("p",{className:"text-muted-foreground",children:"No events yet."}):ae.map((fe,De)=>s.jsxs("div",{className:"break-all",children:[s.jsx("span",{className:"mr-2 font-mono text-muted-foreground",children:new Date(fe.ts).toLocaleTimeString()}),s.jsx(Je,{variant:"outline",className:"mr-2 text-[10px]",children:fe.type}),typeof fe.payload.message=="string"?fe.payload.message:JSON.stringify(fe.payload)]},`${fe.ts}-${De}`)),s.jsx("div",{ref:Ne})]})}),s.jsxs(nf,{value:"inspector",className:"space-y-3 mt-3",children:[s.jsxs("div",{className:"grid gap-2 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Filter by step"}),s.jsxs(cn,{value:je,onValueChange:Re,children:[s.jsx(tn,{className:"h-8",children:s.jsx(un,{})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"all",children:"All steps"}),(he?.stepStates??[]).map(fe=>s.jsx(lt,{value:fe.id,children:fe.title},fe.id))]})]})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Filter by status"}),s.jsxs(cn,{value:Xe,onValueChange:It,children:[s.jsx(tn,{className:"h-8",children:s.jsx(un,{})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"all",children:"All"}),s.jsx(lt,{value:"ok",children:"Successful responses"}),s.jsx(lt,{value:"error",children:"Error responses"})]})]})]})]}),s.jsx("div",{className:"max-h-[34rem] space-y-2 overflow-auto",children:Et.length===0?s.jsx("p",{className:"text-sm text-muted-foreground",children:"No network exchanges captured yet."}):Et.map(fe=>s.jsxs("details",{className:"rounded-md border p-3",children:[s.jsx("summary",{className:"cursor-pointer list-none",children:s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium",children:fe.label}),s.jsxs("div",{className:"text-xs text-muted-foreground break-all",children:[fe.method?`${fe.method} `:"",fe.url]})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Je,{variant:"outline",children:fe.phase}),typeof fe.status=="number"&&s.jsx(Je,{variant:fe.status>=400?"destructive":"secondary",children:fe.status})]})]})}),s.jsxs("div",{className:"mt-3 space-y-3",children:[s.jsxs("div",{children:[s.jsx("div",{className:"mb-1 text-xs font-medium",children:"Headers"}),s.jsx("pre",{className:"max-h-40 overflow-auto whitespace-pre rounded bg-muted p-2 text-xs",children:JSON.stringify(fe.headers,null,2)})]}),fe.bodyText&&s.jsxs("div",{children:[s.jsx("div",{className:"mb-1 text-xs font-medium",children:"Body"}),s.jsx("pre",{className:"max-h-64 overflow-auto whitespace-pre rounded bg-muted p-2 text-xs",children:fe.bodyText})]}),s.jsx("div",{className:"flex gap-2",children:s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{cge(JSON.stringify(fe,null,2))},children:[s.jsx(zi,{className:"mr-2 h-4 w-4"}),"Copy JSON"]})})]})]},fe.id))})]})]})})]})})]})}),a==="report"&&he&&s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx("h2",{className:"text-xl font-semibold",children:"Report / Export"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"OAuth debug session summary, validations, and trace exports."})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx(le,{type:"button",size:"sm",variant:"outline",onClick:()=>i("configure"),children:"Back to Configure"}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Yn("json")},children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Export JSON"]}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Yn("markdown")},children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Export Markdown"]}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Yn("raw")},children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Copy/Export Raw Trace"]})]})]}),s.jsxs(nc,{children:[s.jsx(tx,{className:"h-4 w-4"}),s.jsx(rc,{children:"Secrets display mode"}),s.jsx(ac,{children:y?"This session is configured to show full tokens and secrets in network logs/exports.":"Sensitive values are hidden in the inspector for this session."})]}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Status"}),s.jsx("div",{className:"text-lg font-semibold",children:he.status})]})}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Requests"}),s.jsx("div",{className:"text-lg font-semibold",children:he.networkSummary.requestCount})]})}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Network errors"}),s.jsx("div",{className:"text-lg font-semibold",children:he.networkSummary.errorCount})]})}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Validation findings"}),s.jsx("div",{className:"text-lg font-semibold",children:he.validations.length})]})})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Key values"})}),s.jsxs(We,{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Issuer"}),s.jsx("p",{className:"text-sm break-all",children:he.summary?.issuer||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Client ID"}),s.jsx("p",{className:"text-sm break-all",children:he.summary?.clientId||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Redirect URI"}),s.jsx("p",{className:"text-sm break-all",children:he.summary?.redirectUri||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Token endpoint status"}),s.jsx("p",{className:"text-sm",children:he.summary?.tokenEndpointStatus??"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Token type"}),s.jsx("p",{className:"text-sm",children:he.summary?.tokenType||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Scopes granted"}),s.jsx("p",{className:"text-sm break-all",children:(he.summary?.grantedScopes??[]).join(", ")||"-"})]})]})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Validation findings"})}),s.jsx(We,{className:"space-y-2",children:he.validations.length===0?s.jsx("p",{className:"text-sm text-muted-foreground",children:"No validation findings recorded."}):he.validations.map((fe,De)=>s.jsxs("div",{className:"rounded-md border p-3",children:[s.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"inline-flex h-5 min-w-5 items-center justify-center rounded-full border bg-muted px-1 text-[10px] font-semibold text-muted-foreground",children:De+1}),s.jsx("span",{className:"font-bold",children:fe.title})]}),s.jsx(Je,{variant:En(fe.severity),children:fe.severity})]}),s.jsxs("p",{className:"text-sm",children:[s.jsx("span",{className:"font-bold",children:"Finding:"})," ",fe.detail]}),fe.recommendation&&s.jsxs("div",{className:"mt-2 rounded-md border px-2.5 py-2 text-xs",children:[s.jsx("div",{className:"mb-1 font-medium text-muted-foreground",children:"Suggested improvement"}),s.jsx("p",{children:fe.recommendation})]}),s.jsxs("div",{className:"mt-2 text-xs text-muted-foreground",children:["Step: ",fe.stepId,fe.specReference&&s.jsxs(s.Fragment,{children:[" · ",s.jsx("a",{href:fe.specReference,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"Spec reference"})]})]})]},fe.id))})]})]})]})}const C1="mcplab.runEvaluation.activeJobId",pge=()=>{const[e]=Vo(),[t,n]=v.useState(""),[r,a]=v.useState("1"),[i,o]=v.useState(!1),[c,d]=v.useState(0),[f,h]=v.useState([]),[p,y]=v.useState(!1),[g,j]=v.useState(!1),[b,x]=v.useState(""),[S,N]=v.useState(null),[C,E]=v.useState([]),[_,k]=v.useState([]),[O,R]=v.useState(!0),[T,F]=v.useState(""),[L,$]=v.useState(""),[Y,H]=v.useState(!1),[K,J]=v.useState([]),[Q,D]=v.useState(null),B=v.useRef(null),Z=v.useRef(null),{configs:z,reload:M}=mf(),{source:re}=Tn(),te=og("snapshots",!1),{agents:G,scenarios:de,reload:ce}=Ka(),he=b.trim(),ie=he?`/results/${encodeURIComponent(he)}${t?`?configId=${encodeURIComponent(t)}`:""}`:"/results",ue=z.find(ee=>ee.id===t),Ae=e.get("configId"),ae=v.useMemo(()=>{if(!ue)return[];const ee=new Map,Ce=ue.agentEntries&&ue.agentEntries.length>0?ue.agentEntries:ue.agents.map(Ne=>({kind:"inline",agent:Ne}));for(const Ne of Ce){if(Ne.kind==="inline"){const Be=Ne.agent.id;ee.has(Be)||ee.set(Be,Ne.agent);continue}const Me=G.find(Be=>Be.id===Ne.ref);Me&&!ee.has(Me.id)&&ee.set(Me.id,Me)}return Array.from(ee.values())},[ue,G]),$e=v.useMemo(()=>{if(!ue)return[];const ee=new Map,Ce=ue.scenarioEntries&&ue.scenarioEntries.length>0?ue.scenarioEntries:ue.scenarios.map(Ne=>({kind:"inline",scenario:Ne}));for(const Ne of Ce){if(Ne.kind==="inline"){ee.has(Ne.scenario.id)||ee.set(Ne.scenario.id,Ne.scenario);continue}const Me=de.find(Be=>Be.id===Ne.ref);Me&&!ee.has(Me.id)&&ee.set(Me.id,Me)}return Array.from(ee.values())},[ue,de]);v.useEffect(()=>{Ae&&z.some(ee=>ee.id===Ae)&&n(Ae)},[Ae,z]);const W=v.useRef("");v.useEffect(()=>{const ee=ue?`${ue.id}::${ue.sourcePath??""}`:"";if(ee===W.current)return;if(W.current=ee,!ue){E([]),k([]);return}const Ce=ae.filter(Ne=>(ue.runDefaults?.selectedAgentNames??[]).includes(Ne.id)).map(Ne=>Ne.id);E(Ce.length>0?Ce:ae.map(Ne=>Ne.id)),k($e.map(Ne=>Ne.id)),R(!0)},[ue?.id,ue?.sourcePath,ae,$e]);const ve=async()=>{if(!ue?.sourcePath){h(Me=>[...Me,`[${new Date().toLocaleTimeString()}] Missing source path for selected config.`]);return}const ee=ae.filter(Me=>C.includes(Me.id));if(ee.length===0){h(Me=>[...Me,`[${new Date().toLocaleTimeString()}] Select at least one agent.`]);return}const Ce=$e.filter(Me=>_.includes(Me.id));if(Ce.length===0){h(Me=>[...Me,`[${new Date().toLocaleTimeString()}] Select at least one test.`]);return}o(!0),y(!1),j(!1),x("");const Ne=(ue.serverEntries??[]).some(Me=>Me.kind==="referenced")||(ue.agentEntries??[]).some(Me=>Me.kind==="referenced")||(ue.scenarioEntries??[]).some(Me=>Me.kind==="referenced")?"refs-composed":"single-file/inline";h([`[${new Date().toLocaleTimeString()}] Starting evaluation run...`,`[${new Date().toLocaleTimeString()}] Config=${ue.name} mode=${Ne} agents=${ee.map(Me=>Me.name||Me.id).join(", ")} tests=${Ce.map(Me=>Me.id).join(", ")} runs=${Number(r)} snapshotEval=${te&&O?"on":"off"}${T.trim()?` note=${T.trim()}`:""}`]),d(10);try{const{jobId:Me}=await re.startRun({configPath:ue.sourcePath,runsPerScenario:Number(r),agents:ee.map(Be=>Be.id),scenarioIds:Ce.map(Be=>Be.id),applySnapshotEval:te?O:!1,runNote:T.trim()?T.trim():void 0});N(Me),je(Me),qt(Me),Re()}catch(Me){const Be=Me instanceof Error?Me.message:String(Me),et=Be.includes("Anthropic model not found")?" Hint: this usually means the API key works but the model ID is not enabled for that Anthropic account. Change the agent model in Manage Agents (library) or inline config.":"";h(Et=>[...Et,`[${new Date().toLocaleTimeString()}] Error: ${Be}${et}`]),o(!1),d(0),N(null)}},oe=()=>{ve()},be=()=>{S&&re.stopRun(S),Z.current?.(),Z.current=null,Ye(),N(null),o(!1),y(!1),j(!0),h(ee=>[...ee,`[${new Date().toLocaleTimeString()}] Run aborted by user.`]),Re()},Ie=async()=>{if(b){H(!0);try{const ee=await re.createSnapshotFromRun(b,L.trim()||void 0);Pe({title:"Snapshot saved",description:`Created ${ee.name} (${ee.id})`}),L.trim()||$(ee.name)}catch(ee){Pe({title:"Could not save snapshot",description:ee instanceof Error?ee.message:String(ee),variant:"destructive"})}finally{H(!1)}}};v.useEffect(()=>{B.current&&(B.current.scrollTop=B.current.scrollHeight)},[f]),v.useEffect(()=>()=>{Z.current?.()},[]),v.useEffect(()=>{if(S||p)return;let ee="";try{ee=sessionStorage.getItem(C1)??""}catch{ee=""}if(ee)return N(ee),o(!0),y(!1),j(!1),h(Ce=>Ce.length>0?Ce:[`[${new Date().toLocaleTimeString()}] Reattached to in-progress evaluation run...`]),qt(ee),()=>{}},[S,p]);const Ye=()=>{try{sessionStorage.removeItem(C1)}catch{}},je=ee=>{try{sessionStorage.setItem(C1,ee)}catch{}},Re=async()=>{try{const ee=await re.getRunQueue();J(ee.queued),D(ee.active)}catch{}},Xe=()=>{M(),ce()};v.useEffect(()=>{Xe(),Re();const ee=()=>{Xe(),Re()};return window.addEventListener("focus",ee),()=>{window.removeEventListener("focus",ee)}},[M,ce]);const It=async ee=>{try{await re.removeQueuedRun(ee),J(Ce=>Ce.filter(Ne=>Ne.jobId!==ee))}catch(Ce){const Ne=Ce instanceof Error?Ce.message:String(Ce);if(Ne.includes("Use the /stop endpoint"))try{await re.stopRun(ee)}catch{}else Pe({title:"Could not remove queued run",description:Ne,variant:"destructive"})}Re()},qt=ee=>{Z.current?.(),Z.current=re.subscribeRunJob(ee,Ce=>{const Ne=new Date(Ce.ts).toLocaleTimeString();if(Ce.type==="queued"){h(Me=>{const Be=Ce.payload.position?` (position ${Ce.payload.position})`:"",et=`[${Ne}] Run queued${Be}. Waiting for active run to finish...`;return Me.includes(et)?Me:[...Me,et]}),d(5);return}if(Ce.type==="started"&&(h(Me=>{const Be=`[${Ne}] Run started.`;return Me.includes(Be)?Me:[...Me,Be]}),d(Me=>Math.max(Me,30)),j(!1)),Ce.type==="log"){const Me=String(Ce.payload.message??"").trim();Me&&(h(Be=>{const et=`[${Ne}] ${Me}`;return Be.includes(et)?Be:[...Be,et]}),d(Be=>{const et=Me.toLowerCase();if(et.startsWith("loading mcp evaluation config"))return Math.max(Be,15);if(et.startsWith("loaded config"))return Math.max(Be,20);if(et.startsWith("selected "))return Math.max(Be,30);if(et.startsWith("using requested agents")||et.startsWith("using resolved default agents"))return Math.max(Be,35);if(et.startsWith("expanded to "))return Math.max(Be,45);if(et.startsWith("running evaluation"))return Math.max(Be,50);const Et=et.match(/^scenario (\d+)\/(\d+) finished:/);if(Et){const Sn=Number(Et[1]),Nn=Number(Et[2]);return Math.max(Be,50+Math.round(Sn/Nn*25))}return et.startsWith("evaluation execution finished")?Math.max(Be,78):et.startsWith("applying snapshot evaluation policy")?Math.max(Be,82):et.includes("snapshot evaluation applied")||et.includes("snapshot evaluation enabled")?Math.max(Be,88):et.startsWith("writing results to ")?Math.max(Be,94):et.startsWith("run finished:")?Math.max(Be,98):Be}))}if(Ce.type==="completed"){const Me=String(Ce.payload.runId??"").trim();if(h(Be=>{const et=`[${Ne}] Run completed.`;return Be.includes(et)?Be:[...Be,et]}),Ce.payload.snapshotEval&&typeof Ce.payload.snapshotEval=="object"){const Be=Ce.payload.snapshotEval;h(et=>{const Et=`[${Ne}] Snapshot eval (${Be.mode??"warn"}) baseline=${Be.baseline_snapshot_id??"-"} score=${Be.overall_score??"-"} status=${Be.status??"-"}`;return et.includes(Et)?et:[...et,Et]})}d(100),o(!1),y(!0),j(!1),x(Me),Ye(),N(null),Z.current?.(),Z.current=null,Re()}if(Ce.type==="error"){const Me=String(Ce.payload.message??"Unknown error"),Be=Me.includes("Anthropic model not found")?" Hint: this usually means the API key works but the model ID is not enabled for that Anthropic account. Change the agent model in Manage Agents (library) or inline config.":"";h(et=>[...et,`[${Ne}] Error: ${Me}${Be}`]),o(!1),y(!1),j(!1),d(0),Ye(),N(null),Z.current?.(),Z.current=null,Re()}})};return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[s.jsx(Gl,{className:"h-6 w-6"}),"Run Evaluation"]}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Execute evaluation scenarios against MCP servers"})]}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-6 space-y-4",children:[s.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx(Fe,{children:"MCP Evaluation"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs(cn,{value:t,onValueChange:n,children:[s.jsx(tn,{children:s.jsx(un,{placeholder:"Select a config"})}),s.jsx(nn,{children:z.map(ee=>s.jsx(lt,{value:ee.id,children:ee.name},ee.id))})]}),s.jsx(le,{type:"button",variant:"outline",size:"icon",className:"h-10 w-10 shrink-0",onClick:Xe,"aria-label":"Refresh configs",title:"Refresh configs",children:s.jsx(Na,{className:"h-4 w-4"})})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx(Fe,{children:"Variance Runs"}),s.jsx(mt,{type:"number",min:"1",max:"10",value:r,onChange:ee=>a(ee.target.value)})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Fe,{htmlFor:"run-note",children:"Run Note"}),s.jsxs("span",{className:"text-xs text-muted-foreground",children:[T.length,"/500"]})]}),s.jsx(qa,{id:"run-note",value:T,onChange:ee=>F(ee.target.value.slice(0,500)),placeholder:"Optional context for this run (for example: mcp-server v1.8.2 #staging)",rows:2})]}),ue&&s.jsxs("div",{className:"space-y-2",children:[te&&ue.snapshotEval?.enabled&&s.jsxs("div",{className:"rounded-md border bg-amber-500/10 p-2 text-xs text-amber-700 dark:text-amber-300",children:["Snapshot eval active (",ue.snapshotEval.mode,") · baseline:"," ",s.jsx("span",{className:"font-mono",children:ue.snapshotEval.baselineSnapshotId??"none"})]}),s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Fe,{children:"Agents"}),s.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>E(ae.map(ee=>ee.id)),children:"Select all"}),s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>E([]),children:"Clear"})]})]}),s.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:ae.map(ee=>{const Ce=C.includes(ee.id);return s.jsxs("label",{className:"flex items-center gap-2 text-sm rounded-md border p-2",children:[s.jsx(na,{checked:Ce,onCheckedChange:Ne=>{const Me=Ne===!0;E(Be=>Me?[...Be,ee.id]:Be.filter(et=>et!==ee.id))}}),s.jsx("span",{children:ee.name||ee.id})]},ee.id)})}),ae.length===0&&s.jsx("p",{className:"text-xs text-muted-foreground",children:"No agents available in this config. Add inline agents or agent references."})]}),ue&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Fe,{children:"Tests"}),s.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>k($e.map(ee=>ee.id)),children:"Select all"}),s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>k([]),children:"Clear"})]})]}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:[_.length," of ",$e.length," selected"]}),s.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:$e.map(ee=>{const Ce=_.includes(ee.id);return s.jsxs("label",{className:"flex items-start gap-2 text-sm rounded-md border p-2",children:[s.jsx(na,{checked:Ce,onCheckedChange:Ne=>{const Me=Ne===!0;k(Be=>Me?[...Be,ee.id]:Be.filter(et=>et!==ee.id))}}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block font-medium",children:ee.name||ee.id}),s.jsx("span",{className:"block font-mono text-xs text-muted-foreground truncate",children:ee.id})]})]},ee.id)})})]}),te&&s.jsxs("label",{className:"flex items-center gap-2 text-sm rounded-md border p-2",children:[s.jsx(na,{checked:O,onCheckedChange:ee=>R(ee===!0)}),s.jsx("span",{children:"Apply snapshot evaluation policy (if configured)"})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsxs(le,{onClick:oe,disabled:!t||ae.length>0&&C.length===0||$e.length>0&&_.length===0,children:[s.jsx(Gl,{className:"mr-2 h-4 w-4"}),Q?"Queue Run":"Run"]}),i&&s.jsxs(le,{variant:"destructive",onClick:be,children:[s.jsx(ch,{className:"mr-2 h-4 w-4"}),"Stop"]})]})]})}),(i||f.length>0)&&s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Nt,{className:"text-base",children:"Progress"}),s.jsxs("span",{className:"text-xs text-muted-foreground font-mono",children:[Math.round(c),"%"]})]})}),s.jsxs(We,{className:"space-y-4",children:[s.jsx(fg,{value:c,className:"h-2"}),s.jsx("div",{ref:B,className:"h-64 overflow-auto rounded-md border bg-muted/30 p-3 font-mono text-xs space-y-0.5",children:f.map((ee,Ce)=>s.jsx("div",{className:ee.includes("✓")?"text-success":ee.includes("aborted")?"text-destructive":"text-foreground",children:ee},Ce))})]})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs(Nt,{className:"inline-flex items-center gap-2 text-base",children:[s.jsx(of,{className:"h-4 w-4"}),"Run Queue"]}),s.jsx(le,{variant:"ghost",size:"sm",onClick:()=>{Re()},children:s.jsx(Na,{className:"h-3 w-3"})})]})}),s.jsx(We,{children:!Q&&K.length===0?s.jsx("p",{className:"text-sm text-muted-foreground",children:"No active or queued runs. Start a run above."}):s.jsxs("div",{className:"space-y-2",children:[Q&&s.jsxs("div",{className:`flex items-center justify-between rounded-md border border-primary/30 bg-primary/5 p-2 text-sm cursor-pointer hover:bg-primary/10 transition-colors ${S===Q.jobId?"ring-2 ring-primary/40":""}`,onClick:()=>{S!==Q.jobId&&(N(Q.jobId),je(Q.jobId),o(!0),y(!1),j(!1),h([`[${new Date().toLocaleTimeString()}] Attached to running job ${Q.jobId}...`]),d(10),qt(Q.jobId))},title:"Click to view progress",children:[s.jsxs("div",{className:"min-w-0 flex items-center gap-2",children:[s.jsx("span",{className:"inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary",children:"Running"}),s.jsx("span",{className:"font-mono text-xs",children:Q.runParams.configPath.split("/").pop()??Q.runParams.configPath}),Q.runParams.agents&&s.jsxs("span",{className:"text-xs text-muted-foreground",children:["agents: ",Q.runParams.agents.join(", ")]}),Q.runParams.runNote&&s.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["note: ",Q.runParams.runNote]})]}),s.jsxs(le,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-destructive hover:text-destructive hover:bg-destructive/10",onClick:ee=>{ee.stopPropagation(),Q&&(re.stopRun(Q.jobId),Re())},title:"Stop running job",children:[s.jsx(ch,{className:"mr-1 h-3 w-3"}),"Stop"]})]}),K.map((ee,Ce)=>{const Ne=ee.runParams.configPath.split("/").pop()??ee.runParams.configPath;return s.jsxs("div",{className:"flex items-center justify-between rounded-md border p-2 text-sm",children:[s.jsxs("div",{className:"min-w-0 flex items-center gap-2",children:[s.jsxs("span",{className:"inline-flex items-center rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:["#",Ce+1," Queued"]}),s.jsx("span",{className:"font-mono text-xs",children:Ne}),ee.runParams.agents&&s.jsxs("span",{className:"text-xs text-muted-foreground",children:["agents: ",ee.runParams.agents.join(", ")]}),ee.runParams.runNote&&s.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["note: ",ee.runParams.runNote]})]}),s.jsx(le,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive",onClick:()=>{It(ee.jobId)},title:"Remove from queue",children:s.jsx(Ys,{className:"h-4 w-4"})})]},ee.jobId)})]})})]}),g&&!i&&!p&&s.jsx(qe,{className:"border-amber-300/60 bg-amber-50/40",children:s.jsx(We,{className:"pt-6",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[s.jsx(ch,{className:"h-5 w-5 text-amber-700"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("p",{className:"font-medium",children:"Run stopped"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"The evaluation was stopped before completion. You can start it again or clear the progress log."})]}),s.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[s.jsx(le,{type:"button",variant:"outline",onClick:()=>{h([]),d(0),j(!1)},children:"Clear Progress"}),s.jsxs(le,{type:"button",onClick:oe,disabled:!t,children:[s.jsx(Gl,{className:"mr-2 h-4 w-4"}),"Run Again"]})]})]})})}),p&&s.jsx(qe,{className:"border-success/50",children:s.jsxs(We,{className:"pt-6",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(Kl,{className:"h-6 w-6 text-success"}),s.jsxs("div",{children:[s.jsx("p",{className:"font-medium",children:"Evaluation Complete"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"All scenarios have been evaluated successfully."})]}),s.jsx(le,{asChild:!0,className:"ml-auto",children:s.jsx(wt,{to:ie,children:he?"View Results":"View Runs"})})]}),te&&he&&s.jsxs("div",{className:"mt-4 flex flex-wrap items-end gap-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Snapshot name (optional)"}),s.jsx(mt,{value:L,onChange:ee=>$(ee.target.value),placeholder:"e.g. baseline-v1",className:"h-8 w-64"})]}),s.jsx(le,{type:"button",variant:"outline",size:"sm",onClick:()=>{Ie()},disabled:Y,children:Y?"Saving...":"Save Snapshot"})]})]})})]})};function hge(e){const t=Array.from(new Map(e.scenarios.map(i=>{const o=String(i.scenarioId??"").trim(),c=String(i.scenarioName??"").trim();return!o&&!c?null:[o||c,c||o]}).filter(i=>!!i)).values()),n=Array.from(new Set(e.scenarios.map(i=>i.agentName).filter(Boolean))),r=t.slice(0,2).join(", "),a=t.length>2?` +${t.length-2}`:"";return{scenarioCount:t.length,agentCount:n.length,scenarioPreview:r?`${r}${a}`:"n/a"}}const mge=()=>{const{source:e}=Tn(),[t,n]=v.useState([]),[r,a]=v.useState(!1),[i,o]=v.useState(null),[c,d]=v.useState(!1),[f,h]=v.useState("timestamp"),[p,y]=v.useState("desc"),[g,j]=v.useState("all"),b=R=>{if(f===R){y(T=>T==="asc"?"desc":"asc");return}h(R),y(R==="timestamp"?"desc":"asc")},x=async()=>{a(!0);try{n(await e.listResults())}catch(R){Pe({title:"Could not load results",description:R instanceof Error?R.message:String(R),variant:"destructive"})}finally{a(!1)}};v.useEffect(()=>{let R=!0;return a(!0),e.listResults().then(T=>{R&&n(T)}).catch(T=>{R&&Pe({title:"Could not load results",description:T instanceof Error?T.message:String(T),variant:"destructive"})}).finally(()=>{R&&a(!1)}),()=>{R=!1}},[e]);const S=v.useMemo(()=>{const R=new Set;return t.forEach(T=>{T.scenarios.forEach(F=>{const L=String(F.scenarioName??"").trim(),$=String(F.scenarioId??"").trim(),Y=L||$;Y&&R.add(Y)})}),Array.from(R).sort((T,F)=>T.localeCompare(F))},[t]),N=v.useMemo(()=>g==="all"?t:t.filter(R=>R.scenarios.some(T=>{const F=String(T.scenarioName??"").trim(),L=String(T.scenarioId??"").trim();return(F||L)===g})),[t,g]),C=v.useMemo(()=>{const R=(F,L)=>F===null&&L===null?0:F===null?1:L===null?-1:p==="asc"?F-L:L-F;return[...N].sort((F,L)=>{if(f==="toolTokens")return R(F.toolTokenUsage?.totalTokens??null,L.toolTokenUsage?.totalTokens??null);let $=0;return f==="id"&&($=F.id.localeCompare(L.id)),f==="timestamp"&&($=new Date(F.timestamp).getTime()-new Date(L.timestamp).getTime()),f==="passRate"&&($=F.overallPassRate-L.overallPassRate),f==="scenarios"&&($=F.totalScenarios-L.totalScenarios),f==="avgToolCalls"&&($=F.avgToolCalls-L.avgToolCalls),p==="asc"?$:-$})},[N,f,p]),E=R=>f!==R?s.jsx(Hl,{className:"h-3.5 w-3.5 text-muted-foreground"}):p==="asc"?s.jsx(ds,{className:"h-3.5 w-3.5"}):s.jsx(Gt,{className:"h-3.5 w-3.5"}),_=R=>{const T=R.toolTokenUsage?.totalTokens;return typeof T=="number"?T.toLocaleString():"n/a"},k=v.useMemo(()=>{const R=new Map;for(const T of C)R.set(T.id,hge(T));return R},[C]),O=async R=>{d(!0);try{await e.deleteResult(R),n(T=>T.filter(F=>F.id!==R)),Pe({title:"Run deleted",description:R}),o(null)}catch(T){Pe({title:"Could not delete run",description:T instanceof Error?T.message:String(T),variant:"destructive"})}finally{d(!1)}};return s.jsxs("div",{className:"space-y-6",children:[s.jsx(Cs,{open:i!==null,onOpenChange:R=>{!R&&!c&&o(null)},children:s.jsxs(Ya,{children:[s.jsxs(Xa,{children:[s.jsx(Ja,{children:"Delete run?"}),s.jsxs(Za,{children:["This will permanently remove the run artifacts from disk for"," ",s.jsx("span",{className:"font-mono",children:i??""}),"."]})]}),s.jsxs(Qa,{children:[s.jsx(ts,{disabled:c,children:"Cancel"}),s.jsx(es,{disabled:c||!i,onClick:R=>{R.preventDefault(),i&&O(i)},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:c?"Deleting...":"Delete run"})]})]})}),s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[s.jsx(fd,{className:"h-6 w-6"}),"Results"]}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Browse evaluation runs and open detailed results"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs(cn,{value:g,onValueChange:j,children:[s.jsx(tn,{className:"w-[260px]",children:s.jsx(un,{placeholder:"Filter by scenario"})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"all",children:"All scenarios"}),S.map(R=>s.jsx(lt,{value:R,children:R},R))]})]}),s.jsx(le,{variant:"outline",onClick:()=>{x()},disabled:r,children:r?"Refreshing...":"Refresh"})]})]}),s.jsx(qe,{children:s.jsx(We,{className:"p-0",children:s.jsxs($r,{children:[s.jsx(Dr,{children:s.jsxs(Mt,{children:[s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("id"),children:["Run ID",E("id")]})}),s.jsx(tt,{children:"Evaluated"}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("timestamp"),children:["Timestamp",E("timestamp")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("passRate"),children:["Pass Rate",E("passRate")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("scenarios"),children:["Scenarios",E("scenarios")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("avgToolCalls"),children:["Avg Tool Calls",E("avgToolCalls")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("toolTokens"),children:["Tool Tokens",E("toolTokens")]})}),s.jsx(tt,{className:"w-10"})]})}),s.jsx(Lr,{children:C.map(R=>s.jsxs(Mt,{children:[s.jsx(ze,{children:s.jsxs("div",{className:"space-y-1",children:[s.jsx(wt,{to:`/results/${R.id}`,className:"font-mono text-xs text-primary hover:underline",children:R.id}),R.configId?s.jsx("div",{className:"text-[11px] text-muted-foreground",children:R.configId}):null,R.runNote?s.jsxs("div",{className:"text-[11px] text-muted-foreground break-words",children:["Note: ",R.runNote]}):null]})}),s.jsx(ze,{className:"text-[11px] text-muted-foreground",children:(()=>{const T=k.get(R.id);return s.jsxs("div",{className:"space-y-0.5",children:[s.jsxs("div",{children:["Evaluated: ",T.scenarioCount," scenario",T.scenarioCount===1?"":"s"," · ",T.agentCount," agent",T.agentCount===1?"":"s"]}),s.jsx("div",{className:"font-mono text-xs text-foreground/80",children:T.scenarioPreview})]})})()}),s.jsx(ze,{className:"text-xs text-muted-foreground",children:s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(of,{className:"h-3 w-3"}),new Date(R.timestamp).toLocaleString()]})}),s.jsx(ze,{children:s.jsx(zs,{rate:R.overallPassRate})}),s.jsx(ze,{className:"font-mono text-sm",children:R.totalScenarios}),s.jsx(ze,{className:"font-mono text-sm",children:R.avgToolCalls.toFixed(0)}),s.jsx(ze,{className:"font-mono text-sm",children:_(R)}),s.jsx(ze,{children:s.jsxs(Zc,{children:[s.jsx(eu,{asChild:!0,children:s.jsx(le,{variant:"ghost",size:"icon",className:"h-8 w-8",children:s.jsx(Dm,{className:"h-4 w-4"})})}),s.jsxs(el,{align:"end",children:[s.jsx(yr,{asChild:!0,children:s.jsxs(wt,{to:`/results/${R.id}`,children:[s.jsx(L7,{className:"mr-2 h-3.5 w-3.5"}),"View"]})}),s.jsxs(yr,{children:[s.jsx(ja,{className:"mr-2 h-3.5 w-3.5"}),"Export JSON"]}),s.jsxs(yr,{className:"text-destructive",onSelect:T=>{T.preventDefault(),o(R.id)},children:[s.jsx(Ca,{className:"mr-2 h-3.5 w-3.5"}),"Delete"]})]})]})})]},R.id))})]})})})]})};function dd({text:e,variant:t="assistant",className:n}){const r=vge(e);return s.jsx("div",{className:Se("space-y-2",t==="system"&&"text-xs",n),children:r.map((a,i)=>s.jsx(v.Fragment,{children:gge(a,i,t)},`md-${i}`))})}function vge(e){const t=e.replace(/\r\n/g,`
|
|
143
|
+
`;const $t=new Blob([st],{type:"text/plain;charset=utf-8"}),an=URL.createObjectURL($t),fn=document.createElement("a");fn.href=an,fn.download=`oauth-debugger-${ue}.${xt}`,fn.click(),URL.revokeObjectURL(an)}catch(De){if(fe==="markdown"){const st=dge(he,ae),xt=new Blob([st],{type:"text/markdown;charset=utf-8"}),$t=URL.createObjectURL(xt),an=document.createElement("a");an.href=$t,an.download=`oauth-debugger-${he.id}.md`,an.click(),URL.revokeObjectURL($t);return}Pe({title:"Export failed",description:De instanceof Error?De.message:String(De),variant:"destructive"})}},Xt=ue?`${uge()}/api/oauth-debugger/sessions/${ue}/authorize`:void 0,En=fe=>fe==="error"?"destructive":fe==="warning"?"outline":"secondary";return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h1",{className:"text-2xl font-bold",children:"OAuth Debugger"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Step-by-step OAuth flow debugging for MCP servers (latest MCP authorization draft profile)."})]}),s.jsx("div",{className:"flex flex-wrap items-center gap-2",children:lge.map(fe=>{const De=a===fe.id,st=fe.id==="configure"||fe.id==="run"&&Sn||fe.id==="report"&&Nn;return s.jsx("button",{type:"button",onClick:()=>st&&cr(fe.id),disabled:!st,className:"rounded-full",children:s.jsx(Je,{variant:De?"default":"outline",className:st?"":"opacity-50",children:fe.label})},fe.id)})})]}),a==="configure"&&s.jsxs("div",{className:"space-y-4",children:[s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx(Nt,{className:"text-base",children:"Target MCP Server"}),s.jsx(Ws,{children:"Select one MCP server from Libraries and optionally override endpoints."})]}),s.jsxs(le,{type:"button",variant:"outline",size:"sm",onClick:()=>{n()},disabled:r,children:[s.jsx(Na,{className:`mr-2 h-4 w-4 ${r?"animate-spin":""}`}),"Refresh Servers"]})]})}),s.jsx(We,{className:"space-y-3",children:s.jsxs("div",{className:"max-w-xl space-y-2",children:[s.jsx(Fe,{children:"MCP Server"}),s.jsxs(cn,{value:o,onValueChange:c,children:[s.jsx(tn,{children:s.jsx(un,{placeholder:"Select an MCP server"})}),s.jsx(nn,{children:Me.map(fe=>s.jsx(lt,{value:fe.id,children:fe.name||fe.id},fe.id))})]}),Me.length===0&&s.jsxs("p",{className:"text-xs text-muted-foreground",children:["No MCP servers with OAuth configured found. Add OAuth 2.0 auth in"," ",s.jsx("a",{href:"/libraries/servers",className:"underline text-primary",children:"Manage Servers"}),"."]}),Be&&s.jsxs("p",{className:"text-xs text-muted-foreground",children:[Be.transport," · ",Be.url||Be.command||"No URL/command"]})]})})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Client Registration Method"})}),s.jsxs(We,{className:"space-y-3",children:[s.jsx("div",{className:"grid gap-2 md:grid-cols-3",children:[{id:"pre_registered",label:"Pre-registered client"},{id:"dcr",label:"Dynamic Client Registration (DCR)"},{id:"cimd",label:"Client ID Metadata Document (CIMD)"}].map(fe=>s.jsx("button",{type:"button",onClick:()=>f(fe.id),className:"rounded-md border p-3 text-left",children:s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("div",{className:`h-2.5 w-2.5 rounded-full ${d===fe.id?"bg-primary":"bg-muted-foreground/30"}`}),s.jsx("span",{className:"text-sm font-medium",children:fe.label})]})},fe.id))}),s.jsx("div",{className:"grid gap-3 md:grid-cols-1",children:s.jsxs("div",{className:"max-w-md space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Redirect mode"}),s.jsxs(cn,{value:h,onValueChange:fe=>p(fe),children:[s.jsx(tn,{children:s.jsx(un,{})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"local_callback",children:"Local callback (recommended)"}),s.jsx(lt,{value:"manual",children:"Manual paste redirect URL"})]})]})]})}),d==="pre_registered"&&s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"client_id"}),s.jsx(mt,{value:E,onChange:fe=>_(fe.target.value)})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"client_secret (optional)"}),s.jsx(mt,{value:k,onChange:fe=>O(fe.target.value),type:"password"})]})]}),d==="cimd"&&s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"CIMD URL"}),s.jsx(mt,{value:$,onChange:fe=>Y(fe.target.value),placeholder:"https://.../client-metadata.json"})]})]})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Runtime OAuth Inputs"})}),s.jsxs(We,{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Scopes (space or comma separated)"}),s.jsx(mt,{value:x,onChange:fe=>S(fe.target.value),placeholder:"openid profile mcp"})]}),s.jsxs("div",{className:"flex items-center gap-2 md:col-span-2",children:[s.jsx(na,{checked:j,onCheckedChange:fe=>b(!!fe)}),s.jsx(Fe,{children:"Use PKCE (S256)"})]})]})]}),s.jsxs("details",{className:"rounded-md border bg-card p-3 shadow-sm",children:[s.jsx("summary",{className:"cursor-pointer text-sm font-medium",children:"Advanced"}),s.jsxs("div",{className:"mt-3 space-y-4",children:[s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Token endpoint auth method"}),s.jsx(mt,{value:R,onChange:fe=>T(fe.target.value),placeholder:"client_secret_basic / none / client_secret_post"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Resource / audience (optional)"}),s.jsx(mt,{value:N,onChange:fe=>C(fe.target.value),placeholder:"https://resource.example.com"})]})]}),d==="dcr"&&s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"DCR metadata JSON (optional overrides)"}),s.jsx(qa,{value:F,onChange:fe=>L(fe.target.value),className:"min-h-32 font-mono text-xs"})]}),d==="cimd"&&s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Expected client_id (optional)"}),s.jsx(mt,{value:H,onChange:fe=>K(fe.target.value)})]}),s.jsxs("div",{className:"rounded-md border bg-background p-3",children:[s.jsx("div",{className:"mb-3 text-sm font-medium",children:"Endpoint overrides"}),s.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Authorization server metadata URL"}),s.jsx(mt,{value:J,onChange:fe=>Q(fe.target.value),placeholder:"https://.../.well-known/oauth-authorization-server"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Resource server base URL"}),s.jsx(mt,{value:te,onChange:fe=>G(fe.target.value),placeholder:"https://resource.example.com"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Authorization endpoint"}),s.jsx(mt,{value:D,onChange:fe=>B(fe.target.value),placeholder:"https://.../authorize"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Token endpoint"}),s.jsx(mt,{value:Z,onChange:fe=>z(fe.target.value),placeholder:"https://.../token"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Registration endpoint (DCR)"}),s.jsx(mt,{value:M,onChange:fe=>re(fe.target.value),placeholder:"https://.../register"})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"CIMD URL override"}),s.jsx(mt,{value:$,onChange:fe=>Y(fe.target.value),placeholder:"https://.../client-metadata.json"})]})]})]}),s.jsxs(nc,{children:[s.jsx(tx,{className:"h-4 w-4"}),s.jsx(rc,{children:"Secrets display"}),s.jsxs(ac,{className:"space-y-2",children:[s.jsx("p",{children:"This debugger is configured to show full tokens/secrets in network logs and exports."}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(na,{checked:!y,onCheckedChange:fe=>g(fe===!1)}),s.jsx(Fe,{children:"Hide sensitive values in inspector"})]})]})]})]})]}),s.jsx("div",{className:"flex justify-end",children:s.jsxs(le,{type:"button",onClick:()=>{dr()},disabled:oe,children:[oe&&s.jsx(or,{className:"mr-2 h-4 w-4 animate-spin"}),"Start OAuth Debug Session"]})})]}),a==="run"&&s.jsx("div",{className:"space-y-4",children:s.jsxs("div",{className:"grid gap-4 xl:grid-cols-[1.2fr_1fr]",children:[s.jsxs(qe,{className:"xl:col-span-1",children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-start justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx(Nt,{className:"text-base",children:"Progress"}),s.jsx(Ws,{children:"Visual OAuth flow guide with live session events and next-step actions."})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[he?.uiHints.authorizationUrl&&Xt&&s.jsx(le,{asChild:!0,type:"button",size:"sm",variant:"outline",children:s.jsxs("a",{href:Xt,target:"_blank",rel:"noopener noreferrer",children:[s.jsx(mh,{className:"mr-2 h-4 w-4"}),"Open Authorization URL"]})}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{qr()},disabled:oe,children:[s.jsx(Na,{className:"mr-2 h-4 w-4"}),"Restart"]}),ue&&s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Ur()},disabled:Ie||!ue,children:[(Ie||W)&&Ie&&s.jsx(or,{className:"mr-2 h-4 w-4 animate-spin"}),s.jsx(ch,{className:"mr-2 h-4 w-4"}),"Stop Debug Session"]})]})]})}),s.jsxs(We,{className:"space-y-3",children:[s.jsxs("div",{className:"space-y-1.5",children:[s.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[s.jsxs("span",{children:[et.completed+et.failed,"/",et.total," steps"]}),s.jsxs("span",{children:[et.percent,"%"]})]}),s.jsx(fg,{value:et.percent,className:"h-2"})]}),he?.status==="waiting_for_user"&&s.jsx(qe,{children:s.jsxs(We,{className:"pt-4 space-y-2",children:[s.jsx("div",{className:"text-sm font-medium",children:"Manual callback required"}),s.jsx("p",{className:"text-xs text-muted-foreground",children:"Open the authorization URL, complete authentication, then paste the final redirect URL here."}),s.jsx(qa,{value:de,onChange:fe=>ce(fe.target.value),placeholder:"Paste the final redirect URL (with code and state)",className:"min-h-24 text-xs font-mono"}),s.jsxs("div",{className:"flex gap-2",children:[s.jsxs(le,{type:"button",size:"sm",onClick:()=>{_r()},disabled:oe||!de.trim(),children:[oe&&s.jsx(or,{className:"mr-2 h-4 w-4 animate-spin"}),"Continue"]}),he.uiHints.authorizationUrl&&Xt&&s.jsx(le,{asChild:!0,type:"button",size:"sm",variant:"outline",children:s.jsx("a",{href:Xt,target:"_blank",rel:"noopener noreferrer",children:"Open Authorization URL"})})]})]})}),he?.status==="waiting_for_browser_callback"&&s.jsxs(nc,{children:[s.jsx(tx,{className:"h-4 w-4"}),s.jsx(rc,{children:"Waiting for browser callback"}),s.jsxs(ac,{className:"space-y-1",children:[s.jsx("p",{className:"text-xs",children:"Complete the authorization flow in your browser. MCP Lab is listening for the callback at:"}),s.jsx("p",{className:"text-xs font-mono break-all",children:he.uiHints.callbackUrl}),he.uiHints.authorizationUrl&&Xt&&s.jsx("div",{className:"pt-2",children:s.jsx(le,{asChild:!0,type:"button",size:"sm",variant:"outline",children:s.jsxs("a",{href:Xt,target:"_blank",rel:"noopener noreferrer",children:[s.jsx(mh,{className:"mr-2 h-4 w-4"}),"Open Authorization URL"]})})})]})]}),s.jsx("div",{className:"space-y-2",children:he?.stepStates.map(fe=>s.jsxs("div",{className:"rounded-md border p-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium",children:fe.title}),s.jsx("div",{className:"text-xs text-muted-foreground",children:fe.description})]}),s.jsx(Je,{variant:fe.status==="failed"?"destructive":fe.status==="completed"?"outline":fe.status==="active"?"secondary":"outline",className:fe.status==="completed"?"border-emerald-300 bg-emerald-50 text-emerald-700":void 0,children:fe.status})]}),fe.outcomeSummary&&s.jsx("p",{className:"mt-2 text-xs text-muted-foreground break-all",children:fe.outcomeSummary})]},fe.id))||s.jsx("p",{className:"text-sm text-muted-foreground",children:"No steps yet."})})]})]}),s.jsx("div",{className:"space-y-4 xl:col-span-1",children:s.jsxs(qe,{children:[s.jsxs(St,{className:"pb-3",children:[s.jsx(Nt,{className:"text-base",children:"Inspect"}),s.jsx(Ws,{children:"Live events and network requests/responses for the OAuth flow."})]}),s.jsx(We,{className:"space-y-3",children:s.jsxs(yC,{value:qt,onValueChange:fe=>ee(fe),children:[s.jsxs(eg,{className:"grid grid-cols-2",children:[s.jsx(Fi,{value:"inspector",children:"Network Inspector"}),s.jsx(Fi,{value:"events",children:"Live Debug"})]}),s.jsx(nf,{value:"events",className:"mt-3",children:s.jsxs("div",{className:"max-h-64 space-y-1 overflow-auto rounded-md border bg-muted/10 p-3 text-xs",children:[ae.length===0?s.jsx("p",{className:"text-muted-foreground",children:"No events yet."}):ae.map((fe,De)=>s.jsxs("div",{className:"break-all",children:[s.jsx("span",{className:"mr-2 font-mono text-muted-foreground",children:new Date(fe.ts).toLocaleTimeString()}),s.jsx(Je,{variant:"outline",className:"mr-2 text-[10px]",children:fe.type}),typeof fe.payload.message=="string"?fe.payload.message:JSON.stringify(fe.payload)]},`${fe.ts}-${De}`)),s.jsx("div",{ref:Ne})]})}),s.jsxs(nf,{value:"inspector",className:"space-y-3 mt-3",children:[s.jsxs("div",{className:"grid gap-2 md:grid-cols-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Filter by step"}),s.jsxs(cn,{value:je,onValueChange:Re,children:[s.jsx(tn,{className:"h-8",children:s.jsx(un,{})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"all",children:"All steps"}),(he?.stepStates??[]).map(fe=>s.jsx(lt,{value:fe.id,children:fe.title},fe.id))]})]})]}),s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Filter by status"}),s.jsxs(cn,{value:Xe,onValueChange:It,children:[s.jsx(tn,{className:"h-8",children:s.jsx(un,{})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"all",children:"All"}),s.jsx(lt,{value:"ok",children:"Successful responses"}),s.jsx(lt,{value:"error",children:"Error responses"})]})]})]})]}),s.jsx("div",{className:"max-h-[34rem] space-y-2 overflow-auto",children:Et.length===0?s.jsx("p",{className:"text-sm text-muted-foreground",children:"No network exchanges captured yet."}):Et.map(fe=>s.jsxs("details",{className:"rounded-md border p-3",children:[s.jsx("summary",{className:"cursor-pointer list-none",children:s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"min-w-0",children:[s.jsx("div",{className:"text-sm font-medium",children:fe.label}),s.jsxs("div",{className:"text-xs text-muted-foreground break-all",children:[fe.method?`${fe.method} `:"",fe.url]})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx(Je,{variant:"outline",children:fe.phase}),typeof fe.status=="number"&&s.jsx(Je,{variant:fe.status>=400?"destructive":"secondary",children:fe.status})]})]})}),s.jsxs("div",{className:"mt-3 space-y-3",children:[s.jsxs("div",{children:[s.jsx("div",{className:"mb-1 text-xs font-medium",children:"Headers"}),s.jsx("pre",{className:"max-h-40 overflow-auto whitespace-pre rounded bg-muted p-2 text-xs",children:JSON.stringify(fe.headers,null,2)})]}),fe.bodyText&&s.jsxs("div",{children:[s.jsx("div",{className:"mb-1 text-xs font-medium",children:"Body"}),s.jsx("pre",{className:"max-h-64 overflow-auto whitespace-pre rounded bg-muted p-2 text-xs",children:fe.bodyText})]}),s.jsx("div",{className:"flex gap-2",children:s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{cge(JSON.stringify(fe,null,2))},children:[s.jsx(zi,{className:"mr-2 h-4 w-4"}),"Copy JSON"]})})]})]},fe.id))})]})]})})]})})]})}),a==="report"&&he&&s.jsxs("div",{className:"space-y-4",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2",children:[s.jsxs("div",{children:[s.jsx("h2",{className:"text-xl font-semibold",children:"Report / Export"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"OAuth debug session summary, validations, and trace exports."})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsx(le,{type:"button",size:"sm",variant:"outline",onClick:()=>i("configure"),children:"Back to Configure"}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Yn("json")},children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Export JSON"]}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Yn("markdown")},children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Export Markdown"]}),s.jsxs(le,{type:"button",size:"sm",variant:"outline",onClick:()=>{Yn("raw")},children:[s.jsx(ja,{className:"mr-2 h-4 w-4"}),"Copy/Export Raw Trace"]})]})]}),s.jsxs(nc,{children:[s.jsx(tx,{className:"h-4 w-4"}),s.jsx(rc,{children:"Secrets display mode"}),s.jsx(ac,{children:y?"This session is configured to show full tokens and secrets in network logs/exports.":"Sensitive values are hidden in the inspector for this session."})]}),s.jsxs("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Status"}),s.jsx("div",{className:"text-lg font-semibold",children:he.status})]})}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Requests"}),s.jsx("div",{className:"text-lg font-semibold",children:he.networkSummary.requestCount})]})}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Network errors"}),s.jsx("div",{className:"text-lg font-semibold",children:he.networkSummary.errorCount})]})}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-4",children:[s.jsx("div",{className:"text-xs text-muted-foreground",children:"Validation findings"}),s.jsx("div",{className:"text-lg font-semibold",children:he.validations.length})]})})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Key values"})}),s.jsxs(We,{className:"grid gap-3 md:grid-cols-2",children:[s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Issuer"}),s.jsx("p",{className:"text-sm break-all",children:he.summary?.issuer||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Client ID"}),s.jsx("p",{className:"text-sm break-all",children:he.summary?.clientId||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Redirect URI"}),s.jsx("p",{className:"text-sm break-all",children:he.summary?.redirectUri||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Token endpoint status"}),s.jsx("p",{className:"text-sm",children:he.summary?.tokenEndpointStatus??"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Token type"}),s.jsx("p",{className:"text-sm",children:he.summary?.tokenType||"-"})]}),s.jsxs("div",{children:[s.jsx(Fe,{className:"text-xs",children:"Scopes granted"}),s.jsx("p",{className:"text-sm break-all",children:(he.summary?.grantedScopes??[]).join(", ")||"-"})]})]})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsx(Nt,{className:"text-base",children:"Validation findings"})}),s.jsx(We,{className:"space-y-2",children:he.validations.length===0?s.jsx("p",{className:"text-sm text-muted-foreground",children:"No validation findings recorded."}):he.validations.map((fe,De)=>s.jsxs("div",{className:"rounded-md border p-3",children:[s.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2",children:[s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsx("span",{className:"inline-flex h-5 min-w-5 items-center justify-center rounded-full border bg-muted px-1 text-[10px] font-semibold text-muted-foreground",children:De+1}),s.jsx("span",{className:"font-bold",children:fe.title})]}),s.jsx(Je,{variant:En(fe.severity),children:fe.severity})]}),s.jsxs("p",{className:"text-sm",children:[s.jsx("span",{className:"font-bold",children:"Finding:"})," ",fe.detail]}),fe.recommendation&&s.jsxs("div",{className:"mt-2 rounded-md border px-2.5 py-2 text-xs",children:[s.jsx("div",{className:"mb-1 font-medium text-muted-foreground",children:"Suggested improvement"}),s.jsx("p",{children:fe.recommendation})]}),s.jsxs("div",{className:"mt-2 text-xs text-muted-foreground",children:["Step: ",fe.stepId,fe.specReference&&s.jsxs(s.Fragment,{children:[" · ",s.jsx("a",{href:fe.specReference,target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"Spec reference"})]})]})]},fe.id))})]})]})]})}const C1="mcplab.runEvaluation.activeJobId",pge=()=>{const[e]=Vo(),[t,n]=v.useState(""),[r,a]=v.useState("1"),[i,o]=v.useState(!1),[c,d]=v.useState(0),[f,h]=v.useState([]),[p,y]=v.useState(!1),[g,j]=v.useState(!1),[b,x]=v.useState(""),[S,N]=v.useState(null),[C,E]=v.useState([]),[_,k]=v.useState([]),[O,R]=v.useState(!0),[T,F]=v.useState(""),[L,$]=v.useState(""),[Y,H]=v.useState(!1),[K,J]=v.useState([]),[Q,D]=v.useState(null),B=v.useRef(null),Z=v.useRef(null),{configs:z,reload:M}=mf(),{source:re}=Tn(),te=og("snapshots",!1),{agents:G,scenarios:de,reload:ce}=Ka(),he=b.trim(),ie=he?`/results/${encodeURIComponent(he)}${t?`?configId=${encodeURIComponent(t)}`:""}`:"/results",ue=z.find(ee=>ee.id===t),Ae=e.get("configId"),ae=v.useMemo(()=>{if(!ue)return[];const ee=new Map,Ce=ue.agentEntries&&ue.agentEntries.length>0?ue.agentEntries:ue.agents.map(Ne=>({kind:"inline",agent:Ne}));for(const Ne of Ce){if(Ne.kind==="inline"){const Be=Ne.agent.id;ee.has(Be)||ee.set(Be,Ne.agent);continue}const Me=G.find(Be=>Be.id===Ne.ref);Me&&!ee.has(Me.id)&&ee.set(Me.id,Me)}for(const Ne of G)ee.has(Ne.id)||ee.set(Ne.id,Ne);return Array.from(ee.values())},[ue,G]),$e=v.useMemo(()=>{if(!ue)return[];const ee=new Map,Ce=ue.scenarioEntries&&ue.scenarioEntries.length>0?ue.scenarioEntries:ue.scenarios.map(Ne=>({kind:"inline",scenario:Ne}));for(const Ne of Ce){if(Ne.kind==="inline"){ee.has(Ne.scenario.id)||ee.set(Ne.scenario.id,Ne.scenario);continue}const Me=de.find(Be=>Be.id===Ne.ref);Me&&!ee.has(Me.id)&&ee.set(Me.id,Me)}return Array.from(ee.values())},[ue,de]);v.useEffect(()=>{Ae&&z.some(ee=>ee.id===Ae)&&n(Ae)},[Ae,z]);const W=v.useRef("");v.useEffect(()=>{const ee=ue?`${ue.id}::${ue.sourcePath??""}`:"";if(ee===W.current)return;if(W.current=ee,!ue){E([]),k([]);return}const Ce=ae.filter(Ne=>(ue.runDefaults?.selectedAgentNames??[]).includes(Ne.id)).map(Ne=>Ne.id);E(Ce.length>0?Ce:ae.map(Ne=>Ne.id)),k($e.map(Ne=>Ne.id)),R(!0)},[ue?.id,ue?.sourcePath,ae,$e]);const ve=async()=>{if(!ue?.sourcePath){h(Me=>[...Me,`[${new Date().toLocaleTimeString()}] Missing source path for selected config.`]);return}const ee=ae.filter(Me=>C.includes(Me.id));if(ee.length===0){h(Me=>[...Me,`[${new Date().toLocaleTimeString()}] Select at least one agent.`]);return}const Ce=$e.filter(Me=>_.includes(Me.id));if(Ce.length===0){h(Me=>[...Me,`[${new Date().toLocaleTimeString()}] Select at least one test.`]);return}o(!0),y(!1),j(!1),x("");const Ne=(ue.serverEntries??[]).some(Me=>Me.kind==="referenced")||(ue.agentEntries??[]).some(Me=>Me.kind==="referenced")||(ue.scenarioEntries??[]).some(Me=>Me.kind==="referenced")?"refs-composed":"single-file/inline";h([`[${new Date().toLocaleTimeString()}] Starting evaluation run...`,`[${new Date().toLocaleTimeString()}] Config=${ue.name} mode=${Ne} agents=${ee.map(Me=>Me.name||Me.id).join(", ")} tests=${Ce.map(Me=>Me.id).join(", ")} runs=${Number(r)} snapshotEval=${te&&O?"on":"off"}${T.trim()?` note=${T.trim()}`:""}`]),d(10);try{const{jobId:Me}=await re.startRun({configPath:ue.sourcePath,runsPerScenario:Number(r),agents:ee.map(Be=>Be.id),scenarioIds:Ce.map(Be=>Be.id),applySnapshotEval:te?O:!1,runNote:T.trim()?T.trim():void 0});N(Me),je(Me),qt(Me),Re()}catch(Me){const Be=Me instanceof Error?Me.message:String(Me),et=Be.includes("Anthropic model not found")?" Hint: this usually means the API key works but the model ID is not enabled for that Anthropic account. Change the agent model in Manage Agents (library) or inline config.":"";h(Et=>[...Et,`[${new Date().toLocaleTimeString()}] Error: ${Be}${et}`]),o(!1),d(0),N(null)}},oe=()=>{ve()},be=()=>{S&&re.stopRun(S),Z.current?.(),Z.current=null,Ye(),N(null),o(!1),y(!1),j(!0),h(ee=>[...ee,`[${new Date().toLocaleTimeString()}] Run aborted by user.`]),Re()},Ie=async()=>{if(b){H(!0);try{const ee=await re.createSnapshotFromRun(b,L.trim()||void 0);Pe({title:"Snapshot saved",description:`Created ${ee.name} (${ee.id})`}),L.trim()||$(ee.name)}catch(ee){Pe({title:"Could not save snapshot",description:ee instanceof Error?ee.message:String(ee),variant:"destructive"})}finally{H(!1)}}};v.useEffect(()=>{B.current&&(B.current.scrollTop=B.current.scrollHeight)},[f]),v.useEffect(()=>()=>{Z.current?.()},[]),v.useEffect(()=>{if(S||p)return;let ee="";try{ee=sessionStorage.getItem(C1)??""}catch{ee=""}if(ee)return N(ee),o(!0),y(!1),j(!1),h(Ce=>Ce.length>0?Ce:[`[${new Date().toLocaleTimeString()}] Reattached to in-progress evaluation run...`]),qt(ee),()=>{}},[S,p]);const Ye=()=>{try{sessionStorage.removeItem(C1)}catch{}},je=ee=>{try{sessionStorage.setItem(C1,ee)}catch{}},Re=async()=>{try{const ee=await re.getRunQueue();J(ee.queued),D(ee.active)}catch{}},Xe=()=>{M(),ce()};v.useEffect(()=>{Xe(),Re();const ee=()=>{Xe(),Re()};return window.addEventListener("focus",ee),()=>{window.removeEventListener("focus",ee)}},[M,ce]);const It=async ee=>{try{await re.removeQueuedRun(ee),J(Ce=>Ce.filter(Ne=>Ne.jobId!==ee))}catch(Ce){const Ne=Ce instanceof Error?Ce.message:String(Ce);if(Ne.includes("Use the /stop endpoint"))try{await re.stopRun(ee)}catch{}else Pe({title:"Could not remove queued run",description:Ne,variant:"destructive"})}Re()},qt=ee=>{Z.current?.(),Z.current=re.subscribeRunJob(ee,Ce=>{const Ne=new Date(Ce.ts).toLocaleTimeString();if(Ce.type==="queued"){h(Me=>{const Be=Ce.payload.position?` (position ${Ce.payload.position})`:"",et=`[${Ne}] Run queued${Be}. Waiting for active run to finish...`;return Me.includes(et)?Me:[...Me,et]}),d(5);return}if(Ce.type==="started"&&(h(Me=>{const Be=`[${Ne}] Run started.`;return Me.includes(Be)?Me:[...Me,Be]}),d(Me=>Math.max(Me,30)),j(!1)),Ce.type==="log"){const Me=String(Ce.payload.message??"").trim();Me&&(h(Be=>{const et=`[${Ne}] ${Me}`;return Be.includes(et)?Be:[...Be,et]}),d(Be=>{const et=Me.toLowerCase();if(et.startsWith("loading mcp evaluation config"))return Math.max(Be,15);if(et.startsWith("loaded config"))return Math.max(Be,20);if(et.startsWith("selected "))return Math.max(Be,30);if(et.startsWith("using requested agents")||et.startsWith("using resolved default agents"))return Math.max(Be,35);if(et.startsWith("expanded to "))return Math.max(Be,45);if(et.startsWith("running evaluation"))return Math.max(Be,50);const Et=et.match(/^scenario (\d+)\/(\d+) finished:/);if(Et){const Sn=Number(Et[1]),Nn=Number(Et[2]);return Math.max(Be,50+Math.round(Sn/Nn*25))}return et.startsWith("evaluation execution finished")?Math.max(Be,78):et.startsWith("applying snapshot evaluation policy")?Math.max(Be,82):et.includes("snapshot evaluation applied")||et.includes("snapshot evaluation enabled")?Math.max(Be,88):et.startsWith("writing results to ")?Math.max(Be,94):et.startsWith("run finished:")?Math.max(Be,98):Be}))}if(Ce.type==="completed"){const Me=String(Ce.payload.runId??"").trim();if(h(Be=>{const et=`[${Ne}] Run completed.`;return Be.includes(et)?Be:[...Be,et]}),Ce.payload.snapshotEval&&typeof Ce.payload.snapshotEval=="object"){const Be=Ce.payload.snapshotEval;h(et=>{const Et=`[${Ne}] Snapshot eval (${Be.mode??"warn"}) baseline=${Be.baseline_snapshot_id??"-"} score=${Be.overall_score??"-"} status=${Be.status??"-"}`;return et.includes(Et)?et:[...et,Et]})}d(100),o(!1),y(!0),j(!1),x(Me),Ye(),N(null),Z.current?.(),Z.current=null,Re()}if(Ce.type==="error"){const Me=String(Ce.payload.message??"Unknown error"),Be=Me.includes("Anthropic model not found")?" Hint: this usually means the API key works but the model ID is not enabled for that Anthropic account. Change the agent model in Manage Agents (library) or inline config.":"";h(et=>[...et,`[${Ne}] Error: ${Me}${Be}`]),o(!1),y(!1),j(!1),d(0),Ye(),N(null),Z.current?.(),Z.current=null,Re()}})};return s.jsxs("div",{className:"space-y-6",children:[s.jsxs("div",{children:[s.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[s.jsx(Gl,{className:"h-6 w-6"}),"Run Evaluation"]}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Execute evaluation scenarios against MCP servers"})]}),s.jsx(qe,{children:s.jsxs(We,{className:"pt-6 space-y-4",children:[s.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[s.jsxs("div",{className:"space-y-2",children:[s.jsx(Fe,{children:"MCP Evaluation"}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs(cn,{value:t,onValueChange:n,children:[s.jsx(tn,{children:s.jsx(un,{placeholder:"Select a config"})}),s.jsx(nn,{children:z.map(ee=>s.jsx(lt,{value:ee.id,children:ee.name},ee.id))})]}),s.jsx(le,{type:"button",variant:"outline",size:"icon",className:"h-10 w-10 shrink-0",onClick:Xe,"aria-label":"Refresh configs",title:"Refresh configs",children:s.jsx(Na,{className:"h-4 w-4"})})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsx(Fe,{children:"Variance Runs"}),s.jsx(mt,{type:"number",min:"1",max:"10",value:r,onChange:ee=>a(ee.target.value)})]})]}),s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Fe,{htmlFor:"run-note",children:"Run Note"}),s.jsxs("span",{className:"text-xs text-muted-foreground",children:[T.length,"/500"]})]}),s.jsx(qa,{id:"run-note",value:T,onChange:ee=>F(ee.target.value.slice(0,500)),placeholder:"Optional context for this run (for example: mcp-server v1.8.2 #staging)",rows:2})]}),ue&&s.jsxs("div",{className:"space-y-2",children:[te&&ue.snapshotEval?.enabled&&s.jsxs("div",{className:"rounded-md border bg-amber-500/10 p-2 text-xs text-amber-700 dark:text-amber-300",children:["Snapshot eval active (",ue.snapshotEval.mode,") · baseline:"," ",s.jsx("span",{className:"font-mono",children:ue.snapshotEval.baselineSnapshotId??"none"})]}),s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Fe,{children:"Agents"}),s.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>E(ae.map(ee=>ee.id)),children:"Select all"}),s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>E([]),children:"Clear"})]})]}),s.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:ae.map(ee=>{const Ce=C.includes(ee.id);return s.jsxs("label",{className:"flex items-center gap-2 text-sm rounded-md border p-2",children:[s.jsx(na,{checked:Ce,onCheckedChange:Ne=>{const Me=Ne===!0;E(Be=>Me?[...Be,ee.id]:Be.filter(et=>et!==ee.id))}}),s.jsx("span",{children:ee.name||ee.id})]},ee.id)})}),ae.length===0&&s.jsx("p",{className:"text-xs text-muted-foreground",children:"No agents available. Add agents to your workspace library, or define inline agents in this config."})]}),ue&&s.jsxs("div",{className:"space-y-2",children:[s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Fe,{children:"Tests"}),s.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>k($e.map(ee=>ee.id)),children:"Select all"}),s.jsx("button",{type:"button",className:"text-primary hover:underline",onClick:()=>k([]),children:"Clear"})]})]}),s.jsxs("p",{className:"text-xs text-muted-foreground",children:[_.length," of ",$e.length," selected"]}),s.jsx("div",{className:"grid gap-2 sm:grid-cols-2",children:$e.map(ee=>{const Ce=_.includes(ee.id);return s.jsxs("label",{className:"flex items-start gap-2 text-sm rounded-md border p-2",children:[s.jsx(na,{checked:Ce,onCheckedChange:Ne=>{const Me=Ne===!0;k(Be=>Me?[...Be,ee.id]:Be.filter(et=>et!==ee.id))}}),s.jsxs("span",{className:"min-w-0",children:[s.jsx("span",{className:"block font-medium",children:ee.name||ee.id}),s.jsx("span",{className:"block font-mono text-xs text-muted-foreground truncate",children:ee.id})]})]},ee.id)})})]}),te&&s.jsxs("label",{className:"flex items-center gap-2 text-sm rounded-md border p-2",children:[s.jsx(na,{checked:O,onCheckedChange:ee=>R(ee===!0)}),s.jsx("span",{children:"Apply snapshot evaluation policy (if configured)"})]}),s.jsxs("div",{className:"flex gap-2",children:[s.jsxs(le,{onClick:oe,disabled:!t||ae.length>0&&C.length===0||$e.length>0&&_.length===0,children:[s.jsx(Gl,{className:"mr-2 h-4 w-4"}),Q?"Queue Run":"Run"]}),i&&s.jsxs(le,{variant:"destructive",onClick:be,children:[s.jsx(ch,{className:"mr-2 h-4 w-4"}),"Stop"]})]})]})}),(i||f.length>0)&&s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsx(Nt,{className:"text-base",children:"Progress"}),s.jsxs("span",{className:"text-xs text-muted-foreground font-mono",children:[Math.round(c),"%"]})]})}),s.jsxs(We,{className:"space-y-4",children:[s.jsx(fg,{value:c,className:"h-2"}),s.jsx("div",{ref:B,className:"h-64 overflow-auto rounded-md border bg-muted/30 p-3 font-mono text-xs space-y-0.5",children:f.map((ee,Ce)=>s.jsx("div",{className:ee.includes("✓")?"text-success":ee.includes("aborted")?"text-destructive":"text-foreground",children:ee},Ce))})]})]}),s.jsxs(qe,{children:[s.jsx(St,{className:"pb-3",children:s.jsxs("div",{className:"flex items-center justify-between",children:[s.jsxs(Nt,{className:"inline-flex items-center gap-2 text-base",children:[s.jsx(of,{className:"h-4 w-4"}),"Run Queue"]}),s.jsx(le,{variant:"ghost",size:"sm",onClick:()=>{Re()},children:s.jsx(Na,{className:"h-3 w-3"})})]})}),s.jsx(We,{children:!Q&&K.length===0?s.jsx("p",{className:"text-sm text-muted-foreground",children:"No active or queued runs. Start a run above."}):s.jsxs("div",{className:"space-y-2",children:[Q&&s.jsxs("div",{className:`flex items-center justify-between rounded-md border border-primary/30 bg-primary/5 p-2 text-sm cursor-pointer hover:bg-primary/10 transition-colors ${S===Q.jobId?"ring-2 ring-primary/40":""}`,onClick:()=>{S!==Q.jobId&&(N(Q.jobId),je(Q.jobId),o(!0),y(!1),j(!1),h([`[${new Date().toLocaleTimeString()}] Attached to running job ${Q.jobId}...`]),d(10),qt(Q.jobId))},title:"Click to view progress",children:[s.jsxs("div",{className:"min-w-0 flex items-center gap-2",children:[s.jsx("span",{className:"inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary",children:"Running"}),s.jsx("span",{className:"font-mono text-xs",children:Q.runParams.configPath.split("/").pop()??Q.runParams.configPath}),Q.runParams.agents&&s.jsxs("span",{className:"text-xs text-muted-foreground",children:["agents: ",Q.runParams.agents.join(", ")]}),Q.runParams.runNote&&s.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["note: ",Q.runParams.runNote]})]}),s.jsxs(le,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs text-destructive hover:text-destructive hover:bg-destructive/10",onClick:ee=>{ee.stopPropagation(),Q&&(re.stopRun(Q.jobId),Re())},title:"Stop running job",children:[s.jsx(ch,{className:"mr-1 h-3 w-3"}),"Stop"]})]}),K.map((ee,Ce)=>{const Ne=ee.runParams.configPath.split("/").pop()??ee.runParams.configPath;return s.jsxs("div",{className:"flex items-center justify-between rounded-md border p-2 text-sm",children:[s.jsxs("div",{className:"min-w-0 flex items-center gap-2",children:[s.jsxs("span",{className:"inline-flex items-center rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground",children:["#",Ce+1," Queued"]}),s.jsx("span",{className:"font-mono text-xs",children:Ne}),ee.runParams.agents&&s.jsxs("span",{className:"text-xs text-muted-foreground",children:["agents: ",ee.runParams.agents.join(", ")]}),ee.runParams.runNote&&s.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["note: ",ee.runParams.runNote]})]}),s.jsx(le,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-muted-foreground hover:text-destructive",onClick:()=>{It(ee.jobId)},title:"Remove from queue",children:s.jsx(Ys,{className:"h-4 w-4"})})]},ee.jobId)})]})})]}),g&&!i&&!p&&s.jsx(qe,{className:"border-amber-300/60 bg-amber-50/40",children:s.jsx(We,{className:"pt-6",children:s.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[s.jsx(ch,{className:"h-5 w-5 text-amber-700"}),s.jsxs("div",{className:"min-w-0",children:[s.jsx("p",{className:"font-medium",children:"Run stopped"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"The evaluation was stopped before completion. You can start it again or clear the progress log."})]}),s.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[s.jsx(le,{type:"button",variant:"outline",onClick:()=>{h([]),d(0),j(!1)},children:"Clear Progress"}),s.jsxs(le,{type:"button",onClick:oe,disabled:!t,children:[s.jsx(Gl,{className:"mr-2 h-4 w-4"}),"Run Again"]})]})]})})}),p&&s.jsx(qe,{className:"border-success/50",children:s.jsxs(We,{className:"pt-6",children:[s.jsxs("div",{className:"flex items-center gap-3",children:[s.jsx(Kl,{className:"h-6 w-6 text-success"}),s.jsxs("div",{children:[s.jsx("p",{className:"font-medium",children:"Evaluation Complete"}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"All scenarios have been evaluated successfully."})]}),s.jsx(le,{asChild:!0,className:"ml-auto",children:s.jsx(wt,{to:ie,children:he?"View Results":"View Runs"})})]}),te&&he&&s.jsxs("div",{className:"mt-4 flex flex-wrap items-end gap-2",children:[s.jsxs("div",{className:"space-y-1",children:[s.jsx(Fe,{className:"text-xs",children:"Snapshot name (optional)"}),s.jsx(mt,{value:L,onChange:ee=>$(ee.target.value),placeholder:"e.g. baseline-v1",className:"h-8 w-64"})]}),s.jsx(le,{type:"button",variant:"outline",size:"sm",onClick:()=>{Ie()},disabled:Y,children:Y?"Saving...":"Save Snapshot"})]})]})})]})};function hge(e){const t=Array.from(new Map(e.scenarios.map(i=>{const o=String(i.scenarioId??"").trim(),c=String(i.scenarioName??"").trim();return!o&&!c?null:[o||c,c||o]}).filter(i=>!!i)).values()),n=Array.from(new Set(e.scenarios.map(i=>i.agentName).filter(Boolean))),r=t.slice(0,2).join(", "),a=t.length>2?` +${t.length-2}`:"";return{scenarioCount:t.length,agentCount:n.length,scenarioPreview:r?`${r}${a}`:"n/a"}}const mge=()=>{const{source:e}=Tn(),[t,n]=v.useState([]),[r,a]=v.useState(!1),[i,o]=v.useState(null),[c,d]=v.useState(!1),[f,h]=v.useState("timestamp"),[p,y]=v.useState("desc"),[g,j]=v.useState("all"),b=R=>{if(f===R){y(T=>T==="asc"?"desc":"asc");return}h(R),y(R==="timestamp"?"desc":"asc")},x=async()=>{a(!0);try{n(await e.listResults())}catch(R){Pe({title:"Could not load results",description:R instanceof Error?R.message:String(R),variant:"destructive"})}finally{a(!1)}};v.useEffect(()=>{let R=!0;return a(!0),e.listResults().then(T=>{R&&n(T)}).catch(T=>{R&&Pe({title:"Could not load results",description:T instanceof Error?T.message:String(T),variant:"destructive"})}).finally(()=>{R&&a(!1)}),()=>{R=!1}},[e]);const S=v.useMemo(()=>{const R=new Set;return t.forEach(T=>{T.scenarios.forEach(F=>{const L=String(F.scenarioName??"").trim(),$=String(F.scenarioId??"").trim(),Y=L||$;Y&&R.add(Y)})}),Array.from(R).sort((T,F)=>T.localeCompare(F))},[t]),N=v.useMemo(()=>g==="all"?t:t.filter(R=>R.scenarios.some(T=>{const F=String(T.scenarioName??"").trim(),L=String(T.scenarioId??"").trim();return(F||L)===g})),[t,g]),C=v.useMemo(()=>{const R=(F,L)=>F===null&&L===null?0:F===null?1:L===null?-1:p==="asc"?F-L:L-F;return[...N].sort((F,L)=>{if(f==="toolTokens")return R(F.toolTokenUsage?.totalTokens??null,L.toolTokenUsage?.totalTokens??null);let $=0;return f==="id"&&($=F.id.localeCompare(L.id)),f==="timestamp"&&($=new Date(F.timestamp).getTime()-new Date(L.timestamp).getTime()),f==="passRate"&&($=F.overallPassRate-L.overallPassRate),f==="scenarios"&&($=F.totalScenarios-L.totalScenarios),f==="avgToolCalls"&&($=F.avgToolCalls-L.avgToolCalls),p==="asc"?$:-$})},[N,f,p]),E=R=>f!==R?s.jsx(Hl,{className:"h-3.5 w-3.5 text-muted-foreground"}):p==="asc"?s.jsx(ds,{className:"h-3.5 w-3.5"}):s.jsx(Gt,{className:"h-3.5 w-3.5"}),_=R=>{const T=R.toolTokenUsage?.totalTokens;return typeof T=="number"?T.toLocaleString():"n/a"},k=v.useMemo(()=>{const R=new Map;for(const T of C)R.set(T.id,hge(T));return R},[C]),O=async R=>{d(!0);try{await e.deleteResult(R),n(T=>T.filter(F=>F.id!==R)),Pe({title:"Run deleted",description:R}),o(null)}catch(T){Pe({title:"Could not delete run",description:T instanceof Error?T.message:String(T),variant:"destructive"})}finally{d(!1)}};return s.jsxs("div",{className:"space-y-6",children:[s.jsx(Cs,{open:i!==null,onOpenChange:R=>{!R&&!c&&o(null)},children:s.jsxs(Ya,{children:[s.jsxs(Xa,{children:[s.jsx(Ja,{children:"Delete run?"}),s.jsxs(Za,{children:["This will permanently remove the run artifacts from disk for"," ",s.jsx("span",{className:"font-mono",children:i??""}),"."]})]}),s.jsxs(Qa,{children:[s.jsx(ts,{disabled:c,children:"Cancel"}),s.jsx(es,{disabled:c||!i,onClick:R=>{R.preventDefault(),i&&O(i)},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:c?"Deleting...":"Delete run"})]})]})}),s.jsxs("div",{className:"flex items-start justify-between gap-3",children:[s.jsxs("div",{children:[s.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[s.jsx(fd,{className:"h-6 w-6"}),"Results"]}),s.jsx("p",{className:"text-sm text-muted-foreground",children:"Browse evaluation runs and open detailed results"})]}),s.jsxs("div",{className:"flex items-center gap-2",children:[s.jsxs(cn,{value:g,onValueChange:j,children:[s.jsx(tn,{className:"w-[260px]",children:s.jsx(un,{placeholder:"Filter by scenario"})}),s.jsxs(nn,{children:[s.jsx(lt,{value:"all",children:"All scenarios"}),S.map(R=>s.jsx(lt,{value:R,children:R},R))]})]}),s.jsx(le,{variant:"outline",onClick:()=>{x()},disabled:r,children:r?"Refreshing...":"Refresh"})]})]}),s.jsx(qe,{children:s.jsx(We,{className:"p-0",children:s.jsxs($r,{children:[s.jsx(Dr,{children:s.jsxs(Mt,{children:[s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("id"),children:["Run ID",E("id")]})}),s.jsx(tt,{children:"Evaluated"}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("timestamp"),children:["Timestamp",E("timestamp")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("passRate"),children:["Pass Rate",E("passRate")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("scenarios"),children:["Scenarios",E("scenarios")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("avgToolCalls"),children:["Avg Tool Calls",E("avgToolCalls")]})}),s.jsx(tt,{children:s.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>b("toolTokens"),children:["Tool Tokens",E("toolTokens")]})}),s.jsx(tt,{className:"w-10"})]})}),s.jsx(Lr,{children:C.map(R=>s.jsxs(Mt,{children:[s.jsx(ze,{children:s.jsxs("div",{className:"space-y-1",children:[s.jsx(wt,{to:`/results/${R.id}`,className:"font-mono text-xs text-primary hover:underline",children:R.id}),R.configId?s.jsx("div",{className:"text-[11px] text-muted-foreground",children:R.configId}):null,R.runNote?s.jsxs("div",{className:"text-[11px] text-muted-foreground break-words",children:["Note: ",R.runNote]}):null]})}),s.jsx(ze,{className:"text-[11px] text-muted-foreground",children:(()=>{const T=k.get(R.id);return s.jsxs("div",{className:"space-y-0.5",children:[s.jsxs("div",{children:["Evaluated: ",T.scenarioCount," scenario",T.scenarioCount===1?"":"s"," · ",T.agentCount," agent",T.agentCount===1?"":"s"]}),s.jsx("div",{className:"font-mono text-xs text-foreground/80",children:T.scenarioPreview})]})})()}),s.jsx(ze,{className:"text-xs text-muted-foreground",children:s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsx(of,{className:"h-3 w-3"}),new Date(R.timestamp).toLocaleString()]})}),s.jsx(ze,{children:s.jsx(zs,{rate:R.overallPassRate})}),s.jsx(ze,{className:"font-mono text-sm",children:R.totalScenarios}),s.jsx(ze,{className:"font-mono text-sm",children:R.avgToolCalls.toFixed(0)}),s.jsx(ze,{className:"font-mono text-sm",children:_(R)}),s.jsx(ze,{children:s.jsxs(Zc,{children:[s.jsx(eu,{asChild:!0,children:s.jsx(le,{variant:"ghost",size:"icon",className:"h-8 w-8",children:s.jsx(Dm,{className:"h-4 w-4"})})}),s.jsxs(el,{align:"end",children:[s.jsx(yr,{asChild:!0,children:s.jsxs(wt,{to:`/results/${R.id}`,children:[s.jsx(L7,{className:"mr-2 h-3.5 w-3.5"}),"View"]})}),s.jsxs(yr,{children:[s.jsx(ja,{className:"mr-2 h-3.5 w-3.5"}),"Export JSON"]}),s.jsxs(yr,{className:"text-destructive",onSelect:T=>{T.preventDefault(),o(R.id)},children:[s.jsx(Ca,{className:"mr-2 h-3.5 w-3.5"}),"Delete"]})]})]})})]},R.id))})]})})})]})};function dd({text:e,variant:t="assistant",className:n}){const r=vge(e);return s.jsx("div",{className:Se("space-y-2",t==="system"&&"text-xs",n),children:r.map((a,i)=>s.jsx(v.Fragment,{children:gge(a,i,t)},`md-${i}`))})}function vge(e){const t=e.replace(/\r\n/g,`
|
|
144
144
|
`).split(`
|
|
145
145
|
`),n=[];let r=0;const a=o=>o.trim()==="",i=o=>o.trimStart().startsWith("```");for(;r<t.length;){const o=t[r],c=o.trim();if(a(o)){r+=1;continue}if(i(o)){const y=c.replace(/^```/,"").trim()||void 0;r+=1;const g=[];for(;r<t.length&&!i(t[r]);)g.push(t[r]),r+=1;r<t.length&&i(t[r])&&(r+=1),n.push({type:"code",lang:y,code:g.join(`
|
|
146
146
|
`)});continue}if(/^---+$/.test(c)||/^\*\*\*+$/.test(c)){n.push({type:"hr"}),r+=1;continue}if(c.startsWith(">")){const y=[];for(;r<t.length&&t[r].trim().startsWith(">");)y.push(t[r].trim().replace(/^>\s?/,"")),r+=1;n.push({type:"blockquote",text:y.join(`
|
package/dist/app/index.html
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<meta name="twitter:card" content="summary_large_image" />
|
|
17
17
|
<meta name="twitter:site" content="@Inspectr" />
|
|
18
18
|
<meta name="twitter:image" content="" />
|
|
19
|
-
<script type="module" crossorigin src="/assets/index-
|
|
19
|
+
<script type="module" crossorigin src="/assets/index-BTX1kqFu.js"></script>
|
|
20
20
|
<link rel="stylesheet" crossorigin href="/assets/index-BjhCjzvC.css">
|
|
21
21
|
</head>
|
|
22
22
|
|
|
@@ -1,54 +1,39 @@
|
|
|
1
1
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import { type EvalConfig } from '@inspectr/mcplab-core';
|
|
2
3
|
import type { SseEvent } from './jobs.js';
|
|
3
4
|
import type { RunQueueState, AppRouteDeps, AppRouteRequestContext } from './app-context.js';
|
|
4
|
-
export type RunsRouteDeps = Pick<
|
|
5
|
-
AppRouteDeps,
|
|
6
|
-
| 'parseBody'
|
|
7
|
-
| 'asJson'
|
|
8
|
-
| 'addJobEvent'
|
|
9
|
-
| 'sendSseEvent'
|
|
10
|
-
| 'ensureInsideRoot'
|
|
11
|
-
| 'listRuns'
|
|
12
|
-
| 'getRunResults'
|
|
13
|
-
| 'getScenarioRunTraceRecords'
|
|
14
|
-
| 'selectScenarioIds'
|
|
15
|
-
| 'expandConfigForAgents'
|
|
16
|
-
| 'resolveRunSelectedAgents'
|
|
17
|
-
| 'loadSnapshot'
|
|
18
|
-
| 'compareRunToSnapshot'
|
|
19
|
-
| 'applySnapshotPolicyToRunResult'
|
|
20
|
-
| 'readLibraries'
|
|
21
|
-
| 'pickDefaultAssistantAgentName'
|
|
22
|
-
| 'resolveAssistantAgentFromLibraries'
|
|
23
|
-
| 'chatWithAgent'
|
|
24
|
-
| 'pkgVersion'
|
|
25
|
-
>;
|
|
5
|
+
export type RunsRouteDeps = Pick<AppRouteDeps, 'parseBody' | 'asJson' | 'addJobEvent' | 'sendSseEvent' | 'ensureInsideRoot' | 'listRuns' | 'getRunResults' | 'getScenarioRunTraceRecords' | 'selectScenarioIds' | 'expandConfigForAgents' | 'resolveRunSelectedAgents' | 'loadSnapshot' | 'compareRunToSnapshot' | 'applySnapshotPolicyToRunResult' | 'readLibraries' | 'pickDefaultAssistantAgentName' | 'resolveAssistantAgentFromLibraries' | 'chatWithAgent' | 'pkgVersion'>;
|
|
26
6
|
type RunParams = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
7
|
+
configPath: string;
|
|
8
|
+
runsPerScenario: number;
|
|
9
|
+
scenarioId?: string;
|
|
10
|
+
scenarioIds?: string[];
|
|
11
|
+
requestedAgents?: string[];
|
|
12
|
+
applySnapshotEval: boolean;
|
|
13
|
+
runNote?: string;
|
|
34
14
|
};
|
|
35
15
|
type RunJob = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
16
|
+
id: string;
|
|
17
|
+
status: 'queued' | 'running' | 'stopped' | 'completed' | 'error';
|
|
18
|
+
events: SseEvent[];
|
|
19
|
+
clients: Set<ServerResponse>;
|
|
20
|
+
abortController: AbortController;
|
|
21
|
+
runParams: RunParams;
|
|
42
22
|
};
|
|
23
|
+
export declare function mergeLibraryAgentsIntoConfig(config: EvalConfig, libraryAgents: EvalConfig['agents']): EvalConfig;
|
|
24
|
+
export declare function applyLibraryAgents(loaded: {
|
|
25
|
+
config: EvalConfig;
|
|
26
|
+
hash: string;
|
|
27
|
+
}, libraryAgents: EvalConfig['agents']): void;
|
|
43
28
|
export declare function handleRunsRoutes(params: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
29
|
+
req: IncomingMessage;
|
|
30
|
+
res: ServerResponse;
|
|
31
|
+
pathname: string;
|
|
32
|
+
method: string;
|
|
33
|
+
settings: AppRouteRequestContext['settings'];
|
|
34
|
+
jobs: Map<string, RunJob>;
|
|
35
|
+
runQueueState: RunQueueState;
|
|
36
|
+
deps: RunsRouteDeps;
|
|
52
37
|
}): Promise<boolean>;
|
|
53
38
|
export {};
|
|
54
|
-
//# sourceMappingURL=runs-routes.d.ts.map
|
|
39
|
+
//# sourceMappingURL=runs-routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs-routes.d.ts","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"runs-routes.d.ts","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAML,KAAK,UAAU,EAGhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE5F,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,YAAY,EACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,cAAc,GACd,kBAAkB,GAClB,UAAU,GACV,eAAe,GACf,4BAA4B,GAC5B,mBAAmB,GACnB,uBAAuB,GACvB,0BAA0B,GAC1B,cAAc,GACd,sBAAsB,GACtB,gCAAgC,GAChC,eAAe,GACf,+BAA+B,GAC/B,oCAAoC,GACpC,eAAe,GACf,YAAY,CACf,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACjE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,GAClC,UAAU,CAEZ;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5C,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,GAClC,IAAI,CAGN;AAcD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,aAAa,CAAC;CACrB,GAAG,OAAO,CAAC,OAAO,CAAC,CAscnB"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { existsSync, rmSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { isAbsolute, join } from 'node:path';
|
|
4
|
-
import { McpClientManager, loadConfig, runAll, renderSummaryMarkdown } from '@inspectr/mcplab-core';
|
|
4
|
+
import { McpClientManager, loadConfig, hashConfig, runAll, renderSummaryMarkdown } from '@inspectr/mcplab-core';
|
|
5
5
|
import { renderReport } from '@inspectr/mcplab-reporting';
|
|
6
|
+
export function mergeLibraryAgentsIntoConfig(config, libraryAgents) {
|
|
7
|
+
return { ...config, agents: { ...libraryAgents, ...config.agents } };
|
|
8
|
+
}
|
|
9
|
+
export function applyLibraryAgents(loaded, libraryAgents) {
|
|
10
|
+
loaded.config = mergeLibraryAgentsIntoConfig(loaded.config, libraryAgents);
|
|
11
|
+
loaded.hash = hashConfig(loaded.config);
|
|
12
|
+
}
|
|
6
13
|
export async function handleRunsRoutes(params) {
|
|
7
14
|
const { req, res, pathname, method, settings, jobs, runQueueState, deps } = params;
|
|
8
15
|
const { parseBody, asJson, addJobEvent, sendSseEvent, ensureInsideRoot, listRuns, getRunResults, getScenarioRunTraceRecords, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, loadSnapshot, compareRunToSnapshot, applySnapshotPolicyToRunResult, readLibraries, pickDefaultAssistantAgentName, resolveAssistantAgentFromLibraries, chatWithAgent, pkgVersion } = deps;
|
|
@@ -434,7 +441,7 @@ function advanceQueue(jobs, runQueueState, settings, deps) {
|
|
|
434
441
|
}
|
|
435
442
|
}
|
|
436
443
|
async function executeRunJob(job, settings, jobs, runQueueState, deps) {
|
|
437
|
-
const { addJobEvent, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, loadSnapshot, compareRunToSnapshot, applySnapshotPolicyToRunResult, pkgVersion } = deps;
|
|
444
|
+
const { addJobEvent, selectScenarioIds, expandConfigForAgents, resolveRunSelectedAgents, loadSnapshot, compareRunToSnapshot, applySnapshotPolicyToRunResult, readLibraries, pkgVersion } = deps;
|
|
438
445
|
const { configPath, runsPerScenario, scenarioId, scenarioIds, requestedAgents, applySnapshotEval, runNote } = job.runParams;
|
|
439
446
|
try {
|
|
440
447
|
addJobEvent(job, {
|
|
@@ -443,6 +450,8 @@ async function executeRunJob(job, settings, jobs, runQueueState, deps) {
|
|
|
443
450
|
payload: { message: `Loading MCP Evaluation config: ${configPath}` }
|
|
444
451
|
});
|
|
445
452
|
const loaded = loadConfig(configPath, { bundleRoot: settings.librariesDir });
|
|
453
|
+
const { agents: libraryAgents } = readLibraries(settings.librariesDir);
|
|
454
|
+
applyLibraryAgents(loaded, libraryAgents);
|
|
446
455
|
addJobEvent(job, {
|
|
447
456
|
type: 'log',
|
|
448
457
|
ts: new Date().toISOString(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs-routes.js","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runs-routes.js","sourceRoot":"","sources":["../../src/app-server/runs-routes.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -5,11 +5,12 @@ import { Command } from 'commander';
|
|
|
5
5
|
import kleur from 'kleur';
|
|
6
6
|
import { readFileSync, readdirSync, writeFileSync } from 'node:fs';
|
|
7
7
|
import { join, resolve } from 'node:path';
|
|
8
|
-
import { loadConfig, selectScenarios, runAll, renderSummaryMarkdown, expandConfigForAgents } from '@inspectr/mcplab-core';
|
|
8
|
+
import { loadConfig, hashConfig, selectScenarios, runAll, renderSummaryMarkdown, expandConfigForAgents } from '@inspectr/mcplab-core';
|
|
9
9
|
import { renderReport } from '@inspectr/mcplab-reporting';
|
|
10
10
|
import { execSync } from 'node:child_process';
|
|
11
11
|
import { stringify as stringifyYaml, parse } from 'yaml';
|
|
12
12
|
import { startAppServer } from './app-server/index.js';
|
|
13
|
+
import { readLibraries } from './app-server/libraries-store.js';
|
|
13
14
|
import { migrateSourceConfig } from './migrate-utils.js';
|
|
14
15
|
import { resolveRunOptions, runInteractiveSelection } from './run-interactive.js';
|
|
15
16
|
import { promptAppOptionsInteractive, selectRunDirInteractive } from './interactive-helpers.js';
|
|
@@ -46,7 +47,12 @@ program
|
|
|
46
47
|
defaultEvalsDir: 'mcplab/evals',
|
|
47
48
|
cwd: process.cwd(),
|
|
48
49
|
promptAgentSelection: needsAgentPrompt,
|
|
49
|
-
loadConfigForValidation: (path) =>
|
|
50
|
+
loadConfigForValidation: (path) => {
|
|
51
|
+
const loaded = loadConfig(path);
|
|
52
|
+
const { agents: libraryAgents } = readLibraries(loaded.bundleRoot);
|
|
53
|
+
loaded.config = { ...loaded.config, agents: { ...libraryAgents, ...loaded.config.agents } };
|
|
54
|
+
return loaded;
|
|
55
|
+
}
|
|
50
56
|
})
|
|
51
57
|
: undefined;
|
|
52
58
|
const resolvedOptions = resolveRunOptions({
|
|
@@ -56,7 +62,11 @@ program
|
|
|
56
62
|
agentsAll: Boolean(options.agentsAll),
|
|
57
63
|
interactiveSelection
|
|
58
64
|
});
|
|
59
|
-
|
|
65
|
+
const loaded = loadConfig(resolve(resolvedOptions.config));
|
|
66
|
+
const { agents: libraryAgents } = readLibraries(loaded.bundleRoot);
|
|
67
|
+
loaded.config = { ...loaded.config, agents: { ...libraryAgents, ...loaded.config.agents } };
|
|
68
|
+
loaded.hash = hashConfig(loaded.config);
|
|
69
|
+
let { config, hash, warnings } = loaded;
|
|
60
70
|
for (const warning of warnings) {
|
|
61
71
|
console.log(kleur.yellow(`⚠ ${warning}`));
|
|
62
72
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inspectr/mcplab",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "MCPLab - Test and evaluate MCP servers with LLMs — run evals, compare agents and launch the MCPLab web app",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://mcplab.inspectr.dev",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"vitest": "^3.2.4"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@inspectr/mcplab-core": "1.
|
|
48
|
-
"@inspectr/mcplab-mcp-server": "1.1.
|
|
49
|
-
"@inspectr/mcplab-reporting": "1.1.
|
|
47
|
+
"@inspectr/mcplab-core": "1.3.0",
|
|
48
|
+
"@inspectr/mcplab-mcp-server": "1.1.1",
|
|
49
|
+
"@inspectr/mcplab-reporting": "1.1.2",
|
|
50
50
|
"commander": "^12.1.0",
|
|
51
51
|
"dotenv": "^16.4.5",
|
|
52
52
|
"kleur": "^4.1.5",
|