@vheins/local-memory-mcp 0.10.5 → 0.10.6
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.
|
@@ -81,8 +81,8 @@ function loadServerInstructions() {
|
|
|
81
81
|
// src/mcp/capabilities.ts
|
|
82
82
|
var __dirname2 = path2.dirname(fileURLToPath2(import.meta.url));
|
|
83
83
|
var pkgVersion = "0.1.0";
|
|
84
|
-
if ("0.10.
|
|
85
|
-
pkgVersion = "0.10.
|
|
84
|
+
if ("0.10.6") {
|
|
85
|
+
pkgVersion = "0.10.6";
|
|
86
86
|
} else {
|
|
87
87
|
let searchDir = __dirname2;
|
|
88
88
|
for (let i = 0; i < 5; i++) {
|
|
@@ -83,5 +83,5 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
83
83
|
opacity: ${s-u*t}
|
|
84
84
|
`}}var Fx={memories:`title,type,content,importance
|
|
85
85
|
Example Memory,fact,This is an example memory content,3`,tasks:`task_code,title,phase,description,status,priority
|
|
86
|
-
TSK-001,Example Task,Phase 1,Example task description,backlog,3`};function Ix(e){let t=M(null),n=M([]),r=M([]),i=M(``),a=M(``),o=M(!1),s=M(!1);function c(){t.set(null),n.set([]),r.set([]),i.set(``),a.set(``),o.set(!1)}function l(){s.set(!1),c(),e.onClose&&e.onClose()}function u(){s.set(!0)}function d(e){let t=e.split(/\r?\n/).filter(e=>e.trim()!==``);if(t.length===0)return{headers:[],rows:[]};let n=e=>{let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`"`&&e[i+1]===`"`?(n+=`"`,i++):a===`"`?r=!r:a===`,`&&!r?(t.push(n.trim()),n=``):n+=a}return t.push(n.trim()),t},r=n(t[0]).filter(e=>e!==``);return{headers:r,rows:t.slice(1).map(n).map(e=>{let t={};return r.forEach((n,r)=>{let i=n.toLowerCase().replace(/[^a-z0-9_]/g,`_`);t[i]=e[r]}),t})}}function f(e){if(a.set(``),!e.name.endsWith(`.csv`)){a.set(`Please select a valid .csv file.`);return}t.set(e),i.set(e.name);let o=new FileReader;o.onload=e=>{let t=e.target?.result,i=d(t);r.set(i.headers),n.set(i.rows),i.rows.length===0&&a.set(`CSV file appears to be empty or missing headers.`)},o.readAsText(e)}function p(e){let t=e.target.files?.[0];t&&f(t)}function m(e){e.preventDefault();let t=e.dataTransfer?.files?.[0];t&&f(t)}function h(){let t=Fx[e.importTarget],n=new Blob([t],{type:`text/csv;charset=utf-8;`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.setAttribute(`href`,r),i.setAttribute(`download`,`example_${e.importTarget}.csv`),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function g(){let t=[];if(n.subscribe(e=>t=e)(),a.set(``),t.length===0){a.set(`No data to import.`);return}o.set(!0);try{let n=0;n=e.importTarget===`memories`?(await Z.bulkImportMemories(e.repo,t)).count:(await Z.bulkImportTasks(e.repo,t)).count,alert(`Imported ${n} ${e.importTarget} successfully.`),e.onSuccess&&e.onSuccess(),l()}catch(e){a.set(e instanceof Error?e.message:`Import failed`)}finally{o.set(!1)}}return{file:t,csvData:n,headers:r,fileName:i,errorMsg:a,isSubmitting:o,isOpen:s,open:u,close:l,handleFileSelect:p,handleFileDrop:m,downloadExample:h,handleImport:g,setFile:e=>t.set(e),setCsvData:e=>n.set(e)}}var Lx=K(`<div class="drop-zone svelte-lenod"><div class="drop-zone-content svelte-lenod"><div style="color: var(--color-text-muted)" class="svelte-lenod"><!></div> <p class="svelte-lenod">Drag and drop your <strong class="svelte-lenod">.csv</strong> file here</p> <span class="text-xs text-slate-500 mb-4 svelte-lenod">or click to browse from your computer</span> <label class="btn btn-primary btn-md cursor-pointer svelte-lenod">Select CSV File <input type="file" accept=".csv" class="hidden svelte-lenod"/></label></div></div> <div class="mt-6 flex flex-col items-center svelte-lenod"><p class="text-[0.8rem] text-slate-400 mb-2 svelte-lenod">Need a starting point?</p> <button class="btn btn-ghost btn-sm svelte-lenod"><!> </button></div>`,1),Rx=K(`<th class="svelte-lenod"> </th>`),zx=K(`<td class="svelte-lenod"> </td>`),Bx=K(`<tr class="svelte-lenod"></tr>`),Vx=K(`<div class="file-info flex items-center justify-between p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg mb-4 svelte-lenod"><div class="flex items-center gap-3 svelte-lenod"><div style="color: #0ea5e9; display: flex;" class="svelte-lenod"><!></div> <div class="svelte-lenod"><div class="text-sm font-semibold svelte-lenod"> </div> <div class="text-[0.7rem] text-slate-400 svelte-lenod"> </div></div></div> <button class="btn btn-ghost btn-sm text-red-500 svelte-lenod">Change File</button></div> <div class="preview-container svelte-lenod"><div class="preview-header svelte-lenod"><span class="svelte-lenod">Data Preview (First 5 rows)</span></div> <div class="table-wrapper svelte-lenod"><table class="svelte-lenod"><thead class="svelte-lenod"><tr class="svelte-lenod"></tr></thead><tbody class="svelte-lenod"></tbody></table></div></div>`,1),Hx=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),Ux=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),Wx=K(`<!> Start Import`,1),Gx=K(`<div class="modal-backdrop svelte-lenod"><div class="modal-content svelte-lenod"><div class="modal-header svelte-lenod"><div class="flex items-center gap-2 svelte-lenod"><div class="header-icon svelte-lenod" style="color: #0ea5e9"><!></div> <h3 class="svelte-lenod"> </h3></div> <button class="btn btn-ghost btn-sm close-btn svelte-lenod"><!></button></div> <div class="modal-body svelte-lenod"><div class="p-6 svelte-lenod"><!> <!></div></div> <div class="modal-footer svelte-lenod"><button class="btn btn-ghost svelte-lenod">Cancel</button> <button class="btn btn-primary svelte-lenod"><!></button></div></div></div>`);function Kx(e,t){We(t,!1);let n=()=>P(H(d),`$file`,l),r=()=>P(H(f),`$csvData`,l),i=()=>P(H(p),`$headers`,l),a=()=>P(H(m),`$fileName`,l),o=()=>P(H(h),`$errorMsg`,l),s=()=>P(H(g),`$isSubmitting`,l),c=()=>P(H(_),`$composableIsOpen`,l),[l,u]=pt(),d=F(),f=F(),p=F(),m=F(),h=F(),g=F(),_=F(),v=F(),y=F(),b=F(),x=F(),S=F(),C=F(),w=F(),T=F(),E=F(),D=F(),O=F(),ee=F(),k=F(),te=ka(t,`repo`,8),ne=ka(t,`importTarget`,8,`memories`),re=ka(t,`isOpen`,12,!1),ie=Na(),ae=F();function oe(e){I(ae,Ix({repo:te(),importTarget:e,onSuccess:()=>ie(`success`),onClose:()=>{re(!1),ie(`close`)}}))}oe(ne()),B(()=>W(ne()),()=>{ne()&&oe(ne())}),B(()=>(H(ae),W(re())),()=>{H(ae).isOpen.set(re())}),B(()=>H(ae),()=>{dt(I(d,H(ae).file),`$file`,l)}),B(()=>H(ae),()=>{dt(I(f,H(ae).csvData),`$csvData`,l)}),B(()=>H(ae),()=>{dt(I(p,H(ae).headers),`$headers`,l)}),B(()=>H(ae),()=>{dt(I(m,H(ae).fileName),`$fileName`,l)}),B(()=>H(ae),()=>{dt(I(h,H(ae).errorMsg),`$errorMsg`,l)}),B(()=>H(ae),()=>{dt(I(g,H(ae).isSubmitting),`$isSubmitting`,l)}),B(()=>H(ae),()=>{dt(I(_,H(ae).isOpen),`$composableIsOpen`,l)}),B(()=>H(ae),()=>{I(v,H(ae).close)}),B(()=>H(ae),()=>{I(y,H(ae).handleFileSelect)}),B(()=>H(ae),()=>{I(b,H(ae).handleFileDrop)}),B(()=>H(ae),()=>{I(x,H(ae).downloadExample)}),B(()=>H(ae),()=>{I(S,H(ae).handleImport)}),B(()=>H(ae),()=>{I(C,H(ae).setFile)}),B(()=>H(ae),()=>{I(w,H(ae).setCsvData)}),B(()=>n(),()=>{I(T,n())}),B(()=>r(),()=>{I(E,r())}),B(()=>i(),()=>{I(D,i())}),B(()=>a(),()=>{I(O,a())}),B(()=>o(),()=>{I(ee,o())}),B(()=>s(),()=>{I(k,s())}),Un(),Ea();var se=li(),ce=R(se),le=e=>{var n=Gx(),r=L(n),i=L(r),a=L(i),o=L(a);Q(L(o),{name:`upload-cloud`,size:18}),j(o);var s=z(o,2),c=L(s);j(s),j(a);var l=z(a,2);Q(L(l),{name:`x`,size:18,strokeWidth:2}),j(l),j(i);var u=z(i,2),d=L(u),f=L(d),p=e=>{var n=Lx(),r=R(n),i=L(r),a=L(i);Q(L(a),{name:`file-up`,size:48,strokeWidth:1}),j(a);var o=z(a,6),s=z(L(o));j(o),j(i),j(r);var c=z(r,2),l=z(L(c),2),u=L(l);Q(u,{name:`download`,size:14,className:`mr-2`});var d=z(u);j(l),j(c),V(()=>J(d,` Download Example ${ne()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,Ta(function(e){Oa.call(this,t,e)})),G(`drop`,r,function(...e){H(b)?.apply(this,e)}),G(`click`,l,function(...e){H(x)?.apply(this,e)}),q(e,n)},m=e=>{var t=Vx(),n=R(t),r=L(n),i=L(r);Q(L(i),{name:`file-type-2`,size:24}),j(i);var a=z(i,2),o=L(a),s=L(o,!0);j(o);var c=z(o,2),l=L(c);j(c),j(a),j(r);var u=z(r,2);j(n);var d=z(n,2),f=z(L(d),2),p=L(f),m=L(p),h=L(m);X(h,5,()=>H(D),e=>e,(e,t)=>{var n=Rx(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(h),j(m);var g=z(m);X(g,7,()=>(H(E),U(()=>H(E).slice(0,5))),(e,t)=>`${t}-${JSON.stringify(e)}`,(e,t)=>{var n=Bx();X(n,5,()=>H(D),e=>e,(e,n)=>{var r=zx(),i=L(r,!0);j(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),j(n),q(e,n)}),j(g),j(p),j(f),j(d),V(()=>{J(s,H(O)),J(l,`${(H(E),U(()=>H(E).length))??``} rows found`)}),G(`click`,u,()=>{H(C)(null),H(w)([])}),q(e,t)};Y(f,e=>{H(T)?e(m,-1):e(p)});var h=z(f,2),g=e=>{var t=Hx(),n=L(t);Q(n,{name:`alert-circle`,size:16});var r=z(n,2),i=L(r,!0);j(r),j(t),V(()=>J(i,H(ee))),q(e,t)};Y(h,e=>{H(ee)&&e(g)}),j(d),j(u);var _=z(u,2),te=L(_),re=z(te,2),ie=L(re),ae=e=>{var t=Ux();Ne(),q(e,t)},oe=e=>{var t=Wx();Q(R(t),{name:`check`,size:16,className:`mr-2`}),Ne(),q(e,t)};Y(ie,e=>{H(k)?e(ae):e(oe,-1)}),j(re),j(_),j(r),j(n),V(()=>{J(c,`Bulk Import ${ne()===`memories`?`Memories`:`Tasks`}`),te.disabled=H(k),re.disabled=(H(k),H(E),U(()=>H(k)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,te,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(S)?.apply(this,e)}),Pi(3,r,()=>Px,()=>({duration:200,start:.95})),G(`click`,r,wa(function(e){Oa.call(this,t,e)})),Pi(3,n,()=>Nx,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(ce,e=>{c()&&e(le)}),q(e,se),Ge(),u()}var qx=K(`<option> </option>`),Jx=K(`<option> </option>`),Yx=K(`<div class="modal-backdrop svelte-l0ytfo" role="button" tabindex="-1" aria-label="Close modal"></div> <div class="modal-panel animate-fade-in svelte-l0ytfo" role="dialog" aria-modal="true" aria-labelledby="modal-title" tabindex="-1"><div class="modal-header svelte-l0ytfo"><div class="modal-header-icon svelte-l0ytfo"><!></div> <div><div id="modal-title" class="modal-title svelte-l0ytfo">New Task</div> <div class="modal-subtitle svelte-l0ytfo">Add a task to the current repository</div></div> <button class="modal-close-btn svelte-l0ytfo" aria-label="Close"><!></button></div> <div class="modal-body svelte-l0ytfo"><div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_code">Task Code <span class="required svelte-l0ytfo">*</span></label> <input id="new_task_code" class="form-input" placeholder="TASK-001"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_phase">Phase</label> <input id="new_task_phase" class="form-input" placeholder="Implementation"/></div></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_title">Title <span class="required svelte-l0ytfo">*</span> <span class="field-hint svelte-l0ytfo"> </span></label> <input id="new_task_title" class="form-input" placeholder="Short, descriptive task title" maxlength="80"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_description">Description</label> <textarea id="new_task_description" class="form-textarea modal-textarea svelte-l0ytfo" placeholder="What needs to be done? Include context, acceptance criteria, etc." rows="4"></textarea></div> <div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_status">Status</label> <select id="new_task_status" class="form-select"></select></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_priority">Priority</label> <select id="new_task_priority" class="form-select"></select></div></div></div> <div class="modal-footer svelte-l0ytfo"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-l0ytfo"><!> Create Task</button></div></div>`,1);function Xx(e,t){We(t,!1);let n=ka(t,`open`,8,!1),r=ka(t,`newTask`,12),i=ka(t,`onClose`,8,()=>{}),a=ka(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ea();var s=li();G(`keydown`,hn,o);var c=R(s),l=e=>{var t=Yx(),n=R(t),o=z(n,2),s=L(o),c=L(s);Q(L(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),j(c);var l=z(c,4);Q(L(l),{name:`x`,size:14,strokeWidth:2.5}),j(l),j(s);var u=z(s,2),d=L(u),f=L(d),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m),j(d);var g=z(d,2),_=L(g),v=z(L(_),3),y=L(v);j(v),j(_);var b=z(_,2);ca(b),j(g);var x=z(g,2),S=z(L(x),2);On(S),j(x);var C=z(x,2),w=L(C),T=z(L(w),2);X(T,4,()=>[`backlog`,`pending`,`in_progress`],e=>e,(e,t)=>{var n=qx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(dl),U(()=>dl(t)))]),q(e,n)}),j(T),j(w);var E=z(w,2),D=z(L(E),2);X(D,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=Jx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(fl),U(()=>fl(t)))]),q(e,n)}),j(D),j(E),j(C),j(u);var O=z(u,2),ee=L(O),k=z(ee,2);Q(L(k),{name:`plus`,size:13,strokeWidth:2.5}),Ne(),j(k),j(O),j(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),k.disabled=(W(r()),U(()=>!r().task_code||!r().title))}),G(`click`,n,function(...e){i()?.apply(this,e)}),G(`keydown`,n,e=>e.key===`Escape`&&i()()),G(`click`,l,function(...e){i()?.apply(this,e)}),va(p,()=>r().task_code,e=>(r(r().task_code=e,!0),cr(()=>{}))),va(h,()=>r().phase,e=>(r(r().phase=e,!0),cr(()=>{}))),va(b,()=>r().title,e=>(r(r().title=e,!0),cr(()=>{}))),va(S,()=>r().description,e=>(r(r().description=e,!0),cr(()=>{}))),Zi(T,()=>r().status,e=>(r(r().status=e,!0),cr(()=>{}))),Zi(D,()=>r().priority,e=>(r(r().priority=e,!0),cr(()=>{}))),G(`click`,ee,function(...e){i()?.apply(this,e)}),G(`click`,k,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),Ge()}var Zx=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),Qx=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),$x=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),eS=K(`<div style="padding:40px;text-align:center;"><div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;"></div></div>`),tS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),nS=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),rS=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),iS=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),aS=K(`<div class="ref-card ref-card-tool animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-tool svelte-w0wd5z"><!> Tool</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),oS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Tools</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),sS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),cS=K(`<div class="ref-card ref-card-prompt animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-prompt svelte-w0wd5z"><!> Prompt</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!></div>`),lS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Prompts</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),uS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),dS=K(`<div class="ref-params svelte-w0wd5z"><code class="ref-param-tag svelte-w0wd5z" style="background:var(--color-bg);border:1px solid var(--color-border);"> </code></div>`),fS=K(`<div class="ref-card ref-card-resource animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-resource svelte-w0wd5z"><!> Resource</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),pS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Resources</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),mS=K(`<div style="text-align:center;padding:48px 16px;color:var(--color-text-muted);"><!> <div style="font-size:0.82rem;margin-top:10px;"> </div></div>`),hS=K(`<!> <!> <!> <!>`,1),gS=K(`<div class="animate-fade-in"><div class="glass card" style="margin-bottom:16px;padding:14px 18px;"><div class="ref-header svelte-w0wd5z"><div class="flex items-center gap-2"><!> <span style="font-size:0.9rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em;">MCP Reference</span> <!></div> <div class="ref-search-wrap svelte-w0wd5z"><span class="ref-search-icon svelte-w0wd5z"><!></span> <input class="form-input ref-search-input svelte-w0wd5z" type="text" placeholder="Search tools & prompts…"/> <!></div></div></div> <div class="ref-body svelte-w0wd5z"><div class="glass ref-sidebar svelte-w0wd5z"><div class="ref-sidebar-label svelte-w0wd5z">Category</div> <!></div> <div class="ref-main svelte-w0wd5z"><!></div></div></div>`);function _S(e,t){We(t,!1);let n=()=>P(p(),`$appState`,o),r=()=>P(m(),`$filteredTools`,o),i=()=>P(h(),`$filteredPrompts`,o),a=()=>P(_(),`$filteredResources`,o),[o,s]=pt(),c=F(),l=F(),u=F(),d=F(),f=ka(t,`handler`,8),p=ka(t,`appState`,8),m=ka(t,`filteredTools`,8),h=ka(t,`filteredPrompts`,8),_=ka(t,`filteredResources`,8);function v(e){return[{id:`all`,icon:`layers`,label:`All`,count:(e.capabilities?.tools?.length||0)+(e.capabilities?.prompts?.length||0)+(e.capabilities?.resources?.length||0)},{id:`tools`,icon:`tool`,label:`Tools`,count:e.capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:e.capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:e.capabilities?.resources?.length||0}]}function y(e,t,n){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f().openReferenceDrawer(t,n))}B(()=>n(),()=>{I(c,n())}),B(()=>r(),()=>{I(l,r())}),B(()=>i(),()=>{I(u,i())}),B(()=>a(),()=>{I(d,a())}),Un(),Ea();var b=gS(),x=L(b),S=L(x),C=L(S),w=L(C);Q(w,{name:`book-open`,size:15,strokeWidth:1.75});var T=z(w,4),E=e=>{var t=Zx(),n=L(t);j(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(T,e=>{H(c),U(()=>H(c).capabilities)&&e(E)}),j(C);var D=z(C,2),O=L(D);Q(L(O),{name:`search`,size:12,strokeWidth:2}),j(O);var ee=z(O,2);ca(ee);var k=z(ee,2),te=e=>{var t=Qx();Q(L(t),{name:`x`,size:11,strokeWidth:2.5}),j(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(k,e=>{H(c),U(()=>H(c).referenceSearch)&&e(te)}),j(D),j(S),j(x);var ne=z(x,2),re=L(ne);X(z(L(re),2),1,()=>(H(c),U(()=>v(H(c)))),e=>e.id,(e,t)=>{var n=$x();let r;var i=L(n);Q(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=z(i,2),o=L(a,!0);j(a);var s=z(a,2),l=L(s,!0);j(s),j(n),V(()=>{r=Ki(n,1,`ref-cat-btn svelte-w0wd5z`,null,r,{active:H(c).referenceFilter===H(t).id}),J(o,(H(t),U(()=>H(t).label))),J(l,(H(t),U(()=>H(t).count)))}),G(`click`,n,()=>f().setReferenceFilter(H(t).id)),q(e,n)}),j(re);var ie=z(re,2),ae=L(ie),oe=e=>{q(e,eS())},se=e=>{var t=hS(),n=R(t),r=e=>{var t=oS(),n=R(t),r=L(n);Q(r,{name:`tool`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(l),e=>e.data.name,(e,t)=>{var n=aS(),r=L(n),i=L(r);Q(L(i),{name:`tool`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=tS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=iS(),r=L(n);X(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),([e])=>e,(e,t)=>{var n=Jt(()=>g(H(t),1));let r=()=>H(n)[0];var i=nS(),a=L(i,!0);j(i),V(()=>J(a,r())),q(e,i)});var i=z(r,2),a=e=>{var n=rS(),r=L(n);j(n),V(e=>J(r,`+${e??``}`),[()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length-4))]),q(e,n)},o=Jt(()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length>4)));Y(i,e=>{H(o)&&e(a)}),j(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Tool`)))),G(`click`,n,()=>f().openReferenceDrawer(`tool`,H(t).data)),G(`keydown`,n,e=>y(e,`tool`,H(t).data)),q(e,n)}),j(o),V(()=>J(a,(H(l),U(()=>H(l).length)))),q(e,t)};Y(n,e=>{H(l),U(()=>H(l).length>0)&&e(r)});var i=z(n,2),a=e=>{var t=lS(),n=R(t),r=L(n);Q(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(u),e=>e.data.name,(e,t)=>{var n=cS(),r=L(n),i=L(r);Q(L(i),{name:`sparkle`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=sS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Prompt`)))),G(`click`,n,()=>f().openReferenceDrawer(`prompt`,H(t).data)),G(`keydown`,n,e=>y(e,`prompt`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),U(()=>H(l).length>0?`20px`:`0`))??``}`),J(a,(H(u),U(()=>H(u).length)))}),q(e,t)};Y(i,e=>{H(u),U(()=>H(u).length>0)&&e(a)});var o=z(i,2),s=e=>{var t=pS(),n=R(t),r=L(n);Q(r,{name:`database`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(d),e=>e.data.uri||e.data.name,(e,t)=>{var n=fS(),r=L(n),i=L(r);Q(L(i),{name:`database`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=uS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=dS(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).data.uri)))),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.uri)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Resource`)))),G(`click`,n,()=>f().openReferenceDrawer(`resource`,H(t).data)),G(`keydown`,n,e=>y(e,`resource`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),H(u),U(()=>H(l).length>0||H(u).length>0?`20px`:`0`))??``}`),J(a,(H(d),U(()=>H(d).length)))}),q(e,t)};Y(o,e=>{H(d),U(()=>H(d).length>0)&&e(s)});var p=z(o,2),m=e=>{var t=mS(),n=L(t);Q(n,{name:`search`,size:28,strokeWidth:1.25});var r=z(n,2),i=L(r);j(r),j(t),V(()=>J(i,`No results for "${(H(c),U(()=>H(c).referenceSearch))??``}"`)),q(e,t)};Y(p,e=>{H(l),H(u),H(d),U(()=>H(l).length===0&&H(u).length===0&&H(d).length===0)&&e(m)}),q(e,t)};Y(ae,e=>{H(c),U(()=>!H(c).capabilities)?e(oe):e(se,-1)}),j(ie),j(ne),j(b),va(ee,()=>n().referenceSearch,e=>ht(p(),U(n).referenceSearch=e,U(n))),q(e,b),Ge(),s()}var vS=K(`<div class="fab-backdrop svelte-10ega5z" role="button" tabindex="-1" aria-label="Close menu"></div>`),yS=K(`<!> <div><div class="fab-actions svelte-10ega5z"><div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Task</span> <button class="fab-action-btn task svelte-10ega5z" title="Create new task" aria-label="Create new task"><!></button></div> <div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Memory</span> <button class="fab-action-btn memory svelte-10ega5z" title="Create new memory" aria-label="Create new memory"><!></button></div></div> <button class="fab-main svelte-10ega5z"><span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-10ega5z"><line x1="12" y1="5" x2="12" y2="19" class="svelte-10ega5z"></line><line x1="5" y1="12" x2="19" y2="12" class="svelte-10ega5z"></line></svg></span></button></div>`,1);function bS(e,t){We(t,!1);let n=()=>P(za,`$currentRepo`,r),[r,i]=pt(),a=ka(t,`onNewMemory`,8,()=>{}),o=ka(t,`onNewTask`,8,()=>{}),s=F(!1);function c(){I(s,!H(s))}function l(){I(s,!1),a()()}function u(){I(s,!1),o()()}function d(e){e.key===`Escape`&&I(s,!1)}Ea();var f=li();G(`keydown`,hn,d);var p=R(f),m=e=>{var t=yS(),n=R(t),r=e=>{var t=vS();G(`click`,t,()=>I(s,!1)),G(`keydown`,t,e=>e.key===`Escape`&&I(s,!1)),q(e,t)};Y(n,e=>{H(s)&&e(r)});var i=z(n,2);let a;var o=L(i),d=L(o),f=z(L(d),2);Q(L(f),{name:`clipboard-list`,size:16,strokeWidth:2}),j(f),j(d);var p=z(d,2),m=z(L(p),2);Q(L(m),{name:`brain`,size:16,strokeWidth:2}),j(m),j(p),j(o);var h=z(o,2),g=L(h);let _;j(h),j(i),V(()=>{a=Ki(i,1,`fab-container svelte-10ega5z`,null,a,{open:H(s)}),Ji(d,`transition-delay: ${H(s)?`0.05s`:`0s`}`),Ji(p,`transition-delay: ${H(s)?`0.1s`:`0s`}`),fa(h,`title`,H(s)?`Close`:`Quick create`),fa(h,`aria-label`,H(s)?`Close quick create menu`:`Open quick create menu`),fa(h,`aria-expanded`,H(s)),_=Ki(g,1,`fab-icon svelte-10ega5z`,null,_,{rotated:H(s)})}),G(`click`,f,u),G(`click`,m,l),G(`click`,h,c),q(e,t)};Y(p,e=>{n()&&e(m)}),q(e,f),Ge(),i()}var xS=K(`<div class="error-banner svelte-owkwhr"> </div>`),SS=K(`<div class="notice-banner svelte-owkwhr"> </div>`),CS=K(`<div class="glass card panel-card create-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div><div class="section-label">New Standard</div> <div class="toolbar-subtitle svelte-owkwhr">Save one atomic coding standard for this repo or globally.</div></div></div> <div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input" placeholder="Error handling standard"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input" placeholder="Optional parent standard UUID"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input" placeholder="frontend, linting"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <button class="btn btn-primary"><!> </button></div>`),wS=K(`<button class="btn btn-ghost btn-sm">Add first standard</button>`),TS=K(`<div class="muted-state svelte-owkwhr">Loading standards...</div>`),ES=K(`<div class="empty-state svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">No standards found</div> <div class="empty-copy svelte-owkwhr">Adjust the filters or create a standard for this repository.</div></div>`),DS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),OS=K(`<div class="tag-row svelte-owkwhr"></div>`),kS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),AS=K(`<div class="tag-row svelte-owkwhr"></div>`),jS=K(`<button><div class="row-title svelte-owkwhr"><!> <span> </span></div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span>child</span></div> <!></button>`),MS=K(`<div class="standard-children svelte-owkwhr"></div>`),NS=K(`<div class="standard-group svelte-owkwhr"><button><div class="row-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div> <!></button> <!></div>`),PS=K(`<div class="standard-list svelte-owkwhr"></div>`),FS=K(`<div class="muted-state svelte-owkwhr">Loading standard detail...</div>`),IS=K(`<div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr"></textarea></label> <div class="editor-actions svelte-owkwhr"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),LS=K(`<div class="markdown-body md-card"><!></div>`),RS=K(`<div class="detail-heading svelte-owkwhr"><div><div class="detail-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div></div> <div class="detail-actions svelte-owkwhr"><span class="scope-pill svelte-owkwhr"> </span> <button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-text svelte-owkwhr"><!> </button></div></div> <!>`,1),zS=K(`<div class="empty-state detail-empty svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">Select a standard</div> <div class="empty-copy svelte-owkwhr">The full Markdown content and scope metadata appear here.</div></div>`),BS=K(`<div class="feature-shell animate-fade-in svelte-owkwhr"><div class="feature-toolbar glass card svelte-owkwhr"><div class="toolbar-title svelte-owkwhr"><!> <div><div class="section-label">Coding Standards</div> <div class="toolbar-subtitle svelte-owkwhr"> </div></div></div> <button class="btn btn-primary toolbar-action svelte-owkwhr"><!> </button> <div class="toolbar-actions svelte-owkwhr"><button class="btn btn-ghost btn-sm"><!> </button> <button class="btn btn-ghost btn-sm"><!> </button> <input class="file-input svelte-owkwhr" type="file" accept="application/json,.json"/></div> <div class="toolbar-controls svelte-owkwhr"><input class="form-input" placeholder="Search standards..."/> <input class="form-input" placeholder="Language"/> <input class="form-input" placeholder="Stack tags, comma separated"/> <select class="form-select"><option>Repo + global</option><option>Global only</option><option>All standards</option></select></div></div> <!> <!> <!> <div><div class="glass card panel-card list-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div class="section-label">Standards</div> <!></div> <!></div> <div class="glass card panel-card detail-panel svelte-owkwhr"><!></div></div></div>`);function VS(e,t){We(t,!1);let n=ka(t,`repo`,8,``),r=F([]),i=F(),a=F(!1),o=F(!1),s=F(!1),c=F(!1),l=F(!1),u=F(!1),d=F(``),f=F(``),p=F(``),m=F(``),h=F(``),g=F(`repo`),_=F(null),v=F(!1),y=F(!1),b=F(),x=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),S=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``});function C(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 w(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function T(e){return JSON.stringify(e,null,2)}function E(e){let t={},n=new Set(e.map(e=>e.id));for(let r of e){let e=r.parent_id;if(!e||!n.has(e))continue;let i=t[e]||[];i.push(r),t[e]=i}return e.filter(e=>!e.parent_id||!n.has(e.parent_id)).map(e=>({standard:e,children:(t[e.id]||[]).sort((e,t)=>e.title.localeCompare(t.title))}))}async function D(e){I(o,!0),I(y,!1);try{let t=await Z.standardById(e);I(_,t),t&&I(S,{name:t.title,parent_id:t.parent_id||``,context:t.context,version:t.version,language:t.language||``,stack:t.stack.join(`, `),tags:t.tags.join(`, `),metadata:T(t.metadata),content:t.content})}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}function O(){H(_)&&(I(S,{name:H(_).title,parent_id:H(_).parent_id||``,context:H(_).context,version:H(_).version,language:H(_).language||``,stack:H(_).stack.join(`, `),tags:H(_).tags.join(`, `),metadata:T(H(_).metadata),content:H(_).content}),I(y,!0))}function ee(){I(y,!1)}async function k(){if(n()){I(a,!0),I(d,``);try{I(r,(await Z.standards({query:H(p)||void 0,language:H(m)||void 0,stack:H(h)||void 0,repo:H(g)===`repo`?n():void 0,is_global:H(g)===`global`?!0:void 0,page:1,pageSize:100})).standards||[]),(!H(_)||!H(r).some(e=>e.id===H(_)?.id))&&I(_,H(r)[0]||null),H(_)?.id&&await D(H(_).id)}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function te(){let e=C(H(x).metadata);if(!(!H(x).name.trim()||!H(x).content.trim()||w(H(x).tags).length===0||!e)){I(s,!0),I(d,``);try{let t=H(g)===`global`,r=await Z.createStandard({title:H(x).name.trim(),content:H(x).content.trim(),parent_id:H(x).parent_id.trim()||void 0,context:H(x).context.trim()||`general`,version:H(x).version.trim()||`1.0.0`,language:H(x).language.trim()||void 0,stack:w(H(x).stack),tags:w(H(x).tags),metadata:e,repo:t?void 0:n(),is_global:t});I(x,{name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),I(v,!1),await k(),I(_,r||H(_))}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function ne(){if(!H(_))return;let e=C(H(S).metadata);if(!(!H(S).name.trim()||!H(S).content.trim()||w(H(S).tags).length===0||!e)){I(s,!0),I(d,``);try{await Z.updateStandard(H(_).id,{title:H(S).name.trim(),content:H(S).content.trim(),parent_id:H(S).parent_id.trim()||null,context:H(S).context.trim()||`general`,version:H(S).version.trim()||`1.0.0`,language:H(S).language.trim()||void 0,stack:w(H(S).stack),tags:w(H(S).tags),metadata:e,repo:H(_).is_global?void 0:H(_).repo||n(),is_global:H(_).is_global}),I(y,!1),await D(H(_).id),await k()}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function re(){if(H(_)&&confirm(`Delete coding standard "${H(_).title}"?`)){I(c,!0),I(d,``);try{await Z.deleteStandard(H(_).id),I(y,!1),I(_,null),await k()}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(c,!1)}}}function ie(e){return`standards-${n()?n().replace(/[^a-z0-9._-]+/gi,`-`):`all`}-${e}-${new Date().toISOString().slice(0,10)}.json`}async function ae(){I(l,!0),I(d,``),I(f,``);try{let e=H(g)===`global`||H(g)===`all`?H(g):`repo`,t=await Z.exportStandards({repo:e===`repo`?n():void 0,scope:e}),r=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=ie(t.scope),a.click(),URL.revokeObjectURL(i)}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(l,!1)}}async function oe(e){let t=e.currentTarget,n=t.files?.[0];if(n){I(u,!0),I(d,``),I(f,``);try{let e=JSON.parse(await n.text()),t=Array.isArray(e?.standards)?e.standards.length:0,r=await Z.importStandards({...e,refresh_vectors:t>0&&t<=500});await k();let i=r.vectors_refreshed?``:` Vector refresh skipped for large import.`;I(f,`Imported ${r.imported} and updated ${r.updated} standard(s).${i}`)}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(u,!1),t.value=``}}}Aa(()=>{k()}),B(()=>W(n()),()=>{n()&&k()}),B(()=>H(r),()=>{I(i,E(H(r)))}),Un(),Ea();var se=BS(),ce=L(se),le=L(ce),ue=L(le);Q(ue,{name:`check`,size:16,strokeWidth:2});var de=z(ue,2),fe=z(L(de),2),pe=L(fe);j(fe),j(de),j(le);var me=z(le,2),he=L(me);{let e=Yt(()=>H(v)?`chevron-left`:`plus`);Q(he,{get name(){return H(e)},size:14,strokeWidth:2})}var ge=z(he);j(me);var _e=z(me,2),ve=L(_e),ye=L(ve);Q(ye,{name:`download`,size:14,strokeWidth:2});var be=z(ye);j(ve);var xe=z(ve,2),Se=L(xe);Q(Se,{name:`upload`,size:14,strokeWidth:2});var Ce=z(Se);j(xe);var we=z(xe,2);Ca(we,e=>I(b,e),()=>H(b)),j(_e);var Te=z(_e,2),Ee=L(Te);ca(Ee);var De=z(Ee,2);ca(De);var Oe=z(De,2);ca(Oe);var A=z(Oe,2),ke=L(A);ke.value=ke.__value=`repo`;var Ae=z(ke);Ae.value=Ae.__value=`global`;var je=z(Ae);je.value=je.__value=`all`,j(A),j(Te),j(ce);var Me=z(ce,2),Pe=e=>{var t=xS(),n=L(t,!0);j(t),V(()=>J(n,H(d))),q(e,t)};Y(Me,e=>{H(d)&&e(Pe)});var Fe=z(Me,2),Ie=e=>{var t=SS(),n=L(t,!0);j(t),V(()=>J(n,H(f))),q(e,t)};Y(Fe,e=>{H(f)&&e(Ie)});var Le=z(Fe,2),Re=e=>{var t=CS(),n=z(L(t),2),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),_=z(L(g),2);ca(_),j(g);var v=z(g,2),y=z(L(v),2);ca(y),j(v),j(n);var b=z(n,2),S=z(L(b),2);On(S),j(b);var T=z(b,2),E=L(T);Q(E,{name:`check`,size:14,strokeWidth:2});var D=z(E);j(T),j(t),V(e=>{T.disabled=e,J(D,` ${H(s)?`Saving...`:`Save Standard`}`)},[()=>(H(s),H(x),U(()=>H(s)||!H(x).name.trim()||!H(x).content.trim()||w(H(x).tags).length===0||!C(H(x).metadata)))]),va(i,()=>H(x).name,e=>sn(x,H(x).name=e)),va(o,()=>H(x).parent_id,e=>sn(x,H(x).parent_id=e)),va(l,()=>H(x).context,e=>sn(x,H(x).context=e)),va(d,()=>H(x).version,e=>sn(x,H(x).version=e)),va(p,()=>H(x).language,e=>sn(x,H(x).language=e)),va(h,()=>H(x).stack,e=>sn(x,H(x).stack=e)),va(_,()=>H(x).tags,e=>sn(x,H(x).tags=e)),va(y,()=>H(x).metadata,e=>sn(x,H(x).metadata=e)),va(S,()=>H(x).content,e=>sn(x,H(x).content=e)),G(`click`,T,te),q(e,t)};Y(Le,e=>{H(v)&&e(Re)});var ze=z(Le,2);let Be;var Ve=L(ze),He=L(Ve),Ue=z(L(He),2),Ke=e=>{var t=wS();G(`click`,t,()=>I(v,!0)),q(e,t)};Y(Ue,e=>{H(r),U(()=>H(r).length===0)&&e(Ke)}),j(He);var qe=z(He,2),Je=e=>{q(e,TS())},Ye=e=>{var t=ES();Q(L(t),{name:`check`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Xe=e=>{var t=PS();X(t,5,()=>H(i),e=>e.standard.id,(e,t)=>{var r=NS(),i=L(r);let a;var o=L(i),s=L(o,!0);j(o);var c=z(o,2),l=L(c),u=L(l,!0);j(l);var d=z(l,2),f=L(d,!0);j(d);var p=z(d,2),m=L(p,!0);j(p);var h=z(p,2),g=L(h,!0);j(h),j(c);var v=z(c,2),y=e=>{var n=OS();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).standard.stack,...H(t).standard.tags])].slice(0,6))),e=>e,(e,t)=>{var n=DS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(v,e=>{H(t),U(()=>H(t).standard.stack.length||H(t).standard.tags.length)&&e(y)}),j(i);var b=z(i,2),x=e=>{var r=MS();X(r,5,()=>(H(t),U(()=>H(t).children)),e=>e.id,(e,t)=>{var r=jS();let i;var a=L(r),o=L(a);Q(o,{name:`corner-down-right`,size:13,strokeWidth:2});var s=z(o,2),c=L(s,!0);j(s),j(a);var l=z(a,2),u=L(l),d=L(u,!0);j(u);var f=z(u,2),p=L(f,!0);j(f);var m=z(f,2),h=L(m,!0);j(m),Ne(2),j(l);var g=z(l,2),v=e=>{var n=AS();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).stack,...H(t).tags])].slice(0,6))),e=>e,(e,t)=>{var n=kS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(g,e=>{H(t),U(()=>H(t).stack.length||H(t).tags.length)&&e(v)}),j(r),V(()=>{i=Ki(r,1,`standard-row standard-row-child svelte-owkwhr`,null,i,{selected:H(_)?.id===H(t).id}),J(c,(H(t),U(()=>H(t).title))),J(d,(H(t),U(()=>H(t).context))),J(p,(H(t),U(()=>H(t).language||`any language`))),J(h,(H(t),W(n()),U(()=>H(t).is_global?`global`:H(t).repo||n())))}),G(`click`,r,()=>D(H(t).id)),q(e,r)}),j(r),q(e,r)};Y(b,e=>{H(t),U(()=>H(t).children.length>0)&&e(x)}),j(r),V(()=>{a=Ki(i,1,`standard-row standard-row-root svelte-owkwhr`,null,a,{selected:H(_)?.id===H(t).standard.id}),J(s,(H(t),U(()=>H(t).standard.title))),J(u,(H(t),U(()=>H(t).standard.context))),J(f,(H(t),U(()=>H(t).standard.language||`any language`))),J(m,(H(t),W(n()),U(()=>H(t).standard.is_global?`global`:H(t).standard.repo||n()))),J(g,(H(t),U(()=>H(t).children.length>0?`${H(t).children.length} child`:`root`)))}),G(`click`,i,()=>D(H(t).standard.id)),q(e,r)}),j(t),q(e,t)};Y(qe,e=>{H(a)?e(Je):(H(r),U(()=>H(r).length===0)?e(Ye,1):e(Xe,-1))}),j(Ve);var Ze=z(Ve,2),Qe=L(Ze),$e=e=>{q(e,FS())},et=e=>{var t=RS(),n=R(t),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),l=L(o),u=L(l,!0);j(l);var d=z(l,2),f=L(d);j(d);var p=z(d,2),m=L(p,!0);j(p);var h=z(p,2),g=L(h,!0);j(h),j(o),j(r);var v=z(r,2),b=L(v),x=L(b,!0);j(b);var w=z(b,2);Q(L(w),{name:`pencil`,size:14,strokeWidth:2}),Ne(),j(w);var T=z(w,2),E=L(T);Q(E,{name:`trash`,size:14,strokeWidth:2});var D=z(E);j(T),j(v),j(n);var k=z(n,2),te=e=>{var t=IS(),n=R(t),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),_=z(L(g),2);ca(_),j(g);var v=z(g,2),y=z(L(v),2);ca(y),j(v),j(n);var b=z(n,2),x=z(L(b),2);On(x),j(b);var w=z(b,2),T=L(w),E=L(T);Q(E,{name:`check`,size:14,strokeWidth:2});var D=z(E);j(T);var O=z(T,2);j(w),V(e=>{T.disabled=e,J(D,` ${H(s)?`Saving...`:`Save Changes`}`),O.disabled=H(s)},[()=>(H(s),H(S),U(()=>H(s)||!C(H(S).metadata)))]),va(i,()=>H(S).name,e=>sn(S,H(S).name=e)),va(o,()=>H(S).parent_id,e=>sn(S,H(S).parent_id=e)),va(l,()=>H(S).context,e=>sn(S,H(S).context=e)),va(d,()=>H(S).version,e=>sn(S,H(S).version=e)),va(p,()=>H(S).language,e=>sn(S,H(S).language=e)),va(h,()=>H(S).stack,e=>sn(S,H(S).stack=e)),va(_,()=>H(S).tags,e=>sn(S,H(S).tags=e)),va(y,()=>H(S).metadata,e=>sn(S,H(S).metadata=e)),va(x,()=>H(S).content,e=>sn(S,H(S).content=e)),G(`click`,T,ne),G(`click`,O,ee),q(e,t)},ie=e=>{var t=LS();rb(L(t),{get content(){return H(_),U(()=>H(_).content)}}),j(t),q(e,t)};Y(k,e=>{H(y)?e(te):e(ie,-1)}),V(e=>{J(a,(H(_),U(()=>H(_).title))),J(u,(H(_),U(()=>H(_).context))),J(f,`v${(H(_),U(()=>H(_).version))??``}`),J(m,(H(_),U(()=>H(_).parent_id?`child of ${H(_).parent_id}`:`root`))),J(g,e),J(x,(H(_),U(()=>H(_).is_global?`Global`:`Repo`))),T.disabled=H(c),J(D,` ${H(c)?`Deleting...`:`Delete`}`)},[()=>(W(sl),H(_),U(()=>sl(H(_).updated_at)))]),G(`click`,w,O),G(`click`,T,re),q(e,t)},tt=e=>{var t=zS();Q(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(Qe,e=>{H(o)?e($e):H(_)?e(et,1):e(tt,-1)}),j(Ze),j(ze),j(se),V(()=>{J(pe,`${(H(r),U(()=>H(r).length))??``} matching standards`),J(ge,` ${H(v)?`Close Form`:`New Standard`}`),ve.disabled=(H(l),H(r),U(()=>H(l)||H(r).length===0)),J(be,` ${H(l)?`Exporting...`:`Export`}`),xe.disabled=H(u),J(Ce,` ${H(u)?`Importing...`:`Import`}`),Be=Ki(ze,1,`feature-grid svelte-owkwhr`,null,Be,{"with-create":H(v)})}),G(`click`,me,()=>I(v,!H(v))),G(`click`,ve,ae),G(`click`,xe,()=>H(b)?.click()),G(`change`,we,oe),va(Ee,()=>H(p),e=>I(p,e)),G(`input`,Ee,()=>k()),va(De,()=>H(m),e=>I(m,e)),G(`input`,De,()=>k()),va(Oe,()=>H(h),e=>I(h,e)),G(`input`,Oe,()=>k()),Zi(A,()=>H(g),e=>I(g,e)),G(`change`,A,()=>k()),q(e,se),Ge()}var HS=K(`<div class="error-banner svelte-1ik2acm"> </div>`),US=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Create Handoff</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">From agent</span><input class="form-input" placeholder="agent-a"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">To agent</span><input class="form-input" placeholder="agent-b (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123 (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Summary</span><textarea class="form-textarea summary-input svelte-1ik2acm" placeholder="What should the next agent know?"></textarea></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Context JSON</span><textarea class="form-textarea json-input svelte-1ik2acm"></textarea></label> <button class="btn btn-primary"><!> </button></div></div>`),WS=K(`<div class="claim-result svelte-1ik2acm"><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div>`),GS=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Claim Task</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Agent</span><input class="form-input" placeholder="agent-name"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Role</span><input class="form-input" placeholder="worker"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Metadata JSON</span><textarea class="form-textarea json-input svelte-1ik2acm" placeholder="Metadata JSON object"></textarea></label> <button class="btn btn-accent"><!> </button></div> <!></div>`),KS=K(`<div class="action-grid svelte-1ik2acm"><!> <!></div>`),qS=K(`<button class="btn btn-ghost btn-sm">Create handoff</button>`),JS=K(`<div class="muted-state svelte-1ik2acm">Loading handoffs...</div>`),YS=K(`<div class="empty-state svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No handoffs found</div> <div class="empty-copy svelte-1ik2acm">Create a handoff when work needs context transfer between agents.</div></div>`),XS=K(`<span> </span>`),ZS=K(`<button><div class="handoff-top svelte-1ik2acm"><span> </span> <span class="row-date svelte-1ik2acm"> </span></div> <div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <!></div></button>`),QS=K(`<div class="handoff-list svelte-1ik2acm"></div>`),$S=K(`<div class="muted-inline svelte-1ik2acm"> </div>`),eC=K(`<div class="linked-task svelte-1ik2acm"><div> </div> <!></div>`),tC=K(`<div class="context-card svelte-1ik2acm"><div class="section-label" style="margin-bottom:8px;">Transfer Context</div> <pre class="json-pre svelte-1ik2acm"> </pre></div>`),nC=K(`<div class="detail-title svelte-1ik2acm"> </div> <div class="detail-grid svelte-1ik2acm"><div class="svelte-1ik2acm"><span class="svelte-1ik2acm">From</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">To</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Status</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Created</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Updated</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Expires</span><strong class="svelte-1ik2acm"> </strong></div></div> <div class="status-actions svelte-1ik2acm"><button class="btn btn-ghost btn-sm">Accept</button> <button class="btn btn-ghost btn-sm">Expire</button> <button class="btn btn-ghost btn-sm">Reject</button></div> <!> <!>`,1),rC=K(`<div class="empty-state detail-empty svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">Select a handoff</div> <div class="empty-copy svelte-1ik2acm">Details for the selected handoff appear here.</div></div>`),iC=K(`<div class="muted-state svelte-1ik2acm">Loading claims...</div>`),aC=K(`<div class="empty-state claims-empty svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No active claims</div> <div class="empty-copy svelte-1ik2acm">Claims taken from agents will appear here for release and inspection.</div></div>`),oC=K(`<div class="claim-row svelte-1ik2acm"><div><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div> <button class="btn btn-ghost btn-sm"> </button></div>`),sC=K(`<div class="claim-list svelte-1ik2acm"></div>`),cC=K(`<div class="feature-shell animate-fade-in svelte-1ik2acm"><div class="feature-toolbar glass card svelte-1ik2acm"><div class="toolbar-title svelte-1ik2acm"><!> <div><div class="section-label">Handoffs & Claims</div> <div class="toolbar-subtitle svelte-1ik2acm"> </div></div></div> <div class="toolbar-actions svelte-1ik2acm"><button class="btn btn-primary svelte-1ik2acm"><!> </button> <button class="btn btn-accent svelte-1ik2acm"><!> </button></div> <div class="toolbar-controls svelte-1ik2acm"><select class="form-select"><option>All statuses</option><option>Pending</option><option>Accepted</option><option>Rejected</option><option>Expired</option></select> <input class="form-input" placeholder="To agent filter"/> <button class="btn btn-ghost"><!> Refresh</button> <button class="btn btn-ghost"><!> Sync All</button></div></div> <!> <!> <div class="feature-grid svelte-1ik2acm"><div class="glass card panel-card list-panel svelte-1ik2acm"><div class="panel-heading svelte-1ik2acm"><div class="section-label">Handoff Queue</div> <!></div> <!></div> <div class="detail-stack svelte-1ik2acm"><div class="glass card panel-card detail-panel svelte-1ik2acm"><!></div> <div class="glass card panel-card claims-panel svelte-1ik2acm"><div class="panel-heading svelte-1ik2acm"><div class="section-label">Active Claims</div> <div class="toolbar-subtitle svelte-1ik2acm"> </div></div> <!></div></div></div></div>`);function lC(e,t){We(t,!1);let n=ka(t,`repo`,8,``),r=F([]),i=F(!1),a=F(!1),o=F(!1),s=F(!1),c=F(``),l=F(`pending`),u=F(``),d=F(null),f=F(null),p=F([]),m=F(!1),h=F(null),g=F(!1),_=F(!1),v=F({from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),y=F({task_code:``,agent:``,role:`worker`,metadata:``});function b(e){return e?.structuredContent??null}function x(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}function S(){return!!H(v).from_agent.trim()&&!!H(v).summary.trim()&&(!!H(v).to_agent.trim()||!!H(v).task_code.trim()||!!H(v).context.trim())}function C(e,t){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id||``),repo:n(),from_agent:String(r.from_agent||``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,task_code:r.task_code?String(r.task_code):null,summary:String(r.summary||``),context:r.context&&typeof r.context==`object`&&!Array.isArray(r.context)?r.context:{},status:String(r.status||`pending`),created_at:String(r.created_at||``),updated_at:String(r.updated_at||r.created_at||``),expires_at:r.expires_at?String(r.expires_at):null}}async function w(){if(n()){I(m,!0);try{I(p,(await Z.coordinationClaims({repo:n(),active_only:!0,pageSize:20})).claims||[])}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(m,!1)}}}async function T(){if(n()){I(i,!0),I(c,``);try{let e={repo:n(),status:H(l)||void 0,limit:50,structured:!0};H(u).trim()&&(e.to_agent=H(u).trim());let t=b(await Z.callTool(`handoff-list`,e)),i=t?.handoffs?.columns||[];I(r,(t?.handoffs?.rows||[]).map(e=>C(i,e))),H(d)&&!H(r).some(e=>e.id===H(d)?.id)&&I(d,null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(i,!1)}}}async function E(){await Promise.all([T(),w()])}async function D(){if(!(!H(v).from_agent.trim()||!H(v).summary.trim())){I(a,!0),I(c,``);try{let e=b(await Z.callTool(`handoff-create`,{repo:n(),from_agent:H(v).from_agent.trim(),to_agent:H(v).to_agent.trim()||void 0,task_code:H(v).task_code.trim()||void 0,summary:H(v).summary.trim(),context:x(H(v).context),structured:!0}));I(v,{from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),I(g,!1),await T(),I(d,e||H(r)[0]||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function O(){if(!(!H(y).task_code.trim()||!H(y).agent.trim())){I(o,!0),I(c,``);try{I(f,b(await Z.callTool(`task-claim`,{repo:n(),task_code:H(y).task_code.trim(),agent:H(y).agent.trim(),role:H(y).role.trim()||`worker`,metadata:x(H(y).metadata),structured:!0}))),I(y,{task_code:``,agent:H(y).agent,role:H(y).role,metadata:``}),I(_,!1),await w()}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}}async function ee(e){if(H(d)){I(s,!0),I(c,``);try{await Z.callTool(`handoff-update`,{id:H(d).id,status:e,structured:!0}),await E(),I(d,H(r).find(e=>e.id===H(d)?.id)||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function k(e){I(h,e.id),I(c,``);try{await Z.releaseClaim({repo:n(),task_id:e.task_id,agent:e.agent}),await w()}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(h,null)}}Aa(()=>{E()}),B(()=>W(n()),()=>{n()&&E()}),Un(),Ea();var te=cC(),ne=L(te),re=L(ne),ie=L(re);Q(ie,{name:`git-branch`,size:16,strokeWidth:2});var ae=z(ie,2),oe=z(L(ae),2),se=L(oe);j(oe),j(ae),j(re);var ce=z(re,2),le=L(ce),ue=L(le);Q(ue,{name:`git-branch`,size:14,strokeWidth:2});var de=z(ue);j(le);var fe=z(le,2),pe=L(fe);Q(pe,{name:`check`,size:14,strokeWidth:2});var me=z(pe);j(fe),j(ce);var he=z(ce,2),ge=L(he),_e=L(ge);_e.value=_e.__value=``;var ve=z(_e);ve.value=ve.__value=`pending`;var ye=z(ve);ye.value=ye.__value=`accepted`;var be=z(ye);be.value=be.__value=`rejected`;var xe=z(be);xe.value=xe.__value=`expired`,j(ge);var Se=z(ge,2);ca(Se);var Ce=z(Se,2);Q(L(Ce),{name:`refresh-cw`,size:14,strokeWidth:2}),Ne(),j(Ce);var we=z(Ce,2);Q(L(we),{name:`refresh-cw`,size:14,strokeWidth:2}),Ne(),j(we),j(he),j(ne);var Te=z(ne,2),Ee=e=>{var t=HS(),n=L(t,!0);j(t),V(()=>J(n,H(c))),q(e,t)};Y(Te,e=>{H(c)&&e(Ee)});var De=z(Te,2),Oe=e=>{var t=KS(),n=L(t),r=e=>{var t=US(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var o=z(r,2),s=z(L(o));ca(s),j(o);var c=z(o,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var f=z(u,2),p=z(L(f));On(p),fa(p,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(f);var m=z(f,2),h=L(m);Q(h,{name:`git-branch`,size:14,strokeWidth:2});var g=z(h);j(m),j(n),j(t),V(e=>{m.disabled=e,J(g,` ${H(a)?`Creating...`:`Create Handoff`}`)},[()=>(H(a),U(()=>H(a)||!S()))]),va(i,()=>H(v).from_agent,e=>sn(v,H(v).from_agent=e)),va(s,()=>H(v).to_agent,e=>sn(v,H(v).to_agent=e)),va(l,()=>H(v).task_code,e=>sn(v,H(v).task_code=e)),va(d,()=>H(v).summary,e=>sn(v,H(v).summary=e)),va(p,()=>H(v).context,e=>sn(v,H(v).context=e)),G(`click`,m,D),q(e,t)};Y(n,e=>{H(g)&&e(r)});var i=z(n,2),s=e=>{var t=GS(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var a=z(r,2),s=z(L(a));ca(s),j(a);var c=z(a,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var p=z(u,2),m=L(p);Q(m,{name:`check`,size:14,strokeWidth:2});var h=z(m);j(p),j(n);var g=z(n,2),_=e=>{var t=WS(),n=L(t),r=L(n);j(n);var i=z(n,2),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s);var l=z(s,2),u=L(l,!0);j(l),j(i),j(t),V(e=>{J(r,`Claimed ${(H(f),U(()=>H(f).task_code||H(f).task_id))??``}`),J(o,(H(f),U(()=>H(f).agent))),J(c,(H(f),U(()=>H(f).role))),J(u,e)},[()=>(W(sl),H(f),U(()=>sl(H(f).claimed_at)))]),q(e,t)};Y(g,e=>{H(f)&&e(_)}),j(t),V(e=>{p.disabled=e,J(h,` ${H(o)?`Claiming...`:`Claim Task`}`)},[()=>(H(o),H(y),U(()=>H(o)||!H(y).task_code.trim()||!H(y).agent.trim()))]),va(i,()=>H(y).task_code,e=>sn(y,H(y).task_code=e)),va(s,()=>H(y).agent,e=>sn(y,H(y).agent=e)),va(l,()=>H(y).role,e=>sn(y,H(y).role=e)),va(d,()=>H(y).metadata,e=>sn(y,H(y).metadata=e)),G(`click`,p,O),q(e,t)};Y(i,e=>{H(_)&&e(s)}),j(t),q(e,t)};Y(De,e=>{(H(g)||H(_))&&e(Oe)});var A=z(De,2),ke=L(A),Ae=L(ke),je=z(L(Ae),2),Me=e=>{var t=qS();G(`click`,t,()=>I(g,!0)),q(e,t)};Y(je,e=>{H(r),U(()=>H(r).length===0)&&e(Me)}),j(Ae);var Pe=z(Ae,2),Fe=e=>{q(e,JS())},Ie=e=>{var t=YS();Q(L(t),{name:`git-branch`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Le=e=>{var t=QS();X(t,5,()=>H(r),e=>e.id,(e,t)=>{var n=ZS();let r;var i=L(n),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s),j(i);var l=z(i,2),u=L(l,!0);j(l);var f=z(l,2),p=L(f),m=L(p);j(p);var h=z(p,2),g=e=>{var n=XS(),r=L(n,!0);j(n),V(e=>J(r,e),[()=>(H(t),U(()=>H(t).task_id.slice(0,8)))]),q(e,n)};Y(h,e=>{H(t),U(()=>H(t).task_id)&&e(g)}),j(f),j(n),V(e=>{r=Ki(n,1,`handoff-row svelte-1ik2acm`,null,r,{selected:H(d)?.id===H(t).id}),Ki(a,1,`status-pill status-${(H(t),U(()=>H(t).status))??``}`,`svelte-1ik2acm`),J(o,(H(t),U(()=>H(t).status))),J(c,e),J(u,(H(t),U(()=>H(t).summary))),J(m,`${(H(t),U(()=>H(t).from_agent))??``} -> ${(H(t),U(()=>H(t).to_agent||`unassigned`))??``}`)},[()=>(W(sl),H(t),U(()=>sl(H(t).created_at)))]),G(`click`,n,()=>I(d,H(t))),q(e,n)}),j(t),q(e,t)};Y(Pe,e=>{H(i)?e(Fe):(H(r),U(()=>H(r).length===0)?e(Ie,1):e(Le,-1))}),j(ke);var Re=z(ke,2),ze=L(Re),Be=L(ze),Ve=e=>{var t=nC(),n=R(t),r=L(n,!0);j(n);var i=z(n,2),a=L(i),o=z(L(a)),c=L(o,!0);j(o),j(a);var l=z(a,2),u=z(L(l)),f=L(u,!0);j(u),j(l);var p=z(l,2),m=z(L(p)),h=L(m,!0);j(m),j(p);var g=z(p,2),_=z(L(g)),v=L(_,!0);j(_),j(g);var y=z(g,2),b=z(L(y)),x=L(b,!0);j(b),j(y);var S=z(y,2),C=z(L(S)),w=L(C,!0);j(C),j(S),j(i);var T=z(i,2),E=L(T),D=z(E,2),O=z(D,2);j(T);var k=z(T,2),te=e=>{var t=eC(),n=L(t),r=L(n);j(n);var i=z(n,2),a=e=>{var t=$S(),n=L(t,!0);j(t),V(()=>J(n,(H(d),U(()=>H(d).task_id)))),q(e,t)};Y(i,e=>{H(d),U(()=>H(d).task_id)&&e(a)}),j(t),V(()=>J(r,`Task: ${(H(d),U(()=>H(d).task_code||`—`))??``}`)),q(e,t)};Y(k,e=>{H(d),U(()=>H(d).task_id||H(d).task_code)&&e(te)});var ne=z(k,2),re=e=>{var t=tC(),n=z(L(t),2),r=L(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(H(d),U(()=>JSON.stringify(H(d).context,null,2)))]),q(e,t)},ie=Jt(()=>(H(d),U(()=>Object.keys(H(d).context||{}).length>0)));Y(ne,e=>{H(ie)&&e(re)}),V((e,t,n)=>{J(r,(H(d),U(()=>H(d).summary))),J(c,(H(d),U(()=>H(d).from_agent))),J(f,(H(d),U(()=>H(d).to_agent||`unassigned`))),J(h,(H(d),U(()=>H(d).status))),J(v,e),J(x,t),J(w,n),E.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`accepted`)),D.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`expired`)),O.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`rejected`))},[()=>(W(sl),H(d),U(()=>sl(H(d).created_at))),()=>(W(sl),H(d),U(()=>sl(H(d).updated_at))),()=>(H(d),W(sl),U(()=>H(d).expires_at?sl(H(d).expires_at):`—`))]),G(`click`,E,()=>ee(`accepted`)),G(`click`,D,()=>ee(`expired`)),G(`click`,O,()=>ee(`rejected`)),q(e,t)},He=e=>{var t=rC();Q(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(Be,e=>{H(d)?e(Ve):e(He,-1)}),j(ze);var Ue=z(ze,2),Ke=L(Ue),qe=z(L(Ke),2),Je=L(qe);j(qe),j(Ke);var Ye=z(Ke,2),Xe=e=>{q(e,iC())},Ze=e=>{var t=aC();Q(L(t),{name:`check`,size:20,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Qe=e=>{var t=sC();X(t,5,()=>H(p),e=>e.id,(e,t)=>{var n=oC(),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),s=L(o),c=L(s,!0);j(s);var l=z(s,2),u=L(l,!0);j(l);var d=z(l,2),f=L(d,!0);j(d),j(o),j(r);var p=z(r,2),m=L(p,!0);j(p),j(n),V(e=>{J(a,(H(t),U(()=>H(t).task_code||H(t).task_id))),J(c,(H(t),U(()=>H(t).agent))),J(u,(H(t),U(()=>H(t).role))),J(f,e),p.disabled=(H(h),H(t),U(()=>H(h)===H(t).id)),J(m,(H(h),H(t),U(()=>H(h)===H(t).id?`Releasing...`:`Release`)))},[()=>(W(sl),H(t),U(()=>sl(H(t).claimed_at)))]),G(`click`,p,()=>k(H(t))),q(e,n)}),j(t),q(e,t)};Y(Ye,e=>{H(m)?e(Xe):(H(p),U(()=>H(p).length===0)?e(Ze,1):e(Qe,-1))}),j(Ue),j(Re),j(A),j(te),V(()=>{J(se,`${(H(r),U(()=>H(r).length))??``} handoffs in view`),J(de,` ${H(g)?`Close Handoff`:`New Handoff`}`),J(me,` ${H(_)?`Close Claim`:`Claim Task`}`),J(Je,`${(H(p),U(()=>H(p).length))??``} active`)}),G(`click`,le,()=>I(g,!H(g))),G(`click`,fe,()=>I(_,!H(_))),Zi(ge,()=>H(l),e=>I(l,e)),G(`change`,ge,()=>T()),va(Se,()=>H(u),e=>I(u,e)),G(`input`,Se,()=>T()),G(`click`,Ce,T),G(`click`,we,E),q(e,te),Ge()}var uC={backlog:`#64748b`,pending:`#0ea5e9`,in_progress:`#a855f7`,blocked:`#ef4444`,completed:`#10b981`,canceled:`#94a3b8`},dC={backlog:`backlog`,pending:`pending`,in_progress:`in_progress`,blocked:`blocked`,completed:`completed`,canceled:`canceled`},fC=[`#06b6d4`,`#f59e0b`,`#ec4899`,`#10b981`,`#3b82f6`,`#f97316`,`#14b8a6`,`#e11d48`,`#8b5cf6`,`#84cc16`],pC=16,mC=22,hC=28,gC=new Set([`in_progress`,`pending`]),_C=34,vC=54,yC=28,bC=58,xC=42;function SC(e,t,n){return Math.min(n,Math.max(t,e))}function CC(e,t){let n=Math.max(1,e.w-_C*2),r=Math.max(1,e.h-vC-yC),i=SC(Math.floor(n/bC)+1,1,3),a=Math.max(1,Math.floor(r/xC)+1),o=t%(i*a),s=o%i,c=Math.floor(o/i),l=i>1?n/(i-1):0,u=a>1?r/(a-1):0;return{x:e.x+_C+s*l,y:e.y+vC+c*u}}var wC=[`male_nurse`,`female_nurse`,`staff1`,`staff2`];function TC(e){return e%2==0?`wheelchair`:`stretcher`}function EC(e){return wC[(e>>>4)%wC.length]}function DC(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function OC(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return fC[t%fC.length]}function kC(e,t){let n=e-32,r=t-32,i=Math.floor((r-16)/2),a=r-i-16,o=Math.floor((n-16)/2),s=Math.floor((n-32)/3);return[{id:`pending`,label:`Pending`,x:16,y:16,w:o,h:i,color:`#f59e0b`},{id:`in_progress`,label:`In Progress`,x:16+o+16,y:16,w:n-o-16,h:i,color:`#3b82f6`},{id:`backlog`,label:`Backlog`,x:16,y:16+i+16,w:s,h:a,color:`#8b5cf6`},{id:`blocked`,label:`Blocked`,x:16+s+16,y:16+i+16,w:s,h:a,color:`#ef4444`},{id:`burnout`,label:`Therapy Room`,x:16+s*2+32,y:16+i+16,w:n-s*2-32,h:a,color:`#14b8a6`}]}function AC(e,t){let n=new Map(t.map(e=>[e.id,e])),r=new Map;t.forEach(e=>r.set(e.id,[]));for(let t of e){let e=dC[t.status]??`pending`;if(!r.has(e))continue;let n=r.get(e);n.length<pC&&n.push(t)}let i=new Map;for(let[e,t]of r){let r=n.get(e);if(!r||t.length===0)continue;let a=r.w-mC*2,o=r.h-mC-hC,s=Math.max(1,Math.floor(a/65)),c=Math.ceil(t.length/s);for(;o/c<55&&s<t.length;)s++,c=Math.ceil(t.length/s);let l=a/s,u=Math.max(55,Math.min(75,o/c));t.forEach((e,t)=>{let n=t%s,a=Math.floor(t/s);i.set(e.id,{x:r.x+mC+n*l+l/2,y:r.y+hC+a*u+u/2})})}return i}function jC(e,t,n,r,i){let a=kC(i.canvasWidth,i.canvasHeight),o=AC(e,a),s=a.find(e=>e.id===`in_progress`)||a[0],c={agents:new Map,tasks:new Map,handoffs:[]};for(let t of e){let e=o.get(t.id);e&&c.tasks.set(t.id,{id:t.id,taskCode:t.task_code,title:t.title,repo:t.repo,status:t.status,priority:t.priority??3,x:e.x,y:e.y,claimedByAgentId:t.coordination?.active_claim_agent??null,hasPendingHandoff:(t.coordination?.pending_handoff_count??0)>0})}let l=new Map;for(let e of t){l.has(e.agent)||l.set(e.agent,{tasks:new Set,role:e.role,repos:new Set});let t=l.get(e.agent);t.tasks.add(e.task_id),t.repos.add(e.repo)}for(let t of e){let e=t.coordination?.active_claim_agent;if(!e)continue;l.has(e)||l.set(e,{tasks:new Set,role:t.coordination?.active_claim_role??`agent`,repos:new Set});let n=l.get(e);n.tasks.add(t.id),n.repos.add(t.repo)}Array.from(l.keys()).forEach((e,t)=>{let{tasks:n,role:i,repos:o}=l.get(e),u=r?.agents.get(e),d=s.x+s.w/2+(t%3-1)*30,f=s.y+s.h/2+(Math.floor(t/3)-1)*30,p=Array.from(n).find(e=>c.tasks.has(e)),m=p?c.tasks.get(p):null,h=Array.from(n).map(e=>c.tasks.get(e)).filter(e=>!!e).some(e=>gC.has(e.status)),g=m?m.x+20:d,_=m?m.y-18:f,v=Array.from(n).sort(),y=u?.claimedTaskIds.slice().sort()??[],b=!u||v.join(`,`)!==y.join(`,`),x=Date.now(),S=b?x:u?.lastUpdateTs??x,C=!h&&x-S>3e4,w=n.size>0?`processing`:`idle`;m&&m.status===`blocked`&&(w=`blocked`);let T=u?.handoffAnim??null;if(C){w=`burnout`;let n=CC(a.find(e=>e.id===`burnout`)||s,t);if(g=n.x,_=n.y,u?.state!==`burnout`&&!T){let t=DC(e),n=u?.x??d,r=u?.y??f;T={phase:`pickup`,vehicle:TC(t),helperVariant:EC(t),startX:n,startY:r,endX:g,endY:_,progress:0,phaseStartTs:performance.now(),wheelAngle:0,helperWalkPhase:0,helperFacing:`down`,stepBounce:0}}}else T=null;c.agents.set(e,{id:e,name:e,role:i,color:OC(e),x:u?.x??d,y:u?.y??f,targetX:g,targetY:_,vx:u?.vx??0,vy:u?.vy??0,walkPhase:u?.walkPhase??0,facing:u?.facing??`down`,state:w,claimedTaskIds:Array.from(n),repos:Array.from(o),lastUpdateTs:S,handoffAnim:T})});for(let e of n)e.status===`pending`&&c.handoffs.push({id:e.id,fromAgentId:e.from_agent,toAgentId:e.to_agent,taskId:e.task_id,summary:e.summary});return c}function MC(e){return e?.structuredContent??null}function NC(e,t,n){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id??``),repo:n,from_agent:String(r.from_agent??``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,task_code:r.task_code?String(r.task_code):null,summary:String(r.summary??``),context:r.context??{},status:String(r.status??`pending`),created_at:String(r.created_at??``),updated_at:String(r.updated_at??r.created_at??``),expires_at:r.expires_at?String(r.expires_at):null}}function PC(){let e=M({scene:null,loading:!1,error:null,lastUpdated:0,repoCount:0}),t=null,n=!1,r=null;async function i(){if(n||!r)return;let t=N(Ra).map(e=>e.repo);if(t.length===0){e.update(e=>({...e,loading:!1}));return}n=!0;try{let n=await Promise.allSettled(t.map(e=>Promise.allSettled([Z.tasks({repo:e,status:`in_progress`,pageSize:10}),Z.tasks({repo:e,status:`pending`,pageSize:8}),Z.tasks({repo:e,status:`blocked`,pageSize:4}),Z.coordinationClaims({repo:e,active_only:!0,pageSize:50}),Z.callTool(`handoff-list`,{repo:e,status:`pending`,limit:10,structured:!0})]))),i=[],a=[],o=[];t.forEach((e,t)=>{let r=n[t];if(r.status===`rejected`)return;let[s,c,l,u,d]=r.value;if(s.status===`fulfilled`&&i.push(...s.value.tasks??[]),c.status===`fulfilled`&&i.push(...c.value.tasks??[]),l.status===`fulfilled`&&i.push(...l.value.tasks??[]),u.status===`fulfilled`&&a.push(...u.value.claims??[]),d.status===`fulfilled`){let t=MC(d.value),n=t?.handoffs?.columns??[],r=t?.handoffs?.rows??[];o.push(...r.map(t=>NC(n,t,e)))}});let s=Array.from(new Map(i.map(e=>[e.id,e])).values());e.update(e=>({...e,scene:jC(s,a,o,e.scene,r),loading:!1,error:null,lastUpdated:Date.now(),repoCount:t.length}))}catch(t){e.update(e=>({...e,loading:!1,error:t instanceof Error?t.message:`Failed to load arena data`}))}finally{n=!1}}function a(e){r=e}function o(n){r=n,e.update(e=>({...e,loading:!0})),i(),t!==null&&clearInterval(t),t=setInterval(()=>void i(),2500)}function s(){t!==null&&(clearInterval(t),t=null),n=!1}return{subscribe:e.subscribe,start:o,stop:s,setLayout:a,refresh:i}}var FC=85,IC=50,LC=6,RC=[2800,5e3],zC=[600,1600],BC=100,VC=800,HC=600;function UC(e){if(!e)return[0,0,0];let t=e.replace(`#`,``);t.length===3?t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t.length===8&&(t=t.slice(0,6));let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function WC(e,t){let[n,r,i]=UC(e);return`rgb(${Math.min(255,n+t)},${Math.min(255,r+t)},${Math.min(255,i+t)})`}function GC(e,t){let[n,r,i]=UC(e);return`rgb(${Math.max(0,n-t)},${Math.max(0,r-t)},${Math.max(0,i-t)})`}function KC(e,t){let[n,r,i]=UC(e);return`rgba(${n},${r},${i},${t})`}function qC(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function JC(e,t){return Math.abs(Math.sin(e*127.1+t*311.7)*43758.5453)%1}function $(e,t,n,r,i,a){a=Math.min(a,r/2,i/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.arcTo(t+r,n,t+r,n+a,a),e.lineTo(t+r,n+i-a),e.arcTo(t+r,n+i,t+r-a,n+i,a),e.lineTo(t+a,n+i),e.arcTo(t,n+i,t,n+i-a,a),e.lineTo(t,n+a),e.arcTo(t,n,t+a,n,a),e.closePath()}var YC=[`#1a0a00`,`#2d1a00`,`#0f0f0f`,`#4a2d00`,`#8B4513`,`#d4a800`,`#c0392b`,`#7b2d8b`,`#1a3a5c`,`#2d4a1a`],XC=[`#f5c89a`,`#e8a870`,`#d4875a`,`#c06840`,`#8B5e3c`,`#6b3d28`],ZC=[`#1e3a5f`,`#2d4a1a`,`#3d2a1a`,`#2a1a3d`,`#1a3d3d`,`#3d1a2a`,`#2a2a3d`],QC={male_nurse:`#1e6e9e`,female_nurse:`#2d8e6e`,staff1:`#5a3e8a`,staff2:`#8a5a3e`},$C={male_nurse:`#1a0a00`,female_nurse:`#4a2d00`,staff1:`#0f0f0f`,staff2:`#2d1a00`},ew={male_nurse:`#e8a870`,female_nurse:`#f5c89a`,staff1:`#d4875a`,staff2:`#c06840`},tw=class{canvas;ctx;scene=null;layout=null;isDark=!1;hoveredId=null;rafId=0;ts=0;prevTs=0;wander=new Map;constructor(e){this.canvas=e,this.ctx=e.getContext(`2d`)}update(e,t,n){this.scene=e,this.layout=t,this.isDark=n}setHovered(e){this.hoveredId=e}start(){this.rafId=requestAnimationFrame(this.loop)}stop(){cancelAnimationFrame(this.rafId)}hitTestAgent(e,t){if(!this.scene)return null;for(let n of this.scene.agents.values()){let r=e-n.x,i=t-n.y;if(r*r+i*i<=196)return n.id}return null}loop=e=>{let t=Math.min((e-this.prevTs)/1e3,.05);if(this.prevTs=e,this.ts=e,this.scene&&this.layout){let n=kC(this.layout.canvasWidth,this.layout.canvasHeight),r=n.find(e=>e.id===`in_progress`)||n[0];this.updateAgents(t,r,e)}this.render(),this.rafId=requestAnimationFrame(this.loop)};updateAgents(e,t,n){if(this.scene)for(let r of this.scene.agents.values()){if(r.handoffAnim){this.updateHandoffAnim(r,e,n);continue}if(r.state===`idle`){let e=this.wander.get(r.id);if(e||(e={nextPickAt:n},this.wander.set(r.id,e)),n>=e.nextPickAt){r.targetX=t.x+22+Math.random()*(t.w-44),r.targetY=t.y+26+22+Math.random()*(t.h-26-44);let i=zC[0]+Math.random()*(zC[1]-zC[0]),a=RC[0]+Math.random()*(RC[1]-RC[0]);e.nextPickAt=n+i+a}if(Math.random()<.005){let e=[`up`,`down`,`left`,`right`];r.facing=e[Math.floor(Math.random()*e.length)]}}else this.wander.delete(r.id);let i=r.targetX-r.x,a=r.targetY-r.y,o=Math.hypot(i,a);if(o<LC)r.vx*=.75,r.vy*=.75,Math.abs(r.vx)<.5&&(r.vx=0),Math.abs(r.vy)<.5&&(r.vy=0);else{let e=r.state===`idle`?IC:FC,t=o<50?o/50*e+8:e;r.vx+=(i/o*t-r.vx)*.1,r.vy+=(a/o*t-r.vy)*.1}r.x+=r.vx*e,r.y+=r.vy*e;let s=Math.hypot(r.vx,r.vy);s>5?(r.walkPhase=(r.walkPhase+e*s*.07)%(Math.PI*2),r.facing=Math.abs(r.vx)>Math.abs(r.vy)?r.vx>0?`right`:`left`:r.vy>0?`down`:`up`):r.walkPhase=r.walkPhase>.05?r.walkPhase*.85:0}}updateHandoffAnim(e,t,n){let r=e.handoffAnim,i=n-r.phaseStartTs;switch(r.phase){case`pickup`:e.vx=0,e.vy=0,e.walkPhase=0,i>=VC&&(r.phase=`moving`,r.phaseStartTs=n,r.progress=0);break;case`moving`:{let i=Math.hypot(r.endX-r.startX,r.endY-r.startY),a=i/BC;r.progress=Math.min(1,r.progress+t/a);let o=r.progress,s=o<.5?2*o*o:1-(-2*o+2)**2/2;e.x=r.startX+(r.endX-r.startX)*s,e.y=r.startY+(r.endY-r.startY)*s,e.vx=0,e.vy=0;let c=t/a*i;r.wheelAngle=(r.wheelAngle+c*.15)%(Math.PI*2),r.helperWalkPhase=(r.helperWalkPhase+t*BC*.08)%(Math.PI*2),r.stepBounce=Math.sin(r.helperWalkPhase*2)*1.5;let l=r.endX-r.startX,u=r.endY-r.startY;r.helperFacing=Math.abs(l)>Math.abs(u)?l>0?`right`:`left`:u>0?`down`:`up`,r.progress>=1&&(r.phase=`arrive`,r.phaseStartTs=n,e.x=r.endX,e.y=r.endY);break}case`arrive`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0,r.helperWalkPhase=r.helperWalkPhase>.05?r.helperWalkPhase*.92:0,i>=HC&&(r.phase=`resting`,r.phaseStartTs=n,e.targetX=r.endX,e.targetY=r.endY);break;case`resting`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0;break}}render(){let{canvas:e,ctx:t,scene:n,layout:r,isDark:i,ts:a}=this;if(!r)return;let o=kC(r.canvasWidth,r.canvasHeight);t.clearRect(0,0,e.width,e.height),this.drawGlobalFloor(i);for(let e of o)this.drawRoom(e,i);if(!n)return;let s=Array.from(n.tasks.values()).sort((e,t)=>e.y-t.y);for(let e of s)this.drawWorkstation(e,i,a);this.drawClaimLinks(n,a),this.drawHandoffBeams(n,a);for(let e of n.agents.values())e.handoffAnim&&this.drawHandoffTrail(e,i,a);let c=Array.from(n.agents.values()).sort((e,t)=>e.y-t.y||(e.id===this.hoveredId?1:-1));for(let e of c)e.handoffAnim?this.drawHandoffGroup(e,i,a):this.drawCharacter(e,i,a)}drawGlobalFloor(e){let{ctx:t,canvas:n}=this;t.fillStyle=e?`#0a0e1a`:`#dde3ed`,t.fillRect(0,0,n.width,n.height),t.strokeStyle=e?`rgba(255,255,255,0.02)`:`rgba(0,0,0,0.03)`,t.lineWidth=.5;for(let e=0;e<n.width;e+=24)t.beginPath(),t.moveTo(e,0),t.lineTo(e,n.height),t.stroke();for(let e=0;e<n.height;e+=24)t.beginPath(),t.moveTo(0,e),t.lineTo(n.width,e),t.stroke()}drawRoom(e,t){let{ctx:n}=this,{x:r,y:i,w:a,h:o,color:s,id:c}=e;switch(n.save(),$(n,r,i,a,o,10),n.clip(),c){case`in_progress`:this.drawPlazaFloor(n,r,i,a,o,t);break;case`backlog`:this.drawDirtFloor(n,r,i,a,o,`#5b3a6e`,t);break;case`pending`:this.drawDirtFloor(n,r,i,a,o,`#a68246`,t);break;case`blocked`:this.drawDirtFloor(n,r,i,a,o,`#8b2a2a`,t);break;case`burnout`:this.drawCleanTileFloor(n,r,i,a,o,t);break;case`completed`:this.drawGrassFloor(n,r,i,a,o,t);break;default:this.drawWoodPlankFloor(n,r,i,a,o,t);break}let l=r+a/2,u=i+o*.35,d=n.createRadialGradient(l,u,0,l,u,Math.max(a,o)*.85);d.addColorStop(0,KC(s,t?.12:.08)),d.addColorStop(1,`rgba(0,0,0,0)`),n.fillStyle=d,n.fillRect(r,i,a,o),n.restore(),this.drawWall(n,r,i,a,t,s),n.strokeStyle=KC(s,t?.45:.35),n.lineWidth=1.5,$(n,r,i,a,o,10),n.stroke(),this.drawRoomDecor(n,e,t),this.drawZoneLabel(n,e,t)}drawPlazaFloor(e,t,n,r,i,a){let o=a?`#2e3540`:`#b0b8c4`,s=a?`#262d36`:`#a0a8b4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/24)*24;o<t+r;o+=24)for(let t=Math.floor(n/24)*24;t<n+i;t+=24)Math.round(o/24)+Math.round(t/24)&1||(e.fillStyle=s,e.fillRect(o,t,24,24)),JC(o,t)>.8&&(e.strokeStyle=a?`rgba(0,0,0,0.3)`:`rgba(0,0,0,0.1)`,e.lineWidth=1,e.beginPath(),e.moveTo(o+2,t+2),e.lineTo(o+24/2,t+24/2),e.stroke())}drawDirtFloor(e,t,n,r,i,a,o){e.fillStyle=a,e.fillRect(t,n,r,i);for(let a=t;a<t+r;a+=16)for(let t=n;t<n+i;t+=16){let n=JC(a,t);n>.5&&(e.fillStyle=o?`rgba(0,0,0,0.15)`:`rgba(255,255,255,0.1)`,e.beginPath(),e.arc(a+n*10,t+n*10,2+n*2,0,Math.PI*2),e.fill())}}drawGrassFloor(e,t,n,r,i,a){e.fillStyle=a?`#1a4020`:`#4ade80`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.1)`;for(let a=t;a<t+r;a+=12)for(let t=n;t<n+i;t+=12){let n=JC(a,t);n>.4&&(e.beginPath(),e.moveTo(a+n*5,t+8),e.lineTo(a+n*5+2,t+2),e.lineTo(a+n*5+4,t+8),e.stroke())}}drawWoodPlankFloor(e,t,n,r,i,a){let o=a?30:180,s=a?22:140,c=a?12:80;e.fillStyle=`rgb(${o},${s},${c})`,e.fillRect(t,n,r,i);for(let l=Math.floor(n/9)*9;l<n+i;l+=9){let n=Math.round(l/9),i=(JC(n,0)*30-15)*(a?.8:.6);e.fillStyle=`rgb(${Math.round(Math.min(255,Math.max(0,o+i)))},${Math.round(Math.min(255,Math.max(0,s+i)))},${Math.round(Math.min(255,Math.max(0,c+i)))})`,e.fillRect(t,l,r,9),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.07)`,e.lineWidth=.5,e.beginPath(),e.moveTo(t,l),e.lineTo(t+r,l),e.stroke();let u=n%2*55+JC(n,1)*40;for(let i=t+u;i<t+r;i+=80+JC(n,i)*20)e.beginPath(),e.moveTo(i,l),e.lineTo(i,l+9),e.stroke()}}drawCarpetFloor(e,t,n,r,i,a,o){e.fillStyle=o?`#100d18`:`#1a1535`,e.fillRect(t,n,r,i),e.strokeStyle=KC(a,.06),e.lineWidth=1;for(let a=-i;a<r+i;a+=8)e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+a+i,n+i),e.stroke();e.strokeStyle=o?`rgba(255,255,255,0.025)`:`rgba(255,255,255,0.04)`,e.lineWidth=.5;for(let a=t;a<t+r;a+=12)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=n;a<n+i;a+=12)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCrackedTileFloor(e,t,n,r,i,a){e.fillStyle=a?`#1c1410`:`#c8b89a`,e.fillRect(t,n,r,i);for(let o=Math.floor(t/18)*18;o<t+r;o+=18)for(let t=Math.floor(n/18)*18;t<n+i;t+=18){let n=JC(Math.round(o/18),Math.round(t/18)),r=(n*30-15)*(a?.7:.5);e.fillStyle=a?`rgba(255,${100+r},${50+r},0.04)`:`rgba(180,${140+r},${100+r},0.3)`,e.fillRect(o,t,18,18),n>.85&&(e.strokeStyle=a?`rgba(0,0,0,0.6)`:`rgba(100,80,60,0.5)`,e.lineWidth=.75,e.beginPath(),e.moveTo(o+n*18,t+2),e.lineTo(o+18/2+n*5,t+18/2),e.lineTo(o+18*.8,t+18-2),e.stroke())}e.strokeStyle=a?`rgba(0,0,0,0.5)`:`rgba(0,0,0,0.12)`,e.lineWidth=1;for(let a=Math.floor(t/18)*18;a<=t+r;a+=18)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/18)*18;a<=n+i;a+=18)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCleanTileFloor(e,t,n,r,i,a){let o=a?`#1a2530`:`#f0f4f8`,s=a?`#1f2d3a`:`#e8eef4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/22)*22;o<t+r;o+=22)for(let t=Math.floor(n/22)*22;t<n+i;t+=22)Math.round(o/22)+Math.round(t/22)&1||(e.fillStyle=s,e.fillRect(o+1,t+1,20,20),e.fillStyle=a?`rgba(255,255,255,0.04)`:`rgba(255,255,255,0.6)`,e.fillRect(o+3,t+3,5,5));e.strokeStyle=a?`rgba(255,255,255,0.04)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let a=Math.floor(t/22)*22;a<=t+r;a+=22)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/22)*22;a<=n+i;a+=22)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawConcreteFloor(e,t,n,r,i,a){e.fillStyle=a?`#141418`:`#b8bec8`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(255,255,255,0.03)`:`rgba(255,255,255,0.15)`,e.lineWidth=1;for(let a=n;a<n+i;a+=4)JC(0,Math.round(a))>.5&&(e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke());e.strokeStyle=a?`rgba(0,0,0,0.4)`:`rgba(0,0,0,0.1)`,e.lineWidth=1.5;for(let a=n+(80-(n%80||80));a<n+i;a+=80)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawWall(e,t,n,r,i,a){e.fillStyle=i?`#1c2130`:`#c4cad6`,$(e,t,n,r,11,0),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let i=t+24;i<t+r;i+=24)e.beginPath(),e.moveTo(i,n),e.lineTo(i,n+11),e.stroke();e.fillStyle=KC(a,.4),e.fillRect(t,n,r,2.5);let o=e.createLinearGradient(t,n+11,t,n+11+8);o.addColorStop(0,`rgba(0,0,0,0.28)`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t,n+11,r,8),e.fillStyle=i?`#253040`:`#b8bfc9`,e.fillRect(t,n,6,11),e.fillRect(t+r-6,n,6,11)}drawZoneLabel(e,t,n){let{x:r,y:i,w:a,color:o,label:s}=t,c=Math.min(a-16,92),l=r+9,u=i+3;e.fillStyle=KC(o,n?.25:.18),$(e,l,u,c,16,5),e.fill(),e.strokeStyle=KC(o,.6),e.lineWidth=.75,$(e,l,u,c,16,5),e.stroke(),e.fillStyle=o,e.font=`bold 8px system-ui,sans-serif`,e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(s.toUpperCase(),l+6,u+16/2)}drawRoomDecor(e,t,n){let{x:r,y:i,w:a,h:o,id:s}=t;switch(s){case`in_progress`:this.decorWorkspace(e,r,i,a,o,n);break;case`backlog`:this.decorArchive(e,r,i,a,o,n);break;case`pending`:this.decorLobby(e,r,i,a,o,n);break;case`blocked`:this.decorIssues(e,r,i,a,o);break;case`burnout`:this.decorTherapy(e,r,i,a,o,n);break}}decorPlaza(e,t,n,r,i,a){let o=t+r/2,s=n+i/2;e.fillStyle=a?`#1e293b`:`#94a3b8`,e.beginPath(),e.arc(o,s,24,0,Math.PI*2),e.fill(),e.fillStyle=a?`#0ea5e9`:`#38bdf8`,e.beginPath(),e.arc(o,s,20,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(255,255,255,0.4)`,e.beginPath(),e.arc(o,s,8,0,Math.PI*2),e.fill()}decorFence(e,t,n,r,i,a){e.strokeStyle=a?`#452b14`:`#8b5a2b`,e.lineWidth=4,e.strokeRect(t+4,n+4,r-8,i-8)}decorBlocked(e,t,n,r,i,a){this.decorFence(e,t,n,r,i,a),e.fillStyle=`#f97316`,[[t+20,n+i-20],[t+40,n+i-20]].forEach(([t,n])=>{e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+6,n),e.lineTo(t-6,n),e.fill()})}decorGarden(e,t,n,r,i,a){e.fillStyle=a?`#064e3b`:`#166534`,e.fillRect(t+10,n+10,20,20),e.beginPath(),e.arc(t+r-20,n+i-20,15,0,Math.PI*2),e.fill()}decorLobby(e,t,n,r,i,a){let o=t+r/2-28,s=n+i-55;this.drawSofa(e,o,s,56,a),this.drawCoffeeTable(e,t+r/2-14,n+i-32,a),this.drawPotPlant(e,t+8,n+i-18,a),this.drawPotPlant(e,t+r-18,n+i-18,a),this.drawPotPlant(e,t+8,n+28,a);let c=Math.min(r-20,70);this.drawReceptionDesk(e,t+r/2-c/2,n+24,c,a),this.drawCeilingLamp(e,t+r/2,n+14,a,this.ts)}decorInbox(e,t,n,r,i,a){this.drawLetterSorter(e,t+r-28,n+20,a),this.drawClock(e,t+18,n+20,a)}decorWorkspace(e,t,n,r,i,a){this.drawPowerStrip(e,t+12,n+i-16,Math.min(r-24,60),a),this.drawWhiteboard(e,t+r-36,n+18,a),this.drawWaterDispenser(e,t+20,n+12,a),this.drawFlowerVase(e,t+r/2,n+24,a)}decorIssues(e,t,n,r,i){e.save(),e.globalAlpha=.25,e.strokeStyle=`#f59e0b`,e.lineWidth=4,e.setLineDash([8,8]),e.beginPath(),e.moveTo(t,n+i-8),e.lineTo(t+r,n+i-8),e.stroke(),e.setLineDash([]),e.restore(),this.drawHazardSign(e,t+r/2-10,n+16)}decorDone(e,t,n,r,i,a){this.drawTrophyShelf(e,t+10,n+20,a,this.ts),this.drawPotPlant(e,t+r-18,n+i-20,a)}decorArchive(e,t,n,r,i,a){for(let i=t+10;i<t+r-22;i+=26)this.drawFilingCabinet(e,i,n+18,a);this.drawPotPlant(e,t+r-15,n+i-20,a)}drawSofa(e,t,n,r,i){let a=i?`#2d3a4a`:`#8b9eb5`,o=i?`#3a4d62`:`#a8bdd4`,s=i?`#253040`:`#7b8ea5`;e.fillStyle=a,$(e,t,n,r,8,3),e.fill(),e.fillStyle=o,$(e,t,n+7,r,10,3),e.fill(),e.fillStyle=s,$(e,t-4,n,8,17,3),e.fill(),e.fillStyle=s,$(e,t+r-4,n,8,17,3),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.07)`:`rgba(0,0,0,0.08)`,e.lineWidth=1,e.beginPath(),e.moveTo(t+r/3,n+7),e.lineTo(t+r/3,n+17),e.stroke(),e.beginPath(),e.moveTo(t+r*2/3,n+7),e.lineTo(t+r*2/3,n+17),e.stroke(),e.fillStyle=i?`#1a2030`:`#6b7c90`,[[t+2,n+15],[t+r-6,n+15]].forEach(([t,n])=>e.fillRect(t,n,4,4))}drawCoffeeTable(e,t,n,r){e.fillStyle=`rgba(0,0,0,0.15)`,e.beginPath(),e.ellipse(t+14,n+6,16,7,0,0,Math.PI*2),e.fill(),e.fillStyle=r?`#2a3545`:`#93a8be`,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a5a`:`#7a96b0`,e.lineWidth=1,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.stroke(),e.fillStyle=`rgba(255,255,255,0.1)`,e.beginPath(),e.ellipse(t+10,n+2,6,2,0,0,Math.PI*2),e.fill()}drawPotPlant(e,t,n,r){e.fillStyle=r?`#4a2d1a`:`#c4825a`,$(e,t-5,n-8,10,9,2),e.fill(),e.strokeStyle=r?`#6b4028`:`#a0643c`,e.lineWidth=.5,$(e,t-5,n-8,10,9,2),e.stroke(),e.fillStyle=r?`#2d1a0a`:`#6b4a28`,e.fillRect(t-4,n-9,8,3);let i=[`#16a34a`,`#15803d`,`#22c55e`,`#166534`];[[-5,-18,4,3,-.3],[-2,-20,4,3,0],[3,-18,4,3,.3],[-7,-14,3.5,2.5,-.5],[5,-14,3.5,2.5,.5]].forEach(([r,a,o,s,c],l)=>{e.save(),e.translate(t+r,n+a),e.rotate(c),e.fillStyle=i[l%i.length],e.beginPath(),e.ellipse(0,0,o,s,0,0,Math.PI*2),e.fill(),e.restore()})}drawReceptionDesk(e,t,n,r,i){e.fillStyle=i?`#1a2535`:`#9aafcc`,$(e,t,n,r,14,4),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a94b0`,e.lineWidth=1,$(e,t,n,r,14,4),e.stroke(),e.fillStyle=i?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.35)`,$(e,t+2,n+2,r-4,4,2),e.fill(),e.fillStyle=i?`#0f172a`:`#1e2535`,$(e,t+r/2-8,n-10,16,10,2),e.fill(),e.fillStyle=i?`#1e40af`:`#3b82f6`,$(e,t+r/2-7,n-9,14,8,1),e.fill()}drawCeilingLamp(e,t,n,r,i){e.strokeStyle=r?`#3a4555`:`#6b7a8a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-8),e.lineTo(t,n+2),e.stroke(),e.fillStyle=r?`#2a3040`:`#e8d870`,e.beginPath(),e.moveTo(t-10,n+2),e.lineTo(t+10,n+2),e.lineTo(t+8,n+10),e.lineTo(t-8,n+10),e.closePath(),e.fill();let a=.5+.5*Math.sin(i*.0015),o=e.createRadialGradient(t,n+10,0,t,n+10,35+a*5);o.addColorStop(0,r?`rgba(255,240,180,${.15+a*.05})`:`rgba(255,240,180,${.2+a*.05})`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t-40,n+10,80,45)}drawLetterSorter(e,t,n,r){e.fillStyle=r?`#2d3a50`:`#8faac0`,$(e,t,n,22,28,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#7090a8`,e.lineWidth=.75,[0,7,14,21].forEach(r=>{e.beginPath(),e.moveTo(t+1,n+r),e.lineTo(t+21,n+r),e.stroke()}),[`#ef4444`,`#f59e0b`,`#3b82f6`,`#10b981`].forEach((r,i)=>{e.fillStyle=r+`aa`,$(e,t+2,n+i*7+1,18,5,1),e.fill()})}drawClock(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f0f4fc`,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#8898b0`,e.lineWidth=1,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.stroke(),e.strokeStyle=r?`#5a6a80`:`#8898b0`,e.lineWidth=.75;for(let r=0;r<12;r++){let i=r*Math.PI/6,a=7.5;e.beginPath(),e.moveTo(t+Math.cos(i)*a,n+Math.sin(i)*a),e.lineTo(t+Math.cos(i)*(a-2),n+Math.sin(i)*(a-2)),e.stroke()}let i=new Date,a=i.getMinutes()/60*Math.PI*2-Math.PI/2,o=i.getHours()%12/12*Math.PI*2+i.getMinutes()/60*Math.PI/6-Math.PI/2;e.strokeStyle=r?`#e2e8f0`:`#1e2840`,e.lineWidth=1.5,e.lineCap=`round`,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(o)*5,n+Math.sin(o)*5),e.stroke(),e.lineWidth=1,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(a)*7,n+Math.sin(a)*7),e.stroke(),e.fillStyle=`#ef4444`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill()}drawPowerStrip(e,t,n,r,i){e.fillStyle=i?`#1a1a1a`:`#2d2d2d`,$(e,t,n,r,6,3),e.fill(),e.fillStyle=i?`#3a3a3a`:`#4a4a4a`;for(let i=6;i<r-4;i+=10)$(e,t+i,n+1,6,4,2),e.fill()}drawWhiteboard(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f8fafc`,$(e,t,n,28,22,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#b0bac8`,e.lineWidth=1,$(e,t,n,28,22,2),e.stroke(),[r?`#4ade80`:`#16a34a`,r?`#60a5fa`:`#2563eb`,r?`#f472b6`:`#db2777`].forEach((r,i)=>{e.strokeStyle=r,e.lineWidth=.75,e.beginPath(),e.moveTo(t+3,n+5+i*5),e.lineTo(t+3+8+i*4,n+5+i*5),e.stroke()})}drawHazardSign(e,t,n){e.fillStyle=`#f59e0b`,e.beginPath(),e.moveTo(t+10,n),e.lineTo(t+20,n+16),e.lineTo(t,n+16),e.closePath(),e.fill(),e.strokeStyle=`#1a1a1a`,e.lineWidth=1,e.stroke(),e.fillStyle=`#1a1a1a`,e.font=`bold 9px system-ui`,e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(`!`,t+10,n+15)}drawTrophyShelf(e,t,n,r,i){e.fillStyle=r?`#2d1a08`:`#c4825a`,$(e,t,n+20,50,5,2),e.fill(),[[`#f59e0b`,t+5],[`#94a3b8`,t+20],[`#cd7f32`,t+35]].forEach(([t,r])=>{e.fillStyle=t,e.beginPath(),e.arc(r+5,n+13,5,Math.PI,0),e.fill(),e.fillRect(r+3,n+13,4,8),$(e,r,n+20,10,4,2),e.fill()}),e.fillStyle=`rgba(245,158,11,${.08+(.5+.5*Math.sin(i*.002))*.06})`,e.beginPath(),e.ellipse(t+10,n+18,12,6,0,0,Math.PI*2),e.fill()}drawFilingCabinet(e,t,n,r){e.fillStyle=r?`#1e2535`:`#9aaec0`,$(e,t,n,20,28,2),e.fill(),e.strokeStyle=r?`#2d3a50`:`#7a98b0`,e.lineWidth=.75,$(e,t,n,20,28,2),e.stroke(),[0,9,18].forEach(i=>{e.strokeStyle=r?`#3a4a60`:`#5a7898`,e.lineWidth=.5,e.beginPath(),e.moveTo(t+1,n+i+8),e.lineTo(t+19,n+i+8),e.stroke(),e.fillStyle=r?`#4a5a70`:`#4a6888`,$(e,t+7,n+i+3,6,3,2),e.fill()})}drawFlowerVase(e,t,n,r){e.fillStyle=r?`#2d1a08`:`#8b5a2b`,$(e,t-6,n-2,12,10,1),e.fill(),e.fillStyle=r?`#1e3a8a`:`#bfdbfe`,e.beginPath(),e.ellipse(t,n-6,4,6,0,0,Math.PI*2),e.fill();let i=[`#f43f5e`,`#ec4899`,`#d946ef`];[[-3,-12],[3,-11],[0,-14]].forEach(([r,a],o)=>{e.strokeStyle=`#16a34a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+r,n+a),e.stroke(),e.fillStyle=i[o],e.beginPath(),e.arc(t+r,n+a,2.5,0,Math.PI*2),e.fill()})}drawWaterDispenser(e,t,n,r){e.fillStyle=r?`#1e293b`:`#e2e8f0`,$(e,t,n,14,24,2),e.fill(),e.strokeStyle=r?`#334155`:`#cbd5e1`,e.lineWidth=1,$(e,t,n,14,24,2),e.stroke(),e.fillStyle=r?`#0ea5e955`:`#38bdf855`,$(e,t+2,n-12,10,12,3),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(t+3,n+8,2,3),e.fillStyle=`#3b82f6`,e.fillRect(t+9,n+8,2,3),e.fillStyle=r?`#0f172a`:`#94a3b8`,$(e,t+2,n+14,10,3,1),e.fill()}drawHospitalBed(e,t,n,r){e.fillStyle=r?`#1e293b`:`#cbd5e1`,$(e,t-20,n-10,40,20,3),e.fill(),e.fillStyle=r?`#0f172a`:`#f8fafc`,$(e,t-18,n-8,36,16,2),e.fill(),e.fillStyle=r?`#1e1b4b`:`#e0e7ff`,$(e,t+10,n-6,8,12,2),e.fill(),e.fillStyle=r?`#172554`:`#bfdbfe`,$(e,t-18,n-8,20,16,2),e.fill(),e.strokeStyle=r?`#64748b`:`#94a3b8`,e.lineWidth=2,e.beginPath(),e.moveTo(t+16,n-10),e.lineTo(t+16,n-25),e.stroke(),e.fillStyle=r?`#0ea5e988`:`#38bdf888`,$(e,t+14,n-25,4,6,1),e.fill()}decorTherapy(e,t,n,r,i,a){let o={id:`burnout`,label:`Therapy Room`,x:t,y:n,w:r,h:i,color:`#14b8a6`};for(let t=0;t<6;t++){let n=CC(o,t);this.drawHospitalBed(e,n.x,n.y,a)}this.drawPotPlant(e,t+r-20,n+20,a),this.drawFlowerVase(e,t+20,n+20,a)}drawWorkstation(e,t,n){let{ctx:r}=this,{x:i,y:a,status:o,taskCode:s,title:c,claimedByAgentId:l,hasPendingHandoff:u,repo:d}=e,f=uC[o]??`#64748b`,p=!!l,m=a+14/2+4;r.fillStyle=t?`#1e2d3a`:`#7a98b5`,r.beginPath(),r.arc(i,m+3,8,0,Math.PI*2),r.fill(),r.fillStyle=t?`#162435`:`#6888a8`,r.fillRect(i-6,m-2,12,8),$(r,i-5,m-9,10,9,2),r.fill(),r.fillStyle=`rgba(0,0,0,0.18)`,$(r,i-50/2+3,a-14/2+5,50,16,4),r.fill();let h=r.createLinearGradient(i-50/2,a-14/2,i+50/2,a+14/2);h.addColorStop(0,t?`#1e2840`:`#d4dce8`),h.addColorStop(1,t?`#18202e`:`#c0ccd8`),r.fillStyle=h,$(r,i-50/2,a-14/2,50,14,4),r.fill(),r.strokeStyle=t?`#2d3a50`:`#a0b0c0`,r.lineWidth=1,$(r,i-50/2,a-14/2,50,14,4),r.stroke(),r.fillStyle=t?`#0d1520`:`#8090a8`,$(r,i-10,a-2,20,5,2),r.fill(),r.fillStyle=t?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.3)`,[[i-9,a-1,18,1.5],[i-8,a+1.5,16,1.5]].forEach(([e,t,n,i])=>{for(let a=0;a<5;a++)$(r,e+n/5*a+.5,t,n/5-1,i,.5),r.fill()}),r.fillStyle=t?`#0d1520`:`#8090a8`,r.beginPath(),r.ellipse(i+14,a,3,4,0,0,Math.PI*2),r.fill(),r.strokeStyle=t?`rgba(255,255,255,0.08)`:`rgba(0,0,0,0.1)`,r.lineWidth=.5,r.beginPath(),r.moveTo(i+14,a-2),r.lineTo(i+14,a+2),r.stroke(),r.fillStyle=t?`#2d3a50`:`#8090a8`,r.fillRect(i-1.5,a-14/2-7,3,8);let g=a-14/2-20-6;if(r.fillStyle=t?`#111827`:`#1f2937`,$(r,i-34/2-3,g-3,40,26,5),r.fill(),p){let e=r.createLinearGradient(i-34/2,g,i+34/2,g+20);e.addColorStop(0,WC(f,50)),e.addColorStop(1,f),r.fillStyle=e,p&&(r.shadowColor=f+`99`,r.shadowBlur=10)}else r.fillStyle=t?`#0f1929`:`#1e2d3a`;if($(r,i-34/2,g,34,20,3),r.fill(),r.shadowBlur=0,r.fillStyle=`rgba(255,255,255,0.12)`,$(r,i-34/2,g,34,20/2.5,3),r.fill(),p)for(let e=0;e<3;e++){let t=26*(.4+.6*(Math.sin(n*.001+e)*.5+.5));r.fillStyle=`rgba(255,255,255,${.2+e*.1})`,r.fillRect(i-34/2+4,g+3+e*5,t,2)}if(r.fillStyle=p?`rgba(255,255,255,0.9)`:t?`#374151`:`#6b7280`,r.font=`bold 5.5px monospace`,r.textAlign=`center`,r.textBaseline=`bottom`,r.fillText(`${d.split(`/`).pop()?.slice(0,5)}·${s}`.slice(0,12),i,g+20-1),r.fillStyle=t?`rgba(148,163,184,0.65)`:`rgba(71,85,105,0.65)`,r.font=`5.5px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`,r.fillText(c.slice(0,12),i,a+14/2+2),u){let e=i+34/2,t=g-1;r.fillStyle=`#f59e0b`,r.shadowColor=`#f59e0b`,r.shadowBlur=8,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=1.5,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.stroke(),r.fillStyle=`#1a1a1a`,r.font=`bold 6.5px system-ui`,r.textAlign=`center`,r.textBaseline=`middle`,r.fillText(`!`,e,t)}}drawClaimLinks(e,t){let{ctx:n}=this;for(let r of e.agents.values())for(let i of r.claimedTaskIds){let a=e.tasks.get(i);if(!a)continue;let o=n.createLinearGradient(r.x,r.y,a.x,a.y);o.addColorStop(0,r.color+`cc`),o.addColorStop(1,(uC[a.status]??`#64748b`)+`44`),n.strokeStyle=o,n.lineWidth=1.5,n.setLineDash([5,5]),n.lineDashOffset=-(t*.022)%10,n.beginPath(),n.moveTo(r.x,r.y),n.lineTo(a.x,a.y),n.stroke()}n.setLineDash([]),n.lineDashOffset=0}drawHandoffBeams(e,t){let{ctx:n}=this;for(let r of e.handoffs){let i=e.agents.get(r.fromAgentId);if(!i)continue;let a,o;if(r.toAgentId){let t=e.agents.get(r.toAgentId);if(!t)continue;a=t.x,o=t.y}else if(r.taskId){let t=e.tasks.get(r.taskId);if(!t)continue;a=t.x,o=t.y}else continue;n.strokeStyle=`#f59e0b88`,n.lineWidth=2.5,n.setLineDash([8,5]),n.lineDashOffset=-(t*.07)%13,n.beginPath(),n.moveTo(i.x,i.y),n.lineTo(a,o),n.stroke(),n.setLineDash([]),n.lineDashOffset=0;let s=t%1600/1600,c=i.x+(a-i.x)*s,l=i.y+(o-i.y)*s;n.fillStyle=`#f59e0b`,n.shadowColor=`#f59e0b`,n.shadowBlur=8,n.beginPath(),n.arc(c,l,4,0,Math.PI*2),n.fill(),n.shadowBlur=0}}drawHandoffTrail(e,t,n){let{ctx:r}=this,i=e.handoffAnim;if(r.save(),r.strokeStyle=t?`rgba(20, 184, 166, 0.35)`:`rgba(20, 184, 166, 0.45)`,r.lineWidth=2,r.setLineDash([6,5]),r.lineDashOffset=-(n*.03)%11,r.beginPath(),r.moveTo(i.startX,i.startY),r.lineTo(i.endX,i.endY),r.stroke(),r.setLineDash([]),r.lineDashOffset=0,i.phase===`moving`){let e=n%2e3/2e3,t=i.startX+(i.endX-i.startX)*e,a=i.startY+(i.endY-i.startY)*e;r.fillStyle=`#14b8a6`,r.shadowColor=`#14b8a6`,r.shadowBlur=6,r.beginPath(),r.arc(t,a,3,0,Math.PI*2),r.fill(),r.shadowBlur=0}i.phase!==`arrive`&&(r.strokeStyle=`rgba(20, 184, 166, ${.4+.3*Math.sin(n*.004)})`,r.lineWidth=1,r.beginPath(),r.arc(i.endX,i.endY,8,0,Math.PI*2),r.stroke(),r.beginPath(),r.moveTo(i.endX-4,i.endY),r.lineTo(i.endX+4,i.endY),r.stroke(),r.beginPath(),r.moveTo(i.endX,i.endY-4),r.lineTo(i.endX,i.endY+4),r.stroke()),r.restore()}drawWheelchair(e,t,n,r,i){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.2)`,e.beginPath(),e.ellipse(0,3,14,6,0,0,Math.PI*2),e.fill(),e.fillStyle=i?`#2d3a50`:`#7a8ea0`,$(e,-10,-12,20,18,3),e.fill(),e.strokeStyle=i?`#4a5a70`:`#5a7090`,e.lineWidth=1,$(e,-10,-12,20,18,3),e.stroke(),e.fillStyle=i?`#1e3a5f`:`#3b82f6`,$(e,-8,-6,16,10,2),e.fill(),e.fillStyle=i?`#1e3055`:`#2563eb`,$(e,-8,-12,16,7,2),e.fill(),e.fillStyle=i?`#3a4a60`:`#6a7a90`,$(e,-12,-10,3,14,1),e.fill(),$(e,9,-10,3,14,1),e.fill(),[-9,9].forEach(t=>{e.strokeStyle=i?`#1a1a2a`:`#333`,e.lineWidth=2.5,e.beginPath(),e.arc(t,4,5,0,Math.PI*2),e.stroke(),e.fillStyle=i?`#4a5a70`:`#aabbc0`,e.beginPath(),e.arc(t,4,3.5,0,Math.PI*2),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a8a9a`,e.lineWidth=.75;for(let n=0;n<4;n++){let i=r+n*Math.PI/2;e.beginPath(),e.moveTo(t,4),e.lineTo(t+Math.cos(i)*4,4+Math.sin(i)*4),e.stroke()}}),[-5,5].forEach(t=>{e.fillStyle=i?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,-13,2,0,Math.PI*2),e.fill(),e.fillStyle=i?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,-13,1,0,Math.PI*2),e.fill()}),e.fillStyle=i?`#3a4a60`:`#5a7090`,$(e,-6,5,12,3,1),e.fill(),e.restore()}drawStretcher(e,t,n,r,i,a){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,4,20,7,0,0,Math.PI*2),e.fill(),e.fillStyle=a?`#2d3a50`:`#8899aa`,$(e,-18,-10,36,16,3),e.fill(),e.strokeStyle=a?`#4a5a70`:`#6a7a90`,e.lineWidth=1,$(e,-18,-10,36,16,3),e.stroke(),e.fillStyle=a?`#1a2535`:`#f0f4f8`,$(e,-16,-8,32,12,2),e.fill(),e.fillStyle=a?`#2a3a5a`:`#e0e7ff`,$(e,10,-6,6,8,2),e.fill();let o=Math.sin(i)*.8;e.fillStyle=a?`#1e3a5f`:`#bfdbfe`,$(e,-15,-7+o,22,10-o*.5,2),e.fill(),e.strokeStyle=a?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.08)`,e.lineWidth=.5,e.beginPath(),e.moveTo(-5,-7+o),e.lineTo(-5,3-o*.3),e.stroke(),[[-15,5],[15,5],[-15,-11],[15,-11]].forEach(([t,n])=>{e.fillStyle=a?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,n,3,0,Math.PI*2),e.fill(),e.fillStyle=a?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill(),e.strokeStyle=a?`#3a4a5a`:`#777`,e.lineWidth=.5;let i=r;e.beginPath(),e.moveTo(t+Math.cos(i)*3*.5,n+Math.sin(i)*3*.5),e.lineTo(t-Math.cos(i)*3*.5,n-Math.sin(i)*3*.5),e.stroke()}),e.strokeStyle=a?`#5a6a80`:`#7a8a9a`,e.lineWidth=1.5,e.beginPath(),e.moveTo(-16,-10),e.lineTo(16,-10),e.stroke(),e.beginPath(),e.moveTo(-16,6),e.lineTo(16,6),e.stroke(),e.restore()}drawHelperCharacter(e,t,n,r,i,a,o){e.save(),e.translate(t,n),i===`left`&&e.scale(-1,1);let s=QC[r],c=$C[r],l=ew[r],u=a>.1,d=u?Math.sin(a)*4:0,f=u?Math.sin(a+Math.PI)*3:0,p=u?Math.sin(a*2)*.8:0;e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,2,8,3.5,0,0,Math.PI*2),e.fill(),e.fillStyle=o?`#1a2535`:`#334155`,e.save(),e.translate(-2.5,0),e.rotate(d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,0),e.rotate(-d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.fillStyle=o?`#0f172a`:`#1e293b`,e.save(),e.translate(-2.5,d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,-d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore();let m=e.createLinearGradient(-5,-20,5,-10);m.addColorStop(0,WC(s,20)),m.addColorStop(1,s),e.fillStyle=m,$(e,-5,-20,10,11,2),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`rgba(255,255,255,0.5)`,e.fillRect(-1,-17,2,5),e.fillRect(-2.5,-15.5,5,2)),e.save(),e.translate(-6.5,-19),e.rotate(f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.save(),e.translate(6.5,-19),e.rotate(-f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.fillStyle=l,e.fillRect(-2,-22,4,3);let h=-29+p;e.fillStyle=l,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,0,Math.PI*2),e.fill(),e.fillStyle=c,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,Math.PI,0),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`#f0f0f0`,$(e,-5,h-8,10,5,2),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(-1,h-7,2,3),e.fillRect(-2,h-6,4,1)),i!==`up`&&(e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(-2,h-1,1,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(2,h-1,1,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.4)`,e.lineWidth=.75,e.beginPath(),e.arc(0,h+1.5,2,.1,Math.PI-.1),e.stroke()),e.restore()}drawHandoffGroup(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o}=e,s=i.endX-i.startX,c=i.endY-i.startY,l=Math.hypot(s,c)||1,u=-s/l,d=-c/l,f=i.vehicle===`wheelchair`?18:22,p=a+u*f,m=o+d*f+i.stepBounce,h=1;if(i.phase===`pickup`){let e=n-i.phaseStartTs;h=Math.min(1,e/400)}else if(i.phase===`arrive`){let e=n-i.phaseStartTs;h=Math.max(0,1-e/HC)}else i.phase===`resting`&&(h=0);if(i.vehicle===`wheelchair`)this.drawWheelchair(r,a,o,i.wheelAngle,t);else{let e=n*.002;this.drawStretcher(r,a,o,i.wheelAngle,e,t)}this.drawPassiveAgent(e,t,n),h>.01&&(r.save(),r.globalAlpha=h,this.drawHelperCharacter(r,p,m,i.helperVariant,i.helperFacing,i.phase===`moving`?i.helperWalkPhase:0,t),r.restore()),r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let g=e.name.length>12?e.name.slice(0,12)+`…`:e.name;r.fillText(g,a,o+(i.vehicle===`stretcher`?14:12)),i.phase===`moving`&&this.drawRollingSFX(r,a,o,i.wheelAngle,i.vehicle,t,n)}drawPassiveAgent(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o,name:s,color:c}=e,l=qC(s||``),u=YC[l%YC.length]||`#000`,d=XC[(l>>>6)%XC.length]||`#f5c89a`;if(i.vehicle===`wheelchair`)r.save(),r.translate(a,o),r.fillStyle=c||`#64748b`,$(r,-5,-16,10,8,2),r.fill(),r.fillStyle=d,r.beginPath(),r.ellipse(0,-24,6,7,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(0,-24,6,7,0,Math.PI,0),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(-2,-24,1.5,0,Math.PI),r.stroke(),r.beginPath(),r.arc(2,-24,1.5,0,Math.PI),r.stroke(),r.fillStyle=d,r.beginPath(),r.ellipse(-10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.beginPath(),r.ellipse(10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.restore();else{r.save(),r.translate(a,o);let e=Math.sin(n*.002)*.5;r.fillStyle=d,r.beginPath(),r.ellipse(10,-1+e,5,6,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(10,-1+e,5,6,0,Math.PI*.8,Math.PI*2.2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=.75,r.beginPath(),r.arc(9,-2+e,1,0,Math.PI),r.stroke(),r.beginPath(),r.arc(12,-2+e,1,0,Math.PI),r.stroke(),r.restore()}}drawRollingSFX(e,t,n,r,i,a,o){e.save();let s=.15+.1*Math.sin(o*.01);e.strokeStyle=a?`rgba(148,163,184,${s})`:`rgba(71,85,105,${s})`,e.lineWidth=1,(i===`wheelchair`?[[-9,n+4],[9,n+4]]:[[-15,n+5],[15,n+5],[-15,n-11],[15,n-11]]).forEach(([n,i])=>{for(let a=0;a<2;a++){let o=(r+a*Math.PI)%(Math.PI*2),s=t+n-3-a*2,c=i+Math.sin(o)*2;e.beginPath(),e.moveTo(s,c-1),e.lineTo(s-3,c),e.stroke()}}),e.restore()}drawCharacter(e,t,n){let{ctx:r}=this,{walkPhase:i,facing:a,state:o,name:s,id:c}=e,{x:l,y:u}=e,d=e.color||`#64748b`,f=c===this.hoveredId,p=Math.hypot(e.vx,e.vy)>5,m=qC(s||``),h=YC[m%YC.length]||`#000`,g=ZC[(m>>>3)%ZC.length]||`#1e3a5f`,_=XC[(m>>>6)%XC.length]||`#f5c89a`,v=m%5,y=WC(d,30),b=p?Math.sin(i)*5:0,x=p?Math.sin(i+Math.PI)*4:0,S=p?Math.sin(i*2)*1.2:0;o===`blocked`?l+=Math.sin(n*.05)*1.5:o===`idle`&&!p&&(u+=Math.sin(n*.003+m)*1),r.fillStyle=`rgba(0,0,0,0.22)`,r.beginPath(),r.ellipse(l,u+3,11,5,0,0,Math.PI*2),r.fill(),f&&(r.strokeStyle=d,r.lineWidth=2,r.setLineDash([4,3]),r.beginPath(),r.arc(l,u-24+S,16,0,Math.PI*2),r.stroke(),r.setLineDash([])),r.save(),r.translate(l,u),o===`burnout`?(r.rotate(Math.PI/2),r.translate(0,15)):a===`left`&&r.scale(-1,1),r.fillStyle=g,r.save(),r.translate(-3.5,0),r.rotate(b*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.save(),r.translate(3.5,0),r.rotate(-b*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.fillStyle=GC(g,30),r.save(),r.translate(-3.5,b*.5),$(r,-3,4,7,4,2),r.fill(),r.restore(),r.save(),r.translate(3.5,-b*.5),$(r,-3,4,7,4,2),r.fill(),r.restore();let C=r.createLinearGradient(-7,-26,7,-13);C.addColorStop(0,y),C.addColorStop(1,d),r.fillStyle=C,$(r,-7,-26,14,14,3),r.fill(),r.fillStyle=WC(d,45),$(r,-3.5,-26,7,5,2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.12)`,r.lineWidth=.75,r.beginPath(),r.moveTo(0,-26),r.lineTo(0,-13),r.stroke(),r.save(),r.translate(-9,-24),r.rotate(x*.12);let w=r.createLinearGradient(-2,0,2,10);w.addColorStop(0,y),w.addColorStop(1,d),r.fillStyle=w,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.save(),r.translate(9,-24),r.rotate(-x*.12),r.fillStyle=w,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.fillStyle=_,r.fillRect(-2.5,-28,5,4);let T=-38+S;r.fillStyle=`rgba(0,0,0,0.15)`,r.beginPath(),r.ellipse(1,T+2,9,5,0,0,Math.PI*2),r.fill();let E=r.createRadialGradient(-3,T-3,2,0,T,10);if(E.addColorStop(0,WC(_,15)),E.addColorStop(1,_),r.fillStyle=E,r.beginPath(),r.ellipse(0,T,9,10,0,0,Math.PI*2),r.fill(),this.drawHair(r,0,T,h,v),a!==`up`&&this.drawFace(r,0,T,_,a,p,i,o,n,m),r.restore(),o!==`idle`&&o!==`burnout`){let e=o===`blocked`?`#ef4444`:o===`processing`?`#a855f7`:o===`claiming`?`#0ea5e9`:`#f59e0b`,t=l+(a===`left`?-10:10),n=u-48+S;r.fillStyle=e,r.shadowColor=e,r.shadowBlur=10,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=2,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.stroke(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(t,n,6,0,Math.PI*2),r.stroke()}if(o===`processing`){let e=.4+.6*Math.sin(n*.0028);r.strokeStyle=KC(d,.18+e*.14),r.lineWidth=1.5,r.beginPath(),r.arc(l,u-38+S,17+e*4,0,Math.PI*2),r.stroke();for(let e=0;e<3;e++){let t=.3+.7*Math.sin(n*.004+e*1.1);r.fillStyle=KC(d,.5+t*.5),r.beginPath(),r.arc(l+(-5+e*5),u-54+S,1.5+t,0,Math.PI*2),r.fill()}}if(o===`burnout`){let e=n*.002%(Math.PI*2);for(let t=0;t<3;t++){let n=(e+t*(Math.PI*2/3))%(Math.PI*2),i=Math.max(0,Math.sin(n)),a=l+5+Math.cos(n)*5+n*2,o=u-10-n*8;r.fillStyle=`rgba(150, 150, 200, ${i})`,r.font=`bold ${8+n*1.5}px monospace`,r.fillText(`Z`,a,o)}}r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let D=s.length>12?s.slice(0,12)+`…`:s;r.fillText(D,l,u+12)}drawHair(e,t,n,r,i){switch(e.fillStyle=r,i){case 0:e.beginPath(),e.ellipse(t,n,9,10,0,Math.PI,0),e.fill(),e.fillRect(t-9,n-2,3,5),e.fillRect(t+6,n-2,3,5);break;case 1:for(let r=-2;r<=2;r++)e.beginPath(),e.moveTo(t+r*4-2,n-7),e.lineTo(t+r*4,n-14),e.lineTo(t+r*4+2,n-7),e.closePath(),e.fill();e.beginPath(),e.ellipse(t,n-5,9,4,0,0,Math.PI*2),e.fill();break;case 2:e.save(),e.translate(t,n),e.beginPath(),e.moveTo(-9,-2),e.bezierCurveTo(-11,-12,10,-16,11,-6),e.lineTo(9,0),e.bezierCurveTo(4,-8,-4,-10,-9,-2),e.closePath(),e.fill(),e.restore();break;case 3:e.beginPath(),e.arc(t,n,9.5,Math.PI,0),e.fill(),$(e,t-10,n,4,12,2),e.fill(),$(e,t+6,n,4,12,2),e.fill();break;case 4:e.fillStyle=GC(r,20),$(e,t-12,n-6,24,5,2),e.fill(),e.fillStyle=r,$(e,t-9,n-16,18,12,3),e.fill(),e.fillStyle=WC(r,40),$(e,t-3,n-11,6,4,1),e.fill();break}}drawFace(e,t,n,r,i,a,o,s,c,l){if(i===`right`)e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.ellipse(t+5,n-2,1.5,1.5,0,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.2)`,e.lineWidth=1,e.beginPath(),e.arc(t+9,n,3,-.5,.5),e.stroke();else if(s===`burnout`){if((l||0)%2==0){e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1;let r=(c||0)*.005%(Math.PI*2);e.save(),e.translate(t-3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore(),e.save(),e.translate(t+3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore()}else e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1.5,e.beginPath(),e.arc(t-3,n-2,2.5,0,Math.PI),e.stroke(),e.beginPath(),e.arc(t+3,n-2,2.5,0,Math.PI),e.stroke();e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,e.beginPath(),e.arc(t,n+3,2,Math.PI,Math.PI*2),e.stroke()}else{e.fillStyle=`white`,e.beginPath(),e.ellipse(t-3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.beginPath(),e.ellipse(t+3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(20,20,80,0.85)`,e.beginPath(),e.arc(t-3,n-2,1.3,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+3,n-2,1.3,0,Math.PI*2),e.fill(),e.fillStyle=`white`,e.beginPath(),e.arc(t-3.5,n-2.5,.5,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+2.5,n-2.5,.5,0,Math.PI*2),e.fill();let r=a&&Math.sin(o)>.5;e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,r?(e.beginPath(),e.arc(t,n+2,2,0,Math.PI),e.stroke()):(e.beginPath(),e.moveTo(t-2.5,n+2.5),e.quadraticCurveTo(t,n+4,t+2.5,n+2.5),e.stroke())}}},nw=K(`<span class="badge loading svelte-1pykpun"><span class="animate-spin" style="display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%"></span> Loading…</span>`),rw=K(`<span class="badge error svelte-1pykpun"><!> Error</span>`),iw=K(`<span class="badge live svelte-1pykpun"><span class="pulse-dot svelte-1pykpun"></span> Live · <strong> </strong> <strong> </strong> <!></span>`),aw=K(`<div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Repos</span> <span class="tip-repos svelte-1pykpun"> </span></div>`),ow=K(`<div class="agent-tip glass svelte-1pykpun"><div class="tip-name svelte-1pykpun"><span class="tip-dot svelte-1pykpun"></span> </div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Role</span><span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">State</span> <span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Tasks</span><span> </span></div> <!></div>`),sw=K(`<div class="arena-empty svelte-1pykpun"><!> <div style="font-weight:700;font-size:0.9rem">No active agents</div> <div class="arena-empty-sub svelte-1pykpun">Agents appear here when they claim tasks across your repositories</div></div>`),cw=K(`<div class="arena-root glass card animate-fade-in svelte-1pykpun"><div class="arena-hdr svelte-1pykpun"><div class="arena-hdr-left svelte-1pykpun"><div class="arena-icon svelte-1pykpun"><!></div> <div><div class="section-label" style="margin:0">Agent Arena</div> <div class="arena-sub svelte-1pykpun">Live 2D view · all repositories</div></div></div> <div class="arena-hdr-right svelte-1pykpun"><!></div></div> <div class="arena-wrap svelte-1pykpun"><canvas class="arena-canvas svelte-1pykpun"></canvas> <!> <!></div> <div class="arena-footer svelte-1pykpun"><div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#8b5cf6"></span>Lobby (idle)</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#0ea5e9"></span>Inbox</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#a855f7"></span>Workspace</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#ef4444"></span>Issues</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#10b981"></span>Done</div></div> <div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-bubble svelte-1pykpun"></span>Working agent</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun" style="border-color:#f59e0b"></span>Handoff beam</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun"></span>Claim link</div></div></div></div>`);function lw(e,t){We(t,!1);let n=()=>P(p,`$arena`,i),r=()=>P(Ia,`$theme`,i),[i,a]=pt(),o=F(),s=F(),c=F(),l=F(null),u=F(null),d=F(null),f=F(null),p=PC();function m(){if(!H(s)||!H(c))return;let e=H(c).clientWidth||960,t=Math.max(520,Math.min(window.innerHeight-220,800));sn(s,H(s).width=e),sn(s,H(s).height=t),I(u,{canvasWidth:e,canvasHeight:t}),H(l)||(I(l,new tw(H(s))),H(l).start()),p.setLayout(H(u)),n().scene&&H(l).update(n().scene,H(u),r()===`dark`)}function h(e){if(!H(l)||!n().scene){I(d,null),I(f,null);return}let t=H(s).getBoundingClientRect(),r=H(s).width/t.width,i=H(s).height/t.height,a=(e.clientX-t.left)*r,o=(e.clientY-t.top)*i,c=H(l).hitTestAgent(a,o);c!==H(d)&&(I(d,c),H(l).setHovered(H(d))),I(f,H(d)?{x:e.clientX-t.left+14,y:e.clientY-t.top-10}:null)}function g(){I(d,null),I(f,null),H(l)?.setHovered(null)}Aa(()=>{let e=setTimeout(()=>{m(),H(u)&&p.start(H(u))},60),t=new ResizeObserver(()=>m());return t.observe(H(c)),()=>{clearTimeout(e),t.disconnect()}}),ja(()=>{p.stop(),H(l)?.stop()}),B(()=>(H(l),n(),H(u),r()),()=>{H(l)&&n().scene&&H(u)&&H(l).update(n().scene,H(u),r()===`dark`)}),B(()=>(H(d),n()),()=>{I(o,H(d)&&n().scene?n().scene.agents.get(H(d))??null:null)}),Un(),Ea();var _=cw(),v=L(_),y=L(v),b=L(y);Q(L(b),{name:`cpu`,size:16,strokeWidth:1.75}),j(b),Ne(2),j(y);var x=z(y,2),S=L(x),C=e=>{q(e,nw())},w=e=>{var t=rw();Q(L(t),{name:`alert-circle`,size:11}),Ne(),j(t),q(e,t)},T=e=>{var t=iw(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r),o=z(a),s=L(o,!0);j(o);var c=z(o),l=z(c),u=e=>{var t=ci();V(()=>J(t,` · ${(n(),U(()=>n().repoCount))??``} repos`)),q(e,t)};Y(l,e=>{n(),U(()=>n().repoCount>1)&&e(u)}),j(t),V(()=>{J(i,(n(),U(()=>n().scene.agents.size))),J(a,` ${(n(),U(()=>n().scene.agents.size===1?`agent`:`agents`))??``}
|
|
86
|
+
TSK-001,Example Task,Phase 1,Example task description,backlog,3`};function Ix(e){let t=M(null),n=M([]),r=M([]),i=M(``),a=M(``),o=M(!1),s=M(!1);function c(){t.set(null),n.set([]),r.set([]),i.set(``),a.set(``),o.set(!1)}function l(){s.set(!1),c(),e.onClose&&e.onClose()}function u(){s.set(!0)}function d(e){let t=e.split(/\r?\n/).filter(e=>e.trim()!==``);if(t.length===0)return{headers:[],rows:[]};let n=e=>{let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`"`&&e[i+1]===`"`?(n+=`"`,i++):a===`"`?r=!r:a===`,`&&!r?(t.push(n.trim()),n=``):n+=a}return t.push(n.trim()),t},r=n(t[0]).filter(e=>e!==``);return{headers:r,rows:t.slice(1).map(n).map(e=>{let t={};return r.forEach((n,r)=>{let i=n.toLowerCase().replace(/[^a-z0-9_]/g,`_`);t[i]=e[r]}),t})}}function f(e){if(a.set(``),!e.name.endsWith(`.csv`)){a.set(`Please select a valid .csv file.`);return}t.set(e),i.set(e.name);let o=new FileReader;o.onload=e=>{let t=e.target?.result,i=d(t);r.set(i.headers),n.set(i.rows),i.rows.length===0&&a.set(`CSV file appears to be empty or missing headers.`)},o.readAsText(e)}function p(e){let t=e.target.files?.[0];t&&f(t)}function m(e){e.preventDefault();let t=e.dataTransfer?.files?.[0];t&&f(t)}function h(){let t=Fx[e.importTarget],n=new Blob([t],{type:`text/csv;charset=utf-8;`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.setAttribute(`href`,r),i.setAttribute(`download`,`example_${e.importTarget}.csv`),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function g(){let t=[];if(n.subscribe(e=>t=e)(),a.set(``),t.length===0){a.set(`No data to import.`);return}o.set(!0);try{let n=0;n=e.importTarget===`memories`?(await Z.bulkImportMemories(e.repo,t)).count:(await Z.bulkImportTasks(e.repo,t)).count,alert(`Imported ${n} ${e.importTarget} successfully.`),e.onSuccess&&e.onSuccess(),l()}catch(e){a.set(e instanceof Error?e.message:`Import failed`)}finally{o.set(!1)}}return{file:t,csvData:n,headers:r,fileName:i,errorMsg:a,isSubmitting:o,isOpen:s,open:u,close:l,handleFileSelect:p,handleFileDrop:m,downloadExample:h,handleImport:g,setFile:e=>t.set(e),setCsvData:e=>n.set(e)}}var Lx=K(`<div class="drop-zone svelte-lenod"><div class="drop-zone-content svelte-lenod"><div style="color: var(--color-text-muted)" class="svelte-lenod"><!></div> <p class="svelte-lenod">Drag and drop your <strong class="svelte-lenod">.csv</strong> file here</p> <span class="text-xs text-slate-500 mb-4 svelte-lenod">or click to browse from your computer</span> <label class="btn btn-primary btn-md cursor-pointer svelte-lenod">Select CSV File <input type="file" accept=".csv" class="hidden svelte-lenod"/></label></div></div> <div class="mt-6 flex flex-col items-center svelte-lenod"><p class="text-[0.8rem] text-slate-400 mb-2 svelte-lenod">Need a starting point?</p> <button class="btn btn-ghost btn-sm svelte-lenod"><!> </button></div>`,1),Rx=K(`<th class="svelte-lenod"> </th>`),zx=K(`<td class="svelte-lenod"> </td>`),Bx=K(`<tr class="svelte-lenod"></tr>`),Vx=K(`<div class="file-info flex items-center justify-between p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg mb-4 svelte-lenod"><div class="flex items-center gap-3 svelte-lenod"><div style="color: #0ea5e9; display: flex;" class="svelte-lenod"><!></div> <div class="svelte-lenod"><div class="text-sm font-semibold svelte-lenod"> </div> <div class="text-[0.7rem] text-slate-400 svelte-lenod"> </div></div></div> <button class="btn btn-ghost btn-sm text-red-500 svelte-lenod">Change File</button></div> <div class="preview-container svelte-lenod"><div class="preview-header svelte-lenod"><span class="svelte-lenod">Data Preview (First 5 rows)</span></div> <div class="table-wrapper svelte-lenod"><table class="svelte-lenod"><thead class="svelte-lenod"><tr class="svelte-lenod"></tr></thead><tbody class="svelte-lenod"></tbody></table></div></div>`,1),Hx=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),Ux=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),Wx=K(`<!> Start Import`,1),Gx=K(`<div class="modal-backdrop svelte-lenod"><div class="modal-content svelte-lenod"><div class="modal-header svelte-lenod"><div class="flex items-center gap-2 svelte-lenod"><div class="header-icon svelte-lenod" style="color: #0ea5e9"><!></div> <h3 class="svelte-lenod"> </h3></div> <button class="btn btn-ghost btn-sm close-btn svelte-lenod"><!></button></div> <div class="modal-body svelte-lenod"><div class="p-6 svelte-lenod"><!> <!></div></div> <div class="modal-footer svelte-lenod"><button class="btn btn-ghost svelte-lenod">Cancel</button> <button class="btn btn-primary svelte-lenod"><!></button></div></div></div>`);function Kx(e,t){We(t,!1);let n=()=>P(H(d),`$file`,l),r=()=>P(H(f),`$csvData`,l),i=()=>P(H(p),`$headers`,l),a=()=>P(H(m),`$fileName`,l),o=()=>P(H(h),`$errorMsg`,l),s=()=>P(H(g),`$isSubmitting`,l),c=()=>P(H(_),`$composableIsOpen`,l),[l,u]=pt(),d=F(),f=F(),p=F(),m=F(),h=F(),g=F(),_=F(),v=F(),y=F(),b=F(),x=F(),S=F(),C=F(),w=F(),T=F(),E=F(),D=F(),O=F(),ee=F(),k=F(),te=ka(t,`repo`,8),ne=ka(t,`importTarget`,8,`memories`),re=ka(t,`isOpen`,12,!1),ie=Na(),ae=F();function oe(e){I(ae,Ix({repo:te(),importTarget:e,onSuccess:()=>ie(`success`),onClose:()=>{re(!1),ie(`close`)}}))}oe(ne()),B(()=>W(ne()),()=>{ne()&&oe(ne())}),B(()=>(H(ae),W(re())),()=>{H(ae).isOpen.set(re())}),B(()=>H(ae),()=>{dt(I(d,H(ae).file),`$file`,l)}),B(()=>H(ae),()=>{dt(I(f,H(ae).csvData),`$csvData`,l)}),B(()=>H(ae),()=>{dt(I(p,H(ae).headers),`$headers`,l)}),B(()=>H(ae),()=>{dt(I(m,H(ae).fileName),`$fileName`,l)}),B(()=>H(ae),()=>{dt(I(h,H(ae).errorMsg),`$errorMsg`,l)}),B(()=>H(ae),()=>{dt(I(g,H(ae).isSubmitting),`$isSubmitting`,l)}),B(()=>H(ae),()=>{dt(I(_,H(ae).isOpen),`$composableIsOpen`,l)}),B(()=>H(ae),()=>{I(v,H(ae).close)}),B(()=>H(ae),()=>{I(y,H(ae).handleFileSelect)}),B(()=>H(ae),()=>{I(b,H(ae).handleFileDrop)}),B(()=>H(ae),()=>{I(x,H(ae).downloadExample)}),B(()=>H(ae),()=>{I(S,H(ae).handleImport)}),B(()=>H(ae),()=>{I(C,H(ae).setFile)}),B(()=>H(ae),()=>{I(w,H(ae).setCsvData)}),B(()=>n(),()=>{I(T,n())}),B(()=>r(),()=>{I(E,r())}),B(()=>i(),()=>{I(D,i())}),B(()=>a(),()=>{I(O,a())}),B(()=>o(),()=>{I(ee,o())}),B(()=>s(),()=>{I(k,s())}),Un(),Ea();var se=li(),ce=R(se),le=e=>{var n=Gx(),r=L(n),i=L(r),a=L(i),o=L(a);Q(L(o),{name:`upload-cloud`,size:18}),j(o);var s=z(o,2),c=L(s);j(s),j(a);var l=z(a,2);Q(L(l),{name:`x`,size:18,strokeWidth:2}),j(l),j(i);var u=z(i,2),d=L(u),f=L(d),p=e=>{var n=Lx(),r=R(n),i=L(r),a=L(i);Q(L(a),{name:`file-up`,size:48,strokeWidth:1}),j(a);var o=z(a,6),s=z(L(o));j(o),j(i),j(r);var c=z(r,2),l=z(L(c),2),u=L(l);Q(u,{name:`download`,size:14,className:`mr-2`});var d=z(u);j(l),j(c),V(()=>J(d,` Download Example ${ne()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,Ta(function(e){Oa.call(this,t,e)})),G(`drop`,r,function(...e){H(b)?.apply(this,e)}),G(`click`,l,function(...e){H(x)?.apply(this,e)}),q(e,n)},m=e=>{var t=Vx(),n=R(t),r=L(n),i=L(r);Q(L(i),{name:`file-type-2`,size:24}),j(i);var a=z(i,2),o=L(a),s=L(o,!0);j(o);var c=z(o,2),l=L(c);j(c),j(a),j(r);var u=z(r,2);j(n);var d=z(n,2),f=z(L(d),2),p=L(f),m=L(p),h=L(m);X(h,5,()=>H(D),e=>e,(e,t)=>{var n=Rx(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(h),j(m);var g=z(m);X(g,7,()=>(H(E),U(()=>H(E).slice(0,5))),(e,t)=>`${t}-${JSON.stringify(e)}`,(e,t)=>{var n=Bx();X(n,5,()=>H(D),e=>e,(e,n)=>{var r=zx(),i=L(r,!0);j(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),j(n),q(e,n)}),j(g),j(p),j(f),j(d),V(()=>{J(s,H(O)),J(l,`${(H(E),U(()=>H(E).length))??``} rows found`)}),G(`click`,u,()=>{H(C)(null),H(w)([])}),q(e,t)};Y(f,e=>{H(T)?e(m,-1):e(p)});var h=z(f,2),g=e=>{var t=Hx(),n=L(t);Q(n,{name:`alert-circle`,size:16});var r=z(n,2),i=L(r,!0);j(r),j(t),V(()=>J(i,H(ee))),q(e,t)};Y(h,e=>{H(ee)&&e(g)}),j(d),j(u);var _=z(u,2),te=L(_),re=z(te,2),ie=L(re),ae=e=>{var t=Ux();Ne(),q(e,t)},oe=e=>{var t=Wx();Q(R(t),{name:`check`,size:16,className:`mr-2`}),Ne(),q(e,t)};Y(ie,e=>{H(k)?e(ae):e(oe,-1)}),j(re),j(_),j(r),j(n),V(()=>{J(c,`Bulk Import ${ne()===`memories`?`Memories`:`Tasks`}`),te.disabled=H(k),re.disabled=(H(k),H(E),U(()=>H(k)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,te,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(S)?.apply(this,e)}),Pi(3,r,()=>Px,()=>({duration:200,start:.95})),G(`click`,r,wa(function(e){Oa.call(this,t,e)})),Pi(3,n,()=>Nx,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(ce,e=>{c()&&e(le)}),q(e,se),Ge(),u()}var qx=K(`<option> </option>`),Jx=K(`<option> </option>`),Yx=K(`<div class="modal-backdrop svelte-l0ytfo" role="button" tabindex="-1" aria-label="Close modal"></div> <div class="modal-panel animate-fade-in svelte-l0ytfo" role="dialog" aria-modal="true" aria-labelledby="modal-title" tabindex="-1"><div class="modal-header svelte-l0ytfo"><div class="modal-header-icon svelte-l0ytfo"><!></div> <div><div id="modal-title" class="modal-title svelte-l0ytfo">New Task</div> <div class="modal-subtitle svelte-l0ytfo">Add a task to the current repository</div></div> <button class="modal-close-btn svelte-l0ytfo" aria-label="Close"><!></button></div> <div class="modal-body svelte-l0ytfo"><div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_code">Task Code <span class="required svelte-l0ytfo">*</span></label> <input id="new_task_code" class="form-input" placeholder="TASK-001"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_phase">Phase</label> <input id="new_task_phase" class="form-input" placeholder="Implementation"/></div></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_title">Title <span class="required svelte-l0ytfo">*</span> <span class="field-hint svelte-l0ytfo"> </span></label> <input id="new_task_title" class="form-input" placeholder="Short, descriptive task title" maxlength="80"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_description">Description</label> <textarea id="new_task_description" class="form-textarea modal-textarea svelte-l0ytfo" placeholder="What needs to be done? Include context, acceptance criteria, etc." rows="4"></textarea></div> <div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_status">Status</label> <select id="new_task_status" class="form-select"></select></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_priority">Priority</label> <select id="new_task_priority" class="form-select"></select></div></div></div> <div class="modal-footer svelte-l0ytfo"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-l0ytfo"><!> Create Task</button></div></div>`,1);function Xx(e,t){We(t,!1);let n=ka(t,`open`,8,!1),r=ka(t,`newTask`,12),i=ka(t,`onClose`,8,()=>{}),a=ka(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ea();var s=li();G(`keydown`,hn,o);var c=R(s),l=e=>{var t=Yx(),n=R(t),o=z(n,2),s=L(o),c=L(s);Q(L(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),j(c);var l=z(c,4);Q(L(l),{name:`x`,size:14,strokeWidth:2.5}),j(l),j(s);var u=z(s,2),d=L(u),f=L(d),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m),j(d);var g=z(d,2),_=L(g),v=z(L(_),3),y=L(v);j(v),j(_);var b=z(_,2);ca(b),j(g);var x=z(g,2),S=z(L(x),2);On(S),j(x);var C=z(x,2),w=L(C),T=z(L(w),2);X(T,4,()=>[`backlog`,`pending`,`in_progress`],e=>e,(e,t)=>{var n=qx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(dl),U(()=>dl(t)))]),q(e,n)}),j(T),j(w);var E=z(w,2),D=z(L(E),2);X(D,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=Jx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(fl),U(()=>fl(t)))]),q(e,n)}),j(D),j(E),j(C),j(u);var O=z(u,2),ee=L(O),k=z(ee,2);Q(L(k),{name:`plus`,size:13,strokeWidth:2.5}),Ne(),j(k),j(O),j(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),k.disabled=(W(r()),U(()=>!r().task_code||!r().title))}),G(`click`,n,function(...e){i()?.apply(this,e)}),G(`keydown`,n,e=>e.key===`Escape`&&i()()),G(`click`,l,function(...e){i()?.apply(this,e)}),va(p,()=>r().task_code,e=>(r(r().task_code=e,!0),cr(()=>{}))),va(h,()=>r().phase,e=>(r(r().phase=e,!0),cr(()=>{}))),va(b,()=>r().title,e=>(r(r().title=e,!0),cr(()=>{}))),va(S,()=>r().description,e=>(r(r().description=e,!0),cr(()=>{}))),Zi(T,()=>r().status,e=>(r(r().status=e,!0),cr(()=>{}))),Zi(D,()=>r().priority,e=>(r(r().priority=e,!0),cr(()=>{}))),G(`click`,ee,function(...e){i()?.apply(this,e)}),G(`click`,k,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),Ge()}var Zx=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),Qx=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),$x=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),eS=K(`<div style="padding:40px;text-align:center;"><div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;"></div></div>`),tS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),nS=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),rS=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),iS=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),aS=K(`<div class="ref-card ref-card-tool animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-tool svelte-w0wd5z"><!> Tool</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),oS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Tools</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),sS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),cS=K(`<div class="ref-card ref-card-prompt animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-prompt svelte-w0wd5z"><!> Prompt</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!></div>`),lS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Prompts</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),uS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),dS=K(`<div class="ref-params svelte-w0wd5z"><code class="ref-param-tag svelte-w0wd5z" style="background:var(--color-bg);border:1px solid var(--color-border);"> </code></div>`),fS=K(`<div class="ref-card ref-card-resource animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-resource svelte-w0wd5z"><!> Resource</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),pS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Resources</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),mS=K(`<div style="text-align:center;padding:48px 16px;color:var(--color-text-muted);"><!> <div style="font-size:0.82rem;margin-top:10px;"> </div></div>`),hS=K(`<!> <!> <!> <!>`,1),gS=K(`<div class="animate-fade-in"><div class="glass card" style="margin-bottom:16px;padding:14px 18px;"><div class="ref-header svelte-w0wd5z"><div class="flex items-center gap-2"><!> <span style="font-size:0.9rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em;">MCP Reference</span> <!></div> <div class="ref-search-wrap svelte-w0wd5z"><span class="ref-search-icon svelte-w0wd5z"><!></span> <input class="form-input ref-search-input svelte-w0wd5z" type="text" placeholder="Search tools & prompts…"/> <!></div></div></div> <div class="ref-body svelte-w0wd5z"><div class="glass ref-sidebar svelte-w0wd5z"><div class="ref-sidebar-label svelte-w0wd5z">Category</div> <!></div> <div class="ref-main svelte-w0wd5z"><!></div></div></div>`);function _S(e,t){We(t,!1);let n=()=>P(p(),`$appState`,o),r=()=>P(m(),`$filteredTools`,o),i=()=>P(h(),`$filteredPrompts`,o),a=()=>P(_(),`$filteredResources`,o),[o,s]=pt(),c=F(),l=F(),u=F(),d=F(),f=ka(t,`handler`,8),p=ka(t,`appState`,8),m=ka(t,`filteredTools`,8),h=ka(t,`filteredPrompts`,8),_=ka(t,`filteredResources`,8);function v(e){return[{id:`all`,icon:`layers`,label:`All`,count:(e.capabilities?.tools?.length||0)+(e.capabilities?.prompts?.length||0)+(e.capabilities?.resources?.length||0)},{id:`tools`,icon:`tool`,label:`Tools`,count:e.capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:e.capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:e.capabilities?.resources?.length||0}]}function y(e,t,n){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f().openReferenceDrawer(t,n))}B(()=>n(),()=>{I(c,n())}),B(()=>r(),()=>{I(l,r())}),B(()=>i(),()=>{I(u,i())}),B(()=>a(),()=>{I(d,a())}),Un(),Ea();var b=gS(),x=L(b),S=L(x),C=L(S),w=L(C);Q(w,{name:`book-open`,size:15,strokeWidth:1.75});var T=z(w,4),E=e=>{var t=Zx(),n=L(t);j(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(T,e=>{H(c),U(()=>H(c).capabilities)&&e(E)}),j(C);var D=z(C,2),O=L(D);Q(L(O),{name:`search`,size:12,strokeWidth:2}),j(O);var ee=z(O,2);ca(ee);var k=z(ee,2),te=e=>{var t=Qx();Q(L(t),{name:`x`,size:11,strokeWidth:2.5}),j(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(k,e=>{H(c),U(()=>H(c).referenceSearch)&&e(te)}),j(D),j(S),j(x);var ne=z(x,2),re=L(ne);X(z(L(re),2),1,()=>(H(c),U(()=>v(H(c)))),e=>e.id,(e,t)=>{var n=$x();let r;var i=L(n);Q(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=z(i,2),o=L(a,!0);j(a);var s=z(a,2),l=L(s,!0);j(s),j(n),V(()=>{r=Ki(n,1,`ref-cat-btn svelte-w0wd5z`,null,r,{active:H(c).referenceFilter===H(t).id}),J(o,(H(t),U(()=>H(t).label))),J(l,(H(t),U(()=>H(t).count)))}),G(`click`,n,()=>f().setReferenceFilter(H(t).id)),q(e,n)}),j(re);var ie=z(re,2),ae=L(ie),oe=e=>{q(e,eS())},se=e=>{var t=hS(),n=R(t),r=e=>{var t=oS(),n=R(t),r=L(n);Q(r,{name:`tool`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(l),e=>e.data.name,(e,t)=>{var n=aS(),r=L(n),i=L(r);Q(L(i),{name:`tool`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=tS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=iS(),r=L(n);X(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),([e])=>e,(e,t)=>{var n=Jt(()=>g(H(t),1));let r=()=>H(n)[0];var i=nS(),a=L(i,!0);j(i),V(()=>J(a,r())),q(e,i)});var i=z(r,2),a=e=>{var n=rS(),r=L(n);j(n),V(e=>J(r,`+${e??``}`),[()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length-4))]),q(e,n)},o=Jt(()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length>4)));Y(i,e=>{H(o)&&e(a)}),j(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Tool`)))),G(`click`,n,()=>f().openReferenceDrawer(`tool`,H(t).data)),G(`keydown`,n,e=>y(e,`tool`,H(t).data)),q(e,n)}),j(o),V(()=>J(a,(H(l),U(()=>H(l).length)))),q(e,t)};Y(n,e=>{H(l),U(()=>H(l).length>0)&&e(r)});var i=z(n,2),a=e=>{var t=lS(),n=R(t),r=L(n);Q(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(u),e=>e.data.name,(e,t)=>{var n=cS(),r=L(n),i=L(r);Q(L(i),{name:`sparkle`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=sS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Prompt`)))),G(`click`,n,()=>f().openReferenceDrawer(`prompt`,H(t).data)),G(`keydown`,n,e=>y(e,`prompt`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),U(()=>H(l).length>0?`20px`:`0`))??``}`),J(a,(H(u),U(()=>H(u).length)))}),q(e,t)};Y(i,e=>{H(u),U(()=>H(u).length>0)&&e(a)});var o=z(i,2),s=e=>{var t=pS(),n=R(t),r=L(n);Q(r,{name:`database`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(d),e=>e.data.uri||e.data.name,(e,t)=>{var n=fS(),r=L(n),i=L(r);Q(L(i),{name:`database`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=uS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=dS(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).data.uri)))),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.uri)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Resource`)))),G(`click`,n,()=>f().openReferenceDrawer(`resource`,H(t).data)),G(`keydown`,n,e=>y(e,`resource`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),H(u),U(()=>H(l).length>0||H(u).length>0?`20px`:`0`))??``}`),J(a,(H(d),U(()=>H(d).length)))}),q(e,t)};Y(o,e=>{H(d),U(()=>H(d).length>0)&&e(s)});var p=z(o,2),m=e=>{var t=mS(),n=L(t);Q(n,{name:`search`,size:28,strokeWidth:1.25});var r=z(n,2),i=L(r);j(r),j(t),V(()=>J(i,`No results for "${(H(c),U(()=>H(c).referenceSearch))??``}"`)),q(e,t)};Y(p,e=>{H(l),H(u),H(d),U(()=>H(l).length===0&&H(u).length===0&&H(d).length===0)&&e(m)}),q(e,t)};Y(ae,e=>{H(c),U(()=>!H(c).capabilities)?e(oe):e(se,-1)}),j(ie),j(ne),j(b),va(ee,()=>n().referenceSearch,e=>ht(p(),U(n).referenceSearch=e,U(n))),q(e,b),Ge(),s()}var vS=K(`<div class="fab-backdrop svelte-10ega5z" role="button" tabindex="-1" aria-label="Close menu"></div>`),yS=K(`<!> <div><div class="fab-actions svelte-10ega5z"><div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Task</span> <button class="fab-action-btn task svelte-10ega5z" title="Create new task" aria-label="Create new task"><!></button></div> <div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Memory</span> <button class="fab-action-btn memory svelte-10ega5z" title="Create new memory" aria-label="Create new memory"><!></button></div></div> <button class="fab-main svelte-10ega5z"><span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-10ega5z"><line x1="12" y1="5" x2="12" y2="19" class="svelte-10ega5z"></line><line x1="5" y1="12" x2="19" y2="12" class="svelte-10ega5z"></line></svg></span></button></div>`,1);function bS(e,t){We(t,!1);let n=()=>P(za,`$currentRepo`,r),[r,i]=pt(),a=ka(t,`onNewMemory`,8,()=>{}),o=ka(t,`onNewTask`,8,()=>{}),s=F(!1);function c(){I(s,!H(s))}function l(){I(s,!1),a()()}function u(){I(s,!1),o()()}function d(e){e.key===`Escape`&&I(s,!1)}Ea();var f=li();G(`keydown`,hn,d);var p=R(f),m=e=>{var t=yS(),n=R(t),r=e=>{var t=vS();G(`click`,t,()=>I(s,!1)),G(`keydown`,t,e=>e.key===`Escape`&&I(s,!1)),q(e,t)};Y(n,e=>{H(s)&&e(r)});var i=z(n,2);let a;var o=L(i),d=L(o),f=z(L(d),2);Q(L(f),{name:`clipboard-list`,size:16,strokeWidth:2}),j(f),j(d);var p=z(d,2),m=z(L(p),2);Q(L(m),{name:`brain`,size:16,strokeWidth:2}),j(m),j(p),j(o);var h=z(o,2),g=L(h);let _;j(h),j(i),V(()=>{a=Ki(i,1,`fab-container svelte-10ega5z`,null,a,{open:H(s)}),Ji(d,`transition-delay: ${H(s)?`0.05s`:`0s`}`),Ji(p,`transition-delay: ${H(s)?`0.1s`:`0s`}`),fa(h,`title`,H(s)?`Close`:`Quick create`),fa(h,`aria-label`,H(s)?`Close quick create menu`:`Open quick create menu`),fa(h,`aria-expanded`,H(s)),_=Ki(g,1,`fab-icon svelte-10ega5z`,null,_,{rotated:H(s)})}),G(`click`,f,u),G(`click`,m,l),G(`click`,h,c),q(e,t)};Y(p,e=>{n()&&e(m)}),q(e,f),Ge(),i()}var xS=K(`<div class="error-banner svelte-owkwhr"> </div>`),SS=K(`<div class="notice-banner svelte-owkwhr"> </div>`),CS=K(`<div class="glass card panel-card create-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div><div class="section-label">New Standard</div> <div class="toolbar-subtitle svelte-owkwhr">Save one atomic coding standard for this repo or globally.</div></div></div> <div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input" placeholder="Error handling standard"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input" placeholder="Optional parent standard UUID"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input" placeholder="frontend, linting"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <button class="btn btn-primary"><!> </button></div>`),wS=K(`<button class="btn btn-ghost btn-sm">Add first standard</button>`),TS=K(`<div class="muted-state svelte-owkwhr">Loading standards...</div>`),ES=K(`<div class="empty-state svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">No standards found</div> <div class="empty-copy svelte-owkwhr">Adjust the filters or create a standard for this repository.</div></div>`),DS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),OS=K(`<div class="tag-row svelte-owkwhr"></div>`),kS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),AS=K(`<div class="tag-row svelte-owkwhr"></div>`),jS=K(`<button><div class="row-title svelte-owkwhr"><!> <span> </span></div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span>child</span></div> <!></button>`),MS=K(`<div class="standard-children svelte-owkwhr"></div>`),NS=K(`<div class="standard-group svelte-owkwhr"><button><div class="row-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div> <!></button> <!></div>`),PS=K(`<div class="standard-list svelte-owkwhr"></div>`),FS=K(`<div class="muted-state svelte-owkwhr">Loading standard detail...</div>`),IS=K(`<div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr"></textarea></label> <div class="editor-actions svelte-owkwhr"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),LS=K(`<div class="markdown-body md-card"><!></div>`),RS=K(`<div class="detail-heading svelte-owkwhr"><div><div class="detail-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div></div> <div class="detail-actions svelte-owkwhr"><span class="scope-pill svelte-owkwhr"> </span> <button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-text svelte-owkwhr"><!> </button></div></div> <!>`,1),zS=K(`<div class="empty-state detail-empty svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">Select a standard</div> <div class="empty-copy svelte-owkwhr">The full Markdown content and scope metadata appear here.</div></div>`),BS=K(`<div class="feature-shell animate-fade-in svelte-owkwhr"><div class="feature-toolbar glass card svelte-owkwhr"><div class="toolbar-title svelte-owkwhr"><!> <div><div class="section-label">Coding Standards</div> <div class="toolbar-subtitle svelte-owkwhr"> </div></div></div> <button class="btn btn-primary toolbar-action svelte-owkwhr"><!> </button> <div class="toolbar-actions svelte-owkwhr"><button class="btn btn-ghost btn-sm"><!> </button> <button class="btn btn-ghost btn-sm"><!> </button> <input class="file-input svelte-owkwhr" type="file" accept="application/json,.json"/></div> <div class="toolbar-controls svelte-owkwhr"><input class="form-input" placeholder="Search standards..."/> <input class="form-input" placeholder="Language"/> <input class="form-input" placeholder="Stack tags, comma separated"/> <select class="form-select"><option>Repo + global</option><option>Global only</option><option>All standards</option></select></div></div> <!> <!> <!> <div><div class="glass card panel-card list-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div class="section-label">Standards</div> <!></div> <!></div> <div class="glass card panel-card detail-panel svelte-owkwhr"><!></div></div></div>`);function VS(e,t){We(t,!1);let n=ka(t,`repo`,8,``),r=F([]),i=F(),a=F(!1),o=F(!1),s=F(!1),c=F(!1),l=F(!1),u=F(!1),d=F(``),f=F(``),p=F(``),m=F(``),h=F(``),g=F(`repo`),_=F(null),v=F(!1),y=F(!1),b=F(),x=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),S=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``});function C(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 w(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function T(e){return JSON.stringify(e,null,2)}function E(e){let t={},n=new Set(e.map(e=>e.id));for(let r of e){let e=r.parent_id;if(!e||!n.has(e))continue;let i=t[e]||[];i.push(r),t[e]=i}return e.filter(e=>!e.parent_id||!n.has(e.parent_id)).map(e=>({standard:e,children:(t[e.id]||[]).sort((e,t)=>e.title.localeCompare(t.title))}))}async function D(e){I(o,!0),I(y,!1);try{let t=await Z.standardById(e);I(_,t),t&&I(S,{name:t.title,parent_id:t.parent_id||``,context:t.context,version:t.version,language:t.language||``,stack:t.stack.join(`, `),tags:t.tags.join(`, `),metadata:T(t.metadata),content:t.content})}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}function O(){H(_)&&(I(S,{name:H(_).title,parent_id:H(_).parent_id||``,context:H(_).context,version:H(_).version,language:H(_).language||``,stack:H(_).stack.join(`, `),tags:H(_).tags.join(`, `),metadata:T(H(_).metadata),content:H(_).content}),I(y,!0))}function ee(){I(y,!1)}async function k(){if(n()){I(a,!0),I(d,``);try{I(r,(await Z.standards({query:H(p)||void 0,language:H(m)||void 0,stack:H(h)||void 0,repo:H(g)===`repo`?n():void 0,is_global:H(g)===`global`?!0:void 0,page:1,pageSize:100})).standards||[]),(!H(_)||!H(r).some(e=>e.id===H(_)?.id))&&I(_,H(r)[0]||null),H(_)?.id&&await D(H(_).id)}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function te(){let e=C(H(x).metadata);if(!(!H(x).name.trim()||!H(x).content.trim()||w(H(x).tags).length===0||!e)){I(s,!0),I(d,``);try{let t=H(g)===`global`,r=await Z.createStandard({title:H(x).name.trim(),content:H(x).content.trim(),parent_id:H(x).parent_id.trim()||void 0,context:H(x).context.trim()||`general`,version:H(x).version.trim()||`1.0.0`,language:H(x).language.trim()||void 0,stack:w(H(x).stack),tags:w(H(x).tags),metadata:e,repo:t?void 0:n(),is_global:t});I(x,{name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),I(v,!1),await k(),I(_,r||H(_))}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function ne(){if(!H(_))return;let e=C(H(S).metadata);if(!(!H(S).name.trim()||!H(S).content.trim()||w(H(S).tags).length===0||!e)){I(s,!0),I(d,``);try{await Z.updateStandard(H(_).id,{title:H(S).name.trim(),content:H(S).content.trim(),parent_id:H(S).parent_id.trim()||null,context:H(S).context.trim()||`general`,version:H(S).version.trim()||`1.0.0`,language:H(S).language.trim()||void 0,stack:w(H(S).stack),tags:w(H(S).tags),metadata:e,repo:H(_).is_global?void 0:H(_).repo||n(),is_global:H(_).is_global}),I(y,!1),await D(H(_).id),await k()}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function re(){if(H(_)&&confirm(`Delete coding standard "${H(_).title}"?`)){I(c,!0),I(d,``);try{await Z.deleteStandard(H(_).id),I(y,!1),I(_,null),await k()}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(c,!1)}}}function ie(e){return`standards-${n()?n().replace(/[^a-z0-9._-]+/gi,`-`):`all`}-${e}-${new Date().toISOString().slice(0,10)}.json`}async function ae(){I(l,!0),I(d,``),I(f,``);try{let e=H(g)===`global`||H(g)===`all`?H(g):`repo`,t=await Z.exportStandards({repo:e===`repo`?n():void 0,scope:e}),r=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=ie(t.scope),a.click(),URL.revokeObjectURL(i)}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(l,!1)}}async function oe(e){let t=e.currentTarget,n=t.files?.[0];if(n){I(u,!0),I(d,``),I(f,``);try{let e=JSON.parse(await n.text()),t=Array.isArray(e?.standards)?e.standards.length:0,r=await Z.importStandards({...e,refresh_vectors:t>0&&t<=500});await k();let i=r.vectors_refreshed?``:` Vector refresh skipped for large import.`;I(f,`Imported ${r.imported} and updated ${r.updated} standard(s).${i}`)}catch(e){I(d,e instanceof Error?e.message:String(e))}finally{I(u,!1),t.value=``}}}Aa(()=>{k()}),B(()=>W(n()),()=>{n()&&k()}),B(()=>H(r),()=>{I(i,E(H(r)))}),Un(),Ea();var se=BS(),ce=L(se),le=L(ce),ue=L(le);Q(ue,{name:`check`,size:16,strokeWidth:2});var de=z(ue,2),fe=z(L(de),2),pe=L(fe);j(fe),j(de),j(le);var me=z(le,2),he=L(me);{let e=Yt(()=>H(v)?`chevron-left`:`plus`);Q(he,{get name(){return H(e)},size:14,strokeWidth:2})}var ge=z(he);j(me);var _e=z(me,2),ve=L(_e),ye=L(ve);Q(ye,{name:`download`,size:14,strokeWidth:2});var be=z(ye);j(ve);var xe=z(ve,2),Se=L(xe);Q(Se,{name:`upload`,size:14,strokeWidth:2});var Ce=z(Se);j(xe);var we=z(xe,2);Ca(we,e=>I(b,e),()=>H(b)),j(_e);var Te=z(_e,2),Ee=L(Te);ca(Ee);var De=z(Ee,2);ca(De);var Oe=z(De,2);ca(Oe);var A=z(Oe,2),ke=L(A);ke.value=ke.__value=`repo`;var Ae=z(ke);Ae.value=Ae.__value=`global`;var je=z(Ae);je.value=je.__value=`all`,j(A),j(Te),j(ce);var Me=z(ce,2),Pe=e=>{var t=xS(),n=L(t,!0);j(t),V(()=>J(n,H(d))),q(e,t)};Y(Me,e=>{H(d)&&e(Pe)});var Fe=z(Me,2),Ie=e=>{var t=SS(),n=L(t,!0);j(t),V(()=>J(n,H(f))),q(e,t)};Y(Fe,e=>{H(f)&&e(Ie)});var Le=z(Fe,2),Re=e=>{var t=CS(),n=z(L(t),2),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),_=z(L(g),2);ca(_),j(g);var v=z(g,2),y=z(L(v),2);ca(y),j(v),j(n);var b=z(n,2),S=z(L(b),2);On(S),j(b);var T=z(b,2),E=L(T);Q(E,{name:`check`,size:14,strokeWidth:2});var D=z(E);j(T),j(t),V(e=>{T.disabled=e,J(D,` ${H(s)?`Saving...`:`Save Standard`}`)},[()=>(H(s),H(x),U(()=>H(s)||!H(x).name.trim()||!H(x).content.trim()||w(H(x).tags).length===0||!C(H(x).metadata)))]),va(i,()=>H(x).name,e=>sn(x,H(x).name=e)),va(o,()=>H(x).parent_id,e=>sn(x,H(x).parent_id=e)),va(l,()=>H(x).context,e=>sn(x,H(x).context=e)),va(d,()=>H(x).version,e=>sn(x,H(x).version=e)),va(p,()=>H(x).language,e=>sn(x,H(x).language=e)),va(h,()=>H(x).stack,e=>sn(x,H(x).stack=e)),va(_,()=>H(x).tags,e=>sn(x,H(x).tags=e)),va(y,()=>H(x).metadata,e=>sn(x,H(x).metadata=e)),va(S,()=>H(x).content,e=>sn(x,H(x).content=e)),G(`click`,T,te),q(e,t)};Y(Le,e=>{H(v)&&e(Re)});var ze=z(Le,2);let Be;var Ve=L(ze),He=L(Ve),Ue=z(L(He),2),Ke=e=>{var t=wS();G(`click`,t,()=>I(v,!0)),q(e,t)};Y(Ue,e=>{H(r),U(()=>H(r).length===0)&&e(Ke)}),j(He);var qe=z(He,2),Je=e=>{q(e,TS())},Ye=e=>{var t=ES();Q(L(t),{name:`check`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Xe=e=>{var t=PS();X(t,5,()=>H(i),e=>e.standard.id,(e,t)=>{var r=NS(),i=L(r);let a;var o=L(i),s=L(o,!0);j(o);var c=z(o,2),l=L(c),u=L(l,!0);j(l);var d=z(l,2),f=L(d,!0);j(d);var p=z(d,2),m=L(p,!0);j(p);var h=z(p,2),g=L(h,!0);j(h),j(c);var v=z(c,2),y=e=>{var n=OS();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).standard.stack,...H(t).standard.tags])].slice(0,6))),e=>e,(e,t)=>{var n=DS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(v,e=>{H(t),U(()=>H(t).standard.stack.length||H(t).standard.tags.length)&&e(y)}),j(i);var b=z(i,2),x=e=>{var r=MS();X(r,5,()=>(H(t),U(()=>H(t).children)),e=>e.id,(e,t)=>{var r=jS();let i;var a=L(r),o=L(a);Q(o,{name:`corner-down-right`,size:13,strokeWidth:2});var s=z(o,2),c=L(s,!0);j(s),j(a);var l=z(a,2),u=L(l),d=L(u,!0);j(u);var f=z(u,2),p=L(f,!0);j(f);var m=z(f,2),h=L(m,!0);j(m),Ne(2),j(l);var g=z(l,2),v=e=>{var n=AS();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).stack,...H(t).tags])].slice(0,6))),e=>e,(e,t)=>{var n=kS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(g,e=>{H(t),U(()=>H(t).stack.length||H(t).tags.length)&&e(v)}),j(r),V(()=>{i=Ki(r,1,`standard-row standard-row-child svelte-owkwhr`,null,i,{selected:H(_)?.id===H(t).id}),J(c,(H(t),U(()=>H(t).title))),J(d,(H(t),U(()=>H(t).context))),J(p,(H(t),U(()=>H(t).language||`any language`))),J(h,(H(t),W(n()),U(()=>H(t).is_global?`global`:H(t).repo||n())))}),G(`click`,r,()=>D(H(t).id)),q(e,r)}),j(r),q(e,r)};Y(b,e=>{H(t),U(()=>H(t).children.length>0)&&e(x)}),j(r),V(()=>{a=Ki(i,1,`standard-row standard-row-root svelte-owkwhr`,null,a,{selected:H(_)?.id===H(t).standard.id}),J(s,(H(t),U(()=>H(t).standard.title))),J(u,(H(t),U(()=>H(t).standard.context))),J(f,(H(t),U(()=>H(t).standard.language||`any language`))),J(m,(H(t),W(n()),U(()=>H(t).standard.is_global?`global`:H(t).standard.repo||n()))),J(g,(H(t),U(()=>H(t).children.length>0?`${H(t).children.length} child`:`root`)))}),G(`click`,i,()=>D(H(t).standard.id)),q(e,r)}),j(t),q(e,t)};Y(qe,e=>{H(a)?e(Je):(H(r),U(()=>H(r).length===0)?e(Ye,1):e(Xe,-1))}),j(Ve);var Ze=z(Ve,2),Qe=L(Ze),$e=e=>{q(e,FS())},et=e=>{var t=RS(),n=R(t),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),l=L(o),u=L(l,!0);j(l);var d=z(l,2),f=L(d);j(d);var p=z(d,2),m=L(p,!0);j(p);var h=z(p,2),g=L(h,!0);j(h),j(o),j(r);var v=z(r,2),b=L(v),x=L(b,!0);j(b);var w=z(b,2);Q(L(w),{name:`pencil`,size:14,strokeWidth:2}),Ne(),j(w);var T=z(w,2),E=L(T);Q(E,{name:`trash`,size:14,strokeWidth:2});var D=z(E);j(T),j(v),j(n);var k=z(n,2),te=e=>{var t=IS(),n=R(t),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),_=z(L(g),2);ca(_),j(g);var v=z(g,2),y=z(L(v),2);ca(y),j(v),j(n);var b=z(n,2),x=z(L(b),2);On(x),j(b);var w=z(b,2),T=L(w),E=L(T);Q(E,{name:`check`,size:14,strokeWidth:2});var D=z(E);j(T);var O=z(T,2);j(w),V(e=>{T.disabled=e,J(D,` ${H(s)?`Saving...`:`Save Changes`}`),O.disabled=H(s)},[()=>(H(s),H(S),U(()=>H(s)||!C(H(S).metadata)))]),va(i,()=>H(S).name,e=>sn(S,H(S).name=e)),va(o,()=>H(S).parent_id,e=>sn(S,H(S).parent_id=e)),va(l,()=>H(S).context,e=>sn(S,H(S).context=e)),va(d,()=>H(S).version,e=>sn(S,H(S).version=e)),va(p,()=>H(S).language,e=>sn(S,H(S).language=e)),va(h,()=>H(S).stack,e=>sn(S,H(S).stack=e)),va(_,()=>H(S).tags,e=>sn(S,H(S).tags=e)),va(y,()=>H(S).metadata,e=>sn(S,H(S).metadata=e)),va(x,()=>H(S).content,e=>sn(S,H(S).content=e)),G(`click`,T,ne),G(`click`,O,ee),q(e,t)},ie=e=>{var t=LS();rb(L(t),{get content(){return H(_),U(()=>H(_).content)}}),j(t),q(e,t)};Y(k,e=>{H(y)?e(te):e(ie,-1)}),V(e=>{J(a,(H(_),U(()=>H(_).title))),J(u,(H(_),U(()=>H(_).context))),J(f,`v${(H(_),U(()=>H(_).version))??``}`),J(m,(H(_),U(()=>H(_).parent_id?`child of ${H(_).parent_id}`:`root`))),J(g,e),J(x,(H(_),U(()=>H(_).is_global?`Global`:`Repo`))),T.disabled=H(c),J(D,` ${H(c)?`Deleting...`:`Delete`}`)},[()=>(W(sl),H(_),U(()=>sl(H(_).updated_at)))]),G(`click`,w,O),G(`click`,T,re),q(e,t)},tt=e=>{var t=zS();Q(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(Qe,e=>{H(o)?e($e):H(_)?e(et,1):e(tt,-1)}),j(Ze),j(ze),j(se),V(()=>{J(pe,`${(H(r),U(()=>H(r).length))??``} matching standards`),J(ge,` ${H(v)?`Close Form`:`New Standard`}`),ve.disabled=(H(l),H(r),U(()=>H(l)||H(r).length===0)),J(be,` ${H(l)?`Exporting...`:`Export`}`),xe.disabled=H(u),J(Ce,` ${H(u)?`Importing...`:`Import`}`),Be=Ki(ze,1,`feature-grid svelte-owkwhr`,null,Be,{"with-create":H(v)})}),G(`click`,me,()=>I(v,!H(v))),G(`click`,ve,ae),G(`click`,xe,()=>H(b)?.click()),G(`change`,we,oe),va(Ee,()=>H(p),e=>I(p,e)),G(`input`,Ee,()=>k()),va(De,()=>H(m),e=>I(m,e)),G(`input`,De,()=>k()),va(Oe,()=>H(h),e=>I(h,e)),G(`input`,Oe,()=>k()),Zi(A,()=>H(g),e=>I(g,e)),G(`change`,A,()=>k()),q(e,se),Ge()}var HS=K(`<div class="error-banner svelte-1ik2acm"> </div>`),US=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Create Handoff</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">From agent</span><input class="form-input" placeholder="agent-a"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">To agent</span><input class="form-input" placeholder="agent-b (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123 (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Summary</span><textarea class="form-textarea summary-input svelte-1ik2acm" placeholder="What should the next agent know?"></textarea></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Context JSON</span><textarea class="form-textarea json-input svelte-1ik2acm"></textarea></label> <button class="btn btn-primary"><!> </button></div></div>`),WS=K(`<div class="claim-result svelte-1ik2acm"><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div>`),GS=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Claim Task</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Agent</span><input class="form-input" placeholder="agent-name"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Role</span><input class="form-input" placeholder="worker"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Metadata JSON</span><textarea class="form-textarea json-input svelte-1ik2acm" placeholder="Metadata JSON object"></textarea></label> <button class="btn btn-accent"><!> </button></div> <!></div>`),KS=K(`<div class="action-grid svelte-1ik2acm"><!> <!></div>`),qS=K(`<button class="btn btn-ghost btn-sm">Create handoff</button>`),JS=K(`<div class="muted-state svelte-1ik2acm">Loading handoffs...</div>`),YS=K(`<div class="empty-state svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No handoffs found</div> <div class="empty-copy svelte-1ik2acm">Create a handoff when work needs context transfer between agents.</div></div>`),XS=K(`<span> </span>`),ZS=K(`<button><div class="handoff-top svelte-1ik2acm"><span> </span> <span class="row-date svelte-1ik2acm"> </span></div> <div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <!></div></button>`),QS=K(`<div class="handoff-list svelte-1ik2acm"></div>`),$S=K(`<div class="muted-inline svelte-1ik2acm"> </div>`),eC=K(`<div class="linked-task svelte-1ik2acm"><div> </div> <!></div>`),tC=K(`<div class="context-card svelte-1ik2acm"><div class="section-label" style="margin-bottom:8px;">Transfer Context</div> <pre class="json-pre svelte-1ik2acm"> </pre></div>`),nC=K(`<div class="detail-title svelte-1ik2acm"> </div> <div class="detail-grid svelte-1ik2acm"><div class="svelte-1ik2acm"><span class="svelte-1ik2acm">From</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">To</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Status</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Created</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Updated</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Expires</span><strong class="svelte-1ik2acm"> </strong></div></div> <div class="status-actions svelte-1ik2acm"><button class="btn btn-ghost btn-sm">Accept</button> <button class="btn btn-ghost btn-sm">Expire</button> <button class="btn btn-ghost btn-sm">Reject</button></div> <!> <!>`,1),rC=K(`<div class="empty-state detail-empty svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">Select a handoff</div> <div class="empty-copy svelte-1ik2acm">Details for the selected handoff appear here.</div></div>`),iC=K(`<div class="muted-state svelte-1ik2acm">Loading claims...</div>`),aC=K(`<div class="empty-state claims-empty svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No active claims</div> <div class="empty-copy svelte-1ik2acm">Claims taken from agents will appear here for release and inspection.</div></div>`),oC=K(`<div class="claim-row svelte-1ik2acm"><div><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div> <button class="btn btn-ghost btn-sm"> </button></div>`),sC=K(`<div class="claim-list svelte-1ik2acm"></div>`),cC=K(`<div class="feature-shell animate-fade-in svelte-1ik2acm"><div class="feature-toolbar glass card svelte-1ik2acm"><div class="toolbar-title svelte-1ik2acm"><!> <div><div class="section-label">Handoffs & Claims</div> <div class="toolbar-subtitle svelte-1ik2acm"> </div></div></div> <div class="toolbar-actions svelte-1ik2acm"><button class="btn btn-primary svelte-1ik2acm"><!> </button> <button class="btn btn-accent svelte-1ik2acm"><!> </button></div> <div class="toolbar-controls svelte-1ik2acm"><select class="form-select"><option>All statuses</option><option>Pending</option><option>Accepted</option><option>Rejected</option><option>Expired</option></select> <input class="form-input" placeholder="To agent filter"/> <button class="btn btn-ghost"><!> Refresh</button> <button class="btn btn-ghost"><!> Sync All</button></div></div> <!> <!> <div class="feature-grid svelte-1ik2acm"><div class="glass card panel-card list-panel svelte-1ik2acm"><div class="panel-heading svelte-1ik2acm"><div class="section-label">Handoff Queue</div> <!></div> <!></div> <div class="detail-stack svelte-1ik2acm"><div class="glass card panel-card detail-panel svelte-1ik2acm"><!></div> <div class="glass card panel-card claims-panel svelte-1ik2acm"><div class="panel-heading svelte-1ik2acm"><div class="section-label">Active Claims</div> <div class="toolbar-subtitle svelte-1ik2acm"> </div></div> <!></div></div></div></div>`);function lC(e,t){We(t,!1);let n=ka(t,`repo`,8,``),r=F([]),i=F(!1),a=F(!1),o=F(!1),s=F(!1),c=F(``),l=F(`pending`),u=F(``),d=F(null),f=F(null),p=F([]),m=F(!1),h=F(null),g=F(!1),_=F(!1),v=F({from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),y=F({task_code:``,agent:``,role:`worker`,metadata:``});function b(e){return e?.structuredContent??null}function x(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}function S(){return!!H(v).from_agent.trim()&&!!H(v).summary.trim()&&(!!H(v).to_agent.trim()||!!H(v).task_code.trim()||!!H(v).context.trim())}function C(e,t){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id||``),repo:n(),from_agent:String(r.from_agent||``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,task_code:r.task_code?String(r.task_code):null,summary:String(r.summary||``),context:r.context&&typeof r.context==`object`&&!Array.isArray(r.context)?r.context:{},status:String(r.status||`pending`),created_at:String(r.created_at||``),updated_at:String(r.updated_at||r.created_at||``),expires_at:r.expires_at?String(r.expires_at):null}}async function w(){if(n()){I(m,!0);try{I(p,(await Z.coordinationClaims({repo:n(),active_only:!0,pageSize:20})).claims||[])}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(m,!1)}}}async function T(){if(n()){I(i,!0),I(c,``);try{let e={repo:n(),status:H(l)||void 0,limit:50,structured:!0};H(u).trim()&&(e.to_agent=H(u).trim());let t=b(await Z.callTool(`handoff-list`,e)),i=t?.handoffs?.columns||[];I(r,(t?.handoffs?.rows||[]).map(e=>C(i,e))),H(d)&&!H(r).some(e=>e.id===H(d)?.id)&&I(d,null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(i,!1)}}}async function E(){await Promise.all([T(),w()])}async function D(){if(!(!H(v).from_agent.trim()||!H(v).summary.trim())){I(a,!0),I(c,``);try{let e=b(await Z.callTool(`handoff-create`,{repo:n(),from_agent:H(v).from_agent.trim(),to_agent:H(v).to_agent.trim()||void 0,task_code:H(v).task_code.trim()||void 0,summary:H(v).summary.trim(),context:x(H(v).context),structured:!0}));I(v,{from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),I(g,!1),await T(),I(d,e||H(r)[0]||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function O(){if(!(!H(y).task_code.trim()||!H(y).agent.trim())){I(o,!0),I(c,``);try{I(f,b(await Z.callTool(`task-claim`,{repo:n(),task_code:H(y).task_code.trim(),agent:H(y).agent.trim(),role:H(y).role.trim()||`worker`,metadata:x(H(y).metadata),structured:!0}))),I(y,{task_code:``,agent:H(y).agent,role:H(y).role,metadata:``}),I(_,!1),await w()}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}}async function ee(e){if(H(d)){I(s,!0),I(c,``);try{await Z.callTool(`handoff-update`,{id:H(d).id,status:e,structured:!0}),await E(),I(d,H(r).find(e=>e.id===H(d)?.id)||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function k(e){I(h,e.id),I(c,``);try{await Z.releaseClaim({repo:n(),task_id:e.task_id,agent:e.agent}),await w()}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(h,null)}}Aa(()=>{E()}),B(()=>W(n()),()=>{n()&&E()}),Un(),Ea();var te=cC(),ne=L(te),re=L(ne),ie=L(re);Q(ie,{name:`git-branch`,size:16,strokeWidth:2});var ae=z(ie,2),oe=z(L(ae),2),se=L(oe);j(oe),j(ae),j(re);var ce=z(re,2),le=L(ce),ue=L(le);Q(ue,{name:`git-branch`,size:14,strokeWidth:2});var de=z(ue);j(le);var fe=z(le,2),pe=L(fe);Q(pe,{name:`check`,size:14,strokeWidth:2});var me=z(pe);j(fe),j(ce);var he=z(ce,2),ge=L(he),_e=L(ge);_e.value=_e.__value=``;var ve=z(_e);ve.value=ve.__value=`pending`;var ye=z(ve);ye.value=ye.__value=`accepted`;var be=z(ye);be.value=be.__value=`rejected`;var xe=z(be);xe.value=xe.__value=`expired`,j(ge);var Se=z(ge,2);ca(Se);var Ce=z(Se,2);Q(L(Ce),{name:`refresh-cw`,size:14,strokeWidth:2}),Ne(),j(Ce);var we=z(Ce,2);Q(L(we),{name:`refresh-cw`,size:14,strokeWidth:2}),Ne(),j(we),j(he),j(ne);var Te=z(ne,2),Ee=e=>{var t=HS(),n=L(t,!0);j(t),V(()=>J(n,H(c))),q(e,t)};Y(Te,e=>{H(c)&&e(Ee)});var De=z(Te,2),Oe=e=>{var t=KS(),n=L(t),r=e=>{var t=US(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var o=z(r,2),s=z(L(o));ca(s),j(o);var c=z(o,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var f=z(u,2),p=z(L(f));On(p),fa(p,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(f);var m=z(f,2),h=L(m);Q(h,{name:`git-branch`,size:14,strokeWidth:2});var g=z(h);j(m),j(n),j(t),V(e=>{m.disabled=e,J(g,` ${H(a)?`Creating...`:`Create Handoff`}`)},[()=>(H(a),U(()=>H(a)||!S()))]),va(i,()=>H(v).from_agent,e=>sn(v,H(v).from_agent=e)),va(s,()=>H(v).to_agent,e=>sn(v,H(v).to_agent=e)),va(l,()=>H(v).task_code,e=>sn(v,H(v).task_code=e)),va(d,()=>H(v).summary,e=>sn(v,H(v).summary=e)),va(p,()=>H(v).context,e=>sn(v,H(v).context=e)),G(`click`,m,D),q(e,t)};Y(n,e=>{H(g)&&e(r)});var i=z(n,2),s=e=>{var t=GS(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var a=z(r,2),s=z(L(a));ca(s),j(a);var c=z(a,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var p=z(u,2),m=L(p);Q(m,{name:`check`,size:14,strokeWidth:2});var h=z(m);j(p),j(n);var g=z(n,2),_=e=>{var t=WS(),n=L(t),r=L(n);j(n);var i=z(n,2),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s);var l=z(s,2),u=L(l,!0);j(l),j(i),j(t),V(e=>{J(r,`Claimed ${(H(f),U(()=>H(f).task_code||H(f).task_id))??``}`),J(o,(H(f),U(()=>H(f).agent))),J(c,(H(f),U(()=>H(f).role))),J(u,e)},[()=>(W(sl),H(f),U(()=>sl(H(f).claimed_at)))]),q(e,t)};Y(g,e=>{H(f)&&e(_)}),j(t),V(e=>{p.disabled=e,J(h,` ${H(o)?`Claiming...`:`Claim Task`}`)},[()=>(H(o),H(y),U(()=>H(o)||!H(y).task_code.trim()||!H(y).agent.trim()))]),va(i,()=>H(y).task_code,e=>sn(y,H(y).task_code=e)),va(s,()=>H(y).agent,e=>sn(y,H(y).agent=e)),va(l,()=>H(y).role,e=>sn(y,H(y).role=e)),va(d,()=>H(y).metadata,e=>sn(y,H(y).metadata=e)),G(`click`,p,O),q(e,t)};Y(i,e=>{H(_)&&e(s)}),j(t),q(e,t)};Y(De,e=>{(H(g)||H(_))&&e(Oe)});var A=z(De,2),ke=L(A),Ae=L(ke),je=z(L(Ae),2),Me=e=>{var t=qS();G(`click`,t,()=>I(g,!0)),q(e,t)};Y(je,e=>{H(r),U(()=>H(r).length===0)&&e(Me)}),j(Ae);var Pe=z(Ae,2),Fe=e=>{q(e,JS())},Ie=e=>{var t=YS();Q(L(t),{name:`git-branch`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Le=e=>{var t=QS();X(t,5,()=>H(r),e=>e.id,(e,t)=>{var n=ZS();let r;var i=L(n),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s),j(i);var l=z(i,2),u=L(l,!0);j(l);var f=z(l,2),p=L(f),m=L(p);j(p);var h=z(p,2),g=e=>{var n=XS(),r=L(n,!0);j(n),V(e=>J(r,e),[()=>(H(t),U(()=>H(t).task_id.slice(0,8)))]),q(e,n)};Y(h,e=>{H(t),U(()=>H(t).task_id)&&e(g)}),j(f),j(n),V(e=>{r=Ki(n,1,`handoff-row svelte-1ik2acm`,null,r,{selected:H(d)?.id===H(t).id}),Ki(a,1,`status-pill status-${(H(t),U(()=>H(t).status))??``}`,`svelte-1ik2acm`),J(o,(H(t),U(()=>H(t).status))),J(c,e),J(u,(H(t),U(()=>H(t).summary))),J(m,`${(H(t),U(()=>H(t).from_agent))??``} -> ${(H(t),U(()=>H(t).to_agent||`unassigned`))??``}`)},[()=>(W(sl),H(t),U(()=>sl(H(t).created_at)))]),G(`click`,n,()=>I(d,H(t))),q(e,n)}),j(t),q(e,t)};Y(Pe,e=>{H(i)?e(Fe):(H(r),U(()=>H(r).length===0)?e(Ie,1):e(Le,-1))}),j(ke);var Re=z(ke,2),ze=L(Re),Be=L(ze),Ve=e=>{var t=nC(),n=R(t),r=L(n,!0);j(n);var i=z(n,2),a=L(i),o=z(L(a)),c=L(o,!0);j(o),j(a);var l=z(a,2),u=z(L(l)),f=L(u,!0);j(u),j(l);var p=z(l,2),m=z(L(p)),h=L(m,!0);j(m),j(p);var g=z(p,2),_=z(L(g)),v=L(_,!0);j(_),j(g);var y=z(g,2),b=z(L(y)),x=L(b,!0);j(b),j(y);var S=z(y,2),C=z(L(S)),w=L(C,!0);j(C),j(S),j(i);var T=z(i,2),E=L(T),D=z(E,2),O=z(D,2);j(T);var k=z(T,2),te=e=>{var t=eC(),n=L(t),r=L(n);j(n);var i=z(n,2),a=e=>{var t=$S(),n=L(t,!0);j(t),V(()=>J(n,(H(d),U(()=>H(d).task_id)))),q(e,t)};Y(i,e=>{H(d),U(()=>H(d).task_id)&&e(a)}),j(t),V(()=>J(r,`Task: ${(H(d),U(()=>H(d).task_code||`—`))??``}`)),q(e,t)};Y(k,e=>{H(d),U(()=>H(d).task_id||H(d).task_code)&&e(te)});var ne=z(k,2),re=e=>{var t=tC(),n=z(L(t),2),r=L(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(H(d),U(()=>JSON.stringify(H(d).context,null,2)))]),q(e,t)},ie=Jt(()=>(H(d),U(()=>Object.keys(H(d).context||{}).length>0)));Y(ne,e=>{H(ie)&&e(re)}),V((e,t,n)=>{J(r,(H(d),U(()=>H(d).summary))),J(c,(H(d),U(()=>H(d).from_agent))),J(f,(H(d),U(()=>H(d).to_agent||`unassigned`))),J(h,(H(d),U(()=>H(d).status))),J(v,e),J(x,t),J(w,n),E.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`accepted`)),D.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`expired`)),O.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`rejected`))},[()=>(W(sl),H(d),U(()=>sl(H(d).created_at))),()=>(W(sl),H(d),U(()=>sl(H(d).updated_at))),()=>(H(d),W(sl),U(()=>H(d).expires_at?sl(H(d).expires_at):`—`))]),G(`click`,E,()=>ee(`accepted`)),G(`click`,D,()=>ee(`expired`)),G(`click`,O,()=>ee(`rejected`)),q(e,t)},He=e=>{var t=rC();Q(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(Be,e=>{H(d)?e(Ve):e(He,-1)}),j(ze);var Ue=z(ze,2),Ke=L(Ue),qe=z(L(Ke),2),Je=L(qe);j(qe),j(Ke);var Ye=z(Ke,2),Xe=e=>{q(e,iC())},Ze=e=>{var t=aC();Q(L(t),{name:`check`,size:20,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Qe=e=>{var t=sC();X(t,5,()=>H(p),e=>e.id,(e,t)=>{var n=oC(),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),s=L(o),c=L(s,!0);j(s);var l=z(s,2),u=L(l,!0);j(l);var d=z(l,2),f=L(d,!0);j(d),j(o),j(r);var p=z(r,2),m=L(p,!0);j(p),j(n),V(e=>{J(a,(H(t),U(()=>H(t).task_code||H(t).task_id))),J(c,(H(t),U(()=>H(t).agent))),J(u,(H(t),U(()=>H(t).role))),J(f,e),p.disabled=(H(h),H(t),U(()=>H(h)===H(t).id)),J(m,(H(h),H(t),U(()=>H(h)===H(t).id?`Releasing...`:`Release`)))},[()=>(W(sl),H(t),U(()=>sl(H(t).claimed_at)))]),G(`click`,p,()=>k(H(t))),q(e,n)}),j(t),q(e,t)};Y(Ye,e=>{H(m)?e(Xe):(H(p),U(()=>H(p).length===0)?e(Ze,1):e(Qe,-1))}),j(Ue),j(Re),j(A),j(te),V(()=>{J(se,`${(H(r),U(()=>H(r).length))??``} handoffs in view`),J(de,` ${H(g)?`Close Handoff`:`New Handoff`}`),J(me,` ${H(_)?`Close Claim`:`Claim Task`}`),J(Je,`${(H(p),U(()=>H(p).length))??``} active`)}),G(`click`,le,()=>I(g,!H(g))),G(`click`,fe,()=>I(_,!H(_))),Zi(ge,()=>H(l),e=>I(l,e)),G(`change`,ge,()=>T()),va(Se,()=>H(u),e=>I(u,e)),G(`input`,Se,()=>T()),G(`click`,Ce,T),G(`click`,we,E),q(e,te),Ge()}var uC={backlog:`#64748b`,pending:`#0ea5e9`,in_progress:`#a855f7`,blocked:`#ef4444`,completed:`#10b981`,canceled:`#94a3b8`},dC={backlog:`backlog`,pending:`pending`,in_progress:`in_progress`,blocked:`blocked`,completed:`completed`,canceled:`canceled`},fC=[`#06b6d4`,`#f59e0b`,`#ec4899`,`#10b981`,`#3b82f6`,`#f97316`,`#14b8a6`,`#e11d48`,`#8b5cf6`,`#84cc16`],pC=16,mC=22,hC=28,gC=new Set([`in_progress`,`pending`]),_C=34,vC=54,yC=28,bC=58,xC=42;function SC(e,t,n){return Math.min(n,Math.max(t,e))}function CC(e,t){let n=Math.max(1,e.w-_C*2),r=Math.max(1,e.h-vC-yC),i=SC(Math.floor(n/bC)+1,1,3),a=Math.max(1,Math.floor(r/xC)+1),o=t%(i*a),s=o%i,c=Math.floor(o/i),l=i>1?n/(i-1):0,u=a>1?r/(a-1):0;return{x:e.x+_C+s*l,y:e.y+vC+c*u}}var wC=[`male_nurse`,`female_nurse`,`staff1`,`staff2`];function TC(e){return e%2==0?`wheelchair`:`stretcher`}function EC(e){return wC[(e>>>4)%wC.length]}function DC(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function OC(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return fC[t%fC.length]}function kC(e,t){let n=e-32,r=t-32,i=Math.floor((r-16)/2),a=r-i-16,o=Math.floor((n-16)/2),s=Math.floor((n-32)/3);return[{id:`pending`,label:`Pending`,x:16,y:16,w:o,h:i,color:`#f59e0b`},{id:`in_progress`,label:`In Progress`,x:16+o+16,y:16,w:n-o-16,h:i,color:`#3b82f6`},{id:`backlog`,label:`Backlog`,x:16,y:16+i+16,w:s,h:a,color:`#8b5cf6`},{id:`blocked`,label:`Blocked`,x:16+s+16,y:16+i+16,w:s,h:a,color:`#ef4444`},{id:`burnout`,label:`Therapy Room`,x:16+s*2+32,y:16+i+16,w:n-s*2-32,h:a,color:`#14b8a6`}]}function AC(e,t){let n=new Map(t.map(e=>[e.id,e])),r=new Map;t.forEach(e=>r.set(e.id,[]));for(let t of e){let e=dC[t.status]??`pending`;if(!r.has(e))continue;let n=r.get(e);n.length<pC&&n.push(t)}let i=new Map;for(let[e,t]of r){let r=n.get(e);if(!r||t.length===0)continue;let a=r.w-mC*2,o=r.h-mC-hC,s=Math.max(1,Math.floor(a/65)),c=Math.ceil(t.length/s);for(;o/c<55&&s<t.length;)s++,c=Math.ceil(t.length/s);let l=a/s,u=Math.max(55,Math.min(75,o/c));t.forEach((e,t)=>{let n=t%s,a=Math.floor(t/s);i.set(e.id,{x:r.x+mC+n*l+l/2,y:r.y+hC+a*u+u/2})})}return i}function jC(e,t,n,r,i){let a=kC(i.canvasWidth,i.canvasHeight),o=AC(e,a),s=a.find(e=>e.id===`in_progress`)||a[0],c={agents:new Map,tasks:new Map,handoffs:[]};for(let t of e){let e=o.get(t.id);e&&c.tasks.set(t.id,{id:t.id,taskCode:t.task_code,title:t.title,repo:t.repo,status:t.status,priority:t.priority??3,x:e.x,y:e.y,claimedByAgentId:t.coordination?.active_claim_agent??null,hasPendingHandoff:(t.coordination?.pending_handoff_count??0)>0})}let l=new Map;for(let e of t){l.has(e.agent)||l.set(e.agent,{tasks:new Set,role:e.role,repos:new Set});let t=l.get(e.agent);t.tasks.add(e.task_id),t.repos.add(e.repo)}for(let t of e){let e=t.coordination?.active_claim_agent;if(!e)continue;l.has(e)||l.set(e,{tasks:new Set,role:t.coordination?.active_claim_role??`agent`,repos:new Set});let n=l.get(e);n.tasks.add(t.id),n.repos.add(t.repo)}Array.from(l.keys()).forEach((e,t)=>{let{tasks:n,role:i,repos:o}=l.get(e),u=r?.agents.get(e),d=s.x+s.w/2+(t%3-1)*30,f=s.y+s.h/2+(Math.floor(t/3)-1)*30,p=Array.from(n).find(e=>c.tasks.has(e)),m=p?c.tasks.get(p):null,h=Array.from(n).map(e=>c.tasks.get(e)).filter(e=>!!e).some(e=>gC.has(e.status)),g=m?m.x+20:d,_=m?m.y-18:f,v=Array.from(n).sort(),y=u?.claimedTaskIds.slice().sort()??[],b=!u||v.join(`,`)!==y.join(`,`),x=Date.now(),S=b?x:u?.lastUpdateTs??x,C=!h&&x-S>3e4,w=n.size>0?`processing`:`idle`;m&&m.status===`blocked`&&(w=`blocked`);let T=u?.handoffAnim??null;if(C){w=`burnout`;let n=CC(a.find(e=>e.id===`burnout`)||s,t);if(g=n.x,_=n.y,u?.state!==`burnout`&&!T){let t=DC(e),n=u?.x??d,r=u?.y??f;T={phase:`pickup`,vehicle:TC(t),helperVariant:EC(t),startX:n,startY:r,endX:g,endY:_,progress:0,phaseStartTs:performance.now(),wheelAngle:0,helperWalkPhase:0,helperFacing:`down`,stepBounce:0}}}else T=null;c.agents.set(e,{id:e,name:e,role:i,color:OC(e),x:u?.x??d,y:u?.y??f,targetX:g,targetY:_,vx:u?.vx??0,vy:u?.vy??0,walkPhase:u?.walkPhase??0,facing:u?.facing??`down`,state:w,claimedTaskIds:Array.from(n),repos:Array.from(o),lastUpdateTs:S,handoffAnim:T})});for(let e of n)e.status===`pending`&&c.handoffs.push({id:e.id,fromAgentId:e.from_agent,toAgentId:e.to_agent,taskId:e.task_id,summary:e.summary});return c}function MC(e){return e?.structuredContent??null}function NC(e,t,n){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id??``),repo:n,from_agent:String(r.from_agent??``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,task_code:r.task_code?String(r.task_code):null,summary:String(r.summary??``),context:r.context??{},status:String(r.status??`pending`),created_at:String(r.created_at??``),updated_at:String(r.updated_at??r.created_at??``),expires_at:r.expires_at?String(r.expires_at):null}}function PC(){let e=M({scene:null,loading:!1,error:null,lastUpdated:0,repoCount:0}),t=null,n=!1,r=null;async function i(){if(n||!r)return;let t=N(Ra).map(e=>e.repo);if(t.length===0){e.update(e=>({...e,loading:!1}));return}n=!0;try{let n=await Promise.allSettled(t.map(e=>Promise.allSettled([Z.tasks({repo:e,status:`in_progress`,pageSize:10}),Z.tasks({repo:e,status:`pending`,pageSize:8}),Z.tasks({repo:e,status:`blocked`,pageSize:4}),Z.coordinationClaims({repo:e,active_only:!0,pageSize:50}),Z.callTool(`handoff-list`,{repo:e,status:`pending`,limit:10,structured:!0})]))),i=[],a=[],o=[];t.forEach((e,t)=>{let r=n[t];if(r.status===`rejected`)return;let[s,c,l,u,d]=r.value;if(s.status===`fulfilled`&&i.push(...s.value.tasks??[]),c.status===`fulfilled`&&i.push(...c.value.tasks??[]),l.status===`fulfilled`&&i.push(...l.value.tasks??[]),u.status===`fulfilled`&&a.push(...u.value.claims??[]),d.status===`fulfilled`){let t=MC(d.value),n=t?.handoffs?.columns??[],r=t?.handoffs?.rows??[];o.push(...r.map(t=>NC(n,t,e)))}});let s=Array.from(new Map(i.map(e=>[e.id,e])).values());e.update(e=>({...e,scene:jC(s,a,o,e.scene,r),loading:!1,error:null,lastUpdated:Date.now(),repoCount:t.length}))}catch(t){e.update(e=>({...e,loading:!1,error:t instanceof Error?t.message:`Failed to load arena data`}))}finally{n=!1}}function a(e){r=e}function o(n){r=n,e.update(e=>({...e,loading:!0})),i(),t!==null&&clearInterval(t),t=setInterval(()=>void i(),2500)}function s(){t!==null&&(clearInterval(t),t=null),n=!1}return{subscribe:e.subscribe,start:o,stop:s,setLayout:a,refresh:i}}var FC=85,IC=50,LC=6,RC=[2800,5e3],zC=[600,1600],BC=100,VC=800,HC=600;function UC(e){if(!e)return[0,0,0];let t=e.replace(`#`,``);t.length===3?t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t.length===8&&(t=t.slice(0,6));let n=parseInt(t,16);return[n>>16&255,n>>8&255,n&255]}function WC(e,t){let[n,r,i]=UC(e);return`rgb(${Math.min(255,n+t)},${Math.min(255,r+t)},${Math.min(255,i+t)})`}function GC(e,t){let[n,r,i]=UC(e);return`rgb(${Math.max(0,n-t)},${Math.max(0,r-t)},${Math.max(0,i-t)})`}function KC(e,t){let[n,r,i]=UC(e);return`rgba(${n},${r},${i},${t})`}function qC(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return t}function JC(e,t){return Math.abs(Math.sin(e*127.1+t*311.7)*43758.5453)%1}function $(e,t,n,r,i,a){a=Math.min(a,r/2,i/2),e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.arcTo(t+r,n,t+r,n+a,a),e.lineTo(t+r,n+i-a),e.arcTo(t+r,n+i,t+r-a,n+i,a),e.lineTo(t+a,n+i),e.arcTo(t,n+i,t,n+i-a,a),e.lineTo(t,n+a),e.arcTo(t,n,t+a,n,a),e.closePath()}var YC=[`#1a0a00`,`#2d1a00`,`#0f0f0f`,`#4a2d00`,`#8B4513`,`#d4a800`,`#c0392b`,`#7b2d8b`,`#1a3a5c`,`#2d4a1a`],XC=[`#f5c89a`,`#e8a870`,`#d4875a`,`#c06840`,`#8B5e3c`,`#6b3d28`],ZC=[`#1e3a5f`,`#2d4a1a`,`#3d2a1a`,`#2a1a3d`,`#1a3d3d`,`#3d1a2a`,`#2a2a3d`],QC={male_nurse:`#1e6e9e`,female_nurse:`#2d8e6e`,staff1:`#5a3e8a`,staff2:`#8a5a3e`},$C={male_nurse:`#1a0a00`,female_nurse:`#4a2d00`,staff1:`#0f0f0f`,staff2:`#2d1a00`},ew={male_nurse:`#e8a870`,female_nurse:`#f5c89a`,staff1:`#d4875a`,staff2:`#c06840`},tw=class{canvas;ctx;scene=null;layout=null;isDark=!1;hoveredId=null;rafId=0;ts=0;prevTs=0;wander=new Map;constructor(e){this.canvas=e,this.ctx=e.getContext(`2d`)}update(e,t,n){this.scene=e,this.layout=t,this.isDark=n}setHovered(e){this.hoveredId=e}start(){this.rafId=requestAnimationFrame(this.loop)}stop(){cancelAnimationFrame(this.rafId)}hitTestAgent(e,t){if(!this.scene)return null;for(let n of this.scene.agents.values()){let r=e-n.x,i=t-n.y;if(r*r+i*i<=196)return n.id}return null}loop=e=>{let t=Math.min((e-this.prevTs)/1e3,.05);if(this.prevTs=e,this.ts=e,this.scene&&this.layout){let n=kC(this.layout.canvasWidth,this.layout.canvasHeight),r=n.find(e=>e.id===`in_progress`)||n[0];this.updateAgents(t,r,e)}this.render(),this.rafId=requestAnimationFrame(this.loop)};updateAgents(e,t,n){if(this.scene)for(let r of this.scene.agents.values()){if(r.handoffAnim){this.updateHandoffAnim(r,e,n);continue}if(r.state===`idle`){let e=this.wander.get(r.id);if(e||(e={nextPickAt:n},this.wander.set(r.id,e)),n>=e.nextPickAt){r.targetX=t.x+22+Math.random()*(t.w-44),r.targetY=t.y+26+22+Math.random()*(t.h-26-44);let i=zC[0]+Math.random()*(zC[1]-zC[0]),a=RC[0]+Math.random()*(RC[1]-RC[0]);e.nextPickAt=n+i+a}if(Math.random()<.005){let e=[`up`,`down`,`left`,`right`];r.facing=e[Math.floor(Math.random()*e.length)]}}else this.wander.delete(r.id);let i=r.targetX-r.x,a=r.targetY-r.y,o=Math.hypot(i,a);if(o<LC)r.vx*=.75,r.vy*=.75,Math.abs(r.vx)<.5&&(r.vx=0),Math.abs(r.vy)<.5&&(r.vy=0);else{let e=r.state===`idle`?IC:FC,t=o<50?o/50*e+8:e;r.vx+=(i/o*t-r.vx)*.1,r.vy+=(a/o*t-r.vy)*.1}r.x+=r.vx*e,r.y+=r.vy*e;let s=Math.hypot(r.vx,r.vy);s>5?(r.walkPhase=(r.walkPhase+e*s*.07)%(Math.PI*2),r.facing=Math.abs(r.vx)>Math.abs(r.vy)?r.vx>0?`right`:`left`:r.vy>0?`down`:`up`):r.walkPhase=r.walkPhase>.05?r.walkPhase*.85:0}}updateHandoffAnim(e,t,n){let r=e.handoffAnim,i=n-r.phaseStartTs;switch(r.phase){case`pickup`:e.vx=0,e.vy=0,e.walkPhase=0,i>=VC&&(r.phase=`moving`,r.phaseStartTs=n,r.progress=0);break;case`moving`:{let i=Math.hypot(r.endX-r.startX,r.endY-r.startY),a=i/BC;r.progress=Math.min(1,r.progress+t/a);let o=r.progress,s=o<.5?2*o*o:1-(-2*o+2)**2/2;e.x=r.startX+(r.endX-r.startX)*s,e.y=r.startY+(r.endY-r.startY)*s,e.vx=0,e.vy=0;let c=t/a*i;r.wheelAngle=(r.wheelAngle+c*.15)%(Math.PI*2),r.helperWalkPhase=(r.helperWalkPhase+t*BC*.08)%(Math.PI*2),r.stepBounce=Math.sin(r.helperWalkPhase*2)*1.5;let l=r.endX-r.startX,u=r.endY-r.startY;r.helperFacing=Math.abs(l)>Math.abs(u)?l>0?`right`:`left`:u>0?`down`:`up`,r.progress>=1&&(r.phase=`arrive`,r.phaseStartTs=n,e.x=r.endX,e.y=r.endY);break}case`arrive`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0,r.helperWalkPhase=r.helperWalkPhase>.05?r.helperWalkPhase*.92:0,i>=HC&&(r.phase=`resting`,r.phaseStartTs=n,e.targetX=r.endX,e.targetY=r.endY);break;case`resting`:e.x=r.endX,e.y=r.endY,e.vx=0,e.vy=0,e.walkPhase=0;break}}render(){let{canvas:e,ctx:t,scene:n,layout:r,isDark:i,ts:a}=this;if(!r)return;let o=kC(r.canvasWidth,r.canvasHeight);t.clearRect(0,0,e.width,e.height),this.drawGlobalFloor(i);for(let e of o)this.drawRoom(e,i);if(!n)return;let s=Array.from(n.tasks.values()).sort((e,t)=>e.y-t.y);for(let e of s)this.drawWorkstation(e,i,a);this.drawClaimLinks(n,a),this.drawHandoffBeams(n,a);for(let e of n.agents.values())e.handoffAnim&&this.drawHandoffTrail(e,i,a);let c=Array.from(n.agents.values()).sort((e,t)=>e.y-t.y||(e.id===this.hoveredId?1:-1));for(let e of c)e.handoffAnim?this.drawHandoffGroup(e,i,a):this.drawCharacter(e,i,a)}drawGlobalFloor(e){let{ctx:t,canvas:n}=this;t.fillStyle=e?`#0a0e1a`:`#dde3ed`,t.fillRect(0,0,n.width,n.height),t.strokeStyle=e?`rgba(255,255,255,0.02)`:`rgba(0,0,0,0.03)`,t.lineWidth=.5;for(let e=0;e<n.width;e+=24)t.beginPath(),t.moveTo(e,0),t.lineTo(e,n.height),t.stroke();for(let e=0;e<n.height;e+=24)t.beginPath(),t.moveTo(0,e),t.lineTo(n.width,e),t.stroke()}drawRoom(e,t){let{ctx:n}=this,{x:r,y:i,w:a,h:o,color:s,id:c}=e;switch(n.save(),$(n,r,i,a,o,10),n.clip(),c){case`in_progress`:this.drawPlazaFloor(n,r,i,a,o,t);break;case`backlog`:this.drawDirtFloor(n,r,i,a,o,`#5b3a6e`,t);break;case`pending`:this.drawDirtFloor(n,r,i,a,o,`#a68246`,t);break;case`blocked`:this.drawDirtFloor(n,r,i,a,o,`#8b2a2a`,t);break;case`burnout`:this.drawCleanTileFloor(n,r,i,a,o,t);break;case`completed`:this.drawGrassFloor(n,r,i,a,o,t);break;default:this.drawWoodPlankFloor(n,r,i,a,o,t);break}let l=r+a/2,u=i+o*.35,d=n.createRadialGradient(l,u,0,l,u,Math.max(a,o)*.85);d.addColorStop(0,KC(s,t?.12:.08)),d.addColorStop(1,`rgba(0,0,0,0)`),n.fillStyle=d,n.fillRect(r,i,a,o),n.restore(),this.drawWall(n,r,i,a,t,s),n.strokeStyle=KC(s,t?.45:.35),n.lineWidth=1.5,$(n,r,i,a,o,10),n.stroke(),this.drawRoomDecor(n,e,t),this.drawZoneLabel(n,e,t)}drawPlazaFloor(e,t,n,r,i,a){let o=a?`#2e3540`:`#b0b8c4`,s=a?`#262d36`:`#a0a8b4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/24)*24;o<t+r;o+=24)for(let t=Math.floor(n/24)*24;t<n+i;t+=24)Math.round(o/24)+Math.round(t/24)&1||(e.fillStyle=s,e.fillRect(o,t,24,24)),JC(o,t)>.8&&(e.strokeStyle=a?`rgba(0,0,0,0.3)`:`rgba(0,0,0,0.1)`,e.lineWidth=1,e.beginPath(),e.moveTo(o+2,t+2),e.lineTo(o+24/2,t+24/2),e.stroke())}drawDirtFloor(e,t,n,r,i,a,o){e.fillStyle=a,e.fillRect(t,n,r,i);for(let a=t;a<t+r;a+=16)for(let t=n;t<n+i;t+=16){let n=JC(a,t);n>.5&&(e.fillStyle=o?`rgba(0,0,0,0.15)`:`rgba(255,255,255,0.1)`,e.beginPath(),e.arc(a+n*10,t+n*10,2+n*2,0,Math.PI*2),e.fill())}}drawGrassFloor(e,t,n,r,i,a){e.fillStyle=a?`#1a4020`:`#4ade80`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.1)`;for(let a=t;a<t+r;a+=12)for(let t=n;t<n+i;t+=12){let n=JC(a,t);n>.4&&(e.beginPath(),e.moveTo(a+n*5,t+8),e.lineTo(a+n*5+2,t+2),e.lineTo(a+n*5+4,t+8),e.stroke())}}drawWoodPlankFloor(e,t,n,r,i,a){let o=a?30:180,s=a?22:140,c=a?12:80;e.fillStyle=`rgb(${o},${s},${c})`,e.fillRect(t,n,r,i);for(let l=Math.floor(n/9)*9;l<n+i;l+=9){let n=Math.round(l/9),i=(JC(n,0)*30-15)*(a?.8:.6);e.fillStyle=`rgb(${Math.round(Math.min(255,Math.max(0,o+i)))},${Math.round(Math.min(255,Math.max(0,s+i)))},${Math.round(Math.min(255,Math.max(0,c+i)))})`,e.fillRect(t,l,r,9),e.strokeStyle=a?`rgba(0,0,0,0.2)`:`rgba(0,0,0,0.07)`,e.lineWidth=.5,e.beginPath(),e.moveTo(t,l),e.lineTo(t+r,l),e.stroke();let u=n%2*55+JC(n,1)*40;for(let i=t+u;i<t+r;i+=80+JC(n,i)*20)e.beginPath(),e.moveTo(i,l),e.lineTo(i,l+9),e.stroke()}}drawCarpetFloor(e,t,n,r,i,a,o){e.fillStyle=o?`#100d18`:`#1a1535`,e.fillRect(t,n,r,i),e.strokeStyle=KC(a,.06),e.lineWidth=1;for(let a=-i;a<r+i;a+=8)e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+a+i,n+i),e.stroke();e.strokeStyle=o?`rgba(255,255,255,0.025)`:`rgba(255,255,255,0.04)`,e.lineWidth=.5;for(let a=t;a<t+r;a+=12)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=n;a<n+i;a+=12)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCrackedTileFloor(e,t,n,r,i,a){e.fillStyle=a?`#1c1410`:`#c8b89a`,e.fillRect(t,n,r,i);for(let o=Math.floor(t/18)*18;o<t+r;o+=18)for(let t=Math.floor(n/18)*18;t<n+i;t+=18){let n=JC(Math.round(o/18),Math.round(t/18)),r=(n*30-15)*(a?.7:.5);e.fillStyle=a?`rgba(255,${100+r},${50+r},0.04)`:`rgba(180,${140+r},${100+r},0.3)`,e.fillRect(o,t,18,18),n>.85&&(e.strokeStyle=a?`rgba(0,0,0,0.6)`:`rgba(100,80,60,0.5)`,e.lineWidth=.75,e.beginPath(),e.moveTo(o+n*18,t+2),e.lineTo(o+18/2+n*5,t+18/2),e.lineTo(o+18*.8,t+18-2),e.stroke())}e.strokeStyle=a?`rgba(0,0,0,0.5)`:`rgba(0,0,0,0.12)`,e.lineWidth=1;for(let a=Math.floor(t/18)*18;a<=t+r;a+=18)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/18)*18;a<=n+i;a+=18)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawCleanTileFloor(e,t,n,r,i,a){let o=a?`#1a2530`:`#f0f4f8`,s=a?`#1f2d3a`:`#e8eef4`;e.fillStyle=o,e.fillRect(t,n,r,i);for(let o=Math.floor(t/22)*22;o<t+r;o+=22)for(let t=Math.floor(n/22)*22;t<n+i;t+=22)Math.round(o/22)+Math.round(t/22)&1||(e.fillStyle=s,e.fillRect(o+1,t+1,20,20),e.fillStyle=a?`rgba(255,255,255,0.04)`:`rgba(255,255,255,0.6)`,e.fillRect(o+3,t+3,5,5));e.strokeStyle=a?`rgba(255,255,255,0.04)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let a=Math.floor(t/22)*22;a<=t+r;a+=22)e.beginPath(),e.moveTo(a,n),e.lineTo(a,n+i),e.stroke();for(let a=Math.floor(n/22)*22;a<=n+i;a+=22)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawConcreteFloor(e,t,n,r,i,a){e.fillStyle=a?`#141418`:`#b8bec8`,e.fillRect(t,n,r,i),e.strokeStyle=a?`rgba(255,255,255,0.03)`:`rgba(255,255,255,0.15)`,e.lineWidth=1;for(let a=n;a<n+i;a+=4)JC(0,Math.round(a))>.5&&(e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke());e.strokeStyle=a?`rgba(0,0,0,0.4)`:`rgba(0,0,0,0.1)`,e.lineWidth=1.5;for(let a=n+(80-(n%80||80));a<n+i;a+=80)e.beginPath(),e.moveTo(t,a),e.lineTo(t+r,a),e.stroke()}drawWall(e,t,n,r,i,a){e.fillStyle=i?`#1c2130`:`#c4cad6`,$(e,t,n,r,11,0),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.05)`:`rgba(0,0,0,0.06)`,e.lineWidth=.75;for(let i=t+24;i<t+r;i+=24)e.beginPath(),e.moveTo(i,n),e.lineTo(i,n+11),e.stroke();e.fillStyle=KC(a,.4),e.fillRect(t,n,r,2.5);let o=e.createLinearGradient(t,n+11,t,n+11+8);o.addColorStop(0,`rgba(0,0,0,0.28)`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t,n+11,r,8),e.fillStyle=i?`#253040`:`#b8bfc9`,e.fillRect(t,n,6,11),e.fillRect(t+r-6,n,6,11)}drawZoneLabel(e,t,n){let{x:r,y:i,w:a,color:o,label:s}=t,c=Math.min(a-16,92),l=r+9,u=i+3;e.fillStyle=KC(o,n?.25:.18),$(e,l,u,c,16,5),e.fill(),e.strokeStyle=KC(o,.6),e.lineWidth=.75,$(e,l,u,c,16,5),e.stroke(),e.fillStyle=o,e.font=`bold 8px system-ui,sans-serif`,e.textAlign=`left`,e.textBaseline=`middle`,e.fillText(s.toUpperCase(),l+6,u+16/2)}drawRoomDecor(e,t,n){let{x:r,y:i,w:a,h:o,id:s}=t;switch(s){case`in_progress`:this.decorWorkspace(e,r,i,a,o,n);break;case`backlog`:this.decorArchive(e,r,i,a,o,n);break;case`pending`:this.decorLobby(e,r,i,a,o,n);break;case`blocked`:this.decorIssues(e,r,i,a,o);break;case`burnout`:this.decorTherapy(e,r,i,a,o,n);break}}decorPlaza(e,t,n,r,i,a){let o=t+r/2,s=n+i/2;e.fillStyle=a?`#1e293b`:`#94a3b8`,e.beginPath(),e.arc(o,s,24,0,Math.PI*2),e.fill(),e.fillStyle=a?`#0ea5e9`:`#38bdf8`,e.beginPath(),e.arc(o,s,20,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(255,255,255,0.4)`,e.beginPath(),e.arc(o,s,8,0,Math.PI*2),e.fill()}decorFence(e,t,n,r,i,a){e.strokeStyle=a?`#452b14`:`#8b5a2b`,e.lineWidth=4,e.strokeRect(t+4,n+4,r-8,i-8)}decorBlocked(e,t,n,r,i,a){this.decorFence(e,t,n,r,i,a),e.fillStyle=`#f97316`,[[t+20,n+i-20],[t+40,n+i-20]].forEach(([t,n])=>{e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+6,n),e.lineTo(t-6,n),e.fill()})}decorGarden(e,t,n,r,i,a){e.fillStyle=a?`#064e3b`:`#166534`,e.fillRect(t+10,n+10,20,20),e.beginPath(),e.arc(t+r-20,n+i-20,15,0,Math.PI*2),e.fill()}decorLobby(e,t,n,r,i,a){let o=t+r/2-28,s=n+i-55;this.drawSofa(e,o,s,56,a),this.drawCoffeeTable(e,t+r/2-14,n+i-32,a),this.drawPotPlant(e,t+8,n+i-18,a),this.drawPotPlant(e,t+r-18,n+i-18,a),this.drawPotPlant(e,t+8,n+28,a);let c=Math.min(r-20,70);this.drawReceptionDesk(e,t+r/2-c/2,n+24,c,a),this.drawCeilingLamp(e,t+r/2,n+14,a,this.ts)}decorInbox(e,t,n,r,i,a){this.drawLetterSorter(e,t+r-28,n+20,a),this.drawClock(e,t+18,n+20,a)}decorWorkspace(e,t,n,r,i,a){this.drawPowerStrip(e,t+12,n+i-16,Math.min(r-24,60),a),this.drawWhiteboard(e,t+r-36,n+18,a),this.drawWaterDispenser(e,t+20,n+12,a),this.drawFlowerVase(e,t+r/2,n+24,a)}decorIssues(e,t,n,r,i){e.save(),e.globalAlpha=.25,e.strokeStyle=`#f59e0b`,e.lineWidth=4,e.setLineDash([8,8]),e.beginPath(),e.moveTo(t,n+i-8),e.lineTo(t+r,n+i-8),e.stroke(),e.setLineDash([]),e.restore(),this.drawHazardSign(e,t+r/2-10,n+16)}decorDone(e,t,n,r,i,a){this.drawTrophyShelf(e,t+10,n+20,a,this.ts),this.drawPotPlant(e,t+r-18,n+i-20,a)}decorArchive(e,t,n,r,i,a){for(let i=t+10;i<t+r-22;i+=26)this.drawFilingCabinet(e,i,n+18,a);this.drawPotPlant(e,t+r-15,n+i-20,a)}drawSofa(e,t,n,r,i){let a=i?`#2d3a4a`:`#8b9eb5`,o=i?`#3a4d62`:`#a8bdd4`,s=i?`#253040`:`#7b8ea5`;e.fillStyle=a,$(e,t,n,r,8,3),e.fill(),e.fillStyle=o,$(e,t,n+7,r,10,3),e.fill(),e.fillStyle=s,$(e,t-4,n,8,17,3),e.fill(),e.fillStyle=s,$(e,t+r-4,n,8,17,3),e.fill(),e.strokeStyle=i?`rgba(255,255,255,0.07)`:`rgba(0,0,0,0.08)`,e.lineWidth=1,e.beginPath(),e.moveTo(t+r/3,n+7),e.lineTo(t+r/3,n+17),e.stroke(),e.beginPath(),e.moveTo(t+r*2/3,n+7),e.lineTo(t+r*2/3,n+17),e.stroke(),e.fillStyle=i?`#1a2030`:`#6b7c90`,[[t+2,n+15],[t+r-6,n+15]].forEach(([t,n])=>e.fillRect(t,n,4,4))}drawCoffeeTable(e,t,n,r){e.fillStyle=`rgba(0,0,0,0.15)`,e.beginPath(),e.ellipse(t+14,n+6,16,7,0,0,Math.PI*2),e.fill(),e.fillStyle=r?`#2a3545`:`#93a8be`,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a5a`:`#7a96b0`,e.lineWidth=1,e.beginPath(),e.ellipse(t+14,n+4,15,6,0,0,Math.PI*2),e.stroke(),e.fillStyle=`rgba(255,255,255,0.1)`,e.beginPath(),e.ellipse(t+10,n+2,6,2,0,0,Math.PI*2),e.fill()}drawPotPlant(e,t,n,r){e.fillStyle=r?`#4a2d1a`:`#c4825a`,$(e,t-5,n-8,10,9,2),e.fill(),e.strokeStyle=r?`#6b4028`:`#a0643c`,e.lineWidth=.5,$(e,t-5,n-8,10,9,2),e.stroke(),e.fillStyle=r?`#2d1a0a`:`#6b4a28`,e.fillRect(t-4,n-9,8,3);let i=[`#16a34a`,`#15803d`,`#22c55e`,`#166534`];[[-5,-18,4,3,-.3],[-2,-20,4,3,0],[3,-18,4,3,.3],[-7,-14,3.5,2.5,-.5],[5,-14,3.5,2.5,.5]].forEach(([r,a,o,s,c],l)=>{e.save(),e.translate(t+r,n+a),e.rotate(c),e.fillStyle=i[l%i.length],e.beginPath(),e.ellipse(0,0,o,s,0,0,Math.PI*2),e.fill(),e.restore()})}drawReceptionDesk(e,t,n,r,i){e.fillStyle=i?`#1a2535`:`#9aafcc`,$(e,t,n,r,14,4),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a94b0`,e.lineWidth=1,$(e,t,n,r,14,4),e.stroke(),e.fillStyle=i?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.35)`,$(e,t+2,n+2,r-4,4,2),e.fill(),e.fillStyle=i?`#0f172a`:`#1e2535`,$(e,t+r/2-8,n-10,16,10,2),e.fill(),e.fillStyle=i?`#1e40af`:`#3b82f6`,$(e,t+r/2-7,n-9,14,8,1),e.fill()}drawCeilingLamp(e,t,n,r,i){e.strokeStyle=r?`#3a4555`:`#6b7a8a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-8),e.lineTo(t,n+2),e.stroke(),e.fillStyle=r?`#2a3040`:`#e8d870`,e.beginPath(),e.moveTo(t-10,n+2),e.lineTo(t+10,n+2),e.lineTo(t+8,n+10),e.lineTo(t-8,n+10),e.closePath(),e.fill();let a=.5+.5*Math.sin(i*.0015),o=e.createRadialGradient(t,n+10,0,t,n+10,35+a*5);o.addColorStop(0,r?`rgba(255,240,180,${.15+a*.05})`:`rgba(255,240,180,${.2+a*.05})`),o.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=o,e.fillRect(t-40,n+10,80,45)}drawLetterSorter(e,t,n,r){e.fillStyle=r?`#2d3a50`:`#8faac0`,$(e,t,n,22,28,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#7090a8`,e.lineWidth=.75,[0,7,14,21].forEach(r=>{e.beginPath(),e.moveTo(t+1,n+r),e.lineTo(t+21,n+r),e.stroke()}),[`#ef4444`,`#f59e0b`,`#3b82f6`,`#10b981`].forEach((r,i)=>{e.fillStyle=r+`aa`,$(e,t+2,n+i*7+1,18,5,1),e.fill()})}drawClock(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f0f4fc`,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#8898b0`,e.lineWidth=1,e.beginPath(),e.arc(t,n,9,0,Math.PI*2),e.stroke(),e.strokeStyle=r?`#5a6a80`:`#8898b0`,e.lineWidth=.75;for(let r=0;r<12;r++){let i=r*Math.PI/6,a=7.5;e.beginPath(),e.moveTo(t+Math.cos(i)*a,n+Math.sin(i)*a),e.lineTo(t+Math.cos(i)*(a-2),n+Math.sin(i)*(a-2)),e.stroke()}let i=new Date,a=i.getMinutes()/60*Math.PI*2-Math.PI/2,o=i.getHours()%12/12*Math.PI*2+i.getMinutes()/60*Math.PI/6-Math.PI/2;e.strokeStyle=r?`#e2e8f0`:`#1e2840`,e.lineWidth=1.5,e.lineCap=`round`,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(o)*5,n+Math.sin(o)*5),e.stroke(),e.lineWidth=1,e.beginPath(),e.moveTo(t,n),e.lineTo(t+Math.cos(a)*7,n+Math.sin(a)*7),e.stroke(),e.fillStyle=`#ef4444`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill()}drawPowerStrip(e,t,n,r,i){e.fillStyle=i?`#1a1a1a`:`#2d2d2d`,$(e,t,n,r,6,3),e.fill(),e.fillStyle=i?`#3a3a3a`:`#4a4a4a`;for(let i=6;i<r-4;i+=10)$(e,t+i,n+1,6,4,2),e.fill()}drawWhiteboard(e,t,n,r){e.fillStyle=r?`#1e2840`:`#f8fafc`,$(e,t,n,28,22,2),e.fill(),e.strokeStyle=r?`#3a4a60`:`#b0bac8`,e.lineWidth=1,$(e,t,n,28,22,2),e.stroke(),[r?`#4ade80`:`#16a34a`,r?`#60a5fa`:`#2563eb`,r?`#f472b6`:`#db2777`].forEach((r,i)=>{e.strokeStyle=r,e.lineWidth=.75,e.beginPath(),e.moveTo(t+3,n+5+i*5),e.lineTo(t+3+8+i*4,n+5+i*5),e.stroke()})}drawHazardSign(e,t,n){e.fillStyle=`#f59e0b`,e.beginPath(),e.moveTo(t+10,n),e.lineTo(t+20,n+16),e.lineTo(t,n+16),e.closePath(),e.fill(),e.strokeStyle=`#1a1a1a`,e.lineWidth=1,e.stroke(),e.fillStyle=`#1a1a1a`,e.font=`bold 9px system-ui`,e.textAlign=`center`,e.textBaseline=`bottom`,e.fillText(`!`,t+10,n+15)}drawTrophyShelf(e,t,n,r,i){e.fillStyle=r?`#2d1a08`:`#c4825a`,$(e,t,n+20,50,5,2),e.fill(),[[`#f59e0b`,t+5],[`#94a3b8`,t+20],[`#cd7f32`,t+35]].forEach(([t,r])=>{e.fillStyle=t,e.beginPath(),e.arc(r+5,n+13,5,Math.PI,0),e.fill(),e.fillRect(r+3,n+13,4,8),$(e,r,n+20,10,4,2),e.fill()}),e.fillStyle=`rgba(245,158,11,${.08+(.5+.5*Math.sin(i*.002))*.06})`,e.beginPath(),e.ellipse(t+10,n+18,12,6,0,0,Math.PI*2),e.fill()}drawFilingCabinet(e,t,n,r){e.fillStyle=r?`#1e2535`:`#9aaec0`,$(e,t,n,20,28,2),e.fill(),e.strokeStyle=r?`#2d3a50`:`#7a98b0`,e.lineWidth=.75,$(e,t,n,20,28,2),e.stroke(),[0,9,18].forEach(i=>{e.strokeStyle=r?`#3a4a60`:`#5a7898`,e.lineWidth=.5,e.beginPath(),e.moveTo(t+1,n+i+8),e.lineTo(t+19,n+i+8),e.stroke(),e.fillStyle=r?`#4a5a70`:`#4a6888`,$(e,t+7,n+i+3,6,3,2),e.fill()})}drawFlowerVase(e,t,n,r){e.fillStyle=r?`#2d1a08`:`#8b5a2b`,$(e,t-6,n-2,12,10,1),e.fill(),e.fillStyle=r?`#1e3a8a`:`#bfdbfe`,e.beginPath(),e.ellipse(t,n-6,4,6,0,0,Math.PI*2),e.fill();let i=[`#f43f5e`,`#ec4899`,`#d946ef`];[[-3,-12],[3,-11],[0,-14]].forEach(([r,a],o)=>{e.strokeStyle=`#16a34a`,e.lineWidth=1,e.beginPath(),e.moveTo(t,n-10),e.lineTo(t+r,n+a),e.stroke(),e.fillStyle=i[o],e.beginPath(),e.arc(t+r,n+a,2.5,0,Math.PI*2),e.fill()})}drawWaterDispenser(e,t,n,r){e.fillStyle=r?`#1e293b`:`#e2e8f0`,$(e,t,n,14,24,2),e.fill(),e.strokeStyle=r?`#334155`:`#cbd5e1`,e.lineWidth=1,$(e,t,n,14,24,2),e.stroke(),e.fillStyle=r?`#0ea5e955`:`#38bdf855`,$(e,t+2,n-12,10,12,3),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(t+3,n+8,2,3),e.fillStyle=`#3b82f6`,e.fillRect(t+9,n+8,2,3),e.fillStyle=r?`#0f172a`:`#94a3b8`,$(e,t+2,n+14,10,3,1),e.fill()}drawHospitalBed(e,t,n,r){e.fillStyle=r?`#1e293b`:`#cbd5e1`,$(e,t-20,n-10,40,20,3),e.fill(),e.fillStyle=r?`#0f172a`:`#f8fafc`,$(e,t-18,n-8,36,16,2),e.fill(),e.fillStyle=r?`#1e1b4b`:`#e0e7ff`,$(e,t+10,n-6,8,12,2),e.fill(),e.fillStyle=r?`#172554`:`#bfdbfe`,$(e,t-18,n-8,20,16,2),e.fill(),e.strokeStyle=r?`#64748b`:`#94a3b8`,e.lineWidth=2,e.beginPath(),e.moveTo(t+16,n-10),e.lineTo(t+16,n-25),e.stroke(),e.fillStyle=r?`#0ea5e988`:`#38bdf888`,$(e,t+14,n-25,4,6,1),e.fill()}decorTherapy(e,t,n,r,i,a){let o={id:`burnout`,label:`Therapy Room`,x:t,y:n,w:r,h:i,color:`#14b8a6`};for(let t=0;t<6;t++){let n=CC(o,t);this.drawHospitalBed(e,n.x,n.y,a)}this.drawPotPlant(e,t+r-20,n+20,a),this.drawFlowerVase(e,t+20,n+20,a)}drawMonitorActivity(e,t,n,r,i,a,o,s){let{ctx:c}=this,l=!!e.claimedByAgentId,u=qC(e.id),d=s*.001+u%100*.01,f=n+i-6;if(c.save(),$(c,t,n,r,i,3),c.clip(),e.status===`blocked`){c.fillStyle=o?`#2a0f18`:`#3f111d`,c.fillRect(t,n,r,i),c.fillStyle=`rgba(239,68,68,0.45)`;for(let e=0;e<4;e++){let i=n+4+e*4;c.fillRect(t+4,i,r-8-(e+u)%9,1.6)}c.fillStyle=`rgba(255,255,255,${.25+Math.sin(d*5)*.12})`,c.fillRect(t+4,f-3,7,2),c.restore();return}if(l){c.fillStyle=o?`rgba(2,6,23,0.35)`:`rgba(15,23,42,0.22)`,$(c,t+3,n+3,r-6,f-n-4,2),c.fill(),c.fillStyle=`rgba(255,255,255,0.22)`,c.fillRect(t+5,n+5,r-10,1.4),c.fillStyle=`rgba(15,23,42,0.25)`,c.fillRect(t+5,n+8,7,f-n-10),c.fillStyle=`rgba(255,255,255,0.16)`,c.fillRect(t+15,n+8,r-20,f-n-10);let e=Math.floor(s/180)%6;for(let i=0;i<4;i++){let a=n+9+i*3,o=(u>>i)%9/10,s=Math.sin(d*2+i)*.5+.5,l=7+(r-25)*(.35+o*.35+s*.18);c.fillStyle=i===e%4?`rgba(255,255,255,0.78)`:`rgba(255,255,255,${.22+i*.08})`,c.fillRect(t+17,a,Math.min(r-22,l),1.4)}let i=t+18+(Math.floor(s/120)+u)%Math.max(1,r-25);Math.floor(s/300)%2==0&&(c.fillStyle=`#ffffff`,c.fillRect(i,n+17,1,4)),c.fillStyle=`rgba(255,255,255,0.2)`,c.fillRect(t+5,f-3,r-10,1.5),c.fillStyle=WC(a,55),c.fillRect(t+5,f-3,(Math.sin(d)*.5+.5)*(r-10)|0,1.5),c.restore();return}if(e.status===`pending`){c.fillStyle=o?`rgba(15,23,42,0.45)`:`rgba(255,255,255,0.16)`,$(c,t+4,n+4,r-8,f-n-5,2),c.fill(),c.fillStyle=`rgba(255,255,255,0.25)`,c.fillRect(t+6,n+6,r-12,2);for(let e=0;e<3;e++)c.fillStyle=`rgba(255,255,255,${.14+e*.06})`,c.fillRect(t+7,n+11+e*3,r-15-e*5,1.2);let e=n+9+(s*.018+u)%Math.max(1,f-n-12);c.fillStyle=`rgba(56,189,248,0.28)`,c.fillRect(t+5,e,r-10,1.2),c.restore();return}c.strokeStyle=o?`rgba(148,163,184,0.1)`:`rgba(255,255,255,0.08)`,c.lineWidth=.5;for(let e=t+5;e<t+r-4;e+=5)c.beginPath(),c.moveTo(e,n+4),c.lineTo(e,f-2),c.stroke();c.restore()}drawWorkstation(e,t,n){let{ctx:r}=this,{x:i,y:a,status:o,taskCode:s,title:c,claimedByAgentId:l,hasPendingHandoff:u,repo:d}=e,f=uC[o]??`#64748b`,p=!!l,m=a+14/2+4;r.fillStyle=t?`#1e2d3a`:`#7a98b5`,r.beginPath(),r.arc(i,m+3,8,0,Math.PI*2),r.fill(),r.fillStyle=t?`#162435`:`#6888a8`,r.fillRect(i-6,m-2,12,8),$(r,i-5,m-9,10,9,2),r.fill(),r.fillStyle=`rgba(0,0,0,0.18)`,$(r,i-50/2+3,a-14/2+5,50,16,4),r.fill();let h=r.createLinearGradient(i-50/2,a-14/2,i+50/2,a+14/2);h.addColorStop(0,t?`#1e2840`:`#d4dce8`),h.addColorStop(1,t?`#18202e`:`#c0ccd8`),r.fillStyle=h,$(r,i-50/2,a-14/2,50,14,4),r.fill(),r.strokeStyle=t?`#2d3a50`:`#a0b0c0`,r.lineWidth=1,$(r,i-50/2,a-14/2,50,14,4),r.stroke(),r.fillStyle=t?`#0d1520`:`#8090a8`,$(r,i-10,a-2,20,5,2),r.fill(),r.fillStyle=t?`rgba(255,255,255,0.05)`:`rgba(255,255,255,0.3)`,[[i-9,a-1,18,1.5],[i-8,a+1.5,16,1.5]].forEach(([e,t,n,i])=>{for(let a=0;a<5;a++)$(r,e+n/5*a+.5,t,n/5-1,i,.5),r.fill()}),r.fillStyle=t?`#0d1520`:`#8090a8`,r.beginPath(),r.ellipse(i+14,a,3,4,0,0,Math.PI*2),r.fill(),r.strokeStyle=t?`rgba(255,255,255,0.08)`:`rgba(0,0,0,0.1)`,r.lineWidth=.5,r.beginPath(),r.moveTo(i+14,a-2),r.lineTo(i+14,a+2),r.stroke(),r.fillStyle=t?`#2d3a50`:`#8090a8`,r.fillRect(i-1.5,a-14/2-7,3,8);let g=a-14/2-20-6;if(r.fillStyle=t?`#111827`:`#1f2937`,$(r,i-34/2-3,g-3,40,26,5),r.fill(),p){let e=r.createLinearGradient(i-34/2,g,i+34/2,g+20);e.addColorStop(0,WC(f,50)),e.addColorStop(1,f),r.fillStyle=e,p&&(r.shadowColor=f+`99`,r.shadowBlur=10)}else r.fillStyle=t?`#0f1929`:`#1e2d3a`;if($(r,i-34/2,g,34,20,3),r.fill(),r.shadowBlur=0,r.fillStyle=`rgba(255,255,255,0.12)`,$(r,i-34/2,g,34,20/2.5,3),r.fill(),this.drawMonitorActivity(e,i-34/2,g,34,20,f,t,n),r.fillStyle=p?`rgba(255,255,255,0.9)`:t?`#374151`:`#6b7280`,r.font=`bold 5.5px monospace`,r.textAlign=`center`,r.textBaseline=`bottom`,r.fillText(`${d.split(`/`).pop()?.slice(0,5)}·${s}`.slice(0,12),i,g+20-1),r.fillStyle=t?`rgba(148,163,184,0.65)`:`rgba(71,85,105,0.65)`,r.font=`5.5px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`,r.fillText(c.slice(0,12),i,a+14/2+2),u){let e=i+34/2,t=g-1;r.fillStyle=`#f59e0b`,r.shadowColor=`#f59e0b`,r.shadowBlur=8,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=1.5,r.beginPath(),r.arc(e,t,5,0,Math.PI*2),r.stroke(),r.fillStyle=`#1a1a1a`,r.font=`bold 6.5px system-ui`,r.textAlign=`center`,r.textBaseline=`middle`,r.fillText(`!`,e,t)}}drawClaimLinks(e,t){let{ctx:n}=this;for(let r of e.agents.values())for(let i of r.claimedTaskIds){let a=e.tasks.get(i);if(!a)continue;let o=n.createLinearGradient(r.x,r.y,a.x,a.y);o.addColorStop(0,r.color+`cc`),o.addColorStop(1,(uC[a.status]??`#64748b`)+`44`),n.strokeStyle=o,n.lineWidth=1.5,n.setLineDash([5,5]),n.lineDashOffset=-(t*.022)%10,n.beginPath(),n.moveTo(r.x,r.y),n.lineTo(a.x,a.y),n.stroke()}n.setLineDash([]),n.lineDashOffset=0}drawHandoffBeams(e,t){let{ctx:n}=this;for(let r of e.handoffs){let i=e.agents.get(r.fromAgentId);if(!i)continue;let a,o;if(r.toAgentId){let t=e.agents.get(r.toAgentId);if(!t)continue;a=t.x,o=t.y}else if(r.taskId){let t=e.tasks.get(r.taskId);if(!t)continue;a=t.x,o=t.y}else continue;n.strokeStyle=`#f59e0b88`,n.lineWidth=2.5,n.setLineDash([8,5]),n.lineDashOffset=-(t*.07)%13,n.beginPath(),n.moveTo(i.x,i.y),n.lineTo(a,o),n.stroke(),n.setLineDash([]),n.lineDashOffset=0;let s=t%1600/1600,c=i.x+(a-i.x)*s,l=i.y+(o-i.y)*s;n.fillStyle=`#f59e0b`,n.shadowColor=`#f59e0b`,n.shadowBlur=8,n.beginPath(),n.arc(c,l,4,0,Math.PI*2),n.fill(),n.shadowBlur=0}}drawHandoffTrail(e,t,n){let{ctx:r}=this,i=e.handoffAnim;if(r.save(),r.strokeStyle=t?`rgba(20, 184, 166, 0.35)`:`rgba(20, 184, 166, 0.45)`,r.lineWidth=2,r.setLineDash([6,5]),r.lineDashOffset=-(n*.03)%11,r.beginPath(),r.moveTo(i.startX,i.startY),r.lineTo(i.endX,i.endY),r.stroke(),r.setLineDash([]),r.lineDashOffset=0,i.phase===`moving`){let e=n%2e3/2e3,t=i.startX+(i.endX-i.startX)*e,a=i.startY+(i.endY-i.startY)*e;r.fillStyle=`#14b8a6`,r.shadowColor=`#14b8a6`,r.shadowBlur=6,r.beginPath(),r.arc(t,a,3,0,Math.PI*2),r.fill(),r.shadowBlur=0}i.phase!==`arrive`&&(r.strokeStyle=`rgba(20, 184, 166, ${.4+.3*Math.sin(n*.004)})`,r.lineWidth=1,r.beginPath(),r.arc(i.endX,i.endY,8,0,Math.PI*2),r.stroke(),r.beginPath(),r.moveTo(i.endX-4,i.endY),r.lineTo(i.endX+4,i.endY),r.stroke(),r.beginPath(),r.moveTo(i.endX,i.endY-4),r.lineTo(i.endX,i.endY+4),r.stroke()),r.restore()}drawWheelchair(e,t,n,r,i){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.2)`,e.beginPath(),e.ellipse(0,3,14,6,0,0,Math.PI*2),e.fill(),e.fillStyle=i?`#2d3a50`:`#7a8ea0`,$(e,-10,-12,20,18,3),e.fill(),e.strokeStyle=i?`#4a5a70`:`#5a7090`,e.lineWidth=1,$(e,-10,-12,20,18,3),e.stroke(),e.fillStyle=i?`#1e3a5f`:`#3b82f6`,$(e,-8,-6,16,10,2),e.fill(),e.fillStyle=i?`#1e3055`:`#2563eb`,$(e,-8,-12,16,7,2),e.fill(),e.fillStyle=i?`#3a4a60`:`#6a7a90`,$(e,-12,-10,3,14,1),e.fill(),$(e,9,-10,3,14,1),e.fill(),[-9,9].forEach(t=>{e.strokeStyle=i?`#1a1a2a`:`#333`,e.lineWidth=2.5,e.beginPath(),e.arc(t,4,5,0,Math.PI*2),e.stroke(),e.fillStyle=i?`#4a5a70`:`#aabbc0`,e.beginPath(),e.arc(t,4,3.5,0,Math.PI*2),e.fill(),e.strokeStyle=i?`#2a3a50`:`#7a8a9a`,e.lineWidth=.75;for(let n=0;n<4;n++){let i=r+n*Math.PI/2;e.beginPath(),e.moveTo(t,4),e.lineTo(t+Math.cos(i)*4,4+Math.sin(i)*4),e.stroke()}}),[-5,5].forEach(t=>{e.fillStyle=i?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,-13,2,0,Math.PI*2),e.fill(),e.fillStyle=i?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,-13,1,0,Math.PI*2),e.fill()}),e.fillStyle=i?`#3a4a60`:`#5a7090`,$(e,-6,5,12,3,1),e.fill(),e.restore()}drawStretcher(e,t,n,r,i,a){e.save(),e.translate(t,n),e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,4,20,7,0,0,Math.PI*2),e.fill(),e.fillStyle=a?`#2d3a50`:`#8899aa`,$(e,-18,-10,36,16,3),e.fill(),e.strokeStyle=a?`#4a5a70`:`#6a7a90`,e.lineWidth=1,$(e,-18,-10,36,16,3),e.stroke(),e.fillStyle=a?`#1a2535`:`#f0f4f8`,$(e,-16,-8,32,12,2),e.fill(),e.fillStyle=a?`#2a3a5a`:`#e0e7ff`,$(e,10,-6,6,8,2),e.fill();let o=Math.sin(i)*.8;e.fillStyle=a?`#1e3a5f`:`#bfdbfe`,$(e,-15,-7+o,22,10-o*.5,2),e.fill(),e.strokeStyle=a?`rgba(255,255,255,0.06)`:`rgba(0,0,0,0.08)`,e.lineWidth=.5,e.beginPath(),e.moveTo(-5,-7+o),e.lineTo(-5,3-o*.3),e.stroke(),[[-15,5],[15,5],[-15,-11],[15,-11]].forEach(([t,n])=>{e.fillStyle=a?`#1a1a2a`:`#333`,e.beginPath(),e.arc(t,n,3,0,Math.PI*2),e.fill(),e.fillStyle=a?`#4a5a70`:`#999`,e.beginPath(),e.arc(t,n,1.5,0,Math.PI*2),e.fill(),e.strokeStyle=a?`#3a4a5a`:`#777`,e.lineWidth=.5;let i=r;e.beginPath(),e.moveTo(t+Math.cos(i)*3*.5,n+Math.sin(i)*3*.5),e.lineTo(t-Math.cos(i)*3*.5,n-Math.sin(i)*3*.5),e.stroke()}),e.strokeStyle=a?`#5a6a80`:`#7a8a9a`,e.lineWidth=1.5,e.beginPath(),e.moveTo(-16,-10),e.lineTo(16,-10),e.stroke(),e.beginPath(),e.moveTo(-16,6),e.lineTo(16,6),e.stroke(),e.restore()}drawHelperCharacter(e,t,n,r,i,a,o){e.save(),e.translate(t,n),i===`left`&&e.scale(-1,1);let s=QC[r],c=$C[r],l=ew[r],u=a>.1,d=u?Math.sin(a)*4:0,f=u?Math.sin(a+Math.PI)*3:0,p=u?Math.sin(a*2)*.8:0;e.fillStyle=`rgba(0,0,0,0.18)`,e.beginPath(),e.ellipse(0,2,8,3.5,0,0,Math.PI*2),e.fill(),e.fillStyle=o?`#1a2535`:`#334155`,e.save(),e.translate(-2.5,0),e.rotate(d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,0),e.rotate(-d*.08),$(e,-2,-3,4,7,1.5),e.fill(),e.restore(),e.fillStyle=o?`#0f172a`:`#1e293b`,e.save(),e.translate(-2.5,d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore(),e.save(),e.translate(2.5,-d*.4),$(e,-2.5,3,5,3,1.5),e.fill(),e.restore();let m=e.createLinearGradient(-5,-20,5,-10);m.addColorStop(0,WC(s,20)),m.addColorStop(1,s),e.fillStyle=m,$(e,-5,-20,10,11,2),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`rgba(255,255,255,0.5)`,e.fillRect(-1,-17,2,5),e.fillRect(-2.5,-15.5,5,2)),e.save(),e.translate(-6.5,-19),e.rotate(f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.save(),e.translate(6.5,-19),e.rotate(-f*.1),e.fillStyle=m,$(e,-1.5,0,3,7,1.5),e.fill(),e.fillStyle=l,e.beginPath(),e.ellipse(0,8,2,1.5,0,0,Math.PI*2),e.fill(),e.restore(),e.fillStyle=l,e.fillRect(-2,-22,4,3);let h=-29+p;e.fillStyle=l,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,0,Math.PI*2),e.fill(),e.fillStyle=c,e.beginPath(),e.ellipse(0,h,6.5,7.5,0,Math.PI,0),e.fill(),(r===`male_nurse`||r===`female_nurse`)&&(e.fillStyle=`#f0f0f0`,$(e,-5,h-8,10,5,2),e.fill(),e.fillStyle=`#ef4444`,e.fillRect(-1,h-7,2,3),e.fillRect(-2,h-6,4,1)),i!==`up`&&(e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.arc(-2,h-1,1,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(2,h-1,1,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.4)`,e.lineWidth=.75,e.beginPath(),e.arc(0,h+1.5,2,.1,Math.PI-.1),e.stroke()),e.restore()}drawHandoffGroup(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o}=e,s=i.endX-i.startX,c=i.endY-i.startY,l=Math.hypot(s,c)||1,u=-s/l,d=-c/l,f=i.vehicle===`wheelchair`?18:22,p=a+u*f,m=o+d*f+i.stepBounce,h=1;if(i.phase===`pickup`){let e=n-i.phaseStartTs;h=Math.min(1,e/400)}else if(i.phase===`arrive`){let e=n-i.phaseStartTs;h=Math.max(0,1-e/HC)}else i.phase===`resting`&&(h=0);if(i.vehicle===`wheelchair`)this.drawWheelchair(r,a,o,i.wheelAngle,t);else{let e=n*.002;this.drawStretcher(r,a,o,i.wheelAngle,e,t)}this.drawPassiveAgent(e,t,n),h>.01&&(r.save(),r.globalAlpha=h,this.drawHelperCharacter(r,p,m,i.helperVariant,i.helperFacing,i.phase===`moving`?i.helperWalkPhase:0,t),r.restore()),r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let g=e.name.length>12?e.name.slice(0,12)+`…`:e.name;r.fillText(g,a,o+(i.vehicle===`stretcher`?14:12)),i.phase===`moving`&&this.drawRollingSFX(r,a,o,i.wheelAngle,i.vehicle,t,n)}drawPassiveAgent(e,t,n){let{ctx:r}=this,i=e.handoffAnim,{x:a,y:o,name:s,color:c}=e,l=qC(s||``),u=YC[l%YC.length]||`#000`,d=XC[(l>>>6)%XC.length]||`#f5c89a`;if(i.vehicle===`wheelchair`)r.save(),r.translate(a,o),r.fillStyle=c||`#64748b`,$(r,-5,-16,10,8,2),r.fill(),r.fillStyle=d,r.beginPath(),r.ellipse(0,-24,6,7,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(0,-24,6,7,0,Math.PI,0),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(-2,-24,1.5,0,Math.PI),r.stroke(),r.beginPath(),r.arc(2,-24,1.5,0,Math.PI),r.stroke(),r.fillStyle=d,r.beginPath(),r.ellipse(-10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.beginPath(),r.ellipse(10,-10,2,1.5,0,0,Math.PI*2),r.fill(),r.restore();else{r.save(),r.translate(a,o);let e=Math.sin(n*.002)*.5;r.fillStyle=d,r.beginPath(),r.ellipse(10,-1+e,5,6,0,0,Math.PI*2),r.fill(),r.fillStyle=u,r.beginPath(),r.ellipse(10,-1+e,5,6,0,Math.PI*.8,Math.PI*2.2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=.75,r.beginPath(),r.arc(9,-2+e,1,0,Math.PI),r.stroke(),r.beginPath(),r.arc(12,-2+e,1,0,Math.PI),r.stroke(),r.restore()}}drawRollingSFX(e,t,n,r,i,a,o){e.save();let s=.15+.1*Math.sin(o*.01);e.strokeStyle=a?`rgba(148,163,184,${s})`:`rgba(71,85,105,${s})`,e.lineWidth=1,(i===`wheelchair`?[[-9,n+4],[9,n+4]]:[[-15,n+5],[15,n+5],[-15,n-11],[15,n-11]]).forEach(([n,i])=>{for(let a=0;a<2;a++){let o=(r+a*Math.PI)%(Math.PI*2),s=t+n-3-a*2,c=i+Math.sin(o)*2;e.beginPath(),e.moveTo(s,c-1),e.lineTo(s-3,c),e.stroke()}}),e.restore()}drawCharacter(e,t,n){let{ctx:r}=this,{walkPhase:i,facing:a,state:o,name:s,id:c}=e,{x:l,y:u}=e,d=e.color||`#64748b`,f=c===this.hoveredId,p=Math.hypot(e.vx,e.vy)>5,m=qC(s||``),h=YC[m%YC.length]||`#000`,g=ZC[(m>>>3)%ZC.length]||`#1e3a5f`,_=XC[(m>>>6)%XC.length]||`#f5c89a`,v=m%5,y=WC(d,30),b=p?Math.sin(i)*5:0,x=p?Math.sin(i+Math.PI)*4:0,S=p?Math.sin(i*2)*1.2:0;o===`blocked`?l+=Math.sin(n*.05)*1.5:o===`idle`&&!p&&(u+=Math.sin(n*.003+m)*1),r.fillStyle=`rgba(0,0,0,0.22)`,r.beginPath(),r.ellipse(l,u+3,11,5,0,0,Math.PI*2),r.fill(),f&&(r.strokeStyle=d,r.lineWidth=2,r.setLineDash([4,3]),r.beginPath(),r.arc(l,u-24+S,16,0,Math.PI*2),r.stroke(),r.setLineDash([])),r.save(),r.translate(l,u),o===`burnout`?(r.rotate(Math.PI/2),r.translate(0,15)):a===`left`&&r.scale(-1,1),r.fillStyle=g,r.save(),r.translate(-3.5,0),r.rotate(b*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.save(),r.translate(3.5,0),r.rotate(-b*.1),$(r,-2.5,-4,5,9,2),r.fill(),r.restore(),r.fillStyle=GC(g,30),r.save(),r.translate(-3.5,b*.5),$(r,-3,4,7,4,2),r.fill(),r.restore(),r.save(),r.translate(3.5,-b*.5),$(r,-3,4,7,4,2),r.fill(),r.restore();let C=r.createLinearGradient(-7,-26,7,-13);C.addColorStop(0,y),C.addColorStop(1,d),r.fillStyle=C,$(r,-7,-26,14,14,3),r.fill(),r.fillStyle=WC(d,45),$(r,-3.5,-26,7,5,2),r.fill(),r.strokeStyle=`rgba(0,0,0,0.12)`,r.lineWidth=.75,r.beginPath(),r.moveTo(0,-26),r.lineTo(0,-13),r.stroke(),r.save(),r.translate(-9,-24),r.rotate(x*.12);let w=r.createLinearGradient(-2,0,2,10);w.addColorStop(0,y),w.addColorStop(1,d),r.fillStyle=w,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.save(),r.translate(9,-24),r.rotate(-x*.12),r.fillStyle=w,$(r,-2,0,4,9,2),r.fill(),r.fillStyle=_,r.beginPath(),r.ellipse(0,10,2.5,2,0,0,Math.PI*2),r.fill(),r.restore(),r.fillStyle=_,r.fillRect(-2.5,-28,5,4);let T=-38+S;r.fillStyle=`rgba(0,0,0,0.15)`,r.beginPath(),r.ellipse(1,T+2,9,5,0,0,Math.PI*2),r.fill();let E=r.createRadialGradient(-3,T-3,2,0,T,10);if(E.addColorStop(0,WC(_,15)),E.addColorStop(1,_),r.fillStyle=E,r.beginPath(),r.ellipse(0,T,9,10,0,0,Math.PI*2),r.fill(),this.drawHair(r,0,T,h,v),a!==`up`&&this.drawFace(r,0,T,_,a,p,i,o,n,m),r.restore(),o!==`idle`&&o!==`burnout`){let e=o===`blocked`?`#ef4444`:o===`processing`?`#a855f7`:o===`claiming`?`#0ea5e9`:`#f59e0b`,t=l+(a===`left`?-10:10),n=u-48+S;r.fillStyle=e,r.shadowColor=e,r.shadowBlur=10,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.fill(),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=2,r.beginPath(),r.arc(t,n,5,0,Math.PI*2),r.stroke(),r.strokeStyle=`rgba(0,0,0,0.5)`,r.lineWidth=1,r.beginPath(),r.arc(t,n,6,0,Math.PI*2),r.stroke()}if(o===`processing`){let e=.4+.6*Math.sin(n*.0028);r.strokeStyle=KC(d,.18+e*.14),r.lineWidth=1.5,r.beginPath(),r.arc(l,u-38+S,17+e*4,0,Math.PI*2),r.stroke();for(let e=0;e<3;e++){let t=.3+.7*Math.sin(n*.004+e*1.1);r.fillStyle=KC(d,.5+t*.5),r.beginPath(),r.arc(l+(-5+e*5),u-54+S,1.5+t,0,Math.PI*2),r.fill()}}if(o===`burnout`){let e=n*.002%(Math.PI*2);for(let t=0;t<3;t++){let n=(e+t*(Math.PI*2/3))%(Math.PI*2),i=Math.max(0,Math.sin(n)),a=l+5+Math.cos(n)*5+n*2,o=u-10-n*8;r.fillStyle=`rgba(150, 150, 200, ${i})`,r.font=`bold ${8+n*1.5}px monospace`,r.fillText(`Z`,a,o)}}r.fillStyle=t?`rgba(226,232,240,0.82)`:`rgba(15,23,42,0.7)`,r.font=`7px system-ui,sans-serif`,r.textAlign=`center`,r.textBaseline=`top`;let D=s.length>12?s.slice(0,12)+`…`:s;r.fillText(D,l,u+12)}drawHair(e,t,n,r,i){switch(e.fillStyle=r,i){case 0:e.beginPath(),e.ellipse(t,n,9,10,0,Math.PI,0),e.fill(),e.fillRect(t-9,n-2,3,5),e.fillRect(t+6,n-2,3,5);break;case 1:for(let r=-2;r<=2;r++)e.beginPath(),e.moveTo(t+r*4-2,n-7),e.lineTo(t+r*4,n-14),e.lineTo(t+r*4+2,n-7),e.closePath(),e.fill();e.beginPath(),e.ellipse(t,n-5,9,4,0,0,Math.PI*2),e.fill();break;case 2:e.save(),e.translate(t,n),e.beginPath(),e.moveTo(-9,-2),e.bezierCurveTo(-11,-12,10,-16,11,-6),e.lineTo(9,0),e.bezierCurveTo(4,-8,-4,-10,-9,-2),e.closePath(),e.fill(),e.restore();break;case 3:e.beginPath(),e.arc(t,n,9.5,Math.PI,0),e.fill(),$(e,t-10,n,4,12,2),e.fill(),$(e,t+6,n,4,12,2),e.fill();break;case 4:e.fillStyle=GC(r,20),$(e,t-12,n-6,24,5,2),e.fill(),e.fillStyle=r,$(e,t-9,n-16,18,12,3),e.fill(),e.fillStyle=WC(r,40),$(e,t-3,n-11,6,4,1),e.fill();break}}drawFace(e,t,n,r,i,a,o,s,c,l){if(i===`right`)e.fillStyle=`rgba(0,0,0,0.7)`,e.beginPath(),e.ellipse(t+5,n-2,1.5,1.5,0,0,Math.PI*2),e.fill(),e.strokeStyle=`rgba(0,0,0,0.2)`,e.lineWidth=1,e.beginPath(),e.arc(t+9,n,3,-.5,.5),e.stroke();else if(s===`burnout`){if((l||0)%2==0){e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1;let r=(c||0)*.005%(Math.PI*2);e.save(),e.translate(t-3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore(),e.save(),e.translate(t+3,n-2),e.rotate(r),e.beginPath(),e.moveTo(0,0);for(let t=0;t<15;t++){let n=t*.5,r=t*.15;e.lineTo(Math.cos(n)*r,Math.sin(n)*r)}e.stroke(),e.restore()}else e.strokeStyle=`rgba(0,0,0,0.7)`,e.lineWidth=1.5,e.beginPath(),e.arc(t-3,n-2,2.5,0,Math.PI),e.stroke(),e.beginPath(),e.arc(t+3,n-2,2.5,0,Math.PI),e.stroke();e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,e.beginPath(),e.arc(t,n+3,2,Math.PI,Math.PI*2),e.stroke()}else{e.fillStyle=`white`,e.beginPath(),e.ellipse(t-3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.beginPath(),e.ellipse(t+3,n-2,2.5,2,0,0,Math.PI*2),e.fill(),e.fillStyle=`rgba(20,20,80,0.85)`,e.beginPath(),e.arc(t-3,n-2,1.3,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+3,n-2,1.3,0,Math.PI*2),e.fill(),e.fillStyle=`white`,e.beginPath(),e.arc(t-3.5,n-2.5,.5,0,Math.PI*2),e.fill(),e.beginPath(),e.arc(t+2.5,n-2.5,.5,0,Math.PI*2),e.fill();let r=a&&Math.sin(o)>.5;e.strokeStyle=`rgba(0,0,0,0.5)`,e.lineWidth=1,r?(e.beginPath(),e.arc(t,n+2,2,0,Math.PI),e.stroke()):(e.beginPath(),e.moveTo(t-2.5,n+2.5),e.quadraticCurveTo(t,n+4,t+2.5,n+2.5),e.stroke())}}},nw=K(`<span class="badge loading svelte-1pykpun"><span class="animate-spin" style="display:inline-block;width:10px;height:10px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%"></span> Loading…</span>`),rw=K(`<span class="badge error svelte-1pykpun"><!> Error</span>`),iw=K(`<span class="badge live svelte-1pykpun"><span class="pulse-dot svelte-1pykpun"></span> Live · <strong> </strong> <strong> </strong> <!></span>`),aw=K(`<div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Repos</span> <span class="tip-repos svelte-1pykpun"> </span></div>`),ow=K(`<div class="agent-tip glass svelte-1pykpun"><div class="tip-name svelte-1pykpun"><span class="tip-dot svelte-1pykpun"></span> </div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Role</span><span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">State</span> <span> </span></div> <div class="tip-row svelte-1pykpun"><span class="tip-key svelte-1pykpun">Tasks</span><span> </span></div> <!></div>`),sw=K(`<div class="arena-empty svelte-1pykpun"><!> <div style="font-weight:700;font-size:0.9rem">No active agents</div> <div class="arena-empty-sub svelte-1pykpun">Agents appear here when they claim tasks across your repositories</div></div>`),cw=K(`<div class="arena-root glass card animate-fade-in svelte-1pykpun"><div class="arena-hdr svelte-1pykpun"><div class="arena-hdr-left svelte-1pykpun"><div class="arena-icon svelte-1pykpun"><!></div> <div><div class="section-label" style="margin:0">Agent Arena</div> <div class="arena-sub svelte-1pykpun">Live 2D view · all repositories</div></div></div> <div class="arena-hdr-right svelte-1pykpun"><!></div></div> <div class="arena-wrap svelte-1pykpun"><canvas class="arena-canvas svelte-1pykpun"></canvas> <!> <!></div> <div class="arena-footer svelte-1pykpun"><div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#8b5cf6"></span>Lobby (idle)</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#0ea5e9"></span>Inbox</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#a855f7"></span>Workspace</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#ef4444"></span>Issues</div> <div class="legend-item svelte-1pykpun"><span class="lg-dot svelte-1pykpun" style="background:#10b981"></span>Done</div></div> <div class="legend-row svelte-1pykpun"><div class="legend-item svelte-1pykpun"><span class="lg-bubble svelte-1pykpun"></span>Working agent</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun" style="border-color:#f59e0b"></span>Handoff beam</div> <div class="legend-item svelte-1pykpun"><span class="lg-dash svelte-1pykpun"></span>Claim link</div></div></div></div>`);function lw(e,t){We(t,!1);let n=()=>P(p,`$arena`,i),r=()=>P(Ia,`$theme`,i),[i,a]=pt(),o=F(),s=F(),c=F(),l=F(null),u=F(null),d=F(null),f=F(null),p=PC();function m(){if(!H(s)||!H(c))return;let e=H(c).clientWidth||960,t=Math.max(520,Math.min(window.innerHeight-220,800));sn(s,H(s).width=e),sn(s,H(s).height=t),I(u,{canvasWidth:e,canvasHeight:t}),H(l)||(I(l,new tw(H(s))),H(l).start()),p.setLayout(H(u)),n().scene&&H(l).update(n().scene,H(u),r()===`dark`)}function h(e){if(!H(l)||!n().scene){I(d,null),I(f,null);return}let t=H(s).getBoundingClientRect(),r=H(s).width/t.width,i=H(s).height/t.height,a=(e.clientX-t.left)*r,o=(e.clientY-t.top)*i,c=H(l).hitTestAgent(a,o);c!==H(d)&&(I(d,c),H(l).setHovered(H(d))),I(f,H(d)?{x:e.clientX-t.left+14,y:e.clientY-t.top-10}:null)}function g(){I(d,null),I(f,null),H(l)?.setHovered(null)}Aa(()=>{let e=setTimeout(()=>{m(),H(u)&&p.start(H(u))},60),t=new ResizeObserver(()=>m());return t.observe(H(c)),()=>{clearTimeout(e),t.disconnect()}}),ja(()=>{p.stop(),H(l)?.stop()}),B(()=>(H(l),n(),H(u),r()),()=>{H(l)&&n().scene&&H(u)&&H(l).update(n().scene,H(u),r()===`dark`)}),B(()=>(H(d),n()),()=>{I(o,H(d)&&n().scene?n().scene.agents.get(H(d))??null:null)}),Un(),Ea();var _=cw(),v=L(_),y=L(v),b=L(y);Q(L(b),{name:`cpu`,size:16,strokeWidth:1.75}),j(b),Ne(2),j(y);var x=z(y,2),S=L(x),C=e=>{q(e,nw())},w=e=>{var t=rw();Q(L(t),{name:`alert-circle`,size:11}),Ne(),j(t),q(e,t)},T=e=>{var t=iw(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r),o=z(a),s=L(o,!0);j(o);var c=z(o),l=z(c),u=e=>{var t=ci();V(()=>J(t,` · ${(n(),U(()=>n().repoCount))??``} repos`)),q(e,t)};Y(l,e=>{n(),U(()=>n().repoCount>1)&&e(u)}),j(t),V(()=>{J(i,(n(),U(()=>n().scene.agents.size))),J(a,` ${(n(),U(()=>n().scene.agents.size===1?`agent`:`agents`))??``}
|
|
87
87
|
· `),J(s,(n(),U(()=>n().scene.tasks.size))),J(c,` ${(n(),U(()=>n().scene.tasks.size===1?`task`:`tasks`))??``} `)}),q(e,t)};Y(S,e=>{n(),U(()=>n().loading&&!n().scene)?e(C):(n(),U(()=>n().error)?e(w,1):(n(),U(()=>n().scene)&&e(T,2)))}),j(x),j(v);var E=z(v,2),D=L(E);Ca(D,e=>I(s,e),()=>H(s));var O=z(D,2),ee=e=>{var t=ow(),n=L(t),r=L(n),i=z(r);j(n);var a=z(n,2),s=z(L(a)),c=L(s,!0);j(s),j(a);var l=z(a,2),u=z(L(l),2),d=L(u,!0);j(u),j(l);var p=z(l,2),m=z(L(p)),h=L(m,!0);j(m),j(p);var g=z(p,2),_=e=>{var t=aw(),n=z(L(t),2),r=L(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(H(o),U(()=>H(o).repos.map(e=>e.split(`/`).pop()).join(`, `)))]),q(e,t)};Y(g,e=>{H(o),U(()=>H(o).repos.length>0)&&e(_)}),j(t),V(e=>{Ji(t,`left:${(H(f),U(()=>H(f).x))??``}px;top:${(H(f),U(()=>H(f).y))??``}px`),Ji(r,`background:${(H(o),U(()=>H(o).color))??``}`),J(i,` ${(H(o),U(()=>H(o).name))??``}`),J(c,(H(o),U(()=>H(o).role||`—`))),Ki(u,1,`tip-state ${(H(o),U(()=>H(o).state))??``}`,`svelte-1pykpun`),J(d,e),J(h,(H(o),U(()=>H(o).claimedTaskIds.length)))},[()=>(H(o),U(()=>H(o).state.replace(/_/g,` `)))]),q(e,t)};Y(O,e=>{H(o)&&H(f)&&e(ee)});var k=z(O,2),te=e=>{var t=sw();Q(L(t),{name:`users`,size:30,strokeWidth:1.2}),Ne(4),j(t),q(e,t)};Y(k,e=>{n(),U(()=>n().scene&&n().scene.agents.size===0&&!n().loading)&&e(te)}),j(E),Ca(E,e=>I(c,e),()=>H(c)),Ne(2),j(_),V(()=>Ji(D,`cursor:${H(d)?`pointer`:`default`}`)),G(`mousemove`,D,h),G(`mouseleave`,D,g),q(e,_),Ge(),a()}var uw=K(`<div class="repo-focus svelte-1eglegg"><!> <span> </span></div>`),dw=K(`<div class="summary-card svelte-1eglegg"><div class="summary-icon svelte-1eglegg"><!></div> <div class="summary-value svelte-1eglegg"> </div> <div class="summary-label svelte-1eglegg"> </div></div>`),fw=K(`<div class="mini-card svelte-1eglegg"><div class="mini-value svelte-1eglegg"> </div> <div class="mini-label svelte-1eglegg"> </div></div>`),pw=K(`<div class="mini-card svelte-1eglegg"><div class="mini-icon svelte-1eglegg"><!></div> <div class="mini-value svelte-1eglegg"> </div> <div class="mini-label svelte-1eglegg"> </div></div>`),mw=K(`<div class="empty-state svelte-1eglegg">No repository activity yet.</div>`),hw=K(`<span class="stat-chip stale svelte-1eglegg"> </span>`),gw=K(`<span class="stat-chip stale svelte-1eglegg"> </span>`),_w=K(`<div><div class="repo-main"><div class="repo-name svelte-1eglegg"> </div> <div class="repo-meta svelte-1eglegg"> </div></div> <div class="pressure-pill svelte-1eglegg"> </div> <div class="repo-stats svelte-1eglegg"><span class="stat-chip active svelte-1eglegg"> </span> <span class="stat-chip pending svelte-1eglegg"> </span> <span class="stat-chip blocked svelte-1eglegg"> </span> <span class="stat-chip backlog svelte-1eglegg"> </span></div> <div class="repo-stats svelte-1eglegg"><span class="stat-chip claim svelte-1eglegg"> </span> <span class="stat-chip handoff svelte-1eglegg"> </span> <!> <!></div> <div class="last-activity svelte-1eglegg"> </div></div>`),vw=K(`<div class="repo-table svelte-1eglegg"><div class="repo-table-head svelte-1eglegg"><span>Repository</span> <span>Pressure</span> <span>Workload</span> <span>Coordination</span> <span>Last Activity</span></div> <!></div>`),yw=K(`<div class="global-shell animate-fade-in svelte-1eglegg"><div class="glass card panel-card svelte-1eglegg"><div class="panel-header svelte-1eglegg"><div><div class="section-label">Global Command Center</div> <div class="panel-copy svelte-1eglegg">Cross-repository orchestration view for workload, coordination, and pressure.</div></div> <!></div> <div class="summary-grid svelte-1eglegg"></div></div> <div class="grid-two svelte-1eglegg"><div class="glass card panel-card svelte-1eglegg"><div class="subheading svelte-1eglegg">Coordination</div> <div class="mini-grid svelte-1eglegg"></div></div> <div class="glass card panel-card svelte-1eglegg"><div class="subheading svelte-1eglegg">Throughput</div> <div class="mini-grid svelte-1eglegg"></div></div></div> <div class="glass card panel-card svelte-1eglegg"><div class="panel-header svelte-1eglegg"><div><div class="subheading svelte-1eglegg">Attention Board</div> <div class="panel-copy svelte-1eglegg">Repos sorted by operational pressure: blocked work, active execution, pending queue, and coordination load.</div></div></div> <!></div></div>`);function bw(e,t){We(t,!1);let n=()=>P(Wa,`$globalDashboardStats`,s),r=()=>P(za,`$currentRepo`,s),i=()=>P(d,`$summaryCards`,s),a=()=>P(f,`$coordinationCards`,s),o=()=>P(p,`$throughputCards`,s),[s,c]=pt(),l=F(),u=F(),d=st(Wa,e=>[{label:`Repositories`,value:e?.repoCount??0,icon:`database`,color:`#0ea5e9`,tint:`rgba(14,165,233,0.12)`},{label:`Active Repos`,value:e?.activeRepoCount??0,icon:`activity`,color:`#8b5cf6`,tint:`rgba(139,92,246,0.12)`},{label:`Open Tasks`,value:(e?.taskStats?.pending??0)+(e?.taskStats?.in_progress??0)+(e?.taskStats?.blocked??0)+(e?.taskStats?.backlog??0),icon:`clipboard-list`,color:`#f59e0b`,tint:`rgba(245,158,11,0.12)`},{label:`Active Claims`,value:e?.coordination?.activeClaims??0,icon:`check`,color:`#10b981`,tint:`rgba(16,185,129,0.12)`},{label:`Pending Handoffs`,value:e?.coordination?.pendingHandoffs??0,icon:`git-branch`,color:`#6366f1`,tint:`rgba(99,102,241,0.12)`},{label:`Blocked Tasks`,value:e?.taskStats?.blocked??0,icon:`triangle-alert`,color:`#ef4444`,tint:`rgba(239,68,68,0.12)`}]),f=st(Wa,e=>[{label:`Agents Claiming`,value:e?.coordination?.agentsClaiming??0,accent:`#10b981`},{label:`Unassigned Handoffs`,value:e?.coordination?.unassignedHandoffs??0,accent:`#f97316`},{label:`Stale Claims`,value:e?.coordination?.staleClaims??0,accent:`#ef4444`},{label:`Stale Handoffs`,value:e?.coordination?.staleHandoffs??0,accent:`#e11d48`}]),p=st(Ka,e=>[{label:`Today Done`,value:e?.daily?.completed??0,icon:`circle-check`,color:`#10b981`},{label:`Today Added`,value:e?.daily?.added??0,icon:`plus`,color:`#0ea5e9`},{label:`7d Done`,value:e?.weekly?.completed??0,icon:`bar-chart`,color:`#8b5cf6`},{label:`7d Tokens`,value:cl(e?.weekly?.tokens),icon:`cpu`,color:`#f59e0b`}]);function m(e){return e.blockedCount*5+e.inProgressCount*3+e.pendingCount*2+e.pendingHandoffs*2+e.activeClaims}B(()=>n(),()=>{I(l,(n()?.repos??[]).slice(0,8))}),B(()=>(r(),H(l)),()=>{I(u,r()?H(l).find(e=>e.repo===r()):null)}),Un(),Ea();var h=yw(),g=L(h),_=L(g),v=z(L(_),2),y=e=>{var t=uw(),n=L(t);Q(n,{name:`pin`,size:12,strokeWidth:2});var i=z(n,2),a=L(i);j(i),j(t),V(()=>J(a,`Focused repo: ${r()??``}`)),q(e,t)};Y(v,e=>{H(u)&&e(y)}),j(_);var b=z(_,2);X(b,5,i,e=>e.label,(e,t)=>{var n=dw(),r=L(n);Q(L(r),{get name(){return H(t),U(()=>H(t).icon)},size:14,strokeWidth:1.9}),j(r);var i=z(r,2),a=L(i,!0);j(i);var o=z(i,2),s=L(o,!0);j(o),j(n),V(()=>{Ji(n,`background:${(H(t),U(()=>H(t).tint))??``};border-color:${(H(t),U(()=>H(t).tint))??``};`),Ji(r,`color:${(H(t),U(()=>H(t).color))??``};`),Ji(i,`color:${(H(t),U(()=>H(t).color))??``};`),J(a,(H(t),U(()=>H(t).value))),J(s,(H(t),U(()=>H(t).label)))}),q(e,n)}),j(b),j(g);var x=z(g,2),S=L(x),C=z(L(S),2);X(C,5,a,e=>e.label,(e,t)=>{var n=fw(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{Ji(r,`color:${(H(t),U(()=>H(t).accent))??``};`),J(i,(H(t),U(()=>H(t).value))),J(o,(H(t),U(()=>H(t).label)))}),q(e,n)}),j(C),j(S);var w=z(S,2),T=z(L(w),2);X(T,5,o,e=>e.label,(e,t)=>{var n=pw(),r=L(n);Q(L(r),{get name(){return H(t),U(()=>H(t).icon)},size:12,strokeWidth:2}),j(r);var i=z(r,2),a=L(i,!0);j(i);var o=z(i,2),s=L(o,!0);j(o),j(n),V(()=>{Ji(r,`color:${(H(t),U(()=>H(t).color))??``};`),Ji(i,`color:${(H(t),U(()=>H(t).color))??``};`),J(a,(H(t),U(()=>H(t).value))),J(s,(H(t),U(()=>H(t).label)))}),q(e,n)}),j(T),j(w),j(x);var E=z(x,2),D=z(L(E),2),O=e=>{q(e,mw())},ee=e=>{var t=vw();X(z(L(t),2),1,()=>H(l),e=>e.repo,(e,t)=>{var n=_w();let i;var a=L(n),o=L(a),s=L(o,!0);j(o);var c=z(o,2),l=L(c);j(c),j(a);var u=z(a,2),d=L(u,!0);j(u);var f=z(u,2),p=L(f),h=L(p);j(p);var g=z(p,2),_=L(g);j(g);var v=z(g,2),y=L(v);j(v);var b=z(v,2),x=L(b);j(b),j(f);var S=z(f,2),C=L(S),w=L(C);j(C);var T=z(C,2),E=L(T);j(T);var D=z(T,2),O=e=>{var n=hw(),r=L(n);j(n),V(()=>J(r,`U ${(H(t),U(()=>H(t).unassignedHandoffs))??``}`)),q(e,n)};Y(D,e=>{H(t),U(()=>H(t).unassignedHandoffs>0)&&e(O)});var ee=z(D,2),k=e=>{var n=gw(),r=L(n);j(n),V(()=>J(r,`S ${(H(t),U(()=>H(t).staleClaims))??``}`)),q(e,n)};Y(ee,e=>{H(t),U(()=>H(t).staleClaims>0)&&e(k)}),j(S);var te=z(S,2),ne=L(te,!0);j(te),j(n),V((e,a)=>{i=Ki(n,1,`repo-table-row svelte-1eglegg`,null,i,{selected:r()===H(t).repo}),J(s,(H(t),U(()=>H(t).repo))),J(l,`${(H(t),U(()=>H(t).memoryCount))??``} memories • ${(H(t),U(()=>H(t).taskCount))??``} tasks`),J(d,e),J(h,`A ${(H(t),U(()=>H(t).inProgressCount))??``}`),J(_,`P ${(H(t),U(()=>H(t).pendingCount))??``}`),J(y,`B ${(H(t),U(()=>H(t).blockedCount))??``}`),J(x,`Q ${(H(t),U(()=>H(t).backlogCount))??``}`),J(w,`C ${(H(t),U(()=>H(t).activeClaims))??``}`),J(E,`H ${(H(t),U(()=>H(t).pendingHandoffs))??``}`),J(ne,a)},[()=>(H(t),U(()=>m(H(t)))),()=>(H(t),W(sl),U(()=>H(t).lastActivity?sl(H(t).lastActivity):`—`))]),q(e,n)}),j(t),q(e,t)};Y(D,e=>{H(l),U(()=>H(l).length===0)?e(O):e(ee,-1)}),j(E),j(h),q(e,h),Ge(),c()}var xw=K(`<div class="drawer-overlay" style="z-index:38;" role="button" tabindex="0" aria-label="Close menu"></div> <div class="mobile-sidebar-shell"><!></div>`,1),Sw=K(`<div style="text-align:center;padding:80px 20px;" class="animate-fade-in"><div style="display:inline-flex;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,rgba(14,165,233,0.15),rgba(99,102,241,0.15));border:1px solid rgba(14,165,233,0.2);align-items:center;justify-content:center;margin-bottom:20px;" class="animate-float"><!></div> <div style="font-size:1.25rem;font-weight:800;color:var(--color-text);margin-bottom:8px;letter-spacing:-0.02em;">No Repository Selected</div> <div style="color:var(--color-text-muted);font-size:0.875rem;">Select a repository from the sidebar to get started.</div></div>`),Cw=K(`<button><!> <span> </span></button>`),ww=K(`<div class="glass card hover-glow" style="padding:16px;"><div class="flex items-center justify-between" style="margin-bottom:10px;"><div class="section-label">Selected Repo Pulse</div> <div style="font-size:0.68rem;font-weight:800;color:var(--color-primary);background:rgba(99,102,241,0.08);border:1px solid rgba(99,102,241,0.16);padding:4px 8px;border-radius:999px;"> </div></div> <div style="display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;" class="repo-pulse-grid svelte-1m88iwd"><div class="glass card" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Memory Overview</div> <!></div> <div class="glass card" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Task Overview</div> <!></div></div></div> <!>`,1),Tw=K(`<div class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Per-Repository Pulse</div> <div style="color:var(--color-text-muted);font-size:0.8rem;">Select a repository from the sidebar to inspect repo-specific memory, task, and execution metrics.</div></div>`),Ew=K(`<div style="display:grid;grid-template-columns:1fr;gap:12px;align-items:start;" class="dashboard-grid svelte-1m88iwd"><!> <div style="display:flex;flex-direction:column;gap:12px;"><!></div></div>`),Dw=K(`<div class="glass card animate-fade-in" style="height:calc(100vh - 180px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:24px;"><div style="padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.05);"><div class="flex items-center gap-3"><div style="width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px var(--glow-primary);"><!></div> <div><div style="font-size:0.95rem;font-weight:800;color:var(--color-text);letter-spacing:-0.01em;">Recent Activity</div> <div style="font-size:0.68rem;color:var(--color-text-muted);font-weight:600;"> </div></div></div></div> <div style="flex:1;overflow-y:auto;padding:24px 32px;background:rgba(0,0,0,0.02);"><!></div></div>`),Ow=K(`<div class="glass card hover-glow animate-fade-in"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="section-label">Memory Explorer</div></div> <!></div>`),kw=K(`<div class="animate-fade-in"><div class="glass card hover-glow" style="margin-bottom:20px;"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="stat-label">Task Overview</div></div> <!></div></div>`),Aw=K(`<div class="arena-fullwidth svelte-1m88iwd"><!></div>`),jw=K(`<div class="tabs-wrap"><div class="tab-nav" style="display:inline-flex;"></div></div> <!> <!> <!> <!> <!> <!> <!> <!>`,1),Mw=K(`<div class="app-layout"><!> <div><!> <!> <div id="dashboardShell" class="dashboard-shell"><!></div></div></div> <!> <!> <!> <!> <!> <!>`,1);function Nw(e,t){We(t,!1);let n=()=>P(La,`$activeTab`,s),r=()=>P(g,`$sidebarCollapsed`,s),i=()=>P(f,`$appState`,s),a=()=>P(za,`$currentRepo`,s),o=()=>P(oo,`$recentActionsTotalItems`,s),[s,c]=pt(),l=F(),u=F(),d=_o({get kanbanBoard(){return H(l)},get memoryList(){return H(u)}}),f={subscribe:d.subscribe,set:d.set,update:d.update},{filteredTools:p,filteredPrompts:m,filteredResources:h,sidebarCollapsed:g,TABS:_}=d;Aa(async()=>{if(po(),await d.loadRepos(),await d.loadHealth(),await d.loadData(),n()===`reference`&&!N(d).capabilities)try{let e=await Z.capabilities();d.update(t=>({...t,capabilities:e}))}catch(e){console.error(`Failed to load capabilities:`,e)}}),Ea();var v=Mw();G(`keydown`,hn,function(...e){d.onKeyDown?.apply(this,e)});var y=R(v),b=L(y);Kl(b,{get onRepoSelect(){return d.onRepoSelect}});var x=z(b,2);let S;var C=L(x);au(C,{get onRefresh(){return d.onRefresh},get onToggleMobileMenu(){return d.toggleMobileMenu}});var w=z(C,2),T=e=>{var t=xw(),n=R(t),r=z(n,2);Kl(L(r),{get onRepoSelect(){return d.onRepoSelect}}),j(r),G(`click`,n,()=>d.toggleMobileMenu()),G(`keydown`,n,e=>e.key===`Escape`&&d.toggleMobileMenu()),q(e,t)};Y(w,e=>{i().mobileMenuOpen&&e(T)});var E=z(w,2),D=L(E),O=e=>{var t=Sw(),n=L(t);Q(L(n),{name:`brain`,size:32,strokeWidth:1.5,className:``}),j(n),Ne(4),j(t),q(e,t)},ee=e=>{var t=jw(),r=R(t),i=L(r);X(i,5,()=>_,e=>e.id,(e,t)=>{var r=Cw();let i;var a=L(r);Q(a,{get name(){return H(t).icon},size:14,strokeWidth:1.75});var o=z(a,2),s=L(o,!0);j(o),j(r),V(()=>{i=Ki(r,1,`tab-btn`,null,i,{active:n()===H(t).id}),fa(r,`id`,`tab-${H(t).id??``}`),J(s,H(t).label)}),G(`click`,r,()=>d.onTabChange(H(t).id)),q(e,r)}),j(i),j(r);var s=z(r,2),c=e=>{var t=Ew(),n=L(t);bw(n,{});var r=z(n,2),i=L(r),o=e=>{var t=ww(),n=R(t),r=L(n),i=z(L(r),2),o=L(i,!0);j(i),j(r);var s=z(r,2),c=L(s);Vu(z(L(c),2),{}),j(c);var l=z(c,2);qu(z(L(l),2),{}),j(l),j(s),j(n),py(z(n,2),{}),V(()=>J(o,a())),q(e,t)},s=e=>{q(e,Tw())};Y(i,e=>{a()?e(o):e(s,-1)}),j(r),j(t),q(e,t)};Y(s,e=>{n()===`dashboard`&&e(c)});var g=z(s,2),v=e=>{var t=Dw(),n=L(t),r=L(n),i=L(r);Q(L(i),{name:`activity`,size:18,strokeWidth:2.2}),j(i);var a=z(i,2),s=z(L(a),2),c=L(s);j(s),j(a),j(r),j(n);var l=z(n,2);fb(L(l),{get onLoadPage(){return d.loadRecentActions}}),j(l),j(t),V(()=>J(c,`${o()??``} events tracked`)),q(e,t)};Y(g,e=>{n()===`activity`&&e(v)});var y=z(g,2),b=e=>{var t=Ow(),n=L(t);Q(L(n),{name:`brain`,size:14,strokeWidth:1.75}),Ne(2),j(n),Ca(jy(z(n,2),{get onMemoryClick(){return d.openMemoryDrawer},get onNewMemory(){return d.openNewMemoryDrawer},onBulkImport:()=>d.openBulkImport(`memories`),$$legacy:!0}),e=>I(u,e),()=>H(u)),j(t),q(e,t)};Y(y,e=>{n()===`memories`&&e(b)});var x=z(y,2),S=e=>{var t=kw(),n=L(t),r=L(n);Q(L(r),{name:`columns`,size:14,strokeWidth:1.75}),Ne(2),j(r),Ca(Pu(z(r,2),{get onTaskClick(){return d.openTaskDrawer},onAddTask:()=>d.toggleAddTaskModal(!0),onBulkImport:()=>d.openBulkImport(`tasks`),$$legacy:!0}),e=>I(l,e),()=>H(l)),j(n),j(t),q(e,t)};Y(x,e=>{n()===`tasks`&&e(S)});var C=z(x,2),w=e=>{{let t=Yt(()=>a()||``);VS(e,{get repo(){return H(t)}})}};Y(C,e=>{n()===`standards`&&e(w)});var T=z(C,2),E=e=>{{let t=Yt(()=>a()||``);lC(e,{get repo(){return H(t)}})}};Y(T,e=>{n()===`handoffs`&&e(E)});var D=z(T,2),O=e=>{var t=Aw();lw(L(t),{}),j(t),q(e,t)};Y(D,e=>{n()===`arena`&&e(O)});var ee=z(D,2),k=e=>{_S(e,{get handler(){return d},get appState(){return f},get filteredTools(){return p},get filteredPrompts(){return m},get filteredResources(){return h}})};Y(ee,e=>{n()===`reference`&&e(k)}),q(e,t)};Y(D,e=>{!a()&&n()!==`dashboard`&&n()!==`arena`?e(O):e(ee,-1)}),j(E),j(x),j(y);var k=z(y,2);Ub(k,{get memory(){return i().selectedMemory},get task(){return i().selectedTask},get open(){return i().drawerOpen},get onClose(){return d.closeDrawer},get onTaskUpdated(){return d.handleTaskUpdated},onTaskDeleted:()=>{a()&&H(l)?.loadTasks(a())}});var te=z(k,2);dx(te,{get item(){return i().selectedReference},get open(){return i().referenceDrawerOpen},onClose:()=>d.toggleReferenceDrawer(!1)});var ne=z(te,2);Ax(ne,{get memory(){return i().memoryDrawerItem},get open(){return i().memoryDrawerOpen},onClose:()=>d.toggleMemoryDrawer(!1),get onSaved(){return d.handleMemorySaved},get onDeleted(){return d.handleMemoryDeleted}});var re=z(ne,2);Xx(re,{get open(){return i().addTaskModalOpen},get newTask(){return i().newTask},onClose:()=>d.toggleAddTaskModal(!1),get onSave(){return d.createTask}});var ie=z(re,2);{let e=Yt(()=>a()||``);Kx(ie,{get repo(){return H(e)},get importTarget(){return i().bulkImportTarget},get isOpen(){return i().bulkImportOpen},$$events:{close:()=>d.toggleBulkImport(!1),success:()=>{i().bulkImportTarget===`memories`&&H(u)?.refresh(),i().bulkImportTarget===`tasks`&&a()&&H(l)?.loadTasks(a())}}})}bS(z(ie,2),{get onNewMemory(){return d.openNewMemoryDrawer},onNewTask:()=>d.toggleAddTaskModal(!0)}),V(()=>S=Ki(x,1,`main-content`,null,S,{"sidebar-collapsed":r()})),q(e,v),Ge(),c()}fi(Nw,{target:document.getElementById(`app`)});
|
|
@@ -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-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-BLUZoPoT.js"></script>
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/assets/index-D_W3_eYf.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED