mindpm 1.2.8 → 1.2.10

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/index.js CHANGED
@@ -13,12 +13,31 @@ import { mkdirSync } from "fs";
13
13
  import { dirname, resolve } from "path";
14
14
  import { homedir } from "os";
15
15
 
16
+ // src/utils/ids.ts
17
+ import { randomBytes } from "crypto";
18
+ function generateId() {
19
+ return randomBytes(4).toString("hex");
20
+ }
21
+ function generateSlug(name) {
22
+ const normalized = name.toLowerCase().replace(/[^a-z0-9]+/g, " ").trim();
23
+ const words = normalized.split(/\s+/).filter(Boolean);
24
+ let slug;
25
+ if (words.length > 1) {
26
+ slug = words.slice(0, 4).map((w) => w[0]).join("");
27
+ } else {
28
+ const consonants = normalized.replace(/[aeiou]/g, "");
29
+ slug = consonants.length >= 2 ? consonants.slice(0, 4) : normalized.slice(0, 4);
30
+ }
31
+ return slug || normalized.slice(0, 4) || "prj";
32
+ }
33
+
16
34
  // src/db/schema.ts
17
35
  function createSchema(db2) {
18
36
  db2.exec(`
19
37
  CREATE TABLE IF NOT EXISTS projects (
20
38
  id TEXT PRIMARY KEY,
21
39
  name TEXT NOT NULL UNIQUE,
40
+ slug TEXT,
22
41
  description TEXT,
23
42
  status TEXT DEFAULT 'active' CHECK(status IN ('active', 'paused', 'completed', 'archived')),
24
43
  repo_path TEXT,
@@ -30,6 +49,7 @@ function createSchema(db2) {
30
49
  CREATE TABLE IF NOT EXISTS tasks (
31
50
  id TEXT PRIMARY KEY,
32
51
  project_id TEXT NOT NULL REFERENCES projects(id),
52
+ seq INTEGER,
33
53
  title TEXT NOT NULL,
34
54
  description TEXT,
35
55
  status TEXT DEFAULT 'todo' CHECK(status IN ('todo', 'in_progress', 'blocked', 'done', 'cancelled')),
@@ -101,6 +121,8 @@ function createSchema(db2) {
101
121
  CREATE INDEX IF NOT EXISTS idx_sessions_project_id ON sessions(project_id);
102
122
  CREATE INDEX IF NOT EXISTS idx_sessions_created_at ON sessions(created_at);
103
123
 
124
+ CREATE INDEX IF NOT EXISTS idx_tasks_seq ON tasks(project_id, seq);
125
+
104
126
  CREATE INDEX IF NOT EXISTS idx_context_project_id ON context(project_id);
105
127
 
106
128
  -- Triggers for updated_at (WHEN clause prevents infinite recursion)
@@ -129,6 +151,37 @@ function createSchema(db2) {
129
151
  END;
130
152
  `);
131
153
  }
154
+ function runMigrations(db2) {
155
+ const projectCols = db2.pragma("table_info(projects)").map((c) => c.name);
156
+ if (!projectCols.includes("slug")) {
157
+ db2.exec("ALTER TABLE projects ADD COLUMN slug TEXT");
158
+ const projects = db2.prepare("SELECT id, name FROM projects").all();
159
+ const usedSlugs = /* @__PURE__ */ new Set();
160
+ for (const p of projects) {
161
+ let slug = generateSlug(p.name);
162
+ let candidate = slug;
163
+ let n = 2;
164
+ while (usedSlugs.has(candidate)) {
165
+ candidate = slug + n++;
166
+ }
167
+ usedSlugs.add(candidate);
168
+ db2.prepare("UPDATE projects SET slug = ? WHERE id = ?").run(candidate, p.id);
169
+ }
170
+ }
171
+ const taskCols = db2.pragma("table_info(tasks)").map((c) => c.name);
172
+ if (!taskCols.includes("seq")) {
173
+ db2.exec("ALTER TABLE tasks ADD COLUMN seq INTEGER");
174
+ const projects = db2.prepare("SELECT id FROM projects").all();
175
+ for (const p of projects) {
176
+ const tasks = db2.prepare(
177
+ "SELECT id FROM tasks WHERE project_id = ? ORDER BY created_at ASC, id ASC"
178
+ ).all(p.id);
179
+ tasks.forEach((t, i) => {
180
+ db2.prepare("UPDATE tasks SET seq = ? WHERE id = ?").run(i + 1, t.id);
181
+ });
182
+ }
183
+ }
184
+ }
132
185
 
133
186
  // src/db/connection.ts
134
187
  var db = null;
@@ -153,6 +206,7 @@ function getDb() {
153
206
  db.pragma("wal_autocheckpoint = 100");
154
207
  db.pragma("foreign_keys = ON");
155
208
  createSchema(db);
209
+ runMigrations(db);
156
210
  return db;
157
211
  }
158
212
  function closeDb() {
@@ -163,12 +217,6 @@ function closeDb() {
163
217
  }
164
218
  }
165
219
 
166
- // src/utils/ids.ts
167
- import { randomBytes } from "crypto";
168
- function generateId() {
169
- return randomBytes(4).toString("hex");
170
- }
171
-
172
220
  // src/db/queries.ts
173
221
  function resolveProjectId(projectRef) {
174
222
  const db2 = getDb();
@@ -213,10 +261,17 @@ function registerProjectTools(server2) {
213
261
  async ({ name, description, tech_stack, repo_path }) => {
214
262
  const db2 = getDb();
215
263
  const id = generateId();
264
+ let slug = generateSlug(name);
265
+ const existing = db2.prepare("SELECT slug FROM projects WHERE slug LIKE ?").all(`${slug}%`);
266
+ const usedSlugs = new Set(existing.map((r) => r.slug));
267
+ let candidate = slug;
268
+ let n = 2;
269
+ while (usedSlugs.has(candidate)) candidate = slug + n++;
270
+ slug = candidate;
216
271
  try {
217
272
  db2.prepare(
218
- `INSERT INTO projects (id, name, description, tech_stack, repo_path) VALUES (?, ?, ?, ?, ?)`
219
- ).run(id, name, description ?? null, tech_stack ? JSON.stringify(tech_stack) : null, repo_path ?? null);
273
+ `INSERT INTO projects (id, name, slug, description, tech_stack, repo_path) VALUES (?, ?, ?, ?, ?, ?)`
274
+ ).run(id, name, slug, description ?? null, tech_stack ? JSON.stringify(tech_stack) : null, repo_path ?? null);
220
275
  } catch (e) {
221
276
  if (e.message?.includes("UNIQUE constraint failed")) {
222
277
  return { content: [{ type: "text", text: `Project "${name}" already exists.` }], isError: true };
@@ -310,22 +365,28 @@ function registerTaskTools(server2) {
310
365
  }
311
366
  const db2 = getDb();
312
367
  const id = generateId();
368
+ const seqRow = db2.prepare("SELECT COALESCE(MAX(seq), 0) + 1 AS next_seq FROM tasks WHERE project_id = ?").get(resolved.id);
369
+ const seq = seqRow.next_seq;
313
370
  db2.prepare(
314
- `INSERT INTO tasks (id, project_id, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?)`
371
+ `INSERT INTO tasks (id, project_id, seq, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
315
372
  ).run(
316
373
  id,
317
374
  resolved.id,
375
+ seq,
318
376
  title,
319
377
  description ?? null,
320
378
  priority ?? "medium",
321
379
  tags ? JSON.stringify(tags) : null,
322
380
  parent_task_id ?? null
323
381
  );
382
+ const proj = db2.prepare("SELECT slug FROM projects WHERE id = ?").get(resolved.id);
383
+ const short_id = proj?.slug ? `${proj.slug}-${seq}` : null;
324
384
  return {
325
385
  content: [{
326
386
  type: "text",
327
387
  text: JSON.stringify({
328
388
  task_id: id,
389
+ short_id,
329
390
  message: `Task created: "${title}" in ${resolved.name} (priority: ${priority ?? "medium"})`
330
391
  })
331
392
  }]
@@ -430,7 +491,7 @@ function registerTaskTools(server2) {
430
491
  conditions.push("tags LIKE '%' || @tag || '%'");
431
492
  params.tag = `"${tag}"`;
432
493
  }
433
- const sql = `SELECT * FROM tasks WHERE ${conditions.join(" AND ")} ORDER BY CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END, created_at DESC`;
494
+ const sql = `SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE ${conditions.join(" AND ")} ORDER BY CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END, t.created_at DESC`;
434
495
  const rows = db2.prepare(sql).all(params);
435
496
  return {
436
497
  content: [{ type: "text", text: JSON.stringify({ project: resolved.name, tasks: rows }, null, 2) }]
@@ -448,11 +509,11 @@ function registerTaskTools(server2) {
448
509
  },
449
510
  async ({ task_id }) => {
450
511
  const db2 = getDb();
451
- const task = db2.prepare("SELECT * FROM tasks WHERE id = ?").get(task_id);
512
+ const task = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.id = ?").get(task_id);
452
513
  if (!task) {
453
514
  return { content: [{ type: "text", text: `Task "${task_id}" not found.` }], isError: true };
454
515
  }
455
- const subtasks = db2.prepare("SELECT * FROM tasks WHERE parent_task_id = ?").all(task_id);
516
+ const subtasks = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.parent_task_id = ?").all(task_id);
456
517
  const notes = db2.prepare("SELECT * FROM notes WHERE task_id = ? ORDER BY created_at DESC").all(task_id);
457
518
  return {
458
519
  content: [{ type: "text", text: JSON.stringify({ task, subtasks, notes }, null, 2) }]
@@ -476,10 +537,10 @@ function registerTaskTools(server2) {
476
537
  }
477
538
  const db2 = getDb();
478
539
  const rows = db2.prepare(
479
- `SELECT * FROM tasks
480
- WHERE project_id = ? AND status IN ('todo', 'in_progress')
481
- ORDER BY CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END,
482
- created_at ASC
540
+ `SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id
541
+ WHERE t.project_id = ? AND t.status IN ('todo', 'in_progress')
542
+ ORDER BY CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END,
543
+ t.created_at ASC
483
544
  LIMIT ?`
484
545
  ).all(resolved.id, limit ?? 5);
485
546
  return {
@@ -780,11 +841,11 @@ var listTasks = async (req, res, params) => {
780
841
  const db2 = getDb();
781
842
  const url = new URL(req.url || "/", "http://localhost");
782
843
  const includeDone = url.searchParams.get("include_done") === "true";
783
- let sql = "SELECT * FROM tasks WHERE project_id = ?";
844
+ let sql = "SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.project_id = ?";
784
845
  if (!includeDone) {
785
- sql += " AND status NOT IN ('done', 'cancelled')";
846
+ sql += " AND t.status NOT IN ('done', 'cancelled')";
786
847
  }
787
- sql += " ORDER BY CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END, created_at DESC";
848
+ sql += " ORDER BY CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END, t.created_at DESC";
788
849
  const rows = db2.prepare(sql).all(params.pid);
789
850
  sendJson(res, 200, rows);
790
851
  };
@@ -803,18 +864,21 @@ var createTask = async (req, res, params) => {
803
864
  const id = generateId();
804
865
  const priority = body.priority || "medium";
805
866
  const tags = Array.isArray(body.tags) ? JSON.stringify(body.tags) : null;
867
+ const seqRow = db2.prepare("SELECT COALESCE(MAX(seq), 0) + 1 AS next_seq FROM tasks WHERE project_id = ?").get(params.pid);
868
+ const seq = seqRow.next_seq;
806
869
  db2.prepare(
807
- "INSERT INTO tasks (id, project_id, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?)"
870
+ "INSERT INTO tasks (id, project_id, seq, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
808
871
  ).run(
809
872
  id,
810
873
  params.pid,
874
+ seq,
811
875
  body.title,
812
876
  body.description ?? null,
813
877
  priority,
814
878
  tags,
815
879
  body.parent_task_id ?? null
816
880
  );
817
- const task = db2.prepare("SELECT * FROM tasks WHERE id = ?").get(id);
881
+ const task = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.id = ?").get(id);
818
882
  sendJson(res, 201, task);
819
883
  };
820
884
  var updateTask = async (req, res, params) => {
@@ -865,7 +929,7 @@ var updateTask = async (req, res, params) => {
865
929
  }
866
930
  sqlParams.push(params.id);
867
931
  db2.prepare(`UPDATE tasks SET ${updates.join(", ")} WHERE id = ?`).run(...sqlParams);
868
- const updated = db2.prepare("SELECT * FROM tasks WHERE id = ?").get(params.id);
932
+ const updated = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.id = ?").get(params.id);
869
933
  sendJson(res, 200, updated);
870
934
  };
871
935
  var deleteTask = async (_req, res, params) => {
@@ -0,0 +1,2 @@
1
+ var Ti=Object.defineProperty;var or=e=>{throw TypeError(e)};var xi=(e,t,n)=>t in e?Ti(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ae=(e,t,n)=>xi(e,typeof t!="symbol"?t+"":t,n),xn=(e,t,n)=>t.has(e)||or("Cannot "+n);var u=(e,t,n)=>(xn(e,t,"read from private field"),n?n.call(e):t.get(e)),j=(e,t,n)=>t.has(e)?or("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),C=(e,t,n,r)=>(xn(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Y=(e,t,n)=>(xn(e,t,"access private method"),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const An=!1;var Yn=Array.isArray,Si=Array.prototype.indexOf,Ot=Array.prototype.includes,wn=Array.from,Ci=Object.defineProperty,Vt=Object.getOwnPropertyDescriptor,Di=Object.prototype,Ai=Array.prototype,ji=Object.getPrototypeOf,fr=Object.isExtensible;const Pi=()=>{};function Oi(e){for(var t=0;t<e.length;t++)e[t]()}function kr(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}const Q=2,en=4,bn=8,Er=1<<24,Fe=16,De=32,yt=64,jn=128,me=512,J=1024,$=2048,Ce=4096,de=8192,We=16384,ht=32768,Nt=65536,ur=1<<17,Tr=1<<18,Ft=1<<19,Ni=1<<20,Ke=1<<25,_t=65536,Pn=1<<21,Wn=1<<22,Je=1<<23,Kt=Symbol("$state"),rt=new class extends Error{constructor(){super(...arguments);Ae(this,"name","StaleReactionError");Ae(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function Ri(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Mi(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Ii(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Li(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Fi(e){throw new Error("https://svelte.dev/e/effect_orphan")}function qi(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function zi(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Bi(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Hi(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Vi(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Ki=1,Ui=2,Yi=16,Wi=1,Ji=2,G=Symbol(),Gi="http://www.w3.org/1999/xhtml";function Xi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Zi(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function xr(e){return e===this.v}function Qi(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Sr(e){return!Qi(e,this.v)}let $i=!1,we=null;function Rt(e){we=e}function $e(e,t=!1,n){we={p:we,i:!1,c:null,e:null,s:e,x:null,l:null}}function et(e){var t=we,n=t.e;if(n!==null){t.e=null;for(var r of n)Wr(r)}return t.i=!0,we=t.p,{}}function Cr(){return!0}let it=[];function Dr(){var e=it;it=[],Oi(e)}function Ge(e){if(it.length===0&&!Ut){var t=it;queueMicrotask(()=>{t===it&&Dr()})}it.push(e)}function es(){for(;it.length>0;)Dr()}function Ar(e){var t=R;if(t===null)return A.f|=Je,e;if((t.f&ht)===0&&(t.f&en)===0)throw e;Ue(e,t)}function Ue(e,t){for(;t!==null;){if((t.f&jn)!==0){if((t.f&ht)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const ts=-7169;function H(e,t){e.f=e.f&ts|t}function Jn(e){(e.f&me)!==0||e.deps===null?H(e,J):H(e,Ce)}function jr(e){if(e!==null)for(const t of e)(t.f&Q)===0||(t.f&_t)===0||(t.f^=_t,jr(t.deps))}function Pr(e,t,n){(e.f&$)!==0?t.add(e):(e.f&Ce)!==0&&n.add(e),jr(e.deps),H(e,J)}const on=new Set;let x=null,hn=null,X=null,ae=[],kn=null,On=!1,Ut=!1;var xt,St,lt,Ct,Xt,Zt,ot,Re,Dt,he,Nn,Rn,Mn,Or;const ir=class ir{constructor(){j(this,he);Ae(this,"current",new Map);Ae(this,"previous",new Map);j(this,xt,new Set);j(this,St,new Set);j(this,lt,0);j(this,Ct,0);j(this,Xt,null);j(this,Zt,new Set);j(this,ot,new Set);j(this,Re,new Map);Ae(this,"is_fork",!1);j(this,Dt,!1)}skip_effect(t){u(this,Re).has(t)||u(this,Re).set(t,{d:[],m:[]})}unskip_effect(t){var n=u(this,Re).get(t);if(n){u(this,Re).delete(t);for(var r of n.d)H(r,$),xe(r);for(r of n.m)H(r,Ce),xe(r)}}process(t){var s;ae=[],this.apply();var n=[],r=[];for(const i of t)Y(this,he,Rn).call(this,i,n,r);if(Y(this,he,Nn).call(this)){Y(this,he,Mn).call(this,r),Y(this,he,Mn).call(this,n);for(const[i,a]of u(this,Re))Ir(i,a)}else{for(const i of u(this,xt))i();u(this,xt).clear(),u(this,lt)===0&&Y(this,he,Or).call(this),hn=this,x=null,cr(r),cr(n),hn=null,(s=u(this,Xt))==null||s.resolve()}X=null}capture(t,n){n!==G&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&Je)===0&&(this.current.set(t,t.v),X==null||X.set(t,t.v))}activate(){x=this,this.apply()}deactivate(){x===this&&(x=null,X=null)}flush(){if(this.activate(),ae.length>0){if(Nr(),x!==null&&x!==this)return}else u(this,lt)===0&&this.process([]);this.deactivate()}discard(){for(const t of u(this,St))t(this);u(this,St).clear()}increment(t){C(this,lt,u(this,lt)+1),t&&C(this,Ct,u(this,Ct)+1)}decrement(t){C(this,lt,u(this,lt)-1),t&&C(this,Ct,u(this,Ct)-1),!u(this,Dt)&&(C(this,Dt,!0),Ge(()=>{C(this,Dt,!1),Y(this,he,Nn).call(this)?ae.length>0&&this.flush():this.revive()}))}revive(){for(const t of u(this,Zt))u(this,ot).delete(t),H(t,$),xe(t);for(const t of u(this,ot))H(t,Ce),xe(t);this.flush()}oncommit(t){u(this,xt).add(t)}ondiscard(t){u(this,St).add(t)}settled(){return(u(this,Xt)??C(this,Xt,kr())).promise}static ensure(){if(x===null){const t=x=new ir;on.add(x),Ut||Ge(()=>{x===t&&t.flush()})}return x}apply(){}};xt=new WeakMap,St=new WeakMap,lt=new WeakMap,Ct=new WeakMap,Xt=new WeakMap,Zt=new WeakMap,ot=new WeakMap,Re=new WeakMap,Dt=new WeakMap,he=new WeakSet,Nn=function(){return this.is_fork||u(this,Ct)>0},Rn=function(t,n,r){t.f^=J;for(var s=t.first;s!==null;){var i=s.f,a=(i&(De|yt))!==0,l=a&&(i&J)!==0,o=l||(i&de)!==0||u(this,Re).has(s);if(!o&&s.fn!==null){a?s.f^=J:(i&en)!==0?n.push(s):nn(s)&&((i&Fe)!==0&&u(this,ot).add(s),It(s));var f=s.first;if(f!==null){s=f;continue}}for(;s!==null;){var h=s.next;if(h!==null){s=h;break}s=s.parent}}},Mn=function(t){for(var n=0;n<t.length;n+=1)Pr(t[n],u(this,Zt),u(this,ot))},Or=function(){var s;if(on.size>1){this.previous.clear();var t=X,n=!0;for(const i of on){if(i===this){n=!1;continue}const a=[];for(const[o,f]of this.current){if(i.current.has(o))if(n&&f!==i.current.get(o))i.current.set(o,f);else continue;a.push(o)}if(a.length===0)continue;const l=[...i.current.keys()].filter(o=>!this.current.has(o));if(l.length>0){var r=ae;ae=[];const o=new Set,f=new Map;for(const h of a)Rr(h,l,o,f);if(ae.length>0){x=i,i.apply();for(const h of ae)Y(s=i,he,Rn).call(s,h,[],[]);i.deactivate()}ae=r}}x=null,X=t}on.delete(this)};let Xe=ir;function ns(e){var t=Ut;Ut=!0;try{for(var n;;){if(es(),ae.length===0&&(x==null||x.flush(),ae.length===0))return kn=null,n;Nr()}}finally{Ut=t}}function Nr(){On=!0;var e=null;try{for(var t=0;ae.length>0;){var n=Xe.ensure();if(t++>1e3){var r,s;rs()}n.process(ae),Ze.clear()}}finally{ae=[],On=!1,kn=null}}function rs(){try{qi()}catch(e){Ue(e,kn)}}let ke=null;function cr(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(We|de))===0&&nn(r)&&(ke=new Set,It(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Xr(r),(ke==null?void 0:ke.size)>0)){Ze.clear();for(const s of ke){if((s.f&(We|de))!==0)continue;const i=[s];let a=s.parent;for(;a!==null;)ke.has(a)&&(ke.delete(a),i.push(a)),a=a.parent;for(let l=i.length-1;l>=0;l--){const o=i[l];(o.f&(We|de))===0&&It(o)}}ke.clear()}}ke=null}}function Rr(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&Q)!==0?Rr(s,t,n,r):(i&(Wn|Fe))!==0&&(i&$)===0&&Mr(s,t,r)&&(H(s,$),xe(s))}}function Mr(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Ot.call(t,s))return!0;if((s.f&Q)!==0&&Mr(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function xe(e){var t=kn=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(en|bn|Er))!==0&&(e.f&ht)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(On&&t===R&&(r&Fe)!==0&&(r&Tr)===0&&(r&ht)!==0)return;if((r&(yt|De))!==0){if((r&J)===0)return;t.f^=J}}ae.push(t)}function Ir(e,t){if(!((e.f&De)!==0&&(e.f&J)!==0)){(e.f&$)!==0?t.d.push(e):(e.f&Ce)!==0&&t.m.push(e),H(e,J);for(var n=e.first;n!==null;)Ir(n,t),n=n.next}}function is(e){let t=0,n=gt(0),r;return()=>{Zn()&&(v(n),Jr(()=>(t===0&&(r=li(()=>e(()=>Yt(n)))),t+=1,()=>{Ge(()=>{t-=1,t===0&&(r==null||r(),r=void 0,Yt(n))})})))}}var ss=Nt|Ft;function as(e,t,n,r){new ls(e,t,n,r)}var pe,Un,je,ft,se,Pe,ce,Ee,Me,ut,Ve,At,jt,Pt,Ie,mn,K,os,fs,us,In,un,cn,Ln;class ls{constructor(t,n,r,s){j(this,K);Ae(this,"parent");Ae(this,"is_pending",!1);Ae(this,"transform_error");j(this,pe);j(this,Un,null);j(this,je);j(this,ft);j(this,se);j(this,Pe,null);j(this,ce,null);j(this,Ee,null);j(this,Me,null);j(this,ut,0);j(this,Ve,0);j(this,At,!1);j(this,jt,new Set);j(this,Pt,new Set);j(this,Ie,null);j(this,mn,is(()=>(C(this,Ie,gt(u(this,ut))),()=>{C(this,Ie,null)})));var i;C(this,pe,t),C(this,je,n),C(this,ft,a=>{var l=R;l.b=this,l.f|=jn,r(a)}),this.parent=R.b,this.transform_error=s??((i=this.parent)==null?void 0:i.transform_error)??(a=>a),C(this,se,$n(()=>{Y(this,K,In).call(this)},ss))}defer_effect(t){Pr(t,u(this,jt),u(this,Pt))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!u(this,je).pending}update_pending_count(t){Y(this,K,Ln).call(this,t),C(this,ut,u(this,ut)+t),!(!u(this,Ie)||u(this,At))&&(C(this,At,!0),Ge(()=>{C(this,At,!1),u(this,Ie)&&Mt(u(this,Ie),u(this,ut))}))}get_effect_pending(){return u(this,mn).call(this),v(u(this,Ie))}error(t){var n=u(this,je).onerror;let r=u(this,je).failed;if(!n&&!r)throw t;u(this,Pe)&&(oe(u(this,Pe)),C(this,Pe,null)),u(this,ce)&&(oe(u(this,ce)),C(this,ce,null)),u(this,Ee)&&(oe(u(this,Ee)),C(this,Ee,null));var s=!1,i=!1;const a=()=>{if(s){Zi();return}s=!0,i&&Vi(),u(this,Ee)!==null&&vt(u(this,Ee),()=>{C(this,Ee,null)}),Y(this,K,cn).call(this,()=>{Xe.ensure(),Y(this,K,In).call(this)})},l=o=>{try{i=!0,n==null||n(o,a),i=!1}catch(f){Ue(f,u(this,se)&&u(this,se).parent)}r&&C(this,Ee,Y(this,K,cn).call(this,()=>{Xe.ensure();try{return ge(()=>{var f=R;f.b=this,f.f|=jn,r(u(this,pe),()=>o,()=>a)})}catch(f){return Ue(f,u(this,se).parent),null}}))};Ge(()=>{var o;try{o=this.transform_error(t)}catch(f){Ue(f,u(this,se)&&u(this,se).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(l,f=>Ue(f,u(this,se)&&u(this,se).parent)):l(o)})}}pe=new WeakMap,Un=new WeakMap,je=new WeakMap,ft=new WeakMap,se=new WeakMap,Pe=new WeakMap,ce=new WeakMap,Ee=new WeakMap,Me=new WeakMap,ut=new WeakMap,Ve=new WeakMap,At=new WeakMap,jt=new WeakMap,Pt=new WeakMap,Ie=new WeakMap,mn=new WeakMap,K=new WeakSet,os=function(){try{C(this,Pe,ge(()=>u(this,ft).call(this,u(this,pe))))}catch(t){this.error(t)}},fs=function(t){const n=u(this,je).failed;n&&C(this,Ee,ge(()=>{n(u(this,pe),()=>t,()=>()=>{})}))},us=function(){const t=u(this,je).pending;t&&(this.is_pending=!0,C(this,ce,ge(()=>t(u(this,pe)))),Ge(()=>{var n=C(this,Me,document.createDocumentFragment()),r=Qe();n.append(r),C(this,Pe,Y(this,K,cn).call(this,()=>(Xe.ensure(),ge(()=>u(this,ft).call(this,r))))),u(this,Ve)===0&&(u(this,pe).before(n),C(this,Me,null),vt(u(this,ce),()=>{C(this,ce,null)}),Y(this,K,un).call(this))}))},In=function(){try{if(this.is_pending=this.has_pending_snippet(),C(this,Ve,0),C(this,ut,0),C(this,Pe,ge(()=>{u(this,ft).call(this,u(this,pe))})),u(this,Ve)>0){var t=C(this,Me,document.createDocumentFragment());$r(u(this,Pe),t);const n=u(this,je).pending;C(this,ce,ge(()=>n(u(this,pe))))}else Y(this,K,un).call(this)}catch(n){this.error(n)}},un=function(){this.is_pending=!1;for(const t of u(this,jt))H(t,$),xe(t);for(const t of u(this,Pt))H(t,Ce),xe(t);u(this,jt).clear(),u(this,Pt).clear()},cn=function(t){var n=R,r=A,s=we;Ne(u(this,se)),be(u(this,se)),Rt(u(this,se).ctx);try{return t()}catch(i){return Ar(i),null}finally{Ne(n),be(r),Rt(s)}},Ln=function(t){var n;if(!this.has_pending_snippet()){this.parent&&Y(n=this.parent,K,Ln).call(n,t);return}C(this,Ve,u(this,Ve)+t),u(this,Ve)===0&&(Y(this,K,un).call(this),u(this,ce)&&vt(u(this,ce),()=>{C(this,ce,null)}),u(this,Me)&&(u(this,pe).before(u(this,Me)),C(this,Me,null)))};function cs(e,t,n,r){const s=Gn;var i=e.filter(_=>!_.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var a=R,l=vs(),o=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(_=>_.promise)):null;function f(_){l();try{r(_)}catch(p){(a.f&We)===0&&Ue(p,a)}Fn()}if(n.length===0){o.then(()=>f(t.map(s)));return}function h(){l(),Promise.all(n.map(_=>hs(_))).then(_=>f([...t.map(s),..._])).catch(_=>Ue(_,a))}o?o.then(h):h()}function vs(){var e=R,t=A,n=we,r=x;return function(i=!0){Ne(e),be(t),Rt(n),i&&(r==null||r.activate())}}function Fn(e=!0){Ne(null),be(null),Rt(null),e&&(x==null||x.deactivate())}function ds(){var e=R.b,t=x,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function Gn(e){var t=Q|$,n=A!==null&&(A.f&Q)!==0?A:null;return R!==null&&(R.f|=Ft),{ctx:we,deps:null,effects:null,equals:xr,f:t,fn:e,reactions:null,rv:0,v:G,wv:0,parent:n??R,ac:null}}function hs(e,t,n){R===null&&Ri();var s=void 0,i=gt(G),a=!A,l=new Map;return js(()=>{var p;var o=kr();s=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(Fn)}catch(w){o.reject(w),Fn()}var f=x;if(a){var h=ds();(p=l.get(f))==null||p.reject(rt),l.delete(f),l.set(f,o)}const _=(w,c=void 0)=>{if(f.activate(),c)c!==rt&&(i.f|=Je,Mt(i,c));else{(i.f&Je)!==0&&(i.f^=Je),Mt(i,w);for(const[m,d]of l){if(l.delete(m),m===f)break;d.reject(rt)}}h&&h()};o.promise.then(_,w=>_(null,w||"unknown"))}),Qn(()=>{for(const o of l.values())o.reject(rt)}),new Promise(o=>{function f(h){function _(){h===s?o(i):f(s)}h.then(_,_)}f(s)})}function pt(e){const t=Gn(e);return ei(t),t}function _s(e){const t=Gn(e);return t.equals=Sr,t}function ps(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)oe(t[n])}}function gs(e){for(var t=e.parent;t!==null;){if((t.f&Q)===0)return(t.f&We)===0?t:null;t=t.parent}return null}function Xn(e){var t,n=R;Ne(gs(e));try{e.f&=~_t,ps(e),t=ii(e)}finally{Ne(n)}return t}function Lr(e){var t=Xn(e);if(!e.equals(t)&&(e.wv=ni(),(!(x!=null&&x.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){H(e,J);return}mt||(X!==null?(Zn()||x!=null&&x.is_fork)&&X.set(e,t):Jn(e))}function ms(e){var t,n;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((t=r.teardown)==null||t.call(r),(n=r.ac)==null||n.abort(rt),r.teardown=Pi,r.ac=null,Gt(r,0),er(r))}function Fr(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&It(t)}let qn=new Set;const Ze=new Map;let qr=!1;function gt(e,t){var n={f:0,v:e,reactions:null,equals:xr,rv:0,wv:0};return n}function O(e,t){const n=gt(e);return ei(n),n}function ys(e,t=!1,n=!0){const r=gt(e);return t||(r.equals=Sr),r}function g(e,t,n=!1){A!==null&&(!Se||(A.f&ur)!==0)&&Cr()&&(A.f&(Q|Fe|Wn|ur))!==0&&(ye===null||!Ot.call(ye,e))&&Hi();let r=n?Ye(t):t;return Mt(e,r)}function Mt(e,t){if(!e.equals(t)){var n=e.v;mt?Ze.set(e,t):Ze.set(e,n),e.v=t;var r=Xe.ensure();if(r.capture(e,n),(e.f&Q)!==0){const s=e;(e.f&$)!==0&&Xn(s),Jn(s)}e.wv=ni(),zr(e,$),R!==null&&(R.f&J)!==0&&(R.f&(De|yt))===0&&(_e===null?Ns([e]):_e.push(e)),!r.is_fork&&qn.size>0&&!qr&&ws()}return t}function ws(){qr=!1;for(const e of qn)(e.f&J)!==0&&H(e,Ce),nn(e)&&It(e);qn.clear()}function Yt(e){g(e,e.v+1)}function zr(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,s=0;s<r;s++){var i=n[s],a=i.f,l=(a&$)===0;if(l&&H(i,t),(a&Q)!==0){var o=i;X==null||X.delete(o),(a&_t)===0&&(a&me&&(i.f|=_t),zr(o,Ce))}else l&&((a&Fe)!==0&&ke!==null&&ke.add(i),xe(i))}}function Ye(e){if(typeof e!="object"||e===null||Kt in e)return e;const t=ji(e);if(t!==Di&&t!==Ai)return e;var n=new Map,r=Yn(e),s=O(0),i=dt,a=l=>{if(dt===i)return l();var o=A,f=dt;be(null),_r(i);var h=l();return be(o),_r(f),h};return r&&n.set("length",O(e.length)),new Proxy(e,{defineProperty(l,o,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&zi();var h=n.get(o);return h===void 0?a(()=>{var _=O(f.value);return n.set(o,_),_}):g(h,f.value,!0),!0},deleteProperty(l,o){var f=n.get(o);if(f===void 0){if(o in l){const h=a(()=>O(G));n.set(o,h),Yt(s)}}else g(f,G),Yt(s);return!0},get(l,o,f){var w;if(o===Kt)return e;var h=n.get(o),_=o in l;if(h===void 0&&(!_||(w=Vt(l,o))!=null&&w.writable)&&(h=a(()=>{var c=Ye(_?l[o]:G),m=O(c);return m}),n.set(o,h)),h!==void 0){var p=v(h);return p===G?void 0:p}return Reflect.get(l,o,f)},getOwnPropertyDescriptor(l,o){var f=Reflect.getOwnPropertyDescriptor(l,o);if(f&&"value"in f){var h=n.get(o);h&&(f.value=v(h))}else if(f===void 0){var _=n.get(o),p=_==null?void 0:_.v;if(_!==void 0&&p!==G)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return f},has(l,o){var p;if(o===Kt)return!0;var f=n.get(o),h=f!==void 0&&f.v!==G||Reflect.has(l,o);if(f!==void 0||R!==null&&(!h||(p=Vt(l,o))!=null&&p.writable)){f===void 0&&(f=a(()=>{var w=h?Ye(l[o]):G,c=O(w);return c}),n.set(o,f));var _=v(f);if(_===G)return!1}return h},set(l,o,f,h){var F;var _=n.get(o),p=o in l;if(r&&o==="length")for(var w=f;w<_.v;w+=1){var c=n.get(w+"");c!==void 0?g(c,G):w in l&&(c=a(()=>O(G)),n.set(w+"",c))}if(_===void 0)(!p||(F=Vt(l,o))!=null&&F.writable)&&(_=a(()=>O(void 0)),g(_,Ye(f)),n.set(o,_));else{p=_.v!==G;var m=a(()=>Ye(f));g(_,m)}var d=Reflect.getOwnPropertyDescriptor(l,o);if(d!=null&&d.set&&d.set.call(h,f),!p){if(r&&typeof o=="string"){var y=n.get("length"),k=Number(o);Number.isInteger(k)&&k>=y.v&&g(y,k+1)}Yt(s)}return!0},ownKeys(l){v(s);var o=Reflect.ownKeys(l).filter(_=>{var p=n.get(_);return p===void 0||p.v!==G});for(var[f,h]of n)h.v!==G&&!(f in l)&&o.push(f);return o},setPrototypeOf(){Bi()}})}function vr(e){try{if(e!==null&&typeof e=="object"&&Kt in e)return e[Kt]}catch{}return e}function bs(e,t){return Object.is(vr(e),vr(t))}var _n,Br,Hr,Vr;function ks(){if(_n===void 0){_n=window,Br=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Hr=Vt(t,"firstChild").get,Vr=Vt(t,"nextSibling").get,fr(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),fr(n)&&(n.__t=void 0)}}function Qe(e=""){return document.createTextNode(e)}function pn(e){return Hr.call(e)}function tn(e){return Vr.call(e)}function E(e,t){return pn(e)}function Jt(e,t=!1){{var n=pn(e);return n instanceof Comment&&n.data===""?tn(n):n}}function T(e,t=1,n=!1){let r=e;for(;t--;)r=tn(r);return r}function Es(e){e.textContent=""}function Kr(){return!1}function Ts(e,t,n){return document.createElementNS(Gi,e,void 0)}function Ur(e,t){{const n=document.body;e.autofocus=!0,Ge(()=>{document.activeElement===n&&e.focus()})}}let dr=!1;function xs(){dr||(dr=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function En(e){var t=A,n=R;be(null),Ne(null);try{return e()}finally{be(t),Ne(n)}}function Yr(e,t,n,r=n){e.addEventListener(t,()=>En(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),xs()}function Ss(e){R===null&&(A===null&&Fi(),Li()),mt&&Ii()}function Cs(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function qe(e,t,n){var r=R;r!==null&&(r.f&de)!==0&&(e|=de);var s={ctx:we,deps:null,nodes:null,f:e|$|me,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{It(s)}catch(l){throw oe(s),l}else t!==null&&xe(s);var i=s;if(n&&i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Ft)===0&&(i=i.first,(e&Fe)!==0&&(e&Nt)!==0&&i!==null&&(i.f|=Nt)),i!==null&&(i.parent=r,r!==null&&Cs(i,r),A!==null&&(A.f&Q)!==0&&(e&yt)===0)){var a=A;(a.effects??(a.effects=[])).push(i)}return s}function Zn(){return A!==null&&!Se}function Qn(e){const t=qe(bn,null,!1);return H(t,J),t.teardown=e,t}function gn(e){Ss();var t=R.f,n=!A&&(t&De)!==0&&(t&ht)===0;if(n){var r=we;(r.e??(r.e=[])).push(e)}else return Wr(e)}function Wr(e){return qe(en|Ni,e,!1)}function Ds(e){Xe.ensure();const t=qe(yt|Ft,e,!0);return(n={})=>new Promise(r=>{n.outro?vt(t,()=>{oe(t),r(void 0)}):(oe(t),r(void 0))})}function As(e){return qe(en,e,!1)}function js(e){return qe(Wn|Ft,e,!0)}function Jr(e,t=0){return qe(bn|t,e,!0)}function Z(e,t=[],n=[],r=[]){cs(r,t,n,s=>{qe(bn,()=>e(...s.map(v)),!0)})}function $n(e,t=0){var n=qe(Fe|t,e,!0);return n}function ge(e){return qe(De|Ft,e,!0)}function Gr(e){var t=e.teardown;if(t!==null){const n=mt,r=A;hr(!0),be(null);try{t.call(null)}finally{hr(n),be(r)}}}function er(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&En(()=>{s.abort(rt)});var r=n.next;(n.f&yt)!==0?n.parent=null:oe(n,t),n=r}}function Ps(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&De)===0&&oe(t),t=n}}function oe(e,t=!0){var n=!1;(t||(e.f&Tr)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Os(e.nodes.start,e.nodes.end),n=!0),er(e,t&&!n),Gt(e,0),H(e,We);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Gr(e);var s=e.parent;s!==null&&s.first!==null&&Xr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Os(e,t){for(;e!==null;){var n=e===t?null:tn(e);e.remove(),e=n}}function Xr(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 vt(e,t,n=!0){var r=[];Zr(e,r,!0);var s=()=>{n&&oe(e),t&&t()},i=r.length;if(i>0){var a=()=>--i||s();for(var l of r)l.out(a)}else s()}function Zr(e,t,n){if((e.f&de)===0){e.f^=de;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next,a=(s.f&Nt)!==0||(s.f&De)!==0&&(e.f&Fe)!==0;Zr(s,t,a?n:!1),s=i}}}function tr(e){Qr(e,!0)}function Qr(e,t){if((e.f&de)!==0){e.f^=de,(e.f&J)===0&&(H(e,$),xe(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Nt)!==0||(n.f&De)!==0;Qr(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&a.in()}}function $r(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:tn(n);t.append(n),n=s}}let vn=!1,mt=!1;function hr(e){mt=e}let A=null,Se=!1;function be(e){A=e}let R=null;function Ne(e){R=e}let ye=null;function ei(e){A!==null&&(ye===null?ye=[e]:ye.push(e))}let le=null,ue=0,_e=null;function Ns(e){_e=e}let ti=1,st=0,dt=st;function _r(e){dt=e}function ni(){return++ti}function nn(e){var t=e.f;if((t&$)!==0)return!0;if(t&Q&&(e.f&=~_t),(t&Ce)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(nn(i)&&Lr(i),i.wv>e.wv)return!0}(t&me)!==0&&X===null&&H(e,J)}return!1}function ri(e,t,n=!0){var r=e.reactions;if(r!==null&&!(ye!==null&&Ot.call(ye,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&Q)!==0?ri(i,t,!1):t===i&&(n?H(i,$):(i.f&J)!==0&&H(i,Ce),xe(i))}}function ii(e){var m;var t=le,n=ue,r=_e,s=A,i=ye,a=we,l=Se,o=dt,f=e.f;le=null,ue=0,_e=null,A=(f&(De|yt))===0?e:null,ye=null,Rt(e.ctx),Se=!1,dt=++st,e.ac!==null&&(En(()=>{e.ac.abort(rt)}),e.ac=null);try{e.f|=Pn;var h=e.fn,_=h();e.f|=ht;var p=e.deps,w=x==null?void 0:x.is_fork;if(le!==null){var c;if(w||Gt(e,ue),p!==null&&ue>0)for(p.length=ue+le.length,c=0;c<le.length;c++)p[ue+c]=le[c];else e.deps=p=le;if(Zn()&&(e.f&me)!==0)for(c=ue;c<p.length;c++)((m=p[c]).reactions??(m.reactions=[])).push(e)}else!w&&p!==null&&ue<p.length&&(Gt(e,ue),p.length=ue);if(Cr()&&_e!==null&&!Se&&p!==null&&(e.f&(Q|Ce|$))===0)for(c=0;c<_e.length;c++)ri(_e[c],e);if(s!==null&&s!==e){if(st++,s.deps!==null)for(let d=0;d<n;d+=1)s.deps[d].rv=st;if(t!==null)for(const d of t)d.rv=st;_e!==null&&(r===null?r=_e:r.push(..._e))}return(e.f&Je)!==0&&(e.f^=Je),_}catch(d){return Ar(d)}finally{e.f^=Pn,le=t,ue=n,_e=r,A=s,ye=i,Rt(a),Se=l,dt=o}}function Rs(e,t){let n=t.reactions;if(n!==null){var r=Si.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&Q)!==0&&(le===null||!Ot.call(le,t))){var i=t;(i.f&me)!==0&&(i.f^=me,i.f&=~_t),Jn(i),ms(i),Gt(i,0)}}function Gt(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Rs(e,n[r])}function It(e){var t=e.f;if((t&We)===0){H(e,J);var n=R,r=vn;R=e,vn=!0;try{(t&(Fe|Er))!==0?Ps(e):er(e),Gr(e);var s=ii(e);e.teardown=typeof s=="function"?s:null,e.wv=ti;var i;An&&$i&&(e.f&$)!==0&&e.deps}finally{vn=r,R=n}}}async function Ms(){await Promise.resolve(),ns()}function v(e){var t=e.f,n=(t&Q)!==0;if(A!==null&&!Se){var r=R!==null&&(R.f&We)!==0;if(!r&&(ye===null||!Ot.call(ye,e))){var s=A.deps;if((A.f&Pn)!==0)e.rv<st&&(e.rv=st,le===null&&s!==null&&s[ue]===e?ue++:le===null?le=[e]:le.push(e));else{(A.deps??(A.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[A]:Ot.call(i,A)||i.push(A)}}}if(mt&&Ze.has(e))return Ze.get(e);if(n){var a=e;if(mt){var l=a.v;return((a.f&J)===0&&a.reactions!==null||ai(a))&&(l=Xn(a)),Ze.set(a,l),l}var o=(a.f&me)===0&&!Se&&A!==null&&(vn||(A.f&me)!==0),f=(a.f&ht)===0;nn(a)&&(o&&(a.f|=me),Lr(a)),o&&!f&&(Fr(a),si(a))}if(X!=null&&X.has(e))return X.get(e);if((e.f&Je)!==0)throw e.v;return e.v}function si(e){if(e.f|=me,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&Q)!==0&&(t.f&me)===0&&(Fr(t),si(t))}function ai(e){if(e.v===G)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Ze.has(t)||(t.f&Q)!==0&&ai(t))return!0;return!1}function li(e){var t=Se;try{return Se=!0,e()}finally{Se=t}}const Is=["touchstart","touchmove"];function Ls(e){return Is.includes(e)}const at=Symbol("events"),oi=new Set,zn=new Set;function Fs(e,t,n,r={}){function s(i){if(r.capture||Bn.call(t,i),!i.cancelBubble)return En(()=>n==null?void 0:n.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Ge(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Le(e,t,n,r,s){var i={capture:r,passive:s},a=Fs(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Qn(()=>{t.removeEventListener(e,a,i)})}function fe(e,t,n){(t[at]??(t[at]={}))[e]=n}function qt(e){for(var t=0;t<e.length;t++)oi.add(e[t]);for(var n of zn)n(e)}let pr=null;function Bn(e){var d,y;var t=this,n=t.ownerDocument,r=e.type,s=((d=e.composedPath)==null?void 0:d.call(e))||[],i=s[0]||e.target;pr=e;var a=0,l=pr===e&&e[at];if(l){var o=s.indexOf(l);if(o!==-1&&(t===document||t===window)){e[at]=t;return}var f=s.indexOf(t);if(f===-1)return;o<=f&&(a=o)}if(i=s[a]||e.target,i!==t){Ci(e,"currentTarget",{configurable:!0,get(){return i||n}});var h=A,_=R;be(null),Ne(null);try{for(var p,w=[];i!==null;){var c=i.assignedSlot||i.parentNode||i.host||null;try{var m=(y=i[at])==null?void 0:y[r];m!=null&&(!i.disabled||e.target===i)&&m.call(i,e)}catch(k){p?w.push(k):p=k}if(e.cancelBubble||c===t||c===null)break;i=c}if(p){for(let k of w)queueMicrotask(()=>{throw k});throw p}}finally{e[at]=t,delete e.currentTarget,be(h),Ne(_)}}}var wr;const Sn=((wr=globalThis==null?void 0:globalThis.window)==null?void 0:wr.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function qs(e){return(Sn==null?void 0:Sn.createHTML(e))??e}function zs(e){var t=Ts("template");return t.innerHTML=qs(e.replaceAll("<!>","<!---->")),t.content}function Hn(e,t){var n=R;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function M(e,t){var n=(t&Wi)!==0,r=(t&Ji)!==0,s,i=!e.startsWith("<!>");return()=>{s===void 0&&(s=zs(i?e:"<!>"+e),n||(s=pn(s)));var a=r||Br?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=pn(a),o=a.lastChild;Hn(l,o)}else Hn(a,a);return a}}function fi(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Qe();return e.append(t,n),Hn(t,n),e}function P(e,t){e!==null&&e.before(t)}function z(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n+"")}function Bs(e,t){return Hs(e,t)}const fn=new Map;function Hs(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:a=!0,transformError:l}){ks();var o=void 0,f=Ds(()=>{var h=n??t.appendChild(Qe());as(h,{pending:()=>{}},w=>{$e({});var c=we;i&&(c.c=i),s&&(r.$$events=s),o=e(w,r)||{},et()},l);var _=new Set,p=w=>{for(var c=0;c<w.length;c++){var m=w[c];if(!_.has(m)){_.add(m);var d=Ls(m);for(const F of[t,document]){var y=fn.get(F);y===void 0&&(y=new Map,fn.set(F,y));var k=y.get(m);k===void 0?(F.addEventListener(m,Bn,{passive:d}),y.set(m,1)):y.set(m,k+1)}}}};return p(wn(oi)),zn.add(p),()=>{var d;for(var w of _)for(const y of[t,document]){var c=fn.get(y),m=c.get(w);--m==0?(y.removeEventListener(w,Bn),c.delete(w),c.size===0&&fn.delete(y)):c.set(w,m)}zn.delete(p),h!==n&&((d=h.parentNode)==null||d.removeChild(h))}});return Vs.set(o,f),o}let Vs=new WeakMap;var Te,Oe,ve,ct,Qt,$t,yn;class Ks{constructor(t,n=!0){Ae(this,"anchor");j(this,Te,new Map);j(this,Oe,new Map);j(this,ve,new Map);j(this,ct,new Set);j(this,Qt,!0);j(this,$t,()=>{var t=x;if(u(this,Te).has(t)){var n=u(this,Te).get(t),r=u(this,Oe).get(n);if(r)tr(r),u(this,ct).delete(n);else{var s=u(this,ve).get(n);s&&(u(this,Oe).set(n,s.effect),u(this,ve).delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,a]of u(this,Te)){if(u(this,Te).delete(i),i===t)break;const l=u(this,ve).get(a);l&&(oe(l.effect),u(this,ve).delete(a))}for(const[i,a]of u(this,Oe)){if(i===n||u(this,ct).has(i))continue;const l=()=>{if(Array.from(u(this,Te).values()).includes(i)){var f=document.createDocumentFragment();$r(a,f),f.append(Qe()),u(this,ve).set(i,{effect:a,fragment:f})}else oe(a);u(this,ct).delete(i),u(this,Oe).delete(i)};u(this,Qt)||!r?(u(this,ct).add(i),vt(a,l,!1)):l()}}});j(this,yn,t=>{u(this,Te).delete(t);const n=Array.from(u(this,Te).values());for(const[r,s]of u(this,ve))n.includes(r)||(oe(s.effect),u(this,ve).delete(r))});this.anchor=t,C(this,Qt,n)}ensure(t,n){var r=x,s=Kr();if(n&&!u(this,Oe).has(t)&&!u(this,ve).has(t))if(s){var i=document.createDocumentFragment(),a=Qe();i.append(a),u(this,ve).set(t,{effect:ge(()=>n(a)),fragment:i})}else u(this,Oe).set(t,ge(()=>n(this.anchor)));if(u(this,Te).set(r,t),s){for(const[l,o]of u(this,Oe))l===t?r.unskip_effect(o):r.skip_effect(o);for(const[l,o]of u(this,ve))l===t?r.unskip_effect(o.effect):r.skip_effect(o.effect);r.oncommit(u(this,$t)),r.ondiscard(u(this,yn))}else u(this,$t).call(this)}}Te=new WeakMap,Oe=new WeakMap,ve=new WeakMap,ct=new WeakMap,Qt=new WeakMap,$t=new WeakMap,yn=new WeakMap;function W(e,t,n=!1){var r=new Ks(e),s=n?Nt:0;function i(a,l){r.ensure(a,l)}$n(()=>{var a=!1;t((l,o=0)=>{a=!0,i(o,l)}),a||i(!1,null)},s)}function nr(e,t){return t}function Us(e,t,n){for(var r=[],s=t.length,i,a=t.length,l=0;l<s;l++){let _=t[l];vt(_,()=>{if(i){if(i.pending.delete(_),i.done.add(_),i.pending.size===0){var p=e.outrogroups;Vn(wn(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var o=r.length===0&&n!==null;if(o){var f=n,h=f.parentNode;Es(h),h.append(f),e.items.clear()}Vn(t,!o)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function Vn(e,t=!0){for(var n=0;n<e.length;n++)oe(e[n],t)}var gr;function Lt(e,t,n,r,s,i=null){var a=e,l=new Map;{var o=e;a=o.appendChild(Qe())}var f=null,h=_s(()=>{var d=n();return Yn(d)?d:d==null?[]:wn(d)}),_,p=!0;function w(){m.fallback=f,Ys(m,_,a,t,r),f!==null&&(_.length===0?(f.f&Ke)===0?tr(f):(f.f^=Ke,Ht(f,null,a)):vt(f,()=>{f=null}))}var c=$n(()=>{_=v(h);for(var d=_.length,y=new Set,k=x,F=Kr(),B=0;B<d;B+=1){var N=_[B],L=r(N,B),S=p?null:l.get(L);S?(S.v&&Mt(S.v,N),S.i&&Mt(S.i,B),F&&k.unskip_effect(S.e)):(S=Ws(l,p?a:gr??(gr=Qe()),N,L,B,s,t,n),p||(S.e.f|=Ke),l.set(L,S)),y.add(L)}if(d===0&&i&&!f&&(p?f=ge(()=>i(a)):(f=ge(()=>i(gr??(gr=Qe()))),f.f|=Ke)),d>y.size&&Mi(),!p)if(F){for(const[U,V]of l)y.has(U)||k.skip_effect(V.e);k.oncommit(w),k.ondiscard(()=>{})}else w();v(h)}),m={effect:c,items:l,outrogroups:null,fallback:f};p=!1}function Bt(e){for(;e!==null&&(e.f&De)===0;)e=e.next;return e}function Ys(e,t,n,r,s){var U;var i=t.length,a=e.items,l=Bt(e.effect.first),o,f=null,h=[],_=[],p,w,c,m;for(m=0;m<i;m+=1){if(p=t[m],w=s(p,m),c=a.get(w).e,e.outrogroups!==null)for(const V of e.outrogroups)V.pending.delete(c),V.done.delete(c);if((c.f&Ke)!==0)if(c.f^=Ke,c===l)Ht(c,null,n);else{var d=f?f.next:l;c===e.effect.last&&(e.effect.last=c.prev),c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),ze(e,f,c),ze(e,c,d),Ht(c,d,n),f=c,h=[],_=[],l=Bt(f.next);continue}if((c.f&de)!==0&&tr(c),c!==l){if(o!==void 0&&o.has(c)){if(h.length<_.length){var y=_[0],k;f=y.prev;var F=h[0],B=h[h.length-1];for(k=0;k<h.length;k+=1)Ht(h[k],y,n);for(k=0;k<_.length;k+=1)o.delete(_[k]);ze(e,F.prev,B.next),ze(e,f,F),ze(e,B,y),l=y,f=B,m-=1,h=[],_=[]}else o.delete(c),Ht(c,l,n),ze(e,c.prev,c.next),ze(e,c,f===null?e.effect.first:f.next),ze(e,f,c),f=c;continue}for(h=[],_=[];l!==null&&l!==c;)(o??(o=new Set)).add(l),_.push(l),l=Bt(l.next);if(l===null)continue}(c.f&Ke)===0&&h.push(c),f=c,l=Bt(c.next)}if(e.outrogroups!==null){for(const V of e.outrogroups)V.pending.size===0&&(Vn(wn(V.done)),(U=e.outrogroups)==null||U.delete(V));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||o!==void 0){var N=[];if(o!==void 0)for(c of o)(c.f&de)===0&&N.push(c);for(;l!==null;)(l.f&de)===0&&l!==e.fallback&&N.push(l),l=Bt(l.next);var L=N.length;if(L>0){var S=i===0?n:null;Us(e,N,S)}}}function Ws(e,t,n,r,s,i,a,l){var o=(a&Ki)!==0?(a&Yi)===0?ys(n,!1,!1):gt(n):null,f=(a&Ui)!==0?gt(s):null;return{v:o,i:f,e:ge(()=>(i(t,o??n,f??s,l),()=>{e.delete(r)}))}}function Ht(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&(t.f&Ke)===0?t.nodes.start:n;r!==null;){var a=tn(r);if(i.before(r),r===s)return;r=a}}function ze(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const mr=[...`
2
+ \r\f \v\uFEFF`];function Js(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,a=0;(a=r.indexOf(s,a))>=0;){var l=a+i;(a===0||mr.includes(r[a-1]))&&(l===r.length||mr.includes(r[l]))?r=(a===0?"":r.substring(0,a))+r.substring(l+1):a=l}}return r===""?null:r}function Kn(e,t,n,r,s,i){var a=e.__className;if(a!==n||a===void 0){var l=Js(n,r,i);l==null?e.removeAttribute("class"):e.className=l,e.__className=n}else if(i&&s!==i)for(var o in i){var f=!!i[o];(s==null||f!==!!s[o])&&e.classList.toggle(o,f)}return i}function rr(e,t,n=!1){if(e.multiple){if(t==null)return;if(!Yn(t))return Xi();for(var r of e.options)r.selected=t.includes(Wt(r));return}for(r of e.options){var s=Wt(r);if(bs(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function ui(e){var t=new MutationObserver(()=>{rr(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qn(()=>{t.disconnect()})}function yr(e,t,n=t){var r=new WeakSet,s=!0;Yr(e,"change",i=>{var a=i?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(a),Wt);else{var o=e.querySelector(a)??e.querySelector("option:not([disabled])");l=o&&Wt(o)}n(l),x!==null&&r.add(x)}),As(()=>{var i=t();if(e===document.activeElement){var a=hn??x;if(r.has(a))return}if(rr(e,i,s),s&&i===void 0){var l=e.querySelector(":checked");l!==null&&(i=Wt(l),n(i))}e.__value=i,s=!1}),ui(e)}function Wt(e){return"__value"in e?e.__value:e.value}function dn(e,t,n=t){var r=new WeakSet;Yr(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Cn(e)?Dn(i):i,n(i),x!==null&&r.add(x),await Ms(),i!==(i=t())){var a=e.selectionStart,l=e.selectionEnd,o=e.value.length;if(e.value=i??"",l!==null){var f=e.value.length;a===l&&l===o&&f>o?(e.selectionStart=f,e.selectionEnd=f):(e.selectionStart=a,e.selectionEnd=Math.min(l,f))}}}),li(t)==null&&e.value&&(n(Cn(e)?Dn(e.value):e.value),x!==null&&r.add(x)),Jr(()=>{var s=t();if(e===document.activeElement){var i=hn??x;if(r.has(i))return}Cn(e)&&s===Dn(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function Cn(e){var t=e.type;return t==="number"||t==="range"}function Dn(e){return e===""?null:+e}function ci(e,t,n,r){var s=r,i=!0,a=()=>(i&&(i=!1,s=r),s),l;l=e[t],l===void 0&&r!==void 0&&(l=a());var o;return o=()=>{var f=e[t];return f===void 0?a():(i=!0,f)},o}const Gs="5";var br;typeof window<"u"&&((br=window.__svelte??(window.__svelte={})).v??(br.v=new Set)).add(Gs);async function Be(e,t){const n=await fetch(`/api${e}`,{headers:{"Content-Type":"application/json"},...t});if(!n.ok){const r=await n.json().catch(()=>({error:n.statusText}));throw new Error(r.error||"Request failed")}return n.json()}const He={getProjects:()=>Be("/projects"),getProject:e=>Be(`/projects/${e}`),updateProject:(e,t)=>Be(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>Be(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>Be(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>Be(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>Be(`/tasks/${e}`,{method:"DELETE"}),getDecisions:e=>Be(`/projects/${e}/decisions`)};var Xs=M('<option class="svelte-1kanzy0"> </option>'),Zs=M('<span class="project-slug svelte-1kanzy0"> </span>'),Qs=M('<input class="rename-input svelte-1kanzy0" type="text"/>'),$s=M('<button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>'),ea=M("<!> <!>",1),ta=M('<header class="toolbar svelte-1kanzy0"><div class="brand svelte-1kanzy0"><span class="prompt svelte-1kanzy0">&gt;</span> mindpm</div> <div class="project-area svelte-1kanzy0"><span class="project-label svelte-1kanzy0">project:</span> <select class="svelte-1kanzy0"></select> <!></div></header>');function na(e,t){$e(t,!0);let n=O(!1),r=O("");const s=pt(()=>t.projects.find(c=>c.id===t.selectedId));function i(){v(s)&&(g(r,v(s).name,!0),g(n,!0))}function a(){if(!v(s)||!v(n))return;const c=v(r).trim();c&&c!==v(s).name&&t.onRenamed(v(s).id,c),g(n,!1)}function l(c){c.key==="Enter"&&a(),c.key==="Escape"&&g(n,!1)}var o=ta(),f=T(E(o),2),h=T(E(f),2);Lt(h,21,()=>t.projects,nr,(c,m)=>{var d=Xs(),y=E(d),k={};Z(()=>{z(y,v(m).name),k!==(k=v(m).id)&&(d.value=(d.__value=v(m).id)??"")}),P(c,d)});var _;ui(h);var p=T(h,2);{var w=c=>{var m=ea(),d=Jt(m);{var y=N=>{var L=Zs(),S=E(L);Z(()=>z(S,`[${v(s).slug??""}]`)),P(N,L)};W(d,N=>{v(s).slug&&N(y)})}var k=T(d,2);{var F=N=>{var L=Qs();Ur(L),Le("blur",L,a),fe("keydown",L,l),dn(L,()=>v(r),S=>g(r,S)),P(N,L)},B=N=>{var L=$s();fe("click",L,i),P(N,L)};W(k,N=>{v(n)?N(F):N(B,!1)})}P(c,m)};W(p,c=>{v(s)&&c(w)})}Z(()=>{_!==(_=t.selectedId??"")&&(h.value=(h.__value=t.selectedId??"")??"",rr(h,t.selectedId??""))}),fe("change",h,c=>t.onSelect(c.target.value)),P(e,o),et()}qt(["change","keydown","click"]);const ra=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],ia=["critical","high","medium","low"];var sa=M('<span class="task-id svelte-35ep21"> </span>'),aa=M('<div class="card-desc svelte-35ep21"> </div>'),la=M('<span class="tag svelte-35ep21"> </span>'),oa=M('<div class="card-tags svelte-35ep21"></div>'),fa=M('<div draggable="true" role="button" tabindex="0"><div class="card-header svelte-35ep21"><span> </span> <div class="card-header-right svelte-35ep21"><!> <button class="delete-btn svelte-35ep21" title="Delete task">&times;</button></div></div> <div class="card-title svelte-35ep21"> </div> <!> <!></div>');function ua(e,t){$e(t,!0);let n=O(!1);function r(S){if(!S)return[];try{return JSON.parse(S)}catch{return[]}}const s=pt(()=>r(t.task.tags)),i=pt(()=>`priority-${t.task.priority}`);function a(S){g(n,!0),t.onDragStart(S,t.task)}function l(){g(n,!1)}var o=fa();let f;var h=E(o),_=E(h),p=E(_),w=T(_,2),c=E(w);{var m=S=>{var U=sa(),V=E(U);Z(()=>z(V,t.task.short_id)),P(S,U)};W(c,S=>{t.task.short_id&&S(m)})}var d=T(c,2),y=T(h,2),k=E(y),F=T(y,2);{var B=S=>{var U=aa(),V=E(U);Z(()=>z(V,t.task.description)),P(S,U)};W(F,S=>{t.task.description&&S(B)})}var N=T(F,2);{var L=S=>{var U=oa();Lt(U,21,()=>v(s),nr,(V,wt)=>{var tt=la(),bt=E(tt);Z(()=>z(bt,v(wt))),P(V,tt)}),P(S,U)};W(N,S=>{v(s).length>0&&S(L)})}Z(()=>{f=Kn(o,1,`card ${v(i)??""}`,"svelte-35ep21",f,{dragging:v(n)}),Kn(_,1,`priority-badge ${v(i)??""}`,"svelte-35ep21"),z(p,t.task.priority),z(k,t.task.title)}),Le("dragstart",o,a),Le("dragend",o,l),fe("click",o,()=>t.onEdit(t.task)),fe("keydown",o,S=>{S.key==="Enter"&&t.onEdit(t.task)}),fe("click",d,S=>{S.stopPropagation(),t.onDelete(t.task)}),P(e,o),et()}qt(["click","keydown"]);var ca=M('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),va=M('<div role="list"><div class="column-header svelte-zswfgn"><h3 class="svelte-zswfgn"><span class="chevron svelte-zswfgn">▸</span> <span class="count svelte-zswfgn"> </span></h3> <!></div> <div class="card-list svelte-zswfgn"></div></div>');function da(e,t){$e(t,!0);let n=O(!1);function r(d){d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),g(n,!0)}function s(){g(n,!1)}function i(d){d.preventDefault(),g(n,!1),t.onDrop(t.status)}var a=va();let l;var o=E(a),f=E(o),h=T(E(f)),_=T(h),p=E(_),w=T(f,2);{var c=d=>{var y=ca();fe("click",y,()=>t.onAddTask(t.status)),P(d,y)};W(w,d=>{t.status==="todo"&&d(c)})}var m=T(o,2);Lt(m,21,()=>t.tasks,d=>d.id,(d,y)=>{ua(d,{get task(){return v(y)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}),Z(()=>{l=Kn(a,1,"column svelte-zswfgn",null,l,{"drag-over":v(n)}),z(h,` ${t.label??""} `),z(p,`[${t.tasks.length??""}]`)}),Le("dragover",a,r),Le("dragleave",a,s),Le("drop",a,i),P(e,a),et()}qt(["click"]);var ha=M('<span class="modal-task-id svelte-1gmf2hi"> </span>'),_a=M("<option> </option>"),pa=M('<div class="field svelte-1gmf2hi"><label for="status" class="svelte-1gmf2hi">Status</label> <select id="status" class="svelte-1gmf2hi"><option>Todo</option><option>In Progress</option><option>Blocked</option><option>Done</option><option>Cancelled</option></select></div>'),ga=M('<div class="decision-reasoning svelte-1gmf2hi"> </div>'),ma=M('<div class="decision-alts svelte-1gmf2hi"> </div>'),ya=M('<div class="decision-item svelte-1gmf2hi"><div class="decision-title svelte-1gmf2hi"> </div> <div class="decision-body svelte-1gmf2hi"> </div> <!> <!></div>'),wa=M('<div class="decisions-section svelte-1gmf2hi"><h3 class="decisions-heading svelte-1gmf2hi">Decisions</h3> <div class="decisions-list svelte-1gmf2hi"></div></div>'),ba=M('<div class="modal-backdrop svelte-1gmf2hi"><div class="modal svelte-1gmf2hi"><div class="modal-header svelte-1gmf2hi"><div class="modal-title svelte-1gmf2hi"><h2 class="svelte-1gmf2hi"> </h2> <!></div> <button class="close-btn svelte-1gmf2hi">&times;</button></div> <form><div class="field svelte-1gmf2hi"><label for="title" class="svelte-1gmf2hi">Title</label> <input id="title" type="text" placeholder="Task title" required="" class="svelte-1gmf2hi"/></div> <div class="field svelte-1gmf2hi"><label for="description" class="svelte-1gmf2hi">Description</label> <textarea id="description" placeholder="Optional description" rows="3" class="svelte-1gmf2hi"></textarea></div> <div class="row svelte-1gmf2hi"><div class="field svelte-1gmf2hi"><label for="priority" class="svelte-1gmf2hi">Priority</label> <select id="priority" class="svelte-1gmf2hi"></select></div> <!></div> <div class="field svelte-1gmf2hi"><label for="tags" class="svelte-1gmf2hi">Tags <span class="hint svelte-1gmf2hi">(comma-separated)</span></label> <input id="tags" type="text" placeholder="e.g. backend, auth, bug" class="svelte-1gmf2hi"/></div> <div class="actions svelte-1gmf2hi"><button type="button" class="btn-cancel svelte-1gmf2hi">Cancel</button> <button type="submit" class="btn-save svelte-1gmf2hi"> </button></div></form> <!></div></div>');function ka(e,t){$e(t,!0);let n=ci(t,"defaultStatus",3,"todo"),r=O(""),s=O(""),i=O("medium"),a=O("todo"),l=O(""),o=O(Ye([]));gn(()=>{var D,I,te,ie,ne;if(g(r,((D=t.task)==null?void 0:D.title)??"",!0),g(s,((I=t.task)==null?void 0:I.description)??"",!0),g(i,((te=t.task)==null?void 0:te.priority)??"medium",!0),g(a,((ie=t.task)==null?void 0:ie.status)??n(),!0),(ne=t.task)!=null&&ne.tags)try{g(l,JSON.parse(t.task.tags).join(", "),!0)}catch{g(l,"")}else g(l,"")}),gn(()=>{t.task!==null?He.getDecisions(t.projectId).then(D=>{g(o,D,!0)}).catch(()=>{g(o,[],!0)}):g(o,[],!0)});const f=pt(()=>t.task!==null);function h(D){D.preventDefault();const I=v(r).trim();if(!I)return;const te=v(l).split(",").map(ie=>ie.trim()).filter(Boolean);t.onSave({title:I,description:v(s).trim(),priority:v(i),...v(f)?{status:v(a)}:{},tags:te})}function _(D){D.target.classList.contains("modal-backdrop")&&t.onClose()}function p(D){D.key==="Escape"&&t.onClose()}var w=ba();Le("keydown",_n,p);var c=E(w),m=E(c),d=E(m),y=E(d),k=E(y),F=T(y,2);{var B=D=>{var I=ha(),te=E(I);Z(()=>z(te,t.task.short_id)),P(D,I)};W(F,D=>{var I;(I=t.task)!=null&&I.short_id&&D(B)})}var N=T(d,2),L=T(m,2),S=E(L),U=T(E(S),2);Ur(U);var V=T(S,2),wt=T(E(V),2),tt=T(V,2),bt=E(tt),rn=T(E(bt),2);Lt(rn,21,()=>ia,nr,(D,I)=>{var te=_a(),ie=E(te),ne={};Z(()=>{z(ie,v(I)),ne!==(ne=v(I))&&(te.value=(te.__value=v(I))??"")}),P(D,te)});var b=T(bt,2);{var q=D=>{var I=pa(),te=T(E(I),2),ie=E(te);ie.value=ie.__value="todo";var ne=T(ie);ne.value=ne.__value="in_progress";var kt=T(ne);kt.value=kt.__value="blocked";var Et=T(kt);Et.value=Et.__value="done";var sn=T(Et);sn.value=sn.__value="cancelled",yr(te,()=>v(a),an=>g(a,an)),P(D,I)};W(b,D=>{v(f)&&D(q)})}var re=T(tt,2),ee=T(E(re),2),zt=T(re,2),sr=E(zt),vi=T(sr,2),di=E(vi),hi=T(L,2);{var _i=D=>{var I=wa(),te=T(E(I),2);Lt(te,21,()=>v(o),ie=>ie.id,(ie,ne)=>{var kt=ya(),Et=E(kt),sn=E(Et),an=T(Et,2),pi=E(an),ar=T(an,2);{var gi=nt=>{var Tt=ga(),ln=E(Tt);Z(()=>z(ln,v(ne).reasoning)),P(nt,Tt)};W(ar,nt=>{v(ne).reasoning&&nt(gi)})}var mi=T(ar,2);{var yi=nt=>{const Tt=pt(()=>(()=>{try{return JSON.parse(v(ne).alternatives)}catch{return null}})());var ln=fi(),wi=Jt(ln);{var bi=Tn=>{var lr=ma(),ki=E(lr);Z(Ei=>z(ki,`Alternatives: ${Ei??""}`),[()=>v(Tt).join(", ")]),P(Tn,lr)};W(wi,Tn=>{v(Tt)&&v(Tt).length>0&&Tn(bi)})}P(nt,ln)};W(mi,nt=>{v(ne).alternatives&&nt(yi)})}Z(()=>{z(sn,v(ne).title),z(pi,v(ne).decision)}),P(ie,kt)}),P(D,I)};W(hi,D=>{v(f)&&v(o).length>0&&D(_i)})}Z(()=>{z(k,v(f)?"Edit Task":"New Task"),z(di,v(f)?"Save":"Create")}),fe("click",w,_),fe("click",N,function(...D){var I;(I=t.onClose)==null||I.apply(this,D)}),Le("submit",L,h),dn(U,()=>v(r),D=>g(r,D)),dn(wt,()=>v(s),D=>g(s,D)),yr(rn,()=>v(i),D=>g(i,D)),dn(ee,()=>v(l),D=>g(l,D)),fe("click",sr,function(...D){var I;(I=t.onClose)==null||I.apply(this,D)}),P(e,w),et()}qt(["click"]);var Ea=M('<div class="modal-backdrop svelte-1efofyg"><div class="dialog svelte-1efofyg"><h3 class="svelte-1efofyg"> </h3> <p class="svelte-1efofyg"> </p> <div class="actions svelte-1efofyg"><button class="btn-cancel svelte-1efofyg">Cancel</button> <button class="btn-confirm svelte-1efofyg"> </button></div></div></div>');function Ta(e,t){$e(t,!0);let n=ci(t,"confirmLabel",3,"Delete");function r(m){m.target.classList.contains("modal-backdrop")&&t.onCancel()}function s(m){m.key==="Escape"&&t.onCancel()}var i=Ea();Le("keydown",_n,s);var a=E(i),l=E(a),o=E(l),f=T(l,2),h=E(f),_=T(f,2),p=E(_),w=T(p,2),c=E(w);Z(()=>{z(o,t.title),z(h,t.message),z(c,n())}),fe("click",i,r),fe("click",p,function(...m){var d;(d=t.onCancel)==null||d.apply(this,m)}),fe("click",w,function(...m){var d;(d=t.onConfirm)==null||d.apply(this,m)}),P(e,i),et()}qt(["click"]);var xa=M('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),Sa=M('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),Ca=M('<div class="board svelte-x7v2jt"></div>'),Da=M('<div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function Aa(e,t){$e(t,!0);let n=O(Ye([])),r=O(!0),s=O(null),i=O(!1),a=O(null),l=O("todo"),o=O(!1),f=O(null),h=O(null);const _=pt(()=>ra.map(b=>({...b,tasks:v(n).filter(q=>q.status===b.status)})));async function p(){g(r,!0),g(s,null);try{g(n,await He.getTasks(t.project.id),!0)}catch(b){g(s,b.message,!0)}finally{g(r,!1)}}gn(()=>{t.project.id,p()});function w(b,q){g(h,q,!0),b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",q.id))}async function c(b){if(!v(h)||v(h).status===b){g(h,null);return}const q=v(h),re=q.status;g(h,null);const ee=v(n).findIndex(zt=>zt.id===q.id);ee!==-1&&(v(n)[ee]={...v(n)[ee],status:b});try{await He.updateTask(q.id,{status:b})}catch(zt){ee!==-1&&(v(n)[ee]={...v(n)[ee],status:re}),g(s,zt.message,!0)}}function m(b){g(a,null),g(l,b,!0),g(i,!0)}function d(b){g(a,b,!0),g(i,!0)}async function y(b){try{if(v(a)){const q=await He.updateTask(v(a).id,{title:b.title,description:b.description||null,priority:b.priority,status:b.status,tags:b.tags.length>0?b.tags:null}),re=v(n).findIndex(ee=>ee.id===v(a).id);re!==-1&&(v(n)[re]=q)}else{const q=await He.createTask(t.project.id,{title:b.title,description:b.description||void 0,priority:b.priority,tags:b.tags.length>0?b.tags:void 0});g(n,[q,...v(n)],!0)}g(i,!1),g(a,null)}catch(q){g(s,q.message,!0)}}function k(b){g(f,b,!0),g(o,!0)}async function F(){if(v(f))try{await He.deleteTask(v(f).id),g(n,v(n).filter(b=>b.id!==v(f).id&&b.parent_task_id!==v(f).id),!0),g(o,!1),g(f,null)}catch(b){g(s,b.message,!0)}}var B=Da(),N=Jt(B),L=E(N);{var S=b=>{var q=xa();P(b,q)},U=b=>{var q=Sa(),re=E(q),ee=T(re);Z(()=>z(re,`${v(s)??""} `)),fe("click",ee,()=>{g(s,null),p()}),P(b,q)},V=b=>{var q=Ca();Lt(q,21,()=>v(_),re=>re.status,(re,ee)=>{da(re,{get status(){return v(ee).status},get label(){return v(ee).label},get tasks(){return v(ee).tasks},onEdit:d,onDelete:k,onDragStart:w,onDrop:c,onAddTask:m})}),P(b,q)};W(L,b=>{v(r)?b(S):v(s)?b(U,1):b(V,!1)})}var wt=T(N,2);{var tt=b=>{ka(b,{get task(){return v(a)},get projectId(){return t.project.id},get defaultStatus(){return v(l)},onSave:y,onClose:()=>{g(i,!1),g(a,null)}})};W(wt,b=>{v(i)&&b(tt)})}var bt=T(wt,2);{var rn=b=>{Ta(b,{title:"Delete Task",get message(){return`Are you sure you want to delete "${v(f).title??""}"? This cannot be undone.`},onConfirm:F,onCancel:()=>{g(o,!1),g(f,null)}})};W(bt,b=>{v(o)&&v(f)&&b(rn)})}P(e,B),et()}qt(["click"]);var ja=M('<div class="loading svelte-1n46o8q"><span class="prompt svelte-1n46o8q">&gt;</span> loading projects...</div>'),Pa=M('<div class="error svelte-1n46o8q"><span class="err-prefix svelte-1n46o8q">[error]</span> </div>'),Oa=M('<div class="empty svelte-1n46o8q"><p class="empty-prompt svelte-1n46o8q">&gt; no projects found</p> <p class="empty-hint svelte-1n46o8q">// create a project using mindpm MCP tools to get started</p></div>'),Na=M("<!> <!>",1);function Ra(e,t){$e(t,!0);let n=O(Ye([])),r=O(null),s=O(!0),i=O(null);const a=pt(()=>v(n).find(d=>d.id===v(r))??null);async function l(){try{if(g(n,await He.getProjects(),!0),v(n).length>0&&!v(r)){const d=new URLSearchParams(window.location.search).get("project"),y=d?v(n).find(k=>k.id===d||k.name===d):null;g(r,y?y.id:v(n)[0].id,!0)}}catch(d){g(i,d.message,!0)}finally{g(s,!1)}}function o(d){g(r,d,!0)}async function f(d,y){try{await He.updateProject(d,{name:y});const k=v(n).findIndex(F=>F.id===d);k!==-1&&(v(n)[k]={...v(n)[k],name:y})}catch(k){g(i,k.message,!0)}}gn(()=>{l()});var h=fi(),_=Jt(h);{var p=d=>{var y=ja();P(d,y)},w=d=>{var y=Pa(),k=T(E(y));Z(()=>z(k,` ${v(i)??""}`)),P(d,y)},c=d=>{var y=Oa();P(d,y)},m=d=>{var y=Na(),k=Jt(y);na(k,{get projects(){return v(n)},get selectedId(){return v(r)},onSelect:o,onRenamed:f});var F=T(k,2);{var B=N=>{Aa(N,{get project(){return v(a)}})};W(F,N=>{v(a)&&N(B)})}P(d,y)};W(_,d=>{v(s)?d(p):v(i)?d(w,1):v(n).length===0?d(c,2):d(m,!1)})}P(e,h),et()}Bs(Ra,{target:document.getElementById("app")});
@@ -0,0 +1 @@
1
+ .toolbar.svelte-1kanzy0{display:flex;align-items:center;gap:20px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.brand.svelte-1kanzy0{font-size:.95rem;font-weight:700;color:var(--primary);letter-spacing:.5px;white-space:nowrap}.prompt.svelte-1kanzy0{color:var(--text-dim)}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}.project-label.svelte-1kanzy0{color:var(--text-muted);font-size:.8rem}.project-slug.svelte-1kanzy0{color:var(--text-muted);font-size:.75rem}select.svelte-1kanzy0{padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-bright);background:var(--surface-2);color:var(--text);-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}select.svelte-1kanzy0 option:where(.svelte-1kanzy0){background:var(--surface-2);color:var(--text)}.rename-btn.svelte-1kanzy0{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:2px 7px;font-size:.85rem;line-height:1.5}.rename-btn.svelte-1kanzy0:hover{border-color:var(--primary);color:var(--primary)}.rename-input.svelte-1kanzy0{padding:3px 8px;border-radius:var(--radius-sm);border:1px solid var(--primary);background:var(--surface-2);color:var(--text);width:180px;outline:none;box-shadow:0 0 0 2px var(--primary-dim)}.card.svelte-35ep21{background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);padding:8px 10px;cursor:grab;transition:border-color .15s,background .15s;position:relative}.card.priority-critical.svelte-35ep21{border-left-color:var(--priority-critical)}.card.priority-high.svelte-35ep21{border-left-color:var(--priority-high)}.card.priority-medium.svelte-35ep21{border-left-color:var(--priority-medium)}.card.priority-low.svelte-35ep21{border-left-color:var(--border-bright)}.card.svelte-35ep21:hover{background:var(--surface-2);border-color:var(--border-bright);border-left-color:inherit}.card.dragging.svelte-35ep21{opacity:.4}.card-header.svelte-35ep21{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.card-header-right.svelte-35ep21{display:flex;align-items:center;gap:6px}.task-id.svelte-35ep21{font-size:.65rem;color:var(--text-muted)}.priority-badge.svelte-35ep21{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted)}.priority-badge.priority-critical.svelte-35ep21{color:var(--priority-critical)}.priority-badge.priority-high.svelte-35ep21{color:var(--priority-high)}.priority-badge.priority-medium.svelte-35ep21{color:var(--priority-medium)}.priority-badge.priority-low.svelte-35ep21{color:var(--text-muted)}.delete-btn.svelte-35ep21{background:none;border:none;color:var(--text-muted);font-size:1rem;line-height:1;padding:0 2px;opacity:0;transition:opacity .1s}.card.svelte-35ep21:hover .delete-btn:where(.svelte-35ep21){opacity:1}.delete-btn.svelte-35ep21:hover{color:var(--danger)}.card-title.svelte-35ep21{font-size:.8rem;font-weight:500;word-break:break-word;color:var(--text);line-height:1.4}.card-desc.svelte-35ep21{font-size:.72rem;color:var(--text-muted);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.card-tags.svelte-35ep21{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag.svelte-35ep21{font-size:.62rem;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);padding:1px 5px;border-radius:2px}.column.svelte-zswfgn{background:var(--column-bg);border:1px solid var(--border);border-radius:var(--radius);width:270px;min-width:270px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;transition:border-color .15s}.column.drag-over.svelte-zswfgn{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-dim)}.column-header.svelte-zswfgn{padding:8px 10px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border)}.column-header.svelte-zswfgn h3:where(.svelte-zswfgn){font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}.chevron.svelte-zswfgn{color:var(--primary);margin-right:4px}.count.svelte-zswfgn{font-weight:400;color:var(--text-muted);margin-left:4px;font-size:.68rem}.add-btn.svelte-zswfgn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);width:22px;height:22px;font-size:1rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;line-height:1}.add-btn.svelte-zswfgn:hover{border-color:var(--primary);color:var(--primary)}.card-list.svelte-zswfgn{padding:6px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.modal-backdrop.svelte-1gmf2hi{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1gmf2hi{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:20px}.modal-title.svelte-1gmf2hi{display:flex;align-items:baseline;gap:10px}.modal-task-id.svelte-1gmf2hi{font-size:.7rem;color:var(--text-muted)}.modal-header.svelte-1gmf2hi{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.modal-header.svelte-1gmf2hi h2:where(.svelte-1gmf2hi){font-size:.9rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1px}.close-btn.svelte-1gmf2hi{background:none;border:none;font-size:1.2rem;color:var(--text-muted);padding:0 4px;line-height:1}.close-btn.svelte-1gmf2hi:hover{color:var(--danger)}.field.svelte-1gmf2hi{margin-bottom:14px;flex:1}label.svelte-1gmf2hi{display:block;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.hint.svelte-1gmf2hi{font-weight:400;text-transform:none;letter-spacing:0}input.svelte-1gmf2hi,textarea.svelte-1gmf2hi,select.svelte-1gmf2hi{width:100%;padding:7px 9px;border:1px solid var(--border-bright);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}input.svelte-1gmf2hi:focus,textarea.svelte-1gmf2hi:focus,select.svelte-1gmf2hi:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}textarea.svelte-1gmf2hi{resize:vertical}.row.svelte-1gmf2hi{display:flex;gap:12px}.actions.svelte-1gmf2hi{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.btn-cancel.svelte-1gmf2hi,.btn-save.svelte-1gmf2hi{padding:6px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.btn-cancel.svelte-1gmf2hi{background:none;border:1px solid var(--border-bright);color:var(--text-muted)}.btn-cancel.svelte-1gmf2hi:hover{border-color:var(--text-muted);color:var(--text)}.btn-save.svelte-1gmf2hi{background:var(--primary);border:1px solid var(--primary);color:#0d0d0d;font-weight:700}.btn-save.svelte-1gmf2hi:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.decisions-section.svelte-1gmf2hi{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.decisions-heading.svelte-1gmf2hi{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.decisions-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.decision-item.svelte-1gmf2hi{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--border-bright);border-radius:var(--radius-sm);padding:8px 10px}.decision-title.svelte-1gmf2hi{font-size:.78rem;font-weight:700;color:var(--text);margin-bottom:3px}.decision-body.svelte-1gmf2hi{font-size:.75rem;color:var(--text-dim);line-height:1.4}.decision-reasoning.svelte-1gmf2hi{font-size:.7rem;color:var(--text-muted);margin-top:3px;line-height:1.4;font-style:italic}.decision-alts.svelte-1gmf2hi{font-size:.7rem;color:var(--text-muted);margin-top:3px}.modal-backdrop.svelte-1efofyg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.dialog.svelte-1efofyg{background:var(--surface);border:1px solid var(--border-bright);border-top:3px solid var(--danger);border-radius:var(--radius);padding:20px;width:340px;max-width:90vw}h3.svelte-1efofyg{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--danger);margin-bottom:10px}p.svelte-1efofyg{color:var(--text-dim);font-size:.78rem;margin-bottom:18px;line-height:1.5}.actions.svelte-1efofyg{display:flex;justify-content:flex-end;gap:8px}.btn-cancel.svelte-1efofyg,.btn-confirm.svelte-1efofyg{padding:5px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px}.btn-cancel.svelte-1efofyg{background:none;border:1px solid var(--border-bright);color:var(--text-muted)}.btn-cancel.svelte-1efofyg:hover{color:var(--text);border-color:var(--text-muted)}.btn-confirm.svelte-1efofyg{background:var(--danger);border:1px solid var(--danger);color:#fff}.btn-confirm.svelte-1efofyg:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;padding:16px}.board.svelte-x7v2jt{display:flex;gap:12px;align-items:flex-start;min-height:calc(100vh - 100px)}.board-message.svelte-x7v2jt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-muted);font-size:1rem}.board-message.error.svelte-x7v2jt{color:var(--danger)}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt){padding:5px 14px;background:none;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt):hover{background:var(--primary-dim)}.loading.svelte-1n46o8q,.error.svelte-1n46o8q,.empty.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px;font-size:.85rem}.prompt.svelte-1n46o8q{color:var(--primary)}.loading.svelte-1n46o8q{color:var(--text-dim)}.error.svelte-1n46o8q{color:var(--danger)}.err-prefix.svelte-1n46o8q{margin-right:6px}.empty-prompt.svelte-1n46o8q{color:var(--text)}.empty-hint.svelte-1n46o8q{color:var(--text-muted);font-size:.75rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d0d;--surface: #141414;--surface-2: #1a1a1a;--border: #252525;--border-bright: #333333;--text: #d4d4d4;--text-muted: #555555;--text-dim: #888888;--primary: #39d353;--primary-hover: #2fb844;--primary-dim: rgba(57, 211, 83, .15);--danger: #f85149;--danger-hover: #da3633;--priority-critical: #f85149;--priority-high: #d29922;--priority-medium: #39d353;--priority-low: #3d444d;--column-bg: #111111;--card-shadow: none;--card-shadow-hover: 0 0 0 1px var(--border-bright);--radius: 4px;--radius-sm: 3px;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", "Courier New", monospace}body{font-family:var(--font-mono);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;font-size:13px}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}#app{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>mindpm - Kanban</title>
7
- <script type="module" crossorigin src="/assets/index-DEbNNy1A.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-D1zW_0Sv.css">
7
+ <script type="module" crossorigin src="/assets/index-4uCro_-j.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-BGAZhGCQ.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindpm",
3
- "version": "1.2.8",
3
+ "version": "1.2.10",
4
4
  "description": "Persistent project memory for LLMs via MCP. Never re-explain your project again.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1 +0,0 @@
1
- .toolbar.svelte-1kanzy0{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--primary);color:#fff;flex-shrink:0}.brand.svelte-1kanzy0{font-weight:700;font-size:1.2rem;letter-spacing:-.5px}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}select.svelte-1kanzy0{padding:6px 10px;border-radius:var(--radius-sm);border:none;background:#fff3;color:#fff;font-weight:600;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}select.svelte-1kanzy0 option:where(.svelte-1kanzy0){color:var(--text);background:#fff}.rename-btn.svelte-1kanzy0{background:#fff3;border:none;color:#fff;border-radius:var(--radius-sm);padding:4px 8px;font-size:.9rem}.rename-btn.svelte-1kanzy0:hover{background:#ffffff59}.rename-input.svelte-1kanzy0{padding:4px 8px;border-radius:var(--radius-sm);border:2px solid white;background:#ffffffe6;color:var(--text);font-weight:600;width:200px}.card.svelte-35ep21{background:var(--surface);border-radius:var(--radius);padding:10px;box-shadow:var(--card-shadow);cursor:grab;transition:box-shadow .15s}.card.svelte-35ep21:hover{box-shadow:var(--card-shadow-hover)}.card.dragging.svelte-35ep21{opacity:.5}.card-header.svelte-35ep21{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.priority-badge.svelte-35ep21{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:3px;color:#fff;letter-spacing:.5px}.priority-critical.svelte-35ep21{background:var(--priority-critical)}.priority-high.svelte-35ep21{background:var(--priority-high);color:#333}.priority-medium.svelte-35ep21{background:var(--priority-medium)}.priority-low.svelte-35ep21{background:var(--priority-low);color:#333}.delete-btn.svelte-35ep21{background:none;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:0 4px;opacity:0;transition:opacity .15s}.card.svelte-35ep21:hover .delete-btn:where(.svelte-35ep21){opacity:1}.delete-btn.svelte-35ep21:hover{color:var(--danger)}.card-title.svelte-35ep21{font-size:.9rem;font-weight:500;word-break:break-word}.card-desc.svelte-35ep21{font-size:.8rem;color:var(--text-muted);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-tags.svelte-35ep21{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.tag.svelte-35ep21{font-size:.7rem;background:var(--bg);color:var(--text-muted);padding:2px 6px;border-radius:3px}.column.svelte-zswfgn{background:var(--column-bg);border-radius:var(--radius);width:280px;min-width:280px;max-height:calc(100vh - 70px);display:flex;flex-direction:column;transition:background-color .15s}.column.drag-over.svelte-zswfgn{background:#d5dbe3}.column-header.svelte-zswfgn{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.column-header.svelte-zswfgn h3:where(.svelte-zswfgn){font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.count.svelte-zswfgn{font-weight:400;color:var(--text-muted);margin-left:4px}.add-btn.svelte-zswfgn{background:#00000014;border:none;border-radius:var(--radius-sm);width:28px;height:28px;font-size:1.2rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.add-btn.svelte-zswfgn:hover{background:#00000026;color:var(--text)}.card-list.svelte-zswfgn{padding:0 8px 8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.modal-backdrop.svelte-1gmf2hi{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1gmf2hi{background:var(--surface);border-radius:var(--radius);width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:24px}.modal-header.svelte-1gmf2hi{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header.svelte-1gmf2hi h2:where(.svelte-1gmf2hi){font-size:1.2rem;font-weight:600}.close-btn.svelte-1gmf2hi{background:none;border:none;font-size:1.5rem;color:var(--text-muted);padding:0 4px}.close-btn.svelte-1gmf2hi:hover{color:var(--text)}.field.svelte-1gmf2hi{margin-bottom:16px;flex:1}label.svelte-1gmf2hi{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.hint.svelte-1gmf2hi{font-weight:400;text-transform:none;letter-spacing:0}input.svelte-1gmf2hi,textarea.svelte-1gmf2hi,select.svelte-1gmf2hi{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}input.svelte-1gmf2hi:focus,textarea.svelte-1gmf2hi:focus,select.svelte-1gmf2hi:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0079bf33}textarea.svelte-1gmf2hi{resize:vertical}.row.svelte-1gmf2hi{display:flex;gap:12px}.actions.svelte-1gmf2hi{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-cancel.svelte-1gmf2hi,.btn-save.svelte-1gmf2hi{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:none}.btn-cancel.svelte-1gmf2hi{background:var(--bg);color:var(--text-muted)}.btn-cancel.svelte-1gmf2hi:hover{background:var(--border)}.btn-save.svelte-1gmf2hi{background:var(--primary);color:#fff}.btn-save.svelte-1gmf2hi:hover{background:var(--primary-hover)}.decisions-section.svelte-1gmf2hi{margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.decisions-heading.svelte-1gmf2hi{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.decisions-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.decision-item.svelte-1gmf2hi{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.decision-title.svelte-1gmf2hi{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:4px}.decision-body.svelte-1gmf2hi{font-size:.82rem;color:var(--text);line-height:1.4}.decision-reasoning.svelte-1gmf2hi{font-size:.78rem;color:var(--text-muted);margin-top:4px;line-height:1.4;font-style:italic}.decision-alts.svelte-1gmf2hi{font-size:.78rem;color:var(--text-muted);margin-top:4px}.modal-backdrop.svelte-1efofyg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog.svelte-1efofyg{background:var(--surface);border-radius:var(--radius);padding:24px;width:360px;max-width:90vw}h3.svelte-1efofyg{font-size:1.1rem;margin-bottom:8px}p.svelte-1efofyg{color:var(--text-muted);font-size:.9rem;margin-bottom:20px}.actions.svelte-1efofyg{display:flex;justify-content:flex-end;gap:8px}.btn-cancel.svelte-1efofyg,.btn-confirm.svelte-1efofyg{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:none}.btn-cancel.svelte-1efofyg{background:var(--bg);color:var(--text-muted)}.btn-cancel.svelte-1efofyg:hover{background:var(--border)}.btn-confirm.svelte-1efofyg{background:var(--danger);color:#fff}.btn-confirm.svelte-1efofyg:hover{background:var(--danger-hover)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;padding:16px}.board.svelte-x7v2jt{display:flex;gap:12px;align-items:flex-start;min-height:calc(100vh - 100px)}.board-message.svelte-x7v2jt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-muted);font-size:1rem}.board-message.error.svelte-x7v2jt{color:var(--danger)}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt){padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600}.loading.svelte-1n46o8q,.error.svelte-1n46o8q,.empty.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px}.error.svelte-1n46o8q{color:var(--danger)}.empty.svelte-1n46o8q h2:where(.svelte-1n46o8q){font-size:1.5rem;font-weight:600}.empty.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-muted)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f6f8;--surface: #ffffff;--border: #dfe1e6;--text: #172b4d;--text-muted: #5e6c84;--primary: #0079bf;--primary-hover: #026aa7;--danger: #eb5a46;--danger-hover: #cf513d;--priority-critical: #eb5a46;--priority-high: #f2d600;--priority-medium: #61bd4f;--priority-low: #c1c7d0;--column-bg: #ebecf0;--card-shadow: 0 1px 2px rgba(9, 30, 66, .15);--card-shadow-hover: 0 4px 8px rgba(9, 30, 66, .2);--radius: 6px;--radius-sm: 4px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}#app{min-height:100vh;display:flex;flex-direction:column}
@@ -1,2 +0,0 @@
1
- var bi=Object.defineProperty;var or=e=>{throw TypeError(e)};var ki=(e,t,n)=>t in e?bi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ae=(e,t,n)=>ki(e,typeof t!="symbol"?t+"":t,n),Sn=(e,t,n)=>t.has(e)||or("Cannot "+n);var u=(e,t,n)=>(Sn(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?or("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),x=(e,t,n,r)=>(Sn(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),H=(e,t,n)=>(Sn(e,t,"access private method"),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const An=!1;var Yn=Array.isArray,Ei=Array.prototype.indexOf,At=Array.prototype.includes,mn=Array.from,Ti=Object.defineProperty,Bt=Object.getOwnPropertyDescriptor,Si=Object.prototype,xi=Array.prototype,Ci=Object.getPrototypeOf,fr=Object.isExtensible;const Di=()=>{};function Ai(e){for(var t=0;t<e.length;t++)e[t]()}function kr(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}const W=2,Qt=4,yn=8,Er=1<<24,Fe=16,De=32,mt=64,Pn=128,me=512,V=1024,J=2048,Ce=4096,ve=8192,We=16384,dt=32768,Pt=65536,ur=1<<17,Tr=1<<18,Mt=1<<19,Pi=1<<20,Ke=1<<25,ht=65536,jn=1<<21,Wn=1<<22,Je=1<<23,Ht=Symbol("$state"),nt=new class extends Error{constructor(){super(...arguments);Ae(this,"name","StaleReactionError");Ae(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function ji(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Oi(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Ni(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Ri(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Mi(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Ii(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Li(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Fi(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function qi(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function zi(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Bi=1,Hi=2,Vi=16,Ki=1,Ui=2,U=Symbol(),Yi="http://www.w3.org/1999/xhtml";function Wi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Ji(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Sr(e){return e===this.v}function Gi(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function xr(e){return!Gi(e,this.v)}let Xi=!1,we=null;function jt(e){we=e}function $e(e,t=!1,n){we={p:we,i:!1,c:null,e:null,s:e,x:null,l:null}}function et(e){var t=we,n=t.e;if(n!==null){t.e=null;for(var r of n)Wr(r)}return t.i=!0,we=t.p,{}}function Cr(){return!0}let rt=[];function Dr(){var e=rt;rt=[],Ai(e)}function Ge(e){if(rt.length===0&&!Vt){var t=rt;queueMicrotask(()=>{t===rt&&Dr()})}rt.push(e)}function Zi(){for(;rt.length>0;)Dr()}function Ar(e){var t=N;if(t===null)return D.f|=Je,e;if((t.f&dt)===0&&(t.f&Qt)===0)throw e;Ue(e,t)}function Ue(e,t){for(;t!==null;){if((t.f&Pn)!==0){if((t.f&dt)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Qi=-7169;function q(e,t){e.f=e.f&Qi|t}function Jn(e){(e.f&me)!==0||e.deps===null?q(e,V):q(e,Ce)}function Pr(e){if(e!==null)for(const t of e)(t.f&W)===0||(t.f&ht)===0||(t.f^=ht,Pr(t.deps))}function jr(e,t,n){(e.f&J)!==0?t.add(e):(e.f&Ce)!==0&&n.add(e),Pr(e.deps),q(e,V)}const an=new Set;let S=null,vn=null,Y=null,ie=[],wn=null,On=!1,Vt=!1;var kt,Et,at,Tt,Jt,Gt,lt,Re,St,de,Nn,Rn,Mn,Or;const sr=class sr{constructor(){A(this,de);Ae(this,"current",new Map);Ae(this,"previous",new Map);A(this,kt,new Set);A(this,Et,new Set);A(this,at,0);A(this,Tt,0);A(this,Jt,null);A(this,Gt,new Set);A(this,lt,new Set);A(this,Re,new Map);Ae(this,"is_fork",!1);A(this,St,!1)}skip_effect(t){u(this,Re).has(t)||u(this,Re).set(t,{d:[],m:[]})}unskip_effect(t){var n=u(this,Re).get(t);if(n){u(this,Re).delete(t);for(var r of n.d)q(r,J),Se(r);for(r of n.m)q(r,Ce),Se(r)}}process(t){var s;ie=[],this.apply();var n=[],r=[];for(const i of t)H(this,de,Rn).call(this,i,n,r);if(H(this,de,Nn).call(this)){H(this,de,Mn).call(this,r),H(this,de,Mn).call(this,n);for(const[i,a]of u(this,Re))Ir(i,a)}else{for(const i of u(this,kt))i();u(this,kt).clear(),u(this,at)===0&&H(this,de,Or).call(this),vn=this,S=null,cr(r),cr(n),vn=null,(s=u(this,Jt))==null||s.resolve()}Y=null}capture(t,n){n!==U&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&Je)===0&&(this.current.set(t,t.v),Y==null||Y.set(t,t.v))}activate(){S=this,this.apply()}deactivate(){S===this&&(S=null,Y=null)}flush(){if(this.activate(),ie.length>0){if(Nr(),S!==null&&S!==this)return}else u(this,at)===0&&this.process([]);this.deactivate()}discard(){for(const t of u(this,Et))t(this);u(this,Et).clear()}increment(t){x(this,at,u(this,at)+1),t&&x(this,Tt,u(this,Tt)+1)}decrement(t){x(this,at,u(this,at)-1),t&&x(this,Tt,u(this,Tt)-1),!u(this,St)&&(x(this,St,!0),Ge(()=>{x(this,St,!1),H(this,de,Nn).call(this)?ie.length>0&&this.flush():this.revive()}))}revive(){for(const t of u(this,Gt))u(this,lt).delete(t),q(t,J),Se(t);for(const t of u(this,lt))q(t,Ce),Se(t);this.flush()}oncommit(t){u(this,kt).add(t)}ondiscard(t){u(this,Et).add(t)}settled(){return(u(this,Jt)??x(this,Jt,kr())).promise}static ensure(){if(S===null){const t=S=new sr;an.add(S),Vt||Ge(()=>{S===t&&t.flush()})}return S}apply(){}};kt=new WeakMap,Et=new WeakMap,at=new WeakMap,Tt=new WeakMap,Jt=new WeakMap,Gt=new WeakMap,lt=new WeakMap,Re=new WeakMap,St=new WeakMap,de=new WeakSet,Nn=function(){return this.is_fork||u(this,Tt)>0},Rn=function(t,n,r){t.f^=V;for(var s=t.first;s!==null;){var i=s.f,a=(i&(De|mt))!==0,l=a&&(i&V)!==0,o=l||(i&ve)!==0||u(this,Re).has(s);if(!o&&s.fn!==null){a?s.f^=V:(i&Qt)!==0?n.push(s):en(s)&&((i&Fe)!==0&&u(this,lt).add(s),Nt(s));var f=s.first;if(f!==null){s=f;continue}}for(;s!==null;){var h=s.next;if(h!==null){s=h;break}s=s.parent}}},Mn=function(t){for(var n=0;n<t.length;n+=1)jr(t[n],u(this,Gt),u(this,lt))},Or=function(){var s;if(an.size>1){this.previous.clear();var t=Y,n=!0;for(const i of an){if(i===this){n=!1;continue}const a=[];for(const[o,f]of this.current){if(i.current.has(o))if(n&&f!==i.current.get(o))i.current.set(o,f);else continue;a.push(o)}if(a.length===0)continue;const l=[...i.current.keys()].filter(o=>!this.current.has(o));if(l.length>0){var r=ie;ie=[];const o=new Set,f=new Map;for(const h of a)Rr(h,l,o,f);if(ie.length>0){S=i,i.apply();for(const h of ie)H(s=i,de,Rn).call(s,h,[],[]);i.deactivate()}ie=r}}S=null,Y=t}an.delete(this)};let Xe=sr;function $i(e){var t=Vt;Vt=!0;try{for(var n;;){if(Zi(),ie.length===0&&(S==null||S.flush(),ie.length===0))return wn=null,n;Nr()}}finally{Vt=t}}function Nr(){On=!0;var e=null;try{for(var t=0;ie.length>0;){var n=Xe.ensure();if(t++>1e3){var r,s;es()}n.process(ie),Ze.clear()}}finally{ie=[],On=!1,wn=null}}function es(){try{Ii()}catch(e){Ue(e,wn)}}let ke=null;function cr(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(We|ve))===0&&en(r)&&(ke=new Set,Nt(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Xr(r),(ke==null?void 0:ke.size)>0)){Ze.clear();for(const s of ke){if((s.f&(We|ve))!==0)continue;const i=[s];let a=s.parent;for(;a!==null;)ke.has(a)&&(ke.delete(a),i.push(a)),a=a.parent;for(let l=i.length-1;l>=0;l--){const o=i[l];(o.f&(We|ve))===0&&Nt(o)}}ke.clear()}}ke=null}}function Rr(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&W)!==0?Rr(s,t,n,r):(i&(Wn|Fe))!==0&&(i&J)===0&&Mr(s,t,r)&&(q(s,J),Se(s))}}function Mr(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(At.call(t,s))return!0;if((s.f&W)!==0&&Mr(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Se(e){var t=wn=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(Qt|yn|Er))!==0&&(e.f&dt)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(On&&t===N&&(r&Fe)!==0&&(r&Tr)===0&&(r&dt)!==0)return;if((r&(mt|De))!==0){if((r&V)===0)return;t.f^=V}}ie.push(t)}function Ir(e,t){if(!((e.f&De)!==0&&(e.f&V)!==0)){(e.f&J)!==0?t.d.push(e):(e.f&Ce)!==0&&t.m.push(e),q(e,V);for(var n=e.first;n!==null;)Ir(n,t),n=n.next}}function ts(e){let t=0,n=pt(0),r;return()=>{Zn()&&(v(n),Jr(()=>(t===0&&(r=li(()=>e(()=>Kt(n)))),t+=1,()=>{Ge(()=>{t-=1,t===0&&(r==null||r(),r=void 0,Kt(n))})})))}}var ns=Pt|Mt;function rs(e,t,n,r){new is(e,t,n,r)}var pe,Un,Pe,ot,re,je,ue,Ee,Me,ft,Ve,xt,Ct,Dt,Ie,pn,B,ss,as,ls,In,on,fn,Ln;class is{constructor(t,n,r,s){A(this,B);Ae(this,"parent");Ae(this,"is_pending",!1);Ae(this,"transform_error");A(this,pe);A(this,Un,null);A(this,Pe);A(this,ot);A(this,re);A(this,je,null);A(this,ue,null);A(this,Ee,null);A(this,Me,null);A(this,ft,0);A(this,Ve,0);A(this,xt,!1);A(this,Ct,new Set);A(this,Dt,new Set);A(this,Ie,null);A(this,pn,ts(()=>(x(this,Ie,pt(u(this,ft))),()=>{x(this,Ie,null)})));var i;x(this,pe,t),x(this,Pe,n),x(this,ot,a=>{var l=N;l.b=this,l.f|=Pn,r(a)}),this.parent=N.b,this.transform_error=s??((i=this.parent)==null?void 0:i.transform_error)??(a=>a),x(this,re,$n(()=>{H(this,B,In).call(this)},ns))}defer_effect(t){jr(t,u(this,Ct),u(this,Dt))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!u(this,Pe).pending}update_pending_count(t){H(this,B,Ln).call(this,t),x(this,ft,u(this,ft)+t),!(!u(this,Ie)||u(this,xt))&&(x(this,xt,!0),Ge(()=>{x(this,xt,!1),u(this,Ie)&&Ot(u(this,Ie),u(this,ft))}))}get_effect_pending(){return u(this,pn).call(this),v(u(this,Ie))}error(t){var n=u(this,Pe).onerror;let r=u(this,Pe).failed;if(!n&&!r)throw t;u(this,je)&&(le(u(this,je)),x(this,je,null)),u(this,ue)&&(le(u(this,ue)),x(this,ue,null)),u(this,Ee)&&(le(u(this,Ee)),x(this,Ee,null));var s=!1,i=!1;const a=()=>{if(s){Ji();return}s=!0,i&&zi(),u(this,Ee)!==null&&ct(u(this,Ee),()=>{x(this,Ee,null)}),H(this,B,fn).call(this,()=>{Xe.ensure(),H(this,B,In).call(this)})},l=o=>{try{i=!0,n==null||n(o,a),i=!1}catch(f){Ue(f,u(this,re)&&u(this,re).parent)}r&&x(this,Ee,H(this,B,fn).call(this,()=>{Xe.ensure();try{return ge(()=>{var f=N;f.b=this,f.f|=Pn,r(u(this,pe),()=>o,()=>a)})}catch(f){return Ue(f,u(this,re).parent),null}}))};Ge(()=>{var o;try{o=this.transform_error(t)}catch(f){Ue(f,u(this,re)&&u(this,re).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(l,f=>Ue(f,u(this,re)&&u(this,re).parent)):l(o)})}}pe=new WeakMap,Un=new WeakMap,Pe=new WeakMap,ot=new WeakMap,re=new WeakMap,je=new WeakMap,ue=new WeakMap,Ee=new WeakMap,Me=new WeakMap,ft=new WeakMap,Ve=new WeakMap,xt=new WeakMap,Ct=new WeakMap,Dt=new WeakMap,Ie=new WeakMap,pn=new WeakMap,B=new WeakSet,ss=function(){try{x(this,je,ge(()=>u(this,ot).call(this,u(this,pe))))}catch(t){this.error(t)}},as=function(t){const n=u(this,Pe).failed;n&&x(this,Ee,ge(()=>{n(u(this,pe),()=>t,()=>()=>{})}))},ls=function(){const t=u(this,Pe).pending;t&&(this.is_pending=!0,x(this,ue,ge(()=>t(u(this,pe)))),Ge(()=>{var n=x(this,Me,document.createDocumentFragment()),r=Qe();n.append(r),x(this,je,H(this,B,fn).call(this,()=>(Xe.ensure(),ge(()=>u(this,ot).call(this,r))))),u(this,Ve)===0&&(u(this,pe).before(n),x(this,Me,null),ct(u(this,ue),()=>{x(this,ue,null)}),H(this,B,on).call(this))}))},In=function(){try{if(this.is_pending=this.has_pending_snippet(),x(this,Ve,0),x(this,ft,0),x(this,je,ge(()=>{u(this,ot).call(this,u(this,pe))})),u(this,Ve)>0){var t=x(this,Me,document.createDocumentFragment());$r(u(this,je),t);const n=u(this,Pe).pending;x(this,ue,ge(()=>n(u(this,pe))))}else H(this,B,on).call(this)}catch(n){this.error(n)}},on=function(){this.is_pending=!1;for(const t of u(this,Ct))q(t,J),Se(t);for(const t of u(this,Dt))q(t,Ce),Se(t);u(this,Ct).clear(),u(this,Dt).clear()},fn=function(t){var n=N,r=D,s=we;Ne(u(this,re)),be(u(this,re)),jt(u(this,re).ctx);try{return t()}catch(i){return Ar(i),null}finally{Ne(n),be(r),jt(s)}},Ln=function(t){var n;if(!this.has_pending_snippet()){this.parent&&H(n=this.parent,B,Ln).call(n,t);return}x(this,Ve,u(this,Ve)+t),u(this,Ve)===0&&(H(this,B,on).call(this),u(this,ue)&&ct(u(this,ue),()=>{x(this,ue,null)}),u(this,Me)&&(u(this,pe).before(u(this,Me)),x(this,Me,null)))};function os(e,t,n,r){const s=Gn;var i=e.filter(_=>!_.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var a=N,l=fs(),o=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(_=>_.promise)):null;function f(_){l();try{r(_)}catch(p){(a.f&We)===0&&Ue(p,a)}Fn()}if(n.length===0){o.then(()=>f(t.map(s)));return}function h(){l(),Promise.all(n.map(_=>cs(_))).then(_=>f([...t.map(s),..._])).catch(_=>Ue(_,a))}o?o.then(h):h()}function fs(){var e=N,t=D,n=we,r=S;return function(i=!0){Ne(e),be(t),jt(n),i&&(r==null||r.activate())}}function Fn(e=!0){Ne(null),be(null),jt(null),e&&(S==null||S.deactivate())}function us(){var e=N.b,t=S,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function Gn(e){var t=W|J,n=D!==null&&(D.f&W)!==0?D:null;return N!==null&&(N.f|=Mt),{ctx:we,deps:null,effects:null,equals:Sr,f:t,fn:e,reactions:null,rv:0,v:U,wv:0,parent:n??N,ac:null}}function cs(e,t,n){N===null&&ji();var s=void 0,i=pt(U),a=!D,l=new Map;return Cs(()=>{var p;var o=kr();s=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(Fn)}catch(w){o.reject(w),Fn()}var f=S;if(a){var h=us();(p=l.get(f))==null||p.reject(nt),l.delete(f),l.set(f,o)}const _=(w,c=void 0)=>{if(f.activate(),c)c!==nt&&(i.f|=Je,Ot(i,c));else{(i.f&Je)!==0&&(i.f^=Je),Ot(i,w);for(const[m,d]of l){if(l.delete(m),m===f)break;d.reject(nt)}}h&&h()};o.promise.then(_,w=>_(null,w||"unknown"))}),Qn(()=>{for(const o of l.values())o.reject(nt)}),new Promise(o=>{function f(h){function _(){h===s?o(i):f(s)}h.then(_,_)}f(s)})}function _t(e){const t=Gn(e);return ei(t),t}function vs(e){const t=Gn(e);return t.equals=xr,t}function ds(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)le(t[n])}}function hs(e){for(var t=e.parent;t!==null;){if((t.f&W)===0)return(t.f&We)===0?t:null;t=t.parent}return null}function Xn(e){var t,n=N;Ne(hs(e));try{e.f&=~ht,ds(e),t=ii(e)}finally{Ne(n)}return t}function Lr(e){var t=Xn(e);if(!e.equals(t)&&(e.wv=ni(),(!(S!=null&&S.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){q(e,V);return}gt||(Y!==null?(Zn()||S!=null&&S.is_fork)&&Y.set(e,t):Jn(e))}function _s(e){var t,n;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((t=r.teardown)==null||t.call(r),(n=r.ac)==null||n.abort(nt),r.teardown=Di,r.ac=null,Wt(r,0),er(r))}function Fr(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&Nt(t)}let qn=new Set;const Ze=new Map;let qr=!1;function pt(e,t){var n={f:0,v:e,reactions:null,equals:Sr,rv:0,wv:0};return n}function O(e,t){const n=pt(e);return ei(n),n}function ps(e,t=!1,n=!0){const r=pt(e);return t||(r.equals=xr),r}function g(e,t,n=!1){D!==null&&(!xe||(D.f&ur)!==0)&&Cr()&&(D.f&(W|Fe|Wn|ur))!==0&&(ye===null||!At.call(ye,e))&&qi();let r=n?Ye(t):t;return Ot(e,r)}function Ot(e,t){if(!e.equals(t)){var n=e.v;gt?Ze.set(e,t):Ze.set(e,n),e.v=t;var r=Xe.ensure();if(r.capture(e,n),(e.f&W)!==0){const s=e;(e.f&J)!==0&&Xn(s),Jn(s)}e.wv=ni(),zr(e,J),N!==null&&(N.f&V)!==0&&(N.f&(De|mt))===0&&(_e===null?Ps([e]):_e.push(e)),!r.is_fork&&qn.size>0&&!qr&&gs()}return t}function gs(){qr=!1;for(const e of qn)(e.f&V)!==0&&q(e,Ce),en(e)&&Nt(e);qn.clear()}function Kt(e){g(e,e.v+1)}function zr(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,s=0;s<r;s++){var i=n[s],a=i.f,l=(a&J)===0;if(l&&q(i,t),(a&W)!==0){var o=i;Y==null||Y.delete(o),(a&ht)===0&&(a&me&&(i.f|=ht),zr(o,Ce))}else l&&((a&Fe)!==0&&ke!==null&&ke.add(i),Se(i))}}function Ye(e){if(typeof e!="object"||e===null||Ht in e)return e;const t=Ci(e);if(t!==Si&&t!==xi)return e;var n=new Map,r=Yn(e),s=O(0),i=vt,a=l=>{if(vt===i)return l();var o=D,f=vt;be(null),_r(i);var h=l();return be(o),_r(f),h};return r&&n.set("length",O(e.length)),new Proxy(e,{defineProperty(l,o,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&Li();var h=n.get(o);return h===void 0?a(()=>{var _=O(f.value);return n.set(o,_),_}):g(h,f.value,!0),!0},deleteProperty(l,o){var f=n.get(o);if(f===void 0){if(o in l){const h=a(()=>O(U));n.set(o,h),Kt(s)}}else g(f,U),Kt(s);return!0},get(l,o,f){var w;if(o===Ht)return e;var h=n.get(o),_=o in l;if(h===void 0&&(!_||(w=Bt(l,o))!=null&&w.writable)&&(h=a(()=>{var c=Ye(_?l[o]:U),m=O(c);return m}),n.set(o,h)),h!==void 0){var p=v(h);return p===U?void 0:p}return Reflect.get(l,o,f)},getOwnPropertyDescriptor(l,o){var f=Reflect.getOwnPropertyDescriptor(l,o);if(f&&"value"in f){var h=n.get(o);h&&(f.value=v(h))}else if(f===void 0){var _=n.get(o),p=_==null?void 0:_.v;if(_!==void 0&&p!==U)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return f},has(l,o){var p;if(o===Ht)return!0;var f=n.get(o),h=f!==void 0&&f.v!==U||Reflect.has(l,o);if(f!==void 0||N!==null&&(!h||(p=Bt(l,o))!=null&&p.writable)){f===void 0&&(f=a(()=>{var w=h?Ye(l[o]):U,c=O(w);return c}),n.set(o,f));var _=v(f);if(_===U)return!1}return h},set(l,o,f,h){var j;var _=n.get(o),p=o in l;if(r&&o==="length")for(var w=f;w<_.v;w+=1){var c=n.get(w+"");c!==void 0?g(c,U):w in l&&(c=a(()=>O(U)),n.set(w+"",c))}if(_===void 0)(!p||(j=Bt(l,o))!=null&&j.writable)&&(_=a(()=>O(void 0)),g(_,Ye(f)),n.set(o,_));else{p=_.v!==U;var m=a(()=>Ye(f));g(_,m)}var d=Reflect.getOwnPropertyDescriptor(l,o);if(d!=null&&d.set&&d.set.call(h,f),!p){if(r&&typeof o=="string"){var y=n.get("length"),k=Number(o);Number.isInteger(k)&&k>=y.v&&g(y,k+1)}Kt(s)}return!0},ownKeys(l){v(s);var o=Reflect.ownKeys(l).filter(_=>{var p=n.get(_);return p===void 0||p.v!==U});for(var[f,h]of n)h.v!==U&&!(f in l)&&o.push(f);return o},setPrototypeOf(){Fi()}})}function vr(e){try{if(e!==null&&typeof e=="object"&&Ht in e)return e[Ht]}catch{}return e}function ms(e,t){return Object.is(vr(e),vr(t))}var dn,Br,Hr,Vr;function ys(){if(dn===void 0){dn=window,Br=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Hr=Bt(t,"firstChild").get,Vr=Bt(t,"nextSibling").get,fr(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),fr(n)&&(n.__t=void 0)}}function Qe(e=""){return document.createTextNode(e)}function hn(e){return Hr.call(e)}function $t(e){return Vr.call(e)}function T(e,t){return hn(e)}function Yt(e,t=!1){{var n=hn(e);return n instanceof Comment&&n.data===""?$t(n):n}}function C(e,t=1,n=!1){let r=e;for(;t--;)r=$t(r);return r}function ws(e){e.textContent=""}function Kr(){return!1}function bs(e,t,n){return document.createElementNS(Yi,e,void 0)}function Ur(e,t){{const n=document.body;e.autofocus=!0,Ge(()=>{document.activeElement===n&&e.focus()})}}let dr=!1;function ks(){dr||(dr=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function bn(e){var t=D,n=N;be(null),Ne(null);try{return e()}finally{be(t),Ne(n)}}function Yr(e,t,n,r=n){e.addEventListener(t,()=>bn(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ks()}function Es(e){N===null&&(D===null&&Mi(),Ri()),gt&&Ni()}function Ts(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function qe(e,t,n){var r=N;r!==null&&(r.f&ve)!==0&&(e|=ve);var s={ctx:we,deps:null,nodes:null,f:e|J|me,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{Nt(s)}catch(l){throw le(s),l}else t!==null&&Se(s);var i=s;if(n&&i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Mt)===0&&(i=i.first,(e&Fe)!==0&&(e&Pt)!==0&&i!==null&&(i.f|=Pt)),i!==null&&(i.parent=r,r!==null&&Ts(i,r),D!==null&&(D.f&W)!==0&&(e&mt)===0)){var a=D;(a.effects??(a.effects=[])).push(i)}return s}function Zn(){return D!==null&&!xe}function Qn(e){const t=qe(yn,null,!1);return q(t,V),t.teardown=e,t}function _n(e){Es();var t=N.f,n=!D&&(t&De)!==0&&(t&dt)===0;if(n){var r=we;(r.e??(r.e=[])).push(e)}else return Wr(e)}function Wr(e){return qe(Qt|Pi,e,!1)}function Ss(e){Xe.ensure();const t=qe(mt|Mt,e,!0);return(n={})=>new Promise(r=>{n.outro?ct(t,()=>{le(t),r(void 0)}):(le(t),r(void 0))})}function xs(e){return qe(Qt,e,!1)}function Cs(e){return qe(Wn|Mt,e,!0)}function Jr(e,t=0){return qe(yn|t,e,!0)}function ae(e,t=[],n=[],r=[]){os(r,t,n,s=>{qe(yn,()=>e(...s.map(v)),!0)})}function $n(e,t=0){var n=qe(Fe|t,e,!0);return n}function ge(e){return qe(De|Mt,e,!0)}function Gr(e){var t=e.teardown;if(t!==null){const n=gt,r=D;hr(!0),be(null);try{t.call(null)}finally{hr(n),be(r)}}}function er(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&bn(()=>{s.abort(nt)});var r=n.next;(n.f&mt)!==0?n.parent=null:le(n,t),n=r}}function Ds(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&De)===0&&le(t),t=n}}function le(e,t=!0){var n=!1;(t||(e.f&Tr)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(As(e.nodes.start,e.nodes.end),n=!0),er(e,t&&!n),Wt(e,0),q(e,We);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Gr(e);var s=e.parent;s!==null&&s.first!==null&&Xr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function As(e,t){for(;e!==null;){var n=e===t?null:$t(e);e.remove(),e=n}}function Xr(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 ct(e,t,n=!0){var r=[];Zr(e,r,!0);var s=()=>{n&&le(e),t&&t()},i=r.length;if(i>0){var a=()=>--i||s();for(var l of r)l.out(a)}else s()}function Zr(e,t,n){if((e.f&ve)===0){e.f^=ve;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next,a=(s.f&Pt)!==0||(s.f&De)!==0&&(e.f&Fe)!==0;Zr(s,t,a?n:!1),s=i}}}function tr(e){Qr(e,!0)}function Qr(e,t){if((e.f&ve)!==0){e.f^=ve,(e.f&V)===0&&(q(e,J),Se(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Pt)!==0||(n.f&De)!==0;Qr(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&a.in()}}function $r(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:$t(n);t.append(n),n=s}}let un=!1,gt=!1;function hr(e){gt=e}let D=null,xe=!1;function be(e){D=e}let N=null;function Ne(e){N=e}let ye=null;function ei(e){D!==null&&(ye===null?ye=[e]:ye.push(e))}let se=null,fe=0,_e=null;function Ps(e){_e=e}let ti=1,it=0,vt=it;function _r(e){vt=e}function ni(){return++ti}function en(e){var t=e.f;if((t&J)!==0)return!0;if(t&W&&(e.f&=~ht),(t&Ce)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(en(i)&&Lr(i),i.wv>e.wv)return!0}(t&me)!==0&&Y===null&&q(e,V)}return!1}function ri(e,t,n=!0){var r=e.reactions;if(r!==null&&!(ye!==null&&At.call(ye,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&W)!==0?ri(i,t,!1):t===i&&(n?q(i,J):(i.f&V)!==0&&q(i,Ce),Se(i))}}function ii(e){var m;var t=se,n=fe,r=_e,s=D,i=ye,a=we,l=xe,o=vt,f=e.f;se=null,fe=0,_e=null,D=(f&(De|mt))===0?e:null,ye=null,jt(e.ctx),xe=!1,vt=++it,e.ac!==null&&(bn(()=>{e.ac.abort(nt)}),e.ac=null);try{e.f|=jn;var h=e.fn,_=h();e.f|=dt;var p=e.deps,w=S==null?void 0:S.is_fork;if(se!==null){var c;if(w||Wt(e,fe),p!==null&&fe>0)for(p.length=fe+se.length,c=0;c<se.length;c++)p[fe+c]=se[c];else e.deps=p=se;if(Zn()&&(e.f&me)!==0)for(c=fe;c<p.length;c++)((m=p[c]).reactions??(m.reactions=[])).push(e)}else!w&&p!==null&&fe<p.length&&(Wt(e,fe),p.length=fe);if(Cr()&&_e!==null&&!xe&&p!==null&&(e.f&(W|Ce|J))===0)for(c=0;c<_e.length;c++)ri(_e[c],e);if(s!==null&&s!==e){if(it++,s.deps!==null)for(let d=0;d<n;d+=1)s.deps[d].rv=it;if(t!==null)for(const d of t)d.rv=it;_e!==null&&(r===null?r=_e:r.push(..._e))}return(e.f&Je)!==0&&(e.f^=Je),_}catch(d){return Ar(d)}finally{e.f^=jn,se=t,fe=n,_e=r,D=s,ye=i,jt(a),xe=l,vt=o}}function js(e,t){let n=t.reactions;if(n!==null){var r=Ei.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&W)!==0&&(se===null||!At.call(se,t))){var i=t;(i.f&me)!==0&&(i.f^=me,i.f&=~ht),Jn(i),_s(i),Wt(i,0)}}function Wt(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)js(e,n[r])}function Nt(e){var t=e.f;if((t&We)===0){q(e,V);var n=N,r=un;N=e,un=!0;try{(t&(Fe|Er))!==0?Ds(e):er(e),Gr(e);var s=ii(e);e.teardown=typeof s=="function"?s:null,e.wv=ti;var i;An&&Xi&&(e.f&J)!==0&&e.deps}finally{un=r,N=n}}}async function Os(){await Promise.resolve(),$i()}function v(e){var t=e.f,n=(t&W)!==0;if(D!==null&&!xe){var r=N!==null&&(N.f&We)!==0;if(!r&&(ye===null||!At.call(ye,e))){var s=D.deps;if((D.f&jn)!==0)e.rv<it&&(e.rv=it,se===null&&s!==null&&s[fe]===e?fe++:se===null?se=[e]:se.push(e));else{(D.deps??(D.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[D]:At.call(i,D)||i.push(D)}}}if(gt&&Ze.has(e))return Ze.get(e);if(n){var a=e;if(gt){var l=a.v;return((a.f&V)===0&&a.reactions!==null||ai(a))&&(l=Xn(a)),Ze.set(a,l),l}var o=(a.f&me)===0&&!xe&&D!==null&&(un||(D.f&me)!==0),f=(a.f&dt)===0;en(a)&&(o&&(a.f|=me),Lr(a)),o&&!f&&(Fr(a),si(a))}if(Y!=null&&Y.has(e))return Y.get(e);if((e.f&Je)!==0)throw e.v;return e.v}function si(e){if(e.f|=me,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&W)!==0&&(t.f&me)===0&&(Fr(t),si(t))}function ai(e){if(e.v===U)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Ze.has(t)||(t.f&W)!==0&&ai(t))return!0;return!1}function li(e){var t=xe;try{return xe=!0,e()}finally{xe=t}}const Ns=["touchstart","touchmove"];function Rs(e){return Ns.includes(e)}const st=Symbol("events"),oi=new Set,zn=new Set;function Ms(e,t,n,r={}){function s(i){if(r.capture||Bn.call(t,i),!i.cancelBubble)return bn(()=>n==null?void 0:n.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Ge(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Le(e,t,n,r,s){var i={capture:r,passive:s},a=Ms(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Qn(()=>{t.removeEventListener(e,a,i)})}function oe(e,t,n){(t[st]??(t[st]={}))[e]=n}function It(e){for(var t=0;t<e.length;t++)oi.add(e[t]);for(var n of zn)n(e)}let pr=null;function Bn(e){var d,y;var t=this,n=t.ownerDocument,r=e.type,s=((d=e.composedPath)==null?void 0:d.call(e))||[],i=s[0]||e.target;pr=e;var a=0,l=pr===e&&e[st];if(l){var o=s.indexOf(l);if(o!==-1&&(t===document||t===window)){e[st]=t;return}var f=s.indexOf(t);if(f===-1)return;o<=f&&(a=o)}if(i=s[a]||e.target,i!==t){Ti(e,"currentTarget",{configurable:!0,get(){return i||n}});var h=D,_=N;be(null),Ne(null);try{for(var p,w=[];i!==null;){var c=i.assignedSlot||i.parentNode||i.host||null;try{var m=(y=i[st])==null?void 0:y[r];m!=null&&(!i.disabled||e.target===i)&&m.call(i,e)}catch(k){p?w.push(k):p=k}if(e.cancelBubble||c===t||c===null)break;i=c}if(p){for(let k of w)queueMicrotask(()=>{throw k});throw p}}finally{e[st]=t,delete e.currentTarget,be(h),Ne(_)}}}var wr;const xn=((wr=globalThis==null?void 0:globalThis.window)==null?void 0:wr.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Is(e){return(xn==null?void 0:xn.createHTML(e))??e}function Ls(e){var t=bs("template");return t.innerHTML=Is(e.replaceAll("<!>","<!---->")),t.content}function Hn(e,t){var n=N;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function I(e,t){var n=(t&Ki)!==0,r=(t&Ui)!==0,s,i=!e.startsWith("<!>");return()=>{s===void 0&&(s=Ls(i?e:"<!>"+e),n||(s=hn(s)));var a=r||Br?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=hn(a),o=a.lastChild;Hn(l,o)}else Hn(a,a);return a}}function nr(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Qe();return e.append(t,n),Hn(t,n),e}function R(e,t){e!==null&&e.before(t)}function z(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n+"")}function Fs(e,t){return qs(e,t)}const ln=new Map;function qs(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:a=!0,transformError:l}){ys();var o=void 0,f=Ss(()=>{var h=n??t.appendChild(Qe());rs(h,{pending:()=>{}},w=>{$e({});var c=we;i&&(c.c=i),s&&(r.$$events=s),o=e(w,r)||{},et()},l);var _=new Set,p=w=>{for(var c=0;c<w.length;c++){var m=w[c];if(!_.has(m)){_.add(m);var d=Rs(m);for(const j of[t,document]){var y=ln.get(j);y===void 0&&(y=new Map,ln.set(j,y));var k=y.get(m);k===void 0?(j.addEventListener(m,Bn,{passive:d}),y.set(m,1)):y.set(m,k+1)}}}};return p(mn(oi)),zn.add(p),()=>{var d;for(var w of _)for(const y of[t,document]){var c=ln.get(y),m=c.get(w);--m==0?(y.removeEventListener(w,Bn),c.delete(w),c.size===0&&ln.delete(y)):c.set(w,m)}zn.delete(p),h!==n&&((d=h.parentNode)==null||d.removeChild(h))}});return zs.set(o,f),o}let zs=new WeakMap;var Te,Oe,ce,ut,Xt,Zt,gn;class Bs{constructor(t,n=!0){Ae(this,"anchor");A(this,Te,new Map);A(this,Oe,new Map);A(this,ce,new Map);A(this,ut,new Set);A(this,Xt,!0);A(this,Zt,()=>{var t=S;if(u(this,Te).has(t)){var n=u(this,Te).get(t),r=u(this,Oe).get(n);if(r)tr(r),u(this,ut).delete(n);else{var s=u(this,ce).get(n);s&&(u(this,Oe).set(n,s.effect),u(this,ce).delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,a]of u(this,Te)){if(u(this,Te).delete(i),i===t)break;const l=u(this,ce).get(a);l&&(le(l.effect),u(this,ce).delete(a))}for(const[i,a]of u(this,Oe)){if(i===n||u(this,ut).has(i))continue;const l=()=>{if(Array.from(u(this,Te).values()).includes(i)){var f=document.createDocumentFragment();$r(a,f),f.append(Qe()),u(this,ce).set(i,{effect:a,fragment:f})}else le(a);u(this,ut).delete(i),u(this,Oe).delete(i)};u(this,Xt)||!r?(u(this,ut).add(i),ct(a,l,!1)):l()}}});A(this,gn,t=>{u(this,Te).delete(t);const n=Array.from(u(this,Te).values());for(const[r,s]of u(this,ce))n.includes(r)||(le(s.effect),u(this,ce).delete(r))});this.anchor=t,x(this,Xt,n)}ensure(t,n){var r=S,s=Kr();if(n&&!u(this,Oe).has(t)&&!u(this,ce).has(t))if(s){var i=document.createDocumentFragment(),a=Qe();i.append(a),u(this,ce).set(t,{effect:ge(()=>n(a)),fragment:i})}else u(this,Oe).set(t,ge(()=>n(this.anchor)));if(u(this,Te).set(r,t),s){for(const[l,o]of u(this,Oe))l===t?r.unskip_effect(o):r.skip_effect(o);for(const[l,o]of u(this,ce))l===t?r.unskip_effect(o.effect):r.skip_effect(o.effect);r.oncommit(u(this,Zt)),r.ondiscard(u(this,gn))}else u(this,Zt).call(this)}}Te=new WeakMap,Oe=new WeakMap,ce=new WeakMap,ut=new WeakMap,Xt=new WeakMap,Zt=new WeakMap,gn=new WeakMap;function $(e,t,n=!1){var r=new Bs(e),s=n?Pt:0;function i(a,l){r.ensure(a,l)}$n(()=>{var a=!1;t((l,o=0)=>{a=!0,i(o,l)}),a||i(!1,null)},s)}function rr(e,t){return t}function Hs(e,t,n){for(var r=[],s=t.length,i,a=t.length,l=0;l<s;l++){let _=t[l];ct(_,()=>{if(i){if(i.pending.delete(_),i.done.add(_),i.pending.size===0){var p=e.outrogroups;Vn(mn(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var o=r.length===0&&n!==null;if(o){var f=n,h=f.parentNode;ws(h),h.append(f),e.items.clear()}Vn(t,!o)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function Vn(e,t=!0){for(var n=0;n<e.length;n++)le(e[n],t)}var gr;function Rt(e,t,n,r,s,i=null){var a=e,l=new Map;{var o=e;a=o.appendChild(Qe())}var f=null,h=vs(()=>{var d=n();return Yn(d)?d:d==null?[]:mn(d)}),_,p=!0;function w(){m.fallback=f,Vs(m,_,a,t,r),f!==null&&(_.length===0?(f.f&Ke)===0?tr(f):(f.f^=Ke,zt(f,null,a)):ct(f,()=>{f=null}))}var c=$n(()=>{_=v(h);for(var d=_.length,y=new Set,k=S,j=Kr(),E=0;E<d;E+=1){var M=_[E],Z=r(M,E),K=p?null:l.get(Z);K?(K.v&&Ot(K.v,M),K.i&&Ot(K.i,E),j&&k.unskip_effect(K.e)):(K=Ks(l,p?a:gr??(gr=Qe()),M,Z,E,s,t,n),p||(K.e.f|=Ke),l.set(Z,K)),y.add(Z)}if(d===0&&i&&!f&&(p?f=ge(()=>i(a)):(f=ge(()=>i(gr??(gr=Qe()))),f.f|=Ke)),d>y.size&&Oi(),!p)if(j){for(const[he,Q]of l)y.has(he)||k.skip_effect(Q.e);k.oncommit(w),k.ondiscard(()=>{})}else w();v(h)}),m={effect:c,items:l,outrogroups:null,fallback:f};p=!1}function qt(e){for(;e!==null&&(e.f&De)===0;)e=e.next;return e}function Vs(e,t,n,r,s){var he;var i=t.length,a=e.items,l=qt(e.effect.first),o,f=null,h=[],_=[],p,w,c,m;for(m=0;m<i;m+=1){if(p=t[m],w=s(p,m),c=a.get(w).e,e.outrogroups!==null)for(const Q of e.outrogroups)Q.pending.delete(c),Q.done.delete(c);if((c.f&Ke)!==0)if(c.f^=Ke,c===l)zt(c,null,n);else{var d=f?f.next:l;c===e.effect.last&&(e.effect.last=c.prev),c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),ze(e,f,c),ze(e,c,d),zt(c,d,n),f=c,h=[],_=[],l=qt(f.next);continue}if((c.f&ve)!==0&&tr(c),c!==l){if(o!==void 0&&o.has(c)){if(h.length<_.length){var y=_[0],k;f=y.prev;var j=h[0],E=h[h.length-1];for(k=0;k<h.length;k+=1)zt(h[k],y,n);for(k=0;k<_.length;k+=1)o.delete(_[k]);ze(e,j.prev,E.next),ze(e,f,j),ze(e,E,y),l=y,f=E,m-=1,h=[],_=[]}else o.delete(c),zt(c,l,n),ze(e,c.prev,c.next),ze(e,c,f===null?e.effect.first:f.next),ze(e,f,c),f=c;continue}for(h=[],_=[];l!==null&&l!==c;)(o??(o=new Set)).add(l),_.push(l),l=qt(l.next);if(l===null)continue}(c.f&Ke)===0&&h.push(c),f=c,l=qt(c.next)}if(e.outrogroups!==null){for(const Q of e.outrogroups)Q.pending.size===0&&(Vn(mn(Q.done)),(he=e.outrogroups)==null||he.delete(Q));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||o!==void 0){var M=[];if(o!==void 0)for(c of o)(c.f&ve)===0&&M.push(c);for(;l!==null;)(l.f&ve)===0&&l!==e.fallback&&M.push(l),l=qt(l.next);var Z=M.length;if(Z>0){var K=i===0?n:null;Hs(e,M,K)}}}function Ks(e,t,n,r,s,i,a,l){var o=(a&Bi)!==0?(a&Vi)===0?ps(n,!1,!1):pt(n):null,f=(a&Hi)!==0?pt(s):null;return{v:o,i:f,e:ge(()=>(i(t,o??n,f??s,l),()=>{e.delete(r)}))}}function zt(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&(t.f&Ke)===0?t.nodes.start:n;r!==null;){var a=$t(r);if(i.before(r),r===s)return;r=a}}function ze(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const mr=[...`
2
- \r\f \v\uFEFF`];function Us(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,a=0;(a=r.indexOf(s,a))>=0;){var l=a+i;(a===0||mr.includes(r[a-1]))&&(l===r.length||mr.includes(r[l]))?r=(a===0?"":r.substring(0,a))+r.substring(l+1):a=l}}return r===""?null:r}function Kn(e,t,n,r,s,i){var a=e.__className;if(a!==n||a===void 0){var l=Us(n,r,i);l==null?e.removeAttribute("class"):e.className=l,e.__className=n}else if(i&&s!==i)for(var o in i){var f=!!i[o];(s==null||f!==!!s[o])&&e.classList.toggle(o,f)}return i}function ir(e,t,n=!1){if(e.multiple){if(t==null)return;if(!Yn(t))return Wi();for(var r of e.options)r.selected=t.includes(Ut(r));return}for(r of e.options){var s=Ut(r);if(ms(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function fi(e){var t=new MutationObserver(()=>{ir(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qn(()=>{t.disconnect()})}function yr(e,t,n=t){var r=new WeakSet,s=!0;Yr(e,"change",i=>{var a=i?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(a),Ut);else{var o=e.querySelector(a)??e.querySelector("option:not([disabled])");l=o&&Ut(o)}n(l),S!==null&&r.add(S)}),xs(()=>{var i=t();if(e===document.activeElement){var a=vn??S;if(r.has(a))return}if(ir(e,i,s),s&&i===void 0){var l=e.querySelector(":checked");l!==null&&(i=Ut(l),n(i))}e.__value=i,s=!1}),fi(e)}function Ut(e){return"__value"in e?e.__value:e.value}function cn(e,t,n=t){var r=new WeakSet;Yr(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Cn(e)?Dn(i):i,n(i),S!==null&&r.add(S),await Os(),i!==(i=t())){var a=e.selectionStart,l=e.selectionEnd,o=e.value.length;if(e.value=i??"",l!==null){var f=e.value.length;a===l&&l===o&&f>o?(e.selectionStart=f,e.selectionEnd=f):(e.selectionStart=a,e.selectionEnd=Math.min(l,f))}}}),li(t)==null&&e.value&&(n(Cn(e)?Dn(e.value):e.value),S!==null&&r.add(S)),Jr(()=>{var s=t();if(e===document.activeElement){var i=vn??S;if(r.has(i))return}Cn(e)&&s===Dn(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function Cn(e){var t=e.type;return t==="number"||t==="range"}function Dn(e){return e===""?null:+e}function ui(e,t,n,r){var s=r,i=!0,a=()=>(i&&(i=!1,s=r),s),l;l=e[t],l===void 0&&r!==void 0&&(l=a());var o;return o=()=>{var f=e[t];return f===void 0?a():(i=!0,f)},o}const Ys="5";var br;typeof window<"u"&&((br=window.__svelte??(window.__svelte={})).v??(br.v=new Set)).add(Ys);async function Be(e,t){const n=await fetch(`/api${e}`,{headers:{"Content-Type":"application/json"},...t});if(!n.ok){const r=await n.json().catch(()=>({error:n.statusText}));throw new Error(r.error||"Request failed")}return n.json()}const He={getProjects:()=>Be("/projects"),getProject:e=>Be(`/projects/${e}`),updateProject:(e,t)=>Be(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>Be(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>Be(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>Be(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>Be(`/tasks/${e}`,{method:"DELETE"}),getDecisions:e=>Be(`/projects/${e}/decisions`)};var Ws=I('<option class="svelte-1kanzy0"> </option>'),Js=I('<input class="rename-input svelte-1kanzy0" type="text"/>'),Gs=I('<button class="rename-btn svelte-1kanzy0" title="Rename project">&#9998;</button>'),Xs=I('<header class="toolbar svelte-1kanzy0"><div class="brand svelte-1kanzy0">mindpm</div> <div class="project-area svelte-1kanzy0"><select class="svelte-1kanzy0"></select> <!></div></header>');function Zs(e,t){$e(t,!0);let n=O(!1),r=O("");const s=_t(()=>t.projects.find(c=>c.id===t.selectedId));function i(){v(s)&&(g(r,v(s).name,!0),g(n,!0))}function a(){if(!v(s)||!v(n))return;const c=v(r).trim();c&&c!==v(s).name&&t.onRenamed(v(s).id,c),g(n,!1)}function l(c){c.key==="Enter"&&a(),c.key==="Escape"&&g(n,!1)}var o=Xs(),f=C(T(o),2),h=T(f);Rt(h,21,()=>t.projects,rr,(c,m)=>{var d=Ws(),y=T(d),k={};ae(()=>{z(y,v(m).name),k!==(k=v(m).id)&&(d.value=(d.__value=v(m).id)??"")}),R(c,d)});var _;fi(h);var p=C(h,2);{var w=c=>{var m=nr(),d=Yt(m);{var y=j=>{var E=Js();Ur(E),Le("blur",E,a),oe("keydown",E,l),cn(E,()=>v(r),M=>g(r,M)),R(j,E)},k=j=>{var E=Gs();oe("click",E,i),R(j,E)};$(d,j=>{v(n)?j(y):j(k,!1)})}R(c,m)};$(p,c=>{v(s)&&c(w)})}ae(()=>{_!==(_=t.selectedId??"")&&(h.value=(h.__value=t.selectedId??"")??"",ir(h,t.selectedId??""))}),oe("change",h,c=>t.onSelect(c.target.value)),R(e,o),et()}It(["change","keydown","click"]);const Qs=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],$s=["critical","high","medium","low"];var ea=I('<div class="card-desc svelte-35ep21"> </div>'),ta=I('<span class="tag svelte-35ep21"> </span>'),na=I('<div class="card-tags svelte-35ep21"></div>'),ra=I('<div draggable="true" role="button" tabindex="0"><div class="card-header svelte-35ep21"><span> </span> <button class="delete-btn svelte-35ep21" title="Delete task">&times;</button></div> <div class="card-title svelte-35ep21"> </div> <!> <!></div>');function ia(e,t){$e(t,!0);let n=O(!1);function r(E){if(!E)return[];try{return JSON.parse(E)}catch{return[]}}const s=_t(()=>r(t.task.tags)),i=_t(()=>`priority-${t.task.priority}`);function a(E){g(n,!0),t.onDragStart(E,t.task)}function l(){g(n,!1)}var o=ra();let f;var h=T(o),_=T(h),p=T(_),w=C(_,2),c=C(h,2),m=T(c),d=C(c,2);{var y=E=>{var M=ea(),Z=T(M);ae(()=>z(Z,t.task.description)),R(E,M)};$(d,E=>{t.task.description&&E(y)})}var k=C(d,2);{var j=E=>{var M=na();Rt(M,21,()=>v(s),rr,(Z,K)=>{var he=ta(),Q=T(he);ae(()=>z(Q,v(K))),R(Z,he)}),R(E,M)};$(k,E=>{v(s).length>0&&E(j)})}ae(()=>{f=Kn(o,1,"card svelte-35ep21",null,f,{dragging:v(n)}),Kn(_,1,`priority-badge ${v(i)??""}`,"svelte-35ep21"),z(p,t.task.priority),z(m,t.task.title)}),Le("dragstart",o,a),Le("dragend",o,l),oe("click",o,()=>t.onEdit(t.task)),oe("keydown",o,E=>{E.key==="Enter"&&t.onEdit(t.task)}),oe("click",w,E=>{E.stopPropagation(),t.onDelete(t.task)}),R(e,o),et()}It(["click","keydown"]);var sa=I('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),aa=I('<div role="list"><div class="column-header svelte-zswfgn"><h3 class="svelte-zswfgn"> <span class="count svelte-zswfgn"> </span></h3> <!></div> <div class="card-list svelte-zswfgn"></div></div>');function la(e,t){$e(t,!0);let n=O(!1);function r(d){d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),g(n,!0)}function s(){g(n,!1)}function i(d){d.preventDefault(),g(n,!1),t.onDrop(t.status)}var a=aa();let l;var o=T(a),f=T(o),h=T(f),_=C(h),p=T(_),w=C(f,2);{var c=d=>{var y=sa();oe("click",y,()=>t.onAddTask(t.status)),R(d,y)};$(w,d=>{t.status==="todo"&&d(c)})}var m=C(o,2);Rt(m,21,()=>t.tasks,d=>d.id,(d,y)=>{ia(d,{get task(){return v(y)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}),ae(()=>{l=Kn(a,1,"column svelte-zswfgn",null,l,{"drag-over":v(n)}),z(h,`${t.label??""} `),z(p,t.tasks.length)}),Le("dragover",a,r),Le("dragleave",a,s),Le("drop",a,i),R(e,a),et()}It(["click"]);var oa=I("<option> </option>"),fa=I('<div class="field svelte-1gmf2hi"><label for="status" class="svelte-1gmf2hi">Status</label> <select id="status" class="svelte-1gmf2hi"><option>Todo</option><option>In Progress</option><option>Blocked</option><option>Done</option><option>Cancelled</option></select></div>'),ua=I('<div class="decision-reasoning svelte-1gmf2hi"> </div>'),ca=I('<div class="decision-alts svelte-1gmf2hi"> </div>'),va=I('<div class="decision-item svelte-1gmf2hi"><div class="decision-title svelte-1gmf2hi"> </div> <div class="decision-body svelte-1gmf2hi"> </div> <!> <!></div>'),da=I('<div class="decisions-section svelte-1gmf2hi"><h3 class="decisions-heading svelte-1gmf2hi">Decisions</h3> <div class="decisions-list svelte-1gmf2hi"></div></div>'),ha=I('<div class="modal-backdrop svelte-1gmf2hi"><div class="modal svelte-1gmf2hi"><div class="modal-header svelte-1gmf2hi"><h2 class="svelte-1gmf2hi"> </h2> <button class="close-btn svelte-1gmf2hi">&times;</button></div> <form><div class="field svelte-1gmf2hi"><label for="title" class="svelte-1gmf2hi">Title</label> <input id="title" type="text" placeholder="Task title" required="" class="svelte-1gmf2hi"/></div> <div class="field svelte-1gmf2hi"><label for="description" class="svelte-1gmf2hi">Description</label> <textarea id="description" placeholder="Optional description" rows="3" class="svelte-1gmf2hi"></textarea></div> <div class="row svelte-1gmf2hi"><div class="field svelte-1gmf2hi"><label for="priority" class="svelte-1gmf2hi">Priority</label> <select id="priority" class="svelte-1gmf2hi"></select></div> <!></div> <div class="field svelte-1gmf2hi"><label for="tags" class="svelte-1gmf2hi">Tags <span class="hint svelte-1gmf2hi">(comma-separated)</span></label> <input id="tags" type="text" placeholder="e.g. backend, auth, bug" class="svelte-1gmf2hi"/></div> <div class="actions svelte-1gmf2hi"><button type="button" class="btn-cancel svelte-1gmf2hi">Cancel</button> <button type="submit" class="btn-save svelte-1gmf2hi"> </button></div></form> <!></div></div>');function _a(e,t){$e(t,!0);let n=ui(t,"defaultStatus",3,"todo"),r=O(""),s=O(""),i=O("medium"),a=O("todo"),l=O(""),o=O(Ye([]));_n(()=>{var P,F,te,ne,X;if(g(r,((P=t.task)==null?void 0:P.title)??"",!0),g(s,((F=t.task)==null?void 0:F.description)??"",!0),g(i,((te=t.task)==null?void 0:te.priority)??"medium",!0),g(a,((ne=t.task)==null?void 0:ne.status)??n(),!0),(X=t.task)!=null&&X.tags)try{g(l,JSON.parse(t.task.tags).join(", "),!0)}catch{g(l,"")}else g(l,"")}),_n(()=>{t.task!==null?He.getDecisions(t.projectId).then(P=>{g(o,P,!0)}).catch(()=>{g(o,[],!0)}):g(o,[],!0)});const f=_t(()=>t.task!==null);function h(P){P.preventDefault();const F=v(r).trim();if(!F)return;const te=v(l).split(",").map(ne=>ne.trim()).filter(Boolean);t.onSave({title:F,description:v(s).trim(),priority:v(i),...v(f)?{status:v(a)}:{},tags:te})}function _(P){P.target.classList.contains("modal-backdrop")&&t.onClose()}function p(P){P.key==="Escape"&&t.onClose()}var w=ha();Le("keydown",dn,p);var c=T(w),m=T(c),d=T(m),y=T(d),k=C(d,2),j=C(m,2),E=T(j),M=C(T(E),2);Ur(M);var Z=C(E,2),K=C(T(Z),2),he=C(Z,2),Q=T(he),Lt=C(T(Q),2);Rt(Lt,21,()=>$s,rr,(P,F)=>{var te=oa(),ne=T(te),X={};ae(()=>{z(ne,v(F)),X!==(X=v(F))&&(te.value=(te.__value=v(F))??"")}),R(P,te)});var kn=C(Q,2);{var En=P=>{var F=fa(),te=C(T(F),2),ne=T(te);ne.value=ne.__value="todo";var X=C(ne);X.value=X.__value="in_progress";var yt=C(X);yt.value=yt.__value="blocked";var wt=C(yt);wt.value=wt.__value="done";var nn=C(wt);nn.value=nn.__value="cancelled",yr(te,()=>v(a),rn=>g(a,rn)),R(P,F)};$(kn,P=>{v(f)&&P(En)})}var tn=C(he,2),b=C(T(tn),2),L=C(tn,2),ee=T(L),G=C(ee,2),Ft=T(G),ci=C(j,2);{var vi=P=>{var F=da(),te=C(T(F),2);Rt(te,21,()=>v(o),ne=>ne.id,(ne,X)=>{var yt=va(),wt=T(yt),nn=T(wt),rn=C(wt,2),di=T(rn),ar=C(rn,2);{var hi=tt=>{var bt=ua(),sn=T(bt);ae(()=>z(sn,v(X).reasoning)),R(tt,bt)};$(ar,tt=>{v(X).reasoning&&tt(hi)})}var _i=C(ar,2);{var pi=tt=>{const bt=_t(()=>(()=>{try{return JSON.parse(v(X).alternatives)}catch{return null}})());var sn=nr(),gi=Yt(sn);{var mi=Tn=>{var lr=ca(),yi=T(lr);ae(wi=>z(yi,`Alternatives: ${wi??""}`),[()=>v(bt).join(", ")]),R(Tn,lr)};$(gi,Tn=>{v(bt)&&v(bt).length>0&&Tn(mi)})}R(tt,sn)};$(_i,tt=>{v(X).alternatives&&tt(pi)})}ae(()=>{z(nn,v(X).title),z(di,v(X).decision)}),R(ne,yt)}),R(P,F)};$(ci,P=>{v(f)&&v(o).length>0&&P(vi)})}ae(()=>{z(y,v(f)?"Edit Task":"New Task"),z(Ft,v(f)?"Save":"Create")}),oe("click",w,_),oe("click",k,function(...P){var F;(F=t.onClose)==null||F.apply(this,P)}),Le("submit",j,h),cn(M,()=>v(r),P=>g(r,P)),cn(K,()=>v(s),P=>g(s,P)),yr(Lt,()=>v(i),P=>g(i,P)),cn(b,()=>v(l),P=>g(l,P)),oe("click",ee,function(...P){var F;(F=t.onClose)==null||F.apply(this,P)}),R(e,w),et()}It(["click"]);var pa=I('<div class="modal-backdrop svelte-1efofyg"><div class="dialog svelte-1efofyg"><h3 class="svelte-1efofyg"> </h3> <p class="svelte-1efofyg"> </p> <div class="actions svelte-1efofyg"><button class="btn-cancel svelte-1efofyg">Cancel</button> <button class="btn-confirm svelte-1efofyg"> </button></div></div></div>');function ga(e,t){$e(t,!0);let n=ui(t,"confirmLabel",3,"Delete");function r(m){m.target.classList.contains("modal-backdrop")&&t.onCancel()}function s(m){m.key==="Escape"&&t.onCancel()}var i=pa();Le("keydown",dn,s);var a=T(i),l=T(a),o=T(l),f=C(l,2),h=T(f),_=C(f,2),p=T(_),w=C(p,2),c=T(w);ae(()=>{z(o,t.title),z(h,t.message),z(c,n())}),oe("click",i,r),oe("click",p,function(...m){var d;(d=t.onCancel)==null||d.apply(this,m)}),oe("click",w,function(...m){var d;(d=t.onConfirm)==null||d.apply(this,m)}),R(e,i),et()}It(["click"]);var ma=I('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),ya=I('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),wa=I('<div class="board svelte-x7v2jt"></div>'),ba=I('<div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function ka(e,t){$e(t,!0);let n=O(Ye([])),r=O(!0),s=O(null),i=O(!1),a=O(null),l=O("todo"),o=O(!1),f=O(null),h=O(null);const _=_t(()=>Qs.map(b=>({...b,tasks:v(n).filter(L=>L.status===b.status)})));async function p(){g(r,!0),g(s,null);try{g(n,await He.getTasks(t.project.id),!0)}catch(b){g(s,b.message,!0)}finally{g(r,!1)}}_n(()=>{t.project.id,p()});function w(b,L){g(h,L,!0),b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",L.id))}async function c(b){if(!v(h)||v(h).status===b){g(h,null);return}const L=v(h),ee=L.status;g(h,null);const G=v(n).findIndex(Ft=>Ft.id===L.id);G!==-1&&(v(n)[G]={...v(n)[G],status:b});try{await He.updateTask(L.id,{status:b})}catch(Ft){G!==-1&&(v(n)[G]={...v(n)[G],status:ee}),g(s,Ft.message,!0)}}function m(b){g(a,null),g(l,b,!0),g(i,!0)}function d(b){g(a,b,!0),g(i,!0)}async function y(b){try{if(v(a)){const L=await He.updateTask(v(a).id,{title:b.title,description:b.description||null,priority:b.priority,status:b.status,tags:b.tags.length>0?b.tags:null}),ee=v(n).findIndex(G=>G.id===v(a).id);ee!==-1&&(v(n)[ee]=L)}else{const L=await He.createTask(t.project.id,{title:b.title,description:b.description||void 0,priority:b.priority,tags:b.tags.length>0?b.tags:void 0});g(n,[L,...v(n)],!0)}g(i,!1),g(a,null)}catch(L){g(s,L.message,!0)}}function k(b){g(f,b,!0),g(o,!0)}async function j(){if(v(f))try{await He.deleteTask(v(f).id),g(n,v(n).filter(b=>b.id!==v(f).id&&b.parent_task_id!==v(f).id),!0),g(o,!1),g(f,null)}catch(b){g(s,b.message,!0)}}var E=ba(),M=Yt(E),Z=T(M);{var K=b=>{var L=ma();R(b,L)},he=b=>{var L=ya(),ee=T(L),G=C(ee);ae(()=>z(ee,`${v(s)??""} `)),oe("click",G,()=>{g(s,null),p()}),R(b,L)},Q=b=>{var L=wa();Rt(L,21,()=>v(_),ee=>ee.status,(ee,G)=>{la(ee,{get status(){return v(G).status},get label(){return v(G).label},get tasks(){return v(G).tasks},onEdit:d,onDelete:k,onDragStart:w,onDrop:c,onAddTask:m})}),R(b,L)};$(Z,b=>{v(r)?b(K):v(s)?b(he,1):b(Q,!1)})}var Lt=C(M,2);{var kn=b=>{_a(b,{get task(){return v(a)},get projectId(){return t.project.id},get defaultStatus(){return v(l)},onSave:y,onClose:()=>{g(i,!1),g(a,null)}})};$(Lt,b=>{v(i)&&b(kn)})}var En=C(Lt,2);{var tn=b=>{ga(b,{title:"Delete Task",get message(){return`Are you sure you want to delete "${v(f).title??""}"? This cannot be undone.`},onConfirm:j,onCancel:()=>{g(o,!1),g(f,null)}})};$(En,b=>{v(o)&&v(f)&&b(tn)})}R(e,E),et()}It(["click"]);var Ea=I('<div class="loading svelte-1n46o8q">Loading projects...</div>'),Ta=I('<div class="error svelte-1n46o8q"> </div>'),Sa=I('<div class="empty svelte-1n46o8q"><h2 class="svelte-1n46o8q">No projects yet</h2> <p class="svelte-1n46o8q">Create a project using mindpm MCP tools to get started.</p></div>'),xa=I("<!> <!>",1);function Ca(e,t){$e(t,!0);let n=O(Ye([])),r=O(null),s=O(!0),i=O(null);const a=_t(()=>v(n).find(d=>d.id===v(r))??null);async function l(){try{if(g(n,await He.getProjects(),!0),v(n).length>0&&!v(r)){const d=new URLSearchParams(window.location.search).get("project"),y=d?v(n).find(k=>k.id===d||k.name===d):null;g(r,y?y.id:v(n)[0].id,!0)}}catch(d){g(i,d.message,!0)}finally{g(s,!1)}}function o(d){g(r,d,!0)}async function f(d,y){try{await He.updateProject(d,{name:y});const k=v(n).findIndex(j=>j.id===d);k!==-1&&(v(n)[k]={...v(n)[k],name:y})}catch(k){g(i,k.message,!0)}}_n(()=>{l()});var h=nr(),_=Yt(h);{var p=d=>{var y=Ea();R(d,y)},w=d=>{var y=Ta(),k=T(y);ae(()=>z(k,v(i))),R(d,y)},c=d=>{var y=Sa();R(d,y)},m=d=>{var y=xa(),k=Yt(y);Zs(k,{get projects(){return v(n)},get selectedId(){return v(r)},onSelect:o,onRenamed:f});var j=C(k,2);{var E=M=>{ka(M,{get project(){return v(a)}})};$(j,M=>{v(a)&&M(E)})}R(d,y)};$(_,d=>{v(s)?d(p):v(i)?d(w,1):v(n).length===0?d(c,2):d(m,!1)})}R(e,h),et()}Fs(Ca,{target:document.getElementById("app")});