@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":"nexus-plasticity-BTfU8cW_.js","sources":["../../../.svelte-kit/adapter-node/chunks/nexus-plasticity.js"],"sourcesContent":["import { t as typedAll } from \"./typed-query.js\";\n//#region ../core/dist/memory/nexus-plasticity.js\n/**\n* NEXUS plasticity — Hebbian co-access strengthening for nexus_relations edges.\n*\n* Implements \"fire together, wire together\": each time two nodes are\n* co-accessed during BRAIN retrieval, the directed edge(s) between them in\n* nexus_relations gain plasticity weight. Weight is capped at 1.0 to prevent\n* runaway strengthening.\n*\n* T11545 (ADR-090 §5.3) partitioned the plasticity columns (`weight`,\n* `last_accessed_at`, `co_accessed_count`) out of `nexus_relations` into the\n* sibling 1:1 `nexus_relation_weights` table (keyed by `relation_id`). Writes\n* here UPSERT that sibling table; rows are created lazily on first strengthen.\n*\n* Designed as Step 6b in runConsolidation (brain-lifecycle.ts) so every\n* nexus-backed read passively strengthens the code-graph edges that\n* participated in that retrieval.\n*\n* @task T998\n* @task T11545\n* @epic T991\n*/\n/** Increment applied to `weight` per co-access event. */\nvar WEIGHT_INCREMENT = .05;\n/** Default plasticity half-life in days (configurable via CLEO_PLASTICITY_HALFLIFE_DAYS env var). */\nvar DEFAULT_PLASTICITY_HALFLIFE_DAYS = 14;\n/**\n* Strengthen nexus_relations edges for co-accessed node pairs.\n*\n* For each `{sourceId, targetId}` pair, UPSERTs into the partitioned\n* `nexus_relation_weights` table (T11545 · ADR-090 §5.3) for every matching\n* `nexus_relations.id`:\n* ```sql\n* INSERT INTO nexus_relation_weights (relation_id, weight, last_accessed_at, co_accessed_count)\n* SELECT id, MIN(1.0, 0.05), datetime('now'), 1\n* FROM nexus_relations\n* WHERE source_id = ? AND target_id = ?\n* ON CONFLICT(relation_id) DO UPDATE SET\n* weight = MIN(1.0, weight + 0.05),\n* co_accessed_count = co_accessed_count + 1,\n* last_accessed_at = excluded.last_accessed_at\n* ```\n*\n* A weights row is created lazily on first strengthen and never for a pair that\n* has no matching code-graph edge — when the SELECT is empty, zero rows change\n* and the pair is silently skipped (recorded in `result.skipped`). This keeps\n* the plasticity pass additive and non-destructive.\n*\n* This function is safe to call from any consolidation context. It\n* gracefully no-ops when nexus.db has not been initialised (returns zeros).\n*\n* @param pairs - Array of source/target ID pairs to strengthen.\n* @returns Counts of strengthened and skipped pairs.\n*\n* @example\n* ```typescript\n* const result = await strengthenNexusCoAccess([\n* { sourceId: 'src/foo.ts::bar', targetId: 'src/baz.ts::qux' },\n* ]);\n* // result.strengthened → 1 (if edge existed)\n* // result.skipped → 0\n* ```\n*/\nasync function strengthenNexusCoAccess(pairs) {\n\tif (pairs.length === 0) return {\n\t\tstrengthened: 0,\n\t\tskipped: 0\n\t};\n\tconst { getNexusNativeDb } = await import(\"./nexus-sqlite.js\");\n\tconst nativeDb = getNexusNativeDb();\n\tif (!nativeDb) return {\n\t\tstrengthened: 0,\n\t\tskipped: 0\n\t};\n\ttry {\n\t\tnativeDb.prepare(\"SELECT relation_id FROM nexus_relation_weights LIMIT 1\").get();\n\t} catch {\n\t\treturn {\n\t\t\tstrengthened: 0,\n\t\t\tskipped: 0\n\t\t};\n\t}\n\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\tlet strengthened = 0;\n\tlet skipped = 0;\n\tconst stmt = nativeDb.prepare(`\n INSERT INTO nexus_relation_weights (relation_id, weight, last_accessed_at, co_accessed_count)\n SELECT id, MIN(1.0, ${WEIGHT_INCREMENT}), ?, 1\n FROM nexus_relations\n WHERE source_id = ? AND target_id = ?\n ON CONFLICT(relation_id) DO UPDATE SET\n weight = MIN(1.0, nexus_relation_weights.weight + ${WEIGHT_INCREMENT}),\n co_accessed_count = nexus_relation_weights.co_accessed_count + 1,\n last_accessed_at = excluded.last_accessed_at\n `);\n\tfor (const pair of pairs) try {\n\t\tconst result = stmt.run(now, pair.sourceId, pair.targetId);\n\t\tif ((typeof result.changes === \"number\" ? result.changes : 0) > 0) strengthened++;\n\t\telse skipped++;\n\t} catch {\n\t\tskipped++;\n\t}\n\treturn {\n\t\tstrengthened,\n\t\tskipped\n\t};\n}\n/**\n* Apply temporal decay to nexus_relations plasticity weights.\n*\n* Weights decay exponentially based on days since last access using a\n* configurable half-life. Formula:\n* ```\n* new_weight = weight * (0.5 ^ (daysSinceLastAccess / halfLifeDays))\n* ```\n*\n* The half-life can be configured via the `CLEO_PLASTICITY_HALFLIFE_DAYS`\n* environment variable (default 14 days). This matches the development\n* cadence of typical projects: edges unused for 14 days halve their weight,\n* unused for 28 days drop to 0.25, and so on.\n*\n* Only updates rows where `last_accessed_at` is not NULL — new edges\n* with no access record are left unchanged.\n*\n* Operates on the GLOBAL nexus.db (resolved via `getCleoHome()` through the\n* singleton `getNexusNativeDb()`), not a per-project database. The function\n* takes no arguments intentionally — nexus.db spans all projects in a\n* CLEO installation and decay is applied globally.\n*\n* @returns Decay result including row count and parameters used\n*\n* @example\n* ```typescript\n* const result = await applyPlasticityDecay();\n* console.log(`Decayed ${result.updated} edges with ${result.halfLifeDays}-day half-life`);\n* ```\n*/\nasync function applyPlasticityDecay() {\n\tconst { getNexusNativeDb } = await import(\"./nexus-sqlite.js\");\n\tconst nativeDb = getNexusNativeDb();\n\tif (!nativeDb) return {\n\t\tupdated: 0,\n\t\thalfLifeDays: DEFAULT_PLASTICITY_HALFLIFE_DAYS,\n\t\tdecayPerDay: 1 - .5 ** (1 / DEFAULT_PLASTICITY_HALFLIFE_DAYS)\n\t};\n\tconst halfLifeDays = Number.parseFloat(process.env.CLEO_PLASTICITY_HALFLIFE_DAYS ?? String(DEFAULT_PLASTICITY_HALFLIFE_DAYS));\n\tif (!Number.isFinite(halfLifeDays) || halfLifeDays <= 0) return {\n\t\tupdated: 0,\n\t\thalfLifeDays: DEFAULT_PLASTICITY_HALFLIFE_DAYS,\n\t\tdecayPerDay: 1 - .5 ** (1 / DEFAULT_PLASTICITY_HALFLIFE_DAYS)\n\t};\n\tconst decayPerDay = 1 - .5 ** (1 / halfLifeDays);\n\ttry {\n\t\tnativeDb.prepare(\"SELECT weight, last_accessed_at FROM nexus_relation_weights LIMIT 1\").get();\n\t} catch {\n\t\treturn {\n\t\t\tupdated: 0,\n\t\t\thalfLifeDays,\n\t\t\tdecayPerDay\n\t\t};\n\t}\n\tconst stmt = nativeDb.prepare(`\n UPDATE nexus_relation_weights\n SET weight = MAX(0.0, weight * EXP(LN(0.5) * (julianday('now') - julianday(last_accessed_at)) / ?))\n WHERE last_accessed_at IS NOT NULL AND weight > 0.001\n `);\n\ttry {\n\t\tconst result = stmt.run(halfLifeDays);\n\t\treturn {\n\t\t\tupdated: typeof result.changes === \"number\" ? result.changes : 0,\n\t\t\thalfLifeDays,\n\t\t\tdecayPerDay\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tupdated: 0,\n\t\t\thalfLifeDays,\n\t\t\tdecayPerDay\n\t\t};\n\t}\n}\n/**\n* Parse entry_ids which may be either JSON array or comma-separated string (BUG-2 fix).\n*\n* @param raw - Raw entry_ids value from brain_retrieval_log\n* @returns Parsed array of entry IDs, or empty array if parse fails\n*/\nfunction parseEntryIds(raw) {\n\tconst trimmed = raw.trim();\n\tif (trimmed.startsWith(\"[\")) try {\n\t\tconst parsed = JSON.parse(trimmed);\n\t\treturn Array.isArray(parsed) ? parsed : [];\n\t} catch {\n\t\treturn [];\n\t}\n\treturn trimmed.split(\",\").map((s) => s.trim()).filter(Boolean);\n}\n/**\n* Extract nexus node ID pairs from the brain_retrieval_log that were\n* co-retrieved in the same search session.\n*\n* Used by Step 6b in runConsolidation to derive which nexus edges to\n* strengthen from recent BRAIN retrieval activity.\n*\n* The entry_ids column stores a JSON array of brain entry IDs (e.g.,\n* `[\"D-abc\", \"L-def\", \"O-ghi\"]`). These are mapped to nexus node IDs\n* via the brain-nexus bridge (brain_page_edges of type `documents` /\n* `applies_to`). When no bridge data is available, the raw brain IDs\n* are returned as-is — callers should filter non-node-format IDs before\n* passing to nexus_relations.\n*\n* BUG-1 fix: The lookback window is separate from insertion timestamp.\n* Consolidation scans retrieval events within `lookbackDays` of now.\n*\n* @param projectRoot - Project root for brain.db resolution.\n* @param lookbackDays - How far back in time to scan retrieval events (default 30 days).\n* @returns Deduplicated source/target pairs ready for strengthenNexusCoAccess.\n*/\nasync function extractNexusPairsFromRetrievalLog(projectRoot, lookbackDays = 30) {\n\tconst { getBrainDb, getBrainNativeDb } = await import(\"./memory-sqlite2.js\");\n\tawait getBrainDb(projectRoot);\n\tconst nativeDb = getBrainNativeDb(projectRoot);\n\tif (!nativeDb) return [];\n\ttry {\n\t\tnativeDb.prepare(\"SELECT 1 FROM brain_retrieval_log LIMIT 1\").get();\n\t} catch {\n\t\treturn [];\n\t}\n\tconst cutoff = (/* @__PURE__ */ new Date(Date.now() - lookbackDays * 24 * 60 * 60 * 1e3)).toISOString().replace(\"T\", \" \").slice(0, 19);\n\tlet rows = [];\n\ttry {\n\t\trows = typedAll(nativeDb.prepare(`SELECT entry_ids FROM brain_retrieval_log WHERE created_at >= ? LIMIT 1000`), cutoff);\n\t} catch {\n\t\treturn [];\n\t}\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst pairs = [];\n\tfor (const row of rows) {\n\t\tconst ids = parseEntryIds(row.entry_ids);\n\t\tif (ids.length < 2) continue;\n\t\tfor (let i = 0; i < ids.length; i++) for (let j = i + 1; j < ids.length; j++) {\n\t\t\tconst a = ids[i];\n\t\t\tconst b = ids[j];\n\t\t\tif (!a || !b) continue;\n\t\t\tconst fwd = `${a}|${b}`;\n\t\t\tconst rev = `${b}|${a}`;\n\t\t\tif (!seen.has(fwd)) {\n\t\t\t\tseen.add(fwd);\n\t\t\t\tpairs.push({\n\t\t\t\t\tsourceId: a,\n\t\t\t\t\ttargetId: b\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (!seen.has(rev)) {\n\t\t\t\tseen.add(rev);\n\t\t\t\tpairs.push({\n\t\t\t\t\tsourceId: b,\n\t\t\t\t\ttargetId: a\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn pairs;\n}\n//#endregion\nexport { applyPlasticityDecay, extractNexusPairsFromRetrievalLog, strengthenNexusCoAccess };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-risk-audit-p379-TU5.js","sources":["../../../.svelte-kit/adapter-node/chunks/nexus-risk-audit.js"],"sourcesContent":["import { u as getProjectRoot } from \"./paths.js\";\nimport { join } from \"node:path\";\nimport { appendFile, mkdir } from \"node:fs/promises\";\n//#region ../core/dist/tasks/nexus-risk-audit.js\n/**\n* IVTR Breaking-Change Gate — audit trail for nexus risk acknowledgments.\n*\n* Records acknowledgments to `.cleo/audit/nexus-risk-ack.jsonl` when a worker\n* bypasses the nexusImpact gate with `--acknowledge-risk \"<reason>\"`.\n*\n* @task T1073\n* @epic T1042\n*/\n/**\n* Append a nexus risk acknowledgment entry to the audit file.\n*\n* Creates `.cleo/audit/` directory if it does not exist and atomically appends\n* a single-line JSON entry to `.cleo/audit/nexus-risk-ack.jsonl`.\n*\n* @param entry - The acknowledgment entry to audit\n* @param projectRoot - Absolute path to project root (defaults to getProjectRoot())\n*/\nasync function appendNexusRiskAck(entry, projectRoot) {\n\tconst auditDir = join(projectRoot ?? getProjectRoot(), \".cleo\", \"audit\");\n\ttry {\n\t\tawait mkdir(auditDir, { recursive: true });\n\t} catch (err) {\n\t\tif (!(err instanceof Error) || !err.message.includes(\"EEXIST\")) throw err;\n\t}\n\tawait appendFile(join(auditDir, \"nexus-risk-ack.jsonl\"), `${JSON.stringify(entry)}\\n`, { encoding: \"utf8\" });\n}\n//#endregion\nexport { appendNexusRiskAck };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE;AACtD,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;AACzE,CAAC,IAAI;AACL,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG;AAC3E,CAAC;AACD,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC7G;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-schema-zeygY8OD.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-schema2-DP0Qd7CA.js","sources":["../../../.svelte-kit/adapter-node/chunks/nexus-schema2.js"],"sourcesContent":["import { r as __exportAll } from \"./chunk.js\";\nimport { index, integer, real, sqliteTable, text } from \"drizzle-orm/sqlite-core\";\nimport { sql } from \"drizzle-orm\";\n//#region ../core/dist/store/schema/nexus-schema.js\n/**\n* Drizzle ORM runtime schema for the CLEO nexus domain inside the consolidated\n* GLOBAL `cleo.db` (SQLite via node:sqlite).\n*\n* Tables (post-cutover PREFIXED physical names — T11578 · AC3):\n* nexus_project_registry, nexus_audit_log, nexus_schema_meta, nexus_nodes,\n* nexus_relations, nexus_relation_weights, nexus_contracts,\n* nexus_user_profile, nexus_sigils, nexus_project_id_aliases.\n* Stores cross-project registry and audit infrastructure for the Nexus domain,\n* plus the code intelligence graph layer (nodes + directed edges), plus the\n* global user identity / preference profile (PSYCHE Wave 1 — T1077), plus the\n* peer-card sigil identity layer (PSYCHE Wave 8 — T1148).\n*\n* ## COMPLETE-CUTOVER to prefixed `nexus_*` tables (T11578 · AC3)\n*\n* The nexus runtime READ + WRITE path now targets the PREFIXED consolidated\n* tables the consolidated cleo-global migration\n* (`drizzle-cleo-global/…t11363-consolidation-cleo-global`) creates — NOT the\n* legacy BARE tables (`project_registry`, `user_profile`, `sigils`,\n* `project_id_aliases`). Only the four registry/identity table NAMES change\n* (bare → `nexus_*`); the five already-prefixed tables (`nexus_audit_log`,\n* `nexus_schema_meta`, `nexus_nodes`, `nexus_relations`, `nexus_contracts`)\n* keep identity. The TypeScript EXPORT symbol names are intentionally\n* UNCHANGED (`projectRegistry`, `userProfile`, `sigils`, `projectIdAliases`,\n* …) so every accessor that imports them needs ZERO source change — only the\n* physical table they map to moves to the prefixed shape.\n*\n* ## Shape parity with the consolidated migration (T11578 · AC3)\n*\n* The consolidated migration (T11363) injects enum/format `CHECK` constraints\n* and canonical TEXT ISO-8601 timestamp affinity. To keep the runtime drizzle\n* mapping aligned with the physical tables it now queries:\n* - `nexus_user_profile.{firstObservedAt,lastReinforcedAt}` and\n* `nexus_sigils.{createdAt,updatedAt}` are canonical TEXT ISO-8601 (were\n* `integer({ mode:'timestamp' })`). The writers pass `.toISOString()` so\n* the `GLOB 'YYYY-MM-DD*'` CHECK is satisfied.\n* - The Hebbian plasticity columns (`weight`, `last_accessed_at`,\n* `co_accessed_count`) are PARTITIONED out of `nexus_relations` into the\n* sibling `nexus_relation_weights` table (T11545 · ADR-090 §5.3). The\n* `nexus-sqlite.ts` open path drops the inline columns from the consolidated\n* `nexus_relations` (which still carries them in the T11363 shape) and\n* ensures the sibling table.\n*\n* ## ADR-090 residency split — graph tables PROJECT-scoped (T11648)\n*\n* The four code-graph tables (`nexus_nodes`, `nexus_relations`,\n* `nexus_contracts`, `nexus_code_index`) + the `nexus_relation_weights`\n* plasticity sibling no longer carry `project_id` (ADR-090 §2.1): they live in\n* the PROJECT `cleo.db` and `nexus-sqlite.ts` opens the project scope as `main`,\n* so scope is implicit. The graph accessors therefore DROP the former\n* `WHERE project_id = ?` predicate (single project per DB). The\n* registry/identity tables (`nexus_project_registry`, `nexus_user_profile`,\n* `nexus_sigils`, `nexus_project_id_aliases`, `nexus_audit_log`,\n* `nexus_schema_meta`) stay GLOBAL and are reached through the\n* `nexus_global` ATTACH (see `nexus-sqlite.ts`); their mappings are unchanged.\n*\n* @task T5365\n* @task T529\n* @task T1077\n* @task T1148\n* @task T11578\n* @task T11648\n*/\nvar nexus_schema_exports = /* @__PURE__ */ __exportAll({\n\tNEXUS_CONTRACT_TYPES: () => NEXUS_CONTRACT_TYPES,\n\tNEXUS_NODE_KINDS: () => NEXUS_NODE_KINDS,\n\tNEXUS_RELATION_TYPES: () => NEXUS_RELATION_TYPES,\n\tSIGIL_ROLES: () => SIGIL_ROLES,\n\tnexusAuditLog: () => nexusAuditLog,\n\tnexusContracts: () => nexusContracts,\n\tnexusNodes: () => nexusNodes,\n\tnexusRelationWeights: () => nexusRelationWeights,\n\tnexusRelations: () => nexusRelations,\n\tnexusSchemaMeta: () => nexusSchemaMeta,\n\tprojectIdAliases: () => projectIdAliases,\n\tprojectRegistry: () => projectRegistry,\n\tsigils: () => sigils,\n\tuserProfile: () => userProfile\n});\n/** Central registry of all CLEO projects known to the Nexus. */\nvar projectRegistry = sqliteTable(\"nexus_project_registry\", {\n\tprojectId: text(\"project_id\").primaryKey(),\n\tprojectHash: text(\"project_hash\").notNull().unique(),\n\tprojectPath: text(\"project_path\").notNull().unique(),\n\tname: text(\"name\").notNull(),\n\tregisteredAt: text(\"registered_at\").notNull().default(sql`(datetime('now'))`),\n\tlastSeen: text(\"last_seen\").notNull().default(sql`(datetime('now'))`),\n\thealthStatus: text(\"health_status\").notNull().default(\"unknown\"),\n\thealthLastCheck: text(\"health_last_check\"),\n\tpermissions: text(\"permissions\").notNull().default(\"read\"),\n\tlastSync: text(\"last_sync\").notNull().default(sql`(datetime('now'))`),\n\ttaskCount: integer(\"task_count\").notNull().default(0),\n\tlabelsJson: text(\"labels_json\").notNull().default(\"[]\"),\n\tbrainDbPath: text(\"brain_db_path\"),\n\ttasksDbPath: text(\"tasks_db_path\"),\n\tlastIndexed: text(\"last_indexed\"),\n\tstatsJson: text(\"stats_json\").notNull().default(\"{}\")\n}, (table) => [\n\tindex(\"idx_nexus_project_registry_hash\").on(table.projectHash),\n\tindex(\"idx_nexus_project_registry_health\").on(table.healthStatus),\n\tindex(\"idx_nexus_project_registry_name\").on(table.name),\n\tindex(\"idx_nexus_project_registry_last_indexed\").on(table.lastIndexed)\n]);\n/**\n* Maps legacy base64url(path) project IDs to their canonical IDs.\n*\n* Populated during W5 identity migration. Allows the dispatch layer to\n* resolve old IDs transparently without breaking existing integrations.\n*\n* @task T9149\n*/\nvar projectIdAliases = sqliteTable(\"nexus_project_id_aliases\", {\n\tlegacyId: text(\"legacy_id\").primaryKey(),\n\tcanonicalId: text(\"canonical_id\").notNull(),\n\tcreatedAt: text(\"created_at\").notNull().default(sql`(datetime('now'))`)\n}, (table) => [index(\"idx_nexus_project_id_aliases_canonical\").on(table.canonicalId)]);\n/** Append-only audit log for all Nexus operations across projects. */\nvar nexusAuditLog = sqliteTable(\"nexus_audit_log\", {\n\tid: text(\"id\").primaryKey(),\n\ttimestamp: text(\"timestamp\").notNull().default(sql`(datetime('now'))`),\n\taction: text(\"action\").notNull(),\n\tprojectHash: text(\"project_hash\"),\n\tprojectId: text(\"project_id\"),\n\tdomain: text(\"domain\"),\n\toperation: text(\"operation\"),\n\tsessionId: text(\"session_id\"),\n\trequestId: text(\"request_id\"),\n\tsource: text(\"source\"),\n\tgateway: text(\"gateway\"),\n\tsuccess: integer(\"success\"),\n\tdurationMs: integer(\"duration_ms\"),\n\tdetailsJson: text(\"details_json\").default(\"{}\"),\n\terrorMessage: text(\"error_message\")\n}, (table) => [\n\tindex(\"idx_nexus_audit_timestamp\").on(table.timestamp),\n\tindex(\"idx_nexus_audit_action\").on(table.action),\n\tindex(\"idx_nexus_audit_project_hash\").on(table.projectHash),\n\tindex(\"idx_nexus_audit_project_id\").on(table.projectId),\n\tindex(\"idx_nexus_audit_session\").on(table.sessionId)\n]);\n/** Key-value store for nexus.db schema versioning and metadata. */\nvar nexusSchemaMeta = sqliteTable(\"nexus_schema_meta\", {\n\tkey: text(\"key\").primaryKey(),\n\tvalue: text(\"value\").notNull()\n});\n/**\n* All node kind values — matches GraphNodeKind in @cleocode/contracts.\n*\n* Kept as a const tuple for use in Drizzle enum column definitions.\n* The ordering is intentional: structural → module → callable → type →\n* value-level → language-specific → graph-level → legacy.\n*/\nvar NEXUS_NODE_KINDS = [\n\t\"file\",\n\t\"folder\",\n\t\"module\",\n\t\"namespace\",\n\t\"function\",\n\t\"method\",\n\t\"constructor\",\n\t\"class\",\n\t\"interface\",\n\t\"struct\",\n\t\"trait\",\n\t\"impl\",\n\t\"type_alias\",\n\t\"enum\",\n\t\"property\",\n\t\"constant\",\n\t\"variable\",\n\t\"static\",\n\t\"record\",\n\t\"delegate\",\n\t\"macro\",\n\t\"union\",\n\t\"typedef\",\n\t\"annotation\",\n\t\"template\",\n\t\"community\",\n\t\"process\",\n\t\"route\",\n\t\"tool\",\n\t\"section\",\n\t\"import\",\n\t\"export\",\n\t\"type\"\n];\n/**\n* Graph nodes table — one row per symbol or structural element.\n*\n* Stores all code intelligence graph nodes indexed per project.\n* Synthetic nodes (community, process) share this table with\n* source-derived nodes (function, class, file).\n*\n* Both this table and `code_index` are populated from the same parse pass.\n* They serve complementary roles — do NOT merge them.\n*\n* @task T529\n*/\nvar nexusNodes = sqliteTable(\"nexus_nodes\", {\n\tid: text(\"id\").primaryKey(),\n\tkind: text(\"kind\", { enum: NEXUS_NODE_KINDS }).notNull(),\n\tlabel: text(\"label\").notNull(),\n\tname: text(\"name\"),\n\tfilePath: text(\"file_path\"),\n\tstartLine: integer(\"start_line\"),\n\tendLine: integer(\"end_line\"),\n\tlanguage: text(\"language\"),\n\tisExported: integer(\"is_exported\", { mode: \"boolean\" }).notNull().default(false),\n\tparentId: text(\"parent_id\"),\n\tparametersJson: text(\"parameters_json\"),\n\treturnType: text(\"return_type\"),\n\tdocSummary: text(\"doc_summary\"),\n\tcommunityId: text(\"community_id\"),\n\tmetaJson: text(\"meta_json\"),\n\tisExternal: integer(\"is_external\", { mode: \"boolean\" }).notNull().default(false),\n\tindexedAt: text(\"indexed_at\").notNull().default(sql`(datetime('now'))`)\n}, (table) => [\n\tindex(\"idx_nexus_nodes_kind\").on(table.kind),\n\tindex(\"idx_nexus_nodes_file\").on(table.filePath),\n\tindex(\"idx_nexus_nodes_name\").on(table.name),\n\tindex(\"idx_nexus_nodes_community\").on(table.communityId),\n\tindex(\"idx_nexus_nodes_parent\").on(table.parentId),\n\tindex(\"idx_nexus_nodes_exported\").on(table.isExported),\n\tindex(\"idx_nexus_nodes_is_external\").on(table.isExternal)\n]);\n/**\n* All relation type values — matches GraphRelationType in @cleocode/contracts.\n*\n* Kept as a const tuple for use in Drizzle enum column definitions.\n*/\nvar NEXUS_RELATION_TYPES = [\n\t\"contains\",\n\t\"defines\",\n\t\"imports\",\n\t\"accesses\",\n\t\"calls\",\n\t\"extends\",\n\t\"implements\",\n\t\"method_overrides\",\n\t\"method_implements\",\n\t\"has_method\",\n\t\"has_property\",\n\t\"member_of\",\n\t\"step_in_process\",\n\t\"handles_route\",\n\t\"fetches\",\n\t\"handles_tool\",\n\t\"entry_point_of\",\n\t\"wraps\",\n\t\"queries\",\n\t\"documents\",\n\t\"applies_to\",\n\t\"co_changed\",\n\t\"co_cited_in_task\"\n];\n/**\n* Graph relations table — one row per directed edge.\n*\n* All graph traversal (impact, context, process detection) reads from\n* this table after ingestion completes.\n*\n* Source and target reference nexus_nodes.id. They are soft FKs —\n* unresolved targets (e.g., external packages) are stored as raw specifiers.\n*\n* @task T529\n*/\nvar nexusRelations = sqliteTable(\"nexus_relations\", {\n\tid: text(\"id\").primaryKey(),\n\tsourceId: text(\"source_id\").notNull(),\n\ttargetId: text(\"target_id\").notNull(),\n\ttype: text(\"type\", { enum: NEXUS_RELATION_TYPES }).notNull(),\n\tconfidence: real(\"confidence\").notNull(),\n\treason: text(\"reason\"),\n\tstep: integer(\"step\"),\n\tindexedAt: text(\"indexed_at\").notNull().default(sql`(datetime('now'))`)\n}, (table) => [\n\tindex(\"idx_nexus_relations_source\").on(table.sourceId),\n\tindex(\"idx_nexus_relations_target\").on(table.targetId),\n\tindex(\"idx_nexus_relations_type\").on(table.type),\n\tindex(\"idx_nexus_relations_source_type\").on(table.sourceId, table.type),\n\tindex(\"idx_nexus_relations_target_type\").on(table.targetId, table.type),\n\tindex(\"idx_nexus_relations_confidence\").on(table.confidence)\n]);\n/**\n* Plasticity weights for `nexus_relations` edges — Hebbian co-access (T998).\n*\n* Partitioned out of `nexus_relations` by T11545 (ADR-090 §5.3): the\n* write-heavy plasticity columns (`weight`, `last_accessed_at`,\n* `co_accessed_count`) live in this sibling 1:1 table keyed by `relation_id`,\n* keeping the read-mostly structural graph row narrow. A relation has at most\n* one weights row; rows are created lazily on the first co-access strengthening\n* event (UPSERT in `nexus-plasticity.ts`), so absence means \"never strengthened\"\n* (treat as weight 0.0).\n*\n* `relation_id` is an intra-scope soft FK to `nexus_relations.id` (no DB-level\n* FK — symmetric with the rest of the graph's soft-FK convention).\n*\n* @task T11545\n* @task T998\n* @epic T11535\n*/\nvar nexusRelationWeights = sqliteTable(\"nexus_relation_weights\", {\n\trelationId: text(\"relation_id\").primaryKey(),\n\tweight: real(\"weight\").notNull().default(0),\n\tlastAccessedAt: text(\"last_accessed_at\"),\n\tcoAccessedCount: integer(\"co_accessed_count\").notNull().default(0)\n}, (table) => [index(\"idx_nexus_relation_weights_last_accessed\").on(table.lastAccessedAt), index(\"idx_nexus_relation_weights_weight\").on(table.weight)]);\n/**\n* All contract type values for extraction.\n*\n* Kept as a const tuple for use in Drizzle enum column definitions.\n*\n* @task T1065\n*/\nvar NEXUS_CONTRACT_TYPES = [\n\t\"http\",\n\t\"grpc\",\n\t\"topic\"\n];\n/**\n* Cross-project code contract registry for HTTP/gRPC/topic APIs.\n*\n* Stores extracted contracts keyed by type, path/method, and project.\n* Used to detect integration points and compatibility across projects.\n*\n* @task T1065\n*/\nvar nexusContracts = sqliteTable(\"nexus_contracts\", {\n\tcontractId: text(\"contract_id\").primaryKey(),\n\ttype: text(\"type\", { enum: NEXUS_CONTRACT_TYPES }).notNull(),\n\tpath: text(\"path\").notNull(),\n\tmethod: text(\"method\"),\n\trequestSchemaJson: text(\"request_schema_json\").notNull().default(\"{}\"),\n\tresponseSchemaJson: text(\"response_schema_json\").notNull().default(\"{}\"),\n\tsourceSymbolId: text(\"source_symbol_id\"),\n\trouteNodeId: text(\"route_node_id\"),\n\tconfidence: real(\"confidence\").notNull().default(1),\n\tdescription: text(\"description\"),\n\tcreatedAt: text(\"created_at\").notNull().default(sql`(datetime('now'))`),\n\tupdatedAt: text(\"updated_at\").notNull().default(sql`(datetime('now'))`)\n}, (table) => [\n\tindex(\"idx_nexus_contracts_type\").on(table.type),\n\tindex(\"idx_nexus_contracts_path\").on(table.path),\n\tindex(\"idx_nexus_contracts_method\").on(table.method),\n\tindex(\"idx_nexus_contracts_source_symbol\").on(table.sourceSymbolId),\n\tindex(\"idx_nexus_contracts_created\").on(table.createdAt)\n]);\n/**\n* Global user identity / preference profile for CLEO.\n*\n* Each row records a single trait about the user: a preference, a behaviour\n* pattern, or any other stable attribute derived from interaction history via\n* the PSYCHE Dialectic Evaluator (Wave 3). The table lives in nexus.db so\n* that it is global (user-scoped) rather than per-project.\n*\n* Design decisions:\n* - `traitKey` is the PK — traits are upserted by key, not duplicated.\n* - `confidence` (0.0–1.0) follows a Bayesian decay/reinforce model: each\n* observation that re-confirms the trait increments reinforcementCount and\n* may push confidence toward 1.0; contradicting observations trigger a new\n* upsert with lower confidence.\n* - `supersededBy` links deprecated traits to their replacement so downstream\n* code can follow the supersession chain (T1139).\n* - `derivedFromMessageId` is a soft FK to a future session_messages table\n* (Wave 5 — T1145). It is nullable until that table exists.\n*\n* PSYCHE reference: `upstream psyche-lineage · models.py` (User + metadata).\n*\n* @task T1077\n* @epic T1076\n*/\nvar userProfile = sqliteTable(\"nexus_user_profile\", {\n\ttraitKey: text(\"trait_key\").primaryKey(),\n\ttraitValue: text(\"trait_value\").notNull(),\n\tconfidence: real(\"confidence\").notNull(),\n\tsource: text(\"source\").notNull(),\n\tderivedFromMessageId: text(\"derived_from_message_id\"),\n\tfirstObservedAt: text(\"first_observed_at\").notNull(),\n\tlastReinforcedAt: text(\"last_reinforced_at\").notNull(),\n\treinforcementCount: integer(\"reinforcement_count\").notNull().default(1),\n\tsupersededBy: text(\"superseded_by\")\n}, (table) => [\n\tindex(\"idx_nexus_user_profile_confidence\").on(table.confidence),\n\tindex(\"idx_nexus_user_profile_source\").on(table.source),\n\tindex(\"idx_nexus_user_profile_last_reinforced\").on(table.lastReinforcedAt),\n\tindex(\"idx_nexus_user_profile_superseded\").on(table.supersededBy)\n]);\n/**\n* Legal `nexus_sigils.role` values — the canonical CANT agent role taxonomy.\n*\n* Mirrors `SIGIL_ROLES` in the consolidated `cleo-global/nexus.ts` target\n* module (T11578 · AC3) so the runtime drizzle mapping matches the physical\n* `CHECK (role IN (…))` the consolidated migration injects. `''` is the column\n* default (a sigil before a `.cant` role is associated). The writer\n* (`nexus/sigil.ts`) normalizes any out-of-set free-form `.cant` role onto this\n* enum so the CHECK is always satisfied.\n*\n* @task T1148\n* @task T11578\n*/\nvar SIGIL_ROLES = [\n\t\"\",\n\t\"orchestrator\",\n\t\"lead\",\n\t\"worker\",\n\t\"subagent\",\n\t\"specialist\",\n\t\"validator\"\n];\n/**\n* Peer-card sigil identity layer for CANT agents.\n*\n* Each row represents a CANT agent's structured identity as seen by BRAIN —\n* the \"sigil\" encodes display name, role, CANT file path, behavioral\n* constraints (system-prompt fragment), and capability flags.\n*\n* Sigils are keyed by `peerId` (the canonical peer identifier that appears on\n* all brain tables via the `peer_id` column introduced in Wave 2). A single\n* peer may have at most one sigil record; use `upsertSigil` to update.\n*\n* PSYCHE reference: `upstream psyche-lineage · crud/peer_card.py`\n*\n* @task T1148\n* @epic T1075\n*/\nvar sigils = sqliteTable(\"nexus_sigils\", {\n\tpeerId: text(\"peer_id\").primaryKey(),\n\tcantFile: text(\"cant_file\"),\n\tdisplayName: text(\"display_name\").notNull().default(\"\"),\n\trole: text(\"role\", { enum: SIGIL_ROLES }).notNull().default(\"\"),\n\tsystemPromptFragment: text(\"system_prompt_fragment\"),\n\tcapabilityFlags: text(\"capability_flags\"),\n\tcreatedAt: text(\"created_at\").notNull().$defaultFn(() => (/* @__PURE__ */ new Date()).toISOString()),\n\tupdatedAt: text(\"updated_at\").notNull().$defaultFn(() => (/* @__PURE__ */ new Date()).toISOString())\n}, (table) => [index(\"idx_nexus_sigils_display_name\").on(table.displayName), index(\"idx_nexus_sigils_role\").on(table.role)]);\n//#endregion\nexport { nexusAuditLog as a, nexusRelationWeights as c, nexus_schema_exports as d, projectIdAliases as f, userProfile as h, SIGIL_ROLES as i, nexusRelations as l, sigils as m, NEXUS_NODE_KINDS as n, nexusContracts as o, projectRegistry as p, NEXUS_RELATION_TYPES as r, nexusNodes as s, NEXUS_CONTRACT_TYPES as t, nexusSchemaMeta as u };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-sqlite-BVNIpwc7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-sqlite2-BBfY2xnY.js","sources":["../../../.svelte-kit/adapter-node/chunks/domain-binding.js","../../../../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_@opentelemetry+api@1.9.0_@sinclair+typebox@0.34.49_@types+mssql@_b4e81f2ea693a7363d3e5dc2205249c6/node_modules/drizzle-orm/node-sqlite/session.js","../../../../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_@opentelemetry+api@1.9.0_@sinclair+typebox@0.34.49_@types+mssql@_b4e81f2ea693a7363d3e5dc2205249c6/node_modules/drizzle-orm/node-sqlite/driver.js","../../../.svelte-kit/adapter-node/chunks/nexus-sqlite2.js"],"sourcesContent":["import { c as resolveDualScopeDbPath, i as createCleoRuntime } from \"./dual-scope-db.js\";\nimport { resolve } from \"node:path\";\n//#region ../core/dist/store/ports/domain-binding.js\n/**\n* Path-keyed domain binding registry — the single owner of every per-domain\n* Drizzle wrapper in the CLEO runtime.\n*\n* ## Why this module exists (E6-L13 · T12037)\n*\n* Before this leaf, each store facade (`sqlite.ts`, `memory-sqlite.ts`,\n* `conduit-sqlite.ts`, `nexus-sqlite.ts`, `skills-db.ts`) owned its OWN\n* process-global singleton quartet:\n*\n* ```ts\n* let _db: NodeSQLiteDatabase | null = null;\n* let _nativeDb: DatabaseSync | null = null;\n* let _dbPath: string | null = null;\n* let _initPromise: Promise<NodeSQLiteDatabase> | null = null;\n* ```\n*\n* Five independent caches over ONE shared `DatabaseSync` produced a documented\n* class of defects:\n*\n* - **Last-project-wins** — `_dbPath` held a single project. Touching project B\n* reset the singleton, so an interleaved project-A query re-opened and\n* re-migrated on every alternation (thrash, not just slowness).\n* - **Cross-domain staleness** — the tasks singleton could reference a\n* `DatabaseSync` that the brain domain had already closed (T12019/T12020),\n* surfacing as `database is not open` or, worse, a silently-nulled\n* `sourceSessionId`.\n* - **Band-aid retry loops** — both `getDb` and `getBrainDb` grew bounded\n* re-acquisition loops (T12035) purely to paper over the above.\n*\n* This module replaces all five with ONE registry keyed by\n* `${scope}::${canonical dbPath}::${domain}`, layered on the\n* {@link CleoRuntime} store registry (T12036). A binding is valid only while\n* the {@link ProjectStore} / {@link GlobalStore} instance it was established\n* against is still the one the runtime hands out AND its native handle is\n* open. Any eviction — a `close()`, a `_resetDualScopeDbCache`, an external\n* teardown — yields a fresh store object, which invalidates every binding\n* derived from it by identity comparison. No liveness polling, no retry loop,\n* no \"last opened project\".\n*\n* ## What a domain owns after this leaf\n*\n* A domain owns its `establish` function — the schema reconciliation it must\n* run against a native handle (legacy Drizzle wrapping, `runMigrations`,\n* vec0 extension loading, seed rows). It no longer owns caching, path\n* resolution, single-flight, or liveness. Those are this module's job.\n*\n* @packageDocumentation\n* @task T12037 (E6-L13)\n* @epic T11249 (E6)\n* @saga T11242 (SG-DB-SUBSTRATE-V2)\n*/\n/**\n* The process-wide {@link CleoRuntime} instance backing every domain port.\n*\n* A single runtime is correct here: the runtime registry is itself path-keyed,\n* so one instance serves every project the process touches. It is lazily\n* constructed so importing this module has no side effects (a hard constraint\n* — the Gate-13 chokepoint audit rejects import-time DB work).\n*/\nvar _runtime = null;\n/**\n* Get (or lazily create) the process-wide {@link CleoRuntime}.\n*\n* @returns The shared runtime store registry.\n*/\nfunction getCleoRuntime() {\n\tif (!_runtime) _runtime = createCleoRuntime();\n\treturn _runtime;\n}\n/**\n* Established bindings, keyed `${scope}::${canonical dbPath}::${domain}`.\n* Type-erased; {@link bindProjectDomain} re-applies the caller's type at the\n* boundary, which is sound because the key includes the domain id and each\n* domain passes exactly one `establish` shape.\n*/\nvar _bindings = /* @__PURE__ */ new Map();\n/**\n* In-flight `establish` calls, same keying as {@link _bindings}. Concurrent\n* binders for one key share a single establishment (single-flight).\n*/\nvar _inflight = /* @__PURE__ */ new Map();\n/**\n* Build the composite registry key for a domain binding.\n*\n* @param scope - The dual-scope discriminator.\n* @param dbPath - Canonical (already `path.resolve`d) database path.\n* @param domain - Stable domain id (e.g. `'tasks'`, `'brain'`).\n*/\nfunction bindingKey(scope, dbPath, domain) {\n\treturn `${scope}::${dbPath}::${domain}`;\n}\n/**\n* Extract the underlying `DatabaseSync` from a store's Drizzle handle.\n*\n* Drizzle's `node:sqlite` driver exposes the native connection as `$client`.\n* This is the ONLY place that reach-through happens — domains receive the\n* already-extracted handle.\n*\n* @param store - The runtime store to unwrap.\n* @returns The live native connection.\n* @throws If the Drizzle handle exposes no `$client`.\n*/\nfunction nativeOf(store) {\n\tconst native = store.db.$client;\n\tif (!native) throw new Error(`T12037: CleoRuntime store for ${store.scope}::${store.dbPath} exposed no $client — cannot bind a domain schema to it.`);\n\treturn native;\n}\n/**\n* Reuse the cached binding for `key` if it is still valid.\n*\n* A binding is valid iff it was established against the SAME store instance\n* the runtime just returned (identity, not path — a reopened store is a new\n* object) and that store's native connection is still open.\n*\n* @param key - Composite registry key.\n* @param store - The store the runtime returned for this open.\n* @returns The still-valid row, or `undefined` if it must be re-established.\n*/\nfunction reuseValid(key, store) {\n\tconst row = _bindings.get(key);\n\tif (!row) return void 0;\n\tif (row.store !== store || !store.isOpen || !row.native.isOpen) {\n\t\t_bindings.delete(key);\n\t\treturn;\n\t}\n\treturn row;\n}\n/**\n* Establish (or reuse) `domain`'s binding against a store, single-flighted.\n*\n* @param key - Composite registry key.\n* @param store - The store to bind against.\n* @param establish - Domain schema reconciliation.\n*/\nasync function bindAgainst(key, store, establish) {\n\tconst cached = reuseValid(key, store);\n\tif (cached) return cached;\n\tconst pending = _inflight.get(key);\n\tif (pending) {\n\t\tconst row = await pending;\n\t\tif (row.store === store && row.native.isOpen) return row;\n\t\treturn bindAgainst(key, store, establish);\n\t}\n\tconst native = nativeOf(store);\n\tconst flight = (async () => {\n\t\tconst row = {\n\t\t\tstore,\n\t\t\tnative,\n\t\t\tdb: await establish(native, store)\n\t\t};\n\t\tif (store.isOpen && native.isOpen) _bindings.set(key, row);\n\t\treturn row;\n\t})();\n\t_inflight.set(key, flight);\n\ttry {\n\t\treturn await flight;\n\t} finally {\n\t\tif (_inflight.get(key) === flight) _inflight.delete(key);\n\t}\n}\n/**\n* Maximum consecutive attempts to obtain a binding over a LIVE connection.\n*\n* The shared consolidated `DatabaseSync` can be closed in the microtask gap\n* between the runtime resolving a store and `establish` finishing against it\n* (another domain's `closeDb()`, a `_resetDualScopeDbCache`, a fire-and-forget\n* brain write crossing a test boundary). One reacquisition is enough: closing\n* the dead store evicts it from BOTH the runtime registry and the dual-scope\n* chokepoint cache, so the retry necessarily opens a fresh connection.\n*\n* Before this module each facade carried its own copy of this loop\n* (T12020 · T12035). It lives here now — one implementation, every domain.\n*/\nvar MAX_LIVENESS_ATTEMPTS = 2;\n/**\n* Obtain a binding whose connection is guaranteed live, with bounded\n* reacquisition.\n*\n* @param scope - Dual-scope discriminator, for the eviction filter.\n* @param key - Composite registry key.\n* @param dbPath - Canonical database path, for the eviction filter.\n* @param openStore - Opens (or reuses) the store for this key.\n* @param establish - Domain schema reconciliation.\n* @returns A row whose `native` was open at publication.\n* @throws When every attempt yielded a dead connection.\n*/\nasync function bindLive(scope, key, dbPath, openStore, establish) {\n\tlet lastError;\n\tfor (let attempt = 0; attempt < MAX_LIVENESS_ATTEMPTS; attempt += 1) {\n\t\tlet store;\n\t\ttry {\n\t\t\tstore = await openStore();\n\t\t} catch (err) {\n\t\t\tlastError = err;\n\t\t\treleaseDomainBindings({\n\t\t\t\tscope,\n\t\t\t\tdbPath\n\t\t\t});\n\t\t\tif (attempt + 1 >= MAX_LIVENESS_ATTEMPTS) throw err;\n\t\t\tcontinue;\n\t\t}\n\t\ttry {\n\t\t\tconst row = await bindAgainst(key, store, establish);\n\t\t\tif (row.store.isOpen && row.native.isOpen) return row;\n\t\t} catch (err) {\n\t\t\tlastError = err;\n\t\t\tif (store.isOpen) throw err;\n\t\t}\n\t\treleaseDomainBindings({\n\t\t\tscope,\n\t\t\tdbPath\n\t\t});\n\t\ttry {\n\t\t\tstore.close();\n\t\t} catch {}\n\t}\n\tif (lastError !== void 0) throw lastError;\n\tthrow new Error(`T12037: could not bind ${key} over a live connection after ${MAX_LIVENESS_ATTEMPTS} attempts — the consolidated handle was closed each time.`);\n}\n/**\n* Bind a project-scope domain schema to the {@link ProjectStore} for `cwd`.\n*\n* This is the replacement for every `getXxxDb(cwd)` project-domain facade.\n* The returned binding carries the store itself, so callers that need a\n* cross-domain transaction hold an explicit handle rather than reaching for a\n* process global.\n*\n* @typeParam TDb - The domain's Drizzle handle type.\n* @param domain - Stable domain id; part of the registry key.\n* @param cwd - Project working directory. Resolved to the canonical\n* `cleo.db` path and forwarded as `exodusCwd` so a port open arms the\n* exodus-on-open auto-migration exactly like the facade it replaces.\n* @param establish - Reconcile the domain's schema against the native handle\n* and return the domain-typed Drizzle instance. Called once per\n* (path, domain, store instance); MUST be idempotent because a store\n* eviction re-runs it.\n* @returns The live {@link DomainBinding}.\n*/\nasync function bindProjectDomain(domain, cwd, establish) {\n\tconst dbPath = resolve(resolveDualScopeDbPath(\"project\", cwd));\n\treturn await bindLive(\"project\", bindingKey(\"project\", dbPath, domain), dbPath, () => getCleoRuntime().openProject(dbPath, { exodusCwd: cwd }), establish);\n}\n/**\n* Bind a global-scope domain schema to the {@link GlobalStore}.\n*\n* This is the replacement for every `getXxxDb()` global-domain facade\n* (nexus, skills, agents, telemetry).\n*\n* @typeParam TDb - The domain's Drizzle handle type.\n* @param domain - Stable domain id; part of the registry key.\n* @param establish - See {@link bindProjectDomain}.\n* @param cwd - Optional cwd forwarded as `exodusCwd` for the global scope's\n* own legacy-fleet auto-migration.\n*/\nasync function bindGlobalDomain(domain, establish, cwd) {\n\tconst dbPath = resolve(resolveDualScopeDbPath(\"global\"));\n\treturn await bindLive(\"global\", bindingKey(\"global\", dbPath, domain), dbPath, () => getCleoRuntime().openGlobal({ exodusCwd: cwd }), establish);\n}\n/**\n* Bind a global-scope domain schema to an EXPLICIT database path.\n*\n* The path-aware sibling of {@link bindGlobalDomain}, for domains whose\n* lifecycle API accepts an on-disk path — notably the skills registry's\n* test-sandbox `{ path }` override. Never arms exodus-on-open.\n*\n* @typeParam TDb - The domain's Drizzle handle type.\n* @param domain - Stable domain id.\n* @param dbPath - Absolute path to a global-scope `cleo.db`.\n* @param establish - See {@link bindProjectDomain}.\n*/\nasync function bindGlobalDomainAtPath(domain, dbPath, establish) {\n\tconst normalized = resolve(dbPath);\n\treturn await bindLive(\"global\", bindingKey(\"global\", normalized, domain), normalized, () => getCleoRuntime().openGlobalAt(normalized), establish);\n}\n/**\n* Synchronously read an ALREADY-established binding at an EXPLICIT path.\n*\n* @typeParam TDb - The domain's Drizzle handle type.\n* @param scope - Dual-scope discriminator.\n* @param dbPath - Absolute database path.\n* @param domain - Stable domain id.\n*/\nfunction peekDomainAtPath(scope, dbPath, domain) {\n\tconst row = _bindings.get(bindingKey(scope, resolve(dbPath), domain));\n\tif (!row?.native.isOpen) return null;\n\treturn row;\n}\n/**\n* Drop cached bindings.\n*\n* Dropping a binding does NOT close any connection — the runtime registry and\n* the dual-scope chokepoint own connection lifecycle. This only forces the\n* next bind to re-run the domain's `establish`.\n*\n* @param filter - Restrict the drop. Omit any field to match all values of it.\n* `{ scope: 'project' }` drops every project-domain binding;\n* `{ domain: 'brain' }` drops the brain binding for every project.\n*/\nfunction releaseDomainBindings(filter) {\n\tif (!filter) {\n\t\t_bindings.clear();\n\t\treturn;\n\t}\n\tconst wantPath = filter.dbPath === void 0 ? void 0 : resolve(filter.dbPath);\n\tfor (const key of [..._bindings.keys()]) {\n\t\tconst sep = key.indexOf(\"::\");\n\t\tconst lastSep = key.lastIndexOf(\"::\");\n\t\tconst scope = key.slice(0, sep);\n\t\tconst dbPath = key.slice(sep + 2, lastSep);\n\t\tconst domain = key.slice(lastSep + 2);\n\t\tif (filter.scope !== void 0 && scope !== filter.scope) continue;\n\t\tif (wantPath !== void 0 && dbPath !== wantPath) continue;\n\t\tif (filter.domain !== void 0 && domain !== filter.domain) continue;\n\t\t_bindings.delete(key);\n\t}\n}\n/**\n* Synchronously look up the native `DatabaseSync` of an ALREADY-established\n* project-domain binding.\n*\n* This exists solely to keep the legacy synchronous native getters\n* (`getNativeDb`, `getNativeTasksDb`, `getBrainNativeDb`) working while their\n* call sites migrate to the async binding. Unlike the module-global they\n* replace, this lookup is **path-keyed** — passing the caller's `cwd` returns\n* that project's handle rather than \"whichever project was opened last\".\n*\n* Returns `null` when nothing is bound yet or the connection has since\n* closed; callers must have awaited the domain's async binder first.\n*\n* @param domain - Stable domain id.\n* @param cwd - Project working directory; resolved to the canonical path.\n* @returns The live native connection, or `null`.\n*\n* @deprecated Read `.native` from the {@link DomainBinding} instead. Removed\n* when the last synchronous native getter is retired (T12040 · E6-L16).\n*/\nfunction boundProjectNative(domain, cwd) {\n\treturn peekProjectDomain(domain, cwd)?.native ?? null;\n}\n/**\n* Synchronously read an ALREADY-established project-domain binding without\n* opening anything.\n*\n* Returns `null` when the domain is unbound for that project or its\n* connection has closed. Unlike {@link bindProjectDomain} this never triggers\n* an open, so it is safe on synchronous code paths (accessor predicates,\n* health probes) that must not force a migration.\n*\n* @typeParam TDb - The domain's Drizzle handle type, as passed to\n* {@link bindProjectDomain}. Unchecked at runtime — the caller is\n* responsible for using the same type it bound with.\n* @param domain - Stable domain id.\n* @param cwd - Project working directory.\n*/\nfunction peekProjectDomain(domain, cwd) {\n\tconst dbPath = resolve(resolveDualScopeDbPath(\"project\", cwd));\n\tconst row = _bindings.get(bindingKey(\"project\", dbPath, domain));\n\tif (row?.native.isOpen) return row;\n\tif (cwd !== void 0) return null;\n\tconst suffix = `::${domain}`;\n\tlet sole;\n\tfor (const [key, candidate] of _bindings) {\n\t\tif (!key.startsWith(\"project::\") || !key.endsWith(suffix)) continue;\n\t\tif (!candidate.native.isOpen) continue;\n\t\tif (sole) return null;\n\t\tsole = candidate;\n\t}\n\treturn sole ?? null;\n}\n/**\n* Synchronous sibling of {@link peekProjectDomain} for the global scope.\n*\n* @typeParam TDb - The domain's Drizzle handle type.\n* @param domain - Stable domain id.\n*/\nfunction peekGlobalDomain(domain) {\n\tconst dbPath = resolve(resolveDualScopeDbPath(\"global\"));\n\tconst row = _bindings.get(bindingKey(\"global\", dbPath, domain));\n\tif (!row || !row.native.isOpen) return null;\n\treturn row;\n}\n//#endregion\nexport { peekDomainAtPath as a, releaseDomainBindings as c, boundProjectNative as i, bindGlobalDomainAtPath as n, peekGlobalDomain as o, bindProjectDomain as r, peekProjectDomain as s, bindGlobalDomain as t };\n","import { entityKind } from \"../entity.js\";\nimport { sql } from \"../sql/sql.js\";\nimport { DrizzleQueryError } from \"../errors.js\";\nimport { NoopLogger } from \"../logger.js\";\nimport { SQLiteAsyncPreparedQuery, SQLiteAsyncSession, SQLiteAsyncTransaction } from \"../sqlite-core/async/session.js\";\n\n//#region src/node-sqlite/session.ts\nvar NodeSQLiteSession = class extends SQLiteAsyncSession {\n\tstatic [entityKind] = \"SQLJsSession\";\n\tlogger;\n\tconstructor(client, dialect, relations, options = {}) {\n\t\tsuper(dialect, \"sync\");\n\t\tthis.client = client;\n\t\tthis.relations = relations;\n\t\tthis.options = options;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\tprepareQuery(query, mode, _prepare, executeMethod, mapper, queryMetadata) {\n\t\tlet stmt;\n\t\ttry {\n\t\t\tstmt = this.client.prepare(query.sql);\n\t\t} catch (e) {\n\t\t\tthrow new DrizzleQueryError(query.sql, query.params, e);\n\t\t}\n\t\treturn new SQLiteAsyncPreparedQuery(\"sync\", executeMethod, {\n\t\t\tall: (params) => {\n\t\t\t\tstmt.setReturnArrays(mode === \"arrays\");\n\t\t\t\tconst res = stmt.all(...params);\n\t\t\t\tif (mode === \"objects\") return res.map((row) => ({ ...row }));\n\t\t\t\treturn res;\n\t\t\t},\n\t\t\tget: (params) => {\n\t\t\t\tstmt.setReturnArrays(mode === \"arrays\");\n\t\t\t\tconst res = stmt.get(...params);\n\t\t\t\tif (res && mode === \"objects\") return { ...res };\n\t\t\t\treturn res;\n\t\t\t},\n\t\t\trun: (params) => {\n\t\t\t\tstmt.setReturnArrays(false);\n\t\t\t\treturn stmt.run(...params);\n\t\t\t},\n\t\t\tvalues: (params) => {\n\t\t\t\tstmt.setReturnArrays(true);\n\t\t\t\treturn stmt.all(...params);\n\t\t\t}\n\t\t}, query, mapper, mode, this.logger, void 0, queryMetadata, void 0);\n\t}\n\ttransaction(transaction, config = {}) {\n\t\tconst tx = new NodeSQLiteTransaction(\"sync\", this.dialect, this, this.relations);\n\t\tthis.run(sql.raw(`begin${config.behavior ? ` ${config.behavior}` : \"\"}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n};\nvar NodeSQLiteTransaction = class NodeSQLiteTransaction extends SQLiteAsyncTransaction {\n\tstatic [entityKind] = \"SQLJsTransaction\";\n\ttransaction(transaction) {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodeSQLiteTransaction(\"sync\", this.dialect, this.session, this._.relations, this.nestedIndex + 1);\n\t\ttx.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\ttx.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\ttx.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n};\n\n//#endregion\nexport { NodeSQLiteSession, NodeSQLiteTransaction };\n//# sourceMappingURL=session.js.map","import { NodeSQLiteSession } from \"./session.js\";\nimport { entityKind } from \"../entity.js\";\nimport { jitCompatCheck } from \"../utils.js\";\nimport { DefaultLogger } from \"../logger.js\";\nimport { SQLiteAsyncDatabase } from \"../sqlite-core/async/db.js\";\nimport { SQLiteDialect } from \"../sqlite-core/dialect.js\";\nimport { DatabaseSync } from \"node:sqlite\";\n\n//#region src/node-sqlite/driver.ts\nvar NodeSQLiteDatabase = class extends SQLiteAsyncDatabase {\n\tstatic [entityKind] = \"NodeSQLiteDatabase\";\n};\nfunction construct(client, config = {}) {\n\tconst dialect = new SQLiteDialect({ useJitMappers: jitCompatCheck(config.jit) });\n\tlet logger;\n\tif (config.logger === true) logger = new DefaultLogger();\n\telse if (config.logger !== false) logger = config.logger;\n\tconst relations = config.relations ?? {};\n\tconst db = new NodeSQLiteDatabase(\"sync\", dialect, new NodeSQLiteSession(client, dialect, relations, { logger }), relations);\n\tdb.$client = client;\n\treturn db;\n}\nfunction drizzle(...params) {\n\tif (params[0] === void 0 || typeof params[0] === \"string\") return construct(params[0] === void 0 ? new DatabaseSync(\":memory:\") : new DatabaseSync(params[0]), params[1]);\n\tconst { connection, client, ...config } = params[0];\n\tif (client) return construct(client, config);\n\tif (typeof connection === \"object\") {\n\t\tconst { path, ...options } = connection;\n\t\treturn construct(new DatabaseSync(path ?? \":memory:\", options), config);\n\t}\n\treturn construct(new DatabaseSync(connection ?? \":memory:\"), config);\n}\n(function(_drizzle) {\n\tfunction mock(config) {\n\t\treturn construct({}, config);\n\t}\n\t_drizzle.mock = mock;\n})(drizzle || (drizzle = {}));\n\n//#endregion\nexport { NodeSQLiteDatabase, drizzle };\n//# sourceMappingURL=driver.js.map","import { t as getLogger } from \"./logger.js\";\nimport { o as getCleoHome } from \"./paths.js\";\nimport { S as reconcileJournal, b as migrateWithRetry, c as resolveDualScopeDbPath, g as resolveCorePackageMigrationsFolder, h as resolveConsolidatedJournalSiblings, o as openDualScopeDb, v as ensureColumns, w as isSqliteBusy } from \"./dual-scope-db.js\";\nimport { c as releaseDomainBindings, i as boundProjectNative, r as bindProjectDomain, s as peekProjectDomain } from \"./domain-binding.js\";\nimport \"./nexus-schema2.js\";\nimport { copyFileSync, existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { drizzle } from \"drizzle-orm/node-sqlite\";\n//#region ../core/dist/store/nexus-sqlite.js\n/**\n* SQLite store for the NEXUS domain via drizzle-orm/node-sqlite + node:sqlite\n* (DatabaseSync).\n*\n* ## Dual-scope residency split (ADR-090 · T11648 — runtime read half)\n*\n* The nexus domain is now SPLIT across the two consolidated `cleo.db` files:\n*\n* - **GRAPH (project scope):** the four code-graph tables (`nexus_nodes`,\n* `nexus_relations`, `nexus_contracts`, `nexus_code_index`) + the\n* `nexus_relation_weights` plasticity sibling live in\n* `<projectRoot>/.cleo/cleo.db` — the portable per-project living brain.\n* This is where exodus WRITES them (`resolveTableTargetScope` in\n* `store/exodus/table-name-map.ts`), so the runtime READS them from there too.\n* - **REGISTRY/identity (global scope):** the six cross-project tables\n* (`nexus_project_registry`, `nexus_project_id_aliases`, `nexus_user_profile`,\n* `nexus_sigils`, `nexus_audit_log`, `nexus_schema_meta`) stay in the GLOBAL\n* `cleo.db` under {@link getCleoHome} (ADR-090 §2.2).\n*\n* `getNexusDb()` opens the PROJECT scope as `main` (via {@link openDualScopeDb}\n* ('project')) and ATTACHes the GLOBAL `cleo.db` under\n* {@link NEXUS_GLOBAL_ATTACH_ALIAS}. SQLite's bare-name resolution then routes\n* each query to the correct file with ZERO accessor changes: graph tables exist\n* in `main` (project) and resolve there; registry/identity tables are absent\n* from `main` and fall through to the attached GLOBAL db. The GLOBAL db also\n* carries empty graph tables (frozen T11363 migration leftovers), correctly\n* SHADOWED by `main`.\n*\n* ### Why this fix (T11648)\n*\n* T11538/T11539 moved the graph schema to PROJECT scope and routed exodus there,\n* but the runtime READ accessors still opened the GLOBAL handle — so after a\n* `cleo exodus migrate` the project held 24k+ `nexus_nodes` while the runtime\n* read 0 from global (`cleo nexus search-code` / `context` returned empty). This\n* module is the deferred runtime half: it reads the graph from the SAME scope\n* exodus writes it.\n*\n* This preserves the prior guarantees:\n* - Every nexus-domain open flows through the single pragma SSoT (ADR-068/069).\n* - DB Open Guard Gate 3 (`scripts/lint-no-direct-db-open.mjs`) stays green: the\n* only native open is inside `dual-scope-db.ts` (the ATTACH below is a SQL\n* statement on an already-chokepointed handle, not a `new DatabaseSync(`).\n*\n* ## COMPLETE-CUTOVER to prefixed `nexus_*` tables (T11578 · AC3)\n*\n* The nexus runtime READ + WRITE path targets PREFIXED consolidated tables. The\n* five PROJECT graph tables are owned by the consolidated cleo-project migration;\n* the six GLOBAL registry/identity tables by the consolidated cleo-global\n* migration. The former legacy drop/rebuild (`establishLegacyNexusSchema`) and\n* BARE registry tables (`project_registry`, …) are GONE. The runtime schema\n* barrel `schema/nexus-schema.ts` maps every export symbol to its prefixed\n* physical name — accessors need ZERO change.\n*\n* The `drizzle-nexus` migration set carries ONLY the delta the consolidated\n* migration cannot model: the `nexus_symbols_fts` FTS5 virtual table + its three\n* `nexus_nodes` triggers, the `nexus_relation_weights` plasticity-partition\n* sibling (T11545), and the `_nexus_meta` health-probe table (the reconcile\n* sentinel). The destructive half of the plasticity partition is applied\n* idempotently at open by `ensureNexusRelationWeights` (a no-op for the\n* already-narrow project-scope `nexus_relations`).\n*\n* @adr ADR-036 — registry/identity is global-only (relaxed for the 4 graph\n* tables by ADR-090 §2.4).\n* @adr ADR-090 — nexus code-graph residency global→project scope split.\n* @task T5365\n* @task T11524 - E6-L4: route getNexusDb through the dual-scope chokepoint\n* @task T11578 - AC3: COMPLETE-CUTOVER nexus runtime → prefixed nexus_* tables\n* @task T11648 - ADR-090 runtime read half: route graph reads to project scope\n*/\n/** Schema version for newly created nexus databases. Single source of truth. */\nvar NEXUS_SCHEMA_VERSION = \"1.0.0\";\n/**\n* SQLite ATTACH alias under which the GLOBAL consolidated `cleo.db` is mounted\n* into the PROJECT-scope nexus handle so the cross-project registry/identity\n* tables (`nexus_project_registry`, `nexus_user_profile`, `nexus_sigils`,\n* `nexus_project_id_aliases`, `nexus_audit_log`, `nexus_schema_meta`) stay\n* reachable by their BARE names (ADR-090 · T11648).\n*\n* SQLite resolves a bare table name against `main` first, then attached\n* databases in attach order. The PROJECT `cleo.db` (`main`) physically carries\n* ONLY the five graph tables (`nexus_nodes`, `nexus_relations`,\n* `nexus_contracts`, `nexus_code_index`, `nexus_relation_weights`), so those\n* bare names resolve to the populated project graph; the registry/identity\n* tables — absent from `main` — fall through to this attached GLOBAL db. The\n* GLOBAL db ALSO carries empty graph tables (frozen T11363 migration leftovers),\n* but those are correctly SHADOWED by `main` and never read or written.\n*/\nvar NEXUS_GLOBAL_ATTACH_ALIAS = \"nexus_global\";\n/**\n* Returns the nexus GRAPH DB path — the consolidated PROJECT `cleo.db`\n* (`<projectRoot>/.cleo/cleo.db`), where the four code-graph tables\n* (`nexus_nodes`, `nexus_relations`, `nexus_contracts`, `nexus_code_index`) and\n* the `nexus_relation_weights` plasticity sibling physically reside post the\n* ADR-090 residency split (T11538/T11539).\n*\n* ## ADR-090 residency move — runtime read half (T11648)\n*\n* Exodus WRITES the graph tables to PROJECT scope (per `resolveTableTargetScope`\n* in `store/exodus/table-name-map.ts`); this resolver routes the runtime READ\n* path to the SAME scope so the migrated graph is visible. Previously this\n* returned the GLOBAL `cleo.db` (`resolveDualScopeDbPath('global')`), which left\n* `cleo nexus search-code` / `context` reading the empty global graph tables —\n* the T11538/T11539 runtime-half gap this fix closes. The cross-project\n* registry/identity tables stay GLOBAL and are reached via the\n* {@link NEXUS_GLOBAL_ATTACH_ALIAS} attach (see {@link getNexusRegistryDbPath}).\n*\n* @param cwd - Optional working directory used to resolve the owning project\n* root (forwarded to {@link resolveDualScopeDbPath}('project', cwd)).\n* @task T307\n* @epic T299\n* @task T11648 (ADR-090 runtime read half — route graph reads to project scope)\n* @why ADR-090 §2.1/§2.4 supersedes ADR-036's global-only assertion FOR THE\n* GRAPH TABLES ONLY. The graph is per-project and must live in the portable\n* `.cleo/cleo.db`; the registry/identity tables remain global-asserted in\n* {@link getNexusRegistryDbPath}.\n*/\nfunction getNexusDbPath(cwd) {\n\treturn resolveDualScopeDbPath(\"project\", cwd);\n}\n/**\n* Returns the cross-project nexus REGISTRY/identity DB path — the consolidated\n* GLOBAL `cleo.db` under `getCleoHome()`.\n*\n* The registry/identity tables (`nexus_project_registry`,\n* `nexus_project_id_aliases`, `nexus_user_profile`, `nexus_sigils`,\n* `nexus_audit_log`, `nexus_schema_meta`) are genuinely global (ADR-090 §2.2)\n* and MUST stay under `getCleoHome()`. The ADR-036 global-only assertion is\n* retained here as defence-in-depth (it was relaxed only for the four graph\n* tables, now homed in PROJECT scope via {@link getNexusDbPath}).\n*\n* @task T11648 (ADR-090 — registry stays global-asserted)\n* @adr ADR-036 — registry/identity is global-only.\n* @throws {Error} If the resolved path is not under `getCleoHome()`.\n*/\nfunction getNexusRegistryDbPath() {\n\tconst cleoHome = getCleoHome();\n\tconst registryPath = resolveDualScopeDbPath(\"global\");\n\tif (!registryPath.startsWith(cleoHome)) throw new Error(`BUG: getNexusRegistryDbPath() resolved to \"${registryPath}\" which is NOT under getCleoHome() (\"${cleoHome}\"). The nexus registry/identity tables are global-only per ADR-036/ADR-090 §2.2. This indicates a code path that bypasses canonical path resolution — fix the caller, do not suppress this error.`);\n\treturn registryPath;\n}\n/**\n* Idempotently ATTACH the GLOBAL consolidated `cleo.db` into a PROJECT-scope\n* nexus handle under {@link NEXUS_GLOBAL_ATTACH_ALIAS}, so the cross-project\n* registry/identity tables resolve by their bare names (ADR-090 · T11648).\n*\n* Safe to call repeatedly: if the alias is already attached (a sibling domain\n* opened the same shared project handle first, or a prior nexus open ran this),\n* the duplicate `ATTACH` throws and is swallowed. The global `cleo.db` is the\n* canonical registry home; we ensure its directory exists via the global open\n* resolver before attaching.\n*\n* @param nativeDb - The open PROJECT-scope `DatabaseSync` handle.\n* @task T11648\n*/\nfunction ensureGlobalRegistryAttached(nativeDb) {\n\tconst globalPath = getNexusRegistryDbPath();\n\tconst escaped = globalPath.replace(/'/g, \"''\");\n\tconst existing = nativeDb.prepare(\"PRAGMA database_list\").all().find((row) => row.name === NEXUS_GLOBAL_ATTACH_ALIAS);\n\tif (existing) {\n\t\tif (existing.file === globalPath) return;\n\t\ttry {\n\t\t\tnativeDb.exec(`DETACH DATABASE ${NEXUS_GLOBAL_ATTACH_ALIAS}`);\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\t}\n\tnativeDb.exec(`ATTACH DATABASE '${escaped}' AS ${NEXUS_GLOBAL_ATTACH_ALIAS}`);\n}\n/**\n* Resolve the absolute path to the drizzle-nexus migrations folder inside\n* @cleocode/core, using ESM-native module resolution (T1177).\n*\n* Delegates to {@link resolveCorePackageMigrationsFolder} which handles\n* bundled dist/, workspace dev, and global-install layouts uniformly via\n* `import.meta.resolve()` + `createRequire().resolve()` fallback.\n*/\nfunction resolveNexusMigrationsFolder() {\n\treturn resolveCorePackageMigrationsFolder(\"drizzle-nexus\");\n}\n/**\n* Canonical filename within the nested `<cleoHome>/nexus/` subdirectory that\n* indicates the structural bug ADR-086 BANs. If this file exists, the install\n* has not yet run `scripts/migrate-nested-nexus.mjs`.\n*/\nvar NESTED_NEXUS_SENTINEL = \"nexus.db\";\n/**\n* One-shot warning gate keyed on the absolute nested path. Prevents the\n* warning from spamming when `getNexusDb()` is called repeatedly within a\n* single process (e.g. CLI commands that re-open the handle, tests that\n* exercise nexus across many describe blocks).\n*\n* Exposed via {@link _resetNestedNexusWarningGate} for test hygiene.\n*/\nvar _warnedNestedPaths = /* @__PURE__ */ new Set();\n/**\n* Returns the absolute path that, if present, indicates the install carries\n* the nested-nexus structural bug. ALWAYS `<cleoHome>/nexus/nexus.db`.\n*\n* Exposed for tests; production callers should use\n* {@link detectAndWarnOnNestedNexus} instead.\n*\n* @task T10321\n* @adr ADR-086\n*/\nfunction getNestedNexusSentinelPath() {\n\treturn join(getCleoHome(), \"nexus\", NESTED_NEXUS_SENTINEL);\n}\n/**\n* Detect the presence of the nested-nexus structural bug and emit a one-shot\n* warning via the canonical pino logger if found.\n*\n* The function is non-blocking and non-throwing — it never alters the\n* outcome of the surrounding `getNexusDb()` open. The canonical consolidated\n* open proceeds normally regardless of whether the nested debris is present.\n*\n* Idempotency: the first call for a given nested path emits the warning;\n* subsequent calls within the same process are no-ops. Tests can reset the\n* gate via {@link _resetNestedNexusWarningGate}.\n*\n* @returns `true` when the warning fired on this call; `false` otherwise.\n*\n* @task T10321\n* @adr ADR-086\n*/\nfunction detectAndWarnOnNestedNexus() {\n\tlet nestedPath;\n\ttry {\n\t\tnestedPath = getNestedNexusSentinelPath();\n\t} catch {\n\t\treturn false;\n\t}\n\tif (!existsSync(nestedPath)) return false;\n\tif (_warnedNestedPaths.has(nestedPath)) return false;\n\t_warnedNestedPaths.add(nestedPath);\n\tconst canonicalPath = getNexusDbPath();\n\tgetLogger(\"nexus-sqlite\").warn({\n\t\tnestedPath,\n\t\tcanonicalPath,\n\t\tmigrationCommand: \"node scripts/migrate-nested-nexus.mjs\",\n\t\tadr: \"ADR-086\",\n\t\ttask: \"T10321\"\n\t}, \"Detected nested-nexus structural bug — canonical consolidated cleo.db is in use; nested duplicates at <cleoHome>/nexus/ are migration debris. Run the migration script to remove them.\");\n\treturn true;\n}\n/**\n* Reset the one-shot warning gate. Tests only — production callers MUST NOT\n* use this.\n*\n* @internal\n* @task T10321\n*/\nfunction _resetNestedNexusWarningGate() {\n\t_warnedNestedPaths.clear();\n}\n/**\n* Check whether a table exists in the SQLite database.\n*/\nfunction tableExists(nativeDb, tableName) {\n\treturn !!nativeDb.prepare(\"SELECT name FROM sqlite_master WHERE type='table' AND name=?\").get(tableName);\n}\n/**\n* Check whether a virtual table (or any object) exists in the SQLite database.\n*\n* sqlite_master covers virtual tables, triggers, and regular tables alike.\n*/\nfunction objectExists(nativeDb, type, name) {\n\treturn !!nativeDb.prepare(\"SELECT name FROM sqlite_master WHERE type=? AND name=?\").get(type, name);\n}\n/**\n* Idempotent FTS5 setup for nexus_symbols_fts (T1839).\n*\n* Creates the FTS5 virtual table indexed on label + file_path, installs the\n* three nexus_nodes triggers (INSERT/UPDATE/DELETE), and backfills any existing\n* nexus_nodes rows that are not yet represented in the FTS5 table.\n*\n* Called before drizzle migrations so existing DBs are covered. Each DDL\n* statement is guarded by IF NOT EXISTS / DROP IF EXISTS — safe to re-run.\n*\n* Uses nativeDb.exec() (not prepare().run()) to avoid the node:sqlite\n* first-statement-only limitation.\n*\n* @task T1839\n*/\nfunction ensureNexusFts5(nativeDb) {\n\tif (!tableExists(nativeDb, \"nexus_nodes\")) return;\n\tif (!objectExists(nativeDb, \"table\", \"nexus_symbols_fts\")) nativeDb.exec(`\n CREATE VIRTUAL TABLE nexus_symbols_fts USING fts5(\n node_id UNINDEXED,\n label,\n file_path,\n tokenize = 'unicode61 remove_diacritics 1'\n )\n `);\n\tnativeDb.exec(`DROP TRIGGER IF EXISTS nexus_nodes_fts_ai`);\n\tnativeDb.exec(`\n CREATE TRIGGER nexus_nodes_fts_ai\n AFTER INSERT ON nexus_nodes\n BEGIN\n INSERT INTO nexus_symbols_fts(rowid, node_id, label, file_path)\n VALUES (new.rowid, new.id, new.label, new.file_path);\n END\n `);\n\tnativeDb.exec(`DROP TRIGGER IF EXISTS nexus_nodes_fts_ad`);\n\tnativeDb.exec(`\n CREATE TRIGGER nexus_nodes_fts_ad\n AFTER DELETE ON nexus_nodes\n BEGIN\n DELETE FROM nexus_symbols_fts WHERE rowid = old.rowid;\n END\n `);\n\tnativeDb.exec(`DROP TRIGGER IF EXISTS nexus_nodes_fts_au`);\n\tnativeDb.exec(`\n CREATE TRIGGER nexus_nodes_fts_au\n AFTER UPDATE ON nexus_nodes\n BEGIN\n DELETE FROM nexus_symbols_fts WHERE rowid = old.rowid;\n INSERT INTO nexus_symbols_fts(rowid, node_id, label, file_path)\n VALUES (new.rowid, new.id, new.label, new.file_path);\n END\n `);\n\tnativeDb.exec(`\n INSERT INTO nexus_symbols_fts(rowid, node_id, label, file_path)\n SELECT rowid, id, label, file_path\n FROM nexus_nodes\n WHERE rowid NOT IN (SELECT rowid FROM nexus_symbols_fts)\n `);\n}\n/**\n* Idempotent safety net + partition completer for `nexus_relation_weights`\n* (T11545 · ADR-090 §5.3 · T11578 · AC3).\n*\n* The Hebbian plasticity columns were partitioned out of `nexus_relations` into\n* this sibling 1:1 table. After the AC3 cutover the consolidated cleo-global\n* migration (T11363) owns `nexus_relations` but still creates it with the THREE\n* inline plasticity columns (`weight`, `last_accessed_at`, `co_accessed_count`)\n* — the T11363 shape predates the partition. This safety net completes the\n* partition idempotently at runtime (the destructive column-DROP is kept OUT of\n* the journaled migration SQL, where re-runs would throw):\n*\n* 1. CREATE the sibling table (+ indexes) — covers fresh + pre-partition DBs.\n* 2. When the inline columns are still present on `nexus_relations`, BACKFILL\n* any non-default plasticity state into the sibling table so no weights are\n* lost, then DROP the three inline columns so the structural graph row is\n* narrow (matching `nexus-schema.ts` + the must-pass fresh-init test).\n*\n* Every statement is guarded by IF-NOT-EXISTS / column-presence probes; safe to\n* re-run on every open (the DROP only fires while the inline columns exist).\n*\n* @task T11545\n* @task T11578\n*/\nfunction ensureNexusRelationWeights(nativeDb) {\n\tif (!tableExists(nativeDb, \"nexus_relations\")) return;\n\tnativeDb.exec(`\n CREATE TABLE IF NOT EXISTS nexus_relation_weights (\n relation_id TEXT PRIMARY KEY NOT NULL,\n weight REAL DEFAULT 0.0 NOT NULL,\n last_accessed_at TEXT,\n co_accessed_count INTEGER DEFAULT 0 NOT NULL\n )\n `);\n\tnativeDb.exec(`CREATE INDEX IF NOT EXISTS idx_nexus_relation_weights_last_accessed ON nexus_relation_weights (last_accessed_at)`);\n\tnativeDb.exec(`CREATE INDEX IF NOT EXISTS idx_nexus_relation_weights_weight ON nexus_relation_weights (weight)`);\n\tif (!nativeDb.prepare(\"PRAGMA table_info(nexus_relations)\").all().some((c) => c.name === \"weight\")) return;\n\tnativeDb.exec(`\n INSERT OR IGNORE INTO nexus_relation_weights (relation_id, weight, last_accessed_at, co_accessed_count)\n SELECT id, COALESCE(weight, 0.0), last_accessed_at, COALESCE(co_accessed_count, 0)\n FROM nexus_relations\n WHERE COALESCE(weight, 0.0) > 0.0\n OR last_accessed_at IS NOT NULL\n OR COALESCE(co_accessed_count, 0) > 0\n `);\n\tconst fkWasOn = nativeDb.prepare(\"PRAGMA foreign_keys\").get()?.foreign_keys === 1;\n\tnativeDb.exec(\"PRAGMA foreign_keys=OFF\");\n\ttry {\n\t\tnativeDb.exec(\"DROP INDEX IF EXISTS idx_nexus_relations_last_accessed\");\n\t\tnativeDb.exec(`\n CREATE TABLE nexus_relations__narrow (\n id text PRIMARY KEY,\n project_id text NOT NULL,\n source_id text NOT NULL,\n target_id text NOT NULL,\n type text NOT NULL,\n confidence real NOT NULL,\n reason text,\n step integer,\n indexed_at text DEFAULT (datetime('now')) NOT NULL,\n CHECK (\"type\" IN ('contains', 'defines', 'imports', 'accesses', 'calls', 'extends', 'implements', 'method_overrides', 'method_implements', 'has_method', 'has_property', 'member_of', 'step_in_process', 'handles_route', 'fetches', 'handles_tool', 'entry_point_of', 'wraps', 'queries', 'documents', 'applies_to', 'co_changed', 'co_cited_in_task')),\n CHECK (\"indexed_at\" IS NULL OR \"indexed_at\" GLOB '[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]*')\n )\n `);\n\t\tnativeDb.exec(`\n INSERT INTO nexus_relations__narrow\n (id, project_id, source_id, target_id, type, confidence, reason, step, indexed_at)\n SELECT id, project_id, source_id, target_id, type, confidence, reason, step, indexed_at\n FROM nexus_relations\n `);\n\t\tnativeDb.exec(\"DROP TABLE nexus_relations\");\n\t\tnativeDb.exec(\"ALTER TABLE nexus_relations__narrow RENAME TO nexus_relations\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_project ON nexus_relations (project_id)\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_source ON nexus_relations (source_id)\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_target ON nexus_relations (target_id)\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_type ON nexus_relations (type)\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_project_type ON nexus_relations (project_id, type)\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_source_type ON nexus_relations (source_id, type)\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_target_type ON nexus_relations (target_id, type)\");\n\t\tnativeDb.exec(\"CREATE INDEX IF NOT EXISTS idx_nexus_relations_confidence ON nexus_relations (confidence)\");\n\t} finally {\n\t\tnativeDb.exec(`PRAGMA foreign_keys=${fkWasOn ? \"ON\" : \"OFF\"}`);\n\t}\n}\n/**\n* Apply the nexus-domain DELTA migration + idempotent safety nets on top of the\n* PREFIXED consolidated graph tables the PROJECT dual-scope chokepoint already\n* created (T11578 · AC3 · ADR-090 T11648).\n*\n* ## COMPLETE-CUTOVER (T11578 · AC3) + residency move (ADR-090 · T11648)\n*\n* The consolidated cleo-project migration OWNS the five PREFIXED graph tables\n* in the PROJECT `cleo.db` `main` (`nexus_nodes`, `nexus_relations`,\n* `nexus_contracts`, `nexus_code_index`, `nexus_relation_weights`); the\n* cross-project registry/identity tables are owned by the cleo-global migration\n* and reached through the {@link NEXUS_GLOBAL_ATTACH_ALIAS} attach. The runtime\n* no longer drops/rebuilds a legacy shape (former `establishLegacyNexusSchema`).\n* The `drizzle-nexus` set carries ONLY the delta the consolidated migration\n* cannot model:\n* - the `nexus_relation_weights` sibling (plasticity partition, T11545),\n* - the `nexus_symbols_fts` FTS5 virtual table + its three triggers (over the\n* project-scope `nexus_nodes`), and\n* - the `_nexus_meta` health-probe table (also the reconcile sentinel).\n*\n* The reconcile sentinel is `_nexus_meta` (a table the nexus migration ITSELF\n* creates, NOT a consolidated-owned table). This keeps `reconcileJournal`\n* Scenario 2 (orphan deletion) dormant until the nexus migration set is journaled\n* — otherwise the consolidated PROJECT migration's journal entries (written FIRST\n* by `openDualScopeDb`) would look like orphans and be deleted, corrupting the\n* shared journal (mirrors the conduit `_conduit_meta` sentinel, AC4).\n*\n* @task T5365\n* @task T11578\n* @task T11648\n*/\nfunction runNexusMigrations(nativeDb, db, dbPath) {\n\tconst migrationsFolder = resolveNexusMigrationsFolder();\n\tif (tableExists(nativeDb, \"nexus_nodes\")) {\n\t\tconst backupPath = dbPath.replace(/\\.db$/, \"-pre-cleo.db.bak\");\n\t\tif (!existsSync(backupPath)) try {\n\t\t\tcopyFileSync(dbPath, backupPath);\n\t\t} catch {}\n\t}\n\treconcileJournal(nativeDb, migrationsFolder, \"_nexus_meta\", \"nexus\", resolveConsolidatedJournalSiblings(\"drizzle-nexus\"));\n\tconst MAX_RETRIES = 5;\n\tconst BASE_DELAY_MS = 100;\n\tconst MAX_DELAY_MS = 2e3;\n\tlet lastError;\n\tfor (let attempt = 1; attempt <= MAX_RETRIES; attempt++) try {\n\t\tmigrateWithRetry(db, migrationsFolder, nativeDb, \"_nexus_meta\", \"nexus\");\n\t\tlastError = void 0;\n\t\tbreak;\n\t} catch (err) {\n\t\tif (!isSqliteBusy(err) || attempt === MAX_RETRIES) throw err;\n\t\tlastError = err;\n\t\tconst delay = Math.min(BASE_DELAY_MS * 2 ** (attempt - 1) * (1 + Math.random() * .5), MAX_DELAY_MS);\n\t\tAtomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, Math.round(delay));\n\t}\n\t/* c8 ignore next 1 */\n\tif (lastError) throw lastError;\n\tensureNexusRelationWeights(nativeDb);\n\tensureColumns(nativeDb, \"nexus_nodes\", [{\n\t\tname: \"is_external\",\n\t\tddl: \"integer DEFAULT 0\"\n\t}], \"nexus\");\n\tensureNexusFts5(nativeDb);\n}\n/**\n* Initialize the consolidated PROJECT `cleo.db` (the nexus GRAPH home) with the\n* GLOBAL `cleo.db` ATTACHed for registry/identity reads, plus the nexus DELTA\n* schema within it (lazy, singleton).\n*\n* ## ADR-090 residency move — runtime read half (T11648)\n*\n* The four code-graph tables (`nexus_nodes`, `nexus_relations`, `nexus_contracts`,\n* `nexus_code_index`) + the `nexus_relation_weights` plasticity sibling now live\n* in PROJECT scope (`<projectRoot>/.cleo/cleo.db`) — that is where exodus WRITES\n* them. The runtime READ path therefore opens the PROJECT scope as `main` so the\n* graph is visible (previously it opened GLOBAL and read empty graph tables —\n* the T11538/T11539 gap). The cross-project registry/identity tables stay GLOBAL;\n* we open GLOBAL first (so its consolidated migration creates them) then ATTACH\n* it under {@link NEXUS_GLOBAL_ATTACH_ALIAS} so the registry/identity accessors —\n* which reference bare names (`nexus_project_registry`, `nexus_user_profile`,\n* `nexus_sigils`, `nexus_project_id_aliases`, `nexus_audit_log`,\n* `nexus_schema_meta`) — resolve via SQLite's bare-name fall-through to the\n* attached GLOBAL db. ADR-036's global-only assertion is relaxed for the four\n* graph tables ONLY (registry stays global-asserted in {@link getNexusRegistryDbPath}).\n*\n* Uses a promise guard so concurrent callers wait for the same initialization to\n* complete (migrations are async).\n*\n* @task T307\n* @task T11524 (E6-L4 — dual-scope chokepoint delegation)\n* @task T11578 (AC3 — prefixed `nexus_*` tables)\n* @task T11648 (ADR-090 runtime read half — project-scope graph + global attach)\n*/\nasync function getNexusDb() {\n\treturn (await bindNexusDomain()).db.drizzle;\n}\n/**\n* Bind the nexus schema to the {@link ProjectStore} holding the code graph,\n* with the GLOBAL `cleo.db` ATTACHed for registry/identity reads.\n*\n* ## E6-L15 cutover (T12039)\n*\n* Replaces this module's singleton quintet (`_nexusDb` / `_nexusNativeDb` /\n* `_nexusDbPath` / `_nexusRegistryPath` / `_nexusInitPromise`). Path keying,\n* single-flight, and handle liveness move to the binding registry; this\n* function keeps only what is genuinely nexus-specific — the two-scope open\n* order and the registry ATTACH.\n*\n* The GLOBAL registry path is captured in the bound value rather than a\n* separate module-global, so a `CLEO_HOME` change invalidates exactly this\n* binding (and re-runs the global migration before re-attaching) instead of\n* resetting a process-wide singleton that other projects also depended on.\n*\n* @returns The live nexus-domain binding.\n*\n* @task T12039 (E6-L15)\n*/\nasync function bindNexusDomain() {\n\tconst requestedRegistryPath = getNexusRegistryDbPath();\n\tconst bound = peekProjectDomain(\"nexus\");\n\tif (bound && bound.db.registryPath !== requestedRegistryPath) releaseDomainBindings({\n\t\tscope: \"project\",\n\t\tdomain: \"nexus\"\n\t});\n\tdetectAndWarnOnNestedNexus();\n\tawait openDualScopeDb(\"global\");\n\tconst binding = await bindProjectDomain(\"nexus\", void 0, (nativeDb, store) => {\n\t\tensureGlobalRegistryAttached(nativeDb);\n\t\tconst db = drizzle({ client: nativeDb });\n\t\trunNexusMigrations(nativeDb, db, store.dbPath);\n\t\tnativeDb.prepare(`INSERT OR IGNORE INTO nexus_schema_meta (key, value) VALUES ('schemaVersion', '${NEXUS_SCHEMA_VERSION}')`).run();\n\t\treturn {\n\t\t\tdrizzle: db,\n\t\t\tregistryPath: requestedRegistryPath\n\t\t};\n\t});\n\ttry {\n\t\tensureGlobalRegistryAttached(binding.native);\n\t} catch {\n\t\treleaseDomainBindings({\n\t\t\tscope: \"project\",\n\t\t\tdomain: \"nexus\"\n\t\t});\n\t\tthrow new Error(\"T12039: nexus binding lost its GLOBAL registry ATTACH and could not re-attach.\");\n\t}\n\treturn binding;\n}\n/**\n* Close the nexus-domain database connection and release resources.\n*\n* ## E6-L4 (T11524) · ADR-090 runtime read half (T11648)\n*\n* The nexus GRAPH domain now SHARES the consolidated PROJECT `cleo.db` handle\n* with the other project-tier domains (tasks/brain/conduit — all open it via\n* {@link openDualScopeDb}('project'), same cache key), with the GLOBAL `cleo.db`\n* ATTACHed for registry/identity reads. This function therefore must NOT close\n* the underlying `DatabaseSync` nor evict the dual-scope cache — doing so would\n* break in-flight queries from those siblings with \"database is not open\". It\n* only drops the nexus-domain singleton references; the shared handle's lifecycle\n* (and the global ATTACH) is owned by `openDualScopeDb` and torn down by a\n* coordinated reset (`closeAllDatabases` → `_resetDualScopeDbCache`).\n*/\nfunction closeNexusDb() {\n\treleaseDomainBindings({\n\t\tscope: \"project\",\n\t\tdomain: \"nexus\"\n\t});\n}\n/**\n* Reset nexus singleton state without saving.\n* Used during tests or when the database file is recreated.\n* Safe to call multiple times.\n*\n* ## E6-L4 (T11524) · ADR-090 runtime read half (T11648)\n*\n* Drops only the nexus-domain singleton references — does NOT close the shared\n* dual-scope PROJECT `cleo.db` handle nor evict the dual-scope cache (that handle\n* is shared with the other project-tier domains). Mirrors {@link closeNexusDb}.\n*/\nfunction resetNexusDbState() {\n\treleaseDomainBindings({\n\t\tscope: \"project\",\n\t\tdomain: \"nexus\"\n\t});\n}\n/**\n* Get the underlying node:sqlite DatabaseSync instance for the nexus domain.\n* Useful for direct PRAGMA calls or raw SQL operations.\n* Returns null if the database hasn't been initialized.\n*/\nfunction getNexusNativeDb() {\n\treturn boundProjectNative(\"nexus\");\n}\n//#endregion\nexport { detectAndWarnOnNestedNexus as a, getNexusDbPath as c, resetNexusDbState as d, resolveNexusMigrationsFolder as f, closeNexusDb as i, getNexusNativeDb as l, _resetNestedNexusWarningGate as n, getNestedNexusSentinelPath as o, bindNexusDomain as r, getNexusDb as s, NEXUS_SCHEMA_VERSION as t, getNexusRegistryDbPath as u };\n"],"names":[],"mappings":";;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,GAAG,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,GAAG;AAC1B,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,EAAE;AAC9C,CAAC,OAAO,QAAQ;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAS,mBAAmB,IAAI,GAAG,EAAE;AACzC;AACA;AACA;AACA;AACA,IAAI,SAAS,mBAAmB,IAAI,GAAG,EAAE;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;AAC3C,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO;AAChC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,8BAA8B,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC;AACtJ,CAAC,OAAO,MAAM;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE;AAChC,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACG,IAAC,oBAAoB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,yBAAyB,GAAG,cAAc;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,CAAC,OAAO,sBAAsB,CAAC,SAAS,EAAE,GAAG,CAAC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sBAAsB,GAAG;AAClC,CAAC,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC/B,CAAC,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC;AACtD,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,2CAA2C,EAAE,YAAY,CAAC,qCAAqC,EAAE,QAAQ,CAAC,iMAAiM,CAAC,CAAC;AACvW,CAAC,OAAO,YAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAA4B,CAAC,QAAQ,EAAE;AAChD,CAAC,MAAM,UAAU,GAAG,sBAAsB,EAAE;AAC5C,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/C,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC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","x_google_ignoreList":[1,2]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"no-face-up-DcejJLy-.js","sources":["../../../.svelte-kit/adapter-node/chunks/no-face-up.js"],"sourcesContent":["import { U as escape_html, r as attr_style, u as stringify } from \"./dev.js\";\n//#region src/lib/graph/edge-kinds.ts\n/**\n* The edge-style table. Every {@link EdgeKind} variant MUST be present\n* — the edge-kinds.test.ts unit enforces that invariant at build time.\n*/\nvar EDGE_STYLE = {\n\tparent: {\n\t\tcolor: \"var(--edge-structural)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\tcontains: {\n\t\tcolor: \"var(--edge-structural)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\thas_method: {\n\t\tcolor: \"var(--edge-structural-soft)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\thas_property: {\n\t\tcolor: \"var(--edge-structural-soft)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\tmember_of: {\n\t\tcolor: \"var(--edge-structural)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\tcalls: {\n\t\tcolor: \"var(--edge-call)\",\n\t\tthickness: 1.5,\n\t\tarrow: true\n\t},\n\textends: {\n\t\tcolor: \"var(--edge-extends)\",\n\t\tthickness: 1.5,\n\t\tarrow: true\n\t},\n\timplements: {\n\t\tcolor: \"var(--edge-implements)\",\n\t\tthickness: 1.5,\n\t\tarrow: true\n\t},\n\timports: {\n\t\tcolor: \"var(--edge-import)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\taccesses: {\n\t\tcolor: \"var(--edge-import-soft)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\tdefines: {\n\t\tcolor: \"var(--edge-definition)\",\n\t\tthickness: 1.2,\n\t\tarrow: true\n\t},\n\tblocks: {\n\t\tcolor: \"var(--edge-workflow)\",\n\t\tdash: \"6 3\",\n\t\tthickness: 1.5,\n\t\tarrow: true\n\t},\n\tdepends: {\n\t\tcolor: \"var(--edge-workflow-soft)\",\n\t\tdash: \"2 3\",\n\t\tthickness: 1.5,\n\t\tarrow: true\n\t},\n\tsupersedes: {\n\t\tcolor: \"var(--edge-knowledge)\",\n\t\tdash: \"6 3\",\n\t\tthickness: 1.8,\n\t\tarrow: true\n\t},\n\tcontradicts: {\n\t\tcolor: \"var(--edge-contradicts)\",\n\t\tdash: \"4 2\",\n\t\tthickness: 1.8,\n\t\tarrow: true\n\t},\n\tderived_from: {\n\t\tcolor: \"var(--edge-knowledge-soft)\",\n\t\tthickness: 1.4,\n\t\tarrow: true\n\t},\n\tproduced_by: {\n\t\tcolor: \"var(--edge-knowledge-soft)\",\n\t\tthickness: 1.2,\n\t\tarrow: true\n\t},\n\tinformed_by: {\n\t\tcolor: \"var(--edge-knowledge-soft)\",\n\t\tthickness: 1.2,\n\t\tarrow: true\n\t},\n\treferences: {\n\t\tcolor: \"var(--edge-citation)\",\n\t\tthickness: 1,\n\t\tarrow: false\n\t},\n\tcites: {\n\t\tcolor: \"var(--edge-citation)\",\n\t\tdash: \"2 3\",\n\t\tthickness: 1,\n\t\tarrow: false\n\t},\n\tdocuments: {\n\t\tcolor: \"var(--edge-citation-soft)\",\n\t\tthickness: 1.2,\n\t\tarrow: true\n\t},\n\tfires: {\n\t\tcolor: \"var(--edge-fires)\",\n\t\tthickness: 1.4,\n\t\tarrow: false,\n\t\tanimated: true\n\t},\n\tco_fires: {\n\t\tcolor: \"var(--edge-cofires)\",\n\t\tthickness: 1.2,\n\t\tarrow: false,\n\t\tanimated: true\n\t},\n\tmessages: {\n\t\tcolor: \"var(--edge-messages)\",\n\t\tthickness: 1,\n\t\tarrow: true\n\t},\n\trelates_to: {\n\t\tcolor: \"var(--edge-relates)\",\n\t\tthickness: .8,\n\t\tarrow: false\n\t}\n};\n/**\n* Short human-readable description for an edge kind. Consumed by the\n* legend dock and keyboard-accessible side-panel.\n*\n* @param kind - Canonical edge kind.\n*/\nfunction describeEdgeKind(kind) {\n\tswitch (kind) {\n\t\tcase \"parent\": return \"Parent of (hierarchy)\";\n\t\tcase \"contains\": return \"Contains (hierarchy)\";\n\t\tcase \"has_method\": return \"Has method\";\n\t\tcase \"has_property\": return \"Has property\";\n\t\tcase \"member_of\": return \"Member of\";\n\t\tcase \"calls\": return \"Calls (function invocation)\";\n\t\tcase \"extends\": return \"Extends (class hierarchy)\";\n\t\tcase \"implements\": return \"Implements (interface)\";\n\t\tcase \"imports\": return \"Imports module\";\n\t\tcase \"accesses\": return \"Accesses property / field\";\n\t\tcase \"defines\": return \"Defines symbol\";\n\t\tcase \"blocks\": return \"Blocks (task cannot start)\";\n\t\tcase \"depends\": return \"Depends on (task dependency)\";\n\t\tcase \"supersedes\": return \"Supersedes (memory lineage)\";\n\t\tcase \"contradicts\": return \"Contradicts (memory conflict)\";\n\t\tcase \"derived_from\": return \"Derived from\";\n\t\tcase \"produced_by\": return \"Produced by\";\n\t\tcase \"informed_by\": return \"Informed by\";\n\t\tcase \"references\": return \"References\";\n\t\tcase \"cites\": return \"Cites\";\n\t\tcase \"documents\": return \"Documents\";\n\t\tcase \"fires\": return \"Synapse fires\";\n\t\tcase \"co_fires\": return \"Co-fires (Hebbian)\";\n\t\tcase \"messages\": return \"Conduit message\";\n\t\tcase \"relates_to\": return \"Relates to (generic)\";\n\t}\n}\n/**\n* Resolver cache — populated lazily by {@link resolveEdgeStyleForWebGL}\n* once per render loop. Key = edge kind, value = `[r,g,b]` linear-ish\n* RGB tuple in the `[0,1]` range.\n*/\nvar webglRgbCache = /* @__PURE__ */ new Map();\n/**\n* Reset the WebGL colour cache. Call this on theme swap so the next\n* {@link resolveEdgeStyleForWebGL} invocation re-reads computed styles.\n*/\nfunction invalidateEdgeStyleCache() {\n\twebglRgbCache.clear();\n}\n/**\n* Parse a CSS `rgb()` / `rgba()` / `#rrggbb` string into `[r,g,b]` in\n* the `[0,1]` range. Rejects anything else with a fallback to white.\n*\n* The browser always serialises computed `getComputedStyle` values\n* into `rgb()` / `rgba()` form (per CSS Color 4), so a single parser\n* covers both `var(--token)` references AND `color-mix()` composites.\n*\n* @param css - CSS colour string resolved by the browser.\n*/\nfunction parseCssColorToRgb01(css) {\n\tconst trimmed = css.trim();\n\tconst rgbMatch = /rgba?\\(([^)]+)\\)/i.exec(trimmed);\n\tif (rgbMatch) {\n\t\tconst parts = rgbMatch[1].split(/[,\\s/]+/).filter((p) => p.length > 0);\n\t\tif (parts.length >= 3) {\n\t\t\tconst r = Number.parseFloat(parts[0]);\n\t\t\tconst g = Number.parseFloat(parts[1]);\n\t\t\tconst b = Number.parseFloat(parts[2]);\n\t\t\tif (Number.isFinite(r) && Number.isFinite(g) && Number.isFinite(b)) return [\n\t\t\t\tr / 255,\n\t\t\t\tg / 255,\n\t\t\t\tb / 255\n\t\t\t];\n\t\t}\n\t}\n\tconst hexMatch = /^#([0-9a-f]{6})$/i.exec(trimmed);\n\tif (hexMatch) {\n\t\tconst hex = hexMatch[1];\n\t\treturn [\n\t\t\tNumber.parseInt(hex.slice(0, 2), 16) / 255,\n\t\t\tNumber.parseInt(hex.slice(2, 4), 16) / 255,\n\t\t\tNumber.parseInt(hex.slice(4, 6), 16) / 255\n\t\t];\n\t}\n\treturn [\n\t\t1,\n\t\t1,\n\t\t1\n\t];\n}\n/**\n* Resolve an edge kind to an `[r,g,b]` tuple in the `[0,1]` range for\n* use as THREE.js vertex colour / shader uniform.\n*\n* Reads from `getComputedStyle(:root)` so every token swap (theme\n* change, prefers-contrast, etc.) flows through without a rebuild.\n* The result is memoised — call {@link invalidateEdgeStyleCache} on\n* theme change.\n*\n* Safe to call in SSR: returns a neutral grey when `document` is\n* unavailable.\n*\n* @param kind - Canonical edge kind.\n*/\nfunction resolveEdgeStyleForWebGL(kind) {\n\tconst cached = webglRgbCache.get(kind);\n\tif (cached !== void 0) return cached;\n\tif (typeof document === \"undefined\" || typeof window === \"undefined\") return [\n\t\t.5,\n\t\t.5,\n\t\t.5\n\t];\n\tconst style = EDGE_STYLE[kind];\n\tconst probe = document.createElement(\"span\");\n\tprobe.style.color = style.color;\n\tprobe.style.position = \"absolute\";\n\tprobe.style.visibility = \"hidden\";\n\tprobe.style.pointerEvents = \"none\";\n\tdocument.body.appendChild(probe);\n\tconst computed = window.getComputedStyle(probe).color;\n\tdocument.body.removeChild(probe);\n\tconst rgb = parseCssColorToRgb01(computed);\n\twebglRgbCache.set(kind, rgb);\n\treturn rgb;\n}\n/**\n* Ordered list of every edge kind — consumers use this to iterate in a\n* stable order (legend dock, tests, docs).\n*/\nvar ALL_EDGE_KINDS = [\n\t\"parent\",\n\t\"contains\",\n\t\"has_method\",\n\t\"has_property\",\n\t\"member_of\",\n\t\"calls\",\n\t\"extends\",\n\t\"implements\",\n\t\"imports\",\n\t\"accesses\",\n\t\"defines\",\n\t\"blocks\",\n\t\"depends\",\n\t\"supersedes\",\n\t\"contradicts\",\n\t\"derived_from\",\n\t\"produced_by\",\n\t\"informed_by\",\n\t\"references\",\n\t\"cites\",\n\t\"documents\",\n\t\"fires\",\n\t\"co_fires\",\n\t\"messages\",\n\t\"relates_to\"\n];\n//#endregion\n//#region src/lib/graph/hover-label.svelte\nfunction Hover_label($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link HoverLabel}.\n\t\t*/\n\t\t/** Node under the pointer, or null to hide. */\n\t\t/** Pointer x, relative to the canvas container (in pixels). */\n\t\t/** Pointer y, relative to the canvas container (in pixels). */\n\t\t/** Optional secondary line. */\n\t\t/** Optional accent colour (CSS variable reference). */\n\t\tlet { node, x, y, secondary = null, accent = \"var(--accent)\" } = $$props;\n\t\tif (node) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"hover-label svelte-tncwnh\" role=\"tooltip\" aria-hidden=\"true\"${attr_style(`left: ${stringify(x + 14)}px; top: ${stringify(y + 14)}px; --hover-accent: ${stringify(accent)};`)}><span class=\"dot svelte-tncwnh\" aria-hidden=\"true\"></span> <span class=\"content svelte-tncwnh\"><span class=\"label svelte-tncwnh\">${escape_html(node.label)}</span> <span class=\"meta svelte-tncwnh\"><span class=\"kind svelte-tncwnh\">${escape_html(node.kind)}</span> `);\n\t\t\tif (secondary) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"sep svelte-tncwnh\" aria-hidden=\"true\">·</span> <span class=\"secondary svelte-tncwnh\">${escape_html(secondary)}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></span></span></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/lib/graph/no-face-up.ts\n/**\n* Thrown when a renderer config would enable face-up leaf labels.\n*/\nvar FaceUpLabelsForbiddenError = class extends Error {\n\tconstructor(field) {\n\t\tsuper(`Face-up leaf labels are forbidden by the T990 spec (operator directive: cluster-labels only via CSS2DRenderer). Offending config field: \"${field}\".`);\n\t\tthis.name = \"FaceUpLabelsForbiddenError\";\n\t}\n};\n/**\n* Runtime + narrowing assertion that a renderer config does NOT enable\n* face-up leaf labels.\n*\n* Rejects:\n* - `{ drawLabels: true }`\n* - `{ renderLabels: true }`\n*\n* Accepts `undefined` / `false` on both — those are the only two\n* permitted values for a compliant renderer config.\n*\n* Called from every renderer's `onMount` after config resolution. The\n* thrown error is caught by the renderer and surfaced via its\n* `onInitFailed` callback so the parent page can degrade to the SVG\n* fallback without wedging the UI.\n*\n* @param opts - Candidate renderer config. Any shape; only\n* `drawLabels` + `renderLabels` are examined.\n* @throws {@link FaceUpLabelsForbiddenError} when either forbidden\n* field is `true`.\n*/\nfunction assertNoFaceUp(opts) {\n\tif (opts === null || typeof opts !== \"object\") return;\n\tconst c = opts;\n\tif (c.drawLabels === true) throw new FaceUpLabelsForbiddenError(\"drawLabels\");\n\tif (c.renderLabels === true) throw new FaceUpLabelsForbiddenError(\"renderLabels\");\n}\n//#endregion\nexport { describeEdgeKind as a, EDGE_STYLE as i, Hover_label as n, invalidateEdgeStyleCache as o, ALL_EDGE_KINDS as r, resolveEdgeStyleForWebGL as s, assertNoFaceUp as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-http-handler-CJI8kn7X.js","sources":["../../../.svelte-kit/adapter-node/chunks/node-http-handler.js"],"sourcesContent":["import { n as HttpResponse, t as escapeUri } from \"./escape-uri.js\";\nimport { Readable } from \"node:stream\";\nimport { Agent, request } from \"node:https\";\n//#region ../../node_modules/.pnpm/@smithy+core@3.24.3/node_modules/@smithy/core/dist-es/submodules/protocols/querystring-builder/buildQueryString.js\nfunction buildQueryString(query) {\n\tconst parts = [];\n\tfor (let key of Object.keys(query).sort()) {\n\t\tconst value = query[key];\n\t\tkey = escapeUri(key);\n\t\tif (Array.isArray(value)) for (let i = 0, iLen = value.length; i < iLen; i++) parts.push(`${key}=${escapeUri(value[i])}`);\n\t\telse {\n\t\t\tlet qsEntry = key;\n\t\t\tif (value || typeof value === \"string\") qsEntry += `=${escapeUri(value)}`;\n\t\t\tparts.push(qsEntry);\n\t\t}\n\t}\n\treturn parts.join(\"&\");\n}\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js\nfunction buildAbortError(abortSignal) {\n\tconst reason = abortSignal && typeof abortSignal === \"object\" && \"reason\" in abortSignal ? abortSignal.reason : void 0;\n\tif (reason) {\n\t\tif (reason instanceof Error) {\n\t\t\tconst abortError = /* @__PURE__ */ new Error(\"Request aborted\");\n\t\t\tabortError.name = \"AbortError\";\n\t\t\tabortError.cause = reason;\n\t\t\treturn abortError;\n\t\t}\n\t\tconst abortError = new Error(String(reason));\n\t\tabortError.name = \"AbortError\";\n\t\treturn abortError;\n\t}\n\tconst abortError = /* @__PURE__ */ new Error(\"Request aborted\");\n\tabortError.name = \"AbortError\";\n\treturn abortError;\n}\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/constants.js\nvar NODEJS_TIMEOUT_ERROR_CODES = [\n\t\"ECONNRESET\",\n\t\"EPIPE\",\n\t\"ETIMEDOUT\"\n];\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js\nvar getTransformedHeaders = (headers) => {\n\tconst transformedHeaders = {};\n\tfor (const name in headers) {\n\t\tconst headerValues = headers[name];\n\t\ttransformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n\t}\n\treturn transformedHeaders;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/timing.js\nvar timing = {\n\tsetTimeout: (cb, ms) => setTimeout(cb, ms),\n\tclearTimeout: (timeoutId) => clearTimeout(timeoutId)\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js\nvar DEFER_EVENT_LISTENER_TIME$2 = 1e3;\nvar setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n\tif (!timeoutInMs) return -1;\n\tconst registerTimeout = (offset) => {\n\t\tconst timeoutId = timing.setTimeout(() => {\n\t\t\trequest.destroy();\n\t\t\treject(Object.assign(/* @__PURE__ */ new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), { name: \"TimeoutError\" }));\n\t\t}, timeoutInMs - offset);\n\t\tconst doWithSocket = (socket) => {\n\t\t\tif (socket?.connecting) socket.on(\"connect\", () => {\n\t\t\t\ttiming.clearTimeout(timeoutId);\n\t\t\t});\n\t\t\telse timing.clearTimeout(timeoutId);\n\t\t};\n\t\tif (request.socket) doWithSocket(request.socket);\n\t\telse request.on(\"socket\", doWithSocket);\n\t};\n\tif (timeoutInMs < 2e3) {\n\t\tregisterTimeout(0);\n\t\treturn 0;\n\t}\n\treturn timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js\nvar setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n\tif (timeoutInMs) return timing.setTimeout(() => {\n\t\tlet msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n\t\tif (throwOnRequestTimeout) {\n\t\t\tconst error = Object.assign(new Error(msg), {\n\t\t\t\tname: \"TimeoutError\",\n\t\t\t\tcode: \"ETIMEDOUT\"\n\t\t\t});\n\t\t\treq.destroy(error);\n\t\t\treject(error);\n\t\t} else {\n\t\t\tmsg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n\t\t\tlogger?.warn?.(msg);\n\t\t}\n\t}, timeoutInMs);\n\treturn -1;\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js\nvar DEFER_EVENT_LISTENER_TIME$1 = 3e3;\nvar setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {\n\tif (keepAlive !== true) return -1;\n\tconst registerListener = () => {\n\t\tif (request.socket) request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n\t\telse request.on(\"socket\", (socket) => {\n\t\t\tsocket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n\t\t});\n\t};\n\tif (deferTimeMs === 0) {\n\t\tregisterListener();\n\t\treturn 0;\n\t}\n\treturn timing.setTimeout(registerListener, deferTimeMs);\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js\nvar DEFER_EVENT_LISTENER_TIME = 3e3;\nvar setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n\tconst registerTimeout = (offset) => {\n\t\tconst timeout = timeoutInMs - offset;\n\t\tconst onTimeout = () => {\n\t\t\trequest.destroy();\n\t\t\treject(Object.assign(/* @__PURE__ */ new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n\t\t};\n\t\tif (request.socket) {\n\t\t\trequest.socket.setTimeout(timeout, onTimeout);\n\t\t\trequest.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n\t\t} else request.setTimeout(timeout, onTimeout);\n\t};\n\tif (0 < timeoutInMs && timeoutInMs < 6e3) {\n\t\tregisterTimeout(0);\n\t\treturn 0;\n\t}\n\treturn timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js\nvar MIN_WAIT_TIME = 6e3;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n\tconst headers = request.headers;\n\tconst expect = headers ? headers.Expect || headers.expect : void 0;\n\tlet timeoutId = -1;\n\tlet sendBody = true;\n\tif (!externalAgent && expect === \"100-continue\") sendBody = await Promise.race([new Promise((resolve) => {\n\t\ttimeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n\t}), new Promise((resolve) => {\n\t\thttpRequest.on(\"continue\", () => {\n\t\t\ttiming.clearTimeout(timeoutId);\n\t\t\tresolve(true);\n\t\t});\n\t\thttpRequest.on(\"response\", () => {\n\t\t\ttiming.clearTimeout(timeoutId);\n\t\t\tresolve(false);\n\t\t});\n\t\thttpRequest.on(\"error\", () => {\n\t\t\ttiming.clearTimeout(timeoutId);\n\t\t\tresolve(false);\n\t\t});\n\t})]);\n\tif (sendBody) writeBody(httpRequest, request.body);\n}\nfunction writeBody(httpRequest, body) {\n\tif (body instanceof Readable) {\n\t\tbody.pipe(httpRequest);\n\t\treturn;\n\t}\n\tif (body) {\n\t\tconst isBuffer = Buffer.isBuffer(body);\n\t\tif (isBuffer || typeof body === \"string\") {\n\t\t\tif (isBuffer && body.byteLength === 0) httpRequest.end();\n\t\t\telse httpRequest.end(body);\n\t\t\treturn;\n\t\t}\n\t\tconst uint8 = body;\n\t\tif (typeof uint8 === \"object\" && uint8.buffer && typeof uint8.byteOffset === \"number\" && typeof uint8.byteLength === \"number\") {\n\t\t\thttpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n\t\t\treturn;\n\t\t}\n\t\thttpRequest.end(Buffer.from(body));\n\t\treturn;\n\t}\n\thttpRequest.end();\n}\n//#endregion\n//#region ../../node_modules/.pnpm/@smithy+node-http-handler@4.7.3/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js\nvar hAgent = void 0;\nvar hRequest = void 0;\nvar NodeHttpHandler = class NodeHttpHandler {\n\tconfig;\n\tconfigProvider;\n\tsocketWarningTimestamp = 0;\n\texternalAgent = false;\n\tmetadata = { handlerProtocol: \"http/1.1\" };\n\tstatic create(instanceOrOptions) {\n\t\tif (typeof instanceOrOptions?.handle === \"function\") return instanceOrOptions;\n\t\treturn new NodeHttpHandler(instanceOrOptions);\n\t}\n\tstatic checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n\t\tconst { sockets, requests, maxSockets } = agent;\n\t\tif (typeof maxSockets !== \"number\" || maxSockets === Infinity) return socketWarningTimestamp;\n\t\tif (Date.now() - 15e3 < socketWarningTimestamp) return socketWarningTimestamp;\n\t\tif (sockets && requests) for (const origin in sockets) {\n\t\t\tconst socketsInUse = sockets[origin]?.length ?? 0;\n\t\t\tconst requestsEnqueued = requests[origin]?.length ?? 0;\n\t\t\tif (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n\t\t\t\tlogger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n\t\t\t\treturn Date.now();\n\t\t\t}\n\t\t}\n\t\treturn socketWarningTimestamp;\n\t}\n\tconstructor(options) {\n\t\tthis.configProvider = new Promise((resolve, reject) => {\n\t\t\tif (typeof options === \"function\") options().then((_options) => {\n\t\t\t\tresolve(this.resolveDefaultConfig(_options));\n\t\t\t}).catch(reject);\n\t\t\telse resolve(this.resolveDefaultConfig(options));\n\t\t});\n\t}\n\tdestroy() {\n\t\tthis.config?.httpAgent?.destroy();\n\t\tthis.config?.httpsAgent?.destroy();\n\t}\n\tasync handle(request$1, { abortSignal, requestTimeout } = {}) {\n\t\tif (!this.config) this.config = await this.configProvider;\n\t\tconst config = this.config;\n\t\tconst isSSL = request$1.protocol === \"https:\";\n\t\tif (!isSSL && !this.config.httpAgent) this.config.httpAgent = await this.config.httpAgentProvider();\n\t\treturn new Promise((_resolve, _reject) => {\n\t\t\tlet writeRequestBodyPromise = void 0;\n\t\t\tlet socketWarningTimeoutId = -1;\n\t\t\tlet connectionTimeoutId = -1;\n\t\t\tlet requestTimeoutId = -1;\n\t\t\tlet socketTimeoutId = -1;\n\t\t\tlet keepAliveTimeoutId = -1;\n\t\t\tconst clearTimeouts = () => {\n\t\t\t\ttiming.clearTimeout(socketWarningTimeoutId);\n\t\t\t\ttiming.clearTimeout(connectionTimeoutId);\n\t\t\t\ttiming.clearTimeout(requestTimeoutId);\n\t\t\t\ttiming.clearTimeout(socketTimeoutId);\n\t\t\t\ttiming.clearTimeout(keepAliveTimeoutId);\n\t\t\t};\n\t\t\tconst resolve = async (arg) => {\n\t\t\t\tawait writeRequestBodyPromise;\n\t\t\t\tclearTimeouts();\n\t\t\t\t_resolve(arg);\n\t\t\t};\n\t\t\tconst reject = async (arg) => {\n\t\t\t\tawait writeRequestBodyPromise;\n\t\t\t\tclearTimeouts();\n\t\t\t\t_reject(arg);\n\t\t\t};\n\t\t\tif (abortSignal?.aborted) {\n\t\t\t\treject(buildAbortError(abortSignal));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst headers = request$1.headers;\n\t\t\tconst expectContinue = headers ? (headers.Expect ?? headers.expect) === \"100-continue\" : false;\n\t\t\tlet agent = isSSL ? config.httpsAgent : config.httpAgent;\n\t\t\tif (expectContinue && !this.externalAgent) agent = new (isSSL ? Agent : hAgent)({\n\t\t\t\tkeepAlive: false,\n\t\t\t\tmaxSockets: Infinity\n\t\t\t});\n\t\t\tsocketWarningTimeoutId = timing.setTimeout(() => {\n\t\t\t\tthis.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n\t\t\t}, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2e3) + (config.connectionTimeout ?? 1e3));\n\t\t\tconst queryString = request$1.query ? buildQueryString(request$1.query) : \"\";\n\t\t\tlet auth = void 0;\n\t\t\tif (request$1.username != null || request$1.password != null) auth = `${request$1.username ?? \"\"}:${request$1.password ?? \"\"}`;\n\t\t\tlet path = request$1.path;\n\t\t\tif (queryString) path += `?${queryString}`;\n\t\t\tif (request$1.fragment) path += `#${request$1.fragment}`;\n\t\t\tlet hostname = request$1.hostname ?? \"\";\n\t\t\tif (hostname[0] === \"[\" && hostname.endsWith(\"]\")) hostname = request$1.hostname.slice(1, -1);\n\t\t\telse hostname = request$1.hostname;\n\t\t\tconst nodeHttpsOptions = {\n\t\t\t\theaders: request$1.headers,\n\t\t\t\thost: hostname,\n\t\t\t\tmethod: request$1.method,\n\t\t\t\tpath,\n\t\t\t\tport: request$1.port,\n\t\t\t\tagent,\n\t\t\t\tauth\n\t\t\t};\n\t\t\tconst req = (isSSL ? request : hRequest)(nodeHttpsOptions, (res) => {\n\t\t\t\tresolve({ response: new HttpResponse({\n\t\t\t\t\tstatusCode: res.statusCode || -1,\n\t\t\t\t\treason: res.statusMessage,\n\t\t\t\t\theaders: getTransformedHeaders(res.headers),\n\t\t\t\t\tbody: res\n\t\t\t\t}) });\n\t\t\t});\n\t\t\treq.on(\"error\", (err) => {\n\t\t\t\tif (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) reject(Object.assign(err, { name: \"TimeoutError\" }));\n\t\t\t\telse reject(err);\n\t\t\t});\n\t\t\tif (abortSignal) {\n\t\t\t\tconst onAbort = () => {\n\t\t\t\t\treq.destroy();\n\t\t\t\t\treject(buildAbortError(abortSignal));\n\t\t\t\t};\n\t\t\t\tif (typeof abortSignal.addEventListener === \"function\") {\n\t\t\t\t\tconst signal = abortSignal;\n\t\t\t\t\tsignal.addEventListener(\"abort\", onAbort, { once: true });\n\t\t\t\t\treq.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n\t\t\t\t} else abortSignal.onabort = onAbort;\n\t\t\t}\n\t\t\tconst effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n\t\t\tconnectionTimeoutId = setConnectionTimeout(req, reject, config.connectionTimeout);\n\t\t\trequestTimeoutId = setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console);\n\t\t\tsocketTimeoutId = setSocketTimeout(req, reject, config.socketTimeout);\n\t\t\tconst httpAgent = nodeHttpsOptions.agent;\n\t\t\tif (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) keepAliveTimeoutId = setSocketKeepAlive(req, {\n\t\t\t\tkeepAlive: httpAgent.keepAlive,\n\t\t\t\tkeepAliveMsecs: httpAgent.keepAliveMsecs\n\t\t\t});\n\t\t\twriteRequestBodyPromise = writeRequestBody(req, request$1, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n\t\t\t\tclearTimeouts();\n\t\t\t\treturn _reject(e);\n\t\t\t});\n\t\t});\n\t}\n\tupdateHttpClientConfig(key, value) {\n\t\tthis.config = void 0;\n\t\tthis.configProvider = this.configProvider.then((config) => {\n\t\t\treturn {\n\t\t\t\t...config,\n\t\t\t\t[key]: value\n\t\t\t};\n\t\t});\n\t}\n\thttpHandlerConfigs() {\n\t\treturn this.config ?? {};\n\t}\n\tresolveDefaultConfig(options) {\n\t\tconst { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger } = options || {};\n\t\tconst keepAlive = true;\n\t\tconst maxSockets = 50;\n\t\treturn {\n\t\t\tconnectionTimeout,\n\t\t\trequestTimeout,\n\t\t\tsocketTimeout,\n\t\t\tsocketAcquisitionWarningTimeout,\n\t\t\tthrowOnRequestTimeout,\n\t\t\thttpAgentProvider: async () => {\n\t\t\t\tconst { Agent, request } = await import(\"node:http\");\n\t\t\t\thRequest = request;\n\t\t\t\thAgent = Agent;\n\t\t\t\tif (httpAgent instanceof hAgent || typeof httpAgent?.destroy === \"function\") {\n\t\t\t\t\tthis.externalAgent = true;\n\t\t\t\t\treturn httpAgent;\n\t\t\t\t}\n\t\t\t\treturn new hAgent({\n\t\t\t\t\tkeepAlive,\n\t\t\t\t\tmaxSockets,\n\t\t\t\t\t...httpAgent\n\t\t\t\t});\n\t\t\t},\n\t\t\thttpsAgent: (() => {\n\t\t\t\tif (httpsAgent instanceof Agent || typeof httpsAgent?.destroy === \"function\") {\n\t\t\t\t\tthis.externalAgent = true;\n\t\t\t\t\treturn httpsAgent;\n\t\t\t\t}\n\t\t\t\treturn new Agent({\n\t\t\t\t\tkeepAlive,\n\t\t\t\t\tmaxSockets,\n\t\t\t\t\t...httpsAgent\n\t\t\t\t});\n\t\t\t})(),\n\t\t\tlogger\n\t\t};\n\t}\n};\n//#endregion\nexport { NodeHttpHandler as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observe-Bo9veHGe.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observe2-wzO0MaMY.js","sources":["../../../.svelte-kit/adapter-node/chunks/observe2.js"],"sourcesContent":["import { a as getDb } from \"./sqlite.js\";\nimport { n as getBrainAccessor } from \"./memory-accessor2.js\";\nimport { n as sessionExistsInTasksDb, r as sessionExistsInTasksDbFresh } from \"./cross-db-cleanup.js\";\nimport { r as isEmbeddingAvailable, t as embedText } from \"./brain-embedding2.js\";\nimport { r as upsertGraphNode, t as addGraphEdge } from \"./graph-auto-populate2.js\";\nimport { i as computeObservationQuality } from \"./quality-scoring.js\";\nimport { createHash } from \"node:crypto\";\n//#region ../core/dist/memory/retrieval/observe.js\n/**\n* BRAIN Observe — unified write path for observations + embedding backfill.\n*\n* @task T5134\n* @epic T5149\n*/\n/** Keyword patterns for auto-classifying observation type from text. */\nvar TYPE_KEYWORDS = [\n\t{\n\t\tkeywords: [\n\t\t\t\"bug\",\n\t\t\t\"fix\",\n\t\t\t\"error\",\n\t\t\t\"crash\"\n\t\t],\n\t\ttype: \"bugfix\"\n\t},\n\t{\n\t\tkeywords: [\n\t\t\t\"refactor\",\n\t\t\t\"rename\",\n\t\t\t\"extract\",\n\t\t\t\"move\"\n\t\t],\n\t\ttype: \"refactor\"\n\t},\n\t{\n\t\tkeywords: [\n\t\t\t\"add\",\n\t\t\t\"create\",\n\t\t\t\"implement\",\n\t\t\t\"new\"\n\t\t],\n\t\ttype: \"feature\"\n\t},\n\t{\n\t\tkeywords: [\n\t\t\t\"decide\",\n\t\t\t\"chose\",\n\t\t\t\"pick\",\n\t\t\t\"instead\"\n\t\t],\n\t\ttype: \"decision\"\n\t},\n\t{\n\t\tkeywords: [\n\t\t\t\"update\",\n\t\t\t\"change\",\n\t\t\t\"modify\",\n\t\t\t\"upgrade\"\n\t\t],\n\t\ttype: \"change\"\n\t}\n];\n/** Auto-classify observation type from text using keyword matching. */\nfunction classifyObservationType(text) {\n\tconst lower = text.toLowerCase();\n\tfor (const { keywords, type } of TYPE_KEYWORDS) for (const keyword of keywords) if (lower.includes(keyword)) return type;\n\treturn \"discovery\";\n}\n/** Monotonic counter to prevent ID collisions within the same millisecond. */\nvar observeSeq = 0;\n/**\n* Auto-link a newly created observation to the currently focused task.\n*\n* Queries the active session via sessionStatus() and reads taskWork.taskId.\n* If a task is focused, inserts a brain_memory_links row linking the\n* observation to that task with linkType 'produced_by'.\n*\n* All failures are silently swallowed — this is a best-effort side effect.\n*\n* @param projectRoot - Project root directory\n* @param observationId - ID of the newly created observation\n* @param accessor - BrainDataAccessor to use for the link insert\n*/\nasync function autoLinkObservationToTask(projectRoot, observationId, accessor) {\n\tconst { sessionStatus } = await import(\"./sessions2.js\");\n\tconst session = await sessionStatus(projectRoot, {});\n\tif (!session) return;\n\tconst taskId = session.taskWork?.taskId;\n\tif (!taskId) return;\n\tawait accessor.addLink({\n\t\tmemoryType: \"observation\",\n\t\tmemoryId: observationId,\n\t\ttaskId,\n\t\tlinkType: \"produced_by\"\n\t});\n}\n/**\n* Save an observation to the BRAIN observations table.\n* Replaces the external claude-mem save_observation pattern.\n*\n* Auto-classifies type from text if not provided. Generates a\n* unique ID with O- prefix + base36 timestamp.\n*\n* @param projectRoot - Project root directory\n* @param params - Observation data\n* @returns Created observation ID, type, and timestamp\n*\n* @example\n* ```ts\n* // Save a decision observation to the BRAIN.\n* // The result contains the auto-generated ID, classified type, and timestamp.\n* const result = await observeBrain('/path/to/project', {\n* text: 'Decided to use ESM-only imports for better tree-shaking.',\n* title: 'ESM-only import decision',\n* type: 'decision',\n* sourceType: 'session-debrief',\n* });\n*\n* console.assert(result.id.startsWith('O-'), 'ID uses O- prefix');\n* console.assert(result.type === 'decision', 'type preserved from params');\n* console.assert(typeof result.createdAt === 'string', 'createdAt is ISO timestamp');\n* ```\n*/\nasync function observeBrain(projectRoot, params) {\n\tconst { text, title: titleParam, type: typeParam, project, sourceSessionId, sourceType, agent, sourceConfidence: sourceConfidenceParam, crossRef, attachmentRefs, origin, provenanceChain, _skipGate, _skipQueue } = params;\n\tif (!text?.trim()) throw new Error(\"Observation text is required\");\n\tif (!_skipQueue) {\n\t\tlet validatedSourceSessionId = sourceSessionId;\n\t\tif (sourceSessionId) {\n\t\t\tlet sessionExists;\n\t\t\tlet tasksDb = null;\n\t\t\ttry {\n\t\t\t\ttasksDb = await getDb(projectRoot);\n\t\t\t\tif (await sessionExistsInTasksDb(sourceSessionId, tasksDb)) sessionExists = true;\n\t\t\t} catch {}\n\t\t\tif (sessionExists !== true) try {\n\t\t\t\tsessionExists = await sessionExistsInTasksDbFresh(sourceSessionId, tasksDb, projectRoot);\n\t\t\t} catch {}\n\t\t\tif (sessionExists === false) validatedSourceSessionId = void 0;\n\t\t}\n\t\tconst { enqueueBrainWrite } = await import(\"./brain-writer-thread.js\");\n\t\tconst result = await enqueueBrainWrite({\n\t\t\tkind: \"observe\",\n\t\t\tprojectRoot,\n\t\t\tparams: {\n\t\t\t\t...params,\n\t\t\t\tsourceSessionId: validatedSourceSessionId\n\t\t\t}\n\t\t});\n\t\tif (result.kind !== \"observe\") throw new Error(`Unexpected writer result kind: ${result.kind}`);\n\t\treturn result.result;\n\t}\n\tif (!_skipGate) {\n\t\tconst { verifyCandidate } = await import(\"./extraction-gate.js\");\n\t\tconst title = titleParam ?? text.slice(0, 120);\n\t\tconst resolvedSourceConf = sourceConfidenceParam ?? (sourceType === \"manual\" ? \"owner\" : sourceType === \"session-debrief\" ? \"task-outcome\" : \"agent\");\n\t\tconst gateResult = await verifyCandidate(projectRoot, {\n\t\t\ttext,\n\t\t\ttitle,\n\t\t\tmemoryType: \"episodic\",\n\t\t\ttier: \"short\",\n\t\t\tconfidence: .6,\n\t\t\tsource: sourceType === \"manual\" ? \"manual\" : \"transcript\",\n\t\t\tsourceSessionId,\n\t\t\tsourceConfidence: resolvedSourceConf,\n\t\t\ttrusted: resolvedSourceConf === \"owner\" || resolvedSourceConf === \"task-outcome\"\n\t\t});\n\t\tif (gateResult.action !== \"stored\") {\n\t\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\t\treturn {\n\t\t\t\tid: gateResult.id ?? `O-gate-${Date.now().toString(36)}`,\n\t\t\t\ttype: typeParam ?? \"observation\",\n\t\t\t\tcreatedAt: now\n\t\t\t};\n\t\t}\n\t}\n\tconst type = typeParam ?? classifyObservationType(text);\n\tconst title = titleParam ?? text.slice(0, 120);\n\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\tconst resolvedSourceConfidence = sourceConfidenceParam ?? (sourceType === \"manual\" ? \"owner\" : sourceType === \"session-debrief\" ? \"task-outcome\" : \"agent\");\n\tconst taskIdMatches = text.match(/T\\d+/g) ?? [];\n\tconst hasMultipleTaskRefs = new Set(taskIdMatches).size >= 2;\n\tconst hasCrossRef = Array.isArray(crossRef) && crossRef.length >= 1;\n\tconst memoryTier = hasMultipleTaskRefs || hasCrossRef ? \"medium\" : \"short\";\n\tconst memoryType = \"episodic\";\n\tconst verified = resolvedSourceConfidence === \"owner\" || resolvedSourceConfidence === \"task-outcome\";\n\tconst contentHash = createHash(\"sha256\").update(text.trim().toLowerCase()).digest(\"hex\").slice(0, 16);\n\tconst { getBrainNativeDb } = await import(\"./memory-sqlite2.js\");\n\tconst nativeDb = getBrainNativeDb();\n\tconst validSessionId = sourceSessionId ?? null;\n\tconst qualityScore = computeObservationQuality({\n\t\ttext,\n\t\ttitle,\n\t\tsourceConfidence: resolvedSourceConfidence,\n\t\tmemoryTier\n\t});\n\tconst id = `O-${Date.now().toString(36)}-${(observeSeq++ % 1e3).toString(36)}`;\n\tconst accessor = await getBrainAccessor(projectRoot);\n\tconst row = await accessor.addObservation({\n\t\tid,\n\t\ttype,\n\t\ttitle,\n\t\tnarrative: text,\n\t\tcontentHash,\n\t\tproject: project ?? null,\n\t\tsourceSessionId: validSessionId,\n\t\tsourceType: sourceType ?? \"agent\",\n\t\tagent: agent ?? null,\n\t\tqualityScore,\n\t\tcreatedAt: now,\n\t\tmemoryTier,\n\t\tmemoryType,\n\t\tsourceConfidence: resolvedSourceConfidence,\n\t\tverified,\n\t\t...attachmentRefs && attachmentRefs.length > 0 ? { attachmentsJson: JSON.stringify(attachmentRefs) } : {},\n\t\t...origin != null ? { origin } : {},\n\t\t...provenanceChain && provenanceChain.length > 0 ? { provenanceChain: JSON.stringify(provenanceChain) } : {}\n\t});\n\tif (isEmbeddingAvailable()) setImmediate(() => {\n\t\tembedText(text).then((vector) => {\n\t\t\tif (vector && nativeDb) nativeDb.prepare(\"INSERT OR REPLACE INTO brain_embeddings (id, embedding) VALUES (?, ?)\").run(id, Buffer.from(vector.buffer));\n\t\t}).catch(() => {});\n\t});\n\tif (type === \"decision\") import(\"./memory-bridge.js\").then(({ refreshMemoryBridge }) => refreshMemoryBridge(projectRoot)).catch(() => {});\n\tif (validSessionId) autoLinkObservationToTask(projectRoot, row.id, accessor).catch(() => {});\n\ttry {\n\t\tawait upsertGraphNode(projectRoot, `observation:${row.id}`, \"observation\", row.title.substring(0, 200), row.qualityScore ?? .5, row.narrative ?? row.title, {\n\t\t\tsourceType: row.sourceType,\n\t\t\tagent: row.agent ?? void 0\n\t\t});\n\t\tif (validSessionId) {\n\t\t\tawait upsertGraphNode(projectRoot, `session:${validSessionId}`, \"session\", validSessionId, .8, \"\");\n\t\t\tawait addGraphEdge(projectRoot, `observation:${row.id}`, `session:${validSessionId}`, \"produced_by\", 1, \"auto:observe\");\n\t\t}\n\t} catch {}\n\treturn {\n\t\tid: row.id,\n\t\ttype: row.type,\n\t\tcreatedAt: row.createdAt\n\t};\n}\n//#endregion\nexport { observeBrain as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observer-reflector-BwNOuq1d.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observer-reflector2-ggtC1hmk.js","sources":["../../../.svelte-kit/adapter-node/chunks/observer-reflector2.js"],"sourcesContent":["import { t as getLogger } from \"./logger.js\";\nimport { o as getBrainNativeDb } from \"./memory-sqlite.js\";\nimport { t as addGraphEdge } from \"./graph-auto-populate2.js\";\nimport { n as storeLearning } from \"./learnings2.js\";\nimport { t as executeForRole } from \"./role-executor.js\";\nimport { n as storePattern } from \"./patterns2.js\";\nimport { randomBytes } from \"node:crypto\";\n//#region ../core/dist/memory/observer-reflector.js\n/**\n* Observer/Reflector — LLM-driven session compression for CLEO BRAIN.\n*\n* Implements the Mastra-style two-agent compression pattern that achieves\n* 3-6x context compression on text and 5-40x on tool-call-heavy workloads.\n*\n* ## Architecture\n*\n* **Observer** (runs after each task or when observation count ≥ threshold):\n* - Takes raw brain observations from the current session\n* - Produces 3-5 dense, dated, prioritized observation notes (≤ 300 chars each)\n* - Compresses verbose tool outputs into 1-line summaries\n* - Stored as brain_observations with source='observer-compressed'\n* - Linked to original observation IDs via brain_memory_links table\n*\n* **Reflector** (runs at session end when observation count ≥ threshold):\n* - Takes accumulated observation notes from the current session\n* - Restructures: combines related items, identifies cross-cutting patterns,\n* drops superseded observations\n* - Outputs stored as brain_patterns and brain_learnings via existing store fns\n* - Source tagged as 'reflector-synthesized'\n*\n* ## LLM Backend\n*\n* Routes through {@link executeForRole} (T9320), which resolves\n* provider/model/credential via the standard role chain (T9255) and dispatches\n* to the matching transport — Anthropic Messages, OpenAI chat-completions, or\n* any future api-mode. `CLEO_OBSERVER_MODEL` continues to override the\n* resolved model when set. When no credential is configured for the resolved\n* provider, both functions silently no-op — the rest of the memory pipeline\n* still runs normally.\n*\n* ## Configuration\n*\n* Add to `config.json` under `brain.observer`:\n* ```json\n* {\n* \"brain\": {\n* \"observer\": {\n* \"enabled\": true,\n* \"threshold\": 10\n* },\n* \"reflector\": {\n* \"enabled\": true\n* }\n* }\n* }\n* ```\n*\n* @task T554\n* @epic T549\n* @see .cleo/agent-outputs/R-llm-memory-systems-research.md §7 (Observer/Reflector Pattern)\n*/\nvar log = getLogger(\"observer-reflector\");\n/**\n* Logical role for observer/reflector LLM calls.\n*\n* Forwarded to {@link executeForRole} (T9320), which resolves the concrete\n* provider/model/credential via the standard role chain (T9255). Observer and\n* reflector are both consolidation-tier tasks (compress + restructure recent\n* BRAIN observations). The `CLEO_OBSERVER_MODEL` env var still wins when set,\n* preserving the historical override knob.\n*\n* @task T9255\n*/\nvar OBSERVER_ROLE = \"consolidation\";\n/** Maximum tokens for LLM response. Enough for 5 structured observations. */\nvar MAX_RESPONSE_TOKENS = 1024;\n/** Default threshold: trigger observer after this many session observations. */\nvar DEFAULT_OBSERVER_THRESHOLD = 10;\n/** Maximum observations passed to observer in a single batch. */\nvar OBSERVER_BATCH_LIMIT = 30;\n/** Source tag written to brain_observations for observer-compressed entries. */\nvar OBSERVER_SOURCE = \"observer-compressed\";\n/** Source tag written to brain_patterns / brain_learnings for reflector outputs. */\nvar REFLECTOR_SOURCE = \"reflector-synthesized\";\n/**\n* Load observer configuration for the project.\n* Falls back to defaults on any error (enabled=true, threshold=10).\n*/\nasync function loadObserverConfig(projectRoot) {\n\ttry {\n\t\tconst { loadConfig } = await import(\"./config2.js\");\n\t\tconst observer = (await loadConfig(projectRoot)).brain?.[\"observer\"];\n\t\treturn {\n\t\t\tenabled: observer?.[\"enabled\"] !== false,\n\t\t\tthreshold: typeof observer?.[\"threshold\"] === \"number\" ? observer[\"threshold\"] : DEFAULT_OBSERVER_THRESHOLD\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tenabled: true,\n\t\t\tthreshold: DEFAULT_OBSERVER_THRESHOLD\n\t\t};\n\t}\n}\n/**\n* Load reflector configuration for the project.\n* Falls back to defaults on any error (enabled=true).\n*/\nasync function loadReflectorConfig(projectRoot) {\n\ttry {\n\t\tconst { loadConfig } = await import(\"./config2.js\");\n\t\treturn { enabled: ((await loadConfig(projectRoot)).brain?.[\"reflector\"])?.[\"enabled\"] !== false };\n\t} catch {\n\t\treturn { enabled: true };\n\t}\n}\n/**\n* Issue a single LLM call for the observer/reflector consolidation role.\n*\n* Routes through {@link executeForRole}, which resolves\n* provider/model/credential via the standard role chain (T9255) and dispatches\n* to the matching transport (Anthropic Messages, OpenAI chat-completions, or\n* any future api-mode). Replaces the previous hardcoded\n* `fetch('https://api.anthropic.com/v1/messages')` so changing\n* `config.llm.roles.consolidation.provider` actually changes the wire target.\n*\n* `CLEO_OBSERVER_MODEL` continues to override the resolved model when set —\n* historical override knob preserved.\n*\n* Returns `null` when no credential is available or the call fails — callers\n* fall back to the no-op path.\n*\n* @param projectRoot - Project root for config + tier-5 credential lookup.\n* @param systemPrompt - System instruction for the LLM.\n* @param userContent - User message content.\n* @returns The assistant response text, or `null` on failure.\n*\n* @task T9320\n*/\nasync function callAnthropicLlm(projectRoot, systemPrompt, userContent) {\n\tconst envOverride = process.env[\"CLEO_OBSERVER_MODEL\"];\n\tconst modelOverride = envOverride !== void 0 && envOverride.length > 0 ? envOverride : void 0;\n\treturn (await executeForRole(OBSERVER_ROLE, systemPrompt, userContent, {\n\t\tprojectRoot,\n\t\tmaxTokens: MAX_RESPONSE_TOKENS,\n\t\t...modelOverride !== void 0 ? { modelOverride } : {}\n\t}))?.content ?? null;\n}\n/**\n* Attempt to parse the LLM response as JSON. Strips markdown code fences\n* (```json ... ```) before parsing. Returns null on parse failure.\n*/\nfunction parseJsonResponse(text) {\n\ttry {\n\t\tconst cleaned = text.replace(/^```(?:json)?\\s*/m, \"\").replace(/\\s*```\\s*$/m, \"\").trim();\n\t\treturn JSON.parse(cleaned);\n\t} catch {\n\t\treturn null;\n\t}\n}\n/**\n* Query recent brain_observations for a session.\n*\n* Returns up to `limit` observations (most recent first) that:\n* - Were created within the current session (`source_session_id = sessionId`)\n* - Are not already observer-compressed (`source_type != 'observer-compressed'`)\n* - Have not been soft-evicted (`invalid_at IS NULL`)\n*\n* Falls back to all uncompressed observations from the last 24 hours when\n* sessionId is not provided or yields fewer than 2 results.\n*/\nfunction fetchSessionObservations(sessionId, limit) {\n\tconst nativeDb = getBrainNativeDb();\n\tif (!nativeDb) return [];\n\ttry {\n\t\tif (sessionId) {\n\t\t\tconst rows = nativeDb.prepare(`\n SELECT id, type, title, narrative, created_at, source_session_id\n FROM brain_observations\n WHERE source_session_id = ?\n AND (source_type IS NULL OR source_type != ?)\n AND invalid_at IS NULL\n ORDER BY created_at DESC\n LIMIT ?\n `).all(sessionId, OBSERVER_SOURCE, limit);\n\t\t\tif (rows.length >= 2) return rows;\n\t\t}\n\t\tconst cutoff = (/* @__PURE__ */ new Date(Date.now() - 1440 * 60 * 1e3)).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\treturn nativeDb.prepare(`\n SELECT id, type, title, narrative, created_at, source_session_id\n FROM brain_observations\n WHERE created_at >= ?\n AND (source_type IS NULL OR source_type != ?)\n AND invalid_at IS NULL\n ORDER BY created_at DESC\n LIMIT ?\n `).all(cutoff, OBSERVER_SOURCE, limit);\n\t} catch {\n\t\treturn [];\n\t}\n}\n/**\n* Count uncompressed observations for a session.\n* Used to check the trigger threshold before running the observer.\n*/\nfunction countSessionObservations(sessionId) {\n\tconst nativeDb = getBrainNativeDb();\n\tif (!nativeDb) return 0;\n\ttry {\n\t\tif (sessionId) {\n\t\t\tconst row = nativeDb.prepare(`\n SELECT COUNT(*) as cnt\n FROM brain_observations\n WHERE source_session_id = ?\n AND (source_type IS NULL OR source_type != ?)\n AND invalid_at IS NULL\n `).get(sessionId, OBSERVER_SOURCE);\n\t\t\tif (row && row.cnt > 0) return row.cnt;\n\t\t}\n\t\tconst cutoff = (/* @__PURE__ */ new Date(Date.now() - 1440 * 60 * 1e3)).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\treturn nativeDb.prepare(`\n SELECT COUNT(*) as cnt\n FROM brain_observations\n WHERE created_at >= ?\n AND (source_type IS NULL OR source_type != ?)\n AND invalid_at IS NULL\n `).get(cutoff, OBSERVER_SOURCE)?.cnt ?? 0;\n\t} catch {\n\t\treturn 0;\n\t}\n}\n/**\n* Store a compressed observer note as a brain_observation entry.\n*\n* Uses source_type = 'observer-compressed' so it is excluded from\n* future observer input batches (no infinite compression loops).\n*\n* @returns ID of the stored entry, or null on failure.\n*/\nfunction storeObserverNote(projectRoot, note, sessionId) {\n\tconst nativeDb = getBrainNativeDb();\n\tif (!nativeDb) return null;\n\ttry {\n\t\tconst id = `O-${randomBytes(4).toString(\"hex\")}`;\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tconst title = `[Observer p${note.priority}] ${note.observation.slice(0, 80)}`;\n\t\tconst narrative = `${note.observation} (compressed from: ${note.source_ids.join(\", \")})`;\n\t\tnativeDb.prepare(`\n INSERT INTO brain_observations\n (id, type, title, narrative, source_type, source_session_id, quality_score,\n memory_tier, created_at)\n VALUES (?, 'change', ?, ?, ?, ?, ?, 'short', ?)\n `).run(id, title, narrative, OBSERVER_SOURCE, sessionId ?? null, Math.max(.6, 1 - (note.priority - 1) * .1), now);\n\t\tfor (const sourceId of note.source_ids) addGraphEdge(projectRoot, `observation:${id}`, `observation:${sourceId}`, \"supersedes\", .9, \"observer-reflector\").catch(() => void 0);\n\t\treturn id;\n\t} catch (err) {\n\t\tconst msg = err instanceof Error ? err.message : String(err);\n\t\tlog.warn(`Failed to store observer note: ${msg}`);\n\t\treturn null;\n\t}\n}\n/**\n* Mark observations as superseded by the reflector.\n* Sets invalid_at so they are excluded from future queries.\n*/\nfunction markSuperseded(ids) {\n\tif (ids.length === 0) return;\n\tconst nativeDb = getBrainNativeDb();\n\tif (!nativeDb) return;\n\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\ttry {\n\t\tconst BATCH = 100;\n\t\tfor (let i = 0; i < ids.length; i += BATCH) {\n\t\t\tconst batch = ids.slice(i, i + BATCH);\n\t\t\tconst placeholders = batch.map(() => \"?\").join(\",\");\n\t\t\tnativeDb.prepare(`UPDATE brain_observations\n SET invalid_at = ?, updated_at = ?\n WHERE id IN (${placeholders}) AND invalid_at IS NULL`).run(now, now, ...batch);\n\t\t}\n\t} catch {}\n}\n/** System prompt for the Observer LLM call. */\nvar OBSERVER_SYSTEM_PROMPT = `You are compressing AI coding session activity into dense observation notes.\nInput: recent observations and tool outputs from a CLEO agent coding session.\nOutput: 3-5 dated, prioritized observation notes (each ≤300 chars).\nFocus on: state changes, decisions, errors, completed work.\nDrop: verbose tool output, repetition, transient state.\nFormat: JSON array of objects with keys:\n - date: ISO date string (YYYY-MM-DD)\n - priority: integer 1-5 (1=architectural decision, 2=implementation choice, 3=constraint/bug, 4=routine action, 5=noise)\n - observation: string ≤300 chars — capture DECISION+RATIONALE not the discussion\n - source_ids: array of original observation IDs that this note compresses\n\nRules:\n- For tool calls: capture the outcome, not the invocation\n- For file reads: capture what was LEARNED, not what was read\n- For errors: capture the ROOT CAUSE, not the stack trace\n- Prefer priority 1-2 items; include priority 4-5 only if significant count\n- ONLY return valid JSON array, no markdown fences or extra text`;\nasync function runObserver(projectRoot, sessionId, options) {\n\tconst empty = {\n\t\tran: false,\n\t\tstored: 0,\n\t\tcompressedIds: [],\n\t\tnotes: []\n\t};\n\tconst { resolveCredentials } = await import(\"./credentials.js\");\n\tif (!resolveCredentials(\"anthropic\").apiKey) return empty;\n\tconst cfg = await loadObserverConfig(projectRoot);\n\tif (!cfg.enabled) return empty;\n\ttry {\n\t\tconst { getBrainDb } = await import(\"./memory-sqlite2.js\");\n\t\tawait getBrainDb(projectRoot);\n\t} catch {\n\t\treturn empty;\n\t}\n\tconst effectiveThreshold = options?.thresholdOverride ?? cfg.threshold;\n\tif (countSessionObservations(sessionId) < effectiveThreshold) return empty;\n\tconst observations = fetchSessionObservations(sessionId, OBSERVER_BATCH_LIMIT);\n\tif (observations.length < 2) return empty;\n\tconst observationList = observations.map((obs) => `[${obs.id}] ${obs.created_at ?? \"unknown\"}: ${obs.title ?? \"\"} — ${(obs.narrative ?? \"\").slice(0, 200)}`).join(\"\\n\");\n\tconst rawResponse = await callAnthropicLlm(projectRoot, OBSERVER_SYSTEM_PROMPT, `Recent observations to compress (${observations.length} entries):\\n\\n${observationList}`);\n\tif (!rawResponse) return empty;\n\tconst notes = parseJsonResponse(rawResponse);\n\tif (!notes || !Array.isArray(notes) || notes.length === 0) {\n\t\tlog.warn(\"Observer: failed to parse LLM response as ObserverNote[]\");\n\t\treturn empty;\n\t}\n\tlet stored = 0;\n\tconst compressedIds = [];\n\tfor (const note of notes) {\n\t\tif (typeof note.observation !== \"string\" || !note.observation || !Array.isArray(note.source_ids)) continue;\n\t\tif (storeObserverNote(projectRoot, note, sessionId) !== null) {\n\t\t\tstored++;\n\t\t\tcompressedIds.push(...note.source_ids);\n\t\t}\n\t}\n\treturn {\n\t\tran: true,\n\t\tstored,\n\t\tcompressedIds: [...new Set(compressedIds)],\n\t\tnotes\n\t};\n}\n/** System prompt for the Reflector LLM call. */\nvar REFLECTOR_SYSTEM_PROMPT = `You are restructuring accumulated observations from a coding agent session into durable knowledge.\nInput: observation notes from the session (both raw and observer-compressed).\nOutput: extracted patterns + learnings.\n\nRules:\n- Combine related observations into single insights\n- Identify cross-cutting patterns (3+ similar events)\n- Drop observations superseded by later ones (list their IDs in \"superseded\")\n- Preserve ALL architectural decisions and their rationale\n- Preserve ALL discovered constraints and bugs with root causes\n- Add cross-cutting insights that emerge from the full picture\n\nFormat: JSON object with keys:\n - patterns: array of { pattern: string (≤300 chars), context: string (≤150 chars) }\n - learnings: array of { insight: string (≤300 chars), confidence: number 0.0-1.0 }\n - superseded: array of observation IDs (strings) that are now redundant\n\nONLY return valid JSON, no markdown fences or extra text.\nMaximum 5 patterns, 5 learnings. Quality over quantity.`;\n/**\n* Run the Reflector on accumulated session observation notes.\n*\n* Triggered at session end when:\n* 1. `brain.reflector.enabled` is true (default)\n* 2. Sufficient observations exist to reflect on (≥ 3)\n* 3. `ANTHROPIC_API_KEY` is set in the environment\n*\n* Steps:\n* 1. Fetch recent observations (raw + observer-compressed) for the session\n* 2. Call Anthropic LLM with Reflector prompt\n* 3. Parse response as { patterns, learnings, superseded }\n* 4. Store patterns via storePattern()\n* 5. Store learnings via storeLearning()\n* 6. Mark superseded observations as invalid (soft-evict)\n*\n* Always best-effort — errors are caught and logged, never thrown.\n*\n* @param projectRoot - Absolute path to project root.\n* @param sessionId - Current CLEO session ID.\n* @returns ReflectorResult with counts.\n*/\nasync function runReflector(projectRoot, sessionId) {\n\tconst empty = {\n\t\tran: false,\n\t\tpatternsStored: 0,\n\t\tlearningsStored: 0,\n\t\tsupersededIds: []\n\t};\n\tconst { resolveCredentials } = await import(\"./credentials.js\");\n\tif (!resolveCredentials(\"anthropic\").apiKey) return empty;\n\tif (!(await loadReflectorConfig(projectRoot)).enabled) return empty;\n\ttry {\n\t\tconst { getBrainDb } = await import(\"./memory-sqlite2.js\");\n\t\tawait getBrainDb(projectRoot);\n\t} catch {\n\t\treturn empty;\n\t}\n\tconst nativeDb = getBrainNativeDb(projectRoot);\n\tif (!nativeDb) return empty;\n\tlet observations = [];\n\ttry {\n\t\tconst cutoff = (/* @__PURE__ */ new Date(Date.now() - 2880 * 60 * 1e3)).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tif (sessionId) observations = nativeDb.prepare(`\n SELECT id, type, title, narrative, created_at, source_type\n FROM brain_observations\n WHERE source_session_id = ?\n AND invalid_at IS NULL\n ORDER BY created_at DESC\n LIMIT 50\n `).all(sessionId);\n\t\tif (observations.length < 3) observations = nativeDb.prepare(`\n SELECT id, type, title, narrative, created_at, source_type\n FROM brain_observations\n WHERE created_at >= ?\n AND invalid_at IS NULL\n ORDER BY created_at DESC\n LIMIT 50\n `).all(cutoff);\n\t} catch {\n\t\treturn empty;\n\t}\n\tif (observations.length < 3) return empty;\n\tconst obsList = observations.map((obs) => `[${obs.id}] (${obs.source_type ?? \"raw\"}): ${obs.title ?? \"\"} — ${(obs.narrative ?? \"\").slice(0, 200)}`).join(\"\\n\");\n\tconst rawResponse = await callAnthropicLlm(projectRoot, REFLECTOR_SYSTEM_PROMPT, `Session observations to synthesize (${observations.length} entries):\\n\\n${obsList}`);\n\tif (!rawResponse) return empty;\n\tconst output = parseJsonResponse(rawResponse);\n\tif (!output || typeof output !== \"object\") {\n\t\tlog.warn(\"Reflector: failed to parse LLM response\");\n\t\treturn empty;\n\t}\n\tlet patternsStored = 0;\n\tlet learningsStored = 0;\n\tconst newEntryIds = [];\n\tif (Array.isArray(output.patterns)) for (const p of output.patterns) {\n\t\tif (typeof p.pattern !== \"string\" || !p.pattern) continue;\n\t\ttry {\n\t\t\tconst stored = await storePattern(projectRoot, {\n\t\t\t\ttype: \"workflow\",\n\t\t\t\tpattern: p.pattern.slice(0, 500),\n\t\t\t\tcontext: (p.context ?? \"\").slice(0, 200),\n\t\t\t\tsource: REFLECTOR_SOURCE\n\t\t\t});\n\t\t\tnewEntryIds.push(`pattern:${stored.id}`);\n\t\t\tpatternsStored++;\n\t\t} catch {}\n\t}\n\tif (Array.isArray(output.learnings)) for (const l of output.learnings) {\n\t\tif (typeof l.insight !== \"string\" || !l.insight) continue;\n\t\tconst confidence = typeof l.confidence === \"number\" ? Math.max(.1, Math.min(1, l.confidence)) : .7;\n\t\ttry {\n\t\t\tconst stored = await storeLearning(projectRoot, {\n\t\t\t\tinsight: l.insight.slice(0, 500),\n\t\t\t\tsource: REFLECTOR_SOURCE,\n\t\t\t\tconfidence,\n\t\t\t\tactionable: confidence >= .7\n\t\t\t});\n\t\t\tnewEntryIds.push(`learning:${stored.id}`);\n\t\t\tlearningsStored++;\n\t\t} catch {}\n\t}\n\tconst supersededIds = Array.isArray(output.superseded) ? output.superseded.filter((id) => typeof id === \"string\") : [];\n\tmarkSuperseded(supersededIds);\n\tif (newEntryIds.length > 0 && supersededIds.length > 0) for (const newNodeId of newEntryIds) for (const obsId of supersededIds) addGraphEdge(projectRoot, newNodeId, `observation:${obsId}`, \"supersedes\", 1, \"reflector-synthesized:session-end-reflection\").catch(() => {});\n\treturn {\n\t\tran: true,\n\t\tpatternsStored,\n\t\tlearningsStored,\n\t\tsupersededIds\n\t};\n}\n//#endregion\nexport { runReflector as n, runObserver as t };\n"],"names":[],"mappings":"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"}
|