@vheins/local-memory-mcp 0.18.10 → 0.18.12

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.
@@ -140,7 +140,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
140
140
  `).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(`
141
141
  `).length>8}}else{let e=String(t);return{text:e,isLong:e.length>400||e.split(`
142
142
  `).length>8}}}catch{return{text:e,isLong:e.length>400||e.split(`
143
- `).length>8}}}let c=xt(To,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=N(t);if(!i||a.isLoadingMore||a.hasReachedStart)return;let o=N(To),s=N(Eo),c=N(Do);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=N(To);r(e=>({...e,isLoadingMore:!1,hasReachedStart:n.length>=s}))}}return{subscribe:n,state:t,groupedActions:c,recentActions:To,recentActionsPage:Do,getConfig:a,getLabel:o,parseResponse:s,formatTime:l,renderMarkdown:Hl,toggleExpand:u,scrollToBottom:d,handleScroll:f}}var fb=K(`<h1> </h1>`),pb=K(`<h2> </h2>`),mb=K(`<h3> </h3>`),hb=K(`<h4> </h4>`),gb=K(`<h5> </h5>`),_b=K(`<h6> </h6>`),vb=K(`<strong> </strong>`),yb=K(`<em> </em>`),bb=K(`<code class="svelte-d5v60e"> </code>`),xb=K(`<a> </a>`),Sb=K(`<p class="svelte-d5v60e"></p>`),Cb=K(`<li></li>`),wb=K(`<ol></ol>`),Tb=K(`<li></li>`),Eb=K(`<ul></ul>`),Db=K(`<pre class="svelte-d5v60e"><code class="svelte-d5v60e"> </code></pre>`),Ob=K(`<th class="svelte-d5v60e"> </th>`),kb=K(`<td class="svelte-d5v60e"> </td>`),Ab=K(`<tr></tr>`),jb=K(`<table class="svelte-d5v60e"><thead><tr></tr></thead><tbody></tbody></table>`),Mb=K(`<br/>`),Nb=K(`<hr/>`),Pb=K(`<blockquote class="svelte-d5v60e"> </blockquote>`),Fb=K(`<div class="markdown-body svelte-d5v60e"></div>`);function Ib(e,t){rt(t,!1);let n=F(),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`}B(()=>W(r()),()=>{I(n,Cc.lexer(r()))}),or(),Ua();var d=Fb();X(d,7,()=>H(n),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),d=e=>{var n=Ei(),r=R(n),i=e=>{var n=fb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},o=e=>{var n=mb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},s=e=>{var n=hb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},c=e=>{var n=gb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=_b(),r=L(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=Sb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),c=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=vb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},u=dn(()=>(H(t),U(()=>a(H(t))))),d=e=>{var n=yb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},f=dn(()=>(H(t),U(()=>o(H(t))))),p=e=>{var n=bb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},m=dn(()=>(H(t),U(()=>s(H(t))))),h=e=>{var n=xb(),r=L(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=dn(()=>(H(t),U(()=>i(H(t))))),_=e=>{var n=Ti();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=Ei(),r=R(n),i=e=>{var n=wb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`ordered-${t}`,(e,t)=>{var n=Cb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();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=Eb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`unordered-${t}`,(e,t)=>{var n=Tb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();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=dn(()=>(H(t),U(()=>c(H(t))))),h=e=>{var n=Db(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).text)))),q(e,n)},g=dn(()=>(H(t),U(()=>l(H(t))))),_=e=>{var n=jb(),r=L(n),i=L(r);X(i,7,()=>(H(t),U(()=>H(t).header)),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Ob(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(i),j(r);var a=z(r);X(a,7,()=>(H(t),U(()=>H(t).rows)),(e,t)=>`row-${t}`,(e,t)=>{var n=Ab();X(n,7,()=>H(t),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=kb(),r=L(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=dn(()=>(H(t),U(()=>u(H(t))))),y=e=>{q(e,Mb())},b=e=>{q(e,Nb())},x=e=>{var n=Pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},S=e=>{var n=Ti();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 Lb=K(`<div class="load-more-spinner svelte-h6z84x"><!> <span>Loading older history...</span></div>`),Rb=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>`),zb=K(`<div class="action-sub svelte-h6z84x"> </div>`),Bb=K(`<button class="read-more-btn svelte-h6z84x"> </button>`),Vb=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>`),Hb=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),Ub=K(`<div class="date-header svelte-h6z84x"><span class="svelte-h6z84x"> </span></div> <!>`,1),Wb=K(`<div class="chat-container-viewport svelte-h6z84x"><div class="chat-container svelte-h6z84x"><!> <!></div></div>`);function Gb(e,t){rt(t,!1);let n=()=>P(d,`$recentActionsPage`,o),r=()=>P(f,`$handlerState`,o),i=()=>P(u,`$recentActions`,o),a=()=>P(l,`$groupedActions`,o),[o,s]=Dt(),c=db(Z(t,`onLoadPage`,8,async()=>{})()),{groupedActions:l,recentActions:u,recentActionsPage:d}=c,f=c,p=F(void 0),m;Qa(()=>{n()<=1&&!r().isLoadingMore&&i().length>0&&c.scrollToBottom(H(p),`instant`)}),Ja(()=>(Zr().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=Wb(),g=L(h),_=L(g),v=e=>{var t=Lb();Q(L(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=z(_,2),b=e=>{var t=Rb();Q(L(t),{name:`activity`,size:48,strokeWidth:1}),M(4),j(t),q(e,t)},x=e=>{var t=Ei();X(R(t),1,a,e=>e.date,(e,t)=>{var n=Ub(),i=R(n),a=L(i),o=L(a,!0);j(a),j(i),X(z(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=fn(()=>(H(t),U(()=>c.getLabel(H(t))))),i=fn(()=>(H(t),U(()=>c.getConfig(H(t).action))));var a=Hb(),o=R(a),s=L(o),l=L(s),u=L(l),d=L(u);Q(d,{get name(){return W(H(i)),U(()=>H(i).icon)},size:10,strokeWidth:2.5});var f=z(d,2),p=L(f,!0);j(f),j(u);var m=z(u,2),h=L(m,!0);j(m);var g=z(m,2),_=e=>{var t=zb(),r=L(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=z(g,2),y=L(v),b=L(y,!0);j(y);var x=z(y,2);Q(L(x),{name:`check`,size:12,strokeWidth:2}),j(x),j(v),j(l),M(2),j(s);var S=z(s,2);Q(L(S),{name:`bot`,size:14,strokeWidth:2}),j(S),j(o);var C=z(o,2),w=e=>{let n=fn(()=>(H(t),U(()=>c.parseResponse(H(t).response)))),i=fn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=Vb(),o=L(a);Q(L(o),{name:`cpu`,size:14,strokeWidth:2}),j(o);var s=z(o,2),l=z(L(s),2),u=z(L(l),2);Ib(L(u),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(u);var d=z(u,2),f=e=>{var n=Bb(),r=L(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=z(d,2),m=L(p),h=L(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=>I(p,e),()=>H(p)),q(e,h),it(),s()}var Kb={from_agent:``,to_agent:``,task_code:``,summary:``,context:``},qb={name:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``,parent_id:``};function Jb(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function Yb(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 Xb(e){return JSON.stringify(e,null,2)}function Zb(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:Xb(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:{...qb},standardError:``}))}function r(){t(e=>({...e,standardEditing:!0}))}function i(){let n=N({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:Xb(n.standard.metadata),content:n.standard.content,parent_id:n.standard.parent_id||``}}))}async function a(n,r,i){let a=N({subscribe:e}),o=a.standardForm,s=Yb(o.metadata);if(!(!o.name.trim()||!o.content.trim()||Jb(o.tags).length===0||!s)){t(e=>({...e,standardSaving:!0,standardError:``}));try{a.standard?(await Bo.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:Jb(o.stack),tags:Jb(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 Bo.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:Jb(o.stack),tags:Jb(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=N({subscribe:e});if(i.standard&&await Ho(`Delete coding standard "${i.standard.title}"?`)){t(e=>({...e,standardDeleting:!0}));try{await Bo.deleteStandard(i.standard.id),n(i.standard.id),r()}catch(e){Uo(`Error deleting standard: `+(e instanceof Error?e.message:String(e)))}finally{t(e=>({...e,standardDeleting:!1}))}}}async function s(e){await Kl(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 Qb(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:{...Kb},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:{...Kb},handoffError:``}))}function i(e){if(!e.trim())return{};try{let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`JSON must be an object.`);return t}catch(e){throw e}}async function a(n,r){let a=N({subscribe:e}).handoffForm;if(!(!a.from_agent.trim()||!a.summary.trim())){t(e=>({...e,handoffCreating:!0,handoffError:``}));try{await Bo.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=N({subscribe:e});if(!(!i.handoff||i.handoff.id===`__new__`)){t(e=>({...e,handoffUpdating:!0,handoffError:``}));try{await Bo.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 Kl(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 $b={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 ex(){let{subscribe:e,update:t}=bt({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:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}),n=Zb(e,t),r=Qb(e,t),i=xt({subscribe:e},e=>e.task?`task`:e.memory?`memory`:e.handoff?`handoff`:e.standard?`standard`:null);async function a(e){await Kl(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}async function o(e){await Kl(e)&&(t(e=>({...e,descCopied:!0})),setTimeout(()=>t(e=>({...e,descCopied:!1})),2e3))}async function s(n,r,i){let a=N({subscribe:e});if(a.task)try{let e=await Bo.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=N({subscribe:e}).editTitle.trim();r&&(await s(`title`,r,n),t(e=>({...e,editingTitle:!1})))}async function l(n){await s(`description`,N({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=N({subscribe:e});if(!(!r.task||!r.newComment.trim())){t(e=>({...e,postingComment:!0}));try{let e=await Bo.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=N({subscribe:e});if(!(!r.editingCommentId||!r.editCommentText.trim())){t(e=>({...e,savingComment:!0}));try{if(await Bo.updateTaskComment(r.editingCommentId,r.editCommentText.trim()),r.task){let e=await Bo.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=N({subscribe:e});if(await Ho(`Delete this comment?`))try{if(await Bo.deleteTaskComment(n),i.task){let e=await Bo.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=N({subscribe:e});if(r.task&&await Ho(`Are you sure you want to delete this task?`))try{await Bo.deleteTask(r.task.id),t(r.task.id),n()}catch(e){Uo(`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:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}))},handleTitleKeydown:(e,n)=>{e.key===`Enter`&&c(n),e.key===`Escape`&&t(e=>({...e,editingTitle:!1}))},...n,...r}}var tx=K(`<div class="meta-cell svelte-118hqhr"><div class="meta-label svelte-118hqhr"> </div> <div class="meta-value svelte-118hqhr"> </div></div>`),nx=K(`<span class="tag-chip svelte-118hqhr"> </span>`),rx=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>`),ix=K(`<div style="margin-top:16px;"><div class="section-label svelte-118hqhr">Metadata</div> <pre class="json-pre svelte-118hqhr"> </pre></div>`),ax=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 ox(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8);Ua();var o=Ei(),s=R(o),c=e=>{var t=ax(),r=R(t);X(r,5,()=>(n(),W(Il),U(()=>[{label:`Importance`,val:n().memory?.importance||0},{label:`Hit Count`,val:n().memory?.hit_count??0},{label:`Created`,val:Il(n().memory?.created_at)},{label:`Updated`,val:Il(n().memory?.updated_at)}])),e=>e.label,(e,t)=>{var n=tx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(r,2),o=e=>{var t=rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().memory.tags)),e=>e,(e,t)=>{var n=nx(),r=L(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=z(i,2),c=L(s),l=z(L(c),2),u=L(l);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(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=z(c,2),f=L(d);{let e=fn(()=>(n(),U(()=>n().memory?.content||``)));Ib(f,{get content(){return H(e)}})}j(d),j(s);var p=z(s,2),m=e=>{var t=ix(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().memory.metadata,null,2)))]),q(e,t)},h=dn(()=>(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 sx=K(`<button class="btn"> </button>`),cx=K(`<div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"></div>`),lx=K(`<button class="btn btn-ghost" style="color: #ef4444;"><svg style="margin-right:4px;" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Delete Task</button>`),ux=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct"> </div> <div class="meta-value svelte-1ewh6ct"> </div></div>`),dx=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>`),fx=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>`),px=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Coordination</div> <div class="meta-grid svelte-1ewh6ct"><!> <!></div></div>`),mx=K(`<button class="btn btn-ghost" style="padding:1px 6px;font-size:0.68rem;border-radius:4px;">Edit</button>`),hx=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),gx=K(`<div class="markdown-body md-card svelte-1ewh6ct"><!></div>`),_x=K(`<div style="color:var(--color-text-muted);font-size:0.82rem;font-style:italic;">No description yet. Click Edit to add one.</div>`),vx=K(`<span style="font-size:0.65rem;color:var(--color-text-muted);"> </span>`),yx=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),bx=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),xx=K(`<div class="markdown-body" style="font-size:0.78rem;color:var(--color-text);line-height:1.5;"><!></div>`),Sx=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>`),Cx=K(`<div style="display:flex;flex-direction:column;gap:8px;margin-bottom:12px;"></div>`),wx=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 Tx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onTaskUpdated`,8),c=Z(t,`onTaskDeleted`,8);Ua();var l=Ei(),u=R(l),d=e=>{var t=wx(),r=R(t),i=e=>{var t=cx();X(t,5,()=>(W($b),n(),U(()=>$b[n().task.status])),e=>e.next,(e,t)=>{var n=sx(),r=L(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($b),n(),U(()=>$b[n().task.status]?.length)&&e(i)});var l=z(r,2),u=z(L(l),2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=e=>{var t=lx();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=z(l,2);X(h,5,()=>(W(Vl),n(),W(Il),U(()=>[{label:`Priority`,val:Vl(n().task?.priority||1)},{label:`Phase`,val:n().task?.phase||`—`},{label:`Agent`,val:n().task?.agent||`—`},{label:`Updated`,val:Il(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=ux(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(h,2),_=e=>{var t=px(),r=z(L(t),2),i=L(r),a=e=>{var t=dx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(a),s=z(o),c=e=>{var t=Ti();V(e=>J(t,`• ${e??``}`),[()=>(W(Il),n(),U(()=>Il(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=z(i,2),s=e=>{var t=fx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(g,2),y=L(v),b=z(L(y),2),x=L(b);{let e=fn(()=>(n(),U(()=>n().descCopied?`check`:`copy`))),t=fn(()=>(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=z(b,2),C=e=>{var t=mx();G(`click`,t,()=>a().toggleEditDescription(!0)),q(e,t)};Y(S,e=>{n(),U(()=>!n().editingDescription)&&e(C)}),j(y);var w=z(y,2),T=e=>{var t=hx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=z(o,2);j(i),Fa(r,()=>n().editDescription,e=>kt(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=gx(),r=L(t);{let e=fn(()=>(n(),U(()=>n().task.description||``)));Ib(r,{get content(){return H(e)}})}j(t),q(e,t)},D=e=>{q(e,_x())};Y(w,e=>{n(),U(()=>n().editingDescription)?e(T):(n(),U(()=>n().task?.description)?e(E,1):e(D,-1))}),j(v);var O=z(v,2),k=L(O),ee=L(k);j(k);var te=z(k,2),ne=L(te);Gn(ne);var re=z(ne,2),ie=z(L(re),2),A=L(ie,!0);j(ie),j(re),j(te);var ae=z(te,2),oe=e=>{var t=Cx();X(t,5,()=>(n(),U(()=>n().task.comments)),e=>e.id,(e,t)=>{var r=Sx(),i=L(r),o=L(i),c=L(o),l=L(c,!0);j(c);var u=z(c,2),d=L(u,!0);j(u);var f=z(u,2),p=e=>{var n=vx(),r=L(n);j(n),V((e,t)=>J(r,`${e??``} → ${t??``}`),[()=>(W(Bl),H(t),U(()=>Bl(H(t).previous_status))),()=>(W(Bl),H(t),U(()=>Bl(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=z(o,2),h=L(m),g=L(h,!0);j(h);var _=z(h,2),v=e=>{var n=yx(),r=R(n),i=z(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=z(i,2),b=e=>{var t=bx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=L(o,!0);j(o);var l=z(o,2);j(i),V(()=>{o.disabled=(n(),U(()=>n().savingComment)),J(c,(n(),U(()=>n().savingComment?`Saving…`:`Save`)))}),Fa(r,()=>n().editCommentText,e=>kt(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=xx();Ib(L(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(Il),H(t),U(()=>Il(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(zl),n(),U(()=>zl(n().task?.status||`pending`))),()=>(W(Bl),n(),U(()=>Bl(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 Ex=K(`<div class="error-box"> </div>`),Dx=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),Ox=K(`<div class="error-box"> </div>`),kx=K(`<div class="meta-cell svelte-1arg7l8"><div class="meta-label svelte-1arg7l8"> </div> <div class="meta-value svelte-1arg7l8"> </div></div>`),Ax=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>`),jx=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 Mx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),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=Ei(),d=R(u),f=e=>{var t=Dx(),r=z(R(t),2),i=e=>{var t=Ex(),r=L(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=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m),j(c);var g=z(c,2),_=z(L(g),2);Gn(_),j(g);var v=z(g,2),y=z(L(v),2);Gn(y),ka(y,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(v);var b=z(v,2),x=L(b),S=L(x);Q(S,{name:`git-branch`,size:14,strokeWidth:2});var C=z(S);j(x);var w=z(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=>kt(a(),U(n).handoffForm.from_agent=e,U(n))),Fa(p,()=>n().handoffForm.to_agent,e=>kt(a(),U(n).handoffForm.to_agent=e,U(n))),Fa(h,()=>n().handoffForm.task_code,e=>kt(a(),U(n).handoffForm.task_code=e,U(n))),Fa(_,()=>n().handoffForm.summary,e=>kt(a(),U(n).handoffForm.summary=e,U(n))),Fa(y,()=>n().handoffForm.context,e=>kt(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=jx(),r=R(t),i=e=>{var t=Ox(),r=L(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=z(r,2),s=L(o,!0);j(o);var l=z(o,2),u=L(l),d=z(u,2),f=z(d,2);j(l);var p=z(l,2),m=z(L(p),2);let h;var g=L(m,!0);j(m),j(p);var _=z(p,2);X(_,5,()=>(n(),W(Il),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:Il(n().handoff.created_at)},{label:`Updated`,val:Il(n().handoff.updated_at)},{label:`Expires`,val:n().handoff.expires_at?Il(n().handoff.expires_at):`—`}])),e=>e.label,(e,t)=>{var n=kx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(_,2),y=e=>{var t=Ax(),r=L(t),i=z(L(r),2),o=L(i);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(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=z(r,2),c=L(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=dn(()=>(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 Nx=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>`),Px=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),Fx=K(`<span class="std-badge std-badge-parent svelte-1p5f4l"> </span>`),Ix=K(`<div class="meta-cell svelte-1p5f4l"><div class="meta-label svelte-1p5f4l"> </div> <div class="meta-value svelte-1p5f4l"> </div></div>`),Lx=K(`<span class="tag-chip svelte-1p5f4l"> </span>`),Rx=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>`),zx=K(`<div style="margin-top:16px;"><div class="section-label svelte-1p5f4l">Metadata</div> <pre class="json-pre svelte-1p5f4l"> </pre></div>`),Bx=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),Vx=K(`<!> <!>`,1);function Hx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),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=Vx(),d=R(u),f=e=>{var t=Nx(),r=L(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=z(d,2),m=e=>{var t=Px(),r=R(t),i=L(r,!0);j(r);var c=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m);var g=z(m,2),_=z(L(g),2);Ta(_),j(g);var v=z(g,2),y=z(L(v),2);Ta(y),j(v);var b=z(v,2),x=z(L(b),2);Ta(x),j(b);var S=z(b,2),C=z(L(S),2);Ta(C),j(S);var w=z(S,2),T=z(L(w),2);Ta(T),j(w),j(c);var E=z(c,2),D=z(L(E),2);Gn(D),j(E);var O=z(E,2),k=L(O),ee=L(k);Q(ee,{name:`check`,size:14,strokeWidth:2});var te=z(ee);j(k);var ne=z(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=>kt(a(),U(n).standardForm.name=e,U(n))),Fa(p,()=>n().standardForm.context,e=>kt(a(),U(n).standardForm.context=e,U(n))),Fa(h,()=>n().standardForm.version,e=>kt(a(),U(n).standardForm.version=e,U(n))),Fa(_,()=>n().standardForm.language,e=>kt(a(),U(n).standardForm.language=e,U(n))),Fa(y,()=>n().standardForm.stack,e=>kt(a(),U(n).standardForm.stack=e,U(n))),Fa(x,()=>n().standardForm.tags,e=>kt(a(),U(n).standardForm.tags=e,U(n))),Fa(C,()=>n().standardForm.parent_id,e=>kt(a(),U(n).standardForm.parent_id=e,U(n))),Fa(T,()=>n().standardForm.metadata,e=>kt(a(),U(n).standardForm.metadata=e,U(n))),Fa(D,()=>n().standardForm.content,e=>kt(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=Bx(),r=R(t),i=L(r),s=L(i),l=L(s,!0);j(s);var u=z(s,2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=L(p);j(p);var h=z(p,2);let g;var _=L(h,!0);j(h);var v=z(h,2),y=e=>{var t=Fx(),r=L(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=z(i,2),x=L(b);Q(L(x),{name:`edit`,size:13,strokeWidth:2}),M(),j(x);var S=z(x,2),C=L(S);Q(C,{name:`trash`,size:13,strokeWidth:2});var w=z(C);j(S),j(b),j(r);var T=z(r,2);X(T,5,()=>(n(),W(Il),U(()=>[{label:`Language`,val:n().standard.language||`any`},{label:`Stack`,val:n().standard.stack.length?n().standard.stack.join(`, `):`—`},{label:`Created`,val:Il(n().standard.created_at)},{label:`Updated`,val:Il(n().standard.updated_at)}])),e=>e.label,(e,t)=>{var n=Ix(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(T,2),D=e=>{var t=Rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().standard.tags)),e=>e,(e,t)=>{var n=Lx(),r=L(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=z(E,2),k=L(O),ee=z(L(k),2),te=L(ee);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(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=z(k,2),re=L(ne);{let e=fn(()=>(n(),U(()=>n().standard?.content||``)));Ib(re,{get content(){return H(e)}})}j(ne),j(O);var ie=z(O,2),A=e=>{var t=zx(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().standard.metadata,null,2)))]),q(e,t)},ae=dn(()=>(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 Ux=K(`<div><span style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-9n99wb"> </div></div>`),Wx=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>`),Gx=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>`),Kx=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>`),qx=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;"><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-9n99wb"><!> <!> <!> <!></div></div>`,1);function Jx(e,t){let n=qa(t,[`children`,`$$slots`,`$$events`,`$$legacy`]);rt(t,!1);let r=()=>P(x,`$mode`,a),i=()=>P(b,`$handler`,a),[a,o]=Dt(),s=Z(t,`memory`,8,null),c=Z(t,`task`,8,null),l=Z(t,`standard`,8,null),u=Z(t,`handoff`,8,null),d=Z(t,`open`,8,!1),f=Z(t,`onClose`,8,()=>{}),p=Z(t,`onTaskUpdated`,8,()=>{}),m=Z(t,`onTaskDeleted`,8,()=>{}),h=Z(t,`onStandardUpdated`,8,()=>{}),g=Z(t,`onStandardDeleted`,8,()=>{}),_=Z(t,`onHandoffUpdated`,8,()=>{}),v=Z(t,`onHandoffCreated`,8,()=>{}),y=Z(t,`repo`,8,null),b=ex(),{mode:x}=b;function S(e){e.key===`Escape`&&f()()}B(()=>(W(d()),W(s()),W(c()),W(n),W(l()),W(u()),W(y())),()=>{d()?s()?b.setMemory(s()):c()?b.setTask(c()):`standard`in n?b.setStandard(l()):u()?b.setHandoff(u()):`handoff`in n&&b.initNewHandoff(y()||``):b.reset()}),or(),Ua();var C=Ei(),w=R(C),T=e=>{var n=qx(),a=R(n),o=z(a,2),s=L(o),c=L(s),l=e=>{var t=Ux(),n=L(t),r=L(n,!0);j(n);var a=z(n,2),o=L(a,!0);j(a),j(t),V(()=>{la(n,1,`type-chip type-${(i(),U(()=>i().memory.type))??``}`,`svelte-9n99wb`),J(r,(i(),U(()=>i().memory.type))),J(o,(i(),U(()=>i().memory.title||`Untitled Memory`)))}),q(e,t)},u=e=>{var t=Kx(),n=L(t),r=L(n),a=L(r,!0);j(r);var o=z(r,2),s=L(o,!0);j(o),j(n);var c=z(n,2),l=e=>{var t=Wx(),n=L(t);Ta(n);var r=z(n,2),a=z(r,2);j(t),Fa(n,()=>i().editTitle,e=>kt(b,U(i).editTitle=e,U(i))),G(`keydown`,n,e=>b.handleTitleKeydown(e,p())),G(`click`,r,()=>b.saveTitle(p())),G(`click`,a,()=>b.toggleEditTitle(!1)),q(e,t)},u=e=>{var t=Gx(),n=L(t);M(),j(t),V(()=>J(n,`${(i(),U(()=>i().task?.title??``))??``} `)),G(`click`,t,()=>b.toggleEditTitle(!0)),q(e,t)};Y(c,e=>{i(),U(()=>i().editingTitle)?e(l):e(u,-1)}),j(t),V((e,t)=>{la(r,1,`status-chip ${e??``}`,`svelte-9n99wb`),J(a,t),J(s,(i(),U(()=>i().task.task_code||`NEW-TASK`)))},[()=>(W(zl),i(),U(()=>zl(i().task.status||`pending`))),()=>(W(Bl),i(),U(()=>Bl(i().task.status||``)))]),q(e,t)};Y(c,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)?e(l):(r(),i(),U(()=>r()===`task`&&i().task)&&e(u,1))});var d=z(c,2);j(s);var x=z(s,2),C=L(x),w=e=>{ox(e,{get handler(){return b}})};Y(C,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)&&e(w)});var T=z(C,2),E=e=>{Tx(e,{get handler(){return b},get onClose(){return f()},get onTaskUpdated(){return p()},get onTaskDeleted(){return m()}})};Y(T,e=>{r(),i(),U(()=>r()===`task`&&i().task)&&e(E)});var D=z(T,2),O=e=>{{let t=fn(()=>y()||``);Mx(e,{get handler(){return b},get onClose(){return f()},get onHandoffCreated(){return v()},get onHandoffUpdated(){return _()},get repo(){return H(t)}})}};Y(D,e=>{r()===`handoff`&&e(O)});var k=z(D,2),ee=e=>{Hx(e,{get handler(){return b},get onClose(){return f()},get onStandardUpdated(){return h()},get onStandardDeleted(){return g()},get repo(){return y()}})};Y(k,e=>{r()===`standard`&&e(ee)}),j(x),j(o),G(`click`,a,function(...e){f()?.apply(this,e)}),G(`keydown`,a,S),G(`click`,d,function(...e){f()?.apply(this,e)}),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`keydown`,o,S),q(e,n)};Y(w,e=>{d()&&r()&&e(T)}),q(e,C),it(),o()}function Yx(){let e=bt({item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}),{subscribe:t,update:n}=e,r=xt(e,e=>e.item?.type?e.item.type.charAt(0).toUpperCase()+e.item.type.slice(1):``);function i(t,r){N(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=N(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 Bo.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 Kl(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 Xx=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>`),Zx=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>`),Qx=K(`<div style="font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: 6px; line-height: 1.2;"> </div>`),$x=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>`),eS=K(`<div class="section-label svelte-17ad9lv">Playground (Input Parameters)</div> <!>`,1),tS=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),nS=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>`),rS=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>`),iS=K(`<div class="drawer-section svelte-17ad9lv"><!> <div style="margin-top: 8px;"><button class="btn btn-accent" style="width:100%"> </button></div> <!> <!></div>`),aS=K(`<span style="font-size: 0.7rem; color: #ef4444; font-weight: bold;">REQUIRED</span>`),oS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 6px;"> </div>`),sS=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>`),cS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); font-style: italic;">No arguments.</div>`),lS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Arguments</div> <!> <!></div>`),uS=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>`),dS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Template</div> <!></div>`),fS=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>`),pS=K(`<div style="font-size: 0.85rem;"><span style="color: var(--color-text-muted);">MIME Type:</span> <span> </span></div>`),mS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Details</div> <!> <!></div>`),hS=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 gS(e,t){rt(t,!1);let n=()=>P(io,`$currentRepo`,a),r=()=>P(u,`$handler`,a),i=()=>P(d,`$typeLabel`,a),[a,o]=Dt(),s=Z(t,`item`,8,null),c=Z(t,`open`,8,!1),l=Z(t,`onClose`,8,()=>{}),u=Yx(),d=u.typeLabel;function f(e){e.key===`Escape`&&l()()}B(()=>(W(c()),W(s()),n()),()=>{c()?u.setItem(s(),n()):u.reset()}),or(),Ua();var p=Ei(),m=R(p),h=e=>{var t=hS(),n=R(t),a=z(n,2),o=L(a),s=L(o),c=L(s),d=L(c,!0);j(c);var p=z(c,2),m=L(p,!0);j(p),j(s);var h=z(s,2);j(o);var g=z(o,2),_=L(g),v=e=>{var t=Xx(),n=z(L(t),2);Ib(L(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=z(_,2),b=e=>{var t=iS(),n=L(t),i=e=>{var t=eS();X(z(R(t),2),1,()=>(r(),U(()=>Object.entries(r().item.data.inputSchema.properties))),([e,t])=>e,(e,t)=>{var n=dn(()=>T(H(t),2));let i=()=>H(n)[0],a=()=>H(n)[1];var o=$x(),s=L(o),c=L(s),l=L(c,!0);j(c);var d=z(c,2),f=L(d),p=L(f,!0);j(f);var m=z(f,2),h=e=>{q(e,Zx())},g=dn(()=>(r(),i(),U(()=>r().item.data.inputSchema.required?.includes(i()))));Y(m,e=>{H(g)&&e(h)}),j(d),j(s);var _=z(s,2),v=e=>{var t=Qx(),n=L(t,!0);j(t),V(()=>J(n,(a(),U(()=>a().description)))),q(e,t)};Y(_,e=>{a(),U(()=>a().description)&&e(v)});var y=z(_,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=dn(()=>(r(),U(()=>r().item.data.inputSchema?.properties&&Object.keys(r().item.data.inputSchema.properties).length>0))),o=e=>{var t=tS();M(2),q(e,t)};Y(n,e=>{H(a)?e(i):e(o,-1)});var s=z(n,2),c=L(s),l=L(c,!0);j(c),j(s);var d=z(s,2),f=e=>{var t=nS(),n=z(L(t));j(t),V(()=>J(n,` ${(r(),U(()=>r().toolError))??``}`)),q(e,t)};Y(d,e=>{r(),U(()=>r().toolError)&&e(f)});var p=z(d,2),m=e=>{var t=rS(),n=L(t),i=z(L(n),2),a=L(i);{let e=fn(()=>(r(),U(()=>r().copied?`check`:`copy`))),t=fn(()=>(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=z(n,2),s=L(o);{let e=fn(()=>(r(),U(()=>"```json\n"+r().toolResult+"\n```")));Ib(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=z(y,2),S=e=>{var t=lS(),n=z(L(t),2);X(n,1,()=>(r(),U(()=>r().item.data.arguments)),e=>e.name,(e,t)=>{var n=sS(),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),s=e=>{q(e,aS())};Y(o,e=>{H(t),U(()=>H(t).required)&&e(s)}),j(r);var c=z(r,2),l=e=>{var n=oS(),r=L(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=z(n,2),a=e=>{q(e,cS())};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=z(x,2),w=e=>{var t=dS();X(z(L(t),2),3,()=>(r(),U(()=>r().item.data.messages)),(e,t)=>`${e.role}-${t}`,(e,t)=>{var n=uS(),r=L(n),i=L(r);j(r);var a=z(r,2),o=L(a);{let e=fn(()=>(H(t),U(()=>typeof H(t).content==`string`?H(t).content:H(t).content.text)));Ib(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=z(C,2),D=e=>{var t=mS(),n=z(L(t),2),i=e=>{var t=fS(),n=z(L(t),2),i=L(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=z(n,2),o=e=>{var t=pS(),n=z(L(t),2),i=L(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 _S(e){let t=bt({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n=bt(!1),r=bt(!1),i=bt(!1),a=bt(``),o=bt(!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=N(t);if(!n.title.trim()||!n.content.trim()){a.set(`Title and Content are required.`);return}r.set(!0),a.set(``);try{let t=N(io),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 Bo.updateMemory(s.id,r),i={...s,...r,updated_at:new Date().toISOString()};else{let e=await Bo.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 Ho(`Permanently delete this memory? This cannot be undone.`)){i.set(!0),a.set(``);try{await Bo.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 vS=K(`<div class="modal-mode-label svelte-intd6h"> </div> <input class="form-input modal-title-input svelte-intd6h" placeholder="Memory title…"/>`,1),yS=K(`<div class="modal-mode-label svelte-intd6h">View Memory</div> <div class="modal-title-text svelte-intd6h"> </div>`,1),bS=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),xS=K(`<div class="mem-error svelte-intd6h"><!> </div>`),SS=K(`<div class="meta-cell svelte-intd6h"><div class="meta-label svelte-intd6h"> </div> <div class="meta-value svelte-intd6h"> </div></div>`),CS=K(`<span class="tag-chip svelte-intd6h"> </span>`),wS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Tags</div> <div class="tags-row svelte-intd6h"></div></div>`),TS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Metadata</div> <pre class="json-pre svelte-intd6h"> </pre></div>`),ES=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),DS=K(`<option> </option>`),OS=K(`<span> </span>`),kS=K(`<span style="color:var(--color-text-muted);font-style:italic;">Nothing to preview yet…</span>`),AS=K(`<div class="markdown-body md-card svelte-intd6h" style="min-height:160px;"><!></div>`),jS=K(`<textarea id="mem_content" class="form-textarea content-textarea svelte-intd6h" rows="8" placeholder="Write memory content in Markdown…"></textarea>`),MS=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),NS=K(`<span class="btn-spinner svelte-intd6h"></span>`),PS=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>`),FS=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 IS(e,t){rt(t,!1);let n=()=>P(y,`$editing`,c),r=()=>P(v,`$form`,c),i=()=>P(x,`$deleting`,c),a=()=>P(S,`$error`,c),o=()=>P(C,`$previewMode`,c),s=()=>P(b,`$saving`,c),[c,l]=Dt(),u=F(),d=F(),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,()=>{}),_=_S({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()()}B(()=>W(f()),()=>{I(u,f()===null)}),B(()=>(H(u),n()),()=>{I(d,H(u)||n())}),B(()=>(W(p()),W(f())),()=>{p()&&_.reset(f())}),or(),Ua();var T=Ei();G(`keydown`,Mn,w);var E=R(T),D=e=>{var t=FS(),c=R(t),l=z(c,2),p=L(l),h=L(p);Q(L(h),{name:`brain`,size:14,strokeWidth:2.2}),j(h);var g=z(h,2),y=L(g),b=e=>{var t=vS(),n=R(t),i=L(n,!0);j(n);var a=z(n,2);Ta(a),V(()=>J(i,H(u)?`New Memory`:`Edit Memory`)),Fa(a,()=>r().title,e=>(kt(v,U(r).title=e,U(r)),Tr(()=>{}))),q(e,t)},x=e=>{var t=yS(),n=z(R(t),2),r=L(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=z(g,2),C=L(S),w=e=>{var t=bS(),n=R(t);Q(L(n),{name:`edit`,size:13,strokeWidth:2}),M(),j(n);var r=z(n,2),a=L(r);Q(a,{name:`trash`,size:13,strokeWidth:2});var o=z(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=z(C,2);Q(L(T),{name:`x`,size:14,strokeWidth:2.5}),j(T),j(S),j(p);var E=z(p,2),D=L(E),O=e=>{var t=xS(),n=L(t);Q(n,{name:`alert-circle`,size:13,strokeWidth:2});var r=z(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(D,e=>{a()&&e(O)});var k=z(D,2),ee=e=>{var t=ES(),n=R(t),r=L(n),i=L(r,!0);j(r),j(n);var a=z(n,2);X(a,5,()=>(W(f()),W(Il),U(()=>[{label:`Importance`,val:f().importance},{label:`Hit Count`,val:f().hit_count??0},{label:`Created`,val:Il(f().created_at)},{label:`Updated`,val:Il(f().updated_at)}])),e=>e.label,(e,t)=>{var n=SS(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(a,2),s=e=>{var t=wS(),n=z(L(t),2);X(n,5,()=>(W(f()),U(()=>f().tags)),e=>e,(e,t)=>{var n=CS(),r=L(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=z(o,2),l=z(L(c),2);Ib(L(l),{get content(){return W(f()),U(()=>f().content)}}),j(l),j(c);var u=z(c,2),d=e=>{var t=TS(),n=z(L(t),2),r=L(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(W(f()),U(()=>JSON.stringify(f().metadata,null,2)))]),q(e,t)},p=dn(()=>(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(Yy),W(f()),U(()=>Yy[f().type]||f().type)))}),q(e,t)},te=e=>{var t=MS(),n=R(t),i=L(n),a=z(L(i),2);X(a,5,()=>Jy,e=>e,(e,t)=>{var n=DS(),r=L(n,!0);j(n);var i={};V(()=>{J(r,(W(Yy),H(t),U(()=>Yy[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(a),j(i);var s=z(i,2),c=L(s),l=z(L(c)),u=L(l,!0);j(l),j(c);var d=z(c,2);Ta(d);var f=z(d,2);X(f,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=OS();let i;var a=L(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=z(n,2),m=z(L(p),2);Ta(m),j(p);var h=z(p,2),g=L(h),y=z(L(g),2);Ta(y),j(g);var b=z(g,2),x=z(L(b),2);Ta(x),j(b),j(h);var S=z(h,2),C=L(S),w=z(L(C),2),T=L(w);{let e=fn(()=>o()?`edit`:`eye`);Q(T,{get name(){return H(e)},size:12,strokeWidth:2})}var E=z(T);j(w),j(C);var D=z(C,2),O=e=>{var t=AS(),n=L(t),i=e=>{Ib(e,{get content(){return r(),U(()=>r().content)}})},a=dn(()=>(r(),U(()=>r().content.trim()))),o=e=>{q(e,kS())};Y(n,e=>{H(a)?e(i):e(o,-1)}),j(t),q(e,t)},k=e=>{var t=jS();Gn(t),Fa(t,()=>r().content,e=>(kt(v,U(r).content=e,U(r)),Tr(()=>{}))),q(e,t)};Y(D,e=>{o()?e(O):e(k,-1)}),j(S),V(()=>{da(l,`background:${(W(Zy),r(),U(()=>Zy[r().importance]))??``};color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(u,(r(),U(()=>r().importance))),da(d,`accent-color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(E,` ${o()?`Edit`:`Preview`}`)}),ma(a,()=>r().type,e=>(kt(v,U(r).type=e,U(r)),Tr(()=>{}))),Fa(d,()=>r().importance,e=>(kt(v,U(r).importance=e,U(r)),Tr(()=>{}))),Fa(m,()=>r().tags,e=>(kt(v,U(r).tags=e,U(r)),Tr(()=>{}))),Fa(y,()=>r().agent,e=>(kt(v,U(r).agent=e,U(r)),Tr(()=>{}))),Fa(x,()=>r().model,e=>(kt(v,U(r).model=e,U(r)),Tr(()=>{}))),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=z(E,2),re=e=>{var t=PS(),n=L(t),i=z(n,2),a=L(i),o=e=>{q(e,NS())},c=e=>{Q(e,{name:`check`,size:13,strokeWidth:2})};Y(a,e=>{s()?e(o):e(c,-1)});var l=z(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 LS=e=>e;function RS(e){let t=e-1;return t*t*t+1}function zS(e,{delay:t=0,duration:n=400,easing:r=LS}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function BS(e,{delay:t=0,duration:n=400,easing:r=RS,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)=>`
143
+ `).length>8}}}let c=xt(To,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=N(t);if(!i||a.isLoadingMore||a.hasReachedStart)return;let o=N(To),s=N(Eo),c=N(Do);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=N(To);r(e=>({...e,isLoadingMore:!1,hasReachedStart:n.length>=s}))}}return{subscribe:n,state:t,groupedActions:c,recentActions:To,recentActionsPage:Do,getConfig:a,getLabel:o,parseResponse:s,formatTime:l,renderMarkdown:Hl,toggleExpand:u,scrollToBottom:d,handleScroll:f}}var fb=K(`<h1> </h1>`),pb=K(`<h2> </h2>`),mb=K(`<h3> </h3>`),hb=K(`<h4> </h4>`),gb=K(`<h5> </h5>`),_b=K(`<h6> </h6>`),vb=K(`<strong> </strong>`),yb=K(`<em> </em>`),bb=K(`<code class="svelte-d5v60e"> </code>`),xb=K(`<a> </a>`),Sb=K(`<p class="svelte-d5v60e"></p>`),Cb=K(`<li></li>`),wb=K(`<ol></ol>`),Tb=K(`<li></li>`),Eb=K(`<ul></ul>`),Db=K(`<pre class="svelte-d5v60e"><code class="svelte-d5v60e"> </code></pre>`),Ob=K(`<th class="svelte-d5v60e"> </th>`),kb=K(`<td class="svelte-d5v60e"> </td>`),Ab=K(`<tr></tr>`),jb=K(`<table class="svelte-d5v60e"><thead><tr></tr></thead><tbody></tbody></table>`),Mb=K(`<br/>`),Nb=K(`<hr/>`),Pb=K(`<blockquote class="svelte-d5v60e"> </blockquote>`),Fb=K(`<div class="markdown-body svelte-d5v60e"></div>`);function Ib(e,t){rt(t,!1);let n=F(),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`}B(()=>W(r()),()=>{I(n,Cc.lexer(r()))}),or(),Ua();var d=Fb();X(d,7,()=>H(n),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),d=e=>{var n=Ei(),r=R(n),i=e=>{var n=fb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},o=e=>{var n=mb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},s=e=>{var n=hb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},c=e=>{var n=gb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=_b(),r=L(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=Sb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),c=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=vb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},u=dn(()=>(H(t),U(()=>a(H(t))))),d=e=>{var n=yb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},f=dn(()=>(H(t),U(()=>o(H(t))))),p=e=>{var n=bb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},m=dn(()=>(H(t),U(()=>s(H(t))))),h=e=>{var n=xb(),r=L(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=dn(()=>(H(t),U(()=>i(H(t))))),_=e=>{var n=Ti();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=Ei(),r=R(n),i=e=>{var n=wb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`ordered-${t}`,(e,t)=>{var n=Cb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();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=Eb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`unordered-${t}`,(e,t)=>{var n=Tb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();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=dn(()=>(H(t),U(()=>c(H(t))))),h=e=>{var n=Db(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).text)))),q(e,n)},g=dn(()=>(H(t),U(()=>l(H(t))))),_=e=>{var n=jb(),r=L(n),i=L(r);X(i,7,()=>(H(t),U(()=>H(t).header)),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Ob(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(i),j(r);var a=z(r);X(a,7,()=>(H(t),U(()=>H(t).rows)),(e,t)=>`row-${t}`,(e,t)=>{var n=Ab();X(n,7,()=>H(t),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=kb(),r=L(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=dn(()=>(H(t),U(()=>u(H(t))))),y=e=>{q(e,Mb())},b=e=>{q(e,Nb())},x=e=>{var n=Pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},S=e=>{var n=Ti();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 Lb=K(`<div class="load-more-spinner svelte-h6z84x"><!> <span>Loading older history...</span></div>`),Rb=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>`),zb=K(`<div class="action-sub svelte-h6z84x"> </div>`),Bb=K(`<button class="read-more-btn svelte-h6z84x"> </button>`),Vb=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>`),Hb=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),Ub=K(`<div class="date-header svelte-h6z84x"><span class="svelte-h6z84x"> </span></div> <!>`,1),Wb=K(`<div class="chat-container-viewport svelte-h6z84x"><div class="chat-container svelte-h6z84x"><!> <!></div></div>`);function Gb(e,t){rt(t,!1);let n=()=>P(d,`$recentActionsPage`,o),r=()=>P(f,`$handlerState`,o),i=()=>P(u,`$recentActions`,o),a=()=>P(l,`$groupedActions`,o),[o,s]=Dt(),c=db(Z(t,`onLoadPage`,8,async()=>{})()),{groupedActions:l,recentActions:u,recentActionsPage:d}=c,f=c,p=F(void 0),m;Qa(()=>{n()<=1&&!r().isLoadingMore&&i().length>0&&c.scrollToBottom(H(p),`instant`)}),Ja(()=>(Zr().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=Wb(),g=L(h),_=L(g),v=e=>{var t=Lb();Q(L(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=z(_,2),b=e=>{var t=Rb();Q(L(t),{name:`activity`,size:48,strokeWidth:1}),M(4),j(t),q(e,t)},x=e=>{var t=Ei();X(R(t),1,a,e=>e.date,(e,t)=>{var n=Ub(),i=R(n),a=L(i),o=L(a,!0);j(a),j(i),X(z(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=fn(()=>(H(t),U(()=>c.getLabel(H(t))))),i=fn(()=>(H(t),U(()=>c.getConfig(H(t).action))));var a=Hb(),o=R(a),s=L(o),l=L(s),u=L(l),d=L(u);Q(d,{get name(){return W(H(i)),U(()=>H(i).icon)},size:10,strokeWidth:2.5});var f=z(d,2),p=L(f,!0);j(f),j(u);var m=z(u,2),h=L(m,!0);j(m);var g=z(m,2),_=e=>{var t=zb(),r=L(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=z(g,2),y=L(v),b=L(y,!0);j(y);var x=z(y,2);Q(L(x),{name:`check`,size:12,strokeWidth:2}),j(x),j(v),j(l),M(2),j(s);var S=z(s,2);Q(L(S),{name:`bot`,size:14,strokeWidth:2}),j(S),j(o);var C=z(o,2),w=e=>{let n=fn(()=>(H(t),U(()=>c.parseResponse(H(t).response)))),i=fn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=Vb(),o=L(a);Q(L(o),{name:`cpu`,size:14,strokeWidth:2}),j(o);var s=z(o,2),l=z(L(s),2),u=z(L(l),2);Ib(L(u),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(u);var d=z(u,2),f=e=>{var n=Bb(),r=L(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=z(d,2),m=L(p),h=L(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=>I(p,e),()=>H(p)),q(e,h),it(),s()}var Kb={from_agent:``,to_agent:``,task_code:``,summary:``,context:``},qb={name:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``,parent_id:``};function Jb(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function Yb(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 Xb(e){return JSON.stringify(e,null,2)}function Zb(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:Xb(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:{...qb},standardError:``}))}function r(){t(e=>({...e,standardEditing:!0}))}function i(){let n=N({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:Xb(n.standard.metadata),content:n.standard.content,parent_id:n.standard.parent_id||``}}))}async function a(n,r,i){let a=N({subscribe:e}),o=a.standardForm,s=Yb(o.metadata);if(!(!o.name.trim()||!o.content.trim()||Jb(o.tags).length===0||!s)){t(e=>({...e,standardSaving:!0,standardError:``}));try{a.standard?(await Bo.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:Jb(o.stack),tags:Jb(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 Bo.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:Jb(o.stack),tags:Jb(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=N({subscribe:e});if(i.standard&&await Ho(`Delete coding standard "${i.standard.title}"?`)){t(e=>({...e,standardDeleting:!0}));try{await Bo.deleteStandard(i.standard.id),n(i.standard.id),r()}catch(e){Uo(`Error deleting standard: `+(e instanceof Error?e.message:String(e)))}finally{t(e=>({...e,standardDeleting:!1}))}}}async function s(e){await Kl(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 Qb(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:{...Kb},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:{...Kb},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=N({subscribe:e}).handoffForm;if(!(!a.from_agent.trim()||!a.summary.trim())){t(e=>({...e,handoffCreating:!0,handoffError:``}));try{await Bo.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=N({subscribe:e});if(!(!i.handoff||i.handoff.id===`__new__`)){t(e=>({...e,handoffUpdating:!0,handoffError:``}));try{await Bo.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 Kl(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 $b={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 ex(){let{subscribe:e,update:t}=bt({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:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}),n=Zb(e,t),r=Qb(e,t),i=xt({subscribe:e},e=>e.task?`task`:e.memory?`memory`:e.handoff?`handoff`:e.standard?`standard`:null);async function a(e){await Kl(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}async function o(e){await Kl(e)&&(t(e=>({...e,descCopied:!0})),setTimeout(()=>t(e=>({...e,descCopied:!1})),2e3))}async function s(n,r,i){let a=N({subscribe:e});if(a.task)try{let e=await Bo.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=N({subscribe:e}).editTitle.trim();r&&(await s(`title`,r,n),t(e=>({...e,editingTitle:!1})))}async function l(n){await s(`description`,N({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=N({subscribe:e});if(!(!r.task||!r.newComment.trim())){t(e=>({...e,postingComment:!0}));try{let e=await Bo.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=N({subscribe:e});if(!(!r.editingCommentId||!r.editCommentText.trim())){t(e=>({...e,savingComment:!0}));try{if(await Bo.updateTaskComment(r.editingCommentId,r.editCommentText.trim()),r.task){let e=await Bo.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=N({subscribe:e});if(await Ho(`Delete this comment?`))try{if(await Bo.deleteTaskComment(n),i.task){let e=await Bo.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=N({subscribe:e});if(r.task&&await Ho(`Are you sure you want to delete this task?`))try{await Bo.deleteTask(r.task.id),t(r.task.id),n()}catch(e){Uo(`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:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}))},handleTitleKeydown:(e,n)=>{e.key===`Enter`&&c(n),e.key===`Escape`&&t(e=>({...e,editingTitle:!1}))},...n,...r}}var tx=K(`<div class="meta-cell svelte-118hqhr"><div class="meta-label svelte-118hqhr"> </div> <div class="meta-value svelte-118hqhr"> </div></div>`),nx=K(`<span class="tag-chip svelte-118hqhr"> </span>`),rx=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>`),ix=K(`<div style="margin-top:16px;"><div class="section-label svelte-118hqhr">Metadata</div> <pre class="json-pre svelte-118hqhr"> </pre></div>`),ax=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 ox(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8);Ua();var o=Ei(),s=R(o),c=e=>{var t=ax(),r=R(t);X(r,5,()=>(n(),W(Il),U(()=>[{label:`Importance`,val:n().memory?.importance||0},{label:`Hit Count`,val:n().memory?.hit_count??0},{label:`Created`,val:Il(n().memory?.created_at)},{label:`Updated`,val:Il(n().memory?.updated_at)}])),e=>e.label,(e,t)=>{var n=tx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(r,2),o=e=>{var t=rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().memory.tags)),e=>e,(e,t)=>{var n=nx(),r=L(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=z(i,2),c=L(s),l=z(L(c),2),u=L(l);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(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=z(c,2),f=L(d);{let e=fn(()=>(n(),U(()=>n().memory?.content||``)));Ib(f,{get content(){return H(e)}})}j(d),j(s);var p=z(s,2),m=e=>{var t=ix(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().memory.metadata,null,2)))]),q(e,t)},h=dn(()=>(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 sx=K(`<button class="btn"> </button>`),cx=K(`<div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"></div>`),lx=K(`<button class="btn btn-ghost" style="color: #ef4444;"><svg style="margin-right:4px;" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Delete Task</button>`),ux=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct"> </div> <div class="meta-value svelte-1ewh6ct"> </div></div>`),dx=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>`),fx=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>`),px=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Coordination</div> <div class="meta-grid svelte-1ewh6ct"><!> <!></div></div>`),mx=K(`<button class="btn btn-ghost" style="padding:1px 6px;font-size:0.68rem;border-radius:4px;">Edit</button>`),hx=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),gx=K(`<div class="markdown-body md-card svelte-1ewh6ct"><!></div>`),_x=K(`<div style="color:var(--color-text-muted);font-size:0.82rem;font-style:italic;">No description yet. Click Edit to add one.</div>`),vx=K(`<span style="font-size:0.65rem;color:var(--color-text-muted);"> </span>`),yx=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),bx=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),xx=K(`<div class="markdown-body" style="font-size:0.78rem;color:var(--color-text);line-height:1.5;"><!></div>`),Sx=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>`),Cx=K(`<div style="display:flex;flex-direction:column;gap:8px;margin-bottom:12px;"></div>`),wx=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 Tx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onTaskUpdated`,8),c=Z(t,`onTaskDeleted`,8);Ua();var l=Ei(),u=R(l),d=e=>{var t=wx(),r=R(t),i=e=>{var t=cx();X(t,5,()=>(W($b),n(),U(()=>$b[n().task.status])),e=>e.next,(e,t)=>{var n=sx(),r=L(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($b),n(),U(()=>$b[n().task.status]?.length)&&e(i)});var l=z(r,2),u=z(L(l),2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=e=>{var t=lx();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=z(l,2);X(h,5,()=>(W(Vl),n(),W(Il),U(()=>[{label:`Priority`,val:Vl(n().task?.priority||1)},{label:`Phase`,val:n().task?.phase||`—`},{label:`Agent`,val:n().task?.agent||`—`},{label:`Updated`,val:Il(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=ux(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(h,2),_=e=>{var t=px(),r=z(L(t),2),i=L(r),a=e=>{var t=dx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(a),s=z(o),c=e=>{var t=Ti();V(e=>J(t,`• ${e??``}`),[()=>(W(Il),n(),U(()=>Il(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=z(i,2),s=e=>{var t=fx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(g,2),y=L(v),b=z(L(y),2),x=L(b);{let e=fn(()=>(n(),U(()=>n().descCopied?`check`:`copy`))),t=fn(()=>(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=z(b,2),C=e=>{var t=mx();G(`click`,t,()=>a().toggleEditDescription(!0)),q(e,t)};Y(S,e=>{n(),U(()=>!n().editingDescription)&&e(C)}),j(y);var w=z(y,2),T=e=>{var t=hx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=z(o,2);j(i),Fa(r,()=>n().editDescription,e=>kt(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=gx(),r=L(t);{let e=fn(()=>(n(),U(()=>n().task.description||``)));Ib(r,{get content(){return H(e)}})}j(t),q(e,t)},D=e=>{q(e,_x())};Y(w,e=>{n(),U(()=>n().editingDescription)?e(T):(n(),U(()=>n().task?.description)?e(E,1):e(D,-1))}),j(v);var O=z(v,2),k=L(O),ee=L(k);j(k);var te=z(k,2),ne=L(te);Gn(ne);var re=z(ne,2),ie=z(L(re),2),A=L(ie,!0);j(ie),j(re),j(te);var ae=z(te,2),oe=e=>{var t=Cx();X(t,5,()=>(n(),U(()=>n().task.comments)),e=>e.id,(e,t)=>{var r=Sx(),i=L(r),o=L(i),c=L(o),l=L(c,!0);j(c);var u=z(c,2),d=L(u,!0);j(u);var f=z(u,2),p=e=>{var n=vx(),r=L(n);j(n),V((e,t)=>J(r,`${e??``} → ${t??``}`),[()=>(W(Bl),H(t),U(()=>Bl(H(t).previous_status))),()=>(W(Bl),H(t),U(()=>Bl(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=z(o,2),h=L(m),g=L(h,!0);j(h);var _=z(h,2),v=e=>{var n=yx(),r=R(n),i=z(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=z(i,2),b=e=>{var t=bx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=L(o,!0);j(o);var l=z(o,2);j(i),V(()=>{o.disabled=(n(),U(()=>n().savingComment)),J(c,(n(),U(()=>n().savingComment?`Saving…`:`Save`)))}),Fa(r,()=>n().editCommentText,e=>kt(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=xx();Ib(L(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(Il),H(t),U(()=>Il(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(zl),n(),U(()=>zl(n().task?.status||`pending`))),()=>(W(Bl),n(),U(()=>Bl(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 Ex=K(`<div class="error-box"> </div>`),Dx=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),Ox=K(`<div class="error-box"> </div>`),kx=K(`<div class="meta-cell svelte-1arg7l8"><div class="meta-label svelte-1arg7l8"> </div> <div class="meta-value svelte-1arg7l8"> </div></div>`),Ax=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>`),jx=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 Mx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),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=Ei(),d=R(u),f=e=>{var t=Dx(),r=z(R(t),2),i=e=>{var t=Ex(),r=L(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=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m),j(c);var g=z(c,2),_=z(L(g),2);Gn(_),j(g);var v=z(g,2),y=z(L(v),2);Gn(y),ka(y,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(v);var b=z(v,2),x=L(b),S=L(x);Q(S,{name:`git-branch`,size:14,strokeWidth:2});var C=z(S);j(x);var w=z(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=>kt(a(),U(n).handoffForm.from_agent=e,U(n))),Fa(p,()=>n().handoffForm.to_agent,e=>kt(a(),U(n).handoffForm.to_agent=e,U(n))),Fa(h,()=>n().handoffForm.task_code,e=>kt(a(),U(n).handoffForm.task_code=e,U(n))),Fa(_,()=>n().handoffForm.summary,e=>kt(a(),U(n).handoffForm.summary=e,U(n))),Fa(y,()=>n().handoffForm.context,e=>kt(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=jx(),r=R(t),i=e=>{var t=Ox(),r=L(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=z(r,2),s=L(o,!0);j(o);var l=z(o,2),u=L(l),d=z(u,2),f=z(d,2);j(l);var p=z(l,2),m=z(L(p),2);let h;var g=L(m,!0);j(m),j(p);var _=z(p,2);X(_,5,()=>(n(),W(Il),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:Il(n().handoff.created_at)},{label:`Updated`,val:Il(n().handoff.updated_at)},{label:`Expires`,val:n().handoff.expires_at?Il(n().handoff.expires_at):`—`}])),e=>e.label,(e,t)=>{var n=kx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(_,2),y=e=>{var t=Ax(),r=L(t),i=z(L(r),2),o=L(i);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(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=z(r,2),c=L(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=dn(()=>(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 Nx=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>`),Px=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),Fx=K(`<span class="std-badge std-badge-parent svelte-1p5f4l"> </span>`),Ix=K(`<div class="meta-cell svelte-1p5f4l"><div class="meta-label svelte-1p5f4l"> </div> <div class="meta-value svelte-1p5f4l"> </div></div>`),Lx=K(`<span class="tag-chip svelte-1p5f4l"> </span>`),Rx=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>`),zx=K(`<div style="margin-top:16px;"><div class="section-label svelte-1p5f4l">Metadata</div> <pre class="json-pre svelte-1p5f4l"> </pre></div>`),Bx=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),Vx=K(`<!> <!>`,1);function Hx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),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=Vx(),d=R(u),f=e=>{var t=Nx(),r=L(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=z(d,2),m=e=>{var t=Px(),r=R(t),i=L(r,!0);j(r);var c=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m);var g=z(m,2),_=z(L(g),2);Ta(_),j(g);var v=z(g,2),y=z(L(v),2);Ta(y),j(v);var b=z(v,2),x=z(L(b),2);Ta(x),j(b);var S=z(b,2),C=z(L(S),2);Ta(C),j(S);var w=z(S,2),T=z(L(w),2);Ta(T),j(w),j(c);var E=z(c,2),D=z(L(E),2);Gn(D),j(E);var O=z(E,2),k=L(O),ee=L(k);Q(ee,{name:`check`,size:14,strokeWidth:2});var te=z(ee);j(k);var ne=z(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=>kt(a(),U(n).standardForm.name=e,U(n))),Fa(p,()=>n().standardForm.context,e=>kt(a(),U(n).standardForm.context=e,U(n))),Fa(h,()=>n().standardForm.version,e=>kt(a(),U(n).standardForm.version=e,U(n))),Fa(_,()=>n().standardForm.language,e=>kt(a(),U(n).standardForm.language=e,U(n))),Fa(y,()=>n().standardForm.stack,e=>kt(a(),U(n).standardForm.stack=e,U(n))),Fa(x,()=>n().standardForm.tags,e=>kt(a(),U(n).standardForm.tags=e,U(n))),Fa(C,()=>n().standardForm.parent_id,e=>kt(a(),U(n).standardForm.parent_id=e,U(n))),Fa(T,()=>n().standardForm.metadata,e=>kt(a(),U(n).standardForm.metadata=e,U(n))),Fa(D,()=>n().standardForm.content,e=>kt(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=Bx(),r=R(t),i=L(r),s=L(i),l=L(s,!0);j(s);var u=z(s,2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=L(p);j(p);var h=z(p,2);let g;var _=L(h,!0);j(h);var v=z(h,2),y=e=>{var t=Fx(),r=L(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=z(i,2),x=L(b);Q(L(x),{name:`edit`,size:13,strokeWidth:2}),M(),j(x);var S=z(x,2),C=L(S);Q(C,{name:`trash`,size:13,strokeWidth:2});var w=z(C);j(S),j(b),j(r);var T=z(r,2);X(T,5,()=>(n(),W(Il),U(()=>[{label:`Language`,val:n().standard.language||`any`},{label:`Stack`,val:n().standard.stack.length?n().standard.stack.join(`, `):`—`},{label:`Created`,val:Il(n().standard.created_at)},{label:`Updated`,val:Il(n().standard.updated_at)}])),e=>e.label,(e,t)=>{var n=Ix(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(T,2),D=e=>{var t=Rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().standard.tags)),e=>e,(e,t)=>{var n=Lx(),r=L(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=z(E,2),k=L(O),ee=z(L(k),2),te=L(ee);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(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=z(k,2),re=L(ne);{let e=fn(()=>(n(),U(()=>n().standard?.content||``)));Ib(re,{get content(){return H(e)}})}j(ne),j(O);var ie=z(O,2),A=e=>{var t=zx(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().standard.metadata,null,2)))]),q(e,t)},ae=dn(()=>(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 Ux=K(`<div><span style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-9n99wb"> </div></div>`),Wx=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>`),Gx=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>`),Kx=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>`),qx=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;"><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-9n99wb"><!> <!> <!> <!></div></div>`,1);function Jx(e,t){let n=qa(t,[`children`,`$$slots`,`$$events`,`$$legacy`]);rt(t,!1);let r=()=>P(x,`$mode`,a),i=()=>P(b,`$handler`,a),[a,o]=Dt(),s=Z(t,`memory`,8,null),c=Z(t,`task`,8,null),l=Z(t,`standard`,8,null),u=Z(t,`handoff`,8,null),d=Z(t,`open`,8,!1),f=Z(t,`onClose`,8,()=>{}),p=Z(t,`onTaskUpdated`,8,()=>{}),m=Z(t,`onTaskDeleted`,8,()=>{}),h=Z(t,`onStandardUpdated`,8,()=>{}),g=Z(t,`onStandardDeleted`,8,()=>{}),_=Z(t,`onHandoffUpdated`,8,()=>{}),v=Z(t,`onHandoffCreated`,8,()=>{}),y=Z(t,`repo`,8,null),b=ex(),{mode:x}=b;function S(e){e.key===`Escape`&&f()()}B(()=>(W(d()),W(s()),W(c()),W(n),W(l()),W(u()),W(y())),()=>{d()?s()?b.setMemory(s()):c()?b.setTask(c()):`standard`in n?b.setStandard(l()):u()?b.setHandoff(u()):`handoff`in n&&b.initNewHandoff(y()||``):b.reset()}),or(),Ua();var C=Ei(),w=R(C),T=e=>{var n=qx(),a=R(n),o=z(a,2),s=L(o),c=L(s),l=e=>{var t=Ux(),n=L(t),r=L(n,!0);j(n);var a=z(n,2),o=L(a,!0);j(a),j(t),V(()=>{la(n,1,`type-chip type-${(i(),U(()=>i().memory.type))??``}`,`svelte-9n99wb`),J(r,(i(),U(()=>i().memory.type))),J(o,(i(),U(()=>i().memory.title||`Untitled Memory`)))}),q(e,t)},u=e=>{var t=Kx(),n=L(t),r=L(n),a=L(r,!0);j(r);var o=z(r,2),s=L(o,!0);j(o),j(n);var c=z(n,2),l=e=>{var t=Wx(),n=L(t);Ta(n);var r=z(n,2),a=z(r,2);j(t),Fa(n,()=>i().editTitle,e=>kt(b,U(i).editTitle=e,U(i))),G(`keydown`,n,e=>b.handleTitleKeydown(e,p())),G(`click`,r,()=>b.saveTitle(p())),G(`click`,a,()=>b.toggleEditTitle(!1)),q(e,t)},u=e=>{var t=Gx(),n=L(t);M(),j(t),V(()=>J(n,`${(i(),U(()=>i().task?.title??``))??``} `)),G(`click`,t,()=>b.toggleEditTitle(!0)),q(e,t)};Y(c,e=>{i(),U(()=>i().editingTitle)?e(l):e(u,-1)}),j(t),V((e,t)=>{la(r,1,`status-chip ${e??``}`,`svelte-9n99wb`),J(a,t),J(s,(i(),U(()=>i().task.task_code||`NEW-TASK`)))},[()=>(W(zl),i(),U(()=>zl(i().task.status||`pending`))),()=>(W(Bl),i(),U(()=>Bl(i().task.status||``)))]),q(e,t)};Y(c,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)?e(l):(r(),i(),U(()=>r()===`task`&&i().task)&&e(u,1))});var d=z(c,2);j(s);var x=z(s,2),C=L(x),w=e=>{ox(e,{get handler(){return b}})};Y(C,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)&&e(w)});var T=z(C,2),E=e=>{Tx(e,{get handler(){return b},get onClose(){return f()},get onTaskUpdated(){return p()},get onTaskDeleted(){return m()}})};Y(T,e=>{r(),i(),U(()=>r()===`task`&&i().task)&&e(E)});var D=z(T,2),O=e=>{{let t=fn(()=>y()||``);Mx(e,{get handler(){return b},get onClose(){return f()},get onHandoffCreated(){return v()},get onHandoffUpdated(){return _()},get repo(){return H(t)}})}};Y(D,e=>{r()===`handoff`&&e(O)});var k=z(D,2),ee=e=>{Hx(e,{get handler(){return b},get onClose(){return f()},get onStandardUpdated(){return h()},get onStandardDeleted(){return g()},get repo(){return y()}})};Y(k,e=>{r()===`standard`&&e(ee)}),j(x),j(o),G(`click`,a,function(...e){f()?.apply(this,e)}),G(`keydown`,a,S),G(`click`,d,function(...e){f()?.apply(this,e)}),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`keydown`,o,S),q(e,n)};Y(w,e=>{d()&&r()&&e(T)}),q(e,C),it(),o()}function Yx(){let e=bt({item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}),{subscribe:t,update:n}=e,r=xt(e,e=>e.item?.type?e.item.type.charAt(0).toUpperCase()+e.item.type.slice(1):``);function i(t,r){N(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=N(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 Bo.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 Kl(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 Xx=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>`),Zx=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>`),Qx=K(`<div style="font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: 6px; line-height: 1.2;"> </div>`),$x=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>`),eS=K(`<div class="section-label svelte-17ad9lv">Playground (Input Parameters)</div> <!>`,1),tS=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),nS=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>`),rS=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>`),iS=K(`<div class="drawer-section svelte-17ad9lv"><!> <div style="margin-top: 8px;"><button class="btn btn-accent" style="width:100%"> </button></div> <!> <!></div>`),aS=K(`<span style="font-size: 0.7rem; color: #ef4444; font-weight: bold;">REQUIRED</span>`),oS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 6px;"> </div>`),sS=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>`),cS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); font-style: italic;">No arguments.</div>`),lS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Arguments</div> <!> <!></div>`),uS=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>`),dS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Template</div> <!></div>`),fS=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>`),pS=K(`<div style="font-size: 0.85rem;"><span style="color: var(--color-text-muted);">MIME Type:</span> <span> </span></div>`),mS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Details</div> <!> <!></div>`),hS=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 gS(e,t){rt(t,!1);let n=()=>P(io,`$currentRepo`,a),r=()=>P(u,`$handler`,a),i=()=>P(d,`$typeLabel`,a),[a,o]=Dt(),s=Z(t,`item`,8,null),c=Z(t,`open`,8,!1),l=Z(t,`onClose`,8,()=>{}),u=Yx(),d=u.typeLabel;function f(e){e.key===`Escape`&&l()()}B(()=>(W(c()),W(s()),n()),()=>{c()?u.setItem(s(),n()):u.reset()}),or(),Ua();var p=Ei(),m=R(p),h=e=>{var t=hS(),n=R(t),a=z(n,2),o=L(a),s=L(o),c=L(s),d=L(c,!0);j(c);var p=z(c,2),m=L(p,!0);j(p),j(s);var h=z(s,2);j(o);var g=z(o,2),_=L(g),v=e=>{var t=Xx(),n=z(L(t),2);Ib(L(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=z(_,2),b=e=>{var t=iS(),n=L(t),i=e=>{var t=eS();X(z(R(t),2),1,()=>(r(),U(()=>Object.entries(r().item.data.inputSchema.properties))),([e,t])=>e,(e,t)=>{var n=dn(()=>T(H(t),2));let i=()=>H(n)[0],a=()=>H(n)[1];var o=$x(),s=L(o),c=L(s),l=L(c,!0);j(c);var d=z(c,2),f=L(d),p=L(f,!0);j(f);var m=z(f,2),h=e=>{q(e,Zx())},g=dn(()=>(r(),i(),U(()=>r().item.data.inputSchema.required?.includes(i()))));Y(m,e=>{H(g)&&e(h)}),j(d),j(s);var _=z(s,2),v=e=>{var t=Qx(),n=L(t,!0);j(t),V(()=>J(n,(a(),U(()=>a().description)))),q(e,t)};Y(_,e=>{a(),U(()=>a().description)&&e(v)});var y=z(_,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=dn(()=>(r(),U(()=>r().item.data.inputSchema?.properties&&Object.keys(r().item.data.inputSchema.properties).length>0))),o=e=>{var t=tS();M(2),q(e,t)};Y(n,e=>{H(a)?e(i):e(o,-1)});var s=z(n,2),c=L(s),l=L(c,!0);j(c),j(s);var d=z(s,2),f=e=>{var t=nS(),n=z(L(t));j(t),V(()=>J(n,` ${(r(),U(()=>r().toolError))??``}`)),q(e,t)};Y(d,e=>{r(),U(()=>r().toolError)&&e(f)});var p=z(d,2),m=e=>{var t=rS(),n=L(t),i=z(L(n),2),a=L(i);{let e=fn(()=>(r(),U(()=>r().copied?`check`:`copy`))),t=fn(()=>(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=z(n,2),s=L(o);{let e=fn(()=>(r(),U(()=>"```json\n"+r().toolResult+"\n```")));Ib(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=z(y,2),S=e=>{var t=lS(),n=z(L(t),2);X(n,1,()=>(r(),U(()=>r().item.data.arguments)),e=>e.name,(e,t)=>{var n=sS(),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),s=e=>{q(e,aS())};Y(o,e=>{H(t),U(()=>H(t).required)&&e(s)}),j(r);var c=z(r,2),l=e=>{var n=oS(),r=L(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=z(n,2),a=e=>{q(e,cS())};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=z(x,2),w=e=>{var t=dS();X(z(L(t),2),3,()=>(r(),U(()=>r().item.data.messages)),(e,t)=>`${e.role}-${t}`,(e,t)=>{var n=uS(),r=L(n),i=L(r);j(r);var a=z(r,2),o=L(a);{let e=fn(()=>(H(t),U(()=>typeof H(t).content==`string`?H(t).content:H(t).content.text)));Ib(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=z(C,2),D=e=>{var t=mS(),n=z(L(t),2),i=e=>{var t=fS(),n=z(L(t),2),i=L(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=z(n,2),o=e=>{var t=pS(),n=z(L(t),2),i=L(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 _S(e){let t=bt({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n=bt(!1),r=bt(!1),i=bt(!1),a=bt(``),o=bt(!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=N(t);if(!n.title.trim()||!n.content.trim()){a.set(`Title and Content are required.`);return}r.set(!0),a.set(``);try{let t=N(io),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 Bo.updateMemory(s.id,r),i={...s,...r,updated_at:new Date().toISOString()};else{let e=await Bo.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 Ho(`Permanently delete this memory? This cannot be undone.`)){i.set(!0),a.set(``);try{await Bo.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 vS=K(`<div class="modal-mode-label svelte-intd6h"> </div> <input class="form-input modal-title-input svelte-intd6h" placeholder="Memory title…"/>`,1),yS=K(`<div class="modal-mode-label svelte-intd6h">View Memory</div> <div class="modal-title-text svelte-intd6h"> </div>`,1),bS=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),xS=K(`<div class="mem-error svelte-intd6h"><!> </div>`),SS=K(`<div class="meta-cell svelte-intd6h"><div class="meta-label svelte-intd6h"> </div> <div class="meta-value svelte-intd6h"> </div></div>`),CS=K(`<span class="tag-chip svelte-intd6h"> </span>`),wS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Tags</div> <div class="tags-row svelte-intd6h"></div></div>`),TS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Metadata</div> <pre class="json-pre svelte-intd6h"> </pre></div>`),ES=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),DS=K(`<option> </option>`),OS=K(`<span> </span>`),kS=K(`<span style="color:var(--color-text-muted);font-style:italic;">Nothing to preview yet…</span>`),AS=K(`<div class="markdown-body md-card svelte-intd6h" style="min-height:160px;"><!></div>`),jS=K(`<textarea id="mem_content" class="form-textarea content-textarea svelte-intd6h" rows="8" placeholder="Write memory content in Markdown…"></textarea>`),MS=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),NS=K(`<span class="btn-spinner svelte-intd6h"></span>`),PS=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>`),FS=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 IS(e,t){rt(t,!1);let n=()=>P(y,`$editing`,c),r=()=>P(v,`$form`,c),i=()=>P(x,`$deleting`,c),a=()=>P(S,`$error`,c),o=()=>P(C,`$previewMode`,c),s=()=>P(b,`$saving`,c),[c,l]=Dt(),u=F(),d=F(),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,()=>{}),_=_S({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()()}B(()=>W(f()),()=>{I(u,f()===null)}),B(()=>(H(u),n()),()=>{I(d,H(u)||n())}),B(()=>(W(p()),W(f())),()=>{p()&&_.reset(f())}),or(),Ua();var T=Ei();G(`keydown`,Mn,w);var E=R(T),D=e=>{var t=FS(),c=R(t),l=z(c,2),p=L(l),h=L(p);Q(L(h),{name:`brain`,size:14,strokeWidth:2.2}),j(h);var g=z(h,2),y=L(g),b=e=>{var t=vS(),n=R(t),i=L(n,!0);j(n);var a=z(n,2);Ta(a),V(()=>J(i,H(u)?`New Memory`:`Edit Memory`)),Fa(a,()=>r().title,e=>(kt(v,U(r).title=e,U(r)),Tr(()=>{}))),q(e,t)},x=e=>{var t=yS(),n=z(R(t),2),r=L(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=z(g,2),C=L(S),w=e=>{var t=bS(),n=R(t);Q(L(n),{name:`edit`,size:13,strokeWidth:2}),M(),j(n);var r=z(n,2),a=L(r);Q(a,{name:`trash`,size:13,strokeWidth:2});var o=z(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=z(C,2);Q(L(T),{name:`x`,size:14,strokeWidth:2.5}),j(T),j(S),j(p);var E=z(p,2),D=L(E),O=e=>{var t=xS(),n=L(t);Q(n,{name:`alert-circle`,size:13,strokeWidth:2});var r=z(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(D,e=>{a()&&e(O)});var k=z(D,2),ee=e=>{var t=ES(),n=R(t),r=L(n),i=L(r,!0);j(r),j(n);var a=z(n,2);X(a,5,()=>(W(f()),W(Il),U(()=>[{label:`Importance`,val:f().importance},{label:`Hit Count`,val:f().hit_count??0},{label:`Created`,val:Il(f().created_at)},{label:`Updated`,val:Il(f().updated_at)}])),e=>e.label,(e,t)=>{var n=SS(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(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=z(a,2),s=e=>{var t=wS(),n=z(L(t),2);X(n,5,()=>(W(f()),U(()=>f().tags)),e=>e,(e,t)=>{var n=CS(),r=L(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=z(o,2),l=z(L(c),2);Ib(L(l),{get content(){return W(f()),U(()=>f().content)}}),j(l),j(c);var u=z(c,2),d=e=>{var t=TS(),n=z(L(t),2),r=L(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(W(f()),U(()=>JSON.stringify(f().metadata,null,2)))]),q(e,t)},p=dn(()=>(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(Yy),W(f()),U(()=>Yy[f().type]||f().type)))}),q(e,t)},te=e=>{var t=MS(),n=R(t),i=L(n),a=z(L(i),2);X(a,5,()=>Jy,e=>e,(e,t)=>{var n=DS(),r=L(n,!0);j(n);var i={};V(()=>{J(r,(W(Yy),H(t),U(()=>Yy[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(a),j(i);var s=z(i,2),c=L(s),l=z(L(c)),u=L(l,!0);j(l),j(c);var d=z(c,2);Ta(d);var f=z(d,2);X(f,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=OS();let i;var a=L(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=z(n,2),m=z(L(p),2);Ta(m),j(p);var h=z(p,2),g=L(h),y=z(L(g),2);Ta(y),j(g);var b=z(g,2),x=z(L(b),2);Ta(x),j(b),j(h);var S=z(h,2),C=L(S),w=z(L(C),2),T=L(w);{let e=fn(()=>o()?`edit`:`eye`);Q(T,{get name(){return H(e)},size:12,strokeWidth:2})}var E=z(T);j(w),j(C);var D=z(C,2),O=e=>{var t=AS(),n=L(t),i=e=>{Ib(e,{get content(){return r(),U(()=>r().content)}})},a=dn(()=>(r(),U(()=>r().content.trim()))),o=e=>{q(e,kS())};Y(n,e=>{H(a)?e(i):e(o,-1)}),j(t),q(e,t)},k=e=>{var t=jS();Gn(t),Fa(t,()=>r().content,e=>(kt(v,U(r).content=e,U(r)),Tr(()=>{}))),q(e,t)};Y(D,e=>{o()?e(O):e(k,-1)}),j(S),V(()=>{da(l,`background:${(W(Zy),r(),U(()=>Zy[r().importance]))??``};color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(u,(r(),U(()=>r().importance))),da(d,`accent-color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(E,` ${o()?`Edit`:`Preview`}`)}),ma(a,()=>r().type,e=>(kt(v,U(r).type=e,U(r)),Tr(()=>{}))),Fa(d,()=>r().importance,e=>(kt(v,U(r).importance=e,U(r)),Tr(()=>{}))),Fa(m,()=>r().tags,e=>(kt(v,U(r).tags=e,U(r)),Tr(()=>{}))),Fa(y,()=>r().agent,e=>(kt(v,U(r).agent=e,U(r)),Tr(()=>{}))),Fa(x,()=>r().model,e=>(kt(v,U(r).model=e,U(r)),Tr(()=>{}))),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=z(E,2),re=e=>{var t=PS(),n=L(t),i=z(n,2),a=L(i),o=e=>{q(e,NS())},c=e=>{Q(e,{name:`check`,size:13,strokeWidth:2})};Y(a,e=>{s()?e(o):e(c,-1)});var l=z(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 LS=e=>e;function RS(e){let t=e-1;return t*t*t+1}function zS(e,{delay:t=0,duration:n=400,easing:r=LS}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function BS(e,{delay:t=0,duration:n=400,easing:r=RS,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
144
  transform: ${c} scale(${1-l*t});
145
145
  opacity: ${s-u*t}
146
146
  `}}var VS={memories:`title,type,content,importance
@@ -8,7 +8,7 @@
8
8
  <link rel="preconnect" href="https://fonts.googleapis.com">
9
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
10
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
11
- <script type="module" crossorigin src="/assets/index-rb4jB2IX.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-BA3gfiDm.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-wAYh22Zy.css">
13
13
  </head>
14
14
  <body>
@@ -16,7 +16,7 @@ import {
16
16
  handleTaskClaim,
17
17
  listResources,
18
18
  logger
19
- } from "../chunk-YACQ3MHF.js";
19
+ } from "../chunk-UWAZ66N5.js";
20
20
 
21
21
  // src/dashboard/server.ts
22
22
  import express from "express";
@@ -63,7 +63,7 @@ import {
63
63
  toContextSlug,
64
64
  updateSessionFromInitialize,
65
65
  updateSessionRoots
66
- } from "../chunk-YACQ3MHF.js";
66
+ } from "../chunk-UWAZ66N5.js";
67
67
 
68
68
  // src/mcp/server.ts
69
69
  import readline from "readline";
@@ -17,7 +17,7 @@ Entry=S0 → S1 → S2 Exit=stored
17
17
  Guard: S(N) req S(N-1)✅
18
18
 
19
19
  S0 | identify: mistakes (bugs/quirks), decisions (trade-offs/pivots), patterns (conventions) | task_id? | knowledge items | —
20
- S1 | store via memory-store (type=mistake|decision|pattern, include tech tags, concise) | S0✅ | durable memories | —
20
+ S1 | store via memory-store (type+title+content+importance+agent+model+scope, type=mistake|decision|pattern, include tech tags, concise) | S0✅ | durable memories | —
21
21
  S2 | verify: confirm stored count matches identified items, check type correctness | S1✅ | verified | —
22
22
 
23
23
  ## Directives
@@ -40,5 +40,7 @@ Entry=S0 → S1 → S2 Exit=stored
40
40
  Guard: store ONLY if durable + affects future behavior; use supersedes for overrides
41
41
 
42
42
  S0 | categorize: type + tech tags; NEVER store coordination state (claims, file ownership) as memory | is durable? | classified | —
43
- S1 | store: memory-store(decisions/patterns) or standard-store(normative rules) or handoff-create(transfer ctx) | S0✅ | stored | —
43
+ S1 | store: memory-store(type+title+content+importance+agent+model+scope) or standard-store(normative rules) or handoff-create(transfer ctx) | S0✅ | stored | —
44
44
  S2 | verify: confirm stored entity matches category, no forbidden types mixed in | S1✅ | verified | —
45
+
46
+ **⚠️ `memory-store` requires ALL 7 fields**: `type`, `title`, `content`, `importance`, `agent`, `model`, `scope` (with `scope.owner` + `scope.repo`). Or use `memories[]` array for bulk.
@@ -10,13 +10,13 @@ tags: [memory, indexing, policy, mcp]
10
10
 
11
11
  ## Memory Index Policy
12
12
 
13
- Entry=G0 → S0 → S1 → S2 → S3 Exit=stored|rejected
13
+ Entry=G0 → S0 → S1 → S2 → S3 Exit=stored|rejected
14
14
  Guard: S(N) req S(N-1)✅
15
15
 
16
16
  G0 | is durable + project-specific? NOT forbidden types? | content provided? | → S0 / reject | —
17
17
  S0 | classify type (code_fact|decision|mistake|pattern|task_archive) + tech tags | G0✅ | classified | —
18
18
  S1 | scope: is_global ONLY if cross-repo applicable | S0✅ | scoped | —
19
- S2 | store via memory-store | S1✅ | memory created | —
19
+ S2 | store via memory-store(type, title, content, importance, agent, model, scope.owner, scope.repo) | S1✅ | memory created | —
20
20
  S3 | verify: confirm type matches content, scope is correct, tags are accurate | S2✅ | verified | —
21
21
 
22
22
  ## Forbidden (G0→reject)
@@ -19,7 +19,7 @@ Guard: S(N) req S(N-1)✅; NO code/edit/delete — read+MCP tools ONLY
19
19
  S0 | sequential discovery: docs → code → UI (chrome-dev-tools) | — | findings | —
20
20
  S1 | pre-task analysis: memory-search (0.55 threshold) + standard-search + handoff-list + task-list dedup | S0✅ | context | —
21
21
  S2 | design tasks: atomic, attributes (task_code optional — auto-generated as TASK-xxx, phase, priority, agent, model), strict description format | S1✅ | task specs | —
22
- S3 | create via task-create + log decisions via memory-store + standard-store for coding rules | S2✅ | MCP tasks | —
22
+ S3 | create via task-create + log decisions via memory-store(type+title+content+importance+agent+model+scope) + standard-store for coding rules | S2✅ | MCP tasks | —
23
23
  S4 | verify: confirm task count matches gap count, description format compliance, parent/child linkage | S3✅ | verified | —
24
24
 
25
25
  ## FORBIDDEN: NON-EXECUTION
@@ -16,12 +16,12 @@ tags: [workflow, agile, scrum, ceremonies, facilitation]
16
16
 
17
17
  ## Scrum Master
18
18
 
19
- Entry=S0 → S1 → S2 → S3 Exit=done
19
+ Entry=S0 → S1 → S2 → S3 Exit=done
20
20
  Guard: S(N) req S(N-1)✅
21
21
 
22
22
  S0 | orient: identify ceremony type + load sprint context (task-list, backlog items, blockers) | objective provided? | context | —
23
23
  S1 | facilitate: run ceremony (sprint planning → decompose + estimate; daily standup → sync + unblock; retrospective → reflect + action items; backlog grooming → refine + re-prioritize; blocker resolution → diagnose + escalate) | S0✅ | ceremony output | —
24
- S2 | document: record action items, decisions, impediments via task-create + memory-store | S1✅ | artifacts | —
24
+ S2 | document: record action items, decisions, impediments via task-create + memory-store(type+title+content+importance+agent+model+scope) | S1✅ | artifacts | —
25
25
  S3 | verify: confirm all action items captured, blockers documented with owners, ceremony objectives met | S2✅ | verified | —
26
26
 
27
27
  ## Ceremony Guides
@@ -24,7 +24,7 @@ G0.5 | skill readiness: check task.metadata.required_skills — if present, load
24
24
  S3 | research: memory-search + standard-search(MANDATORY per task — even sub-agents/decomposed) + hydrate relevant | G0.5✅ | context | —
25
25
  S4 | execute: trace logic+callsites+docs — DO NOT infer from file presence; decompose if too broad | S3✅ | changes | —
26
26
  S5 | validate: tests + linters + type-check + browser(if UI — MANDATORY: console errors, overflow, responsive, core interactions) + logic audit all paths | S4✅ | verification | —
27
- S6 | finalize: task-update→completed(evidence: inspected files, verified logic, test results) + memory-store(insights) + standard-store(rules) + handoff(if work remains — with identity) + retrospective + report | S5✅ | completion | —
27
+ S6 | finalize: task-update→completed(evidence) + memory-store(type+title+content+importance+agent+model+scope, insights) + standard-store(rules) + handoff(if work remains) + retrospective + report | S5✅ | completion | —
28
28
  S7 | commit: `type(scope): msg — {{task_title}} {{summary_task}} {{keyword}} #N` (fix|closes|resolve, extract N from metadata/URL) | S6✅ | git commit | —
29
29
  S8 | repeat → S0 | queue not empty | next task | —
30
30
  S9 | verify: confirm commit format compliance, task updated completed, no stale handoffs remain | S8✅ | verified | —
@@ -10,19 +10,19 @@ tags: [workflow, tooling, memory, policy, mcp]
10
10
 
11
11
  ## Memory Flow
12
12
 
13
- Entry=S0 → S1 → S2 → S3 → S4 → S5 Exit=maintained
13
+ Entry=S0 → S1 → S2 → S3 → S4 → S5 Exit=maintained
14
14
  Guard: S(N) req S(N-1)✅
15
15
 
16
16
  S0 | navigate: memory-recap (overview) / memory-search (targeted) | — | pointer rows | —
17
17
  S1 | hydrate: memory-detail (id or code) before relying on content | S0✅ | full entry | —
18
- S2 | store: memory-store (durable only, tech tags, human title, aux in metadata) | — | stored | —
18
+ S2 | store: memory-store(type+title+content+importance+agent+model+scope, durable only, tech tags, human title, aux in metadata) | — | stored | —
19
19
  S3 | maintain: memory-update / supersedes for changes; avoid duplicates | — | updated | —
20
20
  S4 | acknowledge: memory-acknowledge (used|irrelevant|contradictory) after code gen | code generated? | feedback | —
21
21
  S5 | verify: confirm acknowledge called after code gen, no duplicate memories created | S4✅ | verified | —
22
22
 
23
23
  ## Standards Flow
24
24
 
25
- Entry=S0 → S1 → S2 → S3 Exit=done
25
+ Entry=S0 → S1 → S2 → S3 Exit=done
26
26
  Guard: S(N) req S(N-1)✅
27
27
 
28
28
  S0 | search: standard-search mandatory before code edit/test/refactor/migrate (query, lang, stack, repo) | — | applicable | —
@@ -32,7 +32,7 @@ S3 | verify: confirm standard-search was called, scope and tags correct | S2✅
32
32
 
33
33
  ## Handoff & Claim Flow
34
34
 
35
- Entry=S0 → S1 → S2 → S3 → S4 Exit=resolved
35
+ Entry=S0 → S1 → S2 → S3 → S4 Exit=resolved
36
36
  Guard: S(N) req S(N-1)✅
37
37
 
38
38
  S0 | check: handoff-list (status, from/to agent) + claim-list | — | active state | —
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vheins/local-memory-mcp",
3
- "version": "0.18.10",
3
+ "version": "0.18.12",
4
4
  "description": "MCP Local Memory Service for coding copilot agents",
5
5
  "mcpName": "io.github.vheins/local-memory-mcp",
6
6
  "type": "module",