@vheins/local-memory-mcp 0.19.17 → 0.19.19
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.
|
@@ -129,7 +129,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
129
129
|
`+u),De&&(u=Ct(u)),x&&Ie?D(u):u},t.setConfig=function(){dt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),Ae=!0,je=he,Me=_e},t.clearConfig=function(){ct=null,Ae=!1,je=null,Me=null,x=C,S=``},t.isValidAttribute=function(e,t,n){return ct||dt({}),jt(st(e),st(t),n)},t.addHook=function(e,t){typeof t==`function`&&rl(ae,e)&&Wc(ae[e],t)},t.removeHook=function(e,t){if(rl(ae,e)){if(t!==void 0){let n=Hc(ae[e],t);return n===-1?void 0:Gc(ae[e],n,1)[0]}return Uc(ae[e])}},t.removeHooks=function(e){rl(ae,e)&&(ae[e]=[])},t.removeAllHooks=function(){ae=Ul()},t}var Kl=Gl();function ql(e){let t=new Date(e),n=Math.floor((new Date().getTime()-t.getTime())/1e3);return n<60?`${n}s ago`:n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:n<604800?`${Math.floor(n/86400)}d ago`:t.toLocaleDateString()}function Jl(e){return e?e>=1e6?(e/1e6).toFixed(1)+`M`:e>=1e3?(e/1e3).toFixed(1)+`k`:e.toString():`0`}function Yl(e){return e.split(/[/ \-_.]/).filter(Boolean).slice(0,2).map(e=>e[0]?.toUpperCase()||``).join(``).slice(0,2)||`RP`}function Xl(e){return{backlog:`status-backlog`,pending:`status-pending`,in_progress:`status-inprogress`,completed:`status-completed`,blocked:`status-blocked`,canceled:`status-canceled`}[e]||`status-default`}function Zl(e){return{backlog:`Backlog`,pending:`To Do`,in_progress:`In Progress`,completed:`Completed`,blocked:`Blocked`,canceled:`Canceled`}[e]||e}function Ql(e){return{1:`Low`,2:`Normal`,3:`Medium`,4:`High`,5:`Critical`}[e]||String(e)}function $l(e){try{let t=Cc.parse(e||``);return Kl.sanitize(t)}catch(t){return console.error(`Markdown render error:`,t),e||``}}function eu(e,t){let n=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,i.click(),URL.revokeObjectURL(r)}function tu(e,t){if(!e.length)return;let n=Object.keys(e[0]),r=[n.join(`,`),...e.map(e=>n.map(t=>JSON.stringify(e[t]??``)).join(`,`))].join(`
|
|
130
130
|
`),i=new Blob([r],{type:`text/csv`}),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=t,o.click(),URL.revokeObjectURL(a)}function nu(e,t){let n;return((...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),t)})}async function ru(e){if(!e)return!1;try{return await navigator.clipboard.writeText(e),!0}catch(e){return console.error(`Failed to copy text: `,e),!1}}function iu(){let e=new Date;return`Chat · ${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`}async function au(e,t){let n=`CHAT-`+Date.now().toString(36).toUpperCase();await Ro.createTask({repo:t,task_code:n,title:iu(),description:e,status:`backlog`,priority:3,phase:`Inbox`}),Oo.update(e=>e+1)}function ou(e){let t=null;function n(t){no.set(t),localStorage.setItem(`selectedRepo`,t),e&&e(t)}function r(e,t){t.preventDefault(),t.stopPropagation(),io.update(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function i(){ro.update(e=>!e)}function a(e,n){t=e,n.dataTransfer&&(n.dataTransfer.effectAllowed=`move`,n.dataTransfer.setData(`text/plain`,e)),n.currentTarget.classList.add(`opacity-50`)}function o(e,n){!t||t===e||(n.preventDefault(),n.dataTransfer&&(n.dataTransfer.dropEffect=`move`))}function s(e,n){n.preventDefault();let r=t||n.dataTransfer?.getData(`text/plain`);!r||r===e||(io.update(t=>{let n=t.filter(e=>e!==r),i=n.indexOf(e);return n.splice(i,0,r),n}),t=null)}function c(e){t=null,e.currentTarget.classList.remove(`opacity-50`),document.querySelectorAll(`.repo-item.drag-over`).forEach(e=>e.classList.remove(`drag-over`))}return{selectRepo:n,togglePin:r,toggleCollapse:i,onDragStart:a,onDragOver:o,onDrop:s,onDragEnd:c,getRepoInitials:Yl}}var su={brain:[{tag:`path`,attrs:{d:`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`}},{tag:`path`,attrs:{d:`M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z`}},{tag:`path`,attrs:{d:`M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4`}},{tag:`path`,attrs:{d:`M17.599 6.5a3 3 0 0 0 .399-1.375`}},{tag:`path`,attrs:{d:`M6.003 5.125A3 3 0 0 0 6.401 6.5`}},{tag:`path`,attrs:{d:`M3.477 10.896a4 4 0 0 1 .585-.396`}},{tag:`path`,attrs:{d:`M19.938 10.5a4 4 0 0 1 .585.396`}},{tag:`path`,attrs:{d:`M6 18a4 4 0 0 1-1.967-.516`}},{tag:`path`,attrs:{d:`M19.967 17.484A4 4 0 0 1 18 18`}}],"layout-dashboard":[{tag:`rect`,attrs:{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`}},{tag:`rect`,attrs:{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`}},{tag:`rect`,attrs:{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`}},{tag:`rect`,attrs:{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`}}],database:[{tag:`ellipse`,attrs:{cx:`12`,cy:`5`,rx:`9`,ry:`3`}},{tag:`path`,attrs:{d:`M3 5V19A9 3 0 0 0 21 19V5`}},{tag:`path`,attrs:{d:`M3 12A9 3 0 0 0 21 12`}}],"clipboard-list":[{tag:`rect`,attrs:{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`}},{tag:`path`,attrs:{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`}},{tag:`path`,attrs:{d:`M12 11h4`}},{tag:`path`,attrs:{d:`M12 16h4`}},{tag:`path`,attrs:{d:`M8 11h.01`}},{tag:`path`,attrs:{d:`M8 16h.01`}}],"book-open":[{tag:`path`,attrs:{d:`M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z`}},{tag:`path`,attrs:{d:`M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z`}}],"refresh-cw":[{tag:`path`,attrs:{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}},{tag:`path`,attrs:{d:`M21 3v5h-5`}},{tag:`path`,attrs:{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}},{tag:`path`,attrs:{d:`M8 16H3v5`}}],download:[{tag:`path`,attrs:{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}},{tag:`polyline`,attrs:{points:`7 10 12 15 17 10`}},{tag:`line`,attrs:{x1:`12`,x2:`12`,y1:`15`,y2:`3`}}],upload:[{tag:`path`,attrs:{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}},{tag:`polyline`,attrs:{points:`17 8 12 3 7 8`}},{tag:`line`,attrs:{x1:`12`,x2:`12`,y1:`3`,y2:`15`}}],sun:[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`4`}},{tag:`path`,attrs:{d:`M12 2v2`}},{tag:`path`,attrs:{d:`M12 20v2`}},{tag:`path`,attrs:{d:`m4.93 4.93 1.41 1.41`}},{tag:`path`,attrs:{d:`m17.66 17.66 1.41 1.41`}},{tag:`path`,attrs:{d:`M2 12h2`}},{tag:`path`,attrs:{d:`M20 12h2`}},{tag:`path`,attrs:{d:`m6.34 17.66-1.41 1.41`}},{tag:`path`,attrs:{d:`m19.07 4.93-1.41 1.41`}}],moon:[{tag:`path`,attrs:{d:`M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z`}}],menu:[{tag:`line`,attrs:{x1:`4`,x2:`20`,y1:`12`,y2:`12`}},{tag:`line`,attrs:{x1:`4`,x2:`20`,y1:`6`,y2:`6`}},{tag:`line`,attrs:{x1:`4`,x2:`20`,y1:`18`,y2:`18`}}],"chevron-left":[{tag:`path`,attrs:{d:`m15 18-6-6 6-6`}}],"chevron-right":[{tag:`path`,attrs:{d:`m9 18 6-6-6-6`}}],"chevron-down":[{tag:`path`,attrs:{d:`m6 9 6 6 6-6`}}],"chevron-up":[{tag:`path`,attrs:{d:`m18 15-6-6-6 6`}}],link:[{tag:`path`,attrs:{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}},{tag:`path`,attrs:{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`}}],x:[{tag:`path`,attrs:{d:`M18 6 6 18`}},{tag:`path`,attrs:{d:`m6 6 12 12`}}],plus:[{tag:`path`,attrs:{d:`M5 12h14`}},{tag:`path`,attrs:{d:`M12 5v14`}}],search:[{tag:`circle`,attrs:{cx:`11`,cy:`11`,r:`8`}},{tag:`path`,attrs:{d:`m21 21-4.3-4.3`}}],pin:[{tag:`path`,attrs:{d:`M12.586 2.586a2 2 0 0 1 2.828 0l2 2a2 2 0 0 1 0 2.828l-1.793 1.793-.914 4.57a1 1 0 0 1-.271.51l-1.414 1.414a1 1 0 0 1-1.414 0l-2.122-2.121-4.172 4.171a1 1 0 1 1-1.414-1.414l4.171-4.172-2.12-2.12a1 1 0 0 1 0-1.415l1.413-1.414a1 1 0 0 1 .51-.27l4.57-.915 1.792-1.793Z`}}],star:[{tag:`polygon`,attrs:{points:`12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2`}}],edit:[{tag:`path`,attrs:{d:`M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`}},{tag:`path`,attrs:{d:`M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4Z`}}],trash:[{tag:`path`,attrs:{d:`M3 6h18`}},{tag:`path`,attrs:{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`}},{tag:`path`,attrs:{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`}}],copy:[{tag:`rect`,attrs:{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}},{tag:`path`,attrs:{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}}],"external-link":[{tag:`path`,attrs:{d:`M15 3h6v6`}},{tag:`path`,attrs:{d:`M10 14 21 3`}},{tag:`path`,attrs:{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`}}],filter:[{tag:`polygon`,attrs:{points:`22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3`}}],sliders:[{tag:`line`,attrs:{x1:`4`,x2:`4`,y1:`21`,y2:`14`}},{tag:`line`,attrs:{x1:`4`,x2:`4`,y1:`6`,y2:`3`}},{tag:`line`,attrs:{x1:`12`,x2:`12`,y1:`21`,y2:`12`}},{tag:`line`,attrs:{x1:`12`,x2:`12`,y1:`6`,y2:`3`}},{tag:`line`,attrs:{x1:`20`,x2:`20`,y1:`21`,y2:`16`}},{tag:`line`,attrs:{x1:`20`,x2:`20`,y1:`10`,y2:`3`}},{tag:`line`,attrs:{x1:`1`,x2:`7`,y1:`14`,y2:`14`}},{tag:`line`,attrs:{x1:`9`,x2:`15`,y1:`12`,y2:`12`}},{tag:`line`,attrs:{x1:`17`,x2:`23`,y1:`16`,y2:`16`}}],"circle-dot":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`1`}}],"circle-check":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`path`,attrs:{d:`m9 12 2 2 4-4`}}],"circle-x":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`path`,attrs:{d:`m15 9-6 6`}},{tag:`path`,attrs:{d:`m9 9 6 6`}}],"circle-pause":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`line`,attrs:{x1:`10`,x2:`10`,y1:`15`,y2:`9`}},{tag:`line`,attrs:{x1:`14`,x2:`14`,y1:`15`,y2:`9`}}],"circle-pause-alt":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`path`,attrs:{d:`M10 9v6`}},{tag:`path`,attrs:{d:`M14 9v6`}}],"triangle-alert":[{tag:`path`,attrs:{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z`}},{tag:`path`,attrs:{d:`M12 9v4`}},{tag:`path`,attrs:{d:`M12 17h.01`}}],check:[{tag:`path`,attrs:{d:`M20 6 9 17l-5-5`}}],info:[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`path`,attrs:{d:`M12 16v-4`}},{tag:`path`,attrs:{d:`M12 8h.01`}}],zap:[{tag:`path`,attrs:{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`}}],activity:[{tag:`path`,attrs:{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`}}],memory:[{tag:`rect`,attrs:{x:`4`,y:`4`,width:`16`,height:`16`,rx:`3`}},{tag:`path`,attrs:{d:`M9 12h6`}},{tag:`path`,attrs:{d:`M9 8h4`}},{tag:`path`,attrs:{d:`M9 16h2`}}],"git-branch":[{tag:`line`,attrs:{x1:`6`,x2:`6`,y1:`3`,y2:`15`}},{tag:`circle`,attrs:{cx:`18`,cy:`6`,r:`3`}},{tag:`circle`,attrs:{cx:`6`,cy:`18`,r:`3`}},{tag:`path`,attrs:{d:`M18 9a9 9 0 0 1-9 9`}}],tag:[{tag:`path`,attrs:{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}},{tag:`circle`,attrs:{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}}],user:[{tag:`path`,attrs:{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}},{tag:`circle`,attrs:{cx:`12`,cy:`7`,r:`4`}}],bot:[{tag:`path`,attrs:{d:`M12 8V4H8`}},{tag:`rect`,attrs:{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}},{tag:`path`,attrs:{d:`M2 14h2`}},{tag:`path`,attrs:{d:`M20 14h2`}},{tag:`path`,attrs:{d:`M15 13v2`}},{tag:`path`,attrs:{d:`M9 13v2`}}],code:[{tag:`polyline`,attrs:{points:`16 18 22 12 16 6`}},{tag:`polyline`,attrs:{points:`8 6 2 12 8 18`}}],terminal:[{tag:`polyline`,attrs:{points:`4 17 10 11 4 5`}},{tag:`line`,attrs:{x1:`12`,x2:`20`,y1:`19`,y2:`19`}}],"file-text":[{tag:`path`,attrs:{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`}},{tag:`path`,attrs:{d:`M14 2v4a2 2 0 0 0 2 2h4`}},{tag:`path`,attrs:{d:`M10 9H8`}},{tag:`path`,attrs:{d:`M16 13H8`}},{tag:`path`,attrs:{d:`M16 17H8`}}],layers:[{tag:`path`,attrs:{d:`m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`}},{tag:`path`,attrs:{d:`m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65`}},{tag:`path`,attrs:{d:`m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65`}}],cpu:[{tag:`rect`,attrs:{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`}},{tag:`rect`,attrs:{x:`9`,y:`9`,width:`6`,height:`6`}},{tag:`path`,attrs:{d:`M15 2v2`}},{tag:`path`,attrs:{d:`M15 20v2`}},{tag:`path`,attrs:{d:`M2 15h2`}},{tag:`path`,attrs:{d:`M2 9h2`}},{tag:`path`,attrs:{d:`M20 15h2`}},{tag:`path`,attrs:{d:`M20 9h2`}},{tag:`path`,attrs:{d:`M9 2v2`}},{tag:`path`,attrs:{d:`M9 20v2`}}],clock:[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`polyline`,attrs:{points:`12 6 12 12 16 14`}}],calendar:[{tag:`rect`,attrs:{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,ry:`2`}},{tag:`line`,attrs:{x1:`16`,x2:`16`,y1:`2`,y2:`6`}},{tag:`line`,attrs:{x1:`8`,x2:`8`,y1:`2`,y2:`6`}},{tag:`line`,attrs:{x1:`3`,x2:`21`,y1:`10`,y2:`10`}}],"arrow-up":[{tag:`path`,attrs:{d:`m5 12 7-7 7 7`}},{tag:`path`,attrs:{d:`M12 19V5`}}],"arrow-down":[{tag:`path`,attrs:{d:`M12 5v14`}},{tag:`path`,attrs:{d:`m19 12-7 7-7-7`}}],"arrow-right":[{tag:`path`,attrs:{d:`M5 12h14`}},{tag:`path`,attrs:{d:`m12 5 7 7-7 7`}}],"trending-up":[{tag:`polyline`,attrs:{points:`22 7 13.5 15.5 8.5 10.5 2 17`}},{tag:`polyline`,attrs:{points:`16 7 22 7 22 13`}}],"bar-chart":[{tag:`line`,attrs:{x1:`12`,x2:`12`,y1:`20`,y2:`10`}},{tag:`line`,attrs:{x1:`18`,x2:`18`,y1:`20`,y2:`4`}},{tag:`line`,attrs:{x1:`6`,x2:`6`,y1:`20`,y2:`16`}}],list:[{tag:`line`,attrs:{x1:`8`,x2:`21`,y1:`6`,y2:`6`}},{tag:`line`,attrs:{x1:`8`,x2:`21`,y1:`12`,y2:`12`}},{tag:`line`,attrs:{x1:`8`,x2:`21`,y1:`18`,y2:`18`}},{tag:`line`,attrs:{x1:`3`,x2:`3.01`,y1:`6`,y2:`6`}},{tag:`line`,attrs:{x1:`3`,x2:`3.01`,y1:`12`,y2:`12`}},{tag:`line`,attrs:{x1:`3`,x2:`3.01`,y1:`18`,y2:`18`}}],tool:[{tag:`path`,attrs:{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z`}}],columns:[{tag:`rect`,attrs:{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}},{tag:`line`,attrs:{x1:`12`,x2:`12`,y1:`3`,y2:`21`}}],sparkle:[{tag:`path`,attrs:{d:`M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z`}}],settings:[{tag:`path`,attrs:{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`}},{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`3`}}],wifi:[{tag:`path`,attrs:{d:`M5 12.55a11 11 0 0 1 14.08 0`}},{tag:`path`,attrs:{d:`M1.42 9a16 16 0 0 1 21.16 0`}},{tag:`path`,attrs:{d:`M8.53 16.11a6 6 0 0 1 6.95 0`}},{tag:`line`,attrs:{x1:`12`,x2:`12.01`,y1:`20`,y2:`20`}}],hash:[{tag:`line`,attrs:{x1:`4`,x2:`20`,y1:`9`,y2:`9`}},{tag:`line`,attrs:{x1:`4`,x2:`20`,y1:`15`,y2:`15`}},{tag:`line`,attrs:{x1:`10`,x2:`8`,y1:`3`,y2:`21`}},{tag:`line`,attrs:{x1:`16`,x2:`14`,y1:`3`,y2:`21`}}],inbox:[{tag:`polyline`,attrs:{points:`22 12 16 12 14 15 10 15 8 12 2 12`}},{tag:`path`,attrs:{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`}}],archive:[{tag:`rect`,attrs:{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`}},{tag:`path`,attrs:{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`}},{tag:`path`,attrs:{d:`M10 12h4`}}],"alert-circle":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`line`,attrs:{x1:`12`,x2:`12`,y1:`8`,y2:`12`}},{tag:`line`,attrs:{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}}],eye:[{tag:`path`,attrs:{d:`M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z`}},{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`3`}}],gavel:[{tag:`path`,attrs:{d:`m14 14-3.5 3.5a2.12 2.12 0 0 1-3 0l-.5-.5a2.12 2.12 0 0 1 0-3L10 10`}},{tag:`path`,attrs:{d:`m11 11 4.5 4.5`}},{tag:`path`,attrs:{d:`m16 16 2.5 2.5a1.5 1.5 0 0 1 0 2.12l-.88.88a1.5 1.5 0 0 1-2.12 0L13 19`}},{tag:`path`,attrs:{d:`m3.5 6.5 6-6`}},{tag:`path`,attrs:{d:`M6 3 4.5 4.5`}},{tag:`path`,attrs:{d:`M9 6 7.5 7.5`}},{tag:`path`,attrs:{d:`M12 9 10.5 10.5`}},{tag:`path`,attrs:{d:`M16.5 13.5 15 15`}}],"message-circle":[{tag:`path`,attrs:{d:`M21 12a9 9 0 0 1-9 9H3l2.1-4.2A9 9 0 1 1 21 12Z`}}],"upload-cloud":[{tag:`path`,attrs:{d:`M4 14.9A7 7 0 1 1 15.7 8h.8a4.5 4.5 0 0 1 2.1 8.4`}},{tag:`path`,attrs:{d:`M12 13v8`}},{tag:`path`,attrs:{d:`m8 17 4-4 4 4`}}],"file-up":[{tag:`path`,attrs:{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`}},{tag:`path`,attrs:{d:`M14 2v4a2 2 0 0 0 2 2h4`}},{tag:`path`,attrs:{d:`M12 12v6`}},{tag:`path`,attrs:{d:`m15 15-3-3-3 3`}}],"file-type-2":[{tag:`path`,attrs:{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`}},{tag:`path`,attrs:{d:`M14 2v4a2 2 0 0 0 2 2h4`}},{tag:`path`,attrs:{d:`M9 13v-1h6v1`}},{tag:`path`,attrs:{d:`M12 12v6`}},{tag:`path`,attrs:{d:`M11 18h2`}}],send:[{tag:`path`,attrs:{d:`M22 2 11 13`}},{tag:`path`,attrs:{d:`m22 2-7 20-4-9-9-4Z`}}],"clock-arrow-up":[{tag:`circle`,attrs:{cx:`12`,cy:`12`,r:`10`}},{tag:`path`,attrs:{d:`M12 6v6l3 2`}},{tag:`path`,attrs:{d:`M16 19.5a6 6 0 0 1-8 0`}},{tag:`path`,attrs:{d:`M16 2v4h4`}},{tag:`path`,attrs:{d:`m14 4 2-2 2 2`}}],users:[{tag:`path`,attrs:{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}},{tag:`circle`,attrs:{cx:`9`,cy:`7`,r:`4`}},{tag:`path`,attrs:{d:`M22 21v-2a4 4 0 0 0-3-3.87`}},{tag:`path`,attrs:{d:`M16 3.13a4 4 0 0 1 0 7.75`}}],"share-2":[{tag:`circle`,attrs:{cx:`18`,cy:`5`,r:`3`}},{tag:`circle`,attrs:{cx:`6`,cy:`12`,r:`3`}},{tag:`circle`,attrs:{cx:`18`,cy:`19`,r:`3`}},{tag:`line`,attrs:{x1:`8.59`,y1:`13.51`,x2:`15.42`,y2:`17.49`}},{tag:`line`,attrs:{x1:`15.41`,y1:`6.51`,x2:`8.59`,y2:`10.49`}}]},cu=Ci(`<circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path>`,1),lu=Ci(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><!></svg>`);function Q(e,t){rt(t,!1);let n=Z(t,`name`,8),r=Z(t,`size`,8,16),i=Z(t,`strokeWidth`,8,1.75),a=Z(t,`className`,8,``);Ua();var o=lu(),s=R(o),c=e=>{var t=Ti();X(z(t),3,()=>(W(su),W(n()),U(()=>su[n()])),(e,t)=>`${e.tag}-${t}`,(e,t)=>{var n=Ti();$i(z(n),()=>H(t).tag,!0,(e,n)=>{ja(e,()=>({...H(t).attrs}))}),q(e,n)}),q(e,t)},l=e=>{var t=cu();M(2),q(e,t)};Y(s,e=>{W(su),W(n()),U(()=>su[n()])?e(c):e(l,-1)}),j(o),V(()=>{ka(o,`width`,r()),ka(o,`height`,r()),ka(o,`stroke-width`,i()),la(o,0,ra(a()))}),q(e,o),it()}var uu=K(`<div class="repo-active-indicator"></div>`),du=K(`<span class="pin-star svelte-vmyixk">★</span>`),fu=K(`<span class="task-badge active svelte-vmyixk"><!> </span>`),pu=K(`<span class="task-badge todo svelte-vmyixk"><!> </span>`),mu=K(`<span class="task-badge blocked svelte-vmyixk"><!> </span>`),hu=K(`<span class="task-badge backlog svelte-vmyixk"><!> </span>`),gu=K(`<div class="task-badges svelte-vmyixk"><!> <!> <!> <!></div>`),_u=K(`<div role="button" tabindex="0"><!> <div class="repo-avatar"> <!></div> <div class="min-w-0 flex-1"><div class="truncate font-semibold" style="font-size:0.82rem;color:var(--color-text);"> </div> <div class="truncate flex items-center gap-1" style="font-size:0.68rem;color:var(--color-text-muted);margin-bottom:2px;"><!> </div> <!></div> <button class="pin-btn svelte-vmyixk"><!></button></div>`);function vu(e,t){rt(t,!1);let n=Z(t,`item`,8),r=Z(t,`draggable`,8,!1),i=Z(t,`pinned`,8,!1),a=Z(t,`selected`,8,!1),o=Z(t,`onSelect`,8,()=>{}),s=Z(t,`onPin`,8,()=>{}),c=Ya();function l(e){c(`drag:start`,{repo:n().repo,event:e})}function u(e){c(`drag:over`,{repo:n().repo,event:e})}function d(e){c(`drop`,{repo:n().repo,event:e})}function f(e){c(`drag:end`,{event:e})}function p(e){(e.key===`Enter`||e.key===` `)&&o()()}let m=(n().inProgressCount||0)+(n().pendingCount||0)+(n().blockedCount||0)+(n().backlogCount||0)>0;Ua();var h=_u();let g;var _=R(h),v=e=>{q(e,uu())};Y(_,e=>{a()&&e(v)});var y=B(_,2),b=R(y),x=B(b),S=e=>{q(e,du())};Y(x,e=>{i()&&e(S)}),j(y);var C=B(y,2),w=R(C),T=R(w,!0);j(w);var E=B(w,2),D=R(E);Q(D,{name:`database`,size:9,strokeWidth:2});var O=B(D);j(E);var k=B(E,2),ee=e=>{var t=gu(),r=R(t),i=e=>{var t=fu(),r=R(t);Q(r,{name:`zap`,size:8,strokeWidth:2});var i=B(r);j(t),V(()=>J(i,` ${(W(n()),U(()=>n().inProgressCount))??``}`)),q(e,t)};Y(r,e=>{W(n()),U(()=>n().inProgressCount)&&e(i)});var a=B(r,2),o=e=>{var t=pu(),r=R(t);Q(r,{name:`circle-dot`,size:8,strokeWidth:2});var i=B(r);j(t),V(()=>J(i,` ${(W(n()),U(()=>n().pendingCount))??``}`)),q(e,t)};Y(a,e=>{W(n()),U(()=>n().pendingCount)&&e(o)});var s=B(a,2),c=e=>{var t=mu(),r=R(t);Q(r,{name:`triangle-alert`,size:8,strokeWidth:2});var i=B(r);j(t),V(()=>J(i,` ${(W(n()),U(()=>n().blockedCount))??``}`)),q(e,t)};Y(s,e=>{W(n()),U(()=>n().blockedCount)&&e(c)});var l=B(s,2),u=e=>{var t=hu(),r=R(t);Q(r,{name:`archive`,size:8,strokeWidth:2});var i=B(r);j(t),V(()=>J(i,` ${(W(n()),U(()=>n().backlogCount))??``}`)),q(e,t)};Y(l,e=>{W(n()),U(()=>n().backlogCount)&&e(u)}),j(t),q(e,t)};Y(k,e=>{m&&e(ee)}),j(C);var te=B(C,2);Q(R(te),{name:`pin`,size:12,strokeWidth:1.75}),j(te),j(h),V(e=>{g=la(h,1,`repo-item svelte-vmyixk`,null,g,{active:a()}),ka(h,`draggable`,r()),ka(h,`title`,`${(W(n()),U(()=>n().repo))??``} • ${(W(n()),U(()=>n().memoryCount))??``} memories`),J(b,`${e??``} `),J(T,(W(n()),U(()=>n().repo))),J(O,` ${(W(n()),U(()=>n().memoryCount))??``} memories`),ka(te,`title`,i()?`Unpin`:`Pin`),ka(te,`aria-label`,i()?`Unpin repository`:`Pin repository`)},[()=>(W(Yl),W(n()),U(()=>Yl(n().repo)))]),G(`click`,te,function(...e){s()?.apply(this,e)}),G(`click`,h,function(...e){o()?.apply(this,e)}),G(`keydown`,h,p),G(`dragstart`,h,function(...e){(r()?l:void 0)?.apply(this,e)}),G(`dragover`,h,function(...e){(r()?u:void 0)?.apply(this,e)}),G(`drop`,h,function(...e){(r()?d:void 0)?.apply(this,e)}),G(`dragend`,h,function(...e){(r()?f:void 0)?.apply(this,e)}),G(`dragleave`,h,function(...e){(r()?f:void 0)?.apply(this,e)}),q(e,h),it()}var yu=K(`<div class="flex items-center gap-2"><div class="brand-icon svelte-vbr9x3"><!></div> <div><div class="font-bold text-sm" style="color:var(--color-text);letter-spacing:-0.02em;">Memory MCP</div> <div class="section-label" style="font-size:0.6rem;margin-top:0;">Dashboard</div></div></div>`),bu=K(`<div class="brand-icon svelte-vbr9x3" style="margin:auto;"><!></div>`),xu=K(`<span class="nav-active-dot svelte-vbr9x3"></span>`),Su=K(`<span class="nav-label svelte-vbr9x3"> </span> <!>`,1),Cu=K(`<button><!> <!></button>`),wu=K(`<div class="p-3" style="border-bottom: 1px solid var(--color-border);"><div class="search-wrapper svelte-vbr9x3"><span class="search-icon svelte-vbr9x3"><!></span> <input class="form-input search-input svelte-vbr9x3" type="text" placeholder="Search repos…"/></div></div>`),Tu=K(`<div class="group-label svelte-vbr9x3"><!> Pinned</div> <!>`,1),Eu=K(`<div class="group-label svelte-vbr9x3" style="margin-top:6px;"><!> All</div>`),Du=K(`<!> <!>`,1),Ou=K(`<div style="text-align:center;padding:24px 16px;color:var(--color-text-muted);"><!> <div style="font-size:0.82rem;margin-top:8px;">No repositories found</div></div>`),ku=K(`<div class="flex items-center justify-between px-2 py-1 mb-1"><span class="section-label">Repositories</span> <span class="repo-count-chip svelte-vbr9x3"> </span></div> <!> <!> <!>`,1),Au=K(`<div class="repo-active-indicator"></div>`),ju=K(`<div role="button" tabindex="0"><!> <div class="repo-avatar" style="margin:auto;"> </div></div>`),Mu=K(`<aside style="border-right: 1px solid var(--color-border);"><div class="sidebar-header svelte-vbr9x3" style="border-bottom: 1px solid var(--color-border);"><!> <button class="btn btn-ghost btn-icon btn-sm collapse-btn svelte-vbr9x3"><span><!></span></button></div> <div></div> <!> <div class="overflow-y-auto flex-1 p-2" style="scrollbar-width: thin;"><!></div></aside>`);function Nu(e,t){rt(t,!1);let n=()=>F(ro,`$isRepoSidebarCollapsed`,c),r=()=>F(eo,`$activeTab`,c),i=()=>F(ao,`$repoSearchQuery`,c),a=()=>F(to,`$availableRepos`,c),o=()=>F(ko,`$orderedRepos`,c),s=()=>F(no,`$currentRepo`,c),[c,l]=Et(),u=I(),d=Z(t,`onRepoSelect`,8,()=>{}),f=[{id:`arena`,label:`Agent Arena`,icon:`cpu`},{id:`dashboard`,label:`Dashboard`,icon:`layout-dashboard`},{id:`standards`,label:`Standards`,icon:`check`},{id:`reference`,label:`Reference`,icon:`book-open`}],p=ou(d());ir(()=>n(),()=>{L(u,n())}),ar(),Ua();var m=Mu();let h;var g=R(m),_=R(g),v=e=>{var t=yu(),n=R(t);Q(R(n),{name:`brain`,size:14,strokeWidth:1.75}),j(n),M(2),j(t),q(e,t)},y=e=>{var t=bu();Q(R(t),{name:`brain`,size:14,strokeWidth:1.75}),j(t),q(e,t)};Y(_,e=>{H(u)?e(y,-1):e(v)});var b=B(_,2),x=R(b);Q(R(x),{name:`chevron-left`,size:14,strokeWidth:2}),j(x),j(b),j(g);var S=B(g,2);let C;X(S,5,()=>f,e=>e.id,(e,t)=>{var n=Cu();let i;var a=R(n);{let e=dn(()=>H(u)?18:15),n=dn(()=>(H(u),1.75));Q(a,{get name(){return H(t),U(()=>H(t).icon)},get size(){return H(e)},get strokeWidth(){return H(n)}})}var o=B(a,2),s=e=>{var n=Su(),i=z(n),a=R(i,!0);j(i);var o=B(i,2),s=e=>{q(e,xu())};Y(o,e=>{r(),H(t),U(()=>r()===H(t).id)&&e(s)}),V(()=>J(a,(H(t),U(()=>H(t).label)))),q(e,n)};Y(o,e=>{H(u)||e(s)}),j(n),V(()=>{i=la(n,1,`nav-item svelte-vbr9x3`,null,i,{active:r()===H(t).id,collapsed:H(u)}),ka(n,`title`,(H(u),H(t),U(()=>H(u)?H(t).label:``))),ka(n,`id`,`nav-${(H(t),U(()=>H(t).id))??``}`)}),G(`click`,n,()=>eo.set(H(t).id)),q(e,n)}),j(S);var w=B(S,2),T=e=>{var t=wu(),n=R(t),r=R(n);Q(R(r),{name:`search`,size:13,strokeWidth:2}),j(r);var a=B(r,2);Ta(a),j(n),j(t),Fa(a,i,e=>Tt(ao,e)),q(e,t)};Y(w,e=>{H(u)||e(T)});var E=B(w,2),D=R(E),O=e=>{var t=ku(),n=z(t),r=B(R(n),2),i=R(r,!0);j(r),j(n);var c=B(n,2),l=e=>{var t=Tu(),n=z(t);Q(R(n),{name:`star`,size:10,strokeWidth:2}),M(),j(n),X(B(n,2),1,()=>(o(),U(()=>o().pinned)),e=>e.repo,(e,t)=>{{let n=dn(()=>(s(),H(t),U(()=>s()===H(t).repo)));vu(e,{get item(){return H(t)},draggable:!0,pinned:!0,get selected(){return H(n)},onSelect:()=>p.selectRepo(H(t).repo),onPin:e=>p.togglePin(H(t).repo,e),$$events:{"drag:start":e=>p.onDragStart(e.detail.repo,e.detail.event),"drag:over":e=>p.onDragOver(e.detail.repo,e.detail.event),drop:e=>p.onDrop(e.detail.repo,e.detail.event),"drag:end":e=>p.onDragEnd(e.detail.event)}})}}),q(e,t)};Y(c,e=>{o(),U(()=>o().pinned.length>0)&&e(l)});var u=B(c,2),d=e=>{var t=Du(),n=z(t),r=e=>{var t=Eu();Q(R(t),{name:`layers`,size:10,strokeWidth:2}),M(),j(t),q(e,t)};Y(n,e=>{o(),U(()=>o().pinned.length>0)&&e(r)}),X(B(n,2),1,()=>(o(),U(()=>o().unpinned)),e=>e.repo,(e,t)=>{{let n=dn(()=>(s(),H(t),U(()=>s()===H(t).repo)));vu(e,{get item(){return H(t)},draggable:!1,pinned:!1,get selected(){return H(n)},onSelect:()=>p.selectRepo(H(t).repo),onPin:e=>p.togglePin(H(t).repo,e)})}}),q(e,t)};Y(u,e=>{o(),U(()=>o().unpinned.length>0)&&e(d)});var f=B(u,2),m=e=>{var t=Ou();Q(R(t),{name:`inbox`,size:24,strokeWidth:1.5}),M(2),j(t),q(e,t)};Y(f,e=>{a(),U(()=>a().length===0)&&e(m)}),V(()=>J(i,(a(),U(()=>a().length)))),q(e,t)},k=e=>{var t=Ti();X(z(t),1,a,e=>e.repo,(e,t)=>{var n=ju();let r;var i=R(n),a=e=>{q(e,Au())};Y(i,e=>{s(),H(t),U(()=>s()===H(t).repo)&&e(a)});var o=B(i,2),c=R(o,!0);j(o),j(n),V(e=>{r=la(n,1,`repo-item collapsed`,null,r,{active:s()===H(t).repo}),ka(n,`title`,(H(t),U(()=>H(t).repo))),J(c,e)},[()=>(H(t),U(()=>p.getRepoInitials(H(t).repo)))]),G(`click`,n,()=>p.selectRepo(H(t).repo)),G(`keydown`,n,e=>(e.key===`Enter`||e.key===` `)&&p.selectRepo(H(t).repo)),q(e,n)}),q(e,t)};Y(D,e=>{H(u)?e(k,-1):e(O)}),j(E),j(m),V(()=>{h=la(m,1,`sidebar glass-strong flex flex-col`,null,h,{collapsed:H(u)}),ka(b,`title`,H(u)?`Expand sidebar`:`Collapse sidebar`),ka(b,`aria-label`,H(u)?`Expand`:`Collapse`),da(x,`transition: transform 0.3s ease; display:inline-flex; transform: rotate(${H(u)?`180deg`:`0deg`})`),C=la(S,1,`nav-section svelte-vbr9x3`,null,C,{collapsed:H(u)})}),G(`click`,b,function(...e){p.toggleCollapse?.apply(this,e)}),q(e,m),it(),l()}var Pu=`https://github.com/vheins/local-memory-mcp`,Fu=`https://www.npmjs.com/package/@vheins/local-memory-mcp`,Iu=`https://teer.id/vheins`;function Lu(e){let t=N(30),n=N(!1),r=N(null),i=N(!0),a;function o(e){return e>=1e6?(e/1e6).toFixed(1)+`M`:e>=1e3?(e/1e3).toFixed(1)+`k`:String(e)}async function s(){try{let e=await fetch(`https://api.npmjs.org/downloads/point/last-month/@vheins/local-memory-mcp`);if(e.ok){let t=await e.json();r.set(t.downloads??null)}}catch{r.set(null)}finally{i.set(!1)}}function c(e){if(e?.shiftKey){$a.set(`auto`);return}$a.update(e=>e===`auto`?P(Qa)===`dark`?`light`:`dark`:e===`dark`?`light`:`dark`)}function l(){clearInterval(a),t.set(30),a=setInterval(()=>{t.update(t=>t<=1?(e(),30):t-1)},1e3)}async function u(){n.set(!0),e(),l(),setTimeout(()=>n.set(!1),800)}function d(){clearInterval(a)}return{countdownSeconds:t,refreshing:n,npmDownloads:r,npmLoading:i,formatDownloads:o,fetchNpmDownloads:s,toggleTheme:c,startCountdown:l,manualRefresh:u,getRepoInitials:Yl,destroy:d}}var Ru=K(`<div class="flex items-center gap-1 svelte-2va9hf" style="font-size:0.65rem;color:var(--color-text-muted);"><!> <span class="svelte-2va9hf"> </span></div>`),zu=K(`<div class="current-repo svelte-2va9hf"><div style="width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#0ea5e9,#6366f1);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:white;flex-shrink:0;box-shadow:0 4px 10px rgba(14,165,233,0.28);" class="svelte-2va9hf"> </div> <div class="svelte-2va9hf"><div class="font-semibold current-repo-name svelte-2va9hf"> </div> <!></div></div>`),Bu=K(`<div style="font-size:0.85rem;color:var(--color-text-muted);" class="flex items-center gap-2 svelte-2va9hf"><!> <span class="svelte-2va9hf">Select a repository</span></div>`),Vu=K(`<span class="ext-link-label npm-dl-skeleton svelte-2va9hf"></span>`),Hu=K(`<span class="ext-link-label npm-dl-badge svelte-2va9hf"><svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-2va9hf"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3" class="svelte-2va9hf"></path></svg> </span>`),Uu=K(`<span class="ext-link-label svelte-2va9hf">npm</span>`),Wu=K(`<div class="top-status svelte-2va9hf"><div class="status-dot status-dot-online svelte-2va9hf"></div> <span style="font-size:0.72rem;font-weight:600;color:var(--color-text-muted);" class="svelte-2va9hf">Online</span> <span style="font-size:0.65rem;color:var(--color-text-muted);background:rgba(100,116,139,0.1);padding:1px 6px;border-radius:9999px;border:1px solid rgba(100,116,139,0.15);" class="svelte-2va9hf"> </span></div>`),Gu=K(`<span class="db-path-label flex items-center gap-1 svelte-2va9hf" style="font-size:0.65rem;color:var(--color-text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"><!> </span>`),Ku=K(`<header class="top-bar glass-strong svelte-2va9hf" style="border-bottom: 1px solid var(--color-border); z-index: 30;"><div class="top-bar-inner svelte-2va9hf"><div class="flex items-center gap-3 svelte-2va9hf"><button class="btn btn-ghost btn-icon svelte-2va9hf" aria-label="Toggle menu" style="display:none;" id="mobileMenuBtn"><!></button> <!></div> <div class="top-actions svelte-2va9hf"><div class="ext-links-group svelte-2va9hf"><a target="_blank" rel="noopener noreferrer" class="ext-link-btn svelte-2va9hf" title="View on GitHub" aria-label="GitHub repository" id="githubLink"><svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="svelte-2va9hf"><path d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" class="svelte-2va9hf"></path></svg> <span class="ext-link-label svelte-2va9hf">GitHub</span></a> <div class="ext-link-divider svelte-2va9hf"></div> <a target="_blank" rel="noopener noreferrer" class="ext-link-btn ext-link-star svelte-2va9hf" title="Star on GitHub" aria-label="Star on GitHub" id="githubStarBtn"><svg width="13" height="13" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="svelte-2va9hf"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" class="svelte-2va9hf"></path></svg> <span class="ext-link-label svelte-2va9hf">Star</span></a> <div class="ext-link-divider svelte-2va9hf"></div> <a target="_blank" rel="noopener noreferrer" class="ext-link-btn ext-link-npm svelte-2va9hf" title="View on npm" aria-label="npm package" id="npmLink"><svg width="18" height="11" viewBox="0 0 18 7" fill="currentColor" aria-hidden="true" class="svelte-2va9hf"><path d="M0 0h18v6H9V7H5V6H0V0zm1 5h2V1h1v4h1V1h1v5h4V1h1v4h1V1h1v4h1V1h2v5H1V5z" class="svelte-2va9hf"></path></svg> <!></a> <div class="ext-link-divider svelte-2va9hf"></div> <a target="_blank" rel="noopener noreferrer" class="ext-link-btn ext-link-donate svelte-2va9hf" title="Support this project" aria-label="Donation" id="donateLink"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-2va9hf"><path d="M17 12a5 5 0 01-5 5m-5-5a5 5 0 015-5" class="svelte-2va9hf"></path><path d="M12 7v10" class="svelte-2va9hf"></path></svg> <span class="ext-link-label svelte-2va9hf">Donate</span></a> <div class="ext-link-divider svelte-2va9hf"></div> <button class="ext-link-btn ext-link-eco svelte-2va9hf" title="View ecosystem tools" aria-label="Ecosystem" id="ecoLink"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-2va9hf"><path d="M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20" class="svelte-2va9hf"></path></svg> <span class="ext-link-label svelte-2va9hf">Ecosystem</span></button></div> <div class="top-separator svelte-2va9hf"></div> <!> <div class="refresh-group svelte-2va9hf"><div class="countdown-bar svelte-2va9hf"><div class="countdown-track svelte-2va9hf"><div class="countdown-fill svelte-2va9hf"></div></div> <span class="countdown-label svelte-2va9hf"> </span></div> <button title="Refresh now" aria-label="Refresh"><span><!></span></button></div> <button class="btn btn-ghost btn-icon btn-sm svelte-2va9hf" aria-label="Toggle theme"><!></button> <!></div></div></header>`);function qu(e,t){rt(t,!1);let n=()=>F(b,`$countdownSeconds`,f),r=()=>F(to,`$availableRepos`,f),i=()=>F(no,`$currentRepo`,f),a=()=>F(Oo,`$chatRefreshSignal`,f),o=()=>F(C,`$npmLoading`,f),s=()=>F(S,`$npmDownloads`,f),c=()=>F(Do,`$healthData`,f),l=()=>F(x,`$refreshing`,f),u=()=>F($a,`$themePreference`,f),d=()=>F(Qa,`$theme`,f),[f,p]=Et(),m=I(),h=I(),g=I(),_=Z(t,`onRefresh`,8,()=>{}),v=Z(t,`onToggleMobileMenu`,8,()=>{}),y=Z(t,`onEcosystem`,8,()=>{}),{countdownSeconds:b,refreshing:x,npmDownloads:S,npmLoading:C,formatDownloads:w,fetchNpmDownloads:T,toggleTheme:E,startCountdown:D,manualRefresh:O,getRepoInitials:k,destroy:ee}=Lu(_());Ka(()=>{D(),T()}),qa(()=>ee()),ir(()=>n(),()=>{L(m,n()/30*100)}),ir(()=>n(),()=>{L(h,n()<=5?`#ef4444`:n()<=10?`#f97316`:`#0ea5e9`)}),ir(()=>(r(),i()),()=>{L(g,r().find(e=>e.repo===i()))}),ir(()=>a(),()=>{a()&&O()}),ar(),Ua();var te=Ku(),ne=R(te),re=R(ne),ie=R(re);Q(R(ie),{name:`menu`,size:18,strokeWidth:2}),j(ie);var A=B(ie,2),ae=e=>{var t=zu(),n=R(t),r=R(n,!0);j(n);var a=B(n,2),o=R(a),s=R(o,!0);j(o);var c=B(o,2),l=e=>{var t=Ru(),n=R(t);Q(n,{name:`database`,size:10,strokeWidth:2});var r=B(n,2),i=R(r);j(r),j(t),V(()=>J(i,`${(H(g),U(()=>H(g).memoryCount||0))??``} memories`)),q(e,t)};Y(c,e=>{H(g)&&e(l)}),j(a),j(t),V(e=>{J(r,e),J(s,i())},[()=>(i(),U(()=>k(i())))]),q(e,t)},oe=e=>{var t=Bu();Q(R(t),{name:`brain`,size:14,strokeWidth:1.75}),M(2),j(t),q(e,t)};Y(A,e=>{i()?e(ae):e(oe,-1)}),j(re);var se=B(re,2),ce=R(se),le=R(ce),ue=B(le,4),de=B(ue,4),fe=B(R(de),2),pe=e=>{q(e,Vu())},me=e=>{var t=Hu(),n=B(R(t));j(t),V(e=>J(n,` ${e??``}/mo`),[()=>(s(),U(()=>w(s())))]),q(e,t)},he=e=>{q(e,Uu())};Y(fe,e=>{o()?e(pe):s()===null?e(he,-1):e(me,1)}),j(de);var ge=B(de,4),_e=B(ge,4);j(ce);var ve=B(ce,4),ye=e=>{var t=Wu(),n=B(R(t),4),r=R(n);j(n),j(t),V(()=>J(r,`v${(c(),U(()=>c().version))??``}`)),q(e,t)};Y(ve,e=>{c()&&e(ye)});var be=B(ve,2),xe=R(be),Se=R(xe),Ce=R(Se);j(Se);var we=B(Se,2),Te=R(we);j(we),j(xe);var Ee=B(xe,2);let De;var Oe=R(Ee);let ke;Q(R(Oe),{name:`refresh-cw`,size:14,strokeWidth:2.5}),j(Oe),j(Ee),j(be);var Ae=B(be,2),je=R(Ae),Me=e=>{Q(e,{name:`sun`,size:16,strokeWidth:1.75})},Ne=e=>{Q(e,{name:`moon`,size:16,strokeWidth:1.75})};Y(je,e=>{d()===`dark`?e(Me):e(Ne,-1)}),j(Ae);var Pe=B(Ae,2),Fe=e=>{var t=Gu(),n=R(t);Q(n,{name:`database`,size:10,strokeWidth:2});var r=B(n);j(t),V(e=>{ka(t,`title`,(c(),U(()=>c().dbPath))),J(r,` ${e??``}`)},[()=>(c(),U(()=>c().dbPath.split(/[/\\]/).pop()))]),q(e,t)};Y(Pe,e=>{c(),U(()=>c()?.dbPath)&&e(Fe)}),j(se),j(ne),j(te),V(()=>{ka(le,`href`,Pu),ka(ue,`href`,`https://github.com/vheins/local-memory-mcp/stargazers`),ka(de,`href`,Fu),ka(ge,`href`,Iu),da(Ce,`width:${H(m)??``}%;background:${H(h)??``};`),da(we,`color:${n()<=5?`#ef4444`:`var(--color-text-muted)`};`),J(Te,`${n()??``}s`),De=la(Ee,1,`btn btn-ghost btn-icon btn-sm svelte-2va9hf`,null,De,{refreshing:l()}),ke=la(Oe,1,`svelte-2va9hf`,null,ke,{"animate-spin":l()}),ka(Ae,`title`,u()===`auto`?`Theme: auto (Shift+click for manual)`:`Theme: manual (Shift+click for auto)`)}),G(`click`,ie,function(...e){v()?.apply(this,e)}),G(`click`,_e,function(...e){y()?.apply(this,e)}),G(`click`,Ee,O),G(`click`,Ae,E),q(e,te),it(),p()}var Ju={1:`#94a3b8`,2:`#3b82f6`,3:`#f59e0b`,4:`#f97316`,5:`#ef4444`},Yu={backlog:`archive`,pending:`circle-dot`,in_progress:`zap`,completed:`circle-check`,blocked:`circle-x`,canceled:`circle-pause-alt`},Xu={backlog:`#64748b`,pending:`#0ea5e9`,in_progress:`#a855f7`,completed:`#10b981`,blocked:`#ef4444`,canceled:`#f59e0b`};function Zu(e){return e?e.replace(/<[^>]*>/g,``).replace(/!\[.*?\]\(.*?\)/g,``).replace(/\[([^\]]+)\]\(.*?\)/g,`$1`).replace(/```[\s\S]*?```/g,``).replace(/`([^`]+)`/g,`$1`).replace(/[#*~_-]/g,``).replace(/\s+/g,` `).trim():``}var Qu=K(`<span class="task-code-text svelte-1797zcc"> </span>`),$u=K(`<span class="phase-chip svelte-1797zcc"> </span>`),ed=K(`<div class="task-desc svelte-1797zcc"> </div>`),td=K(`<span class="h-badge parent svelte-1797zcc"><!> </span>`),nd=K(`<span class="h-badge depends svelte-1797zcc"><!> </span>`),rd=K(`<div class="hierarchy-row svelte-1797zcc"><!> <!></div>`),id=K(`<span class="coord-badge claim svelte-1797zcc"><!> </span>`),ad=K(`<span class="coord-badge handoff svelte-1797zcc"><!> </span>`),od=K(`<div class="coordination-row svelte-1797zcc"><!> <!></div>`),sd=K(`<div class="agent-row svelte-1797zcc"><div class="agent-avatar svelte-1797zcc"><!></div> <span class="agent-name svelte-1797zcc"> </span></div>`),cd=K(`<span></span>`),ld=K(`<div class="token-row svelte-1797zcc"><span class="token-badge svelte-1797zcc"><!> </span></div>`),ud=K(`<div class="task-card animate-fade-in svelte-1797zcc" role="button" tabindex="0"><div class="priority-bar svelte-1797zcc"></div> <div class="card-header svelte-1797zcc"><div class="code-row svelte-1797zcc"><span class="status-icon-dot svelte-1797zcc"><!></span> <!></div> <!></div> <div class="task-title svelte-1797zcc"> </div> <!> <!> <!> <div class="card-footer svelte-1797zcc"><!> <div class="time-row svelte-1797zcc"><!> <span> </span></div></div> <!></div>`);function dd(e,t){rt(t,!1);let n=I(),r=I(),i=I(),a=I(),o=I(),s=Z(t,`task`,8);ir(()=>(W(s()),Ju),()=>{L(n,s()?Ju[s().priority]:`#94a3b8`)}),ir(()=>(W(s()),Yu),()=>{L(r,s()?Yu[s().status]:`circle-dot`)}),ir(()=>(W(s()),Xu),()=>{L(i,s()?Xu[s().status]:`#94a3b8`)}),ir(()=>(W(s()),Zu),()=>{L(a,s()?Zu(s().description??void 0):``)}),ir(()=>W(s()),()=>{L(o,s()?.coordination)}),ar(),Ua();var c=ud(),l=R(c),u=B(l,2),d=R(u),f=R(d);Q(R(f),{get name(){return H(r)},size:11,strokeWidth:2.5}),j(f);var p=B(f,2),m=e=>{var t=Qu(),n=R(t,!0);j(t),V(()=>J(n,(W(s()),U(()=>s().task_code)))),q(e,t)};Y(p,e=>{s()&&e(m)}),j(d);var h=B(d,2),g=e=>{var t=$u(),n=R(t,!0);j(t),V(()=>J(n,(W(s()),U(()=>s().phase)))),q(e,t)};Y(h,e=>{W(s()),U(()=>s().phase)&&e(g)}),j(u);var _=B(u,2),v=R(_,!0);j(_);var y=B(_,2),b=e=>{var t=ed(),n=R(t,!0);j(t),V(()=>J(n,H(a))),q(e,t)};Y(y,e=>{H(a)&&e(b)});var x=B(y,2),S=e=>{var t=rd(),n=R(t),r=e=>{var t=td(),n=R(t);Q(n,{name:`chevron-up`,size:9,strokeWidth:2.5});var r=B(n);j(t),V(()=>{ka(t,`title`,`Parent: ${(W(s()),U(()=>s().parent_code))??``}`),J(r,` ${(W(s()),U(()=>s().parent_code))??``}`)}),q(e,t)};Y(n,e=>{W(s()),U(()=>s().parent_code)&&e(r)});var i=B(n,2),a=e=>{var t=nd(),n=R(t);Q(n,{name:`link`,size:9,strokeWidth:2.5});var r=B(n);j(t),V(()=>{ka(t,`title`,`Depends on: ${(W(s()),U(()=>s().depends_on_code))??``}`),J(r,` ${(W(s()),U(()=>s().depends_on_code))??``}`)}),q(e,t)};Y(i,e=>{W(s()),U(()=>s().depends_on_code)&&e(a)}),j(t),q(e,t)};Y(x,e=>{W(s()),U(()=>s().parent_code||s().depends_on_code)&&e(S)});var C=B(x,2),w=e=>{var t=od(),n=R(t),r=e=>{var t=id(),n=R(t);Q(n,{name:`check`,size:9,strokeWidth:2.5});var r=B(n);j(t),V(()=>{ka(t,`title`,`Claimed by ${(H(o),U(()=>H(o).active_claim_agent||`agent`))??``}`),J(r,` ${(H(o),U(()=>H(o).active_claim_agent||H(o).active_claim_count+` claim`))??``}`)}),q(e,t)};Y(n,e=>{H(o),U(()=>H(o).active_claim_count>0)&&e(r)});var i=B(n,2),a=e=>{var t=ad(),n=R(t);Q(n,{name:`git-branch`,size:9,strokeWidth:2.5});var r=B(n);j(t),V(()=>{ka(t,`title`,(H(o),U(()=>H(o).pending_handoff_summary||`Pending handoff`))),J(r,` ${(H(o),U(()=>H(o).pending_handoff_to_agent||`handoff`))??``}${(H(o),U(()=>H(o).pending_handoff_count>1?` +${H(o).pending_handoff_count-1}`:``))??``}`)}),q(e,t)};Y(i,e=>{H(o),U(()=>H(o).pending_handoff_count>0)&&e(a)}),j(t),q(e,t)};Y(C,e=>{H(o),U(()=>H(o)&&(H(o).active_claim_count>0||H(o).pending_handoff_count>0))&&e(w)});var T=B(C,2),E=R(T),D=e=>{var t=sd(),n=R(t);Q(R(n),{name:`bot`,size:9,strokeWidth:2}),j(n);var r=B(n,2),i=R(r,!0);j(r),j(t),V(()=>J(i,(W(s()),U(()=>s().agent)))),q(e,t)},O=e=>{q(e,cd())};Y(E,e=>{W(s()),U(()=>s().agent)?e(D):e(O,-1)});var k=B(E,2),ee=R(k);Q(ee,{name:`clock`,size:10,strokeWidth:2});var te=B(ee,2),ne=R(te,!0);j(te),j(k),j(T);var re=B(T,2),ie=e=>{var t=ld(),n=R(t),r=R(n);Q(r,{name:`cpu`,size:9,strokeWidth:2});var i=B(r);j(n),j(t),V(e=>J(i,` ~${e??``} tokens`),[()=>(W(s()),U(()=>s().est_tokens>=1e3?(s().est_tokens/1e3).toFixed(1)+`k`:s().est_tokens))]),q(e,t)};Y(re,e=>{W(s()),U(()=>s().est_tokens&&s().est_tokens>0)&&e(ie)}),j(c),V(e=>{da(l,`background:${H(n)??``};`),da(f,`color:${H(i)??``};`),J(v,(W(s()),U(()=>s()?.title||`Untitled Task`))),J(ne,e)},[()=>(W(s()),W(ql),U(()=>s()?ql(s().updated_at):``))]),G(`click`,c,function(e){Ga.call(this,t,e)}),G(`keydown`,c,function(e){Ga.call(this,t,e)}),q(e,c),it()}var fd=K(`<div class="flex gap-1"><button class="btn btn-ghost btn-sm" title="Export JSON"><!> JSON</button> <button class="btn btn-ghost btn-sm" title="Export CSV"><!> CSV</button> <div style="width:1px;height:20px;background:var(--color-border);margin:auto 4px;"></div> <button class="btn btn-ghost btn-sm" title="Bulk Import"><!> Import</button></div>`);function pd(e,t){rt(t,!1);let n=Z(t,`onExport`,8,()=>{}),r=Z(t,`onImport`,8,()=>{});Ua();var i=fd(),a=R(i);Q(R(a),{name:`download`,size:12}),M(),j(a);var o=B(a,2);Q(R(o),{name:`download`,size:12}),M(),j(o);var s=B(o,4);Q(R(s),{name:`upload`,size:13,strokeWidth:2}),M(),j(s),j(i),G(`click`,a,()=>n()(`json`)),G(`click`,o,()=>n()(`csv`)),G(`click`,s,function(...e){r()?.apply(this,e)}),q(e,i),it()}var md=[{status:`backlog`,label:`Backlog`,bg:`rgba(100,116,139,0.07)`,border:`rgba(100,116,139,0.18)`,icon:`archive`,color:`#64748b`},{status:`pending`,label:`To Do`,bg:`rgba(14,165,233,0.06)`,border:`rgba(14,165,233,0.18)`,icon:`circle-dot`,color:`#0ea5e9`},{status:`in_progress`,label:`In Progress`,bg:`rgba(168,85,247,0.07)`,border:`rgba(168,85,247,0.18)`,icon:`zap`,color:`#a855f7`},{status:`blocked`,label:`Blocked`,bg:`rgba(239,68,68,0.07)`,border:`rgba(239,68,68,0.18)`,icon:`alert-circle`,color:`#ef4444`},{status:`completed`,label:`Completed`,bg:`rgba(16,185,129,0.06)`,border:`rgba(16,185,129,0.18)`,icon:`circle-check`,color:`#10b981`},{status:`canceled`,label:`Canceled`,bg:`rgba(148,163,184,0.07)`,border:`rgba(148,163,184,0.18)`,icon:`circle-x`,color:`#94a3b8`}];function hd(){let e={},t={};md.forEach(n=>{e[n.status]={page:1,pageSize:20,hasMore:!0,totalItems:0,totalPages:0},t[n.status]=[]});let{subscribe:n,update:r}=N({loadingCols:new Set,pagination:e,columnTasks:t,draggedTask:null,sourceCol:null,dragOverCol:null});async function i(e,t,i){let a=P({subscribe:n});if(a.loadingCols.has(t))return;r(e=>{let n=new Set(e.loadingCols);return n.add(t),{...e,loadingCols:n}});let o=a.pagination[t];try{let n=await Ro.tasks({repo:e,status:t,search:i,page:o.page,pageSize:o.pageSize});r(e=>{let r=o.page===1?n.tasks||[]:[...e.columnTasks[t]||[],...n.tasks||[]],i=n.pagination?.totalItems??r.length,a=n.pagination?.totalPages??Math.ceil(i/o.pageSize);return{...e,columnTasks:{...e.columnTasks,[t]:r},pagination:{...e.pagination,[t]:{...o,totalItems:i,totalPages:a,hasMore:r.length<i}}}})}catch(e){console.error(`Failed to load ${t}:`,e)}finally{r(e=>{let n=new Set(e.loadingCols);return n.delete(t),{...e,loadingCols:n}})}}async function a(e,t){e&&(r(e=>{let t={...e.pagination},n={...e.columnTasks};return md.forEach(e=>{t[e.status]={page:1,pageSize:20,hasMore:!0,totalItems:0,totalPages:0},n[e.status]=[]}),{...e,pagination:t,columnTasks:n}}),await Promise.all(md.map(n=>i(e,n.status,t))))}async function o(e){let t=P(no),n=P(So);t&&(r(t=>({...t,pagination:{...t.pagination,[e]:{...t.pagination[e],page:t.pagination[e].page+1}}})),await i(t,e,n))}function s(e,t,n){e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id)),r(e=>({...e,draggedTask:t,sourceCol:n}))}function c(e,t){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`);let i=P({subscribe:n});!i.draggedTask||i.sourceCol===t||r(e=>({...e,dragOverCol:t}))}function l(e){r(t=>t.dragOverCol===e?{...t,dragOverCol:null}:t)}async function u(e){let t=P(no),i=P(So),{draggedTask:o,sourceCol:s}=P({subscribe:n});if(r(e=>({...e,dragOverCol:null,draggedTask:null,sourceCol:null})),!(!o||!s||s===e)){r(t=>{let n={...t.columnTasks};return n[s]=n[s].filter(e=>e.id!==o.id),n[e]=[{...o,status:e},...n[e]||[]],{...t,columnTasks:n}});try{let t=await Ro.updateTask(o.id,{status:e});r(n=>{let r={...n.columnTasks};return r[e]=(r[e]||[]).map(e=>e.id===t.id?t:e),{...n,columnTasks:r}})}catch(e){let n=e instanceof Error?e.message:`Unknown error`;console.error(`Failed to move task:`,n),t&&a(t,i)}}}async function d(e){let t=P(no);if(t)try{let n=await Ro.export(t),r=`${t.replace(/\//g,`_`)}_tasks_export`;e===`json`?eu(n.tasks||[],r+`.json`):tu(n.tasks||[],r+`.csv`)}catch(e){Vo(`Export failed: `+(e instanceof Error?e.message:`Unknown error`))}}return Ka(()=>{let e=!0,t=no.subscribe(e=>{let t=P(So);e&&a(e,t)}),n,r=So.subscribe(t=>{if(e)return;let r=P(no);r&&(clearTimeout(n),n=setTimeout(()=>{a(r,t)},150))});return e=!1,()=>{t(),r(),clearTimeout(n)}}),{subscribe:n,loadTasks:a,loadMore:o,handleDragStart:s,handleDragOver:c,handleDragLeave:l,handleDrop:u,handleExport:d}}var gd=K(`<div class="skeleton" style="height:80px;border-radius:12px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;"></div>`,1),_d=K(`<div class="empty-col svelte-173w724"><span><!></span> <div style="font-size:0.75rem;color:var(--color-text-muted);margin-top:6px;">No tasks</div></div>`),vd=K(`<div draggable="true" style="cursor: grab;"><!></div>`),yd=K(`<span class="animate-spin"><!></span>`),bd=K(`<button class="btn btn-ghost btn-sm w-full" style="margin-top:4px;justify-content:center;"><!> </button>`),xd=K(`<!> <!>`,1),Sd=K(`<div><div class="flex items-center gap-2 mb-3"><span><!></span> <span style="font-size:0.78rem;font-weight:700;color:var(--color-text);"> </span> <span class="col-count svelte-173w724"> </span></div> <div class="flex flex-col" style="gap:8px;overflow-y:auto;max-height:calc(100vh - 340px);padding-right:2px;"><!></div></div>`),Cd=K(`<div><div class="flex items-center justify-between mb-4"><div class="search-wrap svelte-173w724"><span class="search-icon-inner svelte-173w724"><!></span> <input class="form-input" style="padding-left:32px;width:220px;font-size:0.8rem;" type="text" placeholder="Search tasks…"/></div> <div class="flex gap-2"><!> <button class="btn btn-accent btn-sm"><!> Add Task</button></div></div> <div class="kanban-board" style="padding-bottom:16px;"></div></div>`);function wd(e,t){rt(t,!1);let n=()=>F(So,`$taskSearch`,i),r=()=>F(u,`$kanbanState`,i),[i,a]=Et(),o=Z(t,`onTaskClick`,8,()=>{}),s=Z(t,`onAddTask`,8,()=>{}),c=Z(t,`onBulkImport`,8,()=>{}),l=hd(),u={subscribe:l.subscribe};function d(e){l.loadTasks(e,n())}var f={loadTasks:d};Ua();var p=Cd(),m=R(p),h=R(m),g=R(h);Q(R(g),{name:`search`,size:13,strokeWidth:2}),j(g);var _=B(g,2);Ta(_),j(h);var v=B(h,2),y=R(v);pd(y,{onExport:e=>l.handleExport(e),get onImport(){return c()}});var b=B(y,2);Q(R(b),{name:`plus`,size:14,strokeWidth:2.5}),M(),j(b),j(v),j(m);var x=B(m,2);X(x,5,()=>md,e=>e.status,(e,t)=>{var n=Sd(),i=R(n),a=R(i);Q(R(a),{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:2}),j(a);var s=B(a,2),c=R(s,!0);j(s);var u=B(s,2),d=R(u,!0);j(u),j(i);var f=B(i,2),p=R(f),m=e=>{var n=Ti(),i=z(n),a=e=>{var t=gd();M(2),q(e,t)},o=un(()=>(r(),H(t),U(()=>r().loadingCols.has(H(t).status)))),s=e=>{var n=_d(),r=R(n);Q(R(r),{get name(){return H(t),U(()=>H(t).icon)},size:22,strokeWidth:1.25}),j(r),M(2),j(n),V(()=>da(r,`color:${(H(t),U(()=>H(t).color))??``};opacity:0.5;`)),q(e,n)};Y(i,e=>{H(o)?e(a):e(s,-1)}),q(e,n)},h=e=>{var n=xd(),i=z(n);X(i,1,()=>(r(),H(t),U(()=>r().columnTasks[H(t).status])),e=>e.id,(e,n)=>{var r=vd();dd(R(r),{get task(){return H(n)},$$events:{click:()=>o()(H(n))}}),j(r),G(`dragstart`,r,e=>l.handleDragStart(e,H(n),H(t).status)),q(e,r)});var a=B(i,2),s=e=>{var n=bd(),i=R(n),a=e=>{var t=yd();Q(R(t),{name:`refresh-cw`,size:12,strokeWidth:2}),j(t),q(e,t)},o=un(()=>(r(),H(t),U(()=>r().loadingCols.has(H(t).status)))),s=e=>{Q(e,{name:`chevron-down`,size:12,strokeWidth:2})};Y(i,e=>{H(o)?e(a):e(s,-1)});var c=B(i);j(n),V((e,t)=>{n.disabled=e,J(c,` ${t??``}`)},[()=>(r(),H(t),U(()=>r().loadingCols.has(H(t).status))),()=>(r(),H(t),U(()=>r().loadingCols.has(H(t).status)?`Loading…`:`Load more`))]),G(`click`,n,()=>l.loadMore(H(t).status)),q(e,n)};Y(a,e=>{r(),H(t),U(()=>r().pagination[H(t).status]?.hasMore)&&e(s)}),q(e,n)};Y(p,e=>{r(),H(t),U(()=>(r().columnTasks[H(t).status]||[]).length===0)?e(m):e(h,-1)}),j(f),j(n),V(()=>{la(n,1,`kanban-col ${(r(),H(t),U(()=>r().dragOverCol===H(t).status?`drag-over`:``))??``}`,`svelte-173w724`),da(n,`background:${(H(t),U(()=>H(t).bg))??``};border:1px solid ${(H(t),U(()=>H(t).border))??``};padding:12px;border-radius:16px;transition: border-color 0.2s;`),da(a,`color:${(H(t),U(()=>H(t).color))??``};display:flex;flex-shrink:0;`),J(c,(H(t),U(()=>H(t).label))),da(u,`margin-left:auto;background:${(H(t),U(()=>H(t).bg))??``};color:${(H(t),U(()=>H(t).color))??``};border:1px solid ${(H(t),U(()=>H(t).border))??``};`),J(d,(r(),H(t),U(()=>r().pagination[H(t).status]?.totalItems||0)))}),G(`dragover`,n,e=>l.handleDragOver(e,H(t).status)),G(`dragleave`,n,()=>l.handleDragLeave(H(t).status)),G(`drop`,n,()=>l.handleDrop(H(t).status)),q(e,n)}),j(x),j(p),Fa(_,n,e=>Tt(So,e)),G(`click`,b,function(...e){s()?.apply(this,e)}),q(e,p),Ra(t,`loadTasks`,d);var S=it(f);return a(),S}var Td=N([]);function Ed(){let e=bt(oo,e=>e||null),t=bt(oo,e=>e?.taskStats??null),n=bt(oo,e=>[{label:`Total`,val:e?.total??0,icon:`brain`,color:`#6366f1`,glow:`rgba(99,102,241,0.12)`},{label:`Facts`,val:e?.byType?.code_fact??0,icon:`code`,color:`#10b981`,glow:`rgba(16,185,129,0.12)`},{label:`Decisions`,val:e?.byType?.decision??0,icon:`gavel`,color:`#f59e0b`,glow:`rgba(245,158,11,0.12)`},{label:`Archive`,val:e?.byType?.task_archive??0,icon:`archive`,color:`#0ea5e9`,glow:`rgba(14,165,233,0.12)`}]),r=bt(oo,e=>e?.byType?Object.entries(e.byType).map(([e,t])=>({label:e.replace(`_`,` `),count:t,color:i(e)})):[]);function i(e){return{code_fact:`#10b981`,decision:`#f59e0b`,mistake:`#ef4444`,pattern:`#a855f7`,task_archive:`#0ea5e9`}[e]||`#94a3b8`}let a=bt(Td,e=>e);async function o(e){if(e)try{let t=await Ro.tasks({repo:e,status:`in_progress,pending`,pageSize:5});Td.set(t.tasks||[])}catch(e){console.error(`Failed to load active tasks for widget:`,e)}}return{memoryStats:e,taskStats:t,summaryItems:n,byTypeStats:r,activeTasks:a,refreshActiveTasks:o}}var Dd=K(`<div style="display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:rgba(239,68,68,0.06);color:var(--color-danger);font-size:0.75rem;font-weight:600;border-radius:8px;border:1px solid rgba(239,68,68,0.12);" class="svelte-1imzu92"><!> <span class="svelte-1imzu92">Unable to load stats</span></div>`),Od=K(`<div class="stat-card svelte-1imzu92"><div class="svelte-1imzu92"><!></div> <div class="svelte-1imzu92"> </div> <div style="font-size:0.6rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;" class="svelte-1imzu92"> </div></div>`),kd=K(`<div class="flex items-center gap-2 glassy-badge svelte-1imzu92"><div class="indicator-dot svelte-1imzu92"></div> <span class="count svelte-1imzu92"> </span> <span class="label svelte-1imzu92"> </span></div>`),Ad=K(`<div style="margin-top:4px;" class="svelte-1imzu92"><div class="stat-label svelte-1imzu92" style="font-size:0.6rem;margin-bottom:6px;">By Type</div> <div style="display:flex;flex-wrap:wrap;gap:8px;" class="svelte-1imzu92"></div></div>`),jd=K(`<div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(130px, 1fr));gap:10px;margin-bottom:12px;" class="svelte-1imzu92"></div> <!>`,1);function Md(e,t){rt(t,!1);let n=()=>F(oo,`$dashboardStats`,a),r=()=>F(s,`$summaryItems`,a),i=()=>F(c,`$byTypeStats`,a),[a,o]=Et(),{summaryItems:s,byTypeStats:c}=Ed();Ua();var l=Ti(),u=z(l),d=e=>{var t=Dd();Q(R(t),{name:`triangle-alert`,size:12,strokeWidth:1.75}),M(2),j(t),q(e,t)},f=e=>{var t=jd(),n=z(t);X(n,5,r,e=>e.label,(e,t)=>{var n=Od(),r=R(n);Q(R(r),{get name(){return H(t).icon},size:14,strokeWidth:1.75}),j(r);var i=B(r,2),a=R(i,!0);j(i);var o=B(i,2),s=R(o,!0);j(o),j(n),V(()=>{da(n,`text-align:center;background:${H(t).glow??``};border:1px solid ${H(t).glow??``};padding:10px 8px;`),da(r,`display:flex;justify-content:center;margin-bottom:2px;color:${H(t).color??``};opacity:0.8;`),da(i,`font-size:1.25rem;font-weight:900;color:${H(t).color??``};line-height:1;letter-spacing:-0.03em;`),J(a,H(t).val),J(s,H(t).label)}),q(e,n)}),j(n);var a=B(n,2),o=e=>{var t=Ad(),n=B(R(t),2);X(n,5,i,e=>e.label,(e,t)=>{var n=kd(),r=B(R(n),2),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{da(n,`--badge-color: ${H(t).color??``};`),J(i,H(t).count),J(o,H(t).label)}),q(e,n)}),j(n),j(t),q(e,t)};Y(a,e=>{i().length>0&&e(o)}),q(e,t)};Y(u,e=>{n()===null?e(d):e(f,-1)}),q(e,l),it(),o()}var Nd=K(`<div class="stat-card"><div><!></div> <div> </div> <div style="font-size:0.6rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px;"> </div></div>`),Pd=K(`<div style="display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:rgba(255,255,255,0.02);border-radius:8px;border:1px solid var(--color-border);"><div style="flex:1;min-width:0;"><div style="font-size:0.75rem;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"> </div> <div style="font-size:0.6rem;color:var(--color-text-muted);font-family:monospace;margin-top:1px;"> </div></div> <div> </div></div>`),Fd=K(`<div style="display:flex;flex-direction:column;gap:6px;" class="animate-fade-in"></div>`),Id=K(`<div style="margin-top:16px; padding-top:12px; border-top:1px dashed var(--color-border);"><button class="flex items-center justify-between w-full" style="background:none; border:none; padding:0; cursor:pointer; margin-bottom:10px;"><div style="font-size:0.65rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;display:flex;align-items:center;gap:6px;"><!> Active Priorities</div> <div><!></div></button> <!></div>`),Ld=K(`<div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:10px;width:100%;"></div> <!>`,1);function Rd(e,t){rt(t,!1);let n=()=>F(no,`$currentRepo`,a),r=()=>F(c,`$taskStats`,a),i=()=>F(l,`$activeTasks`,a),[a,o]=Et(),s=I(),{taskStats:c,activeTasks:l,refreshActiveTasks:u}=Ed(),d=I(!0);ir(()=>n(),()=>{n()&&u(n())}),ir(()=>r(),()=>{L(s,[{label:`Total`,val:r()?.total??0,icon:`layers`,color:`#6366f1`,glow:`rgba(99,102,241,0.12)`},{label:`Backlog`,val:r()?.backlog??0,icon:`inbox`,color:`#64748b`,glow:`rgba(100,116,139,0.12)`},{label:`To Do`,val:r()?.pending??0,icon:`circle-dot`,color:`#0ea5e9`,glow:`rgba(14,165,233,0.12)`},{label:`Active`,val:r()?.in_progress??0,icon:`zap`,color:`#a855f7`,glow:`rgba(168,85,247,0.12)`},{label:`Done`,val:r()?.completed??0,icon:`circle-check`,color:`#10b981`,glow:`rgba(16,185,129,0.12)`}])}),ar(),Ua();var f=Ti(),p=z(f),m=e=>{var t=Ld(),n=z(t);X(n,5,()=>H(s),e=>e.label,(e,t)=>{var n=Nd(),r=R(n);Q(R(r),{get name(){return H(t),U(()=>H(t).icon)},size:14,strokeWidth:1.75}),j(r);var i=B(r,2),a=R(i,!0);j(i);var o=B(i,2),s=R(o,!0);j(o),j(n),V(()=>{da(n,`text-align:center;background:${(H(t),U(()=>H(t).glow))??``};border:1px solid ${(H(t),U(()=>H(t).glow))??``};padding:10px 8px;`),da(r,`display:flex;justify-content:center;margin-bottom:2px;color:${(H(t),U(()=>H(t).color))??``};opacity:0.8;`),da(i,`font-size:1.25rem;font-weight:900;color:${(H(t),U(()=>H(t).color))??``};line-height:1;letter-spacing:-0.03em;`),J(a,(H(t),U(()=>H(t).val))),J(s,(H(t),U(()=>H(t).label)))}),q(e,n)}),j(n);var r=B(n,2),a=e=>{var t=Id(),n=R(t),r=R(n);Q(R(r),{name:`clock-arrow-up`,size:12,strokeWidth:2}),M(),j(r);var a=B(r,2);Q(R(a),{name:`chevron-down`,size:12,strokeWidth:2.5}),j(a),j(n);var o=B(n,2),s=e=>{var t=Fd();X(t,5,i,e=>e.id,(e,t)=>{var n=Pd(),r=R(n),i=R(r),a=R(i,!0);j(i);var o=B(i,2),s=R(o);j(o),j(r);var c=B(r,2),l=R(c,!0);j(c),j(n),V(()=>{J(a,(H(t),U(()=>H(t).title))),J(s,`${(H(t),U(()=>H(t).task_code))??``} • ${(H(t),U(()=>H(t).phase))??``}`),da(c,`font-size:0.55rem;font-weight:800;padding:2px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:0.03em;white-space:nowrap;background:${(H(t),U(()=>H(t).status===`in_progress`?`rgba(168,85,247,0.1)`:`rgba(14,165,233,0.1)`))??``};color:${(H(t),U(()=>H(t).status===`in_progress`?`#a855f7`:`#0ea5e9`))??``};border:1px solid currentColor;`),J(l,(H(t),U(()=>H(t).status===`in_progress`?`Active`:`To Do`)))}),q(e,n)}),j(t),q(e,t)};Y(o,e=>{H(d)&&e(s)}),j(t),V(()=>da(a,`color:var(--color-text-muted); transition: transform 0.2s ease; transform: rotate(${H(d)?`0deg`:`-90deg`})`)),G(`click`,n,()=>L(d,!H(d))),q(e,t)};Y(r,e=>{i(),U(()=>i().length>0)&&e(a)}),q(e,t)};Y(p,e=>{r()&&e(m)}),q(e,f),it(),o()}function zd(e){return e+.5|0}var Bd=(e,t,n)=>Math.max(Math.min(e,n),t);function Vd(e){return Bd(zd(e*2.55),0,255)}function Hd(e){return Bd(zd(e*255),0,255)}function Ud(e){return Bd(zd(e/2.55)/100,0,1)}function Wd(e){return Bd(zd(e*100),0,100)}var Gd={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Kd=[...`0123456789ABCDEF`],qd=e=>Kd[e&15],Jd=e=>Kd[(e&240)>>4]+Kd[e&15],Yd=e=>(e&240)>>4==(e&15),Xd=e=>Yd(e.r)&&Yd(e.g)&&Yd(e.b)&&Yd(e.a);function Zd(e){var t=e.length,n;return e[0]===`#`&&(t===4||t===5?n={r:255&Gd[e[1]]*17,g:255&Gd[e[2]]*17,b:255&Gd[e[3]]*17,a:t===5?Gd[e[4]]*17:255}:(t===7||t===9)&&(n={r:Gd[e[1]]<<4|Gd[e[2]],g:Gd[e[3]]<<4|Gd[e[4]],b:Gd[e[5]]<<4|Gd[e[6]],a:t===9?Gd[e[7]]<<4|Gd[e[8]]:255})),n}var Qd=(e,t)=>e<255?t(e):``;function $d(e){var t=Xd(e)?qd:Jd;return e?`#`+t(e.r)+t(e.g)+t(e.b)+Qd(e.a,t):void 0}var ef=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function tf(e,t,n){let r=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function nf(e,t,n){let r=(r,i=(r+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function rf(e,t,n){let r=tf(e,1,.5),i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)r[i]*=1-t-n,r[i]+=t;return r}function af(e,t,n,r,i){return e===i?(t-n)/r+(t<n?6:0):t===i?(n-e)/r+2:(e-t)/r+4}function of(e){let t=e.r/255,n=e.g/255,r=e.b/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s,c,l;return i!==a&&(l=i-a,c=o>.5?l/(2-i-a):l/(i+a),s=af(t,n,r,l,i),s=s*60+.5),[s|0,c||0,o]}function sf(e,t,n,r){return(Array.isArray(t)?e(t[0],t[1],t[2]):e(t,n,r)).map(Hd)}function cf(e,t,n){return sf(tf,e,t,n)}function lf(e,t,n){return sf(rf,e,t,n)}function uf(e,t,n){return sf(nf,e,t,n)}function df(e){return(e%360+360)%360}function ff(e){let t=ef.exec(e),n=255,r;if(!t)return;t[5]!==r&&(n=t[6]?Vd(+t[5]):Hd(+t[5]));let i=df(+t[2]),a=t[3]/100,o=t[4]/100;return r=t[1]===`hwb`?lf(i,a,o):t[1]===`hsv`?uf(i,a,o):cf(i,a,o),{r:r[0],g:r[1],b:r[2],a:n}}function pf(e,t){var n=of(e);n[0]=df(n[0]+t),n=cf(n),e.r=n[0],e.g=n[1],e.b=n[2]}function mf(e){if(!e)return;let t=of(e),n=t[0],r=Wd(t[1]),i=Wd(t[2]);return e.a<255?`hsla(${n}, ${r}%, ${i}%, ${Ud(e.a)})`:`hsl(${n}, ${r}%, ${i}%)`}var hf={x:`dark`,Z:`light`,Y:`re`,X:`blu`,W:`gr`,V:`medium`,U:`slate`,A:`ee`,T:`ol`,S:`or`,B:`ra`,C:`lateg`,D:`ights`,R:`in`,Q:`turquois`,E:`hi`,P:`ro`,O:`al`,N:`le`,M:`de`,L:`yello`,F:`en`,K:`ch`,G:`arks`,H:`ea`,I:`ightg`,J:`wh`},gf={OiceXe:`f0f8ff`,antiquewEte:`faebd7`,aqua:`ffff`,aquamarRe:`7fffd4`,azuY:`f0ffff`,beige:`f5f5dc`,bisque:`ffe4c4`,black:`0`,blanKedOmond:`ffebcd`,Xe:`ff`,XeviTet:`8a2be2`,bPwn:`a52a2a`,burlywood:`deb887`,caMtXe:`5f9ea0`,KartYuse:`7fff00`,KocTate:`d2691e`,cSO:`ff7f50`,cSnflowerXe:`6495ed`,cSnsilk:`fff8dc`,crimson:`dc143c`,cyan:`ffff`,xXe:`8b`,xcyan:`8b8b`,xgTMnPd:`b8860b`,xWay:`a9a9a9`,xgYF:`6400`,xgYy:`a9a9a9`,xkhaki:`bdb76b`,xmagFta:`8b008b`,xTivegYF:`556b2f`,xSange:`ff8c00`,xScEd:`9932cc`,xYd:`8b0000`,xsOmon:`e9967a`,xsHgYF:`8fbc8f`,xUXe:`483d8b`,xUWay:`2f4f4f`,xUgYy:`2f4f4f`,xQe:`ced1`,xviTet:`9400d3`,dAppRk:`ff1493`,dApskyXe:`bfff`,dimWay:`696969`,dimgYy:`696969`,dodgerXe:`1e90ff`,fiYbrick:`b22222`,flSOwEte:`fffaf0`,foYstWAn:`228b22`,fuKsia:`ff00ff`,gaRsbSo:`dcdcdc`,ghostwEte:`f8f8ff`,gTd:`ffd700`,gTMnPd:`daa520`,Way:`808080`,gYF:`8000`,gYFLw:`adff2f`,gYy:`808080`,honeyMw:`f0fff0`,hotpRk:`ff69b4`,RdianYd:`cd5c5c`,Rdigo:`4b0082`,ivSy:`fffff0`,khaki:`f0e68c`,lavFMr:`e6e6fa`,lavFMrXsh:`fff0f5`,lawngYF:`7cfc00`,NmoncEffon:`fffacd`,ZXe:`add8e6`,ZcSO:`f08080`,Zcyan:`e0ffff`,ZgTMnPdLw:`fafad2`,ZWay:`d3d3d3`,ZgYF:`90ee90`,ZgYy:`d3d3d3`,ZpRk:`ffb6c1`,ZsOmon:`ffa07a`,ZsHgYF:`20b2aa`,ZskyXe:`87cefa`,ZUWay:`778899`,ZUgYy:`778899`,ZstAlXe:`b0c4de`,ZLw:`ffffe0`,lime:`ff00`,limegYF:`32cd32`,lRF:`faf0e6`,magFta:`ff00ff`,maPon:`800000`,VaquamarRe:`66cdaa`,VXe:`cd`,VScEd:`ba55d3`,VpurpN:`9370db`,VsHgYF:`3cb371`,VUXe:`7b68ee`,VsprRggYF:`fa9a`,VQe:`48d1cc`,VviTetYd:`c71585`,midnightXe:`191970`,mRtcYam:`f5fffa`,mistyPse:`ffe4e1`,moccasR:`ffe4b5`,navajowEte:`ffdead`,navy:`80`,Tdlace:`fdf5e6`,Tive:`808000`,TivedBb:`6b8e23`,Sange:`ffa500`,SangeYd:`ff4500`,ScEd:`da70d6`,pOegTMnPd:`eee8aa`,pOegYF:`98fb98`,pOeQe:`afeeee`,pOeviTetYd:`db7093`,papayawEp:`ffefd5`,pHKpuff:`ffdab9`,peru:`cd853f`,pRk:`ffc0cb`,plum:`dda0dd`,powMrXe:`b0e0e6`,purpN:`800080`,YbeccapurpN:`663399`,Yd:`ff0000`,Psybrown:`bc8f8f`,PyOXe:`4169e1`,saddNbPwn:`8b4513`,sOmon:`fa8072`,sandybPwn:`f4a460`,sHgYF:`2e8b57`,sHshell:`fff5ee`,siFna:`a0522d`,silver:`c0c0c0`,skyXe:`87ceeb`,UXe:`6a5acd`,UWay:`708090`,UgYy:`708090`,snow:`fffafa`,sprRggYF:`ff7f`,stAlXe:`4682b4`,tan:`d2b48c`,teO:`8080`,tEstN:`d8bfd8`,tomato:`ff6347`,Qe:`40e0d0`,viTet:`ee82ee`,JHt:`f5deb3`,wEte:`ffffff`,wEtesmoke:`f5f5f5`,Lw:`ffff00`,LwgYF:`9acd32`};function _f(){let e={},t=Object.keys(gf),n=Object.keys(hf),r,i,a,o,s;for(r=0;r<t.length;r++){for(o=s=t[r],i=0;i<n.length;i++)a=n[i],s=s.replace(a,hf[a]);a=parseInt(gf[o],16),e[s]=[a>>16&255,a>>8&255,a&255]}return e}var vf;function yf(e){vf||(vf=_f(),vf.transparent=[0,0,0,0]);let t=vf[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}var bf=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function xf(e){let t=bf.exec(e),n=255,r,i,a;if(t){if(t[7]!==r){let e=+t[7];n=t[8]?Vd(e):Bd(e*255,0,255)}return r=+t[1],i=+t[3],a=+t[5],r=255&(t[2]?Vd(r):Bd(r,0,255)),i=255&(t[4]?Vd(i):Bd(i,0,255)),a=255&(t[6]?Vd(a):Bd(a,0,255)),{r,g:i,b:a,a:n}}}function Sf(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${Ud(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}var Cf=e=>e<=.0031308?e*12.92:e**(1/2.4)*1.055-.055,wf=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Tf(e,t,n){let r=wf(Ud(e.r)),i=wf(Ud(e.g)),a=wf(Ud(e.b));return{r:Hd(Cf(r+n*(wf(Ud(t.r))-r))),g:Hd(Cf(i+n*(wf(Ud(t.g))-i))),b:Hd(Cf(a+n*(wf(Ud(t.b))-a))),a:e.a+n*(t.a-e.a)}}function Ef(e,t,n){if(e){let r=of(e);r[t]=Math.max(0,Math.min(r[t]+r[t]*n,t===0?360:1)),r=cf(r),e.r=r[0],e.g=r[1],e.b=r[2]}}function Df(e,t){return e&&Object.assign(t||{},e)}function Of(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=Hd(e[3]))):(t=Df(e,{r:0,g:0,b:0,a:1}),t.a=Hd(t.a)),t}function kf(e){return e.charAt(0)===`r`?xf(e):ff(e)}var Af=class e{constructor(t){if(t instanceof e)return t;let n=typeof t,r;n===`object`?r=Of(t):n===`string`&&(r=Zd(t)||yf(t)||kf(t)),this._rgb=r,this._valid=!!r}get valid(){return this._valid}get rgb(){var e=Df(this._rgb);return e&&(e.a=Ud(e.a)),e}set rgb(e){this._rgb=Of(e)}rgbString(){return this._valid?Sf(this._rgb):void 0}hexString(){return this._valid?$d(this._rgb):void 0}hslString(){return this._valid?mf(this._rgb):void 0}mix(e,t){if(e){let n=this.rgb,r=e.rgb,i,a=t===i?.5:t,o=2*a-1,s=n.a-r.a,c=((o*s===-1?o:(o+s)/(1+o*s))+1)/2;i=1-c,n.r=255&c*n.r+i*r.r+.5,n.g=255&c*n.g+i*r.g+.5,n.b=255&c*n.b+i*r.b+.5,n.a=a*n.a+(1-a)*r.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=Tf(this._rgb,e._rgb,t)),this}clone(){return new e(this.rgb)}alpha(e){return this._rgb.a=Hd(e),this}clearer(e){let t=this._rgb;return t.a*=1-e,this}greyscale(){let e=this._rgb;return e.r=e.g=e.b=zd(e.r*.3+e.g*.59+e.b*.11),this}opaquer(e){let t=this._rgb;return t.a*=1+e,this}negate(){let e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return Ef(this._rgb,2,e),this}darken(e){return Ef(this._rgb,2,-e),this}saturate(e){return Ef(this._rgb,1,e),this}desaturate(e){return Ef(this._rgb,1,-e),this}rotate(e){return pf(this._rgb,e),this}};function jf(){}var Mf=(()=>{let e=0;return()=>e++})();function Nf(e){return e==null}function Pf(e){if(Array.isArray&&Array.isArray(e))return!0;let t=Object.prototype.toString.call(e);return t.slice(0,7)===`[object`&&t.slice(-6)===`Array]`}function Ff(e){return e!==null&&Object.prototype.toString.call(e)===`[object Object]`}function If(e){return(typeof e==`number`||e instanceof Number)&&isFinite(+e)}function Lf(e,t){return If(e)?e:t}function Rf(e,t){return e===void 0?t:e}var zf=(e,t)=>typeof e==`string`&&e.endsWith(`%`)?parseFloat(e)/100*t:+e;function Bf(e,t,n){if(e&&typeof e.call==`function`)return e.apply(n,t)}function Vf(e,t,n,r){let i,a,o;if(Pf(e))if(a=e.length,r)for(i=a-1;i>=0;i--)t.call(n,e[i],i);else for(i=0;i<a;i++)t.call(n,e[i],i);else if(Ff(e))for(o=Object.keys(e),a=o.length,i=0;i<a;i++)t.call(n,e[o[i]],o[i])}function Hf(e,t){let n,r,i,a;if(!e||!t||e.length!==t.length)return!1;for(n=0,r=e.length;n<r;++n)if(i=e[n],a=t[n],i.datasetIndex!==a.datasetIndex||i.index!==a.index)return!1;return!0}function Uf(e){if(Pf(e))return e.map(Uf);if(Ff(e)){let t=Object.create(null),n=Object.keys(e),r=n.length,i=0;for(;i<r;++i)t[n[i]]=Uf(e[n[i]]);return t}return e}function Wf(e){return[`__proto__`,`prototype`,`constructor`].indexOf(e)===-1}function Gf(e,t,n,r){if(!Wf(e))return;let i=t[e],a=n[e];Ff(i)&&Ff(a)?Kf(i,a,r):t[e]=Uf(a)}function Kf(e,t,n){let r=Pf(t)?t:[t],i=r.length;if(!Ff(e))return e;n||={};let a=n.merger||Gf,o;for(let t=0;t<i;++t){if(o=r[t],!Ff(o))continue;let i=Object.keys(o);for(let t=0,r=i.length;t<r;++t)a(i[t],e,o,n)}return e}function qf(e,t){return Kf(e,t,{merger:Jf})}function Jf(e,t,n){if(!Wf(e))return;let r=t[e],i=n[e];Ff(r)&&Ff(i)?qf(r,i):Object.prototype.hasOwnProperty.call(t,e)||(t[e]=Uf(i))}var Yf={"":e=>e,x:e=>e.x,y:e=>e.y};function Xf(e){let t=e.split(`.`),n=[],r=``;for(let e of t)r+=e,r.endsWith(`\\`)?r=r.slice(0,-1)+`.`:(n.push(r),r=``);return n}function Zf(e){let t=Xf(e);return e=>{for(let n of t){if(n===``)break;e&&=e[n]}return e}}function Qf(e,t){return(Yf[t]||(Yf[t]=Zf(t)))(e)}function $f(e){return e.charAt(0).toUpperCase()+e.slice(1)}var ep=e=>e!==void 0,tp=e=>typeof e==`function`,np=(e,t)=>{if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0};function rp(e){return e.type===`mouseup`||e.type===`click`||e.type===`contextmenu`}var ip=Math.PI,ap=2*ip;ap+ip;var op=1/0,sp=ip/180,cp=ip/2,lp=ip/4,up=ip*2/3,dp=Math.log10,fp=Math.sign;function pp(e,t,n){return Math.abs(e-t)<n}function mp(e){let t=Math.round(e);e=pp(e,t,e/1e3)?t:e;let n=10**Math.floor(dp(e)),r=e/n;return(r<=1?1:r<=2?2:r<=5?5:10)*n}function hp(e){let t=[],n=Math.sqrt(e),r;for(r=1;r<n;r++)e%r===0&&(t.push(r),t.push(e/r));return n===(n|0)&&t.push(n),t.sort((e,t)=>e-t).pop(),t}function gp(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&!(Symbol.toPrimitive in e||`toString`in e||`valueOf`in e)}function _p(e){return!gp(e)&&!isNaN(parseFloat(e))&&isFinite(e)}function vp(e,t){let n=Math.round(e);return n-t<=e&&n+t>=e}function yp(e,t,n){let r,i,a;for(r=0,i=e.length;r<i;r++)a=e[r][n],isNaN(a)||(t.min=Math.min(t.min,a),t.max=Math.max(t.max,a))}function bp(e){return ip/180*e}function xp(e){return 180/ip*e}function Sp(e){if(!If(e))return;let t=1,n=0;for(;Math.round(e*t)/t!==e;)t*=10,n++;return n}function Cp(e,t){let n=t.x-e.x,r=t.y-e.y,i=Math.sqrt(n*n+r*r),a=Math.atan2(r,n);return a<-.5*ip&&(a+=ap),{angle:a,distance:i}}function wp(e,t){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)}function Tp(e){return(e%ap+ap)%ap}function Ep(e,t,n,r){let i=Tp(e),a=Tp(t),o=Tp(n),s=Tp(a-i),c=Tp(o-i),l=Tp(i-a),u=Tp(i-o);return i===a||i===o||r&&a===o||s>c&&l<u}function Dp(e,t,n){return Math.max(t,Math.min(n,e))}function Op(e){return Dp(e,-32768,32767)}function kp(e,t,n,r=1e-6){return e>=Math.min(t,n)-r&&e<=Math.max(t,n)+r}function Ap(e,t,n){n||=(n=>e[n]<t);let r=e.length-1,i=0,a;for(;r-i>1;)a=i+r>>1,n(a)?i=a:r=a;return{lo:i,hi:r}}var jp=(e,t,n,r)=>Ap(e,n,r?r=>{let i=e[r][t];return i<n||i===n&&e[r+1][t]===n}:r=>e[r][t]<n),Mp=(e,t,n)=>Ap(e,n,r=>e[r][t]>=n);function Np(e,t,n){let r=0,i=e.length;for(;r<i&&e[r]<t;)r++;for(;i>r&&e[i-1]>n;)i--;return r>0||i<e.length?e.slice(r,i):e}var Pp=[`push`,`pop`,`shift`,`splice`,`unshift`];function Fp(e,t){if(e._chartjs){e._chartjs.listeners.push(t);return}Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),Pp.forEach(t=>{let n=`_onData`+$f(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){let i=r.apply(this,t);return e._chartjs.listeners.forEach(e=>{typeof e[n]==`function`&&e[n](...t)}),i}})})}function Ip(e,t){let n=e._chartjs;if(!n)return;let r=n.listeners,i=r.indexOf(t);i!==-1&&r.splice(i,1),!(r.length>0)&&(Pp.forEach(t=>{delete e[t]}),delete e._chartjs)}function Lp(e){let t=new Set(e);return t.size===e.length?e:Array.from(t)}var Rp=function(){return typeof window>`u`?function(e){return e()}:window.requestAnimationFrame}();function zp(e,t){let n=[],r=!1;return function(...i){n=i,r||(r=!0,Rp.call(window,()=>{r=!1,e.apply(t,n)}))}}function Bp(e,t){let n;return function(...r){return t?(clearTimeout(n),n=setTimeout(e,t,r)):e.apply(this,r),t}}var Vp=e=>e===`start`?`left`:e===`end`?`right`:`center`,Hp=(e,t,n)=>e===`start`?t:e===`end`?n:(t+n)/2,Up=(e,t,n,r)=>e===(r?`left`:`right`)?n:e===`center`?(t+n)/2:t,Wp=e=>e===0||e===1,Gp=(e,t,n)=>-(2**(10*--e)*Math.sin((e-t)*ap/n)),Kp=(e,t,n)=>2**(-10*e)*Math.sin((e-t)*ap/n)+1,qp={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>--e*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-(--e*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>--e*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>-Math.cos(e*cp)+1,easeOutSine:e=>Math.sin(e*cp),easeInOutSine:e=>-.5*(Math.cos(ip*e)-1),easeInExpo:e=>e===0?0:2**(10*(e-1)),easeOutExpo:e=>e===1?1:-(2**(-10*e))+1,easeInOutExpo:e=>Wp(e)?e:e<.5?.5*2**(10*(e*2-1)):.5*(-(2**(-10*(e*2-1)))+2),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1- --e*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>Wp(e)?e:Gp(e,.075,.3),easeOutElastic:e=>Wp(e)?e:Kp(e,.075,.3),easeInOutElastic(e){let t=.1125,n=.45;return Wp(e)?e:e<.5?.5*Gp(e*2,t,n):.5+.5*Kp(e*2-1,t,n)},easeInBack(e){return e*e*(2.70158*e-1.70158)},easeOutBack(e){return--e*e*(2.70158*e+1.70158)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?.5*(e*e*(((t*=1.525)+1)*e-t)):.5*((e-=2)*e*(((t*=1.525)+1)*e+t)+2)},easeInBounce:e=>1-qp.easeOutBounce(1-e),easeOutBounce(e){let t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?qp.easeInBounce(e*2)*.5:qp.easeOutBounce(e*2-1)*.5+.5};function Jp(e){if(e&&typeof e==`object`){let t=e.toString();return t===`[object CanvasPattern]`||t===`[object CanvasGradient]`}return!1}function Yp(e){return Jp(e)?e:new Af(e)}function Xp(e){return Jp(e)?e:new Af(e).saturate(.5).darken(.1).hexString()}var Zp=[`x`,`y`,`borderWidth`,`radius`,`tension`],Qp=[`color`,`borderColor`,`backgroundColor`];function $p(e){e.set(`animation`,{delay:void 0,duration:1e3,easing:`easeOutQuart`,fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe(`animation`,{_fallback:!1,_indexable:!1,_scriptable:e=>e!==`onProgress`&&e!==`onComplete`&&e!==`fn`}),e.set(`animations`,{colors:{type:`color`,properties:Qp},numbers:{type:`number`,properties:Zp}}),e.describe(`animations`,{_fallback:`animation`}),e.set(`transitions`,{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:`transparent`},visible:{type:`boolean`,duration:0}}},hide:{animations:{colors:{to:`transparent`},visible:{type:`boolean`,easing:`linear`,fn:e=>e|0}}}})}function em(e){e.set(`layout`,{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}var tm=new Map;function nm(e,t){t||={};let n=e+JSON.stringify(t),r=tm.get(n);return r||(r=new Intl.NumberFormat(e,t),tm.set(n,r)),r}function rm(e,t,n){return nm(t,n).format(e)}var im={values(e){return Pf(e)?e:``+e},numeric(e,t,n){if(e===0)return`0`;let r=this.chart.options.locale,i,a=e;if(n.length>1){let t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>0x38d7ea4c68000)&&(i=`scientific`),a=am(e,n)}let o=dp(Math.abs(a)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),c={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(c,this.options.ticks.format),rm(e,r,c)},logarithmic(e,t,n){if(e===0)return`0`;let r=n[t].significand||e/10**Math.floor(dp(e));return[1,2,3,5,10,15].includes(r)||t>.8*n.length?im.numeric.call(this,e,t,n):``}};function am(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}var om={formatters:im};function sm(e){e.set(`scale`,{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:`ticks`,clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:``,padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:``,padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:om.formatters.values,minor:{},major:{},align:`center`,crossAlign:`near`,showLabelBackdrop:!1,backdropColor:`rgba(255, 255, 255, 0.75)`,backdropPadding:2}}),e.route(`scale.ticks`,`color`,``,`color`),e.route(`scale.grid`,`color`,``,`borderColor`),e.route(`scale.border`,`color`,``,`borderColor`),e.route(`scale.title`,`color`,``,`color`),e.describe(`scale`,{_fallback:!1,_scriptable:e=>!e.startsWith(`before`)&&!e.startsWith(`after`)&&e!==`callback`&&e!==`parser`,_indexable:e=>e!==`borderDash`&&e!==`tickBorderDash`&&e!==`dash`}),e.describe(`scales`,{_fallback:`scale`}),e.describe(`scale.ticks`,{_scriptable:e=>e!==`backdropPadding`&&e!==`callback`,_indexable:e=>e!==`backdropPadding`})}var cm=Object.create(null),lm=Object.create(null);function um(e,t){if(!t)return e;let n=t.split(`.`);for(let t=0,r=n.length;t<r;++t){let r=n[t];e=e[r]||(e[r]=Object.create(null))}return e}function dm(e,t,n){return typeof t==`string`?Kf(um(e,t),n):Kf(um(e,``),t)}var fm=new class{constructor(e,t){this.animation=void 0,this.backgroundColor=`rgba(0,0,0,0.1)`,this.borderColor=`rgba(0,0,0,0.1)`,this.color=`#666`,this.datasets={},this.devicePixelRatio=e=>e.chart.platform.getDevicePixelRatio(),this.elements={},this.events=[`mousemove`,`mouseout`,`click`,`touchstart`,`touchmove`],this.font={family:`'Helvetica Neue', 'Helvetica', 'Arial', sans-serif`,size:12,style:`normal`,lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>Xp(t.backgroundColor),this.hoverBorderColor=(e,t)=>Xp(t.borderColor),this.hoverColor=(e,t)=>Xp(t.color),this.indexAxis=`x`,this.interaction={mode:`nearest`,intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return dm(this,e,t)}get(e){return um(this,e)}describe(e,t){return dm(lm,e,t)}override(e,t){return dm(cm,e,t)}route(e,t,n,r){let i=um(this,e),a=um(this,n),o=`_`+t;Object.defineProperties(i,{[o]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){let e=this[o],t=a[r];return Ff(e)?Object.assign({},t,e):Rf(e,t)},set(e){this[o]=e}}})}apply(e){e.forEach(e=>e(this))}}({_scriptable:e=>!e.startsWith(`on`),_indexable:e=>e!==`events`,hover:{_fallback:`interaction`},interaction:{_scriptable:!1,_indexable:!1}},[$p,em,sm]);function pm(e){return!e||Nf(e.size)||Nf(e.family)?null:(e.style?e.style+` `:``)+(e.weight?e.weight+` `:``)+e.size+`px `+e.family}function mm(e,t,n,r,i){let a=t[i];return a||(a=t[i]=e.measureText(i).width,n.push(i)),a>r&&(r=a),r}function hm(e,t,n,r){r||={};let i=r.data=r.data||{},a=r.garbageCollect=r.garbageCollect||[];r.font!==t&&(i=r.data={},a=r.garbageCollect=[],r.font=t),e.save(),e.font=t;let o=0,s=n.length,c,l,u,d,f;for(c=0;c<s;c++)if(d=n[c],d!=null&&!Pf(d))o=mm(e,i,a,o,d);else if(Pf(d))for(l=0,u=d.length;l<u;l++)f=d[l],f!=null&&!Pf(f)&&(o=mm(e,i,a,o,f));e.restore();let p=a.length/2;if(p>n.length){for(c=0;c<p;c++)delete i[a[c]];a.splice(0,p)}return o}function gm(e,t,n){let r=e.currentDevicePixelRatio,i=n===0?0:Math.max(n/2,.5);return Math.round((t-i)*r)/r+i}function _m(e,t){!t&&!e||(t||=e.getContext(`2d`),t.save(),t.resetTransform(),t.clearRect(0,0,e.width,e.height),t.restore())}function vm(e,t,n,r){ym(e,t,n,r,null)}function ym(e,t,n,r,i){let a,o,s,c,l,u,d,f,p=t.pointStyle,m=t.rotation,h=t.radius,g=(m||0)*sp;if(p&&typeof p==`object`&&(a=p.toString(),a===`[object HTMLImageElement]`||a===`[object HTMLCanvasElement]`)){e.save(),e.translate(n,r),e.rotate(g),e.drawImage(p,-p.width/2,-p.height/2,p.width,p.height),e.restore();return}if(!(isNaN(h)||h<=0)){switch(e.beginPath(),p){default:i?e.ellipse(n,r,i/2,h,0,0,ap):e.arc(n,r,h,0,ap),e.closePath();break;case`triangle`:u=i?i/2:h,e.moveTo(n+Math.sin(g)*u,r-Math.cos(g)*h),g+=up,e.lineTo(n+Math.sin(g)*u,r-Math.cos(g)*h),g+=up,e.lineTo(n+Math.sin(g)*u,r-Math.cos(g)*h),e.closePath();break;case`rectRounded`:l=h*.516,c=h-l,o=Math.cos(g+lp)*c,d=Math.cos(g+lp)*(i?i/2-l:c),s=Math.sin(g+lp)*c,f=Math.sin(g+lp)*(i?i/2-l:c),e.arc(n-d,r-s,l,g-ip,g-cp),e.arc(n+f,r-o,l,g-cp,g),e.arc(n+d,r+s,l,g,g+cp),e.arc(n-f,r+o,l,g+cp,g+ip),e.closePath();break;case`rect`:if(!m){c=Math.SQRT1_2*h,u=i?i/2:c,e.rect(n-u,r-c,2*u,2*c);break}g+=lp;case`rectRot`:d=Math.cos(g)*(i?i/2:h),o=Math.cos(g)*h,s=Math.sin(g)*h,f=Math.sin(g)*(i?i/2:h),e.moveTo(n-d,r-s),e.lineTo(n+f,r-o),e.lineTo(n+d,r+s),e.lineTo(n-f,r+o),e.closePath();break;case`crossRot`:g+=lp;case`cross`:d=Math.cos(g)*(i?i/2:h),o=Math.cos(g)*h,s=Math.sin(g)*h,f=Math.sin(g)*(i?i/2:h),e.moveTo(n-d,r-s),e.lineTo(n+d,r+s),e.moveTo(n+f,r-o),e.lineTo(n-f,r+o);break;case`star`:d=Math.cos(g)*(i?i/2:h),o=Math.cos(g)*h,s=Math.sin(g)*h,f=Math.sin(g)*(i?i/2:h),e.moveTo(n-d,r-s),e.lineTo(n+d,r+s),e.moveTo(n+f,r-o),e.lineTo(n-f,r+o),g+=lp,d=Math.cos(g)*(i?i/2:h),o=Math.cos(g)*h,s=Math.sin(g)*h,f=Math.sin(g)*(i?i/2:h),e.moveTo(n-d,r-s),e.lineTo(n+d,r+s),e.moveTo(n+f,r-o),e.lineTo(n-f,r+o);break;case`line`:o=i?i/2:Math.cos(g)*h,s=Math.sin(g)*h,e.moveTo(n-o,r-s),e.lineTo(n+o,r+s);break;case`dash`:e.moveTo(n,r),e.lineTo(n+Math.cos(g)*(i?i/2:h),r+Math.sin(g)*h);break;case!1:e.closePath();break}e.fill(),t.borderWidth>0&&e.stroke()}}function bm(e,t,n){return n||=.5,!t||e&&e.x>t.left-n&&e.x<t.right+n&&e.y>t.top-n&&e.y<t.bottom+n}function xm(e,t){e.save(),e.beginPath(),e.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),e.clip()}function Sm(e){e.restore()}function Cm(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),Nf(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}function wm(e,t,n,r,i){if(i.strikethrough||i.underline){let a=e.measureText(r),o=t-a.actualBoundingBoxLeft,s=t+a.actualBoundingBoxRight,c=n-a.actualBoundingBoxAscent,l=n+a.actualBoundingBoxDescent,u=i.strikethrough?(c+l)/2:l;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=i.decorationWidth||2,e.moveTo(o,u),e.lineTo(s,u),e.stroke()}}function Tm(e,t){let n=e.fillStyle;e.fillStyle=t.color,e.fillRect(t.left,t.top,t.width,t.height),e.fillStyle=n}function Em(e,t,n,r,i,a={}){let o=Pf(t)?t:[t],s=a.strokeWidth>0&&a.strokeColor!==``,c,l;for(e.save(),e.font=i.string,Cm(e,a),c=0;c<o.length;++c)l=o[c],a.backdrop&&Tm(e,a.backdrop),s&&(a.strokeColor&&(e.strokeStyle=a.strokeColor),Nf(a.strokeWidth)||(e.lineWidth=a.strokeWidth),e.strokeText(l,n,r,a.maxWidth)),e.fillText(l,n,r,a.maxWidth),wm(e,n,r,l,a),r+=Number(i.lineHeight);e.restore()}function Dm(e,t){let{x:n,y:r,w:i,h:a,radius:o}=t;e.arc(n+o.topLeft,r+o.topLeft,o.topLeft,1.5*ip,ip,!0),e.lineTo(n,r+a-o.bottomLeft),e.arc(n+o.bottomLeft,r+a-o.bottomLeft,o.bottomLeft,ip,cp,!0),e.lineTo(n+i-o.bottomRight,r+a),e.arc(n+i-o.bottomRight,r+a-o.bottomRight,o.bottomRight,cp,0,!0),e.lineTo(n+i,r+o.topRight),e.arc(n+i-o.topRight,r+o.topRight,o.topRight,0,-cp,!0),e.lineTo(n+o.topLeft,r)}var Om=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,km=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function Am(e,t){let n=(``+e).match(Om);if(!n||n[1]===`normal`)return t*1.2;switch(e=+n[2],n[3]){case`px`:return e;case`%`:e/=100;break}return t*e}var jm=e=>+e||0;function Mm(e,t){let n={},r=Ff(t),i=r?Object.keys(t):t,a=Ff(e)?r?n=>Rf(e[n],e[t[n]]):t=>e[t]:()=>e;for(let e of i)n[e]=jm(a(e));return n}function Nm(e){return Mm(e,{top:`y`,right:`x`,bottom:`y`,left:`x`})}function Pm(e){return Mm(e,[`topLeft`,`topRight`,`bottomLeft`,`bottomRight`])}function Fm(e){let t=Nm(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function Im(e,t){e||={},t||=fm.font;let n=Rf(e.size,t.size);typeof n==`string`&&(n=parseInt(n,10));let r=Rf(e.style,t.style);r&&!(``+r).match(km)&&(console.warn(`Invalid font style specified: "`+r+`"`),r=void 0);let i={family:Rf(e.family,t.family),lineHeight:Am(Rf(e.lineHeight,t.lineHeight),n),size:n,style:r,weight:Rf(e.weight,t.weight),string:``};return i.string=pm(i),i}function Lm(e,t,n,r){let i=!0,a,o,s;for(a=0,o=e.length;a<o;++a)if(s=e[a],s!==void 0&&(t!==void 0&&typeof s==`function`&&(s=s(t),i=!1),n!==void 0&&Pf(s)&&(s=s[n%s.length],i=!1),s!==void 0))return r&&!i&&(r.cacheable=!1),s}function Rm(e,t,n){let{min:r,max:i}=e,a=zf(t,(i-r)/2),o=(e,t)=>n&&e===0?0:e+t;return{min:o(r,-Math.abs(a)),max:o(i,a)}}function zm(e,t){return Object.assign(Object.create(e),t)}function Bm(e,t=[``],n,r,i=()=>e[0]){let a=n||e;return r===void 0&&(r=nh(`_fallback`,e)),new Proxy({[Symbol.toStringTag]:`Object`,_cacheable:!0,_scopes:e,_rootScopes:a,_fallback:r,_getTarget:i,override:n=>Bm([n,...e],t,a,r)},{deleteProperty(t,n){return delete t[n],delete t._keys,delete e[0][n],!0},get(n,r){return Gm(n,r,()=>th(r,t,e,n))},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(e._scopes[0],t)},getPrototypeOf(){return Reflect.getPrototypeOf(e[0])},has(e,t){return rh(e).includes(t)},ownKeys(e){return rh(e)},set(e,t,n){let r=e._storage||=i();return e[t]=r[t]=n,delete e._keys,!0}})}function Vm(e,t,n,r){let i={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:Hm(e,r),setContext:t=>Vm(e,t,n,r),override:i=>Vm(e.override(i),t,n,r)};return new Proxy(i,{deleteProperty(t,n){return delete t[n],delete e[n],!0},get(e,t,n){return Gm(e,t,()=>Km(e,t,n))},getOwnPropertyDescriptor(t,n){return t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n)},getPrototypeOf(){return Reflect.getPrototypeOf(e)},has(t,n){return Reflect.has(e,n)},ownKeys(){return Reflect.ownKeys(e)},set(t,n,r){return e[n]=r,delete t[n],!0}})}function Hm(e,t={scriptable:!0,indexable:!0}){let{_scriptable:n=t.scriptable,_indexable:r=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:r,isScriptable:tp(n)?n:()=>n,isIndexable:tp(r)?r:()=>r}}var Um=(e,t)=>e?e+$f(t):t,Wm=(e,t)=>Ff(t)&&e!==`adapters`&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function Gm(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||t===`constructor`)return e[t];let r=n();return e[t]=r,r}function Km(e,t,n){let{_proxy:r,_context:i,_subProxy:a,_descriptors:o}=e,s=r[t];return tp(s)&&o.isScriptable(t)&&(s=qm(t,s,e,n)),Pf(s)&&s.length&&(s=Jm(t,s,e,o.isIndexable)),Wm(t,s)&&(s=Vm(s,i,a&&a[t],o)),s}function qm(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_stack:s}=n;if(s.has(e))throw Error(`Recursion detected: `+Array.from(s).join(`->`)+`->`+e);s.add(e);let c=t(a,o||r);return s.delete(e),Wm(e,c)&&(c=Qm(i._scopes,i,e,c)),c}function Jm(e,t,n,r){let{_proxy:i,_context:a,_subProxy:o,_descriptors:s}=n;if(a.index!==void 0&&r(e))return t[a.index%t.length];if(Ff(t[0])){let n=t,r=i._scopes.filter(e=>e!==n);t=[];for(let c of n){let n=Qm(r,i,e,c);t.push(Vm(n,a,o&&o[e],s))}}return t}function Ym(e,t,n){return tp(e)?e(t,n):e}var Xm=(e,t)=>e===!0?t:typeof e==`string`?Qf(t,e):void 0;function Zm(e,t,n,r,i){for(let a of t){let t=Xm(n,a);if(t){e.add(t);let a=Ym(t._fallback,n,i);if(a!==void 0&&a!==n&&a!==r)return a}else if(t===!1&&r!==void 0&&n!==r)return null}return!1}function Qm(e,t,n,r){let i=t._rootScopes,a=Ym(t._fallback,n,r),o=[...e,...i],s=new Set;s.add(r);let c=$m(s,o,n,a||n,r);return c===null||a!==void 0&&a!==n&&(c=$m(s,o,a,c,r),c===null)?!1:Bm(Array.from(s),[``],i,a,()=>eh(t,n,r))}function $m(e,t,n,r,i){for(;n;)n=Zm(e,t,n,r,i);return n}function eh(e,t,n){let r=e._getTarget();t in r||(r[t]={});let i=r[t];return Pf(i)&&Ff(n)?n:i||{}}function th(e,t,n,r){let i;for(let a of t)if(i=nh(Um(a,e),n),i!==void 0)return Wm(e,i)?Qm(n,r,e,i):i}function nh(e,t){for(let n of t){if(!n)continue;let t=n[e];if(t!==void 0)return t}}function rh(e){let t=e._keys;return t||=e._keys=ih(e._scopes),t}function ih(e){let t=new Set;for(let n of e)for(let e of Object.keys(n).filter(e=>!e.startsWith(`_`)))t.add(e);return Array.from(t)}function ah(){return typeof window<`u`&&typeof document<`u`}function oh(e){let t=e.parentNode;return t&&t.toString()===`[object ShadowRoot]`&&(t=t.host),t}function sh(e,t,n){let r;return typeof e==`string`?(r=parseInt(e,10),e.indexOf(`%`)!==-1&&(r=r/100*t.parentNode[n])):r=e,r}var ch=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function lh(e,t){return ch(e).getPropertyValue(t)}var uh=[`top`,`right`,`bottom`,`left`];function dh(e,t,n){let r={};n=n?`-`+n:``;for(let i=0;i<4;i++){let a=uh[i];r[a]=parseFloat(e[t+`-`+a+n])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}var fh=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function ph(e,t){let n=e.touches,r=n&&n.length?n[0]:e,{offsetX:i,offsetY:a}=r,o=!1,s,c;if(fh(i,a,e.target))s=i,c=a;else{let e=t.getBoundingClientRect();s=r.clientX-e.left,c=r.clientY-e.top,o=!0}return{x:s,y:c,box:o}}function mh(e,t){if(`native`in e)return e;let{canvas:n,currentDevicePixelRatio:r}=t,i=ch(n),a=i.boxSizing===`border-box`,o=dh(i,`padding`),s=dh(i,`border`,`width`),{x:c,y:l,box:u}=ph(e,n),d=o.left+(u&&s.left),f=o.top+(u&&s.top),{width:p,height:m}=t;return a&&(p-=o.width+s.width,m-=o.height+s.height),{x:Math.round((c-d)/p*n.width/r),y:Math.round((l-f)/m*n.height/r)}}function hh(e,t,n){let r,i;if(t===void 0||n===void 0){let a=e&&oh(e);if(!a)t=e.clientWidth,n=e.clientHeight;else{let e=a.getBoundingClientRect(),o=ch(a),s=dh(o,`border`,`width`),c=dh(o,`padding`);t=e.width-c.width-s.width,n=e.height-c.height-s.height,r=sh(o.maxWidth,a,`clientWidth`),i=sh(o.maxHeight,a,`clientHeight`)}}return{width:t,height:n,maxWidth:r||op,maxHeight:i||op}}var gh=e=>Math.round(e*10)/10;function _h(e,t,n,r){let i=ch(e),a=dh(i,`margin`),o=sh(i.maxWidth,e,`clientWidth`)||op,s=sh(i.maxHeight,e,`clientHeight`)||op,c=hh(e,t,n),{width:l,height:u}=c;if(i.boxSizing===`content-box`){let e=dh(i,`border`,`width`),t=dh(i,`padding`);l-=t.width+e.width,u-=t.height+e.height}return l=Math.max(0,l-a.width),u=Math.max(0,r?l/r:u-a.height),l=gh(Math.min(l,o,c.maxWidth)),u=gh(Math.min(u,s,c.maxHeight)),l&&!u&&(u=gh(l/2)),(t!==void 0||n!==void 0)&&r&&c.height&&u>c.height&&(u=c.height,l=gh(Math.floor(u*r))),{width:l,height:u}}function vh(e,t,n){let r=t||1,i=gh(e.height*r),a=gh(e.width*r);e.height=gh(e.height),e.width=gh(e.width);let o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),e.currentDevicePixelRatio!==r||o.height!==i||o.width!==a?(e.currentDevicePixelRatio=r,o.height=i,o.width=a,e.ctx.setTransform(r,0,0,r,0,0),!0):!1}var yh=function(){let e=!1;try{let t={get passive(){return e=!0,!1}};ah()&&(window.addEventListener(`test`,null,t),window.removeEventListener(`test`,null,t))}catch{}return e}();function bh(e,t){let n=lh(e,t),r=n&&n.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}var xh=function(e,t){return{x(n){return e+e+t-n},setWidth(e){t=e},textAlign(e){return e===`center`?e:e===`right`?`left`:`right`},xPlus(e,t){return e-t},leftForLtr(e,t){return e-t}}},Sh=function(){return{x(e){return e},setWidth(e){},textAlign(e){return e},xPlus(e,t){return e+t},leftForLtr(e,t){return e}}};function Ch(e,t,n){return e?xh(t,n):Sh()}function wh(e,t){let n,r;(t===`ltr`||t===`rtl`)&&(n=e.canvas.style,r=[n.getPropertyValue(`direction`),n.getPropertyPriority(`direction`)],n.setProperty(`direction`,t,`important`),e.prevTextDirection=r)}function Th(e,t){t!==void 0&&(delete e.prevTextDirection,e.canvas.style.setProperty(`direction`,t[0],t[1]))}function Eh(e,t,n){return e.options.clip?e[n]:t[n]}function Dh(e,t){let{xScale:n,yScale:r}=e;return n&&r?{left:Eh(n,t,`left`),right:Eh(n,t,`right`),top:Eh(r,t,`top`),bottom:Eh(r,t,`bottom`)}:t}function Oh(e,t){let n=t._clip;if(n.disabled)return!1;let r=Dh(t,e.chartArea);return{left:n.left===!1?0:r.left-(n.left===!0?0:n.left),right:n.right===!1?e.width:r.right+(n.right===!0?0:n.right),top:n.top===!1?0:r.top-(n.top===!0?0:n.top),bottom:n.bottom===!1?e.height:r.bottom+(n.bottom===!0?0:n.bottom)}}var kh=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,n,r){let i=t.listeners[r],a=t.duration;i.forEach(r=>r({chart:e,initial:t.initial,numSteps:a,currentStep:Math.min(n-t.start,a)}))}_refresh(){this._request||=(this._running=!0,Rp.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((n,r)=>{if(!n.running||!n.items.length)return;let i=n.items,a=i.length-1,o=!1,s;for(;a>=0;--a)s=i[a],s._active?(s._total>n.duration&&(n.duration=s._total),s.tick(e),o=!0):(i[a]=i[i.length-1],i.pop());o&&(r.draw(),this._notify(r,n,e,`progress`)),i.length||(n.running=!1,this._notify(r,n,e,`complete`),n.initial=!1),t+=i.length}),this._lastDate=e,t===0&&(this._running=!1)}_getAnims(e){let t=this._charts,n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){let t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((e,t)=>Math.max(e,t._duration),0),this._refresh())}running(e){if(!this._running)return!1;let t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){let t=this._charts.get(e);if(!t||!t.items.length)return;let n=t.items,r=n.length-1;for(;r>=0;--r)n[r].cancel();t.items=[],this._notify(e,t,Date.now(),`complete`)}remove(e){return this._charts.delete(e)}},Ah=`transparent`,jh={boolean(e,t,n){return n>.5?t:e},color(e,t,n){let r=Yp(e||Ah),i=r.valid&&Yp(t||Ah);return i&&i.valid?i.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}},Mh=class{constructor(e,t,n,r){let i=t[n];r=Lm([e.to,r,i,e.from]);let a=Lm([e.from,i,r]);this._active=!0,this._fn=e.fn||jh[e.type||typeof a],this._easing=qp[e.easing]||qp.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=a,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);let r=this._target[this._prop],i=n-this._start,a=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(a,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=Lm([e.to,t,r,e.from]),this._from=Lm([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){let t=e-this._start,n=this._duration,r=this._prop,i=this._from,a=this._loop,o=this._to,s;if(this._active=i!==o&&(a||t<n),!this._active){this._target[r]=o,this._notify(!0);return}if(t<0){this._target[r]=i;return}s=t/n%2,s=a&&s>1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[r]=this._fn(i,o,s)}wait(){let e=this._promises||=[];return new Promise((t,n)=>{e.push({res:t,rej:n})})}_notify(e){let t=e?`res`:`rej`,n=this._promises||[];for(let e=0;e<n.length;e++)n[e][t]()}},Nh=class{constructor(e,t){this._chart=e,this._properties=new Map,this.configure(t)}configure(e){if(!Ff(e))return;let t=Object.keys(fm.animation),n=this._properties;Object.getOwnPropertyNames(e).forEach(r=>{let i=e[r];if(!Ff(i))return;let a={};for(let e of t)a[e]=i[e];(Pf(i.properties)&&i.properties||[r]).forEach(e=>{(e===r||!n.has(e))&&n.set(e,a)})})}_animateOptions(e,t){let n=t.options,r=Fh(e,n);if(!r)return[];let i=this._createAnimations(r,n);return n.$shared&&Ph(e.options.$animations,n).then(()=>{e.options=n},()=>{}),i}_createAnimations(e,t){let n=this._properties,r=[],i=e.$animations||={},a=Object.keys(t),o=Date.now(),s;for(s=a.length-1;s>=0;--s){let c=a[s];if(c.charAt(0)===`$`)continue;if(c===`options`){r.push(...this._animateOptions(e,t));continue}let l=t[c],u=i[c],d=n.get(c);if(u)if(d&&u.active()){u.update(d,l,o);continue}else u.cancel();if(!d||!d.duration){e[c]=l;continue}i[c]=u=new Mh(d,e,c,l),r.push(u)}return r}update(e,t){if(this._properties.size===0){Object.assign(e,t);return}let n=this._createAnimations(e,t);if(n.length)return kh.add(this._chart,n),!0}};function Ph(e,t){let n=[],r=Object.keys(t);for(let t=0;t<r.length;t++){let i=e[r[t]];i&&i.active()&&n.push(i.wait())}return Promise.all(n)}function Fh(e,t){if(!t)return;let n=e.options;if(!n){e.options=t;return}return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n}function Ih(e,t){let n=e&&e.options||{},r=n.reverse,i=n.min===void 0?t:0,a=n.max===void 0?t:0;return{start:r?a:i,end:r?i:a}}function Lh(e,t,n){if(n===!1)return!1;let r=Ih(e,n),i=Ih(t,n);return{top:i.end,right:r.end,bottom:i.start,left:r.start}}function Rh(e){let t,n,r,i;return Ff(e)?(t=e.top,n=e.right,r=e.bottom,i=e.left):t=n=r=i=e,{top:t,right:n,bottom:r,left:i,disabled:e===!1}}function zh(e,t){let n=[],r=e._getSortedDatasetMetas(t),i,a;for(i=0,a=r.length;i<a;++i)n.push(r[i].index);return n}function Bh(e,t,n,r={}){let i=e.keys,a=r.mode===`single`,o,s,c,l;if(t===null)return;let u=!1;for(o=0,s=i.length;o<s;++o){if(c=+i[o],c===n){if(u=!0,r.all)continue;break}l=e.values[c],If(l)&&(a||t===0||fp(t)===fp(l))&&(t+=l)}return!u&&!r.all?0:t}function Vh(e,t){let{iScale:n,vScale:r}=t,i=n.axis===`x`?`x`:`y`,a=r.axis===`x`?`x`:`y`,o=Object.keys(e),s=Array(o.length),c,l,u;for(c=0,l=o.length;c<l;++c)u=o[c],s[c]={[i]:u,[a]:e[u]};return s}function Hh(e,t){let n=e&&e.options.stacked;return n||n===void 0&&t.stack!==void 0}function Uh(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}function Wh(e){let{min:t,max:n,minDefined:r,maxDefined:i}=e.getUserBounds();return{min:r?t:-1/0,max:i?n:1/0}}function Gh(e,t,n){let r=e[t]||(e[t]={});return r[n]||(r[n]={})}function Kh(e,t,n,r){for(let i of t.getMatchingVisibleMetas(r).reverse()){let t=e[i.index];if(n&&t>0||!n&&t<0)return i.index}return null}function qh(e,t){let{chart:n,_cachedMeta:r}=e,i=n._stacks||={},{iScale:a,vScale:o,index:s}=r,c=a.axis,l=o.axis,u=Uh(a,o,r),d=t.length,f;for(let e=0;e<d;++e){let n=t[e],{[c]:a,[l]:d}=n,p=n._stacks||={};f=p[l]=Gh(i,u,a),f[s]=d,f._top=Kh(f,o,!0,r.type),f._bottom=Kh(f,o,!1,r.type);let m=f._visualValues||={};m[s]=d}}function Jh(e,t){let n=e.scales;return Object.keys(n).filter(e=>n[e].axis===t).shift()}function Yh(e,t){return zm(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:`default`,type:`dataset`})}function Xh(e,t,n){return zm(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:`default`,type:`data`})}function Zh(e,t){let n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t||=e._parsed;for(let e of t){let t=e._stacks;if(!t||t[r]===void 0||t[r][n]===void 0)return;delete t[r][n],t[r]._visualValues!==void 0&&t[r]._visualValues[n]!==void 0&&delete t[r]._visualValues[n]}}}var Qh=e=>e===`reset`||e===`none`,$h=(e,t)=>t?e:Object.assign({},e),eg=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:zh(n,!0),values:null},tg=class{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){let e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=Hh(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled(`filler`)&&console.warn(`Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options`)}updateIndex(e){this.index!==e&&Zh(this._cachedMeta),this.index=e}linkScales(){let e=this.chart,t=this._cachedMeta,n=this.getDataset(),r=(e,t,n,r)=>e===`x`?t:e===`r`?r:n,i=t.xAxisID=Rf(n.xAxisID,Jh(e,`x`)),a=t.yAxisID=Rf(n.yAxisID,Jh(e,`y`)),o=t.rAxisID=Rf(n.rAxisID,Jh(e,`r`)),s=t.indexAxis,c=t.iAxisID=r(s,i,a,o),l=t.vAxisID=r(s,a,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(a),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(c),t.vScale=this.getScaleForId(l)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){let t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update(`reset`)}_destroy(){let e=this._cachedMeta;this._data&&Ip(this._data,this),e._stacked&&Zh(e)}_dataCheck(){let e=this.getDataset(),t=e.data||=[],n=this._data;if(Ff(t)){let e=this._cachedMeta;this._data=Vh(t,e)}else if(n!==t){if(n){Ip(n,this);let e=this._cachedMeta;Zh(e),e._parsed=[]}t&&Object.isExtensible(t)&&Fp(t,this),this._syncList=[],this._data=t}}addElements(){let e=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(e.dataset=new this.datasetElementType)}buildOrUpdateElements(e){let t=this._cachedMeta,n=this.getDataset(),r=!1;this._dataCheck();let i=t._stacked;t._stacked=Hh(t.vScale,t),t.stack!==n.stack&&(r=!0,Zh(t),t.stack=n.stack),this._resyncElements(e),(r||i!==t._stacked)&&(qh(this,t._parsed),t._stacked=Hh(t.vScale,t))}configure(){let e=this.chart.config,t=e.datasetScopeKeys(this._type),n=e.getOptionScopes(this.getDataset(),t,!0);this.options=e.createResolver(n,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(e,t){let{_cachedMeta:n,_data:r}=this,{iScale:i,_stacked:a}=n,o=i.axis,s=e===0&&t===r.length?!0:n._sorted,c=e>0&&n._parsed[e-1],l,u,d;if(this._parsing===!1)n._parsed=r,n._sorted=!0,d=r;else{d=Pf(r[e])?this.parseArrayData(n,r,e,t):Ff(r[e])?this.parseObjectData(n,r,e,t):this.parsePrimitiveData(n,r,e,t);let i=()=>u[o]===null||c&&u[o]<c[o];for(l=0;l<t;++l)n._parsed[l+e]=u=d[l],s&&(i()&&(s=!1),c=u);n._sorted=s}a&&qh(this,d)}parsePrimitiveData(e,t,n,r){let{iScale:i,vScale:a}=e,o=i.axis,s=a.axis,c=i.getLabels(),l=i===a,u=Array(r),d,f,p;for(d=0,f=r;d<f;++d)p=d+n,u[d]={[o]:l||i.parse(c[p],p),[s]:a.parse(t[p],p)};return u}parseArrayData(e,t,n,r){let{xScale:i,yScale:a}=e,o=Array(r),s,c,l,u;for(s=0,c=r;s<c;++s)l=s+n,u=t[l],o[s]={x:i.parse(u[0],l),y:a.parse(u[1],l)};return o}parseObjectData(e,t,n,r){let{xScale:i,yScale:a}=e,{xAxisKey:o=`x`,yAxisKey:s=`y`}=this._parsing,c=Array(r),l,u,d,f;for(l=0,u=r;l<u;++l)d=l+n,f=t[d],c[l]={x:i.parse(Qf(f,o),d),y:a.parse(Qf(f,s),d)};return c}getParsed(e){return this._cachedMeta._parsed[e]}getDataElement(e){return this._cachedMeta.data[e]}applyStack(e,t,n){let r=this.chart,i=this._cachedMeta,a=t[e.axis];return Bh({keys:zh(r,!0),values:t._stacks[e.axis]._visualValues},a,i.index,{mode:n})}updateRangeFromParsed(e,t,n,r){let i=n[t.axis],a=i===null?NaN:i,o=r&&n._stacks[t.axis];r&&o&&(r.values=o,a=Bh(r,i,this._cachedMeta.index)),e.min=Math.min(e.min,a),e.max=Math.max(e.max,a)}getMinMax(e,t){let n=this._cachedMeta,r=n._parsed,i=n._sorted&&e===n.iScale,a=r.length,o=this._getOtherScale(e),s=eg(t,n,this.chart),c={min:1/0,max:-1/0},{min:l,max:u}=Wh(o),d,f;function p(){f=r[d];let t=f[o.axis];return!If(f[e.axis])||l>t||u<t}for(d=0;d<a&&!(!p()&&(this.updateRangeFromParsed(c,e,f,s),i));++d);if(i){for(d=a-1;d>=0;--d)if(!p()){this.updateRangeFromParsed(c,e,f,s);break}}return c}getAllParsedValues(e){let t=this._cachedMeta._parsed,n=[],r,i,a;for(r=0,i=t.length;r<i;++r)a=t[r][e.axis],If(a)&&n.push(a);return n}getMaxOverflow(){return!1}getLabelAndValue(e){let t=this._cachedMeta,n=t.iScale,r=t.vScale,i=this.getParsed(e);return{label:n?``+n.getLabelForValue(i[n.axis]):``,value:r?``+r.getLabelForValue(i[r.axis]):``}}_update(e){let t=this._cachedMeta;this.update(e||`default`),t._clip=Rh(Rf(this.options.clip,Lh(t.xScale,t.yScale,this.getMaxOverflow())))}update(e){}draw(){let e=this._ctx,t=this.chart,n=this._cachedMeta,r=n.data||[],i=t.chartArea,a=[],o=this._drawStart||0,s=this._drawCount||r.length-o,c=this.options.drawActiveElementsOnTop,l;for(n.dataset&&n.dataset.draw(e,i,o,s),l=o;l<o+s;++l){let t=r[l];t.hidden||(t.active&&c?a.push(t):t.draw(e,i))}for(l=0;l<a.length;++l)a[l].draw(e,i)}getStyle(e,t){let n=t?`active`:`default`;return e===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(n):this.resolveDataElementOptions(e||0,n)}getContext(e,t,n){let r=this.getDataset(),i;if(e>=0&&e<this._cachedMeta.data.length){let t=this._cachedMeta.data[e];i=t.$context||=Xh(this.getContext(),e,t),i.parsed=this.getParsed(e),i.raw=r.data[e],i.index=i.dataIndex=e}else i=this.$context||=Yh(this.chart.getContext(),this.index),i.dataset=r,i.index=i.datasetIndex=this.index;return i.active=!!t,i.mode=n,i}resolveDatasetElementOptions(e){return this._resolveElementOptions(this.datasetElementType.id,e)}resolveDataElementOptions(e,t){return this._resolveElementOptions(this.dataElementType.id,t,e)}_resolveElementOptions(e,t=`default`,n){let r=t===`active`,i=this._cachedDataOpts,a=e+`-`+t,o=i[a],s=this.enableOptionSharing&&ep(n);if(o)return $h(o,s);let c=this.chart.config,l=c.datasetElementScopeKeys(this._type,e),u=r?[`${e}Hover`,`hover`,e,``]:[e,``],d=c.getOptionScopes(this.getDataset(),l),f=Object.keys(fm.elements[e]),p=c.resolveNamedOptions(d,f,()=>this.getContext(n,r,t),u);return p.$shared&&(p.$shared=s,i[a]=Object.freeze($h(p,s))),p}_resolveAnimations(e,t,n){let r=this.chart,i=this._cachedDataOpts,a=`animation-${t}`,o=i[a];if(o)return o;let s;if(r.options.animation!==!1){let r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,t),a=r.getOptionScopes(this.getDataset(),i);s=r.createResolver(a,this.getContext(e,n,t))}let c=new Nh(r,s&&s.animations);return s&&s._cacheable&&(i[a]=Object.freeze(c)),c}getSharedOptions(e){if(e.$shared)return this._sharedOptions||=Object.assign({},e)}includeOptions(e,t){return!t||Qh(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){let n=this.resolveDataElementOptions(e,t),r=this._sharedOptions,i=this.getSharedOptions(n),a=this.includeOptions(t,i)||i!==r;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:a}}updateElement(e,t,n,r){Qh(r)?Object.assign(e,n):this._resolveAnimations(t,r).update(e,n)}updateSharedOptions(e,t,n){e&&!Qh(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,r){e.active=r;let i=this.getStyle(t,r);this._resolveAnimations(t,n,r).update(e,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,`active`,!1)}setHoverStyle(e,t,n){this._setStyle(e,n,`active`,!0)}_removeDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!1)}_setDatasetHoverStyle(){let e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,`active`,!0)}_resyncElements(e){let t=this._data,n=this._cachedMeta.data;for(let[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];let r=n.length,i=t.length,a=Math.min(i,r);a&&this.parse(0,a),i>r?this._insertElements(r,i-r,e):i<r&&this._removeElements(i,r-i)}_insertElements(e,t,n=!0){let r=this._cachedMeta,i=r.data,a=e+t,o,s=e=>{for(e.length+=t,o=e.length-1;o>=a;o--)e[o]=e[o-t]};for(s(i),o=e;o<a;++o)i[o]=new this.dataElementType;this._parsing&&s(r._parsed),this.parse(e,t),n&&this.updateElements(i,e,t,`reset`)}updateElements(e,t,n,r){}_removeElements(e,t){let n=this._cachedMeta;if(this._parsing){let r=n._parsed.splice(e,t);n._stacked&&Zh(n,r)}n.data.splice(e,t)}_sync(e){if(this._parsing)this._syncList.push(e);else{let[t,n,r]=e;this[t](n,r)}this.chart._dataChanges.push([this.index,...e])}_onDataPush(){let e=arguments.length;this._sync([`_insertElements`,this.getDataset().data.length-e,e])}_onDataPop(){this._sync([`_removeElements`,this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync([`_removeElements`,0,1])}_onDataSplice(e,t){t&&this._sync([`_removeElements`,e,t]);let n=arguments.length-2;n&&this._sync([`_insertElements`,e,n])}_onDataUnshift(){this._sync([`_insertElements`,0,arguments.length])}};function ng(e,t){if(!e._cache.$bar){let n=e.getMatchingVisibleMetas(t),r=[];for(let t=0,i=n.length;t<i;t++)r=r.concat(n[t].controller.getAllParsedValues(e));e._cache.$bar=Lp(r.sort((e,t)=>e-t))}return e._cache.$bar}function rg(e){let t=e.iScale,n=ng(t,e.type),r=t._length,i,a,o,s,c=()=>{o===32767||o===-32768||(ep(s)&&(r=Math.min(r,Math.abs(o-s)||r)),s=o)};for(i=0,a=n.length;i<a;++i)o=t.getPixelForValue(n[i]),c();for(s=void 0,i=0,a=t.ticks.length;i<a;++i)o=t.getPixelForTick(i),c();return r}function ig(e,t,n,r){let i=n.barThickness,a,o;return Nf(i)?(a=t.min*n.categoryPercentage,o=n.barPercentage):(a=i*r,o=1),{chunk:a/r,ratio:o,start:t.pixels[e]-a/2}}function ag(e,t,n,r){let i=t.pixels,a=i[e],o=e>0?i[e-1]:null,s=e<i.length-1?i[e+1]:null,c=n.categoryPercentage;o===null&&(o=a-(s===null?t.end-t.start:s-a)),s===null&&(s=a+a-o);let l=a-(a-Math.min(o,s))/2*c;return{chunk:Math.abs(s-o)/2*c/r,ratio:n.barPercentage,start:l}}function og(e,t,n,r){let i=n.parse(e[0],r),a=n.parse(e[1],r),o=Math.min(i,a),s=Math.max(i,a),c=o,l=s;Math.abs(o)>Math.abs(s)&&(c=s,l=o),t[n.axis]=l,t._custom={barStart:c,barEnd:l,start:i,end:a,min:o,max:s}}function sg(e,t,n,r){return Pf(e)?og(e,t,n,r):t[n.axis]=n.parse(e,r),t}function cg(e,t,n,r){let i=e.iScale,a=e.vScale,o=i.getLabels(),s=i===a,c=[],l,u,d,f;for(l=n,u=n+r;l<u;++l)f=t[l],d={},d[i.axis]=s||i.parse(o[l],l),c.push(sg(f,d,a,l));return c}function lg(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function ug(e,t,n){return e===0?(t.isHorizontal()?1:-1)*(t.min>=n?1:-1):fp(e)}function dg(e){let t,n,r,i,a;return e.horizontal?(t=e.base>e.x,n=`left`,r=`right`):(t=e.base<e.y,n=`bottom`,r=`top`),t?(i=`end`,a=`start`):(i=`start`,a=`end`),{start:n,end:r,reverse:t,top:i,bottom:a}}function fg(e,t,n,r){let i=t.borderSkipped,a={};if(!i){e.borderSkipped=a;return}if(i===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}let{start:o,end:s,reverse:c,top:l,bottom:u}=dg(e);i===`middle`&&n&&(e.enableBorderRadius=!0,(n._top||0)===r?i=l:(n._bottom||0)===r?i=u:(a[pg(u,o,s,c)]=!0,i=l)),a[pg(i,o,s,c)]=!0,e.borderSkipped=a}function pg(e,t,n,r){return r?(e=mg(e,t,n),e=hg(e,n,t)):e=hg(e,t,n),e}function mg(e,t,n){return e===t?n:e===n?t:e}function hg(e,t,n){return e===`start`?t:e===`end`?n:e}function gg(e,{inflateAmount:t},n){e.inflateAmount=t===`auto`?n===1?.33:0:t}var _g=class extends tg{static id=`bar`;static defaults={datasetElementType:!1,dataElementType:`bar`,categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:`number`,properties:[`x`,`y`,`base`,`width`,`height`]}}};static overrides={scales:{_index_:{type:`category`,offset:!0,grid:{offset:!0}},_value_:{type:`linear`,beginAtZero:!0}}};parsePrimitiveData(e,t,n,r){return cg(e,t,n,r)}parseArrayData(e,t,n,r){return cg(e,t,n,r)}parseObjectData(e,t,n,r){let{iScale:i,vScale:a}=e,{xAxisKey:o=`x`,yAxisKey:s=`y`}=this._parsing,c=i.axis===`x`?o:s,l=a.axis===`x`?o:s,u=[],d,f,p,m;for(d=n,f=n+r;d<f;++d)m=t[d],p={},p[i.axis]=i.parse(Qf(m,c),d),u.push(sg(Qf(m,l),p,a,d));return u}updateRangeFromParsed(e,t,n,r){super.updateRangeFromParsed(e,t,n,r);let i=n._custom;i&&t===this._cachedMeta.vScale&&(e.min=Math.min(e.min,i.min),e.max=Math.max(e.max,i.max))}getMaxOverflow(){return 0}getLabelAndValue(e){let{iScale:t,vScale:n}=this._cachedMeta,r=this.getParsed(e),i=r._custom,a=lg(i)?`[`+i.start+`, `+i.end+`]`:``+n.getLabelForValue(r[n.axis]);return{label:``+t.getLabelForValue(r[t.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();let e=this._cachedMeta;e.stack=this.getDataset().stack}update(e){let t=this._cachedMeta;this.updateElements(t.data,0,t.data.length,e)}updateElements(e,t,n,r){let i=r===`reset`,{index:a,_cachedMeta:{vScale:o}}=this,s=o.getBasePixel(),c=o.isHorizontal(),l=this._getRuler(),{sharedOptions:u,includeOptions:d}=this._getSharedOptions(t,r);for(let f=t;f<t+n;f++){let t=this.getParsed(f),n=i||Nf(t[o.axis])?{base:s,head:s}:this._calculateBarValuePixels(f),p=this._calculateBarIndexPixels(f,l),m=(t._stacks||{})[o.axis],h={horizontal:c,base:n.base,enableBorderRadius:!m||lg(t._custom)||a===m._top||a===m._bottom,x:c?n.head:p.center,y:c?p.center:n.head,height:c?p.size:Math.abs(n.size),width:c?Math.abs(n.size):p.size};d&&(h.options=u||this.resolveDataElementOptions(f,e[f].active?`active`:r));let g=h.options||e[f].options;fg(h,g,m,a),gg(h,g,l.ratio),this.updateElement(e[f],f,h,r)}}_getStacks(e,t){let{iScale:n}=this._cachedMeta,r=n.getMatchingVisibleMetas(this._type).filter(e=>e.controller.options.grouped),i=n.options.stacked,a=[],o=this._cachedMeta.controller.getParsed(t),s=o&&o[n.axis],c=e=>{let t=e._parsed.find(e=>e[n.axis]===s),r=t&&t[e.vScale.axis];if(Nf(r)||isNaN(r))return!0};for(let n of r)if(!(t!==void 0&&c(n))&&((i===!1||a.indexOf(n.stack)===-1||i===void 0&&n.stack===void 0)&&a.push(n.stack),n.index===e))break;return a.length||a.push(void 0),a}_getStackCount(e){return this._getStacks(void 0,e).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){let e=this.chart.scales,t=this.chart.options.indexAxis;return Object.keys(e).filter(n=>e[n].axis===t).shift()}_getAxis(){let e={},t=this.getFirstScaleIdForIndexAxis();for(let n of this.chart.data.datasets)e[Rf(this.chart.options.indexAxis===`x`?n.xAxisID:n.yAxisID,t)]=!0;return Object.keys(e)}_getStackIndex(e,t,n){let r=this._getStacks(e,n),i=t===void 0?-1:r.indexOf(t);return i===-1?r.length-1:i}_getRuler(){let e=this.options,t=this._cachedMeta,n=t.iScale,r=[],i,a;for(i=0,a=t.data.length;i<a;++i)r.push(n.getPixelForValue(this.getParsed(i)[n.axis],i));let o=e.barThickness;return{min:o||rg(t),pixels:r,start:n._startPixel,end:n._endPixel,stackCount:this._getStackCount(),scale:n,grouped:e.grouped,ratio:o?1:e.categoryPercentage*e.barPercentage}}_calculateBarValuePixels(e){let{_cachedMeta:{vScale:t,_stacked:n,index:r},options:{base:i,minBarLength:a}}=this,o=i||0,s=this.getParsed(e),c=s._custom,l=lg(c),u=s[t.axis],d=0,f=n?this.applyStack(t,s,n):u,p,m;f!==u&&(d=f-u,f=u),l&&(u=c.barStart,f=c.barEnd-c.barStart,u!==0&&fp(u)!==fp(c.barEnd)&&(d=0),d+=u);let h=!Nf(i)&&!l?i:d,g=t.getPixelForValue(h);if(p=this.chart.getDataVisibility(e)?t.getPixelForValue(d+f):g,m=p-g,Math.abs(m)<a){m=ug(m,t,o)*a,u===o&&(g-=m/2);let e=t.getPixelForDecimal(0),i=t.getPixelForDecimal(1);g=Math.max(Math.min(g,Math.max(e,i)),Math.min(e,i)),p=g+m,n&&!l&&(s._stacks[t.axis]._visualValues[r]=t.getValueForPixel(p)-t.getValueForPixel(g))}if(g===t.getPixelForValue(o)){let e=fp(m)*t.getLineWidthForValue(o)/2;g+=e,m-=e}return{size:m,base:g,head:p,center:p+m/2}}_calculateBarIndexPixels(e,t){let n=t.scale,r=this.options,i=r.skipNull,a=Rf(r.maxBarThickness,1/0),o,s,c=this._getAxisCount();if(t.grouped){let n=i?this._getStackCount(e):t.stackCount,l=r.barThickness===`flex`?ag(e,t,r,n*c):ig(e,t,r,n*c),u=this.chart.options.indexAxis===`x`?this.getDataset().xAxisID:this.getDataset().yAxisID,d=this._getAxis().indexOf(Rf(u,this.getFirstScaleIdForIndexAxis())),f=this._getStackIndex(this.index,this._cachedMeta.stack,i?e:void 0)+d;o=l.start+l.chunk*f+l.chunk/2,s=Math.min(a,l.chunk*l.ratio)}else o=n.getPixelForValue(this.getParsed(e)[n.axis],e),s=Math.min(a,t.min*t.ratio);return{base:o-s/2,head:o+s/2,center:o,size:s}}draw(){let e=this._cachedMeta,t=e.vScale,n=e.data,r=n.length,i=0;for(;i<r;++i)this.getParsed(i)[t.axis]!==null&&!n[i].hidden&&n[i].draw(this._ctx)}};function vg(){throw Error(`This method is not implemented: Check that a complete date adapter is provided.`)}var yg={_date:class e{static override(t){Object.assign(e.prototype,t)}options;constructor(e){this.options=e||{}}init(){}formats(){return vg()}parse(){return vg()}format(){return vg()}add(){return vg()}diff(){return vg()}startOf(){return vg()}endOf(){return vg()}}};function bg(e,t,n,r){let{controller:i,data:a,_sorted:o}=e,s=i._cachedMeta.iScale,c=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!==`r`&&o&&a.length){let o=s._reversePixels?Mp:jp;if(!r){let r=o(a,t,n);if(c){let{vScale:t}=i._cachedMeta,{_parsed:n}=e,a=n.slice(0,r.lo+1).reverse().findIndex(e=>!Nf(e[t.axis]));r.lo-=Math.max(0,a);let o=n.slice(r.hi).findIndex(e=>!Nf(e[t.axis]));r.hi+=Math.max(0,o)}return r}else if(i._sharedOptions){let e=a[0],r=typeof e.getRange==`function`&&e.getRange(t);if(r){let e=o(a,t,n-r),i=o(a,t,n+r);return{lo:e.lo,hi:i.hi}}}}return{lo:0,hi:a.length-1}}function xg(e,t,n,r,i){let a=e.getSortedVisibleDatasetMetas(),o=n[t];for(let e=0,n=a.length;e<n;++e){let{index:n,data:s}=a[e],{lo:c,hi:l}=bg(a[e],t,o,i);for(let e=c;e<=l;++e){let t=s[e];t.skip||r(t,n,e)}}}function Sg(e){let t=e.indexOf(`x`)!==-1,n=e.indexOf(`y`)!==-1;return function(e,r){let i=t?Math.abs(e.x-r.x):0,a=n?Math.abs(e.y-r.y):0;return Math.sqrt(i**2+a**2)}}function Cg(e,t,n,r,i){let a=[];return!i&&!e.isPointInArea(t)||xg(e,n,t,function(n,o,s){!i&&!bm(n,e.chartArea,0)||n.inRange(t.x,t.y,r)&&a.push({element:n,datasetIndex:o,index:s})},!0),a}function wg(e,t,n,r){let i=[];function a(e,n,a){let{startAngle:o,endAngle:s}=e.getProps([`startAngle`,`endAngle`],r),{angle:c}=Cp(e,{x:t.x,y:t.y});Ep(c,o,s)&&i.push({element:e,datasetIndex:n,index:a})}return xg(e,n,t,a),i}function Tg(e,t,n,r,i,a){let o=[],s=Sg(n),c=1/0;function l(n,l,u){let d=n.inRange(t.x,t.y,i);if(r&&!d)return;let f=n.getCenterPoint(i);if(!(a||e.isPointInArea(f))&&!d)return;let p=s(t,f);p<c?(o=[{element:n,datasetIndex:l,index:u}],c=p):p===c&&o.push({element:n,datasetIndex:l,index:u})}return xg(e,n,t,l),o}function Eg(e,t,n,r,i,a){return!a&&!e.isPointInArea(t)?[]:n===`r`&&!r?wg(e,t,n,i):Tg(e,t,n,r,i,a)}function Dg(e,t,n,r,i){let a=[],o=n===`x`?`inXRange`:`inYRange`,s=!1;return xg(e,n,t,(e,r,c)=>{e[o]&&e[o](t[n],i)&&(a.push({element:e,datasetIndex:r,index:c}),s||=e.inRange(t.x,t.y,i))}),r&&!s?[]:a}var Og={evaluateInteractionItems:xg,modes:{index(e,t,n,r){let i=mh(t,e),a=n.axis||`x`,o=n.includeInvisible||!1,s=n.intersect?Cg(e,i,a,r,o):Eg(e,i,a,!1,r,o),c=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(e=>{let t=s[0].index,n=e.data[t];n&&!n.skip&&c.push({element:n,datasetIndex:e.index,index:t})}),c):[]},dataset(e,t,n,r){let i=mh(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1,s=n.intersect?Cg(e,i,a,r,o):Eg(e,i,a,!1,r,o);if(s.length>0){let t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;e<n.length;++e)s.push({element:n[e],datasetIndex:t,index:e})}return s},point(e,t,n,r){return Cg(e,mh(t,e),n.axis||`xy`,r,n.includeInvisible||!1)},nearest(e,t,n,r){let i=mh(t,e),a=n.axis||`xy`,o=n.includeInvisible||!1;return Eg(e,i,a,n.intersect,r,o)},x(e,t,n,r){return Dg(e,mh(t,e),`x`,n.intersect,r)},y(e,t,n,r){return Dg(e,mh(t,e),`y`,n.intersect,r)}}},kg=[`left`,`top`,`right`,`bottom`];function Ag(e,t){return e.filter(e=>e.pos===t)}function jg(e,t){return e.filter(e=>kg.indexOf(e.pos)===-1&&e.box.axis===t)}function Mg(e,t){return e.sort((e,n)=>{let r=t?n:e,i=t?e:n;return r.weight===i.weight?r.index-i.index:r.weight-i.weight})}function Ng(e){let t=[],n,r,i,a,o,s;for(n=0,r=(e||[]).length;n<r;++n)i=e[n],{position:a,options:{stack:o,stackWeight:s=1}}=i,t.push({index:n,box:i,pos:a,horizontal:i.isHorizontal(),weight:i.weight,stack:o&&a+o,stackWeight:s});return t}function Pg(e){let t={};for(let n of e){let{stack:e,pos:r,stackWeight:i}=n;if(!e||!kg.includes(r))continue;let a=t[e]||(t[e]={count:0,placed:0,weight:0,size:0});a.count++,a.weight+=i}return t}function Fg(e,t){let n=Pg(e),{vBoxMaxWidth:r,hBoxMaxHeight:i}=t,a,o,s;for(a=0,o=e.length;a<o;++a){s=e[a];let{fullSize:o}=s.box,c=n[s.stack],l=c&&s.stackWeight/c.weight;s.horizontal?(s.width=l?l*r:o&&t.availableWidth,s.height=i):(s.width=r,s.height=l?l*i:o&&t.availableHeight)}return n}function Ig(e){let t=Ng(e),n=Mg(t.filter(e=>e.box.fullSize),!0),r=Mg(Ag(t,`left`),!0),i=Mg(Ag(t,`right`)),a=Mg(Ag(t,`top`),!0),o=Mg(Ag(t,`bottom`)),s=jg(t,`x`),c=jg(t,`y`);return{fullSize:n,leftAndTop:r.concat(a),rightAndBottom:i.concat(c).concat(o).concat(s),chartArea:Ag(t,`chartArea`),vertical:r.concat(i).concat(c),horizontal:a.concat(o).concat(s)}}function Lg(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function Rg(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function zg(e,t,n,r){let{pos:i,box:a}=n,o=e.maxPadding;if(!Ff(i)){n.size&&(e[i]-=n.size);let t=r[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?a.height:a.width),n.size=t.size/t.count,e[i]+=n.size}a.getPadding&&Rg(o,a.getPadding());let s=Math.max(0,t.outerWidth-Lg(o,e,`left`,`right`)),c=Math.max(0,t.outerHeight-Lg(o,e,`top`,`bottom`)),l=s!==e.w,u=c!==e.h;return e.w=s,e.h=c,n.horizontal?{same:l,other:u}:{same:u,other:l}}function Bg(e){let t=e.maxPadding;function n(n){let r=Math.max(t[n]-e[n],0);return e[n]+=r,r}e.y+=n(`top`),e.x+=n(`left`),n(`right`),n(`bottom`)}function Vg(e,t){let n=t.maxPadding;function r(e){let r={left:0,top:0,right:0,bottom:0};return e.forEach(e=>{r[e]=Math.max(t[e],n[e])}),r}return r(e?[`left`,`right`]:[`top`,`bottom`])}function Hg(e,t,n,r){let i=[],a,o,s,c,l,u;for(a=0,o=e.length,l=0;a<o;++a){s=e[a],c=s.box,c.update(s.width||t.w,s.height||t.h,Vg(s.horizontal,t));let{same:o,other:d}=zg(t,n,s,r);l|=o&&i.length,u||=d,c.fullSize||i.push(s)}return l&&Hg(i,t,n,r)||u}function Ug(e,t,n,r,i){e.top=n,e.left=t,e.right=t+r,e.bottom=n+i,e.width=r,e.height=i}function Wg(e,t,n,r){let i=n.padding,{x:a,y:o}=t;for(let s of e){let e=s.box,c=r[s.stack]||{count:1,placed:0,weight:1},l=s.stackWeight/c.weight||1;if(s.horizontal){let r=t.w*l,a=c.size||e.height;ep(c.start)&&(o=c.start),e.fullSize?Ug(e,i.left,o,n.outerWidth-i.right-i.left,a):Ug(e,t.left+c.placed,o,r,a),c.start=o,c.placed+=r,o=e.bottom}else{let r=t.h*l,o=c.size||e.width;ep(c.start)&&(a=c.start),e.fullSize?Ug(e,a,i.top,o,n.outerHeight-i.bottom-i.top):Ug(e,a,t.top+c.placed,o,r),c.start=a,c.placed+=r,a=e.right}}t.x=a,t.y=o}var Gg={addBox(e,t){e.boxes||=[],t.fullSize=t.fullSize||!1,t.position=t.position||`top`,t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(e){t.draw(e)}}]},e.boxes.push(t)},removeBox(e,t){let n=e.boxes?e.boxes.indexOf(t):-1;n!==-1&&e.boxes.splice(n,1)},configure(e,t,n){t.fullSize=n.fullSize,t.position=n.position,t.weight=n.weight},update(e,t,n,r){if(!e)return;let i=Fm(e.options.layout.padding),a=Math.max(t-i.width,0),o=Math.max(n-i.height,0),s=Ig(e.boxes),c=s.vertical,l=s.horizontal;Vf(e.boxes,e=>{typeof e.beforeLayout==`function`&&e.beforeLayout()});let u=c.reduce((e,t)=>t.box.options&&t.box.options.display===!1?e:e+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/u,hBoxMaxHeight:o/2}),f=Object.assign({},i);Rg(f,Fm(r));let p=Object.assign({maxPadding:f,w:a,h:o,x:i.left,y:i.top},i),m=Fg(c.concat(l),d);Hg(s.fullSize,p,d,m),Hg(c,p,d,m),Hg(l,p,d,m)&&Hg(c,p,d,m),Bg(p),Wg(s.leftAndTop,p,d,m),p.x+=p.w,p.y+=p.h,Wg(s.rightAndBottom,p,d,m),e.chartArea={left:p.left,top:p.top,right:p.left+p.w,bottom:p.top+p.h,height:p.h,width:p.w},Vf(s.chartArea,t=>{let n=t.box;Object.assign(n,e.chartArea),n.update(p.w,p.h,{left:0,top:0,right:0,bottom:0})})}},Kg=class{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,r){return t=Math.max(0,t||e.width),n||=e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):n)}}isAttached(e){return!0}updateConfig(e){}},qg=class extends Kg{acquireContext(e){return e&&e.getContext&&e.getContext(`2d`)||null}updateConfig(e){e.options.animation=!1}},Jg=`$chartjs`,Yg={touchstart:`mousedown`,touchmove:`mousemove`,touchend:`mouseup`,pointerenter:`mouseenter`,pointerdown:`mousedown`,pointermove:`mousemove`,pointerup:`mouseup`,pointerleave:`mouseout`,pointerout:`mouseout`},Xg=e=>e===null||e===``;function Zg(e,t){let n=e.style,r=e.getAttribute(`height`),i=e.getAttribute(`width`);if(e[Jg]={initial:{height:r,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||`block`,n.boxSizing=n.boxSizing||`border-box`,Xg(i)){let t=bh(e,`width`);t!==void 0&&(e.width=t)}if(Xg(r))if(e.style.height===``)e.height=e.width/(t||2);else{let t=bh(e,`height`);t!==void 0&&(e.height=t)}return e}var Qg=yh?{passive:!0}:!1;function $g(e,t,n){e&&e.addEventListener(t,n,Qg)}function e_(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,Qg)}function t_(e,t){let n=Yg[e.type]||e.type,{x:r,y:i}=mh(e,t);return{type:n,chart:t,native:e,x:r===void 0?null:r,y:i===void 0?null:i}}function n_(e,t){for(let n of e)if(n===t||n.contains(t))return!0}function r_(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=n_(n.addedNodes,r),t&&=!n_(n.removedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}function i_(e,t,n){let r=e.canvas,i=new MutationObserver(e=>{let t=!1;for(let n of e)t||=n_(n.removedNodes,r),t&&=!n_(n.addedNodes,r);t&&n()});return i.observe(document,{childList:!0,subtree:!0}),i}var a_=new Map,o_=0;function s_(){let e=window.devicePixelRatio;e!==o_&&(o_=e,a_.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function c_(e,t){a_.size||window.addEventListener(`resize`,s_),a_.set(e,t)}function l_(e){a_.delete(e),a_.size||window.removeEventListener(`resize`,s_)}function u_(e,t,n){let r=e.canvas,i=r&&oh(r);if(!i)return;let a=zp((e,t)=>{let r=i.clientWidth;n(e,t),r<i.clientWidth&&n()},window),o=new ResizeObserver(e=>{let t=e[0],n=t.contentRect.width,r=t.contentRect.height;n===0&&r===0||a(n,r)});return o.observe(i),c_(e,a),o}function d_(e,t,n){n&&n.disconnect(),t===`resize`&&l_(e)}function f_(e,t,n){let r=e.canvas,i=zp(t=>{e.ctx!==null&&n(t_(t,e))},e);return $g(r,t,i),i}var p_=class extends Kg{acquireContext(e,t){let n=e&&e.getContext&&e.getContext(`2d`);return n&&n.canvas===e?(Zg(e,t),n):null}releaseContext(e){let t=e.canvas;if(!t[Jg])return!1;let n=t[Jg].initial;[`height`,`width`].forEach(e=>{let r=n[e];Nf(r)?t.removeAttribute(e):t.setAttribute(e,r)});let r=n.style||{};return Object.keys(r).forEach(e=>{t.style[e]=r[e]}),t.width=t.width,delete t[Jg],!0}addEventListener(e,t,n){this.removeEventListener(e,t);let r=e.$proxies||={};r[t]=({attach:r_,detach:i_,resize:u_}[t]||f_)(e,t,n)}removeEventListener(e,t){let n=e.$proxies||={},r=n[t];r&&(({attach:d_,detach:d_,resize:d_}[t]||e_)(e,t,r),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,r){return _h(e,t,n,r)}isAttached(e){let t=e&&oh(e);return!!(t&&t.isConnected)}};function m_(e){return!ah()||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas?qg:p_}var h_=class{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(e){let{x:t,y:n}=this.getProps([`x`,`y`],e);return{x:t,y:n}}hasValue(){return _p(this.x)&&_p(this.y)}getProps(e,t){let n=this.$animations;if(!t||!n)return this;let r={};return e.forEach(e=>{r[e]=n[e]&&n[e].active()?n[e]._to:this[e]}),r}};function g_(e,t){let n=e.options.ticks,r=__(e),i=Math.min(n.maxTicksLimit||r,r),a=n.major.enabled?y_(t):[],o=a.length,s=a[0],c=a[o-1],l=[];if(o>i)return b_(t,l,a,o/i),l;let u=v_(a,t,i);if(o>0){let e,n,r=o>1?Math.round((c-s)/(o-1)):null;for(x_(t,l,u,Nf(r)?0:s-r,s),e=0,n=o-1;e<n;e++)x_(t,l,u,a[e],a[e+1]);return x_(t,l,u,c,Nf(r)?t.length:c+r),l}return x_(t,l,u),l}function __(e){let t=e.options.offset,n=e._tickSize(),r=e._length/n+ +!t,i=e._maxLength/n;return Math.floor(Math.min(r,i))}function v_(e,t,n){let r=S_(e),i=t.length/n;if(!r)return Math.max(i,1);let a=hp(r);for(let e=0,t=a.length-1;e<t;e++){let t=a[e];if(t>i)return t}return Math.max(i,1)}function y_(e){let t=[],n,r;for(n=0,r=e.length;n<r;n++)e[n].major&&t.push(n);return t}function b_(e,t,n,r){let i=0,a=n[0],o;for(r=Math.ceil(r),o=0;o<e.length;o++)o===a&&(t.push(e[o]),i++,a=n[i*r])}function x_(e,t,n,r,i){let a=Rf(r,0),o=Math.min(Rf(i,e.length),e.length),s=0,c,l,u;for(n=Math.ceil(n),i&&(c=i-r,n=c/Math.floor(c/n)),u=a;u<0;)s++,u=Math.round(a+s*n);for(l=Math.max(a,0);l<o;l++)l===u&&(t.push(e[l]),s++,u=Math.round(a+s*n))}function S_(e){let t=e.length,n,r;if(t<2)return!1;for(r=e[0],n=1;n<t;++n)if(e[n]-e[n-1]!==r)return!1;return r}var C_=e=>e===`left`?`right`:e===`right`?`left`:e,w_=(e,t,n)=>t===`top`||t===`left`?e[t]+n:e[t]-n,T_=(e,t)=>Math.min(t||e,e);function E_(e,t){let n=[],r=e.length/t,i=e.length,a=0;for(;a<i;a+=r)n.push(e[Math.floor(a)]);return n}function D_(e,t,n){let r=e.ticks.length,i=Math.min(t,r-1),a=e._startPixel,o=e._endPixel,s=1e-6,c=e.getPixelForTick(i),l;if(!(n&&(l=r===1?Math.max(c-a,o-c):t===0?(e.getPixelForTick(1)-c)/2:(c-e.getPixelForTick(i-1))/2,c+=i<t?l:-l,c<a-s||c>o+s)))return c}function O_(e,t){Vf(e,e=>{let n=e.gc,r=n.length/2,i;if(r>t){for(i=0;i<r;++i)delete e.data[n[i]];n.splice(0,r)}})}function k_(e){return e.drawTicks?e.tickLength:0}function A_(e,t){if(!e.display)return 0;let n=Im(e.font,t),r=Fm(e.padding);return(Pf(e.text)?e.text.length:1)*n.lineHeight+r.height}function j_(e,t){return zm(e,{scale:t,type:`scale`})}function M_(e,t,n){return zm(e,{tick:n,index:t,type:`tick`})}function N_(e,t,n){let r=Vp(e);return(n&&t!==`right`||!n&&t===`right`)&&(r=C_(r)),r}function P_(e,t,n,r){let{top:i,left:a,bottom:o,right:s,chart:c}=e,{chartArea:l,scales:u}=c,d=0,f,p,m,h=o-i,g=s-a;if(e.isHorizontal()){if(p=Hp(r,a,s),Ff(n)){let e=Object.keys(n)[0],r=n[e];m=u[e].getPixelForValue(r)+h-t}else m=n===`center`?(l.bottom+l.top)/2+h-t:w_(e,n,t);f=s-a}else{if(Ff(n)){let e=Object.keys(n)[0],r=n[e];p=u[e].getPixelForValue(r)-g+t}else p=n===`center`?(l.left+l.right)/2-g+t:w_(e,n,t);m=Hp(r,o,i),d=n===`left`?-cp:cp}return{titleX:p,titleY:m,maxWidth:f,rotation:d}}var F_=class e extends h_{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,t){return e}getUserBounds(){let{_userMin:e,_userMax:t,_suggestedMin:n,_suggestedMax:r}=this;return e=Lf(e,1/0),t=Lf(t,-1/0),n=Lf(n,1/0),r=Lf(r,-1/0),{min:Lf(e,n),max:Lf(t,r),minDefined:If(e),maxDefined:If(t)}}getMinMax(e){let{min:t,max:n,minDefined:r,maxDefined:i}=this.getUserBounds(),a;if(r&&i)return{min:t,max:n};let o=this.getMatchingVisibleMetas();for(let s=0,c=o.length;s<c;++s)a=o[s].controller.getMinMax(this,e),r||(t=Math.min(t,a.min)),i||(n=Math.max(n,a.max));return t=i&&t>n?n:t,n=r&&t>n?t:n,{min:Lf(t,Lf(n,t)),max:Lf(n,Lf(t,n))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){let e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||=this._computeLabelItems(e)}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Bf(this.options.beforeUpdate,[this])}update(e,t,n){let{beginAtZero:r,grace:i,ticks:a}=this.options,o=a.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||=(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Rm(this,i,r),!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();let s=o<this.ticks.length;this._convertTicksToLabels(s?E_(this.ticks,o):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),a.display&&(a.autoSkip||a.source===`auto`)&&(this.ticks=g_(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),s&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let e=this.options.reverse,t,n;this.isHorizontal()?(t=this.left,n=this.right):(t=this.top,n=this.bottom,e=!e),this._startPixel=t,this._endPixel=n,this._reversePixels=e,this._length=n-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Bf(this.options.afterUpdate,[this])}beforeSetDimensions(){Bf(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Bf(this.options.afterSetDimensions,[this])}_callHooks(e){this.chart.notifyPlugins(e,this.getContext()),Bf(this.options[e],[this])}beforeDataLimits(){this._callHooks(`beforeDataLimits`)}determineDataLimits(){}afterDataLimits(){this._callHooks(`afterDataLimits`)}beforeBuildTicks(){this._callHooks(`beforeBuildTicks`)}buildTicks(){return[]}afterBuildTicks(){this._callHooks(`afterBuildTicks`)}beforeTickToLabelConversion(){Bf(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(e){let t=this.options.ticks,n,r,i;for(n=0,r=e.length;n<r;n++)i=e[n],i.label=Bf(t.callback,[i.value,n,e],this)}afterTickToLabelConversion(){Bf(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Bf(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){let e=this.options,t=e.ticks,n=T_(this.ticks.length,e.ticks.maxTicksLimit),r=t.minRotation||0,i=t.maxRotation,a=r,o,s,c;if(!this._isVisible()||!t.display||r>=i||n<=1||!this.isHorizontal()){this.labelRotation=r;return}let l=this._getLabelSizes(),u=l.widest.width,d=l.highest.height,f=Dp(this.chart.width-u,0,this.maxWidth);o=e.offset?this.maxWidth/n:f/(n-1),u+6>o&&(o=f/(n-(e.offset?.5:1)),s=this.maxHeight-k_(e.grid)-t.padding-A_(e.title,this.chart.options.font),c=Math.sqrt(u*u+d*d),a=xp(Math.min(Math.asin(Dp((l.highest.height+6)/o,-1,1)),Math.asin(Dp(s/c,-1,1))-Math.asin(Dp(d/c,-1,1)))),a=Math.max(r,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){Bf(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){Bf(this.options.beforeFit,[this])}fit(){let e={width:0,height:0},{chart:t,options:{ticks:n,title:r,grid:i}}=this,a=this._isVisible(),o=this.isHorizontal();if(a){let a=A_(r,t.options.font);if(o?(e.width=this.maxWidth,e.height=k_(i)+a):(e.height=this.maxHeight,e.width=k_(i)+a),n.display&&this.ticks.length){let{first:t,last:r,widest:i,highest:a}=this._getLabelSizes(),s=n.padding*2,c=bp(this.labelRotation),l=Math.cos(c),u=Math.sin(c);if(o){let t=n.mirror?0:u*i.width+l*a.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{let t=n.mirror?0:l*i.width+u*a.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,r,u,l)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,r){let{ticks:{align:i,padding:a},position:o}=this.options,s=this.labelRotation!==0,c=o!==`top`&&this.axis===`x`;if(this.isHorizontal()){let o=this.getPixelForTick(0)-this.left,l=this.right-this.getPixelForTick(this.ticks.length-1),u=0,d=0;s?c?(u=r*e.width,d=n*t.height):(u=n*e.height,d=r*t.width):i===`start`?d=t.width:i===`end`?u=e.width:i!==`inner`&&(u=e.width/2,d=t.width/2),this.paddingLeft=Math.max((u-o+a)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-l+a)*this.width/(this.width-l),0)}else{let n=t.height/2,r=e.height/2;i===`start`?(n=0,r=e.height):i===`end`&&(n=t.height,r=0),this.paddingTop=n+a,this.paddingBottom=r+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Bf(this.options.afterFit,[this])}isHorizontal(){let{axis:e,position:t}=this.options;return t===`top`||t===`bottom`||e===`x`}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){this.beforeTickToLabelConversion(),this.generateTickLabels(e);let t,n;for(t=0,n=e.length;t<n;t++)Nf(e[t].label)&&(e.splice(t,1),n--,t--);this.afterTickToLabelConversion()}_getLabelSizes(){let e=this._labelSizes;if(!e){let t=this.options.ticks.sampleSize,n=this.ticks;t<n.length&&(n=E_(n,t)),this._labelSizes=e=this._computeLabelSizes(n,n.length,this.options.ticks.maxTicksLimit)}return e}_computeLabelSizes(e,t,n){let{ctx:r,_longestTextCache:i}=this,a=[],o=[],s=Math.floor(t/T_(t,n)),c=0,l=0,u,d,f,p,m,h,g,_,v,y,b;for(u=0;u<t;u+=s){if(p=e[u].label,m=this._resolveTickFontOptions(u),r.font=h=m.string,g=i[h]=i[h]||{data:{},gc:[]},_=m.lineHeight,v=y=0,!Nf(p)&&!Pf(p))v=mm(r,g.data,g.gc,v,p),y=_;else if(Pf(p))for(d=0,f=p.length;d<f;++d)b=p[d],!Nf(b)&&!Pf(b)&&(v=mm(r,g.data,g.gc,v,b),y+=_);a.push(v),o.push(y),c=Math.max(v,c),l=Math.max(y,l)}O_(i,t);let x=a.indexOf(c),S=o.indexOf(l),C=e=>({width:a[e]||0,height:o[e]||0});return{first:C(0),last:C(t-1),widest:C(x),highest:C(S),widths:a,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);let t=this._startPixel+e*this._length;return Op(this._alignToPixels?gm(this.chart,t,0):t)}getDecimalForPixel(e){let t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){let{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){let t=this.ticks||[];if(e>=0&&e<t.length){let n=t[e];return n.$context||=M_(this.getContext(),e,n)}return this.$context||=j_(this.chart.getContext(),this)}_tickSize(){let e=this.options.ticks,t=bp(this.labelRotation),n=Math.abs(Math.cos(t)),r=Math.abs(Math.sin(t)),i=this._getLabelSizes(),a=e.autoSkipPadding||0,o=i?i.widest.width+a:0,s=i?i.highest.height+a:0;return this.isHorizontal()?s*n>o*r?o/n:s/r:s*r<o*n?s/n:o/r}_isVisible(){let e=this.options.display;return e===`auto`?this.getMatchingVisibleMetas().length>0:!!e}_computeGridLineItems(e){let t=this.axis,n=this.chart,r=this.options,{grid:i,position:a,border:o}=r,s=i.offset,c=this.isHorizontal(),l=this.ticks.length+ +!!s,u=k_(i),d=[],f=o.setContext(this.getContext()),p=f.display?f.width:0,m=p/2,h=function(e){return gm(n,e,p)},g,_,v,y,b,x,S,C,w,T,E,D;if(a===`top`)g=h(this.bottom),x=this.bottom-u,C=g-m,T=h(e.top)+m,D=e.bottom;else if(a===`bottom`)g=h(this.top),T=e.top,D=h(e.bottom)-m,x=g+m,C=this.top+u;else if(a===`left`)g=h(this.right),b=this.right-u,S=g-m,w=h(e.left)+m,E=e.right;else if(a===`right`)g=h(this.left),w=e.left,E=h(e.right)-m,b=g+m,S=this.left+u;else if(t===`x`){if(a===`center`)g=h((e.top+e.bottom)/2+.5);else if(Ff(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}T=e.top,D=e.bottom,x=g+m,C=x+u}else if(t===`y`){if(a===`center`)g=h((e.left+e.right)/2);else if(Ff(a)){let e=Object.keys(a)[0],t=a[e];g=h(this.chart.scales[e].getPixelForValue(t))}b=g-m,S=b-u,w=e.left,E=e.right}let O=Rf(r.ticks.maxTicksLimit,l),k=Math.max(1,Math.ceil(l/O));for(_=0;_<l;_+=k){let e=this.getContext(_),t=i.setContext(e),r=o.setContext(e),a=t.lineWidth,l=t.color,u=r.dash||[],f=r.dashOffset,p=t.tickWidth,m=t.tickColor,h=t.tickBorderDash||[],g=t.tickBorderDashOffset;v=D_(this,_,s),v!==void 0&&(y=gm(n,v,a),c?b=S=w=E=y:x=C=T=D=y,d.push({tx1:b,ty1:x,tx2:S,ty2:C,x1:w,y1:T,x2:E,y2:D,width:a,color:l,borderDash:u,borderDashOffset:f,tickWidth:p,tickColor:m,tickBorderDash:h,tickBorderDashOffset:g}))}return this._ticksLength=l,this._borderValue=g,d}_computeLabelItems(e){let t=this.axis,n=this.options,{position:r,ticks:i}=n,a=this.isHorizontal(),o=this.ticks,{align:s,crossAlign:c,padding:l,mirror:u}=i,d=k_(n.grid),f=d+l,p=u?-l:f,m=-bp(this.labelRotation),h=[],g,_,v,y,b,x,S,C,w,T,E,D,O=`middle`;if(r===`top`)x=this.bottom-p,S=this._getXAxisLabelAlignment();else if(r===`bottom`)x=this.top+p,S=this._getXAxisLabelAlignment();else if(r===`left`){let e=this._getYAxisLabelAlignment(d);S=e.textAlign,b=e.x}else if(r===`right`){let e=this._getYAxisLabelAlignment(d);S=e.textAlign,b=e.x}else if(t===`x`){if(r===`center`)x=(e.top+e.bottom)/2+f;else if(Ff(r)){let e=Object.keys(r)[0],t=r[e];x=this.chart.scales[e].getPixelForValue(t)+f}S=this._getXAxisLabelAlignment()}else if(t===`y`){if(r===`center`)b=(e.left+e.right)/2-f;else if(Ff(r)){let e=Object.keys(r)[0],t=r[e];b=this.chart.scales[e].getPixelForValue(t)}S=this._getYAxisLabelAlignment(d).textAlign}t===`y`&&(s===`start`?O=`top`:s===`end`&&(O=`bottom`));let k=this._getLabelSizes();for(g=0,_=o.length;g<_;++g){v=o[g],y=v.label;let e=i.setContext(this.getContext(g));C=this.getPixelForTick(g)+i.labelOffset,w=this._resolveTickFontOptions(g),T=w.lineHeight,E=Pf(y)?y.length:1;let t=E/2,n=e.color,s=e.textStrokeColor,l=e.textStrokeWidth,d=S;a?(b=C,S===`inner`&&(d=g===_-1?this.options.reverse?`left`:`right`:g===0?this.options.reverse?`right`:`left`:`center`),D=r===`top`?c===`near`||m!==0?-E*T+T/2:c===`center`?-k.highest.height/2-t*T+T:-k.highest.height+T/2:c===`near`||m!==0?T/2:c===`center`?k.highest.height/2-t*T:k.highest.height-E*T,u&&(D*=-1),m!==0&&!e.showLabelBackdrop&&(b+=T/2*Math.sin(m))):(x=C,D=(1-E)*T/2);let f;if(e.showLabelBackdrop){let t=Fm(e.backdropPadding),n=k.heights[g],r=k.widths[g],i=D-t.top,a=0-t.left;switch(O){case`middle`:i-=n/2;break;case`bottom`:i-=n;break}switch(S){case`center`:a-=r/2;break;case`right`:a-=r;break;case`inner`:g===_-1?a-=r:g>0&&(a-=r/2);break}f={left:a,top:i,width:r+t.width,height:n+t.height,color:e.backdropColor}}h.push({label:y,font:w,textOffset:D,options:{rotation:m,color:n,strokeColor:s,strokeWidth:l,textAlign:d,textBaseline:O,translation:[b,x],backdrop:f}})}return h}_getXAxisLabelAlignment(){let{position:e,ticks:t}=this.options;if(-bp(this.labelRotation))return e===`top`?`left`:`right`;let n=`center`;return t.align===`start`?n=`left`:t.align===`end`?n=`right`:t.align===`inner`&&(n=`inner`),n}_getYAxisLabelAlignment(e){let{position:t,ticks:{crossAlign:n,mirror:r,padding:i}}=this.options,a=this._getLabelSizes(),o=e+i,s=a.widest.width,c,l;return t===`left`?r?(l=this.right+i,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l+=s)):(l=this.right-o,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l=this.left)):t===`right`?r?(l=this.left+i,n===`near`?c=`right`:n===`center`?(c=`center`,l-=s/2):(c=`left`,l-=s)):(l=this.left+o,n===`near`?c=`left`:n===`center`?(c=`center`,l+=s/2):(c=`right`,l=this.right)):c=`right`,{textAlign:c,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;let e=this.chart,t=this.options.position;if(t===`left`||t===`right`)return{top:0,left:this.left,bottom:e.height,right:this.right};if(t===`top`||t===`bottom`)return{top:this.top,left:0,bottom:this.bottom,right:e.width}}drawBackground(){let{ctx:e,options:{backgroundColor:t},left:n,top:r,width:i,height:a}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,r,i,a),e.restore())}getLineWidthForValue(e){let t=this.options.grid;if(!this._isVisible()||!t.display)return 0;let n=this.ticks.findIndex(t=>t.value===e);return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){let t=this.options.grid,n=this.ctx,r=this._gridLineItems||=this._computeGridLineItems(e),i,a,o=(e,t,r)=>{!r.width||!r.color||(n.save(),n.lineWidth=r.width,n.strokeStyle=r.color,n.setLineDash(r.borderDash||[]),n.lineDashOffset=r.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,a=r.length;i<a;++i){let e=r[i];t.drawOnChartArea&&o({x:e.x1,y:e.y1},{x:e.x2,y:e.y2},e),t.drawTicks&&o({x:e.tx1,y:e.ty1},{x:e.tx2,y:e.ty2},{color:e.tickColor,width:e.tickWidth,borderDash:e.tickBorderDash,borderDashOffset:e.tickBorderDashOffset})}}drawBorder(){let{chart:e,ctx:t,options:{border:n,grid:r}}=this,i=n.setContext(this.getContext()),a=n.display?i.width:0;if(!a)return;let o=r.setContext(this.getContext(0)).lineWidth,s=this._borderValue,c,l,u,d;this.isHorizontal()?(c=gm(e,this.left,a)-a/2,l=gm(e,this.right,o)+o/2,u=d=s):(u=gm(e,this.top,a)-a/2,d=gm(e,this.bottom,o)+o/2,c=l=s),t.save(),t.lineWidth=i.width,t.strokeStyle=i.color,t.beginPath(),t.moveTo(c,u),t.lineTo(l,d),t.stroke(),t.restore()}drawLabels(e){if(!this.options.ticks.display)return;let t=this.ctx,n=this._computeLabelArea();n&&xm(t,n);let r=this.getLabelItems(e);for(let e of r){let n=e.options,r=e.font,i=e.label,a=e.textOffset;Em(t,i,0,a,r,n)}n&&Sm(t)}drawTitle(){let{ctx:e,options:{position:t,title:n,reverse:r}}=this;if(!n.display)return;let i=Im(n.font),a=Fm(n.padding),o=n.align,s=i.lineHeight/2;t===`bottom`||t===`center`||Ff(t)?(s+=a.bottom,Pf(n.text)&&(s+=i.lineHeight*(n.text.length-1))):s+=a.top;let{titleX:c,titleY:l,maxWidth:u,rotation:d}=P_(this,s,t,o);Em(e,n.text,0,0,i,{color:n.color,maxWidth:u,rotation:d,textAlign:N_(o,t,r),textBaseline:`middle`,translation:[c,l]})}draw(e){this._isVisible()&&(this.drawBackground(),this.drawGrid(e),this.drawBorder(),this.drawTitle(),this.drawLabels(e))}_layers(){let t=this.options,n=t.ticks&&t.ticks.z||0,r=Rf(t.grid&&t.grid.z,-1),i=Rf(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==e.prototype.draw?[{z:n,draw:e=>{this.draw(e)}}]:[{z:r,draw:e=>{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:i,draw:()=>{this.drawBorder()}},{z:n,draw:e=>{this.drawLabels(e)}}]}getMatchingVisibleMetas(e){let t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+`AxisID`,r=[],i,a;for(i=0,a=t.length;i<a;++i){let a=t[i];a[n]===this.id&&(!e||a.type===e)&&r.push(a)}return r}_resolveTickFontOptions(e){return Im(this.options.ticks.setContext(this.getContext(e)).font)}_maxDigits(){let e=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/e}},I_=class{constructor(e,t,n){this.type=e,this.scope=t,this.override=n,this.items=Object.create(null)}isForType(e){return Object.prototype.isPrototypeOf.call(this.type.prototype,e.prototype)}register(e){let t=Object.getPrototypeOf(e),n;z_(t)&&(n=this.register(t));let r=this.items,i=e.id,a=this.scope+`.`+i;if(!i)throw Error(`class does not have id: `+e);return i in r?a:(r[i]=e,L_(e,a,n),this.override&&fm.override(e.id,e.overrides),a)}get(e){return this.items[e]}unregister(e){let t=this.items,n=e.id,r=this.scope;n in t&&delete t[n],r&&n in fm[r]&&(delete fm[r][n],this.override&&delete cm[n])}};function L_(e,t,n){let r=Kf(Object.create(null),[n?fm.get(n):{},fm.get(t),e.defaults]);fm.set(t,r),e.defaultRoutes&&R_(t,e.defaultRoutes),e.descriptors&&fm.describe(t,e.descriptors)}function R_(e,t){Object.keys(t).forEach(n=>{let r=n.split(`.`),i=r.pop(),a=[e].concat(r).join(`.`),o=t[n].split(`.`),s=o.pop(),c=o.join(`.`);fm.route(a,i,c,s)})}function z_(e){return`id`in e&&`defaults`in e}var B_=new class{constructor(){this.controllers=new I_(tg,`datasets`,!0),this.elements=new I_(h_,`elements`),this.plugins=new I_(Object,`plugins`),this.scales=new I_(F_,`scales`),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each(`register`,e)}remove(...e){this._each(`unregister`,e)}addControllers(...e){this._each(`register`,e,this.controllers)}addElements(...e){this._each(`register`,e,this.elements)}addPlugins(...e){this._each(`register`,e,this.plugins)}addScales(...e){this._each(`register`,e,this.scales)}getController(e){return this._get(e,this.controllers,`controller`)}getElement(e){return this._get(e,this.elements,`element`)}getPlugin(e){return this._get(e,this.plugins,`plugin`)}getScale(e){return this._get(e,this.scales,`scale`)}removeControllers(...e){this._each(`unregister`,e,this.controllers)}removeElements(...e){this._each(`unregister`,e,this.elements)}removePlugins(...e){this._each(`unregister`,e,this.plugins)}removeScales(...e){this._each(`unregister`,e,this.scales)}_each(e,t,n){[...t].forEach(t=>{let r=n||this._getRegistryForType(t);n||r.isForType(t)||r===this.plugins&&t.id?this._exec(e,r,t):Vf(t,t=>{let r=n||this._getRegistryForType(t);this._exec(e,r,t)})})}_exec(e,t,n){let r=$f(e);Bf(n[`before`+r],[],n),t[e](n),Bf(n[`after`+r],[],n)}_getRegistryForType(e){for(let t=0;t<this._typedRegistries.length;t++){let n=this._typedRegistries[t];if(n.isForType(e))return n}return this.plugins}_get(e,t,n){let r=t.get(e);if(r===void 0)throw Error(`"`+e+`" is not a registered `+n+`.`);return r}},V_=class{constructor(){this._init=void 0}notify(e,t,n,r){if(t===`beforeInit`&&(this._init=this._createDescriptors(e,!0),this._notify(this._init,e,`install`)),this._init===void 0)return;let i=r?this._descriptors(e).filter(r):this._descriptors(e),a=this._notify(i,e,t,n);return t===`afterDestroy`&&(this._notify(i,e,`stop`),this._notify(this._init,e,`uninstall`),this._init=void 0),a}_notify(e,t,n,r){r||={};for(let i of e){let e=i.plugin,a=e[n];if(Bf(a,[t,r,i.options],e)===!1&&r.cancelable)return!1}return!0}invalidate(){Nf(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(e){if(this._cache)return this._cache;let t=this._cache=this._createDescriptors(e);return this._notifyStateChanges(e),t}_createDescriptors(e,t){let n=e&&e.config,r=Rf(n.options&&n.options.plugins,{}),i=H_(n);return r===!1&&!t?[]:W_(e,i,r,t)}_notifyStateChanges(e){let t=this._oldCache||[],n=this._cache,r=(e,t)=>e.filter(e=>!t.some(t=>e.plugin.id===t.plugin.id));this._notify(r(t,n),e,`stop`),this._notify(r(n,t),e,`start`)}};function H_(e){let t={},n=[],r=Object.keys(B_.plugins.items);for(let e=0;e<r.length;e++)n.push(B_.getPlugin(r[e]));let i=e.plugins||[];for(let e=0;e<i.length;e++){let r=i[e];n.indexOf(r)===-1&&(n.push(r),t[r.id]=!0)}return{plugins:n,localIds:t}}function U_(e,t){return!t&&e===!1?null:e===!0?{}:e}function W_(e,{plugins:t,localIds:n},r,i){let a=[],o=e.getContext();for(let s of t){let t=s.id,c=U_(r[t],i);c!==null&&a.push({plugin:s,options:G_(e.config,{plugin:s,local:n[t]},c,o)})}return a}function G_(e,{plugin:t,local:n},r,i){let a=e.pluginScopeKeys(t),o=e.getOptionScopes(r,a);return n&&t.defaults&&o.push(t.defaults),e.createResolver(o,i,[``],{scriptable:!1,indexable:!1,allKeys:!0})}function K_(e,t){let n=fm.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||`x`}function q_(e,t){let n=e;return e===`_index_`?n=t:e===`_value_`&&(n=t===`x`?`y`:`x`),n}function J_(e,t){return e===t?`_index_`:`_value_`}function Y_(e){if(e===`x`||e===`y`||e===`r`)return e}function X_(e){if(e===`top`||e===`bottom`)return`x`;if(e===`left`||e===`right`)return`y`}function Z_(e,...t){if(Y_(e))return e;for(let n of t){let t=n.axis||X_(n.position)||e.length>1&&Y_(e[0].toLowerCase());if(t)return t}throw Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function Q_(e,t,n){if(n[t+`AxisID`]===e)return{axis:t}}function $_(e,t){if(t.data&&t.data.datasets){let n=t.data.datasets.filter(t=>t.xAxisID===e||t.yAxisID===e);if(n.length)return Q_(e,`x`,n[0])||Q_(e,`y`,n[0])}return{}}function ev(e,t){let n=cm[e.type]||{scales:{}},r=t.scales||{},i=K_(e.type,t),a=Object.create(null);return Object.keys(r).forEach(t=>{let o=r[t];if(!Ff(o))return console.error(`Invalid scale configuration for scale: ${t}`);if(o._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);let s=Z_(t,o,$_(t,e),fm.scales[o.type]),c=J_(s,i),l=n.scales||{};a[t]=qf(Object.create(null),[{axis:s},o,l[s],l[c]])}),e.data.datasets.forEach(n=>{let i=n.type||e.type,o=n.indexAxis||K_(i,t),s=(cm[i]||{}).scales||{};Object.keys(s).forEach(e=>{let t=q_(e,o),i=n[t+`AxisID`]||t;a[i]=a[i]||Object.create(null),qf(a[i],[{axis:t},r[i],s[e]])})}),Object.keys(a).forEach(e=>{let t=a[e];qf(t,[fm.scales[t.type],fm.scale])}),a}function tv(e){let t=e.options||={};t.plugins=Rf(t.plugins,{}),t.scales=ev(e,t)}function nv(e){return e||={},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function rv(e){return e||={},e.data=nv(e.data),tv(e),e}var iv=new Map,av=new Set;function ov(e,t){let n=iv.get(e);return n||(n=t(),iv.set(e,n),av.add(n)),n}var sv=(e,t,n)=>{let r=Qf(t,n);r!==void 0&&e.add(r)},cv=class{constructor(e){this._config=rv(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=nv(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){let e=this._config;this.clearCache(),tv(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return ov(e,()=>[[`datasets.${e}`,``]])}datasetAnimationScopeKeys(e,t){return ov(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,``]])}datasetElementScopeKeys(e,t){return ov(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,``]])}pluginScopeKeys(e){let t=e.id,n=this.type;return ov(`${n}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){let n=this._scopeCache,r=n.get(e);return(!r||t)&&(r=new Map,n.set(e,r)),r}getOptionScopes(e,t,n){let{options:r,type:i}=this,a=this._cachedScopes(e,n),o=a.get(t);if(o)return o;let s=new Set;t.forEach(t=>{e&&(s.add(e),t.forEach(t=>sv(s,e,t))),t.forEach(e=>sv(s,r,e)),t.forEach(e=>sv(s,cm[i]||{},e)),t.forEach(e=>sv(s,fm,e)),t.forEach(e=>sv(s,lm,e))});let c=Array.from(s);return c.length===0&&c.push(Object.create(null)),av.has(t)&&a.set(t,c),c}chartOptionScopes(){let{options:e,type:t}=this;return[e,cm[t]||{},fm.datasets[t]||{},{type:t},fm,lm]}resolveNamedOptions(e,t,n,r=[``]){let i={$shared:!0},{resolver:a,subPrefixes:o}=lv(this._resolverCache,e,r),s=a;if(dv(a,t)){i.$shared=!1,n=tp(n)?n():n;let t=this.createResolver(e,n,o);s=Vm(a,n,t)}for(let e of t)i[e]=s[e];return i}createResolver(e,t,n=[``],r){let{resolver:i}=lv(this._resolverCache,e,n);return Ff(t)?Vm(i,t,void 0,r):i}};function lv(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));let i=n.join(),a=r.get(i);return a||(a={resolver:Bm(t,n),subPrefixes:n.filter(e=>!e.toLowerCase().includes(`hover`))},r.set(i,a)),a}var uv=e=>Ff(e)&&Object.getOwnPropertyNames(e).some(t=>tp(e[t]));function dv(e,t){let{isScriptable:n,isIndexable:r}=Hm(e);for(let i of t){let t=n(i),a=r(i),o=(a||t)&&e[i];if(t&&(tp(o)||uv(o))||a&&Pf(o))return!0}return!1}var fv=`4.5.1`,pv=[`top`,`bottom`,`left`,`right`,`chartArea`];function mv(e,t){return e===`top`||e===`bottom`||pv.indexOf(e)===-1&&t===`x`}function hv(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function gv(e){let t=e.chart,n=t.options.animation;t.notifyPlugins(`afterRender`),Bf(n&&n.onComplete,[e],t)}function _v(e){let t=e.chart,n=t.options.animation;Bf(n&&n.onProgress,[e],t)}function vv(e){return ah()&&typeof e==`string`?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}var yv={},bv=e=>{let t=vv(e);return Object.values(yv).filter(e=>e.canvas===t).pop()};function xv(e,t,n){let r=Object.keys(e);for(let i of r){let r=+i;if(r>=t){let a=e[i];delete e[i],(n>0||r>t)&&(e[r+n]=a)}}}function Sv(e,t,n,r){return!n||e.type===`mouseout`?null:r?t:e}var Cv=class{static defaults=fm;static instances=yv;static overrides=cm;static registry=B_;static version=fv;static getChart=bv;static register(...e){B_.add(...e),wv()}static unregister(...e){B_.remove(...e),wv()}constructor(e,t){let n=this.config=new cv(t),r=vv(e),i=bv(r);if(i)throw Error(`Canvas is already in use. Chart with ID '`+i.id+`' must be destroyed before the canvas with ID '`+i.canvas.id+`' can be reused.`);let a=n.createResolver(n.chartOptionScopes(),this.getContext());this.platform=new(n.platform||(m_(r))),this.platform.updateConfig(n);let o=this.platform.acquireContext(r,a.aspectRatio),s=o&&o.canvas,c=s&&s.height,l=s&&s.width;if(this.id=Mf(),this.ctx=o,this.canvas=s,this.width=l,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new V_,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Bp(e=>this.update(e),a.resizeDelay||0),this._dataChanges=[],yv[this.id]=this,!o||!s){console.error(`Failed to create chart: can't acquire context from the given item`);return}kh.listen(this,`complete`,gv),kh.listen(this,`progress`,_v),this._initialize(),this.attached&&this.update()}get aspectRatio(){let{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:r,_aspectRatio:i}=this;return Nf(e)?t&&i?i:r?n/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return B_}_initialize(){return this.notifyPlugins(`beforeInit`),this.options.responsive?this.resize():vh(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins(`afterInit`),this}clear(){return _m(this.canvas,this.ctx),this}stop(){return kh.stop(this),this}resize(e,t){kh.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){let n=this.options,r=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(r,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?`resize`:`attach`;this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,vh(this,o,!0)&&(this.notifyPlugins(`resize`,{size:a}),Bf(n.onResize,[this,a],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){Vf(this.options.scales||{},(e,t)=>{e.id=t})}buildOrUpdateScales(){let e=this.options,t=e.scales,n=this.scales,r=Object.keys(n).reduce((e,t)=>(e[t]=!1,e),{}),i=[];t&&(i=i.concat(Object.keys(t).map(e=>{let n=t[e],r=Z_(e,n),i=r===`r`,a=r===`x`;return{options:n,dposition:i?`chartArea`:a?`bottom`:`left`,dtype:i?`radialLinear`:a?`category`:`linear`}}))),Vf(i,t=>{let i=t.options,a=i.id,o=Z_(a,i),s=Rf(i.type,t.dtype);(i.position===void 0||mv(i.position,o)!==mv(t.dposition))&&(i.position=t.dposition),r[a]=!0;let c=null;a in n&&n[a].type===s?c=n[a]:(c=new(B_.getScale(s))({id:a,type:s,ctx:this.ctx,chart:this}),n[c.id]=c),c.init(i,e)}),Vf(r,(e,t)=>{e||delete n[t]}),Vf(n,e=>{Gg.configure(this,e,e.options),Gg.addBox(this,e)})}_updateMetasets(){let e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort((e,t)=>e.index-t.index),n>t){for(let e=t;e<n;++e)this._destroyDatasetMeta(e);e.splice(t,n-t)}this._sortedMetasets=e.slice(0).sort(hv(`order`,`index`))}_removeUnreferencedMetasets(){let{_metasets:e,data:{datasets:t}}=this;e.length>t.length&&delete this._stacks,e.forEach((e,n)=>{t.filter(t=>t===e._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){let e=[],t=this.data.datasets,n,r;for(this._removeUnreferencedMetasets(),n=0,r=t.length;n<r;n++){let r=t[n],i=this.getDatasetMeta(n),a=r.type||this.config.type;if(i.type&&i.type!==a&&(this._destroyDatasetMeta(n),i=this.getDatasetMeta(n)),i.type=a,i.indexAxis=r.indexAxis||K_(a,this.options),i.order=r.order||0,i.index=n,i.label=``+r.label,i.visible=this.isDatasetVisible(n),i.controller)i.controller.updateIndex(n),i.controller.linkScales();else{let t=B_.getController(a),{datasetElementType:r,dataElementType:o}=fm.datasets[a];Object.assign(t,{dataElementType:B_.getElement(o),datasetElementType:r&&B_.getElement(r)}),i.controller=new t(this,n),e.push(i.controller)}}return this._updateMetasets(),e}_resetElements(){Vf(this.data.datasets,(e,t)=>{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins(`reset`)}update(e){let t=this.config;t.update();let n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins(`beforeUpdate`,{mode:e,cancelable:!0})===!1)return;let i=this.buildOrUpdateControllers();this.notifyPlugins(`beforeElementsUpdate`);let a=0;for(let e=0,t=this.data.datasets.length;e<t;e++){let{controller:t}=this.getDatasetMeta(e),n=!r&&i.indexOf(t)===-1;t.buildOrUpdateElements(n),a=Math.max(+t.getMaxOverflow(),a)}a=this._minPadding=n.layout.autoPadding?a:0,this._updateLayout(a),r||Vf(i,e=>{e.reset()}),this._updateDatasets(e),this.notifyPlugins(`afterUpdate`,{mode:e}),this._layers.sort(hv(`z`,`_idx`));let{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){Vf(this.scales,e=>{Gg.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){let e=this.options;(!np(new Set(Object.keys(this._listeners)),new Set(e.events))||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){let{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(let{method:n,start:r,count:i}of t)xv(e,r,n===`_removeElements`?-i:i)}_getUniformDataChanges(){let e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];let t=this.data.datasets.length,n=t=>new Set(e.filter(e=>e[0]===t).map((e,t)=>t+`,`+e.splice(1).join(`,`))),r=n(0);for(let e=1;e<t;e++)if(!np(r,n(e)))return;return Array.from(r).map(e=>e.split(`,`)).map(e=>({method:e[1],start:+e[2],count:+e[3]}))}_updateLayout(e){if(this.notifyPlugins(`beforeLayout`,{cancelable:!0})===!1)return;Gg.update(this,this.width,this.height,e);let t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],Vf(this.boxes,e=>{n&&e.position===`chartArea`||(e.configure&&e.configure(),this._layers.push(...e._layers()))},this),this._layers.forEach((e,t)=>{e._idx=t}),this.notifyPlugins(`afterLayout`)}_updateDatasets(e){if(this.notifyPlugins(`beforeDatasetsUpdate`,{mode:e,cancelable:!0})!==!1){for(let e=0,t=this.data.datasets.length;e<t;++e)this.getDatasetMeta(e).controller.configure();for(let t=0,n=this.data.datasets.length;t<n;++t)this._updateDataset(t,tp(e)?e({datasetIndex:t}):e);this.notifyPlugins(`afterDatasetsUpdate`,{mode:e})}}_updateDataset(e,t){let n=this.getDatasetMeta(e),r={meta:n,index:e,mode:t,cancelable:!0};this.notifyPlugins(`beforeDatasetUpdate`,r)!==!1&&(n.controller._update(t),r.cancelable=!1,this.notifyPlugins(`afterDatasetUpdate`,r))}render(){this.notifyPlugins(`beforeRender`,{cancelable:!0})!==!1&&(kh.has(this)?this.attached&&!kh.running(this)&&kh.start(this):(this.draw(),gv({chart:this})))}draw(){let e;if(this._resizeBeforeDraw){let{width:e,height:t}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(e,t)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins(`beforeDraw`,{cancelable:!0})===!1)return;let t=this._layers;for(e=0;e<t.length&&t[e].z<=0;++e)t[e].draw(this.chartArea);for(this._drawDatasets();e<t.length;++e)t[e].draw(this.chartArea);this.notifyPlugins(`afterDraw`)}_getSortedDatasetMetas(e){let t=this._sortedMetasets,n=[],r,i;for(r=0,i=t.length;r<i;++r){let i=t[r];(!e||i.visible)&&n.push(i)}return n}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins(`beforeDatasetsDraw`,{cancelable:!0})===!1)return;let e=this.getSortedVisibleDatasetMetas();for(let t=e.length-1;t>=0;--t)this._drawDataset(e[t]);this.notifyPlugins(`afterDatasetsDraw`)}_drawDataset(e){let t=this.ctx,n={meta:e,index:e.index,cancelable:!0},r=Oh(this,e);this.notifyPlugins(`beforeDatasetDraw`,n)!==!1&&(r&&xm(t,r),e.controller.draw(),r&&Sm(t),n.cancelable=!1,this.notifyPlugins(`afterDatasetDraw`,n))}isPointInArea(e){return bm(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,r){let i=Og.modes[t];return typeof i==`function`?i(this,e,n,r):[]}getDatasetMeta(e){let t=this.data.datasets[e],n=this._metasets,r=n.filter(e=>e&&e._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(r)),r}getContext(){return this.$context||=zm(null,{chart:this,type:`chart`})}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){let t=this.data.datasets[e];if(!t)return!1;let n=this.getDatasetMeta(e);return typeof n.hidden==`boolean`?!n.hidden:!t.hidden}setDatasetVisibility(e,t){let n=this.getDatasetMeta(e);n.hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){let r=n?`show`:`hide`,i=this.getDatasetMeta(e),a=i.controller._resolveAnimations(void 0,r);ep(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),a.update(i,{visible:n}),this.update(t=>t.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){let t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),kh.remove(this),e=0,t=this.data.datasets.length;e<t;++e)this._destroyDatasetMeta(e)}destroy(){this.notifyPlugins(`beforeDestroy`);let{canvas:e,ctx:t}=this;this._stop(),this.config.clearCache(),e&&(this.unbindEvents(),_m(e,t),this.platform.releaseContext(t),this.canvas=null,this.ctx=null),delete yv[this.id],this.notifyPlugins(`afterDestroy`)}toBase64Image(...e){return this.canvas.toDataURL(...e)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){let e=this._listeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};Vf(this.options.events,e=>n(e,r))}bindResponsiveEvents(){this._responsiveListeners||={};let e=this._responsiveListeners,t=this.platform,n=(n,r)=>{t.addEventListener(this,n,r),e[n]=r},r=(n,r)=>{e[n]&&(t.removeEventListener(this,n,r),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)},a,o=()=>{r(`attach`,o),this.attached=!0,this.resize(),n(`resize`,i),n(`detach`,a)};a=()=>{this.attached=!1,r(`resize`,i),this._stop(),this._resize(0,0),n(`attach`,o)},t.isAttached(this.canvas)?o():a()}unbindEvents(){Vf(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},Vf(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){let r=n?`set`:`remove`,i,a,o,s;for(t===`dataset`&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller[`_`+r+`DatasetHoverStyle`]()),o=0,s=e.length;o<s;++o){a=e[o];let t=a&&this.getDatasetMeta(a.datasetIndex).controller;t&&t[r+`HoverStyle`](a.element,a.datasetIndex,a.index)}}getActiveElements(){return this._active||[]}setActiveElements(e){let t=this._active||[],n=e.map(({datasetIndex:e,index:t})=>{let n=this.getDatasetMeta(e);if(!n)throw Error(`No dataset found at index `+e);return{datasetIndex:e,element:n.data[t],index:t}});Hf(n,t)||(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return this._plugins._cache.filter(t=>t.plugin.id===e).length===1}_updateHoverStyles(e,t,n){let r=this.options.hover,i=(e,t)=>e.filter(e=>!t.some(t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)),a=i(t,e),o=n?e:i(e,t);a.length&&this.updateHoverStyle(a,r.mode,!1),o.length&&r.mode&&this.updateHoverStyle(o,r.mode,!0)}_eventHandler(e,t){let n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},r=t=>(t.options.events||this.options.events).includes(e.native.type);if(this.notifyPlugins(`beforeEvent`,n,r)===!1)return;let i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins(`afterEvent`,n,r),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){let{_active:r=[],options:i}=this,a=t,o=this._getActiveElements(e,r,n,a),s=rp(e),c=Sv(e,this._lastEvent,n,s);n&&(this._lastEvent=null,Bf(i.onHover,[e,o,this],this),s&&Bf(i.onClick,[e,o,this],this));let l=!Hf(o,r);return(l||t)&&(this._active=o,this._updateHoverStyles(o,r,t)),this._lastEvent=c,l}_getActiveElements(e,t,n,r){if(e.type===`mouseout`)return[];if(!n)return t;let i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,r)}};function wv(){return Vf(Cv.instances,e=>e._plugins.invalidate())}function Tv(e,t){let{x:n,y:r,base:i,width:a,height:o}=e.getProps([`x`,`y`,`base`,`width`,`height`],t),s,c,l,u,d;return e.horizontal?(d=o/2,s=Math.min(n,i),c=Math.max(n,i),l=r-d,u=r+d):(d=a/2,s=n-d,c=n+d,l=Math.min(r,i),u=Math.max(r,i)),{left:s,top:l,right:c,bottom:u}}function Ev(e,t,n,r){return e?0:Dp(t,n,r)}function Dv(e,t,n){let r=e.options.borderWidth,i=e.borderSkipped,a=Nm(r);return{t:Ev(i.top,a.top,0,n),r:Ev(i.right,a.right,0,t),b:Ev(i.bottom,a.bottom,0,n),l:Ev(i.left,a.left,0,t)}}function Ov(e,t,n){let{enableBorderRadius:r}=e.getProps([`enableBorderRadius`]),i=e.options.borderRadius,a=Pm(i),o=Math.min(t,n),s=e.borderSkipped,c=r||Ff(i);return{topLeft:Ev(!c||s.top||s.left,a.topLeft,0,o),topRight:Ev(!c||s.top||s.right,a.topRight,0,o),bottomLeft:Ev(!c||s.bottom||s.left,a.bottomLeft,0,o),bottomRight:Ev(!c||s.bottom||s.right,a.bottomRight,0,o)}}function kv(e){let t=Tv(e),n=t.right-t.left,r=t.bottom-t.top,i=Dv(e,n/2,r/2),a=Ov(e,n/2,r/2);return{outer:{x:t.left,y:t.top,w:n,h:r,radius:a},inner:{x:t.left+i.l,y:t.top+i.t,w:n-i.l-i.r,h:r-i.t-i.b,radius:{topLeft:Math.max(0,a.topLeft-Math.max(i.t,i.l)),topRight:Math.max(0,a.topRight-Math.max(i.t,i.r)),bottomLeft:Math.max(0,a.bottomLeft-Math.max(i.b,i.l)),bottomRight:Math.max(0,a.bottomRight-Math.max(i.b,i.r))}}}}function Av(e,t,n,r){let i=t===null,a=n===null,o=e&&!(i&&a)&&Tv(e,r);return o&&(i||kp(t,o.left,o.right))&&(a||kp(n,o.top,o.bottom))}function jv(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function Mv(e,t){e.rect(t.x,t.y,t.w,t.h)}function Nv(e,t,n={}){let r=e.x===n.x?0:-t,i=e.y===n.y?0:-t,a=(e.x+e.w===n.x+n.w?0:t)-r,o=(e.y+e.h===n.y+n.h?0:t)-i;return{x:e.x+r,y:e.y+i,w:e.w+a,h:e.h+o,radius:e.radius}}var Pv=class extends h_{static id=`bar`;static defaults={borderSkipped:`start`,borderWidth:0,borderRadius:0,inflateAmount:`auto`,pointStyle:void 0};static defaultRoutes={backgroundColor:`backgroundColor`,borderColor:`borderColor`};constructor(e){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,e&&Object.assign(this,e)}draw(e){let{inflateAmount:t,options:{borderColor:n,backgroundColor:r}}=this,{inner:i,outer:a}=kv(this),o=jv(a.radius)?Dm:Mv;e.save(),(a.w!==i.w||a.h!==i.h)&&(e.beginPath(),o(e,Nv(a,t,i)),e.clip(),o(e,Nv(i,-t,a)),e.fillStyle=n,e.fill(`evenodd`)),e.beginPath(),o(e,Nv(i,t)),e.fillStyle=r,e.fill(),e.restore()}inRange(e,t,n){return Av(this,e,t,n)}inXRange(e,t){return Av(this,e,null,t)}inYRange(e,t){return Av(this,null,e,t)}getCenterPoint(e){let{x:t,y:n,base:r,horizontal:i}=this.getProps([`x`,`y`,`base`,`horizontal`],e);return{x:i?(t+r)/2:t,y:i?n:(n+r)/2}}getRange(e){return e===`x`?this.width/2:this.height/2}},Fv=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},Iv=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index,Lv=class extends h_{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){let e=this.options.labels||{},t=Bf(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(t=>e.filter(t,this.chart.data))),e.sort&&(t=t.sort((t,n)=>e.sort(t,n,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){let{options:e,ctx:t}=this;if(!e.display){this.width=this.height=0;return}let n=e.labels,r=Im(n.font),i=r.size,a=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=Fv(n,i),c,l;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,l=this._fitRows(a,i,o,s)+10):(l=this.maxHeight,c=this._fitCols(a,r,o,s)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(l,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,r){let{ctx:i,maxWidth:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.lineWidths=[0],l=r+o,u=e;i.textAlign=`left`,i.textBaseline=`middle`;let d=-1,f=-l;return this.legendItems.forEach((e,p)=>{let m=n+t/2+i.measureText(e.text).width;(p===0||c[c.length-1]+m+2*o>a)&&(u+=l,c[c.length-(p>0?0:1)]=0,f+=l,d++),s[p]={left:0,top:f,row:d,width:m,height:r},c[c.length-1]+=m+o}),u}_fitCols(e,t,n,r){let{ctx:i,maxHeight:a,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],c=this.columnSizes=[],l=a-e,u=o,d=0,f=0,p=0,m=0;return this.legendItems.forEach((e,a)=>{let{itemWidth:h,itemHeight:g}=Rv(n,t,i,e,r);a>0&&f+g+2*o>l&&(u+=d+o,c.push({width:d,height:f}),p+=d+o,m++,d=f=0),s[a]={left:p,top:f,col:m,width:h,height:g},d=Math.max(d,h),f+=g+o}),u+=d,c.push({width:d,height:f}),u}adjustHitBoxes(){if(!this.options.display)return;let e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:r},rtl:i}}=this,a=Ch(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=Hp(n,this.left+r,this.right-this.lineWidths[i]);for(let s of t)i!==s.row&&(i=s.row,o=Hp(n,this.left+r,this.right-this.lineWidths[i])),s.top+=this.top+e+r,s.left=a.leftForLtr(a.x(o),s.width),o+=s.width+r}else{let i=0,o=Hp(n,this.top+e+r,this.bottom-this.columnSizes[i].height);for(let s of t)s.col!==i&&(i=s.col,o=Hp(n,this.top+e+r,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+r,s.left=a.leftForLtr(a.x(s.left),s.width),o+=s.height+r}}isHorizontal(){return this.options.position===`top`||this.options.position===`bottom`}draw(){if(this.options.display){let e=this.ctx;xm(e,this),this._draw(),Sm(e)}}_draw(){let{options:e,columnSizes:t,lineWidths:n,ctx:r}=this,{align:i,labels:a}=e,o=fm.color,s=Ch(e.rtl,this.left,this.width),c=Im(a.font),{padding:l}=a,u=c.size,d=u/2,f;this.drawTitle(),r.textAlign=s.textAlign(`left`),r.textBaseline=`middle`,r.lineWidth=.5,r.font=c.string;let{boxWidth:p,boxHeight:m,itemHeight:h}=Fv(a,u),g=function(e,t,n){if(isNaN(p)||p<=0||isNaN(m)||m<0)return;r.save();let i=Rf(n.lineWidth,1);if(r.fillStyle=Rf(n.fillStyle,o),r.lineCap=Rf(n.lineCap,`butt`),r.lineDashOffset=Rf(n.lineDashOffset,0),r.lineJoin=Rf(n.lineJoin,`miter`),r.lineWidth=i,r.strokeStyle=Rf(n.strokeStyle,o),r.setLineDash(Rf(n.lineDash,[])),a.usePointStyle)ym(r,{radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},s.xPlus(e,p/2),t+d,a.pointStyleWidth&&p);else{let a=t+Math.max((u-m)/2,0),o=s.leftForLtr(e,p),c=Pm(n.borderRadius);r.beginPath(),Object.values(c).some(e=>e!==0)?Dm(r,{x:o,y:a,w:p,h:m,radius:c}):r.rect(o,a,p,m),r.fill(),i!==0&&r.stroke()}r.restore()},_=function(e,t,n){Em(r,n.text,e,t+h/2,c,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();f=v?{x:Hp(i,this.left+l,this.right-n[0]),y:this.top+l+y,line:0}:{x:this.left+l,y:Hp(i,this.top+y+l,this.bottom-t[0].height),line:0},wh(this.ctx,e.textDirection);let b=h+l;this.legendItems.forEach((o,u)=>{r.strokeStyle=o.fontColor,r.fillStyle=o.fontColor;let m=r.measureText(o.text).width,h=s.textAlign(o.textAlign||=a.textAlign),x=p+d+m,S=f.x,C=f.y;if(s.setWidth(this.width),v?u>0&&S+x+l>this.right&&(C=f.y+=b,f.line++,S=f.x=Hp(i,this.left+l,this.right-n[f.line])):u>0&&C+b>this.bottom&&(S=f.x=S+t[f.line].width+l,f.line++,C=f.y=Hp(i,this.top+y+l,this.bottom-t[f.line].height)),g(s.x(S),C,o),S=Up(h,S+p+d,v?S+x:this.right,e.rtl),_(s.x(S),C,o),v)f.x+=x+l;else if(typeof o.text!=`string`){let e=c.lineHeight;f.y+=Vv(o,e)+l}else f.y+=b}),Th(this.ctx,e.textDirection)}drawTitle(){let e=this.options,t=e.title,n=Im(t.font),r=Fm(t.padding);if(!t.display)return;let i=Ch(e.rtl,this.left,this.width),a=this.ctx,o=t.position,s=n.size/2,c=r.top+s,l,u=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),l=this.top+c,u=Hp(e.align,u,this.right-d);else{let t=this.columnSizes.reduce((e,t)=>Math.max(e,t.height),0);l=c+Hp(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}let f=Hp(o,u,u+d);a.textAlign=i.textAlign(Vp(o)),a.textBaseline=`middle`,a.strokeStyle=t.color,a.fillStyle=t.color,a.font=n.string,Em(a,t.text,f,l,n)}_computeTitleHeight(){let e=this.options.title,t=Im(e.font),n=Fm(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,r,i;if(kp(e,this.left,this.right)&&kp(t,this.top,this.bottom)){for(i=this.legendHitBoxes,n=0;n<i.length;++n)if(r=i[n],kp(e,r.left,r.left+r.width)&&kp(t,r.top,r.top+r.height))return this.legendItems[n]}return null}handleEvent(e){let t=this.options;if(!Hv(e.type,t))return;let n=this._getLegendItemAt(e.x,e.y);if(e.type===`mousemove`||e.type===`mouseout`){let r=this._hoveredItem,i=Iv(r,n);r&&!i&&Bf(t.onLeave,[e,r,this],this),this._hoveredItem=n,n&&!i&&Bf(t.onHover,[e,n,this],this)}else n&&Bf(t.onClick,[e,n,this],this)}};function Rv(e,t,n,r,i){return{itemWidth:zv(r,e,t,n),itemHeight:Bv(i,r,t.lineHeight)}}function zv(e,t,n,r){let i=e.text;return i&&typeof i!=`string`&&(i=i.reduce((e,t)=>e.length>t.length?e:t)),t+n.size/2+r.measureText(i).width}function Bv(e,t,n){let r=e;return typeof t.text!=`string`&&(r=Vv(t,n)),r}function Vv(e,t){return t*(e.text?e.text.length:0)}function Hv(e,t){return!!((e===`mousemove`||e===`mouseout`)&&(t.onHover||t.onLeave)||t.onClick&&(e===`click`||e===`mouseup`))}var Uv={id:`legend`,_element:Lv,start(e,t,n){let r=e.legend=new Lv({ctx:e.ctx,options:n,chart:e});Gg.configure(e,r,n),Gg.addBox(e,r)},stop(e){Gg.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){let r=e.legend;Gg.configure(e,r,n),r.options=n},afterUpdate(e){let t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:`top`,align:`center`,fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){let r=t.datasetIndex,i=n.chart;i.isDatasetVisible(r)?(i.hide(r),t.hidden=!0):(i.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){let t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:i,color:a,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(e=>{let c=e.controller.getStyle(n?0:void 0),l=Fm(c.borderWidth);return{text:t[e.index].label,fillStyle:c.backgroundColor,fontColor:a,hidden:!e.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:c.borderColor,pointStyle:r||c.pointStyle,rotation:c.rotation,textAlign:i||c.textAlign,borderRadius:o&&(s||c.borderRadius),datasetIndex:e.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:`center`,text:``}},descriptors:{_scriptable:e=>!e.startsWith(`on`),labels:{_scriptable:e=>![`generateLabels`,`filter`,`sort`].includes(e)}}},Wv={average(e){if(!e.length)return!1;let t,n,r=new Set,i=0,a=0;for(t=0,n=e.length;t<n;++t){let n=e[t].element;if(n&&n.hasValue()){let e=n.tooltipPosition();r.add(e.x),i+=e.y,++a}}return a===0||r.size===0?!1:{x:[...r].reduce((e,t)=>e+t)/r.size,y:i/a}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,i=1/0,a,o,s;for(a=0,o=e.length;a<o;++a){let n=e[a].element;if(n&&n.hasValue()){let e=wp(t,n.getCenterPoint());e<i&&(i=e,s=n)}}if(s){let e=s.tooltipPosition();n=e.x,r=e.y}return{x:n,y:r}}};function Gv(e,t){return t&&(Pf(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function Kv(e){return(typeof e==`string`||e instanceof String)&&e.indexOf(`
|
|
131
131
|
`)>-1?e.split(`
|
|
132
|
-
`):e}function qv(e,t){let{element:n,datasetIndex:r,index:i}=t,a=e.getDatasetMeta(r).controller,{label:o,value:s}=a.getLabelAndValue(i);return{chart:e,label:o,parsed:a.getParsed(i),raw:e.data.datasets[r].data[i],formattedValue:s,dataset:a.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Jv(e,t){let n=e.chart.ctx,{body:r,footer:i,title:a}=e,{boxWidth:o,boxHeight:s}=t,c=Im(t.bodyFont),l=Im(t.titleFont),u=Im(t.footerFont),d=a.length,f=i.length,p=r.length,m=Fm(t.padding),h=m.height,g=0,_=r.reduce((e,t)=>e+t.before.length+t.lines.length+t.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,d&&(h+=d*l.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_){let e=t.displayColors?Math.max(s,c.lineHeight):c.lineHeight;h+=p*e+(_-p)*c.lineHeight+(_-1)*t.bodySpacing}f&&(h+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let v=0,y=function(e){g=Math.max(g,n.measureText(e).width+v)};return n.save(),n.font=l.string,Vf(e.title,y),n.font=c.string,Vf(e.beforeBody.concat(e.afterBody),y),v=t.displayColors?o+2+t.boxPadding:0,Vf(r,e=>{Vf(e.before,y),Vf(e.lines,y),Vf(e.after,y)}),v=0,n.font=u.string,Vf(e.footer,y),n.restore(),g+=m.width,{width:g,height:h}}function Yv(e,t){let{y:n,height:r}=t;return n<r/2?`top`:n>e.height-r/2?`bottom`:`center`}function Xv(e,t,n,r){let{x:i,width:a}=r,o=n.caretSize+n.caretPadding;if(e===`left`&&i+a+o>t.width||e===`right`&&i-a-o<0)return!0}function Zv(e,t,n,r){let{x:i,width:a}=n,{width:o,chartArea:{left:s,right:c}}=e,l=`center`;return r===`center`?l=i<=(s+c)/2?`left`:`right`:i<=a/2?l=`left`:i>=o-a/2&&(l=`right`),Xv(l,e,t,n)&&(l=`center`),l}function Qv(e,t,n){let r=n.yAlign||t.yAlign||Yv(e,n);return{xAlign:n.xAlign||t.xAlign||Zv(e,t,n,r),yAlign:r}}function $v(e,t){let{x:n,width:r}=e;return t===`right`?n-=r:t===`center`&&(n-=r/2),n}function ey(e,t,n){let{y:r,height:i}=e;return t===`top`?r+=n:t===`bottom`?r-=i+n:r-=i/2,r}function ty(e,t,n,r){let{caretSize:i,caretPadding:a,cornerRadius:o}=e,{xAlign:s,yAlign:c}=n,l=i+a,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=Pm(o),m=$v(t,s),h=ey(t,c,l);return c===`center`?s===`left`?m+=l:s===`right`&&(m-=l):s===`left`?m-=Math.max(u,f)+i:s===`right`&&(m+=Math.max(d,p)+i),{x:Dp(m,0,r.width-t.width),y:Dp(h,0,r.height-t.height)}}function ny(e,t,n){let r=Fm(n.padding);return t===`center`?e.x+e.width/2:t===`right`?e.x+e.width-r.right:e.x+r.left}function ry(e){return Gv([],Kv(e))}function iy(e,t,n){return zm(e,{tooltip:t,tooltipItems:n,type:`tooltip`})}function ay(e,t){let n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}var oy={beforeTitle:jf,title(e){if(e.length>0){let t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode===`dataset`)return t.dataset.label||``;if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return``},afterTitle:jf,beforeBody:jf,beforeLabel:jf,label(e){if(this&&this.options&&this.options.mode===`dataset`)return e.label+`: `+e.formattedValue||e.formattedValue;let t=e.dataset.label||``;t&&(t+=`: `);let n=e.formattedValue;return Nf(n)||(t+=n),t},labelColor(e){let t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:t.borderColor,backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){let t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:t.pointStyle,rotation:t.rotation}},afterLabel:jf,afterBody:jf,beforeFooter:jf,footer:jf,afterFooter:jf};function sy(e,t,n,r){let i=e[t].call(n,r);return i===void 0?oy[t].call(n,r):i}var cy=class extends h_{static positioners=Wv;constructor(e){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=e.chart,this.options=e.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(e){this.options=e,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let e=this._cachedAnimations;if(e)return e;let t=this.chart,n=this.options.setContext(this.getContext()),r=n.enabled&&t.options.animation&&n.animations,i=new Nh(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||=iy(this.chart.getContext(),this,this._tooltipItems)}getTitle(e,t){let{callbacks:n}=t,r=sy(n,`beforeTitle`,this,e),i=sy(n,`title`,this,e),a=sy(n,`afterTitle`,this,e),o=[];return o=Gv(o,Kv(r)),o=Gv(o,Kv(i)),o=Gv(o,Kv(a)),o}getBeforeBody(e,t){return ry(sy(t.callbacks,`beforeBody`,this,e))}getBody(e,t){let{callbacks:n}=t,r=[];return Vf(e,e=>{let t={before:[],lines:[],after:[]},i=ay(n,e);Gv(t.before,Kv(sy(i,`beforeLabel`,this,e))),Gv(t.lines,sy(i,`label`,this,e)),Gv(t.after,Kv(sy(i,`afterLabel`,this,e))),r.push(t)}),r}getAfterBody(e,t){return ry(sy(t.callbacks,`afterBody`,this,e))}getFooter(e,t){let{callbacks:n}=t,r=sy(n,`beforeFooter`,this,e),i=sy(n,`footer`,this,e),a=sy(n,`afterFooter`,this,e),o=[];return o=Gv(o,Kv(r)),o=Gv(o,Kv(i)),o=Gv(o,Kv(a)),o}_createItems(e){let t=this._active,n=this.chart.data,r=[],i=[],a=[],o=[],s,c;for(s=0,c=t.length;s<c;++s)o.push(qv(this.chart,t[s]));return e.filter&&(o=o.filter((t,r,i)=>e.filter(t,r,i,n))),e.itemSort&&(o=o.sort((t,r)=>e.itemSort(t,r,n))),Vf(o,t=>{let n=ay(e.callbacks,t);r.push(sy(n,`labelColor`,this,t)),i.push(sy(n,`labelPointStyle`,this,t)),a.push(sy(n,`labelTextColor`,this,t))}),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=o,o}update(e,t){let n=this.options.setContext(this.getContext()),r=this._active,i,a=[];if(!r.length)this.opacity!==0&&(i={opacity:0});else{let e=Wv[n.position].call(this,r,this._eventPosition);a=this._createItems(n),this.title=this.getTitle(a,n),this.beforeBody=this.getBeforeBody(a,n),this.body=this.getBody(a,n),this.afterBody=this.getAfterBody(a,n),this.footer=this.getFooter(a,n);let t=this._size=Jv(this,n),o=Object.assign({},e,t),s=Qv(this.chart,n,o),c=ty(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:c.x,y:c.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,r){let i=this.getCaretPosition(e,n,r);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){let{xAlign:r,yAlign:i}=this,{caretSize:a,cornerRadius:o}=n,{topLeft:s,topRight:c,bottomLeft:l,bottomRight:u}=Pm(o),{x:d,y:f}=e,{width:p,height:m}=t,h,g,_,v,y,b;return i===`center`?(y=f+m/2,r===`left`?(h=d,g=h-a,v=y+a,b=y-a):(h=d+p,g=h+a,v=y-a,b=y+a),_=h):(g=r===`left`?d+Math.max(s,l)+a:r===`right`?d+p-Math.max(c,u)-a:this.caretX,i===`top`?(v=f,y=v-a,h=g-a,_=g+a):(v=f+m,y=v+a,h=g+a,_=g-a),b=v),{x1:h,x2:g,x3:_,y1:v,y2:y,y3:b}}drawTitle(e,t,n){let r=this.title,i=r.length,a,o,s;if(i){let c=Ch(n.rtl,this.x,this.width);for(e.x=ny(this,n.titleAlign,n),t.textAlign=c.textAlign(n.titleAlign),t.textBaseline=`middle`,a=Im(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=a.string,s=0;s<i;++s)t.fillText(r[s],c.x(e.x),e.y+a.lineHeight/2),e.y+=a.lineHeight+o,s+1===i&&(e.y+=n.titleMarginBottom-o)}}_drawColorBox(e,t,n,r,i){let a=this.labelColors[n],o=this.labelPointStyles[n],{boxHeight:s,boxWidth:c}=i,l=Im(i.bodyFont),u=ny(this,`left`,i),d=r.x(u),f=s<l.lineHeight?(l.lineHeight-s)/2:0,p=t.y+f;if(i.usePointStyle){let t={radius:Math.min(c,s)/2,pointStyle:o.pointStyle,rotation:o.rotation,borderWidth:1},n=r.leftForLtr(d,c)+c/2,l=p+s/2;e.strokeStyle=i.multiKeyBackground,e.fillStyle=i.multiKeyBackground,vm(e,t,n,l),e.strokeStyle=a.borderColor,e.fillStyle=a.backgroundColor,vm(e,t,n,l)}else{e.lineWidth=Ff(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,e.strokeStyle=a.borderColor,e.setLineDash(a.borderDash||[]),e.lineDashOffset=a.borderDashOffset||0;let t=r.leftForLtr(d,c),n=r.leftForLtr(r.xPlus(d,1),c-2),o=Pm(a.borderRadius);Object.values(o).some(e=>e!==0)?(e.beginPath(),e.fillStyle=i.multiKeyBackground,Dm(e,{x:t,y:p,w:c,h:s,radius:o}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),Dm(e,{x:n,y:p+1,w:c-2,h:s-2,radius:o}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,p,c,s),e.strokeRect(t,p,c,s),e.fillStyle=a.backgroundColor,e.fillRect(n,p+1,c-2,s-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){let{body:r}=this,{bodySpacing:i,bodyAlign:a,displayColors:o,boxHeight:s,boxWidth:c,boxPadding:l}=n,u=Im(n.bodyFont),d=u.lineHeight,f=0,p=Ch(n.rtl,this.x,this.width),m=function(n){t.fillText(n,p.x(e.x+f),e.y+d/2),e.y+=d+i},h=p.textAlign(a),g,_,v,y,b,x,S;for(t.textAlign=a,t.textBaseline=`middle`,t.font=u.string,e.x=ny(this,h,n),t.fillStyle=n.bodyColor,Vf(this.beforeBody,m),f=o&&h!==`right`?a===`center`?c/2+l:c+2+l:0,y=0,x=r.length;y<x;++y){for(g=r[y],_=this.labelTextColors[y],t.fillStyle=_,Vf(g.before,m),v=g.lines,o&&v.length&&(this._drawColorBox(t,e,y,p,n),d=Math.max(u.lineHeight,s)),b=0,S=v.length;b<S;++b)m(v[b]),d=u.lineHeight;Vf(g.after,m)}f=0,d=u.lineHeight,Vf(this.afterBody,m),e.y-=i}drawFooter(e,t,n){let r=this.footer,i=r.length,a,o;if(i){let s=Ch(n.rtl,this.x,this.width);for(e.x=ny(this,n.footerAlign,n),e.y+=n.footerMarginTop,t.textAlign=s.textAlign(n.footerAlign),t.textBaseline=`middle`,a=Im(n.footerFont),t.fillStyle=n.footerColor,t.font=a.string,o=0;o<i;++o)t.fillText(r[o],s.x(e.x),e.y+a.lineHeight/2),e.y+=a.lineHeight+n.footerSpacing}}drawBackground(e,t,n,r){let{xAlign:i,yAlign:a}=this,{x:o,y:s}=e,{width:c,height:l}=n,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=Pm(r.cornerRadius);t.fillStyle=r.backgroundColor,t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.beginPath(),t.moveTo(o+u,s),a===`top`&&this.drawCaret(e,t,n,r),t.lineTo(o+c-d,s),t.quadraticCurveTo(o+c,s,o+c,s+d),a===`center`&&i===`right`&&this.drawCaret(e,t,n,r),t.lineTo(o+c,s+l-p),t.quadraticCurveTo(o+c,s+l,o+c-p,s+l),a===`bottom`&&this.drawCaret(e,t,n,r),t.lineTo(o+f,s+l),t.quadraticCurveTo(o,s+l,o,s+l-f),a===`center`&&i===`left`&&this.drawCaret(e,t,n,r),t.lineTo(o,s+u),t.quadraticCurveTo(o,s,o+u,s),t.closePath(),t.fill(),r.borderWidth>0&&t.stroke()}_updateAnimationTarget(e){let t=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){let n=Wv[e.position].call(this,this._active,this._eventPosition);if(!n)return;let a=this._size=Jv(this,e),o=Object.assign({},n,this._size),s=Qv(t,e,o),c=ty(e,o,s,t);(r._to!==c.x||i._to!==c.y)&&(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=a.width,this.height=a.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(e){let t=this.options.setContext(this.getContext()),n=this.opacity;if(!n)return;this._updateAnimationTarget(t);let r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;let a=Fm(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,r,t),wh(e,t.textDirection),i.y+=a.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),Th(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){let n=this._active,r=e.map(({datasetIndex:e,index:t})=>{let n=this.chart.getDatasetMeta(e);if(!n)throw Error(`Cannot find a dataset at index `+e);return{datasetIndex:e,element:n.data[t],index:t}}),i=!Hf(n,r),a=this._positionChanged(r,t);(i||a)&&(this._active=r,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let r=this.options,i=this._active||[],a=this._getActiveElements(e,i,t,n),o=this._positionChanged(a,e),s=t||!Hf(a,i)||o;return s&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,r){let i=this.options;if(e.type===`mouseout`)return[];if(!r)return t.filter(e=>this.chart.data.datasets[e.datasetIndex]&&this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)!==void 0);let a=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&a.reverse(),a}_positionChanged(e,t){let{caretX:n,caretY:r,options:i}=this,a=Wv[i.position].call(this,e,t);return a!==!1&&(n!==a.x||r!==a.y)}},ly={id:`tooltip`,_element:cy,positioners:Wv,afterInit(e,t,n){n&&(e.tooltip=new cy({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){let t=e.tooltip;if(t&&t._willRender()){let n={tooltip:t};if(e.notifyPlugins(`beforeTooltipDraw`,{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins(`afterTooltipDraw`,n)}},afterEvent(e,t){if(e.tooltip){let n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:`average`,backgroundColor:`rgba(0,0,0,0.8)`,titleColor:`#fff`,titleFont:{weight:`bold`},titleSpacing:2,titleMarginBottom:6,titleAlign:`left`,bodyColor:`#fff`,bodySpacing:2,bodyFont:{},bodyAlign:`left`,footerColor:`#fff`,footerSpacing:2,footerMarginTop:6,footerFont:{weight:`bold`},footerAlign:`left`,padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:`#fff`,displayColors:!0,boxPadding:0,borderColor:`rgba(0,0,0,0)`,borderWidth:0,animation:{duration:400,easing:`easeOutQuart`},animations:{numbers:{type:`number`,properties:[`x`,`y`,`width`,`height`,`caretX`,`caretY`]},opacity:{easing:`linear`,duration:200}},callbacks:oy},defaultRoutes:{bodyFont:`font`,footerFont:`font`,titleFont:`font`},descriptors:{_scriptable:e=>e!==`filter`&&e!==`itemSort`&&e!==`external`,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:`animation`}},additionalOptionScopes:[`interaction`]},uy=(e,t,n,r)=>(typeof t==`string`?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function dy(e,t,n,r){let i=e.indexOf(t);return i===-1?uy(e,t,n,r):i===e.lastIndexOf(t)?i:n}var fy=(e,t)=>e===null?null:Dp(Math.round(e),0,t);function py(e){let t=this.getLabels();return e>=0&&e<t.length?t[e]:e}var my=class extends F_{static id=`category`;static defaults={ticks:{callback:py}};constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){let t=this._addedLabels;if(t.length){let e=this.getLabels();for(let{index:n,label:r}of t)e[n]===r&&e.splice(n,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(Nf(e))return null;let n=this.getLabels();return t=isFinite(t)&&n[t]===e?t:dy(n,e,Rf(t,e),this._addedLabels),fy(t,n.length-1)}determineDataLimits(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),{min:n,max:r}=this.getMinMax(!0);this.options.bounds===`ticks`&&(e||(n=0),t||(r=this.getLabels().length-1)),this.min=n,this.max=r}buildTicks(){let e=this.min,t=this.max,n=this.options.offset,r=[],i=this.getLabels();i=e===0&&t===i.length-1?i:i.slice(e,t+1),this._valueRange=Math.max(i.length-+!n,1),this._startValue=this.min-(n?.5:0);for(let n=e;n<=t;n++)r.push({value:n});return r}getLabelForValue(e){return py.call(this,e)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return typeof e!=`number`&&(e=this.parse(e)),e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}};function hy(e,t){let n=[],{bounds:r,step:i,min:a,max:o,precision:s,count:c,maxTicks:l,maxDigits:u,includeBounds:d}=e,f=i||1,p=l-1,{min:m,max:h}=t,g=!Nf(a),_=!Nf(o),v=!Nf(c),y=(h-m)/(u+1),b=mp((h-m)/p/f)*f,x,S,C,w;if(b<1e-14&&!g&&!_)return[{value:m},{value:h}];w=Math.ceil(h/b)-Math.floor(m/b),w>p&&(b=mp(w*b/p/f)*f),Nf(s)||(x=10**s,b=Math.ceil(b*x)/x),r===`ticks`?(S=Math.floor(m/b)*b,C=Math.ceil(h/b)*b):(S=m,C=h),g&&_&&i&&vp((o-a)/i,b/1e3)?(w=Math.round(Math.min((o-a)/b,l)),b=(o-a)/w,S=a,C=o):v?(S=g?a:S,C=_?o:C,w=c-1,b=(C-S)/w):(w=(C-S)/b,w=pp(w,Math.round(w),b/1e3)?Math.round(w):Math.ceil(w));let T=Math.max(Sp(b),Sp(S));x=10**(Nf(s)?T:s),S=Math.round(S*x)/x,C=Math.round(C*x)/x;let E=0;for(g&&(d&&S!==a?(n.push({value:a}),S<a&&E++,pp(Math.round((S+E*b)*x)/x,a,gy(a,y,e))&&E++):S<a&&E++);E<w;++E){let e=Math.round((S+E*b)*x)/x;if(_&&e>o)break;n.push({value:e})}return _&&d&&C!==o?n.length&&pp(n[n.length-1].value,o,gy(o,y,e))?n[n.length-1].value=o:n.push({value:o}):(!_||C===o)&&n.push({value:C}),n}function gy(e,t,{horizontal:n,minRotation:r}){let i=bp(r),a=(n?Math.sin(i):Math.cos(i))||.001,o=.75*t*(``+e).length;return Math.min(t/a,o)}var _y=class extends F_{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return Nf(e)||(typeof e==`number`||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){let{beginAtZero:e}=this.options,{minDefined:t,maxDefined:n}=this.getUserBounds(),{min:r,max:i}=this,a=e=>r=t?r:e,o=e=>i=n?i:e;if(e){let e=fp(r),t=fp(i);e<0&&t<0?o(0):e>0&&t>0&&a(0)}if(r===i){let t=i===0?1:Math.abs(i*.05);o(i+t),e||a(r-t)}this.min=r,this.max=i}getTickLimit(){let{maxTicksLimit:e,stepSize:t}=this.options.ticks,n;return t?(n=Math.ceil(this.max/t)-Math.floor(this.min/t)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${t} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e||=11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return 1/0}buildTicks(){let e=this.options,t=e.ticks,n=this.getTickLimit();n=Math.max(2,n);let r=hy({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:t.includeBounds!==!1},this._range||this);return e.bounds===`ticks`&&yp(r,this,`value`),e.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let e=this.ticks,t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){let r=(n-t)/Math.max(e.length-1,1)/2;t-=r,n+=r}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return rm(e,this.chart.options.locale,this.options.ticks.format)}},vy=class extends _y{static id=`linear`;static defaults={ticks:{callback:om.formatters.numeric}};determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=If(e)?e:0,this.max=If(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){let e=this.isHorizontal(),t=e?this.width:this.height,n=bp(this.options.ticks.minRotation),r=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/r))}getPixelForValue(e){return e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}},yy=e=>Math.floor(dp(e)),by=(e,t)=>10**(yy(e)+t);function xy(e){return e/10**yy(e)==1}function Sy(e,t,n){let r=10**n,i=Math.floor(e/r);return Math.ceil(t/r)-i}function Cy(e,t){let n=yy(t-e);for(;Sy(e,t,n)>10;)n++;for(;Sy(e,t,n)<10;)n--;return Math.min(n,yy(e))}function wy(e,{min:t,max:n}){t=Lf(e.min,t);let r=[],i=yy(t),a=Cy(t,n),o=a<0?10**Math.abs(a):1,s=10**a,c=i>a?10**i:0,l=Math.round((t-c)*o)/o,u=Math.floor((t-c)/s/10)*s*10,d=Math.floor((l-u)/10**a),f=Lf(e.min,Math.round((c+u+d*10**a)*o)/o);for(;f<n;)r.push({value:f,major:xy(f),significand:d}),d>=10?d=d<15?15:20:d++,d>=20&&(a++,d=2,o=a>=0?1:o),f=Math.round((c+u+d*10**a)*o)/o;let p=Lf(e.max,f);return r.push({value:p,major:xy(p),significand:d}),r}(class extends F_{static id=`logarithmic`;static defaults={ticks:{callback:om.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){let n=_y.prototype.parse.apply(this,[e,t]);if(n===0){this._zero=!0;return}return If(n)&&n>0?n:null}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=If(e)?Math.max(0,e):null,this.max=If(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!If(this._userMin)&&(this.min=e===by(this.min,0)?by(this.min,-1):by(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),n=this.min,r=this.max,i=t=>n=e?n:t,a=e=>r=t?r:e;n===r&&(n<=0?(i(1),a(10)):(i(by(n,-1)),a(by(r,1)))),n<=0&&i(by(r,-1)),r<=0&&a(by(n,1)),this.min=n,this.max=r}buildTicks(){let e=this.options,t=wy({min:this._userMin,max:this._userMax},this);return e.bounds===`ticks`&&yp(t,this,`value`),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return e===void 0?`0`:rm(e,this.chart.options.locale,this.options.ticks.format)}configure(){let e=this.min;super.configure(),this._startValue=dp(e),this._valueRange=dp(this.max)-dp(e)}getPixelForValue(e){return(e===void 0||e===0)&&(e=this.min),e===null||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(dp(e)-this._startValue)/this._valueRange)}getValueForPixel(e){let t=this.getDecimalForPixel(e);return 10**(this._startValue+t*this._valueRange)}});function Ty(e){let t=e.ticks;if(t.display&&e.display){let e=Fm(t.backdropPadding);return Rf(t.font&&t.font.size,fm.font.size)+e.height}return 0}function Ey(e,t,n){return n=Pf(n)?n:[n],{w:hm(e,t.string,n),h:n.length*t.lineHeight}}function Dy(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:e<r||e>i?{start:t-n,end:t}:{start:t,end:t+n}}function Oy(e){let t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],i=[],a=e._pointLabels.length,o=e.options.pointLabels,s=o.centerPointLabels?ip/a:0;for(let c=0;c<a;c++){let a=o.setContext(e.getPointLabelContext(c));i[c]=a.padding;let l=e.getPointPosition(c,e.drawingArea+i[c],s),u=Im(a.font),d=Ey(e.ctx,u,e._pointLabels[c]);r[c]=d;let f=Tp(e.getIndexAngle(c)+s),p=Math.round(xp(f));ky(n,t,f,Dy(p,l.x,d.w,0,180),Dy(p,l.y,d.h,90,270))}e.setCenterPoint(t.l-n.l,n.r-t.r,t.t-n.t,n.b-t.b),e._pointLabelItems=My(e,r,i)}function ky(e,t,n,r,i){let a=Math.abs(Math.sin(n)),o=Math.abs(Math.cos(n)),s=0,c=0;r.start<t.l?(s=(t.l-r.start)/a,e.l=Math.min(e.l,t.l-s)):r.end>t.r&&(s=(r.end-t.r)/a,e.r=Math.max(e.r,t.r+s)),i.start<t.t?(c=(t.t-i.start)/o,e.t=Math.min(e.t,t.t-c)):i.end>t.b&&(c=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+c))}function Ay(e,t,n){let r=e.drawingArea,{extra:i,additionalAngle:a,padding:o,size:s}=n,c=e.getPointPosition(t,r+i+o,a),l=Math.round(xp(Tp(c.angle+cp))),u=Fy(c.y,s.h,l),d=Ny(l),f=Py(c.x,s.w,d);return{visible:!0,x:c.x,y:u,textAlign:d,left:f,top:u,right:f+s.w,bottom:u+s.h}}function jy(e,t){if(!t)return!0;let{left:n,top:r,right:i,bottom:a}=e;return!(bm({x:n,y:r},t)||bm({x:n,y:a},t)||bm({x:i,y:r},t)||bm({x:i,y:a},t))}function My(e,t,n){let r=[],i=e._pointLabels.length,a=e.options,{centerPointLabels:o,display:s}=a.pointLabels,c={extra:Ty(a)/2,additionalAngle:o?ip/i:0},l;for(let a=0;a<i;a++){c.padding=n[a],c.size=t[a];let i=Ay(e,a,c);r.push(i),s===`auto`&&(i.visible=jy(i,l),i.visible&&(l=i))}return r}function Ny(e){return e===0||e===180?`center`:e<180?`left`:`right`}function Py(e,t,n){return n===`right`?e-=t:n===`center`&&(e-=t/2),e}function Fy(e,t,n){return n===90||n===270?e-=t/2:(n>270||n<90)&&(e-=t),e}function Iy(e,t,n){let{left:r,top:i,right:a,bottom:o}=n,{backdropColor:s}=t;if(!Nf(s)){let n=Pm(t.borderRadius),c=Fm(t.backdropPadding);e.fillStyle=s;let l=r-c.left,u=i-c.top,d=a-r+c.width,f=o-i+c.height;Object.values(n).some(e=>e!==0)?(e.beginPath(),Dm(e,{x:l,y:u,w:d,h:f,radius:n}),e.fill()):e.fillRect(l,u,d,f)}}function Ly(e,t){let{ctx:n,options:{pointLabels:r}}=e;for(let i=t-1;i>=0;i--){let t=e._pointLabelItems[i];if(!t.visible)continue;let a=r.setContext(e.getPointLabelContext(i));Iy(n,a,t);let o=Im(a.font),{x:s,y:c,textAlign:l}=t;Em(n,e._pointLabels[i],s,c+o.lineHeight/2,o,{color:a.color,textAlign:l,textBaseline:`middle`})}}function Ry(e,t,n,r){let{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,ap);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let a=1;a<r;a++)n=e.getPointPosition(a,t),i.lineTo(n.x,n.y)}}function zy(e,t,n,r,i){let a=e.ctx,o=t.circular,{color:s,lineWidth:c}=t;!o&&!r||!s||!c||n<0||(a.save(),a.strokeStyle=s,a.lineWidth=c,a.setLineDash(i.dash||[]),a.lineDashOffset=i.dashOffset,a.beginPath(),Ry(e,n,o,r),a.closePath(),a.stroke(),a.restore())}function By(e,t,n){return zm(e,{label:n,index:t,type:`pointLabel`})}(class extends _y{static id=`radialLinear`;static defaults={display:!0,animate:!0,position:`chartArea`,angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:om.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(e){return e},padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":`borderColor`,"pointLabels.color":`color`,"ticks.color":`color`};static descriptors={angleLines:{_fallback:`grid`}};constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){let e=this._padding=Fm(Ty(this.options)/2),t=this.width=this.maxWidth-e.width,n=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+n/2+e.top),this.drawingArea=Math.floor(Math.min(t,n)/2)}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!1);this.min=If(e)&&!isNaN(e)?e:0,this.max=If(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Ty(this.options))}generateTickLabels(e){_y.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map((e,t)=>{let n=Bf(this.options.pointLabels.callback,[e,t],this);return n||n===0?n:``}).filter((e,t)=>this.chart.getDataVisibility(t))}fit(){let e=this.options;e.display&&e.pointLabels.display?Oy(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,n,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,n,r))}getIndexAngle(e){let t=ap/(this._pointLabels.length||1),n=this.options.startAngle||0;return Tp(e*t+bp(n))}getDistanceFromCenterForValue(e){if(Nf(e))return NaN;let t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(Nf(e))return NaN;let t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){let t=this._pointLabels||[];if(e>=0&&e<t.length){let n=t[e];return By(this.getContext(),e,n)}}getPointPosition(e,t,n=0){let r=this.getIndexAngle(e)-cp+n;return{x:Math.cos(r)*t+this.xCenter,y:Math.sin(r)*t+this.yCenter,angle:r}}getPointPositionForValue(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))}getBasePosition(e){return this.getPointPositionForValue(e||0,this.getBaseValue())}getPointLabelPosition(e){let{left:t,top:n,right:r,bottom:i}=this._pointLabelItems[e];return{left:t,top:n,right:r,bottom:i}}drawBackground(){let{backgroundColor:e,grid:{circular:t}}=this.options;if(e){let n=this.ctx;n.save(),n.beginPath(),Ry(this,this.getDistanceFromCenterForValue(this._endValue),t,this._pointLabels.length),n.closePath(),n.fillStyle=e,n.fill(),n.restore()}}drawGrid(){let e=this.ctx,t=this.options,{angleLines:n,grid:r,border:i}=t,a=this._pointLabels.length,o,s,c;if(t.pointLabels.display&&Ly(this,a),r.display&&this.ticks.forEach((e,t)=>{if(t!==0||t===0&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);let n=this.getContext(t),o=r.setContext(n),c=i.setContext(n);zy(this,o,s,a,c)}}),n.display){for(e.save(),o=a-1;o>=0;o--){let r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:a}=r;!a||!i||(e.lineWidth=a,e.strokeStyle=i,e.setLineDash(r.borderDash),e.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),c=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(c.x,c.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){let e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;let r=this.getIndexAngle(0),i,a;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign=`center`,e.textBaseline=`middle`,this.ticks.forEach((r,o)=>{if(o===0&&this.min>=0&&!t.reverse)return;let s=n.setContext(this.getContext(o)),c=Im(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=c.string,a=e.measureText(r.label).width,e.fillStyle=s.backdropColor;let t=Fm(s.backdropPadding);e.fillRect(-a/2-t.left,-i-c.size/2-t.top,a+t.width,c.size+t.height)}Em(e,r.label,0,-i,c,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})}),e.restore()}drawTitle(){}});var Vy={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Hy=Object.keys(Vy);function Uy(e,t){return e-t}function Wy(e,t){if(Nf(t))return null;let n=e._adapter,{parser:r,round:i,isoWeekday:a}=e._parseOpts,o=t;return typeof r==`function`&&(o=r(o)),If(o)||(o=typeof r==`string`?n.parse(o,r):n.parse(o)),o===null?null:(i&&(o=i===`week`&&(_p(a)||a===!0)?n.startOf(o,`isoWeek`,a):n.startOf(o,i)),+o)}function Gy(e,t,n,r){let i=Hy.length;for(let a=Hy.indexOf(e);a<i-1;++a){let e=Vy[Hy[a]],i=e.steps?e.steps:2**53-1;if(e.common&&Math.ceil((n-t)/(i*e.size))<=r)return Hy[a]}return Hy[i-1]}function Ky(e,t,n,r,i){for(let a=Hy.length-1;a>=Hy.indexOf(n);a--){let n=Hy[a];if(Vy[n].common&&e._adapter.diff(i,r,n)>=t-1)return n}return Hy[n?Hy.indexOf(n):0]}function qy(e){for(let t=Hy.indexOf(e)+1,n=Hy.length;t<n;++t)if(Vy[Hy[t]].common)return Hy[t]}function Jy(e,t,n){if(!n)e[t]=!0;else if(n.length){let{lo:r,hi:i}=Ap(n,t),a=n[r]>=t?n[r]:n[i];e[a]=!0}}function Yy(e,t,n,r){let i=e._adapter,a=+i.startOf(t[0].value,r),o=t[t.length-1].value,s,c;for(s=a;s<=o;s=+i.add(s,1,r))c=n[s],c>=0&&(t[c].major=!0);return t}function Xy(e,t,n){let r=[],i={},a=t.length,o,s;for(o=0;o<a;++o)s=t[o],i[s]=o,r.push({value:s,major:!1});return a===0||!n?r:Yy(e,r,i,n)}var Zy=class extends F_{static id=`time`;static defaults={bounds:`data`,adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:`millisecond`,displayFormats:{}},ticks:{source:`auto`,callback:!1,major:{enabled:!1}}};constructor(e){super(e),this._cache={data:[],labels:[],all:[]},this._unit=`day`,this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(e,t={}){let n=e.time||={},r=this._adapter=new yg._date(e.adapters.date);r.init(t),qf(n.displayFormats,r.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(e),this._normalized=t.normalized}parse(e,t){return e===void 0?null:Wy(this,e)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){let e=this.options,t=this._adapter,n=e.time.unit||`day`,{min:r,max:i,minDefined:a,maxDefined:o}=this.getUserBounds();function s(e){!a&&!isNaN(e.min)&&(r=Math.min(r,e.min)),!o&&!isNaN(e.max)&&(i=Math.max(i,e.max))}(!a||!o)&&(s(this._getLabelBounds()),(e.bounds!==`ticks`||e.ticks.source!==`labels`)&&s(this.getMinMax(!1))),r=If(r)&&!isNaN(r)?r:+t.startOf(Date.now(),n),i=If(i)&&!isNaN(i)?i:+t.endOf(Date.now(),n)+1,this.min=Math.min(r,i-1),this.max=Math.max(r+1,i)}_getLabelBounds(){let e=this.getLabelTimestamps(),t=1/0,n=-1/0;return e.length&&(t=e[0],n=e[e.length-1]),{min:t,max:n}}buildTicks(){let e=this.options,t=e.time,n=e.ticks,r=n.source===`labels`?this.getLabelTimestamps():this._generate();e.bounds===`ticks`&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);let i=this.min,a=this.max,o=Np(r,i,a);return this._unit=t.unit||(n.autoSkip?Gy(t.minUnit,this.min,this.max,this._getLabelCapacity(i)):Ky(this,o.length,t.minUnit,this.min,this.max)),this._majorUnit=!n.major.enabled||this._unit===`year`?void 0:qy(this._unit),this.initOffsets(r),e.reverse&&o.reverse(),Xy(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(e=>+e.value))}initOffsets(e=[]){let t=0,n=0,r,i;this.options.offset&&e.length&&(r=this.getDecimalForValue(e[0]),t=e.length===1?1-r:(this.getDecimalForValue(e[1])-r)/2,i=this.getDecimalForValue(e[e.length-1]),n=e.length===1?i:(i-this.getDecimalForValue(e[e.length-2]))/2);let a=e.length<3?.5:.25;t=Dp(t,0,a),n=Dp(n,0,a),this._offsets={start:t,end:n,factor:1/(t+1+n)}}_generate(){let e=this._adapter,t=this.min,n=this.max,r=this.options,i=r.time,a=i.unit||Gy(i.minUnit,t,n,this._getLabelCapacity(t)),o=Rf(r.ticks.stepSize,1),s=a===`week`?i.isoWeekday:!1,c=_p(s)||s===!0,l={},u=t,d,f;if(c&&(u=+e.startOf(u,`isoWeek`,s)),u=+e.startOf(u,c?`day`:a),e.diff(n,t,a)>1e5*o)throw Error(t+` and `+n+` are too far apart with stepSize of `+o+` `+a);let p=r.ticks.source===`data`&&this.getDataTimestamps();for(d=u,f=0;d<n;d=+e.add(d,o,a),f++)Jy(l,d,p);return(d===n||r.bounds===`ticks`||f===1)&&Jy(l,d,p),Object.keys(l).sort(Uy).map(e=>+e)}getLabelForValue(e){let t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){let n=this.options.time.displayFormats,r=this._unit,i=t||n[r];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,r){let i=this.options,a=i.ticks.callback;if(a)return Bf(a,[e,t,n],this);let o=i.time.displayFormats,s=this._unit,c=this._majorUnit,l=s&&o[s],u=c&&o[c],d=n[t],f=c&&u&&d&&d.major;return this._adapter.format(e,r||(f?u:l))}generateTickLabels(e){let t,n,r;for(t=0,n=e.length;t<n;++t)r=e[t],r.label=this._tickFormatFunction(r.value,t,e)}getDecimalForValue(e){return e===null?NaN:(e-this.min)/(this.max-this.min)}getPixelForValue(e){let t=this._offsets,n=this.getDecimalForValue(e);return this.getPixelForDecimal((t.start+n)*t.factor)}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return this.min+n*(this.max-this.min)}_getLabelSize(e){let t=this.options.ticks,n=this.ctx.measureText(e).width,r=bp(this.isHorizontal()?t.maxRotation:t.minRotation),i=Math.cos(r),a=Math.sin(r),o=this._resolveTickFontOptions(0).size;return{w:n*i+o*a,h:n*a+o*i}}_getLabelCapacity(e){let t=this.options.time,n=t.displayFormats,r=n[t.unit]||n.millisecond,i=this._tickFormatFunction(e,0,Xy(this,[e],this._majorUnit),r),a=this._getLabelSize(i),o=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return o>0?o:1}getDataTimestamps(){let e=this._cache.data||[],t,n;if(e.length)return e;let r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t<n;++t)e=e.concat(r[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(e)}getLabelTimestamps(){let e=this._cache.labels||[],t,n;if(e.length)return e;let r=this.getLabels();for(t=0,n=r.length;t<n;++t)e.push(Wy(this,r[t]));return this._cache.labels=this._normalized?e:this.normalize(e)}normalize(e){return Lp(e.sort(Uy))}};function Qy(e,t,n){let r=0,i=e.length-1,a,o,s,c;n?(t>=e[r].pos&&t<=e[i].pos&&({lo:r,hi:i}=jp(e,`pos`,t)),{pos:a,time:s}=e[r],{pos:o,time:c}=e[i]):(t>=e[r].time&&t<=e[i].time&&({lo:r,hi:i}=jp(e,`time`,t)),{time:a,pos:s}=e[r],{time:o,pos:c}=e[i]);let l=o-a;return l?s+(c-s)*(t-a)/l:s}(class extends Zy{static id=`timeseries`;static defaults=Zy.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Qy(t,this.min),this._tableRange=Qy(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){let{min:t,max:n}=this,r=[],i=[],a,o,s,c,l;for(a=0,o=e.length;a<o;++a)c=e[a],c>=t&&c<=n&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(a=0,o=r.length;a<o;++a)l=r[a+1],s=r[a-1],c=r[a],Math.round((l+s)/2)!==c&&i.push({time:c,pos:a/(o-1)});return i}_generate(){let e=this.min,t=this.max,n=super.getDataTimestamps();return(!n.includes(e)||!n.length)&&n.splice(0,0,e),(!n.includes(t)||n.length===1)&&n.push(t),n.sort((e,t)=>e-t)}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;let t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(Qy(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return Qy(this._table,n*this._tableRange+this._minPos,!0)}});function $y(){let e=[{id:`daily`,label:`Today`},{id:`weekly`,label:`This Week`},{id:`monthly`,label:`This Month`},{id:`overall`,label:`Overall`}],t=N(`daily`),n=bt([bt(co,e=>e),t],([e,t])=>e&&e[t]||null),r=bt(n,e=>e?.history||[]),i=bt(r,e=>Math.max(5,...e.map(e=>Math.max(e.created||0,e.completed||0))));function a(e){return e?e<60?`${Math.round(e)}m`:`${Math.floor(e/60)}h ${Math.round(e%60)}m`:`0m`}function o(e){return e?e<1e3?e.toString():`${(e/1e3).toFixed(1)}k`:`0`}return{periods:e,activePeriod:t,periodData:n,history:r,maxVal:i,setActivePeriod:e=>t.set(e),formatDuration:a,formatTokens:o}}var eb=K(`<button style="padding:4px 10px;font-size:0.65rem;"> </button>`),tb=K(`<div class="flex items-center justify-between mb-4"><div style="font-size:0.65rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.1em;">Trend Line</div> <div class="flex gap-3"><div class="flex items-center gap-1.5"><div style="width:8px;height:8px;border-radius:2px;background:#10b981;"></div> <span style="font-size:0.6rem;font-weight:600;color:var(--color-text-muted);">Added</span></div> <div class="flex items-center gap-1.5"><div style="width:8px;height:8px;border-radius:2px;background:#6366f1;"></div> <span style="font-size:0.6rem;font-weight:600;color:var(--color-text-muted);">Done</span></div></div></div> <div style="height:120px;position:relative;width:100%;"><canvas></canvas></div>`,1),nb=K(`<div class="compact-empty svelte-9j0inj">No trend data for this period</div>`),rb=K(`<div class="glass card animate-fade-in"><div class="flex items-center justify-between mb-4"><div><div style="font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-primary);">Performance</div> <div style="font-size:0.75rem;color:var(--color-text-muted);">Execution throughput</div></div> <div class="flex gap-1" style="background:rgba(241,245,249,0.5);padding:3px;border-radius:10px;"></div></div> <div class="metrics-grid svelte-9j0inj"><div style="background:rgba(99,102,241,0.08);border:1px solid rgba(99,102,241,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#6366f1;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Done</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div> <div style="background:rgba(16,185,129,0.08);border:1px solid rgba(16,185,129,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#10b981;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Added</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div> <div style="background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#0ea5e9;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Tokens</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div> <div style="background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#f59e0b;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Velocity</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div></div> <div class="pt-4 border-t border-dashed" style="border-color:var(--color-border);"><!></div></div>`);function ib(e,t){rt(t,!1);let n=()=>F(l,`$history`,a),r=()=>F(s,`$activePeriod`,a),i=()=>F(c,`$periodData`,a),[a,o]=Et();Cv.register(_g,Pv,my,vy,ly,Uv);let{activePeriod:s,periodData:c,history:l,setActivePeriod:u,periods:d,formatTokens:f,formatDuration:p}=$y(),m=I(),h=I();function g(){H(m)&&L(h,new Cv(H(m),{type:`bar`,data:{labels:[],datasets:[{label:`Created`,data:[],backgroundColor:`#10b981`,borderRadius:4,borderSkipped:!1,barPercentage:.6,categoryPercentage:.8},{label:`Completed`,data:[],backgroundColor:`#6366f1`,borderRadius:4,borderSkipped:!1,barPercentage:.6,categoryPercentage:.8}]},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1},tooltip:{backgroundColor:`rgba(15, 23, 42, 0.95)`,titleFont:{size:12,weight:`bold`},bodyFont:{size:11},padding:10,cornerRadius:8,displayColors:!0,borderColor:`rgba(255, 255, 255, 0.1)`,borderWidth:1}},scales:{x:{grid:{display:!1},ticks:{color:`#94a3b8`,font:{size:10,family:`monospace`},callback(e,t){let n=this.getLabelForValue(t);return n.includes(`:00`)?n.split(`:`)[0]:n.replace(`2026-`,``).replace(`2025-`,``)}}},y:{beginAtZero:!0,grid:{color:`rgba(148, 163, 184, 0.05)`},ticks:{color:`#94a3b8`,font:{size:9},stepSize:1,precision:0}}}}}))}function _(e){H(h)&&(Sn(h,H(h).data.labels=e.map(e=>e.label)),Sn(h,H(h).data.datasets[0].data=e.map(e=>e.created)),Sn(h,H(h).data.datasets[1].data=e.map(e=>e.completed)),H(h).update(`none`))}Ka(()=>{H(m)&&g()}),qa(()=>{H(h)&&H(h).destroy()}),ir(()=>(H(m),H(h),n()),()=>{H(m)&&!H(h)&&(g(),n()?.length&&_(n()))}),ir(()=>(H(h),n()),()=>{H(h)&&n()&&_(n())}),ar(),Ua();var v=rb(),y=R(v),b=B(R(y),2);X(b,5,()=>d,e=>e.id,(e,t)=>{var n=eb();let i;var a=R(n,!0);j(n),V(()=>{i=la(n,1,`tab-btn`,null,i,{active:r()===H(t).id}),J(a,(H(t),U(()=>H(t).label)))}),G(`click`,n,()=>u(H(t).id)),q(e,n)}),j(b),j(y);var x=B(y,2),S=R(x),C=B(R(S),2),w=R(C,!0);j(C),j(S);var T=B(S,2),E=B(R(T),2),D=R(E,!0);j(E),j(T);var O=B(T,2),k=B(R(O),2),ee=R(k,!0);j(k),j(O);var te=B(O,2),ne=B(R(te),2),re=R(ne,!0);j(ne),j(te),j(x);var ie=B(x,2),A=R(ie),ae=e=>{var t=tb(),n=B(z(t),2);Ba(R(n),e=>L(m,e),()=>H(m)),j(n),q(e,t)},oe=e=>{q(e,nb())};Y(A,e=>{i(),U(()=>i()?.history&&i().history.length>0)?e(ae):e(oe,-1)}),j(ie),j(v),V((e,t)=>{J(w,(i(),U(()=>i()?.completed??`—`))),J(D,(i(),U(()=>i()?.added??`—`))),J(ee,e),J(re,t)},[()=>(i(),U(()=>i()?.tokens?f(i().tokens):`—`)),()=>(i(),U(()=>i()?.avgDuration?p(i().avgDuration):`—`))]),q(e,v),it(),o()}function ab(){let e=!1,t=``;async function n(n=P(no)){if(!n){uo.set([]);return}e=!0,t=``;try{let e=await Ro.memories({repo:n,type:P(go)||void 0,search:P(ho)||void 0,minImportance:P(_o)||void 0,maxImportance:P(vo)||void 0,sortBy:P(yo),sortOrder:P(bo),page:P(po),pageSize:P(mo)});uo.set(e.memories||[]),fo.set(e.pagination?.totalItems||0)}catch(e){console.error(`Failed to load memories:`,e),t=e instanceof Error?e.message:`Failed to load memories`}finally{e=!1}}let r=nu(()=>{po.set(1),n()},300);function i(){r()}function a(){po.set(1),n()}function o(e){let t=P(Ao);e<1||e>t||(po.set(e),n())}function s(e){P(yo)===e?bo.update(e=>e===`desc`?`asc`:`desc`):(yo.set(e),bo.set(`desc`)),n()}function c(e){xo.update(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function l(){xo.update(e=>{let t=P(uo);return e.size===t.length?new Set:new Set(t.map(e=>e.id))})}async function u(e,t=P(no)){if(t)try{let n=await Ro.export(t),r=`${t.replace(`/`,`_`)}_export`;e===`json`?eu(n,r+`.json`):tu(n.memories||[],r+`.csv`)}catch(e){console.error(`Export failed:`,e)}}async function d(e,t){if(t&&t.stopPropagation(),await Bo(`Delete memory "${e.title}"?`))try{await Ro.deleteMemory(e.id),n()}catch(e){Vo(`Failed to delete: `+(e instanceof Error?e.message:`Unknown error`))}}async function f(){let e=P(xo);if(e.size!==0&&await Bo(`Are you sure you want to delete ${e.size} memories?`))try{await Ro.bulkMemoryAction(`delete`,Array.from(e)),xo.set(new Set),n()}catch(e){Vo(`Failed to delete: `+(e instanceof Error?e.message:`Unknown error`))}}async function p(){let e=P(xo);if(e.size!==0)try{await Ro.bulkMemoryAction(`archive`,Array.from(e)),xo.set(new Set),n()}catch(e){Vo(`Failed to archive: `+(e instanceof Error?e.message:`Unknown error`))}}return{get loading(){return e},get error(){return t},loadMemories:n,onSearchInput:i,onFilterChange:a,goToPage:o,toggleSort:s,toggleSelect:c,toggleSelectAll:l,handleExport:u,handleDeleteRow:d,handleBulkDelete:f,handleBulkArchive:p}}var ob=[`code_fact`,`decision`,`mistake`,`pattern`,`task_archive`],sb={code_fact:`Code Fact`,decision:`Decision`,mistake:`Mistake`,pattern:`Pattern`,task_archive:`Task Archive`},cb={1:`#64748b`,2:`#3b82f6`,3:`#f59e0b`,4:`#f97316`,5:`#ef4444`},lb={1:`rgba(100,116,139,0.12)`,2:`rgba(59,130,246,0.12)`,3:`rgba(245,158,11,0.12)`,4:`rgba(249,115,22,0.12)`,5:`rgba(239,68,68,0.12)`},ub=K(`<option> </option>`),db=K(`<option> </option>`),fb=K(`<option> </option>`),pb=K(`<div class="mem-error svelte-83aj9g"><!> <span> </span> <button class="btn btn-ghost btn-sm">Retry</button></div>`),mb=K(`<tr><td colspan="7" class="mem-td svelte-83aj9g" style="padding:40px;text-align:center;color:var(--color-text-muted);">Unable to load memories. Check your connection and try again.</td></tr>`),hb=K(`<tr><td colspan="7" class="mem-td svelte-83aj9g"><div class="skeleton" style="height:20px;border-radius:6px;"></div></td></tr>`),gb=K(`<tr><td colspan="7" class="mem-td svelte-83aj9g" style="padding:40px;text-align:center;color:var(--color-text-muted);"><div style="font-size:2rem;margin-bottom:8px;">🔍</div> No memories found</td></tr>`),_b=K(`<span style="font-size:0.6rem;background:rgba(99,102,241,0.1);color:#6366f1;padding:1px 5px;border-radius:9999px;"> </span>`),vb=K(`<div style="margin-top:3px;display:flex;gap:4px;flex-wrap:wrap;"></div>`),yb=K(`<tr><td class="mem-td svelte-83aj9g"><input type="checkbox"/></td><td class="mem-td svelte-83aj9g" style="max-width:300px;"><div class="truncate font-semibold" style="font-size:0.82rem;color:var(--color-text);"> </div> <!></td><td class="mem-td svelte-83aj9g"><span> </span></td><td class="mem-td svelte-83aj9g" style="text-align:center;"><span> </span></td><td class="mem-td svelte-83aj9g" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td svelte-83aj9g" style="text-align:center;font-size:0.75rem;font-weight:600;color:var(--color-text-muted);"> </td><td class="mem-td row-actions svelte-83aj9g"><button class="row-action-btn edit-btn svelte-83aj9g" title="Edit / View" aria-label="Edit memory"><!></button> <button class="row-action-btn delete-btn svelte-83aj9g" title="Delete" aria-label="Delete memory"><!></button></td></tr>`),bb=K(`<button> </button>`),xb=K(`<div class="flex items-center justify-between mt-3"><span style="font-size:0.75rem;color:var(--color-text-muted);"> </span> <div class="flex gap-1"><button class="btn btn-ghost btn-sm">«</button> <button class="btn btn-ghost btn-sm">‹</button> <!> <button class="btn btn-ghost btn-sm">›</button> <button class="btn btn-ghost btn-sm">»</button></div></div>`),Sb=K(`<div class="bulk-actions-bar svelte-83aj9g"><span><b> </b> selected</span> <div style="width:12px;"></div> <button class="btn btn-sm" style="background:rgba(120,120,120,0.2);color:inherit;">Cancel</button> <button class="btn btn-sm" style="background:#52525b;color:white;border:none;">Archive</button> <button class="btn btn-sm btn-accent" style="background:#ef4444;color:white;border:none;">Delete</button></div>`),Cb=K(`<div><div class="flex items-center gap-2 mb-3" style="flex-wrap:wrap;"><div style="position:relative;flex:1;min-width:160px;"><span class="search-icon-inner svelte-83aj9g"><!></span> <input class="form-input" style="padding-left:32px;font-size:0.8rem;" type="text" placeholder="Search memories..."/></div> <select class="form-select" style="width:140px;font-size:0.8rem;"><option>All Types</option><!></select> <select class="form-select" style="width:100px;font-size:0.8rem;"><option>Min Imp.</option><!></select> <select class="form-select" style="width:100px;font-size:0.8rem;"></select> <!> <button class="btn btn-accent btn-sm" id="newMemoryBtn" style="margin-left:auto;"><!> New Memory</button></div> <div style="font-size:0.72rem;color:var(--color-text-muted);margin-bottom:8px;"> </div> <!> <div class="mem-table-wrap svelte-83aj9g"><table class="mem-table svelte-83aj9g"><thead><tr class="mem-thead-row svelte-83aj9g"><th class="mem-th svelte-83aj9g" style="width:36px;"><input type="checkbox" aria-label="Select all"/></th><th class="mem-th sortable svelte-83aj9g"> </th><th class="mem-th svelte-83aj9g">Type</th><th class="mem-th svelte-83aj9g" style="text-align:center;cursor:pointer;"> </th><th class="mem-th sortable svelte-83aj9g"> </th><th class="mem-th svelte-83aj9g" style="text-align:center;">Hits</th><th class="mem-th svelte-83aj9g" style="width:80px;"></th></tr></thead><tbody><!></tbody></table></div> <!> <!></div>`);function wb(e,t){rt(t,!1);let n=()=>F(uo,`$memories`,p),r=()=>F(xo,`$selectedMemoryIds`,p),i=()=>F(ho,`$memoriesSearch`,p),a=()=>F(go,`$memoriesTypeFilter`,p),o=()=>F(_o,`$memoriesImportanceMin`,p),s=()=>F(mo,`$memoriesPageSize`,p),c=()=>F(fo,`$memoriesTotal`,p),l=()=>F(yo,`$memoriesSortBy`,p),u=()=>F(bo,`$memoriesSortOrder`,p),d=()=>F(Ao,`$memoriesTotalPages`,p),f=()=>F(po,`$memoriesPage`,p),[p,m]=Et(),h=I(),g=Z(t,`onMemoryClick`,8,()=>{}),_=Z(t,`onNewMemory`,8,()=>{}),v=Z(t,`onBulkImport`,8,()=>{}),y=ab();function b(){y.loadMemories()}ir(()=>(n(),r()),()=>{L(h,n().length>0&&r().size===n().length)}),ar();var x={refresh:b};Ua();var S=Cb(),C=R(S),w=R(C),T=R(w);Q(R(T),{name:`search`,size:20}),j(T);var E=B(T,2);Ta(E),j(w);var D=B(w,2),O=R(D);O.value=O.__value=``,X(B(O),1,()=>ob,e=>e,(e,t)=>{var n=ub(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(W(sb),H(t),U(()=>sb[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(D);var k=B(D,2),ee=R(k);ee.value=(ee.__value=null,``),X(B(ee),0,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=db(),r=R(n,!0);j(n);var i={};V(()=>{J(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),q(e,n)}),j(k);var te=B(k,2);X(te,4,()=>[10,25,50,100],e=>e,(e,t)=>{var n=fb(),r=R(n);j(n);var i={};V(()=>{J(r,`${t??``} / page`),i!==(i=t)&&(n.value=(n.__value=t)??``)}),q(e,n)}),j(te);var ne=B(te,2);pd(ne,{onExport:e=>y.handleExport(e),get onImport(){return v()}});var re=B(ne,2);Q(R(re),{name:`plus`,size:13,strokeWidth:2.5}),M(),j(re),j(C);var ie=B(C,2),A=R(ie);j(ie);var ae=B(ie,2),oe=e=>{var t=pb(),n=R(t);Q(n,{name:`triangle-alert`,size:14,strokeWidth:1.75});var r=B(n,2),i=R(r);j(r);var a=B(r,2);j(t),V(()=>J(i,`Failed to load memories: ${U(()=>y.error)??``}`)),G(`click`,a,()=>y.loadMemories()),q(e,t)};Y(ae,e=>{U(()=>y.error)&&e(oe)});var se=B(ae,2),ce=R(se),le=R(ce),ue=R(le),de=R(ue),fe=R(de);Ta(fe),j(de);var pe=B(de),me=R(pe);j(pe);var he=B(pe,2),ge=R(he);j(he);var _e=B(he),ve=R(_e);j(_e),M(2),j(ue),j(le);var ye=B(le),be=R(ye),xe=e=>{q(e,mb())},Se=e=>{var t=Ti();X(z(t),0,()=>({length:5}),Ni,(e,t,n)=>{var r=hb();ka(r,`data-index`,n),V(()=>ka(r,`data-dummy`,t)),q(e,r)}),q(e,t)},Ce=e=>{q(e,gb())},we=e=>{var i=Ti();X(z(i),1,n,e=>e.id,(e,n)=>{var i=yb();let a;var o=R(i),s=R(o);Ta(s),j(o);var c=B(o),l=R(c),u=R(l,!0);j(l);var d=B(l,2),f=e=>{var t=vb();X(t,5,()=>(H(n),U(()=>H(n).tags.slice(0,3))),e=>e,(e,t)=>{var n=_b(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(t),q(e,t)};Y(d,e=>{H(n),U(()=>H(n).tags?.length)&&e(f)}),j(c);var p=B(c),m=R(p),h=R(m,!0);j(m),j(p);var _=B(p),v=R(_),b=R(v,!0);j(v),j(_);var x=B(_),S=R(x,!0);j(x);var C=B(x),w=R(C,!0);j(C);var T=B(C),E=R(T);Q(R(E),{name:`edit`,size:13,strokeWidth:2}),j(E);var D=B(E,2);Q(R(D),{name:`trash`,size:13,strokeWidth:2}),j(D),j(T),j(i),V((e,t,r)=>{a=la(i,1,`mem-row svelte-83aj9g`,null,a,e),Da(s,t),J(u,(H(n),U(()=>H(n).title))),la(m,1,`type-chip type-${(H(n),U(()=>H(n).type))??``}`,`svelte-83aj9g`),J(h,(W(sb),H(n),U(()=>sb[H(n).type]||H(n).type))),da(v,`display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:0.75rem;font-weight:700;background:${(W(lb),H(n),U(()=>lb[H(n).importance]||lb[1]))??``};color:${(W(cb),H(n),U(()=>cb[H(n).importance]||cb[1]))??``};`),J(b,(H(n),U(()=>H(n).importance))),J(S,r),J(w,(H(n),U(()=>H(n).hit_count??0)))},[()=>({selected:r().has(H(n).id)}),()=>(r(),H(n),U(()=>r().has(H(n).id))),()=>(W(ql),H(n),U(()=>ql(H(n).updated_at)))]),G(`change`,s,()=>y.toggleSelect(H(n).id)),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`click`,E,()=>g()(H(n))),G(`click`,D,e=>y.handleDeleteRow(H(n),e)),G(`click`,T,Va(function(e){Ga.call(this,t,e)})),G(`click`,i,()=>g()(H(n))),q(e,i)}),q(e,i)};Y(be,e=>{U(()=>y.error)?e(xe):U(()=>y.loading)?e(Se,1):(n(),U(()=>n().length===0)?e(Ce,2):e(we,-1))}),j(ye),j(ce),j(se);var Te=B(se,2),Ee=e=>{var t=xb(),n=R(t),r=R(n);j(n);var i=B(n,2),a=R(i),o=B(a,2),s=B(o,2);X(s,1,()=>(d(),f(),U(()=>Array.from({length:Math.min(5,d())},(e,t)=>Math.max(1,Math.min(f()-2,d()-4))+t))),e=>e,(e,t)=>{var n=bb();let r;var i=R(n,!0);j(n),V(()=>{r=la(n,1,`btn btn-sm`,null,r,{"btn-primary":H(t)===f(),"btn-ghost":H(t)!==f()}),J(i,H(t))}),G(`click`,n,()=>y.goToPage(H(t))),q(e,n)});var c=B(s,2),l=B(c,2);j(i),j(t),V(()=>{J(r,`Page ${f()??``} of ${d()??``}`),a.disabled=f()<=1,o.disabled=f()<=1,c.disabled=f()>=d(),l.disabled=f()>=d()}),G(`click`,a,()=>y.goToPage(1)),G(`click`,o,()=>y.goToPage(f()-1)),G(`click`,c,()=>y.goToPage(f()+1)),G(`click`,l,()=>y.goToPage(d())),q(e,t)};Y(Te,e=>{d()>1&&e(Ee)});var De=B(Te,2),Oe=e=>{var t=Sb(),n=R(t),i=R(n),a=R(i,!0);j(i),M(),j(n);var o=B(n,4),s=B(o,2),c=B(s,2);j(t),V(()=>J(a,(r(),U(()=>r().size)))),G(`click`,o,()=>xo.set(new Set)),G(`click`,s,()=>y.handleBulkArchive()),G(`click`,c,()=>y.handleBulkDelete()),q(e,t)};Y(De,e=>{r(),U(()=>r().size>0)&&e(Oe)}),j(S),V(()=>{J(A,`${c()??``} memories
|
|
132
|
+
`):e}function qv(e,t){let{element:n,datasetIndex:r,index:i}=t,a=e.getDatasetMeta(r).controller,{label:o,value:s}=a.getLabelAndValue(i);return{chart:e,label:o,parsed:a.getParsed(i),raw:e.data.datasets[r].data[i],formattedValue:s,dataset:a.getDataset(),dataIndex:i,datasetIndex:r,element:n}}function Jv(e,t){let n=e.chart.ctx,{body:r,footer:i,title:a}=e,{boxWidth:o,boxHeight:s}=t,c=Im(t.bodyFont),l=Im(t.titleFont),u=Im(t.footerFont),d=a.length,f=i.length,p=r.length,m=Fm(t.padding),h=m.height,g=0,_=r.reduce((e,t)=>e+t.before.length+t.lines.length+t.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,d&&(h+=d*l.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_){let e=t.displayColors?Math.max(s,c.lineHeight):c.lineHeight;h+=p*e+(_-p)*c.lineHeight+(_-1)*t.bodySpacing}f&&(h+=t.footerMarginTop+f*u.lineHeight+(f-1)*t.footerSpacing);let v=0,y=function(e){g=Math.max(g,n.measureText(e).width+v)};return n.save(),n.font=l.string,Vf(e.title,y),n.font=c.string,Vf(e.beforeBody.concat(e.afterBody),y),v=t.displayColors?o+2+t.boxPadding:0,Vf(r,e=>{Vf(e.before,y),Vf(e.lines,y),Vf(e.after,y)}),v=0,n.font=u.string,Vf(e.footer,y),n.restore(),g+=m.width,{width:g,height:h}}function Yv(e,t){let{y:n,height:r}=t;return n<r/2?`top`:n>e.height-r/2?`bottom`:`center`}function Xv(e,t,n,r){let{x:i,width:a}=r,o=n.caretSize+n.caretPadding;if(e===`left`&&i+a+o>t.width||e===`right`&&i-a-o<0)return!0}function Zv(e,t,n,r){let{x:i,width:a}=n,{width:o,chartArea:{left:s,right:c}}=e,l=`center`;return r===`center`?l=i<=(s+c)/2?`left`:`right`:i<=a/2?l=`left`:i>=o-a/2&&(l=`right`),Xv(l,e,t,n)&&(l=`center`),l}function Qv(e,t,n){let r=n.yAlign||t.yAlign||Yv(e,n);return{xAlign:n.xAlign||t.xAlign||Zv(e,t,n,r),yAlign:r}}function $v(e,t){let{x:n,width:r}=e;return t===`right`?n-=r:t===`center`&&(n-=r/2),n}function ey(e,t,n){let{y:r,height:i}=e;return t===`top`?r+=n:t===`bottom`?r-=i+n:r-=i/2,r}function ty(e,t,n,r){let{caretSize:i,caretPadding:a,cornerRadius:o}=e,{xAlign:s,yAlign:c}=n,l=i+a,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=Pm(o),m=$v(t,s),h=ey(t,c,l);return c===`center`?s===`left`?m+=l:s===`right`&&(m-=l):s===`left`?m-=Math.max(u,f)+i:s===`right`&&(m+=Math.max(d,p)+i),{x:Dp(m,0,r.width-t.width),y:Dp(h,0,r.height-t.height)}}function ny(e,t,n){let r=Fm(n.padding);return t===`center`?e.x+e.width/2:t===`right`?e.x+e.width-r.right:e.x+r.left}function ry(e){return Gv([],Kv(e))}function iy(e,t,n){return zm(e,{tooltip:t,tooltipItems:n,type:`tooltip`})}function ay(e,t){let n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}var oy={beforeTitle:jf,title(e){if(e.length>0){let t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode===`dataset`)return t.dataset.label||``;if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return``},afterTitle:jf,beforeBody:jf,beforeLabel:jf,label(e){if(this&&this.options&&this.options.mode===`dataset`)return e.label+`: `+e.formattedValue||e.formattedValue;let t=e.dataset.label||``;t&&(t+=`: `);let n=e.formattedValue;return Nf(n)||(t+=n),t},labelColor(e){let t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:t.borderColor,backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){let t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:t.pointStyle,rotation:t.rotation}},afterLabel:jf,afterBody:jf,beforeFooter:jf,footer:jf,afterFooter:jf};function sy(e,t,n,r){let i=e[t].call(n,r);return i===void 0?oy[t].call(n,r):i}var cy=class extends h_{static positioners=Wv;constructor(e){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=e.chart,this.options=e.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(e){this.options=e,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){let e=this._cachedAnimations;if(e)return e;let t=this.chart,n=this.options.setContext(this.getContext()),r=n.enabled&&t.options.animation&&n.animations,i=new Nh(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||=iy(this.chart.getContext(),this,this._tooltipItems)}getTitle(e,t){let{callbacks:n}=t,r=sy(n,`beforeTitle`,this,e),i=sy(n,`title`,this,e),a=sy(n,`afterTitle`,this,e),o=[];return o=Gv(o,Kv(r)),o=Gv(o,Kv(i)),o=Gv(o,Kv(a)),o}getBeforeBody(e,t){return ry(sy(t.callbacks,`beforeBody`,this,e))}getBody(e,t){let{callbacks:n}=t,r=[];return Vf(e,e=>{let t={before:[],lines:[],after:[]},i=ay(n,e);Gv(t.before,Kv(sy(i,`beforeLabel`,this,e))),Gv(t.lines,sy(i,`label`,this,e)),Gv(t.after,Kv(sy(i,`afterLabel`,this,e))),r.push(t)}),r}getAfterBody(e,t){return ry(sy(t.callbacks,`afterBody`,this,e))}getFooter(e,t){let{callbacks:n}=t,r=sy(n,`beforeFooter`,this,e),i=sy(n,`footer`,this,e),a=sy(n,`afterFooter`,this,e),o=[];return o=Gv(o,Kv(r)),o=Gv(o,Kv(i)),o=Gv(o,Kv(a)),o}_createItems(e){let t=this._active,n=this.chart.data,r=[],i=[],a=[],o=[],s,c;for(s=0,c=t.length;s<c;++s)o.push(qv(this.chart,t[s]));return e.filter&&(o=o.filter((t,r,i)=>e.filter(t,r,i,n))),e.itemSort&&(o=o.sort((t,r)=>e.itemSort(t,r,n))),Vf(o,t=>{let n=ay(e.callbacks,t);r.push(sy(n,`labelColor`,this,t)),i.push(sy(n,`labelPointStyle`,this,t)),a.push(sy(n,`labelTextColor`,this,t))}),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=o,o}update(e,t){let n=this.options.setContext(this.getContext()),r=this._active,i,a=[];if(!r.length)this.opacity!==0&&(i={opacity:0});else{let e=Wv[n.position].call(this,r,this._eventPosition);a=this._createItems(n),this.title=this.getTitle(a,n),this.beforeBody=this.getBeforeBody(a,n),this.body=this.getBody(a,n),this.afterBody=this.getAfterBody(a,n),this.footer=this.getFooter(a,n);let t=this._size=Jv(this,n),o=Object.assign({},e,t),s=Qv(this.chart,n,o),c=ty(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:c.x,y:c.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,r){let i=this.getCaretPosition(e,n,r);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){let{xAlign:r,yAlign:i}=this,{caretSize:a,cornerRadius:o}=n,{topLeft:s,topRight:c,bottomLeft:l,bottomRight:u}=Pm(o),{x:d,y:f}=e,{width:p,height:m}=t,h,g,_,v,y,b;return i===`center`?(y=f+m/2,r===`left`?(h=d,g=h-a,v=y+a,b=y-a):(h=d+p,g=h+a,v=y-a,b=y+a),_=h):(g=r===`left`?d+Math.max(s,l)+a:r===`right`?d+p-Math.max(c,u)-a:this.caretX,i===`top`?(v=f,y=v-a,h=g-a,_=g+a):(v=f+m,y=v+a,h=g+a,_=g-a),b=v),{x1:h,x2:g,x3:_,y1:v,y2:y,y3:b}}drawTitle(e,t,n){let r=this.title,i=r.length,a,o,s;if(i){let c=Ch(n.rtl,this.x,this.width);for(e.x=ny(this,n.titleAlign,n),t.textAlign=c.textAlign(n.titleAlign),t.textBaseline=`middle`,a=Im(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=a.string,s=0;s<i;++s)t.fillText(r[s],c.x(e.x),e.y+a.lineHeight/2),e.y+=a.lineHeight+o,s+1===i&&(e.y+=n.titleMarginBottom-o)}}_drawColorBox(e,t,n,r,i){let a=this.labelColors[n],o=this.labelPointStyles[n],{boxHeight:s,boxWidth:c}=i,l=Im(i.bodyFont),u=ny(this,`left`,i),d=r.x(u),f=s<l.lineHeight?(l.lineHeight-s)/2:0,p=t.y+f;if(i.usePointStyle){let t={radius:Math.min(c,s)/2,pointStyle:o.pointStyle,rotation:o.rotation,borderWidth:1},n=r.leftForLtr(d,c)+c/2,l=p+s/2;e.strokeStyle=i.multiKeyBackground,e.fillStyle=i.multiKeyBackground,vm(e,t,n,l),e.strokeStyle=a.borderColor,e.fillStyle=a.backgroundColor,vm(e,t,n,l)}else{e.lineWidth=Ff(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,e.strokeStyle=a.borderColor,e.setLineDash(a.borderDash||[]),e.lineDashOffset=a.borderDashOffset||0;let t=r.leftForLtr(d,c),n=r.leftForLtr(r.xPlus(d,1),c-2),o=Pm(a.borderRadius);Object.values(o).some(e=>e!==0)?(e.beginPath(),e.fillStyle=i.multiKeyBackground,Dm(e,{x:t,y:p,w:c,h:s,radius:o}),e.fill(),e.stroke(),e.fillStyle=a.backgroundColor,e.beginPath(),Dm(e,{x:n,y:p+1,w:c-2,h:s-2,radius:o}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,p,c,s),e.strokeRect(t,p,c,s),e.fillStyle=a.backgroundColor,e.fillRect(n,p+1,c-2,s-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){let{body:r}=this,{bodySpacing:i,bodyAlign:a,displayColors:o,boxHeight:s,boxWidth:c,boxPadding:l}=n,u=Im(n.bodyFont),d=u.lineHeight,f=0,p=Ch(n.rtl,this.x,this.width),m=function(n){t.fillText(n,p.x(e.x+f),e.y+d/2),e.y+=d+i},h=p.textAlign(a),g,_,v,y,b,x,S;for(t.textAlign=a,t.textBaseline=`middle`,t.font=u.string,e.x=ny(this,h,n),t.fillStyle=n.bodyColor,Vf(this.beforeBody,m),f=o&&h!==`right`?a===`center`?c/2+l:c+2+l:0,y=0,x=r.length;y<x;++y){for(g=r[y],_=this.labelTextColors[y],t.fillStyle=_,Vf(g.before,m),v=g.lines,o&&v.length&&(this._drawColorBox(t,e,y,p,n),d=Math.max(u.lineHeight,s)),b=0,S=v.length;b<S;++b)m(v[b]),d=u.lineHeight;Vf(g.after,m)}f=0,d=u.lineHeight,Vf(this.afterBody,m),e.y-=i}drawFooter(e,t,n){let r=this.footer,i=r.length,a,o;if(i){let s=Ch(n.rtl,this.x,this.width);for(e.x=ny(this,n.footerAlign,n),e.y+=n.footerMarginTop,t.textAlign=s.textAlign(n.footerAlign),t.textBaseline=`middle`,a=Im(n.footerFont),t.fillStyle=n.footerColor,t.font=a.string,o=0;o<i;++o)t.fillText(r[o],s.x(e.x),e.y+a.lineHeight/2),e.y+=a.lineHeight+n.footerSpacing}}drawBackground(e,t,n,r){let{xAlign:i,yAlign:a}=this,{x:o,y:s}=e,{width:c,height:l}=n,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:p}=Pm(r.cornerRadius);t.fillStyle=r.backgroundColor,t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.beginPath(),t.moveTo(o+u,s),a===`top`&&this.drawCaret(e,t,n,r),t.lineTo(o+c-d,s),t.quadraticCurveTo(o+c,s,o+c,s+d),a===`center`&&i===`right`&&this.drawCaret(e,t,n,r),t.lineTo(o+c,s+l-p),t.quadraticCurveTo(o+c,s+l,o+c-p,s+l),a===`bottom`&&this.drawCaret(e,t,n,r),t.lineTo(o+f,s+l),t.quadraticCurveTo(o,s+l,o,s+l-f),a===`center`&&i===`left`&&this.drawCaret(e,t,n,r),t.lineTo(o,s+u),t.quadraticCurveTo(o,s,o+u,s),t.closePath(),t.fill(),r.borderWidth>0&&t.stroke()}_updateAnimationTarget(e){let t=this.chart,n=this.$animations,r=n&&n.x,i=n&&n.y;if(r||i){let n=Wv[e.position].call(this,this._active,this._eventPosition);if(!n)return;let a=this._size=Jv(this,e),o=Object.assign({},n,this._size),s=Qv(t,e,o),c=ty(e,o,s,t);(r._to!==c.x||i._to!==c.y)&&(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=a.width,this.height=a.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,c))}}_willRender(){return!!this.opacity}draw(e){let t=this.options.setContext(this.getContext()),n=this.opacity;if(!n)return;this._updateAnimationTarget(t);let r={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;let a=Fm(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,r,t),wh(e,t.textDirection),i.y+=a.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),Th(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){let n=this._active,r=e.map(({datasetIndex:e,index:t})=>{let n=this.chart.getDatasetMeta(e);if(!n)throw Error(`Cannot find a dataset at index `+e);return{datasetIndex:e,element:n.data[t],index:t}}),i=!Hf(n,r),a=this._positionChanged(r,t);(i||a)&&(this._active=r,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;let r=this.options,i=this._active||[],a=this._getActiveElements(e,i,t,n),o=this._positionChanged(a,e),s=t||!Hf(a,i)||o;return s&&(this._active=a,(r.enabled||r.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,r){let i=this.options;if(e.type===`mouseout`)return[];if(!r)return t.filter(e=>this.chart.data.datasets[e.datasetIndex]&&this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)!==void 0);let a=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&a.reverse(),a}_positionChanged(e,t){let{caretX:n,caretY:r,options:i}=this,a=Wv[i.position].call(this,e,t);return a!==!1&&(n!==a.x||r!==a.y)}},ly={id:`tooltip`,_element:cy,positioners:Wv,afterInit(e,t,n){n&&(e.tooltip=new cy({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){let t=e.tooltip;if(t&&t._willRender()){let n={tooltip:t};if(e.notifyPlugins(`beforeTooltipDraw`,{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins(`afterTooltipDraw`,n)}},afterEvent(e,t){if(e.tooltip){let n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:`average`,backgroundColor:`rgba(0,0,0,0.8)`,titleColor:`#fff`,titleFont:{weight:`bold`},titleSpacing:2,titleMarginBottom:6,titleAlign:`left`,bodyColor:`#fff`,bodySpacing:2,bodyFont:{},bodyAlign:`left`,footerColor:`#fff`,footerSpacing:2,footerMarginTop:6,footerFont:{weight:`bold`},footerAlign:`left`,padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:`#fff`,displayColors:!0,boxPadding:0,borderColor:`rgba(0,0,0,0)`,borderWidth:0,animation:{duration:400,easing:`easeOutQuart`},animations:{numbers:{type:`number`,properties:[`x`,`y`,`width`,`height`,`caretX`,`caretY`]},opacity:{easing:`linear`,duration:200}},callbacks:oy},defaultRoutes:{bodyFont:`font`,footerFont:`font`,titleFont:`font`},descriptors:{_scriptable:e=>e!==`filter`&&e!==`itemSort`&&e!==`external`,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:`animation`}},additionalOptionScopes:[`interaction`]},uy=(e,t,n,r)=>(typeof t==`string`?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function dy(e,t,n,r){let i=e.indexOf(t);return i===-1?uy(e,t,n,r):i===e.lastIndexOf(t)?i:n}var fy=(e,t)=>e===null?null:Dp(Math.round(e),0,t);function py(e){let t=this.getLabels();return e>=0&&e<t.length?t[e]:e}var my=class extends F_{static id=`category`;static defaults={ticks:{callback:py}};constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){let t=this._addedLabels;if(t.length){let e=this.getLabels();for(let{index:n,label:r}of t)e[n]===r&&e.splice(n,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(Nf(e))return null;let n=this.getLabels();return t=isFinite(t)&&n[t]===e?t:dy(n,e,Rf(t,e),this._addedLabels),fy(t,n.length-1)}determineDataLimits(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),{min:n,max:r}=this.getMinMax(!0);this.options.bounds===`ticks`&&(e||(n=0),t||(r=this.getLabels().length-1)),this.min=n,this.max=r}buildTicks(){let e=this.min,t=this.max,n=this.options.offset,r=[],i=this.getLabels();i=e===0&&t===i.length-1?i:i.slice(e,t+1),this._valueRange=Math.max(i.length-+!n,1),this._startValue=this.min-(n?.5:0);for(let n=e;n<=t;n++)r.push({value:n});return r}getLabelForValue(e){return py.call(this,e)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return typeof e!=`number`&&(e=this.parse(e)),e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){let t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}};function hy(e,t){let n=[],{bounds:r,step:i,min:a,max:o,precision:s,count:c,maxTicks:l,maxDigits:u,includeBounds:d}=e,f=i||1,p=l-1,{min:m,max:h}=t,g=!Nf(a),_=!Nf(o),v=!Nf(c),y=(h-m)/(u+1),b=mp((h-m)/p/f)*f,x,S,C,w;if(b<1e-14&&!g&&!_)return[{value:m},{value:h}];w=Math.ceil(h/b)-Math.floor(m/b),w>p&&(b=mp(w*b/p/f)*f),Nf(s)||(x=10**s,b=Math.ceil(b*x)/x),r===`ticks`?(S=Math.floor(m/b)*b,C=Math.ceil(h/b)*b):(S=m,C=h),g&&_&&i&&vp((o-a)/i,b/1e3)?(w=Math.round(Math.min((o-a)/b,l)),b=(o-a)/w,S=a,C=o):v?(S=g?a:S,C=_?o:C,w=c-1,b=(C-S)/w):(w=(C-S)/b,w=pp(w,Math.round(w),b/1e3)?Math.round(w):Math.ceil(w));let T=Math.max(Sp(b),Sp(S));x=10**(Nf(s)?T:s),S=Math.round(S*x)/x,C=Math.round(C*x)/x;let E=0;for(g&&(d&&S!==a?(n.push({value:a}),S<a&&E++,pp(Math.round((S+E*b)*x)/x,a,gy(a,y,e))&&E++):S<a&&E++);E<w;++E){let e=Math.round((S+E*b)*x)/x;if(_&&e>o)break;n.push({value:e})}return _&&d&&C!==o?n.length&&pp(n[n.length-1].value,o,gy(o,y,e))?n[n.length-1].value=o:n.push({value:o}):(!_||C===o)&&n.push({value:C}),n}function gy(e,t,{horizontal:n,minRotation:r}){let i=bp(r),a=(n?Math.sin(i):Math.cos(i))||.001,o=.75*t*(``+e).length;return Math.min(t/a,o)}var _y=class extends F_{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return Nf(e)||(typeof e==`number`||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){let{beginAtZero:e}=this.options,{minDefined:t,maxDefined:n}=this.getUserBounds(),{min:r,max:i}=this,a=e=>r=t?r:e,o=e=>i=n?i:e;if(e){let e=fp(r),t=fp(i);e<0&&t<0?o(0):e>0&&t>0&&a(0)}if(r===i){let t=i===0?1:Math.abs(i*.05);o(i+t),e||a(r-t)}this.min=r,this.max=i}getTickLimit(){let{maxTicksLimit:e,stepSize:t}=this.options.ticks,n;return t?(n=Math.ceil(this.max/t)-Math.floor(this.min/t)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${t} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e||=11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return 1/0}buildTicks(){let e=this.options,t=e.ticks,n=this.getTickLimit();n=Math.max(2,n);let r=hy({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:t.includeBounds!==!1},this._range||this);return e.bounds===`ticks`&&yp(r,this,`value`),e.reverse?(r.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),r}configure(){let e=this.ticks,t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){let r=(n-t)/Math.max(e.length-1,1)/2;t-=r,n+=r}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return rm(e,this.chart.options.locale,this.options.ticks.format)}},vy=class extends _y{static id=`linear`;static defaults={ticks:{callback:om.formatters.numeric}};determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=If(e)?e:0,this.max=If(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){let e=this.isHorizontal(),t=e?this.width:this.height,n=bp(this.options.ticks.minRotation),r=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/r))}getPixelForValue(e){return e===null?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}},yy=e=>Math.floor(dp(e)),by=(e,t)=>10**(yy(e)+t);function xy(e){return e/10**yy(e)==1}function Sy(e,t,n){let r=10**n,i=Math.floor(e/r);return Math.ceil(t/r)-i}function Cy(e,t){let n=yy(t-e);for(;Sy(e,t,n)>10;)n++;for(;Sy(e,t,n)<10;)n--;return Math.min(n,yy(e))}function wy(e,{min:t,max:n}){t=Lf(e.min,t);let r=[],i=yy(t),a=Cy(t,n),o=a<0?10**Math.abs(a):1,s=10**a,c=i>a?10**i:0,l=Math.round((t-c)*o)/o,u=Math.floor((t-c)/s/10)*s*10,d=Math.floor((l-u)/10**a),f=Lf(e.min,Math.round((c+u+d*10**a)*o)/o);for(;f<n;)r.push({value:f,major:xy(f),significand:d}),d>=10?d=d<15?15:20:d++,d>=20&&(a++,d=2,o=a>=0?1:o),f=Math.round((c+u+d*10**a)*o)/o;let p=Lf(e.max,f);return r.push({value:p,major:xy(p),significand:d}),r}(class extends F_{static id=`logarithmic`;static defaults={ticks:{callback:om.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){let n=_y.prototype.parse.apply(this,[e,t]);if(n===0){this._zero=!0;return}return If(n)&&n>0?n:null}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!0);this.min=If(e)?Math.max(0,e):null,this.max=If(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!If(this._userMin)&&(this.min=e===by(this.min,0)?by(this.min,-1):by(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){let{minDefined:e,maxDefined:t}=this.getUserBounds(),n=this.min,r=this.max,i=t=>n=e?n:t,a=e=>r=t?r:e;n===r&&(n<=0?(i(1),a(10)):(i(by(n,-1)),a(by(r,1)))),n<=0&&i(by(r,-1)),r<=0&&a(by(n,1)),this.min=n,this.max=r}buildTicks(){let e=this.options,t=wy({min:this._userMin,max:this._userMax},this);return e.bounds===`ticks`&&yp(t,this,`value`),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return e===void 0?`0`:rm(e,this.chart.options.locale,this.options.ticks.format)}configure(){let e=this.min;super.configure(),this._startValue=dp(e),this._valueRange=dp(this.max)-dp(e)}getPixelForValue(e){return(e===void 0||e===0)&&(e=this.min),e===null||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(dp(e)-this._startValue)/this._valueRange)}getValueForPixel(e){let t=this.getDecimalForPixel(e);return 10**(this._startValue+t*this._valueRange)}});function Ty(e){let t=e.ticks;if(t.display&&e.display){let e=Fm(t.backdropPadding);return Rf(t.font&&t.font.size,fm.font.size)+e.height}return 0}function Ey(e,t,n){return n=Pf(n)?n:[n],{w:hm(e,t.string,n),h:n.length*t.lineHeight}}function Dy(e,t,n,r,i){return e===r||e===i?{start:t-n/2,end:t+n/2}:e<r||e>i?{start:t-n,end:t}:{start:t,end:t+n}}function Oy(e){let t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),r=[],i=[],a=e._pointLabels.length,o=e.options.pointLabels,s=o.centerPointLabels?ip/a:0;for(let c=0;c<a;c++){let a=o.setContext(e.getPointLabelContext(c));i[c]=a.padding;let l=e.getPointPosition(c,e.drawingArea+i[c],s),u=Im(a.font),d=Ey(e.ctx,u,e._pointLabels[c]);r[c]=d;let f=Tp(e.getIndexAngle(c)+s),p=Math.round(xp(f));ky(n,t,f,Dy(p,l.x,d.w,0,180),Dy(p,l.y,d.h,90,270))}e.setCenterPoint(t.l-n.l,n.r-t.r,t.t-n.t,n.b-t.b),e._pointLabelItems=My(e,r,i)}function ky(e,t,n,r,i){let a=Math.abs(Math.sin(n)),o=Math.abs(Math.cos(n)),s=0,c=0;r.start<t.l?(s=(t.l-r.start)/a,e.l=Math.min(e.l,t.l-s)):r.end>t.r&&(s=(r.end-t.r)/a,e.r=Math.max(e.r,t.r+s)),i.start<t.t?(c=(t.t-i.start)/o,e.t=Math.min(e.t,t.t-c)):i.end>t.b&&(c=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+c))}function Ay(e,t,n){let r=e.drawingArea,{extra:i,additionalAngle:a,padding:o,size:s}=n,c=e.getPointPosition(t,r+i+o,a),l=Math.round(xp(Tp(c.angle+cp))),u=Fy(c.y,s.h,l),d=Ny(l),f=Py(c.x,s.w,d);return{visible:!0,x:c.x,y:u,textAlign:d,left:f,top:u,right:f+s.w,bottom:u+s.h}}function jy(e,t){if(!t)return!0;let{left:n,top:r,right:i,bottom:a}=e;return!(bm({x:n,y:r},t)||bm({x:n,y:a},t)||bm({x:i,y:r},t)||bm({x:i,y:a},t))}function My(e,t,n){let r=[],i=e._pointLabels.length,a=e.options,{centerPointLabels:o,display:s}=a.pointLabels,c={extra:Ty(a)/2,additionalAngle:o?ip/i:0},l;for(let a=0;a<i;a++){c.padding=n[a],c.size=t[a];let i=Ay(e,a,c);r.push(i),s===`auto`&&(i.visible=jy(i,l),i.visible&&(l=i))}return r}function Ny(e){return e===0||e===180?`center`:e<180?`left`:`right`}function Py(e,t,n){return n===`right`?e-=t:n===`center`&&(e-=t/2),e}function Fy(e,t,n){return n===90||n===270?e-=t/2:(n>270||n<90)&&(e-=t),e}function Iy(e,t,n){let{left:r,top:i,right:a,bottom:o}=n,{backdropColor:s}=t;if(!Nf(s)){let n=Pm(t.borderRadius),c=Fm(t.backdropPadding);e.fillStyle=s;let l=r-c.left,u=i-c.top,d=a-r+c.width,f=o-i+c.height;Object.values(n).some(e=>e!==0)?(e.beginPath(),Dm(e,{x:l,y:u,w:d,h:f,radius:n}),e.fill()):e.fillRect(l,u,d,f)}}function Ly(e,t){let{ctx:n,options:{pointLabels:r}}=e;for(let i=t-1;i>=0;i--){let t=e._pointLabelItems[i];if(!t.visible)continue;let a=r.setContext(e.getPointLabelContext(i));Iy(n,a,t);let o=Im(a.font),{x:s,y:c,textAlign:l}=t;Em(n,e._pointLabels[i],s,c+o.lineHeight/2,o,{color:a.color,textAlign:l,textBaseline:`middle`})}}function Ry(e,t,n,r){let{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,ap);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let a=1;a<r;a++)n=e.getPointPosition(a,t),i.lineTo(n.x,n.y)}}function zy(e,t,n,r,i){let a=e.ctx,o=t.circular,{color:s,lineWidth:c}=t;!o&&!r||!s||!c||n<0||(a.save(),a.strokeStyle=s,a.lineWidth=c,a.setLineDash(i.dash||[]),a.lineDashOffset=i.dashOffset,a.beginPath(),Ry(e,n,o,r),a.closePath(),a.stroke(),a.restore())}function By(e,t,n){return zm(e,{label:n,index:t,type:`pointLabel`})}(class extends _y{static id=`radialLinear`;static defaults={display:!0,animate:!0,position:`chartArea`,angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:om.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(e){return e},padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":`borderColor`,"pointLabels.color":`color`,"ticks.color":`color`};static descriptors={angleLines:{_fallback:`grid`}};constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){let e=this._padding=Fm(Ty(this.options)/2),t=this.width=this.maxWidth-e.width,n=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+n/2+e.top),this.drawingArea=Math.floor(Math.min(t,n)/2)}determineDataLimits(){let{min:e,max:t}=this.getMinMax(!1);this.min=If(e)&&!isNaN(e)?e:0,this.max=If(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Ty(this.options))}generateTickLabels(e){_y.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map((e,t)=>{let n=Bf(this.options.pointLabels.callback,[e,t],this);return n||n===0?n:``}).filter((e,t)=>this.chart.getDataVisibility(t))}fit(){let e=this.options;e.display&&e.pointLabels.display?Oy(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,n,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((n-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,n,r))}getIndexAngle(e){let t=ap/(this._pointLabels.length||1),n=this.options.startAngle||0;return Tp(e*t+bp(n))}getDistanceFromCenterForValue(e){if(Nf(e))return NaN;let t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(Nf(e))return NaN;let t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){let t=this._pointLabels||[];if(e>=0&&e<t.length){let n=t[e];return By(this.getContext(),e,n)}}getPointPosition(e,t,n=0){let r=this.getIndexAngle(e)-cp+n;return{x:Math.cos(r)*t+this.xCenter,y:Math.sin(r)*t+this.yCenter,angle:r}}getPointPositionForValue(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))}getBasePosition(e){return this.getPointPositionForValue(e||0,this.getBaseValue())}getPointLabelPosition(e){let{left:t,top:n,right:r,bottom:i}=this._pointLabelItems[e];return{left:t,top:n,right:r,bottom:i}}drawBackground(){let{backgroundColor:e,grid:{circular:t}}=this.options;if(e){let n=this.ctx;n.save(),n.beginPath(),Ry(this,this.getDistanceFromCenterForValue(this._endValue),t,this._pointLabels.length),n.closePath(),n.fillStyle=e,n.fill(),n.restore()}}drawGrid(){let e=this.ctx,t=this.options,{angleLines:n,grid:r,border:i}=t,a=this._pointLabels.length,o,s,c;if(t.pointLabels.display&&Ly(this,a),r.display&&this.ticks.forEach((e,t)=>{if(t!==0||t===0&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);let n=this.getContext(t),o=r.setContext(n),c=i.setContext(n);zy(this,o,s,a,c)}}),n.display){for(e.save(),o=a-1;o>=0;o--){let r=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:a}=r;!a||!i||(e.lineWidth=a,e.strokeStyle=i,e.setLineDash(r.borderDash),e.lineDashOffset=r.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),c=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(c.x,c.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){let e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;let r=this.getIndexAngle(0),i,a;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign=`center`,e.textBaseline=`middle`,this.ticks.forEach((r,o)=>{if(o===0&&this.min>=0&&!t.reverse)return;let s=n.setContext(this.getContext(o)),c=Im(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=c.string,a=e.measureText(r.label).width,e.fillStyle=s.backdropColor;let t=Fm(s.backdropPadding);e.fillRect(-a/2-t.left,-i-c.size/2-t.top,a+t.width,c.size+t.height)}Em(e,r.label,0,-i,c,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})}),e.restore()}drawTitle(){}});var Vy={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Hy=Object.keys(Vy);function Uy(e,t){return e-t}function Wy(e,t){if(Nf(t))return null;let n=e._adapter,{parser:r,round:i,isoWeekday:a}=e._parseOpts,o=t;return typeof r==`function`&&(o=r(o)),If(o)||(o=typeof r==`string`?n.parse(o,r):n.parse(o)),o===null?null:(i&&(o=i===`week`&&(_p(a)||a===!0)?n.startOf(o,`isoWeek`,a):n.startOf(o,i)),+o)}function Gy(e,t,n,r){let i=Hy.length;for(let a=Hy.indexOf(e);a<i-1;++a){let e=Vy[Hy[a]],i=e.steps?e.steps:2**53-1;if(e.common&&Math.ceil((n-t)/(i*e.size))<=r)return Hy[a]}return Hy[i-1]}function Ky(e,t,n,r,i){for(let a=Hy.length-1;a>=Hy.indexOf(n);a--){let n=Hy[a];if(Vy[n].common&&e._adapter.diff(i,r,n)>=t-1)return n}return Hy[n?Hy.indexOf(n):0]}function qy(e){for(let t=Hy.indexOf(e)+1,n=Hy.length;t<n;++t)if(Vy[Hy[t]].common)return Hy[t]}function Jy(e,t,n){if(!n)e[t]=!0;else if(n.length){let{lo:r,hi:i}=Ap(n,t),a=n[r]>=t?n[r]:n[i];e[a]=!0}}function Yy(e,t,n,r){let i=e._adapter,a=+i.startOf(t[0].value,r),o=t[t.length-1].value,s,c;for(s=a;s<=o;s=+i.add(s,1,r))c=n[s],c>=0&&(t[c].major=!0);return t}function Xy(e,t,n){let r=[],i={},a=t.length,o,s;for(o=0;o<a;++o)s=t[o],i[s]=o,r.push({value:s,major:!1});return a===0||!n?r:Yy(e,r,i,n)}var Zy=class extends F_{static id=`time`;static defaults={bounds:`data`,adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:`millisecond`,displayFormats:{}},ticks:{source:`auto`,callback:!1,major:{enabled:!1}}};constructor(e){super(e),this._cache={data:[],labels:[],all:[]},this._unit=`day`,this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(e,t={}){let n=e.time||={},r=this._adapter=new yg._date(e.adapters.date);r.init(t),qf(n.displayFormats,r.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(e),this._normalized=t.normalized}parse(e,t){return e===void 0?null:Wy(this,e)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){let e=this.options,t=this._adapter,n=e.time.unit||`day`,{min:r,max:i,minDefined:a,maxDefined:o}=this.getUserBounds();function s(e){!a&&!isNaN(e.min)&&(r=Math.min(r,e.min)),!o&&!isNaN(e.max)&&(i=Math.max(i,e.max))}(!a||!o)&&(s(this._getLabelBounds()),(e.bounds!==`ticks`||e.ticks.source!==`labels`)&&s(this.getMinMax(!1))),r=If(r)&&!isNaN(r)?r:+t.startOf(Date.now(),n),i=If(i)&&!isNaN(i)?i:+t.endOf(Date.now(),n)+1,this.min=Math.min(r,i-1),this.max=Math.max(r+1,i)}_getLabelBounds(){let e=this.getLabelTimestamps(),t=1/0,n=-1/0;return e.length&&(t=e[0],n=e[e.length-1]),{min:t,max:n}}buildTicks(){let e=this.options,t=e.time,n=e.ticks,r=n.source===`labels`?this.getLabelTimestamps():this._generate();e.bounds===`ticks`&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);let i=this.min,a=this.max,o=Np(r,i,a);return this._unit=t.unit||(n.autoSkip?Gy(t.minUnit,this.min,this.max,this._getLabelCapacity(i)):Ky(this,o.length,t.minUnit,this.min,this.max)),this._majorUnit=!n.major.enabled||this._unit===`year`?void 0:qy(this._unit),this.initOffsets(r),e.reverse&&o.reverse(),Xy(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(e=>+e.value))}initOffsets(e=[]){let t=0,n=0,r,i;this.options.offset&&e.length&&(r=this.getDecimalForValue(e[0]),t=e.length===1?1-r:(this.getDecimalForValue(e[1])-r)/2,i=this.getDecimalForValue(e[e.length-1]),n=e.length===1?i:(i-this.getDecimalForValue(e[e.length-2]))/2);let a=e.length<3?.5:.25;t=Dp(t,0,a),n=Dp(n,0,a),this._offsets={start:t,end:n,factor:1/(t+1+n)}}_generate(){let e=this._adapter,t=this.min,n=this.max,r=this.options,i=r.time,a=i.unit||Gy(i.minUnit,t,n,this._getLabelCapacity(t)),o=Rf(r.ticks.stepSize,1),s=a===`week`?i.isoWeekday:!1,c=_p(s)||s===!0,l={},u=t,d,f;if(c&&(u=+e.startOf(u,`isoWeek`,s)),u=+e.startOf(u,c?`day`:a),e.diff(n,t,a)>1e5*o)throw Error(t+` and `+n+` are too far apart with stepSize of `+o+` `+a);let p=r.ticks.source===`data`&&this.getDataTimestamps();for(d=u,f=0;d<n;d=+e.add(d,o,a),f++)Jy(l,d,p);return(d===n||r.bounds===`ticks`||f===1)&&Jy(l,d,p),Object.keys(l).sort(Uy).map(e=>+e)}getLabelForValue(e){let t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){let n=this.options.time.displayFormats,r=this._unit,i=t||n[r];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,r){let i=this.options,a=i.ticks.callback;if(a)return Bf(a,[e,t,n],this);let o=i.time.displayFormats,s=this._unit,c=this._majorUnit,l=s&&o[s],u=c&&o[c],d=n[t],f=c&&u&&d&&d.major;return this._adapter.format(e,r||(f?u:l))}generateTickLabels(e){let t,n,r;for(t=0,n=e.length;t<n;++t)r=e[t],r.label=this._tickFormatFunction(r.value,t,e)}getDecimalForValue(e){return e===null?NaN:(e-this.min)/(this.max-this.min)}getPixelForValue(e){let t=this._offsets,n=this.getDecimalForValue(e);return this.getPixelForDecimal((t.start+n)*t.factor)}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return this.min+n*(this.max-this.min)}_getLabelSize(e){let t=this.options.ticks,n=this.ctx.measureText(e).width,r=bp(this.isHorizontal()?t.maxRotation:t.minRotation),i=Math.cos(r),a=Math.sin(r),o=this._resolveTickFontOptions(0).size;return{w:n*i+o*a,h:n*a+o*i}}_getLabelCapacity(e){let t=this.options.time,n=t.displayFormats,r=n[t.unit]||n.millisecond,i=this._tickFormatFunction(e,0,Xy(this,[e],this._majorUnit),r),a=this._getLabelSize(i),o=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return o>0?o:1}getDataTimestamps(){let e=this._cache.data||[],t,n;if(e.length)return e;let r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t<n;++t)e=e.concat(r[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(e)}getLabelTimestamps(){let e=this._cache.labels||[],t,n;if(e.length)return e;let r=this.getLabels();for(t=0,n=r.length;t<n;++t)e.push(Wy(this,r[t]));return this._cache.labels=this._normalized?e:this.normalize(e)}normalize(e){return Lp(e.sort(Uy))}};function Qy(e,t,n){let r=0,i=e.length-1,a,o,s,c;n?(t>=e[r].pos&&t<=e[i].pos&&({lo:r,hi:i}=jp(e,`pos`,t)),{pos:a,time:s}=e[r],{pos:o,time:c}=e[i]):(t>=e[r].time&&t<=e[i].time&&({lo:r,hi:i}=jp(e,`time`,t)),{time:a,pos:s}=e[r],{time:o,pos:c}=e[i]);let l=o-a;return l?s+(c-s)*(t-a)/l:s}(class extends Zy{static id=`timeseries`;static defaults=Zy.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){let e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Qy(t,this.min),this._tableRange=Qy(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){let{min:t,max:n}=this,r=[],i=[],a,o,s,c,l;for(a=0,o=e.length;a<o;++a)c=e[a],c>=t&&c<=n&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(a=0,o=r.length;a<o;++a)l=r[a+1],s=r[a-1],c=r[a],Math.round((l+s)/2)!==c&&i.push({time:c,pos:a/(o-1)});return i}_generate(){let e=this.min,t=this.max,n=super.getDataTimestamps();return(!n.includes(e)||!n.length)&&n.splice(0,0,e),(!n.includes(t)||n.length===1)&&n.push(t),n.sort((e,t)=>e-t)}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;let t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(Qy(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){let t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return Qy(this._table,n*this._tableRange+this._minPos,!0)}});function $y(){let e=[{id:`daily`,label:`Today`},{id:`weekly`,label:`This Week`},{id:`monthly`,label:`This Month`},{id:`overall`,label:`Overall`}],t=N(`daily`),n=bt([bt(co,e=>e),t],([e,t])=>e&&e[t]||null),r=bt(n,e=>e?.history||[]),i=bt(r,e=>Math.max(5,...e.map(e=>Math.max(e.created||0,e.completed||0))));function a(e){return e?e<60?`${Math.round(e)}m`:`${Math.floor(e/60)}h ${Math.round(e%60)}m`:`0m`}function o(e){return e?e<1e3?e.toString():`${(e/1e3).toFixed(1)}k`:`0`}return{periods:e,activePeriod:t,periodData:n,history:r,maxVal:i,setActivePeriod:e=>t.set(e),formatDuration:a,formatTokens:o}}var eb=K(`<button style="padding:4px 10px;font-size:0.65rem;"> </button>`),tb=K(`<div class="flex items-center justify-between mb-4"><div style="font-size:0.65rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.1em;">Trend Line</div> <div class="flex gap-3"><div class="flex items-center gap-1.5"><div style="width:8px;height:8px;border-radius:2px;background:#10b981;"></div> <span style="font-size:0.6rem;font-weight:600;color:var(--color-text-muted);">Added</span></div> <div class="flex items-center gap-1.5"><div style="width:8px;height:8px;border-radius:2px;background:#6366f1;"></div> <span style="font-size:0.6rem;font-weight:600;color:var(--color-text-muted);">Done</span></div></div></div> <div style="height:120px;position:relative;width:100%;"><canvas></canvas></div>`,1),nb=K(`<div class="compact-empty svelte-9j0inj">No trend data for this period</div>`),rb=K(`<div class="glass card animate-fade-in"><div class="flex items-center justify-between mb-4"><div><div style="font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-primary);">Performance</div> <div style="font-size:0.75rem;color:var(--color-text-muted);">Execution throughput</div></div> <div class="flex gap-1" style="background:rgba(241,245,249,0.5);padding:3px;border-radius:10px;"></div></div> <div class="metrics-grid svelte-9j0inj"><div style="background:rgba(99,102,241,0.08);border:1px solid rgba(99,102,241,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#6366f1;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Done</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div> <div style="background:rgba(16,185,129,0.08);border:1px solid rgba(16,185,129,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#10b981;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Added</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div> <div style="background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#0ea5e9;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Tokens</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div> <div style="background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.1);border-radius:12px;padding:12px;"><div style="font-size:0.6rem;color:#f59e0b;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;">Velocity</div> <div style="font-size:1.5rem;font-weight:900;color:var(--color-text);line-height:1;letter-spacing:-0.03em;"> </div></div></div> <div class="pt-4 border-t border-dashed" style="border-color:var(--color-border);"><!></div></div>`);function ib(e,t){rt(t,!1);let n=()=>F(l,`$history`,a),r=()=>F(s,`$activePeriod`,a),i=()=>F(c,`$periodData`,a),[a,o]=Et();Cv.register(_g,Pv,my,vy,ly,Uv);let{activePeriod:s,periodData:c,history:l,setActivePeriod:u,periods:d,formatTokens:f,formatDuration:p}=$y(),m=I(),h=I();function g(){H(m)&&L(h,new Cv(H(m),{type:`bar`,data:{labels:[],datasets:[{label:`Created`,data:[],backgroundColor:`#10b981`,borderRadius:4,borderSkipped:!1,barPercentage:.6,categoryPercentage:.8},{label:`Completed`,data:[],backgroundColor:`#6366f1`,borderRadius:4,borderSkipped:!1,barPercentage:.6,categoryPercentage:.8}]},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1},tooltip:{backgroundColor:`rgba(15, 23, 42, 0.95)`,titleFont:{size:12,weight:`bold`},bodyFont:{size:11},padding:10,cornerRadius:8,displayColors:!0,borderColor:`rgba(255, 255, 255, 0.1)`,borderWidth:1}},scales:{x:{grid:{display:!1},ticks:{color:`#94a3b8`,font:{size:10,family:`monospace`},callback(e,t){let n=this.getLabelForValue(t);return n.includes(`:00`)?n.split(`:`)[0]:n.replace(`2026-`,``).replace(`2025-`,``)}}},y:{beginAtZero:!0,grid:{color:`rgba(148, 163, 184, 0.05)`},ticks:{color:`#94a3b8`,font:{size:9},stepSize:1,precision:0}}}}}))}function _(e){H(h)&&(Sn(h,H(h).data.labels=e.map(e=>e.label)),Sn(h,H(h).data.datasets[0].data=e.map(e=>e.created)),Sn(h,H(h).data.datasets[1].data=e.map(e=>e.completed)),H(h).update(`none`))}Ka(()=>{H(m)&&g()}),qa(()=>{H(h)&&H(h).destroy()}),ir(()=>(H(m),H(h),n()),()=>{H(m)&&!H(h)&&(g(),n()?.length&&_(n()))}),ir(()=>(H(h),n()),()=>{H(h)&&n()&&_(n())}),ar(),Ua();var v=rb(),y=R(v),b=B(R(y),2);X(b,5,()=>d,e=>e.id,(e,t)=>{var n=eb();let i;var a=R(n,!0);j(n),V(()=>{i=la(n,1,`tab-btn`,null,i,{active:r()===H(t).id}),J(a,(H(t),U(()=>H(t).label)))}),G(`click`,n,()=>u(H(t).id)),q(e,n)}),j(b),j(y);var x=B(y,2),S=R(x),C=B(R(S),2),w=R(C,!0);j(C),j(S);var T=B(S,2),E=B(R(T),2),D=R(E,!0);j(E),j(T);var O=B(T,2),k=B(R(O),2),ee=R(k,!0);j(k),j(O);var te=B(O,2),ne=B(R(te),2),re=R(ne,!0);j(ne),j(te),j(x);var ie=B(x,2),A=R(ie),ae=e=>{var t=tb(),n=B(z(t),2);Ba(R(n),e=>L(m,e),()=>H(m)),j(n),q(e,t)},oe=e=>{q(e,nb())};Y(A,e=>{i(),U(()=>i()?.history&&i().history.length>0)?e(ae):e(oe,-1)}),j(ie),j(v),V((e,t)=>{J(w,(i(),U(()=>i()?.completed??`—`))),J(D,(i(),U(()=>i()?.added??`—`))),J(ee,e),J(re,t)},[()=>(i(),U(()=>i()?.tokens?f(i().tokens):`—`)),()=>(i(),U(()=>i()?.avgDuration?p(i().avgDuration):`—`))]),q(e,v),it(),o()}function ab(){let e=!1,t=``;async function n(n=P(no)){if(!n){uo.set([]);return}e=!0,t=``;try{let e=await Ro.memories({repo:n,type:P(go)||void 0,search:P(ho)||void 0,minImportance:P(_o)||void 0,maxImportance:P(vo)||void 0,sortBy:P(yo),sortOrder:P(bo),page:P(po),pageSize:P(mo)});uo.set(e.memories||[]),fo.set(e.pagination?.totalItems||0)}catch(e){console.error(`Failed to load memories:`,e),t=e instanceof Error?e.message:`Failed to load memories`}finally{e=!1}}let r=nu(()=>{po.set(1),n()},300);function i(){r()}function a(){po.set(1),n()}function o(e){let t=P(Ao);e<1||e>t||(po.set(e),n())}function s(e){P(yo)===e?bo.update(e=>e===`desc`?`asc`:`desc`):(yo.set(e),bo.set(`desc`)),n()}function c(e){xo.update(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}function l(){xo.update(e=>{let t=P(uo);return e.size===t.length?new Set:new Set(t.map(e=>e.id))})}async function u(e,t=P(no)){if(t)try{let n=await Ro.export(t),r=`${t.replace(`/`,`_`)}_export`;e===`json`?eu(n,r+`.json`):tu(n.memories||[],r+`.csv`)}catch(e){console.error(`Export failed:`,e)}}async function d(e,t){if(t&&t.stopPropagation(),await Bo(`Delete memory "${e.title}"?`))try{await Ro.deleteMemory(e.id),n()}catch(e){Vo(`Failed to delete: `+(e instanceof Error?e.message:`Unknown error`))}}async function f(){let e=P(xo);if(e.size!==0&&await Bo(`Are you sure you want to delete ${e.size} memories?`))try{await Ro.bulkMemoryAction(`delete`,Array.from(e)),xo.set(new Set),n()}catch(e){Vo(`Failed to delete: `+(e instanceof Error?e.message:`Unknown error`))}}async function p(){let e=P(xo);if(e.size!==0)try{await Ro.bulkMemoryAction(`archive`,Array.from(e)),xo.set(new Set),n()}catch(e){Vo(`Failed to archive: `+(e instanceof Error?e.message:`Unknown error`))}}return{get loading(){return e},get error(){return t},loadMemories:n,onSearchInput:i,onFilterChange:a,goToPage:o,toggleSort:s,toggleSelect:c,toggleSelectAll:l,handleExport:u,handleDeleteRow:d,handleBulkDelete:f,handleBulkArchive:p}}var ob=[`code_fact`,`decision`,`mistake`,`pattern`,`task_archive`],sb={code_fact:`Code Fact`,decision:`Decision`,mistake:`Mistake`,pattern:`Pattern`,task_archive:`Task Archive`},cb={1:`#64748b`,2:`#3b82f6`,3:`#f59e0b`,4:`#f97316`,5:`#ef4444`},lb={1:`rgba(100,116,139,0.12)`,2:`rgba(59,130,246,0.12)`,3:`rgba(245,158,11,0.12)`,4:`rgba(249,115,22,0.12)`,5:`rgba(239,68,68,0.12)`},ub=K(`<option> </option>`),db=K(`<option> </option>`),fb=K(`<option> </option>`),pb=K(`<div class="mem-error svelte-83aj9g"><!> <span> </span> <button class="btn btn-ghost btn-sm">Retry</button></div>`),mb=K(`<tr><td colspan="7" class="mem-td svelte-83aj9g" style="padding:40px;text-align:center;color:var(--color-text-muted);">Unable to load memories. Check your connection and try again.</td></tr>`),hb=K(`<tr><td colspan="7" class="mem-td svelte-83aj9g"><div class="skeleton" style="height:20px;border-radius:6px;"></div></td></tr>`),gb=K(`<tr><td colspan="7" class="mem-td svelte-83aj9g" style="padding:40px;text-align:center;color:var(--color-text-muted);"><div style="font-size:2rem;margin-bottom:8px;">🔍</div> No memories found</td></tr>`),_b=K(`<span style="font-size:0.6rem;background:rgba(99,102,241,0.1);color:#6366f1;padding:1px 5px;border-radius:9999px;"> </span>`),vb=K(`<div style="margin-top:3px;display:flex;gap:4px;flex-wrap:wrap;"></div>`),yb=K(`<tr><td class="mem-td svelte-83aj9g"><input type="checkbox"/></td><td class="mem-td svelte-83aj9g" style="max-width:300px;"><div class="truncate font-semibold" style="font-size:0.82rem;color:var(--color-text);"> </div> <!></td><td class="mem-td svelte-83aj9g"><span> </span></td><td class="mem-td svelte-83aj9g" style="text-align:center;"><span> </span></td><td class="mem-td svelte-83aj9g" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td svelte-83aj9g" style="text-align:center;font-size:0.75rem;font-weight:600;color:var(--color-text-muted);"> </td><td class="mem-td row-actions svelte-83aj9g"><button class="row-action-btn edit-btn svelte-83aj9g" title="Edit / View" aria-label="Edit memory"><!></button> <button class="row-action-btn delete-btn svelte-83aj9g" title="Delete" aria-label="Delete memory"><!></button></td></tr>`),bb=K(`<button> </button>`),xb=K(`<div class="flex items-center justify-between mt-3"><span style="font-size:0.75rem;color:var(--color-text-muted);"> </span> <div class="flex gap-1"><button class="btn btn-ghost btn-sm">«</button> <button class="btn btn-ghost btn-sm">‹</button> <!> <button class="btn btn-ghost btn-sm">›</button> <button class="btn btn-ghost btn-sm">»</button></div></div>`),Sb=K(`<div class="bulk-actions-bar svelte-83aj9g"><span><b> </b> selected</span> <div style="width:12px;"></div> <button class="btn btn-sm" style="background:rgba(120,120,120,0.2);color:inherit;">Cancel</button> <button class="btn btn-sm" style="background:#52525b;color:white;border:none;">Archive</button> <button class="btn btn-sm btn-accent" style="background:#ef4444;color:white;border:none;">Delete</button></div>`),Cb=K(`<div><div class="flex items-center gap-2 mb-3" style="flex-wrap:wrap;"><div style="position:relative;flex:1;min-width:160px;"><span class="search-icon-inner svelte-83aj9g"><!></span> <input class="form-input" style="padding-left:32px;font-size:0.8rem;" type="text" placeholder="Search memories..."/></div> <select class="form-select" style="width:140px;font-size:0.8rem;"><option>All Types</option><!></select> <select class="form-select" style="width:100px;font-size:0.8rem;"><option>Min Imp.</option><!></select> <select class="form-select" style="width:100px;font-size:0.8rem;"></select> <!> <button class="btn btn-accent btn-sm" id="newMemoryBtn" style="margin-left:auto;"><!> New Memory</button></div> <div style="font-size:0.72rem;color:var(--color-text-muted);margin-bottom:8px;"> </div> <!> <div class="mem-table-wrap svelte-83aj9g"><table class="mem-table svelte-83aj9g"><thead><tr class="mem-thead-row svelte-83aj9g"><th class="mem-th svelte-83aj9g" style="width:36px;"><input type="checkbox" aria-label="Select all"/></th><th class="mem-th sortable svelte-83aj9g"> </th><th class="mem-th svelte-83aj9g">Type</th><th class="mem-th svelte-83aj9g" style="text-align:center;cursor:pointer;"> </th><th class="mem-th sortable svelte-83aj9g"> </th><th class="mem-th svelte-83aj9g" style="text-align:center;">Hits</th><th class="mem-th svelte-83aj9g" style="width:80px;"></th></tr></thead><tbody><!></tbody></table></div> <!> <!></div>`);function wb(e,t){rt(t,!1);let n=()=>F(uo,`$memories`,p),r=()=>F(xo,`$selectedMemoryIds`,p),i=()=>F(ho,`$memoriesSearch`,p),a=()=>F(go,`$memoriesTypeFilter`,p),o=()=>F(_o,`$memoriesImportanceMin`,p),s=()=>F(mo,`$memoriesPageSize`,p),c=()=>F(fo,`$memoriesTotal`,p),l=()=>F(yo,`$memoriesSortBy`,p),u=()=>F(bo,`$memoriesSortOrder`,p),d=()=>F(Ao,`$memoriesTotalPages`,p),f=()=>F(po,`$memoriesPage`,p),[p,m]=Et(),h=I(),g=Z(t,`onMemoryClick`,8,()=>{}),_=Z(t,`onNewMemory`,8,()=>{}),v=Z(t,`onBulkImport`,8,()=>{}),y=ab();function b(){y.loadMemories()}ir(()=>(n(),r()),()=>{L(h,n().length>0&&r().size===n().length)}),ar();var x={refresh:b};Ua();var S=Cb(),C=R(S),w=R(C),T=R(w);Q(R(T),{name:`search`,size:20}),j(T);var E=B(T,2);Ta(E),j(w);var D=B(w,2),O=R(D);O.value=O.__value=``,X(B(O),1,()=>ob,e=>e,(e,t)=>{var n=ub(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(W(sb),H(t),U(()=>sb[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(D);var k=B(D,2),ee=R(k);ee.value=(ee.__value=null,``),X(B(ee),0,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=db(),r=R(n,!0);j(n);var i={};V(()=>{J(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),q(e,n)}),j(k);var te=B(k,2);X(te,4,()=>[10,25,50,100],e=>e,(e,t)=>{var n=fb(),r=R(n);j(n);var i={};V(()=>{J(r,`${t??``} / page`),i!==(i=t)&&(n.value=(n.__value=t)??``)}),q(e,n)}),j(te);var ne=B(te,2);pd(ne,{onExport:e=>y.handleExport(e),get onImport(){return v()}});var re=B(ne,2);Q(R(re),{name:`plus`,size:13,strokeWidth:2.5}),M(),j(re),j(C);var ie=B(C,2),A=R(ie);j(ie);var ae=B(ie,2),oe=e=>{var t=pb(),n=R(t);Q(n,{name:`triangle-alert`,size:14,strokeWidth:1.75});var r=B(n,2),i=R(r);j(r);var a=B(r,2);j(t),V(()=>J(i,`Failed to load memories: ${U(()=>y.error)??``}`)),G(`click`,a,()=>y.loadMemories()),q(e,t)};Y(ae,e=>{U(()=>y.error)&&e(oe)});var se=B(ae,2),ce=R(se),le=R(ce),ue=R(le),de=R(ue),fe=R(de);Ta(fe),j(de);var pe=B(de),me=R(pe);j(pe);var he=B(pe,2),ge=R(he);j(he);var _e=B(he),ve=R(_e);j(_e),M(2),j(ue),j(le);var ye=B(le),be=R(ye),xe=e=>{q(e,mb())},Se=e=>{var t=Ti();X(z(t),0,()=>({length:5}),Ni,(e,t,n)=>{var r=hb();ka(r,`data-index`,n),V(()=>ka(r,`data-dummy`,t)),q(e,r)}),q(e,t)},Ce=e=>{q(e,gb())},we=e=>{var i=Ti();X(z(i),1,n,e=>e.id,(e,n)=>{var i=yb();let a;var o=R(i),s=R(o);Ta(s),j(o);var c=B(o),l=R(c),u=R(l,!0);j(l);var d=B(l,2),f=e=>{var t=vb();X(t,7,()=>(H(n),U(()=>H(n).tags.slice(0,3))),(e,t)=>`${e}-${t}`,(e,t)=>{var n=_b(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(t),q(e,t)};Y(d,e=>{H(n),U(()=>H(n).tags?.length)&&e(f)}),j(c);var p=B(c),m=R(p),h=R(m,!0);j(m),j(p);var _=B(p),v=R(_),b=R(v,!0);j(v),j(_);var x=B(_),S=R(x,!0);j(x);var C=B(x),w=R(C,!0);j(C);var T=B(C),E=R(T);Q(R(E),{name:`edit`,size:13,strokeWidth:2}),j(E);var D=B(E,2);Q(R(D),{name:`trash`,size:13,strokeWidth:2}),j(D),j(T),j(i),V((e,t,r)=>{a=la(i,1,`mem-row svelte-83aj9g`,null,a,e),Da(s,t),J(u,(H(n),U(()=>H(n).title))),la(m,1,`type-chip type-${(H(n),U(()=>H(n).type))??``}`,`svelte-83aj9g`),J(h,(W(sb),H(n),U(()=>sb[H(n).type]||H(n).type))),da(v,`display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:0.75rem;font-weight:700;background:${(W(lb),H(n),U(()=>lb[H(n).importance]||lb[1]))??``};color:${(W(cb),H(n),U(()=>cb[H(n).importance]||cb[1]))??``};`),J(b,(H(n),U(()=>H(n).importance))),J(S,r),J(w,(H(n),U(()=>H(n).hit_count??0)))},[()=>({selected:r().has(H(n).id)}),()=>(r(),H(n),U(()=>r().has(H(n).id))),()=>(W(ql),H(n),U(()=>ql(H(n).updated_at)))]),G(`change`,s,()=>y.toggleSelect(H(n).id)),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`click`,E,()=>g()(H(n))),G(`click`,D,e=>y.handleDeleteRow(H(n),e)),G(`click`,T,Va(function(e){Ga.call(this,t,e)})),G(`click`,i,()=>g()(H(n))),q(e,i)}),q(e,i)};Y(be,e=>{U(()=>y.error)?e(xe):U(()=>y.loading)?e(Se,1):(n(),U(()=>n().length===0)?e(Ce,2):e(we,-1))}),j(ye),j(ce),j(se);var Te=B(se,2),Ee=e=>{var t=xb(),n=R(t),r=R(n);j(n);var i=B(n,2),a=R(i),o=B(a,2),s=B(o,2);X(s,1,()=>(d(),f(),U(()=>Array.from({length:Math.min(5,d())},(e,t)=>Math.max(1,Math.min(f()-2,d()-4))+t))),e=>e,(e,t)=>{var n=bb();let r;var i=R(n,!0);j(n),V(()=>{r=la(n,1,`btn btn-sm`,null,r,{"btn-primary":H(t)===f(),"btn-ghost":H(t)!==f()}),J(i,H(t))}),G(`click`,n,()=>y.goToPage(H(t))),q(e,n)});var c=B(s,2),l=B(c,2);j(i),j(t),V(()=>{J(r,`Page ${f()??``} of ${d()??``}`),a.disabled=f()<=1,o.disabled=f()<=1,c.disabled=f()>=d(),l.disabled=f()>=d()}),G(`click`,a,()=>y.goToPage(1)),G(`click`,o,()=>y.goToPage(f()-1)),G(`click`,c,()=>y.goToPage(f()+1)),G(`click`,l,()=>y.goToPage(d())),q(e,t)};Y(Te,e=>{d()>1&&e(Ee)});var De=B(Te,2),Oe=e=>{var t=Sb(),n=R(t),i=R(n),a=R(i,!0);j(i),M(),j(n);var o=B(n,4),s=B(o,2),c=B(s,2);j(t),V(()=>J(a,(r(),U(()=>r().size)))),G(`click`,o,()=>xo.set(new Set)),G(`click`,s,()=>y.handleBulkArchive()),G(`click`,c,()=>y.handleBulkDelete()),q(e,t)};Y(De,e=>{r(),U(()=>r().size>0)&&e(Oe)}),j(S),V(()=>{J(A,`${c()??``} memories
|
|
133
133
|
${(r(),U(()=>r().size>0?`· ${r().size} selected`:``))??``}`),Da(fe,H(h)),J(me,`Title ${l()===`title`?u()===`desc`?`↓`:`↑`:``}`),J(ge,`Imp. ${l()===`importance`?u()===`desc`?`↓`:`↑`:``}`),J(ve,`Updated ${l()===`updated_at`?u()===`desc`?`↓`:`↑`:``}`)}),Fa(E,i,e=>Tt(ho,e)),G(`input`,E,()=>y.onSearchInput()),ma(D,a,e=>Tt(go,e)),G(`change`,D,()=>y.onFilterChange()),ma(k,o,e=>Tt(_o,e)),G(`change`,k,()=>y.onFilterChange()),ma(te,s,e=>Tt(mo,e)),G(`change`,te,()=>{po.set(1),y.loadMemories()}),G(`click`,re,function(...e){_()?.apply(this,e)}),G(`change`,fe,()=>y.toggleSelectAll()),G(`click`,pe,()=>y.toggleSort(`title`)),G(`click`,he,()=>y.toggleSort(`importance`)),G(`click`,_e,()=>y.toggleSort(`updated_at`)),q(e,S),Ra(t,`refresh`,b);var ke=it(x);return m(),ke}function Tb(e){let t=N({expandedResponses:new Set,isLoadingMore:!1,hasReachedStart:!1}),{subscribe:n,update:r}=t,i={search:{icon:`search`,label:`Search`,gradient:`linear-gradient(135deg,#3b82f6,#2563eb)`,color:`#3b82f6`,bgAlpha:`rgba(59,130,246,0.12)`},read:{icon:`book-open`,label:`Read`,gradient:`linear-gradient(135deg,#10b981,#059669)`,color:`#10b981`,bgAlpha:`rgba(16,185,129,0.12)`},write:{icon:`edit`,label:`Created`,gradient:`linear-gradient(135deg,#6366f1,#4f46e5)`,color:`#6366f1`,bgAlpha:`rgba(99,102,241,0.12)`},update:{icon:`refresh-cw`,label:`Updated`,gradient:`linear-gradient(135deg,#f59e0b,#d97706)`,color:`#f59e0b`,bgAlpha:`rgba(245,158,11,0.12)`},delete:{icon:`trash`,label:`Deleted`,gradient:`linear-gradient(135deg,#ef4444,#dc2626)`,color:`#ef4444`,bgAlpha:`rgba(239,68,68,0.12)`},list:{icon:`list`,label:`List`,gradient:`linear-gradient(135deg,#64748b,#475569)`,color:`#64748b`,bgAlpha:`rgba(100,116,139,0.12)`}};function a(e){return i[e]??{icon:`activity`,label:e,gradient:`linear-gradient(135deg,#64748b,#475569)`,color:`#64748b`,bgAlpha:`rgba(100,116,139,0.12)`}}function o(e){if(e.action===`search`)return{main:e.query?`"${e.query}"`:`Query`,sub:e.result_count==null?`Searching memories...`:`${e.result_count} result${e.result_count===1?``:`s`} found`};if(e.task_id){let t={write:`Created`,update:`Updated`,delete:`Deleted`};return{main:e.task_title||e.task_code||e.task_id.substring(0,8),sub:e.task_code?`${t[e.action]||e.action} Task · ${e.task_code}`:(t[e.action]||e.action)+` Task`}}let t={write:`Stored`,update:`Updated`,delete:`Deleted`,read:`Read`},n=e.memory_type?`[${e.memory_type}]`:``;return{main:e.memory_title||(e.memory_id?e.memory_id.substring(0,8)+`…`:`—`),sub:[t[e.action]||e.action,n].filter(Boolean).join(` `)}}function s(e){if(!e)return{text:``,isLong:!1};try{let t=typeof e==`string`?JSON.parse(e):e;if(t.content&&Array.isArray(t.content)){let e=t.content.filter(e=>e.type===`text`&&e.text).map(e=>e.text).join(`
|
|
134
134
|
`);return{text:e,isLong:e.length>400||e.split(`
|
|
135
135
|
`).length>8}}else if(Array.isArray(t)){if(t.length===0)return{text:`No items found.`,isLong:!1};{let e=t[0],n=e.task_code||e.id?.startsWith(`TASK-`),r=e.title||e.content,i=n?`task`:r?`memory`:`item`,a=`Found ${t.length} ${i}${t.length>1?`s`:``}:\n`+t.slice(0,5).map(e=>`- ${e.title||e.task_code||e.name||e.id||`Untitled`}`).join(`
|
|
@@ -141,11 +141,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
141
141
|
`).length>8}}else if(typeof t==`object`&&t){let e=Object.keys(t),n=``;return n=e.length>5?`{ ${e.slice(0,4).map(e=>`${e}: …`).join(`, `)}, +${e.length-4} more }`:JSON.stringify(t,null,2),{text:n,isLong:n.length>400||n.split(`
|
|
142
142
|
`).length>8}}else{let e=String(t);return{text:e,isLong:e.length>400||e.split(`
|
|
143
143
|
`).length>8}}}catch{return{text:e,isLong:e.length>400||e.split(`
|
|
144
|
-
`).length>8}}}let c=bt(Co,e=>{let t=[];return[...e].reverse().forEach(e=>{let n=new Date(e.created_at),r=new Date,i=new Date;i.setDate(r.getDate()-1);let a=n.toLocaleDateString(void 0,{month:`long`,day:`numeric`,year:`numeric`});n.toDateString()===r.toDateString()?a=`Today`:n.toDateString()===i.toDateString()&&(a=`Yesterday`);let o=t[t.length-1];o&&o.date===a?o.items.push(e):t.push({date:a,items:[e]})}),t});function l(e){return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function u(e){r(t=>{let n=new Set(t.expandedResponses);return n.has(e)?n.delete(e):n.add(e),{...t,expandedResponses:n}})}function d(e,t=`smooth`){e&&e.scrollTo({top:e.scrollHeight,behavior:t})}async function f(n,i){let a=P(t);if(!i||a.isLoadingMore||a.hasReachedStart)return;let o=P(Co),s=P(wo),c=P(To);if(i.scrollTop<50&&o.length<s){r(e=>({...e,isLoadingMore:!0}));let t=i.scrollHeight;await e(c+1,!0),i&&setTimeout(()=>{i.scrollTop=i.scrollHeight-t},0);let n=P(Co);r(e=>({...e,isLoadingMore:!1,hasReachedStart:n.length>=s}))}}return{subscribe:n,state:t,groupedActions:c,recentActions:Co,recentActionsPage:To,getConfig:a,getLabel:o,parseResponse:s,formatTime:l,renderMarkdown:$l,toggleExpand:u,scrollToBottom:d,handleScroll:f}}var Eb=K(`<h1> </h1>`),Db=K(`<h2> </h2>`),Ob=K(`<h3> </h3>`),kb=K(`<h4> </h4>`),Ab=K(`<h5> </h5>`),jb=K(`<h6> </h6>`),Mb=K(`<strong> </strong>`),Nb=K(`<em> </em>`),Pb=K(`<code class="svelte-d5v60e"> </code>`),Fb=K(`<a> </a>`),Ib=K(`<p class="svelte-d5v60e"></p>`),Lb=K(`<li></li>`),Rb=K(`<ol></ol>`),zb=K(`<li></li>`),Bb=K(`<ul></ul>`),Vb=K(`<pre class="svelte-d5v60e"><code class="svelte-d5v60e"> </code></pre>`),Hb=K(`<th class="svelte-d5v60e"> </th>`),Ub=K(`<td class="svelte-d5v60e"> </td>`),Wb=K(`<tr></tr>`),Gb=K(`<table class="svelte-d5v60e"><thead><tr></tr></thead><tbody></tbody></table>`),Kb=K(`<br/>`),qb=K(`<hr/>`),Jb=K(`<blockquote class="svelte-d5v60e"> </blockquote>`),Yb=K(`<div class="markdown-body svelte-d5v60e"></div>`);function Xb(e,t){rt(t,!1);let n=I(),r=Z(t,`content`,8,``);function i(e){return e.type===`link`}function a(e){return e.type===`strong`}function o(e){return e.type===`em`}function s(e){return e.type===`codespan`}function c(e){return e.type===`list`}function l(e){return e.type===`code`}function u(e){return e.type===`table`}ir(()=>W(r()),()=>{L(n,Cc.lexer(r()))}),ar(),Ua();var d=Yb();X(d,7,()=>H(n),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),d=e=>{var n=Ti(),r=z(n),i=e=>{var n=Eb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Db(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},o=e=>{var n=Ob(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},s=e=>{var n=kb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},c=e=>{var n=Ab(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=jb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).depth===1)?e(i):(H(t),U(()=>H(t).depth===2)?e(a,1):(H(t),U(()=>H(t).depth===3)?e(o,2):(H(t),U(()=>H(t).depth===4)?e(s,3):(H(t),U(()=>H(t).depth===5)?e(c,4):e(l,-1)))))}),q(e,n)},f=e=>{var n=Ib();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),c=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=Mb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},u=un(()=>(H(t),U(()=>a(H(t))))),d=e=>{var n=Nb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},f=un(()=>(H(t),U(()=>o(H(t))))),p=e=>{var n=Pb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},m=un(()=>(H(t),U(()=>s(H(t))))),h=e=>{var n=Fb(),r=R(n,!0);j(n),V(()=>{ka(n,`href`,(H(t),U(()=>H(t).href))),ka(n,`title`,(H(t),U(()=>H(t).title))),J(r,(H(t),U(()=>H(t).text)))}),q(e,n)},g=un(()=>(H(t),U(()=>i(H(t))))),_=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(c):H(u)?e(l,1):H(f)?e(d,2):H(m)?e(p,3):H(g)?e(h,4):e(_,-1)}),q(e,n)}),j(n),q(e,n)},p=e=>{var n=Ti(),r=z(n),i=e=>{var n=Rb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`ordered-${t}`,(e,t)=>{var n=Lb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),i=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),V(()=>ka(n,`start`,(H(t),U(()=>typeof H(t).start==`number`?H(t).start:void 0)))),q(e,n)},a=e=>{var n=Bb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`unordered-${t}`,(e,t)=>{var n=zb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),i=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).ordered)?e(i):e(a,-1)}),q(e,n)},m=un(()=>(H(t),U(()=>c(H(t))))),h=e=>{var n=Vb(),r=R(n),i=R(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).text)))),q(e,n)},g=un(()=>(H(t),U(()=>l(H(t))))),_=e=>{var n=Gb(),r=R(n),i=R(r);X(i,7,()=>(H(t),U(()=>H(t).header)),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Hb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(i),j(r);var a=B(r);X(a,7,()=>(H(t),U(()=>H(t).rows)),(e,t)=>`row-${t}`,(e,t)=>{var n=Wb();X(n,7,()=>H(t),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Ub(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(n),q(e,n)}),j(a),j(n),q(e,n)},v=un(()=>(H(t),U(()=>u(H(t))))),y=e=>{q(e,Kb())},b=e=>{q(e,qb())},x=e=>{var n=Jb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},S=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`heading`)?e(d):(H(t),U(()=>H(t).type===`paragraph`)?e(f,1):H(m)?e(p,2):H(g)?e(h,3):H(v)?e(_,4):(H(t),U(()=>H(t).type===`space`)?e(y,5):(H(t),U(()=>H(t).type===`hr`)?e(b,6):(H(t),U(()=>H(t).type===`blockquote`)?e(x,7):e(S,-1)))))}),q(e,n)}),j(d),q(e,d),it()}var Zb=K(`<div class="load-more-spinner svelte-h6z84x"><!> <span>Loading older history...</span></div>`),Qb=K(`<div style="text-align:center;padding:80px 20px;color:var(--color-text-muted);"><!> <div style="font-size:1rem;margin-top:16px;font-weight:600;">No activity found</div> <div style="font-size:0.875rem;opacity:0.7;">Events will appear here as they happen.</div></div>`),$b=K(`<div class="action-sub svelte-h6z84x"> </div>`),ex=K(`<button class="read-more-btn svelte-h6z84x"> </button>`),tx=K(`<div class="bubble-row bubble-row-left animate-slide-in-left svelte-h6z84x"><div class="chat-avatar mcp-avatar svelte-h6z84x"><!></div> <div class="bubble-wrap svelte-h6z84x"><div class="tail tail-left svelte-h6z84x"></div> <div class="chat-bubble chat-bubble-mcp svelte-h6z84x" style="--bubble-bg-light: #ffffff; --bubble-bg-dark: #202c33;"><div class="mcp-sender svelte-h6z84x">MCP Node</div> <div class="markdown-body"><!></div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span></div></div></div></div>`),nx=K(`<div class="bubble-row bubble-row-right animate-slide-in-right svelte-h6z84x"><div class="bubble-wrap svelte-h6z84x"><div class="chat-bubble chat-bubble-action svelte-h6z84x" style="--bubble-bg-light: #dcf8c6; --bubble-bg-dark: #056162;"><div class="action-badge svelte-h6z84x"><!> <span> </span></div> <div class="action-main svelte-h6z84x"> </div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span> <span class="bubble-status svelte-h6z84x"><!></span></div></div> <div class="tail tail-right svelte-h6z84x"></div></div> <div class="chat-avatar agent-avatar svelte-h6z84x"><!></div></div> <!>`,1),rx=K(`<div class="date-header svelte-h6z84x"><span class="svelte-h6z84x"> </span></div> <!>`,1),ix=K(`<div class="chat-container-viewport svelte-h6z84x"><div class="chat-container svelte-h6z84x"><!> <!></div></div>`);function ax(e,t){rt(t,!1);let n=()=>F(d,`$recentActionsPage`,o),r=()=>F(f,`$handlerState`,o),i=()=>F(u,`$recentActions`,o),a=()=>F(l,`$groupedActions`,o),[o,s]=Et(),c=Tb(Z(t,`onLoadPage`,8,async()=>{})()),{groupedActions:l,recentActions:u,recentActionsPage:d}=c,f=c,p=I(void 0),m;Xa(()=>{n()<=1&&!r().isLoadingMore&&i().length>0&&c.scrollToBottom(H(p),`instant`)}),Ka(()=>(Xr().then(()=>{c.scrollToBottom(H(p),`instant`),H(p)&&(m=e=>c.handleScroll(e,H(p)),H(p).addEventListener(`scroll`,m))}),()=>{H(p)&&m&&H(p).removeEventListener(`scroll`,m)})),Ua();var h=ix(),g=R(h),_=R(g),v=e=>{var t=Zb();Q(R(t),{name:`refresh-cw`,size:14,className:`animate-spin`}),M(2),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().isLoadingMore)&&e(v)});var y=B(_,2),b=e=>{var t=Qb();Q(R(t),{name:`activity`,size:48,strokeWidth:1}),M(4),j(t),q(e,t)},x=e=>{var t=Ti();X(z(t),1,a,e=>e.date,(e,t)=>{var n=rx(),i=z(n),a=R(i),o=R(a,!0);j(a),j(i),X(B(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=dn(()=>(H(t),U(()=>c.getLabel(H(t))))),i=dn(()=>(H(t),U(()=>c.getConfig(H(t).action))));var a=nx(),o=z(a),s=R(o),l=R(s),u=R(l),d=R(u);Q(d,{get name(){return W(H(i)),U(()=>H(i).icon)},size:10,strokeWidth:2.5});var f=B(d,2),p=R(f,!0);j(f),j(u);var m=B(u,2),h=R(m,!0);j(m);var g=B(m,2),_=e=>{var t=$b(),r=R(t,!0);j(t),V(()=>J(r,(W(H(n)),U(()=>H(n).sub)))),q(e,t)};Y(g,e=>{W(H(n)),U(()=>H(n).sub)&&e(_)});var v=B(g,2),y=R(v),b=R(y,!0);j(y);var x=B(y,2);Q(R(x),{name:`check`,size:12,strokeWidth:2}),j(x),j(v),j(l),M(2),j(s);var S=B(s,2);Q(R(S),{name:`bot`,size:14,strokeWidth:2}),j(S),j(o);var C=B(o,2),w=e=>{let n=dn(()=>(H(t),U(()=>c.parseResponse(H(t).response)))),i=dn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=tx(),o=R(a);Q(R(o),{name:`cpu`,size:14,strokeWidth:2}),j(o);var s=B(o,2),l=B(R(s),2),u=B(R(l),2);Xb(R(u),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(u);var d=B(u,2),f=e=>{var n=ex(),r=R(n,!0);j(n),V(()=>J(r,H(i)?`Show less`:`Read more`)),G(`click`,n,()=>c.toggleExpand(H(t).id)),q(e,n)};Y(d,e=>{W(H(n)),U(()=>H(n).isLong)&&e(f)});var p=B(d,2),m=R(p),h=R(m,!0);j(m),j(p),j(l),j(s),j(a),V(e=>{da(u,`font-size:0.82rem; ${(W(H(i)),W(H(n)),U(()=>!H(i)&&H(n).isLong?`max-height: 200px; overflow: hidden; mask-image: linear-gradient(to bottom, black 70%, transparent 100%);`:``))??``}`),J(h,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)};Y(C,e=>{H(t),U(()=>H(t).response)&&e(w)}),V(e=>{da(u,`color:${(W(H(i)),U(()=>H(i).color))??``};background:${(W(H(i)),U(()=>H(i).bgAlpha))??``};`),J(p,(W(H(i)),U(()=>H(i).label))),J(h,(W(H(n)),U(()=>H(n).main))),J(b,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)}),V(()=>J(o,(H(t),U(()=>H(t).date)))),q(e,n)}),q(e,t)};Y(y,e=>{i(),U(()=>i().length===0)?e(b):e(x,-1)}),j(g),j(h),Ba(h,e=>L(p,e),()=>H(p)),q(e,h),it(),s()}var ox={from_agent:``,to_agent:``,task_code:``,summary:``,context:``},sx={name:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``,parent_id:``};function cx(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function lx(e){try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)&&Object.keys(t).length>0?t:null}catch{return null}}function ux(e){return JSON.stringify(e,null,2)}function dx(e,t){function n(e){t(e?t=>({...t,standard:e,memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{name:e.title,context:e.context,version:e.version,language:e.language||``,stack:e.stack.join(`, `),tags:e.tags.join(`, `),metadata:ux(e.metadata),content:e.content,parent_id:e.parent_id||``},standardError:``}):e=>({...e,standard:{id:`__new__`,title:``,content:``,context:`general`,version:`1.0.0`,language:null,stack:[],tags:[],is_global:!0,repo:null,parent_id:null,metadata:{},created_at:``,updated_at:``,hit_count:0,last_used_at:null,agent:``,model:``},memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{...sx},standardError:``}))}function r(){t(e=>({...e,standardEditing:!0}))}function i(){let n=P({subscribe:e});n.standard&&t(e=>({...e,standardEditing:!1,standardForm:{name:n.standard.title,context:n.standard.context,version:n.standard.version,language:n.standard.language||``,stack:n.standard.stack.join(`, `),tags:n.standard.tags.join(`, `),metadata:ux(n.standard.metadata),content:n.standard.content,parent_id:n.standard.parent_id||``}}))}async function a(n,r,i){let a=P({subscribe:e}),o=a.standardForm,s=lx(o.metadata);if(!(!o.name.trim()||!o.content.trim()||cx(o.tags).length===0||!s)){t(e=>({...e,standardSaving:!0,standardError:``}));try{a.standard?(await Ro.updateStandard(a.standard.id,{title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||null,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:cx(o.stack),tags:cx(o.tags),metadata:s,repo:a.standard.repo||i,is_global:a.standard.is_global}),n({...a.standard,title:o.name.trim(),content:o.content.trim(),updated_at:new Date().toISOString()})):n(await Ro.createStandard({title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||void 0,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:cx(o.stack),tags:cx(o.tags),metadata:s,repo:i,is_global:!1})),r()}catch(e){t(t=>({...t,standardError:e instanceof Error?e.message:`Failed to save standard.`}))}finally{t(e=>({...e,standardSaving:!1}))}}}async function o(n,r){let i=P({subscribe:e});if(i.standard&&await Bo(`Delete coding standard "${i.standard.title}"?`)){t(e=>({...e,standardDeleting:!0}));try{await Ro.deleteStandard(i.standard.id),n(i.standard.id),r()}catch(e){Vo(`Error deleting standard: `+(e instanceof Error?e.message:String(e)))}finally{t(e=>({...e,standardDeleting:!1}))}}}async function s(e){await ru(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setStandard:n,startStandardEdit:r,cancelStandardEdit:i,saveStandard:a,deleteStandard:o,handleCopyStandardContent:s}}function fx(e,t){function n(e){t(e?t=>({...t,handoff:e,task:null,memory:null,standard:null,handoffForm:{from_agent:e.from_agent,to_agent:e.to_agent||``,task_code:e.task_code||``,summary:e.summary,context:JSON.stringify(e.context,null,2)},handoffError:``}):e=>({...e,handoff:null,handoffForm:{...ox},handoffError:``}))}function r(e){t(t=>({...t,handoff:{id:`__new__`,repo:e,from_agent:``,to_agent:null,task_id:null,summary:``,context:{},status:`pending`,created_at:``,updated_at:``,expires_at:null},task:null,memory:null,standard:null,handoffForm:{...ox},handoffError:``}))}function i(e){if(!e.trim())return{};let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`JSON must be an object.`);return t}async function a(n,r){let a=P({subscribe:e}).handoffForm;if(!(!a.from_agent.trim()||!a.summary.trim())){t(e=>({...e,handoffCreating:!0,handoffError:``}));try{await Ro.callTool(`handoff-create`,{repo:r,from_agent:a.from_agent.trim(),to_agent:a.to_agent.trim()||void 0,task_code:a.task_code.trim()||void 0,summary:a.summary.trim(),context:i(a.context),structured:!0}),n()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to create handoff.`}))}finally{t(e=>({...e,handoffCreating:!1}))}}}async function o(n,r){let i=P({subscribe:e});if(!(!i.handoff||i.handoff.id===`__new__`)){t(e=>({...e,handoffUpdating:!0,handoffError:``}));try{await Ro.callTool(`handoff-update`,{id:i.handoff.id,status:n,structured:!0}),r()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to update handoff.`}))}finally{t(e=>({...e,handoffUpdating:!1}))}}}async function s(e){await ru(JSON.stringify(e,null,2))&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setHandoff:n,initNewHandoff:r,createHandoff:a,updateHandoffStatus:o,handleCopyHandoffContext:s}}var px={backlog:[{next:`pending`,label:`Move to To Do`,color:`#0ea5e9`}],pending:[{next:`in_progress`,label:`Start Progress`,color:`#a855f7`}],in_progress:[{next:`completed`,label:`Mark Complete`,color:`#10b981`},{next:`blocked`,label:`Mark Blocked`,color:`#ef4444`}],blocked:[{next:`in_progress`,label:`Resume Progress`,color:`#a855f7`}],completed:[],canceled:[]};function mx(){let{subscribe:e,update:t}=N({memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,postingComment:!1,editingCommentId:null,editCommentText:``,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...sx},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...ox},handoffError:``}),n=dx(e,t),r=fx(e,t),i=bt({subscribe:e},e=>e.task?`task`:e.memory?`memory`:e.handoff?`handoff`:e.standard?`standard`:null);async function a(e){await ru(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}async function o(e){await ru(e)&&(t(e=>({...e,descCopied:!0})),setTimeout(()=>t(e=>({...e,descCopied:!1})),2e3))}async function s(n,r,i){let a=P({subscribe:e});if(a.task)try{let e=await Ro.updateTask(a.task.id,{[n]:r});t(t=>({...t,task:e})),i(e)}catch(e){throw console.error(`Failed to update task field ${String(n)}:`,e),e}}async function c(n){let r=P({subscribe:e}).editTitle.trim();r&&(await s(`title`,r,n),t(e=>({...e,editingTitle:!1})))}async function l(n){await s(`description`,P({subscribe:e}).editDescription,n),t(e=>({...e,editingDescription:!1}))}async function u(e,t){await s(`status`,e,t)}async function d(n){let r=P({subscribe:e});if(!(!r.task||!r.newComment.trim())){t(e=>({...e,postingComment:!0}));try{let e=await Ro.updateTask(r.task.id,{comment:r.newComment.trim()});t(t=>({...t,task:e,newComment:``})),n(e)}catch(e){console.error(`Failed to post comment:`,e)}finally{t(e=>({...e,postingComment:!1}))}}}async function f(n){let r=P({subscribe:e});if(!(!r.editingCommentId||!r.editCommentText.trim())){t(e=>({...e,savingComment:!0}));try{if(await Ro.updateTaskComment(r.editingCommentId,r.editCommentText.trim()),r.task){let e=await Ro.taskById(r.task.id);e&&(t(t=>({...t,task:e})),n(e))}t(e=>({...e,editingCommentId:null,editCommentText:``}))}catch(e){console.error(`Failed to update comment:`,e)}finally{t(e=>({...e,savingComment:!1}))}}}async function p(n,r){let i=P({subscribe:e});if(await Bo(`Delete this comment?`))try{if(await Ro.deleteTaskComment(n),i.task){let e=await Ro.taskById(i.task.id);e&&(t(t=>({...t,task:e})),r(e))}}catch(e){console.error(`Failed to delete comment:`,e)}}async function m(t,n){let r=P({subscribe:e});if(r.task&&await Bo(`Are you sure you want to delete this task?`))try{await Ro.deleteTask(r.task.id),t(r.task.id),n()}catch(e){Vo(`Error deleting task: `+(e instanceof Error?e.message:String(e)))}}return{subscribe:e,mode:i,setMemory:e=>t(t=>({...t,memory:e,task:null,standard:null,handoff:null})),setTask:e=>{t(e?t=>({...t,task:e,memory:null,standard:null,handoff:null,editTitle:e.title,editDescription:e.description||``,editingTitle:!1,editingDescription:!1,newComment:``,editingCommentId:null}):e=>({...e,task:null}))},toggleEditTitle:e=>t(t=>({...t,editingTitle:e})),toggleEditDescription:e=>t(t=>({...t,editingDescription:e})),setEditTitle:e=>t(t=>({...t,editTitle:e})),setEditDescription:e=>t(t=>({...t,editDescription:e})),setNewComment:e=>t(t=>({...t,newComment:e})),startEditComment:e=>t(t=>({...t,editingCommentId:e.id,editCommentText:e.comment})),cancelEditComment:()=>t(e=>({...e,editingCommentId:null,editCommentText:``})),setEditCommentText:e=>t(t=>({...t,editCommentText:e})),handleCopyContent:a,handleCopyDesc:o,saveTitle:c,saveDescription:l,advanceStatus:u,postComment:d,saveEditComment:f,deleteComment:p,deleteTask:m,handleCommentKeydown:(e,t)=>{e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&d(t)},reset:()=>{t(e=>({...e,memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,editingCommentId:null,editCommentText:``,postingComment:!1,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...sx},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...ox},handoffError:``}))},handleTitleKeydown:(e,n)=>{e.key===`Enter`&&c(n),e.key===`Escape`&&t(e=>({...e,editingTitle:!1}))},...n,...r}}var hx=K(`<div class="meta-cell svelte-118hqhr"><div class="meta-label svelte-118hqhr"> </div> <div class="meta-value svelte-118hqhr"> </div></div>`),gx=K(`<span class="tag-chip svelte-118hqhr"> </span>`),_x=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-118hqhr">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),vx=K(`<div style="margin-top:16px;"><div class="section-label svelte-118hqhr">Metadata</div> <pre class="json-pre svelte-118hqhr"> </pre></div>`),yx=K(`<div class="meta-grid svelte-118hqhr" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-118hqhr" style="display:flex; justify-content:space-between; align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-118hqhr"><!></div></div> <!>`,1);function bx(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8);Ua();var o=Ti(),s=z(o),c=e=>{var t=yx(),r=z(t);X(r,5,()=>(n(),W(ql),U(()=>[{label:`Importance`,val:n().memory?.importance||0},{label:`Hit Count`,val:n().memory?.hit_count??0},{label:`Created`,val:ql(n().memory?.created_at)},{label:`Updated`,val:ql(n().memory?.updated_at)}])),e=>e.label,(e,t)=>{var n=hx(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(r);var i=B(r,2),o=e=>{var t=_x(),r=B(R(t),2);X(r,5,()=>(n(),U(()=>n().memory.tags)),e=>e,(e,t)=>{var n=gx(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(i,e=>{n(),U(()=>n().memory.tags?.length)&&e(o)});var s=B(i,2),c=R(s),l=B(R(c),2),u=R(l);{let e=dn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(u,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(l),j(c);var d=B(c,2),f=R(d);{let e=dn(()=>(n(),U(()=>n().memory?.content||``)));Xb(f,{get content(){return H(e)}})}j(d),j(s);var p=B(s,2),m=e=>{var t=vx(),r=B(R(t),2),i=R(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().memory.metadata,null,2)))]),q(e,t)},h=un(()=>(n(),U(()=>n().memory.metadata&&Object.keys(n().memory.metadata).length>0)));Y(p,e=>{H(h)&&e(m)}),G(`click`,l,()=>a().handleCopyContent(n().memory?.content||``)),q(e,t)};Y(s,e=>{n(),U(()=>n().memory)&&e(c)}),q(e,o),it(),i()}var xx=K(`<button class="btn"> </button>`),Sx=K(`<div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"></div>`),Cx=K(`<button class="btn btn-ghost" style="color: #ef4444;"><!> Delete Task</button>`),wx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct"> </div> <div class="meta-value svelte-1ewh6ct"> </div></div>`),Tx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Active Claim</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> <!></div></div>`),Ex=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Pending Handoff</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> </div></div>`),Dx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Coordination</div> <div class="meta-grid svelte-1ewh6ct"><!> <!></div></div>`),Ox=K(`<button class="btn btn-ghost" style="padding:1px 6px;font-size:0.68rem;border-radius:4px;">Edit</button>`),kx=K(`<textarea class="form-textarea" rows="8" style="font-size:0.82rem;font-family:'JetBrains Mono',monospace;"></textarea> <div style="display:flex;gap:6px;margin-top:6px;"><button class="btn btn-accent" style="font-size:0.78rem;">Save</button> <button class="btn btn-ghost" style="font-size:0.78rem;">Cancel</button></div>`,1),Ax=K(`<div class="markdown-body md-card svelte-1ewh6ct"><!></div>`),jx=K(`<div style="color:var(--color-text-muted);font-size:0.82rem;font-style:italic;">No description yet. Click Edit to add one.</div>`),Mx=K(`<span style="font-size:0.65rem;color:var(--color-text-muted);"> </span>`),Nx=K(`<button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;" title="Edit comment">✏️</button> <button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;color:#ef4444;" title="Delete comment">🗑</button>`,1),Px=K(`<textarea class="form-textarea" rows="3" style="font-size:0.8rem;margin-bottom:6px;"></textarea> <div style="display:flex;gap:6px;"><button class="btn btn-accent" style="font-size:0.75rem;"> </button> <button class="btn btn-ghost" style="font-size:0.75rem;">Cancel</button></div>`,1),Fx=K(`<div class="markdown-body" style="font-size:0.78rem;color:var(--color-text);line-height:1.5;"><!></div>`),Ix=K(`<div class="comment-card svelte-1ewh6ct"><div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;"><div style="display:flex;align-items:center;gap:6px;"><div class="comment-avatar svelte-1ewh6ct"> </div> <span style="font-size:0.72rem;font-weight:600;color:var(--color-text);"> </span> <!></div> <div style="display:flex;align-items:center;gap:8px;"><span style="font-size:0.65rem;color:var(--color-text-muted);"> </span> <!></div></div> <!></div>`),Lx=K(`<div style="display:flex;flex-direction:column;gap:8px;margin-bottom:12px;"></div>`),Rx=K(`<!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Status</div> <div style="display:flex; justify-content:space-between; align-items:center;"><span style="font-size:0.85rem; padding: 4px 10px;"> </span> <!></div></div> <div class="meta-grid svelte-1ewh6ct" style="margin-bottom:16px;"></div> <!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct" style="display:flex;align-items:center;gap:6px;width:100%;"><span style="flex:1;">Description</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent; margin-right:4px;"><!></button> <!></div> <!></div> <div><div class="section-label svelte-1ewh6ct"> </div> <div class="comment-compose svelte-1ewh6ct" style="margin-bottom:16px;"><textarea class="form-textarea" placeholder="Add a comment or status note…" rows="2" style="font-size:0.82rem;resize:vertical;"></textarea> <div style="display:flex;justify-content:space-between;align-items:center;margin-top:6px;"><span style="font-size:0.65rem;color:var(--color-text-muted);">Ctrl+Enter to submit</span> <button class="btn btn-accent" style="font-size:0.78rem;"> </button></div></div> <!></div>`,1);function zx(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onTaskUpdated`,8),c=Z(t,`onTaskDeleted`,8);Ua();var l=Ti(),u=z(l),d=e=>{var t=Rx(),r=z(t),i=e=>{var t=Sx();X(t,5,()=>(W(px),n(),U(()=>px[n().task.status])),e=>e.next,(e,t)=>{var n=xx(),r=R(n,!0);j(n),V(()=>{da(n,`background:${(H(t),U(()=>H(t).color))??``};color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;`),J(r,(H(t),U(()=>H(t).label)))}),G(`click`,n,()=>a().advanceStatus(H(t).next,s())),q(e,n)}),j(t),q(e,t)};Y(r,e=>{W(px),n(),U(()=>px[n().task.status]?.length)&&e(i)});var l=B(r,2),u=B(R(l),2),d=R(u),f=R(d,!0);j(d);var p=B(d,2),m=e=>{var t=Cx();Q(R(t),{name:`trash`,size:16}),M(),j(t),G(`click`,t,()=>a().deleteTask(c(),o())),q(e,t)};Y(p,e=>{n(),U(()=>n().task?.status!==`completed`)&&e(m)}),j(u),j(l);var h=B(l,2);X(h,5,()=>(W(Ql),n(),W(ql),U(()=>[{label:`Priority`,val:Ql(n().task?.priority||1)},{label:`Phase`,val:n().task?.phase||`—`},{label:`Agent`,val:n().task?.agent||`—`},{label:`Updated`,val:ql(n().task?.updated_at)},{label:`Parent`,val:n().task?.parent_code||`—`},{label:`Depends On`,val:n().task?.depends_on_code||`—`}])),e=>e.label,(e,t)=>{var n=wx(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(h);var g=B(h,2),_=e=>{var t=Dx(),r=B(R(t),2),i=R(r),a=e=>{var t=Tx(),r=B(R(t),2),i=R(r,!0);j(r);var a=B(r,2),o=R(a),s=B(o),c=e=>{var t=wi();V(e=>J(t,`• ${e??``}`),[()=>(W(ql),n(),U(()=>ql(n().task.coordination.active_claim_claimed_at)))]),q(e,t)};Y(s,e=>{n(),U(()=>n().task.coordination.active_claim_claimed_at)&&e(c)}),j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.active_claim_agent||`claimed`))),J(o,`${(n(),U(()=>n().task.coordination.active_claim_role||`worker`))??``} `)}),q(e,t)};Y(i,e=>{n(),U(()=>(n().task.coordination.active_claim_count||0)>0)&&e(a)});var o=B(i,2),s=e=>{var t=Ex(),r=B(R(t),2),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.pending_handoff_to_agent||`unassigned`))),J(o,(n(),U(()=>n().task.coordination.pending_handoff_summary||`Transfer waiting`)))}),q(e,t)};Y(o,e=>{n(),U(()=>(n().task.coordination.pending_handoff_count||0)>0)&&e(s)}),j(r),j(t),q(e,t)};Y(g,e=>{n(),U(()=>n().task.coordination&&((n().task.coordination.active_claim_count||0)>0||(n().task.coordination.pending_handoff_count||0)>0))&&e(_)});var v=B(g,2),y=R(v),b=B(R(y),2),x=R(b);{let e=dn(()=>(n(),U(()=>n().descCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().descCopied?`text-success`:``)));Q(x,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(b);var S=B(b,2),C=e=>{var t=Ox();G(`click`,t,()=>a().toggleEditDescription(!0)),q(e,t)};Y(S,e=>{n(),U(()=>!n().editingDescription)&&e(C)}),j(y);var w=B(y,2),T=e=>{var t=kx(),r=z(t);Un(r);var i=B(r,2),o=R(i),c=B(o,2);j(i),Fa(r,()=>n().editDescription,e=>Ot(a(),U(n).editDescription=e,U(n))),G(`click`,o,()=>a().saveDescription(s())),G(`click`,c,()=>a().toggleEditDescription(!1)),q(e,t)},E=e=>{var t=Ax(),r=R(t);{let e=dn(()=>(n(),U(()=>n().task.description||``)));Xb(r,{get content(){return H(e)}})}j(t),q(e,t)},D=e=>{q(e,jx())};Y(w,e=>{n(),U(()=>n().editingDescription)?e(T):(n(),U(()=>n().task?.description)?e(E,1):e(D,-1))}),j(v);var O=B(v,2),k=R(O),ee=R(k);j(k);var te=B(k,2),ne=R(te);Un(ne);var re=B(ne,2),ie=B(R(re),2),A=R(ie,!0);j(ie),j(re),j(te);var ae=B(te,2),oe=e=>{var t=Lx();X(t,5,()=>(n(),U(()=>n().task.comments)),e=>e.id,(e,t)=>{var r=Ix(),i=R(r),o=R(i),c=R(o),l=R(c,!0);j(c);var u=B(c,2),d=R(u,!0);j(u);var f=B(u,2),p=e=>{var n=Mx(),r=R(n);j(n),V((e,t)=>J(r,`${e??``} → ${t??``}`),[()=>(W(Zl),H(t),U(()=>Zl(H(t).previous_status))),()=>(W(Zl),H(t),U(()=>Zl(H(t).next_status)))]),q(e,n)};Y(f,e=>{H(t),U(()=>H(t).previous_status&&H(t).next_status)&&e(p)}),j(o);var m=B(o,2),h=R(m),g=R(h,!0);j(h);var _=B(h,2),v=e=>{var n=Nx(),r=z(n),i=B(r,2);G(`click`,r,()=>a().startEditComment(H(t))),G(`click`,i,()=>a().deleteComment(H(t).id,s())),q(e,n)};Y(_,e=>{H(t),U(()=>H(t).id)&&e(v)}),j(m),j(i);var y=B(i,2),b=e=>{var t=Px(),r=z(t);Un(r);var i=B(r,2),o=R(i),c=R(o,!0);j(o);var l=B(o,2);j(i),V(()=>{o.disabled=(n(),U(()=>n().savingComment)),J(c,(n(),U(()=>n().savingComment?`Saving…`:`Save`)))}),Fa(r,()=>n().editCommentText,e=>Ot(a(),U(n).editCommentText=e,U(n))),G(`click`,o,()=>a().saveEditComment(s())),G(`click`,l,function(...e){a().cancelEditComment?.apply(this,e)}),q(e,t)},x=e=>{var n=Fx();Xb(R(n),{get content(){return H(t),U(()=>H(t).comment)}}),j(n),q(e,n)};Y(y,e=>{n(),H(t),U(()=>n().editingCommentId===H(t).id)?e(b):e(x,-1)}),j(r),V((e,n)=>{J(l,e),J(d,(H(t),U(()=>H(t).agent||`Unknown`))),J(g,n)},[()=>(H(t),U(()=>(H(t).agent||`U`).charAt(0).toUpperCase())),()=>(W(ql),H(t),U(()=>ql(H(t).created_at)))]),q(e,r)}),j(t),q(e,t)};Y(ae,e=>{n(),U(()=>n().task?.comments?.length)&&e(oe)}),j(O),V((e,t,r)=>{la(d,1,`status-chip ${e??``}`,`svelte-1ewh6ct`),J(f,t),J(ee,`Activity (${(n(),U(()=>n().task?.comments?.length??0))??``})`),Ea(ne,(n(),U(()=>n().newComment))),ie.disabled=r,J(A,(n(),U(()=>n().postingComment?`Posting…`:`Post Comment`)))},[()=>(W(Xl),n(),U(()=>Xl(n().task?.status||`pending`))),()=>(W(Zl),n(),U(()=>Zl(n().task?.status||``))),()=>(n(),U(()=>n().postingComment||!n().newComment.trim()))]),G(`click`,b,()=>a().handleCopyDesc(n().task?.description||``)),G(`input`,ne,e=>a().setNewComment(e.currentTarget.value)),G(`keydown`,ne,e=>a().handleCommentKeydown(e,s())),G(`click`,ie,()=>a().postComment(s())),q(e,t)};Y(u,e=>{n(),U(()=>n().task)&&e(d)}),q(e,l),it(),i()}var Bx=K(`<div class="error-box"> </div>`),Vx=K(`<div class="section-label svelte-1arg7l8" style="margin-bottom:12px;">New Handoff</div> <!> <div class="std-form-grid svelte-1arg7l8"><label><span class="std-field-label svelte-1arg7l8">From agent *</span> <input class="form-input" placeholder="agent-a"/></label> <label><span class="std-field-label svelte-1arg7l8">To agent</span> <input class="form-input" placeholder="recipient agent (optional)"/></label> <label><span class="std-field-label svelte-1arg7l8">Task code</span> <input class="form-input" placeholder="TASK-123"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Summary *</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;" placeholder="What should the next agent know?"></textarea></label> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Context JSON</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;"></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Hx=K(`<div class="error-box"> </div>`),Ux=K(`<div class="meta-cell svelte-1arg7l8"><div class="meta-label svelte-1arg7l8"> </div> <div class="meta-value svelte-1arg7l8"> </div></div>`),Wx=K(`<div><div class="section-label svelte-1arg7l8" style="display:flex;justify-content:space-between;align-items:center;"><span>Transfer Context</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <pre class="json-pre svelte-1arg7l8"> </pre></div>`),Gx=K(`<!> <div class="drawer-title svelte-1arg7l8" style="margin-bottom:14px;"> </div> <div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"><button class="btn" style="background:#10b981;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Accept</button> <button class="btn" style="background:#ef4444;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Reject</button> <button class="btn" style="background:#64748b;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Mark Expired</button></div> <div style="margin-bottom:16px;"><div class="section-label svelte-1arg7l8">Status</div> <span style="font-size:0.85rem;padding:4px 10px;display:inline-block;"> </span></div> <div class="meta-grid svelte-1arg7l8" style="margin-bottom:16px;"></div> <!>`,1);function Kx(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onHandoffCreated`,8),c=Z(t,`onHandoffUpdated`,8),l=Z(t,`repo`,8);Ua();var u=Ti(),d=z(u),f=e=>{var t=Vx(),r=B(z(t),2),i=e=>{var t=Bx(),r=R(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var c=B(r,2),u=R(c),d=B(R(u),2);Ta(d),j(u);var f=B(u,2),p=B(R(f),2);Ta(p),j(f);var m=B(f,2),h=B(R(m),2);Ta(h),j(m),j(c);var g=B(c,2),_=B(R(g),2);Un(_),j(g);var v=B(g,2),y=B(R(v),2);Un(y),ka(y,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(v);var b=B(v,2),x=R(b),S=R(x);Q(S,{name:`git-branch`,size:14,strokeWidth:2});var C=B(S);j(x);var w=B(x,2);j(b),V(e=>{x.disabled=e,J(C,` ${(n(),U(()=>n().handoffCreating?`Creating...`:`Create Handoff`))??``}`),w.disabled=(n(),U(()=>n().handoffCreating))},[()=>(n(),U(()=>n().handoffCreating||!n().handoffForm.from_agent.trim()||!n().handoffForm.summary.trim()))]),Fa(d,()=>n().handoffForm.from_agent,e=>Ot(a(),U(n).handoffForm.from_agent=e,U(n))),Fa(p,()=>n().handoffForm.to_agent,e=>Ot(a(),U(n).handoffForm.to_agent=e,U(n))),Fa(h,()=>n().handoffForm.task_code,e=>Ot(a(),U(n).handoffForm.task_code=e,U(n))),Fa(_,()=>n().handoffForm.summary,e=>Ot(a(),U(n).handoffForm.summary=e,U(n))),Fa(y,()=>n().handoffForm.context,e=>Ot(a(),U(n).handoffForm.context=e,U(n))),G(`click`,x,()=>a().createHandoff(s(),l())),G(`click`,w,function(...e){o()?.apply(this,e)}),q(e,t)},p=e=>{var t=Gx(),r=z(t),i=e=>{var t=Hx(),r=R(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var o=B(r,2),s=R(o,!0);j(o);var l=B(o,2),u=R(l),d=B(u,2),f=B(d,2);j(l);var p=B(l,2),m=B(R(p),2);let h;var g=R(m,!0);j(m),j(p);var _=B(p,2);X(_,5,()=>(n(),W(ql),U(()=>[{label:`From`,val:n().handoff.from_agent},{label:`To`,val:n().handoff.to_agent||`unassigned`},{label:`Task`,val:n().handoff.task_code||n().handoff.task_id||`—`},{label:`Created`,val:ql(n().handoff.created_at)},{label:`Updated`,val:ql(n().handoff.updated_at)},{label:`Expires`,val:n().handoff.expires_at?ql(n().handoff.expires_at):`—`}])),e=>e.label,(e,t)=>{var n=Ux(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(_);var v=B(_,2),y=e=>{var t=Wx(),r=R(t),i=B(R(r),2),o=R(i);{let e=dn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(o,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(i),j(r);var s=B(r,2),c=R(s,!0);j(s),j(t),V(e=>J(c,e),[()=>(n(),U(()=>JSON.stringify(n().handoff.context,null,2)))]),G(`click`,i,()=>a().handleCopyHandoffContext(n().handoff?.context||{})),q(e,t)},b=un(()=>(n(),U(()=>n().handoff.context&&Object.keys(n().handoff.context).length>0)));Y(v,e=>{H(b)&&e(y)}),V(e=>{J(s,(n(),U(()=>n().handoff.summary))),u.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),d.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),f.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status===`expired`||n().handoff.status===`accepted`)),h=la(m,1,`status-chip`,null,h,{"status-pending":n().handoff.status===`pending`,"status-accepted":n().handoff.status===`accepted`,"status-rejected":n().handoff.status===`rejected`,"status-expired":n().handoff.status===`expired`}),J(g,e)},[()=>(n(),U(()=>n().handoff.status.toUpperCase()))]),G(`click`,u,()=>a().updateHandoffStatus(`accepted`,c())),G(`click`,d,()=>a().updateHandoffStatus(`rejected`,c())),G(`click`,f,()=>a().updateHandoffStatus(`expired`,c())),q(e,t)};Y(d,e=>{n(),U(()=>n().handoff&&n().handoff.id===`__new__`)?e(f):(n(),U(()=>n().handoff)&&e(p,1))}),q(e,u),it(),i()}var qx=K(`<div style="border:1px solid #fecaca;background:#fef2f2;color:#dc2626;border-radius:8px;padding:10px 12px;font-size:0.82rem;font-weight:700;margin-bottom:12px;"> </div>`),Jx=K(`<div class="section-label svelte-1p5f4l" style="margin-bottom:12px;"> </div> <div class="std-form-grid svelte-1p5f4l"><label><span class="std-field-label svelte-1p5f4l">Name *</span> <input class="form-input" placeholder="Error handling standard"/></label> <label><span class="std-field-label svelte-1p5f4l">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label><span class="std-field-label svelte-1p5f4l">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label><span class="std-field-label svelte-1p5f4l">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label><span class="std-field-label svelte-1p5f4l">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label><span class="std-field-label svelte-1p5f4l">Tags *</span> <input class="form-input" placeholder="frontend, linting"/></label> <label><span class="std-field-label svelte-1p5f4l">Parent ID</span> <input class="form-input" placeholder="Optional parent UUID"/></label> <label><span class="std-field-label svelte-1p5f4l">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata (e.g., source:dashboard)"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1p5f4l">Content *</span> <textarea class="form-textarea" style="min-height:120px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Yx=K(`<span class="std-badge std-badge-parent svelte-1p5f4l"> </span>`),Xx=K(`<div class="meta-cell svelte-1p5f4l"><div class="meta-label svelte-1p5f4l"> </div> <div class="meta-value svelte-1p5f4l"> </div></div>`),Zx=K(`<span class="tag-chip svelte-1p5f4l"> </span>`),Qx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1p5f4l">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),$x=K(`<div style="margin-top:16px;"><div class="section-label svelte-1p5f4l">Metadata</div> <pre class="json-pre svelte-1p5f4l"> </pre></div>`),eS=K(`<div class="detail-header-row svelte-1p5f4l"><div style="flex:1;min-width:0;"><div class="drawer-title svelte-1p5f4l"> </div> <div class="std-meta-row svelte-1p5f4l" style="margin-top:6px;"><span class="std-badge std-badge-context svelte-1p5f4l"> </span> <span class="std-badge std-badge-version svelte-1p5f4l"> </span> <span> </span> <!></div></div> <div style="display:flex;align-items:center;gap:6px;flex-shrink:0;"><button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm" style="color:#ef4444;"><!> </button></div></div> <div class="meta-grid svelte-1p5f4l" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-1p5f4l" style="display:flex;justify-content:space-between;align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-1p5f4l"><!></div></div> <!>`,1),tS=K(`<!> <!>`,1);function nS(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onStandardUpdated`,8),c=Z(t,`onStandardDeleted`,8),l=Z(t,`repo`,8);Ua();var u=tS(),d=z(u),f=e=>{var t=qx(),r=R(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().standardError)))),q(e,t)};Y(d,e=>{n(),U(()=>n().standardError)&&e(f)});var p=B(d,2),m=e=>{var t=Jx(),r=z(t),i=R(r,!0);j(r);var c=B(r,2),u=R(c),d=B(R(u),2);Ta(d),j(u);var f=B(u,2),p=B(R(f),2);Ta(p),j(f);var m=B(f,2),h=B(R(m),2);Ta(h),j(m);var g=B(m,2),_=B(R(g),2);Ta(_),j(g);var v=B(g,2),y=B(R(v),2);Ta(y),j(v);var b=B(v,2),x=B(R(b),2);Ta(x),j(b);var S=B(b,2),C=B(R(S),2);Ta(C),j(S);var w=B(S,2),T=B(R(w),2);Ta(T),j(w),j(c);var E=B(c,2),D=B(R(E),2);Un(D),j(E);var O=B(E,2),k=R(O),ee=R(k);Q(ee,{name:`check`,size:14,strokeWidth:2});var te=B(ee);j(k);var ne=B(k,2);j(O),V(e=>{J(i,(n(),U(()=>n().standard?`Edit Standard`:`New Standard`))),k.disabled=e,J(te,` ${(n(),U(()=>n().standardSaving?`Saving...`:n().standard?`Save Changes`:`Create Standard`))??``}`),ne.disabled=(n(),U(()=>n().standardSaving))},[()=>(n(),U(()=>n().standardSaving||!n().standardForm.name.trim()||!n().standardForm.content.trim()))]),Fa(d,()=>n().standardForm.name,e=>Ot(a(),U(n).standardForm.name=e,U(n))),Fa(p,()=>n().standardForm.context,e=>Ot(a(),U(n).standardForm.context=e,U(n))),Fa(h,()=>n().standardForm.version,e=>Ot(a(),U(n).standardForm.version=e,U(n))),Fa(_,()=>n().standardForm.language,e=>Ot(a(),U(n).standardForm.language=e,U(n))),Fa(y,()=>n().standardForm.stack,e=>Ot(a(),U(n).standardForm.stack=e,U(n))),Fa(x,()=>n().standardForm.tags,e=>Ot(a(),U(n).standardForm.tags=e,U(n))),Fa(C,()=>n().standardForm.parent_id,e=>Ot(a(),U(n).standardForm.parent_id=e,U(n))),Fa(T,()=>n().standardForm.metadata,e=>Ot(a(),U(n).standardForm.metadata=e,U(n))),Fa(D,()=>n().standardForm.content,e=>Ot(a(),U(n).standardForm.content=e,U(n))),G(`click`,k,()=>a().saveStandard(s(),o(),l())),G(`click`,ne,function(...e){a().cancelStandardEdit?.apply(this,e)}),q(e,t)},h=e=>{var t=eS(),r=z(t),i=R(r),s=R(i),l=R(s,!0);j(s);var u=B(s,2),d=R(u),f=R(d,!0);j(d);var p=B(d,2),m=R(p);j(p);var h=B(p,2);let g;var _=R(h,!0);j(h);var v=B(h,2),y=e=>{var t=Yx(),r=R(t);j(t),V(()=>J(r,`child of ${(n(),U(()=>n().standard.parent_id))??``}`)),q(e,t)};Y(v,e=>{n(),U(()=>n().standard.parent_id)&&e(y)}),j(u),j(i);var b=B(i,2),x=R(b);Q(R(x),{name:`edit`,size:13,strokeWidth:2}),M(),j(x);var S=B(x,2),C=R(S);Q(C,{name:`trash`,size:13,strokeWidth:2});var w=B(C);j(S),j(b),j(r);var T=B(r,2);X(T,5,()=>(n(),W(ql),U(()=>[{label:`Language`,val:n().standard.language||`any`},{label:`Stack`,val:n().standard.stack.length?n().standard.stack.join(`, `):`—`},{label:`Created`,val:ql(n().standard.created_at)},{label:`Updated`,val:ql(n().standard.updated_at)}])),e=>e.label,(e,t)=>{var n=Xx(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(T);var E=B(T,2),D=e=>{var t=Qx(),r=B(R(t),2);X(r,5,()=>(n(),U(()=>n().standard.tags)),e=>e,(e,t)=>{var n=Zx(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(E,e=>{n(),U(()=>n().standard.tags?.length)&&e(D)});var O=B(E,2),k=R(O),ee=B(R(k),2),te=R(ee);{let e=dn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(te,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(ee),j(k);var ne=B(k,2),re=R(ne);{let e=dn(()=>(n(),U(()=>n().standard?.content||``)));Xb(re,{get content(){return H(e)}})}j(ne),j(O);var ie=B(O,2),A=e=>{var t=$x(),r=B(R(t),2),i=R(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().standard.metadata,null,2)))]),q(e,t)},ae=un(()=>(n(),U(()=>n().standard.metadata&&Object.keys(n().standard.metadata).length>0)));Y(ie,e=>{H(ae)&&e(A)}),V(()=>{J(l,(n(),U(()=>n().standard.title))),J(f,(n(),U(()=>n().standard.context))),J(m,`v${(n(),U(()=>n().standard.version))??``}`),g=la(h,1,`std-badge svelte-1p5f4l`,null,g,{"std-badge-global":n().standard.is_global,"std-badge-repo":!n().standard.is_global}),J(_,(n(),U(()=>n().standard.is_global?`Global`:`Repo`))),S.disabled=(n(),U(()=>n().standardDeleting)),J(w,` ${(n(),U(()=>n().standardDeleting?`Deleting...`:`Delete`))??``}`)}),G(`click`,x,function(...e){a().startStandardEdit?.apply(this,e)}),G(`click`,S,()=>a().deleteStandard(c(),o())),G(`click`,ee,()=>a().handleCopyStandardContent(n().standard?.content||``)),q(e,t)};Y(p,e=>{n(),U(()=>n().standardEditing)?e(m):(n(),U(()=>n().standard)&&e(h,1))}),q(e,u),it(),i()}var rS=K(`<div><span style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-9n99wb"> </div></div>`),iS=K(`<div style="display:flex;gap:6px;align-items:center;"><input class="form-input" style="font-size:0.95rem;font-weight:700;flex:1;"/> <button class="btn btn-accent" style="padding:4px 10px;font-size:0.75rem;">Save</button> <button class="btn btn-ghost" style="padding:4px 10px;font-size:0.75rem;">✕</button></div>`),aS=K(`<button class="drawer-title editable-title svelte-9n99wb" title="Click to edit title" style="text-align:left;background:none;border:none;padding:0;width:100%;cursor:pointer;"> <span class="edit-hint svelte-9n99wb">✏️</span></button>`),oS=K(`<div style="flex:1;min-width:0;"><div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;"><span> </span> <span style="font-size:0.7rem;font-weight:700;color:var(--color-text-muted);"> </span></div> <!></div>`),sS=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1"><div class="drawer-header svelte-9n99wb"><!> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><!></button></div> <div class="drawer-body svelte-9n99wb"><!> <!> <!> <!></div></div>`,1);function cS(e,t){rt(t,!1);let n=()=>F(x,`$handlerMode`,i),r=()=>F(b,`$handler`,i),[i,a]=Et(),o=Z(t,`memory`,8,null),s=Z(t,`task`,8,null),c=Z(t,`standard`,8,null),l=Z(t,`handoff`,8,null),u=Z(t,`open`,8,!1),d=Z(t,`onClose`,8,()=>{}),f=Z(t,`onTaskUpdated`,8,()=>{}),p=Z(t,`onTaskDeleted`,8,()=>{}),m=Z(t,`onStandardUpdated`,8,()=>{}),h=Z(t,`onStandardDeleted`,8,()=>{}),g=Z(t,`onHandoffUpdated`,8,()=>{}),_=Z(t,`onHandoffCreated`,8,()=>{}),v=Z(t,`repo`,8,null),y=Z(t,`drawerMode`,8,`memory`),b=mx(),x=b.mode;function S(e){e.key===`Escape`&&d()()}ir(()=>(W(u()),W(y()),W(o()),W(s()),W(c()),W(l()),W(v())),()=>{u()?y()===`memory`&&o()?b.setMemory(o()):y()===`task`&&s()?b.setTask(s()):y()===`standard`?b.setStandard(c()):y()===`handoff`&&l()?b.setHandoff(l()):y()===`new-handoff`&&b.initNewHandoff(v()||``):b.reset()}),ar(),Ua();var C=Ti(),w=z(C),T=e=>{var i=sS(),a=z(i),o=B(a,2),s=R(o),c=R(s),l=e=>{var t=rS(),n=R(t),i=R(n,!0);j(n);var a=B(n,2),o=R(a,!0);j(a),j(t),V(()=>{la(n,1,`type-chip type-${(r(),U(()=>r().memory.type))??``}`,`svelte-9n99wb`),J(i,(r(),U(()=>r().memory.type))),J(o,(r(),U(()=>r().memory.title||`Untitled Memory`)))}),q(e,t)},u=e=>{var t=oS(),n=R(t),i=R(n),a=R(i,!0);j(i);var o=B(i,2),s=R(o,!0);j(o),j(n);var c=B(n,2),l=e=>{var t=iS(),n=R(t);Ta(n);var i=B(n,2),a=B(i,2);j(t),Fa(n,()=>r().editTitle,e=>Ot(b,U(r).editTitle=e,U(r))),G(`keydown`,n,e=>b.handleTitleKeydown(e,f())),G(`click`,i,()=>b.saveTitle(f())),G(`click`,a,()=>b.toggleEditTitle(!1)),q(e,t)},u=e=>{var t=aS(),n=R(t);M(),j(t),V(()=>J(n,`${(r(),U(()=>r().task?.title??``))??``} `)),G(`click`,t,()=>b.toggleEditTitle(!0)),q(e,t)};Y(c,e=>{r(),U(()=>r().editingTitle)?e(l):e(u,-1)}),j(t),V((e,t)=>{la(i,1,`status-chip ${e??``}`,`svelte-9n99wb`),J(a,t),J(s,(r(),U(()=>r().task.task_code||`NEW-TASK`)))},[()=>(W(Xl),r(),U(()=>Xl(r().task.status||`pending`))),()=>(W(Zl),r(),U(()=>Zl(r().task.status||``)))]),q(e,t)};Y(c,e=>{n(),r(),U(()=>n()===`memory`&&r().memory)?e(l):(n(),r(),U(()=>n()===`task`&&r().task)&&e(u,1))});var y=B(c,2);Q(R(y),{name:`x`,size:24}),j(y),j(s);var x=B(s,2),C=R(x),w=e=>{bx(e,{get handler(){return b}})};Y(C,e=>{n(),r(),U(()=>n()===`memory`&&r().memory)&&e(w)});var T=B(C,2),E=e=>{zx(e,{get handler(){return b},get onClose(){return d()},get onTaskUpdated(){return f()},get onTaskDeleted(){return p()}})};Y(T,e=>{n(),r(),U(()=>n()===`task`&&r().task)&&e(E)});var D=B(T,2),O=e=>{{let t=dn(()=>v()||``);Kx(e,{get handler(){return b},get onClose(){return d()},get onHandoffCreated(){return _()},get onHandoffUpdated(){return g()},get repo(){return H(t)}})}};Y(D,e=>{n()===`handoff`&&e(O)});var k=B(D,2),ee=e=>{nS(e,{get handler(){return b},get onClose(){return d()},get onStandardUpdated(){return m()},get onStandardDeleted(){return h()},get repo(){return v()}})};Y(k,e=>{n()===`standard`&&e(ee)}),j(x),j(o),G(`click`,a,function(...e){d()?.apply(this,e)}),G(`keydown`,a,S),G(`click`,y,function(...e){d()?.apply(this,e)}),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`keydown`,o,S),q(e,i)};Y(w,e=>{u()&&n()&&e(T)}),q(e,C),it(),a()}function lS(){let e=N({item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}),{subscribe:t,update:n}=e,r=bt(e,e=>e.item?.type?e.item.type.charAt(0).toUpperCase()+e.item.type.slice(1):``);function i(t,r){P(e).item!==t&&n(e=>{let n={};return t&&t.type===`tool`&&t.data?.inputSchema?.properties?.repo&&r&&(n.repo=r),{...e,item:t,toolArgs:n,toolResult:null,toolError:null,toolRunning:!1}})}function a(e,t){n(n=>({...n,toolArgs:{...n.toolArgs,[e]:t}}))}async function o(){let t=P(e),r=t.item;if(!(!r||r.type!==`tool`)){n(e=>({...e,toolRunning:!0,toolResult:null,toolError:null}));try{let e={};if(r.data.inputSchema?.properties){for(let[n,r]of Object.entries(t.toolArgs))if(!(r===void 0||r===``))try{e[n]=JSON.parse(r)}catch{e[n]=r}}let i=await Ro.callTool(r.data.name,e);n(e=>({...e,toolResult:JSON.stringify(i,null,2)}))}catch(e){let t=e instanceof Error?e.message:String(e);n(e=>({...e,toolError:t}))}finally{n(e=>({...e,toolRunning:!1}))}}}async function s(e){await ru(e)&&(n(e=>({...e,copied:!0})),setTimeout(()=>n(e=>({...e,copied:!1})),2e3))}function c(e,t){e.target===e.currentTarget&&t()}function l(e){e.stopPropagation()}function u(){n(e=>({...e,item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}))}return{subscribe:t,typeLabel:r,setItem:i,setToolArg:a,runTool:o,copyToClipboardWrapper:s,handleOverlayClick:c,handlePanelClick:l,reset:u}}var uS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Description</div> <div class="markdown-body md-card svelte-17ad9lv"><!></div></div>`),dS=K(`<span style="font-size: 0.6rem; color: #ef4444; font-weight: bold; background: rgba(239, 68, 68, 0.1); padding: 2px 4px; border-radius: 4px;">REQ</span>`),fS=K(`<div style="font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: 6px; line-height: 1.2;"> </div>`),pS=K(`<div style="border: 1px solid var(--color-border); border-radius: 4px; padding: 8px 10px; margin-bottom: 6px; background: rgba(0,0,0,0.01);"><div style="display:flex; justify-content:space-between; align-items:center; margin-bottom: 4px;"><span style="color: var(--color-text); font-family: monospace; font-size: 0.8rem; font-weight: 600;"> </span> <div style="display:flex; gap: 8px; align-items: center;"><span style="font-size: 0.7rem; color: var(--color-text-muted);"> </span> <!></div></div> <!> <input type="text" class="form-input" style="font-size:0.8rem; padding: 4px 8px; border-radius: 4px; min-height: 28px;"/></div>`),mS=K(`<div class="section-label svelte-17ad9lv">Playground (Input Parameters)</div> <!>`,1),hS=K(`<div class="section-label svelte-17ad9lv">Playground</div> <div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 8px;">No arguments required.</div>`,1),gS=K(`<div style="margin-top: 12px; border: 1px solid #fecaca; background: #fef2f2; color: #ef4444; padding: 12px; border-radius: 8px; font-size: 0.85rem;"><strong>Error:</strong> </div>`),_S=K(`<div style="margin-top: 12px;" class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv" style="display:flex; justify-content:space-between; align-items:center;"><span>Response</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:24px; height:24px; padding:0; border:none; background:transparent;"><!></button></div> <div class="md-card markdown-body svelte-17ad9lv" style="padding: 1px 16px;"><!></div></div>`),vS=K(`<div class="drawer-section svelte-17ad9lv"><!> <div style="margin-top: 8px;"><button class="btn btn-accent" style="width:100%"> </button></div> <!> <!></div>`),yS=K(`<span style="font-size: 0.7rem; color: #ef4444; font-weight: bold;">REQUIRED</span>`),bS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 6px;"> </div>`),xS=K(`<div style="border: 1px solid var(--color-border); border-radius: 8px; padding: 12px; margin-bottom: 8px; background: rgba(0,0,0,0.02);"><div style="display:flex; justify-content:space-between; align-items:flex-start; margin-bottom: 4px;"><strong style="color: var(--color-text); font-family: monospace;"> </strong> <!></div> <!></div>`),SS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); font-style: italic;">No arguments.</div>`),CS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Arguments</div> <!> <!></div>`),wS=K(`<div class="md-card svelte-17ad9lv" style="margin-bottom: 8px;"><div style="font-size: 0.7rem; font-weight: bold; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 8px;"> </div> <div class="markdown-body"><!></div></div>`),TS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Template</div> <!></div>`),ES=K(`<div style="font-size: 0.85rem; margin-bottom: 8px;"><span style="color: var(--color-text-muted);">URI:</span> <code style="font-size: 0.8rem; background: var(--color-bg); padding: 2px 4px; border-radius: 4px; border: 1px solid var(--color-border);"> </code></div>`),DS=K(`<div style="font-size: 0.85rem;"><span style="color: var(--color-text-muted);">MIME Type:</span> <span> </span></div>`),OS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Details</div> <!> <!></div>`),kS=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer" style="z-index: 100;"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1" style="z-index: 101;"><div class="drawer-header svelte-17ad9lv"><div style="flex:1; min-width:0; padding-right:16px;"><span class="type-chip svelte-17ad9lv" style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-17ad9lv"> </div></div> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M18 6 6 18M6 6l12 12"></path></svg></button></div> <div class="drawer-body svelte-17ad9lv"><!> <!> <!> <!> <!></div></div>`,1);function AS(e,t){rt(t,!1);let n=()=>F(no,`$currentRepo`,a),r=()=>F(u,`$handler`,a),i=()=>F(d,`$typeLabel`,a),[a,o]=Et(),s=Z(t,`item`,8,null),c=Z(t,`open`,8,!1),l=Z(t,`onClose`,8,()=>{}),u=lS(),d=u.typeLabel;function f(e){e.key===`Escape`&&l()()}ir(()=>(W(c()),W(s()),n()),()=>{c()?u.setItem(s(),n()):u.reset()}),ar(),Ua();var p=Ti(),m=z(p),h=e=>{var t=kS(),n=z(t),a=B(n,2),o=R(a),s=R(o),c=R(s),d=R(c,!0);j(c);var p=B(c,2),m=R(p,!0);j(p),j(s);var h=B(s,2);j(o);var g=B(o,2),_=R(g),v=e=>{var t=uS(),n=B(R(t),2);Xb(R(n),{get content(){return r(),U(()=>r().item.data.description)}}),j(n),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().item.data.description)&&e(v)});var y=B(_,2),b=e=>{var t=vS(),n=R(t),i=e=>{var t=mS();X(B(z(t),2),1,()=>(r(),U(()=>Object.entries(r().item.data.inputSchema.properties))),([e,t])=>e,(e,t)=>{var n=un(()=>T(H(t),2));let i=()=>H(n)[0],a=()=>H(n)[1];var o=pS(),s=R(o),c=R(s),l=R(c,!0);j(c);var d=B(c,2),f=R(d),p=R(f,!0);j(f);var m=B(f,2),h=e=>{q(e,dS())},g=un(()=>(r(),i(),U(()=>r().item.data.inputSchema.required?.includes(i()))));Y(m,e=>{H(g)&&e(h)}),j(d),j(s);var _=B(s,2),v=e=>{var t=fS(),n=R(t,!0);j(t),V(()=>J(n,(a(),U(()=>a().description)))),q(e,t)};Y(_,e=>{a(),U(()=>a().description)&&e(v)});var y=B(_,2);Ta(y),j(o),V(()=>{J(l,i()),J(p,(a(),U(()=>a().type))),ka(y,`placeholder`,`Value for ${i()}`),Ea(y,(r(),i(),U(()=>r().toolArgs[i()]||``)))}),G(`input`,y,e=>u.setToolArg(i(),e.currentTarget.value)),q(e,o)}),q(e,t)},a=un(()=>(r(),U(()=>r().item.data.inputSchema?.properties&&Object.keys(r().item.data.inputSchema.properties).length>0))),o=e=>{var t=hS();M(2),q(e,t)};Y(n,e=>{H(a)?e(i):e(o,-1)});var s=B(n,2),c=R(s),l=R(c,!0);j(c),j(s);var d=B(s,2),f=e=>{var t=gS(),n=B(R(t));j(t),V(()=>J(n,` ${(r(),U(()=>r().toolError))??``}`)),q(e,t)};Y(d,e=>{r(),U(()=>r().toolError)&&e(f)});var p=B(d,2),m=e=>{var t=_S(),n=R(t),i=B(R(n),2),a=R(i);{let e=dn(()=>(r(),U(()=>r().copied?`check`:`copy`))),t=dn(()=>(r(),U(()=>r().copied?`text-success`:``)));Q(a,{get name(){return H(e)},size:14,strokeWidth:2,get className(){return H(t)}})}j(i),j(n);var o=B(n,2),s=R(o);{let e=dn(()=>(r(),U(()=>"```json\n"+r().toolResult+"\n```")));Xb(s,{get content(){return H(e)}})}j(o),j(t),G(`click`,i,()=>u.copyToClipboardWrapper(r().toolResult||``)),q(e,t)};Y(p,e=>{r(),U(()=>r().toolResult)&&e(m)}),j(t),V(()=>{c.disabled=(r(),U(()=>r().toolRunning)),J(l,(r(),U(()=>r().toolRunning?`Running...`:`Submit`)))}),G(`click`,c,()=>u.runTool()),q(e,t)};Y(y,e=>{r(),U(()=>r().item.type===`tool`)&&e(b)});var x=B(y,2),S=e=>{var t=CS(),n=B(R(t),2);X(n,1,()=>(r(),U(()=>r().item.data.arguments)),e=>e.name,(e,t)=>{var n=xS(),r=R(n),i=R(r),a=R(i,!0);j(i);var o=B(i,2),s=e=>{q(e,yS())};Y(o,e=>{H(t),U(()=>H(t).required)&&e(s)}),j(r);var c=B(r,2),l=e=>{var n=bS(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).description)))),q(e,n)};Y(c,e=>{H(t),U(()=>H(t).description)&&e(l)}),j(n),V(()=>J(a,(H(t),U(()=>H(t).name)))),q(e,n)});var i=B(n,2),a=e=>{q(e,SS())};Y(i,e=>{r(),U(()=>r().item.data.arguments.length===0)&&e(a)}),j(t),q(e,t)};Y(x,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.arguments)&&e(S)});var C=B(x,2),w=e=>{var t=TS();X(B(R(t),2),3,()=>(r(),U(()=>r().item.data.messages)),(e,t)=>`${e.role}-${t}`,(e,t)=>{var n=wS(),r=R(n),i=R(r);j(r);var a=B(r,2),o=R(a);{let e=dn(()=>(H(t),U(()=>typeof H(t).content==`string`?H(t).content:H(t).content.text)));Xb(o,{get content(){return H(e)}})}j(a),j(n),V(()=>J(i,`Role: ${(H(t),U(()=>H(t).role))??``}`)),q(e,n)}),j(t),q(e,t)};Y(C,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.messages&&r().item.data.messages.length>0)&&e(w)});var E=B(C,2),D=e=>{var t=OS(),n=B(R(t),2),i=e=>{var t=ES(),n=B(R(t),2),i=R(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.uri)))),q(e,t)};Y(n,e=>{r(),U(()=>r().item?.data?.uri)&&e(i)});var a=B(n,2),o=e=>{var t=DS(),n=B(R(t),2),i=R(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.mimeType)))),q(e,t)};Y(a,e=>{r(),U(()=>r().item.data.mimeType)&&e(o)}),j(t),q(e,t)};Y(E,e=>{r(),U(()=>r().item.type===`resource`)&&e(D)}),j(g),j(a),V(()=>{J(d,i()),J(m,(r(),U(()=>r().item.data.name)))}),G(`click`,n,e=>u.handleOverlayClick(e,l())),G(`keydown`,n,f),G(`click`,h,function(...e){l()?.apply(this,e)}),G(`click`,a,function(...e){u.handlePanelClick?.apply(this,e)}),G(`keydown`,a,f),q(e,t)};Y(m,e=>{W(c()),r(),U(()=>c()&&r().item)&&e(h)}),q(e,p),it(),o()}function jS(e){let t=N({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n=N(!1),r=N(!1),i=N(!1),a=N(``),o=N(!1),s=null;function c(e){s=e,e?(t.set({title:e.title,type:e.type,content:e.content,importance:e.importance,tags:(e.tags||[]).join(`, `),agent:e.agent||``,model:e.model||``}),n.set(!1)):(t.set({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n.set(!0)),o.set(!1),a.set(``),r.set(!1),i.set(!1)}function l(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}async function u(){let n=P(t);if(!n.title.trim()||!n.content.trim()){a.set(`Title and Content are required.`);return}r.set(!0),a.set(``);try{let t=P(no),r={title:n.title.trim(),type:n.type,content:n.content.trim(),importance:Number(n.importance),tags:l(n.tags),agent:n.agent.trim()||void 0,model:n.model.trim()||void 0,repo:t,scope:{repo:t||``}},i;if(s)await Ro.updateMemory(s.id,r),i={...s,...r,updated_at:new Date().toISOString()};else{let e=await Ro.createMemory(r);i={...r,id:e.id,hit_count:0,recall_count:0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}}e.onSaved(i),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to save memory.`)}finally{r.set(!1)}}async function d(){if(s&&await Bo(`Permanently delete this memory? This cannot be undone.`)){i.set(!0),a.set(``);try{await Ro.deleteMemory(s.id),e.onDeleted(s.id),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to delete memory.`)}finally{i.set(!1)}}}return{form:t,editing:n,saving:r,deleting:i,error:a,previewMode:o,reset:c,save:u,deleteMemory:d,startEditing:()=>{n.set(!0),o.set(!1)},cancelEdit:()=>{s?(c(s),n.set(!1)):e.onClose()},togglePreview:()=>o.update(e=>!e)}}var MS=K(`<div class="modal-mode-label svelte-intd6h"> </div> <input class="form-input modal-title-input svelte-intd6h" placeholder="Memory title…"/>`,1),NS=K(`<div class="modal-mode-label svelte-intd6h">View Memory</div> <div class="modal-title-text svelte-intd6h"> </div>`,1),PS=K(`<button class="btn btn-ghost btn-sm" title="Edit memory"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-btn svelte-intd6h" title="Delete memory"><!> </button>`,1),FS=K(`<div class="mem-error svelte-intd6h"><!> </div>`),IS=K(`<div class="meta-cell svelte-intd6h"><div class="meta-label svelte-intd6h"> </div> <div class="meta-value svelte-intd6h"> </div></div>`),LS=K(`<span class="tag-chip svelte-intd6h"> </span>`),RS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Tags</div> <div class="tags-row svelte-intd6h"></div></div>`),zS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Metadata</div> <pre class="json-pre svelte-intd6h"> </pre></div>`),BS=K(`<div style="margin-bottom:14px;"><span> </span></div> <div class="meta-grid svelte-intd6h"></div> <!> <div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Content</div> <div class="markdown-body md-card svelte-intd6h"><!></div></div> <!>`,1),VS=K(`<option> </option>`),HS=K(`<span> </span>`),US=K(`<span style="color:var(--color-text-muted);font-style:italic;">Nothing to preview yet…</span>`),WS=K(`<div class="markdown-body md-card svelte-intd6h" style="min-height:160px;"><!></div>`),GS=K(`<textarea id="mem_content" class="form-textarea content-textarea svelte-intd6h" rows="8" placeholder="Write memory content in Markdown…"></textarea>`),KS=K(`<div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_type" class="field-label svelte-intd6h">Type <span class="required svelte-intd6h">*</span></label> <select id="mem_type" class="form-select"></select></div> <div class="field-group svelte-intd6h"><label for="mem_importance" class="field-label svelte-intd6h">Importance <span class="importance-badge svelte-intd6h"> </span></label> <input id="mem_importance" type="range" min="1" max="5" step="1" class="importance-slider svelte-intd6h"/> <div class="importance-ticks svelte-intd6h"></div></div></div> <div class="field-group svelte-intd6h"><label for="mem_tags" class="field-label svelte-intd6h">Tags <span class="field-hint svelte-intd6h">(comma separated)</span></label> <input id="mem_tags" class="form-input" placeholder="react, typescript, architecture…"/></div> <div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_agent" class="field-label svelte-intd6h">Agent</label> <input id="mem_agent" class="form-input" placeholder="e.g. claude-opus"/></div> <div class="field-group svelte-intd6h"><label for="mem_model" class="field-label svelte-intd6h">Model</label> <input id="mem_model" class="form-input" placeholder="e.g. claude-3-opus"/></div></div> <div class="field-group svelte-intd6h"><div class="content-label-row svelte-intd6h"><label for="mem_content" class="field-label svelte-intd6h" style="margin-bottom:0;">Content <span class="required svelte-intd6h">*</span> <span class="field-hint svelte-intd6h">(Markdown supported)</span></label> <button type="button" class="btn btn-ghost btn-sm preview-btn svelte-intd6h"><!> </button></div> <!></div>`,1),qS=K(`<span class="btn-spinner svelte-intd6h"></span>`),JS=K(`<div class="modal-footer svelte-intd6h"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-intd6h"><!> </button></div>`),YS=K(`<div class="modal-backdrop svelte-intd6h" role="button" tabindex="-1" aria-label="Close"></div> <div class="modal-panel animate-fade-in svelte-intd6h" role="dialog" aria-modal="true" tabindex="-1"><div class="modal-header svelte-intd6h"><div class="modal-header-icon svelte-intd6h"><!></div> <div style="flex:1;min-width:0;"><!></div> <div class="modal-header-actions svelte-intd6h"><!> <button class="modal-close-btn svelte-intd6h" aria-label="Close"><!></button></div></div> <div class="modal-body svelte-intd6h"><!> <!></div> <!></div>`,1);function XS(e,t){rt(t,!1);let n=()=>F(y,`$editing`,c),r=()=>F(v,`$form`,c),i=()=>F(x,`$deleting`,c),a=()=>F(S,`$error`,c),o=()=>F(C,`$previewMode`,c),s=()=>F(b,`$saving`,c),[c,l]=Et(),u=I(),d=I(),f=Z(t,`memory`,8,null),p=Z(t,`open`,8,!1),m=Z(t,`onClose`,8,()=>{}),h=Z(t,`onSaved`,8,()=>{}),g=Z(t,`onDeleted`,8,()=>{}),_=jS({onSaved:h(),onDeleted:g(),onClose:m()}),{form:v,editing:y,saving:b,deleting:x,error:S,previewMode:C}=_;function w(e){e.key===`Escape`&&m()()}ir(()=>W(f()),()=>{L(u,f()===null)}),ir(()=>(H(u),n()),()=>{L(d,H(u)||n())}),ir(()=>(W(p()),W(f())),()=>{p()&&_.reset(f())}),ar(),Ua();var T=Ti();G(`keydown`,An,w);var E=z(T),D=e=>{var t=YS(),c=z(t),l=B(c,2),p=R(l),h=R(p);Q(R(h),{name:`brain`,size:14,strokeWidth:2.2}),j(h);var g=B(h,2),y=R(g),b=e=>{var t=MS(),n=z(t),i=R(n,!0);j(n);var a=B(n,2);Ta(a),V(()=>J(i,H(u)?`New Memory`:`Edit Memory`)),Fa(a,()=>r().title,e=>(Ot(v,U(r).title=e,U(r)),wr(()=>{}))),q(e,t)},x=e=>{var t=NS(),n=B(z(t),2),r=R(n,!0);j(n),V(()=>J(r,(W(f()),U(()=>f().title)))),q(e,t)};Y(y,e=>{H(d)?e(b):f()&&e(x,1)}),j(g);var S=B(g,2),C=R(S),w=e=>{var t=PS(),n=z(t);Q(R(n),{name:`edit`,size:13,strokeWidth:2}),M(),j(n);var r=B(n,2),a=R(r);Q(a,{name:`trash`,size:13,strokeWidth:2});var o=B(a);j(r),V(()=>{r.disabled=i(),J(o,` ${i()?`Deleting…`:`Delete`}`)}),G(`click`,n,function(...e){_.startEditing?.apply(this,e)}),G(`click`,r,function(...e){_.deleteMemory?.apply(this,e)}),q(e,t)};Y(C,e=>{f()&&!n()&&e(w)});var T=B(C,2);Q(R(T),{name:`x`,size:14,strokeWidth:2.5}),j(T),j(S),j(p);var E=B(p,2),D=R(E),O=e=>{var t=FS(),n=R(t);Q(n,{name:`alert-circle`,size:13,strokeWidth:2});var r=B(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(D,e=>{a()&&e(O)});var k=B(D,2),ee=e=>{var t=BS(),n=z(t),r=R(n),i=R(r,!0);j(r),j(n);var a=B(n,2);X(a,5,()=>(W(f()),W(ql),U(()=>[{label:`Importance`,val:f().importance},{label:`Hit Count`,val:f().hit_count??0},{label:`Created`,val:ql(f().created_at)},{label:`Updated`,val:ql(f().updated_at)}])),e=>e.label,(e,t)=>{var n=IS(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(a);var o=B(a,2),s=e=>{var t=RS(),n=B(R(t),2);X(n,5,()=>(W(f()),U(()=>f().tags)),e=>e,(e,t)=>{var n=LS(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),j(t),q(e,t)};Y(o,e=>{W(f()),U(()=>f().tags?.length)&&e(s)});var c=B(o,2),l=B(R(c),2);Xb(R(l),{get content(){return W(f()),U(()=>f().content)}}),j(l),j(c);var u=B(c,2),d=e=>{var t=zS(),n=B(R(t),2),r=R(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(W(f()),U(()=>JSON.stringify(f().metadata,null,2)))]),q(e,t)},p=un(()=>(W(f()),U(()=>f().metadata&&Object.keys(f().metadata).length>0)));Y(u,e=>{H(p)&&e(d)}),V(()=>{la(r,1,`type-chip type-${(W(f()),U(()=>f().type))??``}`,`svelte-intd6h`),J(i,(W(sb),W(f()),U(()=>sb[f().type]||f().type)))}),q(e,t)},te=e=>{var t=KS(),n=z(t),i=R(n),a=B(R(i),2);X(a,5,()=>ob,e=>e,(e,t)=>{var n=VS(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(W(sb),H(t),U(()=>sb[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(a),j(i);var s=B(i,2),c=R(s),l=B(R(c)),u=R(l,!0);j(l),j(c);var d=B(c,2);Ta(d);var f=B(d,2);X(f,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=HS();let i;var a=R(n,!0);j(n),V(()=>{i=la(n,1,`svelte-intd6h`,null,i,{active:r().importance>=t}),J(a,t)}),q(e,n)}),j(f),j(s),j(n);var p=B(n,2),m=B(R(p),2);Ta(m),j(p);var h=B(p,2),g=R(h),y=B(R(g),2);Ta(y),j(g);var b=B(g,2),x=B(R(b),2);Ta(x),j(b),j(h);var S=B(h,2),C=R(S),w=B(R(C),2),T=R(w);{let e=dn(()=>o()?`edit`:`eye`);Q(T,{get name(){return H(e)},size:12,strokeWidth:2})}var E=B(T);j(w),j(C);var D=B(C,2),O=e=>{var t=WS(),n=R(t),i=e=>{Xb(e,{get content(){return r(),U(()=>r().content)}})},a=un(()=>(r(),U(()=>r().content.trim()))),o=e=>{q(e,US())};Y(n,e=>{H(a)?e(i):e(o,-1)}),j(t),q(e,t)},k=e=>{var t=GS();Un(t),Fa(t,()=>r().content,e=>(Ot(v,U(r).content=e,U(r)),wr(()=>{}))),q(e,t)};Y(D,e=>{o()?e(O):e(k,-1)}),j(S),V(()=>{da(l,`background:${(W(lb),r(),U(()=>lb[r().importance]))??``};color:${(W(cb),r(),U(()=>cb[r().importance]))??``};`),J(u,(r(),U(()=>r().importance))),da(d,`accent-color:${(W(cb),r(),U(()=>cb[r().importance]))??``};`),J(E,` ${o()?`Edit`:`Preview`}`)}),ma(a,()=>r().type,e=>(Ot(v,U(r).type=e,U(r)),wr(()=>{}))),Fa(d,()=>r().importance,e=>(Ot(v,U(r).importance=e,U(r)),wr(()=>{}))),Fa(m,()=>r().tags,e=>(Ot(v,U(r).tags=e,U(r)),wr(()=>{}))),Fa(y,()=>r().agent,e=>(Ot(v,U(r).agent=e,U(r)),wr(()=>{}))),Fa(x,()=>r().model,e=>(Ot(v,U(r).model=e,U(r)),wr(()=>{}))),G(`click`,w,function(...e){_.togglePreview?.apply(this,e)}),q(e,t)};Y(k,e=>{f()&&!n()?e(ee):e(te,-1)}),j(E);var ne=B(E,2),re=e=>{var t=JS(),n=R(t),i=B(n,2),a=R(i),o=e=>{q(e,qS())},c=e=>{Q(e,{name:`check`,size:13,strokeWidth:2})};Y(a,e=>{s()?e(o):e(c,-1)});var l=B(a);j(i),j(t),V(e=>{i.disabled=e,J(l,` ${s()?`Saving…`:H(u)?`Create Memory`:`Save Changes`}`)},[()=>(s(),r(),U(()=>s()||!r().title.trim()||!r().content.trim()))]),G(`click`,n,function(...e){_.cancelEdit?.apply(this,e)}),G(`click`,i,function(...e){_.save?.apply(this,e)}),q(e,t)};Y(ne,e=>{H(d)&&e(re)}),j(l),G(`click`,c,function(...e){m()?.apply(this,e)}),G(`keydown`,c,e=>e.key===`Escape`&&m()()),G(`click`,T,function(...e){m()?.apply(this,e)}),q(e,t)};Y(E,e=>{p()&&e(D)}),q(e,T),it(),l()}var ZS=e=>e;function QS(e){let t=e-1;return t*t*t+1}function $S(e,{delay:t=0,duration:n=400,easing:r=ZS}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function eC(e,{delay:t=0,duration:n=400,easing:r=QS,start:i=0,opacity:a=0}={}){let o=getComputedStyle(e),s=+o.opacity,c=o.transform===`none`?``:o.transform,l=1-i,u=s*(1-a);return{delay:t,duration:n,easing:r,css:(e,t)=>`
|
|
144
|
+
`).length>8}}}let c=bt(Co,e=>{let t=[];return[...e].reverse().forEach(e=>{let n=new Date(e.created_at),r=new Date,i=new Date;i.setDate(r.getDate()-1);let a=n.toLocaleDateString(void 0,{month:`long`,day:`numeric`,year:`numeric`});n.toDateString()===r.toDateString()?a=`Today`:n.toDateString()===i.toDateString()&&(a=`Yesterday`);let o=t[t.length-1];o&&o.date===a?o.items.push(e):t.push({date:a,items:[e]})}),t});function l(e){return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function u(e){r(t=>{let n=new Set(t.expandedResponses);return n.has(e)?n.delete(e):n.add(e),{...t,expandedResponses:n}})}function d(e,t=`smooth`){e&&e.scrollTo({top:e.scrollHeight,behavior:t})}async function f(n,i){let a=P(t);if(!i||a.isLoadingMore||a.hasReachedStart)return;let o=P(Co),s=P(wo),c=P(To);if(i.scrollTop<50&&o.length<s){r(e=>({...e,isLoadingMore:!0}));let t=i.scrollHeight;await e(c+1,!0),i&&setTimeout(()=>{i.scrollTop=i.scrollHeight-t},0);let n=P(Co);r(e=>({...e,isLoadingMore:!1,hasReachedStart:n.length>=s}))}}return{subscribe:n,state:t,groupedActions:c,recentActions:Co,recentActionsPage:To,getConfig:a,getLabel:o,parseResponse:s,formatTime:l,renderMarkdown:$l,toggleExpand:u,scrollToBottom:d,handleScroll:f}}var Eb=K(`<h1> </h1>`),Db=K(`<h2> </h2>`),Ob=K(`<h3> </h3>`),kb=K(`<h4> </h4>`),Ab=K(`<h5> </h5>`),jb=K(`<h6> </h6>`),Mb=K(`<strong> </strong>`),Nb=K(`<em> </em>`),Pb=K(`<code class="svelte-d5v60e"> </code>`),Fb=K(`<a> </a>`),Ib=K(`<p class="svelte-d5v60e"></p>`),Lb=K(`<li></li>`),Rb=K(`<ol></ol>`),zb=K(`<li></li>`),Bb=K(`<ul></ul>`),Vb=K(`<pre class="svelte-d5v60e"><code class="svelte-d5v60e"> </code></pre>`),Hb=K(`<th class="svelte-d5v60e"> </th>`),Ub=K(`<td class="svelte-d5v60e"> </td>`),Wb=K(`<tr></tr>`),Gb=K(`<table class="svelte-d5v60e"><thead><tr></tr></thead><tbody></tbody></table>`),Kb=K(`<br/>`),qb=K(`<hr/>`),Jb=K(`<blockquote class="svelte-d5v60e"> </blockquote>`),Yb=K(`<div class="markdown-body svelte-d5v60e"></div>`);function Xb(e,t){rt(t,!1);let n=I(),r=Z(t,`content`,8,``);function i(e){return e.type===`link`}function a(e){return e.type===`strong`}function o(e){return e.type===`em`}function s(e){return e.type===`codespan`}function c(e){return e.type===`list`}function l(e){return e.type===`code`}function u(e){return e.type===`table`}ir(()=>W(r()),()=>{L(n,Cc.lexer(r()))}),ar(),Ua();var d=Yb();X(d,7,()=>H(n),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),d=e=>{var n=Ti(),r=z(n),i=e=>{var n=Eb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Db(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},o=e=>{var n=Ob(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},s=e=>{var n=kb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},c=e=>{var n=Ab(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=jb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).depth===1)?e(i):(H(t),U(()=>H(t).depth===2)?e(a,1):(H(t),U(()=>H(t).depth===3)?e(o,2):(H(t),U(()=>H(t).depth===4)?e(s,3):(H(t),U(()=>H(t).depth===5)?e(c,4):e(l,-1)))))}),q(e,n)},f=e=>{var n=Ib();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),c=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=Mb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},u=un(()=>(H(t),U(()=>a(H(t))))),d=e=>{var n=Nb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},f=un(()=>(H(t),U(()=>o(H(t))))),p=e=>{var n=Pb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},m=un(()=>(H(t),U(()=>s(H(t))))),h=e=>{var n=Fb(),r=R(n,!0);j(n),V(()=>{ka(n,`href`,(H(t),U(()=>H(t).href))),ka(n,`title`,(H(t),U(()=>H(t).title))),J(r,(H(t),U(()=>H(t).text)))}),q(e,n)},g=un(()=>(H(t),U(()=>i(H(t))))),_=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(c):H(u)?e(l,1):H(f)?e(d,2):H(m)?e(p,3):H(g)?e(h,4):e(_,-1)}),q(e,n)}),j(n),q(e,n)},p=e=>{var n=Ti(),r=z(n),i=e=>{var n=Rb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`ordered-${t}`,(e,t)=>{var n=Lb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),i=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),V(()=>ka(n,`start`,(H(t),U(()=>typeof H(t).start==`number`?H(t).start:void 0)))),q(e,n)},a=e=>{var n=Bb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`unordered-${t}`,(e,t)=>{var n=zb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ti(),r=z(n),i=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).ordered)?e(i):e(a,-1)}),q(e,n)},m=un(()=>(H(t),U(()=>c(H(t))))),h=e=>{var n=Vb(),r=R(n),i=R(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).text)))),q(e,n)},g=un(()=>(H(t),U(()=>l(H(t))))),_=e=>{var n=Gb(),r=R(n),i=R(r);X(i,7,()=>(H(t),U(()=>H(t).header)),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Hb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(i),j(r);var a=B(r);X(a,7,()=>(H(t),U(()=>H(t).rows)),(e,t)=>`row-${t}`,(e,t)=>{var n=Wb();X(n,7,()=>H(t),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Ub(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(n),q(e,n)}),j(a),j(n),q(e,n)},v=un(()=>(H(t),U(()=>u(H(t))))),y=e=>{q(e,Kb())},b=e=>{q(e,qb())},x=e=>{var n=Jb(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},S=e=>{var n=wi();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`heading`)?e(d):(H(t),U(()=>H(t).type===`paragraph`)?e(f,1):H(m)?e(p,2):H(g)?e(h,3):H(v)?e(_,4):(H(t),U(()=>H(t).type===`space`)?e(y,5):(H(t),U(()=>H(t).type===`hr`)?e(b,6):(H(t),U(()=>H(t).type===`blockquote`)?e(x,7):e(S,-1)))))}),q(e,n)}),j(d),q(e,d),it()}var Zb=K(`<div class="load-more-spinner svelte-h6z84x"><!> <span>Loading older history...</span></div>`),Qb=K(`<div style="text-align:center;padding:80px 20px;color:var(--color-text-muted);"><!> <div style="font-size:1rem;margin-top:16px;font-weight:600;">No activity found</div> <div style="font-size:0.875rem;opacity:0.7;">Events will appear here as they happen.</div></div>`),$b=K(`<div class="action-sub svelte-h6z84x"> </div>`),ex=K(`<button class="read-more-btn svelte-h6z84x"> </button>`),tx=K(`<div class="bubble-row bubble-row-left animate-slide-in-left svelte-h6z84x"><div class="chat-avatar mcp-avatar svelte-h6z84x"><!></div> <div class="bubble-wrap svelte-h6z84x"><div class="tail tail-left svelte-h6z84x"></div> <div class="chat-bubble chat-bubble-mcp svelte-h6z84x" style="--bubble-bg-light: #ffffff; --bubble-bg-dark: #202c33;"><div class="mcp-sender svelte-h6z84x">MCP Node</div> <div class="markdown-body"><!></div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span></div></div></div></div>`),nx=K(`<div class="bubble-row bubble-row-right animate-slide-in-right svelte-h6z84x"><div class="bubble-wrap svelte-h6z84x"><div class="chat-bubble chat-bubble-action svelte-h6z84x" style="--bubble-bg-light: #dcf8c6; --bubble-bg-dark: #056162;"><div class="action-badge svelte-h6z84x"><!> <span> </span></div> <div class="action-main svelte-h6z84x"> </div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span> <span class="bubble-status svelte-h6z84x"><!></span></div></div> <div class="tail tail-right svelte-h6z84x"></div></div> <div class="chat-avatar agent-avatar svelte-h6z84x"><!></div></div> <!>`,1),rx=K(`<div class="date-header svelte-h6z84x"><span class="svelte-h6z84x"> </span></div> <!>`,1),ix=K(`<div class="chat-container-viewport svelte-h6z84x"><div class="chat-container svelte-h6z84x"><!> <!></div></div>`);function ax(e,t){rt(t,!1);let n=()=>F(d,`$recentActionsPage`,o),r=()=>F(f,`$handlerState`,o),i=()=>F(u,`$recentActions`,o),a=()=>F(l,`$groupedActions`,o),[o,s]=Et(),c=Tb(Z(t,`onLoadPage`,8,async()=>{})()),{groupedActions:l,recentActions:u,recentActionsPage:d}=c,f=c,p=I(void 0),m;Xa(()=>{n()<=1&&!r().isLoadingMore&&i().length>0&&c.scrollToBottom(H(p),`instant`)}),Ka(()=>(Xr().then(()=>{c.scrollToBottom(H(p),`instant`),H(p)&&(m=e=>c.handleScroll(e,H(p)),H(p).addEventListener(`scroll`,m))}),()=>{H(p)&&m&&H(p).removeEventListener(`scroll`,m)})),Ua();var h=ix(),g=R(h),_=R(g),v=e=>{var t=Zb();Q(R(t),{name:`refresh-cw`,size:14,className:`animate-spin`}),M(2),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().isLoadingMore)&&e(v)});var y=B(_,2),b=e=>{var t=Qb();Q(R(t),{name:`activity`,size:48,strokeWidth:1}),M(4),j(t),q(e,t)},x=e=>{var t=Ti();X(z(t),3,a,(e,t)=>`${e.date}-${t}`,(e,t)=>{var n=rx(),i=z(n),a=R(i),o=R(a,!0);j(a),j(i),X(B(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=dn(()=>(H(t),U(()=>c.getLabel(H(t))))),i=dn(()=>(H(t),U(()=>c.getConfig(H(t).action))));var a=nx(),o=z(a),s=R(o),l=R(s),u=R(l),d=R(u);Q(d,{get name(){return W(H(i)),U(()=>H(i).icon)},size:10,strokeWidth:2.5});var f=B(d,2),p=R(f,!0);j(f),j(u);var m=B(u,2),h=R(m,!0);j(m);var g=B(m,2),_=e=>{var t=$b(),r=R(t,!0);j(t),V(()=>J(r,(W(H(n)),U(()=>H(n).sub)))),q(e,t)};Y(g,e=>{W(H(n)),U(()=>H(n).sub)&&e(_)});var v=B(g,2),y=R(v),b=R(y,!0);j(y);var x=B(y,2);Q(R(x),{name:`check`,size:12,strokeWidth:2}),j(x),j(v),j(l),M(2),j(s);var S=B(s,2);Q(R(S),{name:`bot`,size:14,strokeWidth:2}),j(S),j(o);var C=B(o,2),w=e=>{let n=dn(()=>(H(t),U(()=>c.parseResponse(H(t).response)))),i=dn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=tx(),o=R(a);Q(R(o),{name:`cpu`,size:14,strokeWidth:2}),j(o);var s=B(o,2),l=B(R(s),2),u=B(R(l),2);Xb(R(u),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(u);var d=B(u,2),f=e=>{var n=ex(),r=R(n,!0);j(n),V(()=>J(r,H(i)?`Show less`:`Read more`)),G(`click`,n,()=>c.toggleExpand(H(t).id)),q(e,n)};Y(d,e=>{W(H(n)),U(()=>H(n).isLong)&&e(f)});var p=B(d,2),m=R(p),h=R(m,!0);j(m),j(p),j(l),j(s),j(a),V(e=>{da(u,`font-size:0.82rem; ${(W(H(i)),W(H(n)),U(()=>!H(i)&&H(n).isLong?`max-height: 200px; overflow: hidden; mask-image: linear-gradient(to bottom, black 70%, transparent 100%);`:``))??``}`),J(h,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)};Y(C,e=>{H(t),U(()=>H(t).response)&&e(w)}),V(e=>{da(u,`color:${(W(H(i)),U(()=>H(i).color))??``};background:${(W(H(i)),U(()=>H(i).bgAlpha))??``};`),J(p,(W(H(i)),U(()=>H(i).label))),J(h,(W(H(n)),U(()=>H(n).main))),J(b,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)}),V(()=>J(o,(H(t),U(()=>H(t).date)))),q(e,n)}),q(e,t)};Y(y,e=>{i(),U(()=>i().length===0)?e(b):e(x,-1)}),j(g),j(h),Ba(h,e=>L(p,e),()=>H(p)),q(e,h),it(),s()}var ox={from_agent:``,to_agent:``,task_code:``,summary:``,context:``},sx={name:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``,parent_id:``};function cx(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function lx(e){try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)&&Object.keys(t).length>0?t:null}catch{return null}}function ux(e){return JSON.stringify(e,null,2)}function dx(e,t){function n(e){t(e?t=>({...t,standard:e,memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{name:e.title,context:e.context,version:e.version,language:e.language||``,stack:e.stack.join(`, `),tags:e.tags.join(`, `),metadata:ux(e.metadata),content:e.content,parent_id:e.parent_id||``},standardError:``}):e=>({...e,standard:{id:`__new__`,title:``,content:``,context:`general`,version:`1.0.0`,language:null,stack:[],tags:[],is_global:!0,repo:null,parent_id:null,metadata:{},created_at:``,updated_at:``,hit_count:0,last_used_at:null,agent:``,model:``},memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{...sx},standardError:``}))}function r(){t(e=>({...e,standardEditing:!0}))}function i(){let n=P({subscribe:e});n.standard&&t(e=>({...e,standardEditing:!1,standardForm:{name:n.standard.title,context:n.standard.context,version:n.standard.version,language:n.standard.language||``,stack:n.standard.stack.join(`, `),tags:n.standard.tags.join(`, `),metadata:ux(n.standard.metadata),content:n.standard.content,parent_id:n.standard.parent_id||``}}))}async function a(n,r,i){let a=P({subscribe:e}),o=a.standardForm,s=lx(o.metadata);if(!(!o.name.trim()||!o.content.trim()||cx(o.tags).length===0||!s)){t(e=>({...e,standardSaving:!0,standardError:``}));try{a.standard?(await Ro.updateStandard(a.standard.id,{title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||null,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:cx(o.stack),tags:cx(o.tags),metadata:s,repo:a.standard.repo||i,is_global:a.standard.is_global}),n({...a.standard,title:o.name.trim(),content:o.content.trim(),updated_at:new Date().toISOString()})):n(await Ro.createStandard({title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||void 0,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:cx(o.stack),tags:cx(o.tags),metadata:s,repo:i,is_global:!1})),r()}catch(e){t(t=>({...t,standardError:e instanceof Error?e.message:`Failed to save standard.`}))}finally{t(e=>({...e,standardSaving:!1}))}}}async function o(n,r){let i=P({subscribe:e});if(i.standard&&await Bo(`Delete coding standard "${i.standard.title}"?`)){t(e=>({...e,standardDeleting:!0}));try{await Ro.deleteStandard(i.standard.id),n(i.standard.id),r()}catch(e){Vo(`Error deleting standard: `+(e instanceof Error?e.message:String(e)))}finally{t(e=>({...e,standardDeleting:!1}))}}}async function s(e){await ru(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setStandard:n,startStandardEdit:r,cancelStandardEdit:i,saveStandard:a,deleteStandard:o,handleCopyStandardContent:s}}function fx(e,t){function n(e){t(e?t=>({...t,handoff:e,task:null,memory:null,standard:null,handoffForm:{from_agent:e.from_agent,to_agent:e.to_agent||``,task_code:e.task_code||``,summary:e.summary,context:JSON.stringify(e.context,null,2)},handoffError:``}):e=>({...e,handoff:null,handoffForm:{...ox},handoffError:``}))}function r(e){t(t=>({...t,handoff:{id:`__new__`,repo:e,from_agent:``,to_agent:null,task_id:null,summary:``,context:{},status:`pending`,created_at:``,updated_at:``,expires_at:null},task:null,memory:null,standard:null,handoffForm:{...ox},handoffError:``}))}function i(e){if(!e.trim())return{};let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`JSON must be an object.`);return t}async function a(n,r){let a=P({subscribe:e}).handoffForm;if(!(!a.from_agent.trim()||!a.summary.trim())){t(e=>({...e,handoffCreating:!0,handoffError:``}));try{await Ro.callTool(`handoff-create`,{repo:r,from_agent:a.from_agent.trim(),to_agent:a.to_agent.trim()||void 0,task_code:a.task_code.trim()||void 0,summary:a.summary.trim(),context:i(a.context),structured:!0}),n()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to create handoff.`}))}finally{t(e=>({...e,handoffCreating:!1}))}}}async function o(n,r){let i=P({subscribe:e});if(!(!i.handoff||i.handoff.id===`__new__`)){t(e=>({...e,handoffUpdating:!0,handoffError:``}));try{await Ro.callTool(`handoff-update`,{id:i.handoff.id,status:n,structured:!0}),r()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to update handoff.`}))}finally{t(e=>({...e,handoffUpdating:!1}))}}}async function s(e){await ru(JSON.stringify(e,null,2))&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setHandoff:n,initNewHandoff:r,createHandoff:a,updateHandoffStatus:o,handleCopyHandoffContext:s}}var px={backlog:[{next:`pending`,label:`Move to To Do`,color:`#0ea5e9`}],pending:[{next:`in_progress`,label:`Start Progress`,color:`#a855f7`}],in_progress:[{next:`completed`,label:`Mark Complete`,color:`#10b981`},{next:`blocked`,label:`Mark Blocked`,color:`#ef4444`}],blocked:[{next:`in_progress`,label:`Resume Progress`,color:`#a855f7`}],completed:[],canceled:[]};function mx(){let{subscribe:e,update:t}=N({memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,postingComment:!1,editingCommentId:null,editCommentText:``,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...sx},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...ox},handoffError:``}),n=dx(e,t),r=fx(e,t),i=bt({subscribe:e},e=>e.task?`task`:e.memory?`memory`:e.handoff?`handoff`:e.standard?`standard`:null);async function a(e){await ru(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}async function o(e){await ru(e)&&(t(e=>({...e,descCopied:!0})),setTimeout(()=>t(e=>({...e,descCopied:!1})),2e3))}async function s(n,r,i){let a=P({subscribe:e});if(a.task)try{let e=await Ro.updateTask(a.task.id,{[n]:r});t(t=>({...t,task:e})),i(e)}catch(e){throw console.error(`Failed to update task field ${String(n)}:`,e),e}}async function c(n){let r=P({subscribe:e}).editTitle.trim();r&&(await s(`title`,r,n),t(e=>({...e,editingTitle:!1})))}async function l(n){await s(`description`,P({subscribe:e}).editDescription,n),t(e=>({...e,editingDescription:!1}))}async function u(e,t){await s(`status`,e,t)}async function d(n){let r=P({subscribe:e});if(!(!r.task||!r.newComment.trim())){t(e=>({...e,postingComment:!0}));try{let e=await Ro.updateTask(r.task.id,{comment:r.newComment.trim()});t(t=>({...t,task:e,newComment:``})),n(e)}catch(e){console.error(`Failed to post comment:`,e)}finally{t(e=>({...e,postingComment:!1}))}}}async function f(n){let r=P({subscribe:e});if(!(!r.editingCommentId||!r.editCommentText.trim())){t(e=>({...e,savingComment:!0}));try{if(await Ro.updateTaskComment(r.editingCommentId,r.editCommentText.trim()),r.task){let e=await Ro.taskById(r.task.id);e&&(t(t=>({...t,task:e})),n(e))}t(e=>({...e,editingCommentId:null,editCommentText:``}))}catch(e){console.error(`Failed to update comment:`,e)}finally{t(e=>({...e,savingComment:!1}))}}}async function p(n,r){let i=P({subscribe:e});if(await Bo(`Delete this comment?`))try{if(await Ro.deleteTaskComment(n),i.task){let e=await Ro.taskById(i.task.id);e&&(t(t=>({...t,task:e})),r(e))}}catch(e){console.error(`Failed to delete comment:`,e)}}async function m(t,n){let r=P({subscribe:e});if(r.task&&await Bo(`Are you sure you want to delete this task?`))try{await Ro.deleteTask(r.task.id),t(r.task.id),n()}catch(e){Vo(`Error deleting task: `+(e instanceof Error?e.message:String(e)))}}return{subscribe:e,mode:i,setMemory:e=>t(t=>({...t,memory:e,task:null,standard:null,handoff:null})),setTask:e=>{t(e?t=>({...t,task:e,memory:null,standard:null,handoff:null,editTitle:e.title,editDescription:e.description||``,editingTitle:!1,editingDescription:!1,newComment:``,editingCommentId:null}):e=>({...e,task:null}))},toggleEditTitle:e=>t(t=>({...t,editingTitle:e})),toggleEditDescription:e=>t(t=>({...t,editingDescription:e})),setEditTitle:e=>t(t=>({...t,editTitle:e})),setEditDescription:e=>t(t=>({...t,editDescription:e})),setNewComment:e=>t(t=>({...t,newComment:e})),startEditComment:e=>t(t=>({...t,editingCommentId:e.id,editCommentText:e.comment})),cancelEditComment:()=>t(e=>({...e,editingCommentId:null,editCommentText:``})),setEditCommentText:e=>t(t=>({...t,editCommentText:e})),handleCopyContent:a,handleCopyDesc:o,saveTitle:c,saveDescription:l,advanceStatus:u,postComment:d,saveEditComment:f,deleteComment:p,deleteTask:m,handleCommentKeydown:(e,t)=>{e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&d(t)},reset:()=>{t(e=>({...e,memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,editingCommentId:null,editCommentText:``,postingComment:!1,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...sx},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...ox},handoffError:``}))},handleTitleKeydown:(e,n)=>{e.key===`Enter`&&c(n),e.key===`Escape`&&t(e=>({...e,editingTitle:!1}))},...n,...r}}var hx=K(`<div class="meta-cell svelte-118hqhr"><div class="meta-label svelte-118hqhr"> </div> <div class="meta-value svelte-118hqhr"> </div></div>`),gx=K(`<span class="tag-chip svelte-118hqhr"> </span>`),_x=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-118hqhr">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),vx=K(`<div style="margin-top:16px;"><div class="section-label svelte-118hqhr">Metadata</div> <pre class="json-pre svelte-118hqhr"> </pre></div>`),yx=K(`<div class="meta-grid svelte-118hqhr" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-118hqhr" style="display:flex; justify-content:space-between; align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-118hqhr"><!></div></div> <!>`,1);function bx(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8);Ua();var o=Ti(),s=z(o),c=e=>{var t=yx(),r=z(t);X(r,5,()=>(n(),W(ql),U(()=>[{label:`Importance`,val:n().memory?.importance||0},{label:`Hit Count`,val:n().memory?.hit_count??0},{label:`Created`,val:ql(n().memory?.created_at)},{label:`Updated`,val:ql(n().memory?.updated_at)}])),e=>e.label,(e,t)=>{var n=hx(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(r);var i=B(r,2),o=e=>{var t=_x(),r=B(R(t),2);X(r,7,()=>(n(),U(()=>n().memory.tags)),(e,t)=>`${e}-${t}`,(e,t)=>{var n=gx(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(i,e=>{n(),U(()=>n().memory.tags?.length)&&e(o)});var s=B(i,2),c=R(s),l=B(R(c),2),u=R(l);{let e=dn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(u,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(l),j(c);var d=B(c,2),f=R(d);{let e=dn(()=>(n(),U(()=>n().memory?.content||``)));Xb(f,{get content(){return H(e)}})}j(d),j(s);var p=B(s,2),m=e=>{var t=vx(),r=B(R(t),2),i=R(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().memory.metadata,null,2)))]),q(e,t)},h=un(()=>(n(),U(()=>n().memory.metadata&&Object.keys(n().memory.metadata).length>0)));Y(p,e=>{H(h)&&e(m)}),G(`click`,l,()=>a().handleCopyContent(n().memory?.content||``)),q(e,t)};Y(s,e=>{n(),U(()=>n().memory)&&e(c)}),q(e,o),it(),i()}var xx=K(`<button class="btn"> </button>`),Sx=K(`<div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"></div>`),Cx=K(`<button class="btn btn-ghost" style="color: #ef4444;"><!> Delete Task</button>`),wx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct"> </div> <div class="meta-value svelte-1ewh6ct"> </div></div>`),Tx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Active Claim</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> <!></div></div>`),Ex=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Pending Handoff</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> </div></div>`),Dx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Coordination</div> <div class="meta-grid svelte-1ewh6ct"><!> <!></div></div>`),Ox=K(`<button class="btn btn-ghost" style="padding:1px 6px;font-size:0.68rem;border-radius:4px;">Edit</button>`),kx=K(`<textarea class="form-textarea" rows="8" style="font-size:0.82rem;font-family:'JetBrains Mono',monospace;"></textarea> <div style="display:flex;gap:6px;margin-top:6px;"><button class="btn btn-accent" style="font-size:0.78rem;">Save</button> <button class="btn btn-ghost" style="font-size:0.78rem;">Cancel</button></div>`,1),Ax=K(`<div class="markdown-body md-card svelte-1ewh6ct"><!></div>`),jx=K(`<div style="color:var(--color-text-muted);font-size:0.82rem;font-style:italic;">No description yet. Click Edit to add one.</div>`),Mx=K(`<span style="font-size:0.65rem;color:var(--color-text-muted);"> </span>`),Nx=K(`<button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;" title="Edit comment">✏️</button> <button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;color:#ef4444;" title="Delete comment">🗑</button>`,1),Px=K(`<textarea class="form-textarea" rows="3" style="font-size:0.8rem;margin-bottom:6px;"></textarea> <div style="display:flex;gap:6px;"><button class="btn btn-accent" style="font-size:0.75rem;"> </button> <button class="btn btn-ghost" style="font-size:0.75rem;">Cancel</button></div>`,1),Fx=K(`<div class="markdown-body" style="font-size:0.78rem;color:var(--color-text);line-height:1.5;"><!></div>`),Ix=K(`<div class="comment-card svelte-1ewh6ct"><div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;"><div style="display:flex;align-items:center;gap:6px;"><div class="comment-avatar svelte-1ewh6ct"> </div> <span style="font-size:0.72rem;font-weight:600;color:var(--color-text);"> </span> <!></div> <div style="display:flex;align-items:center;gap:8px;"><span style="font-size:0.65rem;color:var(--color-text-muted);"> </span> <!></div></div> <!></div>`),Lx=K(`<div style="display:flex;flex-direction:column;gap:8px;margin-bottom:12px;"></div>`),Rx=K(`<!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Status</div> <div style="display:flex; justify-content:space-between; align-items:center;"><span style="font-size:0.85rem; padding: 4px 10px;"> </span> <!></div></div> <div class="meta-grid svelte-1ewh6ct" style="margin-bottom:16px;"></div> <!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct" style="display:flex;align-items:center;gap:6px;width:100%;"><span style="flex:1;">Description</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent; margin-right:4px;"><!></button> <!></div> <!></div> <div><div class="section-label svelte-1ewh6ct"> </div> <div class="comment-compose svelte-1ewh6ct" style="margin-bottom:16px;"><textarea class="form-textarea" placeholder="Add a comment or status note…" rows="2" style="font-size:0.82rem;resize:vertical;"></textarea> <div style="display:flex;justify-content:space-between;align-items:center;margin-top:6px;"><span style="font-size:0.65rem;color:var(--color-text-muted);">Ctrl+Enter to submit</span> <button class="btn btn-accent" style="font-size:0.78rem;"> </button></div></div> <!></div>`,1);function zx(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onTaskUpdated`,8),c=Z(t,`onTaskDeleted`,8);Ua();var l=Ti(),u=z(l),d=e=>{var t=Rx(),r=z(t),i=e=>{var t=Sx();X(t,5,()=>(W(px),n(),U(()=>px[n().task.status])),e=>e.next,(e,t)=>{var n=xx(),r=R(n,!0);j(n),V(()=>{da(n,`background:${(H(t),U(()=>H(t).color))??``};color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;`),J(r,(H(t),U(()=>H(t).label)))}),G(`click`,n,()=>a().advanceStatus(H(t).next,s())),q(e,n)}),j(t),q(e,t)};Y(r,e=>{W(px),n(),U(()=>px[n().task.status]?.length)&&e(i)});var l=B(r,2),u=B(R(l),2),d=R(u),f=R(d,!0);j(d);var p=B(d,2),m=e=>{var t=Cx();Q(R(t),{name:`trash`,size:16}),M(),j(t),G(`click`,t,()=>a().deleteTask(c(),o())),q(e,t)};Y(p,e=>{n(),U(()=>n().task?.status!==`completed`)&&e(m)}),j(u),j(l);var h=B(l,2);X(h,5,()=>(W(Ql),n(),W(ql),U(()=>[{label:`Priority`,val:Ql(n().task?.priority||1)},{label:`Phase`,val:n().task?.phase||`—`},{label:`Agent`,val:n().task?.agent||`—`},{label:`Updated`,val:ql(n().task?.updated_at)},{label:`Parent`,val:n().task?.parent_code||`—`},{label:`Depends On`,val:n().task?.depends_on_code||`—`}])),e=>e.label,(e,t)=>{var n=wx(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(h);var g=B(h,2),_=e=>{var t=Dx(),r=B(R(t),2),i=R(r),a=e=>{var t=Tx(),r=B(R(t),2),i=R(r,!0);j(r);var a=B(r,2),o=R(a),s=B(o),c=e=>{var t=wi();V(e=>J(t,`• ${e??``}`),[()=>(W(ql),n(),U(()=>ql(n().task.coordination.active_claim_claimed_at)))]),q(e,t)};Y(s,e=>{n(),U(()=>n().task.coordination.active_claim_claimed_at)&&e(c)}),j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.active_claim_agent||`claimed`))),J(o,`${(n(),U(()=>n().task.coordination.active_claim_role||`worker`))??``} `)}),q(e,t)};Y(i,e=>{n(),U(()=>(n().task.coordination.active_claim_count||0)>0)&&e(a)});var o=B(i,2),s=e=>{var t=Ex(),r=B(R(t),2),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.pending_handoff_to_agent||`unassigned`))),J(o,(n(),U(()=>n().task.coordination.pending_handoff_summary||`Transfer waiting`)))}),q(e,t)};Y(o,e=>{n(),U(()=>(n().task.coordination.pending_handoff_count||0)>0)&&e(s)}),j(r),j(t),q(e,t)};Y(g,e=>{n(),U(()=>n().task.coordination&&((n().task.coordination.active_claim_count||0)>0||(n().task.coordination.pending_handoff_count||0)>0))&&e(_)});var v=B(g,2),y=R(v),b=B(R(y),2),x=R(b);{let e=dn(()=>(n(),U(()=>n().descCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().descCopied?`text-success`:``)));Q(x,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(b);var S=B(b,2),C=e=>{var t=Ox();G(`click`,t,()=>a().toggleEditDescription(!0)),q(e,t)};Y(S,e=>{n(),U(()=>!n().editingDescription)&&e(C)}),j(y);var w=B(y,2),T=e=>{var t=kx(),r=z(t);Un(r);var i=B(r,2),o=R(i),c=B(o,2);j(i),Fa(r,()=>n().editDescription,e=>Ot(a(),U(n).editDescription=e,U(n))),G(`click`,o,()=>a().saveDescription(s())),G(`click`,c,()=>a().toggleEditDescription(!1)),q(e,t)},E=e=>{var t=Ax(),r=R(t);{let e=dn(()=>(n(),U(()=>n().task.description||``)));Xb(r,{get content(){return H(e)}})}j(t),q(e,t)},D=e=>{q(e,jx())};Y(w,e=>{n(),U(()=>n().editingDescription)?e(T):(n(),U(()=>n().task?.description)?e(E,1):e(D,-1))}),j(v);var O=B(v,2),k=R(O),ee=R(k);j(k);var te=B(k,2),ne=R(te);Un(ne);var re=B(ne,2),ie=B(R(re),2),A=R(ie,!0);j(ie),j(re),j(te);var ae=B(te,2),oe=e=>{var t=Lx();X(t,5,()=>(n(),U(()=>n().task.comments)),e=>e.id,(e,t)=>{var r=Ix(),i=R(r),o=R(i),c=R(o),l=R(c,!0);j(c);var u=B(c,2),d=R(u,!0);j(u);var f=B(u,2),p=e=>{var n=Mx(),r=R(n);j(n),V((e,t)=>J(r,`${e??``} → ${t??``}`),[()=>(W(Zl),H(t),U(()=>Zl(H(t).previous_status))),()=>(W(Zl),H(t),U(()=>Zl(H(t).next_status)))]),q(e,n)};Y(f,e=>{H(t),U(()=>H(t).previous_status&&H(t).next_status)&&e(p)}),j(o);var m=B(o,2),h=R(m),g=R(h,!0);j(h);var _=B(h,2),v=e=>{var n=Nx(),r=z(n),i=B(r,2);G(`click`,r,()=>a().startEditComment(H(t))),G(`click`,i,()=>a().deleteComment(H(t).id,s())),q(e,n)};Y(_,e=>{H(t),U(()=>H(t).id)&&e(v)}),j(m),j(i);var y=B(i,2),b=e=>{var t=Px(),r=z(t);Un(r);var i=B(r,2),o=R(i),c=R(o,!0);j(o);var l=B(o,2);j(i),V(()=>{o.disabled=(n(),U(()=>n().savingComment)),J(c,(n(),U(()=>n().savingComment?`Saving…`:`Save`)))}),Fa(r,()=>n().editCommentText,e=>Ot(a(),U(n).editCommentText=e,U(n))),G(`click`,o,()=>a().saveEditComment(s())),G(`click`,l,function(...e){a().cancelEditComment?.apply(this,e)}),q(e,t)},x=e=>{var n=Fx();Xb(R(n),{get content(){return H(t),U(()=>H(t).comment)}}),j(n),q(e,n)};Y(y,e=>{n(),H(t),U(()=>n().editingCommentId===H(t).id)?e(b):e(x,-1)}),j(r),V((e,n)=>{J(l,e),J(d,(H(t),U(()=>H(t).agent||`Unknown`))),J(g,n)},[()=>(H(t),U(()=>(H(t).agent||`U`).charAt(0).toUpperCase())),()=>(W(ql),H(t),U(()=>ql(H(t).created_at)))]),q(e,r)}),j(t),q(e,t)};Y(ae,e=>{n(),U(()=>n().task?.comments?.length)&&e(oe)}),j(O),V((e,t,r)=>{la(d,1,`status-chip ${e??``}`,`svelte-1ewh6ct`),J(f,t),J(ee,`Activity (${(n(),U(()=>n().task?.comments?.length??0))??``})`),Ea(ne,(n(),U(()=>n().newComment))),ie.disabled=r,J(A,(n(),U(()=>n().postingComment?`Posting…`:`Post Comment`)))},[()=>(W(Xl),n(),U(()=>Xl(n().task?.status||`pending`))),()=>(W(Zl),n(),U(()=>Zl(n().task?.status||``))),()=>(n(),U(()=>n().postingComment||!n().newComment.trim()))]),G(`click`,b,()=>a().handleCopyDesc(n().task?.description||``)),G(`input`,ne,e=>a().setNewComment(e.currentTarget.value)),G(`keydown`,ne,e=>a().handleCommentKeydown(e,s())),G(`click`,ie,()=>a().postComment(s())),q(e,t)};Y(u,e=>{n(),U(()=>n().task)&&e(d)}),q(e,l),it(),i()}var Bx=K(`<div class="error-box"> </div>`),Vx=K(`<div class="section-label svelte-1arg7l8" style="margin-bottom:12px;">New Handoff</div> <!> <div class="std-form-grid svelte-1arg7l8"><label><span class="std-field-label svelte-1arg7l8">From agent *</span> <input class="form-input" placeholder="agent-a"/></label> <label><span class="std-field-label svelte-1arg7l8">To agent</span> <input class="form-input" placeholder="recipient agent (optional)"/></label> <label><span class="std-field-label svelte-1arg7l8">Task code</span> <input class="form-input" placeholder="TASK-123"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Summary *</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;" placeholder="What should the next agent know?"></textarea></label> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Context JSON</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;"></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Hx=K(`<div class="error-box"> </div>`),Ux=K(`<div class="meta-cell svelte-1arg7l8"><div class="meta-label svelte-1arg7l8"> </div> <div class="meta-value svelte-1arg7l8"> </div></div>`),Wx=K(`<div><div class="section-label svelte-1arg7l8" style="display:flex;justify-content:space-between;align-items:center;"><span>Transfer Context</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <pre class="json-pre svelte-1arg7l8"> </pre></div>`),Gx=K(`<!> <div class="drawer-title svelte-1arg7l8" style="margin-bottom:14px;"> </div> <div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"><button class="btn" style="background:#10b981;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Accept</button> <button class="btn" style="background:#ef4444;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Reject</button> <button class="btn" style="background:#64748b;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Mark Expired</button></div> <div style="margin-bottom:16px;"><div class="section-label svelte-1arg7l8">Status</div> <span style="font-size:0.85rem;padding:4px 10px;display:inline-block;"> </span></div> <div class="meta-grid svelte-1arg7l8" style="margin-bottom:16px;"></div> <!>`,1);function Kx(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onHandoffCreated`,8),c=Z(t,`onHandoffUpdated`,8),l=Z(t,`repo`,8);Ua();var u=Ti(),d=z(u),f=e=>{var t=Vx(),r=B(z(t),2),i=e=>{var t=Bx(),r=R(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var c=B(r,2),u=R(c),d=B(R(u),2);Ta(d),j(u);var f=B(u,2),p=B(R(f),2);Ta(p),j(f);var m=B(f,2),h=B(R(m),2);Ta(h),j(m),j(c);var g=B(c,2),_=B(R(g),2);Un(_),j(g);var v=B(g,2),y=B(R(v),2);Un(y),ka(y,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(v);var b=B(v,2),x=R(b),S=R(x);Q(S,{name:`git-branch`,size:14,strokeWidth:2});var C=B(S);j(x);var w=B(x,2);j(b),V(e=>{x.disabled=e,J(C,` ${(n(),U(()=>n().handoffCreating?`Creating...`:`Create Handoff`))??``}`),w.disabled=(n(),U(()=>n().handoffCreating))},[()=>(n(),U(()=>n().handoffCreating||!n().handoffForm.from_agent.trim()||!n().handoffForm.summary.trim()))]),Fa(d,()=>n().handoffForm.from_agent,e=>Ot(a(),U(n).handoffForm.from_agent=e,U(n))),Fa(p,()=>n().handoffForm.to_agent,e=>Ot(a(),U(n).handoffForm.to_agent=e,U(n))),Fa(h,()=>n().handoffForm.task_code,e=>Ot(a(),U(n).handoffForm.task_code=e,U(n))),Fa(_,()=>n().handoffForm.summary,e=>Ot(a(),U(n).handoffForm.summary=e,U(n))),Fa(y,()=>n().handoffForm.context,e=>Ot(a(),U(n).handoffForm.context=e,U(n))),G(`click`,x,()=>a().createHandoff(s(),l())),G(`click`,w,function(...e){o()?.apply(this,e)}),q(e,t)},p=e=>{var t=Gx(),r=z(t),i=e=>{var t=Hx(),r=R(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var o=B(r,2),s=R(o,!0);j(o);var l=B(o,2),u=R(l),d=B(u,2),f=B(d,2);j(l);var p=B(l,2),m=B(R(p),2);let h;var g=R(m,!0);j(m),j(p);var _=B(p,2);X(_,5,()=>(n(),W(ql),U(()=>[{label:`From`,val:n().handoff.from_agent},{label:`To`,val:n().handoff.to_agent||`unassigned`},{label:`Task`,val:n().handoff.task_code||n().handoff.task_id||`—`},{label:`Created`,val:ql(n().handoff.created_at)},{label:`Updated`,val:ql(n().handoff.updated_at)},{label:`Expires`,val:n().handoff.expires_at?ql(n().handoff.expires_at):`—`}])),e=>e.label,(e,t)=>{var n=Ux(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(_);var v=B(_,2),y=e=>{var t=Wx(),r=R(t),i=B(R(r),2),o=R(i);{let e=dn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(o,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(i),j(r);var s=B(r,2),c=R(s,!0);j(s),j(t),V(e=>J(c,e),[()=>(n(),U(()=>JSON.stringify(n().handoff.context,null,2)))]),G(`click`,i,()=>a().handleCopyHandoffContext(n().handoff?.context||{})),q(e,t)},b=un(()=>(n(),U(()=>n().handoff.context&&Object.keys(n().handoff.context).length>0)));Y(v,e=>{H(b)&&e(y)}),V(e=>{J(s,(n(),U(()=>n().handoff.summary))),u.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),d.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),f.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status===`expired`||n().handoff.status===`accepted`)),h=la(m,1,`status-chip`,null,h,{"status-pending":n().handoff.status===`pending`,"status-accepted":n().handoff.status===`accepted`,"status-rejected":n().handoff.status===`rejected`,"status-expired":n().handoff.status===`expired`}),J(g,e)},[()=>(n(),U(()=>n().handoff.status.toUpperCase()))]),G(`click`,u,()=>a().updateHandoffStatus(`accepted`,c())),G(`click`,d,()=>a().updateHandoffStatus(`rejected`,c())),G(`click`,f,()=>a().updateHandoffStatus(`expired`,c())),q(e,t)};Y(d,e=>{n(),U(()=>n().handoff&&n().handoff.id===`__new__`)?e(f):(n(),U(()=>n().handoff)&&e(p,1))}),q(e,u),it(),i()}var qx=K(`<div style="border:1px solid #fecaca;background:#fef2f2;color:#dc2626;border-radius:8px;padding:10px 12px;font-size:0.82rem;font-weight:700;margin-bottom:12px;"> </div>`),Jx=K(`<div class="section-label svelte-1p5f4l" style="margin-bottom:12px;"> </div> <div class="std-form-grid svelte-1p5f4l"><label><span class="std-field-label svelte-1p5f4l">Name *</span> <input class="form-input" placeholder="Error handling standard"/></label> <label><span class="std-field-label svelte-1p5f4l">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label><span class="std-field-label svelte-1p5f4l">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label><span class="std-field-label svelte-1p5f4l">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label><span class="std-field-label svelte-1p5f4l">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label><span class="std-field-label svelte-1p5f4l">Tags *</span> <input class="form-input" placeholder="frontend, linting"/></label> <label><span class="std-field-label svelte-1p5f4l">Parent ID</span> <input class="form-input" placeholder="Optional parent UUID"/></label> <label><span class="std-field-label svelte-1p5f4l">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata (e.g., source:dashboard)"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1p5f4l">Content *</span> <textarea class="form-textarea" style="min-height:120px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Yx=K(`<span class="std-badge std-badge-parent svelte-1p5f4l"> </span>`),Xx=K(`<div class="meta-cell svelte-1p5f4l"><div class="meta-label svelte-1p5f4l"> </div> <div class="meta-value svelte-1p5f4l"> </div></div>`),Zx=K(`<span class="tag-chip svelte-1p5f4l"> </span>`),Qx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1p5f4l">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),$x=K(`<div style="margin-top:16px;"><div class="section-label svelte-1p5f4l">Metadata</div> <pre class="json-pre svelte-1p5f4l"> </pre></div>`),eS=K(`<div class="detail-header-row svelte-1p5f4l"><div style="flex:1;min-width:0;"><div class="drawer-title svelte-1p5f4l"> </div> <div class="std-meta-row svelte-1p5f4l" style="margin-top:6px;"><span class="std-badge std-badge-context svelte-1p5f4l"> </span> <span class="std-badge std-badge-version svelte-1p5f4l"> </span> <span> </span> <!></div></div> <div style="display:flex;align-items:center;gap:6px;flex-shrink:0;"><button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm" style="color:#ef4444;"><!> </button></div></div> <div class="meta-grid svelte-1p5f4l" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-1p5f4l" style="display:flex;justify-content:space-between;align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-1p5f4l"><!></div></div> <!>`,1),tS=K(`<!> <!>`,1);function nS(e,t){rt(t,!1);let n=()=>F(a(),`$handler`,r),[r,i]=Et(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onStandardUpdated`,8),c=Z(t,`onStandardDeleted`,8),l=Z(t,`repo`,8);Ua();var u=tS(),d=z(u),f=e=>{var t=qx(),r=R(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().standardError)))),q(e,t)};Y(d,e=>{n(),U(()=>n().standardError)&&e(f)});var p=B(d,2),m=e=>{var t=Jx(),r=z(t),i=R(r,!0);j(r);var c=B(r,2),u=R(c),d=B(R(u),2);Ta(d),j(u);var f=B(u,2),p=B(R(f),2);Ta(p),j(f);var m=B(f,2),h=B(R(m),2);Ta(h),j(m);var g=B(m,2),_=B(R(g),2);Ta(_),j(g);var v=B(g,2),y=B(R(v),2);Ta(y),j(v);var b=B(v,2),x=B(R(b),2);Ta(x),j(b);var S=B(b,2),C=B(R(S),2);Ta(C),j(S);var w=B(S,2),T=B(R(w),2);Ta(T),j(w),j(c);var E=B(c,2),D=B(R(E),2);Un(D),j(E);var O=B(E,2),k=R(O),ee=R(k);Q(ee,{name:`check`,size:14,strokeWidth:2});var te=B(ee);j(k);var ne=B(k,2);j(O),V(e=>{J(i,(n(),U(()=>n().standard?`Edit Standard`:`New Standard`))),k.disabled=e,J(te,` ${(n(),U(()=>n().standardSaving?`Saving...`:n().standard?`Save Changes`:`Create Standard`))??``}`),ne.disabled=(n(),U(()=>n().standardSaving))},[()=>(n(),U(()=>n().standardSaving||!n().standardForm.name.trim()||!n().standardForm.content.trim()))]),Fa(d,()=>n().standardForm.name,e=>Ot(a(),U(n).standardForm.name=e,U(n))),Fa(p,()=>n().standardForm.context,e=>Ot(a(),U(n).standardForm.context=e,U(n))),Fa(h,()=>n().standardForm.version,e=>Ot(a(),U(n).standardForm.version=e,U(n))),Fa(_,()=>n().standardForm.language,e=>Ot(a(),U(n).standardForm.language=e,U(n))),Fa(y,()=>n().standardForm.stack,e=>Ot(a(),U(n).standardForm.stack=e,U(n))),Fa(x,()=>n().standardForm.tags,e=>Ot(a(),U(n).standardForm.tags=e,U(n))),Fa(C,()=>n().standardForm.parent_id,e=>Ot(a(),U(n).standardForm.parent_id=e,U(n))),Fa(T,()=>n().standardForm.metadata,e=>Ot(a(),U(n).standardForm.metadata=e,U(n))),Fa(D,()=>n().standardForm.content,e=>Ot(a(),U(n).standardForm.content=e,U(n))),G(`click`,k,()=>a().saveStandard(s(),o(),l())),G(`click`,ne,function(...e){a().cancelStandardEdit?.apply(this,e)}),q(e,t)},h=e=>{var t=eS(),r=z(t),i=R(r),s=R(i),l=R(s,!0);j(s);var u=B(s,2),d=R(u),f=R(d,!0);j(d);var p=B(d,2),m=R(p);j(p);var h=B(p,2);let g;var _=R(h,!0);j(h);var v=B(h,2),y=e=>{var t=Yx(),r=R(t);j(t),V(()=>J(r,`child of ${(n(),U(()=>n().standard.parent_id))??``}`)),q(e,t)};Y(v,e=>{n(),U(()=>n().standard.parent_id)&&e(y)}),j(u),j(i);var b=B(i,2),x=R(b);Q(R(x),{name:`edit`,size:13,strokeWidth:2}),M(),j(x);var S=B(x,2),C=R(S);Q(C,{name:`trash`,size:13,strokeWidth:2});var w=B(C);j(S),j(b),j(r);var T=B(r,2);X(T,5,()=>(n(),W(ql),U(()=>[{label:`Language`,val:n().standard.language||`any`},{label:`Stack`,val:n().standard.stack.length?n().standard.stack.join(`, `):`—`},{label:`Created`,val:ql(n().standard.created_at)},{label:`Updated`,val:ql(n().standard.updated_at)}])),e=>e.label,(e,t)=>{var n=Xx(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(T);var E=B(T,2),D=e=>{var t=Qx(),r=B(R(t),2);X(r,7,()=>(n(),U(()=>n().standard.tags)),(e,t)=>`${e}-${t}`,(e,t)=>{var n=Zx(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(E,e=>{n(),U(()=>n().standard.tags?.length)&&e(D)});var O=B(E,2),k=R(O),ee=B(R(k),2),te=R(ee);{let e=dn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=dn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(te,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(ee),j(k);var ne=B(k,2),re=R(ne);{let e=dn(()=>(n(),U(()=>n().standard?.content||``)));Xb(re,{get content(){return H(e)}})}j(ne),j(O);var ie=B(O,2),A=e=>{var t=$x(),r=B(R(t),2),i=R(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().standard.metadata,null,2)))]),q(e,t)},ae=un(()=>(n(),U(()=>n().standard.metadata&&Object.keys(n().standard.metadata).length>0)));Y(ie,e=>{H(ae)&&e(A)}),V(()=>{J(l,(n(),U(()=>n().standard.title))),J(f,(n(),U(()=>n().standard.context))),J(m,`v${(n(),U(()=>n().standard.version))??``}`),g=la(h,1,`std-badge svelte-1p5f4l`,null,g,{"std-badge-global":n().standard.is_global,"std-badge-repo":!n().standard.is_global}),J(_,(n(),U(()=>n().standard.is_global?`Global`:`Repo`))),S.disabled=(n(),U(()=>n().standardDeleting)),J(w,` ${(n(),U(()=>n().standardDeleting?`Deleting...`:`Delete`))??``}`)}),G(`click`,x,function(...e){a().startStandardEdit?.apply(this,e)}),G(`click`,S,()=>a().deleteStandard(c(),o())),G(`click`,ee,()=>a().handleCopyStandardContent(n().standard?.content||``)),q(e,t)};Y(p,e=>{n(),U(()=>n().standardEditing)?e(m):(n(),U(()=>n().standard)&&e(h,1))}),q(e,u),it(),i()}var rS=K(`<div><span style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-9n99wb"> </div></div>`),iS=K(`<div style="display:flex;gap:6px;align-items:center;"><input class="form-input" style="font-size:0.95rem;font-weight:700;flex:1;"/> <button class="btn btn-accent" style="padding:4px 10px;font-size:0.75rem;">Save</button> <button class="btn btn-ghost" style="padding:4px 10px;font-size:0.75rem;">✕</button></div>`),aS=K(`<button class="drawer-title editable-title svelte-9n99wb" title="Click to edit title" style="text-align:left;background:none;border:none;padding:0;width:100%;cursor:pointer;"> <span class="edit-hint svelte-9n99wb">✏️</span></button>`),oS=K(`<div style="flex:1;min-width:0;"><div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;"><span> </span> <span style="font-size:0.7rem;font-weight:700;color:var(--color-text-muted);"> </span></div> <!></div>`),sS=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1"><div class="drawer-header svelte-9n99wb"><!> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><!></button></div> <div class="drawer-body svelte-9n99wb"><!> <!> <!> <!></div></div>`,1);function cS(e,t){rt(t,!1);let n=()=>F(x,`$handlerMode`,i),r=()=>F(b,`$handler`,i),[i,a]=Et(),o=Z(t,`memory`,8,null),s=Z(t,`task`,8,null),c=Z(t,`standard`,8,null),l=Z(t,`handoff`,8,null),u=Z(t,`open`,8,!1),d=Z(t,`onClose`,8,()=>{}),f=Z(t,`onTaskUpdated`,8,()=>{}),p=Z(t,`onTaskDeleted`,8,()=>{}),m=Z(t,`onStandardUpdated`,8,()=>{}),h=Z(t,`onStandardDeleted`,8,()=>{}),g=Z(t,`onHandoffUpdated`,8,()=>{}),_=Z(t,`onHandoffCreated`,8,()=>{}),v=Z(t,`repo`,8,null),y=Z(t,`drawerMode`,8,`memory`),b=mx(),x=b.mode;function S(e){e.key===`Escape`&&d()()}ir(()=>(W(u()),W(y()),W(o()),W(s()),W(c()),W(l()),W(v())),()=>{u()?y()===`memory`&&o()?b.setMemory(o()):y()===`task`&&s()?b.setTask(s()):y()===`standard`?b.setStandard(c()):y()===`handoff`&&l()?b.setHandoff(l()):y()===`new-handoff`&&b.initNewHandoff(v()||``):b.reset()}),ar(),Ua();var C=Ti(),w=z(C),T=e=>{var i=sS(),a=z(i),o=B(a,2),s=R(o),c=R(s),l=e=>{var t=rS(),n=R(t),i=R(n,!0);j(n);var a=B(n,2),o=R(a,!0);j(a),j(t),V(()=>{la(n,1,`type-chip type-${(r(),U(()=>r().memory.type))??``}`,`svelte-9n99wb`),J(i,(r(),U(()=>r().memory.type))),J(o,(r(),U(()=>r().memory.title||`Untitled Memory`)))}),q(e,t)},u=e=>{var t=oS(),n=R(t),i=R(n),a=R(i,!0);j(i);var o=B(i,2),s=R(o,!0);j(o),j(n);var c=B(n,2),l=e=>{var t=iS(),n=R(t);Ta(n);var i=B(n,2),a=B(i,2);j(t),Fa(n,()=>r().editTitle,e=>Ot(b,U(r).editTitle=e,U(r))),G(`keydown`,n,e=>b.handleTitleKeydown(e,f())),G(`click`,i,()=>b.saveTitle(f())),G(`click`,a,()=>b.toggleEditTitle(!1)),q(e,t)},u=e=>{var t=aS(),n=R(t);M(),j(t),V(()=>J(n,`${(r(),U(()=>r().task?.title??``))??``} `)),G(`click`,t,()=>b.toggleEditTitle(!0)),q(e,t)};Y(c,e=>{r(),U(()=>r().editingTitle)?e(l):e(u,-1)}),j(t),V((e,t)=>{la(i,1,`status-chip ${e??``}`,`svelte-9n99wb`),J(a,t),J(s,(r(),U(()=>r().task.task_code||`NEW-TASK`)))},[()=>(W(Xl),r(),U(()=>Xl(r().task.status||`pending`))),()=>(W(Zl),r(),U(()=>Zl(r().task.status||``)))]),q(e,t)};Y(c,e=>{n(),r(),U(()=>n()===`memory`&&r().memory)?e(l):(n(),r(),U(()=>n()===`task`&&r().task)&&e(u,1))});var y=B(c,2);Q(R(y),{name:`x`,size:24}),j(y),j(s);var x=B(s,2),C=R(x),w=e=>{bx(e,{get handler(){return b}})};Y(C,e=>{n(),r(),U(()=>n()===`memory`&&r().memory)&&e(w)});var T=B(C,2),E=e=>{zx(e,{get handler(){return b},get onClose(){return d()},get onTaskUpdated(){return f()},get onTaskDeleted(){return p()}})};Y(T,e=>{n(),r(),U(()=>n()===`task`&&r().task)&&e(E)});var D=B(T,2),O=e=>{{let t=dn(()=>v()||``);Kx(e,{get handler(){return b},get onClose(){return d()},get onHandoffCreated(){return _()},get onHandoffUpdated(){return g()},get repo(){return H(t)}})}};Y(D,e=>{n()===`handoff`&&e(O)});var k=B(D,2),ee=e=>{nS(e,{get handler(){return b},get onClose(){return d()},get onStandardUpdated(){return m()},get onStandardDeleted(){return h()},get repo(){return v()}})};Y(k,e=>{n()===`standard`&&e(ee)}),j(x),j(o),G(`click`,a,function(...e){d()?.apply(this,e)}),G(`keydown`,a,S),G(`click`,y,function(...e){d()?.apply(this,e)}),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`keydown`,o,S),q(e,i)};Y(w,e=>{u()&&n()&&e(T)}),q(e,C),it(),a()}function lS(){let e=N({item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}),{subscribe:t,update:n}=e,r=bt(e,e=>e.item?.type?e.item.type.charAt(0).toUpperCase()+e.item.type.slice(1):``);function i(t,r){P(e).item!==t&&n(e=>{let n={};return t&&t.type===`tool`&&t.data?.inputSchema?.properties?.repo&&r&&(n.repo=r),{...e,item:t,toolArgs:n,toolResult:null,toolError:null,toolRunning:!1}})}function a(e,t){n(n=>({...n,toolArgs:{...n.toolArgs,[e]:t}}))}async function o(){let t=P(e),r=t.item;if(!(!r||r.type!==`tool`)){n(e=>({...e,toolRunning:!0,toolResult:null,toolError:null}));try{let e={};if(r.data.inputSchema?.properties){for(let[n,r]of Object.entries(t.toolArgs))if(!(r===void 0||r===``))try{e[n]=JSON.parse(r)}catch{e[n]=r}}let i=await Ro.callTool(r.data.name,e);n(e=>({...e,toolResult:JSON.stringify(i,null,2)}))}catch(e){let t=e instanceof Error?e.message:String(e);n(e=>({...e,toolError:t}))}finally{n(e=>({...e,toolRunning:!1}))}}}async function s(e){await ru(e)&&(n(e=>({...e,copied:!0})),setTimeout(()=>n(e=>({...e,copied:!1})),2e3))}function c(e,t){e.target===e.currentTarget&&t()}function l(e){e.stopPropagation()}function u(){n(e=>({...e,item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}))}return{subscribe:t,typeLabel:r,setItem:i,setToolArg:a,runTool:o,copyToClipboardWrapper:s,handleOverlayClick:c,handlePanelClick:l,reset:u}}var uS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Description</div> <div class="markdown-body md-card svelte-17ad9lv"><!></div></div>`),dS=K(`<span style="font-size: 0.6rem; color: #ef4444; font-weight: bold; background: rgba(239, 68, 68, 0.1); padding: 2px 4px; border-radius: 4px;">REQ</span>`),fS=K(`<div style="font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: 6px; line-height: 1.2;"> </div>`),pS=K(`<div style="border: 1px solid var(--color-border); border-radius: 4px; padding: 8px 10px; margin-bottom: 6px; background: rgba(0,0,0,0.01);"><div style="display:flex; justify-content:space-between; align-items:center; margin-bottom: 4px;"><span style="color: var(--color-text); font-family: monospace; font-size: 0.8rem; font-weight: 600;"> </span> <div style="display:flex; gap: 8px; align-items: center;"><span style="font-size: 0.7rem; color: var(--color-text-muted);"> </span> <!></div></div> <!> <input type="text" class="form-input" style="font-size:0.8rem; padding: 4px 8px; border-radius: 4px; min-height: 28px;"/></div>`),mS=K(`<div class="section-label svelte-17ad9lv">Playground (Input Parameters)</div> <!>`,1),hS=K(`<div class="section-label svelte-17ad9lv">Playground</div> <div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 8px;">No arguments required.</div>`,1),gS=K(`<div style="margin-top: 12px; border: 1px solid #fecaca; background: #fef2f2; color: #ef4444; padding: 12px; border-radius: 8px; font-size: 0.85rem;"><strong>Error:</strong> </div>`),_S=K(`<div style="margin-top: 12px;" class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv" style="display:flex; justify-content:space-between; align-items:center;"><span>Response</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:24px; height:24px; padding:0; border:none; background:transparent;"><!></button></div> <div class="md-card markdown-body svelte-17ad9lv" style="padding: 1px 16px;"><!></div></div>`),vS=K(`<div class="drawer-section svelte-17ad9lv"><!> <div style="margin-top: 8px;"><button class="btn btn-accent" style="width:100%"> </button></div> <!> <!></div>`),yS=K(`<span style="font-size: 0.7rem; color: #ef4444; font-weight: bold;">REQUIRED</span>`),bS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 6px;"> </div>`),xS=K(`<div style="border: 1px solid var(--color-border); border-radius: 8px; padding: 12px; margin-bottom: 8px; background: rgba(0,0,0,0.02);"><div style="display:flex; justify-content:space-between; align-items:flex-start; margin-bottom: 4px;"><strong style="color: var(--color-text); font-family: monospace;"> </strong> <!></div> <!></div>`),SS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); font-style: italic;">No arguments.</div>`),CS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Arguments</div> <!> <!></div>`),wS=K(`<div class="md-card svelte-17ad9lv" style="margin-bottom: 8px;"><div style="font-size: 0.7rem; font-weight: bold; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 8px;"> </div> <div class="markdown-body"><!></div></div>`),TS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Template</div> <!></div>`),ES=K(`<div style="font-size: 0.85rem; margin-bottom: 8px;"><span style="color: var(--color-text-muted);">URI:</span> <code style="font-size: 0.8rem; background: var(--color-bg); padding: 2px 4px; border-radius: 4px; border: 1px solid var(--color-border);"> </code></div>`),DS=K(`<div style="font-size: 0.85rem;"><span style="color: var(--color-text-muted);">MIME Type:</span> <span> </span></div>`),OS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Details</div> <!> <!></div>`),kS=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer" style="z-index: 100;"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1" style="z-index: 101;"><div class="drawer-header svelte-17ad9lv"><div style="flex:1; min-width:0; padding-right:16px;"><span class="type-chip svelte-17ad9lv" style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-17ad9lv"> </div></div> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M18 6 6 18M6 6l12 12"></path></svg></button></div> <div class="drawer-body svelte-17ad9lv"><!> <!> <!> <!> <!></div></div>`,1);function AS(e,t){rt(t,!1);let n=()=>F(no,`$currentRepo`,a),r=()=>F(u,`$handler`,a),i=()=>F(d,`$typeLabel`,a),[a,o]=Et(),s=Z(t,`item`,8,null),c=Z(t,`open`,8,!1),l=Z(t,`onClose`,8,()=>{}),u=lS(),d=u.typeLabel;function f(e){e.key===`Escape`&&l()()}ir(()=>(W(c()),W(s()),n()),()=>{c()?u.setItem(s(),n()):u.reset()}),ar(),Ua();var p=Ti(),m=z(p),h=e=>{var t=kS(),n=z(t),a=B(n,2),o=R(a),s=R(o),c=R(s),d=R(c,!0);j(c);var p=B(c,2),m=R(p,!0);j(p),j(s);var h=B(s,2);j(o);var g=B(o,2),_=R(g),v=e=>{var t=uS(),n=B(R(t),2);Xb(R(n),{get content(){return r(),U(()=>r().item.data.description)}}),j(n),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().item.data.description)&&e(v)});var y=B(_,2),b=e=>{var t=vS(),n=R(t),i=e=>{var t=mS();X(B(z(t),2),1,()=>(r(),U(()=>Object.entries(r().item.data.inputSchema.properties))),([e,t])=>e,(e,t)=>{var n=un(()=>T(H(t),2));let i=()=>H(n)[0],a=()=>H(n)[1];var o=pS(),s=R(o),c=R(s),l=R(c,!0);j(c);var d=B(c,2),f=R(d),p=R(f,!0);j(f);var m=B(f,2),h=e=>{q(e,dS())},g=un(()=>(r(),i(),U(()=>r().item.data.inputSchema.required?.includes(i()))));Y(m,e=>{H(g)&&e(h)}),j(d),j(s);var _=B(s,2),v=e=>{var t=fS(),n=R(t,!0);j(t),V(()=>J(n,(a(),U(()=>a().description)))),q(e,t)};Y(_,e=>{a(),U(()=>a().description)&&e(v)});var y=B(_,2);Ta(y),j(o),V(()=>{J(l,i()),J(p,(a(),U(()=>a().type))),ka(y,`placeholder`,`Value for ${i()}`),Ea(y,(r(),i(),U(()=>r().toolArgs[i()]||``)))}),G(`input`,y,e=>u.setToolArg(i(),e.currentTarget.value)),q(e,o)}),q(e,t)},a=un(()=>(r(),U(()=>r().item.data.inputSchema?.properties&&Object.keys(r().item.data.inputSchema.properties).length>0))),o=e=>{var t=hS();M(2),q(e,t)};Y(n,e=>{H(a)?e(i):e(o,-1)});var s=B(n,2),c=R(s),l=R(c,!0);j(c),j(s);var d=B(s,2),f=e=>{var t=gS(),n=B(R(t));j(t),V(()=>J(n,` ${(r(),U(()=>r().toolError))??``}`)),q(e,t)};Y(d,e=>{r(),U(()=>r().toolError)&&e(f)});var p=B(d,2),m=e=>{var t=_S(),n=R(t),i=B(R(n),2),a=R(i);{let e=dn(()=>(r(),U(()=>r().copied?`check`:`copy`))),t=dn(()=>(r(),U(()=>r().copied?`text-success`:``)));Q(a,{get name(){return H(e)},size:14,strokeWidth:2,get className(){return H(t)}})}j(i),j(n);var o=B(n,2),s=R(o);{let e=dn(()=>(r(),U(()=>"```json\n"+r().toolResult+"\n```")));Xb(s,{get content(){return H(e)}})}j(o),j(t),G(`click`,i,()=>u.copyToClipboardWrapper(r().toolResult||``)),q(e,t)};Y(p,e=>{r(),U(()=>r().toolResult)&&e(m)}),j(t),V(()=>{c.disabled=(r(),U(()=>r().toolRunning)),J(l,(r(),U(()=>r().toolRunning?`Running...`:`Submit`)))}),G(`click`,c,()=>u.runTool()),q(e,t)};Y(y,e=>{r(),U(()=>r().item.type===`tool`)&&e(b)});var x=B(y,2),S=e=>{var t=CS(),n=B(R(t),2);X(n,1,()=>(r(),U(()=>r().item.data.arguments)),e=>e.name,(e,t)=>{var n=xS(),r=R(n),i=R(r),a=R(i,!0);j(i);var o=B(i,2),s=e=>{q(e,yS())};Y(o,e=>{H(t),U(()=>H(t).required)&&e(s)}),j(r);var c=B(r,2),l=e=>{var n=bS(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).description)))),q(e,n)};Y(c,e=>{H(t),U(()=>H(t).description)&&e(l)}),j(n),V(()=>J(a,(H(t),U(()=>H(t).name)))),q(e,n)});var i=B(n,2),a=e=>{q(e,SS())};Y(i,e=>{r(),U(()=>r().item.data.arguments.length===0)&&e(a)}),j(t),q(e,t)};Y(x,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.arguments)&&e(S)});var C=B(x,2),w=e=>{var t=TS();X(B(R(t),2),3,()=>(r(),U(()=>r().item.data.messages)),(e,t)=>`${e.role}-${t}`,(e,t)=>{var n=wS(),r=R(n),i=R(r);j(r);var a=B(r,2),o=R(a);{let e=dn(()=>(H(t),U(()=>typeof H(t).content==`string`?H(t).content:H(t).content.text)));Xb(o,{get content(){return H(e)}})}j(a),j(n),V(()=>J(i,`Role: ${(H(t),U(()=>H(t).role))??``}`)),q(e,n)}),j(t),q(e,t)};Y(C,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.messages&&r().item.data.messages.length>0)&&e(w)});var E=B(C,2),D=e=>{var t=OS(),n=B(R(t),2),i=e=>{var t=ES(),n=B(R(t),2),i=R(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.uri)))),q(e,t)};Y(n,e=>{r(),U(()=>r().item?.data?.uri)&&e(i)});var a=B(n,2),o=e=>{var t=DS(),n=B(R(t),2),i=R(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.mimeType)))),q(e,t)};Y(a,e=>{r(),U(()=>r().item.data.mimeType)&&e(o)}),j(t),q(e,t)};Y(E,e=>{r(),U(()=>r().item.type===`resource`)&&e(D)}),j(g),j(a),V(()=>{J(d,i()),J(m,(r(),U(()=>r().item.data.name)))}),G(`click`,n,e=>u.handleOverlayClick(e,l())),G(`keydown`,n,f),G(`click`,h,function(...e){l()?.apply(this,e)}),G(`click`,a,function(...e){u.handlePanelClick?.apply(this,e)}),G(`keydown`,a,f),q(e,t)};Y(m,e=>{W(c()),r(),U(()=>c()&&r().item)&&e(h)}),q(e,p),it(),o()}function jS(e){let t=N({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n=N(!1),r=N(!1),i=N(!1),a=N(``),o=N(!1),s=null;function c(e){s=e,e?(t.set({title:e.title,type:e.type,content:e.content,importance:e.importance,tags:(e.tags||[]).join(`, `),agent:e.agent||``,model:e.model||``}),n.set(!1)):(t.set({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n.set(!0)),o.set(!1),a.set(``),r.set(!1),i.set(!1)}function l(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}async function u(){let n=P(t);if(!n.title.trim()||!n.content.trim()){a.set(`Title and Content are required.`);return}r.set(!0),a.set(``);try{let t=P(no),r={title:n.title.trim(),type:n.type,content:n.content.trim(),importance:Number(n.importance),tags:l(n.tags),agent:n.agent.trim()||void 0,model:n.model.trim()||void 0,repo:t,scope:{repo:t||``}},i;if(s)await Ro.updateMemory(s.id,r),i={...s,...r,updated_at:new Date().toISOString()};else{let e=await Ro.createMemory(r);i={...r,id:e.id,hit_count:0,recall_count:0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}}e.onSaved(i),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to save memory.`)}finally{r.set(!1)}}async function d(){if(s&&await Bo(`Permanently delete this memory? This cannot be undone.`)){i.set(!0),a.set(``);try{await Ro.deleteMemory(s.id),e.onDeleted(s.id),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to delete memory.`)}finally{i.set(!1)}}}return{form:t,editing:n,saving:r,deleting:i,error:a,previewMode:o,reset:c,save:u,deleteMemory:d,startEditing:()=>{n.set(!0),o.set(!1)},cancelEdit:()=>{s?(c(s),n.set(!1)):e.onClose()},togglePreview:()=>o.update(e=>!e)}}var MS=K(`<div class="modal-mode-label svelte-intd6h"> </div> <input class="form-input modal-title-input svelte-intd6h" placeholder="Memory title…"/>`,1),NS=K(`<div class="modal-mode-label svelte-intd6h">View Memory</div> <div class="modal-title-text svelte-intd6h"> </div>`,1),PS=K(`<button class="btn btn-ghost btn-sm" title="Edit memory"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-btn svelte-intd6h" title="Delete memory"><!> </button>`,1),FS=K(`<div class="mem-error svelte-intd6h"><!> </div>`),IS=K(`<div class="meta-cell svelte-intd6h"><div class="meta-label svelte-intd6h"> </div> <div class="meta-value svelte-intd6h"> </div></div>`),LS=K(`<span class="tag-chip svelte-intd6h"> </span>`),RS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Tags</div> <div class="tags-row svelte-intd6h"></div></div>`),zS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Metadata</div> <pre class="json-pre svelte-intd6h"> </pre></div>`),BS=K(`<div style="margin-bottom:14px;"><span> </span></div> <div class="meta-grid svelte-intd6h"></div> <!> <div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Content</div> <div class="markdown-body md-card svelte-intd6h"><!></div></div> <!>`,1),VS=K(`<option> </option>`),HS=K(`<span> </span>`),US=K(`<span style="color:var(--color-text-muted);font-style:italic;">Nothing to preview yet…</span>`),WS=K(`<div class="markdown-body md-card svelte-intd6h" style="min-height:160px;"><!></div>`),GS=K(`<textarea id="mem_content" class="form-textarea content-textarea svelte-intd6h" rows="8" placeholder="Write memory content in Markdown…"></textarea>`),KS=K(`<div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_type" class="field-label svelte-intd6h">Type <span class="required svelte-intd6h">*</span></label> <select id="mem_type" class="form-select"></select></div> <div class="field-group svelte-intd6h"><label for="mem_importance" class="field-label svelte-intd6h">Importance <span class="importance-badge svelte-intd6h"> </span></label> <input id="mem_importance" type="range" min="1" max="5" step="1" class="importance-slider svelte-intd6h"/> <div class="importance-ticks svelte-intd6h"></div></div></div> <div class="field-group svelte-intd6h"><label for="mem_tags" class="field-label svelte-intd6h">Tags <span class="field-hint svelte-intd6h">(comma separated)</span></label> <input id="mem_tags" class="form-input" placeholder="react, typescript, architecture…"/></div> <div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_agent" class="field-label svelte-intd6h">Agent</label> <input id="mem_agent" class="form-input" placeholder="e.g. claude-opus"/></div> <div class="field-group svelte-intd6h"><label for="mem_model" class="field-label svelte-intd6h">Model</label> <input id="mem_model" class="form-input" placeholder="e.g. claude-3-opus"/></div></div> <div class="field-group svelte-intd6h"><div class="content-label-row svelte-intd6h"><label for="mem_content" class="field-label svelte-intd6h" style="margin-bottom:0;">Content <span class="required svelte-intd6h">*</span> <span class="field-hint svelte-intd6h">(Markdown supported)</span></label> <button type="button" class="btn btn-ghost btn-sm preview-btn svelte-intd6h"><!> </button></div> <!></div>`,1),qS=K(`<span class="btn-spinner svelte-intd6h"></span>`),JS=K(`<div class="modal-footer svelte-intd6h"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-intd6h"><!> </button></div>`),YS=K(`<div class="modal-backdrop svelte-intd6h" role="button" tabindex="-1" aria-label="Close"></div> <div class="modal-panel animate-fade-in svelte-intd6h" role="dialog" aria-modal="true" tabindex="-1"><div class="modal-header svelte-intd6h"><div class="modal-header-icon svelte-intd6h"><!></div> <div style="flex:1;min-width:0;"><!></div> <div class="modal-header-actions svelte-intd6h"><!> <button class="modal-close-btn svelte-intd6h" aria-label="Close"><!></button></div></div> <div class="modal-body svelte-intd6h"><!> <!></div> <!></div>`,1);function XS(e,t){rt(t,!1);let n=()=>F(y,`$editing`,c),r=()=>F(v,`$form`,c),i=()=>F(x,`$deleting`,c),a=()=>F(S,`$error`,c),o=()=>F(C,`$previewMode`,c),s=()=>F(b,`$saving`,c),[c,l]=Et(),u=I(),d=I(),f=Z(t,`memory`,8,null),p=Z(t,`open`,8,!1),m=Z(t,`onClose`,8,()=>{}),h=Z(t,`onSaved`,8,()=>{}),g=Z(t,`onDeleted`,8,()=>{}),_=jS({onSaved:h(),onDeleted:g(),onClose:m()}),{form:v,editing:y,saving:b,deleting:x,error:S,previewMode:C}=_;function w(e){e.key===`Escape`&&m()()}ir(()=>W(f()),()=>{L(u,f()===null)}),ir(()=>(H(u),n()),()=>{L(d,H(u)||n())}),ir(()=>(W(p()),W(f())),()=>{p()&&_.reset(f())}),ar(),Ua();var T=Ti();G(`keydown`,An,w);var E=z(T),D=e=>{var t=YS(),c=z(t),l=B(c,2),p=R(l),h=R(p);Q(R(h),{name:`brain`,size:14,strokeWidth:2.2}),j(h);var g=B(h,2),y=R(g),b=e=>{var t=MS(),n=z(t),i=R(n,!0);j(n);var a=B(n,2);Ta(a),V(()=>J(i,H(u)?`New Memory`:`Edit Memory`)),Fa(a,()=>r().title,e=>(Ot(v,U(r).title=e,U(r)),wr(()=>{}))),q(e,t)},x=e=>{var t=NS(),n=B(z(t),2),r=R(n,!0);j(n),V(()=>J(r,(W(f()),U(()=>f().title)))),q(e,t)};Y(y,e=>{H(d)?e(b):f()&&e(x,1)}),j(g);var S=B(g,2),C=R(S),w=e=>{var t=PS(),n=z(t);Q(R(n),{name:`edit`,size:13,strokeWidth:2}),M(),j(n);var r=B(n,2),a=R(r);Q(a,{name:`trash`,size:13,strokeWidth:2});var o=B(a);j(r),V(()=>{r.disabled=i(),J(o,` ${i()?`Deleting…`:`Delete`}`)}),G(`click`,n,function(...e){_.startEditing?.apply(this,e)}),G(`click`,r,function(...e){_.deleteMemory?.apply(this,e)}),q(e,t)};Y(C,e=>{f()&&!n()&&e(w)});var T=B(C,2);Q(R(T),{name:`x`,size:14,strokeWidth:2.5}),j(T),j(S),j(p);var E=B(p,2),D=R(E),O=e=>{var t=FS(),n=R(t);Q(n,{name:`alert-circle`,size:13,strokeWidth:2});var r=B(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(D,e=>{a()&&e(O)});var k=B(D,2),ee=e=>{var t=BS(),n=z(t),r=R(n),i=R(r,!0);j(r),j(n);var a=B(n,2);X(a,5,()=>(W(f()),W(ql),U(()=>[{label:`Importance`,val:f().importance},{label:`Hit Count`,val:f().hit_count??0},{label:`Created`,val:ql(f().created_at)},{label:`Updated`,val:ql(f().updated_at)}])),e=>e.label,(e,t)=>{var n=IS(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(a);var o=B(a,2),s=e=>{var t=RS(),n=B(R(t),2);X(n,7,()=>(W(f()),U(()=>f().tags)),(e,t)=>`${e}-${t}`,(e,t)=>{var n=LS(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),j(t),q(e,t)};Y(o,e=>{W(f()),U(()=>f().tags?.length)&&e(s)});var c=B(o,2),l=B(R(c),2);Xb(R(l),{get content(){return W(f()),U(()=>f().content)}}),j(l),j(c);var u=B(c,2),d=e=>{var t=zS(),n=B(R(t),2),r=R(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(W(f()),U(()=>JSON.stringify(f().metadata,null,2)))]),q(e,t)},p=un(()=>(W(f()),U(()=>f().metadata&&Object.keys(f().metadata).length>0)));Y(u,e=>{H(p)&&e(d)}),V(()=>{la(r,1,`type-chip type-${(W(f()),U(()=>f().type))??``}`,`svelte-intd6h`),J(i,(W(sb),W(f()),U(()=>sb[f().type]||f().type)))}),q(e,t)},te=e=>{var t=KS(),n=z(t),i=R(n),a=B(R(i),2);X(a,5,()=>ob,e=>e,(e,t)=>{var n=VS(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(W(sb),H(t),U(()=>sb[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(a),j(i);var s=B(i,2),c=R(s),l=B(R(c)),u=R(l,!0);j(l),j(c);var d=B(c,2);Ta(d);var f=B(d,2);X(f,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=HS();let i;var a=R(n,!0);j(n),V(()=>{i=la(n,1,`svelte-intd6h`,null,i,{active:r().importance>=t}),J(a,t)}),q(e,n)}),j(f),j(s),j(n);var p=B(n,2),m=B(R(p),2);Ta(m),j(p);var h=B(p,2),g=R(h),y=B(R(g),2);Ta(y),j(g);var b=B(g,2),x=B(R(b),2);Ta(x),j(b),j(h);var S=B(h,2),C=R(S),w=B(R(C),2),T=R(w);{let e=dn(()=>o()?`edit`:`eye`);Q(T,{get name(){return H(e)},size:12,strokeWidth:2})}var E=B(T);j(w),j(C);var D=B(C,2),O=e=>{var t=WS(),n=R(t),i=e=>{Xb(e,{get content(){return r(),U(()=>r().content)}})},a=un(()=>(r(),U(()=>r().content.trim()))),o=e=>{q(e,US())};Y(n,e=>{H(a)?e(i):e(o,-1)}),j(t),q(e,t)},k=e=>{var t=GS();Un(t),Fa(t,()=>r().content,e=>(Ot(v,U(r).content=e,U(r)),wr(()=>{}))),q(e,t)};Y(D,e=>{o()?e(O):e(k,-1)}),j(S),V(()=>{da(l,`background:${(W(lb),r(),U(()=>lb[r().importance]))??``};color:${(W(cb),r(),U(()=>cb[r().importance]))??``};`),J(u,(r(),U(()=>r().importance))),da(d,`accent-color:${(W(cb),r(),U(()=>cb[r().importance]))??``};`),J(E,` ${o()?`Edit`:`Preview`}`)}),ma(a,()=>r().type,e=>(Ot(v,U(r).type=e,U(r)),wr(()=>{}))),Fa(d,()=>r().importance,e=>(Ot(v,U(r).importance=e,U(r)),wr(()=>{}))),Fa(m,()=>r().tags,e=>(Ot(v,U(r).tags=e,U(r)),wr(()=>{}))),Fa(y,()=>r().agent,e=>(Ot(v,U(r).agent=e,U(r)),wr(()=>{}))),Fa(x,()=>r().model,e=>(Ot(v,U(r).model=e,U(r)),wr(()=>{}))),G(`click`,w,function(...e){_.togglePreview?.apply(this,e)}),q(e,t)};Y(k,e=>{f()&&!n()?e(ee):e(te,-1)}),j(E);var ne=B(E,2),re=e=>{var t=JS(),n=R(t),i=B(n,2),a=R(i),o=e=>{q(e,qS())},c=e=>{Q(e,{name:`check`,size:13,strokeWidth:2})};Y(a,e=>{s()?e(o):e(c,-1)});var l=B(a);j(i),j(t),V(e=>{i.disabled=e,J(l,` ${s()?`Saving…`:H(u)?`Create Memory`:`Save Changes`}`)},[()=>(s(),r(),U(()=>s()||!r().title.trim()||!r().content.trim()))]),G(`click`,n,function(...e){_.cancelEdit?.apply(this,e)}),G(`click`,i,function(...e){_.save?.apply(this,e)}),q(e,t)};Y(ne,e=>{H(d)&&e(re)}),j(l),G(`click`,c,function(...e){m()?.apply(this,e)}),G(`keydown`,c,e=>e.key===`Escape`&&m()()),G(`click`,T,function(...e){m()?.apply(this,e)}),q(e,t)};Y(E,e=>{p()&&e(D)}),q(e,T),it(),l()}var ZS=e=>e;function QS(e){let t=e-1;return t*t*t+1}function $S(e,{delay:t=0,duration:n=400,easing:r=ZS}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function eC(e,{delay:t=0,duration:n=400,easing:r=QS,start:i=0,opacity:a=0}={}){let o=getComputedStyle(e),s=+o.opacity,c=o.transform===`none`?``:o.transform,l=1-i,u=s*(1-a);return{delay:t,duration:n,easing:r,css:(e,t)=>`
|
|
145
145
|
transform: ${c} scale(${1-l*t});
|
|
146
146
|
opacity: ${s-u*t}
|
|
147
147
|
`}}var tC={memories:`title,type,content,importance
|
|
148
148
|
Example Memory,fact,This is an example memory content,3`,tasks:`task_code,title,phase,description,status,priority
|
|
149
|
-
TSK-001,Example Task,Phase 1,Example task description,backlog,3`};function nC(e){let t=N(null),n=N([]),r=N([]),i=N(``),a=N(``),o=N(!1),s=N(!1);function c(){t.set(null),n.set([]),r.set([]),i.set(``),a.set(``),o.set(!1)}function l(){s.set(!1),c(),e.onClose&&e.onClose()}function u(){s.set(!0)}function d(e){let t=e.split(/\r?\n/).filter(e=>e.trim()!==``);if(t.length===0)return{headers:[],rows:[]};let n=e=>{let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`"`&&e[i+1]===`"`?(n+=`"`,i++):a===`"`?r=!r:a===`,`&&!r?(t.push(n.trim()),n=``):n+=a}return t.push(n.trim()),t},r=n(t[0]).filter(e=>e!==``);return{headers:r,rows:t.slice(1).map(n).map(e=>{let t={};return r.forEach((n,r)=>{let i=n.toLowerCase().replace(/[^a-z0-9_]/g,`_`);t[i]=e[r]}),t})}}function f(e){if(a.set(``),!e.name.endsWith(`.csv`)){a.set(`Please select a valid .csv file.`);return}t.set(e),i.set(e.name);let o=new FileReader;o.onload=e=>{let t=e.target?.result,i=d(t);r.set(i.headers),n.set(i.rows),i.rows.length===0&&a.set(`CSV file appears to be empty or missing headers.`)},o.readAsText(e)}function p(e){let t=e.target.files?.[0];t&&f(t)}function m(e){e.preventDefault();let t=e.dataTransfer?.files?.[0];t&&f(t)}function h(){let t=tC[e.importTarget],n=new Blob([t],{type:`text/csv;charset=utf-8;`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.setAttribute(`href`,r),i.setAttribute(`download`,`example_${e.importTarget}.csv`),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function g(){let t=[];if(n.subscribe(e=>t=e)(),a.set(``),t.length===0){a.set(`No data to import.`);return}o.set(!0);try{let n=0;n=e.importTarget===`memories`?(await Ro.bulkImportMemories(e.repo,t)).count:(await Ro.bulkImportTasks(e.repo,t)).count,Ho(`Imported ${n} ${e.importTarget} successfully.`),e.onSuccess&&e.onSuccess(),l()}catch(e){a.set(e instanceof Error?e.message:`Import failed`)}finally{o.set(!1)}}return{file:t,csvData:n,headers:r,fileName:i,errorMsg:a,isSubmitting:o,isOpen:s,open:u,close:l,handleFileSelect:p,handleFileDrop:m,downloadExample:h,handleImport:g,setFile:e=>t.set(e),setCsvData:e=>n.set(e)}}var rC=K(`<div class="drop-zone svelte-lenod"><div class="drop-zone-content svelte-lenod"><div style="color: var(--color-text-muted)" class="svelte-lenod"><!></div> <p class="svelte-lenod">Drag and drop your <strong class="svelte-lenod">.csv</strong> file here</p> <span class="text-xs text-slate-500 mb-4 svelte-lenod">or click to browse from your computer</span> <label class="btn btn-primary btn-md cursor-pointer svelte-lenod">Select CSV File <input type="file" accept=".csv" class="hidden svelte-lenod"/></label></div></div> <div class="mt-6 flex flex-col items-center svelte-lenod"><p class="text-[0.8rem] text-slate-400 mb-2 svelte-lenod">Need a starting point?</p> <button class="btn btn-ghost btn-sm svelte-lenod"><!> </button></div>`,1),iC=K(`<th class="svelte-lenod"> </th>`),aC=K(`<td class="svelte-lenod"> </td>`),oC=K(`<tr class="svelte-lenod"></tr>`),sC=K(`<div class="file-info flex items-center justify-between p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg mb-4 svelte-lenod"><div class="flex items-center gap-3 svelte-lenod"><div style="color: #0ea5e9; display: flex;" class="svelte-lenod"><!></div> <div class="svelte-lenod"><div class="text-sm font-semibold svelte-lenod"> </div> <div class="text-[0.7rem] text-slate-400 svelte-lenod"> </div></div></div> <button class="btn btn-ghost btn-sm text-red-500 svelte-lenod">Change File</button></div> <div class="preview-container svelte-lenod"><div class="preview-header svelte-lenod"><span class="svelte-lenod">Data Preview (First 5 rows)</span></div> <div class="table-wrapper svelte-lenod"><table class="svelte-lenod"><thead class="svelte-lenod"><tr class="svelte-lenod"></tr></thead><tbody class="svelte-lenod"></tbody></table></div></div>`,1),cC=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),lC=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),uC=K(`<!> Start Import`,1),dC=K(`<div class="modal-backdrop svelte-lenod"><div class="modal-content svelte-lenod"><div class="modal-header svelte-lenod"><div class="flex items-center gap-2 svelte-lenod"><div class="header-icon svelte-lenod" style="color: #0ea5e9"><!></div> <h3 class="svelte-lenod"> </h3></div> <button class="btn btn-ghost btn-sm close-btn svelte-lenod"><!></button></div> <div class="modal-body svelte-lenod"><div class="p-6 svelte-lenod"><!> <!></div></div> <div class="modal-footer svelte-lenod"><button class="btn btn-ghost svelte-lenod">Cancel</button> <button class="btn btn-primary svelte-lenod"><!></button></div></div></div>`);function fC(e,t){rt(t,!1);let n=()=>F(H(d),`$file`,l),r=()=>F(H(f),`$csvData`,l),i=()=>F(H(p),`$headers`,l),a=()=>F(H(m),`$fileName`,l),o=()=>F(H(h),`$errorMsg`,l),s=()=>F(H(g),`$isSubmitting`,l),c=()=>F(H(_),`$composableIsOpen`,l),[l,u]=Et(),d=I(),f=I(),p=I(),m=I(),h=I(),g=I(),_=I(),v=I(),y=I(),b=I(),x=I(),S=I(),C=I(),w=I(),T=I(),E=I(),D=I(),O=I(),k=I(),ee=I(),te=Z(t,`repo`,8),ne=Z(t,`importTarget`,8,`memories`),re=Z(t,`isOpen`,12,!1),ie=Ya(),A=I();function ae(e){L(A,nC({repo:te(),importTarget:e,onSuccess:()=>ie(`success`),onClose:()=>{re(!1),ie(`close`)}}))}ae(ne()),ir(()=>W(ne()),()=>{ne()&&ae(ne())}),ir(()=>(H(A),W(re())),()=>{H(A).isOpen.set(re())}),ir(()=>H(A),()=>{wt(L(d,H(A).file),`$file`,l)}),ir(()=>H(A),()=>{wt(L(f,H(A).csvData),`$csvData`,l)}),ir(()=>H(A),()=>{wt(L(p,H(A).headers),`$headers`,l)}),ir(()=>H(A),()=>{wt(L(m,H(A).fileName),`$fileName`,l)}),ir(()=>H(A),()=>{wt(L(h,H(A).errorMsg),`$errorMsg`,l)}),ir(()=>H(A),()=>{wt(L(g,H(A).isSubmitting),`$isSubmitting`,l)}),ir(()=>H(A),()=>{wt(L(_,H(A).isOpen),`$composableIsOpen`,l)}),ir(()=>H(A),()=>{L(v,H(A).close)}),ir(()=>H(A),()=>{L(y,H(A).handleFileSelect)}),ir(()=>H(A),()=>{L(b,H(A).handleFileDrop)}),ir(()=>H(A),()=>{L(x,H(A).downloadExample)}),ir(()=>H(A),()=>{L(S,H(A).handleImport)}),ir(()=>H(A),()=>{L(C,H(A).setFile)}),ir(()=>H(A),()=>{L(w,H(A).setCsvData)}),ir(()=>n(),()=>{L(T,n())}),ir(()=>r(),()=>{L(E,r())}),ir(()=>i(),()=>{L(D,i())}),ir(()=>a(),()=>{L(O,a())}),ir(()=>o(),()=>{L(k,o())}),ir(()=>s(),()=>{L(ee,s())}),ar(),Ua();var oe=Ti(),se=z(oe),ce=e=>{var n=dC(),r=R(n),i=R(r),a=R(i),o=R(a);Q(R(o),{name:`upload-cloud`,size:18}),j(o);var s=B(o,2),c=R(s);j(s),j(a);var l=B(a,2);Q(R(l),{name:`x`,size:18,strokeWidth:2}),j(l),j(i);var u=B(i,2),d=R(u),f=R(d),p=e=>{var n=rC(),r=z(n),i=R(r),a=R(i);Q(R(a),{name:`file-up`,size:48,strokeWidth:1}),j(a);var o=B(a,6),s=B(R(o));j(o),j(i),j(r);var c=B(r,2),l=B(R(c),2),u=R(l);Q(u,{name:`download`,size:14,className:`mr-2`});var d=B(u);j(l),j(c),V(()=>J(d,` Download Example ${ne()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,Ha(function(e){Ga.call(this,t,e)})),G(`drop`,r,function(...e){H(b)?.apply(this,e)}),G(`click`,l,function(...e){H(x)?.apply(this,e)}),q(e,n)},m=e=>{var t=sC(),n=z(t),r=R(n),i=R(r);Q(R(i),{name:`file-type-2`,size:24}),j(i);var a=B(i,2),o=R(a),s=R(o,!0);j(o);var c=B(o,2),l=R(c);j(c),j(a),j(r);var u=B(r,2);j(n);var d=B(n,2),f=B(R(d),2),p=R(f),m=R(p),h=R(m);X(h,5,()=>H(D),e=>e,(e,t)=>{var n=iC(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(h),j(m);var g=B(m);X(g,7,()=>(H(E),U(()=>H(E).slice(0,5))),(e,t)=>`${t}-${JSON.stringify(e)}`,(e,t)=>{var n=oC();X(n,5,()=>H(D),e=>e,(e,n)=>{var r=aC(),i=R(r,!0);j(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),j(n),q(e,n)}),j(g),j(p),j(f),j(d),V(()=>{J(s,H(O)),J(l,`${(H(E),U(()=>H(E).length))??``} rows found`)}),G(`click`,u,()=>{H(C)(null),H(w)([])}),q(e,t)};Y(f,e=>{H(T)?e(m,-1):e(p)});var h=B(f,2),g=e=>{var t=cC(),n=R(t);Q(n,{name:`triangle-alert`,size:16});var r=B(n,2),i=R(r,!0);j(r),j(t),V(()=>J(i,H(k))),q(e,t)};Y(h,e=>{H(k)&&e(g)}),j(d),j(u);var _=B(u,2),te=R(_),re=B(te,2),ie=R(re),A=e=>{var t=lC();M(),q(e,t)},ae=e=>{var t=uC();Q(z(t),{name:`check`,size:16,className:`mr-2`}),M(),q(e,t)};Y(ie,e=>{H(ee)?e(A):e(ae,-1)}),j(re),j(_),j(r),j(n),V(()=>{J(c,`Bulk Import ${ne()===`memories`?`Memories`:`Tasks`}`),te.disabled=H(ee),re.disabled=(H(ee),H(E),U(()=>H(ee)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,te,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(S)?.apply(this,e)}),Zi(3,r,()=>eC,()=>({duration:200,start:.95})),G(`click`,r,Va(function(e){Ga.call(this,t,e)})),Zi(3,n,()=>$S,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(se,e=>{c()&&e(ce)}),q(e,oe),it(),u()}var pC=K(`<option> </option>`),mC=K(`<option> </option>`),hC=K(`<div class="modal-backdrop svelte-l0ytfo" role="button" tabindex="-1" aria-label="Close modal"></div> <div class="modal-panel animate-fade-in svelte-l0ytfo" role="dialog" aria-modal="true" aria-labelledby="modal-title" tabindex="-1"><div class="modal-header svelte-l0ytfo"><div class="modal-header-icon svelte-l0ytfo"><!></div> <div><div id="modal-title" class="modal-title svelte-l0ytfo">New Task</div> <div class="modal-subtitle svelte-l0ytfo">Add a task to the current repository</div></div> <button class="modal-close-btn svelte-l0ytfo" aria-label="Close"><!></button></div> <div class="modal-body svelte-l0ytfo"><div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_code">Task Code <span class="required svelte-l0ytfo">*</span></label> <input id="new_task_code" class="form-input" placeholder="TASK-001"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_phase">Phase</label> <input id="new_task_phase" class="form-input" placeholder="Implementation"/></div></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_title">Title <span class="required svelte-l0ytfo">*</span> <span class="field-hint svelte-l0ytfo"> </span></label> <input id="new_task_title" class="form-input" placeholder="Short, descriptive task title" maxlength="80"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_description">Description</label> <textarea id="new_task_description" class="form-textarea modal-textarea svelte-l0ytfo" placeholder="What needs to be done? Include context, acceptance criteria, etc." rows="4"></textarea></div> <div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_status">Status</label> <select id="new_task_status" class="form-select"></select></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_priority">Priority</label> <select id="new_task_priority" class="form-select"></select></div></div></div> <div class="modal-footer svelte-l0ytfo"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-l0ytfo"><!> Create Task</button></div></div>`,1);function gC(e,t){rt(t,!1);let n=Z(t,`open`,8,!1),r=Z(t,`newTask`,12),i=Z(t,`onClose`,8,()=>{}),a=Z(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ua();var s=Ti();G(`keydown`,An,o);var c=z(s),l=e=>{var t=hC(),n=z(t),o=B(n,2),s=R(o),c=R(s);Q(R(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),j(c);var l=B(c,4);Q(R(l),{name:`x`,size:14,strokeWidth:2.5}),j(l),j(s);var u=B(s,2),d=R(u),f=R(d),p=B(R(f),2);Ta(p),j(f);var m=B(f,2),h=B(R(m),2);Ta(h),j(m),j(d);var g=B(d,2),_=R(g),v=B(R(_),3),y=R(v);j(v),j(_);var b=B(_,2);Ta(b),j(g);var x=B(g,2),S=B(R(x),2);Un(S),j(x);var C=B(x,2),w=R(C),T=B(R(w),2);X(T,4,()=>[`backlog`,`pending`,`in_progress`],e=>e,(e,t)=>{var n=pC(),r=R(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(Zl),U(()=>Zl(t)))]),q(e,n)}),j(T),j(w);var E=B(w,2),D=B(R(E),2);X(D,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=mC(),r=R(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(Ql),U(()=>Ql(t)))]),q(e,n)}),j(D),j(E),j(C),j(u);var O=B(u,2),k=R(O),ee=B(k,2);Q(R(ee),{name:`plus`,size:13,strokeWidth:2.5}),M(),j(ee),j(O),j(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),ee.disabled=(W(r()),U(()=>!r().task_code||!r().title))}),G(`click`,n,function(...e){i()?.apply(this,e)}),G(`keydown`,n,e=>e.key===`Escape`&&i()()),G(`click`,l,function(...e){i()?.apply(this,e)}),Fa(p,()=>r().task_code,e=>(r(r().task_code=e,!0),wr(()=>{}))),Fa(h,()=>r().phase,e=>(r(r().phase=e,!0),wr(()=>{}))),Fa(b,()=>r().title,e=>(r(r().title=e,!0),wr(()=>{}))),Fa(S,()=>r().description,e=>(r(r().description=e,!0),wr(()=>{}))),ma(T,()=>r().status,e=>(r(r().status=e,!0),wr(()=>{}))),ma(D,()=>r().priority,e=>(r(r().priority=e,!0),wr(()=>{}))),G(`click`,k,function(...e){i()?.apply(this,e)}),G(`click`,ee,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),it()}var _C=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),vC=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),yC=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),bC=K(`<div style="padding:40px;text-align:center;"><div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;"></div></div>`),xC=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),SC=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),CC=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),wC=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),TC=K(`<div class="ref-card ref-card-tool animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-tool svelte-w0wd5z"><!> Tool</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),EC=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Tools</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),DC=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),OC=K(`<div class="ref-card ref-card-prompt animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-prompt svelte-w0wd5z"><!> Prompt</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!></div>`),kC=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Prompts</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),AC=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),jC=K(`<div class="ref-params svelte-w0wd5z"><code class="ref-param-tag svelte-w0wd5z" style="background:var(--color-bg);border:1px solid var(--color-border);"> </code></div>`),MC=K(`<div class="ref-card ref-card-resource animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-resource svelte-w0wd5z"><!> Resource</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),NC=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Resources</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),PC=K(`<div style="text-align:center;padding:48px 16px;color:var(--color-text-muted);"><!> <div style="font-size:0.82rem;margin-top:10px;"> </div></div>`),FC=K(`<a target="_blank" rel="noopener noreferrer" class="eco-card animate-fade-in svelte-w0wd5z"><div class="eco-card-icon svelte-w0wd5z"><!></div> <div class="eco-card-body svelte-w0wd5z"><div class="eco-card-name svelte-w0wd5z"> </div> <div class="eco-card-desc svelte-w0wd5z"> </div></div> <div class="eco-card-link svelte-w0wd5z"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></div></a>`),IC=K(`<div class="eco-section svelte-w0wd5z"><div class="ref-section-header svelte-w0wd5z"><!> <span>Ecosystem</span></div> <div class="eco-grid svelte-w0wd5z"></div></div>`),LC=K(`<!> <!> <!> <!> <!>`,1),RC=K(`<div class="animate-fade-in"><div class="glass card" style="margin-bottom:16px;padding:14px 18px;"><div class="ref-header svelte-w0wd5z"><div class="flex items-center gap-2"><!> <span style="font-size:0.9rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em;">MCP Reference</span> <!></div> <div class="ref-search-wrap svelte-w0wd5z"><span class="ref-search-icon svelte-w0wd5z"><!></span> <input class="form-input ref-search-input svelte-w0wd5z" type="text" placeholder="Search tools & prompts…"/> <!></div></div></div> <div class="ref-body svelte-w0wd5z"><div class="glass ref-sidebar svelte-w0wd5z"><div class="ref-sidebar-label svelte-w0wd5z">Category</div> <!></div> <div class="ref-main svelte-w0wd5z"><!></div></div></div>`);function zC(e,t){rt(t,!1);let n=()=>F(p(),`$appState`,o),r=()=>F(m(),`$filteredTools`,o),i=()=>F(h(),`$filteredPrompts`,o),a=()=>F(g(),`$filteredResources`,o),[o,s]=Et(),c=I(),l=I(),u=I(),d=I(),f=Z(t,`handler`,8),p=Z(t,`appState`,8),m=Z(t,`filteredTools`,8),h=Z(t,`filteredPrompts`,8),g=Z(t,`filteredResources`,8);function _(e){return[{id:`all`,icon:`layers`,label:`All`,count:(e.capabilities?.tools?.length||0)+(e.capabilities?.prompts?.length||0)+(e.capabilities?.resources?.length||0)+v.length},{id:`tools`,icon:`tool`,label:`Tools`,count:e.capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:e.capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:e.capabilities?.resources?.length||0},{id:`ecosystem`,icon:`zap`,label:`Ecosystem`,count:v.length}]}let v=[{name:`DocuBook`,description:`AI-powered documentation generator that turns your codebase into beautiful, searchable docs.`,url:`https://www.docubook.pro/`,icon:`book-open`}];function y(e,t,n){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f().openReferenceDrawer(t,n))}ir(()=>n(),()=>{L(c,n())}),ir(()=>r(),()=>{L(l,r())}),ir(()=>i(),()=>{L(u,i())}),ir(()=>a(),()=>{L(d,a())}),ar(),Ua();var b=RC(),x=R(b),S=R(x),C=R(S),w=R(C);Q(w,{name:`book-open`,size:15,strokeWidth:1.75});var E=B(w,4),D=e=>{var t=_C(),n=R(t);j(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(E,e=>{H(c),U(()=>H(c).capabilities)&&e(D)}),j(C);var O=B(C,2),k=R(O);Q(R(k),{name:`search`,size:12,strokeWidth:2}),j(k);var ee=B(k,2);Ta(ee);var te=B(ee,2),ne=e=>{var t=vC();Q(R(t),{name:`x`,size:11,strokeWidth:2.5}),j(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(te,e=>{H(c),U(()=>H(c).referenceSearch)&&e(ne)}),j(O),j(S),j(x);var re=B(x,2),ie=R(re);X(B(R(ie),2),1,()=>(H(c),U(()=>_(H(c)))),e=>e.id,(e,t)=>{var n=yC();let r;var i=R(n);Q(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=B(i,2),o=R(a,!0);j(a);var s=B(a,2),l=R(s,!0);j(s),j(n),V(()=>{r=la(n,1,`ref-cat-btn svelte-w0wd5z`,null,r,{active:H(c).referenceFilter===H(t).id}),J(o,(H(t),U(()=>H(t).label))),J(l,(H(t),U(()=>H(t).count)))}),G(`click`,n,()=>f().setReferenceFilter(H(t).id)),q(e,n)}),j(ie);var A=B(ie,2),ae=R(A),oe=e=>{q(e,bC())},se=e=>{var t=LC(),n=z(t),r=e=>{var t=EC(),n=z(t),r=R(n);Q(r,{name:`tool`,size:13,strokeWidth:1.75});var i=B(r,4),a=R(i,!0);j(i),j(n);var o=B(n,2);X(o,5,()=>H(l),e=>e.data.name,(e,t)=>{var n=TC(),r=R(n),i=R(r);Q(R(i),{name:`tool`,size:10,strokeWidth:2}),M(),j(i),j(r);var a=B(r,2),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var n=xC(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=B(s,2),u=e=>{var n=wC(),r=R(n);X(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),([e])=>e,(e,t)=>{var n=un(()=>T(H(t),1));let r=()=>H(n)[0];var i=SC(),a=R(i,!0);j(i),V(()=>J(a,r())),q(e,i)});var i=B(r,2),a=e=>{var n=CC(),r=R(n);j(n),V(e=>J(r,`+${e??``}`),[()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length-4))]),q(e,n)},o=un(()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length>4)));Y(i,e=>{H(o)&&e(a)}),j(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Tool`)))),G(`click`,n,()=>f().openReferenceDrawer(`tool`,H(t).data)),G(`keydown`,n,e=>y(e,`tool`,H(t).data)),q(e,n)}),j(o),V(()=>J(a,(H(l),U(()=>H(l).length)))),q(e,t)};Y(n,e=>{H(l),U(()=>H(l).length>0)&&e(r)});var i=B(n,2),a=e=>{var t=kC(),n=z(t),r=R(n);Q(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=B(r,4),a=R(i,!0);j(i),j(n);var o=B(n,2);X(o,5,()=>H(u),e=>e.data.name,(e,t)=>{var n=OC(),r=R(n),i=R(r);Q(R(i),{name:`sparkle`,size:10,strokeWidth:2}),M(),j(i),j(r);var a=B(r,2),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var n=DC(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Prompt`)))),G(`click`,n,()=>f().openReferenceDrawer(`prompt`,H(t).data)),G(`keydown`,n,e=>y(e,`prompt`,H(t).data)),q(e,n)}),j(o),V(()=>{da(n,`margin-top:${(H(l),U(()=>H(l).length>0?`20px`:`0`))??``}`),J(a,(H(u),U(()=>H(u).length)))}),q(e,t)};Y(i,e=>{H(u),U(()=>H(u).length>0)&&e(a)});var o=B(i,2),s=e=>{var t=NC(),n=z(t),r=R(n);Q(r,{name:`database`,size:13,strokeWidth:1.75});var i=B(r,4),a=R(i,!0);j(i),j(n);var o=B(n,2);X(o,5,()=>H(d),e=>e.data.uri||e.data.name,(e,t)=>{var n=MC(),r=R(n),i=R(r);Q(R(i),{name:`database`,size:10,strokeWidth:2}),M(),j(i),j(r);var a=B(r,2),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var n=AC(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=B(s,2),u=e=>{var n=jC(),r=R(n),i=R(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).data.uri)))),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.uri)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Resource`)))),G(`click`,n,()=>f().openReferenceDrawer(`resource`,H(t).data)),G(`keydown`,n,e=>y(e,`resource`,H(t).data)),q(e,n)}),j(o),V(()=>{da(n,`margin-top:${(H(l),H(u),U(()=>H(l).length>0||H(u).length>0?`20px`:`0`))??``}`),J(a,(H(d),U(()=>H(d).length)))}),q(e,t)};Y(o,e=>{H(d),U(()=>H(d).length>0)&&e(s)});var p=B(o,2),m=e=>{var t=PC(),n=R(t);Q(n,{name:`search`,size:28,strokeWidth:1.25});var r=B(n,2),i=R(r);j(r),j(t),V(()=>J(i,`No results for "${(H(c),U(()=>H(c).referenceSearch))??``}"`)),q(e,t)};Y(p,e=>{H(l),H(u),H(d),H(c),U(()=>H(l).length===0&&H(u).length===0&&H(d).length===0&&H(c).referenceFilter!==`ecosystem`)&&e(m)});var h=B(p,2),g=e=>{var t=IC(),n=R(t);Q(R(n),{name:`zap`,size:13,strokeWidth:1.75}),M(2),j(n);var r=B(n,2);X(r,5,()=>v,e=>e.name,(e,t)=>{var n=FC(),r=R(n);Q(R(r),{get name(){return H(t),U(()=>H(t).icon)},size:18,strokeWidth:1.5}),j(r);var i=B(r,2),a=R(i),o=R(a,!0);j(a);var s=B(a,2),c=R(s,!0);j(s),j(i),M(2),j(n),V(()=>{ka(n,`href`,(H(t),U(()=>H(t).url))),J(o,(H(t),U(()=>H(t).name))),J(c,(H(t),U(()=>H(t).description)))}),q(e,n)}),j(r),j(t),q(e,t)};Y(h,e=>{H(c),U(()=>H(c).referenceFilter===`all`||H(c).referenceFilter===`ecosystem`)&&e(g)}),q(e,t)};Y(ae,e=>{H(c),U(()=>!H(c).capabilities)?e(oe):e(se,-1)}),j(A),j(re),j(b),Fa(ee,()=>n().referenceSearch,e=>Ot(p(),U(n).referenceSearch=e,U(n))),q(e,b),it(),s()}var BC=K(`<div class="popup-load-more svelte-x7gsaf"><!> <span class="svelte-x7gsaf">Loading older...</span></div>`),VC=K(`<div class="popup-empty svelte-x7gsaf"><!> <div class="svelte-x7gsaf">No activity yet</div> <div class="svelte-x7gsaf">Events appear here as they happen.</div></div>`),HC=K(`<div class="popup-action-sub svelte-x7gsaf"> </div>`),UC=K(`<button class="popup-read-more svelte-x7gsaf"> </button>`),WC=K(`<div class="popup-bubble-row popup-bubble-left svelte-x7gsaf"><div class="popup-bubble-wrap svelte-x7gsaf"><div class="popup-chat-bubble popup-chat-bubble-mcp svelte-x7gsaf"><div class="popup-mcp-sender svelte-x7gsaf">MCP</div> <div class="popup-markdown svelte-x7gsaf"><!></div> <!></div></div></div>`),GC=K(`<div class="popup-bubble-row popup-bubble-right svelte-x7gsaf"><div class="popup-bubble-wrap svelte-x7gsaf"><div class="popup-chat-bubble popup-chat-bubble-action svelte-x7gsaf"><div class="popup-action-badge svelte-x7gsaf"><!> <span class="svelte-x7gsaf"> </span></div> <div class="popup-action-main svelte-x7gsaf"> </div> <!></div></div></div> <!>`,1),KC=K(`<div class="popup-date-header svelte-x7gsaf"><span class="svelte-x7gsaf"> </span></div> <!>`,1),qC=K(`<div class="chat-backdrop svelte-x7gsaf" role="button" tabindex="-1" aria-label="Close"></div> <div class="chat-popup animate-fade-in-scale svelte-x7gsaf"><div class="chat-popup-header svelte-x7gsaf"><div class="chat-popup-title svelte-x7gsaf"><div class="chat-popup-avatar svelte-x7gsaf"><!></div> <div class="svelte-x7gsaf"><div class="chat-popup-name svelte-x7gsaf">Recent Activity</div> <div class="chat-popup-status svelte-x7gsaf"> </div></div></div> <button class="chat-popup-close svelte-x7gsaf" title="Close" aria-label="Close"><!></button></div> <div class="chat-popup-body svelte-x7gsaf"><!> <!></div> <div class="chat-popup-footer svelte-x7gsaf"><div class="chat-input-row svelte-x7gsaf"><input type="text" placeholder="Create a backlog task..." class="svelte-x7gsaf"/> <button class="chat-send-btn svelte-x7gsaf"><!></button></div></div></div>`,1),JC=K(`<button class="chat-fab svelte-x7gsaf" title="Open activity chat" aria-label="Open activity chat"><!></button>`);function YC(e,t){rt(t,!1);let n=()=>F(y,`$actionsPage`,c),r=()=>F(g,`$handler`,c),i=()=>F(v,`$actionsStore`,c),a=()=>F(no,`$currentRepo`,c),o=()=>F(wo,`$recentActionsTotalItems`,c),s=()=>F(_,`$groupedActions`,c),[c,l]=Et(),u=Z(t,`onRefresh`,8,()=>{}),d=I(!1),f=I(``),p=I(!1),m=I();async function h(e,t){let n=P(no);if(n)try{let r=await Ro.recentActions(n,e,25);t?Co.update(e=>[...e,...r.actions||[]]):Co.set(r.actions||[]),To.set(r.pagination?.page??e),wo.set(r.pagination?.totalItems??0)}catch(e){console.error(`Failed to load recent actions:`,e)}}let g=Tb(h),{groupedActions:_,recentActions:v,recentActionsPage:y}=g;Xa(()=>{let e=n();H(d)&&e<=1&&!r().isLoadingMore&&i().length>0&&g.scrollToBottom(H(m),`instant`)}),Ka(()=>()=>{Co.set([]),To.set(1)});function b(){L(d,!H(d)),H(d)&&(h(1),Xr().then(()=>g.scrollToBottom(H(m),`instant`)))}function x(e){e.key===`Escape`&&L(d,!1)}async function S(){let e=H(f).trim();if(!e||H(p))return;let t=P(no);if(t){L(p,!0);try{await au(e,t),L(f,``),await h(1),u()(),Xr().then(()=>g.scrollToBottom(H(m),`instant`))}catch(e){console.error(`Failed to create task:`,e)}finally{L(p,!1)}}}Ua();var C=Ti();G(`keydown`,An,x);var w=z(C),T=e=>{var t=Ti(),n=z(t),a=e=>{var t=qC(),n=z(t),a=B(n,2),c=R(a),l=R(c),u=R(l);Q(R(u),{name:`message-circle`,size:16,strokeWidth:2.2}),j(u);var h=B(u,2),_=B(R(h),2),v=R(_);j(_),j(h),j(l);var y=B(l,2);Q(R(y),{name:`x`,size:16,strokeWidth:2.5}),j(y),j(c);var b=B(c,2),x=R(b),C=e=>{var t=BC();Q(R(t),{name:`refresh-cw`,size:12,className:`animate-spin`}),M(2),j(t),q(e,t)};Y(x,e=>{r(),U(()=>r().isLoadingMore)&&e(C)});var w=B(x,2),T=e=>{var t=VC();Q(R(t),{name:`message-circle`,size:36,strokeWidth:1}),M(4),j(t),q(e,t)},E=e=>{var t=Ti();X(z(t),1,s,e=>e.date,(e,t)=>{var n=KC(),i=z(n),a=R(i),o=R(a,!0);j(a),j(i),X(B(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=dn(()=>(H(t),U(()=>g.getLabel(H(t))))),i=dn(()=>(H(t),U(()=>g.getConfig(H(t).action))));var a=GC(),o=z(a),s=R(o),c=R(s),l=R(c),u=R(l);Q(u,{get name(){return W(H(i)),U(()=>H(i).icon)},size:8,strokeWidth:2.5});var d=B(u,2),f=R(d,!0);j(d),j(l);var p=B(l,2),m=R(p,!0);j(p);var h=B(p,2),_=e=>{var t=HC(),r=R(t,!0);j(t),V(()=>J(r,(W(H(n)),U(()=>H(n).sub)))),q(e,t)};Y(h,e=>{W(H(n)),U(()=>H(n).sub)&&e(_)}),j(c),j(s),j(o);var v=B(o,2),y=e=>{let n=dn(()=>(H(t),U(()=>g.parseResponse(H(t).response)))),i=dn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=WC(),o=R(a),s=R(o),c=B(R(s),2);Xb(R(c),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(c);var l=B(c,2),u=e=>{var n=UC(),r=R(n,!0);j(n),V(()=>J(r,H(i)?`Less`:`More`)),G(`click`,n,()=>g.toggleExpand(H(t).id)),q(e,n)};Y(l,e=>{W(H(n)),U(()=>H(n).isLong)&&e(u)}),j(s),j(o),j(a),V(()=>da(c,(W(H(i)),W(H(n)),U(()=>!H(i)&&H(n).isLong?`max-height:80px;overflow:hidden;mask-image:linear-gradient(to bottom,black 60%,transparent 100%);`:``)))),q(e,a)};Y(v,e=>{H(t),U(()=>H(t).response)&&e(y)}),V(()=>{da(l,`color:${(W(H(i)),U(()=>H(i).color))??``};background:${(W(H(i)),U(()=>H(i).bgAlpha))??``};`),J(f,(W(H(i)),U(()=>H(i).label))),J(m,(W(H(n)),U(()=>H(n).main)))}),q(e,a)}),V(()=>J(o,(H(t),U(()=>H(t).date)))),q(e,n)}),q(e,t)};Y(w,e=>{i(),U(()=>i().length===0)?e(T):e(E,-1)}),j(b),Ba(b,e=>L(m,e),()=>H(m));var D=B(b,2),O=R(D),k=R(O);Ta(k);var ee=B(k,2);Q(R(ee),{name:`send`,size:14,strokeWidth:2}),j(ee),j(O),j(D),j(a),V(e=>{J(v,`${o()??``} events`),Ea(k,H(f)),k.disabled=H(p),ee.disabled=e},[()=>(H(f),H(p),U(()=>!H(f).trim()||H(p)))]),G(`click`,n,()=>L(d,!1)),G(`keydown`,n,e=>e.key===`Enter`&&L(d,!1)),G(`click`,y,()=>L(d,!1)),G(`input`,k,e=>L(f,e.currentTarget.value)),G(`keydown`,k,e=>e.key===`Enter`&&!e.shiftKey&&S()),G(`click`,ee,S),q(e,t)},c=e=>{var t=JC();Q(R(t),{name:`message-circle`,size:22,strokeWidth:2.2}),j(t),G(`click`,t,b),q(e,t)};Y(n,e=>{H(d)?e(a):e(c,-1)}),q(e,t)};Y(w,e=>{a()&&e(T)}),q(e,C),it(),l()}var XC=K(`<div class="error-banner svelte-owkwhr"> </div>`),ZC=K(`<div class="notice-banner svelte-owkwhr"> </div>`),QC=K(`<tr><td colspan="7" class="mem-td svelte-owkwhr"><div class="skeleton" style="height:20px;border-radius:6px;"></div></td></tr>`),$C=K(`<tr><td colspan="7" class="mem-td svelte-owkwhr" style="padding:40px;text-align:center;color:var(--color-text-muted);"><!> <div style="margin-top:8px;">No standards found</div> <div style="font-size:0.78rem;margin-top:4px;">Adjust the filters or create a standard.</div></td></tr>`),ew=K(`<span style="font-size:0.6rem;background:rgba(99,102,241,0.1);color:#6366f1;padding:1px 5px;border-radius:9999px;"> </span>`),tw=K(`<div style="margin-top:3px;display:flex;gap:4px;flex-wrap:wrap;"></div>`),nw=K(`<tr class="mem-row svelte-owkwhr" role="button" tabindex="0"><td class="mem-td svelte-owkwhr" style="max-width:300px;"><div class="truncate font-semibold" style="font-size:0.82rem;color:var(--color-text);"> </div> <!></td><td class="mem-td svelte-owkwhr" style="font-size:0.78rem;color:var(--color-text);"> </td><td class="mem-td svelte-owkwhr" style="font-size:0.75rem;color:var(--color-text-muted);"> </td><td class="mem-td svelte-owkwhr" style="font-size:0.78rem;color:var(--color-text);"> </td><td class="mem-td svelte-owkwhr" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td svelte-owkwhr"><span> </span></td><td class="mem-td row-actions svelte-owkwhr"><button class="row-action-btn edit-btn svelte-owkwhr" title="Edit / View" aria-label="Edit standard"><!></button> <button class="row-action-btn delete-btn svelte-owkwhr" title="Delete" aria-label="Delete standard"><!></button></td></tr>`),rw=K(`<button> </button>`),iw=K(`<div style="display:flex;align-items:center;justify-content:space-between;margin-top:12px;"><span style="font-size:0.75rem;color:var(--color-text-muted);"> </span> <div style="display:flex;gap:4px;"><button class="btn btn-ghost btn-sm">«</button> <button class="btn btn-ghost btn-sm">‹</button> <!> <button class="btn btn-ghost btn-sm">›</button> <button class="btn btn-ghost btn-sm">»</button></div></div>`),aw=K(`<div class="feature-shell animate-fade-in svelte-owkwhr"><div class="feature-toolbar glass card svelte-owkwhr"><div class="toolbar-title svelte-owkwhr"><!> <div><div class="section-label">CODING STANDARDS</div> <div class="toolbar-subtitle svelte-owkwhr">Rules the agents follow in this repo. Filter, inspect, import, or add one rule at a time.</div></div></div> <button class="btn btn-primary toolbar-action svelte-owkwhr"><!> Add Rule</button> <div class="toolbar-actions svelte-owkwhr"><button class="btn btn-ghost btn-sm"><!> </button> <button class="btn btn-ghost btn-sm"><!> </button> <input class="file-input svelte-owkwhr" type="file" accept="application/json,.json"/></div> <div class="toolbar-controls svelte-owkwhr"><input class="form-input" placeholder="Search standards..."/> <input class="form-input" placeholder="Language, e.g. typescript"/> <input class="form-input" placeholder="Stack tags, e.g. svelte, vite"/> <select class="form-select"><option>Repo + global</option><option>Global only</option><option>All standards</option></select></div></div> <div class="insight-strip svelte-owkwhr"><div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Visible</span> <strong class="svelte-owkwhr"> </strong></div> <div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Scope</span> <strong class="svelte-owkwhr"> </strong></div> <div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Total</span> <strong class="svelte-owkwhr"> </strong></div> <div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Page</span> <strong class="svelte-owkwhr"> </strong></div></div> <!> <!> <div class="mem-table-wrap svelte-owkwhr"><table class="mem-table svelte-owkwhr"><thead><tr class="mem-thead-row svelte-owkwhr"><th class="mem-th svelte-owkwhr" style="min-width:200px;">Title</th><th class="mem-th svelte-owkwhr">Context</th><th class="mem-th svelte-owkwhr">Version</th><th class="mem-th svelte-owkwhr">Language</th><th class="mem-th svelte-owkwhr">Updated</th><th class="mem-th svelte-owkwhr">Scope</th><th class="mem-th svelte-owkwhr" style="width:80px;"></th></tr></thead><tbody><!></tbody></table></div> <!></div> <!>`,1);function ow(e,t){rt(t,!1);let n=I(),r=I(),i=Z(t,`repo`,8,``),a=I([]),o=I(!1),s=I(``),c=I(``),l=I(``),u=I(``),d=I(``),f=I(`repo`),p=I(!1),m=I(!1),h=I(),g=I(1),_=I(0),v=I(1),y=I(null),b=I(!1);async function x(){if(i()){L(o,!0),L(s,``);try{let e=await Ro.standards({query:H(l)||void 0,language:H(u)||void 0,stack:H(d)||void 0,repo:H(f)===`repo`?i():void 0,is_global:H(f)===`global`?!0:void 0,page:H(g),pageSize:25});L(a,e.standards||[]),L(_,e.pagination?.totalItems||0),L(v,e.pagination?.totalPages||1)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(o,!1)}}}function S(){L(g,1),x()}function C(e){e<1||e>H(v)||(L(g,e),x())}function w(){L(y,null),L(b,!0)}function T(e){L(y,e),L(b,!0)}function E(){L(b,!1),L(y,null)}function D(e){x()}function O(e){x()}async function k(e){if(await Bo(`Delete coding standard "${e.title}"?`))try{await Ro.deleteStandard(e.id),x()}catch(e){L(s,e instanceof Error?e.message:String(e))}}async function ee(){L(m,!0),L(s,``),L(c,``);try{let e=H(f)===`global`||H(f)===`all`?H(f):`repo`,t=await Ro.exportStandards({repo:e===`repo`?i():void 0,scope:e}),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),a=document.createElement(`a`);a.href=r,a.download=`standards-${i()?i().replace(/[^a-z0-9._-]+/gi,`-`):`all`}-${e}-${new Date().toISOString().slice(0,10)}.json`,a.click(),URL.revokeObjectURL(r)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(m,!1)}}async function te(e){let t=e.currentTarget,n=t.files?.[0];if(n){L(p,!0),L(s,``),L(c,``);try{let e=JSON.parse(await n.text()),t=Array.isArray(e?.standards)?e.standards.length:0,r=await Ro.importStandards({...e,refresh_vectors:t>0&&t<=500});x();let i=r.vectors_refreshed?``:` Vector refresh skipped for large import.`;L(c,`Imported ${r.imported} and updated ${r.updated} standard(s).${i}`)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(p,!1),t.value=``}}}Ka(()=>{x()}),ir(()=>W(i()),()=>{i()&&x()}),ir(()=>(H(g),H(v)),()=>{L(n,Math.max(1,Math.min(H(g)-2,H(v)-4)))}),ir(()=>(H(v),H(n)),()=>{L(r,Array.from({length:Math.min(5,H(v))},(e,t)=>H(n)+t))}),ar(),Ua();var ne=aw(),re=z(ne),ie=R(re),A=R(ie);Q(R(A),{name:`check`,size:16,strokeWidth:2}),M(2),j(A);var ae=B(A,2);Q(R(ae),{name:`plus`,size:14,strokeWidth:2}),M(),j(ae);var oe=B(ae,2),se=R(oe),ce=R(se);Q(ce,{name:`download`,size:14,strokeWidth:2});var le=B(ce);j(se);var ue=B(se,2),de=R(ue);Q(de,{name:`upload`,size:14,strokeWidth:2});var fe=B(de);j(ue);var pe=B(ue,2);Ba(pe,e=>L(h,e),()=>H(h)),j(oe);var me=B(oe,2),he=R(me);Ta(he);var ge=B(he,2);Ta(ge);var _e=B(ge,2);Ta(_e);var ve=B(_e,2),ye=R(ve);ye.value=ye.__value=`repo`;var be=B(ye);be.value=be.__value=`global`;var xe=B(be);xe.value=xe.__value=`all`,j(ve),j(me),j(ie);var Se=B(ie,2),Ce=R(Se),we=B(R(Ce),2),Te=R(we,!0);j(we),j(Ce);var Ee=B(Ce,2),De=B(R(Ee),2),Oe=R(De,!0);j(De),j(Ee);var ke=B(Ee,2),Ae=B(R(ke),2),je=R(Ae,!0);j(Ae),j(ke);var Me=B(ke,2),Ne=B(R(Me),2),Pe=R(Ne);j(Ne),j(Me),j(Se);var Fe=B(Se,2),Ie=e=>{var t=XC(),n=R(t,!0);j(t),V(()=>J(n,H(s))),q(e,t)};Y(Fe,e=>{H(s)&&e(Ie)});var Le=B(Fe,2),Re=e=>{var t=ZC(),n=R(t,!0);j(t),V(()=>J(n,H(c))),q(e,t)};Y(Le,e=>{H(c)&&e(Re)});var ze=B(Le,2),Be=R(ze),Ve=B(R(Be)),He=R(Ve),Ue=e=>{var t=Ti();X(z(t),0,()=>({length:5}),Ni,(e,t)=>{q(e,QC())}),q(e,t)},We=e=>{var t=$C(),n=R(t);Q(R(n),{name:`check`,size:22,strokeWidth:1.75}),M(4),j(n),j(t),q(e,t)},Ge=e=>{var n=Ti();X(z(n),1,()=>H(a),e=>e.id,(e,n)=>{var r=nw(),i=R(r),a=R(i),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var t=tw();X(t,5,()=>(H(n),U(()=>H(n).tags.slice(0,4))),e=>e,(e,t)=>{var n=ew(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(t),q(e,t)};Y(s,e=>{H(n),U(()=>H(n).tags?.length)&&e(c)}),j(i);var l=B(i),u=R(l,!0);j(l);var d=B(l),f=R(d);j(d);var p=B(d),m=R(p,!0);j(p);var h=B(p),g=R(h,!0);j(h);var _=B(h),v=R(_);let y;var b=R(v,!0);j(v),j(_);var x=B(_),S=R(x);Q(R(S),{name:`edit`,size:13,strokeWidth:2}),j(S);var C=B(S,2);Q(R(C),{name:`trash`,size:13,strokeWidth:2}),j(C),j(x),j(r),V(e=>{J(o,(H(n),U(()=>H(n).title))),J(u,(H(n),U(()=>H(n).context||`—`))),J(f,`v${(H(n),U(()=>H(n).version))??``}`),J(m,(H(n),U(()=>H(n).language||`any`))),J(g,e),y=la(v,1,`scope-chip svelte-owkwhr`,null,y,{"scope-global":H(n).is_global,"scope-repo":!H(n).is_global}),J(b,(H(n),U(()=>H(n).is_global?`Global`:`Repo`)))},[()=>(W(ql),H(n),U(()=>ql(H(n).updated_at)))]),G(`click`,S,()=>T(H(n))),G(`click`,C,()=>k(H(n))),G(`click`,x,Va(function(e){Ga.call(this,t,e)})),G(`click`,r,()=>T(H(n))),G(`keydown`,r,e=>e.key===`Enter`&&T(H(n))),q(e,r)}),q(e,n)};Y(He,e=>{H(o)?e(Ue):(H(a),U(()=>H(a).length===0)?e(We,1):e(Ge,-1))}),j(Ve),j(Be),j(ze);var Ke=B(ze,2),qe=e=>{var t=iw(),n=R(t),i=R(n);j(n);var a=B(n,2),o=R(a),s=B(o,2),c=B(s,2);X(c,1,()=>H(r),e=>e,(e,t)=>{var n=rw();let r;var i=R(n,!0);j(n),V(()=>{r=la(n,1,`btn btn-sm`,null,r,{"btn-primary":H(t)===H(g),"btn-ghost":H(t)!==H(g)}),J(i,H(t))}),G(`click`,n,()=>C(H(t))),q(e,n)});var l=B(c,2),u=B(l,2);j(a),j(t),V(()=>{J(i,`Page ${H(g)??``} of ${H(v)??``}`),o.disabled=H(g)<=1,s.disabled=H(g)<=1,l.disabled=H(g)>=H(v),u.disabled=H(g)>=H(v)}),G(`click`,o,()=>C(1)),G(`click`,s,()=>C(H(g)-1)),G(`click`,l,()=>C(H(g)+1)),G(`click`,u,()=>C(H(v))),q(e,t)};Y(Ke,e=>{H(v)>1&&e(qe)}),j(re),cS(B(re,2),{drawerMode:`standard`,get standard(){return H(y)},get open(){return H(b)},onClose:E,onStandardUpdated:D,onStandardDeleted:O,get repo(){return i()}}),V(()=>{se.disabled=(H(m),H(a),U(()=>H(m)||H(a).length===0)),J(le,` ${H(m)?`Exporting...`:`Export`}`),ue.disabled=H(p),J(fe,` ${H(p)?`Importing...`:`Import`}`),J(Te,(H(a),U(()=>H(a).length))),J(Oe,H(f)===`repo`?`Repo + global`:H(f)===`global`?`Global only`:`All`),J(je,H(_)),J(Pe,`${H(g)??``} / ${H(v)??``}`)}),G(`click`,ae,w),G(`click`,se,ee),G(`click`,ue,()=>H(h)?.click()),G(`change`,pe,te),Fa(he,()=>H(l),e=>L(l,e)),G(`input`,he,S),Fa(ge,()=>H(u),e=>L(u,e)),G(`input`,ge,S),Fa(_e,()=>H(d),e=>L(d,e)),G(`input`,_e,S),ma(ve,()=>H(f),e=>L(f,e)),G(`change`,ve,S),q(e,ne),it()}var sw=K(`<div class="error-banner svelte-1ik2acm"> </div>`),cw=K(`<tr><td colspan="8" class="mem-td svelte-1ik2acm"><div class="skeleton" style="height:20px;border-radius:6px;"></div></td></tr>`),lw=K(`<tr><td colspan="8" class="mem-td svelte-1ik2acm" style="padding:40px;text-align:center;color:var(--color-text-muted);"><!> <div style="margin-top:8px;">No handoffs found</div> <div style="font-size:0.78rem;margin-top:4px;">Create a handoff when work needs context transfer between agents.</div></td></tr>`),uw=K(`<tr class="mem-row svelte-1ik2acm" role="button" tabindex="0"><td class="mem-td svelte-1ik2acm" style="font-size:0.82rem;color:var(--color-text);font-weight:600;"> </td><td class="mem-td svelte-1ik2acm" style="font-size:0.82rem;color:var(--color-text);"> </td><td class="mem-td svelte-1ik2acm" style="font-size:0.75rem;color:var(--color-text-muted);"> </td><td class="mem-td svelte-1ik2acm" style="max-width:300px;"><div class="truncate font-semibold" style="font-size:0.82rem;color:var(--color-text);"> </div></td><td class="mem-td svelte-1ik2acm"><span> </span></td><td class="mem-td svelte-1ik2acm" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td svelte-1ik2acm" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td row-actions svelte-1ik2acm"><button class="row-action-btn delete-btn svelte-1ik2acm" title="Expire" aria-label="Expire handoff"><!></button></td></tr>`),dw=K(`<div class="muted-state svelte-1ik2acm">Loading claims...</div>`),fw=K(`<div class="empty-claims svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No active claims</div> <div class="empty-copy svelte-1ik2acm">Claimed tasks will appear here so you can inspect or release them.</div></div>`),pw=K(`<div class="claim-row svelte-1ik2acm"><div><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div> <button class="btn btn-ghost btn-sm"> </button></div>`),mw=K(`<div class="claim-list svelte-1ik2acm"></div>`),hw=K(`<div class="feature-shell animate-fade-in svelte-1ik2acm"><div class="feature-toolbar glass card svelte-1ik2acm"><div class="toolbar-title svelte-1ik2acm"><!> <div><div class="section-label svelte-1ik2acm">HANDOFFS & CLAIMS</div> <div class="toolbar-subtitle svelte-1ik2acm">Handoffs transfer context between agents. Claims reserve a task for one owner.</div></div></div> <button class="btn btn-primary toolbar-action svelte-1ik2acm"><!> New Handoff</button> <div class="toolbar-controls svelte-1ik2acm"><select class="form-select"><option>All statuses</option><option>Pending</option><option>Accepted</option><option>Rejected</option><option>Expired</option></select> <input class="form-input" placeholder="To agent filter"/> <button class="btn btn-ghost"><!> Refresh</button></div></div> <div class="insight-strip svelte-1ik2acm"><div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Pending</span> <strong class="svelte-1ik2acm"> </strong></div> <div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Resolved</span> <strong class="svelte-1ik2acm"> </strong></div> <div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Claims</span> <strong class="svelte-1ik2acm"> </strong></div> <div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Total</span> <strong class="svelte-1ik2acm"> </strong></div></div> <!> <div class="mem-table-wrap svelte-1ik2acm"><table class="mem-table svelte-1ik2acm"><thead><tr class="mem-thead-row svelte-1ik2acm"><th class="mem-th svelte-1ik2acm" style="min-width:140px;">From</th><th class="mem-th svelte-1ik2acm" style="min-width:140px;">To</th><th class="mem-th svelte-1ik2acm" style="min-width:100px;">Task</th><th class="mem-th svelte-1ik2acm" style="min-width:200px;">Summary</th><th class="mem-th svelte-1ik2acm" style="width:100px;">Status</th><th class="mem-th svelte-1ik2acm" style="width:130px;">Created</th><th class="mem-th svelte-1ik2acm" style="width:130px;">Expires</th><th class="mem-th svelte-1ik2acm" style="width:60px;"></th></tr></thead><tbody><!></tbody></table></div> <div class="claims-section svelte-1ik2acm"><div class="claims-header svelte-1ik2acm"><div class="section-label svelte-1ik2acm">Active Claims</div> <span class="toolbar-subtitle svelte-1ik2acm"> </span></div> <!></div></div> <!>`,1);function gw(e,t){rt(t,!1);let n=I(),r=I(),i=Z(t,`repo`,8,``),a=I([]),o=I(!1),s=I(``),c=I(``),l=I(``),u=I([]),d=I(!1),f=I(null),p=I(null),m=I(!1);function h(e){return e?.structuredContent??null}function g(e,t){let n=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(n.id||``),repo:i(),from_agent:String(n.from_agent||``),to_agent:n.to_agent?String(n.to_agent):null,task_id:n.task_id?String(n.task_id):null,task_code:n.task_code?String(n.task_code):null,summary:String(n.summary||``),context:n.context&&typeof n.context==`object`&&!Array.isArray(n.context)?n.context:{},status:String(n.status||`pending`),created_at:String(n.created_at||``),updated_at:String(n.updated_at||n.created_at||``),expires_at:n.expires_at?String(n.expires_at):null}}async function _(){if(i()){L(d,!0);try{L(u,(await Ro.coordinationClaims({repo:i(),active_only:!0,pageSize:20})).claims||[])}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(d,!1)}}}async function v(){if(i()){L(o,!0),L(s,``);try{let e={repo:i(),limit:50,structured:!0};H(c)&&(e.status=H(c)),H(l).trim()&&(e.to_agent=H(l).trim());let t=h(await Ro.callTool(`handoff-list`,e)),n=t?.handoffs?.columns||[];L(a,(t?.handoffs?.rows||[]).map(e=>g(n,e))),H(p)&&!H(a).some(e=>e.id===H(p)?.id)&&L(p,null)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(o,!1)}}}async function y(){await Promise.all([v(),_()])}function b(){L(p,null),L(m,!0)}function x(e){L(p,e),L(m,!0)}function S(){L(m,!1),L(p,null)}function C(){S(),y()}function w(){S(),y()}async function T(e){L(f,e.id),L(s,``);try{await Ro.releaseClaim({repo:i(),task_id:e.task_id,agent:e.agent}),await _()}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(f,null)}}async function E(e){if(await Bo(`Expire handoff "${e.summary}"?`))try{await Ro.callTool(`handoff-update`,{id:e.id,status:`expired`,structured:!0}),y()}catch(e){L(s,e instanceof Error?e.message:String(e))}}Ka(()=>{y()}),ir(()=>W(i()),()=>{i()&&y()}),ir(()=>H(a),()=>{L(n,H(a).filter(e=>e.status===`pending`).length)}),ir(()=>H(a),()=>{L(r,H(a).filter(e=>e.status!==`pending`).length)}),ar(),Ua();var D=hw(),O=z(D),k=R(O),ee=R(k);Q(R(ee),{name:`git-branch`,size:16,strokeWidth:2}),M(2),j(ee);var te=B(ee,2);Q(R(te),{name:`plus`,size:14,strokeWidth:2}),M(),j(te);var ne=B(te,2),re=R(ne),ie=R(re);ie.value=ie.__value=``;var A=B(ie);A.value=A.__value=`pending`;var ae=B(A);ae.value=ae.__value=`accepted`;var oe=B(ae);oe.value=oe.__value=`rejected`;var se=B(oe);se.value=se.__value=`expired`,j(re);var ce=B(re,2);Ta(ce);var le=B(ce,2);Q(R(le),{name:`refresh-cw`,size:14,strokeWidth:2}),M(),j(le),j(ne),j(k);var ue=B(k,2),de=R(ue),fe=B(R(de),2),pe=R(fe,!0);j(fe),j(de);var me=B(de,2),he=B(R(me),2),ge=R(he,!0);j(he),j(me);var _e=B(me,2),ve=B(R(_e),2),ye=R(ve,!0);j(ve),j(_e);var be=B(_e,2),xe=B(R(be),2),Se=R(xe,!0);j(xe),j(be),j(ue);var Ce=B(ue,2),we=e=>{var t=sw(),n=R(t,!0);j(t),V(()=>J(n,H(s))),q(e,t)};Y(Ce,e=>{H(s)&&e(we)});var Te=B(Ce,2),Ee=R(Te),De=B(R(Ee)),Oe=R(De),ke=e=>{var t=Ti();X(z(t),0,()=>({length:5}),Ni,(e,t)=>{q(e,cw())}),q(e,t)},Ae=e=>{var t=lw(),n=R(t);Q(R(n),{name:`git-branch`,size:22,strokeWidth:1.75}),M(4),j(n),j(t),q(e,t)},je=e=>{var n=Ti();X(z(n),1,()=>H(a),e=>e.id,(e,n)=>{var r=uw(),i=R(r),a=R(i,!0);j(i);var o=B(i),s=R(o,!0);j(o);var c=B(o),l=R(c,!0);j(c);var u=B(c),d=R(u),f=R(d,!0);j(d),j(u);var p=B(u),m=R(p);let h;var g=R(m,!0);j(m),j(p);var _=B(p),v=R(_,!0);j(_);var y=B(_),b=R(y,!0);j(y);var S=B(y),C=R(S);Q(R(C),{name:`trash`,size:13,strokeWidth:2}),j(C),j(S),j(r),V((e,t,r)=>{J(a,(H(n),U(()=>H(n).from_agent))),J(s,(H(n),U(()=>H(n).to_agent||`—`))),J(l,e),J(f,(H(n),U(()=>H(n).summary))),h=la(m,1,`status-pill svelte-1ik2acm`,null,h,{"status-pending":H(n).status===`pending`,"status-accepted":H(n).status===`accepted`,"status-rejected":H(n).status===`rejected`,"status-expired":H(n).status===`expired`}),J(g,(H(n),U(()=>H(n).status))),J(v,t),J(b,r),C.disabled=(H(n),U(()=>H(n).status===`expired`))},[()=>(H(n),U(()=>H(n).task_code||H(n).task_id?.slice(0,8)||`—`)),()=>(W(ql),H(n),U(()=>ql(H(n).created_at))),()=>(H(n),W(ql),U(()=>H(n).expires_at?ql(H(n).expires_at):`—`))]),G(`click`,C,()=>E(H(n))),G(`click`,S,Va(function(e){Ga.call(this,t,e)})),G(`click`,r,()=>x(H(n))),G(`keydown`,r,e=>e.key===`Enter`&&x(H(n))),q(e,r)}),q(e,n)};Y(Oe,e=>{H(o)?e(ke):(H(a),U(()=>H(a).length===0)?e(Ae,1):e(je,-1))}),j(De),j(Ee),j(Te);var Me=B(Te,2),Ne=R(Me),Pe=B(R(Ne),2),Fe=R(Pe);j(Pe),j(Ne);var Ie=B(Ne,2),Le=e=>{q(e,dw())},Re=e=>{var t=fw();Q(R(t),{name:`check`,size:20,strokeWidth:1.75}),M(4),j(t),q(e,t)},ze=e=>{var t=mw();X(t,5,()=>H(u),e=>e.id,(e,t)=>{var n=pw(),r=R(n),i=R(r),a=R(i,!0);j(i);var o=B(i,2),s=R(o),c=R(s,!0);j(s);var l=B(s,2),u=R(l,!0);j(l);var d=B(l,2),p=R(d,!0);j(d),j(o),j(r);var m=B(r,2),h=R(m,!0);j(m),j(n),V(e=>{J(a,(H(t),U(()=>H(t).task_code||H(t).task_id))),J(c,(H(t),U(()=>H(t).agent))),J(u,(H(t),U(()=>H(t).role))),J(p,e),m.disabled=(H(f),H(t),U(()=>H(f)===H(t).id)),J(h,(H(f),H(t),U(()=>H(f)===H(t).id?`Releasing...`:`Release`)))},[()=>(W(ql),H(t),U(()=>ql(H(t).claimed_at)))]),G(`click`,m,()=>T(H(t))),q(e,n)}),j(t),q(e,t)};Y(Ie,e=>{H(d)?e(Le):(H(u),U(()=>H(u).length===0)?e(Re,1):e(ze,-1))}),j(Me),j(O);var Be=B(O,2);{let e=dn(()=>H(p)?`handoff`:`new-handoff`);cS(Be,{get drawerMode(){return H(e)},get handoff(){return H(p)},get open(){return H(m)},onClose:S,onHandoffCreated:C,onHandoffUpdated:w,get repo(){return i()}})}V(()=>{J(pe,H(n)),J(ge,H(r)),J(ye,(H(u),U(()=>H(u).length))),J(Se,(H(a),U(()=>H(a).length))),J(Fe,`${(H(u),U(()=>H(u).length))??``} active`)}),G(`click`,te,b),ma(re,()=>H(c),e=>L(c,e)),G(`change`,re,v),Fa(ce,()=>H(l),e=>L(l,e)),G(`input`,ce,v),G(`click`,le,y),q(e,D),it()}var _w={nodeRadius:18,repulsionStrength:4e3,attractionStrength:.005,centeringStrength:.01,damping:.85,minVelocity:.1,iterations:120,margin:30};function vw(e,t,n){let r=t/2,i=n/2,a=Math.min(t,n)*.35,o=e.length;return e.map((e,t)=>{let n=2*Math.PI*t/o+Math.random()*.2,s=a*(.3+Math.random()*.7);return{...e,x:r+Math.cos(n)*s,y:i+Math.sin(n)*s,vx:0,vy:0,pinned:!1}})}function yw(e,t,n,r){let i={maxVisibleNodes:240,margin:48,nodeGap:54,minCanvasWidth:108,minCanvasHeight:108,...r},a=e.slice(0,i.maxVisibleNodes),o=Math.max(i.minCanvasWidth,t),s=Math.max(i.minCanvasHeight,n),c=Math.min(i.margin,Math.max(0,(Math.min(o,s)-36)/2)),l=Math.max(i.nodeGap,o-c*2),u=Math.max(i.nodeGap,s-c*2),d=Math.max(1,Math.floor(l/i.nodeGap)),f=Math.max(1,Math.ceil(a.length/d)),p=Math.min(i.nodeGap,u/f),m=Math.min(d,a.length||1),h=Math.max(18,(o-(m-1)*i.nodeGap)/2),g=Math.max(18,Math.max(c,(s-(f-1)*p)/2));return a.map((e,t)=>{let n=t%d,r=Math.floor(t/d);return{...e,x:h+n*i.nodeGap,y:g+r*p,vx:0,vy:0,pinned:!1}})}function bw(e,t,n,r,i){if(e.length===0)return e;let a={..._w,...i},o=new Map;for(let t of e)o.set(t.id,t),o.set(t.name,t);for(let i=0;i<a.iterations;i++){let s=1-i/a.iterations;for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n],o=r.x-i.x,c=r.y-i.y,l=Math.hypot(o,c);l<1&&(l=1);let u=a.repulsionStrength/(l*l),d=o/l*u*s,f=c/l*u*s;r.pinned||(r.vx+=d,r.vy+=f),i.pinned||(i.vx-=d,i.vy-=f)}for(let e of t){let t=o.get(e.source),n=o.get(e.target);if(!t||!n)continue;let r=n.x-t.x,i=n.y-t.y,c=Math.hypot(r,i);if(c<1)continue;let l=a.attractionStrength*c*s,u=r/c*l,d=i/c*l;t.pinned||(t.vx+=u,t.vy+=d),n.pinned||(n.vx-=u,n.vy-=d)}let c=n/2,l=r/2;for(let t of e)t.pinned||(t.vx+=(c-t.x)*a.centeringStrength*s,t.vy+=(l-t.y)*a.centeringStrength*s);for(let t of e)t.pinned||(t.vx*=a.damping,t.vy*=a.damping,Math.abs(t.vx)<a.minVelocity&&Math.abs(t.vy)<a.minVelocity&&(t.vx=0,t.vy=0),t.x+=t.vx,t.y+=t.vy,t.x<a.margin&&(t.x=a.margin,t.vx=0),t.x>n-a.margin&&(t.x=n-a.margin,t.vx=0),t.y<a.margin&&(t.y=a.margin,t.vy=0),t.y>r-a.margin&&(t.y=r-a.margin,t.vy=0))}return e}var xw={person:`#22c55e`,place:`#3b82f6`,organization:`#f97316`,concept:`#a855f7`,unknown:`#6b7280`},Sw={person:`rgba(34,197,94,0.35)`,place:`rgba(59,130,246,0.35)`,organization:`rgba(249,115,22,0.35)`,concept:`rgba(168,85,247,0.35)`,unknown:`rgba(107,114,128,0.25)`};function Cw(e){return xw[e]??xw.unknown}function ww(e){return Sw[e]??Sw.unknown}function Tw(e,t){let n=e.replace(`#`,``),r=parseInt(n.length===3?n[0]+n[0]+n[1]+n[1]+n[2]+n[2]:n,16);return`rgb(${Math.min(255,(r>>16&255)+t)},${Math.min(255,(r>>8&255)+t)},${Math.min(255,(r&255)+t)})`}function Ew(e){let t=e.parentElement?.getBoundingClientRect(),n=t?t.width:800,r=t?t.height:600,i=window.devicePixelRatio||1;e.width=n*i,e.height=r*i,e.style.width=n+`px`,e.style.height=r+`px`;let a=e.getContext(`2d`);return a.scale(i,i),{width:n,height:r,dpr:i,ctx:a}}function Dw(e,t,n,r,i,a){a=Math.min(a,r/2,i/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.arcTo(t+r,n,t+r,n+a,a),e.lineTo(t+r,n+i-a),e.arcTo(t+r,n+i,t+r-a,n+i,a),e.lineTo(t+a,n+i),e.arcTo(t,n+i,t,n+i-a,a),e.lineTo(t,n+a),e.arcTo(t,n,t+a,n,a),e.closePath()}function Ow(e,t,n,r){e.strokeStyle=r?`rgba(255,255,255,0.03)`:`rgba(0,0,0,0.03)`,e.lineWidth=.5;for(let r=0;r<t;r+=30)e.beginPath(),e.moveTo(r,0),e.lineTo(r,n),e.stroke();for(let r=0;r<n;r+=30)e.beginPath(),e.moveTo(0,r),e.lineTo(t,r),e.stroke()}function kw(e,t,n,r,i,a){if(e.strokeStyle=i?`#f59e0b`:a?`rgba(148,163,184,0.4)`:`rgba(100,116,139,0.35)`,e.lineWidth=i?2.5:1.5,e.beginPath(),e.moveTo(n.x,n.y),e.lineTo(r.x,r.y),e.stroke(),t.relation_type){let i=(n.x+r.x)/2,o=(n.y+r.y)/2,s=t.relation_type;e.font=`9px system-ui,sans-serif`,e.textAlign=`center`,e.textBaseline=`bottom`;let c=e.measureText(s).width;e.fillStyle=a?`rgba(10,14,26,0.8)`:`rgba(240,244,255,0.85)`,e.fillRect(i-c/2-3,o-10,c+6,14),e.fillStyle=a?`rgba(148,163,184,0.8)`:`rgba(71,85,105,0.8)`,e.fillText(s,i,o)}}function Aw(e,t,n,r,i){let a=Cw(t.type),o=ww(t.type),s=n||r?22:18;(n||r)&&(e.shadowColor=o,e.shadowBlur=20);let c=e.createRadialGradient(t.x-4,t.y-4,2,t.x,t.y,s);if(c.addColorStop(0,i?Tw(a,40):Tw(a,60)),c.addColorStop(1,a),e.fillStyle=c,e.beginPath(),e.arc(t.x,t.y,s,0,Math.PI*2),e.fill(),e.shadowBlur=0,e.strokeStyle=r?`#f59e0b`:i?`rgba(255,255,255,0.15)`:`rgba(255,255,255,0.6)`,e.lineWidth=r?2.5:1.5,e.stroke(),t.memoryCount&&t.memoryCount>0&&(e.fillStyle=i?`#1e293b`:`#ffffff`,e.beginPath(),e.arc(t.x+s-6,t.y-s+6,9,0,Math.PI*2),e.fill(),e.fillStyle=Cw(t.type),e.font=`bold 8px system-ui,sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(String(t.memoryCount),t.x+s-6,t.y-s+6)),e.fillStyle=i?`#e2e8f0`:`#1e293b`,e.font=`bold 11px system-ui,sans-serif`,e.textAlign=`center`,e.textBaseline=`top`,e.fillText(t.name,t.x,t.y+s+4),t.description){e.fillStyle=i?`rgba(148,163,184,0.6)`:`rgba(100,116,139,0.6)`,e.font=`8px system-ui,sans-serif`;let n=t.description.length>18?t.description.slice(0,18)+`...`:t.description;e.fillText(n,t.x,t.y+s+16)}}function jw(e,t,n,r,i,a){let o=[t.name,`Type: ${t.type}`,t.description??``,t.memoryCount==null?``:`Memories: ${t.memoryCount}`].filter(Boolean);e.font=`11px system-ui,sans-serif`;let s=Math.max(...o.map(t=>e.measureText(t).width))+20,c=o.length*16+20,l=n.x+12,u=n.y-12;l+s>r&&(l=n.x-s-12),u+c>i&&(u=i-c-4),u<4&&(u=4),e.fillStyle=a?`rgba(2,6,23,0.92)`:`rgba(255,255,255,0.95)`,e.shadowColor=`rgba(0,0,0,0.2)`,e.shadowBlur=12,Dw(e,l,u,s,c,8),e.fill(),e.shadowBlur=0,e.strokeStyle=a?`rgba(148,163,184,0.2)`:`rgba(0,0,0,0.08)`,e.lineWidth=1,Dw(e,l,u,s,c,8),e.stroke(),e.textAlign=`left`,e.textBaseline=`top`;for(let t=0;t<o.length;t++)e.font=t===0?`bold 12px system-ui,sans-serif`:`10px system-ui,sans-serif`,e.fillStyle=a?`#e2e8f0`:`#1e293b`,e.fillText(o[t],l+10,u+10+t*16)}function Mw(e,t,n,r){let i=`+${n} hidden`;e.font=`bold 11px system-ui,sans-serif`,e.textAlign=`right`,e.textBaseline=`top`;let a=e.measureText(i).width+20,o=Math.max(8,t-a-12);e.fillStyle=r?`rgba(15,23,42,0.88)`:`rgba(255,255,255,0.9)`,Dw(e,o,12,a,26,999),e.fill(),e.strokeStyle=r?`rgba(148,163,184,0.28)`:`rgba(59,130,246,0.22)`,e.lineWidth=1,Dw(e,o,12,a,26,999),e.stroke(),e.fillStyle=r?`#bfdbfe`:`#1d4ed8`,e.fillText(i,o+a-10,19)}function Nw(e,t,n,r,i,a){let o=document.documentElement.classList.contains(`dark`);e.clearRect(0,0,t,n),e.fillStyle=o?`#0a0e1a`:`#f0f4ff`,e.fillRect(0,0,t,n),Ow(e,t,n,o);let s=new Map;for(let e of r)s.set(e.id,e),s.set(e.name,e);for(let t of i){let n=s.get(t.source),r=s.get(t.target);!n||!r||kw(e,t,n,r,a.selectedEdge===t,o)}for(let t of r)Aw(e,t,a.hoveredNode===t,a.selectedNode===t,o);a.hiddenNodeCount&&a.hiddenNodeCount>0&&Mw(e,t,a.hiddenNodeCount,o),a.showTooltip&&a.selectedNode&&jw(e,a.selectedNode,a.tooltipPos,t,n,o)}var Pw=K(`<div class="kg-relation-hint svelte-fsq8sk" role="status" aria-live="polite"><!> <span> <!></span></div>`);function Fw(e,t){let n=Z(t,`visibleNodeCount`,8),r=Z(t,`totalNodeCount`,8),i=Z(t,`hiddenNodeCount`,8);var a=Pw(),o=R(a);Q(o,{name:`info`,size:14,strokeWidth:1.75});var s=B(o,2),c=R(s),l=B(c),u=e=>{var t=wi();V(()=>J(t,`${i()??``} entities are hidden from the canvas and marked in the overview badge to keep the dashboard responsive.`)),q(e,t)};Y(l,e=>{i()>0&&e(u)}),j(s),j(a),V(()=>J(c,`Showing a capped overview of ${n()??``} of ${r()??``} entities because this graph has no relations. Create
|
|
150
|
-
relations or run a relation backfill to enable the connected force graph. `)),q(e,a)}var Iw=K(`<div class="kg-error svelte-1ysja8i"><!> </div>`),Lw=K(`<div class="kg-toolbar svelte-1ysja8i"><div class="kg-toolbar-left svelte-1ysja8i"><span class="section-label" style="font-size:0.68rem;"><!> Knowledge Graph</span> <span class="kg-stats svelte-1ysja8i"> </span></div> <div class="kg-toolbar-right svelte-1ysja8i"><button class="btn btn-ghost btn-sm"><!> Add Entity</button> <button class="btn btn-ghost btn-sm"><!> Add Relation</button> <button class="btn btn-ghost btn-sm"><!> Refresh</button></div></div> <!> <!>`,1);function Rw(e,t){let n=Z(t,`nodeCount`,8),r=Z(t,`edgeCount`,8),i=Z(t,`isLoading`,8),a=Z(t,`errorMsg`,8),o=Z(t,`isZeroEdgeOverview`,8),s=Z(t,`visibleNodeCount`,8),c=Z(t,`hiddenNodeCount`,8),l=Z(t,`onAddEntity`,8),u=Z(t,`onAddRelation`,8),d=Z(t,`onRefresh`,8);var f=Lw(),p=z(f),m=R(p),h=R(m);Q(R(h),{name:`share-2`,size:12,strokeWidth:1.75}),M(),j(h);var g=B(h,2),_=R(g);j(g),j(m);var v=B(m,2),y=R(v);Q(R(y),{name:`plus`,size:12,strokeWidth:2}),M(),j(y);var b=B(y,2);Q(R(b),{name:`link`,size:12,strokeWidth:2}),M(),j(b);var x=B(b,2),S=R(x);{let e=dn(()=>i()?`animate-spin`:``);Q(S,{name:`refresh-cw`,size:12,strokeWidth:2,get className(){return H(e)}})}M(),j(x),j(v),j(p);var C=B(p,2),w=e=>{var t=Iw(),n=R(t);Q(n,{name:`triangle-alert`,size:14,strokeWidth:1.75});var r=B(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(C,e=>{a()&&e(w)});var T=B(C,2),E=e=>{Fw(e,{get visibleNodeCount(){return s()},get totalNodeCount(){return n()},get hiddenNodeCount(){return c()}})};Y(T,e=>{o()&&e(E)}),V(()=>{J(_,`${n()??``} nodes · ${r()??``} edges`),x.disabled=i()}),G(`click`,y,function(...e){l()?.apply(this,e)}),G(`click`,b,function(...e){u()?.apply(this,e)}),G(`click`,x,function(...e){d()?.apply(this,e)}),q(e,f)}var zw=K(`<div class="kg-container svelte-1esn54r"><!></div>`);function Bw(e,t){var n=zw();Hi(R(n),t,`default`,{},null),j(n),q(e,n)}var Vw=K(`<p>Are you sure you want to delete entity <strong> </strong>?</p>`),Hw=K(`<p>Are you sure you want to delete this relation?</p> <p style="font-size:0.8rem;color:var(--color-text-muted);margin-top:4px;"> </p>`,1),Uw=K(`<div class="modal-header svelte-18jfbxu"><!> <span>Confirm Delete</span></div> <div class="modal-body svelte-18jfbxu"><!></div> <div class="modal-footer svelte-18jfbxu"><button class="btn btn-ghost btn-sm">Cancel</button> <button class="btn btn-sm" style="background:var(--color-danger);color:white;border:none;">Delete</button></div>`,1),Ww=K(`<div class="modal-header svelte-18jfbxu"><!> <span>Add Entity</span></div> <div class="modal-body svelte-18jfbxu"><div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="entity-name">Name *</label> <input id="entity-name" class="form-input" type="text" placeholder="Entity name"/></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="entity-type">Type</label> <select id="entity-type" class="form-select"><option>Person</option><option>Place</option><option>Organization</option><option>Concept</option><option>Unknown</option></select></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="entity-desc">Description</label> <textarea id="entity-desc" class="form-textarea" placeholder="Optional description" rows="2"></textarea></div></div> <div class="modal-footer svelte-18jfbxu"><button class="btn btn-ghost btn-sm">Cancel</button> <button class="btn btn-primary btn-sm">Create</button></div>`,1),Gw=K(`<option> </option>`),Kw=K(`<option> </option>`),qw=K(`<div class="modal-header svelte-18jfbxu"><!> <span>Add Relation</span></div> <div class="modal-body svelte-18jfbxu"><div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="rel-from">From Entity *</label> <select id="rel-from" class="form-select"><option>Select entity...</option><!></select></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="rel-to">To Entity *</label> <select id="rel-to" class="form-select"><option>Select entity...</option><!></select></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="rel-type">Relation Type *</label> <input id="rel-type" class="form-input" type="text" placeholder="e.g., knows, located_in, works_at"/></div></div> <div class="modal-footer svelte-18jfbxu"><button class="btn btn-ghost btn-sm">Cancel</button> <button class="btn btn-primary btn-sm">Create</button></div>`,1),Jw=K(`<div class="modal-overlay svelte-18jfbxu" role="button" tabindex="0" aria-label="Close"></div> <div class="modal-panel animate-fade-in-scale svelte-18jfbxu" role="dialog"><!></div>`,1);function Yw(e,t){rt(t,!1);let n=Ya(),r=Z(t,`mode`,8,`addEntity`),i=Z(t,`show`,8,!1),a=Z(t,`entityNodes`,24,()=>[]),o=Z(t,`deleteTarget`,8,null),s=I(``),c=I(`concept`),l=I(``),u=I(``),d=I(``),f=I(``);function p(){n(`close`)}function m(){n(`close`)}function h(){H(s).trim()&&(n(`addEntity`,{name:H(s).trim(),type:H(c),description:H(l).trim()||void 0}),L(s,``),L(c,`concept`),L(l,``))}function g(){!H(u)||!H(d)||!H(f).trim()||(n(`addRelation`,{from_entity:H(u),to_entity:H(d),relation_type:H(f).trim()}),L(u,``),L(d,``),L(f,``))}function _(){n(`delete`)}Ua();var v=Ti(),y=z(v),b=e=>{var t=Jw(),n=z(t),i=B(n,2),v=R(i),y=e=>{var t=Uw(),n=z(t);Q(R(n),{name:`trash`,size:14,strokeWidth:1.75}),M(2),j(n);var r=B(n,2),i=R(r),a=e=>{var t=Vw(),n=B(R(t)),r=R(n,!0);j(n),M(),j(t),V(()=>J(r,(W(o()),U(()=>o().name)))),q(e,t)},s=e=>{var t=Hw(),n=B(z(t),2),r=R(n,!0);j(n),V(()=>J(r,(W(o()),U(()=>o()?.name)))),q(e,t)};Y(i,e=>{W(o()),U(()=>o()?.type===`node`)?e(a):e(s,-1)}),j(r);var c=B(r,2),l=R(c),u=B(l,2);j(c),G(`click`,l,m),G(`click`,u,_),q(e,t)},b=e=>{var t=Ww(),n=z(t);Q(R(n),{name:`plus`,size:14,strokeWidth:1.75}),M(2),j(n);var r=B(n,2),i=R(r),a=B(R(i),2);Ta(a),j(i);var o=B(i,2),u=B(R(o),2),d=R(u);d.value=d.__value=`person`;var f=B(d);f.value=f.__value=`place`;var p=B(f);p.value=p.__value=`organization`;var g=B(p);g.value=g.__value=`concept`;var _=B(g);_.value=_.__value=`unknown`,j(u),j(o);var v=B(o,2),y=B(R(v),2);Un(y),j(v),j(r);var b=B(r,2),x=R(b),S=B(x,2);j(b),V(e=>S.disabled=e,[()=>(H(s),U(()=>!H(s).trim()))]),Fa(a,()=>H(s),e=>L(s,e)),ma(u,()=>H(c),e=>L(c,e)),Fa(y,()=>H(l),e=>L(l,e)),G(`click`,x,m),G(`click`,S,h),q(e,t)},x=e=>{var t=qw(),n=z(t);Q(R(n),{name:`link`,size:14,strokeWidth:1.75}),M(2),j(n);var r=B(n,2),i=R(r),o=B(R(i),2),s=R(o);s.value=s.__value=``,X(B(s),1,a,e=>e.name,(e,t)=>{var n=Gw(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(H(t),U(()=>H(t).name))),i!==(i=(H(t),U(()=>H(t).name)))&&(n.value=(n.__value=(H(t),U(()=>H(t).name)))??``)}),q(e,n)}),j(o),j(i);var c=B(i,2),l=B(R(c),2),p=R(l);p.value=p.__value=``,X(B(p),1,a,e=>e.name,(e,t)=>{var n=Kw(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(H(t),U(()=>H(t).name))),i!==(i=(H(t),U(()=>H(t).name)))&&(n.value=(n.__value=(H(t),U(()=>H(t).name)))??``)}),q(e,n)}),j(l),j(c);var h=B(c,2),_=B(R(h),2);Ta(_),j(h),j(r);var v=B(r,2),y=R(v),b=B(y,2);j(v),V(e=>b.disabled=e,[()=>(H(u),H(d),H(f),U(()=>!H(u)||!H(d)||!H(f).trim()))]),ma(o,()=>H(u),e=>L(u,e)),ma(l,()=>H(d),e=>L(d,e)),Fa(_,()=>H(f),e=>L(f,e)),G(`click`,y,m),G(`click`,b,g),q(e,t)};Y(v,e=>{r()===`deleteConfirm`?e(y):r()===`addEntity`?e(b,1):r()===`addRelation`&&e(x,2)}),j(i),G(`click`,n,p),q(e,t)};Y(y,e=>{i()&&e(b)}),q(e,v),it()}var Xw=K(`<div class="kg-loading"><div class="animate-spin" style="width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;"></div> <span>Loading graph...</span></div>`),Zw=K(`<div class="kg-empty"><!> <div>No knowledge graph data found</div> <div class="text-xs" style="color:var(--color-text-muted);">Add entities and relations to build your graph.</div></div>`),Qw=K(`<!> <!> <div><canvas tabindex="0"></canvas></div> <!> <!> <!>`,1);function $w(e,t){rt(t,!1);let n=Z(t,`repo`,8),r=I([]),i=I([]),a=I(!0),o=I(``),s=I(``),c=I(!1),l=I(0),u=I([]),d=[],f=new Map;function p(e){return f.get(e)}let m=I(),h,g=800,_=600,v={hoveredNode:null,selectedNode:null,selectedEdge:null,tooltipPos:{x:0,y:0},showTooltip:!1},y=I(!1),b=I(!1),x=I(!1),S=I(null),C=new Map;function w(e){let t=new Map;for(let n of e)t.set(n.id,n),t.set(n.name,n);return t}function T(){h&&Nw(h,g,_,H(u),d,{...v,hiddenNodeCount:H(l)})}async function E(e=!1){if(!n())return;let t=n();if(!(!e&&H(s)===t&&H(u).length>0)){L(a,!0),L(o,``),D();try{let e=await Ro.kgGraph(t);if(n()!==t)return;L(r,e.nodes||[]),L(i,e.edges||[]),L(s,t),O()}catch(e){if(n()!==t)return;L(s,``),L(o,e instanceof Error?e.message:`Failed to load graph`)}finally{n()===t&&L(a,!1)}}}function D(){L(r,[]),L(i,[]),L(u,[]),d=[],f=C,L(c,!1),L(l,0),v.selectedNode=null,v.selectedEdge=null,v.hoveredNode=null,v.showTooltip=!1,T()}function O(){if(!h)return;if(L(c,H(i).length===0&&H(r).length>0),H(c)){let e=yw(H(r).map(e=>({id:e.id,name:e.name,type:e.type,description:e.description,memoryCount:e.memoryCount,x:0,y:0,vx:0,vy:0,pinned:!1})),g,_);L(u,e),L(l,Math.max(0,H(r).length-e.length)),d=[],f=w(H(u)),T();return}let e=H(r).slice(0,300),t=new Set(e.map(e=>e.name));L(u,vw(e.map(e=>({id:e.id,name:e.name,type:e.type,description:e.description,memoryCount:e.memoryCount,x:0,y:0,vx:0,vy:0,pinned:!1})),g,_)),d=H(i).filter(e=>t.has(e.source)&&t.has(e.target)).map(e=>({source:e.source,target:e.target,relation_type:e.relation_type})),L(l,Math.max(0,H(r).length-e.length)),f=w(H(u)),bw(H(u),d,g,_),T()}function k(){if(!H(m))return;let e=Ew(H(m));if(g=e.width,_=e.height,h=e.ctx,H(u).length>0){if(H(c)){O();return}bw(H(u),d,g,_),T()}}function ee(e){let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;for(let e of H(u)){let t=n-e.x,i=r-e.y;if(t*t+i*i<=484){v.selectedNode=e,v.selectedEdge=null,v.tooltipPos={x:n,y:r},v.showTooltip=!0,T();return}}for(let e of d){let t=p(e.source),i=p(e.target);if(!(!t||!i)&&ie(n,r,t.x,t.y,i.x,i.y)<10){v.selectedEdge=e,v.selectedNode=null,v.showTooltip=!1,T();return}}v.selectedNode=null,v.selectedEdge=null,v.showTooltip=!1,T()}function te(e){let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;for(let e of H(u)){let t=n-e.x,i=r-e.y;if(t*t+i*i<=484){L(S,{type:`node`,name:e.name}),L(x,!0);return}}}function ne(e){e.preventDefault();let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;for(let e of d){let t=p(e.source),i=p(e.target);if(!(!t||!i)&&ie(n,r,t.x,t.y,i.x,i.y)<10){L(S,{type:`edge`,name:`${e.source} → ${e.target} (${e.relation_type})`,edge:e}),v.selectedEdge=e,v.selectedNode=null,L(x,!0),T();return}}}function re(e){let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=null;for(let e of H(u)){let t=n-e.x,a=r-e.y;if(t*t+a*a<=484){i=e;break}}i!==v.hoveredNode&&(v.hoveredNode=i,Sn(m,H(m).style.cursor=i?`pointer`:`default`),T())}function ie(e,t,n,r,i,a){let o=i-n,s=a-r,c=o*o+s*s;if(c===0)return Math.hypot(e-n,t-r);let l=((e-n)*o+(t-r)*s)/c;return l=Math.max(0,Math.min(1,l)),Math.hypot(e-(n+l*o),t-(r+l*s))}async function A(e){let{name:t,type:r,description:i}=e.detail;try{await Ro.kgCreateEntity({name:t,type:r,description:i,repo:n()}),L(y,!1),await E(!0)}catch(e){L(o,e instanceof Error?e.message:`Failed to create entity`)}}async function ae(e){let{from_entity:t,to_entity:r,relation_type:i}=e.detail;try{await Ro.kgCreateRelation({from_entity:t,to_entity:r,relation_type:i,repo:n()}),L(b,!1),await E(!0)}catch(e){L(o,e instanceof Error?e.message:`Failed to create relation`)}}async function oe(){if(H(S))try{if(H(S).type===`node`)await Ro.kgDeleteEntity(H(S).name);else if(H(S).type===`edge`){let e=H(S).edge;await Ro.kgDeleteRelation({from_entity:e.source,to_entity:e.target,relation_type:e.relation_type})}L(x,!1),L(S,null),v.selectedEdge=null,v.selectedNode=null,v.showTooltip=!1,await E(!0)}catch(e){L(o,e instanceof Error?e.message:`Failed to delete`)}}function se(){L(x,!1),L(S,null)}function ce(e){e.key===`Escape`&&(v.showTooltip=!1,v.selectedNode=null,v.selectedEdge=null,L(x,!1),L(y,!1),L(b,!1),T())}let le=null;Ka(()=>{if(H(m)){let e=Ew(H(m));g=e.width,_=e.height,h=e.ctx}n()&&E(),le=new ResizeObserver(()=>k()),H(m)?.parentElement&&le.observe(H(m).parentElement)}),qa(()=>{le?.disconnect()}),ir(()=>(W(n()),H(m),H(s),U),()=>{n()&&H(m)&&H(s)!==n()&&U(()=>E())}),ar(),Ua(),G(`keydown`,An,ce),Bw(e,{children:(e,t)=>{var n=Qw(),s=z(n);Rw(s,{get nodeCount(){return H(r),U(()=>H(r).length)},get edgeCount(){return H(i),U(()=>H(i).length)},get isLoading(){return H(a)},get errorMsg(){return H(o)},get isZeroEdgeOverview(){return H(c)},get visibleNodeCount(){return H(u),U(()=>H(u).length)},get hiddenNodeCount(){return H(l)},onAddEntity:()=>L(y,!0),onAddRelation:()=>L(b,!0),onRefresh:()=>E(!0)});var d=B(s,2),f=e=>{q(e,Xw())},p=e=>{var t=Zw();Q(R(t),{name:`share-2`,size:32,strokeWidth:1.25,className:``}),M(4),j(t),q(e,t)};Y(d,e=>{H(a)?e(f):(H(u),U(()=>H(u).length===0)&&e(p,1))});var h=B(d,2);let g;var _=R(h);Ba(_,e=>L(m,e),()=>H(m)),j(h);var v=B(h,2);Yw(v,{mode:`addEntity`,get show(){return H(y)},$$events:{addEntity:A,close:()=>L(y,!1)}});var C=B(v,2);Yw(C,{mode:`addRelation`,get show(){return H(b)},get entityNodes(){return H(u)},$$events:{addRelation:ae,close:()=>L(b,!1)}}),Yw(B(C,2),{mode:`deleteConfirm`,get show(){return H(x)},get deleteTarget(){return H(S)},$$events:{delete:oe,close:se}}),V(()=>{g=la(h,1,`kg-canvas-wrap`,null,g,{"kg-hidden":H(a)||H(u).length===0}),ka(_,`aria-label`,(H(c),H(u),H(r),U(()=>H(c)?`Knowledge Graph zero-relation overview showing ${H(u).length} of ${H(r).length} entities`:`Knowledge Graph visualization`)))}),G(`click`,_,ee),G(`dblclick`,_,te),G(`contextmenu`,_,ne),G(`mousemove`,_,re),q(e,n)},$$slots:{default:!0}}),it()}var eT={backlog:`#64748b`,pending:`#0ea5e9`,in_progress:`#a855f7`,blocked:`#ef4444`,completed:`#10b981`,canceled:`#94a3b8`},tT={backlog:`backlog`,pending:`pending`,in_progress:`in_progress`,blocked:`blocked`,completed:`completed`,canceled:`canceled`},nT=[`#06b6d4`,`#f59e0b`,`#ec4899`,`#10b981`,`#3b82f6`,`#f97316`,`#14b8a6`,`#e11d48`,`#8b5cf6`,`#84cc16`],rT=16,iT=22,aT=28,oT=new Set([`in_progress`,`pending`]),sT=34,cT=54,lT=28,uT=58,dT=42;function fT(e,t,n){return Math.min(n,Math.max(t,e))}function pT(e,t){let n=Math.max(1,e.w-sT*2),r=Math.max(1,e.h-cT-lT),i=fT(Math.floor(n/uT)+1,1,3),a=Math.max(1,Math.floor(r/dT)+1),o=t%(i*a),s=o%i,c=Math.floor(o/i),l=i>1?n/(i-1):0,u=a>1?r/(a-1):0;return{x:e.x+sT+s*l,y:e.y+cT+c*u}}var mT=[`male_nurse`,`female_nurse`,`staff1`,`staff2`];function hT(e){return e%2==0?`wheelchair`:`stretcher`}function gT(e){return mT[(e>>>4)%mT.length]}function _T(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function vT(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return nT[t%nT.length]}function yT(e,t){let n=e-32,r=t-32,i=Math.floor((r-16)/2),a=r-i-16,o=Math.floor((n-16)/2),s=Math.floor((n-32)/3);return[{id:`pending`,label:`Pending`,x:16,y:16,w:o,h:i,color:`#f59e0b`},{id:`in_progress`,label:`In Progress`,x:16+o+16,y:16,w:n-o-16,h:i,color:`#3b82f6`},{id:`backlog`,label:`Backlog`,x:16,y:16+i+16,w:s,h:a,color:`#8b5cf6`},{id:`blocked`,label:`Blocked`,x:16+s+16,y:16+i+16,w:s,h:a,color:`#ef4444`},{id:`burnout`,label:`Therapy Room`,x:16+s*2+32,y:16+i+16,w:n-s*2-32,h:a,color:`#14b8a6`}]}function bT(e,t){let n=new Map(t.map(e=>[e.id,e])),r=new Map;t.forEach(e=>r.set(e.id,[]));for(let t of e){let e=tT[t.status]??`pending`;if(!r.has(e))continue;let n=r.get(e);n.length<rT&&n.push(t)}let i=new Map;for(let[e,t]of r){let r=n.get(e);if(!r||t.length===0)continue;let a=r.w-iT*2,o=r.h-iT-aT,s=Math.max(1,Math.floor(a/65)),c=Math.ceil(t.length/s);for(;o/c<55&&s<t.length;)s++,c=Math.ceil(t.length/s);let l=a/s,u=Math.max(55,Math.min(75,o/c));t.forEach((e,t)=>{let n=t%s,a=Math.floor(t/s);i.set(e.id,{x:r.x+iT+n*l+l/2,y:r.y+aT+a*u+u/2})})}return i}function xT(e,t,n,r,i){let a=yT(i.canvasWidth,i.canvasHeight),o=bT(e,a),s=a.find(e=>e.id===`in_progress`)||a[0],c={agents:new Map,tasks:new Map,handoffs:[]};for(let t of e){let e=o.get(t.id);e&&c.tasks.set(t.id,{id:t.id,taskCode:t.task_code,title:t.title,repo:t.repo,status:t.status,priority:t.priority??3,x:e.x,y:e.y,claimedByAgentId:t.coordination?.active_claim_agent??null,hasPendingHandoff:(t.coordination?.pending_handoff_count??0)>0})}let l=new Map;for(let e of t){l.has(e.agent)||l.set(e.agent,{tasks:new Set,role:e.role,repos:new Set});let t=l.get(e.agent);t.tasks.add(e.task_id),t.repos.add(e.repo)}for(let t of e){let e=t.coordination?.active_claim_agent;if(!e)continue;l.has(e)||l.set(e,{tasks:new Set,role:t.coordination?.active_claim_role??`agent`,repos:new Set});let n=l.get(e);n.tasks.add(t.id),n.repos.add(t.repo)}Array.from(l.keys()).forEach((e,t)=>{let{tasks:n,role:i,repos:o}=l.get(e),u=r?.agents.get(e),d=s.x+s.w/2+(t%3-1)*30,f=s.y+s.h/2+(Math.floor(t/3)-1)*30,p=Array.from(n).find(e=>c.tasks.has(e)),m=p?c.tasks.get(p):null,h=Array.from(n).map(e=>c.tasks.get(e)).filter(e=>!!e).some(e=>oT.has(e.status)),g=m?m.x+20:d,_=m?m.y-18:f,v=Array.from(n).sort(),y=u?.claimedTaskIds.slice().sort()??[],b=!u||v.join(`,`)!==y.join(`,`),x=Date.now(),S=b?x:u?.lastUpdateTs??x,C=!h&&x-S>3e4,w=n.size>0?`processing`:`idle`;m&&m.status===`blocked`&&(w=`blocked`);let T=u?.handoffAnim??null;if(C){w=`burnout`;let n=pT(a.find(e=>e.id===`burnout`)||s,t);if(g=n.x,_=n.y,u?.state!==`burnout`&&!T){let t=_T(e),n=u?.x??d,r=u?.y??f;T={phase:`pickup`,vehicle:hT(t),helperVariant:gT(t),startX:n,startY:r,endX:g,endY:_,progress:0,phaseStartTs:performance.now(),wheelAngle:0,helperWalkPhase:0,helperFacing:`down`,stepBounce:0}}}else T=null;c.agents.set(e,{id:e,name:e,role:i,color:vT(e),x:u?.x??d,y:u?.y??f,targetX:g,targetY:_,vx:u?.vx??0,vy:u?.vy??0,walkPhase:u?.walkPhase??0,facing:u?.facing??`down`,state:w,claimedTaskIds:Array.from(n),repos:Array.from(o),lastUpdateTs:S,handoffAnim:T})});for(let e of n)e.status===`pending`&&c.handoffs.push({id:e.id,fromAgentId:e.from_agent,toAgentId:e.to_agent,taskId:e.task_id,summary:e.summary});return c}function ST(e){return e?.structuredContent??null}function CT(e,t,n){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id??``),repo:n,from_agent:String(r.from_agent??``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,task_code:r.task_code?String(r.task_code):null,summary:String(r.summary??``),context:r.context??{},status:String(r.status??`pending`),created_at:String(r.created_at??``),updated_at:String(r.updated_at??r.created_at??``),expires_at:r.expires_at?String(r.expires_at):null}}function wT(){let e=N({scene:null,loading:!1,error:null,lastUpdated:0,repoCount:0}),t=null,n=!1,r=null;async function i(){if(n||!r)return;let t=P(to).map(e=>e.repo);if(t.length===0){e.update(e=>({...e,loading:!1}));return}n=!0;try{let n=await Promise.allSettled(t.map(e=>Promise.allSettled([Ro.tasks({repo:e,status:`in_progress`,pageSize:10}),Ro.tasks({repo:e,status:`pending`,pageSize:8}),Ro.tasks({repo:e,status:`blocked`,pageSize:4}),Ro.coordinationClaims({repo:e,active_only:!0,pageSize:50}),Ro.callTool(`handoff-list`,{repo:e,status:`pending`,limit:10,structured:!0})]))),i=[],a=[],o=[];t.forEach((e,t)=>{let r=n[t];if(r.status===`rejected`)return;let[s,c,l,u,d]=r.value;if(s.status===`fulfilled`&&i.push(...s.value.tasks??[]),c.status===`fulfilled`&&i.push(...c.value.tasks??[]),l.status===`fulfilled`&&i.push(...l.value.tasks??[]),u.status===`fulfilled`&&a.push(...u.value.claims??[]),d.status===`fulfilled`){let t=ST(d.value),n=t?.handoffs?.columns??[],r=t?.handoffs?.rows??[];o.push(...r.map(t=>CT(n,t,e)))}});let s=Array.from(new Map(i.map(e=>[e.id,e])).values());e.update(e=>({...e,scene:xT(s,a,o,e.scene,r),loading:!1,error:null,lastUpdated:Date.now(),repoCount:t.length}))}catch(t){e.update(e=>({...e,loading:!1,error:t instanceof Error?t.message:`Failed to load arena data`}))}finally{n=!1}}function a(e){r=e}function o(n){r=n,e.update(e=>({...e,loading:!0})),i(),t!==null&&clearInterval(t),t=setInterval(()=>void i(),2500)}function s(){t!==null&&(clearInterval(t),t=null),n=!1}return{subscribe:e.subscribe,start:o,stop:s,setLayout:a,refresh:i}}var TT=85,ET=50,DT=6,OT=[2800,5e3],kT=[600,1600],AT=100,jT=800,MT=600;function NT(e){if(!e)return[0,0,0];let t=e.replace(`#`,``);t.length===3?t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t.length===8&&(t=t.slice(0,6));let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function PT(e,t){let[n,r,i]=NT(e);return`rgb(${Math.min(255,n+t)},${Math.min(255,r+t)},${Math.min(255,i+t)})`}function FT(e,t){let[n,r,i]=NT(e);return`rgb(${Math.max(0,n-t)},${Math.max(0,r-t)},${Math.max(0,i-t)})`}function IT(e,t){let[n,r,i]=NT(e);return`rgba(${n},${r},${i},${t})`}function LT(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function RT(e,t){return Math.abs(Math.sin(e*127.1+t*311.7)*43758.5453)%1}function $(e,t,n,r,i,a){a=Math.min(a,r/2,i/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.arcTo(t+r,n,t+r,n+a,a),e.lineTo(t+r,n+i-a),e.arcTo(t+r,n+i,t+r-a,n+i,a),e.lineTo(t+a,n+i),e.arcTo(t,n+i,t,n+i-a,a),e.lineTo(t,n+a),e.arcTo(t,n,t+a,n,a),e.closePath()}var zT=[`#1a0a00`,`#2d1a00`,`#0f0f0f`,`#4a2d00`,`#8B4513`,`#d4a800`,`#c0392b`,`#7b2d8b`,`#1a3a5c`,`#2d4a1a`],BT=[`#f5c89a`,`#e8a870`,`#d4875a`,`#c06840`,`#8B5e3c`,`#6b3d28`],VT=[`#1e3a5f`,`#2d4a1a`,`#3d2a1a`,`#2a1a3d`,`#1a3d3d`,`#3d1a2a`,`#2a2a3d`],HT={male_nurse:`#1e6e9e`,female_nurse:`#2d8e6e`,staff1:`#5a3e8a`,staff2:`#8a5a3e`},UT={male_nurse:`#1a0a00`,female_nurse:`#4a2d00`,staff1:`#0f0f0f`,staff2:`#2d1a00`},WT={male_nurse:`#e8a870`,female_nurse:`#f5c89a`,staff1:`#d4875a`,staff2:`#c06840`},GT=class{canvas;ctx;scene=null;layout=null;isDark=!1;hoveredId=null;rafId=0;ts=0;prevTs=0;wander=new Map;constructor(e){this.canvas=e,this.ctx=e.getContext(`2d`)}update(e,t,n){this.scene=e,this.layout=t,this.isDark=n}setHovered(e){this.hoveredId=e}start(){this.rafId=requestAnimationFrame(this.loop)}stop(){cancelAnimationFrame(this.rafId)}hitTestAgent(e,t){if(!this.scene)return null;for(let n of this.scene.agents.values()){let r=e-n.x,i=t-n.y;if(r*r+i*i<=196)return n.id}return null}loop=e=>{let t=Math.min((e-this.prevTs)/1e3,.05);if(this.prevTs=e,this.ts=e,this.scene&&this.layout){let n=yT(this.layout.canvasWidth,this.layout.canvasHeight),r=n.find(e=>e.id===`in_progress`)||n[0];this.updateAgents(t,r,e)}this.render(),this.rafId=requestAnimationFrame(this.loop)};updateAgents(e,t,n){if(this.scene)for(let r of this.scene.agents.values()){if(r.handoffAnim){this.updateHandoffAnim(r,e,n);continue}if(r.state===`idle`){let e=this.wander.get(r.id);if(e||(e={nextPickAt:n},this.wander.set(r.id,e)),n>=e.nextPickAt){r.targetX=t.x+22+Math.random()*(t.w-44),r.targetY=t.y+26+22+Math.random()*(t.h-26-44);let i=kT[0]+Math.random()*(kT[1]-kT[0]),a=OT[0]+Math.random()*(OT[1]-OT[0]);e.nextPickAt=n+i+a}if(Math.random()<.005){let e=[`up`,`down`,`left`,`right`];r.facing=e[Math.floor(Math.random()*e.length)]}}else this.wander.delete(r.id);let i=r.targetX-r.x,a=r.targetY-r.y,o=Math.hypot(i,a);if(o<DT)r.vx*=.75,r.vy*=.75,Math.abs(r.vx)<.5&&(r.vx=0),Math.abs(r.vy)<.5&&(r.vy=0);else{let e=r.state===`idle`?ET:TT,t=o<50?o/50*e+8:e;r.vx+=(i/o*t-r.vx)*.1,r.vy+=(a/o*t-r.vy)*.1}r.x+=r.vx*e,r.y+=r.vy*e;let s=Math.hypot(r.vx,r.vy);s>5?(r.walkPhase=(r.walkPhase+e*s*.07)%(Math.PI*2),r.facing=Math.abs(r.vx)>Math.abs(r.vy)?r.vx>0?`right`:`left`:r.vy>0?`down`:`up`):r.walkPhase=r.walkPhase>.05?r.walkPhase*.85:0}}updateHandoffAnim(e,t,n){let r=e.handoffAnim,i=n-r.phaseStartTs;switch(r.phase){case`pickup`:e.vx=0,e.vy=0,e.walkPhase=0,i>=jT&&(r.phase=`moving`,r.phaseStartTs=n,r.progress=0);break;case`moving`:{let i=Math.hypot(r.endX-r.startX,r.endY-r.startY),a=i/AT;r.progress=Math.min(1,r.progress+t/a);let o=r.progress,s=o<.5?2*o*o:1-(-2*o+2)**2/2;e.x=r.startX+(r.endX-r.startX)*s,e.y=r.startY+(r.endY-r.startY)*s,e.vx=0,e.vy=0;let c=t/a*i;r.wheelAngle=(r.wheelAngle+c*.15)%(Math.PI*2),r.helperWalkPhase=(r.helperWalkPhase+t*AT*.08)%(Math.PI*2),r.stepBounce=Math.sin(r.helperWalkPhase*2)*1.5;let l=r.endX-r.startX,u=r.endY-r.startY;r.helperFacing=Math.abs(l)>Math.abs(u)?l>0?`right`:`left`:u>0?`down`:`up`,r.progress>=1&&(r.phase=`arrive`,r.phaseStartTs=n,e.x=r.endX,e.y=r.endY);break}case`arrive`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0,r.helperWalkPhase=r.helperWalkPhase>.05?r.helperWalkPhase*.92:0,i>=MT&&(r.phase=`resting`,r.phaseStartTs=n,e.targetX=r.endX,e.targetY=r.endY);break;case`resting`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0;break}}render(){let{canvas:e,ctx:t,scene:n,layout:r,isDark:i,ts:a}=this;if(!r)return;let o=yT(r.canvasWidth,r.canvasHeight);t.clearRect(0,0,e.width,e.height),this.drawGlobalFloor(i);for(let e of o)this.drawRoom(e,i);if(!n)return;let s=Array.from(n.tasks.values()).sort((e,t)=>e.y-t.y);for(let e of s)this.drawWorkstation(e,i,a);this.drawClaimLinks(n,a),this.drawHandoffBeams(n,a);for(let e of n.agents.values())e.handoffAnim&&this.drawHandoffTrail(e,i,a);let c=Array.from(n.agents.values()).sort((e,t)=>e.y-t.y||(e.id===this.hoveredId?1:-1));for(let e of c)e.handoffAnim?this.drawHandoffGroup(e,i,a):this.drawCharacter(e,i,a)}drawGlobalFloor(e){let{ctx:t,canvas:n}=this;t.fillStyle=e?`#0a0e1a`:`#dde3ed`,t.fillRect(0,0,n.width,n.height),t.strokeStyle=e?`rgba(255,255,255,0.02)`:`rgba(0,0,0,0.03)`,t.lineWidth=.5;for(let e=0;e<n.width;e+=24)t.beginPath(),t.moveTo(e,0),t.lineTo(e,n.height),t.stroke();for(let e=0;e<n.height;e+=24)t.beginPath(),t.moveTo(0,e),t.lineTo(n.width,e),t.stroke()}drawRoom(e,t){let{ctx:n}=this,{x:r,y:i,w:a,h:o,color:s,id:c}=e;switch(n.save(),$(n,r,i,a,o,10),n.clip(),c){case`in_progress`:this.drawPlazaFloor(n,r,i,a,o,t);break;case`backlog`:this.drawDirtFloor(n,r,i,a,o,`#5b3a6e`,t);break;case`pending`:this.drawDirtFloor(n,r,i,a,o,`#a68246`,t);break;case`blocked`:this.drawDirtFloor(n,r,i,a,o,`#8b2a2a`,t);break;case`burnout`:this.drawCleanTileFloor(n,r,i,a,o,t);break;case`completed`:this.drawGrassFloor(n,r,i,a,o,t);break;default:this.drawWoodPlankFloor(n,r,i,a,o,t);break}let l=r+a/2,u=i+o*.35,d=n.createRadialGradient(l,u,0,l,u,Math.max(a,o)*.85);d.addColorStop(0,IT(s,t?.12:.08)),d.addColorStop(1,`rgba(0,0,0,0)`),n.fillStyle=d,n.fillRect(r,i,a,o),n.restore(),this.drawWall(n,r,i,a,t,s),n.strokeStyle=IT(s,t?.45:.35),n.lineWidth=1.5,$(n,r,i,a,o,10),n.stroke(),this.drawRoomDecor(n,e,t),this.drawZoneLabel(n,e,t)}drawPlazaFloor(e,t,n,r,i,a){let o=a?`#2e3540`:`#b0b8c4`,s=a?`#262d36`:`#a0a8b4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/24)*24;o<t+r;o+=24)for(let t=Math.floor(n/24)*24;t<n+i;t+=24)Math.round(o/24)+Math.round(t/24)&1||(e.fillStyle=s,e.fillRect(o,t,24,24)),RT(o,t)>.8&&(e.strokeStyle=a?`rgba(0,0,0,0.3)`:`rgba(0,0,0,0.1)`,e.lineWidth=1,e.beginPath(),e.moveTo(o+2,t+2),e.lineTo(o+24/2,t+24/2),e.stroke())}drawDirtFloor(e,t,n,r,i,a,o){e.fillStyle=a,e.fillRect(t,n,r,i);for(let a=t;a<t+r;a+=16)for(let t=n;t<n+i;t+=16){let n=RT(a,t);n>.5&&(e.fillStyle=o?`rgba(0,0,0,0.15)`:`rgba(255,255,255,0.1)`,e.beginPath(),e.arc(a+n*10,t+n*10,2+n*2,0,Math.PI*2),e.fill())}}drawGrassFloor(e,t,n,r,i,a){e.fillStyle=a?`#1a4020`:`#4ade80`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.1)`;for(let a=t;a<t+r;a+=12)for(let t=n;t<n+i;t+=12){let n=RT(a,t);n>.4&&(e.beginPath(),e.moveTo(a+n*5,t+8),e.lineTo(a+n*5+2,t+2),e.lineTo(a+n*5+4,t+8),e.stroke())}}drawWoodPlankFloor(e,t,n,r,i,a){let o=a?30:180,s=a?22:140,c=a?12:80;e.fillStyle=`rgb(${o},${s},${c})`,e.fillRect(t,n,r,i);for(let l=Math.floor(n/9)*9;l<n+i;l+=9){let n=Math.round(l/9),i=(RT(n,0)*30-15)*(a?.8:.6);e.fillStyle=`rgb(${Math.round(Math.min(255,Math.max(0,o+i)))},${Math.round(Math.min(255,Math.max(0,s+i)))},${Math.round(Math.min(255,Math.max(0,c+i)))})`,e.fillRect(t,l,r,9),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.07)`,e.lineWidth=.5,e.beginPath(),e.moveTo(t,l),e.lineTo(t+r,l),e.stroke();let u=n%2*55+RT(n,1)*40;for(let i=t+u;i<t+r;i+=80+RT(n,i)*20)e.beginPath(),e.moveTo(i,l),e.lineTo(i,l+9),e.stroke()}}drawCarpetFloor(e,t,n,r,i,a,o){e.fillStyle=o?`#100d18`:`#1a1535`,e.fillRect(t,n,r,i),e.strokeStyle=IT(a,.06),e.lineWidth=1;for(let a=-i;a<r+i;a+=8)e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+a+i,n+i),e.stroke();e.strokeStyle=o?`rgba(255,255,255,0.025)`:`rgba(255,255,255,0.04)`,e.lineWidth=.5;for(let a=t;a<t+r;a+=12)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=n;a<n+i;a+=12)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCrackedTileFloor(e,t,n,r,i,a){e.fillStyle=a?`#1c1410`:`#c8b89a`,e.fillRect(t,n,r,i);for(let o=Math.floor(t/18)*18;o<t+r;o+=18)for(let t=Math.floor(n/18)*18;t<n+i;t+=18){let n=RT(Math.round(o/18),Math.round(t/18)),r=(n*30-15)*(a?.7:.5);e.fillStyle=a?`rgba(255,${100+r},${50+r},0.04)`:`rgba(180,${140+r},${100+r},0.3)`,e.fillRect(o,t,18,18),n>.85&&(e.strokeStyle=a?`rgba(0,0,0,0.6)`:`rgba(100,80,60,0.5)`,e.lineWidth=.75,e.beginPath(),e.moveTo(o+n*18,t+2),e.lineTo(o+18/2+n*5,t+18/2),e.lineTo(o+18*.8,t+18-2),e.stroke())}e.strokeStyle=a?`rgba(0,0,0,0.5)`:`rgba(0,0,0,0.12)`,e.lineWidth=1;for(let a=Math.floor(t/18)*18;a<=t+r;a+=18)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/18)*18;a<=n+i;a+=18)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCleanTileFloor(e,t,n,r,i,a){let o=a?`#1a2530`:`#f0f4f8`,s=a?`#1f2d3a`:`#e8eef4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/22)*22;o<t+r;o+=22)for(let t=Math.floor(n/22)*22;t<n+i;t+=22)Math.round(o/22)+Math.round(t/22)&1||(e.fillStyle=s,e.fillRect(o+1,t+1,20,20),e.fillStyle=a?`rgba(255,255,255,0.04)`:`rgba(255,255,255,0.6)`,e.fillRect(o+3,t+3,5,5));e.strokeStyle=a?`rgba(255,255,255,0.04)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let a=Math.floor(t/22)*22;a<=t+r;a+=22)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/22)*22;a<=n+i;a+=22)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawConcreteFloor(e,t,n,r,i,a){e.fillStyle=a?`#141418`:`#b8bec8`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(255,255,255,0.03)`:`rgba(255,255,255,0.15)`,e.lineWidth=1;for(let a=n;a<n+i;a+=4)RT(0,Math.round(a))>.5&&(e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke());e.strokeStyle=a?`rgba(0,0,0,0.4)`:`rgba(0,0,0,0.1)`,e.lineWidth=1.5;for(let a=n+(80-(n%80||80));a<n+i;a+=80)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawWall(e,t,n,r,i,a){e.fillStyle=i?`#1c2130`:`#c4cad6`,$(e,t,n,r,11,0),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let i=t+24;i<t+r;i+=24)e.beginPath(),e.moveTo(i,n),e.lineTo(i,n+11),e.stroke();e.fillStyle=IT(a,.4),e.fillRect(t,n,r,2.5);let o=e.createLinearGradient(t,n+11,t,n+11+8);o.addColorStop(0,`rgba(0,0,0,0.28)`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t,n+11,r,8),e.fillStyle=i?`#253040`:`#b8bfc9`,e.fillRect(t,n,6,11),e.fillRect(t+r-6,n,6,11)}drawZoneLabel(e,t,n){let{x:r,y:i,w:a,color:o,label:s}=t,c=Math.min(a-16,92),l=r+9,u=i+3;e.fillStyle=IT(o,n?.25:.18),$(e,l,u,c,16,5),e.fill(),e.strokeStyle=IT(o,.6),e.lineWidth=.75,$(e,l,u,c,16,5),e.stroke(),e.fillStyle=o,e.font=`bold 8px system-ui,sans-serif`,e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(s.toUpperCase(),l+6,u+16/2)}drawRoomDecor(e,t,n){let{x:r,y:i,w:a,h:o,id:s}=t;switch(s){case`in_progress`:this.decorWorkspace(e,r,i,a,o,n);break;case`backlog`:this.decorArchive(e,r,i,a,o,n);break;case`pending`:this.decorLobby(e,r,i,a,o,n);break;case`blocked`:this.decorIssues(e,r,i,a,o);break;case`burnout`:this.decorTherapy(e,r,i,a,o,n);break}}decorPlaza(e,t,n,r,i,a){let o=t+r/2,s=n+i/2;e.fillStyle=a?`#1e293b`:`#94a3b8`,e.beginPath(),e.arc(o,s,24,0,Math.PI*2),e.fill(),e.fillStyle=a?`#0ea5e9`:`#38bdf8`,e.beginPath(),e.arc(o,s,20,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(255,255,255,0.4)`,e.beginPath(),e.arc(o,s,8,0,Math.PI*2),e.fill()}decorFence(e,t,n,r,i,a){e.strokeStyle=a?`#452b14`:`#8b5a2b`,e.lineWidth=4,e.strokeRect(t+4,n+4,r-8,i-8)}decorBlocked(e,t,n,r,i,a){this.decorFence(e,t,n,r,i,a),e.fillStyle=`#f97316`,[[t+20,n+i-20],[t+40,n+i-20]].forEach(([t,n])=>{e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+6,n),e.lineTo(t-6,n),e.fill()})}decorGarden(e,t,n,r,i,a){e.fillStyle=a?`#064e3b`:`#166534`,e.fillRect(t+10,n+10,20,20),e.beginPath(),e.arc(t+r-20,n+i-20,15,0,Math.PI*2),e.fill()}decorLobby(e,t,n,r,i,a){let o=t+r/2-28,s=n+i-55;this.drawSofa(e,o,s,56,a),this.drawCoffeeTable(e,t+r/2-14,n+i-32,a),this.drawPotPlant(e,t+8,n+i-18,a),this.drawPotPlant(e,t+r-18,n+i-18,a),this.drawPotPlant(e,t+8,n+28,a);let c=Math.min(r-20,70);this.drawReceptionDesk(e,t+r/2-c/2,n+24,c,a),this.drawCeilingLamp(e,t+r/2,n+14,a,this.ts)}decorInbox(e,t,n,r,i,a){this.drawLetterSorter(e,t+r-28,n+20,a),this.drawClock(e,t+18,n+20,a)}decorWorkspace(e,t,n,r,i,a){this.drawPowerStrip(e,t+12,n+i-16,Math.min(r-24,60),a),this.drawWhiteboard(e,t+r-36,n+18,a),this.drawWaterDispenser(e,t+20,n+12,a),this.drawFlowerVase(e,t+r/2,n+24,a)}decorIssues(e,t,n,r,i){e.save(),e.globalAlpha=.25,e.strokeStyle=`#f59e0b`,e.lineWidth=4,e.setLineDash([8,8]),e.beginPath(),e.moveTo(t,n+i-8),e.lineTo(t+r,n+i-8),e.stroke(),e.setLineDash([]),e.restore(),this.drawHazardSign(e,t+r/2-10,n+16)}decorDone(e,t,n,r,i,a){this.drawTrophyShelf(e,t+10,n+20,a,this.ts),this.drawPotPlant(e,t+r-18,n+i-20,a)}decorArchive(e,t,n,r,i,a){for(let i=t+10;i<t+r-22;i+=26)this.drawFilingCabinet(e,i,n+18,a);this.drawPotPlant(e,t+r-15,n+i-20,a)}drawSofa(e,t,n,r,i){let a=i?`#2d3a4a`:`#8b9eb5`,o=i?`#3a4d62`:`#a8bdd4`,s=i?`#253040`:`#7b8ea5`;e.fillStyle=a,$(e,t,n,r,8,3),e.fill(),e.fillStyle=o,$(e,t,n+7,r,10,3),e.fill(),e.fillStyle=s,$(e,t-4,n,8,17,3),e.fill(),e.fillStyle=s,$(e,t+r-4,n,8,17,3),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.07)`:`rgba(0,0,0,0.08)`,e.lineWidth=1,e.beginPath(),e.moveTo(t+r/3,n+7),e.lineTo(t+r/3,n+17),e.stroke(),e.beginPath(),e.moveTo(t+r*2/3,n+7),e.lineTo(t+r*2/3,n+17),e.stroke(),e.fillStyle=i?`#1a2030`:`#6b7c90`,[[t+2,n+15],[t+r-6,n+15]].forEach(([t,n])=>e.fillRect(t,n,4,4))}drawCoffeeTable(e,t,n,r){e.fillStyle=`rgba(0,0,0,0.15)`,e.beginPath(),e.ellipse(t+14,n+6,16,7,0,0,Math.PI*2),e.fill(),e.fillStyle=r?`#2a3545`:`#93a8be`,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a5a`:`#7a96b0`,e.lineWidth=1,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.stroke(),e.fillStyle=`rgba(255,255,255,0.1)`,e.beginPath(),e.ellipse(t+10,n+2,6,2,0,0,Math.PI*2),e.fill()}drawPotPlant(e,t,n,r){e.fillStyle=r?`#4a2d1a`:`#c4825a`,$(e,t-5,n-8,10,9,2),e.fill(),e.strokeStyle=r?`#6b4028`:`#a0643c`,e.lineWidth=.5,$(e,t-5,n-8,10,9,2),e.stroke(),e.fillStyle=r?`#2d1a0a`:`#6b4a28`,e.fillRect(t-4,n-9,8,3);let i=[`#16a34a`,`#15803d`,`#22c55e`,`#166534`];[[-5,-18,4,3,-.3],[-2,-20,4,3,0],[3,-18,4,3,.3],[-7,-14,3.5,2.5,-.5],[5,-14,3.5,2.5,.5]].forEach(([r,a,o,s,c],l)=>{e.save(),e.translate(t+r,n+a),e.rotate(c),e.fillStyle=i[l%i.length],e.beginPath(),e.ellipse(0,0,o,s,0,0,Math.PI*2),e.fill(),e.restore()})}drawReceptionDesk(e,t,n,r,i){e.fillStyle=i?`#1a2535`:`#9aafcc`,$(e,t,n,r,14,4),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a94b0`,e.lineWidth=1,$(e,t,n,r,14,4),e.stroke(),e.fillStyle=i?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.35)`,$(e,t+2,n+2,r-4,4,2),e.fill(),e.fillStyle=i?`#0f172a`:`#1e2535`,$(e,t+r/2-8,n-10,16,10,2),e.fill(),e.fillStyle=i?`#1e40af`:`#3b82f6`,$(e,t+r/2-7,n-9,14,8,1),e.fill()}drawCeilingLamp(e,t,n,r,i){e.strokeStyle=r?`#3a4555`:`#6b7a8a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-8),e.lineTo(t,n+2),e.stroke(),e.fillStyle=r?`#2a3040`:`#e8d870`,e.beginPath(),e.moveTo(t-10,n+2),e.lineTo(t+10,n+2),e.lineTo(t+8,n+10),e.lineTo(t-8,n+10),e.closePath(),e.fill();let a=.5+.5*Math.sin(i*.0015),o=e.createRadialGradient(t,n+10,0,t,n+10,35+a*5);o.addColorStop(0,r?`rgba(255,240,180,${.15+a*.05})`:`rgba(255,240,180,${.2+a*.05})`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t-40,n+10,80,45)}drawLetterSorter(e,t,n,r){e.fillStyle=r?`#2d3a50`:`#8faac0`,$(e,t,n,22,28,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#7090a8`,e.lineWidth=.75,[0,7,14,21].forEach(r=>{e.beginPath(),e.moveTo(t+1,n+r),e.lineTo(t+21,n+r),e.stroke()}),[`#ef4444`,`#f59e0b`,`#3b82f6`,`#10b981`].forEach((r,i)=>{e.fillStyle=r+`aa`,$(e,t+2,n+i*7+1,18,5,1),e.fill()})}drawClock(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f0f4fc`,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#8898b0`,e.lineWidth=1,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.stroke(),e.strokeStyle=r?`#5a6a80`:`#8898b0`,e.lineWidth=.75;for(let r=0;r<12;r++){let i=r*Math.PI/6,a=7.5;e.beginPath(),e.moveTo(t+Math.cos(i)*a,n+Math.sin(i)*a),e.lineTo(t+Math.cos(i)*(a-2),n+Math.sin(i)*(a-2)),e.stroke()}let i=new Date,a=i.getMinutes()/60*Math.PI*2-Math.PI/2,o=i.getHours()%12/12*Math.PI*2+i.getMinutes()/60*Math.PI/6-Math.PI/2;e.strokeStyle=r?`#e2e8f0`:`#1e2840`,e.lineWidth=1.5,e.lineCap=`round`,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(o)*5,n+Math.sin(o)*5),e.stroke(),e.lineWidth=1,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(a)*7,n+Math.sin(a)*7),e.stroke(),e.fillStyle=`#ef4444`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill()}drawPowerStrip(e,t,n,r,i){e.fillStyle=i?`#1a1a1a`:`#2d2d2d`,$(e,t,n,r,6,3),e.fill(),e.fillStyle=i?`#3a3a3a`:`#4a4a4a`;for(let i=6;i<r-4;i+=10)$(e,t+i,n+1,6,4,2),e.fill()}drawWhiteboard(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f8fafc`,$(e,t,n,28,22,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#b0bac8`,e.lineWidth=1,$(e,t,n,28,22,2),e.stroke(),[r?`#4ade80`:`#16a34a`,r?`#60a5fa`:`#2563eb`,r?`#f472b6`:`#db2777`].forEach((r,i)=>{e.strokeStyle=r,e.lineWidth=.75,e.beginPath(),e.moveTo(t+3,n+5+i*5),e.lineTo(t+3+8+i*4,n+5+i*5),e.stroke()})}drawHazardSign(e,t,n){e.fillStyle=`#f59e0b`,e.beginPath(),e.moveTo(t+10,n),e.lineTo(t+20,n+16),e.lineTo(t,n+16),e.closePath(),e.fill(),e.strokeStyle=`#1a1a1a`,e.lineWidth=1,e.stroke(),e.fillStyle=`#1a1a1a`,e.font=`bold 9px system-ui`,e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(`!`,t+10,n+15)}drawTrophyShelf(e,t,n,r,i){e.fillStyle=r?`#2d1a08`:`#c4825a`,$(e,t,n+20,50,5,2),e.fill(),[[`#f59e0b`,t+5],[`#94a3b8`,t+20],[`#cd7f32`,t+35]].forEach(([t,r])=>{e.fillStyle=t,e.beginPath(),e.arc(r+5,n+13,5,Math.PI,0),e.fill(),e.fillRect(r+3,n+13,4,8),$(e,r,n+20,10,4,2),e.fill()}),e.fillStyle=`rgba(245,158,11,${.08+(.5+.5*Math.sin(i*.002))*.06})`,e.beginPath(),e.ellipse(t+10,n+18,12,6,0,0,Math.PI*2),e.fill()}drawFilingCabinet(e,t,n,r){e.fillStyle=r?`#1e2535`:`#9aaec0`,$(e,t,n,20,28,2),e.fill(),e.strokeStyle=r?`#2d3a50`:`#7a98b0`,e.lineWidth=.75,$(e,t,n,20,28,2),e.stroke(),[0,9,18].forEach(i=>{e.strokeStyle=r?`#3a4a60`:`#5a7898`,e.lineWidth=.5,e.beginPath(),e.moveTo(t+1,n+i+8),e.lineTo(t+19,n+i+8),e.stroke(),e.fillStyle=r?`#4a5a70`:`#4a6888`,$(e,t+7,n+i+3,6,3,2),e.fill()})}drawFlowerVase(e,t,n,r){e.fillStyle=r?`#2d1a08`:`#8b5a2b`,$(e,t-6,n-2,12,10,1),e.fill(),e.fillStyle=r?`#1e3a8a`:`#bfdbfe`,e.beginPath(),e.ellipse(t,n-6,4,6,0,0,Math.PI*2),e.fill();let i=[`#f43f5e`,`#ec4899`,`#d946ef`];[[-3,-12],[3,-11],[0,-14]].forEach(([r,a],o)=>{e.strokeStyle=`#16a34a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+r,n+a),e.stroke(),e.fillStyle=i[o],e.beginPath(),e.arc(t+r,n+a,2.5,0,Math.PI*2),e.fill()})}drawWaterDispenser(e,t,n,r){e.fillStyle=r?`#1e293b`:`#e2e8f0`,$(e,t,n,14,24,2),e.fill(),e.strokeStyle=r?`#334155`:`#cbd5e1`,e.lineWidth=1,$(e,t,n,14,24,2),e.stroke(),e.fillStyle=r?`#0ea5e955`:`#38bdf855`,$(e,t+2,n-12,10,12,3),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(t+3,n+8,2,3),e.fillStyle=`#3b82f6`,e.fillRect(t+9,n+8,2,3),e.fillStyle=r?`#0f172a`:`#94a3b8`,$(e,t+2,n+14,10,3,1),e.fill()}drawHospitalBed(e,t,n,r){e.fillStyle=r?`#1e293b`:`#cbd5e1`,$(e,t-20,n-10,40,20,3),e.fill(),e.fillStyle=r?`#0f172a`:`#f8fafc`,$(e,t-18,n-8,36,16,2),e.fill(),e.fillStyle=r?`#1e1b4b`:`#e0e7ff`,$(e,t+10,n-6,8,12,2),e.fill(),e.fillStyle=r?`#172554`:`#bfdbfe`,$(e,t-18,n-8,20,16,2),e.fill(),e.strokeStyle=r?`#64748b`:`#94a3b8`,e.lineWidth=2,e.beginPath(),e.moveTo(t+16,n-10),e.lineTo(t+16,n-25),e.stroke(),e.fillStyle=r?`#0ea5e988`:`#38bdf888`,$(e,t+14,n-25,4,6,1),e.fill()}decorTherapy(e,t,n,r,i,a){let o={id:`burnout`,label:`Therapy Room`,x:t,y:n,w:r,h:i,color:`#14b8a6`};for(let t=0;t<6;t++){let n=pT(o,t);this.drawHospitalBed(e,n.x,n.y,a)}this.drawPotPlant(e,t+r-20,n+20,a),this.drawFlowerVase(e,t+20,n+20,a)}drawMonitorActivity(e,t,n,r,i,a,o,s){let{ctx:c}=this,l=!!e.claimedByAgentId,u=LT(e.id),d=s*.001+u%100*.01,f=n+i-6;if(c.save(),$(c,t,n,r,i,3),c.clip(),e.status===`blocked`){c.fillStyle=o?`#2a0f18`:`#3f111d`,c.fillRect(t,n,r,i),c.fillStyle=`rgba(239,68,68,0.45)`;for(let e=0;e<4;e++){let i=n+4+e*4;c.fillRect(t+4,i,r-8-(e+u)%9,1.6)}c.fillStyle=`rgba(255,255,255,${.25+Math.sin(d*5)*.12})`,c.fillRect(t+4,f-3,7,2),c.restore();return}if(l){c.fillStyle=o?`rgba(2,6,23,0.35)`:`rgba(15,23,42,0.22)`,$(c,t+3,n+3,r-6,f-n-4,2),c.fill(),c.fillStyle=`rgba(255,255,255,0.22)`,c.fillRect(t+5,n+5,r-10,1.4),c.fillStyle=`rgba(15,23,42,0.25)`,c.fillRect(t+5,n+8,7,f-n-10),c.fillStyle=`rgba(255,255,255,0.16)`,c.fillRect(t+15,n+8,r-20,f-n-10);let e=Math.floor(s/180)%6;for(let i=0;i<4;i++){let a=n+9+i*3,o=(u>>i)%9/10,s=Math.sin(d*2+i)*.5+.5,l=7+(r-25)*(.35+o*.35+s*.18);c.fillStyle=i===e%4?`rgba(255,255,255,0.78)`:`rgba(255,255,255,${.22+i*.08})`,c.fillRect(t+17,a,Math.min(r-22,l),1.4)}let i=t+18+(Math.floor(s/120)+u)%Math.max(1,r-25);Math.floor(s/300)%2==0&&(c.fillStyle=`#ffffff`,c.fillRect(i,n+17,1,4)),c.fillStyle=`rgba(255,255,255,0.2)`,c.fillRect(t+5,f-3,r-10,1.5),c.fillStyle=PT(a,55),c.fillRect(t+5,f-3,(Math.sin(d)*.5+.5)*(r-10)|0,1.5),c.restore();return}if(e.status===`pending`){c.fillStyle=o?`rgba(15,23,42,0.45)`:`rgba(255,255,255,0.16)`,$(c,t+4,n+4,r-8,f-n-5,2),c.fill(),c.fillStyle=`rgba(255,255,255,0.25)`,c.fillRect(t+6,n+6,r-12,2);for(let e=0;e<3;e++)c.fillStyle=`rgba(255,255,255,${.14+e*.06})`,c.fillRect(t+7,n+11+e*3,r-15-e*5,1.2);let e=n+9+(s*.018+u)%Math.max(1,f-n-12);c.fillStyle=`rgba(56,189,248,0.28)`,c.fillRect(t+5,e,r-10,1.2),c.restore();return}c.strokeStyle=o?`rgba(148,163,184,0.1)`:`rgba(255,255,255,0.08)`,c.lineWidth=.5;for(let e=t+5;e<t+r-4;e+=5)c.beginPath(),c.moveTo(e,n+4),c.lineTo(e,f-2),c.stroke();c.restore()}drawWorkstation(e,t,n){let{ctx:r}=this,{x:i,y:a,status:o,taskCode:s,title:c,claimedByAgentId:l,hasPendingHandoff:u,repo:d}=e,f=eT[o]??`#64748b`,p=!!l,m=a+14/2+4;r.fillStyle=t?`#1e2d3a`:`#7a98b5`,r.beginPath(),r.arc(i,m+3,8,0,Math.PI*2),r.fill(),r.fillStyle=t?`#162435`:`#6888a8`,r.fillRect(i-6,m-2,12,8),$(r,i-5,m-9,10,9,2),r.fill(),r.fillStyle=`rgba(0,0,0,0.18)`,$(r,i-50/2+3,a-14/2+5,50,16,4),r.fill();let h=r.createLinearGradient(i-50/2,a-14/2,i+50/2,a+14/2);h.addColorStop(0,t?`#1e2840`:`#d4dce8`),h.addColorStop(1,t?`#18202e`:`#c0ccd8`),r.fillStyle=h,$(r,i-50/2,a-14/2,50,14,4),r.fill(),r.strokeStyle=t?`#2d3a50`:`#a0b0c0`,r.lineWidth=1,$(r,i-50/2,a-14/2,50,14,4),r.stroke(),r.fillStyle=t?`#0d1520`:`#8090a8`,$(r,i-10,a-2,20,5,2),r.fill(),r.fillStyle=t?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.3)`,[[i-9,a-1,18,1.5],[i-8,a+1.5,16,1.5]].forEach(([e,t,n,i])=>{for(let a=0;a<5;a++)$(r,e+n/5*a+.5,t,n/5-1,i,.5),r.fill()}),r.fillStyle=t?`#0d1520`:`#8090a8`,r.beginPath(),r.ellipse(i+14,a,3,4,0,0,Math.PI*2),r.fill(),r.strokeStyle=t?`rgba(255,255,255,0.08)`:`rgba(0,0,0,0.1)`,r.lineWidth=.5,r.beginPath(),r.moveTo(i+14,a-2),r.lineTo(i+14,a+2),r.stroke(),r.fillStyle=t?`#2d3a50`:`#8090a8`,r.fillRect(i-1.5,a-14/2-7,3,8);let g=a-14/2-20-6;if(r.fillStyle=t?`#111827`:`#1f2937`,$(r,i-34/2-3,g-3,40,26,5),r.fill(),p){let e=r.createLinearGradient(i-34/2,g,i+34/2,g+20);e.addColorStop(0,PT(f,50)),e.addColorStop(1,f),r.fillStyle=e,p&&(r.shadowColor=f+`99`,r.shadowBlur=10)}else r.fillStyle=t?`#0f1929`:`#1e2d3a`;if($(r,i-34/2,g,34,20,3),r.fill(),r.shadowBlur=0,r.fillStyle=`rgba(255,255,255,0.12)`,$(r,i-34/2,g,34,20/2.5,3),r.fill(),this.drawMonitorActivity(e,i-34/2,g,34,20,f,t,n),r.fillStyle=p?`rgba(255,255,255,0.9)`:t?`#374151`:`#6b7280`,r.font=`bold 5.5px monospace`,r.textAlign=`center`,r.textBaseline=`bottom`,r.fillText(`${d.split(`/`).pop()?.slice(0,5)}·${s}`.slice(0,12),i,g+20-1),r.fillStyle=t?`rgba(148,163,184,0.65)`:`rgba(71,85,105,0.65)`,r.font=`5.5px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`,r.fillText(c.slice(0,12),i,a+14/2+2),u){let e=i+34/2,t=g-1;r.fillStyle=`#f59e0b`,r.shadowColor=`#f59e0b`,r.shadowBlur=8,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=1.5,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.stroke(),r.fillStyle=`#1a1a1a`,r.font=`bold 6.5px system-ui`,r.textAlign=`center`,r.textBaseline=`middle`,r.fillText(`!`,e,t)}}drawClaimLinks(e,t){let{ctx:n}=this;for(let r of e.agents.values())for(let i of r.claimedTaskIds){let a=e.tasks.get(i);if(!a)continue;let o=n.createLinearGradient(r.x,r.y,a.x,a.y);o.addColorStop(0,r.color+`cc`),o.addColorStop(1,(eT[a.status]??`#64748b`)+`44`),n.strokeStyle=o,n.lineWidth=1.5,n.setLineDash([5,5]),n.lineDashOffset=-(t*.022)%10,n.beginPath(),n.moveTo(r.x,r.y),n.lineTo(a.x,a.y),n.stroke()}n.setLineDash([]),n.lineDashOffset=0}drawHandoffBeams(e,t){let{ctx:n}=this;for(let r of e.handoffs){let i=e.agents.get(r.fromAgentId);if(!i)continue;let a,o;if(r.toAgentId){let t=e.agents.get(r.toAgentId);if(!t)continue;a=t.x,o=t.y}else if(r.taskId){let t=e.tasks.get(r.taskId);if(!t)continue;a=t.x,o=t.y}else continue;n.strokeStyle=`#f59e0b88`,n.lineWidth=2.5,n.setLineDash([8,5]),n.lineDashOffset=-(t*.07)%13,n.beginPath(),n.moveTo(i.x,i.y),n.lineTo(a,o),n.stroke(),n.setLineDash([]),n.lineDashOffset=0;let s=t%1600/1600,c=i.x+(a-i.x)*s,l=i.y+(o-i.y)*s;n.fillStyle=`#f59e0b`,n.shadowColor=`#f59e0b`,n.shadowBlur=8,n.beginPath(),n.arc(c,l,4,0,Math.PI*2),n.fill(),n.shadowBlur=0}}drawHandoffTrail(e,t,n){let{ctx:r}=this,i=e.handoffAnim;if(r.save(),r.strokeStyle=t?`rgba(20, 184, 166, 0.35)`:`rgba(20, 184, 166, 0.45)`,r.lineWidth=2,r.setLineDash([6,5]),r.lineDashOffset=-(n*.03)%11,r.beginPath(),r.moveTo(i.startX,i.startY),r.lineTo(i.endX,i.endY),r.stroke(),r.setLineDash([]),r.lineDashOffset=0,i.phase===`moving`){let e=n%2e3/2e3,t=i.startX+(i.endX-i.startX)*e,a=i.startY+(i.endY-i.startY)*e;r.fillStyle=`#14b8a6`,r.shadowColor=`#14b8a6`,r.shadowBlur=6,r.beginPath(),r.arc(t,a,3,0,Math.PI*2),r.fill(),r.shadowBlur=0}i.phase!==`arrive`&&(r.strokeStyle=`rgba(20, 184, 166, ${.4+.3*Math.sin(n*.004)})`,r.lineWidth=1,r.beginPath(),r.arc(i.endX,i.endY,8,0,Math.PI*2),r.stroke(),r.beginPath(),r.moveTo(i.endX-4,i.endY),r.lineTo(i.endX+4,i.endY),r.stroke(),r.beginPath(),r.moveTo(i.endX,i.endY-4),r.lineTo(i.endX,i.endY+4),r.stroke()),r.restore()}drawWheelchair(e,t,n,r,i){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.2)`,e.beginPath(),e.ellipse(0,3,14,6,0,0,Math.PI*2),e.fill(),e.fillStyle=i?`#2d3a50`:`#7a8ea0`,$(e,-10,-12,20,18,3),e.fill(),e.strokeStyle=i?`#4a5a70`:`#5a7090`,e.lineWidth=1,$(e,-10,-12,20,18,3),e.stroke(),e.fillStyle=i?`#1e3a5f`:`#3b82f6`,$(e,-8,-6,16,10,2),e.fill(),e.fillStyle=i?`#1e3055`:`#2563eb`,$(e,-8,-12,16,7,2),e.fill(),e.fillStyle=i?`#3a4a60`:`#6a7a90`,$(e,-12,-10,3,14,1),e.fill(),$(e,9,-10,3,14,1),e.fill(),[-9,9].forEach(t=>{e.strokeStyle=i?`#1a1a2a`:`#333`,e.lineWidth=2.5,e.beginPath(),e.arc(t,4,5,0,Math.PI*2),e.stroke(),e.fillStyle=i?`#4a5a70`:`#aabbc0`,e.beginPath(),e.arc(t,4,3.5,0,Math.PI*2),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a8a9a`,e.lineWidth=.75;for(let n=0;n<4;n++){let i=r+n*Math.PI/2;e.beginPath(),e.moveTo(t,4),e.lineTo(t+Math.cos(i)*4,4+Math.sin(i)*4),e.stroke()}}),[-5,5].forEach(t=>{e.fillStyle=i?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,-13,2,0,Math.PI*2),e.fill(),e.fillStyle=i?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,-13,1,0,Math.PI*2),e.fill()}),e.fillStyle=i?`#3a4a60`:`#5a7090`,$(e,-6,5,12,3,1),e.fill(),e.restore()}drawStretcher(e,t,n,r,i,a){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,4,20,7,0,0,Math.PI*2),e.fill(),e.fillStyle=a?`#2d3a50`:`#8899aa`,$(e,-18,-10,36,16,3),e.fill(),e.strokeStyle=a?`#4a5a70`:`#6a7a90`,e.lineWidth=1,$(e,-18,-10,36,16,3),e.stroke(),e.fillStyle=a?`#1a2535`:`#f0f4f8`,$(e,-16,-8,32,12,2),e.fill(),e.fillStyle=a?`#2a3a5a`:`#e0e7ff`,$(e,10,-6,6,8,2),e.fill();let o=Math.sin(i)*.8;e.fillStyle=a?`#1e3a5f`:`#bfdbfe`,$(e,-15,-7+o,22,10-o*.5,2),e.fill(),e.strokeStyle=a?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.08)`,e.lineWidth=.5,e.beginPath(),e.moveTo(-5,-7+o),e.lineTo(-5,3-o*.3),e.stroke(),[[-15,5],[15,5],[-15,-11],[15,-11]].forEach(([t,n])=>{e.fillStyle=a?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,n,3,0,Math.PI*2),e.fill(),e.fillStyle=a?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill(),e.strokeStyle=a?`#3a4a5a`:`#777`,e.lineWidth=.5;let i=r;e.beginPath(),e.moveTo(t+Math.cos(i)*3*.5,n+Math.sin(i)*3*.5),e.lineTo(t-Math.cos(i)*3*.5,n-Math.sin(i)*3*.5),e.stroke()}),e.strokeStyle=a?`#5a6a80`:`#7a8a9a`,e.lineWidth=1.5,e.beginPath(),e.moveTo(-16,-10),e.lineTo(16,-10),e.stroke(),e.beginPath(),e.moveTo(-16,6),e.lineTo(16,6),e.stroke(),e.restore()}drawHelperCharacter(e,t,n,r,i,a,o){e.save(),e.translate(t,n),i===`left`&&e.scale(-1,1);let s=HT[r],c=UT[r],l=WT[r],u=a>.1,d=u?Math.sin(a)*4:0,f=u?Math.sin(a+Math.PI)*3:0,p=u?Math.sin(a*2)*.8:0;e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,2,8,3.5,0,0,Math.PI*2),e.fill(),e.fillStyle=o?`#1a2535`:`#334155`,e.save(),e.translate(-2.5,0),e.rotate(d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,0),e.rotate(-d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.fillStyle=o?`#0f172a`:`#1e293b`,e.save(),e.translate(-2.5,d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,-d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore();let m=e.createLinearGradient(-5,-20,5,-10);m.addColorStop(0,PT(s,20)),m.addColorStop(1,s),e.fillStyle=m,$(e,-5,-20,10,11,2),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`rgba(255,255,255,0.5)`,e.fillRect(-1,-17,2,5),e.fillRect(-2.5,-15.5,5,2)),e.save(),e.translate(-6.5,-19),e.rotate(f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.save(),e.translate(6.5,-19),e.rotate(-f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.fillStyle=l,e.fillRect(-2,-22,4,3);let h=-29+p;e.fillStyle=l,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,0,Math.PI*2),e.fill(),e.fillStyle=c,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,Math.PI,0),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`#f0f0f0`,$(e,-5,h-8,10,5,2),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(-1,h-7,2,3),e.fillRect(-2,h-6,4,1)),i!==`up`&&(e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(-2,h-1,1,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(2,h-1,1,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.4)`,e.lineWidth=.75,e.beginPath(),e.arc(0,h+1.5,2,.1,Math.PI-.1),e.stroke()),e.restore()}drawHandoffGroup(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o}=e,s=i.endX-i.startX,c=i.endY-i.startY,l=Math.hypot(s,c)||1,u=-s/l,d=-c/l,f=i.vehicle===`wheelchair`?18:22,p=a+u*f,m=o+d*f+i.stepBounce,h=1;if(i.phase===`pickup`){let e=n-i.phaseStartTs;h=Math.min(1,e/400)}else if(i.phase===`arrive`){let e=n-i.phaseStartTs;h=Math.max(0,1-e/MT)}else i.phase===`resting`&&(h=0);if(i.vehicle===`wheelchair`)this.drawWheelchair(r,a,o,i.wheelAngle,t);else{let e=n*.002;this.drawStretcher(r,a,o,i.wheelAngle,e,t)}this.drawPassiveAgent(e,t,n),h>.01&&(r.save(),r.globalAlpha=h,this.drawHelperCharacter(r,p,m,i.helperVariant,i.helperFacing,i.phase===`moving`?i.helperWalkPhase:0,t),r.restore()),r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let g=e.name.length>12?e.name.slice(0,12)+`…`:e.name;r.fillText(g,a,o+(i.vehicle===`stretcher`?14:12)),i.phase===`moving`&&this.drawRollingSFX(r,a,o,i.wheelAngle,i.vehicle,t,n)}drawPassiveAgent(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o,name:s,color:c}=e,l=LT(s||``),u=zT[l%zT.length]||`#000`,d=BT[(l>>>6)%BT.length]||`#f5c89a`;if(i.vehicle===`wheelchair`)r.save(),r.translate(a,o),r.fillStyle=c||`#64748b`,$(r,-5,-16,10,8,2),r.fill(),r.fillStyle=d,r.beginPath(),r.ellipse(0,-24,6,7,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(0,-24,6,7,0,Math.PI,0),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(-2,-24,1.5,0,Math.PI),r.stroke(),r.beginPath(),r.arc(2,-24,1.5,0,Math.PI),r.stroke(),r.fillStyle=d,r.beginPath(),r.ellipse(-10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.beginPath(),r.ellipse(10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.restore();else{r.save(),r.translate(a,o);let e=Math.sin(n*.002)*.5;r.fillStyle=d,r.beginPath(),r.ellipse(10,-1+e,5,6,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(10,-1+e,5,6,0,Math.PI*.8,Math.PI*2.2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=.75,r.beginPath(),r.arc(9,-2+e,1,0,Math.PI),r.stroke(),r.beginPath(),r.arc(12,-2+e,1,0,Math.PI),r.stroke(),r.restore()}}drawRollingSFX(e,t,n,r,i,a,o){e.save();let s=.15+.1*Math.sin(o*.01);e.strokeStyle=a?`rgba(148,163,184,${s})`:`rgba(71,85,105,${s})`,e.lineWidth=1,(i===`wheelchair`?[[-9,n+4],[9,n+4]]:[[-15,n+5],[15,n+5],[-15,n-11],[15,n-11]]).forEach(([n,i])=>{for(let a=0;a<2;a++){let o=(r+a*Math.PI)%(Math.PI*2),s=t+n-3-a*2,c=i+Math.sin(o)*2;e.beginPath(),e.moveTo(s,c-1),e.lineTo(s-3,c),e.stroke()}}),e.restore()}drawCharacter(e,t,n){let{ctx:r}=this,{walkPhase:i,facing:a,state:o,name:s,id:c}=e,{x:l,y:u}=e,d=e.color||`#64748b`,f=c===this.hoveredId,p=Math.hypot(e.vx,e.vy)>5,m=LT(s||``),h=zT[m%zT.length]||`#000`,g=VT[(m>>>3)%VT.length]||`#1e3a5f`,_=BT[(m>>>6)%BT.length]||`#f5c89a`,v=m%5,y=PT(d,30),b=o===`processing`&&!p,x=n*.018+m%20,S=p?Math.sin(i)*5:0,C=p?Math.sin(i+Math.PI)*4:0,w=p?Math.sin(i*2)*1.2:0;b&&(C=Math.sin(x)*5,w=Math.sin(x*.55)*.8,u+=Math.sin(x*.35)*.7),o===`blocked`?l+=Math.sin(n*.05)*1.5:o===`idle`&&!p&&(u+=Math.sin(n*.003+m)*1),r.fillStyle=`rgba(0,0,0,0.22)`,r.beginPath(),r.ellipse(l,u+3,11,5,0,0,Math.PI*2),r.fill(),f&&(r.strokeStyle=d,r.lineWidth=2,r.setLineDash([4,3]),r.beginPath(),r.arc(l,u-24+w,16,0,Math.PI*2),r.stroke(),r.setLineDash([])),r.save(),r.translate(l,u),o===`burnout`?(r.rotate(Math.PI/2),r.translate(0,15)):b?(r.rotate(Math.sin(x*.45)*.03),r.translate(0,1)):a===`left`&&r.scale(-1,1),r.fillStyle=g,r.save(),r.translate(-3.5,0),r.rotate(S*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.save(),r.translate(3.5,0),r.rotate(-S*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.fillStyle=FT(g,30),r.save(),r.translate(-3.5,S*.5),$(r,-3,4,7,4,2),r.fill(),r.restore(),r.save(),r.translate(3.5,-S*.5),$(r,-3,4,7,4,2),r.fill(),r.restore();let T=r.createLinearGradient(-7,-26,7,-13);T.addColorStop(0,y),T.addColorStop(1,d),r.fillStyle=T,$(r,-7,-26,14,14,3),r.fill(),r.fillStyle=PT(d,45),$(r,-3.5,-26,7,5,2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.12)`,r.lineWidth=.75,r.beginPath(),r.moveTo(0,-26),r.lineTo(0,-13),r.stroke(),r.save(),r.translate(-9,-24),r.rotate(b?.55+Math.max(0,Math.sin(x))*.28:C*.12);let E=r.createLinearGradient(-2,0,2,10);E.addColorStop(0,y),E.addColorStop(1,d),r.fillStyle=E,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.save(),r.translate(9,-24),r.rotate(b?-.55-Math.max(0,Math.sin(x+Math.PI))*.28:-C*.12),r.fillStyle=E,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.fillStyle=_,r.fillRect(-2.5,-28,5,4);let D=-38+w;r.fillStyle=`rgba(0,0,0,0.15)`,r.beginPath(),r.ellipse(1,D+2,9,5,0,0,Math.PI*2),r.fill();let O=r.createRadialGradient(-3,D-3,2,0,D,10);if(O.addColorStop(0,PT(_,15)),O.addColorStop(1,_),r.fillStyle=O,r.beginPath(),r.ellipse(0,D,9,10,0,0,Math.PI*2),r.fill(),this.drawHair(r,0,D,h,v),a!==`up`&&this.drawFace(r,0,D,_,a,p,i,o,n,m),r.restore(),o!==`idle`&&o!==`burnout`){let e=o===`blocked`?`#ef4444`:o===`processing`?`#a855f7`:o===`claiming`?`#0ea5e9`:`#f59e0b`,t=l+(a===`left`?-10:10),n=u-48+w;r.fillStyle=e,r.shadowColor=e,r.shadowBlur=10,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=2,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.stroke(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(t,n,6,0,Math.PI*2),r.stroke()}if(o===`processing`){let e=.4+.6*Math.sin(n*.0028);if(r.strokeStyle=IT(d,.18+e*.14),r.lineWidth=1.5,r.beginPath(),r.arc(l,u-38+w,17+e*4,0,Math.PI*2),r.stroke(),b)for(let e=0;e<4;e++){let t=(x+e*.9)%(Math.PI*2),n=Math.max(0,Math.sin(t));n<.25||(r.fillStyle=IT(d,n*.75),r.beginPath(),r.arc(l-9+e*6,u-11-n*3,1.1+n*.9,0,Math.PI*2),r.fill())}for(let e=0;e<3;e++){let t=.3+.7*Math.sin(n*.004+e*1.1);r.fillStyle=IT(d,.5+t*.5),r.beginPath(),r.arc(l+(-5+e*5),u-54+w,1.5+t,0,Math.PI*2),r.fill()}}if(o===`burnout`){let e=n*.002%(Math.PI*2);for(let t=0;t<3;t++){let n=(e+t*(Math.PI*2/3))%(Math.PI*2),i=Math.max(0,Math.sin(n)),a=l+5+Math.cos(n)*5+n*2,o=u-10-n*8;r.fillStyle=`rgba(150, 150, 200, ${i})`,r.font=`bold ${8+n*1.5}px monospace`,r.fillText(`Z`,a,o)}}r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let k=s.length>12?s.slice(0,12)+`…`:s;r.fillText(k,l,u+12)}drawHair(e,t,n,r,i){switch(e.fillStyle=r,i){case 0:e.beginPath(),e.ellipse(t,n,9,10,0,Math.PI,0),e.fill(),e.fillRect(t-9,n-2,3,5),e.fillRect(t+6,n-2,3,5);break;case 1:for(let r=-2;r<=2;r++)e.beginPath(),e.moveTo(t+r*4-2,n-7),e.lineTo(t+r*4,n-14),e.lineTo(t+r*4+2,n-7),e.closePath(),e.fill();e.beginPath(),e.ellipse(t,n-5,9,4,0,0,Math.PI*2),e.fill();break;case 2:e.save(),e.translate(t,n),e.beginPath(),e.moveTo(-9,-2),e.bezierCurveTo(-11,-12,10,-16,11,-6),e.lineTo(9,0),e.bezierCurveTo(4,-8,-4,-10,-9,-2),e.closePath(),e.fill(),e.restore();break;case 3:e.beginPath(),e.arc(t,n,9.5,Math.PI,0),e.fill(),$(e,t-10,n,4,12,2),e.fill(),$(e,t+6,n,4,12,2),e.fill();break;case 4:e.fillStyle=FT(r,20),$(e,t-12,n-6,24,5,2),e.fill(),e.fillStyle=r,$(e,t-9,n-16,18,12,3),e.fill(),e.fillStyle=PT(r,40),$(e,t-3,n-11,6,4,1),e.fill();break}}drawFace(e,t,n,r,i,a,o,s,c,l){if(i===`right`)e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.ellipse(t+5,n-2,1.5,1.5,0,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.2)`,e.lineWidth=1,e.beginPath(),e.arc(t+9,n,3,-.5,.5),e.stroke();else if(s===`burnout`){if((l||0)%2==0){e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1;let r=(c||0)*.005%(Math.PI*2);e.save(),e.translate(t-3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore(),e.save(),e.translate(t+3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore()}else e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1.5,e.beginPath(),e.arc(t-3,n-2,2.5,0,Math.PI),e.stroke(),e.beginPath(),e.arc(t+3,n-2,2.5,0,Math.PI),e.stroke();e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,e.beginPath(),e.arc(t,n+3,2,Math.PI,Math.PI*2),e.stroke()}else{e.fillStyle=`white`,e.beginPath(),e.ellipse(t-3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.beginPath(),e.ellipse(t+3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(20,20,80,0.85)`,e.beginPath(),e.arc(t-3,n-2,1.3,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+3,n-2,1.3,0,Math.PI*2),e.fill(),e.fillStyle=`white`,e.beginPath(),e.arc(t-3.5,n-2.5,.5,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+2.5,n-2.5,.5,0,Math.PI*2),e.fill();let r=a&&Math.sin(o)>.5;e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,r?(e.beginPath(),e.arc(t,n+2,2,0,Math.PI),e.stroke()):(e.beginPath(),e.moveTo(t-2.5,n+2.5),e.quadraticCurveTo(t,n+4,t+2.5,n+2.5),e.stroke())}}},KT=K(`<span class="badge loading svelte-1pykpun"><span class="animate-spin" style="display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%"></span> Loading…</span>`),qT=K(`<span class="badge error svelte-1pykpun"><!> Error</span>`),JT=K(`<span class="badge live svelte-1pykpun"><span class="pulse-dot svelte-1pykpun"></span> Live · <strong> </strong> <strong> </strong> <!></span>`),YT=K(`<div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Repos</span> <span class="tip-repos svelte-1pykpun"> </span></div>`),XT=K(`<div class="agent-tip glass svelte-1pykpun"><div class="tip-name svelte-1pykpun"><span class="tip-dot svelte-1pykpun"></span> </div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Role</span><span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">State</span> <span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Tasks</span><span> </span></div> <!></div>`),ZT=K(`<div class="arena-empty svelte-1pykpun"><!> <div style="font-weight:700;font-size:0.9rem">No active agents</div> <div class="arena-empty-sub svelte-1pykpun">Agents appear here when they claim tasks across your repositories</div></div>`),QT=K(`<div class="arena-root glass card animate-fade-in svelte-1pykpun"><div class="arena-hdr svelte-1pykpun"><div class="arena-hdr-left svelte-1pykpun"><div class="arena-icon svelte-1pykpun"><!></div> <div><div class="section-label" style="margin:0">Agent Arena</div> <div class="arena-sub svelte-1pykpun">Live 2D view · all repositories</div></div></div> <div class="arena-hdr-right svelte-1pykpun"><!></div></div> <div class="arena-wrap svelte-1pykpun"><canvas class="arena-canvas svelte-1pykpun"></canvas> <!> <!></div> <div class="arena-footer svelte-1pykpun"><div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#8b5cf6"></span>Lobby (idle)</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#0ea5e9"></span>Inbox</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#a855f7"></span>Workspace</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#ef4444"></span>Issues</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#10b981"></span>Done</div></div> <div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-bubble svelte-1pykpun"></span>Working agent</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun" style="border-color:#f59e0b"></span>Handoff beam</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun"></span>Claim link</div></div></div></div>`);function $T(e,t){rt(t,!1);let n=()=>F(p,`$arena`,i),r=()=>F(Qa,`$theme`,i),[i,a]=Et(),o=I(),s=I(),c=I(),l=I(null),u=I(null),d=I(null),f=I(null),p=wT();function m(){if(!H(s)||!H(c))return;let e=H(c).clientWidth||960,t=Math.max(520,Math.min(window.innerHeight-220,800));Sn(s,H(s).width=e),Sn(s,H(s).height=t),L(u,{canvasWidth:e,canvasHeight:t}),H(l)||(L(l,new GT(H(s))),H(l).start()),p.setLayout(H(u)),n().scene&&H(l).update(n().scene,H(u),r()===`dark`)}function h(e){if(!H(l)||!n().scene){L(d,null),L(f,null);return}let t=H(s).getBoundingClientRect(),r=H(s).width/t.width,i=H(s).height/t.height,a=(e.clientX-t.left)*r,o=(e.clientY-t.top)*i,c=H(l).hitTestAgent(a,o);c!==H(d)&&(L(d,c),H(l).setHovered(H(d))),L(f,H(d)?{x:e.clientX-t.left+14,y:e.clientY-t.top-10}:null)}function g(){L(d,null),L(f,null),H(l)?.setHovered(null)}Ka(()=>{let e=setTimeout(()=>{m(),H(u)&&p.start(H(u))},60),t=new ResizeObserver(()=>m());return t.observe(H(c)),()=>{clearTimeout(e),t.disconnect()}}),qa(()=>{p.stop(),H(l)?.stop()}),ir(()=>(H(l),n(),H(u),r()),()=>{H(l)&&n().scene&&H(u)&&H(l).update(n().scene,H(u),r()===`dark`)}),ir(()=>(H(d),n()),()=>{L(o,H(d)&&n().scene?n().scene.agents.get(H(d))??null:null)}),ar(),Ua();var _=QT(),v=R(_),y=R(v),b=R(y);Q(R(b),{name:`cpu`,size:16,strokeWidth:1.75}),j(b),M(2),j(y);var x=B(y,2),S=R(x),C=e=>{q(e,KT())},w=e=>{var t=qT();Q(R(t),{name:`alert-circle`,size:11}),M(),j(t),q(e,t)},T=e=>{var t=JT(),r=B(R(t),2),i=R(r,!0);j(r);var a=B(r),o=B(a),s=R(o,!0);j(o);var c=B(o),l=B(c),u=e=>{var t=wi();V(()=>J(t,` · ${(n(),U(()=>n().repoCount))??``} repos`)),q(e,t)};Y(l,e=>{n(),U(()=>n().repoCount>1)&&e(u)}),j(t),V(()=>{J(i,(n(),U(()=>n().scene.agents.size))),J(a,` ${(n(),U(()=>n().scene.agents.size===1?`agent`:`agents`))??``}
|
|
149
|
+
TSK-001,Example Task,Phase 1,Example task description,backlog,3`};function nC(e){let t=N(null),n=N([]),r=N([]),i=N(``),a=N(``),o=N(!1),s=N(!1);function c(){t.set(null),n.set([]),r.set([]),i.set(``),a.set(``),o.set(!1)}function l(){s.set(!1),c(),e.onClose&&e.onClose()}function u(){s.set(!0)}function d(e){let t=e.split(/\r?\n/).filter(e=>e.trim()!==``);if(t.length===0)return{headers:[],rows:[]};let n=e=>{let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`"`&&e[i+1]===`"`?(n+=`"`,i++):a===`"`?r=!r:a===`,`&&!r?(t.push(n.trim()),n=``):n+=a}return t.push(n.trim()),t},r=n(t[0]).filter(e=>e!==``);return{headers:r,rows:t.slice(1).map(n).map(e=>{let t={};return r.forEach((n,r)=>{let i=n.toLowerCase().replace(/[^a-z0-9_]/g,`_`);t[i]=e[r]}),t})}}function f(e){if(a.set(``),!e.name.endsWith(`.csv`)){a.set(`Please select a valid .csv file.`);return}t.set(e),i.set(e.name);let o=new FileReader;o.onload=e=>{let t=e.target?.result,i=d(t);r.set(i.headers),n.set(i.rows),i.rows.length===0&&a.set(`CSV file appears to be empty or missing headers.`)},o.readAsText(e)}function p(e){let t=e.target.files?.[0];t&&f(t)}function m(e){e.preventDefault();let t=e.dataTransfer?.files?.[0];t&&f(t)}function h(){let t=tC[e.importTarget],n=new Blob([t],{type:`text/csv;charset=utf-8;`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.setAttribute(`href`,r),i.setAttribute(`download`,`example_${e.importTarget}.csv`),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function g(){let t=[];if(n.subscribe(e=>t=e)(),a.set(``),t.length===0){a.set(`No data to import.`);return}o.set(!0);try{let n=0;n=e.importTarget===`memories`?(await Ro.bulkImportMemories(e.repo,t)).count:(await Ro.bulkImportTasks(e.repo,t)).count,Ho(`Imported ${n} ${e.importTarget} successfully.`),e.onSuccess&&e.onSuccess(),l()}catch(e){a.set(e instanceof Error?e.message:`Import failed`)}finally{o.set(!1)}}return{file:t,csvData:n,headers:r,fileName:i,errorMsg:a,isSubmitting:o,isOpen:s,open:u,close:l,handleFileSelect:p,handleFileDrop:m,downloadExample:h,handleImport:g,setFile:e=>t.set(e),setCsvData:e=>n.set(e)}}var rC=K(`<div class="drop-zone svelte-lenod"><div class="drop-zone-content svelte-lenod"><div style="color: var(--color-text-muted)" class="svelte-lenod"><!></div> <p class="svelte-lenod">Drag and drop your <strong class="svelte-lenod">.csv</strong> file here</p> <span class="text-xs text-slate-500 mb-4 svelte-lenod">or click to browse from your computer</span> <label class="btn btn-primary btn-md cursor-pointer svelte-lenod">Select CSV File <input type="file" accept=".csv" class="hidden svelte-lenod"/></label></div></div> <div class="mt-6 flex flex-col items-center svelte-lenod"><p class="text-[0.8rem] text-slate-400 mb-2 svelte-lenod">Need a starting point?</p> <button class="btn btn-ghost btn-sm svelte-lenod"><!> </button></div>`,1),iC=K(`<th class="svelte-lenod"> </th>`),aC=K(`<td class="svelte-lenod"> </td>`),oC=K(`<tr class="svelte-lenod"></tr>`),sC=K(`<div class="file-info flex items-center justify-between p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg mb-4 svelte-lenod"><div class="flex items-center gap-3 svelte-lenod"><div style="color: #0ea5e9; display: flex;" class="svelte-lenod"><!></div> <div class="svelte-lenod"><div class="text-sm font-semibold svelte-lenod"> </div> <div class="text-[0.7rem] text-slate-400 svelte-lenod"> </div></div></div> <button class="btn btn-ghost btn-sm text-red-500 svelte-lenod">Change File</button></div> <div class="preview-container svelte-lenod"><div class="preview-header svelte-lenod"><span class="svelte-lenod">Data Preview (First 5 rows)</span></div> <div class="table-wrapper svelte-lenod"><table class="svelte-lenod"><thead class="svelte-lenod"><tr class="svelte-lenod"></tr></thead><tbody class="svelte-lenod"></tbody></table></div></div>`,1),cC=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),lC=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),uC=K(`<!> Start Import`,1),dC=K(`<div class="modal-backdrop svelte-lenod"><div class="modal-content svelte-lenod"><div class="modal-header svelte-lenod"><div class="flex items-center gap-2 svelte-lenod"><div class="header-icon svelte-lenod" style="color: #0ea5e9"><!></div> <h3 class="svelte-lenod"> </h3></div> <button class="btn btn-ghost btn-sm close-btn svelte-lenod"><!></button></div> <div class="modal-body svelte-lenod"><div class="p-6 svelte-lenod"><!> <!></div></div> <div class="modal-footer svelte-lenod"><button class="btn btn-ghost svelte-lenod">Cancel</button> <button class="btn btn-primary svelte-lenod"><!></button></div></div></div>`);function fC(e,t){rt(t,!1);let n=()=>F(H(d),`$file`,l),r=()=>F(H(f),`$csvData`,l),i=()=>F(H(p),`$headers`,l),a=()=>F(H(m),`$fileName`,l),o=()=>F(H(h),`$errorMsg`,l),s=()=>F(H(g),`$isSubmitting`,l),c=()=>F(H(_),`$composableIsOpen`,l),[l,u]=Et(),d=I(),f=I(),p=I(),m=I(),h=I(),g=I(),_=I(),v=I(),y=I(),b=I(),x=I(),S=I(),C=I(),w=I(),T=I(),E=I(),D=I(),O=I(),k=I(),ee=I(),te=Z(t,`repo`,8),ne=Z(t,`importTarget`,8,`memories`),re=Z(t,`isOpen`,12,!1),ie=Ya(),A=I();function ae(e){L(A,nC({repo:te(),importTarget:e,onSuccess:()=>ie(`success`),onClose:()=>{re(!1),ie(`close`)}}))}ae(ne()),ir(()=>W(ne()),()=>{ne()&&ae(ne())}),ir(()=>(H(A),W(re())),()=>{H(A).isOpen.set(re())}),ir(()=>H(A),()=>{wt(L(d,H(A).file),`$file`,l)}),ir(()=>H(A),()=>{wt(L(f,H(A).csvData),`$csvData`,l)}),ir(()=>H(A),()=>{wt(L(p,H(A).headers),`$headers`,l)}),ir(()=>H(A),()=>{wt(L(m,H(A).fileName),`$fileName`,l)}),ir(()=>H(A),()=>{wt(L(h,H(A).errorMsg),`$errorMsg`,l)}),ir(()=>H(A),()=>{wt(L(g,H(A).isSubmitting),`$isSubmitting`,l)}),ir(()=>H(A),()=>{wt(L(_,H(A).isOpen),`$composableIsOpen`,l)}),ir(()=>H(A),()=>{L(v,H(A).close)}),ir(()=>H(A),()=>{L(y,H(A).handleFileSelect)}),ir(()=>H(A),()=>{L(b,H(A).handleFileDrop)}),ir(()=>H(A),()=>{L(x,H(A).downloadExample)}),ir(()=>H(A),()=>{L(S,H(A).handleImport)}),ir(()=>H(A),()=>{L(C,H(A).setFile)}),ir(()=>H(A),()=>{L(w,H(A).setCsvData)}),ir(()=>n(),()=>{L(T,n())}),ir(()=>r(),()=>{L(E,r())}),ir(()=>i(),()=>{L(D,i())}),ir(()=>a(),()=>{L(O,a())}),ir(()=>o(),()=>{L(k,o())}),ir(()=>s(),()=>{L(ee,s())}),ar(),Ua();var oe=Ti(),se=z(oe),ce=e=>{var n=dC(),r=R(n),i=R(r),a=R(i),o=R(a);Q(R(o),{name:`upload-cloud`,size:18}),j(o);var s=B(o,2),c=R(s);j(s),j(a);var l=B(a,2);Q(R(l),{name:`x`,size:18,strokeWidth:2}),j(l),j(i);var u=B(i,2),d=R(u),f=R(d),p=e=>{var n=rC(),r=z(n),i=R(r),a=R(i);Q(R(a),{name:`file-up`,size:48,strokeWidth:1}),j(a);var o=B(a,6),s=B(R(o));j(o),j(i),j(r);var c=B(r,2),l=B(R(c),2),u=R(l);Q(u,{name:`download`,size:14,className:`mr-2`});var d=B(u);j(l),j(c),V(()=>J(d,` Download Example ${ne()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,Ha(function(e){Ga.call(this,t,e)})),G(`drop`,r,function(...e){H(b)?.apply(this,e)}),G(`click`,l,function(...e){H(x)?.apply(this,e)}),q(e,n)},m=e=>{var t=sC(),n=z(t),r=R(n),i=R(r);Q(R(i),{name:`file-type-2`,size:24}),j(i);var a=B(i,2),o=R(a),s=R(o,!0);j(o);var c=B(o,2),l=R(c);j(c),j(a),j(r);var u=B(r,2);j(n);var d=B(n,2),f=B(R(d),2),p=R(f),m=R(p),h=R(m);X(h,7,()=>H(D),(e,t)=>`${t}-${e}`,(e,t)=>{var n=iC(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(h),j(m);var g=B(m);X(g,7,()=>(H(E),U(()=>H(E).slice(0,5))),(e,t)=>`${t}-${JSON.stringify(e)}`,(e,t)=>{var n=oC();X(n,7,()=>H(D),(e,t)=>`${t}-${e}`,(e,n)=>{var r=aC(),i=R(r,!0);j(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),j(n),q(e,n)}),j(g),j(p),j(f),j(d),V(()=>{J(s,H(O)),J(l,`${(H(E),U(()=>H(E).length))??``} rows found`)}),G(`click`,u,()=>{H(C)(null),H(w)([])}),q(e,t)};Y(f,e=>{H(T)?e(m,-1):e(p)});var h=B(f,2),g=e=>{var t=cC(),n=R(t);Q(n,{name:`triangle-alert`,size:16});var r=B(n,2),i=R(r,!0);j(r),j(t),V(()=>J(i,H(k))),q(e,t)};Y(h,e=>{H(k)&&e(g)}),j(d),j(u);var _=B(u,2),te=R(_),re=B(te,2),ie=R(re),A=e=>{var t=lC();M(),q(e,t)},ae=e=>{var t=uC();Q(z(t),{name:`check`,size:16,className:`mr-2`}),M(),q(e,t)};Y(ie,e=>{H(ee)?e(A):e(ae,-1)}),j(re),j(_),j(r),j(n),V(()=>{J(c,`Bulk Import ${ne()===`memories`?`Memories`:`Tasks`}`),te.disabled=H(ee),re.disabled=(H(ee),H(E),U(()=>H(ee)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,te,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(S)?.apply(this,e)}),Zi(3,r,()=>eC,()=>({duration:200,start:.95})),G(`click`,r,Va(function(e){Ga.call(this,t,e)})),Zi(3,n,()=>$S,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(se,e=>{c()&&e(ce)}),q(e,oe),it(),u()}var pC=K(`<option> </option>`),mC=K(`<option> </option>`),hC=K(`<div class="modal-backdrop svelte-l0ytfo" role="button" tabindex="-1" aria-label="Close modal"></div> <div class="modal-panel animate-fade-in svelte-l0ytfo" role="dialog" aria-modal="true" aria-labelledby="modal-title" tabindex="-1"><div class="modal-header svelte-l0ytfo"><div class="modal-header-icon svelte-l0ytfo"><!></div> <div><div id="modal-title" class="modal-title svelte-l0ytfo">New Task</div> <div class="modal-subtitle svelte-l0ytfo">Add a task to the current repository</div></div> <button class="modal-close-btn svelte-l0ytfo" aria-label="Close"><!></button></div> <div class="modal-body svelte-l0ytfo"><div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_code">Task Code <span class="required svelte-l0ytfo">*</span></label> <input id="new_task_code" class="form-input" placeholder="TASK-001"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_phase">Phase</label> <input id="new_task_phase" class="form-input" placeholder="Implementation"/></div></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_title">Title <span class="required svelte-l0ytfo">*</span> <span class="field-hint svelte-l0ytfo"> </span></label> <input id="new_task_title" class="form-input" placeholder="Short, descriptive task title" maxlength="80"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_description">Description</label> <textarea id="new_task_description" class="form-textarea modal-textarea svelte-l0ytfo" placeholder="What needs to be done? Include context, acceptance criteria, etc." rows="4"></textarea></div> <div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_status">Status</label> <select id="new_task_status" class="form-select"></select></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_priority">Priority</label> <select id="new_task_priority" class="form-select"></select></div></div></div> <div class="modal-footer svelte-l0ytfo"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-l0ytfo"><!> Create Task</button></div></div>`,1);function gC(e,t){rt(t,!1);let n=Z(t,`open`,8,!1),r=Z(t,`newTask`,12),i=Z(t,`onClose`,8,()=>{}),a=Z(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ua();var s=Ti();G(`keydown`,An,o);var c=z(s),l=e=>{var t=hC(),n=z(t),o=B(n,2),s=R(o),c=R(s);Q(R(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),j(c);var l=B(c,4);Q(R(l),{name:`x`,size:14,strokeWidth:2.5}),j(l),j(s);var u=B(s,2),d=R(u),f=R(d),p=B(R(f),2);Ta(p),j(f);var m=B(f,2),h=B(R(m),2);Ta(h),j(m),j(d);var g=B(d,2),_=R(g),v=B(R(_),3),y=R(v);j(v),j(_);var b=B(_,2);Ta(b),j(g);var x=B(g,2),S=B(R(x),2);Un(S),j(x);var C=B(x,2),w=R(C),T=B(R(w),2);X(T,4,()=>[`backlog`,`pending`,`in_progress`],e=>e,(e,t)=>{var n=pC(),r=R(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(Zl),U(()=>Zl(t)))]),q(e,n)}),j(T),j(w);var E=B(w,2),D=B(R(E),2);X(D,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=mC(),r=R(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(Ql),U(()=>Ql(t)))]),q(e,n)}),j(D),j(E),j(C),j(u);var O=B(u,2),k=R(O),ee=B(k,2);Q(R(ee),{name:`plus`,size:13,strokeWidth:2.5}),M(),j(ee),j(O),j(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),ee.disabled=(W(r()),U(()=>!r().task_code||!r().title))}),G(`click`,n,function(...e){i()?.apply(this,e)}),G(`keydown`,n,e=>e.key===`Escape`&&i()()),G(`click`,l,function(...e){i()?.apply(this,e)}),Fa(p,()=>r().task_code,e=>(r(r().task_code=e,!0),wr(()=>{}))),Fa(h,()=>r().phase,e=>(r(r().phase=e,!0),wr(()=>{}))),Fa(b,()=>r().title,e=>(r(r().title=e,!0),wr(()=>{}))),Fa(S,()=>r().description,e=>(r(r().description=e,!0),wr(()=>{}))),ma(T,()=>r().status,e=>(r(r().status=e,!0),wr(()=>{}))),ma(D,()=>r().priority,e=>(r(r().priority=e,!0),wr(()=>{}))),G(`click`,k,function(...e){i()?.apply(this,e)}),G(`click`,ee,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),it()}var _C=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),vC=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),yC=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),bC=K(`<div style="padding:40px;text-align:center;"><div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;"></div></div>`),xC=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),SC=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),CC=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),wC=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),TC=K(`<div class="ref-card ref-card-tool animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-tool svelte-w0wd5z"><!> Tool</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),EC=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Tools</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),DC=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),OC=K(`<div class="ref-card ref-card-prompt animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-prompt svelte-w0wd5z"><!> Prompt</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!></div>`),kC=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Prompts</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),AC=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),jC=K(`<div class="ref-params svelte-w0wd5z"><code class="ref-param-tag svelte-w0wd5z" style="background:var(--color-bg);border:1px solid var(--color-border);"> </code></div>`),MC=K(`<div class="ref-card ref-card-resource animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-resource svelte-w0wd5z"><!> Resource</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),NC=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Resources</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),PC=K(`<div style="text-align:center;padding:48px 16px;color:var(--color-text-muted);"><!> <div style="font-size:0.82rem;margin-top:10px;"> </div></div>`),FC=K(`<a target="_blank" rel="noopener noreferrer" class="eco-card animate-fade-in svelte-w0wd5z"><div class="eco-card-icon svelte-w0wd5z"><!></div> <div class="eco-card-body svelte-w0wd5z"><div class="eco-card-name svelte-w0wd5z"> </div> <div class="eco-card-desc svelte-w0wd5z"> </div></div> <div class="eco-card-link svelte-w0wd5z"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></div></a>`),IC=K(`<div class="eco-section svelte-w0wd5z"><div class="ref-section-header svelte-w0wd5z"><!> <span>Ecosystem</span></div> <div class="eco-grid svelte-w0wd5z"></div></div>`),LC=K(`<!> <!> <!> <!> <!>`,1),RC=K(`<div class="animate-fade-in"><div class="glass card" style="margin-bottom:16px;padding:14px 18px;"><div class="ref-header svelte-w0wd5z"><div class="flex items-center gap-2"><!> <span style="font-size:0.9rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em;">MCP Reference</span> <!></div> <div class="ref-search-wrap svelte-w0wd5z"><span class="ref-search-icon svelte-w0wd5z"><!></span> <input class="form-input ref-search-input svelte-w0wd5z" type="text" placeholder="Search tools & prompts…"/> <!></div></div></div> <div class="ref-body svelte-w0wd5z"><div class="glass ref-sidebar svelte-w0wd5z"><div class="ref-sidebar-label svelte-w0wd5z">Category</div> <!></div> <div class="ref-main svelte-w0wd5z"><!></div></div></div>`);function zC(e,t){rt(t,!1);let n=()=>F(p(),`$appState`,o),r=()=>F(m(),`$filteredTools`,o),i=()=>F(h(),`$filteredPrompts`,o),a=()=>F(g(),`$filteredResources`,o),[o,s]=Et(),c=I(),l=I(),u=I(),d=I(),f=Z(t,`handler`,8),p=Z(t,`appState`,8),m=Z(t,`filteredTools`,8),h=Z(t,`filteredPrompts`,8),g=Z(t,`filteredResources`,8);function _(e){return[{id:`all`,icon:`layers`,label:`All`,count:(e.capabilities?.tools?.length||0)+(e.capabilities?.prompts?.length||0)+(e.capabilities?.resources?.length||0)+v.length},{id:`tools`,icon:`tool`,label:`Tools`,count:e.capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:e.capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:e.capabilities?.resources?.length||0},{id:`ecosystem`,icon:`zap`,label:`Ecosystem`,count:v.length}]}let v=[{name:`DocuBook`,description:`AI-powered documentation generator that turns your codebase into beautiful, searchable docs.`,url:`https://www.docubook.pro/`,icon:`book-open`}];function y(e,t,n){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f().openReferenceDrawer(t,n))}ir(()=>n(),()=>{L(c,n())}),ir(()=>r(),()=>{L(l,r())}),ir(()=>i(),()=>{L(u,i())}),ir(()=>a(),()=>{L(d,a())}),ar(),Ua();var b=RC(),x=R(b),S=R(x),C=R(S),w=R(C);Q(w,{name:`book-open`,size:15,strokeWidth:1.75});var E=B(w,4),D=e=>{var t=_C(),n=R(t);j(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(E,e=>{H(c),U(()=>H(c).capabilities)&&e(D)}),j(C);var O=B(C,2),k=R(O);Q(R(k),{name:`search`,size:12,strokeWidth:2}),j(k);var ee=B(k,2);Ta(ee);var te=B(ee,2),ne=e=>{var t=vC();Q(R(t),{name:`x`,size:11,strokeWidth:2.5}),j(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(te,e=>{H(c),U(()=>H(c).referenceSearch)&&e(ne)}),j(O),j(S),j(x);var re=B(x,2),ie=R(re);X(B(R(ie),2),1,()=>(H(c),U(()=>_(H(c)))),e=>e.id,(e,t)=>{var n=yC();let r;var i=R(n);Q(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=B(i,2),o=R(a,!0);j(a);var s=B(a,2),l=R(s,!0);j(s),j(n),V(()=>{r=la(n,1,`ref-cat-btn svelte-w0wd5z`,null,r,{active:H(c).referenceFilter===H(t).id}),J(o,(H(t),U(()=>H(t).label))),J(l,(H(t),U(()=>H(t).count)))}),G(`click`,n,()=>f().setReferenceFilter(H(t).id)),q(e,n)}),j(ie);var A=B(ie,2),ae=R(A),oe=e=>{q(e,bC())},se=e=>{var t=LC(),n=z(t),r=e=>{var t=EC(),n=z(t),r=R(n);Q(r,{name:`tool`,size:13,strokeWidth:1.75});var i=B(r,4),a=R(i,!0);j(i),j(n);var o=B(n,2);X(o,5,()=>H(l),e=>e.data.name,(e,t)=>{var n=TC(),r=R(n),i=R(r);Q(R(i),{name:`tool`,size:10,strokeWidth:2}),M(),j(i),j(r);var a=B(r,2),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var n=xC(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=B(s,2),u=e=>{var n=wC(),r=R(n);X(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),([e])=>e,(e,t)=>{var n=un(()=>T(H(t),1));let r=()=>H(n)[0];var i=SC(),a=R(i,!0);j(i),V(()=>J(a,r())),q(e,i)});var i=B(r,2),a=e=>{var n=CC(),r=R(n);j(n),V(e=>J(r,`+${e??``}`),[()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length-4))]),q(e,n)},o=un(()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length>4)));Y(i,e=>{H(o)&&e(a)}),j(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Tool`)))),G(`click`,n,()=>f().openReferenceDrawer(`tool`,H(t).data)),G(`keydown`,n,e=>y(e,`tool`,H(t).data)),q(e,n)}),j(o),V(()=>J(a,(H(l),U(()=>H(l).length)))),q(e,t)};Y(n,e=>{H(l),U(()=>H(l).length>0)&&e(r)});var i=B(n,2),a=e=>{var t=kC(),n=z(t),r=R(n);Q(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=B(r,4),a=R(i,!0);j(i),j(n);var o=B(n,2);X(o,5,()=>H(u),e=>e.data.name,(e,t)=>{var n=OC(),r=R(n),i=R(r);Q(R(i),{name:`sparkle`,size:10,strokeWidth:2}),M(),j(i),j(r);var a=B(r,2),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var n=DC(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Prompt`)))),G(`click`,n,()=>f().openReferenceDrawer(`prompt`,H(t).data)),G(`keydown`,n,e=>y(e,`prompt`,H(t).data)),q(e,n)}),j(o),V(()=>{da(n,`margin-top:${(H(l),U(()=>H(l).length>0?`20px`:`0`))??``}`),J(a,(H(u),U(()=>H(u).length)))}),q(e,t)};Y(i,e=>{H(u),U(()=>H(u).length>0)&&e(a)});var o=B(i,2),s=e=>{var t=NC(),n=z(t),r=R(n);Q(r,{name:`database`,size:13,strokeWidth:1.75});var i=B(r,4),a=R(i,!0);j(i),j(n);var o=B(n,2);X(o,5,()=>H(d),e=>e.data.uri||e.data.name,(e,t)=>{var n=MC(),r=R(n),i=R(r);Q(R(i),{name:`database`,size:10,strokeWidth:2}),M(),j(i),j(r);var a=B(r,2),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var n=AC(),r=R(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=B(s,2),u=e=>{var n=jC(),r=R(n),i=R(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).data.uri)))),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.uri)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Resource`)))),G(`click`,n,()=>f().openReferenceDrawer(`resource`,H(t).data)),G(`keydown`,n,e=>y(e,`resource`,H(t).data)),q(e,n)}),j(o),V(()=>{da(n,`margin-top:${(H(l),H(u),U(()=>H(l).length>0||H(u).length>0?`20px`:`0`))??``}`),J(a,(H(d),U(()=>H(d).length)))}),q(e,t)};Y(o,e=>{H(d),U(()=>H(d).length>0)&&e(s)});var p=B(o,2),m=e=>{var t=PC(),n=R(t);Q(n,{name:`search`,size:28,strokeWidth:1.25});var r=B(n,2),i=R(r);j(r),j(t),V(()=>J(i,`No results for "${(H(c),U(()=>H(c).referenceSearch))??``}"`)),q(e,t)};Y(p,e=>{H(l),H(u),H(d),H(c),U(()=>H(l).length===0&&H(u).length===0&&H(d).length===0&&H(c).referenceFilter!==`ecosystem`)&&e(m)});var h=B(p,2),g=e=>{var t=IC(),n=R(t);Q(R(n),{name:`zap`,size:13,strokeWidth:1.75}),M(2),j(n);var r=B(n,2);X(r,5,()=>v,e=>e.name,(e,t)=>{var n=FC(),r=R(n);Q(R(r),{get name(){return H(t),U(()=>H(t).icon)},size:18,strokeWidth:1.5}),j(r);var i=B(r,2),a=R(i),o=R(a,!0);j(a);var s=B(a,2),c=R(s,!0);j(s),j(i),M(2),j(n),V(()=>{ka(n,`href`,(H(t),U(()=>H(t).url))),J(o,(H(t),U(()=>H(t).name))),J(c,(H(t),U(()=>H(t).description)))}),q(e,n)}),j(r),j(t),q(e,t)};Y(h,e=>{H(c),U(()=>H(c).referenceFilter===`all`||H(c).referenceFilter===`ecosystem`)&&e(g)}),q(e,t)};Y(ae,e=>{H(c),U(()=>!H(c).capabilities)?e(oe):e(se,-1)}),j(A),j(re),j(b),Fa(ee,()=>n().referenceSearch,e=>Ot(p(),U(n).referenceSearch=e,U(n))),q(e,b),it(),s()}var BC=K(`<div class="popup-load-more svelte-x7gsaf"><!> <span class="svelte-x7gsaf">Loading older...</span></div>`),VC=K(`<div class="popup-empty svelte-x7gsaf"><!> <div class="svelte-x7gsaf">No activity yet</div> <div class="svelte-x7gsaf">Events appear here as they happen.</div></div>`),HC=K(`<div class="popup-action-sub svelte-x7gsaf"> </div>`),UC=K(`<button class="popup-read-more svelte-x7gsaf"> </button>`),WC=K(`<div class="popup-bubble-row popup-bubble-left svelte-x7gsaf"><div class="popup-bubble-wrap svelte-x7gsaf"><div class="popup-chat-bubble popup-chat-bubble-mcp svelte-x7gsaf"><div class="popup-mcp-sender svelte-x7gsaf">MCP</div> <div class="popup-markdown svelte-x7gsaf"><!></div> <!></div></div></div>`),GC=K(`<div class="popup-bubble-row popup-bubble-right svelte-x7gsaf"><div class="popup-bubble-wrap svelte-x7gsaf"><div class="popup-chat-bubble popup-chat-bubble-action svelte-x7gsaf"><div class="popup-action-badge svelte-x7gsaf"><!> <span class="svelte-x7gsaf"> </span></div> <div class="popup-action-main svelte-x7gsaf"> </div> <!></div></div></div> <!>`,1),KC=K(`<div class="popup-date-header svelte-x7gsaf"><span class="svelte-x7gsaf"> </span></div> <!>`,1),qC=K(`<div class="chat-backdrop svelte-x7gsaf" role="button" tabindex="-1" aria-label="Close"></div> <div class="chat-popup animate-fade-in-scale svelte-x7gsaf"><div class="chat-popup-header svelte-x7gsaf"><div class="chat-popup-title svelte-x7gsaf"><div class="chat-popup-avatar svelte-x7gsaf"><!></div> <div class="svelte-x7gsaf"><div class="chat-popup-name svelte-x7gsaf">Recent Activity</div> <div class="chat-popup-status svelte-x7gsaf"> </div></div></div> <button class="chat-popup-close svelte-x7gsaf" title="Close" aria-label="Close"><!></button></div> <div class="chat-popup-body svelte-x7gsaf"><!> <!></div> <div class="chat-popup-footer svelte-x7gsaf"><div class="chat-input-row svelte-x7gsaf"><input type="text" placeholder="Create a backlog task..." class="svelte-x7gsaf"/> <button class="chat-send-btn svelte-x7gsaf"><!></button></div></div></div>`,1),JC=K(`<button class="chat-fab svelte-x7gsaf" title="Open activity chat" aria-label="Open activity chat"><!></button>`);function YC(e,t){rt(t,!1);let n=()=>F(y,`$actionsPage`,c),r=()=>F(g,`$handler`,c),i=()=>F(v,`$actionsStore`,c),a=()=>F(no,`$currentRepo`,c),o=()=>F(wo,`$recentActionsTotalItems`,c),s=()=>F(_,`$groupedActions`,c),[c,l]=Et(),u=Z(t,`onRefresh`,8,()=>{}),d=I(!1),f=I(``),p=I(!1),m=I();async function h(e,t){let n=P(no);if(n)try{let r=await Ro.recentActions(n,e,25);t?Co.update(e=>[...e,...r.actions||[]]):Co.set(r.actions||[]),To.set(r.pagination?.page??e),wo.set(r.pagination?.totalItems??0)}catch(e){console.error(`Failed to load recent actions:`,e)}}let g=Tb(h),{groupedActions:_,recentActions:v,recentActionsPage:y}=g;Xa(()=>{let e=n();H(d)&&e<=1&&!r().isLoadingMore&&i().length>0&&g.scrollToBottom(H(m),`instant`)}),Ka(()=>()=>{Co.set([]),To.set(1)});function b(){L(d,!H(d)),H(d)&&(h(1),Xr().then(()=>g.scrollToBottom(H(m),`instant`)))}function x(e){e.key===`Escape`&&L(d,!1)}async function S(){let e=H(f).trim();if(!e||H(p))return;let t=P(no);if(t){L(p,!0);try{await au(e,t),L(f,``),await h(1),u()(),Xr().then(()=>g.scrollToBottom(H(m),`instant`))}catch(e){console.error(`Failed to create task:`,e)}finally{L(p,!1)}}}Ua();var C=Ti();G(`keydown`,An,x);var w=z(C),T=e=>{var t=Ti(),n=z(t),a=e=>{var t=qC(),n=z(t),a=B(n,2),c=R(a),l=R(c),u=R(l);Q(R(u),{name:`message-circle`,size:16,strokeWidth:2.2}),j(u);var h=B(u,2),_=B(R(h),2),v=R(_);j(_),j(h),j(l);var y=B(l,2);Q(R(y),{name:`x`,size:16,strokeWidth:2.5}),j(y),j(c);var b=B(c,2),x=R(b),C=e=>{var t=BC();Q(R(t),{name:`refresh-cw`,size:12,className:`animate-spin`}),M(2),j(t),q(e,t)};Y(x,e=>{r(),U(()=>r().isLoadingMore)&&e(C)});var w=B(x,2),T=e=>{var t=VC();Q(R(t),{name:`message-circle`,size:36,strokeWidth:1}),M(4),j(t),q(e,t)},E=e=>{var t=Ti();X(z(t),3,s,(e,t)=>`${e.date}-${t}`,(e,t)=>{var n=KC(),i=z(n),a=R(i),o=R(a,!0);j(a),j(i),X(B(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=dn(()=>(H(t),U(()=>g.getLabel(H(t))))),i=dn(()=>(H(t),U(()=>g.getConfig(H(t).action))));var a=GC(),o=z(a),s=R(o),c=R(s),l=R(c),u=R(l);Q(u,{get name(){return W(H(i)),U(()=>H(i).icon)},size:8,strokeWidth:2.5});var d=B(u,2),f=R(d,!0);j(d),j(l);var p=B(l,2),m=R(p,!0);j(p);var h=B(p,2),_=e=>{var t=HC(),r=R(t,!0);j(t),V(()=>J(r,(W(H(n)),U(()=>H(n).sub)))),q(e,t)};Y(h,e=>{W(H(n)),U(()=>H(n).sub)&&e(_)}),j(c),j(s),j(o);var v=B(o,2),y=e=>{let n=dn(()=>(H(t),U(()=>g.parseResponse(H(t).response)))),i=dn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=WC(),o=R(a),s=R(o),c=B(R(s),2);Xb(R(c),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(c);var l=B(c,2),u=e=>{var n=UC(),r=R(n,!0);j(n),V(()=>J(r,H(i)?`Less`:`More`)),G(`click`,n,()=>g.toggleExpand(H(t).id)),q(e,n)};Y(l,e=>{W(H(n)),U(()=>H(n).isLong)&&e(u)}),j(s),j(o),j(a),V(()=>da(c,(W(H(i)),W(H(n)),U(()=>!H(i)&&H(n).isLong?`max-height:80px;overflow:hidden;mask-image:linear-gradient(to bottom,black 60%,transparent 100%);`:``)))),q(e,a)};Y(v,e=>{H(t),U(()=>H(t).response)&&e(y)}),V(()=>{da(l,`color:${(W(H(i)),U(()=>H(i).color))??``};background:${(W(H(i)),U(()=>H(i).bgAlpha))??``};`),J(f,(W(H(i)),U(()=>H(i).label))),J(m,(W(H(n)),U(()=>H(n).main)))}),q(e,a)}),V(()=>J(o,(H(t),U(()=>H(t).date)))),q(e,n)}),q(e,t)};Y(w,e=>{i(),U(()=>i().length===0)?e(T):e(E,-1)}),j(b),Ba(b,e=>L(m,e),()=>H(m));var D=B(b,2),O=R(D),k=R(O);Ta(k);var ee=B(k,2);Q(R(ee),{name:`send`,size:14,strokeWidth:2}),j(ee),j(O),j(D),j(a),V(e=>{J(v,`${o()??``} events`),Ea(k,H(f)),k.disabled=H(p),ee.disabled=e},[()=>(H(f),H(p),U(()=>!H(f).trim()||H(p)))]),G(`click`,n,()=>L(d,!1)),G(`keydown`,n,e=>e.key===`Enter`&&L(d,!1)),G(`click`,y,()=>L(d,!1)),G(`input`,k,e=>L(f,e.currentTarget.value)),G(`keydown`,k,e=>e.key===`Enter`&&!e.shiftKey&&S()),G(`click`,ee,S),q(e,t)},c=e=>{var t=JC();Q(R(t),{name:`message-circle`,size:22,strokeWidth:2.2}),j(t),G(`click`,t,b),q(e,t)};Y(n,e=>{H(d)?e(a):e(c,-1)}),q(e,t)};Y(w,e=>{a()&&e(T)}),q(e,C),it(),l()}var XC=K(`<div class="error-banner svelte-owkwhr"> </div>`),ZC=K(`<div class="notice-banner svelte-owkwhr"> </div>`),QC=K(`<tr><td colspan="7" class="mem-td svelte-owkwhr"><div class="skeleton" style="height:20px;border-radius:6px;"></div></td></tr>`),$C=K(`<tr><td colspan="7" class="mem-td svelte-owkwhr" style="padding:40px;text-align:center;color:var(--color-text-muted);"><!> <div style="margin-top:8px;">No standards found</div> <div style="font-size:0.78rem;margin-top:4px;">Adjust the filters or create a standard.</div></td></tr>`),ew=K(`<span style="font-size:0.6rem;background:rgba(99,102,241,0.1);color:#6366f1;padding:1px 5px;border-radius:9999px;"> </span>`),tw=K(`<div style="margin-top:3px;display:flex;gap:4px;flex-wrap:wrap;"></div>`),nw=K(`<tr class="mem-row svelte-owkwhr" role="button" tabindex="0"><td class="mem-td svelte-owkwhr" style="max-width:300px;"><div class="truncate font-semibold" style="font-size:0.82rem;color:var(--color-text);"> </div> <!></td><td class="mem-td svelte-owkwhr" style="font-size:0.78rem;color:var(--color-text);"> </td><td class="mem-td svelte-owkwhr" style="font-size:0.75rem;color:var(--color-text-muted);"> </td><td class="mem-td svelte-owkwhr" style="font-size:0.78rem;color:var(--color-text);"> </td><td class="mem-td svelte-owkwhr" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td svelte-owkwhr"><span> </span></td><td class="mem-td row-actions svelte-owkwhr"><button class="row-action-btn edit-btn svelte-owkwhr" title="Edit / View" aria-label="Edit standard"><!></button> <button class="row-action-btn delete-btn svelte-owkwhr" title="Delete" aria-label="Delete standard"><!></button></td></tr>`),rw=K(`<button> </button>`),iw=K(`<div style="display:flex;align-items:center;justify-content:space-between;margin-top:12px;"><span style="font-size:0.75rem;color:var(--color-text-muted);"> </span> <div style="display:flex;gap:4px;"><button class="btn btn-ghost btn-sm">«</button> <button class="btn btn-ghost btn-sm">‹</button> <!> <button class="btn btn-ghost btn-sm">›</button> <button class="btn btn-ghost btn-sm">»</button></div></div>`),aw=K(`<div class="feature-shell animate-fade-in svelte-owkwhr"><div class="feature-toolbar glass card svelte-owkwhr"><div class="toolbar-title svelte-owkwhr"><!> <div><div class="section-label">CODING STANDARDS</div> <div class="toolbar-subtitle svelte-owkwhr">Rules the agents follow in this repo. Filter, inspect, import, or add one rule at a time.</div></div></div> <button class="btn btn-primary toolbar-action svelte-owkwhr"><!> Add Rule</button> <div class="toolbar-actions svelte-owkwhr"><button class="btn btn-ghost btn-sm"><!> </button> <button class="btn btn-ghost btn-sm"><!> </button> <input class="file-input svelte-owkwhr" type="file" accept="application/json,.json"/></div> <div class="toolbar-controls svelte-owkwhr"><input class="form-input" placeholder="Search standards..."/> <input class="form-input" placeholder="Language, e.g. typescript"/> <input class="form-input" placeholder="Stack tags, e.g. svelte, vite"/> <select class="form-select"><option>Repo + global</option><option>Global only</option><option>All standards</option></select></div></div> <div class="insight-strip svelte-owkwhr"><div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Visible</span> <strong class="svelte-owkwhr"> </strong></div> <div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Scope</span> <strong class="svelte-owkwhr"> </strong></div> <div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Total</span> <strong class="svelte-owkwhr"> </strong></div> <div class="insight-card svelte-owkwhr"><span class="svelte-owkwhr">Page</span> <strong class="svelte-owkwhr"> </strong></div></div> <!> <!> <div class="mem-table-wrap svelte-owkwhr"><table class="mem-table svelte-owkwhr"><thead><tr class="mem-thead-row svelte-owkwhr"><th class="mem-th svelte-owkwhr" style="min-width:200px;">Title</th><th class="mem-th svelte-owkwhr">Context</th><th class="mem-th svelte-owkwhr">Version</th><th class="mem-th svelte-owkwhr">Language</th><th class="mem-th svelte-owkwhr">Updated</th><th class="mem-th svelte-owkwhr">Scope</th><th class="mem-th svelte-owkwhr" style="width:80px;"></th></tr></thead><tbody><!></tbody></table></div> <!></div> <!>`,1);function ow(e,t){rt(t,!1);let n=I(),r=I(),i=Z(t,`repo`,8,``),a=I([]),o=I(!1),s=I(``),c=I(``),l=I(``),u=I(``),d=I(``),f=I(`repo`),p=I(!1),m=I(!1),h=I(),g=I(1),_=I(0),v=I(1),y=I(null),b=I(!1);async function x(){if(i()){L(o,!0),L(s,``);try{let e=await Ro.standards({query:H(l)||void 0,language:H(u)||void 0,stack:H(d)||void 0,repo:H(f)===`repo`?i():void 0,is_global:H(f)===`global`?!0:void 0,page:H(g),pageSize:25});L(a,e.standards||[]),L(_,e.pagination?.totalItems||0),L(v,e.pagination?.totalPages||1)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(o,!1)}}}function S(){L(g,1),x()}function C(e){e<1||e>H(v)||(L(g,e),x())}function w(){L(y,null),L(b,!0)}function T(e){L(y,e),L(b,!0)}function E(){L(b,!1),L(y,null)}function D(e){x()}function O(e){x()}async function k(e){if(await Bo(`Delete coding standard "${e.title}"?`))try{await Ro.deleteStandard(e.id),x()}catch(e){L(s,e instanceof Error?e.message:String(e))}}async function ee(){L(m,!0),L(s,``),L(c,``);try{let e=H(f)===`global`||H(f)===`all`?H(f):`repo`,t=await Ro.exportStandards({repo:e===`repo`?i():void 0,scope:e}),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),a=document.createElement(`a`);a.href=r,a.download=`standards-${i()?i().replace(/[^a-z0-9._-]+/gi,`-`):`all`}-${e}-${new Date().toISOString().slice(0,10)}.json`,a.click(),URL.revokeObjectURL(r)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(m,!1)}}async function te(e){let t=e.currentTarget,n=t.files?.[0];if(n){L(p,!0),L(s,``),L(c,``);try{let e=JSON.parse(await n.text()),t=Array.isArray(e?.standards)?e.standards.length:0,r=await Ro.importStandards({...e,refresh_vectors:t>0&&t<=500});x();let i=r.vectors_refreshed?``:` Vector refresh skipped for large import.`;L(c,`Imported ${r.imported} and updated ${r.updated} standard(s).${i}`)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(p,!1),t.value=``}}}Ka(()=>{x()}),ir(()=>W(i()),()=>{i()&&x()}),ir(()=>(H(g),H(v)),()=>{L(n,Math.max(1,Math.min(H(g)-2,H(v)-4)))}),ir(()=>(H(v),H(n)),()=>{L(r,Array.from({length:Math.min(5,H(v))},(e,t)=>H(n)+t))}),ar(),Ua();var ne=aw(),re=z(ne),ie=R(re),A=R(ie);Q(R(A),{name:`check`,size:16,strokeWidth:2}),M(2),j(A);var ae=B(A,2);Q(R(ae),{name:`plus`,size:14,strokeWidth:2}),M(),j(ae);var oe=B(ae,2),se=R(oe),ce=R(se);Q(ce,{name:`download`,size:14,strokeWidth:2});var le=B(ce);j(se);var ue=B(se,2),de=R(ue);Q(de,{name:`upload`,size:14,strokeWidth:2});var fe=B(de);j(ue);var pe=B(ue,2);Ba(pe,e=>L(h,e),()=>H(h)),j(oe);var me=B(oe,2),he=R(me);Ta(he);var ge=B(he,2);Ta(ge);var _e=B(ge,2);Ta(_e);var ve=B(_e,2),ye=R(ve);ye.value=ye.__value=`repo`;var be=B(ye);be.value=be.__value=`global`;var xe=B(be);xe.value=xe.__value=`all`,j(ve),j(me),j(ie);var Se=B(ie,2),Ce=R(Se),we=B(R(Ce),2),Te=R(we,!0);j(we),j(Ce);var Ee=B(Ce,2),De=B(R(Ee),2),Oe=R(De,!0);j(De),j(Ee);var ke=B(Ee,2),Ae=B(R(ke),2),je=R(Ae,!0);j(Ae),j(ke);var Me=B(ke,2),Ne=B(R(Me),2),Pe=R(Ne);j(Ne),j(Me),j(Se);var Fe=B(Se,2),Ie=e=>{var t=XC(),n=R(t,!0);j(t),V(()=>J(n,H(s))),q(e,t)};Y(Fe,e=>{H(s)&&e(Ie)});var Le=B(Fe,2),Re=e=>{var t=ZC(),n=R(t,!0);j(t),V(()=>J(n,H(c))),q(e,t)};Y(Le,e=>{H(c)&&e(Re)});var ze=B(Le,2),Be=R(ze),Ve=B(R(Be)),He=R(Ve),Ue=e=>{var t=Ti();X(z(t),0,()=>({length:5}),Ni,(e,t)=>{q(e,QC())}),q(e,t)},We=e=>{var t=$C(),n=R(t);Q(R(n),{name:`check`,size:22,strokeWidth:1.75}),M(4),j(n),j(t),q(e,t)},Ge=e=>{var n=Ti();X(z(n),1,()=>H(a),e=>e.id,(e,n)=>{var r=nw(),i=R(r),a=R(i),o=R(a,!0);j(a);var s=B(a,2),c=e=>{var t=tw();X(t,7,()=>(H(n),U(()=>H(n).tags.slice(0,4))),(e,t)=>`${e}-${t}`,(e,t)=>{var n=ew(),r=R(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(t),q(e,t)};Y(s,e=>{H(n),U(()=>H(n).tags?.length)&&e(c)}),j(i);var l=B(i),u=R(l,!0);j(l);var d=B(l),f=R(d);j(d);var p=B(d),m=R(p,!0);j(p);var h=B(p),g=R(h,!0);j(h);var _=B(h),v=R(_);let y;var b=R(v,!0);j(v),j(_);var x=B(_),S=R(x);Q(R(S),{name:`edit`,size:13,strokeWidth:2}),j(S);var C=B(S,2);Q(R(C),{name:`trash`,size:13,strokeWidth:2}),j(C),j(x),j(r),V(e=>{J(o,(H(n),U(()=>H(n).title))),J(u,(H(n),U(()=>H(n).context||`—`))),J(f,`v${(H(n),U(()=>H(n).version))??``}`),J(m,(H(n),U(()=>H(n).language||`any`))),J(g,e),y=la(v,1,`scope-chip svelte-owkwhr`,null,y,{"scope-global":H(n).is_global,"scope-repo":!H(n).is_global}),J(b,(H(n),U(()=>H(n).is_global?`Global`:`Repo`)))},[()=>(W(ql),H(n),U(()=>ql(H(n).updated_at)))]),G(`click`,S,()=>T(H(n))),G(`click`,C,()=>k(H(n))),G(`click`,x,Va(function(e){Ga.call(this,t,e)})),G(`click`,r,()=>T(H(n))),G(`keydown`,r,e=>e.key===`Enter`&&T(H(n))),q(e,r)}),q(e,n)};Y(He,e=>{H(o)?e(Ue):(H(a),U(()=>H(a).length===0)?e(We,1):e(Ge,-1))}),j(Ve),j(Be),j(ze);var Ke=B(ze,2),qe=e=>{var t=iw(),n=R(t),i=R(n);j(n);var a=B(n,2),o=R(a),s=B(o,2),c=B(s,2);X(c,1,()=>H(r),e=>e,(e,t)=>{var n=rw();let r;var i=R(n,!0);j(n),V(()=>{r=la(n,1,`btn btn-sm`,null,r,{"btn-primary":H(t)===H(g),"btn-ghost":H(t)!==H(g)}),J(i,H(t))}),G(`click`,n,()=>C(H(t))),q(e,n)});var l=B(c,2),u=B(l,2);j(a),j(t),V(()=>{J(i,`Page ${H(g)??``} of ${H(v)??``}`),o.disabled=H(g)<=1,s.disabled=H(g)<=1,l.disabled=H(g)>=H(v),u.disabled=H(g)>=H(v)}),G(`click`,o,()=>C(1)),G(`click`,s,()=>C(H(g)-1)),G(`click`,l,()=>C(H(g)+1)),G(`click`,u,()=>C(H(v))),q(e,t)};Y(Ke,e=>{H(v)>1&&e(qe)}),j(re),cS(B(re,2),{drawerMode:`standard`,get standard(){return H(y)},get open(){return H(b)},onClose:E,onStandardUpdated:D,onStandardDeleted:O,get repo(){return i()}}),V(()=>{se.disabled=(H(m),H(a),U(()=>H(m)||H(a).length===0)),J(le,` ${H(m)?`Exporting...`:`Export`}`),ue.disabled=H(p),J(fe,` ${H(p)?`Importing...`:`Import`}`),J(Te,(H(a),U(()=>H(a).length))),J(Oe,H(f)===`repo`?`Repo + global`:H(f)===`global`?`Global only`:`All`),J(je,H(_)),J(Pe,`${H(g)??``} / ${H(v)??``}`)}),G(`click`,ae,w),G(`click`,se,ee),G(`click`,ue,()=>H(h)?.click()),G(`change`,pe,te),Fa(he,()=>H(l),e=>L(l,e)),G(`input`,he,S),Fa(ge,()=>H(u),e=>L(u,e)),G(`input`,ge,S),Fa(_e,()=>H(d),e=>L(d,e)),G(`input`,_e,S),ma(ve,()=>H(f),e=>L(f,e)),G(`change`,ve,S),q(e,ne),it()}var sw=K(`<div class="error-banner svelte-1ik2acm"> </div>`),cw=K(`<tr><td colspan="8" class="mem-td svelte-1ik2acm"><div class="skeleton" style="height:20px;border-radius:6px;"></div></td></tr>`),lw=K(`<tr><td colspan="8" class="mem-td svelte-1ik2acm" style="padding:40px;text-align:center;color:var(--color-text-muted);"><!> <div style="margin-top:8px;">No handoffs found</div> <div style="font-size:0.78rem;margin-top:4px;">Create a handoff when work needs context transfer between agents.</div></td></tr>`),uw=K(`<tr class="mem-row svelte-1ik2acm" role="button" tabindex="0"><td class="mem-td svelte-1ik2acm" style="font-size:0.82rem;color:var(--color-text);font-weight:600;"> </td><td class="mem-td svelte-1ik2acm" style="font-size:0.82rem;color:var(--color-text);"> </td><td class="mem-td svelte-1ik2acm" style="font-size:0.75rem;color:var(--color-text-muted);"> </td><td class="mem-td svelte-1ik2acm" style="max-width:300px;"><div class="truncate font-semibold" style="font-size:0.82rem;color:var(--color-text);"> </div></td><td class="mem-td svelte-1ik2acm"><span> </span></td><td class="mem-td svelte-1ik2acm" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td svelte-1ik2acm" style="font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;"> </td><td class="mem-td row-actions svelte-1ik2acm"><button class="row-action-btn delete-btn svelte-1ik2acm" title="Expire" aria-label="Expire handoff"><!></button></td></tr>`),dw=K(`<div class="muted-state svelte-1ik2acm">Loading claims...</div>`),fw=K(`<div class="empty-claims svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No active claims</div> <div class="empty-copy svelte-1ik2acm">Claimed tasks will appear here so you can inspect or release them.</div></div>`),pw=K(`<div class="claim-row svelte-1ik2acm"><div><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div> <button class="btn btn-ghost btn-sm"> </button></div>`),mw=K(`<div class="claim-list svelte-1ik2acm"></div>`),hw=K(`<div class="feature-shell animate-fade-in svelte-1ik2acm"><div class="feature-toolbar glass card svelte-1ik2acm"><div class="toolbar-title svelte-1ik2acm"><!> <div><div class="section-label svelte-1ik2acm">HANDOFFS & CLAIMS</div> <div class="toolbar-subtitle svelte-1ik2acm">Handoffs transfer context between agents. Claims reserve a task for one owner.</div></div></div> <button class="btn btn-primary toolbar-action svelte-1ik2acm"><!> New Handoff</button> <div class="toolbar-controls svelte-1ik2acm"><select class="form-select"><option>All statuses</option><option>Pending</option><option>Accepted</option><option>Rejected</option><option>Expired</option></select> <input class="form-input" placeholder="To agent filter"/> <button class="btn btn-ghost"><!> Refresh</button></div></div> <div class="insight-strip svelte-1ik2acm"><div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Pending</span> <strong class="svelte-1ik2acm"> </strong></div> <div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Resolved</span> <strong class="svelte-1ik2acm"> </strong></div> <div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Claims</span> <strong class="svelte-1ik2acm"> </strong></div> <div class="insight-card svelte-1ik2acm"><span class="svelte-1ik2acm">Total</span> <strong class="svelte-1ik2acm"> </strong></div></div> <!> <div class="mem-table-wrap svelte-1ik2acm"><table class="mem-table svelte-1ik2acm"><thead><tr class="mem-thead-row svelte-1ik2acm"><th class="mem-th svelte-1ik2acm" style="min-width:140px;">From</th><th class="mem-th svelte-1ik2acm" style="min-width:140px;">To</th><th class="mem-th svelte-1ik2acm" style="min-width:100px;">Task</th><th class="mem-th svelte-1ik2acm" style="min-width:200px;">Summary</th><th class="mem-th svelte-1ik2acm" style="width:100px;">Status</th><th class="mem-th svelte-1ik2acm" style="width:130px;">Created</th><th class="mem-th svelte-1ik2acm" style="width:130px;">Expires</th><th class="mem-th svelte-1ik2acm" style="width:60px;"></th></tr></thead><tbody><!></tbody></table></div> <div class="claims-section svelte-1ik2acm"><div class="claims-header svelte-1ik2acm"><div class="section-label svelte-1ik2acm">Active Claims</div> <span class="toolbar-subtitle svelte-1ik2acm"> </span></div> <!></div></div> <!>`,1);function gw(e,t){rt(t,!1);let n=I(),r=I(),i=Z(t,`repo`,8,``),a=I([]),o=I(!1),s=I(``),c=I(``),l=I(``),u=I([]),d=I(!1),f=I(null),p=I(null),m=I(!1);function h(e){return e?.structuredContent??null}function g(e,t){let n=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(n.id||``),repo:i(),from_agent:String(n.from_agent||``),to_agent:n.to_agent?String(n.to_agent):null,task_id:n.task_id?String(n.task_id):null,task_code:n.task_code?String(n.task_code):null,summary:String(n.summary||``),context:n.context&&typeof n.context==`object`&&!Array.isArray(n.context)?n.context:{},status:String(n.status||`pending`),created_at:String(n.created_at||``),updated_at:String(n.updated_at||n.created_at||``),expires_at:n.expires_at?String(n.expires_at):null}}async function _(){if(i()){L(d,!0);try{L(u,(await Ro.coordinationClaims({repo:i(),active_only:!0,pageSize:20})).claims||[])}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(d,!1)}}}async function v(){if(i()){L(o,!0),L(s,``);try{let e={repo:i(),limit:50,structured:!0};H(c)&&(e.status=H(c)),H(l).trim()&&(e.to_agent=H(l).trim());let t=h(await Ro.callTool(`handoff-list`,e)),n=t?.handoffs?.columns||[];L(a,(t?.handoffs?.rows||[]).map(e=>g(n,e))),H(p)&&!H(a).some(e=>e.id===H(p)?.id)&&L(p,null)}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(o,!1)}}}async function y(){await Promise.all([v(),_()])}function b(){L(p,null),L(m,!0)}function x(e){L(p,e),L(m,!0)}function S(){L(m,!1),L(p,null)}function C(){S(),y()}function w(){S(),y()}async function T(e){L(f,e.id),L(s,``);try{await Ro.releaseClaim({repo:i(),task_id:e.task_id,agent:e.agent}),await _()}catch(e){L(s,e instanceof Error?e.message:String(e))}finally{L(f,null)}}async function E(e){if(await Bo(`Expire handoff "${e.summary}"?`))try{await Ro.callTool(`handoff-update`,{id:e.id,status:`expired`,structured:!0}),y()}catch(e){L(s,e instanceof Error?e.message:String(e))}}Ka(()=>{y()}),ir(()=>W(i()),()=>{i()&&y()}),ir(()=>H(a),()=>{L(n,H(a).filter(e=>e.status===`pending`).length)}),ir(()=>H(a),()=>{L(r,H(a).filter(e=>e.status!==`pending`).length)}),ar(),Ua();var D=hw(),O=z(D),k=R(O),ee=R(k);Q(R(ee),{name:`git-branch`,size:16,strokeWidth:2}),M(2),j(ee);var te=B(ee,2);Q(R(te),{name:`plus`,size:14,strokeWidth:2}),M(),j(te);var ne=B(te,2),re=R(ne),ie=R(re);ie.value=ie.__value=``;var A=B(ie);A.value=A.__value=`pending`;var ae=B(A);ae.value=ae.__value=`accepted`;var oe=B(ae);oe.value=oe.__value=`rejected`;var se=B(oe);se.value=se.__value=`expired`,j(re);var ce=B(re,2);Ta(ce);var le=B(ce,2);Q(R(le),{name:`refresh-cw`,size:14,strokeWidth:2}),M(),j(le),j(ne),j(k);var ue=B(k,2),de=R(ue),fe=B(R(de),2),pe=R(fe,!0);j(fe),j(de);var me=B(de,2),he=B(R(me),2),ge=R(he,!0);j(he),j(me);var _e=B(me,2),ve=B(R(_e),2),ye=R(ve,!0);j(ve),j(_e);var be=B(_e,2),xe=B(R(be),2),Se=R(xe,!0);j(xe),j(be),j(ue);var Ce=B(ue,2),we=e=>{var t=sw(),n=R(t,!0);j(t),V(()=>J(n,H(s))),q(e,t)};Y(Ce,e=>{H(s)&&e(we)});var Te=B(Ce,2),Ee=R(Te),De=B(R(Ee)),Oe=R(De),ke=e=>{var t=Ti();X(z(t),0,()=>({length:5}),Ni,(e,t)=>{q(e,cw())}),q(e,t)},Ae=e=>{var t=lw(),n=R(t);Q(R(n),{name:`git-branch`,size:22,strokeWidth:1.75}),M(4),j(n),j(t),q(e,t)},je=e=>{var n=Ti();X(z(n),1,()=>H(a),e=>e.id,(e,n)=>{var r=uw(),i=R(r),a=R(i,!0);j(i);var o=B(i),s=R(o,!0);j(o);var c=B(o),l=R(c,!0);j(c);var u=B(c),d=R(u),f=R(d,!0);j(d),j(u);var p=B(u),m=R(p);let h;var g=R(m,!0);j(m),j(p);var _=B(p),v=R(_,!0);j(_);var y=B(_),b=R(y,!0);j(y);var S=B(y),C=R(S);Q(R(C),{name:`trash`,size:13,strokeWidth:2}),j(C),j(S),j(r),V((e,t,r)=>{J(a,(H(n),U(()=>H(n).from_agent))),J(s,(H(n),U(()=>H(n).to_agent||`—`))),J(l,e),J(f,(H(n),U(()=>H(n).summary))),h=la(m,1,`status-pill svelte-1ik2acm`,null,h,{"status-pending":H(n).status===`pending`,"status-accepted":H(n).status===`accepted`,"status-rejected":H(n).status===`rejected`,"status-expired":H(n).status===`expired`}),J(g,(H(n),U(()=>H(n).status))),J(v,t),J(b,r),C.disabled=(H(n),U(()=>H(n).status===`expired`))},[()=>(H(n),U(()=>H(n).task_code||H(n).task_id?.slice(0,8)||`—`)),()=>(W(ql),H(n),U(()=>ql(H(n).created_at))),()=>(H(n),W(ql),U(()=>H(n).expires_at?ql(H(n).expires_at):`—`))]),G(`click`,C,()=>E(H(n))),G(`click`,S,Va(function(e){Ga.call(this,t,e)})),G(`click`,r,()=>x(H(n))),G(`keydown`,r,e=>e.key===`Enter`&&x(H(n))),q(e,r)}),q(e,n)};Y(Oe,e=>{H(o)?e(ke):(H(a),U(()=>H(a).length===0)?e(Ae,1):e(je,-1))}),j(De),j(Ee),j(Te);var Me=B(Te,2),Ne=R(Me),Pe=B(R(Ne),2),Fe=R(Pe);j(Pe),j(Ne);var Ie=B(Ne,2),Le=e=>{q(e,dw())},Re=e=>{var t=fw();Q(R(t),{name:`check`,size:20,strokeWidth:1.75}),M(4),j(t),q(e,t)},ze=e=>{var t=mw();X(t,5,()=>H(u),e=>e.id,(e,t)=>{var n=pw(),r=R(n),i=R(r),a=R(i,!0);j(i);var o=B(i,2),s=R(o),c=R(s,!0);j(s);var l=B(s,2),u=R(l,!0);j(l);var d=B(l,2),p=R(d,!0);j(d),j(o),j(r);var m=B(r,2),h=R(m,!0);j(m),j(n),V(e=>{J(a,(H(t),U(()=>H(t).task_code||H(t).task_id))),J(c,(H(t),U(()=>H(t).agent))),J(u,(H(t),U(()=>H(t).role))),J(p,e),m.disabled=(H(f),H(t),U(()=>H(f)===H(t).id)),J(h,(H(f),H(t),U(()=>H(f)===H(t).id?`Releasing...`:`Release`)))},[()=>(W(ql),H(t),U(()=>ql(H(t).claimed_at)))]),G(`click`,m,()=>T(H(t))),q(e,n)}),j(t),q(e,t)};Y(Ie,e=>{H(d)?e(Le):(H(u),U(()=>H(u).length===0)?e(Re,1):e(ze,-1))}),j(Me),j(O);var Be=B(O,2);{let e=dn(()=>H(p)?`handoff`:`new-handoff`);cS(Be,{get drawerMode(){return H(e)},get handoff(){return H(p)},get open(){return H(m)},onClose:S,onHandoffCreated:C,onHandoffUpdated:w,get repo(){return i()}})}V(()=>{J(pe,H(n)),J(ge,H(r)),J(ye,(H(u),U(()=>H(u).length))),J(Se,(H(a),U(()=>H(a).length))),J(Fe,`${(H(u),U(()=>H(u).length))??``} active`)}),G(`click`,te,b),ma(re,()=>H(c),e=>L(c,e)),G(`change`,re,v),Fa(ce,()=>H(l),e=>L(l,e)),G(`input`,ce,v),G(`click`,le,y),q(e,D),it()}var _w={nodeRadius:18,repulsionStrength:4e3,attractionStrength:.005,centeringStrength:.01,damping:.85,minVelocity:.1,iterations:120,margin:30};function vw(e,t,n){let r=t/2,i=n/2,a=Math.min(t,n)*.35,o=e.length;return e.map((e,t)=>{let n=2*Math.PI*t/o+Math.random()*.2,s=a*(.3+Math.random()*.7);return{...e,x:r+Math.cos(n)*s,y:i+Math.sin(n)*s,vx:0,vy:0,pinned:!1}})}function yw(e,t,n,r){let i={maxVisibleNodes:240,margin:48,nodeGap:54,minCanvasWidth:108,minCanvasHeight:108,...r},a=e.slice(0,i.maxVisibleNodes),o=Math.max(i.minCanvasWidth,t),s=Math.max(i.minCanvasHeight,n),c=Math.min(i.margin,Math.max(0,(Math.min(o,s)-36)/2)),l=Math.max(i.nodeGap,o-c*2),u=Math.max(i.nodeGap,s-c*2),d=Math.max(1,Math.floor(l/i.nodeGap)),f=Math.max(1,Math.ceil(a.length/d)),p=Math.min(i.nodeGap,u/f),m=Math.min(d,a.length||1),h=Math.max(18,(o-(m-1)*i.nodeGap)/2),g=Math.max(18,Math.max(c,(s-(f-1)*p)/2));return a.map((e,t)=>{let n=t%d,r=Math.floor(t/d);return{...e,x:h+n*i.nodeGap,y:g+r*p,vx:0,vy:0,pinned:!1}})}function bw(e,t,n,r,i){if(e.length===0)return e;let a={..._w,...i},o=new Map;for(let t of e)o.set(t.id,t),o.set(t.name,t);for(let i=0;i<a.iterations;i++){let s=1-i/a.iterations;for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n],o=r.x-i.x,c=r.y-i.y,l=Math.hypot(o,c);l<1&&(l=1);let u=a.repulsionStrength/(l*l),d=o/l*u*s,f=c/l*u*s;r.pinned||(r.vx+=d,r.vy+=f),i.pinned||(i.vx-=d,i.vy-=f)}for(let e of t){let t=o.get(e.source),n=o.get(e.target);if(!t||!n)continue;let r=n.x-t.x,i=n.y-t.y,c=Math.hypot(r,i);if(c<1)continue;let l=a.attractionStrength*c*s,u=r/c*l,d=i/c*l;t.pinned||(t.vx+=u,t.vy+=d),n.pinned||(n.vx-=u,n.vy-=d)}let c=n/2,l=r/2;for(let t of e)t.pinned||(t.vx+=(c-t.x)*a.centeringStrength*s,t.vy+=(l-t.y)*a.centeringStrength*s);for(let t of e)t.pinned||(t.vx*=a.damping,t.vy*=a.damping,Math.abs(t.vx)<a.minVelocity&&Math.abs(t.vy)<a.minVelocity&&(t.vx=0,t.vy=0),t.x+=t.vx,t.y+=t.vy,t.x<a.margin&&(t.x=a.margin,t.vx=0),t.x>n-a.margin&&(t.x=n-a.margin,t.vx=0),t.y<a.margin&&(t.y=a.margin,t.vy=0),t.y>r-a.margin&&(t.y=r-a.margin,t.vy=0))}return e}var xw={person:`#22c55e`,place:`#3b82f6`,organization:`#f97316`,concept:`#a855f7`,unknown:`#6b7280`},Sw={person:`rgba(34,197,94,0.35)`,place:`rgba(59,130,246,0.35)`,organization:`rgba(249,115,22,0.35)`,concept:`rgba(168,85,247,0.35)`,unknown:`rgba(107,114,128,0.25)`};function Cw(e){return xw[e]??xw.unknown}function ww(e){return Sw[e]??Sw.unknown}function Tw(e,t){let n=e.replace(`#`,``),r=parseInt(n.length===3?n[0]+n[0]+n[1]+n[1]+n[2]+n[2]:n,16);return`rgb(${Math.min(255,(r>>16&255)+t)},${Math.min(255,(r>>8&255)+t)},${Math.min(255,(r&255)+t)})`}function Ew(e){let t=e.parentElement?.getBoundingClientRect(),n=t?t.width:800,r=t?t.height:600,i=window.devicePixelRatio||1;e.width=n*i,e.height=r*i,e.style.width=n+`px`,e.style.height=r+`px`;let a=e.getContext(`2d`);return a.scale(i,i),{width:n,height:r,dpr:i,ctx:a}}function Dw(e,t,n,r,i,a){a=Math.min(a,r/2,i/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.arcTo(t+r,n,t+r,n+a,a),e.lineTo(t+r,n+i-a),e.arcTo(t+r,n+i,t+r-a,n+i,a),e.lineTo(t+a,n+i),e.arcTo(t,n+i,t,n+i-a,a),e.lineTo(t,n+a),e.arcTo(t,n,t+a,n,a),e.closePath()}function Ow(e,t,n,r){e.strokeStyle=r?`rgba(255,255,255,0.03)`:`rgba(0,0,0,0.03)`,e.lineWidth=.5;for(let r=0;r<t;r+=30)e.beginPath(),e.moveTo(r,0),e.lineTo(r,n),e.stroke();for(let r=0;r<n;r+=30)e.beginPath(),e.moveTo(0,r),e.lineTo(t,r),e.stroke()}function kw(e,t,n,r,i,a){if(e.strokeStyle=i?`#f59e0b`:a?`rgba(148,163,184,0.4)`:`rgba(100,116,139,0.35)`,e.lineWidth=i?2.5:1.5,e.beginPath(),e.moveTo(n.x,n.y),e.lineTo(r.x,r.y),e.stroke(),t.relation_type){let i=(n.x+r.x)/2,o=(n.y+r.y)/2,s=t.relation_type;e.font=`9px system-ui,sans-serif`,e.textAlign=`center`,e.textBaseline=`bottom`;let c=e.measureText(s).width;e.fillStyle=a?`rgba(10,14,26,0.8)`:`rgba(240,244,255,0.85)`,e.fillRect(i-c/2-3,o-10,c+6,14),e.fillStyle=a?`rgba(148,163,184,0.8)`:`rgba(71,85,105,0.8)`,e.fillText(s,i,o)}}function Aw(e,t,n,r,i){let a=Cw(t.type),o=ww(t.type),s=n||r?22:18;(n||r)&&(e.shadowColor=o,e.shadowBlur=20);let c=e.createRadialGradient(t.x-4,t.y-4,2,t.x,t.y,s);if(c.addColorStop(0,i?Tw(a,40):Tw(a,60)),c.addColorStop(1,a),e.fillStyle=c,e.beginPath(),e.arc(t.x,t.y,s,0,Math.PI*2),e.fill(),e.shadowBlur=0,e.strokeStyle=r?`#f59e0b`:i?`rgba(255,255,255,0.15)`:`rgba(255,255,255,0.6)`,e.lineWidth=r?2.5:1.5,e.stroke(),t.memoryCount&&t.memoryCount>0&&(e.fillStyle=i?`#1e293b`:`#ffffff`,e.beginPath(),e.arc(t.x+s-6,t.y-s+6,9,0,Math.PI*2),e.fill(),e.fillStyle=Cw(t.type),e.font=`bold 8px system-ui,sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(String(t.memoryCount),t.x+s-6,t.y-s+6)),e.fillStyle=i?`#e2e8f0`:`#1e293b`,e.font=`bold 11px system-ui,sans-serif`,e.textAlign=`center`,e.textBaseline=`top`,e.fillText(t.name,t.x,t.y+s+4),t.description){e.fillStyle=i?`rgba(148,163,184,0.6)`:`rgba(100,116,139,0.6)`,e.font=`8px system-ui,sans-serif`;let n=t.description.length>18?t.description.slice(0,18)+`...`:t.description;e.fillText(n,t.x,t.y+s+16)}}function jw(e,t,n,r,i,a){let o=[t.name,`Type: ${t.type}`,t.description??``,t.memoryCount==null?``:`Memories: ${t.memoryCount}`].filter(Boolean);e.font=`11px system-ui,sans-serif`;let s=Math.max(...o.map(t=>e.measureText(t).width))+20,c=o.length*16+20,l=n.x+12,u=n.y-12;l+s>r&&(l=n.x-s-12),u+c>i&&(u=i-c-4),u<4&&(u=4),e.fillStyle=a?`rgba(2,6,23,0.92)`:`rgba(255,255,255,0.95)`,e.shadowColor=`rgba(0,0,0,0.2)`,e.shadowBlur=12,Dw(e,l,u,s,c,8),e.fill(),e.shadowBlur=0,e.strokeStyle=a?`rgba(148,163,184,0.2)`:`rgba(0,0,0,0.08)`,e.lineWidth=1,Dw(e,l,u,s,c,8),e.stroke(),e.textAlign=`left`,e.textBaseline=`top`;for(let t=0;t<o.length;t++)e.font=t===0?`bold 12px system-ui,sans-serif`:`10px system-ui,sans-serif`,e.fillStyle=a?`#e2e8f0`:`#1e293b`,e.fillText(o[t],l+10,u+10+t*16)}function Mw(e,t,n,r){let i=`+${n} hidden`;e.font=`bold 11px system-ui,sans-serif`,e.textAlign=`right`,e.textBaseline=`top`;let a=e.measureText(i).width+20,o=Math.max(8,t-a-12);e.fillStyle=r?`rgba(15,23,42,0.88)`:`rgba(255,255,255,0.9)`,Dw(e,o,12,a,26,999),e.fill(),e.strokeStyle=r?`rgba(148,163,184,0.28)`:`rgba(59,130,246,0.22)`,e.lineWidth=1,Dw(e,o,12,a,26,999),e.stroke(),e.fillStyle=r?`#bfdbfe`:`#1d4ed8`,e.fillText(i,o+a-10,19)}function Nw(e,t,n,r,i,a){let o=document.documentElement.classList.contains(`dark`);e.clearRect(0,0,t,n),e.fillStyle=o?`#0a0e1a`:`#f0f4ff`,e.fillRect(0,0,t,n),Ow(e,t,n,o);let s=new Map;for(let e of r)s.set(e.id,e),s.set(e.name,e);for(let t of i){let n=s.get(t.source),r=s.get(t.target);!n||!r||kw(e,t,n,r,a.selectedEdge===t,o)}for(let t of r)Aw(e,t,a.hoveredNode===t,a.selectedNode===t,o);a.hiddenNodeCount&&a.hiddenNodeCount>0&&Mw(e,t,a.hiddenNodeCount,o),a.showTooltip&&a.selectedNode&&jw(e,a.selectedNode,a.tooltipPos,t,n,o)}var Pw=K(`<div class="kg-relation-hint svelte-fsq8sk" role="status" aria-live="polite"><!> <span> <!></span></div>`);function Fw(e,t){let n=Z(t,`visibleNodeCount`,8),r=Z(t,`totalNodeCount`,8),i=Z(t,`hiddenNodeCount`,8);var a=Pw(),o=R(a);Q(o,{name:`info`,size:14,strokeWidth:1.75});var s=B(o,2),c=R(s),l=B(c),u=e=>{var t=wi();V(()=>J(t,`${i()??``} entities are hidden from the canvas and marked in the overview badge to keep the dashboard responsive.`)),q(e,t)};Y(l,e=>{i()>0&&e(u)}),j(s),j(a),V(()=>J(c,`Showing a capped overview of ${n()??``} of ${r()??``} entities because this graph has no relations. Create
|
|
150
|
+
relations or run a relation backfill to enable the connected force graph. `)),q(e,a)}var Iw=K(`<div class="kg-error svelte-1ysja8i"><!> </div>`),Lw=K(`<div class="kg-toolbar svelte-1ysja8i"><div class="kg-toolbar-left svelte-1ysja8i"><span class="section-label" style="font-size:0.68rem;"><!> Knowledge Graph</span> <span class="kg-stats svelte-1ysja8i"> </span></div> <div class="kg-toolbar-right svelte-1ysja8i"><button class="btn btn-ghost btn-sm"><!> Add Entity</button> <button class="btn btn-ghost btn-sm"><!> Add Relation</button> <button class="btn btn-ghost btn-sm"><!> Refresh</button></div></div> <!> <!>`,1);function Rw(e,t){let n=Z(t,`nodeCount`,8),r=Z(t,`edgeCount`,8),i=Z(t,`isLoading`,8),a=Z(t,`errorMsg`,8),o=Z(t,`isZeroEdgeOverview`,8),s=Z(t,`visibleNodeCount`,8),c=Z(t,`hiddenNodeCount`,8),l=Z(t,`onAddEntity`,8),u=Z(t,`onAddRelation`,8),d=Z(t,`onRefresh`,8);var f=Lw(),p=z(f),m=R(p),h=R(m);Q(R(h),{name:`share-2`,size:12,strokeWidth:1.75}),M(),j(h);var g=B(h,2),_=R(g);j(g),j(m);var v=B(m,2),y=R(v);Q(R(y),{name:`plus`,size:12,strokeWidth:2}),M(),j(y);var b=B(y,2);Q(R(b),{name:`link`,size:12,strokeWidth:2}),M(),j(b);var x=B(b,2),S=R(x);{let e=dn(()=>i()?`animate-spin`:``);Q(S,{name:`refresh-cw`,size:12,strokeWidth:2,get className(){return H(e)}})}M(),j(x),j(v),j(p);var C=B(p,2),w=e=>{var t=Iw(),n=R(t);Q(n,{name:`triangle-alert`,size:14,strokeWidth:1.75});var r=B(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(C,e=>{a()&&e(w)});var T=B(C,2),E=e=>{Fw(e,{get visibleNodeCount(){return s()},get totalNodeCount(){return n()},get hiddenNodeCount(){return c()}})};Y(T,e=>{o()&&e(E)}),V(()=>{J(_,`${n()??``} nodes · ${r()??``} edges`),x.disabled=i()}),G(`click`,y,function(...e){l()?.apply(this,e)}),G(`click`,b,function(...e){u()?.apply(this,e)}),G(`click`,x,function(...e){d()?.apply(this,e)}),q(e,f)}var zw=K(`<div class="kg-container svelte-1esn54r"><!></div>`);function Bw(e,t){var n=zw();Hi(R(n),t,`default`,{},null),j(n),q(e,n)}var Vw=K(`<p>Are you sure you want to delete entity <strong> </strong>?</p>`),Hw=K(`<p>Are you sure you want to delete this relation?</p> <p style="font-size:0.8rem;color:var(--color-text-muted);margin-top:4px;"> </p>`,1),Uw=K(`<div class="modal-header svelte-18jfbxu"><!> <span>Confirm Delete</span></div> <div class="modal-body svelte-18jfbxu"><!></div> <div class="modal-footer svelte-18jfbxu"><button class="btn btn-ghost btn-sm">Cancel</button> <button class="btn btn-sm" style="background:var(--color-danger);color:white;border:none;">Delete</button></div>`,1),Ww=K(`<div class="modal-header svelte-18jfbxu"><!> <span>Add Entity</span></div> <div class="modal-body svelte-18jfbxu"><div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="entity-name">Name *</label> <input id="entity-name" class="form-input" type="text" placeholder="Entity name"/></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="entity-type">Type</label> <select id="entity-type" class="form-select"><option>Person</option><option>Place</option><option>Organization</option><option>Concept</option><option>Unknown</option></select></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="entity-desc">Description</label> <textarea id="entity-desc" class="form-textarea" placeholder="Optional description" rows="2"></textarea></div></div> <div class="modal-footer svelte-18jfbxu"><button class="btn btn-ghost btn-sm">Cancel</button> <button class="btn btn-primary btn-sm">Create</button></div>`,1),Gw=K(`<option> </option>`),Kw=K(`<option> </option>`),qw=K(`<div class="modal-header svelte-18jfbxu"><!> <span>Add Relation</span></div> <div class="modal-body svelte-18jfbxu"><div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="rel-from">From Entity *</label> <select id="rel-from" class="form-select"><option>Select entity...</option><!></select></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="rel-to">To Entity *</label> <select id="rel-to" class="form-select"><option>Select entity...</option><!></select></div> <div class="form-group svelte-18jfbxu"><label class="form-label svelte-18jfbxu" for="rel-type">Relation Type *</label> <input id="rel-type" class="form-input" type="text" placeholder="e.g., knows, located_in, works_at"/></div></div> <div class="modal-footer svelte-18jfbxu"><button class="btn btn-ghost btn-sm">Cancel</button> <button class="btn btn-primary btn-sm">Create</button></div>`,1),Jw=K(`<div class="modal-overlay svelte-18jfbxu" role="button" tabindex="0" aria-label="Close"></div> <div class="modal-panel animate-fade-in-scale svelte-18jfbxu" role="dialog"><!></div>`,1);function Yw(e,t){rt(t,!1);let n=Ya(),r=Z(t,`mode`,8,`addEntity`),i=Z(t,`show`,8,!1),a=Z(t,`entityNodes`,24,()=>[]),o=Z(t,`deleteTarget`,8,null),s=I(``),c=I(`concept`),l=I(``),u=I(``),d=I(``),f=I(``);function p(){n(`close`)}function m(){n(`close`)}function h(){H(s).trim()&&(n(`addEntity`,{name:H(s).trim(),type:H(c),description:H(l).trim()||void 0}),L(s,``),L(c,`concept`),L(l,``))}function g(){!H(u)||!H(d)||!H(f).trim()||(n(`addRelation`,{from_entity:H(u),to_entity:H(d),relation_type:H(f).trim()}),L(u,``),L(d,``),L(f,``))}function _(){n(`delete`)}Ua();var v=Ti(),y=z(v),b=e=>{var t=Jw(),n=z(t),i=B(n,2),v=R(i),y=e=>{var t=Uw(),n=z(t);Q(R(n),{name:`trash`,size:14,strokeWidth:1.75}),M(2),j(n);var r=B(n,2),i=R(r),a=e=>{var t=Vw(),n=B(R(t)),r=R(n,!0);j(n),M(),j(t),V(()=>J(r,(W(o()),U(()=>o().name)))),q(e,t)},s=e=>{var t=Hw(),n=B(z(t),2),r=R(n,!0);j(n),V(()=>J(r,(W(o()),U(()=>o()?.name)))),q(e,t)};Y(i,e=>{W(o()),U(()=>o()?.type===`node`)?e(a):e(s,-1)}),j(r);var c=B(r,2),l=R(c),u=B(l,2);j(c),G(`click`,l,m),G(`click`,u,_),q(e,t)},b=e=>{var t=Ww(),n=z(t);Q(R(n),{name:`plus`,size:14,strokeWidth:1.75}),M(2),j(n);var r=B(n,2),i=R(r),a=B(R(i),2);Ta(a),j(i);var o=B(i,2),u=B(R(o),2),d=R(u);d.value=d.__value=`person`;var f=B(d);f.value=f.__value=`place`;var p=B(f);p.value=p.__value=`organization`;var g=B(p);g.value=g.__value=`concept`;var _=B(g);_.value=_.__value=`unknown`,j(u),j(o);var v=B(o,2),y=B(R(v),2);Un(y),j(v),j(r);var b=B(r,2),x=R(b),S=B(x,2);j(b),V(e=>S.disabled=e,[()=>(H(s),U(()=>!H(s).trim()))]),Fa(a,()=>H(s),e=>L(s,e)),ma(u,()=>H(c),e=>L(c,e)),Fa(y,()=>H(l),e=>L(l,e)),G(`click`,x,m),G(`click`,S,h),q(e,t)},x=e=>{var t=qw(),n=z(t);Q(R(n),{name:`link`,size:14,strokeWidth:1.75}),M(2),j(n);var r=B(n,2),i=R(r),o=B(R(i),2),s=R(o);s.value=s.__value=``,X(B(s),1,a,e=>e.id,(e,t)=>{var n=Gw(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(H(t),U(()=>H(t).name))),i!==(i=(H(t),U(()=>H(t).name)))&&(n.value=(n.__value=(H(t),U(()=>H(t).name)))??``)}),q(e,n)}),j(o),j(i);var c=B(i,2),l=B(R(c),2),p=R(l);p.value=p.__value=``,X(B(p),1,a,e=>e.id,(e,t)=>{var n=Kw(),r=R(n,!0);j(n);var i={};V(()=>{J(r,(H(t),U(()=>H(t).name))),i!==(i=(H(t),U(()=>H(t).name)))&&(n.value=(n.__value=(H(t),U(()=>H(t).name)))??``)}),q(e,n)}),j(l),j(c);var h=B(c,2),_=B(R(h),2);Ta(_),j(h),j(r);var v=B(r,2),y=R(v),b=B(y,2);j(v),V(e=>b.disabled=e,[()=>(H(u),H(d),H(f),U(()=>!H(u)||!H(d)||!H(f).trim()))]),ma(o,()=>H(u),e=>L(u,e)),ma(l,()=>H(d),e=>L(d,e)),Fa(_,()=>H(f),e=>L(f,e)),G(`click`,y,m),G(`click`,b,g),q(e,t)};Y(v,e=>{r()===`deleteConfirm`?e(y):r()===`addEntity`?e(b,1):r()===`addRelation`&&e(x,2)}),j(i),G(`click`,n,p),q(e,t)};Y(y,e=>{i()&&e(b)}),q(e,v),it()}var Xw=K(`<div class="kg-loading"><div class="animate-spin" style="width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;"></div> <span>Loading graph...</span></div>`),Zw=K(`<div class="kg-empty"><!> <div>No knowledge graph data found</div> <div class="text-xs" style="color:var(--color-text-muted);">Add entities and relations to build your graph.</div></div>`),Qw=K(`<!> <!> <div><canvas tabindex="0"></canvas></div> <!> <!> <!>`,1);function $w(e,t){rt(t,!1);let n=Z(t,`repo`,8),r=I([]),i=I([]),a=I(!0),o=I(``),s=I(``),c=I(!1),l=I(0),u=I([]),d=[],f=new Map;function p(e){return f.get(e)}let m=I(),h,g=800,_=600,v={hoveredNode:null,selectedNode:null,selectedEdge:null,tooltipPos:{x:0,y:0},showTooltip:!1},y=I(!1),b=I(!1),x=I(!1),S=I(null),C=new Map;function w(e){let t=new Map;for(let n of e)t.set(n.id,n),t.set(n.name,n);return t}function T(){h&&Nw(h,g,_,H(u),d,{...v,hiddenNodeCount:H(l)})}async function E(e=!1){if(!n())return;let t=n();if(!(!e&&H(s)===t&&H(u).length>0)){L(a,!0),L(o,``),D();try{let e=await Ro.kgGraph(t);if(n()!==t)return;L(r,e.nodes||[]),L(i,e.edges||[]),L(s,t),O()}catch(e){if(n()!==t)return;L(s,``),L(o,e instanceof Error?e.message:`Failed to load graph`)}finally{n()===t&&L(a,!1)}}}function D(){L(r,[]),L(i,[]),L(u,[]),d=[],f=C,L(c,!1),L(l,0),v.selectedNode=null,v.selectedEdge=null,v.hoveredNode=null,v.showTooltip=!1,T()}function O(){if(!h)return;if(L(c,H(i).length===0&&H(r).length>0),H(c)){let e=yw(H(r).map(e=>({id:e.id,name:e.name,type:e.type,description:e.description,memoryCount:e.memoryCount,x:0,y:0,vx:0,vy:0,pinned:!1})),g,_);L(u,e),L(l,Math.max(0,H(r).length-e.length)),d=[],f=w(H(u)),T();return}let e=H(r).slice(0,300),t=new Set(e.map(e=>e.name));L(u,vw(e.map(e=>({id:e.id,name:e.name,type:e.type,description:e.description,memoryCount:e.memoryCount,x:0,y:0,vx:0,vy:0,pinned:!1})),g,_)),d=H(i).filter(e=>t.has(e.source)&&t.has(e.target)).map(e=>({source:e.source,target:e.target,relation_type:e.relation_type})),L(l,Math.max(0,H(r).length-e.length)),f=w(H(u)),bw(H(u),d,g,_),T()}function k(){if(!H(m))return;let e=Ew(H(m));if(g=e.width,_=e.height,h=e.ctx,H(u).length>0){if(H(c)){O();return}bw(H(u),d,g,_),T()}}function ee(e){let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;for(let e of H(u)){let t=n-e.x,i=r-e.y;if(t*t+i*i<=484){v.selectedNode=e,v.selectedEdge=null,v.tooltipPos={x:n,y:r},v.showTooltip=!0,T();return}}for(let e of d){let t=p(e.source),i=p(e.target);if(!(!t||!i)&&ie(n,r,t.x,t.y,i.x,i.y)<10){v.selectedEdge=e,v.selectedNode=null,v.showTooltip=!1,T();return}}v.selectedNode=null,v.selectedEdge=null,v.showTooltip=!1,T()}function te(e){let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;for(let e of H(u)){let t=n-e.x,i=r-e.y;if(t*t+i*i<=484){L(S,{type:`node`,name:e.name}),L(x,!0);return}}}function ne(e){e.preventDefault();let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;for(let e of d){let t=p(e.source),i=p(e.target);if(!(!t||!i)&&ie(n,r,t.x,t.y,i.x,i.y)<10){L(S,{type:`edge`,name:`${e.source} → ${e.target} (${e.relation_type})`,edge:e}),v.selectedEdge=e,v.selectedNode=null,L(x,!0),T();return}}}function re(e){let t=H(m).getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=null;for(let e of H(u)){let t=n-e.x,a=r-e.y;if(t*t+a*a<=484){i=e;break}}i!==v.hoveredNode&&(v.hoveredNode=i,Sn(m,H(m).style.cursor=i?`pointer`:`default`),T())}function ie(e,t,n,r,i,a){let o=i-n,s=a-r,c=o*o+s*s;if(c===0)return Math.hypot(e-n,t-r);let l=((e-n)*o+(t-r)*s)/c;return l=Math.max(0,Math.min(1,l)),Math.hypot(e-(n+l*o),t-(r+l*s))}async function A(e){let{name:t,type:r,description:i}=e.detail;try{await Ro.kgCreateEntity({name:t,type:r,description:i,repo:n()}),L(y,!1),await E(!0)}catch(e){L(o,e instanceof Error?e.message:`Failed to create entity`)}}async function ae(e){let{from_entity:t,to_entity:r,relation_type:i}=e.detail;try{await Ro.kgCreateRelation({from_entity:t,to_entity:r,relation_type:i,repo:n()}),L(b,!1),await E(!0)}catch(e){L(o,e instanceof Error?e.message:`Failed to create relation`)}}async function oe(){if(H(S))try{if(H(S).type===`node`)await Ro.kgDeleteEntity(H(S).name);else if(H(S).type===`edge`){let e=H(S).edge;await Ro.kgDeleteRelation({from_entity:e.source,to_entity:e.target,relation_type:e.relation_type})}L(x,!1),L(S,null),v.selectedEdge=null,v.selectedNode=null,v.showTooltip=!1,await E(!0)}catch(e){L(o,e instanceof Error?e.message:`Failed to delete`)}}function se(){L(x,!1),L(S,null)}function ce(e){e.key===`Escape`&&(v.showTooltip=!1,v.selectedNode=null,v.selectedEdge=null,L(x,!1),L(y,!1),L(b,!1),T())}let le=null;Ka(()=>{if(H(m)){let e=Ew(H(m));g=e.width,_=e.height,h=e.ctx}n()&&E(),le=new ResizeObserver(()=>k()),H(m)?.parentElement&&le.observe(H(m).parentElement)}),qa(()=>{le?.disconnect()}),ir(()=>(W(n()),H(m),H(s),U),()=>{n()&&H(m)&&H(s)!==n()&&U(()=>E())}),ar(),Ua(),G(`keydown`,An,ce),Bw(e,{children:(e,t)=>{var n=Qw(),s=z(n);Rw(s,{get nodeCount(){return H(r),U(()=>H(r).length)},get edgeCount(){return H(i),U(()=>H(i).length)},get isLoading(){return H(a)},get errorMsg(){return H(o)},get isZeroEdgeOverview(){return H(c)},get visibleNodeCount(){return H(u),U(()=>H(u).length)},get hiddenNodeCount(){return H(l)},onAddEntity:()=>L(y,!0),onAddRelation:()=>L(b,!0),onRefresh:()=>E(!0)});var d=B(s,2),f=e=>{q(e,Xw())},p=e=>{var t=Zw();Q(R(t),{name:`share-2`,size:32,strokeWidth:1.25,className:``}),M(4),j(t),q(e,t)};Y(d,e=>{H(a)?e(f):(H(u),U(()=>H(u).length===0)&&e(p,1))});var h=B(d,2);let g;var _=R(h);Ba(_,e=>L(m,e),()=>H(m)),j(h);var v=B(h,2);Yw(v,{mode:`addEntity`,get show(){return H(y)},$$events:{addEntity:A,close:()=>L(y,!1)}});var C=B(v,2);Yw(C,{mode:`addRelation`,get show(){return H(b)},get entityNodes(){return H(u)},$$events:{addRelation:ae,close:()=>L(b,!1)}}),Yw(B(C,2),{mode:`deleteConfirm`,get show(){return H(x)},get deleteTarget(){return H(S)},$$events:{delete:oe,close:se}}),V(()=>{g=la(h,1,`kg-canvas-wrap`,null,g,{"kg-hidden":H(a)||H(u).length===0}),ka(_,`aria-label`,(H(c),H(u),H(r),U(()=>H(c)?`Knowledge Graph zero-relation overview showing ${H(u).length} of ${H(r).length} entities`:`Knowledge Graph visualization`)))}),G(`click`,_,ee),G(`dblclick`,_,te),G(`contextmenu`,_,ne),G(`mousemove`,_,re),q(e,n)},$$slots:{default:!0}}),it()}var eT={backlog:`#64748b`,pending:`#0ea5e9`,in_progress:`#a855f7`,blocked:`#ef4444`,completed:`#10b981`,canceled:`#94a3b8`},tT={backlog:`backlog`,pending:`pending`,in_progress:`in_progress`,blocked:`blocked`,completed:`completed`,canceled:`canceled`},nT=[`#06b6d4`,`#f59e0b`,`#ec4899`,`#10b981`,`#3b82f6`,`#f97316`,`#14b8a6`,`#e11d48`,`#8b5cf6`,`#84cc16`],rT=16,iT=22,aT=28,oT=new Set([`in_progress`,`pending`]),sT=34,cT=54,lT=28,uT=58,dT=42;function fT(e,t,n){return Math.min(n,Math.max(t,e))}function pT(e,t){let n=Math.max(1,e.w-sT*2),r=Math.max(1,e.h-cT-lT),i=fT(Math.floor(n/uT)+1,1,3),a=Math.max(1,Math.floor(r/dT)+1),o=t%(i*a),s=o%i,c=Math.floor(o/i),l=i>1?n/(i-1):0,u=a>1?r/(a-1):0;return{x:e.x+sT+s*l,y:e.y+cT+c*u}}var mT=[`male_nurse`,`female_nurse`,`staff1`,`staff2`];function hT(e){return e%2==0?`wheelchair`:`stretcher`}function gT(e){return mT[(e>>>4)%mT.length]}function _T(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function vT(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return nT[t%nT.length]}function yT(e,t){let n=e-32,r=t-32,i=Math.floor((r-16)/2),a=r-i-16,o=Math.floor((n-16)/2),s=Math.floor((n-32)/3);return[{id:`pending`,label:`Pending`,x:16,y:16,w:o,h:i,color:`#f59e0b`},{id:`in_progress`,label:`In Progress`,x:16+o+16,y:16,w:n-o-16,h:i,color:`#3b82f6`},{id:`backlog`,label:`Backlog`,x:16,y:16+i+16,w:s,h:a,color:`#8b5cf6`},{id:`blocked`,label:`Blocked`,x:16+s+16,y:16+i+16,w:s,h:a,color:`#ef4444`},{id:`burnout`,label:`Therapy Room`,x:16+s*2+32,y:16+i+16,w:n-s*2-32,h:a,color:`#14b8a6`}]}function bT(e,t){let n=new Map(t.map(e=>[e.id,e])),r=new Map;t.forEach(e=>r.set(e.id,[]));for(let t of e){let e=tT[t.status]??`pending`;if(!r.has(e))continue;let n=r.get(e);n.length<rT&&n.push(t)}let i=new Map;for(let[e,t]of r){let r=n.get(e);if(!r||t.length===0)continue;let a=r.w-iT*2,o=r.h-iT-aT,s=Math.max(1,Math.floor(a/65)),c=Math.ceil(t.length/s);for(;o/c<55&&s<t.length;)s++,c=Math.ceil(t.length/s);let l=a/s,u=Math.max(55,Math.min(75,o/c));t.forEach((e,t)=>{let n=t%s,a=Math.floor(t/s);i.set(e.id,{x:r.x+iT+n*l+l/2,y:r.y+aT+a*u+u/2})})}return i}function xT(e,t,n,r,i){let a=yT(i.canvasWidth,i.canvasHeight),o=bT(e,a),s=a.find(e=>e.id===`in_progress`)||a[0],c={agents:new Map,tasks:new Map,handoffs:[]};for(let t of e){let e=o.get(t.id);e&&c.tasks.set(t.id,{id:t.id,taskCode:t.task_code,title:t.title,repo:t.repo,status:t.status,priority:t.priority??3,x:e.x,y:e.y,claimedByAgentId:t.coordination?.active_claim_agent??null,hasPendingHandoff:(t.coordination?.pending_handoff_count??0)>0})}let l=new Map;for(let e of t){l.has(e.agent)||l.set(e.agent,{tasks:new Set,role:e.role,repos:new Set});let t=l.get(e.agent);t.tasks.add(e.task_id),t.repos.add(e.repo)}for(let t of e){let e=t.coordination?.active_claim_agent;if(!e)continue;l.has(e)||l.set(e,{tasks:new Set,role:t.coordination?.active_claim_role??`agent`,repos:new Set});let n=l.get(e);n.tasks.add(t.id),n.repos.add(t.repo)}Array.from(l.keys()).forEach((e,t)=>{let{tasks:n,role:i,repos:o}=l.get(e),u=r?.agents.get(e),d=s.x+s.w/2+(t%3-1)*30,f=s.y+s.h/2+(Math.floor(t/3)-1)*30,p=Array.from(n).find(e=>c.tasks.has(e)),m=p?c.tasks.get(p):null,h=Array.from(n).map(e=>c.tasks.get(e)).filter(e=>!!e).some(e=>oT.has(e.status)),g=m?m.x+20:d,_=m?m.y-18:f,v=Array.from(n).sort(),y=u?.claimedTaskIds.slice().sort()??[],b=!u||v.join(`,`)!==y.join(`,`),x=Date.now(),S=b?x:u?.lastUpdateTs??x,C=!h&&x-S>3e4,w=n.size>0?`processing`:`idle`;m&&m.status===`blocked`&&(w=`blocked`);let T=u?.handoffAnim??null;if(C){w=`burnout`;let n=pT(a.find(e=>e.id===`burnout`)||s,t);if(g=n.x,_=n.y,u?.state!==`burnout`&&!T){let t=_T(e),n=u?.x??d,r=u?.y??f;T={phase:`pickup`,vehicle:hT(t),helperVariant:gT(t),startX:n,startY:r,endX:g,endY:_,progress:0,phaseStartTs:performance.now(),wheelAngle:0,helperWalkPhase:0,helperFacing:`down`,stepBounce:0}}}else T=null;c.agents.set(e,{id:e,name:e,role:i,color:vT(e),x:u?.x??d,y:u?.y??f,targetX:g,targetY:_,vx:u?.vx??0,vy:u?.vy??0,walkPhase:u?.walkPhase??0,facing:u?.facing??`down`,state:w,claimedTaskIds:Array.from(n),repos:Array.from(o),lastUpdateTs:S,handoffAnim:T})});for(let e of n)e.status===`pending`&&c.handoffs.push({id:e.id,fromAgentId:e.from_agent,toAgentId:e.to_agent,taskId:e.task_id,summary:e.summary});return c}function ST(e){return e?.structuredContent??null}function CT(e,t,n){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id??``),repo:n,from_agent:String(r.from_agent??``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,task_code:r.task_code?String(r.task_code):null,summary:String(r.summary??``),context:r.context??{},status:String(r.status??`pending`),created_at:String(r.created_at??``),updated_at:String(r.updated_at??r.created_at??``),expires_at:r.expires_at?String(r.expires_at):null}}function wT(){let e=N({scene:null,loading:!1,error:null,lastUpdated:0,repoCount:0}),t=null,n=!1,r=null;async function i(){if(n||!r)return;let t=P(to).map(e=>e.repo);if(t.length===0){e.update(e=>({...e,loading:!1}));return}n=!0;try{let n=await Promise.allSettled(t.map(e=>Promise.allSettled([Ro.tasks({repo:e,status:`in_progress`,pageSize:10}),Ro.tasks({repo:e,status:`pending`,pageSize:8}),Ro.tasks({repo:e,status:`blocked`,pageSize:4}),Ro.coordinationClaims({repo:e,active_only:!0,pageSize:50}),Ro.callTool(`handoff-list`,{repo:e,status:`pending`,limit:10,structured:!0})]))),i=[],a=[],o=[];t.forEach((e,t)=>{let r=n[t];if(r.status===`rejected`)return;let[s,c,l,u,d]=r.value;if(s.status===`fulfilled`&&i.push(...s.value.tasks??[]),c.status===`fulfilled`&&i.push(...c.value.tasks??[]),l.status===`fulfilled`&&i.push(...l.value.tasks??[]),u.status===`fulfilled`&&a.push(...u.value.claims??[]),d.status===`fulfilled`){let t=ST(d.value),n=t?.handoffs?.columns??[],r=t?.handoffs?.rows??[];o.push(...r.map(t=>CT(n,t,e)))}});let s=Array.from(new Map(i.map(e=>[e.id,e])).values());e.update(e=>({...e,scene:xT(s,a,o,e.scene,r),loading:!1,error:null,lastUpdated:Date.now(),repoCount:t.length}))}catch(t){e.update(e=>({...e,loading:!1,error:t instanceof Error?t.message:`Failed to load arena data`}))}finally{n=!1}}function a(e){r=e}function o(n){r=n,e.update(e=>({...e,loading:!0})),i(),t!==null&&clearInterval(t),t=setInterval(()=>void i(),2500)}function s(){t!==null&&(clearInterval(t),t=null),n=!1}return{subscribe:e.subscribe,start:o,stop:s,setLayout:a,refresh:i}}var TT=85,ET=50,DT=6,OT=[2800,5e3],kT=[600,1600],AT=100,jT=800,MT=600;function NT(e){if(!e)return[0,0,0];let t=e.replace(`#`,``);t.length===3?t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t.length===8&&(t=t.slice(0,6));let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function PT(e,t){let[n,r,i]=NT(e);return`rgb(${Math.min(255,n+t)},${Math.min(255,r+t)},${Math.min(255,i+t)})`}function FT(e,t){let[n,r,i]=NT(e);return`rgb(${Math.max(0,n-t)},${Math.max(0,r-t)},${Math.max(0,i-t)})`}function IT(e,t){let[n,r,i]=NT(e);return`rgba(${n},${r},${i},${t})`}function LT(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function RT(e,t){return Math.abs(Math.sin(e*127.1+t*311.7)*43758.5453)%1}function $(e,t,n,r,i,a){a=Math.min(a,r/2,i/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.arcTo(t+r,n,t+r,n+a,a),e.lineTo(t+r,n+i-a),e.arcTo(t+r,n+i,t+r-a,n+i,a),e.lineTo(t+a,n+i),e.arcTo(t,n+i,t,n+i-a,a),e.lineTo(t,n+a),e.arcTo(t,n,t+a,n,a),e.closePath()}var zT=[`#1a0a00`,`#2d1a00`,`#0f0f0f`,`#4a2d00`,`#8B4513`,`#d4a800`,`#c0392b`,`#7b2d8b`,`#1a3a5c`,`#2d4a1a`],BT=[`#f5c89a`,`#e8a870`,`#d4875a`,`#c06840`,`#8B5e3c`,`#6b3d28`],VT=[`#1e3a5f`,`#2d4a1a`,`#3d2a1a`,`#2a1a3d`,`#1a3d3d`,`#3d1a2a`,`#2a2a3d`],HT={male_nurse:`#1e6e9e`,female_nurse:`#2d8e6e`,staff1:`#5a3e8a`,staff2:`#8a5a3e`},UT={male_nurse:`#1a0a00`,female_nurse:`#4a2d00`,staff1:`#0f0f0f`,staff2:`#2d1a00`},WT={male_nurse:`#e8a870`,female_nurse:`#f5c89a`,staff1:`#d4875a`,staff2:`#c06840`},GT=class{canvas;ctx;scene=null;layout=null;isDark=!1;hoveredId=null;rafId=0;ts=0;prevTs=0;wander=new Map;constructor(e){this.canvas=e,this.ctx=e.getContext(`2d`)}update(e,t,n){this.scene=e,this.layout=t,this.isDark=n}setHovered(e){this.hoveredId=e}start(){this.rafId=requestAnimationFrame(this.loop)}stop(){cancelAnimationFrame(this.rafId)}hitTestAgent(e,t){if(!this.scene)return null;for(let n of this.scene.agents.values()){let r=e-n.x,i=t-n.y;if(r*r+i*i<=196)return n.id}return null}loop=e=>{let t=Math.min((e-this.prevTs)/1e3,.05);if(this.prevTs=e,this.ts=e,this.scene&&this.layout){let n=yT(this.layout.canvasWidth,this.layout.canvasHeight),r=n.find(e=>e.id===`in_progress`)||n[0];this.updateAgents(t,r,e)}this.render(),this.rafId=requestAnimationFrame(this.loop)};updateAgents(e,t,n){if(this.scene)for(let r of this.scene.agents.values()){if(r.handoffAnim){this.updateHandoffAnim(r,e,n);continue}if(r.state===`idle`){let e=this.wander.get(r.id);if(e||(e={nextPickAt:n},this.wander.set(r.id,e)),n>=e.nextPickAt){r.targetX=t.x+22+Math.random()*(t.w-44),r.targetY=t.y+26+22+Math.random()*(t.h-26-44);let i=kT[0]+Math.random()*(kT[1]-kT[0]),a=OT[0]+Math.random()*(OT[1]-OT[0]);e.nextPickAt=n+i+a}if(Math.random()<.005){let e=[`up`,`down`,`left`,`right`];r.facing=e[Math.floor(Math.random()*e.length)]}}else this.wander.delete(r.id);let i=r.targetX-r.x,a=r.targetY-r.y,o=Math.hypot(i,a);if(o<DT)r.vx*=.75,r.vy*=.75,Math.abs(r.vx)<.5&&(r.vx=0),Math.abs(r.vy)<.5&&(r.vy=0);else{let e=r.state===`idle`?ET:TT,t=o<50?o/50*e+8:e;r.vx+=(i/o*t-r.vx)*.1,r.vy+=(a/o*t-r.vy)*.1}r.x+=r.vx*e,r.y+=r.vy*e;let s=Math.hypot(r.vx,r.vy);s>5?(r.walkPhase=(r.walkPhase+e*s*.07)%(Math.PI*2),r.facing=Math.abs(r.vx)>Math.abs(r.vy)?r.vx>0?`right`:`left`:r.vy>0?`down`:`up`):r.walkPhase=r.walkPhase>.05?r.walkPhase*.85:0}}updateHandoffAnim(e,t,n){let r=e.handoffAnim,i=n-r.phaseStartTs;switch(r.phase){case`pickup`:e.vx=0,e.vy=0,e.walkPhase=0,i>=jT&&(r.phase=`moving`,r.phaseStartTs=n,r.progress=0);break;case`moving`:{let i=Math.hypot(r.endX-r.startX,r.endY-r.startY),a=i/AT;r.progress=Math.min(1,r.progress+t/a);let o=r.progress,s=o<.5?2*o*o:1-(-2*o+2)**2/2;e.x=r.startX+(r.endX-r.startX)*s,e.y=r.startY+(r.endY-r.startY)*s,e.vx=0,e.vy=0;let c=t/a*i;r.wheelAngle=(r.wheelAngle+c*.15)%(Math.PI*2),r.helperWalkPhase=(r.helperWalkPhase+t*AT*.08)%(Math.PI*2),r.stepBounce=Math.sin(r.helperWalkPhase*2)*1.5;let l=r.endX-r.startX,u=r.endY-r.startY;r.helperFacing=Math.abs(l)>Math.abs(u)?l>0?`right`:`left`:u>0?`down`:`up`,r.progress>=1&&(r.phase=`arrive`,r.phaseStartTs=n,e.x=r.endX,e.y=r.endY);break}case`arrive`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0,r.helperWalkPhase=r.helperWalkPhase>.05?r.helperWalkPhase*.92:0,i>=MT&&(r.phase=`resting`,r.phaseStartTs=n,e.targetX=r.endX,e.targetY=r.endY);break;case`resting`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0;break}}render(){let{canvas:e,ctx:t,scene:n,layout:r,isDark:i,ts:a}=this;if(!r)return;let o=yT(r.canvasWidth,r.canvasHeight);t.clearRect(0,0,e.width,e.height),this.drawGlobalFloor(i);for(let e of o)this.drawRoom(e,i);if(!n)return;let s=Array.from(n.tasks.values()).sort((e,t)=>e.y-t.y);for(let e of s)this.drawWorkstation(e,i,a);this.drawClaimLinks(n,a),this.drawHandoffBeams(n,a);for(let e of n.agents.values())e.handoffAnim&&this.drawHandoffTrail(e,i,a);let c=Array.from(n.agents.values()).sort((e,t)=>e.y-t.y||(e.id===this.hoveredId?1:-1));for(let e of c)e.handoffAnim?this.drawHandoffGroup(e,i,a):this.drawCharacter(e,i,a)}drawGlobalFloor(e){let{ctx:t,canvas:n}=this;t.fillStyle=e?`#0a0e1a`:`#dde3ed`,t.fillRect(0,0,n.width,n.height),t.strokeStyle=e?`rgba(255,255,255,0.02)`:`rgba(0,0,0,0.03)`,t.lineWidth=.5;for(let e=0;e<n.width;e+=24)t.beginPath(),t.moveTo(e,0),t.lineTo(e,n.height),t.stroke();for(let e=0;e<n.height;e+=24)t.beginPath(),t.moveTo(0,e),t.lineTo(n.width,e),t.stroke()}drawRoom(e,t){let{ctx:n}=this,{x:r,y:i,w:a,h:o,color:s,id:c}=e;switch(n.save(),$(n,r,i,a,o,10),n.clip(),c){case`in_progress`:this.drawPlazaFloor(n,r,i,a,o,t);break;case`backlog`:this.drawDirtFloor(n,r,i,a,o,`#5b3a6e`,t);break;case`pending`:this.drawDirtFloor(n,r,i,a,o,`#a68246`,t);break;case`blocked`:this.drawDirtFloor(n,r,i,a,o,`#8b2a2a`,t);break;case`burnout`:this.drawCleanTileFloor(n,r,i,a,o,t);break;case`completed`:this.drawGrassFloor(n,r,i,a,o,t);break;default:this.drawWoodPlankFloor(n,r,i,a,o,t);break}let l=r+a/2,u=i+o*.35,d=n.createRadialGradient(l,u,0,l,u,Math.max(a,o)*.85);d.addColorStop(0,IT(s,t?.12:.08)),d.addColorStop(1,`rgba(0,0,0,0)`),n.fillStyle=d,n.fillRect(r,i,a,o),n.restore(),this.drawWall(n,r,i,a,t,s),n.strokeStyle=IT(s,t?.45:.35),n.lineWidth=1.5,$(n,r,i,a,o,10),n.stroke(),this.drawRoomDecor(n,e,t),this.drawZoneLabel(n,e,t)}drawPlazaFloor(e,t,n,r,i,a){let o=a?`#2e3540`:`#b0b8c4`,s=a?`#262d36`:`#a0a8b4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/24)*24;o<t+r;o+=24)for(let t=Math.floor(n/24)*24;t<n+i;t+=24)Math.round(o/24)+Math.round(t/24)&1||(e.fillStyle=s,e.fillRect(o,t,24,24)),RT(o,t)>.8&&(e.strokeStyle=a?`rgba(0,0,0,0.3)`:`rgba(0,0,0,0.1)`,e.lineWidth=1,e.beginPath(),e.moveTo(o+2,t+2),e.lineTo(o+24/2,t+24/2),e.stroke())}drawDirtFloor(e,t,n,r,i,a,o){e.fillStyle=a,e.fillRect(t,n,r,i);for(let a=t;a<t+r;a+=16)for(let t=n;t<n+i;t+=16){let n=RT(a,t);n>.5&&(e.fillStyle=o?`rgba(0,0,0,0.15)`:`rgba(255,255,255,0.1)`,e.beginPath(),e.arc(a+n*10,t+n*10,2+n*2,0,Math.PI*2),e.fill())}}drawGrassFloor(e,t,n,r,i,a){e.fillStyle=a?`#1a4020`:`#4ade80`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.1)`;for(let a=t;a<t+r;a+=12)for(let t=n;t<n+i;t+=12){let n=RT(a,t);n>.4&&(e.beginPath(),e.moveTo(a+n*5,t+8),e.lineTo(a+n*5+2,t+2),e.lineTo(a+n*5+4,t+8),e.stroke())}}drawWoodPlankFloor(e,t,n,r,i,a){let o=a?30:180,s=a?22:140,c=a?12:80;e.fillStyle=`rgb(${o},${s},${c})`,e.fillRect(t,n,r,i);for(let l=Math.floor(n/9)*9;l<n+i;l+=9){let n=Math.round(l/9),i=(RT(n,0)*30-15)*(a?.8:.6);e.fillStyle=`rgb(${Math.round(Math.min(255,Math.max(0,o+i)))},${Math.round(Math.min(255,Math.max(0,s+i)))},${Math.round(Math.min(255,Math.max(0,c+i)))})`,e.fillRect(t,l,r,9),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.07)`,e.lineWidth=.5,e.beginPath(),e.moveTo(t,l),e.lineTo(t+r,l),e.stroke();let u=n%2*55+RT(n,1)*40;for(let i=t+u;i<t+r;i+=80+RT(n,i)*20)e.beginPath(),e.moveTo(i,l),e.lineTo(i,l+9),e.stroke()}}drawCarpetFloor(e,t,n,r,i,a,o){e.fillStyle=o?`#100d18`:`#1a1535`,e.fillRect(t,n,r,i),e.strokeStyle=IT(a,.06),e.lineWidth=1;for(let a=-i;a<r+i;a+=8)e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+a+i,n+i),e.stroke();e.strokeStyle=o?`rgba(255,255,255,0.025)`:`rgba(255,255,255,0.04)`,e.lineWidth=.5;for(let a=t;a<t+r;a+=12)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=n;a<n+i;a+=12)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCrackedTileFloor(e,t,n,r,i,a){e.fillStyle=a?`#1c1410`:`#c8b89a`,e.fillRect(t,n,r,i);for(let o=Math.floor(t/18)*18;o<t+r;o+=18)for(let t=Math.floor(n/18)*18;t<n+i;t+=18){let n=RT(Math.round(o/18),Math.round(t/18)),r=(n*30-15)*(a?.7:.5);e.fillStyle=a?`rgba(255,${100+r},${50+r},0.04)`:`rgba(180,${140+r},${100+r},0.3)`,e.fillRect(o,t,18,18),n>.85&&(e.strokeStyle=a?`rgba(0,0,0,0.6)`:`rgba(100,80,60,0.5)`,e.lineWidth=.75,e.beginPath(),e.moveTo(o+n*18,t+2),e.lineTo(o+18/2+n*5,t+18/2),e.lineTo(o+18*.8,t+18-2),e.stroke())}e.strokeStyle=a?`rgba(0,0,0,0.5)`:`rgba(0,0,0,0.12)`,e.lineWidth=1;for(let a=Math.floor(t/18)*18;a<=t+r;a+=18)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/18)*18;a<=n+i;a+=18)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCleanTileFloor(e,t,n,r,i,a){let o=a?`#1a2530`:`#f0f4f8`,s=a?`#1f2d3a`:`#e8eef4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/22)*22;o<t+r;o+=22)for(let t=Math.floor(n/22)*22;t<n+i;t+=22)Math.round(o/22)+Math.round(t/22)&1||(e.fillStyle=s,e.fillRect(o+1,t+1,20,20),e.fillStyle=a?`rgba(255,255,255,0.04)`:`rgba(255,255,255,0.6)`,e.fillRect(o+3,t+3,5,5));e.strokeStyle=a?`rgba(255,255,255,0.04)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let a=Math.floor(t/22)*22;a<=t+r;a+=22)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/22)*22;a<=n+i;a+=22)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawConcreteFloor(e,t,n,r,i,a){e.fillStyle=a?`#141418`:`#b8bec8`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(255,255,255,0.03)`:`rgba(255,255,255,0.15)`,e.lineWidth=1;for(let a=n;a<n+i;a+=4)RT(0,Math.round(a))>.5&&(e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke());e.strokeStyle=a?`rgba(0,0,0,0.4)`:`rgba(0,0,0,0.1)`,e.lineWidth=1.5;for(let a=n+(80-(n%80||80));a<n+i;a+=80)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawWall(e,t,n,r,i,a){e.fillStyle=i?`#1c2130`:`#c4cad6`,$(e,t,n,r,11,0),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let i=t+24;i<t+r;i+=24)e.beginPath(),e.moveTo(i,n),e.lineTo(i,n+11),e.stroke();e.fillStyle=IT(a,.4),e.fillRect(t,n,r,2.5);let o=e.createLinearGradient(t,n+11,t,n+11+8);o.addColorStop(0,`rgba(0,0,0,0.28)`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t,n+11,r,8),e.fillStyle=i?`#253040`:`#b8bfc9`,e.fillRect(t,n,6,11),e.fillRect(t+r-6,n,6,11)}drawZoneLabel(e,t,n){let{x:r,y:i,w:a,color:o,label:s}=t,c=Math.min(a-16,92),l=r+9,u=i+3;e.fillStyle=IT(o,n?.25:.18),$(e,l,u,c,16,5),e.fill(),e.strokeStyle=IT(o,.6),e.lineWidth=.75,$(e,l,u,c,16,5),e.stroke(),e.fillStyle=o,e.font=`bold 8px system-ui,sans-serif`,e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(s.toUpperCase(),l+6,u+16/2)}drawRoomDecor(e,t,n){let{x:r,y:i,w:a,h:o,id:s}=t;switch(s){case`in_progress`:this.decorWorkspace(e,r,i,a,o,n);break;case`backlog`:this.decorArchive(e,r,i,a,o,n);break;case`pending`:this.decorLobby(e,r,i,a,o,n);break;case`blocked`:this.decorIssues(e,r,i,a,o);break;case`burnout`:this.decorTherapy(e,r,i,a,o,n);break}}decorPlaza(e,t,n,r,i,a){let o=t+r/2,s=n+i/2;e.fillStyle=a?`#1e293b`:`#94a3b8`,e.beginPath(),e.arc(o,s,24,0,Math.PI*2),e.fill(),e.fillStyle=a?`#0ea5e9`:`#38bdf8`,e.beginPath(),e.arc(o,s,20,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(255,255,255,0.4)`,e.beginPath(),e.arc(o,s,8,0,Math.PI*2),e.fill()}decorFence(e,t,n,r,i,a){e.strokeStyle=a?`#452b14`:`#8b5a2b`,e.lineWidth=4,e.strokeRect(t+4,n+4,r-8,i-8)}decorBlocked(e,t,n,r,i,a){this.decorFence(e,t,n,r,i,a),e.fillStyle=`#f97316`,[[t+20,n+i-20],[t+40,n+i-20]].forEach(([t,n])=>{e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+6,n),e.lineTo(t-6,n),e.fill()})}decorGarden(e,t,n,r,i,a){e.fillStyle=a?`#064e3b`:`#166534`,e.fillRect(t+10,n+10,20,20),e.beginPath(),e.arc(t+r-20,n+i-20,15,0,Math.PI*2),e.fill()}decorLobby(e,t,n,r,i,a){let o=t+r/2-28,s=n+i-55;this.drawSofa(e,o,s,56,a),this.drawCoffeeTable(e,t+r/2-14,n+i-32,a),this.drawPotPlant(e,t+8,n+i-18,a),this.drawPotPlant(e,t+r-18,n+i-18,a),this.drawPotPlant(e,t+8,n+28,a);let c=Math.min(r-20,70);this.drawReceptionDesk(e,t+r/2-c/2,n+24,c,a),this.drawCeilingLamp(e,t+r/2,n+14,a,this.ts)}decorInbox(e,t,n,r,i,a){this.drawLetterSorter(e,t+r-28,n+20,a),this.drawClock(e,t+18,n+20,a)}decorWorkspace(e,t,n,r,i,a){this.drawPowerStrip(e,t+12,n+i-16,Math.min(r-24,60),a),this.drawWhiteboard(e,t+r-36,n+18,a),this.drawWaterDispenser(e,t+20,n+12,a),this.drawFlowerVase(e,t+r/2,n+24,a)}decorIssues(e,t,n,r,i){e.save(),e.globalAlpha=.25,e.strokeStyle=`#f59e0b`,e.lineWidth=4,e.setLineDash([8,8]),e.beginPath(),e.moveTo(t,n+i-8),e.lineTo(t+r,n+i-8),e.stroke(),e.setLineDash([]),e.restore(),this.drawHazardSign(e,t+r/2-10,n+16)}decorDone(e,t,n,r,i,a){this.drawTrophyShelf(e,t+10,n+20,a,this.ts),this.drawPotPlant(e,t+r-18,n+i-20,a)}decorArchive(e,t,n,r,i,a){for(let i=t+10;i<t+r-22;i+=26)this.drawFilingCabinet(e,i,n+18,a);this.drawPotPlant(e,t+r-15,n+i-20,a)}drawSofa(e,t,n,r,i){let a=i?`#2d3a4a`:`#8b9eb5`,o=i?`#3a4d62`:`#a8bdd4`,s=i?`#253040`:`#7b8ea5`;e.fillStyle=a,$(e,t,n,r,8,3),e.fill(),e.fillStyle=o,$(e,t,n+7,r,10,3),e.fill(),e.fillStyle=s,$(e,t-4,n,8,17,3),e.fill(),e.fillStyle=s,$(e,t+r-4,n,8,17,3),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.07)`:`rgba(0,0,0,0.08)`,e.lineWidth=1,e.beginPath(),e.moveTo(t+r/3,n+7),e.lineTo(t+r/3,n+17),e.stroke(),e.beginPath(),e.moveTo(t+r*2/3,n+7),e.lineTo(t+r*2/3,n+17),e.stroke(),e.fillStyle=i?`#1a2030`:`#6b7c90`,[[t+2,n+15],[t+r-6,n+15]].forEach(([t,n])=>e.fillRect(t,n,4,4))}drawCoffeeTable(e,t,n,r){e.fillStyle=`rgba(0,0,0,0.15)`,e.beginPath(),e.ellipse(t+14,n+6,16,7,0,0,Math.PI*2),e.fill(),e.fillStyle=r?`#2a3545`:`#93a8be`,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a5a`:`#7a96b0`,e.lineWidth=1,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.stroke(),e.fillStyle=`rgba(255,255,255,0.1)`,e.beginPath(),e.ellipse(t+10,n+2,6,2,0,0,Math.PI*2),e.fill()}drawPotPlant(e,t,n,r){e.fillStyle=r?`#4a2d1a`:`#c4825a`,$(e,t-5,n-8,10,9,2),e.fill(),e.strokeStyle=r?`#6b4028`:`#a0643c`,e.lineWidth=.5,$(e,t-5,n-8,10,9,2),e.stroke(),e.fillStyle=r?`#2d1a0a`:`#6b4a28`,e.fillRect(t-4,n-9,8,3);let i=[`#16a34a`,`#15803d`,`#22c55e`,`#166534`];[[-5,-18,4,3,-.3],[-2,-20,4,3,0],[3,-18,4,3,.3],[-7,-14,3.5,2.5,-.5],[5,-14,3.5,2.5,.5]].forEach(([r,a,o,s,c],l)=>{e.save(),e.translate(t+r,n+a),e.rotate(c),e.fillStyle=i[l%i.length],e.beginPath(),e.ellipse(0,0,o,s,0,0,Math.PI*2),e.fill(),e.restore()})}drawReceptionDesk(e,t,n,r,i){e.fillStyle=i?`#1a2535`:`#9aafcc`,$(e,t,n,r,14,4),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a94b0`,e.lineWidth=1,$(e,t,n,r,14,4),e.stroke(),e.fillStyle=i?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.35)`,$(e,t+2,n+2,r-4,4,2),e.fill(),e.fillStyle=i?`#0f172a`:`#1e2535`,$(e,t+r/2-8,n-10,16,10,2),e.fill(),e.fillStyle=i?`#1e40af`:`#3b82f6`,$(e,t+r/2-7,n-9,14,8,1),e.fill()}drawCeilingLamp(e,t,n,r,i){e.strokeStyle=r?`#3a4555`:`#6b7a8a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-8),e.lineTo(t,n+2),e.stroke(),e.fillStyle=r?`#2a3040`:`#e8d870`,e.beginPath(),e.moveTo(t-10,n+2),e.lineTo(t+10,n+2),e.lineTo(t+8,n+10),e.lineTo(t-8,n+10),e.closePath(),e.fill();let a=.5+.5*Math.sin(i*.0015),o=e.createRadialGradient(t,n+10,0,t,n+10,35+a*5);o.addColorStop(0,r?`rgba(255,240,180,${.15+a*.05})`:`rgba(255,240,180,${.2+a*.05})`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t-40,n+10,80,45)}drawLetterSorter(e,t,n,r){e.fillStyle=r?`#2d3a50`:`#8faac0`,$(e,t,n,22,28,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#7090a8`,e.lineWidth=.75,[0,7,14,21].forEach(r=>{e.beginPath(),e.moveTo(t+1,n+r),e.lineTo(t+21,n+r),e.stroke()}),[`#ef4444`,`#f59e0b`,`#3b82f6`,`#10b981`].forEach((r,i)=>{e.fillStyle=r+`aa`,$(e,t+2,n+i*7+1,18,5,1),e.fill()})}drawClock(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f0f4fc`,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#8898b0`,e.lineWidth=1,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.stroke(),e.strokeStyle=r?`#5a6a80`:`#8898b0`,e.lineWidth=.75;for(let r=0;r<12;r++){let i=r*Math.PI/6,a=7.5;e.beginPath(),e.moveTo(t+Math.cos(i)*a,n+Math.sin(i)*a),e.lineTo(t+Math.cos(i)*(a-2),n+Math.sin(i)*(a-2)),e.stroke()}let i=new Date,a=i.getMinutes()/60*Math.PI*2-Math.PI/2,o=i.getHours()%12/12*Math.PI*2+i.getMinutes()/60*Math.PI/6-Math.PI/2;e.strokeStyle=r?`#e2e8f0`:`#1e2840`,e.lineWidth=1.5,e.lineCap=`round`,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(o)*5,n+Math.sin(o)*5),e.stroke(),e.lineWidth=1,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(a)*7,n+Math.sin(a)*7),e.stroke(),e.fillStyle=`#ef4444`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill()}drawPowerStrip(e,t,n,r,i){e.fillStyle=i?`#1a1a1a`:`#2d2d2d`,$(e,t,n,r,6,3),e.fill(),e.fillStyle=i?`#3a3a3a`:`#4a4a4a`;for(let i=6;i<r-4;i+=10)$(e,t+i,n+1,6,4,2),e.fill()}drawWhiteboard(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f8fafc`,$(e,t,n,28,22,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#b0bac8`,e.lineWidth=1,$(e,t,n,28,22,2),e.stroke(),[r?`#4ade80`:`#16a34a`,r?`#60a5fa`:`#2563eb`,r?`#f472b6`:`#db2777`].forEach((r,i)=>{e.strokeStyle=r,e.lineWidth=.75,e.beginPath(),e.moveTo(t+3,n+5+i*5),e.lineTo(t+3+8+i*4,n+5+i*5),e.stroke()})}drawHazardSign(e,t,n){e.fillStyle=`#f59e0b`,e.beginPath(),e.moveTo(t+10,n),e.lineTo(t+20,n+16),e.lineTo(t,n+16),e.closePath(),e.fill(),e.strokeStyle=`#1a1a1a`,e.lineWidth=1,e.stroke(),e.fillStyle=`#1a1a1a`,e.font=`bold 9px system-ui`,e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(`!`,t+10,n+15)}drawTrophyShelf(e,t,n,r,i){e.fillStyle=r?`#2d1a08`:`#c4825a`,$(e,t,n+20,50,5,2),e.fill(),[[`#f59e0b`,t+5],[`#94a3b8`,t+20],[`#cd7f32`,t+35]].forEach(([t,r])=>{e.fillStyle=t,e.beginPath(),e.arc(r+5,n+13,5,Math.PI,0),e.fill(),e.fillRect(r+3,n+13,4,8),$(e,r,n+20,10,4,2),e.fill()}),e.fillStyle=`rgba(245,158,11,${.08+(.5+.5*Math.sin(i*.002))*.06})`,e.beginPath(),e.ellipse(t+10,n+18,12,6,0,0,Math.PI*2),e.fill()}drawFilingCabinet(e,t,n,r){e.fillStyle=r?`#1e2535`:`#9aaec0`,$(e,t,n,20,28,2),e.fill(),e.strokeStyle=r?`#2d3a50`:`#7a98b0`,e.lineWidth=.75,$(e,t,n,20,28,2),e.stroke(),[0,9,18].forEach(i=>{e.strokeStyle=r?`#3a4a60`:`#5a7898`,e.lineWidth=.5,e.beginPath(),e.moveTo(t+1,n+i+8),e.lineTo(t+19,n+i+8),e.stroke(),e.fillStyle=r?`#4a5a70`:`#4a6888`,$(e,t+7,n+i+3,6,3,2),e.fill()})}drawFlowerVase(e,t,n,r){e.fillStyle=r?`#2d1a08`:`#8b5a2b`,$(e,t-6,n-2,12,10,1),e.fill(),e.fillStyle=r?`#1e3a8a`:`#bfdbfe`,e.beginPath(),e.ellipse(t,n-6,4,6,0,0,Math.PI*2),e.fill();let i=[`#f43f5e`,`#ec4899`,`#d946ef`];[[-3,-12],[3,-11],[0,-14]].forEach(([r,a],o)=>{e.strokeStyle=`#16a34a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+r,n+a),e.stroke(),e.fillStyle=i[o],e.beginPath(),e.arc(t+r,n+a,2.5,0,Math.PI*2),e.fill()})}drawWaterDispenser(e,t,n,r){e.fillStyle=r?`#1e293b`:`#e2e8f0`,$(e,t,n,14,24,2),e.fill(),e.strokeStyle=r?`#334155`:`#cbd5e1`,e.lineWidth=1,$(e,t,n,14,24,2),e.stroke(),e.fillStyle=r?`#0ea5e955`:`#38bdf855`,$(e,t+2,n-12,10,12,3),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(t+3,n+8,2,3),e.fillStyle=`#3b82f6`,e.fillRect(t+9,n+8,2,3),e.fillStyle=r?`#0f172a`:`#94a3b8`,$(e,t+2,n+14,10,3,1),e.fill()}drawHospitalBed(e,t,n,r){e.fillStyle=r?`#1e293b`:`#cbd5e1`,$(e,t-20,n-10,40,20,3),e.fill(),e.fillStyle=r?`#0f172a`:`#f8fafc`,$(e,t-18,n-8,36,16,2),e.fill(),e.fillStyle=r?`#1e1b4b`:`#e0e7ff`,$(e,t+10,n-6,8,12,2),e.fill(),e.fillStyle=r?`#172554`:`#bfdbfe`,$(e,t-18,n-8,20,16,2),e.fill(),e.strokeStyle=r?`#64748b`:`#94a3b8`,e.lineWidth=2,e.beginPath(),e.moveTo(t+16,n-10),e.lineTo(t+16,n-25),e.stroke(),e.fillStyle=r?`#0ea5e988`:`#38bdf888`,$(e,t+14,n-25,4,6,1),e.fill()}decorTherapy(e,t,n,r,i,a){let o={id:`burnout`,label:`Therapy Room`,x:t,y:n,w:r,h:i,color:`#14b8a6`};for(let t=0;t<6;t++){let n=pT(o,t);this.drawHospitalBed(e,n.x,n.y,a)}this.drawPotPlant(e,t+r-20,n+20,a),this.drawFlowerVase(e,t+20,n+20,a)}drawMonitorActivity(e,t,n,r,i,a,o,s){let{ctx:c}=this,l=!!e.claimedByAgentId,u=LT(e.id),d=s*.001+u%100*.01,f=n+i-6;if(c.save(),$(c,t,n,r,i,3),c.clip(),e.status===`blocked`){c.fillStyle=o?`#2a0f18`:`#3f111d`,c.fillRect(t,n,r,i),c.fillStyle=`rgba(239,68,68,0.45)`;for(let e=0;e<4;e++){let i=n+4+e*4;c.fillRect(t+4,i,r-8-(e+u)%9,1.6)}c.fillStyle=`rgba(255,255,255,${.25+Math.sin(d*5)*.12})`,c.fillRect(t+4,f-3,7,2),c.restore();return}if(l){c.fillStyle=o?`rgba(2,6,23,0.35)`:`rgba(15,23,42,0.22)`,$(c,t+3,n+3,r-6,f-n-4,2),c.fill(),c.fillStyle=`rgba(255,255,255,0.22)`,c.fillRect(t+5,n+5,r-10,1.4),c.fillStyle=`rgba(15,23,42,0.25)`,c.fillRect(t+5,n+8,7,f-n-10),c.fillStyle=`rgba(255,255,255,0.16)`,c.fillRect(t+15,n+8,r-20,f-n-10);let e=Math.floor(s/180)%6;for(let i=0;i<4;i++){let a=n+9+i*3,o=(u>>i)%9/10,s=Math.sin(d*2+i)*.5+.5,l=7+(r-25)*(.35+o*.35+s*.18);c.fillStyle=i===e%4?`rgba(255,255,255,0.78)`:`rgba(255,255,255,${.22+i*.08})`,c.fillRect(t+17,a,Math.min(r-22,l),1.4)}let i=t+18+(Math.floor(s/120)+u)%Math.max(1,r-25);Math.floor(s/300)%2==0&&(c.fillStyle=`#ffffff`,c.fillRect(i,n+17,1,4)),c.fillStyle=`rgba(255,255,255,0.2)`,c.fillRect(t+5,f-3,r-10,1.5),c.fillStyle=PT(a,55),c.fillRect(t+5,f-3,(Math.sin(d)*.5+.5)*(r-10)|0,1.5),c.restore();return}if(e.status===`pending`){c.fillStyle=o?`rgba(15,23,42,0.45)`:`rgba(255,255,255,0.16)`,$(c,t+4,n+4,r-8,f-n-5,2),c.fill(),c.fillStyle=`rgba(255,255,255,0.25)`,c.fillRect(t+6,n+6,r-12,2);for(let e=0;e<3;e++)c.fillStyle=`rgba(255,255,255,${.14+e*.06})`,c.fillRect(t+7,n+11+e*3,r-15-e*5,1.2);let e=n+9+(s*.018+u)%Math.max(1,f-n-12);c.fillStyle=`rgba(56,189,248,0.28)`,c.fillRect(t+5,e,r-10,1.2),c.restore();return}c.strokeStyle=o?`rgba(148,163,184,0.1)`:`rgba(255,255,255,0.08)`,c.lineWidth=.5;for(let e=t+5;e<t+r-4;e+=5)c.beginPath(),c.moveTo(e,n+4),c.lineTo(e,f-2),c.stroke();c.restore()}drawWorkstation(e,t,n){let{ctx:r}=this,{x:i,y:a,status:o,taskCode:s,title:c,claimedByAgentId:l,hasPendingHandoff:u,repo:d}=e,f=eT[o]??`#64748b`,p=!!l,m=a+14/2+4;r.fillStyle=t?`#1e2d3a`:`#7a98b5`,r.beginPath(),r.arc(i,m+3,8,0,Math.PI*2),r.fill(),r.fillStyle=t?`#162435`:`#6888a8`,r.fillRect(i-6,m-2,12,8),$(r,i-5,m-9,10,9,2),r.fill(),r.fillStyle=`rgba(0,0,0,0.18)`,$(r,i-50/2+3,a-14/2+5,50,16,4),r.fill();let h=r.createLinearGradient(i-50/2,a-14/2,i+50/2,a+14/2);h.addColorStop(0,t?`#1e2840`:`#d4dce8`),h.addColorStop(1,t?`#18202e`:`#c0ccd8`),r.fillStyle=h,$(r,i-50/2,a-14/2,50,14,4),r.fill(),r.strokeStyle=t?`#2d3a50`:`#a0b0c0`,r.lineWidth=1,$(r,i-50/2,a-14/2,50,14,4),r.stroke(),r.fillStyle=t?`#0d1520`:`#8090a8`,$(r,i-10,a-2,20,5,2),r.fill(),r.fillStyle=t?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.3)`,[[i-9,a-1,18,1.5],[i-8,a+1.5,16,1.5]].forEach(([e,t,n,i])=>{for(let a=0;a<5;a++)$(r,e+n/5*a+.5,t,n/5-1,i,.5),r.fill()}),r.fillStyle=t?`#0d1520`:`#8090a8`,r.beginPath(),r.ellipse(i+14,a,3,4,0,0,Math.PI*2),r.fill(),r.strokeStyle=t?`rgba(255,255,255,0.08)`:`rgba(0,0,0,0.1)`,r.lineWidth=.5,r.beginPath(),r.moveTo(i+14,a-2),r.lineTo(i+14,a+2),r.stroke(),r.fillStyle=t?`#2d3a50`:`#8090a8`,r.fillRect(i-1.5,a-14/2-7,3,8);let g=a-14/2-20-6;if(r.fillStyle=t?`#111827`:`#1f2937`,$(r,i-34/2-3,g-3,40,26,5),r.fill(),p){let e=r.createLinearGradient(i-34/2,g,i+34/2,g+20);e.addColorStop(0,PT(f,50)),e.addColorStop(1,f),r.fillStyle=e,p&&(r.shadowColor=f+`99`,r.shadowBlur=10)}else r.fillStyle=t?`#0f1929`:`#1e2d3a`;if($(r,i-34/2,g,34,20,3),r.fill(),r.shadowBlur=0,r.fillStyle=`rgba(255,255,255,0.12)`,$(r,i-34/2,g,34,20/2.5,3),r.fill(),this.drawMonitorActivity(e,i-34/2,g,34,20,f,t,n),r.fillStyle=p?`rgba(255,255,255,0.9)`:t?`#374151`:`#6b7280`,r.font=`bold 5.5px monospace`,r.textAlign=`center`,r.textBaseline=`bottom`,r.fillText(`${d.split(`/`).pop()?.slice(0,5)}·${s}`.slice(0,12),i,g+20-1),r.fillStyle=t?`rgba(148,163,184,0.65)`:`rgba(71,85,105,0.65)`,r.font=`5.5px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`,r.fillText(c.slice(0,12),i,a+14/2+2),u){let e=i+34/2,t=g-1;r.fillStyle=`#f59e0b`,r.shadowColor=`#f59e0b`,r.shadowBlur=8,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=1.5,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.stroke(),r.fillStyle=`#1a1a1a`,r.font=`bold 6.5px system-ui`,r.textAlign=`center`,r.textBaseline=`middle`,r.fillText(`!`,e,t)}}drawClaimLinks(e,t){let{ctx:n}=this;for(let r of e.agents.values())for(let i of r.claimedTaskIds){let a=e.tasks.get(i);if(!a)continue;let o=n.createLinearGradient(r.x,r.y,a.x,a.y);o.addColorStop(0,r.color+`cc`),o.addColorStop(1,(eT[a.status]??`#64748b`)+`44`),n.strokeStyle=o,n.lineWidth=1.5,n.setLineDash([5,5]),n.lineDashOffset=-(t*.022)%10,n.beginPath(),n.moveTo(r.x,r.y),n.lineTo(a.x,a.y),n.stroke()}n.setLineDash([]),n.lineDashOffset=0}drawHandoffBeams(e,t){let{ctx:n}=this;for(let r of e.handoffs){let i=e.agents.get(r.fromAgentId);if(!i)continue;let a,o;if(r.toAgentId){let t=e.agents.get(r.toAgentId);if(!t)continue;a=t.x,o=t.y}else if(r.taskId){let t=e.tasks.get(r.taskId);if(!t)continue;a=t.x,o=t.y}else continue;n.strokeStyle=`#f59e0b88`,n.lineWidth=2.5,n.setLineDash([8,5]),n.lineDashOffset=-(t*.07)%13,n.beginPath(),n.moveTo(i.x,i.y),n.lineTo(a,o),n.stroke(),n.setLineDash([]),n.lineDashOffset=0;let s=t%1600/1600,c=i.x+(a-i.x)*s,l=i.y+(o-i.y)*s;n.fillStyle=`#f59e0b`,n.shadowColor=`#f59e0b`,n.shadowBlur=8,n.beginPath(),n.arc(c,l,4,0,Math.PI*2),n.fill(),n.shadowBlur=0}}drawHandoffTrail(e,t,n){let{ctx:r}=this,i=e.handoffAnim;if(r.save(),r.strokeStyle=t?`rgba(20, 184, 166, 0.35)`:`rgba(20, 184, 166, 0.45)`,r.lineWidth=2,r.setLineDash([6,5]),r.lineDashOffset=-(n*.03)%11,r.beginPath(),r.moveTo(i.startX,i.startY),r.lineTo(i.endX,i.endY),r.stroke(),r.setLineDash([]),r.lineDashOffset=0,i.phase===`moving`){let e=n%2e3/2e3,t=i.startX+(i.endX-i.startX)*e,a=i.startY+(i.endY-i.startY)*e;r.fillStyle=`#14b8a6`,r.shadowColor=`#14b8a6`,r.shadowBlur=6,r.beginPath(),r.arc(t,a,3,0,Math.PI*2),r.fill(),r.shadowBlur=0}i.phase!==`arrive`&&(r.strokeStyle=`rgba(20, 184, 166, ${.4+.3*Math.sin(n*.004)})`,r.lineWidth=1,r.beginPath(),r.arc(i.endX,i.endY,8,0,Math.PI*2),r.stroke(),r.beginPath(),r.moveTo(i.endX-4,i.endY),r.lineTo(i.endX+4,i.endY),r.stroke(),r.beginPath(),r.moveTo(i.endX,i.endY-4),r.lineTo(i.endX,i.endY+4),r.stroke()),r.restore()}drawWheelchair(e,t,n,r,i){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.2)`,e.beginPath(),e.ellipse(0,3,14,6,0,0,Math.PI*2),e.fill(),e.fillStyle=i?`#2d3a50`:`#7a8ea0`,$(e,-10,-12,20,18,3),e.fill(),e.strokeStyle=i?`#4a5a70`:`#5a7090`,e.lineWidth=1,$(e,-10,-12,20,18,3),e.stroke(),e.fillStyle=i?`#1e3a5f`:`#3b82f6`,$(e,-8,-6,16,10,2),e.fill(),e.fillStyle=i?`#1e3055`:`#2563eb`,$(e,-8,-12,16,7,2),e.fill(),e.fillStyle=i?`#3a4a60`:`#6a7a90`,$(e,-12,-10,3,14,1),e.fill(),$(e,9,-10,3,14,1),e.fill(),[-9,9].forEach(t=>{e.strokeStyle=i?`#1a1a2a`:`#333`,e.lineWidth=2.5,e.beginPath(),e.arc(t,4,5,0,Math.PI*2),e.stroke(),e.fillStyle=i?`#4a5a70`:`#aabbc0`,e.beginPath(),e.arc(t,4,3.5,0,Math.PI*2),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a8a9a`,e.lineWidth=.75;for(let n=0;n<4;n++){let i=r+n*Math.PI/2;e.beginPath(),e.moveTo(t,4),e.lineTo(t+Math.cos(i)*4,4+Math.sin(i)*4),e.stroke()}}),[-5,5].forEach(t=>{e.fillStyle=i?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,-13,2,0,Math.PI*2),e.fill(),e.fillStyle=i?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,-13,1,0,Math.PI*2),e.fill()}),e.fillStyle=i?`#3a4a60`:`#5a7090`,$(e,-6,5,12,3,1),e.fill(),e.restore()}drawStretcher(e,t,n,r,i,a){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,4,20,7,0,0,Math.PI*2),e.fill(),e.fillStyle=a?`#2d3a50`:`#8899aa`,$(e,-18,-10,36,16,3),e.fill(),e.strokeStyle=a?`#4a5a70`:`#6a7a90`,e.lineWidth=1,$(e,-18,-10,36,16,3),e.stroke(),e.fillStyle=a?`#1a2535`:`#f0f4f8`,$(e,-16,-8,32,12,2),e.fill(),e.fillStyle=a?`#2a3a5a`:`#e0e7ff`,$(e,10,-6,6,8,2),e.fill();let o=Math.sin(i)*.8;e.fillStyle=a?`#1e3a5f`:`#bfdbfe`,$(e,-15,-7+o,22,10-o*.5,2),e.fill(),e.strokeStyle=a?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.08)`,e.lineWidth=.5,e.beginPath(),e.moveTo(-5,-7+o),e.lineTo(-5,3-o*.3),e.stroke(),[[-15,5],[15,5],[-15,-11],[15,-11]].forEach(([t,n])=>{e.fillStyle=a?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,n,3,0,Math.PI*2),e.fill(),e.fillStyle=a?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill(),e.strokeStyle=a?`#3a4a5a`:`#777`,e.lineWidth=.5;let i=r;e.beginPath(),e.moveTo(t+Math.cos(i)*3*.5,n+Math.sin(i)*3*.5),e.lineTo(t-Math.cos(i)*3*.5,n-Math.sin(i)*3*.5),e.stroke()}),e.strokeStyle=a?`#5a6a80`:`#7a8a9a`,e.lineWidth=1.5,e.beginPath(),e.moveTo(-16,-10),e.lineTo(16,-10),e.stroke(),e.beginPath(),e.moveTo(-16,6),e.lineTo(16,6),e.stroke(),e.restore()}drawHelperCharacter(e,t,n,r,i,a,o){e.save(),e.translate(t,n),i===`left`&&e.scale(-1,1);let s=HT[r],c=UT[r],l=WT[r],u=a>.1,d=u?Math.sin(a)*4:0,f=u?Math.sin(a+Math.PI)*3:0,p=u?Math.sin(a*2)*.8:0;e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,2,8,3.5,0,0,Math.PI*2),e.fill(),e.fillStyle=o?`#1a2535`:`#334155`,e.save(),e.translate(-2.5,0),e.rotate(d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,0),e.rotate(-d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.fillStyle=o?`#0f172a`:`#1e293b`,e.save(),e.translate(-2.5,d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,-d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore();let m=e.createLinearGradient(-5,-20,5,-10);m.addColorStop(0,PT(s,20)),m.addColorStop(1,s),e.fillStyle=m,$(e,-5,-20,10,11,2),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`rgba(255,255,255,0.5)`,e.fillRect(-1,-17,2,5),e.fillRect(-2.5,-15.5,5,2)),e.save(),e.translate(-6.5,-19),e.rotate(f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.save(),e.translate(6.5,-19),e.rotate(-f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.fillStyle=l,e.fillRect(-2,-22,4,3);let h=-29+p;e.fillStyle=l,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,0,Math.PI*2),e.fill(),e.fillStyle=c,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,Math.PI,0),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`#f0f0f0`,$(e,-5,h-8,10,5,2),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(-1,h-7,2,3),e.fillRect(-2,h-6,4,1)),i!==`up`&&(e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(-2,h-1,1,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(2,h-1,1,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.4)`,e.lineWidth=.75,e.beginPath(),e.arc(0,h+1.5,2,.1,Math.PI-.1),e.stroke()),e.restore()}drawHandoffGroup(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o}=e,s=i.endX-i.startX,c=i.endY-i.startY,l=Math.hypot(s,c)||1,u=-s/l,d=-c/l,f=i.vehicle===`wheelchair`?18:22,p=a+u*f,m=o+d*f+i.stepBounce,h=1;if(i.phase===`pickup`){let e=n-i.phaseStartTs;h=Math.min(1,e/400)}else if(i.phase===`arrive`){let e=n-i.phaseStartTs;h=Math.max(0,1-e/MT)}else i.phase===`resting`&&(h=0);if(i.vehicle===`wheelchair`)this.drawWheelchair(r,a,o,i.wheelAngle,t);else{let e=n*.002;this.drawStretcher(r,a,o,i.wheelAngle,e,t)}this.drawPassiveAgent(e,t,n),h>.01&&(r.save(),r.globalAlpha=h,this.drawHelperCharacter(r,p,m,i.helperVariant,i.helperFacing,i.phase===`moving`?i.helperWalkPhase:0,t),r.restore()),r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let g=e.name.length>12?e.name.slice(0,12)+`…`:e.name;r.fillText(g,a,o+(i.vehicle===`stretcher`?14:12)),i.phase===`moving`&&this.drawRollingSFX(r,a,o,i.wheelAngle,i.vehicle,t,n)}drawPassiveAgent(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o,name:s,color:c}=e,l=LT(s||``),u=zT[l%zT.length]||`#000`,d=BT[(l>>>6)%BT.length]||`#f5c89a`;if(i.vehicle===`wheelchair`)r.save(),r.translate(a,o),r.fillStyle=c||`#64748b`,$(r,-5,-16,10,8,2),r.fill(),r.fillStyle=d,r.beginPath(),r.ellipse(0,-24,6,7,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(0,-24,6,7,0,Math.PI,0),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(-2,-24,1.5,0,Math.PI),r.stroke(),r.beginPath(),r.arc(2,-24,1.5,0,Math.PI),r.stroke(),r.fillStyle=d,r.beginPath(),r.ellipse(-10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.beginPath(),r.ellipse(10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.restore();else{r.save(),r.translate(a,o);let e=Math.sin(n*.002)*.5;r.fillStyle=d,r.beginPath(),r.ellipse(10,-1+e,5,6,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(10,-1+e,5,6,0,Math.PI*.8,Math.PI*2.2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=.75,r.beginPath(),r.arc(9,-2+e,1,0,Math.PI),r.stroke(),r.beginPath(),r.arc(12,-2+e,1,0,Math.PI),r.stroke(),r.restore()}}drawRollingSFX(e,t,n,r,i,a,o){e.save();let s=.15+.1*Math.sin(o*.01);e.strokeStyle=a?`rgba(148,163,184,${s})`:`rgba(71,85,105,${s})`,e.lineWidth=1,(i===`wheelchair`?[[-9,n+4],[9,n+4]]:[[-15,n+5],[15,n+5],[-15,n-11],[15,n-11]]).forEach(([n,i])=>{for(let a=0;a<2;a++){let o=(r+a*Math.PI)%(Math.PI*2),s=t+n-3-a*2,c=i+Math.sin(o)*2;e.beginPath(),e.moveTo(s,c-1),e.lineTo(s-3,c),e.stroke()}}),e.restore()}drawCharacter(e,t,n){let{ctx:r}=this,{walkPhase:i,facing:a,state:o,name:s,id:c}=e,{x:l,y:u}=e,d=e.color||`#64748b`,f=c===this.hoveredId,p=Math.hypot(e.vx,e.vy)>5,m=LT(s||``),h=zT[m%zT.length]||`#000`,g=VT[(m>>>3)%VT.length]||`#1e3a5f`,_=BT[(m>>>6)%BT.length]||`#f5c89a`,v=m%5,y=PT(d,30),b=o===`processing`&&!p,x=n*.018+m%20,S=p?Math.sin(i)*5:0,C=p?Math.sin(i+Math.PI)*4:0,w=p?Math.sin(i*2)*1.2:0;b&&(C=Math.sin(x)*5,w=Math.sin(x*.55)*.8,u+=Math.sin(x*.35)*.7),o===`blocked`?l+=Math.sin(n*.05)*1.5:o===`idle`&&!p&&(u+=Math.sin(n*.003+m)*1),r.fillStyle=`rgba(0,0,0,0.22)`,r.beginPath(),r.ellipse(l,u+3,11,5,0,0,Math.PI*2),r.fill(),f&&(r.strokeStyle=d,r.lineWidth=2,r.setLineDash([4,3]),r.beginPath(),r.arc(l,u-24+w,16,0,Math.PI*2),r.stroke(),r.setLineDash([])),r.save(),r.translate(l,u),o===`burnout`?(r.rotate(Math.PI/2),r.translate(0,15)):b?(r.rotate(Math.sin(x*.45)*.03),r.translate(0,1)):a===`left`&&r.scale(-1,1),r.fillStyle=g,r.save(),r.translate(-3.5,0),r.rotate(S*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.save(),r.translate(3.5,0),r.rotate(-S*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.fillStyle=FT(g,30),r.save(),r.translate(-3.5,S*.5),$(r,-3,4,7,4,2),r.fill(),r.restore(),r.save(),r.translate(3.5,-S*.5),$(r,-3,4,7,4,2),r.fill(),r.restore();let T=r.createLinearGradient(-7,-26,7,-13);T.addColorStop(0,y),T.addColorStop(1,d),r.fillStyle=T,$(r,-7,-26,14,14,3),r.fill(),r.fillStyle=PT(d,45),$(r,-3.5,-26,7,5,2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.12)`,r.lineWidth=.75,r.beginPath(),r.moveTo(0,-26),r.lineTo(0,-13),r.stroke(),r.save(),r.translate(-9,-24),r.rotate(b?.55+Math.max(0,Math.sin(x))*.28:C*.12);let E=r.createLinearGradient(-2,0,2,10);E.addColorStop(0,y),E.addColorStop(1,d),r.fillStyle=E,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.save(),r.translate(9,-24),r.rotate(b?-.55-Math.max(0,Math.sin(x+Math.PI))*.28:-C*.12),r.fillStyle=E,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.fillStyle=_,r.fillRect(-2.5,-28,5,4);let D=-38+w;r.fillStyle=`rgba(0,0,0,0.15)`,r.beginPath(),r.ellipse(1,D+2,9,5,0,0,Math.PI*2),r.fill();let O=r.createRadialGradient(-3,D-3,2,0,D,10);if(O.addColorStop(0,PT(_,15)),O.addColorStop(1,_),r.fillStyle=O,r.beginPath(),r.ellipse(0,D,9,10,0,0,Math.PI*2),r.fill(),this.drawHair(r,0,D,h,v),a!==`up`&&this.drawFace(r,0,D,_,a,p,i,o,n,m),r.restore(),o!==`idle`&&o!==`burnout`){let e=o===`blocked`?`#ef4444`:o===`processing`?`#a855f7`:o===`claiming`?`#0ea5e9`:`#f59e0b`,t=l+(a===`left`?-10:10),n=u-48+w;r.fillStyle=e,r.shadowColor=e,r.shadowBlur=10,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=2,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.stroke(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(t,n,6,0,Math.PI*2),r.stroke()}if(o===`processing`){let e=.4+.6*Math.sin(n*.0028);if(r.strokeStyle=IT(d,.18+e*.14),r.lineWidth=1.5,r.beginPath(),r.arc(l,u-38+w,17+e*4,0,Math.PI*2),r.stroke(),b)for(let e=0;e<4;e++){let t=(x+e*.9)%(Math.PI*2),n=Math.max(0,Math.sin(t));n<.25||(r.fillStyle=IT(d,n*.75),r.beginPath(),r.arc(l-9+e*6,u-11-n*3,1.1+n*.9,0,Math.PI*2),r.fill())}for(let e=0;e<3;e++){let t=.3+.7*Math.sin(n*.004+e*1.1);r.fillStyle=IT(d,.5+t*.5),r.beginPath(),r.arc(l+(-5+e*5),u-54+w,1.5+t,0,Math.PI*2),r.fill()}}if(o===`burnout`){let e=n*.002%(Math.PI*2);for(let t=0;t<3;t++){let n=(e+t*(Math.PI*2/3))%(Math.PI*2),i=Math.max(0,Math.sin(n)),a=l+5+Math.cos(n)*5+n*2,o=u-10-n*8;r.fillStyle=`rgba(150, 150, 200, ${i})`,r.font=`bold ${8+n*1.5}px monospace`,r.fillText(`Z`,a,o)}}r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let k=s.length>12?s.slice(0,12)+`…`:s;r.fillText(k,l,u+12)}drawHair(e,t,n,r,i){switch(e.fillStyle=r,i){case 0:e.beginPath(),e.ellipse(t,n,9,10,0,Math.PI,0),e.fill(),e.fillRect(t-9,n-2,3,5),e.fillRect(t+6,n-2,3,5);break;case 1:for(let r=-2;r<=2;r++)e.beginPath(),e.moveTo(t+r*4-2,n-7),e.lineTo(t+r*4,n-14),e.lineTo(t+r*4+2,n-7),e.closePath(),e.fill();e.beginPath(),e.ellipse(t,n-5,9,4,0,0,Math.PI*2),e.fill();break;case 2:e.save(),e.translate(t,n),e.beginPath(),e.moveTo(-9,-2),e.bezierCurveTo(-11,-12,10,-16,11,-6),e.lineTo(9,0),e.bezierCurveTo(4,-8,-4,-10,-9,-2),e.closePath(),e.fill(),e.restore();break;case 3:e.beginPath(),e.arc(t,n,9.5,Math.PI,0),e.fill(),$(e,t-10,n,4,12,2),e.fill(),$(e,t+6,n,4,12,2),e.fill();break;case 4:e.fillStyle=FT(r,20),$(e,t-12,n-6,24,5,2),e.fill(),e.fillStyle=r,$(e,t-9,n-16,18,12,3),e.fill(),e.fillStyle=PT(r,40),$(e,t-3,n-11,6,4,1),e.fill();break}}drawFace(e,t,n,r,i,a,o,s,c,l){if(i===`right`)e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.ellipse(t+5,n-2,1.5,1.5,0,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.2)`,e.lineWidth=1,e.beginPath(),e.arc(t+9,n,3,-.5,.5),e.stroke();else if(s===`burnout`){if((l||0)%2==0){e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1;let r=(c||0)*.005%(Math.PI*2);e.save(),e.translate(t-3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore(),e.save(),e.translate(t+3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore()}else e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1.5,e.beginPath(),e.arc(t-3,n-2,2.5,0,Math.PI),e.stroke(),e.beginPath(),e.arc(t+3,n-2,2.5,0,Math.PI),e.stroke();e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,e.beginPath(),e.arc(t,n+3,2,Math.PI,Math.PI*2),e.stroke()}else{e.fillStyle=`white`,e.beginPath(),e.ellipse(t-3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.beginPath(),e.ellipse(t+3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(20,20,80,0.85)`,e.beginPath(),e.arc(t-3,n-2,1.3,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+3,n-2,1.3,0,Math.PI*2),e.fill(),e.fillStyle=`white`,e.beginPath(),e.arc(t-3.5,n-2.5,.5,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+2.5,n-2.5,.5,0,Math.PI*2),e.fill();let r=a&&Math.sin(o)>.5;e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,r?(e.beginPath(),e.arc(t,n+2,2,0,Math.PI),e.stroke()):(e.beginPath(),e.moveTo(t-2.5,n+2.5),e.quadraticCurveTo(t,n+4,t+2.5,n+2.5),e.stroke())}}},KT=K(`<span class="badge loading svelte-1pykpun"><span class="animate-spin" style="display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%"></span> Loading…</span>`),qT=K(`<span class="badge error svelte-1pykpun"><!> Error</span>`),JT=K(`<span class="badge live svelte-1pykpun"><span class="pulse-dot svelte-1pykpun"></span> Live · <strong> </strong> <strong> </strong> <!></span>`),YT=K(`<div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Repos</span> <span class="tip-repos svelte-1pykpun"> </span></div>`),XT=K(`<div class="agent-tip glass svelte-1pykpun"><div class="tip-name svelte-1pykpun"><span class="tip-dot svelte-1pykpun"></span> </div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Role</span><span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">State</span> <span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Tasks</span><span> </span></div> <!></div>`),ZT=K(`<div class="arena-empty svelte-1pykpun"><!> <div style="font-weight:700;font-size:0.9rem">No active agents</div> <div class="arena-empty-sub svelte-1pykpun">Agents appear here when they claim tasks across your repositories</div></div>`),QT=K(`<div class="arena-root glass card animate-fade-in svelte-1pykpun"><div class="arena-hdr svelte-1pykpun"><div class="arena-hdr-left svelte-1pykpun"><div class="arena-icon svelte-1pykpun"><!></div> <div><div class="section-label" style="margin:0">Agent Arena</div> <div class="arena-sub svelte-1pykpun">Live 2D view · all repositories</div></div></div> <div class="arena-hdr-right svelte-1pykpun"><!></div></div> <div class="arena-wrap svelte-1pykpun"><canvas class="arena-canvas svelte-1pykpun"></canvas> <!> <!></div> <div class="arena-footer svelte-1pykpun"><div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#8b5cf6"></span>Lobby (idle)</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#0ea5e9"></span>Inbox</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#a855f7"></span>Workspace</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#ef4444"></span>Issues</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#10b981"></span>Done</div></div> <div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-bubble svelte-1pykpun"></span>Working agent</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun" style="border-color:#f59e0b"></span>Handoff beam</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun"></span>Claim link</div></div></div></div>`);function $T(e,t){rt(t,!1);let n=()=>F(p,`$arena`,i),r=()=>F(Qa,`$theme`,i),[i,a]=Et(),o=I(),s=I(),c=I(),l=I(null),u=I(null),d=I(null),f=I(null),p=wT();function m(){if(!H(s)||!H(c))return;let e=H(c).clientWidth||960,t=Math.max(520,Math.min(window.innerHeight-220,800));Sn(s,H(s).width=e),Sn(s,H(s).height=t),L(u,{canvasWidth:e,canvasHeight:t}),H(l)||(L(l,new GT(H(s))),H(l).start()),p.setLayout(H(u)),n().scene&&H(l).update(n().scene,H(u),r()===`dark`)}function h(e){if(!H(l)||!n().scene){L(d,null),L(f,null);return}let t=H(s).getBoundingClientRect(),r=H(s).width/t.width,i=H(s).height/t.height,a=(e.clientX-t.left)*r,o=(e.clientY-t.top)*i,c=H(l).hitTestAgent(a,o);c!==H(d)&&(L(d,c),H(l).setHovered(H(d))),L(f,H(d)?{x:e.clientX-t.left+14,y:e.clientY-t.top-10}:null)}function g(){L(d,null),L(f,null),H(l)?.setHovered(null)}Ka(()=>{let e=setTimeout(()=>{m(),H(u)&&p.start(H(u))},60),t=new ResizeObserver(()=>m());return t.observe(H(c)),()=>{clearTimeout(e),t.disconnect()}}),qa(()=>{p.stop(),H(l)?.stop()}),ir(()=>(H(l),n(),H(u),r()),()=>{H(l)&&n().scene&&H(u)&&H(l).update(n().scene,H(u),r()===`dark`)}),ir(()=>(H(d),n()),()=>{L(o,H(d)&&n().scene?n().scene.agents.get(H(d))??null:null)}),ar(),Ua();var _=QT(),v=R(_),y=R(v),b=R(y);Q(R(b),{name:`cpu`,size:16,strokeWidth:1.75}),j(b),M(2),j(y);var x=B(y,2),S=R(x),C=e=>{q(e,KT())},w=e=>{var t=qT();Q(R(t),{name:`alert-circle`,size:11}),M(),j(t),q(e,t)},T=e=>{var t=JT(),r=B(R(t),2),i=R(r,!0);j(r);var a=B(r),o=B(a),s=R(o,!0);j(o);var c=B(o),l=B(c),u=e=>{var t=wi();V(()=>J(t,` · ${(n(),U(()=>n().repoCount))??``} repos`)),q(e,t)};Y(l,e=>{n(),U(()=>n().repoCount>1)&&e(u)}),j(t),V(()=>{J(i,(n(),U(()=>n().scene.agents.size))),J(a,` ${(n(),U(()=>n().scene.agents.size===1?`agent`:`agents`))??``}
|
|
151
151
|
· `),J(s,(n(),U(()=>n().scene.tasks.size))),J(c,` ${(n(),U(()=>n().scene.tasks.size===1?`task`:`tasks`))??``} `)}),q(e,t)};Y(S,e=>{n(),U(()=>n().loading&&!n().scene)?e(C):(n(),U(()=>n().error)?e(w,1):(n(),U(()=>n().scene)&&e(T,2)))}),j(x),j(v);var E=B(v,2),D=R(E);Ba(D,e=>L(s,e),()=>H(s));var O=B(D,2),k=e=>{var t=XT(),n=R(t),r=R(n),i=B(r);j(n);var a=B(n,2),s=B(R(a)),c=R(s,!0);j(s),j(a);var l=B(a,2),u=B(R(l),2),d=R(u,!0);j(u),j(l);var p=B(l,2),m=B(R(p)),h=R(m,!0);j(m),j(p);var g=B(p,2),_=e=>{var t=YT(),n=B(R(t),2),r=R(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(H(o),U(()=>H(o).repos.map(e=>e.split(`/`).pop()).join(`, `)))]),q(e,t)};Y(g,e=>{H(o),U(()=>H(o).repos.length>0)&&e(_)}),j(t),V(e=>{da(t,`left:${(H(f),U(()=>H(f).x))??``}px;top:${(H(f),U(()=>H(f).y))??``}px`),da(r,`background:${(H(o),U(()=>H(o).color))??``}`),J(i,` ${(H(o),U(()=>H(o).name))??``}`),J(c,(H(o),U(()=>H(o).role||`—`))),la(u,1,`tip-state ${(H(o),U(()=>H(o).state))??``}`,`svelte-1pykpun`),J(d,e),J(h,(H(o),U(()=>H(o).claimedTaskIds.length)))},[()=>(H(o),U(()=>H(o).state.replace(/_/g,` `)))]),q(e,t)};Y(O,e=>{H(o)&&H(f)&&e(k)});var ee=B(O,2),te=e=>{var t=ZT();Q(R(t),{name:`users`,size:30,strokeWidth:1.2}),M(4),j(t),q(e,t)};Y(ee,e=>{n(),U(()=>n().scene&&n().scene.agents.size===0&&!n().loading)&&e(te)}),j(E),Ba(E,e=>L(c,e),()=>H(c)),M(2),j(_),V(()=>da(D,`cursor:${H(d)?`pointer`:`default`}`)),G(`mousemove`,D,h),G(`mouseleave`,D,g),q(e,_),it(),a()}var eE=K(`<div class="repo-focus svelte-1eglegg"><!> <span> </span></div>`),tE=K(`<div class="summary-card svelte-1eglegg"><div class="summary-icon svelte-1eglegg"><!></div> <div class="summary-value svelte-1eglegg"> </div> <div class="summary-label svelte-1eglegg"> </div></div>`),nE=K(`<div class="mini-card svelte-1eglegg"><div class="mini-value svelte-1eglegg"> </div> <div class="mini-label svelte-1eglegg"> </div></div>`),rE=K(`<div class="mini-card svelte-1eglegg"><div class="mini-icon svelte-1eglegg"><!></div> <div class="mini-value svelte-1eglegg"> </div> <div class="mini-label svelte-1eglegg"> </div></div>`),iE=K(`<div class="empty-state svelte-1eglegg">No repository activity yet.</div>`),aE=K(`<span class="stat-chip stale svelte-1eglegg"> </span>`),oE=K(`<span class="stat-chip stale svelte-1eglegg"> </span>`),sE=K(`<div><div class="repo-main"><div class="repo-name svelte-1eglegg"> </div> <div class="repo-meta svelte-1eglegg"> </div></div> <div class="pressure-pill svelte-1eglegg"> </div> <div class="repo-stats svelte-1eglegg"><span class="stat-chip active svelte-1eglegg"> </span> <span class="stat-chip pending svelte-1eglegg"> </span> <span class="stat-chip blocked svelte-1eglegg"> </span> <span class="stat-chip backlog svelte-1eglegg"> </span></div> <div class="repo-stats svelte-1eglegg"><span class="stat-chip claim svelte-1eglegg"> </span> <span class="stat-chip handoff svelte-1eglegg"> </span> <!> <!></div> <div class="last-activity svelte-1eglegg"> </div></div>`),cE=K(`<div class="repo-table svelte-1eglegg"><div class="repo-table-head svelte-1eglegg"><span>Repository</span> <span>Pressure</span> <span>Workload</span> <span>Coordination</span> <span>Last Activity</span></div> <!></div>`),lE=K(`<div class="global-shell animate-fade-in svelte-1eglegg"><div class="glass card panel-card svelte-1eglegg"><div class="panel-header svelte-1eglegg"><div><div class="section-label">Global Command Center</div> <div class="panel-copy svelte-1eglegg">Cross-repository orchestration view for workload, coordination, and pressure.</div></div> <!></div> <div class="summary-grid svelte-1eglegg"></div></div> <div class="grid-two svelte-1eglegg"><div class="glass card panel-card svelte-1eglegg"><div class="subheading svelte-1eglegg">Coordination</div> <div class="mini-grid svelte-1eglegg"></div></div> <div class="glass card panel-card svelte-1eglegg"><div class="subheading svelte-1eglegg">Throughput</div> <div class="mini-grid svelte-1eglegg"></div></div></div> <div class="glass card panel-card svelte-1eglegg"><div class="panel-header svelte-1eglegg"><div><div class="subheading svelte-1eglegg">Attention Board</div> <div class="panel-copy svelte-1eglegg">Repos sorted by operational pressure: blocked work, active execution, pending queue, and coordination load.</div></div></div> <!></div></div>`);function uE(e,t){rt(t,!1);let n=()=>F(so,`$globalDashboardStats`,s),r=()=>F(no,`$currentRepo`,s),i=()=>F(d,`$summaryCards`,s),a=()=>F(f,`$coordinationCards`,s),o=()=>F(p,`$throughputCards`,s),[s,c]=Et(),l=I(),u=I(),d=bt(so,e=>[{label:`Repositories`,value:e?.repoCount??0,icon:`database`,color:`#0ea5e9`,tint:`rgba(14,165,233,0.12)`},{label:`Active Repos`,value:e?.activeRepoCount??0,icon:`activity`,color:`#8b5cf6`,tint:`rgba(139,92,246,0.12)`},{label:`Open Tasks`,value:(e?.taskStats?.pending??0)+(e?.taskStats?.in_progress??0)+(e?.taskStats?.blocked??0)+(e?.taskStats?.backlog??0),icon:`clipboard-list`,color:`#f59e0b`,tint:`rgba(245,158,11,0.12)`},{label:`Active Claims`,value:e?.coordination?.activeClaims??0,icon:`check`,color:`#10b981`,tint:`rgba(16,185,129,0.12)`},{label:`Pending Handoffs`,value:e?.coordination?.pendingHandoffs??0,icon:`git-branch`,color:`#6366f1`,tint:`rgba(99,102,241,0.12)`},{label:`Blocked Tasks`,value:e?.taskStats?.blocked??0,icon:`triangle-alert`,color:`#ef4444`,tint:`rgba(239,68,68,0.12)`}]),f=bt(so,e=>[{label:`Agents Claiming`,value:e?.coordination?.agentsClaiming??0,accent:`#10b981`},{label:`Unassigned Handoffs`,value:e?.coordination?.unassignedHandoffs??0,accent:`#f97316`},{label:`Stale Claims`,value:e?.coordination?.staleClaims??0,accent:`#ef4444`},{label:`Stale Handoffs`,value:e?.coordination?.staleHandoffs??0,accent:`#e11d48`}]),p=bt(lo,e=>[{label:`Today Done`,value:e?.daily?.completed??0,icon:`circle-check`,color:`#10b981`},{label:`Today Added`,value:e?.daily?.added??0,icon:`plus`,color:`#0ea5e9`},{label:`7d Done`,value:e?.weekly?.completed??0,icon:`bar-chart`,color:`#8b5cf6`},{label:`7d Tokens`,value:Jl(e?.weekly?.tokens),icon:`cpu`,color:`#f59e0b`}]);function m(e){return e.blockedCount*5+e.inProgressCount*3+e.pendingCount*2+e.pendingHandoffs*2+e.activeClaims}ir(()=>n(),()=>{L(l,(n()?.repos??[]).slice(0,8))}),ir(()=>(r(),H(l)),()=>{L(u,r()?H(l).find(e=>e.repo===r()):null)}),ar(),Ua();var h=lE(),g=R(h),_=R(g),v=B(R(_),2),y=e=>{var t=eE(),n=R(t);Q(n,{name:`pin`,size:12,strokeWidth:2});var i=B(n,2),a=R(i);j(i),j(t),V(()=>J(a,`Focused repo: ${r()??``}`)),q(e,t)};Y(v,e=>{H(u)&&e(y)}),j(_);var b=B(_,2);X(b,5,i,e=>e.label,(e,t)=>{var n=tE(),r=R(n);Q(R(r),{get name(){return H(t),U(()=>H(t).icon)},size:14,strokeWidth:1.9}),j(r);var i=B(r,2),a=R(i,!0);j(i);var o=B(i,2),s=R(o,!0);j(o),j(n),V(()=>{da(n,`background:${(H(t),U(()=>H(t).tint))??``};border-color:${(H(t),U(()=>H(t).tint))??``};`),da(r,`color:${(H(t),U(()=>H(t).color))??``};`),da(i,`color:${(H(t),U(()=>H(t).color))??``};`),J(a,(H(t),U(()=>H(t).value))),J(s,(H(t),U(()=>H(t).label)))}),q(e,n)}),j(b),j(g);var x=B(g,2),S=R(x),C=B(R(S),2);X(C,5,a,e=>e.label,(e,t)=>{var n=nE(),r=R(n),i=R(r,!0);j(r);var a=B(r,2),o=R(a,!0);j(a),j(n),V(()=>{da(r,`color:${(H(t),U(()=>H(t).accent))??``};`),J(i,(H(t),U(()=>H(t).value))),J(o,(H(t),U(()=>H(t).label)))}),q(e,n)}),j(C),j(S);var w=B(S,2),T=B(R(w),2);X(T,5,o,e=>e.label,(e,t)=>{var n=rE(),r=R(n);Q(R(r),{get name(){return H(t),U(()=>H(t).icon)},size:12,strokeWidth:2}),j(r);var i=B(r,2),a=R(i,!0);j(i);var o=B(i,2),s=R(o,!0);j(o),j(n),V(()=>{da(r,`color:${(H(t),U(()=>H(t).color))??``};`),da(i,`color:${(H(t),U(()=>H(t).color))??``};`),J(a,(H(t),U(()=>H(t).value))),J(s,(H(t),U(()=>H(t).label)))}),q(e,n)}),j(T),j(w),j(x);var E=B(x,2),D=B(R(E),2),O=e=>{q(e,iE())},k=e=>{var t=cE();X(B(R(t),2),1,()=>H(l),e=>e.repo,(e,t)=>{var n=sE();let i;var a=R(n),o=R(a),s=R(o,!0);j(o);var c=B(o,2),l=R(c);j(c),j(a);var u=B(a,2),d=R(u,!0);j(u);var f=B(u,2),p=R(f),h=R(p);j(p);var g=B(p,2),_=R(g);j(g);var v=B(g,2),y=R(v);j(v);var b=B(v,2),x=R(b);j(b),j(f);var S=B(f,2),C=R(S),w=R(C);j(C);var T=B(C,2),E=R(T);j(T);var D=B(T,2),O=e=>{var n=aE(),r=R(n);j(n),V(()=>J(r,`U ${(H(t),U(()=>H(t).unassignedHandoffs))??``}`)),q(e,n)};Y(D,e=>{H(t),U(()=>H(t).unassignedHandoffs>0)&&e(O)});var k=B(D,2),ee=e=>{var n=oE(),r=R(n);j(n),V(()=>J(r,`S ${(H(t),U(()=>H(t).staleClaims))??``}`)),q(e,n)};Y(k,e=>{H(t),U(()=>H(t).staleClaims>0)&&e(ee)}),j(S);var te=B(S,2),ne=R(te,!0);j(te),j(n),V((e,a)=>{i=la(n,1,`repo-table-row svelte-1eglegg`,null,i,{selected:r()===H(t).repo}),J(s,(H(t),U(()=>H(t).repo))),J(l,`${(H(t),U(()=>H(t).memoryCount))??``} memories • ${(H(t),U(()=>H(t).taskCount))??``} tasks`),J(d,e),J(h,`A ${(H(t),U(()=>H(t).inProgressCount))??``}`),J(_,`P ${(H(t),U(()=>H(t).pendingCount))??``}`),J(y,`B ${(H(t),U(()=>H(t).blockedCount))??``}`),J(x,`Q ${(H(t),U(()=>H(t).backlogCount))??``}`),J(w,`C ${(H(t),U(()=>H(t).activeClaims))??``}`),J(E,`H ${(H(t),U(()=>H(t).pendingHandoffs))??``}`),J(ne,a)},[()=>(H(t),U(()=>m(H(t)))),()=>(H(t),W(ql),U(()=>H(t).lastActivity?ql(H(t).lastActivity):`—`))]),q(e,n)}),j(t),q(e,t)};Y(D,e=>{H(l),U(()=>H(l).length===0)?e(O):e(k,-1)}),j(E),j(h),q(e,h),it(),c()}var dE=K(`<div class="drawer-overlay" style="z-index:38;" role="button" tabindex="0" aria-label="Close menu"></div> <div class="mobile-sidebar-shell"><!></div>`,1),fE=K(`<div class="empty-state animate-fade-in svelte-1m88iwd"><div class="empty-state-icon animate-float svelte-1m88iwd"><!></div> <div class="empty-state-title svelte-1m88iwd">No Repository Selected</div> <div class="empty-state-text svelte-1m88iwd">Select a repository from the sidebar to get started.</div></div>`),pE=K(`<div class="glass card hover-glow card-body"><div class="flex items-center justify-between card-section-title"><div class="section-label">Selected Repo Pulse</div> <div class="repo-badge svelte-1m88iwd"> </div></div> <div class="repo-pulse-grid svelte-1m88iwd" style="display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;"><div class="glass card card-body"><div class="section-label card-section-title">Memory Overview</div> <!></div> <div class="glass card card-body"><div class="section-label card-section-title">Task Overview</div> <!></div></div></div> <!>`,1),mE=K(`<div class="glass card hover-glow card-body"><div class="section-label card-section-title">Per-Repository Pulse</div> <div class="muted-text svelte-1m88iwd">Select a repository from the sidebar to inspect repo-specific memory, task, and execution metrics.</div></div>`),hE=K(`<div style="display:grid;grid-template-columns:1fr;gap:12px;align-items:start;" class="dashboard-grid svelte-1m88iwd"><!> <div class="flex flex-col" style="gap:12px;"><!></div></div>`),gE=K(`<div class="glass card animate-fade-in" style="height:calc(100vh - 180px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:24px;"><div style="padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.05);"><div class="flex items-center gap-3"><div style="width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px var(--glow-primary);"><!></div> <div><div style="font-size:0.95rem;font-weight:800;color:var(--color-text);letter-spacing:-0.01em;">Recent Activity</div> <div style="font-size:0.68rem;color:var(--color-text-muted);font-weight:600;"> </div></div></div></div> <!> <div class="chat-send-panel"><div class="chat-input-row"><input type="text" placeholder="Type a message to create a backlog task..."/> <button class="chat-send-btn"><!></button></div></div></div>`),_E=K(`<div class="glass card hover-glow animate-fade-in"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="section-label">Memory Explorer</div></div> <!></div>`),vE=K(`<div class="animate-fade-in"><div class="glass card hover-glow" style="margin-bottom:20px;"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="stat-label">Task Overview</div></div> <!></div></div>`),yE=K(`<div class="arena-fullwidth svelte-1m88iwd"><!></div>`),bE=K(`<div class="tabs-wrap"><div class="tab-nav" style="display:inline-flex;" role="tablist"><button id="tab-activity" role="tab"><!> <span>Activity</span></button> <button id="tab-memories" role="tab"><!> <span>Memories</span></button> <button id="tab-tasks" role="tab"><!> <span>Tasks</span></button> <button id="tab-handoffs" role="tab"><!> <span>Handoffs</span></button> <button id="tab-knowledge-graph" role="tab"><!> <span>Knowledge Graph</span></button></div></div> <!> <!> <!> <!> <!> <!> <!> <!> <!>`,1),xE=K(`<div class="app-layout"><!> <div><!> <!> <div id="dashboardShell" class="dashboard-shell" aria-live="polite"><!></div></div></div> <!> <!> <!> <!> <!> <!>`,1);function SE(e,t){rt(t,!1);let n=()=>F(eo,`$activeTab`,s),r=()=>F(y,`$sidebarCollapsed`,s),i=()=>F(h,`$appState`,s),a=()=>F(no,`$currentRepo`,s),o=()=>F(wo,`$recentActionsTotalItems`,s),[s,c]=Et(),l=I(),u=I(),d=I(``),f=I(!1);async function p(){let e=H(d).trim();if(!e||H(f))return;let t=P(no);if(t){L(f,!0);try{await au(e,t),L(d,``),await m.onRefresh()}catch(e){console.error(`Failed to create task from chat:`,e)}finally{L(f,!1)}}}let m=Ko({get kanbanBoard(){return H(l)},get memoryList(){return H(u)}}),h={subscribe:m.subscribe,set:m.set,update:m.update},{filteredTools:g,filteredPrompts:_,filteredResources:v,sidebarCollapsed:y}=m;Ka(async()=>{Fo(),await m.loadRepos(),await m.loadHealth(),await m.loadData()}),ir(()=>(n(),Ro),()=>{n()===`reference`&&(P(m).capabilities||Ro.capabilities().then(e=>m.update(t=>({...t,capabilities:e}))).catch(e=>console.error(`Failed to load capabilities:`,e)))}),ar(),Ua();var b=xE();G(`keydown`,An,function(...e){m.onKeyDown?.apply(this,e)});var x=z(b),S=R(x);Nu(S,{get onRepoSelect(){return U(()=>m.onRepoSelect)}});var C=B(S,2);let w;var T=R(C);qu(T,{get onRefresh(){return U(()=>m.onRefresh)},get onToggleMobileMenu(){return U(()=>m.toggleMobileMenu)},get onEcosystem(){return U(()=>m.onEcosystemClick)}});var E=B(T,2),D=e=>{var t=dE(),n=z(t),r=B(n,2);Nu(R(r),{get onRepoSelect(){return U(()=>m.onRepoSelect)}}),j(r),G(`click`,n,()=>m.toggleMobileMenu()),G(`keydown`,n,e=>e.key===`Escape`&&m.toggleMobileMenu()),q(e,t)};Y(E,e=>{i(),U(()=>i().mobileMenuOpen)&&e(D)});var O=B(E,2),k=R(O),ee=e=>{var t=fE(),n=R(t);Q(R(n),{name:`brain`,size:32,strokeWidth:1.5}),j(n),M(4),j(t),q(e,t)},te=e=>{var t=bE(),r=z(t),i=R(r),s=R(i);let c;Q(R(s),{name:`activity`,size:14,strokeWidth:1.75}),M(2),j(s);var y=B(s,2);let b;Q(R(y),{name:`brain`,size:14,strokeWidth:1.75}),M(2),j(y);var x=B(y,2);let S;Q(R(x),{name:`clipboard-list`,size:14,strokeWidth:1.75}),M(2),j(x);var C=B(x,2);let w;Q(R(C),{name:`git-branch`,size:14,strokeWidth:1.75}),M(2),j(C);var T=B(C,2);let E;Q(R(T),{name:`share-2`,size:14,strokeWidth:1.75}),M(2),j(T),j(i),j(r);var D=B(r,2),O=e=>{var t=hE(),n=R(t);uE(n,{});var r=B(n,2),i=R(r),o=e=>{var t=pE(),n=z(t),r=R(n),i=B(R(r),2),o=R(i,!0);j(i),j(r);var s=B(r,2),c=R(s);Md(B(R(c),2),{}),j(c);var l=B(c,2);Rd(B(R(l),2),{}),j(l),j(s),j(n),ib(B(n,2),{}),V(()=>J(o,a())),q(e,t)},s=e=>{q(e,mE())};Y(i,e=>{a()?e(o):e(s,-1)}),j(r),j(t),q(e,t)};Y(D,e=>{n()===`dashboard`&&e(O)});var k=B(D,2),ee=e=>{var t=gE(),n=R(t),r=R(n),i=R(r);Q(R(i),{name:`activity`,size:18,strokeWidth:2.2}),j(i);var a=B(i,2),s=B(R(a),2),c=R(s);j(s),j(a),j(r),j(n);var l=B(n,2);ax(l,{get onLoadPage(){return U(()=>m.loadRecentActions)}});var u=B(l,2),h=R(u),g=R(h);Ta(g);var _=B(g,2);Q(R(_),{name:`send`,size:16,strokeWidth:2}),j(_),j(h),j(u),j(t),V(e=>{J(c,`${o()??``} events tracked`),Ea(g,H(d)),g.disabled=H(f),_.disabled=e},[()=>(H(d),H(f),U(()=>!H(d).trim()||H(f)))]),G(`input`,g,e=>L(d,e.currentTarget.value)),G(`keydown`,g,e=>e.key===`Enter`&&!e.shiftKey&&p()),G(`click`,_,p),q(e,t)};Y(k,e=>{n()===`activity`&&e(ee)});var te=B(k,2),ne=e=>{var t=_E(),n=R(t);Q(R(n),{name:`brain`,size:14,strokeWidth:1.75}),M(2),j(n),Ba(wb(B(n,2),{get onMemoryClick(){return U(()=>m.openMemoryDrawer)},get onNewMemory(){return U(()=>m.openNewMemoryDrawer)},onBulkImport:()=>m.openBulkImport(`memories`),$$legacy:!0}),e=>L(u,e),()=>H(u)),j(t),q(e,t)};Y(te,e=>{n()===`memories`&&e(ne)});var re=B(te,2),ie=e=>{var t=vE(),n=R(t),r=R(n);Q(R(r),{name:`columns`,size:14,strokeWidth:1.75}),M(2),j(r),Ba(wd(B(r,2),{get onTaskClick(){return U(()=>m.openTaskDrawer)},onAddTask:()=>m.toggleAddTaskModal(!0),onBulkImport:()=>m.openBulkImport(`tasks`),$$legacy:!0}),e=>L(l,e),()=>H(l)),j(n),j(t),q(e,t)};Y(re,e=>{n()===`tasks`&&e(ie)});var A=B(re,2),ae=e=>{{let t=dn(()=>a()||``);ow(e,{get repo(){return H(t)}})}};Y(A,e=>{n()===`standards`&&e(ae)});var oe=B(A,2),se=e=>{{let t=dn(()=>a()||``);gw(e,{get repo(){return H(t)}})}};Y(oe,e=>{n()===`handoffs`&&e(se)});var ce=B(oe,2),le=e=>{{let t=dn(()=>a()||``);$w(e,{get repo(){return H(t)}})}};Y(ce,e=>{n()===`knowledge-graph`&&e(le)});var ue=B(ce,2),de=e=>{var t=yE();$T(R(t),{}),j(t),q(e,t)};Y(ue,e=>{n()===`arena`&&e(de)});var fe=B(ue,2),pe=e=>{zC(e,{get handler(){return m},get appState(){return h},get filteredTools(){return g},get filteredPrompts(){return _},get filteredResources(){return v}})};Y(fe,e=>{n()===`reference`&&e(pe)}),V(()=>{c=la(s,1,`tab-btn`,null,c,{active:n()===`activity`}),ka(s,`aria-selected`,n()===`activity`),b=la(y,1,`tab-btn`,null,b,{active:n()===`memories`}),ka(y,`aria-selected`,n()===`memories`),S=la(x,1,`tab-btn`,null,S,{active:n()===`tasks`}),ka(x,`aria-selected`,n()===`tasks`),w=la(C,1,`tab-btn`,null,w,{active:n()===`handoffs`}),ka(C,`aria-selected`,n()===`handoffs`),E=la(T,1,`tab-btn`,null,E,{active:n()===`knowledge-graph`}),ka(T,`aria-selected`,n()===`knowledge-graph`)}),G(`click`,s,()=>m.onTabChange(`activity`)),G(`click`,y,()=>m.onTabChange(`memories`)),G(`click`,x,()=>m.onTabChange(`tasks`)),G(`click`,C,()=>m.onTabChange(`handoffs`)),G(`click`,T,()=>m.onTabChange(`knowledge-graph`)),q(e,t)};Y(k,e=>{!a()&&n()!==`dashboard`&&n()!==`arena`?e(ee):e(te,-1)}),j(O),j(C),j(x);var ne=B(x,2);{let e=dn(()=>(i(),U(()=>i().selectedMemory?`memory`:`task`)));cS(ne,{get drawerMode(){return H(e)},get memory(){return i(),U(()=>i().selectedMemory)},get task(){return i(),U(()=>i().selectedTask)},get open(){return i(),U(()=>i().drawerOpen)},get onClose(){return U(()=>m.closeDrawer)},get onTaskUpdated(){return U(()=>m.handleTaskUpdated)},onTaskDeleted:()=>{a()&&H(l)?.loadTasks(a())}})}var re=B(ne,2);AS(re,{get item(){return i(),U(()=>i().selectedReference)},get open(){return i(),U(()=>i().referenceDrawerOpen)},onClose:()=>m.toggleReferenceDrawer(!1)});var ie=B(re,2);XS(ie,{get memory(){return i(),U(()=>i().memoryDrawerItem)},get open(){return i(),U(()=>i().memoryDrawerOpen)},onClose:()=>m.toggleMemoryDrawer(!1),get onSaved(){return U(()=>m.handleMemorySaved)},get onDeleted(){return U(()=>m.handleMemoryDeleted)}});var A=B(ie,2);gC(A,{get open(){return i(),U(()=>i().addTaskModalOpen)},get newTask(){return i(),U(()=>i().newTask)},onClose:()=>m.toggleAddTaskModal(!1),get onSave(){return U(()=>m.createTask)}});var ae=B(A,2);{let e=dn(()=>a()||``);fC(ae,{get repo(){return H(e)},get importTarget(){return i(),U(()=>i().bulkImportTarget)},get isOpen(){return i(),U(()=>i().bulkImportOpen)},$$events:{close:()=>m.toggleBulkImport(!1),success:()=>{i().bulkImportTarget===`memories`&&H(u)?.refresh(),i().bulkImportTarget===`tasks`&&a()&&H(l)?.loadTasks(a())}}})}YC(B(ae,2),{get onRefresh(){return U(()=>m.onRefresh)}}),V(()=>w=la(C,1,`main-content`,null,w,{"sidebar-collapsed":r()})),q(e,b),it(),c()}Oi(SE,{target:document.getElementById(`app`)});
|