@cleocode/cleo 2026.9.5 → 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 +32 -3
  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/{CKXdW4mW.js → DVHIxkgs.js} +1 -1
  7. package/studio-dist/client/_app/immutable/chunks/{DrfFUIvQ.js → TX-23QW3.js} +1 -1
  8. package/studio-dist/client/_app/immutable/chunks/{C7UP-KLT.js → eK8hf4s7.js} +1 -1
  9. package/studio-dist/client/_app/immutable/entry/{app.BwkUGH1B.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.DcUJW-xi.js → 0.CZzEEyVh.js} +1 -1
  12. package/studio-dist/client/_app/immutable/nodes/{1.DyTt_cQs.js → 1.Bj3Opbua.js} +1 -1
  13. package/studio-dist/client/_app/immutable/nodes/{15.LRqqoueS.js → 15.BfXgiwMC.js} +1 -1
  14. package/studio-dist/client/_app/immutable/nodes/{16.-hGPNXOI.js → 16.mEwy9cqh.js} +1 -1
  15. package/studio-dist/client/_app/immutable/nodes/{17.ChMxgTIY.js → 17.DP2QtQGn.js} +1 -1
  16. package/studio-dist/client/_app/immutable/nodes/{18.B9zeITVb.js → 18.Bu0054sX.js} +1 -1
  17. package/studio-dist/client/_app/immutable/nodes/{20.BHg5roNq.js → 20.B1AIHdkP.js} +1 -1
  18. package/studio-dist/client/_app/immutable/nodes/{24.B_s9aY5m.js → 24.BUoUu37z.js} +1 -1
  19. package/studio-dist/client/_app/immutable/nodes/{25.DZXkDxw_.js → 25.ddZ1_EFk.js} +1 -1
  20. package/studio-dist/client/_app/immutable/nodes/{26.BBRbdwIG.js → 26.6OcmQbLV.js} +1 -1
  21. package/studio-dist/client/_app/immutable/nodes/{3.DMYcrZeG.js → 3.Dyir4xXj.js} +1 -1
  22. package/studio-dist/client/_app/version.json +1 -1
  23. package/studio-dist/server/chunks/{0-CM4iQVYP.js → 0-CvsKDxQ6.js} +3 -3
  24. package/studio-dist/server/chunks/{1-BQFD-dx6.js → 1-ck_x2Hf0.js} +3 -3
  25. package/studio-dist/server/chunks/{15-Cng10n82.js → 15-BvUNl3KL.js} +3 -3
  26. package/studio-dist/server/chunks/{16-u3KwU3N4.js → 16-De6EzPSa.js} +3 -3
  27. package/studio-dist/server/chunks/{17-BDtxQX9n.js → 17-CZNsiZhi.js} +3 -3
  28. package/studio-dist/server/chunks/{18-wwUoSO4F.js → 18-CbxxjZox.js} +3 -3
  29. package/studio-dist/server/chunks/{20-B-0CBvqY.js → 20-DVU22np7.js} +3 -3
  30. package/studio-dist/server/chunks/{24-BeVcofpU.js → 24-CVlymvLF.js} +3 -3
  31. package/studio-dist/server/chunks/{25-DIuzTPOu.js → 25-CAg6Xcmn.js} +3 -3
  32. package/studio-dist/server/chunks/{26-CY8x0KNI.js → 26-_nfVTvNi.js} +3 -3
  33. package/studio-dist/server/chunks/{3-p3RwD-FY.js → 3-B8KhfvHp.js} +3 -3
  34. package/studio-dist/server/chunks/{_layout.svelte-rswfOTDe.js → _layout.svelte-BEIGQcIv.js} +4 -4
  35. package/studio-dist/server/chunks/{_page.svelte-DaYxqOUS.js → _page.svelte-2cgtvHwW.js} +3 -3
  36. package/studio-dist/server/chunks/{_page.svelte-BT1YF8j2.js → _page.svelte-9OQphlnm.js} +4 -4
  37. package/studio-dist/server/chunks/{_page.svelte-CiIYIPG9.js → _page.svelte-BIlhmugm.js} +3 -3
  38. package/studio-dist/server/chunks/{_page.svelte-C9twD2l1.js → _page.svelte-BgwL2Gyu.js} +3 -3
  39. package/studio-dist/server/chunks/{_page.svelte-DKVwBmIp.js → _page.svelte-C_VSL8NW.js} +4 -4
  40. package/studio-dist/server/chunks/{_page.svelte-CHH1vmfg.js → _page.svelte-DOWw416I.js} +3 -3
  41. package/studio-dist/server/chunks/{_page.svelte-D8NhlkPD.js → _page.svelte-Wfx7ww_h.js} +3 -3
  42. package/studio-dist/server/chunks/{_page.svelte-DZEnHo1L.js → _page.svelte-l4Z_xjl9.js} +3 -3
  43. package/studio-dist/server/chunks/{_page.svelte-DmTXiXKT.js → _page.svelte-tYN7_LXI.js} +3 -3
  44. package/studio-dist/server/chunks/{client-ym-URLFs.js → client-CgX38JBu.js} +2 -2
  45. package/studio-dist/server/chunks/{error.svelte-Bt1EbBZe.js → error.svelte-CplNulnS.js} +3 -3
  46. package/studio-dist/server/chunks/{internal-D3i_4gCl.js → internal-D6eWgsHJ.js} +2 -2
  47. package/studio-dist/server/chunks/{stores-ByevKXL9.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/9yrFrmKZ.js +0 -1
  52. package/studio-dist/client/_app/immutable/entry/start.BcsID0Sf.js +0 -1
  53. package/studio-dist/server/chunks/0-CM4iQVYP.js.map +0 -1
  54. package/studio-dist/server/chunks/1-BQFD-dx6.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-Cng10n82.js.map +0 -1
  61. package/studio-dist/server/chunks/16-u3KwU3N4.js.map +0 -1
  62. package/studio-dist/server/chunks/17-BDtxQX9n.js.map +0 -1
  63. package/studio-dist/server/chunks/18-wwUoSO4F.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-B-0CBvqY.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-BeVcofpU.js.map +0 -1
  71. package/studio-dist/server/chunks/25-DIuzTPOu.js.map +0 -1
  72. package/studio-dist/server/chunks/26-CY8x0KNI.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-p3RwD-FY.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-rswfOTDe.js.map +0 -1
  94. package/studio-dist/server/chunks/_page.svelte-BT1YF8j2.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-Byz2djto.js.map +0 -1
  99. package/studio-dist/server/chunks/_page.svelte-C3aIui4o.js.map +0 -1
  100. package/studio-dist/server/chunks/_page.svelte-C9twD2l1.js.map +0 -1
  101. package/studio-dist/server/chunks/_page.svelte-CCoTp89s.js.map +0 -1
  102. package/studio-dist/server/chunks/_page.svelte-CHH1vmfg.js.map +0 -1
  103. package/studio-dist/server/chunks/_page.svelte-CHzXuw2Q.js.map +0 -1
  104. package/studio-dist/server/chunks/_page.svelte-CYDjW1R0.js.map +0 -1
  105. package/studio-dist/server/chunks/_page.svelte-CiIYIPG9.js.map +0 -1
  106. package/studio-dist/server/chunks/_page.svelte-Clbkk1gm.js.map +0 -1
  107. package/studio-dist/server/chunks/_page.svelte-CophUar3.js.map +0 -1
  108. package/studio-dist/server/chunks/_page.svelte-D8NhlkPD.js.map +0 -1
  109. package/studio-dist/server/chunks/_page.svelte-DKVwBmIp.js.map +0 -1
  110. package/studio-dist/server/chunks/_page.svelte-DUWbZjC7.js.map +0 -1
  111. package/studio-dist/server/chunks/_page.svelte-DYNorA0S.js.map +0 -1
  112. package/studio-dist/server/chunks/_page.svelte-DZEnHo1L.js.map +0 -1
  113. package/studio-dist/server/chunks/_page.svelte-DaYxqOUS.js.map +0 -1
  114. package/studio-dist/server/chunks/_page.svelte-DmTXiXKT.js.map +0 -1
  115. package/studio-dist/server/chunks/_page.svelte-EkXO_YfN.js.map +0 -1
  116. package/studio-dist/server/chunks/_page.svelte-M5D2QnMS.js.map +0 -1
  117. package/studio-dist/server/chunks/_page.svelte-UYiF7YBK.js.map +0 -1
  118. package/studio-dist/server/chunks/_page.svelte-al08ovKm.js.map +0 -1
  119. package/studio-dist/server/chunks/_page.svelte-bGhsrIjS.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-ym-URLFs.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-Bt1EbBZe.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-D3i_4gCl.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-ByevKXL9.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":"16-u3KwU3N4.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/community/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/16.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\n//#region src/routes/code/community/[id]/+page.server.ts\n/**\n* /code/community/[id] — server load.\n*\n* Wires through `/api/nexus/community/[id]` to retire the direct DB\n* call flagged by the T990 code audit. The API payload is passed to\n* the adapter on the client, so this loader stays thin.\n*\n* @task T990\n* @wave 1B\n*/\nvar load = async ({ params, fetch }) => {\n\tconst communityId = decodeURIComponent(params.id);\n\tconst [detailResp, listResp] = await Promise.all([fetch(`/api/nexus/community/${encodeURIComponent(communityId)}`), fetch(\"/api/nexus?only=communities\")]);\n\tif (!detailResp.ok) {\n\t\tif (detailResp.status === 404) error(404, `Community ${communityId} not found`);\n\t\tif (detailResp.status === 503) error(503, \"nexus.db not available\");\n\t\terror(detailResp.status, \"Failed to load community\");\n\t}\n\tconst detail = await detailResp.json();\n\tlet communityLabel = communityId.replace(\"comm_\", \"Cluster \");\n\tif (listResp.ok) {\n\t\tconst match = (await listResp.json()).communities.find((c) => c.id === communityId);\n\t\tif (match?.rawLabel) communityLabel = match.rawLabel;\n\t}\n\tconst kindHisto = /* @__PURE__ */ new Map();\n\tfor (const n of detail.nodes) kindHisto.set(n.kind, (kindHisto.get(n.kind) ?? 0) + 1);\n\tlet topKind = \"function\";\n\tlet topCount = 0;\n\tfor (const [k, c] of kindHisto) if (c > topCount) {\n\t\ttopKind = k;\n\t\ttopCount = c;\n\t}\n\treturn {\n\t\tcommunityId,\n\t\tcommunityLabel,\n\t\tnodes: detail.nodes,\n\t\tedges: detail.edges,\n\t\tsummary: {\n\t\t\tmemberCount: detail.nodes.length,\n\t\t\ttopKind,\n\t\t\tinternalEdgeCount: detail.edges.length\n\t\t}\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/community/_id_/_page.server.ts.js';\n\nexport const index = 16;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/community/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/community/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/16.-hGPNXOI.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/16.BzOs0cg_.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"17-BDtxQX9n.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/flows/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/17.js"],"sourcesContent":["import { a as getNexusDb } from \"../../../../chunks/connections2.js\";\n//#region src/routes/code/flows/+page.server.ts\n/**\n* /code/flows — execution-flow tracer.\n*\n* Surfaces entry-points + their fanout computed from `calls` edges.\n* If nexus.db contains process / flow-step rows we use them directly;\n* otherwise we compute a synthetic \"flow\" per entry-point by BFS-ing\n* `calls` edges up to `MAX_DEPTH` hops.\n*\n* @task T990\n* @wave 1B\n*/\n/** How deep the synthetic call-graph BFS traces. */\nvar MAX_DEPTH = 3;\n/** How many fanout nodes we emit per flow before truncation. */\nvar MAX_FANOUT = 60;\n/** How many entry points we surface in the side list. */\nvar MAX_FLOWS = 64;\nvar load = () => {\n\tconst db = getNexusDb();\n\tif (!db) return {\n\t\tflows: [],\n\t\tnodes: [],\n\t\tedges: [],\n\t\thasProcesses: false,\n\t\tempty: true\n\t};\n\tconst entryRows = db.prepare(`SELECT DISTINCT n.id, n.label, n.kind, n.file_path\n FROM nexus_relations r\n JOIN nexus_nodes n ON r.source_id = n.id\n WHERE r.type = 'entry_point_of'\n LIMIT ?`).all(MAX_FLOWS);\n\tlet finalEntries = entryRows;\n\tif (entryRows.length === 0) finalEntries = db.prepare(`SELECT n.id, n.label, n.kind, n.file_path, COUNT(*) AS out_deg\n FROM nexus_relations r\n JOIN nexus_nodes n ON n.id = r.source_id\n WHERE r.type = 'calls'\n GROUP BY n.id\n ORDER BY out_deg DESC\n LIMIT ?`).all(MAX_FLOWS).map(({ id, label, kind, file_path }) => ({\n\t\tid,\n\t\tlabel,\n\t\tkind,\n\t\tfile_path\n\t}));\n\tconst hasProcesses = entryRows.length > 0;\n\tconst reach = /* @__PURE__ */ new Map();\n\tconst allNodeIds = /* @__PURE__ */ new Set();\n\tfor (const entry of finalEntries) {\n\t\tconst reached = [entry.id];\n\t\tconst seen = new Set([entry.id]);\n\t\tconst queue = [{\n\t\t\tid: entry.id,\n\t\t\tdepth: 0\n\t\t}];\n\t\twhile (queue.length > 0 && reached.length < MAX_FANOUT) {\n\t\t\tconst cur = queue.shift();\n\t\t\tif (!cur) break;\n\t\t\tif (cur.depth >= MAX_DEPTH) continue;\n\t\t\tconst rows = db.prepare(`SELECT target_id\n FROM nexus_relations\n WHERE source_id = ?\n AND type IN ('calls','step_in_process','handles_route','handles_tool','fetches')\n LIMIT 20`).all(cur.id);\n\t\t\tfor (const row of rows) {\n\t\t\t\tif (seen.has(row.target_id)) continue;\n\t\t\t\tseen.add(row.target_id);\n\t\t\t\treached.push(row.target_id);\n\t\t\t\tqueue.push({\n\t\t\t\t\tid: row.target_id,\n\t\t\t\t\tdepth: cur.depth + 1\n\t\t\t\t});\n\t\t\t\tif (reached.length >= MAX_FANOUT) break;\n\t\t\t}\n\t\t}\n\t\treach.set(entry.id, reached);\n\t\tfor (const id of reached) allNodeIds.add(id);\n\t}\n\tconst nodes = [];\n\tif (allNodeIds.size > 0) {\n\t\tconst idList = [...allNodeIds];\n\t\tconst placeholders = idList.map(() => \"?\").join(\",\");\n\t\tconst rows = db.prepare(`SELECT id, label, kind, file_path, community_id\n FROM nexus_nodes\n WHERE id IN (${placeholders})`).all(...idList);\n\t\tfor (const row of rows) nodes.push({\n\t\t\tid: row.id,\n\t\t\tlabel: row.label,\n\t\t\tkind: row.kind,\n\t\t\tfilePath: row.file_path ?? \"\",\n\t\t\tcommunityId: row.community_id\n\t\t});\n\t}\n\tconst edges = [];\n\tif (allNodeIds.size > 0) {\n\t\tconst idList = [...allNodeIds];\n\t\tconst placeholders = idList.map(() => \"?\").join(\",\");\n\t\tconst rows = db.prepare(`SELECT source_id, target_id, type, step\n FROM nexus_relations\n WHERE source_id IN (${placeholders}) AND target_id IN (${placeholders})\n LIMIT 2000`).all(...idList, ...idList);\n\t\tfor (const row of rows) edges.push({\n\t\t\tsource: row.source_id,\n\t\t\ttarget: row.target_id,\n\t\t\ttype: row.type,\n\t\t\tstepIndex: row.step ?? void 0\n\t\t});\n\t}\n\tconst flows = finalEntries.map((entry) => ({\n\t\tid: entry.id,\n\t\tlabel: entry.label,\n\t\tkind: entry.kind,\n\t\tfilePath: entry.file_path ?? \"\",\n\t\treachIds: reach.get(entry.id) ?? [entry.id]\n\t}));\n\treturn {\n\t\tflows,\n\t\tnodes,\n\t\tedges,\n\t\thasProcesses,\n\t\tempty: flows.length === 0\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/flows/_page.server.ts.js';\n\nexport const index = 17;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/flows/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/flows/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/17.ChMxgTIY.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/17.C-9c74gE.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"18-wwUoSO4F.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/symbol/_name_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/18.js"],"sourcesContent":["import { error } from \"@sveltejs/kit\";\n//#region src/routes/code/symbol/[name]/+page.server.ts\n/**\n* /code/symbol/[name] — ego-network page server load.\n*\n* Wires through `/api/nexus/symbol/[name]` to kill the duplicate SQL\n* path flagged by the T990 code audit. Returns the raw API payload\n* + a friendly community label for the breadcrumb.\n*\n* @task T990\n* @wave 1B\n*/\nvar load = async ({ params, fetch }) => {\n\tconst name = decodeURIComponent(params.name);\n\tconst resp = await fetch(`/api/nexus/symbol/${encodeURIComponent(name)}`);\n\tif (!resp.ok) {\n\t\tif (resp.status === 404) error(404, `Symbol \"${name}\" not found`);\n\t\tif (resp.status === 503) error(503, \"nexus.db not available\");\n\t\terror(resp.status, \"Failed to load symbol\");\n\t}\n\tconst payload = await resp.json();\n\tconst center = payload.nodes.find((n) => n.id === payload.center) ?? null;\n\tlet communityLabel = null;\n\tif (center?.communityId) {\n\t\tconst listResp = await fetch(\"/api/nexus?only=communities\");\n\t\tif (listResp.ok) communityLabel = (await listResp.json()).communities.find((c) => c.id === center.communityId)?.rawLabel ?? center.communityId.replace(\"comm_\", \"Cluster \");\n\t}\n\treturn {\n\t\tsymbolName: name,\n\t\tnodes: payload.nodes,\n\t\tedges: payload.edges,\n\t\tcenter,\n\t\tcommunityLabel\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/symbol/_name_/_page.server.ts.js';\n\nexport const index = 18;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/symbol/_name_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/symbol/[name]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/18.B9zeITVb.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/18.d18ttKnU.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;AACxC,CAAC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,CAAC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACf,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACnE,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAC/D,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC;AAC7C,CAAC;AACD,CAAC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAClC,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI;AAC1E,CAAC,IAAI,cAAc,GAAG,IAAI;AAC1B,CAAC,IAAI,MAAM,EAAE,WAAW,EAAE;AAC1B,EAAE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,6BAA6B,CAAC;AAC7D,EAAE,IAAI,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;AAC7K,CAAC;AACD,CAAC,OAAO;AACR,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;AACtB,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;AACtB,EAAE,MAAM;AACR,EAAE;AACF,EAAE;AACF,CAAC;;;;;;;AChCW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAqD,CAAC,EAAE;AAEnH,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzZ,MAAC,WAAW,GAAG,CAAC,wDAAwD,CAAC,+CAA+C,CAAC,kDAAkD,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACrS,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"19-DqHyladS.js","sources":["../../../.svelte-kit/adapter-node/nodes/19.js"],"sourcesContent":["\n\nexport const index = 19;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/keys/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/19.UWt6QbCm.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/19.DQwwpjAV.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAuC,CAAC,EAAE;AACrG,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACrO,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACzI,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"2-COvmA-ZA.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/2.js"],"sourcesContent":["import { a as getNexusDb, n as getBrainDb, o as getTasksDb } from \"../../chunks/connections2.js\";\n//#region src/routes/+page.server.ts\n/**\n* Home page (\"Mission Control\") server load.\n*\n* Supplies everything the Wave 1E root dashboard renders without needing\n* client-side fetches on first paint:\n*\n* - Substrate stats (nexus, brain, tasks) — driven from their DBs.\n* - A 24-hour activity histogram bucketed by hour (brain observations +\n* tasks completions). Feeds the `Sparkline` on the dashboard.\n* - A 20-row \"recent activity\" cross-feed (decisions, observations,\n* task completions) ordered by timestamp.\n* - Active session count — populates the `LIVE` indicator.\n*\n* All queries are wrapped in `try / catch` so a corrupt or missing DB\n* degrades gracefully to null arrays instead of 500ing the page.\n*\n* @task T990\n* @wave 1E\n*/\nvar TWENTY_FOUR_HOURS_MS = 1440 * 60 * 1e3;\nfunction formatCount(n) {\n\tif (n >= 1e3) return `${(n / 1e3).toFixed(1)}k`;\n\treturn String(n);\n}\n/**\n* Build 24 hourly buckets from `now - 23h` → `now`.\n*/\nfunction buildBuckets(now) {\n\tconst buckets = [];\n\tconst startHour = now - 1380 * 60 * 1e3;\n\tconst hourStart = (t) => /* @__PURE__ */ new Date(t - t % (3600 * 1e3));\n\tfor (let i = 0; i < 24; i++) {\n\t\tconst ts = hourStart(startHour + i * 60 * 60 * 1e3);\n\t\tbuckets.push({\n\t\t\thourStart: ts.toISOString(),\n\t\t\ttotal: 0,\n\t\t\tobservations: 0,\n\t\t\tcompletions: 0\n\t\t});\n\t}\n\treturn buckets;\n}\nfunction bucketIndex(iso, now) {\n\ttry {\n\t\tconst delta = now - new Date(iso).getTime();\n\t\tif (delta < 0 || delta > TWENTY_FOUR_HOURS_MS) return -1;\n\t\tconst hoursAgo = Math.floor(delta / (3600 * 1e3));\n\t\treturn Math.max(0, 23 - hoursAgo);\n\t} catch {\n\t\treturn -1;\n\t}\n}\nvar load = ({ locals }) => {\n\tconst now = Date.now();\n\tconst cutoff = new Date(now - TWENTY_FOUR_HOURS_MS).toISOString();\n\tlet nexusStats = null;\n\tlet brainStats = null;\n\tlet tasksStats = null;\n\tlet observationCount = null;\n\tlet decisionCount = null;\n\tlet activeSessions = 0;\n\tconst activity24h = buildBuckets(now);\n\tconst recentActivity = [];\n\ttry {\n\t\tconst nexus = getNexusDb();\n\t\tif (nexus) {\n\t\t\tconst nodeRow = nexus.prepare(\"SELECT COUNT(*) AS cnt FROM nexus_nodes\").get();\n\t\t\tconst relRow = nexus.prepare(\"SELECT COUNT(*) AS cnt FROM nexus_relations\").get();\n\t\t\tnexusStats = [{\n\t\t\t\tvalue: formatCount(nodeRow.cnt),\n\t\t\t\tlabel: \"Symbols\"\n\t\t\t}, {\n\t\t\t\tvalue: formatCount(relRow.cnt),\n\t\t\t\tlabel: \"Relations\"\n\t\t\t}];\n\t\t}\n\t} catch {}\n\ttry {\n\t\tconst brain = getBrainDb(locals.projectCtx);\n\t\tif (brain) {\n\t\t\tconst nodeRow = brain.prepare(\"SELECT COUNT(*) AS cnt FROM brain_page_nodes\").get();\n\t\t\tconst obsRow = brain.prepare(\"SELECT COUNT(*) AS cnt FROM brain_observations\").get();\n\t\t\tbrainStats = [{\n\t\t\t\tvalue: formatCount(nodeRow.cnt),\n\t\t\t\tlabel: \"Nodes\"\n\t\t\t}, {\n\t\t\t\tvalue: formatCount(obsRow.cnt),\n\t\t\t\tlabel: \"Observations\"\n\t\t\t}];\n\t\t\tobservationCount = obsRow.cnt;\n\t\t\ttry {\n\t\t\t\tdecisionCount = brain.prepare(\"SELECT COUNT(*) AS cnt FROM brain_decisions\").get().cnt;\n\t\t\t} catch {}\n\t\t\ttry {\n\t\t\t\tconst recent = brain.prepare(\"SELECT id, title, created_at FROM brain_observations WHERE created_at >= ? ORDER BY created_at DESC LIMIT 500\").all(cutoff);\n\t\t\t\tfor (const row of recent) {\n\t\t\t\t\tconst idx = bucketIndex(row.created_at, now);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tconst bucket = activity24h[idx];\n\t\t\t\t\t\tif (bucket) {\n\t\t\t\t\t\t\tbucket.observations++;\n\t\t\t\t\t\t\tbucket.total++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (const row of recent.slice(0, 6)) recentActivity.push({\n\t\t\t\t\tkind: \"observation\",\n\t\t\t\t\tid: row.id,\n\t\t\t\t\ttitle: row.title ?? \"(observation)\",\n\t\t\t\t\tdetail: null,\n\t\t\t\t\ttimestamp: row.created_at\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t\ttry {\n\t\t\t\tconst decisions = brain.prepare(\"SELECT id, title, created_at FROM brain_decisions ORDER BY created_at DESC LIMIT 6\").all();\n\t\t\t\tfor (const row of decisions) recentActivity.push({\n\t\t\t\t\tkind: \"decision\",\n\t\t\t\t\tid: row.id,\n\t\t\t\t\ttitle: row.title,\n\t\t\t\t\tdetail: null,\n\t\t\t\t\ttimestamp: row.created_at\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t}\n\t} catch {}\n\ttry {\n\t\tconst tasks = getTasksDb(locals.projectCtx);\n\t\tif (tasks) {\n\t\t\tconst taskRow = tasks.prepare(\"SELECT COUNT(*) AS cnt FROM tasks\").get();\n\t\t\tconst epicRow = tasks.prepare(\"SELECT COUNT(*) AS cnt FROM tasks WHERE type = 'epic'\").get();\n\t\t\ttasksStats = [{\n\t\t\t\tvalue: formatCount(taskRow.cnt),\n\t\t\t\tlabel: \"Tasks\"\n\t\t\t}, {\n\t\t\t\tvalue: formatCount(epicRow.cnt),\n\t\t\t\tlabel: \"Epics\"\n\t\t\t}];\n\t\t\ttry {\n\t\t\t\tconst recent = tasks.prepare(\"SELECT id, title, completed_at FROM tasks WHERE completed_at IS NOT NULL AND completed_at >= ? ORDER BY completed_at DESC LIMIT 500\").all(cutoff);\n\t\t\t\tfor (const row of recent) {\n\t\t\t\t\tconst idx = bucketIndex(row.completed_at, now);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tconst bucket = activity24h[idx];\n\t\t\t\t\t\tif (bucket) {\n\t\t\t\t\t\t\tbucket.completions++;\n\t\t\t\t\t\t\tbucket.total++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (const row of recent.slice(0, 6)) recentActivity.push({\n\t\t\t\t\tkind: \"task-done\",\n\t\t\t\t\tid: row.id,\n\t\t\t\t\ttitle: row.title,\n\t\t\t\t\tdetail: null,\n\t\t\t\t\ttimestamp: row.completed_at\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t\ttry {\n\t\t\t\tconst created = tasks.prepare(\"SELECT id, title, created_at FROM tasks WHERE created_at >= ? ORDER BY created_at DESC LIMIT 6\").all(cutoff);\n\t\t\t\tfor (const row of created) recentActivity.push({\n\t\t\t\t\tkind: \"task-created\",\n\t\t\t\t\tid: row.id,\n\t\t\t\t\ttitle: row.title,\n\t\t\t\t\tdetail: null,\n\t\t\t\t\ttimestamp: row.created_at\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t\ttry {\n\t\t\t\tactiveSessions = tasks.prepare(\"SELECT COUNT(*) AS cnt FROM sessions WHERE status = 'active'\").get().cnt;\n\t\t\t} catch {\n\t\t\t\tactiveSessions = 0;\n\t\t\t}\n\t\t}\n\t} catch {}\n\trecentActivity.sort((a, b) => a.timestamp < b.timestamp ? 1 : -1);\n\treturn {\n\t\tnexusStats,\n\t\tbrainStats,\n\t\ttasksStats,\n\t\tactivity24h,\n\t\trecentActivity: recentActivity.slice(0, 20),\n\t\tactiveSessions,\n\t\tobservationCount,\n\t\tdecisionCount,\n\t\tprojectName: locals.projectCtx.name,\n\t\tprojectPath: locals.projectCtx.projectPath\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/_page.server.ts.js';\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/2.y5jKpHiR.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/wI_OOyoh.js\",\"_app/immutable/chunks/B9psmq5-.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/Sparkline.DVOptay1.css\",\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/2.Cnug3B4a.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"20-B-0CBvqY.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/projects/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/20.js"],"sourcesContent":["import { t as readAuditLog } from \"../../../chunks/audit-log.js\";\nimport { i as listRegisteredProjects, n as clearActiveProjectId, r as getActiveProjectId, s as setActiveProjectId } from \"../../../chunks/project-context.js\";\n//#region src/routes/projects/+page.server.ts\n/**\n* Projects page server load — lists all projects registered in the\n* global nexus.db registry, resolves the active context, and primes\n* the audit log panel.\n*\n* @task T990\n* @wave 1E\n*/\nvar load = ({ cookies, locals }) => {\n\tconst activeProjectId = getActiveProjectId(cookies);\n\treturn {\n\t\tprojects: listRegisteredProjects(),\n\t\tactiveProjectId,\n\t\tauditEntries: readAuditLog(locals.projectCtx.projectPath, 80),\n\t\tactiveProjectName: locals.projectCtx.name\n\t};\n};\nvar actions = {\n\tswitchProject: async ({ request, cookies }) => {\n\t\tconst projectId = (await request.formData()).get(\"projectId\");\n\t\tif (typeof projectId === \"string\" && projectId) setActiveProjectId(cookies, projectId);\n\t\treturn { success: true };\n\t},\n\tclearProject: async ({ cookies }) => {\n\t\tclearActiveProjectId(cookies);\n\t\treturn { success: true };\n\t}\n};\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/projects/_page.server.ts.js';\n\nexport const index = 20;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/projects/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/projects/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/20.BHg5roNq.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/wI_OOyoh.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/20.CYAn9-TU.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACpC,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACpD,CAAC,OAAO;AACR,EAAE,QAAQ,EAAE,sBAAsB,EAAE;AACpC,EAAE,eAAe;AACjB,EAAE,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;AAC/D,EAAE,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC;AACvC,EAAE;AACF,CAAC;AACD,IAAI,OAAO,GAAG;AACd,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AAChD,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC;AAC/D,EAAE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;AACxF,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,CAAC,CAAC;AACF,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;AACtC,EAAE,oBAAoB,CAAC,OAAO,CAAC;AAC/B,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,CAAC;AACD,CAAC;;;;;;;;AC5BW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AAEzG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACjV,MAAC,WAAW,GAAG,CAAC,+CAA+C,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACzL,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"21-DXK9ptAC.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/settings/vault/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/21.js"],"sourcesContent":["import { n as listConnections, t as listAllGrants } from \"../../../../chunks/service-connections-accessor.js\";\n//#region src/routes/settings/vault/+page.server.ts\n/**\n* `/settings/vault` — server load for the read-only service-vault dashboard\n* (T11943 · M2-W6 · E-UNIVERSAL-SERVICE-VAULT).\n*\n* Surfaces the global service vault — `service_connections` + per-agent\n* `agent_service_grants` — through the CORE read facades\n* ({@link listConnections} / {@link listAllGrants}). Both return REDACTED,\n* non-secret views: provider / label / status / scopes / expiry /\n* hasCredentials and, for grants, the agent + policy mode. NO ciphertext, NO\n* plaintext, NO `tokenPreview`-able material ever reaches this load — the\n* decrypted token never leaves core (AC1).\n*\n* Studio holds NO second store and opens NO DB directly (AC3): this load calls\n* the same core accessors the `cleo service list|status` CLI verbs use, so the\n* dashboard and the CLI agree on one source of truth. Connect / revoke are NOT\n* exposed here (read-first M2) — they route through the CLI (`cleo service\n* connect|revoke`), linked from the page.\n*\n* @task T11943\n* @epic T11765 — E-UNIVERSAL-SERVICE-VAULT\n* @saga T10409\n*/\n/** Project a core {@link ServiceConnectionView} onto the redacted dashboard row. */\nfunction toConnectionRow(v) {\n\treturn {\n\t\tprovider: v.provider,\n\t\tlabel: v.label,\n\t\tstatus: v.status,\n\t\tscopes: [...v.scopes],\n\t\texpiresAt: v.expiresAt,\n\t\thasCredentials: v.hasCredentials,\n\t\tconnectedAt: v.connectedAt\n\t};\n}\n/** Project a core {@link AgentGrantView} onto the redacted dashboard row. */\nfunction toGrantRow(v) {\n\treturn {\n\t\tagentId: v.agentId,\n\t\tprovider: v.provider,\n\t\tlabel: v.label,\n\t\tmode: v.mode,\n\t\tmanualApproval: v.manualApproval\n\t};\n}\nvar load = async () => {\n\ttry {\n\t\tconst [connections, grants] = await Promise.all([listConnections(), listAllGrants()]);\n\t\treturn {\n\t\t\tconnections: connections.map(toConnectionRow),\n\t\t\tgrants: grants.map(toGrantRow)\n\t\t};\n\t} catch (e) {\n\t\treturn {\n\t\t\tconnections: [],\n\t\t\tgrants: [],\n\t\t\terror: e instanceof Error ? e.message : \"Failed to read the service vault.\"\n\t\t};\n\t}\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/settings/vault/_page.server.ts.js';\n\nexport const index = 21;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/settings/vault/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/settings/vault/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/21.CpAN71H8.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/21.nneFKQjw.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,CAAC,EAAE;AAC5B,CAAC,OAAO;AACR,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;AAChB,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;AAClB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACvB,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;AACxB,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc;AAClC,EAAE,WAAW,EAAE,CAAC,CAAC;AACjB,EAAE;AACF;AACA;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,CAAC,OAAO;AACR,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;AACpB,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACtB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;AAChB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;AACd,EAAE,cAAc,EAAE,CAAC,CAAC;AACpB,EAAE;AACF;AACA,IAAI,IAAI,GAAG,YAAY;AACvB,CAAC,IAAI;AACL,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;AACvF,EAAE,OAAO;AACT,GAAG,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC;AAChD,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;AAChC,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO;AACT,GAAG,WAAW,EAAE,EAAE;AAClB,GAAG,MAAM,EAAE,EAAE;AACb,GAAG,KAAK,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG;AAC3C,GAAG;AACH,CAAC;AACD,CAAC;;;;;;;AC1DW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAiD,CAAC,EAAE;AAE/G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACrO,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACzI,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"22-DD5CLWJC.js","sources":["../../../.svelte-kit/adapter-node/nodes/22.js"],"sourcesContent":["\n\nexport const index = 22;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/setup/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/22.CrYKrN4c.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/22.nNcqMuWE.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AACtG,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACrO,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACzI,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"23-D_tUnnoc.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/studio/_projectId_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/23.js"],"sourcesContent":["import { o as resolveProjectContext } from \"../../../../chunks/project-context.js\";\nimport { t as loadExplorerBundle } from \"../../../../chunks/explorer-loader.js\";\n//#region src/routes/studio/[projectId]/+page.server.ts\n/**\n* `/studio/[projectId]` — the saga picker for the operator-console shell\n* (T11558 · E3-WORKGRAPH-VIEW · navigation project ▸ saga ▸ workgraph).\n*\n* Lists the project's sagas (and standalone epics) so an operator can drill\n* from a project into a saga's `/studio/[projectId]/[sagaId]` workgraph shell.\n* Projects the SHARED, gateway-backed {@link loadExplorerBundle} — the same\n* one-round-trip source the explorer + shell use — so no second query and no\n* direct DB read.\n*\n* @task T11558\n* @epic T11558 — E3-WORKGRAPH-VIEW\n* @saga T11555\n*/\nvar load = async ({ params, locals }) => {\n\tconst { projectId } = params;\n\tconst ctx = locals.projectCtx.projectId === projectId ? locals.projectCtx : resolveProjectContext(projectId) ?? null;\n\tif (!ctx?.tasksDbExists) return {\n\t\tprojectId,\n\t\tprojectName: ctx?.name ?? projectId,\n\t\troots: [],\n\t\terror: `Project \"${projectId}\" is not registered or has no tasks database.`\n\t};\n\ttry {\n\t\tconst explorer = await loadExplorerBundle({ projectCtx: ctx });\n\t\tconst childrenOf = /* @__PURE__ */ new Map();\n\t\tfor (const t of explorer.tasks) {\n\t\t\tif (!t.parentId) continue;\n\t\t\tconst list = childrenOf.get(t.parentId);\n\t\t\tif (list) list.push(t.id);\n\t\t\telse childrenOf.set(t.parentId, [t.id]);\n\t\t}\n\t\tconst subtreeCount = (rootId) => {\n\t\t\tlet count = 0;\n\t\t\tconst stack = [...childrenOf.get(rootId) ?? []];\n\t\t\tconst seen = /* @__PURE__ */ new Set();\n\t\t\twhile (stack.length > 0) {\n\t\t\t\tconst id = stack.pop();\n\t\t\t\tif (id === void 0 || seen.has(id)) continue;\n\t\t\t\tseen.add(id);\n\t\t\t\tcount += 1;\n\t\t\t\tconst kids = childrenOf.get(id);\n\t\t\t\tif (kids) stack.push(...kids);\n\t\t\t}\n\t\t\treturn count;\n\t\t};\n\t\tconst roots = explorer.tasks.filter((t) => t.type === \"saga\" || t.type === \"epic\" && !t.parentId).map((t) => ({\n\t\t\tid: t.id,\n\t\t\ttitle: t.title,\n\t\t\ttype: t.type ?? \"task\",\n\t\t\tstatus: t.status,\n\t\t\tdescendantCount: subtreeCount(t.id)\n\t\t})).sort((a, b) => b.descendantCount - a.descendantCount || a.id.localeCompare(b.id));\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\troots\n\t\t};\n\t} catch (e) {\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\troots: [],\n\t\t\terror: e instanceof Error ? e.message : \"Failed to load the saga list.\"\n\t\t};\n\t}\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/studio/_projectId_/_page.server.ts.js';\n\nexport const index = 23;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/studio/_projectId_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/studio/[projectId]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/23.pGRaHQjq.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/23.hkLGkf1W.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"24-BeVcofpU.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/studio/_projectId_/_sagaId_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/24.js"],"sourcesContent":["import { o as resolveProjectContext } from \"../../../../../chunks/project-context.js\";\nimport { t as loadExplorerBundle } from \"../../../../../chunks/explorer-loader.js\";\n//#region src/routes/studio/[projectId]/[sagaId]/+page.server.ts\nvar load = async ({ params, locals }) => {\n\tconst { projectId, sagaId } = params;\n\tconst ctx = locals.projectCtx.projectId === projectId ? locals.projectCtx : resolveProjectContext(projectId) ?? null;\n\tif (!ctx?.tasksDbExists) return {\n\t\tprojectId,\n\t\tprojectName: ctx?.name ?? projectId,\n\t\tsagaId,\n\t\tsaga: null,\n\t\texplorer: null,\n\t\terror: `Project \"${projectId}\" is not registered or has no tasks database.`\n\t};\n\ttry {\n\t\tconst explorer = await loadExplorerBundle({ projectCtx: ctx });\n\t\tconst sagaTask = explorer.tasks.find((t) => t.id === sagaId) ?? null;\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\tsagaId,\n\t\t\tsaga: sagaTask ? {\n\t\t\t\tid: sagaTask.id,\n\t\t\t\ttitle: sagaTask.title,\n\t\t\t\ttype: sagaTask.type,\n\t\t\t\tstatus: sagaTask.status\n\t\t\t} : null,\n\t\t\texplorer\n\t\t};\n\t} catch (e) {\n\t\treturn {\n\t\t\tprojectId,\n\t\t\tprojectName: ctx.name,\n\t\t\tsagaId,\n\t\t\tsaga: null,\n\t\t\texplorer: null,\n\t\t\terror: e instanceof Error ? e.message : \"Failed to load the saga workgraph bundle.\"\n\t\t};\n\t}\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/studio/_projectId_/_sagaId_/_page.server.ts.js';\n\nexport const index = 24;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/studio/_projectId_/_sagaId_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/studio/[projectId]/[sagaId]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/24.B_s9aY5m.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/C7UP-KLT.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/DvxYFW4C.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/saga-board.XH0XIkul.css\",\"_app/immutable/assets/24.BWCeO61w.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AACzC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;AACrC,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,IAAI;AACrH,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO;AACjC,EAAE,SAAS;AACX,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,IAAI,SAAS;AACrC,EAAE,MAAM;AACR,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,6CAA6C;AAC5E,EAAE;AACF,CAAC,IAAI;AACL,EAAE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAChE,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI;AACtE,EAAE,OAAO;AACT,GAAG,SAAS;AACZ,GAAG,WAAW,EAAE,GAAG,CAAC,IAAI;AACxB,GAAG,MAAM;AACT,GAAG,IAAI,EAAE,QAAQ,GAAG;AACpB,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE;AACnB,IAAI,KAAK,EAAE,QAAQ,CAAC,KAAK;AACzB,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI;AACvB,IAAI,MAAM,EAAE,QAAQ,CAAC;AACrB,IAAI,GAAG,IAAI;AACX,GAAG;AACH,GAAG;AACH,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;AACb,EAAE,OAAO;AACT,GAAG,SAAS;AACZ,GAAG,WAAW,EAAE,GAAG,CAAC,IAAI;AACxB,GAAG,MAAM;AACT,GAAG,IAAI,EAAE,IAAI;AACb,GAAG,QAAQ,EAAE,IAAI;AACjB,GAAG,KAAK,EAAE,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG;AAC3C,GAAG;AACH,CAAC;AACD,CAAC;;;;;;;ACrCW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA8D,CAAC,EAAE;AAE5H,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChgC,MAAC,WAAW,GAAG,CAAC,8CAA8C,CAAC,+CAA+C,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,0CAA0C,CAAC,+CAA+C,CAAC,uCAAuC;AACnU,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"25-DIuzTPOu.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/25.js"],"sourcesContent":["import { Dt as TASK_STATUSES } from \"../../../chunks/dist2.js\";\nimport { r as getTaskAccessor } from \"../../../chunks/data-accessor2.js\";\nimport { t as listTasks } from \"../../../chunks/list.js\";\nimport { t as computeTaskRollups } from \"../../../chunks/rollup.js\";\nimport { o as getTasksDb } from \"../../../chunks/connections2.js\";\nimport { t as loadExplorerBundle } from \"../../../chunks/explorer-loader.js\";\n//#region src/routes/tasks/+page.server.ts\n/**\n* Set of all valid {@link TaskStatus} values, used for O(1) narrowing at\n* the server boundary. Sourced from the canonical {@link TASK_STATUSES}\n* registry so any future status addition is picked up for free.\n*/\nvar TASK_STATUS_SET = new Set(TASK_STATUSES);\n/**\n* Set of canonical {@link TaskPriority} values. Mirrors the union in\n* `@cleocode/contracts` — the contracts package does not (yet) export a\n* runtime constant tuple for it, so we declare the narrow literal tuple\n* here and let TypeScript enforce exhaustiveness via the\n* `TaskPriority[]` type annotation.\n*/\nvar TASK_PRIORITY_SET = new Set([\n\t\"critical\",\n\t\"high\",\n\t\"medium\",\n\t\"low\"\n]);\n/**\n* Narrow a raw `status` string from the SQL layer to {@link TaskStatus}.\n*\n* The dashboard SELECT filters rows to `('active', 'pending', 'done'[,\n* 'archived'])`, but the DB column is declared as `TEXT` — so at the TS\n* layer we still need to prove the narrowing to satisfy the strict\n* {@link RecentTaskRow} union. Unknown values fall back to `'cancelled'`\n* (a terminal bucket that cannot ship an unrelated render path) and log\n* a one-line warning so a schema drift bug gets noticed.\n*/\nfunction narrowStatus(raw, taskId) {\n\tif (TASK_STATUS_SET.has(raw)) return raw;\n\tconsole.warn(`[tasks/+page.server] unexpected status \"${raw}\" for ${taskId}; coerced to \"cancelled\".`);\n\treturn \"cancelled\";\n}\n/**\n* Narrow a raw `priority` string from the SQL layer to {@link TaskPriority}.\n*\n* Same rationale as {@link narrowStatus} — the DB column is loose. Unknown\n* values fall back to `'low'` and warn once per row.\n*/\nfunction narrowPriority(raw, taskId) {\n\tif (TASK_PRIORITY_SET.has(raw)) return raw;\n\tconsole.warn(`[tasks/+page.server] unexpected priority \"${raw}\" for ${taskId}; coerced to \"low\".`);\n\treturn \"low\";\n}\n/**\n* Resolve the canonical \"include cancelled epics\" flag from a possibly-legacy\n* options bag, preferring {@link DeprecatedEpicProgressOptions.includeCancelled}\n* over the deprecated `includeDeferred`.\n*/\nfunction resolveIncludeCancelled(options) {\n\tif (typeof options.includeCancelled === \"boolean\") return options.includeCancelled;\n\tif (typeof options.includeDeferred === \"boolean\") return options.includeDeferred;\n\treturn false;\n}\n/**\n* Compute dashboard epic-progress rows using a direct-children basis.\n*\n* @deprecated T948: production `load()` now uses\n* {@link _computeEpicProgressViaRollup} which routes through\n* `cleo.lifecycle.computeRollupsBatch` so Studio, the CLI, and\n* `/tasks/pipeline` all see the same projection. This pure SQL helper is\n* retained only so the T874/T878 test suites (which pass an in-memory\n* `node:sqlite` db) keep working without a wholesale rewrite.\n*\n* Pure function so it can be unit-tested against an in-memory SQLite DB\n* without spinning up the full SvelteKit load context.\n*\n* T958: `options.includeDeferred` renamed to `options.includeCancelled`\n* since \"deferred\" was only ever a UI label for `status='cancelled'` on\n* epics — not a real DB field. The legacy option name is still accepted\n* for one release via {@link DeprecatedEpicProgressOptions}.\n*\n* @param db - SQLite DB handle (better-sqlite3-compatible).\n* @param options.includeCancelled - When true, include cancelled epics too.\n* @param options.includeDeferred - Deprecated alias for `includeCancelled`.\n* @returns One {@link EpicProgress} row per epic (filtered by `includeCancelled`).\n*\n* @task T874 | T878 | T948 | T958\n* @epic T876 | T949\n*/\nfunction _computeEpicProgress(db, options = {}) {\n\tconst epicFilter = resolveIncludeCancelled(options) ? `status != 'archived'` : `status NOT IN ('archived','cancelled')`;\n\treturn db.prepare(`SELECT id, title, status FROM tasks WHERE type = 'epic' AND ${epicFilter} ORDER BY id`).all().map((epic) => {\n\t\tconst children = db.prepare(`SELECT status, COUNT(*) as cnt\n FROM tasks\n WHERE parent_id = ?\n AND status != 'archived'\n GROUP BY status`).all(epic.id);\n\t\tconst childMap = Object.fromEntries(children.map((r) => [r.status, r.cnt]));\n\t\tconst total = Object.values(childMap).reduce((a, b) => a + b, 0);\n\t\treturn {\n\t\t\tid: epic.id,\n\t\t\ttitle: epic.title,\n\t\t\tstatus: epic.status,\n\t\t\ttotal,\n\t\t\tdone: childMap[\"done\"] ?? 0,\n\t\t\tactive: childMap[\"active\"] ?? 0,\n\t\t\tpending: childMap[\"pending\"] ?? 0,\n\t\t\tcancelled: childMap[\"cancelled\"] ?? 0\n\t\t};\n\t});\n}\n/**\n* Build an {@link EpicProgress} row from a parent epic + its child rollups.\n*\n* Pure transformation, no I/O. Child rollups arrive already filtered to the\n* epic's direct, non-archived children — this function only tallies\n* `execStatus` into dashboard buckets.\n*\n* Exported for tests (T948).\n*/\nfunction _epicRowFromRollups(parent, children) {\n\tlet done = 0;\n\tlet active = 0;\n\tlet pending = 0;\n\tlet cancelled = 0;\n\tfor (const child of children) switch (child.execStatus) {\n\t\tcase \"done\":\n\t\t\tdone += 1;\n\t\t\tbreak;\n\t\tcase \"active\":\n\t\t\tactive += 1;\n\t\t\tbreak;\n\t\tcase \"pending\":\n\t\t\tpending += 1;\n\t\t\tbreak;\n\t\tcase \"cancelled\":\n\t\t\tcancelled += 1;\n\t\t\tbreak;\n\t\tdefault: break;\n\t}\n\treturn {\n\t\tid: parent.id,\n\t\ttitle: parent.title,\n\t\tstatus: parent.status,\n\t\ttotal: children.length,\n\t\tdone,\n\t\tactive,\n\t\tpending,\n\t\tcancelled\n\t};\n}\n/**\n* Compute epic-progress rows via the canonical task-rollup facade.\n*\n* T948: this is the production path. For every non-archived epic we issue a\n* single `computeRollup` call to get the parent's exec status plus a\n* `computeRollupsBatch` for its direct children, then delegate to\n* {@link _epicRowFromRollups} for the tally.\n*\n* T958: `options.includeDeferred` renamed to `options.includeCancelled`. The\n* deprecated key is still accepted for one release.\n*\n* @param projectPath - Absolute path to the active project (from\n* `locals.projectCtx.projectPath`). Passed straight to\n* `Cleo.forProject` so the DataAccessor opens against\n* the right tasks.db.\n* @param options.includeCancelled - Include `status='cancelled'` epics.\n* @param options.includeDeferred - Deprecated alias for `includeCancelled`.\n* @returns Epic progress rows in deterministic (sorted-id) order.\n*/\nasync function _computeEpicProgressViaRollup(projectPath, options = {}) {\n\tconst includeCancelled = resolveIncludeCancelled(options);\n\tconst accessor = await getTaskAccessor(projectPath);\n\tconst epics = (await listTasks({\n\t\ttype: \"epic\",\n\t\texcludeArchived: true,\n\t\tsortByPriority: false,\n\t\tlimit: 1e3\n\t}, projectPath, accessor)).tasks.filter((e) => includeCancelled || e.status !== \"cancelled\").sort((a, b) => a.id.localeCompare(b.id));\n\tconst rows = [];\n\tfor (const epic of epics) {\n\t\tconst childRollups = await computeTaskRollups((await listTasks({\n\t\t\tparentId: epic.id,\n\t\t\texcludeArchived: true,\n\t\t\tsortByPriority: false,\n\t\t\tlimit: 1e3\n\t\t}, projectPath, accessor)).tasks.map((c) => c.id), accessor);\n\t\trows.push(_epicRowFromRollups({\n\t\t\tid: epic.id,\n\t\t\ttitle: epic.title,\n\t\t\tstatus: epic.status\n\t\t}, childRollups));\n\t}\n\treturn rows;\n}\n/**\n* One-time guard so the server only warns about a legacy `?deferred=1` URL\n* once per process lifetime, regardless of how many `/tasks` page loads see\n* the param. Mirrors the client-side guard in\n* `packages/studio/src/lib/stores/task-filters.svelte.ts`.\n*/\nvar legacyDeferredWarningEmitted = false;\n/**\n* Emit a one-time `console.warn` flagging `?deferred=1` as deprecated.\n*\n* @internal\n*/\nfunction warnLegacyDeferredParamOnce() {\n\tif (legacyDeferredWarningEmitted) return;\n\tlegacyDeferredWarningEmitted = true;\n\tconsole.warn(\"[tasks/+page.server] ?deferred=1 is deprecated; use ?cancelled=1. Alias removal tracked as a follow-up to T958.\");\n}\n/**\n* @internal\n* Test-only hook to reset the one-time `?deferred=1` warning guard so\n* repeated test cases can observe the warning firing exactly once per\n* scenario.\n*/\nfunction __resetLegacyDeferredParamWarningForTests() {\n\tlegacyDeferredWarningEmitted = false;\n}\n/**\n* Empty explorer-bundle stub returned whenever the shared loader cannot\n* produce a payload (missing tasks.db, half-initialised project, or the\n* loader threw). The hybrid `/tasks` page can still render the dashboard\n* panel and show an \"Explorer empty\" message without crashing.\n*/\nfunction emptyExplorerBundle() {\n\treturn {\n\t\ttasks: [],\n\t\tdeps: [],\n\t\tepicProgress: {},\n\t\tlabels: [],\n\t\tloadedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t};\n}\n/**\n* Load the shared Task Explorer payload side-by-side with the dashboard.\n*\n* Extracted as its own helper so the try/catch around the explorer loader\n* stays surgical — an Explorer failure must NOT blank the dashboard panel.\n*\n* @param ctx - Active project context (from `locals.projectCtx`).\n* @param includeArchived - Pass through the dashboard archived toggle.\n* @returns The explorer bundle, or an empty stub on any failure.\n*\n* @internal\n*/\nasync function loadExplorerSafe(ctx, includeArchived) {\n\ttry {\n\t\treturn await loadExplorerBundle({\n\t\t\tprojectCtx: ctx,\n\t\t\tincludeArchived\n\t\t});\n\t} catch {\n\t\treturn emptyExplorerBundle();\n\t}\n}\nvar load = async ({ locals, url }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tconst cancelledParam = url.searchParams.get(\"cancelled\") === \"1\";\n\tconst legacyDeferredParam = url.searchParams.get(\"deferred\") === \"1\";\n\tif (legacyDeferredParam) warnLegacyDeferredParamOnce();\n\tconst showCancelled = cancelledParam || legacyDeferredParam;\n\tconst showArchived = url.searchParams.get(\"archived\") === \"1\";\n\tconst filters = {\n\t\tshowCancelled,\n\t\tshowArchived\n\t};\n\tconst explorerPromise = loadExplorerSafe(locals.projectCtx, showArchived);\n\tif (!db) return {\n\t\tstats: null,\n\t\trecentTasks: [],\n\t\tepicProgress: [],\n\t\tfilters,\n\t\texplorer: await explorerPromise\n\t};\n\ttry {\n\t\tconst countByStatus = db.prepare(\"SELECT status, COUNT(*) as cnt FROM tasks GROUP BY status\").all();\n\t\tconst countByPriority = db.prepare(`SELECT priority, COUNT(*) as cnt FROM tasks WHERE status != 'archived' GROUP BY priority`).all();\n\t\tconst countByType = db.prepare(`SELECT type, COUNT(*) as cnt FROM tasks WHERE status != 'archived' GROUP BY type`).all();\n\t\tconst statusMap = Object.fromEntries(countByStatus.map((r) => [r.status, r.cnt]));\n\t\tconst priorityMap = Object.fromEntries(countByPriority.map((r) => [r.priority, r.cnt]));\n\t\tconst typeMap = Object.fromEntries(countByType.map((r) => [r.type, r.cnt]));\n\t\tconst stats = {\n\t\t\ttotal: (statusMap[\"pending\"] ?? 0) + (statusMap[\"active\"] ?? 0) + (statusMap[\"done\"] ?? 0) + (statusMap[\"cancelled\"] ?? 0),\n\t\t\tpending: statusMap[\"pending\"] ?? 0,\n\t\t\tactive: statusMap[\"active\"] ?? 0,\n\t\t\tdone: statusMap[\"done\"] ?? 0,\n\t\t\tcancelled: statusMap[\"cancelled\"] ?? 0,\n\t\t\tarchived: statusMap[\"archived\"] ?? 0,\n\t\t\tcritical: priorityMap[\"critical\"] ?? 0,\n\t\t\thigh: priorityMap[\"high\"] ?? 0,\n\t\t\tmedium: priorityMap[\"medium\"] ?? 0,\n\t\t\tlow: priorityMap[\"low\"] ?? 0,\n\t\t\tepics: typeMap[\"epic\"] ?? 0,\n\t\t\ttasks: typeMap[\"task\"] ?? 0,\n\t\t\tsubtasks: typeMap[\"subtask\"] ?? 0\n\t\t};\n\t\tconst recentStatusFilter = showArchived ? `status IN ('active', 'pending', 'done', 'archived')` : `status IN ('active', 'pending', 'done')`;\n\t\tconst recentTasks = db.prepare(`SELECT id, title, status, priority, type, pipeline_stage, updated_at\n FROM tasks\n WHERE ${recentStatusFilter}\n ORDER BY updated_at DESC\n LIMIT 20`).all().map((row) => ({\n\t\t\tid: row.id,\n\t\t\ttitle: row.title,\n\t\t\tstatus: narrowStatus(row.status, row.id),\n\t\t\tpriority: narrowPriority(row.priority, row.id),\n\t\t\ttype: row.type,\n\t\t\tpipeline_stage: row.pipeline_stage,\n\t\t\tupdated_at: row.updated_at\n\t\t}));\n\t\tlet epicProgress = [];\n\t\ttry {\n\t\t\tepicProgress = await _computeEpicProgressViaRollup(locals.projectCtx.projectPath, { includeCancelled: showCancelled });\n\t\t} catch {\n\t\t\tepicProgress = _computeEpicProgress(db, { includeCancelled: showCancelled });\n\t\t}\n\t\tconst explorer = await explorerPromise;\n\t\treturn {\n\t\t\tstats,\n\t\t\trecentTasks,\n\t\t\tepicProgress,\n\t\t\tfilters,\n\t\t\texplorer\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tstats: null,\n\t\t\trecentTasks: [],\n\t\t\tepicProgress: [],\n\t\t\tfilters,\n\t\t\texplorer: await explorerPromise\n\t\t};\n\t}\n};\n//#endregion\nexport { __resetLegacyDeferredParamWarningForTests, _computeEpicProgress, _computeEpicProgressViaRollup, _epicRowFromRollups, load };\n","import * as server from '../entries/pages/tasks/_page.server.ts.js';\n\nexport const index = 25;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/25.DZXkDxw_.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/C7UP-KLT.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/25.BtvG5YXz.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"26-CY8x0KNI.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/26.js"],"sourcesContent":["import { o as getTasksDb } from \"../../../../chunks/connections2.js\";\nimport { error } from \"@sveltejs/kit\";\nimport { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { spawnSync } from \"node:child_process\";\n//#region src/routes/tasks/[id]/+page.server.ts\n/**\n* Task detail page server load — single task, subtasks, verification, acceptance,\n* notes, MANIFEST artifacts, and linked git commits.\n*\n* @task T723\n*/\n/**\n* Load manifest entries for a task from the legacy flat-file (migration read-back).\n* ADR-027: canonical store is pipeline_manifest in tasks.db, accessed via `cleo manifest` CLI.\n*/\nfunction loadManifestEntries(projectPath, taskId) {\n\tconst manifestPath = join(projectPath, \".cleo\", \"agent-outputs\", [\"MANIFEST\", \"jsonl\"].join(\".\"));\n\tif (!existsSync(manifestPath)) return [];\n\ttry {\n\t\tconst lines = readFileSync(manifestPath, \"utf8\").split(\"\\n\").filter(Boolean);\n\t\tconst results = [];\n\t\tfor (const line of lines) try {\n\t\t\tconst raw = JSON.parse(line);\n\t\t\tconst taskField = String(raw[\"task\"] ?? \"\");\n\t\t\tconst linkedTasks = Array.isArray(raw[\"linked_tasks\"]) ? raw[\"linked_tasks\"] : [];\n\t\t\tconst entryId = String(raw[\"id\"] ?? \"\");\n\t\t\tif (!(taskField === taskId || linkedTasks.includes(taskId) || entryId.startsWith(`${taskId}-`))) continue;\n\t\t\tconst files = [];\n\t\t\tif (Array.isArray(raw[\"files\"])) files.push(...raw[\"files\"]);\n\t\t\tif (typeof raw[\"file\"] === \"string\") files.push(raw[\"file\"]);\n\t\t\tresults.push({\n\t\t\t\tid: entryId,\n\t\t\t\ttask: taskField || taskId,\n\t\t\t\ttype: String(raw[\"type\"] ?? raw[\"agent_type\"] ?? \"unknown\"),\n\t\t\t\tstatus: String(raw[\"status\"] ?? \"unknown\"),\n\t\t\t\tdate: String(raw[\"date\"] ?? raw[\"timestamp\"] ?? \"\"),\n\t\t\t\ttitle: raw[\"title\"] != null ? String(raw[\"title\"]) : null,\n\t\t\t\tsummary: raw[\"summary\"] != null ? String(raw[\"summary\"]) : null,\n\t\t\t\toutput: raw[\"output\"] != null ? String(raw[\"output\"]) : raw[\"outputFile\"] != null ? String(raw[\"outputFile\"]) : null,\n\t\t\t\tfiles,\n\t\t\t\tlinked_tasks: linkedTasks\n\t\t\t});\n\t\t} catch {}\n\t\treturn results;\n\t} catch {\n\t\treturn [];\n\t}\n}\n/**\n* Query git log for commits whose subject line mentions the task ID.\n* Returns up to 20 matching commits, each with their changed files.\n*/\nfunction loadLinkedCommits(projectPath, taskId) {\n\ttry {\n\t\tconst result = spawnSync(\"git\", [\n\t\t\t\"log\",\n\t\t\t\"--all\",\n\t\t\t\"--oneline\",\n\t\t\t\"--format=%H|%s|%ai\",\n\t\t\t`--grep=${taskId}`,\n\t\t\t\"-n\",\n\t\t\t\"20\"\n\t\t], {\n\t\t\tcwd: projectPath,\n\t\t\tencoding: \"utf8\",\n\t\t\ttimeout: 5e3\n\t\t});\n\t\tif (result.status !== 0 || !result.stdout?.trim()) return [];\n\t\tconst commits = [];\n\t\tfor (const line of result.stdout.trim().split(\"\\n\")) {\n\t\t\tconst parts = line.split(\"|\");\n\t\t\tif (parts.length < 2) continue;\n\t\t\tconst sha = parts[0]?.trim() ?? \"\";\n\t\t\tconst subject = parts[1]?.trim() ?? \"\";\n\t\t\tconst date = parts[2]?.trim() ?? \"\";\n\t\t\tif (!sha) continue;\n\t\t\tconst filesResult = spawnSync(\"git\", [\n\t\t\t\t\"diff-tree\",\n\t\t\t\t\"--no-commit-id\",\n\t\t\t\t\"-r\",\n\t\t\t\t\"--name-only\",\n\t\t\t\tsha\n\t\t\t], {\n\t\t\t\tcwd: projectPath,\n\t\t\t\tencoding: \"utf8\",\n\t\t\t\ttimeout: 3e3\n\t\t\t});\n\t\t\tconst files = filesResult.status === 0 ? filesResult.stdout.trim().split(\"\\n\").filter(Boolean) : [];\n\t\t\tcommits.push({\n\t\t\t\tsha: sha.slice(0, 8),\n\t\t\t\tsubject,\n\t\t\t\tdate,\n\t\t\t\tfiles\n\t\t\t});\n\t\t}\n\t\treturn commits;\n\t} catch {\n\t\treturn [];\n\t}\n}\nvar load = ({ locals, params }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tif (!db) error(503, \"tasks.db unavailable\");\n\tconst { id } = params;\n\tconst row = db.prepare(`SELECT id, title, description, status, priority, type, parent_id,\n pipeline_stage, size, phase, labels_json, acceptance_json,\n verification_json, notes_json, created_at, updated_at, completed_at,\n assignee, session_id\n FROM tasks WHERE id = ?`).get(id);\n\tif (!row) error(404, `Task ${id} not found`);\n\tlet verification = null;\n\ttry {\n\t\tif (row.verification_json) verification = JSON.parse(row.verification_json);\n\t} catch {}\n\tlet acceptance = [];\n\ttry {\n\t\tif (row.acceptance_json) acceptance = JSON.parse(row.acceptance_json);\n\t} catch {}\n\tlet labels = [];\n\ttry {\n\t\tif (row.labels_json) labels = JSON.parse(row.labels_json);\n\t} catch {}\n\tlet notes = [];\n\ttry {\n\t\tif (row.notes_json) notes = JSON.parse(row.notes_json);\n\t} catch {}\n\tconst task = {\n\t\tid: row.id,\n\t\ttitle: row.title,\n\t\tdescription: row.description,\n\t\tstatus: row.status,\n\t\tpriority: row.priority,\n\t\ttype: row.type,\n\t\tparent_id: row.parent_id,\n\t\tpipeline_stage: row.pipeline_stage,\n\t\tsize: row.size,\n\t\tphase: row.phase,\n\t\tcreated_at: row.created_at,\n\t\tupdated_at: row.updated_at,\n\t\tcompleted_at: row.completed_at,\n\t\tassignee: row.assignee,\n\t\tsession_id: row.session_id,\n\t\tverification,\n\t\tacceptance,\n\t\tlabels,\n\t\tnotes,\n\t\tupstream: [],\n\t\tdownstream: []\n\t};\n\tconst subtasks = db.prepare(`SELECT id, title, status, priority, type, pipeline_stage, size,\n verification_json, acceptance_json, created_at, completed_at\n FROM tasks WHERE parent_id = ?\n ORDER BY position ASC, created_at ASC`).all(id);\n\tconst upstream = db.prepare(`SELECT t.id, t.title, t.status, t.priority\n FROM tasks t\n INNER JOIN task_dependencies td ON td.depends_on = t.id\n WHERE td.task_id = ?\n ORDER BY t.id ASC`).all(id);\n\tconst downstream = db.prepare(`SELECT t.id, t.title, t.status, t.priority\n FROM tasks t\n INNER JOIN task_dependencies td ON td.task_id = t.id\n WHERE td.depends_on = ?\n ORDER BY t.id ASC`).all(id);\n\ttask.upstream = upstream;\n\ttask.downstream = downstream;\n\tlet parent = null;\n\tif (row.parent_id) parent = db.prepare(\"SELECT id, title, type FROM tasks WHERE id = ?\").get(row.parent_id) ?? null;\n\tconst projectPath = locals.projectCtx.projectPath;\n\tconst manifestEntries = loadManifestEntries(projectPath, id);\n\tconst linkedCommits = loadLinkedCommits(projectPath, id);\n\treturn {\n\t\ttask,\n\t\tsubtasks,\n\t\tparent,\n\t\tmanifestEntries,\n\t\tlinkedCommits\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tasks/_id_/_page.server.ts.js';\n\nexport const index = 26;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/26.BBRbdwIG.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/9yrFrmKZ.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/wI_OOyoh.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/26.Bc1bH1ab.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"27-C9edghG4.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/graph/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/27.js"],"sourcesContent":["import { redirect } from \"@sveltejs/kit\";\n//#region src/routes/tasks/graph/+page.server.ts\n/**\n* Legacy `/tasks/graph` route — 301 redirect to the new Task Explorer graph\n* tab on `/tasks`.\n*\n* T956 merged the three explorer tabs (Hierarchy, Graph, Kanban) into the\n* single `/tasks` page with hash-based tab switching. The old graph page lives\n* on as a thin redirect shell so external links and bookmarks continue to\n* work: `/tasks/graph` now sends the caller to `/tasks?view=graph#graph`,\n* preserving any additional query parameters (e.g. `?archived=1`, `?epic=`)\n* so existing filter state round-trips through the redirect.\n*\n* The previous graph implementation's rendering logic is already available in\n* the shared shelf under `$lib/components/tasks` (extracted by T950); deleting\n* the `+page.svelte` sibling therefore loses no functionality.\n*\n* @task T957\n* @epic T949\n*/\nvar load = ({ url }) => {\n\tconst target = new URL(\"/tasks\", url.origin);\n\tfor (const [key, value] of url.searchParams) target.searchParams.set(key, value);\n\ttarget.searchParams.set(\"view\", \"graph\");\n\ttarget.hash = \"graph\";\n\tredirect(301, target.pathname + target.search + target.hash);\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tasks/graph/_page.server.ts.js';\n\nexport const index = 27;\nexport { server };\nexport const server_id = \"src/routes/tasks/graph/+page.server.ts\";\nexport const imports = [];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK;AACxB,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;AAC7C,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACjF,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;AACzC,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO;AACtB,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;AAC7D,CAAC;;;;;;;ACxBW,MAAC,KAAK,GAAG;AAET,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG;AACX,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"28-VemTJGyc.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/kanban/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/28.js"],"sourcesContent":["import { r as getTaskAccessor } from \"../../../../chunks/data-accessor2.js\";\nimport { r as listSessions } from \"../../../../chunks/sessions.js\";\nimport { a as AGENT_LIFECYCLE_LANES, c as resolveAgentLifecycleLane, o as AGENT_LIFECYCLE_LANE_HINTS, p as computeTaskViews, s as AGENT_LIFECYCLE_LANE_LABELS } from \"../../../../chunks/tasks.js\";\nimport { t as listTasks } from \"../../../../chunks/list.js\";\nimport \"../../../../chunks/agent-lifecycle-lane.js\";\n//#region src/routes/tasks/kanban/+page.server.ts\n/** Build the ordered, board-ready lane definitions from the lane taxonomy. */\nfunction buildLanes() {\n\treturn AGENT_LIFECYCLE_LANES.map((id) => ({\n\t\tid,\n\t\tlabel: AGENT_LIFECYCLE_LANE_LABELS[id],\n\t\thint: AGENT_LIFECYCLE_LANE_HINTS[id]\n\t}));\n}\n/**\n* Project a core `Task` + its `TaskView` slice + the active-worker set onto\n* the framework-free {@link AgentLifecycleSignal} the resolver consumes.\n*\n* @param task - The core task row.\n* @param view - Aligned `TaskView` (gates, readyToComplete, nextAction), or undefined.\n* @param activeWorkerIds - Set of task ids currently claimed by an active session.\n* @returns The normalised signal bundle.\n*/\nfunction toSignal(task, view, activeWorkerIds) {\n\tconst depends = task.depends ?? [];\n\tconst blockedOnDeps = view?.nextAction === \"blocked-on-deps\";\n\tconst unmetDependsCount = depends.length === 0 ? 0 : blockedOnDeps ? depends.length : 0;\n\treturn {\n\t\tstatus: task.status,\n\t\tblockedBy: task.blockedBy ?? null,\n\t\tdepends,\n\t\tunmetDependsCount,\n\t\tgates: view?.gatesStatus ?? null,\n\t\treadyToComplete: view?.readyToComplete ?? false,\n\t\tprAwaiting: false,\n\t\thitlPending: false,\n\t\tworkerActive: activeWorkerIds.has(task.id),\n\t\tnextAction: view?.nextAction\n\t};\n}\n/** Project a core `Task` onto a presentational {@link BoardCard}. */\nfunction toCard(task, workerActive) {\n\treturn {\n\t\tid: task.id,\n\t\ttitle: task.title,\n\t\tstatus: task.status,\n\t\tpriority: task.priority,\n\t\tsize: task.size ?? null,\n\t\tverificationJson: task.verification !== void 0 && task.verification !== null ? JSON.stringify(task.verification) : null,\n\t\tworkerActive\n\t};\n}\nvar load = async ({ locals }) => {\n\tconst ctx = locals.projectCtx;\n\tconst lanes = buildLanes();\n\tconst emptyColumns = lanes.map((lane) => ({\n\t\tlane,\n\t\tcards: [],\n\t\tcount: 0\n\t}));\n\tif (!ctx.tasksDbExists) return {\n\t\tcolumns: emptyColumns,\n\t\ttotal: 0,\n\t\terror: \"tasks.db unavailable\"\n\t};\n\ttry {\n\t\tconst accessor = await getTaskAccessor(ctx.projectPath);\n\t\tconst tasks = (await listTasks({\n\t\t\texcludeArchived: true,\n\t\t\tsortByPriority: true,\n\t\t\tlimit: 1e3\n\t\t}, ctx.projectPath, accessor)).tasks;\n\t\tconst views = await computeTaskViews(tasks.map((t) => t.id), accessor);\n\t\tconst viewById = new Map(views.map((v) => [v.id, v]));\n\t\tlet activeWorkerIds = /* @__PURE__ */ new Set();\n\t\ttry {\n\t\t\tconst activeSessions = await listSessions(ctx.projectPath, { status: \"active\" });\n\t\t\tactiveWorkerIds = new Set(activeSessions.map((s) => s.taskWork?.taskId ?? null).filter((id) => id !== null));\n\t\t} catch {}\n\t\tconst byLane = /* @__PURE__ */ new Map();\n\t\tfor (const lane of AGENT_LIFECYCLE_LANES) byLane.set(lane, []);\n\t\tlet total = 0;\n\t\tfor (const task of tasks) {\n\t\t\tif (!isSurfacedStatus(task.status)) continue;\n\t\t\tconst view = viewById.get(task.id);\n\t\t\tconst workerActive = activeWorkerIds.has(task.id);\n\t\t\tconst lane = resolveAgentLifecycleLane(toSignal(task, view, activeWorkerIds));\n\t\t\tbyLane.get(lane)?.push(toCard(task, workerActive));\n\t\t\ttotal += 1;\n\t\t}\n\t\treturn {\n\t\t\tcolumns: lanes.map((lane) => {\n\t\t\t\tconst cards = byLane.get(lane.id) ?? [];\n\t\t\t\treturn {\n\t\t\t\t\tlane,\n\t\t\t\t\tcards,\n\t\t\t\t\tcount: cards.length\n\t\t\t\t};\n\t\t\t}),\n\t\t\ttotal\n\t\t};\n\t} catch (err) {\n\t\treturn {\n\t\t\tcolumns: emptyColumns,\n\t\t\ttotal: 0,\n\t\t\terror: String(err)\n\t\t};\n\t}\n};\n/** Statuses surfaced on the dispatcher board (everything except pre-lifecycle / archived). */\nfunction isSurfacedStatus(status) {\n\treturn status !== \"archived\" && status !== \"proposed\";\n}\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tasks/kanban/_page.server.ts.js';\n\nexport const index = 28;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/kanban/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/kanban/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/28.DcmYM7lb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/DvxYFW4C.js\",\"_app/immutable/chunks/wI_OOyoh.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/saga-board.XH0XIkul.css\",\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/28.B2KOVxyP.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"29-CXP-m29t.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/pipeline/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/29.js"],"sourcesContent":["import { o as getTasksDb } from \"../../../../chunks/connections2.js\";\n//#region src/routes/tasks/pipeline/+page.server.ts\n/**\n* Pipeline page server load — tasks grouped by pipeline_stage for kanban.\n*\n* Column taxonomy:\n* - Intermediate RCASD-IVTR+C stages (research → release) mirror\n* `TASK_PIPELINE_STAGES` in `@cleocode/core`.\n* - `done` is the display bucket for any task with `status='done'` OR\n* `pipeline_stage IN ('contribution','done')`. This is the T871 fix:\n* completed tasks now always appear here, not lingering in\n* research/implementation/release.\n* - `cancelled` is the display bucket for any task with\n* `status='cancelled'` OR `pipeline_stage='cancelled'`.\n* - `unassigned` catches NULL pipeline_stage rows.\n*\n* @task T873\n* @epic T870\n*/\n/**\n* Ordered canonical pipeline column IDs. Mirrors the RCASD-IVTR+C chain\n* from `@cleocode/core` with terminal display buckets appended.\n*\n* NOTE: stays in string form (not imported from core) because the\n* SvelteKit server runtime must not pull CLI-only packages.\n*/\nvar PIPELINE_STAGES = [\n\t\"research\",\n\t\"consensus\",\n\t\"architecture_decision\",\n\t\"specification\",\n\t\"decomposition\",\n\t\"implementation\",\n\t\"validation\",\n\t\"testing\",\n\t\"release\",\n\t\"done\",\n\t\"cancelled\"\n];\n/** Terminal pipeline-stage names (match `TERMINAL_PIPELINE_STAGES` in core). */\nvar TERMINAL_DONE_STAGES = new Set([\"contribution\", \"done\"]);\nvar TERMINAL_CANCELLED_STAGES = new Set([\"cancelled\"]);\n/**\n* Human-readable column labels (override default Title Case where needed).\n*\n* T880: `architecture_decision` now renders as \"Design / ADR\" per owner\n* directive. Internal enum stays `architecture_decision` (backend, CLI,\n* tests) — only the display label in Studio changes. This avoids a\n* schema migration while keeping the UI owner-friendly.\n*/\nvar COLUMN_LABELS = {\n\tresearch: \"Research\",\n\tconsensus: \"Consensus\",\n\tarchitecture_decision: \"Design / ADR\",\n\tspecification: \"Specification\",\n\tdecomposition: \"Decomposition\",\n\timplementation: \"Implementation\",\n\tvalidation: \"Validation\",\n\ttesting: \"Testing\",\n\trelease: \"Release\",\n\tcontribution: \"Contribution\",\n\tdone: \"Done\",\n\tcancelled: \"Cancelled\",\n\tunassigned: \"Unassigned\"\n};\n/**\n* Decide which column a row belongs in, honouring `status` as the\n* authoritative signal for terminal tasks. This prevents the long-standing\n* drift where a `status=done` task with `pipeline_stage='research'` would\n* show up in the RESEARCH column instead of DONE.\n*/\nfunction resolveColumnId(row) {\n\tif (row.status === \"done\") return \"done\";\n\tif (row.status === \"cancelled\") return \"cancelled\";\n\tif (row.pipeline_stage && TERMINAL_DONE_STAGES.has(row.pipeline_stage)) return \"done\";\n\tif (row.pipeline_stage && TERMINAL_CANCELLED_STAGES.has(row.pipeline_stage)) return \"cancelled\";\n\tif (row.pipeline_stage && PIPELINE_STAGES.includes(row.pipeline_stage)) return row.pipeline_stage;\n\treturn \"unassigned\";\n}\nvar load = ({ locals }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tif (!db) return { columns: [] };\n\ttry {\n\t\tconst rows = db.prepare(`SELECT id, title, status, priority, type, parent_id, size,\n pipeline_stage, verification_json\n FROM tasks\n WHERE status != 'archived'\n ORDER BY\n CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 ELSE 3 END,\n created_at DESC`).all();\n\t\tconst buckets = {};\n\t\tfor (const stage of [...PIPELINE_STAGES, \"unassigned\"]) buckets[stage] = [];\n\t\tfor (const row of rows) {\n\t\t\tconst target = buckets[resolveColumnId(row)] ?? buckets[\"unassigned\"];\n\t\t\tconst { pipeline_stage: _, ...rest } = row;\n\t\t\ttarget.push(rest);\n\t\t}\n\t\tconst columns = [...PIPELINE_STAGES].map((s) => ({\n\t\t\tid: s,\n\t\t\tlabel: COLUMN_LABELS[s] ?? s.charAt(0).toUpperCase() + s.slice(1),\n\t\t\tcount: buckets[s].length,\n\t\t\ttasks: buckets[s]\n\t\t}));\n\t\tif (buckets[\"unassigned\"].length > 0) columns.push({\n\t\t\tid: \"unassigned\",\n\t\t\tlabel: COLUMN_LABELS[\"unassigned\"],\n\t\t\tcount: buckets[\"unassigned\"].length,\n\t\t\ttasks: buckets[\"unassigned\"]\n\t\t});\n\t\treturn { columns };\n\t} catch {\n\t\treturn { columns: [] };\n\t}\n};\n/**\n* Exported for tests (T873, T880).\n* Pure router used by `load` — unit-testable without a DB connection.\n*/\nvar __testing__ = {\n\tresolveColumnId,\n\tPIPELINE_STAGES,\n\tCOLUMN_LABELS\n};\n//#endregion\nexport { __testing__, load };\n","import * as server from '../entries/pages/tasks/pipeline/_page.server.ts.js';\n\nexport const index = 29;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/pipeline/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/pipeline/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/29.lbHbMqNO.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/DhhrVdfi.js\",\"_app/immutable/chunks/DGRYMk-W.js\",\"_app/immutable/chunks/DsQIgu-4.js\",\"_app/immutable/chunks/CxbvtjIH.js\",\"_app/immutable/chunks/DYQphR_V.js\",\"_app/immutable/chunks/CXTCtOUQ.js\",\"_app/immutable/chunks/DOqzs8kl2.js\",\"_app/immutable/chunks/DF_4OWhj.js\",\"_app/immutable/chunks/CdqDTozW.js\",\"_app/immutable/chunks/D7w7HllH.js\",\"_app/immutable/chunks/DB5ifLM-.js\",\"_app/immutable/chunks/B2_6RrlL2.js\",\"_app/immutable/chunks/CdPxoldu.js\",\"_app/immutable/chunks/DtNkZUkq.js\",\"_app/immutable/chunks/Ml4JR6Jz2.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/wI_OOyoh.js\"];\nexport const stylesheets = [\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/tasks.BZWJL4jq.css\",\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/29.DRNLnKHe.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"3-p3RwD-FY.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/brain/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["import { a as getNexusDb, i as getConduitDb, n as getAgentRegistryDb, o as getTasksDb, r as getBrainDb, t as getAllSubstrates } from \"../../../chunks/src.js\";\nimport { a as setCachedGraph, i as getCachedGraph, n as buildCacheKey, r as getBrainCacheMetrics, t as recordBrainLoadDuration } from \"../../../chunks/brain.js\";\n//#region src/lib/graph/adapters/cross-substrate.ts\n/**\n* Execute a prepared statement and cast to `T[]`.\n* Identical to `allTyped` in `@cleocode/brain/db-connections` —\n* duplicated here so the studio package stays independent.\n*/\nfunction allTyped(stmt, ...params) {\n\treturn stmt.all(...params);\n}\n/** Default weight for all bridge edges — 0.7, higher than intra-substrate defaults. */\nvar BRIDGE_WEIGHT = .7;\n/**\n* Translate a `brain_memory_links.link_type` value to the canonical\n* `EdgeKind` vocabulary.\n*\n* Known values per `BRAIN_LINK_TYPES` in memory-schema.ts:\n* `produced_by | applies_to | informed_by | contradicts`\n*\n* @param linkType - Raw link_type from brain_memory_links.\n* @returns Canonical EdgeKind.\n*/\nfunction memLinkToEdgeKind(linkType) {\n\tif (linkType === \"produced_by\") return \"produced_by\";\n\tif (linkType === \"informed_by\") return \"informed_by\";\n\tif (linkType === \"applies_to\") return \"derived_from\";\n\tif (linkType === \"contradicts\") return \"relates_to\";\n\treturn \"relates_to\";\n}\n/**\n* Returns true when a `brain_page_edges.to_id` value looks like a nexus\n* node path (contains `::` separator for file::Symbol, or is a relative\n* file path with a `/`).\n*\n* Mirrors `isNexusStyleId` from `packages/brain/src/adapters/brain.ts`.\n*\n* @param toId - Candidate ID string from brain_page_edges.\n*/\nfunction isNexusStyleId(toId) {\n\tif (toId.includes(\"::\")) return true;\n\tif (!toId.includes(\":\") && toId.includes(\"/\")) return true;\n\treturn false;\n}\n/**\n* Returns true when a `brain_page_edges.from_id` / `to_id` value represents\n* a task reference (e.g. `\"task:T532\"`).\n*\n* @param id - Candidate ID string from brain_page_edges.\n*/\nfunction isTaskRef(id) {\n\treturn id.startsWith(\"task:\");\n}\n/**\n* Returns true when a `brain_page_edges.from_id` value represents\n* a CONDUIT message reference (e.g. `\"msg:msg_abc123\"`).\n*\n* @param id - Candidate ID string from brain_page_edges.\n*/\nfunction isMsgRef(id) {\n\treturn id.startsWith(\"msg:\");\n}\n/**\n* Compute all cross-substrate bridges between the given node set.\n*\n* This is the primary integration point for Agent C's server load. It\n* is called for tier-0, tier-1, and tier-2 paints. Bridges involving\n* hub nodes are always included — even in tier-0 — because bridges are\n* what makes the first paint look \"alive\".\n*\n* The function:\n* 1. Enumerates each bridge category using SQL queries against the provided DBs.\n* 2. Filters to bridges where both endpoints exist in `nodes`.\n* 3. Deduplicates by (source, target, kind).\n* 4. Applies a 2 × |nodes| cap, sorted by weight descending.\n* 5. Logs per-category counts to `console.info`.\n*\n* @param nodes - Current node set (substrate-prefixed IDs). Only bridges\n* where both endpoints appear here are emitted.\n* @param dbRefs - Optional DB connections. Missing DBs produce zero bridges\n* for that category — no errors are thrown.\n* @returns Array of {@link GraphEdge} objects with `meta.isBridge: true`.\n*\n* @example\n* ```ts\n* import { computeBridges } from '$lib/graph/adapters/cross-substrate.js';\n*\n* const bridges = computeBridges(nodes, { brainDb, tasksDb, nexusDb });\n* const allEdges = [...intraEdges, ...bridges];\n* ```\n*/\nfunction computeBridges(nodes, dbRefs) {\n\tconst nodeIdSet = new Set(nodes.map((n) => n.id));\n\tconst raw = [];\n\tif (dbRefs.brainDb) {\n\t\traw.push(...bridgeTaskBrainViaMemLinks(dbRefs.brainDb, nodeIdSet));\n\t\traw.push(...bridgeTaskBrainViaDecisions(dbRefs.brainDb, nodeIdSet));\n\t}\n\tif (dbRefs.brainDb) {\n\t\traw.push(...bridgeBrainNexusViaPageEdges(dbRefs.brainDb, nodeIdSet));\n\t\traw.push(...bridgeBrainNexusViaObsFiles(dbRefs.brainDb, nodeIdSet));\n\t}\n\tif (dbRefs.brainDb) raw.push(...bridgeConduitTasksViaPageEdges(dbRefs.brainDb, nodeIdSet));\n\tif (dbRefs.tasksDb) raw.push(...bridgeAgentRegistryTasksViaAssignee(dbRefs.tasksDb, nodeIdSet));\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst unique = [];\n\tfor (const b of raw) {\n\t\tconst key = `${b.source}|${b.target}|${b.kind}`;\n\t\tif (!seen.has(key)) {\n\t\t\tseen.add(key);\n\t\t\tunique.push(b);\n\t\t}\n\t}\n\tconst cap = nodes.length * 2;\n\tunique.sort((a, b) => b.weight - a.weight);\n\tconst capped = unique.length > cap;\n\tconst result = capped ? unique.slice(0, cap) : unique;\n\tconst stats = buildStats(result, capped);\n\tconsole.info(`[cross-substrate] bridges emitted: ${stats.total} (capped=${stats.capped}) — ` + Object.entries(stats.byType).filter(([, v]) => v > 0).map(([k, v]) => `${k}:${v}`).join(\", \"));\n\treturn result.map((b, i) => ({\n\t\tid: `bridge-${i}:${b.source}>${b.target}:${b.kind}`,\n\t\tsource: b.source,\n\t\ttarget: b.target,\n\t\tkind: b.kind,\n\t\tweight: b.weight,\n\t\tdirectional: true,\n\t\tmeta: b.meta\n\t}));\n}\n/**\n* Bridge: TASK ↔ BRAIN via `brain_memory_links`.\n*\n* The `brain_memory_links` table stores explicit cross-DB links between\n* typed memory entries and tasks. Each row maps (memory_type, memory_id) →\n* task_id with a semantic link_type.\n*\n* Verified present in `memory-schema.ts` as `brainMemoryLinks`.\n*\n* @param db - brain.db connection.\n* @param nodeIds - Set of loaded node IDs.\n* @returns Bridge edges.\n*/\nfunction bridgeTaskBrainViaMemLinks(db, nodeIds) {\n\tconst bridges = [];\n\ttry {\n\t\tconst rows = allTyped(db.prepare(`SELECT memory_type, memory_id, task_id, link_type\n FROM brain_memory_links\n LIMIT 2000`));\n\t\tfor (const row of rows) {\n\t\t\tconst brainNodeId = `brain:${row.memory_id}`;\n\t\t\tconst tasksNodeId = `tasks:${row.task_id}`;\n\t\t\tif (!nodeIds.has(brainNodeId) || !nodeIds.has(tasksNodeId)) continue;\n\t\t\tconst kind = memLinkToEdgeKind(row.link_type);\n\t\t\tbridges.push({\n\t\t\t\tsource: brainNodeId,\n\t\t\t\ttarget: tasksNodeId,\n\t\t\t\tkind,\n\t\t\t\tweight: BRIDGE_WEIGHT,\n\t\t\t\tmeta: {\n\t\t\t\t\tisBridge: true,\n\t\t\t\t\tbridgeType: \"task->brain\",\n\t\t\t\t\tdescription: `Memory entry ${row.memory_type}:${row.memory_id} ${kind.replace(\"_\", \" \")} task ${row.task_id}`,\n\t\t\t\t\tlink_type: row.link_type,\n\t\t\t\t\tmemory_type: row.memory_type\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} catch {}\n\treturn bridges;\n}\n/**\n* Bridge: TASK ↔ BRAIN via `brain_decisions.context_task_id` and\n* `brain_decisions.context_epic_id`.\n*\n* Both columns are present in the schema as soft FKs into tasks.db.\n* Each decision that cites a task gets an `informed_by` bridge pointing\n* to the task that provided the architectural context.\n*\n* Verified present in `memory-schema.ts` as `brainDecisions.contextTaskId`\n* and `brainDecisions.contextEpicId`.\n*\n* @param db - brain.db connection.\n* @param nodeIds - Set of loaded node IDs.\n* @returns Bridge edges.\n*/\nfunction bridgeTaskBrainViaDecisions(db, nodeIds) {\n\tconst bridges = [];\n\ttry {\n\t\tconst rows = allTyped(db.prepare(`SELECT id, context_task_id, context_epic_id\n FROM brain_decisions\n WHERE context_task_id IS NOT NULL OR context_epic_id IS NOT NULL\n LIMIT 1000`));\n\t\tfor (const row of rows) {\n\t\t\tconst brainNodeId = `brain:${row.id}`;\n\t\t\tif (!nodeIds.has(brainNodeId)) continue;\n\t\t\tif (row.context_task_id) {\n\t\t\t\tconst tasksNodeId = `tasks:${row.context_task_id}`;\n\t\t\t\tif (nodeIds.has(tasksNodeId)) bridges.push({\n\t\t\t\t\tsource: brainNodeId,\n\t\t\t\t\ttarget: tasksNodeId,\n\t\t\t\t\tkind: \"informed_by\",\n\t\t\t\t\tweight: BRIDGE_WEIGHT,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisBridge: true,\n\t\t\t\t\t\tbridgeType: \"task->brain\",\n\t\t\t\t\t\tdescription: `Decision informed by task ${row.context_task_id}`,\n\t\t\t\t\t\tcontext_column: \"context_task_id\"\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (row.context_epic_id) {\n\t\t\t\tconst tasksNodeId = `tasks:${row.context_epic_id}`;\n\t\t\t\tif (nodeIds.has(tasksNodeId)) bridges.push({\n\t\t\t\t\tsource: brainNodeId,\n\t\t\t\t\ttarget: tasksNodeId,\n\t\t\t\t\tkind: \"informed_by\",\n\t\t\t\t\tweight: BRIDGE_WEIGHT,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisBridge: true,\n\t\t\t\t\t\tbridgeType: \"task->brain\",\n\t\t\t\t\t\tdescription: `Decision informed by epic ${row.context_epic_id}`,\n\t\t\t\t\t\tcontext_column: \"context_epic_id\"\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn bridges;\n}\n/**\n* Bridge: BRAIN ↔ NEXUS via `brain_page_edges` where `to_id` is a nexus path.\n*\n* `brain_page_edges.to_id` may store nexus-style IDs:\n* - `\"some/path/file.ts::SymbolName\"` — a file::Symbol reference\n* - `\"some/relative/path.ts\"` — a file path (no `:` prefix)\n*\n* These map to `nexus:<to_id>` in the graph. The existing brain.ts adapter\n* already emits some of these in its `BrainEdge` output; this function\n* surfaces the same bridges at the Studio adapter layer so they flow through\n* the `computeBridges` path and carry `meta.isBridge: true`.\n*\n* @param db - brain.db connection.\n* @param nodeIds - Set of loaded node IDs.\n* @returns Bridge edges.\n*/\nfunction bridgeBrainNexusViaPageEdges(db, nodeIds) {\n\tconst bridges = [];\n\ttry {\n\t\tconst rows = allTyped(db.prepare(`SELECT from_id, to_id, edge_type, weight\n FROM brain_page_edges\n LIMIT 5000`));\n\t\tfor (const row of rows) {\n\t\t\tif (!isNexusStyleId(row.to_id)) continue;\n\t\t\tconst sep = row.from_id.indexOf(\":\");\n\t\t\tif (sep === -1) continue;\n\t\t\tconst prefix = row.from_id.slice(0, sep);\n\t\t\tconst rawId = row.from_id.slice(sep + 1);\n\t\t\tif (!new Set([\n\t\t\t\t\"observation\",\n\t\t\t\t\"decision\",\n\t\t\t\t\"pattern\",\n\t\t\t\t\"learning\"\n\t\t\t]).has(prefix)) continue;\n\t\t\tconst brainNodeId = `brain:${rawId}`;\n\t\t\tconst nexusNodeId = `nexus:${row.to_id}`;\n\t\t\tif (!nodeIds.has(brainNodeId) || !nodeIds.has(nexusNodeId)) continue;\n\t\t\tbridges.push({\n\t\t\t\tsource: brainNodeId,\n\t\t\t\ttarget: nexusNodeId,\n\t\t\t\tkind: \"references\",\n\t\t\t\tweight: Math.min(1, Math.max(.1, row.weight ?? BRIDGE_WEIGHT)),\n\t\t\t\tmeta: {\n\t\t\t\t\tisBridge: true,\n\t\t\t\t\tbridgeType: \"brain->nexus\",\n\t\t\t\t\tdescription: `Brain node ${prefix}:${rawId} references code ${row.to_id}`,\n\t\t\t\t\tedge_type: row.edge_type,\n\t\t\t\t\tlink_kind: \"code\"\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} catch {}\n\treturn bridges;\n}\n/**\n* Bridge: BRAIN ↔ NEXUS via `brain_observations.files_modified_json`.\n*\n* Each observation can carry a JSON array of relative file paths it\n* modified during the session. Each path maps to `nexus:<path>`.\n*\n* Cap: first 5 links per observation to prevent hairballing on\n* large session observations.\n*\n* Verified present in `memory-schema.ts` as `brainObservations.filesModifiedJson`.\n*\n* @param db - brain.db connection.\n* @param nodeIds - Set of loaded node IDs.\n* @returns Bridge edges.\n*/\nfunction bridgeBrainNexusViaObsFiles(db, nodeIds) {\n\tconst bridges = [];\n\tconst MAX_LINKS_PER_OBS = 5;\n\ttry {\n\t\tconst rows = allTyped(db.prepare(`SELECT id, files_modified_json\n FROM brain_observations\n WHERE files_modified_json IS NOT NULL\n AND files_modified_json != '[]'\n LIMIT 500`));\n\t\tfor (const row of rows) {\n\t\t\tif (!row.files_modified_json) continue;\n\t\t\tconst brainNodeId = `brain:${row.id}`;\n\t\t\tif (!nodeIds.has(brainNodeId)) continue;\n\t\t\tlet filePaths;\n\t\t\ttry {\n\t\t\t\tfilePaths = JSON.parse(row.files_modified_json);\n\t\t\t} catch {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!Array.isArray(filePaths)) continue;\n\t\t\tconst limited = filePaths.slice(0, MAX_LINKS_PER_OBS);\n\t\t\tfor (const rawPath of limited) {\n\t\t\t\tif (typeof rawPath !== \"string\" || rawPath.length === 0) continue;\n\t\t\t\tconst nexusNodeId = `nexus:${rawPath}`;\n\t\t\t\tif (!nodeIds.has(nexusNodeId)) continue;\n\t\t\t\tbridges.push({\n\t\t\t\t\tsource: brainNodeId,\n\t\t\t\t\ttarget: nexusNodeId,\n\t\t\t\t\tkind: \"documents\",\n\t\t\t\t\tweight: BRIDGE_WEIGHT,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tisBridge: true,\n\t\t\t\t\t\tbridgeType: \"brain->nexus\",\n\t\t\t\t\t\tdescription: `Observation documents file ${rawPath}`,\n\t\t\t\t\t\tfile_path: rawPath\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn bridges;\n}\n/**\n* Bridge: CONDUIT ↔ TASKS via `brain_page_edges` where `from_id` is a\n* `msg:` reference and `to_id` is a `task:` reference.\n*\n* `brain_page_edges` stores cross-substrate links at the page-graph level.\n* The `discusses` edge type (defined in `BRAIN_EDGE_TYPES`) connects\n* CONDUIT message nodes to task nodes.\n*\n* The `conduit:` node prefix is used in the graph even though the\n* page-edge stores `msg:` as the type prefix. Conversion:\n* - `msg:<messageId>` → `conduit:<messageId>`\n* - `task:<taskId>` → `tasks:<taskId>`\n*\n* @param db - brain.db connection (page edges cross-reference conduit).\n* @param nodeIds - Set of loaded node IDs.\n* @returns Bridge edges.\n*/\nfunction bridgeConduitTasksViaPageEdges(db, nodeIds) {\n\tconst bridges = [];\n\ttry {\n\t\tconst rows = allTyped(db.prepare(`SELECT from_id, to_id, edge_type, weight\n FROM brain_page_edges\n WHERE from_id LIKE 'msg:%'\n AND to_id LIKE 'task:%'\n LIMIT 1000`));\n\t\tfor (const row of rows) {\n\t\t\tif (!isMsgRef(row.from_id) || !isTaskRef(row.to_id)) continue;\n\t\t\tconst msgId = row.from_id.slice(4);\n\t\t\tconst taskId = row.to_id.slice(5);\n\t\t\tconst conduitNodeId = `conduit:${msgId}`;\n\t\t\tconst tasksNodeId = `tasks:${taskId}`;\n\t\t\tif (!nodeIds.has(conduitNodeId) || !nodeIds.has(tasksNodeId)) continue;\n\t\t\tbridges.push({\n\t\t\t\tsource: conduitNodeId,\n\t\t\t\ttarget: tasksNodeId,\n\t\t\t\tkind: \"messages\",\n\t\t\t\tweight: BRIDGE_WEIGHT,\n\t\t\t\tmeta: {\n\t\t\t\t\tisBridge: true,\n\t\t\t\t\tbridgeType: \"conduit->tasks\",\n\t\t\t\t\tdescription: `Conduit message discusses task ${taskId}`,\n\t\t\t\t\tedge_type: row.edge_type\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} catch {}\n\treturn bridges;\n}\n/**\n* Bridge: SIGNALDOCK ↔ TASKS via `tasks.assignee` matching a loaded\n* signaldock agent node.\n*\n* When a task has an `assignee` field and a signaldock node with that\n* agent ID exists in the loaded node set, emit a `messages` bridge\n* from the agent to the task.\n*\n* The `tasks.assignee` column is verified present in `tasks-schema.ts`.\n* The signaldock node ID format is `agent-registry:<agent_id>`.\n*\n* @param db - tasks.db connection.\n* @param nodeIds - Set of loaded node IDs.\n* @returns Bridge edges.\n*/\nfunction bridgeAgentRegistryTasksViaAssignee(db, nodeIds) {\n\tconst bridges = [];\n\ttry {\n\t\tconst rows = allTyped(db.prepare(`SELECT id, assignee\n FROM tasks\n WHERE assignee IS NOT NULL\n AND status NOT IN ('archived', 'cancelled')\n LIMIT 1000`));\n\t\tfor (const row of rows) {\n\t\t\tif (!row.assignee) continue;\n\t\t\tconst tasksNodeId = `tasks:${row.id}`;\n\t\t\tconst signaldockNodeId = `agent-registry:${row.assignee}`;\n\t\t\tif (!nodeIds.has(tasksNodeId) || !nodeIds.has(signaldockNodeId)) continue;\n\t\t\tbridges.push({\n\t\t\t\tsource: signaldockNodeId,\n\t\t\t\ttarget: tasksNodeId,\n\t\t\t\tkind: \"messages\",\n\t\t\t\tweight: BRIDGE_WEIGHT,\n\t\t\t\tmeta: {\n\t\t\t\t\tisBridge: true,\n\t\t\t\t\tbridgeType: \"signaldock->tasks\",\n\t\t\t\t\tdescription: `Agent ${row.assignee} is assigned to task ${row.id}`,\n\t\t\t\t\tassignee: row.assignee\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t} catch {}\n\treturn bridges;\n}\n/**\n* Build {@link BridgeStats} from an array of bridge edges.\n*\n* @param bridges - The final emitted bridge set.\n* @param capped - Whether the 2 × node-count cap was applied.\n* @returns Statistics summary.\n*/\nfunction buildStats(bridges, capped) {\n\tconst byType = {\n\t\t\"task->brain\": 0,\n\t\t\"task->nexus\": 0,\n\t\t\"brain->nexus\": 0,\n\t\t\"conduit->tasks\": 0,\n\t\t\"conduit->brain\": 0,\n\t\t\"signaldock->tasks\": 0,\n\t\t\"signaldock->brain\": 0\n\t};\n\tfor (const b of bridges) {\n\t\tconst bt = b.meta.bridgeType;\n\t\tbyType[bt] = (byType[bt] ?? 0) + 1;\n\t}\n\treturn {\n\t\ttotal: bridges.length,\n\t\tbyType,\n\t\tcapped\n\t};\n}\n//#endregion\n//#region src/routes/brain/+page.server.ts\n/**\n* Brain canvas page server load (`/brain`) — progressive-disclosure edition.\n*\n* ## Performance strategy (T990)\n*\n* The prior implementation called `getAllSubstrates({ limit: 5000 })` on every\n* request, serialising all 2000-5000 nodes into the SvelteKit payload before\n* the browser received the first byte. This produced a 3-8 second blank\n* screen.\n*\n* The new strategy ships a **tier-0 payload** (top-200 hub nodes, < 200 ms)\n* so the renderer can mount and paint a meaningful brain shape immediately.\n* The client then fetches tier-1 (up to 1000 nodes) and tier-2 (remaining,\n* up to 5000) from `/api/brain?tier=N` in the background.\n*\n* ### Tier sizes\n*\n* | Tier | Nodes | Target latency |\n* |------|-------|----------------|\n* | 0 | 200 | < 200 ms p95 |\n* | 1 | 1000 | < 1000 ms |\n* | 2 | 5000 | < 3000 ms |\n*\n* Tier 0 is served from an in-memory LRU cache (30-second TTL, 5 entries)\n* so repeated navigations are < 30 ms.\n*\n* ### Client streaming helper\n*\n* The page exports {@link streamRemainingNodes} — an async function that Agent\n* E's page shell calls from `onMount` to fetch tier-1 and tier-2 progressively.\n* The function is exported from this module so the page only needs to import\n* it once; it does NOT run on the server.\n*\n* @module\n* @task T990\n*/\n/**\n* Node cap for tier-0 first paint.\n*\n* Tuned (2026-04-19) after observing that `limit: 5000` produced a 30-45s\n* freeze on first load — five sequential SQLite queries + the stub loader\n* + cross-substrate bridge queries + 5000-node JSON serialisation blew\n* past the time-to-interactive budget.\n*\n* `1500` balances three constraints:\n*\n* - **Complete-enough visual**: with Agent D's cross-substrate bridges\n* wired, 1500 nodes already look like a full brain — the operator's\n* \"missing data\" complaint was about bridges being dead code, not\n* node counts.\n* - **First paint < 3s** on a cold cache even with bridges in-line.\n* - **Cached repeats < 30ms** via the LRU — same as before.\n*\n* Client-side streaming (`streamRemainingNodes()`) can pull tier-1 and\n* tier-2 later if the operator wants the long tail; it stays opt-in.\n*/\nvar TIER0_LIMIT = 1500;\n/**\n* Disable SSR for the brain canvas route.\n*\n* The Three.js / WebGL renderer imports browser-only APIs at module load\n* time, making SSR impossible without significant shim complexity. The\n* route has no meaningful static content, so disabling SSR costs nothing\n* and keeps the server clean.\n*/\nvar ssr = false;\n/**\n* Compute cross-substrate bridge edges for the given graph.\n*\n* Wraps Agent D's {@link computeBridges} with the DB handles obtained\n* from `@cleocode/brain`. Returns an empty array if the project context\n* is missing or the DBs can't be opened.\n*/\nfunction computeBridgesForGraph(graph, ctx) {\n\tif (!ctx) return [];\n\tconst kitNodes = graph.nodes.map((n) => ({\n\t\tid: n.id,\n\t\tsubstrate: n.substrate,\n\t\tkind: n.kind,\n\t\tlabel: n.label\n\t}));\n\ttry {\n\t\treturn computeBridges(kitNodes, {\n\t\t\tbrainDb: getBrainDb(ctx) ?? void 0,\n\t\t\ttasksDb: getTasksDb(ctx) ?? void 0,\n\t\t\tconduitDb: getConduitDb(ctx) ?? void 0,\n\t\t\tnexusDb: getNexusDb() ?? void 0,\n\t\t\tsignaldockDb: getAgentRegistryDb() ?? void 0\n\t\t});\n\t} catch (err) {\n\t\tconsole.warn(\"[brain/load] bridge computation failed:\", err);\n\t\treturn [];\n\t}\n}\nvar load = ({ locals }) => {\n\tconst t0 = performance.now();\n\tconst cacheKey = buildCacheKey({\n\t\tprojectId: locals.projectCtx?.projectId ?? \"\",\n\t\tlimit: TIER0_LIMIT\n\t});\n\tconst cached = getCachedGraph(cacheKey);\n\tif (cached) {\n\t\tconst elapsed = performance.now() - t0;\n\t\trecordBrainLoadDuration(0, elapsed);\n\t\tconst bridges = computeBridgesForGraph(cached, locals.projectCtx);\n\t\tconst metrics = getBrainCacheMetrics();\n\t\tconsole.info(`[brain/load] tier=0 source=cache elapsed=${elapsed.toFixed(1)}ms bridges=${bridges.length} hits=${metrics.hits} misses=${metrics.misses} size=${metrics.size}`);\n\t\treturn {\n\t\t\tgraph: cached,\n\t\t\tbridges,\n\t\t\tfromCache: true,\n\t\t\ttotalNodeCount: cached.truncated ? 5e3 : cached.nodes.length\n\t\t};\n\t}\n\tconst graph = getAllSubstrates({\n\t\tlimit: TIER0_LIMIT,\n\t\tprojectCtx: locals.projectCtx\n\t});\n\tsetCachedGraph(cacheKey, graph);\n\tconst bridges = computeBridgesForGraph(graph, locals.projectCtx);\n\tconst elapsed = performance.now() - t0;\n\trecordBrainLoadDuration(0, elapsed);\n\tconst metrics = getBrainCacheMetrics();\n\tconsole.info(`[brain/load] tier=0 source=db elapsed=${elapsed.toFixed(1)}ms nodes=${graph.nodes.length} bridges=${bridges.length} hits=${metrics.hits} misses=${metrics.misses}`);\n\treturn {\n\t\tgraph,\n\t\tbridges,\n\t\tfromCache: false,\n\t\ttotalNodeCount: graph.truncated ? 5e3 : graph.nodes.length\n\t};\n};\n//#endregion\nexport { load, ssr };\n","import * as server from '../entries/pages/brain/_page.server.ts.js';\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/brain/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/brain/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/3.DMYcrZeG.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/CKXdW4mW.js\",\"_app/immutable/chunks/DrfFUIvQ.js\",\"_app/immutable/chunks/Bxz2A0ZC.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/ThreeBrainRenderer.BSwu9fuL.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/3.DqDkvXKx.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"30-QiM1S4cJ.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/sessions/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/30.js"],"sourcesContent":["import { o as getTasksDb } from \"../../../../chunks/connections2.js\";\n//#region src/routes/tasks/sessions/+page.server.ts\n/**\n* Sessions page server load — session history with task completions timeline.\n*/\nvar load = ({ locals }) => {\n\tconst db = getTasksDb(locals.projectCtx);\n\tif (!db) return { sessions: [] };\n\ttry {\n\t\tconst rows = db.prepare(`SELECT id, name, status, agent, started_at, ended_at,\n current_task, tasks_completed_json, tasks_created_json\n FROM sessions\n ORDER BY started_at DESC\n LIMIT 100`).all();\n\t\tconst sessionIds = rows.map((r) => r.id);\n\t\tconst workHistoryRows = sessionIds.length > 0 ? db.prepare(`SELECT twh.session_id, twh.task_id, twh.set_at, twh.cleared_at,\n t.title, t.status\n FROM task_work_history twh\n JOIN tasks t ON t.id = twh.task_id\n WHERE twh.session_id IN (${sessionIds.map(() => \"?\").join(\",\")})\n ORDER BY twh.set_at ASC`).all(...sessionIds) : [];\n\t\tconst workHistoryBySession = /* @__PURE__ */ new Map();\n\t\tfor (const row of workHistoryRows) {\n\t\t\tconst existing = workHistoryBySession.get(row.session_id) ?? [];\n\t\t\texisting.push({\n\t\t\t\tid: row.task_id,\n\t\t\t\ttitle: row.title,\n\t\t\t\tstatus: row.status,\n\t\t\t\tsetAt: row.set_at,\n\t\t\t\tclearedAt: row.cleared_at\n\t\t\t});\n\t\t\tworkHistoryBySession.set(row.session_id, existing);\n\t\t}\n\t\treturn { sessions: rows.map((s) => {\n\t\t\tlet completedIds = [];\n\t\t\ttry {\n\t\t\t\tcompletedIds = s.tasks_completed_json ? JSON.parse(s.tasks_completed_json) : [];\n\t\t\t} catch {\n\t\t\t\tcompletedIds = [];\n\t\t\t}\n\t\t\tlet createdCount = 0;\n\t\t\ttry {\n\t\t\t\tconst created = s.tasks_created_json ? JSON.parse(s.tasks_created_json) : [];\n\t\t\t\tcreatedCount = Array.isArray(created) ? created.length : 0;\n\t\t\t} catch {\n\t\t\t\tcreatedCount = 0;\n\t\t\t}\n\t\t\tconst completedTasks = [];\n\t\t\tfor (const tid of completedIds.slice(0, 20)) {\n\t\t\t\tconst t = db.prepare(\"SELECT id, title, status FROM tasks WHERE id = ?\").get(tid);\n\t\t\t\tif (t) completedTasks.push(t);\n\t\t\t}\n\t\t\tlet currentTask = null;\n\t\t\tif (s.current_task) {\n\t\t\t\tconst ct = db.prepare(\"SELECT id, title, status FROM tasks WHERE id = ?\").get(s.current_task);\n\t\t\t\tif (ct) currentTask = ct;\n\t\t\t}\n\t\t\tconst workedTasks = workHistoryBySession.get(s.id) ?? [];\n\t\t\tconst durationMs = s.started_at && s.ended_at ? new Date(s.ended_at).getTime() - new Date(s.started_at).getTime() : null;\n\t\t\treturn {\n\t\t\t\tid: s.id,\n\t\t\t\tname: s.name,\n\t\t\t\tstatus: s.status,\n\t\t\t\tagent: s.agent,\n\t\t\t\tstartedAt: s.started_at,\n\t\t\t\tendedAt: s.ended_at,\n\t\t\t\tdurationMs,\n\t\t\t\tcompletedCount: completedIds.length,\n\t\t\t\tcreatedCount,\n\t\t\t\tcompletedTasks,\n\t\t\t\tcurrentTask,\n\t\t\t\tworkedTasks\n\t\t\t};\n\t\t}) };\n\t} catch {\n\t\treturn { sessions: [] };\n\t}\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tasks/sessions/_page.server.ts.js';\n\nexport const index = 30;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tasks/sessions/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tasks/sessions/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/30.DXj0Wm2A.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/wI_OOyoh.js\",\"_app/immutable/chunks/B9psmq5-.js\",\"_app/immutable/chunks/JPJd4fEI.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/HeroHeader.ByXNeezk.css\",\"_app/immutable/assets/Sparkline.DVOptay1.css\",\"_app/immutable/assets/StatBlock.DX6OXz7z.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/30.hXrXZpmS.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"31-BwdY9NnB.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tasks/tree/_epicId_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/31.js"],"sourcesContent":["import { redirect } from \"@sveltejs/kit\";\n//#region src/routes/tasks/tree/[epicId]/+page.server.ts\n/**\n* Legacy `/tasks/tree/[epicId]` route — 301 redirect to the new Task Explorer\n* hierarchy tab on `/tasks`.\n*\n* T956 merged the three explorer tabs (Hierarchy, Graph, Kanban) into the\n* single `/tasks` page with hash-based tab switching. The old epic-tree page\n* lives on as a thin redirect shell so external links and bookmarks continue\n* to work: `/tasks/tree/TXXX` now sends the caller to\n* `/tasks?view=hierarchy&epic=TXXX#hierarchy`, preserving any additional query\n* parameters the caller passed.\n*\n* The previous tree implementation's rendering logic is already available in\n* the shared shelf under `$lib/components/tasks` (extracted by T950); deleting\n* the `+page.svelte` sibling therefore loses no functionality.\n*\n* @task T957\n* @epic T949\n*/\nvar load = ({ params, url }) => {\n\tconst { epicId } = params;\n\tconst target = new URL(\"/tasks\", url.origin);\n\tfor (const [key, value] of url.searchParams) target.searchParams.set(key, value);\n\ttarget.searchParams.set(\"view\", \"hierarchy\");\n\ttarget.searchParams.set(\"epic\", epicId);\n\ttarget.hash = \"hierarchy\";\n\tredirect(301, target.pathname + target.search + target.hash);\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tasks/tree/_epicId_/_page.server.ts.js';\n\nexport const index = 31;\nexport { server };\nexport const server_id = \"src/routes/tasks/tree/[epicId]/+page.server.ts\";\nexport const imports = [];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAChC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM;AAC1B,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;AAC7C,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACjF,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;AAC7C,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AACxC,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW;AAC1B,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;AAC7D,CAAC;;;;;;;AC1BW,MAAC,KAAK,GAAG;AAET,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG;AACX,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"4-CSaG4HjO.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/brain/3d/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/4.js"],"sourcesContent":["import { redirect } from \"@sveltejs/kit\";\n//#region src/routes/brain/3d/+page.server.ts\n/**\n* Legacy `/brain/3d` route — redirects to the unified `/brain?view=3d`.\n*\n* Wave 1A of T990 consolidates all three legacy brain renderers\n* (sigma 2D, cosmos.gl GPU, 3d-force-graph) into a single canvas on\n* `/brain` driven by `ThreeBrainRenderer`. This file keeps old\n* bookmarks + external links alive by issuing a 301 permanent\n* redirect.\n*/\nvar ssr = false;\nvar load = () => {\n\tthrow redirect(301, \"/brain?view=3d\");\n};\n//#endregion\nexport { load, ssr };\n","import * as server from '../entries/pages/brain/3d/_page.server.ts.js';\n\nexport const index = 4;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/brain/3d/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/brain/3d/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/4.CCjOEwVU.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,GAAG,GAAG,KAAK;AACf,IAAI,IAAI,GAAG,MAAM;AACjB,CAAC,MAAM,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;AACtC,CAAC;;;;;;;;ACZW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AAEzG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5J,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"5-i5ry4y3C.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/brain/causal/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/5.js"],"sourcesContent":["//#region src/routes/brain/causal/+page.server.ts\nvar load = ({ url }) => {\n\treturn { initialTaskId: (url.searchParams.get(\"taskId\") ?? \"\").trim() };\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/brain/causal/_page.server.ts.js';\n\nexport const index = 5;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/brain/causal/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/brain/causal/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/5.VWSdP7oc.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/5.B_uRJ0Jj.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK;AACxB,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;AACxE,CAAC;;;;;;;ACDW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAE7G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpO,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,sCAAsC;AACxI,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"6-DR1GWBMT.js","sources":["../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/brain/decisions/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/6.Dl-XLwOj.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/BRgWBQlV.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/memory.BscouZPQ.css\",\"_app/immutable/assets/6.CmoCAENN.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkD,CAAC,EAAE;AAChH,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,2CAA2C,CAAC,sCAAsC;AACpL,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"7-DSNwn3aQ.js","sources":["../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/brain/graph/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/7.CFuC5L-y.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/Bxz2A0ZC.js\",\"_app/immutable/chunks/djL6V-tr.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CqF5Lomf.js\",\"_app/immutable/chunks/CEqOYim7.js\"];\nexport const stylesheets = [\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/ThreeBrainRenderer.BSwu9fuL.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/7.CK1_ePLd.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA8C,CAAC,EAAE;AAC5G,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG,CAAC,+CAA+C,CAAC,uDAAuD,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,sCAAsC;AAChP,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"8-Bj0bx07K.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/brain/learnings/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["//#region src/routes/brain/learnings/+page.server.ts\nvar load = async ({ fetch }) => {\n\ttry {\n\t\tconst res = await fetch(\"/api/memory/learnings?limit=50&offset=0&sort=created_desc\");\n\t\tif (!res.ok) return { initial: null };\n\t\treturn { initial: await res.json() };\n\t} catch {\n\t\treturn { initial: null };\n\t}\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/brain/learnings/_page.server.ts.js';\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/brain/learnings/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/brain/learnings/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/8.BCJ0DhOb.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/BRgWBQlV.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/memory.BscouZPQ.css\",\"_app/immutable/assets/8.Cx548gay.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK;AAChC,CAAC,IAAI;AACL,EAAE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,2DAA2D,CAAC;AACtF,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACvC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE;AACtC,CAAC,CAAC,CAAC,MAAM;AACT,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1B,CAAC;AACD,CAAC;;;;;;;ACPW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkD,CAAC,EAAE;AAEhH,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,2CAA2C,CAAC,sCAAsC;AACpL,MAAC,KAAK,GAAG;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"9-B3Tz0mZq.js","sources":["../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/brain/observations/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/9.Bq4SUzL9.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/BRgWBQlV.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/memory.BscouZPQ.css\",\"_app/immutable/assets/9.CxLgHkUJ.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAqD,CAAC,EAAE;AACnH,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,2CAA2C,CAAC,sCAAsC;AACpL,MAAC,KAAK,GAAG;;;;"}