@vheins/local-memory-mcp 0.8.39 → 0.8.40

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.
@@ -3,8 +3,8 @@ import { fileURLToPath } from "url";
3
3
  import path from "path";
4
4
  var __dirname = path.dirname(fileURLToPath(import.meta.url));
5
5
  var pkgVersion = "0.1.0";
6
- if ("0.8.39") {
7
- pkgVersion = "0.8.39";
6
+ if ("0.8.40") {
7
+ pkgVersion = "0.8.40";
8
8
  } else {
9
9
  let searchDir = __dirname;
10
10
  for (let i = 0; i < 5; i++) {
@@ -83,4 +83,4 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
83
83
  opacity: ${s-u*t}
84
84
  `}}var _x={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 vx(e){let t=j(null),n=j([]),r=j([]),i=j(``),a=j(``),o=j(!1),s=j(!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=_x[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 fo.bulkImportMemories(e.repo,t)).count:(await fo.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 yx=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),bx=K(`<th class="svelte-lenod"> </th>`),xx=K(`<td class="svelte-lenod"> </td>`),Sx=K(`<tr class="svelte-lenod"></tr>`),Cx=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),wx=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),Tx=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),Ex=K(`<!> Start Import`,1),Dx=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 Ox(e,t){Ge(t,!1);let n=()=>N(H(d),`$file`,l),r=()=>N(H(f),`$csvData`,l),i=()=>N(H(p),`$headers`,l),a=()=>N(H(m),`$fileName`,l),o=()=>N(H(h),`$errorMsg`,l),s=()=>N(H(g),`$isSubmitting`,l),c=()=>N(H(_),`$composableIsOpen`,l),[l,u]=mt(),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(),ee=F(),te=F(),ne=F(),re=Q(t,`repo`,8),ie=Q(t,`importTarget`,8,`memories`),ae=Q(t,`isOpen`,12,!1),oe=ja(),se=vx({repo:re(),importTarget:ie(),onSuccess:()=>oe(`success`),onClose:()=>{ae(!1),oe(`close`)}});B(()=>W(ae()),()=>{se.isOpen.set(ae())}),B(()=>{},()=>{ft(I(d,se.file),`$file`,l)}),B(()=>{},()=>{ft(I(f,se.csvData),`$csvData`,l)}),B(()=>{},()=>{ft(I(p,se.headers),`$headers`,l)}),B(()=>{},()=>{ft(I(m,se.fileName),`$fileName`,l)}),B(()=>{},()=>{ft(I(h,se.errorMsg),`$errorMsg`,l)}),B(()=>{},()=>{ft(I(g,se.isSubmitting),`$isSubmitting`,l)}),B(()=>{},()=>{ft(I(_,se.isOpen),`$composableIsOpen`,l)}),B(()=>{},()=>{I(v,se.close)}),B(()=>{},()=>{I(y,se.handleFileSelect)}),B(()=>{},()=>{I(b,se.handleFileDrop)}),B(()=>{},()=>{I(x,se.downloadExample)}),B(()=>{},()=>{I(S,se.handleImport)}),B(()=>{},()=>{I(C,se.setFile)}),B(()=>{},()=>{I(w,se.setCsvData)}),B(()=>n(),()=>{I(T,n())}),B(()=>r(),()=>{I(E,r())}),B(()=>i(),()=>{I(D,i())}),B(()=>a(),()=>{I(ee,a())}),B(()=>o(),()=>{I(te,o())}),B(()=>s(),()=>{I(ne,s())}),Un(),Ta();var ce=li(),le=R(ce),ue=e=>{var n=Dx(),r=L(n),i=L(r),a=L(i),o=L(a);$(L(o),{name:`upload-cloud`,size:18}),A(o);var s=z(o,2),c=L(s);A(s),A(a);var l=z(a,2);$(L(l),{name:`x`,size:18,strokeWidth:2}),A(l),A(i);var u=z(i,2),d=L(u),f=L(d),p=e=>{var n=yx(),r=R(n),i=L(r),a=L(i);$(L(a),{name:`file-up`,size:48,strokeWidth:1}),A(a);var o=z(a,6),s=z(L(o));A(o),A(i),A(r);var c=z(r,2),l=z(L(c),2),u=L(l);$(u,{name:`download`,size:14,className:`mr-2`});var d=z(u);A(l),A(c),V(()=>J(d,` Download Example ${ie()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,wa(function(e){Da.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=Cx(),n=R(t),r=L(n),i=L(r);$(L(i),{name:`file-type-2`,size:24}),A(i);var a=z(i,2),o=L(a),s=L(o,!0);A(o);var c=z(o,2),l=L(c);A(c),A(a),A(r);var u=z(r,2);A(n);var d=z(n,2),f=z(L(d),2),p=L(f),m=L(p),h=L(m);Z(h,5,()=>H(D),X,(e,t)=>{var n=bx(),r=L(n,!0);A(n),V(()=>J(r,H(t))),q(e,n)}),A(h),A(m);var g=z(m);Z(g,5,()=>(H(E),U(()=>H(E).slice(0,5))),X,(e,t)=>{var n=Sx();Z(n,5,()=>H(D),X,(e,n)=>{var r=xx(),i=L(r,!0);A(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),A(n),q(e,n)}),A(g),A(p),A(f),A(d),V(()=>{J(s,H(ee)),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=wx(),n=L(t);$(n,{name:`alert-circle`,size:16});var r=z(n,2),i=L(r,!0);A(r),A(t),V(()=>J(i,H(te))),q(e,t)};Y(h,e=>{H(te)&&e(g)}),A(d),A(u);var _=z(u,2),re=L(_),ae=z(re,2),oe=L(ae),se=e=>{var t=Tx();Pe(),q(e,t)},ce=e=>{var t=Ex();$(R(t),{name:`check`,size:16,className:`mr-2`}),Pe(),q(e,t)};Y(oe,e=>{H(ne)?e(se):e(ce,-1)}),A(ae),A(_),A(r),A(n),V(()=>{J(c,`Bulk Import ${ie()===`memories`?`Memories`:`Tasks`}`),re.disabled=H(ne),ae.disabled=(H(ne),H(E),U(()=>H(ne)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(v)?.apply(this,e)}),G(`click`,ae,function(...e){H(S)?.apply(this,e)}),Ni(3,r,()=>gx,()=>({duration:200,start:.95})),G(`click`,r,Ca(function(e){Da.call(this,t,e)})),Ni(3,n,()=>hx,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(le,e=>{c()&&e(ue)}),q(e,ce),Ke(),u()}var kx=K(`<option> </option>`),Ax=K(`<option> </option>`),jx=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 Mx(e,t){Ge(t,!1);let n=Q(t,`open`,8,!1),r=Q(t,`newTask`,12),i=Q(t,`onClose`,8,()=>{}),a=Q(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ta();var s=li();G(`keydown`,hn,o);var c=R(s),l=e=>{var t=jx(),n=R(t),o=z(n,2),s=L(o),c=L(s);$(L(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),A(c);var l=z(c,4);$(L(l),{name:`x`,size:14,strokeWidth:2.5}),A(l),A(s);var u=z(s,2),d=L(u),f=L(d),p=z(L(f),2);sa(p),A(f);var m=z(f,2),h=z(L(m),2);sa(h),A(m),A(d);var g=z(d,2),_=L(g),v=z(L(_),3),y=L(v);A(v),A(_);var b=z(_,2);sa(b),A(g);var x=z(g,2),S=z(L(x),2);On(S),A(x);var C=z(x,2),w=L(C),T=z(L(w),2);Z(T,4,()=>[`backlog`,`pending`,`in_progress`],X,(e,t)=>{var n=kx(),r=L(n,!0);A(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W($c),U(()=>$c(t)))]),q(e,n)}),A(T),A(w);var E=z(w,2),D=z(L(E),2);Z(D,4,()=>[1,2,3,4,5],X,(e,t)=>{var n=Ax(),r=L(n,!0);A(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(el),U(()=>el(t)))]),q(e,n)}),A(D),A(E),A(C),A(u);var ee=z(u,2),te=L(ee),ne=z(te,2);$(L(ne),{name:`plus`,size:13,strokeWidth:2.5}),Pe(),A(ne),A(ee),A(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),ne.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)}),_a(p,()=>r().task_code,e=>(r(r().task_code=e,!0),cr(()=>{}))),_a(h,()=>r().phase,e=>(r(r().phase=e,!0),cr(()=>{}))),_a(b,()=>r().title,e=>(r(r().title=e,!0),cr(()=>{}))),_a(S,()=>r().description,e=>(r(r().description=e,!0),cr(()=>{}))),Xi(T,()=>r().status,e=>(r(r().status=e,!0),cr(()=>{}))),Xi(D,()=>r().priority,e=>(r(r().priority=e,!0),cr(()=>{}))),G(`click`,te,function(...e){i()?.apply(this,e)}),G(`click`,ne,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),Ke()}var Nx=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),Px=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),Fx=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),Ix=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>`),Lx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Rx=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),zx=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),Bx=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),Vx=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>`),Hx=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),Ux=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Wx=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>`),Gx=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),Kx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),qx=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>`),Jx=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>`),Yx=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),Xx=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>`),Zx=K(`<!> <!> <!> <!>`,1),Qx=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 &amp; 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 $x(e,t){Ge(t,!1);let n=()=>N(p(),`$appState`,o),r=()=>N(m(),`$filteredTools`,o),i=()=>N(h(),`$filteredPrompts`,o),a=()=>N(_(),`$filteredResources`,o),[o,s]=mt(),c=F(),l=F(),u=F(),d=F(),f=Q(t,`handler`,8),p=Q(t,`appState`,8),m=Q(t,`filteredTools`,8),h=Q(t,`filteredPrompts`,8),_=Q(t,`filteredResources`,8);function v(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(),Ta();var y=Qx(),b=L(y),x=L(b),S=L(x),C=L(S);$(C,{name:`book-open`,size:15,strokeWidth:1.75});var w=z(C,4),T=e=>{var t=Nx(),n=L(t);A(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(w,e=>{H(c),U(()=>H(c).capabilities)&&e(T)}),A(S);var E=z(S,2),D=L(E);$(L(D),{name:`search`,size:12,strokeWidth:2}),A(D);var ee=z(D,2);sa(ee);var te=z(ee,2),ne=e=>{var t=Px();$(L(t),{name:`x`,size:11,strokeWidth:2.5}),A(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(te,e=>{H(c),U(()=>H(c).referenceSearch)&&e(ne)}),A(E),A(x),A(b);var re=z(b,2),ie=L(re);Z(z(L(ie),2),1,()=>(H(c),U(()=>[{id:`all`,icon:`layers`,label:`All`,count:(H(c).capabilities?.tools?.length||0)+(H(c).capabilities?.prompts?.length||0)+(H(c).capabilities?.resources?.length||0)},{id:`tools`,icon:`tool`,label:`Tools`,count:H(c).capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:H(c).capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:H(c).capabilities?.resources?.length||0}])),X,(e,t)=>{var n=Fx();let r;var i=L(n);$(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=z(i,2),o=L(a,!0);A(a);var s=z(a,2),l=L(s,!0);A(s),A(n),V(()=>{r=Gi(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)}),A(ie);var ae=z(ie,2),oe=L(ae),se=e=>{q(e,Ix())},ce=e=>{var t=Zx(),n=R(t),r=e=>{var t=Hx(),n=R(t),r=L(n);$(r,{name:`tool`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);A(i),A(n);var o=z(n,2);Z(o,5,()=>H(l),X,(e,t)=>{var n=Vx(),r=L(n),i=L(r);$(L(i),{name:`tool`,size:10,strokeWidth:2}),Pe(),A(i),A(r);var a=z(r,2),o=L(a,!0);A(a);var s=z(a,2),c=e=>{var n=Lx(),r=L(n,!0);A(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=Bx(),r=L(n);Z(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),X,(e,t)=>{var n=Jt(()=>g(H(t),1));let r=()=>H(n)[0];var i=Rx(),a=L(i,!0);A(i),V(()=>J(a,r())),q(e,i)});var i=z(r,2),a=e=>{var n=zx(),r=L(n);A(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)}),A(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),A(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=>v(e,`tool`,H(t).data)),q(e,n)}),A(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=Gx(),n=R(t),r=L(n);$(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);A(i),A(n);var o=z(n,2);Z(o,5,()=>H(u),X,(e,t)=>{var n=Wx(),r=L(n),i=L(r);$(L(i),{name:`sparkle`,size:10,strokeWidth:2}),Pe(),A(i),A(r);var a=z(r,2),o=L(a,!0);A(a);var s=z(a,2),c=e=>{var n=Ux(),r=L(n,!0);A(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)}),A(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=>v(e,`prompt`,H(t).data)),q(e,n)}),A(o),V(()=>{qi(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=Yx(),n=R(t),r=L(n);$(r,{name:`database`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);A(i),A(n);var o=z(n,2);Z(o,5,()=>H(d),X,(e,t)=>{var n=Jx(),r=L(n),i=L(r);$(L(i),{name:`database`,size:10,strokeWidth:2}),Pe(),A(i),A(r);var a=z(r,2),o=L(a,!0);A(a);var s=z(a,2),c=e=>{var n=Kx(),r=L(n,!0);A(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=qx(),r=L(n),i=L(r,!0);A(r),A(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)}),A(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=>v(e,`resource`,H(t).data)),q(e,n)}),A(o),V(()=>{qi(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=Xx(),n=L(t);$(n,{name:`search`,size:28,strokeWidth:1.25});var r=z(n,2),i=L(r);A(r),A(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(oe,e=>{H(c),U(()=>!H(c).capabilities)?e(se):e(ce,-1)}),A(ae),A(re),A(y),_a(ee,()=>n().referenceSearch,e=>gt(p(),U(n).referenceSearch=e,U(n))),q(e,y),Ke(),s()}var eS=K(`<div class="fab-backdrop svelte-10ega5z" role="button" tabindex="-1" aria-label="Close menu"></div>`),tS=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 nS(e,t){Ge(t,!1);let n=()=>N(La,`$currentRepo`,r),[r,i]=mt(),a=Q(t,`onNewMemory`,8,()=>{}),o=Q(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)}Ta();var f=li();G(`keydown`,hn,d);var p=R(f),m=e=>{var t=tS(),n=R(t),r=e=>{var t=eS();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);$(L(f),{name:`clipboard-list`,size:16,strokeWidth:2}),A(f),A(d);var p=z(d,2),m=z(L(p),2);$(L(m),{name:`brain`,size:16,strokeWidth:2}),A(m),A(p),A(o);var h=z(o,2),g=L(h);let _;A(h),A(i),V(()=>{a=Gi(i,1,`fab-container svelte-10ega5z`,null,a,{open:H(s)}),qi(d,`transition-delay: ${H(s)?`0.05s`:`0s`}`),qi(p,`transition-delay: ${H(s)?`0.1s`:`0s`}`),da(h,`title`,H(s)?`Close`:`Quick create`),da(h,`aria-label`,H(s)?`Close quick create menu`:`Open quick create menu`),da(h,`aria-expanded`,H(s)),_=Gi(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),Ke(),i()}var rS=K(`<div class="drawer-overlay" style="z-index:38;" role="button" tabindex="0" aria-label="Close menu"></div> <div style="position:fixed;top:0;left:0;width:280px;height:100dvh;z-index:39;display:flex;flex-direction:column;"><!></div>`,1),iS=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>`),aS=K(`<button><!> <span> </span></button>`),oS=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 class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Memory Overview</div> <!></div> <div class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Task Overview</div> <!></div> <!></div></div>`),sS=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>`),cS=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>`),lS=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>`),uS=K(`<div style="margin-bottom:20px;"><div class="tab-nav" style="display:inline-flex;"></div></div> <!> <!> <!> <!> <!>`,1),dS=K(`<div class="app-layout"><!> <div><!> <!> <div id="dashboardShell" style="padding: 20px; min-height: 100vh;"><!></div></div></div> <!> <!> <!> <!> <!> <!>`,1);function fS(e,t){Ge(t,!1);let n=()=>N(Fa,`$activeTab`,s),r=()=>N(g,`$sidebarCollapsed`,s),i=()=>N(f,`$appState`,s),a=()=>N(La,`$currentRepo`,s),o=()=>N(no,`$recentActionsTotalItems`,s),[s,c]=mt(),l=F(),u=F(),d=mo({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;Oa(async()=>{if(co(),await d.loadRepos(),await d.loadHealth(),await d.loadData(),n()===`reference`&&!M(d).capabilities)try{let e=await fo.capabilities();d.update(t=>({...t,capabilities:e}))}catch(e){console.error(`Failed to load capabilities:`,e)}}),Ta();var v=dS();G(`keydown`,hn,function(...e){d.onKeyDown?.apply(this,e)});var y=R(v),b=L(y);Pl(b,{get onRepoSelect(){return d.onRepoSelect}});var x=z(b,2);let S;var C=L(x);ql(C,{get onRefresh(){return d.onRefresh},get onToggleMobileMenu(){return d.toggleMobileMenu}});var w=z(C,2),T=e=>{var t=rS(),n=R(t),r=z(n,2);Pl(L(r),{get onRepoSelect(){return d.onRepoSelect}}),A(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),ee=e=>{var t=iS(),n=L(t);$(L(n),{name:`brain`,size:32,strokeWidth:1.5,className:``}),A(n),Pe(4),A(t),q(e,t)},te=e=>{var t=uS(),r=R(t),i=L(r);Z(i,5,()=>_,X,(e,t)=>{var r=aS();let i;var a=L(r);$(a,{get name(){return H(t).icon},size:14,strokeWidth:1.75});var o=z(a,2),s=L(o,!0);A(o),A(r),V(()=>{i=Gi(r,1,`tab-btn`,null,i,{active:n()===H(t).id}),da(r,`id`,`tab-${H(t).id??``}`),J(s,H(t).label)}),G(`click`,r,()=>d.onTabChange(H(t).id)),q(e,r)}),A(i),A(r);var a=z(r,2),s=e=>{var t=oS(),n=L(t),r=L(n);Eu(z(L(r),2),{}),A(r);var i=z(r,2);Mu(z(L(i),2),{}),A(i),Qv(z(i,2),{}),A(n),A(t),q(e,t)};Y(a,e=>{n()===`dashboard`&&e(s)});var c=z(a,2),g=e=>{var t=sS(),n=L(t),r=L(n),i=L(r);$(L(i),{name:`activity`,size:18,strokeWidth:2.2}),A(i);var a=z(i,2),s=z(L(a),2),c=L(s);A(s),A(a),A(r),A(n);var l=z(n,2);Zy(L(l),{get onLoadPage(){return d.loadRecentActions}}),A(l),A(t),V(()=>J(c,`${o()??``} events tracked`)),q(e,t)};Y(c,e=>{n()===`activity`&&e(g)});var v=z(c,2),y=e=>{var t=cS(),n=L(t);$(L(n),{name:`brain`,size:14,strokeWidth:1.75}),Pe(2),A(n),Sa(gy(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)),A(t),q(e,t)};Y(v,e=>{n()===`memories`&&e(y)});var b=z(v,2),x=e=>{var t=lS(),n=L(t),r=L(n);$(L(r),{name:`columns`,size:14,strokeWidth:1.75}),Pe(2),A(r),Sa(yu(z(r,2),{get onTaskClick(){return d.openTaskDrawer},onAddTask:()=>d.toggleAddTaskModal(!0),onBulkImport:()=>d.openBulkImport(`tasks`),$$legacy:!0}),e=>I(l,e),()=>H(l)),A(n),A(t),q(e,t)};Y(b,e=>{n()===`tasks`&&e(x)});var S=z(b,2),C=e=>{$x(e,{get handler(){return d},get appState(){return f},get filteredTools(){return p},get filteredPrompts(){return m},get filteredResources(){return h}})};Y(S,e=>{n()===`reference`&&e(C)}),q(e,t)};Y(D,e=>{a()?e(te,-1):e(ee)}),A(E),A(x),A(y);var ne=z(y,2);Tb(ne,{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 re=z(ne,2);qb(re,{get item(){return i().selectedReference},get open(){return i().referenceDrawerOpen},onClose:()=>d.toggleReferenceDrawer(!1)});var ie=z(re,2);fx(ie,{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 ae=z(ie,2);Mx(ae,{get open(){return i().addTaskModalOpen},get newTask(){return i().newTask},onClose:()=>d.toggleAddTaskModal(!1),get onSave(){return d.createTask}});var oe=z(ae,2);{let e=Yt(()=>a()||``);Ox(oe,{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())}}})}nS(z(oe,2),{get onNewMemory(){return d.openNewMemoryDrawer},onNewTask:()=>d.toggleAddTaskModal(!0)}),V(()=>S=Gi(x,1,`main-content`,null,S,{"sidebar-collapsed":r()})),q(e,v),Ke(),c()}fi(fS,{target:document.getElementById(`app`)});
86
+ TSK-001,Example Task,Phase 1,Example task description,backlog,3`};function vx(e){let t=j(null),n=j([]),r=j([]),i=j(``),a=j(``),o=j(!1),s=j(!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=_x[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 fo.bulkImportMemories(e.repo,t)).count:(await fo.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 yx=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),bx=K(`<th class="svelte-lenod"> </th>`),xx=K(`<td class="svelte-lenod"> </td>`),Sx=K(`<tr class="svelte-lenod"></tr>`),Cx=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),wx=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),Tx=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),Ex=K(`<!> Start Import`,1),Dx=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 Ox(e,t){Ge(t,!1);let n=()=>N(H(d),`$file`,l),r=()=>N(H(f),`$csvData`,l),i=()=>N(H(p),`$headers`,l),a=()=>N(H(m),`$fileName`,l),o=()=>N(H(h),`$errorMsg`,l),s=()=>N(H(g),`$isSubmitting`,l),c=()=>N(H(_),`$composableIsOpen`,l),[l,u]=mt(),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(),ee=F(),te=F(),ne=F(),re=Q(t,`repo`,8),ie=Q(t,`importTarget`,8,`memories`),ae=Q(t,`isOpen`,12,!1),oe=ja(),se=F();function ce(e){I(se,vx({repo:re(),importTarget:e,onSuccess:()=>oe(`success`),onClose:()=>{ae(!1),oe(`close`)}}))}ce(ie()),B(()=>W(ie()),()=>{ie()&&ce(ie())}),B(()=>(H(se),W(ae())),()=>{H(se).isOpen.set(ae())}),B(()=>H(se),()=>{ft(I(d,H(se).file),`$file`,l)}),B(()=>H(se),()=>{ft(I(f,H(se).csvData),`$csvData`,l)}),B(()=>H(se),()=>{ft(I(p,H(se).headers),`$headers`,l)}),B(()=>H(se),()=>{ft(I(m,H(se).fileName),`$fileName`,l)}),B(()=>H(se),()=>{ft(I(h,H(se).errorMsg),`$errorMsg`,l)}),B(()=>H(se),()=>{ft(I(g,H(se).isSubmitting),`$isSubmitting`,l)}),B(()=>H(se),()=>{ft(I(_,H(se).isOpen),`$composableIsOpen`,l)}),B(()=>H(se),()=>{I(v,H(se).close)}),B(()=>H(se),()=>{I(y,H(se).handleFileSelect)}),B(()=>H(se),()=>{I(b,H(se).handleFileDrop)}),B(()=>H(se),()=>{I(x,H(se).downloadExample)}),B(()=>H(se),()=>{I(S,H(se).handleImport)}),B(()=>H(se),()=>{I(C,H(se).setFile)}),B(()=>H(se),()=>{I(w,H(se).setCsvData)}),B(()=>n(),()=>{I(T,n())}),B(()=>r(),()=>{I(E,r())}),B(()=>i(),()=>{I(D,i())}),B(()=>a(),()=>{I(ee,a())}),B(()=>o(),()=>{I(te,o())}),B(()=>s(),()=>{I(ne,s())}),Un(),Ta();var le=li(),ue=R(le),de=e=>{var n=Dx(),r=L(n),i=L(r),a=L(i),o=L(a);$(L(o),{name:`upload-cloud`,size:18}),A(o);var s=z(o,2),c=L(s);A(s),A(a);var l=z(a,2);$(L(l),{name:`x`,size:18,strokeWidth:2}),A(l),A(i);var u=z(i,2),d=L(u),f=L(d),p=e=>{var n=yx(),r=R(n),i=L(r),a=L(i);$(L(a),{name:`file-up`,size:48,strokeWidth:1}),A(a);var o=z(a,6),s=z(L(o));A(o),A(i),A(r);var c=z(r,2),l=z(L(c),2),u=L(l);$(u,{name:`download`,size:14,className:`mr-2`});var d=z(u);A(l),A(c),V(()=>J(d,` Download Example ${ie()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,wa(function(e){Da.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=Cx(),n=R(t),r=L(n),i=L(r);$(L(i),{name:`file-type-2`,size:24}),A(i);var a=z(i,2),o=L(a),s=L(o,!0);A(o);var c=z(o,2),l=L(c);A(c),A(a),A(r);var u=z(r,2);A(n);var d=z(n,2),f=z(L(d),2),p=L(f),m=L(p),h=L(m);Z(h,5,()=>H(D),X,(e,t)=>{var n=bx(),r=L(n,!0);A(n),V(()=>J(r,H(t))),q(e,n)}),A(h),A(m);var g=z(m);Z(g,5,()=>(H(E),U(()=>H(E).slice(0,5))),X,(e,t)=>{var n=Sx();Z(n,5,()=>H(D),X,(e,n)=>{var r=xx(),i=L(r,!0);A(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),A(n),q(e,n)}),A(g),A(p),A(f),A(d),V(()=>{J(s,H(ee)),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=wx(),n=L(t);$(n,{name:`alert-circle`,size:16});var r=z(n,2),i=L(r,!0);A(r),A(t),V(()=>J(i,H(te))),q(e,t)};Y(h,e=>{H(te)&&e(g)}),A(d),A(u);var _=z(u,2),re=L(_),ae=z(re,2),oe=L(ae),se=e=>{var t=Tx();Pe(),q(e,t)},ce=e=>{var t=Ex();$(R(t),{name:`check`,size:16,className:`mr-2`}),Pe(),q(e,t)};Y(oe,e=>{H(ne)?e(se):e(ce,-1)}),A(ae),A(_),A(r),A(n),V(()=>{J(c,`Bulk Import ${ie()===`memories`?`Memories`:`Tasks`}`),re.disabled=H(ne),ae.disabled=(H(ne),H(E),U(()=>H(ne)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(v)?.apply(this,e)}),G(`click`,ae,function(...e){H(S)?.apply(this,e)}),Ni(3,r,()=>gx,()=>({duration:200,start:.95})),G(`click`,r,Ca(function(e){Da.call(this,t,e)})),Ni(3,n,()=>hx,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(ue,e=>{c()&&e(de)}),q(e,le),Ke(),u()}var kx=K(`<option> </option>`),Ax=K(`<option> </option>`),jx=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 Mx(e,t){Ge(t,!1);let n=Q(t,`open`,8,!1),r=Q(t,`newTask`,12),i=Q(t,`onClose`,8,()=>{}),a=Q(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ta();var s=li();G(`keydown`,hn,o);var c=R(s),l=e=>{var t=jx(),n=R(t),o=z(n,2),s=L(o),c=L(s);$(L(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),A(c);var l=z(c,4);$(L(l),{name:`x`,size:14,strokeWidth:2.5}),A(l),A(s);var u=z(s,2),d=L(u),f=L(d),p=z(L(f),2);sa(p),A(f);var m=z(f,2),h=z(L(m),2);sa(h),A(m),A(d);var g=z(d,2),_=L(g),v=z(L(_),3),y=L(v);A(v),A(_);var b=z(_,2);sa(b),A(g);var x=z(g,2),S=z(L(x),2);On(S),A(x);var C=z(x,2),w=L(C),T=z(L(w),2);Z(T,4,()=>[`backlog`,`pending`,`in_progress`],X,(e,t)=>{var n=kx(),r=L(n,!0);A(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W($c),U(()=>$c(t)))]),q(e,n)}),A(T),A(w);var E=z(w,2),D=z(L(E),2);Z(D,4,()=>[1,2,3,4,5],X,(e,t)=>{var n=Ax(),r=L(n,!0);A(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(el),U(()=>el(t)))]),q(e,n)}),A(D),A(E),A(C),A(u);var ee=z(u,2),te=L(ee),ne=z(te,2);$(L(ne),{name:`plus`,size:13,strokeWidth:2.5}),Pe(),A(ne),A(ee),A(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),ne.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)}),_a(p,()=>r().task_code,e=>(r(r().task_code=e,!0),cr(()=>{}))),_a(h,()=>r().phase,e=>(r(r().phase=e,!0),cr(()=>{}))),_a(b,()=>r().title,e=>(r(r().title=e,!0),cr(()=>{}))),_a(S,()=>r().description,e=>(r(r().description=e,!0),cr(()=>{}))),Xi(T,()=>r().status,e=>(r(r().status=e,!0),cr(()=>{}))),Xi(D,()=>r().priority,e=>(r(r().priority=e,!0),cr(()=>{}))),G(`click`,te,function(...e){i()?.apply(this,e)}),G(`click`,ne,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),Ke()}var Nx=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),Px=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),Fx=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),Ix=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>`),Lx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Rx=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),zx=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),Bx=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),Vx=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>`),Hx=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),Ux=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Wx=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>`),Gx=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),Kx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),qx=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>`),Jx=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>`),Yx=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),Xx=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>`),Zx=K(`<!> <!> <!> <!>`,1),Qx=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 &amp; 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 $x(e,t){Ge(t,!1);let n=()=>N(p(),`$appState`,o),r=()=>N(m(),`$filteredTools`,o),i=()=>N(h(),`$filteredPrompts`,o),a=()=>N(_(),`$filteredResources`,o),[o,s]=mt(),c=F(),l=F(),u=F(),d=F(),f=Q(t,`handler`,8),p=Q(t,`appState`,8),m=Q(t,`filteredTools`,8),h=Q(t,`filteredPrompts`,8),_=Q(t,`filteredResources`,8);function v(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(),Ta();var y=Qx(),b=L(y),x=L(b),S=L(x),C=L(S);$(C,{name:`book-open`,size:15,strokeWidth:1.75});var w=z(C,4),T=e=>{var t=Nx(),n=L(t);A(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(w,e=>{H(c),U(()=>H(c).capabilities)&&e(T)}),A(S);var E=z(S,2),D=L(E);$(L(D),{name:`search`,size:12,strokeWidth:2}),A(D);var ee=z(D,2);sa(ee);var te=z(ee,2),ne=e=>{var t=Px();$(L(t),{name:`x`,size:11,strokeWidth:2.5}),A(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(te,e=>{H(c),U(()=>H(c).referenceSearch)&&e(ne)}),A(E),A(x),A(b);var re=z(b,2),ie=L(re);Z(z(L(ie),2),1,()=>(H(c),U(()=>[{id:`all`,icon:`layers`,label:`All`,count:(H(c).capabilities?.tools?.length||0)+(H(c).capabilities?.prompts?.length||0)+(H(c).capabilities?.resources?.length||0)},{id:`tools`,icon:`tool`,label:`Tools`,count:H(c).capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:H(c).capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:H(c).capabilities?.resources?.length||0}])),X,(e,t)=>{var n=Fx();let r;var i=L(n);$(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=z(i,2),o=L(a,!0);A(a);var s=z(a,2),l=L(s,!0);A(s),A(n),V(()=>{r=Gi(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)}),A(ie);var ae=z(ie,2),oe=L(ae),se=e=>{q(e,Ix())},ce=e=>{var t=Zx(),n=R(t),r=e=>{var t=Hx(),n=R(t),r=L(n);$(r,{name:`tool`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);A(i),A(n);var o=z(n,2);Z(o,5,()=>H(l),X,(e,t)=>{var n=Vx(),r=L(n),i=L(r);$(L(i),{name:`tool`,size:10,strokeWidth:2}),Pe(),A(i),A(r);var a=z(r,2),o=L(a,!0);A(a);var s=z(a,2),c=e=>{var n=Lx(),r=L(n,!0);A(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=Bx(),r=L(n);Z(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),X,(e,t)=>{var n=Jt(()=>g(H(t),1));let r=()=>H(n)[0];var i=Rx(),a=L(i,!0);A(i),V(()=>J(a,r())),q(e,i)});var i=z(r,2),a=e=>{var n=zx(),r=L(n);A(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)}),A(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),A(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=>v(e,`tool`,H(t).data)),q(e,n)}),A(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=Gx(),n=R(t),r=L(n);$(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);A(i),A(n);var o=z(n,2);Z(o,5,()=>H(u),X,(e,t)=>{var n=Wx(),r=L(n),i=L(r);$(L(i),{name:`sparkle`,size:10,strokeWidth:2}),Pe(),A(i),A(r);var a=z(r,2),o=L(a,!0);A(a);var s=z(a,2),c=e=>{var n=Ux(),r=L(n,!0);A(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)}),A(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=>v(e,`prompt`,H(t).data)),q(e,n)}),A(o),V(()=>{qi(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=Yx(),n=R(t),r=L(n);$(r,{name:`database`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);A(i),A(n);var o=z(n,2);Z(o,5,()=>H(d),X,(e,t)=>{var n=Jx(),r=L(n),i=L(r);$(L(i),{name:`database`,size:10,strokeWidth:2}),Pe(),A(i),A(r);var a=z(r,2),o=L(a,!0);A(a);var s=z(a,2),c=e=>{var n=Kx(),r=L(n,!0);A(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=qx(),r=L(n),i=L(r,!0);A(r),A(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)}),A(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=>v(e,`resource`,H(t).data)),q(e,n)}),A(o),V(()=>{qi(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=Xx(),n=L(t);$(n,{name:`search`,size:28,strokeWidth:1.25});var r=z(n,2),i=L(r);A(r),A(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(oe,e=>{H(c),U(()=>!H(c).capabilities)?e(se):e(ce,-1)}),A(ae),A(re),A(y),_a(ee,()=>n().referenceSearch,e=>gt(p(),U(n).referenceSearch=e,U(n))),q(e,y),Ke(),s()}var eS=K(`<div class="fab-backdrop svelte-10ega5z" role="button" tabindex="-1" aria-label="Close menu"></div>`),tS=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 nS(e,t){Ge(t,!1);let n=()=>N(La,`$currentRepo`,r),[r,i]=mt(),a=Q(t,`onNewMemory`,8,()=>{}),o=Q(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)}Ta();var f=li();G(`keydown`,hn,d);var p=R(f),m=e=>{var t=tS(),n=R(t),r=e=>{var t=eS();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);$(L(f),{name:`clipboard-list`,size:16,strokeWidth:2}),A(f),A(d);var p=z(d,2),m=z(L(p),2);$(L(m),{name:`brain`,size:16,strokeWidth:2}),A(m),A(p),A(o);var h=z(o,2),g=L(h);let _;A(h),A(i),V(()=>{a=Gi(i,1,`fab-container svelte-10ega5z`,null,a,{open:H(s)}),qi(d,`transition-delay: ${H(s)?`0.05s`:`0s`}`),qi(p,`transition-delay: ${H(s)?`0.1s`:`0s`}`),da(h,`title`,H(s)?`Close`:`Quick create`),da(h,`aria-label`,H(s)?`Close quick create menu`:`Open quick create menu`),da(h,`aria-expanded`,H(s)),_=Gi(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),Ke(),i()}var rS=K(`<div class="drawer-overlay" style="z-index:38;" role="button" tabindex="0" aria-label="Close menu"></div> <div style="position:fixed;top:0;left:0;width:280px;height:100dvh;z-index:39;display:flex;flex-direction:column;"><!></div>`,1),iS=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>`),aS=K(`<button><!> <span> </span></button>`),oS=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 class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Memory Overview</div> <!></div> <div class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Task Overview</div> <!></div> <!></div></div>`),sS=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>`),cS=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>`),lS=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>`),uS=K(`<div style="margin-bottom:20px;"><div class="tab-nav" style="display:inline-flex;"></div></div> <!> <!> <!> <!> <!>`,1),dS=K(`<div class="app-layout"><!> <div><!> <!> <div id="dashboardShell" style="padding: 20px; min-height: 100vh;"><!></div></div></div> <!> <!> <!> <!> <!> <!>`,1);function fS(e,t){Ge(t,!1);let n=()=>N(Fa,`$activeTab`,s),r=()=>N(g,`$sidebarCollapsed`,s),i=()=>N(f,`$appState`,s),a=()=>N(La,`$currentRepo`,s),o=()=>N(no,`$recentActionsTotalItems`,s),[s,c]=mt(),l=F(),u=F(),d=mo({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;Oa(async()=>{if(co(),await d.loadRepos(),await d.loadHealth(),await d.loadData(),n()===`reference`&&!M(d).capabilities)try{let e=await fo.capabilities();d.update(t=>({...t,capabilities:e}))}catch(e){console.error(`Failed to load capabilities:`,e)}}),Ta();var v=dS();G(`keydown`,hn,function(...e){d.onKeyDown?.apply(this,e)});var y=R(v),b=L(y);Pl(b,{get onRepoSelect(){return d.onRepoSelect}});var x=z(b,2);let S;var C=L(x);ql(C,{get onRefresh(){return d.onRefresh},get onToggleMobileMenu(){return d.toggleMobileMenu}});var w=z(C,2),T=e=>{var t=rS(),n=R(t),r=z(n,2);Pl(L(r),{get onRepoSelect(){return d.onRepoSelect}}),A(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),ee=e=>{var t=iS(),n=L(t);$(L(n),{name:`brain`,size:32,strokeWidth:1.5,className:``}),A(n),Pe(4),A(t),q(e,t)},te=e=>{var t=uS(),r=R(t),i=L(r);Z(i,5,()=>_,X,(e,t)=>{var r=aS();let i;var a=L(r);$(a,{get name(){return H(t).icon},size:14,strokeWidth:1.75});var o=z(a,2),s=L(o,!0);A(o),A(r),V(()=>{i=Gi(r,1,`tab-btn`,null,i,{active:n()===H(t).id}),da(r,`id`,`tab-${H(t).id??``}`),J(s,H(t).label)}),G(`click`,r,()=>d.onTabChange(H(t).id)),q(e,r)}),A(i),A(r);var a=z(r,2),s=e=>{var t=oS(),n=L(t),r=L(n);Eu(z(L(r),2),{}),A(r);var i=z(r,2);Mu(z(L(i),2),{}),A(i),Qv(z(i,2),{}),A(n),A(t),q(e,t)};Y(a,e=>{n()===`dashboard`&&e(s)});var c=z(a,2),g=e=>{var t=sS(),n=L(t),r=L(n),i=L(r);$(L(i),{name:`activity`,size:18,strokeWidth:2.2}),A(i);var a=z(i,2),s=z(L(a),2),c=L(s);A(s),A(a),A(r),A(n);var l=z(n,2);Zy(L(l),{get onLoadPage(){return d.loadRecentActions}}),A(l),A(t),V(()=>J(c,`${o()??``} events tracked`)),q(e,t)};Y(c,e=>{n()===`activity`&&e(g)});var v=z(c,2),y=e=>{var t=cS(),n=L(t);$(L(n),{name:`brain`,size:14,strokeWidth:1.75}),Pe(2),A(n),Sa(gy(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)),A(t),q(e,t)};Y(v,e=>{n()===`memories`&&e(y)});var b=z(v,2),x=e=>{var t=lS(),n=L(t),r=L(n);$(L(r),{name:`columns`,size:14,strokeWidth:1.75}),Pe(2),A(r),Sa(yu(z(r,2),{get onTaskClick(){return d.openTaskDrawer},onAddTask:()=>d.toggleAddTaskModal(!0),onBulkImport:()=>d.openBulkImport(`tasks`),$$legacy:!0}),e=>I(l,e),()=>H(l)),A(n),A(t),q(e,t)};Y(b,e=>{n()===`tasks`&&e(x)});var S=z(b,2),C=e=>{$x(e,{get handler(){return d},get appState(){return f},get filteredTools(){return p},get filteredPrompts(){return m},get filteredResources(){return h}})};Y(S,e=>{n()===`reference`&&e(C)}),q(e,t)};Y(D,e=>{a()?e(te,-1):e(ee)}),A(E),A(x),A(y);var ne=z(y,2);Tb(ne,{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 re=z(ne,2);qb(re,{get item(){return i().selectedReference},get open(){return i().referenceDrawerOpen},onClose:()=>d.toggleReferenceDrawer(!1)});var ie=z(re,2);fx(ie,{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 ae=z(ie,2);Mx(ae,{get open(){return i().addTaskModalOpen},get newTask(){return i().newTask},onClose:()=>d.toggleAddTaskModal(!1),get onSave(){return d.createTask}});var oe=z(ae,2);{let e=Yt(()=>a()||``);Ox(oe,{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())}}})}nS(z(oe,2),{get onNewMemory(){return d.openNewMemoryDrawer},onNewTask:()=>d.toggleAddTaskModal(!0)}),V(()=>S=Gi(x,1,`main-content`,null,S,{"sidebar-collapsed":r()})),q(e,v),Ke(),c()}fi(fS,{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-BSLWENZ_.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-CYmjkCmr.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-BbuGTan5.css">
13
13
  </head>
14
14
  <body>
@@ -8,7 +8,7 @@ import {
8
8
  createFileSink,
9
9
  listResources,
10
10
  logger
11
- } from "../chunk-H2ZZONGD.js";
11
+ } from "../chunk-HDBGZ6GG.js";
12
12
 
13
13
  // src/dashboard/server.ts
14
14
  import express from "express";
@@ -43,7 +43,7 @@ import {
43
43
  setLogLevel,
44
44
  updateSessionFromInitialize,
45
45
  updateSessionRoots
46
- } from "../chunk-H2ZZONGD.js";
46
+ } from "../chunk-HDBGZ6GG.js";
47
47
 
48
48
  // src/mcp/server.ts
49
49
  import readline from "readline";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vheins/local-memory-mcp",
3
- "version": "0.8.39",
3
+ "version": "0.8.40",
4
4
  "description": "MCP Local Memory Service for coding copilot agents",
5
5
  "mcpName": "io.github.vheins/local-memory-mcp",
6
6
  "type": "module",