@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 +0,0 @@
1
- import{Gt as e,Jt as t,N as n,S as r,Wt as i,kt as a,t as o,zt as s}from"./DtNkZUkq.js";var c=class{static[t]=`SQLiteForeignKeyBuilder`;reference;_onUpdate;_onDelete;constructor(e,t){this.reference=()=>{let{name:t,columns:n,foreignColumns:r}=e();return{name:t,columns:n,foreignTable:r[0].table,foreignColumns:r}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new l(e,this)}},l=class{static[t]=`SQLiteForeignKey`;reference;onUpdate;onDelete;constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),r=t.map(e=>e.name),a=n.map(e=>e.name),o=[this.table[i],...r,n[0].table[i],...a];return e??`${o.join(`_`)}_fk`}isNameExplicit(){return!!this.reference().name}},u=class extends o{static[t]=`SQLiteColumnBuilder`;foreignKeyConfigs=[];references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:`always`,mode:t?.mode??`virtual`},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:r})=>((n,r)=>{let i=new c(()=>{let t=n();return{columns:[e],foreignColumns:[t]}});return r.onUpdate&&i.onUpdate(r.onUpdate),r.onDelete&&i.onDelete(r.onDelete),i.build(t)})(n,r))}},d=class extends e{static[t]=`SQLiteColumn`;table;constructor(e,t){super(e,t),this.table=e}};function f(e){let t=``;for(let n=0;n<e.length;n+=2){let r=e.slice(n,n+2),i=Number.parseInt(r,16);t+=String.fromCodePoint(i)}return t}var p=class extends u{static[t]=`SQLiteBigIntBuilder`;constructor(e){super(e,`bigint int64`,`SQLiteBigInt`)}build(e){return new m(e,this.config)}},m=class extends d{static[t]=`SQLiteBigInt`;getSQLType(){return`blob`}mapFromDriverValue=e=>{if(typeof e==`string`)return BigInt(f(e));if(typeof Buffer<`u`&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return BigInt(t.toString(`utf8`))}return BigInt(n.decode(e))};mapToDriverValue=e=>Buffer.from(e.toString())},ee=class extends u{static[t]=`SQLiteBlobJsonBuilder`;constructor(e){super(e,`object json`,`SQLiteBlobJson`)}build(e){return new h(e,this.config)}},h=class extends d{static[t]=`SQLiteBlobJson`;getSQLType(){return`blob`}mapFromDriverValue=e=>{if(typeof e==`string`)return JSON.parse(f(e));if(typeof Buffer<`u`&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return JSON.parse(t.toString(`utf8`))}return JSON.parse(n.decode(e))};mapToDriverValue=e=>Buffer.from(JSON.stringify(e))},g=class extends u{static[t]=`SQLiteBlobBufferBuilder`;constructor(e){super(e,`object buffer`,`SQLiteBlobBuffer`)}build(e){return new _(e,this.config)}},_=class extends d{static[t]=`SQLiteBlobBuffer`;mapFromDriverValue=e=>Buffer.isBuffer(e)?e:typeof e==`string`?Buffer.from(e,`hex`):Buffer.from(e);getSQLType(){return`blob`}};function v(e,t){let{name:n,config:i}=r(e,t);return i?.mode===`bigint`?new p(n):i?.mode===`buffer`?new g(n):new ee(n)}var y=class extends u{static[t]=`SQLiteCustomColumnBuilder`;constructor(e,t,n){super(e,`custom`,`SQLiteCustomColumn`),this.config.fieldConfig=t,this.config.customTypeParams=n}build(e){return new b(e,this.config)}},b=class extends d{static[t]=`SQLiteCustomColumn`;sqlName;mapTo;mapFrom;mapJson;forJsonSelect;constructor(e,t){super(e,t),this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver,this.mapJson=t.customTypeParams.fromJson,this.forJsonSelect=t.customTypeParams.forJsonSelect}getSQLType(){return this.sqlName}mapFromDriverValue=e=>typeof this.mapFrom==`function`?this.mapFrom(e):e;mapFromJsonValue(e){return typeof this.mapJson==`function`?this.mapJson(e):this.mapFromDriverValue(e)}jsonSelectIdentifier(e,t){if(typeof this.forJsonSelect==`function`)return this.forJsonSelect(e,t);let n=this.getSQLType().toLowerCase(),r=n.indexOf(`(`);switch(r+1?n.slice(0,r):n){case`numeric`:case`decimal`:case`bigint`:return t`cast(${e} as text)`;case`blob`:return t`hex(${e})`;default:return e}}mapToDriverValue=e=>typeof this.mapTo==`function`?this.mapTo(e):e};function x(e){return(t,n)=>{let{name:i,config:a}=r(t,n);return new y(i,a,e)}}var S=class extends u{static[t]=`SQLiteBaseIntegerBuilder`;constructor(e,t,n){super(e,t,n),this.config.autoIncrement=!1}primaryKey(e){return e?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}},C=class extends d{static[t]=`SQLiteBaseInteger`;autoIncrement=this.config.autoIncrement;getSQLType(){return`integer`}},w=class extends S{static[t]=`SQLiteIntegerBuilder`;constructor(e){super(e,`number int53`,`SQLiteInteger`)}build(e){return new T(e,this.config)}},T=class extends C{static[t]=`SQLiteInteger`},E=class extends S{static[t]=`SQLiteTimestampBuilder`;constructor(e,t){super(e,`object date`,`SQLiteTimestamp`),this.config.mode=t}defaultNow(){return this.default(a`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new D(e,this.config)}},D=class extends C{static[t]=`SQLiteTimestamp`;mode=this.config.mode;mapFromDriverValue=e=>typeof e==`string`?new Date(e.replaceAll(`"`,``)):this.config.mode===`timestamp`?new Date(e*1e3):new Date(e);mapToDriverValue=e=>{if(typeof e==`number`)return e;let t=e.getTime();return this.config.mode===`timestamp`?Math.floor(t/1e3):t}},O=class extends S{static[t]=`SQLiteBooleanBuilder`;constructor(e,t){super(e,`boolean`,`SQLiteBoolean`),this.config.mode=t}build(e){return new k(e,this.config)}},k=class extends C{static[t]=`SQLiteBoolean`;mode=this.config.mode;mapFromDriverValue=e=>Number(e)===1;mapToDriverValue=e=>+!!e};function A(e,t){let{name:n,config:i}=r(e,t);return i?.mode===`timestamp`||i?.mode===`timestamp_ms`?new E(n,i.mode):i?.mode===`boolean`?new O(n,i.mode):new w(n)}var j=class extends u{static[t]=`SQLiteNumericBuilder`;constructor(e){super(e,`string numeric`,`SQLiteNumeric`)}build(e){return new M(e,this.config)}},M=class extends d{static[t]=`SQLiteNumeric`;mapFromDriverValue=e=>typeof e==`string`?e:String(e);getSQLType(){return`numeric`}},N=class extends u{static[t]=`SQLiteNumericNumberBuilder`;constructor(e){super(e,`number`,`SQLiteNumericNumber`)}build(e){return new P(e,this.config)}},P=class extends d{static[t]=`SQLiteNumericNumber`;mapFromDriverValue=e=>typeof e==`number`?e:Number(e);mapToDriverValue=String;getSQLType(){return`numeric`}},F=class extends u{static[t]=`SQLiteNumericBigIntBuilder`;constructor(e){super(e,`bigint int64`,`SQLiteNumericBigInt`)}build(e){return new I(e,this.config)}},I=class extends d{static[t]=`SQLiteNumericBigInt`;mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return`numeric`}};function L(e,t){let{name:n,config:i}=r(e,t),a=i?.mode;return a===`number`?new N(n):a===`bigint`?new F(n):new j(n)}var R=class extends u{static[t]=`SQLiteRealBuilder`;constructor(e){super(e,`number double`,`SQLiteReal`)}build(e){return new te(e,this.config)}},te=class extends d{static[t]=`SQLiteReal`;getSQLType(){return`real`}};function z(e){return new R(e??``)}var B=class extends u{static[t]=`SQLiteTextBuilder`;constructor(e,t){super(e,t.enum?.length?`string enum`:`string`,`SQLiteText`),this.config.enumValues=t.enum,this.config.length=t.length}build(e){return new V(e,this.config)}},V=class extends d{static[t]=`SQLiteText`;enumValues=this.config.enumValues;constructor(e,t){super(e,t)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:``}`}},H=class extends u{static[t]=`SQLiteTextJsonBuilder`;constructor(e){super(e,`object json`,`SQLiteTextJson`)}build(e){return new U(e,this.config)}},U=class extends d{static[t]=`SQLiteTextJson`;getSQLType(){return`text`}mapFromDriverValue=e=>JSON.parse(e);mapToDriverValue=e=>JSON.stringify(e)};function W(e,t={}){let{name:n,config:i}=r(e,t);return i.mode===`json`?new H(n):new B(n,i)}function G(){return{blob:v,customType:x,integer:A,numeric:L,real:z,text:W}}function K(e){return(e.replace(/['\u2019]/g,``).match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join(`_`)}function q(e){return(e.replace(/['\u2019]/g,``).match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,t,n)=>e+(n===0?t.toLowerCase():`${t[0].toUpperCase()}${t.slice(1)}`),``)}function J(e){return e===`snake_case`?K:e===`camelCase`?q:e=>e}var Y=Symbol.for(`drizzle:SQLiteInlineForeignKeys`),X=class extends s{static[t]=`SQLiteTable`;static Symbol=Object.assign({},s.Symbol,{InlineForeignKeys:Y});[s.Symbol.Columns];[Y]=[];[s.Symbol.ExtraConfigBuilder]=void 0};function Z(e,t,n,r,i,a=e){let o=J(i),c=new X(e,r,a),l=typeof t==`function`?t(G()):t,u=Object.fromEntries(Object.entries(l).map(([e,t])=>{let n=t;n.setName(e,o);let r=n.build(c).postBuild();return c[Y].push(...n.buildForeignKeys(r,c)),[e,r]})),d=Object.assign(c,u);return d[s.Symbol.Columns]=u,d[s.Symbol.ExtraConfigColumns]=u,n&&(d[X.Symbol.ExtraConfigBuilder]=n),d}function Q(e){return(t,n,r)=>Z(t,n,r,void 0,e)}var ne=Q(void 0),$=class{static[t]=`SQLiteIndexBuilderOn`;constructor(e,t){this.name=e,this.unique=t}on(...e){return new re(this.name,e,this.unique)}},re=class{static[t]=`SQLiteIndexBuilder`;config;constructor(e,t,n){this.config={name:e,columns:t,unique:n,where:void 0}}where(e){return this.config.where=e,this}build(e){return new ie(this.config,e)}},ie=class{static[t]=`SQLiteIndex`;config;isNameExplicit;constructor(e,t){this.config={...e,table:t},this.isNameExplicit=!!e.name}};function ae(e){return new $(e,!1)}function oe(e){return new $(e,!0)}export{W as a,x as c,ne as i,v as l,oe as n,z as o,X as r,A as s,ae as t,d as u};
@@ -1 +0,0 @@
1
- import"./DrKWWDpL.js";import{t as e}from"./DYP3EJMY.js";import"./Ml4JR6Jz2.js";import{Y as t}from"./DtNkZUkq.js";import{t as n}from"./DF_4OWhj.js";import{w as r}from"./CKoQ7Ko5.js";import"./Chpy9ca7.js";e(),Promise.resolve();async function i(e,n){let i=new Set,a=[],o=await e.$count(r);a.push(`${n}-${o+1}`),a.push(`${n}-v2`),a.push(`${n}-new`);let s=[];for(let c=0;c<a.length;c++){let l=a[c],u=0;for(;u<32;){if(i.has(l)){u++,l=`${l}-x`;continue}if(!await e.select().from(r).where(t(r.slug,l)).get()){s.push(l),i.add(l);break}i.add(l),u++,l=c===2?`${n}-alt-${u}`:`${l}-x`}s.length!==c+1&&s.push(`${n}-${o+c+100}`)}return s.slice(0,3)}async function a(e,t){return i(e,t)}n(`lifecycle:ivtr`),n(`worktree:audit`);function o(e){return e.type===`saga`}async function s(e,t){let n=await e.loadSingleTask(t);if(!n?.parentId)return[];let r=await e.loadSingleTask(n.parentId);return!r||!o(r)?[]:[r]}var c=[`implemented`,`testsPassed`,`qaPassed`,`cleanupDone`,`securityPassed`,`documented`];function l(e,t,n){let r=t.join(`,`);function i(t){return{atoms:[{kind:`note`,note:`saga-auto-close-via-completeTask:${e}:${t}`},{kind:`note`,note:`members:${r}`},{kind:`note`,note:`adr:ADR-073 §1.2 invariants I3+I5`}],capturedAt:n,capturedBy:`system:saga-auto-close`}}let a={};for(let e of c)a[e]=i(e);return{round:1,passed:!0,gates:{implemented:!0,testsPassed:!0,qaPassed:!0,cleanupDone:!0,securityPassed:!0,documented:!0},evidence:a,lastAgent:null,lastUpdated:n,failureLog:[],initializedAt:n}}export{s as n,a as r,l as t};
@@ -1 +0,0 @@
1
- import"./DrKWWDpL.js";import{t as e}from"./DYP3EJMY.js";import{Cn as t,In as n,Jn as r,Sn as i,Tn as a,Tt as o,Yn as s,cn as c,jn as l,kt as u,ln as d,vt as f,xr as ee,xt as te,zt as p}from"./D7w7HllH.js";var m=t({req:n().optional(),description:n().min(1),advisory:u().optional(),timeoutMs:i().int().positive().optional()}),ne=p(`type`,[t({type:d(`exists`)}),t({type:d(`absent`)}),t({type:d(`nonEmpty`)}),t({type:d(`maxBytes`),value:i().int().nonnegative()}),t({type:d(`minBytes`),value:i().int().nonnegative()}),t({type:d(`contains`),value:n()}),t({type:d(`matches`),regex:n().min(1),flags:n().optional()}),t({type:d(`sha256`),value:n().length(64)})]),re=m.extend({kind:d(`test`),command:n().min(1),args:o(n()).optional(),expect:f([`pass`,`exit0`]),minCount:i().int().nonnegative().optional(),cwd:n().optional(),env:l(n(),n()).optional()}),ie=m.extend({kind:d(`file`),path:n().min(1).optional(),attachmentSha256:n().regex(/^[0-9a-f]{64}$/i,`attachmentSha256 must be a 64-char hex string`).optional(),assertions:o(ne).min(1)}),ae=m.extend({kind:d(`command`),cmd:n().min(1),args:o(n()).optional(),exitCode:i().int().optional(),stdoutMatches:n().optional(),stderrMatches:n().optional(),cwd:n().optional(),env:l(n(),n()).optional()}),oe=m.extend({kind:d(`lint`),tool:f([`biome`,`eslint`,`tsc`,`prettier`,`rustc`,`clippy`]),args:o(n()).optional(),expect:f([`clean`,`noErrors`]),cwd:n().optional()}),se=m.extend({kind:d(`http`),url:n().url(),method:f([`GET`,`HEAD`,`POST`,`PUT`,`DELETE`]).optional(),status:i().int().min(100).max(599),bodyMatches:n().optional(),headers:l(n(),n()).optional(),startCommand:n().optional(),startupDelayMs:i().int().nonnegative().optional()}),ce=m.extend({kind:d(`manual`),prompt:n().min(1),verdicts:o(f([`pass`,`fail`,`warn`])).optional()}),le=p(`kind`,[re,ie,ae,oe,se,ce]),ue=p(`kind`,[t({kind:d(`test`),exitCode:i().int(),stdout:n(),stderr:n(),duration:i().nonnegative()}),t({kind:d(`file`),path:n().min(1),passedAssertions:o(n()),failedAssertions:o(n())}),t({kind:d(`command`),cmd:n().min(1),exitCode:i().int(),stdout:n()}),t({kind:d(`lint`),tool:n().min(1),warnings:i().int().nonnegative(),errors:i().int().nonnegative()}),t({kind:d(`http`),url:n(),status:i().int().min(100).max(599),body:n()}),t({kind:d(`manual`),prompt:n().min(1),accepted:u()})]);t({index:i().int().nonnegative(),req:n().optional(),kind:f([`test`,`file`,`command`,`lint`,`http`,`manual`]),result:f([`pass`,`fail`,`warn`,`skipped`,`error`]),durationMs:i().nonnegative(),details:ue.optional(),evidence:n().optional(),errorMessage:n().optional(),checkedAt:n().datetime(),checkedBy:n().min(1)});var de=r([n().trim().min(1,{message:`Acceptance string criterion must be non-empty. Provide a non-blank description or a valid AcceptanceGate object.`}).describe(`Free-text legacy acceptance criterion (non-empty string)`),le.describe(`Structured machine-verifiable acceptance gate`)]);o(de).min(1,{message:`Task must have at least one acceptance criterion. Provide a non-empty string or a valid AcceptanceGate object.`}).refine(e=>{let t=new Set;for(let n of e)if(typeof n==`object`&&n&&`req`in n&&n.req){if(t.has(n.req))return!1;t.add(n.req)}return!0},{message:`Duplicate req: (REQ-ID) values within the same acceptance array. Each GSD-style requirement ID must be unique. Check for repeated req fields and ensure each gate has a distinct identifier.`});var h=t({description:n().optional(),labels:o(n()).optional()}),fe=h.extend({kind:d(`local-file`),path:n().min(1),sha256:n().length(64),mime:n().min(1),size:i().int().nonnegative()}),pe=h.extend({kind:d(`url`),url:n().url(),cachedSha256:n().length(64).optional(),cachedAt:n().datetime().optional(),mime:n().optional()}),me=h.extend({kind:d(`blob`),sha256:n().length(64),storageKey:n().min(1),mime:n().min(1),size:i().int().nonnegative()}),he=h.extend({kind:d(`llms-txt`),source:f([`url`,`generated`]),content:n().min(1),sha256:n().length(64)}),ge=h.extend({kind:d(`llmtxt-doc`),slug:n().min(1),backend:f([`local`,`remote`]),pinnedVersion:n().optional()}),_e=p(`kind`,[fe,pe,me,he,ge]);t({id:n().min(1),sha256:n(),attachment:_e,createdAt:n().datetime(),refCount:i().int().nonnegative()}),t({attachmentId:n().min(1),ownerType:f([`task`,`observation`,`session`,`decision`,`learning`,`pattern`]),ownerId:n().min(1),attachedAt:n().datetime(),attachedBy:n().optional()});var ve=[`feat`,`fix`,`perf`,`refactor`,`docs`,`test`,`chore`,`breaking`],ye=[`added`,`changed`,`fixed`,`deprecated`,`removed`,`security`,`breaking`],be=[`users`,`operators`,`developers`,`maintainers`],xe=[`project`,`package`,`component`,`docs`,`ops`,`security`],g=n().min(1,`release-note metadata text must be non-empty`),Se=o(g).min(1,`release-note metadata list must contain at least one item`),Ce=t({section:f(ye).optional(),audience:o(f(be)).min(1).optional(),scope:f(xe).optional(),targets:Se.optional(),impact:g.optional(),migration:g.optional(),deprecation:g.optional(),security:g.optional(),operatorNotes:g.optional(),includeInChangelog:u().optional()}).strict();t({id:n().min(1,`id must be non-empty`).regex(/^[A-Za-z0-9][A-Za-z0-9-]*$/,`id must contain only ASCII letters, digits, and hyphens`),tasks:o(n().regex(/^(T\d+(-[A-Z][A-Za-z0-9]*)?|E-\d+(-[A-Z][A-Za-z0-9]*)?)$/,`task ID must match T#### or E-#### format`)).min(1,`tasks must contain at least one task ID`),kind:f(ve),summary:n().min(1,`summary must be non-empty`),prs:o(i().int().positive()).optional(),notes:n().optional(),breaking:n().optional(),releaseNotes:Ce.optional()}).refine(e=>e.kind!==`breaking`||(e.breaking?.length??0)>0,{message:"breaking entries must include a non-empty `breaking` migration note",path:[`breaking`]});var we={id:`project-info`,scope:`metadata`,path:`.cleo/project-info.json`,mergePrecedence:0,driftDetection:`schema-validate`},Te={id:`project-context`,scope:`metadata`,path:`.cleo/project-context.json`,mergePrecedence:0,driftDetection:`staleness-gate`},Ee={id:`cleo-config-project`,scope:`project`,path:`.cleo/config.json`,mergePrecedence:20,driftDetection:`schema-validate`},De={id:`cleo-config-global`,scope:`global`,path:`~/.cleo/config.json`,mergePrecedence:10,driftDetection:`schema-validate`};Object.freeze([we,Te,De,Ee]),t({id:n().min(1),scope:r([d(`global`),d(`project`),d(`metadata`)]),path:n().min(1),schema:s().optional(),mergePrecedence:i().int().nonnegative(),driftDetection:r([d(`schema-validate`),d(`staleness-gate`),d(`value-diff`),d(`none`)]),defaults:l(n(),s()).optional()});function Oe(e){try{let t=typeof e==`string`?e:e.toString(`utf-8`),n=JSON.parse(t).claudeAiOauth;if(!n||typeof n!=`object`)return null;let r=n,i=r.accessToken;if(typeof i!=`string`||!i.trim())return null;let a=typeof r.expiresAt==`number`?r.expiresAt:void 0;if(a!==void 0&&Date.now()>a)return null;let o=typeof r.refreshToken==`string`&&r.refreshToken.trim()?r.refreshToken:void 0,s=r.scopes,c=Array.isArray(s)&&s.every(e=>typeof e==`string`)?s:void 0;return{accessToken:i.trim(),...a===void 0?{}:{expiresAt:a},...o===void 0?{}:{refreshToken:o},...c===void 0?{}:{scopes:c}}}catch{return null}}var ke=t({key:n().min(1),value:n()}).strict(),Ae=f([`running`,`restarting`,`stopped`]),_=t({child_id:n().min(1),pid:i().int().nonnegative(),state:Ae,restart_count:i().int().nonnegative()}).strict(),je=t({kind:d(`spawn`),child_id:n().min(1),program:n().min(1),args:o(n()).default([]),env:o(ke).default([]),cwd:n().optional()}).strict(),Me=t({kind:d(`restart`),child_id:n().min(1)}).strict(),Ne=t({kind:d(`monitor`),child_id:n().optional()}).strict(),Pe=t({kind:d(`health`)}).strict(),Fe=p(`kind`,[je,Me,Ne,Pe]),Ie=t({kind:d(`spawned`),child_id:n().min(1),pid:i().int().nonnegative()}).strict(),Le=t({kind:d(`restarted`),child_id:n().min(1),pid:i().int().nonnegative(),restart_count:i().int().nonnegative()}).strict(),Re=t({kind:d(`monitor`),children:o(_)}).strict(),ze=t({kind:d(`health`),pid:i().int().nonnegative(),child_count:i().int().nonnegative(),uptime_secs:i().int().nonnegative(),protocol_version:n()}).strict(),Be=f([`child_exited`,`child_restarted`]),Ve=t({kind:d(`event`),event:Be,child_id:n().min(1),exit_code:i().int().optional(),signal:n().optional(),restart_delay_ms:i().int().nonnegative().optional()}).strict(),He=t({kind:d(`error`),code:n().min(1),message:n()}).strict(),Ue=p(`kind`,[Ie,Le,Re,ze,Ve,He]),We=t({protocol_version:n(),id:n().min(1),direction:d(`request`),request:Fe}).strict(),Ge=t({protocol_version:n(),id:n().min(1),direction:d(`response`),response:Ue}).strict();p(`direction`,[We,Ge]);var Ke=[`spawn`,`restart`,`monitor`,`health`],qe=[`spawned`,`restarted`,`monitor`,`health`,`event`,`error`];[...Ke,...qe];var Je=_.extend({detail:n().optional()}).strict();t({subsystems:o(Je),allHealthy:u()}).strict();var Ye={$schemaNote:`SSoT machine-readable inventory of every CLEO SQLite database. Consumed by T10307 fleet survey, T10310 pragma drift, T10311 migration coverage, T10312 doctor integrity, T10320 cross-DB invariants. Owned by Saga T10281 SG-BRAIN-DB-RESILIENCE / Epic T10282 E1-DB-INVENTORY (task T10305). Amend together with ADR-068 charter; the CI drift gate (forthcoming under E1) compares entries to disk reality.`,$pathTokens:{"<projectRoot>":"Resolved at runtime from CLEO_ROOT env var or process.cwd(). Substituted by SSoT helpers `getCleoProjectDir()` in packages/brain/src/cleo-home.ts.",$XDG_DATA_HOME:"Resolved via env-paths through `getCleoHome()` in @cleocode/paths. Linux: ~/.local/share/cleo/, macOS: ~/Library/Application Support/cleo/."},entries:[{role:`tasks`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/tasks.db`,drizzleSchemaPath:`packages/core/src/store/tasks-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-tasks/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('tasks', cwd)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/tasks-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 1; ADR-013 §9`},{role:`brain`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/brain.db`,drizzleSchemaPath:`packages/core/src/store/schema/memory-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-brain/`,ownerPackage:`@cleocode/brain`,openedVia:`openCleoDb('brain', cwd)`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`.cleo/backups/sqlite/brain-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 2; ADR-013 §9; audit §2 (P0 malformed 2026-05-23)`},{role:`conduit`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/conduit.db`,drizzleSchemaPath:`packages/core/src/store/schema/conduit-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-conduit/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('conduit', cwd)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/conduit-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 3; ADR-037 (signaldock→conduit split)`},{role:`manifest`,tier:`derived`,filePathTemplate:`<projectRoot>/.cleo/blobs/manifest.db`,drizzleSchemaPath:`packages/core/src/store/llmtxt-blob-adapter.ts`,migrationsDir:null,ownerPackage:`@cleocode/core`,openedVia:`CleoBlobStore via llmtxt/blob BlobFsAdapter (no openCleoDb role registered)`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`rebuildable-from-blob-store`,documentedIn:`ADR-068 row 7 (derived); schema owned by llmtxt/blob BlobFsAdapter contract`},{role:`llmtxt`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/llmtxt/llmtxt.db`,drizzleSchemaPath:null,migrationsDir:null,ownerPackage:`@cleocode/llmtxt-core`,openedVia:`openCleoDb('llmtxt', cwd) — RESERVED; opener throws 'not yet implemented' (see open-cleo-db.ts L138)`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`.cleo/backups/sqlite/llmtxt-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 8 (reserved); audit §1.1 row 4 (live at .cleo/llmtxt/llmtxt.db)`},{role:`nexus`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/nexus.db`,drizzleSchemaPath:`packages/core/src/store/schema/nexus-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-nexus/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('nexus')`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/nexus-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 5`},{role:`signaldock-project`,tier:`project`,filePathTemplate:`<projectRoot>/.cleo/signaldock.db`,drizzleSchemaPath:`packages/core/src/store/schema/agent-registry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-agent-registry/`,ownerPackage:`@cleocode/core`,openedVia:`HISTORICAL — project-tier signaldock.db was migrated into conduit.db post-T310/ADR-037. No live opener; charter row retained for migration provenance and legacy backup detection.`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`.cleo/backups/sqlite/signaldock-project-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 4 (stale — superseded by ADR-037); audit §1.1 (not in live project DB list)`},{role:`signaldock-global`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/signaldock.db`,drizzleSchemaPath:`packages/core/src/store/schema/agent-registry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-agent-registry/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('signaldock')`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/signaldock-global-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 9; ADR-037 (post-split global identity registry)`},{role:`telemetry`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/telemetry.db`,drizzleSchemaPath:`packages/core/src/store/schema/telemetry-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-telemetry/`,ownerPackage:`@cleocode/core`,openedVia:`@cleocode/core telemetry/sqlite.ts — lazy open on first event when opted-in; not yet registered as openCleoDb role`,concurrency:`single-writer`,privacy:`cloud-exportable-opt-in`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/telemetry-YYYYMMDD-HHmmss.db`,documentedIn:`ADR-068 row 6; T624`},{role:`skills`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/skills.db`,drizzleSchemaPath:`packages/core/src/store/schema/skills-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-skills/`,ownerPackage:`@cleocode/core`,openedVia:`openCleoDb('skills')`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/skills-YYYYMMDD-HHmmss.db`,documentedIn:`T9651 (initial skills.db migration); audit §1.2 row 4 — NOT yet in ADR-068 table`},{role:`global-brain`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/brain.db`,drizzleSchemaPath:`packages/core/src/store/schema/memory-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-brain/`,ownerPackage:`@cleocode/brain`,openedVia:`UNREGISTERED — file exists on disk (audit §1.2 row 3) but no live opener. Provenance unclear; likely orphan from a getCleoHome()-vs-project-resolution path bug. Tracked for cleanup decision under T10282/T10307.`,concurrency:`single-writer`,privacy:`local-only-pii`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/global-brain-YYYYMMDD-HHmmss.db`,documentedIn:`audit §1.2 row 3 — NEW per saga T10281; not in ADR-068`},{role:`global-tasks`,tier:`global`,filePathTemplate:`$XDG_DATA_HOME/cleo/tasks.db`,drizzleSchemaPath:`packages/core/src/store/tasks-schema.ts`,migrationsDir:`packages/core/migrations/drizzle-tasks/`,ownerPackage:`@cleocode/core`,openedVia:`UNREGISTERED — file exists on disk (audit §1.2 row 5, 4 KB) but no live opener. Provenance unclear; likely orphan from a cwd-cascade bug (T9550 class). Tracked for cleanup decision under T10282/T10307.`,concurrency:`single-writer`,privacy:`local-only`,backupPath:`$XDG_DATA_HOME/cleo/backups/sqlite/global-tasks-YYYYMMDD-HHmmss.db`,documentedIn:`audit §1.2 row 5 — NEW per saga T10281; not in ADR-068`}]}.entries;e();var Xe=[{kind:`adr`,label:`ADR`,description:`Architectural decision record`,defaultOwnerKind:`task`,publishDir:`docs/adr`,requiresEntityId:!0,entityIdPattern:/^adr-\d{3,4}-[a-z0-9-]+$/,requiredSections:[`Status`,`Date`,`Context`,`Decision`,`Consequences`]},{kind:`spec`,label:`Spec`,description:`Technical specification`,defaultOwnerKind:`task`,publishDir:`docs/spec`,requiresEntityId:!1,requiredSections:[`Goal`,`Non-Goals`,`Requirements`,`Out-of-Scope`]},{kind:`research`,label:`Research`,description:`Investigation / research note`,defaultOwnerKind:`task`,publishDir:`docs/research`,requiresEntityId:!1,requiredSections:[`Question`,`Findings`,`Sources`]},{kind:`handoff`,label:`Handoff`,description:`Session / agent handoff`,defaultOwnerKind:`session`,publishDir:`docs/handoff`,requiresEntityId:!1,requiredSections:[`Context`,`State`,`Next-Steps`]},{kind:`note`,label:`Note`,description:`Agent observation / informal note`,defaultOwnerKind:`observation`,publishDir:`docs/note`,requiresEntityId:!1,requiredSections:[]},{kind:`llm-readme`,label:`LLM README`,description:`Machine-readable README (llms.txt)`,defaultOwnerKind:`project`,publishDir:`.`,requiresEntityId:!1,requiredSections:[]},{kind:`changeset`,label:`Changeset`,description:`Atomic change entry (release-note input)`,defaultOwnerKind:`task`,publishDir:`.changeset`,requiresEntityId:!0,entityIdPattern:/^t\d+-[a-z0-9-]+$/,requiredSections:[]},{kind:`release-note`,label:`Release Note`,description:`Composed release notes`,defaultOwnerKind:`project`,publishDir:`docs/release`,requiresEntityId:!0,entityIdPattern:/^v\d{4}\.\d+\.\d+(-[a-z0-9-]+)?$/,requiredSections:[`Changes`,`Migration`]},{kind:`plan`,label:`Plan`,description:`Epic / saga decomposition plan`,defaultOwnerKind:`task`,publishDir:`docs/plan`,requiresEntityId:!1,requiredSections:[`Goal`,`Steps`,`Owners`]},{kind:`rcasd`,label:`RCASD`,description:`Root-cause analysis + scoped delivery`,defaultOwnerKind:`task`,publishDir:`.cleo/rcasd`,requiresEntityId:!0,entityIdPattern:/^t\d+(-.+)?$/,requiredSections:[`Root-Cause`,`Action`,`Schedule`,`Detection`]}],Ze=Object.freeze(Xe.map(e=>e.kind)),Qe=[`draft`,`proposed`,`accepted`,`superseded`,`archived`,`deprecated`],$e={type:`object`,required:[`taskId`,`verification`,`verificationStatus`,`passed`],additionalProperties:!0,properties:{taskId:{type:`string`,description:`The task the gates belong to.`},title:{type:`string`,description:`Task title, for operator display.`},status:{type:`string`,description:`Task lifecycle status.`},type:{type:`string`,description:`Task type (epic | task | subtask).`},verification:{type:`object`,additionalProperties:!0,properties:{passed:{type:`boolean`,description:`True when every required gate is set.`},round:{type:`number`,description:`IVTR round counter.`},gates:{type:`object`,additionalProperties:{type:`boolean`},description:`Gate name → whether it is recorded as passed.`},evidence:{type:`object`,additionalProperties:!0,description:`Gate name → the evidence atom kinds validated for it.`}}},verificationStatus:{type:`string`,enum:[`passed`,`pending`],description:`Whether every required gate is now recorded.`},passed:{type:`boolean`,description:`Mirror of verification.passed.`},round:{type:`number`,description:`IVTR round counter.`},requiredGates:{type:`array`,items:{type:`string`},description:`Gates this project requires before complete.`},missingGates:{type:`array`,items:{type:`string`},description:`Required gates not yet recorded — empty means ready to complete.`}}},et=[`/data/taskId`,`/data/verification`,`/data/verification/passed`,`/data/verification/gates`,`/data/verificationStatus`,`/data/passed`,`/data/missingGates`,`/data/requiredGates`],tt={operation:`check.gate.set`,shapeNote:"FLAT record, not the nested read shape. The verification object is at /data/verification — NEVER /data/task/verification, which is how `cleo show` nests a task and does not exist here. The response is self-confirming: it returns the full verification after the write, so there is no need to re-read.",dataSchema:{...$e},fieldPointers:[...et]},nt={operation:`check.gate.status`,shapeNote:"FLAT record identical in shape to check.gate.set. Read-only: reports which gates are recorded and which are still missing. /data/missingGates being empty is the precondition for `cleo complete`.",dataSchema:{...$e},fieldPointers:[...et]},v={type:`object`,required:[`provider`,`label`,`authType`,`tokenPreview`],additionalProperties:!0,properties:{provider:{type:`string`,description:`LLM provider transport key.`},label:{type:`string`,description:`Account label, unique within the provider.`},authType:{type:`string`,description:`Storage auth scheme (api_key | oauth | aws_sdk).`},tokenPreview:{type:`string`,description:`Redacted token preview (last-4 chars) — NEVER the raw secret.`},hasRefreshToken:{type:`boolean`},expiresAt:{type:[`number`,`null`]},priority:{type:`number`},source:{type:[`string`,`null`]},baseUrl:{type:[`string`,`null`]},disabled:{type:`boolean`}}},rt={operation:`account.add`,shapeNote:"`account` is the redacted NON-SECRET view (tokenPreview = last-4 ONLY). The raw secret is NEVER returned. `detectedAuthType` records the resolved scheme.",dataSchema:{type:`object`,required:[`account`,`detectedAuthType`],additionalProperties:!0,properties:{account:v,detectedAuthType:{type:`string`,description:`Resolved auth scheme (api_key | oauth).`}}},fieldPointers:[`/data/account/provider`,`/data/account/label`,`/data/account/authType`,`/data/account/tokenPreview`,`/data/detectedAuthType`]},it={operation:`account.list`,shapeNote:`accounts[] are NON-SECRET views — provider/label/authType/tokenPreview only. No decrypted secret is present in ANY field.`,dataSchema:{type:`object`,required:[`accounts`],additionalProperties:!0,properties:{accounts:{type:`array`,items:v,description:`Redacted account views.`}}},fieldPointers:[`/data/accounts`,`/data/accounts/0/provider`,`/data/accounts/0/label`,`/data/accounts/0/tokenPreview`]},at={operation:`account.remove`,shapeNote:`Mutate envelope: count=1 + deleted=[provider:label] when an account was removed; count=0 + [] when absent (idempotent).`,dataSchema:{type:`object`,required:[`count`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`1 when an account was deleted, else 0.`},deleted:{type:`array`,items:{type:`string`},description:"The `provider:label` identifier(s) deleted."}}},fieldPointers:[`/data/count`,`/data/deleted/0`]},ot={type:`object`,required:[`id`,`displayName`,`aliases`,`authMethods`],additionalProperties:!0,properties:{id:{type:`string`,description:`Canonical provider key (e.g. anthropic).`},displayName:{type:`string`},aliases:{type:`array`,items:{type:`string`},description:`Case-insensitive aliases.`},authMethods:{type:`array`,items:{type:`string`},description:`Supported auth methods (api_key | oauth | aws_sdk).`},modelsDevId:{type:`string`,description:`models.dev catalog provider key.`},source:{type:`string`,description:`Provenance (seed | plugin | import).`}}},st={operation:`provider.list`,shapeNote:`providers[] are declarative NON-SECRET views (id/displayName/aliases/authMethods).`,dataSchema:{type:`object`,required:[`providers`],additionalProperties:!0,properties:{providers:{type:`array`,items:ot,description:`Provider views.`}}},fieldPointers:[`/data/providers`,`/data/providers/0/id`,`/data/providers/0/displayName`,`/data/providers/0/aliases`]},ct={operation:`provider.show`,shapeNote:"`provider` is the resolved declarative view; `resolvedFrom` echoes the alias/id the lookup matched.",dataSchema:{type:`object`,required:[`provider`,`resolvedFrom`],additionalProperties:!0,properties:{provider:ot,resolvedFrom:{type:`string`,description:`The id/alias the lookup matched.`}}},fieldPointers:[`/data/provider/id`,`/data/provider/displayName`,`/data/resolvedFrom`]},lt={operation:`provider.connect`,shapeNote:"Mutate envelope: count=1 + created=[provider:label]. `account` carries the redacted NON-SECRET view. The raw token is NEVER returned.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of accounts created/updated (1).`},created:{type:`array`,items:{type:`string`},description:`The provider:label id(s).`},account:v}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/account/tokenPreview`]},ut={type:`object`,required:[`id`,`providerId`,`name`,`releaseDate`],additionalProperties:!0,properties:{id:{type:`string`,description:`Model id (catalog key).`},providerId:{type:`string`,description:`Provider key (models.dev id).`},name:{type:`string`,description:`Human-readable display name.`},family:{type:`string`},releaseDate:{type:`string`,description:`ISO release date YYYY-MM-DD.`},contextLimit:{type:[`number`,`null`]},outputLimit:{type:[`number`,`null`]},status:{type:`string`,description:`Lifecycle (stable | beta | preview | …).`}}},dt={operation:`model.query`,shapeNote:"models[] are catalog views ordered newest-first by release_date. `count` is the number returned.",dataSchema:{type:`object`,required:[`models`,`count`],additionalProperties:!0,properties:{models:{type:`array`,items:ut,description:`Catalog model views.`},count:{type:`number`,description:`Number of models returned.`}}},fieldPointers:[`/data/models`,`/data/models/0/id`,`/data/models/0/providerId`,`/data/count`]},ft={operation:`model.show`,shapeNote:"`model` is the resolved catalog view; `found` is false when the id is absent.",dataSchema:{type:`object`,required:[`found`],additionalProperties:!0,properties:{found:{type:`boolean`,description:`True IFF the model id resolved to a catalog row.`},model:{...ut,type:[`object`,`null`]}}},fieldPointers:[`/data/found`,`/data/model/id`,`/data/model/providerId`]},pt={operation:`profile.create`,shapeNote:"Mutate envelope: count=1 + created=[name]. `profile` echoes the persisted binding {name, provider, model, credentialLabel?, role?}.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`},created:{type:`array`,items:{type:`string`}},profile:{type:`object`,additionalProperties:!0,properties:{name:{type:`string`},provider:{type:`string`},model:{type:`string`},credentialLabel:{type:[`string`,`null`]},role:{type:[`string`,`null`]}}}}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/profile/name`,`/data/profile/provider`,`/data/profile/model`]},mt={operation:`profile.list`,shapeNote:`profiles[] are the named bindings from llm.profiles (name + provider + model + optional credentialLabel/role).`,dataSchema:{type:`object`,required:[`profiles`],additionalProperties:!0,properties:{profiles:{type:`array`,items:{type:`object`,required:[`name`,`provider`,`model`],additionalProperties:!0,properties:{name:{type:`string`},provider:{type:`string`},model:{type:`string`},credentialLabel:{type:[`string`,`null`]}}}}}},fieldPointers:[`/data/profiles`,`/data/profiles/0/name`,`/data/profiles/0/provider`,`/data/profiles/0/model`]},ht={operation:`profile.pin`,shapeNote:"Mutate envelope: count=1 + updated=[role]. `role` + `profile` echo the binding.",dataSchema:{type:`object`,required:[`count`,`updated`],additionalProperties:!0,properties:{count:{type:`number`},updated:{type:`array`,items:{type:`string`}},role:{type:`string`},profile:{type:`string`}}},fieldPointers:[`/data/count`,`/data/updated/0`,`/data/role`,`/data/profile`]},gt={operation:`profile.use`,shapeNote:"Mutate envelope: count=1 + updated=[defaultProfile]. `profile` echoes the new default.",dataSchema:{type:`object`,required:[`count`,`updated`],additionalProperties:!0,properties:{count:{type:`number`},updated:{type:`array`,items:{type:`string`}},profile:{type:`string`,description:`The profile name set as default.`},scope:{type:`string`,enum:[`global`]}}},fieldPointers:[`/data/count`,`/data/updated/0`,`/data/profile`]},_t={operation:`service.connect`,shapeNote:"Mutate envelope: count=1, created=[connectionId]. `connection` carries the NON-SECRET identity (provider/label/expiresAt). No token is ever returned.",dataSchema:{type:`object`,required:[`count`,`created`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of connections created/updated (1).`},created:{type:`array`,items:{type:`string`},description:`The connection id(s) created/updated, as strings.`},connection:{type:`object`,description:`Non-secret connection identity.`,properties:{connectionId:{type:`number`},provider:{type:`string`},label:{type:`string`},expiresAt:{type:[`string`,`null`]}}}}},fieldPointers:[`/data/count`,`/data/created/0`,`/data/connection/provider`,`/data/connection/label`,`/data/connection/expiresAt`]},vt={operation:`service.list`,shapeNote:`connections[] are NON-SECRET views — provider/label/status/scopes/expiresAt/hasCredentials only. The decrypted token is NEVER present in any field.`,dataSchema:{type:`object`,required:[`connections`],additionalProperties:!0,properties:{connections:{type:`array`,items:{type:`object`,required:[`provider`,`label`,`status`,`scopes`,`hasCredentials`],additionalProperties:!0,properties:{id:{type:`number`},provider:{type:`string`},label:{type:`string`},status:{type:`string`,enum:[`active`,`expired`,`revoked`]},scopes:{type:`array`,items:{type:`string`}},expiresAt:{type:[`string`,`null`]},connectedAt:{type:`string`},updatedAt:{type:`string`},hasCredentials:{type:`boolean`,description:`Whether a credential blob is present — NEVER the token itself.`}}},description:`Redacted connection views.`}}},fieldPointers:[`/data/connections`,`/data/connections/0/provider`,`/data/connections/0/label`,`/data/connections/0/status`,`/data/connections/0/expiresAt`,`/data/connections/0/hasCredentials`]},yt={operation:`service.revoke`,shapeNote:"Mutate envelope: count=1 + deleted=[provider:label] on success (0 + [] when no such connection). `grantsRemoved` counts the cascaded agent_service_grants rows.",dataSchema:{type:`object`,required:[`count`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`1 when a connection was deleted, else 0.`},deleted:{type:`array`,items:{type:`string`},description:"The `provider:label` identifier(s) deleted."},grantsRemoved:{type:`number`,description:`How many agent_service_grants rows were cascaded-deleted.`}}},fieldPointers:[`/data/count`,`/data/deleted/0`,`/data/grantsRemoved`]},bt={operation:`service.status`,shapeNote:"connections[] are NON-SECRET health views: each adds `expired` + `needsRefresh` booleans computed from expiresAt. No token is ever present.",dataSchema:{type:`object`,required:[`connections`],additionalProperties:!0,properties:{connections:{type:`array`,items:{type:`object`,required:[`provider`,`label`,`status`,`expired`,`needsRefresh`],additionalProperties:!0,properties:{provider:{type:`string`},label:{type:`string`},status:{type:`string`,enum:[`active`,`expired`,`revoked`]},expiresAt:{type:[`string`,`null`]},expired:{type:`boolean`,description:`True when expiresAt is in the past (or status=expired).`},needsRefresh:{type:`boolean`,description:`True when the connection is expired and has stored credentials.`},hasCredentials:{type:`boolean`}}}}}},fieldPointers:[`/data/connections`,`/data/connections/0/provider`,`/data/connections/0/label`,`/data/connections/0/status`,`/data/connections/0/expired`,`/data/connections/0/needsRefresh`]},xt={operation:`tasks.show`,shapeNote:"The task record is nested under `task` — use /data/task/<field>, not /data/<field>. Mutation envelopes are FLAT by contrast (/data/created/0, /data/updated/0), which is the asymmetry that produced GH #1225/#1239/#1231. `view` may be null. `acRows` and `relations` are conditional. `description`, `acceptance` and `verification` are withheld by the default (MVI) projection but `--field` resolves them transparently (T12108) — no `--full` needed. Evidence is NOT a task field: it lives at /data/task/verification/evidence (keyed by gate), alongside /data/task/verification/gates. T12127 (GH #1231) — the previous wording advertised `/data/task/evidence`, which does not exist, in the very text shown to an agent whose pointer had just failed.",dataSchema:{type:`object`,required:[`task`,`view`,`attachments`],additionalProperties:!0,properties:{task:{type:`object`,description:`Full task record (id, title, status, priority, type, parentId, ...).`,required:[`id`,`title`,`status`],properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`},priority:{type:`string`},type:{type:`string`},parentId:{type:[`string`,`null`]}}},view:{type:[`object`,`null`],description:`Canonical task view projection produced by computeTaskView. Null when unavailable.`},attachments:{type:`array`,description:`Docs attachments linked to this task. Always an array (empty when none).`},acRows:{type:`array`,description:`Acceptance-criterion rows (id, alias AC<n>, ordinal, text). Optional.`},relations:{type:`object`,description:`Expanded relation/doc lists. Present only with --relations.`}}},fieldPointers:[`/data/task/id`,`/data/task/title`,`/data/task/status`,`/data/task/priority`,`/data/task/type`,`/data/task/parentId`,`/data/task/description`,`/data/task/acceptance`,`/data/task/verification`,`/data/task/verification/gates`,`/data/task/verification/evidence`,`/data/view/id`,`/data/view/title`]},St={operation:`tasks.list`,shapeNote:`Rows are under /data/tasks (an array); counts are /data/total and /data/filtered.`,dataSchema:{type:`object`,required:[`tasks`,`total`,`filtered`],additionalProperties:!0,properties:{tasks:{type:`array`,description:`Task rows matching the filters.`,items:{type:`object`,properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`}}}},total:{type:`number`,description:`Total tasks before filtering.`},filtered:{type:`number`,description:`Number of tasks after filters applied.`}}},fieldPointers:[`/data/tasks/0/id`,`/data/tasks/0/title`,`/data/tasks/0/status`,`/data/total`,`/data/filtered`]},Ct={operation:`tasks.find`,shapeNote:`Results are wrapped: /data/results (array of matches), /data/total (count). Use /data/results/0/id — NOT /data/0/id.`,dataSchema:{type:`object`,required:[`results`,`total`],additionalProperties:!0,properties:{results:{type:`array`,description:`Array of minimal task matches.`,items:{type:`object`,required:[`id`,`title`],properties:{id:{type:`string`},title:{type:`string`},status:{type:`string`}}}},total:{type:`number`,description:`Total matching tasks.`},query:{type:`string`,description:`The query string that was searched.`},searchType:{type:`string`,description:`Kind of search performed (fts, semantic, ...).`}}},fieldPointers:[`/data/results/0/id`,`/data/results/0/title`,`/data/results/0/status`,`/data/total`]},y={type:`object`,required:[`count`,`created`,`updated`,`deleted`],additionalProperties:!0,properties:{count:{type:`number`,description:`Number of records the mutation affected.`},created:{type:`array`,description:`Task IDs created by the mutation (bare strings, e.g. "T11692"). Empty for update/delete-only mutations.`,items:{type:`string`}},updated:{type:`array`,description:`Task IDs updated by the mutation (bare strings). Empty for create/delete-only mutations.`,items:{type:`string`}},deleted:{type:`array`,description:`Task IDs deleted by the mutation (bare strings). Empty for create/update-only mutations.`,items:{type:`string`}},ids:{type:`array`,description:`Deprecated alias for the non-empty bucket. Prefer created/updated/deleted.`,items:{type:`string`}},dryRun:{type:`boolean`,description:`True when this was a preview-only mutation.`},status:{type:`string`,description:`Post-mutation task status (add/update/complete).`}}},b={"check.gate.set":tt,"check.gate.status":nt,"tasks.show":xt,"tasks.list":St,"tasks.find":Ct,"tasks.add":{operation:`tasks.add`,shapeNote:`The created task ID (bare string) is at /data/created/0 — NOT /data/created/0/id. Example: /data/created/0 → "T11692".`,dataSchema:{...y},fieldPointers:[`/data/created/0`,`/data/count`]},"tasks.add-batch":{operation:`tasks.add-batch`,shapeNote:`Atomic batch insert. Each created task ID (bare string) is in /data/created (array). Dry-run projections are at root: /data/wouldCreate and /data/insertedCount (=0). NOT under /data/dryRunSummary.`,dataSchema:{type:`object`,required:[`count`,`created`,`updated`,`deleted`],additionalProperties:!0,properties:{...y.properties,wouldCreate:{type:`number`,description:`Dry-run: predicted write count. Present only when dryRun=true.`},insertedCount:{type:`number`,description:`Dry-run: always 0 (no DB write). Present only when dryRun=true.`},wouldAffect:{type:`number`,description:`Dry-run: generic affected count. Present only when dryRun=true.`}}},fieldPointers:[`/data/created/0`,`/data/count`,`/data/wouldCreate`,`/data/insertedCount`]},"tasks.update":{operation:`tasks.update`,shapeNote:`The updated task ID (bare string) is at /data/updated/0 — NOT /data/updated/0/id. Use /data/status for the post-mutation status.`,dataSchema:{...y},fieldPointers:[`/data/updated/0`,`/data/status`,`/data/count`]},"tasks.complete":{operation:`tasks.complete`,shapeNote:`Completion is a status mutation — the task ID (bare string) is at /data/updated/0 (status=done). Use /data/status for the post-mutation status.`,dataSchema:{...y},fieldPointers:[`/data/updated/0`,`/data/status`,`/data/count`]},"tasks.reorder-rank":{operation:`tasks.reorder-rank`,shapeNote:`Re-ranked IDs (new order) at /data/ranked; unresolved request IDs at /data/skipped; count at /data/count.`,dataSchema:{type:`object`,required:[`ranked`,`skipped`,`count`],additionalProperties:!0,properties:{ranked:{type:`array`,description:`Task IDs whose position was written, in the new top-to-bottom order.`,items:{type:`string`}},skipped:{type:`array`,description:`Request IDs that did not resolve to a task (no-op for these).`,items:{type:`string`}},count:{type:`number`,description:`Number of tasks re-ranked.`}}},fieldPointers:[`/data/ranked/0`,`/data/skipped/0`,`/data/count`]},"tasks.bulk-move":{operation:`tasks.bulk-move`,shapeNote:`Moved task IDs at /data/moved (all-or-nothing); applied status/stage at /data/status and /data/pipelineStage; count at /data/count.`,dataSchema:{type:`object`,required:[`moved`,`count`],additionalProperties:!0,properties:{moved:{type:`array`,description:`Task IDs successfully moved (atomic — empty only when count is 0).`,items:{type:`string`}},status:{type:`string`,description:`The status applied, when supplied.`},pipelineStage:{type:`string`,description:`The pipeline stage applied, when supplied.`},count:{type:`number`,description:`Number of tasks moved.`}}},fieldPointers:[`/data/moved/0`,`/data/status`,`/data/pipelineStage`,`/data/count`]},"tasks.assignee":{operation:`tasks.assignee`,shapeNote:`The new assignee is at /data/assignee (null when cleared); /data/assigned is true on set, false on clear.`,dataSchema:{type:`object`,required:[`taskId`,`assignee`,`assigned`],additionalProperties:!0,properties:{taskId:{type:`string`,description:`The task ID whose assignee changed.`},assignee:{type:[`string`,`null`],description:`The new assignee value (null when cleared).`},assigned:{type:`boolean`,description:`True when an assignee was set; false on clear.`}}},fieldPointers:[`/data/taskId`,`/data/assignee`,`/data/assigned`]},"admin.config.get":{operation:`admin.config.get`,shapeNote:`The resolved value is at /data/value (may be null). /data/found is false when the key is absent.`,dataSchema:{type:`object`,required:[`key`,`scope`,`value`,`found`],additionalProperties:!0,properties:{key:{type:`string`,description:`The dot-notation key that was resolved.`},scope:{type:`string`,description:`Cascade slice the value was resolved against.`,enum:[`global`,`project`,`merged`]},value:{description:`Resolved value, or null when the key is absent.`},found:{type:`boolean`,description:`True IFF the key resolved to a defined value.`}}},fieldPointers:[`/data/key`,`/data/scope`,`/data/value`,`/data/found`]},"admin.config.list":{operation:`admin.config.list`,shapeNote:`The full resolved config is at /data/config (an object); flattened dot-notation keys are at /data/keys (an array).`,dataSchema:{type:`object`,required:[`scope`,`config`,`keys`],additionalProperties:!0,properties:{scope:{type:`string`,description:`Cascade slice the config was resolved against.`,enum:[`global`,`project`,`merged`]},config:{type:`object`,description:`Full resolved config object for the slice.`,additionalProperties:!0},keys:{type:`array`,description:`Flattened dot-notation keys present in the resolved config.`,items:{type:`string`}}}},fieldPointers:[`/data/scope`,`/data/keys/0`,`/data/keys`]},"admin.config.validate":{operation:`admin.config.validate`,shapeNote:`The pass/fail verdict is at /data/ok; rejection reasons are at /data/issues (empty when ok=true).`,dataSchema:{type:`object`,required:[`scope`,`ok`,`issues`],additionalProperties:!0,properties:{scope:{type:`string`,description:`Scope that was validated.`,enum:[`global`,`project`]},ok:{type:`boolean`,description:`True IFF every gate passed.`},issues:{type:`array`,description:`Human-readable schema issues. Empty when ok=true.`,items:{type:`string`}}}},fieldPointers:[`/data/scope`,`/data/ok`,`/data/issues/0`,`/data/issues`]},"admin.config.unset":{operation:`admin.config.unset`,shapeNote:`/data/removed is true IFF a value was deleted; false when the key was already absent (idempotent).`,dataSchema:{type:`object`,required:[`key`,`scope`,`removed`],additionalProperties:!0,properties:{key:{type:`string`,description:`The dot-notation key that was targeted.`},scope:{type:`string`,description:`Scope the key was removed from.`,enum:[`project`,`global`]},removed:{type:`boolean`,description:`True IFF a value was actually deleted.`}}},fieldPointers:[`/data/key`,`/data/scope`,`/data/removed`]},"service.connect":_t,"service.list":vt,"service.revoke":yt,"service.status":bt,"account.add":rt,"account.list":it,"account.remove":at,"provider.list":st,"provider.show":ct,"provider.connect":lt,"model.query":dt,"model.show":ft,"profile.create":pt,"profile.list":mt,"profile.pin":ht,"profile.use":gt},wt={type:`object`,required:[`taskId`],additionalProperties:!1,properties:{taskId:{type:`string`,minLength:1},title:{type:`string`,minLength:1,maxLength:500},description:{type:`string`},status:{type:`string`,enum:[`pending`,`active`,`blocked`,`done`,`cancelled`]},priority:{type:`string`,enum:[`low`,`medium`,`high`,`critical`]},notes:{type:`string`},labels:{type:`array`,items:{type:`string`}},addLabels:{type:`array`,items:{type:`string`}},removeLabels:{type:`array`,items:{type:`string`}},depends:{type:`array`,items:{type:`string`}},addDepends:{type:`array`,items:{type:`string`}},removeDepends:{type:`array`,items:{type:`string`}},acceptance:{type:`array`,items:{type:`string`}},parent:{type:[`string`,`null`]},type:{type:`string`,enum:[`saga`,`epic`,`task`,`subtask`]},size:{type:`string`,enum:[`small`,`medium`,`large`]},files:{type:`array`,items:{type:`string`}},addFiles:{type:`array`,items:{type:`string`}},removeFiles:{type:`array`,items:{type:`string`}},pipelineStage:{type:`string`},kind:{type:`string`,enum:[`work`,`research`,`experiment`,`bug`,`spike`,`release`]},scope:{type:`string`,enum:[`project`,`feature`,`unit`]},severity:{type:`string`,enum:[`P0`,`P1`,`P2`,`P3`]},reason:{type:`string`},dependsWaiver:{type:`string`},blockedBy:{type:`string`},clearBlockedBy:{type:`boolean`},relates:{type:`array`,items:{type:`object`,required:[`taskId`,`type`],additionalProperties:!1,properties:{taskId:{type:`string`,minLength:1},type:{type:`string`,minLength:1},reason:{type:`string`}}}},addRelates:{type:`array`,items:{type:`object`,required:[`taskId`,`type`],additionalProperties:!1,properties:{taskId:{type:`string`,minLength:1},type:{type:`string`,minLength:1},reason:{type:`string`}}}},removeRelates:{type:`array`,items:{type:`string`}}}},Tt={operation:`tasks.update`,schema:wt,examples:[{name:`set-status`,value:{taskId:`T9917`,status:`active`},description:`Transition status to active.`},{name:`add-labels-incrementally`,value:{taskId:`T9917`,addLabels:[`saga.t9855`,`epic.t9903`]}}]};b[`tasks.update`],b[`tasks.reorder-rank`],b[`tasks.bulk-move`],b[`tasks.assignee`],`${Qe.join(`|`)}`;var Et=[`doc`,`task`,`decision`,`session`,`memory`],Dt=[`attached-to`,`supersedes`,`superseded-by`,`related-task`,`linked-decision`,`derived-from`,`shares-topic`],Ot=[`active`,`superseded`,`archived`,`draft`],x=f(Et),kt=f(Dt),At=f(Ot),S={id:n().min(1),title:n().min(1),metadata:l(n(),s()).optional()},jt=t({...S,kind:d(`doc`),slug:n().min(1),docKind:n().min(1),lifecycleStatus:At,publishedAt:n().min(1),supersededAt:n().min(1).optional(),summary:n().optional()}),Mt=t({...S,kind:d(`task`),taskType:f([`saga`,`epic`,`task`,`subtask`]),status:f([`pending`,`in_progress`,`done`,`blocked`,`cancelled`,`archived`])}),Nt=t({...S,kind:d(`decision`),outcome:f([`proposed`,`accepted`,`rejected`,`superseded`]),decidedAt:n().min(1)}),Pt=t({...S,kind:d(`session`),startedAt:n().min(1),endedAt:n().min(1).optional()}),Ft=t({...S,kind:d(`memory`),memoryType:f([`observation`,`pattern`,`decision`,`diary`]),recordedAt:n().min(1)}),It=p(`kind`,[jt,Mt,Nt,Pt,Ft]),Lt=t({relation:kt,from:n().min(1),fromKind:x,to:n().min(1),toKind:x,addedAt:n().min(1),summary:n().optional()});t({nodes:o(It).readonly(),edges:o(Lt).readonly(),totalNodes:i().int().nonnegative(),totalEdges:i().int().nonnegative()});var Rt=t({slug:n(),kind:n().nullable(),title:n().nullable(),summary:n().nullable(),lifecycleStatus:n(),docVersion:i().int(),ownerVersion:n().nullable(),supersedes:n().nullable(),supersededBy:n().nullable(),topics:o(n()).readonly(),relatedTasks:o(n()).readonly(),sha256:n(),createdAt:n()}),zt=t({encoding:f([`utf-8`,`base64`]),text:n().optional(),base64:n().optional(),sizeBytes:i().int().nonnegative(),mimeType:n().nullable()});t({frontmatter:Rt,body:zt});function Bt(e,t,n){return{success:!1,error:{code:e,message:t,...n?.exitCode===void 0?{}:{exitCode:n.exitCode},...n?.details===void 0?{}:{details:n.details},...n?.fix===void 0?{}:{fix:n.fix},...n?.alternatives?{alternatives:n.alternatives}:{},...n?.problemDetails===void 0?{}:{problemDetails:n.problemDetails}}}}var Vt=[`work`,`research`,`experiment`,`bug`,`spike`,`release`],Ht=[`project`,`feature`,`unit`],Ut=[`P0`,`P1`,`P2`,`P3`],Wt=[`small`,`medium`,`large`],Gt=[`verified`,`reconciled`,`superseded`,`shadowed`,`cancelled`,`completed-unverified`],Kt=[`related`,`blocks`,`duplicates`,`absorbs`,`fixes`,`extends`,`supersedes`,`groups`],C;(function(e){e[e.SUCCESS=0]=`SUCCESS`,e[e.GENERAL_ERROR=1]=`GENERAL_ERROR`,e[e.INVALID_INPUT=2]=`INVALID_INPUT`,e[e.FILE_ERROR=3]=`FILE_ERROR`,e[e.NOT_FOUND=4]=`NOT_FOUND`,e[e.DEPENDENCY_ERROR=5]=`DEPENDENCY_ERROR`,e[e.VALIDATION_ERROR=6]=`VALIDATION_ERROR`,e[e.LOCK_TIMEOUT=7]=`LOCK_TIMEOUT`,e[e.CONFIG_ERROR=8]=`CONFIG_ERROR`,e[e.PARENT_NOT_FOUND=10]=`PARENT_NOT_FOUND`,e[e.DEPTH_EXCEEDED=11]=`DEPTH_EXCEEDED`,e[e.SIBLING_LIMIT=12]=`SIBLING_LIMIT`,e[e.INVALID_PARENT_TYPE=13]=`INVALID_PARENT_TYPE`,e[e.CIRCULAR_REFERENCE=14]=`CIRCULAR_REFERENCE`,e[e.ORPHAN_DETECTED=15]=`ORPHAN_DETECTED`,e[e.HAS_CHILDREN=16]=`HAS_CHILDREN`,e[e.TASK_COMPLETED=17]=`TASK_COMPLETED`,e[e.CASCADE_FAILED=18]=`CASCADE_FAILED`,e[e.HAS_DEPENDENTS=19]=`HAS_DEPENDENTS`,e[e.CHECKSUM_MISMATCH=20]=`CHECKSUM_MISMATCH`,e[e.CONCURRENT_MODIFICATION=21]=`CONCURRENT_MODIFICATION`,e[e.ID_COLLISION=22]=`ID_COLLISION`,e[e.SESSION_EXISTS=30]=`SESSION_EXISTS`,e[e.SESSION_NOT_FOUND=31]=`SESSION_NOT_FOUND`,e[e.SCOPE_CONFLICT=32]=`SCOPE_CONFLICT`,e[e.SCOPE_INVALID=33]=`SCOPE_INVALID`,e[e.TASK_NOT_IN_SCOPE=34]=`TASK_NOT_IN_SCOPE`,e[e.TASK_CLAIMED=35]=`TASK_CLAIMED`,e[e.SESSION_REQUIRED=36]=`SESSION_REQUIRED`,e[e.SESSION_CLOSE_BLOCKED=37]=`SESSION_CLOSE_BLOCKED`,e[e.ACTIVE_TASK_REQUIRED=38]=`ACTIVE_TASK_REQUIRED`,e[e.NOTES_REQUIRED=39]=`NOTES_REQUIRED`,e[e.VERIFICATION_INIT_FAILED=40]=`VERIFICATION_INIT_FAILED`,e[e.GATE_UPDATE_FAILED=41]=`GATE_UPDATE_FAILED`,e[e.INVALID_GATE=42]=`INVALID_GATE`,e[e.INVALID_AGENT=43]=`INVALID_AGENT`,e[e.MAX_ROUNDS_EXCEEDED=44]=`MAX_ROUNDS_EXCEEDED`,e[e.GATE_DEPENDENCY=45]=`GATE_DEPENDENCY`,e[e.VERIFICATION_LOCKED=46]=`VERIFICATION_LOCKED`,e[e.ROUND_MISMATCH=47]=`ROUND_MISMATCH`,e[e.AC_LOCKED=48]=`AC_LOCKED`,e[e.EPIC_HAS_PENDING_CHILDREN=49]=`EPIC_HAS_PENDING_CHILDREN`,e[e.CONTEXT_WARNING=50]=`CONTEXT_WARNING`,e[e.CONTEXT_CAUTION=51]=`CONTEXT_CAUTION`,e[e.CONTEXT_CRITICAL=52]=`CONTEXT_CRITICAL`,e[e.CONTEXT_EMERGENCY=53]=`CONTEXT_EMERGENCY`,e[e.CONTEXT_STALE=54]=`CONTEXT_STALE`,e[e.PROTOCOL_MISSING=60]=`PROTOCOL_MISSING`,e[e.INVALID_RETURN_MESSAGE=61]=`INVALID_RETURN_MESSAGE`,e[e.MANIFEST_ENTRY_MISSING=62]=`MANIFEST_ENTRY_MISSING`,e[e.SPAWN_VALIDATION_FAILED=63]=`SPAWN_VALIDATION_FAILED`,e[e.AUTONOMOUS_BOUNDARY=64]=`AUTONOMOUS_BOUNDARY`,e[e.HANDOFF_REQUIRED=65]=`HANDOFF_REQUIRED`,e[e.RESUME_FAILED=66]=`RESUME_FAILED`,e[e.CONCURRENT_SESSION=67]=`CONCURRENT_SESSION`,e[e.THIN_AGENT_VIOLATION=68]=`THIN_AGENT_VIOLATION`,e[e.ATOMICITY_VIOLATION=69]=`ATOMICITY_VIOLATION`,e[e.NEXUS_NOT_INITIALIZED=70]=`NEXUS_NOT_INITIALIZED`,e[e.NEXUS_PROJECT_NOT_FOUND=71]=`NEXUS_PROJECT_NOT_FOUND`,e[e.NEXUS_PERMISSION_DENIED=72]=`NEXUS_PERMISSION_DENIED`,e[e.NEXUS_INVALID_SYNTAX=73]=`NEXUS_INVALID_SYNTAX`,e[e.NEXUS_SYNC_FAILED=74]=`NEXUS_SYNC_FAILED`,e[e.NEXUS_REGISTRY_CORRUPT=75]=`NEXUS_REGISTRY_CORRUPT`,e[e.NEXUS_PROJECT_EXISTS=76]=`NEXUS_PROJECT_EXISTS`,e[e.NEXUS_QUERY_FAILED=77]=`NEXUS_QUERY_FAILED`,e[e.NEXUS_GRAPH_ERROR=78]=`NEXUS_GRAPH_ERROR`,e[e.NEXUS_IMPACT_CRITICAL=79]=`NEXUS_IMPACT_CRITICAL`,e[e.LIFECYCLE_GATE_FAILED=80]=`LIFECYCLE_GATE_FAILED`,e[e.AUDIT_MISSING=81]=`AUDIT_MISSING`,e[e.CIRCULAR_VALIDATION=82]=`CIRCULAR_VALIDATION`,e[e.LIFECYCLE_TRANSITION_INVALID=83]=`LIFECYCLE_TRANSITION_INVALID`,e[e.PROVENANCE_REQUIRED=84]=`PROVENANCE_REQUIRED`,e[e.ARTIFACT_TYPE_UNKNOWN=85]=`ARTIFACT_TYPE_UNKNOWN`,e[e.ARTIFACT_VALIDATION_FAILED=86]=`ARTIFACT_VALIDATION_FAILED`,e[e.ARTIFACT_BUILD_FAILED=87]=`ARTIFACT_BUILD_FAILED`,e[e.ARTIFACT_PUBLISH_FAILED=88]=`ARTIFACT_PUBLISH_FAILED`,e[e.ARTIFACT_ROLLBACK_FAILED=89]=`ARTIFACT_ROLLBACK_FAILED`,e[e.PROVENANCE_CONFIG_INVALID=90]=`PROVENANCE_CONFIG_INVALID`,e[e.SIGNING_KEY_MISSING=91]=`SIGNING_KEY_MISSING`,e[e.SIGNATURE_INVALID=92]=`SIGNATURE_INVALID`,e[e.DIGEST_MISMATCH=93]=`DIGEST_MISMATCH`,e[e.ATTESTATION_INVALID=94]=`ATTESTATION_INVALID`,e[e.ADAPTER_NOT_FOUND=95]=`ADAPTER_NOT_FOUND`,e[e.ADAPTER_INIT_FAILED=96]=`ADAPTER_INIT_FAILED`,e[e.ADAPTER_HOOK_FAILED=97]=`ADAPTER_HOOK_FAILED`,e[e.ADAPTER_SPAWN_FAILED=98]=`ADAPTER_SPAWN_FAILED`,e[e.ADAPTER_INSTALL_FAILED=99]=`ADAPTER_INSTALL_FAILED`,e[e.NO_DATA=100]=`NO_DATA`,e[e.ALREADY_EXISTS=101]=`ALREADY_EXISTS`,e[e.NO_CHANGE=102]=`NO_CHANGE`,e[e.TESTS_SKIPPED=103]=`TESTS_SKIPPED`,e[e.DUPLICATE_TASK_LIKELY=105]=`DUPLICATE_TASK_LIKELY`,e[e.LAFS_VIOLATION=104]=`LAFS_VIOLATION`,e[e.DECISION_VALIDATOR_FAILED=106]=`DECISION_VALIDATOR_FAILED`,e[e.LEAD_BYPASS_DETECTED=107]=`LEAD_BYPASS_DETECTED`,e[e.AC_COVERAGE_INCOMPLETE=108]=`AC_COVERAGE_INCOMPLETE`,e[e.CANCELLED_CHILD_NO_WAIVER=109]=`CANCELLED_CHILD_NO_WAIVER`})(C||={});var qt=`E_CWD_WALKUP_FORBIDDEN`;function Jt(e){return e>=1&&e<100}function Yt(e){let t=new Set([C.FILE_ERROR,C.DEPENDENCY_ERROR,C.CIRCULAR_REFERENCE,C.CASCADE_FAILED,C.SESSION_CLOSE_BLOCKED,C.VERIFICATION_LOCKED,C.CONTEXT_WARNING,C.CONTEXT_CAUTION,C.CONTEXT_CRITICAL,C.CONTEXT_EMERGENCY,C.CONTEXT_STALE,C.AUTONOMOUS_BOUNDARY,C.HANDOFF_REQUIRED,C.NEXUS_PERMISSION_DENIED,C.NEXUS_REGISTRY_CORRUPT,C.CIRCULAR_VALIDATION,C.LIFECYCLE_TRANSITION_INVALID,C.ARTIFACT_TYPE_UNKNOWN,C.ARTIFACT_ROLLBACK_FAILED,C.DIGEST_MISMATCH]);return Jt(e)?!t.has(e):!1}function Xt(e){return C[e]??`UNKNOWN`}var Zt=class extends Error{decisionText;confidence;violations;code=`E_DECISION_VALIDATOR_FAILED`;exitCode=106;constructor(e,t,n){super(`E_DECISION_VALIDATOR_FAILED: decision write rejected (confidence=${t.toFixed(3)}). Violations: [${n.join(`, `)}]. Revise the decision/rationale or explicitly supersede conflicting entries.`),this.decisionText=e,this.confidence=t,this.violations=n,this.name=`DecisionValidatorFailedError`}},Qt=[`commit`,`files`,`test-run`,`tool`,`url`,`note`,`decision`,`pr`,`loc-drop`,`callsite-coverage`,`satisfies`],$t=[...Qt,`state`];RegExp(`;(?=\\s*(?:${$t.join(`|`)})\\s*:)`,`g`);var en=t({kind:d(`commit`),sha:n().regex(/^[0-9a-f]{7,40}$/i,`commit sha must be 7-40 hex characters`)}),tn=t({kind:d(`files`),paths:o(n().min(1)).min(1,`files atom requires at least one path`)}),nn=t({kind:d(`test-run`),path:n().min(1,`test-run atom requires a non-empty path`)}),rn=t({kind:d(`tool`),tool:n().min(1,`tool atom requires a non-empty tool name`)}),an=t({kind:d(`url`),url:n().min(1).regex(/^https?:\/\//,`url atom must start with http:// or https://`)}),on=t({kind:d(`note`),note:n().min(1,`note atom must be non-empty`).max(512,`note atom is too long (max 512 chars)`)}),sn=t({kind:d(`decision`),decisionId:n().min(1,`decision atom requires a non-empty decision ID`)}),cn=t({kind:d(`pr`),prNumber:i().int().positive(`pr atom requires a positive integer PR number`)}),ln=t({kind:d(`loc-drop`),fromLines:i().int().nonnegative(`loc-drop fromLines must be ≥ 0`),toLines:i().int().nonnegative(`loc-drop toLines must be ≥ 0`)}),un=t({kind:d(`callsite-coverage`),symbolName:n().min(1,`callsite-coverage atom requires a non-empty symbolName`),relativeSourcePath:n().min(1,`callsite-coverage atom requires a non-empty relativeSourcePath`)}),dn=/^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,fn=/^AC[0-9]{1,4}$/,pn=/^T[0-9]{1,7}$/,mn=/^[0-9]{14}$/,hn=t({kind:d(`satisfies`),targetTaskId:n().regex(pn,`satisfies atom targetTaskId must match /^T[0-9]{1,7}$/`),targetAcId:n().regex(dn,`satisfies atom targetAcId must be a lowercase UUIDv4/v5`).optional(),targetAcAlias:n().regex(fn,`satisfies atom targetAcAlias must match /^AC[0-9]{1,4}$/`).optional(),versionPin:n().regex(mn,`satisfies atom versionPin must be 14 digits (YYYYMMDDhhmmss)`).optional()});p(`kind`,[en,tn,nn,rn,an,on,sn,cn,ln,un,hn]);var gn=Object.freeze({implemented:{oneOf:[[`commit`,`files`],[`commit`,`note`],[`decision`,`files`],[`decision`,`note`],[`pr`]]},testsPassed:{oneOf:[[`test-run`],[`tool`],[`pr`]]},qaPassed:{oneOf:[[`tool`],[`pr`]]},documented:{oneOf:[[`files`],[`url`]]},securityPassed:{oneOf:[[`tool`],[`note`]]},cleanupDone:{oneOf:[[`note`]]},nexusImpact:{oneOf:[[`tool`],[`note`]]}});Object.freeze({commit:`commit:<sha>`,files:`files:path/a.ts,path/b.ts`,"test-run":`test-run:/tmp/vitest-out.json`,tool:`tool:test`,url:`url:https://example.com/docs`,note:`note:<short description>`,decision:`decision:D-arch-001`,pr:`pr:357`,"loc-drop":`loc-drop:<fromLines>:<toLines>`,"callsite-coverage":`callsite-coverage:<symbolName>:<relativeSourcePath>`,satisfies:`satisfies:T1234#AC2`});var w=t({agentIdentity:n().min(1),attachmentSha256:n().length(64),ranAt:n().datetime(),durationMs:i().nonnegative()}),_n=w.extend({kind:d(`impl-diff`),phase:d(`implement`),filesChanged:o(n().min(1)).min(1),linesAdded:i().int().nonnegative(),linesRemoved:i().int().nonnegative()}),vn=w.extend({kind:d(`validate-spec-check`),phase:d(`validate`),reqIdsChecked:o(n().min(1)).min(1),passed:u(),details:n().min(1)}),yn=w.extend({kind:d(`test-output`),phase:d(`test`),command:n().min(1),exitCode:i().int(),testsPassed:i().int().nonnegative(),testsFailed:i().int().nonnegative()}),bn=w.extend({kind:d(`lint-report`),phase:f([`implement`,`test`]),tool:n().min(1),passed:u(),warnings:i().int().nonnegative(),errors:i().int().nonnegative()}),xn=w.extend({kind:d(`command-output`),phase:f([`implement`,`validate`,`test`]),cmd:n().min(1),exitCode:i().int()});p(`kind`,[_n,vn,yn,bn,xn]),Object.freeze([`active`,`paused`,`satisfied`,`abandoned`,`impossible`]),Object.freeze([`satisfied`,`abandoned`,`impossible`]);var Sn=Object.freeze([{adr:`ADR-056`,code:`D1`,name:`Database topology: keep per-domain split`,description:`CLEO retains the six per-domain SQLite databases (tasks, brain, conduit, nexus, signaldock, telemetry) documented in DATABASE-ERDS.md. Consolidation is rejected to preserve per-DB WAL throughput, per-DB rollback granularity, and avoid single-writer contention during multi-agent waves.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D2`,name:`Store-layer naming convention`,description:"New always-on store-layer domains MUST use the kebab-case pair `packages/core/src/store/<domain>-schema.ts` (Drizzle defs) + `packages/core/src/store/<domain>-sqlite.ts` (open/init/CRUD). Opt-in / isolated domains MAY use the folder variant `packages/core/src/<domain>/{schema,sqlite}.ts` (currently telemetry only).",severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D3`,name:`Migration runner SSoT under migration-manager.ts`,description:"All six SQLite databases MUST be initialized via `packages/core/src/migration/migration-manager.ts` (`migrateWithRetry()` + `reconcileJournal()`). Per-DB bespoke runners are prohibited for new domains. Rust Diesel migrations for cloud signaldock-storage MUST NOT touch the local SQLite signaldock.db at runtime.",severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-056`,code:`D4`,name:`archiveReason 6-value enum with tombstone semantics`,description:`The tasks.archive_reason column is constrained to exactly six values (verified, reconciled, superseded, shadowed, cancelled, completed-unverified) via SQLite CHECK constraint AND Zod z.enum validation. Writing 'completed-unverified' from non-migration code MUST throw E_ARCHIVE_REASON_TOMBSTONE — the tombstone is reserved for the T1408 backfill migration only.`,severity:`error`,runtimeGate:{module:`packages/contracts/src/tasks/archive.ts`,functionName:`assertArchiveReason`},lintRule:null,doctorAudit:null,tests:[`packages/contracts/src/tasks/__tests__/archive.test.ts`]},{adr:`ADR-056`,code:`D5`,name:`Post-release reconciliation: registry-driven cleo verify --release`,description:"Post-release reconciliation flows through the executable invariants registry at packages/core/src/release/invariants/registry.ts. Customers register via registerInvariant() and the CLI runs every entry on `cleo verify --release <tag>`. First customer: archive-reason-invariant.ts (stamps verified tasks done; creates follow-up tasks for unverified references).",severity:`warning`,runtimeGate:{module:`packages/core/src/release/invariants/registry.ts`,functionName:`runInvariants`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/release/invariants/__tests__/archive-reason-invariant.test.ts`]},{adr:`ADR-056`,code:`D6`,name:`Commit-message lint for release commits`,description:"Every commit whose subject matches `^(chore|feat)\\(release\\):` MUST contain at least one `T\\d+` task reference in the commit body. Enforced by scripts/hooks/commit-msg-release-lint.mjs (T1410). Bypass via CLEO_OWNER_OVERRIDE=1 with audited justification.",severity:`info`,runtimeGate:null,lintRule:{lintScript:`scripts/hooks/commit-msg-release-lint.mjs`},doctorAudit:null,tests:[]}]),Cn=`packages/core/src/orchestration/thin-agent.ts`,wn=`packages/core/src/sessions/index.ts`,Tn=`packages/worktree/src/worktree-create.ts`,T=`packages/skills/skills/ct-orchestrator/SKILL.md`,En=`packages/core/src/orchestration/validate-spawn.ts`,Dn=Object.freeze([{adr:`ADR-070`,code:`ORC-001`,name:`Orchestrator is the HITL interface`,description:`The Orchestrator (Cleo) is the single subagent that talks to the human operator. It plans, decomposes, and delegates — it never produces line-level implementation. Source-of-truth lives in ct-orchestrator/SKILL.md row ORC-001 and is injected into the Orchestrator prompt at spawn time. UNENFORCED at the dispatch layer: this is a prompt-time invariant with no runtime guard today.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[T]},{adr:`ADR-070`,code:`ORC-002`,name:`Orchestrator MUST NOT write or edit code`,description:`Every line of code is written by a spawned subagent. The Orchestrator delegates implementation work via cleo orchestrate spawn / delegate_task. UNENFORCED at the dispatch layer: this is a prompt-time invariant — there is no runtime gate that blocks the Orchestrator from calling Edit/Write, so the contract is held by the ct-orchestrator skill text.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[T]},{adr:`ADR-070`,code:`ORC-003`,name:`Orchestrator MUST NOT read full source files`,description:`Orchestrator reads only pipeline manifests, task envelopes, and rolled-up phase summaries returned by Phase Leads. Workers read code; the Orchestrator reads summaries. UNENFORCED at the dispatch layer — held by the ct-orchestrator skill text and reinforced by ORC-005 budget pressure.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[T]},{adr:`ADR-070`,code:`ORC-004`,name:`Dependency-ordered spawning`,description:`Spawns within a wave are ordered by task.depends — a Worker MUST NOT be dispatched until its declared dependencies are status=done. Surfaced by validateSpawnReadiness via V_MISSING_DEP / V_UNMET_DEP codes; surfaced by the skill-orchestrator validator via the ORC-004_DEPENDENCY_ORDER warning emitted from packages/core/src/skills/orchestrator/validator.ts. Tier: warning because the validator surfaces ordering issues but does not throw — workers can still proceed if the operator overrides.`,severity:`warning`,runtimeGate:{module:En,functionName:`validateSpawnReadiness`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/validate-spawn.test.ts`,`packages/core/src/skills/orchestrator/__tests__/validator.test.ts`]},{adr:`ADR-070`,code:`ORC-005`,name:`Orchestrator context budget ≈ 10 K tokens`,description:`The Orchestrator MUST keep its working context under ~10 K tokens; delegate at 80 %. Surfaced by cleo orchestrate context (estimateContext) and by the skill-orchestrator validator (ORC-005_NO_MANIFEST / ORC-005_EMPTY_MANIFEST). UNENFORCED as a hard gate — the budget is advisory, surfaced to the Orchestrator as a warning so the human operator can intervene.`,severity:`warning`,runtimeGate:{module:`packages/core/src/orchestration/context.ts`,functionName:`estimateContext`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/`]},{adr:`ADR-070`,code:`ORC-006`,name:`Worker scope ≤ 3 files per spawn`,description:`Cross-file reasoning quality degrades beyond ~3 files for a single Worker. Enforced at spawn-time by validateSpawnReadiness — V_ATOMIC_SCOPE_MISSING when task.files is empty, V_ATOMIC_SCOPE_TOO_LARGE when files.length > MAX_WORKER_FILES (currently 3). Spawn-prompt builder injects a Worker Budget Constraints section so the Worker sees the budget inline. Tier: error because the gate refuses to spawn an over-scoped Worker.`,severity:`error`,runtimeGate:{module:En,functionName:`validateSpawnReadiness`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/validate-spawn.test.ts`,`packages/core/src/orchestration/__tests__/spawn-prompt.test.ts`]},{adr:`ADR-070`,code:`ORC-007`,name:`All work traced to an Epic`,description:`Every Task and Subtask MUST attach to a parent Epic (directly or transitively). No orphan work — orphans are filed against the ADR-066 acceptance-criteria gate and surface via cleo find. UNENFORCED at the dispatch layer; the parent-id requirement is materialised through cleo add validation rather than a single ORC-named guard. R6 doctor audit should walk the task graph to surface orphans.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[T]},{adr:`ADR-070`,code:`ORC-008`,name:`Zero architectural decisions during execution`,description:`Architectural choices MUST be pre-decided via RCASD consensus or HITL — never inside a worker session. UNENFORCED at the dispatch layer: this is a behavioural invariant held by the ct-orchestrator skill text plus the ADR-066 acceptance criterion that every task must declare its architecture-relevant decisions before spawn.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[T]},{adr:`ADR-070`,code:`ORC-009`,name:`Manifest-mediated handoffs`,description:`Orchestrator reads only the key_findings field of pipeline_manifest rows when reconciling worker output. Subagents read the full task description and supporting files. UNENFORCED at the dispatch layer: the contract is held by the ct-orchestrator skill text and reinforced by ORC-003 + ORC-005 budget pressure.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[T]},{adr:`ADR-070`,code:`ORC-010`,name:`Lead-interposition required for Epic-child Workers`,description:`A Worker spawn against a Task whose parent is type=epic MUST be preceded by a Lead spawn for the same Task (ADR-083 §2.4 / §6). The intended runtime gate (composeSpawnPayload throwing E_LEAD_REQUIRED_FOR_EPIC_CHILD) is FILED but UNSHIPPED — tracked under T10278. Registered here as a warning + runtimeGate:null so the gap is visible in the R6 doctor audit.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-070`,code:`ORC-011`,name:`Orchestrator-depth cap at 3`,description:`Recursive Orchestrator spawns (Cleo → sub-Orchestrator → sub-Orchestrator → …) MUST stop at depth 3 (ADR-083 §2.2 + §2.4). The intended runtime gate (composeSpawnPayload throwing E_ORCHESTRATOR_DEPTH_EXCEEDED) is FILED but UNSHIPPED — tracked under T10279. Registered here as a warning + runtimeGate:null so the gap is visible in the R6 doctor audit.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-070`,code:`ORC-012`,name:`Thin-agent inversion-of-control`,description:`Workers MUST NOT spawn other subagents. The spawn-capable tools (Agent / Task / TaskCreate) are stripped from the Worker tool list at .cant compile time, and any survivor at spawn time triggers ThinAgentViolationError → E_THIN_AGENT_VIOLATION (exit 68). The only ORC rule with a hard-enforced dispatch-time gate today.`,severity:`error`,runtimeGate:{module:Cn,functionName:`enforceThinAgent`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/orchestration/__tests__/thin-agent.test.ts`,`packages/cant/src/__tests__/hierarchy.test.ts`]},{adr:`ADR-070`,code:`ORC-013`,name:`Worktree provisioning at canonical XDG location`,description:`Every agent worktree MUST be created under <cleoHome>/worktrees/<projectHash>/<taskId>/ (ADR-055 + Council D009). createWorktree throws E_WT_LOCATION_FORBIDDEN before any git worktree add call when the computed path falls outside the canonical root. CI gate lint-worktree-location.mjs enforces the same invariant on every PR. The single-most-load-bearing orchestration guard after ORC-012.`,severity:`error`,runtimeGate:{module:Tn,functionName:`assertCanonicalWorktreeLocation`},lintRule:{lintScript:`scripts/lint-worktree-location.mjs`},doctorAudit:null,tests:[`packages/worktree/src/__tests__/`]},{adr:`ADR-070`,code:`ORC-014`,name:`Lead-bypass detection at session end`,description:`A Lead session (CLEO_AGENT_ROLE=lead) that ends with tasks_completed > 0 AND delegate_task_count = 0 is rejected with LeadBypassDetectedError → E_LEAD_BYPASS_DETECTED (exit 107). Leads MUST fan out work to Workers; a Lead that did the work itself defeats the three-tier topology. Override via CLEO_OWNER_OVERRIDE=1 (audited to force-bypass.jsonl).`,severity:`error`,runtimeGate:{module:wn,functionName:`endSession`},lintRule:null,doctorAudit:null,tests:[`packages/core/src/sessions/__tests__/`]}]);Dn.length;var E=`packages/core/src/sagas/enforcement.ts`,On=`packages/core/src/sagas/__tests__/enforcement.test.ts`,kn=Object.freeze([{adr:`ADR-073`,code:`I1`,name:`Storage uniformity`,description:`All task IDs are stored as T#### and the type column is the canonical tier discriminator. There is no separate ID space for Sagas, Epics, Tasks, or Subtasks; label="saga" elevates a type="epic" row to Saga semantics.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[`packages/core/src/tasks/__tests__/id-generator.test.ts`]},{adr:`ADR-073`,code:`I2`,name:`Conceptual prefixes are display + import only`,description:`SG-, E-, T- (and Subtask's implicit absence) are documentation, CLI display, and import-mapping conventions only. They MUST NOT be used as DB primary keys — display-only with no runtime enforcement.`,severity:`info`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I3`,name:`Tier promotion mandatory when scope outgrows the tier`,description:`A Subtask whose change exceeds 2 files or crosses a module boundary MUST be split or promoted to a sibling Task. A Task that requires more than one PR or wave MUST be split. An Epic that spans more than one release MUST be regrouped under a Saga.`,severity:`error`,runtimeGate:{module:E,functionName:`assertSagaInvariantI3`},lintRule:null,doctorAudit:null,tests:[On]},{adr:`ADR-073`,code:`I4`,name:`Ownership non-overlapping`,description:`A single tier maps to a single orchestration role (per ADR-070). Workers MUST NOT spawn other Workers. Phase Leads MUST NOT own multiple Epics simultaneously. The Orchestrator MUST NOT spawn Workers directly when fan-out exceeds the ADR-070 migration threshold.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I5`,name:`Sagas link via groups, not parent`,description:`task_relations.type="groups" is the ONLY relation type that links a Saga to its member Epics. The Saga row's parent_id MUST be NULL. Enforced at runtime by assertSagaInvariantI5 AND by the DB CHECK constraint from W1.B (T10329) on label="saga" rows.`,severity:`error`,runtimeGate:{module:E,functionName:`assertSagaInvariantI5`},lintRule:null,doctorAudit:null,tests:[On]},{adr:`ADR-073`,code:`I6`,name:`Acceptance criteria required at every tier`,description:`Per ADR-066 §"Ownership Matrix" invariant #5, all tasks regardless of type or kind MUST have --acceptance set at creation time. No tier exemption exists. Delegated to the ADR-066 --acceptance requirement on cleo add/add-batch.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]},{adr:`ADR-073`,code:`I7`,name:`Maximum parent depth is 3`,description:`The parent ladder Subtask → Task → Epic is fixed at depth 3 (hierarchy.maxDepth=3). Sagas do NOT consume depth — they attach via groups relations, not parent edges. Enforced at runtime by assertSagaInvariantI7.`,severity:`error`,runtimeGate:{module:E,functionName:`assertSagaInvariantI7`},lintRule:null,doctorAudit:null,tests:[On]},{adr:`ADR-073`,code:`I8`,name:`Subtask-to-PR aggregation rule`,description:`A Task ships as exactly one PR. The PR's commit history is the union of the Task's Subtask commits. A Subtask never produces its own PR; if a unit of work warrants its own PR, it is a Task, not a Subtask. UNENFORCED at runtime today — load-bearing convention enforced via code review and the lifecycle decision table.`,severity:`warning`,runtimeGate:null,lintRule:null,doctorAudit:null,tests:[]}]);function An(e){return`${e.adr}.${e.code}`}function jn(){let e=[...kn,...Sn,...Dn],t={};for(let n of e){let e=An(n);if(t[e]!==void 0)throw Error(`Duplicate invariant key registered: ${e}`);t[e]=n}return Object.freeze(t)}jn();var D=f([`project`,`global`]),O=f([`tasks`,`brain`,`bulk`]),Mn=t({kind:d(`lease_acquire`),scope:D,lane:O,holder_id:n().min(1),priority:i().int().min(0).max(255),ttl_ms:i().int().nonnegative(),reentrant:u()}).strict(),Nn=t({kind:d(`lease_release`),scope:D,lane:O,holder_id:n().min(1),epoch:i().int().nonnegative()}).strict(),Pn=t({kind:d(`lease_renew`),scope:D,lane:O,holder_id:n().min(1),epoch:i().int().nonnegative()}).strict(),Fn=t({kind:d(`rate_check`),scope:D,lane:O,est_bytes:i().int().nonnegative()}).strict(),In=t({kind:d(`tool_grant`),tool:n().min(1),holder_id:n().min(1)}).strict(),Ln=f([`lead`,`worker`,`background`]),Rn=t({kind:d(`queue_admit`),provider:n().min(1),priority_class:Ln,est_tokens:i().int().nonnegative(),child_id:n().min(1)}).strict(),zn=t({kind:d(`worker_heartbeat`),child_id:n().min(1),in_flight_llm:u()}).strict(),Bn=t({kind:d(`resource_admit`),class:n().min(1),holder_id:n().min(1),budget:i().int().nonnegative()}).strict(),Vn=t({kind:d(`resource_release`),class:n().min(1),holder_id:n().min(1)}).strict(),Hn=p(`kind`,[Mn,Nn,Pn,Fn,In,Rn,zn,Bn,Vn]),Un=t({kind:d(`lease_granted`),scope:D,lane:O,holder_id:n().min(1),epoch:i().int().nonnegative(),ttl_ms:i().int().nonnegative(),expires_at_ms:i().int().nonnegative()}).strict(),Wn=t({kind:d(`lease_queued`),scope:D,lane:O,ticket:i().int().nonnegative(),ahead:i().int().nonnegative()}).strict(),Gn=t({kind:d(`lease_denied`),scope:D,code:n().min(1),message:n()}).strict(),Kn=t({kind:d(`rate_result`),scope:D,ok:u(),retry_after_ms:i().int().nonnegative(),tokens_remaining:i().int().nonnegative()}).strict(),qn=t({kind:d(`tool_granted`),tool:n().min(1),holder_id:n().min(1)}).strict(),Jn=t({kind:d(`lease_revoked`),scope:D,lane:O,holder_id:n().min(1),reason:n()}).strict(),Yn=t({kind:d(`child_killed_unresponsive`),child_id:n().min(1),holder_id:n().min(1),scope:D,reason:n()}).strict(),Xn=f([`admitted`,`deferred`]),Zn=t({kind:d(`queue_admit_result`),disposition:Xn,retry_after_ms:i().int().nonnegative(),tokens_remaining:i().int().nonnegative(),queue_position:i().int().nonnegative()}).strict(),Qn=t({kind:d(`heartbeat_ack`)}).strict(),$n=f([`admitted`,`deferred`]),er=t({kind:d(`resource_admit_result`),disposition:$n,retry_after_ms:i().int().nonnegative(),slots_remaining:i().int().nonnegative()}).strict(),tr=t({kind:d(`resource_release_result`),released:u(),slots_remaining:i().int().nonnegative()}).strict(),nr=t({kind:d(`error`),code:n().min(1),message:n()}).strict(),rr=p(`kind`,[Un,Wn,Gn,Kn,qn,Jn,Yn,Zn,Qn,er,tr,nr]),ir=t({protocol_version:n(),id:n().min(1),direction:d(`request`),request:Hn}).strict(),ar=t({protocol_version:n(),id:n().min(1),direction:d(`response`),response:rr}).strict();p(`direction`,[ir,ar]);var or=[`lease_acquire`,`lease_release`,`lease_renew`,`rate_check`,`tool_grant`,`queue_admit`,`worker_heartbeat`,`resource_admit`,`resource_release`],sr=[`lease_granted`,`lease_queued`,`lease_denied`,`rate_result`,`tool_granted`,`lease_revoked`,`child_killed_unresponsive`,`queue_admit_result`,`heartbeat_ack`,`resource_admit_result`,`resource_release_result`,`error`];[...or,...sr];var cr=`1.2.0`,k=[`stable`,`beta`,`preview`,`deprecated`,`retired`],lr=[`api_key`,`oauth`,`bedrock`,`vertex`],A=n().regex(/^\d{4}-\d{2}-\d{2}$/,`must be an ISO date (YYYY-MM-DD)`),ur=n().regex(/^\d+\.\d+\.\d+$/,`must be semver (MAJOR.MINOR.PATCH)`),dr=t({input:o(n()),output:o(n())}).strict(),fr=t({input:i().optional(),output:i().optional(),cache_read:i().optional(),cache_write:i().optional(),context_over_200k:i().optional()}).strict(),pr=t({context:i(),output:i()}).strict(),mr=t({npm:n(),api:n()}).strict(),hr=t({id:n(),name:n(),family:n(),attachment:u(),reasoning:u(),temperature:u(),interleaved:u(),tool_call:u(),modalities:dr,cost:fr,limit:pr,status:f(k),release_date:A,provider:mr}).strict(),gr=t({id:n(),endpoint:n(),authTypes:o(f(lr)).min(1),npm:n().optional()}).strict();t({$schema:n().optional(),version:ur,lastUpdated:A,providers:l(n(),gr),models:l(n(),l(n(),hr))}).strict();var _r=t({id:n(),providerId:n(),name:n(),family:n(),attachment:u(),reasoning:u(),temperature:u(),interleaved:u(),toolCall:u(),modalities:n(),cost:n(),contextLimit:i().nullable().optional(),outputLimit:i().nullable().optional(),status:f(k),releaseDate:A,modelsDevId:n(),source:n(),seededAt:n().optional()}).strict();_r.extend({seededAt:n()});var vr=[`extraction`,`consolidation`,`derivation`,`hygiene`,`judgement`,`plugin`,`compression`],yr=[`frontier`,`standard`,`fast`,`local`],br=[`sentient`,`memory`,`task-executor`,`deriver`,`hygiene`,`plugin`,`compression`,`decision-validator`,`title-generation`,`embedding`];[...yr.map(e=>({kind:`orchestration`,id:e})),...vr.map(e=>({kind:`role`,id:e})),...br.map(e=>({kind:`aux`,id:e}))];var xr={sentient:`consolidation`,memory:`extraction`,"task-executor":`judgement`,deriver:`derivation`,hygiene:`hygiene`,plugin:`plugin`,compression:`compression`,default:null},Sr=[`agent`,`session-debrief`,`claude-mem`,`manual`],j=[`pending`,`active`,`blocked`,`done`,`cancelled`,`archived`,`proposed`],Cr=[`active`,`ended`,`orphaned`,`suspended`],wr=[`active`,`completed`,`blocked`,`failed`,`cancelled`,`aborted`],Tr=[`not_started`,`in_progress`,`blocked`,`completed`,`skipped`,`failed`],Er=[`proposed`,`accepted`,`superseded`,`deprecated`],Dr=[`pending`,`passed`,`failed`,`waived`],Or=[`completed`,`partial`,`blocked`,`archived`],kr=new Set([`done`,`cancelled`,`archived`]),Ar={task:j,session:Cr,lifecycle_pipeline:wr,lifecycle_stage:Tr,adr:Er,gate:Dr,manifest:Or};function jr(e,t){return Ar[e].includes(t)}var M=`E_WORKGRAPH_PARENT_TYPE_MATRIX`,N=f([`saga`,`epic`,`task`,`subtask`]),Mr=f([`critical`,`high`,`medium`,`low`]),P=f(j),F=f([`implemented`,`testsPassed`,`qaPassed`,`cleanupDone`,`securityPassed`,`documented`,`nexusImpact`]),Nr=f([`contains`,`depends_on`,`blocks`,`relates_to`,`groups`,`satisfies`]),I=f([`ancestors`,`descendants`,`upstream`,`downstream`]),Pr=f([`out`,`in`,`both`]),L=t({cursor:n().min(1).optional(),limit:i().int().positive().max(500).optional()}),R=t({id:n().min(1),type:N,title:n(),status:P,priority:Mr,parentId:n().min(1).optional()}),z=t({fromId:n().min(1),toId:n().min(1),kind:Nr}),Fr=t({fromId:n().min(1),toId:n().min(1),kind:d(`contains`)}).strict(),B=t({nextCursor:n().min(1).optional(),hasMore:u()}),V=t({total:i().int().nonnegative(),byStatus:a(P,i().int().nonnegative()),byType:a(N,i().int().nonnegative())}),Ir=t({done:i().nonnegative(),active:i().nonnegative(),blocked:i().nonnegative(),pending:i().nonnegative(),cancelled:i().nonnegative()}),Lr=t({field:n().min(1),expected:i().int().nonnegative(),actual:i().int().nonnegative()}),H=R.extend({role:n().min(1).optional(),dependencyBlockers:o(t({taskId:n().min(1),status:P})),gateBlockers:o(t({gate:F}))}),Rr=z.extend({source:d(`relation`),relationType:f(Kt),reason:n().min(1).optional()}),zr=z.extend({source:d(`dependency`),kind:d(`depends_on`)}),Br=f([`budget_exceeded`,`not_requested`,`not_available`,`redacted`,`truncated`]),Vr=t({tokenBudget:i().int().nonnegative(),estimatedTokens:i().int().nonnegative(),remainingTokens:i().int().nonnegative(),truncated:u()}),Hr=t({path:n().min(1),reason:Br,message:n().min(1),estimatedTokens:i().int().nonnegative().optional()}),Ur=p(`source`,[Rr,zr]);L.extend({rootId:n().min(1),tokenBudget:i().int().positive().optional(),includeRelations:u().optional(),includeReadiness:u().optional(),includeRollup:u().optional()}),L.extend({rootId:n().min(1),direction:I.optional(),maxDepth:i().int().nonnegative().optional(),includeRelations:u().optional()});var Wr=t({rootId:n().min(1),direction:I,nodes:o(R),edges:o(z),pageInfo:B,omissions:o(Hr).optional()});t({rootId:n().min(1),role:n().min(1).optional(),includeGateBlockers:u().optional()});var Gr=t({rootId:n().min(1),role:n().min(1).optional(),ready:u(),warnings:o(n()),groups:t({ready:o(H),blocked:o(H),blockedBy:o(p(`kind`,[t({kind:d(`dependency`),blockerId:n().min(1),blocks:o(n().min(1))}),t({kind:d(`gate`),gate:F,blocks:o(n().min(1))})]))})});t({rootId:n().min(1),generatedAt:n().min(1),budget:Vr,slice:Wr,relationEdges:t({rootId:n().min(1),direction:Pr,edges:o(Ur)}).optional(),readiness:Gr.optional(),rollup:c(()=>U).optional(),omissions:o(Hr)});var Kr=t({rootId:n().min(1),nodes:o(t({id:n().min(1),type:N,parentId:n().min(1).nullable().optional()})),edges:o(Ur).optional(),dryRun:u().optional()}),qr=t({code:n().min(1),message:n().min(1),taskId:n().min(1).optional(),severity:f([`error`,`warning`])}),Jr=t({rootId:n().min(1),valid:u(),dryRun:u(),issues:o(qr),hierarchy:t({valid:u(),violations:o(t({code:d(M),taskId:n().min(1),taskType:N,parentId:n().min(1).nullable(),parentType:N.optional(),message:n().min(1)}))})});Kr.extend({apply:u().optional()}),Jr.extend({applied:u(),nodesChanged:i().int().nonnegative(),edgesChanged:i().int().nonnegative()}),t({rootId:n().min(1),audience:f([`agent`,`maintainer`]),tokenBudget:i().int().positive().optional(),includeRelations:u().optional(),includeReadiness:u().optional(),includeRollup:u().optional()}),t({rootId:n().min(1),generatedAt:n().min(1),audience:f([`agent`,`maintainer`]),title:n().min(1),content:n(),sections:o(n().min(1)),estimatedTokens:i().int().nonnegative(),budget:t({tokenBudget:i().int().positive(),truncated:u()}).optional()}),L.extend({rootId:n().min(1),direction:I,maxDepth:i().int().nonnegative().optional(),includeRelations:u().optional()});var Yr=t({rootId:n().min(1),direction:I,nodes:o(R),edges:o(z),pageInfo:B});L.extend({rootId:n().min(1),maxDepth:i().int().nonnegative().optional()}),t({rootId:n().min(1),nodes:o(R.extend({depth:i().int().positive()})),edges:o(Fr),pageInfo:B}),t({rootId:n().min(1),expectedDirectRollup:V.optional()});var U=t({rootId:n().min(1),direct:V,subtree:V,percentDenominator:t({basis:d(`subtree-total`),total:i().int().nonnegative(),description:n().min(1)}),percentages:Ir,staleProjection:u(),projectionMismatches:o(Lr)});t({rootId:n().min(1),role:n().min(1).optional()});var Xr=t({rootId:n().min(1),role:n().min(1).optional(),groups:t({ready:o(H),blocked:o(H),blockedBy:o(p(`kind`,[t({kind:d(`dependency`),blockerId:n().min(1),blocks:o(n().min(1))}),t({kind:d(`gate`),gate:F,blocks:o(n().min(1))})]))})});L.extend({rootId:n().min(1),maxDepth:i().int().nonnegative().optional(),includeRelations:u().optional()}),t({rootId:n().min(1),hierarchy:t({valid:u(),violations:o(t({code:d(M),taskId:n().min(1),taskType:N,parentId:n().min(1).nullable(),parentType:N.optional(),message:n().min(1)}))}),traversal:Yr,frontier:Xr,rollup:U,relationEdges:t({rootId:n().min(1),direction:Pr,edges:o(p(`source`,[Rr,zr]))}).optional()});var Zr={saga:[],epic:[`saga`],task:[`epic`],subtask:[`task`]};function Qr(e,t){return Zr[e].includes(t)}var $r=t({title:n({message:`title must be a non-empty string`}).refine(e=>e.trim().length>0,{message:`title must be a non-empty string`}),acceptance:o(s(),{message:`must have a non-empty acceptance array`}).min(1,{message:`must have a non-empty acceptance array`}).refine(e=>e.some(e=>typeof e==`string`&&e.trim().length>0),{message:`acceptance array contains no non-empty strings`}),id:n().optional(),parentId:n().optional(),depends:o(n()).optional()}),ei=o($r,{message:`task_tree must be a non-empty array`}).min(1,{message:`task_tree is an empty array — decomposition produced no tasks`}),ti=s().superRefine((e,t)=>{if(e==null){t.addIssue({code:`custom`,message:`evidence must be present (non-null, non-undefined)`});return}if(typeof e==`string`){e.trim().length===0&&t.addIssue({code:`custom`,message:`evidence string must not be empty`});return}if(Array.isArray(e)){e.length===0&&t.addIssue({code:`custom`,message:`evidence array must not be empty`});return}if(typeof e==`object`){Object.keys(e).length===0&&t.addIssue({code:`custom`,message:`evidence object must have at least one key (got {})`});return}t.addIssue({code:`custom`,message:`evidence must be a string, array, or object (got ${typeof e})`})}),ni=s(),ri=[`version_bump_report`,`changelog_entry`,`publish_report`,`research_summary`,`consensus_decision`,`architecture_plan`,`specification_document`,`implementation_diff`,`validation_report`,`audit_report`,`test_report`,`release_confirmation`];new Map([[`task_tree`,{name:`task_tree`,contextKey:`task_tree`,schema:ei}],[`evidence`,{name:`evidence`,contextKey:`evidence`,schema:ti}],...ri.map(e=>[e,{name:e,contextKey:e,schema:ni}])]),t({kind:d(`pr`),prNumber:i().int().positive()}),t({kind:d(`state`),value:d(`MERGED`)}),t({state:f([`OPEN`,`CLOSED`,`MERGED`]),mergedAt:n().nullable(),headRefOid:n().optional(),mergeable:n().optional(),statusCheckRollup:o(t({__typename:n().optional(),name:n().optional(),workflowName:n().optional(),conclusion:n().nullable().optional(),status:n().optional()}).passthrough()).optional().default([])}).passthrough(),Object.freeze([`CI`,`Lockfile Check`,`Contracts Dep Lint`]);var ii=[`latest`,`beta`,`alpha`,`rc`],ai=[`calver`,`semver`,`calver-suffix`],oi=[`regular`,`hotfix`,`prerelease`],si=[`planned`,`pr-opened`,`pr-merged`,`published`,`reconciled`,`rolled_back`,`failed`,`cancelled`],ci=[`passed`,`failed`,`skipped`,`unresolved`],li=[`test`,`build`,`lint`,`typecheck`,`audit`,`security-scan`],ui=[`linux-x64`,`linux-arm64`,`macos-x64`,`macos-arm64`,`windows-x64`,`any`],di=[`npm`,`cargo`,`docker`,`pypi`,`github-release`,`binary`],fi=[`feat`,`fix`,`chore`,`docs`,`refactor`,`test`,`perf`,`revert`,`breaking`,`hotfix`],pi=[`major`,`minor`,`patch`],mi=[`project-context`,`language-default`,`legacy-alias`],hi=f(ii),gi=f(ai),_i=f(oi),vi=f(si),yi=f(ci),bi=f(li),xi=f(ui),Si=f(di),Ci=f(fi),wi=f(pi),Ti=f(mi),W=ee({offset:!0}),G=n().min(1),Ei=t({id:G,kind:Ci,impact:wi,userFacingSummary:n(),evidenceAtoms:o(G),ivtrPhaseAtPlan:n().optional(),epicAncestor:G}),Di=t({name:bi,atom:G,status:yi,lastVerifiedAt:W,resolvedCommand:n().optional(),resolvedSource:Ti.optional()}),Oi=t({platform:xi,publisher:Si,package:G,smoke:u().default(!0).optional()}),ki=t({esbuildExternalsDrift:u(),lockfileDrift:u(),epicCompletenessClean:u(),doubleListingClean:u(),preflightWarnings:o(n()).default([]).optional()}),Ai=t({features:o(G).default([]),fixes:o(G).default([]),chores:o(G).default([]),breaking:o(G).default([])}),ji=t({firstEverRelease:u().optional(),unresolvedTools:o(n()).optional(),archetype:n().optional()}).catchall(s());t({$schema:n().optional(),version:G,resolvedVersion:G,suffixApplied:u(),scheme:gi,channel:hi,epicId:G,releaseKind:_i,createdAt:W,createdBy:G,previousVersion:n().nullable(),previousTag:n().nullable(),previousShippedAt:W.nullable(),tasks:o(Ei),changelog:Ai,gates:o(Di),platformMatrix:o(Oi),preflightSummary:ki,workflowRunUrl:n().nullable(),prUrl:n().nullable(),mergeCommitSha:n().nullable(),status:vi,meta:ji.optional()}),Object.freeze([`interactive-cli`,`agent-session`,`llm-call`,`test-run`,`scoped-build`,`full-build`,`db-heavy`,`background-autonomous`]);var Mi=2e3,Ni=`1.0`,Pi=t({isClean:u(),findingsCount:i().int().nonnegative(),patterns:o(n()),totalScanned:i().int().nonnegative()}),Fi=t({noteExcerpt:n().max(200).optional(),tasksCompletedCount:i().int().nonnegative(),tasksFocused:o(n()).max(5).optional()});t({schemaVersion:d(`1.0`),timestamp:n(),sessionId:n(),eventType:f([`session_start`,`session_end`,`observation`,`decision`,`error`]),agentIdentifier:n().optional(),providerId:n().optional(),scope:n().optional(),duration:i().int().nonnegative().optional(),tasksCompleted:o(n()).optional(),doctorSummary:Pi.optional(),debriefSummary:Fi.optional(),prevEntryHash:n().optional()});var Ii=t({kind:d(`file`),sha256:n().length(64),timestamp:n().datetime(),path:n().min(1),mime:n().optional(),description:n().optional()}),Li=t({kind:d(`log`),sha256:n().length(64),timestamp:n().datetime(),source:n().min(1),description:n().optional()}),Ri=t({kind:d(`screenshot`),sha256:n().length(64),timestamp:n().datetime(),mime:f([`image/png`,`image/jpeg`,`image/webp`]).optional(),description:n().optional()}),zi=t({kind:d(`test-output`),sha256:n().length(64),timestamp:n().datetime(),passed:i().int().nonnegative(),failed:i().int().nonnegative(),skipped:i().int().nonnegative(),exitCode:i().int(),description:n().optional()}),Bi=t({kind:d(`command-output`),sha256:n().length(64),timestamp:n().datetime(),cmd:n().min(1),exitCode:i().int(),description:n().optional()});p(`kind`,[Ii,Li,Ri,zi,Bi]);var Vi=f([`verified`,`reconciled`,`superseded`,`shadowed`,`cancelled`,`completed-unverified`]);Vi.options;var Hi=`completed-unverified`,Ui=f([`info`,`warning`]),Wi=t({code:n().min(1),message:n().min(1),severity:Ui.optional(),taskId:n().min(1).optional(),field:n().min(1).optional(),index:i().int().nonnegative().optional()}),Gi=t({dryRun:d(!0),wouldCreate:i().int().nonnegative(),wouldUpdate:i().int().nonnegative(),wouldDelete:i().int().nonnegative(),wouldAffect:i().int().nonnegative(),validatedCount:i().int().nonnegative(),insertedCount:d(0),updatedCount:d(0),deletedCount:d(0),warnings:o(Wi)}),K=t({id:n().min(1)}).passthrough();t({dryRun:u().optional(),created:o(K),updated:o(K),deleted:o(K),affectedCount:i().int().nonnegative(),mutationWarnings:o(Wi),dryRunSummary:Gi.optional()});var q=f(j),Ki=f([`text`,`evidence_bound`,`child_task`]),qi=f([`satisfied`,`unsatisfied`,`waived`,`replaced`]),Ji=f([`missing_evidence_binding`,`child_not_done`,`child_cancelled_requires_waiver`,`child_replacement_not_done`,`child_missing`,`done_parent_stale`]),Yi=f([`done_parent_has_unsatisfied_criteria`]),Xi=f([`projection_not_stale`,`criteria_missing`,`binding_target_missing`,`repair_conflict`]),Zi=t({criterionAcId:n().min(1),childTaskId:n().min(1),reason:n().min(1),actor:n().min(1),waivedAt:n().min(1)}),Qi=t({criterionAcId:n().min(1),originalChildTaskId:n().min(1),replacementChildTaskId:n().min(1),reason:n().min(1),actor:n().min(1),replacedAt:n().min(1)}),J=t({acId:n().min(1),alias:n().min(1),text:n(),kind:Ki,status:qi,reason:Ji.optional(),targetTaskId:n().min(1).optional(),targetTaskStatus:q.optional(),waiver:Zi.optional(),replacement:Qi.optional(),replacementTaskStatus:q.optional(),evidenceBindings:i().int().nonnegative()}),$i=J.extend({status:d(`unsatisfied`),reason:Ji}),ea=t({criteria:i().int().nonnegative(),satisfied:i().int().nonnegative(),unsatisfied:i().int().nonnegative(),waived:i().int().nonnegative(),replaced:i().int().nonnegative()}),ta=t({taskId:n().min(1),generatedAt:n().min(1),source:d(`audit_log`),window:t({limit:i().int().positive(),since:n().min(1).optional(),relationDepth:i().int().nonnegative(),relatedTaskIds:o(n().min(1))}),events:o(t({id:n().min(1),timestamp:n().min(1),action:f([`task_completed`,`task_reopened`,`task_cancelled`,`task_uncancelled`,`task_reparented`,`ac_projection_rebuilt`]),taskId:n().min(1),relation:f([`self`,`parent`,`child`,`sibling`,`related`]),actor:n().min(1),details:l(n(),s()).optional(),before:l(n(),s()).optional(),after:l(n(),s()).optional()})),summary:t({totalEvents:i().int().nonnegative(),byAction:l(n(),i().int().nonnegative()),byRelation:l(n(),i().int().nonnegative()),latestEventAt:n().nullable()})});t({taskId:n().min(1),taskStatus:q,ready:u(),stale:u(),staleReasons:o(Yi),contextPack:ta.optional(),satisfied:o(J),unsatisfied:o($i),waived:o(J),replaced:o(J),totals:ea}),t({taskId:n().min(1),ready:u(),stale:u(),summary:n(),contextPack:ta.optional(),blockers:o(J)}),t({taskId:n().min(1),status:qi.optional(),kind:Ki.optional()}),t({taskId:n().min(1),criteria:o(J),totals:ea}),t({taskId:n().min(1),includeContext:u().optional(),limit:i().int().positive().optional(),since:n().min(1).optional(),relationDepth:i().int().nonnegative().optional()});var na=t({code:Xi,message:n().min(1),taskId:n().min(1),acId:n().min(1).optional(),evidenceAtomId:n().min(1).optional()});t({taskId:n().min(1),dryRun:u().optional()}),t({taskId:n().min(1),repaired:u(),dryRun:u(),staleBefore:u(),staleAfter:u(),errors:o(na)});var Y=[{tag:`architecture`,label:`Architecture`,description:`Cross-cutting architectural decisions, patterns, and subsystem-level concerns`,axes:[`domain`,`type`],adhocAliases:[`architecture`]},{tag:`cli`,label:`CLI`,description:`Command-line interface, dispatch, and command infrastructure`,axes:[`domain`],adhocAliases:[`cli`]},{tag:`core`,label:`Core`,description:`Core engine, shared utilities, and foundational modules`,axes:[`domain`],adhocAliases:[`core`,`pm-core-v2`,`foundation`]},{tag:`contracts`,label:`Contracts`,description:`Type contracts, schemas, and public API surface definitions`,axes:[`domain`],adhocAliases:[`contracts`,`schema`]},{tag:`caamp`,label:`CAAMP`,description:`Cross-Agent Adaptive Messaging Protocol — hooks, adapters, providers`,axes:[`domain`],adhocAliases:[`caamp`,`cant`,`pi`,`cant-dsl`]},{tag:`skills`,label:`Skills`,description:`Agent skill definitions, injection, dispatch, and guard patterns`,axes:[`domain`],adhocAliases:[`skills`]},{tag:`brain`,label:`BRAIN`,description:`Cognitive memory system — decisions, patterns, observations, learnings`,axes:[`domain`],adhocAliases:[`brain`]},{tag:`nexus`,label:`Nexus`,description:`Code intelligence surface — project indexing, impact analysis, cross-repo`,axes:[`domain`],adhocAliases:[`nexus`]},{tag:`orchestration`,label:`Orchestration`,description:`Multi-agent orchestration, playbooks, LOOM lifecycle, spawn dispatch`,axes:[`domain`],adhocAliases:[`orchestration`,`orchestrate`]},{tag:`sessions`,label:`Sessions`,description:`Session lifecycle — handoff, debrief, briefing, snapshot, state`,axes:[`domain`],adhocAliases:[`sessions`]},{tag:`tasks`,label:`Tasks`,description:`Task management — CRUD, gates, evidence, acceptance criteria, lifecycle`,axes:[`domain`],adhocAliases:[`tasks`]},{tag:`docs`,label:`Documents`,description:`Document storage, retrieval, taxonomy, publish, and provenance`,axes:[`domain`],adhocAliases:[`docs`,`documentation`]},{tag:`cleoos`,label:`CleoOS`,description:`CleoOS runtime — gateway, daemon, injection facade, agents`,axes:[`domain`],adhocAliases:[`cleoos`,`facade`,`sentient`]},{tag:`worktrunk`,label:`Worktrunk`,description:`Git worktree management — spawn, adopt, prune, lifecycle`,axes:[`domain`],adhocAliases:[`worktrunk`,`worktrunk-ssot`]},{tag:`agents`,label:`Agents`,description:`Agent profiles, execution learning, registry, dispatch`,axes:[`domain`],adhocAliases:[`agents`]},{tag:`routing`,label:`Routing`,description:`Operation routing, capability matrix, dispatch path resolution`,axes:[`domain`],adhocAliases:[`routing`]},{tag:`studio`,label:`Studio`,description:`Web UI, dashboard, and visual interfaces`,axes:[`domain`],adhocAliases:[`studio`]},{tag:`architectural`,label:`Architectural Decision`,description:`Cross-cutting architectural decision with durable rationale`,axes:[`type`],adhocAliases:[`architectural`]},{tag:`technical`,label:`Technical Decision`,description:`Implementation-scoped technical decision (library, pattern, algorithm)`,axes:[`type`],adhocAliases:[`technical`]},{tag:`process`,label:`Process Decision`,description:`Workflow, methodology, or operational process decision`,axes:[`type`],adhocAliases:[`process`]},{tag:`strategic`,label:`Strategic Decision`,description:`Long-horizon direction-setting decision spanning multiple epics`,axes:[`type`],adhocAliases:[`strategic`]},{tag:`tactical`,label:`Tactical Decision`,description:`Short-horizon execution-level decision (AGT-* dispatch, within-sprint)`,axes:[`type`],adhocAliases:[`tactical`]},{tag:`operational`,label:`Operational Decision`,description:`Infrastructure, deployment, or runtime configuration decision`,axes:[`type`],adhocAliases:[`operational`]},{tag:`bugfix`,label:`Bug Fix`,description:`Defect correction or regression fix`,axes:[`type`],adhocAliases:[`bugfix`,`bug-fix`,`hygiene`]},{tag:`refactor`,label:`Refactor`,description:`Internal restructuring without functional change`,axes:[`type`],adhocAliases:[`refactor`]},{tag:`feature`,label:`Feature`,description:`New capability or user-facing enhancement`,axes:[`type`],adhocAliases:[`feature`]},{tag:`discovery`,label:`Discovery`,description:`Exploratory research, investigation, or spike outcome`,axes:[`type`],adhocAliases:[`discovery`,`exploration`,`research-type`]},{tag:`migration`,label:`Migration`,description:`Data or schema migration, backfill, or upgrade path`,axes:[`type`],adhocAliases:[`migration`,`migrations`]},{tag:`unification`,label:`Unification`,description:`Consolidation of fragmented systems into a single SSoT`,axes:[`type`],adhocAliases:[`unification`]},{tag:`bootstrap`,label:`Bootstrap`,description:`Initial setup, scaffolding, or seed infrastructure`,axes:[`type`],adhocAliases:[`bootstrap`]},{tag:`research`,label:`Research`,description:`LOOM stage 1: information gathering and domain understanding`,axes:[`lifecycle`],adhocAliases:[`research`,`wave-0`]},{tag:`consensus`,label:`Consensus`,description:`LOOM stage 2: multi-agent consensus and validation of findings`,axes:[`lifecycle`],adhocAliases:[`consensus`]},{tag:`design`,label:`Architecture Decision`,description:`LOOM stage 3: architecture decision recording and validation`,axes:[`lifecycle`],adhocAliases:[`design`,`architecture_decision`]},{tag:`specification`,label:`Specification`,description:`LOOM stage 4: technical specification authoring`,axes:[`lifecycle`],adhocAliases:[`specification`,`rfc`]},{tag:`decomposition`,label:`Decomposition`,description:`LOOM stage 5: task decomposition and dependency modeling`,axes:[`lifecycle`],adhocAliases:[`decomposition`]},{tag:`implementation`,label:`Implementation`,description:`LOOM stage 6: code authoring and unit-level verification`,axes:[`lifecycle`],adhocAliases:[`implementation`,`wave-1`,`wave-2`,`wave-3`,`wave-4`,`wave-5`,`wave.1`,`wave.2`,`wave.3`]},{tag:`validation`,label:`Validation`,description:`LOOM stage 7: integration testing and gate verification`,axes:[`lifecycle`],adhocAliases:[`validation`,`testing`]},{tag:`release`,label:`Release`,description:`LOOM stage 9: versioning, changelog, npm publish, tag push`,axes:[`lifecycle`,`type`],adhocAliases:[`release`]},{tag:`p0`,label:`P0 — Critical`,description:`Drop-everything critical: blocks release, data loss, security incident`,axes:[`priority`],adhocAliases:[`p0`,`critical`,`prime-tier1`]},{tag:`p1`,label:`P1 — High`,description:`High priority: blocks dependent work, user-visible degradation`,axes:[`priority`],adhocAliases:[`p1`]},{tag:`p2`,label:`P2 — Medium`,description:`Medium priority: should fix, not blocking current wave`,axes:[`priority`],adhocAliases:[`p2`]},{tag:`p3`,label:`P3 — Low`,description:`Low priority: nice-to-have, cleanup, future consideration`,axes:[`priority`],adhocAliases:[`p3`]},{tag:`adr`,label:`Architecture Decision Record`,description:`Formal architecture decision record with rationale and alternatives`,axes:[`doc_kind`],adhocAliases:[`adr`]},{tag:`spec`,label:`Specification`,description:`Technical specification for a feature, protocol, or subsystem`,axes:[`doc_kind`],adhocAliases:[`spec`]},{tag:`research`,label:`Research Note`,description:`Investigation findings, surveys, and domain analysis`,axes:[`doc_kind`],adhocAliases:[`research`]},{tag:`handoff`,label:`Handoff Note`,description:`Cross-session handoff with state, blockers, and next actions`,axes:[`doc_kind`],adhocAliases:[`handoff`]},{tag:`note`,label:`Note`,description:`General-purpose note, observation, or free-form documentation`,axes:[`doc_kind`],adhocAliases:[`note`]},{tag:`llmreadme`,label:`LLM README`,description:`Agent-consumable project overview, conventions, and context`,axes:[`doc_kind`],adhocAliases:[`llmreadme`,`llm-readme`]},{tag:`designmd`,label:`Design Doc`,description:`Google DESIGN.md token spec for agent interface contracts`,axes:[`doc_kind`],adhocAliases:[`designmd`,`design-md`]},{tag:`changeset`,label:`Changeset`,description:`User-facing changelog entry for a single change`,axes:[`doc_kind`],adhocAliases:[`changeset`]},{tag:`changelog`,label:`Changelog`,description:`Aggregated release changelog for a version`,axes:[`doc_kind`],adhocAliases:[`changelog`]}];Y.map(e=>e.tag),new Map(Y.map(e=>[e.tag,e]));var ra=new Map;for(let e of Y)for(let t of e.adhocAliases)ra.set(t,e.tag);var X=new Map;for(let e of[`domain`,`type`,`lifecycle`,`priority`,`doc_kind`])X.set(e,Y.filter(t=>t.axes.includes(e)));var ia=X.get(`type`).map(e=>e.tag);X.get(`domain`).map(e=>e.tag),X.get(`doc_kind`).map(e=>e.tag);var Z=class extends Error{invalidTags;constructor(e,t){super(e),this.invalidTags=t,this.name=`TaxonomyError`}},aa=class e{byId;adhocMap;constructor(e){this.byId=new Map(e.map(e=>[e.tag,e])),this.adhocMap=new Map;for(let t of e)for(let e of t.adhocAliases){let n=this.adhocMap.get(e);if(n!==void 0&&n!==t.tag)throw new Z(`Ad-hoc alias '${e}' maps to both '${n}' and '${t.tag}' — aliases must be unique across targets`,[e]);this.adhocMap.set(e,t.tag)}}static default=new e(Y);isCanonical(e){return this.byId.has(e)}get(e){return this.byId.get(e)}list(){return[...this.byId.values()]}listByAxis(e){return this.list().filter(t=>t.axes.includes(e))}normalize(e){return this.adhocMap.get(e)}validate(e){return e.filter(e=>!this.byId.has(e))}validateOrThrow(e,t){let n=this.validate(e);if(n.length>0)throw new Z(`${t}: unknown tags [${n.join(`, `)}]. Use canonical tags. Run 'cleo taxonomy list' to see all valid tags.`,n)}normalizeSet(e){let t=new Set;for(let n of e){let e=this.normalize(n);t.add(e??n)}return[...t]}},oa=[`workflow`,`config`,`agent`,`skill`,`provider`,`doc`],sa=[`regex-tmpl`,`static`,`json-merge`],ca=[`overwrite-on-bump`,`diff-prompt`,`immutable`,`manifest-merge`],la=[`project-context`,`project-info`,`.cleo/config`,`~/.cleo/config`,`tool-resolver`,`literal`],ua=t({name:n().min(1,`placeholder name must be non-empty`),source:f(la),sourcePath:n().min(1,`placeholder sourcePath must be non-empty`),defaultValue:r([n(),i(),u(),te()]).optional()});t({id:n().min(1,`id must be non-empty`),kind:f(oa),sourcePath:n().min(1,`sourcePath must be non-empty`),installPath:n().min(1,`installPath must be non-empty`),substitution:f(sa),placeholders:o(ua),updateStrategy:f(ca)});var Q=/^validator-[a-z0-9][a-z0-9-]*$/,da=t({acId:n().min(1,`acId must be non-empty`),status:f([`pass`,`fail`,`inconclusive`]),reasoning:n().min(1,`reasoning must be non-empty`),evidenceRefs:o(n()).optional(),checkedAt:n().min(1,`checkedAt must be a non-empty ISO-8601 string`)}),fa=t({verdict:d(`attest`),taskId:n().min(1),validatorId:n().regex(Q,`validatorId must match the pattern validator-<discriminator>`),findings:o(da).min(1,`attestation must contain at least one finding`).refine(e=>e.every(e=>e.status===`pass`),`attestation requires every finding to have status="pass"`),summary:n().optional(),attestedAt:n().min(1),schemaVersion:d(`1`)}),pa=t({verdict:d(`reject`),taskId:n().min(1),validatorId:n().regex(Q,`validatorId must match the pattern validator-<discriminator>`),findings:o(da).min(1,`rejection must contain at least one finding`).refine(e=>e.some(e=>e.status!==`pass`),`rejection requires at least one finding with status "fail" or "inconclusive"`),summary:n().min(1,`rejection summary must be non-empty`),remediationHints:o(n()).optional(),rejectedAt:n().min(1),schemaVersion:d(`1`)});p(`verdict`,[fa,pa]);var $=`[ \\t\\r]`,ma=e=>`^${$}*[<!-]{1,4}${$}*CAAMP${$}*:${$}*${e}${$}*[->]{1,3}${$}*$`;ma(`START`),ma(`END`);export{Ti as $,Bt as $n,je as $r,Wn as $t,bi as A,un as An,gt as Ar,vr as At,ai as B,an as Bn,_ as Br,cr as Bt,zi as C,ue as Ci,vn as Cn,it as Cr,j as Ct,Mi as D,re as Di,gn as Dn,pt as Dr,xr as Dt,Pi as E,ce as Ei,Qt as En,ft as Er,Sr as Et,di as F,on as Fn,Xe as Fr,dr as Ft,_i as G,Jt as Gn,Be as Gr,Gn as Gt,mi as H,qt as Hn,He as Hr,or as Ht,xi as I,cn as In,Ze as Ir,hr as It,Ei as J,Vt as Jn,Re as Jr,ir as Jt,Ai as K,Yt as Kn,Ve as Kr,nr as Kt,Si as L,hn as Ln,Ye as Lr,mr as Lt,pi as M,sn as Mn,st as Mr,k as Mt,wi as N,tn as Nn,ct as Nr,fr as Nt,li as O,pn as On,mt as Or,br as Ot,ui as P,ln as Pn,Qe as Pr,pr as Pt,vi as Q,Wt as Qn,qe as Qr,O as Qt,ii as R,nn as Rn,Je as Rr,gr as Rt,Ri as S,m as Si,yn as Sn,rt as Sr,Ar as St,Fi as T,oe as Ti,dn as Tn,dt as Tr,jr as Tt,hi as U,C as Un,Pe as Ur,sr as Ut,si as V,Zt as Vn,ke as Vr,Yn as Vt,Di as W,Xt as Wn,ze as Wr,Mn as Wt,ki as X,Ht as Xn,Le as Xr,ar as Xt,Oi as Y,Kt as Yn,Me as Yr,Hn as Yt,gi as Z,Ut as Zn,Ke as Zr,rr as Zt,Hi as _,le as _i,kn as _n,b as _r,Dr as _t,la as a,Oe as ai,Rn as an,At as ar,$r as at,Ii as b,ne as bi,_n as bn,yt as br,Or as bt,sa as c,Te as ci,Fn as cn,kt as cr,Qr as ct,ia as d,_e as di,Bn as dn,x as dr,Yr as dt,Ie as ei,Nn as en,zt as er,fi as et,Z as f,me as fi,er as fn,It as fr,Gr as ft,$i as g,pe as gi,qn as gn,Tt as gr,Er as gt,na as h,fe as hi,In as hn,wt as hr,Wr as ht,pa as i,Ue as ii,Xn as in,Et as ir,ni as it,yi as j,en as jn,lt as jr,lr as jt,ci as k,mn as kn,ht as kr,yr as kt,ca as l,we as li,Kn as ln,Lt as lr,Xr as lt,J as m,ge as mi,tr as mn,Mt as mr,Jr as mt,fa as n,Fe as ni,Jn as nn,Ot as nr,ri as nt,ua as o,Ee as oi,Zn as on,Nt as or,ei as ot,aa as p,he as pi,Vn as pn,Pt as pr,Kr as pt,ji as q,Gt as qn,Ne as qr,Un as qt,da as r,Ge as ri,D as rn,Dt as rr,ti as rt,oa as s,De as si,Ln as sn,jt as sr,M as st,Q as t,We as ti,Pn as tn,Rt as tr,Ci as tt,Y as u,ve as ui,$n as un,Ft as ur,U as ut,Vi as v,de as vi,Sn as vn,_t as vr,wr as vt,Ni as w,se as wi,fn as wn,at as wr,kr as wt,Li as x,ie as xi,bn as xn,bt as xr,Cr as xt,Bi as y,ae as yi,xn as yn,vt as yr,Tr as yt,oi as z,rn as zn,Ae as zr,_r as zt};
@@ -1,25 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CjNDJjwu.js","./BUPJTTTd.js","./DsQIgu-4.js","./DrKWWDpL.js"])))=>i.map(i=>d[i]);
2
- import{s as e}from"./DrKWWDpL.js";import{n as t,t as n}from"./DsQIgu-4.js";import{t as r}from"./DYP3EJMY.js";import{o as i}from"./CV4ck7fz.js";var a=e(r(),1);t();var o=.75,s=.6;function c(){return`O-${(0,a.randomBytes)(4).toString(`hex`)}`}function l(){return`L-${(0,a.randomBytes)(4).toString(`hex`)}`}function u(){return`P-${(0,a.randomBytes)(4).toString(`hex`)}`}function d(){return`D-${(0,a.randomBytes)(4).toString(`hex`)}`}var f=class{name=`DeductionSpecialist`;async process(e,t,n){if(!t||e.length===0)return{specialist:this.name,created:0,skipped:!0,skipReason:`no LLM backend`};try{let t=0,r=new Date().toISOString();for(let i of e.slice(0,5)){if(!i.narrative&&!i.title)continue;let e=`[Deduction] From observation "${i.title??``}": ${(i.narrative??i.title??``).slice(0,300)}`,a=l();n.prepare(`INSERT INTO brain_learnings
3
- (id, insight, confidence, source, source_session_id,
4
- memory_tier, memory_type, created_at, provenance_class)
5
- VALUES (?, ?, 0.7, 'deduction-specialist', ?, 'short', 'semantic', ?, 'deriver-synthesized')`).run(a,e,i.sourceSessionId??null,r),t++}return{specialist:this.name,created:t,skipped:!1}}catch(e){let t=e instanceof Error?e.message:String(e);return{specialist:this.name,created:0,skipped:!0,skipReason:t}}}},p=class{name=`InductionSpecialist`;async process(e,t,n){if(!t||e.length<2)return{specialist:this.name,created:0,skipped:!0,skipReason:e.length<2?`insufficient observations`:`no LLM backend`};try{let t=new Date().toISOString(),r=e.slice(0,8).map(e=>e.title??``).filter(Boolean).join(`; `),i=`[Induction] Pattern from ${e.length} high-surprisal observations: ${r.slice(0,400)}`,a=u();return n.prepare(`INSERT INTO brain_patterns
6
- (id, pattern, context, frequency, impact, source,
7
- memory_tier, memory_type, created_at, provenance_class)
8
- VALUES (?, ?, ?, 1, 'medium', 'induction-specialist', 'short', 'procedural', ?, 'deriver-synthesized')`).run(a,i,`cluster of ${e.length} observations`,t),{specialist:this.name,created:1,skipped:!1}}catch(e){let t=e instanceof Error?e.message:String(e);return{specialist:this.name,created:0,skipped:!0,skipReason:t}}}},m=class{name=`UserPreferenceSpecialist`;async process(e,t,n){if(!t)return{specialist:this.name,created:0,skipped:!0,skipReason:`no LLM backend`};try{let t=0,r=new Date().toISOString(),i=e.filter(e=>(e.narrative??``).toLowerCase().includes(`prefer`)||(e.narrative??``).toLowerCase().includes(`like`)||(e.narrative??``).toLowerCase().includes(`always`)||(e.title??``).toLowerCase().includes(`prefer`));for(let e of i.slice(0,3)){let i=c(),a=`[UserPref] ${e.title??`preference signal`}`,s=`User preference signal extracted: ${(e.narrative??``).slice(0,200)}`;n.prepare(`INSERT INTO brain_observations
9
- (id, type, title, narrative, source_type, quality_score,
10
- memory_tier, memory_type, created_at, level,
11
- source_ids, provenance_class, peer_id, peer_scope)
12
- VALUES (?, 'fact', ?, ?, 'user-preference-specialist', ?,
13
- 'medium', 'semantic', ?, 'inductive', ?, 'deriver-synthesized', ?, 'project')`).run(i,a,s,o,r,JSON.stringify([e.id]),e.peerId),t++}return{specialist:this.name,created:t,skipped:!1}}catch(e){let t=e instanceof Error?e.message:String(e);return{specialist:this.name,created:0,skipped:!0,skipReason:t}}}},h=class{name=`DecisionSpecialist`;async process(e,t,n){if(!t)return{specialist:this.name,created:0,skipped:!0,skipReason:`no LLM backend`};try{let t=0,r=new Date().toISOString(),i=e.filter(e=>(e.narrative??``).toLowerCase().includes(`decided`)||(e.narrative??``).toLowerCase().includes(`chose`)||(e.narrative??``).toLowerCase().includes(`selected`)||e.type===`decision`);for(let e of i.slice(0,3)){let i=d(),a=`[Decision] ${e.title??`decision from observation`}`,o=(e.narrative??``).slice(0,500);n.prepare(`INSERT INTO brain_decisions
14
- (id, type, title, rationale, confidence, source_session_id,
15
- memory_tier, memory_type, created_at, provenance_class, peer_id, peer_scope)
16
- VALUES (?, 'architecture', ?, ?, 0.65, ?,
17
- 'short', 'semantic', ?, 'deriver-synthesized', ?, 'project')`).run(i,a,o,e.sourceSessionId??null,r,e.peerId),t++}return{specialist:this.name,created:t,skipped:!1}}catch(e){let t=e instanceof Error?e.message:String(e);return{specialist:this.name,created:0,skipped:!0,skipReason:t}}}},g=class{name=`CodePatternSpecialist`;async process(e,t,n){if(!t)return{specialist:this.name,created:0,skipped:!0,skipReason:`no LLM backend`};try{let t=new Date().toISOString(),r=e.filter(e=>e.type===`change`||(e.narrative??``).includes(`function`)||(e.narrative??``).includes(`class`)||(e.narrative??``).includes(`import`)||(e.title??``).toLowerCase().includes(`code`));if(r.length===0)return{specialist:this.name,created:0,skipped:!1};let i=u(),a=r.slice(0,6).map(e=>e.title??``).filter(Boolean).join(`; `),o=`[CodePattern] Code patterns from ${r.length} change observations: ${a.slice(0,350)}`;return n.prepare(`INSERT INTO brain_patterns
18
- (id, pattern, context, frequency, impact, source,
19
- memory_tier, memory_type, created_at, provenance_class)
20
- VALUES (?, ?, ?, ?, 'medium', 'code-pattern-specialist', 'short', 'procedural', ?, 'deriver-synthesized')`).run(i,o,`${r.length} code change observations`,r.length,t),{specialist:this.name,created:1,skipped:!1}}catch(e){let t=e instanceof Error?e.message:String(e);return{specialist:this.name,created:0,skipped:!0,skipReason:t}}}},_=class{name=`TaskOutcomeSpecialist`;async process(e,t,n){if(!t)return{specialist:this.name,created:0,skipped:!0,skipReason:`no LLM backend`};try{let t=0,r=new Date().toISOString(),i=e.filter(e=>(e.narrative??``).includes(`completed`)||(e.narrative??``).includes(`shipped`)||(e.narrative??``).includes(`task`)||(e.title??``).toLowerCase().includes(`T1`)||(e.title??``).toLowerCase().includes(`task`));for(let e of i.slice(0,3)){let i=c(),a=`[TaskOutcome] ${e.title??`task outcome`}`,s=`Task outcome synthesized from observation: ${(e.narrative??``).slice(0,300)}`;n.prepare(`INSERT INTO brain_observations
21
- (id, type, title, narrative, source_type, quality_score,
22
- memory_tier, memory_type, created_at, level,
23
- source_ids, provenance_class, peer_id, peer_scope)
24
- VALUES (?, 'task-outcome', ?, ?, 'task-outcome-specialist', ?,
25
- 'medium', 'episodic', ?, 'inductive', ?, 'deriver-synthesized', ?, 'project')`).run(i,a,s,o,r,JSON.stringify([e.id]),e.peerId),t++}return{specialist:this.name,created:t,skipped:!1}}catch(e){let t=e instanceof Error?e.message:String(e);return{specialist:this.name,created:0,skipped:!0,skipReason:t}}}},v=[new f,new p,new m,new h,new g,new _];async function y(e,t,r={}){let a={specialists:[],totalCreated:0,totalSkipped:0},o=r.db===void 0?i():r.db;if(!o){console.warn(`[specialists] No database available; all specialists skipped.`);for(let e of v)a.specialists.push({specialist:e.name,created:0,skipped:!0,skipReason:`no db`}),a.totalSkipped++;return a}let c=e;if(t!==null){let n=new Map(t.map(e=>[e.id,e.score]));c=e.filter(e=>(n.get(e.id)??.6)>=s)}if(c.length===0){for(let e of v)a.specialists.push({specialist:e.name,created:0,skipped:!0,skipReason:`no observations above threshold`}),a.totalSkipped++;return a}let l=!1;try{l=await(r.resolveLlm??(async()=>{let{resolveLlmBackend:e}=await n(async()=>{let{resolveLlmBackend:e}=await import(`./CjNDJjwu.js`);return{resolveLlmBackend:e}},__vite__mapDeps([0,1,2,3]),import.meta.url);return e(`warm`)}))()!==null}catch{l=!1}for(let e of v)try{let t=await e.process(c,l,o);a.specialists.push(t),a.totalCreated+=t.created,t.skipped&&a.totalSkipped++}catch(t){let n=t instanceof Error?t.message:String(t);a.specialists.push({specialist:e.name,created:0,skipped:!0,skipReason:`unexpected error: ${n}`}),a.totalSkipped++}return a}export{g as CodePatternSpecialist,h as DecisionSpecialist,f as DeductionSpecialist,p as InductionSpecialist,s as SPECIALIST_SURPRISAL_THRESHOLD,_ as TaskOutcomeSpecialist,m as UserPreferenceSpecialist,y as dispatchSpecialists};
@@ -1 +0,0 @@
1
- function e(e,...t){return e.all(...t)}function t(e,...t){return e.get(...t)}export{t as n,e as t};
@@ -1 +0,0 @@
1
- import{di as e,w as t}from"./CdqDTozW.js";export{t as SESSION_JOURNAL_SCHEMA_VERSION,e as attachmentSchema};
@@ -1 +0,0 @@
1
- import{s as e}from"./DrKWWDpL.js";import{n as t,t as n}from"./DsQIgu-4.js";import{t as r}from"./DYP3EJMY.js";var i=e(r(),1);t();var a=`all-MiniLM-L6-v2`,o=[{name:`model_quantized.onnx`,url:`https://huggingface.co/Xenova/all-MiniLM-L6-v2/resolve/main/onnx/model_quantized.onnx`,sha256:`afdb6f1a0e45b715d0bb9b11772f032c399babd23bfc31fed1c170afc848bdb1`,sizeBytes:22905032}],s=[{name:`tokenizer.json`,url:`https://huggingface.co/Xenova/all-MiniLM-L6-v2/resolve/main/tokenizer.json`,sha256:null},{name:`tokenizer_config.json`,url:`https://huggingface.co/Xenova/all-MiniLM-L6-v2/resolve/main/tokenizer_config.json`,sha256:null},{name:`vocab.txt`,url:`https://huggingface.co/Xenova/all-MiniLM-L6-v2/resolve/main/vocab.txt`,sha256:null}];function c(){let e={}.LLMTXT_MODEL_CACHE_DIR;return e?(0,i.resolve)(e):(0,i.join)((0,i.homedir)(),`.llmtxt`,`models`,a)}async function l(e,t,n){console.log(`[llmtxt/embeddings] Downloading ${e} → ${t}`);let r=await fetch(e,{headers:{"User-Agent":`llmtxt-embedding-downloader/1.0`}});if(!r.ok)throw Error(`Failed to download ${e}: HTTP ${r.status} ${r.statusText}`);let a=await r.arrayBuffer(),o=Buffer.from(a);if(n){let t=(0,i.createHash)(`sha256`).update(o).digest(`hex`);if(t!==n)throw Error(`Checksum mismatch for ${e}:\n expected: ${n}\n actual: ${t}`)}(0,i.writeFileSync)(t,o)}var u=null,d=null,f=null;async function p(){if(!(u&&d))return f||(f=m(),f)}async function m(){let e=c();(0,i.mkdirSync)(e,{recursive:!0});for(let t of o){let n=(0,i.join)(e,t.name);(0,i.existsSync)(n)||await l(t.url,n,t.sha256??void 0)}let t=(0,i.join)(e,`tokenizer`);(0,i.mkdirSync)(t,{recursive:!0});for(let e of s){let n=(0,i.join)(t,e.name);(0,i.existsSync)(n)||await l(e.url,n,e.sha256??void 0)}let r=(0,i.join)(e,o[0].name),f=[`onnxruntime`,`node`].join(`-`);u=await(await n(()=>import(f),[],import.meta.url)).InferenceSession.create(r,{executionProviders:[`cpu`],graphOptimizationLevel:`all`});let p=(0,i.join)(t,`tokenizer.json`);d=new h(JSON.parse((0,i.readFileSync)(p,`utf-8`))),console.log(`[llmtxt/embeddings] Model loaded: ${a} from ${e}`)}var h=class{vocab;ids;clsId;sepId;padId;unkId;maxSeqLen;constructor(e){this.vocab=new Map,this.ids=new Map,this.maxSeqLen=512;let t=e.model;if(t&&t.vocab&&typeof t.vocab==`object`)for(let[e,n]of Object.entries(t.vocab))this.vocab.set(e,n),this.ids.set(n,e);this.clsId=this.vocab.get(`[CLS]`)??101,this.sepId=this.vocab.get(`[SEP]`)??102,this.padId=this.vocab.get(`[PAD]`)??0,this.unkId=this.vocab.get(`[UNK]`)??100}encode(e,t=128){let n=e.toLowerCase().replace(/[^a-z0-9\s']/g,` `).split(/\s+/).filter(Boolean),r=[this.clsId];for(let e of n){let n=this.wordpieceTokenize(e);for(let e of n)r.push(this.vocab.get(e)??this.unkId);if(r.length>=t-1)break}r.push(this.sepId);let i=r.slice(0,t),a=i.length,o=new BigInt64Array(t).fill(BigInt(this.padId)),s=new BigInt64Array(t).fill(BigInt(0)),c=new BigInt64Array(t).fill(BigInt(0));for(let e=0;e<a;e++)o[e]=BigInt(i[e]),s[e]=BigInt(1);return{inputIds:o,attentionMask:s,tokenTypeIds:c}}wordpieceTokenize(e){if(this.vocab.has(e))return[e];let t=[],n=e,r=!0;for(;n.length>0;){let e=!1;for(let i=n.length;i>0;i--){let a=r?n.slice(0,i):`##`+n.slice(0,i);if(this.vocab.has(a)){t.push(a),n=n.slice(i),r=!1,e=!0;break}}if(!e){t.push(`[UNK]`);break}}return t.length>0?t:[`[UNK]`]}};function g(e,t,n,r){let i=new Float32Array(r),a=0;for(let o=0;o<n;o++){let n=Number(t[o]);a+=n;for(let t=0;t<r;t++)i[t]+=e[o*r+t]*n}if(a>0)for(let e=0;e<r;e++)i[e]/=a;return i}function _(e){let t=0;for(let n=0;n<e.length;n++)t+=e[n]*e[n];if(t=Math.sqrt(t),t>0)for(let n=0;n<e.length;n++)e[n]/=t;return e}async function v(e){return await p(),(await y([e]))[0]}async function y(e){if(e.length===0)return[];await p();let t=[];for(let n=0;n<e.length;n+=32){let r=await x(e.slice(n,n+32));t.push(...r)}return t}var b=128;async function x(e){let t=e.length,r=e.map(e=>d.encode(e,b)),i=new BigInt64Array(t*b),a=new BigInt64Array(t*b),o=new BigInt64Array(t*b);for(let e=0;e<t;e++){let t=r[e];i.set(t.inputIds,e*b),a.set(t.attentionMask,e*b),o.set(t.tokenTypeIds,e*b)}let s=[`onnxruntime`,`node`].join(`-`),{Tensor:c}=await n(()=>import(s),[],import.meta.url),l={input_ids:new c(`int64`,i,[t,b]),attention_mask:new c(`int64`,a,[t,b]),token_type_ids:new c(`int64`,o,[t,b])},f=await u.run(l),p=(f.last_hidden_state??f.token_embeddings).data,m=[];for(let e=0;e<t;e++){let t=g(p.slice(e*b*384,(e+1)*b*384),r[e].attentionMask,b,384);_(t),m.push(t)}return m}export{v as embed};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CnJf5tML.js","./Oh5zPjv3.js","./DrKWWDpL.js","./DsQIgu-4.js","./DzhuJaxE2.js","./NU5S3nNs2.js","./9bLMgKwu2.js","./DtNkZUkq.js","./CV4ck7fz.js","./Cc8xxDr5.js","./VQszoXcV.js","./DF_4OWhj.js","./DYP3EJMY.js","./CdqDTozW.js","./D7w7HllH.js","./DB5ifLM-.js","./C1vWmhYe.js","./C5Nlanei.js","./Ml4JR6Jz2.js","./DOqzs8kl2.js","./B2_6RrlL2.js","./DTxtWPkw.js","./BK17qSHw.js","./DO2GztVm.js","./D93KpglN.js","./CeYPAoY9.js","./BHciFt922.js"])))=>i.map(i=>d[i]);
2
- import{s as e}from"./DrKWWDpL.js";import{n as t,t as n}from"./DsQIgu-4.js";import{t as r}from"./DYP3EJMY.js";import{n as i}from"./9bLMgKwu2.js";import{r as a}from"./BHciFt922.js";import{r as o}from"./DeRRkRO52.js";import{n as s,t as c}from"./UyeQuL132.js";var l=e(r(),1);t();function u(){return`L-${(0,l.randomBytes)(4).toString(`hex`)}`}async function d(e,t){if(!t.insight?.trim())throw Error(`Insight text is required`);if(!t.source?.trim())throw Error(`Source is required`);if(t.confidence<0||t.confidence>1)throw Error(`Confidence must be between 0.0 and 1.0`);if(!t._skipGate){let{verifyCandidate:r}=await n(async()=>{let{verifyCandidate:e}=await import(`./CnJf5tML.js`);return{verifyCandidate:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]),import.meta.url),a=t.source.includes(`manual`)||t.source.includes(`owner`),o=t.source.includes(`transcript:ses_`),s=a?`owner`:o?`speculative`:`agent`,c=await r(e,{text:t.insight.trim(),memoryType:`semantic`,tier:a?`medium`:`short`,confidence:t.confidence,source:a?`manual`:`transcript`,sourceConfidence:s,trusted:a});if(c.action!==`stored`){let n=c.id?await(await i(e)).getLearning(c.id).catch(()=>null):null;return n?{...n,applicableTypes:JSON.parse(n.applicableTypesJson||`[]`)}:{id:c.id??``,insight:t.insight.trim(),source:t.source,confidence:t.confidence,actionable:t.actionable??!1,application:t.application??null,applicableTypesJson:`[]`,applicableTypes:[],qualityScore:0,memoryTier:`short`,memoryType:`semantic`,sourceConfidence:s,verified:!1,contentHash:``,createdAt:new Date().toISOString().replace(`T`,` `).slice(0,19),updatedAt:null,tierPromotedAt:null,tierPromotionReason:null,invalidAt:null,pruneCandidateAt:null,citationCount:0,pruneCandidate:!1}}}let r=await i(e),d=await r.findLearnings(),f=t.insight.trim().toLowerCase(),p=d.find(e=>e.insight.trim().toLowerCase()===f);if(p){let n=Math.max(p.confidence,t.confidence);await r.updateLearning(p.id,{confidence:n});let i=await r.getLearning(p.id);return a(e,`learning:${p.id}`,`learning`,p.insight.substring(0,200),p.qualityScore??.5,p.insight+(p.application??``),{source:p.source,confidence:n,actionable:p.actionable}).catch(()=>{}),{...i,applicableTypes:JSON.parse(i.applicableTypesJson||`[]`)}}let m=t.source.includes(`manual`)||t.source.includes(`owner`),h=t.source.includes(`transcript:ses_`),g=m?`owner`:h?`speculative`:`agent`,_=m?`medium`:`short`,v=h?`episodic`:`semantic`,y=m,b=o({confidence:t.confidence,actionable:t.actionable??!1,insight:t.insight.trim(),application:t.application??null,sourceConfidence:g,memoryTier:_}),x=(0,l.createHash)(`sha256`).update(t.insight.trim().toLowerCase()).digest(`hex`).slice(0,16),S={id:u(),insight:t.insight.trim(),source:t.source.trim(),confidence:t.confidence,actionable:t.actionable??!1,application:t.application??null,applicableTypesJson:t.applicableTypes?JSON.stringify(t.applicableTypes):`[]`,qualityScore:b,memoryTier:_,memoryType:v,sourceConfidence:g,verified:y,contentHash:x},C=await r.addLearning(S);return a(e,`learning:${C.id}`,`learning`,C.insight.substring(0,200),b,C.insight+(C.application??``),{source:C.source,confidence:C.confidence,actionable:C.actionable}).catch(()=>{}),(g===`owner`||g===`task-outcome`)&&c(e,{id:C.id,text:C.insight,createdAt:C.createdAt??new Date().toISOString().replace(`T`,` `).slice(0,19)}).then(t=>{for(let n of t)s(e,n.existingId,C.id,`auto:learning-supersedes — high overlap detected at store time`).catch(()=>{})}).catch(()=>{}),{...C,applicableTypes:JSON.parse(C.applicableTypesJson||`[]`)}}export{d as t};
@@ -1 +0,0 @@
1
- import"./DrKWWDpL.js";import{t as e}from"./DYP3EJMY.js";import"./B2_6RrlL2.js";import"./Ml4JR6Jz2.js";import"./DVVCJYjz.js";import"./CqCka5yX2.js";e();var t=[];function n(e){t.push(e)}export{n as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Wadww7ZG.js","./DYP3EJMY.js","./DrKWWDpL.js","./B0ORuy8x2.js","./orUmAKoW2.js","./BK17qSHw.js","./Djz4EDzO.js","./CV4ck7fz.js","./DsQIgu-4.js","./DtNkZUkq.js","./Cc8xxDr5.js","./VQszoXcV.js","./DF_4OWhj.js","./CdqDTozW.js","./D7w7HllH.js","./DB5ifLM-.js","./C1vWmhYe.js","./C5Nlanei.js","./Ml4JR6Jz2.js","./DOqzs8kl2.js","./B2_6RrlL2.js","./DTxtWPkw.js","./DO2GztVm.js","./D93KpglN.js","./_kRcZFVn.js","./C2oZaDvt.js","./C8MZnWta.js","./CHkCZrnr.js","./7UXYlaI1.js"])))=>i.map(i=>d[i]);
2
- import{s as e}from"./DrKWWDpL.js";import{n as t,t as n}from"./DsQIgu-4.js";import{t as r}from"./DYP3EJMY.js";import{Lr as i}from"./CdqDTozW.js";import{i as a,n as o,u as s}from"./Ml4JR6Jz2.js";import{t as c}from"./DXpCX2Hi.js";import{Y as l,kt as u}from"./DtNkZUkq.js";import{t as ee}from"./DF_4OWhj.js";import{a as d,i as f,s as p,t as m}from"./Cc8xxDr5.js";import{C as te,S as h,_ as ne,b as g,c as _,g as v,h as re,n as y,v as b}from"./C1vWmhYe.js";import{a as ie,c as x,i as S,l as ae,n as oe,o as se,r as C,t as ce}from"./DO2GztVm.js";import{i as le,o as w}from"./CV4ck7fz.js";import{h as T}from"./CKoQ7Ko5.js";import{t as E}from"./C8MZnWta.js";import{i as D,n as ue}from"./D2pa4reh.js";import{r as O,t as de}from"./BQZx6brg.js";import{c as k,o as fe}from"./C2oZaDvt.js";import{t as pe}from"./D6UDnATk2.js";import{n as me}from"./orUmAKoW2.js";var A=e(r(),1),he=`telemetry.db`,ge=`1.0.0`,j=null,M=null,N=null,P=null;function _e(){return(0,A.join)(a(),he)}function ve(){return v(`drizzle-telemetry`)}function ye(e,t){let n=ve();h(e,n,`telemetry_events`,`telemetry`),g(t,n,e,`telemetry_events`,`telemetry`),b(e,`telemetry_events`,[{name:`anonymous_id`,ddl:`text NOT NULL DEFAULT ''`},{name:`domain`,ddl:`text NOT NULL DEFAULT ''`},{name:`gateway`,ddl:`text NOT NULL DEFAULT 'query'`},{name:`operation`,ddl:`text NOT NULL DEFAULT ''`},{name:`command`,ddl:`text NOT NULL DEFAULT ''`},{name:`exit_code`,ddl:`integer NOT NULL DEFAULT 0`},{name:`duration_ms`,ddl:`integer NOT NULL DEFAULT 0`},{name:`error_code`,ddl:`text`}],`telemetry`)}function be(){try{M?.close()}catch{}j=null,M=null,N=null,P=null}function F(){return M}async function xe(){let e=_e();return j&&N!==e&&be(),j||P||(P=(async()=>{let t=e;N=t,(0,A.mkdirSync)((0,A.dirname)(t),{recursive:!0});let n=me(t);M=n;let r=E({client:n});return ye(n,r),n.prepare(`INSERT OR IGNORE INTO telemetry_schema_meta (key, value) VALUES ('schemaVersion', '${ge}')`).run(),j=r,r})(),P)}new A.AsyncLocalStorage,f(`skills_skills`,{id:p(`id`).primaryKey({autoIncrement:!0}),name:d(`name`).notNull().unique(),version:d(`version`),sourceType:d(`source_type`,{enum:[`canonical`,`user`,`community`,`agent-created`]}).notNull(),sourceUrl:d(`source_url`),installPath:d(`install_path`).notNull(),canonicalPath:d(`canonical_path`),installedAt:d(`installed_at`).notNull(),lastUpdatedAt:d(`last_updated_at`),lifecycleState:d(`lifecycle_state`,{enum:[`active`,`stale`,`archived`]}).notNull().default(`active`),pinned:p(`pinned`,{mode:`boolean`}).notNull().default(!1),isAgentCreated:p(`is_agent_created`,{mode:`boolean`}).notNull().default(!1),archivedAt:d(`archived_at`),archivedFromPath:d(`archived_from_path`)},e=>[m(`idx_skills_skills_state`).on(e.lifecycleState),m(`idx_skills_skills_source`).on(e.sourceType)]),f(`skills_skill_usage`,{id:p(`id`).primaryKey({autoIncrement:!0}),skillName:d(`skill_name`).notNull(),observedAt:d(`observed_at`).notNull().default(u`(datetime('now'))`),eventKind:d(`event_kind`).notNull(),taskId:d(`task_id`),projectId:d(`project_id`),modelId:d(`model_id`),metadata:d(`metadata`).notNull().default(`{}`)},e=>[m(`idx_skills_skill_usage_name_observed`).on(e.skillName,e.observedAt),m(`idx_skills_skill_usage_kind`).on(e.eventKind)]),f(`skills_skill_reviews`,{id:p(`id`).primaryKey({autoIncrement:!0}),skillName:d(`skill_name`).notNull(),reviewedAt:d(`reviewed_at`).notNull().default(u`(datetime('now'))`),outcome:d(`outcome`,{enum:[`approved`,`rejected`,`needs-changes`]}).notNull(),score:p(`score`),reviewRunId:d(`review_run_id`),summary:d(`summary`)},e=>[m(`idx_skills_skill_reviews_name_reviewed`).on(e.skillName,e.reviewedAt),m(`idx_skills_skill_reviews_outcome`).on(e.outcome)]),f(`skills_skill_patches`,{id:p(`id`).primaryKey({autoIncrement:!0}),skillName:d(`skill_name`).notNull(),proposedAt:d(`proposed_at`).notNull().default(u`(datetime('now'))`),appliedAt:d(`applied_at`),reviewId:p(`review_id`),diff:d(`diff`).notNull(),status:d(`status`,{enum:[`proposed`,`applied`,`reverted`,`rejected`]}).notNull().default(`proposed`),revertedByPatchId:p(`reverted_by_patch_id`)},e=>[m(`idx_skills_skill_patches_name_proposed`).on(e.skillName,e.proposedAt),m(`idx_skills_skill_patches_status`).on(e.status)]);var I=null;function Se(){let e=a(),t=(0,A.join)(e,`cleo.db`);if(!t.startsWith(e))throw Error(`BUG: getDefaultSkillsDbPath() resolved to "${t}" which is NOT under getCleoHome() ("${e}"). The skills registry is global-only per SG-CLEO-SKILLS-architecture-v3.md §4. Fix the caller, do not suppress.`);return t}async function Ce(e){return(await Te(e)).db}function we(e){return e?.path?(I=e.path,{path:e.path,canonical:!1}):I?{path:I,canonical:!1}:{path:Se(),canonical:!0}}async function Te(e){let{path:t,canonical:n}=we(e),r=e=>E({client:e});return n?ce(`skills`,r):oe(`skills`,t,r)}function L(){return(I?ie(`global`,I,`skills`):se(`skills`))?.native??null}t();var Ee=10,R=3e4,z={};function De(e,t){try{if(e.tier===`global`){let t=a();return e.filePathTemplate.replace(/^\$XDG_DATA_HOME\/cleo/,t)}let n=s(t);return e.filePathTemplate.replace(/^<projectRoot>/,n)}catch{return null}}async function Oe(e){return await le(e),w(e)}async function ke(e){return await Z(e),$(e)}async function Ae(e){return await de(s(e)),O()}async function je(){return await fe(),k()}async function Me(){return await ue(),D()}async function Ne(){try{if(!(0,A.existsSync)((0,A.join)(a(),`telemetry.db`)))return null}catch{return null}return await xe(),F()}async function Pe(){return await Ce(),L()}function B(t){return async r=>{let i=De(t,r);if(!i||!(0,A.existsSync)(i))return null;try{let{DatabaseSync:t}=await n(async()=>{let{DatabaseSync:t}=await import(`./Wadww7ZG.js`).then(t=>e(t.default,1));return{DatabaseSync:t}},__vite__mapDeps([0,1,2]),import.meta.url);return new t(i,{readOnly:!0})}catch{return null}}}function V(e){try{let t=e;typeof t.close==`function`&&t.isOpen&&t.close()}catch{}}var H={tasks:{getDb:$,openDb:ke},brain:{getDb:w,openDb:Oe},conduit:{getDb:O,openDb:Ae},nexus:{getDb:k,openDb:je},"signaldock-global":{getDb:D,openDb:Me},telemetry:{getDb:F,openDb:Ne},skills:{getDb:L,openDb:Pe}};function Fe(e){return e===`signaldock-global`?`signaldock`:e}function Ie(e){return e.tier===`derived`&&e.backupPath===`rebuildable-from-blob-store`}function Le(e){return Ie(e)?`skip-derived`:H[e.role]?`chokepoint-opener`:`raw-file-vacuum-readonly`}function U(e){let t=Le(e),n=Fe(e.role);if(t===`skip-derived`)return{role:e.role,prefix:n,tier:e.tier,strategy:t,getDb:()=>null,openDb:async()=>null,closeDb:null};if(t===`chokepoint-opener`){let r=H[e.role];return r?{role:e.role,prefix:n,tier:e.tier,strategy:t,getDb:r.getDb,openDb:r.openDb,closeDb:null}:{role:e.role,prefix:n,tier:e.tier,strategy:`raw-file-vacuum-readonly`,getDb:()=>null,openDb:B(e),closeDb:V}}return{role:e.role,prefix:n,tier:e.tier,strategy:t,getDb:()=>null,openDb:B(e),closeDb:V}}var W=i.filter(e=>e.tier===`project`||e.tier===`derived`).map(U);i.filter(e=>e.tier===`global`).map(U);function Re(e){let t=(e,t=2)=>String(e).padStart(t,`0`);return`${e.getFullYear()}${t(e.getMonth()+1)}${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}`}function G(e){let t=e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`^${t}-\\d{8}-\\d{6}\\.db$`)}function ze(e,t){try{let n=G(t),r=(0,A.readdirSync)(e).filter(e=>n.test(e)).map(t=>({name:t,path:(0,A.join)(e,t),mtimeMs:(0,A.statSync)((0,A.join)(e,t)).mtimeMs})).sort((e,t)=>e.mtimeMs-t.mtimeMs);for(;r.length>=Ee;){let e=r.shift();if(!e)break;(0,A.unlinkSync)(e.path)}}catch{}}async function K(e,t,n,r){if(e.strategy===`skip-derived`)return;let i=e.getDb(),a=null;if(!i){try{i=await e.openDb(r)}catch{return}if(!i)return;a=i}let o=(0,A.join)(t,`${e.prefix}-${Re(n)}.db`);try{i.exec(`PRAGMA wal_checkpoint(TRUNCATE)`),ze(t,e.prefix);let n=o.replace(/'/g,`''`);i.exec(`VACUUM INTO '${n}'`)}finally{a&&e.closeDb&&e.closeDb(a)}}async function Be(e={}){let t=Date.now(),n=`tasks`,r=z[n]??0;if(!(!e.force&&t-r<R))try{let t=(0,A.join)(o(e.cwd),`backups`,`sqlite`);(0,A.mkdirSync)(t,{recursive:!0});let r=W.find(e=>e.prefix===n);if(!r)return;await K(r,t,new Date,e.cwd),z[n]=Date.now()}catch{}}async function Ve(e={}){let t=Date.now(),n=new Date,r;try{r=(0,A.join)(o(e.cwd),`backups`,`sqlite`),(0,A.mkdirSync)(r,{recursive:!0})}catch{return}for(let i of W){if(i.strategy===`skip-derived`)continue;let a=z[i.prefix]??0;if(!(!e.force&&t-a<R))try{await K(i,r,n,e.cwd),z[i.prefix]=Date.now()}catch{}}}function He(e,t){try{let n=(0,A.join)(o(t),`backups`,`sqlite`);if(!(0,A.existsSync)(n))return[];let r=G(e);return(0,A.readdirSync)(n).filter(e=>r.test(e)).map(e=>({name:e,path:(0,A.join)(n,e),mtimeMs:(0,A.statSync)((0,A.join)(n,e)).mtimeMs})).sort((e,t)=>t.mtimeMs-e.mtimeMs)}catch{return[]}}function q(e){return He(`tasks`,e)}t();var J=null;function Ue(){return J===null&&(J=(0,A.createRequire)(import.meta.url)(`drizzle-orm/node-sqlite`).drizzle),J}var Y=`2.0.0`,We=Y;function Ge(e){return _(`project`,e)}var Ke=10,qe=`.exodus-on-open.lock`;async function Je(e){let{openNativeDatabase:t}=await n(async()=>{let{openNativeDatabase:e}=await import(`./B0ORuy8x2.js`);return{openNativeDatabase:e}},__vite__mapDeps([3,4,2,5,1]),import.meta.url),r=null;try{return r=t(e,{readonly:!0,enableWal:!1}),r.prepare(`SELECT COUNT(*) as cnt FROM tasks_tasks`).get()?.cnt??0}catch{return 0}finally{try{r?.close()}catch{}}}function Ye(e){for(let t of[`tasks_tasks`,`tasks`])try{return e.prepare(`SELECT COUNT(*) as cnt FROM "${t}"`).get()?.cnt??0}catch{}return 0}async function X(e,t,r){let{openNativeDatabase:i}=await n(async()=>{let{openNativeDatabase:e}=await import(`./B0ORuy8x2.js`);return{openNativeDatabase:e}},__vite__mapDeps([3,4,2,5,1]),import.meta.url),a=ee(`sqlite`),o=!1;try{if((e.prepare(`SELECT COUNT(*) as cnt FROM tasks_tasks`).get()?.cnt??0)>0)return!1;let n=q(r);if(n.length===0)return!1;let s=n[0],l=i(s.path,{readonly:!0,enableWal:!1}),u=0;try{u=Ye(l)}finally{l.close()}if(u<Ke)return!1;await c(t+qe,async()=>{let n=await Je(t);if(n>0){a.info({dbPath:t,currentTaskCount:n},`Auto-recovery skipped: database was populated by a concurrent process while acquiring the first-open lock (T11662 double-checked re-query).`);return}a.warn({dbPath:t,backupPath:s.path,backupTasks:u},`Empty database detected with ${u}-task backup available. Auto-recovering from backup. This likely happened because git-tracked WAL/SHM files were overwritten during a branch switch (T5188).`),e.isOpen&&e.close();let r=t+`-wal`,i=t+`-shm`;try{(0,A.unlinkSync)(r)}catch{}try{(0,A.unlinkSync)(i)}catch{}let c=t+`.recovery-tmp`;(0,A.copyFileSync)(s.path,c),(0,A.renameSync)(c,t),a.info({dbPath:t,backupPath:s.path,restoredTasks:u},`Database auto-recovered from backup successfully.`),y(),o=!0},{stale:6e5,retries:30})}catch(e){a.error({err:e,dbPath:t},`Auto-recovery from backup failed. Continuing with empty database.`)}return o}async function Z(e){return(await Xe(e)).db}async function Xe(e){pe(`tasks`,e);let t=!1,n=await C(`tasks`,e,(e,n)=>(t=!0,Ze(e,n)));return t&&await X(n.native,n.store.dbPath,e)?(x({scope:`project`,dbPath:n.store.dbPath}),C(`tasks`,e,Ze)):n}function Ze(e,t){let n=Ue()({client:e});return tt(e,n,t.dbPath),{}.VITEST&&e.exec(`PRAGMA foreign_keys=OFF`),e.exec(`INSERT OR IGNORE INTO schema_meta (key, value) VALUES ('schemaVersion', '${We}')`),e.exec(`INSERT OR IGNORE INTO schema_meta (key, value) VALUES ('task_id_sequence', '{"counter":0,"lastId":"T000","checksum":"seed"}')`),n}function Qe(){return v(`drizzle-tasks`)}var $e=[{name:`pipeline_stage`,ddl:`text`},{name:`assignee`,ddl:`text`}],et=[{name:`provider_id`,ddl:`text`},{name:`stats_json`,ddl:`text`},{name:`resume_count`,ddl:`integer`},{name:`grade_mode`,ddl:`integer`},{name:`owner_auth_token`,ddl:`text`}];function tt(e,t,n){let r=Qe();te(e,`tasks`)&&ne(n),h(e,r,`tasks`,`sqlite`,re(`drizzle-tasks`)),b(e,`sessions`,et,`sqlite`),g(t,r,e,`tasks`,`sqlite`),b(e,`tasks`,$e,`sqlite`);for(let t of[`ALTER TABLE attachments ADD COLUMN owner_version TEXT`,`ALTER TABLE attachments ADD COLUMN doc_version INTEGER NOT NULL DEFAULT 1`])try{e.exec(t)}catch{}}function Q(){y(`project`),x({scope:`project`})}function nt(){y(`project`),x({scope:`project`})}async function rt(e){return(await(await Z(e)).select().from(T).where(l(T.key,`schemaVersion`)))[0]?.value??null}function it(e){return(0,A.existsSync)(_(`project`,e))}function $(e){return S(`tasks`,e)}function at(e){return S(`tasks`,e)}async function ot(){Q();try{let{closeBrainDb:e}=await n(async()=>{let{closeBrainDb:e}=await import(`./Djz4EDzO.js`);return{closeBrainDb:e}},__vite__mapDeps([6,7,2,8,9,10,11,12,1,13,14,15,16,17,18,19,20,21,5,22,23]),import.meta.url);e()}catch{}try{let{closeNexusDb:e}=await n(async()=>{let{closeNexusDb:e}=await import(`./_kRcZFVn.js`);return{closeNexusDb:e}},__vite__mapDeps([24,25,2,26,9,17,10,1,27,12,18,8,19,13,14,15,20,16,21,5,22,28]),import.meta.url);e()}catch{}ae()}export{Q as a,Ge as c,rt as d,nt as f,Ve as g,Be as h,ot as i,$ as l,q as m,X as n,it as o,Qe as p,Xe as r,Z as s,Y as t,at as u};
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BB6WKLm82.js","./9CV9TXTg2.js","./DrKWWDpL.js","./DsQIgu-4.js","./DF_4OWhj.js","./DYP3EJMY.js","./DhPLWrun2.js","./9bLMgKwu2.js","./DtNkZUkq.js","./CV4ck7fz.js","./Cc8xxDr5.js","./VQszoXcV.js","./CdqDTozW.js","./D7w7HllH.js","./DB5ifLM-.js","./C1vWmhYe.js","./C5Nlanei.js","./Ml4JR6Jz2.js","./DOqzs8kl2.js","./B2_6RrlL2.js","./DTxtWPkw.js","./BK17qSHw.js","./DO2GztVm.js","./D93KpglN.js","./CeYPAoY9.js"])))=>i.map(i=>d[i]);
2
- import{n as e,t}from"./DsQIgu-4.js";import{i as n,o as r}from"./CV4ck7fz.js";e();var i=10,a=30,o=300*1e3,s=0,c=!1;function l(e){let t=r();if(!t)return 0;try{return t.prepare(`SELECT COUNT(*) AS cnt FROM brain_observations
3
- WHERE created_at > ? AND invalid_at IS NULL`).get(e)?.cnt??0}catch{return 0}}function u(){let e=r();if(!e)return null;try{return e.prepare(`SELECT started_at FROM brain_consolidation_events
4
- ORDER BY started_at DESC LIMIT 1`).get()?.started_at??null}catch{return null}}function d(){let e=r();if(!e)return null;try{return e.prepare(`SELECT created_at FROM brain_retrieval_log ORDER BY created_at DESC LIMIT 1`).get()?.created_at??null}catch{return null}}function f(e){if(!e)return 1/0;let t=e.includes(`T`)?e:e.replace(` `,`T`)+`Z`;return(Date.now()-new Date(t).getTime())/6e4}function p(e){let t=l(u()??`1970-01-01 00:00:00`);return{shouldTrigger:t>=e,newObservationCount:t}}function m(e){let t=d();if(t===null)return{shouldTrigger:!1,idleMinutes:0};let n=f(t);return{shouldTrigger:n>=e,idleMinutes:n}}async function h(e,n,r=!1){if(c)return;c=!0,s=Date.now();let i=async()=>{try{let{runConsolidation:r}=await t(async()=>{let{runConsolidation:e}=await import(`./BB6WKLm82.js`);return{runConsolidation:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]),import.meta.url);await r(e,n??null,`scheduled`)}catch(e){console.warn(`[dream-cycle] Consolidation failed:`,e)}finally{c=!1}};r?await i():setImmediate(i).unref()}async function g(e,t={}){let r=t.volumeThreshold??i,l=t.idleThresholdMinutes??a;try{await n(e)}catch{return{triggered:!1,tier:null,skippedReason:`brain.db unavailable`}}let u=Date.now()-s;if(u<o)return{triggered:!1,tier:null,skippedReason:`dream cooldown active (${Math.round(u/1e3)}s since last dream)`};if(c)return{triggered:!1,tier:null,skippedReason:`dream already in flight`};let d=p(r);if(d.shouldTrigger)return await h(e,t.sessionId,t.inline),{triggered:!0,tier:`volume`,newObservationCount:d.newObservationCount};let f=m(l);return f.shouldTrigger?(await h(e,t.sessionId,t.inline),{triggered:!0,tier:`idle`,idleMinutes:f.idleMinutes}):{triggered:!1,tier:null,skippedReason:`volume below threshold (${d.newObservationCount}/${r}); idle below threshold (${Math.round(f.idleMinutes)}/${l} min)`,newObservationCount:d.newObservationCount,idleMinutes:f.idleMinutes}}export{m as n,p as r,g as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./BUPJTTTd.js";export{e as resolveLlmBackend};
@@ -1 +0,0 @@
1
- import{Un as e}from"./CdqDTozW.js";import{t}from"./B2_6RrlL2.js";var n=[`research`,`consensus`,`architecture_decision`,`specification`,`decomposition`,`implementation`,`validation`,`testing`,`release`,`contribution`,`cancelled`],r={research:1,consensus:2,architecture_decision:3,specification:4,decomposition:5,implementation:6,validation:7,testing:8,release:9,contribution:10,cancelled:11},i=new Set([`contribution`,`cancelled`]);function a(e){return!!e&&i.has(e)}function o(e){return n.includes(e)}function s(r){if(!o(r))throw new t(e.VALIDATION_ERROR,`Invalid pipeline stage: "${r}". Valid stages: ${n.join(`, `)}`,{fix:`Use one of: ${n.join(`, `)}`})}function c(e){let{explicitStage:t,taskType:n,parentTask:r}=e;return t&&o(t)?t:r?.pipelineStage&&o(r.pipelineStage)?r.pipelineStage:n===`epic`?`research`:`implementation`}function l(e){return o(e)?r[e]:-1}function u(e,t){let n=l(e),r=l(t);return n===-1||r===-1?!0:r>=n}function d(i,a){if(s(a),i&&!u(i,a)){let o=l(i),s=l(a);throw new t(e.VALIDATION_ERROR,`Pipeline stage transition rejected: cannot move backward from "${i}" (order ${o}) to "${a}" (order ${s}). Tasks can only move forward through pipeline stages.`,{fix:`Specify a stage at or after "${i}". Valid forward stages: ${n.filter(e=>r[e]>=o).join(`, `)}`})}}export{a,s as c,u as i,d as l,i as n,o,l as r,c as s,n as t};
@@ -1,3 +0,0 @@
1
- import{s as e}from"./DrKWWDpL.js";import{t}from"./DYP3EJMY.js";import"./CdqDTozW.js";import{i as n,l as r}from"./Ml4JR6Jz2.js";import{t as i}from"./DF_4OWhj.js";import"./DTxtWPkw.js";import{c as a,s as o}from"./C1vWmhYe.js";import{t as s}from"./DYxFu8yV.js";import"./DLRku_0p2.js";import{n as c}from"./DySe3kTV2.js";var l=e(t(),1),u=new Map([[`tasks`,`tasks_tasks`],[`task_acceptance_criteria`,`tasks_task_acceptance_criteria`],[`acceptance_projection_state`,`tasks_acceptance_projection_state`],[`acceptance_projection_dirty`,`tasks_acceptance_projection_dirty`],[`task_dependencies`,`tasks_task_dependencies`],[`task_labels`,`tasks_task_labels`],[`task_relations`,`tasks_task_relations`],[`sessions`,`tasks_sessions`],[`session_handoff_entries`,`tasks_session_handoff_entries`],[`task_work_history`,`tasks_task_work_history`],[`task_acceptance_criteria_history`,`tasks_task_acceptance_criteria_history`],[`external_task_links`,`tasks_external_task_links`],[`audit_log`,`tasks_audit_log`],[`token_usage`,`tasks_token_usage`],[`architecture_decisions`,`tasks_architecture_decisions`],[`adr_task_links`,`tasks_adr_task_links`],[`adr_relations`,`tasks_adr_relations`],[`status_registry`,`tasks_status_registry`],[`background_jobs`,`tasks_background_jobs`],[`warp_chains`,`tasks_warp_chains`],[`warp_chain_instances`,`tasks_warp_chain_instances`],[`agent_instances`,`tasks_agent_instances`],[`agent_error_log`,`tasks_agent_error_log`],[`lifecycle_pipelines`,`tasks_lifecycle_pipelines`],[`lifecycle_stages`,`tasks_lifecycle_stages`],[`lifecycle_gate_results`,`tasks_lifecycle_gate_results`],[`lifecycle_evidence`,`tasks_lifecycle_evidence`],[`lifecycle_transitions`,`tasks_lifecycle_transitions`],[`evidence_ac_bindings`,`tasks_evidence_ac_bindings`],[`experiments`,`tasks_experiments`],[`attachments`,`docs_attachments`],[`attachment_refs`,`docs_attachment_refs`],[`manifest_entries`,`docs_manifest_entries`],[`pipeline_manifest`,`docs_pipeline_manifest`],[`commits`,`tasks_commits`],[`task_commits`,`tasks_task_commits`],[`commit_files`,`tasks_commit_files`],[`pull_requests`,`tasks_pull_requests`],[`pr_commits`,`tasks_pr_commits`],[`pr_tasks`,`tasks_pr_tasks`],[`releases`,`tasks_releases`],[`release_commits`,`tasks_release_commits`],[`release_changes`,`tasks_release_changes`],[`release_changesets`,`tasks_release_changesets`],[`release_artifacts`,`tasks_release_artifacts`],[`playbook_runs`,`tasks_playbook_runs`],[`playbook_approvals`,`tasks_playbook_approvals`],[`tasks_goal`,`tasks_goal`],[`schema_meta`,`tasks_schema_meta`],[`agent_credentials`,`tasks_agent_credentials`],[`brain_release_links`,`tasks_brain_release_links`]]),d=new Map([[`brain_decisions`,`brain_decisions`],[`brain_patterns`,`brain_patterns`],[`brain_learnings`,`brain_learnings`],[`brain_observations`,`brain_observations`],[`brain_sticky_notes`,`brain_sticky_notes`],[`brain_attention`,`brain_attention`],[`brain_memory_links`,`brain_memory_links`],[`brain_page_nodes`,`brain_page_nodes`],[`brain_page_edges`,`brain_page_edges`],[`brain_retrieval_log`,`brain_retrieval_log`],[`brain_plasticity_events`,`brain_plasticity_events`],[`brain_weight_history`,`brain_weight_history`],[`brain_modulators`,`brain_modulators`],[`brain_consolidation_events`,`brain_consolidation_events`],[`brain_transcript_events`,`brain_transcript_events`],[`brain_promotion_log`,`brain_promotion_log`],[`brain_backfill_runs`,`brain_backfill_runs`],[`brain_memory_trees`,`brain_memory_trees`],[`brain_observations_staging`,`brain_observations_staging`],[`brain_release_links`,null],[`brain_schema_meta`,`brain_schema_meta`],[`sticky_tags`,`brain_sticky_tags`],[`deriver_queue`,`brain_deriver_queue`],[`session_narrative`,`brain_session_narrative`],[`brain_usage_log`,`brain_usage_log`],[`brain_task_observations`,null],[`brain_embeddings`,null],[`brain_embeddings_info`,null],[`agent_credentials`,null]]),f=new Map([[`messages`,`conduit_messages`],[`delivery_jobs`,`conduit_delivery_jobs`],[`dead_letters`,`conduit_dead_letters`],[`message_pins`,`conduit_message_pins`],[`attachments`,`conduit_attachments`],[`attachment_versions`,`conduit_attachment_versions`],[`attachment_approvals`,`conduit_attachment_approvals`],[`attachment_contributors`,`conduit_attachment_contributors`],[`topics`,`conduit_topics`],[`topic_subscriptions`,`conduit_topic_subscriptions`],[`topic_messages`,`conduit_topic_messages`],[`topic_message_acks`,`conduit_topic_message_acks`],[`conversations`,`conduit_conversations`],[`project_agent_refs`,`conduit_project_agent_refs`]]),p=new Map([[`project_registry`,`nexus_project_registry`],[`project_id_aliases`,`nexus_project_id_aliases`],[`user_profile`,`nexus_user_profile`],[`sigils`,`nexus_sigils`],[`code_index`,`nexus_code_index`],[`nexus_audit_log`,`nexus_audit_log`],[`nexus_nodes`,`nexus_nodes`],[`nexus_relations`,`nexus_relations`],[`nexus_relation_weights`,`nexus_relation_weights`],[`nexus_contracts`,`nexus_contracts`],[`nexus_schema_meta`,`nexus_schema_meta`]]),m=new Set([`nexus_nodes`,`nexus_relations`,`nexus_contracts`,`code_index`]);function h(e,t,n){return v(e)===`nexus`&&m.has(t)?`project`:n}var g=new Map([[`users`,`agent_registry_users`],[`organization`,`agent_registry_organization`],[`agents`,`agent_registry_agents`],[`claim_codes`,`agent_registry_claim_codes`],[`agent_capabilities`,`agent_registry_agent_capabilities`],[`agent_skills`,`agent_registry_agent_skills`],[`agent_connections`,`agent_registry_agent_connections`],[`accounts`,`agent_registry_accounts`],[`sessions`,`agent_registry_sessions`],[`verifications`,`agent_registry_verifications`],[`org_agent_keys`,`agent_registry_org_agent_keys`],[`capabilities`,`agent_registry_capabilities`],[`skills`,`agent_registry_skills`]]),_=new Map([[`skills`,`skills_skills`],[`skill_usage`,`skills_skill_usage`],[`skill_reviews`,`skills_skill_reviews`],[`skill_patches`,`skills_skill_patches`]]);function v(e){let t=e.toLowerCase();return t.startsWith(`tasks`)?`tasks`:t.startsWith(`brain`)?`brain`:t.startsWith(`conduit`)?`conduit`:t.startsWith(`nexus`)?`nexus`:t.startsWith(`signaldock`)?`signaldock`:t.startsWith(`skills`)?`skills`:null}var y=new Set([`_conduit_meta`,`_conduit_migrations`,`_signaldock_meta`,`_signaldock_migrations`,`_skills_meta`]),b=/^_[a-z][a-z0-9]*_(?:meta|migrations)$/,x=[`_fts_data`,`_fts_idx`,`_fts_docsize`,`_fts_config`,`_fts_content`];function S(e){return y.has(e)||b.test(e)||e.endsWith(`_fts`)?!0:x.some(t=>e.endsWith(t))}function C(e,t){if(S(t))return{kind:`skip`,reason:t.includes(`_fts`)?`derived FTS5 table — rebuilt post-migration from its content table, not row-compared`:`internal bookkeeping table — no consolidated home (recreated by runtime)`};let n=v(e);if(n===null)return{kind:`unknown`,targetName:t};let r;switch(n){case`tasks`:r=u;break;case`brain`:r=d;break;case`conduit`:r=f;break;case`nexus`:r=p;break;case`signaldock`:r=g;break;case`skills`:r=_;break}if(!r.has(t))return{kind:`mapped`,targetName:t};let i=r.get(t);return i==null?{kind:`skip`,reason:w(n,t)}:{kind:`mapped`,targetName:i}}function w(e,t){return{brain_task_observations:`runtime-only observation cache (not Drizzle-managed); recreated lazily after exodus cutover`,brain_embeddings:`vec0 VIRTUAL TABLE — cannot be migrated via INSERT/SELECT; requires sqlite-vec extension; recreated lazily after exodus cutover`,brain_embeddings_info:`metadata companion to brain_embeddings vec0 virtual table; excluded from consolidated schema (derived/recreatable)`}[t]??`table '${t}' from ${e} has no consolidated target`}i(`exodus-count-parity`);var T=1.2,E=256*1024*1024;function D(e,t){return Math.ceil(T*t)+e}function O(e){let t=r(e),i=n();return[{name:`tasks`,path:(0,l.join)(t,`tasks.db`),targetScope:`project`},{name:`brain (project)`,path:(0,l.join)(t,`brain.db`),targetScope:`project`},{name:`conduit`,path:(0,l.join)(t,`conduit.db`),targetScope:`project`},{name:`nexus`,path:(0,l.join)(i,`nexus.db`),targetScope:`global`},{name:`signaldock`,path:(0,l.join)(i,`signaldock.db`),targetScope:`global`},{name:`skills`,path:(0,l.join)(i,`skills.db`),targetScope:`global`}]}function k(e){try{return(0,l.statSync)(e).size}catch{return 0}}function A(e){try{let t=(0,l.statfsSync)(e);return(t.bavail??t.bfree??0)*(t.bsize??4096)}catch{return 0}}function j(){return`exodus-staging-${new Date().toISOString().replace(/[:]/g,``).replace(/\..+Z$/,`Z`)}`}function ee(e){try{let t=(0,l.readdirSync)(e,{withFileTypes:!0}).filter(e=>e.isDirectory()&&e.name.startsWith(`exodus-staging-`)).map(e=>e.name).sort().reverse();if(t.length>0)return(0,l.join)(e,t[0])}catch{}return null}function te(e){let t=r(e),n=O(e),i=n.map(e=>k(e.path)),o=i.reduce((e,t)=>e+t,0),s=i.reduce((e,t)=>Math.max(e,t),0),c=D(o,s),u=A(t),d=o===0||u>=c,f=ee(t);return{sources:n,totalSourceBytes:o,largestSourceBytes:s,requiredBytes:c,availableBytes:u,diskPreflight:d,stagingCopyThresholdBytes:E,stagingDir:f??(0,l.join)(t,j()),resumeFromStaging:f!==null,projectDbPath:a(`project`,e),globalDbPath:a(`global`)}}function M(e){let t=e.toUpperCase();return t.includes(`INT`)?`0`:t.includes(`REAL`)||t.includes(`FLOAT`)||t.includes(`DOUBLE`)?`0.0`:t.includes(`BLOB`)?`x''`:`''`}var N=new Map([[`tasks_task_commits.link_source`,e=>`CASE ${e} WHEN 'commit-message' THEN 'commit-subject' ELSE ${e} END`],[`tasks_architecture_decisions.status`,e=>`CASE WHEN lower(${e}) = 'accepted' OR lower(${e}) LIKE 'accepted %' OR lower(${e}) = 'approved' THEN 'accepted' WHEN lower(${e}) = 'proposed' THEN 'proposed' WHEN lower(${e}) = 'superseded' THEN 'superseded' WHEN lower(${e}) = 'deprecated' THEN 'deprecated' ELSE ${e} END`],[`tasks_commits.conventional_type`,e=>`CASE WHEN ${e} IS NULL THEN NULL WHEN ${e} IN ('feat', 'fix', 'chore', 'docs', 'refactor', 'test', 'build', 'ci', 'perf', 'revert', 'breaking') THEN ${e} ELSE 'chore' END`],[`tasks_task_relations.relation_type`,e=>`CASE ${e} WHEN 'grouped-by' THEN 'groups' ELSE ${e} END`],[`tasks_lifecycle_stages.stage_name`,e=>`CASE ${e} WHEN 'implemented' THEN 'implementation' WHEN 'qaPassed' THEN 'validation' WHEN 'testsPassed' THEN 'testing' ELSE ${e} END`],[`tasks_architecture_decisions.gate_status`,e=>`CASE WHEN ${e} LIKE 'passed%' THEN 'passed' WHEN ${e} = 'approved' THEN 'passed' ELSE ${e} END`],[`tasks_evidence_ac_bindings.binding_type`,e=>`CASE WHEN ${e} LIKE 'validator:%' THEN 'direct' ELSE ${e} END`]]);function P(e,t,n){let r=`${e}.${t}`,i=N.get(r);return i?i(n):null}var F=new Map([[`brain_weight_history.delta_weight`,e=>`CASE WHEN ${e} = 9e999 THEN 1.0 WHEN ${e} = -9e999 THEN -1.0 WHEN ${e} != ${e} THEN 0.0 ELSE ${e} END`]]);function I(e,t,n){let r=`${e}.${t}`,i=F.get(r);return i?i(n):null}var L=/CHECK\s*\(\s*"([^"]+)"\s+IS\s+NULL\s+OR\s+"[^"]+"\s+GLOB\s+'\[0-9/gi,ne=1e11;function R(e){return`CASE WHEN ${e} IS NULL THEN NULL WHEN ${e} < ${ne} THEN strftime('%Y-%m-%dT%H:%M:%fZ', ${e}, 'unixepoch') ELSE strftime('%Y-%m-%dT%H:%M:%fZ', ${e}/1000.0, 'unixepoch') END`}function z(e,t,n=`main`){let r=t.replace(/'/g,`''`),i=e.prepare(`SELECT sql FROM "${n}".sqlite_master WHERE type='table' AND name='${r}'`).get();if(!i?.sql)return new Set;let a=new Set;L.lastIndex=0;for(let e of i.sql.matchAll(L))a.add(e[1]);return a}function re(e){let t=e.toUpperCase();return t.includes(`INT`)||t===``||t===`NUMERIC`}function B(e,t){return t===void 0||!(t.notnull===1&&t.dflt_value===null)?e:`COALESCE(${e}, ${M(t.type)})`}function ie(e,t,n,r,i){let a=`"${t}"`;if(r.has(t)&&re(n))return B(R(a),i);let o=I(e,t,a);if(o!==null)return B(o,i);let s=P(e,t,a);return B(s===null?a:s,i)}var V=`drizzle-v1.0.0-rc.3/dual-scope/2026-05`,H=i(`exodus-migrate`),ae=`.exodus-lock`,U=`exodus-journal.json`;function oe(e){try{return e.prepare(`SELECT sqlite_version() AS v`).get()?.v??`unknown`}catch{return`unknown`}}function se(e){return e.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%' AND name NOT LIKE '__drizzle_%' ORDER BY name`).all().map(e=>e.name)}function W(e,t){let n=(0,l.join)(e,U),r=`${n}.tmp`;(0,l.writeFileSync)(r,JSON.stringify(t,null,2)+`
2
- `,`utf8`),(0,l.renameSync)(r,n)}function ce(e){let t=(0,l.join)(e,U);if(!(0,l.existsSync)(t))return null;try{return JSON.parse((0,l.readFileSync)(t,`utf8`))}catch{return null}}function le(e){let t=(0,l.join)(e,U);try{return(0,l.existsSync)(t)?((0,l.unlinkSync)(t),H.info({stagingDir:e},`exodus: cleared migrate journal after abort/rollback — a retry will RE-COPY all tables`),!0):!1}catch(t){return H.warn({err:t,stagingDir:e},`exodus: failed to clear migrate journal after rollback (a retry may skip already-"done" tables)`),!1}}function ue(e){let t=new Date().toISOString();return{version:1,cleoVersion:s(),targetSchemaVersion:V,nodeVersion:process.version,sqliteVersion:e,startedAt:t,updatedAt:t,tables:[]}}function G(e){return`${e}${ae}`}function de(e){(0,l.writeFileSync)(G(e),JSON.stringify({pid:process.pid,ts:new Date().toISOString()}),`utf8`)}function fe(e){try{(0,l.unlinkSync)(G(e))}catch{}}function pe(e){try{return(0,l.statSync)(e).size}catch{return 0}}function me(e,t){return`_src_${e.replace(/[^a-z0-9]/gi,`_`).replace(/_+/g,`_`).slice(0,20)}_${t}`}var he=new Map([[`conduit`,`seconds`],[`brain`,`milliseconds`],[`brain (project)`,`milliseconds`],[`brain (global)`,`milliseconds`],[`signaldock`,`seconds`],[`tasks`,`milliseconds`],[`nexus`,`milliseconds`],[`skills`,`milliseconds`]]);function ge(e){let t=e.toLowerCase();for(let[e,n]of he)if(t===e||t.startsWith(e))return n;return`seconds`}function _e(e,t,n,r,i,a,o){let s=`"${e}"."${t}"."${r}"`,c=i.toUpperCase(),l=c.includes(`INT`)||c===``||c===`NUMERIC`,u=a.notnull===1&&a.dflt_value===null;if(o.has(r)&&l){let e=R(s);return u?`COALESCE(${e}, '') AS "${r}"`:`${e} AS "${r}"`}let d=I(n,r,s);if(d!==null)return u?`COALESCE(${d}, ${M(a.type)}) AS "${r}"`:`${d} AS "${r}"`;let f=P(n,r,s);return f===null?u?`COALESCE(${s}, ${M(a.type)}) AS "${r}"`:s:u?`COALESCE(${f}, ${M(a.type)}) AS "${r}"`:`${f} AS "${r}"`}function ve(e,t,n,r,i,a=`main`){let o=C(i,r);if(o.kind===`skip`)return H.warn({legacyTableName:r,sourceName:i,reason:o.reason},`Exodus: explicitly skipping table — ${o.reason}`),{rowsCopied:0,skipped:!0,reason:o.reason};let s=o.targetName,c=t.prepare(`PRAGMA table_info("${r}")`).all(),l=new Set(c.map(e=>e.name));if(l.size===0)return{rowsCopied:0,skipped:!1};let u=t.prepare(`SELECT COUNT(*) AS c FROM "${r}"`).get()?.c??0;if(u===0)return{rowsCopied:0,skipped:!1};let d=s.replace(/'/g,`''`);if(!e.prepare(`SELECT name FROM "${a}".sqlite_master WHERE type='table' AND name='${d}'`).get()){let e=`consolidated target '${s}' not found (mapped from legacy '${r}')`;return H.warn({legacyTableName:r,targetTableName:s,sourceName:i,attachAlias:n,targetSchema:a},`Exodus: ${e}`),{rowsCopied:0,skipped:!0,reason:e}}let f=e.prepare(`PRAGMA "${a}".table_info("${s}")`).all(),p=new Map(f.map(e=>[e.name,e])),m=c.map(e=>e.name).filter(e=>p.has(e));if(m.length===0){let e=`no overlapping columns between source '${r}' and target '${s}'`;return H.warn({legacyTableName:r,targetTableName:s,sourceName:i},`Exodus: ${e}`),{rowsCopied:0,skipped:!0,reason:e}}let h=c.map(e=>e.name).filter(e=>!p.has(e)),g=f.map(e=>e.name).filter(e=>!l.has(e));(h.length>0||g.length>0)&&H.info({legacyTableName:r,targetTableName:s,sourceName:i,srcOnlyColumns:h,tgtOnlyColumns:g},`Exodus: column drift detected — copying intersection, dropping src-only cols, using defaults for tgt-only cols`);let _=z(e,s,a),v=ge(i),y=new Map(c.map(e=>[e.name,e.type]));if(_.size>0){let e=m.filter(e=>{let t=(y.get(e)??``).toUpperCase();return _.has(e)&&(t.includes(`INT`)||t===``||t===`NUMERIC`)});e.length>0&&H.info({legacyTableName:r,targetTableName:s,sourceName:i,coercedCols:e,epochUnitHint:v},`Exodus: applying epoch→ISO coercion (magnitude heuristic) for ${e.length} column(s) (T11546+T11549)`)}let b=m.filter(e=>N.has(`${s}.${e}`));b.length>0&&H.info({legacyTableName:r,targetTableName:s,sourceName:i,normalizedCols:b},`Exodus: applying enum-value normalization for ${b.length} column(s) (T11547)`);let x=m.filter(e=>F.has(`${s}.${e}`));x.length>0&&H.info({legacyTableName:r,targetTableName:s,sourceName:i,clampedCols:x},`Exodus: applying non-finite numeric clamp for ${x.length} column(s) (T11782)`);let S=m.map(e=>_e(n,r,s,e,y.get(e)??``,p.get(e),_)),w=g.filter(e=>{let t=p.get(e);return t!==void 0&&t.notnull===1&&t.dflt_value===null}),T=[...m,...w],E=[...S,...w.map(e=>`${M(p.get(e).type)} AS "${e}"`)],D=T.map(e=>`"${e}"`).join(`, `),O=E.join(`, `),k=e.prepare(`SELECT COUNT(*) AS c FROM "${a}"."${s}"`).get(),A=Number(k?.c??0),j=e.prepare(`INSERT OR IGNORE INTO "${a}"."${s}" (${D}) SELECT ${O} FROM "${n}"."${r}"`).run().changes??0;if(j<u){let e=A+j;if(e>=u)return H.info({legacyTableName:r,targetTableName:s,sourceName:i,sourceCount:u,rowsCopied:j,existingBefore:A},`Exodus: '${r}'→'${s}' — ${u-j} of ${u} row(s) already present in target (idempotent PK dedup), ${j} newly copied; no loss`),{rowsCopied:j,skipped:!1};let t=u-e,n=`INSERT OR IGNORE lost ${t} of ${u} rows from '${r}'→'${s}' (rowsCopied=${j}, existingBefore=${A}) — a CHECK/NOT NULL/type/enum constraint rejected them (NOT PK dedup); inspect epoch coercion + enum normalization. verify will confirm.`;return H.error({legacyTableName:r,targetTableName:s,sourceName:i,sourceCount:u,rowsCopied:j,existingBefore:A,missing:t},`Exodus: ${n}`),{rowsCopied:j,skipped:!1,reason:n}}return{rowsCopied:j,skipped:!1}}function ye(e,t){if(e.targetSchemaVersion!==`drizzle-v1.0.0-rc.3/dual-scope/2026-05`){let n=`Schema version mismatch: journal=${e.targetSchemaVersion}, expected=${V}`;return t?(H.warn(n+` (--force-cross-version: continuing anyway)`),!0):(H.error(n+` — pass --force-cross-version to override`),!1)}return!0}async function be(e,t=!1,n){let{sources:r,stagingDir:i,diskPreflight:a,projectDbPath:s,globalDbPath:u}=e;if(!a){let t=Math.max(0,e.requiredBytes-e.availableBytes);return{ok:!1,tables:[],stagingDir:i,backupPaths:[],error:`Insufficient disk space for exodus: need ≥${e.requiredBytes} bytes (≈${T}× largest source ${e.largestSourceBytes} + consolidated estimate ${e.totalSourceBytes}), but only ${e.availableBytes} bytes are free on the target filesystem — ${t} bytes short. Free up at least ${t} bytes (e.g. \`cleo backup prune\`, clear caches), or move the .cleo/ directory to a larger volume, then retry.`}}(0,l.mkdirSync)(i,{recursive:!0});let d=`unknown`;for(let e of r)if((0,l.existsSync)(e.path)){let t=c(e.path,{readOnly:!0});d=oe(t.db),t.close();break}let f=ce(i);if(f===null)f=ue(d);else{if(!ye(f,t))return{ok:!1,tables:[],stagingDir:i,backupPaths:[],error:`Schema version mismatch. Pass --force-cross-version to override.`};n?.(`Resuming from existing staging journal…`)}let p=[],m=[],h=[],g=null,_=null;try{for(let t of r){if(!(0,l.existsSync)(t.path))continue;let r=(0,l.join)(i,`${t.name.replace(/[^a-z0-9-]/g,`_`)}-backup.db`),a=pe(t.path);a>e.stagingCopyThresholdBytes?n?.(`Skipping full staging copy of ${t.name} (${a} bytes > ${e.stagingCopyThresholdBytes} threshold) — source is archived, not deleted, on success.`):(0,l.existsSync)(r)||(n?.(`Backing up ${t.name} → staging dir…`),(0,l.copyFileSync)(t.path,r),p.push(r)),de(t.path),h.push(t.path)}n?.(`Opening DEDICATED project-scope cleo.db connection (running migrations)…`),g=await o(`project`,s,void 0,{dedicated:!0}),n?.(`Opening DEDICATED global-scope cleo.db connection (running migrations)…`),_=await o(`global`,u,void 0,{dedicated:!0});function t(e){let t=e.db,n=t.$client;if(n&&typeof n.prepare==`function`)return n;if(typeof t.prepare==`function`)return t;throw Error(`Could not extract native DatabaseSync from dual-scope DB handle`)}let a=t(g),c=t(_),d=r.filter(e=>e.targetScope===`project`&&(0,l.existsSync)(e.path)),v=r.filter(e=>e.targetScope===`global`&&(0,l.existsSync)(e.path));return await K(`project`,d,a,f,i,m,n),await K(`global`,v,c,f,i,m,n,s),f.updatedAt=new Date().toISOString(),W(i,f),{ok:!0,tables:m,stagingDir:i,backupPaths:p}}catch(e){let t=e instanceof Error?e.message:String(e);return H.error({err:e},`Exodus migration failed`),{ok:!1,tables:m,stagingDir:i,backupPaths:p,error:t}}finally{try{g?.close()}catch{}try{_?.close()}catch{}for(let e of h)fe(e)}}async function K(e,t,n,r,i,a,o,s){if(t.length!==0){o?.(`Migrating ${e}-scope sources…`),n.exec(`PRAGMA foreign_keys = OFF`),H.info({scope:e},`Exodus: foreign_keys=OFF for bulk copy (T11533 FK-defer)`);try{for(let l=0;l<t.length;l++){let u=t[l],d=me(u.name,l),f=u.path.replace(/'/g,`''`);n.exec(`ATTACH DATABASE '${f}' AS "${d}"`),o?.(` [${u.name}] Attached as "${d}"`);let p=null;if(s){p=`_xscope_${d}`;let e=s.replace(/'/g,`''`);n.exec(`ATTACH DATABASE '${e}' AS "${p}"`),o?.(` [${u.name}] Cross-scope target attached as "${p}"`)}let m=c(u.path,{readOnly:!0});try{let t=se(m.db);n.exec(`BEGIN`);let s=!0;try{for(let s of t){let t=r.tables.find(e=>e.sourceDb===u.name&&e.tableName===s);if(t?.status===`done`){o?.(` ↳ ${u.name}.${s} — already done (resuming)`),a.push({sourceDb:u.name,tableName:s,rowsCopied:t.rowsCopied,skipped:!1});continue}o?.(` ↳ Copying ${u.name}.${s}…`);let c=0,l=`done`,f,g=!1;try{let t=h(u.name,s,e),r=t!==e&&p?p:`main`;if(t!==e&&!p)throw Error(`Table '${s}' from '${u.name}' routes to ${t} scope but no cross-scope target was attached for the ${e} pass (ADR-090 T11539)`);let i=ve(n,m.db,d,s,u.name,r);c=i.rowsCopied,i.skipped?(l=`skipped`,f=i.reason,g=!0):i.reason&&(l=`partial`,f=i.reason)}catch(e){let t=e instanceof Error?e.message:String(e);H.warn({tableName:s,sourceDb:u.name,err:e},`Table copy failed — skipping`),l=`skipped`,f=t,g=!0}let _={sourceDb:u.name,tableName:s,status:l,rowsCopied:c,updatedAt:new Date().toISOString(),...f?{error:f}:{}},v=r.tables.findIndex(e=>e.sourceDb===u.name&&e.tableName===s);v>=0?r.tables[v]=_:r.tables.push(_),r.updatedAt=new Date().toISOString(),W(i,r),a.push({sourceDb:u.name,tableName:s,rowsCopied:c,skipped:g,reason:f})}n.exec(`COMMIT`),s=!1}catch(e){if(s)try{n.exec(`ROLLBACK`)}catch{}throw e}}finally{m.close();try{n.exec(`DETACH DATABASE "${d}"`),o?.(` [${u.name}] Detached "${d}"`)}catch(e){H.warn({attachAlias:d,sourceDb:u.name,err:e},`DETACH failed — alias will be released on DB close`)}if(p)try{n.exec(`DETACH DATABASE "${p}"`),o?.(` [${u.name}] Cross-scope target detached "${p}"`)}catch(e){H.warn({crossAlias:p,sourceDb:u.name,err:e},`Cross-scope DETACH failed — alias will be released on DB close`)}}}}finally{try{let t=n.prepare(`PRAGMA foreign_key_check`).all();t.length>0?H.warn({scope:e,orphanCount:t.length,sample:t.slice(0,5)},`Exodus: PRAGMA foreign_key_check found ${t.length} orphan row(s) after bulk copy — these are genuine data orphans (not ordering artifacts)`):H.info({scope:e},`Exodus: PRAGMA foreign_key_check PASSED — no orphan rows`)}catch(t){H.warn({scope:e,err:t},`Exodus: PRAGMA foreign_key_check failed (non-fatal) — target schema may not have FK constraints enabled`)}try{n.exec(`PRAGMA foreign_keys = ON`),H.info({scope:e},`Exodus: foreign_keys=ON restored after bulk copy`)}catch(t){H.warn({scope:e,err:t},`Exodus: could not restore foreign_keys=ON (non-fatal)`)}}}}i(`exodus-seal`);var q=i(`verify-migration`),xe=(0,l.createRequire)(import.meta.url);function Se(e,t){try{let n=e.prepare(`PRAGMA table_info("${t}")`).all().filter(e=>e.pk>0).sort((e,t)=>e.pk-t.pk).map(e=>`"${e.name}"`);if(n.length>0)return n.join(`, `)}catch{}return`rowid`}function J(e,t,n,r){let i=0;try{let n=e.prepare(`SELECT COUNT(*) AS c FROM "${t}"`).get();i=Number(n?.c??0)}catch(e){let n=e instanceof Error?e.message:String(e);return q.warn({tableName:t,err:n},`computeTableDigest: COUNT(*) failed (possibly a virtual/FTS table) — treating as 0 rows`),{count:0,hash:``}}let{createHash:a}=xe(`node:crypto`),o=a(`sha256`),s=Se(e,t),c;c=n!==null&&n.length>0?n.map(e=>{if(r===void 0)return`"${e}"`;let t=r.srcTypeByCol.get(e)??``,n=r.tgtColByCol.get(e);return`${ie(r.targetTableName,e,t,r.isoGlobCols,n)} AS "${e}"`}).join(`, `):`*`;try{let n=e.prepare(`SELECT ${c} FROM "${t}" ORDER BY ${s}`);for(let e of n.iterate()){let t=e;o.update(JSON.stringify(t,Object.keys(t).sort()))}}catch(e){let n=e instanceof Error?e.message:String(e);return q.warn({tableName:t,err:n},`computeTableDigest: streamed SELECT failed (possibly a virtual/FTS table) — digest skipped (COUNT(*) parity still enforced)`),{count:i,hash:``}}return{count:i,hash:o.digest(`hex`).slice(0,32)}}function Ce(e,t,n,r){try{let i=e.prepare(`PRAGMA table_info("${t}")`).all().map(e=>e.name),a=new Set(n.prepare(`PRAGMA table_info("${r}")`).all().map(e=>e.name));return i.length===0||a.size===0?null:i.filter(e=>a.has(e)).sort()}catch{return null}}function we(e,t,n,r){try{return{targetTableName:r,srcTypeByCol:new Map(e.prepare(`PRAGMA table_info("${t}")`).all().map(e=>[e.name,e.type])),isoGlobCols:z(n,r),tgtColByCol:new Map(n.prepare(`PRAGMA table_info("${r}")`).all().map(e=>[e.name,{notnull:e.notnull,dflt_value:e.dflt_value,type:e.type}]))}}catch{return}}function Y(e){return e.prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%' AND name NOT LIKE '__drizzle_%' ORDER BY name`).all().map(e=>e.name)}function Te(e,t){try{let n=t.replace(/'/g,`''`);return e.prepare(`SELECT 1 FROM sqlite_master WHERE type='table' AND name='${n}'`).get()!==void 0}catch{return!1}}var X=/CHECK\s*\(\s*"([^"]+)"\s+(?:IS\s+NULL\s+OR\s+"[^"]+"\s+)?IN\s*\(([^)]*)\)\s*\)/gi;function Ee(e){let t=[];for(let n of e.matchAll(/'((?:[^']|'')*)'/g))t.push(n[1].replace(/''/g,`'`));return t}function Z(e,t){let n=t.replace(/'/g,`''`),r=e.prepare(`SELECT sql FROM sqlite_master WHERE type='table' AND name='${n}'`).get(),i=new Map;if(!r?.sql)return i;X.lastIndex=0;for(let e of r.sql.matchAll(X)){let t=e[1],n=Ee(e[2]);n.length>0&&i.set(t,n)}return i}function De(e,t,n,r){let i=Z(n,r);if(i.size===0)return[];let a;try{a=new Set(e.prepare(`PRAGMA table_info("${t}")`).all().map(e=>e.name))}catch{return[]}let o=[];for(let[n,s]of i){if(!a.has(n))continue;let i=new Set(s),c;try{c=e.prepare(`SELECT "${n}" AS v, COUNT(*) AS c FROM "${t}" WHERE "${n}" IS NOT NULL GROUP BY "${n}"`).all()}catch{continue}let l=[],u=0;for(let e of c){let t=String(e.v);i.has(t)||(u+=e.c,l.length<20&&l.push(t))}u>0&&o.push({targetTable:r,column:n,offendingValues:l,allowedValues:s,driftCount:u})}return o}function Q(e,t){try{let n=e.prepare(`PRAGMA foreign_key_check`).all();return n.length>0&&q.warn({scope:t,count:n.length,sample:n.slice(0,5)},`verifyMigration: PRAGMA foreign_key_check found ${n.length} orphan row(s)`),n.map(e=>({table:e.table,rowid:e.rowid??null,parent:e.parent,fkid:e.fkid}))}catch(e){return q.warn({scope:t,err:e},`verifyMigration: PRAGMA foreign_key_check failed (non-fatal)`),[]}}function $(e,t,n){let r=e=>{if(n===void 0)return e;let t=C(n,e);return t.kind===`skip`?e:t.targetName},i=r(t.table),a=r(t.parent),o=[];try{o=e.prepare(`PRAGMA foreign_key_list("${t.table}")`).all().filter(e=>e.id===t.fkid).map(e=>e.from)}catch{}if(t.rowid!==null&&o.length>0)try{let n=o.map(e=>`"${e}"`).join(`, `),r=e.prepare(`SELECT ${n} FROM "${t.table}" WHERE rowid = ?`).get(t.rowid);if(r)return`${i}|${a}|${o.slice().sort().map(e=>`${e}=${JSON.stringify(r[e])}`).join(`&`)}`}catch{}return`${i}|${a}|rowid:${t.rowid??`?`}`}function Oe(e,t,n){let r=new Set;try{let i=e.prepare(`PRAGMA foreign_key_check`).all();for(let n of i)r.add($(e,n,t));i.length>0&&q.warn({scope:n,count:i.length,sample:i.slice(0,5)},`verifyMigration: source already has ${i.length} pre-existing FK orphan(s) — these are tolerated (carried forward losslessly, flagged for data-hygiene)`)}catch(e){q.warn({scope:n,err:e},`verifyMigration: source PRAGMA foreign_key_check failed (non-fatal)`)}return r}function ke(e,t,n,r){let i=[],a=[],o=[],s=[],u=[],d=[],f=new Set;if(!(0,l.existsSync)(t))return{ok:!1,tables:[],foreignKeyViolations:[],introducedForeignKeyViolations:[],preExistingForeignKeyViolations:[],enumDrift:[],error:`Consolidated project cleo.db not found at ${t}. Run 'cleo exodus migrate' first.`};if(!(0,l.existsSync)(n))return{ok:!1,tables:[],foreignKeyViolations:[],introducedForeignKeyViolations:[],preExistingForeignKeyViolations:[],enumDrift:[],error:`Consolidated global cleo.db not found at ${n}. Run 'cleo exodus migrate' first.`};let p=c(t,{readOnly:!0}),m=c(n,{readOnly:!0});try{for(let t of e){if(!(0,l.existsSync)(t.path)){r?.(`Skipping ${t.name} (not present)`);continue}let e=c(t.path,{readOnly:!0});try{for(let n of Oe(e.db,t.name,`source:${t.name}`))f.add(n);let n=Y(e.db),o=new Set(Y(p.db)),s=new Set(Y(m.db));for(let c of n){r?.(`Verifying ${t.name}.${c}…`);let n=C(t.name,c);if(n.kind===`skip`){r?.(` [skip] ${t.name}.${c} — ${n.reason}`);continue}let l=n.targetName,u=h(t.name,c,t.targetScope),f=u===`project`?p:m,g=u===`project`?o:s;if(g.has(l)){let t=De(e.db,c,f.db,l);if(t.length>0){a.push(...t);for(let e of t)d.push(`[${u}] ${l}.${e.column}: ${e.driftCount} row(s) with value(s) outside enum {${e.allowedValues.join(`, `)}} — e.g. ${e.offendingValues.map(e=>`'${e}'`).join(`, `)}`)}}if(!g.has(l)){let n=J(e.db,c,null),r=n.count===0;i.push({sourceTable:c,targetTable:l,scope:u,sourceCount:n.count,targetCount:0,sourceHash:n.hash,targetHash:``,hashMatch:r,countMatch:r}),r||d.push(`[${u}] ${t.name}.${c} → ${l}: missing from target (source has ${n.count} rows)`);continue}let _=Ce(e.db,c,f.db,l),v=we(e.db,c,f.db,l),y=J(e.db,c,_,v),b=J(f.db,l,_),x=y.count===b.count,S=y.hash===b.hash;b.count<y.count?d.push(`[${u}] ${t.name}.${c} → ${l}: DEFICIT — source=${y.count} rows, target=${b.count} rows (${y.count-b.count} missing), hashMatch=${S}`):b.count>y.count?q.warn({scope:u,source:t.name,table:l,sourceCount:y.count,targetCount:b.count,delta:b.count-y.count},`verifyMigration: ${l} has ${b.count-y.count} MORE row(s) in target than source (surplus — NOT data loss, tolerated; e.g. migration-time audit writes). Verify it is not an unexpected double-copy.`):S||d.push(`[${u}] ${t.name}.${c} → ${l}: source=${y.count} rows, target=${b.count} rows, hashMatch=${S}`),i.push({sourceTable:c,targetTable:l,scope:u,sourceCount:y.count,targetCount:b.count,sourceHash:y.hash,targetHash:b.hash,hashMatch:S,countMatch:x})}}finally{e.close()}}let t=[];t.push(...Q(p.db,`project`)),t.push(...Q(m.db,`global`)),o.push(...t);for(let e of t){let t=$(Te(p.db,e.table)?p.db:m.db,e);f.has(t)?u.push(e):(s.push(e),d.push(`[fk] ${e.table}.rowid=${e.rowid??`?`} references missing ${e.parent} (fkid=${e.fkid}) — INTRODUCED by migration`))}u.length>0&&q.warn({count:u.length,sample:u.slice(0,5)},`verifyMigration: ${u.length} pre-existing source FK orphan(s) carried forward losslessly — tolerated (flag for data-hygiene follow-up, NOT a migration failure)`)}catch(e){let t=e instanceof Error?e.message:String(e);return q.error({err:e},`verifyMigration failed`),{ok:!1,tables:i,foreignKeyViolations:o,introducedForeignKeyViolations:s,preExistingForeignKeyViolations:u,enumDrift:a,error:t}}finally{p.close(),m.close()}if(d.length>0){let e=`verifyMigration FAILED: ${d.length} issue(s):\n${d.map(e=>` • ${e}`).join(`
3
- `)}`;return q.error({failureCount:d.length},e),{ok:!1,tables:i,foreignKeyViolations:o,introducedForeignKeyViolations:s,preExistingForeignKeyViolations:u,enumDrift:a,error:e}}return{ok:!0,tables:i,foreignKeyViolations:o,introducedForeignKeyViolations:s,preExistingForeignKeyViolations:u,enumDrift:a}}export{te as buildExodusPlan,le as clearExodusJournal,be as runExodusMigrate,ke as verifyMigration};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Wadww7ZG.js","./DYP3EJMY.js","./DrKWWDpL.js","./Dy7EjGgb2.js","./DsQIgu-4.js","./DF_4OWhj.js"])))=>i.map(i=>d[i]);
2
- import{s as e}from"./DrKWWDpL.js";import{n as t,t as n}from"./DsQIgu-4.js";import{t as r}from"./DYP3EJMY.js";import{t as i}from"./DF_4OWhj.js";import{c as a,d as o,f as s,p as c}from"./C1vWmhYe.js";var l=e(r(),1);t();function u(){return{}.CLEO_BRAIN_BYPASS_WRITER_THREAD===`1`?(i(`brain-writer`).warn({event:`bypass-active`,envVar:`CLEO_BRAIN_BYPASS_WRITER_THREAD`},`Brain writer-thread chokepoint bypassed via env var — direct main-thread write`),!0):!1}function d(){try{let e=(0,l.join)((0,l.dirname)((0,l.fileURLToPath)(import.meta.url)),`brain-writer-worker.js`);return(0,l.existsSync)(e)?e:null}catch{return null}}var f=class{worker=null;workerReady=!1;workerInitError=null;initPromise=null;pending=new Map;seqCounter=0;shuttingDown=!1;async ensureWorker(){if(!(this.workerReady||this.shuttingDown)){if(this.workerInitError)throw this.workerInitError;if(this.initPromise)return this.initPromise;this.initPromise=this.doInit();try{await this.initPromise}finally{this.initPromise=null}}}async doInit(){let t=d();if(!t)throw this.workerInitError=Error(`brain-writer-worker.js not found adjacent to brain-writer-thread.js`),this.workerInitError;let{Worker:r}=await n(async()=>{let{Worker:t}=await import(`./Wadww7ZG.js`).then(t=>e(t.default,1));return{Worker:t}},__vite__mapDeps([0,1,2]),import.meta.url),a=new r(t);a.on(`message`,e=>{this.handleWorkerMessage(e)}),a.on(`error`,e=>{for(let[,t]of this.pending)t.reject(e instanceof Error?e:Error(String(e)));this.pending.clear(),this.worker=null,this.workerReady=!1,this.workerInitError=e instanceof Error?e:Error(String(e)),i(`brain-writer`).error({err:e},`Brain writer-thread crashed`)}),a.on(`exit`,e=>{if(this.worker=null,this.workerReady=!1,e!==0&&!this.shuttingDown){let t=Error(`brain-writer-worker exited with code ${e}`);for(let[,e]of this.pending)e.reject(t);this.pending.clear(),this.workerInitError=t}}),this.worker=a,this.workerReady=!0}handleWorkerMessage(e){let t=this.pending.get(e.seq);t&&(this.pending.delete(e.seq),e.ok?t.resolve(e.result):t.reject(Error(e.error)))}async enqueue(e){if(this.shuttingDown)throw Error(`brain-writer is shutting down — no new writes accepted`);await this.ensureWorker();let t=this.worker;if(!t)throw Error(`brain-writer worker is not available`);let n=++this.seqCounter,r={seq:n,op:e};return new Promise((e,i)=>{this.pending.set(n,{resolve:e,reject:i});try{t.postMessage(r)}catch(e){this.pending.delete(n),i(e instanceof Error?e:Error(String(e)))}})}async shutdown(){if(this.shuttingDown)return;this.shuttingDown=!0;let e=Date.now();for(;this.pending.size>0&&Date.now()-e<250;)await new Promise(e=>setTimeout(e,25));if(this.worker){try{await this.worker.terminate()}catch{}this.worker=null}this.workerReady=!1,this.pending.clear()}_hasInFlight(){return this.pending.size}},p=`project`,m=`brain`,h=new Map;async function g(e){if(c()===`off`)return async()=>{};let t=h.get(e);if(t===void 0&&(t={handle:null,refcount:0,inflight:null},h.set(e,t)),t.handle===null){t.inflight===null&&(t.inflight=o(p,m,{priority:50,dbPath:e}));let n=t.inflight;try{let e=await n;t.handle===null&&(t.handle=e)}finally{t.inflight===n&&(t.inflight=null)}}t.refcount+=1;let n=!1;return async()=>{if(!n&&(n=!0,--t.refcount,t.refcount<=0&&t.handle!==null)){let n=t.handle;t.handle=null,t.refcount=0,h.get(e)===t&&h.delete(e),await n.release()}}}var _=Promise.resolve();function v(e){let t=_.then(()=>y(e));return _=t.catch(()=>void 0),t}async function y(e){s(p,m,a(p,e.projectRoot));let{handleWriteOp:t}=await n(async()=>{let{handleWriteOp:e}=await import(`./Dy7EjGgb2.js`);return{handleWriteOp:e}},__vite__mapDeps([3,2,4,5,1]),import.meta.url);return t(e)}var b=null;function x(){if(!b){b=new f,process.on(`exit`,()=>{b?.shutdown().catch(()=>void 0)});let e=()=>{let e=setTimeout(()=>process.exit(0),2e3);e.unref(),b?.shutdown().catch(()=>void 0).finally(()=>{clearTimeout(e)})};process.once(`SIGTERM`,e),process.once(`SIGINT`,e)}return b}async function S(e){let t=await g(a(p,e.projectRoot));try{if(u())return await v(e);try{return await x().enqueue(e)}catch(t){let n=t instanceof Error?t.message:String(t);return i(`brain-writer`).debug({err:n},`Brain writer-thread unavailable — falling back to inline serialized executor`),await v(e)}}finally{await t()}}export{S as enqueueBrainWrite};
@@ -1 +0,0 @@
1
- import{s as e}from"./DrKWWDpL.js";import{t}from"./DYP3EJMY.js";import{r as n}from"./DOqzs8kl2.js";import{i as r,n as i,t as a}from"./HwtzDYxN.js";var o=e(t(),1);function s(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`)}function c(e,t){return(0,o.join)((0,o.join)(n(),`rate-limit-state`),`${s(e)}-${s(t)}.json`)}function l(e){let t=t=>e instanceof Headers?e.get(t):e[t]??null,n=t(`retry-after`);if(n){let e=Number(n);if(Number.isFinite(e)&&e>0)return Date.now()+e*1e3;let t=Date.parse(n);if(Number.isFinite(t)&&t>Date.now())return t}let r=t(`x-ratelimit-reset-requests`);if(r){let e=Number(r);if(Number.isFinite(e)&&e>Date.now()/1e3)return e*1e3}let i=t(`x-ratelimit-reset`);if(i){let e=Number(i);if(Number.isFinite(e)&&e>Date.now()/1e3)return e*1e3;let t=Date.parse(i);if(Number.isFinite(t)&&t>Date.now())return t}return null}async function u(e,t,a){let s=Date.now(),u=(a?.defaultCooldownSeconds??300)*1e3,d,f;if(a?.headers){let e=l(a.headers);e!==null&&e>s?(d=e,f=`header`):(d=s+u,f=`default`)}else d=s+u,f=`default`;let p=c(e,t),m=(0,o.join)(n(),`rate-limit-state`);(0,o.existsSync)(m)||(0,o.mkdirSync)(m,{recursive:!0});let h={resetAt:d,recordedAt:s,source:f};await i(p,()=>{r(p,h)})}async function d(e,t){let n=a(c(e,t));if(!n)return null;let r=(n.resetAt-Date.now())/1e3;return r>0?r:null}export{u as n,d as t};