@vheins/local-memory-mcp 0.18.9 → 0.18.11
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.18.
|
|
85
|
-
pkgVersion = "0.18.
|
|
84
|
+
if ("0.18.11") {
|
|
85
|
+
pkgVersion = "0.18.11";
|
|
86
86
|
} else {
|
|
87
87
|
let searchDir = __dirname2;
|
|
88
88
|
for (let i = 0; i < 5; i++) {
|
|
@@ -1319,8 +1319,14 @@ var MemoryEntity = class extends BaseEntity {
|
|
|
1319
1319
|
const row = this.get("SELECT * FROM memories WHERE id = ?", [id]);
|
|
1320
1320
|
return row ? this.rowToMemoryEntry(row) : null;
|
|
1321
1321
|
}
|
|
1322
|
-
getByCode(code) {
|
|
1323
|
-
|
|
1322
|
+
getByCode(code, owner, repo) {
|
|
1323
|
+
let sql = "SELECT * FROM memories WHERE code = ?";
|
|
1324
|
+
const params = [code];
|
|
1325
|
+
if (owner && repo) {
|
|
1326
|
+
sql += " AND owner = ? AND repo = ?";
|
|
1327
|
+
params.push(owner, repo);
|
|
1328
|
+
}
|
|
1329
|
+
const row = this.get(sql, params);
|
|
1324
1330
|
return row ? this.rowToMemoryEntry(row) : null;
|
|
1325
1331
|
}
|
|
1326
1332
|
getByIdWithStats(id) {
|
|
@@ -2474,7 +2480,6 @@ var SystemEntity = class extends BaseEntity {
|
|
|
2474
2480
|
const unassignedHandoffsByRepo = Object.fromEntries(unassignedHandoffRows.map((row) => [row.repo, row.count]));
|
|
2475
2481
|
const staleClaimsByRepo = Object.fromEntries(staleClaimRows.map((row) => [row.repo, row.count]));
|
|
2476
2482
|
const repoOwnerFilter = owner ? " AND owner = ?" : "";
|
|
2477
|
-
const repoOwnerParams = owner ? [owner] : [];
|
|
2478
2483
|
return repos.map((repo) => {
|
|
2479
2484
|
const memoryCountRow = this.get(
|
|
2480
2485
|
`SELECT COUNT(*) as count FROM memories WHERE repo = ?${repoOwnerFilter}`,
|
|
@@ -2757,8 +2762,14 @@ var StandardEntity = class extends BaseEntity {
|
|
|
2757
2762
|
const row = this.get("SELECT * FROM coding_standards WHERE id = ?", [id]);
|
|
2758
2763
|
return row ? this.rowToEntry(row) : null;
|
|
2759
2764
|
}
|
|
2760
|
-
getByCode(code) {
|
|
2761
|
-
|
|
2765
|
+
getByCode(code, owner, repo) {
|
|
2766
|
+
let sql = "SELECT * FROM coding_standards WHERE code = ?";
|
|
2767
|
+
const params = [code];
|
|
2768
|
+
if (owner && repo) {
|
|
2769
|
+
sql += " AND owner = ? AND repo = ?";
|
|
2770
|
+
params.push(owner, repo);
|
|
2771
|
+
}
|
|
2772
|
+
const row = this.get(sql, params);
|
|
2762
2773
|
return row ? this.rowToEntry(row) : null;
|
|
2763
2774
|
}
|
|
2764
2775
|
search(options) {
|
|
@@ -3646,6 +3657,8 @@ var MemoryStoreSchema = z.object({
|
|
|
3646
3657
|
var MemoryUpdateSchema = z.object({
|
|
3647
3658
|
id: z.string().uuid().optional(),
|
|
3648
3659
|
code: z.string().max(20).optional(),
|
|
3660
|
+
owner: z.string().min(1),
|
|
3661
|
+
repo: z.string().min(1).transform(normalizeRepo),
|
|
3649
3662
|
type: MemoryTypeSchema.optional(),
|
|
3650
3663
|
title: z.string().min(3).max(255).optional(),
|
|
3651
3664
|
content: z.string().min(10).optional(),
|
|
@@ -3684,6 +3697,8 @@ var MemorySearchSchema = z.object({
|
|
|
3684
3697
|
var MemoryAcknowledgeSchema = z.object({
|
|
3685
3698
|
memory_id: z.string().uuid().optional(),
|
|
3686
3699
|
code: z.string().max(20).optional(),
|
|
3700
|
+
owner: z.string().min(1),
|
|
3701
|
+
repo: z.string().min(1).transform(normalizeRepo),
|
|
3687
3702
|
status: z.enum(["used", "irrelevant", "contradictory"]),
|
|
3688
3703
|
application_context: z.string().min(10).optional(),
|
|
3689
3704
|
structured: z.boolean().default(false)
|
|
@@ -3698,8 +3713,8 @@ var MemoryRecapSchema = z.object({
|
|
|
3698
3713
|
structured: z.boolean().default(false)
|
|
3699
3714
|
});
|
|
3700
3715
|
var MemoryDeleteSchema = z.object({
|
|
3701
|
-
owner: z.string().
|
|
3702
|
-
repo: z.string().min(1).transform(normalizeRepo)
|
|
3716
|
+
owner: z.string().min(1),
|
|
3717
|
+
repo: z.string().min(1).transform(normalizeRepo),
|
|
3703
3718
|
id: z.string().uuid().optional(),
|
|
3704
3719
|
ids: z.array(z.string().uuid()).min(1).optional(),
|
|
3705
3720
|
code: z.string().max(20).optional(),
|
|
@@ -3902,6 +3917,8 @@ var TaskDeleteSchema = z.object({
|
|
|
3902
3917
|
var MemoryDetailSchema = z.object({
|
|
3903
3918
|
id: z.string().uuid().optional(),
|
|
3904
3919
|
code: z.string().max(20).optional(),
|
|
3920
|
+
owner: z.string().min(1),
|
|
3921
|
+
repo: z.string().min(1).transform(normalizeRepo),
|
|
3905
3922
|
structured: z.boolean().default(false)
|
|
3906
3923
|
}).refine((data) => data.id !== void 0 || data.code !== void 0, {
|
|
3907
3924
|
message: "Either id or code must be provided"
|
|
@@ -3909,13 +3926,15 @@ var MemoryDetailSchema = z.object({
|
|
|
3909
3926
|
var StandardDetailSchema = z.object({
|
|
3910
3927
|
id: z.string().uuid().optional(),
|
|
3911
3928
|
code: z.string().max(20).optional(),
|
|
3929
|
+
owner: z.string().min(1),
|
|
3930
|
+
repo: z.string().min(1).transform(normalizeRepo),
|
|
3912
3931
|
structured: z.boolean().default(false)
|
|
3913
3932
|
}).refine((data) => data.id !== void 0 || data.code !== void 0, {
|
|
3914
3933
|
message: "Either id or code must be provided"
|
|
3915
3934
|
});
|
|
3916
3935
|
var StandardDeleteSchema = z.object({
|
|
3917
|
-
owner: z.string().
|
|
3918
|
-
repo: z.string().min(1).transform(normalizeRepo)
|
|
3936
|
+
owner: z.string().min(1),
|
|
3937
|
+
repo: z.string().min(1).transform(normalizeRepo),
|
|
3919
3938
|
id: z.string().uuid().optional(),
|
|
3920
3939
|
ids: z.array(z.string().uuid()).min(1).optional(),
|
|
3921
3940
|
code: z.string().max(20).optional(),
|
|
@@ -4042,8 +4061,8 @@ var StandardUpdateSchema = z.object({
|
|
|
4042
4061
|
version: z.string().optional(),
|
|
4043
4062
|
language: z.string().optional(),
|
|
4044
4063
|
stack: z.array(z.string().min(1)).min(1).optional(),
|
|
4045
|
-
owner: z.string().
|
|
4046
|
-
repo: z.string().transform(normalizeRepo)
|
|
4064
|
+
owner: z.string().min(1),
|
|
4065
|
+
repo: z.string().transform(normalizeRepo),
|
|
4047
4066
|
is_global: z.boolean().optional(),
|
|
4048
4067
|
tags: z.array(z.string().min(1)).min(1).optional(),
|
|
4049
4068
|
metadata: z.record(z.string(), z.any()).refine((value) => Object.keys(value).length > 0, { message: "metadata must contain at least one key" }).optional(),
|
|
@@ -4187,6 +4206,11 @@ var TOOL_DEFINITIONS = [
|
|
|
4187
4206
|
properties: {
|
|
4188
4207
|
id: { type: "string", format: "uuid", description: "Memory entry ID. Optional if code is provided." },
|
|
4189
4208
|
code: { type: "string", description: "Short memory code. Optional if id is provided." },
|
|
4209
|
+
owner: {
|
|
4210
|
+
type: "string",
|
|
4211
|
+
description: "Organization/namespace (e.g., GitHub org or username). Required when using code."
|
|
4212
|
+
},
|
|
4213
|
+
repo: { type: "string", description: "Repository/project name. Required when using code." },
|
|
4190
4214
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON details." }
|
|
4191
4215
|
}
|
|
4192
4216
|
}
|
|
@@ -4200,6 +4224,11 @@ var TOOL_DEFINITIONS = [
|
|
|
4200
4224
|
properties: {
|
|
4201
4225
|
id: { type: "string", format: "uuid", description: "Coding standard ID. Optional if code is provided." },
|
|
4202
4226
|
code: { type: "string", description: "Short standard code (e.g. 'A3KPQ2'). Optional if id is provided." },
|
|
4227
|
+
owner: {
|
|
4228
|
+
type: "string",
|
|
4229
|
+
description: "Organization/namespace (e.g., GitHub org or username). Required when using code."
|
|
4230
|
+
},
|
|
4231
|
+
repo: { type: "string", description: "Repository/project name. Required when using code." },
|
|
4203
4232
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON details." }
|
|
4204
4233
|
}
|
|
4205
4234
|
}
|
|
@@ -140,7 +140,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
140
140
|
`).length>8}}else if(typeof t==`object`&&t){let e=Object.keys(t),n=``;return n=e.length>5?`{ ${e.slice(0,4).map(e=>`${e}: …`).join(`, `)}, +${e.length-4} more }`:JSON.stringify(t,null,2),{text:n,isLong:n.length>400||n.split(`
|
|
141
141
|
`).length>8}}else{let e=String(t);return{text:e,isLong:e.length>400||e.split(`
|
|
142
142
|
`).length>8}}}catch{return{text:e,isLong:e.length>400||e.split(`
|
|
143
|
-
`).length>8}}}let c=xt(To,e=>{let t=[];return[...e].reverse().forEach(e=>{let n=new Date(e.created_at),r=new Date,i=new Date;i.setDate(r.getDate()-1);let a=n.toLocaleDateString(void 0,{month:`long`,day:`numeric`,year:`numeric`});n.toDateString()===r.toDateString()?a=`Today`:n.toDateString()===i.toDateString()&&(a=`Yesterday`);let o=t[t.length-1];o&&o.date===a?o.items.push(e):t.push({date:a,items:[e]})}),t});function l(e){return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function u(e){r(t=>{let n=new Set(t.expandedResponses);return n.has(e)?n.delete(e):n.add(e),{...t,expandedResponses:n}})}function d(e,t=`smooth`){e&&e.scrollTo({top:e.scrollHeight,behavior:t})}async function f(n,i){let a=N(t);if(!i||a.isLoadingMore||a.hasReachedStart)return;let o=N(To),s=N(Eo),c=N(Do);if(i.scrollTop<50&&o.length<s){r(e=>({...e,isLoadingMore:!0}));let t=i.scrollHeight;await e(c+1,!0),i&&setTimeout(()=>{i.scrollTop=i.scrollHeight-t},0);let n=N(To);r(e=>({...e,isLoadingMore:!1,hasReachedStart:n.length>=s}))}}return{subscribe:n,state:t,groupedActions:c,recentActions:To,recentActionsPage:Do,getConfig:a,getLabel:o,parseResponse:s,formatTime:l,renderMarkdown:Hl,toggleExpand:u,scrollToBottom:d,handleScroll:f}}var fb=K(`<h1> </h1>`),pb=K(`<h2> </h2>`),mb=K(`<h3> </h3>`),hb=K(`<h4> </h4>`),gb=K(`<h5> </h5>`),_b=K(`<h6> </h6>`),vb=K(`<strong> </strong>`),yb=K(`<em> </em>`),bb=K(`<code class="svelte-d5v60e"> </code>`),xb=K(`<a> </a>`),Sb=K(`<p class="svelte-d5v60e"></p>`),Cb=K(`<li></li>`),wb=K(`<ol></ol>`),Tb=K(`<li></li>`),Eb=K(`<ul></ul>`),Db=K(`<pre class="svelte-d5v60e"><code class="svelte-d5v60e"> </code></pre>`),Ob=K(`<th class="svelte-d5v60e"> </th>`),kb=K(`<td class="svelte-d5v60e"> </td>`),Ab=K(`<tr></tr>`),jb=K(`<table class="svelte-d5v60e"><thead><tr></tr></thead><tbody></tbody></table>`),Mb=K(`<br/>`),Nb=K(`<hr/>`),Pb=K(`<blockquote class="svelte-d5v60e"> </blockquote>`),Fb=K(`<div class="markdown-body svelte-d5v60e"></div>`);function Ib(e,t){rt(t,!1);let n=F(),r=Z(t,`content`,8,``);function i(e){return e.type===`link`}function a(e){return e.type===`strong`}function o(e){return e.type===`em`}function s(e){return e.type===`codespan`}function c(e){return e.type===`list`}function l(e){return e.type===`code`}function u(e){return e.type===`table`}B(()=>W(r()),()=>{I(n,Cc.lexer(r()))}),or(),Ua();var d=Fb();X(d,7,()=>H(n),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),d=e=>{var n=Ei(),r=R(n),i=e=>{var n=fb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},o=e=>{var n=mb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},s=e=>{var n=hb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},c=e=>{var n=gb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=_b(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).depth===1)?e(i):(H(t),U(()=>H(t).depth===2)?e(a,1):(H(t),U(()=>H(t).depth===3)?e(o,2):(H(t),U(()=>H(t).depth===4)?e(s,3):(H(t),U(()=>H(t).depth===5)?e(c,4):e(l,-1)))))}),q(e,n)},f=e=>{var n=Sb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),c=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=vb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},u=dn(()=>(H(t),U(()=>a(H(t))))),d=e=>{var n=yb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},f=dn(()=>(H(t),U(()=>o(H(t))))),p=e=>{var n=bb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},m=dn(()=>(H(t),U(()=>s(H(t))))),h=e=>{var n=xb(),r=L(n,!0);j(n),V(()=>{ka(n,`href`,(H(t),U(()=>H(t).href))),ka(n,`title`,(H(t),U(()=>H(t).title))),J(r,(H(t),U(()=>H(t).text)))}),q(e,n)},g=dn(()=>(H(t),U(()=>i(H(t))))),_=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(c):H(u)?e(l,1):H(f)?e(d,2):H(m)?e(p,3):H(g)?e(h,4):e(_,-1)}),q(e,n)}),j(n),q(e,n)},p=e=>{var n=Ei(),r=R(n),i=e=>{var n=wb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`ordered-${t}`,(e,t)=>{var n=Cb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),V(()=>ka(n,`start`,(H(t),U(()=>typeof H(t).start==`number`?H(t).start:void 0)))),q(e,n)},a=e=>{var n=Eb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`unordered-${t}`,(e,t)=>{var n=Tb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).ordered)?e(i):e(a,-1)}),q(e,n)},m=dn(()=>(H(t),U(()=>c(H(t))))),h=e=>{var n=Db(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).text)))),q(e,n)},g=dn(()=>(H(t),U(()=>l(H(t))))),_=e=>{var n=jb(),r=L(n),i=L(r);X(i,7,()=>(H(t),U(()=>H(t).header)),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Ob(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(i),j(r);var a=z(r);X(a,7,()=>(H(t),U(()=>H(t).rows)),(e,t)=>`row-${t}`,(e,t)=>{var n=Ab();X(n,7,()=>H(t),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=kb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(n),q(e,n)}),j(a),j(n),q(e,n)},v=dn(()=>(H(t),U(()=>u(H(t))))),y=e=>{q(e,Mb())},b=e=>{q(e,Nb())},x=e=>{var n=Pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},S=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`heading`)?e(d):(H(t),U(()=>H(t).type===`paragraph`)?e(f,1):H(m)?e(p,2):H(g)?e(h,3):H(v)?e(_,4):(H(t),U(()=>H(t).type===`space`)?e(y,5):(H(t),U(()=>H(t).type===`hr`)?e(b,6):(H(t),U(()=>H(t).type===`blockquote`)?e(x,7):e(S,-1)))))}),q(e,n)}),j(d),q(e,d),it()}var Lb=K(`<div class="load-more-spinner svelte-h6z84x"><!> <span>Loading older history...</span></div>`),Rb=K(`<div style="text-align:center;padding:80px 20px;color:var(--color-text-muted);"><!> <div style="font-size:1rem;margin-top:16px;font-weight:600;">No activity found</div> <div style="font-size:0.875rem;opacity:0.7;">Events will appear here as they happen.</div></div>`),zb=K(`<div class="action-sub svelte-h6z84x"> </div>`),Bb=K(`<button class="read-more-btn svelte-h6z84x"> </button>`),Vb=K(`<div class="bubble-row bubble-row-left animate-slide-in-left svelte-h6z84x"><div class="chat-avatar mcp-avatar svelte-h6z84x"><!></div> <div class="bubble-wrap svelte-h6z84x"><div class="tail tail-left svelte-h6z84x"></div> <div class="chat-bubble chat-bubble-mcp svelte-h6z84x" style="--bubble-bg-light: #ffffff; --bubble-bg-dark: #202c33;"><div class="mcp-sender svelte-h6z84x">MCP Node</div> <div class="markdown-body"><!></div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span></div></div></div></div>`),Hb=K(`<div class="bubble-row bubble-row-right animate-slide-in-right svelte-h6z84x"><div class="bubble-wrap svelte-h6z84x"><div class="chat-bubble chat-bubble-action svelte-h6z84x" style="--bubble-bg-light: #dcf8c6; --bubble-bg-dark: #056162;"><div class="action-badge svelte-h6z84x"><!> <span> </span></div> <div class="action-main svelte-h6z84x"> </div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span> <span class="bubble-status svelte-h6z84x"><!></span></div></div> <div class="tail tail-right svelte-h6z84x"></div></div> <div class="chat-avatar agent-avatar svelte-h6z84x"><!></div></div> <!>`,1),Ub=K(`<div class="date-header svelte-h6z84x"><span class="svelte-h6z84x"> </span></div> <!>`,1),Wb=K(`<div class="chat-container-viewport svelte-h6z84x"><div class="chat-container svelte-h6z84x"><!> <!></div></div>`);function Gb(e,t){rt(t,!1);let n=()=>P(d,`$recentActionsPage`,o),r=()=>P(f,`$handlerState`,o),i=()=>P(u,`$recentActions`,o),a=()=>P(l,`$groupedActions`,o),[o,s]=Dt(),c=db(Z(t,`onLoadPage`,8,async()=>{})()),{groupedActions:l,recentActions:u,recentActionsPage:d}=c,f=c,p=F(void 0),m;Qa(()=>{n()<=1&&!r().isLoadingMore&&i().length>0&&c.scrollToBottom(H(p),`instant`)}),Ja(()=>(Zr().then(()=>{c.scrollToBottom(H(p),`instant`),H(p)&&(m=e=>c.handleScroll(e,H(p)),H(p).addEventListener(`scroll`,m))}),()=>{H(p)&&m&&H(p).removeEventListener(`scroll`,m)})),Ua();var h=Wb(),g=L(h),_=L(g),v=e=>{var t=Lb();Q(L(t),{name:`refresh-cw`,size:14,className:`animate-spin`}),M(2),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().isLoadingMore)&&e(v)});var y=z(_,2),b=e=>{var t=Rb();Q(L(t),{name:`activity`,size:48,strokeWidth:1}),M(4),j(t),q(e,t)},x=e=>{var t=Ei();X(R(t),1,a,e=>e.date,(e,t)=>{var n=Ub(),i=R(n),a=L(i),o=L(a,!0);j(a),j(i),X(z(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=fn(()=>(H(t),U(()=>c.getLabel(H(t))))),i=fn(()=>(H(t),U(()=>c.getConfig(H(t).action))));var a=Hb(),o=R(a),s=L(o),l=L(s),u=L(l),d=L(u);Q(d,{get name(){return W(H(i)),U(()=>H(i).icon)},size:10,strokeWidth:2.5});var f=z(d,2),p=L(f,!0);j(f),j(u);var m=z(u,2),h=L(m,!0);j(m);var g=z(m,2),_=e=>{var t=zb(),r=L(t,!0);j(t),V(()=>J(r,(W(H(n)),U(()=>H(n).sub)))),q(e,t)};Y(g,e=>{W(H(n)),U(()=>H(n).sub)&&e(_)});var v=z(g,2),y=L(v),b=L(y,!0);j(y);var x=z(y,2);Q(L(x),{name:`check`,size:12,strokeWidth:2}),j(x),j(v),j(l),M(2),j(s);var S=z(s,2);Q(L(S),{name:`bot`,size:14,strokeWidth:2}),j(S),j(o);var C=z(o,2),w=e=>{let n=fn(()=>(H(t),U(()=>c.parseResponse(H(t).response)))),i=fn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=Vb(),o=L(a);Q(L(o),{name:`cpu`,size:14,strokeWidth:2}),j(o);var s=z(o,2),l=z(L(s),2),u=z(L(l),2);Ib(L(u),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(u);var d=z(u,2),f=e=>{var n=Bb(),r=L(n,!0);j(n),V(()=>J(r,H(i)?`Show less`:`Read more`)),G(`click`,n,()=>c.toggleExpand(H(t).id)),q(e,n)};Y(d,e=>{W(H(n)),U(()=>H(n).isLong)&&e(f)});var p=z(d,2),m=L(p),h=L(m,!0);j(m),j(p),j(l),j(s),j(a),V(e=>{da(u,`font-size:0.82rem; ${(W(H(i)),W(H(n)),U(()=>!H(i)&&H(n).isLong?`max-height: 200px; overflow: hidden; mask-image: linear-gradient(to bottom, black 70%, transparent 100%);`:``))??``}`),J(h,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)};Y(C,e=>{H(t),U(()=>H(t).response)&&e(w)}),V(e=>{da(u,`color:${(W(H(i)),U(()=>H(i).color))??``};background:${(W(H(i)),U(()=>H(i).bgAlpha))??``};`),J(p,(W(H(i)),U(()=>H(i).label))),J(h,(W(H(n)),U(()=>H(n).main))),J(b,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)}),V(()=>J(o,(H(t),U(()=>H(t).date)))),q(e,n)}),q(e,t)};Y(y,e=>{i(),U(()=>i().length===0)?e(b):e(x,-1)}),j(g),j(h),Ba(h,e=>I(p,e),()=>H(p)),q(e,h),it(),s()}var Kb={from_agent:``,to_agent:``,task_code:``,summary:``,context:``},qb={name:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``,parent_id:``};function Jb(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function Yb(e){try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)&&Object.keys(t).length>0?t:null}catch{return null}}function Xb(e){return JSON.stringify(e,null,2)}function Zb(e,t){function n(e){t(e?t=>({...t,standard:e,memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{name:e.title,context:e.context,version:e.version,language:e.language||``,stack:e.stack.join(`, `),tags:e.tags.join(`, `),metadata:Xb(e.metadata),content:e.content,parent_id:e.parent_id||``},standardError:``}):e=>({...e,standard:{id:`__new__`,title:``,content:``,context:`general`,version:`1.0.0`,language:null,stack:[],tags:[],is_global:!0,repo:null,parent_id:null,metadata:{},created_at:``,updated_at:``,hit_count:0,last_used_at:null,agent:``,model:``},memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{...qb},standardError:``}))}function r(){t(e=>({...e,standardEditing:!0}))}function i(){let n=N({subscribe:e});n.standard&&t(e=>({...e,standardEditing:!1,standardForm:{name:n.standard.title,context:n.standard.context,version:n.standard.version,language:n.standard.language||``,stack:n.standard.stack.join(`, `),tags:n.standard.tags.join(`, `),metadata:Xb(n.standard.metadata),content:n.standard.content,parent_id:n.standard.parent_id||``}}))}async function a(n,r,i){let a=N({subscribe:e}),o=a.standardForm,s=Yb(o.metadata);if(!(!o.name.trim()||!o.content.trim()||Jb(o.tags).length===0||!s)){t(e=>({...e,standardSaving:!0,standardError:``}));try{a.standard?(await Bo.updateStandard(a.standard.id,{title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||null,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:Jb(o.stack),tags:Jb(o.tags),metadata:s,repo:a.standard.repo||i,is_global:a.standard.is_global}),n({...a.standard,title:o.name.trim(),content:o.content.trim(),updated_at:new Date().toISOString()})):n(await Bo.createStandard({title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||void 0,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:Jb(o.stack),tags:Jb(o.tags),metadata:s,repo:i,is_global:!1})),r()}catch(e){t(t=>({...t,standardError:e instanceof Error?e.message:`Failed to save standard.`}))}finally{t(e=>({...e,standardSaving:!1}))}}}async function o(n,r){let i=N({subscribe:e});if(i.standard&&await Ho(`Delete coding standard "${i.standard.title}"?`)){t(e=>({...e,standardDeleting:!0}));try{await Bo.deleteStandard(i.standard.id),n(i.standard.id),r()}catch(e){Uo(`Error deleting standard: `+(e instanceof Error?e.message:String(e)))}finally{t(e=>({...e,standardDeleting:!1}))}}}async function s(e){await Kl(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setStandard:n,startStandardEdit:r,cancelStandardEdit:i,saveStandard:a,deleteStandard:o,handleCopyStandardContent:s}}function Qb(e,t){function n(e){t(e?t=>({...t,handoff:e,task:null,memory:null,standard:null,handoffForm:{from_agent:e.from_agent,to_agent:e.to_agent||``,task_code:e.task_code||``,summary:e.summary,context:JSON.stringify(e.context,null,2)},handoffError:``}):e=>({...e,handoff:null,handoffForm:{...Kb},handoffError:``}))}function r(e){t(t=>({...t,handoff:{id:`__new__`,repo:e,from_agent:``,to_agent:null,task_id:null,summary:``,context:{},status:`pending`,created_at:``,updated_at:``,expires_at:null},task:null,memory:null,standard:null,handoffForm:{...Kb},handoffError:``}))}function i(e){if(!e.trim())return{};try{let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`JSON must be an object.`);return t}catch(e){throw e}}async function a(n,r){let a=N({subscribe:e}).handoffForm;if(!(!a.from_agent.trim()||!a.summary.trim())){t(e=>({...e,handoffCreating:!0,handoffError:``}));try{await Bo.callTool(`handoff-create`,{repo:r,from_agent:a.from_agent.trim(),to_agent:a.to_agent.trim()||void 0,task_code:a.task_code.trim()||void 0,summary:a.summary.trim(),context:i(a.context),structured:!0}),n()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to create handoff.`}))}finally{t(e=>({...e,handoffCreating:!1}))}}}async function o(n,r){let i=N({subscribe:e});if(!(!i.handoff||i.handoff.id===`__new__`)){t(e=>({...e,handoffUpdating:!0,handoffError:``}));try{await Bo.callTool(`handoff-update`,{id:i.handoff.id,status:n,structured:!0}),r()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to update handoff.`}))}finally{t(e=>({...e,handoffUpdating:!1}))}}}async function s(e){await Kl(JSON.stringify(e,null,2))&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setHandoff:n,initNewHandoff:r,createHandoff:a,updateHandoffStatus:o,handleCopyHandoffContext:s}}var $b={backlog:[{next:`pending`,label:`Move to To Do`,color:`#0ea5e9`}],pending:[{next:`in_progress`,label:`Start Progress`,color:`#a855f7`}],in_progress:[{next:`completed`,label:`Mark Complete`,color:`#10b981`},{next:`blocked`,label:`Mark Blocked`,color:`#ef4444`}],blocked:[{next:`in_progress`,label:`Resume Progress`,color:`#a855f7`}],completed:[],canceled:[]};function ex(){let{subscribe:e,update:t}=bt({memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,postingComment:!1,editingCommentId:null,editCommentText:``,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}),n=Zb(e,t),r=Qb(e,t),i=xt({subscribe:e},e=>e.task?`task`:e.memory?`memory`:e.handoff?`handoff`:e.standard?`standard`:null);async function a(e){await Kl(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}async function o(e){await Kl(e)&&(t(e=>({...e,descCopied:!0})),setTimeout(()=>t(e=>({...e,descCopied:!1})),2e3))}async function s(n,r,i){let a=N({subscribe:e});if(a.task)try{let e=await Bo.updateTask(a.task.id,{[n]:r});t(t=>({...t,task:e})),i(e)}catch(e){throw console.error(`Failed to update task field ${String(n)}:`,e),e}}async function c(n){let r=N({subscribe:e}).editTitle.trim();r&&(await s(`title`,r,n),t(e=>({...e,editingTitle:!1})))}async function l(n){await s(`description`,N({subscribe:e}).editDescription,n),t(e=>({...e,editingDescription:!1}))}async function u(e,t){await s(`status`,e,t)}async function d(n){let r=N({subscribe:e});if(!(!r.task||!r.newComment.trim())){t(e=>({...e,postingComment:!0}));try{let e=await Bo.updateTask(r.task.id,{comment:r.newComment.trim()});t(t=>({...t,task:e,newComment:``})),n(e)}catch(e){console.error(`Failed to post comment:`,e)}finally{t(e=>({...e,postingComment:!1}))}}}async function f(n){let r=N({subscribe:e});if(!(!r.editingCommentId||!r.editCommentText.trim())){t(e=>({...e,savingComment:!0}));try{if(await Bo.updateTaskComment(r.editingCommentId,r.editCommentText.trim()),r.task){let e=await Bo.taskById(r.task.id);e&&(t(t=>({...t,task:e})),n(e))}t(e=>({...e,editingCommentId:null,editCommentText:``}))}catch(e){console.error(`Failed to update comment:`,e)}finally{t(e=>({...e,savingComment:!1}))}}}async function p(n,r){let i=N({subscribe:e});if(await Ho(`Delete this comment?`))try{if(await Bo.deleteTaskComment(n),i.task){let e=await Bo.taskById(i.task.id);e&&(t(t=>({...t,task:e})),r(e))}}catch(e){console.error(`Failed to delete comment:`,e)}}async function m(t,n){let r=N({subscribe:e});if(r.task&&await Ho(`Are you sure you want to delete this task?`))try{await Bo.deleteTask(r.task.id),t(r.task.id),n()}catch(e){Uo(`Error deleting task: `+(e instanceof Error?e.message:String(e)))}}return{subscribe:e,mode:i,setMemory:e=>t(t=>({...t,memory:e,task:null,standard:null,handoff:null})),setTask:e=>{t(e?t=>({...t,task:e,memory:null,standard:null,handoff:null,editTitle:e.title,editDescription:e.description||``,editingTitle:!1,editingDescription:!1,newComment:``,editingCommentId:null}):e=>({...e,task:null}))},toggleEditTitle:e=>t(t=>({...t,editingTitle:e})),toggleEditDescription:e=>t(t=>({...t,editingDescription:e})),setEditTitle:e=>t(t=>({...t,editTitle:e})),setEditDescription:e=>t(t=>({...t,editDescription:e})),setNewComment:e=>t(t=>({...t,newComment:e})),startEditComment:e=>t(t=>({...t,editingCommentId:e.id,editCommentText:e.comment})),cancelEditComment:()=>t(e=>({...e,editingCommentId:null,editCommentText:``})),setEditCommentText:e=>t(t=>({...t,editCommentText:e})),handleCopyContent:a,handleCopyDesc:o,saveTitle:c,saveDescription:l,advanceStatus:u,postComment:d,saveEditComment:f,deleteComment:p,deleteTask:m,handleCommentKeydown:(e,t)=>{e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&d(t)},reset:()=>{t(e=>({...e,memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,editingCommentId:null,editCommentText:``,postingComment:!1,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}))},handleTitleKeydown:(e,n)=>{e.key===`Enter`&&c(n),e.key===`Escape`&&t(e=>({...e,editingTitle:!1}))},...n,...r}}var tx=K(`<div class="meta-cell svelte-118hqhr"><div class="meta-label svelte-118hqhr"> </div> <div class="meta-value svelte-118hqhr"> </div></div>`),nx=K(`<span class="tag-chip svelte-118hqhr"> </span>`),rx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-118hqhr">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),ix=K(`<div style="margin-top:16px;"><div class="section-label svelte-118hqhr">Metadata</div> <pre class="json-pre svelte-118hqhr"> </pre></div>`),ax=K(`<div class="meta-grid svelte-118hqhr" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-118hqhr" style="display:flex; justify-content:space-between; align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-118hqhr"><!></div></div> <!>`,1);function ox(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8);Ua();var o=Ei(),s=R(o),c=e=>{var t=ax(),r=R(t);X(r,5,()=>(n(),W(Il),U(()=>[{label:`Importance`,val:n().memory?.importance||0},{label:`Hit Count`,val:n().memory?.hit_count??0},{label:`Created`,val:Il(n().memory?.created_at)},{label:`Updated`,val:Il(n().memory?.updated_at)}])),e=>e.label,(e,t)=>{var n=tx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(r);var i=z(r,2),o=e=>{var t=rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().memory.tags)),e=>e,(e,t)=>{var n=nx(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(i,e=>{n(),U(()=>n().memory.tags?.length)&&e(o)});var s=z(i,2),c=L(s),l=z(L(c),2),u=L(l);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(u,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(l),j(c);var d=z(c,2),f=L(d);{let e=fn(()=>(n(),U(()=>n().memory?.content||``)));Ib(f,{get content(){return H(e)}})}j(d),j(s);var p=z(s,2),m=e=>{var t=ix(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().memory.metadata,null,2)))]),q(e,t)},h=dn(()=>(n(),U(()=>n().memory.metadata&&Object.keys(n().memory.metadata).length>0)));Y(p,e=>{H(h)&&e(m)}),G(`click`,l,()=>a().handleCopyContent(n().memory?.content||``)),q(e,t)};Y(s,e=>{n(),U(()=>n().memory)&&e(c)}),q(e,o),it(),i()}var sx=K(`<button class="btn"> </button>`),cx=K(`<div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"></div>`),lx=K(`<button class="btn btn-ghost" style="color: #ef4444;"><svg style="margin-right:4px;" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Delete Task</button>`),ux=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct"> </div> <div class="meta-value svelte-1ewh6ct"> </div></div>`),dx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Active Claim</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> <!></div></div>`),fx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Pending Handoff</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> </div></div>`),px=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Coordination</div> <div class="meta-grid svelte-1ewh6ct"><!> <!></div></div>`),mx=K(`<button class="btn btn-ghost" style="padding:1px 6px;font-size:0.68rem;border-radius:4px;">Edit</button>`),hx=K(`<textarea class="form-textarea" rows="8" style="font-size:0.82rem;font-family:'JetBrains Mono',monospace;"></textarea> <div style="display:flex;gap:6px;margin-top:6px;"><button class="btn btn-accent" style="font-size:0.78rem;">Save</button> <button class="btn btn-ghost" style="font-size:0.78rem;">Cancel</button></div>`,1),gx=K(`<div class="markdown-body md-card svelte-1ewh6ct"><!></div>`),_x=K(`<div style="color:var(--color-text-muted);font-size:0.82rem;font-style:italic;">No description yet. Click Edit to add one.</div>`),vx=K(`<span style="font-size:0.65rem;color:var(--color-text-muted);"> </span>`),yx=K(`<button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;" title="Edit comment">✏️</button> <button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;color:#ef4444;" title="Delete comment">🗑</button>`,1),bx=K(`<textarea class="form-textarea" rows="3" style="font-size:0.8rem;margin-bottom:6px;"></textarea> <div style="display:flex;gap:6px;"><button class="btn btn-accent" style="font-size:0.75rem;"> </button> <button class="btn btn-ghost" style="font-size:0.75rem;">Cancel</button></div>`,1),xx=K(`<div class="markdown-body" style="font-size:0.78rem;color:var(--color-text);line-height:1.5;"><!></div>`),Sx=K(`<div class="comment-card svelte-1ewh6ct"><div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;"><div style="display:flex;align-items:center;gap:6px;"><div class="comment-avatar svelte-1ewh6ct"> </div> <span style="font-size:0.72rem;font-weight:600;color:var(--color-text);"> </span> <!></div> <div style="display:flex;align-items:center;gap:8px;"><span style="font-size:0.65rem;color:var(--color-text-muted);"> </span> <!></div></div> <!></div>`),Cx=K(`<div style="display:flex;flex-direction:column;gap:8px;margin-bottom:12px;"></div>`),wx=K(`<!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Status</div> <div style="display:flex; justify-content:space-between; align-items:center;"><span style="font-size:0.85rem; padding: 4px 10px;"> </span> <!></div></div> <div class="meta-grid svelte-1ewh6ct" style="margin-bottom:16px;"></div> <!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct" style="display:flex;align-items:center;gap:6px;width:100%;"><span style="flex:1;">Description</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent; margin-right:4px;"><!></button> <!></div> <!></div> <div><div class="section-label svelte-1ewh6ct"> </div> <div class="comment-compose svelte-1ewh6ct" style="margin-bottom:16px;"><textarea class="form-textarea" placeholder="Add a comment or status note…" rows="2" style="font-size:0.82rem;resize:vertical;"></textarea> <div style="display:flex;justify-content:space-between;align-items:center;margin-top:6px;"><span style="font-size:0.65rem;color:var(--color-text-muted);">Ctrl+Enter to submit</span> <button class="btn btn-accent" style="font-size:0.78rem;"> </button></div></div> <!></div>`,1);function Tx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onTaskUpdated`,8),c=Z(t,`onTaskDeleted`,8);Ua();var l=Ei(),u=R(l),d=e=>{var t=wx(),r=R(t),i=e=>{var t=cx();X(t,5,()=>(W($b),n(),U(()=>$b[n().task.status])),e=>e.next,(e,t)=>{var n=sx(),r=L(n,!0);j(n),V(()=>{da(n,`background:${(H(t),U(()=>H(t).color))??``};color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;`),J(r,(H(t),U(()=>H(t).label)))}),G(`click`,n,()=>a().advanceStatus(H(t).next,s())),q(e,n)}),j(t),q(e,t)};Y(r,e=>{W($b),n(),U(()=>$b[n().task.status]?.length)&&e(i)});var l=z(r,2),u=z(L(l),2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=e=>{var t=lx();G(`click`,t,()=>a().deleteTask(c(),o())),q(e,t)};Y(p,e=>{n(),U(()=>n().task?.status!==`completed`)&&e(m)}),j(u),j(l);var h=z(l,2);X(h,5,()=>(W(Vl),n(),W(Il),U(()=>[{label:`Priority`,val:Vl(n().task?.priority||1)},{label:`Phase`,val:n().task?.phase||`—`},{label:`Agent`,val:n().task?.agent||`—`},{label:`Updated`,val:Il(n().task?.updated_at)},{label:`Parent`,val:n().task?.parent_code||`—`},{label:`Depends On`,val:n().task?.depends_on_code||`—`}])),e=>e.label,(e,t)=>{var n=ux(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(h);var g=z(h,2),_=e=>{var t=px(),r=z(L(t),2),i=L(r),a=e=>{var t=dx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(a),s=z(o),c=e=>{var t=Ti();V(e=>J(t,`• ${e??``}`),[()=>(W(Il),n(),U(()=>Il(n().task.coordination.active_claim_claimed_at)))]),q(e,t)};Y(s,e=>{n(),U(()=>n().task.coordination.active_claim_claimed_at)&&e(c)}),j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.active_claim_agent||`claimed`))),J(o,`${(n(),U(()=>n().task.coordination.active_claim_role||`worker`))??``} `)}),q(e,t)};Y(i,e=>{n(),U(()=>(n().task.coordination.active_claim_count||0)>0)&&e(a)});var o=z(i,2),s=e=>{var t=fx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.pending_handoff_to_agent||`unassigned`))),J(o,(n(),U(()=>n().task.coordination.pending_handoff_summary||`Transfer waiting`)))}),q(e,t)};Y(o,e=>{n(),U(()=>(n().task.coordination.pending_handoff_count||0)>0)&&e(s)}),j(r),j(t),q(e,t)};Y(g,e=>{n(),U(()=>n().task.coordination&&((n().task.coordination.active_claim_count||0)>0||(n().task.coordination.pending_handoff_count||0)>0))&&e(_)});var v=z(g,2),y=L(v),b=z(L(y),2),x=L(b);{let e=fn(()=>(n(),U(()=>n().descCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().descCopied?`text-success`:``)));Q(x,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(b);var S=z(b,2),C=e=>{var t=mx();G(`click`,t,()=>a().toggleEditDescription(!0)),q(e,t)};Y(S,e=>{n(),U(()=>!n().editingDescription)&&e(C)}),j(y);var w=z(y,2),T=e=>{var t=hx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=z(o,2);j(i),Fa(r,()=>n().editDescription,e=>kt(a(),U(n).editDescription=e,U(n))),G(`click`,o,()=>a().saveDescription(s())),G(`click`,c,()=>a().toggleEditDescription(!1)),q(e,t)},E=e=>{var t=gx(),r=L(t);{let e=fn(()=>(n(),U(()=>n().task.description||``)));Ib(r,{get content(){return H(e)}})}j(t),q(e,t)},D=e=>{q(e,_x())};Y(w,e=>{n(),U(()=>n().editingDescription)?e(T):(n(),U(()=>n().task?.description)?e(E,1):e(D,-1))}),j(v);var O=z(v,2),k=L(O),ee=L(k);j(k);var te=z(k,2),ne=L(te);Gn(ne);var re=z(ne,2),ie=z(L(re),2),A=L(ie,!0);j(ie),j(re),j(te);var ae=z(te,2),oe=e=>{var t=Cx();X(t,5,()=>(n(),U(()=>n().task.comments)),e=>e.id,(e,t)=>{var r=Sx(),i=L(r),o=L(i),c=L(o),l=L(c,!0);j(c);var u=z(c,2),d=L(u,!0);j(u);var f=z(u,2),p=e=>{var n=vx(),r=L(n);j(n),V((e,t)=>J(r,`${e??``} → ${t??``}`),[()=>(W(Bl),H(t),U(()=>Bl(H(t).previous_status))),()=>(W(Bl),H(t),U(()=>Bl(H(t).next_status)))]),q(e,n)};Y(f,e=>{H(t),U(()=>H(t).previous_status&&H(t).next_status)&&e(p)}),j(o);var m=z(o,2),h=L(m),g=L(h,!0);j(h);var _=z(h,2),v=e=>{var n=yx(),r=R(n),i=z(r,2);G(`click`,r,()=>a().startEditComment(H(t))),G(`click`,i,()=>a().deleteComment(H(t).id,s())),q(e,n)};Y(_,e=>{H(t),U(()=>H(t).id)&&e(v)}),j(m),j(i);var y=z(i,2),b=e=>{var t=bx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=L(o,!0);j(o);var l=z(o,2);j(i),V(()=>{o.disabled=(n(),U(()=>n().savingComment)),J(c,(n(),U(()=>n().savingComment?`Saving…`:`Save`)))}),Fa(r,()=>n().editCommentText,e=>kt(a(),U(n).editCommentText=e,U(n))),G(`click`,o,()=>a().saveEditComment(s())),G(`click`,l,function(...e){a().cancelEditComment?.apply(this,e)}),q(e,t)},x=e=>{var n=xx();Ib(L(n),{get content(){return H(t),U(()=>H(t).comment)}}),j(n),q(e,n)};Y(y,e=>{n(),H(t),U(()=>n().editingCommentId===H(t).id)?e(b):e(x,-1)}),j(r),V((e,n)=>{J(l,e),J(d,(H(t),U(()=>H(t).agent||`Unknown`))),J(g,n)},[()=>(H(t),U(()=>(H(t).agent||`U`).charAt(0).toUpperCase())),()=>(W(Il),H(t),U(()=>Il(H(t).created_at)))]),q(e,r)}),j(t),q(e,t)};Y(ae,e=>{n(),U(()=>n().task?.comments?.length)&&e(oe)}),j(O),V((e,t,r)=>{la(d,1,`status-chip ${e??``}`,`svelte-1ewh6ct`),J(f,t),J(ee,`Activity (${(n(),U(()=>n().task?.comments?.length??0))??``})`),Ea(ne,(n(),U(()=>n().newComment))),ie.disabled=r,J(A,(n(),U(()=>n().postingComment?`Posting…`:`Post Comment`)))},[()=>(W(zl),n(),U(()=>zl(n().task?.status||`pending`))),()=>(W(Bl),n(),U(()=>Bl(n().task?.status||``))),()=>(n(),U(()=>n().postingComment||!n().newComment.trim()))]),G(`click`,b,()=>a().handleCopyDesc(n().task?.description||``)),G(`input`,ne,e=>a().setNewComment(e.currentTarget.value)),G(`keydown`,ne,e=>a().handleCommentKeydown(e,s())),G(`click`,ie,()=>a().postComment(s())),q(e,t)};Y(u,e=>{n(),U(()=>n().task)&&e(d)}),q(e,l),it(),i()}var Ex=K(`<div class="error-box"> </div>`),Dx=K(`<div class="section-label svelte-1arg7l8" style="margin-bottom:12px;">New Handoff</div> <!> <div class="std-form-grid svelte-1arg7l8"><label><span class="std-field-label svelte-1arg7l8">From agent *</span> <input class="form-input" placeholder="agent-a"/></label> <label><span class="std-field-label svelte-1arg7l8">To agent</span> <input class="form-input" placeholder="recipient agent (optional)"/></label> <label><span class="std-field-label svelte-1arg7l8">Task code</span> <input class="form-input" placeholder="TASK-123"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Summary *</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;" placeholder="What should the next agent know?"></textarea></label> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Context JSON</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;"></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Ox=K(`<div class="error-box"> </div>`),kx=K(`<div class="meta-cell svelte-1arg7l8"><div class="meta-label svelte-1arg7l8"> </div> <div class="meta-value svelte-1arg7l8"> </div></div>`),Ax=K(`<div><div class="section-label svelte-1arg7l8" style="display:flex;justify-content:space-between;align-items:center;"><span>Transfer Context</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <pre class="json-pre svelte-1arg7l8"> </pre></div>`),jx=K(`<!> <div class="drawer-title svelte-1arg7l8" style="margin-bottom:14px;"> </div> <div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"><button class="btn" style="background:#10b981;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Accept</button> <button class="btn" style="background:#ef4444;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Reject</button> <button class="btn" style="background:#64748b;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Mark Expired</button></div> <div style="margin-bottom:16px;"><div class="section-label svelte-1arg7l8">Status</div> <span style="font-size:0.85rem;padding:4px 10px;display:inline-block;"> </span></div> <div class="meta-grid svelte-1arg7l8" style="margin-bottom:16px;"></div> <!>`,1);function Mx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onHandoffCreated`,8),c=Z(t,`onHandoffUpdated`,8),l=Z(t,`repo`,8);Ua();var u=Ei(),d=R(u),f=e=>{var t=Dx(),r=z(R(t),2),i=e=>{var t=Ex(),r=L(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var c=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m),j(c);var g=z(c,2),_=z(L(g),2);Gn(_),j(g);var v=z(g,2),y=z(L(v),2);Gn(y),ka(y,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(v);var b=z(v,2),x=L(b),S=L(x);Q(S,{name:`git-branch`,size:14,strokeWidth:2});var C=z(S);j(x);var w=z(x,2);j(b),V(e=>{x.disabled=e,J(C,` ${(n(),U(()=>n().handoffCreating?`Creating...`:`Create Handoff`))??``}`),w.disabled=(n(),U(()=>n().handoffCreating))},[()=>(n(),U(()=>n().handoffCreating||!n().handoffForm.from_agent.trim()||!n().handoffForm.summary.trim()))]),Fa(d,()=>n().handoffForm.from_agent,e=>kt(a(),U(n).handoffForm.from_agent=e,U(n))),Fa(p,()=>n().handoffForm.to_agent,e=>kt(a(),U(n).handoffForm.to_agent=e,U(n))),Fa(h,()=>n().handoffForm.task_code,e=>kt(a(),U(n).handoffForm.task_code=e,U(n))),Fa(_,()=>n().handoffForm.summary,e=>kt(a(),U(n).handoffForm.summary=e,U(n))),Fa(y,()=>n().handoffForm.context,e=>kt(a(),U(n).handoffForm.context=e,U(n))),G(`click`,x,()=>a().createHandoff(s(),l())),G(`click`,w,function(...e){o()?.apply(this,e)}),q(e,t)},p=e=>{var t=jx(),r=R(t),i=e=>{var t=Ox(),r=L(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var o=z(r,2),s=L(o,!0);j(o);var l=z(o,2),u=L(l),d=z(u,2),f=z(d,2);j(l);var p=z(l,2),m=z(L(p),2);let h;var g=L(m,!0);j(m),j(p);var _=z(p,2);X(_,5,()=>(n(),W(Il),U(()=>[{label:`From`,val:n().handoff.from_agent},{label:`To`,val:n().handoff.to_agent||`unassigned`},{label:`Task`,val:n().handoff.task_code||n().handoff.task_id||`—`},{label:`Created`,val:Il(n().handoff.created_at)},{label:`Updated`,val:Il(n().handoff.updated_at)},{label:`Expires`,val:n().handoff.expires_at?Il(n().handoff.expires_at):`—`}])),e=>e.label,(e,t)=>{var n=kx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(_);var v=z(_,2),y=e=>{var t=Ax(),r=L(t),i=z(L(r),2),o=L(i);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(o,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(i),j(r);var s=z(r,2),c=L(s,!0);j(s),j(t),V(e=>J(c,e),[()=>(n(),U(()=>JSON.stringify(n().handoff.context,null,2)))]),G(`click`,i,()=>a().handleCopyHandoffContext(n().handoff?.context||{})),q(e,t)},b=dn(()=>(n(),U(()=>n().handoff.context&&Object.keys(n().handoff.context).length>0)));Y(v,e=>{H(b)&&e(y)}),V(e=>{J(s,(n(),U(()=>n().handoff.summary))),u.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),d.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),f.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status===`expired`||n().handoff.status===`accepted`)),h=la(m,1,`status-chip`,null,h,{"status-pending":n().handoff.status===`pending`,"status-accepted":n().handoff.status===`accepted`,"status-rejected":n().handoff.status===`rejected`,"status-expired":n().handoff.status===`expired`}),J(g,e)},[()=>(n(),U(()=>n().handoff.status.toUpperCase()))]),G(`click`,u,()=>a().updateHandoffStatus(`accepted`,c())),G(`click`,d,()=>a().updateHandoffStatus(`rejected`,c())),G(`click`,f,()=>a().updateHandoffStatus(`expired`,c())),q(e,t)};Y(d,e=>{n(),U(()=>n().handoff&&n().handoff.id===`__new__`)?e(f):(n(),U(()=>n().handoff)&&e(p,1))}),q(e,u),it(),i()}var Nx=K(`<div style="border:1px solid #fecaca;background:#fef2f2;color:#dc2626;border-radius:8px;padding:10px 12px;font-size:0.82rem;font-weight:700;margin-bottom:12px;"> </div>`),Px=K(`<div class="section-label svelte-1p5f4l" style="margin-bottom:12px;"> </div> <div class="std-form-grid svelte-1p5f4l"><label><span class="std-field-label svelte-1p5f4l">Name *</span> <input class="form-input" placeholder="Error handling standard"/></label> <label><span class="std-field-label svelte-1p5f4l">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label><span class="std-field-label svelte-1p5f4l">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label><span class="std-field-label svelte-1p5f4l">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label><span class="std-field-label svelte-1p5f4l">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label><span class="std-field-label svelte-1p5f4l">Tags *</span> <input class="form-input" placeholder="frontend, linting"/></label> <label><span class="std-field-label svelte-1p5f4l">Parent ID</span> <input class="form-input" placeholder="Optional parent UUID"/></label> <label><span class="std-field-label svelte-1p5f4l">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata (e.g., source:dashboard)"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1p5f4l">Content *</span> <textarea class="form-textarea" style="min-height:120px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Fx=K(`<span class="std-badge std-badge-parent svelte-1p5f4l"> </span>`),Ix=K(`<div class="meta-cell svelte-1p5f4l"><div class="meta-label svelte-1p5f4l"> </div> <div class="meta-value svelte-1p5f4l"> </div></div>`),Lx=K(`<span class="tag-chip svelte-1p5f4l"> </span>`),Rx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1p5f4l">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),zx=K(`<div style="margin-top:16px;"><div class="section-label svelte-1p5f4l">Metadata</div> <pre class="json-pre svelte-1p5f4l"> </pre></div>`),Bx=K(`<div class="detail-header-row svelte-1p5f4l"><div style="flex:1;min-width:0;"><div class="drawer-title svelte-1p5f4l"> </div> <div class="std-meta-row svelte-1p5f4l" style="margin-top:6px;"><span class="std-badge std-badge-context svelte-1p5f4l"> </span> <span class="std-badge std-badge-version svelte-1p5f4l"> </span> <span> </span> <!></div></div> <div style="display:flex;align-items:center;gap:6px;flex-shrink:0;"><button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm" style="color:#ef4444;"><!> </button></div></div> <div class="meta-grid svelte-1p5f4l" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-1p5f4l" style="display:flex;justify-content:space-between;align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-1p5f4l"><!></div></div> <!>`,1),Vx=K(`<!> <!>`,1);function Hx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onStandardUpdated`,8),c=Z(t,`onStandardDeleted`,8),l=Z(t,`repo`,8);Ua();var u=Vx(),d=R(u),f=e=>{var t=Nx(),r=L(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().standardError)))),q(e,t)};Y(d,e=>{n(),U(()=>n().standardError)&&e(f)});var p=z(d,2),m=e=>{var t=Px(),r=R(t),i=L(r,!0);j(r);var c=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m);var g=z(m,2),_=z(L(g),2);Ta(_),j(g);var v=z(g,2),y=z(L(v),2);Ta(y),j(v);var b=z(v,2),x=z(L(b),2);Ta(x),j(b);var S=z(b,2),C=z(L(S),2);Ta(C),j(S);var w=z(S,2),T=z(L(w),2);Ta(T),j(w),j(c);var E=z(c,2),D=z(L(E),2);Gn(D),j(E);var O=z(E,2),k=L(O),ee=L(k);Q(ee,{name:`check`,size:14,strokeWidth:2});var te=z(ee);j(k);var ne=z(k,2);j(O),V(e=>{J(i,(n(),U(()=>n().standard?`Edit Standard`:`New Standard`))),k.disabled=e,J(te,` ${(n(),U(()=>n().standardSaving?`Saving...`:n().standard?`Save Changes`:`Create Standard`))??``}`),ne.disabled=(n(),U(()=>n().standardSaving))},[()=>(n(),U(()=>n().standardSaving||!n().standardForm.name.trim()||!n().standardForm.content.trim()))]),Fa(d,()=>n().standardForm.name,e=>kt(a(),U(n).standardForm.name=e,U(n))),Fa(p,()=>n().standardForm.context,e=>kt(a(),U(n).standardForm.context=e,U(n))),Fa(h,()=>n().standardForm.version,e=>kt(a(),U(n).standardForm.version=e,U(n))),Fa(_,()=>n().standardForm.language,e=>kt(a(),U(n).standardForm.language=e,U(n))),Fa(y,()=>n().standardForm.stack,e=>kt(a(),U(n).standardForm.stack=e,U(n))),Fa(x,()=>n().standardForm.tags,e=>kt(a(),U(n).standardForm.tags=e,U(n))),Fa(C,()=>n().standardForm.parent_id,e=>kt(a(),U(n).standardForm.parent_id=e,U(n))),Fa(T,()=>n().standardForm.metadata,e=>kt(a(),U(n).standardForm.metadata=e,U(n))),Fa(D,()=>n().standardForm.content,e=>kt(a(),U(n).standardForm.content=e,U(n))),G(`click`,k,()=>a().saveStandard(s(),o(),l())),G(`click`,ne,function(...e){a().cancelStandardEdit?.apply(this,e)}),q(e,t)},h=e=>{var t=Bx(),r=R(t),i=L(r),s=L(i),l=L(s,!0);j(s);var u=z(s,2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=L(p);j(p);var h=z(p,2);let g;var _=L(h,!0);j(h);var v=z(h,2),y=e=>{var t=Fx(),r=L(t);j(t),V(()=>J(r,`child of ${(n(),U(()=>n().standard.parent_id))??``}`)),q(e,t)};Y(v,e=>{n(),U(()=>n().standard.parent_id)&&e(y)}),j(u),j(i);var b=z(i,2),x=L(b);Q(L(x),{name:`edit`,size:13,strokeWidth:2}),M(),j(x);var S=z(x,2),C=L(S);Q(C,{name:`trash`,size:13,strokeWidth:2});var w=z(C);j(S),j(b),j(r);var T=z(r,2);X(T,5,()=>(n(),W(Il),U(()=>[{label:`Language`,val:n().standard.language||`any`},{label:`Stack`,val:n().standard.stack.length?n().standard.stack.join(`, `):`—`},{label:`Created`,val:Il(n().standard.created_at)},{label:`Updated`,val:Il(n().standard.updated_at)}])),e=>e.label,(e,t)=>{var n=Ix(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(T);var E=z(T,2),D=e=>{var t=Rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().standard.tags)),e=>e,(e,t)=>{var n=Lx(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(E,e=>{n(),U(()=>n().standard.tags?.length)&&e(D)});var O=z(E,2),k=L(O),ee=z(L(k),2),te=L(ee);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(te,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(ee),j(k);var ne=z(k,2),re=L(ne);{let e=fn(()=>(n(),U(()=>n().standard?.content||``)));Ib(re,{get content(){return H(e)}})}j(ne),j(O);var ie=z(O,2),A=e=>{var t=zx(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().standard.metadata,null,2)))]),q(e,t)},ae=dn(()=>(n(),U(()=>n().standard.metadata&&Object.keys(n().standard.metadata).length>0)));Y(ie,e=>{H(ae)&&e(A)}),V(()=>{J(l,(n(),U(()=>n().standard.title))),J(f,(n(),U(()=>n().standard.context))),J(m,`v${(n(),U(()=>n().standard.version))??``}`),g=la(h,1,`std-badge svelte-1p5f4l`,null,g,{"std-badge-global":n().standard.is_global,"std-badge-repo":!n().standard.is_global}),J(_,(n(),U(()=>n().standard.is_global?`Global`:`Repo`))),S.disabled=(n(),U(()=>n().standardDeleting)),J(w,` ${(n(),U(()=>n().standardDeleting?`Deleting...`:`Delete`))??``}`)}),G(`click`,x,function(...e){a().startStandardEdit?.apply(this,e)}),G(`click`,S,()=>a().deleteStandard(c(),o())),G(`click`,ee,()=>a().handleCopyStandardContent(n().standard?.content||``)),q(e,t)};Y(p,e=>{n(),U(()=>n().standardEditing)?e(m):(n(),U(()=>n().standard)&&e(h,1))}),q(e,u),it(),i()}var Ux=K(`<div><span style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-9n99wb"> </div></div>`),Wx=K(`<div style="display:flex;gap:6px;align-items:center;"><input class="form-input" style="font-size:0.95rem;font-weight:700;flex:1;"/> <button class="btn btn-accent" style="padding:4px 10px;font-size:0.75rem;">Save</button> <button class="btn btn-ghost" style="padding:4px 10px;font-size:0.75rem;">✕</button></div>`),Gx=K(`<button class="drawer-title editable-title svelte-9n99wb" title="Click to edit title" style="text-align:left;background:none;border:none;padding:0;width:100%;cursor:pointer;"> <span class="edit-hint svelte-9n99wb">✏️</span></button>`),Kx=K(`<div style="flex:1;min-width:0;"><div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;"><span> </span> <span style="font-size:0.7rem;font-weight:700;color:var(--color-text-muted);"> </span></div> <!></div>`),qx=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1"><div class="drawer-header svelte-9n99wb"><!> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M18 6 6 18M6 6l12 12"></path></svg></button></div> <div class="drawer-body svelte-9n99wb"><!> <!> <!> <!></div></div>`,1);function Jx(e,t){let n=qa(t,[`children`,`$$slots`,`$$events`,`$$legacy`]);rt(t,!1);let r=()=>P(x,`$mode`,a),i=()=>P(b,`$handler`,a),[a,o]=Dt(),s=Z(t,`memory`,8,null),c=Z(t,`task`,8,null),l=Z(t,`standard`,8,null),u=Z(t,`handoff`,8,null),d=Z(t,`open`,8,!1),f=Z(t,`onClose`,8,()=>{}),p=Z(t,`onTaskUpdated`,8,()=>{}),m=Z(t,`onTaskDeleted`,8,()=>{}),h=Z(t,`onStandardUpdated`,8,()=>{}),g=Z(t,`onStandardDeleted`,8,()=>{}),_=Z(t,`onHandoffUpdated`,8,()=>{}),v=Z(t,`onHandoffCreated`,8,()=>{}),y=Z(t,`repo`,8,null),b=ex(),{mode:x}=b;function S(e){e.key===`Escape`&&f()()}B(()=>(W(d()),W(s()),W(c()),W(n),W(l()),W(u()),W(y())),()=>{d()?s()?b.setMemory(s()):c()?b.setTask(c()):`standard`in n?b.setStandard(l()):u()?b.setHandoff(u()):`handoff`in n&&b.initNewHandoff(y()||``):b.reset()}),or(),Ua();var C=Ei(),w=R(C),T=e=>{var n=qx(),a=R(n),o=z(a,2),s=L(o),c=L(s),l=e=>{var t=Ux(),n=L(t),r=L(n,!0);j(n);var a=z(n,2),o=L(a,!0);j(a),j(t),V(()=>{la(n,1,`type-chip type-${(i(),U(()=>i().memory.type))??``}`,`svelte-9n99wb`),J(r,(i(),U(()=>i().memory.type))),J(o,(i(),U(()=>i().memory.title||`Untitled Memory`)))}),q(e,t)},u=e=>{var t=Kx(),n=L(t),r=L(n),a=L(r,!0);j(r);var o=z(r,2),s=L(o,!0);j(o),j(n);var c=z(n,2),l=e=>{var t=Wx(),n=L(t);Ta(n);var r=z(n,2),a=z(r,2);j(t),Fa(n,()=>i().editTitle,e=>kt(b,U(i).editTitle=e,U(i))),G(`keydown`,n,e=>b.handleTitleKeydown(e,p())),G(`click`,r,()=>b.saveTitle(p())),G(`click`,a,()=>b.toggleEditTitle(!1)),q(e,t)},u=e=>{var t=Gx(),n=L(t);M(),j(t),V(()=>J(n,`${(i(),U(()=>i().task?.title??``))??``} `)),G(`click`,t,()=>b.toggleEditTitle(!0)),q(e,t)};Y(c,e=>{i(),U(()=>i().editingTitle)?e(l):e(u,-1)}),j(t),V((e,t)=>{la(r,1,`status-chip ${e??``}`,`svelte-9n99wb`),J(a,t),J(s,(i(),U(()=>i().task.task_code||`NEW-TASK`)))},[()=>(W(zl),i(),U(()=>zl(i().task.status||`pending`))),()=>(W(Bl),i(),U(()=>Bl(i().task.status||``)))]),q(e,t)};Y(c,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)?e(l):(r(),i(),U(()=>r()===`task`&&i().task)&&e(u,1))});var d=z(c,2);j(s);var x=z(s,2),C=L(x),w=e=>{ox(e,{get handler(){return b}})};Y(C,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)&&e(w)});var T=z(C,2),E=e=>{Tx(e,{get handler(){return b},get onClose(){return f()},get onTaskUpdated(){return p()},get onTaskDeleted(){return m()}})};Y(T,e=>{r(),i(),U(()=>r()===`task`&&i().task)&&e(E)});var D=z(T,2),O=e=>{{let t=fn(()=>y()||``);Mx(e,{get handler(){return b},get onClose(){return f()},get onHandoffCreated(){return v()},get onHandoffUpdated(){return _()},get repo(){return H(t)}})}};Y(D,e=>{r()===`handoff`&&e(O)});var k=z(D,2),ee=e=>{Hx(e,{get handler(){return b},get onClose(){return f()},get onStandardUpdated(){return h()},get onStandardDeleted(){return g()},get repo(){return y()}})};Y(k,e=>{r()===`standard`&&e(ee)}),j(x),j(o),G(`click`,a,function(...e){f()?.apply(this,e)}),G(`keydown`,a,S),G(`click`,d,function(...e){f()?.apply(this,e)}),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`keydown`,o,S),q(e,n)};Y(w,e=>{d()&&r()&&e(T)}),q(e,C),it(),o()}function Yx(){let e=bt({item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}),{subscribe:t,update:n}=e,r=xt(e,e=>e.item?.type?e.item.type.charAt(0).toUpperCase()+e.item.type.slice(1):``);function i(t,r){N(e).item!==t&&n(e=>{let n={};return t&&t.type===`tool`&&t.data?.inputSchema?.properties?.repo&&r&&(n.repo=r),{...e,item:t,toolArgs:n,toolResult:null,toolError:null,toolRunning:!1}})}function a(e,t){n(n=>({...n,toolArgs:{...n.toolArgs,[e]:t}}))}async function o(){let t=N(e),r=t.item;if(!(!r||r.type!==`tool`)){n(e=>({...e,toolRunning:!0,toolResult:null,toolError:null}));try{let e={};if(r.data.inputSchema?.properties){for(let[n,r]of Object.entries(t.toolArgs))if(!(r===void 0||r===``))try{e[n]=JSON.parse(r)}catch{e[n]=r}}let i=await Bo.callTool(r.data.name,e);n(e=>({...e,toolResult:JSON.stringify(i,null,2)}))}catch(e){let t=e instanceof Error?e.message:String(e);n(e=>({...e,toolError:t}))}finally{n(e=>({...e,toolRunning:!1}))}}}async function s(e){await Kl(e)&&(n(e=>({...e,copied:!0})),setTimeout(()=>n(e=>({...e,copied:!1})),2e3))}function c(e,t){e.target===e.currentTarget&&t()}function l(e){e.stopPropagation()}function u(){n(e=>({...e,item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}))}return{subscribe:t,typeLabel:r,setItem:i,setToolArg:a,runTool:o,copyToClipboardWrapper:s,handleOverlayClick:c,handlePanelClick:l,reset:u}}var Xx=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Description</div> <div class="markdown-body md-card svelte-17ad9lv"><!></div></div>`),Zx=K(`<span style="font-size: 0.6rem; color: #ef4444; font-weight: bold; background: rgba(239, 68, 68, 0.1); padding: 2px 4px; border-radius: 4px;">REQ</span>`),Qx=K(`<div style="font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: 6px; line-height: 1.2;"> </div>`),$x=K(`<div style="border: 1px solid var(--color-border); border-radius: 4px; padding: 8px 10px; margin-bottom: 6px; background: rgba(0,0,0,0.01);"><div style="display:flex; justify-content:space-between; align-items:center; margin-bottom: 4px;"><span style="color: var(--color-text); font-family: monospace; font-size: 0.8rem; font-weight: 600;"> </span> <div style="display:flex; gap: 8px; align-items: center;"><span style="font-size: 0.7rem; color: var(--color-text-muted);"> </span> <!></div></div> <!> <input type="text" class="form-input" style="font-size:0.8rem; padding: 4px 8px; border-radius: 4px; min-height: 28px;"/></div>`),eS=K(`<div class="section-label svelte-17ad9lv">Playground (Input Parameters)</div> <!>`,1),tS=K(`<div class="section-label svelte-17ad9lv">Playground</div> <div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 8px;">No arguments required.</div>`,1),nS=K(`<div style="margin-top: 12px; border: 1px solid #fecaca; background: #fef2f2; color: #ef4444; padding: 12px; border-radius: 8px; font-size: 0.85rem;"><strong>Error:</strong> </div>`),rS=K(`<div style="margin-top: 12px;" class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv" style="display:flex; justify-content:space-between; align-items:center;"><span>Response</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:24px; height:24px; padding:0; border:none; background:transparent;"><!></button></div> <div class="md-card markdown-body svelte-17ad9lv" style="padding: 1px 16px;"><!></div></div>`),iS=K(`<div class="drawer-section svelte-17ad9lv"><!> <div style="margin-top: 8px;"><button class="btn btn-accent" style="width:100%"> </button></div> <!> <!></div>`),aS=K(`<span style="font-size: 0.7rem; color: #ef4444; font-weight: bold;">REQUIRED</span>`),oS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 6px;"> </div>`),sS=K(`<div style="border: 1px solid var(--color-border); border-radius: 8px; padding: 12px; margin-bottom: 8px; background: rgba(0,0,0,0.02);"><div style="display:flex; justify-content:space-between; align-items:flex-start; margin-bottom: 4px;"><strong style="color: var(--color-text); font-family: monospace;"> </strong> <!></div> <!></div>`),cS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); font-style: italic;">No arguments.</div>`),lS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Arguments</div> <!> <!></div>`),uS=K(`<div class="md-card svelte-17ad9lv" style="margin-bottom: 8px;"><div style="font-size: 0.7rem; font-weight: bold; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 8px;"> </div> <div class="markdown-body"><!></div></div>`),dS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Template</div> <!></div>`),fS=K(`<div style="font-size: 0.85rem; margin-bottom: 8px;"><span style="color: var(--color-text-muted);">URI:</span> <code style="font-size: 0.8rem; background: var(--color-bg); padding: 2px 4px; border-radius: 4px; border: 1px solid var(--color-border);"> </code></div>`),pS=K(`<div style="font-size: 0.85rem;"><span style="color: var(--color-text-muted);">MIME Type:</span> <span> </span></div>`),mS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Details</div> <!> <!></div>`),hS=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer" style="z-index: 100;"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1" style="z-index: 101;"><div class="drawer-header svelte-17ad9lv"><div style="flex:1; min-width:0; padding-right:16px;"><span class="type-chip svelte-17ad9lv" style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-17ad9lv"> </div></div> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M18 6 6 18M6 6l12 12"></path></svg></button></div> <div class="drawer-body svelte-17ad9lv"><!> <!> <!> <!> <!></div></div>`,1);function gS(e,t){rt(t,!1);let n=()=>P(io,`$currentRepo`,a),r=()=>P(u,`$handler`,a),i=()=>P(d,`$typeLabel`,a),[a,o]=Dt(),s=Z(t,`item`,8,null),c=Z(t,`open`,8,!1),l=Z(t,`onClose`,8,()=>{}),u=Yx(),d=u.typeLabel;function f(e){e.key===`Escape`&&l()()}B(()=>(W(c()),W(s()),n()),()=>{c()?u.setItem(s(),n()):u.reset()}),or(),Ua();var p=Ei(),m=R(p),h=e=>{var t=hS(),n=R(t),a=z(n,2),o=L(a),s=L(o),c=L(s),d=L(c,!0);j(c);var p=z(c,2),m=L(p,!0);j(p),j(s);var h=z(s,2);j(o);var g=z(o,2),_=L(g),v=e=>{var t=Xx(),n=z(L(t),2);Ib(L(n),{get content(){return r(),U(()=>r().item.data.description)}}),j(n),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().item.data.description)&&e(v)});var y=z(_,2),b=e=>{var t=iS(),n=L(t),i=e=>{var t=eS();X(z(R(t),2),1,()=>(r(),U(()=>Object.entries(r().item.data.inputSchema.properties))),([e,t])=>e,(e,t)=>{var n=dn(()=>T(H(t),2));let i=()=>H(n)[0],a=()=>H(n)[1];var o=$x(),s=L(o),c=L(s),l=L(c,!0);j(c);var d=z(c,2),f=L(d),p=L(f,!0);j(f);var m=z(f,2),h=e=>{q(e,Zx())},g=dn(()=>(r(),i(),U(()=>r().item.data.inputSchema.required?.includes(i()))));Y(m,e=>{H(g)&&e(h)}),j(d),j(s);var _=z(s,2),v=e=>{var t=Qx(),n=L(t,!0);j(t),V(()=>J(n,(a(),U(()=>a().description)))),q(e,t)};Y(_,e=>{a(),U(()=>a().description)&&e(v)});var y=z(_,2);Ta(y),j(o),V(()=>{J(l,i()),J(p,(a(),U(()=>a().type))),ka(y,`placeholder`,`Value for ${i()}`),Ea(y,(r(),i(),U(()=>r().toolArgs[i()]||``)))}),G(`input`,y,e=>u.setToolArg(i(),e.currentTarget.value)),q(e,o)}),q(e,t)},a=dn(()=>(r(),U(()=>r().item.data.inputSchema?.properties&&Object.keys(r().item.data.inputSchema.properties).length>0))),o=e=>{var t=tS();M(2),q(e,t)};Y(n,e=>{H(a)?e(i):e(o,-1)});var s=z(n,2),c=L(s),l=L(c,!0);j(c),j(s);var d=z(s,2),f=e=>{var t=nS(),n=z(L(t));j(t),V(()=>J(n,` ${(r(),U(()=>r().toolError))??``}`)),q(e,t)};Y(d,e=>{r(),U(()=>r().toolError)&&e(f)});var p=z(d,2),m=e=>{var t=rS(),n=L(t),i=z(L(n),2),a=L(i);{let e=fn(()=>(r(),U(()=>r().copied?`check`:`copy`))),t=fn(()=>(r(),U(()=>r().copied?`text-success`:``)));Q(a,{get name(){return H(e)},size:14,strokeWidth:2,get className(){return H(t)}})}j(i),j(n);var o=z(n,2),s=L(o);{let e=fn(()=>(r(),U(()=>"```json\n"+r().toolResult+"\n```")));Ib(s,{get content(){return H(e)}})}j(o),j(t),G(`click`,i,()=>u.copyToClipboardWrapper(r().toolResult||``)),q(e,t)};Y(p,e=>{r(),U(()=>r().toolResult)&&e(m)}),j(t),V(()=>{c.disabled=(r(),U(()=>r().toolRunning)),J(l,(r(),U(()=>r().toolRunning?`Running...`:`Submit`)))}),G(`click`,c,()=>u.runTool()),q(e,t)};Y(y,e=>{r(),U(()=>r().item.type===`tool`)&&e(b)});var x=z(y,2),S=e=>{var t=lS(),n=z(L(t),2);X(n,1,()=>(r(),U(()=>r().item.data.arguments)),e=>e.name,(e,t)=>{var n=sS(),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),s=e=>{q(e,aS())};Y(o,e=>{H(t),U(()=>H(t).required)&&e(s)}),j(r);var c=z(r,2),l=e=>{var n=oS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).description)))),q(e,n)};Y(c,e=>{H(t),U(()=>H(t).description)&&e(l)}),j(n),V(()=>J(a,(H(t),U(()=>H(t).name)))),q(e,n)});var i=z(n,2),a=e=>{q(e,cS())};Y(i,e=>{r(),U(()=>r().item.data.arguments.length===0)&&e(a)}),j(t),q(e,t)};Y(x,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.arguments)&&e(S)});var C=z(x,2),w=e=>{var t=dS();X(z(L(t),2),3,()=>(r(),U(()=>r().item.data.messages)),(e,t)=>`${e.role}-${t}`,(e,t)=>{var n=uS(),r=L(n),i=L(r);j(r);var a=z(r,2),o=L(a);{let e=fn(()=>(H(t),U(()=>typeof H(t).content==`string`?H(t).content:H(t).content.text)));Ib(o,{get content(){return H(e)}})}j(a),j(n),V(()=>J(i,`Role: ${(H(t),U(()=>H(t).role))??``}`)),q(e,n)}),j(t),q(e,t)};Y(C,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.messages&&r().item.data.messages.length>0)&&e(w)});var E=z(C,2),D=e=>{var t=mS(),n=z(L(t),2),i=e=>{var t=fS(),n=z(L(t),2),i=L(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.uri)))),q(e,t)};Y(n,e=>{r(),U(()=>r().item?.data?.uri)&&e(i)});var a=z(n,2),o=e=>{var t=pS(),n=z(L(t),2),i=L(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.mimeType)))),q(e,t)};Y(a,e=>{r(),U(()=>r().item.data.mimeType)&&e(o)}),j(t),q(e,t)};Y(E,e=>{r(),U(()=>r().item.type===`resource`)&&e(D)}),j(g),j(a),V(()=>{J(d,i()),J(m,(r(),U(()=>r().item.data.name)))}),G(`click`,n,e=>u.handleOverlayClick(e,l())),G(`keydown`,n,f),G(`click`,h,function(...e){l()?.apply(this,e)}),G(`click`,a,function(...e){u.handlePanelClick?.apply(this,e)}),G(`keydown`,a,f),q(e,t)};Y(m,e=>{W(c()),r(),U(()=>c()&&r().item)&&e(h)}),q(e,p),it(),o()}function _S(e){let t=bt({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n=bt(!1),r=bt(!1),i=bt(!1),a=bt(``),o=bt(!1),s=null;function c(e){s=e,e?(t.set({title:e.title,type:e.type,content:e.content,importance:e.importance,tags:(e.tags||[]).join(`, `),agent:e.agent||``,model:e.model||``}),n.set(!1)):(t.set({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n.set(!0)),o.set(!1),a.set(``),r.set(!1),i.set(!1)}function l(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}async function u(){let n=N(t);if(!n.title.trim()||!n.content.trim()){a.set(`Title and Content are required.`);return}r.set(!0),a.set(``);try{let t=N(io),r={title:n.title.trim(),type:n.type,content:n.content.trim(),importance:Number(n.importance),tags:l(n.tags),agent:n.agent.trim()||void 0,model:n.model.trim()||void 0,repo:t,scope:{repo:t||``}},i;if(s)await Bo.updateMemory(s.id,r),i={...s,...r,updated_at:new Date().toISOString()};else{let e=await Bo.createMemory(r);i={...r,id:e.id,hit_count:0,recall_count:0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}}e.onSaved(i),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to save memory.`)}finally{r.set(!1)}}async function d(){if(s&&await Ho(`Permanently delete this memory? This cannot be undone.`)){i.set(!0),a.set(``);try{await Bo.deleteMemory(s.id),e.onDeleted(s.id),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to delete memory.`)}finally{i.set(!1)}}}return{form:t,editing:n,saving:r,deleting:i,error:a,previewMode:o,reset:c,save:u,deleteMemory:d,startEditing:()=>{n.set(!0),o.set(!1)},cancelEdit:()=>{s?(c(s),n.set(!1)):e.onClose()},togglePreview:()=>o.update(e=>!e)}}var vS=K(`<div class="modal-mode-label svelte-intd6h"> </div> <input class="form-input modal-title-input svelte-intd6h" placeholder="Memory title…"/>`,1),yS=K(`<div class="modal-mode-label svelte-intd6h">View Memory</div> <div class="modal-title-text svelte-intd6h"> </div>`,1),bS=K(`<button class="btn btn-ghost btn-sm" title="Edit memory"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-btn svelte-intd6h" title="Delete memory"><!> </button>`,1),xS=K(`<div class="mem-error svelte-intd6h"><!> </div>`),SS=K(`<div class="meta-cell svelte-intd6h"><div class="meta-label svelte-intd6h"> </div> <div class="meta-value svelte-intd6h"> </div></div>`),CS=K(`<span class="tag-chip svelte-intd6h"> </span>`),wS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Tags</div> <div class="tags-row svelte-intd6h"></div></div>`),TS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Metadata</div> <pre class="json-pre svelte-intd6h"> </pre></div>`),ES=K(`<div style="margin-bottom:14px;"><span> </span></div> <div class="meta-grid svelte-intd6h"></div> <!> <div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Content</div> <div class="markdown-body md-card svelte-intd6h"><!></div></div> <!>`,1),DS=K(`<option> </option>`),OS=K(`<span> </span>`),kS=K(`<span style="color:var(--color-text-muted);font-style:italic;">Nothing to preview yet…</span>`),AS=K(`<div class="markdown-body md-card svelte-intd6h" style="min-height:160px;"><!></div>`),jS=K(`<textarea id="mem_content" class="form-textarea content-textarea svelte-intd6h" rows="8" placeholder="Write memory content in Markdown…"></textarea>`),MS=K(`<div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_type" class="field-label svelte-intd6h">Type <span class="required svelte-intd6h">*</span></label> <select id="mem_type" class="form-select"></select></div> <div class="field-group svelte-intd6h"><label for="mem_importance" class="field-label svelte-intd6h">Importance <span class="importance-badge svelte-intd6h"> </span></label> <input id="mem_importance" type="range" min="1" max="5" step="1" class="importance-slider svelte-intd6h"/> <div class="importance-ticks svelte-intd6h"></div></div></div> <div class="field-group svelte-intd6h"><label for="mem_tags" class="field-label svelte-intd6h">Tags <span class="field-hint svelte-intd6h">(comma separated)</span></label> <input id="mem_tags" class="form-input" placeholder="react, typescript, architecture…"/></div> <div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_agent" class="field-label svelte-intd6h">Agent</label> <input id="mem_agent" class="form-input" placeholder="e.g. claude-opus"/></div> <div class="field-group svelte-intd6h"><label for="mem_model" class="field-label svelte-intd6h">Model</label> <input id="mem_model" class="form-input" placeholder="e.g. claude-3-opus"/></div></div> <div class="field-group svelte-intd6h"><div class="content-label-row svelte-intd6h"><label for="mem_content" class="field-label svelte-intd6h" style="margin-bottom:0;">Content <span class="required svelte-intd6h">*</span> <span class="field-hint svelte-intd6h">(Markdown supported)</span></label> <button type="button" class="btn btn-ghost btn-sm preview-btn svelte-intd6h"><!> </button></div> <!></div>`,1),NS=K(`<span class="btn-spinner svelte-intd6h"></span>`),PS=K(`<div class="modal-footer svelte-intd6h"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-intd6h"><!> </button></div>`),FS=K(`<div class="modal-backdrop svelte-intd6h" role="button" tabindex="-1" aria-label="Close"></div> <div class="modal-panel animate-fade-in svelte-intd6h" role="dialog" aria-modal="true" tabindex="-1"><div class="modal-header svelte-intd6h"><div class="modal-header-icon svelte-intd6h"><!></div> <div style="flex:1;min-width:0;"><!></div> <div class="modal-header-actions svelte-intd6h"><!> <button class="modal-close-btn svelte-intd6h" aria-label="Close"><!></button></div></div> <div class="modal-body svelte-intd6h"><!> <!></div> <!></div>`,1);function IS(e,t){rt(t,!1);let n=()=>P(y,`$editing`,c),r=()=>P(v,`$form`,c),i=()=>P(x,`$deleting`,c),a=()=>P(S,`$error`,c),o=()=>P(C,`$previewMode`,c),s=()=>P(b,`$saving`,c),[c,l]=Dt(),u=F(),d=F(),f=Z(t,`memory`,8,null),p=Z(t,`open`,8,!1),m=Z(t,`onClose`,8,()=>{}),h=Z(t,`onSaved`,8,()=>{}),g=Z(t,`onDeleted`,8,()=>{}),_=_S({onSaved:h(),onDeleted:g(),onClose:m()}),{form:v,editing:y,saving:b,deleting:x,error:S,previewMode:C}=_;function w(e){e.key===`Escape`&&m()()}B(()=>W(f()),()=>{I(u,f()===null)}),B(()=>(H(u),n()),()=>{I(d,H(u)||n())}),B(()=>(W(p()),W(f())),()=>{p()&&_.reset(f())}),or(),Ua();var T=Ei();G(`keydown`,Mn,w);var E=R(T),D=e=>{var t=FS(),c=R(t),l=z(c,2),p=L(l),h=L(p);Q(L(h),{name:`brain`,size:14,strokeWidth:2.2}),j(h);var g=z(h,2),y=L(g),b=e=>{var t=vS(),n=R(t),i=L(n,!0);j(n);var a=z(n,2);Ta(a),V(()=>J(i,H(u)?`New Memory`:`Edit Memory`)),Fa(a,()=>r().title,e=>(kt(v,U(r).title=e,U(r)),Tr(()=>{}))),q(e,t)},x=e=>{var t=yS(),n=z(R(t),2),r=L(n,!0);j(n),V(()=>J(r,(W(f()),U(()=>f().title)))),q(e,t)};Y(y,e=>{H(d)?e(b):f()&&e(x,1)}),j(g);var S=z(g,2),C=L(S),w=e=>{var t=bS(),n=R(t);Q(L(n),{name:`edit`,size:13,strokeWidth:2}),M(),j(n);var r=z(n,2),a=L(r);Q(a,{name:`trash`,size:13,strokeWidth:2});var o=z(a);j(r),V(()=>{r.disabled=i(),J(o,` ${i()?`Deleting…`:`Delete`}`)}),G(`click`,n,function(...e){_.startEditing?.apply(this,e)}),G(`click`,r,function(...e){_.deleteMemory?.apply(this,e)}),q(e,t)};Y(C,e=>{f()&&!n()&&e(w)});var T=z(C,2);Q(L(T),{name:`x`,size:14,strokeWidth:2.5}),j(T),j(S),j(p);var E=z(p,2),D=L(E),O=e=>{var t=xS(),n=L(t);Q(n,{name:`alert-circle`,size:13,strokeWidth:2});var r=z(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(D,e=>{a()&&e(O)});var k=z(D,2),ee=e=>{var t=ES(),n=R(t),r=L(n),i=L(r,!0);j(r),j(n);var a=z(n,2);X(a,5,()=>(W(f()),W(Il),U(()=>[{label:`Importance`,val:f().importance},{label:`Hit Count`,val:f().hit_count??0},{label:`Created`,val:Il(f().created_at)},{label:`Updated`,val:Il(f().updated_at)}])),e=>e.label,(e,t)=>{var n=SS(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(a);var o=z(a,2),s=e=>{var t=wS(),n=z(L(t),2);X(n,5,()=>(W(f()),U(()=>f().tags)),e=>e,(e,t)=>{var n=CS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),j(t),q(e,t)};Y(o,e=>{W(f()),U(()=>f().tags?.length)&&e(s)});var c=z(o,2),l=z(L(c),2);Ib(L(l),{get content(){return W(f()),U(()=>f().content)}}),j(l),j(c);var u=z(c,2),d=e=>{var t=TS(),n=z(L(t),2),r=L(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(W(f()),U(()=>JSON.stringify(f().metadata,null,2)))]),q(e,t)},p=dn(()=>(W(f()),U(()=>f().metadata&&Object.keys(f().metadata).length>0)));Y(u,e=>{H(p)&&e(d)}),V(()=>{la(r,1,`type-chip type-${(W(f()),U(()=>f().type))??``}`,`svelte-intd6h`),J(i,(W(Yy),W(f()),U(()=>Yy[f().type]||f().type)))}),q(e,t)},te=e=>{var t=MS(),n=R(t),i=L(n),a=z(L(i),2);X(a,5,()=>Jy,e=>e,(e,t)=>{var n=DS(),r=L(n,!0);j(n);var i={};V(()=>{J(r,(W(Yy),H(t),U(()=>Yy[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(a),j(i);var s=z(i,2),c=L(s),l=z(L(c)),u=L(l,!0);j(l),j(c);var d=z(c,2);Ta(d);var f=z(d,2);X(f,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=OS();let i;var a=L(n,!0);j(n),V(()=>{i=la(n,1,`svelte-intd6h`,null,i,{active:r().importance>=t}),J(a,t)}),q(e,n)}),j(f),j(s),j(n);var p=z(n,2),m=z(L(p),2);Ta(m),j(p);var h=z(p,2),g=L(h),y=z(L(g),2);Ta(y),j(g);var b=z(g,2),x=z(L(b),2);Ta(x),j(b),j(h);var S=z(h,2),C=L(S),w=z(L(C),2),T=L(w);{let e=fn(()=>o()?`edit`:`eye`);Q(T,{get name(){return H(e)},size:12,strokeWidth:2})}var E=z(T);j(w),j(C);var D=z(C,2),O=e=>{var t=AS(),n=L(t),i=e=>{Ib(e,{get content(){return r(),U(()=>r().content)}})},a=dn(()=>(r(),U(()=>r().content.trim()))),o=e=>{q(e,kS())};Y(n,e=>{H(a)?e(i):e(o,-1)}),j(t),q(e,t)},k=e=>{var t=jS();Gn(t),Fa(t,()=>r().content,e=>(kt(v,U(r).content=e,U(r)),Tr(()=>{}))),q(e,t)};Y(D,e=>{o()?e(O):e(k,-1)}),j(S),V(()=>{da(l,`background:${(W(Zy),r(),U(()=>Zy[r().importance]))??``};color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(u,(r(),U(()=>r().importance))),da(d,`accent-color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(E,` ${o()?`Edit`:`Preview`}`)}),ma(a,()=>r().type,e=>(kt(v,U(r).type=e,U(r)),Tr(()=>{}))),Fa(d,()=>r().importance,e=>(kt(v,U(r).importance=e,U(r)),Tr(()=>{}))),Fa(m,()=>r().tags,e=>(kt(v,U(r).tags=e,U(r)),Tr(()=>{}))),Fa(y,()=>r().agent,e=>(kt(v,U(r).agent=e,U(r)),Tr(()=>{}))),Fa(x,()=>r().model,e=>(kt(v,U(r).model=e,U(r)),Tr(()=>{}))),G(`click`,w,function(...e){_.togglePreview?.apply(this,e)}),q(e,t)};Y(k,e=>{f()&&!n()?e(ee):e(te,-1)}),j(E);var ne=z(E,2),re=e=>{var t=PS(),n=L(t),i=z(n,2),a=L(i),o=e=>{q(e,NS())},c=e=>{Q(e,{name:`check`,size:13,strokeWidth:2})};Y(a,e=>{s()?e(o):e(c,-1)});var l=z(a);j(i),j(t),V(e=>{i.disabled=e,J(l,` ${s()?`Saving…`:H(u)?`Create Memory`:`Save Changes`}`)},[()=>(s(),r(),U(()=>s()||!r().title.trim()||!r().content.trim()))]),G(`click`,n,function(...e){_.cancelEdit?.apply(this,e)}),G(`click`,i,function(...e){_.save?.apply(this,e)}),q(e,t)};Y(ne,e=>{H(d)&&e(re)}),j(l),G(`click`,c,function(...e){m()?.apply(this,e)}),G(`keydown`,c,e=>e.key===`Escape`&&m()()),G(`click`,T,function(...e){m()?.apply(this,e)}),q(e,t)};Y(E,e=>{p()&&e(D)}),q(e,T),it(),l()}var LS=e=>e;function RS(e){let t=e-1;return t*t*t+1}function zS(e,{delay:t=0,duration:n=400,easing:r=LS}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function BS(e,{delay:t=0,duration:n=400,easing:r=RS,start:i=0,opacity:a=0}={}){let o=getComputedStyle(e),s=+o.opacity,c=o.transform===`none`?``:o.transform,l=1-i,u=s*(1-a);return{delay:t,duration:n,easing:r,css:(e,t)=>`
|
|
143
|
+
`).length>8}}}let c=xt(To,e=>{let t=[];return[...e].reverse().forEach(e=>{let n=new Date(e.created_at),r=new Date,i=new Date;i.setDate(r.getDate()-1);let a=n.toLocaleDateString(void 0,{month:`long`,day:`numeric`,year:`numeric`});n.toDateString()===r.toDateString()?a=`Today`:n.toDateString()===i.toDateString()&&(a=`Yesterday`);let o=t[t.length-1];o&&o.date===a?o.items.push(e):t.push({date:a,items:[e]})}),t});function l(e){return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function u(e){r(t=>{let n=new Set(t.expandedResponses);return n.has(e)?n.delete(e):n.add(e),{...t,expandedResponses:n}})}function d(e,t=`smooth`){e&&e.scrollTo({top:e.scrollHeight,behavior:t})}async function f(n,i){let a=N(t);if(!i||a.isLoadingMore||a.hasReachedStart)return;let o=N(To),s=N(Eo),c=N(Do);if(i.scrollTop<50&&o.length<s){r(e=>({...e,isLoadingMore:!0}));let t=i.scrollHeight;await e(c+1,!0),i&&setTimeout(()=>{i.scrollTop=i.scrollHeight-t},0);let n=N(To);r(e=>({...e,isLoadingMore:!1,hasReachedStart:n.length>=s}))}}return{subscribe:n,state:t,groupedActions:c,recentActions:To,recentActionsPage:Do,getConfig:a,getLabel:o,parseResponse:s,formatTime:l,renderMarkdown:Hl,toggleExpand:u,scrollToBottom:d,handleScroll:f}}var fb=K(`<h1> </h1>`),pb=K(`<h2> </h2>`),mb=K(`<h3> </h3>`),hb=K(`<h4> </h4>`),gb=K(`<h5> </h5>`),_b=K(`<h6> </h6>`),vb=K(`<strong> </strong>`),yb=K(`<em> </em>`),bb=K(`<code class="svelte-d5v60e"> </code>`),xb=K(`<a> </a>`),Sb=K(`<p class="svelte-d5v60e"></p>`),Cb=K(`<li></li>`),wb=K(`<ol></ol>`),Tb=K(`<li></li>`),Eb=K(`<ul></ul>`),Db=K(`<pre class="svelte-d5v60e"><code class="svelte-d5v60e"> </code></pre>`),Ob=K(`<th class="svelte-d5v60e"> </th>`),kb=K(`<td class="svelte-d5v60e"> </td>`),Ab=K(`<tr></tr>`),jb=K(`<table class="svelte-d5v60e"><thead><tr></tr></thead><tbody></tbody></table>`),Mb=K(`<br/>`),Nb=K(`<hr/>`),Pb=K(`<blockquote class="svelte-d5v60e"> </blockquote>`),Fb=K(`<div class="markdown-body svelte-d5v60e"></div>`);function Ib(e,t){rt(t,!1);let n=F(),r=Z(t,`content`,8,``);function i(e){return e.type===`link`}function a(e){return e.type===`strong`}function o(e){return e.type===`em`}function s(e){return e.type===`codespan`}function c(e){return e.type===`list`}function l(e){return e.type===`code`}function u(e){return e.type===`table`}B(()=>W(r()),()=>{I(n,Cc.lexer(r()))}),or(),Ua();var d=Fb();X(d,7,()=>H(n),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),d=e=>{var n=Ei(),r=R(n),i=e=>{var n=fb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},o=e=>{var n=mb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},s=e=>{var n=hb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},c=e=>{var n=gb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=_b(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).depth===1)?e(i):(H(t),U(()=>H(t).depth===2)?e(a,1):(H(t),U(()=>H(t).depth===3)?e(o,2):(H(t),U(()=>H(t).depth===4)?e(s,3):(H(t),U(()=>H(t).depth===5)?e(c,4):e(l,-1)))))}),q(e,n)},f=e=>{var n=Sb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),c=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},l=e=>{var n=vb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},u=dn(()=>(H(t),U(()=>a(H(t))))),d=e=>{var n=yb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},f=dn(()=>(H(t),U(()=>o(H(t))))),p=e=>{var n=bb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},m=dn(()=>(H(t),U(()=>s(H(t))))),h=e=>{var n=xb(),r=L(n,!0);j(n),V(()=>{ka(n,`href`,(H(t),U(()=>H(t).href))),ka(n,`title`,(H(t),U(()=>H(t).title))),J(r,(H(t),U(()=>H(t).text)))}),q(e,n)},g=dn(()=>(H(t),U(()=>i(H(t))))),_=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(c):H(u)?e(l,1):H(f)?e(d,2):H(m)?e(p,3):H(g)?e(h,4):e(_,-1)}),q(e,n)}),j(n),q(e,n)},p=e=>{var n=Ei(),r=R(n),i=e=>{var n=wb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`ordered-${t}`,(e,t)=>{var n=Cb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),V(()=>ka(n,`start`,(H(t),U(()=>typeof H(t).start==`number`?H(t).start:void 0)))),q(e,n)},a=e=>{var n=Eb();X(n,7,()=>(H(t),U(()=>H(t).items)),(e,t)=>`unordered-${t}`,(e,t)=>{var n=Tb();X(n,7,()=>(H(t),U(()=>H(t).tokens||[])),(e,t)=>`${e.type}-${t}`,(e,t)=>{var n=Ei(),r=R(n),i=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).text)))),q(e,n)},a=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`text`)?e(i):e(a,-1)}),q(e,n)}),j(n),q(e,n)}),j(n),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).ordered)?e(i):e(a,-1)}),q(e,n)},m=dn(()=>(H(t),U(()=>c(H(t))))),h=e=>{var n=Db(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).text)))),q(e,n)},g=dn(()=>(H(t),U(()=>l(H(t))))),_=e=>{var n=jb(),r=L(n),i=L(r);X(i,7,()=>(H(t),U(()=>H(t).header)),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=Ob(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(i),j(r);var a=z(r);X(a,7,()=>(H(t),U(()=>H(t).rows)),(e,t)=>`row-${t}`,(e,t)=>{var n=Ab();X(n,7,()=>H(t),(e,t)=>`${e.text}-${t}`,(e,t)=>{var n=kb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)}),j(n),q(e,n)}),j(a),j(n),q(e,n)},v=dn(()=>(H(t),U(()=>u(H(t))))),y=e=>{q(e,Mb())},b=e=>{q(e,Nb())},x=e=>{var n=Pb(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).text)))),q(e,n)},S=e=>{var n=Ti();V(()=>J(n,(H(t),U(()=>H(t).raw)))),q(e,n)};Y(r,e=>{H(t),U(()=>H(t).type===`heading`)?e(d):(H(t),U(()=>H(t).type===`paragraph`)?e(f,1):H(m)?e(p,2):H(g)?e(h,3):H(v)?e(_,4):(H(t),U(()=>H(t).type===`space`)?e(y,5):(H(t),U(()=>H(t).type===`hr`)?e(b,6):(H(t),U(()=>H(t).type===`blockquote`)?e(x,7):e(S,-1)))))}),q(e,n)}),j(d),q(e,d),it()}var Lb=K(`<div class="load-more-spinner svelte-h6z84x"><!> <span>Loading older history...</span></div>`),Rb=K(`<div style="text-align:center;padding:80px 20px;color:var(--color-text-muted);"><!> <div style="font-size:1rem;margin-top:16px;font-weight:600;">No activity found</div> <div style="font-size:0.875rem;opacity:0.7;">Events will appear here as they happen.</div></div>`),zb=K(`<div class="action-sub svelte-h6z84x"> </div>`),Bb=K(`<button class="read-more-btn svelte-h6z84x"> </button>`),Vb=K(`<div class="bubble-row bubble-row-left animate-slide-in-left svelte-h6z84x"><div class="chat-avatar mcp-avatar svelte-h6z84x"><!></div> <div class="bubble-wrap svelte-h6z84x"><div class="tail tail-left svelte-h6z84x"></div> <div class="chat-bubble chat-bubble-mcp svelte-h6z84x" style="--bubble-bg-light: #ffffff; --bubble-bg-dark: #202c33;"><div class="mcp-sender svelte-h6z84x">MCP Node</div> <div class="markdown-body"><!></div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span></div></div></div></div>`),Hb=K(`<div class="bubble-row bubble-row-right animate-slide-in-right svelte-h6z84x"><div class="bubble-wrap svelte-h6z84x"><div class="chat-bubble chat-bubble-action svelte-h6z84x" style="--bubble-bg-light: #dcf8c6; --bubble-bg-dark: #056162;"><div class="action-badge svelte-h6z84x"><!> <span> </span></div> <div class="action-main svelte-h6z84x"> </div> <!> <div class="bubble-meta svelte-h6z84x"><span class="bubble-time svelte-h6z84x"> </span> <span class="bubble-status svelte-h6z84x"><!></span></div></div> <div class="tail tail-right svelte-h6z84x"></div></div> <div class="chat-avatar agent-avatar svelte-h6z84x"><!></div></div> <!>`,1),Ub=K(`<div class="date-header svelte-h6z84x"><span class="svelte-h6z84x"> </span></div> <!>`,1),Wb=K(`<div class="chat-container-viewport svelte-h6z84x"><div class="chat-container svelte-h6z84x"><!> <!></div></div>`);function Gb(e,t){rt(t,!1);let n=()=>P(d,`$recentActionsPage`,o),r=()=>P(f,`$handlerState`,o),i=()=>P(u,`$recentActions`,o),a=()=>P(l,`$groupedActions`,o),[o,s]=Dt(),c=db(Z(t,`onLoadPage`,8,async()=>{})()),{groupedActions:l,recentActions:u,recentActionsPage:d}=c,f=c,p=F(void 0),m;Qa(()=>{n()<=1&&!r().isLoadingMore&&i().length>0&&c.scrollToBottom(H(p),`instant`)}),Ja(()=>(Zr().then(()=>{c.scrollToBottom(H(p),`instant`),H(p)&&(m=e=>c.handleScroll(e,H(p)),H(p).addEventListener(`scroll`,m))}),()=>{H(p)&&m&&H(p).removeEventListener(`scroll`,m)})),Ua();var h=Wb(),g=L(h),_=L(g),v=e=>{var t=Lb();Q(L(t),{name:`refresh-cw`,size:14,className:`animate-spin`}),M(2),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().isLoadingMore)&&e(v)});var y=z(_,2),b=e=>{var t=Rb();Q(L(t),{name:`activity`,size:48,strokeWidth:1}),M(4),j(t),q(e,t)},x=e=>{var t=Ei();X(R(t),1,a,e=>e.date,(e,t)=>{var n=Ub(),i=R(n),a=L(i),o=L(a,!0);j(a),j(i),X(z(i,2),1,()=>(H(t),U(()=>H(t).items)),e=>e.id,(e,t)=>{let n=fn(()=>(H(t),U(()=>c.getLabel(H(t))))),i=fn(()=>(H(t),U(()=>c.getConfig(H(t).action))));var a=Hb(),o=R(a),s=L(o),l=L(s),u=L(l),d=L(u);Q(d,{get name(){return W(H(i)),U(()=>H(i).icon)},size:10,strokeWidth:2.5});var f=z(d,2),p=L(f,!0);j(f),j(u);var m=z(u,2),h=L(m,!0);j(m);var g=z(m,2),_=e=>{var t=zb(),r=L(t,!0);j(t),V(()=>J(r,(W(H(n)),U(()=>H(n).sub)))),q(e,t)};Y(g,e=>{W(H(n)),U(()=>H(n).sub)&&e(_)});var v=z(g,2),y=L(v),b=L(y,!0);j(y);var x=z(y,2);Q(L(x),{name:`check`,size:12,strokeWidth:2}),j(x),j(v),j(l),M(2),j(s);var S=z(s,2);Q(L(S),{name:`bot`,size:14,strokeWidth:2}),j(S),j(o);var C=z(o,2),w=e=>{let n=fn(()=>(H(t),U(()=>c.parseResponse(H(t).response)))),i=fn(()=>(r(),H(t),U(()=>r().expandedResponses.has(H(t).id))));var a=Vb(),o=L(a);Q(L(o),{name:`cpu`,size:14,strokeWidth:2}),j(o);var s=z(o,2),l=z(L(s),2),u=z(L(l),2);Ib(L(u),{get content(){return W(H(n)),U(()=>H(n).text)}}),j(u);var d=z(u,2),f=e=>{var n=Bb(),r=L(n,!0);j(n),V(()=>J(r,H(i)?`Show less`:`Read more`)),G(`click`,n,()=>c.toggleExpand(H(t).id)),q(e,n)};Y(d,e=>{W(H(n)),U(()=>H(n).isLong)&&e(f)});var p=z(d,2),m=L(p),h=L(m,!0);j(m),j(p),j(l),j(s),j(a),V(e=>{da(u,`font-size:0.82rem; ${(W(H(i)),W(H(n)),U(()=>!H(i)&&H(n).isLong?`max-height: 200px; overflow: hidden; mask-image: linear-gradient(to bottom, black 70%, transparent 100%);`:``))??``}`),J(h,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)};Y(C,e=>{H(t),U(()=>H(t).response)&&e(w)}),V(e=>{da(u,`color:${(W(H(i)),U(()=>H(i).color))??``};background:${(W(H(i)),U(()=>H(i).bgAlpha))??``};`),J(p,(W(H(i)),U(()=>H(i).label))),J(h,(W(H(n)),U(()=>H(n).main))),J(b,e)},[()=>(H(t),U(()=>c.formatTime(H(t).created_at)))]),q(e,a)}),V(()=>J(o,(H(t),U(()=>H(t).date)))),q(e,n)}),q(e,t)};Y(y,e=>{i(),U(()=>i().length===0)?e(b):e(x,-1)}),j(g),j(h),Ba(h,e=>I(p,e),()=>H(p)),q(e,h),it(),s()}var Kb={from_agent:``,to_agent:``,task_code:``,summary:``,context:``},qb={name:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``,parent_id:``};function Jb(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function Yb(e){try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)&&Object.keys(t).length>0?t:null}catch{return null}}function Xb(e){return JSON.stringify(e,null,2)}function Zb(e,t){function n(e){t(e?t=>({...t,standard:e,memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{name:e.title,context:e.context,version:e.version,language:e.language||``,stack:e.stack.join(`, `),tags:e.tags.join(`, `),metadata:Xb(e.metadata),content:e.content,parent_id:e.parent_id||``},standardError:``}):e=>({...e,standard:{id:`__new__`,title:``,content:``,context:`general`,version:`1.0.0`,language:null,stack:[],tags:[],is_global:!0,repo:null,parent_id:null,metadata:{},created_at:``,updated_at:``,hit_count:0,last_used_at:null,agent:``,model:``},memory:null,task:null,handoff:null,standardEditing:!1,standardForm:{...qb},standardError:``}))}function r(){t(e=>({...e,standardEditing:!0}))}function i(){let n=N({subscribe:e});n.standard&&t(e=>({...e,standardEditing:!1,standardForm:{name:n.standard.title,context:n.standard.context,version:n.standard.version,language:n.standard.language||``,stack:n.standard.stack.join(`, `),tags:n.standard.tags.join(`, `),metadata:Xb(n.standard.metadata),content:n.standard.content,parent_id:n.standard.parent_id||``}}))}async function a(n,r,i){let a=N({subscribe:e}),o=a.standardForm,s=Yb(o.metadata);if(!(!o.name.trim()||!o.content.trim()||Jb(o.tags).length===0||!s)){t(e=>({...e,standardSaving:!0,standardError:``}));try{a.standard?(await Bo.updateStandard(a.standard.id,{title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||null,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:Jb(o.stack),tags:Jb(o.tags),metadata:s,repo:a.standard.repo||i,is_global:a.standard.is_global}),n({...a.standard,title:o.name.trim(),content:o.content.trim(),updated_at:new Date().toISOString()})):n(await Bo.createStandard({title:o.name.trim(),content:o.content.trim(),parent_id:o.parent_id.trim()||void 0,context:o.context.trim()||`general`,version:o.version.trim()||`1.0.0`,language:o.language.trim()||void 0,stack:Jb(o.stack),tags:Jb(o.tags),metadata:s,repo:i,is_global:!1})),r()}catch(e){t(t=>({...t,standardError:e instanceof Error?e.message:`Failed to save standard.`}))}finally{t(e=>({...e,standardSaving:!1}))}}}async function o(n,r){let i=N({subscribe:e});if(i.standard&&await Ho(`Delete coding standard "${i.standard.title}"?`)){t(e=>({...e,standardDeleting:!0}));try{await Bo.deleteStandard(i.standard.id),n(i.standard.id),r()}catch(e){Uo(`Error deleting standard: `+(e instanceof Error?e.message:String(e)))}finally{t(e=>({...e,standardDeleting:!1}))}}}async function s(e){await Kl(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setStandard:n,startStandardEdit:r,cancelStandardEdit:i,saveStandard:a,deleteStandard:o,handleCopyStandardContent:s}}function Qb(e,t){function n(e){t(e?t=>({...t,handoff:e,task:null,memory:null,standard:null,handoffForm:{from_agent:e.from_agent,to_agent:e.to_agent||``,task_code:e.task_code||``,summary:e.summary,context:JSON.stringify(e.context,null,2)},handoffError:``}):e=>({...e,handoff:null,handoffForm:{...Kb},handoffError:``}))}function r(e){t(t=>({...t,handoff:{id:`__new__`,repo:e,from_agent:``,to_agent:null,task_id:null,summary:``,context:{},status:`pending`,created_at:``,updated_at:``,expires_at:null},task:null,memory:null,standard:null,handoffForm:{...Kb},handoffError:``}))}function i(e){if(!e.trim())return{};let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`JSON must be an object.`);return t}async function a(n,r){let a=N({subscribe:e}).handoffForm;if(!(!a.from_agent.trim()||!a.summary.trim())){t(e=>({...e,handoffCreating:!0,handoffError:``}));try{await Bo.callTool(`handoff-create`,{repo:r,from_agent:a.from_agent.trim(),to_agent:a.to_agent.trim()||void 0,task_code:a.task_code.trim()||void 0,summary:a.summary.trim(),context:i(a.context),structured:!0}),n()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to create handoff.`}))}finally{t(e=>({...e,handoffCreating:!1}))}}}async function o(n,r){let i=N({subscribe:e});if(!(!i.handoff||i.handoff.id===`__new__`)){t(e=>({...e,handoffUpdating:!0,handoffError:``}));try{await Bo.callTool(`handoff-update`,{id:i.handoff.id,status:n,structured:!0}),r()}catch(e){t(t=>({...t,handoffError:e instanceof Error?e.message:`Failed to update handoff.`}))}finally{t(e=>({...e,handoffUpdating:!1}))}}}async function s(e){await Kl(JSON.stringify(e,null,2))&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}return{setHandoff:n,initNewHandoff:r,createHandoff:a,updateHandoffStatus:o,handleCopyHandoffContext:s}}var $b={backlog:[{next:`pending`,label:`Move to To Do`,color:`#0ea5e9`}],pending:[{next:`in_progress`,label:`Start Progress`,color:`#a855f7`}],in_progress:[{next:`completed`,label:`Mark Complete`,color:`#10b981`},{next:`blocked`,label:`Mark Blocked`,color:`#ef4444`}],blocked:[{next:`in_progress`,label:`Resume Progress`,color:`#a855f7`}],completed:[],canceled:[]};function ex(){let{subscribe:e,update:t}=bt({memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,postingComment:!1,editingCommentId:null,editCommentText:``,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}),n=Zb(e,t),r=Qb(e,t),i=xt({subscribe:e},e=>e.task?`task`:e.memory?`memory`:e.handoff?`handoff`:e.standard?`standard`:null);async function a(e){await Kl(e)&&(t(e=>({...e,contentCopied:!0})),setTimeout(()=>t(e=>({...e,contentCopied:!1})),2e3))}async function o(e){await Kl(e)&&(t(e=>({...e,descCopied:!0})),setTimeout(()=>t(e=>({...e,descCopied:!1})),2e3))}async function s(n,r,i){let a=N({subscribe:e});if(a.task)try{let e=await Bo.updateTask(a.task.id,{[n]:r});t(t=>({...t,task:e})),i(e)}catch(e){throw console.error(`Failed to update task field ${String(n)}:`,e),e}}async function c(n){let r=N({subscribe:e}).editTitle.trim();r&&(await s(`title`,r,n),t(e=>({...e,editingTitle:!1})))}async function l(n){await s(`description`,N({subscribe:e}).editDescription,n),t(e=>({...e,editingDescription:!1}))}async function u(e,t){await s(`status`,e,t)}async function d(n){let r=N({subscribe:e});if(!(!r.task||!r.newComment.trim())){t(e=>({...e,postingComment:!0}));try{let e=await Bo.updateTask(r.task.id,{comment:r.newComment.trim()});t(t=>({...t,task:e,newComment:``})),n(e)}catch(e){console.error(`Failed to post comment:`,e)}finally{t(e=>({...e,postingComment:!1}))}}}async function f(n){let r=N({subscribe:e});if(!(!r.editingCommentId||!r.editCommentText.trim())){t(e=>({...e,savingComment:!0}));try{if(await Bo.updateTaskComment(r.editingCommentId,r.editCommentText.trim()),r.task){let e=await Bo.taskById(r.task.id);e&&(t(t=>({...t,task:e})),n(e))}t(e=>({...e,editingCommentId:null,editCommentText:``}))}catch(e){console.error(`Failed to update comment:`,e)}finally{t(e=>({...e,savingComment:!1}))}}}async function p(n,r){let i=N({subscribe:e});if(await Ho(`Delete this comment?`))try{if(await Bo.deleteTaskComment(n),i.task){let e=await Bo.taskById(i.task.id);e&&(t(t=>({...t,task:e})),r(e))}}catch(e){console.error(`Failed to delete comment:`,e)}}async function m(t,n){let r=N({subscribe:e});if(r.task&&await Ho(`Are you sure you want to delete this task?`))try{await Bo.deleteTask(r.task.id),t(r.task.id),n()}catch(e){Uo(`Error deleting task: `+(e instanceof Error?e.message:String(e)))}}return{subscribe:e,mode:i,setMemory:e=>t(t=>({...t,memory:e,task:null,standard:null,handoff:null})),setTask:e=>{t(e?t=>({...t,task:e,memory:null,standard:null,handoff:null,editTitle:e.title,editDescription:e.description||``,editingTitle:!1,editingDescription:!1,newComment:``,editingCommentId:null}):e=>({...e,task:null}))},toggleEditTitle:e=>t(t=>({...t,editingTitle:e})),toggleEditDescription:e=>t(t=>({...t,editingDescription:e})),setEditTitle:e=>t(t=>({...t,editTitle:e})),setEditDescription:e=>t(t=>({...t,editDescription:e})),setNewComment:e=>t(t=>({...t,newComment:e})),startEditComment:e=>t(t=>({...t,editingCommentId:e.id,editCommentText:e.comment})),cancelEditComment:()=>t(e=>({...e,editingCommentId:null,editCommentText:``})),setEditCommentText:e=>t(t=>({...t,editCommentText:e})),handleCopyContent:a,handleCopyDesc:o,saveTitle:c,saveDescription:l,advanceStatus:u,postComment:d,saveEditComment:f,deleteComment:p,deleteTask:m,handleCommentKeydown:(e,t)=>{e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&d(t)},reset:()=>{t(e=>({...e,memory:null,task:null,standard:null,handoff:null,editingTitle:!1,editingDescription:!1,editTitle:``,editDescription:``,newComment:``,editingCommentId:null,editCommentText:``,postingComment:!1,savingComment:!1,contentCopied:!1,descCopied:!1,standardEditing:!1,standardForm:{...qb},standardSaving:!1,standardDeleting:!1,standardError:``,handoffCreating:!1,handoffUpdating:!1,handoffForm:{...Kb},handoffError:``}))},handleTitleKeydown:(e,n)=>{e.key===`Enter`&&c(n),e.key===`Escape`&&t(e=>({...e,editingTitle:!1}))},...n,...r}}var tx=K(`<div class="meta-cell svelte-118hqhr"><div class="meta-label svelte-118hqhr"> </div> <div class="meta-value svelte-118hqhr"> </div></div>`),nx=K(`<span class="tag-chip svelte-118hqhr"> </span>`),rx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-118hqhr">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),ix=K(`<div style="margin-top:16px;"><div class="section-label svelte-118hqhr">Metadata</div> <pre class="json-pre svelte-118hqhr"> </pre></div>`),ax=K(`<div class="meta-grid svelte-118hqhr" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-118hqhr" style="display:flex; justify-content:space-between; align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-118hqhr"><!></div></div> <!>`,1);function ox(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8);Ua();var o=Ei(),s=R(o),c=e=>{var t=ax(),r=R(t);X(r,5,()=>(n(),W(Il),U(()=>[{label:`Importance`,val:n().memory?.importance||0},{label:`Hit Count`,val:n().memory?.hit_count??0},{label:`Created`,val:Il(n().memory?.created_at)},{label:`Updated`,val:Il(n().memory?.updated_at)}])),e=>e.label,(e,t)=>{var n=tx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(r);var i=z(r,2),o=e=>{var t=rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().memory.tags)),e=>e,(e,t)=>{var n=nx(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(i,e=>{n(),U(()=>n().memory.tags?.length)&&e(o)});var s=z(i,2),c=L(s),l=z(L(c),2),u=L(l);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(u,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(l),j(c);var d=z(c,2),f=L(d);{let e=fn(()=>(n(),U(()=>n().memory?.content||``)));Ib(f,{get content(){return H(e)}})}j(d),j(s);var p=z(s,2),m=e=>{var t=ix(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().memory.metadata,null,2)))]),q(e,t)},h=dn(()=>(n(),U(()=>n().memory.metadata&&Object.keys(n().memory.metadata).length>0)));Y(p,e=>{H(h)&&e(m)}),G(`click`,l,()=>a().handleCopyContent(n().memory?.content||``)),q(e,t)};Y(s,e=>{n(),U(()=>n().memory)&&e(c)}),q(e,o),it(),i()}var sx=K(`<button class="btn"> </button>`),cx=K(`<div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"></div>`),lx=K(`<button class="btn btn-ghost" style="color: #ef4444;"><svg style="margin-right:4px;" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path></svg> Delete Task</button>`),ux=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct"> </div> <div class="meta-value svelte-1ewh6ct"> </div></div>`),dx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Active Claim</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> <!></div></div>`),fx=K(`<div class="meta-cell svelte-1ewh6ct"><div class="meta-label svelte-1ewh6ct">Pending Handoff</div> <div class="meta-value svelte-1ewh6ct"> </div> <div class="meta-subvalue svelte-1ewh6ct"> </div></div>`),px=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Coordination</div> <div class="meta-grid svelte-1ewh6ct"><!> <!></div></div>`),mx=K(`<button class="btn btn-ghost" style="padding:1px 6px;font-size:0.68rem;border-radius:4px;">Edit</button>`),hx=K(`<textarea class="form-textarea" rows="8" style="font-size:0.82rem;font-family:'JetBrains Mono',monospace;"></textarea> <div style="display:flex;gap:6px;margin-top:6px;"><button class="btn btn-accent" style="font-size:0.78rem;">Save</button> <button class="btn btn-ghost" style="font-size:0.78rem;">Cancel</button></div>`,1),gx=K(`<div class="markdown-body md-card svelte-1ewh6ct"><!></div>`),_x=K(`<div style="color:var(--color-text-muted);font-size:0.82rem;font-style:italic;">No description yet. Click Edit to add one.</div>`),vx=K(`<span style="font-size:0.65rem;color:var(--color-text-muted);"> </span>`),yx=K(`<button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;" title="Edit comment">✏️</button> <button class="btn btn-ghost" style="padding:1px 5px;font-size:0.65rem;color:#ef4444;" title="Delete comment">🗑</button>`,1),bx=K(`<textarea class="form-textarea" rows="3" style="font-size:0.8rem;margin-bottom:6px;"></textarea> <div style="display:flex;gap:6px;"><button class="btn btn-accent" style="font-size:0.75rem;"> </button> <button class="btn btn-ghost" style="font-size:0.75rem;">Cancel</button></div>`,1),xx=K(`<div class="markdown-body" style="font-size:0.78rem;color:var(--color-text);line-height:1.5;"><!></div>`),Sx=K(`<div class="comment-card svelte-1ewh6ct"><div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;"><div style="display:flex;align-items:center;gap:6px;"><div class="comment-avatar svelte-1ewh6ct"> </div> <span style="font-size:0.72rem;font-weight:600;color:var(--color-text);"> </span> <!></div> <div style="display:flex;align-items:center;gap:8px;"><span style="font-size:0.65rem;color:var(--color-text-muted);"> </span> <!></div></div> <!></div>`),Cx=K(`<div style="display:flex;flex-direction:column;gap:8px;margin-bottom:12px;"></div>`),wx=K(`<!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct">Status</div> <div style="display:flex; justify-content:space-between; align-items:center;"><span style="font-size:0.85rem; padding: 4px 10px;"> </span> <!></div></div> <div class="meta-grid svelte-1ewh6ct" style="margin-bottom:16px;"></div> <!> <div style="margin-bottom:16px;"><div class="section-label svelte-1ewh6ct" style="display:flex;align-items:center;gap:6px;width:100%;"><span style="flex:1;">Description</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px; height:20px; padding:0; border:none; background:transparent; margin-right:4px;"><!></button> <!></div> <!></div> <div><div class="section-label svelte-1ewh6ct"> </div> <div class="comment-compose svelte-1ewh6ct" style="margin-bottom:16px;"><textarea class="form-textarea" placeholder="Add a comment or status note…" rows="2" style="font-size:0.82rem;resize:vertical;"></textarea> <div style="display:flex;justify-content:space-between;align-items:center;margin-top:6px;"><span style="font-size:0.65rem;color:var(--color-text-muted);">Ctrl+Enter to submit</span> <button class="btn btn-accent" style="font-size:0.78rem;"> </button></div></div> <!></div>`,1);function Tx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onTaskUpdated`,8),c=Z(t,`onTaskDeleted`,8);Ua();var l=Ei(),u=R(l),d=e=>{var t=wx(),r=R(t),i=e=>{var t=cx();X(t,5,()=>(W($b),n(),U(()=>$b[n().task.status])),e=>e.next,(e,t)=>{var n=sx(),r=L(n,!0);j(n),V(()=>{da(n,`background:${(H(t),U(()=>H(t).color))??``};color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;`),J(r,(H(t),U(()=>H(t).label)))}),G(`click`,n,()=>a().advanceStatus(H(t).next,s())),q(e,n)}),j(t),q(e,t)};Y(r,e=>{W($b),n(),U(()=>$b[n().task.status]?.length)&&e(i)});var l=z(r,2),u=z(L(l),2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=e=>{var t=lx();G(`click`,t,()=>a().deleteTask(c(),o())),q(e,t)};Y(p,e=>{n(),U(()=>n().task?.status!==`completed`)&&e(m)}),j(u),j(l);var h=z(l,2);X(h,5,()=>(W(Vl),n(),W(Il),U(()=>[{label:`Priority`,val:Vl(n().task?.priority||1)},{label:`Phase`,val:n().task?.phase||`—`},{label:`Agent`,val:n().task?.agent||`—`},{label:`Updated`,val:Il(n().task?.updated_at)},{label:`Parent`,val:n().task?.parent_code||`—`},{label:`Depends On`,val:n().task?.depends_on_code||`—`}])),e=>e.label,(e,t)=>{var n=ux(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(h);var g=z(h,2),_=e=>{var t=px(),r=z(L(t),2),i=L(r),a=e=>{var t=dx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(a),s=z(o),c=e=>{var t=Ti();V(e=>J(t,`• ${e??``}`),[()=>(W(Il),n(),U(()=>Il(n().task.coordination.active_claim_claimed_at)))]),q(e,t)};Y(s,e=>{n(),U(()=>n().task.coordination.active_claim_claimed_at)&&e(c)}),j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.active_claim_agent||`claimed`))),J(o,`${(n(),U(()=>n().task.coordination.active_claim_role||`worker`))??``} `)}),q(e,t)};Y(i,e=>{n(),U(()=>(n().task.coordination.active_claim_count||0)>0)&&e(a)});var o=z(i,2),s=e=>{var t=fx(),r=z(L(t),2),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(t),V(()=>{J(i,(n(),U(()=>n().task.coordination.pending_handoff_to_agent||`unassigned`))),J(o,(n(),U(()=>n().task.coordination.pending_handoff_summary||`Transfer waiting`)))}),q(e,t)};Y(o,e=>{n(),U(()=>(n().task.coordination.pending_handoff_count||0)>0)&&e(s)}),j(r),j(t),q(e,t)};Y(g,e=>{n(),U(()=>n().task.coordination&&((n().task.coordination.active_claim_count||0)>0||(n().task.coordination.pending_handoff_count||0)>0))&&e(_)});var v=z(g,2),y=L(v),b=z(L(y),2),x=L(b);{let e=fn(()=>(n(),U(()=>n().descCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().descCopied?`text-success`:``)));Q(x,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(b);var S=z(b,2),C=e=>{var t=mx();G(`click`,t,()=>a().toggleEditDescription(!0)),q(e,t)};Y(S,e=>{n(),U(()=>!n().editingDescription)&&e(C)}),j(y);var w=z(y,2),T=e=>{var t=hx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=z(o,2);j(i),Fa(r,()=>n().editDescription,e=>kt(a(),U(n).editDescription=e,U(n))),G(`click`,o,()=>a().saveDescription(s())),G(`click`,c,()=>a().toggleEditDescription(!1)),q(e,t)},E=e=>{var t=gx(),r=L(t);{let e=fn(()=>(n(),U(()=>n().task.description||``)));Ib(r,{get content(){return H(e)}})}j(t),q(e,t)},D=e=>{q(e,_x())};Y(w,e=>{n(),U(()=>n().editingDescription)?e(T):(n(),U(()=>n().task?.description)?e(E,1):e(D,-1))}),j(v);var O=z(v,2),k=L(O),ee=L(k);j(k);var te=z(k,2),ne=L(te);Gn(ne);var re=z(ne,2),ie=z(L(re),2),A=L(ie,!0);j(ie),j(re),j(te);var ae=z(te,2),oe=e=>{var t=Cx();X(t,5,()=>(n(),U(()=>n().task.comments)),e=>e.id,(e,t)=>{var r=Sx(),i=L(r),o=L(i),c=L(o),l=L(c,!0);j(c);var u=z(c,2),d=L(u,!0);j(u);var f=z(u,2),p=e=>{var n=vx(),r=L(n);j(n),V((e,t)=>J(r,`${e??``} → ${t??``}`),[()=>(W(Bl),H(t),U(()=>Bl(H(t).previous_status))),()=>(W(Bl),H(t),U(()=>Bl(H(t).next_status)))]),q(e,n)};Y(f,e=>{H(t),U(()=>H(t).previous_status&&H(t).next_status)&&e(p)}),j(o);var m=z(o,2),h=L(m),g=L(h,!0);j(h);var _=z(h,2),v=e=>{var n=yx(),r=R(n),i=z(r,2);G(`click`,r,()=>a().startEditComment(H(t))),G(`click`,i,()=>a().deleteComment(H(t).id,s())),q(e,n)};Y(_,e=>{H(t),U(()=>H(t).id)&&e(v)}),j(m),j(i);var y=z(i,2),b=e=>{var t=bx(),r=R(t);Gn(r);var i=z(r,2),o=L(i),c=L(o,!0);j(o);var l=z(o,2);j(i),V(()=>{o.disabled=(n(),U(()=>n().savingComment)),J(c,(n(),U(()=>n().savingComment?`Saving…`:`Save`)))}),Fa(r,()=>n().editCommentText,e=>kt(a(),U(n).editCommentText=e,U(n))),G(`click`,o,()=>a().saveEditComment(s())),G(`click`,l,function(...e){a().cancelEditComment?.apply(this,e)}),q(e,t)},x=e=>{var n=xx();Ib(L(n),{get content(){return H(t),U(()=>H(t).comment)}}),j(n),q(e,n)};Y(y,e=>{n(),H(t),U(()=>n().editingCommentId===H(t).id)?e(b):e(x,-1)}),j(r),V((e,n)=>{J(l,e),J(d,(H(t),U(()=>H(t).agent||`Unknown`))),J(g,n)},[()=>(H(t),U(()=>(H(t).agent||`U`).charAt(0).toUpperCase())),()=>(W(Il),H(t),U(()=>Il(H(t).created_at)))]),q(e,r)}),j(t),q(e,t)};Y(ae,e=>{n(),U(()=>n().task?.comments?.length)&&e(oe)}),j(O),V((e,t,r)=>{la(d,1,`status-chip ${e??``}`,`svelte-1ewh6ct`),J(f,t),J(ee,`Activity (${(n(),U(()=>n().task?.comments?.length??0))??``})`),Ea(ne,(n(),U(()=>n().newComment))),ie.disabled=r,J(A,(n(),U(()=>n().postingComment?`Posting…`:`Post Comment`)))},[()=>(W(zl),n(),U(()=>zl(n().task?.status||`pending`))),()=>(W(Bl),n(),U(()=>Bl(n().task?.status||``))),()=>(n(),U(()=>n().postingComment||!n().newComment.trim()))]),G(`click`,b,()=>a().handleCopyDesc(n().task?.description||``)),G(`input`,ne,e=>a().setNewComment(e.currentTarget.value)),G(`keydown`,ne,e=>a().handleCommentKeydown(e,s())),G(`click`,ie,()=>a().postComment(s())),q(e,t)};Y(u,e=>{n(),U(()=>n().task)&&e(d)}),q(e,l),it(),i()}var Ex=K(`<div class="error-box"> </div>`),Dx=K(`<div class="section-label svelte-1arg7l8" style="margin-bottom:12px;">New Handoff</div> <!> <div class="std-form-grid svelte-1arg7l8"><label><span class="std-field-label svelte-1arg7l8">From agent *</span> <input class="form-input" placeholder="agent-a"/></label> <label><span class="std-field-label svelte-1arg7l8">To agent</span> <input class="form-input" placeholder="recipient agent (optional)"/></label> <label><span class="std-field-label svelte-1arg7l8">Task code</span> <input class="form-input" placeholder="TASK-123"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Summary *</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;" placeholder="What should the next agent know?"></textarea></label> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1arg7l8">Context JSON</span> <textarea class="form-textarea" style="min-height:80px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;"></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Ox=K(`<div class="error-box"> </div>`),kx=K(`<div class="meta-cell svelte-1arg7l8"><div class="meta-label svelte-1arg7l8"> </div> <div class="meta-value svelte-1arg7l8"> </div></div>`),Ax=K(`<div><div class="section-label svelte-1arg7l8" style="display:flex;justify-content:space-between;align-items:center;"><span>Transfer Context</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <pre class="json-pre svelte-1arg7l8"> </pre></div>`),jx=K(`<!> <div class="drawer-title svelte-1arg7l8" style="margin-bottom:14px;"> </div> <div style="margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;"><button class="btn" style="background:#10b981;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Accept</button> <button class="btn" style="background:#ef4444;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Reject</button> <button class="btn" style="background:#64748b;color:#fff;border:none;padding:6px 14px;font-size:0.78rem;font-weight:700;border-radius:8px;cursor:pointer;">Mark Expired</button></div> <div style="margin-bottom:16px;"><div class="section-label svelte-1arg7l8">Status</div> <span style="font-size:0.85rem;padding:4px 10px;display:inline-block;"> </span></div> <div class="meta-grid svelte-1arg7l8" style="margin-bottom:16px;"></div> <!>`,1);function Mx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onHandoffCreated`,8),c=Z(t,`onHandoffUpdated`,8),l=Z(t,`repo`,8);Ua();var u=Ei(),d=R(u),f=e=>{var t=Dx(),r=z(R(t),2),i=e=>{var t=Ex(),r=L(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var c=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m),j(c);var g=z(c,2),_=z(L(g),2);Gn(_),j(g);var v=z(g,2),y=z(L(v),2);Gn(y),ka(y,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(v);var b=z(v,2),x=L(b),S=L(x);Q(S,{name:`git-branch`,size:14,strokeWidth:2});var C=z(S);j(x);var w=z(x,2);j(b),V(e=>{x.disabled=e,J(C,` ${(n(),U(()=>n().handoffCreating?`Creating...`:`Create Handoff`))??``}`),w.disabled=(n(),U(()=>n().handoffCreating))},[()=>(n(),U(()=>n().handoffCreating||!n().handoffForm.from_agent.trim()||!n().handoffForm.summary.trim()))]),Fa(d,()=>n().handoffForm.from_agent,e=>kt(a(),U(n).handoffForm.from_agent=e,U(n))),Fa(p,()=>n().handoffForm.to_agent,e=>kt(a(),U(n).handoffForm.to_agent=e,U(n))),Fa(h,()=>n().handoffForm.task_code,e=>kt(a(),U(n).handoffForm.task_code=e,U(n))),Fa(_,()=>n().handoffForm.summary,e=>kt(a(),U(n).handoffForm.summary=e,U(n))),Fa(y,()=>n().handoffForm.context,e=>kt(a(),U(n).handoffForm.context=e,U(n))),G(`click`,x,()=>a().createHandoff(s(),l())),G(`click`,w,function(...e){o()?.apply(this,e)}),q(e,t)},p=e=>{var t=jx(),r=R(t),i=e=>{var t=Ox(),r=L(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().handoffError)))),q(e,t)};Y(r,e=>{n(),U(()=>n().handoffError)&&e(i)});var o=z(r,2),s=L(o,!0);j(o);var l=z(o,2),u=L(l),d=z(u,2),f=z(d,2);j(l);var p=z(l,2),m=z(L(p),2);let h;var g=L(m,!0);j(m),j(p);var _=z(p,2);X(_,5,()=>(n(),W(Il),U(()=>[{label:`From`,val:n().handoff.from_agent},{label:`To`,val:n().handoff.to_agent||`unassigned`},{label:`Task`,val:n().handoff.task_code||n().handoff.task_id||`—`},{label:`Created`,val:Il(n().handoff.created_at)},{label:`Updated`,val:Il(n().handoff.updated_at)},{label:`Expires`,val:n().handoff.expires_at?Il(n().handoff.expires_at):`—`}])),e=>e.label,(e,t)=>{var n=kx(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(_);var v=z(_,2),y=e=>{var t=Ax(),r=L(t),i=z(L(r),2),o=L(i);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(o,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(i),j(r);var s=z(r,2),c=L(s,!0);j(s),j(t),V(e=>J(c,e),[()=>(n(),U(()=>JSON.stringify(n().handoff.context,null,2)))]),G(`click`,i,()=>a().handleCopyHandoffContext(n().handoff?.context||{})),q(e,t)},b=dn(()=>(n(),U(()=>n().handoff.context&&Object.keys(n().handoff.context).length>0)));Y(v,e=>{H(b)&&e(y)}),V(e=>{J(s,(n(),U(()=>n().handoff.summary))),u.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),d.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status!==`pending`)),f.disabled=(n(),U(()=>n().handoffUpdating||n().handoff.status===`expired`||n().handoff.status===`accepted`)),h=la(m,1,`status-chip`,null,h,{"status-pending":n().handoff.status===`pending`,"status-accepted":n().handoff.status===`accepted`,"status-rejected":n().handoff.status===`rejected`,"status-expired":n().handoff.status===`expired`}),J(g,e)},[()=>(n(),U(()=>n().handoff.status.toUpperCase()))]),G(`click`,u,()=>a().updateHandoffStatus(`accepted`,c())),G(`click`,d,()=>a().updateHandoffStatus(`rejected`,c())),G(`click`,f,()=>a().updateHandoffStatus(`expired`,c())),q(e,t)};Y(d,e=>{n(),U(()=>n().handoff&&n().handoff.id===`__new__`)?e(f):(n(),U(()=>n().handoff)&&e(p,1))}),q(e,u),it(),i()}var Nx=K(`<div style="border:1px solid #fecaca;background:#fef2f2;color:#dc2626;border-radius:8px;padding:10px 12px;font-size:0.82rem;font-weight:700;margin-bottom:12px;"> </div>`),Px=K(`<div class="section-label svelte-1p5f4l" style="margin-bottom:12px;"> </div> <div class="std-form-grid svelte-1p5f4l"><label><span class="std-field-label svelte-1p5f4l">Name *</span> <input class="form-input" placeholder="Error handling standard"/></label> <label><span class="std-field-label svelte-1p5f4l">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label><span class="std-field-label svelte-1p5f4l">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label><span class="std-field-label svelte-1p5f4l">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label><span class="std-field-label svelte-1p5f4l">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label><span class="std-field-label svelte-1p5f4l">Tags *</span> <input class="form-input" placeholder="frontend, linting"/></label> <label><span class="std-field-label svelte-1p5f4l">Parent ID</span> <input class="form-input" placeholder="Optional parent UUID"/></label> <label><span class="std-field-label svelte-1p5f4l">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata (e.g., source:dashboard)"/></label></div> <label style="display:block;margin-top:12px;"><span class="std-field-label svelte-1p5f4l">Content *</span> <textarea class="form-textarea" style="min-height:120px;resize:vertical;font-family:'JetBrains Mono',monospace;font-size:0.82rem;" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <div style="display:flex;gap:8px;margin-top:12px;"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),Fx=K(`<span class="std-badge std-badge-parent svelte-1p5f4l"> </span>`),Ix=K(`<div class="meta-cell svelte-1p5f4l"><div class="meta-label svelte-1p5f4l"> </div> <div class="meta-value svelte-1p5f4l"> </div></div>`),Lx=K(`<span class="tag-chip svelte-1p5f4l"> </span>`),Rx=K(`<div style="margin-bottom:16px;"><div class="section-label svelte-1p5f4l">Tags</div> <div style="display:flex;flex-wrap:wrap;gap:6px;"></div></div>`),zx=K(`<div style="margin-top:16px;"><div class="section-label svelte-1p5f4l">Metadata</div> <pre class="json-pre svelte-1p5f4l"> </pre></div>`),Bx=K(`<div class="detail-header-row svelte-1p5f4l"><div style="flex:1;min-width:0;"><div class="drawer-title svelte-1p5f4l"> </div> <div class="std-meta-row svelte-1p5f4l" style="margin-top:6px;"><span class="std-badge std-badge-context svelte-1p5f4l"> </span> <span class="std-badge std-badge-version svelte-1p5f4l"> </span> <span> </span> <!></div></div> <div style="display:flex;align-items:center;gap:6px;flex-shrink:0;"><button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm" style="color:#ef4444;"><!> </button></div></div> <div class="meta-grid svelte-1p5f4l" style="margin-bottom:16px;"></div> <!> <div><div class="section-label svelte-1p5f4l" style="display:flex;justify-content:space-between;align-items:center;"><span>Content</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:20px;height:20px;padding:0;border:none;background:transparent;"><!></button></div> <div class="markdown-body md-card svelte-1p5f4l"><!></div></div> <!>`,1),Vx=K(`<!> <!>`,1);function Hx(e,t){rt(t,!1);let n=()=>P(a(),`$handler`,r),[r,i]=Dt(),a=Z(t,`handler`,8),o=Z(t,`onClose`,8),s=Z(t,`onStandardUpdated`,8),c=Z(t,`onStandardDeleted`,8),l=Z(t,`repo`,8);Ua();var u=Vx(),d=R(u),f=e=>{var t=Nx(),r=L(t,!0);j(t),V(()=>J(r,(n(),U(()=>n().standardError)))),q(e,t)};Y(d,e=>{n(),U(()=>n().standardError)&&e(f)});var p=z(d,2),m=e=>{var t=Px(),r=R(t),i=L(r,!0);j(r);var c=z(r,2),u=L(c),d=z(L(u),2);Ta(d),j(u);var f=z(u,2),p=z(L(f),2);Ta(p),j(f);var m=z(f,2),h=z(L(m),2);Ta(h),j(m);var g=z(m,2),_=z(L(g),2);Ta(_),j(g);var v=z(g,2),y=z(L(v),2);Ta(y),j(v);var b=z(v,2),x=z(L(b),2);Ta(x),j(b);var S=z(b,2),C=z(L(S),2);Ta(C),j(S);var w=z(S,2),T=z(L(w),2);Ta(T),j(w),j(c);var E=z(c,2),D=z(L(E),2);Gn(D),j(E);var O=z(E,2),k=L(O),ee=L(k);Q(ee,{name:`check`,size:14,strokeWidth:2});var te=z(ee);j(k);var ne=z(k,2);j(O),V(e=>{J(i,(n(),U(()=>n().standard?`Edit Standard`:`New Standard`))),k.disabled=e,J(te,` ${(n(),U(()=>n().standardSaving?`Saving...`:n().standard?`Save Changes`:`Create Standard`))??``}`),ne.disabled=(n(),U(()=>n().standardSaving))},[()=>(n(),U(()=>n().standardSaving||!n().standardForm.name.trim()||!n().standardForm.content.trim()))]),Fa(d,()=>n().standardForm.name,e=>kt(a(),U(n).standardForm.name=e,U(n))),Fa(p,()=>n().standardForm.context,e=>kt(a(),U(n).standardForm.context=e,U(n))),Fa(h,()=>n().standardForm.version,e=>kt(a(),U(n).standardForm.version=e,U(n))),Fa(_,()=>n().standardForm.language,e=>kt(a(),U(n).standardForm.language=e,U(n))),Fa(y,()=>n().standardForm.stack,e=>kt(a(),U(n).standardForm.stack=e,U(n))),Fa(x,()=>n().standardForm.tags,e=>kt(a(),U(n).standardForm.tags=e,U(n))),Fa(C,()=>n().standardForm.parent_id,e=>kt(a(),U(n).standardForm.parent_id=e,U(n))),Fa(T,()=>n().standardForm.metadata,e=>kt(a(),U(n).standardForm.metadata=e,U(n))),Fa(D,()=>n().standardForm.content,e=>kt(a(),U(n).standardForm.content=e,U(n))),G(`click`,k,()=>a().saveStandard(s(),o(),l())),G(`click`,ne,function(...e){a().cancelStandardEdit?.apply(this,e)}),q(e,t)},h=e=>{var t=Bx(),r=R(t),i=L(r),s=L(i),l=L(s,!0);j(s);var u=z(s,2),d=L(u),f=L(d,!0);j(d);var p=z(d,2),m=L(p);j(p);var h=z(p,2);let g;var _=L(h,!0);j(h);var v=z(h,2),y=e=>{var t=Fx(),r=L(t);j(t),V(()=>J(r,`child of ${(n(),U(()=>n().standard.parent_id))??``}`)),q(e,t)};Y(v,e=>{n(),U(()=>n().standard.parent_id)&&e(y)}),j(u),j(i);var b=z(i,2),x=L(b);Q(L(x),{name:`edit`,size:13,strokeWidth:2}),M(),j(x);var S=z(x,2),C=L(S);Q(C,{name:`trash`,size:13,strokeWidth:2});var w=z(C);j(S),j(b),j(r);var T=z(r,2);X(T,5,()=>(n(),W(Il),U(()=>[{label:`Language`,val:n().standard.language||`any`},{label:`Stack`,val:n().standard.stack.length?n().standard.stack.join(`, `):`—`},{label:`Created`,val:Il(n().standard.created_at)},{label:`Updated`,val:Il(n().standard.updated_at)}])),e=>e.label,(e,t)=>{var n=Ix(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(T);var E=z(T,2),D=e=>{var t=Rx(),r=z(L(t),2);X(r,5,()=>(n(),U(()=>n().standard.tags)),e=>e,(e,t)=>{var n=Lx(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(r),j(t),q(e,t)};Y(E,e=>{n(),U(()=>n().standard.tags?.length)&&e(D)});var O=z(E,2),k=L(O),ee=z(L(k),2),te=L(ee);{let e=fn(()=>(n(),U(()=>n().contentCopied?`check`:`copy`))),t=fn(()=>(n(),U(()=>n().contentCopied?`text-success`:``)));Q(te,{get name(){return H(e)},size:12,strokeWidth:2,get className(){return H(t)}})}j(ee),j(k);var ne=z(k,2),re=L(ne);{let e=fn(()=>(n(),U(()=>n().standard?.content||``)));Ib(re,{get content(){return H(e)}})}j(ne),j(O);var ie=z(O,2),A=e=>{var t=zx(),r=z(L(t),2),i=L(r,!0);j(r),j(t),V(e=>J(i,e),[()=>(n(),U(()=>JSON.stringify(n().standard.metadata,null,2)))]),q(e,t)},ae=dn(()=>(n(),U(()=>n().standard.metadata&&Object.keys(n().standard.metadata).length>0)));Y(ie,e=>{H(ae)&&e(A)}),V(()=>{J(l,(n(),U(()=>n().standard.title))),J(f,(n(),U(()=>n().standard.context))),J(m,`v${(n(),U(()=>n().standard.version))??``}`),g=la(h,1,`std-badge svelte-1p5f4l`,null,g,{"std-badge-global":n().standard.is_global,"std-badge-repo":!n().standard.is_global}),J(_,(n(),U(()=>n().standard.is_global?`Global`:`Repo`))),S.disabled=(n(),U(()=>n().standardDeleting)),J(w,` ${(n(),U(()=>n().standardDeleting?`Deleting...`:`Delete`))??``}`)}),G(`click`,x,function(...e){a().startStandardEdit?.apply(this,e)}),G(`click`,S,()=>a().deleteStandard(c(),o())),G(`click`,ee,()=>a().handleCopyStandardContent(n().standard?.content||``)),q(e,t)};Y(p,e=>{n(),U(()=>n().standardEditing)?e(m):(n(),U(()=>n().standard)&&e(h,1))}),q(e,u),it(),i()}var Ux=K(`<div><span style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-9n99wb"> </div></div>`),Wx=K(`<div style="display:flex;gap:6px;align-items:center;"><input class="form-input" style="font-size:0.95rem;font-weight:700;flex:1;"/> <button class="btn btn-accent" style="padding:4px 10px;font-size:0.75rem;">Save</button> <button class="btn btn-ghost" style="padding:4px 10px;font-size:0.75rem;">✕</button></div>`),Gx=K(`<button class="drawer-title editable-title svelte-9n99wb" title="Click to edit title" style="text-align:left;background:none;border:none;padding:0;width:100%;cursor:pointer;"> <span class="edit-hint svelte-9n99wb">✏️</span></button>`),Kx=K(`<div style="flex:1;min-width:0;"><div style="display:flex;align-items:center;gap:8px;margin-bottom:6px;"><span> </span> <span style="font-size:0.7rem;font-weight:700;color:var(--color-text-muted);"> </span></div> <!></div>`),qx=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1"><div class="drawer-header svelte-9n99wb"><!> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M18 6 6 18M6 6l12 12"></path></svg></button></div> <div class="drawer-body svelte-9n99wb"><!> <!> <!> <!></div></div>`,1);function Jx(e,t){let n=qa(t,[`children`,`$$slots`,`$$events`,`$$legacy`]);rt(t,!1);let r=()=>P(x,`$mode`,a),i=()=>P(b,`$handler`,a),[a,o]=Dt(),s=Z(t,`memory`,8,null),c=Z(t,`task`,8,null),l=Z(t,`standard`,8,null),u=Z(t,`handoff`,8,null),d=Z(t,`open`,8,!1),f=Z(t,`onClose`,8,()=>{}),p=Z(t,`onTaskUpdated`,8,()=>{}),m=Z(t,`onTaskDeleted`,8,()=>{}),h=Z(t,`onStandardUpdated`,8,()=>{}),g=Z(t,`onStandardDeleted`,8,()=>{}),_=Z(t,`onHandoffUpdated`,8,()=>{}),v=Z(t,`onHandoffCreated`,8,()=>{}),y=Z(t,`repo`,8,null),b=ex(),{mode:x}=b;function S(e){e.key===`Escape`&&f()()}B(()=>(W(d()),W(s()),W(c()),W(n),W(l()),W(u()),W(y())),()=>{d()?s()?b.setMemory(s()):c()?b.setTask(c()):`standard`in n?b.setStandard(l()):u()?b.setHandoff(u()):`handoff`in n&&b.initNewHandoff(y()||``):b.reset()}),or(),Ua();var C=Ei(),w=R(C),T=e=>{var n=qx(),a=R(n),o=z(a,2),s=L(o),c=L(s),l=e=>{var t=Ux(),n=L(t),r=L(n,!0);j(n);var a=z(n,2),o=L(a,!0);j(a),j(t),V(()=>{la(n,1,`type-chip type-${(i(),U(()=>i().memory.type))??``}`,`svelte-9n99wb`),J(r,(i(),U(()=>i().memory.type))),J(o,(i(),U(()=>i().memory.title||`Untitled Memory`)))}),q(e,t)},u=e=>{var t=Kx(),n=L(t),r=L(n),a=L(r,!0);j(r);var o=z(r,2),s=L(o,!0);j(o),j(n);var c=z(n,2),l=e=>{var t=Wx(),n=L(t);Ta(n);var r=z(n,2),a=z(r,2);j(t),Fa(n,()=>i().editTitle,e=>kt(b,U(i).editTitle=e,U(i))),G(`keydown`,n,e=>b.handleTitleKeydown(e,p())),G(`click`,r,()=>b.saveTitle(p())),G(`click`,a,()=>b.toggleEditTitle(!1)),q(e,t)},u=e=>{var t=Gx(),n=L(t);M(),j(t),V(()=>J(n,`${(i(),U(()=>i().task?.title??``))??``} `)),G(`click`,t,()=>b.toggleEditTitle(!0)),q(e,t)};Y(c,e=>{i(),U(()=>i().editingTitle)?e(l):e(u,-1)}),j(t),V((e,t)=>{la(r,1,`status-chip ${e??``}`,`svelte-9n99wb`),J(a,t),J(s,(i(),U(()=>i().task.task_code||`NEW-TASK`)))},[()=>(W(zl),i(),U(()=>zl(i().task.status||`pending`))),()=>(W(Bl),i(),U(()=>Bl(i().task.status||``)))]),q(e,t)};Y(c,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)?e(l):(r(),i(),U(()=>r()===`task`&&i().task)&&e(u,1))});var d=z(c,2);j(s);var x=z(s,2),C=L(x),w=e=>{ox(e,{get handler(){return b}})};Y(C,e=>{r(),i(),U(()=>r()===`memory`&&i().memory)&&e(w)});var T=z(C,2),E=e=>{Tx(e,{get handler(){return b},get onClose(){return f()},get onTaskUpdated(){return p()},get onTaskDeleted(){return m()}})};Y(T,e=>{r(),i(),U(()=>r()===`task`&&i().task)&&e(E)});var D=z(T,2),O=e=>{{let t=fn(()=>y()||``);Mx(e,{get handler(){return b},get onClose(){return f()},get onHandoffCreated(){return v()},get onHandoffUpdated(){return _()},get repo(){return H(t)}})}};Y(D,e=>{r()===`handoff`&&e(O)});var k=z(D,2),ee=e=>{Hx(e,{get handler(){return b},get onClose(){return f()},get onStandardUpdated(){return h()},get onStandardDeleted(){return g()},get repo(){return y()}})};Y(k,e=>{r()===`standard`&&e(ee)}),j(x),j(o),G(`click`,a,function(...e){f()?.apply(this,e)}),G(`keydown`,a,S),G(`click`,d,function(...e){f()?.apply(this,e)}),G(`click`,o,Va(function(e){Ga.call(this,t,e)})),G(`keydown`,o,S),q(e,n)};Y(w,e=>{d()&&r()&&e(T)}),q(e,C),it(),o()}function Yx(){let e=bt({item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}),{subscribe:t,update:n}=e,r=xt(e,e=>e.item?.type?e.item.type.charAt(0).toUpperCase()+e.item.type.slice(1):``);function i(t,r){N(e).item!==t&&n(e=>{let n={};return t&&t.type===`tool`&&t.data?.inputSchema?.properties?.repo&&r&&(n.repo=r),{...e,item:t,toolArgs:n,toolResult:null,toolError:null,toolRunning:!1}})}function a(e,t){n(n=>({...n,toolArgs:{...n.toolArgs,[e]:t}}))}async function o(){let t=N(e),r=t.item;if(!(!r||r.type!==`tool`)){n(e=>({...e,toolRunning:!0,toolResult:null,toolError:null}));try{let e={};if(r.data.inputSchema?.properties){for(let[n,r]of Object.entries(t.toolArgs))if(!(r===void 0||r===``))try{e[n]=JSON.parse(r)}catch{e[n]=r}}let i=await Bo.callTool(r.data.name,e);n(e=>({...e,toolResult:JSON.stringify(i,null,2)}))}catch(e){let t=e instanceof Error?e.message:String(e);n(e=>({...e,toolError:t}))}finally{n(e=>({...e,toolRunning:!1}))}}}async function s(e){await Kl(e)&&(n(e=>({...e,copied:!0})),setTimeout(()=>n(e=>({...e,copied:!1})),2e3))}function c(e,t){e.target===e.currentTarget&&t()}function l(e){e.stopPropagation()}function u(){n(e=>({...e,item:null,toolArgs:{},toolRunning:!1,toolResult:null,toolError:null,copied:!1}))}return{subscribe:t,typeLabel:r,setItem:i,setToolArg:a,runTool:o,copyToClipboardWrapper:s,handleOverlayClick:c,handlePanelClick:l,reset:u}}var Xx=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Description</div> <div class="markdown-body md-card svelte-17ad9lv"><!></div></div>`),Zx=K(`<span style="font-size: 0.6rem; color: #ef4444; font-weight: bold; background: rgba(239, 68, 68, 0.1); padding: 2px 4px; border-radius: 4px;">REQ</span>`),Qx=K(`<div style="font-size: 0.75rem; color: var(--color-text-muted); margin-bottom: 6px; line-height: 1.2;"> </div>`),$x=K(`<div style="border: 1px solid var(--color-border); border-radius: 4px; padding: 8px 10px; margin-bottom: 6px; background: rgba(0,0,0,0.01);"><div style="display:flex; justify-content:space-between; align-items:center; margin-bottom: 4px;"><span style="color: var(--color-text); font-family: monospace; font-size: 0.8rem; font-weight: 600;"> </span> <div style="display:flex; gap: 8px; align-items: center;"><span style="font-size: 0.7rem; color: var(--color-text-muted);"> </span> <!></div></div> <!> <input type="text" class="form-input" style="font-size:0.8rem; padding: 4px 8px; border-radius: 4px; min-height: 28px;"/></div>`),eS=K(`<div class="section-label svelte-17ad9lv">Playground (Input Parameters)</div> <!>`,1),tS=K(`<div class="section-label svelte-17ad9lv">Playground</div> <div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 8px;">No arguments required.</div>`,1),nS=K(`<div style="margin-top: 12px; border: 1px solid #fecaca; background: #fef2f2; color: #ef4444; padding: 12px; border-radius: 8px; font-size: 0.85rem;"><strong>Error:</strong> </div>`),rS=K(`<div style="margin-top: 12px;" class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv" style="display:flex; justify-content:space-between; align-items:center;"><span>Response</span> <button class="btn btn-ghost btn-icon" title="Copy to clipboard" style="width:24px; height:24px; padding:0; border:none; background:transparent;"><!></button></div> <div class="md-card markdown-body svelte-17ad9lv" style="padding: 1px 16px;"><!></div></div>`),iS=K(`<div class="drawer-section svelte-17ad9lv"><!> <div style="margin-top: 8px;"><button class="btn btn-accent" style="width:100%"> </button></div> <!> <!></div>`),aS=K(`<span style="font-size: 0.7rem; color: #ef4444; font-weight: bold;">REQUIRED</span>`),oS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); margin-bottom: 6px;"> </div>`),sS=K(`<div style="border: 1px solid var(--color-border); border-radius: 8px; padding: 12px; margin-bottom: 8px; background: rgba(0,0,0,0.02);"><div style="display:flex; justify-content:space-between; align-items:flex-start; margin-bottom: 4px;"><strong style="color: var(--color-text); font-family: monospace;"> </strong> <!></div> <!></div>`),cS=K(`<div style="font-size: 0.85rem; color: var(--color-text-muted); font-style: italic;">No arguments.</div>`),lS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Arguments</div> <!> <!></div>`),uS=K(`<div class="md-card svelte-17ad9lv" style="margin-bottom: 8px;"><div style="font-size: 0.7rem; font-weight: bold; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 8px;"> </div> <div class="markdown-body"><!></div></div>`),dS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Template</div> <!></div>`),fS=K(`<div style="font-size: 0.85rem; margin-bottom: 8px;"><span style="color: var(--color-text-muted);">URI:</span> <code style="font-size: 0.8rem; background: var(--color-bg); padding: 2px 4px; border-radius: 4px; border: 1px solid var(--color-border);"> </code></div>`),pS=K(`<div style="font-size: 0.85rem;"><span style="color: var(--color-text-muted);">MIME Type:</span> <span> </span></div>`),mS=K(`<div class="drawer-section svelte-17ad9lv"><div class="section-label svelte-17ad9lv">Details</div> <!> <!></div>`),hS=K(`<div class="drawer-overlay" role="button" tabindex="0" aria-label="Close drawer" style="z-index: 100;"></div> <div class="drawer-panel animate-fade-in" role="dialog" aria-modal="true" tabindex="-1" style="z-index: 101;"><div class="drawer-header svelte-17ad9lv"><div style="flex:1; min-width:0; padding-right:16px;"><span class="type-chip svelte-17ad9lv" style="margin-bottom:8px;display:inline-flex;"> </span> <div class="drawer-title svelte-17ad9lv"> </div></div> <button class="btn btn-ghost btn-icon" aria-label="Close" style="flex-shrink:0;"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M18 6 6 18M6 6l12 12"></path></svg></button></div> <div class="drawer-body svelte-17ad9lv"><!> <!> <!> <!> <!></div></div>`,1);function gS(e,t){rt(t,!1);let n=()=>P(io,`$currentRepo`,a),r=()=>P(u,`$handler`,a),i=()=>P(d,`$typeLabel`,a),[a,o]=Dt(),s=Z(t,`item`,8,null),c=Z(t,`open`,8,!1),l=Z(t,`onClose`,8,()=>{}),u=Yx(),d=u.typeLabel;function f(e){e.key===`Escape`&&l()()}B(()=>(W(c()),W(s()),n()),()=>{c()?u.setItem(s(),n()):u.reset()}),or(),Ua();var p=Ei(),m=R(p),h=e=>{var t=hS(),n=R(t),a=z(n,2),o=L(a),s=L(o),c=L(s),d=L(c,!0);j(c);var p=z(c,2),m=L(p,!0);j(p),j(s);var h=z(s,2);j(o);var g=z(o,2),_=L(g),v=e=>{var t=Xx(),n=z(L(t),2);Ib(L(n),{get content(){return r(),U(()=>r().item.data.description)}}),j(n),j(t),q(e,t)};Y(_,e=>{r(),U(()=>r().item.data.description)&&e(v)});var y=z(_,2),b=e=>{var t=iS(),n=L(t),i=e=>{var t=eS();X(z(R(t),2),1,()=>(r(),U(()=>Object.entries(r().item.data.inputSchema.properties))),([e,t])=>e,(e,t)=>{var n=dn(()=>T(H(t),2));let i=()=>H(n)[0],a=()=>H(n)[1];var o=$x(),s=L(o),c=L(s),l=L(c,!0);j(c);var d=z(c,2),f=L(d),p=L(f,!0);j(f);var m=z(f,2),h=e=>{q(e,Zx())},g=dn(()=>(r(),i(),U(()=>r().item.data.inputSchema.required?.includes(i()))));Y(m,e=>{H(g)&&e(h)}),j(d),j(s);var _=z(s,2),v=e=>{var t=Qx(),n=L(t,!0);j(t),V(()=>J(n,(a(),U(()=>a().description)))),q(e,t)};Y(_,e=>{a(),U(()=>a().description)&&e(v)});var y=z(_,2);Ta(y),j(o),V(()=>{J(l,i()),J(p,(a(),U(()=>a().type))),ka(y,`placeholder`,`Value for ${i()}`),Ea(y,(r(),i(),U(()=>r().toolArgs[i()]||``)))}),G(`input`,y,e=>u.setToolArg(i(),e.currentTarget.value)),q(e,o)}),q(e,t)},a=dn(()=>(r(),U(()=>r().item.data.inputSchema?.properties&&Object.keys(r().item.data.inputSchema.properties).length>0))),o=e=>{var t=tS();M(2),q(e,t)};Y(n,e=>{H(a)?e(i):e(o,-1)});var s=z(n,2),c=L(s),l=L(c,!0);j(c),j(s);var d=z(s,2),f=e=>{var t=nS(),n=z(L(t));j(t),V(()=>J(n,` ${(r(),U(()=>r().toolError))??``}`)),q(e,t)};Y(d,e=>{r(),U(()=>r().toolError)&&e(f)});var p=z(d,2),m=e=>{var t=rS(),n=L(t),i=z(L(n),2),a=L(i);{let e=fn(()=>(r(),U(()=>r().copied?`check`:`copy`))),t=fn(()=>(r(),U(()=>r().copied?`text-success`:``)));Q(a,{get name(){return H(e)},size:14,strokeWidth:2,get className(){return H(t)}})}j(i),j(n);var o=z(n,2),s=L(o);{let e=fn(()=>(r(),U(()=>"```json\n"+r().toolResult+"\n```")));Ib(s,{get content(){return H(e)}})}j(o),j(t),G(`click`,i,()=>u.copyToClipboardWrapper(r().toolResult||``)),q(e,t)};Y(p,e=>{r(),U(()=>r().toolResult)&&e(m)}),j(t),V(()=>{c.disabled=(r(),U(()=>r().toolRunning)),J(l,(r(),U(()=>r().toolRunning?`Running...`:`Submit`)))}),G(`click`,c,()=>u.runTool()),q(e,t)};Y(y,e=>{r(),U(()=>r().item.type===`tool`)&&e(b)});var x=z(y,2),S=e=>{var t=lS(),n=z(L(t),2);X(n,1,()=>(r(),U(()=>r().item.data.arguments)),e=>e.name,(e,t)=>{var n=sS(),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),s=e=>{q(e,aS())};Y(o,e=>{H(t),U(()=>H(t).required)&&e(s)}),j(r);var c=z(r,2),l=e=>{var n=oS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).description)))),q(e,n)};Y(c,e=>{H(t),U(()=>H(t).description)&&e(l)}),j(n),V(()=>J(a,(H(t),U(()=>H(t).name)))),q(e,n)});var i=z(n,2),a=e=>{q(e,cS())};Y(i,e=>{r(),U(()=>r().item.data.arguments.length===0)&&e(a)}),j(t),q(e,t)};Y(x,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.arguments)&&e(S)});var C=z(x,2),w=e=>{var t=dS();X(z(L(t),2),3,()=>(r(),U(()=>r().item.data.messages)),(e,t)=>`${e.role}-${t}`,(e,t)=>{var n=uS(),r=L(n),i=L(r);j(r);var a=z(r,2),o=L(a);{let e=fn(()=>(H(t),U(()=>typeof H(t).content==`string`?H(t).content:H(t).content.text)));Ib(o,{get content(){return H(e)}})}j(a),j(n),V(()=>J(i,`Role: ${(H(t),U(()=>H(t).role))??``}`)),q(e,n)}),j(t),q(e,t)};Y(C,e=>{r(),U(()=>r().item.type===`prompt`&&r().item.data.messages&&r().item.data.messages.length>0)&&e(w)});var E=z(C,2),D=e=>{var t=mS(),n=z(L(t),2),i=e=>{var t=fS(),n=z(L(t),2),i=L(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.uri)))),q(e,t)};Y(n,e=>{r(),U(()=>r().item?.data?.uri)&&e(i)});var a=z(n,2),o=e=>{var t=pS(),n=z(L(t),2),i=L(n,!0);j(n),j(t),V(()=>J(i,(r(),U(()=>r().item.data.mimeType)))),q(e,t)};Y(a,e=>{r(),U(()=>r().item.data.mimeType)&&e(o)}),j(t),q(e,t)};Y(E,e=>{r(),U(()=>r().item.type===`resource`)&&e(D)}),j(g),j(a),V(()=>{J(d,i()),J(m,(r(),U(()=>r().item.data.name)))}),G(`click`,n,e=>u.handleOverlayClick(e,l())),G(`keydown`,n,f),G(`click`,h,function(...e){l()?.apply(this,e)}),G(`click`,a,function(...e){u.handlePanelClick?.apply(this,e)}),G(`keydown`,a,f),q(e,t)};Y(m,e=>{W(c()),r(),U(()=>c()&&r().item)&&e(h)}),q(e,p),it(),o()}function _S(e){let t=bt({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n=bt(!1),r=bt(!1),i=bt(!1),a=bt(``),o=bt(!1),s=null;function c(e){s=e,e?(t.set({title:e.title,type:e.type,content:e.content,importance:e.importance,tags:(e.tags||[]).join(`, `),agent:e.agent||``,model:e.model||``}),n.set(!1)):(t.set({title:``,type:`code_fact`,content:``,importance:3,tags:``,agent:``,model:``}),n.set(!0)),o.set(!1),a.set(``),r.set(!1),i.set(!1)}function l(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}async function u(){let n=N(t);if(!n.title.trim()||!n.content.trim()){a.set(`Title and Content are required.`);return}r.set(!0),a.set(``);try{let t=N(io),r={title:n.title.trim(),type:n.type,content:n.content.trim(),importance:Number(n.importance),tags:l(n.tags),agent:n.agent.trim()||void 0,model:n.model.trim()||void 0,repo:t,scope:{repo:t||``}},i;if(s)await Bo.updateMemory(s.id,r),i={...s,...r,updated_at:new Date().toISOString()};else{let e=await Bo.createMemory(r);i={...r,id:e.id,hit_count:0,recall_count:0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}}e.onSaved(i),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to save memory.`)}finally{r.set(!1)}}async function d(){if(s&&await Ho(`Permanently delete this memory? This cannot be undone.`)){i.set(!0),a.set(``);try{await Bo.deleteMemory(s.id),e.onDeleted(s.id),e.onClose()}catch(e){a.set(e instanceof Error?e.message:`Failed to delete memory.`)}finally{i.set(!1)}}}return{form:t,editing:n,saving:r,deleting:i,error:a,previewMode:o,reset:c,save:u,deleteMemory:d,startEditing:()=>{n.set(!0),o.set(!1)},cancelEdit:()=>{s?(c(s),n.set(!1)):e.onClose()},togglePreview:()=>o.update(e=>!e)}}var vS=K(`<div class="modal-mode-label svelte-intd6h"> </div> <input class="form-input modal-title-input svelte-intd6h" placeholder="Memory title…"/>`,1),yS=K(`<div class="modal-mode-label svelte-intd6h">View Memory</div> <div class="modal-title-text svelte-intd6h"> </div>`,1),bS=K(`<button class="btn btn-ghost btn-sm" title="Edit memory"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-btn svelte-intd6h" title="Delete memory"><!> </button>`,1),xS=K(`<div class="mem-error svelte-intd6h"><!> </div>`),SS=K(`<div class="meta-cell svelte-intd6h"><div class="meta-label svelte-intd6h"> </div> <div class="meta-value svelte-intd6h"> </div></div>`),CS=K(`<span class="tag-chip svelte-intd6h"> </span>`),wS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Tags</div> <div class="tags-row svelte-intd6h"></div></div>`),TS=K(`<div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Metadata</div> <pre class="json-pre svelte-intd6h"> </pre></div>`),ES=K(`<div style="margin-bottom:14px;"><span> </span></div> <div class="meta-grid svelte-intd6h"></div> <!> <div class="section-block svelte-intd6h"><div class="field-label svelte-intd6h">Content</div> <div class="markdown-body md-card svelte-intd6h"><!></div></div> <!>`,1),DS=K(`<option> </option>`),OS=K(`<span> </span>`),kS=K(`<span style="color:var(--color-text-muted);font-style:italic;">Nothing to preview yet…</span>`),AS=K(`<div class="markdown-body md-card svelte-intd6h" style="min-height:160px;"><!></div>`),jS=K(`<textarea id="mem_content" class="form-textarea content-textarea svelte-intd6h" rows="8" placeholder="Write memory content in Markdown…"></textarea>`),MS=K(`<div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_type" class="field-label svelte-intd6h">Type <span class="required svelte-intd6h">*</span></label> <select id="mem_type" class="form-select"></select></div> <div class="field-group svelte-intd6h"><label for="mem_importance" class="field-label svelte-intd6h">Importance <span class="importance-badge svelte-intd6h"> </span></label> <input id="mem_importance" type="range" min="1" max="5" step="1" class="importance-slider svelte-intd6h"/> <div class="importance-ticks svelte-intd6h"></div></div></div> <div class="field-group svelte-intd6h"><label for="mem_tags" class="field-label svelte-intd6h">Tags <span class="field-hint svelte-intd6h">(comma separated)</span></label> <input id="mem_tags" class="form-input" placeholder="react, typescript, architecture…"/></div> <div class="field-grid-2 svelte-intd6h"><div class="field-group svelte-intd6h"><label for="mem_agent" class="field-label svelte-intd6h">Agent</label> <input id="mem_agent" class="form-input" placeholder="e.g. claude-opus"/></div> <div class="field-group svelte-intd6h"><label for="mem_model" class="field-label svelte-intd6h">Model</label> <input id="mem_model" class="form-input" placeholder="e.g. claude-3-opus"/></div></div> <div class="field-group svelte-intd6h"><div class="content-label-row svelte-intd6h"><label for="mem_content" class="field-label svelte-intd6h" style="margin-bottom:0;">Content <span class="required svelte-intd6h">*</span> <span class="field-hint svelte-intd6h">(Markdown supported)</span></label> <button type="button" class="btn btn-ghost btn-sm preview-btn svelte-intd6h"><!> </button></div> <!></div>`,1),NS=K(`<span class="btn-spinner svelte-intd6h"></span>`),PS=K(`<div class="modal-footer svelte-intd6h"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-intd6h"><!> </button></div>`),FS=K(`<div class="modal-backdrop svelte-intd6h" role="button" tabindex="-1" aria-label="Close"></div> <div class="modal-panel animate-fade-in svelte-intd6h" role="dialog" aria-modal="true" tabindex="-1"><div class="modal-header svelte-intd6h"><div class="modal-header-icon svelte-intd6h"><!></div> <div style="flex:1;min-width:0;"><!></div> <div class="modal-header-actions svelte-intd6h"><!> <button class="modal-close-btn svelte-intd6h" aria-label="Close"><!></button></div></div> <div class="modal-body svelte-intd6h"><!> <!></div> <!></div>`,1);function IS(e,t){rt(t,!1);let n=()=>P(y,`$editing`,c),r=()=>P(v,`$form`,c),i=()=>P(x,`$deleting`,c),a=()=>P(S,`$error`,c),o=()=>P(C,`$previewMode`,c),s=()=>P(b,`$saving`,c),[c,l]=Dt(),u=F(),d=F(),f=Z(t,`memory`,8,null),p=Z(t,`open`,8,!1),m=Z(t,`onClose`,8,()=>{}),h=Z(t,`onSaved`,8,()=>{}),g=Z(t,`onDeleted`,8,()=>{}),_=_S({onSaved:h(),onDeleted:g(),onClose:m()}),{form:v,editing:y,saving:b,deleting:x,error:S,previewMode:C}=_;function w(e){e.key===`Escape`&&m()()}B(()=>W(f()),()=>{I(u,f()===null)}),B(()=>(H(u),n()),()=>{I(d,H(u)||n())}),B(()=>(W(p()),W(f())),()=>{p()&&_.reset(f())}),or(),Ua();var T=Ei();G(`keydown`,Mn,w);var E=R(T),D=e=>{var t=FS(),c=R(t),l=z(c,2),p=L(l),h=L(p);Q(L(h),{name:`brain`,size:14,strokeWidth:2.2}),j(h);var g=z(h,2),y=L(g),b=e=>{var t=vS(),n=R(t),i=L(n,!0);j(n);var a=z(n,2);Ta(a),V(()=>J(i,H(u)?`New Memory`:`Edit Memory`)),Fa(a,()=>r().title,e=>(kt(v,U(r).title=e,U(r)),Tr(()=>{}))),q(e,t)},x=e=>{var t=yS(),n=z(R(t),2),r=L(n,!0);j(n),V(()=>J(r,(W(f()),U(()=>f().title)))),q(e,t)};Y(y,e=>{H(d)?e(b):f()&&e(x,1)}),j(g);var S=z(g,2),C=L(S),w=e=>{var t=bS(),n=R(t);Q(L(n),{name:`edit`,size:13,strokeWidth:2}),M(),j(n);var r=z(n,2),a=L(r);Q(a,{name:`trash`,size:13,strokeWidth:2});var o=z(a);j(r),V(()=>{r.disabled=i(),J(o,` ${i()?`Deleting…`:`Delete`}`)}),G(`click`,n,function(...e){_.startEditing?.apply(this,e)}),G(`click`,r,function(...e){_.deleteMemory?.apply(this,e)}),q(e,t)};Y(C,e=>{f()&&!n()&&e(w)});var T=z(C,2);Q(L(T),{name:`x`,size:14,strokeWidth:2.5}),j(T),j(S),j(p);var E=z(p,2),D=L(E),O=e=>{var t=xS(),n=L(t);Q(n,{name:`alert-circle`,size:13,strokeWidth:2});var r=z(n);j(t),V(()=>J(r,` ${a()??``}`)),q(e,t)};Y(D,e=>{a()&&e(O)});var k=z(D,2),ee=e=>{var t=ES(),n=R(t),r=L(n),i=L(r,!0);j(r),j(n);var a=z(n,2);X(a,5,()=>(W(f()),W(Il),U(()=>[{label:`Importance`,val:f().importance},{label:`Hit Count`,val:f().hit_count??0},{label:`Created`,val:Il(f().created_at)},{label:`Updated`,val:Il(f().updated_at)}])),e=>e.label,(e,t)=>{var n=SS(),r=L(n),i=L(r,!0);j(r);var a=z(r,2),o=L(a,!0);j(a),j(n),V(()=>{J(i,(H(t),U(()=>H(t).label))),J(o,(H(t),U(()=>H(t).val)))}),q(e,n)}),j(a);var o=z(a,2),s=e=>{var t=wS(),n=z(L(t),2);X(n,5,()=>(W(f()),U(()=>f().tags)),e=>e,(e,t)=>{var n=CS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),j(t),q(e,t)};Y(o,e=>{W(f()),U(()=>f().tags?.length)&&e(s)});var c=z(o,2),l=z(L(c),2);Ib(L(l),{get content(){return W(f()),U(()=>f().content)}}),j(l),j(c);var u=z(c,2),d=e=>{var t=TS(),n=z(L(t),2),r=L(n,!0);j(n),j(t),V(e=>J(r,e),[()=>(W(f()),U(()=>JSON.stringify(f().metadata,null,2)))]),q(e,t)},p=dn(()=>(W(f()),U(()=>f().metadata&&Object.keys(f().metadata).length>0)));Y(u,e=>{H(p)&&e(d)}),V(()=>{la(r,1,`type-chip type-${(W(f()),U(()=>f().type))??``}`,`svelte-intd6h`),J(i,(W(Yy),W(f()),U(()=>Yy[f().type]||f().type)))}),q(e,t)},te=e=>{var t=MS(),n=R(t),i=L(n),a=z(L(i),2);X(a,5,()=>Jy,e=>e,(e,t)=>{var n=DS(),r=L(n,!0);j(n);var i={};V(()=>{J(r,(W(Yy),H(t),U(()=>Yy[H(t)]))),i!==(i=H(t))&&(n.value=(n.__value=H(t))??``)}),q(e,n)}),j(a),j(i);var s=z(i,2),c=L(s),l=z(L(c)),u=L(l,!0);j(l),j(c);var d=z(c,2);Ta(d);var f=z(d,2);X(f,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=OS();let i;var a=L(n,!0);j(n),V(()=>{i=la(n,1,`svelte-intd6h`,null,i,{active:r().importance>=t}),J(a,t)}),q(e,n)}),j(f),j(s),j(n);var p=z(n,2),m=z(L(p),2);Ta(m),j(p);var h=z(p,2),g=L(h),y=z(L(g),2);Ta(y),j(g);var b=z(g,2),x=z(L(b),2);Ta(x),j(b),j(h);var S=z(h,2),C=L(S),w=z(L(C),2),T=L(w);{let e=fn(()=>o()?`edit`:`eye`);Q(T,{get name(){return H(e)},size:12,strokeWidth:2})}var E=z(T);j(w),j(C);var D=z(C,2),O=e=>{var t=AS(),n=L(t),i=e=>{Ib(e,{get content(){return r(),U(()=>r().content)}})},a=dn(()=>(r(),U(()=>r().content.trim()))),o=e=>{q(e,kS())};Y(n,e=>{H(a)?e(i):e(o,-1)}),j(t),q(e,t)},k=e=>{var t=jS();Gn(t),Fa(t,()=>r().content,e=>(kt(v,U(r).content=e,U(r)),Tr(()=>{}))),q(e,t)};Y(D,e=>{o()?e(O):e(k,-1)}),j(S),V(()=>{da(l,`background:${(W(Zy),r(),U(()=>Zy[r().importance]))??``};color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(u,(r(),U(()=>r().importance))),da(d,`accent-color:${(W(Xy),r(),U(()=>Xy[r().importance]))??``};`),J(E,` ${o()?`Edit`:`Preview`}`)}),ma(a,()=>r().type,e=>(kt(v,U(r).type=e,U(r)),Tr(()=>{}))),Fa(d,()=>r().importance,e=>(kt(v,U(r).importance=e,U(r)),Tr(()=>{}))),Fa(m,()=>r().tags,e=>(kt(v,U(r).tags=e,U(r)),Tr(()=>{}))),Fa(y,()=>r().agent,e=>(kt(v,U(r).agent=e,U(r)),Tr(()=>{}))),Fa(x,()=>r().model,e=>(kt(v,U(r).model=e,U(r)),Tr(()=>{}))),G(`click`,w,function(...e){_.togglePreview?.apply(this,e)}),q(e,t)};Y(k,e=>{f()&&!n()?e(ee):e(te,-1)}),j(E);var ne=z(E,2),re=e=>{var t=PS(),n=L(t),i=z(n,2),a=L(i),o=e=>{q(e,NS())},c=e=>{Q(e,{name:`check`,size:13,strokeWidth:2})};Y(a,e=>{s()?e(o):e(c,-1)});var l=z(a);j(i),j(t),V(e=>{i.disabled=e,J(l,` ${s()?`Saving…`:H(u)?`Create Memory`:`Save Changes`}`)},[()=>(s(),r(),U(()=>s()||!r().title.trim()||!r().content.trim()))]),G(`click`,n,function(...e){_.cancelEdit?.apply(this,e)}),G(`click`,i,function(...e){_.save?.apply(this,e)}),q(e,t)};Y(ne,e=>{H(d)&&e(re)}),j(l),G(`click`,c,function(...e){m()?.apply(this,e)}),G(`keydown`,c,e=>e.key===`Escape`&&m()()),G(`click`,T,function(...e){m()?.apply(this,e)}),q(e,t)};Y(E,e=>{p()&&e(D)}),q(e,T),it(),l()}var LS=e=>e;function RS(e){let t=e-1;return t*t*t+1}function zS(e,{delay:t=0,duration:n=400,easing:r=LS}={}){let i=+getComputedStyle(e).opacity;return{delay:t,duration:n,easing:r,css:e=>`opacity: ${e*i}`}}function BS(e,{delay:t=0,duration:n=400,easing:r=RS,start:i=0,opacity:a=0}={}){let o=getComputedStyle(e),s=+o.opacity,c=o.transform===`none`?``:o.transform,l=1-i,u=s*(1-a);return{delay:t,duration:n,easing:r,css:(e,t)=>`
|
|
144
144
|
transform: ${c} scale(${1-l*t});
|
|
145
145
|
opacity: ${s-u*t}
|
|
146
146
|
`}}var VS={memories:`title,type,content,importance
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
10
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-BA3gfiDm.js"></script>
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/assets/index-wAYh22Zy.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
toContextSlug,
|
|
64
64
|
updateSessionFromInitialize,
|
|
65
65
|
updateSessionRoots
|
|
66
|
-
} from "../chunk-
|
|
66
|
+
} from "../chunk-4RFYQ345.js";
|
|
67
67
|
|
|
68
68
|
// src/mcp/server.ts
|
|
69
69
|
import readline from "readline";
|
|
@@ -230,10 +230,10 @@ function hasMetadataLikeTitle(title) {
|
|
|
230
230
|
const normalized = title.trim();
|
|
231
231
|
return /^\[[^\]]{0,200}(agent:|role:|model:|\d{4}-\d{2}-\d{2}|source_)[^\]]*\]/i.test(normalized);
|
|
232
232
|
}
|
|
233
|
-
function resolveMemorySupersedes(value, db2) {
|
|
233
|
+
function resolveMemorySupersedes(value, db2, owner, repo) {
|
|
234
234
|
if (!value) return null;
|
|
235
235
|
if (UUID_REGEX.test(value)) return value;
|
|
236
|
-
const memory = db2.memories.getByCode(value);
|
|
236
|
+
const memory = db2.memories.getByCode(value, owner, repo);
|
|
237
237
|
if (!memory) throw new Error(`supersedes: memory with code '${value}' not found`);
|
|
238
238
|
return memory.id;
|
|
239
239
|
}
|
|
@@ -246,7 +246,7 @@ async function storeSingleMemory(params, db2, vectors2) {
|
|
|
246
246
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
247
247
|
const createdAtTime = new Date(now).getTime();
|
|
248
248
|
const expires_at = params.ttlDays != null ? new Date(createdAtTime + params.ttlDays * 864e5).toISOString() : null;
|
|
249
|
-
const resolvedSupersedes = resolveMemorySupersedes(params.supersedes, db2);
|
|
249
|
+
const resolvedSupersedes = resolveMemorySupersedes(params.supersedes, db2, params.scope.owner, params.scope.repo);
|
|
250
250
|
if (!resolvedSupersedes && params.type !== "task_archive") {
|
|
251
251
|
const conflict = await db2.memoryVectors.checkConflicts(
|
|
252
252
|
params.content,
|
|
@@ -341,7 +341,7 @@ async function handleMemoryStore(params, db2, vectors2) {
|
|
|
341
341
|
}
|
|
342
342
|
const createdAtTime = new Date(now).getTime();
|
|
343
343
|
const expires_at = mem.ttlDays != null ? new Date(createdAtTime + mem.ttlDays * 864e5).toISOString() : null;
|
|
344
|
-
const resolvedSupersedes = resolveMemorySupersedes(mem.supersedes, db2);
|
|
344
|
+
const resolvedSupersedes = resolveMemorySupersedes(mem.supersedes, db2, mem.scope.owner, mem.scope.repo);
|
|
345
345
|
if (!resolvedSupersedes && mem.type !== "task_archive") {
|
|
346
346
|
const conflict = await db2.memoryVectors.checkConflicts(
|
|
347
347
|
mem.content,
|
|
@@ -451,10 +451,10 @@ function hasMetadataLikeTitle2(title) {
|
|
|
451
451
|
const normalized = title.trim();
|
|
452
452
|
return /^\[[^\]]{0,200}(agent:|role:|model:|\d{4}-\d{2}-\d{2}|source_)[^\]]*\]/i.test(normalized);
|
|
453
453
|
}
|
|
454
|
-
function resolveMemorySupersedes2(value, db2) {
|
|
454
|
+
function resolveMemorySupersedes2(value, db2, owner, repo) {
|
|
455
455
|
if (!value) return null;
|
|
456
456
|
if (UUID_REGEX2.test(value)) return value;
|
|
457
|
-
const memory = db2.memories.getByCode(value);
|
|
457
|
+
const memory = db2.memories.getByCode(value, owner, repo);
|
|
458
458
|
if (!memory) throw new Error(`supersedes: memory with code '${value}' not found`);
|
|
459
459
|
return memory.id;
|
|
460
460
|
}
|
|
@@ -462,7 +462,7 @@ async function handleMemoryUpdate(params, db2, vectors2) {
|
|
|
462
462
|
const validated = MemoryUpdateSchema.parse(params);
|
|
463
463
|
let resolvedId = validated.id;
|
|
464
464
|
if (!resolvedId && validated.code) {
|
|
465
|
-
const byCode = db2.memories.getByCode(validated.code);
|
|
465
|
+
const byCode = db2.memories.getByCode(validated.code, validated.owner, validated.repo);
|
|
466
466
|
if (!byCode) throw new Error(`Memory not found: ${validated.code}`);
|
|
467
467
|
resolvedId = byCode.id;
|
|
468
468
|
} else if (!resolvedId) {
|
|
@@ -491,7 +491,8 @@ async function handleMemoryUpdate(params, db2, vectors2) {
|
|
|
491
491
|
if (validated.agent !== void 0) updates.agent = validated.agent;
|
|
492
492
|
if (validated.role !== void 0) updates.role = validated.role;
|
|
493
493
|
if (validated.status !== void 0) updates.status = validated.status;
|
|
494
|
-
if (validated.supersedes !== void 0)
|
|
494
|
+
if (validated.supersedes !== void 0)
|
|
495
|
+
updates.supersedes = resolveMemorySupersedes2(validated.supersedes, db2, existing.scope.owner, existing.scope.repo);
|
|
495
496
|
if (validated.tags !== void 0) updates.tags = validated.tags;
|
|
496
497
|
if (validated.metadata !== void 0) updates.metadata = validated.metadata;
|
|
497
498
|
if (validated.is_global !== void 0) updates.is_global = validated.is_global;
|
|
@@ -1676,18 +1677,18 @@ async function executeSamplingTool(toolName, rawInput, db2, vectors2, owner) {
|
|
|
1676
1677
|
// src/mcp/tools/memory.delete.ts
|
|
1677
1678
|
async function handleMemoryDelete(params, db2, vectors2, onProgress) {
|
|
1678
1679
|
const validated = MemoryDeleteSchema.parse(params);
|
|
1679
|
-
const { id, ids, code, codes, repo, structured } = validated;
|
|
1680
|
+
const { id, ids, code, codes, owner, repo, structured } = validated;
|
|
1680
1681
|
const resolvedIds = [];
|
|
1681
1682
|
if (ids) resolvedIds.push(...ids);
|
|
1682
1683
|
if (id) resolvedIds.push(id);
|
|
1683
1684
|
if (code) {
|
|
1684
|
-
const entry = db2.memories.getByCode(code);
|
|
1685
|
+
const entry = db2.memories.getByCode(code, owner, repo);
|
|
1685
1686
|
if (!entry) throw new Error(`Memory not found: ${code}`);
|
|
1686
1687
|
resolvedIds.push(entry.id);
|
|
1687
1688
|
}
|
|
1688
1689
|
if (codes) {
|
|
1689
1690
|
for (const c of codes) {
|
|
1690
|
-
const entry = db2.memories.getByCode(c);
|
|
1691
|
+
const entry = db2.memories.getByCode(c, owner, repo);
|
|
1691
1692
|
if (!entry) throw new Error(`Memory not found: ${c}`);
|
|
1692
1693
|
resolvedIds.push(entry.id);
|
|
1693
1694
|
}
|
|
@@ -1751,7 +1752,7 @@ async function handleMemoryAcknowledge(params, db2) {
|
|
|
1751
1752
|
const validated = MemoryAcknowledgeSchema.parse(params);
|
|
1752
1753
|
let memoryId = validated.memory_id;
|
|
1753
1754
|
if (!memoryId && validated.code) {
|
|
1754
|
-
const byCode = db2.memories.getByCode(validated.code);
|
|
1755
|
+
const byCode = db2.memories.getByCode(validated.code, validated.owner, validated.repo);
|
|
1755
1756
|
if (!byCode) throw new Error(`Memory not found: ${validated.code}`);
|
|
1756
1757
|
memoryId = byCode.id;
|
|
1757
1758
|
} else if (!memoryId) {
|
|
@@ -1789,12 +1790,12 @@ async function handleMemoryAcknowledge(params, db2) {
|
|
|
1789
1790
|
// src/mcp/tools/memory.detail.ts
|
|
1790
1791
|
async function handleMemoryDetail(args, storage) {
|
|
1791
1792
|
const validated = MemoryDetailSchema.parse(args);
|
|
1792
|
-
const { id, code } = validated;
|
|
1793
|
+
const { id, code, owner, repo } = validated;
|
|
1793
1794
|
let memory;
|
|
1794
1795
|
if (id) {
|
|
1795
1796
|
memory = storage.memories.getById(id);
|
|
1796
1797
|
} else if (code) {
|
|
1797
|
-
memory = storage.memories.getByCode(code);
|
|
1798
|
+
memory = storage.memories.getByCode(code, owner, repo);
|
|
1798
1799
|
}
|
|
1799
1800
|
if (!memory) {
|
|
1800
1801
|
throw new Error(`Memory not found: ${id || code}`);
|
|
@@ -1823,10 +1824,10 @@ async function handleMemoryDetail(args, storage) {
|
|
|
1823
1824
|
// src/mcp/tools/standard.store.ts
|
|
1824
1825
|
import { randomUUID as randomUUID3 } from "crypto";
|
|
1825
1826
|
var UUID_REGEX4 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
1826
|
-
function resolveStandardParentId(value, db2) {
|
|
1827
|
+
function resolveStandardParentId(value, db2, owner, repo) {
|
|
1827
1828
|
if (!value) return null;
|
|
1828
1829
|
if (UUID_REGEX4.test(value)) return value;
|
|
1829
|
-
const standard = db2.standards.getByCode(value);
|
|
1830
|
+
const standard = db2.standards.getByCode(value, owner, repo);
|
|
1830
1831
|
if (!standard) throw new Error(`parent_id: standard with code '${value}' not found`);
|
|
1831
1832
|
return standard.id;
|
|
1832
1833
|
}
|
|
@@ -1868,7 +1869,7 @@ async function storeSingleStandard(params, db2, vectors2) {
|
|
|
1868
1869
|
code: generateNextCode(params.owner, params.repo || "__global__", "standard", db2),
|
|
1869
1870
|
title: params.name,
|
|
1870
1871
|
content: params.content,
|
|
1871
|
-
parent_id: resolveStandardParentId(params.parent_id, db2),
|
|
1872
|
+
parent_id: resolveStandardParentId(params.parent_id, db2, params.owner, params.repo),
|
|
1872
1873
|
context: toContextSlug(params.context || "general"),
|
|
1873
1874
|
version: params.version || "1.0.0",
|
|
1874
1875
|
language: params.language || null,
|
|
@@ -1951,7 +1952,7 @@ async function handleStandardStore(params, db2, vectors2) {
|
|
|
1951
1952
|
code,
|
|
1952
1953
|
title: std.name,
|
|
1953
1954
|
content: std.content,
|
|
1954
|
-
parent_id: resolveStandardParentId(std.parent_id, db2),
|
|
1955
|
+
parent_id: resolveStandardParentId(std.parent_id, db2, validated.owner, validated.repo),
|
|
1955
1956
|
context: toContextSlug(std.context || "general"),
|
|
1956
1957
|
version: std.version || "1.0.0",
|
|
1957
1958
|
language: std.language || null,
|
|
@@ -2233,10 +2234,10 @@ async function handleStandardSearch(params, db2, vectors2) {
|
|
|
2233
2234
|
|
|
2234
2235
|
// src/mcp/tools/standard.update.ts
|
|
2235
2236
|
var UUID_REGEX5 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
2236
|
-
function resolveStandardParentId2(value, db2) {
|
|
2237
|
+
function resolveStandardParentId2(value, db2, owner, repo) {
|
|
2237
2238
|
if (!value) return null;
|
|
2238
2239
|
if (UUID_REGEX5.test(value)) return value;
|
|
2239
|
-
const standard = db2.standards.getByCode(value);
|
|
2240
|
+
const standard = db2.standards.getByCode(value, owner, repo);
|
|
2240
2241
|
if (!standard) throw new Error(`parent_id: standard with code '${value}' not found`);
|
|
2241
2242
|
return standard.id;
|
|
2242
2243
|
}
|
|
@@ -2244,7 +2245,7 @@ async function handleStandardUpdate(params, db2, vectors2) {
|
|
|
2244
2245
|
const validated = StandardUpdateSchema.parse(params);
|
|
2245
2246
|
let resolvedId = validated.id;
|
|
2246
2247
|
if (!resolvedId && validated.code) {
|
|
2247
|
-
const byCode = db2.standards.getByCode(validated.code);
|
|
2248
|
+
const byCode = db2.standards.getByCode(validated.code, validated.owner, validated.repo);
|
|
2248
2249
|
if (!byCode) throw new Error(`Coding standard not found: ${validated.code}`);
|
|
2249
2250
|
resolvedId = byCode.id;
|
|
2250
2251
|
} else if (!resolvedId) {
|
|
@@ -2257,7 +2258,8 @@ async function handleStandardUpdate(params, db2, vectors2) {
|
|
|
2257
2258
|
const updates = {};
|
|
2258
2259
|
if (validated.name !== void 0) updates.title = validated.name;
|
|
2259
2260
|
if (validated.content !== void 0) updates.content = validated.content;
|
|
2260
|
-
if (validated.parent_id !== void 0)
|
|
2261
|
+
if (validated.parent_id !== void 0)
|
|
2262
|
+
updates.parent_id = resolveStandardParentId2(validated.parent_id, db2, existing.owner, existing.repo ?? void 0);
|
|
2261
2263
|
if (validated.context !== void 0) updates.context = validated.context;
|
|
2262
2264
|
if (validated.version !== void 0) updates.version = validated.version;
|
|
2263
2265
|
if (validated.language !== void 0) updates.language = validated.language;
|
|
@@ -2299,7 +2301,7 @@ async function handleStandardUpdate(params, db2, vectors2) {
|
|
|
2299
2301
|
// src/mcp/tools/standard.detail.ts
|
|
2300
2302
|
async function handleStandardDetail(args, storage) {
|
|
2301
2303
|
const validated = StandardDetailSchema.parse(args);
|
|
2302
|
-
const standard = validated.id ? storage.standards.getById(validated.id) : storage.standards.getByCode(validated.code);
|
|
2304
|
+
const standard = validated.id ? storage.standards.getById(validated.id) : storage.standards.getByCode(validated.code, validated.owner, validated.repo);
|
|
2303
2305
|
if (!standard) {
|
|
2304
2306
|
const identifier = validated.id ?? validated.code;
|
|
2305
2307
|
throw new Error(`Coding standard not found: ${identifier}`);
|
|
@@ -2333,18 +2335,18 @@ async function handleStandardDetail(args, storage) {
|
|
|
2333
2335
|
// src/mcp/tools/standard.delete.ts
|
|
2334
2336
|
async function handleStandardDelete(params, db2, vectors2) {
|
|
2335
2337
|
const validated = StandardDeleteSchema.parse(params);
|
|
2336
|
-
const { id, ids, code, codes, repo, structured } = validated;
|
|
2338
|
+
const { id, ids, code, codes, owner, repo, structured } = validated;
|
|
2337
2339
|
const resolvedIds = [];
|
|
2338
2340
|
if (ids) resolvedIds.push(...ids);
|
|
2339
2341
|
if (id) resolvedIds.push(id);
|
|
2340
2342
|
if (code) {
|
|
2341
|
-
const entry = db2.standards.getByCode(code);
|
|
2343
|
+
const entry = db2.standards.getByCode(code, owner, repo);
|
|
2342
2344
|
if (!entry) throw new Error(`Coding standard not found: ${code}`);
|
|
2343
2345
|
resolvedIds.push(entry.id);
|
|
2344
2346
|
}
|
|
2345
2347
|
if (codes) {
|
|
2346
2348
|
for (const c of codes) {
|
|
2347
|
-
const entry = db2.standards.getByCode(c);
|
|
2349
|
+
const entry = db2.standards.getByCode(c, owner, repo);
|
|
2348
2350
|
if (!entry) throw new Error(`Coding standard not found: ${c}`);
|
|
2349
2351
|
resolvedIds.push(entry.id);
|
|
2350
2352
|
}
|