@cleocode/cleo 2026.9.6 → 2026.9.7

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 (382) hide show
  1. package/dist/cli/index.js +31 -2
  2. package/dist/cli/index.js.map +1 -1
  3. package/package.json +13 -13
  4. package/scripts/copy-studio-dist.mjs +97 -3
  5. package/studio-dist/client/_app/immutable/chunks/BGmpyfzD.js +1 -0
  6. package/studio-dist/client/_app/immutable/chunks/{DQE2lHpR.js → DVHIxkgs.js} +1 -1
  7. package/studio-dist/client/_app/immutable/chunks/{Cq8SkApb.js → TX-23QW3.js} +1 -1
  8. package/studio-dist/client/_app/immutable/chunks/{B4pbMhWh.js → eK8hf4s7.js} +1 -1
  9. package/studio-dist/client/_app/immutable/entry/{app.AO-dq23l.js → app.BoQ7cgT2.js} +2 -2
  10. package/studio-dist/client/_app/immutable/entry/start.Cg1v8DU4.js +1 -0
  11. package/studio-dist/client/_app/immutable/nodes/{0.pcHH7cls.js → 0.CZzEEyVh.js} +1 -1
  12. package/studio-dist/client/_app/immutable/nodes/{1.BZ_6sEg7.js → 1.Bj3Opbua.js} +1 -1
  13. package/studio-dist/client/_app/immutable/nodes/{15.C49XuRDg.js → 15.BfXgiwMC.js} +1 -1
  14. package/studio-dist/client/_app/immutable/nodes/{16.D_IEqgU8.js → 16.mEwy9cqh.js} +1 -1
  15. package/studio-dist/client/_app/immutable/nodes/{17.DMmmyyKw.js → 17.DP2QtQGn.js} +1 -1
  16. package/studio-dist/client/_app/immutable/nodes/{18.BeHgL2ha.js → 18.Bu0054sX.js} +1 -1
  17. package/studio-dist/client/_app/immutable/nodes/{20.ByQCOFEK.js → 20.B1AIHdkP.js} +1 -1
  18. package/studio-dist/client/_app/immutable/nodes/{24.DKhWVVfG.js → 24.BUoUu37z.js} +1 -1
  19. package/studio-dist/client/_app/immutable/nodes/{25.BS4Qyw38.js → 25.ddZ1_EFk.js} +1 -1
  20. package/studio-dist/client/_app/immutable/nodes/{26.CZ-vCPq6.js → 26.6OcmQbLV.js} +1 -1
  21. package/studio-dist/client/_app/immutable/nodes/{3.B1Ua25St.js → 3.Dyir4xXj.js} +1 -1
  22. package/studio-dist/client/_app/version.json +1 -1
  23. package/studio-dist/server/chunks/{0-BkBuauLU.js → 0-CvsKDxQ6.js} +3 -3
  24. package/studio-dist/server/chunks/{1-C-FPVHUW.js → 1-ck_x2Hf0.js} +3 -3
  25. package/studio-dist/server/chunks/{15-BEk78EBu.js → 15-BvUNl3KL.js} +3 -3
  26. package/studio-dist/server/chunks/{16-BzISLvSG.js → 16-De6EzPSa.js} +3 -3
  27. package/studio-dist/server/chunks/{17-DGt4P3nJ.js → 17-CZNsiZhi.js} +3 -3
  28. package/studio-dist/server/chunks/{18-DLGcIwmV.js → 18-CbxxjZox.js} +3 -3
  29. package/studio-dist/server/chunks/{20-BvcOxe5q.js → 20-DVU22np7.js} +3 -3
  30. package/studio-dist/server/chunks/{24-DlzL0G3_.js → 24-CVlymvLF.js} +3 -3
  31. package/studio-dist/server/chunks/{25-BkcpAlfJ.js → 25-CAg6Xcmn.js} +3 -3
  32. package/studio-dist/server/chunks/{26-CY_OLXcd.js → 26-_nfVTvNi.js} +3 -3
  33. package/studio-dist/server/chunks/{3-CbodebGY.js → 3-B8KhfvHp.js} +3 -3
  34. package/studio-dist/server/chunks/{_layout.svelte-B31p5awD.js → _layout.svelte-BEIGQcIv.js} +4 -4
  35. package/studio-dist/server/chunks/{_page.svelte-C6P8rRvk.js → _page.svelte-2cgtvHwW.js} +3 -3
  36. package/studio-dist/server/chunks/{_page.svelte-BdTlq0Gh.js → _page.svelte-9OQphlnm.js} +4 -4
  37. package/studio-dist/server/chunks/{_page.svelte-h0JOhZab.js → _page.svelte-BIlhmugm.js} +3 -3
  38. package/studio-dist/server/chunks/{_page.svelte-DR0AY_gZ.js → _page.svelte-BgwL2Gyu.js} +3 -3
  39. package/studio-dist/server/chunks/{_page.svelte-EWYHbzl0.js → _page.svelte-C_VSL8NW.js} +4 -4
  40. package/studio-dist/server/chunks/{_page.svelte-CFnkQk35.js → _page.svelte-DOWw416I.js} +3 -3
  41. package/studio-dist/server/chunks/{_page.svelte-BIIvdH13.js → _page.svelte-Wfx7ww_h.js} +3 -3
  42. package/studio-dist/server/chunks/{_page.svelte-CfjdIh3A.js → _page.svelte-l4Z_xjl9.js} +3 -3
  43. package/studio-dist/server/chunks/{_page.svelte-BuVX3kf2.js → _page.svelte-tYN7_LXI.js} +3 -3
  44. package/studio-dist/server/chunks/{client-2rpcRzcr.js → client-CgX38JBu.js} +2 -2
  45. package/studio-dist/server/chunks/{error.svelte-CpckcxW6.js → error.svelte-CplNulnS.js} +3 -3
  46. package/studio-dist/server/chunks/{internal-xyE_opYp.js → internal-D6eWgsHJ.js} +2 -2
  47. package/studio-dist/server/chunks/{stores-BcV2X8z1.js → stores-5DmdjPCH.js} +2 -2
  48. package/studio-dist/server/index.js +1 -1
  49. package/studio-dist/server/manifest.js +12 -12
  50. package/studio-dist/client/_app/immutable/assets/ort-wasm-simd-threaded.asyncify.BrebZMa_.wasm +0 -0
  51. package/studio-dist/client/_app/immutable/chunks/Dw--1J0g.js +0 -1
  52. package/studio-dist/client/_app/immutable/entry/start.DyU3_ZJI.js +0 -1
  53. package/studio-dist/server/chunks/0-BkBuauLU.js.map +0 -1
  54. package/studio-dist/server/chunks/1-C-FPVHUW.js.map +0 -1
  55. package/studio-dist/server/chunks/10-DvOD4ksa.js.map +0 -1
  56. package/studio-dist/server/chunks/11-DMnBZ02H.js.map +0 -1
  57. package/studio-dist/server/chunks/12-CCyRyRWX.js.map +0 -1
  58. package/studio-dist/server/chunks/13-Dx1c3a_X.js.map +0 -1
  59. package/studio-dist/server/chunks/14-Bo-dTCaZ.js.map +0 -1
  60. package/studio-dist/server/chunks/15-BEk78EBu.js.map +0 -1
  61. package/studio-dist/server/chunks/16-BzISLvSG.js.map +0 -1
  62. package/studio-dist/server/chunks/17-DGt4P3nJ.js.map +0 -1
  63. package/studio-dist/server/chunks/18-DLGcIwmV.js.map +0 -1
  64. package/studio-dist/server/chunks/19-DqHyladS.js.map +0 -1
  65. package/studio-dist/server/chunks/2-COvmA-ZA.js.map +0 -1
  66. package/studio-dist/server/chunks/20-BvcOxe5q.js.map +0 -1
  67. package/studio-dist/server/chunks/21-DXK9ptAC.js.map +0 -1
  68. package/studio-dist/server/chunks/22-DD5CLWJC.js.map +0 -1
  69. package/studio-dist/server/chunks/23-D_tUnnoc.js.map +0 -1
  70. package/studio-dist/server/chunks/24-DlzL0G3_.js.map +0 -1
  71. package/studio-dist/server/chunks/25-BkcpAlfJ.js.map +0 -1
  72. package/studio-dist/server/chunks/26-CY_OLXcd.js.map +0 -1
  73. package/studio-dist/server/chunks/27-C9edghG4.js.map +0 -1
  74. package/studio-dist/server/chunks/28-VemTJGyc.js.map +0 -1
  75. package/studio-dist/server/chunks/29-CXP-m29t.js.map +0 -1
  76. package/studio-dist/server/chunks/3-CbodebGY.js.map +0 -1
  77. package/studio-dist/server/chunks/30-QiM1S4cJ.js.map +0 -1
  78. package/studio-dist/server/chunks/31-BwdY9NnB.js.map +0 -1
  79. package/studio-dist/server/chunks/4-CSaG4HjO.js.map +0 -1
  80. package/studio-dist/server/chunks/5-i5ry4y3C.js.map +0 -1
  81. package/studio-dist/server/chunks/6-DR1GWBMT.js.map +0 -1
  82. package/studio-dist/server/chunks/7-DSNwn3aQ.js.map +0 -1
  83. package/studio-dist/server/chunks/8-Bj0bx07K.js.map +0 -1
  84. package/studio-dist/server/chunks/9-B3Tz0mZq.js.map +0 -1
  85. package/studio-dist/server/chunks/AwsRestJsonProtocol-BZuoNBmL.js.map +0 -1
  86. package/studio-dist/server/chunks/HeroHeader-v4Q9vaGr.js.map +0 -1
  87. package/studio-dist/server/chunks/Sparkline-BJ-GuhRd.js.map +0 -1
  88. package/studio-dist/server/chunks/StatBlock-DHJMmOCx.js.map +0 -1
  89. package/studio-dist/server/chunks/Tabs-DzG6Bn9a.js.map +0 -1
  90. package/studio-dist/server/chunks/UnionSerde-BflIkhKj.js.map +0 -1
  91. package/studio-dist/server/chunks/_dispatch-ncuRztUQ.js.map +0 -1
  92. package/studio-dist/server/chunks/_lafs-C3_fBF_X.js.map +0 -1
  93. package/studio-dist/server/chunks/_layout.svelte-B31p5awD.js.map +0 -1
  94. package/studio-dist/server/chunks/_page.svelte-BIIvdH13.js.map +0 -1
  95. package/studio-dist/server/chunks/_page.svelte-BVVTrzTL.js.map +0 -1
  96. package/studio-dist/server/chunks/_page.svelte-BXyoMME1.js.map +0 -1
  97. package/studio-dist/server/chunks/_page.svelte-B_pq-Z98.js.map +0 -1
  98. package/studio-dist/server/chunks/_page.svelte-BdTlq0Gh.js.map +0 -1
  99. package/studio-dist/server/chunks/_page.svelte-BuVX3kf2.js.map +0 -1
  100. package/studio-dist/server/chunks/_page.svelte-Byz2djto.js.map +0 -1
  101. package/studio-dist/server/chunks/_page.svelte-C3aIui4o.js.map +0 -1
  102. package/studio-dist/server/chunks/_page.svelte-C6P8rRvk.js.map +0 -1
  103. package/studio-dist/server/chunks/_page.svelte-CCoTp89s.js.map +0 -1
  104. package/studio-dist/server/chunks/_page.svelte-CFnkQk35.js.map +0 -1
  105. package/studio-dist/server/chunks/_page.svelte-CHzXuw2Q.js.map +0 -1
  106. package/studio-dist/server/chunks/_page.svelte-CYDjW1R0.js.map +0 -1
  107. package/studio-dist/server/chunks/_page.svelte-CfjdIh3A.js.map +0 -1
  108. package/studio-dist/server/chunks/_page.svelte-Clbkk1gm.js.map +0 -1
  109. package/studio-dist/server/chunks/_page.svelte-CophUar3.js.map +0 -1
  110. package/studio-dist/server/chunks/_page.svelte-DR0AY_gZ.js.map +0 -1
  111. package/studio-dist/server/chunks/_page.svelte-DUWbZjC7.js.map +0 -1
  112. package/studio-dist/server/chunks/_page.svelte-DYNorA0S.js.map +0 -1
  113. package/studio-dist/server/chunks/_page.svelte-EWYHbzl0.js.map +0 -1
  114. package/studio-dist/server/chunks/_page.svelte-EkXO_YfN.js.map +0 -1
  115. package/studio-dist/server/chunks/_page.svelte-M5D2QnMS.js.map +0 -1
  116. package/studio-dist/server/chunks/_page.svelte-UYiF7YBK.js.map +0 -1
  117. package/studio-dist/server/chunks/_page.svelte-al08ovKm.js.map +0 -1
  118. package/studio-dist/server/chunks/_page.svelte-bGhsrIjS.js.map +0 -1
  119. package/studio-dist/server/chunks/_page.svelte-h0JOhZab.js.map +0 -1
  120. package/studio-dist/server/chunks/_page.svelte-ksTJUXce.js.map +0 -1
  121. package/studio-dist/server/chunks/_page.svelte-nzffIbBP.js.map +0 -1
  122. package/studio-dist/server/chunks/_server.ts-4NyKAneX.js.map +0 -1
  123. package/studio-dist/server/chunks/_server.ts-4p6cp9ke.js.map +0 -1
  124. package/studio-dist/server/chunks/_server.ts-7hGdxdEI.js.map +0 -1
  125. package/studio-dist/server/chunks/_server.ts-B2E7fxo9.js.map +0 -1
  126. package/studio-dist/server/chunks/_server.ts-B5g3eScF.js.map +0 -1
  127. package/studio-dist/server/chunks/_server.ts-B6b3b-yA.js.map +0 -1
  128. package/studio-dist/server/chunks/_server.ts-BOgGqaZp.js.map +0 -1
  129. package/studio-dist/server/chunks/_server.ts-BPcErnS0.js.map +0 -1
  130. package/studio-dist/server/chunks/_server.ts-BT0Uq2yq.js.map +0 -1
  131. package/studio-dist/server/chunks/_server.ts-BV1HiKZ0.js.map +0 -1
  132. package/studio-dist/server/chunks/_server.ts-BWp3g6Cr.js.map +0 -1
  133. package/studio-dist/server/chunks/_server.ts-BdN4AJ6o.js.map +0 -1
  134. package/studio-dist/server/chunks/_server.ts-Bfr4u3EP.js.map +0 -1
  135. package/studio-dist/server/chunks/_server.ts-Bw7A4zgb.js.map +0 -1
  136. package/studio-dist/server/chunks/_server.ts-C3Jo-ju8.js.map +0 -1
  137. package/studio-dist/server/chunks/_server.ts-C4BcDGqS.js.map +0 -1
  138. package/studio-dist/server/chunks/_server.ts-C5NF-UgC.js.map +0 -1
  139. package/studio-dist/server/chunks/_server.ts-CDMurH5m.js.map +0 -1
  140. package/studio-dist/server/chunks/_server.ts-CGiAXy5i.js.map +0 -1
  141. package/studio-dist/server/chunks/_server.ts-CJA1djzJ.js.map +0 -1
  142. package/studio-dist/server/chunks/_server.ts-COJHCgbq.js.map +0 -1
  143. package/studio-dist/server/chunks/_server.ts-CShsBkeE.js.map +0 -1
  144. package/studio-dist/server/chunks/_server.ts-CUl-Utkt.js.map +0 -1
  145. package/studio-dist/server/chunks/_server.ts-CboRJY0Q.js.map +0 -1
  146. package/studio-dist/server/chunks/_server.ts-CkoJ2HCW.js.map +0 -1
  147. package/studio-dist/server/chunks/_server.ts-CpmMp5D8.js.map +0 -1
  148. package/studio-dist/server/chunks/_server.ts-Cq60m8Pw.js.map +0 -1
  149. package/studio-dist/server/chunks/_server.ts-Cz0zgaUV.js.map +0 -1
  150. package/studio-dist/server/chunks/_server.ts-D0GAFJRb.js.map +0 -1
  151. package/studio-dist/server/chunks/_server.ts-DA6p3pmi.js.map +0 -1
  152. package/studio-dist/server/chunks/_server.ts-DRVz9D-J.js.map +0 -1
  153. package/studio-dist/server/chunks/_server.ts-DSAv66wD.js.map +0 -1
  154. package/studio-dist/server/chunks/_server.ts-DSzRdt1U.js.map +0 -1
  155. package/studio-dist/server/chunks/_server.ts-DThYFaZj.js.map +0 -1
  156. package/studio-dist/server/chunks/_server.ts-DV6pzF-M.js.map +0 -1
  157. package/studio-dist/server/chunks/_server.ts-D_3Pm0gr.js.map +0 -1
  158. package/studio-dist/server/chunks/_server.ts-DcHxdMsm.js.map +0 -1
  159. package/studio-dist/server/chunks/_server.ts-DgbY5EB3.js.map +0 -1
  160. package/studio-dist/server/chunks/_server.ts-Dlfadh2I.js.map +0 -1
  161. package/studio-dist/server/chunks/_server.ts-DnE0f-iC.js.map +0 -1
  162. package/studio-dist/server/chunks/_server.ts-Do9RIPRo.js.map +0 -1
  163. package/studio-dist/server/chunks/_server.ts-DwTRjS4y.js.map +0 -1
  164. package/studio-dist/server/chunks/_server.ts-JallJnps.js.map +0 -1
  165. package/studio-dist/server/chunks/_server.ts-NEFTbJpM.js.map +0 -1
  166. package/studio-dist/server/chunks/_server.ts-ZS1_yMwR.js.map +0 -1
  167. package/studio-dist/server/chunks/_server.ts-_RJXtmfi.js.map +0 -1
  168. package/studio-dist/server/chunks/_server.ts-d-2NvRwX.js.map +0 -1
  169. package/studio-dist/server/chunks/_server.ts-hL92cV7Z.js.map +0 -1
  170. package/studio-dist/server/chunks/_server.ts-k2fApwOp.js.map +0 -1
  171. package/studio-dist/server/chunks/_server.ts-lPlBUIJX.js.map +0 -1
  172. package/studio-dist/server/chunks/_server.ts-rUWMLkIw.js.map +0 -1
  173. package/studio-dist/server/chunks/_server.ts-sv4pA808.js.map +0 -1
  174. package/studio-dist/server/chunks/_server.ts-tKMjUFUP.js.map +0 -1
  175. package/studio-dist/server/chunks/_server.ts-uUx7uT2Y.js.map +0 -1
  176. package/studio-dist/server/chunks/_server.ts-ujoDR2_g.js.map +0 -1
  177. package/studio-dist/server/chunks/abort-events-CDRAJSqb.js.map +0 -1
  178. package/studio-dist/server/chunks/adapters-BkMgPNUM.js.map +0 -1
  179. package/studio-dist/server/chunks/adapters2-CQ3PzoaK.js.map +0 -1
  180. package/studio-dist/server/chunks/api-mode2-3W-I1-XO.js.map +0 -1
  181. package/studio-dist/server/chunks/api2-CmNQzb0b.js.map +0 -1
  182. package/studio-dist/server/chunks/attention-consolidate-CidG1jfH.js.map +0 -1
  183. package/studio-dist/server/chunks/audit-log-BXVi9iyE.js.map +0 -1
  184. package/studio-dist/server/chunks/audit3-DMO_fUGp.js.map +0 -1
  185. package/studio-dist/server/chunks/auto-extract-B84La1Vs.js.map +0 -1
  186. package/studio-dist/server/chunks/brain-CXR7ZT7S.js.map +0 -1
  187. package/studio-dist/server/chunks/brain-consolidator-JGm6mzFf.js.map +0 -1
  188. package/studio-dist/server/chunks/brain-doctor-Dc2WqVbs.js.map +0 -1
  189. package/studio-dist/server/chunks/brain-embedding-Djw9ekXu.js.map +0 -1
  190. package/studio-dist/server/chunks/brain-lifecycle-BOOa876K.js.map +0 -1
  191. package/studio-dist/server/chunks/brain-maintenance-U6VvsvmK.js.map +0 -1
  192. package/studio-dist/server/chunks/brain-maintenance2-CwVSmfDT.js.map +0 -1
  193. package/studio-dist/server/chunks/brain-retrieval2-exR8mdgh.js.map +0 -1
  194. package/studio-dist/server/chunks/brain-search-CpSh-SNi.js.map +0 -1
  195. package/studio-dist/server/chunks/brain-search2-CwI2cXgg.js.map +0 -1
  196. package/studio-dist/server/chunks/brain-similarity-DI4yzm9e.js.map +0 -1
  197. package/studio-dist/server/chunks/brain-stdp2-BxSBIlSr.js.map +0 -1
  198. package/studio-dist/server/chunks/brain-writer-handlers-Dwu0QCAA.js.map +0 -1
  199. package/studio-dist/server/chunks/brain-writer-thread-6n7wI7Gy.js.map +0 -1
  200. package/studio-dist/server/chunks/branch-lock-Cq7zzmFK.js.map +0 -1
  201. package/studio-dist/server/chunks/branch-lock2-CmDc4CZW.js.map +0 -1
  202. package/studio-dist/server/chunks/cancelled-child-waiver-audit-DkesrN83.js.map +0 -1
  203. package/studio-dist/server/chunks/catalog-model-resolver-Bas9qnoP.js.map +0 -1
  204. package/studio-dist/server/chunks/catalog-model-resolver2-Cexk2TN0.js.map +0 -1
  205. package/studio-dist/server/chunks/catalog-resolver-CLot3XJO.js.map +0 -1
  206. package/studio-dist/server/chunks/catalog-resolver2-JmKb91kY.js.map +0 -1
  207. package/studio-dist/server/chunks/chunk-DDP5xfzh.js.map +0 -1
  208. package/studio-dist/server/chunks/cleo-home-CCfe6kAQ.js.map +0 -1
  209. package/studio-dist/server/chunks/cli-action-DQcaqcfn.js.map +0 -1
  210. package/studio-dist/server/chunks/client-2rpcRzcr.js.map +0 -1
  211. package/studio-dist/server/chunks/concrete-session2-bb_vxJ2N.js.map +0 -1
  212. package/studio-dist/server/chunks/config-DHj9CcFs.js.map +0 -1
  213. package/studio-dist/server/chunks/config2-F6PPIn7D.js.map +0 -1
  214. package/studio-dist/server/chunks/connections-BMGJVYcS.js.map +0 -1
  215. package/studio-dist/server/chunks/connections2-mi7mZqJM.js.map +0 -1
  216. package/studio-dist/server/chunks/credential-pool-vF6NdtT9.js.map +0 -1
  217. package/studio-dist/server/chunks/credentials-C7EJFf5O.js.map +0 -1
  218. package/studio-dist/server/chunks/credentials-store-CFygIuB2.js.map +0 -1
  219. package/studio-dist/server/chunks/cross-db-cleanup-1LWTUKPi.js.map +0 -1
  220. package/studio-dist/server/chunks/data-accessor-CWgVndbR.js.map +0 -1
  221. package/studio-dist/server/chunks/data-safety-central-DaFxK27G.js.map +0 -1
  222. package/studio-dist/server/chunks/decisions-CmVXV2-H.js.map +0 -1
  223. package/studio-dist/server/chunks/decisions2-XQsSYdxa.js.map +0 -1
  224. package/studio-dist/server/chunks/depends-waiver-audit-CUmlBYHx.js.map +0 -1
  225. package/studio-dist/server/chunks/dev-BNpEUZI3.js.map +0 -1
  226. package/studio-dist/server/chunks/dialectic-evaluator2-BOyyXhdI.js.map +0 -1
  227. package/studio-dist/server/chunks/dist-es2-DQy2Mjn_.js.map +0 -1
  228. package/studio-dist/server/chunks/dist-es3-CBygU4n5.js.map +0 -1
  229. package/studio-dist/server/chunks/dist-es4-CavbNu4B.js.map +0 -1
  230. package/studio-dist/server/chunks/dist-es5-Crpm8Wsl.js.map +0 -1
  231. package/studio-dist/server/chunks/dist-es6-CgePHzh4.js.map +0 -1
  232. package/studio-dist/server/chunks/dist-es7-k6c5GEd7.js.map +0 -1
  233. package/studio-dist/server/chunks/dist-es8-Bd9v0_pE.js.map +0 -1
  234. package/studio-dist/server/chunks/dist3-23bsJhRw.js.map +0 -1
  235. package/studio-dist/server/chunks/dist4-DmC1zSXi.js.map +0 -1
  236. package/studio-dist/server/chunks/dual-scope-db-DKnWu1KM.js.map +0 -1
  237. package/studio-dist/server/chunks/dual-scope-db2-Dht3luRw.js.map +0 -1
  238. package/studio-dist/server/chunks/duplicate-bypass-audit-BN5w1H2y.js.map +0 -1
  239. package/studio-dist/server/chunks/duplicate-detector-CaVFMKdE.js.map +0 -1
  240. package/studio-dist/server/chunks/edge-types-CgBvb0w1.js.map +0 -1
  241. package/studio-dist/server/chunks/embedding-local-xEnym8Ho.js.map +0 -1
  242. package/studio-dist/server/chunks/error.svelte-CpckcxW6.js.map +0 -1
  243. package/studio-dist/server/chunks/event-streams-Bi2p_fVo.js.map +0 -1
  244. package/studio-dist/server/chunks/execution-learning-BVCw7Plq.js.map +0 -1
  245. package/studio-dist/server/chunks/exodus-BBuuN6aA.js.map +0 -1
  246. package/studio-dist/server/chunks/explorer-loader-BN_mkt3_.js.map +0 -1
  247. package/studio-dist/server/chunks/externalDataInterceptor-C3C4cObe.js.map +0 -1
  248. package/studio-dist/server/chunks/extraction-gate-DDNBq7gu.js.map +0 -1
  249. package/studio-dist/server/chunks/extraction-gate2-D77EZBQ6.js.map +0 -1
  250. package/studio-dist/server/chunks/getSSOTokenFromFile-yZAJxDci.js.map +0 -1
  251. package/studio-dist/server/chunks/governor2-CtfV3wfX.js.map +0 -1
  252. package/studio-dist/server/chunks/graph-auto-populate-Dmsr9ZJM.js.map +0 -1
  253. package/studio-dist/server/chunks/graph-auto-populate2-Cz0qeebM.js.map +0 -1
  254. package/studio-dist/server/chunks/graph-memory-bridge-CY8ft_d7.js.map +0 -1
  255. package/studio-dist/server/chunks/graph-memory-bridge2-Cd0XZwqc.js.map +0 -1
  256. package/studio-dist/server/chunks/handler-helpers-AANBGA_p.js.map +0 -1
  257. package/studio-dist/server/chunks/hash-Cm6yMET4.js.map +0 -1
  258. package/studio-dist/server/chunks/health-monitor-FepUZN1m.js.map +0 -1
  259. package/studio-dist/server/chunks/hooks.server-DBsyphiX.js.map +0 -1
  260. package/studio-dist/server/chunks/http-CRTZe306.js.map +0 -1
  261. package/studio-dist/server/chunks/identity-DRpurt56.js.map +0 -1
  262. package/studio-dist/server/chunks/identity2-DeAB5RXE.js.map +0 -1
  263. package/studio-dist/server/chunks/index-61916rmV.js.map +0 -1
  264. package/studio-dist/server/chunks/index-DAgVDouG.js.map +0 -1
  265. package/studio-dist/server/chunks/index-Dtt_h58T.js.map +0 -1
  266. package/studio-dist/server/chunks/index-server-DocJvixA.js.map +0 -1
  267. package/studio-dist/server/chunks/indexes-DZ52grq6.js.map +0 -1
  268. package/studio-dist/server/chunks/internal-xyE_opYp.js.map +0 -1
  269. package/studio-dist/server/chunks/json-Bfixam3g.js.map +0 -1
  270. package/studio-dist/server/chunks/lane-transition-lM2ngbbc.js.map +0 -1
  271. package/studio-dist/server/chunks/learnings-D6Y3YGMU.js.map +0 -1
  272. package/studio-dist/server/chunks/learnings2-MwBdR9vb.js.map +0 -1
  273. package/studio-dist/server/chunks/lifecycle-ops2-V2CR5-7X.js.map +0 -1
  274. package/studio-dist/server/chunks/list-BhObczvn.js.map +0 -1
  275. package/studio-dist/server/chunks/living-brain2-j0B_Ir8j.js.map +0 -1
  276. package/studio-dist/server/chunks/llm-backend-resolver-D4ANvUPL.js.map +0 -1
  277. package/studio-dist/server/chunks/llm-extraction-DVCu4heR.js.map +0 -1
  278. package/studio-dist/server/chunks/loadSharedConfigFiles-umvW7kuz.js.map +0 -1
  279. package/studio-dist/server/chunks/loadSso-iidd5iKx.js.map +0 -1
  280. package/studio-dist/server/chunks/local-model-fit-B0TxifnX.js.map +0 -1
  281. package/studio-dist/server/chunks/local-model-fit2-BMqo6GJm.js.map +0 -1
  282. package/studio-dist/server/chunks/lock-CA7d6lj7.js.map +0 -1
  283. package/studio-dist/server/chunks/logger-DQIoyZbq.js.map +0 -1
  284. package/studio-dist/server/chunks/memory-BUbicBbE.js.map +0 -1
  285. package/studio-dist/server/chunks/memory-accessor-i3P-RHSg.js.map +0 -1
  286. package/studio-dist/server/chunks/memory-accessor2-B981tHDR.js.map +0 -1
  287. package/studio-dist/server/chunks/memory-bridge-BOlEWg9w.js.map +0 -1
  288. package/studio-dist/server/chunks/memory-sqlite2-B7dq8doO.js.map +0 -1
  289. package/studio-dist/server/chunks/memory2-Cgc_4D5q.js.map +0 -1
  290. package/studio-dist/server/chunks/model-runner2-B71xjp4y.js.map +0 -1
  291. package/studio-dist/server/chunks/mvi-helpers-BNsJ8ZpQ.js.map +0 -1
  292. package/studio-dist/server/chunks/nexus-adapter-9EL_VlGI.js.map +0 -1
  293. package/studio-dist/server/chunks/nexus-plasticity-BTfU8cW_.js.map +0 -1
  294. package/studio-dist/server/chunks/nexus-risk-audit-p379-TU5.js.map +0 -1
  295. package/studio-dist/server/chunks/nexus-schema-zeygY8OD.js.map +0 -1
  296. package/studio-dist/server/chunks/nexus-schema2-DP0Qd7CA.js.map +0 -1
  297. package/studio-dist/server/chunks/nexus-sqlite-BVNIpwc7.js.map +0 -1
  298. package/studio-dist/server/chunks/nexus-sqlite2-BBfY2xnY.js.map +0 -1
  299. package/studio-dist/server/chunks/no-face-up-DcejJLy-.js.map +0 -1
  300. package/studio-dist/server/chunks/node-http-handler-CJI8kn7X.js.map +0 -1
  301. package/studio-dist/server/chunks/observe-Bo9veHGe.js.map +0 -1
  302. package/studio-dist/server/chunks/observe2-wzO0MaMY.js.map +0 -1
  303. package/studio-dist/server/chunks/observer-reflector-BwNOuq1d.js.map +0 -1
  304. package/studio-dist/server/chunks/observer-reflector2-ggtC1hmk.js.map +0 -1
  305. package/studio-dist/server/chunks/on-open-Wpcw7DV4.js.map +0 -1
  306. package/studio-dist/server/chunks/open-cleo-db--8sYNaYY.js.map +0 -1
  307. package/studio-dist/server/chunks/parseKnownFiles-Dg0pMFcT.js.map +0 -1
  308. package/studio-dist/server/chunks/parseUrl-qgGfl-Vh.js.map +0 -1
  309. package/studio-dist/server/chunks/paths-CV7S5-Zm.js.map +0 -1
  310. package/studio-dist/server/chunks/patterns-lh5kn13I.js.map +0 -1
  311. package/studio-dist/server/chunks/patterns2-CzIcT-ai.js.map +0 -1
  312. package/studio-dist/server/chunks/pipeline-stage-IB_pOft-.js.map +0 -1
  313. package/studio-dist/server/chunks/prediction-D1lSGJ4c.js.map +0 -1
  314. package/studio-dist/server/chunks/premature-close-audit-VG09uAco.js.map +0 -1
  315. package/studio-dist/server/chunks/project-context-BjiqfEBi.js.map +0 -1
  316. package/studio-dist/server/chunks/provider-registry2-Cu7rAF0R.js.map +0 -1
  317. package/studio-dist/server/chunks/quality-feedback-CuCGEI6S.js.map +0 -1
  318. package/studio-dist/server/chunks/quality-scoring-CCPuRQmJ.js.map +0 -1
  319. package/studio-dist/server/chunks/query-ops-DCrjbZb9.js.map +0 -1
  320. package/studio-dist/server/chunks/query-promise-BkPmGPJy.js.map +0 -1
  321. package/studio-dist/server/chunks/readFile-CxwXhymG.js.map +0 -1
  322. package/studio-dist/server/chunks/registry-CL2gN1zd.js.map +0 -1
  323. package/studio-dist/server/chunks/registry2-DoPYJnUW.js.map +0 -1
  324. package/studio-dist/server/chunks/registry3-BajEb-ll.js.map +0 -1
  325. package/studio-dist/server/chunks/registry4-DCqffZkT.js.map +0 -1
  326. package/studio-dist/server/chunks/retry-B3oEKYpp.js.map +0 -1
  327. package/studio-dist/server/chunks/role-executor-CC8BU54L.js.map +0 -1
  328. package/studio-dist/server/chunks/role-resolver-D9QaDT0e.js.map +0 -1
  329. package/studio-dist/server/chunks/role-resolver2-nkhzS1oy.js.map +0 -1
  330. package/studio-dist/server/chunks/rollup-CiefjN_Y.js.map +0 -1
  331. package/studio-dist/server/chunks/safety-data-accessor-CniDmGJO.js.map +0 -1
  332. package/studio-dist/server/chunks/service-connections-accessor-yBCdcgU-.js.map +0 -1
  333. package/studio-dist/server/chunks/session-factory-vbengc42.js.map +0 -1
  334. package/studio-dist/server/chunks/session-grade-BF4ZZtN_.js.map +0 -1
  335. package/studio-dist/server/chunks/session-journal-Bvey70Ur.js.map +0 -1
  336. package/studio-dist/server/chunks/session-narrative-BirZINSU.js.map +0 -1
  337. package/studio-dist/server/chunks/session-store--N_xHxUH.js.map +0 -1
  338. package/studio-dist/server/chunks/session-store2-DAM-eVTH.js.map +0 -1
  339. package/studio-dist/server/chunks/sessions-33DD4hkt.js.map +0 -1
  340. package/studio-dist/server/chunks/sessions2-BHswKRDP.js.map +0 -1
  341. package/studio-dist/server/chunks/sigil-B-RznFXz.js.map +0 -1
  342. package/studio-dist/server/chunks/sigil2-jRMG5DuR.js.map +0 -1
  343. package/studio-dist/server/chunks/signin-BAsW3mM8.js.map +0 -1
  344. package/studio-dist/server/chunks/sleep-consolidation-BnSwXrvq.js.map +0 -1
  345. package/studio-dist/server/chunks/spawn-cli-wI1lBJhm.js.map +0 -1
  346. package/studio-dist/server/chunks/specialists-B_ZbpQlK.js.map +0 -1
  347. package/studio-dist/server/chunks/sqlite-Bm5LzbPs.js.map +0 -1
  348. package/studio-dist/server/chunks/sqlite-backup-CFG1-b2e.js.map +0 -1
  349. package/studio-dist/server/chunks/sqlite-data-accessor-DD_RFX6r.js.map +0 -1
  350. package/studio-dist/server/chunks/sqlite-data-accessor2-CRmgNBnq.js.map +0 -1
  351. package/studio-dist/server/chunks/sqlite-native-BwlIqtbs.js.map +0 -1
  352. package/studio-dist/server/chunks/sqlite2-CUPut2fh.js.map +0 -1
  353. package/studio-dist/server/chunks/src-BUqGet2c.js.map +0 -1
  354. package/studio-dist/server/chunks/src2-DK8DKufK.js.map +0 -1
  355. package/studio-dist/server/chunks/src3-BJjf7XRG.js.map +0 -1
  356. package/studio-dist/server/chunks/src4-DNleK_t_.js.map +0 -1
  357. package/studio-dist/server/chunks/sso-oidc-eUvwseuL.js.map +0 -1
  358. package/studio-dist/server/chunks/storage-B9UA3BHR.js.map +0 -1
  359. package/studio-dist/server/chunks/stores-BcV2X8z1.js.map +0 -1
  360. package/studio-dist/server/chunks/sts-g7LDMLEd.js.map +0 -1
  361. package/studio-dist/server/chunks/surprisal-CwTfWQi8.js.map +0 -1
  362. package/studio-dist/server/chunks/surprisal-tree-7dfHsuw1.js.map +0 -1
  363. package/studio-dist/server/chunks/system-resolver2-Bzhue_zQ.js.map +0 -1
  364. package/studio-dist/server/chunks/tasks-SHX7UPGY.js.map +0 -1
  365. package/studio-dist/server/chunks/tasks-schema2-CTMoQKQy.js.map +0 -1
  366. package/studio-dist/server/chunks/tasks2-Bf9VHrv-.js.map +0 -1
  367. package/studio-dist/server/chunks/temporal-supersession-DP4GPG_B.js.map +0 -1
  368. package/studio-dist/server/chunks/token-cAhAD9f9.js.map +0 -1
  369. package/studio-dist/server/chunks/token-util-D6drEz8_.js.map +0 -1
  370. package/studio-dist/server/chunks/token-util2-8UPSGvbb.js.map +0 -1
  371. package/studio-dist/server/chunks/transcript-scanner-kJWhWmlg.js.map +0 -1
  372. package/studio-dist/server/chunks/transformers.node-_xbxmK5p.js.map +0 -1
  373. package/studio-dist/server/chunks/typed-query-l1D_QElt.js.map +0 -1
  374. package/studio-dist/server/chunks/ui-DR8zOSpC.js.map +0 -1
  375. package/studio-dist/server/chunks/unique-constraint-BZrrwgwc.js.map +0 -1
  376. package/studio-dist/server/chunks/update-B2YVBZG0.js.map +0 -1
  377. package/studio-dist/server/chunks/user-profile-B61ZhVmC.js.map +0 -1
  378. package/studio-dist/server/chunks/utils-BPSZyajG.js.map +0 -1
  379. package/studio-dist/server/chunks/validation-rules-CE27rtoF.js.map +0 -1
  380. package/studio-dist/server/chunks/zod-DsAeKNLm.js.map +0 -1
  381. package/studio-dist/server/index.js.map +0 -1
  382. package/studio-dist/server/manifest.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"tasks-schema2-CTMoQKQy.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tasks2-Bf9VHrv-.js","sources":["../../../.svelte-kit/adapter-node/chunks/tasks2.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, i as bind_props, n as attr_class, o as ensure_array_like, r as attr_style, u as stringify } from \"./dev.js\";\nimport { n as onDestroy } from \"./index-server.js\";\nimport \"./agent-lifecycle-lane.js\";\nimport { t as StatBlock } from \"./StatBlock.js\";\nimport { a as Badge } from \"./Tabs.js\";\nimport { i as Modal, l as Button, r as Select } from \"./ui.js\";\nimport { i as EDGE_STYLE, n as Hover_label } from \"./no-face-up.js\";\nimport \"d3\";\n//#region src/lib/graph/adapters/tasks-adapter.ts\n/**\n* Priority → weight mapping. Clamped to [0, 1] so the renderer can use it\n* as a radius multiplier.\n*/\nfunction priorityWeight(p) {\n\tif (p === \"critical\") return 1;\n\tif (p === \"high\") return .8;\n\tif (p === \"medium\") return .6;\n\treturn .4;\n}\n/**\n* Convert `updatedAt` ISO timestamp → freshness in [0, 1]. Tasks touched\n* within an hour = 1; older than a week = 0; linear interpolation in\n* between. Missing timestamps resolve to 0.\n*/\nfunction computeFreshness(isoUpdatedAt, now = Date.now()) {\n\tif (!isoUpdatedAt) return 0;\n\tconst ts = Date.parse(isoUpdatedAt);\n\tif (!Number.isFinite(ts)) return 0;\n\tconst ageMinutes = (now - ts) / 6e4;\n\tif (ageMinutes <= 60) return 1;\n\tconst weekMinutes = 1440 * 7;\n\tif (ageMinutes >= weekMinutes) return 0;\n\treturn 1 - (ageMinutes - 60) / (weekMinutes - 60);\n}\n/**\n* Parse the free-form `blockedBy` field (JSON array or CSV) into a clean\n* list of blocker task ids. Never throws — invalid inputs yield `[]`.\n*\n* @param raw - Raw `task.blockedBy` string.\n* @returns Deduplicated id list.\n*/\nfunction parseBlockedBy(raw) {\n\tif (!raw) return [];\n\tconst trimmed = raw.trim();\n\tif (trimmed.length === 0) return [];\n\tif (trimmed.startsWith(\"[\")) try {\n\t\tconst parsed = JSON.parse(trimmed);\n\t\tif (Array.isArray(parsed)) {\n\t\t\tconst ids = parsed.filter((x) => typeof x === \"string\");\n\t\t\treturn [...new Set(ids.map((s) => s.trim()).filter((s) => s.length > 0))];\n\t\t}\n\t} catch {}\n\treturn [...new Set(trimmed.split(\",\").map((s) => s.trim()).filter((s) => s.length > 0))];\n}\n/**\n* Walk `parentId` pointers to find the top-level ancestor epic id.\n*\n* - If `task.type === 'epic'` and it has no epic parent, returns\n* `task.id`.\n* - If an ancestor of type `epic` exists, returns the OUTERMOST one.\n* - If no ancestor is an epic, returns `null`.\n*\n* @param task - The candidate task.\n* @param byId - Id → Task lookup built once by the caller.\n* @returns Root-epic id or `null`.\n*/\nfunction findRootEpicId$1(task, byId) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tlet lastEpic = task.type === \"epic\" ? task.id : null;\n\tlet cursor = task;\n\twhile (cursor) {\n\t\tif (seen.has(cursor.id)) break;\n\t\tseen.add(cursor.id);\n\t\tif (cursor.type === \"epic\") lastEpic = cursor.id;\n\t\tif (!cursor.parentId) break;\n\t\tcursor = byId.get(cursor.parentId);\n\t}\n\treturn lastEpic;\n}\n/**\n* Project a `Task` into a {@link GraphNode}. The node kind = task type\n* (or `'task'` when the type is missing), category = root epic id.\n*\n* @param task - Input task.\n* @param rootEpicId - Pre-resolved root epic id, or `null`.\n* @returns Graph node with substrate = `'tasks'`.\n*/\nfunction toGraphNode(task, rootEpicId) {\n\treturn {\n\t\tid: task.id,\n\t\tsubstrate: \"tasks\",\n\t\tkind: task.type ?? \"task\",\n\t\tlabel: task.title,\n\t\tcategory: rootEpicId,\n\t\tweight: priorityWeight(task.priority),\n\t\tfreshness: computeFreshness(task.updatedAt ?? task.createdAt ?? null),\n\t\tmeta: {\n\t\t\tstatus: task.status,\n\t\t\tpriority: task.priority,\n\t\t\tparentId: task.parentId ?? null,\n\t\t\tupdatedAt: task.updatedAt ?? null\n\t\t}\n\t};\n}\n/**\n* Build the deterministic edge id. Including the kind lets `parent` and\n* `depends` edges coexist between the same two endpoints without\n* colliding.\n*/\nfunction edgeId(source, target, kind) {\n\treturn `${source}->${target}:${kind}`;\n}\n/**\n* Main entry point — project a Task bundle into the shared graph kit\n* shape.\n*\n* Behaviours:\n*\n* 1. Tasks are de-duplicated by id. First occurrence wins.\n* 2. `opts.epicScope` filters to the subtree rooted at the id. When\n* omitted the full bundle projects.\n* 3. `includeCancelled=false` (default) hides cancelled epics. Cancelled\n* tasks/subtasks continue to project with a muted palette.\n* 4. `includeArchived=false` (default) hides archived tasks.\n* 5. Clusters are one per root epic id, filtered to groups of ≥ 3\n* members so isolated subtrees do not clutter the backdrop layer.\n*\n* @param tasks - All tasks from the loader bundle.\n* @param deps - All dependency edges from the loader bundle.\n* @param opts - Optional scope / filter flags.\n* @returns Projected nodes / edges / clusters.\n*/\nfunction tasksToGraph(tasks, deps, opts = {}) {\n\tconst includeCancelled = opts.includeCancelled ?? false;\n\tconst includeArchived = opts.includeArchived ?? false;\n\tconst byId = /* @__PURE__ */ new Map();\n\tfor (const t of tasks) if (!byId.has(t.id)) byId.set(t.id, t);\n\tconst inScope = /* @__PURE__ */ new Set();\n\tconst scopeRoot = opts.epicScope ?? null;\n\tfunction isInScope(task) {\n\t\tif (!scopeRoot) return true;\n\t\tlet cursor = task;\n\t\tconst seen = /* @__PURE__ */ new Set();\n\t\twhile (cursor) {\n\t\t\tif (seen.has(cursor.id)) return false;\n\t\t\tif (cursor.id === scopeRoot) return true;\n\t\t\tseen.add(cursor.id);\n\t\t\tif (!cursor.parentId) return false;\n\t\t\tcursor = byId.get(cursor.parentId);\n\t\t}\n\t\treturn false;\n\t}\n\tfor (const task of byId.values()) {\n\t\tif (!includeArchived && task.status === \"archived\") continue;\n\t\tif (!includeCancelled && task.type === \"epic\" && task.status === \"cancelled\") continue;\n\t\tif (!isInScope(task)) continue;\n\t\tinScope.add(task.id);\n\t}\n\tconst incomingBlockers = /* @__PURE__ */ new Map();\n\tfor (const task of byId.values()) {\n\t\tconst ids = parseBlockedBy(task.blockedBy);\n\t\tif (ids.length > 0) incomingBlockers.set(task.id, ids);\n\t}\n\tfor (const d of deps) {\n\t\tconst list = incomingBlockers.get(d.taskId) ?? [];\n\t\tif (!list.includes(d.dependsOn)) list.push(d.dependsOn);\n\t\tincomingBlockers.set(d.taskId, list);\n\t}\n\tconst nodes = [];\n\tconst rootEpicByTask = /* @__PURE__ */ new Map();\n\tfor (const task of byId.values()) {\n\t\tif (!inScope.has(task.id)) continue;\n\t\tconst rootEpic = findRootEpicId$1(task, byId);\n\t\trootEpicByTask.set(task.id, rootEpic);\n\t\tconst projected = toGraphNode(task, rootEpic);\n\t\tif (task.status === \"pending\") {\n\t\t\tif ((incomingBlockers.get(task.id) ?? []).some((bid) => {\n\t\t\t\tconst blocker = byId.get(bid);\n\t\t\t\treturn blocker ? blocker.status !== \"done\" : false;\n\t\t\t})) projected.meta = {\n\t\t\t\t...projected.meta,\n\t\t\t\tblocked: true\n\t\t\t};\n\t\t}\n\t\tnodes.push(projected);\n\t}\n\tconst parentEdges = [];\n\tconst blocksEdges = [];\n\tconst dependsEdges = [];\n\tfor (const task of byId.values()) {\n\t\tif (!inScope.has(task.id)) continue;\n\t\tif (task.parentId && inScope.has(task.parentId)) parentEdges.push({\n\t\t\tid: edgeId(task.parentId, task.id, \"parent\"),\n\t\t\tsource: task.parentId,\n\t\t\ttarget: task.id,\n\t\t\tkind: \"parent\",\n\t\t\tweight: 1,\n\t\t\tdirectional: false\n\t\t});\n\t\tfor (const blockerId of parseBlockedBy(task.blockedBy)) if (inScope.has(blockerId)) blocksEdges.push({\n\t\t\tid: edgeId(blockerId, task.id, \"blocks\"),\n\t\t\tsource: blockerId,\n\t\t\ttarget: task.id,\n\t\t\tkind: \"blocks\",\n\t\t\tweight: .8,\n\t\t\tdirectional: true\n\t\t});\n\t}\n\tfor (const d of deps) if (inScope.has(d.taskId) && inScope.has(d.dependsOn)) dependsEdges.push({\n\t\tid: edgeId(d.dependsOn, d.taskId, \"depends\"),\n\t\tsource: d.dependsOn,\n\t\ttarget: d.taskId,\n\t\tkind: \"depends\",\n\t\tweight: .7,\n\t\tdirectional: true\n\t});\n\tconst edges = [\n\t\t...parentEdges,\n\t\t...blocksEdges,\n\t\t...dependsEdges\n\t];\n\tconst byEpic = /* @__PURE__ */ new Map();\n\tfor (const node of nodes) {\n\t\tconst epicId = node.category;\n\t\tif (!epicId) continue;\n\t\tconst list = byEpic.get(epicId);\n\t\tif (list) list.push(node.id);\n\t\telse byEpic.set(epicId, [node.id]);\n\t}\n\tconst clusters = [];\n\tfor (const [epicId, memberIds] of byEpic.entries()) {\n\t\tif (memberIds.length < 3) continue;\n\t\tconst epicTask = byId.get(epicId);\n\t\tclusters.push({\n\t\t\tid: epicId,\n\t\t\tlabel: epicTask ? `${epicId}: ${epicTask.title}` : epicId,\n\t\t\tsubstrate: \"tasks\",\n\t\t\tmemberIds\n\t\t});\n\t}\n\treturn {\n\t\tnodes,\n\t\tedges,\n\t\tclusters\n\t};\n}\n//#endregion\n//#region src/lib/graph/renderers/SvgRenderer.svelte\nfunction SvgRenderer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Node set to render. Order drives focus-traversal when weights tie. */\n\t\t/** Edge set to render. Edge.kind drives colour + dash. */\n\t\t/** Optional cluster metadata (one convex-hull halo per entry ≥ 3 members). */\n\t\t/**\n\t\t* Filter of which edge kinds to draw. `undefined` means all kinds are\n\t\t* visible. Empty set means no edges render (nodes only).\n\t\t*/\n\t\t/** Currently-hovered node id, or null. Drives neighbor highlight. */\n\t\t/** Currently-selected node id, or null. Drives accent border. */\n\t\t/** Callback when pointer enters / leaves a node. */\n\t\t/** Callback when a node is clicked or Enter-pressed. */\n\t\t/** Label mode — see file header comment. */\n\t\t/** Node renderer flavour. */\n\t\t/** Min/max zoom scale. Defaults to `[0.25, 4]`. */\n\t\t/**\n\t\t* Reduced-motion flag. When true, the simulation runs in a single\n\t\t* synchronous pass with zero tick animation. Defaults to the user's\n\t\t* `prefers-reduced-motion` query at mount.\n\t\t*/\n\t\t/** Optional aria-label on the root `<svg>`. */\n\t\t/** Map of edge meta → hover subtitle, used when hovering an edge. */\n\t\t/**\n\t\t* When true, overlay a small floating toolbar (release/resume,\n\t\t* reset view) in the top-right of the canvas. Off by default so\n\t\t* lightweight ego views (TaskDepGraph) stay clean.\n\t\t*/\n\t\t/**\n\t\t* When true, overlay a legend showing the dash pattern per active\n\t\t* edge kind. GraphTab turns this on; ego graphs leave it off.\n\t\t*/\n\t\tlet { nodes, edges, clusters = [], visibleEdgeKinds, highlightNodeId = null, selectedNodeId = null, onNodeHover, onNodeClick, showLabels = \"id-only\", nodeRenderer = \"pill\", zoomExtent = [.25, 4], reducedMotion, ariaLabel = \"Graph visualisation\", edgeMetaLabel, showToolbar = false, showLegend = false } = $$props;\n\t\tlet viewBoxX = 0;\n\t\tlet viewBoxY = 0;\n\t\tlet viewBoxW = 1200;\n\t\tlet viewBoxH = 700;\n\t\tlet simNodes = [];\n\t\tlet simLinks = [];\n\t\tlet hoverNode = null;\n\t\tlet hoverX = 0;\n\t\tlet hoverY = 0;\n\t\tlet statusColors = {};\n\t\tconst neighborMap = derived(() => {\n\t\t\tconst map = /* @__PURE__ */ new Map();\n\t\t\tfor (const edge of edges) {\n\t\t\t\tconst s = typeof edge.source === \"string\" ? edge.source : \"\";\n\t\t\t\tconst t = typeof edge.target === \"string\" ? edge.target : \"\";\n\t\t\t\tif (!s || !t) continue;\n\t\t\t\tlet setS = map.get(s);\n\t\t\t\tif (!setS) {\n\t\t\t\t\tsetS = /* @__PURE__ */ new Set();\n\t\t\t\t\tmap.set(s, setS);\n\t\t\t\t}\n\t\t\t\tsetS.add(t);\n\t\t\t\tlet setT = map.get(t);\n\t\t\t\tif (!setT) {\n\t\t\t\t\tsetT = /* @__PURE__ */ new Set();\n\t\t\t\t\tmap.set(t, setT);\n\t\t\t\t}\n\t\t\t\tsetT.add(s);\n\t\t\t}\n\t\t\treturn map;\n\t\t});\n\t\tconst visibleEdgeSet = derived(() => visibleEdgeKinds);\n\t\tconst visibleEdges = derived(() => visibleEdgeSet() ? edges.filter((e) => visibleEdgeSet().has(e.kind)) : edges);\n\t\tconst activeHoverId = derived(() => highlightNodeId ?? hoverNode?.id ?? null);\n\t\tonDestroy(() => {});\n\t\t/**\n\t\t* Resolve the node fill for a given kind + status. Circle nodes share\n\t\t* the same palette; card nodes use the status colour as a left stripe.\n\t\t*/\n\t\tfunction nodeFillFor(node) {\n\t\t\treturn statusColors[node.meta?.[\"status\"] ?? \"pending\"] ?? statusColors[\"pending\"] ?? \"var(--status-pending)\";\n\t\t}\n\t\tfunction nodeStrokeFor(node) {\n\t\t\tif (node.kind === \"epic\") return statusColors[\"accent\"] ?? \"var(--accent)\";\n\t\t\treturn statusColors[\"borderStrong\"] ?? \"var(--border-strong)\";\n\t\t}\n\t\tconst legendKinds = derived(() => {\n\t\t\tconst out = /* @__PURE__ */ new Map();\n\t\t\tfor (const e of visibleEdges()) {\n\t\t\t\tif (out.has(e.kind)) continue;\n\t\t\t\tconst style = EDGE_STYLE[e.kind];\n\t\t\t\tout.set(e.kind, {\n\t\t\t\t\tcolor: style.color,\n\t\t\t\t\tdash: style.dash ?? null,\n\t\t\t\t\tlabel: humaniseEdgeKind(e.kind)\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn out;\n\t\t});\n\t\tfunction humaniseEdgeKind(kind) {\n\t\t\treturn kind.replace(/_/g, \" \");\n\t\t}\n\t\tfunction resolveEndpoint(link, end) {\n\t\t\tconst v = link[end];\n\t\t\tif (typeof v === \"string\") return simNodes.find((n) => n.id === v) ?? null;\n\t\t\treturn v;\n\t\t}\n\t\tfunction nodeRadius(n) {\n\t\t\tconst base = nodeRenderer === \"circle\" ? 10 : nodeRenderer === \"card\" ? 26 : 14;\n\t\t\tconst w = Math.max(.4, Math.min(1, n.weight ?? .6));\n\t\t\treturn Math.round(base * (.75 + w * .5));\n\t\t}\n\t\tfunction nodePillSize(n) {\n\t\t\tconst isEpic = n.kind === \"epic\";\n\t\t\tif (nodeRenderer === \"card\") return {\n\t\t\t\tw: isEpic ? 104 : 96,\n\t\t\t\th: isEpic ? 44 : 38\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tw: isEpic ? 64 : 52,\n\t\t\t\th: isEpic ? 28 : 22\n\t\t\t};\n\t\t}\n\t\tfunction edgeOpacity(edge) {\n\t\t\tconst base = .75;\n\t\t\tif (!activeHoverId()) return base;\n\t\t\tconst s = typeof edge.source === \"string\" ? edge.source : edge.source.id;\n\t\t\tconst t = typeof edge.target === \"string\" ? edge.target : edge.target.id;\n\t\t\tif (s === activeHoverId() || t === activeHoverId()) return 1;\n\t\t\treturn base * .35;\n\t\t}\n\t\tfunction edgeStrokeWidth(edge) {\n\t\t\tconst base = (EDGE_STYLE[edge.kind].thickness ?? .6) * 1.8;\n\t\t\tconst s = typeof edge.source === \"string\" ? edge.source : edge.source.id;\n\t\t\tconst t = typeof edge.target === \"string\" ? edge.target : edge.target.id;\n\t\t\tif (activeHoverId() && (s === activeHoverId() || t === activeHoverId())) return base + 1;\n\t\t\treturn base;\n\t\t}\n\t\tfunction nodeOpacity(n) {\n\t\t\tif (!activeHoverId()) return 1;\n\t\t\tif (n.id === activeHoverId()) return 1;\n\t\t\tif (neighborMap().get(activeHoverId())?.has(n.id)) return 1;\n\t\t\treturn .35;\n\t\t}\n\t\t/** Base style (colour + dash + opacity) for one edge. */\n\t\tfunction edgeStyleFor(kind) {\n\t\t\tconst style = EDGE_STYLE[kind];\n\t\t\treturn {\n\t\t\t\tcolor: style.color,\n\t\t\t\tdash: style.dash ?? null\n\t\t\t};\n\t\t}\n\t\tconst clusterCentroids = derived(() => {\n\t\t\tconst centroids = /* @__PURE__ */ new Map();\n\t\t\tfor (const cluster of clusters) {\n\t\t\t\tif (cluster.memberIds.length < 3) continue;\n\t\t\t\tconst members = cluster.memberIds.map((id) => simNodes.find((n) => n.id === id)).filter((n) => !!n && n.x !== void 0 && n.y !== void 0);\n\t\t\t\tif (members.length < 3) continue;\n\t\t\t\tlet sx = 0;\n\t\t\t\tlet sy = 0;\n\t\t\t\tfor (const m of members) {\n\t\t\t\t\tsx += m.x ?? 0;\n\t\t\t\t\tsy += m.y ?? 0;\n\t\t\t\t}\n\t\t\t\tconst cx = sx / members.length;\n\t\t\t\tconst cy = sy / members.length;\n\t\t\t\tlet maxR = 0;\n\t\t\t\tfor (const m of members) {\n\t\t\t\t\tconst dx = (m.x ?? 0) - cx;\n\t\t\t\t\tconst dy = (m.y ?? 0) - cy;\n\t\t\t\t\tconst r = Math.sqrt(dx * dx + dy * dy);\n\t\t\t\t\tif (r > maxR) maxR = r;\n\t\t\t\t}\n\t\t\t\tcentroids.set(cluster.id, {\n\t\t\t\t\tx: cx,\n\t\t\t\t\ty: cy,\n\t\t\t\t\thull: `${maxR + 40}`\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn centroids;\n\t\t});\n\t\t$$renderer.push(`<div class=\"svg-renderer svelte-1xod964\"${attr(\"data-node-renderer\", nodeRenderer)}><svg role=\"img\"${attr(\"aria-label\", ariaLabel)} class=\"svg-surface svelte-1xod964\"${attr(\"viewBox\", `${stringify(viewBoxX)} ${stringify(viewBoxY)} ${stringify(viewBoxW)} ${stringify(viewBoxH)}`)} preserveAspectRatio=\"xMidYMid meet\"><defs><marker id=\"sr-arrow\" viewBox=\"0 -4 8 8\" refX=\"8\" refY=\"0\" markerWidth=\"6\" markerHeight=\"6\" orient=\"auto\"><path d=\"M0,-4L8,0L0,4\" fill=\"var(--text-faint)\"></path></marker></defs>`);\n\t\tif (clusters.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<g class=\"cluster-backdrops\" aria-hidden=\"true\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(clusters);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet cluster = each_array[$$index];\n\t\t\t\tconst c = clusterCentroids().get(cluster.id);\n\t\t\t\tif (c) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<circle class=\"cluster-halo svelte-1xod964\"${attr(\"cx\", c.x)}${attr(\"cy\", c.y)}${attr(\"r\", c.hull)} fill=\"var(--accent-halo)\"></circle><text class=\"cluster-label svelte-1xod964\"${attr(\"x\", c.x)}${attr(\"y\", c.y - Number(c.hull) - 4)} text-anchor=\"middle\" fill=\"var(--text-dim)\" font-family=\"var(--font-sans)\" font-size=\"11\">${escape_html(cluster.label)}</text>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></g>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--><g class=\"edges\"><!--[-->`);\n\t\tconst each_array_1 = ensure_array_like(simLinks);\n\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\tlet link = each_array_1[$$index_1];\n\t\t\tconst s = resolveEndpoint(link, \"source\");\n\t\t\tconst t = resolveEndpoint(link, \"target\");\n\t\t\tif (s && t && s.x !== void 0 && s.y !== void 0 && t.x !== void 0 && t.y !== void 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tconst style = edgeStyleFor(link.kind);\n\t\t\t\t$$renderer.push(`<line${attr_class(`edge edge-${stringify(link.kind)}`, \"svelte-1xod964\")}${attr(\"x1\", s.x)}${attr(\"y1\", s.y)}${attr(\"x2\", t.x)}${attr(\"y2\", t.y)}${attr(\"stroke\", style.color)}${attr(\"stroke-width\", edgeStrokeWidth(link))}${attr(\"stroke-dasharray\", style.dash ?? void 0)}${attr(\"opacity\", edgeOpacity(link))}${attr(\"marker-end\", link.directional ? \"url(#sr-arrow)\" : void 0)}>`);\n\t\t\t\tif (edgeMetaLabel) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<title>${escape_html(edgeMetaLabel(link))}</title>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></line>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></g><g class=\"nodes\"><!--[-->`);\n\t\tconst each_array_2 = ensure_array_like(simNodes);\n\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\tlet n = each_array_2[$$index_2];\n\t\t\tif (n.x !== void 0 && n.y !== void 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tconst pill = nodePillSize(n);\n\t\t\t\tconst radius = nodeRadius(n);\n\t\t\t\tconst isSelected = selectedNodeId === n.id;\n\t\t\t\tconst blocked = n.meta?.[\"status\"] === \"pending\" && n.meta?.[\"blocked\"] === true;\n\t\t\t\tconst isFocal = n.meta?.[\"focal\"] === true;\n\t\t\t\t$$renderer.push(`<g role=\"button\" tabindex=\"0\"${attr_class(\"node svelte-1xod964\", void 0, {\n\t\t\t\t\t\"selected\": isSelected,\n\t\t\t\t\t\"blocked-halo\": blocked,\n\t\t\t\t\t\"focal\": isFocal\n\t\t\t\t})}${attr(\"data-node-id\", n.id)}${attr(\"transform\", `translate(${stringify(n.x)},${stringify(n.y)})`)}${attr(\"opacity\", nodeOpacity(n))}${attr(\"aria-label\", `${n.id}: ${n.label}`)}>`);\n\t\t\t\tif (nodeRenderer === \"circle\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<circle class=\"node-shape svelte-1xod964\" cx=\"0\" cy=\"0\"${attr(\"r\", radius)}${attr(\"fill\", nodeFillFor(n))}${attr(\"stroke\", nodeStrokeFor(n))}${attr(\"stroke-width\", isSelected ? 2.5 : 1)}></circle>`);\n\t\t\t\t} else if (nodeRenderer === \"card\") {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<rect class=\"node-shape svelte-1xod964\"${attr(\"x\", -pill.w / 2)}${attr(\"y\", -pill.h / 2)}${attr(\"width\", pill.w)}${attr(\"height\", pill.h)} rx=\"6\" ry=\"6\" fill=\"var(--bg-elev-1)\"${attr(\"stroke\", isSelected ? \"var(--accent)\" : nodeStrokeFor(n))}${attr(\"stroke-width\", isSelected ? 2.5 : 1)}></rect><rect class=\"node-stripe\"${attr(\"x\", -pill.w / 2)}${attr(\"y\", -pill.h / 2)} width=\"4\"${attr(\"height\", pill.h)} rx=\"2\" ry=\"2\"${attr(\"fill\", nodeFillFor(n))}></rect>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<rect class=\"node-shape svelte-1xod964\"${attr(\"x\", -pill.w / 2)}${attr(\"y\", -pill.h / 2)}${attr(\"width\", pill.w)}${attr(\"height\", pill.h)}${attr(\"rx\", n.kind === \"epic\" ? 3 : 8)}${attr(\"ry\", n.kind === \"epic\" ? 3 : 8)}${attr(\"fill\", nodeFillFor(n))}${attr(\"stroke\", isSelected ? \"var(--accent)\" : nodeStrokeFor(n))}${attr(\"stroke-width\", isSelected ? 2.5 : 1)}></rect>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\tif (showLabels === \"id-only\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<text class=\"node-id\" text-anchor=\"middle\" dominant-baseline=\"middle\" font-family=\"var(--font-mono)\" font-size=\"10\" font-weight=\"600\" pointer-events=\"none\"${attr(\"fill\", nodeRenderer === \"card\" ? \"var(--text)\" : n.kind === \"epic\" ? \"var(--bg)\" : \"var(--bg)\")}>${escape_html(n.id)}</text>`);\n\t\t\t\t} else if (showLabels === \"full\") {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t$$renderer.push(`<text class=\"node-id\"${attr(\"x\", nodeRenderer === \"card\" ? -pill.w / 2 + 12 : 0)}${attr(\"y\", nodeRenderer === \"card\" ? -pill.h / 2 + 14 : -4)}${attr(\"text-anchor\", nodeRenderer === \"card\" ? \"start\" : \"middle\")} dominant-baseline=\"middle\" font-family=\"var(--font-mono)\" font-size=\"10\" font-weight=\"600\" pointer-events=\"none\"${attr(\"fill\", nodeRenderer === \"card\" ? \"var(--accent)\" : \"var(--bg)\")}>${escape_html(n.id)}</text><text class=\"node-label\"${attr(\"x\", nodeRenderer === \"card\" ? -pill.w / 2 + 12 : 0)}${attr(\"y\", nodeRenderer === \"card\" ? pill.h / 2 - 10 : 8)}${attr(\"text-anchor\", nodeRenderer === \"card\" ? \"start\" : \"middle\")} dominant-baseline=\"middle\" font-family=\"var(--font-sans)\" font-size=\"9\" pointer-events=\"none\"${attr(\"fill\", nodeRenderer === \"card\" ? \"var(--text-dim)\" : \"var(--text)\")}>${escape_html(n.label.length > 18 ? n.label.slice(0, 16) + \"…\" : n.label)}</text>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></g>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></g></svg> `);\n\t\tif (showToolbar) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"toolbar svelte-1xod964\" role=\"toolbar\" aria-label=\"Graph controls\">`);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"tb-btn svelte-1xod964\" aria-label=\"Release layout\">Release layout</button>`);\n\t\t\t$$renderer.push(`<!--]--> <button type=\"button\" class=\"tb-btn svelte-1xod964\" aria-label=\"Reset view\">Reset view</button></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (showLegend && legendKinds().size > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"legend svelte-1xod964\" aria-label=\"Edge legend\"><!--[-->`);\n\t\t\tconst each_array_3 = ensure_array_like([...legendKinds().entries()]);\n\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\tlet [kind, meta] = each_array_3[$$index_3];\n\t\t\t\t$$renderer.push(`<span class=\"legend-item svelte-1xod964\"><svg class=\"legend-swatch svelte-1xod964\" viewBox=\"0 0 20 4\" aria-hidden=\"true\"><line x1=\"0\" y1=\"2\" x2=\"20\" y2=\"2\"${attr(\"stroke\", meta.color)} stroke-width=\"1.6\"${attr(\"stroke-dasharray\", meta.dash ?? void 0)}></line></svg> <span class=\"legend-label svelte-1xod964\">${escape_html(meta.label)}</span></span>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tHover_label($$renderer, {\n\t\t\tnode: hoverNode,\n\t\t\tx: hoverX,\n\t\t\ty: hoverY,\n\t\t\tsecondary: typeof hoverNode?.meta?.[\"status\"] === \"string\" ? hoverNode.meta[\"status\"] : null\n\t\t});\n\t\t$$renderer.push(`<!----></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/ConductorBar.svelte\nfunction ConductorBar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** The selected task id eligible for dispatch (Backlog/Ready). */\n\t\t/** The selected task's title (shown in the bar). */\n\t\t/** The lane the card sits in (`backlog` | `ready`). */\n\t\t/** Whether a dispatch is in flight (disables the trigger). */\n\t\t/**\n\t\t* Invoked when the operator confirms a dispatch. The page owns the actual\n\t\t* server call, optimistic lane move, and toast. `tier` is the spawn prompt\n\t\t* depth (0=minimal · 1=default · 2=full).\n\t\t*/\n\t\t/** Dismiss the bar without dispatching. */\n\t\tlet { taskId, title, lane, busy = false, onDispatch, onClose } = $$props;\n\t\t/** Two-step confirm — spawning is real + expensive. */\n\t\tlet confirming = false;\n\t\t/** Spawn tier, mapped to the `--tier` knob on `orchestrate.spawn`. */\n\t\tlet tier = \"1\";\n\t\tconst tierOptions = [\n\t\t\t{\n\t\t\t\tvalue: \"0\",\n\t\t\t\tlabel: \"Tier 0 · minimal\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"1\",\n\t\t\t\tlabel: \"Tier 1 · default\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"2\",\n\t\t\t\tlabel: \"Tier 2 · full\"\n\t\t\t}\n\t\t];\n\t\tfunction requestDispatch() {\n\t\t\tif (busy) return;\n\t\t\tif (!confirming) {\n\t\t\t\tconfirming = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconfirming = false;\n\t\t\tonDispatch(Number(tier));\n\t\t}\n\t\tfunction cancelConfirm() {\n\t\t\tconfirming = false;\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t$$renderer.push(`<aside class=\"conductor svelte-1pkej9r\"${attr(\"aria-label\", `Dispatch ${taskId}`)}><div class=\"conductor-id svelte-1pkej9r\">`);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: \"accent\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(taskId)}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> <span class=\"conductor-title svelte-1pkej9r\"${attr(\"title\", title)}>${escape_html(title)}</span> `);\n\t\t\tBadge($$renderer, {\n\t\t\t\ttone: \"neutral\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!---->${escape_html(lane)}`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div> <div class=\"role-chain svelte-1pkej9r\" aria-label=\"Orchestrator to Lead to worker chain\">`);\n\t\t\tStatBlock($$renderer, {\n\t\t\t\tlabel: \"Orchestrator\",\n\t\t\t\tvalue: \"you\",\n\t\t\t\ttone: \"info\",\n\t\t\t\thint: \"dispatcher board\"\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> <span class=\"chain-arrow svelte-1pkej9r\" aria-hidden=\"true\">→</span> `);\n\t\t\tStatBlock($$renderer, {\n\t\t\t\tlabel: \"Lead\",\n\t\t\t\tvalue: \"orchestrate\",\n\t\t\t\ttone: \"accent\",\n\t\t\t\thint: \"spawn pipeline\"\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> <span class=\"chain-arrow svelte-1pkej9r\" aria-hidden=\"true\">→</span> `);\n\t\t\tStatBlock($$renderer, {\n\t\t\t\tlabel: \"Worker\",\n\t\t\t\tvalue: \"worktree\",\n\t\t\t\ttone: \"neutral\",\n\t\t\t\thint: \"isolated agent\"\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div> <div class=\"conductor-actions svelte-1pkej9r\">`);\n\t\t\tSelect($$renderer, {\n\t\t\t\toptions: tierOptions,\n\t\t\t\tdisabled: busy || confirming,\n\t\t\t\tget value() {\n\t\t\t\t\treturn tier;\n\t\t\t\t},\n\t\t\t\tset value($$value) {\n\t\t\t\t\ttier = $$value;\n\t\t\t\t\t$$settled = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tif (confirming) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"confirm-prompt svelte-1pkej9r\">Spawn a real worker?</span> `);\n\t\t\t\tButton($$renderer, {\n\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tonclick: requestDispatch,\n\t\t\t\t\tdisabled: busy,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->Confirm dispatch`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\tButton($$renderer, {\n\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tonclick: cancelConfirm,\n\t\t\t\t\tdisabled: busy,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->Cancel`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\tButton($$renderer, {\n\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tonclick: requestDispatch,\n\t\t\t\t\tdisabled: busy,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(busy ? \"Dispatching…\" : \"Dispatch →\")}`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\tButton($$renderer, {\n\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tonclick: onClose,\n\t\t\t\t\tdisabled: busy,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->Close`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div></aside>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/DetailDrawer/BreadcrumbSection.svelte\nfunction BreadcrumbSection($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** When provided, clicking an entry repins the drawer instead of navigating. */\n\t\tlet { task, chain, onSelectDep } = $$props;\n\t\tif (chain.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<nav class=\"parent-chain svelte-1yx1904\" aria-label=\"Parent chain\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(chain);\n\t\t\tfor (let idx = 0, $$length = each_array.length; idx < $$length; idx++) {\n\t\t\t\tlet entry = each_array[idx];\n\t\t\t\tif (onSelectDep) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"crumb svelte-1yx1904\"${attr(\"aria-label\", `Open ${entry.id}`)}>`);\n\t\t\t\t\tif (entry.type) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"crumb-type svelte-1yx1904\">${escape_html(entry.type)}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> <span class=\"crumb-id svelte-1yx1904\">${escape_html(entry.id)}</span></button>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tasks/${entry.id}`)} class=\"crumb svelte-1yx1904\">`);\n\t\t\t\t\tif (entry.type) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"crumb-type svelte-1yx1904\">${escape_html(entry.type)}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> <span class=\"crumb-id svelte-1yx1904\">${escape_html(entry.id)}</span></a>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (idx < chain.length - 1) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"crumb-sep svelte-1yx1904\" aria-hidden=\"true\">›</span>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"crumb-sep svelte-1yx1904\" aria-hidden=\"true\">›</span> <span class=\"crumb-current svelte-1yx1904\">${escape_html(task.id)}</span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></nav>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/DetailDrawer/DependenciesSection.svelte\nfunction DependenciesSection($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Blockers — tasks the focal task depends on. */\n\t\t/** Dependents — tasks that depend on the focal task. */\n\t\t/** Drawer-repin callback. When absent, rows render as plain anchors. */\n\t\t/** Loading indicator for both panels. */\n\t\t/** Error message rendered in both panels when non-empty. */\n\t\tlet { upstream, downstream, onSelectDep, loading = false, error } = $$props;\n\t\tfunction statusDotColor(s) {\n\t\t\tif (s === \"done\") return \"var(--status-done)\";\n\t\t\tif (s === \"active\") return \"var(--status-active)\";\n\t\t\tif (s === \"blocked\") return \"var(--status-blocked)\";\n\t\t\tif (s === \"cancelled\") return \"var(--text-dim)\";\n\t\t\tif (s === \"archived\") return \"var(--status-archived)\";\n\t\t\tif (s === \"proposed\") return \"var(--status-proposed)\";\n\t\t\treturn \"var(--status-pending)\";\n\t\t}\n\t\t$$renderer.push(`<section class=\"deps-section svelte-1g4s9j0\"><h4 class=\"section-h svelte-1g4s9j0\">Depends on `);\n\t\tif (upstream.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"count-badge svelte-1g4s9j0\">↑${escape_html(upstream.length)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></h4> `);\n\t\tif (loading) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1g4s9j0\">Loading…</div>`);\n\t\t} else if (error) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"empty error svelte-1g4s9j0\">${escape_html(error)}</div>`);\n\t\t} else if (upstream.length === 0) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1g4s9j0\">None.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"dep-list svelte-1g4s9j0\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(upstream);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet dep = each_array[$$index];\n\t\t\t\t$$renderer.push(`<li>`);\n\t\t\t\tif (onSelectDep) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"dep-btn svelte-1g4s9j0\"><span class=\"dep-dot svelte-1g4s9j0\"${attr_style(`background:${stringify(statusDotColor(dep.status))}`)} aria-hidden=\"true\"></span> <span class=\"iid svelte-1g4s9j0\">${escape_html(dep.id)}</span> <span class=\"ititle svelte-1g4s9j0\">${escape_html(dep.title)}</span></button>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tasks/${dep.id}`)} class=\"dep-btn svelte-1g4s9j0\"><span class=\"dep-dot svelte-1g4s9j0\"${attr_style(`background:${stringify(statusDotColor(dep.status))}`)} aria-hidden=\"true\"></span> <span class=\"iid svelte-1g4s9j0\">${escape_html(dep.id)}</span> <span class=\"ititle svelte-1g4s9j0\">${escape_html(dep.title)}</span></a>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> <section class=\"deps-section svelte-1g4s9j0\"><h4 class=\"section-h svelte-1g4s9j0\">Depended on by `);\n\t\tif (downstream.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"count-badge svelte-1g4s9j0\">↓${escape_html(downstream.length)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></h4> `);\n\t\tif (loading) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1g4s9j0\">Loading…</div>`);\n\t\t} else if (downstream.length === 0) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1g4s9j0\">None.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<ul class=\"dep-list svelte-1g4s9j0\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(downstream);\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet dep = each_array_1[$$index_1];\n\t\t\t\t$$renderer.push(`<li>`);\n\t\t\t\tif (onSelectDep) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"dep-btn svelte-1g4s9j0\"><span class=\"dep-dot svelte-1g4s9j0\"${attr_style(`background:${stringify(statusDotColor(dep.status))}`)} aria-hidden=\"true\"></span> <span class=\"iid svelte-1g4s9j0\">${escape_html(dep.id)}</span> <span class=\"ititle svelte-1g4s9j0\">${escape_html(dep.title)}</span></button>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tasks/${dep.id}`)} class=\"dep-btn svelte-1g4s9j0\"><span class=\"dep-dot svelte-1g4s9j0\"${attr_style(`background:${stringify(statusDotColor(dep.status))}`)} aria-hidden=\"true\"></span> <span class=\"iid svelte-1g4s9j0\">${escape_html(dep.id)}</span> <span class=\"ititle svelte-1g4s9j0\">${escape_html(dep.title)}</span></a>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/DetailDrawer/GatesSection.svelte\nfunction GatesSection($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst GATES = [\n\t\t\t{\n\t\t\t\tkey: \"implemented\",\n\t\t\t\tlabel: \"Impl\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"testsPassed\",\n\t\t\t\tlabel: \"Tests\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"qaPassed\",\n\t\t\t\tlabel: \"QA\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"documented\",\n\t\t\t\tlabel: \"Docs\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"securityPassed\",\n\t\t\t\tlabel: \"Sec\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tkey: \"cleanupDone\",\n\t\t\t\tlabel: \"Cleanup\"\n\t\t\t}\n\t\t];\n\t\tlet { task } = $$props;\n\t\t/**\n\t\t* Read the verification-gate map off `task.acceptance` — the contract\n\t\t* keeps verification inside the acceptance array. When the field is\n\t\t* absent, every gate reads as `false`.\n\t\t*/\n\t\tconst gates = derived(() => {\n\t\t\tconst out = {};\n\t\t\tfor (const g of GATES) out[g.key] = false;\n\t\t\tconst acceptance = task.acceptance;\n\t\t\tif (!Array.isArray(acceptance)) return out;\n\t\t\tfor (const item of acceptance) {\n\t\t\t\tif (typeof item === \"string\") continue;\n\t\t\t\tconst kind = item.kind;\n\t\t\t\tconst gate = item.gate;\n\t\t\t\tconst passed = item.passed === true;\n\t\t\t\tconst gateKey = gate ?? kind;\n\t\t\t\tif (gateKey && gateKey in out && passed) out[gateKey] = true;\n\t\t\t}\n\t\t\treturn out;\n\t\t});\n\t\tconst passed = derived(() => Object.values(gates()).filter(Boolean).length);\n\t\t$$renderer.push(`<section class=\"gates-section svelte-1ugx1vn\"><h4 class=\"section-h svelte-1ugx1vn\">Gates <span class=\"count-badge svelte-1ugx1vn\">${escape_html(passed())} / ${escape_html(GATES.length)}</span></h4> <div class=\"gate-row svelte-1ugx1vn\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(GATES);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet gate = each_array[$$index];\n\t\t\tconst isPassed = gates()[gate.key];\n\t\t\t$$renderer.push(`<span${attr_class(\"gate-pill svelte-1ugx1vn\", void 0, { \"passed\": isPassed })}${attr(\"title\", `${gate.label}: ${isPassed ? \"passed\" : \"not yet\"}`)}><span class=\"dot svelte-1ugx1vn\" aria-hidden=\"true\"></span> <span class=\"lbl\">${escape_html(gate.label)}</span></span>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></section>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/PriorityBadge.svelte\nfunction PriorityBadge($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link PriorityBadge}.\n\t\t*/\n\t\t/** Task priority — one of `critical | high | medium | low`. */\n\t\t/**\n\t\t* When true, render an ultra-compact stripe-only form (no label).\n\t\t* Useful on dense kanban cards. Default `false`.\n\t\t*/\n\t\tlet { priority, compact = false } = $$props;\n\t\tconst displayLabel = derived(() => priority.charAt(0).toUpperCase() + priority.slice(1));\n\t\t$$renderer.push(`<span${attr_class(`priority-badge priority-${stringify(priority)}`, \"svelte-lvypwq\", { \"compact\": compact })} role=\"img\"${attr(\"aria-label\", `Priority: ${displayLabel()}`)}${attr(\"title\", displayLabel())}><span class=\"stripe svelte-lvypwq\" aria-hidden=\"true\"></span> `);\n\t\tif (!compact) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"label\">${escape_html(displayLabel())}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/format.ts\n/**\n* Short glyph used to render a task status inline.\n*\n* @param s - Task status.\n* @returns A single-character glyph matching the legacy Studio pipeline UI.\n*/\nfunction statusIcon(s) {\n\tif (s === \"done\") return \"✓\";\n\tif (s === \"active\") return \"●\";\n\tif (s === \"blocked\") return \"✗\";\n\tif (s === \"cancelled\") return \"⊘\";\n\tif (s === \"archived\") return \"◌\";\n\tif (s === \"proposed\") return \"◆\";\n\treturn \"○\";\n}\n/**\n* Semantic CSS class for a task status. Matches the tokens\n* defined in {@link StatusBadge} and the legacy `/tasks/*` pages.\n*\n* @param s - Task status.\n* @returns CSS class name in the `status-<name>` family.\n*/\nfunction statusClass(s) {\n\treturn `status-${s}`;\n}\n/**\n* Semantic CSS class for a task priority. Matches the tokens defined in\n* {@link PriorityBadge} and the legacy `/tasks/*` pages.\n*\n* @param p - Task priority.\n* @returns CSS class name in the `priority-<name>` family.\n*/\nfunction priorityClass(p) {\n\treturn `priority-${p}`;\n}\n/**\n* Extract the I / T / Q gate booleans from a raw `verification_json` string.\n*\n* Mirrors the behaviour of the three duplicate inline helpers in the current\n* `/tasks/*` pages — returns a safe all-false result on parse failure so the\n* UI renders grey dots instead of crashing.\n*\n* @param json - Raw JSON string from `tasks.verification_json`, or `null`.\n* @returns Object with `implemented`, `testsPassed`, `qaPassed` flags.\n*/\nfunction gatesFromJson(json) {\n\tif (!json) return {\n\t\timplemented: false,\n\t\ttestsPassed: false,\n\t\tqaPassed: false\n\t};\n\ttry {\n\t\tconst gates = JSON.parse(json).gates ?? {};\n\t\treturn {\n\t\t\timplemented: gates[\"implemented\"] === true,\n\t\t\ttestsPassed: gates[\"testsPassed\"] === true,\n\t\t\tqaPassed: gates[\"qaPassed\"] === true\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\timplemented: false,\n\t\t\ttestsPassed: false,\n\t\t\tqaPassed: false\n\t\t};\n\t}\n}\n/**\n* Relative \"Xm ago / Xh ago / Xd ago\" rendering of an ISO timestamp.\n*\n* Matches the legacy `formatTime()` in the `/tasks` dashboard so the\n* Recent Activity feed stays visually identical post-extraction.\n*\n* @param iso - ISO 8601 timestamp string.\n* @param now - Optional timestamp to compare against (for testing). Defaults to `Date.now()`.\n* @returns Short relative-time string, or the original input on parse failure.\n*/\nfunction formatTime(iso, now = Date.now()) {\n\ttry {\n\t\tconst diff = now - new Date(iso).getTime();\n\t\tif (Number.isNaN(diff)) return iso;\n\t\tconst mins = Math.floor(diff / 6e4);\n\t\tif (mins < 1) return \"just now\";\n\t\tif (mins < 60) return `${mins}m ago`;\n\t\tconst hrs = Math.floor(mins / 60);\n\t\tif (hrs < 24) return `${hrs}h ago`;\n\t\treturn `${Math.floor(hrs / 24)}d ago`;\n\t} catch {\n\t\treturn iso;\n\t}\n}\n/**\n* Compute a 0-100 integer progress percentage.\n*\n* @param done - Count of completed children.\n* @param total - Total count of children.\n* @returns Integer percent (0-100). Returns 0 when `total` is 0.\n*/\nfunction progressPct(done, total) {\n\tif (total <= 0) return 0;\n\treturn Math.round(done / total * 100);\n}\n//#endregion\n//#region src/lib/components/tasks/StatusBadge.svelte\nfunction StatusBadge($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link StatusBadge}.\n\t\t*/\n\t\t/** Task status — one of the seven registry values. */\n\t\t/**\n\t\t* When true, render a compact dot-only form (no label text).\n\t\t* Default `false`. Used by list rows where space is tight.\n\t\t*/\n\t\t/**\n\t\t* Optional override for the accessible label. Defaults to the status\n\t\t* name capitalised, e.g. `\"Done\"`.\n\t\t*/\n\t\tlet { status, compact = false, label } = $$props;\n\t\tconst displayLabel = derived(() => label ?? status.charAt(0).toUpperCase() + status.slice(1));\n\t\tconst ariaLabel = derived(() => `Status: ${displayLabel()}`);\n\t\t$$renderer.push(`<span${attr_class(`status-badge status-${stringify(status)}`, \"svelte-1w2ph6k\", { \"compact\": compact })} role=\"status\"${attr(\"aria-label\", ariaLabel())}${attr(\"title\", displayLabel())}><span class=\"glyph svelte-1w2ph6k\" aria-hidden=\"true\">${escape_html(statusIcon(status))}</span> `);\n\t\tif (!compact) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"label\">${escape_html(displayLabel())}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/DetailDrawer/IdentitySection.svelte\nfunction IdentitySection($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Task being inspected. */\n\t\t/** Close callback invoked when the × button is pressed. */\n\t\tlet { task, onClose } = $$props;\n\t\t$$renderer.push(`<header class=\"identity svelte-1hgvisn\"><div class=\"id-row svelte-1hgvisn\"><span class=\"id-badge svelte-1hgvisn\">${escape_html(task.id)}</span> <button type=\"button\" class=\"close-btn svelte-1hgvisn\" aria-label=\"Close detail drawer\">×</button></div> <h3 class=\"title svelte-1hgvisn\">${escape_html(task.title)}</h3> <dl class=\"meta svelte-1hgvisn\"><dt class=\"svelte-1hgvisn\">Status</dt> <dd class=\"svelte-1hgvisn\">`);\n\t\tStatusBadge($$renderer, { status: task.status });\n\t\t$$renderer.push(`<!----></dd> <dt class=\"svelte-1hgvisn\">Priority</dt> <dd class=\"svelte-1hgvisn\">`);\n\t\tPriorityBadge($$renderer, { priority: task.priority ?? \"medium\" });\n\t\t$$renderer.push(`<!----></dd> `);\n\t\tif (task.type) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<dt class=\"svelte-1hgvisn\">Type</dt> <dd class=\"svelte-1hgvisn\">${escape_html(task.type)}</dd>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (task.size) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<dt class=\"svelte-1hgvisn\">Size</dt> <dd class=\"svelte-1hgvisn\">${escape_html(task.size)}</dd>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (task.pipelineStage) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<dt class=\"svelte-1hgvisn\">Pipeline</dt> <dd class=\"svelte-1hgvisn\">${escape_html(task.pipelineStage)}</dd>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (task.updatedAt) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<dt class=\"svelte-1hgvisn\">Updated</dt> <dd class=\"svelte-1hgvisn\">${escape_html(formatTime(task.updatedAt))}</dd>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></dl></header>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/DetailDrawer/LabelsSection.svelte\nfunction LabelsSection($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { task } = $$props;\n\t\tconst acceptanceStrings = derived(() => {\n\t\t\tif (!Array.isArray(task.acceptance)) return [];\n\t\t\treturn task.acceptance.map((item) => typeof item === \"string\" ? item : item.description ?? \"\").filter((s) => s.length > 0);\n\t\t});\n\t\tif (Array.isArray(task.labels) && task.labels.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"sub-section svelte-1amgbwy\"><h4 class=\"section-h svelte-1amgbwy\">Labels</h4> <div class=\"labels-row svelte-1amgbwy\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(task.labels);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet lbl = each_array[$$index];\n\t\t\t\t$$renderer.push(`<span class=\"label-pill svelte-1amgbwy\">${escape_html(lbl)}</span>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (acceptanceStrings().length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"sub-section svelte-1amgbwy\"><h4 class=\"section-h svelte-1amgbwy\">Acceptance Criteria</h4> <ul class=\"criteria-list svelte-1amgbwy\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(acceptanceStrings());\n\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\tlet crit = each_array_1[$$index_1];\n\t\t\t\t$$renderer.push(`<li>${escape_html(crit)}</li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/DetailDrawer.svelte\nfunction DetailDrawer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link DetailDrawer}. The drawer component hides itself\n\t\t* when `task` is `null`.\n\t\t*/\n\t\t/**\n\t\t* When true (default), the drawer fetches fresh state from\n\t\t* `/api/tasks/[id]` + `/api/tasks/[id]/deps` whenever `task.id`\n\t\t* changes. Callers that already resolve deps in-memory can pass\n\t\t* `false` to skip the roundtrip.\n\t\t*/\n\t\tlet { task, onClose, upstream = [], downstream = [], parentChain = [], onSelectDep, loading = false, error, liveFetch = true } = $$props;\n\t\tlet fetchedUpstream = null;\n\t\tlet fetchedDownstream = null;\n\t\tlet fetchedTask = null;\n\t\tlet fetchLoading = false;\n\t\tlet fetchError = null;\n\t\tconst effectiveTask = derived(() => fetchedTask ?? task);\n\t\tconst effectiveUpstream = derived(() => fetchedUpstream ?? upstream);\n\t\tconst effectiveDownstream = derived(() => fetchedDownstream ?? downstream);\n\t\tconst effectiveLoading = derived(() => loading || fetchLoading);\n\t\tconst effectiveError = derived(() => error ?? fetchError);\n\t\tif (effectiveTask()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tconst modalOpen = true;\n\t\t\t{\n\t\t\t\tfunction children($$renderer) {\n\t\t\t\t\t$$renderer.push(`<div class=\"detail-body svelte-hkmc3p\"${attr(\"aria-label\", `Task ${effectiveTask().id} details`)}>`);\n\t\t\t\t\tIdentitySection($$renderer, {\n\t\t\t\t\t\ttask: effectiveTask(),\n\t\t\t\t\t\tonClose\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tBreadcrumbSection($$renderer, {\n\t\t\t\t\t\ttask: effectiveTask(),\n\t\t\t\t\t\tchain: parentChain,\n\t\t\t\t\t\tonSelectDep\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tif (effectiveTask().parentId) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"parent-row svelte-hkmc3p\"><span class=\"parent-label svelte-hkmc3p\">Parent</span> `);\n\t\t\t\t\t\tif (onSelectDep) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"inline-link svelte-hkmc3p\">${escape_html(effectiveTask().parentId)}</button>`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tasks/${effectiveTask().parentId}`)} class=\"inline-link svelte-hkmc3p\">${escape_html(effectiveTask().parentId)}</a>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tLabelsSection($$renderer, { task: effectiveTask() });\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tGatesSection($$renderer, { task: effectiveTask() });\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tDependenciesSection($$renderer, {\n\t\t\t\t\t\tupstream: effectiveUpstream(),\n\t\t\t\t\t\tdownstream: effectiveDownstream(),\n\t\t\t\t\t\tonSelectDep,\n\t\t\t\t\t\tloading: effectiveLoading(),\n\t\t\t\t\t\terror: effectiveError()\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t}\n\t\t\t\tfunction footer($$renderer) {\n\t\t\t\t\t$$renderer.push(`<div class=\"drawer-actions svelte-hkmc3p\"><a${attr(\"href\", `/tasks/${effectiveTask().id}`)} class=\"btn btn-secondary svelte-hkmc3p\">Open full page →</a> <button type=\"button\" class=\"btn btn-primary svelte-hkmc3p\" disabled=\"\" title=\"Wire in T952\">Start working</button></div>`);\n\t\t\t\t}\n\t\t\t\tModal($$renderer, {\n\t\t\t\t\topen: modalOpen,\n\t\t\t\t\ttitle: `Task ${effectiveTask().id}`,\n\t\t\t\t\tmaxWidth: 44,\n\t\t\t\t\tonclose: onClose,\n\t\t\t\t\tclass: \"task-detail-modal\",\n\t\t\t\t\tchildren,\n\t\t\t\t\tfooter,\n\t\t\t\t\t$$slots: {\n\t\t\t\t\t\tdefault: true,\n\t\t\t\t\t\tfooter: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/EpicProgressCard.svelte\nfunction EpicProgressCard($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* A single direct-children rollup row rendered by the card.\n\t\t*\n\t\t* Matches the server-shape returned by\n\t\t* `_computeEpicProgressViaRollup` in `routes/tasks/+page.server.ts`.\n\t\t*/\n\t\t/** Epic task ID. */\n\t\t/** Epic title. */\n\t\t/** Epic's own status (used to render the `cancelled` badge). */\n\t\t/** Total count of direct non-archived children. */\n\t\t/** Count of direct children with `status='done'`. */\n\t\t/** Count of direct children with `status='active'`. */\n\t\t/** Count of direct children with `status='pending'`. */\n\t\t/** Count of direct children with `status='cancelled'`. */\n\t\t/**\n\t\t* Props for {@link EpicProgressCard}.\n\t\t*\n\t\t* T958: `includingDeferred` renamed to `includingCancelled` to match the\n\t\t* canonical URL param (`?cancelled=1`). The deprecated prop name is still\n\t\t* accepted for one release so external consumers do not break.\n\t\t*/\n\t\t/** One row per epic, already filtered by the server load. */\n\t\t/**\n\t\t* When true, show the `(including cancelled)` subtitle and render\n\t\t* cancelled epics with reduced opacity + a `cancelled` badge.\n\t\t*\n\t\t* T958 — canonical name. Prefer this over {@link Props.includingDeferred}.\n\t\t*/\n\t\t/**\n\t\t* @deprecated T958 — use {@link Props.includingCancelled}. Still honoured\n\t\t* for one release to keep pre-rename callers working.\n\t\t*/\n\t\t/**\n\t\t* Override the default deep-link target. When omitted, clicks navigate\n\t\t* to `/tasks/tree/{id}`. Exposed so the Hybrid Explorer can also route\n\t\t* through `/tasks?view=hierarchy&epic=<id>` if the operator prefers.\n\t\t*/\n\t\tlet { epics, includingCancelled = false, includingDeferred = false, hrefFor } = $$props;\n\t\tconst showingCancelled = derived(() => includingCancelled || includingDeferred);\n\t\tfunction defaultHref(ep) {\n\t\t\treturn `/tasks/tree/${ep.id}`;\n\t\t}\n\t\tconst resolveHref = derived(() => hrefFor ?? defaultHref);\n\t\tif (epics.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"epic-progress panel svelte-i7sdat\"><h2 class=\"panel-title svelte-i7sdat\">Epic Progress `);\n\t\t\tif (showingCancelled()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"panel-sub svelte-i7sdat\">(including cancelled)</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></h2> <div class=\"epic-list svelte-i7sdat\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(epics);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet ep = each_array[$$index];\n\t\t\t\tconst pct = progressPct(ep.done, ep.total);\n\t\t\t\t$$renderer.push(`<a${attr(\"href\", resolveHref()(ep))}${attr_class(\"epic-row svelte-i7sdat\", void 0, { \"epic-cancelled\": ep.status === \"cancelled\" })}><div class=\"epic-header-row svelte-i7sdat\"><span class=\"epic-id svelte-i7sdat\">${escape_html(ep.id)}</span> <span class=\"epic-title svelte-i7sdat\">${escape_html(ep.title)}</span> `);\n\t\t\t\tif (ep.status === \"cancelled\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"epic-status-badge badge-cancelled svelte-i7sdat\">cancelled</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span class=\"epic-counts svelte-i7sdat\">${escape_html(ep.done)}/${escape_html(ep.total)}</span> <span class=\"epic-pct svelte-i7sdat\">${escape_html(pct)}%</span></div> <div class=\"epic-progress-bar svelte-i7sdat\"><div class=\"epic-done-bar svelte-i7sdat\"${attr_style(`width:${stringify(pct)}%`)}></div></div> <div class=\"epic-sub-counts svelte-i7sdat\"><span class=\"sub-done svelte-i7sdat\">${escape_html(ep.done)} done</span> <span class=\"sub-active svelte-i7sdat\">${escape_html(ep.active)} active</span> <span class=\"sub-pending svelte-i7sdat\">${escape_html(ep.pending)} pending</span> `);\n\t\t\t\tif (ep.cancelled > 0) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"sub-cancelled svelte-i7sdat\">${escape_html(ep.cancelled)} cancelled</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div></a>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/FilterChipGroup.svelte\nfunction FilterChipGroup($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* A single selectable option in a {@link FilterChipGroup}.\n\t\t*/\n\t\t/** Opaque value stored in the `selected` array. */\n\t\t/** Human-readable chip label. */\n\t\t/**\n\t\t* Optional count shown as a trailing badge. When omitted, no badge\n\t\t* renders. Useful for \"Pending (12)\" style filters.\n\t\t*/\n\t\t/**\n\t\t* Optional CSS colour token to paint the chip's active state. Defaults\n\t\t* to the accent colour. Example: `\"#22c55e\"` for the done chip.\n\t\t*/\n\t\t/**\n\t\t* Props for {@link FilterChipGroup}.\n\t\t*/\n\t\t/** Group-level label shown as a lead-in (e.g. `\"Status\"`). */\n\t\t/** Available options. */\n\t\t/**\n\t\t* Currently selected values. A value is \"on\" iff it appears in this\n\t\t* array. Empty array = nothing selected (equivalent to \"All\").\n\t\t*/\n\t\t/**\n\t\t* Called whenever the user toggles a chip. Receives the NEXT\n\t\t* selection array (immutable — do not mutate in place).\n\t\t*/\n\t\t/**\n\t\t* When true, the group enforces single-selection (radio-style).\n\t\t* Default `false` (multi-select).\n\t\t*/\n\t\tlet { label, options, selected, onChange, exclusive = false } = $$props;\n\t\t$$renderer.push(`<div class=\"chip-group svelte-w20ue6\" role=\"group\"${attr(\"aria-label\", label ?? \"Filter\")}>`);\n\t\tif (label) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"chip-group-label svelte-w20ue6\">${escape_html(label)}</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\tconst each_array = ensure_array_like(options);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet opt = each_array[$$index];\n\t\t\tconst isActive = selected.includes(opt.value);\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"chip svelte-w20ue6\", void 0, { \"active\": isActive })}${attr(\"aria-pressed\", isActive)}${attr_style(opt.tint && isActive ? `--chip-tint:${opt.tint}` : void 0)}>`);\n\t\t\tif (opt.tint) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"dot svelte-w20ue6\"${attr_style(`background:${stringify(opt.tint)}`)}></span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <span class=\"chip-label svelte-w20ue6\">${escape_html(opt.label)}</span> `);\n\t\t\tif (typeof opt.count === \"number\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"chip-count svelte-w20ue6\">${escape_html(opt.count)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/GraphTab.svelte\n/**\n* Apply the shared task-filter state to a single task.\n*\n* @param task - Candidate task.\n* @param filters - Current filter state.\n*/\nfunction passesFilter(task, filters) {\n\tconst q = filters.query.trim().toLowerCase();\n\tif (q.length > 0) {\n\t\tconst idHit = task.id.toLowerCase().includes(q);\n\t\tconst titleHit = (task.title ?? \"\").toLowerCase().includes(q);\n\t\tif (!idHit && !titleHit) return false;\n\t}\n\tif (filters.status.length > 0 && !filters.status.includes(task.status)) return false;\n\tif (filters.priority.length > 0 && !filters.priority.includes(task.priority)) return false;\n\tif (filters.labels.length > 0) {\n\t\tif (!(task.labels ?? []).some((l) => filters.labels.includes(l))) return false;\n\t}\n\tif (!filters.cancelled && task.type === \"epic\" && task.status === \"cancelled\") return false;\n\treturn true;\n}\n/**\n* Invoke the filter store's `setSelected` with the clicked node's id.\n*/\nfunction clickNode(filtersHandle, nodeId) {\n\tfiltersHandle.setSelected(nodeId);\n}\nfunction GraphTab($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Minimal filter handle surface required by {@link GraphTab}.\n\t\t*/\n\t\t/** Full task set from the {@link ExplorerBundle}. */\n\t\t/** All dependency edges from the bundle. */\n\t\t/** Shared filter store — drives visibility + selection. */\n\t\t/** Distinct labels across the bundle (drives the labels chip group). */\n\t\t/**\n\t\t* The active project id (from the root layout data) — when present, the\n\t\t* tab offers an \"open in operator console\" deep link to the saga-scoped\n\t\t* workgraph shell (T11558). Passed as a prop (NOT read from `$app/stores`)\n\t\t* so this module stays import-safe in the vitest node environment that\n\t\t* exercises its pure exports.\n\t\t*/\n\t\tlet { tasks, deps, filters, labels = [], activeProjectId = null } = $$props;\n\t\tconst visibleTaskSet = derived(() => {\n\t\t\tconst s = /* @__PURE__ */ new Set();\n\t\t\tfor (const t of tasks) if (passesFilter(t, filters.state)) s.add(t.id);\n\t\t\treturn s;\n\t\t});\n\t\tconst visibleTasks = derived(() => tasks.filter((t) => visibleTaskSet().has(t.id)));\n\t\tconst graph = derived(() => tasksToGraph(visibleTasks(), deps, {\n\t\t\tepicScope: filters.state.epic ?? null,\n\t\t\tincludeCancelled: filters.state.cancelled,\n\t\t\tincludeArchived: false\n\t\t}));\n\t\tconst VISIBLE_EDGE_KINDS = new Set([\n\t\t\t\"parent\",\n\t\t\t\"blocks\",\n\t\t\t\"depends\"\n\t\t]);\n\t\tconst tasksById = derived(() => new Map(tasks.map((t) => [t.id, t])));\n\t\tconst selectedTask = derived(() => filters.state.selected ? tasksById().get(filters.state.selected) ?? null : null);\n\t\tconst upstreamLinks = derived(() => {\n\t\t\tif (!selectedTask()) return [];\n\t\t\tconst out = [];\n\t\t\tfor (const d of deps) {\n\t\t\t\tif (d.taskId !== selectedTask().id) continue;\n\t\t\t\tconst blocker = tasksById().get(d.dependsOn);\n\t\t\t\tif (!blocker) continue;\n\t\t\t\tout.push({\n\t\t\t\t\tid: blocker.id,\n\t\t\t\t\ttitle: blocker.title,\n\t\t\t\t\tstatus: blocker.status,\n\t\t\t\t\tpriority: blocker.priority\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn out;\n\t\t});\n\t\tconst downstreamLinks = derived(() => {\n\t\t\tif (!selectedTask()) return [];\n\t\t\tconst out = [];\n\t\t\tfor (const d of deps) {\n\t\t\t\tif (d.dependsOn !== selectedTask().id) continue;\n\t\t\t\tconst dependent = tasksById().get(d.taskId);\n\t\t\t\tif (!dependent) continue;\n\t\t\t\tout.push({\n\t\t\t\t\tid: dependent.id,\n\t\t\t\t\ttitle: dependent.title,\n\t\t\t\t\tstatus: dependent.status,\n\t\t\t\t\tpriority: dependent.priority\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn out;\n\t\t});\n\t\tconst parentChain = derived(() => {\n\t\t\tif (!selectedTask()) return [];\n\t\t\tconst chain = [];\n\t\t\tlet current = selectedTask().parentId ? tasksById().get(selectedTask().parentId) : void 0;\n\t\t\tconst seen = /* @__PURE__ */ new Set();\n\t\t\twhile (current && !seen.has(current.id)) {\n\t\t\t\tseen.add(current.id);\n\t\t\t\tchain.unshift({\n\t\t\t\t\tid: current.id,\n\t\t\t\t\ttitle: current.title,\n\t\t\t\t\ttype: current.type\n\t\t\t\t});\n\t\t\t\tcurrent = current.parentId ? tasksById().get(current.parentId) : void 0;\n\t\t\t}\n\t\t\treturn chain;\n\t\t});\n\t\tfunction onNodeClicked(n) {\n\t\t\tclickNode(filters, n.id);\n\t\t}\n\t\tconst workgraphHref = derived(() => {\n\t\t\tif (!activeProjectId) return null;\n\t\t\tconst scope = filters.state.epic;\n\t\t\treturn scope ? `/studio/${activeProjectId}/${scope}` : `/studio/${activeProjectId}`;\n\t\t});\n\t\tfunction onDrawerClose() {\n\t\t\tfilters.setSelected(null);\n\t\t}\n\t\tfunction onDrawerSelectDep(id) {\n\t\t\tfilters.setSelected(id);\n\t\t}\n\t\t$$renderer.push(`<div class=\"graph-tab svelte-ixziuo\"><div class=\"controls-bar svelte-ixziuo\"><div class=\"controls-row svelte-ixziuo\"><label class=\"cancelled-toggle svelte-ixziuo\"><input type=\"checkbox\"${attr(\"checked\", filters.state.cancelled, true)} class=\"svelte-ixziuo\"/> <span>Include cancelled epics</span></label> <span class=\"visible-count svelte-ixziuo\">Showing <strong class=\"svelte-ixziuo\">${escape_html(graph().nodes.length)}</strong> of <strong class=\"svelte-ixziuo\">${escape_html(tasks.length)}</strong> tasks</span> `);\n\t\tif (workgraphHref()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<a class=\"workgraph-link svelte-ixziuo\"${attr(\"href\", workgraphHref())}>Open in operator console →</a>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div></div> <div class=\"graph-body svelte-ixziuo\"><div class=\"graph-wrap svelte-ixziuo\">`);\n\t\tif (graph().nodes.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty-state svelte-ixziuo\"><p>No tasks match the current filters.</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tSvgRenderer($$renderer, {\n\t\t\t\tnodes: graph().nodes,\n\t\t\t\tedges: graph().edges,\n\t\t\t\tclusters: graph().clusters,\n\t\t\t\tvisibleEdgeKinds: VISIBLE_EDGE_KINDS,\n\t\t\t\tselectedNodeId: filters.state.selected,\n\t\t\t\tonNodeClick: onNodeClicked,\n\t\t\t\tshowLabels: \"id-only\",\n\t\t\t\tnodeRenderer: \"pill\",\n\t\t\t\tshowToolbar: true,\n\t\t\t\tshowLegend: true,\n\t\t\t\tariaLabel: \"Task relationship graph\"\n\t\t\t});\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> `);\n\t\tif (selectedTask()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tDetailDrawer($$renderer, {\n\t\t\t\ttask: selectedTask(),\n\t\t\t\tupstream: upstreamLinks(),\n\t\t\t\tdownstream: downstreamLinks(),\n\t\t\t\tparentChain: parentChain(),\n\t\t\t\tonClose: onDrawerClose,\n\t\t\t\tonSelectDep: onDrawerSelectDep\n\t\t\t});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/hierarchy-tree.ts\n/**\n* Synthetic sentinel ID used for the \"Unparented\" pseudo-root bucket.\n*\n* Prefixed with `__` so it cannot collide with a real `T###` task ID. The UI\n* renders this row as a non-selectable grouping header.\n*/\nvar UNPARENTED_BUCKET_ID = \"__unparented\";\n/**\n* Compute inbound/outbound dependency counts for every task ID that appears\n* in either endpoint of the given edge set.\n*\n* The convention (matching the `task_dependencies` SQLite table) is that\n* `taskId` depends on `dependsOn`:\n* - Inbound (`in`) count for task `X` = edges where `dependsOn === X`\n* (X is a blocker — other tasks depend on it; displayed as `← N`).\n* - Outbound (`out`) count for task `X` = edges where `taskId === X`\n* (X is blocked by others; displayed as `→ N`).\n*\n* @param deps - Dependency edges.\n* @returns {@link DepCountMap} with maps for inbound + outbound counts.\n*/\nfunction computeDepCounts(deps) {\n\tconst inCounts = /* @__PURE__ */ new Map();\n\tconst outCounts = /* @__PURE__ */ new Map();\n\tfor (const edge of deps) {\n\t\toutCounts.set(edge.taskId, (outCounts.get(edge.taskId) ?? 0) + 1);\n\t\tinCounts.set(edge.dependsOn, (inCounts.get(edge.dependsOn) ?? 0) + 1);\n\t}\n\treturn {\n\t\tin: inCounts,\n\t\tout: outCounts\n\t};\n}\n/**\n* Apply the user's query / status / priority / label filters to a single task.\n*\n* Used to decide which nodes are \"matched\". Tree pruning keeps ancestors of\n* matched tasks so the tree remains navigable — see {@link pruneTree}.\n*\n* Matching rules (case-insensitive for query; exact for enums):\n* - If `query` is non-empty, `title.toLowerCase().includes(q)` OR\n* `id.toLowerCase().includes(q)` must be true.\n* - If `status` list is non-empty, `task.status` must be in the list.\n* - If `priority` list is non-empty, `task.priority` must be in the list.\n* - If `labels` list is non-empty, at least one of `task.labels` must be in\n* the list (ANY-match, not ALL).\n* - If `cancelled` is false, tasks with `status = 'cancelled'` are excluded\n* unless they have `type !== 'epic'` (the toggle is per-§10 epic-scoped).\n*\n* @param task - The task to test.\n* @param filters - The active filter state.\n* @returns `true` if the task matches.\n*/\nfunction matchesFilters(task, filters) {\n\tif (!filters.cancelled && task.type === \"epic\" && task.status === \"cancelled\") return false;\n\tif (filters.status.length > 0 && !filters.status.includes(task.status)) return false;\n\tif (filters.priority.length > 0 && !filters.priority.includes(task.priority)) return false;\n\tif (filters.labels.length > 0) {\n\t\tconst have = new Set(task.labels ?? []);\n\t\tlet anyMatch = false;\n\t\tfor (const wanted of filters.labels) if (have.has(wanted)) {\n\t\t\tanyMatch = true;\n\t\t\tbreak;\n\t\t}\n\t\tif (!anyMatch) return false;\n\t}\n\tif (filters.query.length > 0) {\n\t\tconst q = filters.query.toLowerCase();\n\t\tconst title = task.title.toLowerCase();\n\t\tconst id = task.id.toLowerCase();\n\t\tif (!title.includes(q) && !id.includes(q)) return false;\n\t}\n\treturn true;\n}\n/**\n* Build the global hierarchy tree from a flat task list.\n*\n* - Roots are tasks with `parentId == null`.\n* - Tasks with a non-null `parentId` that does NOT appear in the payload\n* (missing / archived parent) are classified as orphans and grouped under\n* the {@link UNPARENTED_BUCKET_ID} pseudo-root.\n* - Siblings are sorted by (`position ?? MAX_SAFE_INTEGER`, `id`).\n*\n* @param tasks - All tasks to include.\n* @param depCounts - Precomputed dep counts from {@link computeDepCounts}.\n* @returns The synthetic root nodes (real roots first, then `__unparented`\n* if it has any children).\n*/\nfunction buildGlobalTree(tasks, depCounts) {\n\tconst byId = /* @__PURE__ */ new Map();\n\tfor (const t of tasks) byId.set(t.id, t);\n\tconst childrenOf = /* @__PURE__ */ new Map();\n\tconst roots = [];\n\tconst orphans = [];\n\tfor (const t of tasks) {\n\t\tif (t.parentId === null || t.parentId === void 0) {\n\t\t\troots.push(t);\n\t\t\tcontinue;\n\t\t}\n\t\tif (!byId.has(t.parentId)) {\n\t\t\torphans.push(t);\n\t\t\tcontinue;\n\t\t}\n\t\tconst list = childrenOf.get(t.parentId);\n\t\tif (list) list.push(t);\n\t\telse childrenOf.set(t.parentId, [t]);\n\t}\n\tsortSiblings(roots);\n\tsortSiblings(orphans);\n\tfor (const list of childrenOf.values()) sortSiblings(list);\n\tconst nodes = [];\n\tfor (const root of roots) nodes.push(buildNode(root, childrenOf, depCounts, 0));\n\tif (orphans.length > 0) {\n\t\tconst children = [];\n\t\tfor (const orphan of orphans) children.push(buildNode(orphan, childrenOf, depCounts, 1));\n\t\tnodes.push({\n\t\t\tid: UNPARENTED_BUCKET_ID,\n\t\t\ttask: null,\n\t\t\tchildren,\n\t\t\tdepth: 0,\n\t\t\tdepsIn: 0,\n\t\t\tdepsOut: 0\n\t\t});\n\t}\n\treturn nodes;\n}\n/**\n* Build the epic-scoped subtree rooted at `epicId`.\n*\n* When the epic is missing from the payload (e.g. archived), returns an\n* empty array — the UI surfaces an empty state in that case.\n*\n* @param tasks - All tasks to include.\n* @param depCounts - Precomputed dep counts from {@link computeDepCounts}.\n* @param epicId - The root epic's task ID.\n* @returns A single-element array containing the epic's subtree, or `[]`.\n*/\nfunction buildEpicSubtree(tasks, depCounts, epicId) {\n\tconst byId = /* @__PURE__ */ new Map();\n\tfor (const t of tasks) byId.set(t.id, t);\n\tconst epic = byId.get(epicId);\n\tif (!epic) return [];\n\tconst childrenOf = /* @__PURE__ */ new Map();\n\tfor (const t of tasks) {\n\t\tif (t.parentId === null || t.parentId === void 0) continue;\n\t\tconst list = childrenOf.get(t.parentId);\n\t\tif (list) list.push(t);\n\t\telse childrenOf.set(t.parentId, [t]);\n\t}\n\tfor (const list of childrenOf.values()) sortSiblings(list);\n\treturn [buildNode(epic, childrenOf, depCounts, 0)];\n}\n/**\n* Recursive tree node factory — internal helper.\n*/\nfunction buildNode(task, childrenOf, depCounts, depth) {\n\tconst kids = childrenOf.get(task.id) ?? [];\n\tconst children = [];\n\tfor (const kid of kids) children.push(buildNode(kid, childrenOf, depCounts, depth + 1));\n\treturn {\n\t\tid: task.id,\n\t\ttask,\n\t\tchildren,\n\t\tdepth,\n\t\tdepsIn: depCounts.in.get(task.id) ?? 0,\n\t\tdepsOut: depCounts.out.get(task.id) ?? 0\n\t};\n}\n/**\n* Sort an array of tasks by (`position ?? MAX_SAFE_INTEGER`, `id`) in place.\n*\n* Matches `cleo list --parent` ordering.\n*/\nfunction sortSiblings(tasks) {\n\ttasks.sort((a, b) => {\n\t\tconst pa = a.position ?? Number.MAX_SAFE_INTEGER;\n\t\tconst pb = b.position ?? Number.MAX_SAFE_INTEGER;\n\t\tif (pa !== pb) return pa - pb;\n\t\treturn a.id < b.id ? -1 : a.id > b.id ? 1 : 0;\n\t});\n}\n/**\n* Prune a tree so that only nodes whose {@link Task} matches the filters\n* — AND any ancestor of such a node — remain.\n*\n* This keeps the tree visually navigable when a filter narrows the matches:\n* matched rows retain their parent chain so the user can see context.\n*\n* The unparented pseudo-root is preserved iff at least one orphan passes\n* the filter.\n*\n* @param nodes - The tree roots to prune.\n* @param filters - Active filter state.\n* @returns Pruned tree (new array; input is not mutated).\n*/\nfunction pruneTree(nodes, filters) {\n\tconst out = [];\n\tfor (const node of nodes) {\n\t\tconst kept = pruneNode(node, filters);\n\t\tif (kept) out.push(kept);\n\t}\n\treturn out;\n}\n/**\n* Recursive node pruner — returns a filtered clone, or `null` if neither the\n* node nor any descendant matches.\n*/\nfunction pruneNode(node, filters) {\n\tconst keptChildren = [];\n\tfor (const child of node.children) {\n\t\tconst kept = pruneNode(child, filters);\n\t\tif (kept) keptChildren.push(kept);\n\t}\n\tif (node.task === null) {\n\t\tif (keptChildren.length === 0) return null;\n\t\treturn {\n\t\t\t...node,\n\t\t\tchildren: keptChildren\n\t\t};\n\t}\n\tif (!matchesFilters(node.task, filters) && keptChildren.length === 0) return null;\n\treturn {\n\t\t...node,\n\t\tchildren: keptChildren\n\t};\n}\n/**\n* Flatten an expanded tree into an array of {@link FlatRow}s for rendering.\n*\n* Only rows whose ancestors are all in `expandedIds` appear in the output\n* (collapsed subtrees are omitted). The root nodes themselves are always\n* included (their `id` being absent from `expandedIds` only omits THEIR\n* children, not the root itself).\n*\n* @param roots - The pruned tree roots.\n* @param expandedIds - Set of node IDs whose children should be visible.\n* @returns Flattened rows in depth-first pre-order, suitable for slicing.\n*/\nfunction flattenTree(roots, expandedIds) {\n\tconst out = [];\n\tfunction descendantCount(node) {\n\t\tlet count = 0;\n\t\tfor (const child of node.children) count += 1 + descendantCount(child);\n\t\treturn count;\n\t}\n\tfunction walk(node) {\n\t\tconst hasChildren = node.children.length > 0;\n\t\tconst expanded = expandedIds.has(node.id);\n\t\tconst isEpic = node.task?.type === \"epic\";\n\t\tconst descendants = descendantCount(node);\n\t\tout.push({\n\t\t\tid: node.id,\n\t\t\ttask: node.task,\n\t\t\tdepth: node.depth,\n\t\t\tdepsIn: node.depsIn,\n\t\t\tdepsOut: node.depsOut,\n\t\t\tisEpic,\n\t\t\thasChildren,\n\t\t\texpanded,\n\t\t\tdescendantCount: descendants\n\t\t});\n\t\tif (hasChildren && expanded) for (const child of node.children) walk(child);\n\t}\n\tfor (const root of roots) walk(root);\n\treturn out;\n}\n/**\n* Collect every node ID in the tree (recursive). Used to implement \"Expand\n* all\" by producing the universal expanded-set.\n*\n* @param roots - Tree roots.\n* @returns Set of every node ID across every depth.\n*/\nfunction collectAllIds(roots) {\n\tconst out = /* @__PURE__ */ new Set();\n\tfunction walk(node) {\n\t\tout.add(node.id);\n\t\tfor (const child of node.children) walk(child);\n\t}\n\tfor (const r of roots) walk(r);\n\treturn out;\n}\n/**\n* Compute the windowed slice of flat rows to render for virtualization.\n*\n* Only rows intersecting the viewport (plus a `buffer` of rows above and\n* below) are returned. Callers spread a top spacer of `startIndex *\n* rowHeight` and a bottom spacer covering the remainder.\n*\n* ## Threshold\n*\n* The Hierarchy tab skips virtualization entirely when the total row count\n* is below a small threshold (~200) — callers can detect this via the spec\n* recommendation and render without spacers. {@link windowRows} still\n* returns a correct `{ startIndex: 0, visible: rows }` slice in that case.\n*\n* @param rows - Full flattened tree.\n* @param opts - Viewport parameters.\n* @returns {@link Window} slice.\n*/\nfunction windowRows(rows, opts) {\n\tconst { scrollTop, viewportHeight, rowHeight } = opts;\n\tconst buffer = opts.buffer ?? 50;\n\tconst totalRows = rows.length;\n\tif (totalRows === 0) return {\n\t\tstartIndex: 0,\n\t\tvisible: [],\n\t\ttotalRows: 0\n\t};\n\tif (rowHeight <= 0 || viewportHeight <= 0) return {\n\t\tstartIndex: 0,\n\t\tvisible: rows.slice(),\n\t\ttotalRows\n\t};\n\tconst firstVisible = Math.floor(scrollTop / rowHeight);\n\tconst viewportRows = Math.ceil(viewportHeight / rowHeight);\n\tconst startIndex = Math.max(0, firstVisible - buffer);\n\tconst endIndex = Math.min(totalRows, firstVisible + viewportRows + buffer);\n\treturn {\n\t\tstartIndex,\n\t\tvisible: rows.slice(startIndex, endIndex),\n\t\ttotalRows\n\t};\n}\n//#endregion\n//#region src/lib/components/tasks/HierarchyTab.svelte\nfunction HierarchyTab($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link HierarchyTab}.\n\t\t*/\n\t\t/**\n\t\t* All tasks for the current project context, typically from\n\t\t* {@link import('../../server/tasks/explorer-loader.js').ExplorerBundle.tasks}.\n\t\t*/\n\t\t/**\n\t\t* All dependency edges (task_dependencies) for the loaded task set.\n\t\t*/\n\t\t/**\n\t\t* Per-epic progress rollup for the loaded task set (direct-children\n\t\t* basis per T874).\n\t\t*/\n\t\t/**\n\t\t* The shared Task Explorer filter store (T951). The tab reads filter\n\t\t* state from `filters.state` and writes selection / epic drill-down\n\t\t* mutations back through the setter methods.\n\t\t*/\n\t\t/**\n\t\t* Fixed row height in px for the virtualization math. Default `32`.\n\t\t*/\n\t\t/**\n\t\t* Threshold above which virtualization kicks in. Below this count, every\n\t\t* row renders without spacers. Default `200`.\n\t\t*/\n\t\tlet { tasks, deps, epicProgress = {}, filters, rowHeight = 32, virtualizationThreshold = 200 } = $$props;\n\t\tconst depCounts = derived(() => computeDepCounts(deps));\n\t\tconst roots = derived(() => {\n\t\t\tif (filters.state.epic === null) return buildGlobalTree(tasks, depCounts());\n\t\t\treturn buildEpicSubtree(tasks, depCounts(), filters.state.epic);\n\t\t});\n\t\tconst prunedRoots = derived(() => pruneTree(roots(), filters.state));\n\t\tlet expandedIds = /* @__PURE__ */ new Set();\n\t\tconst filteringActive = derived(() => filters.state.query.length > 0 || filters.state.status.length > 0 || filters.state.priority.length > 0 || filters.state.labels.length > 0);\n\t\tconst effectiveExpandedIds = derived(() => filteringActive() ? collectAllIds(prunedRoots()) : expandedIds);\n\t\tconst flatRows = derived(() => flattenTree(prunedRoots(), effectiveExpandedIds()));\n\t\tlet scrollTop = 0;\n\t\tlet viewportHeight = 600;\n\t\tconst virtualize = derived(() => flatRows().length >= virtualizationThreshold);\n\t\tconst windowed = derived(() => virtualize() ? windowRows(flatRows(), {\n\t\t\tscrollTop,\n\t\t\tviewportHeight,\n\t\t\trowHeight,\n\t\t\tbuffer: 50\n\t\t}) : {\n\t\t\tstartIndex: 0,\n\t\t\tvisible: flatRows(),\n\t\t\ttotalRows: flatRows().length\n\t\t});\n\t\tconst topSpacer = derived(() => virtualize() ? windowed().startIndex * rowHeight : 0);\n\t\tconst totalHeight = derived(() => flatRows().length * rowHeight);\n\t\tconst bottomSpacer = derived(() => virtualize() ? Math.max(0, totalHeight() - topSpacer() - windowed().visible.length * rowHeight) : 0);\n\t\tconst focusedIndex = derived(() => {\n\t\t\tconst sel = filters.state.selected;\n\t\t\tif (!sel) return -1;\n\t\t\treturn windowed().visible.findIndex((r) => r.id === sel);\n\t\t});\n\t\tconst scopedEpic = derived(() => {\n\t\t\tconst id = filters.state.epic;\n\t\t\tif (!id) return null;\n\t\t\treturn tasks.find((t) => t.id === id) ?? null;\n\t\t});\n\t\tconst isEmpty = derived(() => flatRows().length === 0);\n\t\tfunction rowLabel(row) {\n\t\t\tif (!row.task) return \"Unparented tasks\";\n\t\t\treturn `${row.task.id}: ${row.task.title}`;\n\t\t}\n\t\t$$renderer.push(`<section class=\"hierarchy-tab svelte-1mkjjgf\" role=\"tree\" aria-label=\"Task hierarchy\" tabindex=\"0\"><header class=\"ht-toolbar svelte-1mkjjgf\">`);\n\t\tif (scopedEpic()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<nav class=\"breadcrumb svelte-1mkjjgf\" aria-label=\"Epic scope breadcrumb\"><button type=\"button\" class=\"crumb-btn svelte-1mkjjgf\">All epics</button> <span class=\"crumb-sep svelte-1mkjjgf\" aria-hidden=\"true\">›</span> <span class=\"crumb-current svelte-1mkjjgf\"><span class=\"crumb-id svelte-1mkjjgf\">${escape_html(scopedEpic().id)}</span> <span class=\"crumb-title svelte-1mkjjgf\">${escape_html(scopedEpic().title)}</span></span></nav>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<span class=\"scope-label svelte-1mkjjgf\">Global hierarchy</span>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <div class=\"toolbar-spacer svelte-1mkjjgf\"></div> <div class=\"toolbar-actions svelte-1mkjjgf\"><span class=\"count-chip svelte-1mkjjgf\" title=\"Rows visible / total tasks\">${escape_html(flatRows().length)} of ${escape_html(tasks.length)}</span> <button type=\"button\" class=\"tb-btn svelte-1mkjjgf\" title=\"Expand all\"${attr(\"disabled\", filteringActive(), true)}>⊞ Expand</button> <button type=\"button\" class=\"tb-btn svelte-1mkjjgf\" title=\"Collapse all\"${attr(\"disabled\", filteringActive(), true)}>⊟ Collapse</button></div></header> `);\n\t\tif (scopedEpic()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<aside class=\"epic-summary svelte-1mkjjgf\" aria-label=\"Scoped epic summary\"><h3 class=\"epic-summary-title svelte-1mkjjgf\">${escape_html(scopedEpic().title)}</h3> `);\n\t\t\tif (epicProgress[scopedEpic().id]) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tconst bucket = epicProgress[scopedEpic().id];\n\t\t\t\tconst pct = progressPct(bucket.done, bucket.total);\n\t\t\t\t$$renderer.push(`<div class=\"epic-summary-progress svelte-1mkjjgf\"><span class=\"es-counts svelte-1mkjjgf\">${escape_html(bucket.done)}/${escape_html(bucket.total)}</span> <div class=\"es-bar svelte-1mkjjgf\"><div class=\"es-bar-fill svelte-1mkjjgf\"${attr_style(`width:${stringify(pct)}%`)}></div></div> <span class=\"es-pct svelte-1mkjjgf\">${escape_html(pct)}%</span></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (Array.isArray(scopedEpic().acceptance) && scopedEpic().acceptance.length > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<details class=\"epic-acceptance svelte-1mkjjgf\"><summary class=\"svelte-1mkjjgf\">Acceptance criteria (${escape_html(scopedEpic().acceptance.length)})</summary> <ul class=\"svelte-1mkjjgf\"><!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(scopedEpic().acceptance);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet crit = each_array[$$index];\n\t\t\t\t\t$$renderer.push(`<li>${escape_html(typeof crit === \"string\" ? crit : crit.description ?? \"\")}</li>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></ul></details>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></aside>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"ht-viewport svelte-1mkjjgf\" data-testid=\"ht-viewport\">`);\n\t\tif (isEmpty()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"ht-empty svelte-1mkjjgf\">`);\n\t\t\tif (filteringActive()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`No tasks match the current filters.`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`No tasks to display.`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tif (topSpacer() > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"ht-spacer svelte-1mkjjgf\"${attr_style(`height:${stringify(topSpacer())}px`)} aria-hidden=\"true\"></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <ul class=\"ht-list svelte-1mkjjgf\" role=\"group\" aria-label=\"Task rows\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(windowed().visible);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet row = each_array_1[$$index_2];\n\t\t\t\tconst epicBucket = row.isEpic && row.task ? epicProgress[row.task.id] ?? null : null;\n\t\t\t\tconst pct = epicBucket ? progressPct(epicBucket.done, epicBucket.total) : 0;\n\t\t\t\t$$renderer.push(`<li${attr_class(\"ht-row svelte-1mkjjgf\", void 0, {\n\t\t\t\t\t\"focused\": focusedIndex() !== -1 && windowed().visible[focusedIndex()]?.id === row.id,\n\t\t\t\t\t\"is-epic\": row.isEpic,\n\t\t\t\t\t\"is-bucket\": row.task === null\n\t\t\t\t})}${attr_style(`padding-left:${stringify(row.depth * 16 + 8)}px; height:${stringify(rowHeight)}px`)} role=\"treeitem\"${attr(\"aria-level\", row.depth + 1)}${attr(\"aria-expanded\", row.hasChildren ? row.expanded : void 0)}${attr(\"aria-selected\", filters.state.selected === row.id)}${attr(\"aria-label\", rowLabel(row))}${attr(\"data-id\", row.id)}><div class=\"ht-row-inner svelte-1mkjjgf\"><span class=\"row-caret svelte-1mkjjgf\" aria-hidden=\"true\">`);\n\t\t\t\tif (row.hasChildren) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`${escape_html(row.expanded ? \"▾\" : \"▸\")}`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(` `);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></span> `);\n\t\t\t\tif (row.task === null) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"bucket-label svelte-1mkjjgf\">Unparented</span> <span class=\"row-descendants svelte-1mkjjgf\">(${escape_html(row.descendantCount)})</span>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"row-id svelte-1mkjjgf\">${escape_html(row.task.id)}</span> <span class=\"row-title svelte-1mkjjgf\">${escape_html(row.task.title)}</span> `);\n\t\t\t\t\tStatusBadge($$renderer, {\n\t\t\t\t\t\tstatus: row.task.status,\n\t\t\t\t\t\tcompact: true\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tPriorityBadge($$renderer, {\n\t\t\t\t\t\tpriority: row.task.priority ?? \"medium\",\n\t\t\t\t\t\tcompact: true\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tif (row.task.size) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"size-chip svelte-1mkjjgf\">${escape_html(row.task.size)}</span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (row.isEpic && epicBucket) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"epic-mini-progress svelte-1mkjjgf\"${attr(\"title\", `${stringify(epicBucket.done)}/${stringify(epicBucket.total)}`)}><span class=\"emp-bar svelte-1mkjjgf\"><span class=\"emp-fill svelte-1mkjjgf\"${attr_style(`width:${stringify(pct)}%`)}></span></span> <span class=\"emp-label svelte-1mkjjgf\">${escape_html(epicBucket.done)}/${escape_html(epicBucket.total)}</span></span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (row.depsIn > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"dep-badge dep-in svelte-1mkjjgf\"${attr(\"title\", `${stringify(row.depsIn)} tasks depend on this`)}>← ${escape_html(row.depsIn)}</button>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (row.depsOut > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"dep-badge dep-out svelte-1mkjjgf\"${attr(\"title\", `This task depends on ${stringify(row.depsOut)} tasks`)}>→ ${escape_html(row.depsOut)}</button>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (Array.isArray(row.task.labels) && row.task.labels.length > 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<span class=\"row-labels svelte-1mkjjgf\"><!--[-->`);\n\t\t\t\t\t\tconst each_array_2 = ensure_array_like(row.task.labels.slice(0, 3));\n\t\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\t\tlet lbl = each_array_2[$$index_1];\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"label-pill svelte-1mkjjgf\">${escape_html(lbl)}</span>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\t\tif (row.task.labels.length > 3) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<span class=\"label-pill more svelte-1mkjjgf\">+${escape_html(row.task.labels.length - 3)}</span>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></span>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\t\tif (row.isEpic && row.hasChildren) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"drill-btn svelte-1mkjjgf\" title=\"Drill into this epic\">drill →</button>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div></li>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></ul> `);\n\t\t\tif (bottomSpacer() > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"ht-spacer svelte-1mkjjgf\"${attr_style(`height:${stringify(bottomSpacer())}px`)} aria-hidden=\"true\"></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></section>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/kanban-bucketing.ts\n/**\n* Canonical ordered list of Kanban column statuses.\n*\n* Deliberately excludes `archived` (filtered at the loader) and `proposed`\n* (pre-lifecycle; not surfaced in the primary dashboard view). Operator\n* decision captured in `docs/specs/CLEO-TASK-DASHBOARD-SPEC.md` §5.4.\n*/\nvar KANBAN_COLUMN_ORDER = [\n\t\"pending\",\n\t\"active\",\n\t\"blocked\",\n\t\"done\",\n\t\"cancelled\"\n];\n/** Human-readable title for the \"no epic\" bucket. */\nvar NO_EPIC_GROUP_TITLE = \"No epic\";\n/**\n* Build a `{ id -> Task }` map from a flat task array.\n*\n* Defensive against duplicate ids (last-write wins — tasks.db enforces\n* uniqueness at the SQL layer so this is effectively a one-to-one map).\n*\n* @param tasks - Every task in the current bundle.\n* @returns A lookup table keyed by `task.id`.\n*/\nfunction indexTasksById(tasks) {\n\tconst map = /* @__PURE__ */ new Map();\n\tfor (const t of tasks) map.set(t.id, t);\n\treturn map;\n}\n/**\n* Walk `parentId` upward to find the **top-level epic ancestor** for a task.\n*\n* Algorithm:\n*\n* 1. Start at `task`.\n* 2. If the current node has `type === 'epic'` AND `parentId == null`,\n* return its id — we have reached a root epic.\n* 3. Otherwise climb to `parentId`; if null/missing, the task is not nested\n* under any epic, return `null`.\n* 4. Loop detection: a `Set` of visited ids guards against malformed cycles.\n*\n* Edge cases:\n*\n* - **Task IS the root epic** (epic with null parent) → returns its own id.\n* - **Task is a nested epic** (epic with a parent chain) → climbs past\n* itself to find the outermost epic.\n* - **Root-level non-epic task** (no parent, `type !== 'epic'`) → returns\n* `null` (goes in the \"No epic\" bucket).\n* - **Orphan** (parent id points to a missing task) → returns `null`.\n* - **Cycle** (A → B → A) → returns `null` to prevent infinite loops.\n*\n* @param task - The leaf task to resolve.\n* @param byId - A prebuilt lookup map (see {@link indexTasksById}).\n* @returns The root-epic id, or `null` if none exists.\n*/\nfunction findRootEpicId(task, byId) {\n\tconst visited = /* @__PURE__ */ new Set();\n\tlet current = task;\n\tlet lastEpicSeen = null;\n\twhile (current) {\n\t\tif (visited.has(current.id)) return null;\n\t\tvisited.add(current.id);\n\t\tif (current.type === \"epic\") lastEpicSeen = current;\n\t\tconst parentId = current.parentId ?? null;\n\t\tif (parentId === null || parentId === void 0) break;\n\t\tconst parent = byId.get(parentId);\n\t\tif (!parent) break;\n\t\tcurrent = parent;\n\t}\n\treturn lastEpicSeen?.id ?? null;\n}\n/**\n* Lowercase, null-safe compare against the search query.\n*\n* @param haystack - Any string, possibly empty.\n* @param needleLower - The already-lowercased query token.\n* @returns `true` if `haystack` contains `needleLower`, case-insensitive.\n*/\nfunction containsIgnoreCase(haystack, needleLower) {\n\tif (!haystack) return false;\n\treturn haystack.toLowerCase().includes(needleLower);\n}\n/**\n* Return `true` iff `task` passes every non-column filter in `predicate`.\n*\n* **Status is deliberately NOT checked here** — the Kanban columns ARE the\n* status axis, so we hide unwanted columns instead of dropping their cards\n* (see {@link columnIsVisible}).\n*\n* @param task - Task to test.\n* @param predicate - Narrowed filter predicate.\n* @returns Whether the task should appear in its column.\n*/\nfunction taskMatchesKanbanFilter(task, predicate) {\n\tconst q = predicate.query.trim().toLowerCase();\n\tif (q.length > 0) {\n\t\tconst hitId = containsIgnoreCase(task.id, q);\n\t\tconst hitTitle = containsIgnoreCase(task.title, q);\n\t\tif (!hitId && !hitTitle) return false;\n\t}\n\tif (predicate.priority.length > 0) {\n\t\tif (!predicate.priority.includes(task.priority)) return false;\n\t}\n\tif (predicate.labels.length > 0) {\n\t\tconst taskLabels = task.labels ?? [];\n\t\tif (!predicate.labels.some((l) => taskLabels.includes(l))) return false;\n\t}\n\tif (!predicate.cancelled && task.status === \"cancelled\") return false;\n\treturn true;\n}\n/**\n* Apply every non-status filter to a task list in one pass.\n*\n* Pure and stable — the output preserves input order, so downstream epic\n* grouping sees deterministic ordering.\n*\n* @param tasks - Input task list.\n* @param predicate - Filter predicate.\n* @returns A new array of tasks that passed the filter.\n*/\nfunction applyKanbanFilters(tasks, predicate) {\n\treturn tasks.filter((t) => taskMatchesKanbanFilter(t, predicate));\n}\n/**\n* Whether a given column should render, given the `status` filter.\n*\n* Empty `predicate.status` → show every column.\n* Non-empty → only show columns whose status appears in the array.\n*\n* @param status - Column's status axis value.\n* @param predicate - Filter predicate.\n* @returns `true` if the column should render.\n*/\nfunction columnIsVisible(status, predicate) {\n\tif (predicate.status.length === 0) return true;\n\treturn predicate.status.includes(status);\n}\n/**\n* Stable id comparator for deterministic within-group ordering.\n*\n* Uses the numeric portion of `T\\d+` ids when present, falling back to\n* lexicographic compare for non-standard ids (e.g. imported legacy tasks).\n*/\nfunction compareTaskIds(a, b) {\n\tconst na = Number.parseInt(a.replace(/^T/, \"\"), 10);\n\tconst nb = Number.parseInt(b.replace(/^T/, \"\"), 10);\n\tif (Number.isFinite(na) && Number.isFinite(nb)) return na - nb;\n\treturn a < b ? -1 : a > b ? 1 : 0;\n}\n/**\n* Bucket filtered tasks into columns × epic groups.\n*\n* ## Contract\n*\n* - Every {@link KANBAN_COLUMN_ORDER} status produces a column, EVEN when\n* it has zero tasks — the component renders empty columns with a `(0)`\n* count so the UI shape stays stable.\n* - Within each column, groups are ordered by epic id (ascending numeric),\n* with the {@link NO_EPIC_GROUP_ID} bucket (if present) placed LAST so\n* named epics surface first.\n* - Within each group, tasks are sorted by id ascending for deterministic\n* rendering.\n*\n* Cancelled / column-visibility filtering is NOT applied here — bucketing\n* always produces the full shape, and the component renders columns\n* conditionally based on {@link columnIsVisible}.\n*\n* @param filteredTasks - Tasks already passed through\n* {@link applyKanbanFilters}.\n* @param byId - Full-task lookup for ancestor resolution.\n* @returns A {@link KanbanBuckets} snapshot.\n*/\nfunction bucketKanbanTasks(filteredTasks, byId) {\n\tconst bucketed = /* @__PURE__ */ new Map();\n\tfor (const status of KANBAN_COLUMN_ORDER) bucketed.set(status, /* @__PURE__ */ new Map());\n\tfor (const task of filteredTasks) {\n\t\tconst columnBucket = bucketed.get(task.status);\n\t\tif (!columnBucket) continue;\n\t\tconst rootEpicId = findRootEpicId(task, byId) ?? \"__no_epic__\";\n\t\tconst groupTasks = columnBucket.get(rootEpicId);\n\t\tif (groupTasks) groupTasks.push(task);\n\t\telse columnBucket.set(rootEpicId, [task]);\n\t}\n\tconst columns = [];\n\tlet filteredTotal = 0;\n\tfor (const status of KANBAN_COLUMN_ORDER) {\n\t\tconst columnBucket = bucketed.get(status) ?? /* @__PURE__ */ new Map();\n\t\tconst groups = [...columnBucket.keys()].sort((a, b) => {\n\t\t\tif (a === \"__no_epic__\") return 1;\n\t\t\tif (b === \"__no_epic__\") return -1;\n\t\t\treturn compareTaskIds(a, b);\n\t\t}).map((epicId) => {\n\t\t\tconst tasks = (columnBucket.get(epicId) ?? []).slice().sort((a, b) => compareTaskIds(a.id, b.id));\n\t\t\treturn {\n\t\t\t\tepicId,\n\t\t\t\tepicTitle: epicId === \"__no_epic__\" ? NO_EPIC_GROUP_TITLE : byId.get(epicId)?.title ?? epicId,\n\t\t\t\ttasks\n\t\t\t};\n\t\t});\n\t\tconst taskCount = groups.reduce((sum, g) => sum + g.tasks.length, 0);\n\t\tfilteredTotal += taskCount;\n\t\tcolumns.push({\n\t\t\tstatus,\n\t\t\ttaskCount,\n\t\t\tgroups\n\t\t});\n\t}\n\treturn {\n\t\tcolumns,\n\t\tfilteredTotal\n\t};\n}\n//#endregion\n//#region src/lib/components/tasks/TaskCard.svelte\nfunction TaskCard($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link TaskCard}.\n\t\t*/\n\t\t/**\n\t\t* The task to render. Must carry `id`, `title`, `status`, and `priority`\n\t\t* at minimum — the rest of the fields are rendered conditionally when\n\t\t* present.\n\t\t*/\n\t\t/**\n\t\t* Optional click handler. When provided, the card renders as a\n\t\t* `<button>`; when omitted, it renders as an inert card so parents can\n\t\t* wrap it in their own link (e.g. `<a href=\"/tasks/T123\">`).\n\t\t*/\n\t\t/**\n\t\t* Compact mode — 2-line clamped title, no labels row. Matches the\n\t\t* kanban / pipeline card density. Default `false`.\n\t\t*/\n\t\t/**\n\t\t* When `true`, highlight the card as the currently focused/selected one.\n\t\t* Default `false`. Paired with the drawer `selectedId` state.\n\t\t*/\n\t\t/**\n\t\t* Raw `verification_json` string from the tasks.db row, used to render\n\t\t* I/T/Q gate dots. When omitted, gate dots are hidden.\n\t\t*/\n\t\tlet { task, onClick, compact = false, focused = false, verificationJson } = $$props;\n\t\tconst gates = derived(() => verificationJson !== void 0 ? gatesFromJson(verificationJson) : {\n\t\t\timplemented: false,\n\t\t\ttestsPassed: false,\n\t\t\tqaPassed: false\n\t\t});\n\t\tconst hasGates = derived(() => verificationJson !== void 0 && verificationJson !== null);\n\t\tconst hasLabels = derived(() => !compact && Array.isArray(task.labels) && task.labels.length > 0);\n\t\tconst displayPriority = derived(() => task.priority ?? \"medium\");\n\t\tif (onClick) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"task-card svelte-1lta2hw\", void 0, {\n\t\t\t\t\"compact\": compact,\n\t\t\t\t\"focused\": focused\n\t\t\t})}${attr(\"aria-label\", `Open task ${task.id}: ${task.title}`)}><div class=\"card-top svelte-1lta2hw\"><span class=\"card-id svelte-1lta2hw\">${escape_html(task.id)}</span> `);\n\t\t\tStatusBadge($$renderer, {\n\t\t\t\tstatus: task.status,\n\t\t\t\tcompact: true\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div> <p class=\"card-title svelte-1lta2hw\">${escape_html(task.title)}</p> <div class=\"card-footer svelte-1lta2hw\">`);\n\t\t\tPriorityBadge($$renderer, {\n\t\t\t\tpriority: displayPriority(),\n\t\t\t\tcompact\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tif (task.size) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"size-chip svelte-1lta2hw\">${escape_html(task.size)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (hasGates()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"gates svelte-1lta2hw\" aria-label=\"Verification gates\"><span${attr_class(\"g-dot svelte-1lta2hw\", void 0, { \"g-pass\": gates().implemented })} title=\"Implemented\">I</span> <span${attr_class(\"g-dot svelte-1lta2hw\", void 0, { \"g-pass\": gates().testsPassed })} title=\"Tests\">T</span> <span${attr_class(\"g-dot svelte-1lta2hw\", void 0, { \"g-pass\": gates().qaPassed })} title=\"QA\">Q</span></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (hasLabels()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"labels-row svelte-1lta2hw\"><!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(task.labels ?? []);\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet lbl = each_array[$$index];\n\t\t\t\t\t$$renderer.push(`<span class=\"label-pill svelte-1lta2hw\">${escape_html(lbl)}</span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div${attr_class(\"task-card inert svelte-1lta2hw\", void 0, {\n\t\t\t\t\"compact\": compact,\n\t\t\t\t\"focused\": focused\n\t\t\t})} role=\"group\"${attr(\"aria-label\", `Task ${task.id}`)}><div class=\"card-top svelte-1lta2hw\"><span class=\"card-id svelte-1lta2hw\">${escape_html(task.id)}</span> `);\n\t\t\tStatusBadge($$renderer, {\n\t\t\t\tstatus: task.status,\n\t\t\t\tcompact: true\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div> <p class=\"card-title svelte-1lta2hw\">${escape_html(task.title)}</p> <div class=\"card-footer svelte-1lta2hw\">`);\n\t\t\tPriorityBadge($$renderer, {\n\t\t\t\tpriority: displayPriority(),\n\t\t\t\tcompact\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tif (task.size) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"size-chip svelte-1lta2hw\">${escape_html(task.size)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (hasGates()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"gates svelte-1lta2hw\" aria-label=\"Verification gates\"><span${attr_class(\"g-dot svelte-1lta2hw\", void 0, { \"g-pass\": gates().implemented })} title=\"Implemented\">I</span> <span${attr_class(\"g-dot svelte-1lta2hw\", void 0, { \"g-pass\": gates().testsPassed })} title=\"Tests\">T</span> <span${attr_class(\"g-dot svelte-1lta2hw\", void 0, { \"g-pass\": gates().qaPassed })} title=\"QA\">Q</span></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (hasLabels()) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"labels-row svelte-1lta2hw\"><!--[-->`);\n\t\t\t\tconst each_array_1 = ensure_array_like(task.labels ?? []);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet lbl = each_array_1[$$index_1];\n\t\t\t\t\t$$renderer.push(`<span class=\"label-pill svelte-1lta2hw\">${escape_html(lbl)}</span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/KanbanTab.svelte\nfunction KanbanTab($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Full task set for the active project, already archive-filtered. */\n\t\t/** Dependency edges (unused here — passed through for parity). */\n\t\t/** Shared Task Explorer filter store. */\n\t\tlet { tasks, deps: _deps, filters } = $$props;\n\t\tconst predicate = derived(() => ({\n\t\t\tquery: filters.state.query,\n\t\t\tpriority: filters.state.priority,\n\t\t\tlabels: filters.state.labels,\n\t\t\tcancelled: filters.state.cancelled,\n\t\t\tstatus: filters.state.status\n\t\t}));\n\t\tconst byId = derived(() => indexTasksById(tasks));\n\t\tconst filteredTasks = derived(() => applyKanbanFilters(tasks, predicate()));\n\t\tconst buckets = derived(() => bucketKanbanTasks(filteredTasks(), byId()));\n\t\tconst totalTasks = derived(() => tasks.length);\n\t\tconst selectedId = derived(() => filters.state.selected);\n\t\tlet viewMode = \"status\";\n\t\tlet collapsed = /* @__PURE__ */ new Set();\n\t\tlet collapsedLanes = /* @__PURE__ */ new Set();\n\t\tfunction openTask(task) {\n\t\t\tfilters.setSelected(task.id);\n\t\t}\n\t\tfunction groupKey(status, epicId) {\n\t\t\treturn `${status}::${epicId}`;\n\t\t}\n\t\tfunction isColumnVisible(col) {\n\t\t\treturn columnIsVisible(col.status, predicate());\n\t\t}\n\t\tfunction statusLabel(s) {\n\t\t\treturn s.charAt(0).toUpperCase() + s.slice(1);\n\t\t}\n\t\t/** Tasks keyed by status. */\n\t\t/** Cached total across cells, used in the left-edge gutter. */\n\t\tconst swimLanes = derived(() => {\n\t\t\tconst lanes = /* @__PURE__ */ new Map();\n\t\t\tfor (const column of buckets().columns) for (const group of column.groups) {\n\t\t\t\tlet lane = lanes.get(group.epicId);\n\t\t\t\tif (!lane) {\n\t\t\t\t\tlane = {\n\t\t\t\t\t\tepicId: group.epicId,\n\t\t\t\t\t\tepicTitle: group.epicTitle,\n\t\t\t\t\t\tcells: {\n\t\t\t\t\t\t\tpending: [],\n\t\t\t\t\t\t\tactive: [],\n\t\t\t\t\t\t\tblocked: [],\n\t\t\t\t\t\t\tdone: [],\n\t\t\t\t\t\t\tcancelled: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttotal: 0\n\t\t\t\t\t};\n\t\t\t\t\tlanes.set(group.epicId, lane);\n\t\t\t\t}\n\t\t\t\tlane.cells[column.status] = [...lane.cells[column.status] ?? [], ...group.tasks];\n\t\t\t\tlane.total += group.tasks.length;\n\t\t\t}\n\t\t\treturn Array.from(lanes.values()).sort((a, b) => {\n\t\t\t\tif (a.epicId === \"__no_epic__\") return 1;\n\t\t\t\tif (b.epicId === \"__no_epic__\") return -1;\n\t\t\t\treturn a.epicId.localeCompare(b.epicId);\n\t\t\t});\n\t\t});\n\t\t$$renderer.push(`<section class=\"kanban-tab svelte-8f1hwf\" aria-label=\"Kanban by status\"><header class=\"kanban-header svelte-8f1hwf\"><div class=\"header-left svelte-8f1hwf\"><h2 class=\"kanban-title svelte-8f1hwf\">Kanban <span class=\"axis svelte-8f1hwf\">· by ${escape_html(viewMode === \"status\" ? \"status\" : \"epic\")}</span></h2> <p class=\"kanban-total svelte-8f1hwf\" aria-live=\"polite\">${escape_html(buckets().filteredTotal)} of ${escape_html(totalTasks())}</p></div> <div class=\"mode-toggle svelte-8f1hwf\" role=\"group\" aria-label=\"Kanban view mode\"><button type=\"button\"${attr_class(\"mode-btn svelte-8f1hwf\", void 0, { \"active\": viewMode === \"status\" })}${attr(\"aria-pressed\", viewMode === \"status\")}><span>Columns</span></button> <button type=\"button\"${attr_class(\"mode-btn svelte-8f1hwf\", void 0, { \"active\": viewMode === \"epic\" })}${attr(\"aria-pressed\", viewMode === \"epic\")}><span>Swim lanes</span></button></div></header> `);\n\t\tif (viewMode === \"status\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"kanban-board svelte-8f1hwf\" data-board=\"\" role=\"list\" aria-label=\"Status columns\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(buckets().columns);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet column = each_array[$$index_2];\n\t\t\t\tif (isColumnVisible(column)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<article${attr_class(`kanban-column status-${stringify(column.status)}`, \"svelte-8f1hwf\")} role=\"listitem\"${attr(\"data-column\", column.status)}${attr(\"aria-label\", `${statusLabel(column.status)} column: ${column.taskCount} tasks`)}><header class=\"column-header svelte-8f1hwf\"><span class=\"col-glyph svelte-8f1hwf\" aria-hidden=\"true\">${escape_html(statusIcon(column.status))}</span> <h3 class=\"col-name svelte-8f1hwf\">${escape_html(statusLabel(column.status))}</h3> <span class=\"col-count svelte-8f1hwf\"${attr(\"aria-label\", `${column.taskCount} tasks`)}>${escape_html(column.taskCount)}</span></header> `);\n\t\t\t\t\tif (column.groups.length === 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"drop-slot svelte-8f1hwf\" aria-hidden=\"true\">No tasks</div>`);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"column-body svelte-8f1hwf\"><!--[-->`);\n\t\t\t\t\t\tconst each_array_1 = ensure_array_like(column.groups);\n\t\t\t\t\t\tfor (let groupIdx = 0, $$length = each_array_1.length; groupIdx < $$length; groupIdx++) {\n\t\t\t\t\t\t\tlet group = each_array_1[groupIdx];\n\t\t\t\t\t\t\tconst isOpen = !collapsed.has(groupKey(column.status, group.epicId));\n\t\t\t\t\t\t\t$$renderer.push(`<div${attr_class(\"epic-group svelte-8f1hwf\", void 0, { \"open\": isOpen })}><button type=\"button\" class=\"group-header svelte-8f1hwf\"${attr(\"aria-expanded\", isOpen)}${attr(\"aria-controls\", groupKey(column.status, group.epicId))}><span class=\"chevron svelte-8f1hwf\" aria-hidden=\"true\">${escape_html(isOpen ? \"▾\" : \"▸\")}</span> <span class=\"group-label svelte-8f1hwf\">`);\n\t\t\t\t\t\t\tif (group.epicId === \"__no_epic__\") {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"group-title svelte-8f1hwf\">${escape_html(NO_EPIC_GROUP_TITLE)}</span>`);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<span class=\"group-id svelte-8f1hwf\">${escape_html(group.epicId)}</span> <span class=\"group-title svelte-8f1hwf\">${escape_html(group.epicTitle)}</span>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"group-count svelte-8f1hwf\">${escape_html(group.tasks.length)}</span></button> `);\n\t\t\t\t\t\t\tif (isOpen) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<ul class=\"group-body svelte-8f1hwf\"${attr(\"id\", groupKey(column.status, group.epicId))}><!--[-->`);\n\t\t\t\t\t\t\t\tconst each_array_2 = ensure_array_like(group.tasks);\n\t\t\t\t\t\t\t\tfor (let cardIdx = 0, $$length = each_array_2.length; cardIdx < $$length; cardIdx++) {\n\t\t\t\t\t\t\t\t\tlet task = each_array_2[cardIdx];\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"card-wrapper svelte-8f1hwf\" data-card=\"\" tabindex=\"-1\">`);\n\t\t\t\t\t\t\t\t\tTaskCard($$renderer, {\n\t\t\t\t\t\t\t\t\t\ttask,\n\t\t\t\t\t\t\t\t\t\tonClick: openTask,\n\t\t\t\t\t\t\t\t\t\tcompact: true,\n\t\t\t\t\t\t\t\t\t\tfocused: selectedId() === task.id\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!----></li>`);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--></article>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"swim-board svelte-8f1hwf\" role=\"table\" aria-label=\"Swim lanes by epic\"><div class=\"swim-head svelte-8f1hwf\" role=\"row\"><div class=\"swim-head-gutter svelte-8f1hwf\" role=\"columnheader\">Epic</div> <!--[-->`);\n\t\t\tconst each_array_3 = ensure_array_like(buckets().columns);\n\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\tlet column = each_array_3[$$index_3];\n\t\t\t\tif (isColumnVisible(column)) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div${attr_class(`swim-head-cell status-${stringify(column.status)}`, \"svelte-8f1hwf\")} role=\"columnheader\"><span class=\"col-glyph svelte-8f1hwf\" aria-hidden=\"true\">${escape_html(statusIcon(column.status))}</span> <span class=\"col-name svelte-8f1hwf\">${escape_html(statusLabel(column.status))}</span></div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> <!--[-->`);\n\t\t\tconst each_array_4 = ensure_array_like(swimLanes());\n\t\t\tfor (let $$index_6 = 0, $$length = each_array_4.length; $$index_6 < $$length; $$index_6++) {\n\t\t\t\tlet lane = each_array_4[$$index_6];\n\t\t\t\tconst laneOpen = !collapsedLanes.has(lane.epicId);\n\t\t\t\t$$renderer.push(`<div${attr_class(\"swim-row svelte-8f1hwf\", void 0, { \"collapsed\": !laneOpen })} role=\"row\"><button type=\"button\" class=\"swim-gutter svelte-8f1hwf\"${attr(\"aria-expanded\", laneOpen)}><span class=\"chevron svelte-8f1hwf\" aria-hidden=\"true\">${escape_html(laneOpen ? \"▾\" : \"▸\")}</span> `);\n\t\t\t\tif (lane.epicId === \"__no_epic__\") {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"lane-title svelte-8f1hwf\">${escape_html(NO_EPIC_GROUP_TITLE)}</span>`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"lane-id svelte-8f1hwf\">${escape_html(lane.epicId)}</span> <span class=\"lane-title svelte-8f1hwf\">${escape_html(lane.epicTitle)}</span>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> <span class=\"lane-count svelte-8f1hwf\">${escape_html(lane.total)}</span></button> <!--[-->`);\n\t\t\t\tconst each_array_5 = ensure_array_like(buckets().columns);\n\t\t\t\tfor (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {\n\t\t\t\t\tlet column = each_array_5[$$index_5];\n\t\t\t\t\tif (isColumnVisible(column)) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\tconst cell = lane.cells[column.status] ?? [];\n\t\t\t\t\t\t$$renderer.push(`<div class=\"swim-cell svelte-8f1hwf\" role=\"cell\">`);\n\t\t\t\t\t\tif (laneOpen && cell.length > 0) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<ul class=\"cell-cards svelte-8f1hwf\"><!--[-->`);\n\t\t\t\t\t\t\tconst each_array_6 = ensure_array_like(cell);\n\t\t\t\t\t\t\tfor (let cardIdx = 0, $$length = each_array_6.length; cardIdx < $$length; cardIdx++) {\n\t\t\t\t\t\t\t\tlet task = each_array_6[cardIdx];\n\t\t\t\t\t\t\t\t$$renderer.push(`<li class=\"card-wrapper svelte-8f1hwf\" data-card=\"\" tabindex=\"-1\">`);\n\t\t\t\t\t\t\t\tTaskCard($$renderer, {\n\t\t\t\t\t\t\t\t\ttask,\n\t\t\t\t\t\t\t\t\tonClick: openTask,\n\t\t\t\t\t\t\t\t\tcompact: true,\n\t\t\t\t\t\t\t\t\tfocused: selectedId() === task.id\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t$$renderer.push(`<!----></li>`);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t\t} else if (laneOpen) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div class=\"drop-slot svelte-8f1hwf\" aria-hidden=\"true\"></div>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/LabelsFilter.svelte\nfunction LabelsFilter($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Option shape — matches {@link FilterChipOption} from the tasks barrel. */\n\t\t/**\n\t\t* Props for {@link LabelsFilter}.\n\t\t*/\n\t\t/** Full set of selectable labels (project-wide). */\n\t\t/** Currently selected label values. */\n\t\t/** Fires with the new selection after any toggle / clear. */\n\t\t/** Optional leading label (\"Labels\" by default). */\n\t\tlet { options, selected, onChange, heading = \"Labels\" } = $$props;\n\t\tlet open = false;\n\t\tlet query = \"\";\n\t\t/** Selection as a Set for O(1) membership checks in the template. */\n\t\tconst selectedSet = derived(() => new Set(selected));\n\t\tderived(() => {\n\t\t\tconst q = query.trim().toLowerCase();\n\t\t\tconst matches = (o) => {\n\t\t\t\tif (!q) return true;\n\t\t\t\treturn (o.label ?? o.value).toLowerCase().includes(q) || o.value.toLowerCase().includes(q);\n\t\t\t};\n\t\t\tconst sel = [];\n\t\t\tconst rest = [];\n\t\t\tfor (const o of options) {\n\t\t\t\tif (!matches(o)) continue;\n\t\t\t\tif (selectedSet().has(o.value)) sel.push(o);\n\t\t\t\telse rest.push(o);\n\t\t\t}\n\t\t\tconst byLabel = (a, b) => (a.label ?? a.value).localeCompare(b.label ?? b.value);\n\t\t\tsel.sort(byLabel);\n\t\t\trest.sort(byLabel);\n\t\t\treturn [...sel, ...rest];\n\t\t});\n\t\t$$renderer.push(`<div class=\"labels-filter svelte-t031ye\" role=\"group\"${attr(\"aria-label\", heading)}><button type=\"button\" class=\"trigger svelte-t031ye\" aria-haspopup=\"listbox\"${attr(\"aria-expanded\", open)}><span class=\"trigger-label svelte-t031ye\">${escape_html(heading)}</span> `);\n\t\tif (selected.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"trigger-count svelte-t031ye\"${attr(\"aria-label\", `${selected.length} selected`)}>${escape_html(selected.length)}</span>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<span class=\"trigger-hint svelte-t031ye\">Any</span>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> <span class=\"trigger-chev svelte-t031ye\" aria-hidden=\"true\">${escape_html(\"▾\")}</span></button> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/RecentActivityFeed.svelte\nfunction RecentActivityFeed($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* A single row in the Recent Activity feed.\n\t\t*\n\t\t* Matches the server-shape returned by the `SELECT ... FROM tasks` in\n\t\t* `routes/tasks/+page.server.ts`.\n\t\t*/\n\t\t/** Task ID. */\n\t\t/** Task title. */\n\t\t/** Task status. */\n\t\t/** Task priority. */\n\t\t/** Task type — epic/task/subtask. Rendered as a chip when non-task. */\n\t\t/** RCASD-IVTR+C pipeline stage, or null for research-stage tasks. */\n\t\t/** ISO 8601 updated timestamp for the relative-time renderer. */\n\t\t/**\n\t\t* Props for {@link RecentActivityFeed}.\n\t\t*/\n\t\t/** Ordered list of recent tasks (newest first). */\n\t\t/**\n\t\t* Override the default deep-link target. Defaults to `/tasks/{id}`.\n\t\t* Exposed so the Explorer can route through `?selected=T###` instead.\n\t\t*/\n\t\tlet { tasks, hrefFor } = $$props;\n\t\tfunction defaultHref(t) {\n\t\t\treturn `/tasks/${t.id}`;\n\t\t}\n\t\tconst resolveHref = derived(() => hrefFor ?? defaultHref);\n\t\tif (tasks.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<section class=\"panel svelte-1akgkn3\"><h2 class=\"panel-title svelte-1akgkn3\">Recent Activity</h2> <div class=\"task-list svelte-1akgkn3\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(tasks);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet t = each_array[$$index];\n\t\t\t\t$$renderer.push(`<a${attr(\"href\", resolveHref()(t))} class=\"task-row svelte-1akgkn3\"><span${attr_class(`task-status-icon ${stringify(statusClass(t.status))}`, \"svelte-1akgkn3\")}>${escape_html(statusIcon(t.status))}</span> <div class=\"task-info svelte-1akgkn3\"><span class=\"task-id svelte-1akgkn3\">${escape_html(t.id)}</span> <span class=\"task-title svelte-1akgkn3\">${escape_html(t.title)}</span></div> <div class=\"task-meta svelte-1akgkn3\"><span${attr_class(`task-priority ${stringify(priorityClass(t.priority))}`, \"svelte-1akgkn3\")}>${escape_html(t.priority)}</span> `);\n\t\t\t\tif (t.pipeline_stage) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"task-stage svelte-1akgkn3\">${escape_html(t.pipeline_stage)}</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--> <span class=\"task-time svelte-1akgkn3\">${escape_html(formatTime(t.updated_at))}</span></div></a>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div></section>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/TaskSearchBox.svelte\nfunction TaskSearchBox($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link TaskSearchBox}.\n\t\t*/\n\t\t/**\n\t\t* Current raw input value. Kept bindable so the parent can clear it\n\t\t* programmatically (e.g. on tab switch).\n\t\t*/\n\t\t/**\n\t\t* Debounced change handler fired after `debounceMs` of idle input.\n\t\t* Fires with the trimmed raw string — normalisation (id vs title) is\n\t\t* left to the parent.\n\t\t*/\n\t\t/**\n\t\t* Placeholder text. Defaults to the legacy Studio wording.\n\t\t*/\n\t\t/**\n\t\t* Debounce window in milliseconds. Defaults to 250ms to match the\n\t\t* existing dashboard search.\n\t\t*/\n\t\t/**\n\t\t* When true, register the global `/` shortcut listener on mount.\n\t\t* Default `true`. Set to `false` if multiple search boxes exist on\n\t\t* the same page.\n\t\t*/\n\t\tlet { value = \"\", onChange, placeholder = \"Search by ID (T663, t663, 663) or title...\", debounceMs = 250, registerSlashShortcut = true } = $$props;\n\t\t$$renderer.push(`<div class=\"search-box svelte-10ie2uf\" role=\"search\"><span class=\"search-icon svelte-10ie2uf\" aria-hidden=\"true\">⌕</span> <input class=\"search-input svelte-10ie2uf\" type=\"search\"${attr(\"placeholder\", placeholder)}${attr(\"value\", value)} autocomplete=\"off\" spellcheck=\"false\"${attr(\"aria-label\", placeholder)}/> <kbd class=\"shortcut-hint svelte-10ie2uf\" aria-hidden=\"true\">/</kbd> `);\n\t\tif (value.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"search-clear svelte-10ie2uf\" aria-label=\"Clear search\">✕</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/components/tasks/worker-stream.ts\n/**\n* The empty view-model — the initial state before any frame arrives.\n*\n* @returns A fresh {@link WorkerStreamView} in the `connecting` state.\n*/\nfunction emptyWorkerStreamView() {\n\treturn {\n\t\tstatus: \"connecting\",\n\t\toutputTail: [],\n\t\tusage: null,\n\t\tcheckpoints: [],\n\t\tlastFrameTs: null\n\t};\n}\n/**\n* Format a {@link WorkerUsageSnapshot} into a compact meter string for the card,\n* e.g. `\"12.4k tok · 3 calls\"`. Returns a dash when no usage yet.\n*\n* @param usage - The usage snapshot, or `null`.\n* @returns A compact human-readable meter label.\n*/\nfunction formatUsageMeter(usage) {\n\tif (!usage || usage.totalTokens === 0) return \"— tokens\";\n\treturn `${usage.totalTokens >= 1e3 ? `${(usage.totalTokens / 1e3).toFixed(1)}k` : String(usage.totalTokens)} tok · ${usage.records === 1 ? \"1 call\" : `${usage.records} calls`}`;\n}\n/**\n* Decide whether a stream that last spoke at {@link lastFrameTs} is STALLED\n* (no frame within the staleness window) — drives a graceful \"reconnecting\"\n* affordance distinct from a clean `done`.\n*\n* @param view - The current view-model.\n* @param now - Current epoch ms (injectable for tests).\n* @param staleMs - Staleness threshold in ms.\n* @returns `true` when the stream is live-but-silent past the threshold.\n*/\nfunction isStreamStalled(view, now, staleMs) {\n\tif (view.status === \"ended\" || view.lastFrameTs === null) return false;\n\tconst last = Date.parse(view.lastFrameTs);\n\tif (Number.isNaN(last)) return false;\n\treturn now - last > staleMs;\n}\n//#endregion\n//#region src/lib/components/tasks/WorkerStreamPanel.svelte\nfunction WorkerStreamPanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** The Running task whose worker stream to tail. */\n\t\tlet { taskId } = $$props;\n\t\t/** Folded, render-ready stream view-model. */\n\t\tlet view = emptyWorkerStreamView();\n\t\t/** Wall-clock tick so the staleness derivation re-evaluates. */\n\t\tlet nowMs = Date.now();\n\t\t/** Staleness window — silent past this ⇒ show \"reconnecting\". */\n\t\tconst STALE_MS = 8e3;\n\t\t/** Derived live label for the status dot. */\n\t\tconst stalled = derived(() => isStreamStalled(view, nowMs, STALE_MS));\n\t\tconst statusLabel = derived(() => view.status === \"ended\" ? \"ended\" : view.status === \"connecting\" ? \"connecting\" : stalled() ? \"reconnecting\" : \"live\");\n\t\tconst usageMeter = derived(() => formatUsageMeter(view.usage));\n\t\t/** Tone for a checkpoint chip by kind. */\n\t\tfunction checkpointTone(kind) {\n\t\t\tif (kind === \"test\") return \"success\";\n\t\t\tif (kind === \"pr\") return \"info\";\n\t\t\treturn \"accent\";\n\t\t}\n\t\t$$renderer.push(`<section class=\"worker-stream svelte-1i5v2ex\"${attr(\n\t\t\t\"aria-label\",\n\t\t\t/** A safe JSON parse — drops a malformed frame rather than throwing. */\n\t\t\t`Live worker stream for ${taskId}`\n\t\t)}><header class=\"ws-head svelte-1i5v2ex\"><span class=\"ws-title svelte-1i5v2ex\">Worker · ${escape_html(taskId)}</span> <span${attr_class(\"ws-status svelte-1i5v2ex\", void 0, {\n\t\t\t\"live\": statusLabel() === \"live\",\n\t\t\t\"ended\": statusLabel() === \"ended\"\n\t\t})}><span class=\"dot svelte-1i5v2ex\" aria-hidden=\"true\"></span>${escape_html(statusLabel())}</span> <span class=\"ws-meter svelte-1i5v2ex\" title=\"Cumulative token usage for this task\">${escape_html(usageMeter())}</span></header> `);\n\t\tif (view.checkpoints.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"ws-checkpoints svelte-1i5v2ex\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(view.checkpoints);\n\t\t\tfor (let i = 0, $$length = each_array.length; i < $$length; i++) {\n\t\t\t\tlet cp = each_array[i];\n\t\t\t\tBadge($$renderer, {\n\t\t\t\t\ttone: checkpointTone(cp.kind),\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(cp.kind)}: ${escape_html(cp.label)}`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <div class=\"ws-output svelte-1i5v2ex\" role=\"log\" aria-live=\"polite\">`);\n\t\tif (view.outputTail.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<p class=\"ws-empty svelte-1i5v2ex\">Waiting for worker output…</p>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(view.outputTail);\n\t\t\tfor (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n\t\t\t\tlet line = each_array_1[i];\n\t\t\t\t$$renderer.push(`<div class=\"ws-line svelte-1i5v2ex\">${escape_html(line)}</div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></section>`);\n\t});\n}\n//#endregion\nexport { SvgRenderer as _, KanbanTab as a, GraphTab as c, DetailDrawer as d, StatusBadge as f, ConductorBar as g, PriorityBadge as h, LabelsFilter as i, FilterChipGroup as l, gatesFromJson as m, TaskSearchBox as n, TaskCard as o, formatTime as p, RecentActivityFeed as r, HierarchyTab as s, WorkerStreamPanel as t, EpicProgressCard as u, tasksToGraph as v };\n"],"names":[],"mappings":"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"}