@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.
- package/dist/cli/index.js +32 -3
- package/dist/cli/index.js.map +1 -1
- package/package.json +13 -13
- package/scripts/copy-studio-dist.mjs +97 -3
- package/studio-dist/client/_app/immutable/chunks/BGmpyfzD.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/{CKXdW4mW.js → DVHIxkgs.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{DrfFUIvQ.js → TX-23QW3.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{C7UP-KLT.js → eK8hf4s7.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.BwkUGH1B.js → app.BoQ7cgT2.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.Cg1v8DU4.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.DcUJW-xi.js → 0.CZzEEyVh.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.DyTt_cQs.js → 1.Bj3Opbua.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.LRqqoueS.js → 15.BfXgiwMC.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.-hGPNXOI.js → 16.mEwy9cqh.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.ChMxgTIY.js → 17.DP2QtQGn.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.B9zeITVb.js → 18.Bu0054sX.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.BHg5roNq.js → 20.B1AIHdkP.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.B_s9aY5m.js → 24.BUoUu37z.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.DZXkDxw_.js → 25.ddZ1_EFk.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{26.BBRbdwIG.js → 26.6OcmQbLV.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.DMYcrZeG.js → 3.Dyir4xXj.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-CM4iQVYP.js → 0-CvsKDxQ6.js} +3 -3
- package/studio-dist/server/chunks/{1-BQFD-dx6.js → 1-ck_x2Hf0.js} +3 -3
- package/studio-dist/server/chunks/{15-Cng10n82.js → 15-BvUNl3KL.js} +3 -3
- package/studio-dist/server/chunks/{16-u3KwU3N4.js → 16-De6EzPSa.js} +3 -3
- package/studio-dist/server/chunks/{17-BDtxQX9n.js → 17-CZNsiZhi.js} +3 -3
- package/studio-dist/server/chunks/{18-wwUoSO4F.js → 18-CbxxjZox.js} +3 -3
- package/studio-dist/server/chunks/{20-B-0CBvqY.js → 20-DVU22np7.js} +3 -3
- package/studio-dist/server/chunks/{24-BeVcofpU.js → 24-CVlymvLF.js} +3 -3
- package/studio-dist/server/chunks/{25-DIuzTPOu.js → 25-CAg6Xcmn.js} +3 -3
- package/studio-dist/server/chunks/{26-CY8x0KNI.js → 26-_nfVTvNi.js} +3 -3
- package/studio-dist/server/chunks/{3-p3RwD-FY.js → 3-B8KhfvHp.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-rswfOTDe.js → _layout.svelte-BEIGQcIv.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-DaYxqOUS.js → _page.svelte-2cgtvHwW.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BT1YF8j2.js → _page.svelte-9OQphlnm.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-CiIYIPG9.js → _page.svelte-BIlhmugm.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-C9twD2l1.js → _page.svelte-BgwL2Gyu.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DKVwBmIp.js → _page.svelte-C_VSL8NW.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-CHH1vmfg.js → _page.svelte-DOWw416I.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-D8NhlkPD.js → _page.svelte-Wfx7ww_h.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DZEnHo1L.js → _page.svelte-l4Z_xjl9.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DmTXiXKT.js → _page.svelte-tYN7_LXI.js} +3 -3
- package/studio-dist/server/chunks/{client-ym-URLFs.js → client-CgX38JBu.js} +2 -2
- package/studio-dist/server/chunks/{error.svelte-Bt1EbBZe.js → error.svelte-CplNulnS.js} +3 -3
- package/studio-dist/server/chunks/{internal-D3i_4gCl.js → internal-D6eWgsHJ.js} +2 -2
- package/studio-dist/server/chunks/{stores-ByevKXL9.js → stores-5DmdjPCH.js} +2 -2
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/manifest.js +12 -12
- package/studio-dist/client/_app/immutable/assets/ort-wasm-simd-threaded.asyncify.BrebZMa_.wasm +0 -0
- package/studio-dist/client/_app/immutable/chunks/9yrFrmKZ.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.BcsID0Sf.js +0 -1
- package/studio-dist/server/chunks/0-CM4iQVYP.js.map +0 -1
- package/studio-dist/server/chunks/1-BQFD-dx6.js.map +0 -1
- package/studio-dist/server/chunks/10-DvOD4ksa.js.map +0 -1
- package/studio-dist/server/chunks/11-DMnBZ02H.js.map +0 -1
- package/studio-dist/server/chunks/12-CCyRyRWX.js.map +0 -1
- package/studio-dist/server/chunks/13-Dx1c3a_X.js.map +0 -1
- package/studio-dist/server/chunks/14-Bo-dTCaZ.js.map +0 -1
- package/studio-dist/server/chunks/15-Cng10n82.js.map +0 -1
- package/studio-dist/server/chunks/16-u3KwU3N4.js.map +0 -1
- package/studio-dist/server/chunks/17-BDtxQX9n.js.map +0 -1
- package/studio-dist/server/chunks/18-wwUoSO4F.js.map +0 -1
- package/studio-dist/server/chunks/19-DqHyladS.js.map +0 -1
- package/studio-dist/server/chunks/2-COvmA-ZA.js.map +0 -1
- package/studio-dist/server/chunks/20-B-0CBvqY.js.map +0 -1
- package/studio-dist/server/chunks/21-DXK9ptAC.js.map +0 -1
- package/studio-dist/server/chunks/22-DD5CLWJC.js.map +0 -1
- package/studio-dist/server/chunks/23-D_tUnnoc.js.map +0 -1
- package/studio-dist/server/chunks/24-BeVcofpU.js.map +0 -1
- package/studio-dist/server/chunks/25-DIuzTPOu.js.map +0 -1
- package/studio-dist/server/chunks/26-CY8x0KNI.js.map +0 -1
- package/studio-dist/server/chunks/27-C9edghG4.js.map +0 -1
- package/studio-dist/server/chunks/28-VemTJGyc.js.map +0 -1
- package/studio-dist/server/chunks/29-CXP-m29t.js.map +0 -1
- package/studio-dist/server/chunks/3-p3RwD-FY.js.map +0 -1
- package/studio-dist/server/chunks/30-QiM1S4cJ.js.map +0 -1
- package/studio-dist/server/chunks/31-BwdY9NnB.js.map +0 -1
- package/studio-dist/server/chunks/4-CSaG4HjO.js.map +0 -1
- package/studio-dist/server/chunks/5-i5ry4y3C.js.map +0 -1
- package/studio-dist/server/chunks/6-DR1GWBMT.js.map +0 -1
- package/studio-dist/server/chunks/7-DSNwn3aQ.js.map +0 -1
- package/studio-dist/server/chunks/8-Bj0bx07K.js.map +0 -1
- package/studio-dist/server/chunks/9-B3Tz0mZq.js.map +0 -1
- package/studio-dist/server/chunks/AwsRestJsonProtocol-BZuoNBmL.js.map +0 -1
- package/studio-dist/server/chunks/HeroHeader-v4Q9vaGr.js.map +0 -1
- package/studio-dist/server/chunks/Sparkline-BJ-GuhRd.js.map +0 -1
- package/studio-dist/server/chunks/StatBlock-DHJMmOCx.js.map +0 -1
- package/studio-dist/server/chunks/Tabs-DzG6Bn9a.js.map +0 -1
- package/studio-dist/server/chunks/UnionSerde-BflIkhKj.js.map +0 -1
- package/studio-dist/server/chunks/_dispatch-ncuRztUQ.js.map +0 -1
- package/studio-dist/server/chunks/_lafs-C3_fBF_X.js.map +0 -1
- package/studio-dist/server/chunks/_layout.svelte-rswfOTDe.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-BT1YF8j2.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-BVVTrzTL.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-BXyoMME1.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-B_pq-Z98.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-Byz2djto.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-C3aIui4o.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-C9twD2l1.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CCoTp89s.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CHH1vmfg.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CHzXuw2Q.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CYDjW1R0.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CiIYIPG9.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-Clbkk1gm.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CophUar3.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-D8NhlkPD.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-DKVwBmIp.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-DUWbZjC7.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-DYNorA0S.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-DZEnHo1L.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-DaYxqOUS.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-DmTXiXKT.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-EkXO_YfN.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-M5D2QnMS.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-UYiF7YBK.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-al08ovKm.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-bGhsrIjS.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-ksTJUXce.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-nzffIbBP.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-4NyKAneX.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-4p6cp9ke.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-7hGdxdEI.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-B2E7fxo9.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-B5g3eScF.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-B6b3b-yA.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-BOgGqaZp.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-BPcErnS0.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-BT0Uq2yq.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-BV1HiKZ0.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-BWp3g6Cr.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-BdN4AJ6o.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-Bfr4u3EP.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-Bw7A4zgb.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-C3Jo-ju8.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-C4BcDGqS.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-C5NF-UgC.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CDMurH5m.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CGiAXy5i.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CJA1djzJ.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-COJHCgbq.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CShsBkeE.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CUl-Utkt.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CboRJY0Q.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CkoJ2HCW.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-CpmMp5D8.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-Cq60m8Pw.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-Cz0zgaUV.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-D0GAFJRb.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DA6p3pmi.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DRVz9D-J.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DSAv66wD.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DSzRdt1U.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DThYFaZj.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DV6pzF-M.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-D_3Pm0gr.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DcHxdMsm.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DgbY5EB3.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-Dlfadh2I.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DnE0f-iC.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-Do9RIPRo.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-DwTRjS4y.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-JallJnps.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-NEFTbJpM.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-ZS1_yMwR.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-_RJXtmfi.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-d-2NvRwX.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-hL92cV7Z.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-k2fApwOp.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-lPlBUIJX.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-rUWMLkIw.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-sv4pA808.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-tKMjUFUP.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-uUx7uT2Y.js.map +0 -1
- package/studio-dist/server/chunks/_server.ts-ujoDR2_g.js.map +0 -1
- package/studio-dist/server/chunks/abort-events-CDRAJSqb.js.map +0 -1
- package/studio-dist/server/chunks/adapters-BkMgPNUM.js.map +0 -1
- package/studio-dist/server/chunks/adapters2-CQ3PzoaK.js.map +0 -1
- package/studio-dist/server/chunks/api-mode2-3W-I1-XO.js.map +0 -1
- package/studio-dist/server/chunks/api2-CmNQzb0b.js.map +0 -1
- package/studio-dist/server/chunks/attention-consolidate-CidG1jfH.js.map +0 -1
- package/studio-dist/server/chunks/audit-log-BXVi9iyE.js.map +0 -1
- package/studio-dist/server/chunks/audit3-DMO_fUGp.js.map +0 -1
- package/studio-dist/server/chunks/auto-extract-B84La1Vs.js.map +0 -1
- package/studio-dist/server/chunks/brain-CXR7ZT7S.js.map +0 -1
- package/studio-dist/server/chunks/brain-consolidator-JGm6mzFf.js.map +0 -1
- package/studio-dist/server/chunks/brain-doctor-Dc2WqVbs.js.map +0 -1
- package/studio-dist/server/chunks/brain-embedding-Djw9ekXu.js.map +0 -1
- package/studio-dist/server/chunks/brain-lifecycle-BOOa876K.js.map +0 -1
- package/studio-dist/server/chunks/brain-maintenance-U6VvsvmK.js.map +0 -1
- package/studio-dist/server/chunks/brain-maintenance2-CwVSmfDT.js.map +0 -1
- package/studio-dist/server/chunks/brain-retrieval2-exR8mdgh.js.map +0 -1
- package/studio-dist/server/chunks/brain-search-CpSh-SNi.js.map +0 -1
- package/studio-dist/server/chunks/brain-search2-CwI2cXgg.js.map +0 -1
- package/studio-dist/server/chunks/brain-similarity-DI4yzm9e.js.map +0 -1
- package/studio-dist/server/chunks/brain-stdp2-BxSBIlSr.js.map +0 -1
- package/studio-dist/server/chunks/brain-writer-handlers-Dwu0QCAA.js.map +0 -1
- package/studio-dist/server/chunks/brain-writer-thread-6n7wI7Gy.js.map +0 -1
- package/studio-dist/server/chunks/branch-lock-Cq7zzmFK.js.map +0 -1
- package/studio-dist/server/chunks/branch-lock2-CmDc4CZW.js.map +0 -1
- package/studio-dist/server/chunks/cancelled-child-waiver-audit-DkesrN83.js.map +0 -1
- package/studio-dist/server/chunks/catalog-model-resolver-Bas9qnoP.js.map +0 -1
- package/studio-dist/server/chunks/catalog-model-resolver2-Cexk2TN0.js.map +0 -1
- package/studio-dist/server/chunks/catalog-resolver-CLot3XJO.js.map +0 -1
- package/studio-dist/server/chunks/catalog-resolver2-JmKb91kY.js.map +0 -1
- package/studio-dist/server/chunks/chunk-DDP5xfzh.js.map +0 -1
- package/studio-dist/server/chunks/cleo-home-CCfe6kAQ.js.map +0 -1
- package/studio-dist/server/chunks/cli-action-DQcaqcfn.js.map +0 -1
- package/studio-dist/server/chunks/client-ym-URLFs.js.map +0 -1
- package/studio-dist/server/chunks/concrete-session2-bb_vxJ2N.js.map +0 -1
- package/studio-dist/server/chunks/config-DHj9CcFs.js.map +0 -1
- package/studio-dist/server/chunks/config2-F6PPIn7D.js.map +0 -1
- package/studio-dist/server/chunks/connections-BMGJVYcS.js.map +0 -1
- package/studio-dist/server/chunks/connections2-mi7mZqJM.js.map +0 -1
- package/studio-dist/server/chunks/credential-pool-vF6NdtT9.js.map +0 -1
- package/studio-dist/server/chunks/credentials-C7EJFf5O.js.map +0 -1
- package/studio-dist/server/chunks/credentials-store-CFygIuB2.js.map +0 -1
- package/studio-dist/server/chunks/cross-db-cleanup-1LWTUKPi.js.map +0 -1
- package/studio-dist/server/chunks/data-accessor-CWgVndbR.js.map +0 -1
- package/studio-dist/server/chunks/data-safety-central-DaFxK27G.js.map +0 -1
- package/studio-dist/server/chunks/decisions-CmVXV2-H.js.map +0 -1
- package/studio-dist/server/chunks/decisions2-XQsSYdxa.js.map +0 -1
- package/studio-dist/server/chunks/depends-waiver-audit-CUmlBYHx.js.map +0 -1
- package/studio-dist/server/chunks/dev-BNpEUZI3.js.map +0 -1
- package/studio-dist/server/chunks/dialectic-evaluator2-BOyyXhdI.js.map +0 -1
- package/studio-dist/server/chunks/dist-es2-DQy2Mjn_.js.map +0 -1
- package/studio-dist/server/chunks/dist-es3-CBygU4n5.js.map +0 -1
- package/studio-dist/server/chunks/dist-es4-CavbNu4B.js.map +0 -1
- package/studio-dist/server/chunks/dist-es5-Crpm8Wsl.js.map +0 -1
- package/studio-dist/server/chunks/dist-es6-CgePHzh4.js.map +0 -1
- package/studio-dist/server/chunks/dist-es7-k6c5GEd7.js.map +0 -1
- package/studio-dist/server/chunks/dist-es8-Bd9v0_pE.js.map +0 -1
- package/studio-dist/server/chunks/dist3-23bsJhRw.js.map +0 -1
- package/studio-dist/server/chunks/dist4-DmC1zSXi.js.map +0 -1
- package/studio-dist/server/chunks/dual-scope-db-DKnWu1KM.js.map +0 -1
- package/studio-dist/server/chunks/dual-scope-db2-Dht3luRw.js.map +0 -1
- package/studio-dist/server/chunks/duplicate-bypass-audit-BN5w1H2y.js.map +0 -1
- package/studio-dist/server/chunks/duplicate-detector-CaVFMKdE.js.map +0 -1
- package/studio-dist/server/chunks/edge-types-CgBvb0w1.js.map +0 -1
- package/studio-dist/server/chunks/embedding-local-xEnym8Ho.js.map +0 -1
- package/studio-dist/server/chunks/error.svelte-Bt1EbBZe.js.map +0 -1
- package/studio-dist/server/chunks/event-streams-Bi2p_fVo.js.map +0 -1
- package/studio-dist/server/chunks/execution-learning-BVCw7Plq.js.map +0 -1
- package/studio-dist/server/chunks/exodus-BBuuN6aA.js.map +0 -1
- package/studio-dist/server/chunks/explorer-loader-BN_mkt3_.js.map +0 -1
- package/studio-dist/server/chunks/externalDataInterceptor-C3C4cObe.js.map +0 -1
- package/studio-dist/server/chunks/extraction-gate-DDNBq7gu.js.map +0 -1
- package/studio-dist/server/chunks/extraction-gate2-D77EZBQ6.js.map +0 -1
- package/studio-dist/server/chunks/getSSOTokenFromFile-yZAJxDci.js.map +0 -1
- package/studio-dist/server/chunks/governor2-CtfV3wfX.js.map +0 -1
- package/studio-dist/server/chunks/graph-auto-populate-Dmsr9ZJM.js.map +0 -1
- package/studio-dist/server/chunks/graph-auto-populate2-Cz0qeebM.js.map +0 -1
- package/studio-dist/server/chunks/graph-memory-bridge-CY8ft_d7.js.map +0 -1
- package/studio-dist/server/chunks/graph-memory-bridge2-Cd0XZwqc.js.map +0 -1
- package/studio-dist/server/chunks/handler-helpers-AANBGA_p.js.map +0 -1
- package/studio-dist/server/chunks/hash-Cm6yMET4.js.map +0 -1
- package/studio-dist/server/chunks/health-monitor-FepUZN1m.js.map +0 -1
- package/studio-dist/server/chunks/hooks.server-DBsyphiX.js.map +0 -1
- package/studio-dist/server/chunks/http-CRTZe306.js.map +0 -1
- package/studio-dist/server/chunks/identity-DRpurt56.js.map +0 -1
- package/studio-dist/server/chunks/identity2-DeAB5RXE.js.map +0 -1
- package/studio-dist/server/chunks/index-61916rmV.js.map +0 -1
- package/studio-dist/server/chunks/index-DAgVDouG.js.map +0 -1
- package/studio-dist/server/chunks/index-Dtt_h58T.js.map +0 -1
- package/studio-dist/server/chunks/index-server-DocJvixA.js.map +0 -1
- package/studio-dist/server/chunks/indexes-DZ52grq6.js.map +0 -1
- package/studio-dist/server/chunks/internal-D3i_4gCl.js.map +0 -1
- package/studio-dist/server/chunks/json-Bfixam3g.js.map +0 -1
- package/studio-dist/server/chunks/lane-transition-lM2ngbbc.js.map +0 -1
- package/studio-dist/server/chunks/learnings-D6Y3YGMU.js.map +0 -1
- package/studio-dist/server/chunks/learnings2-MwBdR9vb.js.map +0 -1
- package/studio-dist/server/chunks/lifecycle-ops2-V2CR5-7X.js.map +0 -1
- package/studio-dist/server/chunks/list-BhObczvn.js.map +0 -1
- package/studio-dist/server/chunks/living-brain2-j0B_Ir8j.js.map +0 -1
- package/studio-dist/server/chunks/llm-backend-resolver-D4ANvUPL.js.map +0 -1
- package/studio-dist/server/chunks/llm-extraction-DVCu4heR.js.map +0 -1
- package/studio-dist/server/chunks/loadSharedConfigFiles-umvW7kuz.js.map +0 -1
- package/studio-dist/server/chunks/loadSso-iidd5iKx.js.map +0 -1
- package/studio-dist/server/chunks/local-model-fit-B0TxifnX.js.map +0 -1
- package/studio-dist/server/chunks/local-model-fit2-BMqo6GJm.js.map +0 -1
- package/studio-dist/server/chunks/lock-CA7d6lj7.js.map +0 -1
- package/studio-dist/server/chunks/logger-DQIoyZbq.js.map +0 -1
- package/studio-dist/server/chunks/memory-BUbicBbE.js.map +0 -1
- package/studio-dist/server/chunks/memory-accessor-i3P-RHSg.js.map +0 -1
- package/studio-dist/server/chunks/memory-accessor2-B981tHDR.js.map +0 -1
- package/studio-dist/server/chunks/memory-bridge-BOlEWg9w.js.map +0 -1
- package/studio-dist/server/chunks/memory-sqlite2-B7dq8doO.js.map +0 -1
- package/studio-dist/server/chunks/memory2-Cgc_4D5q.js.map +0 -1
- package/studio-dist/server/chunks/model-runner2-B71xjp4y.js.map +0 -1
- package/studio-dist/server/chunks/mvi-helpers-BNsJ8ZpQ.js.map +0 -1
- package/studio-dist/server/chunks/nexus-adapter-9EL_VlGI.js.map +0 -1
- package/studio-dist/server/chunks/nexus-plasticity-BTfU8cW_.js.map +0 -1
- package/studio-dist/server/chunks/nexus-risk-audit-p379-TU5.js.map +0 -1
- package/studio-dist/server/chunks/nexus-schema-zeygY8OD.js.map +0 -1
- package/studio-dist/server/chunks/nexus-schema2-DP0Qd7CA.js.map +0 -1
- package/studio-dist/server/chunks/nexus-sqlite-BVNIpwc7.js.map +0 -1
- package/studio-dist/server/chunks/nexus-sqlite2-BBfY2xnY.js.map +0 -1
- package/studio-dist/server/chunks/no-face-up-DcejJLy-.js.map +0 -1
- package/studio-dist/server/chunks/node-http-handler-CJI8kn7X.js.map +0 -1
- package/studio-dist/server/chunks/observe-Bo9veHGe.js.map +0 -1
- package/studio-dist/server/chunks/observe2-wzO0MaMY.js.map +0 -1
- package/studio-dist/server/chunks/observer-reflector-BwNOuq1d.js.map +0 -1
- package/studio-dist/server/chunks/observer-reflector2-ggtC1hmk.js.map +0 -1
- package/studio-dist/server/chunks/on-open-Wpcw7DV4.js.map +0 -1
- package/studio-dist/server/chunks/open-cleo-db--8sYNaYY.js.map +0 -1
- package/studio-dist/server/chunks/parseKnownFiles-Dg0pMFcT.js.map +0 -1
- package/studio-dist/server/chunks/parseUrl-qgGfl-Vh.js.map +0 -1
- package/studio-dist/server/chunks/paths-CV7S5-Zm.js.map +0 -1
- package/studio-dist/server/chunks/patterns-lh5kn13I.js.map +0 -1
- package/studio-dist/server/chunks/patterns2-CzIcT-ai.js.map +0 -1
- package/studio-dist/server/chunks/pipeline-stage-IB_pOft-.js.map +0 -1
- package/studio-dist/server/chunks/prediction-D1lSGJ4c.js.map +0 -1
- package/studio-dist/server/chunks/premature-close-audit-VG09uAco.js.map +0 -1
- package/studio-dist/server/chunks/project-context-BjiqfEBi.js.map +0 -1
- package/studio-dist/server/chunks/provider-registry2-Cu7rAF0R.js.map +0 -1
- package/studio-dist/server/chunks/quality-feedback-CuCGEI6S.js.map +0 -1
- package/studio-dist/server/chunks/quality-scoring-CCPuRQmJ.js.map +0 -1
- package/studio-dist/server/chunks/query-ops-DCrjbZb9.js.map +0 -1
- package/studio-dist/server/chunks/query-promise-BkPmGPJy.js.map +0 -1
- package/studio-dist/server/chunks/readFile-CxwXhymG.js.map +0 -1
- package/studio-dist/server/chunks/registry-CL2gN1zd.js.map +0 -1
- package/studio-dist/server/chunks/registry2-DoPYJnUW.js.map +0 -1
- package/studio-dist/server/chunks/registry3-BajEb-ll.js.map +0 -1
- package/studio-dist/server/chunks/registry4-DCqffZkT.js.map +0 -1
- package/studio-dist/server/chunks/retry-B3oEKYpp.js.map +0 -1
- package/studio-dist/server/chunks/role-executor-CC8BU54L.js.map +0 -1
- package/studio-dist/server/chunks/role-resolver-D9QaDT0e.js.map +0 -1
- package/studio-dist/server/chunks/role-resolver2-nkhzS1oy.js.map +0 -1
- package/studio-dist/server/chunks/rollup-CiefjN_Y.js.map +0 -1
- package/studio-dist/server/chunks/safety-data-accessor-CniDmGJO.js.map +0 -1
- package/studio-dist/server/chunks/service-connections-accessor-yBCdcgU-.js.map +0 -1
- package/studio-dist/server/chunks/session-factory-vbengc42.js.map +0 -1
- package/studio-dist/server/chunks/session-grade-BF4ZZtN_.js.map +0 -1
- package/studio-dist/server/chunks/session-journal-Bvey70Ur.js.map +0 -1
- package/studio-dist/server/chunks/session-narrative-BirZINSU.js.map +0 -1
- package/studio-dist/server/chunks/session-store--N_xHxUH.js.map +0 -1
- package/studio-dist/server/chunks/session-store2-DAM-eVTH.js.map +0 -1
- package/studio-dist/server/chunks/sessions-33DD4hkt.js.map +0 -1
- package/studio-dist/server/chunks/sessions2-BHswKRDP.js.map +0 -1
- package/studio-dist/server/chunks/sigil-B-RznFXz.js.map +0 -1
- package/studio-dist/server/chunks/sigil2-jRMG5DuR.js.map +0 -1
- package/studio-dist/server/chunks/signin-BAsW3mM8.js.map +0 -1
- package/studio-dist/server/chunks/sleep-consolidation-BnSwXrvq.js.map +0 -1
- package/studio-dist/server/chunks/spawn-cli-wI1lBJhm.js.map +0 -1
- package/studio-dist/server/chunks/specialists-B_ZbpQlK.js.map +0 -1
- package/studio-dist/server/chunks/sqlite-Bm5LzbPs.js.map +0 -1
- package/studio-dist/server/chunks/sqlite-backup-CFG1-b2e.js.map +0 -1
- package/studio-dist/server/chunks/sqlite-data-accessor-DD_RFX6r.js.map +0 -1
- package/studio-dist/server/chunks/sqlite-data-accessor2-CRmgNBnq.js.map +0 -1
- package/studio-dist/server/chunks/sqlite-native-BwlIqtbs.js.map +0 -1
- package/studio-dist/server/chunks/sqlite2-CUPut2fh.js.map +0 -1
- package/studio-dist/server/chunks/src-BUqGet2c.js.map +0 -1
- package/studio-dist/server/chunks/src2-DK8DKufK.js.map +0 -1
- package/studio-dist/server/chunks/src3-BJjf7XRG.js.map +0 -1
- package/studio-dist/server/chunks/src4-DNleK_t_.js.map +0 -1
- package/studio-dist/server/chunks/sso-oidc-eUvwseuL.js.map +0 -1
- package/studio-dist/server/chunks/storage-B9UA3BHR.js.map +0 -1
- package/studio-dist/server/chunks/stores-ByevKXL9.js.map +0 -1
- package/studio-dist/server/chunks/sts-g7LDMLEd.js.map +0 -1
- package/studio-dist/server/chunks/surprisal-CwTfWQi8.js.map +0 -1
- package/studio-dist/server/chunks/surprisal-tree-7dfHsuw1.js.map +0 -1
- package/studio-dist/server/chunks/system-resolver2-Bzhue_zQ.js.map +0 -1
- package/studio-dist/server/chunks/tasks-SHX7UPGY.js.map +0 -1
- package/studio-dist/server/chunks/tasks-schema2-CTMoQKQy.js.map +0 -1
- package/studio-dist/server/chunks/tasks2-Bf9VHrv-.js.map +0 -1
- package/studio-dist/server/chunks/temporal-supersession-DP4GPG_B.js.map +0 -1
- package/studio-dist/server/chunks/token-cAhAD9f9.js.map +0 -1
- package/studio-dist/server/chunks/token-util-D6drEz8_.js.map +0 -1
- package/studio-dist/server/chunks/token-util2-8UPSGvbb.js.map +0 -1
- package/studio-dist/server/chunks/transcript-scanner-kJWhWmlg.js.map +0 -1
- package/studio-dist/server/chunks/transformers.node-_xbxmK5p.js.map +0 -1
- package/studio-dist/server/chunks/typed-query-l1D_QElt.js.map +0 -1
- package/studio-dist/server/chunks/ui-DR8zOSpC.js.map +0 -1
- package/studio-dist/server/chunks/unique-constraint-BZrrwgwc.js.map +0 -1
- package/studio-dist/server/chunks/update-B2YVBZG0.js.map +0 -1
- package/studio-dist/server/chunks/user-profile-B61ZhVmC.js.map +0 -1
- package/studio-dist/server/chunks/utils-BPSZyajG.js.map +0 -1
- package/studio-dist/server/chunks/validation-rules-CE27rtoF.js.map +0 -1
- package/studio-dist/server/chunks/zod-DsAeKNLm.js.map +0 -1
- package/studio-dist/server/index.js.map +0 -1
- package/studio-dist/server/manifest.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-backup-CFG1-b2e.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-data-accessor-DD_RFX6r.js","sources":["../../../.svelte-kit/adapter-node/chunks/sqlite-data-accessor.js"],"sourcesContent":["import { t as getLogger } from \"./logger.js\";\nimport { At as TERMINAL_TASK_STATUSES } from \"./dist2.js\";\nimport { T as withWriteRetry } from \"./dual-scope-db.js\";\nimport { C as tasksSessions, D as tasksTaskRelations, E as tasksTaskDependencies, T as tasksTaskAcceptanceCriteriaHistory, _ as tasksEvidenceAcBindings, c as auditLog, k as tasksTasks, l as schemaMeta, v as tasksTaskLabels, w as tasksTaskAcceptanceCriteria } from \"./tasks-schema.js\";\nimport { a as getDb, i as closeDb, s as getNativeTasksDb } from \"./sqlite.js\";\nimport { _ as taskToRow, g as rowToTask, h as rowToSession, m as archivedTaskToRow, s as resolveCurrentSession } from \"./session-store.js\";\nimport { t as cleanupBrainRefsOnSessionDelete } from \"./cross-db-cleanup.js\";\nimport { and, eq, inArray, isNull, like, ne, notInArray, or, sql } from \"drizzle-orm\";\n//#region ../core/dist/store/db-helpers.js\n/**\n* Shared database helper functions for SQLite store modules.\n*\n* Consolidates upsert and dependency patterns used across\n* sqlite-data-accessor.ts, tasks-sqlite.ts, and session-store.ts.\n*\n* @epic T4454\n*/\nvar log = getLogger(\"db-helpers\");\n/**\n* Upsert a single task row into the tasks table.\n* Handles both active task upsert and archived task upsert via optional archiveFields.\n*\n* When `allowOrphanParent` is true (bulk/migration mode, T5034): silently nulls out\n* parentId if the referenced parent does not exist, preventing FK violations.\n* When false (normal single-task writes, default): logs a warning but still proceeds\n* so that FK enforcement at the DB level provides the final safety net.\n*\n* Callers that perform bulk imports or archive restoration should pass\n* `allowOrphanParent: true` to enable the lenient behavior.\n*/\nasync function upsertTask(db, row, archiveFields, allowOrphanParent = false) {\n\tif (row.parentId) {\n\t\tif ((await db.select({ id: tasksTasks.id }).from(tasksTasks).where(eq(tasksTasks.id, row.parentId)).limit(1).all()).length === 0) if (allowOrphanParent) row = {\n\t\t\t...row,\n\t\t\tparentId: null\n\t\t};\n\t\telse log.warn({\n\t\t\ttaskId: row.id,\n\t\t\tparentId: row.parentId\n\t\t}, \"upsertTask: parentId references a non-existent task — parent relationship may be lost\");\n\t}\n\tconst values = archiveFields ? {\n\t\t...row,\n\t\t...archiveFields,\n\t\tstatus: \"archived\"\n\t} : row;\n\tconst set = {\n\t\ttitle: row.title,\n\t\tdescription: row.description,\n\t\tstatus: archiveFields ? \"archived\" : row.status,\n\t\tpriority: row.priority,\n\t\ttype: row.type,\n\t\tkind: row.kind,\n\t\tscope: row.scope,\n\t\tseverity: row.severity,\n\t\tparentId: row.parentId,\n\t\tphase: row.phase,\n\t\tsize: row.size,\n\t\tposition: row.position,\n\t\tpositionVersion: row.positionVersion,\n\t\tlabelsJson: row.labelsJson,\n\t\tnotesJson: row.notesJson,\n\t\tacceptanceJson: row.acceptanceJson,\n\t\tfilesJson: row.filesJson,\n\t\torigin: row.origin,\n\t\tblockedBy: row.blockedBy,\n\t\tepicLifecycle: row.epicLifecycle,\n\t\tnoAutoComplete: row.noAutoComplete,\n\t\tcreatedAt: row.createdAt,\n\t\tupdatedAt: row.updatedAt,\n\t\tcompletedAt: row.completedAt,\n\t\tcancelledAt: row.cancelledAt,\n\t\tcancellationReason: row.cancellationReason,\n\t\tverificationJson: row.verificationJson,\n\t\tcreatedBy: row.createdBy,\n\t\tmodifiedBy: row.modifiedBy,\n\t\tsessionId: row.sessionId,\n\t\tpipelineStage: row.pipelineStage ?? null,\n\t\tassignee: row.assignee ?? null,\n\t\tarchivedAt: archiveFields?.archivedAt ?? null,\n\t\tarchiveReason: archiveFields?.archiveReason ?? null,\n\t\tcycleTimeDays: archiveFields?.cycleTimeDays ?? null\n\t};\n\tawait db.insert(tasksTasks).values(values).onConflictDoUpdate({\n\t\ttarget: tasksTasks.id,\n\t\tset\n\t}).run();\n\tawait updateTaskLabels(db, row.id, parseLabels(row.labelsJson));\n}\n/**\n* Parse a `labels_json` text column into a deduplicated string-array.\n*\n* Invalid / non-array JSON yields an empty list — the junction is then emptied\n* for that task, matching the \"no labels\" state.\n*\n* @param labelsJson - The serialized JSON array from `tasks.labels_json`.\n* @returns Deduplicated, non-empty label strings.\n*/\nfunction parseLabels(labelsJson) {\n\tif (!labelsJson) return [];\n\ttry {\n\t\tconst parsed = JSON.parse(labelsJson);\n\t\tif (!Array.isArray(parsed)) return [];\n\t\tconst seen = /* @__PURE__ */ new Set();\n\t\tfor (const l of parsed) if (typeof l === \"string\" && l.length > 0) seen.add(l);\n\t\treturn [...seen];\n\t} catch {\n\t\treturn [];\n\t}\n}\n/**\n* Replace the {@link schema.taskLabels} junction rows for one task so they\n* exactly mirror its label set (T11356).\n*\n* Delete-then-insert keeps the junction authoritative without read-modify-write\n* races: the prior label set is dropped and the supplied set re-inserted. Called\n* from {@link upsertTask} and from raw-SQL proposal inserters that bypass it.\n*\n* @param db - Drizzle tasks.db handle.\n* @param taskId - The owning task id.\n* @param labels - The full label set the junction should reflect.\n*/\nasync function updateTaskLabels(db, taskId, labels) {\n\tawait db.delete(tasksTaskLabels).where(eq(tasksTaskLabels.taskId, taskId)).run();\n\tif (labels.length === 0) return;\n\tawait db.insert(tasksTaskLabels).values(labels.map((label) => ({\n\t\ttaskId,\n\t\tlabel\n\t}))).onConflictDoNothing().run();\n}\n/**\n* Upsert a single session row into the sessions table.\n*/\nasync function upsertSession(db, session) {\n\tconst sessionName = session.name || `session-${session.id}`;\n\tconst values = {\n\t\tid: session.id,\n\t\tname: sessionName,\n\t\tstatus: session.status,\n\t\tscopeJson: JSON.stringify(session.scope ?? { type: \"global\" }),\n\t\tcurrentTask: session.taskWork?.taskId ?? null,\n\t\ttaskStartedAt: session.taskWork?.setAt ?? null,\n\t\tagent: session.agent ?? null,\n\t\tnotesJson: session.notes ? JSON.stringify(session.notes) : \"[]\",\n\t\ttasksCompletedJson: session.tasksCompleted ? JSON.stringify(session.tasksCompleted) : \"[]\",\n\t\ttasksCreatedJson: session.tasksCreated ? JSON.stringify(session.tasksCreated) : \"[]\",\n\t\thandoffJson: session.handoffJson ?? null,\n\t\tstartedAt: session.startedAt,\n\t\tendedAt: session.endedAt ?? null,\n\t\tpreviousSessionId: session.previousSessionId ?? null,\n\t\tnextSessionId: session.nextSessionId ?? null,\n\t\tparentSessionId: session.parentSessionId ?? null,\n\t\tagentIdentifier: session.agentIdentifier ?? null,\n\t\thandoffConsumedAt: session.handoffConsumedAt ?? null,\n\t\thandoffConsumedBy: session.handoffConsumedBy ?? null,\n\t\tdebriefJson: session.debriefJson ?? null,\n\t\tstatsJson: session.stats ? JSON.stringify(session.stats) : null,\n\t\tresumeCount: session.resumeCount ?? null,\n\t\tgradeMode: session.gradeMode ? true : null,\n\t\tagentHandle: session.agentHandle ?? null,\n\t\tscopeKind: session.scopeKind ?? null,\n\t\tscopeId: session.scopeId ?? null,\n\t\tlastActivity: session.lastActivity ?? null\n\t};\n\tconst { id: _id, ...setFields } = values;\n\tawait db.insert(tasksSessions).values(values).onConflictDoUpdate({\n\t\ttarget: tasksSessions.id,\n\t\tset: setFields\n\t}).run();\n}\n/**\n* Update dependencies for a task: delete existing, then re-insert.\n* Optionally filters by a set of valid IDs.\n*/\nasync function updateDependencies(db, taskId, depends, validIds) {\n\tawait db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.taskId, taskId)).run();\n\tfor (const depId of depends) if (!validIds || validIds.has(depId)) await db.insert(tasksTaskDependencies).values({\n\t\ttaskId,\n\t\tdependsOn: depId\n\t}).onConflictDoNothing().run();\n}\n/**\n* Batch-update dependencies for multiple tasks in two bulk SQL operations.\n* Replaces per-task updateDependencies() loops with:\n* 1. Single DELETE for all task IDs\n* 2. Single INSERT for all dependency rows\n*\n* Callers are responsible for wrapping this in a transaction if needed.\n*/\nasync function batchUpdateDependencies(db, tasks, validIds) {\n\tif (tasks.length === 0) return;\n\tconst allTaskIds = tasks.map((t) => t.taskId);\n\tawait db.delete(tasksTaskDependencies).where(inArray(tasksTaskDependencies.taskId, allTaskIds)).run();\n\tconst allDepRows = [];\n\tfor (const { taskId, deps } of tasks) for (const depId of deps) if (!validIds || validIds.has(depId)) allDepRows.push({\n\t\ttaskId,\n\t\tdependsOn: depId\n\t});\n\tif (allDepRows.length > 0) await db.insert(tasksTaskDependencies).values(allDepRows).onConflictDoNothing().run();\n}\n/**\n* Batch-load dependencies for a list of tasks and apply them in-place.\n* Uses inArray for efficient querying. Optionally filters by a set of valid IDs.\n*/\nasync function loadDependenciesForTasks(db, tasks, validationIds) {\n\tif (tasks.length === 0) return;\n\tconst taskIds = tasks.map((t) => t.id);\n\tconst taskIdSet = validationIds ?? new Set(taskIds);\n\tconst allDeps = await db.select().from(tasksTaskDependencies).where(inArray(tasksTaskDependencies.taskId, taskIds)).all();\n\tconst depMap = /* @__PURE__ */ new Map();\n\tfor (const dep of allDeps) if (taskIdSet.has(dep.dependsOn)) {\n\t\tlet arr = depMap.get(dep.taskId);\n\t\tif (!arr) {\n\t\t\tarr = [];\n\t\t\tdepMap.set(dep.taskId, arr);\n\t\t}\n\t\tarr.push(dep.dependsOn);\n\t}\n\tfor (const task of tasks) {\n\t\tconst deps = depMap.get(task.id);\n\t\tif (deps && deps.length > 0) task.depends = deps;\n\t}\n}\n/**\n* Batch-load relations for a list of tasks and apply them in-place.\n* Mirrors loadDependenciesForTasks pattern for task_relations table (T5168).\n*/\nasync function loadRelationsForTasks(db, tasks) {\n\tif (tasks.length === 0) return;\n\tconst taskIds = tasks.map((t) => t.id);\n\tconst allRels = await db.select().from(tasksTaskRelations).where(inArray(tasksTaskRelations.taskId, taskIds)).all();\n\tconst relMap = /* @__PURE__ */ new Map();\n\tfor (const rel of allRels) {\n\t\tlet arr = relMap.get(rel.taskId);\n\t\tif (!arr) {\n\t\t\tarr = [];\n\t\t\trelMap.set(rel.taskId, arr);\n\t\t}\n\t\tarr.push({\n\t\t\ttaskId: rel.relatedTo,\n\t\t\ttype: rel.relationType,\n\t\t\treason: rel.reason ?? void 0\n\t\t});\n\t}\n\tfor (const task of tasks) {\n\t\tconst relations = relMap.get(task.id);\n\t\ttask.relates = relations && relations.length > 0 ? relations : [];\n\t}\n}\n//#endregion\n//#region ../core/dist/store/sqlite-data-accessor.js\n/**\n* SQLite-based implementation of the DataAccessor interface.\n*\n* Materializes TaskFile/ArchiveFile/SessionsFile from SQLite tables,\n* allowing core modules to continue using whole-file data structures\n* while storage is backed by the relational database.\n*\n* Uses existing sqlite.ts engine (node:sqlite / drizzle-orm) and\n* tasks-sqlite.ts / session-store.ts for row-level operations.\n*\n* @epic T4454\n*/\n/**\n* Per-process monotonic counter for unique nested SAVEPOINT names (T9814).\n* Only used when DataAccessor.transaction() is called from within an\n* already-open outer transaction (depth > 0). Outer transactions use\n* BEGIN IMMEDIATE/COMMIT/ROLLBACK (depth = 0).\n*/\nvar _txSavepointCounter = 0;\n/**\n* Generate a unique audit log entry ID.\n* @task T4837\n*/\nfunction generateAuditLogId() {\n\treturn `log-${Math.floor(Date.now() / 1e3)}-${Math.random().toString(36).slice(2, 8)}`;\n}\n/**\n* Run `fn` inside an outermost `BEGIN IMMEDIATE` transaction, wrapped\n* in {@link withWriteRetry} so SQLITE_BUSY contention is absorbed at the\n* transaction boundary rather than mid-statement.\n*\n* - Acquires a RESERVED lock immediately so concurrent writers queue\n* politely (or fall through to retry after `busy_timeout` expires).\n* - Commits on success; rolls back on any thrown error before\n* propagating it. If the thrown error is SQLITE_BUSY,\n* {@link withWriteRetry} re-runs the WHOLE function (BEGIN included)\n* after backoff — better-sqlite3 / node:sqlite forbids nesting\n* `BEGIN IMMEDIATE` inside an open transaction, so retry MUST start\n* from this outer boundary.\n*\n* DO NOT call this from inside an already-open transaction. For nested\n* writes use `accessor.transaction()` which uses SAVEPOINTs (T9814).\n*\n* @bug gh-391 — SQLITE_BUSY contention on parallel writes.\n* @task T9839\n*/\nasync function runInImmediateTx(nativeDb, fn) {\n\treturn withWriteRetry(async () => {\n\t\tnativeDb.prepare(\"BEGIN IMMEDIATE\").run();\n\t\ttry {\n\t\t\tconst result = await fn();\n\t\t\tnativeDb.prepare(\"COMMIT\").run();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\ttry {\n\t\t\t\tnativeDb.prepare(\"ROLLBACK\").run();\n\t\t\t} catch {}\n\t\t\tthrow err;\n\t\t}\n\t});\n}\n/** Read a JSON blob from the schema_meta table by key. */\nasync function getMetaValue(cwd, key) {\n\tconst rows = await (await getDb(cwd)).select().from(schemaMeta).where(eq(schemaMeta.key, key)).all();\n\tif (rows.length === 0 || !rows[0]) return null;\n\ttry {\n\t\treturn JSON.parse(rows[0].value);\n\t} catch {\n\t\treturn null;\n\t}\n}\n/** Write a JSON blob to the schema_meta table by key. */\nasync function setMetaValue(cwd, key, value) {\n\tconst db = await getDb(cwd);\n\tconst json = JSON.stringify(value);\n\tawait db.insert(schemaMeta).values({\n\t\tkey,\n\t\tvalue: json\n\t}).onConflictDoUpdate({\n\t\ttarget: schemaMeta.key,\n\t\tset: { value: json }\n\t}).run();\n}\n/**\n* Create a SQLite-backed DataAccessor.\n*\n* Opens (or creates) the SQLite database at `.cleo/tasks.db` and returns\n* a DataAccessor that materializes/dematerializes whole-file structures\n* from the relational tables.\n*\n* @param cwd - Working directory for path resolution (defaults to process.cwd())\n*/\nasync function createSqliteDataAccessor(cwd) {\n\tawait getDb(cwd);\n\t/** Load all task IDs for cross-task dependency validation. */\n\tasync function getAllTaskIds() {\n\t\tconst rows = await (await getDb(cwd)).select({ id: tasksTasks.id }).from(tasksTasks).all();\n\t\treturn new Set(rows.map((r) => r.id));\n\t}\n\tlet _txDepth = 0;\n\tconst accessor = {\n\t\tengine: \"sqlite\",\n\t\tasync loadArchive() {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst archivedRows = await db.select().from(tasksTasks).where(eq(tasksTasks.status, \"archived\")).all();\n\t\t\tif (archivedRows.length === 0) return null;\n\t\t\tconst archivedTasks = archivedRows.map((row) => {\n\t\t\t\treturn {\n\t\t\t\t\t...rowToTask(row),\n\t\t\t\t\tarchivedAt: row.archivedAt ?? void 0,\n\t\t\t\t\tarchiveReason: row.archiveReason ?? void 0,\n\t\t\t\t\tcycleTimeDays: row.cycleTimeDays ?? void 0\n\t\t\t\t};\n\t\t\t});\n\t\t\tif (archivedTasks.length > 0) {\n\t\t\t\tconst activeRows = await db.select({ id: tasksTasks.id }).from(tasksTasks).where(ne(tasksTasks.status, \"archived\")).all();\n\t\t\t\tawait loadDependenciesForTasks(db, archivedTasks, new Set([...archivedTasks.map((t) => t.id), ...activeRows.map((r) => r.id)]));\n\t\t\t\tawait loadRelationsForTasks(db, archivedTasks);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchivedTasks,\n\t\t\t\tversion: \"1.0.0\"\n\t\t\t};\n\t\t},\n\t\tasync saveArchive(data) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst archiveIds = new Set(data.archivedTasks.map((t) => t.id));\n\t\t\tconst activeRows = await db.select({ id: tasksTasks.id }).from(tasksTasks).where(ne(tasksTasks.status, \"archived\")).all();\n\t\t\tconst validDepIds = new Set([...archiveIds, ...activeRows.map((r) => r.id)]);\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) throw new Error(\"Native database not initialized\");\n\t\t\tawait runInImmediateTx(nativeDb, async () => {\n\t\t\t\tconst depBatch = [];\n\t\t\t\tfor (const task of data.archivedTasks) {\n\t\t\t\t\tconst row = archivedTaskToRow(task);\n\t\t\t\t\tconst taskAny = task;\n\t\t\t\t\tawait upsertTask(db, row, {\n\t\t\t\t\t\tarchivedAt: taskAny.archivedAt ?? row.completedAt ?? (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\t\t\t\tarchiveReason: taskAny.archiveReason ?? \"completed-unverified\",\n\t\t\t\t\t\tcycleTimeDays: taskAny.cycleTimeDays ?? null\n\t\t\t\t\t}, true);\n\t\t\t\t\tdepBatch.push({\n\t\t\t\t\t\ttaskId: task.id,\n\t\t\t\t\t\tdeps: task.depends ?? []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tawait batchUpdateDependencies(db, depBatch, validDepIds);\n\t\t\t});\n\t\t},\n\t\tasync loadSessions() {\n\t\t\treturn (await (await getDb(cwd)).select().from(tasksSessions).all()).map(rowToSession);\n\t\t},\n\t\tasync saveSessions(sessions) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst existingRows = await db.select({ id: tasksSessions.id }).from(tasksSessions).all();\n\t\t\tconst existingIds = new Set(existingRows.map((r) => r.id));\n\t\t\tconst incomingIds = new Set(sessions.map((s) => s.id));\n\t\t\tfor (const eid of existingIds) if (!incomingIds.has(eid)) await db.delete(tasksSessions).where(eq(tasksSessions.id, eid)).run();\n\t\t\tfor (const session of sessions) await upsertSession(db, session);\n\t\t},\n\t\tasync appendLog(entry) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tawait withWriteRetry(() => db.insert(auditLog).values({\n\t\t\t\tid: entry.id ?? generateAuditLogId(),\n\t\t\t\ttimestamp: entry.timestamp ?? (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\t\taction: entry.action ?? entry.operation ?? \"unknown\",\n\t\t\t\ttaskId: entry.taskId ?? \"unknown\",\n\t\t\t\tactor: entry.actor ?? \"system\",\n\t\t\t\tdetailsJson: entry.details ? JSON.stringify(entry.details) : \"{}\",\n\t\t\t\tbeforeJson: entry.before ? JSON.stringify(entry.before) : null,\n\t\t\t\tafterJson: entry.after ? JSON.stringify(entry.after) : null\n\t\t\t}).run());\n\t\t},\n\t\tasync queryAuditLog(query) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst conditions = [];\n\t\t\tif (query.taskIds && query.taskIds.length > 0) conditions.push(inArray(auditLog.taskId, [...query.taskIds]));\n\t\t\tif (query.actions && query.actions.length > 0) conditions.push(inArray(auditLog.action, [...query.actions]));\n\t\t\tif (query.since) conditions.push(sql`${auditLog.timestamp} >= ${query.since}`);\n\t\t\tconst limit = Math.max(1, Math.floor(query.limit ?? 100));\n\t\t\treturn (await db.select({\n\t\t\t\tid: auditLog.id,\n\t\t\t\ttimestamp: auditLog.timestamp,\n\t\t\t\taction: auditLog.action,\n\t\t\t\ttaskId: auditLog.taskId,\n\t\t\t\tactor: auditLog.actor,\n\t\t\t\tdetailsJson: auditLog.detailsJson,\n\t\t\t\tbeforeJson: auditLog.beforeJson,\n\t\t\t\tafterJson: auditLog.afterJson\n\t\t\t}).from(auditLog).where(conditions.length > 0 ? and(...conditions) : void 0).orderBy(sql`${auditLog.timestamp} DESC`).limit(limit).all()).map((row) => ({\n\t\t\t\tid: row.id,\n\t\t\t\ttimestamp: row.timestamp,\n\t\t\t\taction: row.action,\n\t\t\t\ttaskId: row.taskId,\n\t\t\t\tactor: row.actor,\n\t\t\t\tdetailsJson: row.detailsJson ?? null,\n\t\t\t\tbeforeJson: row.beforeJson ?? null,\n\t\t\t\tafterJson: row.afterJson ?? null\n\t\t\t}));\n\t\t},\n\t\tasync upsertSingleTask(task) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst row = taskToRow(task);\n\t\t\tawait withWriteRetry(async () => {\n\t\t\t\tawait upsertTask(db, row);\n\t\t\t\tawait updateDependencies(db, task.id, task.depends ?? []);\n\t\t\t});\n\t\t},\n\t\tasync addRelation(taskId, relatedTo, relationType, reason) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst validTypes = [\n\t\t\t\t\"related\",\n\t\t\t\t\"blocks\",\n\t\t\t\t\"duplicates\",\n\t\t\t\t\"absorbs\",\n\t\t\t\t\"fixes\",\n\t\t\t\t\"extends\",\n\t\t\t\t\"supersedes\",\n\t\t\t\t\"groups\"\n\t\t\t];\n\t\t\tif (!validTypes.includes(relationType)) throw new Error(`Invalid relation type: ${relationType}. Valid types: ${validTypes.join(\", \")}`);\n\t\t\tawait withWriteRetry(() => db.insert(tasksTaskRelations).values({\n\t\t\t\ttaskId,\n\t\t\t\trelatedTo,\n\t\t\t\trelationType,\n\t\t\t\treason: reason ?? null\n\t\t\t}).onConflictDoNothing().run());\n\t\t},\n\t\tasync removeRelation(taskId, relatedTo, relationType) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst conditions = [eq(tasksTaskRelations.taskId, taskId), eq(tasksTaskRelations.relatedTo, relatedTo)];\n\t\t\tif (relationType !== void 0) {\n\t\t\t\tconst validTypes = [\n\t\t\t\t\t\"related\",\n\t\t\t\t\t\"blocks\",\n\t\t\t\t\t\"duplicates\",\n\t\t\t\t\t\"absorbs\",\n\t\t\t\t\t\"fixes\",\n\t\t\t\t\t\"extends\",\n\t\t\t\t\t\"supersedes\",\n\t\t\t\t\t\"groups\"\n\t\t\t\t];\n\t\t\t\tif (!validTypes.includes(relationType)) throw new Error(`Invalid relation type: ${relationType}. Valid types: ${validTypes.join(\", \")}`);\n\t\t\t\tconditions.push(eq(tasksTaskRelations.relationType, relationType));\n\t\t\t}\n\t\t\tawait withWriteRetry(() => db.delete(tasksTaskRelations).where(and(...conditions)).run());\n\t\t},\n\t\tasync getAcRows(taskId) {\n\t\t\treturn (await (await getDb(cwd)).select({\n\t\t\t\tid: tasksTaskAcceptanceCriteria.id,\n\t\t\t\ttaskId: tasksTaskAcceptanceCriteria.taskId,\n\t\t\t\tordinal: tasksTaskAcceptanceCriteria.ordinal,\n\t\t\t\tkind: tasksTaskAcceptanceCriteria.kind,\n\t\t\t\tsourceKey: tasksTaskAcceptanceCriteria.sourceKey,\n\t\t\t\ttargetTaskId: tasksTaskAcceptanceCriteria.targetTaskId,\n\t\t\t\tprojection: tasksTaskAcceptanceCriteria.projection,\n\t\t\t\ttext: tasksTaskAcceptanceCriteria.text,\n\t\t\t\tcreatedAt: tasksTaskAcceptanceCriteria.createdAt,\n\t\t\t\tupdatedAt: tasksTaskAcceptanceCriteria.updatedAt,\n\t\t\t\tcontentHash: tasksTaskAcceptanceCriteria.contentHash\n\t\t\t}).from(tasksTaskAcceptanceCriteria).where(eq(tasksTaskAcceptanceCriteria.taskId, taskId)).orderBy(tasksTaskAcceptanceCriteria.ordinal).all()).map((r) => ({\n\t\t\t\tid: r.id,\n\t\t\t\ttaskId: r.taskId,\n\t\t\t\tordinal: r.ordinal,\n\t\t\t\tkind: r.kind,\n\t\t\t\tsourceKey: r.sourceKey ?? `text:${r.ordinal}`,\n\t\t\t\ttargetTaskId: r.targetTaskId ?? null,\n\t\t\t\tprojection: r.projection,\n\t\t\t\ttext: r.text,\n\t\t\t\tcreatedAt: r.createdAt,\n\t\t\t\tupdatedAt: r.updatedAt ?? null,\n\t\t\t\tcontentHash: r.contentHash ?? null\n\t\t\t}));\n\t\t},\n\t\tasync getAcBindings(acIds) {\n\t\t\tif (acIds.length === 0) return [];\n\t\t\treturn (await (await getDb(cwd)).select({\n\t\t\t\tid: tasksEvidenceAcBindings.id,\n\t\t\t\tevidenceAtomId: tasksEvidenceAcBindings.evidenceAtomId,\n\t\t\t\tacId: tasksEvidenceAcBindings.acId,\n\t\t\t\tbindingType: tasksEvidenceAcBindings.bindingType,\n\t\t\t\tcreatedAt: tasksEvidenceAcBindings.createdAt\n\t\t\t}).from(tasksEvidenceAcBindings).where(inArray(tasksEvidenceAcBindings.acId, acIds)).all()).map((r) => ({\n\t\t\t\tid: r.id,\n\t\t\t\tevidenceAtomId: r.evidenceAtomId,\n\t\t\t\tacId: r.acId,\n\t\t\t\tbindingType: r.bindingType,\n\t\t\t\tcreatedAt: r.createdAt\n\t\t\t}));\n\t\t},\n\t\tasync archiveSingleTask(taskId, fields) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tif ((await db.select({ id: tasksTasks.id }).from(tasksTasks).where(eq(tasksTasks.id, taskId)).all()).length === 0) return;\n\t\t\tawait withWriteRetry(() => db.update(tasksTasks).set({\n\t\t\t\tstatus: \"archived\",\n\t\t\t\tarchivedAt: fields.archivedAt ?? (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\t\tarchiveReason: fields.archiveReason ?? \"completed-unverified\",\n\t\t\t\tcycleTimeDays: fields.cycleTimeDays ?? null,\n\t\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t\t\t}).where(eq(tasksTasks.id, taskId)).run());\n\t\t},\n\t\tasync removeSingleTask(taskId) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tawait withWriteRetry(async () => {\n\t\t\t\tawait db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.taskId, taskId)).run();\n\t\t\t\tawait db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.dependsOn, taskId)).run();\n\t\t\t\tawait db.delete(tasksTasks).where(eq(tasksTasks.id, taskId)).run();\n\t\t\t});\n\t\t},\n\t\tasync loadSingleTask(taskId) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst rows = await db.select().from(tasksTasks).where(eq(tasksTasks.id, taskId)).limit(1).all();\n\t\t\tif (rows.length === 0 || !rows[0]) return null;\n\t\t\tconst task = rowToTask(rows[0]);\n\t\t\tconst allIdRows = await db.select({ id: tasksTasks.id }).from(tasksTasks).all();\n\t\t\tconst allIds = new Set(allIdRows.map((r) => r.id));\n\t\t\tawait loadDependenciesForTasks(db, [task], allIds);\n\t\t\tawait loadRelationsForTasks(db, [task]);\n\t\t\treturn task;\n\t\t},\n\t\tasync getActiveSession() {\n\t\t\tconst rows = await (await getDb(cwd)).select().from(tasksSessions).where(eq(tasksSessions.status, \"active\")).orderBy(sql`${tasksSessions.startedAt} DESC`).limit(1).all();\n\t\t\tif (rows.length === 0 || !rows[0]) return null;\n\t\t\treturn rowToSession(rows[0]);\n\t\t},\n\t\tasync resolveCurrentSession() {\n\t\t\treturn resolveCurrentSession(cwd);\n\t\t},\n\t\tasync upsertSingleSession(session) {\n\t\t\tawait upsertSession(await getDb(cwd), session);\n\t\t},\n\t\tasync removeSingleSession(sessionId) {\n\t\t\tawait (await getDb(cwd)).delete(tasksSessions).where(eq(tasksSessions.id, sessionId)).run();\n\t\t\tcleanupBrainRefsOnSessionDelete(sessionId, cwd);\n\t\t},\n\t\tasync queryTasks(filters) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst conditions = [];\n\t\t\tif (filters.status) {\n\t\t\t\tconst statuses = Array.isArray(filters.status) ? filters.status : [filters.status];\n\t\t\t\tif (!statuses.includes(\"archived\")) conditions.push(ne(tasksTasks.status, \"archived\"));\n\t\t\t\tconditions.push(inArray(tasksTasks.status, statuses));\n\t\t\t} else if (filters.excludeStatus) {\n\t\t\t\tconst excluded = Array.isArray(filters.excludeStatus) ? filters.excludeStatus : [filters.excludeStatus];\n\t\t\t\tfor (const s of excluded) conditions.push(ne(tasksTasks.status, s));\n\t\t\t} else conditions.push(ne(tasksTasks.status, \"archived\"));\n\t\t\tif (filters.priority) conditions.push(eq(tasksTasks.priority, filters.priority));\n\t\t\tif (filters.type) conditions.push(eq(tasksTasks.type, filters.type));\n\t\t\tif (filters.phase) conditions.push(eq(tasksTasks.phase, filters.phase));\n\t\t\tif (filters.severity) {\n\t\t\t\tconst severities = Array.isArray(filters.severity) ? filters.severity : [filters.severity];\n\t\t\t\tconditions.push(inArray(tasksTasks.severity, severities));\n\t\t\t}\n\t\t\tif (filters.kind) {\n\t\t\t\tconst kinds = Array.isArray(filters.kind) ? filters.kind : [filters.kind];\n\t\t\t\tconditions.push(inArray(tasksTasks.kind, kinds));\n\t\t\t}\n\t\t\tif (filters.parentId !== void 0) if (filters.parentId === null) conditions.push(isNull(tasksTasks.parentId));\n\t\t\telse conditions.push(eq(tasksTasks.parentId, filters.parentId));\n\t\t\tif (filters.search) {\n\t\t\t\tconst pattern = `%${filters.search}%`;\n\t\t\t\tconditions.push(or(like(tasksTasks.title, pattern), like(tasksTasks.description, pattern), like(tasksTasks.id, pattern)));\n\t\t\t}\n\t\t\tif (filters.label) {\n\t\t\t\tconst labelMatchIds = db.select({ taskId: tasksTaskLabels.taskId }).from(tasksTaskLabels).where(eq(tasksTaskLabels.label, filters.label));\n\t\t\t\tconditions.push(inArray(tasksTasks.id, labelMatchIds));\n\t\t\t}\n\t\t\tconst where = conditions.length > 0 ? and(...conditions) : void 0;\n\t\t\tconst total = (await db.select({ count: sql`count(*)` }).from(tasksTasks).where(where).get())?.count ?? 0;\n\t\t\tlet orderClause;\n\t\t\tswitch (filters.orderBy) {\n\t\t\t\tcase \"createdAt\":\n\t\t\t\t\torderClause = sql`${tasksTasks.createdAt} ASC`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"updatedAt\":\n\t\t\t\t\torderClause = sql`${tasksTasks.updatedAt} DESC NULLS LAST`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"priority\":\n\t\t\t\t\torderClause = sql`CASE ${tasksTasks.priority}\n WHEN 'critical' THEN 0 WHEN 'high' THEN 1\n WHEN 'medium' THEN 2 WHEN 'low' THEN 3 ELSE 4 END ASC`;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: orderClause = sql`${tasksTasks.position} ASC, ${tasksTasks.createdAt} ASC`;\n\t\t\t}\n\t\t\tlet query = db.select().from(tasksTasks).where(where).orderBy(orderClause);\n\t\t\tif (filters.limit !== void 0) query = query.limit(filters.limit);\n\t\t\tif (filters.offset !== void 0) query = query.offset(filters.offset);\n\t\t\tconst tasks = (await query.all()).map(rowToTask);\n\t\t\tif (tasks.length > 0) {\n\t\t\t\tawait loadDependenciesForTasks(db, tasks, await getAllTaskIds());\n\t\t\t\tawait loadRelationsForTasks(db, tasks);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttasks,\n\t\t\t\ttotal\n\t\t\t};\n\t\t},\n\t\tasync countTasks(filters) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst conditions = [];\n\t\t\tif (filters?.status) {\n\t\t\t\tconst statuses = Array.isArray(filters.status) ? filters.status : [filters.status];\n\t\t\t\tconditions.push(inArray(tasksTasks.status, statuses));\n\t\t\t} else conditions.push(ne(tasksTasks.status, \"archived\"));\n\t\t\tif (filters?.parentId) conditions.push(eq(tasksTasks.parentId, filters.parentId));\n\t\t\tconst where = conditions.length > 0 ? and(...conditions) : void 0;\n\t\t\treturn (await db.select({ count: sql`count(*)` }).from(tasksTasks).where(where).get())?.count ?? 0;\n\t\t},\n\t\tasync getChildren(parentId) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst tasks = (await db.select().from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), ne(tasksTasks.status, \"archived\"))).orderBy(sql`${tasksTasks.position} ASC, ${tasksTasks.createdAt} ASC`).all()).map(rowToTask);\n\t\t\tif (tasks.length > 0) {\n\t\t\t\tawait loadDependenciesForTasks(db, tasks, await getAllTaskIds());\n\t\t\t\tawait loadRelationsForTasks(db, tasks);\n\t\t\t}\n\t\t\treturn tasks;\n\t\t},\n\t\tasync countChildren(parentId) {\n\t\t\treturn (await (await getDb(cwd)).select({ count: sql`count(*)` }).from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), ne(tasksTasks.status, \"archived\"))).get())?.count ?? 0;\n\t\t},\n\t\tasync countActiveChildren(parentId) {\n\t\t\treturn (await (await getDb(cwd)).select({ count: sql`count(*)` }).from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), notInArray(tasksTasks.status, [...TERMINAL_TASK_STATUSES]))).get())?.count ?? 0;\n\t\t},\n\t\tasync getAncestorChain(taskId) {\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) return [];\n\t\t\tconst idRows = nativeDb.prepare(`WITH RECURSIVE ancestor_ids(id, depth) AS (\n SELECT parent_id, 0 FROM tasks_tasks WHERE id = ? AND parent_id IS NOT NULL\n UNION ALL\n SELECT t.parent_id, a.depth + 1 FROM tasks_tasks t\n JOIN ancestor_ids a ON t.id = a.id\n WHERE t.parent_id IS NOT NULL\n )\n SELECT id FROM ancestor_ids ORDER BY depth DESC`).all(taskId);\n\t\t\tif (idRows.length === 0) return [];\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst ids = idRows.map((r) => r.id);\n\t\t\tconst tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, ids)).all()).map(rowToTask);\n\t\t\tif (tasks.length > 0) {\n\t\t\t\tawait loadDependenciesForTasks(db, tasks, await getAllTaskIds());\n\t\t\t\tawait loadRelationsForTasks(db, tasks);\n\t\t\t}\n\t\t\tconst orderMap = new Map(ids.map((id, i) => [id, i]));\n\t\t\ttasks.sort((a, b) => (orderMap.get(a.id) ?? 0) - (orderMap.get(b.id) ?? 0));\n\t\t\treturn tasks;\n\t\t},\n\t\tasync getSubtree(rootId) {\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) return [];\n\t\t\tconst idRows = nativeDb.prepare(`WITH RECURSIVE subtree AS (\n SELECT id FROM tasks_tasks WHERE id = ?\n UNION ALL\n SELECT t.id FROM tasks_tasks t\n JOIN subtree s ON t.parent_id = s.id\n )\n SELECT id FROM subtree`).all(rootId);\n\t\t\tif (idRows.length === 0) return [];\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst ids = idRows.map((r) => r.id);\n\t\t\tconst tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, ids)).all()).map(rowToTask);\n\t\t\tif (tasks.length > 0) {\n\t\t\t\tawait loadDependenciesForTasks(db, tasks, await getAllTaskIds());\n\t\t\t\tawait loadRelationsForTasks(db, tasks);\n\t\t\t}\n\t\t\treturn tasks;\n\t\t},\n\t\tasync getDependents(taskId) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst depRows = await db.select().from(tasksTaskDependencies).where(eq(tasksTaskDependencies.dependsOn, taskId)).all();\n\t\t\tif (depRows.length === 0) return [];\n\t\t\tconst dependentIds = depRows.map((r) => r.taskId);\n\t\t\tconst tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, dependentIds)).all()).map(rowToTask);\n\t\t\tif (tasks.length > 0) {\n\t\t\t\tawait loadDependenciesForTasks(db, tasks, await getAllTaskIds());\n\t\t\t\tawait loadRelationsForTasks(db, tasks);\n\t\t\t}\n\t\t\treturn tasks;\n\t\t},\n\t\tasync getDependencyChain(taskId) {\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) return [];\n\t\t\treturn nativeDb.prepare(`WITH RECURSIVE dep_chain(id) AS (\n SELECT depends_on FROM tasks_task_dependencies WHERE task_id = ?\n UNION\n SELECT td.depends_on FROM tasks_task_dependencies td\n JOIN dep_chain dc ON td.task_id = dc.id\n )\n SELECT id FROM dep_chain`).all(taskId).map((r) => r.id);\n\t\t},\n\t\tasync taskExists(taskId) {\n\t\t\treturn !!await (await getDb(cwd)).select({ id: tasksTasks.id }).from(tasksTasks).where(eq(tasksTasks.id, taskId)).limit(1).get();\n\t\t},\n\t\tasync loadTasks(taskIds) {\n\t\t\tif (taskIds.length === 0) return [];\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst tasks = (await db.select().from(tasksTasks).where(inArray(tasksTasks.id, taskIds)).all()).map(rowToTask);\n\t\t\tif (tasks.length > 0) {\n\t\t\t\tawait loadDependenciesForTasks(db, tasks, await getAllTaskIds());\n\t\t\t\tawait loadRelationsForTasks(db, tasks);\n\t\t\t}\n\t\t\treturn tasks;\n\t\t},\n\t\tasync getNextPosition(parentId) {\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) throw new Error(\"Native database not initialized\");\n\t\t\treturn (parentId === null ? nativeDb.prepare(`SELECT COALESCE(MAX(position), 0) + 1 AS next_pos FROM tasks_tasks WHERE parent_id IS NULL AND status != 'archived'`).get() : nativeDb.prepare(`SELECT COALESCE(MAX(position), 0) + 1 AS next_pos FROM tasks_tasks WHERE parent_id = ? AND status != 'archived'`).get(parentId))?.next_pos ?? 1;\n\t\t},\n\t\tasync shiftPositions(parentId, fromPosition, delta) {\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) throw new Error(\"Native database not initialized\");\n\t\t\tif (parentId === null) nativeDb.prepare(`UPDATE tasks_tasks SET position = position + ?, position_version = position_version + 1, updated_at = ? WHERE parent_id IS NULL AND position >= ? AND status != 'archived'`).run(delta, (/* @__PURE__ */ new Date()).toISOString(), fromPosition);\n\t\t\telse nativeDb.prepare(`UPDATE tasks_tasks SET position = position + ?, position_version = position_version + 1, updated_at = ? WHERE parent_id = ? AND position >= ? AND status != 'archived'`).run(delta, (/* @__PURE__ */ new Date()).toISOString(), parentId, fromPosition);\n\t\t},\n\t\tasync updateTaskFields(taskId, fields) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst updateRow = { updatedAt: fields.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString() };\n\t\t\tfor (const [key, col] of [\n\t\t\t\t[\"title\", \"title\"],\n\t\t\t\t[\"description\", \"description\"],\n\t\t\t\t[\"status\", \"status\"],\n\t\t\t\t[\"priority\", \"priority\"],\n\t\t\t\t[\"type\", \"type\"],\n\t\t\t\t[\"parentId\", \"parentId\"],\n\t\t\t\t[\"phase\", \"phase\"],\n\t\t\t\t[\"size\", \"size\"],\n\t\t\t\t[\"position\", \"position\"],\n\t\t\t\t[\"positionVersion\", \"positionVersion\"],\n\t\t\t\t[\"labelsJson\", \"labelsJson\"],\n\t\t\t\t[\"notesJson\", \"notesJson\"],\n\t\t\t\t[\"acceptanceJson\", \"acceptanceJson\"],\n\t\t\t\t[\"filesJson\", \"filesJson\"],\n\t\t\t\t[\"origin\", \"origin\"],\n\t\t\t\t[\"blockedBy\", \"blockedBy\"],\n\t\t\t\t[\"epicLifecycle\", \"epicLifecycle\"],\n\t\t\t\t[\"noAutoComplete\", \"noAutoComplete\"],\n\t\t\t\t[\"completedAt\", \"completedAt\"],\n\t\t\t\t[\"cancelledAt\", \"cancelledAt\"],\n\t\t\t\t[\"cancellationReason\", \"cancellationReason\"],\n\t\t\t\t[\"verificationJson\", \"verificationJson\"],\n\t\t\t\t[\"createdBy\", \"createdBy\"],\n\t\t\t\t[\"modifiedBy\", \"modifiedBy\"],\n\t\t\t\t[\"sessionId\", \"sessionId\"],\n\t\t\t\t[\"assignee\", \"assignee\"],\n\t\t\t\t[\"pipelineStage\", \"pipelineStage\"]\n\t\t\t]) if (fields[key] !== void 0) updateRow[col] = fields[key];\n\t\t\tawait withWriteRetry(() => db.update(tasksTasks).set(updateRow).where(eq(tasksTasks.id, taskId)).run());\n\t\t},\n\t\tasync transaction(fn) {\n\t\t\tconst db = await getDb(cwd);\n\t\t\tconst nativeDb = getNativeTasksDb(cwd);\n\t\t\tif (!nativeDb) throw new Error(\"Native database not initialized\");\n\t\t\tconst isOuter = _txDepth === 0;\n\t\t\tconst spName = isOuter ? null : `_cleo_tx_${(_txSavepointCounter++).toString(36)}`;\n\t\t\tif (isOuter) nativeDb.prepare(\"BEGIN IMMEDIATE\").run();\n\t\t\telse nativeDb.prepare(`SAVEPOINT ${spName}`).run();\n\t\t\t_txDepth++;\n\t\t\ttry {\n\t\t\t\tconst result = await fn({\n\t\t\t\t\tasync upsertSingleTask(task) {\n\t\t\t\t\t\tawait upsertTask(db, taskToRow(task));\n\t\t\t\t\t\tawait updateDependencies(db, task.id, task.depends ?? []);\n\t\t\t\t\t},\n\t\t\t\t\tasync archiveSingleTask(taskId, fields) {\n\t\t\t\t\t\tawait db.update(tasksTasks).set({\n\t\t\t\t\t\t\tstatus: \"archived\",\n\t\t\t\t\t\t\tarchivedAt: fields.archivedAt ?? (/* @__PURE__ */ new Date()).toISOString(),\n\t\t\t\t\t\t\tarchiveReason: fields.archiveReason ?? \"completed-unverified\",\n\t\t\t\t\t\t\tcycleTimeDays: fields.cycleTimeDays ?? null,\n\t\t\t\t\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString()\n\t\t\t\t\t\t}).where(eq(tasksTasks.id, taskId)).run();\n\t\t\t\t\t},\n\t\t\t\t\tasync removeSingleTask(taskId) {\n\t\t\t\t\t\tawait db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.taskId, taskId)).run();\n\t\t\t\t\t\tawait db.delete(tasksTaskDependencies).where(eq(tasksTaskDependencies.dependsOn, taskId)).run();\n\t\t\t\t\t\tawait db.delete(tasksTasks).where(eq(tasksTasks.id, taskId)).run();\n\t\t\t\t\t},\n\t\t\t\t\tasync setMetaValue(key, value) {\n\t\t\t\t\t\tawait setMetaValue(cwd, key, value);\n\t\t\t\t\t},\n\t\t\t\t\tasync updateTaskFields(taskId, flds) {\n\t\t\t\t\t\tawait accessor.updateTaskFields(taskId, flds);\n\t\t\t\t\t},\n\t\t\t\t\tasync getChildren(parentId) {\n\t\t\t\t\t\treturn (await db.select().from(tasksTasks).where(and(eq(tasksTasks.parentId, parentId), ne(tasksTasks.status, \"archived\"))).orderBy(sql`${tasksTasks.position} ASC, ${tasksTasks.createdAt} ASC`).all()).map(rowToTask);\n\t\t\t\t\t},\n\t\t\t\t\tasync appendLog(entry) {\n\t\t\t\t\t\tawait accessor.appendLog(entry);\n\t\t\t\t\t},\n\t\t\t\t\tasync addRelation(taskId, relatedTo, relationType, reason) {\n\t\t\t\t\t\tawait accessor.addRelation(taskId, relatedTo, relationType, reason);\n\t\t\t\t\t},\n\t\t\t\t\tasync removeRelation(taskId, relatedTo, relationType) {\n\t\t\t\t\t\tawait accessor.removeRelation(taskId, relatedTo, relationType);\n\t\t\t\t\t},\n\t\t\t\t\tasync clearRelations(taskId) {\n\t\t\t\t\t\tawait db.delete(tasksTaskRelations).where(eq(tasksTaskRelations.taskId, taskId)).run();\n\t\t\t\t\t},\n\t\t\t\t\tasync insertAcRows(rows) {\n\t\t\t\t\t\tif (rows.length === 0) return;\n\t\t\t\t\t\tawait db.insert(tasksTaskAcceptanceCriteria).values(rows.map((r) => ({\n\t\t\t\t\t\t\tid: r.id,\n\t\t\t\t\t\t\ttaskId: r.taskId,\n\t\t\t\t\t\t\tordinal: r.ordinal,\n\t\t\t\t\t\t\tkind: r.kind ?? \"text\",\n\t\t\t\t\t\t\tsourceKey: r.sourceKey ?? `text:${r.ordinal}`,\n\t\t\t\t\t\t\ttargetTaskId: r.targetTaskId ?? null,\n\t\t\t\t\t\t\tprojection: r.projection ?? \"legacy\",\n\t\t\t\t\t\t\ttext: r.text,\n\t\t\t\t\t\t\tcontentHash: r.contentHash ?? null\n\t\t\t\t\t\t}))).run();\n\t\t\t\t\t},\n\t\t\t\t\tasync getAcRows(taskId) {\n\t\t\t\t\t\treturn (await db.select({\n\t\t\t\t\t\t\tid: tasksTaskAcceptanceCriteria.id,\n\t\t\t\t\t\t\ttaskId: tasksTaskAcceptanceCriteria.taskId,\n\t\t\t\t\t\t\tordinal: tasksTaskAcceptanceCriteria.ordinal,\n\t\t\t\t\t\t\tkind: tasksTaskAcceptanceCriteria.kind,\n\t\t\t\t\t\t\tsourceKey: tasksTaskAcceptanceCriteria.sourceKey,\n\t\t\t\t\t\t\ttargetTaskId: tasksTaskAcceptanceCriteria.targetTaskId,\n\t\t\t\t\t\t\tprojection: tasksTaskAcceptanceCriteria.projection,\n\t\t\t\t\t\t\ttext: tasksTaskAcceptanceCriteria.text,\n\t\t\t\t\t\t\tcreatedAt: tasksTaskAcceptanceCriteria.createdAt,\n\t\t\t\t\t\t\tupdatedAt: tasksTaskAcceptanceCriteria.updatedAt,\n\t\t\t\t\t\t\tcontentHash: tasksTaskAcceptanceCriteria.contentHash\n\t\t\t\t\t\t}).from(tasksTaskAcceptanceCriteria).where(eq(tasksTaskAcceptanceCriteria.taskId, taskId)).orderBy(tasksTaskAcceptanceCriteria.ordinal).all()).map((r) => ({\n\t\t\t\t\t\t\tid: r.id,\n\t\t\t\t\t\t\ttaskId: r.taskId,\n\t\t\t\t\t\t\tordinal: r.ordinal,\n\t\t\t\t\t\t\tkind: r.kind,\n\t\t\t\t\t\t\tsourceKey: r.sourceKey ?? `text:${r.ordinal}`,\n\t\t\t\t\t\t\ttargetTaskId: r.targetTaskId ?? null,\n\t\t\t\t\t\t\tprojection: r.projection,\n\t\t\t\t\t\t\ttext: r.text,\n\t\t\t\t\t\t\tcreatedAt: r.createdAt,\n\t\t\t\t\t\t\tupdatedAt: r.updatedAt ?? null,\n\t\t\t\t\t\t\tcontentHash: r.contentHash ?? null\n\t\t\t\t\t\t}));\n\t\t\t\t\t},\n\t\t\t\t\tasync deleteAcRowsForTask(taskId) {\n\t\t\t\t\t\tawait db.delete(tasksTaskAcceptanceCriteria).where(eq(tasksTaskAcceptanceCriteria.taskId, taskId)).run();\n\t\t\t\t\t},\n\t\t\t\t\tasync appendAcHistory(rows) {\n\t\t\t\t\t\tif (rows.length === 0) return;\n\t\t\t\t\t\tawait db.insert(tasksTaskAcceptanceCriteriaHistory).values(rows.map((r) => ({\n\t\t\t\t\t\t\tacId: r.acId,\n\t\t\t\t\t\t\tpreviousText: r.previousText,\n\t\t\t\t\t\t\treason: r.reason\n\t\t\t\t\t\t}))).run();\n\t\t\t\t\t},\n\t\t\t\t\tasync getAcBindings(acIds) {\n\t\t\t\t\t\tif (acIds.length === 0) return [];\n\t\t\t\t\t\treturn (await db.select({\n\t\t\t\t\t\t\tid: tasksEvidenceAcBindings.id,\n\t\t\t\t\t\t\tevidenceAtomId: tasksEvidenceAcBindings.evidenceAtomId,\n\t\t\t\t\t\t\tacId: tasksEvidenceAcBindings.acId,\n\t\t\t\t\t\t\tbindingType: tasksEvidenceAcBindings.bindingType,\n\t\t\t\t\t\t\tcreatedAt: tasksEvidenceAcBindings.createdAt\n\t\t\t\t\t\t}).from(tasksEvidenceAcBindings).where(inArray(tasksEvidenceAcBindings.acId, acIds)).all()).map((r) => ({\n\t\t\t\t\t\t\tid: r.id,\n\t\t\t\t\t\t\tevidenceAtomId: r.evidenceAtomId,\n\t\t\t\t\t\t\tacId: r.acId,\n\t\t\t\t\t\t\tbindingType: r.bindingType,\n\t\t\t\t\t\t\tcreatedAt: r.createdAt\n\t\t\t\t\t\t}));\n\t\t\t\t\t},\n\t\t\t\t\tasync insertAcBindings(rows) {\n\t\t\t\t\t\tif (rows.length === 0) return;\n\t\t\t\t\t\tawait db.insert(tasksEvidenceAcBindings).values(rows.map((r) => ({\n\t\t\t\t\t\t\tid: r.id,\n\t\t\t\t\t\t\tevidenceAtomId: r.evidenceAtomId,\n\t\t\t\t\t\t\tacId: r.acId,\n\t\t\t\t\t\t\tbindingType: r.bindingType\n\t\t\t\t\t\t}))).onConflictDoNothing({ target: [\n\t\t\t\t\t\t\ttasksEvidenceAcBindings.evidenceAtomId,\n\t\t\t\t\t\t\ttasksEvidenceAcBindings.acId,\n\t\t\t\t\t\t\ttasksEvidenceAcBindings.bindingType\n\t\t\t\t\t\t] }).run();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t_txDepth--;\n\t\t\t\tif (isOuter) nativeDb.prepare(\"COMMIT\").run();\n\t\t\t\telse nativeDb.prepare(`RELEASE SAVEPOINT ${spName}`).run();\n\t\t\t\treturn result;\n\t\t\t} catch (err) {\n\t\t\t\t_txDepth--;\n\t\t\t\ttry {\n\t\t\t\t\tif (isOuter) nativeDb.prepare(\"ROLLBACK\").run();\n\t\t\t\t\telse {\n\t\t\t\t\t\tnativeDb.prepare(`ROLLBACK TO SAVEPOINT ${spName}`).run();\n\t\t\t\t\t\tnativeDb.prepare(`RELEASE SAVEPOINT ${spName}`).run();\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t},\n\t\tasync close() {\n\t\t\tcloseDb();\n\t\t},\n\t\tasync getMetaValue(key) {\n\t\t\treturn getMetaValue(cwd, key);\n\t\t},\n\t\tasync setMetaValue(key, value) {\n\t\t\treturn setMetaValue(cwd, key, value);\n\t\t},\n\t\tasync getSchemaVersion() {\n\t\t\treturn (await getMetaValue(cwd, \"file_meta\"))?.schemaVersion ?? null;\n\t\t},\n\t\tasync listAgentInstances(filters) {\n\t\t\tconst { listAgentInstances: listAgents } = await import(\"./registry3.js\");\n\t\t\treturn listAgents(filters, cwd);\n\t\t},\n\t\tasync getAgentInstance(agentId) {\n\t\t\tconst { getAgentInstance: getAgent } = await import(\"./registry3.js\");\n\t\t\treturn getAgent(agentId, cwd);\n\t\t},\n\t\tasync claimTask(taskId, agentId) {\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) throw new Error(\"Native database not initialized\");\n\t\t\tif (!nativeDb.prepare(\"SELECT assignee FROM tasks_tasks WHERE id = ?\").get(taskId)) throw new Error(`Task not found: ${taskId}`);\n\t\t\tif (nativeDb.prepare(\"UPDATE tasks_tasks SET assignee = ?, updated_at = ? WHERE id = ? AND (assignee IS NULL OR assignee = ?)\").run(agentId, (/* @__PURE__ */ new Date()).toISOString(), taskId, agentId).changes === 0) {\n\t\t\t\tconst currentRow = nativeDb.prepare(\"SELECT assignee FROM tasks_tasks WHERE id = ?\").get(taskId);\n\t\t\t\tthrow new Error(`Task ${taskId} is already claimed by agent: ${currentRow?.assignee ?? \"unknown\"}`);\n\t\t\t}\n\t\t},\n\t\tasync unclaimTask(taskId) {\n\t\t\tconst nativeDb = getNativeTasksDb();\n\t\t\tif (!nativeDb) throw new Error(\"Native database not initialized\");\n\t\t\tif (!nativeDb.prepare(\"SELECT id FROM tasks_tasks WHERE id = ?\").get(taskId)) throw new Error(`Task not found: ${taskId}`);\n\t\t\tnativeDb.prepare(\"UPDATE tasks_tasks SET assignee = NULL, updated_at = ? WHERE id = ?\").run((/* @__PURE__ */ new Date()).toISOString(), taskId);\n\t\t}\n\t};\n\treturn accessor;\n}\n//#endregion\nexport { setMetaValue as n, createSqliteDataAccessor as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-data-accessor2-CRmgNBnq.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-native-BwlIqtbs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite2-CUPut2fh.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src-BUqGet2c.js","sources":["../../../.svelte-kit/adapter-node/chunks/src.js"],"sourcesContent":["import { t as applyPerfPragmas } from \"./sqlite-pragmas.js\";\nimport { c as resolveProjectByCwd, i as getCleoHome, s as resolveCanonicalCleoDir } from \"./dist.js\";\nimport \"./abort-events2.js\";\nimport \"./dual-scope-db.js\";\nimport \"./domain-binding.js\";\nimport { createRequire } from \"node:module\";\nimport { existsSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\n//#region ../brain/dist/src/cleo-home.js\n/**\n* CLEO home + project DB path resolution for `@cleocode/brain`.\n*\n* Path resolution delegates to the `@cleocode/paths` SSoT\n* ({@link getCleoHome}). Project data (tasks.db, brain.db, conduit.db) is\n* resolved via projectId → nexus.db registry lookup\n* ({@link resolveProjectByCwd} + {@link resolveCanonicalCleoDir}), with a\n* `CLEO_ROOT` / `process.cwd()` fallback for non-project contexts.\n*\n* Previously this module imported `env-paths` directly which caused a Windows\n* path mismatch with the rest of the CLEO ecosystem (the CLI used env-paths\n* returning `%LOCALAPPDATA%\\cleo\\Data` while brain used a bare\n* `%LOCALAPPDATA%\\cleo`, looking up `nexus.db` one directory shallower than\n* where it was written). Fixed in T1874 (Closes #102, supersedes #103).\n*\n* @task T1874 (original Windows fix)\n* @task T1886 (migrated to @cleocode/paths SSoT)\n* @task T11040 (verified 2026-05-27: projectId-based resolution confirmed; 72/72 tests pass)\n*/\n/**\n* Returns the project's `.cleo/` directory.\n*\n* Resolution order:\n* 1. {@link resolveProjectByCwd} — reads `.cleo/project-info.json` for a stable\n* `projectId`, then resolves the canonical `.cleo/` path via\n* {@link resolveCanonicalCleoDir} (nexus.db registry lookup).\n* 2. Fallback: `CLEO_ROOT` env var or `process.cwd()` + `'.cleo'` for\n* non-project contexts (e.g., before `cleo init`).\n*\n* @task T11040 — migrate from CWD-walk-up to projectId-based resolution\n*/\nfunction getCleoProjectDir() {\n\tconst project = resolveProjectByCwd();\n\tif (project !== null) {\n\t\tconst canonical = resolveCanonicalCleoDir(project.projectId);\n\t\tif (canonical !== null) return canonical;\n\t\treturn join(project.projectRoot, \".cleo\");\n\t}\n\treturn join(process.env[\"CLEO_ROOT\"] ?? process.cwd(), \".cleo\");\n}\n/** Returns the absolute path to the global nexus.db file. */\nfunction getNexusDbPath() {\n\treturn join(getCleoHome(), \"nexus.db\");\n}\n/** Returns the absolute path to the global signaldock.db file. */\nfunction getAgentRegistryDbPath() {\n\treturn join(getCleoHome(), \"signaldock.db\");\n}\n/** Returns true when the given DB file exists on disk. */\nfunction dbExists(dbPath) {\n\treturn existsSync(dbPath);\n}\n//#endregion\n//#region ../brain/dist/src/db-connections.js\n/**\n* Read-only SQLite connection helpers for the Living Brain substrate adapters.\n*\n* Uses node:sqlite (Node.js built-in).\n*\n* Global databases (nexus.db, signaldock.db) are shared across all projects\n* and use module-level caches — their path is fixed per machine and never\n* changes between requests.\n*\n* Per-project databases (brain.db, tasks.db, conduit.db) are resolved from\n* the active {@link ProjectContext} passed by the caller. No cross-request\n* caching is performed: opening SQLite with `node:sqlite` is sub-millisecond,\n* and caching across different ProjectContexts is the precise bug this\n* module's Studio counterpart was rewritten to avoid.\n*\n* This file is a trimmed mirror of\n* `packages/studio/src/lib/server/db/connections.ts`, containing only the\n* getters required by the substrate adapters.\n*\n* ## E4-T5 transition (T11516 · SG-DB-SUBSTRATE-V2)\n*\n* This module now depends on `@cleocode/core` and delegates to\n* {@link openDualScopeDb} for new consolidated `cleo.db` access. The legacy\n* per-domain DB getters ({@link getNexusDb}, {@link getBrainDb}, etc.) still\n* open the old per-domain files via per-line-allowed raw opens because the\n* substrate adapters in this package still target those legacy table schemas.\n* The full exodus to the consolidated `cleo.db` schema happens in E6 (T11249),\n* at which point the per-line `// db-open-allowed` markers and the legacy\n* getters are removed.\n*\n* @task T969\n* @task T11516 (E4-T5)\n*/\nvar { DatabaseSync } = createRequire(import.meta.url)(\"node:sqlite\");\n/**\n* Executes a prepared statement and returns rows typed as `T[]`.\n*\n* This helper consolidates the SQL-to-TypeScript boundary into a single,\n* auditable location. Each adapter specifies the expected row shape via the\n* type parameter; the unknown→T conversion happens exactly once per call\n* site rather than being scattered across every query site.\n*\n* Callers remain responsible for validating that the SQL projection matches\n* the declared type `T`.\n*\n* @param stmt - A prepared `node:sqlite` StatementSync.\n* @param params - Anonymous parameter bindings for the statement.\n* @returns Rows materialised as `T[]`.\n*/\nfunction allTyped(stmt, ...params) {\n\treturn stmt.all(...params);\n}\n/** Cached nexus.db connection — global, path is machine-scoped. */\nvar nexusDb = null;\n/** Cached signaldock.db connection — global, path is machine-scoped. */\nvar signaldockDb = null;\n/**\n* Returns a read-only connection to the global nexus.db.\n* Returns null when the file does not exist on disk.\n*\n* @remarks\n* Uses `applyPerfPragmas` from `@cleocode/core` (SSoT, T9045).\n* The raw open is per-line-allowed during the E4 → E6 transition; substrate\n* adapters still target legacy nexus.db table names. Full exodus in E6 (T11249).\n*/\nfunction getNexusDb() {\n\tif (nexusDb) return nexusDb;\n\tconst path = getNexusDbPath();\n\tif (!dbExists(path)) return null;\n\tnexusDb = new DatabaseSync(path, { open: true });\n\tapplyPerfPragmas(nexusDb);\n\treturn nexusDb;\n}\n/**\n* Returns a read-only connection to the global signaldock.db.\n* Returns null when the file does not exist on disk.\n*\n* @remarks\n* Uses `applyPerfPragmas` from `@cleocode/core` (SSoT, T9045).\n* The raw open is per-line-allowed during the E4 → E6 transition; substrate\n* adapters still target legacy signaldock.db table names. Full exodus in E6 (T11249).\n*/\nfunction getAgentRegistryDb() {\n\tif (signaldockDb) return signaldockDb;\n\tconst path = getAgentRegistryDbPath();\n\tif (!dbExists(path)) return null;\n\tsignaldockDb = new DatabaseSync(path, { open: true });\n\tapplyPerfPragmas(signaldockDb);\n\treturn signaldockDb;\n}\n/**\n* Detect the brain.db malformation signature (T10303) without taking a\n* dependency on `@cleocode/core`. The reader side does NOT auto-recover —\n* recovery is owned by the writer side in `@cleocode/core/store/memory-sqlite.ts`.\n* Reader-side detection returns `null` so substrate adapters degrade\n* gracefully (matches the existing \"DB doesn't exist\" semantics).\n*\n* @internal — brain-package-local.\n* @task T10303\n*/\nfunction isMalformationError(err) {\n\tif (!(err instanceof Error)) return false;\n\tconst code = err.code;\n\tconst errcode = err.errcode;\n\tif (code === \"ERR_SQLITE_ERROR\" && errcode === 11) return true;\n\treturn /malformed/i.test(err.message ?? \"\");\n}\n/**\n* Opens a connection to brain.db for the given project context.\n*\n* Each call opens a fresh DatabaseSync against the path stored in `ctx`.\n* Returns null when brain.db does not exist for the project OR when the\n* file is detected as malformed (T10303). Reader-side malformation is\n* handled by returning null — recovery is owned by the writer side in\n* `@cleocode/core/store/memory-sqlite.ts:getBrainDb`, which runs the\n* `recoverMalformedBrainDb()` pipeline before the next process re-opens.\n*\n* @param ctx - The active project context.\n*\n* @remarks\n* Uses `applyPerfPragmas` from `@cleocode/core` (SSoT, T9045).\n* The raw open is per-line-allowed during the E4 → E6 transition; substrate\n* adapters still target legacy brain.db table names. Full exodus in E6 (T11249).\n*/\nfunction getBrainDb(ctx) {\n\tconst path = ctx.brainDbPath;\n\tif (!existsSync(path)) return null;\n\ttry {\n\t\tconst __db = new DatabaseSync(path, { open: true });\n\t\tapplyPerfPragmas(__db);\n\t\treturn __db;\n\t} catch (err) {\n\t\tif (isMalformationError(err)) return null;\n\t\tthrow err;\n\t}\n}\n/**\n* Opens a connection to tasks.db for the given project context.\n*\n* Each call opens a fresh DatabaseSync against the path stored in `ctx`.\n* Returns null when tasks.db does not exist for the project.\n*\n* @param ctx - The active project context.\n*\n* @remarks\n* Uses `applyPerfPragmas` from `@cleocode/core` (SSoT, T9045).\n* The raw open is per-line-allowed during the E4 → E6 transition; substrate\n* adapters still target legacy tasks.db table names. Full exodus in E6 (T11249).\n*/\nfunction getTasksDb(ctx) {\n\tconst path = ctx.tasksDbPath;\n\tif (!existsSync(path)) return null;\n\tconst __db = new DatabaseSync(path, { open: true });\n\tapplyPerfPragmas(__db);\n\treturn __db;\n}\n/**\n* Opens a connection to conduit.db for the given project context.\n*\n* conduit.db lives alongside brain.db in the project's `.cleo/` directory.\n* Its path is derived from the brain.db path since `ProjectContext` does not\n* carry a dedicated `conduitDbPath` field.\n*\n* Returns null when conduit.db does not exist for the project.\n*\n* @param ctx - The active project context.\n*\n* @remarks\n* Uses `applyPerfPragmas` from `@cleocode/core` (SSoT, T9045).\n* The raw open is per-line-allowed during the E4 → E6 transition; substrate\n* adapters still target legacy conduit.db table names. Full exodus in E6 (T11249).\n*/\nfunction getConduitDb(ctx) {\n\tconst path = join(dirname(ctx.brainDbPath), \"conduit.db\");\n\tif (!existsSync(path)) return null;\n\tconst __db = new DatabaseSync(path, { open: true });\n\tapplyPerfPragmas(__db);\n\treturn __db;\n}\n//#endregion\n//#region ../brain/dist/src/adapters/agent-registry.js\n/**\n* AGENT-REGISTRY substrate adapter for the Living Brain API.\n*\n* Read-only visualization path. Queries the LEGACY standalone `signaldock.db`\n* (resolved by `getAgentRegistryDbPath`) and returns BrainNodes/BrainEdges for\n* agents and agent-to-agent social connections. The legacy standalone file still\n* carries the BARE table names (`agents`, `agent_connections`); the brain-package\n* read path is migrated to the consolidated `cleo.db` separately in E6 (T11249),\n* so the SQL below intentionally still targets the bare names.\n*\n* The substrate identifier + node-id prefix were renamed `signaldock` →\n* `agent-registry` under T11622 (display identifiers, decoupled from the physical\n* table names).\n*\n* Node IDs are prefixed with \"agent-registry:\" to prevent collisions.\n* Agents are the cross-substrate identity bridge — they appear in TASKS\n* (assignee), CONDUIT (from/to), and BRAIN (source agent).\n*\n* @task T11622 (Signaldock → Agent Registry rename; folds T11578 AC2)\n*/\n/**\n* Converts a UNIX epoch seconds value to an ISO-8601 string.\n* Returns null when the value is not a finite positive number.\n*\n* @param epoch - UNIX timestamp in seconds, or null.\n* @returns ISO-8601 string or null.\n*/\nfunction epochToIso$1(epoch) {\n\tif (epoch === null || !Number.isFinite(epoch) || epoch <= 0) return null;\n\treturn (/* @__PURE__ */ new Date(epoch * 1e3)).toISOString();\n}\n/**\n* Returns all BrainNodes and BrainEdges sourced from the Agent Registry.\n*\n* Fetches all active agents plus their declared connections.\n* Agent nodes serve as the cross-substrate identity anchors.\n*\n* @param options - Query options (limit).\n* @returns Nodes and edges from the AGENT-REGISTRY substrate.\n*/\nfunction getAgentRegistrySubstrate(options = {}) {\n\tconst db = getAgentRegistryDb();\n\tif (!db) return {\n\t\tnodes: [],\n\t\tedges: []\n\t};\n\tconst perSubstrateLimit = Math.ceil((options.limit ?? 500) / 5);\n\tconst nodes = [];\n\tconst edges = [];\n\ttry {\n\t\tconst agentRows = allTyped(db.prepare(`SELECT agent_id, name, status, created_at\n FROM agents\n WHERE status != 'deleted'\n ORDER BY created_at DESC\n LIMIT ?`), perSubstrateLimit);\n\t\tconst agentIds = /* @__PURE__ */ new Set();\n\t\tfor (const row of agentRows) {\n\t\t\tagentIds.add(row.agent_id);\n\t\t\tnodes.push({\n\t\t\t\tid: `agent-registry:${row.agent_id}`,\n\t\t\t\tkind: \"agent\",\n\t\t\t\tsubstrate: \"agent-registry\",\n\t\t\t\tlabel: row.name,\n\t\t\t\tweight: row.status === \"active\" ? 1 : .5,\n\t\t\t\tcreatedAt: epochToIso$1(row.created_at),\n\t\t\t\tmeta: {\n\t\t\t\t\tstatus: row.status,\n\t\t\t\t\tcreated_at: row.created_at\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (agentIds.size > 0) {\n\t\t\tconst placeholders = [...agentIds].map(() => \"?\").join(\",\");\n\t\t\tconst connRows = allTyped(db.prepare(`SELECT from_agent_id, to_agent_id, connection_type, strength\n FROM agent_connections\n WHERE from_agent_id IN (${placeholders})\n AND to_agent_id IN (${placeholders})`), ...agentIds, ...agentIds);\n\t\t\tfor (const row of connRows) edges.push({\n\t\t\t\tsource: `agent-registry:${row.from_agent_id}`,\n\t\t\t\ttarget: `agent-registry:${row.to_agent_id}`,\n\t\t\t\ttype: row.connection_type,\n\t\t\t\tweight: row.strength ?? .5,\n\t\t\t\tsubstrate: \"agent-registry\"\n\t\t\t});\n\t\t}\n\t} catch {}\n\treturn {\n\t\tnodes,\n\t\tedges\n\t};\n}\n//#endregion\n//#region ../brain/dist/src/project-context.js\n/**\n* Resolve the default project context using projectId-based resolution.\n*\n* Derives `projectPath` from {@link resolveProjectByCwd} (canonical project\n* root), falling back to the `.cleo`-relative path for non-project contexts.\n* DB paths flow through {@link getCleoProjectDir}, which now uses\n* projectId→nexus.db resolution instead of CWD-walk-up (T11040).\n*\n* @returns A context whose paths derive from projectId resolution where possible.\n* @task T11040 — migrate from CWD-walk-up to projectId-based resolution\n*/\nfunction resolveDefaultProjectContext() {\n\tconst project = resolveProjectByCwd();\n\tconst projectDir = getCleoProjectDir();\n\treturn {\n\t\tprojectPath: project !== null ? project.projectRoot : projectDir.replace(/\\/.cleo$/, \"\"),\n\t\tbrainDbPath: join(projectDir, \"brain.db\"),\n\t\ttasksDbPath: join(projectDir, \"tasks.db\")\n\t};\n}\n//#endregion\n//#region ../brain/dist/src/adapters/brain.js\n/**\n* BRAIN substrate adapter for the Living Brain API.\n*\n* Queries brain.db and returns BrainNodes/BrainEdges for all typed memory tables:\n* observations, decisions, patterns, learnings, plus the graph layer\n* (brain_page_nodes / brain_page_edges).\n*\n* Cross-substrate bridges are synthesized for:\n* - brain_page_edges whose to_id references a task (task:T-xxx → tasks:T-xxx)\n* - brain_page_edges whose to_id is a nexus-style path (foo.ts::Symbol → nexus:...)\n* - brain_memory_links rows (memory_type + memory_id → task_id link)\n* - brain_observations.files_modified_json (observation → nexus file path)\n*\n* Node IDs are prefixed with \"brain:\" to prevent collisions.\n*/\n/**\n* Converts a brain_page_edges type-prefixed ID (e.g. \"observation:O-abc\")\n* into the BrainNode ID prefix (e.g. \"brain:O-abc\").\n*\n* Returns null when the prefix is not a recognised brain type.\n*\n* @param typeId - Type-prefixed ID from brain_page_edges.from_id or to_id.\n* @returns BrainNode-prefixed ID or null.\n*/\nfunction brainTypeIdToBrainNodeId(typeId) {\n\tconst sep = typeId.indexOf(\":\");\n\tif (sep === -1) return null;\n\tconst prefix = typeId.slice(0, sep);\n\tconst rawId = typeId.slice(sep + 1);\n\tif (prefix === \"observation\" || prefix === \"decision\" || prefix === \"pattern\" || prefix === \"learning\") return `brain:${rawId}`;\n\treturn null;\n}\n/**\n* Returns true when a brain_page_edges to_id looks like a nexus node path\n* (contains \"::\" separator used by nexus for file::Symbol paths, or is a\n* relative file path with a known extension).\n*\n* @param toId - to_id value from brain_page_edges.\n* @returns True when the ID appears to reference a nexus node.\n*/\nfunction isNexusStyleId(toId) {\n\tif (toId.includes(\"::\")) return true;\n\tif (!toId.includes(\":\") && toId.includes(\"/\")) return true;\n\treturn false;\n}\n/**\n* Returns true when a brain_page_edges ID looks like a task reference\n* (e.g. \"task:T532\").\n*\n* @param id - ID from brain_page_edges.\n* @returns True when the ID references a task node.\n*/\nfunction isTaskId(id) {\n\treturn id.startsWith(\"task:\");\n}\n/**\n* Converts a brain_page_edges task-reference to a tasks-substrate BrainNode ID.\n* e.g. \"task:T532\" → \"tasks:T532\"\n*\n* @param taskRef - Task reference from brain_page_edges.\n* @returns tasks-substrate BrainNode ID.\n*/\nfunction taskRefToBrainNodeId(taskRef) {\n\treturn `tasks:${taskRef.slice(5)}`;\n}\n/**\n* Returns all BrainNodes and BrainEdges sourced from brain.db.\n*\n* Pulls from all four typed memory tables plus brain_page_edges.\n* Emits intra-brain edges between loaded nodes, cross-substrate\n* brain→tasks bridges, cross-substrate brain→nexus bridges, and\n* brain_memory_links as cross-substrate edges.\n*\n* Applies `minWeight` filter where quality_score is available.\n* Node count is bounded by `limit / 5` to share budget with other substrates.\n*\n* @param options - Query options (limit, minWeight).\n* @returns Nodes and edges from the BRAIN substrate.\n*/\nfunction getBrainSubstrate(options = {}) {\n\tconst db = getBrainDb(options.projectCtx ?? resolveDefaultProjectContext());\n\tif (!db) return {\n\t\tnodes: [],\n\t\tedges: []\n\t};\n\tconst minWeight = options.minWeight ?? 0;\n\tconst perSubstrateLimit = Math.ceil((options.limit ?? 500) / 5);\n\tconst nodes = [];\n\tconst edges = [];\n\ttry {\n\t\tconst obsRows = allTyped(db.prepare(`SELECT id, title, quality_score, memory_tier,\n strftime('%Y-%m-%dT%H:%M:%S', created_at) AS created_at,\n source_session_id, files_modified_json\n FROM brain_observations\n WHERE (quality_score IS NULL OR quality_score >= ?)\n ORDER BY quality_score DESC, created_at DESC\n LIMIT ?`), minWeight, Math.ceil(perSubstrateLimit * .4));\n\t\tfor (const row of obsRows) nodes.push({\n\t\t\tid: `brain:${row.id}`,\n\t\t\tkind: \"observation\",\n\t\t\tsubstrate: \"brain\",\n\t\t\tlabel: row.title,\n\t\t\tweight: row.quality_score ?? void 0,\n\t\t\tcreatedAt: row.created_at,\n\t\t\tmeta: {\n\t\t\t\tmemory_tier: row.memory_tier,\n\t\t\t\tcreated_at: row.created_at,\n\t\t\t\tsource_session_id: row.source_session_id\n\t\t\t}\n\t\t});\n\t\tconst decRows = allTyped(db.prepare(`SELECT id, decision, quality_score, context_task_id,\n strftime('%Y-%m-%dT%H:%M:%S', created_at) AS created_at\n FROM brain_decisions\n WHERE (quality_score IS NULL OR quality_score >= ?)\n ORDER BY quality_score DESC, created_at DESC\n LIMIT ?`), minWeight, Math.ceil(perSubstrateLimit * .25));\n\t\tfor (const row of decRows) nodes.push({\n\t\t\tid: `brain:${row.id}`,\n\t\t\tkind: \"decision\",\n\t\t\tsubstrate: \"brain\",\n\t\t\tlabel: row.decision.slice(0, 100),\n\t\t\tweight: row.quality_score ?? void 0,\n\t\t\tcreatedAt: row.created_at,\n\t\t\tmeta: {\n\t\t\t\tcontext_task_id: row.context_task_id,\n\t\t\t\tcreated_at: row.created_at\n\t\t\t}\n\t\t});\n\t\tconst patRows = allTyped(db.prepare(`SELECT id, pattern, type, quality_score,\n strftime('%Y-%m-%dT%H:%M:%S', extracted_at) AS extracted_at\n FROM brain_patterns\n WHERE (quality_score IS NULL OR quality_score >= ?)\n ORDER BY quality_score DESC, extracted_at DESC\n LIMIT ?`), minWeight, Math.ceil(perSubstrateLimit * .2));\n\t\tfor (const row of patRows) nodes.push({\n\t\t\tid: `brain:${row.id}`,\n\t\t\tkind: \"pattern\",\n\t\t\tsubstrate: \"brain\",\n\t\t\tlabel: row.pattern.slice(0, 100),\n\t\t\tweight: row.quality_score ?? void 0,\n\t\t\tcreatedAt: row.extracted_at,\n\t\t\tmeta: {\n\t\t\t\tpattern_type: row.type,\n\t\t\t\tcreated_at: row.extracted_at\n\t\t\t}\n\t\t});\n\t\tconst learnRows = allTyped(db.prepare(`SELECT id, insight, quality_score,\n strftime('%Y-%m-%dT%H:%M:%S', created_at) AS created_at\n FROM brain_learnings\n WHERE (quality_score IS NULL OR quality_score >= ?)\n ORDER BY quality_score DESC, created_at DESC\n LIMIT ?`), minWeight, Math.ceil(perSubstrateLimit * .15));\n\t\tfor (const row of learnRows) nodes.push({\n\t\t\tid: `brain:${row.id}`,\n\t\t\tkind: \"learning\",\n\t\t\tsubstrate: \"brain\",\n\t\t\tlabel: row.insight.slice(0, 100),\n\t\t\tweight: row.quality_score ?? void 0,\n\t\t\tcreatedAt: row.created_at,\n\t\t\tmeta: { created_at: row.created_at }\n\t\t});\n\t\tconst typeIdToBrainNodeId = /* @__PURE__ */ new Map();\n\t\tfor (const n of nodes) {\n\t\t\tconst rawId = n.id.slice(6);\n\t\t\tlet typePrefix;\n\t\t\tif (n.kind === \"observation\") typePrefix = \"observation\";\n\t\t\telse if (n.kind === \"decision\") typePrefix = \"decision\";\n\t\t\telse if (n.kind === \"pattern\") typePrefix = \"pattern\";\n\t\t\telse typePrefix = \"learning\";\n\t\t\ttypeIdToBrainNodeId.set(`${typePrefix}:${rawId}`, n.id);\n\t\t}\n\t\tconst pageEdgeRows = allTyped(db.prepare(`SELECT from_id, to_id, edge_type, weight FROM brain_page_edges`));\n\t\tfor (const row of pageEdgeRows) {\n\t\t\tconst sourceBrainNodeId = typeIdToBrainNodeId.get(row.from_id) ?? brainTypeIdToBrainNodeId(row.from_id);\n\t\t\tif (!sourceBrainNodeId) continue;\n\t\t\tif (isTaskId(row.to_id)) edges.push({\n\t\t\t\tsource: sourceBrainNodeId,\n\t\t\t\ttarget: taskRefToBrainNodeId(row.to_id),\n\t\t\t\ttype: row.edge_type,\n\t\t\t\tweight: row.weight ?? .5,\n\t\t\t\tsubstrate: \"cross\"\n\t\t\t});\n\t\t\telse if (isNexusStyleId(row.to_id)) edges.push({\n\t\t\t\tsource: sourceBrainNodeId,\n\t\t\t\ttarget: `nexus:${row.to_id}`,\n\t\t\t\ttype: row.edge_type,\n\t\t\t\tweight: row.weight ?? .5,\n\t\t\t\tsubstrate: \"cross\"\n\t\t\t});\n\t\t\telse {\n\t\t\t\tconst targetBrainNodeId = typeIdToBrainNodeId.get(row.to_id) ?? brainTypeIdToBrainNodeId(row.to_id);\n\t\t\t\tif (targetBrainNodeId) edges.push({\n\t\t\t\t\tsource: sourceBrainNodeId,\n\t\t\t\t\ttarget: targetBrainNodeId,\n\t\t\t\t\ttype: row.edge_type,\n\t\t\t\t\tweight: row.weight ?? .5,\n\t\t\t\t\tsubstrate: \"brain\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tconst memLinkRows = allTyped(db.prepare(`SELECT memory_type, memory_id, task_id, link_type\n FROM brain_memory_links`));\n\t\tfor (const row of memLinkRows) {\n\t\t\tconst sourceTypeId = `${row.memory_type}:${row.memory_id}`;\n\t\t\tconst sourceBrainNodeId = typeIdToBrainNodeId.get(sourceTypeId) ?? brainTypeIdToBrainNodeId(sourceTypeId);\n\t\t\tif (!sourceBrainNodeId) continue;\n\t\t\tedges.push({\n\t\t\t\tsource: sourceBrainNodeId,\n\t\t\t\ttarget: `tasks:${row.task_id}`,\n\t\t\t\ttype: row.link_type,\n\t\t\t\tweight: .7,\n\t\t\t\tsubstrate: \"cross\"\n\t\t\t});\n\t\t}\n\t\tfor (const row of obsRows) {\n\t\t\tif (!row.files_modified_json) continue;\n\t\t\tlet filePaths;\n\t\t\ttry {\n\t\t\t\tfilePaths = JSON.parse(row.files_modified_json);\n\t\t\t} catch {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (!Array.isArray(filePaths)) continue;\n\t\t\tconst sourceBrainNodeId = `brain:${row.id}`;\n\t\t\tfor (const rawPath of filePaths) {\n\t\t\t\tif (typeof rawPath !== \"string\" || rawPath.length === 0) continue;\n\t\t\t\tedges.push({\n\t\t\t\t\tsource: sourceBrainNodeId,\n\t\t\t\t\ttarget: `nexus:${rawPath}`,\n\t\t\t\t\ttype: \"modified_by\",\n\t\t\t\t\tweight: .6,\n\t\t\t\t\tsubstrate: \"cross\"\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tfor (const dec of decRows) if (dec.context_task_id) edges.push({\n\t\t\tsource: `brain:${dec.id}`,\n\t\t\ttarget: `tasks:${dec.context_task_id}`,\n\t\t\ttype: \"applies_to\",\n\t\t\tweight: .8,\n\t\t\tsubstrate: \"cross\"\n\t\t});\n\t} catch {}\n\treturn {\n\t\tnodes,\n\t\tedges\n\t};\n}\n//#endregion\n//#region ../brain/dist/src/adapters/conduit.js\n/**\n* CONDUIT substrate adapter for the Living Brain API.\n*\n* Queries conduit.db and returns BrainNodes/BrainEdges for agent-to-agent messages.\n* Each message becomes a node; `from_agent_id → to_agent_id` becomes an edge.\n* Co-authoring agent pairs produce cross-substrate edges to SIGNALDOCK.\n*\n* Node IDs are prefixed with \"conduit:\" to prevent collisions.\n*/\n/**\n* Converts a UNIX epoch seconds value to an ISO-8601 string.\n* Returns null when the value is not a finite positive number.\n*\n* @param epoch - UNIX timestamp in seconds.\n* @returns ISO-8601 string or null.\n*/\nfunction epochToIso(epoch) {\n\tif (!Number.isFinite(epoch) || epoch <= 0) return null;\n\treturn (/* @__PURE__ */ new Date(epoch * 1e3)).toISOString();\n}\n/**\n* Returns all BrainNodes and BrainEdges sourced from conduit.db.\n*\n* Fetches the most recent messages (capped at perSubstrateLimit).\n* Synthesizes agent→agent edges and cross-substrate agent references\n* pointing to signaldock.\n*\n* @param options - Query options (limit).\n* @returns Nodes and edges from the CONDUIT substrate.\n*/\nfunction getConduitSubstrate(options = {}) {\n\tconst db = getConduitDb(options.projectCtx ?? resolveDefaultProjectContext());\n\tif (!db) return {\n\t\tnodes: [],\n\t\tedges: []\n\t};\n\tconst perSubstrateLimit = Math.ceil((options.limit ?? 500) / 5);\n\tconst nodes = [];\n\tconst edges = [];\n\ttry {\n\t\tconst msgRows = allTyped(db.prepare(`SELECT id, content, from_agent_id, to_agent_id, created_at, conversation_id\n FROM messages\n ORDER BY created_at DESC\n LIMIT ?`), perSubstrateLimit);\n\t\tconst agentPairs = /* @__PURE__ */ new Map();\n\t\tfor (const row of msgRows) {\n\t\t\tconst label = row.content.length > 80 ? `${row.content.slice(0, 80)}…` : row.content;\n\t\t\tnodes.push({\n\t\t\t\tid: `conduit:${row.id}`,\n\t\t\t\tkind: \"message\",\n\t\t\t\tsubstrate: \"conduit\",\n\t\t\t\tlabel,\n\t\t\t\tcreatedAt: epochToIso(row.created_at),\n\t\t\t\tmeta: {\n\t\t\t\t\tfrom_agent_id: row.from_agent_id,\n\t\t\t\t\tto_agent_id: row.to_agent_id,\n\t\t\t\t\tconversation_id: row.conversation_id,\n\t\t\t\t\tcreated_at: row.created_at\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (row.from_agent_id && row.to_agent_id) {\n\t\t\t\tconst key = `${row.from_agent_id}→${row.to_agent_id}`;\n\t\t\t\tconst existing = agentPairs.get(key);\n\t\t\t\tif (existing) existing.count++;\n\t\t\t\telse agentPairs.set(key, {\n\t\t\t\t\tcount: 1,\n\t\t\t\t\tfrom: row.from_agent_id,\n\t\t\t\t\tto: row.to_agent_id\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tfor (const [, pair] of agentPairs) {\n\t\t\tconst weight = Math.min(1, pair.count / 10);\n\t\t\tedges.push({\n\t\t\t\tsource: `agent-registry:${pair.from}`,\n\t\t\t\ttarget: `agent-registry:${pair.to}`,\n\t\t\t\ttype: \"messages\",\n\t\t\t\tweight,\n\t\t\t\tsubstrate: \"cross\"\n\t\t\t});\n\t\t}\n\t} catch {}\n\treturn {\n\t\tnodes,\n\t\tedges\n\t};\n}\n//#endregion\n//#region ../brain/dist/src/adapters/nexus.js\n/**\n* NEXUS substrate adapter for the Living Brain API.\n*\n* Queries nexus.db (global) and returns BrainNodes/BrainEdges for code symbols and files.\n* Prioritises high-in-degree nodes (most-called functions, most-imported files)\n* since the full nexus graph can exceed 10k nodes.\n*\n* Node IDs are prefixed with \"nexus:\" to prevent collisions.\n*/\n/** Maps nexus node kinds to BrainNodeKind. */\nfunction mapKind(nexusKind) {\n\tif (nexusKind === \"file\" || nexusKind === \"folder\" || nexusKind === \"module\") return \"file\";\n\treturn \"symbol\";\n}\n/**\n* Returns all BrainNodes and BrainEdges sourced from nexus.db.\n*\n* Fetches the highest in-degree nodes (capped at perSubstrateLimit) and\n* all relations between those nodes.\n*\n* @param options - Query options (limit, minWeight).\n* @returns Nodes and edges from the NEXUS substrate.\n*/\nfunction getNexusSubstrate(options = {}) {\n\tconst db = getNexusDb();\n\tif (!db) return {\n\t\tnodes: [],\n\t\tedges: []\n\t};\n\tconst perSubstrateLimit = Math.ceil((options.limit ?? 500) / 5);\n\tconst nodes = [];\n\tconst edges = [];\n\ttry {\n\t\tconst nodeRows = allTyped(db.prepare(`SELECT n.id, n.kind, n.name, n.indexed_at,\n COUNT(r.target_id) AS in_degree\n FROM nexus_nodes n\n LEFT JOIN nexus_relations r ON r.target_id = n.id\n WHERE n.kind IN (\n 'file', 'function', 'method', 'class', 'interface',\n 'type_alias', 'constant', 'module', 'enum'\n )\n GROUP BY n.id\n ORDER BY in_degree DESC\n LIMIT ?`), perSubstrateLimit);\n\t\tfor (const row of nodeRows) nodes.push({\n\t\t\tid: `nexus:${row.id}`,\n\t\t\tkind: mapKind(row.kind),\n\t\t\tsubstrate: \"nexus\",\n\t\t\tlabel: row.name,\n\t\t\tweight: row.in_degree > 0 ? Math.min(1, row.in_degree / 50) : void 0,\n\t\t\tcreatedAt: row.indexed_at ?? null,\n\t\t\tmeta: {\n\t\t\t\tnexus_kind: row.kind,\n\t\t\t\tin_degree: row.in_degree\n\t\t\t}\n\t\t});\n\t\tconst nodeIds = new Set(nodes.map((n) => n.id));\n\t\tconst rawIds = new Set([...nodeIds].map((id) => id.replace(/^nexus:/, \"\")));\n\t\tconst placeholders = [...rawIds].map(() => \"?\").join(\",\");\n\t\tif (rawIds.size === 0) return {\n\t\t\tnodes,\n\t\t\tedges\n\t\t};\n\t\tconst relRows = allTyped(db.prepare(`SELECT source_id, target_id, type, confidence\n FROM nexus_relations\n WHERE source_id IN (${placeholders})\n AND target_id IN (${placeholders})`), ...rawIds, ...rawIds);\n\t\tfor (const row of relRows) edges.push({\n\t\t\tsource: `nexus:${row.source_id}`,\n\t\t\ttarget: `nexus:${row.target_id}`,\n\t\t\ttype: row.type,\n\t\t\tweight: row.confidence ?? .5,\n\t\t\tsubstrate: \"nexus\"\n\t\t});\n\t} catch {}\n\treturn {\n\t\tnodes,\n\t\tedges\n\t};\n}\n//#endregion\n//#region ../brain/dist/src/adapters/tasks.js\n/**\n* TASKS substrate adapter for the Living Brain API.\n*\n* Queries tasks.db and returns BrainNodes/BrainEdges for tasks and sessions.\n* Prioritises critical/high priority tasks and active sessions.\n*\n* Node IDs are prefixed with \"tasks:\" to prevent collisions.\n*/\n/** Maps priority string to numeric weight for BrainNode.weight. */\nfunction priorityWeight(priority) {\n\treturn {\n\t\tcritical: 1,\n\t\thigh: .75,\n\t\tmedium: .5,\n\t\tlow: .25\n\t}[priority] ?? .25;\n}\n/**\n* Returns all BrainNodes and BrainEdges sourced from tasks.db.\n*\n* Fetches tasks ordered by priority, plus recent sessions.\n* Synthesizes parent→child, dependency, and relation edges.\n*\n* @param options - Query options (limit, minWeight).\n* @returns Nodes and edges from the TASKS substrate.\n*/\nfunction getTasksSubstrate(options = {}) {\n\tconst db = getTasksDb(options.projectCtx ?? resolveDefaultProjectContext());\n\tif (!db) return {\n\t\tnodes: [],\n\t\tedges: []\n\t};\n\tconst perSubstrateLimit = Math.ceil((options.limit ?? 500) / 5);\n\tconst minWeight = options.minWeight ?? 0;\n\tconst nodes = [];\n\tconst edges = [];\n\ttry {\n\t\tconst taskRows = allTyped(db.prepare(`SELECT id, title, status, priority, type, parent_id, created_at\n FROM tasks\n WHERE status NOT IN ('archived', 'cancelled')\n ORDER BY\n CASE priority\n WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 ELSE 3\n END,\n created_at DESC\n LIMIT ?`), Math.ceil(perSubstrateLimit * .8));\n\t\tconst taskIds = /* @__PURE__ */ new Set();\n\t\tfor (const row of taskRows) {\n\t\t\tconst weight = priorityWeight(row.priority);\n\t\t\tif (weight < minWeight) continue;\n\t\t\ttaskIds.add(row.id);\n\t\t\tnodes.push({\n\t\t\t\tid: `tasks:${row.id}`,\n\t\t\t\tkind: \"task\",\n\t\t\t\tsubstrate: \"tasks\",\n\t\t\t\tlabel: row.title,\n\t\t\t\tweight,\n\t\t\t\tcreatedAt: row.created_at,\n\t\t\t\tmeta: {\n\t\t\t\t\tstatus: row.status,\n\t\t\t\t\tpriority: row.priority,\n\t\t\t\t\ttype: row.type,\n\t\t\t\t\tparent_id: row.parent_id,\n\t\t\t\t\tcreated_at: row.created_at\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tconst sessionRows = allTyped(db.prepare(`SELECT id, status, started_at, ended_at\n FROM sessions\n ORDER BY started_at DESC\n LIMIT ?`), Math.ceil(perSubstrateLimit * .2));\n\t\tconst sessionIds = /* @__PURE__ */ new Set();\n\t\tfor (const row of sessionRows) {\n\t\t\tsessionIds.add(row.id);\n\t\t\tnodes.push({\n\t\t\t\tid: `tasks:${row.id}`,\n\t\t\t\tkind: \"session\",\n\t\t\t\tsubstrate: \"tasks\",\n\t\t\t\tlabel: `Session ${row.id.slice(-8)}`,\n\t\t\t\tweight: row.status === \"active\" ? .9 : .4,\n\t\t\t\tcreatedAt: row.started_at,\n\t\t\t\tmeta: {\n\t\t\t\t\tstatus: row.status,\n\t\t\t\t\tstarted_at: row.started_at,\n\t\t\t\t\tended_at: row.ended_at\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tfor (const row of taskRows) if (row.parent_id && taskIds.has(row.parent_id)) edges.push({\n\t\t\tsource: `tasks:${row.parent_id}`,\n\t\t\ttarget: `tasks:${row.id}`,\n\t\t\ttype: \"parent_of\",\n\t\t\tweight: .9,\n\t\t\tsubstrate: \"tasks\"\n\t\t});\n\t\tif (taskIds.size > 0) {\n\t\t\tconst placeholders = [...taskIds].map(() => \"?\").join(\",\");\n\t\t\tconst relRows = allTyped(db.prepare(`SELECT task_id, related_task_id, relation_type\n FROM task_relations\n WHERE task_id IN (${placeholders})\n AND related_task_id IN (${placeholders})`), ...taskIds, ...taskIds);\n\t\t\tfor (const row of relRows) edges.push({\n\t\t\t\tsource: `tasks:${row.task_id}`,\n\t\t\t\ttarget: `tasks:${row.related_task_id}`,\n\t\t\t\ttype: row.relation_type,\n\t\t\t\tweight: .7,\n\t\t\t\tsubstrate: \"tasks\"\n\t\t\t});\n\t\t\tconst depRows = allTyped(db.prepare(`SELECT task_id, depends_on_task_id\n FROM task_dependencies\n WHERE task_id IN (${placeholders})\n AND depends_on_task_id IN (${placeholders})`), ...taskIds, ...taskIds);\n\t\t\tfor (const row of depRows) edges.push({\n\t\t\t\tsource: `tasks:${row.task_id}`,\n\t\t\t\ttarget: `tasks:${row.depends_on_task_id}`,\n\t\t\t\ttype: \"depends_on\",\n\t\t\t\tweight: .85,\n\t\t\t\tsubstrate: \"tasks\"\n\t\t\t});\n\t\t}\n\t} catch {}\n\treturn {\n\t\tnodes,\n\t\tedges\n\t};\n}\n//#endregion\n//#region ../brain/dist/src/adapters/index.js\n/** Substrate names ordered for iteration. */\nvar ALL_SUBSTRATES = [\n\t\"brain\",\n\t\"nexus\",\n\t\"tasks\",\n\t\"conduit\",\n\t\"agent-registry\"\n];\n/** Maps substrate name to its adapter function. */\nvar ADAPTER_MAP = {\n\tbrain: getBrainSubstrate,\n\tnexus: getNexusSubstrate,\n\ttasks: getTasksSubstrate,\n\tconduit: getConduitSubstrate,\n\t\"agent-registry\": getAgentRegistrySubstrate\n};\n/**\n* Loads minimal stub nodes for any edge target IDs not already loaded.\n*\n* This second-pass loader ensures that cross-substrate edges\n* (particularly brain→nexus bridges) don't reference unloaded target nodes.\n*\n* Stub nodes carry only minimal metadata: {id, substrate, kind, label}.\n* Full details defer to side-panel click or future full-load request.\n*\n* @param loadedNodeIds - Set of already-loaded node IDs (substrate-prefixed).\n* @param edges - All edges collected from substrates (may reference unloaded targets).\n* @returns Array of stub BrainNode objects for missing targets.\n*/\nfunction loadStubNodesForEdgeTargets(loadedNodeIds, edges) {\n\tconst missingTargetIds = /* @__PURE__ */ new Set();\n\tfor (const edge of edges) if (!loadedNodeIds.has(edge.target)) missingTargetIds.add(edge.target);\n\tif (missingTargetIds.size === 0) return [];\n\tconst stubsBySubstrate = /* @__PURE__ */ new Map();\n\tfor (const nodeId of missingTargetIds) {\n\t\tconst sep = nodeId.indexOf(\":\");\n\t\tif (sep === -1) continue;\n\t\tconst substrate = nodeId.slice(0, sep);\n\t\tif (![\n\t\t\t\"brain\",\n\t\t\t\"nexus\",\n\t\t\t\"tasks\",\n\t\t\t\"conduit\",\n\t\t\t\"agent-registry\"\n\t\t].includes(substrate)) continue;\n\t\tif (!stubsBySubstrate.has(substrate)) stubsBySubstrate.set(substrate, []);\n\t\tstubsBySubstrate.get(substrate).push(nodeId);\n\t}\n\tconst stubs = [];\n\tconst nexusStubs = stubsBySubstrate.get(\"nexus\");\n\tif (nexusStubs && nexusStubs.length > 0) {\n\t\tconst db = getNexusDb();\n\t\tif (db) try {\n\t\t\tconst rawNexusIds = nexusStubs.map((id) => id.replace(/^nexus:/, \"\"));\n\t\t\tconst placeholders = rawNexusIds.map(() => \"?\").join(\",\");\n\t\t\tconst stubRows = allTyped(db.prepare(`SELECT id, kind, name\n FROM nexus_nodes\n WHERE id IN (${placeholders})`), ...rawNexusIds);\n\t\t\tfor (const row of stubRows) {\n\t\t\t\tconst kind = row.kind === \"file\" || row.kind === \"folder\" || row.kind === \"module\" ? \"file\" : \"symbol\";\n\t\t\t\tstubs.push({\n\t\t\t\t\tid: `nexus:${row.id}`,\n\t\t\t\t\tkind,\n\t\t\t\t\tsubstrate: \"nexus\",\n\t\t\t\t\tlabel: row.name,\n\t\t\t\t\tweight: void 0,\n\t\t\t\t\tcreatedAt: null,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tnexus_kind: row.kind,\n\t\t\t\t\t\tisStub: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} catch {}\n\t}\n\tfor (const [substrate, nodeIds] of stubsBySubstrate) {\n\t\tif (substrate === \"nexus\") continue;\n\t\tfor (const nodeId of nodeIds) {\n\t\t\tconst rawId = nodeId.replace(new RegExp(`^${substrate}:`), \"\");\n\t\t\tstubs.push({\n\t\t\t\tid: nodeId,\n\t\t\t\tkind: \"observation\",\n\t\t\t\tsubstrate,\n\t\t\t\tlabel: rawId,\n\t\t\t\tweight: void 0,\n\t\t\t\tcreatedAt: null,\n\t\t\t\tmeta: { isStub: true }\n\t\t\t});\n\t\t}\n\t}\n\treturn stubs;\n}\n/**\n* Queries all five substrates and merges the results into a unified BrainGraph.\n*\n* When `options.substrates` is provided, only those substrates are queried.\n* Node IDs are substrate-prefixed, so deduplication is safe to perform\n* by ID equality alone.\n*\n* After all substrates are loaded, performs a second-pass stub-node load:\n* any edge target ID not yet in the loaded node set is fetched as a minimal\n* stub (id, substrate, kind, label). This recovers cross-substrate edges\n* that would otherwise be silently dropped.\n*\n* Stub nodes carry `meta.isStub: true` for optional UI differentiation.\n*\n* @param options - Query options forwarded to each substrate adapter.\n* @returns Merged BrainGraph across all requested substrates, with stub nodes for unresolved edge targets.\n*/\nfunction getAllSubstrates(options = {}) {\n\tconst substrates = options.substrates ?? ALL_SUBSTRATES;\n\tconst limit = options.limit ?? 500;\n\tconst allNodes = [];\n\tconst allEdges = [];\n\tconst nodeCounts = Object.fromEntries(ALL_SUBSTRATES.map((s) => [s, 0]));\n\tconst edgeCounts = Object.fromEntries([...ALL_SUBSTRATES, \"cross\"].map((s) => [s, 0]));\n\tfor (const substrate of substrates) {\n\t\tconst adapter = ADAPTER_MAP[substrate];\n\t\tif (!adapter) continue;\n\t\tconst { nodes, edges } = adapter({\n\t\t\t...options,\n\t\t\tlimit\n\t\t});\n\t\tallNodes.push(...nodes);\n\t\tallEdges.push(...edges);\n\t\tnodeCounts[substrate] = nodes.length;\n\t\tfor (const edge of edges) edgeCounts[edge.substrate] = (edgeCounts[edge.substrate] ?? 0) + 1;\n\t}\n\tconst seenIds = /* @__PURE__ */ new Set();\n\tconst uniqueNodes = [];\n\tfor (const node of allNodes) if (!seenIds.has(node.id)) {\n\t\tseenIds.add(node.id);\n\t\tuniqueNodes.push(node);\n\t}\n\tconst requestedSubstrateSet = options.substrates ? new Set(options.substrates) : null;\n\tconst stubNodes = loadStubNodesForEdgeTargets(seenIds, allEdges);\n\tfor (const stubNode of stubNodes) if (!seenIds.has(stubNode.id)) {\n\t\tif (requestedSubstrateSet && !requestedSubstrateSet.has(stubNode.substrate)) continue;\n\t\tseenIds.add(stubNode.id);\n\t\tuniqueNodes.push(stubNode);\n\t}\n\tconst truncated = uniqueNodes.length >= limit;\n\treturn {\n\t\tnodes: truncated ? uniqueNodes.slice(0, limit) : uniqueNodes,\n\t\tedges: allEdges,\n\t\tcounts: {\n\t\t\tnodes: nodeCounts,\n\t\t\tedges: edgeCounts\n\t\t},\n\t\ttruncated\n\t};\n}\n//#endregion\nexport { getNexusDb as a, getConduitDb as i, getAgentRegistryDb as n, getTasksDb as o, getBrainDb as r, getAllSubstrates as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src2-DK8DKufK.js","sources":["../../../.svelte-kit/adapter-node/chunks/src2.js"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\n//#region ../lafs/dist/src/tokenEstimator.js\n/**\n* LAFS Token Estimator\n*\n* Provides character-based token estimation for LAFS envelopes and JSON payloads.\n* Uses the approximation: 1 token ≈ 4 characters.\n* Properly handles nested objects, arrays, Unicode graphemes, and circular references.\n*/\n/**\n* Count Unicode graphemes in a string.\n*\n* @param str - Input string to count\n* @returns Number of grapheme clusters in the string\n*\n* @remarks\n* Uses `Intl.Segmenter` when available (Node.js 16+, modern browsers) for\n* accurate grapheme counting. Falls back to spread-based code-point counting\n* which handles surrogate pairs but not all grapheme clusters.\n*/\nfunction countGraphemes(str) {\n\tif (typeof Intl !== \"undefined\" && \"Segmenter\" in Intl) {\n\t\tconst segmenter = new Intl.Segmenter(\"en\", { granularity: \"grapheme\" });\n\t\treturn Array.from(segmenter.segment(str)).length;\n\t}\n\treturn [...str].length;\n}\n/**\n* Default options for token estimation.\n*\n* @remarks\n* These values represent the baseline configuration used when no overrides\n* are provided to the {@link TokenEstimator} constructor.\n*/\nvar DEFAULT_OPTIONS = {\n\tcharsPerToken: 4,\n\tmaxDepth: 100,\n\tmaxStringLength: 1e5\n};\n/**\n* Character-based token estimator for JSON payloads.\n*\n* @remarks\n* Algorithm:\n* 1. Recursively traverse the value (handling circular refs via WeakSet)\n* 2. Count Unicode graphemes (not bytes) for string content\n* 3. Divide by `charsPerToken` ratio (default 4)\n* 4. Add overhead for structural JSON characters\n*\n* The estimator is intentionally conservative to avoid underestimating budget usage.\n*\n* @example\n* ```typescript\n* const estimator = new TokenEstimator({ charsPerToken: 4 });\n* const tokens = estimator.estimate({ name: \"hello\", items: [1, 2, 3] });\n* ```\n*/\nvar TokenEstimator = class {\n\t/** Resolved configuration with defaults applied */\n\toptions;\n\t/**\n\t* Create a new TokenEstimator.\n\t*\n\t* @param options - Configuration overrides (merged with defaults)\n\t*/\n\tconstructor(options = {}) {\n\t\tthis.options = {\n\t\t\t...DEFAULT_OPTIONS,\n\t\t\t...options\n\t\t};\n\t}\n\t/**\n\t* Estimate tokens for any JavaScript value.\n\t* Handles circular references, nested objects, arrays, and Unicode.\n\t*\n\t* @param value - Any value to estimate\n\t* @returns Estimated token count\n\t*/\n\testimate(value) {\n\t\treturn this.estimateWithTracking(value, /* @__PURE__ */ new WeakSet(), 0);\n\t}\n\t/**\n\t* Estimate tokens from a JSON string.\n\t* More efficient if you already have the JSON string.\n\t*\n\t* @param json - JSON string to estimate\n\t* @returns Estimated token count\n\t*/\n\testimateJSON(json) {\n\t\tconst graphemes = countGraphemes(json);\n\t\tconst structuralOverhead = Math.ceil(graphemes * .1);\n\t\treturn Math.ceil((graphemes + structuralOverhead) / this.options.charsPerToken);\n\t}\n\t/**\n\t* Internal recursive estimation with circular reference tracking.\n\t*\n\t* @param value - Value to estimate\n\t* @param seen - WeakSet tracking visited objects for circular reference detection\n\t* @param depth - Current recursion depth\n\t* @returns Estimated token count for this value\n\t*/\n\testimateWithTracking(value, seen, depth) {\n\t\tif (depth > this.options.maxDepth) return 1;\n\t\tif (value === null) return 1;\n\t\tif (value === void 0) return 1;\n\t\tconst type = typeof value;\n\t\tif (type === \"boolean\") return value ? 1 : 1;\n\t\tif (type === \"number\") return Math.ceil(countGraphemes(String(value)) / this.options.charsPerToken);\n\t\tif (type === \"string\") {\n\t\t\tconst str = value;\n\t\t\tconst graphemes = countGraphemes(str.length > this.options.maxStringLength ? str.slice(0, this.options.maxStringLength) + \"…\" : str);\n\t\t\treturn Math.ceil((graphemes + 2) / this.options.charsPerToken);\n\t\t}\n\t\tif (type === \"object\") {\n\t\t\tconst obj = value;\n\t\t\tif (seen.has(obj)) return 1;\n\t\t\tseen.add(obj);\n\t\t\ttry {\n\t\t\t\tif (Array.isArray(obj)) return this.estimateArray(obj, seen, depth);\n\t\t\t\treturn this.estimateObject(obj, seen, depth);\n\t\t\t} finally {\n\t\t\t\tseen.delete(obj);\n\t\t\t}\n\t\t}\n\t\treturn 1;\n\t}\n\t/**\n\t* Estimate tokens for an array.\n\t*\n\t* @param arr - Array to estimate\n\t* @param seen - WeakSet tracking visited objects\n\t* @param depth - Current recursion depth\n\t* @returns Estimated token count including brackets and separators\n\t*/\n\testimateArray(arr, seen, depth) {\n\t\tlet tokens = 1;\n\t\tfor (let i = 0; i < arr.length; i++) {\n\t\t\ttokens += this.estimateWithTracking(arr[i], seen, depth + 1);\n\t\t\tif (i < arr.length - 1) tokens += 1;\n\t\t}\n\t\ttokens += 1;\n\t\treturn tokens;\n\t}\n\t/**\n\t* Estimate tokens for a plain object.\n\t*\n\t* @param obj - Object to estimate\n\t* @param seen - WeakSet tracking visited objects\n\t* @param depth - Current recursion depth\n\t* @returns Estimated token count including braces, keys, colons, and separators\n\t*/\n\testimateObject(obj, seen, depth) {\n\t\tlet tokens = 1;\n\t\tconst keys = Object.keys(obj);\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key = keys[i];\n\t\t\tconst value = obj[key];\n\t\t\ttokens += Math.ceil((countGraphemes(key) + 2) / this.options.charsPerToken);\n\t\t\ttokens += 1;\n\t\t\ttokens += this.estimateWithTracking(value, seen, depth + 1);\n\t\t\tif (i < keys.length - 1) tokens += 1;\n\t\t}\n\t\ttokens += 1;\n\t\treturn tokens;\n\t}\n\t/**\n\t* Check if a value can be safely serialized (no circular refs).\n\t*\n\t* @param value - Value to check\n\t* @returns `true` if `JSON.stringify` succeeds without throwing\n\t*/\n\tcanSerialize(value) {\n\t\ttry {\n\t\t\tJSON.stringify(value);\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\t/**\n\t* Serialize a value to JSON with circular reference handling.\n\t*\n\t* @param value - Value to serialize\n\t* @returns JSON string with circular references replaced by `\"[Circular]\"`\n\t*/\n\tsafeStringify(value) {\n\t\tconst seen = /* @__PURE__ */ new WeakSet();\n\t\treturn JSON.stringify(value, (key, val) => {\n\t\t\tif (typeof val === \"object\" && val !== null) {\n\t\t\t\tif (seen.has(val)) return \"[Circular]\";\n\t\t\t\tseen.add(val);\n\t\t\t}\n\t\t\treturn val;\n\t\t});\n\t}\n\t/**\n\t* Create a deep copy of a value with circular refs replaced by `\"[Circular]\"`.\n\t*\n\t* @param value - Value to copy\n\t* @returns Deep clone with all circular references replaced\n\t*/\n\tsafeCopy(value) {\n\t\tconst seen = /* @__PURE__ */ new WeakSet();\n\t\tfunction clone(val) {\n\t\t\tif (val === null || typeof val !== \"object\") return val;\n\t\t\tif (seen.has(val)) return \"[Circular]\";\n\t\t\tseen.add(val);\n\t\t\ttry {\n\t\t\t\tif (Array.isArray(val)) return val.map(clone);\n\t\t\t\tconst result = {};\n\t\t\t\tfor (const [k, v] of Object.entries(val)) result[k] = clone(v);\n\t\t\t\treturn result;\n\t\t\t} finally {\n\t\t\t\tseen.delete(val);\n\t\t\t}\n\t\t}\n\t\treturn clone(value);\n\t}\n};\nnew TokenEstimator();\n//#endregion\n//#region ../lafs/dist/src/envelope.js\n/**\n* AsyncLocalStorage carrier holding the active {@link WarningCollector}, if any.\n*\n* @remarks\n* Exported so adapters that need to inspect (or temporarily replace) the\n* active collector can do so without instantiating their own ALS. Most\n* producers should use {@link pushWarning} and most adapters should use\n* {@link withWarningCollector} instead of touching this directly.\n*\n* @public\n*/\nvar currentWarningCollector = new AsyncLocalStorage();\n/**\n* Attach a non-fatal warning to the active operation's envelope.\n*\n* @param warning - The {@link Warning} to attach.\n*\n* @remarks\n* No-op when there is no active {@link WarningCollector} bound via\n* {@link withWarningCollector}. This means CORE / library code can call\n* `pushWarning` unconditionally without checking whether it is running\n* under a CLI adapter, a test harness, or an SDK consumer that has not yet\n* adopted the carrier.\n*\n* @example\n* ```ts\n* import { pushWarning } from '@cleocode/lafs';\n*\n* try {\n* await writeBridge(...);\n* } catch (err) {\n* pushWarning({\n* code: 'W_BRIDGE_WRITE_FAILED',\n* message: 'memory bridge write failed',\n* severity: 'warn',\n* context: { error: err instanceof Error ? err.message : String(err) },\n* });\n* }\n* ```\n*\n* @public\n*/\nfunction pushWarning(warning) {\n\tconst collector = currentWarningCollector.getStore();\n\tif (collector) collector.push(warning);\n}\n//#endregion\n//#region ../lafs/dist/src/health/index.js\n/**\n* LAFS Health Check Module\n*\n* Provides health check endpoints for monitoring and orchestration.\n*\n* @packageDocumentation\n*/\nvar require = createRequire(import.meta.url);\ntry {\n\ttry {\n\t\trequire(\"../../package.json\");\n\t} catch {\n\t\trequire(\"../../../package.json\");\n\t}\n} catch {}\n//#endregion\nexport { pushWarning as t };\n"],"names":["require"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src3-BJjf7XRG.js","sources":["../../../.svelte-kit/adapter-node/chunks/src3.js"],"sourcesContent":["import \"./dist2.js\";\nimport { createRequire } from \"node:module\";\nimport { readFileSync, readdirSync } from \"node:fs\";\nimport { join, relative } from \"node:path\";\nimport \"node:url\";\nimport \"node:fs/promises\";\nimport \"drizzle-orm\";\n//#region ../nexus/dist/src/code/tree-sitter-languages.js\n/**\n* Tree-sitter language detection and grammar resolution.\n*\n* Maps file extensions to tree-sitter language identifiers used by\n* the Smart Explore code analysis pipeline (outline, search, unfold).\n* Grammar loading is handled internally by parser.ts via native Node bindings.\n*\n* @task T509\n* @module code/tree-sitter-languages\n*/\n/** Map from file extension (without dot) to tree-sitter language. */\nvar EXTENSION_MAP = {\n\tts: \"typescript\",\n\ttsx: \"tsx\",\n\tmts: \"typescript\",\n\tcts: \"typescript\",\n\tjs: \"javascript\",\n\tjsx: \"javascript\",\n\tmjs: \"javascript\",\n\tcjs: \"javascript\",\n\tpy: \"python\",\n\tpyi: \"python\",\n\tgo: \"go\",\n\trs: \"rust\",\n\tjava: \"java\",\n\tc: \"c\",\n\th: \"c\",\n\tcpp: \"cpp\",\n\tcc: \"cpp\",\n\tcxx: \"cpp\",\n\thpp: \"cpp\",\n\thh: \"cpp\",\n\trb: \"ruby\"\n};\n/**\n* Detect tree-sitter language from a file path or file name.\n*\n* @param filePath - Path to a source file (or bare file name)\n* @returns The detected language, or undefined if unsupported\n*/\nfunction detectLanguage(filePath) {\n\tconst ext = filePath.split(\".\").pop()?.toLowerCase();\n\tif (!ext) return void 0;\n\treturn EXTENSION_MAP[ext];\n}\n[...new Set(Object.values(EXTENSION_MAP))];\n//#endregion\n//#region ../nexus/dist/src/code/parser.js\n/**\n* Tree-sitter AST parser — native Node bindings query execution engine.\n*\n* Uses the tree-sitter native Node module to parse source files in-process,\n* executing S-expression query patterns directly against the AST without\n* spawning a subprocess or writing temp files.\n*\n* @task T509\n* @module code/parser\n*/\n/** ESM-safe require for loading native tree-sitter addons. */\nvar _require$2 = createRequire(import.meta.url);\n/**\n* Load a native module via require, returning null on failure.\n*\n* @param id - Module specifier (e.g. \"tree-sitter\" or \"tree-sitter-rust\")\n*/\nfunction tryRequire(id) {\n\ttry {\n\t\treturn _require$2(id);\n\t} catch {\n\t\treturn null;\n\t}\n}\n/** The native Parser constructor (null if module unavailable). */\nvar _ParserClass = null;\n/** The native Query constructor (null if module unavailable). */\nvar _QueryClass = null;\n/** Singleton parser instance, reused across calls. */\nvar _parserInstance = null;\n/** Whether availability has been probed. */\nvar _availabilityChecked = false;\n/** Whether the native tree-sitter module loaded successfully. */\nvar _available = false;\n/**\n* Probe and cache tree-sitter native module availability.\n*\n* Loads the tree-sitter native module once and caches the result.\n* Subsequent calls return the cached value with no I/O.\n*\n* @returns True if the native module loaded successfully\n*/\nfunction isTreeSitterAvailable() {\n\tif (_availabilityChecked) return _available;\n\t_availabilityChecked = true;\n\tconst mod = tryRequire(\"tree-sitter\");\n\tif (mod === null) {\n\t\t_available = false;\n\t\treturn false;\n\t}\n\t_ParserClass = mod;\n\t_QueryClass = mod.Query ?? null;\n\t_available = _ParserClass !== null && _QueryClass !== null;\n\treturn _available;\n}\n/**\n* Get (or create) the singleton Parser instance.\n*\n* @throws {Error} If tree-sitter native module is not available\n*/\nfunction getParser() {\n\tif (_parserInstance) return _parserInstance;\n\tif (!isTreeSitterAvailable() || _ParserClass === null) throw new Error(\"tree-sitter native module not available. Run: pnpm install (tree-sitter is a bundled dependency)\");\n\t_parserInstance = new _ParserClass();\n\treturn _parserInstance;\n}\n/** Cache of loaded grammar objects, keyed by language identifier. */\nvar _grammarCache = /* @__PURE__ */ new Map();\nvar GRAMMAR_SPECS = {\n\ttypescript: {\n\t\tpkg: \"tree-sitter-typescript\",\n\t\tprop: \"typescript\"\n\t},\n\ttsx: {\n\t\tpkg: \"tree-sitter-typescript\",\n\t\tprop: \"tsx\"\n\t},\n\tjavascript: { pkg: \"tree-sitter-javascript\" },\n\tpython: { pkg: \"tree-sitter-python\" },\n\tgo: { pkg: \"tree-sitter-go\" },\n\trust: { pkg: \"tree-sitter-rust\" },\n\tjava: { pkg: \"tree-sitter-java\" },\n\tc: { pkg: \"tree-sitter-c\" },\n\tcpp: { pkg: \"tree-sitter-cpp\" },\n\truby: { pkg: \"tree-sitter-ruby\" }\n};\n/**\n* Load and cache a grammar for the given language key.\n*\n* @param langKey - Language key matching a {@link GRAMMAR_SPECS} entry\n* @returns The grammar object, or null if the package is not installed\n*/\nfunction loadGrammar(langKey) {\n\tif (_grammarCache.has(langKey)) return _grammarCache.get(langKey) ?? null;\n\tconst spec = GRAMMAR_SPECS[langKey];\n\tif (!spec) return null;\n\tconst mod = tryRequire(spec.pkg);\n\tif (mod === null) {\n\t\t_grammarCache.set(langKey, null);\n\t\treturn null;\n\t}\n\tconst grammar = spec.prop ? mod[spec.prop] : mod;\n\t_grammarCache.set(langKey, grammar ?? null);\n\treturn grammar ?? null;\n}\n/** Query patterns that match function/method/class/type declarations. */\nvar QUERY_PATTERNS = {\n\ttypescript: `\n(function_declaration name: (identifier) @name) @definition.function\n(method_definition name: (property_identifier) @name) @definition.method\n(class_declaration name: (type_identifier) @name) @definition.class\n(interface_declaration name: (type_identifier) @name) @definition.interface\n(type_alias_declaration name: (type_identifier) @name) @definition.type\n(enum_declaration name: (identifier) @name) @definition.enum\n(lexical_declaration (variable_declarator name: (identifier) @name)) @definition.variable\n(export_statement (function_declaration name: (identifier) @name)) @definition.function\n(export_statement (class_declaration name: (type_identifier) @name)) @definition.class\n(arrow_function) @definition.function\n`,\n\tjavascript: `\n(function_declaration name: (identifier) @name) @definition.function\n(method_definition name: (property_identifier) @name) @definition.method\n(class_declaration name: (identifier) @name) @definition.class\n(lexical_declaration (variable_declarator name: (identifier) @name)) @definition.variable\n(export_statement (function_declaration name: (identifier) @name)) @definition.function\n(export_statement (class_declaration name: (identifier) @name)) @definition.class\n(arrow_function) @definition.function\n`,\n\tpython: `\n(function_definition name: (identifier) @name) @definition.function\n(class_definition name: (identifier) @name) @definition.class\n(decorated_definition (function_definition name: (identifier) @name)) @definition.function\n(decorated_definition (class_definition name: (identifier) @name)) @definition.class\n`,\n\tgo: `\n(function_declaration name: (identifier) @name) @definition.function\n(method_declaration name: (field_identifier) @name) @definition.method\n(type_declaration (type_spec name: (type_identifier) @name)) @definition.type\n`,\n\trust: `\n(function_item name: (identifier) @name) @definition.function\n(impl_item type: (type_identifier) @name) @definition.impl\n(struct_item name: (type_identifier) @name) @definition.struct\n(enum_item name: (type_identifier) @name) @definition.enum\n(trait_item name: (type_identifier) @name) @definition.trait\n(type_item name: (type_identifier) @name) @definition.type\n(mod_item name: (identifier) @name) @definition.module\n`,\n\truby: `\n(method name: (identifier) @name) @definition.method\n(class name: (constant) @name) @definition.class\n(module name: (constant) @name) @definition.module\n(singleton_method name: (identifier) @name) @definition.method\n`,\n\tjava: `\n(method_declaration name: (identifier) @name) @definition.method\n(class_declaration name: (identifier) @name) @definition.class\n(interface_declaration name: (identifier) @name) @definition.interface\n(enum_declaration name: (identifier) @name) @definition.enum\n`,\n\tc: `\n(function_definition declarator: (function_declarator declarator: (identifier) @name)) @definition.function\n(struct_specifier name: (type_identifier) @name) @definition.struct\n(enum_specifier name: (type_identifier) @name) @definition.enum\n(type_definition declarator: (type_identifier) @name) @definition.type\n`,\n\tcpp: `\n(function_definition declarator: (function_declarator declarator: (qualified_identifier) @name)) @definition.function\n(function_definition declarator: (function_declarator declarator: (identifier) @name)) @definition.function\n(class_specifier name: (type_identifier) @name) @definition.class\n(struct_specifier name: (type_identifier) @name) @definition.struct\n(enum_specifier name: (type_identifier) @name) @definition.enum\n(namespace_definition name: (identifier) @name) @definition.module\n`\n};\n/** Map language to query pattern key. */\nfunction queryKeyForLanguage(lang) {\n\tif (lang === \"tsx\") return \"typescript\";\n\treturn lang;\n}\n/** Map capture name suffix to CodeSymbolKind. */\nfunction captureToKind(capture) {\n\treturn {\n\t\tfunction: \"function\",\n\t\tmethod: \"method\",\n\t\tclass: \"class\",\n\t\tinterface: \"interface\",\n\t\ttype: \"type\",\n\t\tenum: \"enum\",\n\t\tvariable: \"variable\",\n\t\tconstant: \"constant\",\n\t\tmodule: \"module\",\n\t\timport: \"import\",\n\t\texport: \"export\",\n\t\tstruct: \"struct\",\n\t\ttrait: \"trait\",\n\t\timpl: \"impl\"\n\t}[capture] ?? \"function\";\n}\n/** Cache of compiled Query objects, keyed by `<langKey>:<queryKey>`. */\nvar _queryCache = /* @__PURE__ */ new Map();\n/**\n* Get or compile a tree-sitter Query for the given language and pattern.\n*\n* @param grammar - The loaded grammar object (language)\n* @param langKey - Key used for cache lookup\n* @param pattern - S-expression query pattern string\n* @returns Compiled Query instance, or null on compilation failure\n*/\nfunction getQuery(grammar, langKey, pattern) {\n\tconst cacheKey = langKey;\n\tif (_queryCache.has(cacheKey)) return _queryCache.get(cacheKey) ?? null;\n\tif (_QueryClass === null) return null;\n\ttry {\n\t\tconst query = new _QueryClass(grammar, pattern);\n\t\t_queryCache.set(cacheKey, query);\n\t\treturn query;\n\t} catch {\n\t\treturn null;\n\t}\n}\n/**\n* Convert tree-sitter query captures into CodeSymbol objects.\n*\n* The query patterns use two capture groups per match:\n* - `@definition.<kind>` — the enclosing declaration node with line range\n* - `@name` — the identifier node containing the symbol's text\n*\n* tree-sitter's Query.captures() returns captures in document order within\n* each match. Because definition nodes enclose the name node, the definition\n* capture appears first, then the name capture for the same match.\n*\n* We pair consecutive `definition.*` + `name` captures to build symbols.\n*\n* @param captures - Raw captures from Query.captures()\n* @param filePath - Relative file path for the symbol record\n* @param language - Language identifier for the symbol record\n* @returns Extracted CodeSymbol objects\n*/\nfunction captureToSymbols(captures, filePath, language) {\n\tconst symbols = [];\n\tlet i = 0;\n\twhile (i < captures.length) {\n\t\tconst cap = captures[i];\n\t\tif (cap.name.startsWith(\"definition.\")) {\n\t\t\tconst kind = captureToKind(cap.name.slice(11));\n\t\t\tconst startLine = cap.node.startPosition.row + 1;\n\t\t\tconst endLine = cap.node.endPosition.row + 1;\n\t\t\tconst nameCap = captures[i + 1];\n\t\t\tif (nameCap && nameCap.name === \"name\") {\n\t\t\t\tconst nameText = nameCap.node.text;\n\t\t\t\tif (nameText) symbols.push({\n\t\t\t\t\tname: nameText,\n\t\t\t\t\tkind,\n\t\t\t\t\tstartLine,\n\t\t\t\t\tendLine,\n\t\t\t\t\tfilePath,\n\t\t\t\t\tlanguage\n\t\t\t\t});\n\t\t\t\ti += 2;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\ti++;\n\t}\n\treturn symbols;\n}\n/**\n* Parse a single file and extract code symbols using the native tree-sitter\n* Node module.\n*\n* Loads the grammar for the detected language, sets it on the shared parser\n* singleton, runs the compiled Query against the AST, and converts captures\n* into CodeSymbol objects.\n*\n* @param filePath - Absolute or relative path to source file\n* @param projectRoot - Project root for relative path computation\n* @returns Parse result with symbols and any errors\n*/\nfunction parseFile(filePath, projectRoot) {\n\tconst relPath = relative(projectRoot ?? process.cwd(), filePath);\n\tconst language = detectLanguage(filePath);\n\tif (!language) return {\n\t\tfilePath: relPath,\n\t\tlanguage: \"unknown\",\n\t\tsymbols: [],\n\t\terrors: [\"Unsupported language\"]\n\t};\n\tif (!isTreeSitterAvailable()) return {\n\t\tfilePath: relPath,\n\t\tlanguage,\n\t\tsymbols: [],\n\t\terrors: [\"tree-sitter native module not available. Run: pnpm install (tree-sitter is a bundled dependency)\"]\n\t};\n\tconst queryKey = queryKeyForLanguage(language);\n\tconst pattern = QUERY_PATTERNS[queryKey];\n\tif (!pattern) return {\n\t\tfilePath: relPath,\n\t\tlanguage,\n\t\tsymbols: [],\n\t\terrors: [`No query pattern for ${language}`]\n\t};\n\tconst grammar = loadGrammar(language);\n\tif (!grammar) return {\n\t\tfilePath: relPath,\n\t\tlanguage,\n\t\tsymbols: [],\n\t\terrors: [`Grammar package not installed for ${language}`]\n\t};\n\tlet source;\n\ttry {\n\t\tsource = readFileSync(filePath, \"utf-8\");\n\t} catch (err) {\n\t\treturn {\n\t\t\tfilePath: relPath,\n\t\t\tlanguage,\n\t\t\tsymbols: [],\n\t\t\terrors: [`Failed to read file: ${err instanceof Error ? err.message : String(err)}`]\n\t\t};\n\t}\n\ttry {\n\t\tconst parser = getParser();\n\t\tparser.setLanguage(grammar);\n\t\tconst tree = parser.parse(source);\n\t\tconst query = getQuery(grammar, queryKey, pattern);\n\t\tif (!query) return {\n\t\t\tfilePath: relPath,\n\t\t\tlanguage,\n\t\t\tsymbols: [],\n\t\t\terrors: [`Failed to compile query for ${language}`]\n\t\t};\n\t\treturn {\n\t\t\tfilePath: relPath,\n\t\t\tlanguage,\n\t\t\tsymbols: captureToSymbols(query.captures(tree.rootNode), relPath, language),\n\t\t\terrors: []\n\t\t};\n\t} catch (err) {\n\t\treturn {\n\t\t\tfilePath: relPath,\n\t\t\tlanguage,\n\t\t\tsymbols: [],\n\t\t\terrors: [err instanceof Error ? err.message : String(err)]\n\t\t};\n\t}\n}\n/**\n* Batch-parse multiple files, grouping by language for efficiency.\n*\n* Files are parsed individually; the parser singleton is reused across all\n* files. Grammar loading is cached so each grammar is loaded at most once\n* per process.\n*\n* @param filePaths - Array of file paths to parse\n* @param projectRoot - Project root for relative path computation\n* @returns Aggregated results with per-file breakdowns\n*/\nfunction batchParse(filePaths, projectRoot) {\n\tconst root = projectRoot ?? process.cwd();\n\tconst results = [];\n\tconst skipped = [];\n\tfor (const fp of filePaths) {\n\t\tif (!detectLanguage(fp)) {\n\t\t\tskipped.push(relative(root, fp));\n\t\t\tcontinue;\n\t\t}\n\t\tresults.push(parseFile(fp, root));\n\t}\n\treturn {\n\t\tresults,\n\t\tskipped,\n\t\ttotalSymbols: results.reduce((sum, r) => sum + r.symbols.length, 0)\n\t};\n}\n//#endregion\n//#region ../nexus/dist/src/code/search.js\n/**\n* smart_search — cross-codebase symbol search via tree-sitter.\n*\n* Walks a directory tree, batch-parses code files by language, and\n* matches symbols against a query string with relevance scoring.\n*\n* @task T152\n* @module code/search\n*/\n/**\n* Walk a directory tree and collect source files.\n*\n* Respects common ignore patterns (node_modules, dist, .git, etc.)\n* and optionally filters by file pattern and language.\n*/\nfunction collectSourceFiles(dir, options) {\n\tconst IGNORE_DIRS = new Set([\n\t\t\"node_modules\",\n\t\t\"dist\",\n\t\t\".git\",\n\t\t\".cleo\",\n\t\t\"target\",\n\t\t\"__pycache__\",\n\t\t\".next\",\n\t\t\".nuxt\",\n\t\t\"build\",\n\t\t\"coverage\",\n\t\t\".turbo\",\n\t\t\".cache\"\n\t]);\n\tconst files = [];\n\tfunction walk(currentDir) {\n\t\tlet entries;\n\t\ttry {\n\t\t\tentries = readdirSync(currentDir, {\n\t\t\t\twithFileTypes: true,\n\t\t\t\tencoding: \"utf-8\"\n\t\t\t});\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\t\tfor (const entry of entries) if (entry.isDirectory()) {\n\t\t\tif (!IGNORE_DIRS.has(entry.name) && !entry.name.startsWith(\".\")) walk(join(currentDir, entry.name));\n\t\t} else if (entry.isFile()) {\n\t\t\tconst fullPath = join(currentDir, entry.name);\n\t\t\tconst lang = detectLanguage(entry.name);\n\t\t\tif (!lang) continue;\n\t\t\tif (options.language && lang !== options.language) continue;\n\t\t\tif (options.filePattern) {\n\t\t\t\tconst relPath = relative(dir, fullPath);\n\t\t\t\tif (options.filePattern.startsWith(\"*.\")) {\n\t\t\t\t\tconst ext = options.filePattern.slice(1);\n\t\t\t\t\tif (!entry.name.endsWith(ext)) continue;\n\t\t\t\t} else if (!relPath.includes(options.filePattern.replace(\"/**\", \"\"))) continue;\n\t\t\t}\n\t\t\tfiles.push(fullPath);\n\t\t}\n\t}\n\twalk(dir);\n\treturn files;\n}\n/**\n* Score a symbol against a query string.\n*\n* Scoring: exact name match (10) > substring in name (5) >\n* path match (3) > fuzzy (1).\n*/\nfunction scoreSymbol(symbol, query) {\n\tconst q = query.toLowerCase();\n\tconst name = symbol.name.toLowerCase();\n\tconst path = symbol.filePath.toLowerCase();\n\tif (name === q) return {\n\t\tscore: 10,\n\t\tmatchType: \"exact\"\n\t};\n\tif (name.includes(q)) return {\n\t\tscore: 5,\n\t\tmatchType: \"substring\"\n\t};\n\tif (path.includes(q)) return {\n\t\tscore: 3,\n\t\tmatchType: \"path\"\n\t};\n\tlet qi = 0;\n\tfor (let ni = 0; ni < name.length && qi < q.length; ni++) if (name[ni] === q[qi]) qi++;\n\tif (qi === q.length) return {\n\t\tscore: 1,\n\t\tmatchType: \"fuzzy\"\n\t};\n\treturn {\n\t\tscore: 0,\n\t\tmatchType: \"fuzzy\"\n\t};\n}\n/**\n* Search for symbols across a codebase.\n*\n* Walks the directory tree, batch-parses source files, and returns\n* symbols matching the query ranked by relevance score.\n*\n* @param query - Search string to match against symbol names and paths\n* @param options - Search options (maxResults, filePattern, language, rootDir)\n* @returns Ranked array of search results\n*/\nfunction smartSearch(query, options = {}) {\n\tconst rootDir = options.rootDir ?? process.cwd();\n\tconst maxResults = options.maxResults ?? 20;\n\tconst parsed = batchParse(collectSourceFiles(rootDir, options), rootDir);\n\tconst results = [];\n\tfor (const fileResult of parsed.results) for (const symbol of fileResult.symbols) {\n\t\tconst { score, matchType } = scoreSymbol(symbol, query);\n\t\tif (score > 0) results.push({\n\t\t\tsymbol,\n\t\t\tscore,\n\t\t\tmatchType\n\t\t});\n\t}\n\tresults.sort((a, b) => b.score - a.score || a.symbol.name.localeCompare(b.symbol.name));\n\treturn results.slice(0, maxResults);\n}\n//#endregion\n//#region ../nexus/dist/src/intelligence/impact.js\n/**\n* BFS-based impact analysis for the code intelligence graph.\n*\n* Given a target symbol name (or node ID), performs a breadth-first traversal\n* of the graph relations to find all nodes that depend on the target — i.e.,\n* the upstream impact of a change.\n*\n* Results are grouped into three depth tiers that reflect urgency:\n*\n* - **d=1** (`depth1_willBreak`): Direct callers/importers — WILL BREAK.\n* - **d=2** (`depth2_likelyAffected`): Indirect dependants — LIKELY AFFECTED.\n* - **d=3** (`depth3_mayNeedTesting`): Transitive dependants — MAY NEED TESTING.\n*\n* Risk classification follows GitNexus conventions:\n* - `low` — 0–3 direct dependants, no cross-module spread\n* - `medium` — 4–9 direct dependants, or limited cross-module spread\n* - `high` — 10+ direct dependants, or significant cross-module spread\n* - `critical` — exported symbol with high cross-module usage\n*\n* Ported and adapted from GitNexus local-backend impact implementation for\n* CLEO's in-process, graph-in-memory use case (no LadybugDB required).\n*\n* @task T512\n* @module intelligence/impact\n*/\n/**\n* Relation types that indicate cross-module usage (IMPORTS between different files).\n* Used to detect cross-module spread for `critical` risk classification.\n*/\nvar CROSS_MODULE_TYPES = new Set([\n\t\"imports\",\n\t\"extends\",\n\t\"implements\"\n]);\n/**\n* Default relation types included in upstream impact traversal.\n*/\nvar DEFAULT_UPSTREAM_TYPES = [\n\t\"calls\",\n\t\"imports\",\n\t\"extends\",\n\t\"implements\",\n\t\"method_overrides\",\n\t\"method_implements\"\n];\n/**\n* Classify risk level from the BFS result set.\n*\n* Risk is determined by:\n* 1. The number of direct (d=1) dependants\n* 2. Whether there is significant cross-module spread\n* 3. Whether the target is exported (exported + cross-module → critical)\n*\n* @param targetNode - The analyzed symbol node\n* @param depth1 - Direct dependants (d=1)\n* @param depth2 - Indirect dependants (d=2)\n* @param depth3 - Transitive dependants (d=3)\n* @param relations - All graph relations (used to check cross-module spread)\n* @returns Risk level string\n*/\nfunction classifyRisk(targetNode, depth1, depth2, depth3, relations) {\n\tconst directCount = depth1.length;\n\tconst total = directCount + depth2.length + depth3.length;\n\tconst targetFilePath = targetNode.filePath;\n\tconst crossModuleCount = relations.filter((r) => CROSS_MODULE_TYPES.has(r.type) && r.source !== targetFilePath && r.target !== targetFilePath).length;\n\tif (targetNode.exported && crossModuleCount >= 5 && total >= 10) return \"critical\";\n\tif (targetNode.exported && directCount >= 10) return \"critical\";\n\tif (directCount >= 10 || directCount >= 5 && crossModuleCount >= 3) return \"high\";\n\tif (directCount >= 4 || crossModuleCount >= 2) return \"medium\";\n\treturn \"low\";\n}\n/**\n* Compose a human-readable summary of the impact result.\n*\n* @param target - Target symbol name\n* @param riskLevel - Assessed risk level\n* @param depth1Count - Number of direct dependants\n* @param totalCount - Total affected nodes\n* @returns Summary string suitable for display\n*/\nfunction composeSummary(target, riskLevel, depth1Count, totalCount) {\n\tconst riskLabel = riskLevel.toUpperCase();\n\tif (totalCount === 0) return `${target}: no dependants found — risk ${riskLabel}`;\n\treturn `${target}: ${depth1Count} direct dependant(s), ${totalCount} total affected node(s) — risk ${riskLabel}`;\n}\n/**\n* Build an adjacency map for fast BFS traversal.\n*\n* For upstream analysis (callers): maps target node ID → set of source node IDs.\n* For downstream analysis (callees): maps source node ID → set of target node IDs.\n*\n* @param relations - All graph relations\n* @param allowedTypes - Set of relation types to include\n* @param direction - Traversal direction\n* @param minConfidence - Minimum confidence threshold\n* @returns Map from node ID → adjacent node IDs\n*/\nfunction buildAdjacency(relations, allowedTypes, direction, minConfidence) {\n\tconst adj = /* @__PURE__ */ new Map();\n\tfor (const rel of relations) {\n\t\tif (!allowedTypes.has(rel.type)) continue;\n\t\tif (rel.confidence < minConfidence) continue;\n\t\tconst from = direction === \"upstream\" ? rel.target : rel.source;\n\t\tconst to = direction === \"upstream\" ? rel.source : rel.target;\n\t\tlet neighbors = adj.get(from);\n\t\tif (!neighbors) {\n\t\t\tneighbors = /* @__PURE__ */ new Set();\n\t\t\tadj.set(from, neighbors);\n\t\t}\n\t\tneighbors.add(to);\n\t}\n\treturn adj;\n}\n/**\n* Perform BFS-based impact analysis starting from a target symbol.\n*\n* Finds the target node by name or ID in `nodes`, then traverses the\n* relations graph up to `maxDepth` hops to discover all dependants (upstream)\n* or dependencies (downstream).\n*\n* Results are grouped into three depth tiers matching the GitNexus convention\n* used by the GitNexus CLAUDE.md impact risk table:\n*\n* | Depth | Meaning | Action required |\n* |-------|-----------------------------|---------------------|\n* | d=1 | WILL BREAK — direct callers | MUST update |\n* | d=2 | LIKELY AFFECTED | Should test |\n* | d=3 | MAY NEED TESTING | Test if critical |\n*\n* @param target - Symbol name or node ID to analyze (matched by `name` first,\n* then by `id` if no name match is found)\n* @param nodes - All graph nodes in the codebase\n* @param relations - All graph relations in the codebase\n* @param options - Optional BFS configuration\n* @returns Structured impact result with depth-grouped nodes and risk level,\n* or an impact result with empty arrays if the target is not found\n*/\nfunction analyzeImpact(target, nodes, relations, options) {\n\tconst maxDepth = options?.maxDepth ?? 3;\n\tconst direction = options?.direction ?? \"upstream\";\n\tconst minConfidence = options?.minConfidence ?? 0;\n\tconst allowedTypes = options?.relationTypes ? new Set(options.relationTypes) : new Set(DEFAULT_UPSTREAM_TYPES);\n\tconst nodeById = /* @__PURE__ */ new Map();\n\tconst nodeByName = /* @__PURE__ */ new Map();\n\tfor (const node of nodes) {\n\t\tnodeById.set(node.id, node);\n\t\tif (!nodeByName.has(node.name)) nodeByName.set(node.name, node);\n\t}\n\tconst targetNode = nodeByName.get(target) ?? nodeById.get(target);\n\tif (!targetNode) return {\n\t\ttarget,\n\t\triskLevel: \"low\",\n\t\tsummary: `${target}: not found in graph`,\n\t\taffectedByDepth: {\n\t\t\tdepth1_willBreak: [],\n\t\t\tdepth2_likelyAffected: [],\n\t\t\tdepth3_mayNeedTesting: []\n\t\t},\n\t\ttotalAffected: 0\n\t};\n\tconst adj = buildAdjacency(relations, allowedTypes, direction, minConfidence);\n\tconst visited = new Set([targetNode.id]);\n\tconst depth1 = [];\n\tconst depth2 = [];\n\tconst depth3 = [];\n\tlet frontier = [targetNode.id];\n\tfor (let depth = 1; depth <= Math.min(maxDepth, 3); depth++) {\n\t\tconst nextFrontier = [];\n\t\tfor (const nodeId of frontier) {\n\t\t\tconst neighbors = adj.get(nodeId);\n\t\t\tif (!neighbors) continue;\n\t\t\tfor (const neighborId of neighbors) {\n\t\t\t\tif (visited.has(neighborId)) continue;\n\t\t\t\tvisited.add(neighborId);\n\t\t\t\tconst neighborNode = nodeById.get(neighborId);\n\t\t\t\tif (!neighborNode) continue;\n\t\t\t\tnextFrontier.push(neighborId);\n\t\t\t\tif (depth === 1) depth1.push(neighborNode);\n\t\t\t\telse if (depth === 2) depth2.push(neighborNode);\n\t\t\t\telse if (depth === 3) depth3.push(neighborNode);\n\t\t\t}\n\t\t}\n\t\tfrontier = nextFrontier;\n\t\tif (frontier.length === 0) break;\n\t}\n\tconst totalAffected = depth1.length + depth2.length + depth3.length;\n\tconst riskLevel = classifyRisk(targetNode, depth1, depth2, depth3, relations);\n\treturn {\n\t\ttarget,\n\t\triskLevel,\n\t\tsummary: composeSummary(target, riskLevel, depth1.length, totalAffected),\n\t\taffectedByDepth: {\n\t\t\tdepth1_willBreak: depth1,\n\t\t\tdepth2_likelyAffected: depth2,\n\t\t\tdepth3_mayNeedTesting: depth3\n\t\t},\n\t\ttotalAffected\n\t};\n}\nObject.freeze({\n\tget: () => void 0,\n\tgetInsensitive: () => void 0,\n\tgetFilesInDir: () => []\n});\n//#endregion\n//#region ../nexus/dist/src/pipeline/community-processor.js\n/**\n* Community Detection Processor — Phase 5\n*\n* Uses the Leiden algorithm (@aflsolutions/graphology-communities-leiden) to\n* detect communities/clusters in the code graph based on CALLS, EXTENDS, and\n* IMPLEMENTS relationships.\n*\n* Communities represent groups of code that work together frequently,\n* helping agents navigate the codebase by functional area rather than by\n* file structure.\n*\n* ALGORITHM NOTE (T1733 — swap decision):\n* - Uses @aflsolutions/graphology-communities-leiden v1.1.1, a maintained\n* extraction of the graphology community detection algorithm.\n* - The prior pure-TS leiden.ts (T1063) had a broken modularity-gain formula:\n* (2*edgesToTarget - edgesToCurrent - degree) / totalWeight always returned\n* 0 because it omitted the community-level sigma_tot term from the\n* Newman-Girvan formula. This caused every node to remain a singleton\n* community with modularity=0 on all tested graphs.\n* - Benchmark (T1733): AFL correctly produced 5/50/200/672 communities on\n* perfectly-structured clique and realistic graphs; pure-TS produced\n* N (one-per-node) communities with modularity=0.000 in all cases.\n* - AFL modularity scores: 0.80 (tiny), 0.98 (medium), 0.995 (large clique),\n* 0.20–0.49 on realistic graphs. Consistent with expected behaviour.\n* - Wall-clock: AFL ~2–3× slower on large graphs (333ms vs 84ms at 7k nodes)\n* but pure-TS was producing worthless output, so throughput is irrelevant.\n* - Bundle cost: +39 KB unpacked (4 transitive deps: graphology-indices,\n* graphology-utils, mnemonist, pandemonium) vs 11 KB for leiden.js.\n* Acceptable for a server-side pipeline package.\n*\n* Ported and adapted from GitNexus\n* `src/core/ingestion/community-processor.ts`\n*\n* @task T538, T1063, T1733\n* @module pipeline/community-processor\n*/\nvar _require$1 = createRequire(import.meta.url);\n_require$1(\"graphology\");\n_require$1(\"@aflsolutions/graphology-communities-leiden\");\ncreateRequire(import.meta.url);\n//#endregion\nexport { parseFile as a, isTreeSitterAvailable as i, smartSearch as n, detectLanguage as o, batchParse as r, analyzeImpact as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"src4-DNleK_t_.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|