@cleocode/cleo 2026.9.5 → 2026.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/cli/index.js +32 -3
  2. package/dist/cli/index.js.map +1 -1
  3. package/package.json +13 -13
  4. package/scripts/copy-studio-dist.mjs +97 -3
  5. package/studio-dist/client/_app/immutable/chunks/BGmpyfzD.js +1 -0
  6. package/studio-dist/client/_app/immutable/chunks/{CKXdW4mW.js → DVHIxkgs.js} +1 -1
  7. package/studio-dist/client/_app/immutable/chunks/{DrfFUIvQ.js → TX-23QW3.js} +1 -1
  8. package/studio-dist/client/_app/immutable/chunks/{C7UP-KLT.js → eK8hf4s7.js} +1 -1
  9. package/studio-dist/client/_app/immutable/entry/{app.BwkUGH1B.js → app.BoQ7cgT2.js} +2 -2
  10. package/studio-dist/client/_app/immutable/entry/start.Cg1v8DU4.js +1 -0
  11. package/studio-dist/client/_app/immutable/nodes/{0.DcUJW-xi.js → 0.CZzEEyVh.js} +1 -1
  12. package/studio-dist/client/_app/immutable/nodes/{1.DyTt_cQs.js → 1.Bj3Opbua.js} +1 -1
  13. package/studio-dist/client/_app/immutable/nodes/{15.LRqqoueS.js → 15.BfXgiwMC.js} +1 -1
  14. package/studio-dist/client/_app/immutable/nodes/{16.-hGPNXOI.js → 16.mEwy9cqh.js} +1 -1
  15. package/studio-dist/client/_app/immutable/nodes/{17.ChMxgTIY.js → 17.DP2QtQGn.js} +1 -1
  16. package/studio-dist/client/_app/immutable/nodes/{18.B9zeITVb.js → 18.Bu0054sX.js} +1 -1
  17. package/studio-dist/client/_app/immutable/nodes/{20.BHg5roNq.js → 20.B1AIHdkP.js} +1 -1
  18. package/studio-dist/client/_app/immutable/nodes/{24.B_s9aY5m.js → 24.BUoUu37z.js} +1 -1
  19. package/studio-dist/client/_app/immutable/nodes/{25.DZXkDxw_.js → 25.ddZ1_EFk.js} +1 -1
  20. package/studio-dist/client/_app/immutable/nodes/{26.BBRbdwIG.js → 26.6OcmQbLV.js} +1 -1
  21. package/studio-dist/client/_app/immutable/nodes/{3.DMYcrZeG.js → 3.Dyir4xXj.js} +1 -1
  22. package/studio-dist/client/_app/version.json +1 -1
  23. package/studio-dist/server/chunks/{0-CM4iQVYP.js → 0-CvsKDxQ6.js} +3 -3
  24. package/studio-dist/server/chunks/{1-BQFD-dx6.js → 1-ck_x2Hf0.js} +3 -3
  25. package/studio-dist/server/chunks/{15-Cng10n82.js → 15-BvUNl3KL.js} +3 -3
  26. package/studio-dist/server/chunks/{16-u3KwU3N4.js → 16-De6EzPSa.js} +3 -3
  27. package/studio-dist/server/chunks/{17-BDtxQX9n.js → 17-CZNsiZhi.js} +3 -3
  28. package/studio-dist/server/chunks/{18-wwUoSO4F.js → 18-CbxxjZox.js} +3 -3
  29. package/studio-dist/server/chunks/{20-B-0CBvqY.js → 20-DVU22np7.js} +3 -3
  30. package/studio-dist/server/chunks/{24-BeVcofpU.js → 24-CVlymvLF.js} +3 -3
  31. package/studio-dist/server/chunks/{25-DIuzTPOu.js → 25-CAg6Xcmn.js} +3 -3
  32. package/studio-dist/server/chunks/{26-CY8x0KNI.js → 26-_nfVTvNi.js} +3 -3
  33. package/studio-dist/server/chunks/{3-p3RwD-FY.js → 3-B8KhfvHp.js} +3 -3
  34. package/studio-dist/server/chunks/{_layout.svelte-rswfOTDe.js → _layout.svelte-BEIGQcIv.js} +4 -4
  35. package/studio-dist/server/chunks/{_page.svelte-DaYxqOUS.js → _page.svelte-2cgtvHwW.js} +3 -3
  36. package/studio-dist/server/chunks/{_page.svelte-BT1YF8j2.js → _page.svelte-9OQphlnm.js} +4 -4
  37. package/studio-dist/server/chunks/{_page.svelte-CiIYIPG9.js → _page.svelte-BIlhmugm.js} +3 -3
  38. package/studio-dist/server/chunks/{_page.svelte-C9twD2l1.js → _page.svelte-BgwL2Gyu.js} +3 -3
  39. package/studio-dist/server/chunks/{_page.svelte-DKVwBmIp.js → _page.svelte-C_VSL8NW.js} +4 -4
  40. package/studio-dist/server/chunks/{_page.svelte-CHH1vmfg.js → _page.svelte-DOWw416I.js} +3 -3
  41. package/studio-dist/server/chunks/{_page.svelte-D8NhlkPD.js → _page.svelte-Wfx7ww_h.js} +3 -3
  42. package/studio-dist/server/chunks/{_page.svelte-DZEnHo1L.js → _page.svelte-l4Z_xjl9.js} +3 -3
  43. package/studio-dist/server/chunks/{_page.svelte-DmTXiXKT.js → _page.svelte-tYN7_LXI.js} +3 -3
  44. package/studio-dist/server/chunks/{client-ym-URLFs.js → client-CgX38JBu.js} +2 -2
  45. package/studio-dist/server/chunks/{error.svelte-Bt1EbBZe.js → error.svelte-CplNulnS.js} +3 -3
  46. package/studio-dist/server/chunks/{internal-D3i_4gCl.js → internal-D6eWgsHJ.js} +2 -2
  47. package/studio-dist/server/chunks/{stores-ByevKXL9.js → stores-5DmdjPCH.js} +2 -2
  48. package/studio-dist/server/index.js +1 -1
  49. package/studio-dist/server/manifest.js +12 -12
  50. package/studio-dist/client/_app/immutable/assets/ort-wasm-simd-threaded.asyncify.BrebZMa_.wasm +0 -0
  51. package/studio-dist/client/_app/immutable/chunks/9yrFrmKZ.js +0 -1
  52. package/studio-dist/client/_app/immutable/entry/start.BcsID0Sf.js +0 -1
  53. package/studio-dist/server/chunks/0-CM4iQVYP.js.map +0 -1
  54. package/studio-dist/server/chunks/1-BQFD-dx6.js.map +0 -1
  55. package/studio-dist/server/chunks/10-DvOD4ksa.js.map +0 -1
  56. package/studio-dist/server/chunks/11-DMnBZ02H.js.map +0 -1
  57. package/studio-dist/server/chunks/12-CCyRyRWX.js.map +0 -1
  58. package/studio-dist/server/chunks/13-Dx1c3a_X.js.map +0 -1
  59. package/studio-dist/server/chunks/14-Bo-dTCaZ.js.map +0 -1
  60. package/studio-dist/server/chunks/15-Cng10n82.js.map +0 -1
  61. package/studio-dist/server/chunks/16-u3KwU3N4.js.map +0 -1
  62. package/studio-dist/server/chunks/17-BDtxQX9n.js.map +0 -1
  63. package/studio-dist/server/chunks/18-wwUoSO4F.js.map +0 -1
  64. package/studio-dist/server/chunks/19-DqHyladS.js.map +0 -1
  65. package/studio-dist/server/chunks/2-COvmA-ZA.js.map +0 -1
  66. package/studio-dist/server/chunks/20-B-0CBvqY.js.map +0 -1
  67. package/studio-dist/server/chunks/21-DXK9ptAC.js.map +0 -1
  68. package/studio-dist/server/chunks/22-DD5CLWJC.js.map +0 -1
  69. package/studio-dist/server/chunks/23-D_tUnnoc.js.map +0 -1
  70. package/studio-dist/server/chunks/24-BeVcofpU.js.map +0 -1
  71. package/studio-dist/server/chunks/25-DIuzTPOu.js.map +0 -1
  72. package/studio-dist/server/chunks/26-CY8x0KNI.js.map +0 -1
  73. package/studio-dist/server/chunks/27-C9edghG4.js.map +0 -1
  74. package/studio-dist/server/chunks/28-VemTJGyc.js.map +0 -1
  75. package/studio-dist/server/chunks/29-CXP-m29t.js.map +0 -1
  76. package/studio-dist/server/chunks/3-p3RwD-FY.js.map +0 -1
  77. package/studio-dist/server/chunks/30-QiM1S4cJ.js.map +0 -1
  78. package/studio-dist/server/chunks/31-BwdY9NnB.js.map +0 -1
  79. package/studio-dist/server/chunks/4-CSaG4HjO.js.map +0 -1
  80. package/studio-dist/server/chunks/5-i5ry4y3C.js.map +0 -1
  81. package/studio-dist/server/chunks/6-DR1GWBMT.js.map +0 -1
  82. package/studio-dist/server/chunks/7-DSNwn3aQ.js.map +0 -1
  83. package/studio-dist/server/chunks/8-Bj0bx07K.js.map +0 -1
  84. package/studio-dist/server/chunks/9-B3Tz0mZq.js.map +0 -1
  85. package/studio-dist/server/chunks/AwsRestJsonProtocol-BZuoNBmL.js.map +0 -1
  86. package/studio-dist/server/chunks/HeroHeader-v4Q9vaGr.js.map +0 -1
  87. package/studio-dist/server/chunks/Sparkline-BJ-GuhRd.js.map +0 -1
  88. package/studio-dist/server/chunks/StatBlock-DHJMmOCx.js.map +0 -1
  89. package/studio-dist/server/chunks/Tabs-DzG6Bn9a.js.map +0 -1
  90. package/studio-dist/server/chunks/UnionSerde-BflIkhKj.js.map +0 -1
  91. package/studio-dist/server/chunks/_dispatch-ncuRztUQ.js.map +0 -1
  92. package/studio-dist/server/chunks/_lafs-C3_fBF_X.js.map +0 -1
  93. package/studio-dist/server/chunks/_layout.svelte-rswfOTDe.js.map +0 -1
  94. package/studio-dist/server/chunks/_page.svelte-BT1YF8j2.js.map +0 -1
  95. package/studio-dist/server/chunks/_page.svelte-BVVTrzTL.js.map +0 -1
  96. package/studio-dist/server/chunks/_page.svelte-BXyoMME1.js.map +0 -1
  97. package/studio-dist/server/chunks/_page.svelte-B_pq-Z98.js.map +0 -1
  98. package/studio-dist/server/chunks/_page.svelte-Byz2djto.js.map +0 -1
  99. package/studio-dist/server/chunks/_page.svelte-C3aIui4o.js.map +0 -1
  100. package/studio-dist/server/chunks/_page.svelte-C9twD2l1.js.map +0 -1
  101. package/studio-dist/server/chunks/_page.svelte-CCoTp89s.js.map +0 -1
  102. package/studio-dist/server/chunks/_page.svelte-CHH1vmfg.js.map +0 -1
  103. package/studio-dist/server/chunks/_page.svelte-CHzXuw2Q.js.map +0 -1
  104. package/studio-dist/server/chunks/_page.svelte-CYDjW1R0.js.map +0 -1
  105. package/studio-dist/server/chunks/_page.svelte-CiIYIPG9.js.map +0 -1
  106. package/studio-dist/server/chunks/_page.svelte-Clbkk1gm.js.map +0 -1
  107. package/studio-dist/server/chunks/_page.svelte-CophUar3.js.map +0 -1
  108. package/studio-dist/server/chunks/_page.svelte-D8NhlkPD.js.map +0 -1
  109. package/studio-dist/server/chunks/_page.svelte-DKVwBmIp.js.map +0 -1
  110. package/studio-dist/server/chunks/_page.svelte-DUWbZjC7.js.map +0 -1
  111. package/studio-dist/server/chunks/_page.svelte-DYNorA0S.js.map +0 -1
  112. package/studio-dist/server/chunks/_page.svelte-DZEnHo1L.js.map +0 -1
  113. package/studio-dist/server/chunks/_page.svelte-DaYxqOUS.js.map +0 -1
  114. package/studio-dist/server/chunks/_page.svelte-DmTXiXKT.js.map +0 -1
  115. package/studio-dist/server/chunks/_page.svelte-EkXO_YfN.js.map +0 -1
  116. package/studio-dist/server/chunks/_page.svelte-M5D2QnMS.js.map +0 -1
  117. package/studio-dist/server/chunks/_page.svelte-UYiF7YBK.js.map +0 -1
  118. package/studio-dist/server/chunks/_page.svelte-al08ovKm.js.map +0 -1
  119. package/studio-dist/server/chunks/_page.svelte-bGhsrIjS.js.map +0 -1
  120. package/studio-dist/server/chunks/_page.svelte-ksTJUXce.js.map +0 -1
  121. package/studio-dist/server/chunks/_page.svelte-nzffIbBP.js.map +0 -1
  122. package/studio-dist/server/chunks/_server.ts-4NyKAneX.js.map +0 -1
  123. package/studio-dist/server/chunks/_server.ts-4p6cp9ke.js.map +0 -1
  124. package/studio-dist/server/chunks/_server.ts-7hGdxdEI.js.map +0 -1
  125. package/studio-dist/server/chunks/_server.ts-B2E7fxo9.js.map +0 -1
  126. package/studio-dist/server/chunks/_server.ts-B5g3eScF.js.map +0 -1
  127. package/studio-dist/server/chunks/_server.ts-B6b3b-yA.js.map +0 -1
  128. package/studio-dist/server/chunks/_server.ts-BOgGqaZp.js.map +0 -1
  129. package/studio-dist/server/chunks/_server.ts-BPcErnS0.js.map +0 -1
  130. package/studio-dist/server/chunks/_server.ts-BT0Uq2yq.js.map +0 -1
  131. package/studio-dist/server/chunks/_server.ts-BV1HiKZ0.js.map +0 -1
  132. package/studio-dist/server/chunks/_server.ts-BWp3g6Cr.js.map +0 -1
  133. package/studio-dist/server/chunks/_server.ts-BdN4AJ6o.js.map +0 -1
  134. package/studio-dist/server/chunks/_server.ts-Bfr4u3EP.js.map +0 -1
  135. package/studio-dist/server/chunks/_server.ts-Bw7A4zgb.js.map +0 -1
  136. package/studio-dist/server/chunks/_server.ts-C3Jo-ju8.js.map +0 -1
  137. package/studio-dist/server/chunks/_server.ts-C4BcDGqS.js.map +0 -1
  138. package/studio-dist/server/chunks/_server.ts-C5NF-UgC.js.map +0 -1
  139. package/studio-dist/server/chunks/_server.ts-CDMurH5m.js.map +0 -1
  140. package/studio-dist/server/chunks/_server.ts-CGiAXy5i.js.map +0 -1
  141. package/studio-dist/server/chunks/_server.ts-CJA1djzJ.js.map +0 -1
  142. package/studio-dist/server/chunks/_server.ts-COJHCgbq.js.map +0 -1
  143. package/studio-dist/server/chunks/_server.ts-CShsBkeE.js.map +0 -1
  144. package/studio-dist/server/chunks/_server.ts-CUl-Utkt.js.map +0 -1
  145. package/studio-dist/server/chunks/_server.ts-CboRJY0Q.js.map +0 -1
  146. package/studio-dist/server/chunks/_server.ts-CkoJ2HCW.js.map +0 -1
  147. package/studio-dist/server/chunks/_server.ts-CpmMp5D8.js.map +0 -1
  148. package/studio-dist/server/chunks/_server.ts-Cq60m8Pw.js.map +0 -1
  149. package/studio-dist/server/chunks/_server.ts-Cz0zgaUV.js.map +0 -1
  150. package/studio-dist/server/chunks/_server.ts-D0GAFJRb.js.map +0 -1
  151. package/studio-dist/server/chunks/_server.ts-DA6p3pmi.js.map +0 -1
  152. package/studio-dist/server/chunks/_server.ts-DRVz9D-J.js.map +0 -1
  153. package/studio-dist/server/chunks/_server.ts-DSAv66wD.js.map +0 -1
  154. package/studio-dist/server/chunks/_server.ts-DSzRdt1U.js.map +0 -1
  155. package/studio-dist/server/chunks/_server.ts-DThYFaZj.js.map +0 -1
  156. package/studio-dist/server/chunks/_server.ts-DV6pzF-M.js.map +0 -1
  157. package/studio-dist/server/chunks/_server.ts-D_3Pm0gr.js.map +0 -1
  158. package/studio-dist/server/chunks/_server.ts-DcHxdMsm.js.map +0 -1
  159. package/studio-dist/server/chunks/_server.ts-DgbY5EB3.js.map +0 -1
  160. package/studio-dist/server/chunks/_server.ts-Dlfadh2I.js.map +0 -1
  161. package/studio-dist/server/chunks/_server.ts-DnE0f-iC.js.map +0 -1
  162. package/studio-dist/server/chunks/_server.ts-Do9RIPRo.js.map +0 -1
  163. package/studio-dist/server/chunks/_server.ts-DwTRjS4y.js.map +0 -1
  164. package/studio-dist/server/chunks/_server.ts-JallJnps.js.map +0 -1
  165. package/studio-dist/server/chunks/_server.ts-NEFTbJpM.js.map +0 -1
  166. package/studio-dist/server/chunks/_server.ts-ZS1_yMwR.js.map +0 -1
  167. package/studio-dist/server/chunks/_server.ts-_RJXtmfi.js.map +0 -1
  168. package/studio-dist/server/chunks/_server.ts-d-2NvRwX.js.map +0 -1
  169. package/studio-dist/server/chunks/_server.ts-hL92cV7Z.js.map +0 -1
  170. package/studio-dist/server/chunks/_server.ts-k2fApwOp.js.map +0 -1
  171. package/studio-dist/server/chunks/_server.ts-lPlBUIJX.js.map +0 -1
  172. package/studio-dist/server/chunks/_server.ts-rUWMLkIw.js.map +0 -1
  173. package/studio-dist/server/chunks/_server.ts-sv4pA808.js.map +0 -1
  174. package/studio-dist/server/chunks/_server.ts-tKMjUFUP.js.map +0 -1
  175. package/studio-dist/server/chunks/_server.ts-uUx7uT2Y.js.map +0 -1
  176. package/studio-dist/server/chunks/_server.ts-ujoDR2_g.js.map +0 -1
  177. package/studio-dist/server/chunks/abort-events-CDRAJSqb.js.map +0 -1
  178. package/studio-dist/server/chunks/adapters-BkMgPNUM.js.map +0 -1
  179. package/studio-dist/server/chunks/adapters2-CQ3PzoaK.js.map +0 -1
  180. package/studio-dist/server/chunks/api-mode2-3W-I1-XO.js.map +0 -1
  181. package/studio-dist/server/chunks/api2-CmNQzb0b.js.map +0 -1
  182. package/studio-dist/server/chunks/attention-consolidate-CidG1jfH.js.map +0 -1
  183. package/studio-dist/server/chunks/audit-log-BXVi9iyE.js.map +0 -1
  184. package/studio-dist/server/chunks/audit3-DMO_fUGp.js.map +0 -1
  185. package/studio-dist/server/chunks/auto-extract-B84La1Vs.js.map +0 -1
  186. package/studio-dist/server/chunks/brain-CXR7ZT7S.js.map +0 -1
  187. package/studio-dist/server/chunks/brain-consolidator-JGm6mzFf.js.map +0 -1
  188. package/studio-dist/server/chunks/brain-doctor-Dc2WqVbs.js.map +0 -1
  189. package/studio-dist/server/chunks/brain-embedding-Djw9ekXu.js.map +0 -1
  190. package/studio-dist/server/chunks/brain-lifecycle-BOOa876K.js.map +0 -1
  191. package/studio-dist/server/chunks/brain-maintenance-U6VvsvmK.js.map +0 -1
  192. package/studio-dist/server/chunks/brain-maintenance2-CwVSmfDT.js.map +0 -1
  193. package/studio-dist/server/chunks/brain-retrieval2-exR8mdgh.js.map +0 -1
  194. package/studio-dist/server/chunks/brain-search-CpSh-SNi.js.map +0 -1
  195. package/studio-dist/server/chunks/brain-search2-CwI2cXgg.js.map +0 -1
  196. package/studio-dist/server/chunks/brain-similarity-DI4yzm9e.js.map +0 -1
  197. package/studio-dist/server/chunks/brain-stdp2-BxSBIlSr.js.map +0 -1
  198. package/studio-dist/server/chunks/brain-writer-handlers-Dwu0QCAA.js.map +0 -1
  199. package/studio-dist/server/chunks/brain-writer-thread-6n7wI7Gy.js.map +0 -1
  200. package/studio-dist/server/chunks/branch-lock-Cq7zzmFK.js.map +0 -1
  201. package/studio-dist/server/chunks/branch-lock2-CmDc4CZW.js.map +0 -1
  202. package/studio-dist/server/chunks/cancelled-child-waiver-audit-DkesrN83.js.map +0 -1
  203. package/studio-dist/server/chunks/catalog-model-resolver-Bas9qnoP.js.map +0 -1
  204. package/studio-dist/server/chunks/catalog-model-resolver2-Cexk2TN0.js.map +0 -1
  205. package/studio-dist/server/chunks/catalog-resolver-CLot3XJO.js.map +0 -1
  206. package/studio-dist/server/chunks/catalog-resolver2-JmKb91kY.js.map +0 -1
  207. package/studio-dist/server/chunks/chunk-DDP5xfzh.js.map +0 -1
  208. package/studio-dist/server/chunks/cleo-home-CCfe6kAQ.js.map +0 -1
  209. package/studio-dist/server/chunks/cli-action-DQcaqcfn.js.map +0 -1
  210. package/studio-dist/server/chunks/client-ym-URLFs.js.map +0 -1
  211. package/studio-dist/server/chunks/concrete-session2-bb_vxJ2N.js.map +0 -1
  212. package/studio-dist/server/chunks/config-DHj9CcFs.js.map +0 -1
  213. package/studio-dist/server/chunks/config2-F6PPIn7D.js.map +0 -1
  214. package/studio-dist/server/chunks/connections-BMGJVYcS.js.map +0 -1
  215. package/studio-dist/server/chunks/connections2-mi7mZqJM.js.map +0 -1
  216. package/studio-dist/server/chunks/credential-pool-vF6NdtT9.js.map +0 -1
  217. package/studio-dist/server/chunks/credentials-C7EJFf5O.js.map +0 -1
  218. package/studio-dist/server/chunks/credentials-store-CFygIuB2.js.map +0 -1
  219. package/studio-dist/server/chunks/cross-db-cleanup-1LWTUKPi.js.map +0 -1
  220. package/studio-dist/server/chunks/data-accessor-CWgVndbR.js.map +0 -1
  221. package/studio-dist/server/chunks/data-safety-central-DaFxK27G.js.map +0 -1
  222. package/studio-dist/server/chunks/decisions-CmVXV2-H.js.map +0 -1
  223. package/studio-dist/server/chunks/decisions2-XQsSYdxa.js.map +0 -1
  224. package/studio-dist/server/chunks/depends-waiver-audit-CUmlBYHx.js.map +0 -1
  225. package/studio-dist/server/chunks/dev-BNpEUZI3.js.map +0 -1
  226. package/studio-dist/server/chunks/dialectic-evaluator2-BOyyXhdI.js.map +0 -1
  227. package/studio-dist/server/chunks/dist-es2-DQy2Mjn_.js.map +0 -1
  228. package/studio-dist/server/chunks/dist-es3-CBygU4n5.js.map +0 -1
  229. package/studio-dist/server/chunks/dist-es4-CavbNu4B.js.map +0 -1
  230. package/studio-dist/server/chunks/dist-es5-Crpm8Wsl.js.map +0 -1
  231. package/studio-dist/server/chunks/dist-es6-CgePHzh4.js.map +0 -1
  232. package/studio-dist/server/chunks/dist-es7-k6c5GEd7.js.map +0 -1
  233. package/studio-dist/server/chunks/dist-es8-Bd9v0_pE.js.map +0 -1
  234. package/studio-dist/server/chunks/dist3-23bsJhRw.js.map +0 -1
  235. package/studio-dist/server/chunks/dist4-DmC1zSXi.js.map +0 -1
  236. package/studio-dist/server/chunks/dual-scope-db-DKnWu1KM.js.map +0 -1
  237. package/studio-dist/server/chunks/dual-scope-db2-Dht3luRw.js.map +0 -1
  238. package/studio-dist/server/chunks/duplicate-bypass-audit-BN5w1H2y.js.map +0 -1
  239. package/studio-dist/server/chunks/duplicate-detector-CaVFMKdE.js.map +0 -1
  240. package/studio-dist/server/chunks/edge-types-CgBvb0w1.js.map +0 -1
  241. package/studio-dist/server/chunks/embedding-local-xEnym8Ho.js.map +0 -1
  242. package/studio-dist/server/chunks/error.svelte-Bt1EbBZe.js.map +0 -1
  243. package/studio-dist/server/chunks/event-streams-Bi2p_fVo.js.map +0 -1
  244. package/studio-dist/server/chunks/execution-learning-BVCw7Plq.js.map +0 -1
  245. package/studio-dist/server/chunks/exodus-BBuuN6aA.js.map +0 -1
  246. package/studio-dist/server/chunks/explorer-loader-BN_mkt3_.js.map +0 -1
  247. package/studio-dist/server/chunks/externalDataInterceptor-C3C4cObe.js.map +0 -1
  248. package/studio-dist/server/chunks/extraction-gate-DDNBq7gu.js.map +0 -1
  249. package/studio-dist/server/chunks/extraction-gate2-D77EZBQ6.js.map +0 -1
  250. package/studio-dist/server/chunks/getSSOTokenFromFile-yZAJxDci.js.map +0 -1
  251. package/studio-dist/server/chunks/governor2-CtfV3wfX.js.map +0 -1
  252. package/studio-dist/server/chunks/graph-auto-populate-Dmsr9ZJM.js.map +0 -1
  253. package/studio-dist/server/chunks/graph-auto-populate2-Cz0qeebM.js.map +0 -1
  254. package/studio-dist/server/chunks/graph-memory-bridge-CY8ft_d7.js.map +0 -1
  255. package/studio-dist/server/chunks/graph-memory-bridge2-Cd0XZwqc.js.map +0 -1
  256. package/studio-dist/server/chunks/handler-helpers-AANBGA_p.js.map +0 -1
  257. package/studio-dist/server/chunks/hash-Cm6yMET4.js.map +0 -1
  258. package/studio-dist/server/chunks/health-monitor-FepUZN1m.js.map +0 -1
  259. package/studio-dist/server/chunks/hooks.server-DBsyphiX.js.map +0 -1
  260. package/studio-dist/server/chunks/http-CRTZe306.js.map +0 -1
  261. package/studio-dist/server/chunks/identity-DRpurt56.js.map +0 -1
  262. package/studio-dist/server/chunks/identity2-DeAB5RXE.js.map +0 -1
  263. package/studio-dist/server/chunks/index-61916rmV.js.map +0 -1
  264. package/studio-dist/server/chunks/index-DAgVDouG.js.map +0 -1
  265. package/studio-dist/server/chunks/index-Dtt_h58T.js.map +0 -1
  266. package/studio-dist/server/chunks/index-server-DocJvixA.js.map +0 -1
  267. package/studio-dist/server/chunks/indexes-DZ52grq6.js.map +0 -1
  268. package/studio-dist/server/chunks/internal-D3i_4gCl.js.map +0 -1
  269. package/studio-dist/server/chunks/json-Bfixam3g.js.map +0 -1
  270. package/studio-dist/server/chunks/lane-transition-lM2ngbbc.js.map +0 -1
  271. package/studio-dist/server/chunks/learnings-D6Y3YGMU.js.map +0 -1
  272. package/studio-dist/server/chunks/learnings2-MwBdR9vb.js.map +0 -1
  273. package/studio-dist/server/chunks/lifecycle-ops2-V2CR5-7X.js.map +0 -1
  274. package/studio-dist/server/chunks/list-BhObczvn.js.map +0 -1
  275. package/studio-dist/server/chunks/living-brain2-j0B_Ir8j.js.map +0 -1
  276. package/studio-dist/server/chunks/llm-backend-resolver-D4ANvUPL.js.map +0 -1
  277. package/studio-dist/server/chunks/llm-extraction-DVCu4heR.js.map +0 -1
  278. package/studio-dist/server/chunks/loadSharedConfigFiles-umvW7kuz.js.map +0 -1
  279. package/studio-dist/server/chunks/loadSso-iidd5iKx.js.map +0 -1
  280. package/studio-dist/server/chunks/local-model-fit-B0TxifnX.js.map +0 -1
  281. package/studio-dist/server/chunks/local-model-fit2-BMqo6GJm.js.map +0 -1
  282. package/studio-dist/server/chunks/lock-CA7d6lj7.js.map +0 -1
  283. package/studio-dist/server/chunks/logger-DQIoyZbq.js.map +0 -1
  284. package/studio-dist/server/chunks/memory-BUbicBbE.js.map +0 -1
  285. package/studio-dist/server/chunks/memory-accessor-i3P-RHSg.js.map +0 -1
  286. package/studio-dist/server/chunks/memory-accessor2-B981tHDR.js.map +0 -1
  287. package/studio-dist/server/chunks/memory-bridge-BOlEWg9w.js.map +0 -1
  288. package/studio-dist/server/chunks/memory-sqlite2-B7dq8doO.js.map +0 -1
  289. package/studio-dist/server/chunks/memory2-Cgc_4D5q.js.map +0 -1
  290. package/studio-dist/server/chunks/model-runner2-B71xjp4y.js.map +0 -1
  291. package/studio-dist/server/chunks/mvi-helpers-BNsJ8ZpQ.js.map +0 -1
  292. package/studio-dist/server/chunks/nexus-adapter-9EL_VlGI.js.map +0 -1
  293. package/studio-dist/server/chunks/nexus-plasticity-BTfU8cW_.js.map +0 -1
  294. package/studio-dist/server/chunks/nexus-risk-audit-p379-TU5.js.map +0 -1
  295. package/studio-dist/server/chunks/nexus-schema-zeygY8OD.js.map +0 -1
  296. package/studio-dist/server/chunks/nexus-schema2-DP0Qd7CA.js.map +0 -1
  297. package/studio-dist/server/chunks/nexus-sqlite-BVNIpwc7.js.map +0 -1
  298. package/studio-dist/server/chunks/nexus-sqlite2-BBfY2xnY.js.map +0 -1
  299. package/studio-dist/server/chunks/no-face-up-DcejJLy-.js.map +0 -1
  300. package/studio-dist/server/chunks/node-http-handler-CJI8kn7X.js.map +0 -1
  301. package/studio-dist/server/chunks/observe-Bo9veHGe.js.map +0 -1
  302. package/studio-dist/server/chunks/observe2-wzO0MaMY.js.map +0 -1
  303. package/studio-dist/server/chunks/observer-reflector-BwNOuq1d.js.map +0 -1
  304. package/studio-dist/server/chunks/observer-reflector2-ggtC1hmk.js.map +0 -1
  305. package/studio-dist/server/chunks/on-open-Wpcw7DV4.js.map +0 -1
  306. package/studio-dist/server/chunks/open-cleo-db--8sYNaYY.js.map +0 -1
  307. package/studio-dist/server/chunks/parseKnownFiles-Dg0pMFcT.js.map +0 -1
  308. package/studio-dist/server/chunks/parseUrl-qgGfl-Vh.js.map +0 -1
  309. package/studio-dist/server/chunks/paths-CV7S5-Zm.js.map +0 -1
  310. package/studio-dist/server/chunks/patterns-lh5kn13I.js.map +0 -1
  311. package/studio-dist/server/chunks/patterns2-CzIcT-ai.js.map +0 -1
  312. package/studio-dist/server/chunks/pipeline-stage-IB_pOft-.js.map +0 -1
  313. package/studio-dist/server/chunks/prediction-D1lSGJ4c.js.map +0 -1
  314. package/studio-dist/server/chunks/premature-close-audit-VG09uAco.js.map +0 -1
  315. package/studio-dist/server/chunks/project-context-BjiqfEBi.js.map +0 -1
  316. package/studio-dist/server/chunks/provider-registry2-Cu7rAF0R.js.map +0 -1
  317. package/studio-dist/server/chunks/quality-feedback-CuCGEI6S.js.map +0 -1
  318. package/studio-dist/server/chunks/quality-scoring-CCPuRQmJ.js.map +0 -1
  319. package/studio-dist/server/chunks/query-ops-DCrjbZb9.js.map +0 -1
  320. package/studio-dist/server/chunks/query-promise-BkPmGPJy.js.map +0 -1
  321. package/studio-dist/server/chunks/readFile-CxwXhymG.js.map +0 -1
  322. package/studio-dist/server/chunks/registry-CL2gN1zd.js.map +0 -1
  323. package/studio-dist/server/chunks/registry2-DoPYJnUW.js.map +0 -1
  324. package/studio-dist/server/chunks/registry3-BajEb-ll.js.map +0 -1
  325. package/studio-dist/server/chunks/registry4-DCqffZkT.js.map +0 -1
  326. package/studio-dist/server/chunks/retry-B3oEKYpp.js.map +0 -1
  327. package/studio-dist/server/chunks/role-executor-CC8BU54L.js.map +0 -1
  328. package/studio-dist/server/chunks/role-resolver-D9QaDT0e.js.map +0 -1
  329. package/studio-dist/server/chunks/role-resolver2-nkhzS1oy.js.map +0 -1
  330. package/studio-dist/server/chunks/rollup-CiefjN_Y.js.map +0 -1
  331. package/studio-dist/server/chunks/safety-data-accessor-CniDmGJO.js.map +0 -1
  332. package/studio-dist/server/chunks/service-connections-accessor-yBCdcgU-.js.map +0 -1
  333. package/studio-dist/server/chunks/session-factory-vbengc42.js.map +0 -1
  334. package/studio-dist/server/chunks/session-grade-BF4ZZtN_.js.map +0 -1
  335. package/studio-dist/server/chunks/session-journal-Bvey70Ur.js.map +0 -1
  336. package/studio-dist/server/chunks/session-narrative-BirZINSU.js.map +0 -1
  337. package/studio-dist/server/chunks/session-store--N_xHxUH.js.map +0 -1
  338. package/studio-dist/server/chunks/session-store2-DAM-eVTH.js.map +0 -1
  339. package/studio-dist/server/chunks/sessions-33DD4hkt.js.map +0 -1
  340. package/studio-dist/server/chunks/sessions2-BHswKRDP.js.map +0 -1
  341. package/studio-dist/server/chunks/sigil-B-RznFXz.js.map +0 -1
  342. package/studio-dist/server/chunks/sigil2-jRMG5DuR.js.map +0 -1
  343. package/studio-dist/server/chunks/signin-BAsW3mM8.js.map +0 -1
  344. package/studio-dist/server/chunks/sleep-consolidation-BnSwXrvq.js.map +0 -1
  345. package/studio-dist/server/chunks/spawn-cli-wI1lBJhm.js.map +0 -1
  346. package/studio-dist/server/chunks/specialists-B_ZbpQlK.js.map +0 -1
  347. package/studio-dist/server/chunks/sqlite-Bm5LzbPs.js.map +0 -1
  348. package/studio-dist/server/chunks/sqlite-backup-CFG1-b2e.js.map +0 -1
  349. package/studio-dist/server/chunks/sqlite-data-accessor-DD_RFX6r.js.map +0 -1
  350. package/studio-dist/server/chunks/sqlite-data-accessor2-CRmgNBnq.js.map +0 -1
  351. package/studio-dist/server/chunks/sqlite-native-BwlIqtbs.js.map +0 -1
  352. package/studio-dist/server/chunks/sqlite2-CUPut2fh.js.map +0 -1
  353. package/studio-dist/server/chunks/src-BUqGet2c.js.map +0 -1
  354. package/studio-dist/server/chunks/src2-DK8DKufK.js.map +0 -1
  355. package/studio-dist/server/chunks/src3-BJjf7XRG.js.map +0 -1
  356. package/studio-dist/server/chunks/src4-DNleK_t_.js.map +0 -1
  357. package/studio-dist/server/chunks/sso-oidc-eUvwseuL.js.map +0 -1
  358. package/studio-dist/server/chunks/storage-B9UA3BHR.js.map +0 -1
  359. package/studio-dist/server/chunks/stores-ByevKXL9.js.map +0 -1
  360. package/studio-dist/server/chunks/sts-g7LDMLEd.js.map +0 -1
  361. package/studio-dist/server/chunks/surprisal-CwTfWQi8.js.map +0 -1
  362. package/studio-dist/server/chunks/surprisal-tree-7dfHsuw1.js.map +0 -1
  363. package/studio-dist/server/chunks/system-resolver2-Bzhue_zQ.js.map +0 -1
  364. package/studio-dist/server/chunks/tasks-SHX7UPGY.js.map +0 -1
  365. package/studio-dist/server/chunks/tasks-schema2-CTMoQKQy.js.map +0 -1
  366. package/studio-dist/server/chunks/tasks2-Bf9VHrv-.js.map +0 -1
  367. package/studio-dist/server/chunks/temporal-supersession-DP4GPG_B.js.map +0 -1
  368. package/studio-dist/server/chunks/token-cAhAD9f9.js.map +0 -1
  369. package/studio-dist/server/chunks/token-util-D6drEz8_.js.map +0 -1
  370. package/studio-dist/server/chunks/token-util2-8UPSGvbb.js.map +0 -1
  371. package/studio-dist/server/chunks/transcript-scanner-kJWhWmlg.js.map +0 -1
  372. package/studio-dist/server/chunks/transformers.node-_xbxmK5p.js.map +0 -1
  373. package/studio-dist/server/chunks/typed-query-l1D_QElt.js.map +0 -1
  374. package/studio-dist/server/chunks/ui-DR8zOSpC.js.map +0 -1
  375. package/studio-dist/server/chunks/unique-constraint-BZrrwgwc.js.map +0 -1
  376. package/studio-dist/server/chunks/update-B2YVBZG0.js.map +0 -1
  377. package/studio-dist/server/chunks/user-profile-B61ZhVmC.js.map +0 -1
  378. package/studio-dist/server/chunks/utils-BPSZyajG.js.map +0 -1
  379. package/studio-dist/server/chunks/validation-rules-CE27rtoF.js.map +0 -1
  380. package/studio-dist/server/chunks/zod-DsAeKNLm.js.map +0 -1
  381. package/studio-dist/server/index.js.map +0 -1
  382. package/studio-dist/server/manifest.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"governor2-CtfV3wfX.js","sources":["../../../.svelte-kit/adapter-node/chunks/monitor.js","../../../.svelte-kit/adapter-node/chunks/governor.js"],"sourcesContent":["import { EventEmitter } from \"node:events\";\nimport { readFile, stat } from \"node:fs/promises\";\n//#region ../core/dist/resources/linux-backend.js\n/**\n* Linux ResourceMonitor backend.\n*\n* Reads:\n* - `/proc/pressure/memory` — global PSI (some + full)\n* - `<cgroupSlicePath>/memory.pressure` — cleo.slice scoped PSI\n* - `/proc/meminfo` — MemAvailable\n* - `<walPath>` size stat — WAL growth signal (DHQ-050 starvation class)\n* - `/proc/<pid>/smaps_rollup` — per-child RSS (SEPARATE low-frequency path)\n*\n* ## Read-count discipline (Amendment 1)\n*\n* `sample()` calls the injected reader at most:\n* - 1× for `/proc/pressure/memory`\n* - 1× for the slice `memory.pressure` (if configured)\n* - 1× for `/proc/meminfo`\n* - N× stat calls for N configured WAL paths\n*\n* smaps_rollup reads are on a SEPARATE `sweepChildRss()` method and are\n* structurally impossible to reach from the `sample()` hot path.\n*\n* ## oomd threshold facts (Amendment 4)\n*\n* systemd-oomd on Fedora defaults to 80%/20s on user@1000.service.\n* Our hold/backoff thresholds (some avg10 >10% / full avg10 >5%) sit far\n* below that line, ensuring cleo always throttles before oomd kills.\n*\n* @module resources/linux-backend\n* @task T11994\n* @epic T11992\n*/\n/**\n* Parse a single PSI line.\n*\n* Format: `some avg10=0.42 avg60=0.31 avg300=0.20 total=1234567`\n*\n* Returns `null` when the line does not match the expected format.\n*/\nfunction parsePressureLine(line) {\n\tconst avg10Match = /avg10=([\\d.]+)/.exec(line);\n\tconst avg60Match = /avg60=([\\d.]+)/.exec(line);\n\tconst avg300Match = /avg300=([\\d.]+)/.exec(line);\n\tconst totalMatch = /total=(\\d+)/.exec(line);\n\tif (!avg10Match?.[1] || !avg60Match?.[1] || !avg300Match?.[1] || !totalMatch?.[1]) return null;\n\treturn {\n\t\tavg10: parseFloat(avg10Match[1]),\n\t\tavg60: parseFloat(avg60Match[1]),\n\t\tavg300: parseFloat(avg300Match[1]),\n\t\ttotalUs: parseInt(totalMatch[1], 10)\n\t};\n}\n/**\n* Parse a PSI file (two lines: `some ...` and `full ...`).\n*\n* Returns `null` when the content is unreadable / unparseable — callers\n* treat this as \"pressure interface absent\" (degraded mode).\n*/\nfunction parsePsiFile(content) {\n\tconst lines = content.split(\"\\n\").map((l) => l.trim()).filter(Boolean);\n\tlet some = null;\n\tlet full = null;\n\tfor (const line of lines) if (line.startsWith(\"some \")) some = parsePressureLine(line);\n\telse if (line.startsWith(\"full \")) full = parsePressureLine(line);\n\tif (!some) return null;\n\treturn {\n\t\tsome,\n\t\tfull\n\t};\n}\n/**\n* Parse `MemAvailable` from `/proc/meminfo`.\n*\n* Format: `MemAvailable: 42233788 kB`\n*\n* Returns `null` when the field is absent (non-Linux / old kernel).\n* Reuses the same parsing pattern as `packages/core/src/llm/local-model-fit.ts:269`.\n*/\nfunction parseMemAvailable(content) {\n\tfor (const line of content.split(\"\\n\")) if (line.startsWith(\"MemAvailable:\")) {\n\t\tconst match = /MemAvailable:\\s+(\\d+)\\s+kB/.exec(line);\n\t\tif (match?.[1]) return parseInt(match[1], 10) * 1024;\n\t}\n\treturn null;\n}\n/**\n* Parse a `/proc/<pid>/smaps_rollup` file for RSS and PSS.\n*\n* Relevant fields:\n* `Rss: 12345 kB`\n* `Pss: 9876 kB`\n*\n* Returns `null` when either field is absent.\n*/\nfunction parseSmapsRollup(content) {\n\tlet rssKb = null;\n\tlet pssKb = null;\n\tfor (const line of content.split(\"\\n\")) if (line.startsWith(\"Rss:\")) {\n\t\tconst m = /Rss:\\s+(\\d+)\\s+kB/.exec(line);\n\t\tif (m?.[1]) rssKb = parseInt(m[1], 10);\n\t} else if (line.startsWith(\"Pss:\")) {\n\t\tconst m = /Pss:\\s+(\\d+)\\s+kB/.exec(line);\n\t\tif (m?.[1]) pssKb = parseInt(m[1], 10);\n\t}\n\tif (rssKb === null || pssKb === null) return null;\n\treturn {\n\t\trssBytes: rssKb * 1024,\n\t\tpssBytes: pssKb * 1024\n\t};\n}\nvar defaultReadFile = (path, encoding) => readFile(path, encoding);\nvar defaultStat = async (path) => {\n\ttry {\n\t\treturn { size: (await stat(path)).size };\n\t} catch {\n\t\treturn null;\n\t}\n};\n/**\n* Linux implementation of {@link ResourceBackend}.\n*\n* Uses injected `readFileFn` / `statFileFn` so unit tests can:\n* 1. Fake file contents (threshold-crossing, degraded mode)\n* 2. Count reads to assert the bounded-read contract (Amendment 1)\n*/\nvar LinuxResourceBackend = class {\n\tglobalPressurePath;\n\tcgroupSlicePressurePath;\n\twalPaths;\n\treadFileFn;\n\tstatFileFn;\n\tconstructor(opts = {}) {\n\t\tthis.globalPressurePath = opts.globalPressurePath ?? \"/proc/pressure/memory\";\n\t\tthis.cgroupSlicePressurePath = opts.cgroupSlicePressurePath ?? null;\n\t\tthis.walPaths = opts.walPaths ?? [];\n\t\tthis.readFileFn = opts.readFileFn ?? defaultReadFile;\n\t\tthis.statFileFn = opts.statFileFn ?? defaultStat;\n\t}\n\t/**\n\t* Take a bounded point-in-time resource sample.\n\t*\n\t* Read-count (bounded by Amendment 1):\n\t* - 1 read: `/proc/pressure/memory`\n\t* - 0–1 reads: slice `memory.pressure` (if configured)\n\t* - 1 read: `/proc/meminfo`\n\t* - N stat calls: one per WAL path in `walPaths`\n\t*\n\t* Never spawns a child process.\n\t*/\n\tasync sample() {\n\t\tconst sampledAtMs = Date.now();\n\t\tconst globalPressure = await this._readPsi(this.globalPressurePath);\n\t\tconst pressureAvailable = globalPressure !== null;\n\t\tlet slicePressure = null;\n\t\tif (this.cgroupSlicePressurePath) slicePressure = await this._readPsi(this.cgroupSlicePressurePath);\n\t\tconst memAvailableBytes = await this._readMemAvailable();\n\t\tconst walObservations = await this._readWalObservations();\n\t\treturn {\n\t\t\tsampledAtMs,\n\t\t\tpressureAvailable,\n\t\t\tmemAvailableBytes,\n\t\t\tglobalPressure,\n\t\t\tslicePressure,\n\t\t\twalObservations\n\t\t};\n\t}\n\t/**\n\t* Sweep per-child RSS via `/proc/<pid>/smaps_rollup`.\n\t*\n\t* **STRUCTURALLY SEPARATED from sample()** — smaps_rollup reads are\n\t* ms-scale per multi-GB process and must never appear in the hot path.\n\t* Call on a separate low-frequency cadence (e.g. every 60s or on\n\t* backoff→hold state transition).\n\t*\n\t* @param pids - PIDs to sweep. Dead/unknown PIDs are silently skipped.\n\t*/\n\tasync sweepChildRss(pids) {\n\t\tconst sampledAtMs = Date.now();\n\t\tconst entries = [];\n\t\tfor (const pid of pids) try {\n\t\t\tconst parsed = parseSmapsRollup(await this.readFileFn(`/proc/${pid}/smaps_rollup`, \"utf-8\"));\n\t\t\tif (parsed) entries.push({\n\t\t\t\tpid,\n\t\t\t\t...parsed\n\t\t\t});\n\t\t} catch {}\n\t\treturn {\n\t\t\tsampledAtMs,\n\t\t\tentries\n\t\t};\n\t}\n\tasync _readPsi(path) {\n\t\ttry {\n\t\t\treturn parsePsiFile(await this.readFileFn(path, \"utf-8\"));\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\tasync _readMemAvailable() {\n\t\ttry {\n\t\t\treturn parseMemAvailable(await this.readFileFn(\"/proc/meminfo\", \"utf-8\"));\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\tasync _readWalObservations() {\n\t\tconst results = [];\n\t\tfor (const walPath of this.walPaths) {\n\t\t\tconst info = await this.statFileFn(walPath);\n\t\t\tresults.push({\n\t\t\t\twalPath,\n\t\t\t\tsizeBytes: info?.size ?? null\n\t\t\t});\n\t\t}\n\t\treturn results;\n\t}\n};\n//#endregion\n//#region ../core/dist/resources/monitor.js\n/**\n* ResourceMonitor — PSI + MemAvailable sensing, daemon-off capable.\n*\n* Two operational modes:\n*\n* 1. **Point-in-time sample** (`ResourceMonitor.sample()`): used inside the\n* governor acquire path when the daemon is off. Single call, bounded reads.\n*\n* 2. **Continuous loop** (`ResourceMonitor.startContinuous()`): used by the\n* daemon/supervisor. Polls at `pollIntervalMs` and emits `ok` → `hold` →\n* `backoff` state transitions with hysteresis.\n*\n* ## State machine\n*\n* ok ──── pressure > holdThreshold ──────→ hold\n* hold ─── pressure < holdThreshold - hyst ─→ ok\n* hold ─── pressure > backoffThreshold ─────→ backoff\n* backoff ─ pressure < holdThreshold - hyst ─→ ok\n*\n* Default thresholds (far below systemd-oomd's Fedora 80%/20s kill line):\n* - hold: some avg10 > 10% OR full avg10 > 5%\n* - backoff: some avg10 > 20% OR full avg10 > 10%\n* - hysteresis: 3 percentage points (prevents thrash on threshold edge)\n*\n* ## Degraded mode\n*\n* When the PSI interface is absent (non-Linux, locked-down container,\n* unprivileged environment), the monitor falls back to availability-only\n* sampling: `pressureAvailable = false`, `state = 'ok'` unless\n* `memAvailableBytes` is below `headroomMb`.\n*\n* ## oomd facts (Amendment 4)\n*\n* systemd-oomd on Fedora defaults to 80%/20s on user@1000.service (NOT\n* the 50%/20s figure cited in older research). Our hold/backoff thresholds\n* sit far below that line — cleo always throttles before oomd kills.\n*\n* ## WAL growth signal (Amendment 3)\n*\n* The monitor accepts an optional watch on SQLite `-wal` sidecar file sizes.\n* A size above `walWarnThresholdBytes` is surfaced in the sample and can\n* drive governor decisions independently of memory pressure.\n*\n* @module resources/monitor\n* @task T11994\n* @epic T11992\n*/\nvar DEFAULTS = {\n\tholdSomeAvg10: 10,\n\tbackoffSomeAvg10: 20,\n\tholdFullAvg10: 5,\n\tbackoffFullAvg10: 10,\n\thysteresisPoints: 3,\n\theadroomBytes: 256 * 1024 * 1024,\n\twalWarnThresholdBytes: 256 * 1024 * 1024,\n\tpollIntervalMs: 1500\n};\nfunction resolveThresholds(cfg) {\n\treturn {\n\t\tholdSomeAvg10: cfg.psi?.holdSomeAvg10 ?? DEFAULTS.holdSomeAvg10,\n\t\tbackoffSomeAvg10: cfg.psi?.backoffSomeAvg10 ?? DEFAULTS.backoffSomeAvg10,\n\t\tholdFullAvg10: cfg.psi?.holdFullAvg10 ?? DEFAULTS.holdFullAvg10,\n\t\tbackoffFullAvg10: cfg.psi?.backoffFullAvg10 ?? DEFAULTS.backoffFullAvg10,\n\t\thysteresisPoints: cfg.hysteresisPoints ?? DEFAULTS.hysteresisPoints,\n\t\theadroomBytes: cfg.headroomBytes ?? DEFAULTS.headroomBytes,\n\t\twalWarnThresholdBytes: cfg.walWarnThresholdBytes ?? DEFAULTS.walWarnThresholdBytes,\n\t\tpollIntervalMs: cfg.pollIntervalMs ?? DEFAULTS.pollIntervalMs\n\t};\n}\n/**\n* Evaluate the pressure state given a sample and resolved thresholds.\n*\n* In degraded mode (PSI absent), the state is `hold` only when free memory\n* falls below `headroomBytes`.\n*\n* @internal\n*/\nfunction evaluateState(sample, thresholds, currentState) {\n\tif (!sample.pressureAvailable) {\n\t\tif (sample.memAvailableBytes !== null && sample.memAvailableBytes < thresholds.headroomBytes) return {\n\t\t\tstate: \"hold\",\n\t\t\treason: \"degraded: memAvailable below headroom\"\n\t\t};\n\t\treturn {\n\t\t\tstate: \"ok\",\n\t\t\treason: \"degraded: PSI unavailable, memAvailable sufficient\"\n\t\t};\n\t}\n\tconst somePressure = sample.globalPressure?.some ?? sample.slicePressure?.some;\n\tconst fullPressure = sample.globalPressure?.full ?? sample.slicePressure?.full;\n\tconst someAvg10 = somePressure?.avg10 ?? 0;\n\tconst fullAvg10 = fullPressure?.avg10 ?? 0;\n\tif (someAvg10 > thresholds.backoffSomeAvg10 || fullAvg10 > thresholds.backoffFullAvg10) return {\n\t\tstate: \"backoff\",\n\t\treason: `some avg10=${someAvg10.toFixed(2)} full avg10=${fullAvg10.toFixed(2)} — above backoff threshold`\n\t};\n\tif (someAvg10 > thresholds.holdSomeAvg10 || fullAvg10 > thresholds.holdFullAvg10) return {\n\t\tstate: \"hold\",\n\t\treason: `some avg10=${someAvg10.toFixed(2)} full avg10=${fullAvg10.toFixed(2)} — above hold threshold`\n\t};\n\tif (currentState !== \"ok\") {\n\t\tconst hysteresisFloor = thresholds.holdSomeAvg10 - thresholds.hysteresisPoints;\n\t\tconst fullHysteresisFloor = thresholds.holdFullAvg10 - thresholds.hysteresisPoints;\n\t\tif (someAvg10 > hysteresisFloor || fullAvg10 > fullHysteresisFloor) return {\n\t\t\tstate: currentState === \"backoff\" ? \"hold\" : currentState,\n\t\t\treason: `some avg10=${someAvg10.toFixed(2)} full avg10=${fullAvg10.toFixed(2)} — hysteresis hold (floor: some ${hysteresisFloor}, full ${fullHysteresisFloor})`\n\t\t};\n\t}\n\treturn {\n\t\tstate: \"ok\",\n\t\treason: `some avg10=${someAvg10.toFixed(2)} full avg10=${fullAvg10.toFixed(2)} — below thresholds`\n\t};\n}\n/**\n* ResourceMonitor — PSI + MemAvailable sensing, daemon-off capable.\n*\n* @example Point-in-time (daemon-off governor acquire):\n* ```ts\n* const monitor = new ResourceMonitor();\n* const sample = await monitor.sample();\n* if (sample.memAvailableBytes !== null && sample.memAvailableBytes < 256 * 1024 * 1024) {\n* throw new Error('insufficient memory');\n* }\n* ```\n*\n* @example Continuous mode (daemon supervisor):\n* ```ts\n* const monitor = new ResourceMonitor({ pollIntervalMs: 1500 });\n* monitor.on('transition', ({ from, to, reason }) => {\n* logger.warn(`pressure: ${from} → ${to} (${reason})`);\n* });\n* const stop = monitor.startContinuous();\n* // later:\n* stop();\n* ```\n*/\nvar ResourceMonitor = class extends EventEmitter {\n\tthresholds;\n\tbackend;\n\t_state = \"ok\";\n\t_timer = null;\n\t_running = false;\n\tconstructor(cfg = {}) {\n\t\tsuper();\n\t\tthis.thresholds = resolveThresholds(cfg);\n\t\tthis.backend = cfg.backend ?? new LinuxResourceBackend();\n\t}\n\t/**\n\t* Current pressure state (only meaningful after at least one sample).\n\t*/\n\tget state() {\n\t\treturn this._state;\n\t}\n\t/**\n\t* `true` while the continuous loop is running.\n\t*/\n\tget running() {\n\t\treturn this._running;\n\t}\n\t/**\n\t* Take a single point-in-time resource sample.\n\t*\n\t* Safe to call with the daemon off (no child processes, bounded reads).\n\t* Does NOT update `this.state` — use {@link startContinuous} for that.\n\t*/\n\tasync sample() {\n\t\treturn this.backend.sample();\n\t}\n\t/**\n\t* Start the continuous polling loop.\n\t*\n\t* Returns a `stop()` function. Calling `stop()` is idempotent.\n\t*\n\t* Emits:\n\t* - `'sample'` on every poll (even if state did not change)\n\t* - `'transition'` when `PressureState` changes\n\t* - `'error'` if the backend throws (loop continues regardless)\n\t*/\n\tstartContinuous() {\n\t\tif (this._running) return () => this._stopLoop();\n\t\tthis._running = true;\n\t\tthis._scheduleNext();\n\t\treturn () => this._stopLoop();\n\t}\n\t/**\n\t* Stop the continuous polling loop. Idempotent.\n\t*/\n\tstop() {\n\t\tthis._stopLoop();\n\t}\n\t_scheduleNext() {\n\t\tthis._timer = setTimeout(() => {\n\t\t\tthis._tick();\n\t\t}, this.thresholds.pollIntervalMs);\n\t\tif (typeof this._timer.unref === \"function\") this._timer.unref();\n\t}\n\tasync _tick() {\n\t\tif (!this._running) return;\n\t\ttry {\n\t\t\tconst sample = await this.backend.sample();\n\t\t\tthis.emit(\"sample\", sample);\n\t\t\tconst { state: newState, reason } = evaluateState(sample, this.thresholds, this._state);\n\t\t\tif (newState !== this._state) {\n\t\t\t\tconst transition = {\n\t\t\t\t\tfrom: this._state,\n\t\t\t\t\tto: newState,\n\t\t\t\t\tsample,\n\t\t\t\t\treason\n\t\t\t\t};\n\t\t\t\tthis._state = newState;\n\t\t\t\tthis.emit(\"transition\", transition);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthis.emit(\"error\", err instanceof Error ? err : new Error(String(err)));\n\t\t}\n\t\tif (this._running) this._scheduleNext();\n\t}\n\t_stopLoop() {\n\t\tthis._running = false;\n\t\tif (this._timer !== null) {\n\t\t\tclearTimeout(this._timer);\n\t\t\tthis._timer = null;\n\t\t}\n\t}\n};\n//#endregion\nexport { ResourceMonitor as t };\n","import { i as getCleoHome } from \"./dist.js\";\nimport { t as getLogger } from \"./logger.js\";\nimport { Kt as LEASE_IPC_PROTOCOL_VERSION, en as LeaseIpcRequestEnvelopeSchema, j as DEFAULT_RESOURCE_RETRY_AFTER_MS, nn as LeaseIpcResponseEnvelopeSchema } from \"./dist2.js\";\nimport { o as getCleoHome$1 } from \"./paths.js\";\nimport { t as ResourceMonitor } from \"./monitor.js\";\nimport { existsSync, mkdirSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { availableParallelism, totalmem } from \"node:os\";\nimport lockfile from \"proper-lockfile\";\nimport { connect } from \"node:net\";\n//#region ../core/dist/resources/supervisor-admit.js\n/**\n* Supervisor-mode resource admission client (T12001 · Epic T11992).\n*\n* The `supervisor`-mode counterpart of the {@link ResourceGovernor}'s local slot\n* engine. Where local mode arbitrates heavy-op concurrency through cross-process\n* lockfiles, supervisor mode routes the `resource_admit` / `resource_release`\n* lease-ipc verbs to the Rust `cleo-supervisor` so a single in-memory counter is\n* the machine-wide source of truth.\n*\n* A dead/absent supervisor must NEVER deadlock work: every send degrades to\n* `{ unavailable }` on any transport error, and the governor falls back to the\n* local slot engine. Mirrors the `llm-queue-admit.ts` transport (core cannot\n* import `@cleocode/runtime` — a cycle — so it speaks the NDJSON codec directly\n* through the shared `@cleocode/contracts` lease-ipc Zod schemas).\n*\n* @task T12001\n* @epic T11992\n*/\n/** The supervisor IPC socket filename — MUST equal `SOCKET_NAME` in `crates/cleo-supervisor/src/paths.rs`. */\nvar SUPERVISOR_SOCKET_NAME = \"cleo-supervisor.sock\";\n/** Connect timeout (ms). A slow/absent socket degrades fast — never a deadlock. */\nvar CONNECT_TIMEOUT_MS = 250;\n/** Per-request read timeout for a result frame (ms). */\nvar REQUEST_TIMEOUT_MS = 2e3;\n/**\n* Resolve the supervisor socket path: `$CLEO_SUPERVISOR_SOCKET` overrides,\n* otherwise `<cleoHome>/cleo-supervisor.sock`.\n*/\nfunction resolveSupervisorSocketPath() {\n\treturn process.env.CLEO_SUPERVISOR_SOCKET ?? join(getCleoHome(), SUPERVISOR_SOCKET_NAME);\n}\n/**\n* Admit (or defer) a heavy op of `cls` for `holderId` against `budget` through\n* the supervisor's central arbiter. Resolves the `resource_admit_result` reply,\n* or `{ unavailable }` when the supervisor cannot arbitrate (degrade to local).\n*/\nasync function sendResourceAdmit(socketPath, cls, holderId, budget) {\n\tconst result = await sendLeaseRequest(socketPath, {\n\t\tkind: \"resource_admit\",\n\t\tclass: cls,\n\t\tholder_id: holderId,\n\t\tbudget\n\t}, \"resource_admit_result\");\n\tif (\"unavailable\" in result) return result;\n\tif (result.kind === \"resource_admit_result\") return result;\n\treturn {\n\t\tunavailable: true,\n\t\treason: `unexpected response kind: ${result.kind}`\n\t};\n}\n/**\n* Release a previously-admitted slot of `cls` for `holderId`. Resolves the\n* `resource_release_result` reply, or `{ unavailable }` on transport failure\n* (the slot self-heals via the arbiter's process-death reclaim / stale recovery).\n*/\nasync function sendResourceRelease(socketPath, cls, holderId) {\n\tconst result = await sendLeaseRequest(socketPath, {\n\t\tkind: \"resource_release\",\n\t\tclass: cls,\n\t\tholder_id: holderId\n\t}, \"resource_release_result\");\n\tif (\"unavailable\" in result) return result;\n\tif (result.kind === \"resource_release_result\") return result;\n\treturn {\n\t\tunavailable: true,\n\t\treason: `unexpected response kind: ${result.kind}`\n\t};\n}\n/**\n* One-shot NDJSON lease-ipc round-trip over a fresh Unix socket. Connection per\n* request (the verbs are stateless); the socket is closed before resolution.\n* Any transport error resolves to `{ unavailable }` — never throws, never\n* deadlocks. `expectedKind` is the result `kind` the caller correlates.\n*/\nfunction sendLeaseRequest(socketPath, request, expectedKind) {\n\treturn new Promise((resolve) => {\n\t\tconst id = `ra-${process.pid}-${request.kind}`;\n\t\tconst envelope = LeaseIpcRequestEnvelopeSchema.parse({\n\t\t\tprotocol_version: LEASE_IPC_PROTOCOL_VERSION,\n\t\t\tid,\n\t\t\tdirection: \"request\",\n\t\t\trequest\n\t\t});\n\t\tconst line = `${JSON.stringify(envelope)}\\n`;\n\t\tlet settled = false;\n\t\tlet buffer = \"\";\n\t\tconst socket = connect(socketPath);\n\t\tconst done = (value) => {\n\t\t\tif (settled) return;\n\t\t\tsettled = true;\n\t\t\tsocket.removeAllListeners();\n\t\t\tsocket.destroy();\n\t\t\tresolve(value);\n\t\t};\n\t\tconst degrade = (reason) => done({\n\t\t\tunavailable: true,\n\t\t\treason\n\t\t});\n\t\tsocket.setTimeout(REQUEST_TIMEOUT_MS);\n\t\tconst connectTimer = setTimeout(() => degrade(\"supervisor connect timeout\"), CONNECT_TIMEOUT_MS);\n\t\tsocket.on(\"connect\", () => {\n\t\t\tclearTimeout(connectTimer);\n\t\t\tsocket.write(line);\n\t\t});\n\t\tsocket.on(\"timeout\", () => degrade(\"supervisor request timeout\"));\n\t\tsocket.on(\"error\", (err) => {\n\t\t\tclearTimeout(connectTimer);\n\t\t\tdegrade(err.message);\n\t\t});\n\t\tsocket.on(\"close\", () => {\n\t\t\tif (!settled) degrade(\"supervisor closed the connection before responding\");\n\t\t});\n\t\tsocket.on(\"data\", (chunk) => {\n\t\t\tbuffer += chunk.toString(\"utf8\");\n\t\t\tconst nl = buffer.indexOf(\"\\n\");\n\t\t\tif (nl < 0) return;\n\t\t\tlet json;\n\t\t\ttry {\n\t\t\t\tjson = JSON.parse(buffer.slice(0, nl));\n\t\t\t} catch (cause) {\n\t\t\t\tdegrade(`malformed lease-ipc frame: ${cause instanceof Error ? cause.message : cause}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst parsed = LeaseIpcResponseEnvelopeSchema.safeParse(json);\n\t\t\tif (!parsed.success) {\n\t\t\t\tdegrade(`off-contract lease-ipc response: ${parsed.error.message}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { response } = parsed.data;\n\t\t\tif (response.kind === expectedKind) {\n\t\t\t\tdone(response);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (response.kind === \"error\") {\n\t\t\t\tdegrade(`${response.code}: ${response.message}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdegrade(`unexpected lease-ipc response kind for ${request.kind}: ${response.kind}`);\n\t\t});\n\t});\n}\n//#endregion\n//#region ../core/dist/resources/governor.js\n/**\n* ResourceGovernor — Never-OOM class-based admission (T11999, Epic T11992).\n*\n* Admits resource-intensive work through priority classes whose slot budgets\n* are computed at acquire time from host memory + memory-pressure (PSI). A\n* denial returns a structured, retryable {@link ResourceDeferral} — never a\n* silent drop, never a crash. Existing grants are NEVER revoked.\n*\n* Three modes (verbatim writer-lease shape, `writer-lease.ts` `resolveLeaseMode`):\n* - `supervisor` — defer to the Rust `cleo-supervisor` `resource_admit` verb.\n* Demotes to `local` (log-once) until the IPC client is wired — a\n* dead/absent arbiter must never deadlock work.\n* - `local` — DEFAULT, daemon-off. Per-class slot directories under\n* `getCleoHome()/locks/resource-<class>/` arbitrated by `proper-lockfile`\n* (crash-stale auto-release ⇒ genuinely cross-process without a daemon),\n* plus a point-sample of the {@link ResourceMonitor} taken INSIDE acquire.\n* Generalizes the tool-semaphore engine (`tool-semaphore.ts`).\n* - `off` — pure pass-through.\n*\n* `interactive-cli` is NEVER gated; `full-build` is pinned to one machine-wide\n* slot regardless of pressure.\n*\n* @task T11999\n* @epic T11992\n* @adr resource-governor-never-oom-architecture §3.4\n*/\nvar _log = null;\nfunction log() {\n\tif (_log === null) _log = getLogger(\"resource-governor\");\n\treturn _log;\n}\nvar _cachedMode = null;\nvar _supervisorDegradeLogged = false;\n/**\n* Resolve the governor mode from `CLEO_RESOURCES_MODE`, once per process.\n* Unknown / unset values resolve to `'local'` — the production-safe default\n* while the supervisor daemon is disabled.\n*\n* @task T11999\n*/\nfunction resolveGovernorMode() {\n\tif (_cachedMode !== null) return _cachedMode;\n\tconst raw = process.env.CLEO_RESOURCES_MODE;\n\t_cachedMode = raw === \"supervisor\" || raw === \"local\" || raw === \"off\" ? raw : \"local\";\n\treturn _cachedMode;\n}\n/**\n* Log (once) that `supervisor` mode degraded to the local slot engine because\n* the arbiter was unreachable — a dead/absent supervisor must never deadlock\n* work (T12001). Mirrors the writer-lease degrade-once behaviour.\n*/\nfunction logSupervisorDegradeOnce(reason) {\n\tif (_supervisorDegradeLogged) return;\n\t_supervisorDegradeLogged = true;\n\tlog().info(`CLEO_RESOURCES_MODE=supervisor but the arbiter is unreachable (${reason}); degrading to local-mode admission for the process lifetime.`);\n}\nvar MB = 1024 * 1024;\n/** Extract `some avg10` (0–100) from a sample; 0 when unavailable. */\nfunction someAvg10(sample) {\n\treturn (sample.globalPressure?.some ?? sample.slicePressure?.some)?.avg10 ?? 0;\n}\n/**\n* Compute the slot budget for a class given a point-sample.\n*\n* - `interactive-cli` → `Infinity` (never gated).\n* - `full-build` → `1` machine-wide, pressure-independent.\n* - `agent-session` → `clamp(1, ⌊(MemAvailable − headroom)/estRamMb⌋, cpus−2)`.\n* - `test-run` / `scoped-build` → `clamp(1, ⌊(MemAvailable − headroom)/estRamMb⌋,\n* ⌊cpus/4⌋)`, ×0.5 when `some>hold`, floored to 1 when `some>floor` (T12091:\n* was core-only, which authorised 144 GiB of heap on a 62 GiB box).\n* - `llm-call` → `max(1, cpus−2)` (primarily gated by the llm-queue elsewhere).\n* - `db-heavy` → `1`, deferred (→0) under `backoff`-level pressure.\n* - `background-autonomous` → `1` only when pressure is `ok`, else `0`.\n*\n* @adr resource-governor-never-oom-architecture §3.4 (budgets)\n*/\nfunction computeClassBudget(cls, sample, opts = {}) {\n\tif (cls === \"interactive-cli\") return Number.POSITIVE_INFINITY;\n\tconst cpus = Math.max(1, opts.cpuCount ?? availableParallelism());\n\tconst totalBytes = opts.totalMemBytes ?? totalmem();\n\tconst headroomBytes = (opts.headroomMb ?? 2048) * MB;\n\tconst hold = opts.holdSomeAvg10 ?? 10;\n\tconst floor = opts.floorSomeAvg10 ?? 25;\n\tconst some = someAvg10(sample);\n\tconst availBytes = sample.memAvailableBytes ?? totalBytes;\n\tconst fullStall = sample.globalPressure?.full?.avg10 ?? sample.slicePressure?.full?.avg10 ?? 0;\n\tconst backoff = some > floor || fullStall > 10;\n\tswitch (cls) {\n\t\tcase \"full-build\": return 1;\n\t\tcase \"agent-session\": {\n\t\t\tconst estRamBytes = (opts.agentEstRamMb ?? 4096) * MB;\n\t\t\treturn clamp(1, Math.floor((availBytes - headroomBytes) / estRamBytes), Math.max(1, cpus - 2));\n\t\t}\n\t\tcase \"llm-call\": return Math.max(1, cpus - 2);\n\t\tcase \"test-run\":\n\t\tcase \"scoped-build\": {\n\t\t\tconst estRamBytes = (opts.testRunEstRamMb ?? 24576) * MB;\n\t\t\tconst base = clamp(1, Math.floor((availBytes - headroomBytes) / estRamBytes), Math.max(1, Math.floor(cpus / 4)));\n\t\t\tif (some > floor) return 1;\n\t\t\tif (some > hold) return Math.max(1, Math.floor(base / 2));\n\t\t\treturn base;\n\t\t}\n\t\tcase \"db-heavy\": return backoff ? 0 : 1;\n\t\tcase \"background-autonomous\": return some > hold || fullStall > 5 ? 0 : 1;\n\t\tdefault: return 1;\n\t}\n}\nfunction clamp(lo, v, hi) {\n\treturn Math.max(lo, Math.min(v, hi));\n}\n/**\n* Machine-wide slot directory for a class, under\n* `getCleoHome()/locks/resource-<class>/`. Shared across projects, worktrees,\n* and PIDs — exactly like the tool semaphore.\n*/\nfunction governorSlotDir(cls) {\n\treturn join(getCleoHome$1(), \"locks\", `resource-${cls}`);\n}\nfunction ensureSlotFiles(dir, count) {\n\tif (!existsSync(dir)) mkdirSync(dir, { recursive: true });\n\tconst paths = [];\n\tfor (let i = 0; i < count; i++) {\n\t\tconst p = join(dir, `slot-${i}.lock`);\n\t\tif (!existsSync(p)) writeFileSync(p, \"\", { flag: \"a\" });\n\t\tpaths.push(p);\n\t}\n\treturn paths;\n}\nvar STALE_MS = 6e5;\nfunction sleep(ms) {\n\treturn new Promise((r) => setTimeout(r, ms));\n}\nfunction passThroughGrant(cls) {\n\treturn {\n\t\tdeferred: false,\n\t\tclass: cls,\n\t\tslot: -1,\n\t\tacquiredAtMs: Date.now(),\n\t\trelease: async () => {}\n\t};\n}\nfunction deferral(cls, reason, retryAfterMs) {\n\treturn {\n\t\tdeferred: true,\n\t\tclass: cls,\n\t\tretryAfterMs,\n\t\treason\n\t};\n}\nvar _supervisorHolderSeq = 0;\n/**\n* A process-unique holder id for a supervisor `resource_admit`, so each acquire\n* is a distinct slot (matched 1:1 by its `release`). `pid` scopes the holder to\n* this process; the sequence distinguishes concurrent holds of the same class.\n*/\nfunction supervisorHolderId(cls) {\n\t_supervisorHolderSeq += 1;\n\treturn `${process.pid}:${cls}:${_supervisorHolderSeq}`;\n}\n/**\n* The Never-OOM admission gate. Stateless wrapper over the mode-resolved\n* backend (local slot dirs today; supervisor IPC when wired). Construct once\n* and share, or use the module-level {@link governor} singleton.\n*/\nvar ResourceGovernor = class {\n\t/**\n\t* Acquire one slot of `cls`. Returns a {@link ResourceGrant} on success or a\n\t* {@link ResourceDeferral} on denial. Never throws for admission control;\n\t* only genuinely unexpected I/O errors propagate.\n\t*/\n\tasync acquire(cls, opts = {}) {\n\t\tconst mode = resolveGovernorMode();\n\t\tif (mode === \"off\" || cls === \"interactive-cli\") return passThroughGrant(cls);\n\t\tconst sample = opts.sample ?? await (opts.monitor ?? new ResourceMonitor()).sample();\n\t\tconst budget = computeClassBudget(cls, sample, opts);\n\t\tif (!Number.isFinite(budget)) return passThroughGrant(cls);\n\t\tif (budget <= 0) return deferral(cls, `class '${cls}' budget is 0 under current pressure (some avg10=${someAvg10(sample).toFixed(1)})`, DEFAULT_RESOURCE_RETRY_AFTER_MS);\n\t\tif (mode === \"supervisor\") {\n\t\t\tconst viaSupervisor = await this.acquireViaSupervisor(cls, Math.floor(budget));\n\t\t\tif (viaSupervisor !== null) return viaSupervisor;\n\t\t}\n\t\tconst slots = ensureSlotFiles(governorSlotDir(cls), budget);\n\t\tconst blocking = opts.blocking ?? true;\n\t\tconst timeoutMs = opts.timeoutMs ?? 36e5;\n\t\tconst pollMs = opts.pollMs ?? 200;\n\t\tconst startedAt = Date.now();\n\t\tdo {\n\t\t\tconst order = shuffledIndices(slots.length);\n\t\t\tfor (const idx of order) {\n\t\t\t\tconst path = slots[idx];\n\t\t\t\tif (!path) continue;\n\t\t\t\ttry {\n\t\t\t\t\tconst release = await lockfile.lock(path, {\n\t\t\t\t\t\tretries: 0,\n\t\t\t\t\t\tstale: STALE_MS,\n\t\t\t\t\t\trealpath: false\n\t\t\t\t\t});\n\t\t\t\t\tlet released = false;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tdeferred: false,\n\t\t\t\t\t\tclass: cls,\n\t\t\t\t\t\tslot: idx,\n\t\t\t\t\t\tacquiredAtMs: Date.now(),\n\t\t\t\t\t\trelease: async () => {\n\t\t\t\t\t\t\tif (released) return;\n\t\t\t\t\t\t\treleased = true;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait release();\n\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\tif (!blocking) break;\n\t\t\tawait sleep(pollMs);\n\t\t} while (Date.now() - startedAt < timeoutMs);\n\t\treturn deferral(cls, `class '${cls}' is at capacity (${budget} slot(s)); ` + (blocking ? `timed out after ${timeoutMs}ms` : \"no slot free\"), Math.min(pollMs * 4, DEFAULT_RESOURCE_RETRY_AFTER_MS));\n\t}\n\t/**\n\t* Route an admission through the supervisor's central `resource_admit` verb.\n\t* Returns a grant (whose `release` calls `resource_release`) or a deferral, or\n\t* `null` when the supervisor is unreachable so the caller degrades to the\n\t* local slot engine. Never throws — a dead arbiter never deadlocks work.\n\t*\n\t* @task T12001\n\t*/\n\tasync acquireViaSupervisor(cls, budget) {\n\t\tconst socketPath = resolveSupervisorSocketPath();\n\t\tconst holderId = supervisorHolderId(cls);\n\t\tconst reply = await sendResourceAdmit(socketPath, cls, holderId, budget);\n\t\tif (\"unavailable\" in reply) {\n\t\t\tlogSupervisorDegradeOnce(reply.reason);\n\t\t\treturn null;\n\t\t}\n\t\tif (reply.disposition === \"deferred\") return deferral(cls, `class '${cls}' deferred by supervisor (budget ${budget})`, reply.retry_after_ms || 2e3);\n\t\tlet released = false;\n\t\treturn {\n\t\t\tdeferred: false,\n\t\t\tclass: cls,\n\t\t\tslot: 0,\n\t\t\tacquiredAtMs: Date.now(),\n\t\t\trelease: async () => {\n\t\t\t\tif (released) return;\n\t\t\t\treleased = true;\n\t\t\t\tawait sendResourceRelease(socketPath, cls, holderId).catch(() => {});\n\t\t\t}\n\t\t};\n\t}\n\t/** Non-blocking single-pass acquire (admission semantics). */\n\tasync tryAcquire(cls, opts = {}) {\n\t\treturn this.acquire(cls, {\n\t\t\t...opts,\n\t\t\tblocking: false\n\t\t});\n\t}\n\t/**\n\t* Currently-grantable slot count for `cls` = budget − held. Held is the count\n\t* of slot files currently locked. `Infinity` for ungated classes.\n\t*/\n\tasync available(cls, opts = {}) {\n\t\tif (resolveGovernorMode() === \"off\" || cls === \"interactive-cli\") return Number.POSITIVE_INFINITY;\n\t\tconst budget = computeClassBudget(cls, opts.sample ?? await (opts.monitor ?? new ResourceMonitor()).sample(), opts);\n\t\tif (!Number.isFinite(budget)) return Number.POSITIVE_INFINITY;\n\t\tif (budget <= 0) return 0;\n\t\tconst held = await countHeldSlots(cls, budget);\n\t\treturn Math.max(0, budget - held);\n\t}\n};\nfunction shuffledIndices(n) {\n\tconst order = Array.from({ length: n }, (_, i) => i);\n\tfor (let i = order.length - 1; i > 0; i--) {\n\t\tconst j = Math.floor(Math.random() * (i + 1));\n\t\tconst a = order[i];\n\t\tconst b = order[j];\n\t\tif (a !== void 0 && b !== void 0) {\n\t\t\torder[i] = b;\n\t\t\torder[j] = a;\n\t\t}\n\t}\n\treturn order;\n}\n/**\n* Count how many of `budget` slots are currently held, by probing each with a\n* non-blocking lock. A successful probe-lock is released immediately — it never\n* holds the slot, so it cannot starve a real acquirer.\n*/\nasync function countHeldSlots(cls, budget) {\n\tconst dir = governorSlotDir(cls);\n\tif (!existsSync(dir)) return 0;\n\tconst slots = ensureSlotFiles(dir, budget);\n\tlet held = 0;\n\tfor (const path of slots) try {\n\t\tawait (await lockfile.lock(path, {\n\t\t\tretries: 0,\n\t\t\tstale: STALE_MS,\n\t\t\trealpath: false\n\t\t}))();\n\t} catch {\n\t\theld++;\n\t}\n\treturn held;\n}\n/** Process-wide governor singleton. */\nvar governor = new ResourceGovernor();\n//#endregion\nexport { resolveGovernorMode as a, governorSlotDir as i, computeClassBudget as n, governor as r, ResourceGovernor as t };\n"],"names":["getCleoHome","getCleoHome$1"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-auto-populate-Dmsr9ZJM.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-auto-populate2-Cz0qeebM.js","sources":["../../../.svelte-kit/adapter-node/chunks/graph-auto-populate2.js"],"sourcesContent":["import { t as getLogger } from \"./logger.js\";\nimport { O as brainPageEdges, i as getBrainDb, k as brainPageNodes } from \"./memory-sqlite.js\";\nimport { createHash } from \"node:crypto\";\n//#region ../core/dist/memory/graph-auto-populate.js\n/**\n* Graph auto-population helpers for CLEO BRAIN.\n*\n* Provides upsertGraphNode and addGraphEdge helpers that write to the\n* brain_page_nodes and brain_page_edges tables whenever memory entries\n* are created via the legitimate write paths (storeDecision, observeBrain,\n* storePattern, storeLearning, and task completion).\n*\n* Design constraints:\n* - All writes are BEST-EFFORT — never block or fail the primary operation.\n* - All writes are gated on brain.autoCapture via isAutoCaptureEnabled.\n* - Uses INSERT OR REPLACE (onConflictDoUpdate) for upsert semantics.\n* - Edge inserts are idempotent via the composite PK (fromId, toId, edgeType).\n*\n* @task T537\n* @epic T523\n*/\nvar log = getLogger(\"brain-graph\");\n/**\n* Return true when brain.autoCapture is enabled for the project.\n* Delegates to the shared isAutoCaptureEnabled helper in handler-helpers.ts.\n* Returns false on any error to keep graph writes safely disabled when the\n* config or brain.db is unavailable.\n*/\nasync function shouldAutoPopulateGraph(projectRoot) {\n\ttry {\n\t\tconst { isAutoCaptureEnabled } = await import(\"./handler-helpers.js\");\n\t\treturn isAutoCaptureEnabled(projectRoot);\n\t} catch {\n\t\treturn false;\n\t}\n}\n/**\n* Upsert a graph node for a typed table entry.\n*\n* Uses INSERT OR REPLACE to handle both new and existing entries. If the\n* node already exists (same id), its label, qualityScore, lastActivityAt,\n* updatedAt, and metadataJson are refreshed while createdAt is preserved.\n*\n* The contentHash is derived from a SHA-256 prefix of the canonical content.\n* External-reference nodes (task, session, epic) may pass an empty string for\n* content; their hash will be null so duplicates are not rejected.\n*\n* This function is gated on brain.autoCapture. If the gate is disabled or any\n* error occurs, it returns silently without throwing.\n*\n* @param projectRoot - Absolute path to the project root directory.\n* @param nodeId - Stable composite ID in the form '<type>:<source-id>'.\n* @param nodeType - Discriminated type from BRAIN_NODE_TYPES.\n* @param label - Human-readable label (title, task ID, etc.).\n* @param qualityScore - 0.0 (noise) to 1.0 (canonical).\n* @param content - Canonical text used to derive the content hash.\n* @param metadata - Optional type-specific metadata blob.\n*\n* @task T537\n*/\nasync function upsertGraphNode(projectRoot, nodeId, nodeType, label, qualityScore, content, metadata) {\n\ttry {\n\t\tif (!await shouldAutoPopulateGraph(projectRoot)) return;\n\t\tconst db = await getBrainDb(projectRoot);\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tconst trimmed = content.trim().toLowerCase();\n\t\tconst contentHash = trimmed ? createHash(\"sha256\").update(trimmed).digest(\"hex\").substring(0, 16) : null;\n\t\tawait db.insert(brainPageNodes).values({\n\t\t\tid: nodeId,\n\t\t\tnodeType,\n\t\t\tlabel: label.substring(0, 200),\n\t\t\tqualityScore,\n\t\t\tcontentHash,\n\t\t\tmetadataJson: metadata ? JSON.stringify(metadata) : null,\n\t\t\tlastActivityAt: now,\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t}).onConflictDoUpdate({\n\t\t\ttarget: brainPageNodes.id,\n\t\t\tset: {\n\t\t\t\tlabel: label.substring(0, 200),\n\t\t\t\tqualityScore,\n\t\t\t\tlastActivityAt: now,\n\t\t\t\tupdatedAt: now,\n\t\t\t\tmetadataJson: metadata ? JSON.stringify(metadata) : null\n\t\t\t}\n\t\t});\n\t} catch (err) {\n\t\tlog.warn({ err }, \"upsertGraphNode failed\");\n\t}\n}\n/**\n* Add a directed, typed edge between two graph nodes (idempotent).\n*\n* The composite primary key (fromId, toId, edgeType) prevents duplicate edges\n* of the same type. Conflicting rows are ignored so this is safe to call\n* multiple times with the same arguments.\n*\n* This function is gated on brain.autoCapture. If the gate is disabled or any\n* error occurs, it returns silently without throwing.\n*\n* @param projectRoot - Absolute path to the project root directory.\n* @param fromId - Source node ID (brain_page_nodes.id).\n* @param toId - Target node ID (brain_page_nodes.id or external nexus ID).\n* @param edgeType - Typed relationship from BRAIN_EDGE_TYPES.\n* @param weight - Edge confidence/weight (0.0–1.0). Defaults to 1.0.\n* @param provenance - Human-readable note on why this edge was emitted.\n*\n* @task T537\n*/\nasync function addGraphEdge(projectRoot, fromId, toId, edgeType, weight = 1, provenance) {\n\ttry {\n\t\tif (!await shouldAutoPopulateGraph(projectRoot)) return;\n\t\tconst db = await getBrainDb(projectRoot);\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tawait db.insert(brainPageEdges).values({\n\t\t\tfromId,\n\t\t\ttoId,\n\t\t\tedgeType,\n\t\t\tweight,\n\t\t\tprovenance: provenance ?? null,\n\t\t\tcreatedAt: now\n\t\t}).onConflictDoNothing();\n\t} catch (err) {\n\t\tlog.warn({ err }, \"addGraphEdge failed\");\n\t}\n}\n/**\n* Upsert a `task:T###` graph node for a task at creation time (not completion).\n*\n* Prior to T945 Stage A, task nodes were only minted by `completeTask`, which\n* meant brand-new tasks were invisible in the graph until they shipped. This\n* hook fixes that gap by wiring `task:T###` nodes into `addTask` with a\n* quality score of 0.7 (provisional, not yet verified by gate evidence).\n*\n* Best-effort: any failure is swallowed so graph writes never block the\n* task-creation write path.\n*\n* @param projectRoot - Absolute path to the project root directory.\n* @param taskId - CLEO task ID in `T###` format.\n* @param title - Task title (used as node label).\n* @param metadata - Optional type-specific metadata (priority, type, etc.).\n*\n* @task T945\n*/\nasync function ensureTaskNode(projectRoot, taskId, title, metadata) {\n\ttry {\n\t\tawait upsertGraphNode(projectRoot, `task:${taskId}`, \"task\", `${taskId}: ${title}`.substring(0, 200), .7, title, metadata);\n\t} catch (err) {\n\t\tlog.warn({ err }, \"ensureTaskNode failed\");\n\t}\n}\n//#endregion\nexport { ensureTaskNode as n, upsertGraphNode as r, addGraphEdge as t };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-memory-bridge-CY8ft_d7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph-memory-bridge2-Cd0XZwqc.js","sources":["../../../.svelte-kit/adapter-node/chunks/graph-memory-bridge2.js"],"sourcesContent":["import \"./sqlite-pragmas.js\";\nimport \"./dual-scope-db.js\";\nimport \"./conduit-sqlite.js\";\nimport { i as getBrainDb, o as getBrainNativeDb } from \"./memory-sqlite.js\";\nimport { l as getNexusNativeDb, s as getNexusDb } from \"./nexus-sqlite2.js\";\nimport { t as typedAll } from \"./typed-query.js\";\nimport { createRequire } from \"node:module\";\nimport \"node:fs\";\n//#region ../core/dist/memory/graph-memory-bridge.js\nvar { DatabaseSync } = createRequire(import.meta.url)(\"node:sqlite\");\n/**\n* Regex patterns to extract entity references from text.\n*\n* Matches:\n* - File paths: relative paths ending in known source extensions\n* - Function/symbol names: camelCase, PascalCase, snake_case identifiers (≥4 chars)\n*/\nvar FILE_PATH_PATTERN = /(?:^|\\s|['\"`(])([a-zA-Z0-9_\\-./]+\\.(?:ts|tsx|js|jsx|rs|go|py|mjs|cjs))(?:$|\\s|['\"`)])/g;\nvar SYMBOL_PATTERN = /\\b([a-zA-Z_][a-zA-Z0-9_]*(?:[A-Z][a-zA-Z0-9_]*)+|[a-zA-Z_]{4,}[a-zA-Z0-9_]*)\\b/g;\n/** Common stop-words to skip in symbol extraction (short-circuits false positives). */\nvar SYMBOL_STOP_WORDS = new Set([\n\t\"true\",\n\t\"false\",\n\t\"null\",\n\t\"undefined\",\n\t\"const\",\n\t\"async\",\n\t\"await\",\n\t\"return\",\n\t\"export\",\n\t\"import\",\n\t\"from\",\n\t\"type\",\n\t\"interface\",\n\t\"function\",\n\t\"class\",\n\t\"this\",\n\t\"super\",\n\t\"extends\",\n\t\"implements\",\n\t\"with\",\n\t\"that\",\n\t\"then\",\n\t\"when\",\n\t\"have\",\n\t\"been\",\n\t\"will\",\n\t\"should\",\n\t\"could\",\n\t\"would\",\n\t\"error\",\n\t\"result\",\n\t\"value\",\n\t\"data\",\n\t\"info\",\n\t\"note\",\n\t\"todo\",\n\t\"done\",\n\t\"fail\",\n\t\"pass\"\n]);\n/**\n* Extract file paths from text.\n*/\nfunction extractFilePaths(text) {\n\tconst paths = /* @__PURE__ */ new Set();\n\tfor (const m of text.matchAll(FILE_PATH_PATTERN)) {\n\t\tconst p = m[1];\n\t\tif (p) paths.add(p);\n\t}\n\treturn Array.from(paths);\n}\n/**\n* Extract potential symbol names from text (camelCase / PascalCase / snake_case ≥ 4 chars).\n*/\nfunction extractSymbolCandidates(text) {\n\tconst syms = /* @__PURE__ */ new Set();\n\tfor (const m of text.matchAll(SYMBOL_PATTERN)) {\n\t\tconst s = m[1];\n\t\tif (s && s.length >= 4 && !SYMBOL_STOP_WORDS.has(s.toLowerCase())) syms.add(s);\n\t}\n\treturn Array.from(syms);\n}\n/**\n* Build a plain-text corpus from a brain_page_nodes metadata_json blob.\n* Returns empty string if metadata is absent or malformed.\n*/\nfunction metadataText(metaJson) {\n\tif (!metaJson) return \"\";\n\ttry {\n\t\tconst obj = JSON.parse(metaJson);\n\t\treturn Object.values(obj).filter((v) => typeof v === \"string\").join(\" \");\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n/**\n* Write `modified_by` edges from file nodes to observation nodes.\n*\n* For each file path in the observation's files_modified_json, finds the\n* corresponding file node in nexus_nodes and writes a `modified_by` edge.\n*\n* This function is idempotent — calling it multiple times is safe.\n*\n* @param obsId - Brain observation node ID (format: 'observation:<source-id>')\n* @param filesModifiedJson - JSON array of file paths (may be null)\n* @param projectRoot - Absolute path to project root\n* @param nexusNative - Optional pre-loaded nexus database handle\n* @returns Count of edges written\n*/\nasync function linkObservationToModifiedFiles(obsId, filesModifiedJson, projectRoot, nexusNative) {\n\tlet edgeCount = 0;\n\tif (!filesModifiedJson) return 0;\n\ttry {\n\t\tawait getBrainDb(projectRoot);\n\t\tconst brainNative = getBrainNativeDb(projectRoot);\n\t\tif (!brainNative) return 0;\n\t\tconst nexusDb = nexusNative ?? getNexusNativeDb();\n\t\tif (!nexusDb) return 0;\n\t\tconst filesArray = JSON.parse(filesModifiedJson);\n\t\tif (!Array.isArray(filesArray)) return 0;\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tfor (const filePath of filesArray) {\n\t\t\tif (!filePath || typeof filePath !== \"string\") continue;\n\t\t\tconst nexusNode = nexusDb.prepare(\"SELECT id FROM nexus_nodes WHERE file_path = ? LIMIT 1\").get(filePath);\n\t\t\tif (!nexusNode) continue;\n\t\t\ttry {\n\t\t\t\tbrainNative.prepare(`\n INSERT OR IGNORE INTO brain_page_edges\n (from_id, to_id, edge_type, weight, provenance, created_at)\n VALUES (?, ?, 'modified_by', 1.0, 'auto:file-modify', ?)\n `).run(nexusNode.id, obsId, now);\n\t\t\t\tedgeCount++;\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[graph-memory-bridge] modified_by edge insert failed:\", err);\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tconsole.warn(\"[graph-memory-bridge] linkObservationToModifiedFiles failed:\", err);\n\t}\n\treturn edgeCount;\n}\n/**\n* Write `mentions` edges from observation nodes to symbol nodes found in text.\n*\n* Scans the observation text for symbol names present in nexus_nodes using\n* case-sensitive word-boundary matching. Caps results at 20 matches per\n* observation to prevent runaway on large-text observations.\n*\n* This function is idempotent — calling it multiple times is safe.\n*\n* @param obsId - Brain observation node ID\n* @param text - Text content to scan for symbol names\n* @param projectRoot - Absolute path to project root\n* @param nexusNative - Optional pre-loaded nexus database handle\n* @returns Count of edges written\n*/\nasync function linkObservationToMentionedSymbols(obsId, text, projectRoot, nexusNative) {\n\tlet edgeCount = 0;\n\tif (!text || text.length === 0) return 0;\n\ttry {\n\t\tawait getBrainDb(projectRoot);\n\t\tconst brainNative = getBrainNativeDb(projectRoot);\n\t\tif (!brainNative) return 0;\n\t\tconst nexusDb = nexusNative ?? getNexusNativeDb();\n\t\tif (!nexusDb) return 0;\n\t\tconst nexusNames = typedAll(nexusDb.prepare(\"SELECT id, name FROM nexus_nodes WHERE name IS NOT NULL LIMIT 10000\"));\n\t\tif (nexusNames.length === 0) return 0;\n\t\tconst symbolNameSet = new Set(nexusNames.map((n) => n.name));\n\t\tconst symbolNames = Array.from(symbolNameSet);\n\t\tconst candidates = [];\n\t\tfor (const name of symbolNames) if (new RegExp(`\\\\b${name.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")}\\\\b`).test(text)) candidates.push(name);\n\t\tconst matches = candidates.slice(0, 20);\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tfor (const name of matches) {\n\t\t\tconst nexusNode = nexusNames.find((n) => n.name === name);\n\t\t\tif (!nexusNode) continue;\n\t\t\ttry {\n\t\t\t\tbrainNative.prepare(`\n INSERT OR IGNORE INTO brain_page_edges\n (from_id, to_id, edge_type, weight, provenance, created_at)\n VALUES (?, ?, 'mentions', 1.0, 'auto:symbol-ner', ?)\n `).run(obsId, nexusNode.id, now);\n\t\t\t\tedgeCount++;\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[graph-memory-bridge] mentions edge insert failed:\", err);\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tconsole.warn(\"[graph-memory-bridge] linkObservationToMentionedSymbols failed:\", err);\n\t}\n\treturn edgeCount;\n}\n/**\n* Write `documents` edges from decision nodes to symbol nodes found in context.\n*\n* Scans the decision's context text for symbol names present in nexus_nodes.\n* Same NER pattern as linkObservationToMentionedSymbols but for decisions.\n* Caps results at 20 matches per decision to prevent runaway.\n*\n* This function is idempotent — calling it multiple times is safe.\n*\n* @param decisionId - Brain decision node ID (format: 'decision:D-<id>')\n* @param contextText - Context/rationale text to scan for symbol names\n* @param projectRoot - Absolute path to project root\n* @param nexusNative - Optional pre-loaded nexus database handle\n* @returns Count of edges written\n*/\nasync function linkDecisionToSymbols(decisionId, contextText, projectRoot, nexusNative) {\n\tlet edgeCount = 0;\n\tif (!contextText || contextText.length === 0) return 0;\n\ttry {\n\t\tawait getBrainDb(projectRoot);\n\t\tconst brainNative = getBrainNativeDb(projectRoot);\n\t\tif (!brainNative) return 0;\n\t\tconst nexusDb = nexusNative ?? getNexusNativeDb();\n\t\tif (!nexusDb) return 0;\n\t\tconst nexusNames = typedAll(nexusDb.prepare(\"SELECT id, name FROM nexus_nodes WHERE name IS NOT NULL LIMIT 10000\"));\n\t\tif (nexusNames.length === 0) return 0;\n\t\tconst symbolNameSet = new Set(nexusNames.map((n) => n.name));\n\t\tconst symbolNames = Array.from(symbolNameSet);\n\t\tconst candidates = [];\n\t\tfor (const name of symbolNames) if (new RegExp(`\\\\b${name.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")}\\\\b`).test(contextText)) candidates.push(name);\n\t\tconst matches = candidates.slice(0, 20);\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tfor (const name of matches) {\n\t\t\tconst nexusNode = nexusNames.find((n) => n.name === name);\n\t\t\tif (!nexusNode) continue;\n\t\t\ttry {\n\t\t\t\tbrainNative.prepare(`\n INSERT OR IGNORE INTO brain_page_edges\n (from_id, to_id, edge_type, weight, provenance, created_at)\n VALUES (?, ?, 'documents', 1.0, 'auto:decision-ner', ?)\n `).run(decisionId, nexusNode.id, now);\n\t\t\t\tedgeCount++;\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[graph-memory-bridge] documents edge insert failed:\", err);\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\tconsole.warn(\"[graph-memory-bridge] linkDecisionToSymbols failed:\", err);\n\t}\n\treturn edgeCount;\n}\n/**\n* Scan brain memory nodes for entity references and match them against nexus.\n*\n* For each brain node, extracts:\n* - File path references → matched against nexus_nodes.file_path (exact)\n* - Symbol name references → matched against nexus_nodes.name (exact, then fuzzy)\n* - Files modified (observations) → writes modified_by edges via linkObservationToModifiedFiles\n* - Symbol mentions (observations/decisions) → writes mentions/documents edges via symbol NER\n*\n* Matching edges are written to brain_page_edges with edge types: code_reference, modified_by,\n* mentions, documents. This function is idempotent — existing edges are skipped.\n*\n* Should be called from runConsolidation() as a best-effort step. All errors\n* are caught and logged; never throws.\n*\n* @param projectRoot - Absolute path to project root (locates brain.db)\n* @returns Summary of scanned entries and created links\n*/\nasync function autoLinkMemories(projectRoot) {\n\tconst result = {\n\t\tscanned: 0,\n\t\tlinked: 0,\n\t\talreadyLinked: 0,\n\t\tlinks: []\n\t};\n\ttry {\n\t\tawait getBrainDb(projectRoot);\n\t\tconst brainNative = getBrainNativeDb(projectRoot);\n\t\tawait getNexusDb();\n\t\tconst nexusNative = getNexusNativeDb();\n\t\tif (!brainNative || !nexusNative) return result;\n\t\tconst brainNodes = typedAll(brainNative.prepare(`\n SELECT id, node_type, label, quality_score, metadata_json\n FROM brain_page_nodes\n WHERE node_type IN ('observation', 'decision', 'pattern', 'learning')\n AND quality_score >= 0.3\n ORDER BY quality_score DESC\n LIMIT 500\n `));\n\t\tresult.scanned = brainNodes.length;\n\t\tif (brainNodes.length === 0) return result;\n\t\tconst nexusNodes = typedAll(nexusNative.prepare(`\n SELECT id, label, name, file_path, kind\n FROM nexus_nodes\n WHERE kind NOT IN ('community', 'process', 'folder')\n LIMIT 20000\n `));\n\t\tif (nexusNodes.length === 0) return result;\n\t\tconst byFilePath = /* @__PURE__ */ new Map();\n\t\tconst byNameExact = /* @__PURE__ */ new Map();\n\t\tconst byNameLower = /* @__PURE__ */ new Map();\n\t\tfor (const node of nexusNodes) {\n\t\t\tif (node.file_path) {\n\t\t\t\tconst fp = node.file_path.toLowerCase();\n\t\t\t\tconst existing = byFilePath.get(fp) ?? [];\n\t\t\t\texisting.push(node);\n\t\t\t\tbyFilePath.set(fp, existing);\n\t\t\t}\n\t\t\tif (node.name) {\n\t\t\t\tconst exact = byNameExact.get(node.name) ?? [];\n\t\t\t\texact.push(node);\n\t\t\t\tbyNameExact.set(node.name, exact);\n\t\t\t\tconst lower = node.name.toLowerCase();\n\t\t\t\tconst fuzzy = byNameLower.get(lower) ?? [];\n\t\t\t\tfuzzy.push(node);\n\t\t\t\tbyNameLower.set(lower, fuzzy);\n\t\t\t}\n\t\t}\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tconst existingEdges = /* @__PURE__ */ new Set();\n\t\tconst rawEdges = typedAll(brainNative.prepare(`\n SELECT from_id, to_id FROM brain_page_edges WHERE edge_type = 'code_reference'\n `));\n\t\tfor (const e of rawEdges) existingEdges.add(`${e.from_id}|${e.to_id}`);\n\t\tfor (const brainNode of brainNodes) {\n\t\t\tconst corpus = `${brainNode.label} ${metadataText(brainNode.metadata_json)}`;\n\t\t\tconst filePaths = extractFilePaths(corpus);\n\t\t\tconst symbolCandidates = extractSymbolCandidates(corpus);\n\t\t\tconst candidates = [];\n\t\t\tfor (const fp of filePaths) {\n\t\t\t\tconst matches = byFilePath.get(fp.toLowerCase());\n\t\t\t\tif (matches) for (const n of matches) candidates.push({\n\t\t\t\t\tnexusNode: n,\n\t\t\t\t\tstrategy: \"exact-file\",\n\t\t\t\t\tweight: 1\n\t\t\t\t});\n\t\t\t}\n\t\t\tfor (const sym of symbolCandidates) {\n\t\t\t\tconst exactMatches = byNameExact.get(sym);\n\t\t\t\tif (exactMatches) for (const n of exactMatches) candidates.push({\n\t\t\t\t\tnexusNode: n,\n\t\t\t\t\tstrategy: \"exact-symbol\",\n\t\t\t\t\tweight: 1\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst exactSymSet = new Set(symbolCandidates.flatMap((s) => byNameExact.get(s) ?? []).map((n) => n.id));\n\t\t\tfor (const sym of symbolCandidates) {\n\t\t\t\tif (sym.length < 5) continue;\n\t\t\t\tconst lower = sym.toLowerCase();\n\t\t\t\tconst fuzzyMatches = byNameLower.get(lower);\n\t\t\t\tif (fuzzyMatches) {\n\t\t\t\t\tfor (const n of fuzzyMatches) if (!exactSymSet.has(n.id)) candidates.push({\n\t\t\t\t\t\tnexusNode: n,\n\t\t\t\t\t\tstrategy: \"fuzzy-symbol\",\n\t\t\t\t\t\tweight: .6\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst bestByNexusId = /* @__PURE__ */ new Map();\n\t\t\tfor (const c of candidates) {\n\t\t\t\tconst existing = bestByNexusId.get(c.nexusNode.id);\n\t\t\t\tif (!existing || c.weight > existing.weight) bestByNexusId.set(c.nexusNode.id, c);\n\t\t\t}\n\t\t\tconst sortedCandidates = Array.from(bestByNexusId.values()).sort((a, b) => b.weight - a.weight).slice(0, 10);\n\t\t\tfor (const { nexusNode, strategy, weight } of sortedCandidates) {\n\t\t\t\tconst edgeKey = `${brainNode.id}|${nexusNode.id}`;\n\t\t\t\tif (existingEdges.has(edgeKey)) {\n\t\t\t\t\tresult.alreadyLinked++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbrainNative.prepare(`\n INSERT OR IGNORE INTO brain_page_nodes\n (id, node_type, label, quality_score, content_hash, metadata_json, last_activity_at, created_at, updated_at)\n VALUES (?, ?, ?, ?, NULL, NULL, ?, ?, ?)\n `).run(brainNode.id, brainNode.node_type, brainNode.label, brainNode.quality_score, now, now, now);\n\t\t\t\ttry {\n\t\t\t\t\tbrainNative.prepare(`\n INSERT OR IGNORE INTO brain_page_edges\n (from_id, to_id, edge_type, weight, provenance, created_at)\n VALUES (?, ?, 'code_reference', ?, ?, ?)\n `).run(brainNode.id, nexusNode.id, weight, `auto:${strategy}`, now);\n\t\t\t\t\texistingEdges.add(edgeKey);\n\t\t\t\t\tresult.linked++;\n\t\t\t\t\tresult.links.push({\n\t\t\t\t\t\tbrainNodeId: brainNode.id,\n\t\t\t\t\t\tnexusNodeId: nexusNode.id,\n\t\t\t\t\t\tnexusLabel: nexusNode.label,\n\t\t\t\t\t\tmatchStrategy: strategy,\n\t\t\t\t\t\tweight\n\t\t\t\t\t});\n\t\t\t\t} catch (edgeErr) {\n\t\t\t\t\tconsole.warn(\"[graph-memory-bridge] edge insert failed:\", edgeErr);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\ttry {\n\t\t\tconst observations = typedAll(brainNative.prepare(`\n SELECT id, files_modified_json, narrative\n FROM brain_observations\n WHERE quality_score >= 0.3\n LIMIT 200\n `));\n\t\t\tfor (const obs of observations) {\n\t\t\t\tif (obs.files_modified_json) {\n\t\t\t\t\tconst edgesWritten = await linkObservationToModifiedFiles(`observation:${obs.id}`, obs.files_modified_json, projectRoot, nexusNative);\n\t\t\t\t\tresult.linked += edgesWritten;\n\t\t\t\t}\n\t\t\t\tif (obs.narrative) {\n\t\t\t\t\tconst edgesWritten = await linkObservationToMentionedSymbols(`observation:${obs.id}`, obs.narrative, projectRoot, nexusNative);\n\t\t\t\t\tresult.linked += edgesWritten;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst decisions = typedAll(brainNative.prepare(`\n SELECT id, decision, rationale\n FROM brain_decisions\n WHERE quality_score >= 0.3\n LIMIT 200\n `));\n\t\t\tfor (const dec of decisions) {\n\t\t\t\tconst contextText = `${dec.decision ?? \"\"} ${dec.rationale ?? \"\"}`;\n\t\t\t\tif (contextText.trim().length > 0) {\n\t\t\t\t\tconst edgesWritten = await linkDecisionToSymbols(`decision:${dec.id}`, contextText, projectRoot, nexusNative);\n\t\t\t\t\tresult.linked += edgesWritten;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.warn(\"[graph-memory-bridge] specialized edge writers failed:\", err);\n\t\t}\n\t} catch (err) {\n\t\tconsole.warn(\"[graph-memory-bridge] autoLinkMemories failed:\", err);\n\t}\n\treturn result;\n}\n//#endregion\nexport { linkObservationToModifiedFiles as i, linkDecisionToSymbols as n, linkObservationToMentionedSymbols as r, autoLinkMemories as t };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler-helpers-AANBGA_p.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash-Cm6yMET4.js","sources":["../../../.svelte-kit/adapter-node/chunks/hash2.js"],"sourcesContent":["import { createHash } from \"node:crypto\";\n//#region ../core/dist/nexus/hash.js\n/**\n* Canonical project identity hash.\n* SHA-256 of absolute path, first 12 hex chars.\n* Single source of truth — do not duplicate this function elsewhere.\n*/\nfunction generateProjectHash(projectPath) {\n\treturn createHash(\"sha256\").update(projectPath).digest(\"hex\").substring(0, 12);\n}\n//#endregion\nexport { generateProjectHash as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,WAAW,EAAE;AAC1C,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/E;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-monitor-FepUZN1m.js","sources":["../../../.svelte-kit/adapter-node/chunks/health-monitor2.js"],"sourcesContent":["import { a as listAgentInstances, o as markCrashed } from \"./registry4.js\";\n//#region ../core/dist/agents/health-monitor.js\n/**\n* Agent Health Monitoring -- Heartbeat and crash detection for live agent instances.\n*\n* Provides the public-facing health API specified by T039:\n* - `recordHeartbeat` — update last_heartbeat for a live agent\n* - `checkAgentHealth` — check health of a specific agent by ID\n* - `detectStaleAgents` — find agents whose heartbeat is older than threshold\n* - `detectCrashedAgents` — find active agents with no heartbeat for >3 min\n*\n* These functions delegate to the lower-level `registry.ts` primitives\n* (`heartbeat`, `checkAgentHealth`, `listAgentInstances`) and add the\n* named, task-spec-aligned surface required for T039.\n*\n* @module agents/health-monitor\n* @task T039\n* @epic T038\n*/\n/** Default staleness threshold: 3 minutes without a heartbeat. */\nvar STALE_THRESHOLD_MS = 3 * 6e4;\n/**\n* Find agents with status `active` whose heartbeat has been silent for\n* longer than `thresholdMs`, and mark them as `crashed` in the database.\n*\n* An agent is considered crashed when it:\n* 1. Has status `active` (not `idle`, `starting`, `stopped`, or `crashed`)\n* 2. Has not sent a heartbeat for longer than `thresholdMs`\n*\n* Each detected agent is immediately marked `crashed` via {@link markCrashed},\n* incrementing its error count and writing a reason to `agent_error_log`.\n*\n* @param thresholdMs - Crash threshold in ms (default: 3 minutes / 180 000 ms)\n* @param cwd - Working directory used to resolve the tasks.db path (optional)\n* @returns Array of agent instance rows for each agent that was just marked\n* `crashed`, sorted by last heartbeat ascending (oldest first).\n*\n* @remarks\n* This function is WRITE-side: it mutates the database. Callers should run\n* it on a schedule (e.g. every 60 s) from an orchestrator or health watchdog.\n* For a read-only view, use {@link detectStaleAgents} instead.\n*\n* @example\n* ```ts\n* // Inside an orchestrator health watchdog:\n* const crashed = await detectCrashedAgents();\n* if (crashed.length > 0) {\n* logger.warn({ crashed: crashed.map(a => a.id) }, 'Agents marked crashed');\n* }\n* ```\n*/\nasync function detectCrashedAgents(thresholdMs = STALE_THRESHOLD_MS, cwd) {\n\tconst activeAgents = await listAgentInstances({ status: \"active\" }, cwd);\n\tconst cutoff = new Date(Date.now() - thresholdMs).toISOString();\n\tconst crashed = [];\n\tfor (const agent of activeAgents) if (agent.lastHeartbeat < cutoff) {\n\t\tconst updated = await markCrashed(agent.id, `Heartbeat timeout — no heartbeat for >${Math.round(thresholdMs / 1e3)}s`, cwd);\n\t\tif (updated) crashed.push(updated);\n\t}\n\tcrashed.sort((a, b) => {\n\t\tconst aHb = a.lastHeartbeat ?? \"\";\n\t\tconst bHb = b.lastHeartbeat ?? \"\";\n\t\treturn aHb < bHb ? -1 : aHb > bHb ? 1 : 0;\n\t});\n\treturn crashed;\n}\n//#endregion\nexport { detectCrashedAgents as n, STALE_THRESHOLD_MS as t };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,kBAAkB,GAAG,CAAC,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,mBAAmB,CAAC,WAAW,GAAG,kBAAkB,EAAE,GAAG,EAAE;AAC1E,CAAC,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC;AACzE,CAAC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC,WAAW,EAAE;AAChE,CAAC,MAAM,OAAO,GAAG,EAAE;AACnB,CAAC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,IAAI,KAAK,CAAC,aAAa,GAAG,MAAM,EAAE;AACrE,EAAE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,sCAAsC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC7H,EAAE,IAAI,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACpC,CAAC;AACD,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AACxB,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,IAAI,EAAE;AACnC,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,aAAa,IAAI,EAAE;AACnC,EAAE,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AAC3C,CAAC,CAAC,CAAC;AACH,CAAC,OAAO,OAAO;AACf;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.server-DBsyphiX.js","sources":["../../../.svelte-kit/adapter-node/entries/hooks.server.js"],"sourcesContent":["import { a as resolveDefaultProjectContext, o as resolveProjectContext, r as getActiveProjectId } from \"../chunks/project-context.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { createHash } from \"node:crypto\";\n//#region src/lib/server/csrf.ts\n/**\n* CSRF token helpers for CLEO Studio mutation endpoints.\n*\n* Wave 1E minimum defense (T990 · audit follow-up):\n* 1. Studio binds to loopback (HOST=127.0.0.1), so the absolute threat\n* model is a local-origin attacker or a malicious page opened in\n* the same browser.\n* 2. `hooks.server.ts` applies a same-origin guard on every\n* /api/project/** POST/DELETE — requests without a matching\n* `Origin` / `Referer` header are rejected.\n* 3. As groundwork for future full CSRF, this module issues a\n* deterministic token bound to the active-project cookie. The\n* token is surfaced to the client via a `cleo_csrf` cookie (read\n* by the modals, re-sent in the `X-CSRF` request header). Today\n* the server does **not** validate the header — it only needs the\n* cookie machinery to exist so the eventual validator can land\n* without touching every caller.\n*\n* @task T990\n* @wave 1E\n*/\n/** Cookie the client reads to attach `X-CSRF` headers on mutations. */\nvar CSRF_COOKIE = \"cleo_csrf\";\n/** Server-side salt — regenerated per process start. */\nvar SALT = createHash(\"sha256\").update(`${process.pid}:${Date.now()}`).digest(\"hex\").slice(0, 16);\n/**\n* Derive a deterministic CSRF token from the supplied project id.\n*\n* Pure hash of `SALT + projectId`. Same id always produces the same\n* token for the process lifetime, but the salt rotates on restart so\n* stale session tokens invalidate.\n*/\nfunction deriveCsrfToken(projectId) {\n\tconst input = `${SALT}:${projectId ?? \"anon\"}`;\n\treturn createHash(\"sha256\").update(input).digest(\"hex\").slice(0, 24);\n}\n/**\n* Re-derive + set the CSRF cookie so every request receives a fresh\n* token bound to the active project. Called by the server hook on\n* every response path so the cookie stays in sync with the project\n* context.\n*/\nfunction refreshCsrfToken(cookies) {\n\tconst token = deriveCsrfToken(cookies.get(\"cleo_project_id\") ?? null);\n\tcookies.set(CSRF_COOKIE, token, {\n\t\tpath: \"/\",\n\t\thttpOnly: false,\n\t\tsameSite: \"lax\",\n\t\tmaxAge: 3600 * 24\n\t});\n\treturn token;\n}\n/**\n* Same-origin guard. Returns `true` when the request either:\n* - is a GET / HEAD / OPTIONS (no guard needed), or\n* - has an `Origin` / `Referer` header that matches the server's own URL.\n*\n* Rejects requests whose Origin is a remote site — even if Studio is\n* accidentally bound to 0.0.0.0 in the future.\n*/\nfunction isSameOriginRequest(request) {\n\tconst method = request.method.toUpperCase();\n\tif (method === \"GET\" || method === \"HEAD\" || method === \"OPTIONS\") return true;\n\tconst selfHost = new URL(request.url).host;\n\tconst origin = request.headers.get(\"origin\");\n\tif (origin) try {\n\t\treturn new URL(origin).host === selfHost;\n\t} catch {\n\t\treturn false;\n\t}\n\tconst referer = request.headers.get(\"referer\");\n\tif (referer) try {\n\t\treturn new URL(referer).host === selfHost;\n\t} catch {\n\t\treturn false;\n\t}\n\t/**\n\t* No Origin / Referer headers — treat as cross-site (defensive\n\t* default). Browsers always set at least one of these on `fetch` /\n\t* form POST calls, so the only requests hitting this branch are\n\t* hand-rolled curls which already have full local access.\n\t*/\n\treturn false;\n}\n//#endregion\n//#region src/hooks.server.ts\n/**\n* SvelteKit server hooks for CLEO Studio.\n*\n* Responsibilities:\n* 1. Resolve the active project context from the cookie and attach it\n* to `event.locals.projectCtx` for every page + API load.\n* 2. Refresh the CSRF token cookie on every request so mutation\n* modals always have one to echo back (see\n* `$lib/server/csrf.ts`).\n* 3. Enforce a same-origin guard on every mutating admin endpoint\n* (`/api/project/**` POST/DELETE). Studio binds to loopback in\n* production — the guard is belt-and-braces in case it is ever\n* bound to a LAN address.\n*\n* @task T990\n* @wave 1E\n*/\n/**\n* Path prefixes whose mutation verbs must pass the same-origin guard.\n*\n* `/api/project` — admin project mutations (T990).\n* `/api/tasks` — interactive dispatcher writes: drag→transition (T11928) and\n* dispatch→spawn (T11930). Spawning provisions a worktree, so\n* these state-changing endpoints get the same loopback / CSRF\n* belt-and-braces as the admin surface.\n*/\nvar GUARDED_PATH_PREFIXES = [\"/api/project\", \"/api/tasks\"];\n/** HTTP verbs treated as state-changing by the guard. */\nvar GUARDED_METHODS = new Set([\n\t\"POST\",\n\t\"PUT\",\n\t\"PATCH\",\n\t\"DELETE\"\n]);\n/** Does this pathname fall under a guarded mutation prefix? */\nfunction isGuardedPath(pathname) {\n\treturn GUARDED_PATH_PREFIXES.some((prefix) => pathname.startsWith(prefix));\n}\nvar handle = async ({ event, resolve }) => {\n\tconst activeId = getActiveProjectId(event.cookies);\n\tconst ctx = activeId && resolveProjectContext(activeId) || resolveDefaultProjectContext();\n\tevent.locals.projectCtx = ctx;\n\trefreshCsrfToken(event.cookies);\n\tif (isGuardedPath(event.url.pathname) && GUARDED_METHODS.has(event.request.method.toUpperCase())) {\n\t\tif (!isSameOriginRequest(event.request)) return json({\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\tcode: \"E_CROSS_ORIGIN\",\n\t\t\t\tmessage: \"Admin mutations require a same-origin request.\"\n\t\t\t}\n\t\t}, { status: 403 });\n\t}\n\treturn resolve(event);\n};\n//#endregion\nexport { handle };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-CRTZe306.js","sources":["../../../.svelte-kit/adapter-node/chunks/http.js"],"sourcesContent":["import { Cr as OPERATIONS$1 } from \"./dist2.js\";\nimport \"./dist4.js\";\nimport \"crypto\";\nimport { delimiter } from \"path\";\n//#region ../runtime/dist/chunk-L5BLVQDA.js\nvar OPERATIONS = OPERATIONS$1;\nfunction getCounts() {\n\treturn {\n\t\tquery: OPERATIONS.filter((o) => o.gateway === \"query\").length,\n\t\tmutate: OPERATIONS.filter((o) => o.gateway === \"mutate\").length,\n\t\ttotal: OPERATIONS.length\n\t};\n}\nvar counts = getCounts();\nif (counts.total !== OPERATIONS.length) console.warn(`[Registry] Operation count mismatch: total=${counts.total}, registry=${OPERATIONS.length}`);\n//#endregion\n//#region ../runtime/dist/chunk-U2ESNIJ5.js\nvar LF = \"\\n\";\nvar RECORD_END = \"\\n\\n\";\nfunction encodeSseFrame(frame) {\n\tlet out = \"\";\n\tif (frame.event !== void 0) out += `event: ${frame.event}${LF}`;\n\tif (frame.id !== void 0) out += `id: ${frame.id}${LF}`;\n\tout += `data: ${JSON.stringify(frame.data)}${RECORD_END}`;\n\treturn out;\n}\nfunction encodeStreamEvent(frame) {\n\treturn encodeSseFrame({\n\t\tid: String(frame.seq),\n\t\tdata: frame\n\t});\n}\nvar SSE_HEADERS = Object.freeze({\n\t\"Content-Type\": \"text/event-stream\",\n\t\"Cache-Control\": \"no-cache\",\n\tConnection: \"keep-alive\",\n\t\"X-Accel-Buffering\": \"no\"\n});\nfunction createSseStream(source, signal) {\n\tconst encoder = new TextEncoder();\n\treturn new ReadableStream({ start(controller) {\n\t\tlet closed = false;\n\t\tlet teardown;\n\t\tlet teardownDone = false;\n\t\tlet sourceRunning = false;\n\t\tconst onAbort = () => emitter.close();\n\t\tconst runTeardown = () => {\n\t\t\tif (teardownDone) return;\n\t\t\tteardownDone = true;\n\t\t\tif (typeof teardown === \"function\") teardown();\n\t\t};\n\t\tconst emitter = {\n\t\t\tget closed() {\n\t\t\t\treturn closed;\n\t\t\t},\n\t\t\tsend(frame) {\n\t\t\t\tif (closed) return;\n\t\t\t\ttry {\n\t\t\t\t\tcontroller.enqueue(encoder.encode(encodeSseFrame(frame)));\n\t\t\t\t} catch {\n\t\t\t\t\temitter.close();\n\t\t\t\t}\n\t\t\t},\n\t\t\tsendStreamEvent(frame) {\n\t\t\t\tif (closed) return;\n\t\t\t\ttry {\n\t\t\t\t\tcontroller.enqueue(encoder.encode(encodeStreamEvent(frame)));\n\t\t\t\t} catch {\n\t\t\t\t\temitter.close();\n\t\t\t\t}\n\t\t\t},\n\t\t\tsendRaw(record) {\n\t\t\t\tif (closed) return;\n\t\t\t\ttry {\n\t\t\t\t\tcontroller.enqueue(encoder.encode(record));\n\t\t\t\t} catch {\n\t\t\t\t\temitter.close();\n\t\t\t\t}\n\t\t\t},\n\t\t\tclose() {\n\t\t\t\tif (closed) return;\n\t\t\t\tclosed = true;\n\t\t\t\tif (signal) signal.removeEventListener(\"abort\", onAbort);\n\t\t\t\tif (!sourceRunning) runTeardown();\n\t\t\t\ttry {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t};\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\tclosed = true;\n\t\t\t\tteardownDone = true;\n\t\t\t\ttry {\n\t\t\t\t\tcontroller.close();\n\t\t\t\t} catch {}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsignal.addEventListener(\"abort\", onAbort);\n\t\t}\n\t\tsourceRunning = true;\n\t\tconst returned = source(emitter);\n\t\tteardown = typeof returned === \"function\" ? returned : void 0;\n\t\tsourceRunning = false;\n\t\tif (closed) runTeardown();\n\t} });\n}\n[\n\t\"/usr/local/sbin\",\n\t\"/usr/local/bin\",\n\t\"/usr/sbin\",\n\t\"/usr/bin\",\n\t\"/sbin\",\n\t\"/bin\"\n].join(delimiter);\n//#endregion\nexport { encodeStreamEvent as i, createSseStream as n, encodeSseFrame as r, SSE_HEADERS as t };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity-DRpurt56.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity2-DeAB5RXE.js","sources":["../../../.svelte-kit/adapter-node/chunks/identity2.js"],"sourcesContent":["import \"./dist.js\";\nimport { join, resolve } from \"node:path\";\nimport { execFile } from \"node:child_process\";\nimport { createHash } from \"node:crypto\";\nimport { readFile } from \"node:fs/promises\";\nimport { promisify } from \"node:util\";\n//#region ../core/dist/nexus/identity.js\n/**\n* Canonical project identity computation (T9149 — W5 N1 Epsilon-unique insight).\n*\n* Addresses the 80,969-row pollution from cross-provider mount-path divergence\n* (e.g. /mnt/projects/cleocode vs /workspace/cleocode both hashing to different\n* base64url(path) IDs for the same repo).\n*\n* `canonicalProjectId` anchors identity to git-root + realpath so container\n* bind-mounts, CI clones, and developer laptops all produce the same ID.\n*\n* @task T9149\n* @module nexus/identity\n*/\nvar execFileAsync = promisify(execFile);\n/**\n* Find the git root for a given directory using `git rev-parse --show-toplevel`.\n*\n* Returns `null` if the directory is not inside a git repo (non-fatal: allows\n* use outside git repos).\n*/\nasync function findGitRoot(fromPath) {\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"git\", [\"rev-parse\", \"--show-toplevel\"], { cwd: resolve(fromPath) });\n\t\treturn resolve(stdout.trim());\n\t} catch {\n\t\treturn null;\n\t}\n}\n/**\n* Find the primary git remote URL (origin fetch URL).\n*\n* Returns `null` when there are no remotes or git is unavailable.\n*/\nasync function findGitRemoteUrl(fromPath) {\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"git\", [\n\t\t\t\"remote\",\n\t\t\t\"get-url\",\n\t\t\t\"origin\"\n\t\t], { cwd: resolve(fromPath) });\n\t\treturn stdout.trim() || null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n/**\n* Read the project name from `.cleo/project-info.json` (if present).\n* Non-fatal on any I/O or parse error.\n*/\nasync function readProjectInfoName(repoRoot) {\n\ttry {\n\t\tconst raw = await readFile(join(repoRoot, \".cleo\", \"project-info.json\"), \"utf8\");\n\t\tconst parsed = JSON.parse(raw);\n\t\treturn (typeof parsed.name === \"string\" ? parsed.name : void 0) || void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\n/**\n* Compute the canonical project ID for a given repository path.\n*\n* Algorithm:\n* 1. Resolve `repoPath` to its `realpath` (resolves symlinks, normalises mounts).\n* 2. Detect the git root via `git rev-parse --show-toplevel` (falls back to realpath).\n* 3. Read `.cleo/project-info.json` name (optional).\n* 4. Read `git remote get-url origin` (optional).\n* 5. SHA-256 of `<gitRoot>|<projectName>|<remoteUrl>`, first 12 hex chars.\n*\n* This ensures `/mnt/projects/cleocode` and `/workspace/cleocode` (same git root,\n* same remote) produce the same ID — resolving the 80,969-row pollution vector.\n*\n* @param repoPath - Absolute path to the project root (may be a symlink or bind-mount).\n* @returns The canonical project ID result with components and hash.\n*\n* @task T9149\n*/\nasync function canonicalProjectId(repoPath) {\n\tconst realRepoPath = resolve(repoPath);\n\tconst [gitRoot, remoteUrl, projectName] = await Promise.all([\n\t\tfindGitRoot(realRepoPath),\n\t\tfindGitRemoteUrl(realRepoPath),\n\t\t(async () => {\n\t\t\tconst gr = await findGitRoot(realRepoPath);\n\t\t\treturn gr ? readProjectInfoName(gr) : readProjectInfoName(realRepoPath);\n\t\t})()\n\t]);\n\tconst effectiveRoot = gitRoot ?? realRepoPath;\n\tconst fingerprint = [\n\t\teffectiveRoot,\n\t\tprojectName ?? \"\",\n\t\tremoteUrl ?? \"\"\n\t].join(\"|\");\n\treturn {\n\t\tid: createHash(\"sha256\").update(fingerprint).digest(\"hex\").substring(0, 12),\n\t\tcomponents: {\n\t\t\tgitRoot: effectiveRoot,\n\t\t\t...projectName !== void 0 && { projectName },\n\t\t\t...remoteUrl != null && { remoteUrl }\n\t\t}\n\t};\n}\n//#endregion\nexport { findGitRemoteUrl as n, findGitRoot as r, canonicalProjectId as t };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-61916rmV.js","sources":["../../../../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/cjs/signals.js","../../../../../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/cjs/index.js","../../../../../node_modules/.pnpm/write-file-atomic@7.0.1/node_modules/write-file-atomic/lib/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.signals = void 0;\n/**\n * This is not the set of all possible signals.\n *\n * It IS, however, the set of all signals that trigger\n * an exit on either Linux or BSD systems. Linux is a\n * superset of the signal names supported on BSD, and\n * the unknown signals just fail to register, so we can\n * catch that easily enough.\n *\n * Windows signals are a different set, since there are\n * signals that terminate Windows processes, but don't\n * terminate (or don't even exist) on Posix systems.\n *\n * Don't bother with SIGKILL. It's uncatchable, which\n * means that we can't fire any callbacks anyway.\n *\n * If a user does happen to register a handler on a non-\n * fatal signal like SIGWINCH or something, and then\n * exit, it'll end up firing `process.emit('exit')`, so\n * the handler will be fired anyway.\n *\n * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n * artificially, inherently leave the process in a\n * state from which it is not safe to try and enter JS\n * listeners.\n */\nexports.signals = [];\nexports.signals.push('SIGHUP', 'SIGINT', 'SIGTERM');\nif (process.platform !== 'win32') {\n exports.signals.push('SIGALRM', 'SIGABRT', 'SIGVTALRM', 'SIGXCPU', 'SIGXFSZ', 'SIGUSR2', 'SIGTRAP', 'SIGSYS', 'SIGQUIT', 'SIGIOT'\n // should detect profiler and enable/disable accordingly.\n // see #21\n // 'SIGPROF'\n );\n}\nif (process.platform === 'linux') {\n exports.signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT');\n}\n//# sourceMappingURL=signals.js.map","\"use strict\";\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unload = exports.load = exports.onExit = exports.signals = void 0;\n// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nconst signals_js_1 = require(\"./signals.js\");\nObject.defineProperty(exports, \"signals\", { enumerable: true, get: function () { return signals_js_1.signals; } });\nconst processOk = (process) => !!process &&\n typeof process === 'object' &&\n typeof process.removeListener === 'function' &&\n typeof process.emit === 'function' &&\n typeof process.reallyExit === 'function' &&\n typeof process.listeners === 'function' &&\n typeof process.kill === 'function' &&\n typeof process.pid === 'number' &&\n typeof process.on === 'function';\nconst kExitEmitter = Symbol.for('signal-exit emitter');\nconst global = globalThis;\nconst ObjectDefineProperty = Object.defineProperty.bind(Object);\n// teeny special purpose ee\nclass Emitter {\n emitted = {\n afterExit: false,\n exit: false,\n };\n listeners = {\n afterExit: [],\n exit: [],\n };\n count = 0;\n id = Math.random();\n constructor() {\n if (global[kExitEmitter]) {\n return global[kExitEmitter];\n }\n ObjectDefineProperty(global, kExitEmitter, {\n value: this,\n writable: false,\n enumerable: false,\n configurable: false,\n });\n }\n on(ev, fn) {\n this.listeners[ev].push(fn);\n }\n removeListener(ev, fn) {\n const list = this.listeners[ev];\n const i = list.indexOf(fn);\n /* c8 ignore start */\n if (i === -1) {\n return;\n }\n /* c8 ignore stop */\n if (i === 0 && list.length === 1) {\n list.length = 0;\n }\n else {\n list.splice(i, 1);\n }\n }\n emit(ev, code, signal) {\n if (this.emitted[ev]) {\n return false;\n }\n this.emitted[ev] = true;\n let ret = false;\n for (const fn of this.listeners[ev]) {\n ret = fn(code, signal) === true || ret;\n }\n if (ev === 'exit') {\n ret = this.emit('afterExit', code, signal) || ret;\n }\n return ret;\n }\n}\nclass SignalExitBase {\n}\nconst signalExitWrap = (handler) => {\n return {\n onExit(cb, opts) {\n return handler.onExit(cb, opts);\n },\n load() {\n return handler.load();\n },\n unload() {\n return handler.unload();\n },\n };\n};\nclass SignalExitFallback extends SignalExitBase {\n onExit() {\n return () => { };\n }\n load() { }\n unload() { }\n}\nclass SignalExit extends SignalExitBase {\n // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n // so use a supported signal instead\n /* c8 ignore start */\n #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP';\n /* c8 ignore stop */\n #emitter = new Emitter();\n #process;\n #originalProcessEmit;\n #originalProcessReallyExit;\n #sigListeners = {};\n #loaded = false;\n constructor(process) {\n super();\n this.#process = process;\n // { <signal>: <listener fn>, ... }\n this.#sigListeners = {};\n for (const sig of signals_js_1.signals) {\n this.#sigListeners[sig] = () => {\n // If there are no other listeners, an exit is coming!\n // Simplest way: remove us and then re-send the signal.\n // We know that this will kill the process, so we can\n // safely emit now.\n const listeners = this.#process.listeners(sig);\n let { count } = this.#emitter;\n // This is a workaround for the fact that signal-exit v3 and signal\n // exit v4 are not aware of each other, and each will attempt to let\n // the other handle it, so neither of them do. To correct this, we\n // detect if we're the only handler *except* for previous versions\n // of signal-exit, and increment by the count of listeners it has\n // created.\n /* c8 ignore start */\n const p = process;\n if (typeof p.__signal_exit_emitter__ === 'object' &&\n typeof p.__signal_exit_emitter__.count === 'number') {\n count += p.__signal_exit_emitter__.count;\n }\n /* c8 ignore stop */\n if (listeners.length === count) {\n this.unload();\n const ret = this.#emitter.emit('exit', null, sig);\n /* c8 ignore start */\n const s = sig === 'SIGHUP' ? this.#hupSig : sig;\n if (!ret)\n process.kill(process.pid, s);\n /* c8 ignore stop */\n }\n };\n }\n this.#originalProcessReallyExit = process.reallyExit;\n this.#originalProcessEmit = process.emit;\n }\n onExit(cb, opts) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return () => { };\n }\n /* c8 ignore stop */\n if (this.#loaded === false) {\n this.load();\n }\n const ev = opts?.alwaysLast ? 'afterExit' : 'exit';\n this.#emitter.on(ev, cb);\n return () => {\n this.#emitter.removeListener(ev, cb);\n if (this.#emitter.listeners['exit'].length === 0 &&\n this.#emitter.listeners['afterExit'].length === 0) {\n this.unload();\n }\n };\n }\n load() {\n if (this.#loaded) {\n return;\n }\n this.#loaded = true;\n // This is the number of onSignalExit's that are in play.\n // It's important so that we can count the correct number of\n // listeners on signals, and don't wait for the other one to\n // handle it instead of us.\n this.#emitter.count += 1;\n for (const sig of signals_js_1.signals) {\n try {\n const fn = this.#sigListeners[sig];\n if (fn)\n this.#process.on(sig, fn);\n }\n catch (_) { }\n }\n this.#process.emit = (ev, ...a) => {\n return this.#processEmit(ev, ...a);\n };\n this.#process.reallyExit = (code) => {\n return this.#processReallyExit(code);\n };\n }\n unload() {\n if (!this.#loaded) {\n return;\n }\n this.#loaded = false;\n signals_js_1.signals.forEach(sig => {\n const listener = this.#sigListeners[sig];\n /* c8 ignore start */\n if (!listener) {\n throw new Error('Listener not defined for signal: ' + sig);\n }\n /* c8 ignore stop */\n try {\n this.#process.removeListener(sig, listener);\n /* c8 ignore start */\n }\n catch (_) { }\n /* c8 ignore stop */\n });\n this.#process.emit = this.#originalProcessEmit;\n this.#process.reallyExit = this.#originalProcessReallyExit;\n this.#emitter.count -= 1;\n }\n #processReallyExit(code) {\n /* c8 ignore start */\n if (!processOk(this.#process)) {\n return 0;\n }\n this.#process.exitCode = code || 0;\n /* c8 ignore stop */\n this.#emitter.emit('exit', this.#process.exitCode, null);\n return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);\n }\n #processEmit(ev, ...args) {\n const og = this.#originalProcessEmit;\n if (ev === 'exit' && processOk(this.#process)) {\n if (typeof args[0] === 'number') {\n this.#process.exitCode = args[0];\n /* c8 ignore start */\n }\n /* c8 ignore start */\n const ret = og.call(this.#process, ev, ...args);\n /* c8 ignore start */\n this.#emitter.emit('exit', this.#process.exitCode, null);\n /* c8 ignore stop */\n return ret;\n }\n else {\n return og.call(this.#process, ev, ...args);\n }\n }\n}\nconst process = globalThis.process;\n// wrap so that we call the method on the actual handler, without\n// exporting it directly.\n_a = signalExitWrap(processOk(process) ? new SignalExit(process) : new SignalExitFallback()), \n/**\n * Called when the process is exiting, whether via signal, explicit\n * exit, or running out of stuff to do.\n *\n * If the global process object is not suitable for instrumentation,\n * then this will be a no-op.\n *\n * Returns a function that may be used to unload signal-exit.\n */\nexports.onExit = _a.onExit, \n/**\n * Load the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nexports.load = _a.load, \n/**\n * Unload the listeners. Likely you never need to call this, unless\n * doing a rather deep integration with signal-exit functionality.\n * Mostly exposed for the benefit of testing.\n *\n * @internal\n */\nexports.unload = _a.unload;\n//# sourceMappingURL=index.js.map","'use strict'\nmodule.exports = writeFile\nmodule.exports.sync = writeFileSync\nmodule.exports._getTmpname = getTmpname // for testing\nmodule.exports._cleanupOnExit = cleanupOnExit\n\nconst fs = require('fs')\nconst crypto = require('node:crypto')\nconst { onExit } = require('signal-exit')\nconst path = require('path')\nconst { promisify } = require('util')\nconst activeFiles = {}\n\n// if we run inside of a worker_thread, `process.pid` is not unique\n/* istanbul ignore next */\nconst threadId = (function getId () {\n try {\n const workerThreads = require('worker_threads')\n\n /// if we are in main thread, this is set to `0`\n return workerThreads.threadId\n } catch (e) {\n // worker_threads are not available, fallback to 0\n return 0\n }\n})()\n\nlet invocations = 0\nfunction getTmpname (filename) {\n return filename + '.' +\n crypto.createHash('sha1')\n .update(__filename)\n .update(String(process.pid))\n .update(String(threadId))\n .update(String(++invocations))\n .digest()\n .readUInt32BE(0)\n}\n\nfunction cleanupOnExit (tmpfile) {\n return () => {\n try {\n fs.unlinkSync(typeof tmpfile === 'function' ? tmpfile() : tmpfile)\n } catch {\n // ignore errors\n }\n }\n}\n\nfunction serializeActiveFile (absoluteName) {\n return new Promise(resolve => {\n // make a queue if it doesn't already exist\n if (!activeFiles[absoluteName]) {\n activeFiles[absoluteName] = []\n }\n\n activeFiles[absoluteName].push(resolve) // add this job to the queue\n if (activeFiles[absoluteName].length === 1) {\n resolve()\n } // kick off the first one\n })\n}\n\n// https://github.com/isaacs/node-graceful-fs/blob/master/polyfills.js#L315-L342\nfunction isChownErrOk (err) {\n if (err.code === 'ENOSYS') {\n return true\n }\n\n const nonroot = !process.getuid || process.getuid() !== 0\n if (nonroot) {\n if (err.code === 'EINVAL' || err.code === 'EPERM') {\n return true\n }\n }\n\n return false\n}\n\nasync function writeFileAsync (filename, data, options = {}) {\n if (typeof options === 'string') {\n options = { encoding: options }\n }\n\n let fd\n let tmpfile\n /* istanbul ignore next -- The closure only gets called when onExit triggers */\n const removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile))\n const absoluteName = path.resolve(filename)\n\n try {\n await serializeActiveFile(absoluteName)\n const truename = await promisify(fs.realpath)(filename).catch(() => filename)\n tmpfile = getTmpname(truename)\n\n if (!options.mode || !options.chown) {\n // Either mode or chown is not explicitly set\n // Default behavior is to copy it from original file\n const stats = await promisify(fs.stat)(truename).catch(() => {})\n if (stats) {\n if (options.mode == null) {\n options.mode = stats.mode\n }\n\n if (options.chown == null && process.getuid) {\n options.chown = { uid: stats.uid, gid: stats.gid }\n }\n }\n }\n\n fd = await promisify(fs.open)(tmpfile, 'w', options.mode)\n if (options.tmpfileCreated) {\n await options.tmpfileCreated(tmpfile)\n }\n if (ArrayBuffer.isView(data)) {\n await promisify(fs.write)(fd, data, 0, data.length, 0)\n } else if (data != null) {\n await promisify(fs.write)(fd, String(data), 0, String(options.encoding || 'utf8'))\n }\n\n if (options.fsync !== false) {\n await promisify(fs.fsync)(fd)\n }\n\n await promisify(fs.close)(fd)\n fd = null\n\n if (options.chown) {\n await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid).catch(err => {\n if (!isChownErrOk(err)) {\n throw err\n }\n })\n }\n\n if (options.mode) {\n await promisify(fs.chmod)(tmpfile, options.mode).catch(err => {\n if (!isChownErrOk(err)) {\n throw err\n }\n })\n }\n\n await promisify(fs.rename)(tmpfile, truename)\n } finally {\n if (fd) {\n await promisify(fs.close)(fd).catch(\n /* istanbul ignore next */\n () => {}\n )\n }\n removeOnExitHandler()\n await promisify(fs.unlink)(tmpfile).catch(() => {})\n activeFiles[absoluteName].shift() // remove the element added by serializeSameFile\n if (activeFiles[absoluteName].length > 0) {\n activeFiles[absoluteName][0]() // start next job if one is pending\n } else {\n delete activeFiles[absoluteName]\n }\n }\n}\n\nasync function writeFile (filename, data, options, callback) {\n if (options instanceof Function) {\n callback = options\n options = {}\n }\n\n const promise = writeFileAsync(filename, data, options)\n if (callback) {\n try {\n const result = await promise\n return callback(result)\n } catch (err) {\n return callback(err)\n }\n }\n\n return promise\n}\n\nfunction writeFileSync (filename, data, options) {\n if (typeof options === 'string') {\n options = { encoding: options }\n } else if (!options) {\n options = {}\n }\n try {\n filename = fs.realpathSync(filename)\n } catch (ex) {\n // it's ok, it'll happen on a not yet existing file\n }\n const tmpfile = getTmpname(filename)\n\n if (!options.mode || !options.chown) {\n // Either mode or chown is not explicitly set\n // Default behavior is to copy it from original file\n try {\n const stats = fs.statSync(filename)\n options = Object.assign({}, options)\n if (!options.mode) {\n options.mode = stats.mode\n }\n if (!options.chown && process.getuid) {\n options.chown = { uid: stats.uid, gid: stats.gid }\n }\n } catch (ex) {\n // ignore stat errors\n }\n }\n\n let fd\n const cleanup = cleanupOnExit(tmpfile)\n const removeOnExitHandler = onExit(cleanup)\n\n let threw = true\n try {\n fd = fs.openSync(tmpfile, 'w', options.mode || 0o666)\n if (options.tmpfileCreated) {\n options.tmpfileCreated(tmpfile)\n }\n if (ArrayBuffer.isView(data)) {\n fs.writeSync(fd, data, 0, data.length, 0)\n } else if (data != null) {\n fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8'))\n }\n if (options.fsync !== false) {\n fs.fsyncSync(fd)\n }\n\n fs.closeSync(fd)\n fd = null\n\n if (options.chown) {\n try {\n fs.chownSync(tmpfile, options.chown.uid, options.chown.gid)\n } catch (err) {\n if (!isChownErrOk(err)) {\n throw err\n }\n }\n }\n\n if (options.mode) {\n try {\n fs.chmodSync(tmpfile, options.mode)\n } catch (err) {\n if (!isChownErrOk(err)) {\n throw err\n }\n }\n }\n\n fs.renameSync(tmpfile, filename)\n threw = false\n } finally {\n if (fd) {\n try {\n fs.closeSync(fd)\n } catch (ex) {\n // ignore close errors at this stage, error may have closed fd already.\n }\n }\n removeOnExitHandler()\n if (threw) {\n cleanup()\n }\n }\n}\n"],"names":["exports","require$$0","libModule","crypto","require$$1","require$$2","path","require$$3"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DAgVDouG.js","sources":["../../../../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_@opentelemetry+api@1.9.0_@sinclair+typebox@0.34.49_@types+mssql@_b4e81f2ea693a7363d3e5dc2205249c6/node_modules/drizzle-orm/sql/functions/aggregate.js","../../../../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_@opentelemetry+api@1.9.0_@sinclair+typebox@0.34.49_@types+mssql@_b4e81f2ea693a7363d3e5dc2205249c6/node_modules/drizzle-orm/sql/functions/vector.js"],"sourcesContent":["import { sql } from \"../sql.js\";\nimport { is } from \"../../entity.js\";\nimport { Column } from \"../../column.js\";\n\n//#region src/sql/functions/aggregate.ts\n/**\n* Returns the number of values in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // Number employees with null values\n* db.select({ value: count() }).from(employees)\n* // Number of employees where `name` is not null\n* db.select({ value: count(employees.name) }).from(employees)\n* ```\n*\n* @see countDistinct to get the number of non-duplicate values in `expression`\n*/\nfunction count(expression) {\n\treturn sql`count(${expression || sql.raw(\"*\")})`.mapWith(Number);\n}\n/**\n* Returns the number of non-duplicate values in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // Number of employees where `name` is distinct\n* db.select({ value: countDistinct(employees.name) }).from(employees)\n* ```\n*\n* @see count to get the number of values in `expression`, including duplicates\n*/\nfunction countDistinct(expression) {\n\treturn sql`count(distinct ${expression})`.mapWith(Number);\n}\n/**\n* Returns the average (arithmetic mean) of all non-null values in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // Average salary of an employee\n* db.select({ value: avg(employees.salary) }).from(employees)\n* ```\n*\n* @see avgDistinct to get the average of all non-null and non-duplicate values in `expression`\n*/\nfunction avg(expression) {\n\treturn sql`avg(${expression})`.mapWith(String);\n}\n/**\n* Returns the average (arithmetic mean) of all non-null and non-duplicate values in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // Average salary of an employee where `salary` is distinct\n* db.select({ value: avgDistinct(employees.salary) }).from(employees)\n* ```\n*\n* @see avg to get the average of all non-null values in `expression`, including duplicates\n*/\nfunction avgDistinct(expression) {\n\treturn sql`avg(distinct ${expression})`.mapWith(String);\n}\n/**\n* Returns the sum of all non-null values in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // Sum of every employee's salary\n* db.select({ value: sum(employees.salary) }).from(employees)\n* ```\n*\n* @see sumDistinct to get the sum of all non-null and non-duplicate values in `expression`\n*/\nfunction sum(expression) {\n\treturn sql`sum(${expression})`.mapWith(String);\n}\n/**\n* Returns the sum of all non-null and non-duplicate values in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // Sum of every employee's salary where `salary` is distinct (no duplicates)\n* db.select({ value: sumDistinct(employees.salary) }).from(employees)\n* ```\n*\n* @see sum to get the sum of all non-null values in `expression`, including duplicates\n*/\nfunction sumDistinct(expression) {\n\treturn sql`sum(distinct ${expression})`.mapWith(String);\n}\n/**\n* Returns the maximum value in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // The employee with the highest salary\n* db.select({ value: max(employees.salary) }).from(employees)\n* ```\n*/\nfunction max(expression) {\n\treturn sql`max(${expression})`.mapWith(is(expression, Column) ? expression : String);\n}\n/**\n* Returns the minimum value in `expression`.\n*\n* ## Examples\n*\n* ```ts\n* // The employee with the lowest salary\n* db.select({ value: min(employees.salary) }).from(employees)\n* ```\n*/\nfunction min(expression) {\n\treturn sql`min(${expression})`.mapWith(is(expression, Column) ? expression : String);\n}\n\n//#endregion\nexport { avg, avgDistinct, count, countDistinct, max, min, sum, sumDistinct };\n//# sourceMappingURL=aggregate.js.map","import { sql } from \"../sql.js\";\n\n//#region src/sql/functions/vector.ts\nfunction toSql(value) {\n\treturn JSON.stringify(value);\n}\n/**\n* Used in sorting and in querying, if used in sorting,\n* this specifies that the given column or expression should be sorted in an order\n* that minimizes the L2 distance to the given value.\n* If used in querying, this specifies that it should return the L2 distance\n* between the given column or expression and the given value.\n*\n* ## Examples\n*\n* ```ts\n* // Sort cars by embedding similarity\n* // to the given embedding\n* db.select().from(cars)\n* .orderBy(l2Distance(cars.embedding, embedding));\n* ```\n*\n* ```ts\n* // Select distance of cars and embedding\n* // to the given embedding\n* db.select({distance: l2Distance(cars.embedding, embedding)}).from(cars)\n* ```\n*/\nfunction l2Distance(column, value) {\n\tif (Array.isArray(value)) return sql`${column} <-> ${toSql(value)}`;\n\treturn sql`${column} <-> ${value}`;\n}\n/**\n* L1 distance is one of the possible distance measures between two probability distribution vectors and it is\n* calculated as the sum of the absolute differences.\n* The smaller the distance between the observed probability vectors, the higher the accuracy of the synthetic data\n*\n* ## Examples\n*\n* ```ts\n* // Sort cars by embedding similarity\n* // to the given embedding\n* db.select().from(cars)\n* .orderBy(l1Distance(cars.embedding, embedding));\n* ```\n*\n* ```ts\n* // Select distance of cars and embedding\n* // to the given embedding\n* db.select({distance: l1Distance(cars.embedding, embedding)}).from(cars)\n* ```\n*/\nfunction l1Distance(column, value) {\n\tif (Array.isArray(value)) return sql`${column} <+> ${toSql(value)}`;\n\treturn sql`${column} <+> ${value}`;\n}\n/**\n* Used in sorting and in querying, if used in sorting,\n* this specifies that the given column or expression should be sorted in an order\n* that minimizes the inner product distance to the given value.\n* If used in querying, this specifies that it should return the inner product distance\n* between the given column or expression and the given value.\n*\n* ## Examples\n*\n* ```ts\n* // Sort cars by embedding similarity\n* // to the given embedding\n* db.select().from(cars)\n* .orderBy(innerProduct(cars.embedding, embedding));\n* ```\n*\n* ```ts\n* // Select distance of cars and embedding\n* // to the given embedding\n* db.select({ distance: innerProduct(cars.embedding, embedding) }).from(cars)\n* ```\n*/\nfunction innerProduct(column, value) {\n\tif (Array.isArray(value)) return sql`${column} <#> ${toSql(value)}`;\n\treturn sql`${column} <#> ${value}`;\n}\n/**\n* Used in sorting and in querying, if used in sorting,\n* this specifies that the given column or expression should be sorted in an order\n* that minimizes the cosine distance to the given value.\n* If used in querying, this specifies that it should return the cosine distance\n* between the given column or expression and the given value.\n*\n* ## Examples\n*\n* ```ts\n* // Sort cars by embedding similarity\n* // to the given embedding\n* db.select().from(cars)\n* .orderBy(cosineDistance(cars.embedding, embedding));\n* ```\n*\n* ```ts\n* // Select distance of cars and embedding\n* // to the given embedding\n* db.select({distance: cosineDistance(cars.embedding, embedding)}).from(cars)\n* ```\n*/\nfunction cosineDistance(column, value) {\n\tif (Array.isArray(value)) return sql`${column} <=> ${toSql(value)}`;\n\treturn sql`${column} <=> ${value}`;\n}\n/**\n* Hamming distance between two strings or vectors of equal length is the number of positions at which the\n* corresponding symbols are different. In other words, it measures the minimum number of\n* substitutions required to change one string into the other, or equivalently,\n* the minimum number of errors that could have transformed one string into the other\n*\n* ## Examples\n*\n* ```ts\n* // Sort cars by embedding similarity\n* // to the given embedding\n* db.select().from(cars)\n* .orderBy(hammingDistance(cars.embedding, embedding));\n* ```\n*/\nfunction hammingDistance(column, value) {\n\tif (Array.isArray(value)) return sql`${column} <~> ${toSql(value)}`;\n\treturn sql`${column} <~> ${value}`;\n}\n/**\n* ## Examples\n*\n* ```ts\n* // Sort cars by embedding similarity\n* // to the given embedding\n* db.select().from(cars)\n* .orderBy(jaccardDistance(cars.embedding, embedding));\n* ```\n*/\nfunction jaccardDistance(column, value) {\n\tif (Array.isArray(value)) return sql`${column} <%> ${toSql(value)}`;\n\treturn sql`${column} <%> ${value}`;\n}\n\n//#endregion\nexport { cosineDistance, hammingDistance, innerProduct, jaccardDistance, l1Distance, l2Distance };\n//# sourceMappingURL=vector.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}