@cleocode/cleo 2026.9.7 → 2026.9.9

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 (690) hide show
  1. package/dist/cli/index.js +3766 -2232
  2. package/package.json +14 -13
  3. package/scripts/check-cleo-tarball-size.mjs +105 -0
  4. package/scripts/copy-studio-dist.mjs +33 -9
  5. package/studio-dist/client/_app/immutable/chunks/{wI_OOyoh.js → BB7zPpV2.js} +1 -1
  6. package/studio-dist/client/_app/immutable/chunks/{D8NsLz6i.js → BOnrCZaR.js} +1 -1
  7. package/studio-dist/client/_app/immutable/chunks/{TX-23QW3.js → BiaAd37T.js} +1 -1
  8. package/studio-dist/client/_app/immutable/chunks/C6jhAnil.js +1 -0
  9. package/studio-dist/client/_app/immutable/chunks/C87Q3uxm.js +1 -0
  10. package/studio-dist/client/_app/immutable/chunks/{CqF5Lomf.js → CTLGzgdN.js} +1 -1
  11. package/studio-dist/client/_app/immutable/chunks/{o1PZ6Kzq.js → CY3heNub.js} +1 -1
  12. package/studio-dist/client/_app/immutable/chunks/{RptFUp2P.js → Cge6qiwc.js} +1 -1
  13. package/studio-dist/client/_app/immutable/chunks/{BRgWBQlV.js → CnwXLaZJ.js} +1 -1
  14. package/studio-dist/client/_app/immutable/chunks/{Bxz2A0ZC.js → DEH43YwF.js} +1 -1
  15. package/studio-dist/client/_app/immutable/chunks/DGftG5oL.js +3 -0
  16. package/studio-dist/client/_app/immutable/chunks/{DVHIxkgs.js → DV2HHHkd.js} +1 -1
  17. package/studio-dist/client/_app/immutable/chunks/{eK8hf4s7.js → DXxEgUey.js} +1 -1
  18. package/studio-dist/client/_app/immutable/chunks/{CEqOYim7.js → DZrdToAH.js} +1 -1
  19. package/studio-dist/client/_app/immutable/chunks/EZwHPWle.js +2 -0
  20. package/studio-dist/client/_app/immutable/chunks/{B9psmq5-.js → rB_71s8h.js} +1 -1
  21. package/studio-dist/client/_app/immutable/chunks/{JPJd4fEI.js → rUtW7Hx6.js} +1 -1
  22. package/studio-dist/client/_app/immutable/chunks/zWFSpNUo.js +1 -0
  23. package/studio-dist/client/_app/immutable/entry/app.AR3q6Ydw.js +2 -0
  24. package/studio-dist/client/_app/immutable/entry/start.Cf2RUEwO.js +1 -0
  25. package/studio-dist/client/_app/immutable/nodes/{0.CZzEEyVh.js → 0.BEkWfyyt.js} +1 -1
  26. package/studio-dist/client/_app/immutable/nodes/{1.Bj3Opbua.js → 1.DfbrPFgR.js} +1 -1
  27. package/studio-dist/client/_app/immutable/nodes/{10.xe_Mc2Ko.js → 10.3rxHNnSx.js} +1 -1
  28. package/studio-dist/client/_app/immutable/nodes/{11.DuKPA7JD.js → 11.B6jWv3Kz.js} +1 -1
  29. package/studio-dist/client/_app/immutable/nodes/{12.BoZ_QrUS.js → 12.BrDHeTEq.js} +1 -1
  30. package/studio-dist/client/_app/immutable/nodes/{13.DFJiUiv8.js → 13.CE5bd4JV.js} +1 -1
  31. package/studio-dist/client/_app/immutable/nodes/{14.eaAlFU4w.js → 14.DgXD2LRx.js} +1 -1
  32. package/studio-dist/client/_app/immutable/nodes/{15.BfXgiwMC.js → 15.CdRO2NCB.js} +1 -1
  33. package/studio-dist/client/_app/immutable/nodes/{16.mEwy9cqh.js → 16.Cr01BBgh.js} +1 -1
  34. package/studio-dist/client/_app/immutable/nodes/{17.DP2QtQGn.js → 17.PZ1GrCot.js} +1 -1
  35. package/studio-dist/client/_app/immutable/nodes/{18.Bu0054sX.js → 18.Crly2qhe.js} +1 -1
  36. package/studio-dist/client/_app/immutable/nodes/{19.UWt6QbCm.js → 19.su55K8y_.js} +1 -1
  37. package/studio-dist/client/_app/immutable/nodes/{2.y5jKpHiR.js → 2.mqgFVWFQ.js} +1 -1
  38. package/studio-dist/client/_app/immutable/nodes/{20.B1AIHdkP.js → 20.DqQjto4P.js} +1 -1
  39. package/studio-dist/client/_app/immutable/nodes/{21.CpAN71H8.js → 21.BhwhdQCq.js} +1 -1
  40. package/studio-dist/client/_app/immutable/nodes/{22.CrYKrN4c.js → 22.BmJEWwER.js} +1 -1
  41. package/studio-dist/client/_app/immutable/nodes/{23.pGRaHQjq.js → 23.CAVIJEH-.js} +1 -1
  42. package/studio-dist/client/_app/immutable/nodes/{24.BUoUu37z.js → 24.BIypnou8.js} +1 -1
  43. package/studio-dist/client/_app/immutable/nodes/25.CllbQ5CT.js +39 -0
  44. package/studio-dist/client/_app/immutable/nodes/26.DILkE52_.js +1 -0
  45. package/studio-dist/client/_app/immutable/nodes/{28.DcmYM7lb.js → 28.D64RBcfs.js} +1 -1
  46. package/studio-dist/client/_app/immutable/nodes/{29.lbHbMqNO.js → 29.yfuBeH1x.js} +1 -1
  47. package/studio-dist/client/_app/immutable/nodes/{3.Dyir4xXj.js → 3.ChHbetZy.js} +1 -1
  48. package/studio-dist/client/_app/immutable/nodes/{30.DXj0Wm2A.js → 30.1WUv5bh9.js} +1 -1
  49. package/studio-dist/client/_app/immutable/nodes/4.D6vXYBoQ.js +1 -0
  50. package/studio-dist/client/_app/immutable/nodes/{5.VWSdP7oc.js → 5.hjw2O-4e.js} +1 -1
  51. package/studio-dist/client/_app/immutable/nodes/{6.Dl-XLwOj.js → 6.CAoDfDt6.js} +1 -1
  52. package/studio-dist/client/_app/immutable/nodes/{7.CFuC5L-y.js → 7.CLgPSQ8Z.js} +1 -1
  53. package/studio-dist/client/_app/immutable/nodes/{8.BCJ0DhOb.js → 8.zuaO1Hik.js} +1 -1
  54. package/studio-dist/client/_app/immutable/nodes/{9.Bq4SUzL9.js → 9.Cdsd85m2.js} +1 -1
  55. package/studio-dist/client/_app/version.json +1 -1
  56. package/studio-dist/server/chunks/0-BvvArN5K.js +41 -0
  57. package/studio-dist/server/chunks/1-rLPlIpIR.js +9 -0
  58. package/studio-dist/server/chunks/{10-DvOD4ksa.js → 10-CYLc3d5x.js} +3 -3
  59. package/studio-dist/server/chunks/{11-DMnBZ02H.js → 11-DcIYR5vm.js} +3 -3
  60. package/studio-dist/server/chunks/{12-CCyRyRWX.js → 12-WE1u104t.js} +3 -3
  61. package/studio-dist/server/chunks/{13-Dx1c3a_X.js → 13-joBDoxhK.js} +3 -3
  62. package/studio-dist/server/chunks/{14-Bo-dTCaZ.js → 14-Doj5F4uJ.js} +3 -3
  63. package/studio-dist/server/chunks/{15-BvUNl3KL.js → 15-BlL3H5S5.js} +3 -3
  64. package/studio-dist/server/chunks/{16-De6EzPSa.js → 16-C-UvTi7Z.js} +5 -4
  65. package/studio-dist/server/chunks/{17-CZNsiZhi.js → 17-C790IKoE.js} +10 -93
  66. package/studio-dist/server/chunks/{18-CbxxjZox.js → 18-6VS9Vgfx.js} +5 -4
  67. package/studio-dist/server/chunks/{19-DqHyladS.js → 19-BAQHPrMB.js} +3 -3
  68. package/studio-dist/server/chunks/{2-COvmA-ZA.js → 2-DXSVVaej.js} +10 -93
  69. package/studio-dist/server/chunks/20-DUG4_xXL.js +57 -0
  70. package/studio-dist/server/chunks/{21-DXK9ptAC.js → 21-qhGjkW41.js} +4 -31
  71. package/studio-dist/server/chunks/{22-DD5CLWJC.js → 22-Byy16hFA.js} +3 -3
  72. package/studio-dist/server/chunks/23-CZpFrGp4.js +97 -0
  73. package/studio-dist/server/chunks/24-CkIGZX8S.js +67 -0
  74. package/studio-dist/server/chunks/{25-CAg6Xcmn.js → 25-CHBaeXym.js} +15 -96
  75. package/studio-dist/server/chunks/{26-_nfVTvNi.js → 26-BbDd--8j.js} +12 -93
  76. package/studio-dist/server/chunks/{27-C9edghG4.js → 27-Cqzlh9gZ.js} +3 -2
  77. package/studio-dist/server/chunks/{28-VemTJGyc.js → 28-DeYe2rpm.js} +8 -62
  78. package/studio-dist/server/chunks/{29-CXP-m29t.js → 29-6pjLM0Z1.js} +10 -93
  79. package/studio-dist/server/chunks/{3-B8KhfvHp.js → 3-DMSsQV71.js} +9 -25
  80. package/studio-dist/server/chunks/{30-QiM1S4cJ.js → 30-Dw317sSW.js} +10 -93
  81. package/studio-dist/server/chunks/{31-BwdY9NnB.js → 31-Q4kHbp8j.js} +3 -2
  82. package/studio-dist/server/chunks/{4-CSaG4HjO.js → 4-C9BMSh4K.js} +4 -3
  83. package/studio-dist/server/chunks/{5-i5ry4y3C.js → 5-C0CF4WKG.js} +3 -3
  84. package/studio-dist/server/chunks/{6-DR1GWBMT.js → 6-BWyOJust.js} +3 -3
  85. package/studio-dist/server/chunks/{7-DSNwn3aQ.js → 7-CK4MK5gy.js} +3 -3
  86. package/studio-dist/server/chunks/{8-Bj0bx07K.js → 8-CiX7Xk9k.js} +3 -3
  87. package/studio-dist/server/chunks/{9-B3Tz0mZq.js → 9-Be5118w4.js} +3 -3
  88. package/studio-dist/server/chunks/{HeroHeader-v4Q9vaGr.js → HeroHeader-BrGN5WPw.js} +2 -2
  89. package/studio-dist/server/chunks/{Sparkline-BJ-GuhRd.js → Sparkline-DU_NVxz9.js} +2 -2
  90. package/studio-dist/server/chunks/{StatBlock-DHJMmOCx.js → StatBlock-jNsxycS1.js} +2 -2
  91. package/studio-dist/server/chunks/{Tabs-DzG6Bn9a.js → Tabs-DQKDflnT.js} +2 -2
  92. package/studio-dist/server/chunks/_dispatch-DTWViLGL.js +145 -0
  93. package/studio-dist/server/chunks/{_layout.svelte-BEIGQcIv.js → _layout.svelte-BjSWu4Fw.js} +7 -9
  94. package/studio-dist/server/chunks/{_page.svelte-al08ovKm.js → _page.svelte-6iMiGR11.js} +5 -5
  95. package/studio-dist/server/chunks/{_page.svelte-Byz2djto.js → _page.svelte-B-YXGvAW.js} +5 -5
  96. package/studio-dist/server/chunks/{_page.svelte-UYiF7YBK.js → _page.svelte-BCRyjlk2.js} +5 -5
  97. package/studio-dist/server/chunks/{_page.svelte-2cgtvHwW.js → _page.svelte-BdkomWnj.js} +13 -71
  98. package/studio-dist/server/chunks/{_page.svelte-CCoTp89s.js → _page.svelte-BoYafqft.js} +3 -3
  99. package/studio-dist/server/chunks/{_page.svelte-nzffIbBP.js → _page.svelte-C7Wm6_HB.js} +3 -3
  100. package/studio-dist/server/chunks/{_page.svelte-Wfx7ww_h.js → _page.svelte-CIyzbngu.js} +11 -13
  101. package/studio-dist/server/chunks/{_page.svelte-C_VSL8NW.js → _page.svelte-CmbOzJ6A.js} +13 -71
  102. package/studio-dist/server/chunks/{_page.svelte-CophUar3.js → _page.svelte-CqI6hqMm.js} +5 -5
  103. package/studio-dist/server/chunks/{_page.svelte-tYN7_LXI.js → _page.svelte-CtSwzG-R.js} +9 -11
  104. package/studio-dist/server/chunks/{_page.svelte-DYNorA0S.js → _page.svelte-Cx9Ptecp.js} +10 -67
  105. package/studio-dist/server/chunks/{_page.svelte-9OQphlnm.js → _page.svelte-D4Uf5q1X.js} +14 -69
  106. package/studio-dist/server/chunks/{_page.svelte-BIlhmugm.js → _page.svelte-DRjD44sK.js} +11 -13
  107. package/studio-dist/server/chunks/{_page.svelte-BVVTrzTL.js → _page.svelte-DaheDIRs.js} +5 -5
  108. package/studio-dist/server/chunks/{_page.svelte-DOWw416I.js → _page.svelte-DfIiE7gL.js} +11 -13
  109. package/studio-dist/server/chunks/{_page.svelte-M5D2QnMS.js → _page.svelte-Dm8y5a8S.js} +10 -67
  110. package/studio-dist/server/chunks/{_page.svelte-B_pq-Z98.js → _page.svelte-DqXxyNsF.js} +7 -7
  111. package/studio-dist/server/chunks/{_page.svelte-C3aIui4o.js → _page.svelte-DqsbnAhk.js} +4 -4
  112. package/studio-dist/server/chunks/{_page.svelte-ksTJUXce.js → _page.svelte-Dt0_c1T-.js} +3 -3
  113. package/studio-dist/server/chunks/{_page.svelte-bGhsrIjS.js → _page.svelte-Dv6iwhu7.js} +3 -3
  114. package/studio-dist/server/chunks/{_page.svelte-BXyoMME1.js → _page.svelte-GPiHej3P.js} +5 -5
  115. package/studio-dist/server/chunks/{_page.svelte-CYDjW1R0.js → _page.svelte-LuRm8XxE.js} +5 -5
  116. package/studio-dist/server/chunks/{_page.svelte-Clbkk1gm.js → _page.svelte-Z7nL9SC-.js} +8 -9
  117. package/studio-dist/server/chunks/{_page.svelte-DUWbZjC7.js → _page.svelte-_kntHS6v.js} +4 -4
  118. package/studio-dist/server/chunks/{_page.svelte-l4Z_xjl9.js → _page.svelte-k-4NCnbz.js} +9 -11
  119. package/studio-dist/server/chunks/{_page.svelte-CHzXuw2Q.js → _page.svelte-me5SUosG.js} +3 -3
  120. package/studio-dist/server/chunks/{_page.svelte-BgwL2Gyu.js → _page.svelte-sHj6UAzC.js} +11 -13
  121. package/studio-dist/server/chunks/{_server.ts-DSzRdt1U.js → _server.ts--2m_U4SL.js} +11 -94
  122. package/studio-dist/server/chunks/{_server.ts-ujoDR2_g.js → _server.ts--sGLmBsz.js} +10 -92
  123. package/studio-dist/server/chunks/{_server.ts-k2fApwOp.js → _server.ts-0ukyuE0I.js} +5 -60
  124. package/studio-dist/server/chunks/_server.ts-1eW2mTeh.js +40 -0
  125. package/studio-dist/server/chunks/{_server.ts-Bfr4u3EP.js → _server.ts-3LzqLzt0.js} +10 -92
  126. package/studio-dist/server/chunks/_server.ts-5euivmMj.js +38 -0
  127. package/studio-dist/server/chunks/{_server.ts-CShsBkeE.js → _server.ts-B0uoay97.js} +7 -23
  128. package/studio-dist/server/chunks/{_server.ts-hL92cV7Z.js → _server.ts-B5vYKkI6.js} +9 -63
  129. package/studio-dist/server/chunks/{_server.ts-_RJXtmfi.js → _server.ts-B8dTbPHd.js} +8 -23
  130. package/studio-dist/server/chunks/{_server.ts-C3Jo-ju8.js → _server.ts-BA8Xdegq.js} +10 -92
  131. package/studio-dist/server/chunks/_server.ts-BBClE0n9.js +54 -0
  132. package/studio-dist/server/chunks/{_server.ts-CJA1djzJ.js → _server.ts-BCnr9uaO.js} +8 -92
  133. package/studio-dist/server/chunks/{_server.ts-ZS1_yMwR.js → _server.ts-BDwMoyZ_.js} +6 -32
  134. package/studio-dist/server/chunks/{_server.ts-sv4pA808.js → _server.ts-BE-Uhx4N.js} +5 -46
  135. package/studio-dist/server/chunks/{_server.ts-DV6pzF-M.js → _server.ts-BSHADOUJ.js} +4 -3
  136. package/studio-dist/server/chunks/{_server.ts-BdN4AJ6o.js → _server.ts-BSgLJPPQ.js} +10 -91
  137. package/studio-dist/server/chunks/_server.ts-Bl9tMqwZ.js +159 -0
  138. package/studio-dist/server/chunks/_server.ts-BlzDnRI0.js +51 -0
  139. package/studio-dist/server/chunks/{_server.ts-DnE0f-iC.js → _server.ts-BtuemCsf.js} +4 -3
  140. package/studio-dist/server/chunks/{_server.ts-BPcErnS0.js → _server.ts-C2nYqbd9.js} +10 -92
  141. package/studio-dist/server/chunks/{_server.ts-4p6cp9ke.js → _server.ts-C6IDM_3I.js} +10 -92
  142. package/studio-dist/server/chunks/_server.ts-C8Z32vuL.js +45 -0
  143. package/studio-dist/server/chunks/_server.ts-CBXyadsy.js +26 -0
  144. package/studio-dist/server/chunks/{_server.ts-Do9RIPRo.js → _server.ts-CE6h2ATE.js} +5 -32
  145. package/studio-dist/server/chunks/_server.ts-CGROl_5b.js +122 -0
  146. package/studio-dist/server/chunks/_server.ts-CH06JVqZ.js +65 -0
  147. package/studio-dist/server/chunks/_server.ts-CNqcws-M.js +29 -0
  148. package/studio-dist/server/chunks/{_server.ts-uUx7uT2Y.js → _server.ts-CYv5YuHd.js} +6 -43
  149. package/studio-dist/server/chunks/{_server.ts-DSAv66wD.js → _server.ts-CbThsyhY.js} +4 -3
  150. package/studio-dist/server/chunks/{_server.ts-DgbY5EB3.js → _server.ts-CeQolQOK.js} +10 -92
  151. package/studio-dist/server/chunks/_server.ts-ChoGyX5C.js +61 -0
  152. package/studio-dist/server/chunks/_server.ts-CjJYkLJH.js +61 -0
  153. package/studio-dist/server/chunks/{_server.ts-lPlBUIJX.js → _server.ts-CtjArzxf.js} +5 -60
  154. package/studio-dist/server/chunks/{_server.ts-Cq60m8Pw.js → _server.ts-D3QWZwt_.js} +4 -3
  155. package/studio-dist/server/chunks/{_server.ts-CkoJ2HCW.js → _server.ts-D6wP5bCh.js} +10 -92
  156. package/studio-dist/server/chunks/{_server.ts-DwTRjS4y.js → _server.ts-D7JwQTun.js} +10 -93
  157. package/studio-dist/server/chunks/_server.ts-DKFJdXPK.js +97 -0
  158. package/studio-dist/server/chunks/_server.ts-DNAPGKEF.js +55 -0
  159. package/studio-dist/server/chunks/_server.ts-DQiTiY3E.js +78 -0
  160. package/studio-dist/server/chunks/{_server.ts-B2E7fxo9.js → _server.ts-DUPODxVZ.js} +6 -91
  161. package/studio-dist/server/chunks/{_server.ts-BT0Uq2yq.js → _server.ts-DUyeSXbV.js} +10 -92
  162. package/studio-dist/server/chunks/{_server.ts-DRVz9D-J.js → _server.ts-DY7BwZCv.js} +9 -24
  163. package/studio-dist/server/chunks/{_server.ts-Cz0zgaUV.js → _server.ts-D_E276ms.js} +3 -2
  164. package/studio-dist/server/chunks/{_server.ts-B5g3eScF.js → _server.ts-DgtmTAp5.js} +5 -60
  165. package/studio-dist/server/chunks/{_server.ts-CboRJY0Q.js → _server.ts-DhTKaw7h.js} +10 -63
  166. package/studio-dist/server/chunks/_server.ts-DqKBSCPT.js +31 -0
  167. package/studio-dist/server/chunks/{_server.ts-CpmMp5D8.js → _server.ts-DyXBNnRD.js} +4 -3
  168. package/studio-dist/server/chunks/_server.ts-DzjUpduu.js +25 -0
  169. package/studio-dist/server/chunks/{_server.ts-CGiAXy5i.js → _server.ts-Dznqw6Dg.js} +8 -23
  170. package/studio-dist/server/chunks/{_server.ts-tKMjUFUP.js → _server.ts-EVwS7UXb.js} +4 -3
  171. package/studio-dist/server/chunks/_server.ts-J17j25VG.js +62 -0
  172. package/studio-dist/server/chunks/{_server.ts-C4BcDGqS.js → _server.ts-XLV5SvjH.js} +7 -63
  173. package/studio-dist/server/chunks/_server.ts-jZgqFIJz.js +45 -0
  174. package/studio-dist/server/chunks/{_server.ts-Bw7A4zgb.js → _server.ts-lyiGGv7w.js} +5 -3
  175. package/studio-dist/server/chunks/_server.ts-n0fpsfkk.js +67 -0
  176. package/studio-dist/server/chunks/{brain-CXR7ZT7S.js → brain-xt_NeshR.js} +2 -2
  177. package/studio-dist/server/chunks/cleo-home-_XIqkZaL.js +109 -0
  178. package/studio-dist/server/chunks/{cli-action-DQcaqcfn.js → cli-action-VJPEn1pY.js} +2 -2
  179. package/studio-dist/server/chunks/{client-CgX38JBu.js → client-CrfCXSXZ.js} +5 -6
  180. package/studio-dist/server/chunks/cluster-label-layer-CysRMvhi.js +6721 -0
  181. package/studio-dist/server/chunks/connections-CWLPjwBP.js +15 -0
  182. package/studio-dist/server/chunks/{connections2-mi7mZqJM.js → connections2-DHVs5ytW.js} +32 -19
  183. package/studio-dist/server/chunks/{dev-BNpEUZI3.js → dev-Br5zieNA.js} +2 -2
  184. package/studio-dist/server/chunks/dist-BR1f34Gj.js +18726 -0
  185. package/studio-dist/server/chunks/{error.svelte-CplNulnS.js → error.svelte-CmR0NUCQ.js} +6 -8
  186. package/studio-dist/server/chunks/{explorer-loader-BN_mkt3_.js → explorer-loader-B_uCSs9_.js} +2 -2
  187. package/studio-dist/server/chunks/exports-Dg-gdPPq.js +124 -0
  188. package/studio-dist/server/chunks/{hooks.server-DBsyphiX.js → hooks.server-CWBRp8NI.js} +10 -93
  189. package/studio-dist/server/chunks/{http-CRTZe306.js → http-Dso0FRxT.js} +3 -4
  190. package/studio-dist/server/chunks/{index-server-DocJvixA.js → index-server-BgfA6C0S.js} +17 -4
  191. package/studio-dist/server/chunks/{internal-D6eWgsHJ.js → internal-DYUO6aQs.js} +56 -92
  192. package/studio-dist/server/chunks/{memory2-Cgc_4D5q.js → memory-BZHnDZzu.js} +4 -4
  193. package/studio-dist/server/chunks/{nexus-adapter-9EL_VlGI.js → nexus-adapter-D1ryYG1Z.js} +5 -5
  194. package/studio-dist/server/chunks/{no-face-up-DcejJLy-.js → no-face-up-B_3h6Hgs.js} +2 -2
  195. package/studio-dist/server/chunks/project-context-BAXQmgch.js +188 -0
  196. package/studio-dist/server/chunks/{src-BUqGet2c.js → src-D2rW9bIF.js} +422 -5
  197. package/studio-dist/server/chunks/{stores-5DmdjPCH.js → stores-CS6eY2sx.js} +3 -3
  198. package/studio-dist/server/chunks/{tasks2-Bf9VHrv-.js → tasks-sWuEmiGW.js} +2349 -9
  199. package/studio-dist/server/chunks/{ui-DR8zOSpC.js → ui-CkQ-pCs3.js} +2 -2
  200. package/studio-dist/server/chunks/utils-g564cUMV.js +151 -0
  201. package/studio-dist/server/index.js +5 -16
  202. package/studio-dist/server/manifest.js +88 -88
  203. package/dist/cli/index.js.map +0 -6
  204. package/studio-dist/client/_app/immutable/assets/parse-worker.CSEr67Qi.js +0 -1127
  205. package/studio-dist/client/_app/immutable/chunks/2mEksghu2.js +0 -1
  206. package/studio-dist/client/_app/immutable/chunks/3KebaI-z.js +0 -53
  207. package/studio-dist/client/_app/immutable/chunks/3y2yNYEk2.js +0 -3
  208. package/studio-dist/client/_app/immutable/chunks/7UXYlaI1.js +0 -1
  209. package/studio-dist/client/_app/immutable/chunks/83VLmCvk.js +0 -4
  210. package/studio-dist/client/_app/immutable/chunks/84Rhmi6r.js +0 -2
  211. package/studio-dist/client/_app/immutable/chunks/9CV9TXTg2.js +0 -92
  212. package/studio-dist/client/_app/immutable/chunks/9LFtcz24.js +0 -1
  213. package/studio-dist/client/_app/immutable/chunks/9bLMgKwu2.js +0 -1
  214. package/studio-dist/client/_app/immutable/chunks/9kKqohVR2.js +0 -37
  215. package/studio-dist/client/_app/immutable/chunks/B-Ye28EY.js +0 -7
  216. package/studio-dist/client/_app/immutable/chunks/B-jnUl7o.js +0 -1
  217. package/studio-dist/client/_app/immutable/chunks/B0ORuy8x2.js +0 -1
  218. package/studio-dist/client/_app/immutable/chunks/B0xCM1wN2.js +0 -1
  219. package/studio-dist/client/_app/immutable/chunks/B0zCN4sX.js +0 -1
  220. package/studio-dist/client/_app/immutable/chunks/B1wt-iGW.js +0 -7
  221. package/studio-dist/client/_app/immutable/chunks/B2F3KUIU.js +0 -1
  222. package/studio-dist/client/_app/immutable/chunks/B2_6RrlL2.js +0 -1
  223. package/studio-dist/client/_app/immutable/chunks/B2qKEYxA2.js +0 -1
  224. package/studio-dist/client/_app/immutable/chunks/B2u2rNyI2.js +0 -8
  225. package/studio-dist/client/_app/immutable/chunks/B3_X3Lhd2.js +0 -1
  226. package/studio-dist/client/_app/immutable/chunks/B3sNtbqf.js +0 -1
  227. package/studio-dist/client/_app/immutable/chunks/B4NQP1Ax2.js +0 -6
  228. package/studio-dist/client/_app/immutable/chunks/BAtZg5v5.js +0 -2
  229. package/studio-dist/client/_app/immutable/chunks/BB6WKLm82.js +0 -1
  230. package/studio-dist/client/_app/immutable/chunks/BBX8UDtn.js +0 -1
  231. package/studio-dist/client/_app/immutable/chunks/BBs1U1iU.js +0 -1
  232. package/studio-dist/client/_app/immutable/chunks/BEli_4Jp2.js +0 -1
  233. package/studio-dist/client/_app/immutable/chunks/BEt2wIUt.js +0 -1
  234. package/studio-dist/client/_app/immutable/chunks/BEyM8qSW2.js +0 -1
  235. package/studio-dist/client/_app/immutable/chunks/BFZA3Dsk2.js +0 -1
  236. package/studio-dist/client/_app/immutable/chunks/BGdPweG1.js +0 -2
  237. package/studio-dist/client/_app/immutable/chunks/BGiusSqE.js +0 -1
  238. package/studio-dist/client/_app/immutable/chunks/BGmpyfzD.js +0 -1
  239. package/studio-dist/client/_app/immutable/chunks/BH5rhSIR.js +0 -1
  240. package/studio-dist/client/_app/immutable/chunks/BHciFt922.js +0 -2
  241. package/studio-dist/client/_app/immutable/chunks/BHnFwTQY.js +0 -1
  242. package/studio-dist/client/_app/immutable/chunks/BIvye3XP2.js +0 -59
  243. package/studio-dist/client/_app/immutable/chunks/BJ8mcpQA2.js +0 -1
  244. package/studio-dist/client/_app/immutable/chunks/BK17qSHw.js +0 -2
  245. package/studio-dist/client/_app/immutable/chunks/BLkgUtyb.js +0 -1
  246. package/studio-dist/client/_app/immutable/chunks/BMUko3r62.js +0 -5
  247. package/studio-dist/client/_app/immutable/chunks/BMwzdEaa.js +0 -2
  248. package/studio-dist/client/_app/immutable/chunks/BQZx6brg.js +0 -2
  249. package/studio-dist/client/_app/immutable/chunks/BUPJTTTd.js +0 -2
  250. package/studio-dist/client/_app/immutable/chunks/BVNGAeZe2.js +0 -146
  251. package/studio-dist/client/_app/immutable/chunks/BWfLryGm.js +0 -1
  252. package/studio-dist/client/_app/immutable/chunks/BXIfeogw.js +0 -1
  253. package/studio-dist/client/_app/immutable/chunks/BXTfFyUU.js +0 -1
  254. package/studio-dist/client/_app/immutable/chunks/BYJC6_MM.js +0 -2
  255. package/studio-dist/client/_app/immutable/chunks/BZV1ZJzH.js +0 -2
  256. package/studio-dist/client/_app/immutable/chunks/BZu9rehd.js +0 -1
  257. package/studio-dist/client/_app/immutable/chunks/Bbzm48C52.js +0 -1
  258. package/studio-dist/client/_app/immutable/chunks/BfGnlwjH.js +0 -1
  259. package/studio-dist/client/_app/immutable/chunks/Bfjb9LPp.js +0 -2
  260. package/studio-dist/client/_app/immutable/chunks/BieFfu-R.js +0 -1
  261. package/studio-dist/client/_app/immutable/chunks/Bmv63uXe2.js +0 -1
  262. package/studio-dist/client/_app/immutable/chunks/BtBW1A0u.js +0 -1
  263. package/studio-dist/client/_app/immutable/chunks/BxISGQCl2.js +0 -1
  264. package/studio-dist/client/_app/immutable/chunks/ByNR_KvT.js +0 -2
  265. package/studio-dist/client/_app/immutable/chunks/BzjhD6Hr2.js +0 -2
  266. package/studio-dist/client/_app/immutable/chunks/BzpWnq0c2.js +0 -1
  267. package/studio-dist/client/_app/immutable/chunks/C-yJVcyI2.js +0 -1
  268. package/studio-dist/client/_app/immutable/chunks/C0cQ-8kS2.js +0 -1
  269. package/studio-dist/client/_app/immutable/chunks/C1vWmhYe.js +0 -48
  270. package/studio-dist/client/_app/immutable/chunks/C1w6bBje.js +0 -1
  271. package/studio-dist/client/_app/immutable/chunks/C243sn7r.js +0 -4
  272. package/studio-dist/client/_app/immutable/chunks/C2oZaDvt.js +0 -67
  273. package/studio-dist/client/_app/immutable/chunks/C3OziSQx.js +0 -1
  274. package/studio-dist/client/_app/immutable/chunks/C3hFPbMK.js +0 -2
  275. package/studio-dist/client/_app/immutable/chunks/C4P9oFvU2.js +0 -6
  276. package/studio-dist/client/_app/immutable/chunks/C5Nlanei.js +0 -8
  277. package/studio-dist/client/_app/immutable/chunks/C6KBAXPl.js +0 -15
  278. package/studio-dist/client/_app/immutable/chunks/C8MZnWta.js +0 -1
  279. package/studio-dist/client/_app/immutable/chunks/CAoan3K12.js +0 -1
  280. package/studio-dist/client/_app/immutable/chunks/CBpcINYH.js +0 -29
  281. package/studio-dist/client/_app/immutable/chunks/CE7phgWq.js +0 -1
  282. package/studio-dist/client/_app/immutable/chunks/CFb4Co_K.js +0 -2
  283. package/studio-dist/client/_app/immutable/chunks/CGWoRK3t2.js +0 -1
  284. package/studio-dist/client/_app/immutable/chunks/CH3t4xo1.js +0 -1
  285. package/studio-dist/client/_app/immutable/chunks/CHJgk6g-.js +0 -1
  286. package/studio-dist/client/_app/immutable/chunks/CHgPjuDQ.js +0 -17
  287. package/studio-dist/client/_app/immutable/chunks/CHkCZrnr.js +0 -1
  288. package/studio-dist/client/_app/immutable/chunks/CI_91WUN.js +0 -4
  289. package/studio-dist/client/_app/immutable/chunks/CJ7-hP0H.js +0 -1
  290. package/studio-dist/client/_app/immutable/chunks/CKIrNnkY2.js +0 -1
  291. package/studio-dist/client/_app/immutable/chunks/CKoQ7Ko5.js +0 -1
  292. package/studio-dist/client/_app/immutable/chunks/CM8O4zqs.js +0 -56
  293. package/studio-dist/client/_app/immutable/chunks/CMz3AVRO.js +0 -1
  294. package/studio-dist/client/_app/immutable/chunks/CNToUR3P.js +0 -13
  295. package/studio-dist/client/_app/immutable/chunks/CNuQG1yl2.js +0 -1
  296. package/studio-dist/client/_app/immutable/chunks/CQLIZtxj.js +0 -2
  297. package/studio-dist/client/_app/immutable/chunks/CQYVNgM0.js +0 -20
  298. package/studio-dist/client/_app/immutable/chunks/CQeVOmFO2.js +0 -1
  299. package/studio-dist/client/_app/immutable/chunks/CSPHHq09.js +0 -1
  300. package/studio-dist/client/_app/immutable/chunks/CTJEdbIn.js +0 -1
  301. package/studio-dist/client/_app/immutable/chunks/CTTT3wYw.js +0 -35
  302. package/studio-dist/client/_app/immutable/chunks/CV4ck7fz.js +0 -2
  303. package/studio-dist/client/_app/immutable/chunks/CXQrVnHf.js +0 -11
  304. package/studio-dist/client/_app/immutable/chunks/CXTCtOUQ.js +0 -1
  305. package/studio-dist/client/_app/immutable/chunks/C_CsU7Qq.js +0 -1
  306. package/studio-dist/client/_app/immutable/chunks/C_IZx3682.js +0 -2
  307. package/studio-dist/client/_app/immutable/chunks/CbTnu2Po2.js +0 -1
  308. package/studio-dist/client/_app/immutable/chunks/Cba8RZ1a2.js +0 -8
  309. package/studio-dist/client/_app/immutable/chunks/Cc8xxDr5.js +0 -1
  310. package/studio-dist/client/_app/immutable/chunks/CdPxoldu.js +0 -1
  311. package/studio-dist/client/_app/immutable/chunks/CdqDTozW.js +0 -1
  312. package/studio-dist/client/_app/immutable/chunks/CdsmcCfC.js +0 -25
  313. package/studio-dist/client/_app/immutable/chunks/CeYPAoY9.js +0 -1
  314. package/studio-dist/client/_app/immutable/chunks/Cf4kGS9y.js +0 -1
  315. package/studio-dist/client/_app/immutable/chunks/CfWEqXtJ2.js +0 -1
  316. package/studio-dist/client/_app/immutable/chunks/Cg7Wj2b9.js +0 -2
  317. package/studio-dist/client/_app/immutable/chunks/CgTpKZfi2.js +0 -1
  318. package/studio-dist/client/_app/immutable/chunks/Chpy9ca7.js +0 -2
  319. package/studio-dist/client/_app/immutable/chunks/CiLKuLrQ.js +0 -4
  320. package/studio-dist/client/_app/immutable/chunks/CjNDJjwu.js +0 -1
  321. package/studio-dist/client/_app/immutable/chunks/Cjde0ZKr2.js +0 -1
  322. package/studio-dist/client/_app/immutable/chunks/Cjgnade02.js +0 -3
  323. package/studio-dist/client/_app/immutable/chunks/Ckp90om52.js +0 -2
  324. package/studio-dist/client/_app/immutable/chunks/ClAPVhCD.js +0 -1
  325. package/studio-dist/client/_app/immutable/chunks/ClT89UdO.js +0 -11
  326. package/studio-dist/client/_app/immutable/chunks/CnJf5tML.js +0 -1
  327. package/studio-dist/client/_app/immutable/chunks/CpF4Rrcc2.js +0 -1
  328. package/studio-dist/client/_app/immutable/chunks/CqCka5yX2.js +0 -1
  329. package/studio-dist/client/_app/immutable/chunks/CqtqZrOl.js +0 -1
  330. package/studio-dist/client/_app/immutable/chunks/CrJdywQt.js +0 -1
  331. package/studio-dist/client/_app/immutable/chunks/Cs0zC2l2.js +0 -1
  332. package/studio-dist/client/_app/immutable/chunks/CsMn5fBs.js +0 -141
  333. package/studio-dist/client/_app/immutable/chunks/CsvKLHQQ2.js +0 -2
  334. package/studio-dist/client/_app/immutable/chunks/Ctaresvj.js +0 -1
  335. package/studio-dist/client/_app/immutable/chunks/Ctetf8vc2.js +0 -2
  336. package/studio-dist/client/_app/immutable/chunks/Cv7yW6MG.js +0 -1
  337. package/studio-dist/client/_app/immutable/chunks/CxRIz-Zd.js +0 -1
  338. package/studio-dist/client/_app/immutable/chunks/CxbvtjIH.js +0 -3
  339. package/studio-dist/client/_app/immutable/chunks/CxfeoXkZ.js +0 -2
  340. package/studio-dist/client/_app/immutable/chunks/CySLscL2.js +0 -2
  341. package/studio-dist/client/_app/immutable/chunks/D0PKQAbM.js +0 -87
  342. package/studio-dist/client/_app/immutable/chunks/D0WQsLTu.js +0 -1
  343. package/studio-dist/client/_app/immutable/chunks/D1LBVx6r2.js +0 -1
  344. package/studio-dist/client/_app/immutable/chunks/D1NlFXu9.js +0 -1
  345. package/studio-dist/client/_app/immutable/chunks/D1QfC4hu2.js +0 -1
  346. package/studio-dist/client/_app/immutable/chunks/D1yrHAn72.js +0 -1
  347. package/studio-dist/client/_app/immutable/chunks/D2pa4reh.js +0 -7
  348. package/studio-dist/client/_app/immutable/chunks/D3QsWcIw2.js +0 -2
  349. package/studio-dist/client/_app/immutable/chunks/D4OkQuPl2.js +0 -1
  350. package/studio-dist/client/_app/immutable/chunks/D6UDnATk2.js +0 -1
  351. package/studio-dist/client/_app/immutable/chunks/D7w7HllH.js +0 -38
  352. package/studio-dist/client/_app/immutable/chunks/D93KpglN.js +0 -1
  353. package/studio-dist/client/_app/immutable/chunks/D99fQj2G2.js +0 -1
  354. package/studio-dist/client/_app/immutable/chunks/DB5ifLM-.js +0 -3
  355. package/studio-dist/client/_app/immutable/chunks/DBhP8ifO2.js +0 -15
  356. package/studio-dist/client/_app/immutable/chunks/DF_4OWhj.js +0 -2
  357. package/studio-dist/client/_app/immutable/chunks/DFpNK1vs2.js +0 -1
  358. package/studio-dist/client/_app/immutable/chunks/DGRYMk-W.js +0 -142
  359. package/studio-dist/client/_app/immutable/chunks/DH3CcQwq.js +0 -1
  360. package/studio-dist/client/_app/immutable/chunks/DHQfJeLU.js +0 -4
  361. package/studio-dist/client/_app/immutable/chunks/DL89yEDy2.js +0 -1
  362. package/studio-dist/client/_app/immutable/chunks/DLRku_0p2.js +0 -2
  363. package/studio-dist/client/_app/immutable/chunks/DMZkjPYT2.js +0 -1
  364. package/studio-dist/client/_app/immutable/chunks/DNP72foU.js +0 -1
  365. package/studio-dist/client/_app/immutable/chunks/DO2GztVm.js +0 -1
  366. package/studio-dist/client/_app/immutable/chunks/DOVNXmCK2.js +0 -1
  367. package/studio-dist/client/_app/immutable/chunks/DOqzs8kl2.js +0 -1
  368. package/studio-dist/client/_app/immutable/chunks/DQnR63hh2.js +0 -7
  369. package/studio-dist/client/_app/immutable/chunks/DTxtWPkw.js +0 -1
  370. package/studio-dist/client/_app/immutable/chunks/DVDgCC9A2.js +0 -20
  371. package/studio-dist/client/_app/immutable/chunks/DVVCJYjz.js +0 -1
  372. package/studio-dist/client/_app/immutable/chunks/DWRhYUMj2.js +0 -1
  373. package/studio-dist/client/_app/immutable/chunks/DWavBJBI.js +0 -4
  374. package/studio-dist/client/_app/immutable/chunks/DXDSWRw-.js +0 -1
  375. package/studio-dist/client/_app/immutable/chunks/DXoHaH4a.js +0 -2
  376. package/studio-dist/client/_app/immutable/chunks/DXpCX2Hi.js +0 -1
  377. package/studio-dist/client/_app/immutable/chunks/DYP3EJMY.js +0 -1
  378. package/studio-dist/client/_app/immutable/chunks/DYQphR_V.js +0 -1
  379. package/studio-dist/client/_app/immutable/chunks/DYUlIivP.js +0 -1
  380. package/studio-dist/client/_app/immutable/chunks/DYo2ye8X2.js +0 -1
  381. package/studio-dist/client/_app/immutable/chunks/DYxFu8yV.js +0 -1
  382. package/studio-dist/client/_app/immutable/chunks/DZ66sRb6.js +0 -1
  383. package/studio-dist/client/_app/immutable/chunks/D_XTiylm2.js +0 -1
  384. package/studio-dist/client/_app/immutable/chunks/DaRv9jn22.js +0 -1
  385. package/studio-dist/client/_app/immutable/chunks/DaXb9i_E.js +0 -1
  386. package/studio-dist/client/_app/immutable/chunks/Dccf4VP2.js +0 -24
  387. package/studio-dist/client/_app/immutable/chunks/DdODs-Sb.js +0 -1
  388. package/studio-dist/client/_app/immutable/chunks/DdekYWer.js +0 -2
  389. package/studio-dist/client/_app/immutable/chunks/DeHaovsF.js +0 -1
  390. package/studio-dist/client/_app/immutable/chunks/DeRRkRO52.js +0 -1
  391. package/studio-dist/client/_app/immutable/chunks/DeWI5qCn.js +0 -1
  392. package/studio-dist/client/_app/immutable/chunks/DfivR-Md.js +0 -1
  393. package/studio-dist/client/_app/immutable/chunks/DgmxpSo7.js +0 -1
  394. package/studio-dist/client/_app/immutable/chunks/DhPLWrun2.js +0 -1
  395. package/studio-dist/client/_app/immutable/chunks/DhhrVdfi.js +0 -2
  396. package/studio-dist/client/_app/immutable/chunks/Djr2dbcc2.js +0 -37
  397. package/studio-dist/client/_app/immutable/chunks/DjuRo5vv.js +0 -1
  398. package/studio-dist/client/_app/immutable/chunks/Djz4EDzO.js +0 -1
  399. package/studio-dist/client/_app/immutable/chunks/DkRfaw-K2.js +0 -1
  400. package/studio-dist/client/_app/immutable/chunks/DksB5g4W2.js +0 -1
  401. package/studio-dist/client/_app/immutable/chunks/Dmqenb5z2.js +0 -1
  402. package/studio-dist/client/_app/immutable/chunks/DnbToVyf.js +0 -2
  403. package/studio-dist/client/_app/immutable/chunks/DpGZwlmj.js +0 -1
  404. package/studio-dist/client/_app/immutable/chunks/Dq0lE5C32.js +0 -1
  405. package/studio-dist/client/_app/immutable/chunks/Dq54XqHT2.js +0 -1
  406. package/studio-dist/client/_app/immutable/chunks/DqK84mbb.js +0 -1
  407. package/studio-dist/client/_app/immutable/chunks/DqjFtSJD.js +0 -2
  408. package/studio-dist/client/_app/immutable/chunks/DrKWWDpL.js +0 -1
  409. package/studio-dist/client/_app/immutable/chunks/DsQIgu-4.js +0 -1
  410. package/studio-dist/client/_app/immutable/chunks/DsqdgJHS2.js +0 -1
  411. package/studio-dist/client/_app/immutable/chunks/DtNkZUkq.js +0 -17
  412. package/studio-dist/client/_app/immutable/chunks/DutIls4V2.js +0 -1
  413. package/studio-dist/client/_app/immutable/chunks/DvxYFW4C.js +0 -1
  414. package/studio-dist/client/_app/immutable/chunks/Dwp-76GQ.js +0 -2
  415. package/studio-dist/client/_app/immutable/chunks/DxSZd548.js +0 -1
  416. package/studio-dist/client/_app/immutable/chunks/DxiUMhk0.js +0 -5
  417. package/studio-dist/client/_app/immutable/chunks/DxslLswf.js +0 -23
  418. package/studio-dist/client/_app/immutable/chunks/Dy7EjGgb2.js +0 -9
  419. package/studio-dist/client/_app/immutable/chunks/DyGQ_VXC.js +0 -3
  420. package/studio-dist/client/_app/immutable/chunks/DySe3kTV2.js +0 -1
  421. package/studio-dist/client/_app/immutable/chunks/DyzE2Uxw.js +0 -1
  422. package/studio-dist/client/_app/immutable/chunks/DzhuJaxE2.js +0 -2
  423. package/studio-dist/client/_app/immutable/chunks/FmMHyrh6.js +0 -1
  424. package/studio-dist/client/_app/immutable/chunks/Gxs0J274.js +0 -5
  425. package/studio-dist/client/_app/immutable/chunks/HwtzDYxN.js +0 -2
  426. package/studio-dist/client/_app/immutable/chunks/ITRz_Q7H2.js +0 -15
  427. package/studio-dist/client/_app/immutable/chunks/KDNP98XY2.js +0 -1
  428. package/studio-dist/client/_app/immutable/chunks/LmVjFhpk2.js +0 -1
  429. package/studio-dist/client/_app/immutable/chunks/MiAejGV_.js +0 -1
  430. package/studio-dist/client/_app/immutable/chunks/Ml4JR6Jz2.js +0 -2
  431. package/studio-dist/client/_app/immutable/chunks/NU5S3nNs2.js +0 -2
  432. package/studio-dist/client/_app/immutable/chunks/Oh5zPjv3.js +0 -2
  433. package/studio-dist/client/_app/immutable/chunks/QZkvJ9vi.js +0 -1
  434. package/studio-dist/client/_app/immutable/chunks/Rbn8UpBm.js +0 -1
  435. package/studio-dist/client/_app/immutable/chunks/SPX3gYwn2.js +0 -1
  436. package/studio-dist/client/_app/immutable/chunks/UyeQuL132.js +0 -12
  437. package/studio-dist/client/_app/immutable/chunks/VQszoXcV.js +0 -1
  438. package/studio-dist/client/_app/immutable/chunks/VtZsEMxD.js +0 -1
  439. package/studio-dist/client/_app/immutable/chunks/W2IeK61p2.js +0 -1
  440. package/studio-dist/client/_app/immutable/chunks/Wadww7ZG.js +0 -1
  441. package/studio-dist/client/_app/immutable/chunks/WgfA1zWk2.js +0 -1
  442. package/studio-dist/client/_app/immutable/chunks/WxIgAS1f.js +0 -21
  443. package/studio-dist/client/_app/immutable/chunks/XrsBoOj9.js +0 -2
  444. package/studio-dist/client/_app/immutable/chunks/Y3PX4poR.js +0 -2
  445. package/studio-dist/client/_app/immutable/chunks/YxfwqiF32.js +0 -1
  446. package/studio-dist/client/_app/immutable/chunks/Z7uO1YaO.js +0 -1
  447. package/studio-dist/client/_app/immutable/chunks/_4ykQk_8.js +0 -1
  448. package/studio-dist/client/_app/immutable/chunks/_kRcZFVn.js +0 -1
  449. package/studio-dist/client/_app/immutable/chunks/aQNM7eVA2.js +0 -1
  450. package/studio-dist/client/_app/immutable/chunks/bHKz_Fb2.js +0 -45
  451. package/studio-dist/client/_app/immutable/chunks/bJRyRGSZ.js +0 -1
  452. package/studio-dist/client/_app/immutable/chunks/dlzF6lnR.js +0 -1
  453. package/studio-dist/client/_app/immutable/chunks/fjRbpfEr2.js +0 -26
  454. package/studio-dist/client/_app/immutable/chunks/imLk4if5.js +0 -3
  455. package/studio-dist/client/_app/immutable/chunks/lgRG0R-32.js +0 -1
  456. package/studio-dist/client/_app/immutable/chunks/mFhCjxQJ2.js +0 -1
  457. package/studio-dist/client/_app/immutable/chunks/mgnH6qYg.js +0 -1
  458. package/studio-dist/client/_app/immutable/chunks/n6M_5LoW.js +0 -1
  459. package/studio-dist/client/_app/immutable/chunks/nLIOiDZp2.js +0 -1
  460. package/studio-dist/client/_app/immutable/chunks/nab7WB3u2.js +0 -1
  461. package/studio-dist/client/_app/immutable/chunks/orUmAKoW2.js +0 -1
  462. package/studio-dist/client/_app/immutable/chunks/p-fLQDfY2.js +0 -63
  463. package/studio-dist/client/_app/immutable/chunks/s0-WkOGk2.js +0 -1
  464. package/studio-dist/client/_app/immutable/chunks/sPuXfbUF.js +0 -1
  465. package/studio-dist/client/_app/immutable/chunks/t4h0vrqR2.js +0 -2
  466. package/studio-dist/client/_app/immutable/chunks/uE83FKL-.js +0 -1
  467. package/studio-dist/client/_app/immutable/chunks/uzhXlm0g2.js +0 -1
  468. package/studio-dist/client/_app/immutable/chunks/vTrEsGlD2.js +0 -1
  469. package/studio-dist/client/_app/immutable/chunks/xJgCk3dx2.js +0 -28
  470. package/studio-dist/client/_app/immutable/chunks/z0Mt579s2.js +0 -13
  471. package/studio-dist/client/_app/immutable/entry/app.BoQ7cgT2.js +0 -2
  472. package/studio-dist/client/_app/immutable/entry/start.Cg1v8DU4.js +0 -1
  473. package/studio-dist/client/_app/immutable/nodes/25.ddZ1_EFk.js +0 -1
  474. package/studio-dist/client/_app/immutable/nodes/26.6OcmQbLV.js +0 -1
  475. package/studio-dist/client/_app/immutable/nodes/4.CCjOEwVU.js +0 -1
  476. package/studio-dist/server/chunks/0-CvsKDxQ6.js +0 -126
  477. package/studio-dist/server/chunks/1-ck_x2Hf0.js +0 -9
  478. package/studio-dist/server/chunks/20-DVU22np7.js +0 -142
  479. package/studio-dist/server/chunks/23-D_tUnnoc.js +0 -181
  480. package/studio-dist/server/chunks/24-CVlymvLF.js +0 -151
  481. package/studio-dist/server/chunks/AwsRestJsonProtocol-BZuoNBmL.js +0 -416
  482. package/studio-dist/server/chunks/UnionSerde-BflIkhKj.js +0 -2653
  483. package/studio-dist/server/chunks/_dispatch-ncuRztUQ.js +0 -5597
  484. package/studio-dist/server/chunks/_server.ts-4NyKAneX.js +0 -116
  485. package/studio-dist/server/chunks/_server.ts-7hGdxdEI.js +0 -136
  486. package/studio-dist/server/chunks/_server.ts-B6b3b-yA.js +0 -131
  487. package/studio-dist/server/chunks/_server.ts-BOgGqaZp.js +0 -144
  488. package/studio-dist/server/chunks/_server.ts-BV1HiKZ0.js +0 -120
  489. package/studio-dist/server/chunks/_server.ts-BWp3g6Cr.js +0 -110
  490. package/studio-dist/server/chunks/_server.ts-C5NF-UgC.js +0 -122
  491. package/studio-dist/server/chunks/_server.ts-CDMurH5m.js +0 -2301
  492. package/studio-dist/server/chunks/_server.ts-COJHCgbq.js +0 -127
  493. package/studio-dist/server/chunks/_server.ts-CUl-Utkt.js +0 -148
  494. package/studio-dist/server/chunks/_server.ts-D0GAFJRb.js +0 -156
  495. package/studio-dist/server/chunks/_server.ts-DA6p3pmi.js +0 -117
  496. package/studio-dist/server/chunks/_server.ts-DThYFaZj.js +0 -160
  497. package/studio-dist/server/chunks/_server.ts-D_3Pm0gr.js +0 -179
  498. package/studio-dist/server/chunks/_server.ts-DcHxdMsm.js +0 -144
  499. package/studio-dist/server/chunks/_server.ts-Dlfadh2I.js +0 -144
  500. package/studio-dist/server/chunks/_server.ts-JallJnps.js +0 -240
  501. package/studio-dist/server/chunks/_server.ts-NEFTbJpM.js +0 -142
  502. package/studio-dist/server/chunks/_server.ts-d-2NvRwX.js +0 -122
  503. package/studio-dist/server/chunks/_server.ts-rUWMLkIw.js +0 -146
  504. package/studio-dist/server/chunks/abort-events-CDRAJSqb.js +0 -30
  505. package/studio-dist/server/chunks/adapters-BkMgPNUM.js +0 -359
  506. package/studio-dist/server/chunks/adapters2-CQ3PzoaK.js +0 -28
  507. package/studio-dist/server/chunks/api-mode2-3W-I1-XO.js +0 -36
  508. package/studio-dist/server/chunks/api2-CmNQzb0b.js +0 -96
  509. package/studio-dist/server/chunks/attention-consolidate-CidG1jfH.js +0 -485
  510. package/studio-dist/server/chunks/audit3-DMO_fUGp.js +0 -52
  511. package/studio-dist/server/chunks/auto-extract-B84La1Vs.js +0 -34
  512. package/studio-dist/server/chunks/brain-consolidator-JGm6mzFf.js +0 -373
  513. package/studio-dist/server/chunks/brain-doctor-Dc2WqVbs.js +0 -311
  514. package/studio-dist/server/chunks/brain-embedding-Djw9ekXu.js +0 -42
  515. package/studio-dist/server/chunks/brain-lifecycle-BOOa876K.js +0 -969
  516. package/studio-dist/server/chunks/brain-maintenance-U6VvsvmK.js +0 -133
  517. package/studio-dist/server/chunks/brain-maintenance2-CwVSmfDT.js +0 -43
  518. package/studio-dist/server/chunks/brain-retrieval2-exR8mdgh.js +0 -751
  519. package/studio-dist/server/chunks/brain-search-CpSh-SNi.js +0 -48
  520. package/studio-dist/server/chunks/brain-search2-CwI2cXgg.js +0 -716
  521. package/studio-dist/server/chunks/brain-similarity-DI4yzm9e.js +0 -113
  522. package/studio-dist/server/chunks/brain-stdp2-BxSBIlSr.js +0 -960
  523. package/studio-dist/server/chunks/brain-writer-handlers-Dwu0QCAA.js +0 -188
  524. package/studio-dist/server/chunks/brain-writer-thread-6n7wI7Gy.js +0 -360
  525. package/studio-dist/server/chunks/branch-lock-Cq7zzmFK.js +0 -1118
  526. package/studio-dist/server/chunks/branch-lock2-CmDc4CZW.js +0 -45
  527. package/studio-dist/server/chunks/cancelled-child-waiver-audit-DkesrN83.js +0 -54
  528. package/studio-dist/server/chunks/catalog-model-resolver-Bas9qnoP.js +0 -9
  529. package/studio-dist/server/chunks/catalog-model-resolver2-Cexk2TN0.js +0 -237
  530. package/studio-dist/server/chunks/catalog-resolver-CLot3XJO.js +0 -260
  531. package/studio-dist/server/chunks/catalog-resolver2-JmKb91kY.js +0 -33
  532. package/studio-dist/server/chunks/chunk-DDP5xfzh.js +0 -39
  533. package/studio-dist/server/chunks/cleo-home-CCfe6kAQ.js +0 -64
  534. package/studio-dist/server/chunks/concrete-session2-bb_vxJ2N.js +0 -43
  535. package/studio-dist/server/chunks/config-DHj9CcFs.js +0 -386
  536. package/studio-dist/server/chunks/config2-F6PPIn7D.js +0 -35
  537. package/studio-dist/server/chunks/connections-BMGJVYcS.js +0 -98
  538. package/studio-dist/server/chunks/credential-pool-vF6NdtT9.js +0 -4600
  539. package/studio-dist/server/chunks/credentials-C7EJFf5O.js +0 -35
  540. package/studio-dist/server/chunks/credentials-store-CFygIuB2.js +0 -35
  541. package/studio-dist/server/chunks/cross-db-cleanup-1LWTUKPi.js +0 -147
  542. package/studio-dist/server/chunks/data-accessor-CWgVndbR.js +0 -72
  543. package/studio-dist/server/chunks/data-safety-central-DaFxK27G.js +0 -683
  544. package/studio-dist/server/chunks/decisions-CmVXV2-H.js +0 -574
  545. package/studio-dist/server/chunks/decisions2-XQsSYdxa.js +0 -48
  546. package/studio-dist/server/chunks/depends-waiver-audit-CUmlBYHx.js +0 -56
  547. package/studio-dist/server/chunks/dialectic-evaluator2-BOyyXhdI.js +0 -96
  548. package/studio-dist/server/chunks/dist-es2-DQy2Mjn_.js +0 -43
  549. package/studio-dist/server/chunks/dist-es3-CBygU4n5.js +0 -365
  550. package/studio-dist/server/chunks/dist-es4-CavbNu4B.js +0 -162
  551. package/studio-dist/server/chunks/dist-es5-Crpm8Wsl.js +0 -465
  552. package/studio-dist/server/chunks/dist-es6-CgePHzh4.js +0 -99
  553. package/studio-dist/server/chunks/dist-es7-k6c5GEd7.js +0 -311
  554. package/studio-dist/server/chunks/dist-es8-Bd9v0_pE.js +0 -91
  555. package/studio-dist/server/chunks/dist3-23bsJhRw.js +0 -27
  556. package/studio-dist/server/chunks/dist4-DmC1zSXi.js +0 -35618
  557. package/studio-dist/server/chunks/dual-scope-db-DKnWu1KM.js +0 -5672
  558. package/studio-dist/server/chunks/dual-scope-db2-Dht3luRw.js +0 -31
  559. package/studio-dist/server/chunks/duplicate-bypass-audit-BN5w1H2y.js +0 -36
  560. package/studio-dist/server/chunks/duplicate-detector-CaVFMKdE.js +0 -692
  561. package/studio-dist/server/chunks/edge-types-CgBvb0w1.js +0 -28
  562. package/studio-dist/server/chunks/embedding-local-xEnym8Ho.js +0 -92
  563. package/studio-dist/server/chunks/event-streams-Bi2p_fVo.js +0 -232
  564. package/studio-dist/server/chunks/execution-learning-BVCw7Plq.js +0 -278
  565. package/studio-dist/server/chunks/exodus-BBuuN6aA.js +0 -2594
  566. package/studio-dist/server/chunks/externalDataInterceptor-C3C4cObe.js +0 -21
  567. package/studio-dist/server/chunks/extraction-gate-DDNBq7gu.js +0 -48
  568. package/studio-dist/server/chunks/extraction-gate2-D77EZBQ6.js +0 -375
  569. package/studio-dist/server/chunks/getSSOTokenFromFile-yZAJxDci.js +0 -21
  570. package/studio-dist/server/chunks/governor2-CtfV3wfX.js +0 -923
  571. package/studio-dist/server/chunks/graph-auto-populate-Dmsr9ZJM.js +0 -42
  572. package/studio-dist/server/chunks/graph-auto-populate2-Cz0qeebM.js +0 -156
  573. package/studio-dist/server/chunks/graph-memory-bridge-CY8ft_d7.js +0 -43
  574. package/studio-dist/server/chunks/graph-memory-bridge2-Cd0XZwqc.js +0 -429
  575. package/studio-dist/server/chunks/handler-helpers-AANBGA_p.js +0 -49
  576. package/studio-dist/server/chunks/hash-Cm6yMET4.js +0 -14
  577. package/studio-dist/server/chunks/health-monitor-FepUZN1m.js +0 -106
  578. package/studio-dist/server/chunks/identity-DRpurt56.js +0 -30
  579. package/studio-dist/server/chunks/identity2-DeAB5RXE.js +0 -114
  580. package/studio-dist/server/chunks/index-61916rmV.js +0 -632
  581. package/studio-dist/server/chunks/index-DAgVDouG.js +0 -268
  582. package/studio-dist/server/chunks/index-Dtt_h58T.js +0 -2116
  583. package/studio-dist/server/chunks/indexes-DZ52grq6.js +0 -615
  584. package/studio-dist/server/chunks/json-Bfixam3g.js +0 -126
  585. package/studio-dist/server/chunks/learnings-D6Y3YGMU.js +0 -47
  586. package/studio-dist/server/chunks/learnings2-MwBdR9vb.js +0 -171
  587. package/studio-dist/server/chunks/lifecycle-ops2-V2CR5-7X.js +0 -121
  588. package/studio-dist/server/chunks/list-BhObczvn.js +0 -229
  589. package/studio-dist/server/chunks/living-brain2-j0B_Ir8j.js +0 -285
  590. package/studio-dist/server/chunks/llm-backend-resolver-D4ANvUPL.js +0 -295
  591. package/studio-dist/server/chunks/llm-extraction-DVCu4heR.js +0 -408
  592. package/studio-dist/server/chunks/loadSharedConfigFiles-umvW7kuz.js +0 -73
  593. package/studio-dist/server/chunks/loadSso-iidd5iKx.js +0 -599
  594. package/studio-dist/server/chunks/local-model-fit-B0TxifnX.js +0 -53
  595. package/studio-dist/server/chunks/local-model-fit2-BMqo6GJm.js +0 -2664
  596. package/studio-dist/server/chunks/lock-CA7d6lj7.js +0 -57
  597. package/studio-dist/server/chunks/logger-DQIoyZbq.js +0 -34
  598. package/studio-dist/server/chunks/memory-BUbicBbE.js +0 -618
  599. package/studio-dist/server/chunks/memory-accessor-i3P-RHSg.js +0 -42
  600. package/studio-dist/server/chunks/memory-accessor2-B981tHDR.js +0 -467
  601. package/studio-dist/server/chunks/memory-bridge-BOlEWg9w.js +0 -424
  602. package/studio-dist/server/chunks/memory-sqlite2-B7dq8doO.js +0 -42
  603. package/studio-dist/server/chunks/model-runner2-B71xjp4y.js +0 -43
  604. package/studio-dist/server/chunks/mvi-helpers-BNsJ8ZpQ.js +0 -59
  605. package/studio-dist/server/chunks/nexus-plasticity-BTfU8cW_.js +0 -269
  606. package/studio-dist/server/chunks/nexus-risk-audit-p379-TU5.js +0 -54
  607. package/studio-dist/server/chunks/nexus-schema-zeygY8OD.js +0 -11
  608. package/studio-dist/server/chunks/nexus-schema2-DP0Qd7CA.js +0 -444
  609. package/studio-dist/server/chunks/nexus-sqlite-BVNIpwc7.js +0 -36
  610. package/studio-dist/server/chunks/nexus-sqlite2-BBfY2xnY.js +0 -1103
  611. package/studio-dist/server/chunks/node-http-handler-CJI8kn7X.js +0 -386
  612. package/studio-dist/server/chunks/observe-Bo9veHGe.js +0 -47
  613. package/studio-dist/server/chunks/observe2-wzO0MaMY.js +0 -245
  614. package/studio-dist/server/chunks/observer-reflector-BwNOuq1d.js +0 -62
  615. package/studio-dist/server/chunks/observer-reflector2-ggtC1hmk.js +0 -478
  616. package/studio-dist/server/chunks/on-open-Wpcw7DV4.js +0 -740
  617. package/studio-dist/server/chunks/open-cleo-db--8sYNaYY.js +0 -70
  618. package/studio-dist/server/chunks/parseKnownFiles-Dg0pMFcT.js +0 -18
  619. package/studio-dist/server/chunks/parseUrl-qgGfl-Vh.js +0 -120
  620. package/studio-dist/server/chunks/paths-CV7S5-Zm.js +0 -30012
  621. package/studio-dist/server/chunks/patterns-lh5kn13I.js +0 -48
  622. package/studio-dist/server/chunks/patterns2-CzIcT-ai.js +0 -177
  623. package/studio-dist/server/chunks/pipeline-stage-IB_pOft-.js +0 -63
  624. package/studio-dist/server/chunks/prediction-D1lSGJ4c.js +0 -217
  625. package/studio-dist/server/chunks/premature-close-audit-VG09uAco.js +0 -53
  626. package/studio-dist/server/chunks/project-context-BjiqfEBi.js +0 -166
  627. package/studio-dist/server/chunks/provider-registry2-Cu7rAF0R.js +0 -35
  628. package/studio-dist/server/chunks/quality-feedback-CuCGEI6S.js +0 -371
  629. package/studio-dist/server/chunks/quality-scoring-CCPuRQmJ.js +0 -160
  630. package/studio-dist/server/chunks/query-ops-DCrjbZb9.js +0 -78
  631. package/studio-dist/server/chunks/query-promise-BkPmGPJy.js +0 -1257
  632. package/studio-dist/server/chunks/readFile-CxwXhymG.js +0 -31
  633. package/studio-dist/server/chunks/registry-CL2gN1zd.js +0 -27
  634. package/studio-dist/server/chunks/registry2-DoPYJnUW.js +0 -233
  635. package/studio-dist/server/chunks/registry3-BajEb-ll.js +0 -42
  636. package/studio-dist/server/chunks/registry4-DCqffZkT.js +0 -142
  637. package/studio-dist/server/chunks/retry-B3oEKYpp.js +0 -105
  638. package/studio-dist/server/chunks/role-executor-CC8BU54L.js +0 -25379
  639. package/studio-dist/server/chunks/role-resolver-D9QaDT0e.js +0 -6544
  640. package/studio-dist/server/chunks/role-resolver2-nkhzS1oy.js +0 -37
  641. package/studio-dist/server/chunks/rollup-CiefjN_Y.js +0 -194
  642. package/studio-dist/server/chunks/safety-data-accessor-CniDmGJO.js +0 -276
  643. package/studio-dist/server/chunks/service-connections-accessor-yBCdcgU-.js +0 -282
  644. package/studio-dist/server/chunks/session-factory-vbengc42.js +0 -96
  645. package/studio-dist/server/chunks/session-grade-BF4ZZtN_.js +0 -244
  646. package/studio-dist/server/chunks/session-journal-Bvey70Ur.js +0 -235
  647. package/studio-dist/server/chunks/session-narrative-BirZINSU.js +0 -304
  648. package/studio-dist/server/chunks/session-store--N_xHxUH.js +0 -557
  649. package/studio-dist/server/chunks/session-store2-DAM-eVTH.js +0 -43
  650. package/studio-dist/server/chunks/sessions-33DD4hkt.js +0 -2273
  651. package/studio-dist/server/chunks/sessions2-BHswKRDP.js +0 -50
  652. package/studio-dist/server/chunks/sigil-B-RznFXz.js +0 -33
  653. package/studio-dist/server/chunks/sigil2-jRMG5DuR.js +0 -47
  654. package/studio-dist/server/chunks/signin-BAsW3mM8.js +0 -644
  655. package/studio-dist/server/chunks/sleep-consolidation-BnSwXrvq.js +0 -823
  656. package/studio-dist/server/chunks/specialists-B_ZbpQlK.js +0 -441
  657. package/studio-dist/server/chunks/sqlite-Bm5LzbPs.js +0 -5977
  658. package/studio-dist/server/chunks/sqlite-backup-CFG1-b2e.js +0 -42
  659. package/studio-dist/server/chunks/sqlite-data-accessor-DD_RFX6r.js +0 -987
  660. package/studio-dist/server/chunks/sqlite-data-accessor2-CRmgNBnq.js +0 -44
  661. package/studio-dist/server/chunks/sqlite-native-BwlIqtbs.js +0 -42
  662. package/studio-dist/server/chunks/sqlite2-CUPut2fh.js +0 -42
  663. package/studio-dist/server/chunks/src2-DK8DKufK.js +0 -290
  664. package/studio-dist/server/chunks/src3-BJjf7XRG.js +0 -798
  665. package/studio-dist/server/chunks/src4-DNleK_t_.js +0 -28
  666. package/studio-dist/server/chunks/sso-oidc-eUvwseuL.js +0 -861
  667. package/studio-dist/server/chunks/storage-B9UA3BHR.js +0 -198
  668. package/studio-dist/server/chunks/sts-g7LDMLEd.js +0 -4655
  669. package/studio-dist/server/chunks/surprisal-CwTfWQi8.js +0 -224
  670. package/studio-dist/server/chunks/surprisal-tree-7dfHsuw1.js +0 -230
  671. package/studio-dist/server/chunks/system-resolver2-Bzhue_zQ.js +0 -53
  672. package/studio-dist/server/chunks/tasks-SHX7UPGY.js +0 -19694
  673. package/studio-dist/server/chunks/tasks-schema2-CTMoQKQy.js +0 -42
  674. package/studio-dist/server/chunks/temporal-supersession-DP4GPG_B.js +0 -298
  675. package/studio-dist/server/chunks/token-cAhAD9f9.js +0 -139
  676. package/studio-dist/server/chunks/token-util-D6drEz8_.js +0 -353
  677. package/studio-dist/server/chunks/token-util2-8UPSGvbb.js +0 -97
  678. package/studio-dist/server/chunks/transcript-scanner-kJWhWmlg.js +0 -53
  679. package/studio-dist/server/chunks/transformers.node-_xbxmK5p.js +0 -38475
  680. package/studio-dist/server/chunks/typed-query-l1D_QElt.js +0 -18
  681. package/studio-dist/server/chunks/unique-constraint-BZrrwgwc.js +0 -88
  682. package/studio-dist/server/chunks/update-B2YVBZG0.js +0 -1594
  683. package/studio-dist/server/chunks/user-profile-B61ZhVmC.js +0 -89
  684. package/studio-dist/server/chunks/utils-BPSZyajG.js +0 -1176
  685. package/studio-dist/server/chunks/validation-rules-CE27rtoF.js +0 -44
  686. package/studio-dist/server/chunks/zod-DsAeKNLm.js +0 -141
  687. /package/studio-dist/client/_app/immutable/chunks/{CQCxd1p9.js → B8WnZMYa.js} +0 -0
  688. /package/studio-dist/client/_app/immutable/chunks/{D13Quv9e2.js → B_0_YCYG.js} +0 -0
  689. /package/studio-dist/client/_app/immutable/chunks/{djL6V-tr.js → CqgtdAx_.js} +0 -0
  690. /package/studio-dist/client/_app/immutable/chunks/{_FU7h_8p2.js → KrUPZzXZ.js} +0 -0
@@ -1,987 +0,0 @@
1
- import { T as TERMINAL_TASK_STATUSES, b as getLogger } from './paths-CV7S5-Zm.js';
2
- import { w as withWriteRetry } from './dual-scope-db-DKnWu1KM.js';
3
- import { a as getDb, b as getNativeTasksDb, c as closeDb, u as tasksEvidenceAcBindings, w as tasksTaskAcceptanceCriteriaHistory, x as tasksTaskAcceptanceCriteria, y as tasksTaskRelations, f as tasksTasks, h as tasksTaskDependencies, i as tasksTaskLabels, t as tasksSessions, e as auditLog, s as schemaMeta } from './sqlite-Bm5LzbPs.js';
4
- import { d as rowToTask, t as taskToRow, f as resolveCurrentSession, h as rowToSession, i as archivedTaskToRow } from './session-store--N_xHxUH.js';
5
- import { c as cleanupBrainRefsOnSessionDelete } from './cross-db-cleanup-1LWTUKPi.js';
6
- import { s as sql } from './utils-BPSZyajG.js';
7
- import { i as inArray, e as eq, a as and, n as ne, b as notInArray, c as isNull, o as or, l as like } from './query-promise-BkPmGPJy.js';
8
-
9
- //#region ../core/dist/store/db-helpers.js
10
- /**
11
- * Shared database helper functions for SQLite store modules.
12
- *
13
- * Consolidates upsert and dependency patterns used across
14
- * sqlite-data-accessor.ts, tasks-sqlite.ts, and session-store.ts.
15
- *
16
- * @epic T4454
17
- */
18
- var log = getLogger("db-helpers");
19
- /**
20
- * Upsert a single task row into the tasks table.
21
- * Handles both active task upsert and archived task upsert via optional archiveFields.
22
- *
23
- * When `allowOrphanParent` is true (bulk/migration mode, T5034): silently nulls out
24
- * parentId if the referenced parent does not exist, preventing FK violations.
25
- * When false (normal single-task writes, default): logs a warning but still proceeds
26
- * so that FK enforcement at the DB level provides the final safety net.
27
- *
28
- * Callers that perform bulk imports or archive restoration should pass
29
- * `allowOrphanParent: true` to enable the lenient behavior.
30
- */
31
- async function upsertTask(db, row, archiveFields, allowOrphanParent = false) {
32
- if (row.parentId) {
33
- if ((await db.select({ id: tasksTasks.id }).from(tasksTasks).where(eq(tasksTasks.id, row.parentId)).limit(1).all()).length === 0) if (allowOrphanParent) row = {
34
- ...row,
35
- parentId: null
36
- };
37
- else log.warn({
38
- taskId: row.id,
39
- parentId: row.parentId
40
- }, "upsertTask: parentId references a non-existent task — parent relationship may be lost");
41
- }
42
- const values = archiveFields ? {
43
- ...row,
44
- ...archiveFields,
45
- status: "archived"
46
- } : row;
47
- const set = {
48
- title: row.title,
49
- description: row.description,
50
- status: archiveFields ? "archived" : row.status,
51
- priority: row.priority,
52
- type: row.type,
53
- kind: row.kind,
54
- scope: row.scope,
55
- severity: row.severity,
56
- parentId: row.parentId,
57
- phase: row.phase,
58
- size: row.size,
59
- position: row.position,
60
- positionVersion: row.positionVersion,
61
- labelsJson: row.labelsJson,
62
- notesJson: row.notesJson,
63
- acceptanceJson: row.acceptanceJson,
64
- filesJson: row.filesJson,
65
- origin: row.origin,
66
- blockedBy: row.blockedBy,
67
- epicLifecycle: row.epicLifecycle,
68
- noAutoComplete: row.noAutoComplete,
69
- createdAt: row.createdAt,
70
- updatedAt: row.updatedAt,
71
- completedAt: row.completedAt,
72
- cancelledAt: row.cancelledAt,
73
- cancellationReason: row.cancellationReason,
74
- verificationJson: row.verificationJson,
75
- createdBy: row.createdBy,
76
- modifiedBy: row.modifiedBy,
77
- sessionId: row.sessionId,
78
- pipelineStage: row.pipelineStage ?? null,
79
- assignee: row.assignee ?? null,
80
- archivedAt: archiveFields?.archivedAt ?? null,
81
- archiveReason: archiveFields?.archiveReason ?? null,
82
- cycleTimeDays: archiveFields?.cycleTimeDays ?? null
83
- };
84
- await db.insert(tasksTasks).values(values).onConflictDoUpdate({
85
- target: tasksTasks.id,
86
- set
87
- }).run();
88
- await updateTaskLabels(db, row.id, parseLabels(row.labelsJson));
89
- }
90
- /**
91
- * Parse a `labels_json` text column into a deduplicated string-array.
92
- *
93
- * Invalid / non-array JSON yields an empty list — the junction is then emptied
94
- * for that task, matching the "no labels" state.
95
- *
96
- * @param labelsJson - The serialized JSON array from `tasks.labels_json`.
97
- * @returns Deduplicated, non-empty label strings.
98
- */
99
- function parseLabels(labelsJson) {
100
- if (!labelsJson) return [];
101
- try {
102
- const parsed = JSON.parse(labelsJson);
103
- if (!Array.isArray(parsed)) return [];
104
- const seen = /* @__PURE__ */ new Set();
105
- for (const l of parsed) if (typeof l === "string" && l.length > 0) seen.add(l);
106
- return [...seen];
107
- } catch {
108
- return [];
109
- }
110
- }
111
- /**
112
- * Replace the {@link schema.taskLabels} junction rows for one task so they
113
- * exactly mirror its label set (T11356).
114
- *
115
- * Delete-then-insert keeps the junction authoritative without read-modify-write
116
- * races: the prior label set is dropped and the supplied set re-inserted. Called
117
- * from {@link upsertTask} and from raw-SQL proposal inserters that bypass it.
118
- *
119
- * @param db - Drizzle tasks.db handle.
120
- * @param taskId - The owning task id.
121
- * @param labels - The full label set the junction should reflect.
122
- */
123
- async function updateTaskLabels(db, taskId, labels) {
124
- await db.delete(tasksTaskLabels).where(eq(tasksTaskLabels.taskId, taskId)).run();
125
- if (labels.length === 0) return;
126
- await db.insert(tasksTaskLabels).values(labels.map((label) => ({
127
- taskId,
128
- label
129
- }))).onConflictDoNothing().run();
130
- }
131
- /**
132
- * Upsert a single session row into the sessions table.
133
- */
134
- async function upsertSession(db, session) {
135
- const sessionName = session.name || `session-${session.id}`;
136
- const values = {
137
- id: session.id,
138
- name: sessionName,
139
- status: session.status,
140
- scopeJson: JSON.stringify(session.scope ?? { type: "global" }),
141
- currentTask: session.taskWork?.taskId ?? null,
142
- taskStartedAt: session.taskWork?.setAt ?? null,
143
- agent: session.agent ?? null,
144
- notesJson: session.notes ? JSON.stringify(session.notes) : "[]",
145
- tasksCompletedJson: session.tasksCompleted ? JSON.stringify(session.tasksCompleted) : "[]",
146
- tasksCreatedJson: session.tasksCreated ? JSON.stringify(session.tasksCreated) : "[]",
147
- handoffJson: session.handoffJson ?? null,
148
- startedAt: session.startedAt,
149
- endedAt: session.endedAt ?? null,
150
- previousSessionId: session.previousSessionId ?? null,
151
- nextSessionId: session.nextSessionId ?? null,
152
- parentSessionId: session.parentSessionId ?? null,
153
- agentIdentifier: session.agentIdentifier ?? null,
154
- handoffConsumedAt: session.handoffConsumedAt ?? null,
155
- handoffConsumedBy: session.handoffConsumedBy ?? null,
156
- debriefJson: session.debriefJson ?? null,
157
- statsJson: session.stats ? JSON.stringify(session.stats) : null,
158
- resumeCount: session.resumeCount ?? null,
159
- gradeMode: session.gradeMode ? true : null,
160
- agentHandle: session.agentHandle ?? null,
161
- scopeKind: session.scopeKind ?? null,
162
- scopeId: session.scopeId ?? null,
163
- lastActivity: session.lastActivity ?? null
164
- };
165
- const { id: _id, ...setFields } = values;
166
- await db.insert(tasksSessions).values(values).onConflictDoUpdate({
167
- target: tasksSessions.id,
168
- set: setFields
169
- }).run();
170
- }
171
- /**
172
- * Update dependencies for a task: delete existing, then re-insert.
173
- * Optionally filters by a set of valid IDs.
174
- */
175
- async function updateDependencies(db, taskId, depends, validIds) {
176
- await db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.taskId, taskId)).run();
177
- for (const depId of depends) await db.insert(tasksTaskDependencies).values({
178
- taskId,
179
- dependsOn: depId
180
- }).onConflictDoNothing().run();
181
- }
182
- /**
183
- * Batch-update dependencies for multiple tasks in two bulk SQL operations.
184
- * Replaces per-task updateDependencies() loops with:
185
- * 1. Single DELETE for all task IDs
186
- * 2. Single INSERT for all dependency rows
187
- *
188
- * Callers are responsible for wrapping this in a transaction if needed.
189
- */
190
- async function batchUpdateDependencies(db, tasks, validIds) {
191
- if (tasks.length === 0) return;
192
- const allTaskIds = tasks.map((t) => t.taskId);
193
- await db.delete(tasksTaskDependencies).where(inArray(tasksTaskDependencies.taskId, allTaskIds)).run();
194
- const allDepRows = [];
195
- for (const { taskId, deps } of tasks) for (const depId of deps) if (!validIds || validIds.has(depId)) allDepRows.push({
196
- taskId,
197
- dependsOn: depId
198
- });
199
- if (allDepRows.length > 0) await db.insert(tasksTaskDependencies).values(allDepRows).onConflictDoNothing().run();
200
- }
201
- /**
202
- * Batch-load dependencies for a list of tasks and apply them in-place.
203
- * Uses inArray for efficient querying. Optionally filters by a set of valid IDs.
204
- */
205
- async function loadDependenciesForTasks(db, tasks, validationIds) {
206
- if (tasks.length === 0) return;
207
- const taskIds = tasks.map((t) => t.id);
208
- const taskIdSet = validationIds ?? new Set(taskIds);
209
- const allDeps = await db.select().from(tasksTaskDependencies).where(inArray(tasksTaskDependencies.taskId, taskIds)).all();
210
- const depMap = /* @__PURE__ */ new Map();
211
- for (const dep of allDeps) if (taskIdSet.has(dep.dependsOn)) {
212
- let arr = depMap.get(dep.taskId);
213
- if (!arr) {
214
- arr = [];
215
- depMap.set(dep.taskId, arr);
216
- }
217
- arr.push(dep.dependsOn);
218
- }
219
- for (const task of tasks) {
220
- const deps = depMap.get(task.id);
221
- if (deps && deps.length > 0) task.depends = deps;
222
- }
223
- }
224
- /**
225
- * Batch-load relations for a list of tasks and apply them in-place.
226
- * Mirrors loadDependenciesForTasks pattern for task_relations table (T5168).
227
- */
228
- async function loadRelationsForTasks(db, tasks) {
229
- if (tasks.length === 0) return;
230
- const taskIds = tasks.map((t) => t.id);
231
- const allRels = await db.select().from(tasksTaskRelations).where(inArray(tasksTaskRelations.taskId, taskIds)).all();
232
- const relMap = /* @__PURE__ */ new Map();
233
- for (const rel of allRels) {
234
- let arr = relMap.get(rel.taskId);
235
- if (!arr) {
236
- arr = [];
237
- relMap.set(rel.taskId, arr);
238
- }
239
- arr.push({
240
- taskId: rel.relatedTo,
241
- type: rel.relationType,
242
- reason: rel.reason ?? void 0
243
- });
244
- }
245
- for (const task of tasks) {
246
- const relations = relMap.get(task.id);
247
- task.relates = relations && relations.length > 0 ? relations : [];
248
- }
249
- }
250
- //#endregion
251
- //#region ../core/dist/store/sqlite-data-accessor.js
252
- /**
253
- * SQLite-based implementation of the DataAccessor interface.
254
- *
255
- * Materializes TaskFile/ArchiveFile/SessionsFile from SQLite tables,
256
- * allowing core modules to continue using whole-file data structures
257
- * while storage is backed by the relational database.
258
- *
259
- * Uses existing sqlite.ts engine (node:sqlite / drizzle-orm) and
260
- * tasks-sqlite.ts / session-store.ts for row-level operations.
261
- *
262
- * @epic T4454
263
- */
264
- /**
265
- * Per-process monotonic counter for unique nested SAVEPOINT names (T9814).
266
- * Only used when DataAccessor.transaction() is called from within an
267
- * already-open outer transaction (depth > 0). Outer transactions use
268
- * BEGIN IMMEDIATE/COMMIT/ROLLBACK (depth = 0).
269
- */
270
- var _txSavepointCounter = 0;
271
- /**
272
- * Generate a unique audit log entry ID.
273
- * @task T4837
274
- */
275
- function generateAuditLogId() {
276
- return `log-${Math.floor(Date.now() / 1e3)}-${Math.random().toString(36).slice(2, 8)}`;
277
- }
278
- /**
279
- * Run `fn` inside an outermost `BEGIN IMMEDIATE` transaction, wrapped
280
- * in {@link withWriteRetry} so SQLITE_BUSY contention is absorbed at the
281
- * transaction boundary rather than mid-statement.
282
- *
283
- * - Acquires a RESERVED lock immediately so concurrent writers queue
284
- * politely (or fall through to retry after `busy_timeout` expires).
285
- * - Commits on success; rolls back on any thrown error before
286
- * propagating it. If the thrown error is SQLITE_BUSY,
287
- * {@link withWriteRetry} re-runs the WHOLE function (BEGIN included)
288
- * after backoff — better-sqlite3 / node:sqlite forbids nesting
289
- * `BEGIN IMMEDIATE` inside an open transaction, so retry MUST start
290
- * from this outer boundary.
291
- *
292
- * DO NOT call this from inside an already-open transaction. For nested
293
- * writes use `accessor.transaction()` which uses SAVEPOINTs (T9814).
294
- *
295
- * @bug gh-391 — SQLITE_BUSY contention on parallel writes.
296
- * @task T9839
297
- */
298
- async function runInImmediateTx(nativeDb, fn) {
299
- return withWriteRetry(async () => {
300
- nativeDb.prepare("BEGIN IMMEDIATE").run();
301
- try {
302
- const result = await fn();
303
- nativeDb.prepare("COMMIT").run();
304
- return result;
305
- } catch (err) {
306
- try {
307
- nativeDb.prepare("ROLLBACK").run();
308
- } catch {}
309
- throw err;
310
- }
311
- });
312
- }
313
- /** Read a JSON blob from the schema_meta table by key. */
314
- async function getMetaValue(cwd, key) {
315
- const rows = await (await getDb(cwd)).select().from(schemaMeta).where(eq(schemaMeta.key, key)).all();
316
- if (rows.length === 0 || !rows[0]) return null;
317
- try {
318
- return JSON.parse(rows[0].value);
319
- } catch {
320
- return null;
321
- }
322
- }
323
- /** Write a JSON blob to the schema_meta table by key. */
324
- async function setMetaValue(cwd, key, value) {
325
- const db = await getDb(cwd);
326
- const json = JSON.stringify(value);
327
- await db.insert(schemaMeta).values({
328
- key,
329
- value: json
330
- }).onConflictDoUpdate({
331
- target: schemaMeta.key,
332
- set: { value: json }
333
- }).run();
334
- }
335
- /**
336
- * Create a SQLite-backed DataAccessor.
337
- *
338
- * Opens (or creates) the SQLite database at `.cleo/tasks.db` and returns
339
- * a DataAccessor that materializes/dematerializes whole-file structures
340
- * from the relational tables.
341
- *
342
- * @param cwd - Working directory for path resolution (defaults to process.cwd())
343
- */
344
- async function createSqliteDataAccessor(cwd) {
345
- await getDb(cwd);
346
- /** Load all task IDs for cross-task dependency validation. */
347
- async function getAllTaskIds() {
348
- const rows = await (await getDb(cwd)).select({ id: tasksTasks.id }).from(tasksTasks).all();
349
- return new Set(rows.map((r) => r.id));
350
- }
351
- let _txDepth = 0;
352
- const accessor = {
353
- engine: "sqlite",
354
- async loadArchive() {
355
- const db = await getDb(cwd);
356
- const archivedRows = await db.select().from(tasksTasks).where(eq(tasksTasks.status, "archived")).all();
357
- if (archivedRows.length === 0) return null;
358
- const archivedTasks = archivedRows.map((row) => {
359
- return {
360
- ...rowToTask(row),
361
- archivedAt: row.archivedAt ?? void 0,
362
- archiveReason: row.archiveReason ?? void 0,
363
- cycleTimeDays: row.cycleTimeDays ?? void 0
364
- };
365
- });
366
- if (archivedTasks.length > 0) {
367
- const activeRows = await db.select({ id: tasksTasks.id }).from(tasksTasks).where(ne(tasksTasks.status, "archived")).all();
368
- await loadDependenciesForTasks(db, archivedTasks, new Set([...archivedTasks.map((t) => t.id), ...activeRows.map((r) => r.id)]));
369
- await loadRelationsForTasks(db, archivedTasks);
370
- }
371
- return {
372
- archivedTasks,
373
- version: "1.0.0"
374
- };
375
- },
376
- async saveArchive(data) {
377
- const db = await getDb(cwd);
378
- const archiveIds = new Set(data.archivedTasks.map((t) => t.id));
379
- const activeRows = await db.select({ id: tasksTasks.id }).from(tasksTasks).where(ne(tasksTasks.status, "archived")).all();
380
- const validDepIds = new Set([...archiveIds, ...activeRows.map((r) => r.id)]);
381
- const nativeDb = getNativeTasksDb();
382
- if (!nativeDb) throw new Error("Native database not initialized");
383
- await runInImmediateTx(nativeDb, async () => {
384
- const depBatch = [];
385
- for (const task of data.archivedTasks) {
386
- const row = archivedTaskToRow(task);
387
- const taskAny = task;
388
- await upsertTask(db, row, {
389
- archivedAt: taskAny.archivedAt ?? row.completedAt ?? (/* @__PURE__ */ new Date()).toISOString(),
390
- archiveReason: taskAny.archiveReason ?? "completed-unverified",
391
- cycleTimeDays: taskAny.cycleTimeDays ?? null
392
- }, true);
393
- depBatch.push({
394
- taskId: task.id,
395
- deps: task.depends ?? []
396
- });
397
- }
398
- await batchUpdateDependencies(db, depBatch, validDepIds);
399
- });
400
- },
401
- async loadSessions() {
402
- return (await (await getDb(cwd)).select().from(tasksSessions).all()).map(rowToSession);
403
- },
404
- async saveSessions(sessions) {
405
- const db = await getDb(cwd);
406
- const existingRows = await db.select({ id: tasksSessions.id }).from(tasksSessions).all();
407
- const existingIds = new Set(existingRows.map((r) => r.id));
408
- const incomingIds = new Set(sessions.map((s) => s.id));
409
- for (const eid of existingIds) if (!incomingIds.has(eid)) await db.delete(tasksSessions).where(eq(tasksSessions.id, eid)).run();
410
- for (const session of sessions) await upsertSession(db, session);
411
- },
412
- async appendLog(entry) {
413
- const db = await getDb(cwd);
414
- await withWriteRetry(() => db.insert(auditLog).values({
415
- id: entry.id ?? generateAuditLogId(),
416
- timestamp: entry.timestamp ?? (/* @__PURE__ */ new Date()).toISOString(),
417
- action: entry.action ?? entry.operation ?? "unknown",
418
- taskId: entry.taskId ?? "unknown",
419
- actor: entry.actor ?? "system",
420
- detailsJson: entry.details ? JSON.stringify(entry.details) : "{}",
421
- beforeJson: entry.before ? JSON.stringify(entry.before) : null,
422
- afterJson: entry.after ? JSON.stringify(entry.after) : null
423
- }).run());
424
- },
425
- async queryAuditLog(query) {
426
- const db = await getDb(cwd);
427
- const conditions = [];
428
- if (query.taskIds && query.taskIds.length > 0) conditions.push(inArray(auditLog.taskId, [...query.taskIds]));
429
- if (query.actions && query.actions.length > 0) conditions.push(inArray(auditLog.action, [...query.actions]));
430
- if (query.since) conditions.push(sql`${auditLog.timestamp} >= ${query.since}`);
431
- const limit = Math.max(1, Math.floor(query.limit ?? 100));
432
- return (await db.select({
433
- id: auditLog.id,
434
- timestamp: auditLog.timestamp,
435
- action: auditLog.action,
436
- taskId: auditLog.taskId,
437
- actor: auditLog.actor,
438
- detailsJson: auditLog.detailsJson,
439
- beforeJson: auditLog.beforeJson,
440
- afterJson: auditLog.afterJson
441
- }).from(auditLog).where(conditions.length > 0 ? and(...conditions) : void 0).orderBy(sql`${auditLog.timestamp} DESC`).limit(limit).all()).map((row) => ({
442
- id: row.id,
443
- timestamp: row.timestamp,
444
- action: row.action,
445
- taskId: row.taskId,
446
- actor: row.actor,
447
- detailsJson: row.detailsJson ?? null,
448
- beforeJson: row.beforeJson ?? null,
449
- afterJson: row.afterJson ?? null
450
- }));
451
- },
452
- async upsertSingleTask(task) {
453
- const db = await getDb(cwd);
454
- const row = taskToRow(task);
455
- await withWriteRetry(async () => {
456
- await upsertTask(db, row);
457
- await updateDependencies(db, task.id, task.depends ?? []);
458
- });
459
- },
460
- async addRelation(taskId, relatedTo, relationType, reason) {
461
- const db = await getDb(cwd);
462
- const validTypes = [
463
- "related",
464
- "blocks",
465
- "duplicates",
466
- "absorbs",
467
- "fixes",
468
- "extends",
469
- "supersedes",
470
- "groups"
471
- ];
472
- if (!validTypes.includes(relationType)) throw new Error(`Invalid relation type: ${relationType}. Valid types: ${validTypes.join(", ")}`);
473
- await withWriteRetry(() => db.insert(tasksTaskRelations).values({
474
- taskId,
475
- relatedTo,
476
- relationType,
477
- reason: reason ?? null
478
- }).onConflictDoNothing().run());
479
- },
480
- async removeRelation(taskId, relatedTo, relationType) {
481
- const db = await getDb(cwd);
482
- const conditions = [eq(tasksTaskRelations.taskId, taskId), eq(tasksTaskRelations.relatedTo, relatedTo)];
483
- if (relationType !== void 0) {
484
- const validTypes = [
485
- "related",
486
- "blocks",
487
- "duplicates",
488
- "absorbs",
489
- "fixes",
490
- "extends",
491
- "supersedes",
492
- "groups"
493
- ];
494
- if (!validTypes.includes(relationType)) throw new Error(`Invalid relation type: ${relationType}. Valid types: ${validTypes.join(", ")}`);
495
- conditions.push(eq(tasksTaskRelations.relationType, relationType));
496
- }
497
- await withWriteRetry(() => db.delete(tasksTaskRelations).where(and(...conditions)).run());
498
- },
499
- async getAcRows(taskId) {
500
- return (await (await getDb(cwd)).select({
501
- id: tasksTaskAcceptanceCriteria.id,
502
- taskId: tasksTaskAcceptanceCriteria.taskId,
503
- ordinal: tasksTaskAcceptanceCriteria.ordinal,
504
- kind: tasksTaskAcceptanceCriteria.kind,
505
- sourceKey: tasksTaskAcceptanceCriteria.sourceKey,
506
- targetTaskId: tasksTaskAcceptanceCriteria.targetTaskId,
507
- projection: tasksTaskAcceptanceCriteria.projection,
508
- text: tasksTaskAcceptanceCriteria.text,
509
- createdAt: tasksTaskAcceptanceCriteria.createdAt,
510
- updatedAt: tasksTaskAcceptanceCriteria.updatedAt,
511
- contentHash: tasksTaskAcceptanceCriteria.contentHash
512
- }).from(tasksTaskAcceptanceCriteria).where(eq(tasksTaskAcceptanceCriteria.taskId, taskId)).orderBy(tasksTaskAcceptanceCriteria.ordinal).all()).map((r) => ({
513
- id: r.id,
514
- taskId: r.taskId,
515
- ordinal: r.ordinal,
516
- kind: r.kind,
517
- sourceKey: r.sourceKey ?? `text:${r.ordinal}`,
518
- targetTaskId: r.targetTaskId ?? null,
519
- projection: r.projection,
520
- text: r.text,
521
- createdAt: r.createdAt,
522
- updatedAt: r.updatedAt ?? null,
523
- contentHash: r.contentHash ?? null
524
- }));
525
- },
526
- async getAcBindings(acIds) {
527
- if (acIds.length === 0) return [];
528
- return (await (await getDb(cwd)).select({
529
- id: tasksEvidenceAcBindings.id,
530
- evidenceAtomId: tasksEvidenceAcBindings.evidenceAtomId,
531
- acId: tasksEvidenceAcBindings.acId,
532
- bindingType: tasksEvidenceAcBindings.bindingType,
533
- createdAt: tasksEvidenceAcBindings.createdAt
534
- }).from(tasksEvidenceAcBindings).where(inArray(tasksEvidenceAcBindings.acId, acIds)).all()).map((r) => ({
535
- id: r.id,
536
- evidenceAtomId: r.evidenceAtomId,
537
- acId: r.acId,
538
- bindingType: r.bindingType,
539
- createdAt: r.createdAt
540
- }));
541
- },
542
- async archiveSingleTask(taskId, fields) {
543
- const db = await getDb(cwd);
544
- if ((await db.select({ id: tasksTasks.id }).from(tasksTasks).where(eq(tasksTasks.id, taskId)).all()).length === 0) return;
545
- await withWriteRetry(() => db.update(tasksTasks).set({
546
- status: "archived",
547
- archivedAt: fields.archivedAt ?? (/* @__PURE__ */ new Date()).toISOString(),
548
- archiveReason: fields.archiveReason ?? "completed-unverified",
549
- cycleTimeDays: fields.cycleTimeDays ?? null,
550
- updatedAt: (/* @__PURE__ */ new Date()).toISOString()
551
- }).where(eq(tasksTasks.id, taskId)).run());
552
- },
553
- async removeSingleTask(taskId) {
554
- const db = await getDb(cwd);
555
- await withWriteRetry(async () => {
556
- await db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.taskId, taskId)).run();
557
- await db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.dependsOn, taskId)).run();
558
- await db.delete(tasksTasks).where(eq(tasksTasks.id, taskId)).run();
559
- });
560
- },
561
- async loadSingleTask(taskId) {
562
- const db = await getDb(cwd);
563
- const rows = await db.select().from(tasksTasks).where(eq(tasksTasks.id, taskId)).limit(1).all();
564
- if (rows.length === 0 || !rows[0]) return null;
565
- const task = rowToTask(rows[0]);
566
- const allIdRows = await db.select({ id: tasksTasks.id }).from(tasksTasks).all();
567
- const allIds = new Set(allIdRows.map((r) => r.id));
568
- await loadDependenciesForTasks(db, [task], allIds);
569
- await loadRelationsForTasks(db, [task]);
570
- return task;
571
- },
572
- async getActiveSession() {
573
- const rows = await (await getDb(cwd)).select().from(tasksSessions).where(eq(tasksSessions.status, "active")).orderBy(sql`${tasksSessions.startedAt} DESC`).limit(1).all();
574
- if (rows.length === 0 || !rows[0]) return null;
575
- return rowToSession(rows[0]);
576
- },
577
- async resolveCurrentSession() {
578
- return resolveCurrentSession(cwd);
579
- },
580
- async upsertSingleSession(session) {
581
- await upsertSession(await getDb(cwd), session);
582
- },
583
- async removeSingleSession(sessionId) {
584
- await (await getDb(cwd)).delete(tasksSessions).where(eq(tasksSessions.id, sessionId)).run();
585
- cleanupBrainRefsOnSessionDelete(sessionId, cwd);
586
- },
587
- async queryTasks(filters) {
588
- const db = await getDb(cwd);
589
- const conditions = [];
590
- if (filters.status) {
591
- const statuses = Array.isArray(filters.status) ? filters.status : [filters.status];
592
- if (!statuses.includes("archived")) conditions.push(ne(tasksTasks.status, "archived"));
593
- conditions.push(inArray(tasksTasks.status, statuses));
594
- } else if (filters.excludeStatus) {
595
- const excluded = Array.isArray(filters.excludeStatus) ? filters.excludeStatus : [filters.excludeStatus];
596
- for (const s of excluded) conditions.push(ne(tasksTasks.status, s));
597
- } else conditions.push(ne(tasksTasks.status, "archived"));
598
- if (filters.priority) conditions.push(eq(tasksTasks.priority, filters.priority));
599
- if (filters.type) conditions.push(eq(tasksTasks.type, filters.type));
600
- if (filters.phase) conditions.push(eq(tasksTasks.phase, filters.phase));
601
- if (filters.severity) {
602
- const severities = Array.isArray(filters.severity) ? filters.severity : [filters.severity];
603
- conditions.push(inArray(tasksTasks.severity, severities));
604
- }
605
- if (filters.kind) {
606
- const kinds = Array.isArray(filters.kind) ? filters.kind : [filters.kind];
607
- conditions.push(inArray(tasksTasks.kind, kinds));
608
- }
609
- if (filters.parentId !== void 0) if (filters.parentId === null) conditions.push(isNull(tasksTasks.parentId));
610
- else conditions.push(eq(tasksTasks.parentId, filters.parentId));
611
- if (filters.search) {
612
- const pattern = `%${filters.search}%`;
613
- conditions.push(or(like(tasksTasks.title, pattern), like(tasksTasks.description, pattern), like(tasksTasks.id, pattern)));
614
- }
615
- if (filters.label) {
616
- const labelMatchIds = db.select({ taskId: tasksTaskLabels.taskId }).from(tasksTaskLabels).where(eq(tasksTaskLabels.label, filters.label));
617
- conditions.push(inArray(tasksTasks.id, labelMatchIds));
618
- }
619
- const where = conditions.length > 0 ? and(...conditions) : void 0;
620
- const total = (await db.select({ count: sql`count(*)` }).from(tasksTasks).where(where).get())?.count ?? 0;
621
- let orderClause;
622
- switch (filters.orderBy) {
623
- case "createdAt":
624
- orderClause = sql`${tasksTasks.createdAt} ASC`;
625
- break;
626
- case "updatedAt":
627
- orderClause = sql`${tasksTasks.updatedAt} DESC NULLS LAST`;
628
- break;
629
- case "priority":
630
- orderClause = sql`CASE ${tasksTasks.priority}
631
- WHEN 'critical' THEN 0 WHEN 'high' THEN 1
632
- WHEN 'medium' THEN 2 WHEN 'low' THEN 3 ELSE 4 END ASC`;
633
- break;
634
- default: orderClause = sql`${tasksTasks.position} ASC, ${tasksTasks.createdAt} ASC`;
635
- }
636
- let query = db.select().from(tasksTasks).where(where).orderBy(orderClause);
637
- if (filters.limit !== void 0) query = query.limit(filters.limit);
638
- if (filters.offset !== void 0) query = query.offset(filters.offset);
639
- const tasks = (await query.all()).map(rowToTask);
640
- if (tasks.length > 0) {
641
- await loadDependenciesForTasks(db, tasks, await getAllTaskIds());
642
- await loadRelationsForTasks(db, tasks);
643
- }
644
- return {
645
- tasks,
646
- total
647
- };
648
- },
649
- async countTasks(filters) {
650
- const db = await getDb(cwd);
651
- const conditions = [];
652
- if (filters?.status) {
653
- const statuses = Array.isArray(filters.status) ? filters.status : [filters.status];
654
- conditions.push(inArray(tasksTasks.status, statuses));
655
- } else conditions.push(ne(tasksTasks.status, "archived"));
656
- if (filters?.parentId) conditions.push(eq(tasksTasks.parentId, filters.parentId));
657
- const where = conditions.length > 0 ? and(...conditions) : void 0;
658
- return (await db.select({ count: sql`count(*)` }).from(tasksTasks).where(where).get())?.count ?? 0;
659
- },
660
- async getChildren(parentId) {
661
- const db = await getDb(cwd);
662
- const tasks = (await db.select().from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), ne(tasksTasks.status, "archived"))).orderBy(sql`${tasksTasks.position} ASC, ${tasksTasks.createdAt} ASC`).all()).map(rowToTask);
663
- if (tasks.length > 0) {
664
- await loadDependenciesForTasks(db, tasks, await getAllTaskIds());
665
- await loadRelationsForTasks(db, tasks);
666
- }
667
- return tasks;
668
- },
669
- async countChildren(parentId) {
670
- return (await (await getDb(cwd)).select({ count: sql`count(*)` }).from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), ne(tasksTasks.status, "archived"))).get())?.count ?? 0;
671
- },
672
- async countActiveChildren(parentId) {
673
- return (await (await getDb(cwd)).select({ count: sql`count(*)` }).from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), notInArray(tasksTasks.status, [...TERMINAL_TASK_STATUSES]))).get())?.count ?? 0;
674
- },
675
- async getAncestorChain(taskId) {
676
- const nativeDb = getNativeTasksDb();
677
- if (!nativeDb) return [];
678
- const idRows = nativeDb.prepare(`WITH RECURSIVE ancestor_ids(id, depth) AS (
679
- SELECT parent_id, 0 FROM tasks_tasks WHERE id = ? AND parent_id IS NOT NULL
680
- UNION ALL
681
- SELECT t.parent_id, a.depth + 1 FROM tasks_tasks t
682
- JOIN ancestor_ids a ON t.id = a.id
683
- WHERE t.parent_id IS NOT NULL
684
- )
685
- SELECT id FROM ancestor_ids ORDER BY depth DESC`).all(taskId);
686
- if (idRows.length === 0) return [];
687
- const db = await getDb(cwd);
688
- const ids = idRows.map((r) => r.id);
689
- const tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, ids)).all()).map(rowToTask);
690
- if (tasks.length > 0) {
691
- await loadDependenciesForTasks(db, tasks, await getAllTaskIds());
692
- await loadRelationsForTasks(db, tasks);
693
- }
694
- const orderMap = new Map(ids.map((id, i) => [id, i]));
695
- tasks.sort((a, b) => (orderMap.get(a.id) ?? 0) - (orderMap.get(b.id) ?? 0));
696
- return tasks;
697
- },
698
- async getSubtree(rootId) {
699
- const nativeDb = getNativeTasksDb();
700
- if (!nativeDb) return [];
701
- const idRows = nativeDb.prepare(`WITH RECURSIVE subtree AS (
702
- SELECT id FROM tasks_tasks WHERE id = ?
703
- UNION ALL
704
- SELECT t.id FROM tasks_tasks t
705
- JOIN subtree s ON t.parent_id = s.id
706
- )
707
- SELECT id FROM subtree`).all(rootId);
708
- if (idRows.length === 0) return [];
709
- const db = await getDb(cwd);
710
- const ids = idRows.map((r) => r.id);
711
- const tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, ids)).all()).map(rowToTask);
712
- if (tasks.length > 0) {
713
- await loadDependenciesForTasks(db, tasks, await getAllTaskIds());
714
- await loadRelationsForTasks(db, tasks);
715
- }
716
- return tasks;
717
- },
718
- async getDependents(taskId) {
719
- const db = await getDb(cwd);
720
- const depRows = await db.select().from(tasksTaskDependencies).where(eq(tasksTaskDependencies.dependsOn, taskId)).all();
721
- if (depRows.length === 0) return [];
722
- const dependentIds = depRows.map((r) => r.taskId);
723
- const tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, dependentIds)).all()).map(rowToTask);
724
- if (tasks.length > 0) {
725
- await loadDependenciesForTasks(db, tasks, await getAllTaskIds());
726
- await loadRelationsForTasks(db, tasks);
727
- }
728
- return tasks;
729
- },
730
- async getDependencyChain(taskId) {
731
- const nativeDb = getNativeTasksDb();
732
- if (!nativeDb) return [];
733
- return nativeDb.prepare(`WITH RECURSIVE dep_chain(id) AS (
734
- SELECT depends_on FROM tasks_task_dependencies WHERE task_id = ?
735
- UNION
736
- SELECT td.depends_on FROM tasks_task_dependencies td
737
- JOIN dep_chain dc ON td.task_id = dc.id
738
- )
739
- SELECT id FROM dep_chain`).all(taskId).map((r) => r.id);
740
- },
741
- async taskExists(taskId) {
742
- return !!await (await getDb(cwd)).select({ id: tasksTasks.id }).from(tasksTasks).where(eq(tasksTasks.id, taskId)).limit(1).get();
743
- },
744
- async loadTasks(taskIds) {
745
- if (taskIds.length === 0) return [];
746
- const db = await getDb(cwd);
747
- const tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, taskIds)).all()).map(rowToTask);
748
- if (tasks.length > 0) {
749
- await loadDependenciesForTasks(db, tasks, await getAllTaskIds());
750
- await loadRelationsForTasks(db, tasks);
751
- }
752
- return tasks;
753
- },
754
- async getNextPosition(parentId) {
755
- const nativeDb = getNativeTasksDb();
756
- if (!nativeDb) throw new Error("Native database not initialized");
757
- return (parentId === null ? nativeDb.prepare(`SELECT COALESCE(MAX(position), 0) + 1 AS next_pos FROM tasks_tasks WHERE parent_id IS NULL AND status != 'archived'`).get() : nativeDb.prepare(`SELECT COALESCE(MAX(position), 0) + 1 AS next_pos FROM tasks_tasks WHERE parent_id = ? AND status != 'archived'`).get(parentId))?.next_pos ?? 1;
758
- },
759
- async shiftPositions(parentId, fromPosition, delta) {
760
- const nativeDb = getNativeTasksDb();
761
- if (!nativeDb) throw new Error("Native database not initialized");
762
- if (parentId === null) nativeDb.prepare(`UPDATE tasks_tasks SET position = position + ?, position_version = position_version + 1, updated_at = ? WHERE parent_id IS NULL AND position >= ? AND status != 'archived'`).run(delta, (/* @__PURE__ */ new Date()).toISOString(), fromPosition);
763
- else nativeDb.prepare(`UPDATE tasks_tasks SET position = position + ?, position_version = position_version + 1, updated_at = ? WHERE parent_id = ? AND position >= ? AND status != 'archived'`).run(delta, (/* @__PURE__ */ new Date()).toISOString(), parentId, fromPosition);
764
- },
765
- async updateTaskFields(taskId, fields) {
766
- const db = await getDb(cwd);
767
- const updateRow = { updatedAt: fields.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString() };
768
- for (const [key, col] of [
769
- ["title", "title"],
770
- ["description", "description"],
771
- ["status", "status"],
772
- ["priority", "priority"],
773
- ["type", "type"],
774
- ["parentId", "parentId"],
775
- ["phase", "phase"],
776
- ["size", "size"],
777
- ["position", "position"],
778
- ["positionVersion", "positionVersion"],
779
- ["labelsJson", "labelsJson"],
780
- ["notesJson", "notesJson"],
781
- ["acceptanceJson", "acceptanceJson"],
782
- ["filesJson", "filesJson"],
783
- ["origin", "origin"],
784
- ["blockedBy", "blockedBy"],
785
- ["epicLifecycle", "epicLifecycle"],
786
- ["noAutoComplete", "noAutoComplete"],
787
- ["completedAt", "completedAt"],
788
- ["cancelledAt", "cancelledAt"],
789
- ["cancellationReason", "cancellationReason"],
790
- ["verificationJson", "verificationJson"],
791
- ["createdBy", "createdBy"],
792
- ["modifiedBy", "modifiedBy"],
793
- ["sessionId", "sessionId"],
794
- ["assignee", "assignee"],
795
- ["pipelineStage", "pipelineStage"]
796
- ]) if (fields[key] !== void 0) updateRow[col] = fields[key];
797
- await withWriteRetry(() => db.update(tasksTasks).set(updateRow).where(eq(tasksTasks.id, taskId)).run());
798
- },
799
- async transaction(fn) {
800
- const db = await getDb(cwd);
801
- const nativeDb = getNativeTasksDb(cwd);
802
- if (!nativeDb) throw new Error("Native database not initialized");
803
- const isOuter = _txDepth === 0;
804
- const spName = isOuter ? null : `_cleo_tx_${(_txSavepointCounter++).toString(36)}`;
805
- if (isOuter) nativeDb.prepare("BEGIN IMMEDIATE").run();
806
- else nativeDb.prepare(`SAVEPOINT ${spName}`).run();
807
- _txDepth++;
808
- try {
809
- const result = await fn({
810
- async upsertSingleTask(task) {
811
- await upsertTask(db, taskToRow(task));
812
- await updateDependencies(db, task.id, task.depends ?? []);
813
- },
814
- async archiveSingleTask(taskId, fields) {
815
- await db.update(tasksTasks).set({
816
- status: "archived",
817
- archivedAt: fields.archivedAt ?? (/* @__PURE__ */ new Date()).toISOString(),
818
- archiveReason: fields.archiveReason ?? "completed-unverified",
819
- cycleTimeDays: fields.cycleTimeDays ?? null,
820
- updatedAt: (/* @__PURE__ */ new Date()).toISOString()
821
- }).where(eq(tasksTasks.id, taskId)).run();
822
- },
823
- async removeSingleTask(taskId) {
824
- await db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.taskId, taskId)).run();
825
- await db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.dependsOn, taskId)).run();
826
- await db.delete(tasksTasks).where(eq(tasksTasks.id, taskId)).run();
827
- },
828
- async setMetaValue(key, value) {
829
- await setMetaValue(cwd, key, value);
830
- },
831
- async updateTaskFields(taskId, flds) {
832
- await accessor.updateTaskFields(taskId, flds);
833
- },
834
- async getChildren(parentId) {
835
- return (await db.select().from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), ne(tasksTasks.status, "archived"))).orderBy(sql`${tasksTasks.position} ASC, ${tasksTasks.createdAt} ASC`).all()).map(rowToTask);
836
- },
837
- async appendLog(entry) {
838
- await accessor.appendLog(entry);
839
- },
840
- async addRelation(taskId, relatedTo, relationType, reason) {
841
- await accessor.addRelation(taskId, relatedTo, relationType, reason);
842
- },
843
- async removeRelation(taskId, relatedTo, relationType) {
844
- await accessor.removeRelation(taskId, relatedTo, relationType);
845
- },
846
- async clearRelations(taskId) {
847
- await db.delete(tasksTaskRelations).where(eq(tasksTaskRelations.taskId, taskId)).run();
848
- },
849
- async insertAcRows(rows) {
850
- if (rows.length === 0) return;
851
- await db.insert(tasksTaskAcceptanceCriteria).values(rows.map((r) => ({
852
- id: r.id,
853
- taskId: r.taskId,
854
- ordinal: r.ordinal,
855
- kind: r.kind ?? "text",
856
- sourceKey: r.sourceKey ?? `text:${r.ordinal}`,
857
- targetTaskId: r.targetTaskId ?? null,
858
- projection: r.projection ?? "legacy",
859
- text: r.text,
860
- contentHash: r.contentHash ?? null
861
- }))).run();
862
- },
863
- async getAcRows(taskId) {
864
- return (await db.select({
865
- id: tasksTaskAcceptanceCriteria.id,
866
- taskId: tasksTaskAcceptanceCriteria.taskId,
867
- ordinal: tasksTaskAcceptanceCriteria.ordinal,
868
- kind: tasksTaskAcceptanceCriteria.kind,
869
- sourceKey: tasksTaskAcceptanceCriteria.sourceKey,
870
- targetTaskId: tasksTaskAcceptanceCriteria.targetTaskId,
871
- projection: tasksTaskAcceptanceCriteria.projection,
872
- text: tasksTaskAcceptanceCriteria.text,
873
- createdAt: tasksTaskAcceptanceCriteria.createdAt,
874
- updatedAt: tasksTaskAcceptanceCriteria.updatedAt,
875
- contentHash: tasksTaskAcceptanceCriteria.contentHash
876
- }).from(tasksTaskAcceptanceCriteria).where(eq(tasksTaskAcceptanceCriteria.taskId, taskId)).orderBy(tasksTaskAcceptanceCriteria.ordinal).all()).map((r) => ({
877
- id: r.id,
878
- taskId: r.taskId,
879
- ordinal: r.ordinal,
880
- kind: r.kind,
881
- sourceKey: r.sourceKey ?? `text:${r.ordinal}`,
882
- targetTaskId: r.targetTaskId ?? null,
883
- projection: r.projection,
884
- text: r.text,
885
- createdAt: r.createdAt,
886
- updatedAt: r.updatedAt ?? null,
887
- contentHash: r.contentHash ?? null
888
- }));
889
- },
890
- async deleteAcRowsForTask(taskId) {
891
- await db.delete(tasksTaskAcceptanceCriteria).where(eq(tasksTaskAcceptanceCriteria.taskId, taskId)).run();
892
- },
893
- async appendAcHistory(rows) {
894
- if (rows.length === 0) return;
895
- await db.insert(tasksTaskAcceptanceCriteriaHistory).values(rows.map((r) => ({
896
- acId: r.acId,
897
- previousText: r.previousText,
898
- reason: r.reason
899
- }))).run();
900
- },
901
- async getAcBindings(acIds) {
902
- if (acIds.length === 0) return [];
903
- return (await db.select({
904
- id: tasksEvidenceAcBindings.id,
905
- evidenceAtomId: tasksEvidenceAcBindings.evidenceAtomId,
906
- acId: tasksEvidenceAcBindings.acId,
907
- bindingType: tasksEvidenceAcBindings.bindingType,
908
- createdAt: tasksEvidenceAcBindings.createdAt
909
- }).from(tasksEvidenceAcBindings).where(inArray(tasksEvidenceAcBindings.acId, acIds)).all()).map((r) => ({
910
- id: r.id,
911
- evidenceAtomId: r.evidenceAtomId,
912
- acId: r.acId,
913
- bindingType: r.bindingType,
914
- createdAt: r.createdAt
915
- }));
916
- },
917
- async insertAcBindings(rows) {
918
- if (rows.length === 0) return;
919
- await db.insert(tasksEvidenceAcBindings).values(rows.map((r) => ({
920
- id: r.id,
921
- evidenceAtomId: r.evidenceAtomId,
922
- acId: r.acId,
923
- bindingType: r.bindingType
924
- }))).onConflictDoNothing({ target: [
925
- tasksEvidenceAcBindings.evidenceAtomId,
926
- tasksEvidenceAcBindings.acId,
927
- tasksEvidenceAcBindings.bindingType
928
- ] }).run();
929
- }
930
- });
931
- _txDepth--;
932
- if (isOuter) nativeDb.prepare("COMMIT").run();
933
- else nativeDb.prepare(`RELEASE SAVEPOINT ${spName}`).run();
934
- return result;
935
- } catch (err) {
936
- _txDepth--;
937
- try {
938
- if (isOuter) nativeDb.prepare("ROLLBACK").run();
939
- else {
940
- nativeDb.prepare(`ROLLBACK TO SAVEPOINT ${spName}`).run();
941
- nativeDb.prepare(`RELEASE SAVEPOINT ${spName}`).run();
942
- }
943
- } catch {}
944
- throw err;
945
- }
946
- },
947
- async close() {
948
- closeDb();
949
- },
950
- async getMetaValue(key) {
951
- return getMetaValue(cwd, key);
952
- },
953
- async setMetaValue(key, value) {
954
- return setMetaValue(cwd, key, value);
955
- },
956
- async getSchemaVersion() {
957
- return (await getMetaValue(cwd, "file_meta"))?.schemaVersion ?? null;
958
- },
959
- async listAgentInstances(filters) {
960
- const { listAgentInstances: listAgents } = await import('./registry3-BajEb-ll.js');
961
- return listAgents(filters, cwd);
962
- },
963
- async getAgentInstance(agentId) {
964
- const { getAgentInstance: getAgent } = await import('./registry3-BajEb-ll.js');
965
- return getAgent(agentId, cwd);
966
- },
967
- async claimTask(taskId, agentId) {
968
- const nativeDb = getNativeTasksDb();
969
- if (!nativeDb) throw new Error("Native database not initialized");
970
- if (!nativeDb.prepare("SELECT assignee FROM tasks_tasks WHERE id = ?").get(taskId)) throw new Error(`Task not found: ${taskId}`);
971
- if (nativeDb.prepare("UPDATE tasks_tasks SET assignee = ?, updated_at = ? WHERE id = ? AND (assignee IS NULL OR assignee = ?)").run(agentId, (/* @__PURE__ */ new Date()).toISOString(), taskId, agentId).changes === 0) {
972
- const currentRow = nativeDb.prepare("SELECT assignee FROM tasks_tasks WHERE id = ?").get(taskId);
973
- throw new Error(`Task ${taskId} is already claimed by agent: ${currentRow?.assignee ?? "unknown"}`);
974
- }
975
- },
976
- async unclaimTask(taskId) {
977
- const nativeDb = getNativeTasksDb();
978
- if (!nativeDb) throw new Error("Native database not initialized");
979
- if (!nativeDb.prepare("SELECT id FROM tasks_tasks WHERE id = ?").get(taskId)) throw new Error(`Task not found: ${taskId}`);
980
- nativeDb.prepare("UPDATE tasks_tasks SET assignee = NULL, updated_at = ? WHERE id = ?").run((/* @__PURE__ */ new Date()).toISOString(), taskId);
981
- }
982
- };
983
- return accessor;
984
- }
985
-
986
- export { createSqliteDataAccessor as c, setMetaValue as s };
987
- //# sourceMappingURL=sqlite-data-accessor-DD_RFX6r.js.map