@anvia/studio 1.2.1 → 1.2.3
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/index.js +1850 -1046
- package/dist/index.js.map +1 -1
- package/dist/ui/assets/{ArrowClockwise.es-Dn4lp0ac.js → ArrowClockwise.es-DwsUsBcf.js} +2 -2
- package/dist/ui/assets/{ArrowClockwise.es-Dn4lp0ac.js.map → ArrowClockwise.es-DwsUsBcf.js.map} +1 -1
- package/dist/ui/assets/{Check.es-BaQZo8Jl.js → Check.es-DSgPB1Pv.js} +2 -2
- package/dist/ui/assets/{Check.es-BaQZo8Jl.js.map → Check.es-DSgPB1Pv.js.map} +1 -1
- package/dist/ui/assets/{Combination-Cj4UR5tg.js → Combination-BkVfYDnw.js} +2 -2
- package/dist/ui/assets/{Combination-Cj4UR5tg.js.map → Combination-BkVfYDnw.js.map} +1 -1
- package/dist/ui/assets/{Copy.es-CU5v9Pav.js → Copy.es-C6Vd2mhd.js} +2 -2
- package/dist/ui/assets/{Copy.es-CU5v9Pav.js.map → Copy.es-C6Vd2mhd.js.map} +1 -1
- package/dist/ui/assets/{MagnifyingGlass.es-C72UX0bz.js → MagnifyingGlass.es-DP3xtOg0.js} +2 -2
- package/dist/ui/assets/{MagnifyingGlass.es-C72UX0bz.js.map → MagnifyingGlass.es-DP3xtOg0.js.map} +1 -1
- package/dist/ui/assets/{Wrench.es-Q3fLRWow.js → Wrench.es-BEBc8KqB.js} +2 -2
- package/dist/ui/assets/{Wrench.es-Q3fLRWow.js.map → Wrench.es-BEBc8KqB.js.map} +1 -1
- package/dist/ui/assets/{agents-page-6DCSMWnZ.js → agents-page-BeBY9su3.js} +2 -2
- package/dist/ui/assets/{agents-page-6DCSMWnZ.js.map → agents-page-BeBY9su3.js.map} +1 -1
- package/dist/ui/assets/{badge-DUs0RCHV.js → badge-MfEDrFTO.js} +2 -2
- package/dist/ui/assets/{badge-DUs0RCHV.js.map → badge-MfEDrFTO.js.map} +1 -1
- package/dist/ui/assets/{button-BWxpVW85.js → button-jjWFI6nO.js} +2 -2
- package/dist/ui/assets/{button-BWxpVW85.js.map → button-jjWFI6nO.js.map} +1 -1
- package/dist/ui/assets/{dialog-DauYXFnG.js → dialog-7KiF6M8r.js} +2 -2
- package/dist/ui/assets/{dialog-DauYXFnG.js.map → dialog-7KiF6M8r.js.map} +1 -1
- package/dist/ui/assets/dist-Che9Yn41.js +2 -0
- package/dist/ui/assets/dist-Che9Yn41.js.map +1 -0
- package/dist/ui/assets/{dist-DD97Shn_.js → dist-Du1CgPgL.js} +2 -2
- package/dist/ui/assets/{dist-DD97Shn_.js.map → dist-Du1CgPgL.js.map} +1 -1
- package/dist/ui/assets/dist-xrWIzsxw.js +2 -0
- package/dist/ui/assets/dist-xrWIzsxw.js.map +1 -0
- package/dist/ui/assets/{graphs-page-BA0jzknS.js → graphs-page-DqwPocIY.js} +2 -2
- package/dist/ui/assets/{graphs-page-BA0jzknS.js.map → graphs-page-DqwPocIY.js.map} +1 -1
- package/dist/ui/assets/{icon-ksPSRwE8.js → icon-BivhXy0Y.js} +2 -2
- package/dist/ui/assets/{icon-ksPSRwE8.js.map → icon-BivhXy0Y.js.map} +1 -1
- package/dist/ui/assets/index-C0JlQS8v.js +67 -0
- package/dist/ui/assets/index-C0JlQS8v.js.map +1 -0
- package/dist/ui/assets/{input-DdUxz9c8.js → input-C35vs5wD.js} +2 -2
- package/dist/ui/assets/{input-DdUxz9c8.js.map → input-C35vs5wD.js.map} +1 -1
- package/dist/ui/assets/{knowledge-page-BVVc4w3w.js → knowledge-page-B28XrwD1.js} +2 -2
- package/dist/ui/assets/{knowledge-page-BVVc4w3w.js.map → knowledge-page-B28XrwD1.js.map} +1 -1
- package/dist/ui/assets/{mcps-page-BfF4B22U.js → mcps-page-Cp0cXu3k.js} +2 -2
- package/dist/ui/assets/{mcps-page-BfF4B22U.js.map → mcps-page-Cp0cXu3k.js.map} +1 -1
- package/dist/ui/assets/{memory-page-BQkt2BAW.js → memory-page-3S_mBxnY.js} +3 -3
- package/dist/ui/assets/memory-page-3S_mBxnY.js.map +1 -0
- package/dist/ui/assets/{pipelines-page-Xx2kQNCI.js → pipelines-page-CfRbR4Po.js} +2 -2
- package/dist/ui/assets/{pipelines-page-Xx2kQNCI.js.map → pipelines-page-CfRbR4Po.js.map} +1 -1
- package/dist/ui/assets/renderers-C5qoR_20.js +94 -0
- package/dist/ui/assets/renderers-C5qoR_20.js.map +1 -0
- package/dist/ui/assets/{request-DYxy87Kp.js → request-CpxtfF0E.js} +2 -2
- package/dist/ui/assets/{request-DYxy87Kp.js.map → request-CpxtfF0E.js.map} +1 -1
- package/dist/ui/assets/{sandboxes-page-BwidNA5G.js → sandboxes-page-GPkBA_26.js} +2 -2
- package/dist/ui/assets/{sandboxes-page-BwidNA5G.js.map → sandboxes-page-GPkBA_26.js.map} +1 -1
- package/dist/ui/assets/{select-C4MbvpHr.js → select-Bt5d0Z3n.js} +2 -2
- package/dist/ui/assets/{select-C4MbvpHr.js.map → select-Bt5d0Z3n.js.map} +1 -1
- package/dist/ui/assets/sessions-page-CDvKPoVi.js +2 -0
- package/dist/ui/assets/{sessions-page-C3dJDjJb.js.map → sessions-page-CDvKPoVi.js.map} +1 -1
- package/dist/ui/assets/{status-page-92JD9Hj8.js → status-page-BeUxNJNp.js} +2 -2
- package/dist/ui/assets/{status-page-92JD9Hj8.js.map → status-page-BeUxNJNp.js.map} +1 -1
- package/dist/ui/assets/{studio-CtQdOoHK.js → studio-DeO7ueA2.js} +2 -2
- package/dist/ui/assets/{studio-CtQdOoHK.js.map → studio-DeO7ueA2.js.map} +1 -1
- package/dist/ui/assets/{style-CrHHNFw2.js → style-2z5K_w5A.js} +2 -2
- package/dist/ui/assets/{style-CrHHNFw2.js.map → style-2z5K_w5A.js.map} +1 -1
- package/dist/ui/assets/team-playground-YxRSJeOf.js +2 -0
- package/dist/ui/assets/team-playground-YxRSJeOf.js.map +1 -0
- package/dist/ui/assets/{textarea-gPj9-ALc.js → textarea-BqjRR-2a.js} +2 -2
- package/dist/ui/assets/{textarea-gPj9-ALc.js.map → textarea-BqjRR-2a.js.map} +1 -1
- package/dist/ui/assets/{tool-runner-xLspgGPa.js → tool-runner-DvhSexHU.js} +2 -2
- package/dist/ui/assets/{tool-runner-xLspgGPa.js.map → tool-runner-DvhSexHU.js.map} +1 -1
- package/dist/ui/assets/{tools-page-BMyx2xRT.js → tools-page-B613Kgf3.js} +2 -2
- package/dist/ui/assets/{tools-page-BMyx2xRT.js.map → tools-page-B613Kgf3.js.map} +1 -1
- package/dist/ui/assets/trace-browser-B4cu-jFZ.js +4 -0
- package/dist/ui/assets/trace-browser-B4cu-jFZ.js.map +1 -0
- package/dist/ui/assets/{transcript-item-Bl3Yl-NT.js → transcript-item-B_Lyu12N.js} +2 -2
- package/dist/ui/assets/{transcript-item-Bl3Yl-NT.js.map → transcript-item-B_Lyu12N.js.map} +1 -1
- package/dist/ui/assets/{with-selector-BIQdjRiO.js → with-selector-CfGDDu3e.js} +2 -2
- package/dist/ui/assets/{with-selector-BIQdjRiO.js.map → with-selector-CfGDDu3e.js.map} +1 -1
- package/dist/ui/index.html +16 -16
- package/package.json +12 -12
- package/dist/ui/assets/dist-BmLOFYIW.js +0 -2
- package/dist/ui/assets/dist-BmLOFYIW.js.map +0 -1
- package/dist/ui/assets/dist-CHLp-Np4.js +0 -2
- package/dist/ui/assets/dist-CHLp-Np4.js.map +0 -1
- package/dist/ui/assets/index-Dyjst4Yt.js +0 -61
- package/dist/ui/assets/index-Dyjst4Yt.js.map +0 -1
- package/dist/ui/assets/memory-page-BQkt2BAW.js.map +0 -1
- package/dist/ui/assets/renderers-CrjMPAR2.js +0 -94
- package/dist/ui/assets/renderers-CrjMPAR2.js.map +0 -1
- package/dist/ui/assets/sessions-page-C3dJDjJb.js +0 -2
- package/dist/ui/assets/team-playground-GcG3j0Hl.js +0 -2
- package/dist/ui/assets/team-playground-GcG3j0Hl.js.map +0 -1
- package/dist/ui/assets/trace-browser-Axd-aif6.js +0 -4
- package/dist/ui/assets/trace-browser-Axd-aif6.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,s as r}from"./dist-CHLp-Np4.js";import{i,l as a,t as o}from"./button-BWxpVW85.js";import{a as s,c,i as l,n as u,o as d,r as f,t as p}from"./dialog-DauYXFnG.js";import{n as m,t as h}from"./icon-ksPSRwE8.js";import{a as g,s as _,t as v}from"./studio-CtQdOoHK.js";var y=r(e(),1),b=new Map([[`bold`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z`}))],[`duotone`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z`,opacity:`0.2`}),y.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`fill`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z`}))],[`light`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z`}))],[`regular`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`}))],[`thin`,y.createElement(y.Fragment,null,y.createElement(`path`,{d:`M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z`}))]]),x=y.forwardRef((e,t)=>y.createElement(m,{ref:t,...e,weights:b}));x.displayName=`TrashIcon`;var S=x,C=n();function w(e){return e.sessionsEnabled?e.sessions.length===0?(0,C.jsx)(g,{"aria-label":`Sessions`,children:(0,C.jsx)(v,{title:e.sessionLoadState===`loading`?`Loading sessions`:`No sessions`,text:e.sessionLoadState===`loading`?`Reading saved Studio sessions.`:`Start a chat to create a Studio session.`})}):(0,C.jsx)(g,{className:`overflow-auto pb-6 pr-6`,"aria-label":`Sessions`,children:(0,C.jsxs)(_,{className:`h-full min-w-225`,children:[(0,C.jsxs)(`div`,{className:`sticky top-0 z-10 grid min-h-11 grid-cols-[minmax(220px,1.3fr)_180px_120px_120px_72px] items-center gap-4 border-b bg-header px-4 text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground backdrop-blur`,children:[(0,C.jsx)(`span`,{children:`Session`}),(0,C.jsx)(`span`,{children:`Agent`}),(0,C.jsx)(`span`,{children:`Messages`}),(0,C.jsx)(`span`,{children:`Updated`}),(0,C.jsx)(`span`,{className:`sr-only`,children:`Actions`})]}),e.sessions.map(n=>(0,C.jsxs)(`div`,{className:t(`grid min-h-14 w-full min-w-0 grid-cols-[minmax(220px,1.3fr)_180px_120px_120px_72px] items-center gap-4 border-b px-4 text-left text-muted-foreground transition duration-200 hover:bg-transparent hover:text-foreground`,n.id===e.selectedSessionId&&`bg-row-selected text-foreground`),children:[(0,C.jsxs)(o,{className:`col-span-4 grid h-full min-h-14 min-w-0 grid-cols-[minmax(220px,1.3fr)_180px_120px_120px] items-center justify-start gap-4 border-0 bg-transparent p-0 text-left text-inherit shadow-none hover:bg-transparent hover:text-inherit`,type:`button`,variant:`ghost`,onClick:()=>e.onOpenSession(n.id),children:[(0,C.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,C.jsx)(`strong`,{className:`min-w-0 truncate text-sm font-medium text-foreground`,children:n.title??`Untitled chat`}),(0,C.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-muted-foreground`,children:n.id})]}),(0,C.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:i(e.agents,n.agentId)}),(0,C.jsxs)(`span`,{className:`text-xs font-medium tabular-nums text-muted-foreground`,children:[n.messageCount,` messages`]}),(0,C.jsx)(`time`,{className:`text-xs font-medium text-muted-foreground`,children:a(n.updatedAt)})]}),(0,C.jsxs)(`span`,{className:`flex items-center justify-end gap-1`,children:[(0,C.jsx)(o,{"aria-label":`View tracing for ${n.title??`Untitled chat`}`,className:`h-7 min-h-7 w-7 border-0 bg-transparent p-0 text-muted-foreground opacity-80 hover:bg-transparent hover:text-foreground hover:opacity-100 [&_svg]:h-3.5 [&_svg]:w-3.5`,size:`icon`,type:`button`,variant:`ghost`,onClick:t=>{t.stopPropagation(),e.onViewSessionTracing(n.id)},children:(0,C.jsx)(h,{icon:c,"aria-hidden":`true`})}),(0,C.jsx)(o,{"aria-label":`Delete ${n.title??`Untitled chat`}`,className:`h-7 min-h-7 w-7 border-0 bg-transparent p-0 text-muted-foreground opacity-80 hover:bg-transparent hover:text-destructive hover:opacity-100 [&_svg]:h-3.5 [&_svg]:w-3.5`,size:`icon`,type:`button`,variant:`ghost`,onClick:t=>{t.stopPropagation(),e.onDeleteSession(n)},children:(0,C.jsx)(h,{icon:S,"aria-hidden":`true`})})]})]},n.id))]})}):(0,C.jsx)(g,{"aria-label":`Sessions`,children:(0,C.jsx)(v,{className:`h-full`,title:`Sessions unavailable`,text:`This Studio runtime does not expose saved sessions.`})})}function T(e){let t=e.session?.title??`Untitled chat`;return(0,C.jsx)(p,{open:e.session!==void 0,onOpenChange:e.onOpenChange,children:(0,C.jsxs)(u,{children:[(0,C.jsxs)(s,{children:[(0,C.jsx)(d,{children:`Delete session`}),(0,C.jsxs)(f,{children:[`Delete "`,t,`" and its traces. This cannot be undone.`]})]}),(0,C.jsxs)(l,{children:[(0,C.jsx)(o,{type:`button`,variant:`ghost`,onClick:()=>e.onOpenChange(!1),children:`Cancel`}),(0,C.jsx)(o,{type:`button`,variant:`destructive`,onClick:()=>{e.session!==void 0&&e.onConfirm(e.session)},children:`Delete`})]})]})})}export{T as DeleteSessionDialog,w as SessionsPage};
|
|
2
|
-
//# sourceMappingURL=sessions-page-C3dJDjJb.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,s as r}from"./dist-CHLp-Np4.js";import{s as i,t as a}from"./button-BWxpVW85.js";import{c as o,i as s,t as c}from"./request-DYxy87Kp.js";import{t as l}from"./textarea-gPj9-ALc.js";import{r as u}from"./renderers-CrjMPAR2.js";var d=r(e(),1),f=n();function p(e){let[t,n]=(0,d.useState)({}),{request:r,status:i}=e.item,o=e.busy||i!==`pending`;return(0,f.jsxs)(`section`,{className:`space-y-3 rounded-xl border border-hair bg-card p-4`,"aria-label":`${e.name}: ${r.toolName}`,children:[(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 text-sm`,children:[(0,f.jsxs)(`strong`,{children:[e.name,` · `,r.toolName]}),(0,f.jsx)(`span`,{className:`text-muted-foreground`,children:e.busy?`Submitting…`:i===`pending`?`Needs your input`:i})]}),(0,f.jsxs)(`p`,{className:`break-all text-xs text-muted-foreground`,children:[`Instance `,e.item.instanceId]}),r.type===`tool-approval`?(0,f.jsxs)(f.Fragment,{children:[r.reason&&(0,f.jsx)(`p`,{className:`text-sm`,children:r.reason}),(0,f.jsx)(`pre`,{className:`max-h-48 overflow-auto whitespace-pre-wrap break-all text-xs`,children:JSON.stringify(r.input,null,2)}),(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(a,{size:`sm`,disabled:o,onClick:()=>void e.respond(r.id,{type:`tool-approval`,approved:!0}),children:`Approve`}),(0,f.jsx)(a,{size:`sm`,variant:`secondary`,disabled:o,onClick:()=>void e.respond(r.id,{type:`tool-approval`,approved:!1}),children:`Deny`})]})]}):(0,f.jsxs)(`form`,{className:`space-y-3`,onSubmit:n=>{n.preventDefault(),e.respond(r.id,{type:`tool-question`,answers:r.questions.map(e=>({questionId:e.id,value:t[e.id]??``}))})},children:[r.questions.map(e=>(0,f.jsxs)(`fieldset`,{disabled:o,className:`space-y-2`,children:[(0,f.jsx)(`legend`,{className:`mb-2 text-sm`,children:e.text}),e.choices?.map(i=>(0,f.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,f.jsx)(`input`,{type:`radio`,name:`${r.id}:${e.id}`,value:i.value,checked:t[e.id]===i.value,onChange:()=>n(t=>({...t,[e.id]:i.value}))}),i.label]},i.value)),(!e.choices?.length||e.allowCustom)&&(0,f.jsx)(l,{"aria-label":e.text,placeholder:`Your answer`,value:t[e.id]??``,onChange:t=>n(n=>({...n,[e.id]:t.target.value}))})]},e.id)),(0,f.jsx)(a,{size:`sm`,disabled:o||r.questions.some(e=>!t[e.id]?.trim()),children:`Send answers`})]})]})}function m(e){let n=Object.values(e.state.members),r=e.state.members[e.selected]??n.find(e=>e.depth===0);function a(i){return(0,f.jsxs)(`li`,{children:[(0,f.jsxs)(`button`,{type:`button`,onClick:()=>e.select(i.instanceId),title:i.instanceId,"aria-pressed":r?.instanceId===i.instanceId,className:t(`flex w-full items-center justify-between gap-3 rounded-lg px-3 py-2 text-left text-sm hover:bg-muted`,r?.instanceId===i.instanceId&&`bg-muted`),style:{paddingLeft:12+i.depth*16},children:[(0,f.jsxs)(`span`,{className:`min-w-0 truncate`,children:[i.depth>0?`↳ `:``,i.name]}),(0,f.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:i.status.replaceAll(`_`,` `)})]}),(0,f.jsx)(`ul`,{children:n.filter(e=>e.parentInstanceId===i.instanceId).map(a)})]},i.instanceId)}return(0,f.jsxs)(`div`,{className:`space-y-5`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsxs)(`h2`,{className:`mb-3 text-sm font-medium`,children:[`Members `,(0,f.jsx)(`span`,{className:`text-muted-foreground`,children:n.length})]}),n.length?(0,f.jsx)(`ul`,{"aria-label":`Team members`,children:n.filter(e=>!e.parentInstanceId).map(a)}):(0,f.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Spawned agents will appear here as the team works.`})]}),r&&(0,f.jsxs)(`section`,{className:`space-y-4 border-t border-hair pt-4`,"aria-label":`Member details`,children:[(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h3`,{className:`text-sm font-medium`,children:r.name}),(0,f.jsxs)(`p`,{className:`break-all text-xs text-muted-foreground`,children:[r.agentId,` · `,r.instanceId]})]}),r.error!==void 0&&(0,f.jsx)(`p`,{role:`alert`,className:`text-sm text-status-danger-ink`,children:i(r.error)}),(0,f.jsxs)(`details`,{className:`text-xs`,children:[(0,f.jsx)(`summary`,{className:`cursor-pointer text-muted-foreground`,children:`Token usage`}),(0,f.jsx)(`pre`,{className:`overflow-auto p-2`,children:JSON.stringify(r.usage,null,2)})]}),e.state.turns.filter(e=>e.instanceId===r.instanceId).map(t=>(0,f.jsxs)(`div`,{className:`space-y-3`,children:[t.text&&(0,f.jsx)(u,{text:t.text,live:e.state.status===`running`}),t.tools.length>0&&(0,f.jsxs)(`details`,{children:[(0,f.jsxs)(`summary`,{className:`cursor-pointer text-xs text-muted-foreground`,children:[`Tool activity (`,t.tools.length,`)`]}),t.tools.map((e,t)=>(0,f.jsx)(`pre`,{className:`my-2 max-h-60 overflow-auto whitespace-pre-wrap break-all rounded-lg bg-muted p-3 text-xs`,children:e},t))]}),t.messages&&(0,f.jsxs)(`details`,{children:[(0,f.jsx)(`summary`,{className:`cursor-pointer text-xs text-muted-foreground`,children:`Run messages`}),(0,f.jsx)(`pre`,{className:`max-h-96 overflow-auto whitespace-pre-wrap break-all text-xs`,children:JSON.stringify(t.messages,null,2)})]})]},t.key))]})]})}function h({state:e}){let t=t=>e.members[t]?.name??t;return(0,f.jsxs)(`section`,{className:`space-y-3`,"aria-label":`Messages between agents`,children:[(0,f.jsxs)(`h2`,{className:`text-sm font-medium`,children:[`Messages `,(0,f.jsx)(`span`,{className:`text-muted-foreground`,children:e.messages.length})]}),!e.messages.length&&(0,f.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Messages between agents will appear here.`}),e.messages.map(({message:e,delivered:n})=>(0,f.jsxs)(`article`,{className:`space-y-2 rounded-lg border border-hair p-3`,children:[(0,f.jsxs)(`div`,{className:`text-xs font-medium`,children:[t(e.fromInstanceId),` → `,t(e.toInstanceId)]}),(0,f.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-sm`,children:e.content}),(0,f.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[n?`Delivered`:`Queued`,` ·`,` `,new Date(e.createdAt).toLocaleTimeString()]})]},e.id))]})}var g={status:`idle`,members:{},turns:[],messages:[],interactions:{},conversation:[]};function _(e,t){return Object.fromEntries(Object.entries(e.interactions).map(([e,n])=>[e,n.status===`pending`&&(t===void 0||n.instanceId===t)?{...n,status:`cancelled`}:n]))}function v(e,t){switch(t.type){case`reset`:return g;case`start`:return{...g,status:`running`,conversation:[{type:`prompt`,text:t.prompt}]};case`prompt`:return{...e,conversation:[...e.conversation,{type:`prompt`,text:t.prompt}]};case`stop`:return{...e,status:t.error?`failed`:`cancelled`,...t.error?{error:t.error}:{},interactions:_(e),members:Object.fromEntries(Object.entries(e.members).map(([e,t])=>[e,[`queued`,`running`,`waiting`,`awaiting_interaction`].includes(t.status)?{...t,status:`cancelled`}:t]))};case`answered`:{let n=e.interactions[t.id];return n===void 0?e:{...e,interactions:{...e.interactions,[t.id]:{...n,status:`answered`}}}}}let n=t.event;if(n.type===`team_run_started`)return{...e,runId:n.runId};if(n.type===`error`)return v(e,{type:`stop`,error:i(n.error)});if(n.type===`response`||n.type===`blocked`)return{...e,status:n.type===`response`?`completed`:`blocked`,members:{...e.members,...Object.fromEntries(n.members.map(e=>[e.instanceId,e]))},interactions:_(e)};if(`member`in n)return{...e,members:{...e.members,[n.instanceId]:n.member},...n.type===`agent_cancelled`||n.type===`agent_failed`?{interactions:_(e,n.instanceId)}:{}};if(n.type===`interaction`)return{...e,interactions:{...e.interactions,[n.interaction.id]:{instanceId:n.instanceId,request:n.interaction,status:`pending`}}};if(n.type===`message_queued`||n.type===`message_delivered`){let t=e.messages.find(e=>e.message.id===n.message.id),r={message:n.message,delivered:t?.delivered===!0||n.type===`message_delivered`};return{...e,messages:t?e.messages.map(e=>e.message.id===r.message.id?r:e):[...e.messages,r].slice(-500)}}if(n.type!==`agent_event`)return e;let r=`${n.instanceId}:${n.runId??`initial`}`,a=e.turns.find(e=>e.key===r)??{key:r,instanceId:n.instanceId,coordinator:n.coordinator,text:``,tools:[]},o=n.event,s;switch(o.type){case`text_delta`:s={...a,text:a.text+o.delta};break;case`tool_call`:s={...a,tools:[...a.tools,JSON.stringify(o.toolCall)].slice(-100)};break;case`tool_result`:s={...a,tools:[...a.tools,`${o.toolName}: ${JSON.stringify(o.output,null,2)}`].slice(-100)};break;case`response`:case`blocked`:s={...a,text:o.text,messages:o.messages,tools:o.messages.flatMap(e=>typeof e.content==`string`?[]:e.content.filter(e=>e.type===`tool-call`||e.type===`tool-result`).map(e=>JSON.stringify(e,null,2))).slice(-100)};break;default:return e}return{...e,conversation:s.coordinator&&!e.turns.some(e=>e.key===r)?[...e.conversation,{type:`turn`,key:r}].slice(-500):e.conversation,turns:e.turns.some(e=>e.key===r)?e.turns.map(e=>e.key===r?s:e):[...e.turns,s].slice(-500)}}function y(e){!e||e.controller.signal.aborted||(e.runId&&fetch(`${e.base}/${encodeURIComponent(e.runId)}/cancel`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`,keepalive:!0,signal:AbortSignal.timeout(5e3)}).catch(()=>{}),e.controller.abort())}function b(e){let[t,n]=(0,d.useReducer)(v,g),[r,a]=(0,d.useState)(``),[l,u]=(0,d.useState)(new Set),f=(0,d.useRef)(void 0),p=(0,d.useRef)(0),m=`/teams/${encodeURIComponent(e)}/runs`;(0,d.useEffect)(()=>()=>{y(f.current),f.current=void 0,p.current++},[e]);async function h(e){if(f.current)return;let t={controller:new AbortController,base:m,runId:void 0,pending:new Set,epoch:++p.current};f.current=t,u(new Set),a(``),n({type:`start`,prompt:e});try{let r=await fetch(m,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({prompt:e}),signal:t.controller.signal});if(!r.ok)throw Error(await s(r,`Start team`));if(!r.body)throw Error(`Team response has no stream`);t.runId=r.headers.get(`x-anvia-team-run-id`)??void 0;for await(let e of o(r.body)){if(f.current!==t||t.controller.signal.aborted)break;e.type===`team_run_started`&&(t.runId=e.runId);let r=e.type===`response`||e.type===`blocked`||e.type===`error`;if(r&&(f.current=void 0),n({type:`event`,event:e}),r)return}if(!t.controller.signal.aborted)throw Error(`Team stream ended before a result arrived`)}catch(e){f.current===t&&n({type:`stop`,...t.controller.signal.aborted?{}:{error:i(e)}})}finally{f.current===t&&(f.current=void 0)}}async function _(e,t,n,r){let o=f.current;if(!o?.runId||o.pending.has(e))return!1;o.pending.add(e),u(new Set(o.pending)),a(``);try{return await c(`${m}/${encodeURIComponent(o.runId)}${t}`,`Update team`,o.controller.signal,`default`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}),p.current===o.epoch&&!o.controller.signal.aborted&&r(),!0}catch(e){return f.current===o&&!o.controller.signal.aborted&&a(i(e)),!1}finally{o.pending.delete(e),p.current===o.epoch&&u(new Set(o.pending))}}function b(){f.current&&(y(f.current),n({type:`stop`}))}return{state:t,busy:l,controlError:r,start:h,stop:b,reset:()=>{f.current||(p.current++,n({type:`reset`}),a(``))},steer:e=>_(`steer`,`/steer`,{prompt:e},()=>n({type:`prompt`,prompt:e})),respond:(e,t)=>_(e,`/interactions/${encodeURIComponent(e)}`,t,()=>n({type:`answered`,id:e}))}}function x({team:e,targetSelector:t}){let n=b(e.id),[r,i]=(0,d.useState)(``),[o,s]=(0,d.useState)(``),[c,g]=(0,d.useState)(`members`),_=(0,d.useRef)(null),v=(0,d.useRef)(!0),y=n.state.status===`running`,x=n.state.status!==`idle`;(0,d.useEffect)(()=>{let e=_.current;e&&v.current&&(e.scrollTop=e.scrollHeight)},[n.state]);async function S(){let e=r.trim();e&&(y?await n.steer(e)&&i(``):(i(``),v.current=!0,n.start(e)))}return(0,f.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-auto lg:overflow-hidden`,children:[(0,f.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-b border-hair px-5 py-3`,children:[(0,f.jsx)(`div`,{className:`flex items-center gap-3`,children:t(y)}),(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(`span`,{role:`status`,className:`text-xs text-muted-foreground`,children:n.state.status}),(0,f.jsx)(a,{variant:`secondary`,size:`sm`,disabled:y,onClick:()=>{n.reset(),i(``),s(``)},children:`New task`})]})]}),(0,f.jsxs)(`div`,{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 lg:grid-cols-[minmax(0,1fr)_360px] xl:grid-cols-[minmax(0,1fr)_420px]`,children:[(0,f.jsxs)(`div`,{className:`flex min-h-[480px] min-w-0 flex-col lg:min-h-0`,children:[(0,f.jsx)(`div`,{ref:_,className:`min-h-0 flex-1 overflow-auto px-5 py-6`,onScroll:()=>{let e=_.current;e&&(v.current=e.scrollHeight-e.scrollTop-e.clientHeight<80)},children:(0,f.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-6`,children:[!x&&(0,f.jsxs)(`div`,{className:`py-16`,children:[(0,f.jsxs)(`h1`,{className:`text-2xl font-medium`,children:[`Work with `,e.id]}),(0,f.jsx)(`p`,{className:`mt-3 text-sm text-muted-foreground`,children:`Give the coordinator a task. Follow its agents, messages, and requests as they work.`}),(0,f.jsxs)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:[`Available members:`,` `,e.members.map(e=>e.name??e.id).join(`, `)||`None`]})]}),n.state.conversation.map((e,t)=>{if(e.type===`prompt`)return(0,f.jsxs)(`article`,{className:`rounded-xl bg-muted p-4`,children:[(0,f.jsx)(`div`,{className:`mb-2 text-xs text-muted-foreground`,children:`You`}),(0,f.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-sm`,children:e.text})]},`prompt:${t}`);let r=n.state.turns.find(t=>t.key===e.key);return r?.text?(0,f.jsxs)(`article`,{children:[(0,f.jsx)(`div`,{className:`mb-2 text-xs text-muted-foreground`,children:`Coordinator`}),(0,f.jsx)(u,{text:r.text,live:y,size:`base`})]},e.key):null}),Object.values(n.state.interactions).map(e=>(0,f.jsx)(p,{item:e,name:n.state.members[e.instanceId]?.name??e.instanceId,busy:n.busy.has(e.request.id),respond:n.respond},e.request.id)),n.state.error&&(0,f.jsx)(`p`,{role:`alert`,className:`text-sm text-status-danger-ink`,children:n.state.error}),n.controlError&&(0,f.jsx)(`p`,{role:`alert`,className:`text-sm text-status-danger-ink`,children:n.controlError})]})}),(0,f.jsxs)(`form`,{className:`mx-auto w-full max-w-3xl space-y-3 px-5 pb-5 pt-3`,onSubmit:e=>{e.preventDefault(),S()},children:[(0,f.jsx)(l,{"aria-label":y?`Message coordinator`:`Team task`,placeholder:y?`Send a follow-up to the coordinator…`:`Give this team a task…`,value:r,maxLength:32768,onChange:e=>i(e.target.value),disabled:x&&!y,onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),(!x||y)&&!n.busy.has(`steer`)&&S())}}),(0,f.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,f.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This run stays in this page. Leaving stops active work.`}),y&&(0,f.jsx)(a,{type:`button`,variant:`secondary`,size:`sm`,onClick:n.stop,children:`Stop team`}),(0,f.jsx)(a,{size:`sm`,disabled:!r.trim()||x&&!y||y&&(!n.state.runId||n.busy.has(`steer`)),children:y?`Send follow-up`:`Run team`})]})]})]}),(0,f.jsxs)(`aside`,{className:`min-h-64 min-w-0 space-y-5 overflow-auto border-t border-hair p-5 lg:border-t-0 lg:border-l`,"aria-label":`Team activity`,children:[(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(a,{variant:c===`members`?`secondary`:`ghost`,size:`sm`,onClick:()=>g(`members`),children:`Members`}),(0,f.jsx)(a,{variant:c===`messages`?`secondary`:`ghost`,size:`sm`,onClick:()=>g(`messages`),children:`Messages`})]}),c===`members`?(0,f.jsx)(m,{state:n.state,selected:o,select:s}):(0,f.jsx)(h,{state:n.state})]})]})]})}export{x as TeamPlayground};
|
|
2
|
-
//# sourceMappingURL=team-playground-GcG3j0Hl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"team-playground-GcG3j0Hl.js","names":[],"sources":["../../../src/ui/app/modules/teams/team-interactions.tsx","../../../src/ui/app/modules/teams/team-members.tsx","../../../src/ui/app/modules/teams/team-state.ts","../../../src/ui/app/modules/teams/use-team-run.ts","../../../src/ui/app/modules/teams/team-playground.tsx"],"sourcesContent":["import type { AgentInteractionResponse } from \"@anvia/core/agent/interactions\";\nimport { useState } from \"react\";\nimport { Button } from \"../../components/ui/button\";\nimport { Textarea } from \"../../components/ui/textarea\";\nimport type { TeamInteraction } from \"./team-state\";\n\nexport function TeamInteractionCard(props: {\n item: TeamInteraction;\n name: string;\n busy: boolean;\n respond: (id: string, response: AgentInteractionResponse) => Promise<boolean>;\n}) {\n const [answers, setAnswers] = useState<Record<string, string>>({});\n const { request, status } = props.item;\n const disabled = props.busy || status !== \"pending\";\n return (\n <section\n className=\"space-y-3 rounded-xl border border-hair bg-card p-4\"\n aria-label={`${props.name}: ${request.toolName}`}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-2 text-sm\">\n <strong>\n {props.name} · {request.toolName}\n </strong>\n <span className=\"text-muted-foreground\">\n {props.busy ? \"Submitting…\" : status === \"pending\" ? \"Needs your input\" : status}\n </span>\n </div>\n <p className=\"break-all text-xs text-muted-foreground\">Instance {props.item.instanceId}</p>\n {request.type === \"tool-approval\" ? (\n <>\n {request.reason && <p className=\"text-sm\">{request.reason}</p>}\n <pre className=\"max-h-48 overflow-auto whitespace-pre-wrap break-all text-xs\">\n {JSON.stringify(request.input, null, 2)}\n </pre>\n <div className=\"flex gap-2\">\n <Button\n size=\"sm\"\n disabled={disabled}\n onClick={() =>\n void props.respond(request.id, { type: \"tool-approval\", approved: true })\n }\n >\n Approve\n </Button>\n <Button\n size=\"sm\"\n variant=\"secondary\"\n disabled={disabled}\n onClick={() =>\n void props.respond(request.id, { type: \"tool-approval\", approved: false })\n }\n >\n Deny\n </Button>\n </div>\n </>\n ) : (\n <form\n className=\"space-y-3\"\n onSubmit={(event) => {\n event.preventDefault();\n void props.respond(request.id, {\n type: \"tool-question\",\n answers: request.questions.map((question) => ({\n questionId: question.id,\n value: answers[question.id] ?? \"\",\n })),\n });\n }}\n >\n {request.questions.map((question) => (\n <fieldset key={question.id} disabled={disabled} className=\"space-y-2\">\n <legend className=\"mb-2 text-sm\">{question.text}</legend>\n {question.choices?.map((choice) => (\n <label key={choice.value} className=\"flex items-center gap-2 text-sm\">\n <input\n type=\"radio\"\n name={`${request.id}:${question.id}`}\n value={choice.value}\n checked={answers[question.id] === choice.value}\n onChange={() =>\n setAnswers((previous) => ({ ...previous, [question.id]: choice.value }))\n }\n />\n {choice.label}\n </label>\n ))}\n {(!question.choices?.length || question.allowCustom) && (\n <Textarea\n aria-label={question.text}\n placeholder=\"Your answer\"\n value={answers[question.id] ?? \"\"}\n onChange={(event) =>\n setAnswers((previous) => ({ ...previous, [question.id]: event.target.value }))\n }\n />\n )}\n </fieldset>\n ))}\n <Button\n size=\"sm\"\n disabled={\n disabled || request.questions.some((question) => !answers[question.id]?.trim())\n }\n >\n Send answers\n </Button>\n </form>\n )}\n </section>\n );\n}\n","import type { AgentTeamMemberSummary } from \"@anvia/core/agent\";\nimport { MarkdownText } from \"../shared/renderers\";\nimport { errorMessage } from \"../shared/format\";\nimport { cn } from \"../../lib/utils\";\nimport type { TeamState } from \"./team-state\";\n\nexport function TeamMembers(props: {\n state: TeamState;\n selected: string;\n select: (id: string) => void;\n}) {\n const members = Object.values(props.state.members);\n const selected =\n props.state.members[props.selected] ?? members.find((member) => member.depth === 0);\n function node(member: AgentTeamMemberSummary) {\n return (\n <li key={member.instanceId}>\n <button\n type=\"button\"\n onClick={() => props.select(member.instanceId)}\n title={member.instanceId}\n aria-pressed={selected?.instanceId === member.instanceId}\n className={cn(\n \"flex w-full items-center justify-between gap-3 rounded-lg px-3 py-2 text-left text-sm hover:bg-muted\",\n selected?.instanceId === member.instanceId && \"bg-muted\",\n )}\n style={{ paddingLeft: 12 + member.depth * 16 }}\n >\n <span className=\"min-w-0 truncate\">\n {member.depth > 0 ? \"↳ \" : \"\"}\n {member.name}\n </span>\n <span className=\"shrink-0 text-xs text-muted-foreground\">\n {member.status.replaceAll(\"_\", \" \")}\n </span>\n </button>\n <ul>{members.filter((child) => child.parentInstanceId === member.instanceId).map(node)}</ul>\n </li>\n );\n }\n return (\n <div className=\"space-y-5\">\n <div>\n <h2 className=\"mb-3 text-sm font-medium\">\n Members <span className=\"text-muted-foreground\">{members.length}</span>\n </h2>\n {members.length ? (\n <ul aria-label=\"Team members\">\n {members.filter((member) => !member.parentInstanceId).map(node)}\n </ul>\n ) : (\n <p className=\"text-sm text-muted-foreground\">\n Spawned agents will appear here as the team works.\n </p>\n )}\n </div>\n {selected && (\n <section className=\"space-y-4 border-t border-hair pt-4\" aria-label=\"Member details\">\n <div>\n <h3 className=\"text-sm font-medium\">{selected.name}</h3>\n <p className=\"break-all text-xs text-muted-foreground\">\n {selected.agentId} · {selected.instanceId}\n </p>\n </div>\n {selected.error !== undefined && (\n <p role=\"alert\" className=\"text-sm text-status-danger-ink\">\n {errorMessage(selected.error)}\n </p>\n )}\n <details className=\"text-xs\">\n <summary className=\"cursor-pointer text-muted-foreground\">Token usage</summary>\n <pre className=\"overflow-auto p-2\">{JSON.stringify(selected.usage, null, 2)}</pre>\n </details>\n {props.state.turns\n .filter((turn) => turn.instanceId === selected.instanceId)\n .map((turn) => (\n <div key={turn.key} className=\"space-y-3\">\n {turn.text && (\n <MarkdownText text={turn.text} live={props.state.status === \"running\"} />\n )}\n {turn.tools.length > 0 && (\n <details>\n <summary className=\"cursor-pointer text-xs text-muted-foreground\">\n Tool activity ({turn.tools.length})\n </summary>\n {turn.tools.map((tool, index) => (\n <pre\n key={index}\n className=\"my-2 max-h-60 overflow-auto whitespace-pre-wrap break-all rounded-lg bg-muted p-3 text-xs\"\n >\n {tool}\n </pre>\n ))}\n </details>\n )}\n {turn.messages && (\n <details>\n <summary className=\"cursor-pointer text-xs text-muted-foreground\">\n Run messages\n </summary>\n <pre className=\"max-h-96 overflow-auto whitespace-pre-wrap break-all text-xs\">\n {JSON.stringify(turn.messages, null, 2)}\n </pre>\n </details>\n )}\n </div>\n ))}\n </section>\n )}\n </div>\n );\n}\n\nexport function TeamMessages({ state }: { state: TeamState }) {\n const name = (id: string) => state.members[id]?.name ?? id;\n return (\n <section className=\"space-y-3\" aria-label=\"Messages between agents\">\n <h2 className=\"text-sm font-medium\">\n Messages <span className=\"text-muted-foreground\">{state.messages.length}</span>\n </h2>\n {!state.messages.length && (\n <p className=\"text-sm text-muted-foreground\">Messages between agents will appear here.</p>\n )}\n {state.messages.map(({ message, delivered }) => (\n <article key={message.id} className=\"space-y-2 rounded-lg border border-hair p-3\">\n <div className=\"text-xs font-medium\">\n {name(message.fromInstanceId)} → {name(message.toInstanceId)}\n </div>\n <p className=\"whitespace-pre-wrap break-words text-sm\">{message.content}</p>\n <p className=\"text-xs text-muted-foreground\">\n {delivered ? \"Delivered\" : \"Queued\"} ·{\" \"}\n {new Date(message.createdAt).toLocaleTimeString()}\n </p>\n </article>\n ))}\n </section>\n );\n}\n","import type { AgentTeamMemberSummary, AgentTeamMessage } from \"@anvia/core/agent\";\nimport type { AgentInteractionRequest } from \"@anvia/core/agent/interactions\";\nimport type { Message } from \"@anvia/core/completion\";\nimport type { StudioTeamRunEvent } from \"../../../../team-types\";\nimport { errorMessage } from \"../shared/format\";\n\nexport type TeamInteraction = {\n instanceId: string;\n request: AgentInteractionRequest;\n status: \"pending\" | \"answered\" | \"cancelled\";\n};\nexport type TeamTurn = {\n key: string;\n instanceId: string;\n coordinator: boolean;\n text: string;\n tools: string[];\n messages?: readonly Message[];\n};\nexport type TeamState = {\n status: \"idle\" | \"running\" | \"completed\" | \"blocked\" | \"cancelled\" | \"failed\";\n runId?: string;\n error?: string;\n members: Record<string, AgentTeamMemberSummary>;\n turns: TeamTurn[];\n messages: { message: AgentTeamMessage; delivered: boolean }[];\n interactions: Record<string, TeamInteraction>;\n conversation: ({ type: \"prompt\"; text: string } | { type: \"turn\"; key: string })[];\n};\nexport const initialTeamState: TeamState = {\n status: \"idle\",\n members: {},\n turns: [],\n messages: [],\n interactions: {},\n conversation: [],\n};\nexport type TeamAction =\n | { type: \"start\"; prompt: string }\n | { type: \"prompt\"; prompt: string }\n | { type: \"event\"; event: StudioTeamRunEvent }\n | { type: \"answered\"; id: string }\n | { type: \"stop\"; error?: string }\n | { type: \"reset\" };\n\nfunction closeInteractions(state: TeamState, instanceId?: string) {\n return Object.fromEntries(\n Object.entries(state.interactions).map(([id, item]) => [\n id,\n item.status === \"pending\" && (instanceId === undefined || item.instanceId === instanceId)\n ? { ...item, status: \"cancelled\" as const }\n : item,\n ]),\n );\n}\n\nexport function teamReducer(state: TeamState, action: TeamAction): TeamState {\n switch (action.type) {\n case \"reset\":\n return initialTeamState;\n case \"start\":\n return {\n ...initialTeamState,\n status: \"running\",\n conversation: [{ type: \"prompt\", text: action.prompt }],\n };\n case \"prompt\":\n return {\n ...state,\n conversation: [...state.conversation, { type: \"prompt\", text: action.prompt }],\n };\n case \"stop\":\n return {\n ...state,\n status: action.error ? \"failed\" : \"cancelled\",\n ...(action.error ? { error: action.error } : {}),\n interactions: closeInteractions(state),\n members: Object.fromEntries(\n Object.entries(state.members).map(([id, member]) => [\n id,\n [\"queued\", \"running\", \"waiting\", \"awaiting_interaction\"].includes(member.status)\n ? { ...member, status: \"cancelled\" }\n : member,\n ]),\n ),\n };\n case \"answered\": {\n const item = state.interactions[action.id];\n return item !== undefined\n ? {\n ...state,\n interactions: { ...state.interactions, [action.id]: { ...item, status: \"answered\" } },\n }\n : state;\n }\n case \"event\":\n break;\n }\n const event = action.event;\n if (event.type === \"team_run_started\") return { ...state, runId: event.runId };\n if (event.type === \"error\")\n return teamReducer(state, { type: \"stop\", error: errorMessage(event.error) });\n if (event.type === \"response\" || event.type === \"blocked\")\n return {\n ...state,\n status: event.type === \"response\" ? \"completed\" : \"blocked\",\n // Terminal outcomes contain descendants only; retain the coordinator as the tree root.\n members: {\n ...state.members,\n ...Object.fromEntries(event.members.map((member) => [member.instanceId, member])),\n },\n interactions: closeInteractions(state),\n };\n if (\"member\" in event)\n return {\n ...state,\n members: { ...state.members, [event.instanceId]: event.member },\n ...(event.type === \"agent_cancelled\" || event.type === \"agent_failed\"\n ? { interactions: closeInteractions(state, event.instanceId) }\n : {}),\n };\n if (event.type === \"interaction\")\n return {\n ...state,\n interactions: {\n ...state.interactions,\n [event.interaction.id]: {\n instanceId: event.instanceId,\n request: event.interaction,\n status: \"pending\",\n },\n },\n };\n if (event.type === \"message_queued\" || event.type === \"message_delivered\") {\n const previous = state.messages.find((item) => item.message.id === event.message.id);\n const item = {\n message: event.message,\n delivered: previous?.delivered === true || event.type === \"message_delivered\",\n };\n return {\n ...state,\n messages: previous\n ? state.messages.map((old) => (old.message.id === item.message.id ? item : old))\n : [...state.messages, item].slice(-500),\n };\n }\n if (event.type !== \"agent_event\") return state;\n const key = `${event.instanceId}:${event.runId ?? \"initial\"}`;\n const turn = state.turns.find((item) => item.key === key) ?? {\n key,\n instanceId: event.instanceId,\n coordinator: event.coordinator,\n text: \"\",\n tools: [],\n };\n const inner = event.event;\n let updated: TeamTurn;\n switch (inner.type) {\n case \"text_delta\":\n updated = { ...turn, text: turn.text + inner.delta };\n break;\n case \"tool_call\":\n updated = { ...turn, tools: [...turn.tools, JSON.stringify(inner.toolCall)].slice(-100) };\n break;\n case \"tool_result\":\n updated = {\n ...turn,\n tools: [...turn.tools, `${inner.toolName}: ${JSON.stringify(inner.output, null, 2)}`].slice(\n -100,\n ),\n };\n break;\n case \"response\":\n case \"blocked\":\n updated = {\n ...turn,\n text: inner.text,\n messages: inner.messages,\n tools: inner.messages\n .flatMap((message) => {\n if (typeof message.content === \"string\") return [];\n return message.content\n .filter((part) => part.type === \"tool-call\" || part.type === \"tool-result\")\n .map((part) => JSON.stringify(part, null, 2));\n })\n .slice(-100),\n };\n break;\n default:\n return state;\n }\n return {\n ...state,\n conversation:\n updated.coordinator && !state.turns.some((item) => item.key === key)\n ? [...state.conversation, { type: \"turn\" as const, key }].slice(-500)\n : state.conversation,\n turns: state.turns.some((item) => item.key === key)\n ? state.turns.map((item) => (item.key === key ? updated : item))\n : [...state.turns, updated].slice(-500),\n };\n}\n","import type { AgentInteractionResponse } from \"@anvia/core/agent/interactions\";\nimport { readJsonlStream } from \"@anvia/client/transport\";\nimport { useEffect, useReducer, useRef, useState } from \"react\";\nimport type { StudioTeamRunEvent } from \"../../../../team-types\";\nimport { responseErrorMessage } from \"../../app-errors\";\nimport { errorMessage } from \"../shared/format\";\nimport { requestJson } from \"../shared/request\";\nimport { initialTeamState, teamReducer } from \"./team-state\";\n\ntype ActiveTeamRun = {\n controller: AbortController;\n base: string;\n runId: string | undefined;\n pending: Set<string>;\n epoch: number;\n};\n\nfunction cancelTeamRun(run: ActiveTeamRun | undefined) {\n if (!run || run.controller.signal.aborted) return;\n if (run.runId) {\n // Keep server cancellation independent of stream teardown, including page navigation.\n void fetch(`${run.base}/${encodeURIComponent(run.runId)}/cancel`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: \"{}\",\n keepalive: true,\n signal: AbortSignal.timeout(5_000),\n }).catch(() => {\n // Teardown cannot wait for the server; disconnect remains the fallback on network failure.\n });\n }\n run.controller.abort();\n}\n\nexport function useTeamRun(teamId: string) {\n const [state, dispatch] = useReducer(teamReducer, initialTeamState);\n const [controlError, setControlError] = useState(\"\");\n const [busy, setBusy] = useState<ReadonlySet<string>>(new Set());\n const active = useRef<ActiveTeamRun | undefined>(undefined);\n const epoch = useRef(0);\n const base = `/teams/${encodeURIComponent(teamId)}/runs`;\n useEffect(\n () => () => {\n cancelTeamRun(active.current);\n active.current = undefined;\n epoch.current++;\n },\n [teamId],\n );\n\n async function start(prompt: string) {\n if (active.current) return;\n const run: ActiveTeamRun = {\n controller: new AbortController(),\n base,\n runId: undefined,\n pending: new Set(),\n epoch: ++epoch.current,\n };\n active.current = run;\n setBusy(new Set());\n setControlError(\"\");\n dispatch({ type: \"start\", prompt });\n try {\n const response = await fetch(base, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ prompt }),\n signal: run.controller.signal,\n });\n if (!response.ok) throw new Error(await responseErrorMessage(response, \"Start team\"));\n if (!response.body) throw new Error(\"Team response has no stream\");\n run.runId = response.headers.get(\"x-anvia-team-run-id\") ?? undefined;\n for await (const event of readJsonlStream<StudioTeamRunEvent>(response.body)) {\n if (active.current !== run || run.controller.signal.aborted) break;\n if (event.type === \"team_run_started\") run.runId = event.runId;\n const terminal =\n event.type === \"response\" || event.type === \"blocked\" || event.type === \"error\";\n // Finish before rendering the result; closing the response body may still be pending.\n if (terminal) active.current = undefined;\n dispatch({ type: \"event\", event });\n if (terminal) return;\n }\n if (!run.controller.signal.aborted)\n throw new Error(\"Team stream ended before a result arrived\");\n } catch (error) {\n if (active.current === run)\n dispatch({\n type: \"stop\",\n ...(run.controller.signal.aborted ? {} : { error: errorMessage(error) }),\n });\n } finally {\n if (active.current === run) active.current = undefined;\n }\n }\n\n async function control(key: string, path: string, body: unknown, onSuccess: () => void) {\n const run = active.current;\n if (!run?.runId || run.pending.has(key)) return false;\n run.pending.add(key);\n setBusy(new Set(run.pending));\n setControlError(\"\");\n try {\n await requestJson(\n `${base}/${encodeURIComponent(run.runId)}${path}`,\n \"Update team\",\n run.controller.signal,\n \"default\",\n {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(body),\n },\n );\n if (epoch.current === run.epoch && !run.controller.signal.aborted) onSuccess();\n return true;\n } catch (error) {\n if (active.current === run && !run.controller.signal.aborted)\n setControlError(errorMessage(error));\n return false;\n } finally {\n run.pending.delete(key);\n if (epoch.current === run.epoch) setBusy(new Set(run.pending));\n }\n }\n\n function stop() {\n if (!active.current) return;\n cancelTeamRun(active.current);\n dispatch({ type: \"stop\" });\n }\n return {\n state,\n busy,\n controlError,\n start,\n stop,\n reset: () => {\n if (!active.current) {\n epoch.current++;\n dispatch({ type: \"reset\" });\n setControlError(\"\");\n }\n },\n steer: (prompt: string) =>\n control(\"steer\", \"/steer\", { prompt }, () => dispatch({ type: \"prompt\", prompt })),\n respond: (id: string, response: AgentInteractionResponse) =>\n control(id, `/interactions/${encodeURIComponent(id)}`, response, () =>\n dispatch({ type: \"answered\", id }),\n ),\n };\n}\n","import { useEffect, useRef, useState, type ReactNode } from \"react\";\nimport type { StudioTeamConfig } from \"../../../../team-types\";\nimport { Button } from \"../../components/ui/button\";\nimport { Textarea } from \"../../components/ui/textarea\";\nimport { MarkdownText } from \"../shared/renderers\";\nimport { TeamInteractionCard } from \"./team-interactions\";\nimport { TeamMembers, TeamMessages } from \"./team-members\";\nimport { useTeamRun } from \"./use-team-run\";\n\nexport function TeamPlayground({\n team,\n targetSelector,\n}: {\n team: StudioTeamConfig;\n targetSelector: (running: boolean) => ReactNode;\n}) {\n const run = useTeamRun(team.id);\n const [prompt, setPrompt] = useState(\"\");\n const [selected, select] = useState(\"\");\n const [tab, setTab] = useState<\"members\" | \"messages\">(\"members\");\n const scrollRef = useRef<HTMLDivElement>(null);\n const stick = useRef(true);\n const running = run.state.status === \"running\";\n const started = run.state.status !== \"idle\";\n useEffect(() => {\n const element = scrollRef.current;\n if (element && stick.current) element.scrollTop = element.scrollHeight;\n }, [run.state]);\n async function send() {\n const value = prompt.trim();\n if (!value) return;\n if (running) {\n if (await run.steer(value)) setPrompt(\"\");\n } else {\n setPrompt(\"\");\n stick.current = true;\n void run.start(value);\n }\n }\n return (\n <div className=\"flex min-h-0 min-w-0 flex-col overflow-auto lg:overflow-hidden\">\n <div className=\"flex flex-wrap items-center justify-between gap-3 border-b border-hair px-5 py-3\">\n <div className=\"flex items-center gap-3\">{targetSelector(running)}</div>\n <div className=\"flex items-center gap-3\">\n <span role=\"status\" className=\"text-xs text-muted-foreground\">\n {run.state.status}\n </span>\n <Button\n variant=\"secondary\"\n size=\"sm\"\n disabled={running}\n onClick={() => {\n run.reset();\n setPrompt(\"\");\n select(\"\");\n }}\n >\n New task\n </Button>\n </div>\n </div>\n <div className=\"grid min-h-0 min-w-0 flex-1 grid-cols-1 lg:grid-cols-[minmax(0,1fr)_360px] xl:grid-cols-[minmax(0,1fr)_420px]\">\n <div className=\"flex min-h-[480px] min-w-0 flex-col lg:min-h-0\">\n <div\n ref={scrollRef}\n className=\"min-h-0 flex-1 overflow-auto px-5 py-6\"\n onScroll={() => {\n const element = scrollRef.current;\n if (element)\n stick.current =\n element.scrollHeight - element.scrollTop - element.clientHeight < 80;\n }}\n >\n <div className=\"mx-auto max-w-3xl space-y-6\">\n {!started && (\n <div className=\"py-16\">\n <h1 className=\"text-2xl font-medium\">Work with {team.id}</h1>\n <p className=\"mt-3 text-sm text-muted-foreground\">\n Give the coordinator a task. Follow its agents, messages, and requests as they\n work.\n </p>\n <p className=\"mt-4 text-xs text-muted-foreground\">\n Available members:{\" \"}\n {team.members.map((member) => member.name ?? member.id).join(\", \") || \"None\"}\n </p>\n </div>\n )}\n {run.state.conversation.map((entry, index) => {\n if (entry.type === \"prompt\")\n return (\n <article key={`prompt:${index}`} className=\"rounded-xl bg-muted p-4\">\n <div className=\"mb-2 text-xs text-muted-foreground\">You</div>\n <p className=\"whitespace-pre-wrap break-words text-sm\">{entry.text}</p>\n </article>\n );\n const turn = run.state.turns.find((item) => item.key === entry.key);\n return turn?.text ? (\n <article key={entry.key}>\n <div className=\"mb-2 text-xs text-muted-foreground\">Coordinator</div>\n <MarkdownText text={turn.text} live={running} size=\"base\" />\n </article>\n ) : null;\n })}\n {Object.values(run.state.interactions).map((item) => (\n <TeamInteractionCard\n key={item.request.id}\n item={item}\n name={run.state.members[item.instanceId]?.name ?? item.instanceId}\n busy={run.busy.has(item.request.id)}\n respond={run.respond}\n />\n ))}\n {run.state.error && (\n <p role=\"alert\" className=\"text-sm text-status-danger-ink\">\n {run.state.error}\n </p>\n )}\n {run.controlError && (\n <p role=\"alert\" className=\"text-sm text-status-danger-ink\">\n {run.controlError}\n </p>\n )}\n </div>\n </div>\n <form\n className=\"mx-auto w-full max-w-3xl space-y-3 px-5 pb-5 pt-3\"\n onSubmit={(event) => {\n event.preventDefault();\n void send();\n }}\n >\n <Textarea\n aria-label={running ? \"Message coordinator\" : \"Team task\"}\n placeholder={\n running ? \"Send a follow-up to the coordinator…\" : \"Give this team a task…\"\n }\n value={prompt}\n maxLength={32768}\n onChange={(event) => setPrompt(event.target.value)}\n disabled={started && !running}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" && !event.shiftKey && !event.nativeEvent.isComposing) {\n event.preventDefault();\n if ((!started || running) && !run.busy.has(\"steer\")) void send();\n }\n }}\n />\n <div className=\"flex items-center justify-between gap-2\">\n <p className=\"text-xs text-muted-foreground\">\n This run stays in this page. Leaving stops active work.\n </p>\n {running && (\n <Button type=\"button\" variant=\"secondary\" size=\"sm\" onClick={run.stop}>\n Stop team\n </Button>\n )}\n <Button\n size=\"sm\"\n disabled={\n !prompt.trim() ||\n (started && !running) ||\n (running && (!run.state.runId || run.busy.has(\"steer\")))\n }\n >\n {running ? \"Send follow-up\" : \"Run team\"}\n </Button>\n </div>\n </form>\n </div>\n <aside\n className=\"min-h-64 min-w-0 space-y-5 overflow-auto border-t border-hair p-5 lg:border-t-0 lg:border-l\"\n aria-label=\"Team activity\"\n >\n <div className=\"flex gap-2\">\n <Button\n variant={tab === \"members\" ? \"secondary\" : \"ghost\"}\n size=\"sm\"\n onClick={() => setTab(\"members\")}\n >\n Members\n </Button>\n <Button\n variant={tab === \"messages\" ? \"secondary\" : \"ghost\"}\n size=\"sm\"\n onClick={() => setTab(\"messages\")}\n >\n Messages\n </Button>\n </div>\n {tab === \"members\" ? (\n <TeamMembers state={run.state} selected={selected} select={select} />\n ) : (\n <TeamMessages state={run.state} />\n )}\n </aside>\n </div>\n </div>\n );\n}\n"],"mappings":"gRAMA,SAAgB,EAAoB,EAKjC,CACD,GAAM,CAAC,EAAS,IAAA,EAAc,EAAA,SAAA,CAAiC,CAAC,CAAC,EAC3D,CAAE,UAAS,UAAW,EAAM,KAC5B,EAAW,EAAM,MAAQ,IAAW,UAC1C,OACE,EAAA,EAAA,KAAA,CAAC,UAAD,CACE,UAAU,sDACV,aAAY,GAAG,EAAM,KAAK,IAAI,EAAQ,WAFxC,SAAA,EAIE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,4DAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,SAAD,CAAA,SAAA,CACG,EAAM,KAAK,MAAI,EAAQ,QAClB,CAAA,CAAA,GACR,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,wBACb,SAAA,EAAM,KAAO,cAAgB,IAAW,UAAY,mBAAqB,CACtE,CAAA,CACH,KACL,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,0CAAb,SAAA,CAAuD,YAAU,EAAM,KAAK,UAAc,IACzF,EAAQ,OAAS,iBAChB,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,CACG,EAAQ,SAAU,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,UAAW,SAAA,EAAQ,MAAU,CAAA,GAC7D,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,+DACZ,SAAA,KAAK,UAAU,EAAQ,MAAO,KAAM,CAAC,CACnC,CAAA,GACL,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,aAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,KACK,WACV,YACE,KAAK,EAAM,QAAQ,EAAQ,GAAI,CAAE,KAAM,gBAAiB,SAAU,EAAK,CAAC,EAE3E,SAAA,SAEO,CAAA,GACR,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,KACL,QAAQ,YACE,WACV,YACE,KAAK,EAAM,QAAQ,EAAQ,GAAI,CAAE,KAAM,gBAAiB,SAAU,EAAM,CAAC,EAE5E,SAAA,MAEO,CAAA,CACL,GACL,CAAA,CAAA,GAEF,EAAA,EAAA,KAAA,CAAC,OAAD,CACE,UAAU,YACV,SAAW,GAAU,CACnB,EAAM,eAAe,EACrB,EAAW,QAAQ,EAAQ,GAAI,CAC7B,KAAM,gBACN,QAAS,EAAQ,UAAU,IAAK,IAAc,CAC5C,WAAY,EAAS,GACrB,MAAO,EAAQ,EAAS,KAAO,EACjC,EAAE,CACJ,CAAC,CACH,EAXF,SAAA,CAaG,EAAQ,UAAU,IAAK,IACtB,EAAA,EAAA,KAAA,CAAC,WAAD,CAAsC,WAAU,UAAU,YAA1D,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,UAAU,eAAgB,SAAA,EAAS,IAAa,CAAA,EACvD,EAAS,SAAS,IAAK,IACtB,EAAA,EAAA,KAAA,CAAC,QAAD,CAA0B,UAAU,kCAApC,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,QAAD,CACE,KAAK,QACL,KAAM,GAAG,EAAQ,GAAG,GAAG,EAAS,KAChC,MAAO,EAAO,MACd,QAAS,EAAQ,EAAS,MAAQ,EAAO,MACzC,aACE,EAAY,IAAc,CAAE,GAAG,GAAW,EAAS,IAAK,EAAO,KAAM,EAAE,CAE1E,CAAA,EACA,EAAO,KACH,CAXK,EAAA,EAAO,KAWZ,CACR,GACC,CAAC,EAAS,SAAS,QAAU,EAAS,eACtC,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,aAAY,EAAS,KACrB,YAAY,cACZ,MAAO,EAAQ,EAAS,KAAO,GAC/B,SAAW,GACT,EAAY,IAAc,CAAE,GAAG,GAAW,EAAS,IAAK,EAAM,OAAO,KAAM,EAAE,CAEhF,CAAA,CAEK,CA1BK,EAAA,EAAS,EA0Bd,CACX,GACD,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,KACL,SACE,GAAY,EAAQ,UAAU,KAAM,GAAa,CAAC,EAAQ,EAAS,GAAG,EAAE,KAAK,CAAC,EAEjF,SAAA,cAEO,CAAA,CACJ,GAED,GAEb,CC1GA,SAAgB,EAAY,EAIzB,CACD,IAAM,EAAU,OAAO,OAAO,EAAM,MAAM,OAAO,EAC3C,EACJ,EAAM,MAAM,QAAQ,EAAM,WAAa,EAAQ,KAAM,GAAW,EAAO,QAAU,CAAC,EACpF,SAAS,EAAK,EAAgC,CAC5C,OACE,EAAA,EAAA,KAAA,CAAC,KAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,SAAD,CACE,KAAK,SACL,YAAe,EAAM,OAAO,EAAO,UAAU,EAC7C,MAAO,EAAO,WACd,eAAc,GAAU,aAAe,EAAO,WAC9C,UAAW,EACT,uGACA,GAAU,aAAe,EAAO,YAAc,UAChD,EACA,MAAO,CAAE,YAAa,GAAK,EAAO,MAAQ,EAAG,EAT/C,SAAA,EAWE,EAAA,EAAA,KAAA,CAAC,OAAD,CAAM,UAAU,mBAAhB,SAAA,CACG,EAAO,MAAQ,EAAI,KAAO,GAC1B,EAAO,IACJ,CACN,CAAA,GAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,yCACb,SAAA,EAAO,OAAO,WAAW,IAAK,GAAG,CAC9B,CAAA,CACA,CACR,CAAA,GAAA,EAAA,EAAA,IAAA,CAAC,KAAD,CAAA,SAAK,EAAQ,OAAQ,GAAU,EAAM,mBAAqB,EAAO,UAAU,CAAC,CAAC,IAAI,CAAI,CAAM,CAAA,CACzF,CAAA,EArBK,EAAO,UAqBZ,CAER,CACA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,YAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,KAAD,CAAI,UAAU,2BAAd,SAAA,CAAyC,YAC/B,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,wBAAyB,SAAA,EAAQ,MAAa,CAAA,CACpE,CACH,CAAA,EAAA,EAAQ,QACP,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,aAAW,eACZ,SAAA,EAAQ,OAAQ,GAAW,CAAC,EAAO,gBAAgB,CAAC,CAAC,IAAI,CAAI,CAC5D,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,gCAAgC,SAAA,oDAE1C,CAAA,CAEF,CAAA,CAAA,EACJ,IACC,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,UAAU,sCAAsC,aAAW,iBAApE,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,sBAAuB,SAAA,EAAS,IAAS,CAAA,GACvD,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,0CAAb,SAAA,CACG,EAAS,QAAQ,MAAI,EAAS,UAC9B,CACA,CAAA,CAAA,CAAA,CAAA,EACJ,EAAS,QAAU,IAAA,KAClB,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,KAAK,QAAQ,UAAU,iCACvB,SAAA,EAAa,EAAS,KAAK,CAC3B,CAAA,GAEL,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,UAAU,UAAnB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,UAAD,CAAS,UAAU,uCAAuC,SAAA,aAAoB,CAAA,GAC9E,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,oBAAqB,SAAA,KAAK,UAAU,EAAS,MAAO,KAAM,CAAC,CAAO,CAAA,CAC1E,IACR,EAAM,MAAM,MACV,OAAQ,GAAS,EAAK,aAAe,EAAS,UAAU,CAAC,CACzD,IAAK,IACJ,EAAA,EAAA,KAAA,CAAC,MAAD,CAAoB,UAAU,YAA9B,SAAA,CACG,EAAK,OACJ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAc,KAAM,EAAK,KAAM,KAAM,EAAM,MAAM,SAAW,SAAY,CAAA,EAEzE,EAAK,MAAM,OAAS,IACnB,EAAA,EAAA,KAAA,CAAC,UAAD,CAAA,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,UAAU,+CAAnB,SAAA,CAAkE,kBAChD,EAAK,MAAM,OAAO,GAC3B,CACR,CAAA,EAAA,EAAK,MAAM,KAAK,EAAM,KACrB,EAAA,EAAA,IAAA,CAAC,MAAD,CAEE,UAAU,4FAET,SAAA,CACE,EAJE,CAIF,CACN,CACM,CAAA,CAAA,EAEV,EAAK,WACJ,EAAA,EAAA,KAAA,CAAC,UAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,UAAD,CAAS,UAAU,+CAA+C,SAAA,cAEzD,CAAA,GACT,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,+DACZ,SAAA,KAAK,UAAU,EAAK,SAAU,KAAM,CAAC,CACnC,CAAA,CACE,CAAA,CAAA,CAER,CA7BK,EAAA,EAAK,GA6BV,CACN,CACI,CAER,CAAA,CAAA,GAET,CAEA,SAAgB,EAAa,CAAE,SAA+B,CAC5D,IAAM,EAAQ,GAAe,EAAM,QAAQ,EAAG,EAAE,MAAQ,EACxD,OACE,EAAA,EAAA,KAAA,CAAC,UAAD,CAAS,UAAU,YAAY,aAAW,0BAA1C,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,KAAD,CAAI,UAAU,sBAAd,SAAA,CAAoC,aACzB,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,wBAAyB,SAAA,EAAM,SAAS,MAAa,CAAA,CAC5E,IACH,CAAC,EAAM,SAAS,SACf,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,gCAAgC,SAAA,2CAA4C,CAAA,EAE1F,EAAM,SAAS,KAAK,CAAE,UAAS,gBAC9B,EAAA,EAAA,KAAA,CAAC,UAAD,CAA0B,UAAU,8CAApC,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,sBAAf,SAAA,CACG,EAAK,EAAQ,cAAc,EAAE,MAAI,EAAK,EAAQ,YAAY,CACxD,KACL,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,0CAA2C,SAAA,EAAQ,OAAW,CAAA,GAC3E,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,gCAAb,SAAA,CACG,EAAY,YAAc,SAAS,KAAG,IACtC,IAAI,KAAK,EAAQ,SAAS,CAAC,CAAC,mBAAmB,CAC/C,GACI,CATK,EAAA,EAAQ,EASb,CACV,CACM,GAEb,CC5GA,IAAa,EAA8B,CACzC,OAAQ,OACR,QAAS,CAAC,EACV,MAAO,CAAC,EACR,SAAU,CAAC,EACX,aAAc,CAAC,EACf,aAAc,CAAC,CACjB,EASA,SAAS,EAAkB,EAAkB,EAAqB,CAChE,OAAO,OAAO,YACZ,OAAO,QAAQ,EAAM,YAAY,CAAC,CAAC,KAAK,CAAC,EAAI,KAAU,CACrD,EACA,EAAK,SAAW,YAAc,IAAe,IAAA,IAAa,EAAK,aAAe,GAC1E,CAAE,GAAG,EAAM,OAAQ,WAAqB,EACxC,CACN,CAAC,CACH,CACF,CAEA,SAAgB,EAAY,EAAkB,EAA+B,CAC3E,OAAQ,EAAO,KAAf,CACE,IAAK,QACH,OAAO,EACT,IAAK,QACH,MAAO,CACL,GAAG,EACH,OAAQ,UACR,aAAc,CAAC,CAAE,KAAM,SAAU,KAAM,EAAO,MAAO,CAAC,CACxD,EACF,IAAK,SACH,MAAO,CACL,GAAG,EACH,aAAc,CAAC,GAAG,EAAM,aAAc,CAAE,KAAM,SAAU,KAAM,EAAO,MAAO,CAAC,CAC/E,EACF,IAAK,OACH,MAAO,CACL,GAAG,EACH,OAAQ,EAAO,MAAQ,SAAW,YAClC,GAAI,EAAO,MAAQ,CAAE,MAAO,EAAO,KAAM,EAAI,CAAC,EAC9C,aAAc,EAAkB,CAAK,EACrC,QAAS,OAAO,YACd,OAAO,QAAQ,EAAM,OAAO,CAAC,CAAC,KAAK,CAAC,EAAI,KAAY,CAClD,EACA,CAAC,SAAU,UAAW,UAAW,sBAAsB,CAAC,CAAC,SAAS,EAAO,MAAM,EAC3E,CAAE,GAAG,EAAQ,OAAQ,WAAY,EACjC,CACN,CAAC,CACH,CACF,EACF,IAAK,WAAY,CACf,IAAM,EAAO,EAAM,aAAa,EAAO,IACvC,OAAO,IAAS,IAAA,GAKZ,EAJA,CACE,GAAG,EACH,aAAc,CAAE,GAAG,EAAM,cAAe,EAAO,IAAK,CAAE,GAAG,EAAM,OAAQ,UAAW,CAAE,CACtF,CAEN,CAGF,CACA,IAAM,EAAQ,EAAO,MACrB,GAAI,EAAM,OAAS,mBAAoB,MAAO,CAAE,GAAG,EAAO,MAAO,EAAM,KAAM,EAC7E,GAAI,EAAM,OAAS,QACjB,OAAO,EAAY,EAAO,CAAE,KAAM,OAAQ,MAAO,EAAa,EAAM,KAAK,CAAE,CAAC,EAC9E,GAAI,EAAM,OAAS,YAAc,EAAM,OAAS,UAC9C,MAAO,CACL,GAAG,EACH,OAAQ,EAAM,OAAS,WAAa,YAAc,UAElD,QAAS,CACP,GAAG,EAAM,QACT,GAAG,OAAO,YAAY,EAAM,QAAQ,IAAK,GAAW,CAAC,EAAO,WAAY,CAAM,CAAC,CAAC,CAClF,EACA,aAAc,EAAkB,CAAK,CACvC,EACF,GAAI,WAAY,EACd,MAAO,CACL,GAAG,EACH,QAAS,CAAE,GAAG,EAAM,SAAU,EAAM,YAAa,EAAM,MAAO,EAC9D,GAAI,EAAM,OAAS,mBAAqB,EAAM,OAAS,eACnD,CAAE,aAAc,EAAkB,EAAO,EAAM,UAAU,CAAE,EAC3D,CAAC,CACP,EACF,GAAI,EAAM,OAAS,cACjB,MAAO,CACL,GAAG,EACH,aAAc,CACZ,GAAG,EAAM,cACR,EAAM,YAAY,IAAK,CACtB,WAAY,EAAM,WAClB,QAAS,EAAM,YACf,OAAQ,SACV,CACF,CACF,EACF,GAAI,EAAM,OAAS,kBAAoB,EAAM,OAAS,oBAAqB,CACzE,IAAM,EAAW,EAAM,SAAS,KAAM,GAAS,EAAK,QAAQ,KAAO,EAAM,QAAQ,EAAE,EAC7E,EAAO,CACX,QAAS,EAAM,QACf,UAAW,GAAU,YAAc,IAAQ,EAAM,OAAS,mBAC5D,EACA,MAAO,CACL,GAAG,EACH,SAAU,EACN,EAAM,SAAS,IAAK,GAAS,EAAI,QAAQ,KAAO,EAAK,QAAQ,GAAK,EAAO,CAAI,EAC7E,CAAC,GAAG,EAAM,SAAU,CAAI,CAAC,CAAC,MAAM,IAAI,CAC1C,CACF,CACA,GAAI,EAAM,OAAS,cAAe,OAAO,EACzC,IAAM,EAAM,GAAG,EAAM,WAAW,GAAG,EAAM,OAAS,YAC5C,EAAO,EAAM,MAAM,KAAM,GAAS,EAAK,MAAQ,CAAG,GAAK,CAC3D,MACA,WAAY,EAAM,WAClB,YAAa,EAAM,YACnB,KAAM,GACN,MAAO,CAAC,CACV,EACM,EAAQ,EAAM,MAChB,EACJ,OAAQ,EAAM,KAAd,CACE,IAAK,aACH,EAAU,CAAE,GAAG,EAAM,KAAM,EAAK,KAAO,EAAM,KAAM,EACnD,MACF,IAAK,YACH,EAAU,CAAE,GAAG,EAAM,MAAO,CAAC,GAAG,EAAK,MAAO,KAAK,UAAU,EAAM,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAE,EACxF,MACF,IAAK,cACH,EAAU,CACR,GAAG,EACH,MAAO,CAAC,GAAG,EAAK,MAAO,GAAG,EAAM,SAAS,IAAI,KAAK,UAAU,EAAM,OAAQ,KAAM,CAAC,GAAG,CAAC,CAAC,MACpF,IACF,CACF,EACA,MACF,IAAK,WACL,IAAK,UACH,EAAU,CACR,GAAG,EACH,KAAM,EAAM,KACZ,SAAU,EAAM,SAChB,MAAO,EAAM,SACV,QAAS,GACJ,OAAO,EAAQ,SAAY,SAAiB,CAAC,EAC1C,EAAQ,QACZ,OAAQ,GAAS,EAAK,OAAS,aAAe,EAAK,OAAS,aAAa,CAAC,CAC1E,IAAK,GAAS,KAAK,UAAU,EAAM,KAAM,CAAC,CAAC,CAC/C,CAAC,CACD,MAAM,IAAI,CACf,EACA,MACF,QACE,OAAO,CACX,CACA,MAAO,CACL,GAAG,EACH,aACE,EAAQ,aAAe,CAAC,EAAM,MAAM,KAAM,GAAS,EAAK,MAAQ,CAAG,EAC/D,CAAC,GAAG,EAAM,aAAc,CAAE,KAAM,OAAiB,KAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAClE,EAAM,aACZ,MAAO,EAAM,MAAM,KAAM,GAAS,EAAK,MAAQ,CAAG,EAC9C,EAAM,MAAM,IAAK,GAAU,EAAK,MAAQ,EAAM,EAAU,CAAK,EAC7D,CAAC,GAAG,EAAM,MAAO,CAAO,CAAC,CAAC,MAAM,IAAI,CAC1C,CACF,CCxLA,SAAS,EAAc,EAAgC,CACjD,CAAC,GAAO,EAAI,WAAW,OAAO,UAC9B,EAAI,OAEN,MAAW,GAAG,EAAI,KAAK,GAAG,mBAAmB,EAAI,KAAK,EAAE,SAAU,CAChE,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KACN,UAAW,GACX,OAAQ,YAAY,QAAQ,GAAK,CACnC,CAAC,CAAC,CAAC,UAAY,CAEf,CAAC,EAEH,EAAI,WAAW,MAAM,EACvB,CAEA,SAAgB,EAAW,EAAgB,CACzC,GAAM,CAAC,EAAO,IAAA,EAAY,EAAA,WAAA,CAAW,EAAa,CAAgB,EAC5D,CAAC,EAAc,IAAA,EAAmB,EAAA,SAAA,CAAS,EAAE,EAC7C,CAAC,EAAM,IAAA,EAAW,EAAA,SAAA,CAA8B,IAAI,GAAK,EACzD,GAAA,EAAS,EAAA,OAAA,CAAkC,IAAA,EAAS,EACpD,GAAA,EAAQ,EAAA,OAAA,CAAO,CAAC,EAChB,EAAO,UAAU,mBAAmB,CAAM,EAAE,QAClD,EAAA,EAAA,UAAA,SACc,CACV,EAAc,EAAO,OAAO,EAC5B,EAAO,QAAU,IAAA,GACjB,EAAM,SACR,EACA,CAAC,CAAM,CACT,EAEA,eAAe,EAAM,EAAgB,CACnC,GAAI,EAAO,QAAS,OACpB,IAAM,EAAqB,CACzB,WAAY,IAAI,gBAChB,OACA,MAAO,IAAA,GACP,QAAS,IAAI,IACb,MAAO,EAAE,EAAM,OACjB,EACA,EAAO,QAAU,EACjB,EAAQ,IAAI,GAAK,EACjB,EAAgB,EAAE,EAClB,EAAS,CAAE,KAAM,QAAS,QAAO,CAAC,EAClC,GAAI,CACF,IAAM,EAAW,MAAM,MAAM,EAAM,CACjC,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAE,QAAO,CAAC,EAC/B,OAAQ,EAAI,WAAW,MACzB,CAAC,EACD,GAAI,CAAC,EAAS,GAAI,MAAU,MAAM,MAAM,EAAqB,EAAU,YAAY,CAAC,EACpF,GAAI,CAAC,EAAS,KAAM,MAAU,MAAM,6BAA6B,EACjE,EAAI,MAAQ,EAAS,QAAQ,IAAI,qBAAqB,GAAK,IAAA,GAC3D,UAAW,IAAM,KAAS,EAAoC,EAAS,IAAI,EAAG,CAC5E,GAAI,EAAO,UAAY,GAAO,EAAI,WAAW,OAAO,QAAS,MACzD,EAAM,OAAS,qBAAoB,EAAI,MAAQ,EAAM,OACzD,IAAM,EACJ,EAAM,OAAS,YAAc,EAAM,OAAS,WAAa,EAAM,OAAS,QAI1E,GAFI,IAAU,EAAO,QAAU,IAAA,IAC/B,EAAS,CAAE,KAAM,QAAS,OAAM,CAAC,EAC7B,EAAU,MAChB,CACA,GAAI,CAAC,EAAI,WAAW,OAAO,QACzB,MAAU,MAAM,2CAA2C,CAC/D,OAAS,EAAO,CACV,EAAO,UAAY,GACrB,EAAS,CACP,KAAM,OACN,GAAI,EAAI,WAAW,OAAO,QAAU,CAAC,EAAI,CAAE,MAAO,EAAa,CAAK,CAAE,CACxE,CAAC,CACL,QAAU,CACJ,EAAO,UAAY,IAAK,EAAO,QAAU,IAAA,GAC/C,CACF,CAEA,eAAe,EAAQ,EAAa,EAAc,EAAe,EAAuB,CACtF,IAAM,EAAM,EAAO,QACnB,GAAI,CAAC,GAAK,OAAS,EAAI,QAAQ,IAAI,CAAG,EAAG,MAAO,GAChD,EAAI,QAAQ,IAAI,CAAG,EACnB,EAAQ,IAAI,IAAI,EAAI,OAAO,CAAC,EAC5B,EAAgB,EAAE,EAClB,GAAI,CAaF,OAZA,MAAM,EACJ,GAAG,EAAK,GAAG,mBAAmB,EAAI,KAAK,IAAI,IAC3C,cACA,EAAI,WAAW,OACf,UACA,CACE,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAmB,EAC9C,KAAM,KAAK,UAAU,CAAI,CAC3B,CACF,EACI,EAAM,UAAY,EAAI,OAAS,CAAC,EAAI,WAAW,OAAO,SAAS,EAAU,EACtE,EACT,OAAS,EAAO,CAGd,OAFI,EAAO,UAAY,GAAO,CAAC,EAAI,WAAW,OAAO,SACnD,EAAgB,EAAa,CAAK,CAAC,EAC9B,EACT,QAAU,CACR,EAAI,QAAQ,OAAO,CAAG,EAClB,EAAM,UAAY,EAAI,OAAO,EAAQ,IAAI,IAAI,EAAI,OAAO,CAAC,CAC/D,CACF,CAEA,SAAS,GAAO,CACT,EAAO,UACZ,EAAc,EAAO,OAAO,EAC5B,EAAS,CAAE,KAAM,MAAO,CAAC,EAC3B,CACA,MAAO,CACL,QACA,OACA,eACA,QACA,OACA,UAAa,CACN,EAAO,UACV,EAAM,UACN,EAAS,CAAE,KAAM,OAAQ,CAAC,EAC1B,EAAgB,EAAE,EAEtB,EACA,MAAQ,GACN,EAAQ,QAAS,SAAU,CAAE,QAAO,MAAS,EAAS,CAAE,KAAM,SAAU,QAAO,CAAC,CAAC,EACnF,SAAU,EAAY,IACpB,EAAQ,EAAI,iBAAiB,mBAAmB,CAAE,IAAK,MACrD,EAAS,CAAE,KAAM,WAAY,IAAG,CAAC,CACnC,CACJ,CACF,CC9IA,SAAgB,EAAe,CAC7B,OACA,kBAIC,CACD,IAAM,EAAM,EAAW,EAAK,EAAE,EACxB,CAAC,EAAQ,IAAA,EAAa,EAAA,SAAA,CAAS,EAAE,EACjC,CAAC,EAAU,IAAA,EAAU,EAAA,SAAA,CAAS,EAAE,EAChC,CAAC,EAAK,IAAA,EAAU,EAAA,SAAA,CAAiC,SAAS,EAC1D,GAAA,EAAY,EAAA,OAAA,CAAuB,IAAI,EACvC,GAAA,EAAQ,EAAA,OAAA,CAAO,EAAI,EACnB,EAAU,EAAI,MAAM,SAAW,UAC/B,EAAU,EAAI,MAAM,SAAW,QACrC,EAAA,EAAA,UAAA,KAAgB,CACd,IAAM,EAAU,EAAU,QACtB,GAAW,EAAM,UAAS,EAAQ,UAAY,EAAQ,aAC5D,EAAG,CAAC,EAAI,KAAK,CAAC,EACd,eAAe,GAAO,CACpB,IAAM,EAAQ,EAAO,KAAK,EACrB,IACD,EACE,MAAM,EAAI,MAAM,CAAK,GAAG,EAAU,EAAE,GAExC,EAAU,EAAE,EACZ,EAAM,QAAU,GAChB,EAAS,MAAM,CAAK,GAExB,CACA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iEAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,mFAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,0BAA2B,SAAA,EAAe,CAAO,CAAO,CAAA,GACvE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,0BAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,SAAS,UAAU,gCAC3B,SAAA,EAAI,MAAM,MACP,CAAA,GACN,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAQ,YACR,KAAK,KACL,SAAU,EACV,YAAe,CACb,EAAI,MAAM,EACV,EAAU,EAAE,EACZ,EAAO,EAAE,CACX,EACD,SAAA,UAEO,CAAA,CACL,CACF,CAAA,CAAA,CACL,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gHAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iDAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CACE,IAAK,EACL,UAAU,yCACV,aAAgB,CACd,IAAM,EAAU,EAAU,QACtB,IACF,EAAM,QACJ,EAAQ,aAAe,EAAQ,UAAY,EAAQ,aAAe,GACxE,EAEA,UAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,8BAAf,SAAA,CACG,CAAC,IACA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,QAAf,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,KAAD,CAAI,UAAU,uBAAd,SAAA,CAAqC,aAAW,EAAK,EAAO,KAC5D,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,qCAAqC,SAAA,sFAG/C,CAAA,GACH,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,UAAU,qCAAb,SAAA,CAAkD,qBAC7B,IAClB,EAAK,QAAQ,IAAK,GAAW,EAAO,MAAQ,EAAO,EAAE,CAAC,CAAC,KAAK,IAAI,GAAK,MACrE,GACA,IAEN,EAAI,MAAM,aAAa,KAAK,EAAO,IAAU,CAC5C,GAAI,EAAM,OAAS,SACjB,OACE,EAAA,EAAA,KAAA,CAAC,UAAD,CAAiC,UAAU,0BAA3C,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qCAAqC,SAAA,KAAQ,CAAA,GAC5D,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,0CAA2C,SAAA,EAAM,IAAQ,CAAA,CAC/D,CAHK,EAAA,UAAU,GAGf,EAEb,IAAM,EAAO,EAAI,MAAM,MAAM,KAAM,GAAS,EAAK,MAAQ,EAAM,GAAG,EAClE,OAAO,GAAM,MACX,EAAA,EAAA,KAAA,CAAC,UAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qCAAqC,SAAA,aAAgB,CAAA,GACpE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAc,KAAM,EAAK,KAAM,KAAM,EAAS,KAAK,MAAQ,CAAA,CACpD,CAAA,EAHK,EAAM,GAGX,EACP,IACN,CAAC,EACA,OAAO,OAAO,EAAI,MAAM,YAAY,CAAC,CAAC,IAAK,IAC1C,EAAA,EAAA,IAAA,CAAC,EAAD,CAEQ,OACN,KAAM,EAAI,MAAM,QAAQ,EAAK,WAAW,EAAE,MAAQ,EAAK,WACvD,KAAM,EAAI,KAAK,IAAI,EAAK,QAAQ,EAAE,EAClC,QAAS,EAAI,OACd,EALM,EAAK,QAAQ,EAKnB,CACF,EACA,EAAI,MAAM,QACT,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,KAAK,QAAQ,UAAU,iCACvB,SAAA,EAAI,MAAM,KACV,CAAA,EAEJ,EAAI,eACH,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,KAAK,QAAQ,UAAU,iCACvB,SAAA,EAAI,YACJ,CAAA,CAEF,GACF,CAAA,GACL,EAAA,EAAA,KAAA,CAAC,OAAD,CACE,UAAU,oDACV,SAAW,GAAU,CACnB,EAAM,eAAe,EACrB,EAAU,CACZ,EALF,SAAA,EAOE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,aAAY,EAAU,sBAAwB,YAC9C,YACE,EAAU,uCAAyC,yBAErD,MAAO,EACP,UAAW,MACX,SAAW,GAAU,EAAU,EAAM,OAAO,KAAK,EACjD,SAAU,GAAW,CAAC,EACtB,UAAY,GAAU,CAChB,EAAM,MAAQ,SAAW,CAAC,EAAM,UAAY,CAAC,EAAM,YAAY,cACjE,EAAM,eAAe,GAChB,CAAC,GAAW,IAAY,CAAC,EAAI,KAAK,IAAI,OAAO,GAAG,EAAU,EAEnE,CACD,CAAA,GACD,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,0CAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,gCAAgC,SAAA,yDAE1C,CAAA,EACF,IACC,EAAA,EAAA,IAAA,CAAC,EAAD,CAAQ,KAAK,SAAS,QAAQ,YAAY,KAAK,KAAK,QAAS,EAAI,KAAM,SAAA,WAE/D,CAAA,GAEV,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,KACL,SACE,CAAC,EAAO,KAAK,GACZ,GAAW,CAAC,GACZ,IAAY,CAAC,EAAI,MAAM,OAAS,EAAI,KAAK,IAAI,OAAO,GAGtD,SAAA,EAAU,iBAAmB,UACxB,CAAA,CACL,CACD,CAAA,CAAA,CACH,CAAA,CAAA,CACL,CAAA,GAAA,EAAA,EAAA,KAAA,CAAC,QAAD,CACE,UAAU,8FACV,aAAW,gBAFb,SAAA,EAIE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,aAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,IAAQ,UAAY,YAAc,QAC3C,KAAK,KACL,YAAe,EAAO,SAAS,EAChC,SAAA,SAEO,CAAA,GACR,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,IAAQ,WAAa,YAAc,QAC5C,KAAK,KACL,YAAe,EAAO,UAAU,EACjC,SAAA,UAEO,CAAA,CACL,CACJ,CAAA,EAAA,IAAQ,WACP,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,MAAO,EAAI,MAAiB,WAAkB,QAAS,CAAA,GAEpE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAc,MAAO,EAAI,KAAQ,CAAA,CAE9B,CACJ,CAAA,CAAA,CACF,CAAA,CAAA,GAET"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{i as e,n as t,r as n,s as r}from"./dist-CHLp-Np4.js";import{i,n as a,o,r as s,s as c,t as l}from"./dist-BmLOFYIW.js";import{_ as u,c as d,d as f,f as p,o as m,p as h,r as g,t as _,v}from"./button-BWxpVW85.js";import{n as y,r as b,t as x}from"./Wrench.es-Q3fLRWow.js";import{n as S,t as C}from"./Check.es-BaQZo8Jl.js";import{t as w}from"./Copy.es-CU5v9Pav.js";import{t as T}from"./MagnifyingGlass.es-C72UX0bz.js";import{n as E,t as D}from"./icon-ksPSRwE8.js";import{n as O,t as ee}from"./dist-DD97Shn_.js";import{t as k}from"./studio-CtQdOoHK.js";import{t as te}from"./badge-DUs0RCHV.js";import{t as ne}from"./input-DdUxz9c8.js";var A=r(e(),1),re=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H69l51.52,51.51a12,12,0,0,1-17,17l-72-72a12,12,0,0,1,0-17l72-72a12,12,0,0,1,17,17L69,116H216A12,12,0,0,1,228,128Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M112,56V200L40,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M216,120H120V56a8,8,0,0,0-13.66-5.66l-72,72a8,8,0,0,0,0,11.32l72,72A8,8,0,0,0,120,200V136h96a8,8,0,0,0,0-16ZM104,180.69,51.31,128,104,75.31Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H120v64a8,8,0,0,1-13.66,5.66l-72-72a8,8,0,0,1,0-11.32l72-72A8,8,0,0,1,120,56v64h96A8,8,0,0,1,224,128Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H54.49l61.75,61.76a6,6,0,1,1-8.48,8.48l-72-72a6,6,0,0,1,0-8.48l72-72a6,6,0,0,1,8.48,8.48L54.49,122H216A6,6,0,0,1,222,128Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H49.66l65.17,65.17a4,4,0,0,1-5.66,5.66l-72-72a4,4,0,0,1,0-5.66l72-72a4,4,0,0,1,5.66,5.66L49.66,124H216A4,4,0,0,1,220,128Z`}))]]),ie=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM104.49,56.48,116,45V88a12,12,0,0,0,24,0V45l11.51,11.51a12,12,0,0,0,17-17l-32-32a12,12,0,0,0-17,0l-32,32a12,12,0,0,0,17,17Zm47,143L140,211V168a12,12,0,0,0-24,0v43l-11.51-11.52a12,12,0,0,0-17,17l32,32a12,12,0,0,0,17,0l32-32a12,12,0,0,0-17-17Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M216,32V224a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V32A16,16,0,0,1,56,16H200A16,16,0,0,1,216,32Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM101.66,53.66,120,35.31V96a8,8,0,0,0,16,0V35.31l18.34,18.35a8,8,0,0,0,11.32-11.32l-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32Zm52.68,148.68L136,220.69V160a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M88.61,51.06a8,8,0,0,1,1.73-8.72l32-32a8,8,0,0,1,11.32,0l32,32A8,8,0,0,1,160,56H136V96a8,8,0,0,1-16,0V56H96A8,8,0,0,1,88.61,51.06ZM216,120H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-56,80H136V160a8,8,0,0,0-16,0v40H96a8,8,0,0,0-5.66,13.66l32,32a8,8,0,0,0,11.32,0l32-32A8,8,0,0,0,160,200Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M222,128a6,6,0,0,1-6,6H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,128ZM100.24,52.24,122,30.49V96a6,6,0,0,0,12,0V30.49l21.76,21.75a6,6,0,0,0,8.48-8.48l-32-32a6,6,0,0,0-8.48,0l-32,32a6,6,0,0,0,8.48,8.48Zm55.52,151.52L134,225.51V160a6,6,0,0,0-12,0v65.51l-21.76-21.75a6,6,0,0,0-8.48,8.48l32,32a6,6,0,0,0,8.48,0l32-32a6,6,0,0,0-8.48-8.48Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM101.66,53.66,120,35.31V96a8,8,0,0,0,16,0V35.31l18.34,18.35a8,8,0,0,0,11.32-11.32l-32-32a8,8,0,0,0-11.32,0l-32,32a8,8,0,0,0,11.32,11.32Zm52.68,148.68L136,220.69V160a8,8,0,0,0-16,0v60.69l-18.34-18.35a8,8,0,0,0-11.32,11.32l32,32a8,8,0,0,0,11.32,0l32-32a8,8,0,0,0-11.32-11.32Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M220,128a4,4,0,0,1-4,4H40a4,4,0,0,1,0-8H216A4,4,0,0,1,220,128ZM98.83,50.83,124,25.66V96a4,4,0,0,0,8,0V25.66l25.17,25.17a4,4,0,1,0,5.66-5.66l-32-32a4,4,0,0,0-5.66,0l-32,32a4,4,0,0,0,5.66,5.66Zm58.34,154.34L132,230.34V160a4,4,0,0,0-8,0v70.34L98.83,205.17a4,4,0,0,0-5.66,5.66l32,32a4,4,0,0,0,5.66,0l32-32a4,4,0,0,0-5.66-5.66Z`}))]]),ae=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M54.8,119.49A35.06,35.06,0,0,1,49.05,128a35.06,35.06,0,0,1,5.75,8.51C60,147.24,60,159.83,60,172c0,25.94,1.84,32,20,32a12,12,0,0,1,0,24c-19.14,0-32.2-6.9-38.8-20.51C36,196.76,36,184.17,36,172c0-25.94-1.84-32-20-32a12,12,0,0,1,0-24c18.16,0,20-6.06,20-32,0-12.17,0-24.76,5.2-35.49C47.8,34.9,60.86,28,80,28a12,12,0,0,1,0,24c-18.16,0-20,6.06-20,32C60,96.17,60,108.76,54.8,119.49ZM240,116c-18.16,0-20-6.06-20-32,0-12.17,0-24.76-5.2-35.49C208.2,34.9,195.14,28,176,28a12,12,0,0,0,0,24c18.16,0,20,6.06,20,32,0,12.17,0,24.76,5.2,35.49A35.06,35.06,0,0,0,207,128a35.06,35.06,0,0,0-5.75,8.51C196,147.24,196,159.83,196,172c0,25.94-1.84,32-20,32a12,12,0,0,0,0,24c19.14,0,32.2-6.9,38.8-20.51C220,196.76,220,184.17,220,172c0-25.94,1.84-32,20-32a12,12,0,0,0,0-24Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M240,128c-64,0,0,88-64,88H80c-64,0,0-88-64-88,64,0,0-88,64-88h96C240,40,176,128,240,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM88,155.84c.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16c-31.27,0-31.72-22.43-32-35.84C71.71,141.9,71.59,136,56,136a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16C72.28,86.43,72.73,64,104,64a8,8,0,0,1,0,16c-15.59,0-15.71,5.9-16,20.16-.17,8.31-.41,20.09-8,27.84C87.59,135.75,87.83,147.53,88,155.84ZM200,136c-15.59,0-15.71,5.9-16,20.16-.28,13.41-.73,35.84-32,35.84a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16.17-8.31.41-20.09,8-27.84-7.6-7.75-7.84-19.53-8-27.84C167.71,85.9,167.59,80,152,80a8,8,0,0,1,0-16c31.27,0,31.72,22.43,32,35.84.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M39.91,128a27.68,27.68,0,0,1,9.49,11.13C54,148.62,54,160.51,54,172c0,24.27,1.21,38,26,38a6,6,0,0,1,0,12c-16.88,0-27.81-5.6-33.4-17.13C42,195.38,42,183.49,42,172c0-24.27-1.21-38-26-38a6,6,0,0,1,0-12c24.79,0,26-13.73,26-38,0-11.49,0-23.38,4.6-32.87C52.19,39.6,63.12,34,80,34a6,6,0,0,1,0,12C55.21,46,54,59.73,54,84c0,11.49,0,23.38-4.6,32.87A27.68,27.68,0,0,1,39.91,128ZM240,122c-24.79,0-26-13.73-26-38,0-11.49,0-23.38-4.6-32.87C203.81,39.6,192.88,34,176,34a6,6,0,0,0,0,12c24.79,0,26,13.73,26,38,0,11.49,0,23.38,4.6,32.87A27.68,27.68,0,0,0,216.09,128a27.68,27.68,0,0,0-9.49,11.13C202,148.62,202,160.51,202,172c0,24.27-1.21,38-26,38a6,6,0,0,0,0,12c16.88,0,27.81-5.6,33.4-17.13,4.6-9.49,4.6-21.38,4.6-32.87,0-24.27,1.21-38,26-38a6,6,0,0,0,0-12Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M35.89,128C52,136.23,52,155.64,52,172c0,24.8,1.35,40,28,40a4,4,0,0,1,0,8c-36,0-36-26.61-36-48,0-24.8-1.35-40-28-40a4,4,0,0,1,0-8c26.65,0,28-15.2,28-40,0-21.39,0-48,36-48a4,4,0,0,1,0,8C53.35,44,52,59.2,52,84,52,100.36,52,119.77,35.89,128ZM240,124c-26.65,0-28-15.2-28-40,0-21.39,0-48-36-48a4,4,0,0,0,0,8c26.65,0,28,15.2,28,40,0,16.36,0,35.77,16.11,44C204,136.23,204,155.64,204,172c0,24.8-1.35,40-28,40a4,4,0,0,0,0,8c36,0,36-26.61,36-48,0-24.8,1.35-40,28-40a4,4,0,0,0,0-8Z`}))]]),oe=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M176,128,96,208V48Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z`}))]]),se=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm68-84a12,12,0,0,1-12,12H128a12,12,0,0,1-12-12V72a12,12,0,0,1,24,0v44h44A12,12,0,0,1,196,128Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm56,112H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm62-90a6,6,0,0,1-6,6H128a6,6,0,0,1-6-6V72a6,6,0,0,1,12,0v50h50A6,6,0,0,1,190,128Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm64-88a8,8,0,0,1-8,8H128a8,8,0,0,1-8-8V72a8,8,0,0,1,16,0v48h48A8,8,0,0,1,192,128Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm60-92a4,4,0,0,1-4,4H128a4,4,0,0,1-4-4V72a4,4,0,0,1,8,0v52h52A4,4,0,0,1,188,128Z`}))]]),ce=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,40a8,8,0,1,1,8-8A8,8,0,0,1,128,136Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M152,128a24,24,0,1,1-24-24A24,24,0,0,1,152,128Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M156,128a28,28,0,1,1-28-28A28,28,0,0,1,156,128Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,98a30,30,0,1,0,30,30A30,30,0,0,0,128,98Zm0,48a18,18,0,1,1,18-18A18,18,0,0,1,128,146Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,96a32,32,0,1,0,32,32A32,32,0,0,0,128,96Zm0,48a16,16,0,1,1,16-16A16,16,0,0,1,128,144Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,100a28,28,0,1,0,28,28A28,28,0,0,0,128,100Zm0,48a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z`}))]]),le=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M199,125.31l-49.88-18.39L130.69,57a19.92,19.92,0,0,0-37.38,0L74.92,106.92,25,125.31a19.92,19.92,0,0,0,0,37.38l49.88,18.39L93.31,231a19.92,19.92,0,0,0,37.38,0l18.39-49.88L199,162.69a19.92,19.92,0,0,0,0-37.38Zm-63.38,35.16a12,12,0,0,0-7.11,7.11L112,212.28l-16.47-44.7a12,12,0,0,0-7.11-7.11L43.72,144l44.7-16.47a12,12,0,0,0,7.11-7.11L112,75.72l16.47,44.7a12,12,0,0,0,7.11,7.11L180.28,144ZM140,40a12,12,0,0,1,12-12h12V16a12,12,0,0,1,24,0V28h12a12,12,0,0,1,0,24H188V64a12,12,0,0,1-24,0V52H152A12,12,0,0,1,140,40ZM252,88a12,12,0,0,1-12,12h-4v4a12,12,0,0,1-24,0v-4h-4a12,12,0,0,1,0-24h4V72a12,12,0,0,1,24,0v4h4A12,12,0,0,1,252,88Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M194.82,151.43l-55.09,20.3-20.3,55.09a7.92,7.92,0,0,1-14.86,0l-20.3-55.09-55.09-20.3a7.92,7.92,0,0,1,0-14.86l55.09-20.3,20.3-55.09a7.92,7.92,0,0,1,14.86,0l20.3,55.09,55.09,20.3A7.92,7.92,0,0,1,194.82,151.43Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M208,144a15.78,15.78,0,0,1-10.42,14.94L146,178l-19,51.62a15.92,15.92,0,0,1-29.88,0L78,178l-51.62-19a15.92,15.92,0,0,1,0-29.88L78,110l19-51.62a15.92,15.92,0,0,1,29.88,0L146,110l51.62,19A15.78,15.78,0,0,1,208,144ZM152,48h16V64a8,8,0,0,0,16,0V48h16a8,8,0,0,0,0-16H184V16a8,8,0,0,0-16,0V32H152a8,8,0,0,0,0,16Zm88,32h-8V72a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0V96h8a8,8,0,0,0,0-16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M196.89,130.94,144.4,111.6,125.06,59.11a13.92,13.92,0,0,0-26.12,0L79.6,111.6,27.11,130.94a13.92,13.92,0,0,0,0,26.12L79.6,176.4l19.34,52.49a13.92,13.92,0,0,0,26.12,0L144.4,176.4l52.49-19.34a13.92,13.92,0,0,0,0-26.12Zm-4.15,14.86-55.08,20.3a6,6,0,0,0-3.56,3.56l-20.3,55.08a1.92,1.92,0,0,1-3.6,0L89.9,169.66a6,6,0,0,0-3.56-3.56L31.26,145.8a1.92,1.92,0,0,1,0-3.6l55.08-20.3a6,6,0,0,0,3.56-3.56l20.3-55.08a1.92,1.92,0,0,1,3.6,0l20.3,55.08a6,6,0,0,0,3.56,3.56l55.08,20.3a1.92,1.92,0,0,1,0,3.6ZM146,40a6,6,0,0,1,6-6h18V16a6,6,0,0,1,12,0V34h18a6,6,0,0,1,0,12H182V64a6,6,0,0,1-12,0V46H152A6,6,0,0,1,146,40ZM246,88a6,6,0,0,1-6,6H230v10a6,6,0,0,1-12,0V94H208a6,6,0,0,1,0-12h10V72a6,6,0,0,1,12,0V82h10A6,6,0,0,1,246,88Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M196.2,132.81l-53.36-19.65L123.19,59.8a11.93,11.93,0,0,0-22.38,0L81.16,113.16,27.8,132.81a11.93,11.93,0,0,0,0,22.38l53.36,19.65,19.65,53.36a11.93,11.93,0,0,0,22.38,0l19.65-53.36,53.36-19.65a11.93,11.93,0,0,0,0-22.38Zm-2.77,14.87L138.35,168a4,4,0,0,0-2.37,2.37l-20.3,55.08a3.92,3.92,0,0,1-7.36,0L88,170.35A4,4,0,0,0,85.65,168l-55.08-20.3a3.92,3.92,0,0,1,0-7.36L85.65,120A4,4,0,0,0,88,117.65l20.3-55.08a3.92,3.92,0,0,1,7.36,0L136,117.65a4,4,0,0,0,2.37,2.37l55.08,20.3a3.92,3.92,0,0,1,0,7.36ZM148,40a4,4,0,0,1,4-4h20V16a4,4,0,0,1,8,0V36h20a4,4,0,0,1,0,8H180V64a4,4,0,0,1-8,0V44H152A4,4,0,0,1,148,40Zm96,48a4,4,0,0,1-4,4H228v12a4,4,0,0,1-8,0V92H208a4,4,0,0,1,0-8h12V72a4,4,0,0,1,8,0V84h12A4,4,0,0,1,244,88Z`}))]]),ue=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,44a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,44Zm0,168a72,72,0,1,1,72-72A72.08,72.08,0,0,1,128,212ZM164.49,99.51a12,12,0,0,1,0,17l-28,28a12,12,0,0,1-17-17l28-28A12,12,0,0,1,164.49,99.51ZM92,16A12,12,0,0,1,104,4h48a12,12,0,0,1,0,24H104A12,12,0,0,1,92,16Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M216,136a88,88,0,1,1-88-88A88,88,0,0,1,216,136Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm0,176a80,80,0,1,1,80-80A80.09,80.09,0,0,1,128,216ZM173.66,90.34a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32-11.32l40-40A8,8,0,0,1,173.66,90.34ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm45.66,61.66-40,40a8,8,0,0,1-11.32-11.32l40-40a8,8,0,0,1,11.32,11.32ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,42a94,94,0,1,0,94,94A94.11,94.11,0,0,0,128,42Zm0,176a82,82,0,1,1,82-82A82.1,82.1,0,0,1,128,218ZM172.24,91.76a6,6,0,0,1,0,8.48l-40,40a6,6,0,1,1-8.48-8.48l40-40A6,6,0,0,1,172.24,91.76ZM98,16a6,6,0,0,1,6-6h48a6,6,0,0,1,0,12H104A6,6,0,0,1,98,16Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,40a96,96,0,1,0,96,96A96.11,96.11,0,0,0,128,40Zm0,176a80,80,0,1,1,80-80A80.09,80.09,0,0,1,128,216ZM173.66,90.34a8,8,0,0,1,0,11.32l-40,40a8,8,0,0,1-11.32-11.32l40-40A8,8,0,0,1,173.66,90.34ZM96,16a8,8,0,0,1,8-8h48a8,8,0,0,1,0,16H104A8,8,0,0,1,96,16Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M128,44a92,92,0,1,0,92,92A92.1,92.1,0,0,0,128,44Zm0,176a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,220ZM170.83,93.17a4,4,0,0,1,0,5.66l-40,40a4,4,0,1,1-5.66-5.66l40-40A4,4,0,0,1,170.83,93.17ZM100,16a4,4,0,0,1,4-4h48a4,4,0,0,1,0,8H104A4,4,0,0,1,100,16Z`}))]]),de=new Map([[`bold`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,116h48a20,20,0,0,0,20-20V48a20,20,0,0,0-20-20H160a20,20,0,0,0-20,20V60H128a28,28,0,0,0-28,28v28H76v-4A20,20,0,0,0,56,92H24A20,20,0,0,0,4,112v32a20,20,0,0,0,20,20H56a20,20,0,0,0,20-20v-4h24v28a28,28,0,0,0,28,28h12v12a20,20,0,0,0,20,20h48a20,20,0,0,0,20-20V160a20,20,0,0,0-20-20H160a20,20,0,0,0-20,20v12H128a4,4,0,0,1-4-4V88a4,4,0,0,1,4-4h12V96A20,20,0,0,0,160,116ZM52,140H28V116H52Zm112,24h40v40H164Zm0-112h40V92H164Z`}))],[`duotone`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M64,112v32a8,8,0,0,1-8,8H24a8,8,0,0,1-8-8V112a8,8,0,0,1,8-8H56A8,8,0,0,1,64,112ZM208,40H160a8,8,0,0,0-8,8V96a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V48A8,8,0,0,0,208,40Zm0,112H160a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V160A8,8,0,0,0,208,152Z`,opacity:`0.2`}),A.createElement(`path`,{d:`M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z`}))],[`fill`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M144,96V80H128a8,8,0,0,0-8,8v80a8,8,0,0,0,8,8h16V160a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16v48a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V192H128a24,24,0,0,1-24-24V136H72v8a16,16,0,0,1-16,16H24A16,16,0,0,1,8,144V112A16,16,0,0,1,24,96H56a16,16,0,0,1,16,16v8h32V88a24,24,0,0,1,24-24h16V48a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16V96a16,16,0,0,1-16,16H160A16,16,0,0,1,144,96Z`}))],[`light`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,110h48a14,14,0,0,0,14-14V48a14,14,0,0,0-14-14H160a14,14,0,0,0-14,14V66H128a22,22,0,0,0-22,22v34H70V112A14,14,0,0,0,56,98H24a14,14,0,0,0-14,14v32a14,14,0,0,0,14,14H56a14,14,0,0,0,14-14V134h36v34a22,22,0,0,0,22,22h18v18a14,14,0,0,0,14,14h48a14,14,0,0,0,14-14V160a14,14,0,0,0-14-14H160a14,14,0,0,0-14,14v18H128a10,10,0,0,1-10-10V88a10,10,0,0,1,10-10h18V96A14,14,0,0,0,160,110ZM58,144a2,2,0,0,1-2,2H24a2,2,0,0,1-2-2V112a2,2,0,0,1,2-2H56a2,2,0,0,1,2,2Zm100,16a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2v48a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2Zm0-112a2,2,0,0,1,2-2h48a2,2,0,0,1,2,2V96a2,2,0,0,1-2,2H160a2,2,0,0,1-2-2Z`}))],[`regular`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z`}))],[`thin`,A.createElement(A.Fragment,null,A.createElement(`path`,{d:`M160,108h48a12,12,0,0,0,12-12V48a12,12,0,0,0-12-12H160a12,12,0,0,0-12,12V68H128a20,20,0,0,0-20,20v36H68V112a12,12,0,0,0-12-12H24a12,12,0,0,0-12,12v32a12,12,0,0,0,12,12H56a12,12,0,0,0,12-12V132h40v36a20,20,0,0,0,20,20h20v20a12,12,0,0,0,12,12h48a12,12,0,0,0,12-12V160a12,12,0,0,0-12-12H160a12,12,0,0,0-12,12v20H128a12,12,0,0,1-12-12V88a12,12,0,0,1,12-12h20V96A12,12,0,0,0,160,108ZM60,144a4,4,0,0,1-4,4H24a4,4,0,0,1-4-4V112a4,4,0,0,1,4-4H56a4,4,0,0,1,4,4Zm96,16a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4v48a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4Zm0-112a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V96a4,4,0,0,1-4,4H160a4,4,0,0,1-4-4Z`}))]]),fe=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:re}));fe.displayName=`ArrowLeftIcon`;var pe=fe,me=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ie}));me.displayName=`ArrowsOutLineVerticalIcon`;var he=me,ge=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ae}));ge.displayName=`BracketsCurlyIcon`;var _e=ge,ve=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:oe}));ve.displayName=`CaretRightIcon`;var j=ve,ye=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:se}));ye.displayName=`ClockIcon`;var be=ye,xe=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ce}));xe.displayName=`DotOutlineIcon`;var Se=xe,Ce=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:le}));Ce.displayName=`SparkleIcon`;var we=Ce,Te=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:ue}));Te.displayName=`TimerIcon`;var Ee=Te,De=A.forwardRef((e,t)=>A.createElement(E,{ref:t,...e,weights:de}));De.displayName=`TreeStructureIcon`;var Oe=De,M=n();function ke(e){try{return JSON.stringify(e,null,2)??`undefined`}catch{return String(e)}}function Ae(e){return(0,M.jsx)(`div`,{className:`overflow-x-auto rounded-lg border bg-muted p-4 font-mono text-xs leading-5 text-foreground`,children:(0,M.jsx)(Ne,{depth:0,path:`$`,value:e.value})})}var je=16,Me=20;function Ne(e){return Re(e.value)?(0,M.jsx)(Pe,{arrayIndex:e.arrayIndex,depth:e.depth,path:e.path,propertyKey:e.propertyKey,trailingComma:e.trailingComma,value:e.value}):(0,M.jsxs)(`div`,{className:`min-w-max whitespace-pre`,style:{paddingLeft:`${Fe(e.depth)}px`},children:[(0,M.jsx)(Ie,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),(0,M.jsx)(Le,{value:e.value}),e.trailingComma?(0,M.jsx)(`span`,{className:`text-foreground`,children:`,`}):null]})}function Pe(e){let[t,n]=(0,A.useState)(e.depth===0),r=Array.isArray(e.value)?e.value:void 0,i=r===void 0?Object.entries(e.value):r.map((e,t)=>[String(t),e]),a=r===void 0?`{`:`[`,o=r===void 0?`}`:`]`,s=r===void 0?`{…}`:`[…]`;return i.length===0?(0,M.jsxs)(`div`,{className:`min-w-max whitespace-pre`,style:{paddingLeft:`${Fe(e.depth)}px`},children:[(0,M.jsx)(Ie,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),(0,M.jsxs)(`span`,{className:`text-foreground`,children:[a,o,e.trailingComma?`,`:``]})]}):(0,M.jsxs)(`div`,{className:`grid min-w-max`,children:[(0,M.jsxs)(`button`,{"aria-expanded":t,className:`grid min-w-max grid-cols-[16px_auto] items-center gap-1 rounded-lg py-0.5 pr-2 text-left transition duration-200 hover:bg-transparent hover:text-foreground`,onClick:()=>n(e=>!e),style:{paddingLeft:`${e.depth*je}px`},type:`button`,children:[(0,M.jsx)(`span`,{className:`grid h-4 w-4 place-items-center text-muted-foreground [&_svg]:h-3 [&_svg]:w-3`,children:t?(0,M.jsx)(D,{icon:S,"aria-hidden":`true`}):(0,M.jsx)(D,{icon:j,"aria-hidden":`true`})}),(0,M.jsxs)(`span`,{className:`whitespace-pre`,children:[(0,M.jsx)(Ie,{arrayIndex:e.arrayIndex,propertyKey:e.propertyKey}),t?(0,M.jsx)(`span`,{className:`text-foreground`,children:a}):(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:s}),!t&&e.trailingComma?(0,M.jsx)(`span`,{className:`text-foreground`,children:`,`}):null]})]}),t?(0,M.jsxs)(M.Fragment,{children:[i.map(([t,n],a)=>(0,M.jsx)(Ne,{arrayIndex:r===void 0?void 0:Number(t),depth:e.depth+1,path:`${e.path}.${t}`,propertyKey:r===void 0?t:void 0,trailingComma:a<i.length-1,value:n},`${e.path}.${t}`)),(0,M.jsxs)(`div`,{className:`min-w-max whitespace-pre text-foreground`,style:{paddingLeft:`${Fe(e.depth)}px`},children:[o,e.trailingComma?`,`:``]})]}):null]})}function Fe(e){return e*je+Me}function Ie(e){return e.propertyKey===void 0?e.arrayIndex===void 0?null:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`span`,{className:`text-muted-foreground`,children:[`[`,e.arrayIndex,`]`]}),(0,M.jsx)(`span`,{className:`text-foreground`,children:` `})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`code-keyword`,children:JSON.stringify(e.propertyKey)}),(0,M.jsx)(`span`,{className:`text-foreground`,children:`: `})]})}function Le(e){return typeof e.value==`string`?(0,M.jsx)(`span`,{className:`code-string`,children:JSON.stringify(e.value)}):typeof e.value==`number`?(0,M.jsx)(`span`,{className:`code-number`,children:String(e.value)}):typeof e.value==`boolean`?(0,M.jsx)(`span`,{className:`code-literal`,children:String(e.value)}):e.value===null?(0,M.jsx)(`span`,{className:`code-comment`,children:`null`}):e.value===void 0?(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:`undefined`}):(0,M.jsx)(`span`,{className:`text-foreground`,children:ke(e.value)})}function Re(e){return Array.isArray(e)||v(e)}function ze(e){let t=/("(?:\\u[\da-fA-F]{4}|\\[^u]|[^\\"])*"(?=\s*:)|"(?:\\u[\da-fA-F]{4}|\\[^u]|[^\\"])*"|-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?|\btrue\b|\bfalse\b|\bnull\b)/g,n=[],r=0;for(let i of e.matchAll(t)){let t=i[0],a=i.index??0;a>r&&n.push({text:e.slice(r,a),type:`plain`,start:r}),n.push({text:t,type:Be(t,e.slice(a+t.length)),start:a}),r=a+t.length}return r<e.length&&n.push({text:e.slice(r),type:`plain`,start:r}),n}function Be(e,t){return e.startsWith(`"`)?t.trimStart().startsWith(`:`)?`key`:`string`:e===`true`||e===`false`?`boolean`:e===`null`?`null`:`number`}function Ve(e){let t=new Map;for(let n of e.observations){let e=Number.isFinite(n.turn)?n.turn:t.size+1;t.set(e,[...t.get(e)??[],n])}return[...t.entries()].sort(([e],[t])=>e-t).map(([e,t])=>({turn:e,observations:t,durationMs:t.reduce((e,t)=>e+(t.durationMs??0),0)}))}function He(e){let t=new Map;for(let n of e)t.set(n.id,{observation:n,children:[]});let n=[];for(let r of e){let e=t.get(r.id);if(e===void 0)continue;let i=r.parentObservationId,a=i===void 0?void 0:t.get(i);a===void 0?n.push(e):a.children.push(e)}return n}function Ue(e,t,n){if(n===`agent`)return{title:`agent.run`,tone:`agent`,status:e.status,startedAt:p(e.startedAt),durationMs:e.durationMs,firstDeltaMs:P(e.observations),usage:h(e.usage),input:e.input,output:e.output,error:e.error,metadata:We(e)};if(n.startsWith(`turn:`)){let r=Number(n.slice(5)),i=t.find(e=>e.turn===r);return{title:`turn.${Number.isFinite(r)?r:1}`,tone:`turn`,status:Qe(i?.observations??[]),startedAt:p(i?.observations[0]?.startedAt??e.startedAt),durationMs:i?.durationMs,firstDeltaMs:P(i?.observations??[]),usage:it(i?.observations??[]),input:i?.observations[0]?.input,output:i?.observations.at(-1)?.output,metadata:Ge(r,i?.observations??[])}}if(n.startsWith(`observation:`)){let t=n.slice(12),r=e.observations.find(e=>e.id===t);if(r!==void 0)return{title:et(r),tone:r.kind,status:r.status,startedAt:p(r.startedAt),durationMs:r.durationMs,firstDeltaMs:tt(r.metadata),usage:rt(r),input:r.input,output:r.output,error:r.error,metadata:Ke(r)}}return{title:e.name??`Agent`,tone:`trace`,status:e.status,startedAt:p(e.startedAt),durationMs:e.durationMs,firstDeltaMs:P(e.observations),usage:h(e.usage),input:e.input,output:e.output,error:e.error,metadata:We(e)}}function We(e){let t=v(e.metadata)?e.metadata:{},n=N({status:e.status,traceId:e.trace?.traceId??e.id,observationId:e.trace?.observationId,sessionId:e.sessionId,observationCount:e.observationCount,messageCount:$e(t.messages),startedAt:e.startedAt,endedAt:e.endedAt,durationMs:e.durationMs});return N({...t,status:e.status,traceId:e.trace?.traceId??e.id,observationId:e.trace?.observationId,sessionId:e.sessionId,observationCount:e.observationCount,messageCount:$e(t.messages),startedAt:e.startedAt,endedAt:e.endedAt,durationMs:e.durationMs,trace:v(t.trace)?t.trace:n})}function Ge(e,t){return N({turn:e,observationCount:t.length,generationCount:t.filter(e=>e.kind===`generation`).length,toolCount:t.filter(e=>e.kind===`tool`).length,agentCount:t.filter(e=>e.kind===`agent`).length,firstDeltaMs:P(t),status:Qe(t),startedAt:t[0]?.startedAt,endedAt:t.at(-1)?.endedAt})}function Ke(e){let t=N({...v(e.metadata)?e.metadata:{},status:e.status,kind:e.kind,turn:e.turn,parentObservationId:e.parentObservationId??null,startedAt:e.startedAt,endedAt:e.endedAt??null,durationMs:e.durationMs});return N({...t,trace:v(t.trace)?t.trace:N({status:e.status,kind:e.kind,turn:e.turn,parentObservationId:e.parentObservationId??null,startedAt:e.startedAt,endedAt:e.endedAt??null,durationMs:e.durationMs}),modelInfo:v(t.modelInfo)?t.modelInfo:qe(t),modelCall:v(t.modelCall)?t.modelCall:Je(t),response:v(t.response)?t.response:Ye(t),tools:v(t.tools)?t.tools:Xe(t),timing:v(t.timing)?t.timing:Ze(t)})}function qe(e){let t=N({provider:e.provider,modelId:e.modelId});return Object.keys(t).length===0?void 0:t}function Je(e){let t=N({messageCount:e.historyCount,documentCount:e.documentCount,toolCount:e.toolCount,toolNames:e.toolNames,temperature:e.temperature,maxTokens:e.maxTokens,toolChoice:e.toolChoice,hasOutputSchema:e.hasOutputSchema,providerOptionKeys:e.providerOptionKeys}),n=N({request:Object.keys(t).length===0?void 0:t,providerRequest:e.providerRequest});return Object.keys(n).length===0?void 0:n}function Ye(e){let t=N({messageId:e.messageId,usage:e.usage,providerResponse:e.providerResponse});return Object.keys(t).length===0?void 0:t}function Xe(e){let t=N({count:e.toolCount,names:e.toolNames,toolChoice:e.toolChoice,internalCallId:e.internalCallId,toolCallId:e.toolCallId,skipped:e.skipped,description:e.toolDescription,parameterKeys:e.parameterKeys,requiredParameterKeys:e.requiredParameterKeys,approvalRequired:e.approvalRequired,mcpServerName:e.mcpServerName,argumentBytes:e.argumentBytes,resultBytes:e.resultBytes});return Object.keys(t).length===0?void 0:t}function Ze(e){let t=N({firstDeltaMs:e.firstDeltaMs,durationMs:e.durationMs,startedAt:e.startedAt,endedAt:e.endedAt});return Object.keys(t).length===0?void 0:t}function Qe(e){return e.length===0?`empty`:e.some(e=>e.status===`error`)?`error`:e.some(e=>e.status===`cancelled`)?`cancelled`:e.some(e=>e.status===`running`)?`running`:`success`}function $e(e){return Array.isArray(e)?e.length:void 0}function N(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function et(e){return e.kind===`agent`?e.name:e.kind===`tool`?`tool.${e.name}`:e.name}function P(e){for(let t of e){let e=tt(t.metadata);if(e!==void 0)return e}}function tt(e){if(!(!v(e)||typeof e.firstDeltaMs!=`number`))return e.firstDeltaMs}function nt(e){switch(e.tone){case`trace`:return(0,M.jsx)(D,{icon:Se,"aria-hidden":`true`});case`agent`:return(0,M.jsx)(D,{icon:y,"aria-hidden":`true`});case`turn`:return(0,M.jsx)(D,{icon:y,"aria-hidden":`true`});case`generation`:return(0,M.jsx)(D,{icon:we,"aria-hidden":`true`});case`tool`:return(0,M.jsx)(D,{icon:x,"aria-hidden":`true`});default:return(0,M.jsx)(D,{icon:Se,"aria-hidden":`true`})}}function F(e){switch(e){case`trace`:return`bg-foreground text-background`;case`agent`:return`bg-tone-agent text-tone-text`;case`turn`:return`bg-tone-agent text-tone-text`;case`generation`:return`bg-tone-generation text-tone-text`;case`tool`:return`bg-tone-tool text-tone-text`;default:return`bg-muted text-muted-foreground`}}function rt(e){return!v(e.output)||!v(e.output.usage)?``:at(e.output.usage)}function it(e){return e.map(rt).filter(e=>e.length>0).join(` + `)}function at(e){let t=typeof e.inputTokens==`number`?e.inputTokens:0,n=typeof e.outputTokens==`number`?e.outputTokens:0,r=typeof e.totalTokens==`number`?e.totalTokens:t+n;return r===0?``:`${t} -> ${n} (Σ ${r})`}function ot({className:e,...n}){return(0,M.jsx)(`div`,{className:t(`flex flex-col gap-4 overflow-hidden rounded-none border border-border bg-card py-4 text-base text-card-foreground`,e),...n})}var st=Object.defineProperty,I=(e,t)=>st(e,`name`,{value:t,configurable:!0});function ct(e,t){return A.useReducer((e,n)=>t[e][n]??e,e)}I(ct,`useStateMachine`);var lt=`ScrollArea`,[ut,dt]=o(lt),[ft,L]=ut(lt),pt=A.forwardRef(I(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:a,scrollHideDelay:o=600,...s}=e,[c,l]=A.useState(null),[u,d]=A.useState(null),[f,p]=A.useState(null),[m,h]=A.useState(null),[_,v]=A.useState(null),[y,b]=A.useState(0),[x,S]=A.useState(0),[C,w]=A.useState(!1),[T,E]=A.useState(!1),D=g(t,l),O=ee(a);return(0,M.jsx)(ft,{scope:n,type:r,dir:O,scrollHideDelay:o,scrollArea:c,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:C,onScrollbarXEnabledChange:w,scrollbarY:_,onScrollbarYChange:v,scrollbarYEnabled:T,onScrollbarYEnabledChange:E,onCornerWidthChange:b,onCornerHeightChange:S,children:(0,M.jsx)(i.div,{dir:O,...s,ref:D,style:{position:`relative`,"--radix-scroll-area-corner-width":y+`px`,"--radix-scroll-area-corner-height":x+`px`,...e.style}})})},`ScrollArea`)),mt=`ScrollAreaViewport`,ht=A.forwardRef(I(function(e,t){let{__scopeScrollArea:n,children:r,nonce:a,...o}=e,s=L(mt,n),c=A.useRef(null),l=g(t,c,s.onViewportChange);return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(gt,{nonce:a}),(0,M.jsx)(i.div,{"data-radix-scroll-area-viewport":``,...o,ref:l,style:{overflowX:s.scrollbarXEnabled?`scroll`:`hidden`,overflowY:s.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,M.jsx)(`div`,{ref:s.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})},`ScrollAreaViewport`)),gt=A.memo(I(function({nonce:e}){return(0,M.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),R=`ScrollAreaScrollbar`,_t=A.forwardRef(I(function(e,t){let{forceMount:n,...r}=e,i=L(R,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return A.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,M.jsx)(vt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,M.jsx)(yt,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,M.jsx)(bt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,M.jsx)(z,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),vt=A.forwardRef(I(function(e,t){let{forceMount:n,...r}=e,i=L(R,e.__scopeScrollArea),[a,o]=A.useState(!1);return A.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=I(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=I(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,M.jsx)(l,{present:n||a,children:(0,M.jsx)(bt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),yt=A.forwardRef(I(function(e,t){let{forceMount:n,...r}=e,i=L(R,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=U(()=>u(`SCROLL_END`),100),[s,u]=ct(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return A.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>u(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,u]),A.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=I(()=>{let r=e[t];n!==r&&(u(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,u,o]),(0,M.jsx)(l,{present:n||s!==`hidden`,children:(0,M.jsx)(z,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:c(e.onPointerEnter,()=>u(`POINTER_ENTER`)),onPointerLeave:c(e.onPointerLeave,()=>u(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),bt=A.forwardRef(I(function(e,t){let n=L(R,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=A.useState(!1),s=e.orientation===`horizontal`,c=U(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return W(n.viewport,c),W(n.content,c),(0,M.jsx)(l,{present:r||a,children:(0,M.jsx)(z,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),z=A.forwardRef(I(function(e,t){let{orientation:n=`vertical`,...r}=e,i=L(R,e.__scopeScrollArea),a=A.useRef(null),o=A.useRef(0),[s,c]=A.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=Mt(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:I(e=>a.current=e,`onThumbChange`),onThumbPointerUp:I(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:I(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Nt(e,o.current,s,t)}return I(d,`getScrollPosition`),n===`horizontal`?(0,M.jsx)(xt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Pt(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,M.jsx)(St,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Pt(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),xt=A.forwardRef(I(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=L(R,e.__scopeScrollArea),[o,s]=A.useState(),c=A.useRef(null),l=g(t,c,a.onScrollbarXChange);return A.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,M.jsx)(Tt,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,style:{bottom:0,left:a.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:a.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":V(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:B(o.paddingLeft),paddingEnd:B(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),St=A.forwardRef(I(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=L(R,e.__scopeScrollArea),[o,s]=A.useState(),c=A.useRef(null),l=g(t,c,a.onScrollbarYChange);return A.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,M.jsx)(Tt,{"data-orientation":`vertical`,...i,ref:l,sizes:n,style:{top:0,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":V(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:B(o.paddingTop),paddingEnd:B(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[Ct,wt]=ut(R),Tt=A.forwardRef(I(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:a,onThumbChange:o,onThumbPointerUp:l,onThumbPointerDown:u,onThumbPositionChange:d,onDragScroll:f,onWheelScroll:p,onResize:m,...h}=e,_=L(R,n),[v,y]=A.useState(null),b=g(t,y),x=A.useRef(null),S=A.useRef(``),C=_.viewport,w=r.content-r.viewport,T=s(p),E=s(d),D=U(m,10);function O(e){if(x.current){let t=e.clientX-x.current.left,n=e.clientY-x.current.top;f({x:t,y:n})}}return I(O,`handleDragScroll`),A.useEffect(()=>{let e=I(e=>{let t=e.target;v?.contains(t)&&T(e,w)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[C,v,w,T]),A.useEffect(E,[r,E]),W(v,D),W(_.content,D),(0,M.jsx)(Ct,{scope:n,scrollbar:v,hasThumb:a,onThumbChange:s(o),onThumbPointerUp:s(l),onThumbPositionChange:E,onThumbPointerDown:s(u),children:(0,M.jsx)(i.div,{...h,ref:b,style:{position:`absolute`,...h.style},onPointerDown:c(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),x.current=v.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,_.viewport&&(_.viewport.style.scrollBehavior=`auto`),O(e))}),onPointerMove:c(e.onPointerMove,O),onPointerUp:c(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=S.current,_.viewport&&(_.viewport.style.scrollBehavior=``),x.current=null})})})},`ScrollAreaScrollbarImpl`)),Et=`ScrollAreaThumb`,Dt=A.forwardRef(I(function(e,t){let{forceMount:n,...r}=e,i=wt(Et,e.__scopeScrollArea);return(0,M.jsx)(l,{present:n||i.hasThumb,children:(0,M.jsx)(Ot,{ref:t,...r})})},`ScrollAreaThumb`)),Ot=A.forwardRef(I(function(e,t){let{__scopeScrollArea:n,style:r,...a}=e,o=L(Et,n),s=wt(Et,n),{onThumbPositionChange:l}=s,u=g(t,s.onThumbChange),d=A.useRef(void 0),f=U(()=>{d.current&&=(d.current(),void 0)},100);return A.useEffect(()=>{let e=o.viewport;if(e){let t=I(()=>{if(f(),!d.current){let t=It(e,l);d.current=t,l()}},`handleScroll`);return l(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[o.viewport,f,l]),(0,M.jsx)(i.div,{"data-state":s.hasThumb?`visible`:`hidden`,...a,ref:u,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:c(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;s.onThumbPointerDown({x:n,y:r})}),onPointerUp:c(e.onPointerUp,s.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),kt=`ScrollAreaCorner`,At=A.forwardRef(I(function(e,t){let n=L(kt,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,M.jsx)(jt,{...e,ref:t}):null},`ScrollAreaCorner`)),jt=A.forwardRef(I(function(e,t){let{__scopeScrollArea:n,...r}=e,a=L(kt,n),[o,s]=A.useState(0),[c,l]=A.useState(0),u=!!(o&&c),{onCornerWidthChange:d,onCornerHeightChange:f}=a;return W(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),l(e)}),W(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),s(e)}),A.useEffect(()=>()=>{d(0),f(0)},[d,f]),u?(0,M.jsx)(i.div,{...r,ref:t,style:{width:o,height:c,position:`absolute`,right:a.dir===`ltr`?0:void 0,left:a.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function B(e){return e?parseInt(e,10):0}I(B,`toInt`);function Mt(e,t){let n=e/t;return isNaN(n)?0:n}I(Mt,`getThumbRatio`);function V(e){let t=Mt(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}I(V,`getThumbSize`);function Nt(e,t,n,r=`ltr`){let i=V(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return H([c,l],d)(e)}I(Nt,`getScrollPositionFromPointer`);function Pt(e,t,n=`ltr`){let r=V(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=O(e,c);return H([0,o],[0,s])(l)}I(Pt,`getThumbOffsetFromScroll`);function H(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}I(H,`linearScale`);function Ft(e,t){return e>0&&e<t}I(Ft,`isScrollingWithinScrollbarBounds`);var It=I((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return I((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function U(e,t){let n=s(e),r=A.useRef(0);return A.useEffect(()=>()=>window.clearTimeout(r.current),[]),A.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}I(U,`useDebounceCallback`);function W(e,t){let n=s(t);a(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}I(W,`useResizeObserver`);var Lt=pt,Rt=ht,zt=At;function Bt({className:e,children:n,...r}){return(0,M.jsxs)(Lt,{className:t(`relative overflow-hidden`,e),...r,children:[(0,M.jsx)(Rt,{className:`h-full w-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:ring-3 focus-visible:ring-ring`,children:n}),(0,M.jsx)(Vt,{}),(0,M.jsx)(zt,{})]})}function Vt({className:e,orientation:n=`vertical`,...r}){return(0,M.jsx)(_t,{orientation:n,className:t(`flex touch-none select-none transition-colors`,n===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,n===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,e),...r,children:(0,M.jsx)(Dt,{className:`relative flex-1 rounded-full bg-border`})})}var Ht=[`messages`,`inputMessages`,`input_messages`,`outputMessages`,`output_messages`,`chatHistory`,`chat_history`,`history`,`prompt`,`output`,`choice`],Ut=[`tools`,`functions`,`toolSchemas`,`tool_schemas`];function Wt(e,t){let n=[],r=[],i=t===`output`?`assistant`:`user`;if(Array.isArray(e)){let t=[];return e.forEach((e,r)=>{let a=K(e,`message:${r}`,i);a===void 0?t.push(e):n.push(a)}),{messages:n,tools:r,additional:t.length>0?t:void 0,hasMessages:n.length>0}}if(!v(e))return{messages:n,tools:r,additional:e,hasMessages:!1};let a=K(e,`message:direct`);if(a!==void 0){let t=new Set([`role`,`type`,`content`,`text`,`message`,`result`,`output`,`value`,`tool_calls`,`toolCalls`,`toolName`,`input`,`arguments`]),n=Object.entries(e).filter(([e])=>!t.has(e));return{messages:[a],tools:r,additional:n.length>0?Object.fromEntries(n):void 0,hasMessages:!0}}let o=new Set;typeof e.instructions==`string`&&e.instructions.trim().length>0&&(n.push({key:`instructions`,role:`system`,content:e.instructions,toolCalls:[]}),o.add(`instructions`));for(let t of Ht){let r=e[t];if(Array.isArray(r)){let e=r.map((e,n)=>K(e,`${t}:${n}`,i)).filter(e=>e!==void 0);e.length>0&&(n.push(...e),o.add(t));continue}let a=K(r,`${t}:direct`,i);a!==void 0&&(n.push(a),o.add(t))}if(Array.isArray(e.choices)){let t=e.choices.map((e,t)=>{if(v(e))return K(e.message??e.delta??e,`choices:${t}`,`assistant`)}).filter(e=>e!==void 0);t.length>0&&(n.push(...t),o.add(`choices`))}for(let t of Ut){let n=e[t];Array.isArray(n)&&(r.push(...n.map((e,n)=>q(e,`${t}:${n}`))),o.add(t))}let s=Object.entries(e).filter(([e])=>!o.has(e));return{messages:n,tools:r,additional:s.length>0?Object.fromEntries(s):void 0,hasMessages:n.length>0}}function Gt(e){let t=[],n=(e,r)=>{if(Array.isArray(e)){e.length===0&&t.push({path:r,label:r||`Value`,value:e}),e.forEach((e,t)=>n(e,r?`${r}.${t}`:String(t)));return}if(v(e)){let i=Object.entries(e);i.length===0&&t.push({path:r,label:r||`Value`,value:e}),i.forEach(([e,t])=>n(t,r?`${r}.${e}`:e));return}t.push({path:r,label:r?qt(r.split(`.`).at(-1)??r):`Value`,value:e})};return n(e,``),t}function G(e){return e===null?`null`:e===void 0?`undefined`:typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):Kt(e)}function Kt(e){try{return JSON.stringify(e,null,2)??`undefined`}catch{return String(e)}}function qt(e){return e.replace(/[_-]+/g,` `).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).trim().replace(/\b\w/g,e=>e.toUpperCase())}function K(e,t,n){if(!v(e))return;let r=Yt(e)??(Jt(e)?n:void 0);if(r!==void 0)return{key:t,role:r,content:Xt(e.content??e.text??e.message??e.result??e.output??e.value),toolCalls:[...Zt(e.tool_calls,`${t}:tool-call`),...Zt(e.toolCalls,`${t}:tool-calls`),...Qt(e.content,`${t}:content-tool-call`),...J(e)?[q(e,`${t}:tool`)]:[]]}}function Jt(e){return`content`in e||`text`in e||`message`in e||`result`in e||`output`in e||`value`in e||`tool_calls`in e||`toolCalls`in e||J(e)}function Yt(e){if(typeof e.role==`string`)return e.role.toLowerCase();if(e.type===`reasoning`)return`reasoning`;if(J(e))return`tool`}function Xt(e){if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);if(Array.isArray(e))return e.map(e=>v(e)?J(e)?``:typeof e.text==`string`?e.text:typeof e.content==`string`?e.content:e.type===`image`||e.type===`image_url`?`[Image]`:e.type===`file`?`[File]`:e.type===`audio`?`[Audio]`:G(e):Xt(e)).filter(Boolean).join(`
|
|
2
|
-
`);if(v(e)){if(typeof e.text==`string`)return e.text;if(typeof e.content==`string`)return e.content}return G(e)}function Zt(e,t){return Array.isArray(e)?e.map((e,n)=>q(e,`${t}:${n}`)):[]}function Qt(e,t){return Array.isArray(e)?e.filter(e=>v(e)&&J(e)).map((e,n)=>q(e,`${t}:${n}`)):[]}function q(e,t){if(!v(e))return{key:t,name:`Tool`,value:e};let n=v(e.function)?e.function:void 0,r=Y(e.toolName)??Y(e.name)??Y(n?.name)??(typeof e.type==`string`?qt(e.type):`Tool`),i=Y(e.description)??Y(n?.description),a={key:t,name:r,value:$t(n?.arguments??e.arguments??e.input??e.result??e.output??e.value??e.content??e)};return i!==void 0&&(a.description=i),a}function $t(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return e}}function J(e){return[`tool_call`,`server_tool_call`,`tool_result`,`server_tool_result`,`tool-call`,`server-tool-call`,`tool-result`,`server-tool-result`].includes(String(e.type))}function Y(e){return typeof e==`string`&&e.length>0?e:void 0}var en=1e5;function X(e){let t=(0,A.useMemo)(()=>Kt(e.value),[e.value]),n=t.length>en,r=(0,A.useMemo)(()=>e.field!==`input`&&e.field!==`output`||n?void 0:Wt(e.value,e.field),[e.field,e.value,n]),i=(0,A.useMemo)(()=>n?[{id:`raw`,label:e.field===`metadata`?`JSON`:`Raw`}]:e.field===`metadata`?[{id:`table`,label:`Table`},{id:`raw`,label:`JSON`}]:r?.hasMessages?[{id:`readable`,label:e.field===`output`?`Response`:`Messages`},{id:`structure`,label:`Structure`},{id:`raw`,label:`Raw`}]:[{id:`structure`,label:`Structure`},{id:`raw`,label:`Raw`}],[r?.hasMessages,e.field,n]),[a,o]=(0,A.useState)(()=>i[0]?.id??`raw`),s=i.some(e=>e.id===a)?a:i[0]?.id??`raw`,c=e.value===null||e.value===void 0?(0,M.jsx)(un,{}):n?(0,M.jsx)(ln,{json:t,title:e.title,truncated:!0}):s===`raw`?(0,M.jsx)(ln,{json:t,title:e.title}):s===`table`?(0,M.jsx)(on,{value:e.value}):s===`readable`&&r?.hasMessages?(0,M.jsx)(nn,{additional:r.additional,messages:r.messages,tools:r.tools}):(0,M.jsx)(Ae,{value:e.value});if(e.field===`metadata`){let t=n||e.value===null||e.value===void 0?0:Gt(e.value).length;return(0,M.jsxs)(`details`,{className:`group grid min-w-0 gap-3`,children:[(0,M.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 rounded-sm py-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-3 [&::-webkit-details-marker]:hidden`,children:[(0,M.jsx)(D,{icon:j,"aria-hidden":`true`,className:`size-3.5 text-muted-foreground transition-transform group-open:rotate-90`}),(0,M.jsx)(`h3`,{className:`m-0 text-sm font-semibold`,children:e.title}),(0,M.jsx)(`span`,{className:`ml-auto font-mono text-[10px] uppercase tracking-wide text-muted-foreground`,children:n?`Large payload`:`${t} ${t===1?`field`:`fields`}`})]}),(0,M.jsxs)(`div`,{className:`grid gap-3 pl-5`,children:[(0,M.jsx)(tn,{options:i,value:s,onChange:o}),c]})]})}return(0,M.jsxs)(`section`,{className:`grid min-w-0 gap-3`,"aria-label":`${e.title} payload`,children:[(0,M.jsxs)(`header`,{className:`flex min-w-0 items-center gap-3`,children:[(0,M.jsx)(`h3`,{className:`m-0 text-sm font-semibold`,children:e.title}),(0,M.jsx)(`div`,{className:`ml-auto`,children:(0,M.jsx)(tn,{options:i,value:s,onChange:o})})]}),c]})}function tn(e){return e.options.length<2?null:(0,M.jsx)(`fieldset`,{className:`flex h-7 shrink-0 items-center rounded-md border p-0.5`,"aria-label":`Field view`,children:e.options.map(n=>(0,M.jsx)(`button`,{"aria-pressed":e.value===n.id,className:t(`h-5 rounded px-2 font-mono text-[10px] font-medium uppercase tracking-wide text-muted-foreground`,e.value===n.id&&`bg-accent text-foreground`),type:`button`,onClick:()=>e.onChange(n.id),children:n.label},n.id))})}function nn(e){return(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-5`,children:[(0,M.jsx)(`div`,{className:`grid gap-5`,children:e.messages.map(e=>(0,M.jsxs)(`article`,{className:`grid min-w-0 grid-cols-[6.5rem_minmax(0,1fr)] gap-3 max-sm:grid-cols-1`,children:[(0,M.jsx)(`div`,{className:`pt-0.5`,children:(0,M.jsx)(rn,{role:e.role})}),(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-3`,children:[e.content.length>0?(0,M.jsx)(`p`,{className:`m-0 whitespace-pre-wrap break-words text-sm leading-6`,children:e.content}):e.toolCalls.length===0?(0,M.jsx)(`span`,{className:`text-sm italic text-muted-foreground`,children:`No text content`}):null,e.toolCalls.map(e=>(0,M.jsx)(an,{tool:e,label:`Tool call`},e.key))]})]},e.key))}),e.tools.length>0?(0,M.jsxs)(`section`,{children:[(0,M.jsxs)(`p`,{className:`mb-3 font-mono text-[10px] font-semibold uppercase tracking-wide text-muted-foreground`,children:[`Available tools · `,e.tools.length]}),(0,M.jsx)(`div`,{className:`grid gap-2`,children:e.tools.map(e=>(0,M.jsx)(an,{tool:e,label:`Definition`},e.key))})]}):null,e.additional===void 0?null:(0,M.jsxs)(`details`,{className:`group/additional`,children:[(0,M.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 text-xs font-medium text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-3 [&::-webkit-details-marker]:hidden`,children:[(0,M.jsx)(D,{icon:j,"aria-hidden":`true`,className:`size-3 transition-transform group-open/additional:rotate-90`}),`Additional fields`]}),(0,M.jsx)(`div`,{className:`mt-3 border-l pl-4`,children:(0,M.jsx)(sn,{value:e.additional})})]})]})}function rn({role:e}){return(0,M.jsx)(te,{className:t(`border-hair bg-status-neutral-fill text-status-neutral-ink`,e===`tool`&&`border-tone-tool bg-transparent text-tone-tool`,e===`assistant`&&`text-foreground`),children:qt(e)})}function an(e){return(0,M.jsxs)(`details`,{className:`border-l-2 border-tone-tool pl-3`,children:[(0,M.jsxs)(`summary`,{className:`cursor-pointer list-none py-1 text-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-3 [&::-webkit-details-marker]:hidden`,children:[(0,M.jsx)(`span`,{className:`font-mono text-[10px] uppercase tracking-wide text-muted-foreground`,children:e.label}),` `,(0,M.jsx)(`span`,{className:`font-semibold`,children:e.tool.name}),e.tool.description?(0,M.jsx)(`span`,{className:`ml-2 text-muted-foreground`,children:e.tool.description}):null]}),(0,M.jsx)(`div`,{className:`py-2`,children:(0,M.jsx)(sn,{value:e.tool.value})})]})}function on({value:e}){let t=(0,A.useId)(),n=(0,A.useMemo)(()=>Gt(e),[e]),[r,i]=(0,A.useState)(``),a=r.trim().toLowerCase(),o=a?n.filter(e=>e.path.toLowerCase().includes(a)||G(e.value).toLowerCase().includes(a)):n;return(0,M.jsxs)(`div`,{className:`grid gap-2`,children:[(0,M.jsxs)(`label`,{className:`relative block`,htmlFor:t,children:[(0,M.jsx)(D,{icon:T,"aria-hidden":`true`,className:`pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,M.jsx)(ne,{"aria-label":`Search metadata`,className:`h-8 pl-8 font-mono text-xs`,id:t,placeholder:`Search metadata`,value:r,onChange:e=>i(e.currentTarget.value)})]}),(0,M.jsx)(`div`,{className:`min-w-0 overflow-hidden`,children:o.length>0?(0,M.jsx)(`dl`,{className:`grid gap-1`,children:o.map(e=>(0,M.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(8rem,0.42fr)_minmax(0,1fr)] gap-4 py-2 text-xs max-sm:grid-cols-1 max-sm:gap-1`,children:[(0,M.jsx)(`dt`,{className:`break-all font-mono text-muted-foreground`,title:e.path,children:e.path||e.label}),(0,M.jsx)(`dd`,{className:`m-0 whitespace-pre-wrap break-words font-mono`,children:G(e.value)})]},e.path))}):(0,M.jsx)(`p`,{className:`py-6 text-center text-sm text-muted-foreground`,children:`No matching fields`})})]})}function sn({value:e}){if(Array.isArray(e))return e.length===0?(0,M.jsx)(Z,{value:e}):(0,M.jsx)(`div`,{className:`grid gap-1`,children:e.map((e,t)=>(0,M.jsx)(cn,{depth:0,label:String(t),value:e},`${t}:${Kt(e).slice(0,80)}`))});if(v(e)){let t=Object.entries(e);return t.length===0?(0,M.jsx)(Z,{value:e}):(0,M.jsx)(`div`,{className:`grid gap-1`,children:t.map(([e,t])=>(0,M.jsx)(cn,{depth:0,label:e,value:t},e))})}return(0,M.jsx)(Z,{value:e})}function cn(e){if(!(Array.isArray(e.value)||v(e.value)))return(0,M.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[minmax(7rem,0.34fr)_minmax(0,1fr)] gap-4 py-2 text-xs max-sm:grid-cols-1 max-sm:gap-1`,children:[(0,M.jsx)(`span`,{className:`break-all font-mono text-muted-foreground`,children:e.label}),(0,M.jsx)(Z,{value:e.value})]});let t=Array.isArray(e.value)?e.value.map((e,t)=>[String(t),e]):v(e.value)?Object.entries(e.value):[];return(0,M.jsxs)(`details`,{open:e.depth<1,className:`group/row py-2`,children:[(0,M.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 font-mono text-xs focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-3 [&::-webkit-details-marker]:hidden`,children:[(0,M.jsx)(D,{icon:j,"aria-hidden":`true`,className:`size-3 text-muted-foreground transition-transform group-open/row:rotate-90`}),(0,M.jsx)(`span`,{children:e.label}),(0,M.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:Array.isArray(e.value)?`${t.length} items`:`${t.length} fields`})]}),(0,M.jsx)(`div`,{className:`ml-1.5 mt-2 grid gap-1 border-l pl-4`,children:t.length>0?t.map(([t,n])=>(0,M.jsx)(cn,{depth:e.depth+1,label:t,value:n},`${e.label}:${t}`)):(0,M.jsx)(Z,{value:e.value})})]})}function Z({value:e}){return(0,M.jsx)(`span`,{className:t(`min-w-0 whitespace-pre-wrap break-words font-mono text-xs`,e==null&&`code-comment`,typeof e==`string`&&`code-string`,typeof e==`number`&&`code-number`,typeof e==`boolean`&&`code-literal`),children:G(e)})}function ln(e){let[n,r]=(0,A.useState)(!1),i=e.truncated?e.json.slice(0,en):e.json;return(0,M.jsxs)(`div`,{className:`relative min-w-0 rounded-lg border bg-muted`,children:[e.truncated?(0,M.jsxs)(`p`,{className:`m-0 border-b px-3 py-2 text-xs text-muted-foreground`,children:[`Large payload · showing the first `,en.toLocaleString(),` `,`characters`]}):null,(0,M.jsx)(_,{"aria-label":`Copy ${e.title} JSON`,className:`absolute right-2 top-2 z-10`,size:`icon`,title:n?`Copied`:`Copy JSON`,type:`button`,variant:`secondary`,onClick:()=>{let t=navigator.clipboard?.writeText(e.json);t!==void 0&&t.then(()=>{r(!0),window.setTimeout(()=>r(!1),1500)},()=>void 0)},children:(0,M.jsx)(D,{icon:n?C:w,"aria-hidden":`true`})}),(0,M.jsxs)(`pre`,{className:`m-0 max-h-[32rem] overflow-auto p-4 pr-12 font-mono text-xs leading-5 text-foreground`,children:[ze(i).map(e=>(0,M.jsx)(`span`,{className:t(e.type===`key`&&`code-keyword`,e.type===`string`&&`code-string`,e.type===`number`&&`code-number`,e.type===`boolean`&&`code-literal`,e.type===`null`&&`code-comment`),children:e.text},e.start)),e.truncated?`
|
|
3
|
-
… display truncated`:null]})]})}function un(){return(0,M.jsx)(`div`,{className:`border-y border-dashed px-4 py-6 text-center text-sm text-muted-foreground`,children:`No data captured`})}function dn(e){if(!e.tracesEnabled)return(0,M.jsx)(k,{className:`h-full`,title:`Tracing unavailable`,text:`This Studio runtime does not expose traces.`});let t=e.selectedTraceId.length===0?void 0:e.traces.find(t=>t.id===e.selectedTraceId),n=t===void 0||e.traceSessionDetailId!==t.sessionId?[]:e.traces.filter(e=>e.sessionId===t.sessionId);return(0,M.jsx)(`section`,{className:`grid h-full min-h-0 w-full content-stretch`,"aria-label":`Tracing`,children:e.selectedTraceId.length===0?(0,M.jsx)(fn,{agents:e.agents,traces:e.traces,traceLoadState:e.traceLoadState,onSelectTrace:e.onSelectTrace}):(0,M.jsx)(pn,{selectedTrace:t,selectedSessionTraces:n,selectedTraceId:e.selectedTraceId,traceLoadState:e.traceLoadState,onBack:()=>e.onSelectTrace(``),onShowSessionTraces:e.onShowSessionTraces})})}function fn(e){return e.traces.length===0?(0,M.jsx)(k,{title:e.traceLoadState===`loading`?`Loading traces`:`No traces found`,text:e.traceLoadState===`loading`?`Reading runtime trace records.`:`Run an agent to populate the tracing timeline.`}):(0,M.jsx)(ot,{className:`min-h-0 overflow-hidden rounded-none border-0 bg-background p-0`,"aria-label":`Traces`,children:(0,M.jsx)(Bt,{className:`h-full min-h-0`,children:(0,M.jsxs)(`div`,{className:`grid min-w-280`,children:[(0,M.jsxs)(`div`,{className:`sticky top-0 z-10 grid min-h-11 grid-cols-[minmax(220px,1.3fr)_150px_120px_120px_120px_120px_110px_90px] items-center gap-4 border-b bg-header px-4 text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground backdrop-blur`,children:[(0,M.jsx)(`span`,{children:`Trace`}),(0,M.jsx)(`span`,{children:`Session`}),(0,M.jsx)(`span`,{children:`Agent`}),(0,M.jsx)(`span`,{children:`Status`}),(0,M.jsx)(`span`,{children:`Started`}),(0,M.jsx)(`span`,{children:`Duration`}),(0,M.jsx)(`span`,{children:`First delta`}),(0,M.jsx)(`span`,{children:`Events`})]}),e.traces.map(t=>(0,M.jsxs)(_,{className:`grid h-auto min-h-14 w-full grid-cols-[minmax(220px,1.3fr)_150px_120px_120px_120px_120px_110px_90px] items-center justify-start gap-4 whitespace-normal rounded-none border-0 border-b bg-transparent px-4 py-2.5 text-left text-muted-foreground shadow-none transition duration-200 hover:bg-transparent hover:text-foreground`,type:`button`,variant:`ghost`,onClick:()=>e.onSelectTrace(t.id),children:[(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium text-muted-foreground`,children:t.id}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:t.sessionId}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:u(e.agents,t)}),(0,M.jsx)(hn,{status:t.status}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:f(t.startedAt)}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:m(d(t.durationMs))}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium`,children:m(d(P(t.observations)))}),(0,M.jsx)(`span`,{className:`min-w-0 truncate text-xs font-medium tabular-nums`,children:t.observationCount})]},t.id))]})})})}function pn(e){let n=e.selectedTrace?.observations[0]?.kind??`trace`;return(0,M.jsxs)(`div`,{className:`grid h-full min-h-0 min-w-0 grid-rows-[auto_minmax(0,1fr)] overflow-hidden bg-background`,children:[(0,M.jsxs)(`header`,{className:`shrink-0 border-b bg-background px-4 py-3`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,M.jsx)(_,{"aria-label":`Back to traces`,className:`mt-0.5 text-muted-foreground hover:text-foreground`,size:`icon`,type:`button`,variant:`ghost`,onClick:e.onBack,children:(0,M.jsx)(D,{icon:pe,"aria-hidden":`true`})}),(0,M.jsx)(`span`,{className:t(`grid size-9 shrink-0 place-items-center rounded-lg [&_svg]:size-4`,F(n)),children:(0,M.jsx)(nt,{tone:n})}),(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(`h1`,{className:`truncate text-lg font-semibold tracking-tight`,children:mn(e.selectedTrace)}),e.selectedTrace?(0,M.jsx)(hn,{status:e.selectedTrace.status}):null]}),(0,M.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1 text-xs text-muted-foreground`,children:e.selectedTrace===void 0?e.traceLoadState===`loading`?`Loading trace`:`Trace not found`:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{children:f(e.selectedTrace.startedAt)}),(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,M.jsx)(`span`,{className:`font-mono`,title:e.selectedTraceId,children:e.selectedTraceId})]})})]})]}),e.selectedTrace?(0,M.jsxs)(`dl`,{className:`mt-3 grid grid-cols-2 gap-x-6 gap-y-3 border-t pt-3 sm:grid-cols-4`,children:[(0,M.jsx)(Q,{label:`Duration`,value:d(e.selectedTrace.durationMs)}),(0,M.jsx)(Q,{label:`Spans`,value:String(e.selectedTrace.observationCount)}),(0,M.jsx)(Q,{label:`Tokens`,value:m(h(e.selectedTrace.usage))}),(0,M.jsx)(Q,{label:`Session`,value:e.selectedTrace.sessionId,mono:!0})]}):null]}),(0,M.jsx)(`div`,{className:`min-h-0 min-w-0 overflow-hidden`,children:e.selectedTrace===void 0?(0,M.jsx)(k,{className:`h-full rounded-none`,title:e.traceLoadState===`loading`?`Loading trace`:`Trace not found`,text:e.traceLoadState===`loading`?`Reading the selected trace.`:`The selected trace is not available in this Studio runtime.`}):(0,M.jsx)(gn,{traces:e.selectedSessionTraces.length>0?e.selectedSessionTraces:[e.selectedTrace],onShowSessionTraces:e.onShowSessionTraces})})]})}function mn(e){return e?.name?e.name:v(e?.metadata)&&typeof e.metadata.agentName==`string`?e.metadata.agentName:`Trace detail`}function Q(e){return(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,M.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e.label}),(0,M.jsx)(`dd`,{className:t(`truncate text-sm font-medium tabular-nums`,e.mono&&`font-mono`),children:e.value})]})}function hn({status:e}){return(0,M.jsx)(te,{className:t(`border-0 capitalize`,e===`success`&&`bg-status-success-fill text-status-success-ink`,e===`error`&&`bg-status-danger-fill text-status-danger-ink`,(e===`running`||e===`suspended`||e===`cancelled`)&&`bg-status-pending-fill text-status-pending-ink`,e!==`success`&&e!==`error`&&e!==`running`&&e!==`suspended`&&e!==`cancelled`&&`bg-status-neutral-fill text-status-neutral-ink`),children:e})}function gn(e){let t=(0,A.useMemo)(()=>[...e.traces].sort((e,t)=>Date.parse(e.startedAt)-Date.parse(t.startedAt)),[e.traces]),n=t[0]?.id??``,[r,i]=(0,A.useState)(n),[a,o]=(0,A.useState)(`agent`),[s,c]=(0,A.useState)(()=>new Set),[l,u]=(0,A.useState)(``);(0,A.useEffect)(()=>{i(n),o(`agent`)},[n]);let f=t.find(e=>e.id===r)??t[0],p=f===void 0?[]:Ve(f),m=(e,t)=>{i(e),o(t)},h=l.trim().toLowerCase(),g=h.length===0?[]:t.flatMap(e=>e.observations.filter(e=>[e.name,e.kind,e.id].some(e=>e.toLowerCase().includes(h))).map(t=>({trace:e,observation:t}))),v=t.map(e=>`${e.id}:agent`),y=v.length>0&&v.every(e=>s.has(e)),b=e=>{c(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return f===void 0?(0,M.jsx)(k,{className:`h-full rounded-none`,title:`No trace selected`,text:`Choose a trace to inspect its spans and metadata.`}):(0,M.jsx)(`section`,{className:`grid h-full min-h-0 w-full content-stretch overflow-hidden bg-background`,"aria-label":`Traces`,children:(0,M.jsxs)(`div`,{className:`grid h-full min-h-0 grid-cols-[minmax(280px,36%)_minmax(420px,64%)] overflow-hidden max-md:grid-cols-1`,children:[(0,M.jsxs)(`nav`,{className:`flex h-full min-h-0 flex-col border-r bg-background max-md:max-h-80 max-md:border-b max-md:border-r-0`,"aria-label":`Trace timeline`,children:[(0,M.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 border-b p-1.5`,children:[(0,M.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,M.jsx)(D,{icon:T,"aria-hidden":`true`,className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,M.jsx)(ne,{"aria-label":`Search spans`,className:`h-8 border-0 bg-transparent pl-7 shadow-none focus-visible:ring-1`,placeholder:`Search spans`,value:l,onChange:e=>u(e.target.value)})]}),(0,M.jsx)(_,{"aria-label":y?`Expand all spans`:`Collapse all spans`,className:`size-8`,size:`icon`,title:y?`Expand all`:`Collapse all`,variant:`ghost`,onClick:()=>c(y?new Set:new Set(v)),children:(0,M.jsx)(D,{icon:y?he:Oe,"aria-hidden":`true`})})]}),(0,M.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto overscroll-contain px-2 py-1`,children:h.length>0?g.length>0?g.map(({trace:e,observation:t})=>(0,M.jsx)($,{active:f.id===e.id&&a===`observation:${t.id}`,ancestorLevels:[],hasChildren:!1,isLastSibling:!0,level:0,tone:t.kind,title:et(t),subtitle:d(t.durationMs),onSelect:()=>m(e.id,`observation:${t.id}`)},`${e.id}:${t.id}`)):(0,M.jsxs)(`div`,{className:`grid place-items-center gap-1 p-6 text-center`,children:[(0,M.jsx)(`span`,{className:`text-sm font-medium`,children:`No matching spans`}),(0,M.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Search by name, kind, or ID.`})]}):t.map(e=>{let n=f.id===e.id,r=Ve(e),i=`${e.id}:agent`,o=s.has(i);return(0,M.jsxs)(`div`,{className:`contents`,children:[(0,M.jsx)($,{active:n&&a===`agent`,ancestorLevels:[],hasChildren:r.length>0,isLastSibling:!0,level:0,tone:`agent`,title:t.length>1?e.name??`agent.run`:`agent.run`,subtitle:d(e.durationMs),collapsed:o,onSelect:()=>m(e.id,`agent`),onToggle:()=>b(i)}),o?null:r.map(t=>{let i=`${e.id}:turn:${t.turn}`,o=s.has(i);return(0,M.jsxs)(`div`,{className:`contents`,children:[(0,M.jsx)($,{active:n&&a===`turn:${t.turn}`,ancestorLevels:[],hasChildren:t.observations.length>0,isLastSibling:t.turn===r.at(-1)?.turn,level:1,tone:`turn`,title:`turn.${t.turn}`,subtitle:d(t.durationMs),collapsed:o,onSelect:()=>m(e.id,`turn:${t.turn}`),onToggle:()=>b(i)}),o?null:(0,M.jsx)(vn,{activeKey:a,collapsed:s,isLastTurn:t.turn===r.at(-1)?.turn,observations:t.observations,onSelect:t=>m(e.id,`observation:${t}`),onToggle:b,traceActive:n})]},i)})]},e.id)})})]}),(0,M.jsx)(bn,{trace:f,turns:p,activeKey:a,onShowSessionTraces:e.onShowSessionTraces})]})})}function $(e){return(0,M.jsxs)(`div`,{className:t(`group flex min-w-0 items-stretch text-muted-foreground hover:bg-transparent hover:text-foreground`,e.active&&`bg-row-selected text-foreground`),children:[(0,M.jsxs)(`button`,{"aria-current":e.active?`true`:void 0,className:`flex min-w-0 flex-1 items-stretch text-left`,type:`button`,onClick:e.onSelect,children:[(0,M.jsx)(_n,{ancestorLevels:e.ancestorLevels,hasChildren:e.hasChildren,isLastSibling:e.isLastSibling,level:e.level,tone:e.tone}),(0,M.jsxs)(`span`,{className:`grid min-w-0 flex-1 content-center py-1.5 pr-2`,children:[(0,M.jsx)(`span`,{className:`truncate text-xs font-medium text-current`,title:e.title,children:e.title}),(0,M.jsx)(`span`,{className:`flex flex-wrap gap-x-2 text-[10px] text-muted-foreground`,children:e.subtitle})]})]}),e.hasChildren&&e.onToggle?(0,M.jsx)(`button`,{"aria-expanded":!e.collapsed,"aria-label":e.collapsed?`Expand ${e.title}`:`Collapse ${e.title}`,className:`m-1 grid size-7 shrink-0 place-items-center rounded-md hover:bg-transparent hover:text-foreground`,type:`button`,onClick:e.onToggle,children:(0,M.jsx)(D,{icon:j,"aria-hidden":`true`,className:t(`size-3.5 transition-transform`,!e.collapsed&&`rotate-90`)})}):null]})}function _n(e){let n=e.level*20;return(0,M.jsxs)(`span`,{className:`relative shrink-0`,"data-tree-depth":e.level,style:{width:`${(e.level+1)*20+4}px`},children:[e.ancestorLevels.map(e=>(0,M.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-border`,"data-tree-line":`ancestor`,style:{left:`${e*20+10}px`}},`ancestor-line-${e}`)),e.level>0?e.isLastSibling?(0,M.jsx)(`span`,{className:`absolute top-0 h-1/2 rounded-bl-sm border-b border-l border-border`,"data-tree-line":`elbow`,style:{left:`${(e.level-1)*20+10}px`,width:`20px`}}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`span`,{className:`absolute inset-y-0 w-px bg-border`,"data-tree-line":`sibling-continuation`,style:{left:`${(e.level-1)*20+10}px`}}),(0,M.jsx)(`span`,{className:`absolute top-1/2 h-px bg-border`,"data-tree-line":`elbow`,style:{left:`${(e.level-1)*20+10}px`,width:`20px`}})]}):null,e.hasChildren?(0,M.jsx)(`span`,{className:`absolute bottom-0 w-px bg-border`,"data-tree-line":`children`,style:{left:`${n+10}px`,top:`calc(50% + 0.5rem)`}}):null,(0,M.jsx)(`span`,{className:t(`absolute top-1/2 grid size-4 -translate-y-1/2 place-items-center rounded-sm [&_svg]:size-2.5`,F(e.tone)),style:{left:`${n+2}px`},children:(0,M.jsx)(nt,{tone:e.tone})})]})}function vn(e){let t=He(e.observations);return(0,M.jsx)(M.Fragment,{children:t.map((n,r)=>(0,M.jsx)(yn,{activeKey:e.activeKey,ancestorLevels:e.isLastTurn?[]:[0],collapsed:e.collapsed,isLastSibling:r===t.length-1,level:2,node:n,onSelect:e.onSelect,onToggle:e.onToggle,traceActive:e.traceActive},n.observation.id))})}function yn(e){let t=rt(e.node.observation),n=`observation:${e.node.observation.id}`,r=e.collapsed.has(n),i=e.isLastSibling?e.ancestorLevels:[...e.ancestorLevels,e.level];return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)($,{active:e.traceActive&&e.activeKey===`observation:${e.node.observation.id}`,ancestorLevels:e.ancestorLevels,hasChildren:e.node.children.length>0,isLastSibling:e.isLastSibling,level:e.level,tone:e.node.observation.kind,title:et(e.node.observation),subtitle:t.length>0?`${d(e.node.observation.durationMs)} · ${t}`:d(e.node.observation.durationMs),collapsed:r,onSelect:()=>e.onSelect(e.node.observation.id),onToggle:()=>e.onToggle(n)}),r?null:e.node.children.map((t,n)=>(0,M.jsx)(yn,{activeKey:e.activeKey,ancestorLevels:i,collapsed:e.collapsed,isLastSibling:n===e.node.children.length-1,level:e.level+1,node:t,onSelect:e.onSelect,onToggle:e.onToggle,traceActive:e.traceActive},t.observation.id))]})}function bn(e){let n=Ue(e.trace,e.turns,e.activeKey);return(0,M.jsxs)(`section`,{className:`grid min-h-0 grid-rows-[auto_minmax(0,1fr)] overflow-hidden bg-background`,"aria-label":`Trace detail`,children:[(0,M.jsx)(`header`,{className:`shrink-0 border-b px-4 py-4 md:px-6`,children:(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-4`,children:[(0,M.jsx)(`div`,{className:`flex min-w-0 flex-wrap items-start justify-between gap-3`,children:(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,M.jsx)(`span`,{className:t(`grid size-9 shrink-0 place-items-center rounded-lg [&_svg]:size-4`,F(n.tone)),children:(0,M.jsx)(nt,{tone:n.tone})}),(0,M.jsxs)(`div`,{className:`grid min-w-0 gap-1`,children:[(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(`h2`,{className:`m-0 min-w-0 truncate text-xl font-semibold tracking-tight`,children:n.title}),(0,M.jsx)(hn,{status:n.status})]}),(0,M.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:n.startedAt})]})]})}),(0,M.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,M.jsx)(xn,{icon:(0,M.jsx)(D,{icon:be,"aria-hidden":`true`}),label:`Duration`,value:d(n.durationMs)}),n.firstDeltaMs===void 0?null:(0,M.jsx)(xn,{icon:(0,M.jsx)(D,{icon:Ee,"aria-hidden":`true`}),label:`First delta`,value:d(n.firstDeltaMs)}),n.usage.length===0?null:(0,M.jsx)(xn,{icon:(0,M.jsx)(D,{icon:_e,"aria-hidden":`true`}),label:`Usage`,value:n.usage}),(0,M.jsxs)(`button`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-muted px-2.5 py-1.5 text-xs hover:border-foreground hover:bg-transparent`,type:`button`,onClick:()=>e.onShowSessionTraces(e.trace.sessionId),children:[(0,M.jsx)(D,{icon:b,"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:`Session`}),(0,M.jsx)(`span`,{className:`max-w-44 truncate font-mono font-medium`,children:e.trace.sessionId})]})]})]})}),(0,M.jsx)(`div`,{className:`min-w-0 overflow-auto`,children:(0,M.jsxs)(`div`,{className:`grid min-w-0 content-start gap-6 p-6`,children:[n.input===void 0?null:(0,M.jsx)(X,{field:`input`,title:`Input`,value:n.input}),n.output===void 0?null:(0,M.jsx)(X,{field:`output`,title:`Output`,value:n.output}),n.error===void 0?null:(0,M.jsx)(X,{field:`error`,title:`Error`,value:n.error}),(0,M.jsx)(X,{field:`metadata`,title:`Metadata`,value:n.metadata})]})})]})}function xn(e){return(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-md border bg-muted px-2.5 py-1.5 text-xs`,children:[(0,M.jsx)(`span`,{className:`text-muted-foreground [&_svg]:size-3.5`,children:e.icon}),(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,M.jsx)(`span`,{className:`max-w-44 truncate font-mono font-medium`,children:e.value})]})}export{dn as TraceBrowser};
|
|
4
|
-
//# sourceMappingURL=trace-browser-Axd-aif6.js.map
|