@vheins/local-memory-mcp 0.9.3 → 0.9.5
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.
- package/dist/{chunk-KQHMJLUV.js → chunk-H2NOOJCN.js} +66 -10
- package/dist/dashboard/public/assets/{index-DQK5O2_4.js → index-C9M1BD7U.js} +13 -13
- package/dist/dashboard/public/index.html +1 -1
- package/dist/dashboard/server.js +1 -1
- package/dist/mcp/server.js +53 -8
- package/dist/prompts/csl-from-docs.md +5 -3
- package/dist/prompts/csl-scrapper.md +5 -3
- package/package.json +1 -1
|
@@ -3,8 +3,8 @@ import { fileURLToPath } from "url";
|
|
|
3
3
|
import path from "path";
|
|
4
4
|
var __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
5
|
var pkgVersion = "0.1.0";
|
|
6
|
-
if ("0.9.
|
|
7
|
-
pkgVersion = "0.9.
|
|
6
|
+
if ("0.9.5") {
|
|
7
|
+
pkgVersion = "0.9.5";
|
|
8
8
|
} else {
|
|
9
9
|
let searchDir = __dirname;
|
|
10
10
|
for (let i = 0; i < 5; i++) {
|
|
@@ -634,6 +634,15 @@ var MigrationManager = class {
|
|
|
634
634
|
this.run("CREATE INDEX IF NOT EXISTS idx_memories_repo_code ON memories(repo, code)");
|
|
635
635
|
}
|
|
636
636
|
}
|
|
637
|
+
addStandardCodeColumn() {
|
|
638
|
+
const tableInfo = this.all("PRAGMA table_info(coding_standards)");
|
|
639
|
+
const hasCode = tableInfo.some((col) => col.name === "code");
|
|
640
|
+
if (!hasCode) {
|
|
641
|
+
this.run("ALTER TABLE coding_standards ADD COLUMN code TEXT");
|
|
642
|
+
this.run("CREATE INDEX IF NOT EXISTS idx_coding_standards_code ON coding_standards(code)");
|
|
643
|
+
this.run("CREATE INDEX IF NOT EXISTS idx_coding_standards_repo_code ON coding_standards(repo, code)");
|
|
644
|
+
}
|
|
645
|
+
}
|
|
637
646
|
};
|
|
638
647
|
|
|
639
648
|
// src/mcp/utils/stopwords.ts
|
|
@@ -2115,11 +2124,12 @@ var StandardEntity = class extends BaseEntity {
|
|
|
2115
2124
|
insert(entry) {
|
|
2116
2125
|
this.run(
|
|
2117
2126
|
`INSERT INTO coding_standards (
|
|
2118
|
-
id, title, content, parent_id, context, version, language, stack,
|
|
2127
|
+
id, code, title, content, parent_id, context, version, language, stack,
|
|
2119
2128
|
is_global, repo, tags, metadata, created_at, updated_at, hit_count, last_used_at, agent, model
|
|
2120
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
|
2129
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
|
2121
2130
|
[
|
|
2122
2131
|
entry.id,
|
|
2132
|
+
entry.code ?? null,
|
|
2123
2133
|
entry.title,
|
|
2124
2134
|
entry.content,
|
|
2125
2135
|
entry.parent_id,
|
|
@@ -2144,6 +2154,10 @@ var StandardEntity = class extends BaseEntity {
|
|
|
2144
2154
|
const row = this.get("SELECT * FROM coding_standards WHERE id = ?", [id]);
|
|
2145
2155
|
return row ? this.rowToEntry(row) : null;
|
|
2146
2156
|
}
|
|
2157
|
+
getByCode(code) {
|
|
2158
|
+
const row = this.get("SELECT * FROM coding_standards WHERE code = ?", [code]);
|
|
2159
|
+
return row ? this.rowToEntry(row) : null;
|
|
2160
|
+
}
|
|
2147
2161
|
search(options) {
|
|
2148
2162
|
const { query, context, version, language, stack, tag, repo, is_global, limit = 20, offset = 0 } = options;
|
|
2149
2163
|
const where = [];
|
|
@@ -2214,6 +2228,38 @@ var StandardEntity = class extends BaseEntity {
|
|
|
2214
2228
|
return { ...standard, similarity };
|
|
2215
2229
|
}).sort((a, b) => b.similarity - a.similarity);
|
|
2216
2230
|
}
|
|
2231
|
+
/**
|
|
2232
|
+
* Check if a new coding standard's content conflicts with an existing one.
|
|
2233
|
+
*
|
|
2234
|
+
* Returns the first conflicting entry whose cosine similarity exceeds `threshold`.
|
|
2235
|
+
* A conflict is SKIPPED (returns null) when the incoming version differs from
|
|
2236
|
+
* the conflicting entry's version — this allows intentional version bumps.
|
|
2237
|
+
*
|
|
2238
|
+
* @param content Raw content of the new standard to check.
|
|
2239
|
+
* @param incomingVersion Version of the new standard (e.g. "2.0.0").
|
|
2240
|
+
* @param repo Repo filter; pass undefined for global standards.
|
|
2241
|
+
* @param threshold Cosine-similarity cutoff (default 0.82 — stricter than memory).
|
|
2242
|
+
*/
|
|
2243
|
+
checkConflicts(content, incomingVersion, repo, incomingLanguage, incomingStack, threshold = 0.82) {
|
|
2244
|
+
const candidates = this.search({ repo, limit: 80, offset: 0 });
|
|
2245
|
+
if (candidates.length === 0) return null;
|
|
2246
|
+
const queryVector = this.computeVector(content);
|
|
2247
|
+
for (const standard of candidates) {
|
|
2248
|
+
const similarity = this.cosineSimilarity(queryVector, this.computeVector(standard.content));
|
|
2249
|
+
if (similarity < threshold) continue;
|
|
2250
|
+
if (incomingVersion && standard.version && incomingVersion !== standard.version) {
|
|
2251
|
+
continue;
|
|
2252
|
+
}
|
|
2253
|
+
if (incomingLanguage && standard.language && incomingLanguage !== standard.language) {
|
|
2254
|
+
continue;
|
|
2255
|
+
}
|
|
2256
|
+
if (incomingStack.length > 0 && standard.stack.length > 0 && !incomingStack.some((s) => standard.stack.includes(s))) {
|
|
2257
|
+
continue;
|
|
2258
|
+
}
|
|
2259
|
+
return { ...standard, similarity };
|
|
2260
|
+
}
|
|
2261
|
+
return null;
|
|
2262
|
+
}
|
|
2217
2263
|
getByIds(ids) {
|
|
2218
2264
|
if (ids.length === 0) return [];
|
|
2219
2265
|
const placeholders = ids.map(() => "?").join(",");
|
|
@@ -2290,6 +2336,7 @@ var StandardEntity = class extends BaseEntity {
|
|
|
2290
2336
|
rowToEntry(row) {
|
|
2291
2337
|
return {
|
|
2292
2338
|
id: row.id,
|
|
2339
|
+
code: row.code ?? void 0,
|
|
2293
2340
|
title: row.title,
|
|
2294
2341
|
content: row.content,
|
|
2295
2342
|
parent_id: row.parent_id ?? null,
|
|
@@ -2582,6 +2629,7 @@ var SQLiteStore = class _SQLiteStore {
|
|
|
2582
2629
|
const migrator = new MigrationManager(this.db);
|
|
2583
2630
|
migrator.migrate();
|
|
2584
2631
|
migrator.addMemoryCodeColumn();
|
|
2632
|
+
migrator.addStandardCodeColumn();
|
|
2585
2633
|
this.memories = new MemoryEntity(this.db);
|
|
2586
2634
|
this.tasks = new TaskEntity(this.db);
|
|
2587
2635
|
this.actions = new ActionEntity(this.db);
|
|
@@ -2741,7 +2789,8 @@ var RealVectorStore = class {
|
|
|
2741
2789
|
throw error;
|
|
2742
2790
|
}
|
|
2743
2791
|
}
|
|
2744
|
-
async remove(id,
|
|
2792
|
+
async remove(id, kind = "memory") {
|
|
2793
|
+
void kind;
|
|
2745
2794
|
if (!id) return;
|
|
2746
2795
|
}
|
|
2747
2796
|
async search(query, limit, repo, kind = "memory") {
|
|
@@ -3078,8 +3127,11 @@ var MemoryDetailSchema = z.object({
|
|
|
3078
3127
|
message: "Either id or code must be provided"
|
|
3079
3128
|
});
|
|
3080
3129
|
var StandardDetailSchema = z.object({
|
|
3081
|
-
id: z.string().uuid(),
|
|
3130
|
+
id: z.string().uuid().optional(),
|
|
3131
|
+
code: z.string().max(20).optional(),
|
|
3082
3132
|
structured: z.boolean().default(false)
|
|
3133
|
+
}).refine((data) => data.id !== void 0 || data.code !== void 0, {
|
|
3134
|
+
message: "Either id or code must be provided"
|
|
3083
3135
|
});
|
|
3084
3136
|
var StandardDeleteSchema = z.object({
|
|
3085
3137
|
repo: z.string().min(1).transform(normalizeRepo).optional(),
|
|
@@ -3302,14 +3354,14 @@ var TOOL_DEFINITIONS = [
|
|
|
3302
3354
|
{
|
|
3303
3355
|
name: "standard-detail",
|
|
3304
3356
|
title: "Standard Detail",
|
|
3305
|
-
description: "Fetch full details of a specific coding standard by ID. Use after standard-search when a result is relevant and full guidance is needed.",
|
|
3357
|
+
description: "Fetch full details of a specific coding standard by ID or short code. Use after standard-search when a result is relevant and full guidance is needed.",
|
|
3306
3358
|
inputSchema: {
|
|
3307
3359
|
type: "object",
|
|
3308
3360
|
properties: {
|
|
3309
|
-
id: { type: "string", format: "uuid", description: "Coding standard ID." },
|
|
3361
|
+
id: { type: "string", format: "uuid", description: "Coding standard ID. Optional if code is provided." },
|
|
3362
|
+
code: { type: "string", description: "Short standard code (e.g. 'A3KPQ2'). Optional if id is provided." },
|
|
3310
3363
|
structured: { type: "boolean", default: false, description: "If true, returns structured JSON details." }
|
|
3311
|
-
}
|
|
3312
|
-
required: ["id"]
|
|
3364
|
+
}
|
|
3313
3365
|
}
|
|
3314
3366
|
},
|
|
3315
3367
|
{
|
|
@@ -4953,6 +5005,9 @@ async function completePromptArgument(name, argName, value, contextArguments, da
|
|
|
4953
5005
|
}
|
|
4954
5006
|
|
|
4955
5007
|
// src/mcp/tools/standard.shared.ts
|
|
5008
|
+
function toContextSlug(value) {
|
|
5009
|
+
return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
5010
|
+
}
|
|
4956
5011
|
function buildStandardVectorText(standard) {
|
|
4957
5012
|
return [
|
|
4958
5013
|
standard.title,
|
|
@@ -5021,5 +5076,6 @@ export {
|
|
|
5021
5076
|
listPrompts,
|
|
5022
5077
|
getPrompt,
|
|
5023
5078
|
completePromptArgument,
|
|
5079
|
+
toContextSlug,
|
|
5024
5080
|
buildStandardVectorText
|
|
5025
5081
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Array.isArray,t=Array.prototype.indexOf,n=Array.prototype.includes,r=Array.from,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,s=Object.prototype,c=Array.prototype,l=Object.getPrototypeOf,u=Object.isExtensible;function d(e){return typeof e==`function`}var f=()=>{};function p(e){return e()}function m(e){for(var t=0;t<e.length;t++)e[t]()}function h(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function g(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var _=1<<24,v=1024,y=2048,b=4096,x=8192,S=16384,C=32768,w=1<<25,T=65536,E=1<<19,D=1<<20,ee=1<<25,te=65536,ne=1<<21,re=1<<22,ie=1<<23,ae=Symbol(`$state`),oe=Symbol(`legacy props`),O=Symbol(``),se=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ce=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function le(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function ue(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function de(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function fe(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function pe(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function me(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function he(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function ge(e){throw Error(`https://svelte.dev/e/lifecycle_legacy_only`)}function _e(e){throw Error(`https://svelte.dev/e/props_invalid_value`)}function ve(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function ye(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function be(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function xe(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var Se={},Ce=Symbol(),we=`http://www.w3.org/1999/xhtml`,Te=`http://www.w3.org/2000/svg`;function Ee(){console.warn(`https://svelte.dev/e/derived_inert`)}function De(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Oe(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function ke(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var k=!1;function Ae(e){k=e}var A;function je(e){if(e===null)throw De(),Se;return A=e}function Me(){return je(Sn(A))}function j(e){if(k){if(Sn(A)!==null)throw De(),Se;A=e}}function Ne(e=1){if(k){for(var t=e,n=A;t--;)n=Sn(n);A=n}}function Pe(e=!0){for(var t=0,n=A;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Sn(n);e&&n.remove(),n=i}}function Fe(e){if(!e||e.nodeType!==8)throw De(),Se;return e.data}function Ie(e){return e===this.v}function Le(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Re(e){return!Le(e,this.v)}var ze=!1,Be=!1;function Ve(){Be=!0}var He=null;function Ue(e){He=e}function We(e,t=!1,n){He={p:He,i:!1,c:null,e:null,s:e,x:null,r:hr,l:Be&&!t?{s:null,u:null,$:[]}:null}}function Ge(e){var t=He,n=t.e;if(n!==null){t.e=null;for(var r of n)zn(r)}return e!==void 0&&(t.x=e),t.i=!0,He=t.p,e??{}}function Ke(){return!Be||He!==null&&He.l===null}var qe=[];function Je(){var e=qe;qe=[],m(e)}function Ye(e){if(qe.length===0&&!St){var t=qe;queueMicrotask(()=>{t===qe&&Je()})}qe.push(e)}function Xe(){for(;qe.length>0;)Je()}function Ze(e){var t=hr;if(t===null)return fr.f|=ie,e;if(!(t.f&32768)&&!(t.f&4))throw e;Qe(e,t)}function Qe(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var $e=~(y|b|v);function et(e,t){e.f=e.f&$e|t}function tt(e){e.f&512||e.deps===null?et(e,v):et(e,b)}function nt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=te,nt(t.deps))}function rt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),nt(e.deps),et(e,v)}function it(e,t,n){if(e==null)return t(void 0),n&&n(void 0),f;let r=U(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}var at=[];function ot(e,t){return{subscribe:M(e,t).subscribe}}function M(e,t=f){let n=null,r=new Set;function i(t){if(Le(e,t)&&(e=t,n)){let t=!at.length;for(let t of r)t[1](),at.push(t,e);if(t){for(let e=0;e<at.length;e+=2)at[e][0](at[e+1]);at.length=0}}}function a(t){i(t(e))}function o(o,s=f){let c=[o,s];return r.add(c),r.size===1&&(n=t(i,a)||f),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:a,subscribe:o}}function st(e,t,n){let r=!Array.isArray(e),i=r?[e]:e;if(!i.every(Boolean))throw Error(`derived() expects stores as input, got a falsy value`);let a=t.length<2;return ot(n,(e,n)=>{let o=!1,s=[],c=0,l=f,u=()=>{if(c)return;l();let i=t(r?s[0]:s,e,n);a?e(i):l=typeof i==`function`?i:f},d=i.map((e,t)=>it(e,e=>{s[t]=e,c&=~(1<<t),o&&u()},()=>{c|=1<<t}));return o=!0,u(),function(){m(d),l(),o=!1}})}function N(e){let t;return it(e,e=>t=e)(),t}var ct=!1,lt=!1,ut=Symbol();function P(e,t,n){let r=n[t]??={store:null,source:F(void 0),unsubscribe:f};if(r.store!==e&&!(ut in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=f;else{var i=!0;r.unsubscribe=it(e,e=>{i?r.source.v=e:I(r.source,e)}),i=!1}return e&&ut in n?N(e):H(r.source)}function dt(e,t,n){let r=n[t];return r&&r.store!==e&&(r.unsubscribe(),r.unsubscribe=f),e}function ft(e,t){return mt(e,t),t}function pt(){let e={};function t(){Ln(()=>{for(var t in e)e[t].unsubscribe();i(e,ut,{enumerable:!1,value:!0})})}return[e,t]}function mt(e,t){ct=!0;try{e.set(t)}finally{ct=!1}}function ht(e,t,n){return mt(e,n),t}function gt(e){var t=lt;try{return lt=!1,[e(),lt]}finally{lt=t}}var _t=new Set,vt=null,yt=null,bt=null,xt=null,St=!1,Ct=!1,wt=null,Tt=null,Et=0,Dt=1,Ot=class e{id=Dt++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Set;#r=new Map;#i=new Map;#a=null;#o=[];#s=[];#c=new Set;#l=new Set;#u=new Map;#d=new Set;is_fork=!1;#f=!1;#p=new Set;#m(){return this.is_fork||this.#i.size>0}#h(){for(let n of this.#p)for(let r of n.#i.keys()){for(var e=!1,t=r;t.parent!==null;){if(this.#u.has(t)){e=!0;break}t=t.parent}if(!e)return!0}return!1}skip_effect(e){this.#u.has(e)||this.#u.set(e,{d:[],m:[]}),this.#d.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#u.get(e);if(n){this.#u.delete(e);for(var r of n.d)et(r,y),t(r);for(r of n.m)et(r,b),t(r)}this.#d.add(e)}#g(){if(Et++>1e3&&(_t.delete(this),At()),!this.#m()){for(let e of this.#c)this.#l.delete(e),et(e,y),this.schedule(e);for(let e of this.#l)et(e,b),this.schedule(e)}let t=this.#o;this.#o=[],this.apply();var n=wt=[],r=[],i=Tt=[];for(let e of t)try{this.#_(e,n,r)}catch(t){throw Lt(e),t}if(vt=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(wt=null,Tt=null,this.#m()||this.#h()){this.#v(r),this.#v(n);for(let[e,t]of this.#u)It(e,t)}else{this.#r.size===0&&_t.delete(this),this.#c.clear(),this.#l.clear();for(let e of this.#e)e(this);this.#e.clear(),yt=this,Mt(r),Mt(n),yt=null,this.#a?.resolve()}var o=vt;if(this.#o.length>0){let e=o??=this;e.#o.push(...this.#o.filter(t=>!e.#o.includes(t)))}o!==null&&(_t.add(o),o.#g()),ze&&!_t.has(this)&&this.#y()}#_(e,t,n){e.f^=v;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#u.has(r))&&r.fn!==null){a?r.f^=v:i&4?t.push(r):ze&&i&16777224?n.push(r):Or(r)&&(i&16&&this.#l.add(r),Nr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#v(e){for(var t=0;t<e.length;t+=1)rt(e[t],this.#c,this.#l)}capture(e,t,n=!1){e.v!==Ce&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),bt?.set(e,t)),this.is_fork||(e.v=t)}activate(){vt=this}deactivate(){vt=null,bt=null}flush(){try{Ct=!0,vt=this,this.#g()}finally{Et=0,xt=null,wt=null,Tt=null,Ct=!1,vt=null,bt=null,nn.clear()}}discard(){for(let e of this.#t)e(this);this.#t.clear(),this.#n.clear(),_t.delete(this)}register_created_effect(e){this.#s.push(e)}#y(){for(let l of _t){var e=l.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(l.current.has(r)){var n=l.current.get(r)[0];if(e&&i!==n)l.current.set(r,[i,a]);else continue}t.push(r)}var r=[...l.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&l.discard();else if(t.length>0){if(e)for(let e of this.#d)l.unskip_effect(e,e=>{e.f&4194320?l.schedule(e):l.#v([e])});l.activate();var i=new Set,a=new Map;for(var o of t)Nt(o,r,i,a);a=new Map;var s=[...l.current.keys()].filter(e=>this.current.has(e)?this.current.get(e)[0]!==e:!0);for(let e of this.#s)!(e.f&155648)&&Pt(e,s,a)&&(e.f&4194320?(et(e,y),l.schedule(e)):l.#c.add(e));if(l.#o.length>0){l.apply();for(var c of l.#o)l.#_(c,[],[]);l.#o=[]}l.deactivate()}}for(let e of _t)e.#p.has(this)&&(e.#p.delete(this),e.#p.size===0&&!e.#m()&&(e.activate(),e.#g()))}increment(e,t){let n=this.#r.get(t)??0;if(this.#r.set(t,n+1),e){let e=this.#i.get(t)??0;this.#i.set(t,e+1)}}decrement(e,t,n){let r=this.#r.get(t)??0;if(r===1?this.#r.delete(t):this.#r.set(t,r-1),e){let e=this.#i.get(t)??0;e===1?this.#i.delete(t):this.#i.set(t,e-1)}this.#f||n||(this.#f=!0,Ye(()=>{this.#f=!1,this.flush()}))}transfer_effects(e,t){for(let t of e)this.#c.add(t);for(let e of t)this.#l.add(e);e.clear(),t.clear()}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}on_fork_commit(e){this.#n.add(e)}run_fork_commit_callbacks(){for(let e of this.#n)e(this);this.#n.clear()}settled(){return(this.#a??=h()).promise}static ensure(){if(vt===null){let t=vt=new e;Ct||(_t.add(vt),St||Ye(()=>{vt===t&&t.flush()}))}return vt}apply(){if(!ze||!this.is_fork&&_t.size===1){bt=null;return}bt=new Map;for(let[e,[t]]of this.current)bt.set(e,t);for(let n of _t)if(!(n===this||n.is_fork)){var e=!1,t=!1;if(n.id<this.id)for(let[r,[,i]]of n.current)i||(e||=this.current.has(r),t||=!this.current.has(r));if(e&&t)this.#p.add(n);else for(let[e,t]of n.previous)bt.has(e)||bt.set(e,t)}}schedule(e){if(xt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(wt!==null&&t===hr&&(ze||(fr===null||!(fr.f&2))&&!ct))return;if(n&96){if(!(n&1024))return;t.f^=v}}this.#o.push(t)}};function kt(e){var t=St;St=!0;try{var n;for(e&&(vt!==null&&!vt.is_fork&&vt.flush(),n=e());;){if(Xe(),vt===null)return n;vt.flush()}}finally{St=t}}function At(){try{he()}catch(e){Qe(e,xt)}}var jt=null;function Mt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Or(r)&&(jt=new Set,Nr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&er(r),jt?.size>0)){nn.clear();for(let e of jt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)jt.has(n)&&(jt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Nr(n)}}jt.clear()}}jt=null}}function Nt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Nt(i,t,n,r):e&4194320&&!(e&2048)&&Pt(i,t,r)&&(et(i,y),Ft(i))}}function Pt(e,t,r){let i=r.get(e);if(i!==void 0)return i;if(e.deps!==null)for(let i of e.deps){if(n.call(t,i))return!0;if(i.f&2&&Pt(i,t,r))return r.set(i,!0),!0}return r.set(e,!1),!1}function Ft(e){vt.schedule(e)}function It(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),et(e,v);for(var n=e.first;n!==null;)It(n,t),n=n.next}}function Lt(e){et(e,v);for(var t=e.first;t!==null;)Lt(t),t=t.next}function Rt(e){let t=0,n=an(0),r;return()=>{In()&&(H(n),Gn(()=>(t===0&&(r=U(()=>e(()=>un(n)))),t+=1,()=>{Ye(()=>{--t,t===0&&(r?.(),r=void 0,un(n))})})))}}var zt=T|E;function Bt(e,t,n,r){new Vt(e,t,n,r)}var Vt=class{parent;is_pending=!1;transform_error;#e;#t=k?A:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Rt(()=>(this.#m=an(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=hr;t.b=this,t.f|=128,n(e)},this.parent=hr.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Kn(()=>{if(k){let e=this.#t;Me();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},zt),k&&(this.#e=A)}#g(){try{this.#a=Jn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Jn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Jn(()=>e(this.#e)),Ye(()=>{var e=this.#c=document.createDocumentFragment(),t=bn();e.append(t),this.#a=this.#x(()=>Jn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,tr(this.#o,()=>{this.#o=null}),this.#b(vt))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Jn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();ar(this.#a,e);let t=this.#n.pending;this.#o=Jn(()=>t(this.#e))}else this.#b(vt)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){rt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=hr,n=fr,r=He;gr(this.#i),mr(this.#i),Ue(this.#i.ctx);try{return Ot.ensure(),e()}catch(e){return Ze(e),null}finally{gr(t),mr(n),Ue(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&tr(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Ye(()=>{this.#d=!1,this.#m&&cn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),H(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;vt?.is_fork?(this.#a&&vt.skip_effect(this.#a),this.#o&&vt.skip_effect(this.#o),this.#s&&vt.skip_effect(this.#s),vt.on_fork_commit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Qn(this.#a),null),this.#o&&=(Qn(this.#o),null),this.#s&&=(Qn(this.#s),null),k&&(je(this.#t),Ne(),je(Pe()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){ke();return}r=!0,i&&xe(),this.#s!==null&&tr(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){Qe(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Jn(()=>{var t=hr;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return Qe(e,this.#i.parent),null}}))};Ye(()=>{var t;try{t=this.transform_error(e)}catch(e){Qe(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>Qe(e,this.#i&&this.#i.parent)):o(t)})}};function Ht(e,t,n,r){let i=Ke()?Kt:Yt;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=hr,s=Ut(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){s();try{r(e)}catch(e){o.f&16384||Qe(e,o)}Wt()}if(n.length===0){c.then(()=>l(t.map(i)));return}var u=Gt();function d(){Promise.all(n.map(e=>qt(e))).then(e=>l([...t.map(i),...e])).catch(e=>Qe(e,o)).finally(()=>u())}c?c.then(()=>{s(),d(),Wt()}):d()}function Ut(){var e=hr,t=fr,n=He,r=vt;return function(i=!0){gr(e),mr(t),Ue(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function Wt(e=!0){gr(null),mr(null),Ue(null),e&&vt?.deactivate()}function Gt(){var e=hr,t=e.b,n=vt,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(i=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,i)}}function Kt(e){var t=2|y;return hr!==null&&(hr.f|=E),{ctx:He,deps:null,effects:null,equals:Ie,f:t,fn:e,reactions:null,rv:0,v:Ce,wv:0,parent:hr,ac:null}}function qt(e,t,n){let r=hr;r===null&&ue();var i=void 0,a=an(Ce),o=!fr,s=new Map;return Wn(()=>{var t=hr,n=h();i=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally(Wt)}catch(e){n.reject(e),Wt()}var c=vt;if(o){if(t.f&32768)var l=Gt();if(r.b.is_rendered())s.get(c)?.reject(se),s.delete(c);else{for(let e of s.values())e.reject(se);s.clear()}s.set(c,n)}let u=(e,n=void 0)=>{if(l&&l(n===se),!(n===se||t.f&16384)){if(c.activate(),n)a.f|=ie,cn(a,n);else{a.f&8388608&&(a.f^=ie),cn(a,e);for(let[e,t]of s){if(s.delete(e),e===c)break;t.reject(se)}}c.deactivate()}};n.promise.then(u,e=>u(null,e||`unknown`))}),Ln(()=>{for(let e of s.values())e.reject(se)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function Jt(e){let t=Kt(e);return ze||vr(t),t}function Yt(e){let t=Kt(e);return t.equals=Re,t}function Xt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Qn(t[n])}}function Zt(e){var t,n=hr,r=e.parent;if(!ur&&r!==null&&r.f&24576)return Ee(),e.v;gr(r);try{e.f&=~te,Xt(e),t=Ar(e)}finally{gr(n)}return t}function Qt(e){var t=Zt(e);if(!e.equals(t)&&(e.wv=Dr(),(!vt?.is_fork||e.deps===null)&&(vt===null?e.v=t:vt.capture(e,t,!0),e.deps===null))){et(e,v);return}ur||(bt===null?tt(e):(In()||vt?.is_fork)&&bt.set(e,t))}function $t(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(se),t.teardown=f,t.ac=null,Mr(t,0),Xn(t))}function en(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&Nr(t)}var tn=new Set,nn=new Map,rn=!1;function an(e,t){return{f:0,v:e,reactions:null,equals:Ie,rv:0,wv:0}}function on(e,t){let n=an(e,t);return vr(n),n}function F(e,t=!1,n=!0){let r=an(e);return t||(r.equals=Re),Be&&n&&He!==null&&He.l!==null&&(He.l.s??=[]).push(r),r}function sn(e,t){return I(e,U(()=>H(e))),t}function I(e,t,r=!1){return fr!==null&&(!pr||fr.f&131072)&&Ke()&&fr.f&4325394&&(_r===null||!n.call(_r,e))&&be(),cn(e,r?fn(t):t,Tt)}function cn(e,t,n=null){if(!e.equals(t)){nn.set(e,ur?t:e.v);var r=Ot.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&Zt(t),bt===null&&tt(t)}e.wv=Dr(),dn(e,y,n),Ke()&&hr!==null&&hr.f&1024&&!(hr.f&96)&&(xr===null?Sr([e]):xr.push(e)),!r.is_fork&&tn.size>0&&!rn&&ln()}return t}function ln(){rn=!1;for(let e of tn)e.f&1024&&et(e,b),Or(e)&&Nr(e);tn.clear()}function un(e){I(e,e.v+1)}function dn(e,t,n){var r=e.reactions;if(r!==null)for(var i=Ke(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===hr)){var l=(c&y)===0;if(l&&et(s,t),c&2){var u=s;bt?.delete(u),c&65536||(c&512&&(s.f|=te),dn(u,b,n))}else if(l){var d=s;c&16&&jt!==null&&jt.add(d),n===null?Ft(d):n.push(d)}}}}function fn(t){if(typeof t!=`object`||!t||ae in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=on(0),u=null,d=Tr,f=e=>{if(Tr===d)return e();var t=fr,n=Tr;mr(null),Er(d);var r=e();return mr(t),Er(n),r};return i&&r.set(`length`,on(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&ve();var i=r.get(t);return i===void 0?f(()=>{var e=on(n.value,u);return r.set(t,e),e}):I(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>on(Ce,u));r.set(t,e),un(o)}}else I(n,Ce),un(o);return!0},get(e,n,i){if(n===ae)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>on(fn(s?e[n]:Ce),u)),r.set(n,o)),o!==void 0){var c=H(o);return c===Ce?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=H(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==Ce)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===ae)return!0;var n=r.get(t),i=n!==void 0&&n.v!==Ce||Reflect.has(e,t);return(n!==void 0||hr!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>on(i?fn(e[t]):Ce,u)),r.set(t,n)),H(n)===Ce)?!1:i},set(e,t,n,s){var c=r.get(t),l=t in e;if(i&&t===`length`)for(var d=n;d<c.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>on(Ce,u)),r.set(d+``,p)):I(p,Ce)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>on(void 0,u)),I(c,fn(n)),r.set(t,c));else{l=c.v!==Ce;var m=f(()=>fn(n));I(c,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(s,n),!l){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&I(g,_+1)}un(o)}return!0},ownKeys(e){H(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==Ce});for(var[n,i]of r)i.v!==Ce&&!(n in e)&&t.push(n);return t},setPrototypeOf(){ye()}})}function pn(e){try{if(typeof e==`object`&&e&&ae in e)return e[ae]}catch{}return e}function mn(e,t){return Object.is(pn(e),pn(t))}var hn,gn,_n,vn;function yn(){if(hn===void 0){hn=window,gn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;_n=a(t,`firstChild`).get,vn=a(t,`nextSibling`).get,u(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),u(n)&&(n.__t=void 0)}}function bn(e=``){return document.createTextNode(e)}function xn(e){return _n.call(e)}function Sn(e){return vn.call(e)}function L(e,t){if(!k)return xn(e);var n=xn(A);if(n===null)n=A.appendChild(bn());else if(t&&n.nodeType!==3){var r=bn();return n?.before(r),je(r),r}return t&&En(n),je(n),n}function R(e,t=!1){if(!k){var n=xn(e);return n instanceof Comment&&n.data===``?Sn(n):n}if(t){if(A?.nodeType!==3){var r=bn();return A?.before(r),je(r),r}En(A)}return A}function z(e,t=1,n=!1){let r=k?A:e;for(var i;t--;)i=r,r=Sn(r);if(!k)return r;if(n){if(r?.nodeType!==3){var a=bn();return r===null?i?.after(a):r.before(a),je(a),a}En(r)}return je(r),r}function Cn(e){e.textContent=``}function wn(){return!ze||jt!==null?!1:(hr.f&C)!==0}function Tn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function En(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Dn(e,t){if(t){let t=document.body;e.autofocus=!0,Ye(()=>{document.activeElement===t&&e.focus()})}}function On(e){k&&xn(e)!==null&&Cn(e)}var kn=!1;function An(){kn||(kn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function jn(e){var t=fr,n=hr;mr(null),gr(null);try{return e()}finally{mr(t),gr(n)}}function Mn(e,t,n,r=n){e.addEventListener(t,()=>jn(n));let i=e.__on_r;i?e.__on_r=()=>{i(),r(!0)}:e.__on_r=()=>r(!0),An()}function Nn(e){hr===null&&(fr===null&&me(e),pe()),ur&&fe(e)}function Pn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Fn(e,t){var n=hr;n!==null&&n.f&8192&&(e|=x);var r={ctx:He,deps:null,nodes:null,f:e|y|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};vt?.register_created_effect(r);var i=r;if(e&4)wt===null?Ot.ensure().schedule(r):wt.push(r);else if(t!==null){try{Nr(r)}catch(e){throw Qn(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=T))}if(i!==null&&(i.parent=n,n!==null&&Pn(i,n),fr!==null&&fr.f&2&&!(e&64))){var a=fr;(a.effects??=[]).push(i)}return r}function In(){return fr!==null&&!pr}function Ln(e){let t=Fn(8,null);return et(t,v),t.teardown=e,t}function Rn(e){Nn(`$effect`);var t=hr.f;if(!fr&&t&32&&!(t&32768)){var n=He;(n.e??=[]).push(e)}else return zn(e)}function zn(e){return Fn(4|D,e)}function Bn(e){return Nn(`$effect.pre`),Fn(8|D,e)}function Vn(e){Ot.ensure();let t=Fn(64|E,e);return(e={})=>new Promise(n=>{e.outro?tr(t,()=>{Qn(t),n(void 0)}):(Qn(t),n(void 0))})}function Hn(e){return Fn(4,e)}function B(e,t){var n=He,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Gn(()=>{if(e(),!r.ran){r.ran=!0;var n=hr;try{gr(n.parent),U(t)}finally{gr(n)}}})}function Un(){var e=He;Gn(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&1024&&n.deps!==null&&et(n,b),Or(n)&&Nr(n),t.ran=!1}})}function Wn(e){return Fn(re|E,e)}function Gn(e,t=0){return Fn(8|t,e)}function V(e,t=[],n=[],r=[]){Ht(r,t,n,t=>{Fn(8,()=>e(...t.map(H)))})}function Kn(e,t=0){return Fn(16|t,e)}function qn(e,t=0){return Fn(_|t,e)}function Jn(e){return Fn(32|E,e)}function Yn(e){var t=e.teardown;if(t!==null){let e=ur,n=fr;dr(!0),mr(null);try{t.call(null)}finally{dr(e),mr(n)}}}function Xn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&jn(()=>{e.abort(se)});var r=n.next;n.f&64?n.parent=null:Qn(n,t),n=r}}function Zn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Qn(t),t=n}}function Qn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&($n(e.nodes.start,e.nodes.end),n=!0),et(e,w),Xn(e,t&&!n),Mr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Yn(e),e.f^=w,e.f|=S;var i=e.parent;i!==null&&i.first!==null&&er(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function $n(e,t){for(;e!==null;){var n=e===t?null:Sn(e);e.remove(),e=n}}function er(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function tr(e,t,n=!0){var r=[];nr(e,r,!0);var i=()=>{n&&Qn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function nr(e,t,n){if(!(e.f&8192)){e.f^=x;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;nr(i,t,o?n:!1)}i=a}}}function rr(e){ir(e,!0)}function ir(e,t){if(e.f&8192){e.f^=x,e.f&1024||(et(e,y),Ot.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;ir(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function ar(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Sn(n);t.append(n),n=i}}var or=null;function sr(e){var t=or;try{if(or=new Set,U(e),t!==null)for(var n of or)t.add(n);return or}finally{or=t}}function cr(e){for(var t of sr(e))cn(t,t.v)}var lr=!1,ur=!1;function dr(e){ur=e}var fr=null,pr=!1;function mr(e){fr=e}var hr=null;function gr(e){hr=e}var _r=null;function vr(e){fr!==null&&(!ze||fr.f&2)&&(_r===null?_r=[e]:_r.push(e))}var yr=null,br=0,xr=null;function Sr(e){xr=e}var Cr=1,wr=0,Tr=wr;function Er(e){Tr=e}function Dr(){return++Cr}function Or(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~te),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Or(a)&&Qt(a),a.wv>e.wv)return!0}t&512&&bt===null&&et(e,v)}return!1}function kr(e,t,r=!0){var i=e.reactions;if(i!==null&&!(!ze&&_r!==null&&n.call(_r,e)))for(var a=0;a<i.length;a++){var o=i[a];o.f&2?kr(o,t,!1):t===o&&(r?et(o,y):o.f&1024&&et(o,b),Ft(o))}}function Ar(e){var t=yr,n=br,r=xr,i=fr,a=_r,o=He,s=pr,c=Tr,l=e.f;yr=null,br=0,xr=null,fr=l&96?null:e,_r=null,Ue(e.ctx),pr=!1,Tr=++wr,e.ac!==null&&(jn(()=>{e.ac.abort(se)}),e.ac=null);try{e.f|=ne;var u=e.fn,d=u();e.f|=C;var f=e.deps,p=vt?.is_fork;if(yr!==null){var m;if(p||Mr(e,br),f!==null&&br>0)for(f.length=br+yr.length,m=0;m<yr.length;m++)f[br+m]=yr[m];else e.deps=f=yr;if(In()&&e.f&512)for(m=br;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&br<f.length&&(Mr(e,br),f.length=br);if(Ke()&&xr!==null&&!pr&&f!==null&&!(e.f&6146))for(m=0;m<xr.length;m++)kr(xr[m],e);if(i!==null&&i!==e){if(wr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=wr;if(t!==null)for(let e of t)e.rv=wr;xr!==null&&(r===null?r=xr:r.push(...xr))}return e.f&8388608&&(e.f^=ie),d}catch(e){return Ze(e)}finally{e.f^=ne,yr=t,br=n,xr=r,fr=i,_r=a,Ue(o),pr=s,Tr=c}}function jr(e,r){let i=r.reactions;if(i!==null){var a=t.call(i,e);if(a!==-1){var o=i.length-1;o===0?i=r.reactions=null:(i[a]=i[o],i.pop())}}if(i===null&&r.f&2&&(yr===null||!n.call(yr,r))){var s=r;s.f&512&&(s.f^=512,s.f&=~te),s.v!==Ce&&tt(s),$t(s),Mr(s,0)}}function Mr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)jr(e,n[r])}function Nr(e){var t=e.f;if(!(t&16384)){et(e,v);var n=hr,r=lr;hr=e,lr=!0;try{t&16777232?Zn(e):Xn(e),Yn(e);var i=Ar(e);e.teardown=typeof i==`function`?i:null,e.wv=Cr}finally{lr=r,hr=n}}}async function Pr(){if(ze)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),kt()}function H(e){var t=(e.f&2)!=0;if(or?.add(e),fr!==null&&!pr&&!(hr!==null&&hr.f&16384)&&(_r===null||!n.call(_r,e))){var r=fr.deps;if(fr.f&2097152)e.rv<wr&&(e.rv=wr,yr===null&&r!==null&&r[br]===e?br++:yr===null?yr=[e]:yr.push(e));else{(fr.deps??=[]).push(e);var i=e.reactions;i===null?e.reactions=[fr]:n.call(i,fr)||i.push(fr)}}if(ur&&nn.has(e))return nn.get(e);if(t){var a=e;if(ur){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Ir(a))&&(o=Zt(a)),nn.set(a,o),o}var s=(a.f&512)==0&&!pr&&fr!==null&&(lr||(fr.f&512)!=0),c=(a.f&C)===0;Or(a)&&(s&&(a.f|=512),Qt(a)),s&&!c&&(en(a),Fr(a))}if(bt?.has(e))return bt.get(e);if(e.f&8388608)throw e.v;return e.v}function Fr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(en(t),Fr(t))}function Ir(e){if(e.v===Ce)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(nn.has(t)||t.f&2&&Ir(t))return!0;return!1}function U(e){var t=pr;try{return pr=!0,e()}finally{pr=t}}function W(e){if(!(typeof e!=`object`||!e||e instanceof EventTarget)){if(ae in e)Lr(e);else if(!Array.isArray(e))for(let t in e){let n=e[t];typeof n==`object`&&n&&ae in n&&Lr(n)}}}function Lr(e,t=new Set){if(typeof e==`object`&&e&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let n in e)try{Lr(e[n],t)}catch{}let n=l(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){let t=o(n);for(let n in t){let r=t[n].get;if(r)try{r.call(e)}catch{}}}}}function Rr(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}var zr=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`];function Br(e){return zr.includes(e)}var Vr=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),Hr={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`};function Ur(e){return e=e.toLowerCase(),Hr[e]??e}[...Vr];var Wr=[`touchstart`,`touchmove`];function Gr(e){return Wr.includes(e)}var Kr=[`textarea`,`script`,`style`,`title`];function qr(e){return Kr.includes(e)}var Jr=Symbol(`events`),Yr=new Set,Xr=new Set;function Zr(e,t,n,r={}){function i(e){if(r.capture||ti.call(t,e),!e.cancelBubble)return jn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?Ye(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function G(e,t,n,r,i){var a={capture:r,passive:i},o=Zr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Ln(()=>{t.removeEventListener(e,o,a)})}function Qr(e,t,n){(t[Jr]??={})[e]=n}function $r(e){for(var t=0;t<e.length;t++)Yr.add(e[t]);for(var n of Xr)n(e)}var ei=null;function ti(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;ei=e;var s=0,c=ei===e&&e[Jr];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[Jr]=t;return}var u=a.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(o=a[s]||e.target,o!==t){i(e,`currentTarget`,{configurable:!0,get(){return o||n}});var d=fr,f=hr;mr(null),gr(null);try{for(var p,m=[];o!==null;){var h=o.assignedSlot||o.parentNode||o.host||null;try{var g=o[Jr]?.[r];g!=null&&(!o.disabled||e.target===o)&&g.call(o,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;o=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Jr]=t,delete e.currentTarget,mr(d),gr(f)}}}var ni=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function ri(e){return ni?.createHTML(e)??e}function ii(e){var t=Tn(`template`);return t.innerHTML=ri(e.replaceAll(`<!>`,`<!---->`)),t.content}function ai(e,t){var n=hr;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function K(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(k)return ai(A,null),A;i===void 0&&(i=ii(a?e:`<!>`+e),n||(i=xn(i)));var t=r||gn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=xn(t),s=t.lastChild;ai(o,s)}else ai(t,t);return t}}function oi(e,t,n=`svg`){var r=!e.startsWith(`<!>`),i=(t&1)!=0,a=`<${n}>${r?e:`<!>`+e}</${n}>`,o;return()=>{if(k)return ai(A,null),A;if(!o){var e=xn(ii(a));if(i)for(o=document.createDocumentFragment();xn(e);)o.appendChild(xn(e));else o=xn(e)}var t=o.cloneNode(!0);if(i){var n=xn(t),r=t.lastChild;ai(n,r)}else ai(t,t);return t}}function si(e,t){return oi(e,t,`svg`)}function ci(e=``){if(!k){var t=bn(e+``);return ai(t,t),t}var n=A;return n.nodeType===3?En(n):(n.before(n=bn()),je(n)),ai(n,n),n}function li(){if(k)return ai(A,null),A;var e=document.createDocumentFragment(),t=document.createComment(``),n=bn();return e.append(t,n),ai(t,n),e}function q(e,t){if(k){var n=hr;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=A),Me();return}e!==null&&e.before(t)}var ui=!0;function di(e){ui=e}function J(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function fi(e,t){return mi(e,t)}var pi=new Map;function mi(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){yn();var l=void 0,u=Vn(()=>{var u=n??t.appendChild(bn());Bt(u,{pending:()=>{}},t=>{We({});var n=He;if(o&&(n.c=o),a&&(i.$$events=a),k&&ai(t,null),ui=s,l=e(t,i)||{},ui=!0,k&&(hr.nodes.end=A,A===null||A.nodeType!==8||A.data!==`]`))throw De(),Se;Ge()},c);var d=new Set,f=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!d.has(r)){d.add(r);var i=Gr(r);for(let e of[t,document]){var a=pi.get(e);a===void 0&&(a=new Map,pi.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,ti,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(r(Yr)),Xr.add(f),()=>{for(var e of d)for(let n of[t,document]){var r=pi.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,ti),r.delete(e),r.size===0&&pi.delete(n)):r.set(e,i)}Xr.delete(f),u!==n&&u.parentNode?.removeChild(u)}});return hi.set(l,u),l}var hi=new WeakMap,gi=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)rr(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Qn(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();ar(r,t),t.append(bn()),this.#n.set(e,{effect:r,fragment:t})}else Qn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),tr(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Qn(n.effect),this.#n.delete(e))};ensure(e,t){var n=vt,r=wn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=bn();i.append(a),this.#n.set(e,{effect:Jn(()=>t(a)),fragment:i})}else this.#t.set(e,Jn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else k&&(this.anchor=A),this.#a(n)}};function Y(e,t,n=!1){var r;k&&(r=A,Me());var i=new gi(e),a=n?T:0;function o(e,t){if(k){var n=Fe(r);if(e!==parseInt(n.substring(1))){var a=Pe();je(a),i.anchor=a,Ae(!1),i.ensure(e,t),Ae(!0);return}}i.ensure(e,t)}Kn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function _i(e,t){return t}function vi(e,t,n){for(var i=[],a=t.length,o,s=t.length,c=0;c<a;c++){let n=t[c];tr(n,()=>{if(o){if(o.pending.delete(n),o.done.add(n),o.pending.size===0){var t=e.outrogroups;yi(e,r(o.done)),t.delete(o),t.size===0&&(e.outrogroups=null)}}else --s},!1)}if(s===0){var l=i.length===0&&n!==null;if(l){var u=n,d=u.parentNode;Cn(d),d.append(u),e.items.clear()}yi(e,t,!l)}else o={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(o)}function yi(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=ee,ar(a,document.createDocumentFragment())):Qn(t[i],n)}}var bi;function X(t,n,i,a,o,s=null){var c=t,l=new Map;if(n&4){var u=t;c=k?je(xn(u)):u.appendChild(bn())}k&&Me();var d=null,f=Yt(()=>{var t=i();return e(t)?t:t==null?[]:r(t)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,Si(v,p,c,n,a),d!==null&&(p.length===0?d.f&33554432?(d.f^=ee,wi(d,null,c)):rr(d):tr(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:Kn(()=>{p=H(f);var e=p.length;let t=!1;k&&Fe(c)===`[!`!=(e===0)&&(c=Pe(),je(c),Ae(!1),t=!0);for(var r=new Set,u=vt,v=wn(),y=0;y<e;y+=1){k&&A.nodeType===8&&A.data===`]`&&(c=A,t=!0,Ae(!1));var b=p[y],x=a(b,y),S=h?null:l.get(x);S?(S.v&&cn(S.v,b),S.i&&cn(S.i,y),v&&u.unskip_effect(S.e)):(S=Ci(l,h?c:bi??=bn(),b,x,y,o,n,i),h||(S.e.f|=ee),l.set(x,S)),r.add(x)}if(e===0&&s&&!d&&(h?d=Jn(()=>s(c)):(d=Jn(()=>s(bi??=bn())),d.f|=ee)),e>r.size&&de(``,``,``),k&&e>0&&je(Pe()),!h)if(m.set(u,r),v){for(let[e,t]of l)r.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);t&&Ae(!0),H(f)}),flags:n,items:l,pending:m,outrogroups:null,fallback:d};h=!1,k&&(c=A)}function xi(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Si(e,t,n,i,a){var o=(i&8)!=0,s=t.length,c=e.items,l=xi(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(o)for(v=0;v<s;v+=1)h=t[v],g=a(h,v),_=c.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<s;v+=1){if(h=t[v],g=a(h,v),_=c.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(rr(_),o&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=ee,_===l)wi(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),Ti(e,d,_),Ti(e,_,y),wi(_,y,n),d=_,p=[],m=[],l=xi(d.next);continue}if(_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],C=p[p.length-1];for(x=0;x<p.length;x+=1)wi(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);Ti(e,S.prev,C.next),Ti(e,d,S),Ti(e,C,b),l=b,d=C,--v,p=[],m=[]}else u.delete(_),wi(_,l,n),Ti(e,_.prev,_.next),Ti(e,_,d===null?e.effect.first:d.next),Ti(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=xi(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=xi(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(yi(e,r(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var w=[];if(u!==void 0)for(_ of u)_.f&8192||w.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&w.push(l),l=xi(l.next);var T=w.length;if(T>0){var E=i&4&&s===0?n:null;if(o){for(v=0;v<T;v+=1)w[v].nodes?.a?.measure();for(v=0;v<T;v+=1)w[v].nodes?.a?.fix()}vi(e,w,E)}}o&&Ye(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Ci(e,t,n,r,i,a,o,s){var c=o&1?o&16?an(n):F(n,!1,!1):null,l=o&2?an(i):null;return{v:c,i:l,e:Jn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function wi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Sn(r);if(a.before(r),r===i)return;r=o}}function Ti(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}var Ei=()=>performance.now(),Di={tick:e=>requestAnimationFrame(e),now:()=>Ei(),tasks:new Set};function Oi(){let e=Di.now();Di.tasks.forEach(t=>{t.c(e)||(Di.tasks.delete(t),t.f())}),Di.tasks.size!==0&&Di.tick(Oi)}function ki(e){let t;return Di.tasks.size===0&&Di.tick(Oi),{promise:new Promise(n=>{Di.tasks.add(t={c:e,f:n})}),abort(){Di.tasks.delete(t)}}}function Ai(e,t){jn(()=>{e.dispatchEvent(new CustomEvent(t))})}function ji(e){if(e===`float`)return`cssFloat`;if(e===`offset`)return`cssOffset`;if(e.startsWith(`--`))return e;let t=e.split(`-`);return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join(``)}function Mi(e){let t={},n=e.split(`;`);for(let e of n){let[n,r]=e.split(`:`);if(!n||r===void 0)break;let i=ji(n.trim());t[i]=r.trim()}return t}var Ni=e=>e;function Pi(e,t,n,r){var i=(e&1)!=0,a=(e&2)!=0,o=i&&a,s=(e&4)!=0,c=o?`both`:i?`in`:`out`,l,u=t.inert,d=t.style.overflow,f,p;function m(){return jn(()=>l??=n()(t,r?.()??{},{direction:c}))}var h={is_global:s,in(){if(t.inert=u,!i){p?.abort(),p?.reset?.();return}a||f?.abort(),f=Fi(t,m(),p,1,()=>{Ai(t,`introend`),f?.abort(),f=l=void 0,t.style.overflow=d})},out(e){if(!a){e?.(),l=void 0;return}t.inert=!0,p=Fi(t,m(),f,0,()=>{Ai(t,`outroend`),e?.()})},stop:()=>{f?.abort(),p?.abort()}},g=hr;if((g.nodes.t??=[]).push(h),i&&ui){var _=s;if(!_){for(var v=g.parent;v&&v.f&65536;)for(;(v=v.parent)&&!(v.f&16););_=!v||(v.f&32768)!=0}_&&Hn(()=>{U(()=>h.in())})}}function Fi(e,t,n,r,i){var a=r===1;if(d(t)){var o,s=!1;return Ye(()=>{s||(o=Fi(e,t({direction:a?`in`:`out`}),n,r,i))}),{abort:()=>{s=!0,o?.abort()},deactivate:()=>o.deactivate(),reset:()=>o.reset(),t:()=>o.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return Ai(e,a?`introstart`:`outrostart`),i(),{abort:f,deactivate:f,reset:f,t:()=>r};let{delay:c=0,css:l,tick:u,easing:p=Ni}=t;var m=[];if(a&&n===void 0&&(u&&u(0,1),l)){var h=Mi(l(0,1));m.push(h,h)}var g=()=>1-r,_=e.animate(m,{duration:c,fill:`forwards`});return _.onfinish=()=>{_.cancel(),Ai(e,a?`introstart`:`outrostart`);var o=n?.t()??1-r;n?.abort();var s=r-o,c=t.duration*Math.abs(s),d=[];if(c>0){var f=!1;if(l)for(var m=Math.ceil(c/(1e3/60)),h=0;h<=m;h+=1){var v=o+s*p(h/m),y=Mi(l(v,1-v));d.push(y),f||=y.overflow===`hidden`}f&&(e.style.overflow=`hidden`),g=()=>{var e=_.currentTime;return o+s*p(e/c)},u&&ki(()=>{if(_.playState!==`running`)return!1;var e=g();return u(e,1-e),!0})}_=e.animate(d,{duration:c,fill:`forwards`}),_.onfinish=()=>{g=()=>r,u?.(r,1-r),i()}},{abort:()=>{_&&(_.cancel(),_.effect=null,_.onfinish=f)},deactivate:()=>{i=f},reset:()=>{r===0&&u?.(1,0)},t:()=>g()}}function Ii(e,t,n,r,i,a){let o=k;k&&Me();var s=null;k&&A.nodeType===1&&(s=A,Me());var c=k?A:e,l=new gi(c,!1);Kn(()=>{let e=t()||null;var a=i?i():n||e===`svg`?Te:void 0;if(e===null){l.ensure(null,null),di(!0);return}return l.ensure(e,t=>{if(e){if(s=k?s:Tn(e,a),ai(s,s),r){k&&qr(e)&&s.append(document.createComment(``));var n=k?xn(s):s.appendChild(bn());k&&(n===null?Ae(!1):je(n)),r(s,n)}hr.nodes.end=s,t.before(s)}k&&je(t)}),di(!0),()=>{e&&di(!1)}},T),Ln(()=>{di(!0)}),o&&(Ae(!0),je(c))}function Li(e,t){var n=void 0,r;qn(()=>{n!==(n=t())&&(r&&=(Qn(r),null),n&&(r=Jn(()=>{Hn(()=>n(e))})))})}function Ri(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ri(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function zi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ri(e))&&(r&&(r+=` `),r+=t);return r}function Bi(e){return typeof e==`object`?zi(e):e??``}var Vi=[...`
|
|
2
|
-
\r\f\xA0\v`];function Hi(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Vi.includes(r[o-1]))&&(s===r.length||Vi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Ui(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Wi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Gi(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Wi)),i&&c.push(...Object.keys(i).map(Wi));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Wi(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Ui(r)),i&&(n+=Ui(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Ki(e,t,n,r,i,a){var o=e.__className;if(k||o!==n||o===void 0){var s=Hi(n,r,a);(!k||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function qi(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Ji(e,t,n,r){var i=e.__style;if(k||i!==t){var a=Gi(t,r);(!k||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(qi(e,n?.[0],r[0]),qi(e,n?.[1],r[1],`important`)):qi(e,n,r));return r}function Yi(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return Oe();for(var i of t.options)i.selected=n.includes(Qi(i));return}for(i of t.options)if(mn(Qi(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function Xi(e){var t=new MutationObserver(()=>{Yi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Ln(()=>{t.disconnect()})}function Zi(e,t,n=t){var r=new WeakSet,i=!0;Mn(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Qi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Qi(o)}n(a),e.__value=a,vt!==null&&r.add(vt)}),Hn(()=>{var a=t();if(e===document.activeElement){var o=ze?yt:vt;if(r.has(o))return}if(Yi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Qi(s),n(a))}e.__value=a,i=!1}),Xi(e)}function Qi(e){return`__value`in e?e.__value:e.value}var $i=Symbol(`class`),ea=Symbol(`style`),ta=Symbol(`is custom element`),na=Symbol(`is html`),ra=ce?`link`:`LINK`,ia=ce?`input`:`INPUT`,aa=ce?`option`:`OPTION`,oa=ce?`select`:`SELECT`,sa=ce?`progress`:`PROGRESS`;function ca(e){if(k){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;fa(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;fa(e,`checked`,null),e.checked=r}}};e.__on_r=n,Ye(n),An()}}function la(e,t){var n=ha(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==sa)||(e.value=t??``)}function ua(e,t){var n=ha(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function da(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function fa(e,t,n,r){var i=ha(e);k&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===ra)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[O]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&_a(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function pa(e,t,n,r,i=!1,a=!1){if(k&&i&&e.nodeName===ia){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||ca(o)}var s=ha(e),c=s[ta],l=!s[na];let u=k&&c;u&&Ae(!1);var d=t||{},f=e.nodeName===aa;for(var p in t)p in n||(n[p]=null);n.class?n.class=Bi(n.class):(r||n[$i])&&(n.class=null),n[ea]&&(n.style??=null);var m=_a(e);for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){Ki(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[$i],n[$i]),d[i]=o,d[$i]=n[$i];continue}if(i===`style`){Ji(e,o,t?.[ea],n[ea]),d[i]=o,d[ea]=n[ea];continue}var h=d[i];if(!(o===h&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var g=i[0]+i[1];if(g!==`$$`)if(g===`on`){let t={},n=`$$`+i,r=i.slice(2);var _=Br(r);if(Rr(r)&&(r=r.slice(0,-7),t.capture=!0),!_&&h){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(_)Qr(r,e,o),$r([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=Zr(r,e,a,t)}}else if(i===`style`)fa(e,i,o);else if(i===`autofocus`)Dn(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)da(e,o);else{var v=i;l||(v=Ur(v));var y=v===`defaultValue`||v===`defaultChecked`;if(o==null&&!c&&!y)if(s[i]=null,v===`value`||v===`checked`){let n=e,r=t===void 0;if(v===`value`){let e=n.defaultValue;n.removeAttribute(v),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(v),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else y||m.includes(v)&&(c||typeof o!=`string`)?(e[v]=o,v in s&&(s[v]=Ce)):typeof o!=`function`&&fa(e,v,o,a)}}}return u&&Ae(!0),d}function ma(e,t,n=[],r=[],i=[],a,o=!1,s=!1){Ht(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===oa,l=!1;if(qn(()=>{var u=t(...n.map(H)),d=pa(e,r,u,a,o,s);l&&c&&`value`in u&&Yi(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Qn(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Qn(i[t]),i[t]=Jn(()=>Li(e,()=>f))),d[t]=f}r=d}),c){var u=e;Hn(()=>{Yi(u,r.value,!0),Xi(u)})}l=!0})}function ha(e){return e.__attributes??={[ta]:e.nodeName.includes(`-`),[na]:e.namespaceURI===we}}var ga=new Map;function _a(e){var t=e.getAttribute(`is`)||e.nodeName,n=ga.get(t);if(n)return n;ga.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var s in r=o(i),r)r[s].set&&n.push(s);i=l(i)}return n}function Z(e,t,n=t){var r=new WeakSet;Mn(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=va(e)?ya(a):a,n(a),vt!==null&&r.add(vt),await Pr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(k&&e.defaultValue!==e.value||U(t)==null&&e.value)&&(n(va(e)?ya(e.value):e.value),vt!==null&&r.add(vt)),Gn(()=>{var n=t();if(e===document.activeElement){var i=ze?yt:vt;if(r.has(i))return}va(e)&&n===ya(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function va(e){var t=e.type;return t===`number`||t===`range`}function ya(e){return e===``?null:+e}function ba(e,t,n){var r=a(e,t);r&&r.set&&(e[t]=n,Ln(()=>{e[t]=null}))}function xa(e,t){return e===t||e?.[ae]===t}function Sa(e={},t,n,r){var i=He.r,a=hr;return Hn(()=>{var o,s;return Gn(()=>{o=s,s=r?.()||[],U(()=>{e!==n(...s)&&(t(e,...s),o&&xa(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&xa(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function Ca(e){return function(...t){return t[0].stopPropagation(),e?.apply(this,t)}}function wa(e){return function(...t){return t[0].preventDefault(),e?.apply(this,t)}}function Ta(e=!1){let t=He,n=t.l.u;if(!n)return;let r=()=>W(t.s);if(e){let e=0,n={},i=Kt(()=>{let r=!1,i=t.s;for(let e in i)i[e]!==n[e]&&(n[e]=i[e],r=!0);return r&&e++,e});r=()=>H(i)}n.b.length&&Bn(()=>{Ea(t,r),m(n.b)}),Rn(()=>{let e=U(()=>n.m.map(p));return()=>{for(let t of e)typeof t==`function`&&t()}}),n.a.length&&Rn(()=>{Ea(t,r),m(n.a)})}function Ea(e,t){if(e.l.s)for(let t of e.l.s)H(t);t()}function Da(t,n){var r=t.$$events?.[n.type];for(var i of e(r)?r.slice():r==null?[]:[r])i.call(this,n)}function Q(e,t,n,r){var i=!Be||(n&2)!=0,o=(n&8)!=0,s=(n&16)!=0,c=r,l=!0,u=()=>(l&&(l=!1,c=s?U(r):r),c);let d;if(o){var f=ae in e||oe in e;d=a(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;o?[p,m]=gt(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=u(),d&&(i&&_e(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?u():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?Kt:Yt)(()=>(_=!1,h()));o&&H(v);var y=hr;return(function(e,t){if(arguments.length>0){let n=t?H(v):i&&o?fn(e):e;return I(v,n),_=!0,c!==void 0&&(c=n),e}return ur&&_||y.f&16384?v.v:H(v)})}function Oa(e){He===null&&le(`onMount`),Be&&He.l!==null?Na(He).m.push(e):Rn(()=>{let t=U(e);if(typeof t==`function`)return t})}function ka(e){He===null&&le(`onDestroy`),Oa(()=>()=>U(e))}function Aa(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function ja(){let t=He;return t===null&&le(`createEventDispatcher`),(n,r,i)=>{let a=t.s.$$events?.[n];if(a){let o=e(a)?a.slice():[a],s=Aa(n,r,i);for(let e of o)e.call(t.x,s);return!s.defaultPrevented}return!0}}function Ma(e){He===null&&le(`afterUpdate`),He.l===null&&ge(`afterUpdate`),Na(He).a.push(e)}function Na(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`),Ve();var Pa=M(`light`),Fa=M(`dashboard`),Ia=M([]),La=M(null),Ra=M(!1),za=M([]),Ba=M(``),Va=M(null),Ha=M(null),Ua=M([]),Wa=M(0),Ga=M(1),Ka=M(25),qa=M(``),Ja=M(``),Ya=M(null),Xa=M(null),Za=M(`updated_at`),Qa=M(`desc`),$a=M(new Set),eo=M(``),to=M([]),no=M(0),ro=M(1),io=M(25),ao=M(null),oo=st([Ia,za,Ba],([e,t,n])=>{let r=n?e.filter(e=>e.repo.toLowerCase().includes(n.toLowerCase())):e;return{pinned:r.filter(e=>t.includes(e.repo)).sort((e,n)=>t.indexOf(e.repo)-t.indexOf(n.repo)),unpinned:r.filter(e=>!t.includes(e.repo))}}),so=st([Wa,Ka],([e,t])=>Math.max(1,Math.ceil(e/t)));function co(){let e=localStorage.getItem(`theme`)||`light`;Pa.set(e),document.documentElement.classList.toggle(`dark`,e===`dark`),Ra.set(localStorage.getItem(`repoSidebarCollapsed`)===`1`);try{let e=localStorage.getItem(`pinnedRepos`);za.set(e?JSON.parse(e):[])}catch{za.set([])}let t=localStorage.getItem(`activeTab`);t&&Fa.set(t),Pa.subscribe(e=>{localStorage.setItem(`theme`,e),document.documentElement.classList.toggle(`dark`,e===`dark`)}),Ra.subscribe(e=>{localStorage.setItem(`repoSidebarCollapsed`,e?`1`:`0`)}),za.subscribe(e=>{localStorage.setItem(`pinnedRepos`,JSON.stringify(e))}),Fa.subscribe(e=>{localStorage.setItem(`activeTab`,e)})}async function lo(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.json().catch(()=>({error:n.statusText}));throw Error(e.error||e.errors?.[0]?.detail||`HTTP ${n.status}`)}return uo(await n.json())}function uo(e){if(!e||typeof e!=`object`||!(`data`in e))return e;let{data:t,meta:n}=e,r=e=>{let t=e.attributes||{};return e.type===`status`&&t.success===void 0&&(t.success=!0),e.id===`system`?t:{id:e.id,...t}};if(Array.isArray(t)){let e=t.map(r),i={};n&&(i.pagination=n);let a=t[0]?.type;if(a===`repository`)return{repos:e};if(a===`recent-action`)return{...i,actions:e};if(a===`memory`)return{...i,memories:e};if(a===`task`)return{...i,tasks:e};let o=a?`${a}s`:`data`;return i[o]=e,i}if(t.type===`capability`){let e=t.attributes,n=e=>e.map(e=>({data:{id:e.id,...e.attributes||{}}}));return{tools:n(e.tools||[]),prompts:n(e.prompts||[]),resources:n(e.resources||[])}}return r(t)}var fo={health:()=>lo(`/api/health`),repos:()=>lo(`/api/repos`),stats:e=>lo(`/api/stats${e?`?repo=${encodeURIComponent(e)}`:``}`),recentActions:(e,t,n)=>{let r=`/api/recent-actions?page=${t}&pageSize=${n}`;return e&&(r+=`&repo=${encodeURIComponent(e)}`),lo(r)},memories:e=>{let t=new URLSearchParams({repo:e.repo});return e.type&&t.set(`type`,e.type),e.search&&t.set(`search`,e.search),e.minImportance!=null&&t.set(`minImportance`,String(e.minImportance)),e.maxImportance!=null&&t.set(`maxImportance`,String(e.maxImportance)),e.sortBy&&t.set(`sortBy`,e.sortBy),e.sortOrder&&t.set(`sortOrder`,e.sortOrder),e.page&&t.set(`page`,String(e.page)),e.pageSize&&t.set(`pageSize`,String(e.pageSize)),lo(`/api/memories?${t}`)},memoryById:e=>lo(`/api/memories/${e}`),createMemory:e=>lo(`/api/memories`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),updateMemory:(e,t)=>lo(`/api/memories/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),deleteMemory:e=>lo(`/api/memories/${e}`,{method:`DELETE`}),bulkImportMemories:(e,t)=>lo(`/api/memories/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({repo:e,items:t})}),bulkMemoryAction:(e,t,n)=>lo(`/api/memories/action`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:e,ids:t,updates:n})}),tasks:e=>{let t=new URLSearchParams({repo:e.repo});return e.status&&t.set(`status`,e.status),e.search&&t.set(`search`,e.search),e.page&&t.set(`page`,String(e.page)),e.pageSize&&t.set(`pageSize`,String(e.pageSize)),lo(`/api/tasks?${t}`)},taskById:e=>lo(`/api/tasks/${e}`),taskByCode:(e,t)=>lo(`/api/tasks/by-code?repo=${encodeURIComponent(e)}&task_code=${encodeURIComponent(t)}`),taskTimeStats:e=>lo(`/api/tasks/stats/time?repo=${encodeURIComponent(e)}`),updateTask:(e,t)=>lo(`/api/tasks/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),createTask:e=>lo(`/api/tasks`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),deleteTask:e=>lo(`/api/tasks/${e}`,{method:`DELETE`}),bulkImportTasks:(e,t)=>lo(`/api/tasks/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({repo:e,items:t})}),updateTaskComment:(e,t)=>lo(`/api/tasks/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({comment:t})}),deleteTaskComment:e=>lo(`/api/tasks/comments/${e}`,{method:`DELETE`}),standards:e=>{let t=new URLSearchParams;return e.repo&&t.set(`repo`,e.repo),e.query&&t.set(`query`,e.query),e.language&&t.set(`language`,e.language),e.stack&&t.set(`stack`,e.stack),e.tags&&t.set(`tags`,e.tags),e.is_global!==void 0&&t.set(`is_global`,String(e.is_global)),e.page&&t.set(`page`,String(e.page)),e.pageSize&&t.set(`pageSize`,String(e.pageSize)),lo(`/api/standards?${t}`)},standardById:e=>lo(`/api/standards/${e}`),createStandard:e=>lo(`/api/standards`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),updateStandard:(e,t)=>lo(`/api/standards/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),deleteStandard:e=>lo(`/api/standards/${e}`,{method:`DELETE`}),export:e=>lo(`/api/export?repo=${encodeURIComponent(e)}`),capabilities:()=>lo(`/api/capabilities`),callTool:(e,t)=>lo(`/api/tools/${encodeURIComponent(e)}/call`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},po=[{id:`dashboard`,label:`Dashboard`,icon:`layout-dashboard`},{id:`activity`,label:`Activity`,icon:`activity`},{id:`memories`,label:`Memories`,icon:`brain`},{id:`tasks`,label:`Tasks`,icon:`clipboard-list`},{id:`standards`,label:`Standards`,icon:`check`},{id:`handoffs`,label:`Handoffs`,icon:`git-branch`},{id:`reference`,label:`Reference`,icon:`book-open`}];function mo(e){let{subscribe:t,set:n,update:r}=M({mobileMenuOpen:!1,selectedMemory:null,selectedTask:null,drawerOpen:!1,selectedReference:null,referenceDrawerOpen:!1,memoryDrawerOpen:!1,memoryDrawerItem:null,bulkImportOpen:!1,bulkImportTarget:`memories`,addTaskModalOpen:!1,newTask:{task_code:``,title:``,phase:``,description:``,status:`pending`,priority:3},capabilities:null,referenceSearch:``,referenceFilter:`all`});async function i(){try{let e=await fo.repos();if(Ia.set(e.repos||[]),e.repos?.length>0){let t=localStorage.getItem(`selectedRepo`),n=e.repos.find(e=>e.repo===t)?t:e.repos[0].repo;La.set(n),localStorage.setItem(`selectedRepo`,n)}}catch(e){console.error(`Failed to load repos:`,e)}}async function a(){try{let e=await fo.health();ao.set(e)}catch{ao.set(null)}}async function o(){let e=N(La);if(e){try{let t=await fo.stats(e);Va.set(t)}catch(e){console.error(`Failed to load stats:`,e)}try{let t=await fo.taskTimeStats(e);Ha.set(t)}catch(e){console.error(`Failed to load task time stats:`,e)}}}async function s(e,t=!1){let n=N(La);if(!n)return;let r=e??N(ro);try{let e=await fo.recentActions(n,r,N(io));t?to.update(t=>[...t,...e.actions||[]]):to.set(e.actions||[]),ro.set(e.pagination?.page??r),no.set(e.pagination?.totalItems??0)}catch(e){console.error(`Failed to load recent actions:`,e)}}async function c(){N(La)&&await Promise.all([o(),s()])}async function l(t){La.set(t),await c(),e.memoryList?.refresh(),e.kanbanBoard?.loadTasks(t),r(e=>({...e,mobileMenuOpen:!1}))}async function u(){await a(),await c();let t=N(Fa),n=N(La);t===`memories`&&e.memoryList?.refresh(),t===`tasks`&&n&&e.kanbanBoard?.loadTasks(n)}async function d(n){Fa.set(n);let i=N(La);if(n===`memories`)setTimeout(()=>e.memoryList?.refresh(),50);else if(n===`tasks`&&i)setTimeout(()=>e.kanbanBoard?.loadTasks(i),50);else if(n===`reference`&&!N({subscribe:t}).capabilities)try{let e=await fo.capabilities();r(t=>({...t,capabilities:e}))}catch(e){console.error(`Failed to load capabilities:`,e)}}function f(e){r(t=>({...t,bulkImportTarget:e,bulkImportOpen:!0}))}function p(e,t){r(n=>({...n,selectedReference:{type:e,data:t},referenceDrawerOpen:!0}))}function m(e){r(t=>({...t,memoryDrawerItem:e,memoryDrawerOpen:!0}))}function h(){r(e=>({...e,memoryDrawerItem:null,memoryDrawerOpen:!0}))}function g(){e.memoryList?.refresh()}function _(){e.memoryList?.refresh()}async function v(e){r(t=>({...t,selectedTask:e,selectedMemory:null,drawerOpen:!0}));try{let n=await fo.taskById(e.id);N({subscribe:t}).selectedTask?.id===n.id&&r(e=>({...e,selectedTask:n}))}catch(e){console.error(`Failed to fetch full task details:`,e)}}function y(){r(e=>({...e,drawerOpen:!1})),setTimeout(()=>{r(e=>({...e,selectedMemory:null,selectedTask:null}))},300)}function b(t){r(e=>({...e,selectedTask:t}));let n=N(La);n&&e.kanbanBoard?.loadTasks(n)}async function x(){let n=N(La),{newTask:i}=N({subscribe:t});if(!(!n||!i.task_code||!i.title))try{await fo.createTask({...i,repo:n}),r(e=>({...e,addTaskModalOpen:!1,newTask:{task_code:``,title:``,phase:``,description:``,status:`pending`,priority:3}})),e.kanbanBoard?.loadTasks(n)}catch(e){let t=e instanceof Error?e.message:`Unknown error`;alert(`Failed to create task: `+t)}}function S(e){let t=e.target?.tagName;t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||(e.key===`Escape`&&y(),(e.key===`r`||e.key===`R`)&&u())}function C(){r(e=>({...e,mobileMenuOpen:!e.mobileMenuOpen}))}function w(e){r(t=>({...t,referenceSearch:e}))}function T(e){r(t=>({...t,referenceFilter:e}))}function E(e){r(t=>({...t,referenceDrawerOpen:e}))}function D(e){r(t=>({...t,memoryDrawerOpen:e}))}function ee(e){r(t=>({...t,addTaskModalOpen:e}))}function te(e){r(t=>({...t,bulkImportOpen:e}))}return{subscribe:t,set:n,update:r,TABS:po,sidebarCollapsed:st(Ra,e=>e),filteredTools:st({subscribe:t},e=>(e.capabilities?.tools||[]).filter(t=>(e.referenceFilter===`all`||e.referenceFilter===`tools`)&&(!e.referenceSearch||t.data.name.toLowerCase().includes(e.referenceSearch.toLowerCase())||(t.data.description||``).toLowerCase().includes(e.referenceSearch.toLowerCase())))),filteredPrompts:st({subscribe:t},e=>(e.capabilities?.prompts||[]).filter(t=>(e.referenceFilter===`all`||e.referenceFilter===`prompts`)&&(!e.referenceSearch||t.data.name.toLowerCase().includes(e.referenceSearch.toLowerCase())||(t.data.description||``).toLowerCase().includes(e.referenceSearch.toLowerCase())))),filteredResources:st({subscribe:t},e=>(e.capabilities?.resources||[]).filter(t=>(e.referenceFilter===`all`||e.referenceFilter===`resources`)&&(!e.referenceSearch||t.data.name.toLowerCase().includes(e.referenceSearch.toLowerCase())||(t.data.description||``).toLowerCase().includes(e.referenceSearch.toLowerCase())))),loadRepos:i,loadHealth:a,loadData:c,loadStats:o,loadRecentActions:s,onRepoSelect:l,onRefresh:u,onTabChange:d,openBulkImport:f,openReferenceDrawer:p,openMemoryDrawer:m,openNewMemoryDrawer:h,handleMemorySaved:g,handleMemoryDeleted:_,openTaskDrawer:v,closeDrawer:y,handleTaskUpdated:b,createTask:x,onKeyDown:S,toggleMobileMenu:C,setReferenceSearch:w,setReferenceFilter:T,toggleReferenceDrawer:E,toggleMemoryDrawer:D,toggleAddTaskModal:ee,toggleBulkImport:te,refs:e}}function ho(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var go=ho();function _o(e){go=e}var vo={exec:()=>null};function yo(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(xo.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var bo=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),xo={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},So=/^(?:[ \t]*(?:\n|$))+/,Co=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,wo=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,To=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Eo=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Do=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Oo=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ko=yo(Oo).replace(/bull/g,Do).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),Ao=yo(Oo).replace(/bull/g,Do).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),jo=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Mo=/^[^\n]+/,No=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Po=yo(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,No).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Fo=yo(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Do).getRegex(),Io=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,Lo=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ro=yo(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,Lo).replace(`tag`,Io).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),zo=yo(jo).replace(`hr`,To).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Io).getRegex(),Bo={blockquote:yo(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,zo).getRegex(),code:Co,def:Po,fences:wo,heading:Eo,hr:To,html:Ro,lheading:ko,list:Fo,newline:So,paragraph:zo,table:vo,text:Mo},Vo=yo(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,To).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Io).getRegex(),Ho={...Bo,lheading:Ao,table:Vo,paragraph:yo(jo).replace(`hr`,To).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,Vo).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Io).getRegex()},Uo={...Bo,html:yo(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,Lo).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:vo,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:yo(jo).replace(`hr`,To).replace(`heading`,` *#{1,6} *[^
|
|
2
|
+
\r\f\xA0\v`];function Hi(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||Vi.includes(r[o-1]))&&(s===r.length||Vi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Ui(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Wi(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Gi(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Wi)),i&&c.push(...Object.keys(i).map(Wi));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Wi(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Ui(r)),i&&(n+=Ui(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Ki(e,t,n,r,i,a){var o=e.__className;if(k||o!==n||o===void 0){var s=Hi(n,r,a);(!k||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function qi(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Ji(e,t,n,r){var i=e.__style;if(k||i!==t){var a=Gi(t,r);(!k||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(qi(e,n?.[0],r[0]),qi(e,n?.[1],r[1],`important`)):qi(e,n,r));return r}function Yi(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return Oe();for(var i of t.options)i.selected=n.includes(Qi(i));return}for(i of t.options)if(mn(Qi(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function Xi(e){var t=new MutationObserver(()=>{Yi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Ln(()=>{t.disconnect()})}function Zi(e,t,n=t){var r=new WeakSet,i=!0;Mn(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),Qi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&Qi(o)}n(a),e.__value=a,vt!==null&&r.add(vt)}),Hn(()=>{var a=t();if(e===document.activeElement){var o=ze?yt:vt;if(r.has(o))return}if(Yi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=Qi(s),n(a))}e.__value=a,i=!1}),Xi(e)}function Qi(e){return`__value`in e?e.__value:e.value}var $i=Symbol(`class`),ea=Symbol(`style`),ta=Symbol(`is custom element`),na=Symbol(`is html`),ra=ce?`link`:`LINK`,ia=ce?`input`:`INPUT`,aa=ce?`option`:`OPTION`,oa=ce?`select`:`SELECT`,sa=ce?`progress`:`PROGRESS`;function ca(e){if(k){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;fa(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;fa(e,`checked`,null),e.checked=r}}};e.__on_r=n,Ye(n),An()}}function la(e,t){var n=ha(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==sa)||(e.value=t??``)}function ua(e,t){var n=ha(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function da(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function fa(e,t,n,r){var i=ha(e);k&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===ra)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[O]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&_a(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function pa(e,t,n,r,i=!1,a=!1){if(k&&i&&e.nodeName===ia){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||ca(o)}var s=ha(e),c=s[ta],l=!s[na];let u=k&&c;u&&Ae(!1);var d=t||{},f=e.nodeName===aa;for(var p in t)p in n||(n[p]=null);n.class?n.class=Bi(n.class):(r||n[$i])&&(n.class=null),n[ea]&&(n.style??=null);var m=_a(e);for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){Ki(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[$i],n[$i]),d[i]=o,d[$i]=n[$i];continue}if(i===`style`){Ji(e,o,t?.[ea],n[ea]),d[i]=o,d[ea]=n[ea];continue}var h=d[i];if(!(o===h&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var g=i[0]+i[1];if(g!==`$$`)if(g===`on`){let t={},n=`$$`+i,r=i.slice(2);var _=Br(r);if(Rr(r)&&(r=r.slice(0,-7),t.capture=!0),!_&&h){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(_)Qr(r,e,o),$r([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=Zr(r,e,a,t)}}else if(i===`style`)fa(e,i,o);else if(i===`autofocus`)Dn(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)da(e,o);else{var v=i;l||(v=Ur(v));var y=v===`defaultValue`||v===`defaultChecked`;if(o==null&&!c&&!y)if(s[i]=null,v===`value`||v===`checked`){let n=e,r=t===void 0;if(v===`value`){let e=n.defaultValue;n.removeAttribute(v),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(v),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else y||m.includes(v)&&(c||typeof o!=`string`)?(e[v]=o,v in s&&(s[v]=Ce)):typeof o!=`function`&&fa(e,v,o,a)}}}return u&&Ae(!0),d}function ma(e,t,n=[],r=[],i=[],a,o=!1,s=!1){Ht(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===oa,l=!1;if(qn(()=>{var u=t(...n.map(H)),d=pa(e,r,u,a,o,s);l&&c&&`value`in u&&Yi(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Qn(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Qn(i[t]),i[t]=Jn(()=>Li(e,()=>f))),d[t]=f}r=d}),c){var u=e;Hn(()=>{Yi(u,r.value,!0),Xi(u)})}l=!0})}function ha(e){return e.__attributes??={[ta]:e.nodeName.includes(`-`),[na]:e.namespaceURI===we}}var ga=new Map;function _a(e){var t=e.getAttribute(`is`)||e.nodeName,n=ga.get(t);if(n)return n;ga.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var s in r=o(i),r)r[s].set&&n.push(s);i=l(i)}return n}function Z(e,t,n=t){var r=new WeakSet;Mn(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=va(e)?ya(a):a,n(a),vt!==null&&r.add(vt),await Pr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(k&&e.defaultValue!==e.value||U(t)==null&&e.value)&&(n(va(e)?ya(e.value):e.value),vt!==null&&r.add(vt)),Gn(()=>{var n=t();if(e===document.activeElement){var i=ze?yt:vt;if(r.has(i))return}va(e)&&n===ya(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function va(e){var t=e.type;return t===`number`||t===`range`}function ya(e){return e===``?null:+e}function ba(e,t,n){var r=a(e,t);r&&r.set&&(e[t]=n,Ln(()=>{e[t]=null}))}function xa(e,t){return e===t||e?.[ae]===t}function Sa(e={},t,n,r){var i=He.r,a=hr;return Hn(()=>{var o,s;return Gn(()=>{o=s,s=r?.()||[],U(()=>{e!==n(...s)&&(t(e,...s),o&&xa(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&xa(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function Ca(e){return function(...t){return t[0].stopPropagation(),e?.apply(this,t)}}function wa(e){return function(...t){return t[0].preventDefault(),e?.apply(this,t)}}function Ta(e=!1){let t=He,n=t.l.u;if(!n)return;let r=()=>W(t.s);if(e){let e=0,n={},i=Kt(()=>{let r=!1,i=t.s;for(let e in i)i[e]!==n[e]&&(n[e]=i[e],r=!0);return r&&e++,e});r=()=>H(i)}n.b.length&&Bn(()=>{Ea(t,r),m(n.b)}),Rn(()=>{let e=U(()=>n.m.map(p));return()=>{for(let t of e)typeof t==`function`&&t()}}),n.a.length&&Rn(()=>{Ea(t,r),m(n.a)})}function Ea(e,t){if(e.l.s)for(let t of e.l.s)H(t);t()}function Da(t,n){var r=t.$$events?.[n.type];for(var i of e(r)?r.slice():r==null?[]:[r])i.call(this,n)}function Q(e,t,n,r){var i=!Be||(n&2)!=0,o=(n&8)!=0,s=(n&16)!=0,c=r,l=!0,u=()=>(l&&(l=!1,c=s?U(r):r),c);let d;if(o){var f=ae in e||oe in e;d=a(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;o?[p,m]=gt(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=u(),d&&(i&&_e(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?u():(l=!0,n)}:()=>{var n=e[t];return n!==void 0&&(c=void 0),n===void 0?c:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?Kt:Yt)(()=>(_=!1,h()));o&&H(v);var y=hr;return(function(e,t){if(arguments.length>0){let n=t?H(v):i&&o?fn(e):e;return I(v,n),_=!0,c!==void 0&&(c=n),e}return ur&&_||y.f&16384?v.v:H(v)})}function Oa(e){He===null&&le(`onMount`),Be&&He.l!==null?Na(He).m.push(e):Rn(()=>{let t=U(e);if(typeof t==`function`)return t})}function ka(e){He===null&&le(`onDestroy`),Oa(()=>()=>U(e))}function Aa(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function ja(){let t=He;return t===null&&le(`createEventDispatcher`),(n,r,i)=>{let a=t.s.$$events?.[n];if(a){let o=e(a)?a.slice():[a],s=Aa(n,r,i);for(let e of o)e.call(t.x,s);return!s.defaultPrevented}return!0}}function Ma(e){He===null&&le(`afterUpdate`),He.l===null&&ge(`afterUpdate`),Na(He).a.push(e)}function Na(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`),Ve();var Pa=M(`light`),Fa=M(`dashboard`),Ia=M([]),La=M(null),Ra=M(!1),za=M([]),Ba=M(``),Va=M(null),Ha=M(null),Ua=M([]),Wa=M(0),Ga=M(1),Ka=M(25),qa=M(``),Ja=M(``),Ya=M(null),Xa=M(null),Za=M(`updated_at`),Qa=M(`desc`),$a=M(new Set),eo=M(``),to=M([]),no=M(0),ro=M(1),io=M(25),ao=M(null),oo=st([Ia,za,Ba],([e,t,n])=>{let r=n?e.filter(e=>e.repo.toLowerCase().includes(n.toLowerCase())):e;return{pinned:r.filter(e=>t.includes(e.repo)).sort((e,n)=>t.indexOf(e.repo)-t.indexOf(n.repo)),unpinned:r.filter(e=>!t.includes(e.repo))}}),so=st([Wa,Ka],([e,t])=>Math.max(1,Math.ceil(e/t)));function co(){let e=localStorage.getItem(`theme`)||`light`;Pa.set(e),document.documentElement.classList.toggle(`dark`,e===`dark`),Ra.set(localStorage.getItem(`repoSidebarCollapsed`)===`1`);try{let e=localStorage.getItem(`pinnedRepos`);za.set(e?JSON.parse(e):[])}catch{za.set([])}let t=localStorage.getItem(`activeTab`);t&&Fa.set(t),Pa.subscribe(e=>{localStorage.setItem(`theme`,e),document.documentElement.classList.toggle(`dark`,e===`dark`)}),Ra.subscribe(e=>{localStorage.setItem(`repoSidebarCollapsed`,e?`1`:`0`)}),za.subscribe(e=>{localStorage.setItem(`pinnedRepos`,JSON.stringify(e))}),Fa.subscribe(e=>{localStorage.setItem(`activeTab`,e)})}async function lo(e,t){let n=await fetch(e,t);if(!n.ok){let e=await n.json().catch(()=>({error:n.statusText}));throw Error(e.error||e.errors?.[0]?.detail||`HTTP ${n.status}`)}return uo(await n.json())}function uo(e){if(!e||typeof e!=`object`||!(`data`in e))return e;let{data:t,meta:n}=e,r=e=>{let t=e.attributes||{};return e.type===`status`&&t.success===void 0&&(t.success=!0),e.id===`system`?t:{id:e.id,...t}};if(Array.isArray(t)){let e=t.map(r),i={};n&&(i.pagination=n);let a=t[0]?.type;if(a===`repository`)return{repos:e};if(a===`recent-action`)return{...i,actions:e};if(a===`memory`)return{...i,memories:e};if(a===`task`)return{...i,tasks:e};let o=a?`${a}s`:`data`;return i[o]=e,i}if(t.type===`capability`){let e=t.attributes,n=e=>e.map(e=>({data:{id:e.id,...e.attributes||{}}}));return{tools:n(e.tools||[]),prompts:n(e.prompts||[]),resources:n(e.resources||[])}}return r(t)}var fo={health:()=>lo(`/api/health`),repos:()=>lo(`/api/repos`),stats:e=>lo(`/api/stats${e?`?repo=${encodeURIComponent(e)}`:``}`),recentActions:(e,t,n)=>{let r=`/api/recent-actions?page=${t}&pageSize=${n}`;return e&&(r+=`&repo=${encodeURIComponent(e)}`),lo(r)},memories:e=>{let t=new URLSearchParams({repo:e.repo});return e.type&&t.set(`type`,e.type),e.search&&t.set(`search`,e.search),e.minImportance!=null&&t.set(`minImportance`,String(e.minImportance)),e.maxImportance!=null&&t.set(`maxImportance`,String(e.maxImportance)),e.sortBy&&t.set(`sortBy`,e.sortBy),e.sortOrder&&t.set(`sortOrder`,e.sortOrder),e.page&&t.set(`page`,String(e.page)),e.pageSize&&t.set(`pageSize`,String(e.pageSize)),lo(`/api/memories?${t}`)},memoryById:e=>lo(`/api/memories/${e}`),createMemory:e=>lo(`/api/memories`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),updateMemory:(e,t)=>lo(`/api/memories/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),deleteMemory:e=>lo(`/api/memories/${e}`,{method:`DELETE`}),bulkImportMemories:(e,t)=>lo(`/api/memories/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({repo:e,items:t})}),bulkMemoryAction:(e,t,n)=>lo(`/api/memories/action`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:e,ids:t,updates:n})}),tasks:e=>{let t=new URLSearchParams({repo:e.repo});return e.status&&t.set(`status`,e.status),e.search&&t.set(`search`,e.search),e.page&&t.set(`page`,String(e.page)),e.pageSize&&t.set(`pageSize`,String(e.pageSize)),lo(`/api/tasks?${t}`)},taskById:e=>lo(`/api/tasks/${e}`),taskByCode:(e,t)=>lo(`/api/tasks/by-code?repo=${encodeURIComponent(e)}&task_code=${encodeURIComponent(t)}`),taskTimeStats:e=>lo(`/api/tasks/stats/time?repo=${encodeURIComponent(e)}`),updateTask:(e,t)=>lo(`/api/tasks/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),createTask:e=>lo(`/api/tasks`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),deleteTask:e=>lo(`/api/tasks/${e}`,{method:`DELETE`}),bulkImportTasks:(e,t)=>lo(`/api/tasks/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({repo:e,items:t})}),updateTaskComment:(e,t)=>lo(`/api/tasks/comments/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({comment:t})}),deleteTaskComment:e=>lo(`/api/tasks/comments/${e}`,{method:`DELETE`}),standards:e=>{let t=new URLSearchParams;return e.repo&&t.set(`repo`,e.repo),e.query&&t.set(`query`,e.query),e.language&&t.set(`language`,e.language),e.stack&&t.set(`stack`,e.stack),e.tags&&t.set(`tags`,e.tags),e.is_global!==void 0&&t.set(`is_global`,String(e.is_global)),e.page&&t.set(`page`,String(e.page)),e.pageSize&&t.set(`pageSize`,String(e.pageSize)),lo(`/api/standards?${t}`)},standardById:e=>lo(`/api/standards/${e}`),createStandard:e=>lo(`/api/standards`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),updateStandard:(e,t)=>lo(`/api/standards/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}),deleteStandard:e=>lo(`/api/standards/${e}`,{method:`DELETE`}),export:e=>lo(`/api/export?repo=${encodeURIComponent(e)}`),capabilities:()=>lo(`/api/capabilities`),callTool:(e,t)=>lo(`/api/tools/${encodeURIComponent(e)}/call`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},po=[{id:`dashboard`,label:`Dashboard`,icon:`layout-dashboard`},{id:`activity`,label:`Activity`,icon:`activity`},{id:`memories`,label:`Memories`,icon:`brain`},{id:`tasks`,label:`Tasks`,icon:`clipboard-list`},{id:`standards`,label:`Standards`,icon:`check`},{id:`handoffs`,label:`Handoffs`,icon:`git-branch`},{id:`reference`,label:`Reference`,icon:`book-open`}];function mo(e){let{subscribe:t,set:n,update:r}=M({mobileMenuOpen:!1,selectedMemory:null,selectedTask:null,drawerOpen:!1,selectedReference:null,referenceDrawerOpen:!1,memoryDrawerOpen:!1,memoryDrawerItem:null,bulkImportOpen:!1,bulkImportTarget:`memories`,addTaskModalOpen:!1,newTask:{task_code:``,title:``,phase:``,description:``,status:`pending`,priority:3},capabilities:null,referenceSearch:``,referenceFilter:`all`});async function i(){try{let e=await fo.repos();if(Ia.set(e.repos||[]),e.repos?.length>0){let t=localStorage.getItem(`selectedRepo`),n=e.repos.find(e=>e.repo===t)?t:e.repos[0].repo;La.set(n),localStorage.setItem(`selectedRepo`,n)}}catch(e){console.error(`Failed to load repos:`,e)}}async function a(){try{let e=await fo.health();ao.set(e)}catch{ao.set(null)}}async function o(){let e=N(La);if(e){try{let t=await fo.stats(e);Va.set(t)}catch(e){console.error(`Failed to load stats:`,e)}try{let t=await fo.taskTimeStats(e);Ha.set(t)}catch(e){console.error(`Failed to load task time stats:`,e)}}}async function s(e,t=!1){let n=N(La);if(!n)return;let r=e??N(ro);try{let e=await fo.recentActions(n,r,N(io));t?to.update(t=>[...t,...e.actions||[]]):to.set(e.actions||[]),ro.set(e.pagination?.page??r),no.set(e.pagination?.totalItems??0)}catch(e){console.error(`Failed to load recent actions:`,e)}}async function c(){N(La)&&await Promise.all([o(),s()])}async function l(t){La.set(t),await c(),e.memoryList?.refresh(),e.kanbanBoard?.loadTasks(t),r(e=>({...e,mobileMenuOpen:!1}))}async function u(){await a(),await c();let t=N(Fa),n=N(La);t===`memories`&&e.memoryList?.refresh(),t===`tasks`&&n&&e.kanbanBoard?.loadTasks(n)}async function d(n){Fa.set(n);let i=N(La);if(n===`memories`)setTimeout(()=>e.memoryList?.refresh(),50);else if(n===`tasks`&&i)setTimeout(()=>e.kanbanBoard?.loadTasks(i),50);else if(n===`reference`&&!N({subscribe:t}).capabilities)try{let e=await fo.capabilities();r(t=>({...t,capabilities:e}))}catch(e){console.error(`Failed to load capabilities:`,e)}}function f(e){r(t=>({...t,bulkImportTarget:e,bulkImportOpen:!0}))}function p(e,t){r(n=>({...n,selectedReference:{type:e,data:t},referenceDrawerOpen:!0}))}function m(e){r(t=>({...t,memoryDrawerItem:e,memoryDrawerOpen:!0}))}function h(){r(e=>({...e,memoryDrawerItem:null,memoryDrawerOpen:!0}))}function g(){e.memoryList?.refresh()}function _(){e.memoryList?.refresh()}async function v(e){r(t=>({...t,selectedTask:e,selectedMemory:null,drawerOpen:!0}));try{let n=await fo.taskById(e.id);N({subscribe:t}).selectedTask?.id===n.id&&r(e=>({...e,selectedTask:n}))}catch(e){console.error(`Failed to fetch full task details:`,e)}}function y(){r(e=>({...e,drawerOpen:!1})),setTimeout(()=>{r(e=>({...e,selectedMemory:null,selectedTask:null}))},300)}function b(t){r(e=>({...e,selectedTask:t}));let n=N(La);n&&e.kanbanBoard?.loadTasks(n)}async function x(){let n=N(La),{newTask:i}=N({subscribe:t});if(!(!n||!i.task_code||!i.title))try{await fo.createTask({...i,repo:n}),r(e=>({...e,addTaskModalOpen:!1,newTask:{task_code:``,title:``,phase:``,description:``,status:`pending`,priority:3}})),e.kanbanBoard?.loadTasks(n)}catch(e){let t=e instanceof Error?e.message:`Unknown error`;alert(`Failed to create task: `+t)}}function S(e){let t=e.target?.tagName;t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||(e.key===`Escape`&&y(),(e.key===`r`||e.key===`R`)&&u())}function C(){r(e=>({...e,mobileMenuOpen:!e.mobileMenuOpen}))}function w(e){r(t=>({...t,referenceSearch:e}))}function T(e){r(t=>({...t,referenceFilter:e}))}function E(e){r(t=>({...t,referenceDrawerOpen:e}))}function D(e){r(t=>({...t,memoryDrawerOpen:e}))}function ee(e){r(t=>({...t,addTaskModalOpen:e}))}function te(e){r(t=>({...t,bulkImportOpen:e}))}return{subscribe:t,set:n,update:r,TABS:po,sidebarCollapsed:st(Ra,e=>e),filteredTools:st({subscribe:t},e=>(e.capabilities?.tools||[]).filter(t=>(e.referenceFilter===`all`||e.referenceFilter===`tools`)&&(!e.referenceSearch||t.data.name.toLowerCase().includes(e.referenceSearch.toLowerCase())||(t.data.description||``).toLowerCase().includes(e.referenceSearch.toLowerCase())))),filteredPrompts:st({subscribe:t},e=>(e.capabilities?.prompts||[]).filter(t=>(e.referenceFilter===`all`||e.referenceFilter===`prompts`)&&(!e.referenceSearch||t.data.name.toLowerCase().includes(e.referenceSearch.toLowerCase())||(t.data.description||``).toLowerCase().includes(e.referenceSearch.toLowerCase())))),filteredResources:st({subscribe:t},e=>(e.capabilities?.resources||[]).filter(t=>(e.referenceFilter===`all`||e.referenceFilter===`resources`)&&(!e.referenceSearch||t.data.name.toLowerCase().includes(e.referenceSearch.toLowerCase())||(t.data.description||``).toLowerCase().includes(e.referenceSearch.toLowerCase())))),loadRepos:i,loadHealth:a,loadData:c,loadStats:o,loadRecentActions:s,onRepoSelect:l,onRefresh:u,onTabChange:d,openBulkImport:f,openReferenceDrawer:p,openMemoryDrawer:m,openNewMemoryDrawer:h,handleMemorySaved:g,handleMemoryDeleted:_,openTaskDrawer:v,closeDrawer:y,handleTaskUpdated:b,createTask:x,onKeyDown:S,toggleMobileMenu:C,setReferenceSearch:w,setReferenceFilter:T,toggleReferenceDrawer:E,toggleMemoryDrawer:D,toggleAddTaskModal:ee,toggleBulkImport:te,refs:e}}function ho(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var go=ho();function _o(e){go=e}var vo={exec:()=>null};function yo(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(xo.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var bo=(()=>{try{return!0}catch{return!1}})(),xo={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},So=/^(?:[ \t]*(?:\n|$))+/,Co=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,wo=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,To=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Eo=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Do=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Oo=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ko=yo(Oo).replace(/bull/g,Do).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),Ao=yo(Oo).replace(/bull/g,Do).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),jo=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Mo=/^[^\n]+/,No=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Po=yo(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,No).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Fo=yo(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Do).getRegex(),Io=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,Lo=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ro=yo(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,Lo).replace(`tag`,Io).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),zo=yo(jo).replace(`hr`,To).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Io).getRegex(),Bo={blockquote:yo(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,zo).getRegex(),code:Co,def:Po,fences:wo,heading:Eo,hr:To,html:Ro,lheading:ko,list:Fo,newline:So,paragraph:zo,table:vo,text:Mo},Vo=yo(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,To).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Io).getRegex(),Ho={...Bo,lheading:Ao,table:Vo,paragraph:yo(jo).replace(`hr`,To).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,Vo).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Io).getRegex()},Uo={...Bo,html:yo(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,Lo).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:vo,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:yo(jo).replace(`hr`,To).replace(`heading`,` *#{1,6} *[^
|
|
3
3
|
]`).replace(`lheading`,ko).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},Wo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Go=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Ko=/^( {2,}|\\)\n(?!\s*$)/,qo=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Jo=/[\p{P}\p{S}]/u,Yo=/[\s\p{P}\p{S}]/u,Xo=/[^\s\p{P}\p{S}]/u,Zo=yo(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,Yo).getRegex(),Qo=/(?!~)[\p{P}\p{S}]/u,$o=/(?!~)[\s\p{P}\p{S}]/u,es=/(?:[^\s\p{P}\p{S}]|~)/u,ts=yo(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,bo?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),ns=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,rs=yo(ns,`u`).replace(/punct/g,Jo).getRegex(),is=yo(ns,`u`).replace(/punct/g,Qo).getRegex(),as=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,os=yo(as,`gu`).replace(/notPunctSpace/g,Xo).replace(/punctSpace/g,Yo).replace(/punct/g,Jo).getRegex(),ss=yo(as,`gu`).replace(/notPunctSpace/g,es).replace(/punctSpace/g,$o).replace(/punct/g,Qo).getRegex(),cs=yo(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,Xo).replace(/punctSpace/g,Yo).replace(/punct/g,Jo).getRegex(),ls=yo(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,Jo).getRegex(),us=yo(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Xo).replace(/punctSpace/g,Yo).replace(/punct/g,Jo).getRegex(),ds=yo(/\\(punct)/,`gu`).replace(/punct/g,Jo).getRegex(),fs=yo(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),ps=yo(Lo).replace(`(?:-->|$)`,`-->`).getRegex(),ms=yo(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,ps).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),hs=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,gs=yo(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,hs).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),_s=yo(/^!?\[(label)\]\[(ref)\]/).replace(`label`,hs).replace(`ref`,No).getRegex(),vs=yo(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,No).getRegex(),ys=yo(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,_s).replace(`nolink`,vs).getRegex(),bs=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,xs={_backpedal:vo,anyPunctuation:ds,autolink:fs,blockSkip:ts,br:Ko,code:Go,del:vo,delLDelim:vo,delRDelim:vo,emStrongLDelim:rs,emStrongRDelimAst:os,emStrongRDelimUnd:cs,escape:Wo,link:gs,nolink:vs,punctuation:Zo,reflink:_s,reflinkSearch:ys,tag:ms,text:qo,url:vo},Ss={...xs,link:yo(/^!?\[(label)\]\((.*?)\)/).replace(`label`,hs).getRegex(),reflink:yo(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,hs).getRegex()},Cs={...xs,emStrongRDelimAst:ss,emStrongLDelim:is,delLDelim:ls,delRDelim:us,url:yo(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,bs).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:yo(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,bs).getRegex()},ws={...Cs,br:yo(Ko).replace(`{2,}`,`*`).getRegex(),text:yo(Cs.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Ts={normal:Bo,gfm:Ho,pedantic:Uo},Es={normal:xs,gfm:Cs,breaks:ws,pedantic:Ss},Ds={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Os=e=>Ds[e];function ks(e,t){if(t){if(xo.escapeTest.test(e))return e.replace(xo.escapeReplace,Os)}else if(xo.escapeTestNoEncode.test(e))return e.replace(xo.escapeReplaceNoEncode,Os);return e}function As(e){try{e=encodeURI(e).replace(xo.percentDecode,`%`)}catch{return null}return e}function js(e,t){let n=e.replace(xo.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(xo.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(xo.slashPipe,`|`);return n}function Ms(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function Ns(e){let t=e.split(`
|
|
4
|
-
`),n=t.length-1;for(;n>=0
|
|
4
|
+
`),n=t.length-1;for(;n>=0&&!t[n].trim();)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
5
5
|
`)}function Ps(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Fs(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function Is(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function Ls(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
6
6
|
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
|
|
7
7
|
`)}var Rs=class{options;rules;lexer;constructor(e){this.options=e||go}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:Ns(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Ls(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=Ms(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:Ms(t[0],`
|
|
@@ -30,20 +30,20 @@ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
30
30
|
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(js(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:Ms(t[0],`
|
|
31
31
|
`),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
32
32
|
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=Ms(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Ps(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),Is(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return Is(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},zs=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||go,this.options.tokenizer=this.options.tokenizer||new Rs,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:xo,block:Ts.normal,inline:Es.normal};this.options.pedantic?(t.block=Ts.pedantic,t.inline=Es.pedantic):this.options.gfm&&(t.block=Ts.gfm,this.options.breaks?t.inline=Es.breaks:t.inline=Es.gfm),this.tokenizer.rules=t}static get rules(){return{block:Ts,inline:Es}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(xo.carriageReturn,`
|
|
33
|
-
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(xo.tabCharGlobal,` `).replace(xo.spaceLine,``));
|
|
34
|
-
`:t.push(
|
|
33
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(xo.tabCharGlobal,` `).replace(xo.spaceLine,``));e;){let r;if(this.options.extensions?.block?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let n=t.at(-1);r.raw.length===1&&n!==void 0?n.raw+=`
|
|
34
|
+
`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
35
35
|
`)?``:`
|
|
36
|
-
`)+
|
|
37
|
-
`+
|
|
36
|
+
`)+r.raw,n.text+=`
|
|
37
|
+
`+r.text,this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
38
38
|
`)?``:`
|
|
39
|
-
`)+
|
|
40
|
-
`+
|
|
39
|
+
`)+r.raw,n.text+=`
|
|
40
|
+
`+r.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let a=t.at(-1);n&&a?.type===`paragraph`?(a.raw+=(a.raw.endsWith(`
|
|
41
41
|
`)?``:`
|
|
42
|
-
`)+
|
|
43
|
-
`+
|
|
42
|
+
`)+r.raw,a.text+=`
|
|
43
|
+
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
44
44
|
`)?``:`
|
|
45
|
-
`)+
|
|
46
|
-
`+
|
|
45
|
+
`)+r.raw,n.text+=`
|
|
46
|
+
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}else throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``;for(;e;){a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){let t=`Infinite loop on byte: `+e.charCodeAt(0);if(this.options.silent){console.error(t);break}else throw Error(t)}}return t}},Bs=class{options;parser;constructor(e){this.options=e||go}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(xo.notSpaceStart)?.[0],i=e.replace(xo.endingNewline,``)+`
|
|
47
47
|
`;return r?`<pre><code class="language-`+ks(r)+`">`+(n?i:ks(i,!0))+`</code></pre>
|
|
48
48
|
`:`<pre><code>`+(n?i:ks(i,!0))+`</code></pre>
|
|
49
49
|
`}blockquote({tokens:e}){return`<blockquote>
|
|
@@ -83,4 +83,4 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
83
83
|
opacity: ${s-u*t}
|
|
84
84
|
`}}var Tx={memories:`title,type,content,importance
|
|
85
85
|
Example Memory,fact,This is an example memory content,3`,tasks:`task_code,title,phase,description,status,priority
|
|
86
|
-
TSK-001,Example Task,Phase 1,Example task description,backlog,3`};function Ex(e){let t=M(null),n=M([]),r=M([]),i=M(``),a=M(``),o=M(!1),s=M(!1);function c(){t.set(null),n.set([]),r.set([]),i.set(``),a.set(``),o.set(!1)}function l(){s.set(!1),c(),e.onClose&&e.onClose()}function u(){s.set(!0)}function d(e){let t=e.split(/\r?\n/).filter(e=>e.trim()!==``);if(t.length===0)return{headers:[],rows:[]};let n=e=>{let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`"`&&e[i+1]===`"`?(n+=`"`,i++):a===`"`?r=!r:a===`,`&&!r?(t.push(n.trim()),n=``):n+=a}return t.push(n.trim()),t},r=n(t[0]).filter(e=>e!==``);return{headers:r,rows:t.slice(1).map(n).map(e=>{let t={};return r.forEach((n,r)=>{let i=n.toLowerCase().replace(/[^a-z0-9_]/g,`_`);t[i]=e[r]}),t})}}function f(e){if(a.set(``),!e.name.endsWith(`.csv`)){a.set(`Please select a valid .csv file.`);return}t.set(e),i.set(e.name);let o=new FileReader;o.onload=e=>{let t=e.target?.result,i=d(t);r.set(i.headers),n.set(i.rows),i.rows.length===0&&a.set(`CSV file appears to be empty or missing headers.`)},o.readAsText(e)}function p(e){let t=e.target.files?.[0];t&&f(t)}function m(e){e.preventDefault();let t=e.dataTransfer?.files?.[0];t&&f(t)}function h(){let t=Tx[e.importTarget],n=new Blob([t],{type:`text/csv;charset=utf-8;`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.setAttribute(`href`,r),i.setAttribute(`download`,`example_${e.importTarget}.csv`),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function g(){let t=[];if(n.subscribe(e=>t=e)(),a.set(``),t.length===0){a.set(`No data to import.`);return}o.set(!0);try{let n=0;n=e.importTarget===`memories`?(await fo.bulkImportMemories(e.repo,t)).count:(await fo.bulkImportTasks(e.repo,t)).count,alert(`Imported ${n} ${e.importTarget} successfully.`),e.onSuccess&&e.onSuccess(),l()}catch(e){a.set(e instanceof Error?e.message:`Import failed`)}finally{o.set(!1)}}return{file:t,csvData:n,headers:r,fileName:i,errorMsg:a,isSubmitting:o,isOpen:s,open:u,close:l,handleFileSelect:p,handleFileDrop:m,downloadExample:h,handleImport:g,setFile:e=>t.set(e),setCsvData:e=>n.set(e)}}var Dx=K(`<div class="drop-zone svelte-lenod"><div class="drop-zone-content svelte-lenod"><div style="color: var(--color-text-muted)" class="svelte-lenod"><!></div> <p class="svelte-lenod">Drag and drop your <strong class="svelte-lenod">.csv</strong> file here</p> <span class="text-xs text-slate-500 mb-4 svelte-lenod">or click to browse from your computer</span> <label class="btn btn-primary btn-md cursor-pointer svelte-lenod">Select CSV File <input type="file" accept=".csv" class="hidden svelte-lenod"/></label></div></div> <div class="mt-6 flex flex-col items-center svelte-lenod"><p class="text-[0.8rem] text-slate-400 mb-2 svelte-lenod">Need a starting point?</p> <button class="btn btn-ghost btn-sm svelte-lenod"><!> </button></div>`,1),Ox=K(`<th class="svelte-lenod"> </th>`),kx=K(`<td class="svelte-lenod"> </td>`),Ax=K(`<tr class="svelte-lenod"></tr>`),jx=K(`<div class="file-info flex items-center justify-between p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg mb-4 svelte-lenod"><div class="flex items-center gap-3 svelte-lenod"><div style="color: #0ea5e9; display: flex;" class="svelte-lenod"><!></div> <div class="svelte-lenod"><div class="text-sm font-semibold svelte-lenod"> </div> <div class="text-[0.7rem] text-slate-400 svelte-lenod"> </div></div></div> <button class="btn btn-ghost btn-sm text-red-500 svelte-lenod">Change File</button></div> <div class="preview-container svelte-lenod"><div class="preview-header svelte-lenod"><span class="svelte-lenod">Data Preview (First 5 rows)</span></div> <div class="table-wrapper svelte-lenod"><table class="svelte-lenod"><thead class="svelte-lenod"><tr class="svelte-lenod"></tr></thead><tbody class="svelte-lenod"></tbody></table></div></div>`,1),Mx=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),Nx=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),Px=K(`<!> Start Import`,1),Fx=K(`<div class="modal-backdrop svelte-lenod"><div class="modal-content svelte-lenod"><div class="modal-header svelte-lenod"><div class="flex items-center gap-2 svelte-lenod"><div class="header-icon svelte-lenod" style="color: #0ea5e9"><!></div> <h3 class="svelte-lenod"> </h3></div> <button class="btn btn-ghost btn-sm close-btn svelte-lenod"><!></button></div> <div class="modal-body svelte-lenod"><div class="p-6 svelte-lenod"><!> <!></div></div> <div class="modal-footer svelte-lenod"><button class="btn btn-ghost svelte-lenod">Cancel</button> <button class="btn btn-primary svelte-lenod"><!></button></div></div></div>`);function Ix(e,t){We(t,!1);let n=()=>P(H(d),`$file`,l),r=()=>P(H(f),`$csvData`,l),i=()=>P(H(p),`$headers`,l),a=()=>P(H(m),`$fileName`,l),o=()=>P(H(h),`$errorMsg`,l),s=()=>P(H(g),`$isSubmitting`,l),c=()=>P(H(_),`$composableIsOpen`,l),[l,u]=pt(),d=F(),f=F(),p=F(),m=F(),h=F(),g=F(),_=F(),v=F(),y=F(),b=F(),x=F(),S=F(),C=F(),w=F(),T=F(),E=F(),D=F(),ee=F(),te=F(),ne=F(),re=Q(t,`repo`,8),ie=Q(t,`importTarget`,8,`memories`),ae=Q(t,`isOpen`,12,!1),oe=ja(),O=F();function se(e){I(O,Ex({repo:re(),importTarget:e,onSuccess:()=>oe(`success`),onClose:()=>{ae(!1),oe(`close`)}}))}se(ie()),B(()=>W(ie()),()=>{ie()&&se(ie())}),B(()=>(H(O),W(ae())),()=>{H(O).isOpen.set(ae())}),B(()=>H(O),()=>{dt(I(d,H(O).file),`$file`,l)}),B(()=>H(O),()=>{dt(I(f,H(O).csvData),`$csvData`,l)}),B(()=>H(O),()=>{dt(I(p,H(O).headers),`$headers`,l)}),B(()=>H(O),()=>{dt(I(m,H(O).fileName),`$fileName`,l)}),B(()=>H(O),()=>{dt(I(h,H(O).errorMsg),`$errorMsg`,l)}),B(()=>H(O),()=>{dt(I(g,H(O).isSubmitting),`$isSubmitting`,l)}),B(()=>H(O),()=>{dt(I(_,H(O).isOpen),`$composableIsOpen`,l)}),B(()=>H(O),()=>{I(v,H(O).close)}),B(()=>H(O),()=>{I(y,H(O).handleFileSelect)}),B(()=>H(O),()=>{I(b,H(O).handleFileDrop)}),B(()=>H(O),()=>{I(x,H(O).downloadExample)}),B(()=>H(O),()=>{I(S,H(O).handleImport)}),B(()=>H(O),()=>{I(C,H(O).setFile)}),B(()=>H(O),()=>{I(w,H(O).setCsvData)}),B(()=>n(),()=>{I(T,n())}),B(()=>r(),()=>{I(E,r())}),B(()=>i(),()=>{I(D,i())}),B(()=>a(),()=>{I(ee,a())}),B(()=>o(),()=>{I(te,o())}),B(()=>s(),()=>{I(ne,s())}),Un(),Ta();var ce=li(),le=R(ce),ue=e=>{var n=Fx(),r=L(n),i=L(r),a=L(i),o=L(a);$(L(o),{name:`upload-cloud`,size:18}),j(o);var s=z(o,2),c=L(s);j(s),j(a);var l=z(a,2);$(L(l),{name:`x`,size:18,strokeWidth:2}),j(l),j(i);var u=z(i,2),d=L(u),f=L(d),p=e=>{var n=Dx(),r=R(n),i=L(r),a=L(i);$(L(a),{name:`file-up`,size:48,strokeWidth:1}),j(a);var o=z(a,6),s=z(L(o));j(o),j(i),j(r);var c=z(r,2),l=z(L(c),2),u=L(l);$(u,{name:`download`,size:14,className:`mr-2`});var d=z(u);j(l),j(c),V(()=>J(d,` Download Example ${ie()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,wa(function(e){Da.call(this,t,e)})),G(`drop`,r,function(...e){H(b)?.apply(this,e)}),G(`click`,l,function(...e){H(x)?.apply(this,e)}),q(e,n)},m=e=>{var t=jx(),n=R(t),r=L(n),i=L(r);$(L(i),{name:`file-type-2`,size:24}),j(i);var a=z(i,2),o=L(a),s=L(o,!0);j(o);var c=z(o,2),l=L(c);j(c),j(a),j(r);var u=z(r,2);j(n);var d=z(n,2),f=z(L(d),2),p=L(f),m=L(p),h=L(m);X(h,5,()=>H(D),e=>e,(e,t)=>{var n=Ox(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(h),j(m);var g=z(m);X(g,7,()=>(H(E),U(()=>H(E).slice(0,5))),(e,t)=>`${t}-${JSON.stringify(e)}`,(e,t)=>{var n=Ax();X(n,5,()=>H(D),e=>e,(e,n)=>{var r=kx(),i=L(r,!0);j(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),j(n),q(e,n)}),j(g),j(p),j(f),j(d),V(()=>{J(s,H(ee)),J(l,`${(H(E),U(()=>H(E).length))??``} rows found`)}),G(`click`,u,()=>{H(C)(null),H(w)([])}),q(e,t)};Y(f,e=>{H(T)?e(m,-1):e(p)});var h=z(f,2),g=e=>{var t=Mx(),n=L(t);$(n,{name:`alert-circle`,size:16});var r=z(n,2),i=L(r,!0);j(r),j(t),V(()=>J(i,H(te))),q(e,t)};Y(h,e=>{H(te)&&e(g)}),j(d),j(u);var _=z(u,2),re=L(_),ae=z(re,2),oe=L(ae),O=e=>{var t=Nx();Ne(),q(e,t)},se=e=>{var t=Px();$(R(t),{name:`check`,size:16,className:`mr-2`}),Ne(),q(e,t)};Y(oe,e=>{H(ne)?e(O):e(se,-1)}),j(ae),j(_),j(r),j(n),V(()=>{J(c,`Bulk Import ${ie()===`memories`?`Memories`:`Tasks`}`),re.disabled=H(ne),ae.disabled=(H(ne),H(E),U(()=>H(ne)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(v)?.apply(this,e)}),G(`click`,ae,function(...e){H(S)?.apply(this,e)}),Pi(3,r,()=>wx,()=>({duration:200,start:.95})),G(`click`,r,Ca(function(e){Da.call(this,t,e)})),Pi(3,n,()=>Cx,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(le,e=>{c()&&e(ue)}),q(e,ce),Ge(),u()}var Lx=K(`<option> </option>`),Rx=K(`<option> </option>`),zx=K(`<div class="modal-backdrop svelte-l0ytfo" role="button" tabindex="-1" aria-label="Close modal"></div> <div class="modal-panel animate-fade-in svelte-l0ytfo" role="dialog" aria-modal="true" aria-labelledby="modal-title" tabindex="-1"><div class="modal-header svelte-l0ytfo"><div class="modal-header-icon svelte-l0ytfo"><!></div> <div><div id="modal-title" class="modal-title svelte-l0ytfo">New Task</div> <div class="modal-subtitle svelte-l0ytfo">Add a task to the current repository</div></div> <button class="modal-close-btn svelte-l0ytfo" aria-label="Close"><!></button></div> <div class="modal-body svelte-l0ytfo"><div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_code">Task Code <span class="required svelte-l0ytfo">*</span></label> <input id="new_task_code" class="form-input" placeholder="TASK-001"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_phase">Phase</label> <input id="new_task_phase" class="form-input" placeholder="Implementation"/></div></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_title">Title <span class="required svelte-l0ytfo">*</span> <span class="field-hint svelte-l0ytfo"> </span></label> <input id="new_task_title" class="form-input" placeholder="Short, descriptive task title" maxlength="80"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_description">Description</label> <textarea id="new_task_description" class="form-textarea modal-textarea svelte-l0ytfo" placeholder="What needs to be done? Include context, acceptance criteria, etc." rows="4"></textarea></div> <div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_status">Status</label> <select id="new_task_status" class="form-select"></select></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_priority">Priority</label> <select id="new_task_priority" class="form-select"></select></div></div></div> <div class="modal-footer svelte-l0ytfo"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-l0ytfo"><!> Create Task</button></div></div>`,1);function Bx(e,t){We(t,!1);let n=Q(t,`open`,8,!1),r=Q(t,`newTask`,12),i=Q(t,`onClose`,8,()=>{}),a=Q(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ta();var s=li();G(`keydown`,hn,o);var c=R(s),l=e=>{var t=zx(),n=R(t),o=z(n,2),s=L(o),c=L(s);$(L(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),j(c);var l=z(c,4);$(L(l),{name:`x`,size:14,strokeWidth:2.5}),j(l),j(s);var u=z(s,2),d=L(u),f=L(d),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m),j(d);var g=z(d,2),_=L(g),v=z(L(_),3),y=L(v);j(v),j(_);var b=z(_,2);ca(b),j(g);var x=z(g,2),S=z(L(x),2);On(S),j(x);var C=z(x,2),w=L(C),T=z(L(w),2);X(T,4,()=>[`backlog`,`pending`,`in_progress`],e=>e,(e,t)=>{var n=Lx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(sl),U(()=>sl(t)))]),q(e,n)}),j(T),j(w);var E=z(w,2),D=z(L(E),2);X(D,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=Rx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(cl),U(()=>cl(t)))]),q(e,n)}),j(D),j(E),j(C),j(u);var ee=z(u,2),te=L(ee),ne=z(te,2);$(L(ne),{name:`plus`,size:13,strokeWidth:2.5}),Ne(),j(ne),j(ee),j(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),ne.disabled=(W(r()),U(()=>!r().task_code||!r().title))}),G(`click`,n,function(...e){i()?.apply(this,e)}),G(`keydown`,n,e=>e.key===`Escape`&&i()()),G(`click`,l,function(...e){i()?.apply(this,e)}),Z(p,()=>r().task_code,e=>(r(r().task_code=e,!0),cr(()=>{}))),Z(h,()=>r().phase,e=>(r(r().phase=e,!0),cr(()=>{}))),Z(b,()=>r().title,e=>(r(r().title=e,!0),cr(()=>{}))),Z(S,()=>r().description,e=>(r(r().description=e,!0),cr(()=>{}))),Zi(T,()=>r().status,e=>(r(r().status=e,!0),cr(()=>{}))),Zi(D,()=>r().priority,e=>(r(r().priority=e,!0),cr(()=>{}))),G(`click`,te,function(...e){i()?.apply(this,e)}),G(`click`,ne,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),Ge()}var Vx=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),Hx=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),Ux=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),Wx=K(`<div style="padding:40px;text-align:center;"><div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;"></div></div>`),Gx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Kx=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),qx=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),Jx=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),Yx=K(`<div class="ref-card ref-card-tool animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-tool svelte-w0wd5z"><!> Tool</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),Xx=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Tools</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),Zx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Qx=K(`<div class="ref-card ref-card-prompt animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-prompt svelte-w0wd5z"><!> Prompt</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!></div>`),$x=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Prompts</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),eS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),tS=K(`<div class="ref-params svelte-w0wd5z"><code class="ref-param-tag svelte-w0wd5z" style="background:var(--color-bg);border:1px solid var(--color-border);"> </code></div>`),nS=K(`<div class="ref-card ref-card-resource animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-resource svelte-w0wd5z"><!> Resource</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),rS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Resources</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),iS=K(`<div style="text-align:center;padding:48px 16px;color:var(--color-text-muted);"><!> <div style="font-size:0.82rem;margin-top:10px;"> </div></div>`),aS=K(`<!> <!> <!> <!>`,1),oS=K(`<div class="animate-fade-in"><div class="glass card" style="margin-bottom:16px;padding:14px 18px;"><div class="ref-header svelte-w0wd5z"><div class="flex items-center gap-2"><!> <span style="font-size:0.9rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em;">MCP Reference</span> <!></div> <div class="ref-search-wrap svelte-w0wd5z"><span class="ref-search-icon svelte-w0wd5z"><!></span> <input class="form-input ref-search-input svelte-w0wd5z" type="text" placeholder="Search tools & prompts…"/> <!></div></div></div> <div class="ref-body svelte-w0wd5z"><div class="glass ref-sidebar svelte-w0wd5z"><div class="ref-sidebar-label svelte-w0wd5z">Category</div> <!></div> <div class="ref-main svelte-w0wd5z"><!></div></div></div>`);function sS(e,t){We(t,!1);let n=()=>P(p(),`$appState`,o),r=()=>P(m(),`$filteredTools`,o),i=()=>P(h(),`$filteredPrompts`,o),a=()=>P(_(),`$filteredResources`,o),[o,s]=pt(),c=F(),l=F(),u=F(),d=F(),f=Q(t,`handler`,8),p=Q(t,`appState`,8),m=Q(t,`filteredTools`,8),h=Q(t,`filteredPrompts`,8),_=Q(t,`filteredResources`,8);function v(e){return[{id:`all`,icon:`layers`,label:`All`,count:(e.capabilities?.tools?.length||0)+(e.capabilities?.prompts?.length||0)+(e.capabilities?.resources?.length||0)},{id:`tools`,icon:`tool`,label:`Tools`,count:e.capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:e.capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:e.capabilities?.resources?.length||0}]}function y(e,t,n){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f().openReferenceDrawer(t,n))}B(()=>n(),()=>{I(c,n())}),B(()=>r(),()=>{I(l,r())}),B(()=>i(),()=>{I(u,i())}),B(()=>a(),()=>{I(d,a())}),Un(),Ta();var b=oS(),x=L(b),S=L(x),C=L(S),w=L(C);$(w,{name:`book-open`,size:15,strokeWidth:1.75});var T=z(w,4),E=e=>{var t=Vx(),n=L(t);j(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(T,e=>{H(c),U(()=>H(c).capabilities)&&e(E)}),j(C);var D=z(C,2),ee=L(D);$(L(ee),{name:`search`,size:12,strokeWidth:2}),j(ee);var te=z(ee,2);ca(te);var ne=z(te,2),re=e=>{var t=Hx();$(L(t),{name:`x`,size:11,strokeWidth:2.5}),j(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(ne,e=>{H(c),U(()=>H(c).referenceSearch)&&e(re)}),j(D),j(S),j(x);var ie=z(x,2),ae=L(ie);X(z(L(ae),2),1,()=>(H(c),U(()=>v(H(c)))),e=>e.id,(e,t)=>{var n=Ux();let r;var i=L(n);$(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=z(i,2),o=L(a,!0);j(a);var s=z(a,2),l=L(s,!0);j(s),j(n),V(()=>{r=Ki(n,1,`ref-cat-btn svelte-w0wd5z`,null,r,{active:H(c).referenceFilter===H(t).id}),J(o,(H(t),U(()=>H(t).label))),J(l,(H(t),U(()=>H(t).count)))}),G(`click`,n,()=>f().setReferenceFilter(H(t).id)),q(e,n)}),j(ae);var oe=z(ae,2),O=L(oe),se=e=>{q(e,Wx())},ce=e=>{var t=aS(),n=R(t),r=e=>{var t=Xx(),n=R(t),r=L(n);$(r,{name:`tool`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(l),e=>e.data.name,(e,t)=>{var n=Yx(),r=L(n),i=L(r);$(L(i),{name:`tool`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=Gx(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=Jx(),r=L(n);X(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),([e])=>e,(e,t)=>{var n=Jt(()=>g(H(t),1));let r=()=>H(n)[0];var i=Kx(),a=L(i,!0);j(i),V(()=>J(a,r())),q(e,i)});var i=z(r,2),a=e=>{var n=qx(),r=L(n);j(n),V(e=>J(r,`+${e??``}`),[()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length-4))]),q(e,n)},o=Jt(()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length>4)));Y(i,e=>{H(o)&&e(a)}),j(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Tool`)))),G(`click`,n,()=>f().openReferenceDrawer(`tool`,H(t).data)),G(`keydown`,n,e=>y(e,`tool`,H(t).data)),q(e,n)}),j(o),V(()=>J(a,(H(l),U(()=>H(l).length)))),q(e,t)};Y(n,e=>{H(l),U(()=>H(l).length>0)&&e(r)});var i=z(n,2),a=e=>{var t=$x(),n=R(t),r=L(n);$(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(u),e=>e.data.name,(e,t)=>{var n=Qx(),r=L(n),i=L(r);$(L(i),{name:`sparkle`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=Zx(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Prompt`)))),G(`click`,n,()=>f().openReferenceDrawer(`prompt`,H(t).data)),G(`keydown`,n,e=>y(e,`prompt`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),U(()=>H(l).length>0?`20px`:`0`))??``}`),J(a,(H(u),U(()=>H(u).length)))}),q(e,t)};Y(i,e=>{H(u),U(()=>H(u).length>0)&&e(a)});var o=z(i,2),s=e=>{var t=rS(),n=R(t),r=L(n);$(r,{name:`database`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(d),e=>e.data.uri||e.data.name,(e,t)=>{var n=nS(),r=L(n),i=L(r);$(L(i),{name:`database`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=eS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=tS(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).data.uri)))),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.uri)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Resource`)))),G(`click`,n,()=>f().openReferenceDrawer(`resource`,H(t).data)),G(`keydown`,n,e=>y(e,`resource`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),H(u),U(()=>H(l).length>0||H(u).length>0?`20px`:`0`))??``}`),J(a,(H(d),U(()=>H(d).length)))}),q(e,t)};Y(o,e=>{H(d),U(()=>H(d).length>0)&&e(s)});var p=z(o,2),m=e=>{var t=iS(),n=L(t);$(n,{name:`search`,size:28,strokeWidth:1.25});var r=z(n,2),i=L(r);j(r),j(t),V(()=>J(i,`No results for "${(H(c),U(()=>H(c).referenceSearch))??``}"`)),q(e,t)};Y(p,e=>{H(l),H(u),H(d),U(()=>H(l).length===0&&H(u).length===0&&H(d).length===0)&&e(m)}),q(e,t)};Y(O,e=>{H(c),U(()=>!H(c).capabilities)?e(se):e(ce,-1)}),j(oe),j(ie),j(b),Z(te,()=>n().referenceSearch,e=>ht(p(),U(n).referenceSearch=e,U(n))),q(e,b),Ge(),s()}var cS=K(`<div class="fab-backdrop svelte-10ega5z" role="button" tabindex="-1" aria-label="Close menu"></div>`),lS=K(`<!> <div><div class="fab-actions svelte-10ega5z"><div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Task</span> <button class="fab-action-btn task svelte-10ega5z" title="Create new task" aria-label="Create new task"><!></button></div> <div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Memory</span> <button class="fab-action-btn memory svelte-10ega5z" title="Create new memory" aria-label="Create new memory"><!></button></div></div> <button class="fab-main svelte-10ega5z"><span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-10ega5z"><line x1="12" y1="5" x2="12" y2="19" class="svelte-10ega5z"></line><line x1="5" y1="12" x2="19" y2="12" class="svelte-10ega5z"></line></svg></span></button></div>`,1);function uS(e,t){We(t,!1);let n=()=>P(La,`$currentRepo`,r),[r,i]=pt(),a=Q(t,`onNewMemory`,8,()=>{}),o=Q(t,`onNewTask`,8,()=>{}),s=F(!1);function c(){I(s,!H(s))}function l(){I(s,!1),a()()}function u(){I(s,!1),o()()}function d(e){e.key===`Escape`&&I(s,!1)}Ta();var f=li();G(`keydown`,hn,d);var p=R(f),m=e=>{var t=lS(),n=R(t),r=e=>{var t=cS();G(`click`,t,()=>I(s,!1)),G(`keydown`,t,e=>e.key===`Escape`&&I(s,!1)),q(e,t)};Y(n,e=>{H(s)&&e(r)});var i=z(n,2);let a;var o=L(i),d=L(o),f=z(L(d),2);$(L(f),{name:`clipboard-list`,size:16,strokeWidth:2}),j(f),j(d);var p=z(d,2),m=z(L(p),2);$(L(m),{name:`brain`,size:16,strokeWidth:2}),j(m),j(p),j(o);var h=z(o,2),g=L(h);let _;j(h),j(i),V(()=>{a=Ki(i,1,`fab-container svelte-10ega5z`,null,a,{open:H(s)}),Ji(d,`transition-delay: ${H(s)?`0.05s`:`0s`}`),Ji(p,`transition-delay: ${H(s)?`0.1s`:`0s`}`),fa(h,`title`,H(s)?`Close`:`Quick create`),fa(h,`aria-label`,H(s)?`Close quick create menu`:`Open quick create menu`),fa(h,`aria-expanded`,H(s)),_=Ki(g,1,`fab-icon svelte-10ega5z`,null,_,{rotated:H(s)})}),G(`click`,f,u),G(`click`,m,l),G(`click`,h,c),q(e,t)};Y(p,e=>{n()&&e(m)}),q(e,f),Ge(),i()}var dS=K(`<div class="error-banner svelte-owkwhr"> </div>`),fS=K(`<div class="glass card panel-card create-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div><div class="section-label">New Standard</div> <div class="toolbar-subtitle svelte-owkwhr">Save one atomic coding standard for this repo or globally.</div></div></div> <div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input" placeholder="Error handling standard"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input" placeholder="Optional parent standard UUID"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input" placeholder="frontend, linting"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <button class="btn btn-primary"><!> </button></div>`),pS=K(`<button class="btn btn-ghost btn-sm">Add first standard</button>`),mS=K(`<div class="muted-state svelte-owkwhr">Loading standards...</div>`),hS=K(`<div class="empty-state svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">No standards found</div> <div class="empty-copy svelte-owkwhr">Adjust the filters or create a standard for this repository.</div></div>`),gS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),_S=K(`<div class="tag-row svelte-owkwhr"></div>`),vS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),yS=K(`<div class="tag-row svelte-owkwhr"></div>`),bS=K(`<button><div class="row-title svelte-owkwhr"><!> <span> </span></div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span>child</span></div> <!></button>`),xS=K(`<div class="standard-children svelte-owkwhr"></div>`),SS=K(`<div class="standard-group svelte-owkwhr"><button><div class="row-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div> <!></button> <!></div>`),CS=K(`<div class="standard-list svelte-owkwhr"></div>`),wS=K(`<div class="muted-state svelte-owkwhr">Loading standard detail...</div>`),TS=K(`<div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr"></textarea></label> <div class="editor-actions svelte-owkwhr"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),ES=K(`<div class="markdown-body md-card"><!></div>`),DS=K(`<div class="detail-heading svelte-owkwhr"><div><div class="detail-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div></div> <div class="detail-actions svelte-owkwhr"><span class="scope-pill svelte-owkwhr"> </span> <button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-text svelte-owkwhr"><!> </button></div></div> <!>`,1),OS=K(`<div class="empty-state detail-empty svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">Select a standard</div> <div class="empty-copy svelte-owkwhr">The full Markdown content and scope metadata appear here.</div></div>`),kS=K(`<div class="feature-shell animate-fade-in svelte-owkwhr"><div class="feature-toolbar glass card svelte-owkwhr"><div class="toolbar-title svelte-owkwhr"><!> <div><div class="section-label">Coding Standards</div> <div class="toolbar-subtitle svelte-owkwhr"> </div></div></div> <button class="btn btn-primary toolbar-action svelte-owkwhr"><!> </button> <div class="toolbar-controls svelte-owkwhr"><input class="form-input" placeholder="Search standards..."/> <input class="form-input" placeholder="Language"/> <input class="form-input" placeholder="Stack tags, comma separated"/> <select class="form-select"><option>Repo + global</option><option>Global only</option><option>All standards</option></select></div></div> <!> <!> <div><div class="glass card panel-card list-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div class="section-label">Standards</div> <!></div> <!></div> <div class="glass card panel-card detail-panel svelte-owkwhr"><!></div></div></div>`);function AS(e,t){We(t,!1);let n=Q(t,`repo`,8,``),r=F([]),i=F([]),a=F(!1),o=F(!1),s=F(!1),c=F(!1),l=F(``),u=F(``),d=F(``),f=F(``),p=F(`repo`),m=F(null),h=F(!1),g=F(!1),_=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),v=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``});function y(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 b(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function x(e){return JSON.stringify(e,null,2)}function S(e){let t=new Map,n=new Set(e.map(e=>e.id));for(let r of e){let e=r.parent_id;if(!e||!n.has(e))continue;let i=t.get(e)||[];i.push(r),t.set(e,i)}return e.filter(e=>!e.parent_id||!n.has(e.parent_id)).map(e=>({standard:e,children:(t.get(e.id)||[]).sort((e,t)=>e.title.localeCompare(t.title))}))}async function C(e){I(o,!0),I(g,!1);try{let t=await fo.standardById(e);I(m,t),t&&I(v,{name:t.title,parent_id:t.parent_id||``,context:t.context,version:t.version,language:t.language||``,stack:t.stack.join(`, `),tags:t.tags.join(`, `),metadata:x(t.metadata),content:t.content})}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}function w(){H(m)&&(I(v,{name:H(m).title,parent_id:H(m).parent_id||``,context:H(m).context,version:H(m).version,language:H(m).language||``,stack:H(m).stack.join(`, `),tags:H(m).tags.join(`, `),metadata:x(H(m).metadata),content:H(m).content}),I(g,!0))}function T(){I(g,!1)}async function E(){if(n()){I(a,!0),I(l,``);try{I(r,(await fo.standards({query:H(u)||void 0,language:H(d)||void 0,stack:H(f)||void 0,repo:H(p)===`repo`?n():void 0,is_global:H(p)===`global`?!0:void 0,page:1,pageSize:100})).standards||[]),(!H(m)||!H(r).some(e=>e.id===H(m)?.id))&&I(m,H(r)[0]||null),H(m)?.id&&await C(H(m).id)}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function D(){let e=y(H(_).metadata);if(!(!H(_).name.trim()||!H(_).content.trim()||b(H(_).tags).length===0||!e)){I(s,!0),I(l,``);try{let t=H(p)===`global`,r=await fo.createStandard({title:H(_).name.trim(),content:H(_).content.trim(),parent_id:H(_).parent_id.trim()||void 0,context:H(_).context.trim()||`general`,version:H(_).version.trim()||`1.0.0`,language:H(_).language.trim()||void 0,stack:b(H(_).stack),tags:b(H(_).tags),metadata:e,repo:t?void 0:n(),is_global:t});I(_,{name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),I(h,!1),await E(),I(m,r||H(m))}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function ee(){if(!H(m))return;let e=y(H(v).metadata);if(!(!H(v).name.trim()||!H(v).content.trim()||b(H(v).tags).length===0||!e)){I(s,!0),I(l,``);try{await fo.updateStandard(H(m).id,{title:H(v).name.trim(),content:H(v).content.trim(),parent_id:H(v).parent_id.trim()||null,context:H(v).context.trim()||`general`,version:H(v).version.trim()||`1.0.0`,language:H(v).language.trim()||void 0,stack:b(H(v).stack),tags:b(H(v).tags),metadata:e,repo:H(m).is_global?void 0:H(m).repo||n(),is_global:H(m).is_global}),I(g,!1),await C(H(m).id),await E()}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function te(){if(H(m)&&confirm(`Delete coding standard "${H(m).title}"?`)){I(c,!0),I(l,``);try{await fo.deleteStandard(H(m).id),I(g,!1),I(m,null),await E()}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(c,!1)}}}Oa(()=>{E()}),B(()=>W(n()),()=>{n()&&E()}),B(()=>H(r),()=>{I(i,S(H(r)))}),Un(),Ta();var ne=kS(),re=L(ne),ie=L(re),ae=L(ie);$(ae,{name:`check`,size:16,strokeWidth:2});var oe=z(ae,2),O=z(L(oe),2),se=L(O);j(O),j(oe),j(ie);var ce=z(ie,2),le=L(ce);{let e=Yt(()=>H(h)?`chevron-left`:`plus`);$(le,{get name(){return H(e)},size:14,strokeWidth:2})}var ue=z(le);j(ce);var de=z(ce,2),fe=L(de);ca(fe);var pe=z(fe,2);ca(pe);var me=z(pe,2);ca(me);var he=z(me,2),ge=L(he);ge.value=ge.__value=`repo`;var _e=z(ge);_e.value=_e.__value=`global`;var ve=z(_e);ve.value=ve.__value=`all`,j(he),j(de),j(re);var ye=z(re,2),be=e=>{var t=dS(),n=L(t,!0);j(t),V(()=>J(n,H(l))),q(e,t)};Y(ye,e=>{H(l)&&e(be)});var xe=z(ye,2),Se=e=>{var t=fS(),n=z(L(t),2),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),v=z(L(g),2);ca(v),j(g);var x=z(g,2),S=z(L(x),2);ca(S),j(x),j(n);var C=z(n,2),w=z(L(C),2);On(w),j(C);var T=z(C,2),E=L(T);$(E,{name:`check`,size:14,strokeWidth:2});var ee=z(E);j(T),j(t),V(e=>{T.disabled=e,J(ee,` ${H(s)?`Saving...`:`Save Standard`}`)},[()=>(H(s),H(_),U(()=>H(s)||!H(_).name.trim()||!H(_).content.trim()||b(H(_).tags).length===0||!y(H(_).metadata)))]),Z(i,()=>H(_).name,e=>sn(_,H(_).name=e)),Z(o,()=>H(_).parent_id,e=>sn(_,H(_).parent_id=e)),Z(l,()=>H(_).context,e=>sn(_,H(_).context=e)),Z(d,()=>H(_).version,e=>sn(_,H(_).version=e)),Z(p,()=>H(_).language,e=>sn(_,H(_).language=e)),Z(h,()=>H(_).stack,e=>sn(_,H(_).stack=e)),Z(v,()=>H(_).tags,e=>sn(_,H(_).tags=e)),Z(S,()=>H(_).metadata,e=>sn(_,H(_).metadata=e)),Z(w,()=>H(_).content,e=>sn(_,H(_).content=e)),G(`click`,T,D),q(e,t)};Y(xe,e=>{H(h)&&e(Se)});var Ce=z(xe,2);let we;var Te=L(Ce),Ee=L(Te),De=z(L(Ee),2),Oe=e=>{var t=pS();G(`click`,t,()=>I(h,!0)),q(e,t)};Y(De,e=>{H(r),U(()=>H(r).length===0)&&e(Oe)}),j(Ee);var ke=z(Ee,2),k=e=>{q(e,mS())},Ae=e=>{var t=hS();$(L(t),{name:`check`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},A=e=>{var t=CS();X(t,5,()=>H(i),e=>e.standard.id,(e,t)=>{var r=SS(),i=L(r);let a;var o=L(i),s=L(o,!0);j(o);var c=z(o,2),l=L(c),u=L(l,!0);j(l);var d=z(l,2),f=L(d,!0);j(d);var p=z(d,2),h=L(p,!0);j(p);var g=z(p,2),_=L(g,!0);j(g),j(c);var v=z(c,2),y=e=>{var n=_S();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).standard.stack,...H(t).standard.tags])].slice(0,6))),_i,(e,t)=>{var n=gS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(v,e=>{H(t),U(()=>H(t).standard.stack.length||H(t).standard.tags.length)&&e(y)}),j(i);var b=z(i,2),x=e=>{var r=xS();X(r,5,()=>(H(t),U(()=>H(t).children)),e=>e.id,(e,t)=>{var r=bS();let i;var a=L(r),o=L(a);$(o,{name:`corner-down-right`,size:13,strokeWidth:2});var s=z(o,2),c=L(s,!0);j(s),j(a);var l=z(a,2),u=L(l),d=L(u,!0);j(u);var f=z(u,2),p=L(f,!0);j(f);var h=z(f,2),g=L(h,!0);j(h),Ne(2),j(l);var _=z(l,2),v=e=>{var n=yS();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).stack,...H(t).tags])].slice(0,6))),_i,(e,t)=>{var n=vS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(_,e=>{H(t),U(()=>H(t).stack.length||H(t).tags.length)&&e(v)}),j(r),V(()=>{i=Ki(r,1,`standard-row standard-row-child svelte-owkwhr`,null,i,{selected:H(m)?.id===H(t).id}),J(c,(H(t),U(()=>H(t).title))),J(d,(H(t),U(()=>H(t).context))),J(p,(H(t),U(()=>H(t).language||`any language`))),J(g,(H(t),W(n()),U(()=>H(t).is_global?`global`:H(t).repo||n())))}),G(`click`,r,()=>C(H(t).id)),q(e,r)}),j(r),q(e,r)};Y(b,e=>{H(t),U(()=>H(t).children.length>0)&&e(x)}),j(r),V(()=>{a=Ki(i,1,`standard-row standard-row-root svelte-owkwhr`,null,a,{selected:H(m)?.id===H(t).standard.id}),J(s,(H(t),U(()=>H(t).standard.title))),J(u,(H(t),U(()=>H(t).standard.context))),J(f,(H(t),U(()=>H(t).standard.language||`any language`))),J(h,(H(t),W(n()),U(()=>H(t).standard.is_global?`global`:H(t).standard.repo||n()))),J(_,(H(t),U(()=>H(t).children.length>0?`${H(t).children.length} child`:`root`)))}),G(`click`,i,()=>C(H(t).standard.id)),q(e,r)}),j(t),q(e,t)};Y(ke,e=>{H(a)?e(k):(H(r),U(()=>H(r).length===0)?e(Ae,1):e(A,-1))}),j(Te);var je=z(Te,2),Me=L(je),Pe=e=>{q(e,wS())},Fe=e=>{var t=DS(),n=R(t),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),l=L(o),u=L(l,!0);j(l);var d=z(l,2),f=L(d);j(d);var p=z(d,2),h=L(p,!0);j(p);var _=z(p,2),b=L(_,!0);j(_),j(o),j(r);var x=z(r,2),S=L(x),C=L(S,!0);j(S);var E=z(S,2);$(L(E),{name:`pencil`,size:14,strokeWidth:2}),Ne(),j(E);var D=z(E,2),ne=L(D);$(ne,{name:`trash`,size:14,strokeWidth:2});var re=z(ne);j(D),j(x),j(n);var ie=z(n,2),ae=e=>{var t=TS(),n=R(t),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),_=z(L(g),2);ca(_),j(g);var b=z(g,2),x=z(L(b),2);ca(x),j(b),j(n);var S=z(n,2),C=z(L(S),2);On(C),j(S);var w=z(S,2),E=L(w),D=L(E);$(D,{name:`check`,size:14,strokeWidth:2});var te=z(D);j(E);var ne=z(E,2);j(w),V(e=>{E.disabled=e,J(te,` ${H(s)?`Saving...`:`Save Changes`}`),ne.disabled=H(s)},[()=>(H(s),H(v),U(()=>H(s)||!y(H(v).metadata)))]),Z(i,()=>H(v).name,e=>sn(v,H(v).name=e)),Z(o,()=>H(v).parent_id,e=>sn(v,H(v).parent_id=e)),Z(l,()=>H(v).context,e=>sn(v,H(v).context=e)),Z(d,()=>H(v).version,e=>sn(v,H(v).version=e)),Z(p,()=>H(v).language,e=>sn(v,H(v).language=e)),Z(h,()=>H(v).stack,e=>sn(v,H(v).stack=e)),Z(_,()=>H(v).tags,e=>sn(v,H(v).tags=e)),Z(x,()=>H(v).metadata,e=>sn(v,H(v).metadata=e)),Z(C,()=>H(v).content,e=>sn(v,H(v).content=e)),G(`click`,E,ee),G(`click`,ne,T),q(e,t)},oe=e=>{var t=ES();Xy(L(t),{get content(){return H(m),U(()=>H(m).content)}}),j(t),q(e,t)};Y(ie,e=>{H(g)?e(ae):e(oe,-1)}),V(e=>{J(a,(H(m),U(()=>H(m).title))),J(u,(H(m),U(()=>H(m).context))),J(f,`v${(H(m),U(()=>H(m).version))??``}`),J(h,(H(m),U(()=>H(m).parent_id?`child of ${H(m).parent_id}`:`root`))),J(b,e),J(C,(H(m),U(()=>H(m).is_global?`Global`:`Repo`))),D.disabled=H(c),J(re,` ${H(c)?`Deleting...`:`Delete`}`)},[()=>(W(il),H(m),U(()=>il(H(m).updated_at)))]),G(`click`,E,w),G(`click`,D,te),q(e,t)},Ie=e=>{var t=OS();$(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(Me,e=>{H(o)?e(Pe):H(m)?e(Fe,1):e(Ie,-1)}),j(je),j(Ce),j(ne),V(()=>{J(se,`${(H(r),U(()=>H(r).length))??``} matching standards`),J(ue,` ${H(h)?`Close Form`:`New Standard`}`),we=Ki(Ce,1,`feature-grid svelte-owkwhr`,null,we,{"with-create":H(h)})}),G(`click`,ce,()=>I(h,!H(h))),Z(fe,()=>H(u),e=>I(u,e)),G(`input`,fe,()=>E()),Z(pe,()=>H(d),e=>I(d,e)),G(`input`,pe,()=>E()),Z(me,()=>H(f),e=>I(f,e)),G(`input`,me,()=>E()),Zi(he,()=>H(p),e=>I(p,e)),G(`change`,he,()=>E()),q(e,ne),Ge()}var jS=K(`<div class="error-banner svelte-1ik2acm"> </div>`),MS=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Create Handoff</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">From agent</span><input class="form-input" placeholder="agent-a"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">To agent</span><input class="form-input" placeholder="agent-b (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123 (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Summary</span><textarea class="form-textarea summary-input svelte-1ik2acm" placeholder="What should the next agent know?"></textarea></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Context JSON</span><textarea class="form-textarea json-input svelte-1ik2acm"></textarea></label> <button class="btn btn-primary"><!> </button></div></div>`),NS=K(`<div class="claim-result svelte-1ik2acm"><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div>`),PS=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Claim Task</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Agent</span><input class="form-input" placeholder="agent-name"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Role</span><input class="form-input" placeholder="worker"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Metadata JSON</span><textarea class="form-textarea json-input svelte-1ik2acm" placeholder="Metadata JSON object"></textarea></label> <button class="btn btn-accent"><!> </button></div> <!></div>`),FS=K(`<div class="action-grid svelte-1ik2acm"><!> <!></div>`),IS=K(`<button class="btn btn-ghost btn-sm">Create handoff</button>`),LS=K(`<div class="muted-state svelte-1ik2acm">Loading handoffs...</div>`),RS=K(`<div class="empty-state svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No handoffs found</div> <div class="empty-copy svelte-1ik2acm">Create a handoff when work needs context transfer between agents.</div></div>`),zS=K(`<span> </span>`),BS=K(`<button><div class="handoff-top svelte-1ik2acm"><span> </span> <span class="row-date svelte-1ik2acm"> </span></div> <div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <!></div></button>`),VS=K(`<div class="handoff-list svelte-1ik2acm"></div>`),HS=K(`<div class="linked-task svelte-1ik2acm"> </div>`),US=K(`<div class="detail-title svelte-1ik2acm"> </div> <div class="detail-grid svelte-1ik2acm"><div class="svelte-1ik2acm"><span class="svelte-1ik2acm">From</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">To</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Status</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Created</span><strong class="svelte-1ik2acm"> </strong></div></div> <div class="status-actions svelte-1ik2acm"><button class="btn btn-ghost btn-sm">Accept</button> <button class="btn btn-ghost btn-sm">Expire</button> <button class="btn btn-ghost btn-sm">Reject</button></div> <!>`,1),WS=K(`<div class="empty-state detail-empty svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">Select a handoff</div> <div class="empty-copy svelte-1ik2acm">Details for the selected handoff appear here.</div></div>`),GS=K(`<div class="feature-shell animate-fade-in svelte-1ik2acm"><div class="feature-toolbar glass card svelte-1ik2acm"><div class="toolbar-title svelte-1ik2acm"><!> <div><div class="section-label">Handoffs & Claims</div> <div class="toolbar-subtitle svelte-1ik2acm"> </div></div></div> <div class="toolbar-actions svelte-1ik2acm"><button class="btn btn-primary svelte-1ik2acm"><!> </button> <button class="btn btn-accent svelte-1ik2acm"><!> </button></div> <div class="toolbar-controls svelte-1ik2acm"><select class="form-select"><option>All statuses</option><option>Pending</option><option>Accepted</option><option>Rejected</option><option>Expired</option></select> <input class="form-input" placeholder="To agent filter"/> <button class="btn btn-ghost"><!> Refresh</button></div></div> <!> <!> <div class="feature-grid svelte-1ik2acm"><div class="glass card panel-card list-panel svelte-1ik2acm"><div class="panel-heading svelte-1ik2acm"><div class="section-label">Handoff Queue</div> <!></div> <!></div> <div class="glass card panel-card detail-panel svelte-1ik2acm"><!></div></div></div>`);function KS(e,t){We(t,!1);let n=Q(t,`repo`,8,``),r=F([]),i=F(!1),a=F(!1),o=F(!1),s=F(!1),c=F(``),l=F(`pending`),u=F(``),d=F(null),f=F(null),p=F(!1),m=F(!1),h=F({from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),g=F({task_code:``,agent:``,role:`worker`,metadata:``});function _(e){return e?.structuredContent??null}function v(e){if(!e.trim())return{};let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`JSON must be an object.`);return t}function y(){return!!H(h).from_agent.trim()&&!!H(h).summary.trim()&&(!!H(h).to_agent.trim()||!!H(h).task_code.trim()||!!H(h).context.trim())}function b(e,t){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id||``),repo:n(),from_agent:String(r.from_agent||``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,summary:String(r.summary||``),context:{},status:String(r.status||`pending`),created_at:String(r.created_at||``),updated_at:String(r.created_at||``),expires_at:null}}async function x(){if(n()){I(i,!0),I(c,``);try{let e={repo:n(),status:H(l)||void 0,limit:50,structured:!0};H(u).trim()&&(e.to_agent=H(u).trim());let t=_(await fo.callTool(`handoff-list`,e)),i=t?.handoffs?.columns||[];I(r,(t?.handoffs?.rows||[]).map(e=>b(i,e))),H(d)&&!H(r).some(e=>e.id===H(d)?.id)&&I(d,null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(i,!1)}}}async function S(){if(!(!H(h).from_agent.trim()||!H(h).summary.trim())){I(a,!0),I(c,``);try{let e=_(await fo.callTool(`handoff-create`,{repo:n(),from_agent:H(h).from_agent.trim(),to_agent:H(h).to_agent.trim()||void 0,task_code:H(h).task_code.trim()||void 0,summary:H(h).summary.trim(),context:v(H(h).context),structured:!0}));I(h,{from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),I(p,!1),await x(),I(d,e||H(r)[0]||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function C(){if(!(!H(g).task_code.trim()||!H(g).agent.trim())){I(o,!0),I(c,``);try{I(f,_(await fo.callTool(`task-claim`,{repo:n(),task_code:H(g).task_code.trim(),agent:H(g).agent.trim(),role:H(g).role.trim()||`worker`,metadata:v(H(g).metadata),structured:!0}))),I(g,{task_code:``,agent:H(g).agent,role:H(g).role,metadata:``}),I(m,!1)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}}async function w(e){if(H(d)){I(s,!0),I(c,``);try{await fo.callTool(`handoff-update`,{id:H(d).id,status:e,structured:!0}),await x(),I(d,H(r).find(e=>e.id===H(d)?.id)||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}Oa(()=>{x()}),B(()=>W(n()),()=>{n()&&x()}),Un(),Ta();var T=GS(),E=L(T),D=L(E),ee=L(D);$(ee,{name:`git-branch`,size:16,strokeWidth:2});var te=z(ee,2),ne=z(L(te),2),re=L(ne);j(ne),j(te),j(D);var ie=z(D,2),ae=L(ie),oe=L(ae);$(oe,{name:`git-branch`,size:14,strokeWidth:2});var O=z(oe);j(ae);var se=z(ae,2),ce=L(se);$(ce,{name:`check`,size:14,strokeWidth:2});var le=z(ce);j(se),j(ie);var ue=z(ie,2),de=L(ue),fe=L(de);fe.value=fe.__value=``;var pe=z(fe);pe.value=pe.__value=`pending`;var me=z(pe);me.value=me.__value=`accepted`;var he=z(me);he.value=he.__value=`rejected`;var ge=z(he);ge.value=ge.__value=`expired`,j(de);var _e=z(de,2);ca(_e);var ve=z(_e,2);$(L(ve),{name:`refresh-cw`,size:14,strokeWidth:2}),Ne(),j(ve),j(ue),j(E);var ye=z(E,2),be=e=>{var t=jS(),n=L(t,!0);j(t),V(()=>J(n,H(c))),q(e,t)};Y(ye,e=>{H(c)&&e(be)});var xe=z(ye,2),Se=e=>{var t=FS(),n=L(t),r=e=>{var t=MS(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var o=z(r,2),s=z(L(o));ca(s),j(o);var c=z(o,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var f=z(u,2),p=z(L(f));On(p),fa(p,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(f);var m=z(f,2),g=L(m);$(g,{name:`git-branch`,size:14,strokeWidth:2});var _=z(g);j(m),j(n),j(t),V(e=>{m.disabled=e,J(_,` ${H(a)?`Creating...`:`Create Handoff`}`)},[()=>(H(a),U(()=>H(a)||!y()))]),Z(i,()=>H(h).from_agent,e=>sn(h,H(h).from_agent=e)),Z(s,()=>H(h).to_agent,e=>sn(h,H(h).to_agent=e)),Z(l,()=>H(h).task_code,e=>sn(h,H(h).task_code=e)),Z(d,()=>H(h).summary,e=>sn(h,H(h).summary=e)),Z(p,()=>H(h).context,e=>sn(h,H(h).context=e)),G(`click`,m,S),q(e,t)};Y(n,e=>{H(p)&&e(r)});var i=z(n,2),s=e=>{var t=PS(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var a=z(r,2),s=z(L(a));ca(s),j(a);var c=z(a,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var p=z(u,2),m=L(p);$(m,{name:`check`,size:14,strokeWidth:2});var h=z(m);j(p),j(n);var _=z(n,2),v=e=>{var t=NS(),n=L(t),r=L(n);j(n);var i=z(n,2),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s);var l=z(s,2),u=L(l,!0);j(l),j(i),j(t),V(e=>{J(r,`Claimed ${(H(f),U(()=>H(f).task_code||H(f).task_id))??``}`),J(o,(H(f),U(()=>H(f).agent))),J(c,(H(f),U(()=>H(f).role))),J(u,e)},[()=>(W(il),H(f),U(()=>il(H(f).claimed_at)))]),q(e,t)};Y(_,e=>{H(f)&&e(v)}),j(t),V(e=>{p.disabled=e,J(h,` ${H(o)?`Claiming...`:`Claim Task`}`)},[()=>(H(o),H(g),U(()=>H(o)||!H(g).task_code.trim()||!H(g).agent.trim()))]),Z(i,()=>H(g).task_code,e=>sn(g,H(g).task_code=e)),Z(s,()=>H(g).agent,e=>sn(g,H(g).agent=e)),Z(l,()=>H(g).role,e=>sn(g,H(g).role=e)),Z(d,()=>H(g).metadata,e=>sn(g,H(g).metadata=e)),G(`click`,p,C),q(e,t)};Y(i,e=>{H(m)&&e(s)}),j(t),q(e,t)};Y(xe,e=>{(H(p)||H(m))&&e(Se)});var Ce=z(xe,2),we=L(Ce),Te=L(we),Ee=z(L(Te),2),De=e=>{var t=IS();G(`click`,t,()=>I(p,!0)),q(e,t)};Y(Ee,e=>{H(r),U(()=>H(r).length===0)&&e(De)}),j(Te);var Oe=z(Te,2),ke=e=>{q(e,LS())},k=e=>{var t=RS();$(L(t),{name:`git-branch`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Ae=e=>{var t=VS();X(t,5,()=>H(r),e=>e.id,(e,t)=>{var n=BS();let r;var i=L(n),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s),j(i);var l=z(i,2),u=L(l,!0);j(l);var f=z(l,2),p=L(f),m=L(p);j(p);var h=z(p,2),g=e=>{var n=zS(),r=L(n,!0);j(n),V(e=>J(r,e),[()=>(H(t),U(()=>H(t).task_id.slice(0,8)))]),q(e,n)};Y(h,e=>{H(t),U(()=>H(t).task_id)&&e(g)}),j(f),j(n),V(e=>{r=Ki(n,1,`handoff-row svelte-1ik2acm`,null,r,{selected:H(d)?.id===H(t).id}),Ki(a,1,`status-pill status-${(H(t),U(()=>H(t).status))??``}`,`svelte-1ik2acm`),J(o,(H(t),U(()=>H(t).status))),J(c,e),J(u,(H(t),U(()=>H(t).summary))),J(m,`${(H(t),U(()=>H(t).from_agent))??``} -> ${(H(t),U(()=>H(t).to_agent||`unassigned`))??``}`)},[()=>(W(il),H(t),U(()=>il(H(t).created_at)))]),G(`click`,n,()=>I(d,H(t))),q(e,n)}),j(t),q(e,t)};Y(Oe,e=>{H(i)?e(ke):(H(r),U(()=>H(r).length===0)?e(k,1):e(Ae,-1))}),j(we);var A=z(we,2),je=L(A),Me=e=>{var t=US(),n=R(t),r=L(n,!0);j(n);var i=z(n,2),a=L(i),o=z(L(a)),c=L(o,!0);j(o),j(a);var l=z(a,2),u=z(L(l)),f=L(u,!0);j(u),j(l);var p=z(l,2),m=z(L(p)),h=L(m,!0);j(m),j(p);var g=z(p,2),_=z(L(g)),v=L(_,!0);j(_),j(g),j(i);var y=z(i,2),b=L(y),x=z(b,2),S=z(x,2);j(y);var C=z(y,2),T=e=>{var t=HS(),n=L(t);j(t),V(()=>J(n,`Task ID: ${(H(d),U(()=>H(d).task_id))??``}`)),q(e,t)};Y(C,e=>{H(d),U(()=>H(d).task_id)&&e(T)}),V(e=>{J(r,(H(d),U(()=>H(d).summary))),J(c,(H(d),U(()=>H(d).from_agent))),J(f,(H(d),U(()=>H(d).to_agent||`unassigned`))),J(h,(H(d),U(()=>H(d).status))),J(v,e),b.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`accepted`)),x.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`expired`)),S.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`rejected`))},[()=>(W(il),H(d),U(()=>il(H(d).created_at)))]),G(`click`,b,()=>w(`accepted`)),G(`click`,x,()=>w(`expired`)),G(`click`,S,()=>w(`rejected`)),q(e,t)},Pe=e=>{var t=WS();$(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(je,e=>{H(d)?e(Me):e(Pe,-1)}),j(A),j(Ce),j(T),V(()=>{J(re,`${(H(r),U(()=>H(r).length))??``} handoffs in view`),J(O,` ${H(p)?`Close Handoff`:`New Handoff`}`),J(le,` ${H(m)?`Close Claim`:`Claim Task`}`)}),G(`click`,ae,()=>I(p,!H(p))),G(`click`,se,()=>I(m,!H(m))),Zi(de,()=>H(l),e=>I(l,e)),G(`change`,de,()=>x()),Z(_e,()=>H(u),e=>I(u,e)),G(`input`,_e,()=>x()),G(`click`,ve,x),q(e,T),Ge()}var qS=K(`<div class="drawer-overlay" style="z-index:38;" role="button" tabindex="0" aria-label="Close menu"></div> <div class="mobile-sidebar-shell"><!></div>`,1),JS=K(`<div style="text-align:center;padding:80px 20px;" class="animate-fade-in"><div style="display:inline-flex;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,rgba(14,165,233,0.15),rgba(99,102,241,0.15));border:1px solid rgba(14,165,233,0.2);align-items:center;justify-content:center;margin-bottom:20px;" class="animate-float"><!></div> <div style="font-size:1.25rem;font-weight:800;color:var(--color-text);margin-bottom:8px;letter-spacing:-0.02em;">No Repository Selected</div> <div style="color:var(--color-text-muted);font-size:0.875rem;">Select a repository from the sidebar to get started.</div></div>`),YS=K(`<button><!> <span> </span></button>`),XS=K(`<div style="display:grid;grid-template-columns:1fr;gap:12px;align-items:start;" class="dashboard-grid svelte-1m88iwd"><div style="display:flex;flex-direction:column;gap:12px;"><div class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Memory Overview</div> <!></div> <div class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Task Overview</div> <!></div> <!></div></div>`),ZS=K(`<div class="glass card animate-fade-in" style="height:calc(100vh - 180px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:24px;"><div style="padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.05);"><div class="flex items-center gap-3"><div style="width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px var(--glow-primary);"><!></div> <div><div style="font-size:0.95rem;font-weight:800;color:var(--color-text);letter-spacing:-0.01em;">Recent Activity</div> <div style="font-size:0.68rem;color:var(--color-text-muted);font-weight:600;"> </div></div></div></div> <div style="flex:1;overflow-y:auto;padding:24px 32px;background:rgba(0,0,0,0.02);"><!></div></div>`),QS=K(`<div class="glass card hover-glow animate-fade-in"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="section-label">Memory Explorer</div></div> <!></div>`),$S=K(`<div class="animate-fade-in"><div class="glass card hover-glow" style="margin-bottom:20px;"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="stat-label">Task Overview</div></div> <!></div></div>`),eC=K(`<div class="tabs-wrap"><div class="tab-nav" style="display:inline-flex;"></div></div> <!> <!> <!> <!> <!> <!> <!>`,1),tC=K(`<div class="app-layout"><!> <div><!> <!> <div id="dashboardShell" class="dashboard-shell"><!></div></div></div> <!> <!> <!> <!> <!> <!>`,1);function nC(e,t){We(t,!1);let n=()=>P(Fa,`$activeTab`,s),r=()=>P(g,`$sidebarCollapsed`,s),i=()=>P(f,`$appState`,s),a=()=>P(La,`$currentRepo`,s),o=()=>P(no,`$recentActionsTotalItems`,s),[s,c]=pt(),l=F(),u=F(),d=mo({get kanbanBoard(){return H(l)},get memoryList(){return H(u)}}),f={subscribe:d.subscribe,set:d.set,update:d.update},{filteredTools:p,filteredPrompts:m,filteredResources:h,sidebarCollapsed:g,TABS:_}=d;Oa(async()=>{if(co(),await d.loadRepos(),await d.loadHealth(),await d.loadData(),n()===`reference`&&!N(d).capabilities)try{let e=await fo.capabilities();d.update(t=>({...t,capabilities:e}))}catch(e){console.error(`Failed to load capabilities:`,e)}}),Ta();var v=tC();G(`keydown`,hn,function(...e){d.onKeyDown?.apply(this,e)});var y=R(v),b=L(y);Hl(b,{get onRepoSelect(){return d.onRepoSelect}});var x=z(b,2);let S;var C=L(x);tu(C,{get onRefresh(){return d.onRefresh},get onToggleMobileMenu(){return d.toggleMobileMenu}});var w=z(C,2),T=e=>{var t=qS(),n=R(t),r=z(n,2);Hl(L(r),{get onRepoSelect(){return d.onRepoSelect}}),j(r),G(`click`,n,()=>d.toggleMobileMenu()),G(`keydown`,n,e=>e.key===`Escape`&&d.toggleMobileMenu()),q(e,t)};Y(w,e=>{i().mobileMenuOpen&&e(T)});var E=z(w,2),D=L(E),ee=e=>{var t=JS(),n=L(t);$(L(n),{name:`brain`,size:32,strokeWidth:1.5,className:``}),j(n),Ne(4),j(t),q(e,t)},te=e=>{var t=eC(),r=R(t),i=L(r);X(i,5,()=>_,e=>e.id,(e,t)=>{var r=YS();let i;var a=L(r);$(a,{get name(){return H(t).icon},size:14,strokeWidth:1.75});var o=z(a,2),s=L(o,!0);j(o),j(r),V(()=>{i=Ki(r,1,`tab-btn`,null,i,{active:n()===H(t).id}),fa(r,`id`,`tab-${H(t).id??``}`),J(s,H(t).label)}),G(`click`,r,()=>d.onTabChange(H(t).id)),q(e,r)}),j(i),j(r);var s=z(r,2),c=e=>{var t=XS(),n=L(t),r=L(n);Pu(z(L(r),2),{}),j(r);var i=z(r,2);Bu(z(L(i),2),{}),j(i),oy(z(i,2),{}),j(n),j(t),q(e,t)};Y(s,e=>{n()===`dashboard`&&e(c)});var g=z(s,2),v=e=>{var t=ZS(),n=L(t),r=L(n),i=L(r);$(L(i),{name:`activity`,size:18,strokeWidth:2.2}),j(i);var a=z(i,2),s=z(L(a),2),c=L(s);j(s),j(a),j(r),j(n);var l=z(n,2);ab(L(l),{get onLoadPage(){return d.loadRecentActions}}),j(l),j(t),V(()=>J(c,`${o()??``} events tracked`)),q(e,t)};Y(g,e=>{n()===`activity`&&e(v)});var y=z(g,2),b=e=>{var t=QS(),n=L(t);$(L(n),{name:`brain`,size:14,strokeWidth:1.75}),Ne(2),j(n),Sa(wy(z(n,2),{get onMemoryClick(){return d.openMemoryDrawer},get onNewMemory(){return d.openNewMemoryDrawer},onBulkImport:()=>d.openBulkImport(`memories`),$$legacy:!0}),e=>I(u,e),()=>H(u)),j(t),q(e,t)};Y(y,e=>{n()===`memories`&&e(b)});var x=z(y,2),S=e=>{var t=$S(),n=L(t),r=L(n);$(L(r),{name:`columns`,size:14,strokeWidth:1.75}),Ne(2),j(r),Sa(Du(z(r,2),{get onTaskClick(){return d.openTaskDrawer},onAddTask:()=>d.toggleAddTaskModal(!0),onBulkImport:()=>d.openBulkImport(`tasks`),$$legacy:!0}),e=>I(l,e),()=>H(l)),j(n),j(t),q(e,t)};Y(x,e=>{n()===`tasks`&&e(S)});var C=z(x,2),w=e=>{AS(e,{get repo(){return a()}})};Y(C,e=>{n()===`standards`&&e(w)});var T=z(C,2),E=e=>{KS(e,{get repo(){return a()}})};Y(T,e=>{n()===`handoffs`&&e(E)});var D=z(T,2),ee=e=>{sS(e,{get handler(){return d},get appState(){return f},get filteredTools(){return p},get filteredPrompts(){return m},get filteredResources(){return h}})};Y(D,e=>{n()===`reference`&&e(ee)}),q(e,t)};Y(D,e=>{a()?e(te,-1):e(ee)}),j(E),j(x),j(y);var ne=z(y,2);Nb(ne,{get memory(){return i().selectedMemory},get task(){return i().selectedTask},get open(){return i().drawerOpen},get onClose(){return d.closeDrawer},get onTaskUpdated(){return d.handleTaskUpdated},onTaskDeleted:()=>{a()&&H(l)?.loadTasks(a())}});var re=z(ne,2);tx(re,{get item(){return i().selectedReference},get open(){return i().referenceDrawerOpen},onClose:()=>d.toggleReferenceDrawer(!1)});var ie=z(re,2);bx(ie,{get memory(){return i().memoryDrawerItem},get open(){return i().memoryDrawerOpen},onClose:()=>d.toggleMemoryDrawer(!1),get onSaved(){return d.handleMemorySaved},get onDeleted(){return d.handleMemoryDeleted}});var ae=z(ie,2);Bx(ae,{get open(){return i().addTaskModalOpen},get newTask(){return i().newTask},onClose:()=>d.toggleAddTaskModal(!1),get onSave(){return d.createTask}});var oe=z(ae,2);{let e=Yt(()=>a()||``);Ix(oe,{get repo(){return H(e)},get importTarget(){return i().bulkImportTarget},get isOpen(){return i().bulkImportOpen},$$events:{close:()=>d.toggleBulkImport(!1),success:()=>{i().bulkImportTarget===`memories`&&H(u)?.refresh(),i().bulkImportTarget===`tasks`&&a()&&H(l)?.loadTasks(a())}}})}uS(z(oe,2),{get onNewMemory(){return d.openNewMemoryDrawer},onNewTask:()=>d.toggleAddTaskModal(!0)}),V(()=>S=Ki(x,1,`main-content`,null,S,{"sidebar-collapsed":r()})),q(e,v),Ge(),c()}fi(nC,{target:document.getElementById(`app`)});
|
|
86
|
+
TSK-001,Example Task,Phase 1,Example task description,backlog,3`};function Ex(e){let t=M(null),n=M([]),r=M([]),i=M(``),a=M(``),o=M(!1),s=M(!1);function c(){t.set(null),n.set([]),r.set([]),i.set(``),a.set(``),o.set(!1)}function l(){s.set(!1),c(),e.onClose&&e.onClose()}function u(){s.set(!0)}function d(e){let t=e.split(/\r?\n/).filter(e=>e.trim()!==``);if(t.length===0)return{headers:[],rows:[]};let n=e=>{let t=[],n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];a===`"`&&e[i+1]===`"`?(n+=`"`,i++):a===`"`?r=!r:a===`,`&&!r?(t.push(n.trim()),n=``):n+=a}return t.push(n.trim()),t},r=n(t[0]).filter(e=>e!==``);return{headers:r,rows:t.slice(1).map(n).map(e=>{let t={};return r.forEach((n,r)=>{let i=n.toLowerCase().replace(/[^a-z0-9_]/g,`_`);t[i]=e[r]}),t})}}function f(e){if(a.set(``),!e.name.endsWith(`.csv`)){a.set(`Please select a valid .csv file.`);return}t.set(e),i.set(e.name);let o=new FileReader;o.onload=e=>{let t=e.target?.result,i=d(t);r.set(i.headers),n.set(i.rows),i.rows.length===0&&a.set(`CSV file appears to be empty or missing headers.`)},o.readAsText(e)}function p(e){let t=e.target.files?.[0];t&&f(t)}function m(e){e.preventDefault();let t=e.dataTransfer?.files?.[0];t&&f(t)}function h(){let t=Tx[e.importTarget],n=new Blob([t],{type:`text/csv;charset=utf-8;`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.setAttribute(`href`,r),i.setAttribute(`download`,`example_${e.importTarget}.csv`),i.style.visibility=`hidden`,document.body.appendChild(i),i.click(),document.body.removeChild(i)}async function g(){let t=[];if(n.subscribe(e=>t=e)(),a.set(``),t.length===0){a.set(`No data to import.`);return}o.set(!0);try{let n=0;n=e.importTarget===`memories`?(await fo.bulkImportMemories(e.repo,t)).count:(await fo.bulkImportTasks(e.repo,t)).count,alert(`Imported ${n} ${e.importTarget} successfully.`),e.onSuccess&&e.onSuccess(),l()}catch(e){a.set(e instanceof Error?e.message:`Import failed`)}finally{o.set(!1)}}return{file:t,csvData:n,headers:r,fileName:i,errorMsg:a,isSubmitting:o,isOpen:s,open:u,close:l,handleFileSelect:p,handleFileDrop:m,downloadExample:h,handleImport:g,setFile:e=>t.set(e),setCsvData:e=>n.set(e)}}var Dx=K(`<div class="drop-zone svelte-lenod"><div class="drop-zone-content svelte-lenod"><div style="color: var(--color-text-muted)" class="svelte-lenod"><!></div> <p class="svelte-lenod">Drag and drop your <strong class="svelte-lenod">.csv</strong> file here</p> <span class="text-xs text-slate-500 mb-4 svelte-lenod">or click to browse from your computer</span> <label class="btn btn-primary btn-md cursor-pointer svelte-lenod">Select CSV File <input type="file" accept=".csv" class="hidden svelte-lenod"/></label></div></div> <div class="mt-6 flex flex-col items-center svelte-lenod"><p class="text-[0.8rem] text-slate-400 mb-2 svelte-lenod">Need a starting point?</p> <button class="btn btn-ghost btn-sm svelte-lenod"><!> </button></div>`,1),Ox=K(`<th class="svelte-lenod"> </th>`),kx=K(`<td class="svelte-lenod"> </td>`),Ax=K(`<tr class="svelte-lenod"></tr>`),jx=K(`<div class="file-info flex items-center justify-between p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg mb-4 svelte-lenod"><div class="flex items-center gap-3 svelte-lenod"><div style="color: #0ea5e9; display: flex;" class="svelte-lenod"><!></div> <div class="svelte-lenod"><div class="text-sm font-semibold svelte-lenod"> </div> <div class="text-[0.7rem] text-slate-400 svelte-lenod"> </div></div></div> <button class="btn btn-ghost btn-sm text-red-500 svelte-lenod">Change File</button></div> <div class="preview-container svelte-lenod"><div class="preview-header svelte-lenod"><span class="svelte-lenod">Data Preview (First 5 rows)</span></div> <div class="table-wrapper svelte-lenod"><table class="svelte-lenod"><thead class="svelte-lenod"><tr class="svelte-lenod"></tr></thead><tbody class="svelte-lenod"></tbody></table></div></div>`,1),Mx=K(`<div class="error-msg flex items-center gap-2 svelte-lenod"><!> <span class="svelte-lenod"> </span></div>`),Nx=K(`<div class="spinner svelte-lenod"></div> Importing...`,1),Px=K(`<!> Start Import`,1),Fx=K(`<div class="modal-backdrop svelte-lenod"><div class="modal-content svelte-lenod"><div class="modal-header svelte-lenod"><div class="flex items-center gap-2 svelte-lenod"><div class="header-icon svelte-lenod" style="color: #0ea5e9"><!></div> <h3 class="svelte-lenod"> </h3></div> <button class="btn btn-ghost btn-sm close-btn svelte-lenod"><!></button></div> <div class="modal-body svelte-lenod"><div class="p-6 svelte-lenod"><!> <!></div></div> <div class="modal-footer svelte-lenod"><button class="btn btn-ghost svelte-lenod">Cancel</button> <button class="btn btn-primary svelte-lenod"><!></button></div></div></div>`);function Ix(e,t){We(t,!1);let n=()=>P(H(d),`$file`,l),r=()=>P(H(f),`$csvData`,l),i=()=>P(H(p),`$headers`,l),a=()=>P(H(m),`$fileName`,l),o=()=>P(H(h),`$errorMsg`,l),s=()=>P(H(g),`$isSubmitting`,l),c=()=>P(H(_),`$composableIsOpen`,l),[l,u]=pt(),d=F(),f=F(),p=F(),m=F(),h=F(),g=F(),_=F(),v=F(),y=F(),b=F(),x=F(),S=F(),C=F(),w=F(),T=F(),E=F(),D=F(),ee=F(),te=F(),ne=F(),re=Q(t,`repo`,8),ie=Q(t,`importTarget`,8,`memories`),ae=Q(t,`isOpen`,12,!1),oe=ja(),O=F();function se(e){I(O,Ex({repo:re(),importTarget:e,onSuccess:()=>oe(`success`),onClose:()=>{ae(!1),oe(`close`)}}))}se(ie()),B(()=>W(ie()),()=>{ie()&&se(ie())}),B(()=>(H(O),W(ae())),()=>{H(O).isOpen.set(ae())}),B(()=>H(O),()=>{dt(I(d,H(O).file),`$file`,l)}),B(()=>H(O),()=>{dt(I(f,H(O).csvData),`$csvData`,l)}),B(()=>H(O),()=>{dt(I(p,H(O).headers),`$headers`,l)}),B(()=>H(O),()=>{dt(I(m,H(O).fileName),`$fileName`,l)}),B(()=>H(O),()=>{dt(I(h,H(O).errorMsg),`$errorMsg`,l)}),B(()=>H(O),()=>{dt(I(g,H(O).isSubmitting),`$isSubmitting`,l)}),B(()=>H(O),()=>{dt(I(_,H(O).isOpen),`$composableIsOpen`,l)}),B(()=>H(O),()=>{I(v,H(O).close)}),B(()=>H(O),()=>{I(y,H(O).handleFileSelect)}),B(()=>H(O),()=>{I(b,H(O).handleFileDrop)}),B(()=>H(O),()=>{I(x,H(O).downloadExample)}),B(()=>H(O),()=>{I(S,H(O).handleImport)}),B(()=>H(O),()=>{I(C,H(O).setFile)}),B(()=>H(O),()=>{I(w,H(O).setCsvData)}),B(()=>n(),()=>{I(T,n())}),B(()=>r(),()=>{I(E,r())}),B(()=>i(),()=>{I(D,i())}),B(()=>a(),()=>{I(ee,a())}),B(()=>o(),()=>{I(te,o())}),B(()=>s(),()=>{I(ne,s())}),Un(),Ta();var ce=li(),le=R(ce),ue=e=>{var n=Fx(),r=L(n),i=L(r),a=L(i),o=L(a);$(L(o),{name:`upload-cloud`,size:18}),j(o);var s=z(o,2),c=L(s);j(s),j(a);var l=z(a,2);$(L(l),{name:`x`,size:18,strokeWidth:2}),j(l),j(i);var u=z(i,2),d=L(u),f=L(d),p=e=>{var n=Dx(),r=R(n),i=L(r),a=L(i);$(L(a),{name:`file-up`,size:48,strokeWidth:1}),j(a);var o=z(a,6),s=z(L(o));j(o),j(i),j(r);var c=z(r,2),l=z(L(c),2),u=L(l);$(u,{name:`download`,size:14,className:`mr-2`});var d=z(u);j(l),j(c),V(()=>J(d,` Download Example ${ie()===`memories`?`Memories`:`Tasks`} CSV`)),G(`change`,s,function(...e){H(y)?.apply(this,e)}),G(`dragover`,r,wa(function(e){Da.call(this,t,e)})),G(`drop`,r,function(...e){H(b)?.apply(this,e)}),G(`click`,l,function(...e){H(x)?.apply(this,e)}),q(e,n)},m=e=>{var t=jx(),n=R(t),r=L(n),i=L(r);$(L(i),{name:`file-type-2`,size:24}),j(i);var a=z(i,2),o=L(a),s=L(o,!0);j(o);var c=z(o,2),l=L(c);j(c),j(a),j(r);var u=z(r,2);j(n);var d=z(n,2),f=z(L(d),2),p=L(f),m=L(p),h=L(m);X(h,5,()=>H(D),e=>e,(e,t)=>{var n=Ox(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(h),j(m);var g=z(m);X(g,7,()=>(H(E),U(()=>H(E).slice(0,5))),(e,t)=>`${t}-${JSON.stringify(e)}`,(e,t)=>{var n=Ax();X(n,5,()=>H(D),e=>e,(e,n)=>{var r=kx(),i=L(r,!0);j(r),V(e=>J(i,e),[()=>(H(t),H(n),U(()=>H(t)[H(n).toLowerCase().replace(/[^a-z0-9_]/g,`_`)]||``))]),q(e,r)}),j(n),q(e,n)}),j(g),j(p),j(f),j(d),V(()=>{J(s,H(ee)),J(l,`${(H(E),U(()=>H(E).length))??``} rows found`)}),G(`click`,u,()=>{H(C)(null),H(w)([])}),q(e,t)};Y(f,e=>{H(T)?e(m,-1):e(p)});var h=z(f,2),g=e=>{var t=Mx(),n=L(t);$(n,{name:`alert-circle`,size:16});var r=z(n,2),i=L(r,!0);j(r),j(t),V(()=>J(i,H(te))),q(e,t)};Y(h,e=>{H(te)&&e(g)}),j(d),j(u);var _=z(u,2),re=L(_),ae=z(re,2),oe=L(ae),O=e=>{var t=Nx();Ne(),q(e,t)},se=e=>{var t=Px();$(R(t),{name:`check`,size:16,className:`mr-2`}),Ne(),q(e,t)};Y(oe,e=>{H(ne)?e(O):e(se,-1)}),j(ae),j(_),j(r),j(n),V(()=>{J(c,`Bulk Import ${ie()===`memories`?`Memories`:`Tasks`}`),re.disabled=H(ne),ae.disabled=(H(ne),H(E),U(()=>H(ne)||H(E).length===0))}),G(`click`,l,function(...e){H(v)?.apply(this,e)}),G(`click`,re,function(...e){H(v)?.apply(this,e)}),G(`click`,ae,function(...e){H(S)?.apply(this,e)}),Pi(3,r,()=>wx,()=>({duration:200,start:.95})),G(`click`,r,Ca(function(e){Da.call(this,t,e)})),Pi(3,n,()=>Cx,()=>({duration:200})),G(`click`,n,function(...e){H(v)?.apply(this,e)}),q(e,n)};Y(le,e=>{c()&&e(ue)}),q(e,ce),Ge(),u()}var Lx=K(`<option> </option>`),Rx=K(`<option> </option>`),zx=K(`<div class="modal-backdrop svelte-l0ytfo" role="button" tabindex="-1" aria-label="Close modal"></div> <div class="modal-panel animate-fade-in svelte-l0ytfo" role="dialog" aria-modal="true" aria-labelledby="modal-title" tabindex="-1"><div class="modal-header svelte-l0ytfo"><div class="modal-header-icon svelte-l0ytfo"><!></div> <div><div id="modal-title" class="modal-title svelte-l0ytfo">New Task</div> <div class="modal-subtitle svelte-l0ytfo">Add a task to the current repository</div></div> <button class="modal-close-btn svelte-l0ytfo" aria-label="Close"><!></button></div> <div class="modal-body svelte-l0ytfo"><div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_code">Task Code <span class="required svelte-l0ytfo">*</span></label> <input id="new_task_code" class="form-input" placeholder="TASK-001"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_phase">Phase</label> <input id="new_task_phase" class="form-input" placeholder="Implementation"/></div></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_title">Title <span class="required svelte-l0ytfo">*</span> <span class="field-hint svelte-l0ytfo"> </span></label> <input id="new_task_title" class="form-input" placeholder="Short, descriptive task title" maxlength="80"/></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_description">Description</label> <textarea id="new_task_description" class="form-textarea modal-textarea svelte-l0ytfo" placeholder="What needs to be done? Include context, acceptance criteria, etc." rows="4"></textarea></div> <div class="field-grid-2 svelte-l0ytfo"><div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_status">Status</label> <select id="new_task_status" class="form-select"></select></div> <div class="field-group svelte-l0ytfo"><label class="field-label svelte-l0ytfo" for="new_task_priority">Priority</label> <select id="new_task_priority" class="form-select"></select></div></div></div> <div class="modal-footer svelte-l0ytfo"><button class="btn btn-ghost">Cancel</button> <button class="btn btn-primary modal-save-btn svelte-l0ytfo"><!> Create Task</button></div></div>`,1);function Bx(e,t){We(t,!1);let n=Q(t,`open`,8,!1),r=Q(t,`newTask`,12),i=Q(t,`onClose`,8,()=>{}),a=Q(t,`onSave`,8,()=>{});function o(e){e.key===`Escape`&&i()()}Ta();var s=li();G(`keydown`,hn,o);var c=R(s),l=e=>{var t=zx(),n=R(t),o=z(n,2),s=L(o),c=L(s);$(L(c),{name:`clipboard-list`,size:14,strokeWidth:2.2}),j(c);var l=z(c,4);$(L(l),{name:`x`,size:14,strokeWidth:2.5}),j(l),j(s);var u=z(s,2),d=L(u),f=L(d),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m),j(d);var g=z(d,2),_=L(g),v=z(L(_),3),y=L(v);j(v),j(_);var b=z(_,2);ca(b),j(g);var x=z(g,2),S=z(L(x),2);On(S),j(x);var C=z(x,2),w=L(C),T=z(L(w),2);X(T,4,()=>[`backlog`,`pending`,`in_progress`],e=>e,(e,t)=>{var n=Lx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(sl),U(()=>sl(t)))]),q(e,n)}),j(T),j(w);var E=z(w,2),D=z(L(E),2);X(D,4,()=>[1,2,3,4,5],e=>e,(e,t)=>{var n=Rx(),r=L(n,!0);j(n);var i={};V(e=>{J(r,e),i!==(i=t)&&(n.value=(n.__value=t)??``)},[()=>(W(cl),U(()=>cl(t)))]),q(e,n)}),j(D),j(E),j(C),j(u);var ee=z(u,2),te=L(ee),ne=z(te,2);$(L(ne),{name:`plus`,size:13,strokeWidth:2.5}),Ne(),j(ne),j(ee),j(o),V(()=>{J(y,`${(W(r()),U(()=>(r().title??``).length))??``}/80`),ne.disabled=(W(r()),U(()=>!r().task_code||!r().title))}),G(`click`,n,function(...e){i()?.apply(this,e)}),G(`keydown`,n,e=>e.key===`Escape`&&i()()),G(`click`,l,function(...e){i()?.apply(this,e)}),Z(p,()=>r().task_code,e=>(r(r().task_code=e,!0),cr(()=>{}))),Z(h,()=>r().phase,e=>(r(r().phase=e,!0),cr(()=>{}))),Z(b,()=>r().title,e=>(r(r().title=e,!0),cr(()=>{}))),Z(S,()=>r().description,e=>(r(r().description=e,!0),cr(()=>{}))),Zi(T,()=>r().status,e=>(r(r().status=e,!0),cr(()=>{}))),Zi(D,()=>r().priority,e=>(r(r().priority=e,!0),cr(()=>{}))),G(`click`,te,function(...e){i()?.apply(this,e)}),G(`click`,ne,function(...e){a()?.apply(this,e)}),q(e,t)};Y(c,e=>{n()&&e(l)}),q(e,s),Ge()}var Vx=K(`<span class="ref-total-badge svelte-w0wd5z"> </span>`),Hx=K(`<button class="ref-clear-btn svelte-w0wd5z"><!></button>`),Ux=K(`<button><!> <span> </span> <span class="ref-cat-count svelte-w0wd5z"> </span></button>`),Wx=K(`<div style="padding:40px;text-align:center;"><div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;margin-bottom:10px;"></div> <div class="skeleton" style="height:60px;border-radius:12px;"></div></div>`),Gx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Kx=K(`<code class="ref-param-tag svelte-w0wd5z"> </code>`),qx=K(`<code class="ref-param-tag ref-param-more svelte-w0wd5z"> </code>`),Jx=K(`<div class="ref-params svelte-w0wd5z"><!> <!></div>`),Yx=K(`<div class="ref-card ref-card-tool animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-tool svelte-w0wd5z"><!> Tool</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),Xx=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Tools</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),Zx=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),Qx=K(`<div class="ref-card ref-card-prompt animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-prompt svelte-w0wd5z"><!> Prompt</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!></div>`),$x=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Prompts</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),eS=K(`<div class="ref-card-desc svelte-w0wd5z"> </div>`),tS=K(`<div class="ref-params svelte-w0wd5z"><code class="ref-param-tag svelte-w0wd5z" style="background:var(--color-bg);border:1px solid var(--color-border);"> </code></div>`),nS=K(`<div class="ref-card ref-card-resource animate-fade-in svelte-w0wd5z" role="button" tabindex="0"><div class="ref-card-top svelte-w0wd5z"><span class="ref-type-badge ref-type-resource svelte-w0wd5z"><!> Resource</span></div> <div class="ref-card-name svelte-w0wd5z"> </div> <!> <!></div>`),rS=K(`<div class="ref-section-header svelte-w0wd5z"><!> <span>Resources</span> <span class="ref-section-count svelte-w0wd5z"> </span></div> <div class="ref-grid svelte-w0wd5z"></div>`,1),iS=K(`<div style="text-align:center;padding:48px 16px;color:var(--color-text-muted);"><!> <div style="font-size:0.82rem;margin-top:10px;"> </div></div>`),aS=K(`<!> <!> <!> <!>`,1),oS=K(`<div class="animate-fade-in"><div class="glass card" style="margin-bottom:16px;padding:14px 18px;"><div class="ref-header svelte-w0wd5z"><div class="flex items-center gap-2"><!> <span style="font-size:0.9rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em;">MCP Reference</span> <!></div> <div class="ref-search-wrap svelte-w0wd5z"><span class="ref-search-icon svelte-w0wd5z"><!></span> <input class="form-input ref-search-input svelte-w0wd5z" type="text" placeholder="Search tools & prompts…"/> <!></div></div></div> <div class="ref-body svelte-w0wd5z"><div class="glass ref-sidebar svelte-w0wd5z"><div class="ref-sidebar-label svelte-w0wd5z">Category</div> <!></div> <div class="ref-main svelte-w0wd5z"><!></div></div></div>`);function sS(e,t){We(t,!1);let n=()=>P(p(),`$appState`,o),r=()=>P(m(),`$filteredTools`,o),i=()=>P(h(),`$filteredPrompts`,o),a=()=>P(_(),`$filteredResources`,o),[o,s]=pt(),c=F(),l=F(),u=F(),d=F(),f=Q(t,`handler`,8),p=Q(t,`appState`,8),m=Q(t,`filteredTools`,8),h=Q(t,`filteredPrompts`,8),_=Q(t,`filteredResources`,8);function v(e){return[{id:`all`,icon:`layers`,label:`All`,count:(e.capabilities?.tools?.length||0)+(e.capabilities?.prompts?.length||0)+(e.capabilities?.resources?.length||0)},{id:`tools`,icon:`tool`,label:`Tools`,count:e.capabilities?.tools?.length||0},{id:`prompts`,icon:`sparkle`,label:`Prompts`,count:e.capabilities?.prompts?.length||0},{id:`resources`,icon:`database`,label:`Resources`,count:e.capabilities?.resources?.length||0}]}function y(e,t,n){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f().openReferenceDrawer(t,n))}B(()=>n(),()=>{I(c,n())}),B(()=>r(),()=>{I(l,r())}),B(()=>i(),()=>{I(u,i())}),B(()=>a(),()=>{I(d,a())}),Un(),Ta();var b=oS(),x=L(b),S=L(x),C=L(S),w=L(C);$(w,{name:`book-open`,size:15,strokeWidth:1.75});var T=z(w,4),E=e=>{var t=Vx(),n=L(t);j(t),V(()=>J(n,`${(H(c),U(()=>(H(c).capabilities.tools?.length||0)+(H(c).capabilities.prompts?.length||0)))??``} items`)),q(e,t)};Y(T,e=>{H(c),U(()=>H(c).capabilities)&&e(E)}),j(C);var D=z(C,2),ee=L(D);$(L(ee),{name:`search`,size:12,strokeWidth:2}),j(ee);var te=z(ee,2);ca(te);var ne=z(te,2),re=e=>{var t=Hx();$(L(t),{name:`x`,size:11,strokeWidth:2.5}),j(t),G(`click`,t,()=>f().setReferenceSearch(``)),q(e,t)};Y(ne,e=>{H(c),U(()=>H(c).referenceSearch)&&e(re)}),j(D),j(S),j(x);var ie=z(x,2),ae=L(ie);X(z(L(ae),2),1,()=>(H(c),U(()=>v(H(c)))),e=>e.id,(e,t)=>{var n=Ux();let r;var i=L(n);$(i,{get name(){return H(t),U(()=>H(t).icon)},size:13,strokeWidth:1.75});var a=z(i,2),o=L(a,!0);j(a);var s=z(a,2),l=L(s,!0);j(s),j(n),V(()=>{r=Ki(n,1,`ref-cat-btn svelte-w0wd5z`,null,r,{active:H(c).referenceFilter===H(t).id}),J(o,(H(t),U(()=>H(t).label))),J(l,(H(t),U(()=>H(t).count)))}),G(`click`,n,()=>f().setReferenceFilter(H(t).id)),q(e,n)}),j(ae);var oe=z(ae,2),O=L(oe),se=e=>{q(e,Wx())},ce=e=>{var t=aS(),n=R(t),r=e=>{var t=Xx(),n=R(t),r=L(n);$(r,{name:`tool`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(l),e=>e.data.name,(e,t)=>{var n=Yx(),r=L(n),i=L(r);$(L(i),{name:`tool`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=Gx(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=Jx(),r=L(n);X(r,1,()=>(H(t),U(()=>Object.entries(H(t).data.inputSchema.properties).slice(0,4))),([e])=>e,(e,t)=>{var n=Jt(()=>g(H(t),1));let r=()=>H(n)[0];var i=Kx(),a=L(i,!0);j(i),V(()=>J(a,r())),q(e,i)});var i=z(r,2),a=e=>{var n=qx(),r=L(n);j(n),V(e=>J(r,`+${e??``}`),[()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length-4))]),q(e,n)},o=Jt(()=>(H(t),U(()=>Object.keys(H(t).data.inputSchema.properties).length>4)));Y(i,e=>{H(o)&&e(a)}),j(n),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.inputSchema?.properties)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Tool`)))),G(`click`,n,()=>f().openReferenceDrawer(`tool`,H(t).data)),G(`keydown`,n,e=>y(e,`tool`,H(t).data)),q(e,n)}),j(o),V(()=>J(a,(H(l),U(()=>H(l).length)))),q(e,t)};Y(n,e=>{H(l),U(()=>H(l).length>0)&&e(r)});var i=z(n,2),a=e=>{var t=$x(),n=R(t),r=L(n);$(r,{name:`sparkle`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(u),e=>e.data.name,(e,t)=>{var n=Qx(),r=L(n),i=L(r);$(L(i),{name:`sparkle`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=Zx(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Prompt`)))),G(`click`,n,()=>f().openReferenceDrawer(`prompt`,H(t).data)),G(`keydown`,n,e=>y(e,`prompt`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),U(()=>H(l).length>0?`20px`:`0`))??``}`),J(a,(H(u),U(()=>H(u).length)))}),q(e,t)};Y(i,e=>{H(u),U(()=>H(u).length>0)&&e(a)});var o=z(i,2),s=e=>{var t=rS(),n=R(t),r=L(n);$(r,{name:`database`,size:13,strokeWidth:1.75});var i=z(r,4),a=L(i,!0);j(i),j(n);var o=z(n,2);X(o,5,()=>H(d),e=>e.data.uri||e.data.name,(e,t)=>{var n=nS(),r=L(n),i=L(r);$(L(i),{name:`database`,size:10,strokeWidth:2}),Ne(),j(i),j(r);var a=z(r,2),o=L(a,!0);j(a);var s=z(a,2),c=e=>{var n=eS(),r=L(n,!0);j(n),V(()=>J(r,(H(t),U(()=>H(t).data.description)))),q(e,n)};Y(s,e=>{H(t),U(()=>H(t)?.data?.description)&&e(c)});var l=z(s,2),u=e=>{var n=tS(),r=L(n),i=L(r,!0);j(r),j(n),V(()=>J(i,(H(t),U(()=>H(t).data.uri)))),q(e,n)};Y(l,e=>{H(t),U(()=>H(t)?.data?.uri)&&e(u)}),j(n),V(()=>J(o,(H(t),U(()=>H(t)?.data?.name||`Unknown Resource`)))),G(`click`,n,()=>f().openReferenceDrawer(`resource`,H(t).data)),G(`keydown`,n,e=>y(e,`resource`,H(t).data)),q(e,n)}),j(o),V(()=>{Ji(n,`margin-top:${(H(l),H(u),U(()=>H(l).length>0||H(u).length>0?`20px`:`0`))??``}`),J(a,(H(d),U(()=>H(d).length)))}),q(e,t)};Y(o,e=>{H(d),U(()=>H(d).length>0)&&e(s)});var p=z(o,2),m=e=>{var t=iS(),n=L(t);$(n,{name:`search`,size:28,strokeWidth:1.25});var r=z(n,2),i=L(r);j(r),j(t),V(()=>J(i,`No results for "${(H(c),U(()=>H(c).referenceSearch))??``}"`)),q(e,t)};Y(p,e=>{H(l),H(u),H(d),U(()=>H(l).length===0&&H(u).length===0&&H(d).length===0)&&e(m)}),q(e,t)};Y(O,e=>{H(c),U(()=>!H(c).capabilities)?e(se):e(ce,-1)}),j(oe),j(ie),j(b),Z(te,()=>n().referenceSearch,e=>ht(p(),U(n).referenceSearch=e,U(n))),q(e,b),Ge(),s()}var cS=K(`<div class="fab-backdrop svelte-10ega5z" role="button" tabindex="-1" aria-label="Close menu"></div>`),lS=K(`<!> <div><div class="fab-actions svelte-10ega5z"><div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Task</span> <button class="fab-action-btn task svelte-10ega5z" title="Create new task" aria-label="Create new task"><!></button></div> <div class="fab-action-item svelte-10ega5z"><span class="fab-action-label svelte-10ega5z">New Memory</span> <button class="fab-action-btn memory svelte-10ega5z" title="Create new memory" aria-label="Create new memory"><!></button></div></div> <button class="fab-main svelte-10ega5z"><span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="svelte-10ega5z"><line x1="12" y1="5" x2="12" y2="19" class="svelte-10ega5z"></line><line x1="5" y1="12" x2="19" y2="12" class="svelte-10ega5z"></line></svg></span></button></div>`,1);function uS(e,t){We(t,!1);let n=()=>P(La,`$currentRepo`,r),[r,i]=pt(),a=Q(t,`onNewMemory`,8,()=>{}),o=Q(t,`onNewTask`,8,()=>{}),s=F(!1);function c(){I(s,!H(s))}function l(){I(s,!1),a()()}function u(){I(s,!1),o()()}function d(e){e.key===`Escape`&&I(s,!1)}Ta();var f=li();G(`keydown`,hn,d);var p=R(f),m=e=>{var t=lS(),n=R(t),r=e=>{var t=cS();G(`click`,t,()=>I(s,!1)),G(`keydown`,t,e=>e.key===`Escape`&&I(s,!1)),q(e,t)};Y(n,e=>{H(s)&&e(r)});var i=z(n,2);let a;var o=L(i),d=L(o),f=z(L(d),2);$(L(f),{name:`clipboard-list`,size:16,strokeWidth:2}),j(f),j(d);var p=z(d,2),m=z(L(p),2);$(L(m),{name:`brain`,size:16,strokeWidth:2}),j(m),j(p),j(o);var h=z(o,2),g=L(h);let _;j(h),j(i),V(()=>{a=Ki(i,1,`fab-container svelte-10ega5z`,null,a,{open:H(s)}),Ji(d,`transition-delay: ${H(s)?`0.05s`:`0s`}`),Ji(p,`transition-delay: ${H(s)?`0.1s`:`0s`}`),fa(h,`title`,H(s)?`Close`:`Quick create`),fa(h,`aria-label`,H(s)?`Close quick create menu`:`Open quick create menu`),fa(h,`aria-expanded`,H(s)),_=Ki(g,1,`fab-icon svelte-10ega5z`,null,_,{rotated:H(s)})}),G(`click`,f,u),G(`click`,m,l),G(`click`,h,c),q(e,t)};Y(p,e=>{n()&&e(m)}),q(e,f),Ge(),i()}var dS=K(`<div class="error-banner svelte-owkwhr"> </div>`),fS=K(`<div class="glass card panel-card create-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div><div class="section-label">New Standard</div> <div class="toolbar-subtitle svelte-owkwhr">Save one atomic coding standard for this repo or globally.</div></div></div> <div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input" placeholder="Error handling standard"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input" placeholder="Optional parent standard UUID"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input" placeholder="testing, security, routing"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input" placeholder="1.0.0"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input" placeholder="typescript, python"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input" placeholder="svelte, vite, express"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input" placeholder="frontend, linting"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input" placeholder="JSON metadata"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr" placeholder="Write the implementation rule in concise Markdown..."></textarea></label> <button class="btn btn-primary"><!> </button></div>`),pS=K(`<button class="btn btn-ghost btn-sm">Add first standard</button>`),mS=K(`<div class="muted-state svelte-owkwhr">Loading standards...</div>`),hS=K(`<div class="empty-state svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">No standards found</div> <div class="empty-copy svelte-owkwhr">Adjust the filters or create a standard for this repository.</div></div>`),gS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),_S=K(`<div class="tag-row svelte-owkwhr"></div>`),vS=K(`<span class="mini-chip svelte-owkwhr"> </span>`),yS=K(`<div class="tag-row svelte-owkwhr"></div>`),bS=K(`<button><div class="row-title svelte-owkwhr"><!> <span> </span></div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span>child</span></div> <!></button>`),xS=K(`<div class="standard-children svelte-owkwhr"></div>`),SS=K(`<div class="standard-group svelte-owkwhr"><button><div class="row-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div> <!></button> <!></div>`),CS=K(`<div class="standard-list svelte-owkwhr"></div>`),wS=K(`<div class="muted-state svelte-owkwhr">Loading standard detail...</div>`),TS=K(`<div class="form-grid svelte-owkwhr"><label class="svelte-owkwhr"><span class="svelte-owkwhr">Name</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Parent ID</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Context</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Version</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Language</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Stack</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Tags</span> <input class="form-input"/></label> <label class="svelte-owkwhr"><span class="svelte-owkwhr">Metadata JSON</span> <input class="form-input"/></label></div> <label class="content-label svelte-owkwhr"><span class="svelte-owkwhr">Content</span> <textarea class="form-textarea content-input svelte-owkwhr"></textarea></label> <div class="editor-actions svelte-owkwhr"><button class="btn btn-primary"><!> </button> <button class="btn btn-ghost">Cancel</button></div>`,1),ES=K(`<div class="markdown-body md-card"><!></div>`),DS=K(`<div class="detail-heading svelte-owkwhr"><div><div class="detail-title svelte-owkwhr"> </div> <div class="row-meta svelte-owkwhr"><span> </span> <span> </span> <span> </span> <span> </span></div></div> <div class="detail-actions svelte-owkwhr"><span class="scope-pill svelte-owkwhr"> </span> <button class="btn btn-ghost btn-sm"><!> Edit</button> <button class="btn btn-ghost btn-sm danger-text svelte-owkwhr"><!> </button></div></div> <!>`,1),OS=K(`<div class="empty-state detail-empty svelte-owkwhr"><!> <div class="empty-title svelte-owkwhr">Select a standard</div> <div class="empty-copy svelte-owkwhr">The full Markdown content and scope metadata appear here.</div></div>`),kS=K(`<div class="feature-shell animate-fade-in svelte-owkwhr"><div class="feature-toolbar glass card svelte-owkwhr"><div class="toolbar-title svelte-owkwhr"><!> <div><div class="section-label">Coding Standards</div> <div class="toolbar-subtitle svelte-owkwhr"> </div></div></div> <button class="btn btn-primary toolbar-action svelte-owkwhr"><!> </button> <div class="toolbar-controls svelte-owkwhr"><input class="form-input" placeholder="Search standards..."/> <input class="form-input" placeholder="Language"/> <input class="form-input" placeholder="Stack tags, comma separated"/> <select class="form-select"><option>Repo + global</option><option>Global only</option><option>All standards</option></select></div></div> <!> <!> <div><div class="glass card panel-card list-panel svelte-owkwhr"><div class="panel-heading svelte-owkwhr"><div class="section-label">Standards</div> <!></div> <!></div> <div class="glass card panel-card detail-panel svelte-owkwhr"><!></div></div></div>`);function AS(e,t){We(t,!1);let n=Q(t,`repo`,8,``),r=F([]),i=F(),a=F(!1),o=F(!1),s=F(!1),c=F(!1),l=F(``),u=F(``),d=F(``),f=F(``),p=F(`repo`),m=F(null),h=F(!1),g=F(!1),_=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),v=F({name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``});function y(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 b(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function x(e){return JSON.stringify(e,null,2)}function S(e){let t={},n=new Set(e.map(e=>e.id));for(let r of e){let e=r.parent_id;if(!e||!n.has(e))continue;let i=t[e]||[];i.push(r),t[e]=i}return e.filter(e=>!e.parent_id||!n.has(e.parent_id)).map(e=>({standard:e,children:(t[e.id]||[]).sort((e,t)=>e.title.localeCompare(t.title))}))}async function C(e){I(o,!0),I(g,!1);try{let t=await fo.standardById(e);I(m,t),t&&I(v,{name:t.title,parent_id:t.parent_id||``,context:t.context,version:t.version,language:t.language||``,stack:t.stack.join(`, `),tags:t.tags.join(`, `),metadata:x(t.metadata),content:t.content})}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}function w(){H(m)&&(I(v,{name:H(m).title,parent_id:H(m).parent_id||``,context:H(m).context,version:H(m).version,language:H(m).language||``,stack:H(m).stack.join(`, `),tags:H(m).tags.join(`, `),metadata:x(H(m).metadata),content:H(m).content}),I(g,!0))}function T(){I(g,!1)}async function E(){if(n()){I(a,!0),I(l,``);try{I(r,(await fo.standards({query:H(u)||void 0,language:H(d)||void 0,stack:H(f)||void 0,repo:H(p)===`repo`?n():void 0,is_global:H(p)===`global`?!0:void 0,page:1,pageSize:100})).standards||[]),(!H(m)||!H(r).some(e=>e.id===H(m)?.id))&&I(m,H(r)[0]||null),H(m)?.id&&await C(H(m).id)}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function D(){let e=y(H(_).metadata);if(!(!H(_).name.trim()||!H(_).content.trim()||b(H(_).tags).length===0||!e)){I(s,!0),I(l,``);try{let t=H(p)===`global`,r=await fo.createStandard({title:H(_).name.trim(),content:H(_).content.trim(),parent_id:H(_).parent_id.trim()||void 0,context:H(_).context.trim()||`general`,version:H(_).version.trim()||`1.0.0`,language:H(_).language.trim()||void 0,stack:b(H(_).stack),tags:b(H(_).tags),metadata:e,repo:t?void 0:n(),is_global:t});I(_,{name:``,parent_id:``,context:`general`,version:`1.0.0`,language:``,stack:``,tags:``,metadata:`{"source":"dashboard"}`,content:``}),I(h,!1),await E(),I(m,r||H(m))}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function ee(){if(!H(m))return;let e=y(H(v).metadata);if(!(!H(v).name.trim()||!H(v).content.trim()||b(H(v).tags).length===0||!e)){I(s,!0),I(l,``);try{await fo.updateStandard(H(m).id,{title:H(v).name.trim(),content:H(v).content.trim(),parent_id:H(v).parent_id.trim()||null,context:H(v).context.trim()||`general`,version:H(v).version.trim()||`1.0.0`,language:H(v).language.trim()||void 0,stack:b(H(v).stack),tags:b(H(v).tags),metadata:e,repo:H(m).is_global?void 0:H(m).repo||n(),is_global:H(m).is_global}),I(g,!1),await C(H(m).id),await E()}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}async function te(){if(H(m)&&confirm(`Delete coding standard "${H(m).title}"?`)){I(c,!0),I(l,``);try{await fo.deleteStandard(H(m).id),I(g,!1),I(m,null),await E()}catch(e){I(l,e instanceof Error?e.message:String(e))}finally{I(c,!1)}}}Oa(()=>{E()}),B(()=>W(n()),()=>{n()&&E()}),B(()=>H(r),()=>{I(i,S(H(r)))}),Un(),Ta();var ne=kS(),re=L(ne),ie=L(re),ae=L(ie);$(ae,{name:`check`,size:16,strokeWidth:2});var oe=z(ae,2),O=z(L(oe),2),se=L(O);j(O),j(oe),j(ie);var ce=z(ie,2),le=L(ce);{let e=Yt(()=>H(h)?`chevron-left`:`plus`);$(le,{get name(){return H(e)},size:14,strokeWidth:2})}var ue=z(le);j(ce);var de=z(ce,2),fe=L(de);ca(fe);var pe=z(fe,2);ca(pe);var me=z(pe,2);ca(me);var he=z(me,2),ge=L(he);ge.value=ge.__value=`repo`;var _e=z(ge);_e.value=_e.__value=`global`;var ve=z(_e);ve.value=ve.__value=`all`,j(he),j(de),j(re);var ye=z(re,2),be=e=>{var t=dS(),n=L(t,!0);j(t),V(()=>J(n,H(l))),q(e,t)};Y(ye,e=>{H(l)&&e(be)});var xe=z(ye,2),Se=e=>{var t=fS(),n=z(L(t),2),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),v=z(L(g),2);ca(v),j(g);var x=z(g,2),S=z(L(x),2);ca(S),j(x),j(n);var C=z(n,2),w=z(L(C),2);On(w),j(C);var T=z(C,2),E=L(T);$(E,{name:`check`,size:14,strokeWidth:2});var ee=z(E);j(T),j(t),V(e=>{T.disabled=e,J(ee,` ${H(s)?`Saving...`:`Save Standard`}`)},[()=>(H(s),H(_),U(()=>H(s)||!H(_).name.trim()||!H(_).content.trim()||b(H(_).tags).length===0||!y(H(_).metadata)))]),Z(i,()=>H(_).name,e=>sn(_,H(_).name=e)),Z(o,()=>H(_).parent_id,e=>sn(_,H(_).parent_id=e)),Z(l,()=>H(_).context,e=>sn(_,H(_).context=e)),Z(d,()=>H(_).version,e=>sn(_,H(_).version=e)),Z(p,()=>H(_).language,e=>sn(_,H(_).language=e)),Z(h,()=>H(_).stack,e=>sn(_,H(_).stack=e)),Z(v,()=>H(_).tags,e=>sn(_,H(_).tags=e)),Z(S,()=>H(_).metadata,e=>sn(_,H(_).metadata=e)),Z(w,()=>H(_).content,e=>sn(_,H(_).content=e)),G(`click`,T,D),q(e,t)};Y(xe,e=>{H(h)&&e(Se)});var Ce=z(xe,2);let we;var Te=L(Ce),Ee=L(Te),De=z(L(Ee),2),Oe=e=>{var t=pS();G(`click`,t,()=>I(h,!0)),q(e,t)};Y(De,e=>{H(r),U(()=>H(r).length===0)&&e(Oe)}),j(Ee);var ke=z(Ee,2),k=e=>{q(e,mS())},Ae=e=>{var t=hS();$(L(t),{name:`check`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},A=e=>{var t=CS();X(t,5,()=>H(i),e=>e.standard.id,(e,t)=>{var r=SS(),i=L(r);let a;var o=L(i),s=L(o,!0);j(o);var c=z(o,2),l=L(c),u=L(l,!0);j(l);var d=z(l,2),f=L(d,!0);j(d);var p=z(d,2),h=L(p,!0);j(p);var g=z(p,2),_=L(g,!0);j(g),j(c);var v=z(c,2),y=e=>{var n=_S();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).standard.stack,...H(t).standard.tags])].slice(0,6))),e=>e,(e,t)=>{var n=gS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(v,e=>{H(t),U(()=>H(t).standard.stack.length||H(t).standard.tags.length)&&e(y)}),j(i);var b=z(i,2),x=e=>{var r=xS();X(r,5,()=>(H(t),U(()=>H(t).children)),e=>e.id,(e,t)=>{var r=bS();let i;var a=L(r),o=L(a);$(o,{name:`corner-down-right`,size:13,strokeWidth:2});var s=z(o,2),c=L(s,!0);j(s),j(a);var l=z(a,2),u=L(l),d=L(u,!0);j(u);var f=z(u,2),p=L(f,!0);j(f);var h=z(f,2),g=L(h,!0);j(h),Ne(2),j(l);var _=z(l,2),v=e=>{var n=yS();X(n,5,()=>(H(t),U(()=>[...new Set([...H(t).stack,...H(t).tags])].slice(0,6))),e=>e,(e,t)=>{var n=vS(),r=L(n,!0);j(n),V(()=>J(r,H(t))),q(e,n)}),j(n),q(e,n)};Y(_,e=>{H(t),U(()=>H(t).stack.length||H(t).tags.length)&&e(v)}),j(r),V(()=>{i=Ki(r,1,`standard-row standard-row-child svelte-owkwhr`,null,i,{selected:H(m)?.id===H(t).id}),J(c,(H(t),U(()=>H(t).title))),J(d,(H(t),U(()=>H(t).context))),J(p,(H(t),U(()=>H(t).language||`any language`))),J(g,(H(t),W(n()),U(()=>H(t).is_global?`global`:H(t).repo||n())))}),G(`click`,r,()=>C(H(t).id)),q(e,r)}),j(r),q(e,r)};Y(b,e=>{H(t),U(()=>H(t).children.length>0)&&e(x)}),j(r),V(()=>{a=Ki(i,1,`standard-row standard-row-root svelte-owkwhr`,null,a,{selected:H(m)?.id===H(t).standard.id}),J(s,(H(t),U(()=>H(t).standard.title))),J(u,(H(t),U(()=>H(t).standard.context))),J(f,(H(t),U(()=>H(t).standard.language||`any language`))),J(h,(H(t),W(n()),U(()=>H(t).standard.is_global?`global`:H(t).standard.repo||n()))),J(_,(H(t),U(()=>H(t).children.length>0?`${H(t).children.length} child`:`root`)))}),G(`click`,i,()=>C(H(t).standard.id)),q(e,r)}),j(t),q(e,t)};Y(ke,e=>{H(a)?e(k):(H(r),U(()=>H(r).length===0)?e(Ae,1):e(A,-1))}),j(Te);var je=z(Te,2),Me=L(je),Pe=e=>{q(e,wS())},Fe=e=>{var t=DS(),n=R(t),r=L(n),i=L(r),a=L(i,!0);j(i);var o=z(i,2),l=L(o),u=L(l,!0);j(l);var d=z(l,2),f=L(d);j(d);var p=z(d,2),h=L(p,!0);j(p);var _=z(p,2),b=L(_,!0);j(_),j(o),j(r);var x=z(r,2),S=L(x),C=L(S,!0);j(S);var E=z(S,2);$(L(E),{name:`pencil`,size:14,strokeWidth:2}),Ne(),j(E);var D=z(E,2),ne=L(D);$(ne,{name:`trash`,size:14,strokeWidth:2});var re=z(ne);j(D),j(x),j(n);var ie=z(n,2),ae=e=>{var t=TS(),n=R(t),r=L(n),i=z(L(r),2);ca(i),j(r);var a=z(r,2),o=z(L(a),2);ca(o),j(a);var c=z(a,2),l=z(L(c),2);ca(l),j(c);var u=z(c,2),d=z(L(u),2);ca(d),j(u);var f=z(u,2),p=z(L(f),2);ca(p),j(f);var m=z(f,2),h=z(L(m),2);ca(h),j(m);var g=z(m,2),_=z(L(g),2);ca(_),j(g);var b=z(g,2),x=z(L(b),2);ca(x),j(b),j(n);var S=z(n,2),C=z(L(S),2);On(C),j(S);var w=z(S,2),E=L(w),D=L(E);$(D,{name:`check`,size:14,strokeWidth:2});var te=z(D);j(E);var ne=z(E,2);j(w),V(e=>{E.disabled=e,J(te,` ${H(s)?`Saving...`:`Save Changes`}`),ne.disabled=H(s)},[()=>(H(s),H(v),U(()=>H(s)||!y(H(v).metadata)))]),Z(i,()=>H(v).name,e=>sn(v,H(v).name=e)),Z(o,()=>H(v).parent_id,e=>sn(v,H(v).parent_id=e)),Z(l,()=>H(v).context,e=>sn(v,H(v).context=e)),Z(d,()=>H(v).version,e=>sn(v,H(v).version=e)),Z(p,()=>H(v).language,e=>sn(v,H(v).language=e)),Z(h,()=>H(v).stack,e=>sn(v,H(v).stack=e)),Z(_,()=>H(v).tags,e=>sn(v,H(v).tags=e)),Z(x,()=>H(v).metadata,e=>sn(v,H(v).metadata=e)),Z(C,()=>H(v).content,e=>sn(v,H(v).content=e)),G(`click`,E,ee),G(`click`,ne,T),q(e,t)},oe=e=>{var t=ES();Xy(L(t),{get content(){return H(m),U(()=>H(m).content)}}),j(t),q(e,t)};Y(ie,e=>{H(g)?e(ae):e(oe,-1)}),V(e=>{J(a,(H(m),U(()=>H(m).title))),J(u,(H(m),U(()=>H(m).context))),J(f,`v${(H(m),U(()=>H(m).version))??``}`),J(h,(H(m),U(()=>H(m).parent_id?`child of ${H(m).parent_id}`:`root`))),J(b,e),J(C,(H(m),U(()=>H(m).is_global?`Global`:`Repo`))),D.disabled=H(c),J(re,` ${H(c)?`Deleting...`:`Delete`}`)},[()=>(W(il),H(m),U(()=>il(H(m).updated_at)))]),G(`click`,E,w),G(`click`,D,te),q(e,t)},Ie=e=>{var t=OS();$(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(Me,e=>{H(o)?e(Pe):H(m)?e(Fe,1):e(Ie,-1)}),j(je),j(Ce),j(ne),V(()=>{J(se,`${(H(r),U(()=>H(r).length))??``} matching standards`),J(ue,` ${H(h)?`Close Form`:`New Standard`}`),we=Ki(Ce,1,`feature-grid svelte-owkwhr`,null,we,{"with-create":H(h)})}),G(`click`,ce,()=>I(h,!H(h))),Z(fe,()=>H(u),e=>I(u,e)),G(`input`,fe,()=>E()),Z(pe,()=>H(d),e=>I(d,e)),G(`input`,pe,()=>E()),Z(me,()=>H(f),e=>I(f,e)),G(`input`,me,()=>E()),Zi(he,()=>H(p),e=>I(p,e)),G(`change`,he,()=>E()),q(e,ne),Ge()}var jS=K(`<div class="error-banner svelte-1ik2acm"> </div>`),MS=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Create Handoff</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">From agent</span><input class="form-input" placeholder="agent-a"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">To agent</span><input class="form-input" placeholder="agent-b (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123 (optional)"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Summary</span><textarea class="form-textarea summary-input svelte-1ik2acm" placeholder="What should the next agent know?"></textarea></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Context JSON</span><textarea class="form-textarea json-input svelte-1ik2acm"></textarea></label> <button class="btn btn-primary"><!> </button></div></div>`),NS=K(`<div class="claim-result svelte-1ik2acm"><div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <span> </span> <span> </span></div></div>`),PS=K(`<div class="glass card panel-card action-panel svelte-1ik2acm"><div class="section-label">Claim Task</div> <div class="form-stack svelte-1ik2acm"><label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Task code</span><input class="form-input" placeholder="TASK-123"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Agent</span><input class="form-input" placeholder="agent-name"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Role</span><input class="form-input" placeholder="worker"/></label> <label class="svelte-1ik2acm"><span class="svelte-1ik2acm">Metadata JSON</span><textarea class="form-textarea json-input svelte-1ik2acm" placeholder="Metadata JSON object"></textarea></label> <button class="btn btn-accent"><!> </button></div> <!></div>`),FS=K(`<div class="action-grid svelte-1ik2acm"><!> <!></div>`),IS=K(`<button class="btn btn-ghost btn-sm">Create handoff</button>`),LS=K(`<div class="muted-state svelte-1ik2acm">Loading handoffs...</div>`),RS=K(`<div class="empty-state svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">No handoffs found</div> <div class="empty-copy svelte-1ik2acm">Create a handoff when work needs context transfer between agents.</div></div>`),zS=K(`<span> </span>`),BS=K(`<button><div class="handoff-top svelte-1ik2acm"><span> </span> <span class="row-date svelte-1ik2acm"> </span></div> <div class="row-title svelte-1ik2acm"> </div> <div class="row-meta svelte-1ik2acm"><span> </span> <!></div></button>`),VS=K(`<div class="handoff-list svelte-1ik2acm"></div>`),HS=K(`<div class="linked-task svelte-1ik2acm"> </div>`),US=K(`<div class="detail-title svelte-1ik2acm"> </div> <div class="detail-grid svelte-1ik2acm"><div class="svelte-1ik2acm"><span class="svelte-1ik2acm">From</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">To</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Status</span><strong class="svelte-1ik2acm"> </strong></div> <div class="svelte-1ik2acm"><span class="svelte-1ik2acm">Created</span><strong class="svelte-1ik2acm"> </strong></div></div> <div class="status-actions svelte-1ik2acm"><button class="btn btn-ghost btn-sm">Accept</button> <button class="btn btn-ghost btn-sm">Expire</button> <button class="btn btn-ghost btn-sm">Reject</button></div> <!>`,1),WS=K(`<div class="empty-state detail-empty svelte-1ik2acm"><!> <div class="empty-title svelte-1ik2acm">Select a handoff</div> <div class="empty-copy svelte-1ik2acm">Details for the selected handoff appear here.</div></div>`),GS=K(`<div class="feature-shell animate-fade-in svelte-1ik2acm"><div class="feature-toolbar glass card svelte-1ik2acm"><div class="toolbar-title svelte-1ik2acm"><!> <div><div class="section-label">Handoffs & Claims</div> <div class="toolbar-subtitle svelte-1ik2acm"> </div></div></div> <div class="toolbar-actions svelte-1ik2acm"><button class="btn btn-primary svelte-1ik2acm"><!> </button> <button class="btn btn-accent svelte-1ik2acm"><!> </button></div> <div class="toolbar-controls svelte-1ik2acm"><select class="form-select"><option>All statuses</option><option>Pending</option><option>Accepted</option><option>Rejected</option><option>Expired</option></select> <input class="form-input" placeholder="To agent filter"/> <button class="btn btn-ghost"><!> Refresh</button></div></div> <!> <!> <div class="feature-grid svelte-1ik2acm"><div class="glass card panel-card list-panel svelte-1ik2acm"><div class="panel-heading svelte-1ik2acm"><div class="section-label">Handoff Queue</div> <!></div> <!></div> <div class="glass card panel-card detail-panel svelte-1ik2acm"><!></div></div></div>`);function KS(e,t){We(t,!1);let n=Q(t,`repo`,8,``),r=F([]),i=F(!1),a=F(!1),o=F(!1),s=F(!1),c=F(``),l=F(`pending`),u=F(``),d=F(null),f=F(null),p=F(!1),m=F(!1),h=F({from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),g=F({task_code:``,agent:``,role:`worker`,metadata:``});function _(e){return e?.structuredContent??null}function v(e){if(!e.trim())return{};let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`JSON must be an object.`);return t}function y(){return!!H(h).from_agent.trim()&&!!H(h).summary.trim()&&(!!H(h).to_agent.trim()||!!H(h).task_code.trim()||!!H(h).context.trim())}function b(e,t){let r=Object.fromEntries(e.map((e,n)=>[e,t[n]]));return{id:String(r.id||``),repo:n(),from_agent:String(r.from_agent||``),to_agent:r.to_agent?String(r.to_agent):null,task_id:r.task_id?String(r.task_id):null,summary:String(r.summary||``),context:{},status:String(r.status||`pending`),created_at:String(r.created_at||``),updated_at:String(r.created_at||``),expires_at:null}}async function x(){if(n()){I(i,!0),I(c,``);try{let e={repo:n(),status:H(l)||void 0,limit:50,structured:!0};H(u).trim()&&(e.to_agent=H(u).trim());let t=_(await fo.callTool(`handoff-list`,e)),i=t?.handoffs?.columns||[];I(r,(t?.handoffs?.rows||[]).map(e=>b(i,e))),H(d)&&!H(r).some(e=>e.id===H(d)?.id)&&I(d,null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(i,!1)}}}async function S(){if(!(!H(h).from_agent.trim()||!H(h).summary.trim())){I(a,!0),I(c,``);try{let e=_(await fo.callTool(`handoff-create`,{repo:n(),from_agent:H(h).from_agent.trim(),to_agent:H(h).to_agent.trim()||void 0,task_code:H(h).task_code.trim()||void 0,summary:H(h).summary.trim(),context:v(H(h).context),structured:!0}));I(h,{from_agent:``,to_agent:``,task_code:``,summary:``,context:``}),I(p,!1),await x(),I(d,e||H(r)[0]||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(a,!1)}}}async function C(){if(!(!H(g).task_code.trim()||!H(g).agent.trim())){I(o,!0),I(c,``);try{I(f,_(await fo.callTool(`task-claim`,{repo:n(),task_code:H(g).task_code.trim(),agent:H(g).agent.trim(),role:H(g).role.trim()||`worker`,metadata:v(H(g).metadata),structured:!0}))),I(g,{task_code:``,agent:H(g).agent,role:H(g).role,metadata:``}),I(m,!1)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(o,!1)}}}async function w(e){if(H(d)){I(s,!0),I(c,``);try{await fo.callTool(`handoff-update`,{id:H(d).id,status:e,structured:!0}),await x(),I(d,H(r).find(e=>e.id===H(d)?.id)||null)}catch(e){I(c,e instanceof Error?e.message:String(e))}finally{I(s,!1)}}}Oa(()=>{x()}),B(()=>W(n()),()=>{n()&&x()}),Un(),Ta();var T=GS(),E=L(T),D=L(E),ee=L(D);$(ee,{name:`git-branch`,size:16,strokeWidth:2});var te=z(ee,2),ne=z(L(te),2),re=L(ne);j(ne),j(te),j(D);var ie=z(D,2),ae=L(ie),oe=L(ae);$(oe,{name:`git-branch`,size:14,strokeWidth:2});var O=z(oe);j(ae);var se=z(ae,2),ce=L(se);$(ce,{name:`check`,size:14,strokeWidth:2});var le=z(ce);j(se),j(ie);var ue=z(ie,2),de=L(ue),fe=L(de);fe.value=fe.__value=``;var pe=z(fe);pe.value=pe.__value=`pending`;var me=z(pe);me.value=me.__value=`accepted`;var he=z(me);he.value=he.__value=`rejected`;var ge=z(he);ge.value=ge.__value=`expired`,j(de);var _e=z(de,2);ca(_e);var ve=z(_e,2);$(L(ve),{name:`refresh-cw`,size:14,strokeWidth:2}),Ne(),j(ve),j(ue),j(E);var ye=z(E,2),be=e=>{var t=jS(),n=L(t,!0);j(t),V(()=>J(n,H(c))),q(e,t)};Y(ye,e=>{H(c)&&e(be)});var xe=z(ye,2),Se=e=>{var t=FS(),n=L(t),r=e=>{var t=MS(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var o=z(r,2),s=z(L(o));ca(s),j(o);var c=z(o,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var f=z(u,2),p=z(L(f));On(p),fa(p,`placeholder`,`{"next_steps":["..."],"blockers":[],"remaining_work":"..."}`),j(f);var m=z(f,2),g=L(m);$(g,{name:`git-branch`,size:14,strokeWidth:2});var _=z(g);j(m),j(n),j(t),V(e=>{m.disabled=e,J(_,` ${H(a)?`Creating...`:`Create Handoff`}`)},[()=>(H(a),U(()=>H(a)||!y()))]),Z(i,()=>H(h).from_agent,e=>sn(h,H(h).from_agent=e)),Z(s,()=>H(h).to_agent,e=>sn(h,H(h).to_agent=e)),Z(l,()=>H(h).task_code,e=>sn(h,H(h).task_code=e)),Z(d,()=>H(h).summary,e=>sn(h,H(h).summary=e)),Z(p,()=>H(h).context,e=>sn(h,H(h).context=e)),G(`click`,m,S),q(e,t)};Y(n,e=>{H(p)&&e(r)});var i=z(n,2),s=e=>{var t=PS(),n=z(L(t),2),r=L(n),i=z(L(r));ca(i),j(r);var a=z(r,2),s=z(L(a));ca(s),j(a);var c=z(a,2),l=z(L(c));ca(l),j(c);var u=z(c,2),d=z(L(u));On(d),j(u);var p=z(u,2),m=L(p);$(m,{name:`check`,size:14,strokeWidth:2});var h=z(m);j(p),j(n);var _=z(n,2),v=e=>{var t=NS(),n=L(t),r=L(n);j(n);var i=z(n,2),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s);var l=z(s,2),u=L(l,!0);j(l),j(i),j(t),V(e=>{J(r,`Claimed ${(H(f),U(()=>H(f).task_code||H(f).task_id))??``}`),J(o,(H(f),U(()=>H(f).agent))),J(c,(H(f),U(()=>H(f).role))),J(u,e)},[()=>(W(il),H(f),U(()=>il(H(f).claimed_at)))]),q(e,t)};Y(_,e=>{H(f)&&e(v)}),j(t),V(e=>{p.disabled=e,J(h,` ${H(o)?`Claiming...`:`Claim Task`}`)},[()=>(H(o),H(g),U(()=>H(o)||!H(g).task_code.trim()||!H(g).agent.trim()))]),Z(i,()=>H(g).task_code,e=>sn(g,H(g).task_code=e)),Z(s,()=>H(g).agent,e=>sn(g,H(g).agent=e)),Z(l,()=>H(g).role,e=>sn(g,H(g).role=e)),Z(d,()=>H(g).metadata,e=>sn(g,H(g).metadata=e)),G(`click`,p,C),q(e,t)};Y(i,e=>{H(m)&&e(s)}),j(t),q(e,t)};Y(xe,e=>{(H(p)||H(m))&&e(Se)});var Ce=z(xe,2),we=L(Ce),Te=L(we),Ee=z(L(Te),2),De=e=>{var t=IS();G(`click`,t,()=>I(p,!0)),q(e,t)};Y(Ee,e=>{H(r),U(()=>H(r).length===0)&&e(De)}),j(Te);var Oe=z(Te,2),ke=e=>{q(e,LS())},k=e=>{var t=RS();$(L(t),{name:`git-branch`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)},Ae=e=>{var t=VS();X(t,5,()=>H(r),e=>e.id,(e,t)=>{var n=BS();let r;var i=L(n),a=L(i),o=L(a,!0);j(a);var s=z(a,2),c=L(s,!0);j(s),j(i);var l=z(i,2),u=L(l,!0);j(l);var f=z(l,2),p=L(f),m=L(p);j(p);var h=z(p,2),g=e=>{var n=zS(),r=L(n,!0);j(n),V(e=>J(r,e),[()=>(H(t),U(()=>H(t).task_id.slice(0,8)))]),q(e,n)};Y(h,e=>{H(t),U(()=>H(t).task_id)&&e(g)}),j(f),j(n),V(e=>{r=Ki(n,1,`handoff-row svelte-1ik2acm`,null,r,{selected:H(d)?.id===H(t).id}),Ki(a,1,`status-pill status-${(H(t),U(()=>H(t).status))??``}`,`svelte-1ik2acm`),J(o,(H(t),U(()=>H(t).status))),J(c,e),J(u,(H(t),U(()=>H(t).summary))),J(m,`${(H(t),U(()=>H(t).from_agent))??``} -> ${(H(t),U(()=>H(t).to_agent||`unassigned`))??``}`)},[()=>(W(il),H(t),U(()=>il(H(t).created_at)))]),G(`click`,n,()=>I(d,H(t))),q(e,n)}),j(t),q(e,t)};Y(Oe,e=>{H(i)?e(ke):(H(r),U(()=>H(r).length===0)?e(k,1):e(Ae,-1))}),j(we);var A=z(we,2),je=L(A),Me=e=>{var t=US(),n=R(t),r=L(n,!0);j(n);var i=z(n,2),a=L(i),o=z(L(a)),c=L(o,!0);j(o),j(a);var l=z(a,2),u=z(L(l)),f=L(u,!0);j(u),j(l);var p=z(l,2),m=z(L(p)),h=L(m,!0);j(m),j(p);var g=z(p,2),_=z(L(g)),v=L(_,!0);j(_),j(g),j(i);var y=z(i,2),b=L(y),x=z(b,2),S=z(x,2);j(y);var C=z(y,2),T=e=>{var t=HS(),n=L(t);j(t),V(()=>J(n,`Task ID: ${(H(d),U(()=>H(d).task_id))??``}`)),q(e,t)};Y(C,e=>{H(d),U(()=>H(d).task_id)&&e(T)}),V(e=>{J(r,(H(d),U(()=>H(d).summary))),J(c,(H(d),U(()=>H(d).from_agent))),J(f,(H(d),U(()=>H(d).to_agent||`unassigned`))),J(h,(H(d),U(()=>H(d).status))),J(v,e),b.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`accepted`)),x.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`expired`)),S.disabled=(H(s),H(d),U(()=>H(s)||H(d).status===`rejected`))},[()=>(W(il),H(d),U(()=>il(H(d).created_at)))]),G(`click`,b,()=>w(`accepted`)),G(`click`,x,()=>w(`expired`)),G(`click`,S,()=>w(`rejected`)),q(e,t)},Pe=e=>{var t=WS();$(L(t),{name:`book-open`,size:22,strokeWidth:1.75}),Ne(4),j(t),q(e,t)};Y(je,e=>{H(d)?e(Me):e(Pe,-1)}),j(A),j(Ce),j(T),V(()=>{J(re,`${(H(r),U(()=>H(r).length))??``} handoffs in view`),J(O,` ${H(p)?`Close Handoff`:`New Handoff`}`),J(le,` ${H(m)?`Close Claim`:`Claim Task`}`)}),G(`click`,ae,()=>I(p,!H(p))),G(`click`,se,()=>I(m,!H(m))),Zi(de,()=>H(l),e=>I(l,e)),G(`change`,de,()=>x()),Z(_e,()=>H(u),e=>I(u,e)),G(`input`,_e,()=>x()),G(`click`,ve,x),q(e,T),Ge()}var qS=K(`<div class="drawer-overlay" style="z-index:38;" role="button" tabindex="0" aria-label="Close menu"></div> <div class="mobile-sidebar-shell"><!></div>`,1),JS=K(`<div style="text-align:center;padding:80px 20px;" class="animate-fade-in"><div style="display:inline-flex;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,rgba(14,165,233,0.15),rgba(99,102,241,0.15));border:1px solid rgba(14,165,233,0.2);align-items:center;justify-content:center;margin-bottom:20px;" class="animate-float"><!></div> <div style="font-size:1.25rem;font-weight:800;color:var(--color-text);margin-bottom:8px;letter-spacing:-0.02em;">No Repository Selected</div> <div style="color:var(--color-text-muted);font-size:0.875rem;">Select a repository from the sidebar to get started.</div></div>`),YS=K(`<button><!> <span> </span></button>`),XS=K(`<div style="display:grid;grid-template-columns:1fr;gap:12px;align-items:start;" class="dashboard-grid svelte-1m88iwd"><div style="display:flex;flex-direction:column;gap:12px;"><div class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Memory Overview</div> <!></div> <div class="glass card hover-glow" style="padding:16px;"><div class="section-label" style="margin-bottom:10px;">Task Overview</div> <!></div> <!></div></div>`),ZS=K(`<div class="glass card animate-fade-in" style="height:calc(100vh - 180px);display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:24px;"><div style="padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.05);"><div class="flex items-center gap-3"><div style="width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));display:flex;align-items:center;justify-content:center;color:white;box-shadow:0 4px 12px var(--glow-primary);"><!></div> <div><div style="font-size:0.95rem;font-weight:800;color:var(--color-text);letter-spacing:-0.01em;">Recent Activity</div> <div style="font-size:0.68rem;color:var(--color-text-muted);font-weight:600;"> </div></div></div></div> <div style="flex:1;overflow-y:auto;padding:24px 32px;background:rgba(0,0,0,0.02);"><!></div></div>`),QS=K(`<div class="glass card hover-glow animate-fade-in"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="section-label">Memory Explorer</div></div> <!></div>`),$S=K(`<div class="animate-fade-in"><div class="glass card hover-glow" style="margin-bottom:20px;"><div class="flex items-center gap-2" style="margin-bottom:16px;"><!> <div class="stat-label">Task Overview</div></div> <!></div></div>`),eC=K(`<div class="tabs-wrap"><div class="tab-nav" style="display:inline-flex;"></div></div> <!> <!> <!> <!> <!> <!> <!>`,1),tC=K(`<div class="app-layout"><!> <div><!> <!> <div id="dashboardShell" class="dashboard-shell"><!></div></div></div> <!> <!> <!> <!> <!> <!>`,1);function nC(e,t){We(t,!1);let n=()=>P(Fa,`$activeTab`,s),r=()=>P(g,`$sidebarCollapsed`,s),i=()=>P(f,`$appState`,s),a=()=>P(La,`$currentRepo`,s),o=()=>P(no,`$recentActionsTotalItems`,s),[s,c]=pt(),l=F(),u=F(),d=mo({get kanbanBoard(){return H(l)},get memoryList(){return H(u)}}),f={subscribe:d.subscribe,set:d.set,update:d.update},{filteredTools:p,filteredPrompts:m,filteredResources:h,sidebarCollapsed:g,TABS:_}=d;Oa(async()=>{if(co(),await d.loadRepos(),await d.loadHealth(),await d.loadData(),n()===`reference`&&!N(d).capabilities)try{let e=await fo.capabilities();d.update(t=>({...t,capabilities:e}))}catch(e){console.error(`Failed to load capabilities:`,e)}}),Ta();var v=tC();G(`keydown`,hn,function(...e){d.onKeyDown?.apply(this,e)});var y=R(v),b=L(y);Hl(b,{get onRepoSelect(){return d.onRepoSelect}});var x=z(b,2);let S;var C=L(x);tu(C,{get onRefresh(){return d.onRefresh},get onToggleMobileMenu(){return d.toggleMobileMenu}});var w=z(C,2),T=e=>{var t=qS(),n=R(t),r=z(n,2);Hl(L(r),{get onRepoSelect(){return d.onRepoSelect}}),j(r),G(`click`,n,()=>d.toggleMobileMenu()),G(`keydown`,n,e=>e.key===`Escape`&&d.toggleMobileMenu()),q(e,t)};Y(w,e=>{i().mobileMenuOpen&&e(T)});var E=z(w,2),D=L(E),ee=e=>{var t=JS(),n=L(t);$(L(n),{name:`brain`,size:32,strokeWidth:1.5,className:``}),j(n),Ne(4),j(t),q(e,t)},te=e=>{var t=eC(),r=R(t),i=L(r);X(i,5,()=>_,e=>e.id,(e,t)=>{var r=YS();let i;var a=L(r);$(a,{get name(){return H(t).icon},size:14,strokeWidth:1.75});var o=z(a,2),s=L(o,!0);j(o),j(r),V(()=>{i=Ki(r,1,`tab-btn`,null,i,{active:n()===H(t).id}),fa(r,`id`,`tab-${H(t).id??``}`),J(s,H(t).label)}),G(`click`,r,()=>d.onTabChange(H(t).id)),q(e,r)}),j(i),j(r);var s=z(r,2),c=e=>{var t=XS(),n=L(t),r=L(n);Pu(z(L(r),2),{}),j(r);var i=z(r,2);Bu(z(L(i),2),{}),j(i),oy(z(i,2),{}),j(n),j(t),q(e,t)};Y(s,e=>{n()===`dashboard`&&e(c)});var g=z(s,2),v=e=>{var t=ZS(),n=L(t),r=L(n),i=L(r);$(L(i),{name:`activity`,size:18,strokeWidth:2.2}),j(i);var a=z(i,2),s=z(L(a),2),c=L(s);j(s),j(a),j(r),j(n);var l=z(n,2);ab(L(l),{get onLoadPage(){return d.loadRecentActions}}),j(l),j(t),V(()=>J(c,`${o()??``} events tracked`)),q(e,t)};Y(g,e=>{n()===`activity`&&e(v)});var y=z(g,2),b=e=>{var t=QS(),n=L(t);$(L(n),{name:`brain`,size:14,strokeWidth:1.75}),Ne(2),j(n),Sa(wy(z(n,2),{get onMemoryClick(){return d.openMemoryDrawer},get onNewMemory(){return d.openNewMemoryDrawer},onBulkImport:()=>d.openBulkImport(`memories`),$$legacy:!0}),e=>I(u,e),()=>H(u)),j(t),q(e,t)};Y(y,e=>{n()===`memories`&&e(b)});var x=z(y,2),S=e=>{var t=$S(),n=L(t),r=L(n);$(L(r),{name:`columns`,size:14,strokeWidth:1.75}),Ne(2),j(r),Sa(Du(z(r,2),{get onTaskClick(){return d.openTaskDrawer},onAddTask:()=>d.toggleAddTaskModal(!0),onBulkImport:()=>d.openBulkImport(`tasks`),$$legacy:!0}),e=>I(l,e),()=>H(l)),j(n),j(t),q(e,t)};Y(x,e=>{n()===`tasks`&&e(S)});var C=z(x,2),w=e=>{AS(e,{get repo(){return a()}})};Y(C,e=>{n()===`standards`&&e(w)});var T=z(C,2),E=e=>{KS(e,{get repo(){return a()}})};Y(T,e=>{n()===`handoffs`&&e(E)});var D=z(T,2),ee=e=>{sS(e,{get handler(){return d},get appState(){return f},get filteredTools(){return p},get filteredPrompts(){return m},get filteredResources(){return h}})};Y(D,e=>{n()===`reference`&&e(ee)}),q(e,t)};Y(D,e=>{a()?e(te,-1):e(ee)}),j(E),j(x),j(y);var ne=z(y,2);Nb(ne,{get memory(){return i().selectedMemory},get task(){return i().selectedTask},get open(){return i().drawerOpen},get onClose(){return d.closeDrawer},get onTaskUpdated(){return d.handleTaskUpdated},onTaskDeleted:()=>{a()&&H(l)?.loadTasks(a())}});var re=z(ne,2);tx(re,{get item(){return i().selectedReference},get open(){return i().referenceDrawerOpen},onClose:()=>d.toggleReferenceDrawer(!1)});var ie=z(re,2);bx(ie,{get memory(){return i().memoryDrawerItem},get open(){return i().memoryDrawerOpen},onClose:()=>d.toggleMemoryDrawer(!1),get onSaved(){return d.handleMemorySaved},get onDeleted(){return d.handleMemoryDeleted}});var ae=z(ie,2);Bx(ae,{get open(){return i().addTaskModalOpen},get newTask(){return i().newTask},onClose:()=>d.toggleAddTaskModal(!1),get onSave(){return d.createTask}});var oe=z(ae,2);{let e=Yt(()=>a()||``);Ix(oe,{get repo(){return H(e)},get importTarget(){return i().bulkImportTarget},get isOpen(){return i().bulkImportOpen},$$events:{close:()=>d.toggleBulkImport(!1),success:()=>{i().bulkImportTarget===`memories`&&H(u)?.refresh(),i().bulkImportTarget===`tasks`&&a()&&H(l)?.loadTasks(a())}}})}uS(z(oe,2),{get onNewMemory(){return d.openNewMemoryDrawer},onNewTask:()=>d.toggleAddTaskModal(!0)}),V(()=>S=Ki(x,1,`main-content`,null,S,{"sidebar-collapsed":r()})),q(e,v),Ge(),c()}fi(nC,{target:document.getElementById(`app`)});
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
10
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-C9M1BD7U.js"></script>
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/assets/index-CNE1bKgp.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
package/dist/dashboard/server.js
CHANGED
package/dist/mcp/server.js
CHANGED
|
@@ -52,9 +52,10 @@ import {
|
|
|
52
52
|
normalizeRepo,
|
|
53
53
|
readResource,
|
|
54
54
|
setLogLevel,
|
|
55
|
+
toContextSlug,
|
|
55
56
|
updateSessionFromInitialize,
|
|
56
57
|
updateSessionRoots
|
|
57
|
-
} from "../chunk-
|
|
58
|
+
} from "../chunk-H2NOOJCN.js";
|
|
58
59
|
|
|
59
60
|
// src/mcp/server.ts
|
|
60
61
|
import readline from "readline";
|
|
@@ -1808,15 +1809,55 @@ async function handleTaskClaim(args, storage) {
|
|
|
1808
1809
|
|
|
1809
1810
|
// src/mcp/tools/standard.store.ts
|
|
1810
1811
|
import { randomUUID as randomUUID3 } from "crypto";
|
|
1812
|
+
function generateShortCode2() {
|
|
1813
|
+
const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ0123456789";
|
|
1814
|
+
let code = "";
|
|
1815
|
+
for (let i = 0; i < 6; i++) {
|
|
1816
|
+
code += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
1817
|
+
}
|
|
1818
|
+
return code;
|
|
1819
|
+
}
|
|
1811
1820
|
async function handleStandardStore(params, db2, vectors2) {
|
|
1812
1821
|
const validated = StandardStoreSchema.parse(params);
|
|
1822
|
+
const incomingVersion = validated.version || "1.0.0";
|
|
1823
|
+
const incomingLanguage = validated.language ?? null;
|
|
1824
|
+
const incomingStack = validated.stack ?? [];
|
|
1825
|
+
const conflict = db2.standards.checkConflicts(
|
|
1826
|
+
validated.content,
|
|
1827
|
+
incomingVersion,
|
|
1828
|
+
validated.repo,
|
|
1829
|
+
incomingLanguage,
|
|
1830
|
+
incomingStack,
|
|
1831
|
+
0.82
|
|
1832
|
+
);
|
|
1833
|
+
if (conflict) {
|
|
1834
|
+
return createMcpResponse(
|
|
1835
|
+
{
|
|
1836
|
+
success: false,
|
|
1837
|
+
error: "STANDARD_CONFLICT",
|
|
1838
|
+
message: `This standard's content is highly similar to an existing standard (ID: ${conflict.id}, similarity: ${(conflict.similarity * 100).toFixed(1)}%).`,
|
|
1839
|
+
conflicting_standard: {
|
|
1840
|
+
id: conflict.id,
|
|
1841
|
+
title: conflict.title,
|
|
1842
|
+
version: conflict.version,
|
|
1843
|
+
language: conflict.language,
|
|
1844
|
+
stack: conflict.stack,
|
|
1845
|
+
content: conflict.content
|
|
1846
|
+
},
|
|
1847
|
+
instruction: "Use 'standard-update' on the existing ID to update it. To store a distinct variant, supply a different 'version', 'language', or non-overlapping 'stack'."
|
|
1848
|
+
},
|
|
1849
|
+
`Rejected: conflicts with standard "${conflict.title}" (${conflict.id}). Update it via 'standard-update', or differentiate by version / language / stack.`,
|
|
1850
|
+
{ structuredContentPathHint: "conflicting_standard" }
|
|
1851
|
+
);
|
|
1852
|
+
}
|
|
1813
1853
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
1814
1854
|
const entry = {
|
|
1815
1855
|
id: randomUUID3(),
|
|
1856
|
+
code: generateShortCode2(),
|
|
1816
1857
|
title: validated.name,
|
|
1817
1858
|
content: validated.content,
|
|
1818
1859
|
parent_id: validated.parent_id || null,
|
|
1819
|
-
context: validated.context || "general",
|
|
1860
|
+
context: toContextSlug(validated.context || "general"),
|
|
1820
1861
|
version: validated.version || "1.0.0",
|
|
1821
1862
|
language: validated.language || null,
|
|
1822
1863
|
stack: validated.stack || [],
|
|
@@ -1839,6 +1880,7 @@ async function handleStandardStore(params, db2, vectors2) {
|
|
|
1839
1880
|
}
|
|
1840
1881
|
logger.info("[Tool] standard.store - saved coding standard", {
|
|
1841
1882
|
standardId: entry.id,
|
|
1883
|
+
code: entry.code,
|
|
1842
1884
|
title: entry.title,
|
|
1843
1885
|
stack: entry.stack,
|
|
1844
1886
|
language: entry.language
|
|
@@ -1847,9 +1889,9 @@ async function handleStandardStore(params, db2, vectors2) {
|
|
|
1847
1889
|
{
|
|
1848
1890
|
success: true,
|
|
1849
1891
|
standard: entry,
|
|
1850
|
-
message: `Coding standard "${entry.title}" saved successfully.`
|
|
1892
|
+
message: `Coding standard [${entry.code}] "${entry.title}" saved successfully.`
|
|
1851
1893
|
},
|
|
1852
|
-
`Saved coding standard: ${entry.title}`,
|
|
1894
|
+
`Saved coding standard [${entry.code}]: ${entry.title}`,
|
|
1853
1895
|
{
|
|
1854
1896
|
structuredContentPathHint: "standard",
|
|
1855
1897
|
includeSerializedStructuredContent: true
|
|
@@ -1944,8 +1986,9 @@ async function handleStandardSearch(params, db2, vectors2) {
|
|
|
1944
1986
|
context: validated.context,
|
|
1945
1987
|
version: validated.version
|
|
1946
1988
|
});
|
|
1947
|
-
const COLUMNS = ["id", "title", "context", "language", "scope", "tags", "updated_at"];
|
|
1989
|
+
const COLUMNS = ["code", "id", "title", "context", "language", "scope", "tags", "updated_at"];
|
|
1948
1990
|
const rows = paginatedResults.map((standard) => [
|
|
1991
|
+
standard.code ?? "-",
|
|
1949
1992
|
standard.id,
|
|
1950
1993
|
standard.title,
|
|
1951
1994
|
standard.context,
|
|
@@ -1963,7 +2006,7 @@ async function handleStandardSearch(params, db2, vectors2) {
|
|
|
1963
2006
|
(standard) => `- ${standard.title}|${standard.context}|${standard.language || "-"}|${standard.is_global ? "global" : standard.repo || "-"}`
|
|
1964
2007
|
),
|
|
1965
2008
|
"",
|
|
1966
|
-
"Use standard-detail with id for full content."
|
|
2009
|
+
"Use standard-detail with id or code for full content."
|
|
1967
2010
|
];
|
|
1968
2011
|
contentSummary = parts.join("\n");
|
|
1969
2012
|
} else {
|
|
@@ -2042,13 +2085,15 @@ async function handleStandardUpdate(params, db2, vectors2) {
|
|
|
2042
2085
|
// src/mcp/tools/standard.detail.ts
|
|
2043
2086
|
async function handleStandardDetail(args, storage) {
|
|
2044
2087
|
const validated = StandardDetailSchema.parse(args);
|
|
2045
|
-
const standard = storage.standards.getById(validated.id);
|
|
2088
|
+
const standard = validated.id ? storage.standards.getById(validated.id) : storage.standards.getByCode(validated.code);
|
|
2046
2089
|
if (!standard) {
|
|
2047
|
-
|
|
2090
|
+
const identifier = validated.id ?? validated.code;
|
|
2091
|
+
throw new Error(`Coding standard not found: ${identifier}`);
|
|
2048
2092
|
}
|
|
2049
2093
|
storage.standards.incrementHitCounts([standard.id]);
|
|
2050
2094
|
const lines = [
|
|
2051
2095
|
`ID: ${standard.id}`,
|
|
2096
|
+
...standard.code ? [`Code: ${standard.code}`] : [],
|
|
2052
2097
|
`Title: ${standard.title}`,
|
|
2053
2098
|
`Parent ID: ${standard.parent_id || "-"}`,
|
|
2054
2099
|
`Context: ${standard.context}`,
|
|
@@ -21,23 +21,25 @@ Goal:
|
|
|
21
21
|
- If the path is a file:
|
|
22
22
|
- Use the `read_file` tool to retrieve the content of the file.
|
|
23
23
|
- Extract source-backed coding standards from the content.
|
|
24
|
-
-
|
|
24
|
+
- For each extracted rule, use the `standard-search` tool to check if a similar rule already exists (match by name or core instruction).
|
|
25
|
+
- Produce one atomic CSL entry per distinct rule that DOES NOT already exist.
|
|
25
26
|
- Each entry must be ready for the `standard-store` tool shape: name, content, parent_id, context, version, language, stack, tags, metadata, repo, is_global.
|
|
26
27
|
|
|
27
28
|
Atomic entry rules:
|
|
28
29
|
- One entry = one rule. Split bundled guidance into separate entries.
|
|
30
|
+
- DO NOT emit duplicates. If `standard-search` returns a high-confidence match, skip the entry or update it if the new source is more authoritative.
|
|
29
31
|
- Use parent/child only for genuine hierarchy: parent = umbrella principle, child = narrower enforceable specialization.
|
|
30
32
|
- Keep content concise, imperative, and implementation-relevant.
|
|
31
33
|
- ALWAYS include relevant code examples or snippets from the source that illustrate or enforce the rule. Do NOT discard code blocks.
|
|
32
34
|
- Preserve the source meaning without inventing requirements.
|
|
33
35
|
- Ignore boilerplate, non-normative text, or metadata noise. Do NOT ignore code examples.
|
|
34
|
-
- Do not emit duplicates or near-duplicates.
|
|
35
36
|
- Do not infer version, language, stack, or scope unless the source makes them explicit.
|
|
36
37
|
- Use metadata to preserve provenance, including the original file path and a short evidence_excerpt for each entry.
|
|
37
38
|
|
|
38
39
|
Output contract:
|
|
39
40
|
- If tool calls are available:
|
|
40
|
-
-
|
|
41
|
+
- First, emit `standard-search` calls to verify existing data.
|
|
42
|
+
- Then, emit `standard-store` calls for every unique/new accepted entry.
|
|
41
43
|
- When parent/child hierarchy exists, emit the parent first, then emit children with `parent_id` referencing the created parent standard ID.
|
|
42
44
|
- If tool calls are unavailable, return a JSON object with:
|
|
43
45
|
- `standards`: Array of `standard-store`-compatible payloads.
|
|
@@ -15,25 +15,27 @@ Current repo: {{current_repo}}
|
|
|
15
15
|
Goal:
|
|
16
16
|
- Use the web_fetch tool (if available) to retrieve the content of the provided Source URL.
|
|
17
17
|
- Extract only source-backed coding standards from the documentation.
|
|
18
|
-
-
|
|
18
|
+
- For each extracted rule, use the `standard-search` tool to check if a similar rule already exists (match by name or core instruction).
|
|
19
|
+
- Produce one atomic CSL entry per distinct rule that DOES NOT already exist.
|
|
19
20
|
- Each entry must be ready for the standard-store tool shape: name, content, parent_id, context, version, language, stack, tags, metadata, repo, is_global.
|
|
20
21
|
- Identify documentation navigation menus (e.g., sidebars, index pages) containing links to related sub-pages. If present, create iterative scraping tasks for these sub-pages.
|
|
21
22
|
- Detect documentation hierarchy when a page contains an umbrella rule with narrower sub-rules. In that case, emit one parent entry plus child entries linked with `parent_id`.
|
|
22
23
|
|
|
23
24
|
Atomic entry rules:
|
|
24
25
|
- One entry = one rule. Split bundled guidance into separate entries.
|
|
26
|
+
- DO NOT emit duplicates. If `standard-search` returns a high-confidence match, skip the entry or update it if the new source is more authoritative.
|
|
25
27
|
- Use parent/child only for genuine hierarchy: parent = umbrella principle, child = narrower enforceable specialization.
|
|
26
28
|
- Keep content concise, imperative, and implementation-relevant.
|
|
27
29
|
- ALWAYS include relevant code examples or snippets from the source that illustrate or enforce the rule. Do NOT discard code blocks.
|
|
28
30
|
- Preserve the source meaning without inventing requirements.
|
|
29
31
|
- Ignore marketing copy, release notes, and changelog noise. Do NOT ignore code examples.
|
|
30
|
-
- Do not emit duplicates or near-duplicates.
|
|
31
32
|
- Do not infer version, language, stack, or scope unless the source makes them explicit.
|
|
32
33
|
- Use metadata to preserve provenance, including the source_url and a short evidence_excerpt for each entry.
|
|
33
34
|
|
|
34
35
|
Output contract:
|
|
35
36
|
- If tool calls are available:
|
|
36
|
-
-
|
|
37
|
+
- First, emit `standard-search` calls to verify existing data.
|
|
38
|
+
- Emit one `standard-store` call per unique/new accepted entry.
|
|
37
39
|
- When parent/child hierarchy exists, emit the parent first, then emit children with `parent_id` referencing the created parent standard ID.
|
|
38
40
|
- Emit one `task-create` call for each discovered documentation sub-page URL. The task title should be "Scrape: [URL]" and the description should instruct to use the `csl-scrapper` prompt for that URL.
|
|
39
41
|
- If tool calls are unavailable, return a JSON object with:
|