plan-assistant 1.6.1-alpha.4 → 1.6.2
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/build/client/_app/immutable/assets/0.C_o9AqxM.css +1 -0
- package/build/client/_app/immutable/chunks/{_7XMpW0u.js → 1UysTTxk.js} +19 -19
- package/build/client/_app/immutable/chunks/{CQN7Rdg7.js → 2ydTsUfk.js} +1 -1
- package/build/client/_app/immutable/chunks/{BsBGbKCL.js → 50JX4GCq.js} +4 -4
- package/build/client/_app/immutable/chunks/{C__3hjdN.js → B7oS2KMw.js} +1 -1
- package/build/client/_app/immutable/chunks/{Cg-1SLQS.js → BAU66H18.js} +1 -1
- package/build/client/_app/immutable/chunks/{5Yxr5EUZ.js → BEoEd0wq.js} +1 -1
- package/build/client/_app/immutable/chunks/BNkTEuxY.js +1 -0
- package/build/client/_app/immutable/chunks/{Wq_7voeF.js → BWyT28gE.js} +1 -1
- package/build/client/_app/immutable/chunks/{DiH3G3i-.js → BZ5ym85v.js} +1 -1
- package/build/client/_app/immutable/chunks/{uOybgAAA.js → BfakPcUh.js} +1 -1
- package/build/client/_app/immutable/chunks/{B0BMvsza.js → BjTUvldC.js} +1 -1
- package/build/client/_app/immutable/chunks/{CZMDiJzA.js → BlUptDz5.js} +1 -1
- package/build/client/_app/immutable/chunks/BmX9be3z.js +1 -0
- package/build/client/_app/immutable/chunks/{CcxqOLWU.js → Btro6hag.js} +1 -1
- package/build/client/_app/immutable/chunks/{ts7Ybr8g.js → BwELRAaj.js} +2 -2
- package/build/client/_app/immutable/chunks/{C4GA7lu4.js → BxkCjY4f.js} +1 -1
- package/build/client/_app/immutable/chunks/{CU8a7S9v.js → By6e-_vQ.js} +1 -1
- package/build/client/_app/immutable/chunks/{CXoyLyKX.js → ByhOaTvU.js} +1 -1
- package/build/client/_app/immutable/chunks/{DhlIECQi.js → BzCn3lUJ.js} +1 -1
- package/build/client/_app/immutable/chunks/{DkoaP4zK.js → C6Ae1cXM.js} +1 -1
- package/build/client/_app/immutable/chunks/{7t0zXpPD.js → C6qIYJ2a.js} +1 -1
- package/build/client/_app/immutable/chunks/{BGRJo9Ct.js → C9V2Q6fY.js} +1 -1
- package/build/client/_app/immutable/chunks/{Cm5jeAwM.js → CJT-g82S.js} +1 -1
- package/build/client/_app/immutable/chunks/{SVtSpHJu.js → CT49-dPf.js} +1 -1
- package/build/client/_app/immutable/chunks/{BJvp52XV.js → Cctv8H4a.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bs2z5nb1.js → D0v12avE.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bw-p-JxL.js → D1XQAw6l.js} +1 -1
- package/build/client/_app/immutable/chunks/{B1wlIXTV.js → D1kx-BIp.js} +1 -1
- package/build/client/_app/immutable/chunks/{CerkaUel.js → DJRjGNlK.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bp7r2Yle.js → DUN8LAis.js} +1 -1
- package/build/client/_app/immutable/chunks/{CZxCwXuZ.js → DZpKeuzK.js} +1 -1
- package/build/client/_app/immutable/chunks/{CsxA7O2K.js → DgwBNH2e.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bl48yzLx.js → Di5Hzxjw.js} +1 -1
- package/build/client/_app/immutable/chunks/{C5GjYCYU.js → DiHaifCX.js} +1 -1
- package/build/client/_app/immutable/chunks/{CTp0ey2g.js → Djno8LyT.js} +1 -1
- package/build/client/_app/immutable/chunks/{COaVJpAL.js → DmGRpH8t.js} +1 -1
- package/build/client/_app/immutable/chunks/{BSLlnue-.js → Do4peY92.js} +1 -1
- package/build/client/_app/immutable/chunks/{zSdtGjae.js → DozWaLxN.js} +1 -1
- package/build/client/_app/immutable/chunks/{BhUDLHHB.js → InUY4vCQ.js} +1 -1
- package/build/client/_app/immutable/chunks/{CQdP4pCE.js → MPd550uJ.js} +1 -1
- package/build/client/_app/immutable/chunks/{DekWKW3l.js → PPLi2JpE.js} +1 -1
- package/build/client/_app/immutable/chunks/{wIFPm5LZ.js → UAOWcO6L.js} +1 -1
- package/build/client/_app/immutable/chunks/{BkV3A5oU.js → WXL3whcc.js} +1 -1
- package/build/client/_app/immutable/chunks/{DWE2F_P3.js → fQG6ZmZw.js} +1 -1
- package/build/client/_app/immutable/chunks/{DySl70Vq.js → g4R5a0Sa.js} +1 -1
- package/build/client/_app/immutable/chunks/{CcQ8flvd.js → rzZv-9pF.js} +1 -1
- package/build/client/_app/immutable/chunks/{8uXYybqq.js → uRPLhqCF.js} +1 -1
- package/build/client/_app/immutable/entry/{app.lWAf2hjk.js → app.LynGKhvN.js} +2 -2
- package/build/client/_app/immutable/entry/start.DkfqiY-D.js +1 -0
- package/build/client/_app/immutable/nodes/{1.KrIR0P9t.js → 1.Inm4pAhj.js} +1 -1
- package/build/client/_app/immutable/nodes/3.CsYaetUV.js +1 -0
- package/build/client/_app/version.json +1 -1
- package/build/server/chunks/{0-rXmaDIAK.js → 0-CTOc25yJ.js} +3 -3
- package/build/server/chunks/{0-rXmaDIAK.js.map → 0-CTOc25yJ.js.map} +1 -1
- package/build/server/chunks/{1-BEQSQGzm.js → 1-D6rLUsdw.js} +2 -2
- package/build/server/chunks/{1-BEQSQGzm.js.map → 1-D6rLUsdw.js.map} +1 -1
- package/build/server/chunks/{2-qGWtN2-9.js → 2-CU0MZLfN.js} +2 -3
- package/build/server/chunks/{2-qGWtN2-9.js.map → 2-CU0MZLfN.js.map} +1 -1
- package/build/server/chunks/{3-72JrIO0S.js → 3-DdCJr1sb.js} +5 -4
- package/build/server/chunks/3-DdCJr1sb.js.map +1 -0
- package/build/server/chunks/{_page.svelte-YOgyBfxj.js → _page.svelte-B2dbUlFS.js} +19 -18
- package/build/server/chunks/_page.svelte-B2dbUlFS.js.map +1 -0
- package/build/server/chunks/{_server.ts-D9nBKsq1.js → _server.ts-BMGVnJIm.js} +2 -2
- package/build/server/chunks/{_server.ts-D9nBKsq1.js.map → _server.ts-BMGVnJIm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DTGwAmWz.js → _server.ts-BkhJQojB.js} +3 -2
- package/build/server/chunks/_server.ts-BkhJQojB.js.map +1 -0
- package/build/server/chunks/{_server.ts-BbMhMik1.js → _server.ts-BpBKrHhR.js} +3 -3
- package/build/server/chunks/{_server.ts-BbMhMik1.js.map → _server.ts-BpBKrHhR.js.map} +1 -1
- package/build/server/chunks/{_server.ts-C7d7vtwn.js → _server.ts-CQDAJYa2.js} +2 -2
- package/build/server/chunks/{_server.ts-C7d7vtwn.js.map → _server.ts-CQDAJYa2.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BjSxqsHx.js → _server.ts-Cnoxv0Cx.js} +3 -2
- package/build/server/chunks/_server.ts-Cnoxv0Cx.js.map +1 -0
- package/build/server/chunks/{_server.ts-DiMlmks0.js → _server.ts-DNQVvXBq.js} +2 -2
- package/build/server/chunks/{_server.ts-DiMlmks0.js.map → _server.ts-DNQVvXBq.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BOWeAYnM.js → _server.ts-Dxo8cSME.js} +3 -2
- package/build/server/chunks/_server.ts-Dxo8cSME.js.map +1 -0
- package/build/server/chunks/{_server.ts-BhmTJZsP.js → _server.ts-Ro5fHgb-.js} +3 -2
- package/build/server/chunks/_server.ts-Ro5fHgb-.js.map +1 -0
- package/build/server/chunks/{hooks.server-DigZpFgW.js → hooks.server-DAyYz0sf.js} +4 -5
- package/build/server/chunks/{hooks.server-DigZpFgW.js.map → hooks.server-DAyYz0sf.js.map} +1 -1
- package/build/server/chunks/{idle-timer-BshN5Svi.js → idle-timer-ZIksL-DZ.js} +2 -2
- package/build/server/chunks/{idle-timer-BshN5Svi.js.map → idle-timer-ZIksL-DZ.js.map} +1 -1
- package/build/server/chunks/require-session-B0dZmfgE.js +11 -0
- package/build/server/chunks/require-session-B0dZmfgE.js.map +1 -0
- package/build/server/chunks/{session-manager-scAVAR7S.js → session-manager-Ov-OHEAa.js} +2 -8
- package/build/server/chunks/session-manager-Ov-OHEAa.js.map +1 -0
- package/build/server/chunks/{sse-manager-C9ZLI_Nx.js → sse-manager-BZUnMFuG.js} +2 -3
- package/build/server/chunks/sse-manager-BZUnMFuG.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +13 -13
- package/build/server/manifest.js.map +1 -1
- package/dist/cli/commands/review.js +1 -2
- package/dist/cli/export-html.js +30 -28
- package/dist/cli/index.js +3 -2
- package/dist/lib/server/session-manager.js +0 -7
- package/package.json +1 -1
- package/build/client/_app/immutable/assets/0.Bc8GgJCN.css +0 -1
- package/build/client/_app/immutable/chunks/Bm3jtIbA.js +0 -1
- package/build/client/_app/immutable/chunks/BrKpfsFW.js +0 -1
- package/build/client/_app/immutable/entry/start.CsDlIrMD.js +0 -1
- package/build/client/_app/immutable/nodes/3.DvTvwWrv.js +0 -1
- package/build/server/chunks/3-72JrIO0S.js.map +0 -1
- package/build/server/chunks/_page.svelte-YOgyBfxj.js.map +0 -1
- package/build/server/chunks/_server.ts-BOWeAYnM.js.map +0 -1
- package/build/server/chunks/_server.ts-BhmTJZsP.js.map +0 -1
- package/build/server/chunks/_server.ts-BjSxqsHx.js.map +0 -1
- package/build/server/chunks/_server.ts-DTGwAmWz.js.map +0 -1
- package/build/server/chunks/session-manager-scAVAR7S.js.map +0 -1
- package/build/server/chunks/sse-manager-C9ZLI_Nx.js.map +0 -1
- /package/build/client/_app/immutable/nodes/{0.CuhA9F69.js → 0.9KIz8Ww9.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-B2dbUlFS.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/plan/_sessionId_/_page.svelte.js"],"sourcesContent":["import { a2 as attr_class, a0 as attr, e as escape_html, _ as derived, a1 as stringify, $ as ensure_array_like, a3 as clsx, a4 as attr_style } from \"../../../../chunks/index.js\";\nimport \"clsx\";\nimport { a as statusBadgeClass, b as statusLabel, S as STATUS_LABELS } from \"../../../../chunks/status.js\";\nimport { marked } from \"marked\";\nfunction html(value) {\n var html2 = String(value ?? \"\");\n var open = \"<!---->\";\n return open + html2 + \"<!---->\";\n}\nconst RECONNECT_DELAY_MS = 3e3;\nlet instance$1 = null;\nfunction createPlanStore() {\n let currentPlan = null;\n let idleRemainingMs = null;\n let serverShutdown = false;\n let eventSource = null;\n let reconnectTimer = null;\n return {\n get plan() {\n return currentPlan;\n },\n get idleRemainingMs() {\n return idleRemainingMs;\n },\n get serverShutdown() {\n return serverShutdown;\n },\n set(plan) {\n currentPlan = plan;\n },\n connectSSE(sessionId) {\n this.disconnectSSE();\n const connect = () => {\n eventSource = new EventSource(`/api/sse/${sessionId}`);\n eventSource.addEventListener(\"plan-updated\", (event) => {\n try {\n const plan = JSON.parse(event.data);\n currentPlan = plan;\n } catch {\n }\n });\n eventSource.addEventListener(\"idle-timer\", (event) => {\n try {\n const data = JSON.parse(event.data);\n idleRemainingMs = data.remainingMs;\n } catch {\n }\n });\n eventSource.addEventListener(\"server-shutdown\", () => {\n serverShutdown = true;\n eventSource?.close();\n });\n eventSource.onerror = () => {\n eventSource?.close();\n if (!serverShutdown) {\n reconnectTimer = setTimeout(connect, RECONNECT_DELAY_MS);\n }\n };\n };\n connect();\n },\n disconnectSSE() {\n if (reconnectTimer) {\n clearTimeout(reconnectTimer);\n reconnectTimer = null;\n }\n if (eventSource) {\n eventSource.close();\n eventSource = null;\n }\n }\n };\n}\nfunction getPlanStore() {\n if (!instance$1) instance$1 = createPlanStore();\n return instance$1;\n}\nconst SAVE_DEBOUNCE_MS = 500;\nfunction genId() {\n return \"fb-\" + Date.now().toString(36) + Math.random().toString(36).slice(2, 6);\n}\nfunction aggregateSubItemStatuses(statuses) {\n if (statuses.length === 0) return \"pending\";\n return statuses.every((s) => s === statuses[0]) ? statuses[0] : \"pending\";\n}\nlet instance = null;\nfunction createFeedbackStore() {\n let currentFeedback = null;\n let saveTimer = null;\n let sessionId = \"\";\n async function persistFeedback() {\n if (!currentFeedback || !sessionId) return;\n try {\n await fetch(`/api/sessions/${sessionId}/feedback`, {\n method: \"PUT\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(currentFeedback)\n });\n } catch {\n }\n }\n function debouncedSave() {\n if (saveTimer) clearTimeout(saveTimer);\n saveTimer = setTimeout(persistFeedback, SAVE_DEBOUNCE_MS);\n }\n function touch() {\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n }\n return {\n get feedback() {\n return currentFeedback;\n },\n get comments() {\n return currentFeedback?.comments ?? [];\n },\n get phaseStatuses() {\n return currentFeedback?.phaseStatuses ?? {};\n },\n get subItemStatuses() {\n return currentFeedback?.subItemStatuses ?? {};\n },\n get status() {\n return currentFeedback?.status ?? \"reviewing\";\n },\n init(sid, planTitle, planVersion, existing) {\n sessionId = sid;\n if (existing) {\n if (!existing.subItemStatuses) existing.subItemStatuses = {};\n currentFeedback = existing;\n } else {\n currentFeedback = {\n schemaVersion: 1,\n planTitle,\n planVersion,\n sessionId: sid,\n status: \"reviewing\",\n phaseStatuses: {},\n subItemStatuses: {},\n comments: [],\n updatedAt: /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString()\n };\n }\n },\n addComment(section, quote, comment, phaseId) {\n if (!currentFeedback) return;\n const newComment = {\n id: genId(),\n section,\n quote,\n comment,\n phaseId,\n resolved: false,\n createdAt: /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString()\n };\n currentFeedback.comments = [...currentFeedback.comments, newComment];\n touch();\n return newComment.id;\n },\n updateComment(id, comment) {\n if (!currentFeedback) return;\n currentFeedback.comments = currentFeedback.comments.map((c) => c.id === id ? { ...c, comment } : c);\n touch();\n },\n resolveComment(id) {\n if (!currentFeedback) return;\n currentFeedback.comments = currentFeedback.comments.map((c) => c.id === id ? { ...c, resolved: !c.resolved } : c);\n touch();\n },\n deleteComment(id) {\n if (!currentFeedback) return;\n currentFeedback.comments = currentFeedback.comments.filter((c) => c.id !== id);\n touch();\n },\n setPhaseStatus(phaseId, status, note) {\n if (!currentFeedback) return;\n currentFeedback.phaseStatuses = {\n ...currentFeedback.phaseStatuses,\n [phaseId]: { phaseId, status, note }\n };\n touch();\n },\n setSubItemStatus(subItemId, phaseId, status, allSubItemIds) {\n if (!currentFeedback) return;\n currentFeedback.subItemStatuses = {\n ...currentFeedback.subItemStatuses,\n [subItemId]: { subItemId, phaseId, status }\n };\n const aggregated = aggregateSubItemStatuses(allSubItemIds.map((id) => currentFeedback.subItemStatuses[id]?.status ?? \"pending\"));\n currentFeedback.phaseStatuses = {\n ...currentFeedback.phaseStatuses,\n [phaseId]: {\n phaseId,\n status: aggregated,\n note: currentFeedback.phaseStatuses[phaseId]?.note\n }\n };\n touch();\n },\n async submitFeedback(status) {\n if (!currentFeedback) return;\n currentFeedback.status = status;\n currentFeedback.submittedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n currentFeedback.updatedAt = currentFeedback.submittedAt;\n if (saveTimer) clearTimeout(saveTimer);\n await persistFeedback();\n }\n };\n}\nfunction getFeedbackStore() {\n if (!instance) instance = createFeedbackStore();\n return instance;\n}\nfunction IdleTimer($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const store = getPlanStore();\n let display = derived(() => {\n const ms = store.idleRemainingMs;\n if (ms === null) return null;\n if (store.serverShutdown) return \"Server stopped\";\n const totalSec = Math.ceil(ms / 1e3);\n const min = Math.floor(totalSec / 60);\n const sec = totalSec % 60;\n return `${min}:${sec.toString().padStart(2, \"0\")}`;\n });\n const URGENT_THRESHOLD_MS = 6e4;\n let isUrgent = derived(() => store.idleRemainingMs !== null && store.idleRemainingMs < URGENT_THRESHOLD_MS);\n if (display() !== null) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<span${attr_class(\"rounded-full px-3 py-1 text-xs font-semibold transition-colors\", void 0, {\n \"bg-surface2\": !isUrgent() && !store.serverShutdown,\n \"text-text-dim\": !isUrgent() && !store.serverShutdown,\n \"bg-red-900\": isUrgent() || store.serverShutdown,\n \"text-red-200\": isUrgent() || store.serverShutdown\n })}${attr(\"title\", store.serverShutdown ? \"Server has shut down due to inactivity\" : `Server idle timeout: ${display()} remaining`)}>`);\n if (store.serverShutdown) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`Server stopped`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`⏱ ${escape_html(display())}`);\n }\n $$renderer2.push(`<!--]--></span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction PlanHeader($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { meta, status } = $$props;\n $$renderer2.push(`<header class=\"mb-6\"><div class=\"flex items-start justify-between\"><div><h1 class=\"text-2xl font-bold\">${escape_html(meta.title)}</h1> <p class=\"text-text-dim mt-1 text-sm\">${escape_html(meta.date)} `);\n if (meta.ticketRef) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`· <span class=\"text-accent\">${escape_html(meta.ticketRef)}</span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></p></div> <div class=\"flex items-center gap-2\">`);\n IdleTimer($$renderer2);\n $$renderer2.push(`<!----> <span class=\"bg-surface2 rounded-full px-3 py-1 text-xs font-semibold text-text-dim\">v${escape_html(meta.version)}</span> <span${attr_class(`rounded-full px-3 py-1 text-xs font-semibold ${stringify(statusBadgeClass(status))}`)}>${escape_html(status)}</span></div></div> `);\n if (meta.markdownPath) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<p class=\"text-text-dim mt-2 text-xs\">Source: <code class=\"bg-surface2 text-accent rounded px-1 py-0.5 font-mono text-xs\">${escape_html(meta.markdownPath)}</code></p>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></header>`);\n });\n}\nfunction PhaseTable($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { phases, phaseStatuses } = $$props;\n $$renderer2.push(`<div class=\"overflow-x-auto\"><table class=\"w-full text-sm\"><thead><tr><th class=\"bg-surface2 border-b border-border px-3 py-2 text-left font-semibold\">Phase</th><th class=\"bg-surface2 border-b border-border px-3 py-2 text-left font-semibold\">Focus</th><th class=\"bg-surface2 border-b border-border px-3 py-2 text-left font-semibold w-32\">Status</th></tr></thead><tbody><!--[-->`);\n const each_array = ensure_array_like(phases);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let phase = each_array[$$index];\n const status = phaseStatuses[phase.id]?.status ?? \"pending\";\n $$renderer2.push(`<tr${attr_class(\"hover:bg-surface transition-colors\", void 0, { \"opacity-50\": status === \"approved\" })}><td class=\"border-b border-border px-3 py-2 font-medium\">Phase ${escape_html(phase.number)}: ${escape_html(phase.name)}</td><td class=\"text-text-dim border-b border-border px-3 py-2\">${escape_html(phase.overview.length > 100 ? phase.overview.slice(0, 100) + \"...\" : phase.overview)}</td><td class=\"border-b border-border px-3 py-2\"><button${attr_class(`inline-block cursor-pointer rounded-full px-2 py-0.5 text-xs font-semibold ${stringify(statusBadgeClass(status))}`)}>${escape_html(statusLabel(status))}</button></td></tr>`);\n }\n $$renderer2.push(`<!--]--></tbody></table></div>`);\n });\n}\nfunction ChangeBlock($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { change, commentLabel } = $$props;\n $$renderer2.push(`<div class=\"mb-3\" data-commentable=\"\" tabindex=\"0\"${attr(\n \"data-comment-label\",\n // Reset any previous highlighting\n commentLabel ?? change.componentName\n )}><h4 class=\"text-text-dim mb-1 text-sm font-medium\">${escape_html(change.componentName)}</h4> <p class=\"mb-1 text-sm\"><strong>File:</strong> <code class=\"bg-surface2 text-accent rounded px-1 py-0.5 font-mono text-xs\">${escape_html(change.filePath)}</code></p> <p class=\"text-text-dim text-sm\">${escape_html(change.description)}</p> `);\n if (change.codeSnippet) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<pre class=\"bg-surface border-border mt-2 overflow-x-auto rounded-md border p-3 text-xs\"><code${attr_class(clsx(change.codeLanguage ? `language-${change.codeLanguage}` : \"\"))}>${escape_html(change.codeSnippet)}</code></pre>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction MarkdownBlock($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { content, sectionPrefix } = $$props;\n let html$1 = derived(() => marked.parse(content, { gfm: true, breaks: false }));\n $$renderer2.push(`<div class=\"markdown-content text-text-dim text-sm leading-relaxed svelte-19d3ioy\">${html(html$1())}</div>`);\n });\n}\nfunction PhaseStatusControl($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { status, onSetStatus } = $$props;\n const STATE_COLORS = {\n \"pending\": \"bg-accent/15 text-accent border-accent/30\",\n \"approved\": \"bg-green/15 text-green border-green/30\",\n \"needs-work\": \"bg-orange/15 text-orange border-orange/30\"\n };\n const states = Object.keys(STATUS_LABELS).map((value) => ({\n value,\n label: STATUS_LABELS[value],\n color: STATE_COLORS[value]\n }));\n $$renderer2.push(`<div class=\"flex gap-1\" role=\"radiogroup\" aria-label=\"Phase status\"><!--[-->`);\n const each_array = ensure_array_like(states);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let s = each_array[$$index];\n $$renderer2.push(`<button${attr_class(`cursor-pointer rounded-full border px-2 py-0.5 text-xs font-medium transition-all ${stringify(status === s.value ? s.color : \"border-transparent text-text-dim hover:bg-surface2\")}`)} role=\"radio\"${attr(\"aria-checked\", status === s.value)}>${escape_html(s.label)}</button>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction PhaseCard($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n phase,\n phaseStatus,\n onSetStatus,\n subItemStatuses = {},\n onSetSubItemStatus\n } = $$props;\n let expanded = true;\n let phaseLabel = derived(() => `Phase ${phase.number}`);\n $$renderer2.push(`<section${attr(\"data-section\", `Phase ${stringify(phase.number)}: ${stringify(phase.name)}`)} data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Phase ${stringify(phase.number)}: ${stringify(phase.name)}`)} class=\"mt-6\"><div class=\"flex items-center gap-3\"><button class=\"text-accent flex-1 cursor-pointer border-b border-border pb-2 text-left text-xl font-semibold\"${attr(\"aria-expanded\", expanded)}${attr(\"aria-controls\", `phase-content-${stringify(phase.id)}`)}><span${attr_class(\"mr-2 inline-block transition-transform\", void 0, { \"rotate-90\": expanded })}>▶</span> Phase ${escape_html(phase.number)}: ${escape_html(phase.name)}</button> `);\n PhaseStatusControl($$renderer2, { status: phaseStatus?.status ?? \"pending\", onSetStatus });\n $$renderer2.push(`<!----></div> `);\n {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div${attr(\"id\", `phase-content-${stringify(phase.id)}`)} class=\"mt-4 space-y-4\">`);\n if (phase.content) {\n $$renderer2.push(\"<!--[-->\");\n MarkdownBlock($$renderer2, {\n content: phase.content,\n sectionPrefix: `${stringify(phaseLabel())} > Content`\n });\n } else if (phase.overview) {\n $$renderer2.push(\"<!--[1-->\");\n MarkdownBlock($$renderer2, {\n content: phase.overview,\n sectionPrefix: `${stringify(phaseLabel())} > Overview`\n });\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (phase.subItems.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"mt-4 space-y-3\"><!--[-->`);\n const each_array = ensure_array_like(phase.subItems);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let subItem = each_array[$$index];\n $$renderer2.push(`<div class=\"bg-surface border-border rounded-lg border p-4\" data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `${stringify(phaseLabel())} > ${stringify(phase.number)}${stringify(subItem.letter)}. ${stringify(subItem.name)}`)}><div class=\"flex items-center justify-between gap-3\"><h4 class=\"text-sm font-semibold\">${escape_html(phase.number)}${escape_html(subItem.letter)}. ${escape_html(subItem.name)}</h4> `);\n PhaseStatusControl($$renderer2, {\n status: subItemStatuses[subItem.id]?.status ?? \"pending\",\n onSetStatus: (status) => onSetSubItemStatus?.(subItem.id, status)\n });\n $$renderer2.push(`<!----></div> `);\n if (subItem.content) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"mt-2\">`);\n MarkdownBlock($$renderer2, {\n content: subItem.content,\n sectionPrefix: `${stringify(phaseLabel())} > ${stringify(subItem.name)}`\n });\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (phase.changes.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<h3 class=\"mt-4 mb-2 text-base font-semibold\">Changes Required</h3> <!--[-->`);\n const each_array_1 = ensure_array_like(phase.changes);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let change = each_array_1[$$index_1];\n ChangeBlock($$renderer2, {\n change,\n commentLabel: `${stringify(phaseLabel())} > Changes > ${stringify(change.componentName)}`\n });\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"mt-4\"><h3 class=\"mb-2 text-base font-semibold\">Success Criteria</h3> `);\n if (phase.successCriteria.automated.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<h4 class=\"text-text-dim mt-3 mb-1 text-sm font-medium\">Automated Verification</h4> <ul class=\"space-y-1.5 pl-1\"><!--[-->`);\n const each_array_2 = ensure_array_like(phase.successCriteria.automated);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let criterion = each_array_2[$$index_2];\n $$renderer2.push(`<li class=\"text-text-dim flex items-start gap-2 text-sm\" data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `${stringify(phaseLabel())} > Automated > ${stringify(criterion.text.slice(0, 40))}`)}><input type=\"checkbox\" class=\"mt-0.5 accent-green\"/> <span>`);\n if (criterion.command) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<code class=\"bg-surface2 rounded px-1 py-0.5 font-mono text-xs\">${escape_html(criterion.command)}</code> —`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> ${escape_html(criterion.text)}</span></li>`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (phase.successCriteria.manual.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<h4 class=\"text-text-dim mt-3 mb-1 text-sm font-medium\">Manual Verification</h4> <ul class=\"space-y-1.5 pl-1\"><!--[-->`);\n const each_array_3 = ensure_array_like(phase.successCriteria.manual);\n for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n let criterion = each_array_3[$$index_3];\n $$renderer2.push(`<li class=\"text-text-dim flex items-start gap-2 text-sm\" data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `${stringify(phaseLabel())} > Manual > ${stringify(criterion.text.slice(0, 40))}`)}><input type=\"checkbox\" class=\"mt-0.5 accent-green\"/> <span>${escape_html(criterion.text)}</span></li>`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div></div>`);\n }\n $$renderer2.push(`<!--]--> <hr class=\"border-border mt-6\"/></section>`);\n });\n}\nfunction MermaidDiagram($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n $$renderer2.push(`<div class=\"bg-surface border-border overflow-x-auto rounded-lg border p-6\"><div class=\"flex justify-center\">`);\n {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<p class=\"text-text-dim text-sm\">Loading diagram...</p>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nfunction ProgressBar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { phases, phaseStatuses } = $$props;\n let approvedCount = derived(() => phases.filter((p) => phaseStatuses[p.id]?.status === \"approved\").length);\n let progress = derived(() => phases.length > 0 ? approvedCount() / phases.length * 100 : 0);\n $$renderer2.push(`<div class=\"fixed top-0 right-0 left-0 z-50 h-[3px] bg-surface2\"><div class=\"h-full transition-all duration-400 ease-out\"${attr_style(`width: ${stringify(progress())}%; background: linear-gradient(90deg, var(--color-green), #2ea043);`)}></div></div>`);\n });\n}\nfunction VersionSelector($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n versions,\n currentVersion,\n onSelectVersion\n } = $$props;\n if (versions.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"flex items-center gap-3\"><div class=\"flex items-center gap-2\"><label class=\"text-text-dim text-xs\" for=\"version-select\">Version:</label> `);\n $$renderer2.select(\n {\n id: \"version-select\",\n class: \"bg-surface2 border-border rounded px-2 py-1 text-xs text-text\",\n value: currentVersion,\n onchange: (e) => onSelectVersion(parseInt(e.currentTarget.value, 10))\n },\n ($$renderer3) => {\n $$renderer3.option({ value: currentVersion }, ($$renderer4) => {\n $$renderer4.push(`v${escape_html(currentVersion)} (current)`);\n });\n $$renderer3.push(`<!--[-->`);\n const each_array = ensure_array_like([...versions].reverse());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let v = each_array[$$index];\n if (v !== currentVersion) {\n $$renderer3.push(\"<!--[-->\");\n $$renderer3.option({ value: v }, ($$renderer4) => {\n $$renderer4.push(`v${escape_html(v)}`);\n });\n } else {\n $$renderer3.push(\"<!--[!-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]-->`);\n }\n );\n $$renderer2.push(`</div> <button class=\"text-text-dim hover:text-accent rounded px-2 py-1 text-xs transition-colors\">${escape_html(\"Compare versions\")}</button> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nconst QUOTE_MAX_LENGTH = 120;\nfunction FeedbackItem($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { comment } = $$props;\n $$renderer2.push(`<article${attr_class(`rounded-lg border p-3 ${stringify(\n // Auto-open edit mode for empty comments (just added)\n comment.resolved ? \"border-slate-700 bg-slate-800/40 opacity-60\" : \"border-slate-600/40 bg-slate-800/90\"\n )}`)}><div class=\"mb-1 text-[0.7rem] text-blue-300\">${escape_html(comment.section)}</div> `);\n if (comment.quote) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<p class=\"mb-2 rounded-md border border-slate-700 bg-[#0f172a] px-2 py-1.5 text-xs italic text-slate-300\">\"${escape_html(comment.quote.length > QUOTE_MAX_LENGTH ? comment.quote.slice(0, QUOTE_MAX_LENGTH) + \"...\" : comment.quote)}\"</p>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<p class=\"text-xs text-slate-300\">${escape_html(comment.comment)}</p> <div class=\"mt-1.5 flex gap-1.5\"><button class=\"rounded-md bg-blue-700 px-2 py-1 text-xs text-white\">Edit</button> <button${attr_class(`rounded-md px-2 py-1 text-xs ${stringify(comment.resolved ? \"bg-green-800 text-green-200\" : \"bg-slate-700 text-slate-300\")}`)}>${escape_html(comment.resolved ? \"Resolved\" : \"Resolve\")}</button> <button class=\"rounded-md bg-red-900 px-2 py-1 text-xs text-red-200\">Delete</button></div>`);\n }\n $$renderer2.push(`<!--]--></article>`);\n });\n}\nfunction FeedbackPanel($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n comments\n } = $$props;\n let unresolvedCount = derived(() => comments.filter((c) => !c.resolved).length);\n $$renderer2.push(`<aside data-feedback-panel=\"\" role=\"complementary\" aria-label=\"Review comments\" class=\"fixed top-2 right-4 z-40 flex w-80 max-h-[calc(100vh-1rem)] flex-col rounded-xl bg-[#0f172a] shadow-xl shadow-black/35\"><header class=\"border-b border-white/10 px-4 py-3\"><h3 class=\"flex items-center gap-2 text-base font-semibold text-slate-200\">Review <span class=\"bg-accent/15 text-accent inline-block rounded-full px-2 py-0.5 text-xs font-semibold\">${escape_html(unresolvedCount())}</span></h3> <p class=\"mt-1 text-xs text-slate-400\">Hover over plan elements to comment. Click Submit when done.</p> <button class=\"mt-2 w-full cursor-pointer rounded-lg bg-blue-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-blue-500\">Add comment</button></header> <div class=\"flex-1 space-y-2 overflow-y-auto p-3\">`);\n if (comments.length === 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"rounded-lg border border-dashed border-slate-600 p-3 text-sm text-slate-400\">No comments yet. Hover and click on any plan element to add a comment.</div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(comments);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let comment = each_array[$$index];\n FeedbackItem($$renderer2, {\n comment\n });\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div></aside>`);\n });\n}\nfunction ApprovalBar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { status, commentCount, computedStatus } = $$props;\n $$renderer2.push(`<div role=\"toolbar\" aria-label=\"Review actions\" class=\"fixed right-0 bottom-0 left-0 z-40 border-t border-border bg-surface px-6 py-3\"><div class=\"mx-auto flex max-w-5xl items-center justify-between pr-80\"><div class=\"text-text-dim text-sm\">`);\n if (commentCount > 0) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<span class=\"text-orange\">${escape_html(commentCount)} unresolved comment${escape_html(commentCount !== 1 ? \"s\" : \"\")}</span> <span class=\"ml-2\">— will submit as <span class=\"font-semibold text-orange\">needs-work</span></span>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<span class=\"text-text-dim\">No unresolved comments — will submit as <span class=\"font-semibold text-green\">approved</span></span>`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"flex gap-3\">`);\n if (status !== \"approved\" && status !== \"needs-work\") {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<button${attr_class(`cursor-pointer rounded-lg px-5 py-2 text-sm font-semibold transition-colors ${stringify(computedStatus === \"approved\" ? \"bg-green text-white hover:brightness-110\" : \"bg-orange/15 text-orange hover:bg-orange/25\")}`)} aria-label=\"Submit feedback\">Submit Feedback</button>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<span${attr_class(`rounded-lg px-5 py-2 text-sm font-semibold ${stringify(status === \"approved\" ? \"bg-green/15 text-green\" : \"bg-orange/15 text-orange\")}`)}>${escape_html(status === \"approved\" ? \"Approved ✓\" : \"Changes requested\")}</span>`);\n }\n $$renderer2.push(`<!--]--></div></div></div>`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n const planStore = getPlanStore();\n const feedbackStore = getFeedbackStore();\n async function handleSelectVersion(version) {\n if (!/* ignore */\n /* ignore */\n // Track the version we initialized feedback for\n // Initialize stores from server data\n // Only restore feedback if it belongs to this plan version; otherwise start fresh\n // Reset feedback when plan version changes via SSE (new version = fresh review)\n plan()) return;\n if (version === plan().meta.version) return;\n try {\n const res = await fetch(`/api/sessions/${data.sessionId}/versions/${version}`);\n if (res.ok) {\n const oldPlan = await res.json();\n planStore.set(oldPlan);\n }\n } catch {\n }\n }\n let plan = derived(() => planStore.plan);\n if (plan()) {\n $$renderer2.push(\"<!--[-->\");\n const unresolvedCount = feedbackStore.comments.filter((c) => !c.resolved).length;\n const computedStatus = unresolvedCount > 0 ? \"needs-work\" : \"approved\";\n ProgressBar($$renderer2, {\n phases: plan().phases,\n phaseStatuses: feedbackStore.phaseStatuses\n });\n $$renderer2.push(`<!----> <div role=\"region\" aria-label=\"Plan content\" class=\"min-h-screen pb-20 pr-[22rem] pl-8 pt-4\">`);\n PlanHeader($$renderer2, { meta: plan().meta, status: feedbackStore.status });\n $$renderer2.push(`<!----> <div class=\"mt-4 mb-2\">`);\n VersionSelector($$renderer2, {\n versions: data.versions,\n currentVersion: plan().meta.version,\n onSelectVersion: handleSelectVersion\n });\n $$renderer2.push(`<!----></div> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <section data-section=\"Overview\" data-commentable=\"\" tabindex=\"0\" data-comment-label=\"Overview\"><h2 class=\"text-accent mt-8 mb-4 border-b border-border pb-2 text-xl font-semibold\">Overview</h2> `);\n MarkdownBlock($$renderer2, { content: plan().overview, sectionPrefix: \"Overview\" });\n $$renderer2.push(`<!----></section> <!--[-->`);\n const each_array = ensure_array_like(plan().diagrams);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let diagram = each_array[$$index];\n $$renderer2.push(`<section data-section=\"Diagrams\" data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Diagram: ${stringify(diagram.title)}`)}><h3 class=\"mt-6 mb-3 text-lg font-semibold\">${escape_html(diagram.title)}</h3> `);\n MermaidDiagram($$renderer2, { code: diagram.mermaidCode, id: diagram.id });\n $$renderer2.push(`<!----></section>`);\n }\n $$renderer2.push(`<!--]--> `);\n if (plan().currentState) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<section data-section=\"Current State\" data-commentable=\"\" tabindex=\"0\" data-comment-label=\"Current State\"><h2 class=\"text-accent mt-8 mb-4 border-b border-border pb-2 text-xl font-semibold\">Current State</h2> `);\n MarkdownBlock($$renderer2, { content: plan().currentState, sectionPrefix: \"Current State\" });\n $$renderer2.push(`<!----> `);\n if (plan().keyDiscoveries.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<h3 class=\"mt-6 mb-3 text-lg font-semibold\">Key Discoveries</h3> <ul class=\"text-text-dim space-y-1.5 pl-5 text-sm\"><!--[-->`);\n const each_array_1 = ensure_array_like(plan().keyDiscoveries);\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let discovery = each_array_1[$$index_1];\n $$renderer2.push(`<li data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Key Discovery: ${stringify(discovery.text.slice(0, 50))}`)}>${escape_html(discovery.text)} `);\n if (discovery.codeRef) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<code class=\"bg-surface2 text-accent rounded px-1 py-0.5 font-mono text-xs\">${escape_html(discovery.codeRef)}</code>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></li>`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></section>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (plan().scopeExclusions.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<section data-section=\"Scope Exclusions\" data-commentable=\"\" tabindex=\"0\" data-comment-label=\"Scope Exclusions\"><h2 class=\"text-accent mt-8 mb-4 border-b border-border pb-2 text-xl font-semibold\">What We're NOT Doing</h2> <div class=\"grid grid-cols-2 gap-3\"><!--[-->`);\n const each_array_2 = ensure_array_like(plan().scopeExclusions);\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let exclusion = each_array_2[$$index_2];\n $$renderer2.push(`<div class=\"bg-surface border-border rounded-lg border border-l-3 border-l-red p-4\" data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Scope > ${stringify(exclusion.title)}`)}><div class=\"text-red text-xs font-semibold uppercase tracking-wide\">Out of scope</div> <h4 class=\"mt-1 mb-1 text-sm font-semibold\">${escape_html(exclusion.title)}</h4> <p class=\"text-text-dim text-xs\">${escape_html(exclusion.reason)}</p></div>`);\n }\n $$renderer2.push(`<!--]--></div></section>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (plan().implementationApproach) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<section data-section=\"Implementation Approach\" data-commentable=\"\" tabindex=\"0\" data-comment-label=\"Implementation Approach\"><h2 class=\"text-accent mt-8 mb-4 border-b border-border pb-2 text-xl font-semibold\">Implementation Approach</h2> `);\n MarkdownBlock($$renderer2, {\n content: plan().implementationApproach,\n sectionPrefix: \"Implementation Approach\"\n });\n $$renderer2.push(`<!----></section>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> <section data-section=\"Phase Summary\"><h2 class=\"text-accent mt-8 mb-4 border-b border-border pb-2 text-xl font-semibold\">Phase Summary</h2> `);\n PhaseTable($$renderer2, {\n phases: plan().phases,\n phaseStatuses: feedbackStore.phaseStatuses\n });\n $$renderer2.push(`<!----></section> <!--[-->`);\n const each_array_3 = ensure_array_like(plan().phases);\n for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n let phase = each_array_3[$$index_3];\n PhaseCard($$renderer2, {\n phase,\n phaseStatus: feedbackStore.phaseStatuses[phase.id],\n onSetStatus: (status, note) => feedbackStore.setPhaseStatus(phase.id, status, note),\n subItemStatuses: feedbackStore.subItemStatuses,\n onSetSubItemStatus: (subItemId, status) => feedbackStore.setSubItemStatus(subItemId, phase.id, status, phase.subItems.map((si) => si.id))\n });\n }\n $$renderer2.push(`<!--]--> `);\n if (plan().testingStrategy) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<section data-section=\"Testing Strategy\" data-commentable=\"\" tabindex=\"0\" data-comment-label=\"Testing Strategy\"><h2 class=\"text-accent mt-8 mb-4 border-b border-border pb-2 text-xl font-semibold\">Testing Strategy</h2> `);\n if (plan().testingStrategy.unit.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<h3 class=\"mt-4 mb-2 text-base font-semibold\">Unit Tests</h3> <ul class=\"text-text-dim space-y-1 pl-5 text-sm\"><!--[-->`);\n const each_array_4 = ensure_array_like(plan().testingStrategy.unit);\n for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {\n let item = each_array_4[$$index_4];\n $$renderer2.push(`<li data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Testing > Unit > ${stringify(item.slice(0, 40))}`)}>${escape_html(item)}</li>`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (plan().testingStrategy.integration.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<h3 class=\"mt-4 mb-2 text-base font-semibold\">Integration Tests</h3> <ul class=\"text-text-dim space-y-1 pl-5 text-sm\"><!--[-->`);\n const each_array_5 = ensure_array_like(plan().testingStrategy.integration);\n for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n let item = each_array_5[$$index_5];\n $$renderer2.push(`<li data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Testing > Integration > ${stringify(item.slice(0, 40))}`)}>${escape_html(item)}</li>`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (plan().testingStrategy.manual.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<h3 class=\"mt-4 mb-2 text-base font-semibold\">Manual Tests</h3> <ul class=\"text-text-dim space-y-1 pl-5 text-sm\"><!--[-->`);\n const each_array_6 = ensure_array_like(plan().testingStrategy.manual);\n for (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {\n let item = each_array_6[$$index_6];\n $$renderer2.push(`<li data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Testing > Manual > ${stringify(item.slice(0, 40))}`)}>${escape_html(item)}</li>`);\n }\n $$renderer2.push(`<!--]--></ul>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></section>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (plan().references.length > 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<section data-section=\"References\" data-commentable=\"\" tabindex=\"0\" data-comment-label=\"References\"><h2 class=\"text-accent mt-8 mb-4 border-b border-border pb-2 text-xl font-semibold\">References</h2> <ul class=\"text-text-dim space-y-1 pl-5 text-sm\"><!--[-->`);\n const each_array_7 = ensure_array_like(plan().references);\n for (let $$index_7 = 0, $$length = each_array_7.length; $$index_7 < $$length; $$index_7++) {\n let ref = each_array_7[$$index_7];\n $$renderer2.push(`<li data-commentable=\"\" tabindex=\"0\"${attr(\"data-comment-label\", `Reference: ${stringify(ref.slice(0, 50))}`)}>${escape_html(ref)}</li>`);\n }\n $$renderer2.push(`<!--]--></ul></section>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]--> `);\n FeedbackPanel($$renderer2, {\n comments: feedbackStore.comments\n });\n $$renderer2.push(`<!----> `);\n ApprovalBar($$renderer2, {\n status: feedbackStore.status,\n commentCount: unresolvedCount,\n computedStatus\n });\n $$renderer2.push(`<!----> <div class=\"sr-only\" aria-live=\"polite\"></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<div class=\"flex min-h-screen items-center justify-center\"><div class=\"text-center\"><p class=\"text-text-dim mb-2 text-lg\">Waiting for plan data...</p> <p class=\"text-text-dim text-sm\">Claude Code will write <code class=\"bg-surface2 text-accent rounded px-1 py-0.5 font-mono text-xs\">plan.json</code> to this session.</p> <div class=\"text-text-dim mt-4 animate-pulse text-sm\">Listening for updates via SSE</div></div></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import { l as listSessions, d as createSession } from './session-manager-
|
|
2
|
+
import { l as listSessions, d as createSession } from './session-manager-Ov-OHEAa.js';
|
|
3
3
|
import 'node:fs';
|
|
4
4
|
import 'node:path';
|
|
5
5
|
import 'node:os';
|
|
@@ -26,4 +26,4 @@ const POST = async ({ request }) => {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
export { GET, POST };
|
|
29
|
-
//# sourceMappingURL=_server.ts-
|
|
29
|
+
//# sourceMappingURL=_server.ts-BMGVnJIm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BMGVnJIm.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { l as listSessions, c as createSession } from \"../../../../chunks/session-manager.js\";\nconst GET = async () => {\n return json(listSessions());\n};\nconst POST = async ({ request }) => {\n const body = await request.json();\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const sessionId = body.id || crypto.randomUUID().slice(0, 8);\n const meta = {\n id: sessionId,\n planTitle: body.planTitle || \"Untitled Plan\",\n markdownPath: body.markdownPath || \"\",\n projectDir: body.projectDir || \"\",\n status: \"active\",\n planVersion: 1,\n createdAt: now,\n updatedAt: now\n };\n createSession(sessionId, meta);\n return json(meta, { status: 201 });\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":";;;;;;AAEK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;AAC7B;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9D,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,EAAE,EAAE,SAAS;AACjB,IAAI,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,eAAe;AAChD,IAAI,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;AACzC,IAAI,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;AACrC,IAAI,MAAM,EAAE,QAAQ;AACpB,IAAI,WAAW,EAAE,CAAC;AAClB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC;AAChC,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpC;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import {
|
|
2
|
+
import { a as getPlan } from './session-manager-Ov-OHEAa.js';
|
|
3
|
+
import { r as requireSession } from './require-session-B0dZmfgE.js';
|
|
3
4
|
import 'node:fs';
|
|
4
5
|
import 'node:path';
|
|
5
6
|
import 'node:os';
|
|
@@ -11,4 +12,4 @@ const GET = async ({ params }) => {
|
|
|
11
12
|
};
|
|
12
13
|
|
|
13
14
|
export { GET };
|
|
14
|
-
//# sourceMappingURL=_server.ts-
|
|
15
|
+
//# sourceMappingURL=_server.ts-BkhJQojB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-BkhJQojB.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/_sessionId_/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { a as getPlan } from \"../../../../../chunks/session-manager.js\";\nimport { r as requireSession } from \"../../../../../chunks/require-session.js\";\nconst GET = async ({ params }) => {\n const session = requireSession(params.sessionId);\n const plan = getPlan(params.sessionId);\n return json({ session, plan });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AAClD,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;AACxC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAChC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import { s as stop } from './idle-timer-
|
|
3
|
-
import { a as broadcastAll } from './sse-manager-
|
|
2
|
+
import { s as stop } from './idle-timer-ZIksL-DZ.js';
|
|
3
|
+
import { a as broadcastAll } from './sse-manager-BZUnMFuG.js';
|
|
4
4
|
|
|
5
5
|
const SHUTDOWN_GRACE_MS = 500;
|
|
6
6
|
async function POST() {
|
|
@@ -11,4 +11,4 @@ async function POST() {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export { POST };
|
|
14
|
-
//# sourceMappingURL=_server.ts-
|
|
14
|
+
//# sourceMappingURL=_server.ts-BpBKrHhR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-BpBKrHhR.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/shutdown/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { s as stop } from \"../../../../chunks/idle-timer.js\";\nimport { b as broadcastAll } from \"../../../../chunks/sse-manager.js\";\nconst SHUTDOWN_GRACE_MS = 500;\nasync function POST() {\n stop();\n broadcastAll(\"server-shutdown\", { reason: \"stop-command\" });\n setTimeout(() => process.exit(0), SHUTDOWN_GRACE_MS);\n return json({ status: \"shutting-down\" });\n}\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;AAGA,MAAM,iBAAiB,GAAG,GAAG;AAC7B,eAAe,IAAI,GAAG;AACtB,EAAE,IAAI,EAAE;AACR,EAAE,YAAY,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC7D,EAAE,UAAU,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC;AACtD,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAC1C;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as removeClient, c as addClient } from './sse-manager-
|
|
1
|
+
import { r as removeClient, c as addClient } from './sse-manager-BZUnMFuG.js';
|
|
2
2
|
|
|
3
3
|
const HEARTBEAT_INTERVAL_MS = 3e4;
|
|
4
4
|
const GET = async ({ params }) => {
|
|
@@ -34,4 +34,4 @@ const GET = async ({ params }) => {
|
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
export { GET };
|
|
37
|
-
//# sourceMappingURL=_server.ts-
|
|
37
|
+
//# sourceMappingURL=_server.ts-CQDAJYa2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-CQDAJYa2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sse/_sessionId_/_server.ts.js"],"sourcesContent":["import { r as removeClient, a as addClient } from \"../../../../../chunks/sse-manager.js\";\nconst HEARTBEAT_INTERVAL_MS = 3e4;\nconst GET = async ({ params }) => {\n const sessionId = params.sessionId;\n let interval;\n let client;\n const stream = new ReadableStream({\n start(controller) {\n client = addClient(sessionId, controller);\n const encoder = new TextEncoder();\n controller.enqueue(encoder.encode(\": heartbeat\\n\\n\"));\n interval = setInterval(() => {\n try {\n controller.enqueue(encoder.encode(\": heartbeat\\n\\n\"));\n } catch {\n clearInterval(interval);\n removeClient(client);\n }\n }, HEARTBEAT_INTERVAL_MS);\n },\n cancel() {\n clearInterval(interval);\n removeClient(client);\n }\n });\n return new Response(stream, {\n headers: {\n \"Content-Type\": \"text/event-stream\",\n \"Cache-Control\": \"no-cache\",\n Connection: \"keep-alive\"\n }\n });\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;AACA,MAAM,qBAAqB,GAAG,GAAG;AAC5B,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;AACpC,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI,MAAM;AACZ,EAAE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;AACpC,IAAI,KAAK,CAAC,UAAU,EAAE;AACtB,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;AAC/C,MAAM,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AACvC,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM;AACnC,QAAQ,IAAI;AACZ,UAAU,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC/D,QAAQ,CAAC,CAAC,MAAM;AAChB,UAAU,aAAa,CAAC,QAAQ,CAAC;AACjC,UAAU,YAAY,CAAC,MAAM,CAAC;AAC9B,QAAQ;AACR,MAAM,CAAC,EAAE,qBAAqB,CAAC;AAC/B,IAAI,CAAC;AACL,IAAI,MAAM,GAAG;AACb,MAAM,aAAa,CAAC,QAAQ,CAAC;AAC7B,MAAM,YAAY,CAAC,MAAM,CAAC;AAC1B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;AAC9B,IAAI,OAAO,EAAE;AACb,MAAM,cAAc,EAAE,mBAAmB;AACzC,MAAM,eAAe,EAAE,UAAU;AACjC,MAAM,UAAU,EAAE;AAClB;AACA,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import {
|
|
2
|
+
import { b as getFeedback, e as saveFeedback, u as updateSessionStatus } from './session-manager-Ov-OHEAa.js';
|
|
3
|
+
import { r as requireSession } from './require-session-B0dZmfgE.js';
|
|
3
4
|
import 'node:fs';
|
|
4
5
|
import 'node:path';
|
|
5
6
|
import 'node:os';
|
|
@@ -21,4 +22,4 @@ const PUT = async ({ params, request }) => {
|
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
export { GET, PUT };
|
|
24
|
-
//# sourceMappingURL=_server.ts-
|
|
25
|
+
//# sourceMappingURL=_server.ts-Cnoxv0Cx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Cnoxv0Cx.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/_sessionId_/feedback/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { b as getFeedback, s as saveFeedback, u as updateSessionStatus } from \"../../../../../../chunks/session-manager.js\";\nimport { r as requireSession } from \"../../../../../../chunks/require-session.js\";\nconst GET = async ({ params }) => {\n requireSession(params.sessionId);\n const feedback = getFeedback(params.sessionId);\n return json(feedback);\n};\nconst PUT = async ({ params, request }) => {\n requireSession(params.sessionId);\n const body = await request.json();\n body.updatedAt = (/* @__PURE__ */ new Date()).toISOString();\n saveFeedback(params.sessionId, body);\n if (body.status === \"approved\" || body.status === \"needs-work\") {\n updateSessionStatus(params.sessionId, body.status);\n }\n return json(body);\n};\nexport {\n GET,\n PUT\n};\n"],"names":[],"mappings":";;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AAClC,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;AAChD,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;AACvB;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;AAC3C,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AAClC,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI,CAAC,SAAS,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AAC7D,EAAE,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;AACtC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE;AAClE,IAAI,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;AACtD,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import { g as getBaseDir } from './session-manager-
|
|
2
|
+
import { g as getBaseDir } from './session-manager-Ov-OHEAa.js';
|
|
3
3
|
import 'node:fs';
|
|
4
4
|
import 'node:path';
|
|
5
5
|
import 'node:os';
|
|
@@ -9,4 +9,4 @@ function GET() {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export { GET };
|
|
12
|
-
//# sourceMappingURL=_server.ts-
|
|
12
|
+
//# sourceMappingURL=_server.ts-DNQVvXBq.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts-
|
|
1
|
+
{"version":3,"file":"_server.ts-DNQVvXBq.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/health/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { g as getBaseDir } from \"../../../../chunks/session-manager.js\";\nfunction GET() {\n return json({ sessionDir: getBaseDir(), pid: process.pid });\n}\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;AAEA,SAAS,GAAG,GAAG;AACf,EAAE,OAAO,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7D;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import {
|
|
2
|
+
import { c as listVersions } from './session-manager-Ov-OHEAa.js';
|
|
3
|
+
import { r as requireSession } from './require-session-B0dZmfgE.js';
|
|
3
4
|
import 'node:fs';
|
|
4
5
|
import 'node:path';
|
|
5
6
|
import 'node:os';
|
|
@@ -10,4 +11,4 @@ const GET = async ({ params }) => {
|
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
export { GET };
|
|
13
|
-
//# sourceMappingURL=_server.ts-
|
|
14
|
+
//# sourceMappingURL=_server.ts-Dxo8cSME.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Dxo8cSME.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/_sessionId_/versions/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { d as listVersions } from \"../../../../../../chunks/session-manager.js\";\nimport { r as requireSession } from \"../../../../../../chunks/require-session.js\";\nconst GET = async ({ params }) => {\n requireSession(params.sessionId);\n return json(listVersions(params.sessionId));\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AAClC,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7C;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { e as error, j as json } from './index-CoD1IJuy.js';
|
|
2
|
-
import {
|
|
2
|
+
import { f as getVersion } from './session-manager-Ov-OHEAa.js';
|
|
3
|
+
import { r as requireSession } from './require-session-B0dZmfgE.js';
|
|
3
4
|
import 'node:fs';
|
|
4
5
|
import 'node:path';
|
|
5
6
|
import 'node:os';
|
|
@@ -14,4 +15,4 @@ const GET = async ({ params }) => {
|
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
export { GET };
|
|
17
|
-
//# sourceMappingURL=_server.ts-
|
|
18
|
+
//# sourceMappingURL=_server.ts-Ro5fHgb-.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Ro5fHgb-.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/_sessionId_/versions/_version_/_server.ts.js"],"sourcesContent":["import { error, json } from \"@sveltejs/kit\";\nimport { e as getVersion } from \"../../../../../../../chunks/session-manager.js\";\nimport { r as requireSession } from \"../../../../../../../chunks/require-session.js\";\nconst GET = async ({ params }) => {\n requireSession(params.sessionId);\n const version = parseInt(params.version, 10);\n if (isNaN(version)) throw error(400, \"Invalid version number\");\n const plan = getVersion(params.sessionId, version);\n if (!plan) throw error(404, \"Version not found\");\n return json(plan);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;AAGK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK;AAClC,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC;AAClC,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;AAC9C,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAChE,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;AACpD,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AAClD,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB;;;;"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { watch } from 'chokidar';
|
|
2
2
|
import { readFileSync } from 'node:fs';
|
|
3
|
-
import { b as broadcast } from './sse-manager-
|
|
4
|
-
import { g as getBaseDir, s as snapshotVersion } from './session-manager-
|
|
5
|
-
import { r as reset, i as initIdleTimer } from './idle-timer-
|
|
3
|
+
import { b as broadcast } from './sse-manager-BZUnMFuG.js';
|
|
4
|
+
import { g as getBaseDir, s as snapshotVersion } from './session-manager-Ov-OHEAa.js';
|
|
5
|
+
import { r as reset, i as initIdleTimer } from './idle-timer-ZIksL-DZ.js';
|
|
6
6
|
import 'node:path';
|
|
7
7
|
import 'node:os';
|
|
8
|
-
import './index-CoD1IJuy.js';
|
|
9
8
|
|
|
10
9
|
let watcher = null;
|
|
11
10
|
function startWatcher() {
|
|
@@ -50,4 +49,4 @@ const handle = async ({ event, resolve }) => {
|
|
|
50
49
|
};
|
|
51
50
|
|
|
52
51
|
export { handle };
|
|
53
|
-
//# sourceMappingURL=hooks.server-
|
|
52
|
+
//# sourceMappingURL=hooks.server-DAyYz0sf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.server-
|
|
1
|
+
{"version":3,"file":"hooks.server-DAyYz0sf.js","sources":["../../../.svelte-kit/adapter-node/entries/hooks.server.js"],"sourcesContent":["import { watch } from \"chokidar\";\nimport { readFileSync } from \"node:fs\";\nimport { c as broadcast } from \"../chunks/sse-manager.js\";\nimport { g as getBaseDir, h as snapshotVersion } from \"../chunks/session-manager.js\";\nimport { i as initIdleTimer, r as reset } from \"../chunks/idle-timer.js\";\nlet watcher = null;\nfunction startWatcher() {\n if (watcher) return;\n watcher = watch(getBaseDir(), {\n ignoreInitial: true,\n depth: 2,\n awaitWriteFinish: {\n stabilityThreshold: 300,\n pollInterval: 100\n }\n });\n function handleFileChange(filePath) {\n if (filePath.endsWith(\"/plan.json\")) {\n const parts = filePath.split(\"/\");\n const planIdx = parts.lastIndexOf(\"plan.json\");\n if (planIdx < 1) return;\n const sessionId = parts[planIdx - 1];\n try {\n const content = readFileSync(filePath, \"utf-8\");\n const plan = JSON.parse(content);\n snapshotVersion(sessionId, plan);\n broadcast(sessionId, \"plan-updated\", plan);\n } catch (err) {\n console.error(\"[file-watcher] Error processing plan change:\", err);\n }\n } else if (filePath.endsWith(\"/meta.json\")) {\n broadcast(\"*\", \"sessions-updated\", {});\n }\n }\n watcher.on(\"change\", handleFileChange);\n watcher.on(\"add\", handleFileChange);\n console.log(\"[file-watcher] Watching\", getBaseDir());\n}\nstartWatcher();\ninitIdleTimer(() => {\n process.exit(0);\n});\nconst handle = async ({ event, resolve }) => {\n reset();\n return resolve(event);\n};\nexport {\n handle\n};\n"],"names":[],"mappings":";;;;;;;;AAKA,IAAI,OAAO,GAAG,IAAI;AAClB,SAAS,YAAY,GAAG;AACxB,EAAE,IAAI,OAAO,EAAE;AACf,EAAE,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE;AAChC,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,gBAAgB,EAAE;AACtB,MAAM,kBAAkB,EAAE,GAAG;AAC7B,MAAM,YAAY,EAAE;AACpB;AACA,GAAG,CAAC;AACJ,EAAE,SAAS,gBAAgB,CAAC,QAAQ,EAAE;AACtC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACzC,MAAM,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;AACpD,MAAM,IAAI,OAAO,GAAG,CAAC,EAAE;AACvB,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AAC1C,MAAM,IAAI;AACV,QAAQ,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;AACvD,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACxC,QAAQ,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC;AACxC,QAAQ,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC;AAClD,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC;AAC1E,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAChD,MAAM,SAAS,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,CAAC;AAC5C,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC;AACxC,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC;AACrC,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACtD;AACA,YAAY,EAAE;AACd,aAAa,CAAC,MAAM;AACpB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AACG,MAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;AAC7C,EAAE,KAAK,EAAE;AACT,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as broadcastAll } from './sse-manager-
|
|
1
|
+
import { a as broadcastAll } from './sse-manager-BZUnMFuG.js';
|
|
2
2
|
|
|
3
3
|
const IDLE_TIMEOUT_MS = 5 * 60 * 1e3;
|
|
4
4
|
const TICK_INTERVAL_MS = 10 * 1e3;
|
|
@@ -47,4 +47,4 @@ function expire() {
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
export { initIdleTimer as i, reset as r, stop as s };
|
|
50
|
-
//# sourceMappingURL=idle-timer-
|
|
50
|
+
//# sourceMappingURL=idle-timer-ZIksL-DZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-timer-
|
|
1
|
+
{"version":3,"file":"idle-timer-ZIksL-DZ.js","sources":["../../../.svelte-kit/adapter-node/chunks/idle-timer.js"],"sourcesContent":["import { b as broadcastAll } from \"./sse-manager.js\";\nconst IDLE_TIMEOUT_MS = 5 * 60 * 1e3;\nconst TICK_INTERVAL_MS = 10 * 1e3;\nlet deadline = 0;\nlet timer = null;\nlet interval = null;\nlet onExpireCallback = null;\nfunction initIdleTimer(onExpire) {\n onExpireCallback = onExpire;\n reset();\n}\nfunction reset() {\n deadline = Date.now() + IDLE_TIMEOUT_MS;\n if (timer) clearTimeout(timer);\n timer = setTimeout(expire, IDLE_TIMEOUT_MS);\n if (!interval) {\n interval = setInterval(tick, TICK_INTERVAL_MS);\n }\n}\nfunction getRemaining() {\n return Math.max(0, deadline - Date.now());\n}\nfunction stop() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n if (interval) {\n clearInterval(interval);\n interval = null;\n }\n}\nfunction tick() {\n const remaining = getRemaining();\n broadcastAll(\"idle-timer\", { remainingMs: remaining });\n}\nfunction expire() {\n stop();\n broadcastAll(\"idle-timer\", { remainingMs: 0 });\n broadcastAll(\"server-shutdown\", { reason: \"idle-timeout\" });\n const minutes = IDLE_TIMEOUT_MS / 6e4;\n console.log(`[idle-timer] Server idle for ${minutes} minutes, shutting down.`);\n if (onExpireCallback) {\n onExpireCallback();\n }\n}\nexport {\n initIdleTimer as i,\n reset as r,\n stop as s\n};\n"],"names":[],"mappings":";;AACA,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG;AACpC,MAAM,gBAAgB,GAAG,EAAE,GAAG,GAAG;AACjC,IAAI,QAAQ,GAAG,CAAC;AAChB,IAAI,KAAK,GAAG,IAAI;AAChB,IAAI,QAAQ,GAAG,IAAI;AACnB,IAAI,gBAAgB,GAAG,IAAI;AAC3B,SAAS,aAAa,CAAC,QAAQ,EAAE;AACjC,EAAE,gBAAgB,GAAG,QAAQ;AAC7B,EAAE,KAAK,EAAE;AACT;AACA,SAAS,KAAK,GAAG;AACjB,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;AACzC,EAAE,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;AAChC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC;AAC7C,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,gBAAgB,CAAC;AAClD,EAAE;AACF;AACA,SAAS,YAAY,GAAG;AACxB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC3C;AACA,SAAS,IAAI,GAAG;AAChB,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,YAAY,CAAC,KAAK,CAAC;AACvB,IAAI,KAAK,GAAG,IAAI;AAChB,EAAE;AACF,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,aAAa,CAAC,QAAQ,CAAC;AAC3B,IAAI,QAAQ,GAAG,IAAI;AACnB,EAAE;AACF;AACA,SAAS,IAAI,GAAG;AAChB,EAAE,MAAM,SAAS,GAAG,YAAY,EAAE;AAClC,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACxD;AACA,SAAS,MAAM,GAAG;AAClB,EAAE,IAAI,EAAE;AACR,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;AAChD,EAAE,YAAY,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC7D,EAAE,MAAM,OAAO,GAAG,eAAe,GAAG,GAAG;AACvC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,6BAA6B,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAChF,EAAE,IAAI,gBAAgB,EAAE;AACxB,IAAI,gBAAgB,EAAE;AACtB,EAAE;AACF;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { e as error } from './index-CoD1IJuy.js';
|
|
2
|
+
import { h as getSession } from './session-manager-Ov-OHEAa.js';
|
|
3
|
+
|
|
4
|
+
function requireSession(sessionId) {
|
|
5
|
+
const session = getSession(sessionId);
|
|
6
|
+
if (!session) throw error(404, "Session not found");
|
|
7
|
+
return session;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { requireSession as r };
|
|
11
|
+
//# sourceMappingURL=require-session-B0dZmfgE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-session-B0dZmfgE.js","sources":["../../../.svelte-kit/adapter-node/chunks/require-session.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\nimport { f as getSession } from \"./session-manager.js\";\nfunction requireSession(sessionId) {\n const session = getSession(sessionId);\n if (!session) throw error(404, \"Session not found\");\n return session;\n}\nexport {\n requireSession as r\n};\n"],"names":[],"mappings":";;;AAEA,SAAS,cAAc,CAAC,SAAS,EAAE;AACnC,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC;AACvC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC;AACrD,EAAE,OAAO,OAAO;AAChB;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { mkdirSync, readdirSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
|
-
import { e as error } from './index-CoD1IJuy.js';
|
|
5
4
|
|
|
6
5
|
function getBaseDir() {
|
|
7
6
|
return process.env.SESSION_DIR || join(homedir(), ".plan-assistant", "sessions");
|
|
@@ -49,11 +48,6 @@ function listSessions() {
|
|
|
49
48
|
function getSession(sessionId) {
|
|
50
49
|
return readMeta(getSessionDir(sessionId));
|
|
51
50
|
}
|
|
52
|
-
function requireSession(sessionId) {
|
|
53
|
-
const session = getSession(sessionId);
|
|
54
|
-
if (!session) throw error(404, "Session not found");
|
|
55
|
-
return session;
|
|
56
|
-
}
|
|
57
51
|
function createSession(sessionId, meta) {
|
|
58
52
|
const dir = getSessionDir(sessionId);
|
|
59
53
|
mkdirSync(dir, { recursive: true });
|
|
@@ -101,5 +95,5 @@ function getVersion(sessionId, version) {
|
|
|
101
95
|
);
|
|
102
96
|
}
|
|
103
97
|
|
|
104
|
-
export { getPlan as a, getFeedback as b, listVersions as c, createSession as d, saveFeedback as e, getVersion as f, getBaseDir as g,
|
|
105
|
-
//# sourceMappingURL=session-manager-
|
|
98
|
+
export { getPlan as a, getFeedback as b, listVersions as c, createSession as d, saveFeedback as e, getVersion as f, getBaseDir as g, getSession as h, listSessions as l, snapshotVersion as s, updateSessionStatus as u };
|
|
99
|
+
//# sourceMappingURL=session-manager-Ov-OHEAa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager-Ov-OHEAa.js","sources":["../../../.svelte-kit/adapter-node/chunks/session-manager.js"],"sourcesContent":["import { mkdirSync, writeFileSync, readdirSync, existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { homedir } from \"node:os\";\nfunction getBaseDir() {\n return process.env.SESSION_DIR || join(homedir(), \".plan-assistant\", \"sessions\");\n}\nfunction validateSessionId(sessionId) {\n if (!/^[a-f0-9]{1,16}$/.test(sessionId)) {\n throw new Error(`Invalid session ID: ${sessionId}`);\n }\n}\nfunction getSessionDir(sessionId) {\n validateSessionId(sessionId);\n return join(getBaseDir(), sessionId);\n}\nfunction readJsonFile(filePath) {\n if (!existsSync(filePath)) return null;\n try {\n return JSON.parse(readFileSync(filePath, \"utf-8\"));\n } catch {\n return null;\n }\n}\nfunction readMeta(sessionDir) {\n return readJsonFile(join(sessionDir, \"meta.json\"));\n}\nfunction readFeedbackByDir(sessionDir) {\n return readJsonFile(join(sessionDir, \"feedback.json\"));\n}\nfunction readPlanByDir(sessionDir) {\n return readJsonFile(join(sessionDir, \"plan.json\"));\n}\nfunction listSessions() {\n const baseDir = getBaseDir();\n mkdirSync(baseDir, { recursive: true });\n const entries = readdirSync(baseDir, { withFileTypes: true });\n const sessions = [];\n for (const entry of entries) {\n if (!entry.isDirectory()) continue;\n const meta = readJsonFile(join(baseDir, entry.name, \"meta.json\"));\n if (meta) sessions.push(meta);\n }\n return sessions.sort(\n (a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime()\n );\n}\nfunction getSession(sessionId) {\n return readMeta(getSessionDir(sessionId));\n}\nfunction createSession(sessionId, meta) {\n const dir = getSessionDir(sessionId);\n mkdirSync(dir, { recursive: true });\n mkdirSync(join(dir, \"versions\"), { recursive: true });\n writeFileSync(join(dir, \"meta.json\"), JSON.stringify(meta, null, 2));\n}\nfunction getPlan(sessionId) {\n return readPlanByDir(getSessionDir(sessionId));\n}\nfunction getFeedback(sessionId) {\n return readFeedbackByDir(getSessionDir(sessionId));\n}\nfunction saveFeedback(sessionId, feedback) {\n const dir = getSessionDir(sessionId);\n mkdirSync(dir, { recursive: true });\n writeFileSync(join(dir, \"feedback.json\"), JSON.stringify(feedback, null, 2));\n}\nfunction snapshotVersion(sessionId, plan) {\n const dir = join(getSessionDir(sessionId), \"versions\");\n mkdirSync(dir, { recursive: true });\n const versionFile = join(dir, `v${plan.meta.version}.json`);\n writeFileSync(versionFile, JSON.stringify(plan, null, 2));\n}\nfunction listVersions(sessionId) {\n const dir = join(getSessionDir(sessionId), \"versions\");\n if (!existsSync(dir)) return [];\n return readdirSync(dir).filter((f) => f.startsWith(\"v\") && f.endsWith(\".json\")).map((f) => parseInt(f.slice(1, -5), 10)).filter((n) => !isNaN(n)).sort((a, b) => a - b);\n}\nfunction updateSessionStatus(sessionId, status) {\n const meta = getSession(sessionId);\n if (!meta) throw new Error(`Session not found: ${sessionId}`);\n const updated = {\n ...meta,\n status,\n updatedAt: (/* @__PURE__ */ new Date()).toISOString()\n };\n writeFileSync(\n join(getSessionDir(sessionId), \"meta.json\"),\n JSON.stringify(updated, null, 2)\n );\n}\nfunction getVersion(sessionId, version) {\n return readJsonFile(\n join(getSessionDir(sessionId), \"versions\", `v${version}.json`)\n );\n}\nexport {\n getPlan as a,\n getFeedback as b,\n createSession as c,\n listVersions as d,\n getVersion as e,\n getSession as f,\n getBaseDir as g,\n snapshotVersion as h,\n listSessions as l,\n saveFeedback as s,\n updateSessionStatus as u\n};\n"],"names":[],"mappings":";;;;AAGA,SAAS,UAAU,GAAG;AACtB,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC;AAClF;AACA,SAAS,iBAAiB,CAAC,SAAS,EAAE;AACtC,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC3C,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC;AACvD,EAAE;AACF;AACA,SAAS,aAAa,CAAC,SAAS,EAAE;AAClC,EAAE,iBAAiB,CAAC,SAAS,CAAC;AAC9B,EAAE,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC;AACtC;AACA,SAAS,YAAY,CAAC,QAAQ,EAAE;AAChC,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI;AACxC,EAAE,IAAI;AACN,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACtD,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE;AAC9B,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACpD;AACA,SAAS,iBAAiB,CAAC,UAAU,EAAE;AACvC,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACxD;AACA,SAAS,aAAa,CAAC,UAAU,EAAE;AACnC,EAAE,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACpD;AACA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,OAAO,GAAG,UAAU,EAAE;AAC9B,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACzC,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAC/D,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;AAC9B,IAAI,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACrE,IAAI,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,EAAE;AACF,EAAE,OAAO,QAAQ,CAAC,IAAI;AACtB,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;AAC7E,GAAG;AACH;AACA,SAAS,UAAU,CAAC,SAAS,EAAE;AAC/B,EAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3C;AACA,SAAS,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE;AACxC,EAAE,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC;AACtC,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACrC,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACvD,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtE;AACA,SAAS,OAAO,CAAC,SAAS,EAAE;AAC5B,EAAE,OAAO,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAChD;AACA,SAAS,WAAW,CAAC,SAAS,EAAE;AAChC,EAAE,OAAO,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AACpD;AACA,SAAS,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE;AAC3C,EAAE,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC;AACtC,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACrC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC9E;AACA,SAAS,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE;AAC1C,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;AACxD,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACrC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7D,EAAE,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3D;AACA,SAAS,YAAY,CAAC,SAAS,EAAE;AACjC,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC;AACxD,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE;AACjC,EAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzK;AACA,SAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE;AAChD,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC;AACpC,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,EAAE,MAAM,OAAO,GAAG;AAClB,IAAI,GAAG,IAAI;AACX,IAAI,MAAM;AACV,IAAI,SAAS,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW;AACvD,GAAG;AACH,EAAE,aAAa;AACf,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;AAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;AACnC,GAAG;AACH;AACA,SAAS,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;AACxC,EAAE,OAAO,YAAY;AACrB,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;AACjE,GAAG;AACH;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const clients = /* @__PURE__ */ new Map();
|
|
2
|
+
const encoder = new TextEncoder();
|
|
2
3
|
function addClient(sessionId, controller) {
|
|
3
4
|
const client = { controller, sessionId };
|
|
4
5
|
if (!clients.has(sessionId)) {
|
|
@@ -31,7 +32,6 @@ function broadcast(sessionId, event, data) {
|
|
|
31
32
|
data: ${JSON.stringify(data)}
|
|
32
33
|
|
|
33
34
|
`;
|
|
34
|
-
const encoder = new TextEncoder();
|
|
35
35
|
const encoded = encoder.encode(message);
|
|
36
36
|
sendToClients(clients.get(sessionId), encoded);
|
|
37
37
|
if (sessionId !== "*") {
|
|
@@ -43,7 +43,6 @@ function broadcastAll(event, data) {
|
|
|
43
43
|
data: ${JSON.stringify(data)}
|
|
44
44
|
|
|
45
45
|
`;
|
|
46
|
-
const encoder = new TextEncoder();
|
|
47
46
|
const encoded = encoder.encode(message);
|
|
48
47
|
for (const clientSet of clients.values()) {
|
|
49
48
|
sendToClients(clientSet, encoded);
|
|
@@ -51,4 +50,4 @@ data: ${JSON.stringify(data)}
|
|
|
51
50
|
}
|
|
52
51
|
|
|
53
52
|
export { broadcastAll as a, broadcast as b, addClient as c, removeClient as r };
|
|
54
|
-
//# sourceMappingURL=sse-manager-
|
|
53
|
+
//# sourceMappingURL=sse-manager-BZUnMFuG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-manager-BZUnMFuG.js","sources":["../../../.svelte-kit/adapter-node/chunks/sse-manager.js"],"sourcesContent":["const clients = /* @__PURE__ */ new Map();\nconst encoder = new TextEncoder();\nfunction addClient(sessionId, controller) {\n const client = { controller, sessionId };\n if (!clients.has(sessionId)) {\n clients.set(sessionId, /* @__PURE__ */ new Set());\n }\n clients.get(sessionId).add(client);\n return client;\n}\nfunction removeClient(client) {\n const sessionClients = clients.get(client.sessionId);\n if (sessionClients) {\n sessionClients.delete(client);\n if (sessionClients.size === 0) {\n clients.delete(client.sessionId);\n }\n }\n}\nfunction sendToClients(clientSet, encoded) {\n if (!clientSet) return;\n for (const client of clientSet) {\n try {\n client.controller.enqueue(encoded);\n } catch {\n clientSet.delete(client);\n }\n }\n}\nfunction broadcast(sessionId, event, data) {\n const message = `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;\n const encoded = encoder.encode(message);\n sendToClients(clients.get(sessionId), encoded);\n if (sessionId !== \"*\") {\n sendToClients(clients.get(\"*\"), encoded);\n }\n}\nfunction broadcastAll(event, data) {\n const message = `event: ${event}\ndata: ${JSON.stringify(data)}\n\n`;\n const encoded = encoder.encode(message);\n for (const clientSet of clients.values()) {\n sendToClients(clientSet, encoded);\n }\n}\nexport {\n addClient as a,\n broadcastAll as b,\n broadcast as c,\n removeClient as r\n};\n"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB,IAAI,GAAG,EAAE;AACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AACjC,SAAS,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE;AAC1C,EAAE,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE;AAC1C,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,kBAAkB,IAAI,GAAG,EAAE,CAAC;AACrD,EAAE;AACF,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;AACpC,EAAE,OAAO,MAAM;AACf;AACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,EAAE,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;AACtD,EAAE,IAAI,cAAc,EAAE;AACtB,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;AACjC,IAAI,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE;AACnC,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;AACtC,IAAI;AACJ,EAAE;AACF;AACA,SAAS,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE;AAC3C,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,EAAE,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE;AAClC,IAAI,IAAI;AACR,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;AACxC,IAAI,CAAC,CAAC,MAAM;AACZ,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9B,IAAI;AACJ,EAAE;AACF;AACA,SAAS,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;AAC3C,EAAE,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK;AACjC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;AAE5B,CAAC;AACD,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;AAChD,EAAE,IAAI,SAAS,KAAK,GAAG,EAAE;AACzB,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;AAC5C,EAAE;AACF;AACA,SAAS,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;AACnC,EAAE,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK;AACjC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;AAE5B,CAAC;AACD,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;AACzC,EAAE,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE;AAC5C,IAAI,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC;AACrC,EAAE;AACF;;;;"}
|
package/build/server/index.js
CHANGED
|
@@ -1369,7 +1369,7 @@ const options = {
|
|
|
1369
1369
|
<div class="error">
|
|
1370
1370
|
<span class="status">` + status + '</span>\n <div class="message">\n <h1>' + message + "</h1>\n </div>\n </div>\n </body>\n</html>\n"
|
|
1371
1371
|
},
|
|
1372
|
-
version_hash: "
|
|
1372
|
+
version_hash: "1pxyjkk"
|
|
1373
1373
|
};
|
|
1374
1374
|
async function get_hooks() {
|
|
1375
1375
|
let handle;
|
|
@@ -1377,7 +1377,7 @@ async function get_hooks() {
|
|
|
1377
1377
|
let handleError;
|
|
1378
1378
|
let handleValidationError;
|
|
1379
1379
|
let init;
|
|
1380
|
-
({ handle, handleFetch, handleError, handleValidationError, init } = await import('./chunks/hooks.server-
|
|
1380
|
+
({ handle, handleFetch, handleError, handleValidationError, init } = await import('./chunks/hooks.server-DAyYz0sf.js'));
|
|
1381
1381
|
let reroute;
|
|
1382
1382
|
let transport;
|
|
1383
1383
|
return {
|