mindpm 1.2.15 → 1.2.19
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
|
@@ -62,9 +62,22 @@ function createSchema(db2) {
|
|
|
62
62
|
completed_at DATETIME
|
|
63
63
|
);
|
|
64
64
|
|
|
65
|
+
CREATE TABLE IF NOT EXISTS task_history (
|
|
66
|
+
id TEXT PRIMARY KEY,
|
|
67
|
+
task_id TEXT NOT NULL REFERENCES tasks(id),
|
|
68
|
+
event TEXT NOT NULL,
|
|
69
|
+
old_value TEXT,
|
|
70
|
+
new_value TEXT,
|
|
71
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_task_history_task_id ON task_history(task_id);
|
|
75
|
+
CREATE INDEX IF NOT EXISTS idx_task_history_created_at ON task_history(created_at);
|
|
76
|
+
|
|
65
77
|
CREATE TABLE IF NOT EXISTS decisions (
|
|
66
78
|
id TEXT PRIMARY KEY,
|
|
67
79
|
project_id TEXT NOT NULL REFERENCES projects(id),
|
|
80
|
+
task_id TEXT REFERENCES tasks(id),
|
|
68
81
|
title TEXT NOT NULL,
|
|
69
82
|
decision TEXT NOT NULL,
|
|
70
83
|
reasoning TEXT,
|
|
@@ -181,6 +194,21 @@ function runMigrations(db2) {
|
|
|
181
194
|
});
|
|
182
195
|
}
|
|
183
196
|
}
|
|
197
|
+
const decisionCols = db2.pragma("table_info(decisions)").map((c) => c.name);
|
|
198
|
+
if (!decisionCols.includes("task_id")) {
|
|
199
|
+
db2.exec("ALTER TABLE decisions ADD COLUMN task_id TEXT REFERENCES tasks(id)");
|
|
200
|
+
}
|
|
201
|
+
const historyCount = db2.prepare("SELECT COUNT(*) as n FROM task_history").get().n;
|
|
202
|
+
if (historyCount === 0) {
|
|
203
|
+
const tasks = db2.prepare("SELECT id, status, priority, created_at FROM tasks").all();
|
|
204
|
+
const insert = db2.prepare("INSERT INTO task_history (id, task_id, event, new_value, created_at) VALUES (?, ?, ?, ?, ?)");
|
|
205
|
+
const insertMany = db2.transaction(() => {
|
|
206
|
+
for (const t of tasks) {
|
|
207
|
+
insert.run(generateId(), t.id, "created", JSON.stringify({ status: t.status, priority: t.priority }), t.created_at);
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
insertMany();
|
|
211
|
+
}
|
|
184
212
|
}
|
|
185
213
|
|
|
186
214
|
// src/db/connection.ts
|
|
@@ -243,6 +271,12 @@ function resolveProjectOrDefault(projectRef) {
|
|
|
243
271
|
}
|
|
244
272
|
return getMostRecentProject();
|
|
245
273
|
}
|
|
274
|
+
function recordTaskHistory(taskId, event, oldValue, newValue) {
|
|
275
|
+
const db2 = getDb();
|
|
276
|
+
db2.prepare(
|
|
277
|
+
"INSERT INTO task_history (id, task_id, event, old_value, new_value) VALUES (?, ?, ?, ?, ?)"
|
|
278
|
+
).run(generateId(), taskId, event, oldValue, newValue);
|
|
279
|
+
}
|
|
246
280
|
|
|
247
281
|
// src/tools/projects.ts
|
|
248
282
|
function registerProjectTools(server2) {
|
|
@@ -563,6 +597,7 @@ function registerDecisionTools(server2) {
|
|
|
563
597
|
description: "Record a decision with reasoning and alternatives considered. Proactively use this when the user makes a technical decision, chooses between options, or settles a debate.",
|
|
564
598
|
inputSchema: {
|
|
565
599
|
project: z3.string().optional().describe("Project name or ID"),
|
|
600
|
+
task_id: z3.string().optional().describe("Task ID to associate this decision with (omit for project-level)"),
|
|
566
601
|
title: z3.string().describe("Short title for the decision"),
|
|
567
602
|
decision: z3.string().describe("What was decided"),
|
|
568
603
|
reasoning: z3.string().optional().describe("Why this was decided"),
|
|
@@ -570,7 +605,7 @@ function registerDecisionTools(server2) {
|
|
|
570
605
|
tags: z3.array(z3.string()).optional().describe('Tags like "architecture", "database", "api"')
|
|
571
606
|
}
|
|
572
607
|
},
|
|
573
|
-
async ({ project, title, decision, reasoning, alternatives, tags }) => {
|
|
608
|
+
async ({ project, task_id, title, decision, reasoning, alternatives, tags }) => {
|
|
574
609
|
const resolved = resolveProjectOrDefault(project);
|
|
575
610
|
if (!resolved) {
|
|
576
611
|
return { content: [{ type: "text", text: project ? `Project "${project}" not found.` : "No active projects found. Create a project first." }], isError: true };
|
|
@@ -578,20 +613,22 @@ function registerDecisionTools(server2) {
|
|
|
578
613
|
const db2 = getDb();
|
|
579
614
|
const id = generateId();
|
|
580
615
|
db2.prepare(
|
|
581
|
-
`INSERT INTO decisions (id, project_id, title, decision, reasoning, alternatives, tags) VALUES (?, ?, ?, ?, ?, ?, ?)`
|
|
616
|
+
`INSERT INTO decisions (id, project_id, task_id, title, decision, reasoning, alternatives, tags) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
|
|
582
617
|
).run(
|
|
583
618
|
id,
|
|
584
619
|
resolved.id,
|
|
620
|
+
task_id ?? null,
|
|
585
621
|
title,
|
|
586
622
|
decision,
|
|
587
623
|
reasoning ?? null,
|
|
588
624
|
alternatives ? JSON.stringify(alternatives) : null,
|
|
589
625
|
tags ? JSON.stringify(tags) : null
|
|
590
626
|
);
|
|
627
|
+
const scope = task_id ? `task ${task_id} in ${resolved.name}` : resolved.name;
|
|
591
628
|
return {
|
|
592
629
|
content: [{
|
|
593
630
|
type: "text",
|
|
594
|
-
text: JSON.stringify({ decision_id: id, message: `Decision logged: "${title}" in ${
|
|
631
|
+
text: JSON.stringify({ decision_id: id, message: `Decision logged: "${title}" in ${scope}` })
|
|
595
632
|
}]
|
|
596
633
|
};
|
|
597
634
|
}
|
|
@@ -882,6 +919,7 @@ var createTask = async (req, res, params) => {
|
|
|
882
919
|
body.parent_task_id ?? null
|
|
883
920
|
);
|
|
884
921
|
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);
|
|
922
|
+
recordTaskHistory(id, "created", null, JSON.stringify({ status: priority === "medium" ? "todo" : priority, priority }));
|
|
885
923
|
sendJson(res, 201, task);
|
|
886
924
|
};
|
|
887
925
|
var updateTask = async (req, res, params) => {
|
|
@@ -932,6 +970,15 @@ var updateTask = async (req, res, params) => {
|
|
|
932
970
|
}
|
|
933
971
|
sqlParams.push(params.id);
|
|
934
972
|
db2.prepare(`UPDATE tasks SET ${updates.join(", ")} WHERE id = ?`).run(...sqlParams);
|
|
973
|
+
if (body.status !== void 0 && body.status !== existing.status) {
|
|
974
|
+
recordTaskHistory(params.id, "status_changed", existing.status, body.status);
|
|
975
|
+
}
|
|
976
|
+
if (body.priority !== void 0 && body.priority !== existing.priority) {
|
|
977
|
+
recordTaskHistory(params.id, "priority_changed", existing.priority, body.priority);
|
|
978
|
+
}
|
|
979
|
+
if (body.title !== void 0 && body.title !== existing.title) {
|
|
980
|
+
recordTaskHistory(params.id, "title_changed", existing.title, body.title);
|
|
981
|
+
}
|
|
935
982
|
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);
|
|
936
983
|
sendJson(res, 200, updated);
|
|
937
984
|
};
|
|
@@ -954,6 +1001,13 @@ var deleteTask = async (_req, res, params) => {
|
|
|
954
1001
|
deleteTransaction(params.id);
|
|
955
1002
|
sendJson(res, 200, { message: "Task deleted" });
|
|
956
1003
|
};
|
|
1004
|
+
var getTaskHistory = async (_req, res, params) => {
|
|
1005
|
+
const db2 = getDb();
|
|
1006
|
+
const rows = db2.prepare(
|
|
1007
|
+
"SELECT * FROM task_history WHERE task_id = ? ORDER BY created_at ASC"
|
|
1008
|
+
).all(params.id);
|
|
1009
|
+
sendJson(res, 200, rows);
|
|
1010
|
+
};
|
|
957
1011
|
var listDecisions = async (_req, res, params) => {
|
|
958
1012
|
const db2 = getDb();
|
|
959
1013
|
const rows = db2.prepare("SELECT * FROM decisions WHERE project_id = ? ORDER BY created_at DESC").all(params.pid);
|
|
@@ -967,7 +1021,8 @@ var routes = [
|
|
|
967
1021
|
{ method: "GET", pattern: "/api/projects/:pid/tasks", handler: listTasks },
|
|
968
1022
|
{ method: "POST", pattern: "/api/projects/:pid/tasks", handler: createTask },
|
|
969
1023
|
{ method: "PATCH", pattern: "/api/tasks/:id", handler: updateTask },
|
|
970
|
-
{ method: "DELETE", pattern: "/api/tasks/:id", handler: deleteTask }
|
|
1024
|
+
{ method: "DELETE", pattern: "/api/tasks/:id", handler: deleteTask },
|
|
1025
|
+
{ method: "GET", pattern: "/api/tasks/:id/history", handler: getTaskHistory }
|
|
971
1026
|
];
|
|
972
1027
|
async function handleApiRequest(req, res) {
|
|
973
1028
|
const url = new URL(req.url || "/", "http://localhost");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.toolbar.svelte-1kanzy0{display:flex;align-items:center;padding:7px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;min-height:37px}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}.project-name.svelte-1kanzy0{font-size:.82rem;font-weight:700;color:var(--text)}.project-slug.svelte-1kanzy0{font-size:.7rem;color:var(--text-muted)}.rename-btn.svelte-1kanzy0{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:1px 6px;font-size:.8rem;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)}.sidebar.svelte-rig7vt{width:200px;min-width:200px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s,min-width .2s;overflow:hidden}.sidebar.collapsed.svelte-rig7vt{width:44px;min-width:44px}.sidebar-header.svelte-rig7vt{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 12px;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.brand.svelte-rig7vt{font-size:.85rem;font-weight:700;color:var(--primary);white-space:nowrap;overflow:hidden}.prompt.svelte-rig7vt{color:var(--text-dim)}.collapse-btn.svelte-rig7vt{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.7rem;padding:2px 6px;flex-shrink:0;line-height:1.4}.collapse-btn.svelte-rig7vt:hover{border-color:var(--primary);color:var(--primary)}.project-list.svelte-rig7vt{flex:1;overflow-y:auto;padding:6px 0}.project-item.svelte-rig7vt{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px 6px 12px;background:none;border:none;border-left:2px solid transparent;color:var(--text-dim);font-size:.75rem;text-align:left;cursor:pointer;transition:background .1s,color .1s,border-color .1s;white-space:nowrap;overflow:hidden}.project-item.svelte-rig7vt:hover{background:var(--surface-2);color:var(--text)}.project-item.active.svelte-rig7vt{border-left-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.status-dot.svelte-rig7vt{width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-name.svelte-rig7vt{flex:1;overflow:hidden;text-overflow:ellipsis}.task-count.svelte-rig7vt{font-size:.62rem;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:2px;padding:0 4px;flex-shrink:0;line-height:1.6}.project-item.active.svelte-rig7vt .task-count:where(.svelte-rig7vt){border-color:var(--primary);color:var(--primary);background:none}.task-count-collapsed.svelte-rig7vt{font-size:.55rem;color:var(--primary);line-height:1}.sidebar-footer.svelte-rig7vt{padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0}.footer-hint.svelte-rig7vt{font-size:.62rem;color:var(--text-muted)}.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}.card-footer.svelte-35ep21{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.badge.svelte-35ep21{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:2px;border:1px solid}.badge-blocked.svelte-35ep21{color:var(--priority-critical);border-color:var(--priority-critical);background:color-mix(in srgb,var(--priority-critical) 10%,transparent)}.badge-subtasks.svelte-35ep21{color:var(--text-muted);border-color:var(--border-bright);background:none}.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,width .2s,min-width .2s;flex-shrink:0}.column.collapsed.svelte-zswfgn{width:40px;min-width:40px}.column.drag-over.svelte-zswfgn{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-dim)}.column.wip-warning.svelte-zswfgn{border-color:var(--priority-high)}.column-collapsed.svelte-zswfgn{display:flex;flex-direction:column;align-items:center;padding:8px 0 12px;gap:10px;flex:1;overflow:hidden}.expand-btn.svelte-zswfgn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.65rem;padding:2px 5px;line-height:1.4}.expand-btn.svelte-zswfgn:hover{border-color:var(--primary);color:var(--primary)}.collapsed-label.svelte-zswfgn{display:flex;flex-direction:column;align-items:center;gap:6px;writing-mode:vertical-rl;transform:rotate(180deg);flex:1;justify-content:center}.collapsed-count.svelte-zswfgn{font-size:.6rem;color:var(--text-muted);font-weight:700}.collapsed-count.wip.svelte-zswfgn{color:var(--priority-high)}.collapsed-text.svelte-zswfgn{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);white-space:nowrap}.column-header.svelte-zswfgn{padding:8px 8px 8px 10px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border);gap:6px}.column-header.svelte-zswfgn h3:where(.svelte-zswfgn){font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);white-space:nowrap;overflow:hidden}.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}.count.wip.svelte-zswfgn{color:var(--priority-high);font-weight:700}.header-actions.svelte-zswfgn{display:flex;align-items:center;gap:4px;flex-shrink:0}.add-btn.svelte-zswfgn,.collapse-btn.svelte-zswfgn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);width:22px;height:22px;font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;line-height:1}.add-btn.svelte-zswfgn:hover,.collapse-btn.svelte-zswfgn:hover{border-color:var(--primary);color:var(--primary)}.wip-banner.svelte-zswfgn{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--priority-high);background:color-mix(in srgb,var(--priority-high) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--priority-high) 25%,transparent);padding:3px 10px;flex-shrink:0}.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)}.history-section.svelte-1gmf2hi{margin-top:18px;border-top:1px solid var(--border);padding-top:14px}.history-heading.svelte-1gmf2hi{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.history-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:0;max-height:180px;overflow-y:auto}.history-item.svelte-1gmf2hi{display:flex;align-items:flex-start;gap:10px;padding:4px 0;position:relative}.history-item.svelte-1gmf2hi:not(:last-child):before{content:"";position:absolute;left:4px;top:14px;bottom:-4px;width:1px;background:var(--border)}.history-dot.svelte-1gmf2hi{width:9px;height:9px;border-radius:50%;background:var(--border-bright);border:1px solid var(--surface);flex-shrink:0;margin-top:3px}.history-item.svelte-1gmf2hi:first-child .history-dot:where(.svelte-1gmf2hi){background:var(--primary)}.history-body.svelte-1gmf2hi{display:flex;flex-direction:column;gap:1px;flex:1}.history-event.svelte-1gmf2hi{font-size:.72rem;color:var(--text-dim);line-height:1.4}.history-event.svelte-1gmf2hi b{color:var(--text);font-weight:600}.history-time.svelte-1gmf2hi{font-size:.62rem;color:var(--text-muted)}.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-heading.spaced.svelte-1gmf2hi{margin-top:12px}.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)}.filter-bar.svelte-dhotvj{display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.filter-search.svelte-dhotvj{position:relative;display:flex;align-items:center}.search-icon.svelte-dhotvj{position:absolute;left:8px;color:var(--primary);font-weight:700;font-size:.85rem;pointer-events:none}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj){background:var(--bg);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text);padding:4px 26px 4px 22px;width:180px;font-size:.75rem}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj)::placeholder{color:var(--text-muted)}.clear-input.svelte-dhotvj{position:absolute;right:6px;background:none;border:none;color:var(--text-muted);font-size:.9rem;line-height:1;padding:0}.clear-input.svelte-dhotvj:hover{color:var(--text)}.filter-section.svelte-dhotvj{display:flex;align-items:center;gap:6px}.filter-label.svelte-dhotvj{font-size:.65rem;color:var(--text-muted);white-space:nowrap}.chip-group.svelte-dhotvj{display:flex;gap:4px;flex-wrap:wrap}.chip.svelte-dhotvj{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-muted);transition:border-color .1s,color .1s,background .1s}.chip.svelte-dhotvj:hover{border-color:var(--chip-color, var(--text-dim));color:var(--chip-color, var(--text))}.chip.active.svelte-dhotvj{border-color:var(--chip-color, var(--primary));color:var(--chip-color, var(--primary));background:color-mix(in srgb,var(--chip-color, var(--primary)) 12%,transparent)}.tag-dropdown-wrapper.svelte-dhotvj{position:relative}.dropdown-trigger.svelte-dhotvj{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-muted);transition:border-color .1s,color .1s;letter-spacing:.5px}.dropdown-trigger.svelte-dhotvj:hover{border-color:var(--primary);color:var(--primary)}.dropdown-trigger.active.svelte-dhotvj{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.tag-dropdown.svelte-dhotvj{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);min-width:140px;z-index:50;overflow:hidden}.tag-option.svelte-dhotvj{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-dim);font-size:.72rem;text-align:left;transition:background .1s,color .1s}.tag-option.svelte-dhotvj:hover{background:var(--surface-2);color:var(--text)}.tag-option.selected.svelte-dhotvj{color:var(--primary)}.tag-checkbox.svelte-dhotvj{font-size:.65rem;color:var(--primary);width:10px;text-align:center;flex-shrink:0}.tag-option.svelte-dhotvj:not(.selected) .tag-checkbox:where(.svelte-dhotvj){color:var(--border-bright)}.tag-name.svelte-dhotvj{flex:1}.tag-clear.svelte-dhotvj{display:block;width:100%;padding:5px 10px;background:none;border:none;border-top:1px solid var(--border);color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;transition:background .1s}.tag-clear.svelte-dhotvj:hover{background:var(--surface-2)}.clear-all.svelte-dhotvj{background:none;border:none;color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 0;margin-left:auto}.clear-all.svelte-dhotvj:hover{color:var(--danger-hover)}.shortcuts-hint.svelte-dhotvj{display:flex;gap:10px;margin-left:auto}.shortcuts-hint.svelte-dhotvj span:where(.svelte-dhotvj){font-size:.6rem;color:var(--text-muted);display:flex;align-items:center;gap:3px}kbd.svelte-dhotvj{font-family:var(--font-mono);font-size:.58rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;overflow-y:hidden;padding:12px;min-height:0}.board.svelte-x7v2jt{display:flex;gap:10px;align-items:flex-start;height:100%}.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)}.palette-backdrop.svelte-1bm0yy4{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:300}.palette.svelte-1bm0yy4{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);width:480px;max-width:95vw;overflow:hidden}.palette-input-row.svelte-1bm0yy4{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.palette-prompt.svelte-1bm0yy4{color:var(--primary);font-weight:700;font-size:.9rem;flex-shrink:0}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4){flex:1;background:none;border:none;color:var(--text);font-size:.85rem;outline:none}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4)::placeholder{color:var(--text-muted)}.palette-list.svelte-1bm0yy4{max-height:260px;overflow-y:auto}.palette-item.svelte-1bm0yy4{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;cursor:pointer;gap:12px}.palette-item.active.svelte-1bm0yy4{background:var(--surface-2);border-left:2px solid var(--primary);padding-left:12px}.item-label.svelte-1bm0yy4{font-size:.8rem;color:var(--text)}.item-hint.svelte-1bm0yy4{font-size:.68rem;color:var(--text-muted);white-space:nowrap}.palette-empty.svelte-1bm0yy4{padding:16px 14px;font-size:.75rem;color:var(--text-muted)}.palette-footer.svelte-1bm0yy4{display:flex;gap:16px;padding:6px 14px;border-top:1px solid var(--border);background:var(--bg)}.palette-footer.svelte-1bm0yy4 span:where(.svelte-1bm0yy4){font-size:.62rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}kbd.svelte-1bm0yy4{font-family:var(--font-mono);font-size:.6rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.app-layout.svelte-1n46o8q{display:flex;flex:1;overflow:hidden;min-height:0}.main.svelte-1n46o8q{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.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{height:100vh;display:flex;flex-direction:column;overflow:hidden}::-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}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var Gs=Object.defineProperty;var xr=e=>{throw TypeError(e)};var Js=(e,t,n)=>t in e?Gs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var et=(e,t,n)=>Js(e,typeof t!="symbol"?t+"":t,n),Gn=(e,t,n)=>t.has(e)||xr("Cannot "+n);var d=(e,t,n)=>(Gn(e,t,"read from private field"),n?n.call(e):t.get(e)),V=(e,t,n)=>t.has(e)?xr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),B=(e,t,n,r)=>(Gn(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),ce=(e,t,n)=>(Gn(e,t,"access private method"),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();const Qn=!1;var vr=Array.isArray,Ys=Array.prototype.indexOf,rn=Array.prototype.includes,Fn=Array.from,Ws=Object.defineProperty,Wt=Object.getOwnPropertyDescriptor,Qs=Object.getOwnPropertyDescriptors,Xs=Object.prototype,Zs=Array.prototype,Vr=Object.getPrototypeOf,Cr=Object.isExtensible;const Gr=()=>{};function $s(e){for(var t=0;t<e.length;t++)e[t]()}function Jr(){var e,t,n=new Promise((r,a)=>{e=r,t=a});return{promise:n,resolve:e,reject:t}}const _e=2,xn=4,qn=8,Yr=1<<24,gt=16,We=32,Jt=64,Xn=128,Le=512,ve=1024,ge=2048,Ye=4096,Pe=8192,ht=16384,Ht=32768,sn=65536,jr=1<<17,Wr=1<<18,fn=1<<19,ea=1<<20,dt=1<<25,Ut=65536,Zn=1<<21,dr=1<<22,Tt=1<<23,Ft=Symbol("$state"),ta=Symbol("legacy props"),At=new class extends Error{constructor(){super(...arguments);et(this,"name","StaleReactionError");et(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Kr;const na=!!((Kr=globalThis.document)!=null&&Kr.contentType)&&globalThis.document.contentType.includes("xml");function ra(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function sa(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function aa(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function ia(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function la(e){throw new Error("https://svelte.dev/e/effect_orphan")}function oa(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function fa(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function ua(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ca(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function va(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function da(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ha=1,_a=2,Qr=4,ga=8,pa=16,ma=1,ya=4,ba=8,wa=16,ka=1,Ea=2,de=Symbol(),Xr="http://www.w3.org/1999/xhtml",Ta="http://www.w3.org/2000/svg",Sa="http://www.w3.org/1998/Math/MathML";function xa(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Ca(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Zr(e){return e===this.v}function ja(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function $r(e){return!ja(e,this.v)}let Pa=!1,Fe=null;function an(e){Fe=e}function Qe(e,t=!1,n){Fe={p:Fe,i:!1,c:null,e:null,s:e,x:null,l:null}}function Xe(e){var t=Fe,n=t.e;if(n!==null){t.e=null;for(var r of n)ws(r)}return t.i=!0,Fe=t.p,{}}function es(){return!0}let Dt=[];function ts(){var e=Dt;Dt=[],$s(e)}function st(e){if(Dt.length===0&&!_n){var t=Dt;queueMicrotask(()=>{t===Dt&&ts()})}Dt.push(e)}function Aa(){for(;Dt.length>0;)ts()}function ns(e){var t=J;if(t===null)return K.f|=Tt,e;if((t.f&Ht)===0&&(t.f&xn)===0)throw e;Et(e,t)}function Et(e,t){for(;t!==null;){if((t.f&Xn)!==0){if((t.f&Ht)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Da=-7169;function se(e,t){e.f=e.f&Da|t}function hr(e){(e.f&Le)!==0||e.deps===null?se(e,ve):se(e,Ye)}function rs(e){if(e!==null)for(const t of e)(t.f&_e)===0||(t.f&Ut)===0||(t.f^=Ut,rs(t.deps))}function ss(e,t,n){(e.f&ge)!==0?t.add(e):(e.f&Ye)!==0&&n.add(e),rs(e.deps),se(e,ve)}const An=new Set;let R=null,Ln=null,he=null,we=[],Bn=null,$n=!1,_n=!1;var Qt,Xt,It,Zt,kn,En,Mt,ft,$t,Ae,er,tr,nr,as;const Er=class Er{constructor(){V(this,Ae);et(this,"current",new Map);et(this,"previous",new Map);V(this,Qt,new Set);V(this,Xt,new Set);V(this,It,0);V(this,Zt,0);V(this,kn,null);V(this,En,new Set);V(this,Mt,new Set);V(this,ft,new Map);et(this,"is_fork",!1);V(this,$t,!1)}skip_effect(t){d(this,ft).has(t)||d(this,ft).set(t,{d:[],m:[]})}unskip_effect(t){var n=d(this,ft).get(t);if(n){d(this,ft).delete(t);for(var r of n.d)se(r,ge),Ge(r);for(r of n.m)se(r,Ye),Ge(r)}}process(t){var a;we=[],this.apply();var n=[],r=[];for(const s of t)ce(this,Ae,tr).call(this,s,n,r);if(ce(this,Ae,er).call(this)){ce(this,Ae,nr).call(this,r),ce(this,Ae,nr).call(this,n);for(const[s,l]of d(this,ft))fs(s,l)}else{for(const s of d(this,Qt))s();d(this,Qt).clear(),d(this,It)===0&&ce(this,Ae,as).call(this),Ln=this,R=null,Pr(r),Pr(n),Ln=null,(a=d(this,kn))==null||a.resolve()}he=null}capture(t,n){n!==de&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&Tt)===0&&(this.current.set(t,t.v),he==null||he.set(t,t.v))}activate(){R=this,this.apply()}deactivate(){R===this&&(R=null,he=null)}flush(){if(this.activate(),we.length>0){if(is(),R!==null&&R!==this)return}else d(this,It)===0&&this.process([]);this.deactivate()}discard(){for(const t of d(this,Xt))t(this);d(this,Xt).clear()}increment(t){B(this,It,d(this,It)+1),t&&B(this,Zt,d(this,Zt)+1)}decrement(t){B(this,It,d(this,It)-1),t&&B(this,Zt,d(this,Zt)-1),!d(this,$t)&&(B(this,$t,!0),st(()=>{B(this,$t,!1),ce(this,Ae,er).call(this)?we.length>0&&this.flush():this.revive()}))}revive(){for(const t of d(this,En))d(this,Mt).delete(t),se(t,ge),Ge(t);for(const t of d(this,Mt))se(t,Ye),Ge(t);this.flush()}oncommit(t){d(this,Qt).add(t)}ondiscard(t){d(this,Xt).add(t)}settled(){return(d(this,kn)??B(this,kn,Jr())).promise}static ensure(){if(R===null){const t=R=new Er;An.add(R),_n||st(()=>{R===t&&t.flush()})}return R}apply(){}};Qt=new WeakMap,Xt=new WeakMap,It=new WeakMap,Zt=new WeakMap,kn=new WeakMap,En=new WeakMap,Mt=new WeakMap,ft=new WeakMap,$t=new WeakMap,Ae=new WeakSet,er=function(){return this.is_fork||d(this,Zt)>0},tr=function(t,n,r){t.f^=ve;for(var a=t.first;a!==null;){var s=a.f,l=(s&(We|Jt))!==0,f=l&&(s&ve)!==0,o=f||(s&Pe)!==0||d(this,ft).has(a);if(!o&&a.fn!==null){l?a.f^=ve:(s&xn)!==0?n.push(a):jn(a)&&((s>)!==0&&d(this,Mt).add(a),on(a));var u=a.first;if(u!==null){a=u;continue}}for(;a!==null;){var c=a.next;if(c!==null){a=c;break}a=a.parent}}},nr=function(t){for(var n=0;n<t.length;n+=1)ss(t[n],d(this,En),d(this,Mt))},as=function(){var a;if(An.size>1){this.previous.clear();var t=he,n=!0;for(const s of An){if(s===this){n=!1;continue}const l=[];for(const[o,u]of this.current){if(s.current.has(o))if(n&&u!==s.current.get(o))s.current.set(o,u);else continue;l.push(o)}if(l.length===0)continue;const f=[...s.current.keys()].filter(o=>!this.current.has(o));if(f.length>0){var r=we;we=[];const o=new Set,u=new Map;for(const c of l)ls(c,f,o,u);if(we.length>0){R=s,s.apply();for(const c of we)ce(a=s,Ae,tr).call(a,c,[],[]);s.deactivate()}we=r}}R=null,he=t}An.delete(this)};let St=Er;function Na(e){var t=_n;_n=!0;try{for(var n;;){if(Aa(),we.length===0&&(R==null||R.flush(),we.length===0))return Bn=null,n;is()}}finally{_n=t}}function is(){$n=!0;var e=null;try{for(var t=0;we.length>0;){var n=St.ensure();if(t++>1e3){var r,a;Oa()}n.process(we),xt.clear()}}finally{we=[],$n=!1,Bn=null}}function Oa(){try{oa()}catch(e){Et(e,Bn)}}let He=null;function Pr(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(ht|Pe))===0&&jn(r)&&(He=new Set,on(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Ss(r),(He==null?void 0:He.size)>0)){xt.clear();for(const a of He){if((a.f&(ht|Pe))!==0)continue;const s=[a];let l=a.parent;for(;l!==null;)He.has(l)&&(He.delete(l),s.push(l)),l=l.parent;for(let f=s.length-1;f>=0;f--){const o=s[f];(o.f&(ht|Pe))===0&&on(o)}}He.clear()}}He=null}}function ls(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const a of e.reactions){const s=a.f;(s&_e)!==0?ls(a,t,n,r):(s&(dr|gt))!==0&&(s&ge)===0&&os(a,t,r)&&(se(a,ge),Ge(a))}}function os(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const a of e.deps){if(rn.call(t,a))return!0;if((a.f&_e)!==0&&os(a,t,n))return n.set(a,!0),!0}return n.set(e,!1),!1}function Ge(e){var t=Bn=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(xn|qn|Yr))!==0&&(e.f&Ht)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if($n&&t===J&&(r>)!==0&&(r&Wr)===0&&(r&Ht)!==0)return;if((r&(Jt|We))!==0){if((r&ve)===0)return;t.f^=ve}}we.push(t)}function fs(e,t){if(!((e.f&We)!==0&&(e.f&ve)!==0)){(e.f&ge)!==0?t.d.push(e):(e.f&Ye)!==0&&t.m.push(e),se(e,ve);for(var n=e.first;n!==null;)fs(n,t),n=n.next}}function Ia(e){let t=0,n=Vt(0),r;return()=>{pr()&&(i(n),yr(()=>(t===0&&(r=Un(()=>e(()=>gn(n)))),t+=1,()=>{st(()=>{t-=1,t===0&&(r==null||r(),r=void 0,gn(n))})})))}}var Ma=sn|fn;function La(e,t,n,r){new Ra(e,t,n,r)}var Oe,cr,tt,Lt,be,nt,xe,Ue,ut,Rt,kt,en,tn,nn,ct,Rn,ue,za,Fa,qa,rr,On,In,sr;class Ra{constructor(t,n,r,a){V(this,ue);et(this,"parent");et(this,"is_pending",!1);et(this,"transform_error");V(this,Oe);V(this,cr,null);V(this,tt);V(this,Lt);V(this,be);V(this,nt,null);V(this,xe,null);V(this,Ue,null);V(this,ut,null);V(this,Rt,0);V(this,kt,0);V(this,en,!1);V(this,tn,new Set);V(this,nn,new Set);V(this,ct,null);V(this,Rn,Ia(()=>(B(this,ct,Vt(d(this,Rt))),()=>{B(this,ct,null)})));var s;B(this,Oe,t),B(this,tt,n),B(this,Lt,l=>{var f=J;f.b=this,f.f|=Xn,r(l)}),this.parent=J.b,this.transform_error=a??((s=this.parent)==null?void 0:s.transform_error)??(l=>l),B(this,be,br(()=>{ce(this,ue,rr).call(this)},Ma))}defer_effect(t){ss(t,d(this,tn),d(this,nn))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!d(this,tt).pending}update_pending_count(t){ce(this,ue,sr).call(this,t),B(this,Rt,d(this,Rt)+t),!(!d(this,ct)||d(this,en))&&(B(this,en,!0),st(()=>{B(this,en,!1),d(this,ct)&&ln(d(this,ct),d(this,Rt))}))}get_effect_pending(){return d(this,Rn).call(this),i(d(this,ct))}error(t){var n=d(this,tt).onerror;let r=d(this,tt).failed;if(!n&&!r)throw t;d(this,nt)&&(Ee(d(this,nt)),B(this,nt,null)),d(this,xe)&&(Ee(d(this,xe)),B(this,xe,null)),d(this,Ue)&&(Ee(d(this,Ue)),B(this,Ue,null));var a=!1,s=!1;const l=()=>{if(a){Ca();return}a=!0,s&&da(),d(this,Ue)!==null&&Bt(d(this,Ue),()=>{B(this,Ue,null)}),ce(this,ue,In).call(this,()=>{St.ensure(),ce(this,ue,rr).call(this)})},f=o=>{try{s=!0,n==null||n(o,l),s=!1}catch(u){Et(u,d(this,be)&&d(this,be).parent)}r&&B(this,Ue,ce(this,ue,In).call(this,()=>{St.ensure();try{return Ie(()=>{var u=J;u.b=this,u.f|=Xn,r(d(this,Oe),()=>o,()=>l)})}catch(u){return Et(u,d(this,be).parent),null}}))};st(()=>{var o;try{o=this.transform_error(t)}catch(u){Et(u,d(this,be)&&d(this,be).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(f,u=>Et(u,d(this,be)&&d(this,be).parent)):f(o)})}}Oe=new WeakMap,cr=new WeakMap,tt=new WeakMap,Lt=new WeakMap,be=new WeakMap,nt=new WeakMap,xe=new WeakMap,Ue=new WeakMap,ut=new WeakMap,Rt=new WeakMap,kt=new WeakMap,en=new WeakMap,tn=new WeakMap,nn=new WeakMap,ct=new WeakMap,Rn=new WeakMap,ue=new WeakSet,za=function(){try{B(this,nt,Ie(()=>d(this,Lt).call(this,d(this,Oe))))}catch(t){this.error(t)}},Fa=function(t){const n=d(this,tt).failed;n&&B(this,Ue,Ie(()=>{n(d(this,Oe),()=>t,()=>()=>{})}))},qa=function(){const t=d(this,tt).pending;t&&(this.is_pending=!0,B(this,xe,Ie(()=>t(d(this,Oe)))),st(()=>{var n=B(this,ut,document.createDocumentFragment()),r=_t();n.append(r),B(this,nt,ce(this,ue,In).call(this,()=>(St.ensure(),Ie(()=>d(this,Lt).call(this,r))))),d(this,kt)===0&&(d(this,Oe).before(n),B(this,ut,null),Bt(d(this,xe),()=>{B(this,xe,null)}),ce(this,ue,On).call(this))}))},rr=function(){try{if(this.is_pending=this.has_pending_snippet(),B(this,kt,0),B(this,Rt,0),B(this,nt,Ie(()=>{d(this,Lt).call(this,d(this,Oe))})),d(this,kt)>0){var t=B(this,ut,document.createDocumentFragment());js(d(this,nt),t);const n=d(this,tt).pending;B(this,xe,Ie(()=>n(d(this,Oe))))}else ce(this,ue,On).call(this)}catch(n){this.error(n)}},On=function(){this.is_pending=!1;for(const t of d(this,tn))se(t,ge),Ge(t);for(const t of d(this,nn))se(t,Ye),Ge(t);d(this,tn).clear(),d(this,nn).clear()},In=function(t){var n=J,r=K,a=Fe;at(d(this,be)),qe(d(this,be)),an(d(this,be).ctx);try{return t()}catch(s){return ns(s),null}finally{at(n),qe(r),an(a)}},sr=function(t){var n;if(!this.has_pending_snippet()){this.parent&&ce(n=this.parent,ue,sr).call(n,t);return}B(this,kt,d(this,kt)+t),d(this,kt)===0&&(ce(this,ue,On).call(this),d(this,xe)&&Bt(d(this,xe),()=>{B(this,xe,null)}),d(this,ut)&&(d(this,Oe).before(d(this,ut)),B(this,ut,null)))};function Ba(e,t,n,r){const a=Kn;var s=e.filter(h=>!h.settled);if(n.length===0&&s.length===0){r(t.map(a));return}var l=J,f=Ka(),o=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(h=>h.promise)):null;function u(h){f();try{r(h)}catch(g){(l.f&ht)===0&&Et(g,l)}ar()}if(n.length===0){o.then(()=>u(t.map(a)));return}function c(){f(),Promise.all(n.map(h=>Ua(h))).then(h=>u([...t.map(a),...h])).catch(h=>Et(h,l))}o?o.then(c):c()}function Ka(){var e=J,t=K,n=Fe,r=R;return function(s=!0){at(e),qe(t),an(n),s&&(r==null||r.activate())}}function ar(e=!0){at(null),qe(null),an(null),e&&(R==null||R.deactivate())}function Ha(){var e=J.b,t=R,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function Kn(e){var t=_e|ge,n=K!==null&&(K.f&_e)!==0?K:null;return J!==null&&(J.f|=fn),{ctx:Fe,deps:null,effects:null,equals:Zr,f:t,fn:e,reactions:null,rv:0,v:de,wv:0,parent:n??J,ac:null}}function Ua(e,t,n){J===null&&ra();var a=void 0,s=Vt(de),l=!K,f=new Map;return ri(()=>{var g;var o=Jr();a=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(ar)}catch(b){o.reject(b),ar()}var u=R;if(l){var c=Ha();(g=f.get(u))==null||g.reject(At),f.delete(u),f.set(u,o)}const h=(b,_=void 0)=>{if(u.activate(),_)_!==At&&(s.f|=Tt,ln(s,_));else{(s.f&Tt)!==0&&(s.f^=Tt),ln(s,b);for(const[T,v]of f){if(f.delete(T),T===u)break;v.reject(At)}}c&&c()};o.promise.then(h,b=>h(null,b||"unknown"))}),mr(()=>{for(const o of f.values())o.reject(At)}),new Promise(o=>{function u(c){function h(){c===a?o(s):u(a)}c.then(h,h)}u(a)})}function re(e){const t=Kn(e);return Ps(t),t}function us(e){const t=Kn(e);return t.equals=$r,t}function Va(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Ee(t[n])}}function Ga(e){for(var t=e.parent;t!==null;){if((t.f&_e)===0)return(t.f&ht)===0?t:null;t=t.parent}return null}function _r(e){var t,n=J;at(Ga(e));try{e.f&=~Ut,Va(e),t=Os(e)}finally{at(n)}return t}function cs(e){var t=_r(e);if(!e.equals(t)&&(e.wv=Ds(),(!(R!=null&&R.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){se(e,ve);return}Pt||(he!==null?(pr()||R!=null&&R.is_fork)&&he.set(e,t):hr(e))}function Ja(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(At),r.teardown=Gr,r.ac=null,yn(r,0),wr(r))}function vs(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&on(t)}let ir=new Set;const xt=new Map;let ds=!1;function Vt(e,t){var n={f:0,v:e,reactions:null,equals:Zr,rv:0,wv:0};return n}function I(e,t){const n=Vt(e);return Ps(n),n}function Ya(e,t=!1,n=!0){const r=Vt(e);return t||(r.equals=$r),r}function m(e,t,n=!1){K!==null&&(!Je||(K.f&jr)!==0)&&es()&&(K.f&(_e|gt|dr|jr))!==0&&(Re===null||!rn.call(Re,e))&&va();let r=n?je(t):t;return ln(e,r)}function ln(e,t){if(!e.equals(t)){var n=e.v;Pt?xt.set(e,t):xt.set(e,n),e.v=t;var r=St.ensure();if(r.capture(e,n),(e.f&_e)!==0){const a=e;(e.f&ge)!==0&&_r(a),hr(a)}e.wv=Ds(),hs(e,ge),J!==null&&(J.f&ve)!==0&&(J.f&(We|Jt))===0&&(Ne===null?ai([e]):Ne.push(e)),!r.is_fork&&ir.size>0&&!ds&&Wa()}return t}function Wa(){ds=!1;for(const e of ir)(e.f&ve)!==0&&se(e,Ye),jn(e)&&on(e);ir.clear()}function gn(e){m(e,e.v+1)}function hs(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,a=0;a<r;a++){var s=n[a],l=s.f,f=(l&ge)===0;if(f&&se(s,t),(l&_e)!==0){var o=s;he==null||he.delete(o),(l&Ut)===0&&(l&Le&&(s.f|=Ut),hs(o,Ye))}else f&&((l>)!==0&&He!==null&&He.add(s),Ge(s))}}function je(e){if(typeof e!="object"||e===null||Ft in e)return e;const t=Vr(e);if(t!==Xs&&t!==Zs)return e;var n=new Map,r=vr(e),a=I(0),s=Kt,l=f=>{if(Kt===s)return f();var o=K,u=Kt;qe(null),Or(s);var c=f();return qe(o),Or(u),c};return r&&n.set("length",I(e.length)),new Proxy(e,{defineProperty(f,o,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&ua();var c=n.get(o);return c===void 0?l(()=>{var h=I(u.value);return n.set(o,h),h}):m(c,u.value,!0),!0},deleteProperty(f,o){var u=n.get(o);if(u===void 0){if(o in f){const c=l(()=>I(de));n.set(o,c),gn(a)}}else m(u,de),gn(a);return!0},get(f,o,u){var b;if(o===Ft)return e;var c=n.get(o),h=o in f;if(c===void 0&&(!h||(b=Wt(f,o))!=null&&b.writable)&&(c=l(()=>{var _=je(h?f[o]:de),T=I(_);return T}),n.set(o,c)),c!==void 0){var g=i(c);return g===de?void 0:g}return Reflect.get(f,o,u)},getOwnPropertyDescriptor(f,o){var u=Reflect.getOwnPropertyDescriptor(f,o);if(u&&"value"in u){var c=n.get(o);c&&(u.value=i(c))}else if(u===void 0){var h=n.get(o),g=h==null?void 0:h.v;if(h!==void 0&&g!==de)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return u},has(f,o){var g;if(o===Ft)return!0;var u=n.get(o),c=u!==void 0&&u.v!==de||Reflect.has(f,o);if(u!==void 0||J!==null&&(!c||(g=Wt(f,o))!=null&&g.writable)){u===void 0&&(u=l(()=>{var b=c?je(f[o]):de,_=I(b);return _}),n.set(o,u));var h=i(u);if(h===de)return!1}return c},set(f,o,u,c){var P;var h=n.get(o),g=o in f;if(r&&o==="length")for(var b=u;b<h.v;b+=1){var _=n.get(b+"");_!==void 0?m(_,de):b in f&&(_=l(()=>I(de)),n.set(b+"",_))}if(h===void 0)(!g||(P=Wt(f,o))!=null&&P.writable)&&(h=l(()=>I(void 0)),m(h,je(u)),n.set(o,h));else{g=h.v!==de;var T=l(()=>je(u));m(h,T)}var v=Reflect.getOwnPropertyDescriptor(f,o);if(v!=null&&v.set&&v.set.call(c,u),!g){if(r&&typeof o=="string"){var w=n.get("length"),S=Number(o);Number.isInteger(S)&&S>=w.v&&m(w,S+1)}gn(a)}return!0},ownKeys(f){i(a);var o=Reflect.ownKeys(f).filter(h=>{var g=n.get(h);return g===void 0||g.v!==de});for(var[u,c]of n)c.v!==de&&!(u in f)&&o.push(u);return o},setPrototypeOf(){ca()}})}function Ar(e){try{if(e!==null&&typeof e=="object"&&Ft in e)return e[Ft]}catch{}return e}function Qa(e,t){return Object.is(Ar(e),Ar(t))}var jt,_s,gs,ps;function Xa(){if(jt===void 0){jt=window,_s=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;gs=Wt(t,"firstChild").get,ps=Wt(t,"nextSibling").get,Cr(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Cr(n)&&(n.__t=void 0)}}function _t(e=""){return document.createTextNode(e)}function qt(e){return gs.call(e)}function Cn(e){return ps.call(e)}function k(e,t){return qt(e)}function Ct(e,t=!1){{var n=qt(e);return n instanceof Comment&&n.data===""?Cn(n):n}}function E(e,t=1,n=!1){let r=e;for(;t--;)r=Cn(r);return r}function Za(e){e.textContent=""}function ms(){return!1}function ys(e,t,n){return document.createElementNS(t??Xr,e,void 0)}function gr(e,t){{const n=document.body;e.autofocus=!0,st(()=>{document.activeElement===n&&e.focus()})}}let Dr=!1;function $a(){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 Hn(e){var t=K,n=J;qe(null),at(null);try{return e()}finally{qe(t),at(n)}}function bs(e,t,n,r=n){e.addEventListener(t,()=>Hn(n));const a=e.__on_r;a?e.__on_r=()=>{a(),r(!0)}:e.__on_r=()=>r(!0),$a()}function ei(e){J===null&&(K===null&&la(),ia()),Pt&&aa()}function ti(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function pt(e,t,n){var r=J;r!==null&&(r.f&Pe)!==0&&(e|=Pe);var a={ctx:Fe,deps:null,nodes:null,f:e|ge|Le,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{on(a)}catch(f){throw Ee(a),f}else t!==null&&Ge(a);var s=a;if(n&&s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&fn)===0&&(s=s.first,(e>)!==0&&(e&sn)!==0&&s!==null&&(s.f|=sn)),s!==null&&(s.parent=r,r!==null&&ti(s,r),K!==null&&(K.f&_e)!==0&&(e&Jt)===0)){var l=K;(l.effects??(l.effects=[])).push(s)}return a}function pr(){return K!==null&&!Je}function mr(e){const t=pt(qn,null,!1);return se(t,ve),t.teardown=e,t}function Gt(e){ei();var t=J.f,n=!K&&(t&We)!==0&&(t&Ht)===0;if(n){var r=Fe;(r.e??(r.e=[])).push(e)}else return ws(e)}function ws(e){return pt(xn|ea,e,!1)}function ni(e){St.ensure();const t=pt(Jt|fn,e,!0);return(n={})=>new Promise(r=>{n.outro?Bt(t,()=>{Ee(t),r(void 0)}):(Ee(t),r(void 0))})}function ks(e){return pt(xn,e,!1)}function ri(e){return pt(dr|fn,e,!0)}function yr(e,t=0){return pt(qn|t,e,!0)}function H(e,t=[],n=[],r=[]){Ba(r,t,n,a=>{pt(qn,()=>e(...a.map(i)),!0)})}function br(e,t=0){var n=pt(gt|t,e,!0);return n}function Ie(e){return pt(We|fn,e,!0)}function Es(e){var t=e.teardown;if(t!==null){const n=Pt,r=K;Nr(!0),qe(null);try{t.call(null)}finally{Nr(n),qe(r)}}}function wr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const a=n.ac;a!==null&&Hn(()=>{a.abort(At)});var r=n.next;(n.f&Jt)!==0?n.parent=null:Ee(n,t),n=r}}function si(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&We)===0&&Ee(t),t=n}}function Ee(e,t=!0){var n=!1;(t||(e.f&Wr)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Ts(e.nodes.start,e.nodes.end),n=!0),wr(e,t&&!n),yn(e,0),se(e,ht);var r=e.nodes&&e.nodes.t;if(r!==null)for(const s of r)s.stop();Es(e);var a=e.parent;a!==null&&a.first!==null&&Ss(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Ts(e,t){for(;e!==null;){var n=e===t?null:Cn(e);e.remove(),e=n}}function Ss(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 Bt(e,t,n=!0){var r=[];xs(e,r,!0);var a=()=>{n&&Ee(e),t&&t()},s=r.length;if(s>0){var l=()=>--s||a();for(var f of r)f.out(l)}else a()}function xs(e,t,n){if((e.f&Pe)===0){e.f^=Pe;var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)(f.is_global||n)&&t.push(f);for(var a=e.first;a!==null;){var s=a.next,l=(a.f&sn)!==0||(a.f&We)!==0&&(e.f>)!==0;xs(a,t,l?n:!1),a=s}}}function kr(e){Cs(e,!0)}function Cs(e,t){if((e.f&Pe)!==0){e.f^=Pe,(e.f&ve)===0&&(se(e,ge),Ge(e));for(var n=e.first;n!==null;){var r=n.next,a=(n.f&sn)!==0||(n.f&We)!==0;Cs(n,a?t:!1),n=r}var s=e.nodes&&e.nodes.t;if(s!==null)for(const l of s)(l.is_global||t)&&l.in()}}function js(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var a=n===r?null:Cn(n);t.append(n),n=a}}let Mn=!1,Pt=!1;function Nr(e){Pt=e}let K=null,Je=!1;function qe(e){K=e}let J=null;function at(e){J=e}let Re=null;function Ps(e){K!==null&&(Re===null?Re=[e]:Re.push(e))}let ke=null,Se=0,Ne=null;function ai(e){Ne=e}let As=1,Nt=0,Kt=Nt;function Or(e){Kt=e}function Ds(){return++As}function jn(e){var t=e.f;if((t&ge)!==0)return!0;if(t&_e&&(e.f&=~Ut),(t&Ye)!==0){for(var n=e.deps,r=n.length,a=0;a<r;a++){var s=n[a];if(jn(s)&&cs(s),s.wv>e.wv)return!0}(t&Le)!==0&&he===null&&se(e,ve)}return!1}function Ns(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Re!==null&&rn.call(Re,e)))for(var a=0;a<r.length;a++){var s=r[a];(s.f&_e)!==0?Ns(s,t,!1):t===s&&(n?se(s,ge):(s.f&ve)!==0&&se(s,Ye),Ge(s))}}function Os(e){var T;var t=ke,n=Se,r=Ne,a=K,s=Re,l=Fe,f=Je,o=Kt,u=e.f;ke=null,Se=0,Ne=null,K=(u&(We|Jt))===0?e:null,Re=null,an(e.ctx),Je=!1,Kt=++Nt,e.ac!==null&&(Hn(()=>{e.ac.abort(At)}),e.ac=null);try{e.f|=Zn;var c=e.fn,h=c();e.f|=Ht;var g=e.deps,b=R==null?void 0:R.is_fork;if(ke!==null){var _;if(b||yn(e,Se),g!==null&&Se>0)for(g.length=Se+ke.length,_=0;_<ke.length;_++)g[Se+_]=ke[_];else e.deps=g=ke;if(pr()&&(e.f&Le)!==0)for(_=Se;_<g.length;_++)((T=g[_]).reactions??(T.reactions=[])).push(e)}else!b&&g!==null&&Se<g.length&&(yn(e,Se),g.length=Se);if(es()&&Ne!==null&&!Je&&g!==null&&(e.f&(_e|Ye|ge))===0)for(_=0;_<Ne.length;_++)Ns(Ne[_],e);if(a!==null&&a!==e){if(Nt++,a.deps!==null)for(let v=0;v<n;v+=1)a.deps[v].rv=Nt;if(t!==null)for(const v of t)v.rv=Nt;Ne!==null&&(r===null?r=Ne:r.push(...Ne))}return(e.f&Tt)!==0&&(e.f^=Tt),h}catch(v){return ns(v)}finally{e.f^=Zn,ke=t,Se=n,Ne=r,K=a,Re=s,an(l),Je=f,Kt=o}}function ii(e,t){let n=t.reactions;if(n!==null){var r=Ys.call(n,e);if(r!==-1){var a=n.length-1;a===0?n=t.reactions=null:(n[r]=n[a],n.pop())}}if(n===null&&(t.f&_e)!==0&&(ke===null||!rn.call(ke,t))){var s=t;(s.f&Le)!==0&&(s.f^=Le,s.f&=~Ut),hr(s),Ja(s),yn(s,0)}}function yn(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)ii(e,n[r])}function on(e){var t=e.f;if((t&ht)===0){se(e,ve);var n=J,r=Mn;J=e,Mn=!0;try{(t&(gt|Yr))!==0?si(e):wr(e),Es(e);var a=Os(e);e.teardown=typeof a=="function"?a:null,e.wv=As;var s;Qn&&Pa&&(e.f&ge)!==0&&e.deps}finally{Mn=r,J=n}}}async function li(){await Promise.resolve(),Na()}function i(e){var t=e.f,n=(t&_e)!==0;if(K!==null&&!Je){var r=J!==null&&(J.f&ht)!==0;if(!r&&(Re===null||!rn.call(Re,e))){var a=K.deps;if((K.f&Zn)!==0)e.rv<Nt&&(e.rv=Nt,ke===null&&a!==null&&a[Se]===e?Se++:ke===null?ke=[e]:ke.push(e));else{(K.deps??(K.deps=[])).push(e);var s=e.reactions;s===null?e.reactions=[K]:rn.call(s,K)||s.push(K)}}}if(Pt&&xt.has(e))return xt.get(e);if(n){var l=e;if(Pt){var f=l.v;return((l.f&ve)===0&&l.reactions!==null||Ms(l))&&(f=_r(l)),xt.set(l,f),f}var o=(l.f&Le)===0&&!Je&&K!==null&&(Mn||(K.f&Le)!==0),u=(l.f&Ht)===0;jn(l)&&(o&&(l.f|=Le),cs(l)),o&&!u&&(vs(l),Is(l))}if(he!=null&&he.has(e))return he.get(e);if((e.f&Tt)!==0)throw e.v;return e.v}function Is(e){if(e.f|=Le,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&_e)!==0&&(t.f&Le)===0&&(vs(t),Is(t))}function Ms(e){if(e.v===de)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(xt.has(t)||(t.f&_e)!==0&&Ms(t))return!0;return!1}function Un(e){var t=Je;try{return Je=!0,e()}finally{Je=t}}const oi=["touchstart","touchmove"];function fi(e){return oi.includes(e)}const Ot=Symbol("events"),Ls=new Set,lr=new Set;function ui(e,t,n,r={}){function a(s){if(r.capture||or.call(t,s),!s.cancelBubble)return Hn(()=>n==null?void 0:n.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?st(()=>{t.addEventListener(e,a,r)}):t.addEventListener(e,a,r),a}function Te(e,t,n,r,a){var s={capture:r,passive:a},l=ui(e,t,n,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&mr(()=>{t.removeEventListener(e,l,s)})}function W(e,t,n){(t[Ot]??(t[Ot]={}))[e]=n}function mt(e){for(var t=0;t<e.length;t++)Ls.add(e[t]);for(var n of lr)n(e)}let Ir=null;function or(e){var v,w;var t=this,n=t.ownerDocument,r=e.type,a=((v=e.composedPath)==null?void 0:v.call(e))||[],s=a[0]||e.target;Ir=e;var l=0,f=Ir===e&&e[Ot];if(f){var o=a.indexOf(f);if(o!==-1&&(t===document||t===window)){e[Ot]=t;return}var u=a.indexOf(t);if(u===-1)return;o<=u&&(l=o)}if(s=a[l]||e.target,s!==t){Ws(e,"currentTarget",{configurable:!0,get(){return s||n}});var c=K,h=J;qe(null),at(null);try{for(var g,b=[];s!==null;){var _=s.assignedSlot||s.parentNode||s.host||null;try{var T=(w=s[Ot])==null?void 0:w[r];T!=null&&(!s.disabled||e.target===s)&&T.call(s,e)}catch(S){g?b.push(S):g=S}if(e.cancelBubble||_===t||_===null)break;s=_}if(g){for(let S of b)queueMicrotask(()=>{throw S});throw g}}finally{e[Ot]=t,delete e.currentTarget,qe(c),at(h)}}}var Hr;const Jn=((Hr=globalThis==null?void 0:globalThis.window)==null?void 0:Hr.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function ci(e){return(Jn==null?void 0:Jn.createHTML(e))??e}function vi(e){var t=ys("template");return t.innerHTML=ci(e.replaceAll("<!>","<!---->")),t.content}function bn(e,t){var n=J;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function D(e,t){var n=(t&ka)!==0,r=(t&Ea)!==0,a,s=!e.startsWith("<!>");return()=>{a===void 0&&(a=vi(s?e:"<!>"+e),n||(a=qt(a)));var l=r||_s?document.importNode(a,!0):a.cloneNode(!0);if(n){var f=qt(l),o=l.lastChild;bn(f,o)}else bn(l,l);return l}}function Mr(e=""){{var t=_t(e+"");return bn(t,t),t}}function di(){var e=document.createDocumentFragment(),t=document.createComment(""),n=_t();return e.append(t,n),bn(t,n),e}function C(e,t){e!==null&&e.before(t)}function F(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 hi(e,t){return _i(e,t)}const Dn=new Map;function _i(e,{target:t,anchor:n,props:r={},events:a,context:s,intro:l=!0,transformError:f}){Xa();var o=void 0,u=ni(()=>{var c=n??t.appendChild(_t());La(c,{pending:()=>{}},b=>{Qe({});var _=Fe;s&&(_.c=s),a&&(r.$$events=a),o=e(b,r)||{},Xe()},f);var h=new Set,g=b=>{for(var _=0;_<b.length;_++){var T=b[_];if(!h.has(T)){h.add(T);var v=fi(T);for(const P of[t,document]){var w=Dn.get(P);w===void 0&&(w=new Map,Dn.set(P,w));var S=w.get(T);S===void 0?(P.addEventListener(T,or,{passive:v}),w.set(T,1)):w.set(T,S+1)}}}};return g(Fn(Ls)),lr.add(g),()=>{var v;for(var b of h)for(const w of[t,document]){var _=Dn.get(w),T=_.get(b);--T==0?(w.removeEventListener(b,or),_.delete(b),_.size===0&&Dn.delete(w)):_.set(b,T)}lr.delete(g),c!==n&&((v=c.parentNode)==null||v.removeChild(c))}});return gi.set(o,u),o}let gi=new WeakMap;var Ve,rt,Ce,zt,Tn,Sn,zn;class pi{constructor(t,n=!0){et(this,"anchor");V(this,Ve,new Map);V(this,rt,new Map);V(this,Ce,new Map);V(this,zt,new Set);V(this,Tn,!0);V(this,Sn,()=>{var t=R;if(d(this,Ve).has(t)){var n=d(this,Ve).get(t),r=d(this,rt).get(n);if(r)kr(r),d(this,zt).delete(n);else{var a=d(this,Ce).get(n);a&&(d(this,rt).set(n,a.effect),d(this,Ce).delete(n),a.fragment.lastChild.remove(),this.anchor.before(a.fragment),r=a.effect)}for(const[s,l]of d(this,Ve)){if(d(this,Ve).delete(s),s===t)break;const f=d(this,Ce).get(l);f&&(Ee(f.effect),d(this,Ce).delete(l))}for(const[s,l]of d(this,rt)){if(s===n||d(this,zt).has(s))continue;const f=()=>{if(Array.from(d(this,Ve).values()).includes(s)){var u=document.createDocumentFragment();js(l,u),u.append(_t()),d(this,Ce).set(s,{effect:l,fragment:u})}else Ee(l);d(this,zt).delete(s),d(this,rt).delete(s)};d(this,Tn)||!r?(d(this,zt).add(s),Bt(l,f,!1)):f()}}});V(this,zn,t=>{d(this,Ve).delete(t);const n=Array.from(d(this,Ve).values());for(const[r,a]of d(this,Ce))n.includes(r)||(Ee(a.effect),d(this,Ce).delete(r))});this.anchor=t,B(this,Tn,n)}ensure(t,n){var r=R,a=ms();if(n&&!d(this,rt).has(t)&&!d(this,Ce).has(t))if(a){var s=document.createDocumentFragment(),l=_t();s.append(l),d(this,Ce).set(t,{effect:Ie(()=>n(l)),fragment:s})}else d(this,rt).set(t,Ie(()=>n(this.anchor)));if(d(this,Ve).set(r,t),a){for(const[f,o]of d(this,rt))f===t?r.unskip_effect(o):r.skip_effect(o);for(const[f,o]of d(this,Ce))f===t?r.unskip_effect(o.effect):r.skip_effect(o.effect);r.oncommit(d(this,Sn)),r.ondiscard(d(this,zn))}else d(this,Sn).call(this)}}Ve=new WeakMap,rt=new WeakMap,Ce=new WeakMap,zt=new WeakMap,Tn=new WeakMap,Sn=new WeakMap,zn=new WeakMap;function U(e,t,n=!1){var r=new pi(e),a=n?sn:0;function s(l,f){r.ensure(l,f)}br(()=>{var l=!1;t((f,o=0)=>{l=!0,s(o,f)}),l||s(!1,null)},a)}function wn(e,t){return t}function mi(e,t,n){for(var r=[],a=t.length,s,l=t.length,f=0;f<a;f++){let h=t[f];Bt(h,()=>{if(s){if(s.pending.delete(h),s.done.add(h),s.pending.size===0){var g=e.outrogroups;fr(Fn(s.done)),g.delete(s),g.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var o=r.length===0&&n!==null;if(o){var u=n,c=u.parentNode;Za(c),c.append(u),e.items.clear()}fr(t,!o)}else s={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(s)}function fr(e,t=!0){for(var n=0;n<e.length;n++)Ee(e[n],t)}var Lr;function Me(e,t,n,r,a,s=null){var l=e,f=new Map,o=(t&Qr)!==0;if(o){var u=e;l=u.appendChild(_t())}var c=null,h=us(()=>{var w=n();return vr(w)?w:w==null?[]:Fn(w)}),g,b=!0;function _(){v.fallback=c,yi(v,g,l,t,r),c!==null&&(g.length===0?(c.f&dt)===0?kr(c):(c.f^=dt,hn(c,null,l)):Bt(c,()=>{c=null}))}var T=br(()=>{g=i(h);for(var w=g.length,S=new Set,P=R,M=ms(),y=0;y<w;y+=1){var x=g[y],A=r(x,y),O=b?null:f.get(A);O?(O.v&&ln(O.v,x),O.i&&ln(O.i,y),M&&P.unskip_effect(O.e)):(O=bi(f,b?l:Lr??(Lr=_t()),x,A,y,a,t,n),b||(O.e.f|=dt),f.set(A,O)),S.add(A)}if(w===0&&s&&!c&&(b?c=Ie(()=>s(l)):(c=Ie(()=>s(Lr??(Lr=_t()))),c.f|=dt)),w>S.size&&sa(),!b)if(M){for(const[Y,Z]of f)S.has(Y)||P.skip_effect(Z.e);P.oncommit(_),P.ondiscard(()=>{})}else _();i(h)}),v={effect:T,items:f,outrogroups:null,fallback:c};b=!1}function dn(e){for(;e!==null&&(e.f&We)===0;)e=e.next;return e}function yi(e,t,n,r,a){var Z,oe,L,Q,q,ee,ae,$,ne;var s=(r&ga)!==0,l=t.length,f=e.items,o=dn(e.effect.first),u,c=null,h,g=[],b=[],_,T,v,w;if(s)for(w=0;w<l;w+=1)_=t[w],T=a(_,w),v=f.get(T).e,(v.f&dt)===0&&((oe=(Z=v.nodes)==null?void 0:Z.a)==null||oe.measure(),(h??(h=new Set)).add(v));for(w=0;w<l;w+=1){if(_=t[w],T=a(_,w),v=f.get(T).e,e.outrogroups!==null)for(const G of e.outrogroups)G.pending.delete(v),G.done.delete(v);if((v.f&dt)!==0)if(v.f^=dt,v===o)hn(v,null,n);else{var S=c?c.next:o;v===e.effect.last&&(e.effect.last=v.prev),v.prev&&(v.prev.next=v.next),v.next&&(v.next.prev=v.prev),wt(e,c,v),wt(e,v,S),hn(v,S,n),c=v,g=[],b=[],o=dn(c.next);continue}if((v.f&Pe)!==0&&(kr(v),s&&((Q=(L=v.nodes)==null?void 0:L.a)==null||Q.unfix(),(h??(h=new Set)).delete(v))),v!==o){if(u!==void 0&&u.has(v)){if(g.length<b.length){var P=b[0],M;c=P.prev;var y=g[0],x=g[g.length-1];for(M=0;M<g.length;M+=1)hn(g[M],P,n);for(M=0;M<b.length;M+=1)u.delete(b[M]);wt(e,y.prev,x.next),wt(e,c,y),wt(e,x,P),o=P,c=x,w-=1,g=[],b=[]}else u.delete(v),hn(v,o,n),wt(e,v.prev,v.next),wt(e,v,c===null?e.effect.first:c.next),wt(e,c,v),c=v;continue}for(g=[],b=[];o!==null&&o!==v;)(u??(u=new Set)).add(o),b.push(o),o=dn(o.next);if(o===null)continue}(v.f&dt)===0&&g.push(v),c=v,o=dn(v.next)}if(e.outrogroups!==null){for(const G of e.outrogroups)G.pending.size===0&&(fr(Fn(G.done)),(q=e.outrogroups)==null||q.delete(G));e.outrogroups.size===0&&(e.outrogroups=null)}if(o!==null||u!==void 0){var A=[];if(u!==void 0)for(v of u)(v.f&Pe)===0&&A.push(v);for(;o!==null;)(o.f&Pe)===0&&o!==e.fallback&&A.push(o),o=dn(o.next);var O=A.length;if(O>0){var Y=(r&Qr)!==0&&l===0?n:null;if(s){for(w=0;w<O;w+=1)(ae=(ee=A[w].nodes)==null?void 0:ee.a)==null||ae.measure();for(w=0;w<O;w+=1)(ne=($=A[w].nodes)==null?void 0:$.a)==null||ne.fix()}mi(e,A,Y)}}s&&st(()=>{var G,ie;if(h!==void 0)for(v of h)(ie=(G=v.nodes)==null?void 0:G.a)==null||ie.apply()})}function bi(e,t,n,r,a,s,l,f){var o=(l&ha)!==0?(l&pa)===0?Ya(n,!1,!1):Vt(n):null,u=(l&_a)!==0?Vt(a):null;return{v:o,i:u,e:Ie(()=>(s(t,o??n,u??a,f),()=>{e.delete(r)}))}}function hn(e,t,n){if(e.nodes)for(var r=e.nodes.start,a=e.nodes.end,s=t&&(t.f&dt)===0?t.nodes.start:n;r!==null;){var l=Cn(r);if(s.before(r),r===a)return;r=l}}function wt(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function wi(e,t,n=!1,r=!1,a=!1){var s=e,l="";H(()=>{var f=J;if(l!==(l=t()??"")&&(f.nodes!==null&&(Ts(f.nodes.start,f.nodes.end),f.nodes=null),l!=="")){var o=n?Ta:r?Sa:void 0,u=ys(n?"svg":r?"math":"template",o);u.innerHTML=l;var c=n||r?u:u.content;if(bn(qt(c),c.lastChild),n||r)for(;qt(c);)s.before(qt(c));else s.before(c)}})}const Rr=[...`
|
|
2
|
+
\r\f \v\uFEFF`];function ki(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var a of Object.keys(n))if(n[a])r=r?r+" "+a:a;else if(r.length)for(var s=a.length,l=0;(l=r.indexOf(a,l))>=0;){var f=l+s;(l===0||Rr.includes(r[l-1]))&&(f===r.length||Rr.includes(r[f]))?r=(l===0?"":r.substring(0,l))+r.substring(f+1):l=f}}return r===""?null:r}function Ei(e,t){return e==null?null:String(e)}function ze(e,t,n,r,a,s){var l=e.__className;if(l!==n||l===void 0){var f=ki(n,r,s);f==null?e.removeAttribute("class"):e.className=f,e.__className=n}else if(s&&a!==s)for(var o in s){var u=!!s[o];(a==null||u!==!!a[o])&&e.classList.toggle(o,u)}return s}function Rs(e,t,n,r){var a=e.__style;if(a!==t){var s=Ei(t);s==null?e.removeAttribute("style"):e.style.cssText=s,e.__style=t}return r}function zs(e,t,n=!1){if(e.multiple){if(t==null)return;if(!vr(t))return xa();for(var r of e.options)r.selected=t.includes(pn(r));return}for(r of e.options){var a=pn(r);if(Qa(a,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function Ti(e){var t=new MutationObserver(()=>{zs(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),mr(()=>{t.disconnect()})}function zr(e,t,n=t){var r=new WeakSet,a=!0;bs(e,"change",s=>{var l=s?"[selected]":":checked",f;if(e.multiple)f=[].map.call(e.querySelectorAll(l),pn);else{var o=e.querySelector(l)??e.querySelector("option:not([disabled])");f=o&&pn(o)}n(f),R!==null&&r.add(R)}),ks(()=>{var s=t();if(e===document.activeElement){var l=Ln??R;if(r.has(l))return}if(zs(e,s,a),a&&s===void 0){var f=e.querySelector(":checked");f!==null&&(s=pn(f),n(s))}e.__value=s,a=!1}),Ti(e)}function pn(e){return"__value"in e?e.__value:e.value}const Si=Symbol("is custom element"),xi=Symbol("is html"),Ci=na?"progress":"PROGRESS";function ji(e,t){var n=Fs(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Ci)||(e.value=t??"")}function Fr(e,t,n,r){var a=Fs(e);a[t]!==(a[t]=n)&&(n==null?e.removeAttribute(t):typeof n!="string"&&Pi(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Fs(e){return e.__attributes??(e.__attributes={[Si]:e.nodeName.includes("-"),[xi]:e.namespaceURI===Xr})}var qr=new Map;function Pi(e){var t=e.getAttribute("is")||e.nodeName,n=qr.get(t);if(n)return n;qr.set(t,n=[]);for(var r,a=e,s=Element.prototype;s!==a;){r=Qs(a);for(var l in r)r[l].set&&n.push(l);a=Vr(a)}return n}function mn(e,t,n=t){var r=new WeakSet;bs(e,"input",async a=>{var s=a?e.defaultValue:e.value;if(s=Yn(e)?Wn(s):s,n(s),R!==null&&r.add(R),await li(),s!==(s=t())){var l=e.selectionStart,f=e.selectionEnd,o=e.value.length;if(e.value=s??"",f!==null){var u=e.value.length;l===f&&f===o&&u>o?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=l,e.selectionEnd=Math.min(f,u))}}}),Un(t)==null&&e.value&&(n(Yn(e)?Wn(e.value):e.value),R!==null&&r.add(R)),yr(()=>{var a=t();if(e===document.activeElement){var s=Ln??R;if(r.has(s))return}Yn(e)&&a===Wn(e.value)||e.type==="date"&&!a&&!e.value||a!==e.value&&(e.value=a??"")})}function Yn(e){var t=e.type;return t==="number"||t==="range"}function Wn(e){return e===""?null:+e}function Br(e,t){return e===t||(e==null?void 0:e[Ft])===t}function ur(e={},t,n,r){return ks(()=>{var a,s;return yr(()=>{a=s,s=[],Un(()=>{e!==n(...s)&&(t(e,...s),a&&Br(n(...a),e)&&t(null,...a))})}),()=>{st(()=>{s&&Br(n(...s),e)&&t(null,...s)})}}),e}let Nn=!1;function Ai(e){var t=Nn;try{return Nn=!1,[e(),Nn]}finally{Nn=t}}function Pn(e,t,n,r){var S;var a=(n&ba)!==0,s=(n&wa)!==0,l=r,f=!0,o=()=>(f&&(f=!1,l=s?Un(r):r),l),u;if(a){var c=Ft in e||ta in e;u=((S=Wt(e,t))==null?void 0:S.set)??(c&&t in e?P=>e[t]=P:void 0)}var h,g=!1;a?[h,g]=Ai(()=>e[t]):h=e[t],h===void 0&&r!==void 0&&(h=o(),u&&(fa(),u(h)));var b;if(b=()=>{var P=e[t];return P===void 0?o():(f=!0,P)},(n&ya)===0)return b;if(u){var _=e.$$legacy;return(function(P,M){return arguments.length>0?((!M||_||g)&&u(M?b():P),P):b()})}var T=!1,v=((n&ma)!==0?Kn:us)(()=>(T=!1,b()));a&&i(v);var w=J;return(function(P,M){if(arguments.length>0){const y=M?i(v):a?je(P):P;return m(v,y),T=!0,l!==void 0&&(l=y),P}return Pt&&T||(w.f&ht)!==0?v.v:i(v)})}const Di="5";var Ur;typeof window<"u"&&((Ur=window.__svelte??(window.__svelte={})).v??(Ur.v=new Set)).add(Di);async function ot(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 vt={getProjects:()=>ot("/projects"),getProject:e=>ot(`/projects/${e}`),updateProject:(e,t)=>ot(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>ot(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>ot(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>ot(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>ot(`/tasks/${e}`,{method:"DELETE"}),getDecisions:e=>ot(`/projects/${e}/decisions`),getTaskHistory:e=>ot(`/tasks/${e}/history`)};var Ni=D('<input class="rename-input svelte-1kanzy0" type="text"/>'),Oi=D('<span class="project-slug svelte-1kanzy0"> </span>'),Ii=D('<span class="project-name svelte-1kanzy0"> </span> <!> <button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>',1),Mi=D('<div class="project-area svelte-1kanzy0"><!></div>'),Li=D('<header class="toolbar svelte-1kanzy0"><!></header>');function Ri(e,t){Qe(t,!0);let n=I(!1),r=I("");const a=re(()=>projects.find(h=>h.id===t.selectedId));function s(){i(a)&&(m(r,i(a).name,!0),m(n,!0))}function l(){if(!i(a)||!i(n))return;const h=i(r).trim();h&&h!==i(a).name&&t.onRenamed(i(a).id,h),m(n,!1)}function f(h){h.key==="Enter"&&l(),h.key==="Escape"&&m(n,!1)}var o=Li(),u=k(o);{var c=h=>{var g=Mi(),b=k(g);{var _=v=>{var w=Ni();gr(w),Te("blur",w,l),W("keydown",w,f),mn(w,()=>i(r),S=>m(r,S)),C(v,w)},T=v=>{var w=Ii(),S=Ct(w),P=k(S),M=E(S,2);{var y=A=>{var O=Oi(),Y=k(O);H(()=>F(Y,`[${i(a).slug??""}]`)),C(A,O)};U(M,A=>{i(a).slug&&A(y)})}var x=E(M,2);H(()=>F(P,i(a).name)),W("click",x,s),C(v,w)};U(b,v=>{i(n)?v(_):v(T,!1)})}C(h,g)};U(u,h=>{i(a)&&h(c)})}C(e,o),Xe()}mt(["keydown","click"]);var zi=D('<span class="brand svelte-rig7vt"><span class="prompt svelte-rig7vt">></span> mindpm</span>'),Fi=D('<span class="task-count svelte-rig7vt"> </span>'),qi=D('<span class="project-name svelte-rig7vt"> </span> <!>',1),Bi=D('<span class="task-count-collapsed svelte-rig7vt"> </span>'),Ki=D('<button><span class="status-dot svelte-rig7vt"></span> <!></button>'),Hi=D('<div class="sidebar-footer svelte-rig7vt"><span class="footer-hint svelte-rig7vt"> </span></div>'),Ui=D('<aside><div class="sidebar-header svelte-rig7vt"><!> <button class="collapse-btn svelte-rig7vt"> </button></div> <nav class="project-list svelte-rig7vt"></nav> <!></aside>');function Vi(e,t){Qe(t,!0);const n="mindpm_sidebar_collapsed";let r=I(localStorage.getItem(n)==="true");function a(){m(r,!i(r)),localStorage.setItem(n,String(i(r)))}const s={active:"var(--primary)",paused:"#d29922",completed:"var(--text-muted)",archived:"var(--border-bright)"};var l=Ui();let f;var o=k(l),u=k(o);{var c=v=>{var w=zi();C(v,w)};U(u,v=>{i(r)||v(c)})}var h=E(u,2),g=k(h),b=E(o,2);Me(b,21,()=>t.projects,v=>v.id,(v,w)=>{var S=Ki();let P;var M=k(S),y=E(M,2);{var x=O=>{var Y=qi(),Z=Ct(Y),oe=k(Z),L=E(Z,2);{var Q=q=>{var ee=Fi(),ae=k(ee);H(()=>F(ae,i(w).active_task_count)),C(q,ee)};U(L,q=>{(i(w).active_task_count??0)>0&&q(Q)})}H(()=>F(oe,i(w).name)),C(O,Y)},A=O=>{var Y=Bi(),Z=k(Y);H(()=>F(Z,i(w).active_task_count)),C(O,Y)};U(y,O=>{i(r)?(i(w).active_task_count??0)>0&&O(A,1):O(x)})}H(()=>{P=ze(S,1,"project-item svelte-rig7vt",null,P,{active:i(w).id===t.selectedId}),Fr(S,"title",i(r)?i(w).name:void 0),Rs(M,`background: ${s[i(w).status]??"var(--text-muted)"??""}`)}),W("click",S,()=>t.onSelect(i(w).id)),C(v,S)});var _=E(b,2);{var T=v=>{var w=Hi(),S=k(w),P=k(S);H(()=>F(P,`// ${t.projects.length??""} project${t.projects.length!==1?"s":""}`)),C(v,w)};U(_,v=>{i(r)||v(T)})}H(()=>{f=ze(l,1,"sidebar svelte-rig7vt",null,f,{collapsed:i(r)}),Fr(h,"title",i(r)?"Expand sidebar":"Collapse sidebar"),F(g,i(r)?"»":"«")}),W("click",h,a),C(e,l),Xe()}mt(["click"]);const Gi=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],qs=["critical","high","medium","low"];var Ji=D('<span class="task-id svelte-35ep21"> </span>'),Yi=D('<div class="card-desc svelte-35ep21"> </div>'),Wi=D('<span class="tag svelte-35ep21"> </span>'),Qi=D('<div class="card-tags svelte-35ep21"></div>'),Xi=D('<span class="badge badge-blocked svelte-35ep21">⊘ blocked</span>'),Zi=D('<span class="badge badge-subtasks svelte-35ep21"> </span>'),$i=D('<div class="card-footer svelte-35ep21"><!> <!></div>'),el=D('<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">×</button></div></div> <div class="card-title svelte-35ep21"> </div> <!> <!> <!></div>');function tl(e,t){Qe(t,!0);let n=Pn(t,"subtaskCount",3,0),r=I(!1);function a(L){if(!L)return[];try{return JSON.parse(L)}catch{return[]}}const s=re(()=>a(t.task.tags)),l=re(()=>`priority-${t.task.priority}`),f=re(()=>()=>{if(!t.task.blocked_by)return!1;try{const L=JSON.parse(t.task.blocked_by);return Array.isArray(L)&&L.length>0}catch{return!1}});function o(L){m(r,!0),t.onDragStart(L,t.task)}function u(){m(r,!1)}var c=el();let h;var g=k(c),b=k(g),_=k(b),T=E(b,2),v=k(T);{var w=L=>{var Q=Ji(),q=k(Q);H(()=>F(q,t.task.short_id)),C(L,Q)};U(v,L=>{t.task.short_id&&L(w)})}var S=E(v,2),P=E(g,2),M=k(P),y=E(P,2);{var x=L=>{var Q=Yi(),q=k(Q);H(()=>F(q,t.task.description)),C(L,Q)};U(y,L=>{t.task.description&&L(x)})}var A=E(y,2);{var O=L=>{var Q=Qi();Me(Q,21,()=>i(s),wn,(q,ee)=>{var ae=Wi(),$=k(ae);H(()=>F($,i(ee))),C(q,ae)}),C(L,Q)};U(A,L=>{i(s).length>0&&L(O)})}var Y=E(A,2);{var Z=L=>{var Q=$i(),q=k(Q);{var ee=G=>{var ie=Xi();C(G,ie)},ae=re(()=>i(f)());U(q,G=>{i(ae)&&G(ee)})}var $=E(q,2);{var ne=G=>{var ie=Zi(),De=k(ie);H(()=>F(De,`⑂ ${n()??""}`)),C(G,ie)};U($,G=>{n()>0&&G(ne)})}C(L,Q)},oe=re(()=>i(f)()||n()>0);U(Y,L=>{i(oe)&&L(Z)})}H(()=>{h=ze(c,1,`card ${i(l)??""}`,"svelte-35ep21",h,{dragging:i(r)}),ze(b,1,`priority-badge ${i(l)??""}`,"svelte-35ep21"),F(_,t.task.priority),F(M,t.task.title)}),Te("dragstart",c,o),Te("dragend",c,u),W("click",c,()=>t.onEdit(t.task)),W("keydown",c,L=>{L.key==="Enter"&&t.onEdit(t.task)}),W("click",S,L=>{L.stopPropagation(),t.onDelete(t.task)}),C(e,c),Xe()}mt(["click","keydown"]);var nl=D('<div class="column-collapsed svelte-zswfgn"><button class="expand-btn svelte-zswfgn" title="Expand column">»</button> <div class="collapsed-label svelte-zswfgn"><span> </span> <span class="collapsed-text svelte-zswfgn"> </span></div></div>'),rl=D('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),sl=D('<div class="wip-banner svelte-zswfgn"> </div>'),al=D('<div class="column-header svelte-zswfgn"><h3 class="svelte-zswfgn"><span class="chevron svelte-zswfgn">▸</span> <span> </span></h3> <div class="header-actions svelte-zswfgn"><!> <button class="collapse-btn svelte-zswfgn" title="Collapse column">«</button></div></div> <!> <div class="card-list svelte-zswfgn"></div>',1),il=D('<div role="list"><!></div>');function ll(e,t){Qe(t,!0);const n=5,r="mindpm_collapsed_cols";let a=I(!1);function s(){try{const S=localStorage.getItem(r);return(S?JSON.parse(S):[]).includes(t.status)}catch{return!1}}function l(S){try{const P=localStorage.getItem(r),M=P?JSON.parse(P):[],y=S?[...new Set([...M,t.status])]:M.filter(x=>x!==t.status);localStorage.setItem(r,JSON.stringify(y))}catch{}}let f=I(je(s()));function o(){m(f,!i(f)),l(i(f))}const u=re(()=>t.status==="in_progress"&&t.tasks.length>n);function c(S){S.preventDefault(),S.dataTransfer&&(S.dataTransfer.dropEffect="move"),m(a,!0)}function h(){m(a,!1)}function g(S){S.preventDefault(),m(a,!1),t.onDrop(t.status)}var b=il();let _;var T=k(b);{var v=S=>{var P=nl(),M=k(P),y=E(M,2),x=k(y);let A;var O=k(x),Y=E(x,2),Z=k(Y);H(()=>{A=ze(x,1,"collapsed-count svelte-zswfgn",null,A,{wip:i(u)}),F(O,`[${t.tasks.length??""}]`),F(Z,t.label)}),W("click",M,o),C(S,P)},w=S=>{var P=al(),M=Ct(P),y=k(M),x=E(k(y)),A=E(x);let O;var Y=k(A),Z=E(y,2),oe=k(Z);{var L=$=>{var ne=rl();W("click",ne,()=>t.onAddTask(t.status)),C($,ne)};U(oe,$=>{t.status==="todo"&&$(L)})}var Q=E(oe,2),q=E(M,2);{var ee=$=>{var ne=sl(),G=k(ne);H(()=>F(G,`WIP limit exceeded (${t.tasks.length??""}/5)`)),C($,ne)};U(q,$=>{i(u)&&$(ee)})}var ae=E(q,2);Me(ae,21,()=>t.tasks,$=>$.id,($,ne)=>{{let G=re(()=>t.subtaskCounts.get(i(ne).id)??0);tl($,{get task(){return i(ne)},get subtaskCount(){return i(G)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}}),H(()=>{F(x,` ${t.label??""} `),O=ze(A,1,"count svelte-zswfgn",null,O,{wip:i(u)}),F(Y,`[${t.tasks.length??""}${i(u)?" ⚠":""}]`)}),W("click",Q,o),C(S,P)};U(T,S=>{i(f)?S(v):S(w,!1)})}H(()=>_=ze(b,1,"column svelte-zswfgn",null,_,{"drag-over":i(a),collapsed:i(f),"wip-warning":i(u)})),Te("dragover",b,c),Te("dragleave",b,h),Te("drop",b,g),C(e,b),Xe()}mt(["click"]);var ol=D('<div class="decision-reasoning svelte-1gmf2hi"> </div>'),fl=D('<div class="decision-alts svelte-1gmf2hi"> </div>'),ul=D('<div class="decision-item svelte-1gmf2hi"><div class="decision-title svelte-1gmf2hi"> </div> <div class="decision-body svelte-1gmf2hi"> </div> <!> <!></div>'),cl=D('<span class="modal-task-id svelte-1gmf2hi"> </span>'),vl=D("<option> </option>"),dl=D('<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>'),hl=D('<div class="history-item svelte-1gmf2hi"><span class="history-dot svelte-1gmf2hi"></span> <div class="history-body svelte-1gmf2hi"><span class="history-event svelte-1gmf2hi"><!></span> <span class="history-time svelte-1gmf2hi"> </span></div></div>'),_l=D('<div class="history-section svelte-1gmf2hi"><h3 class="history-heading svelte-1gmf2hi">History</h3> <div class="history-list svelte-1gmf2hi"></div></div>'),gl=D('<h3 class="decisions-heading svelte-1gmf2hi">Task Decisions</h3> <div class="decisions-list svelte-1gmf2hi"></div>',1),pl=D('<h3>Project Decisions</h3> <div class="decisions-list svelte-1gmf2hi"></div>',1),ml=D('<div class="decisions-section svelte-1gmf2hi"><!> <!></div>'),yl=D('<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">×</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 bl(e,t){Qe(t,!0);const n=(j,z=Gr)=>{var te=ul(),fe=k(te),pe=k(fe),Be=E(fe,2),me=k(Be),ye=E(Be,2);{var Ze=Ke=>{var lt=ol(),vn=k(lt);H(()=>F(vn,z().reasoning)),C(Ke,lt)};U(ye,Ke=>{z().reasoning&&Ke(Ze)})}var $e=E(ye,2);Me($e,17,()=>T(z().alternatives),wn,(Ke,lt,vn)=>{var Tr=di(),Ks=Ct(Tr);{var Hs=Vn=>{var Sr=fl(),Us=k(Sr);H(Vs=>F(Us,`Alternatives: ${Vs??""}`),[()=>T(z().alternatives).join(", ")]),C(Vn,Sr)};U(Ks,Vn=>{vn===0&&Vn(Hs)})}C(Ke,Tr)}),H(()=>{F(pe,z().title),F(me,z().decision)}),C(j,te)};let r=Pn(t,"defaultStatus",3,"todo"),a=I(""),s=I(""),l=I("medium"),f=I("todo"),o=I(""),u=I(je([])),c=I(je([]));Gt(()=>{var j,z,te,fe,pe;if(m(a,((j=t.task)==null?void 0:j.title)??"",!0),m(s,((z=t.task)==null?void 0:z.description)??"",!0),m(l,((te=t.task)==null?void 0:te.priority)??"medium",!0),m(f,((fe=t.task)==null?void 0:fe.status)??r(),!0),(pe=t.task)!=null&&pe.tags)try{m(o,JSON.parse(t.task.tags).join(", "),!0)}catch{m(o,"")}else m(o,"")}),Gt(()=>{t.task!==null?(vt.getDecisions(t.projectId).then(j=>{m(u,j,!0)}).catch(()=>{m(u,[],!0)}),vt.getTaskHistory(t.task.id).then(j=>{m(c,j,!0)}).catch(()=>{m(c,[],!0)})):(m(u,[],!0),m(c,[],!0))});const h=re(()=>t.task!==null),g=re(()=>i(u).filter(j=>{var z;return j.task_id===((z=t.task)==null?void 0:z.id)})),b=re(()=>i(u).filter(j=>j.task_id===null));function _(j){switch(j.event){case"created":return"<b>created</b>";case"status_changed":return`status <b>${j.old_value}</b> → <b>${j.new_value}</b>`;case"priority_changed":return`priority <b>${j.old_value}</b> → <b>${j.new_value}</b>`;case"title_changed":return"title renamed";default:return j.event.replace(/_/g," ")}}function T(j){if(!j)return[];try{return JSON.parse(j)}catch{return[]}}function v(j){return new Date(j.replace(" ","T")+"Z").toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function w(j){j.preventDefault();const z=i(a).trim();if(!z)return;const te=i(o).split(",").map(fe=>fe.trim()).filter(Boolean);t.onSave({title:z,description:i(s).trim(),priority:i(l),...i(h)?{status:i(f)}:{},tags:te})}function S(j){j.target.classList.contains("modal-backdrop")&&t.onClose()}function P(j){j.key==="Escape"&&t.onClose()}var M=yl();Te("keydown",jt,P);var y=k(M),x=k(y),A=k(x),O=k(A),Y=k(O),Z=E(O,2);{var oe=j=>{var z=cl(),te=k(z);H(()=>F(te,t.task.short_id)),C(j,z)};U(Z,j=>{var z;(z=t.task)!=null&&z.short_id&&j(oe)})}var L=E(A,2),Q=E(x,2),q=k(Q),ee=E(k(q),2);gr(ee);var ae=E(q,2),$=E(k(ae),2),ne=E(ae,2),G=k(ne),ie=E(k(G),2);Me(ie,21,()=>qs,wn,(j,z)=>{var te=vl(),fe=k(te),pe={};H(()=>{F(fe,i(z)),pe!==(pe=i(z))&&(te.value=(te.__value=i(z))??"")}),C(j,te)});var De=E(G,2);{var yt=j=>{var z=dl(),te=E(k(z),2),fe=k(te);fe.value=fe.__value="todo";var pe=E(fe);pe.value=pe.__value="in_progress";var Be=E(pe);Be.value=Be.__value="blocked";var me=E(Be);me.value=me.__value="done";var ye=E(me);ye.value=ye.__value="cancelled",zr(te,()=>i(f),Ze=>m(f,Ze)),C(j,z)};U(De,j=>{i(h)&&j(yt)})}var bt=E(ne,2),un=E(k(bt),2),cn=E(bt,2),Yt=k(cn),p=E(Yt,2),N=k(p),X=E(Q,2);{var le=j=>{var z=_l(),te=E(k(z),2);Me(te,21,()=>i(c),fe=>fe.id,(fe,pe)=>{var Be=hl(),me=E(k(Be),2),ye=k(me),Ze=k(ye);wi(Ze,()=>_(i(pe)));var $e=E(ye,2),Ke=k($e);H(lt=>F(Ke,lt),[()=>v(i(pe).created_at)]),C(fe,Be)}),C(j,z)};U(X,j=>{i(h)&&i(c).length>0&&j(le)})}var it=E(X,2);{var Bs=j=>{var z=ml(),te=k(z);{var fe=me=>{var ye=gl(),Ze=E(Ct(ye),2);Me(Ze,21,()=>i(g),$e=>$e.id,($e,Ke)=>{n($e,()=>i(Ke))}),C(me,ye)};U(te,me=>{i(g).length>0&&me(fe)})}var pe=E(te,2);{var Be=me=>{var ye=pl(),Ze=Ct(ye);let $e;var Ke=E(Ze,2);Me(Ke,21,()=>i(b),lt=>lt.id,(lt,vn)=>{n(lt,()=>i(vn))}),H(()=>$e=ze(Ze,1,"decisions-heading svelte-1gmf2hi",null,$e,{spaced:i(g).length>0})),C(me,ye)};U(pe,me=>{i(b).length>0&&me(Be)})}C(j,z)};U(it,j=>{i(h)&&(i(g).length>0||i(b).length>0)&&j(Bs)})}H(()=>{F(Y,i(h)?"Edit Task":"New Task"),F(N,i(h)?"Save":"Create")}),W("click",M,S),W("click",L,function(...j){var z;(z=t.onClose)==null||z.apply(this,j)}),Te("submit",Q,w),mn(ee,()=>i(a),j=>m(a,j)),mn($,()=>i(s),j=>m(s,j)),zr(ie,()=>i(l),j=>m(l,j)),mn(un,()=>i(o),j=>m(o,j)),W("click",Yt,function(...j){var z;(z=t.onClose)==null||z.apply(this,j)}),C(e,M),Xe()}mt(["click"]);var wl=D('<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 kl(e,t){Qe(t,!0);let n=Pn(t,"confirmLabel",3,"Delete");function r(T){T.target.classList.contains("modal-backdrop")&&t.onCancel()}function a(T){T.key==="Escape"&&t.onCancel()}var s=wl();Te("keydown",jt,a);var l=k(s),f=k(l),o=k(f),u=E(f,2),c=k(u),h=E(u,2),g=k(h),b=E(g,2),_=k(b);H(()=>{F(o,t.title),F(c,t.message),F(_,n())}),W("click",s,r),W("click",g,function(...T){var v;(v=t.onCancel)==null||v.apply(this,T)}),W("click",b,function(...T){var v;(v=t.onConfirm)==null||v.apply(this,T)}),C(e,s),Xe()}mt(["click"]);var El=D('<button class="clear-input svelte-dhotvj">×</button>'),Tl=D("<button> </button>"),Sl=D('<button><span class="tag-checkbox svelte-dhotvj"> </span> <span class="tag-name svelte-dhotvj"> </span></button>'),xl=D('<button class="tag-clear svelte-dhotvj">clear tags</button>'),Cl=D('<div class="tag-dropdown svelte-dhotvj"><!> <!></div>'),jl=D('<div class="filter-section tag-dropdown-wrapper svelte-dhotvj"><span class="filter-label svelte-dhotvj">tags:</span> <button><!></button> <!></div>'),Pl=D('<button class="clear-all svelte-dhotvj"> </button>'),Al=D('<div class="filter-bar svelte-dhotvj"><div class="filter-search svelte-dhotvj"><span class="search-icon svelte-dhotvj">/</span> <input type="text" placeholder="search tasks..." class="svelte-dhotvj"/> <!></div> <div class="filter-section svelte-dhotvj"><span class="filter-label svelte-dhotvj">priority:</span> <div class="chip-group svelte-dhotvj"></div></div> <!> <!> <div class="shortcuts-hint svelte-dhotvj"><span class="svelte-dhotvj"><kbd class="svelte-dhotvj">N</kbd> new</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">/</kbd> search</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">Ctrl K</kbd> palette</span></div></div>');function Dl(e,t){Qe(t,!0);let n=Pn(t,"focusSearch",15,null),r=I(null),a=I(!1),s=I(null);Gt(()=>{n(()=>{var y;return(y=i(r))==null?void 0:y.focus()})});const l=re(()=>(t.searchQuery.trim()?1:0)+t.selectedPriorities.size+t.selectedTags.size),f={critical:"var(--priority-critical)",high:"var(--priority-high)",medium:"var(--priority-medium)",low:"var(--text-muted)"};function o(y){y.key==="Escape"&&m(a,!1)}function u(y){i(s)&&!i(s).contains(y.target)&&m(a,!1)}var c=Al();Te("click",jt,u),Te("keydown",jt,o);var h=k(c),g=E(k(h),2);ur(g,y=>m(r,y),()=>i(r));var b=E(g,2);{var _=y=>{var x=El();W("click",x,()=>t.onSearchChange("")),C(y,x)};U(b,y=>{t.searchQuery&&y(_)})}var T=E(h,2),v=E(k(T),2);Me(v,21,()=>qs,wn,(y,x)=>{var A=Tl();let O;var Y=k(A);H(Z=>{O=ze(A,1,"chip svelte-dhotvj",null,O,Z),Rs(A,`--chip-color: ${f[i(x)]??""}`),F(Y,i(x))},[()=>({active:t.selectedPriorities.has(i(x))})]),W("click",A,()=>t.onPriorityToggle(i(x))),C(y,A)});var w=E(T,2);{var S=y=>{var x=jl(),A=E(k(x),2);let O;var Y=k(A);{var Z=q=>{var ee=Mr();H(()=>F(ee,`[${t.selectedTags.size??""}] ▾`)),C(q,ee)},oe=q=>{var ee=Mr("all ▾");C(q,ee)};U(Y,q=>{t.selectedTags.size>0?q(Z):q(oe,!1)})}var L=E(A,2);{var Q=q=>{var ee=Cl(),ae=k(ee);Me(ae,17,()=>t.allTags,wn,(G,ie)=>{var De=Sl();let yt;var bt=k(De),un=k(bt),cn=E(bt,2),Yt=k(cn);H((p,N)=>{yt=ze(De,1,"tag-option svelte-dhotvj",null,yt,p),F(un,N),F(Yt,`#${i(ie)??""}`)},[()=>({selected:t.selectedTags.has(i(ie))}),()=>t.selectedTags.has(i(ie))?"✓":" "]),W("click",De,p=>{p.stopPropagation(),t.onTagToggle(i(ie))}),C(G,De)});var $=E(ae,2);{var ne=G=>{var ie=xl();W("click",ie,De=>{De.stopPropagation(),t.selectedTags.forEach(yt=>t.onTagToggle(yt))}),C(G,ie)};U($,G=>{t.selectedTags.size>0&&G(ne)})}C(q,ee)};U(L,q=>{i(a)&&q(Q)})}ur(x,q=>m(s,q),()=>i(s)),H(()=>O=ze(A,1,"dropdown-trigger svelte-dhotvj",null,O,{active:t.selectedTags.size>0})),W("click",A,q=>{q.stopPropagation(),m(a,!i(a))}),C(y,x)};U(w,y=>{t.allTags.length>0&&y(S)})}var P=E(w,2);{var M=y=>{var x=Pl(),A=k(x);H(()=>F(A,`clear [${i(l)??""}]`)),W("click",x,function(...O){var Y;(Y=t.onClear)==null||Y.apply(this,O)}),C(y,x)};U(P,y=>{i(l)>0&&y(M)})}H(()=>ji(g,t.searchQuery)),W("input",g,y=>t.onSearchChange(y.target.value)),C(e,c),Xe()}mt(["input","click"]);var Nl=D('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),Ol=D('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),Il=D('<div class="board svelte-x7v2jt"></div>'),Ml=D('<!> <div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function Ll(e,t){Qe(t,!0);let n=Pn(t,"triggerNewTask",3,!1),r=I(je([])),a=I(!0),s=I(null),l=I(!1),f=I(null),o=I("todo"),u=I(!1),c=I(null),h=I(null),g=I(""),b=I(je(new Set)),_=I(je(new Set));const T=re(()=>()=>{const p=new Map;for(const N of i(r))N.parent_task_id&&p.set(N.parent_task_id,(p.get(N.parent_task_id)??0)+1);return p}),v=re(()=>()=>{const p=new Set;for(const N of i(r))if(N.tags)try{for(const X of JSON.parse(N.tags))p.add(X)}catch{}return[...p].sort()}),w=re(()=>()=>{let p=i(r);const N=i(g).trim().toLowerCase();return N&&(p=p.filter(X=>X.title.toLowerCase().includes(N)||(X.description??"").toLowerCase().includes(N)||(X.short_id??"").toLowerCase().includes(N))),i(b).size>0&&(p=p.filter(X=>i(b).has(X.priority))),i(_).size>0&&(p=p.filter(X=>{if(!X.tags)return!1;try{return JSON.parse(X.tags).some(it=>i(_).has(it))}catch{return!1}})),p}),S=re(()=>Gi.map(p=>({...p,tasks:i(w)().filter(N=>N.status===p.status)})));function P(p){const N=new Set(i(b));N.has(p)?N.delete(p):N.add(p),m(b,N,!0)}function M(p){const N=new Set(i(_));N.has(p)?N.delete(p):N.add(p),m(_,N,!0)}function y(){m(g,""),m(b,new Set,!0),m(_,new Set,!0)}let x=I(null);function A(p){var le;const N=p.target.tagName;N==="INPUT"||N==="TEXTAREA"||N==="SELECT"||p.ctrlKey||p.metaKey||p.altKey||(p.key==="n"||p.key==="N"?(p.preventDefault(),oe("todo")):p.key==="/"&&(p.preventDefault(),(le=i(x))==null||le()))}Gt(()=>{var p;n()&&(oe("todo"),(p=t.onNewTaskTriggered)==null||p.call(t))});async function O(){m(a,!0),m(s,null);try{m(r,await vt.getTasks(t.project.id),!0)}catch(p){m(s,p.message,!0)}finally{m(a,!1)}}Gt(()=>{t.project.id,O()});function Y(p,N){m(h,N,!0),p.dataTransfer&&(p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",N.id))}async function Z(p){if(!i(h)||i(h).status===p){m(h,null);return}const N=i(h),X=N.status;m(h,null);const le=i(r).findIndex(it=>it.id===N.id);le!==-1&&(i(r)[le]={...i(r)[le],status:p});try{await vt.updateTask(N.id,{status:p})}catch(it){le!==-1&&(i(r)[le]={...i(r)[le],status:X}),m(s,it.message,!0)}}function oe(p){m(f,null),m(o,p,!0),m(l,!0)}function L(p){m(f,p,!0),m(l,!0)}async function Q(p){try{if(i(f)){const N=await vt.updateTask(i(f).id,{title:p.title,description:p.description||null,priority:p.priority,status:p.status,tags:p.tags.length>0?p.tags:null}),X=i(r).findIndex(le=>le.id===i(f).id);X!==-1&&(i(r)[X]=N)}else{const N=await vt.createTask(t.project.id,{title:p.title,description:p.description||void 0,priority:p.priority,tags:p.tags.length>0?p.tags:void 0});m(r,[N,...i(r)],!0)}m(l,!1),m(f,null)}catch(N){m(s,N.message,!0)}}function q(p){m(c,p,!0),m(u,!0)}async function ee(){if(i(c))try{await vt.deleteTask(i(c).id),m(r,i(r).filter(p=>p.id!==i(c).id&&p.parent_task_id!==i(c).id),!0),m(u,!1),m(c,null)}catch(p){m(s,p.message,!0)}}var ae=Ml();Te("keydown",jt,A);var $=Ct(ae);{let p=re(()=>i(v)());Dl($,{get allTags(){return i(p)},get searchQuery(){return i(g)},get selectedPriorities(){return i(b)},get selectedTags(){return i(_)},onSearchChange:N=>{m(g,N,!0)},onPriorityToggle:P,onTagToggle:M,onClear:y,get focusSearch(){return i(x)},set focusSearch(N){m(x,N,!0)}})}var ne=E($,2),G=k(ne);{var ie=p=>{var N=Nl();C(p,N)},De=p=>{var N=Ol(),X=k(N),le=E(X);H(()=>F(X,`${i(s)??""} `)),W("click",le,()=>{m(s,null),O()}),C(p,N)},yt=p=>{var N=Il();Me(N,21,()=>i(S),X=>X.status,(X,le)=>{{let it=re(()=>i(T)());ll(X,{get status(){return i(le).status},get label(){return i(le).label},get tasks(){return i(le).tasks},get subtaskCounts(){return i(it)},onEdit:L,onDelete:q,onDragStart:Y,onDrop:Z,onAddTask:oe})}}),C(p,N)};U(G,p=>{i(a)?p(ie):i(s)?p(De,1):p(yt,!1)})}var bt=E(ne,2);{var un=p=>{bl(p,{get task(){return i(f)},get projectId(){return t.project.id},get defaultStatus(){return i(o)},onSave:Q,onClose:()=>{m(l,!1),m(f,null)}})};U(bt,p=>{i(l)&&p(un)})}var cn=E(bt,2);{var Yt=p=>{kl(p,{title:"Delete Task",get message(){return`Are you sure you want to delete "${i(c).title??""}"? This cannot be undone.`},onConfirm:ee,onCancel:()=>{m(u,!1),m(c,null)}})};U(cn,p=>{i(u)&&i(c)&&p(Yt)})}C(e,ae),Xe()}mt(["click"]);var Rl=D('<div><span class="item-label svelte-1bm0yy4"> </span> <span class="item-hint svelte-1bm0yy4"> </span></div>'),zl=D('<div class="palette-empty svelte-1bm0yy4">no commands match</div>'),Fl=D('<div class="palette-backdrop svelte-1bm0yy4"><div class="palette svelte-1bm0yy4"><div class="palette-input-row svelte-1bm0yy4"><span class="palette-prompt svelte-1bm0yy4">></span> <input placeholder="type a command..." class="svelte-1bm0yy4"/></div> <div class="palette-list svelte-1bm0yy4"></div> <div class="palette-footer svelte-1bm0yy4"><span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↑↓</kbd> navigate</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↵</kbd> select</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">esc</kbd> close</span></div></div></div>');function ql(e,t){Qe(t,!0);let n=I(""),r=I(0),a=I(null);const s=re(()=>[{id:"new-task",label:"new task",hint:"create",action:()=>{t.onClose(),t.onNewTask()}},...t.projects.map(_=>({id:`project-${_.id}`,label:_.name,hint:_.slug?`switch → ${_.slug}`:"switch",action:()=>{t.onClose(),t.onSelectProject(_.id)}}))]),l=re(()=>()=>{const _=i(n).trim().toLowerCase();return _?i(s).filter(T=>T.label.toLowerCase().includes(_)||T.hint.toLowerCase().includes(_)):i(s)});Gt(()=>{i(l)(),m(r,0)});function f(_){var v;const T=i(l)();_.key==="ArrowDown"?(_.preventDefault(),m(r,Math.min(i(r)+1,T.length-1),!0)):_.key==="ArrowUp"?(_.preventDefault(),m(r,Math.max(i(r)-1,0),!0)):_.key==="Enter"?(_.preventDefault(),(v=T[i(r)])==null||v.action()):_.key==="Escape"&&t.onClose()}function o(_){_.target.classList.contains("palette-backdrop")&&t.onClose()}var u=Fl(),c=k(u),h=k(c),g=E(k(h),2);gr(g),ur(g,_=>m(a,_),()=>i(a));var b=E(h,2);Me(b,23,()=>i(l)(),_=>_.id,(_,T,v)=>{var w=Rl();let S;var P=k(w),M=k(P),y=E(P,2),x=k(y);H(()=>{S=ze(w,1,"palette-item svelte-1bm0yy4",null,S,{active:i(v)===i(r)}),F(M,i(T).label),F(x,i(T).hint)}),Te("mouseenter",w,()=>{m(r,i(v),!0)}),W("click",w,()=>i(T).action()),C(_,w)},_=>{var T=zl();C(_,T)}),W("click",u,o),W("keydown",g,f),mn(g,()=>i(n),_=>m(n,_)),C(e,u),Xe()}mt(["click","keydown"]);var Bl=D('<div class="loading svelte-1n46o8q"><span class="prompt svelte-1n46o8q">></span> loading projects...</div>'),Kl=D('<div class="error svelte-1n46o8q"><span class="err-prefix svelte-1n46o8q">[error]</span> </div>'),Hl=D('<div class="empty svelte-1n46o8q"><p class="empty-prompt svelte-1n46o8q">> no projects found</p> <p class="empty-hint svelte-1n46o8q">// create a project using mindpm MCP tools to get started</p></div>'),Ul=D('<div class="app-layout svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <!></div></div>'),Vl=D("<!> <!>",1);function Gl(e,t){Qe(t,!0);let n=I(je([])),r=I(null),a=I(!0),s=I(null),l=I(!1),f=I(!1);const o=re(()=>i(n).find(y=>y.id===i(r))??null);async function u(){try{if(m(n,await vt.getProjects(),!0),i(n).length>0&&!i(r)){const y=new URLSearchParams(window.location.search).get("project"),x=y?i(n).find(A=>A.id===y||A.name===y):null;m(r,x?x.id:i(n)[0].id,!0)}}catch(y){m(s,y.message,!0)}finally{m(a,!1)}}function c(y){m(r,y,!0)}async function h(y,x){try{await vt.updateProject(y,{name:x});const A=i(n).findIndex(O=>O.id===y);A!==-1&&(i(n)[A]={...i(n)[A],name:x})}catch(A){m(s,A.message,!0)}}Gt(()=>{u()});function g(y){(y.ctrlKey||y.metaKey)&&y.key==="k"&&(y.preventDefault(),m(l,!i(l)))}var b=Vl();Te("keydown",jt,g);var _=Ct(b);{var T=y=>{ql(y,{get projects(){return i(n)},onSelectProject:x=>{m(r,x,!0)},onNewTask:()=>{m(f,!0)},onClose:()=>{m(l,!1)}})};U(_,y=>{i(l)&&y(T)})}var v=E(_,2);{var w=y=>{var x=Bl();C(y,x)},S=y=>{var x=Kl(),A=E(k(x));H(()=>F(A,` ${i(s)??""}`)),C(y,x)},P=y=>{var x=Hl();C(y,x)},M=y=>{var x=Ul(),A=k(x);Vi(A,{get projects(){return i(n)},get selectedId(){return i(r)},onSelect:c});var O=E(A,2),Y=k(O);Ri(Y,{get projects(){return i(n)},get selectedId(){return i(r)},onSelect:c,onRenamed:h});var Z=E(Y,2);{var oe=L=>{Ll(L,{get project(){return i(o)},get triggerNewTask(){return i(f)},onNewTaskTriggered:()=>{m(f,!1)}})};U(Z,L=>{i(o)&&L(oe)})}C(y,x)};U(v,y=>{i(a)?y(w):i(s)?y(S,1):i(n).length===0?y(P,2):y(M,!1)})}C(e,b),Xe()}hi(Gl,{target:document.getElementById("app")});
|
package/dist/ui/index.html
CHANGED
|
@@ -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-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-Dt67q15G.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-Bk0QGEys.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="app"></div>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.toolbar.svelte-1kanzy0{display:flex;align-items:center;padding:7px 14px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;min-height:37px}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}.project-name.svelte-1kanzy0{font-size:.82rem;font-weight:700;color:var(--text)}.project-slug.svelte-1kanzy0{font-size:.7rem;color:var(--text-muted)}.rename-btn.svelte-1kanzy0{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:1px 6px;font-size:.8rem;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)}.sidebar.svelte-rig7vt{width:200px;min-width:200px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s,min-width .2s;overflow:hidden}.sidebar.collapsed.svelte-rig7vt{width:44px;min-width:44px}.sidebar-header.svelte-rig7vt{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 10px 12px;border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.brand.svelte-rig7vt{font-size:.85rem;font-weight:700;color:var(--primary);white-space:nowrap;overflow:hidden}.prompt.svelte-rig7vt{color:var(--text-dim)}.collapse-btn.svelte-rig7vt{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.7rem;padding:2px 6px;flex-shrink:0;line-height:1.4}.collapse-btn.svelte-rig7vt:hover{border-color:var(--primary);color:var(--primary)}.project-list.svelte-rig7vt{flex:1;overflow-y:auto;padding:6px 0}.project-item.svelte-rig7vt{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px 6px 12px;background:none;border:none;border-left:2px solid transparent;color:var(--text-dim);font-size:.75rem;text-align:left;cursor:pointer;transition:background .1s,color .1s,border-color .1s;white-space:nowrap;overflow:hidden}.project-item.svelte-rig7vt:hover{background:var(--surface-2);color:var(--text)}.project-item.active.svelte-rig7vt{border-left-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.status-dot.svelte-rig7vt{width:6px;height:6px;border-radius:50%;flex-shrink:0}.project-name.svelte-rig7vt{flex:1;overflow:hidden;text-overflow:ellipsis}.task-count.svelte-rig7vt{font-size:.62rem;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:2px;padding:0 4px;flex-shrink:0;line-height:1.6}.project-item.active.svelte-rig7vt .task-count:where(.svelte-rig7vt){border-color:var(--primary);color:var(--primary);background:none}.task-count-collapsed.svelte-rig7vt{font-size:.55rem;color:var(--primary);line-height:1}.sidebar-footer.svelte-rig7vt{padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0}.footer-hint.svelte-rig7vt{font-size:.62rem;color:var(--text-muted)}.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}.card-footer.svelte-35ep21{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.badge.svelte-35ep21{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:1px 5px;border-radius:2px;border:1px solid}.badge-blocked.svelte-35ep21{color:var(--priority-critical);border-color:var(--priority-critical);background:color-mix(in srgb,var(--priority-critical) 10%,transparent)}.badge-subtasks.svelte-35ep21{color:var(--text-muted);border-color:var(--border-bright);background:none}.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)}.filter-bar.svelte-dhotvj{display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.filter-search.svelte-dhotvj{position:relative;display:flex;align-items:center}.search-icon.svelte-dhotvj{position:absolute;left:8px;color:var(--primary);font-weight:700;font-size:.85rem;pointer-events:none}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj){background:var(--bg);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text);padding:4px 26px 4px 22px;width:180px;font-size:.75rem}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj):focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-dim)}.filter-search.svelte-dhotvj input:where(.svelte-dhotvj)::placeholder{color:var(--text-muted)}.clear-input.svelte-dhotvj{position:absolute;right:6px;background:none;border:none;color:var(--text-muted);font-size:.9rem;line-height:1;padding:0}.clear-input.svelte-dhotvj:hover{color:var(--text)}.filter-section.svelte-dhotvj{display:flex;align-items:center;gap:6px}.filter-label.svelte-dhotvj{font-size:.65rem;color:var(--text-muted);white-space:nowrap}.chip-group.svelte-dhotvj{display:flex;gap:4px;flex-wrap:wrap}.chip.svelte-dhotvj{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-muted);transition:border-color .1s,color .1s,background .1s}.chip.svelte-dhotvj:hover{border-color:var(--chip-color, var(--text-dim));color:var(--chip-color, var(--text))}.chip.active.svelte-dhotvj{border-color:var(--chip-color, var(--primary));color:var(--chip-color, var(--primary));background:color-mix(in srgb,var(--chip-color, var(--primary)) 12%,transparent)}.tag-dropdown-wrapper.svelte-dhotvj{position:relative}.dropdown-trigger.svelte-dhotvj{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:2px;border:1px solid var(--border-bright);background:none;color:var(--text-muted);transition:border-color .1s,color .1s;letter-spacing:.5px}.dropdown-trigger.svelte-dhotvj:hover{border-color:var(--primary);color:var(--primary)}.dropdown-trigger.active.svelte-dhotvj{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.tag-dropdown.svelte-dhotvj{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);min-width:140px;z-index:50;overflow:hidden}.tag-option.svelte-dhotvj{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;color:var(--text-dim);font-size:.72rem;text-align:left;transition:background .1s,color .1s}.tag-option.svelte-dhotvj:hover{background:var(--surface-2);color:var(--text)}.tag-option.selected.svelte-dhotvj{color:var(--primary)}.tag-checkbox.svelte-dhotvj{font-size:.65rem;color:var(--primary);width:10px;text-align:center;flex-shrink:0}.tag-option.svelte-dhotvj:not(.selected) .tag-checkbox:where(.svelte-dhotvj){color:var(--border-bright)}.tag-name.svelte-dhotvj{flex:1}.tag-clear.svelte-dhotvj{display:block;width:100%;padding:5px 10px;background:none;border:none;border-top:1px solid var(--border);color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-align:left;transition:background .1s}.tag-clear.svelte-dhotvj:hover{background:var(--surface-2)}.clear-all.svelte-dhotvj{background:none;border:none;color:var(--danger);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 0;margin-left:auto}.clear-all.svelte-dhotvj:hover{color:var(--danger-hover)}.shortcuts-hint.svelte-dhotvj{display:flex;gap:10px;margin-left:auto}.shortcuts-hint.svelte-dhotvj span:where(.svelte-dhotvj){font-size:.6rem;color:var(--text-muted);display:flex;align-items:center;gap:3px}kbd.svelte-dhotvj{font-family:var(--font-mono);font-size:.58rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;overflow-y:hidden;padding:12px;min-height:0}.board.svelte-x7v2jt{display:flex;gap:10px;align-items:flex-start;height:100%}.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)}.palette-backdrop.svelte-1bm0yy4{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:300}.palette.svelte-1bm0yy4{background:var(--surface);border:1px solid var(--border-bright);border-radius:var(--radius);width:480px;max-width:95vw;overflow:hidden}.palette-input-row.svelte-1bm0yy4{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.palette-prompt.svelte-1bm0yy4{color:var(--primary);font-weight:700;font-size:.9rem;flex-shrink:0}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4){flex:1;background:none;border:none;color:var(--text);font-size:.85rem;outline:none}.palette-input-row.svelte-1bm0yy4 input:where(.svelte-1bm0yy4)::placeholder{color:var(--text-muted)}.palette-list.svelte-1bm0yy4{max-height:260px;overflow-y:auto}.palette-item.svelte-1bm0yy4{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;cursor:pointer;gap:12px}.palette-item.active.svelte-1bm0yy4{background:var(--surface-2);border-left:2px solid var(--primary);padding-left:12px}.item-label.svelte-1bm0yy4{font-size:.8rem;color:var(--text)}.item-hint.svelte-1bm0yy4{font-size:.68rem;color:var(--text-muted);white-space:nowrap}.palette-empty.svelte-1bm0yy4{padding:16px 14px;font-size:.75rem;color:var(--text-muted)}.palette-footer.svelte-1bm0yy4{display:flex;gap:16px;padding:6px 14px;border-top:1px solid var(--border);background:var(--bg)}.palette-footer.svelte-1bm0yy4 span:where(.svelte-1bm0yy4){font-size:.62rem;color:var(--text-muted);display:flex;align-items:center;gap:4px}kbd.svelte-1bm0yy4{font-family:var(--font-mono);font-size:.6rem;background:var(--surface-2);border:1px solid var(--border-bright);border-radius:2px;padding:1px 4px;color:var(--text-dim)}.app-layout.svelte-1n46o8q{display:flex;flex:1;overflow:hidden;min-height:0}.main.svelte-1n46o8q{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.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{height:100vh;display:flex;flex-direction:column;overflow:hidden}::-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}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var Ms=Object.defineProperty;var pr=e=>{throw TypeError(e)};var Fs=(e,t,n)=>t in e?Ms(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ve=(e,t,n)=>Fs(e,typeof t!="symbol"?t+"":t,n),Mn=(e,t,n)=>t.has(e)||pr("Cannot "+n);var v=(e,t,n)=>(Mn(e,t,"read from private field"),n?n.call(e):t.get(e)),q=(e,t,n)=>t.has(e)?pr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),M=(e,t,n,r)=>(Mn(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),le=(e,t,n)=>(Mn(e,t,"access private method"),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const l of s.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Bn=!1;var rr=Array.isArray,qs=Array.prototype.indexOf,Gt=Array.prototype.includes,An=Array.from,zs=Object.defineProperty,qt=Object.getOwnPropertyDescriptor,Bs=Object.getOwnPropertyDescriptors,Ks=Object.prototype,Us=Array.prototype,Lr=Object.getPrototypeOf,mr=Object.isExtensible;const Hs=()=>{};function Vs(e){for(var t=0;t<e.length;t++)e[t]()}function Mr(){var e,t,n=new Promise((r,i)=>{e=r,t=i});return{promise:n,resolve:e,reject:t}}const ve=2,cn=4,Dn=8,Fr=1<<24,it=16,Ke=32,Mt=64,Kn=128,Ae=512,oe=1024,de=2048,Be=4096,Ee=8192,tt=16384,Ot=32768,Jt=65536,yr=1<<17,qr=1<<18,Zt=1<<19,Ys=1<<20,et=1<<25,It=65536,Un=1<<21,sr=1<<22,ht=1<<23,At=Symbol("$state"),Gs=Symbol("legacy props"),wt=new class extends Error{constructor(){super(...arguments);Ve(this,"name","StaleReactionError");Ve(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Or;const Js=!!((Or=globalThis.document)!=null&&Or.contentType)&&globalThis.document.contentType.includes("xml");function Ws(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Qs(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Xs(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Zs(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function $s(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ei(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ti(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function ni(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function ri(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function si(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function ii(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ai=1,li=2,zr=4,oi=8,fi=16,ui=1,ci=4,vi=8,di=16,hi=1,_i=2,ue=Symbol(),Br="http://www.w3.org/1999/xhtml";function gi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function pi(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Kr(e){return e===this.v}function mi(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Ur(e){return!mi(e,this.v)}let yi=!1,Ne=null;function Wt(e){Ne=e}function Ue(e,t=!1,n){Ne={p:Ne,i:!1,c:null,e:null,s:e,x:null,l:null}}function He(e){var t=Ne,n=t.e;if(n!==null){t.e=null;for(var r of n)us(r)}return t.i=!0,Ne=t.p,{}}function Hr(){return!0}let kt=[];function Vr(){var e=kt;kt=[],Vs(e)}function We(e){if(kt.length===0&&!tn){var t=kt;queueMicrotask(()=>{t===kt&&Vr()})}kt.push(e)}function bi(){for(;kt.length>0;)Vr()}function Yr(e){var t=V;if(t===null)return F.f|=ht,e;if((t.f&Ot)===0&&(t.f&cn)===0)throw e;dt(e,t)}function dt(e,t){for(;t!==null;){if((t.f&Kn)!==0){if((t.f&Ot)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const wi=-7169;function te(e,t){e.f=e.f&wi|t}function ir(e){(e.f&Ae)!==0||e.deps===null?te(e,oe):te(e,Be)}function Gr(e){if(e!==null)for(const t of e)(t.f&ve)===0||(t.f&It)===0||(t.f^=It,Gr(t.deps))}function Jr(e,t,n){(e.f&de)!==0?t.add(e):(e.f&Be)!==0&&n.add(e),Gr(e.deps),te(e,oe)}const mn=new Set;let R=null,Tn=null,ce=null,_e=[],Nn=null,Hn=!1,tn=!1;var zt,Bt,St,Kt,ln,on,xt,Xe,Ut,Te,Vn,Yn,Gn,Wr;const hr=class hr{constructor(){q(this,Te);Ve(this,"current",new Map);Ve(this,"previous",new Map);q(this,zt,new Set);q(this,Bt,new Set);q(this,St,0);q(this,Kt,0);q(this,ln,null);q(this,on,new Set);q(this,xt,new Set);q(this,Xe,new Map);Ve(this,"is_fork",!1);q(this,Ut,!1)}skip_effect(t){v(this,Xe).has(t)||v(this,Xe).set(t,{d:[],m:[]})}unskip_effect(t){var n=v(this,Xe).get(t);if(n){v(this,Xe).delete(t);for(var r of n.d)te(r,de),Fe(r);for(r of n.m)te(r,Be),Fe(r)}}process(t){var i;_e=[],this.apply();var n=[],r=[];for(const s of t)le(this,Te,Yn).call(this,s,n,r);if(le(this,Te,Vn).call(this)){le(this,Te,Gn).call(this,r),le(this,Te,Gn).call(this,n);for(const[s,l]of v(this,Xe))$r(s,l)}else{for(const s of v(this,zt))s();v(this,zt).clear(),v(this,St)===0&&le(this,Te,Wr).call(this),Tn=this,R=null,br(r),br(n),Tn=null,(i=v(this,ln))==null||i.resolve()}ce=null}capture(t,n){n!==ue&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&ht)===0&&(this.current.set(t,t.v),ce==null||ce.set(t,t.v))}activate(){R=this,this.apply()}deactivate(){R===this&&(R=null,ce=null)}flush(){if(this.activate(),_e.length>0){if(Qr(),R!==null&&R!==this)return}else v(this,St)===0&&this.process([]);this.deactivate()}discard(){for(const t of v(this,Bt))t(this);v(this,Bt).clear()}increment(t){M(this,St,v(this,St)+1),t&&M(this,Kt,v(this,Kt)+1)}decrement(t){M(this,St,v(this,St)-1),t&&M(this,Kt,v(this,Kt)-1),!v(this,Ut)&&(M(this,Ut,!0),We(()=>{M(this,Ut,!1),le(this,Te,Vn).call(this)?_e.length>0&&this.flush():this.revive()}))}revive(){for(const t of v(this,on))v(this,xt).delete(t),te(t,de),Fe(t);for(const t of v(this,xt))te(t,Be),Fe(t);this.flush()}oncommit(t){v(this,zt).add(t)}ondiscard(t){v(this,Bt).add(t)}settled(){return(v(this,ln)??M(this,ln,Mr())).promise}static ensure(){if(R===null){const t=R=new hr;mn.add(R),tn||We(()=>{R===t&&t.flush()})}return R}apply(){}};zt=new WeakMap,Bt=new WeakMap,St=new WeakMap,Kt=new WeakMap,ln=new WeakMap,on=new WeakMap,xt=new WeakMap,Xe=new WeakMap,Ut=new WeakMap,Te=new WeakSet,Vn=function(){return this.is_fork||v(this,Kt)>0},Yn=function(t,n,r){t.f^=oe;for(var i=t.first;i!==null;){var s=i.f,l=(s&(Ke|Mt))!==0,f=l&&(s&oe)!==0,o=f||(s&Ee)!==0||v(this,Xe).has(i);if(!o&&i.fn!==null){l?i.f^=oe:(s&cn)!==0?n.push(i):hn(i)&&((s&it)!==0&&v(this,xt).add(i),Xt(i));var u=i.first;if(u!==null){i=u;continue}}for(;i!==null;){var d=i.next;if(d!==null){i=d;break}i=i.parent}}},Gn=function(t){for(var n=0;n<t.length;n+=1)Jr(t[n],v(this,on),v(this,xt))},Wr=function(){var i;if(mn.size>1){this.previous.clear();var t=ce,n=!0;for(const s of mn){if(s===this){n=!1;continue}const l=[];for(const[o,u]of this.current){if(s.current.has(o))if(n&&u!==s.current.get(o))s.current.set(o,u);else continue;l.push(o)}if(l.length===0)continue;const f=[...s.current.keys()].filter(o=>!this.current.has(o));if(f.length>0){var r=_e;_e=[];const o=new Set,u=new Map;for(const d of l)Xr(d,f,o,u);if(_e.length>0){R=s,s.apply();for(const d of _e)le(i=s,Te,Yn).call(i,d,[],[]);s.deactivate()}_e=r}}R=null,ce=t}mn.delete(this)};let _t=hr;function ki(e){var t=tn;tn=!0;try{for(var n;;){if(bi(),_e.length===0&&(R==null||R.flush(),_e.length===0))return Nn=null,n;Qr()}}finally{tn=t}}function Qr(){Hn=!0;var e=null;try{for(var t=0;_e.length>0;){var n=_t.ensure();if(t++>1e3){var r,i;Ei()}n.process(_e),gt.clear()}}finally{_e=[],Hn=!1,Nn=null}}function Ei(){try{ei()}catch(e){dt(e,Nn)}}let Re=null;function br(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(tt|Ee))===0&&hn(r)&&(Re=new Set,Xt(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&ds(r),(Re==null?void 0:Re.size)>0)){gt.clear();for(const i of Re){if((i.f&(tt|Ee))!==0)continue;const s=[i];let l=i.parent;for(;l!==null;)Re.has(l)&&(Re.delete(l),s.push(l)),l=l.parent;for(let f=s.length-1;f>=0;f--){const o=s[f];(o.f&(tt|Ee))===0&&Xt(o)}}Re.clear()}}Re=null}}function Xr(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const i of e.reactions){const s=i.f;(s&ve)!==0?Xr(i,t,n,r):(s&(sr|it))!==0&&(s&de)===0&&Zr(i,t,r)&&(te(i,de),Fe(i))}}function Zr(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const i of e.deps){if(Gt.call(t,i))return!0;if((i.f&ve)!==0&&Zr(i,t,n))return n.set(i,!0),!0}return n.set(e,!1),!1}function Fe(e){var t=Nn=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(cn|Dn|Fr))!==0&&(e.f&Ot)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(Hn&&t===V&&(r&it)!==0&&(r&qr)===0&&(r&Ot)!==0)return;if((r&(Mt|Ke))!==0){if((r&oe)===0)return;t.f^=oe}}_e.push(t)}function $r(e,t){if(!((e.f&Ke)!==0&&(e.f&oe)!==0)){(e.f&de)!==0?t.d.push(e):(e.f&Be)!==0&&t.m.push(e),te(e,oe);for(var n=e.first;n!==null;)$r(n,t),n=n.next}}function Ti(e){let t=0,n=Rt(0),r;return()=>{or()&&(a(n),ur(()=>(t===0&&(r=Rn(()=>e(()=>nn(n)))),t+=1,()=>{We(()=>{t-=1,t===0&&(r==null||r(),r=void 0,nn(n))})})))}}var Si=Jt|Zt;function xi(e,t,n,r){new Ci(e,t,n,r)}var je,nr,Ye,Ct,he,Ge,we,Le,Ze,jt,vt,Ht,Vt,Yt,$e,jn,ie,ji,Pi,Ai,Jn,wn,kn,Wn;class Ci{constructor(t,n,r,i){q(this,ie);Ve(this,"parent");Ve(this,"is_pending",!1);Ve(this,"transform_error");q(this,je);q(this,nr,null);q(this,Ye);q(this,Ct);q(this,he);q(this,Ge,null);q(this,we,null);q(this,Le,null);q(this,Ze,null);q(this,jt,0);q(this,vt,0);q(this,Ht,!1);q(this,Vt,new Set);q(this,Yt,new Set);q(this,$e,null);q(this,jn,Ti(()=>(M(this,$e,Rt(v(this,jt))),()=>{M(this,$e,null)})));var s;M(this,je,t),M(this,Ye,n),M(this,Ct,l=>{var f=V;f.b=this,f.f|=Kn,r(l)}),this.parent=V.b,this.transform_error=i??((s=this.parent)==null?void 0:s.transform_error)??(l=>l),M(this,he,cr(()=>{le(this,ie,Jn).call(this)},Si))}defer_effect(t){Jr(t,v(this,Vt),v(this,Yt))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!v(this,Ye).pending}update_pending_count(t){le(this,ie,Wn).call(this,t),M(this,jt,v(this,jt)+t),!(!v(this,$e)||v(this,Ht))&&(M(this,Ht,!0),We(()=>{M(this,Ht,!1),v(this,$e)&&Qt(v(this,$e),v(this,jt))}))}get_effect_pending(){return v(this,jn).call(this),a(v(this,$e))}error(t){var n=v(this,Ye).onerror;let r=v(this,Ye).failed;if(!n&&!r)throw t;v(this,Ge)&&(pe(v(this,Ge)),M(this,Ge,null)),v(this,we)&&(pe(v(this,we)),M(this,we,null)),v(this,Le)&&(pe(v(this,Le)),M(this,Le,null));var i=!1,s=!1;const l=()=>{if(i){pi();return}i=!0,s&&ii(),v(this,Le)!==null&&Dt(v(this,Le),()=>{M(this,Le,null)}),le(this,ie,kn).call(this,()=>{_t.ensure(),le(this,ie,Jn).call(this)})},f=o=>{try{s=!0,n==null||n(o,l),s=!1}catch(u){dt(u,v(this,he)&&v(this,he).parent)}r&&M(this,Le,le(this,ie,kn).call(this,()=>{_t.ensure();try{return Pe(()=>{var u=V;u.b=this,u.f|=Kn,r(v(this,je),()=>o,()=>l)})}catch(u){return dt(u,v(this,he).parent),null}}))};We(()=>{var o;try{o=this.transform_error(t)}catch(u){dt(u,v(this,he)&&v(this,he).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(f,u=>dt(u,v(this,he)&&v(this,he).parent)):f(o)})}}je=new WeakMap,nr=new WeakMap,Ye=new WeakMap,Ct=new WeakMap,he=new WeakMap,Ge=new WeakMap,we=new WeakMap,Le=new WeakMap,Ze=new WeakMap,jt=new WeakMap,vt=new WeakMap,Ht=new WeakMap,Vt=new WeakMap,Yt=new WeakMap,$e=new WeakMap,jn=new WeakMap,ie=new WeakSet,ji=function(){try{M(this,Ge,Pe(()=>v(this,Ct).call(this,v(this,je))))}catch(t){this.error(t)}},Pi=function(t){const n=v(this,Ye).failed;n&&M(this,Le,Pe(()=>{n(v(this,je),()=>t,()=>()=>{})}))},Ai=function(){const t=v(this,Ye).pending;t&&(this.is_pending=!0,M(this,we,Pe(()=>t(v(this,je)))),We(()=>{var n=M(this,Ze,document.createDocumentFragment()),r=nt();n.append(r),M(this,Ge,le(this,ie,kn).call(this,()=>(_t.ensure(),Pe(()=>v(this,Ct).call(this,r))))),v(this,vt)===0&&(v(this,je).before(n),M(this,Ze,null),Dt(v(this,we),()=>{M(this,we,null)}),le(this,ie,wn).call(this))}))},Jn=function(){try{if(this.is_pending=this.has_pending_snippet(),M(this,vt,0),M(this,jt,0),M(this,Ge,Pe(()=>{v(this,Ct).call(this,v(this,je))})),v(this,vt)>0){var t=M(this,Ze,document.createDocumentFragment());gs(v(this,Ge),t);const n=v(this,Ye).pending;M(this,we,Pe(()=>n(v(this,je))))}else le(this,ie,wn).call(this)}catch(n){this.error(n)}},wn=function(){this.is_pending=!1;for(const t of v(this,Vt))te(t,de),Fe(t);for(const t of v(this,Yt))te(t,Be),Fe(t);v(this,Vt).clear(),v(this,Yt).clear()},kn=function(t){var n=V,r=F,i=Ne;Qe(v(this,he)),Oe(v(this,he)),Wt(v(this,he).ctx);try{return t()}catch(s){return Yr(s),null}finally{Qe(n),Oe(r),Wt(i)}},Wn=function(t){var n;if(!this.has_pending_snippet()){this.parent&&le(n=this.parent,ie,Wn).call(n,t);return}M(this,vt,v(this,vt)+t),v(this,vt)===0&&(le(this,ie,wn).call(this),v(this,we)&&Dt(v(this,we),()=>{M(this,we,null)}),v(this,Ze)&&(v(this,je).before(v(this,Ze)),M(this,Ze,null)))};function Di(e,t,n,r){const i=On;var s=e.filter(_=>!_.settled);if(n.length===0&&s.length===0){r(t.map(i));return}var l=V,f=Ni(),o=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(_=>_.promise)):null;function u(_){f();try{r(_)}catch(p){(l.f&tt)===0&&dt(p,l)}Qn()}if(n.length===0){o.then(()=>u(t.map(i)));return}function d(){f(),Promise.all(n.map(_=>Ii(_))).then(_=>u([...t.map(i),..._])).catch(_=>dt(_,l))}o?o.then(d):d()}function Ni(){var e=V,t=F,n=Ne,r=R;return function(s=!0){Qe(e),Oe(t),Wt(n),s&&(r==null||r.activate())}}function Qn(e=!0){Qe(null),Oe(null),Wt(null),e&&(R==null||R.deactivate())}function Oi(){var e=V.b,t=R,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function On(e){var t=ve|de,n=F!==null&&(F.f&ve)!==0?F:null;return V!==null&&(V.f|=Zt),{ctx:Ne,deps:null,effects:null,equals:Kr,f:t,fn:e,reactions:null,rv:0,v:ue,wv:0,parent:n??V,ac:null}}function Ii(e,t,n){V===null&&Ws();var i=void 0,s=Rt(ue),l=!F,f=new Map;return Ji(()=>{var p;var o=Mr();i=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(Qn)}catch(b){o.reject(b),Qn()}var u=R;if(l){var d=Oi();(p=f.get(u))==null||p.reject(wt),f.delete(u),f.set(u,o)}const _=(b,g=void 0)=>{if(u.activate(),g)g!==wt&&(s.f|=ht,Qt(s,g));else{(s.f&ht)!==0&&(s.f^=ht),Qt(s,b);for(const[E,c]of f){if(f.delete(E),E===u)break;c.reject(wt)}}d&&d()};o.promise.then(_,b=>_(null,b||"unknown"))}),fr(()=>{for(const o of f.values())o.reject(wt)}),new Promise(o=>{function u(d){function _(){d===i?o(s):u(i)}d.then(_,_)}u(i)})}function se(e){const t=On(e);return ps(t),t}function es(e){const t=On(e);return t.equals=Ur,t}function Ri(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)pe(t[n])}}function Li(e){for(var t=e.parent;t!==null;){if((t.f&ve)===0)return(t.f&tt)===0?t:null;t=t.parent}return null}function ar(e){var t,n=V;Qe(Li(e));try{e.f&=~It,Ri(e),t=ws(e)}finally{Qe(n)}return t}function ts(e){var t=ar(e);if(!e.equals(t)&&(e.wv=ys(),(!(R!=null&&R.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){te(e,oe);return}mt||(ce!==null?(or()||R!=null&&R.is_fork)&&ce.set(e,t):ir(e))}function Mi(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(wt),r.teardown=Hs,r.ac=null,an(r,0),vr(r))}function ns(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&Xt(t)}let Xn=new Set;const gt=new Map;let rs=!1;function Rt(e,t){var n={f:0,v:e,reactions:null,equals:Kr,rv:0,wv:0};return n}function N(e,t){const n=Rt(e);return ps(n),n}function Fi(e,t=!1,n=!0){const r=Rt(e);return t||(r.equals=Ur),r}function y(e,t,n=!1){F!==null&&(!ze||(F.f&yr)!==0)&&Hr()&&(F.f&(ve|it|sr|yr))!==0&&(De===null||!Gt.call(De,e))&&si();let r=n?qe(t):t;return Qt(e,r)}function Qt(e,t){if(!e.equals(t)){var n=e.v;mt?gt.set(e,t):gt.set(e,n),e.v=t;var r=_t.ensure();if(r.capture(e,n),(e.f&ve)!==0){const i=e;(e.f&de)!==0&&ar(i),ir(i)}e.wv=ys(),ss(e,de),V!==null&&(V.f&oe)!==0&&(V.f&(Ke|Mt))===0&&(Ce===null?Xi([e]):Ce.push(e)),!r.is_fork&&Xn.size>0&&!rs&&qi()}return t}function qi(){rs=!1;for(const e of Xn)(e.f&oe)!==0&&te(e,Be),hn(e)&&Xt(e);Xn.clear()}function nn(e){y(e,e.v+1)}function ss(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,i=0;i<r;i++){var s=n[i],l=s.f,f=(l&de)===0;if(f&&te(s,t),(l&ve)!==0){var o=s;ce==null||ce.delete(o),(l&It)===0&&(l&Ae&&(s.f|=It),ss(o,Be))}else f&&((l&it)!==0&&Re!==null&&Re.add(s),Fe(s))}}function qe(e){if(typeof e!="object"||e===null||At in e)return e;const t=Lr(e);if(t!==Ks&&t!==Us)return e;var n=new Map,r=rr(e),i=N(0),s=Nt,l=f=>{if(Nt===s)return f();var o=F,u=Nt;Oe(null),Tr(s);var d=f();return Oe(o),Tr(u),d};return r&&n.set("length",N(e.length)),new Proxy(e,{defineProperty(f,o,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&ni();var d=n.get(o);return d===void 0?l(()=>{var _=N(u.value);return n.set(o,_),_}):y(d,u.value,!0),!0},deleteProperty(f,o){var u=n.get(o);if(u===void 0){if(o in f){const d=l(()=>N(ue));n.set(o,d),nn(i)}}else y(u,ue),nn(i);return!0},get(f,o,u){var b;if(o===At)return e;var d=n.get(o),_=o in f;if(d===void 0&&(!_||(b=qt(f,o))!=null&&b.writable)&&(d=l(()=>{var g=qe(_?f[o]:ue),E=N(g);return E}),n.set(o,d)),d!==void 0){var p=a(d);return p===ue?void 0:p}return Reflect.get(f,o,u)},getOwnPropertyDescriptor(f,o){var u=Reflect.getOwnPropertyDescriptor(f,o);if(u&&"value"in u){var d=n.get(o);d&&(u.value=a(d))}else if(u===void 0){var _=n.get(o),p=_==null?void 0:_.v;if(_!==void 0&&p!==ue)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(f,o){var p;if(o===At)return!0;var u=n.get(o),d=u!==void 0&&u.v!==ue||Reflect.has(f,o);if(u!==void 0||V!==null&&(!d||(p=qt(f,o))!=null&&p.writable)){u===void 0&&(u=l(()=>{var b=d?qe(f[o]):ue,g=N(b);return g}),n.set(o,u));var _=a(u);if(_===ue)return!1}return d},set(f,o,u,d){var D;var _=n.get(o),p=o in f;if(r&&o==="length")for(var b=u;b<_.v;b+=1){var g=n.get(b+"");g!==void 0?y(g,ue):b in f&&(g=l(()=>N(ue)),n.set(b+"",g))}if(_===void 0)(!p||(D=qt(f,o))!=null&&D.writable)&&(_=l(()=>N(void 0)),y(_,qe(u)),n.set(o,_));else{p=_.v!==ue;var E=l(()=>qe(u));y(_,E)}var c=Reflect.getOwnPropertyDescriptor(f,o);if(c!=null&&c.set&&c.set.call(d,u),!p){if(r&&typeof o=="string"){var m=n.get("length"),A=Number(o);Number.isInteger(A)&&A>=m.v&&y(m,A+1)}nn(i)}return!0},ownKeys(f){a(i);var o=Reflect.ownKeys(f).filter(_=>{var p=n.get(_);return p===void 0||p.v!==ue});for(var[u,d]of n)d.v!==ue&&!(u in f)&&o.push(u);return o},setPrototypeOf(){ri()}})}function wr(e){try{if(e!==null&&typeof e=="object"&&At in e)return e[At]}catch{}return e}function zi(e,t){return Object.is(wr(e),wr(t))}var pt,is,as,ls;function Bi(){if(pt===void 0){pt=window,is=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;as=qt(t,"firstChild").get,ls=qt(t,"nextSibling").get,mr(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),mr(n)&&(n.__t=void 0)}}function nt(e=""){return document.createTextNode(e)}function Sn(e){return as.call(e)}function vn(e){return ls.call(e)}function k(e,t){return Sn(e)}function dn(e,t=!1){{var n=Sn(e);return n instanceof Comment&&n.data===""?vn(n):n}}function S(e,t=1,n=!1){let r=e;for(;t--;)r=vn(r);return r}function Ki(e){e.textContent=""}function os(){return!1}function Ui(e,t,n){return document.createElementNS(Br,e,void 0)}function lr(e,t){{const n=document.body;e.autofocus=!0,We(()=>{document.activeElement===n&&e.focus()})}}let kr=!1;function Hi(){kr||(kr=!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 In(e){var t=F,n=V;Oe(null),Qe(null);try{return e()}finally{Oe(t),Qe(n)}}function fs(e,t,n,r=n){e.addEventListener(t,()=>In(n));const i=e.__on_r;i?e.__on_r=()=>{i(),r(!0)}:e.__on_r=()=>r(!0),Hi()}function Vi(e){V===null&&(F===null&&$s(),Zs()),mt&&Xs()}function Yi(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function at(e,t,n){var r=V;r!==null&&(r.f&Ee)!==0&&(e|=Ee);var i={ctx:Ne,deps:null,nodes:null,f:e|de|Ae,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{Xt(i)}catch(f){throw pe(i),f}else t!==null&&Fe(i);var s=i;if(n&&s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&Zt)===0&&(s=s.first,(e&it)!==0&&(e&Jt)!==0&&s!==null&&(s.f|=Jt)),s!==null&&(s.parent=r,r!==null&&Yi(s,r),F!==null&&(F.f&ve)!==0&&(e&Mt)===0)){var l=F;(l.effects??(l.effects=[])).push(s)}return i}function or(){return F!==null&&!ze}function fr(e){const t=at(Dn,null,!1);return te(t,oe),t.teardown=e,t}function Lt(e){Vi();var t=V.f,n=!F&&(t&Ke)!==0&&(t&Ot)===0;if(n){var r=Ne;(r.e??(r.e=[])).push(e)}else return us(e)}function us(e){return at(cn|Ys,e,!1)}function Gi(e){_t.ensure();const t=at(Mt|Zt,e,!0);return(n={})=>new Promise(r=>{n.outro?Dt(t,()=>{pe(t),r(void 0)}):(pe(t),r(void 0))})}function cs(e){return at(cn,e,!1)}function Ji(e){return at(sr|Zt,e,!0)}function ur(e,t=0){return at(Dn|t,e,!0)}function G(e,t=[],n=[],r=[]){Di(r,t,n,i=>{at(Dn,()=>e(...i.map(a)),!0)})}function cr(e,t=0){var n=at(it|t,e,!0);return n}function Pe(e){return at(Ke|Zt,e,!0)}function vs(e){var t=e.teardown;if(t!==null){const n=mt,r=F;Er(!0),Oe(null);try{t.call(null)}finally{Er(n),Oe(r)}}}function vr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&In(()=>{i.abort(wt)});var r=n.next;(n.f&Mt)!==0?n.parent=null:pe(n,t),n=r}}function Wi(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&Ke)===0&&pe(t),t=n}}function pe(e,t=!0){var n=!1;(t||(e.f&qr)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Qi(e.nodes.start,e.nodes.end),n=!0),vr(e,t&&!n),an(e,0),te(e,tt);var r=e.nodes&&e.nodes.t;if(r!==null)for(const s of r)s.stop();vs(e);var i=e.parent;i!==null&&i.first!==null&&ds(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Qi(e,t){for(;e!==null;){var n=e===t?null:vn(e);e.remove(),e=n}}function ds(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 Dt(e,t,n=!0){var r=[];hs(e,r,!0);var i=()=>{n&&pe(e),t&&t()},s=r.length;if(s>0){var l=()=>--s||i();for(var f of r)f.out(l)}else i()}function hs(e,t,n){if((e.f&Ee)===0){e.f^=Ee;var r=e.nodes&&e.nodes.t;if(r!==null)for(const f of r)(f.is_global||n)&&t.push(f);for(var i=e.first;i!==null;){var s=i.next,l=(i.f&Jt)!==0||(i.f&Ke)!==0&&(e.f&it)!==0;hs(i,t,l?n:!1),i=s}}}function dr(e){_s(e,!0)}function _s(e,t){if((e.f&Ee)!==0){e.f^=Ee,(e.f&oe)===0&&(te(e,de),Fe(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&Jt)!==0||(n.f&Ke)!==0;_s(n,i?t:!1),n=r}var s=e.nodes&&e.nodes.t;if(s!==null)for(const l of s)(l.is_global||t)&&l.in()}}function gs(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:vn(n);t.append(n),n=i}}let En=!1,mt=!1;function Er(e){mt=e}let F=null,ze=!1;function Oe(e){F=e}let V=null;function Qe(e){V=e}let De=null;function ps(e){F!==null&&(De===null?De=[e]:De.push(e))}let ge=null,be=0,Ce=null;function Xi(e){Ce=e}let ms=1,Et=0,Nt=Et;function Tr(e){Nt=e}function ys(){return++ms}function hn(e){var t=e.f;if((t&de)!==0)return!0;if(t&ve&&(e.f&=~It),(t&Be)!==0){for(var n=e.deps,r=n.length,i=0;i<r;i++){var s=n[i];if(hn(s)&&ts(s),s.wv>e.wv)return!0}(t&Ae)!==0&&ce===null&&te(e,oe)}return!1}function bs(e,t,n=!0){var r=e.reactions;if(r!==null&&!(De!==null&&Gt.call(De,e)))for(var i=0;i<r.length;i++){var s=r[i];(s.f&ve)!==0?bs(s,t,!1):t===s&&(n?te(s,de):(s.f&oe)!==0&&te(s,Be),Fe(s))}}function ws(e){var E;var t=ge,n=be,r=Ce,i=F,s=De,l=Ne,f=ze,o=Nt,u=e.f;ge=null,be=0,Ce=null,F=(u&(Ke|Mt))===0?e:null,De=null,Wt(e.ctx),ze=!1,Nt=++Et,e.ac!==null&&(In(()=>{e.ac.abort(wt)}),e.ac=null);try{e.f|=Un;var d=e.fn,_=d();e.f|=Ot;var p=e.deps,b=R==null?void 0:R.is_fork;if(ge!==null){var g;if(b||an(e,be),p!==null&&be>0)for(p.length=be+ge.length,g=0;g<ge.length;g++)p[be+g]=ge[g];else e.deps=p=ge;if(or()&&(e.f&Ae)!==0)for(g=be;g<p.length;g++)((E=p[g]).reactions??(E.reactions=[])).push(e)}else!b&&p!==null&&be<p.length&&(an(e,be),p.length=be);if(Hr()&&Ce!==null&&!ze&&p!==null&&(e.f&(ve|Be|de))===0)for(g=0;g<Ce.length;g++)bs(Ce[g],e);if(i!==null&&i!==e){if(Et++,i.deps!==null)for(let c=0;c<n;c+=1)i.deps[c].rv=Et;if(t!==null)for(const c of t)c.rv=Et;Ce!==null&&(r===null?r=Ce:r.push(...Ce))}return(e.f&ht)!==0&&(e.f^=ht),_}catch(c){return Yr(c)}finally{e.f^=Un,ge=t,be=n,Ce=r,F=i,De=s,Wt(l),ze=f,Nt=o}}function Zi(e,t){let n=t.reactions;if(n!==null){var r=qs.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&(t.f&ve)!==0&&(ge===null||!Gt.call(ge,t))){var s=t;(s.f&Ae)!==0&&(s.f^=Ae,s.f&=~It),ir(s),Mi(s),an(s,0)}}function an(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Zi(e,n[r])}function Xt(e){var t=e.f;if((t&tt)===0){te(e,oe);var n=V,r=En;V=e,En=!0;try{(t&(it|Fr))!==0?Wi(e):vr(e),vs(e);var i=ws(e);e.teardown=typeof i=="function"?i:null,e.wv=ms;var s;Bn&&yi&&(e.f&de)!==0&&e.deps}finally{En=r,V=n}}}async function $i(){await Promise.resolve(),ki()}function a(e){var t=e.f,n=(t&ve)!==0;if(F!==null&&!ze){var r=V!==null&&(V.f&tt)!==0;if(!r&&(De===null||!Gt.call(De,e))){var i=F.deps;if((F.f&Un)!==0)e.rv<Et&&(e.rv=Et,ge===null&&i!==null&&i[be]===e?be++:ge===null?ge=[e]:ge.push(e));else{(F.deps??(F.deps=[])).push(e);var s=e.reactions;s===null?e.reactions=[F]:Gt.call(s,F)||s.push(F)}}}if(mt&>.has(e))return gt.get(e);if(n){var l=e;if(mt){var f=l.v;return((l.f&oe)===0&&l.reactions!==null||Es(l))&&(f=ar(l)),gt.set(l,f),f}var o=(l.f&Ae)===0&&!ze&&F!==null&&(En||(F.f&Ae)!==0),u=(l.f&Ot)===0;hn(l)&&(o&&(l.f|=Ae),ts(l)),o&&!u&&(ns(l),ks(l))}if(ce!=null&&ce.has(e))return ce.get(e);if((e.f&ht)!==0)throw e.v;return e.v}function ks(e){if(e.f|=Ae,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&ve)!==0&&(t.f&Ae)===0&&(ns(t),ks(t))}function Es(e){if(e.v===ue)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(gt.has(t)||(t.f&ve)!==0&&Es(t))return!0;return!1}function Rn(e){var t=ze;try{return ze=!0,e()}finally{ze=t}}const ea=["touchstart","touchmove"];function ta(e){return ea.includes(e)}const Tt=Symbol("events"),Ts=new Set,Zn=new Set;function na(e,t,n,r={}){function i(s){if(r.capture||$n.call(t,s),!s.cancelBubble)return In(()=>n==null?void 0:n.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?We(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function me(e,t,n,r,i){var s={capture:r,passive:i},l=na(e,t,n,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&fr(()=>{t.removeEventListener(e,l,s)})}function X(e,t,n){(t[Tt]??(t[Tt]={}))[e]=n}function lt(e){for(var t=0;t<e.length;t++)Ts.add(e[t]);for(var n of Zn)n(e)}let Sr=null;function $n(e){var c,m;var t=this,n=t.ownerDocument,r=e.type,i=((c=e.composedPath)==null?void 0:c.call(e))||[],s=i[0]||e.target;Sr=e;var l=0,f=Sr===e&&e[Tt];if(f){var o=i.indexOf(f);if(o!==-1&&(t===document||t===window)){e[Tt]=t;return}var u=i.indexOf(t);if(u===-1)return;o<=u&&(l=o)}if(s=i[l]||e.target,s!==t){zs(e,"currentTarget",{configurable:!0,get(){return s||n}});var d=F,_=V;Oe(null),Qe(null);try{for(var p,b=[];s!==null;){var g=s.assignedSlot||s.parentNode||s.host||null;try{var E=(m=s[Tt])==null?void 0:m[r];E!=null&&(!s.disabled||e.target===s)&&E.call(s,e)}catch(A){p?b.push(A):p=A}if(e.cancelBubble||g===t||g===null)break;s=g}if(p){for(let A of b)queueMicrotask(()=>{throw A});throw p}}finally{e[Tt]=t,delete e.currentTarget,Oe(d),Qe(_)}}}var Ir;const Fn=((Ir=globalThis==null?void 0:globalThis.window)==null?void 0:Ir.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function ra(e){return(Fn==null?void 0:Fn.createHTML(e))??e}function sa(e){var t=Ui("template");return t.innerHTML=ra(e.replaceAll("<!>","<!---->")),t.content}function xn(e,t){var n=V;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function P(e,t){var n=(t&hi)!==0,r=(t&_i)!==0,i,s=!e.startsWith("<!>");return()=>{i===void 0&&(i=sa(s?e:"<!>"+e),n||(i=Sn(i)));var l=r||is?document.importNode(i,!0):i.cloneNode(!0);if(n){var f=Sn(l),o=l.lastChild;xn(f,o)}else xn(l,l);return l}}function xr(e=""){{var t=nt(e+"");return xn(t,t),t}}function ia(){var e=document.createDocumentFragment(),t=document.createComment(""),n=nt();return e.append(t,n),xn(t,n),e}function C(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 aa(e,t){return la(e,t)}const yn=new Map;function la(e,{target:t,anchor:n,props:r={},events:i,context:s,intro:l=!0,transformError:f}){Bi();var o=void 0,u=Gi(()=>{var d=n??t.appendChild(nt());xi(d,{pending:()=>{}},b=>{Ue({});var g=Ne;s&&(g.c=s),i&&(r.$$events=i),o=e(b,r)||{},He()},f);var _=new Set,p=b=>{for(var g=0;g<b.length;g++){var E=b[g];if(!_.has(E)){_.add(E);var c=ta(E);for(const D of[t,document]){var m=yn.get(D);m===void 0&&(m=new Map,yn.set(D,m));var A=m.get(E);A===void 0?(D.addEventListener(E,$n,{passive:c}),m.set(E,1)):m.set(E,A+1)}}}};return p(An(Ts)),Zn.add(p),()=>{var c;for(var b of _)for(const m of[t,document]){var g=yn.get(m),E=g.get(b);--E==0?(m.removeEventListener(b,$n),g.delete(b),g.size===0&&yn.delete(m)):g.set(b,E)}Zn.delete(p),d!==n&&((c=d.parentNode)==null||c.removeChild(d))}});return oa.set(o,u),o}let oa=new WeakMap;var Me,Je,ke,Pt,fn,un,Pn;class fa{constructor(t,n=!0){Ve(this,"anchor");q(this,Me,new Map);q(this,Je,new Map);q(this,ke,new Map);q(this,Pt,new Set);q(this,fn,!0);q(this,un,()=>{var t=R;if(v(this,Me).has(t)){var n=v(this,Me).get(t),r=v(this,Je).get(n);if(r)dr(r),v(this,Pt).delete(n);else{var i=v(this,ke).get(n);i&&(v(this,Je).set(n,i.effect),v(this,ke).delete(n),i.fragment.lastChild.remove(),this.anchor.before(i.fragment),r=i.effect)}for(const[s,l]of v(this,Me)){if(v(this,Me).delete(s),s===t)break;const f=v(this,ke).get(l);f&&(pe(f.effect),v(this,ke).delete(l))}for(const[s,l]of v(this,Je)){if(s===n||v(this,Pt).has(s))continue;const f=()=>{if(Array.from(v(this,Me).values()).includes(s)){var u=document.createDocumentFragment();gs(l,u),u.append(nt()),v(this,ke).set(s,{effect:l,fragment:u})}else pe(l);v(this,Pt).delete(s),v(this,Je).delete(s)};v(this,fn)||!r?(v(this,Pt).add(s),Dt(l,f,!1)):f()}}});q(this,Pn,t=>{v(this,Me).delete(t);const n=Array.from(v(this,Me).values());for(const[r,i]of v(this,ke))n.includes(r)||(pe(i.effect),v(this,ke).delete(r))});this.anchor=t,M(this,fn,n)}ensure(t,n){var r=R,i=os();if(n&&!v(this,Je).has(t)&&!v(this,ke).has(t))if(i){var s=document.createDocumentFragment(),l=nt();s.append(l),v(this,ke).set(t,{effect:Pe(()=>n(l)),fragment:s})}else v(this,Je).set(t,Pe(()=>n(this.anchor)));if(v(this,Me).set(r,t),i){for(const[f,o]of v(this,Je))f===t?r.unskip_effect(o):r.skip_effect(o);for(const[f,o]of v(this,ke))f===t?r.unskip_effect(o.effect):r.skip_effect(o.effect);r.oncommit(v(this,un)),r.ondiscard(v(this,Pn))}else v(this,un).call(this)}}Me=new WeakMap,Je=new WeakMap,ke=new WeakMap,Pt=new WeakMap,fn=new WeakMap,un=new WeakMap,Pn=new WeakMap;function U(e,t,n=!1){var r=new fa(e),i=n?Jt:0;function s(l,f){r.ensure(l,f)}cr(()=>{var l=!1;t((f,o=0)=>{l=!0,s(o,f)}),l||s(!1,null)},i)}function Cn(e,t){return t}function ua(e,t,n){for(var r=[],i=t.length,s,l=t.length,f=0;f<i;f++){let _=t[f];Dt(_,()=>{if(s){if(s.pending.delete(_),s.done.add(_),s.pending.size===0){var p=e.outrogroups;er(An(s.done)),p.delete(s),p.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var o=r.length===0&&n!==null;if(o){var u=n,d=u.parentNode;Ki(d),d.append(u),e.items.clear()}er(t,!o)}else s={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(s)}function er(e,t=!0){for(var n=0;n<e.length;n++)pe(e[n],t)}var Cr;function st(e,t,n,r,i,s=null){var l=e,f=new Map,o=(t&zr)!==0;if(o){var u=e;l=u.appendChild(nt())}var d=null,_=es(()=>{var m=n();return rr(m)?m:m==null?[]:An(m)}),p,b=!0;function g(){c.fallback=d,ca(c,p,l,t,r),d!==null&&(p.length===0?(d.f&et)===0?dr(d):(d.f^=et,en(d,null,l)):Dt(d,()=>{d=null}))}var E=cr(()=>{p=a(_);for(var m=p.length,A=new Set,D=R,B=os(),w=0;w<m;w+=1){var x=p[w],j=r(x,w),O=b?null:f.get(j);O?(O.v&&Qt(O.v,x),O.i&&Qt(O.i,w),B&&D.unskip_effect(O.e)):(O=va(f,b?l:Cr??(Cr=nt()),x,j,w,i,t,n),b||(O.e.f|=et),f.set(j,O)),A.add(j)}if(m===0&&s&&!d&&(b?d=Pe(()=>s(l)):(d=Pe(()=>s(Cr??(Cr=nt()))),d.f|=et)),m>A.size&&Qs(),!b)if(B){for(const[J,$]of f)A.has(J)||D.skip_effect($.e);D.oncommit(g),D.ondiscard(()=>{})}else g();a(_)}),c={effect:E,items:f,outrogroups:null,fallback:d};b=!1}function $t(e){for(;e!==null&&(e.f&Ke)===0;)e=e.next;return e}function ca(e,t,n,r,i){var $,fe,I,Z,K,ee,ae,ye,Ie;var s=(r&oi)!==0,l=t.length,f=e.items,o=$t(e.effect.first),u,d=null,_,p=[],b=[],g,E,c,m;if(s)for(m=0;m<l;m+=1)g=t[m],E=i(g,m),c=f.get(E).e,(c.f&et)===0&&((fe=($=c.nodes)==null?void 0:$.a)==null||fe.measure(),(_??(_=new Set)).add(c));for(m=0;m<l;m+=1){if(g=t[m],E=i(g,m),c=f.get(E).e,e.outrogroups!==null)for(const W of e.outrogroups)W.pending.delete(c),W.done.delete(c);if((c.f&et)!==0)if(c.f^=et,c===o)en(c,null,n);else{var A=d?d.next:o;c===e.effect.last&&(e.effect.last=c.prev),c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),ft(e,d,c),ft(e,c,A),en(c,A,n),d=c,p=[],b=[],o=$t(d.next);continue}if((c.f&Ee)!==0&&(dr(c),s&&((Z=(I=c.nodes)==null?void 0:I.a)==null||Z.unfix(),(_??(_=new Set)).delete(c))),c!==o){if(u!==void 0&&u.has(c)){if(p.length<b.length){var D=b[0],B;d=D.prev;var w=p[0],x=p[p.length-1];for(B=0;B<p.length;B+=1)en(p[B],D,n);for(B=0;B<b.length;B+=1)u.delete(b[B]);ft(e,w.prev,x.next),ft(e,d,w),ft(e,x,D),o=D,d=x,m-=1,p=[],b=[]}else u.delete(c),en(c,o,n),ft(e,c.prev,c.next),ft(e,c,d===null?e.effect.first:d.next),ft(e,d,c),d=c;continue}for(p=[],b=[];o!==null&&o!==c;)(u??(u=new Set)).add(o),b.push(o),o=$t(o.next);if(o===null)continue}(c.f&et)===0&&p.push(c),d=c,o=$t(c.next)}if(e.outrogroups!==null){for(const W of e.outrogroups)W.pending.size===0&&(er(An(W.done)),(K=e.outrogroups)==null||K.delete(W));e.outrogroups.size===0&&(e.outrogroups=null)}if(o!==null||u!==void 0){var j=[];if(u!==void 0)for(c of u)(c.f&Ee)===0&&j.push(c);for(;o!==null;)(o.f&Ee)===0&&o!==e.fallback&&j.push(o),o=$t(o.next);var O=j.length;if(O>0){var J=(r&zr)!==0&&l===0?n:null;if(s){for(m=0;m<O;m+=1)(ae=(ee=j[m].nodes)==null?void 0:ee.a)==null||ae.measure();for(m=0;m<O;m+=1)(Ie=(ye=j[m].nodes)==null?void 0:ye.a)==null||Ie.fix()}ua(e,j,J)}}s&&We(()=>{var W,re;if(_!==void 0)for(c of _)(re=(W=c.nodes)==null?void 0:W.a)==null||re.apply()})}function va(e,t,n,r,i,s,l,f){var o=(l&ai)!==0?(l&fi)===0?Fi(n,!1,!1):Rt(n):null,u=(l&li)!==0?Rt(i):null;return{v:o,i:u,e:Pe(()=>(s(t,o??n,u??i,f),()=>{e.delete(r)}))}}function en(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,s=t&&(t.f&et)===0?t.nodes.start:n;r!==null;){var l=vn(r);if(s.before(r),r===i)return;r=l}}function ft(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const jr=[...`
|
|
2
|
-
\r\f \v\uFEFF`];function da(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+" "+i:i;else if(r.length)for(var s=i.length,l=0;(l=r.indexOf(i,l))>=0;){var f=l+s;(l===0||jr.includes(r[l-1]))&&(f===r.length||jr.includes(r[f]))?r=(l===0?"":r.substring(0,l))+r.substring(f+1):l=f}}return r===""?null:r}function ha(e,t){return e==null?null:String(e)}function rt(e,t,n,r,i,s){var l=e.__className;if(l!==n||l===void 0){var f=da(n,r,s);f==null?e.removeAttribute("class"):e.className=f,e.__className=n}else if(s&&i!==s)for(var o in s){var u=!!s[o];(i==null||u!==!!i[o])&&e.classList.toggle(o,u)}return s}function Ss(e,t,n,r){var i=e.__style;if(i!==t){var s=ha(t);s==null?e.removeAttribute("style"):e.style.cssText=s,e.__style=t}return r}function xs(e,t,n=!1){if(e.multiple){if(t==null)return;if(!rr(t))return gi();for(var r of e.options)r.selected=t.includes(rn(r));return}for(r of e.options){var i=rn(r);if(zi(i,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function _a(e){var t=new MutationObserver(()=>{xs(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),fr(()=>{t.disconnect()})}function Pr(e,t,n=t){var r=new WeakSet,i=!0;fs(e,"change",s=>{var l=s?"[selected]":":checked",f;if(e.multiple)f=[].map.call(e.querySelectorAll(l),rn);else{var o=e.querySelector(l)??e.querySelector("option:not([disabled])");f=o&&rn(o)}n(f),R!==null&&r.add(R)}),cs(()=>{var s=t();if(e===document.activeElement){var l=Tn??R;if(r.has(l))return}if(xs(e,s,i),i&&s===void 0){var f=e.querySelector(":checked");f!==null&&(s=rn(f),n(s))}e.__value=s,i=!1}),_a(e)}function rn(e){return"__value"in e?e.__value:e.value}const ga=Symbol("is custom element"),pa=Symbol("is html"),ma=Js?"progress":"PROGRESS";function ya(e,t){var n=Cs(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==ma)||(e.value=t??"")}function Ar(e,t,n,r){var i=Cs(e);i[t]!==(i[t]=n)&&(n==null?e.removeAttribute(t):typeof n!="string"&&ba(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Cs(e){return e.__attributes??(e.__attributes={[ga]:e.nodeName.includes("-"),[pa]:e.namespaceURI===Br})}var Dr=new Map;function ba(e){var t=e.getAttribute("is")||e.nodeName,n=Dr.get(t);if(n)return n;Dr.set(t,n=[]);for(var r,i=e,s=Element.prototype;s!==i;){r=Bs(i);for(var l in r)r[l].set&&n.push(l);i=Lr(i)}return n}function sn(e,t,n=t){var r=new WeakSet;fs(e,"input",async i=>{var s=i?e.defaultValue:e.value;if(s=qn(e)?zn(s):s,n(s),R!==null&&r.add(R),await $i(),s!==(s=t())){var l=e.selectionStart,f=e.selectionEnd,o=e.value.length;if(e.value=s??"",f!==null){var u=e.value.length;l===f&&f===o&&u>o?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=l,e.selectionEnd=Math.min(f,u))}}}),Rn(t)==null&&e.value&&(n(qn(e)?zn(e.value):e.value),R!==null&&r.add(R)),ur(()=>{var i=t();if(e===document.activeElement){var s=Tn??R;if(r.has(s))return}qn(e)&&i===zn(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function qn(e){var t=e.type;return t==="number"||t==="range"}function zn(e){return e===""?null:+e}function Nr(e,t){return e===t||(e==null?void 0:e[At])===t}function tr(e={},t,n,r){return cs(()=>{var i,s;return ur(()=>{i=s,s=[],Rn(()=>{e!==n(...s)&&(t(e,...s),i&&Nr(n(...i),e)&&t(null,...i))})}),()=>{We(()=>{s&&Nr(n(...s),e)&&t(null,...s)})}}),e}let bn=!1;function wa(e){var t=bn;try{return bn=!1,[e(),bn]}finally{bn=t}}function _n(e,t,n,r){var A;var i=(n&vi)!==0,s=(n&di)!==0,l=r,f=!0,o=()=>(f&&(f=!1,l=s?Rn(r):r),l),u;if(i){var d=At in e||Gs in e;u=((A=qt(e,t))==null?void 0:A.set)??(d&&t in e?D=>e[t]=D:void 0)}var _,p=!1;i?[_,p]=wa(()=>e[t]):_=e[t],_===void 0&&r!==void 0&&(_=o(),u&&(ti(),u(_)));var b;if(b=()=>{var D=e[t];return D===void 0?o():(f=!0,D)},(n&ci)===0)return b;if(u){var g=e.$$legacy;return(function(D,B){return arguments.length>0?((!B||g||p)&&u(B?b():D),D):b()})}var E=!1,c=((n&ui)!==0?On:es)(()=>(E=!1,b()));i&&a(c);var m=V;return(function(D,B){if(arguments.length>0){const w=B?a(c):i?qe(D):D;return y(c,w),E=!0,l!==void 0&&(l=w),D}return mt&&E||(m.f&tt)!==0?c.v:a(c)})}const ka="5";var Rr;typeof window<"u"&&((Rr=window.__svelte??(window.__svelte={})).v??(Rr.v=new Set)).add(ka);async function ut(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 ct={getProjects:()=>ut("/projects"),getProject:e=>ut(`/projects/${e}`),updateProject:(e,t)=>ut(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>ut(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>ut(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>ut(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>ut(`/tasks/${e}`,{method:"DELETE"}),getDecisions:e=>ut(`/projects/${e}/decisions`)};var Ea=P('<input class="rename-input svelte-1kanzy0" type="text"/>'),Ta=P('<span class="project-slug svelte-1kanzy0"> </span>'),Sa=P('<span class="project-name svelte-1kanzy0"> </span> <!> <button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>',1),xa=P('<div class="project-area svelte-1kanzy0"><!></div>'),Ca=P('<header class="toolbar svelte-1kanzy0"><!></header>');function ja(e,t){Ue(t,!0);let n=N(!1),r=N("");const i=se(()=>projects.find(_=>_.id===t.selectedId));function s(){a(i)&&(y(r,a(i).name,!0),y(n,!0))}function l(){if(!a(i)||!a(n))return;const _=a(r).trim();_&&_!==a(i).name&&t.onRenamed(a(i).id,_),y(n,!1)}function f(_){_.key==="Enter"&&l(),_.key==="Escape"&&y(n,!1)}var o=Ca(),u=k(o);{var d=_=>{var p=xa(),b=k(p);{var g=c=>{var m=Ea();lr(m),me("blur",m,l),X("keydown",m,f),sn(m,()=>a(r),A=>y(r,A)),C(c,m)},E=c=>{var m=Sa(),A=dn(m),D=k(A),B=S(A,2);{var w=j=>{var O=Ta(),J=k(O);G(()=>z(J,`[${a(i).slug??""}]`)),C(j,O)};U(B,j=>{a(i).slug&&j(w)})}var x=S(B,2);G(()=>z(D,a(i).name)),X("click",x,s),C(c,m)};U(b,c=>{a(n)?c(g):c(E,!1)})}C(_,p)};U(u,_=>{a(i)&&_(d)})}C(e,o),He()}lt(["keydown","click"]);var Pa=P('<span class="brand svelte-rig7vt"><span class="prompt svelte-rig7vt">></span> mindpm</span>'),Aa=P('<span class="task-count svelte-rig7vt"> </span>'),Da=P('<span class="project-name svelte-rig7vt"> </span> <!>',1),Na=P('<span class="task-count-collapsed svelte-rig7vt"> </span>'),Oa=P('<button><span class="status-dot svelte-rig7vt"></span> <!></button>'),Ia=P('<div class="sidebar-footer svelte-rig7vt"><span class="footer-hint svelte-rig7vt"> </span></div>'),Ra=P('<aside><div class="sidebar-header svelte-rig7vt"><!> <button class="collapse-btn svelte-rig7vt"> </button></div> <nav class="project-list svelte-rig7vt"></nav> <!></aside>');function La(e,t){Ue(t,!0);const n="mindpm_sidebar_collapsed";let r=N(localStorage.getItem(n)==="true");function i(){y(r,!a(r)),localStorage.setItem(n,String(a(r)))}const s={active:"var(--primary)",paused:"#d29922",completed:"var(--text-muted)",archived:"var(--border-bright)"};var l=Ra();let f;var o=k(l),u=k(o);{var d=c=>{var m=Pa();C(c,m)};U(u,c=>{a(r)||c(d)})}var _=S(u,2),p=k(_),b=S(o,2);st(b,21,()=>t.projects,c=>c.id,(c,m)=>{var A=Oa();let D;var B=k(A),w=S(B,2);{var x=O=>{var J=Da(),$=dn(J),fe=k($),I=S($,2);{var Z=K=>{var ee=Aa(),ae=k(ee);G(()=>z(ae,a(m).active_task_count)),C(K,ee)};U(I,K=>{(a(m).active_task_count??0)>0&&K(Z)})}G(()=>z(fe,a(m).name)),C(O,J)},j=O=>{var J=Na(),$=k(J);G(()=>z($,a(m).active_task_count)),C(O,J)};U(w,O=>{a(r)?(a(m).active_task_count??0)>0&&O(j,1):O(x)})}G(()=>{D=rt(A,1,"project-item svelte-rig7vt",null,D,{active:a(m).id===t.selectedId}),Ar(A,"title",a(r)?a(m).name:void 0),Ss(B,`background: ${s[a(m).status]??"var(--text-muted)"??""}`)}),X("click",A,()=>t.onSelect(a(m).id)),C(c,A)});var g=S(b,2);{var E=c=>{var m=Ia(),A=k(m),D=k(A);G(()=>z(D,`// ${t.projects.length??""} project${t.projects.length!==1?"s":""}`)),C(c,m)};U(g,c=>{a(r)||c(E)})}G(()=>{f=rt(l,1,"sidebar svelte-rig7vt",null,f,{collapsed:a(r)}),Ar(_,"title",a(r)?"Expand sidebar":"Collapse sidebar"),z(p,a(r)?"»":"«")}),X("click",_,i),C(e,l),He()}lt(["click"]);const Ma=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],js=["critical","high","medium","low"];var Fa=P('<span class="task-id svelte-35ep21"> </span>'),qa=P('<div class="card-desc svelte-35ep21"> </div>'),za=P('<span class="tag svelte-35ep21"> </span>'),Ba=P('<div class="card-tags svelte-35ep21"></div>'),Ka=P('<span class="badge badge-blocked svelte-35ep21">⊘ blocked</span>'),Ua=P('<span class="badge badge-subtasks svelte-35ep21"> </span>'),Ha=P('<div class="card-footer svelte-35ep21"><!> <!></div>'),Va=P('<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">×</button></div></div> <div class="card-title svelte-35ep21"> </div> <!> <!> <!></div>');function Ya(e,t){Ue(t,!0);let n=_n(t,"subtaskCount",3,0),r=N(!1);function i(I){if(!I)return[];try{return JSON.parse(I)}catch{return[]}}const s=se(()=>i(t.task.tags)),l=se(()=>`priority-${t.task.priority}`),f=se(()=>()=>{if(!t.task.blocked_by)return!1;try{const I=JSON.parse(t.task.blocked_by);return Array.isArray(I)&&I.length>0}catch{return!1}});function o(I){y(r,!0),t.onDragStart(I,t.task)}function u(){y(r,!1)}var d=Va();let _;var p=k(d),b=k(p),g=k(b),E=S(b,2),c=k(E);{var m=I=>{var Z=Fa(),K=k(Z);G(()=>z(K,t.task.short_id)),C(I,Z)};U(c,I=>{t.task.short_id&&I(m)})}var A=S(c,2),D=S(p,2),B=k(D),w=S(D,2);{var x=I=>{var Z=qa(),K=k(Z);G(()=>z(K,t.task.description)),C(I,Z)};U(w,I=>{t.task.description&&I(x)})}var j=S(w,2);{var O=I=>{var Z=Ba();st(Z,21,()=>a(s),Cn,(K,ee)=>{var ae=za(),ye=k(ae);G(()=>z(ye,a(ee))),C(K,ae)}),C(I,Z)};U(j,I=>{a(s).length>0&&I(O)})}var J=S(j,2);{var $=I=>{var Z=Ha(),K=k(Z);{var ee=W=>{var re=Ka();C(W,re)},ae=se(()=>a(f)());U(K,W=>{a(ae)&&W(ee)})}var ye=S(K,2);{var Ie=W=>{var re=Ua(),Se=k(re);G(()=>z(Se,`⑂ ${n()??""}`)),C(W,re)};U(ye,W=>{n()>0&&W(Ie)})}C(I,Z)},fe=se(()=>a(f)()||n()>0);U(J,I=>{a(fe)&&I($)})}G(()=>{_=rt(d,1,`card ${a(l)??""}`,"svelte-35ep21",_,{dragging:a(r)}),rt(b,1,`priority-badge ${a(l)??""}`,"svelte-35ep21"),z(g,t.task.priority),z(B,t.task.title)}),me("dragstart",d,o),me("dragend",d,u),X("click",d,()=>t.onEdit(t.task)),X("keydown",d,I=>{I.key==="Enter"&&t.onEdit(t.task)}),X("click",A,I=>{I.stopPropagation(),t.onDelete(t.task)}),C(e,d),He()}lt(["click","keydown"]);var Ga=P('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),Ja=P('<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 Wa(e,t){Ue(t,!0);let n=N(!1);function r(c){c.preventDefault(),c.dataTransfer&&(c.dataTransfer.dropEffect="move"),y(n,!0)}function i(){y(n,!1)}function s(c){c.preventDefault(),y(n,!1),t.onDrop(t.status)}var l=Ja();let f;var o=k(l),u=k(o),d=S(k(u)),_=S(d),p=k(_),b=S(u,2);{var g=c=>{var m=Ga();X("click",m,()=>t.onAddTask(t.status)),C(c,m)};U(b,c=>{t.status==="todo"&&c(g)})}var E=S(o,2);st(E,21,()=>t.tasks,c=>c.id,(c,m)=>{{let A=se(()=>t.subtaskCounts.get(a(m).id)??0);Ya(c,{get task(){return a(m)},get subtaskCount(){return a(A)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}}),G(()=>{f=rt(l,1,"column svelte-zswfgn",null,f,{"drag-over":a(n)}),z(d,` ${t.label??""} `),z(p,`[${t.tasks.length??""}]`)}),me("dragover",l,r),me("dragleave",l,i),me("drop",l,s),C(e,l),He()}lt(["click"]);var Qa=P('<span class="modal-task-id svelte-1gmf2hi"> </span>'),Xa=P("<option> </option>"),Za=P('<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>'),$a=P('<div class="decision-reasoning svelte-1gmf2hi"> </div>'),el=P('<div class="decision-alts svelte-1gmf2hi"> </div>'),tl=P('<div class="decision-item svelte-1gmf2hi"><div class="decision-title svelte-1gmf2hi"> </div> <div class="decision-body svelte-1gmf2hi"> </div> <!> <!></div>'),nl=P('<div class="decisions-section svelte-1gmf2hi"><h3 class="decisions-heading svelte-1gmf2hi">Decisions</h3> <div class="decisions-list svelte-1gmf2hi"></div></div>'),rl=P('<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">×</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 sl(e,t){Ue(t,!0);let n=_n(t,"defaultStatus",3,"todo"),r=N(""),i=N(""),s=N("medium"),l=N("todo"),f=N(""),o=N(qe([]));Lt(()=>{var L,H,ne,h,T;if(y(r,((L=t.task)==null?void 0:L.title)??"",!0),y(i,((H=t.task)==null?void 0:H.description)??"",!0),y(s,((ne=t.task)==null?void 0:ne.priority)??"medium",!0),y(l,((h=t.task)==null?void 0:h.status)??n(),!0),(T=t.task)!=null&&T.tags)try{y(f,JSON.parse(t.task.tags).join(", "),!0)}catch{y(f,"")}else y(f,"")}),Lt(()=>{t.task!==null?ct.getDecisions(t.projectId).then(L=>{y(o,L,!0)}).catch(()=>{y(o,[],!0)}):y(o,[],!0)});const u=se(()=>t.task!==null);function d(L){L.preventDefault();const H=a(r).trim();if(!H)return;const ne=a(f).split(",").map(h=>h.trim()).filter(Boolean);t.onSave({title:H,description:a(i).trim(),priority:a(s),...a(u)?{status:a(l)}:{},tags:ne})}function _(L){L.target.classList.contains("modal-backdrop")&&t.onClose()}function p(L){L.key==="Escape"&&t.onClose()}var b=rl();me("keydown",pt,p);var g=k(b),E=k(g),c=k(E),m=k(c),A=k(m),D=S(m,2);{var B=L=>{var H=Qa(),ne=k(H);G(()=>z(ne,t.task.short_id)),C(L,H)};U(D,L=>{var H;(H=t.task)!=null&&H.short_id&&L(B)})}var w=S(c,2),x=S(E,2),j=k(x),O=S(k(j),2);lr(O);var J=S(j,2),$=S(k(J),2),fe=S(J,2),I=k(fe),Z=S(k(I),2);st(Z,21,()=>js,Cn,(L,H)=>{var ne=Xa(),h=k(ne),T={};G(()=>{z(h,a(H)),T!==(T=a(H))&&(ne.value=(ne.__value=a(H))??"")}),C(L,ne)});var K=S(I,2);{var ee=L=>{var H=Za(),ne=S(k(H),2),h=k(ne);h.value=h.__value="todo";var T=S(h);T.value=T.__value="in_progress";var Y=S(T);Y.value=Y.__value="blocked";var Q=S(Y);Q.value=Q.__value="done";var xe=S(Q);xe.value=xe.__value="cancelled",Pr(ne,()=>a(l),gn=>y(l,gn)),C(L,H)};U(K,L=>{a(u)&&L(ee)})}var ae=S(fe,2),ye=S(k(ae),2),Ie=S(ae,2),W=k(Ie),re=S(W,2),Se=k(re),ot=S(x,2);{var yt=L=>{var H=nl(),ne=S(k(H),2);st(ne,21,()=>a(o),h=>h.id,(h,T)=>{var Y=tl(),Q=k(Y),xe=k(Q),gn=S(Q,2),Ps=k(gn),_r=S(gn,2);{var As=bt=>{var Ft=$a(),pn=k(Ft);G(()=>z(pn,a(T).reasoning)),C(bt,Ft)};U(_r,bt=>{a(T).reasoning&&bt(As)})}var Ds=S(_r,2);{var Ns=bt=>{const Ft=se(()=>(()=>{try{return JSON.parse(a(T).alternatives)}catch{return null}})());var pn=ia(),Os=dn(pn);{var Is=Ln=>{var gr=el(),Rs=k(gr);G(Ls=>z(Rs,`Alternatives: ${Ls??""}`),[()=>a(Ft).join(", ")]),C(Ln,gr)};U(Os,Ln=>{a(Ft)&&a(Ft).length>0&&Ln(Is)})}C(bt,pn)};U(Ds,bt=>{a(T).alternatives&&bt(Ns)})}G(()=>{z(xe,a(T).title),z(Ps,a(T).decision)}),C(h,Y)}),C(L,H)};U(ot,L=>{a(u)&&a(o).length>0&&L(yt)})}G(()=>{z(A,a(u)?"Edit Task":"New Task"),z(Se,a(u)?"Save":"Create")}),X("click",b,_),X("click",w,function(...L){var H;(H=t.onClose)==null||H.apply(this,L)}),me("submit",x,d),sn(O,()=>a(r),L=>y(r,L)),sn($,()=>a(i),L=>y(i,L)),Pr(Z,()=>a(s),L=>y(s,L)),sn(ye,()=>a(f),L=>y(f,L)),X("click",W,function(...L){var H;(H=t.onClose)==null||H.apply(this,L)}),C(e,b),He()}lt(["click"]);var il=P('<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 al(e,t){Ue(t,!0);let n=_n(t,"confirmLabel",3,"Delete");function r(E){E.target.classList.contains("modal-backdrop")&&t.onCancel()}function i(E){E.key==="Escape"&&t.onCancel()}var s=il();me("keydown",pt,i);var l=k(s),f=k(l),o=k(f),u=S(f,2),d=k(u),_=S(u,2),p=k(_),b=S(p,2),g=k(b);G(()=>{z(o,t.title),z(d,t.message),z(g,n())}),X("click",s,r),X("click",p,function(...E){var c;(c=t.onCancel)==null||c.apply(this,E)}),X("click",b,function(...E){var c;(c=t.onConfirm)==null||c.apply(this,E)}),C(e,s),He()}lt(["click"]);var ll=P('<button class="clear-input svelte-dhotvj">×</button>'),ol=P("<button> </button>"),fl=P('<button><span class="tag-checkbox svelte-dhotvj"> </span> <span class="tag-name svelte-dhotvj"> </span></button>'),ul=P('<button class="tag-clear svelte-dhotvj">clear tags</button>'),cl=P('<div class="tag-dropdown svelte-dhotvj"><!> <!></div>'),vl=P('<div class="filter-section tag-dropdown-wrapper svelte-dhotvj"><span class="filter-label svelte-dhotvj">tags:</span> <button><!></button> <!></div>'),dl=P('<button class="clear-all svelte-dhotvj"> </button>'),hl=P('<div class="filter-bar svelte-dhotvj"><div class="filter-search svelte-dhotvj"><span class="search-icon svelte-dhotvj">/</span> <input type="text" placeholder="search tasks..." class="svelte-dhotvj"/> <!></div> <div class="filter-section svelte-dhotvj"><span class="filter-label svelte-dhotvj">priority:</span> <div class="chip-group svelte-dhotvj"></div></div> <!> <!> <div class="shortcuts-hint svelte-dhotvj"><span class="svelte-dhotvj"><kbd class="svelte-dhotvj">N</kbd> new</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">/</kbd> search</span> <span class="svelte-dhotvj"><kbd class="svelte-dhotvj">Ctrl K</kbd> palette</span></div></div>');function _l(e,t){Ue(t,!0);let n=_n(t,"focusSearch",15,null),r=N(null),i=N(!1),s=N(null);Lt(()=>{n(()=>{var w;return(w=a(r))==null?void 0:w.focus()})});const l=se(()=>(t.searchQuery.trim()?1:0)+t.selectedPriorities.size+t.selectedTags.size),f={critical:"var(--priority-critical)",high:"var(--priority-high)",medium:"var(--priority-medium)",low:"var(--text-muted)"};function o(w){w.key==="Escape"&&y(i,!1)}function u(w){a(s)&&!a(s).contains(w.target)&&y(i,!1)}var d=hl();me("click",pt,u),me("keydown",pt,o);var _=k(d),p=S(k(_),2);tr(p,w=>y(r,w),()=>a(r));var b=S(p,2);{var g=w=>{var x=ll();X("click",x,()=>t.onSearchChange("")),C(w,x)};U(b,w=>{t.searchQuery&&w(g)})}var E=S(_,2),c=S(k(E),2);st(c,21,()=>js,Cn,(w,x)=>{var j=ol();let O;var J=k(j);G($=>{O=rt(j,1,"chip svelte-dhotvj",null,O,$),Ss(j,`--chip-color: ${f[a(x)]??""}`),z(J,a(x))},[()=>({active:t.selectedPriorities.has(a(x))})]),X("click",j,()=>t.onPriorityToggle(a(x))),C(w,j)});var m=S(E,2);{var A=w=>{var x=vl(),j=S(k(x),2);let O;var J=k(j);{var $=K=>{var ee=xr();G(()=>z(ee,`[${t.selectedTags.size??""}] ▾`)),C(K,ee)},fe=K=>{var ee=xr("all ▾");C(K,ee)};U(J,K=>{t.selectedTags.size>0?K($):K(fe,!1)})}var I=S(j,2);{var Z=K=>{var ee=cl(),ae=k(ee);st(ae,17,()=>t.allTags,Cn,(W,re)=>{var Se=fl();let ot;var yt=k(Se),L=k(yt),H=S(yt,2),ne=k(H);G((h,T)=>{ot=rt(Se,1,"tag-option svelte-dhotvj",null,ot,h),z(L,T),z(ne,`#${a(re)??""}`)},[()=>({selected:t.selectedTags.has(a(re))}),()=>t.selectedTags.has(a(re))?"✓":" "]),X("click",Se,h=>{h.stopPropagation(),t.onTagToggle(a(re))}),C(W,Se)});var ye=S(ae,2);{var Ie=W=>{var re=ul();X("click",re,Se=>{Se.stopPropagation(),t.selectedTags.forEach(ot=>t.onTagToggle(ot))}),C(W,re)};U(ye,W=>{t.selectedTags.size>0&&W(Ie)})}C(K,ee)};U(I,K=>{a(i)&&K(Z)})}tr(x,K=>y(s,K),()=>a(s)),G(()=>O=rt(j,1,"dropdown-trigger svelte-dhotvj",null,O,{active:t.selectedTags.size>0})),X("click",j,K=>{K.stopPropagation(),y(i,!a(i))}),C(w,x)};U(m,w=>{t.allTags.length>0&&w(A)})}var D=S(m,2);{var B=w=>{var x=dl(),j=k(x);G(()=>z(j,`clear [${a(l)??""}]`)),X("click",x,function(...O){var J;(J=t.onClear)==null||J.apply(this,O)}),C(w,x)};U(D,w=>{a(l)>0&&w(B)})}G(()=>ya(p,t.searchQuery)),X("input",p,w=>t.onSearchChange(w.target.value)),C(e,d),He()}lt(["input","click"]);var gl=P('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),pl=P('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),ml=P('<div class="board svelte-x7v2jt"></div>'),yl=P('<!> <div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function bl(e,t){Ue(t,!0);let n=_n(t,"triggerNewTask",3,!1),r=N(qe([])),i=N(!0),s=N(null),l=N(!1),f=N(null),o=N("todo"),u=N(!1),d=N(null),_=N(null),p=N(""),b=N(qe(new Set)),g=N(qe(new Set));const E=se(()=>()=>{const h=new Map;for(const T of a(r))T.parent_task_id&&h.set(T.parent_task_id,(h.get(T.parent_task_id)??0)+1);return h}),c=se(()=>()=>{const h=new Set;for(const T of a(r))if(T.tags)try{for(const Y of JSON.parse(T.tags))h.add(Y)}catch{}return[...h].sort()}),m=se(()=>()=>{let h=a(r);const T=a(p).trim().toLowerCase();return T&&(h=h.filter(Y=>Y.title.toLowerCase().includes(T)||(Y.description??"").toLowerCase().includes(T)||(Y.short_id??"").toLowerCase().includes(T))),a(b).size>0&&(h=h.filter(Y=>a(b).has(Y.priority))),a(g).size>0&&(h=h.filter(Y=>{if(!Y.tags)return!1;try{return JSON.parse(Y.tags).some(xe=>a(g).has(xe))}catch{return!1}})),h}),A=se(()=>Ma.map(h=>({...h,tasks:a(m)().filter(T=>T.status===h.status)})));function D(h){const T=new Set(a(b));T.has(h)?T.delete(h):T.add(h),y(b,T,!0)}function B(h){const T=new Set(a(g));T.has(h)?T.delete(h):T.add(h),y(g,T,!0)}function w(){y(p,""),y(b,new Set,!0),y(g,new Set,!0)}let x=N(null);function j(h){var Q;const T=h.target.tagName;T==="INPUT"||T==="TEXTAREA"||T==="SELECT"||h.ctrlKey||h.metaKey||h.altKey||(h.key==="n"||h.key==="N"?(h.preventDefault(),fe("todo")):h.key==="/"&&(h.preventDefault(),(Q=a(x))==null||Q()))}Lt(()=>{var h;n()&&(fe("todo"),(h=t.onNewTaskTriggered)==null||h.call(t))});async function O(){y(i,!0),y(s,null);try{y(r,await ct.getTasks(t.project.id),!0)}catch(h){y(s,h.message,!0)}finally{y(i,!1)}}Lt(()=>{t.project.id,O()});function J(h,T){y(_,T,!0),h.dataTransfer&&(h.dataTransfer.effectAllowed="move",h.dataTransfer.setData("text/plain",T.id))}async function $(h){if(!a(_)||a(_).status===h){y(_,null);return}const T=a(_),Y=T.status;y(_,null);const Q=a(r).findIndex(xe=>xe.id===T.id);Q!==-1&&(a(r)[Q]={...a(r)[Q],status:h});try{await ct.updateTask(T.id,{status:h})}catch(xe){Q!==-1&&(a(r)[Q]={...a(r)[Q],status:Y}),y(s,xe.message,!0)}}function fe(h){y(f,null),y(o,h,!0),y(l,!0)}function I(h){y(f,h,!0),y(l,!0)}async function Z(h){try{if(a(f)){const T=await ct.updateTask(a(f).id,{title:h.title,description:h.description||null,priority:h.priority,status:h.status,tags:h.tags.length>0?h.tags:null}),Y=a(r).findIndex(Q=>Q.id===a(f).id);Y!==-1&&(a(r)[Y]=T)}else{const T=await ct.createTask(t.project.id,{title:h.title,description:h.description||void 0,priority:h.priority,tags:h.tags.length>0?h.tags:void 0});y(r,[T,...a(r)],!0)}y(l,!1),y(f,null)}catch(T){y(s,T.message,!0)}}function K(h){y(d,h,!0),y(u,!0)}async function ee(){if(a(d))try{await ct.deleteTask(a(d).id),y(r,a(r).filter(h=>h.id!==a(d).id&&h.parent_task_id!==a(d).id),!0),y(u,!1),y(d,null)}catch(h){y(s,h.message,!0)}}var ae=yl();me("keydown",pt,j);var ye=dn(ae);{let h=se(()=>a(c)());_l(ye,{get allTags(){return a(h)},get searchQuery(){return a(p)},get selectedPriorities(){return a(b)},get selectedTags(){return a(g)},onSearchChange:T=>{y(p,T,!0)},onPriorityToggle:D,onTagToggle:B,onClear:w,get focusSearch(){return a(x)},set focusSearch(T){y(x,T,!0)}})}var Ie=S(ye,2),W=k(Ie);{var re=h=>{var T=gl();C(h,T)},Se=h=>{var T=pl(),Y=k(T),Q=S(Y);G(()=>z(Y,`${a(s)??""} `)),X("click",Q,()=>{y(s,null),O()}),C(h,T)},ot=h=>{var T=ml();st(T,21,()=>a(A),Y=>Y.status,(Y,Q)=>{{let xe=se(()=>a(E)());Wa(Y,{get status(){return a(Q).status},get label(){return a(Q).label},get tasks(){return a(Q).tasks},get subtaskCounts(){return a(xe)},onEdit:I,onDelete:K,onDragStart:J,onDrop:$,onAddTask:fe})}}),C(h,T)};U(W,h=>{a(i)?h(re):a(s)?h(Se,1):h(ot,!1)})}var yt=S(Ie,2);{var L=h=>{sl(h,{get task(){return a(f)},get projectId(){return t.project.id},get defaultStatus(){return a(o)},onSave:Z,onClose:()=>{y(l,!1),y(f,null)}})};U(yt,h=>{a(l)&&h(L)})}var H=S(yt,2);{var ne=h=>{al(h,{title:"Delete Task",get message(){return`Are you sure you want to delete "${a(d).title??""}"? This cannot be undone.`},onConfirm:ee,onCancel:()=>{y(u,!1),y(d,null)}})};U(H,h=>{a(u)&&a(d)&&h(ne)})}C(e,ae),He()}lt(["click"]);var wl=P('<div><span class="item-label svelte-1bm0yy4"> </span> <span class="item-hint svelte-1bm0yy4"> </span></div>'),kl=P('<div class="palette-empty svelte-1bm0yy4">no commands match</div>'),El=P('<div class="palette-backdrop svelte-1bm0yy4"><div class="palette svelte-1bm0yy4"><div class="palette-input-row svelte-1bm0yy4"><span class="palette-prompt svelte-1bm0yy4">></span> <input placeholder="type a command..." class="svelte-1bm0yy4"/></div> <div class="palette-list svelte-1bm0yy4"></div> <div class="palette-footer svelte-1bm0yy4"><span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↑↓</kbd> navigate</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">↵</kbd> select</span> <span class="svelte-1bm0yy4"><kbd class="svelte-1bm0yy4">esc</kbd> close</span></div></div></div>');function Tl(e,t){Ue(t,!0);let n=N(""),r=N(0),i=N(null);const s=se(()=>[{id:"new-task",label:"new task",hint:"create",action:()=>{t.onClose(),t.onNewTask()}},...t.projects.map(g=>({id:`project-${g.id}`,label:g.name,hint:g.slug?`switch → ${g.slug}`:"switch",action:()=>{t.onClose(),t.onSelectProject(g.id)}}))]),l=se(()=>()=>{const g=a(n).trim().toLowerCase();return g?a(s).filter(E=>E.label.toLowerCase().includes(g)||E.hint.toLowerCase().includes(g)):a(s)});Lt(()=>{a(l)(),y(r,0)});function f(g){var c;const E=a(l)();g.key==="ArrowDown"?(g.preventDefault(),y(r,Math.min(a(r)+1,E.length-1),!0)):g.key==="ArrowUp"?(g.preventDefault(),y(r,Math.max(a(r)-1,0),!0)):g.key==="Enter"?(g.preventDefault(),(c=E[a(r)])==null||c.action()):g.key==="Escape"&&t.onClose()}function o(g){g.target.classList.contains("palette-backdrop")&&t.onClose()}var u=El(),d=k(u),_=k(d),p=S(k(_),2);lr(p),tr(p,g=>y(i,g),()=>a(i));var b=S(_,2);st(b,23,()=>a(l)(),g=>g.id,(g,E,c)=>{var m=wl();let A;var D=k(m),B=k(D),w=S(D,2),x=k(w);G(()=>{A=rt(m,1,"palette-item svelte-1bm0yy4",null,A,{active:a(c)===a(r)}),z(B,a(E).label),z(x,a(E).hint)}),me("mouseenter",m,()=>{y(r,a(c),!0)}),X("click",m,()=>a(E).action()),C(g,m)},g=>{var E=kl();C(g,E)}),X("click",u,o),X("keydown",p,f),sn(p,()=>a(n),g=>y(n,g)),C(e,u),He()}lt(["click","keydown"]);var Sl=P('<div class="loading svelte-1n46o8q"><span class="prompt svelte-1n46o8q">></span> loading projects...</div>'),xl=P('<div class="error svelte-1n46o8q"><span class="err-prefix svelte-1n46o8q">[error]</span> </div>'),Cl=P('<div class="empty svelte-1n46o8q"><p class="empty-prompt svelte-1n46o8q">> no projects found</p> <p class="empty-hint svelte-1n46o8q">// create a project using mindpm MCP tools to get started</p></div>'),jl=P('<div class="app-layout svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <!></div></div>'),Pl=P("<!> <!>",1);function Al(e,t){Ue(t,!0);let n=N(qe([])),r=N(null),i=N(!0),s=N(null),l=N(!1),f=N(!1);const o=se(()=>a(n).find(w=>w.id===a(r))??null);async function u(){try{if(y(n,await ct.getProjects(),!0),a(n).length>0&&!a(r)){const w=new URLSearchParams(window.location.search).get("project"),x=w?a(n).find(j=>j.id===w||j.name===w):null;y(r,x?x.id:a(n)[0].id,!0)}}catch(w){y(s,w.message,!0)}finally{y(i,!1)}}function d(w){y(r,w,!0)}async function _(w,x){try{await ct.updateProject(w,{name:x});const j=a(n).findIndex(O=>O.id===w);j!==-1&&(a(n)[j]={...a(n)[j],name:x})}catch(j){y(s,j.message,!0)}}Lt(()=>{u()});function p(w){(w.ctrlKey||w.metaKey)&&w.key==="k"&&(w.preventDefault(),y(l,!a(l)))}var b=Pl();me("keydown",pt,p);var g=dn(b);{var E=w=>{Tl(w,{get projects(){return a(n)},onSelectProject:x=>{y(r,x,!0)},onNewTask:()=>{y(f,!0)},onClose:()=>{y(l,!1)}})};U(g,w=>{a(l)&&w(E)})}var c=S(g,2);{var m=w=>{var x=Sl();C(w,x)},A=w=>{var x=xl(),j=S(k(x));G(()=>z(j,` ${a(s)??""}`)),C(w,x)},D=w=>{var x=Cl();C(w,x)},B=w=>{var x=jl(),j=k(x);La(j,{get projects(){return a(n)},get selectedId(){return a(r)},onSelect:d});var O=S(j,2),J=k(O);ja(J,{get projects(){return a(n)},get selectedId(){return a(r)},onSelect:d,onRenamed:_});var $=S(J,2);{var fe=I=>{bl(I,{get project(){return a(o)},get triggerNewTask(){return a(f)},onNewTaskTriggered:()=>{y(f,!1)}})};U($,I=>{a(o)&&I(fe)})}C(w,x)};U(c,w=>{a(i)?w(m):a(s)?w(A,1):a(n).length===0?w(D,2):w(B,!1)})}C(e,b),He()}aa(Al,{target:document.getElementById("app")});
|