plan-assistant 1.2.0 → 1.2.1
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/chunks/{BfL8uxRT.js → 1uq0WVax.js} +1 -1
- package/build/client/_app/immutable/chunks/2wZlHG5k.js +1 -0
- package/build/client/_app/immutable/chunks/{CH1NEzX7.js → 66S44dU2.js} +1 -1
- package/build/client/_app/immutable/chunks/{DwHVGAim.js → 9io9WUbM.js} +1 -1
- package/build/client/_app/immutable/chunks/B1KfJkVF.js +1 -0
- package/build/client/_app/immutable/chunks/{CZeFIBGi.js → B5wH4gxC.js} +1 -1
- package/build/client/_app/immutable/chunks/{DPzlQiZI.js → BEd52Y9t.js} +4 -4
- package/build/client/_app/immutable/chunks/{BvRgs-2L.js → BPiLmQNn.js} +1 -1
- package/build/client/_app/immutable/chunks/{DNr4wguO.js → BQLlh6rw.js} +1 -1
- package/build/client/_app/immutable/chunks/{DR7ejmzS.js → B_m78aJo.js} +1 -1
- package/build/client/_app/immutable/chunks/{ChU2oOcg.js → BcL-TGiq.js} +1 -1
- package/build/client/_app/immutable/chunks/{DgjsH1_4.js → BfABZbDO.js} +1 -1
- package/build/client/_app/immutable/chunks/{CDR3Z56Y.js → BgWVd2JH.js} +1 -1
- package/build/client/_app/immutable/chunks/{nJJiC0ez.js → BlhCArX0.js} +1 -1
- package/build/client/_app/immutable/chunks/{BRTrrN0X.js → BwE1zFLP.js} +1 -1
- package/build/client/_app/immutable/chunks/{Cm6RxuVQ.js → C40UEiDa.js} +1 -1
- package/build/client/_app/immutable/chunks/{C0InBf-O.js → C6G9eLNg.js} +1 -1
- package/build/client/_app/immutable/chunks/{BmGLb1qu.js → C7_sUGKI.js} +1 -1
- package/build/client/_app/immutable/chunks/{DRKSCzuI.js → C9sq1NiT.js} +1 -1
- package/build/client/_app/immutable/chunks/{CWVRzsQP.js → CAs7BFgw.js} +1 -1
- package/build/client/_app/immutable/chunks/{s2OkNNj0.js → CCvUv5wO.js} +1 -1
- package/build/client/_app/immutable/chunks/CD_kQCcy.js +1 -0
- package/build/client/_app/immutable/chunks/{swCs98qy.js → CEkljthY.js} +1 -1
- package/build/client/_app/immutable/chunks/{Bl7iZqEb.js → CZDB-NCS.js} +1 -1
- package/build/client/_app/immutable/chunks/{CSL7tjoH.js → CdWYTPbj.js} +1 -1
- package/build/client/_app/immutable/chunks/{httJDHb6.js → Cfu7LlTl.js} +1 -1
- package/build/client/_app/immutable/chunks/CgHT_ma3.js +3 -0
- package/build/client/_app/immutable/chunks/{b5WVI7KI.js → ChXJ3_8d.js} +1 -1
- package/build/client/_app/immutable/chunks/{C3BJCczD.js → CjU8zlr4.js} +1 -1
- package/build/client/_app/immutable/chunks/{CZuHz6os.js → Cnk3veQv.js} +1 -1
- package/build/client/_app/immutable/chunks/{OE8RTdkZ.js → CptLmxn7.js} +1 -1
- package/build/client/_app/immutable/chunks/{CZGqo-pw.js → CpzGW5sx.js} +1 -1
- package/build/client/_app/immutable/chunks/{t6MaPXGX.js → D1smdH78.js} +1 -1
- package/build/client/_app/immutable/chunks/D5TNeoIz.js +1 -0
- package/build/client/_app/immutable/chunks/{BurTWprE.js → D6mQqXUs.js} +1 -1
- package/build/client/_app/immutable/chunks/{By7NnKnP.js → D7AzvARu.js} +1 -1
- package/build/client/_app/immutable/chunks/{L9EQWNkl.js → DJPNFy2Z.js} +1 -1
- package/build/client/_app/immutable/chunks/{DwEmC87d.js → DK1EzMSE.js} +1 -1
- package/build/client/_app/immutable/chunks/{Dt4UxPZ4.js → DV6acRrl.js} +1 -1
- package/build/client/_app/immutable/chunks/{CtHD3qrr.js → DYmr2Cu_.js} +1 -1
- package/build/client/_app/immutable/chunks/{DhVzpyVX.js → De3MB1l1.js} +1 -1
- package/build/client/_app/immutable/chunks/{DolVEyKl.js → Dl-inTne.js} +1 -1
- package/build/client/_app/immutable/chunks/{InDR_gmx.js → Ds2Jk9YM.js} +1 -1
- package/build/client/_app/immutable/chunks/{BJwHAATM.js → DtRnjJCq.js} +1 -1
- package/build/client/_app/immutable/chunks/DteI5BLO.js +1 -0
- package/build/client/_app/immutable/chunks/{Cnn0E3YZ.js → QOziFLFL.js} +1 -1
- package/build/client/_app/immutable/chunks/{CvhcLZiP.js → Rt06R0BH.js} +1 -1
- package/build/client/_app/immutable/chunks/{zskmS_aP.js → SLcsOks0.js} +1 -1
- package/build/client/_app/immutable/chunks/{6b0HSL6Z.js → Zl01-BCk.js} +1 -1
- package/build/client/_app/immutable/chunks/{DJQzf1x2.js → _8lNgEhN.js} +1 -1
- package/build/client/_app/immutable/chunks/{BRkVe5gO.js → enKT794F.js} +1 -1
- package/build/client/_app/immutable/chunks/{BBxk7dOU.js → et9SQoBt.js} +3 -3
- package/build/client/_app/immutable/chunks/{Crb4tJFd.js → wOfVBGZS.js} +2 -2
- package/build/client/_app/immutable/chunks/{DatA5hJq.js → yJkIcB-2.js} +1 -1
- package/build/client/_app/immutable/chunks/{Ckj5JRjL.js → zzrVTw61.js} +1 -1
- package/build/client/_app/immutable/entry/{app.B2C74vct.js → app.DgAoonRR.js} +2 -2
- package/build/client/_app/immutable/entry/start.C2lUIh_t.js +1 -0
- package/build/client/_app/immutable/nodes/0.DJ6Q_WzM.js +1 -0
- package/build/client/_app/immutable/nodes/{1.Dkd5hfRh.js → 1.KxbQIKTb.js} +1 -1
- package/build/client/_app/immutable/nodes/{2.C9ThxHzK.js → 2.CNfAa1lN.js} +1 -1
- package/build/client/_app/immutable/nodes/3.nevoqbPf.js +1 -0
- package/build/client/_app/version.json +1 -1
- package/build/server/chunks/{0-FIjyGrw5.js → 0-FD3Yst2W.js} +2 -2
- package/build/server/chunks/{0-FIjyGrw5.js.map → 0-FD3Yst2W.js.map} +1 -1
- package/build/server/chunks/1-B1UHlD8w.js +9 -0
- package/build/server/chunks/{1-Bkky1G1I.js.map → 1-B1UHlD8w.js.map} +1 -1
- package/build/server/chunks/{2-B3cRP7wL.js → 2-C9Pr1aKN.js} +3 -3
- package/build/server/chunks/{2-B3cRP7wL.js.map → 2-C9Pr1aKN.js.map} +1 -1
- package/build/server/chunks/{3-CHdqnsU5.js → 3-CsZto47z.js} +3 -3
- package/build/server/chunks/{3-CHdqnsU5.js.map → 3-CsZto47z.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CBlXk81L.js → _page.svelte-C-jd6GOL.js} +2 -2
- package/build/server/chunks/{_page.svelte-CBlXk81L.js.map → _page.svelte-C-jd6GOL.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DPEQWNmX.js → _page.svelte-CWIhxW51.js} +2 -2
- package/build/server/chunks/{_page.svelte-DPEQWNmX.js.map → _page.svelte-CWIhxW51.js.map} +1 -1
- package/build/server/chunks/{error.svelte-BzphGO21.js → error.svelte-DItLqhaS.js} +3 -3
- package/build/server/chunks/{error.svelte-BzphGO21.js.map → error.svelte-DItLqhaS.js.map} +1 -1
- package/build/server/chunks/{exports-Dm0JsGQ-.js → exports-Bfa9AaJ4.js} +45 -35
- package/build/server/chunks/exports-Bfa9AaJ4.js.map +1 -0
- package/build/server/chunks/{index-CR1Ji1kt.js → index-DzKdq15H.js} +23 -11
- package/build/server/chunks/index-DzKdq15H.js.map +1 -0
- package/build/server/index.js +3 -3
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +5 -5
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/build/client/_app/immutable/chunks/C2-rKeYx.js +0 -1
- package/build/client/_app/immutable/chunks/C3DTNv0i.js +0 -1
- package/build/client/_app/immutable/chunks/CUfXrgXj.js +0 -1
- package/build/client/_app/immutable/chunks/CXKO628o.js +0 -1
- package/build/client/_app/immutable/chunks/CiHc4XuG.js +0 -1
- package/build/client/_app/immutable/chunks/cUUj7sxC.js +0 -3
- package/build/client/_app/immutable/entry/start.D2e-hus4.js +0 -1
- package/build/client/_app/immutable/nodes/0.DZgBb5Pb.js +0 -1
- package/build/client/_app/immutable/nodes/3.CuHRbCUZ.js +0 -1
- package/build/server/chunks/1-Bkky1G1I.js +0 -9
- package/build/server/chunks/exports-Dm0JsGQ-.js.map +0 -1
- package/build/server/chunks/index-CR1Ji1kt.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-CBlXk81L.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/plan/_sessionId_/_page.svelte.js"],"sourcesContent":["import { e as escape_html, a2 as attr_class, a1 as stringify, $ as ensure_array_like, a0 as attr, a3 as clsx, _ as derived, a4 as attr_style } from \"../../../../chunks/index.js\";\nimport \"clsx\";\nimport { a as statusBadgeClass } from \"../../../../chunks/status.js\";\nimport { marked } from \"marked\";\nfunction html(value) {\n var html2 = String(value ?? \"\");\n var open = \"<!---->\";\n return open + html2 + \"<!---->\";\n}\nlet currentPlan = null;\nlet eventSource = null;\nlet reconnectTimer = null;\nfunction getPlanStore() {\n return {\n get plan() {\n return currentPlan;\n },\n set(plan) {\n currentPlan = plan;\n },\n connectSSE(sessionId2) {\n this.disconnectSSE();\n const connect = () => {\n eventSource = new EventSource(`/api/sse/${sessionId2}`);\n eventSource.addEventListener(\"plan-updated\", (event) => {\n try {\n const plan = JSON.parse(event.data);\n currentPlan = plan;\n } catch {\n }\n });\n eventSource.onerror = () => {\n eventSource?.close();\n reconnectTimer = setTimeout(connect, 3e3);\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}\nlet currentFeedback = null;\nlet saveTimer = null;\nlet sessionId = \"\";\nfunction genId() {\n return \"fb-\" + Date.now().toString(36) + Math.random().toString(36).slice(2, 6);\n}\nasync 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}\nfunction debouncedSave() {\n if (saveTimer) clearTimeout(saveTimer);\n saveTimer = setTimeout(persistFeedback, 500);\n}\nfunction getFeedbackStore() {\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 currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\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 currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n resolveComment(id) {\n if (!currentFeedback) return;\n currentFeedback.comments = currentFeedback.comments.map((c) => c.id === id ? { ...c, resolved: !c.resolved } : c);\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n deleteComment(id) {\n if (!currentFeedback) return;\n currentFeedback.comments = currentFeedback.comments.filter((c) => c.id !== id);\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n setPhaseStatus(phaseId, status, note) {\n if (!currentFeedback) return;\n currentFeedback.phaseStatuses = {\n ...currentFeedback.phaseStatuses,\n [phaseId]: { phaseId, status, note }\n };\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\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 statuses = allSubItemIds.map((id) => currentFeedback.subItemStatuses[id]?.status ?? \"pending\");\n const allSame = statuses.every((s) => s === statuses[0]);\n const aggregated = allSame ? statuses[0] : \"pending\";\n currentFeedback.phaseStatuses = {\n ...currentFeedback.phaseStatuses,\n [phaseId]: {\n phaseId,\n status: aggregated,\n note: currentFeedback.phaseStatuses[phaseId]?.note\n }\n };\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n async submitFeedback(status) {\n if (!currentFeedback) return;\n currentFeedback.status = status;\n currentFeedback.submittedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n if (saveTimer) clearTimeout(saveTimer);\n await persistFeedback();\n if (status === \"approved\") {\n await fetch(`/api/sessions/${sessionId}/approve`, { method: \"POST\" });\n }\n }\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\"><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 function badgeLabel(status) {\n switch (status) {\n case \"approved\":\n return \"Approved\";\n case \"needs-work\":\n return \"Needs Work\";\n default:\n return \"Pending\";\n }\n }\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(badgeLabel(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 states = [\n {\n value: \"pending\",\n label: \"Pending\",\n color: \"bg-accent/15 text-accent border-accent/30\"\n },\n {\n value: \"approved\",\n label: \"Approved\",\n color: \"bg-green/15 text-green border-green/30\"\n },\n {\n value: \"needs-work\",\n label: \"Needs Work\",\n color: \"bg-orange/15 text-orange border-orange/30\"\n }\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 { versions, currentVersion, onSelectVersion } = $$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}\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 > 120 ? comment.quote.slice(0, 120) + \"...\" : 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 HoverToolbar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction ApprovalBar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { commentCount } = $$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 {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`${escape_html(commentCount)} unresolved comment${escape_html(commentCount !== 1 ? \"s\" : \"\")}`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"flex gap-3\"><button class=\"cursor-pointer rounded-lg bg-orange/15 px-4 py-2 text-sm font-semibold text-orange hover:bg-orange/25 transition-colors\" aria-label=\"Request changes to the plan\">Request Changes</button> <button class=\"cursor-pointer rounded-lg bg-green px-4 py-2 text-sm font-semibold text-white hover:brightness-110 transition-colors\" aria-label=\"Approve the plan\">Approve Plan</button></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 // 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 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 HoverToolbar($$renderer2);\n $$renderer2.push(`<!----> `);\n FeedbackPanel($$renderer2, {\n comments: feedbackStore.comments\n });\n $$renderer2.push(`<!----> `);\n ApprovalBar($$renderer2, {\n status: feedbackStore.status,\n commentCount: feedbackStore.comments.filter((c) => !c.resolved).length\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
|
+
{"version":3,"file":"_page.svelte-C-jd6GOL.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/plan/_sessionId_/_page.svelte.js"],"sourcesContent":["import { e as escape_html, a2 as attr_class, a1 as stringify, $ as ensure_array_like, a0 as attr, a3 as clsx, _ as derived, a4 as attr_style } from \"../../../../chunks/index.js\";\nimport \"clsx\";\nimport { a as statusBadgeClass } from \"../../../../chunks/status.js\";\nimport { marked } from \"marked\";\nfunction html(value) {\n var html2 = String(value ?? \"\");\n var open = \"<!---->\";\n return open + html2 + \"<!---->\";\n}\nlet currentPlan = null;\nlet eventSource = null;\nlet reconnectTimer = null;\nfunction getPlanStore() {\n return {\n get plan() {\n return currentPlan;\n },\n set(plan) {\n currentPlan = plan;\n },\n connectSSE(sessionId2) {\n this.disconnectSSE();\n const connect = () => {\n eventSource = new EventSource(`/api/sse/${sessionId2}`);\n eventSource.addEventListener(\"plan-updated\", (event) => {\n try {\n const plan = JSON.parse(event.data);\n currentPlan = plan;\n } catch {\n }\n });\n eventSource.onerror = () => {\n eventSource?.close();\n reconnectTimer = setTimeout(connect, 3e3);\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}\nlet currentFeedback = null;\nlet saveTimer = null;\nlet sessionId = \"\";\nfunction genId() {\n return \"fb-\" + Date.now().toString(36) + Math.random().toString(36).slice(2, 6);\n}\nasync 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}\nfunction debouncedSave() {\n if (saveTimer) clearTimeout(saveTimer);\n saveTimer = setTimeout(persistFeedback, 500);\n}\nfunction getFeedbackStore() {\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 currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\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 currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n resolveComment(id) {\n if (!currentFeedback) return;\n currentFeedback.comments = currentFeedback.comments.map((c) => c.id === id ? { ...c, resolved: !c.resolved } : c);\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n deleteComment(id) {\n if (!currentFeedback) return;\n currentFeedback.comments = currentFeedback.comments.filter((c) => c.id !== id);\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n setPhaseStatus(phaseId, status, note) {\n if (!currentFeedback) return;\n currentFeedback.phaseStatuses = {\n ...currentFeedback.phaseStatuses,\n [phaseId]: { phaseId, status, note }\n };\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\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 statuses = allSubItemIds.map((id) => currentFeedback.subItemStatuses[id]?.status ?? \"pending\");\n const allSame = statuses.every((s) => s === statuses[0]);\n const aggregated = allSame ? statuses[0] : \"pending\";\n currentFeedback.phaseStatuses = {\n ...currentFeedback.phaseStatuses,\n [phaseId]: {\n phaseId,\n status: aggregated,\n note: currentFeedback.phaseStatuses[phaseId]?.note\n }\n };\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n debouncedSave();\n },\n async submitFeedback(status) {\n if (!currentFeedback) return;\n currentFeedback.status = status;\n currentFeedback.submittedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n currentFeedback.updatedAt = /* @__PURE__ */ (/* @__PURE__ */ new Date()).toISOString();\n if (saveTimer) clearTimeout(saveTimer);\n await persistFeedback();\n if (status === \"approved\") {\n await fetch(`/api/sessions/${sessionId}/approve`, { method: \"POST\" });\n }\n }\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\"><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 function badgeLabel(status) {\n switch (status) {\n case \"approved\":\n return \"Approved\";\n case \"needs-work\":\n return \"Needs Work\";\n default:\n return \"Pending\";\n }\n }\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(badgeLabel(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 states = [\n {\n value: \"pending\",\n label: \"Pending\",\n color: \"bg-accent/15 text-accent border-accent/30\"\n },\n {\n value: \"approved\",\n label: \"Approved\",\n color: \"bg-green/15 text-green border-green/30\"\n },\n {\n value: \"needs-work\",\n label: \"Needs Work\",\n color: \"bg-orange/15 text-orange border-orange/30\"\n }\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 { versions, currentVersion, onSelectVersion } = $$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}\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 > 120 ? comment.quote.slice(0, 120) + \"...\" : 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 HoverToolbar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n {\n $$renderer2.push(\"<!--[!-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction ApprovalBar($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { commentCount } = $$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 {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`${escape_html(commentCount)} unresolved comment${escape_html(commentCount !== 1 ? \"s\" : \"\")}`);\n }\n $$renderer2.push(`<!--]--></div> <div class=\"flex gap-3\"><button class=\"cursor-pointer rounded-lg bg-orange/15 px-4 py-2 text-sm font-semibold text-orange hover:bg-orange/25 transition-colors\" aria-label=\"Request changes to the plan\">Request Changes</button> <button class=\"cursor-pointer rounded-lg bg-green px-4 py-2 text-sm font-semibold text-white hover:brightness-110 transition-colors\" aria-label=\"Approve the plan\">Approve Plan</button></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 // 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 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 HoverToolbar($$renderer2);\n $$renderer2.push(`<!----> `);\n FeedbackPanel($$renderer2, {\n comments: feedbackStore.comments\n });\n $$renderer2.push(`<!----> `);\n ApprovalBar($$renderer2, {\n status: feedbackStore.status,\n commentCount: feedbackStore.comments.filter((c) => !c.resolved).length\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,4 +1,4 @@
|
|
|
1
|
-
import { a8 as ensure_array_like, a9 as attr, aa as stringify, c as escape_html, ab as attr_class, a3 as derived } from './index-
|
|
1
|
+
import { a8 as ensure_array_like, a9 as attr, aa as stringify, c as escape_html, ab as attr_class, a3 as derived } from './index-DzKdq15H.js';
|
|
2
2
|
import { s as sessionStatusBadgeClass } from './status-BrtsDZqP.js';
|
|
3
3
|
|
|
4
4
|
function _page($$renderer, $$props) {
|
|
@@ -33,4 +33,4 @@ function _page($$renderer, $$props) {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { _page as default };
|
|
36
|
-
//# sourceMappingURL=_page.svelte-
|
|
36
|
+
//# sourceMappingURL=_page.svelte-CWIhxW51.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-
|
|
1
|
+
{"version":3,"file":"_page.svelte-CWIhxW51.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { $ as ensure_array_like, a0 as attr, a1 as stringify, e as escape_html, a2 as attr_class, _ as derived } from \"../../chunks/index.js\";\nimport { s as sessionStatusBadgeClass } from \"../../chunks/status.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { data } = $$props;\n let sessions = derived(() => data.sessions);\n function formatDate(iso) {\n return new Date(iso).toLocaleDateString(\"en-US\", {\n month: \"short\",\n day: \"numeric\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\"\n });\n }\n $$renderer2.push(`<div class=\"min-h-screen p-8\"><div class=\"mx-auto max-w-4xl\"><h1 class=\"mb-1 text-2xl font-bold\">Plan Assistant</h1> <p class=\"text-text-dim mb-8 text-sm\">Review and annotate implementation plans from Claude Code</p> `);\n if (sessions().length === 0) {\n $$renderer2.push(\"<!--[-->\");\n $$renderer2.push(`<div class=\"bg-surface border-border rounded-lg border p-8 text-center\"><p class=\"text-text-dim mb-2 text-lg\">No active sessions</p> <p class=\"text-text-dim text-sm\">Run <code class=\"bg-surface2 rounded px-1.5 py-0.5 font-mono text-sm text-accent\">/create_plan</code> in Claude Code to start a new plan review session.</p> <div class=\"text-text-dim mt-3 animate-pulse text-xs\">Watching for new sessions...</div></div>`);\n } else {\n $$renderer2.push(\"<!--[!-->\");\n $$renderer2.push(`<div class=\"space-y-3\"><!--[-->`);\n const each_array = ensure_array_like(sessions());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let session = each_array[$$index];\n $$renderer2.push(`<a${attr(\"href\", `/plan/${stringify(session.id)}`)} class=\"bg-surface border-border hover:border-accent/50 flex items-center justify-between rounded-lg border p-5 transition-colors\"><div><h2 class=\"mb-1 text-lg font-semibold\">${escape_html(session.planTitle)}</h2> <p class=\"text-text-dim text-sm\">v${escape_html(session.planVersion)} · ${escape_html(formatDate(session.updatedAt))}</p></div> <span${attr_class(`inline-block rounded-full px-3 py-1 text-xs font-semibold ${stringify(sessionStatusBadgeClass(session.status))}`)}>${escape_html(session.status)}</span></a>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></div></div>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;AAEA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AAC1B,IAAI,IAAI,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC;AAC/C,IAAI,SAAS,UAAU,CAAC,GAAG,EAAE;AAC7B,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;AACvD,QAAQ,KAAK,EAAE,OAAO;AACtB,QAAQ,GAAG,EAAE,SAAS;AACtB,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,MAAM,EAAE;AAChB,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,yNAAyN,CAAC,CAAC;AACjP,IAAI,IAAI,QAAQ,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAClC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,iaAAia,CAAC,CAAC;AAC3b,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,+BAA+B,CAAC,CAAC;AACzD,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AACtD,MAAM,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACzF,QAAQ,IAAI,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;AACzC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,+KAA+K,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,wCAAwC,EAAE,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,0DAA0D,EAAE,SAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;AACplB,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACxC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAC5C,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as escape_html, d as getContext, n as noop } from './index-
|
|
2
|
-
import { l as writable } from './exports-
|
|
1
|
+
import { c as escape_html, d as getContext, n as noop } from './index-DzKdq15H.js';
|
|
2
|
+
import { l as writable } from './exports-Bfa9AaJ4.js';
|
|
3
3
|
|
|
4
4
|
function create_updated_store() {
|
|
5
5
|
const { set, subscribe } = writable(false);
|
|
@@ -42,4 +42,4 @@ function Error$1($$renderer, $$props) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export { Error$1 as default };
|
|
45
|
-
//# sourceMappingURL=error.svelte-
|
|
45
|
+
//# sourceMappingURL=error.svelte-DItLqhaS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.svelte-
|
|
1
|
+
{"version":3,"file":"error.svelte-DItLqhaS.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { n as noop, g as getContext, e as escape_html } from \"../../chunks/index.js\";\nimport \"clsx\";\nimport { w as writable } from \"../../chunks/exports.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../chunks/root.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../chunks/utils.js\";\nfunction create_updated_store() {\n const { set, subscribe } = writable(false);\n {\n return {\n subscribe,\n // eslint-disable-next-line @typescript-eslint/require-await\n check: async () => false\n };\n }\n}\nconst is_legacy = noop.toString().includes(\"$$\") || /function \\w+\\(\\) \\{\\}/.test(noop.toString());\nif (is_legacy) {\n ({\n data: {},\n form: null,\n error: null,\n params: {},\n route: { id: null },\n state: {},\n status: -1,\n url: new URL(\"https://example.com\")\n });\n}\nconst stores = {\n updated: /* @__PURE__ */ create_updated_store()\n};\n({\n check: stores.updated.check\n});\nfunction context() {\n return getContext(\"__request__\");\n}\nconst page$1 = {\n get error() {\n return context().page.error;\n },\n get status() {\n return context().page.status;\n }\n};\nconst page = page$1;\nfunction Error$1($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n $$renderer2.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n });\n}\nexport {\n Error$1 as default\n};\n"],"names":[],"mappings":";;;AAOA,SAAS,oBAAoB,GAAG;AAChC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC5C,EAAE;AACF,IAAI,OAAO;AACX,MAAM,SAAS;AACf;AACA,MAAM,KAAK,EAAE,YAAY;AACzB,KAAK;AACL,EAAE;AACF;AACA,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjG,IAAI,SAAS,EAAE;AACf,EAAE,CAAC;AACH,IAOI,GAAG,EAAE,IAAI,GAAG,CAAC,qBAAqB;AACtC,GAAG;AACH;AACA,MAAM,MAAM,GAAG;AACf,EAAE,OAAO,kBAAkB,oBAAoB;AAC/C,CAAC;AACD,CAAC;AACD,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AACD,SAAS,OAAO,GAAG;AACnB,EAAE,OAAO,UAAU,CAAC,aAAa,CAAC;AAClC;AACA,MAAM,MAAM,GAAG;AACf,EAAE,IAAI,KAAK,GAAG;AACd,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC/B,EAAE,CAAC;AACH,EAAE,IAAI,MAAM,GAAG;AACf,IAAI,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAChC,EAAE;AACF,CAAC;AACD,MAAM,IAAI,GAAG,MAAM;AACnB,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACvG,EAAE,CAAC,CAAC;AACJ;;;;"}
|