@cleocode/cleo 2026.9.5 → 2026.9.6

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.
Files changed (77) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/package.json +13 -13
  4. package/studio-dist/client/_app/immutable/chunks/{C7UP-KLT.js → B4pbMhWh.js} +1 -1
  5. package/studio-dist/client/_app/immutable/chunks/{DrfFUIvQ.js → Cq8SkApb.js} +1 -1
  6. package/studio-dist/client/_app/immutable/chunks/{CKXdW4mW.js → DQE2lHpR.js} +1 -1
  7. package/studio-dist/client/_app/immutable/chunks/Dw--1J0g.js +1 -0
  8. package/studio-dist/client/_app/immutable/entry/{app.BwkUGH1B.js → app.AO-dq23l.js} +2 -2
  9. package/studio-dist/client/_app/immutable/entry/start.DyU3_ZJI.js +1 -0
  10. package/studio-dist/client/_app/immutable/nodes/{0.DcUJW-xi.js → 0.pcHH7cls.js} +1 -1
  11. package/studio-dist/client/_app/immutable/nodes/{1.DyTt_cQs.js → 1.BZ_6sEg7.js} +1 -1
  12. package/studio-dist/client/_app/immutable/nodes/{15.LRqqoueS.js → 15.C49XuRDg.js} +1 -1
  13. package/studio-dist/client/_app/immutable/nodes/{16.-hGPNXOI.js → 16.D_IEqgU8.js} +1 -1
  14. package/studio-dist/client/_app/immutable/nodes/{17.ChMxgTIY.js → 17.DMmmyyKw.js} +1 -1
  15. package/studio-dist/client/_app/immutable/nodes/{18.B9zeITVb.js → 18.BeHgL2ha.js} +1 -1
  16. package/studio-dist/client/_app/immutable/nodes/{20.BHg5roNq.js → 20.ByQCOFEK.js} +1 -1
  17. package/studio-dist/client/_app/immutable/nodes/{24.B_s9aY5m.js → 24.DKhWVVfG.js} +1 -1
  18. package/studio-dist/client/_app/immutable/nodes/{25.DZXkDxw_.js → 25.BS4Qyw38.js} +1 -1
  19. package/studio-dist/client/_app/immutable/nodes/{26.BBRbdwIG.js → 26.CZ-vCPq6.js} +1 -1
  20. package/studio-dist/client/_app/immutable/nodes/{3.DMYcrZeG.js → 3.B1Ua25St.js} +1 -1
  21. package/studio-dist/client/_app/version.json +1 -1
  22. package/studio-dist/server/chunks/{0-CM4iQVYP.js → 0-BkBuauLU.js} +3 -3
  23. package/studio-dist/server/chunks/{0-CM4iQVYP.js.map → 0-BkBuauLU.js.map} +1 -1
  24. package/studio-dist/server/chunks/{1-BQFD-dx6.js → 1-C-FPVHUW.js} +3 -3
  25. package/studio-dist/server/chunks/{1-BQFD-dx6.js.map → 1-C-FPVHUW.js.map} +1 -1
  26. package/studio-dist/server/chunks/{15-Cng10n82.js → 15-BEk78EBu.js} +3 -3
  27. package/studio-dist/server/chunks/{15-Cng10n82.js.map → 15-BEk78EBu.js.map} +1 -1
  28. package/studio-dist/server/chunks/{16-u3KwU3N4.js → 16-BzISLvSG.js} +3 -3
  29. package/studio-dist/server/chunks/{16-u3KwU3N4.js.map → 16-BzISLvSG.js.map} +1 -1
  30. package/studio-dist/server/chunks/{17-BDtxQX9n.js → 17-DGt4P3nJ.js} +3 -3
  31. package/studio-dist/server/chunks/{17-BDtxQX9n.js.map → 17-DGt4P3nJ.js.map} +1 -1
  32. package/studio-dist/server/chunks/{18-wwUoSO4F.js → 18-DLGcIwmV.js} +3 -3
  33. package/studio-dist/server/chunks/{18-wwUoSO4F.js.map → 18-DLGcIwmV.js.map} +1 -1
  34. package/studio-dist/server/chunks/{20-B-0CBvqY.js → 20-BvcOxe5q.js} +3 -3
  35. package/studio-dist/server/chunks/{20-B-0CBvqY.js.map → 20-BvcOxe5q.js.map} +1 -1
  36. package/studio-dist/server/chunks/{24-BeVcofpU.js → 24-DlzL0G3_.js} +3 -3
  37. package/studio-dist/server/chunks/{24-BeVcofpU.js.map → 24-DlzL0G3_.js.map} +1 -1
  38. package/studio-dist/server/chunks/{25-DIuzTPOu.js → 25-BkcpAlfJ.js} +3 -3
  39. package/studio-dist/server/chunks/{25-DIuzTPOu.js.map → 25-BkcpAlfJ.js.map} +1 -1
  40. package/studio-dist/server/chunks/{26-CY8x0KNI.js → 26-CY_OLXcd.js} +3 -3
  41. package/studio-dist/server/chunks/{26-CY8x0KNI.js.map → 26-CY_OLXcd.js.map} +1 -1
  42. package/studio-dist/server/chunks/{3-p3RwD-FY.js → 3-CbodebGY.js} +3 -3
  43. package/studio-dist/server/chunks/{3-p3RwD-FY.js.map → 3-CbodebGY.js.map} +1 -1
  44. package/studio-dist/server/chunks/{_layout.svelte-rswfOTDe.js → _layout.svelte-B31p5awD.js} +4 -4
  45. package/studio-dist/server/chunks/{_layout.svelte-rswfOTDe.js.map → _layout.svelte-B31p5awD.js.map} +1 -1
  46. package/studio-dist/server/chunks/{_page.svelte-D8NhlkPD.js → _page.svelte-BIIvdH13.js} +3 -3
  47. package/studio-dist/server/chunks/{_page.svelte-D8NhlkPD.js.map → _page.svelte-BIIvdH13.js.map} +1 -1
  48. package/studio-dist/server/chunks/{_page.svelte-BT1YF8j2.js → _page.svelte-BdTlq0Gh.js} +4 -4
  49. package/studio-dist/server/chunks/{_page.svelte-BT1YF8j2.js.map → _page.svelte-BdTlq0Gh.js.map} +1 -1
  50. package/studio-dist/server/chunks/{_page.svelte-DmTXiXKT.js → _page.svelte-BuVX3kf2.js} +3 -3
  51. package/studio-dist/server/chunks/{_page.svelte-DmTXiXKT.js.map → _page.svelte-BuVX3kf2.js.map} +1 -1
  52. package/studio-dist/server/chunks/{_page.svelte-DaYxqOUS.js → _page.svelte-C6P8rRvk.js} +3 -3
  53. package/studio-dist/server/chunks/{_page.svelte-DaYxqOUS.js.map → _page.svelte-C6P8rRvk.js.map} +1 -1
  54. package/studio-dist/server/chunks/{_page.svelte-CHH1vmfg.js → _page.svelte-CFnkQk35.js} +3 -3
  55. package/studio-dist/server/chunks/{_page.svelte-CHH1vmfg.js.map → _page.svelte-CFnkQk35.js.map} +1 -1
  56. package/studio-dist/server/chunks/{_page.svelte-DZEnHo1L.js → _page.svelte-CfjdIh3A.js} +3 -3
  57. package/studio-dist/server/chunks/{_page.svelte-DZEnHo1L.js.map → _page.svelte-CfjdIh3A.js.map} +1 -1
  58. package/studio-dist/server/chunks/{_page.svelte-C9twD2l1.js → _page.svelte-DR0AY_gZ.js} +3 -3
  59. package/studio-dist/server/chunks/{_page.svelte-C9twD2l1.js.map → _page.svelte-DR0AY_gZ.js.map} +1 -1
  60. package/studio-dist/server/chunks/{_page.svelte-DKVwBmIp.js → _page.svelte-EWYHbzl0.js} +4 -4
  61. package/studio-dist/server/chunks/{_page.svelte-DKVwBmIp.js.map → _page.svelte-EWYHbzl0.js.map} +1 -1
  62. package/studio-dist/server/chunks/{_page.svelte-CiIYIPG9.js → _page.svelte-h0JOhZab.js} +3 -3
  63. package/studio-dist/server/chunks/{_page.svelte-CiIYIPG9.js.map → _page.svelte-h0JOhZab.js.map} +1 -1
  64. package/studio-dist/server/chunks/{client-ym-URLFs.js → client-2rpcRzcr.js} +2 -2
  65. package/studio-dist/server/chunks/{client-ym-URLFs.js.map → client-2rpcRzcr.js.map} +1 -1
  66. package/studio-dist/server/chunks/{error.svelte-Bt1EbBZe.js → error.svelte-CpckcxW6.js} +3 -3
  67. package/studio-dist/server/chunks/{error.svelte-Bt1EbBZe.js.map → error.svelte-CpckcxW6.js.map} +1 -1
  68. package/studio-dist/server/chunks/{internal-D3i_4gCl.js → internal-xyE_opYp.js} +2 -2
  69. package/studio-dist/server/chunks/{internal-D3i_4gCl.js.map → internal-xyE_opYp.js.map} +1 -1
  70. package/studio-dist/server/chunks/{stores-ByevKXL9.js → stores-BcV2X8z1.js} +2 -2
  71. package/studio-dist/server/chunks/{stores-ByevKXL9.js.map → stores-BcV2X8z1.js.map} +1 -1
  72. package/studio-dist/server/index.js +1 -1
  73. package/studio-dist/server/index.js.map +1 -1
  74. package/studio-dist/server/manifest.js +12 -12
  75. package/studio-dist/server/manifest.js.map +1 -1
  76. package/studio-dist/client/_app/immutable/chunks/9yrFrmKZ.js +0 -1
  77. package/studio-dist/client/_app/immutable/entry/start.BcsID0Sf.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"16-u3KwU3N4.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/community/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/16.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\n//#region src/routes/code/community/[id]/+page.server.ts\n/**\n* /code/community/[id] — server load.\n*\n* Wires through `/api/nexus/community/[id]` to retire the direct DB\n* call flagged by the T990 code audit. The API payload is passed to\n* the adapter on the client, so this loader stays thin.\n*\n* @task T990\n* @wave 1B\n*/\nvar load = async ({ params, fetch }) => {\n\tconst communityId = decodeURIComponent(params.id);\n\tconst [detailResp, listResp] = await Promise.all([fetch(`/api/nexus/community/${encodeURIComponent(communityId)}`), fetch(\"/api/nexus?only=communities\")]);\n\tif (!detailResp.ok) {\n\t\tif (detailResp.status === 404) error(404, `Community ${communityId} not found`);\n\t\tif (detailResp.status === 503) error(503, \"nexus.db not available\");\n\t\terror(detailResp.status, \"Failed to load community\");\n\t}\n\tconst detail = await detailResp.json();\n\tlet communityLabel = communityId.replace(\"comm_\", \"Cluster \");\n\tif (listResp.ok) {\n\t\tconst match = (await listResp.json()).communities.find((c) => c.id === communityId);\n\t\tif (match?.rawLabel) communityLabel = match.rawLabel;\n\t}\n\tconst kindHisto = /* @__PURE__ */ new Map();\n\tfor (const n of detail.nodes) kindHisto.set(n.kind, (kindHisto.get(n.kind) ?? 0) + 1);\n\tlet topKind = \"function\";\n\tlet topCount = 0;\n\tfor (const [k, c] of kindHisto) if (c > topCount) {\n\t\ttopKind = k;\n\t\ttopCount = c;\n\t}\n\treturn {\n\t\tcommunityId,\n\t\tcommunityLabel,\n\t\tnodes: detail.nodes,\n\t\tedges: detail.edges,\n\t\tsummary: {\n\t\t\tmemberCount: detail.nodes.length,\n\t\t\ttopKind,\n\t\t\tinternalEdgeCount: detail.edges.length\n\t\t}\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/community/_id_/_page.server.ts.js';\n\nexport const index = 16;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/community/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/community/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/16.-hGPNXOI.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/16.BzOs0cg_.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"16-BzISLvSG.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/community/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/16.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\n//#region src/routes/code/community/[id]/+page.server.ts\n/**\n* /code/community/[id] — server load.\n*\n* Wires through `/api/nexus/community/[id]` to retire the direct DB\n* call flagged by the T990 code audit. The API payload is passed to\n* the adapter on the client, so this loader stays thin.\n*\n* @task T990\n* @wave 1B\n*/\nvar load = async ({ params, fetch }) => {\n\tconst communityId = decodeURIComponent(params.id);\n\tconst [detailResp, listResp] = await Promise.all([fetch(`/api/nexus/community/${encodeURIComponent(communityId)}`), fetch(\"/api/nexus?only=communities\")]);\n\tif (!detailResp.ok) {\n\t\tif (detailResp.status === 404) error(404, `Community ${communityId} not found`);\n\t\tif (detailResp.status === 503) error(503, \"nexus.db not available\");\n\t\terror(detailResp.status, \"Failed to load community\");\n\t}\n\tconst detail = await detailResp.json();\n\tlet communityLabel = communityId.replace(\"comm_\", \"Cluster \");\n\tif (listResp.ok) {\n\t\tconst match = (await listResp.json()).communities.find((c) => c.id === communityId);\n\t\tif (match?.rawLabel) communityLabel = match.rawLabel;\n\t}\n\tconst kindHisto = /* @__PURE__ */ new Map();\n\tfor (const n of detail.nodes) kindHisto.set(n.kind, (kindHisto.get(n.kind) ?? 0) + 1);\n\tlet topKind = \"function\";\n\tlet topCount = 0;\n\tfor (const [k, c] of kindHisto) if (c > topCount) {\n\t\ttopKind = k;\n\t\ttopCount = c;\n\t}\n\treturn {\n\t\tcommunityId,\n\t\tcommunityLabel,\n\t\tnodes: detail.nodes,\n\t\tedges: detail.edges,\n\t\tsummary: {\n\t\t\tmemberCount: detail.nodes.length,\n\t\t\ttopKind,\n\t\t\tinternalEdgeCount: detail.edges.length\n\t\t}\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/community/_id_/_page.server.ts.js';\n\nexport const index = 16;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/community/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/community/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/16.D_IEqgU8.js\",\"_app/immutable/chunks/Cq8SkApb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Dw--1J0g.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/16.BzOs0cg_.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -223,11 +223,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
223
223
 
224
224
  const index = 17;
225
225
  let component_cache;
226
- const component = async () => component_cache ??= (await import('./_page.svelte-CHH1vmfg.js')).default;
226
+ const component = async () => component_cache ??= (await import('./_page.svelte-CFnkQk35.js')).default;
227
227
  const server_id = "src/routes/code/flows/+page.server.ts";
228
- const imports = ["_app/immutable/nodes/17.ChMxgTIY.js","_app/immutable/chunks/DrfFUIvQ.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/9yrFrmKZ.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/D8NsLz6i.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
228
+ const imports = ["_app/immutable/nodes/17.DMmmyyKw.js","_app/immutable/chunks/Cq8SkApb.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/Dw--1J0g.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/D8NsLz6i.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
229
229
  const stylesheets = ["_app/immutable/assets/cluster-label-layer.aRgASjnn.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/nexus-adapter.DuSZKvuH.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/17.C-9c74gE.css"];
230
230
  const fonts = [];
231
231
 
232
232
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
233
- //# sourceMappingURL=17-BDtxQX9n.js.map
233
+ //# sourceMappingURL=17-DGt4P3nJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"17-BDtxQX9n.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/flows/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/17.js"],"sourcesContent":["import { a as getNexusDb } from \"../../../../chunks/connections2.js\";\n//#region src/routes/code/flows/+page.server.ts\n/**\n* /code/flows — execution-flow tracer.\n*\n* Surfaces entry-points + their fanout computed from `calls` edges.\n* If nexus.db contains process / flow-step rows we use them directly;\n* otherwise we compute a synthetic \"flow\" per entry-point by BFS-ing\n* `calls` edges up to `MAX_DEPTH` hops.\n*\n* @task T990\n* @wave 1B\n*/\n/** How deep the synthetic call-graph BFS traces. */\nvar MAX_DEPTH = 3;\n/** How many fanout nodes we emit per flow before truncation. */\nvar MAX_FANOUT = 60;\n/** How many entry points we surface in the side list. */\nvar MAX_FLOWS = 64;\nvar load = () => {\n\tconst db = getNexusDb();\n\tif (!db) return {\n\t\tflows: [],\n\t\tnodes: [],\n\t\tedges: [],\n\t\thasProcesses: false,\n\t\tempty: true\n\t};\n\tconst entryRows = db.prepare(`SELECT DISTINCT n.id, n.label, n.kind, n.file_path\n FROM nexus_relations r\n JOIN nexus_nodes n ON r.source_id = n.id\n WHERE r.type = 'entry_point_of'\n LIMIT ?`).all(MAX_FLOWS);\n\tlet finalEntries = entryRows;\n\tif (entryRows.length === 0) finalEntries = db.prepare(`SELECT n.id, n.label, n.kind, n.file_path, COUNT(*) AS out_deg\n FROM nexus_relations r\n JOIN nexus_nodes n ON n.id = r.source_id\n WHERE r.type = 'calls'\n GROUP BY n.id\n ORDER BY out_deg DESC\n LIMIT ?`).all(MAX_FLOWS).map(({ id, label, kind, file_path }) => ({\n\t\tid,\n\t\tlabel,\n\t\tkind,\n\t\tfile_path\n\t}));\n\tconst hasProcesses = entryRows.length > 0;\n\tconst reach = /* @__PURE__ */ new Map();\n\tconst allNodeIds = /* @__PURE__ */ new Set();\n\tfor (const entry of finalEntries) {\n\t\tconst reached = [entry.id];\n\t\tconst seen = new Set([entry.id]);\n\t\tconst queue = [{\n\t\t\tid: entry.id,\n\t\t\tdepth: 0\n\t\t}];\n\t\twhile (queue.length > 0 && reached.length < MAX_FANOUT) {\n\t\t\tconst cur = queue.shift();\n\t\t\tif (!cur) break;\n\t\t\tif (cur.depth >= MAX_DEPTH) continue;\n\t\t\tconst rows = db.prepare(`SELECT target_id\n FROM nexus_relations\n WHERE source_id = ?\n AND type IN ('calls','step_in_process','handles_route','handles_tool','fetches')\n LIMIT 20`).all(cur.id);\n\t\t\tfor (const row of rows) {\n\t\t\t\tif (seen.has(row.target_id)) continue;\n\t\t\t\tseen.add(row.target_id);\n\t\t\t\treached.push(row.target_id);\n\t\t\t\tqueue.push({\n\t\t\t\t\tid: row.target_id,\n\t\t\t\t\tdepth: cur.depth + 1\n\t\t\t\t});\n\t\t\t\tif (reached.length >= MAX_FANOUT) break;\n\t\t\t}\n\t\t}\n\t\treach.set(entry.id, reached);\n\t\tfor (const id of reached) allNodeIds.add(id);\n\t}\n\tconst nodes = [];\n\tif (allNodeIds.size > 0) {\n\t\tconst idList = [...allNodeIds];\n\t\tconst placeholders = idList.map(() => \"?\").join(\",\");\n\t\tconst rows = db.prepare(`SELECT id, label, kind, file_path, community_id\n FROM nexus_nodes\n WHERE id IN (${placeholders})`).all(...idList);\n\t\tfor (const row of rows) nodes.push({\n\t\t\tid: row.id,\n\t\t\tlabel: row.label,\n\t\t\tkind: row.kind,\n\t\t\tfilePath: row.file_path ?? \"\",\n\t\t\tcommunityId: row.community_id\n\t\t});\n\t}\n\tconst edges = [];\n\tif (allNodeIds.size > 0) {\n\t\tconst idList = [...allNodeIds];\n\t\tconst placeholders = idList.map(() => \"?\").join(\",\");\n\t\tconst rows = db.prepare(`SELECT source_id, target_id, type, step\n FROM nexus_relations\n WHERE source_id IN (${placeholders}) AND target_id IN (${placeholders})\n LIMIT 2000`).all(...idList, ...idList);\n\t\tfor (const row of rows) edges.push({\n\t\t\tsource: row.source_id,\n\t\t\ttarget: row.target_id,\n\t\t\ttype: row.type,\n\t\t\tstepIndex: row.step ?? void 0\n\t\t});\n\t}\n\tconst flows = finalEntries.map((entry) => ({\n\t\tid: entry.id,\n\t\tlabel: entry.label,\n\t\tkind: entry.kind,\n\t\tfilePath: entry.file_path ?? \"\",\n\t\treachIds: reach.get(entry.id) ?? [entry.id]\n\t}));\n\treturn {\n\t\tflows,\n\t\tnodes,\n\t\tedges,\n\t\thasProcesses,\n\t\tempty: flows.length === 0\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/flows/_page.server.ts.js';\n\nexport const index = 17;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/flows/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/flows/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/17.ChMxgTIY.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/17.C-9c74gE.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"17-DGt4P3nJ.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/flows/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/17.js"],"sourcesContent":["import { a as getNexusDb } from \"../../../../chunks/connections2.js\";\n//#region src/routes/code/flows/+page.server.ts\n/**\n* /code/flows — execution-flow tracer.\n*\n* Surfaces entry-points + their fanout computed from `calls` edges.\n* If nexus.db contains process / flow-step rows we use them directly;\n* otherwise we compute a synthetic \"flow\" per entry-point by BFS-ing\n* `calls` edges up to `MAX_DEPTH` hops.\n*\n* @task T990\n* @wave 1B\n*/\n/** How deep the synthetic call-graph BFS traces. */\nvar MAX_DEPTH = 3;\n/** How many fanout nodes we emit per flow before truncation. */\nvar MAX_FANOUT = 60;\n/** How many entry points we surface in the side list. */\nvar MAX_FLOWS = 64;\nvar load = () => {\n\tconst db = getNexusDb();\n\tif (!db) return {\n\t\tflows: [],\n\t\tnodes: [],\n\t\tedges: [],\n\t\thasProcesses: false,\n\t\tempty: true\n\t};\n\tconst entryRows = db.prepare(`SELECT DISTINCT n.id, n.label, n.kind, n.file_path\n FROM nexus_relations r\n JOIN nexus_nodes n ON r.source_id = n.id\n WHERE r.type = 'entry_point_of'\n LIMIT ?`).all(MAX_FLOWS);\n\tlet finalEntries = entryRows;\n\tif (entryRows.length === 0) finalEntries = db.prepare(`SELECT n.id, n.label, n.kind, n.file_path, COUNT(*) AS out_deg\n FROM nexus_relations r\n JOIN nexus_nodes n ON n.id = r.source_id\n WHERE r.type = 'calls'\n GROUP BY n.id\n ORDER BY out_deg DESC\n LIMIT ?`).all(MAX_FLOWS).map(({ id, label, kind, file_path }) => ({\n\t\tid,\n\t\tlabel,\n\t\tkind,\n\t\tfile_path\n\t}));\n\tconst hasProcesses = entryRows.length > 0;\n\tconst reach = /* @__PURE__ */ new Map();\n\tconst allNodeIds = /* @__PURE__ */ new Set();\n\tfor (const entry of finalEntries) {\n\t\tconst reached = [entry.id];\n\t\tconst seen = new Set([entry.id]);\n\t\tconst queue = [{\n\t\t\tid: entry.id,\n\t\t\tdepth: 0\n\t\t}];\n\t\twhile (queue.length > 0 && reached.length < MAX_FANOUT) {\n\t\t\tconst cur = queue.shift();\n\t\t\tif (!cur) break;\n\t\t\tif (cur.depth >= MAX_DEPTH) continue;\n\t\t\tconst rows = db.prepare(`SELECT target_id\n FROM nexus_relations\n WHERE source_id = ?\n AND type IN ('calls','step_in_process','handles_route','handles_tool','fetches')\n LIMIT 20`).all(cur.id);\n\t\t\tfor (const row of rows) {\n\t\t\t\tif (seen.has(row.target_id)) continue;\n\t\t\t\tseen.add(row.target_id);\n\t\t\t\treached.push(row.target_id);\n\t\t\t\tqueue.push({\n\t\t\t\t\tid: row.target_id,\n\t\t\t\t\tdepth: cur.depth + 1\n\t\t\t\t});\n\t\t\t\tif (reached.length >= MAX_FANOUT) break;\n\t\t\t}\n\t\t}\n\t\treach.set(entry.id, reached);\n\t\tfor (const id of reached) allNodeIds.add(id);\n\t}\n\tconst nodes = [];\n\tif (allNodeIds.size > 0) {\n\t\tconst idList = [...allNodeIds];\n\t\tconst placeholders = idList.map(() => \"?\").join(\",\");\n\t\tconst rows = db.prepare(`SELECT id, label, kind, file_path, community_id\n FROM nexus_nodes\n WHERE id IN (${placeholders})`).all(...idList);\n\t\tfor (const row of rows) nodes.push({\n\t\t\tid: row.id,\n\t\t\tlabel: row.label,\n\t\t\tkind: row.kind,\n\t\t\tfilePath: row.file_path ?? \"\",\n\t\t\tcommunityId: row.community_id\n\t\t});\n\t}\n\tconst edges = [];\n\tif (allNodeIds.size > 0) {\n\t\tconst idList = [...allNodeIds];\n\t\tconst placeholders = idList.map(() => \"?\").join(\",\");\n\t\tconst rows = db.prepare(`SELECT source_id, target_id, type, step\n FROM nexus_relations\n WHERE source_id IN (${placeholders}) AND target_id IN (${placeholders})\n LIMIT 2000`).all(...idList, ...idList);\n\t\tfor (const row of rows) edges.push({\n\t\t\tsource: row.source_id,\n\t\t\ttarget: row.target_id,\n\t\t\ttype: row.type,\n\t\t\tstepIndex: row.step ?? void 0\n\t\t});\n\t}\n\tconst flows = finalEntries.map((entry) => ({\n\t\tid: entry.id,\n\t\tlabel: entry.label,\n\t\tkind: entry.kind,\n\t\tfilePath: entry.file_path ?? \"\",\n\t\treachIds: reach.get(entry.id) ?? [entry.id]\n\t}));\n\treturn {\n\t\tflows,\n\t\tnodes,\n\t\tedges,\n\t\thasProcesses,\n\t\tempty: flows.length === 0\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/flows/_page.server.ts.js';\n\nexport const index = 17;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/flows/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/flows/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/17.DMmmyyKw.js\",\"_app/immutable/chunks/Cq8SkApb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Dw--1J0g.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/17.C-9c74gE.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,GAAG,CAAC;AACjB;AACA,IAAI,UAAU,GAAG,EAAE;AACnB;AACA,IAAI,SAAS,GAAG,EAAE;AAClB,IAAI,IAAI,GAAG,MAAM;AACjB,CAAC,MAAM,EAAE,GAAG,UAAU,EAAE;AACxB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO;AACjB,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,KAAK,EAAE;AACT,EAAE;AACF,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AAC/B;AACA;AACA;AACA,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/B,CAAC,IAAI,YAAY,GAAG,SAAS;AAC7B,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM;AAC3E,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE,IAAI;AACN,EAAE;AACF,EAAE,CAAC,CAAC;AACJ,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;AAC1C,CAAC,MAAM,KAAK,mBAAmB,IAAI,GAAG,EAAE;AACxC,CAAC,MAAM,UAAU,mBAAmB,IAAI,GAAG,EAAE;AAC7C,CAAC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;AACnC,EAAE,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5B,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAClC,EAAE,MAAM,KAAK,GAAG,CAAC;AACjB,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE;AACf,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE;AAC1D,GAAG,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE;AAC5B,GAAG,IAAI,CAAC,GAAG,EAAE;AACb,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,EAAE;AAC/B,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AAC5B;AACA;AACA;AACA,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AACjC,GAAG,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC3B,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACjC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;AAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/B,IAAI,KAAK,CAAC,IAAI,CAAC;AACf,KAAK,EAAE,EAAE,GAAG,CAAC,SAAS;AACtB,KAAK,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG;AACxB,KAAK,CAAC;AACN,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,EAAE;AACtC,GAAG;AACH,EAAE;AACF,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC;AAC9B,EAAE,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;AAC9C,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,EAAE;AACjB,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;AAChC,EAAE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACtD,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AAC3B;AACA,sBAAsB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;AACvD,EAAE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AACrC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE;AACb,GAAG,KAAK,EAAE,GAAG,CAAC,KAAK;AACnB,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI;AACjB,GAAG,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;AAChC,GAAG,WAAW,EAAE,GAAG,CAAC;AACpB,GAAG,CAAC;AACJ,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,EAAE;AACjB,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC;AAChC,EAAE,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACtD,EAAE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AAC3B;AACA,6BAA6B,EAAE,YAAY,CAAC,oBAAoB,EAAE,YAAY,CAAC;AAC/E,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAC/C,EAAE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;AACrC,GAAG,MAAM,EAAE,GAAG,CAAC,SAAS;AACxB,GAAG,MAAM,EAAE,GAAG,CAAC,SAAS;AACxB,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI;AACjB,GAAG,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI;AAC1B,GAAG,CAAC;AACJ,CAAC;AACD,CAAC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AAC5C,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE;AACd,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;AACpB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI;AAClB,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;AACjC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC5C,EAAE,CAAC,CAAC;AACJ,CAAC,OAAO;AACR,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,KAAK;AACP,EAAE,YAAY;AACd,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK;AAC1B,EAAE;AACF,CAAC;;;;;;;ACzHW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA6C,CAAC,EAAE;AAE3G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzZ,MAAC,WAAW,GAAG,CAAC,wDAAwD,CAAC,+CAA+C,CAAC,kDAAkD,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACrS,MAAC,KAAK,GAAG;;;;"}
@@ -42,11 +42,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
42
42
 
43
43
  const index = 18;
44
44
  let component_cache;
45
- const component = async () => component_cache ??= (await import('./_page.svelte-C9twD2l1.js')).default;
45
+ const component = async () => component_cache ??= (await import('./_page.svelte-DR0AY_gZ.js')).default;
46
46
  const server_id = "src/routes/code/symbol/[name]/+page.server.ts";
47
- const imports = ["_app/immutable/nodes/18.B9zeITVb.js","_app/immutable/chunks/DrfFUIvQ.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/9yrFrmKZ.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/D8NsLz6i.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
47
+ const imports = ["_app/immutable/nodes/18.BeHgL2ha.js","_app/immutable/chunks/Cq8SkApb.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/Dw--1J0g.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/D8NsLz6i.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
48
48
  const stylesheets = ["_app/immutable/assets/cluster-label-layer.aRgASjnn.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/nexus-adapter.DuSZKvuH.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/18.d18ttKnU.css"];
49
49
  const fonts = [];
50
50
 
51
51
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
52
- //# sourceMappingURL=18-wwUoSO4F.js.map
52
+ //# sourceMappingURL=18-DLGcIwmV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"18-wwUoSO4F.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/symbol/_name_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/18.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\n//#region src/routes/code/symbol/[name]/+page.server.ts\n/**\n* /code/symbol/[name] — ego-network page server load.\n*\n* Wires through `/api/nexus/symbol/[name]` to kill the duplicate SQL\n* path flagged by the T990 code audit. Returns the raw API payload\n* + a friendly community label for the breadcrumb.\n*\n* @task T990\n* @wave 1B\n*/\nvar load = async ({ params, fetch }) => {\n\tconst name = decodeURIComponent(params.name);\n\tconst resp = await fetch(`/api/nexus/symbol/${encodeURIComponent(name)}`);\n\tif (!resp.ok) {\n\t\tif (resp.status === 404) error(404, `Symbol \"${name}\" not found`);\n\t\tif (resp.status === 503) error(503, \"nexus.db not available\");\n\t\terror(resp.status, \"Failed to load symbol\");\n\t}\n\tconst payload = await resp.json();\n\tconst center = payload.nodes.find((n) => n.id === payload.center) ?? null;\n\tlet communityLabel = null;\n\tif (center?.communityId) {\n\t\tconst listResp = await fetch(\"/api/nexus?only=communities\");\n\t\tif (listResp.ok) communityLabel = (await listResp.json()).communities.find((c) => c.id === center.communityId)?.rawLabel ?? center.communityId.replace(\"comm_\", \"Cluster \");\n\t}\n\treturn {\n\t\tsymbolName: name,\n\t\tnodes: payload.nodes,\n\t\tedges: payload.edges,\n\t\tcenter,\n\t\tcommunityLabel\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/symbol/_name_/_page.server.ts.js';\n\nexport const index = 18;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/symbol/_name_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/symbol/[name]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/18.B9zeITVb.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/18.d18ttKnU.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AACxC,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,CAAC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACf,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACnE,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAC/D,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC;AAC7C,CAAC;AACD,CAAC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAClC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI;AAC1E,CAAC,IAAI,cAAc,GAAG,IAAI;AAC1B,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE;AAC1B,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC;AAC7D,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;AAC7K,CAAC;AACD,CAAC,OAAO;AACR,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;AACtB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;AACtB,EAAE,MAAM;AACR,EAAE;AACF,EAAE;AACF,CAAC;;;;;;;AChCW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAqD,CAAC,EAAE;AAEnH,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzZ,MAAC,WAAW,GAAG,CAAC,wDAAwD,CAAC,+CAA+C,CAAC,kDAAkD,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACrS,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"18-DLGcIwmV.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/symbol/_name_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/18.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\n//#region src/routes/code/symbol/[name]/+page.server.ts\n/**\n* /code/symbol/[name] — ego-network page server load.\n*\n* Wires through `/api/nexus/symbol/[name]` to kill the duplicate SQL\n* path flagged by the T990 code audit. Returns the raw API payload\n* + a friendly community label for the breadcrumb.\n*\n* @task T990\n* @wave 1B\n*/\nvar load = async ({ params, fetch }) => {\n\tconst name = decodeURIComponent(params.name);\n\tconst resp = await fetch(`/api/nexus/symbol/${encodeURIComponent(name)}`);\n\tif (!resp.ok) {\n\t\tif (resp.status === 404) error(404, `Symbol \"${name}\" not found`);\n\t\tif (resp.status === 503) error(503, \"nexus.db not available\");\n\t\terror(resp.status, \"Failed to load symbol\");\n\t}\n\tconst payload = await resp.json();\n\tconst center = payload.nodes.find((n) => n.id === payload.center) ?? null;\n\tlet communityLabel = null;\n\tif (center?.communityId) {\n\t\tconst listResp = await fetch(\"/api/nexus?only=communities\");\n\t\tif (listResp.ok) communityLabel = (await listResp.json()).communities.find((c) => c.id === center.communityId)?.rawLabel ?? center.communityId.replace(\"comm_\", \"Cluster \");\n\t}\n\treturn {\n\t\tsymbolName: name,\n\t\tnodes: payload.nodes,\n\t\tedges: payload.edges,\n\t\tcenter,\n\t\tcommunityLabel\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/symbol/_name_/_page.server.ts.js';\n\nexport const index = 18;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/symbol/_name_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/symbol/[name]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/18.BeHgL2ha.js\",\"_app/immutable/chunks/Cq8SkApb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Dw--1J0g.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/18.d18ttKnU.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AACxC,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,CAAC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACf,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACnE,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAC/D,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC;AAC7C,CAAC;AACD,CAAC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAClC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI;AAC1E,CAAC,IAAI,cAAc,GAAG,IAAI;AAC1B,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE;AAC1B,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC;AAC7D,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;AAC7K,CAAC;AACD,CAAC,OAAO;AACR,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;AACtB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;AACtB,EAAE,MAAM;AACR,EAAE;AACF,EAAE;AACF,CAAC;;;;;;;AChCW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAqD,CAAC,EAAE;AAEnH,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzZ,MAAC,WAAW,GAAG,CAAC,wDAAwD,CAAC,+CAA+C,CAAC,kDAAkD,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACrS,MAAC,KAAK,GAAG;;;;"}
@@ -132,11 +132,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
132
132
 
133
133
  const index = 20;
134
134
  let component_cache;
135
- const component = async () => component_cache ??= (await import('./_page.svelte-DZEnHo1L.js')).default;
135
+ const component = async () => component_cache ??= (await import('./_page.svelte-CfjdIh3A.js')).default;
136
136
  const server_id = "src/routes/projects/+page.server.ts";
137
- const imports = ["_app/immutable/nodes/20.BHg5roNq.js","_app/immutable/chunks/DrfFUIvQ.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/9yrFrmKZ.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/wI_OOyoh.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
137
+ const imports = ["_app/immutable/nodes/20.ByQCOFEK.js","_app/immutable/chunks/Cq8SkApb.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/Dw--1J0g.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/wI_OOyoh.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
138
138
  const stylesheets = ["_app/immutable/assets/HeroHeader.ByXNeezk.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/20.CYAn9-TU.css"];
139
139
  const fonts = [];
140
140
 
141
141
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
142
- //# sourceMappingURL=20-B-0CBvqY.js.map
142
+ //# sourceMappingURL=20-BvcOxe5q.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"20-B-0CBvqY.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/projects/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/20.js"],"sourcesContent":["import { t as readAuditLog } from \"../../../chunks/audit-log.js\";\nimport { i as listRegisteredProjects, n as clearActiveProjectId, r as getActiveProjectId, s as setActiveProjectId } from \"../../../chunks/project-context.js\";\n//#region src/routes/projects/+page.server.ts\n/**\n* Projects page server load — lists all projects registered in the\n* global nexus.db registry, resolves the active context, and primes\n* the audit log panel.\n*\n* @task T990\n* @wave 1E\n*/\nvar load = ({ cookies, locals }) => {\n\tconst activeProjectId = getActiveProjectId(cookies);\n\treturn {\n\t\tprojects: listRegisteredProjects(),\n\t\tactiveProjectId,\n\t\tauditEntries: readAuditLog(locals.projectCtx.projectPath, 80),\n\t\tactiveProjectName: locals.projectCtx.name\n\t};\n};\nvar actions = {\n\tswitchProject: async ({ request, cookies }) => {\n\t\tconst projectId = (await request.formData()).get(\"projectId\");\n\t\tif (typeof projectId === \"string\" && projectId) setActiveProjectId(cookies, projectId);\n\t\treturn { success: true };\n\t},\n\tclearProject: async ({ cookies }) => {\n\t\tclearActiveProjectId(cookies);\n\t\treturn { success: true };\n\t}\n};\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/projects/_page.server.ts.js';\n\nexport const index = 20;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/projects/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/projects/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/20.BHg5roNq.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/wI_OOyoh.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/20.CYAn9-TU.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACpC,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACpD,CAAC,OAAO;AACR,EAAE,QAAQ,EAAE,sBAAsB,EAAE;AACpC,EAAE,eAAe;AACjB,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;AAC/D,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC;AACvC,EAAE;AACF,CAAC;AACD,IAAI,OAAO,GAAG;AACd,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AAChD,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC;AAC/D,EAAE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;AACxF,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,CAAC,CAAC;AACF,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AACtC,EAAE,oBAAoB,CAAC,OAAO,CAAC;AAC/B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,CAAC;AACD,CAAC;;;;;;;;AC5BW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AAEzG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACjV,MAAC,WAAW,GAAG,CAAC,+CAA+C,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACzL,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"20-BvcOxe5q.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/projects/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/20.js"],"sourcesContent":["import { t as readAuditLog } from \"../../../chunks/audit-log.js\";\nimport { i as listRegisteredProjects, n as clearActiveProjectId, r as getActiveProjectId, s as setActiveProjectId } from \"../../../chunks/project-context.js\";\n//#region src/routes/projects/+page.server.ts\n/**\n* Projects page server load — lists all projects registered in the\n* global nexus.db registry, resolves the active context, and primes\n* the audit log panel.\n*\n* @task T990\n* @wave 1E\n*/\nvar load = ({ cookies, locals }) => {\n\tconst activeProjectId = getActiveProjectId(cookies);\n\treturn {\n\t\tprojects: listRegisteredProjects(),\n\t\tactiveProjectId,\n\t\tauditEntries: readAuditLog(locals.projectCtx.projectPath, 80),\n\t\tactiveProjectName: locals.projectCtx.name\n\t};\n};\nvar actions = {\n\tswitchProject: async ({ request, cookies }) => {\n\t\tconst projectId = (await request.formData()).get(\"projectId\");\n\t\tif (typeof projectId === \"string\" && projectId) setActiveProjectId(cookies, projectId);\n\t\treturn { success: true };\n\t},\n\tclearProject: async ({ cookies }) => {\n\t\tclearActiveProjectId(cookies);\n\t\treturn { success: true };\n\t}\n};\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/projects/_page.server.ts.js';\n\nexport const index = 20;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/projects/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/projects/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/20.ByQCOFEK.js\",\"_app/immutable/chunks/Cq8SkApb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Dw--1J0g.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/wI_OOyoh.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/20.CYAn9-TU.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACpC,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACpD,CAAC,OAAO;AACR,EAAE,QAAQ,EAAE,sBAAsB,EAAE;AACpC,EAAE,eAAe;AACjB,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;AAC/D,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC;AACvC,EAAE;AACF,CAAC;AACD,IAAI,OAAO,GAAG;AACd,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AAChD,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC;AAC/D,EAAE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;AACxF,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,CAAC,CAAC;AACF,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AACtC,EAAE,oBAAoB,CAAC,OAAO,CAAC;AAC/B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,CAAC;AACD,CAAC;;;;;;;;AC5BW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AAEzG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACjV,MAAC,WAAW,GAAG,CAAC,+CAA+C,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACzL,MAAC,KAAK,GAAG;;;;"}
@@ -141,11 +141,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
141
141
 
142
142
  const index = 24;
143
143
  let component_cache;
144
- const component = async () => component_cache ??= (await import('./_page.svelte-DKVwBmIp.js')).default;
144
+ const component = async () => component_cache ??= (await import('./_page.svelte-EWYHbzl0.js')).default;
145
145
  const server_id = "src/routes/studio/[projectId]/[sagaId]/+page.server.ts";
146
- const imports = ["_app/immutable/nodes/24.B_s9aY5m.js","_app/immutable/chunks/DrfFUIvQ.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/9yrFrmKZ.js","_app/immutable/chunks/C7UP-KLT.js","_app/immutable/chunks/DhhrVdfi.js","_app/immutable/chunks/DGRYMk-W.js","_app/immutable/chunks/DsQIgu-4.js","_app/immutable/chunks/CxbvtjIH.js","_app/immutable/chunks/DYQphR_V.js","_app/immutable/chunks/CXTCtOUQ.js","_app/immutable/chunks/DOqzs8kl2.js","_app/immutable/chunks/DF_4OWhj.js","_app/immutable/chunks/CdqDTozW.js","_app/immutable/chunks/D7w7HllH.js","_app/immutable/chunks/DB5ifLM-.js","_app/immutable/chunks/B2_6RrlL2.js","_app/immutable/chunks/CdPxoldu.js","_app/immutable/chunks/DtNkZUkq.js","_app/immutable/chunks/Ml4JR6Jz2.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/JPJd4fEI.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js","_app/immutable/chunks/DvxYFW4C.js"];
146
+ const imports = ["_app/immutable/nodes/24.DKhWVVfG.js","_app/immutable/chunks/Cq8SkApb.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/Dw--1J0g.js","_app/immutable/chunks/B4pbMhWh.js","_app/immutable/chunks/DhhrVdfi.js","_app/immutable/chunks/DGRYMk-W.js","_app/immutable/chunks/DsQIgu-4.js","_app/immutable/chunks/CxbvtjIH.js","_app/immutable/chunks/DYQphR_V.js","_app/immutable/chunks/CXTCtOUQ.js","_app/immutable/chunks/DOqzs8kl2.js","_app/immutable/chunks/DF_4OWhj.js","_app/immutable/chunks/CdqDTozW.js","_app/immutable/chunks/D7w7HllH.js","_app/immutable/chunks/DB5ifLM-.js","_app/immutable/chunks/B2_6RrlL2.js","_app/immutable/chunks/CdPxoldu.js","_app/immutable/chunks/DtNkZUkq.js","_app/immutable/chunks/Ml4JR6Jz2.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/JPJd4fEI.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js","_app/immutable/chunks/DvxYFW4C.js"];
147
147
  const stylesheets = ["_app/immutable/assets/StatBlock.DX6OXz7z.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/tasks.BZWJL4jq.css","_app/immutable/assets/saga-board.XH0XIkul.css","_app/immutable/assets/24.BWCeO61w.css"];
148
148
  const fonts = [];
149
149
 
150
150
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
151
- //# sourceMappingURL=24-BeVcofpU.js.map
151
+ //# sourceMappingURL=24-DlzL0G3_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"24-BeVcofpU.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/studio/_projectId_/_sagaId_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/24.js"],"sourcesContent":["import { o as resolveProjectContext } from \"../../../../../chunks/project-context.js\";\nimport { t as loadExplorerBundle } from \"../../../../../chunks/explorer-loader.js\";\n//#region src/routes/studio/[projectId]/[sagaId]/+page.server.ts\nvar load = async ({ params, locals }) => {\n\tconst { projectId, sagaId } = params;\n\tconst ctx = locals.projectCtx.projectId === projectId ? locals.projectCtx : resolveProjectContext(projectId) ?? null;\n\tif (!ctx?.tasksDbExists) return {\n\t\tprojectId,\n\t\tprojectName: ctx?.name ?? projectId,\n\t\tsagaId,\n\t\tsaga: null,\n\t\texplorer: null,\n\t\terror: `Project \"${projectId}\" is not registered or has no tasks database.`\n\t};\n\ttry {\n\t\tconst explorer = await loadExplorerBundle({ projectCtx: ctx });\n\t\tconst sagaTask = explorer.tasks.find((t) => t.id === sagaId) ?? null;\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\tsagaId,\n\t\t\tsaga: sagaTask ? {\n\t\t\t\tid: sagaTask.id,\n\t\t\t\ttitle: sagaTask.title,\n\t\t\t\ttype: sagaTask.type,\n\t\t\t\tstatus: sagaTask.status\n\t\t\t} : null,\n\t\t\texplorer\n\t\t};\n\t} catch (e) {\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\tsagaId,\n\t\t\tsaga: null,\n\t\t\texplorer: null,\n\t\t\terror: e instanceof Error ? e.message : \"Failed to load the saga workgraph bundle.\"\n\t\t};\n\t}\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/studio/_projectId_/_sagaId_/_page.server.ts.js';\n\nexport const index = 24;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/studio/_projectId_/_sagaId_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/studio/[projectId]/[sagaId]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/24.B_s9aY5m.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/C7UP-KLT.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/DvxYFW4C.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/saga-board.XH0XIkul.css\",\"_app/immutable/assets/24.BWCeO61w.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AACzC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;AACrC,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,IAAI;AACrH,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO;AACjC,EAAE,SAAS;AACX,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,IAAI,SAAS;AACrC,EAAE,MAAM;AACR,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,6CAA6C;AAC5E,EAAE;AACF,CAAC,IAAI;AACL,EAAE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAChE,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI;AACtE,EAAE,OAAO;AACT,GAAG,SAAS;AACZ,GAAG,WAAW,EAAE,GAAG,CAAC,IAAI;AACxB,GAAG,MAAM;AACT,GAAG,IAAI,EAAE,QAAQ,GAAG;AACpB,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE;AACnB,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK;AACzB,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI;AACvB,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,GAAG,IAAI;AACX,GAAG;AACH,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO;AACT,GAAG,SAAS;AACZ,GAAG,WAAW,EAAE,GAAG,CAAC,IAAI;AACxB,GAAG,MAAM;AACT,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,QAAQ,EAAE,IAAI;AACjB,GAAG,KAAK,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG;AAC3C,GAAG;AACH,CAAC;AACD,CAAC;;;;;;;ACrCW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA8D,CAAC,EAAE;AAE5H,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChgC,MAAC,WAAW,GAAG,CAAC,8CAA8C,CAAC,+CAA+C,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,0CAA0C,CAAC,+CAA+C,CAAC,uCAAuC;AACnU,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"24-DlzL0G3_.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/studio/_projectId_/_sagaId_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/24.js"],"sourcesContent":["import { o as resolveProjectContext } from \"../../../../../chunks/project-context.js\";\nimport { t as loadExplorerBundle } from \"../../../../../chunks/explorer-loader.js\";\n//#region src/routes/studio/[projectId]/[sagaId]/+page.server.ts\nvar load = async ({ params, locals }) => {\n\tconst { projectId, sagaId } = params;\n\tconst ctx = locals.projectCtx.projectId === projectId ? locals.projectCtx : resolveProjectContext(projectId) ?? null;\n\tif (!ctx?.tasksDbExists) return {\n\t\tprojectId,\n\t\tprojectName: ctx?.name ?? projectId,\n\t\tsagaId,\n\t\tsaga: null,\n\t\texplorer: null,\n\t\terror: `Project \"${projectId}\" is not registered or has no tasks database.`\n\t};\n\ttry {\n\t\tconst explorer = await loadExplorerBundle({ projectCtx: ctx });\n\t\tconst sagaTask = explorer.tasks.find((t) => t.id === sagaId) ?? null;\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\tsagaId,\n\t\t\tsaga: sagaTask ? {\n\t\t\t\tid: sagaTask.id,\n\t\t\t\ttitle: sagaTask.title,\n\t\t\t\ttype: sagaTask.type,\n\t\t\t\tstatus: sagaTask.status\n\t\t\t} : null,\n\t\t\texplorer\n\t\t};\n\t} catch (e) {\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\tsagaId,\n\t\t\tsaga: null,\n\t\t\texplorer: null,\n\t\t\terror: e instanceof Error ? e.message : \"Failed to load the saga workgraph bundle.\"\n\t\t};\n\t}\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/studio/_projectId_/_sagaId_/_page.server.ts.js';\n\nexport const index = 24;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/studio/_projectId_/_sagaId_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/studio/[projectId]/[sagaId]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/24.DKhWVVfG.js\",\"_app/immutable/chunks/Cq8SkApb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Dw--1J0g.js\",\"_app/immutable/chunks/B4pbMhWh.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/DvxYFW4C.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/saga-board.XH0XIkul.css\",\"_app/immutable/assets/24.BWCeO61w.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AACzC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;AACrC,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,IAAI;AACrH,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO;AACjC,EAAE,SAAS;AACX,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,IAAI,SAAS;AACrC,EAAE,MAAM;AACR,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,6CAA6C;AAC5E,EAAE;AACF,CAAC,IAAI;AACL,EAAE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAChE,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI;AACtE,EAAE,OAAO;AACT,GAAG,SAAS;AACZ,GAAG,WAAW,EAAE,GAAG,CAAC,IAAI;AACxB,GAAG,MAAM;AACT,GAAG,IAAI,EAAE,QAAQ,GAAG;AACpB,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE;AACnB,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK;AACzB,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI;AACvB,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,GAAG,IAAI;AACX,GAAG;AACH,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO;AACT,GAAG,SAAS;AACZ,GAAG,WAAW,EAAE,GAAG,CAAC,IAAI;AACxB,GAAG,MAAM;AACT,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,QAAQ,EAAE,IAAI;AACjB,GAAG,KAAK,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG;AAC3C,GAAG;AACH,CAAC;AACD,CAAC;;;;;;;ACrCW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA8D,CAAC,EAAE;AAE5H,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChgC,MAAC,WAAW,GAAG,CAAC,8CAA8C,CAAC,+CAA+C,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,0CAA0C,CAAC,+CAA+C,CAAC,uCAAuC;AACnU,MAAC,KAAK,GAAG;;;;"}
@@ -436,11 +436,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
436
436
 
437
437
  const index = 25;
438
438
  let component_cache;
439
- const component = async () => component_cache ??= (await import('./_page.svelte-BT1YF8j2.js')).default;
439
+ const component = async () => component_cache ??= (await import('./_page.svelte-BdTlq0Gh.js')).default;
440
440
  const server_id = "src/routes/tasks/+page.server.ts";
441
- const imports = ["_app/immutable/nodes/25.DZXkDxw_.js","_app/immutable/chunks/DrfFUIvQ.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/9yrFrmKZ.js","_app/immutable/chunks/C7UP-KLT.js","_app/immutable/chunks/DhhrVdfi.js","_app/immutable/chunks/DGRYMk-W.js","_app/immutable/chunks/DsQIgu-4.js","_app/immutable/chunks/CxbvtjIH.js","_app/immutable/chunks/DYQphR_V.js","_app/immutable/chunks/CXTCtOUQ.js","_app/immutable/chunks/DOqzs8kl2.js","_app/immutable/chunks/DF_4OWhj.js","_app/immutable/chunks/CdqDTozW.js","_app/immutable/chunks/D7w7HllH.js","_app/immutable/chunks/DB5ifLM-.js","_app/immutable/chunks/B2_6RrlL2.js","_app/immutable/chunks/CdPxoldu.js","_app/immutable/chunks/DtNkZUkq.js","_app/immutable/chunks/Ml4JR6Jz2.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/JPJd4fEI.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
441
+ const imports = ["_app/immutable/nodes/25.BS4Qyw38.js","_app/immutable/chunks/Cq8SkApb.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/Dw--1J0g.js","_app/immutable/chunks/B4pbMhWh.js","_app/immutable/chunks/DhhrVdfi.js","_app/immutable/chunks/DGRYMk-W.js","_app/immutable/chunks/DsQIgu-4.js","_app/immutable/chunks/CxbvtjIH.js","_app/immutable/chunks/DYQphR_V.js","_app/immutable/chunks/CXTCtOUQ.js","_app/immutable/chunks/DOqzs8kl2.js","_app/immutable/chunks/DF_4OWhj.js","_app/immutable/chunks/CdqDTozW.js","_app/immutable/chunks/D7w7HllH.js","_app/immutable/chunks/DB5ifLM-.js","_app/immutable/chunks/B2_6RrlL2.js","_app/immutable/chunks/CdPxoldu.js","_app/immutable/chunks/DtNkZUkq.js","_app/immutable/chunks/Ml4JR6Jz2.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/JPJd4fEI.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
442
442
  const stylesheets = ["_app/immutable/assets/StatBlock.DX6OXz7z.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/tasks.BZWJL4jq.css","_app/immutable/assets/25.BtvG5YXz.css"];
443
443
  const fonts = [];
444
444
 
445
445
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
446
- //# sourceMappingURL=25-DIuzTPOu.js.map
446
+ //# sourceMappingURL=25-BkcpAlfJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"25-DIuzTPOu.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/25.js"],"sourcesContent":["import { Dt as TASK_STATUSES } from \"../../../chunks/dist2.js\";\nimport { r as getTaskAccessor } from \"../../../chunks/data-accessor2.js\";\nimport { t as listTasks } from \"../../../chunks/list.js\";\nimport { t as computeTaskRollups } from \"../../../chunks/rollup.js\";\nimport { o as getTasksDb } from \"../../../chunks/connections2.js\";\nimport { t as loadExplorerBundle } from \"../../../chunks/explorer-loader.js\";\n//#region src/routes/tasks/+page.server.ts\n/**\n* Set of all valid {@link TaskStatus} values, used for O(1) narrowing at\n* the server boundary. Sourced from the canonical {@link TASK_STATUSES}\n* registry so any future status addition is picked up for free.\n*/\nvar TASK_STATUS_SET = new Set(TASK_STATUSES);\n/**\n* Set of canonical {@link TaskPriority} values. Mirrors the union in\n* `@cleocode/contracts` — the contracts package does not (yet) export a\n* runtime constant tuple for it, so we declare the narrow literal tuple\n* here and let TypeScript enforce exhaustiveness via the\n* `TaskPriority[]` type annotation.\n*/\nvar TASK_PRIORITY_SET = new Set([\n\t\"critical\",\n\t\"high\",\n\t\"medium\",\n\t\"low\"\n]);\n/**\n* Narrow a raw `status` string from the SQL layer to {@link TaskStatus}.\n*\n* The dashboard SELECT filters rows to `('active', 'pending', 'done'[,\n* 'archived'])`, but the DB column is declared as `TEXT` — so at the TS\n* layer we still need to prove the narrowing to satisfy the strict\n* {@link RecentTaskRow} union. Unknown values fall back to `'cancelled'`\n* (a terminal bucket that cannot ship an unrelated render path) and log\n* a one-line warning so a schema drift bug gets noticed.\n*/\nfunction narrowStatus(raw, taskId) {\n\tif (TASK_STATUS_SET.has(raw)) return raw;\n\tconsole.warn(`[tasks/+page.server] unexpected status \"${raw}\" for ${taskId}; coerced to \"cancelled\".`);\n\treturn \"cancelled\";\n}\n/**\n* Narrow a raw `priority` string from the SQL layer to {@link TaskPriority}.\n*\n* Same rationale as {@link narrowStatus} — the DB column is loose. Unknown\n* values fall back to `'low'` and warn once per row.\n*/\nfunction narrowPriority(raw, taskId) {\n\tif (TASK_PRIORITY_SET.has(raw)) return raw;\n\tconsole.warn(`[tasks/+page.server] unexpected priority \"${raw}\" for ${taskId}; coerced to \"low\".`);\n\treturn \"low\";\n}\n/**\n* Resolve the canonical \"include cancelled epics\" flag from a possibly-legacy\n* options bag, preferring {@link DeprecatedEpicProgressOptions.includeCancelled}\n* over the deprecated `includeDeferred`.\n*/\nfunction resolveIncludeCancelled(options) {\n\tif (typeof options.includeCancelled === \"boolean\") return options.includeCancelled;\n\tif (typeof options.includeDeferred === \"boolean\") return options.includeDeferred;\n\treturn false;\n}\n/**\n* Compute dashboard epic-progress rows using a direct-children basis.\n*\n* @deprecated T948: production `load()` now uses\n* {@link _computeEpicProgressViaRollup} which routes through\n* `cleo.lifecycle.computeRollupsBatch` so Studio, the CLI, and\n* `/tasks/pipeline` all see the same projection. This pure SQL helper is\n* retained only so the T874/T878 test suites (which pass an in-memory\n* `node:sqlite` db) keep working without a wholesale rewrite.\n*\n* Pure function so it can be unit-tested against an in-memory SQLite DB\n* without spinning up the full SvelteKit load context.\n*\n* T958: `options.includeDeferred` renamed to `options.includeCancelled`\n* since \"deferred\" was only ever a UI label for `status='cancelled'` on\n* epics — not a real DB field. The legacy option name is still accepted\n* for one release via {@link DeprecatedEpicProgressOptions}.\n*\n* @param db - SQLite DB handle (better-sqlite3-compatible).\n* @param options.includeCancelled - When true, include cancelled epics too.\n* @param options.includeDeferred - Deprecated alias for `includeCancelled`.\n* @returns One {@link EpicProgress} row per epic (filtered by `includeCancelled`).\n*\n* @task T874 | T878 | T948 | T958\n* @epic T876 | T949\n*/\nfunction _computeEpicProgress(db, options = {}) {\n\tconst epicFilter = resolveIncludeCancelled(options) ? `status != 'archived'` : `status NOT IN ('archived','cancelled')`;\n\treturn db.prepare(`SELECT id, title, status FROM tasks WHERE type = 'epic' AND ${epicFilter} ORDER BY id`).all().map((epic) => {\n\t\tconst children = db.prepare(`SELECT status, COUNT(*) as cnt\n FROM tasks\n WHERE parent_id = ?\n AND status != 'archived'\n GROUP BY status`).all(epic.id);\n\t\tconst childMap = Object.fromEntries(children.map((r) => [r.status, r.cnt]));\n\t\tconst total = Object.values(childMap).reduce((a, b) => a + b, 0);\n\t\treturn {\n\t\t\tid: epic.id,\n\t\t\ttitle: epic.title,\n\t\t\tstatus: epic.status,\n\t\t\ttotal,\n\t\t\tdone: childMap[\"done\"] ?? 0,\n\t\t\tactive: childMap[\"active\"] ?? 0,\n\t\t\tpending: childMap[\"pending\"] ?? 0,\n\t\t\tcancelled: childMap[\"cancelled\"] ?? 0\n\t\t};\n\t});\n}\n/**\n* Build an {@link EpicProgress} row from a parent epic + its child rollups.\n*\n* Pure transformation, no I/O. Child rollups arrive already filtered to the\n* epic's direct, non-archived children — this function only tallies\n* `execStatus` into dashboard buckets.\n*\n* Exported for tests (T948).\n*/\nfunction _epicRowFromRollups(parent, children) {\n\tlet done = 0;\n\tlet active = 0;\n\tlet pending = 0;\n\tlet cancelled = 0;\n\tfor (const child of children) switch (child.execStatus) {\n\t\tcase \"done\":\n\t\t\tdone += 1;\n\t\t\tbreak;\n\t\tcase \"active\":\n\t\t\tactive += 1;\n\t\t\tbreak;\n\t\tcase \"pending\":\n\t\t\tpending += 1;\n\t\t\tbreak;\n\t\tcase \"cancelled\":\n\t\t\tcancelled += 1;\n\t\t\tbreak;\n\t\tdefault: break;\n\t}\n\treturn {\n\t\tid: parent.id,\n\t\ttitle: parent.title,\n\t\tstatus: parent.status,\n\t\ttotal: children.length,\n\t\tdone,\n\t\tactive,\n\t\tpending,\n\t\tcancelled\n\t};\n}\n/**\n* Compute epic-progress rows via the canonical task-rollup facade.\n*\n* T948: this is the production path. For every non-archived epic we issue a\n* single `computeRollup` call to get the parent's exec status plus a\n* `computeRollupsBatch` for its direct children, then delegate to\n* {@link _epicRowFromRollups} for the tally.\n*\n* T958: `options.includeDeferred` renamed to `options.includeCancelled`. The\n* deprecated key is still accepted for one release.\n*\n* @param projectPath - Absolute path to the active project (from\n* `locals.projectCtx.projectPath`). Passed straight to\n* `Cleo.forProject` so the DataAccessor opens against\n* the right tasks.db.\n* @param options.includeCancelled - Include `status='cancelled'` epics.\n* @param options.includeDeferred - Deprecated alias for `includeCancelled`.\n* @returns Epic progress rows in deterministic (sorted-id) order.\n*/\nasync function _computeEpicProgressViaRollup(projectPath, options = {}) {\n\tconst includeCancelled = resolveIncludeCancelled(options);\n\tconst accessor = await getTaskAccessor(projectPath);\n\tconst epics = (await listTasks({\n\t\ttype: \"epic\",\n\t\texcludeArchived: true,\n\t\tsortByPriority: false,\n\t\tlimit: 1e3\n\t}, projectPath, accessor)).tasks.filter((e) => includeCancelled || e.status !== \"cancelled\").sort((a, b) => a.id.localeCompare(b.id));\n\tconst rows = [];\n\tfor (const epic of epics) {\n\t\tconst childRollups = await computeTaskRollups((await listTasks({\n\t\t\tparentId: epic.id,\n\t\t\texcludeArchived: true,\n\t\t\tsortByPriority: false,\n\t\t\tlimit: 1e3\n\t\t}, projectPath, accessor)).tasks.map((c) => c.id), accessor);\n\t\trows.push(_epicRowFromRollups({\n\t\t\tid: epic.id,\n\t\t\ttitle: epic.title,\n\t\t\tstatus: epic.status\n\t\t}, childRollups));\n\t}\n\treturn rows;\n}\n/**\n* One-time guard so the server only warns about a legacy `?deferred=1` URL\n* once per process lifetime, regardless of how many `/tasks` page loads see\n* the param. Mirrors the client-side guard in\n* `packages/studio/src/lib/stores/task-filters.svelte.ts`.\n*/\nvar legacyDeferredWarningEmitted = false;\n/**\n* Emit a one-time `console.warn` flagging `?deferred=1` as deprecated.\n*\n* @internal\n*/\nfunction warnLegacyDeferredParamOnce() {\n\tif (legacyDeferredWarningEmitted) return;\n\tlegacyDeferredWarningEmitted = true;\n\tconsole.warn(\"[tasks/+page.server] ?deferred=1 is deprecated; use ?cancelled=1. Alias removal tracked as a follow-up to T958.\");\n}\n/**\n* @internal\n* Test-only hook to reset the one-time `?deferred=1` warning guard so\n* repeated test cases can observe the warning firing exactly once per\n* scenario.\n*/\nfunction __resetLegacyDeferredParamWarningForTests() {\n\tlegacyDeferredWarningEmitted = false;\n}\n/**\n* Empty explorer-bundle stub returned whenever the shared loader cannot\n* produce a payload (missing tasks.db, half-initialised project, or the\n* loader threw). The hybrid `/tasks` page can still render the dashboard\n* panel and show an \"Explorer empty\" message without crashing.\n*/\nfunction emptyExplorerBundle() {\n\treturn {\n\t\ttasks: [],\n\t\tdeps: [],\n\t\tepicProgress: {},\n\t\tlabels: [],\n\t\tloadedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n}\n/**\n* Load the shared Task Explorer payload side-by-side with the dashboard.\n*\n* Extracted as its own helper so the try/catch around the explorer loader\n* stays surgical — an Explorer failure must NOT blank the dashboard panel.\n*\n* @param ctx - Active project context (from `locals.projectCtx`).\n* @param includeArchived - Pass through the dashboard archived toggle.\n* @returns The explorer bundle, or an empty stub on any failure.\n*\n* @internal\n*/\nasync function loadExplorerSafe(ctx, includeArchived) {\n\ttry {\n\t\treturn await loadExplorerBundle({\n\t\t\tprojectCtx: ctx,\n\t\t\tincludeArchived\n\t\t});\n\t} catch {\n\t\treturn emptyExplorerBundle();\n\t}\n}\nvar load = async ({ locals, url }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tconst cancelledParam = url.searchParams.get(\"cancelled\") === \"1\";\n\tconst legacyDeferredParam = url.searchParams.get(\"deferred\") === \"1\";\n\tif (legacyDeferredParam) warnLegacyDeferredParamOnce();\n\tconst showCancelled = cancelledParam || legacyDeferredParam;\n\tconst showArchived = url.searchParams.get(\"archived\") === \"1\";\n\tconst filters = {\n\t\tshowCancelled,\n\t\tshowArchived\n\t};\n\tconst explorerPromise = loadExplorerSafe(locals.projectCtx, showArchived);\n\tif (!db) return {\n\t\tstats: null,\n\t\trecentTasks: [],\n\t\tepicProgress: [],\n\t\tfilters,\n\t\texplorer: await explorerPromise\n\t};\n\ttry {\n\t\tconst countByStatus = db.prepare(\"SELECT status, COUNT(*) as cnt FROM tasks GROUP BY status\").all();\n\t\tconst countByPriority = db.prepare(`SELECT priority, COUNT(*) as cnt FROM tasks WHERE status != 'archived' GROUP BY priority`).all();\n\t\tconst countByType = db.prepare(`SELECT type, COUNT(*) as cnt FROM tasks WHERE status != 'archived' GROUP BY type`).all();\n\t\tconst statusMap = Object.fromEntries(countByStatus.map((r) => [r.status, r.cnt]));\n\t\tconst priorityMap = Object.fromEntries(countByPriority.map((r) => [r.priority, r.cnt]));\n\t\tconst typeMap = Object.fromEntries(countByType.map((r) => [r.type, r.cnt]));\n\t\tconst stats = {\n\t\t\ttotal: (statusMap[\"pending\"] ?? 0) + (statusMap[\"active\"] ?? 0) + (statusMap[\"done\"] ?? 0) + (statusMap[\"cancelled\"] ?? 0),\n\t\t\tpending: statusMap[\"pending\"] ?? 0,\n\t\t\tactive: statusMap[\"active\"] ?? 0,\n\t\t\tdone: statusMap[\"done\"] ?? 0,\n\t\t\tcancelled: statusMap[\"cancelled\"] ?? 0,\n\t\t\tarchived: statusMap[\"archived\"] ?? 0,\n\t\t\tcritical: priorityMap[\"critical\"] ?? 0,\n\t\t\thigh: priorityMap[\"high\"] ?? 0,\n\t\t\tmedium: priorityMap[\"medium\"] ?? 0,\n\t\t\tlow: priorityMap[\"low\"] ?? 0,\n\t\t\tepics: typeMap[\"epic\"] ?? 0,\n\t\t\ttasks: typeMap[\"task\"] ?? 0,\n\t\t\tsubtasks: typeMap[\"subtask\"] ?? 0\n\t\t};\n\t\tconst recentStatusFilter = showArchived ? `status IN ('active', 'pending', 'done', 'archived')` : `status IN ('active', 'pending', 'done')`;\n\t\tconst recentTasks = db.prepare(`SELECT id, title, status, priority, type, pipeline_stage, updated_at\n FROM tasks\n WHERE ${recentStatusFilter}\n ORDER BY updated_at DESC\n LIMIT 20`).all().map((row) => ({\n\t\t\tid: row.id,\n\t\t\ttitle: row.title,\n\t\t\tstatus: narrowStatus(row.status, row.id),\n\t\t\tpriority: narrowPriority(row.priority, row.id),\n\t\t\ttype: row.type,\n\t\t\tpipeline_stage: row.pipeline_stage,\n\t\t\tupdated_at: row.updated_at\n\t\t}));\n\t\tlet epicProgress = [];\n\t\ttry {\n\t\t\tepicProgress = await _computeEpicProgressViaRollup(locals.projectCtx.projectPath, { includeCancelled: showCancelled });\n\t\t} catch {\n\t\t\tepicProgress = _computeEpicProgress(db, { includeCancelled: showCancelled });\n\t\t}\n\t\tconst explorer = await explorerPromise;\n\t\treturn {\n\t\t\tstats,\n\t\t\trecentTasks,\n\t\t\tepicProgress,\n\t\t\tfilters,\n\t\t\texplorer\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tstats: null,\n\t\t\trecentTasks: [],\n\t\t\tepicProgress: [],\n\t\t\tfilters,\n\t\t\texplorer: await explorerPromise\n\t\t};\n\t}\n};\n//#endregion\nexport { __resetLegacyDeferredParamWarningForTests, _computeEpicProgress, _computeEpicProgressViaRollup, _epicRowFromRollups, load };\n","import * as server from '../entries/pages/tasks/_page.server.ts.js';\n\nexport const index = 25;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/25.DZXkDxw_.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/C7UP-KLT.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/25.BtvG5YXz.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"25-BkcpAlfJ.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/25.js"],"sourcesContent":["import { Dt as TASK_STATUSES } from \"../../../chunks/dist2.js\";\nimport { r as getTaskAccessor } from \"../../../chunks/data-accessor2.js\";\nimport { t as listTasks } from \"../../../chunks/list.js\";\nimport { t as computeTaskRollups } from \"../../../chunks/rollup.js\";\nimport { o as getTasksDb } from \"../../../chunks/connections2.js\";\nimport { t as loadExplorerBundle } from \"../../../chunks/explorer-loader.js\";\n//#region src/routes/tasks/+page.server.ts\n/**\n* Set of all valid {@link TaskStatus} values, used for O(1) narrowing at\n* the server boundary. Sourced from the canonical {@link TASK_STATUSES}\n* registry so any future status addition is picked up for free.\n*/\nvar TASK_STATUS_SET = new Set(TASK_STATUSES);\n/**\n* Set of canonical {@link TaskPriority} values. Mirrors the union in\n* `@cleocode/contracts` — the contracts package does not (yet) export a\n* runtime constant tuple for it, so we declare the narrow literal tuple\n* here and let TypeScript enforce exhaustiveness via the\n* `TaskPriority[]` type annotation.\n*/\nvar TASK_PRIORITY_SET = new Set([\n\t\"critical\",\n\t\"high\",\n\t\"medium\",\n\t\"low\"\n]);\n/**\n* Narrow a raw `status` string from the SQL layer to {@link TaskStatus}.\n*\n* The dashboard SELECT filters rows to `('active', 'pending', 'done'[,\n* 'archived'])`, but the DB column is declared as `TEXT` — so at the TS\n* layer we still need to prove the narrowing to satisfy the strict\n* {@link RecentTaskRow} union. Unknown values fall back to `'cancelled'`\n* (a terminal bucket that cannot ship an unrelated render path) and log\n* a one-line warning so a schema drift bug gets noticed.\n*/\nfunction narrowStatus(raw, taskId) {\n\tif (TASK_STATUS_SET.has(raw)) return raw;\n\tconsole.warn(`[tasks/+page.server] unexpected status \"${raw}\" for ${taskId}; coerced to \"cancelled\".`);\n\treturn \"cancelled\";\n}\n/**\n* Narrow a raw `priority` string from the SQL layer to {@link TaskPriority}.\n*\n* Same rationale as {@link narrowStatus} — the DB column is loose. Unknown\n* values fall back to `'low'` and warn once per row.\n*/\nfunction narrowPriority(raw, taskId) {\n\tif (TASK_PRIORITY_SET.has(raw)) return raw;\n\tconsole.warn(`[tasks/+page.server] unexpected priority \"${raw}\" for ${taskId}; coerced to \"low\".`);\n\treturn \"low\";\n}\n/**\n* Resolve the canonical \"include cancelled epics\" flag from a possibly-legacy\n* options bag, preferring {@link DeprecatedEpicProgressOptions.includeCancelled}\n* over the deprecated `includeDeferred`.\n*/\nfunction resolveIncludeCancelled(options) {\n\tif (typeof options.includeCancelled === \"boolean\") return options.includeCancelled;\n\tif (typeof options.includeDeferred === \"boolean\") return options.includeDeferred;\n\treturn false;\n}\n/**\n* Compute dashboard epic-progress rows using a direct-children basis.\n*\n* @deprecated T948: production `load()` now uses\n* {@link _computeEpicProgressViaRollup} which routes through\n* `cleo.lifecycle.computeRollupsBatch` so Studio, the CLI, and\n* `/tasks/pipeline` all see the same projection. This pure SQL helper is\n* retained only so the T874/T878 test suites (which pass an in-memory\n* `node:sqlite` db) keep working without a wholesale rewrite.\n*\n* Pure function so it can be unit-tested against an in-memory SQLite DB\n* without spinning up the full SvelteKit load context.\n*\n* T958: `options.includeDeferred` renamed to `options.includeCancelled`\n* since \"deferred\" was only ever a UI label for `status='cancelled'` on\n* epics — not a real DB field. The legacy option name is still accepted\n* for one release via {@link DeprecatedEpicProgressOptions}.\n*\n* @param db - SQLite DB handle (better-sqlite3-compatible).\n* @param options.includeCancelled - When true, include cancelled epics too.\n* @param options.includeDeferred - Deprecated alias for `includeCancelled`.\n* @returns One {@link EpicProgress} row per epic (filtered by `includeCancelled`).\n*\n* @task T874 | T878 | T948 | T958\n* @epic T876 | T949\n*/\nfunction _computeEpicProgress(db, options = {}) {\n\tconst epicFilter = resolveIncludeCancelled(options) ? `status != 'archived'` : `status NOT IN ('archived','cancelled')`;\n\treturn db.prepare(`SELECT id, title, status FROM tasks WHERE type = 'epic' AND ${epicFilter} ORDER BY id`).all().map((epic) => {\n\t\tconst children = db.prepare(`SELECT status, COUNT(*) as cnt\n FROM tasks\n WHERE parent_id = ?\n AND status != 'archived'\n GROUP BY status`).all(epic.id);\n\t\tconst childMap = Object.fromEntries(children.map((r) => [r.status, r.cnt]));\n\t\tconst total = Object.values(childMap).reduce((a, b) => a + b, 0);\n\t\treturn {\n\t\t\tid: epic.id,\n\t\t\ttitle: epic.title,\n\t\t\tstatus: epic.status,\n\t\t\ttotal,\n\t\t\tdone: childMap[\"done\"] ?? 0,\n\t\t\tactive: childMap[\"active\"] ?? 0,\n\t\t\tpending: childMap[\"pending\"] ?? 0,\n\t\t\tcancelled: childMap[\"cancelled\"] ?? 0\n\t\t};\n\t});\n}\n/**\n* Build an {@link EpicProgress} row from a parent epic + its child rollups.\n*\n* Pure transformation, no I/O. Child rollups arrive already filtered to the\n* epic's direct, non-archived children — this function only tallies\n* `execStatus` into dashboard buckets.\n*\n* Exported for tests (T948).\n*/\nfunction _epicRowFromRollups(parent, children) {\n\tlet done = 0;\n\tlet active = 0;\n\tlet pending = 0;\n\tlet cancelled = 0;\n\tfor (const child of children) switch (child.execStatus) {\n\t\tcase \"done\":\n\t\t\tdone += 1;\n\t\t\tbreak;\n\t\tcase \"active\":\n\t\t\tactive += 1;\n\t\t\tbreak;\n\t\tcase \"pending\":\n\t\t\tpending += 1;\n\t\t\tbreak;\n\t\tcase \"cancelled\":\n\t\t\tcancelled += 1;\n\t\t\tbreak;\n\t\tdefault: break;\n\t}\n\treturn {\n\t\tid: parent.id,\n\t\ttitle: parent.title,\n\t\tstatus: parent.status,\n\t\ttotal: children.length,\n\t\tdone,\n\t\tactive,\n\t\tpending,\n\t\tcancelled\n\t};\n}\n/**\n* Compute epic-progress rows via the canonical task-rollup facade.\n*\n* T948: this is the production path. For every non-archived epic we issue a\n* single `computeRollup` call to get the parent's exec status plus a\n* `computeRollupsBatch` for its direct children, then delegate to\n* {@link _epicRowFromRollups} for the tally.\n*\n* T958: `options.includeDeferred` renamed to `options.includeCancelled`. The\n* deprecated key is still accepted for one release.\n*\n* @param projectPath - Absolute path to the active project (from\n* `locals.projectCtx.projectPath`). Passed straight to\n* `Cleo.forProject` so the DataAccessor opens against\n* the right tasks.db.\n* @param options.includeCancelled - Include `status='cancelled'` epics.\n* @param options.includeDeferred - Deprecated alias for `includeCancelled`.\n* @returns Epic progress rows in deterministic (sorted-id) order.\n*/\nasync function _computeEpicProgressViaRollup(projectPath, options = {}) {\n\tconst includeCancelled = resolveIncludeCancelled(options);\n\tconst accessor = await getTaskAccessor(projectPath);\n\tconst epics = (await listTasks({\n\t\ttype: \"epic\",\n\t\texcludeArchived: true,\n\t\tsortByPriority: false,\n\t\tlimit: 1e3\n\t}, projectPath, accessor)).tasks.filter((e) => includeCancelled || e.status !== \"cancelled\").sort((a, b) => a.id.localeCompare(b.id));\n\tconst rows = [];\n\tfor (const epic of epics) {\n\t\tconst childRollups = await computeTaskRollups((await listTasks({\n\t\t\tparentId: epic.id,\n\t\t\texcludeArchived: true,\n\t\t\tsortByPriority: false,\n\t\t\tlimit: 1e3\n\t\t}, projectPath, accessor)).tasks.map((c) => c.id), accessor);\n\t\trows.push(_epicRowFromRollups({\n\t\t\tid: epic.id,\n\t\t\ttitle: epic.title,\n\t\t\tstatus: epic.status\n\t\t}, childRollups));\n\t}\n\treturn rows;\n}\n/**\n* One-time guard so the server only warns about a legacy `?deferred=1` URL\n* once per process lifetime, regardless of how many `/tasks` page loads see\n* the param. Mirrors the client-side guard in\n* `packages/studio/src/lib/stores/task-filters.svelte.ts`.\n*/\nvar legacyDeferredWarningEmitted = false;\n/**\n* Emit a one-time `console.warn` flagging `?deferred=1` as deprecated.\n*\n* @internal\n*/\nfunction warnLegacyDeferredParamOnce() {\n\tif (legacyDeferredWarningEmitted) return;\n\tlegacyDeferredWarningEmitted = true;\n\tconsole.warn(\"[tasks/+page.server] ?deferred=1 is deprecated; use ?cancelled=1. Alias removal tracked as a follow-up to T958.\");\n}\n/**\n* @internal\n* Test-only hook to reset the one-time `?deferred=1` warning guard so\n* repeated test cases can observe the warning firing exactly once per\n* scenario.\n*/\nfunction __resetLegacyDeferredParamWarningForTests() {\n\tlegacyDeferredWarningEmitted = false;\n}\n/**\n* Empty explorer-bundle stub returned whenever the shared loader cannot\n* produce a payload (missing tasks.db, half-initialised project, or the\n* loader threw). The hybrid `/tasks` page can still render the dashboard\n* panel and show an \"Explorer empty\" message without crashing.\n*/\nfunction emptyExplorerBundle() {\n\treturn {\n\t\ttasks: [],\n\t\tdeps: [],\n\t\tepicProgress: {},\n\t\tlabels: [],\n\t\tloadedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n}\n/**\n* Load the shared Task Explorer payload side-by-side with the dashboard.\n*\n* Extracted as its own helper so the try/catch around the explorer loader\n* stays surgical — an Explorer failure must NOT blank the dashboard panel.\n*\n* @param ctx - Active project context (from `locals.projectCtx`).\n* @param includeArchived - Pass through the dashboard archived toggle.\n* @returns The explorer bundle, or an empty stub on any failure.\n*\n* @internal\n*/\nasync function loadExplorerSafe(ctx, includeArchived) {\n\ttry {\n\t\treturn await loadExplorerBundle({\n\t\t\tprojectCtx: ctx,\n\t\t\tincludeArchived\n\t\t});\n\t} catch {\n\t\treturn emptyExplorerBundle();\n\t}\n}\nvar load = async ({ locals, url }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tconst cancelledParam = url.searchParams.get(\"cancelled\") === \"1\";\n\tconst legacyDeferredParam = url.searchParams.get(\"deferred\") === \"1\";\n\tif (legacyDeferredParam) warnLegacyDeferredParamOnce();\n\tconst showCancelled = cancelledParam || legacyDeferredParam;\n\tconst showArchived = url.searchParams.get(\"archived\") === \"1\";\n\tconst filters = {\n\t\tshowCancelled,\n\t\tshowArchived\n\t};\n\tconst explorerPromise = loadExplorerSafe(locals.projectCtx, showArchived);\n\tif (!db) return {\n\t\tstats: null,\n\t\trecentTasks: [],\n\t\tepicProgress: [],\n\t\tfilters,\n\t\texplorer: await explorerPromise\n\t};\n\ttry {\n\t\tconst countByStatus = db.prepare(\"SELECT status, COUNT(*) as cnt FROM tasks GROUP BY status\").all();\n\t\tconst countByPriority = db.prepare(`SELECT priority, COUNT(*) as cnt FROM tasks WHERE status != 'archived' GROUP BY priority`).all();\n\t\tconst countByType = db.prepare(`SELECT type, COUNT(*) as cnt FROM tasks WHERE status != 'archived' GROUP BY type`).all();\n\t\tconst statusMap = Object.fromEntries(countByStatus.map((r) => [r.status, r.cnt]));\n\t\tconst priorityMap = Object.fromEntries(countByPriority.map((r) => [r.priority, r.cnt]));\n\t\tconst typeMap = Object.fromEntries(countByType.map((r) => [r.type, r.cnt]));\n\t\tconst stats = {\n\t\t\ttotal: (statusMap[\"pending\"] ?? 0) + (statusMap[\"active\"] ?? 0) + (statusMap[\"done\"] ?? 0) + (statusMap[\"cancelled\"] ?? 0),\n\t\t\tpending: statusMap[\"pending\"] ?? 0,\n\t\t\tactive: statusMap[\"active\"] ?? 0,\n\t\t\tdone: statusMap[\"done\"] ?? 0,\n\t\t\tcancelled: statusMap[\"cancelled\"] ?? 0,\n\t\t\tarchived: statusMap[\"archived\"] ?? 0,\n\t\t\tcritical: priorityMap[\"critical\"] ?? 0,\n\t\t\thigh: priorityMap[\"high\"] ?? 0,\n\t\t\tmedium: priorityMap[\"medium\"] ?? 0,\n\t\t\tlow: priorityMap[\"low\"] ?? 0,\n\t\t\tepics: typeMap[\"epic\"] ?? 0,\n\t\t\ttasks: typeMap[\"task\"] ?? 0,\n\t\t\tsubtasks: typeMap[\"subtask\"] ?? 0\n\t\t};\n\t\tconst recentStatusFilter = showArchived ? `status IN ('active', 'pending', 'done', 'archived')` : `status IN ('active', 'pending', 'done')`;\n\t\tconst recentTasks = db.prepare(`SELECT id, title, status, priority, type, pipeline_stage, updated_at\n FROM tasks\n WHERE ${recentStatusFilter}\n ORDER BY updated_at DESC\n LIMIT 20`).all().map((row) => ({\n\t\t\tid: row.id,\n\t\t\ttitle: row.title,\n\t\t\tstatus: narrowStatus(row.status, row.id),\n\t\t\tpriority: narrowPriority(row.priority, row.id),\n\t\t\ttype: row.type,\n\t\t\tpipeline_stage: row.pipeline_stage,\n\t\t\tupdated_at: row.updated_at\n\t\t}));\n\t\tlet epicProgress = [];\n\t\ttry {\n\t\t\tepicProgress = await _computeEpicProgressViaRollup(locals.projectCtx.projectPath, { includeCancelled: showCancelled });\n\t\t} catch {\n\t\t\tepicProgress = _computeEpicProgress(db, { includeCancelled: showCancelled });\n\t\t}\n\t\tconst explorer = await explorerPromise;\n\t\treturn {\n\t\t\tstats,\n\t\t\trecentTasks,\n\t\t\tepicProgress,\n\t\t\tfilters,\n\t\t\texplorer\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tstats: null,\n\t\t\trecentTasks: [],\n\t\t\tepicProgress: [],\n\t\t\tfilters,\n\t\t\texplorer: await explorerPromise\n\t\t};\n\t}\n};\n//#endregion\nexport { __resetLegacyDeferredParamWarningForTests, _computeEpicProgress, _computeEpicProgressViaRollup, _epicRowFromRollups, load };\n","import * as server from '../entries/pages/tasks/_page.server.ts.js';\n\nexport const index = 25;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/25.BS4Qyw38.js\",\"_app/immutable/chunks/Cq8SkApb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Dw--1J0g.js\",\"_app/immutable/chunks/B4pbMhWh.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/25.BtvG5YXz.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -275,11 +275,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
275
275
 
276
276
  const index = 26;
277
277
  let component_cache;
278
- const component = async () => component_cache ??= (await import('./_page.svelte-DaYxqOUS.js')).default;
278
+ const component = async () => component_cache ??= (await import('./_page.svelte-C6P8rRvk.js')).default;
279
279
  const server_id = "src/routes/tasks/[id]/+page.server.ts";
280
- const imports = ["_app/immutable/nodes/26.BBRbdwIG.js","_app/immutable/chunks/DrfFUIvQ.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/9yrFrmKZ.js","_app/immutable/chunks/DhhrVdfi.js","_app/immutable/chunks/DGRYMk-W.js","_app/immutable/chunks/DsQIgu-4.js","_app/immutable/chunks/CxbvtjIH.js","_app/immutable/chunks/DYQphR_V.js","_app/immutable/chunks/CXTCtOUQ.js","_app/immutable/chunks/DOqzs8kl2.js","_app/immutable/chunks/DF_4OWhj.js","_app/immutable/chunks/CdqDTozW.js","_app/immutable/chunks/D7w7HllH.js","_app/immutable/chunks/DB5ifLM-.js","_app/immutable/chunks/B2_6RrlL2.js","_app/immutable/chunks/CdPxoldu.js","_app/immutable/chunks/DtNkZUkq.js","_app/immutable/chunks/Ml4JR6Jz2.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/JPJd4fEI.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js","_app/immutable/chunks/wI_OOyoh.js"];
280
+ const imports = ["_app/immutable/nodes/26.CZ-vCPq6.js","_app/immutable/chunks/Cq8SkApb.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/Dw--1J0g.js","_app/immutable/chunks/DhhrVdfi.js","_app/immutable/chunks/DGRYMk-W.js","_app/immutable/chunks/DsQIgu-4.js","_app/immutable/chunks/CxbvtjIH.js","_app/immutable/chunks/DYQphR_V.js","_app/immutable/chunks/CXTCtOUQ.js","_app/immutable/chunks/DOqzs8kl2.js","_app/immutable/chunks/DF_4OWhj.js","_app/immutable/chunks/CdqDTozW.js","_app/immutable/chunks/D7w7HllH.js","_app/immutable/chunks/DB5ifLM-.js","_app/immutable/chunks/B2_6RrlL2.js","_app/immutable/chunks/CdPxoldu.js","_app/immutable/chunks/DtNkZUkq.js","_app/immutable/chunks/Ml4JR6Jz2.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/JPJd4fEI.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js","_app/immutable/chunks/wI_OOyoh.js"];
281
281
  const stylesheets = ["_app/immutable/assets/StatBlock.DX6OXz7z.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/tasks.BZWJL4jq.css","_app/immutable/assets/HeroHeader.ByXNeezk.css","_app/immutable/assets/26.Bc1bH1ab.css"];
282
282
  const fonts = [];
283
283
 
284
284
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
285
- //# sourceMappingURL=26-CY8x0KNI.js.map
285
+ //# sourceMappingURL=26-CY_OLXcd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"26-CY8x0KNI.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/26.js"],"sourcesContent":["import { o as getTasksDb } from \"../../../../chunks/connections2.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { spawnSync } from \"node:child_process\";\n//#region src/routes/tasks/[id]/+page.server.ts\n/**\n* Task detail page server load — single task, subtasks, verification, acceptance,\n* notes, MANIFEST artifacts, and linked git commits.\n*\n* @task T723\n*/\n/**\n* Load manifest entries for a task from the legacy flat-file (migration read-back).\n* ADR-027: canonical store is pipeline_manifest in tasks.db, accessed via `cleo manifest` CLI.\n*/\nfunction loadManifestEntries(projectPath, taskId) {\n\tconst manifestPath = join(projectPath, \".cleo\", \"agent-outputs\", [\"MANIFEST\", \"jsonl\"].join(\".\"));\n\tif (!existsSync(manifestPath)) return [];\n\ttry {\n\t\tconst lines = readFileSync(manifestPath, \"utf8\").split(\"\\n\").filter(Boolean);\n\t\tconst results = [];\n\t\tfor (const line of lines) try {\n\t\t\tconst raw = JSON.parse(line);\n\t\t\tconst taskField = String(raw[\"task\"] ?? \"\");\n\t\t\tconst linkedTasks = Array.isArray(raw[\"linked_tasks\"]) ? raw[\"linked_tasks\"] : [];\n\t\t\tconst entryId = String(raw[\"id\"] ?? \"\");\n\t\t\tif (!(taskField === taskId || linkedTasks.includes(taskId) || entryId.startsWith(`${taskId}-`))) continue;\n\t\t\tconst files = [];\n\t\t\tif (Array.isArray(raw[\"files\"])) files.push(...raw[\"files\"]);\n\t\t\tif (typeof raw[\"file\"] === \"string\") files.push(raw[\"file\"]);\n\t\t\tresults.push({\n\t\t\t\tid: entryId,\n\t\t\t\ttask: taskField || taskId,\n\t\t\t\ttype: String(raw[\"type\"] ?? raw[\"agent_type\"] ?? \"unknown\"),\n\t\t\t\tstatus: String(raw[\"status\"] ?? \"unknown\"),\n\t\t\t\tdate: String(raw[\"date\"] ?? raw[\"timestamp\"] ?? \"\"),\n\t\t\t\ttitle: raw[\"title\"] != null ? String(raw[\"title\"]) : null,\n\t\t\t\tsummary: raw[\"summary\"] != null ? String(raw[\"summary\"]) : null,\n\t\t\t\toutput: raw[\"output\"] != null ? String(raw[\"output\"]) : raw[\"outputFile\"] != null ? String(raw[\"outputFile\"]) : null,\n\t\t\t\tfiles,\n\t\t\t\tlinked_tasks: linkedTasks\n\t\t\t});\n\t\t} catch {}\n\t\treturn results;\n\t} catch {\n\t\treturn [];\n\t}\n}\n/**\n* Query git log for commits whose subject line mentions the task ID.\n* Returns up to 20 matching commits, each with their changed files.\n*/\nfunction loadLinkedCommits(projectPath, taskId) {\n\ttry {\n\t\tconst result = spawnSync(\"git\", [\n\t\t\t\"log\",\n\t\t\t\"--all\",\n\t\t\t\"--oneline\",\n\t\t\t\"--format=%H|%s|%ai\",\n\t\t\t`--grep=${taskId}`,\n\t\t\t\"-n\",\n\t\t\t\"20\"\n\t\t], {\n\t\t\tcwd: projectPath,\n\t\t\tencoding: \"utf8\",\n\t\t\ttimeout: 5e3\n\t\t});\n\t\tif (result.status !== 0 || !result.stdout?.trim()) return [];\n\t\tconst commits = [];\n\t\tfor (const line of result.stdout.trim().split(\"\\n\")) {\n\t\t\tconst parts = line.split(\"|\");\n\t\t\tif (parts.length < 2) continue;\n\t\t\tconst sha = parts[0]?.trim() ?? \"\";\n\t\t\tconst subject = parts[1]?.trim() ?? \"\";\n\t\t\tconst date = parts[2]?.trim() ?? \"\";\n\t\t\tif (!sha) continue;\n\t\t\tconst filesResult = spawnSync(\"git\", [\n\t\t\t\t\"diff-tree\",\n\t\t\t\t\"--no-commit-id\",\n\t\t\t\t\"-r\",\n\t\t\t\t\"--name-only\",\n\t\t\t\tsha\n\t\t\t], {\n\t\t\t\tcwd: projectPath,\n\t\t\t\tencoding: \"utf8\",\n\t\t\t\ttimeout: 3e3\n\t\t\t});\n\t\t\tconst files = filesResult.status === 0 ? filesResult.stdout.trim().split(\"\\n\").filter(Boolean) : [];\n\t\t\tcommits.push({\n\t\t\t\tsha: sha.slice(0, 8),\n\t\t\t\tsubject,\n\t\t\t\tdate,\n\t\t\t\tfiles\n\t\t\t});\n\t\t}\n\t\treturn commits;\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar load = ({ locals, params }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tif (!db) error(503, \"tasks.db unavailable\");\n\tconst { id } = params;\n\tconst row = db.prepare(`SELECT id, title, description, status, priority, type, parent_id,\n pipeline_stage, size, phase, labels_json, acceptance_json,\n verification_json, notes_json, created_at, updated_at, completed_at,\n assignee, session_id\n FROM tasks WHERE id = ?`).get(id);\n\tif (!row) error(404, `Task ${id} not found`);\n\tlet verification = null;\n\ttry {\n\t\tif (row.verification_json) verification = JSON.parse(row.verification_json);\n\t} catch {}\n\tlet acceptance = [];\n\ttry {\n\t\tif (row.acceptance_json) acceptance = JSON.parse(row.acceptance_json);\n\t} catch {}\n\tlet labels = [];\n\ttry {\n\t\tif (row.labels_json) labels = JSON.parse(row.labels_json);\n\t} catch {}\n\tlet notes = [];\n\ttry {\n\t\tif (row.notes_json) notes = JSON.parse(row.notes_json);\n\t} catch {}\n\tconst task = {\n\t\tid: row.id,\n\t\ttitle: row.title,\n\t\tdescription: row.description,\n\t\tstatus: row.status,\n\t\tpriority: row.priority,\n\t\ttype: row.type,\n\t\tparent_id: row.parent_id,\n\t\tpipeline_stage: row.pipeline_stage,\n\t\tsize: row.size,\n\t\tphase: row.phase,\n\t\tcreated_at: row.created_at,\n\t\tupdated_at: row.updated_at,\n\t\tcompleted_at: row.completed_at,\n\t\tassignee: row.assignee,\n\t\tsession_id: row.session_id,\n\t\tverification,\n\t\tacceptance,\n\t\tlabels,\n\t\tnotes,\n\t\tupstream: [],\n\t\tdownstream: []\n\t};\n\tconst subtasks = db.prepare(`SELECT id, title, status, priority, type, pipeline_stage, size,\n verification_json, acceptance_json, created_at, completed_at\n FROM tasks WHERE parent_id = ?\n ORDER BY position ASC, created_at ASC`).all(id);\n\tconst upstream = db.prepare(`SELECT t.id, t.title, t.status, t.priority\n FROM tasks t\n INNER JOIN task_dependencies td ON td.depends_on = t.id\n WHERE td.task_id = ?\n ORDER BY t.id ASC`).all(id);\n\tconst downstream = db.prepare(`SELECT t.id, t.title, t.status, t.priority\n FROM tasks t\n INNER JOIN task_dependencies td ON td.task_id = t.id\n WHERE td.depends_on = ?\n ORDER BY t.id ASC`).all(id);\n\ttask.upstream = upstream;\n\ttask.downstream = downstream;\n\tlet parent = null;\n\tif (row.parent_id) parent = db.prepare(\"SELECT id, title, type FROM tasks WHERE id = ?\").get(row.parent_id) ?? null;\n\tconst projectPath = locals.projectCtx.projectPath;\n\tconst manifestEntries = loadManifestEntries(projectPath, id);\n\tconst linkedCommits = loadLinkedCommits(projectPath, id);\n\treturn {\n\t\ttask,\n\t\tsubtasks,\n\t\tparent,\n\t\tmanifestEntries,\n\t\tlinkedCommits\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tasks/_id_/_page.server.ts.js';\n\nexport const index = 26;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/26.BBRbdwIG.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/wI_OOyoh.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/26.Bc1bH1ab.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"26-CY_OLXcd.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/26.js"],"sourcesContent":["import { o as getTasksDb } from \"../../../../chunks/connections2.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { spawnSync } from \"node:child_process\";\n//#region src/routes/tasks/[id]/+page.server.ts\n/**\n* Task detail page server load — single task, subtasks, verification, acceptance,\n* notes, MANIFEST artifacts, and linked git commits.\n*\n* @task T723\n*/\n/**\n* Load manifest entries for a task from the legacy flat-file (migration read-back).\n* ADR-027: canonical store is pipeline_manifest in tasks.db, accessed via `cleo manifest` CLI.\n*/\nfunction loadManifestEntries(projectPath, taskId) {\n\tconst manifestPath = join(projectPath, \".cleo\", \"agent-outputs\", [\"MANIFEST\", \"jsonl\"].join(\".\"));\n\tif (!existsSync(manifestPath)) return [];\n\ttry {\n\t\tconst lines = readFileSync(manifestPath, \"utf8\").split(\"\\n\").filter(Boolean);\n\t\tconst results = [];\n\t\tfor (const line of lines) try {\n\t\t\tconst raw = JSON.parse(line);\n\t\t\tconst taskField = String(raw[\"task\"] ?? \"\");\n\t\t\tconst linkedTasks = Array.isArray(raw[\"linked_tasks\"]) ? raw[\"linked_tasks\"] : [];\n\t\t\tconst entryId = String(raw[\"id\"] ?? \"\");\n\t\t\tif (!(taskField === taskId || linkedTasks.includes(taskId) || entryId.startsWith(`${taskId}-`))) continue;\n\t\t\tconst files = [];\n\t\t\tif (Array.isArray(raw[\"files\"])) files.push(...raw[\"files\"]);\n\t\t\tif (typeof raw[\"file\"] === \"string\") files.push(raw[\"file\"]);\n\t\t\tresults.push({\n\t\t\t\tid: entryId,\n\t\t\t\ttask: taskField || taskId,\n\t\t\t\ttype: String(raw[\"type\"] ?? raw[\"agent_type\"] ?? \"unknown\"),\n\t\t\t\tstatus: String(raw[\"status\"] ?? \"unknown\"),\n\t\t\t\tdate: String(raw[\"date\"] ?? raw[\"timestamp\"] ?? \"\"),\n\t\t\t\ttitle: raw[\"title\"] != null ? String(raw[\"title\"]) : null,\n\t\t\t\tsummary: raw[\"summary\"] != null ? String(raw[\"summary\"]) : null,\n\t\t\t\toutput: raw[\"output\"] != null ? String(raw[\"output\"]) : raw[\"outputFile\"] != null ? String(raw[\"outputFile\"]) : null,\n\t\t\t\tfiles,\n\t\t\t\tlinked_tasks: linkedTasks\n\t\t\t});\n\t\t} catch {}\n\t\treturn results;\n\t} catch {\n\t\treturn [];\n\t}\n}\n/**\n* Query git log for commits whose subject line mentions the task ID.\n* Returns up to 20 matching commits, each with their changed files.\n*/\nfunction loadLinkedCommits(projectPath, taskId) {\n\ttry {\n\t\tconst result = spawnSync(\"git\", [\n\t\t\t\"log\",\n\t\t\t\"--all\",\n\t\t\t\"--oneline\",\n\t\t\t\"--format=%H|%s|%ai\",\n\t\t\t`--grep=${taskId}`,\n\t\t\t\"-n\",\n\t\t\t\"20\"\n\t\t], {\n\t\t\tcwd: projectPath,\n\t\t\tencoding: \"utf8\",\n\t\t\ttimeout: 5e3\n\t\t});\n\t\tif (result.status !== 0 || !result.stdout?.trim()) return [];\n\t\tconst commits = [];\n\t\tfor (const line of result.stdout.trim().split(\"\\n\")) {\n\t\t\tconst parts = line.split(\"|\");\n\t\t\tif (parts.length < 2) continue;\n\t\t\tconst sha = parts[0]?.trim() ?? \"\";\n\t\t\tconst subject = parts[1]?.trim() ?? \"\";\n\t\t\tconst date = parts[2]?.trim() ?? \"\";\n\t\t\tif (!sha) continue;\n\t\t\tconst filesResult = spawnSync(\"git\", [\n\t\t\t\t\"diff-tree\",\n\t\t\t\t\"--no-commit-id\",\n\t\t\t\t\"-r\",\n\t\t\t\t\"--name-only\",\n\t\t\t\tsha\n\t\t\t], {\n\t\t\t\tcwd: projectPath,\n\t\t\t\tencoding: \"utf8\",\n\t\t\t\ttimeout: 3e3\n\t\t\t});\n\t\t\tconst files = filesResult.status === 0 ? filesResult.stdout.trim().split(\"\\n\").filter(Boolean) : [];\n\t\t\tcommits.push({\n\t\t\t\tsha: sha.slice(0, 8),\n\t\t\t\tsubject,\n\t\t\t\tdate,\n\t\t\t\tfiles\n\t\t\t});\n\t\t}\n\t\treturn commits;\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar load = ({ locals, params }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tif (!db) error(503, \"tasks.db unavailable\");\n\tconst { id } = params;\n\tconst row = db.prepare(`SELECT id, title, description, status, priority, type, parent_id,\n pipeline_stage, size, phase, labels_json, acceptance_json,\n verification_json, notes_json, created_at, updated_at, completed_at,\n assignee, session_id\n FROM tasks WHERE id = ?`).get(id);\n\tif (!row) error(404, `Task ${id} not found`);\n\tlet verification = null;\n\ttry {\n\t\tif (row.verification_json) verification = JSON.parse(row.verification_json);\n\t} catch {}\n\tlet acceptance = [];\n\ttry {\n\t\tif (row.acceptance_json) acceptance = JSON.parse(row.acceptance_json);\n\t} catch {}\n\tlet labels = [];\n\ttry {\n\t\tif (row.labels_json) labels = JSON.parse(row.labels_json);\n\t} catch {}\n\tlet notes = [];\n\ttry {\n\t\tif (row.notes_json) notes = JSON.parse(row.notes_json);\n\t} catch {}\n\tconst task = {\n\t\tid: row.id,\n\t\ttitle: row.title,\n\t\tdescription: row.description,\n\t\tstatus: row.status,\n\t\tpriority: row.priority,\n\t\ttype: row.type,\n\t\tparent_id: row.parent_id,\n\t\tpipeline_stage: row.pipeline_stage,\n\t\tsize: row.size,\n\t\tphase: row.phase,\n\t\tcreated_at: row.created_at,\n\t\tupdated_at: row.updated_at,\n\t\tcompleted_at: row.completed_at,\n\t\tassignee: row.assignee,\n\t\tsession_id: row.session_id,\n\t\tverification,\n\t\tacceptance,\n\t\tlabels,\n\t\tnotes,\n\t\tupstream: [],\n\t\tdownstream: []\n\t};\n\tconst subtasks = db.prepare(`SELECT id, title, status, priority, type, pipeline_stage, size,\n verification_json, acceptance_json, created_at, completed_at\n FROM tasks WHERE parent_id = ?\n ORDER BY position ASC, created_at ASC`).all(id);\n\tconst upstream = db.prepare(`SELECT t.id, t.title, t.status, t.priority\n FROM tasks t\n INNER JOIN task_dependencies td ON td.depends_on = t.id\n WHERE td.task_id = ?\n ORDER BY t.id ASC`).all(id);\n\tconst downstream = db.prepare(`SELECT t.id, t.title, t.status, t.priority\n FROM tasks t\n INNER JOIN task_dependencies td ON td.task_id = t.id\n WHERE td.depends_on = ?\n ORDER BY t.id ASC`).all(id);\n\ttask.upstream = upstream;\n\ttask.downstream = downstream;\n\tlet parent = null;\n\tif (row.parent_id) parent = db.prepare(\"SELECT id, title, type FROM tasks WHERE id = ?\").get(row.parent_id) ?? null;\n\tconst projectPath = locals.projectCtx.projectPath;\n\tconst manifestEntries = loadManifestEntries(projectPath, id);\n\tconst linkedCommits = loadLinkedCommits(projectPath, id);\n\treturn {\n\t\ttask,\n\t\tsubtasks,\n\t\tparent,\n\t\tmanifestEntries,\n\t\tlinkedCommits\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tasks/_id_/_page.server.ts.js';\n\nexport const index = 26;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/26.CZ-vCPq6.js\",\"_app/immutable/chunks/Cq8SkApb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Dw--1J0g.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/wI_OOyoh.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/26.Bc1bH1ab.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -625,11 +625,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
625
625
 
626
626
  const index = 3;
627
627
  let component_cache;
628
- const component = async () => component_cache ??= (await import('./_page.svelte-DmTXiXKT.js')).default;
628
+ const component = async () => component_cache ??= (await import('./_page.svelte-BuVX3kf2.js')).default;
629
629
  const server_id = "src/routes/brain/+page.server.ts";
630
- const imports = ["_app/immutable/nodes/3.DMYcrZeG.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/CKXdW4mW.js","_app/immutable/chunks/DrfFUIvQ.js","_app/immutable/chunks/Bxz2A0ZC.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js"];
630
+ const imports = ["_app/immutable/nodes/3.B1Ua25St.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/DQE2lHpR.js","_app/immutable/chunks/Cq8SkApb.js","_app/immutable/chunks/Bxz2A0ZC.js","_app/immutable/chunks/djL6V-tr.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js"];
631
631
  const stylesheets = ["_app/immutable/assets/cluster-label-layer.aRgASjnn.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/ThreeBrainRenderer.BSwu9fuL.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/3.DqDkvXKx.css"];
632
632
  const fonts = [];
633
633
 
634
634
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
635
- //# sourceMappingURL=3-p3RwD-FY.js.map
635
+ //# sourceMappingURL=3-CbodebGY.js.map