@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":"lock-CA7d6lj7.js","sources":["../../../.svelte-kit/adapter-node/chunks/lock.js"],"sourcesContent":["import { Xn as ExitCode } from \"./dist2.js\";\nimport { t as CleoError } from \"./errors.js\";\nimport lockfile from \"proper-lockfile\";\n//#region ../core/dist/store/lock.js\n/**\n* File locking using proper-lockfile.\n* Prevents concurrent modifications to CLEO data files.\n* @epic T4454\n* @task T4457\n*/\n/** Default lock options. */\nvar DEFAULT_LOCK_OPTIONS = {\n\tretries: {\n\t\tretries: 3,\n\t\tminTimeout: 100,\n\t\tmaxTimeout: 1e3,\n\t\tfactor: 2\n\t},\n\tstale: 1e4,\n\trealpath: false\n};\n/**\n* Acquire an exclusive lock on a file.\n* Returns a release function that must be called when done.\n*/\nasync function acquireLock(filePath, options) {\n\ttry {\n\t\treturn await lockfile.lock(filePath, {\n\t\t\t...DEFAULT_LOCK_OPTIONS,\n\t\t\t...options?.stale !== void 0 && { stale: options.stale },\n\t\t\t...options?.retries !== void 0 && { retries: {\n\t\t\t\t...DEFAULT_LOCK_OPTIONS.retries,\n\t\t\t\tretries: options.retries\n\t\t\t} }\n\t\t});\n\t} catch (err) {\n\t\tthrow new CleoError(ExitCode.LOCK_TIMEOUT, `Failed to acquire lock: ${filePath}`, {\n\t\t\tfix: `Another process may be writing to this file. Wait and retry.`,\n\t\t\tcause: err\n\t\t});\n\t}\n}\n/**\n* Execute a function while holding an exclusive lock on a file.\n* The lock is automatically released when the function completes (or throws).\n*/\nasync function withLock(filePath, fn, options) {\n\tconst release = await acquireLock(filePath, options);\n\ttry {\n\t\treturn await fn();\n\t} finally {\n\t\tawait release();\n\t}\n}\n//#endregion\nexport { withLock as t };\n"],"names":[],"mappings":";;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,oBAAoB,GAAG;AAC3B,CAAC,OAAO,EAAE;AACV,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,UAAU,EAAE,GAAG;AACjB,EAAE,MAAM,EAAE;AACV,EAAE;AACF,CAAC,KAAK,EAAE,GAAG;AACX,CAAC,QAAQ,EAAE;AACX,CAAC;AACD;AACA;AACA;AACA;AACA,eAAe,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC9C,CAAC,IAAI;AACL,EAAE,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;AACvC,GAAG,GAAG,oBAAoB;AAC1B,GAAG,GAAG,OAAO,EAAE,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;AAC3D,GAAG,GAAG,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE;AAChD,IAAI,GAAG,oBAAoB,CAAC,OAAO;AACnC,IAAI,OAAO,EAAE,OAAO,CAAC;AACrB,IAAI;AACJ,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;AACf,EAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,EAAE;AACpF,GAAG,GAAG,EAAE,CAAC,4DAA4D,CAAC;AACtE,GAAG,KAAK,EAAE;AACV,GAAG,CAAC;AACJ,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE;AAC/C,CAAC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC;AACrD,CAAC,IAAI;AACL,EAAE,OAAO,MAAM,EAAE,EAAE;AACnB,CAAC,CAAC,SAAS;AACX,EAAE,MAAM,OAAO,EAAE;AACjB,CAAC;AACD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger-DQIoyZbq.js","sources":["../../../../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_@opentelemetry+api@1.9.0_@sinclair+typebox@0.34.49_@types+mssql@_b4e81f2ea693a7363d3e5dc2205249c6/node_modules/drizzle-orm/logger.js"],"sourcesContent":["import { entityKind } from \"./entity.js\";\n\n//#region src/logger.ts\nvar ConsoleLogWriter = class {\n\tstatic [entityKind] = \"ConsoleLogWriter\";\n\twrite(message) {\n\t\tconsole.log(message);\n\t}\n};\nvar DefaultLogger = class {\n\tstatic [entityKind] = \"DefaultLogger\";\n\twriter;\n\tconstructor(config) {\n\t\tthis.writer = config?.writer ?? new ConsoleLogWriter();\n\t}\n\tlogQuery(query, params) {\n\t\tconst stringifiedParams = params.map((p) => {\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(p);\n\t\t\t} catch {\n\t\t\t\treturn String(p);\n\t\t\t}\n\t\t});\n\t\tconst paramsStr = stringifiedParams.length ? ` -- params: [${stringifiedParams.join(\", \")}]` : \"\";\n\t\tthis.writer.write(`Query: ${query}${paramsStr}`);\n\t}\n};\nvar NoopLogger = class {\n\tstatic [entityKind] = \"NoopLogger\";\n\tlogQuery() {}\n};\n\n//#endregion\nexport { ConsoleLogWriter, DefaultLogger, NoopLogger };\n//# sourceMappingURL=logger.js.map"],"names":[],"mappings":";;AAEA;AACG,IAAC,gBAAgB,GAAG,MAAM;AAC7B,CAAC,QAAQ,UAAU,IAAI,kBAAkB;AACzC,CAAC,KAAK,CAAC,OAAO,EAAE;AAChB,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACtB,CAAC;AACD;AACG,IAAC,aAAa,GAAG,MAAM;AAC1B,CAAC,QAAQ,UAAU,IAAI,eAAe;AACtC,CAAC,MAAM;AACP,CAAC,WAAW,CAAC,MAAM,EAAE;AACrB,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,gBAAgB,EAAE;AACxD,CAAC;AACD,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE;AACzB,EAAE,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AAC9C,GAAG,IAAI;AACP,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5B,GAAG,CAAC,CAAC,MAAM;AACX,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC;AACpB,GAAG;AACH,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;AACnG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AAClD,CAAC;AACD;AACG,IAAC,UAAU,GAAG,MAAM;AACvB,CAAC,QAAQ,UAAU,IAAI,YAAY;AACnC,CAAC,QAAQ,GAAG,CAAC;AACb;;;;","x_google_ignoreList":[0]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-BUbicBbE.js","sources":["../../../.svelte-kit/adapter-node/chunks/memory.js"],"sourcesContent":["import \"./dist2.js\";\nimport \"./errors.js\";\nimport { u as getProjectRoot } from \"./paths.js\";\nimport \"./tasks-schema.js\";\nimport { u as truncateString } from \"./sessions.js\";\nimport \"./sqlite.js\";\nimport { i as getBrainDb, o as getBrainNativeDb } from \"./memory-sqlite.js\";\nimport \"./memory-accessor2.js\";\nimport \"./json.js\";\nimport { t as typedAll } from \"./typed-query.js\";\nimport \"./cross-db-cleanup.js\";\nimport \"./add.js\";\nimport \"./brain-consolidator2.js\";\nimport \"./brain-lifecycle2.js\";\nimport \"./brain-maintenance.js\";\nimport \"./brain-retrieval.js\";\nimport \"./brain-search2.js\";\nimport \"./brain-stdp.js\";\nimport { n as searchDecisions, t as listDecisions } from \"./decisions.js\";\nimport \"./dialectic-evaluator.js\";\nimport \"./session-narrative2.js\";\nimport \"./dream-cycle2.js\";\nimport \"./extraction-gate2.js\";\nimport { t as searchLearnings } from \"./learnings2.js\";\nimport { t as searchPatterns } from \"./patterns2.js\";\nimport \"./observer-reflector2.js\";\nimport \"./quality-feedback2.js\";\nimport \"node:fs\";\nimport \"node:path\";\nimport \"node:crypto\";\nimport \"drizzle-orm\";\n//#region ../core/dist/memory/graph-queries.js\n/**\n* Brain graph traversal queries using recursive CTEs and native SQLite.\n*\n* Implements BFS traversal, typed neighbor lookup, 360-degree context view,\n* and aggregate statistics for the brain_page_nodes / brain_page_edges graph\n* populated by T528 + T530.\n*\n* Uses getBrainNativeDb() (DatabaseSync) for recursive CTEs that Drizzle's\n* ORM layer cannot express directly.\n*\n* @task T535\n* @epic T523\n*/\n/**\n* Return aggregate counts for brain_page_nodes and brain_page_edges by type.\n*\n* @param projectRoot - Absolute path to the project root\n* @returns Counts by node type and edge type, plus totals\n*\n* @example\n* ```typescript\n* const stats = await graphStats('/project');\n* console.log(stats.totalNodes, stats.totalEdges);\n* ```\n*/\nasync function graphStats(projectRoot) {\n\tawait getBrainDb(projectRoot);\n\tconst nativeDb = getBrainNativeDb(projectRoot);\n\tif (!nativeDb) return {\n\t\tnodesByType: [],\n\t\tedgesByType: [],\n\t\ttotalNodes: 0,\n\t\ttotalEdges: 0\n\t};\n\tconst nodeRows = typedAll(nativeDb.prepare(`SELECT node_type, COUNT(*) AS count\n FROM brain_page_nodes GROUP BY node_type ORDER BY count DESC`));\n\tconst edgeRows = typedAll(nativeDb.prepare(`SELECT edge_type, COUNT(*) AS count\n FROM brain_page_edges GROUP BY edge_type ORDER BY count DESC`));\n\tconst totalNodes = nodeRows.reduce((s, r) => s + r.count, 0);\n\tconst totalEdges = edgeRows.reduce((s, r) => s + r.count, 0);\n\treturn {\n\t\tnodesByType: nodeRows.map((r) => ({\n\t\t\tnodeType: r.node_type,\n\t\t\tcount: r.count\n\t\t})),\n\t\tedgesByType: edgeRows.map((r) => ({\n\t\t\tedgeType: r.edge_type,\n\t\t\tcount: r.count\n\t\t})),\n\t\ttotalNodes,\n\t\ttotalEdges\n\t};\n}\n//#endregion\n//#region ../core/dist/memory/public-api.js\n/**\n* Public API for the memory domain — promoted from internal to public barrel.\n*\n* These functions are consumed by CLI commands (`packages/cleo`) and Studio\n* routes (`packages/studio`) and are therefore part of the stable public\n* surface of `@cleocode/core/memory`.\n*\n* None of these functions issue raw SQL; they compose over the existing\n* BRAIN retrieval, quality-feedback, decisions, patterns, and learnings\n* modules which own their respective schemas.\n*\n* @packageDocumentation\n* @task T9615\n* @epic T9592\n*/\n/** Default preview length (chars) for memory-search hit narratives. */\nvar PREVIEW_LEN = 160;\n/**\n* Cross-table LIKE search across all four brain tables.\n*\n* @param opts - Search options including query text, table filter, and limit\n* @returns Flat list of matching entries sorted by citation count descending\n*\n* @remarks\n* Uses LIKE-based scans. For heavy workloads, prefer the dispatch-layer\n* `memory.find` operation which uses the full RRF fusion pipeline.\n*\n* @example\n* ```typescript\n* const result = await findMemoryEntries({ query: 'authentication', limit: 10 });\n* console.log(`Found ${result.total} matches`);\n* ```\n*\n* @task T9615\n*/\nasync function findMemoryEntries(opts) {\n\tconst { query, tables, limit = 25 } = opts;\n\tconst db = getBrainNativeDb();\n\tconst ALLOWED = [\n\t\t\"observations\",\n\t\t\"decisions\",\n\t\t\"patterns\",\n\t\t\"learnings\"\n\t];\n\tconst requestedTables = tables && tables.length > 0 ? tables.filter((t) => ALLOWED.includes(t)) : [...ALLOWED];\n\tconst cap = Math.max(1, Math.min(100, limit));\n\tif (!query.trim()) return {\n\t\tquery,\n\t\thits: [],\n\t\ttotal: 0\n\t};\n\tif (!db) return {\n\t\tquery,\n\t\thits: [],\n\t\ttotal: 0\n\t};\n\tconst like = `%${query.replace(/[%_]/g, (c) => `\\\\${c}`)}%`;\n\tconst hits = [];\n\tif (requestedTables.includes(\"observations\")) try {\n\t\tconst rows = db.prepare(`SELECT id, title, narrative, quality_score, memory_tier, verified,\n citation_count, created_at\n FROM brain_observations\n WHERE (title LIKE ? ESCAPE '\\\\' OR narrative LIKE ? ESCAPE '\\\\')\n AND invalid_at IS NULL\n ORDER BY citation_count DESC, created_at DESC\n LIMIT ?`).all(like, like, cap);\n\t\tfor (const r of rows) hits.push({\n\t\t\tid: r.id,\n\t\t\ttable: \"observations\",\n\t\t\ttitle: r.title ?? \"(untitled)\",\n\t\t\tpreview: truncateString(r.narrative, PREVIEW_LEN),\n\t\t\tcreatedAt: r.created_at,\n\t\t\tquality: r.quality_score,\n\t\t\ttier: r.memory_tier,\n\t\t\tverified: r.verified,\n\t\t\tcitations: r.citation_count\n\t\t});\n\t} catch {}\n\tif (requestedTables.includes(\"decisions\")) try {\n\t\tconst rows = db.prepare(`SELECT id, decision, rationale, quality_score, memory_tier, verified,\n created_at\n FROM brain_decisions\n WHERE (decision LIKE ? ESCAPE '\\\\' OR rationale LIKE ? ESCAPE '\\\\')\n AND invalid_at IS NULL\n ORDER BY created_at DESC\n LIMIT ?`).all(like, like, cap);\n\t\tfor (const r of rows) hits.push({\n\t\t\tid: r.id,\n\t\t\ttable: \"decisions\",\n\t\t\ttitle: truncateString(r.decision, 100),\n\t\t\tpreview: truncateString(r.rationale, PREVIEW_LEN),\n\t\t\tcreatedAt: r.created_at,\n\t\t\tquality: r.quality_score,\n\t\t\ttier: r.memory_tier,\n\t\t\tverified: r.verified,\n\t\t\tcitations: 0\n\t\t});\n\t} catch {}\n\tif (requestedTables.includes(\"patterns\")) try {\n\t\tconst rows = db.prepare(`SELECT id, pattern, context, quality_score, memory_tier, verified,\n citation_count, extracted_at\n FROM brain_patterns\n WHERE (pattern LIKE ? ESCAPE '\\\\' OR context LIKE ? ESCAPE '\\\\')\n AND invalid_at IS NULL\n ORDER BY citation_count DESC, extracted_at DESC\n LIMIT ?`).all(like, like, cap);\n\t\tfor (const r of rows) hits.push({\n\t\t\tid: r.id,\n\t\t\ttable: \"patterns\",\n\t\t\ttitle: truncateString(r.pattern, 100),\n\t\t\tpreview: truncateString(r.context, PREVIEW_LEN),\n\t\t\tcreatedAt: r.extracted_at,\n\t\t\tquality: r.quality_score,\n\t\t\ttier: r.memory_tier,\n\t\t\tverified: r.verified,\n\t\t\tcitations: r.citation_count\n\t\t});\n\t} catch {}\n\tif (requestedTables.includes(\"learnings\")) try {\n\t\tconst rows = db.prepare(`SELECT id, insight, source, quality_score, memory_tier, verified,\n citation_count, created_at\n FROM brain_learnings\n WHERE (insight LIKE ? ESCAPE '\\\\' OR source LIKE ? ESCAPE '\\\\')\n AND invalid_at IS NULL\n ORDER BY citation_count DESC, created_at DESC\n LIMIT ?`).all(like, like, cap);\n\t\tfor (const r of rows) hits.push({\n\t\t\tid: r.id,\n\t\t\ttable: \"learnings\",\n\t\t\ttitle: truncateString(r.insight, 100),\n\t\t\tpreview: truncateString(r.source, PREVIEW_LEN),\n\t\t\tcreatedAt: r.created_at,\n\t\t\tquality: r.quality_score,\n\t\t\ttier: r.memory_tier,\n\t\t\tverified: r.verified,\n\t\t\tcitations: r.citation_count\n\t\t});\n\t} catch {}\n\treturn {\n\t\tquery,\n\t\thits,\n\t\ttotal: hits.length\n\t};\n}\n/**\n* List brain observations with optional filter by tier, type, and quality.\n*\n* @param opts - Optional filter and pagination options\n* @returns Paginated observation list plus total row count\n*\n* @example\n* ```typescript\n* const result = await getObservations({ tier: 'long', minQuality: 0.7 });\n* console.log(`${result.filtered} high-quality long-tier observations`);\n* ```\n*\n* @task T9615\n*/\nasync function getObservations(opts = {}) {\n\tconst { tier, type, minQuality, limit = 200 } = opts;\n\tconst db = getBrainNativeDb();\n\tconst cap = Math.max(1, Math.min(500, limit));\n\tif (!db) return {\n\t\tobservations: [],\n\t\ttotal: 0,\n\t\tfiltered: 0\n\t};\n\ttry {\n\t\tconst totalRow = db.prepare(\"SELECT COUNT(*) as cnt FROM brain_observations\").get();\n\t\tconst conditions = [];\n\t\tconst params = [];\n\t\tif (tier) {\n\t\t\tconditions.push(\"memory_tier = ?\");\n\t\t\tparams.push(tier);\n\t\t}\n\t\tif (type) {\n\t\t\tconditions.push(\"memory_type = ?\");\n\t\t\tparams.push(type);\n\t\t}\n\t\tif (minQuality !== void 0) {\n\t\t\tconditions.push(\"(quality_score IS NULL OR quality_score >= ?)\");\n\t\t\tparams.push(minQuality);\n\t\t}\n\t\tconst whereClause = conditions.length > 0 ? `WHERE ${conditions.join(\" AND \")}` : \"\";\n\t\tconst observations = db.prepare(`SELECT id, type, title, subtitle, narrative, project,\n quality_score, memory_tier, memory_type, verified,\n valid_at, invalid_at, source_confidence, citation_count,\n prune_candidate, created_at\n FROM brain_observations\n ${whereClause}\n ORDER BY created_at DESC\n LIMIT ?`).all(...params, cap).map((r) => ({\n\t\t\tid: r.id,\n\t\t\ttype: r.type,\n\t\t\ttitle: r.title,\n\t\t\tsubtitle: r.subtitle,\n\t\t\tnarrative: r.narrative,\n\t\t\tproject: r.project,\n\t\t\tqualityScore: r.quality_score,\n\t\t\tmemoryTier: r.memory_tier,\n\t\t\tmemoryType: r.memory_type,\n\t\t\tverified: r.verified,\n\t\t\tvalidAt: r.valid_at,\n\t\t\tinvalidAt: r.invalid_at,\n\t\t\tsourceConfidence: r.source_confidence,\n\t\t\tcitationCount: r.citation_count,\n\t\t\tpruneCandidate: r.prune_candidate,\n\t\t\tcreatedAt: r.created_at\n\t\t}));\n\t\treturn {\n\t\t\tobservations,\n\t\t\ttotal: totalRow.cnt,\n\t\t\tfiltered: observations.length\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tobservations: [],\n\t\t\ttotal: 0,\n\t\t\tfiltered: 0\n\t\t};\n\t}\n}\n/**\n* Retrieve decision records from brain.db, optionally filtered by text query.\n*\n* @param opts - Query, project path, and limit options\n* @returns Array of decision records\n*\n* @example\n* ```typescript\n* const { decisions } = await getDecisions({ query: 'database architecture', limit: 20 });\n* ```\n*\n* @task T9615\n*/\nasync function getDecisions(opts = {}) {\n\tconst { query = \"\", projectPath, limit = 50 } = opts;\n\tconst root = projectPath ?? getProjectRoot();\n\tif (query.trim()) return { decisions: (await searchDecisions(root, {\n\t\tquery,\n\t\tlimit\n\t})).map((d) => ({\n\t\tid: d.id,\n\t\tdecision: d.decision,\n\t\trationale: d.rationale ?? null,\n\t\toutcome: d.outcome ?? null,\n\t\tcreatedAt: d.createdAt,\n\t\tmemoryTier: d.memoryTier ?? null,\n\t\tverified: d.verified ? 1 : 0\n\t})) };\n\tconst { decisions: resultList } = await listDecisions(root, { limit });\n\treturn { decisions: resultList.map((d) => ({\n\t\tid: d.id,\n\t\tdecision: d.decision,\n\t\trationale: d.rationale ?? null,\n\t\toutcome: d.outcome ?? null,\n\t\tcreatedAt: d.createdAt,\n\t\tmemoryTier: d.memoryTier ?? null,\n\t\tverified: d.verified ? 1 : 0\n\t})) };\n}\n/**\n* Retrieve pattern records from brain.db, optionally filtered by text query.\n*\n* @param opts - Query, project path, and limit options\n* @returns Array of pattern records\n*\n* @example\n* ```typescript\n* const { patterns } = await getPatterns({ query: 'authentication', patternType: 'success' });\n* ```\n*\n* @task T9615\n*/\nasync function getPatterns(opts = {}) {\n\tconst { query = \"\", patternType, projectPath, limit = 50 } = opts;\n\treturn { patterns: (await searchPatterns(projectPath ?? getProjectRoot(), {\n\t\tquery: query || void 0,\n\t\ttype: patternType,\n\t\tlimit\n\t})).map((p) => ({\n\t\tid: p.id,\n\t\tpattern: p.pattern,\n\t\tcontext: p.context ?? null,\n\t\tpatternType: p.type ?? null,\n\t\timpact: p.impact ?? null,\n\t\textractedAt: p.extractedAt,\n\t\tmemoryTier: p.memoryTier ?? null,\n\t\tcitationCount: p.citationCount ?? p.frequency ?? 0\n\t})) };\n}\n/**\n* Retrieve learning records from brain.db, optionally filtered by text query.\n*\n* @param opts - Query, project path, and limit options\n* @returns Array of learning records\n*\n* @example\n* ```typescript\n* const { learnings } = await getLearnings({ query: 'cache invalidation' });\n* ```\n*\n* @task T9615\n*/\nasync function getLearnings(opts = {}) {\n\tconst { query = \"\", projectPath, limit = 50 } = opts;\n\treturn { learnings: (await searchLearnings(projectPath ?? getProjectRoot(), {\n\t\tquery: query || void 0,\n\t\tlimit\n\t})).map((l) => ({\n\t\tid: l.id,\n\t\tinsight: l.insight,\n\t\tsource: l.source ?? null,\n\t\tlearningType: l.memoryType ?? null,\n\t\tcreatedAt: l.createdAt,\n\t\tmemoryTier: l.memoryTier ?? null,\n\t\tcitationCount: l.citationCount ?? 0\n\t})) };\n}\n/**\n* Return aggregate statistics for the BRAIN memory graph.\n*\n* @param opts - Optional project path\n* @returns Aggregate graph statistics (node count, edge count, type distribution)\n*\n* @example\n* ```typescript\n* const stats = await getMemoryGraph({ projectPath: '/my/project' });\n* console.log(`Graph: ${stats.nodeCount} nodes, ${stats.edgeCount} edges`);\n* ```\n*\n* @task T9615\n*/\nasync function getMemoryGraph(opts = {}) {\n\tconst raw = await graphStats(opts.projectPath ?? getProjectRoot());\n\tconst edgeTypeDistribution = {};\n\tfor (const e of raw.edgesByType) edgeTypeDistribution[e.edgeType] = e.count;\n\treturn {\n\t\tnodeCount: raw.totalNodes,\n\t\tedgeCount: raw.totalEdges,\n\t\tedgeTypeDistribution,\n\t\taverageEdgesPerNode: raw.totalNodes > 0 ? raw.totalEdges / raw.totalNodes : 0\n\t};\n}\n/**\n* Return tier distribution and upcoming long-tier promotions.\n*\n* @param projectPath - Optional project root path\n* @returns Per-table tier counts and top-5 upcoming promotions\n*\n* @example\n* ```typescript\n* const stats = await getTierStats('/my/project');\n* console.log(`Short: ${stats.tables[0]?.short}, Long: ${stats.tables[0]?.long}`);\n* ```\n*\n* @task T9615\n*/\nasync function getTierStats(_projectPath) {\n\tconst db = getBrainNativeDb();\n\tif (!db) return {\n\t\ttables: [],\n\t\tupcomingLongPromotions: []\n\t};\n\tconst brainTables = [\n\t\t{\n\t\t\tname: \"brain_observations\",\n\t\t\tdateCol: \"created_at\"\n\t\t},\n\t\t{\n\t\t\tname: \"brain_learnings\",\n\t\t\tdateCol: \"created_at\"\n\t\t},\n\t\t{\n\t\t\tname: \"brain_patterns\",\n\t\t\tdateCol: \"extracted_at\"\n\t\t},\n\t\t{\n\t\t\tname: \"brain_decisions\",\n\t\t\tdateCol: \"created_at\"\n\t\t}\n\t];\n\tconst tables = [];\n\tfor (const { name: tblName } of brainTables) try {\n\t\tconst rows = db.prepare(`SELECT COALESCE(memory_tier, 'short') as tier, COUNT(*) as cnt\n FROM ${tblName}\n WHERE invalid_at IS NULL\n GROUP BY memory_tier`).all();\n\t\tconst counts = {\n\t\t\ttable: tblName,\n\t\t\tshort: 0,\n\t\t\tmedium: 0,\n\t\t\tlong: 0\n\t\t};\n\t\tfor (const r of rows) if (r.tier === \"short\") counts.short = r.cnt;\n\t\telse if (r.tier === \"medium\") counts.medium = r.cnt;\n\t\telse if (r.tier === \"long\") counts.long = r.cnt;\n\t\ttables.push(counts);\n\t} catch {\n\t\ttables.push({\n\t\t\ttable: tblName,\n\t\t\tshort: 0,\n\t\t\tmedium: 0,\n\t\t\tlong: 0\n\t\t});\n\t}\n\tconst age7dMs = 10080 * 60 * 1e3;\n\tconst nowMs = Date.now();\n\tconst upcoming = [];\n\tfor (const { name: tblName, dateCol } of brainTables) try {\n\t\tconst rows = db.prepare(`SELECT id, ${dateCol} as created_at, citation_count, verified\n FROM ${tblName}\n WHERE memory_tier = 'medium'\n AND invalid_at IS NULL\n AND (citation_count >= 5 OR verified = 1)\n ORDER BY ${dateCol} ASC\n LIMIT 20`).all();\n\t\tfor (const r of rows) {\n\t\t\tconst promotionMs = (/* @__PURE__ */ new Date(r.created_at.replace(\" \", \"T\") + \"Z\")).getTime() + age7dMs;\n\t\t\tconst daysUntil = Math.max(0, (promotionMs - nowMs) / (1440 * 60 * 1e3));\n\t\t\tconst track = r.citation_count >= 5 ? `citation (${r.citation_count})` : \"verified\";\n\t\t\tupcoming.push({\n\t\t\t\tid: r.id,\n\t\t\t\ttable: tblName,\n\t\t\t\tdaysUntil,\n\t\t\t\ttrack\n\t\t\t});\n\t\t}\n\t} catch {}\n\tupcoming.sort((a, b) => a.daysUntil - b.daysUntil);\n\treturn {\n\t\ttables,\n\t\tupcomingLongPromotions: upcoming.slice(0, 5)\n\t};\n}\nvar PENDING_VERIFY_TABLES = [\n\t{\n\t\ttable: \"observations\",\n\t\tsql: `SELECT id, title, source_confidence AS sourceConfidence,\n citation_count AS citationCount, memory_tier AS memoryTier,\n created_at AS createdAt\n FROM brain_observations\n WHERE verified = 0\n AND invalid_at IS NULL\n AND citation_count >= ?\n ORDER BY citation_count DESC, created_at DESC\n LIMIT ?`\n\t},\n\t{\n\t\ttable: \"decisions\",\n\t\tsql: `SELECT id, decision AS title, NULL AS sourceConfidence,\n COALESCE(citation_count, 0) AS citationCount,\n memory_tier AS memoryTier,\n created_at AS createdAt\n FROM brain_decisions\n WHERE verified = 0\n AND invalid_at IS NULL\n AND COALESCE(citation_count, 0) >= ?\n ORDER BY citation_count DESC, created_at DESC\n LIMIT ?`\n\t},\n\t{\n\t\ttable: \"patterns\",\n\t\tsql: `SELECT id, pattern AS title, NULL AS sourceConfidence,\n citation_count AS citationCount, memory_tier AS memoryTier,\n extracted_at AS createdAt\n FROM brain_patterns\n WHERE verified = 0\n AND invalid_at IS NULL\n AND citation_count >= ?\n ORDER BY citation_count DESC, extracted_at DESC\n LIMIT ?`\n\t},\n\t{\n\t\ttable: \"learnings\",\n\t\tsql: `SELECT id, insight AS title, NULL AS sourceConfidence,\n citation_count AS citationCount, memory_tier AS memoryTier,\n created_at AS createdAt\n FROM brain_learnings\n WHERE verified = 0\n AND invalid_at IS NULL\n AND citation_count >= ?\n ORDER BY citation_count DESC, created_at DESC\n LIMIT ?`\n\t}\n];\n/**\n* Return unverified but highly-cited brain entries across all four tables.\n*\n* These are entries that the system keeps retrieving but the owner has not\n* promoted to ground-truth status. Exposing them surfaces the highest-leverage\n* candidates for `cleo memory verify`.\n*\n* @param projectPath - Optional project root path\n* @param opts - Minimum citation count and result limit\n* @returns Ranked list of pending-verify entries plus a hint\n*\n* @example\n* ```typescript\n* const result = await getPendingVerify('/my/project', { minCitations: 3 });\n* console.log(`${result.count} entries awaiting verification`);\n* ```\n*\n* @task T9615\n*/\nasync function getPendingVerify(_projectPath, opts = {}) {\n\tconst { minCitations = 5, limit = 50 } = opts;\n\tconst db = getBrainNativeDb();\n\tconst cap = Math.max(1, Math.min(200, limit));\n\tif (!db) return {\n\t\tcount: 0,\n\t\tminCitations,\n\t\titems: [],\n\t\thint: \"brain.db not available; start a session to populate memory.\"\n\t};\n\tconst items = [];\n\tfor (const spec of PENDING_VERIFY_TABLES) try {\n\t\tconst rows = db.prepare(spec.sql).all(minCitations, cap);\n\t\tfor (const r of rows) items.push({\n\t\t\tid: r.id,\n\t\t\ttitle: r.title,\n\t\t\tsourceConfidence: r.sourceConfidence,\n\t\t\tcitationCount: r.citationCount,\n\t\t\tmemoryTier: r.memoryTier,\n\t\t\tcreatedAt: r.createdAt,\n\t\t\ttable: spec.table\n\t\t});\n\t} catch {}\n\titems.sort((a, b) => b.citationCount - a.citationCount);\n\tconst top = items.slice(0, cap);\n\tconst hint = top.length === 0 ? `No entries with >= ${minCitations} citations. Lower the threshold or wait for more retrievals.` : `Promote entries the system keeps citing — use 'cleo memory verify <id>' to lock them to ground truth.`;\n\treturn {\n\t\tcount: top.length,\n\t\tminCitations,\n\t\titems: top,\n\t\thint\n\t};\n}\n//#endregion\n//#region ../core/dist/memory/index.js\n/**\n* Filter manifest entries by criteria.\n*\n* @param entries - Array of manifest entries to filter\n* @param filter - Filter criteria to apply\n* @returns Filtered subset of entries\n*\n* @remarks\n* Applies filters in order: taskId, status, agent_type, topic, actionable,\n* dateAfter, dateBefore, offset, then limit.\n*\n* @example\n* ```typescript\n* const filtered = filterManifestEntries(entries, { status: 'completed', limit: 10 });\n* ```\n*\n* @task T4787\n*/\nfunction filterManifestEntries(entries, filter) {\n\tlet filtered = entries;\n\tif (filter.taskId) {\n\t\tconst taskId = filter.taskId;\n\t\tfiltered = filtered.filter((e) => e.id.startsWith(taskId) || e.linked_tasks?.includes(taskId));\n\t}\n\tif (filter.status) filtered = filtered.filter((e) => e.status === filter.status);\n\tif (filter.agent_type) filtered = filtered.filter((e) => e.agent_type === filter.agent_type);\n\tif (filter.topic) filtered = filtered.filter((e) => e.topics.includes(filter.topic));\n\tif (filter.actionable !== void 0) filtered = filtered.filter((e) => e.actionable === filter.actionable);\n\tif (filter.dateAfter) filtered = filtered.filter((e) => e.date > filter.dateAfter);\n\tif (filter.dateBefore) filtered = filtered.filter((e) => e.date < filter.dateBefore);\n\tif (filter.offset && filter.offset > 0) filtered = filtered.slice(filter.offset);\n\tif (filter.limit && filter.limit > 0) filtered = filtered.slice(0, filter.limit);\n\treturn filtered;\n}\n//#endregion\nexport { getMemoryGraph as a, getPendingVerify as c, getLearnings as i, getTierStats as l, findMemoryEntries as n, getObservations as o, getDecisions as r, getPatterns as s, filterManifestEntries as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-accessor-i3P-RHSg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-accessor2-B981tHDR.js","sources":["../../../.svelte-kit/adapter-node/chunks/memory-accessor2.js"],"sourcesContent":["import { n as jsonbText } from \"./jsonb.js\";\nimport { A as brainPatterns, D as brainObservations, E as brainMemoryLinks, M as stickyTags, O as brainPageEdges, S as brainAttention, T as brainLearnings, i as getBrainDb, j as brainStickyNotes, k as brainPageNodes, w as brainDecisions } from \"./memory-sqlite.js\";\nimport { and, asc, desc, eq, gt, gte, inArray, isNull, lt, ne, or, sql } from \"drizzle-orm\";\n//#region ../core/dist/store/memory-accessor.js\n/**\n* Data accessor for brain.db — CRUD operations for decisions, patterns,\n* learnings, and memory links.\n*\n* Wraps drizzle ORM queries over the brain.db singleton. All methods are\n* async (sqlite-proxy) and return typed rows from memory-schema.ts.\n*\n* @epic T5149\n* @task T5128\n*/\nvar BrainDataAccessor = class BrainDataAccessor {\n\tdb;\n\tconstructor(db) {\n\t\tthis.db = db;\n\t}\n\tasync addDecision(row) {\n\t\tawait this.db.insert(brainDecisions).values(row);\n\t\treturn (await this.db.select().from(brainDecisions).where(eq(brainDecisions.id, row.id)))[0];\n\t}\n\t/**\n\t* Insert a decision while allocating the next sequential `Dnnn` id\n\t* **atomically inside the INSERT statement** (T11552).\n\t*\n\t* The `id` value is computed by an in-SQL subquery\n\t* (`MAX(numeric suffix) + 1`) evaluated as part of the same INSERT, so the\n\t* id read and the row write are a single indivisible operation. Two\n\t* concurrent callers therefore can never read the same `MAX(id)` and collide\n\t* on the primary key — unlike a read-then-write in application code, which\n\t* yields the event loop between the `SELECT MAX(id)` and the `INSERT` and so\n\t* races (the original defect).\n\t*\n\t* Properties:\n\t* - **Race-free under concurrency** — node:sqlite executes the statement\n\t* synchronously and atomically; no JS `await` boundary splits read from write.\n\t* - **Numeric ordering** — `CAST(substr(id,2) AS INTEGER)` so the sequence\n\t* advances correctly past `D999 → D1000` (lexical ordering would regress).\n\t* - **Legacy-id tolerant** — `GLOB 'D[0-9]*'` restricts the max scan to\n\t* canonical `Dnnn` ids, ignoring foreign shapes like `D-abcd`.\n\t* - **Never silently drops** — uses a real INSERT (not `INSERT OR IGNORE`)\n\t* and returns the persisted row.\n\t*\n\t* The caller MUST NOT pre-set a meaningful `row.id`; any value present is\n\t* overridden by the computed id.\n\t*\n\t* @param row - The decision row to insert (its `id` field is ignored).\n\t* @returns The persisted decision row, including the allocated `id`.\n\t*\n\t* @task T11552\n\t*/\n\tasync addDecisionWithSequentialId(row) {\n\t\tconst nextId = sql`'D' || printf('%03d', COALESCE((SELECT MAX(CAST(substr(${brainDecisions.id}, 2) AS INTEGER)) FROM ${brainDecisions} WHERE ${brainDecisions.id} GLOB 'D[0-9]*'), 0) + 1)`;\n\t\treturn (await this.db.insert(brainDecisions).values({\n\t\t\t...row,\n\t\t\tid: nextId\n\t\t}).returning())[0];\n\t}\n\tasync getDecision(id) {\n\t\treturn (await this.db.select().from(brainDecisions).where(eq(brainDecisions.id, id)))[0] ?? null;\n\t}\n\tasync findDecisions(params = {}) {\n\t\tconst conditions = [];\n\t\tif (params.type) conditions.push(eq(brainDecisions.type, params.type));\n\t\tif (params.confidence) conditions.push(eq(brainDecisions.confidence, params.confidence));\n\t\tif (params.outcome) conditions.push(eq(brainDecisions.outcome, params.outcome));\n\t\tif (params.contextTaskId) conditions.push(eq(brainDecisions.contextTaskId, params.contextTaskId));\n\t\tif (!params.includeAgentDispatch) conditions.push(ne(brainDecisions.decisionCategory, \"agent_dispatch\"));\n\t\tlet query = this.db.select().from(brainDecisions).orderBy(desc(brainDecisions.createdAt));\n\t\tif (conditions.length > 0) query = query.where(and(...conditions));\n\t\tif (params.limit) query = query.limit(params.limit);\n\t\treturn query;\n\t}\n\tasync updateDecision(id, updates) {\n\t\tawait this.db.update(brainDecisions).set({\n\t\t\t...updates,\n\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19)\n\t\t}).where(eq(brainDecisions.id, id));\n\t}\n\tasync addPattern(row) {\n\t\tawait this.db.insert(brainPatterns).values(row);\n\t\treturn (await this.db.select().from(brainPatterns).where(eq(brainPatterns.id, row.id)))[0];\n\t}\n\tasync getPattern(id) {\n\t\treturn (await this.db.select().from(brainPatterns).where(eq(brainPatterns.id, id)))[0] ?? null;\n\t}\n\tasync findPatterns(params = {}) {\n\t\tconst conditions = [];\n\t\tif (params.type) conditions.push(eq(brainPatterns.type, params.type));\n\t\tif (params.impact) conditions.push(eq(brainPatterns.impact, params.impact));\n\t\tif (params.minFrequency !== void 0) conditions.push(gte(brainPatterns.frequency, params.minFrequency));\n\t\tlet query = this.db.select().from(brainPatterns).orderBy(desc(brainPatterns.frequency));\n\t\tif (conditions.length > 0) query = query.where(and(...conditions));\n\t\tif (params.limit) query = query.limit(params.limit);\n\t\treturn query;\n\t}\n\tasync updatePattern(id, updates) {\n\t\tawait this.db.update(brainPatterns).set({\n\t\t\t...updates,\n\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19)\n\t\t}).where(eq(brainPatterns.id, id));\n\t}\n\tasync addLearning(row) {\n\t\tawait this.db.insert(brainLearnings).values(row);\n\t\treturn (await this.db.select().from(brainLearnings).where(eq(brainLearnings.id, row.id)))[0];\n\t}\n\tasync getLearning(id) {\n\t\treturn (await this.db.select().from(brainLearnings).where(eq(brainLearnings.id, id)))[0] ?? null;\n\t}\n\tasync findLearnings(params = {}) {\n\t\tconst conditions = [];\n\t\tif (params.minConfidence !== void 0) conditions.push(gte(brainLearnings.confidence, params.minConfidence));\n\t\tif (params.actionable !== void 0) conditions.push(eq(brainLearnings.actionable, params.actionable));\n\t\tlet query = this.db.select().from(brainLearnings).orderBy(desc(brainLearnings.confidence));\n\t\tif (conditions.length > 0) query = query.where(and(...conditions));\n\t\tif (params.limit) query = query.limit(params.limit);\n\t\treturn query;\n\t}\n\tasync updateLearning(id, updates) {\n\t\tawait this.db.update(brainLearnings).set({\n\t\t\t...updates,\n\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19)\n\t\t}).where(eq(brainLearnings.id, id));\n\t}\n\tasync addObservation(row) {\n\t\tawait this.db.insert(brainObservations).values(row);\n\t\treturn (await this.db.select().from(brainObservations).where(eq(brainObservations.id, row.id)))[0];\n\t}\n\tasync getObservation(id) {\n\t\treturn (await this.db.select().from(brainObservations).where(eq(brainObservations.id, id)))[0] ?? null;\n\t}\n\tasync findObservations(params = {}) {\n\t\tconst conditions = [];\n\t\tif (params.type) conditions.push(eq(brainObservations.type, params.type));\n\t\tif (params.project) conditions.push(eq(brainObservations.project, params.project));\n\t\tif (params.sourceType) conditions.push(eq(brainObservations.sourceType, params.sourceType));\n\t\tif (params.sourceSessionId) conditions.push(eq(brainObservations.sourceSessionId, params.sourceSessionId));\n\t\tif (params.agent) conditions.push(eq(brainObservations.agent, params.agent));\n\t\tlet query = this.db.select().from(brainObservations).orderBy(desc(brainObservations.createdAt));\n\t\tif (conditions.length > 0) query = query.where(and(...conditions));\n\t\tif (params.limit) query = query.limit(params.limit);\n\t\treturn query;\n\t}\n\tasync updateObservation(id, updates) {\n\t\tawait this.db.update(brainObservations).set({\n\t\t\t...updates,\n\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19)\n\t\t}).where(eq(brainObservations.id, id));\n\t}\n\tasync addLink(row) {\n\t\tawait this.db.insert(brainMemoryLinks).values(row);\n\t}\n\tasync getLinksForMemory(memoryType, memoryId) {\n\t\treturn this.db.select().from(brainMemoryLinks).where(and(eq(brainMemoryLinks.memoryType, memoryType), eq(brainMemoryLinks.memoryId, memoryId))).orderBy(asc(brainMemoryLinks.createdAt));\n\t}\n\tasync getLinksForTask(taskId) {\n\t\treturn this.db.select().from(brainMemoryLinks).where(eq(brainMemoryLinks.taskId, taskId)).orderBy(asc(brainMemoryLinks.createdAt));\n\t}\n\tasync removeLink(memoryType, memoryId, taskId, linkType) {\n\t\tawait this.db.delete(brainMemoryLinks).where(and(eq(brainMemoryLinks.memoryType, memoryType), eq(brainMemoryLinks.memoryId, memoryId), eq(brainMemoryLinks.taskId, taskId), eq(brainMemoryLinks.linkType, linkType)));\n\t}\n\t/**\n\t* Parse a `tags_json` text column into a deduplicated string-array.\n\t*\n\t* Used to keep the {@link brainSchema.stickyTags} junction in sync with the\n\t* legacy whole-array column. Invalid / non-array JSON yields an empty list.\n\t*/\n\tstatic parseStickyTags(tagsJson) {\n\t\tif (!tagsJson) return [];\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(tagsJson);\n\t\t\tif (!Array.isArray(parsed)) return [];\n\t\t\tconst seen = /* @__PURE__ */ new Set();\n\t\t\tfor (const t of parsed) if (typeof t === \"string\" && t.length > 0) seen.add(t);\n\t\t\treturn [...seen];\n\t\t} catch {\n\t\t\treturn [];\n\t\t}\n\t}\n\t/**\n\t* Replace the junction rows for one sticky so they exactly mirror its tags.\n\t*\n\t* Delete-then-insert keeps `sticky_tags` authoritative without RMW races:\n\t* the prior tag set is dropped and the supplied set re-inserted. Called on\n\t* every sticky create/update (T11355).\n\t*\n\t* @param stickyId - The owning sticky note id.\n\t* @param tags - The full tag set the junction should reflect.\n\t*/\n\tasync syncStickyTags(stickyId, tags) {\n\t\tawait this.db.delete(stickyTags).where(eq(stickyTags.stickyId, stickyId));\n\t\tif (tags.length === 0) return;\n\t\tawait this.db.insert(stickyTags).values(tags.map((tag) => ({\n\t\t\tstickyId,\n\t\t\ttag\n\t\t})));\n\t}\n\tasync addStickyNote(row) {\n\t\tawait this.db.insert(brainStickyNotes).values(row);\n\t\tawait this.syncStickyTags(row.id, BrainDataAccessor.parseStickyTags(row.tagsJson));\n\t\treturn (await this.db.select().from(brainStickyNotes).where(eq(brainStickyNotes.id, row.id)))[0];\n\t}\n\tasync getStickyNote(id) {\n\t\treturn (await this.db.select().from(brainStickyNotes).where(eq(brainStickyNotes.id, id)))[0] ?? null;\n\t}\n\t/**\n\t* Find sticky notes with optional column filters and an index-backed,\n\t* SQL-side tag filter via the {@link brainSchema.stickyTags} junction.\n\t*\n\t* When `tags` is supplied the query keeps only notes that contain ALL of the\n\t* requested tags (membership runs through a junction subquery, never a\n\t* load-all-then-JS-filter). The `limit` is applied at the SQL layer in every\n\t* case — including with a tag filter — so callers never over-fetch.\n\t*\n\t* @param params - Status/color/priority equality filters, an all-of `tags`\n\t* membership filter, and an optional row `limit`.\n\t* @returns Matching sticky-note rows, newest first.\n\t*/\n\tasync findStickyNotes(params = {}) {\n\t\tconst conditions = [];\n\t\tif (params.status) conditions.push(eq(brainStickyNotes.status, params.status));\n\t\tif (params.color) conditions.push(eq(brainStickyNotes.color, params.color));\n\t\tif (params.priority) conditions.push(eq(brainStickyNotes.priority, params.priority));\n\t\tif (params.tags && params.tags.length > 0) {\n\t\t\tconst wantedTags = [...new Set(params.tags)];\n\t\t\tconst matchingIds = this.db.select({ stickyId: stickyTags.stickyId }).from(stickyTags).where(inArray(stickyTags.tag, wantedTags)).groupBy(stickyTags.stickyId).having(sql`count(distinct ${stickyTags.tag}) = ${wantedTags.length}`);\n\t\t\tconditions.push(inArray(brainStickyNotes.id, matchingIds));\n\t\t}\n\t\tlet query = this.db.select().from(brainStickyNotes).orderBy(desc(brainStickyNotes.createdAt));\n\t\tif (conditions.length > 0) query = query.where(and(...conditions));\n\t\tif (params.limit) query = query.limit(params.limit);\n\t\treturn query;\n\t}\n\tasync updateStickyNote(id, updates) {\n\t\tawait this.db.update(brainStickyNotes).set({\n\t\t\t...updates,\n\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19)\n\t\t}).where(eq(brainStickyNotes.id, id));\n\t\tif (updates.tagsJson !== void 0) await this.syncStickyTags(id, BrainDataAccessor.parseStickyTags(updates.tagsJson));\n\t}\n\tasync deleteStickyNote(id) {\n\t\tawait this.db.delete(stickyTags).where(eq(stickyTags.stickyId, id));\n\t\tawait this.db.delete(brainStickyNotes).where(eq(brainStickyNotes.id, id));\n\t}\n\t/**\n\t* Insert one attention (jot) row.\n\t*\n\t* Row-per-item: each jot is its own row so it decays and scopes\n\t* independently. `tags` is a JSONB BLOB written via the {@link jsonb} helper\n\t* (`toDriver` wraps in `jsonb()`), never serialized TEXT. Reads MUST use\n\t* `json_each` / `json(col)` — never the raw BLOB.\n\t*\n\t* @param row - New attention row (scope already resolved by the caller).\n\t* @returns The persisted row (tags read back via `json(col)` to satisfy the\n\t* JSONB read rule).\n\t* @task T11372\n\t*/\n\tasync addAttention(row) {\n\t\tawait this.db.insert(brainAttention).values(row);\n\t\treturn this.getAttention(row.id);\n\t}\n\t/**\n\t* Fetch one attention row by id, reading `tags` whole-value via `json(col)`.\n\t*\n\t* A plain `select()` of the JSONB column would hit the {@link jsonb}\n\t* `fromDriver` guard and throw, so `tags` is projected with `jsonbText`.\n\t*\n\t* @param id - Attention item id.\n\t* @returns The row, or `null` when absent.\n\t* @task T11372\n\t*/\n\tasync getAttention(id) {\n\t\treturn (await this.selectAttention(eq(brainAttention.id, id)))[0] ?? null;\n\t}\n\t/**\n\t* List attention items for a scope set, applying live-item + tag filters\n\t* entirely in SQL (never load-all-then-JS-filter).\n\t*\n\t* Scope filtering is by exact `(scope_kind, scope_id)` pairs — the visible\n\t* scope chain the caller resolved (narrowest → broader ancestors). Because\n\t* visibility is the scope key, items outside the chain are never read, so\n\t* cross-agent leakage is impossible by construction.\n\t*\n\t* Tag filtering uses `json_each(tags)` membership (\"contains ALL\" requested\n\t* tags) — a GROUP BY + HAVING COUNT(DISTINCT) subquery, exactly mirroring the\n\t* index-backed sticky-tags pattern but over the JSONB column directly.\n\t*\n\t* The default (`openOnly`, the common path) excludes items that are\n\t* `consolidated`/`discarded`, past `expires_at`, or below `decayThreshold`.\n\t*\n\t* @param params - Scope chain, optional tag filter, liveness controls, limit.\n\t* @returns Matching rows, newest first, `tags` read via `json(col)`.\n\t* @task T11372\n\t*/\n\tasync findAttention(params) {\n\t\tconst conditions = [];\n\t\tconst t = brainAttention;\n\t\tif (params.scopes && params.scopes.length > 0) {\n\t\t\tconst scopeClauses = params.scopes.map((s) => and(eq(t.scopeKind, s.kind), eq(t.scopeId, s.id)));\n\t\t\tconst combined = scopeClauses.length === 1 ? scopeClauses[0] : or(...scopeClauses);\n\t\t\tif (combined) conditions.push(combined);\n\t\t}\n\t\tif (params.openOnly !== false) {\n\t\t\tconditions.push(eq(t.status, \"open\"));\n\t\t\tconst nowMs = params.now ?? Date.now();\n\t\t\tconst ttl = or(isNull(t.expiresAt), gt(t.expiresAt, nowMs));\n\t\t\tif (ttl) conditions.push(ttl);\n\t\t\tif (typeof params.decayThreshold === \"number\") {\n\t\t\t\tconst decay = or(isNull(t.decayScore), gte(t.decayScore, params.decayThreshold));\n\t\t\t\tif (decay) conditions.push(decay);\n\t\t\t}\n\t\t}\n\t\tif (params.tags && params.tags.length > 0) {\n\t\t\tconst wanted = [...new Set(params.tags)];\n\t\t\tconst matchingIds = this.db.select({ id: sql`a.id` }).from(sql`${t} AS a, json_each(a.tags) AS je`).where(inArray(sql`je.value`, wanted)).groupBy(sql`a.id`).having(sql`count(distinct je.value) = ${wanted.length}`);\n\t\t\tconditions.push(inArray(t.id, matchingIds));\n\t\t}\n\t\tconst where = conditions.length > 0 ? and(...conditions) : void 0;\n\t\treturn this.selectAttention(where, params.limit);\n\t}\n\t/**\n\t* Sweep expired / decayed open items to `status = 'discarded'`.\n\t*\n\t* Idempotent: only flips rows that are currently `open` AND past\n\t* `expires_at` (or, when `decayThreshold` is given, below the floor). Returns\n\t* the number of rows discarded so callers can log the sweep.\n\t*\n\t* @param params - Reference time + optional decay floor.\n\t* @returns Count of rows transitioned to `discarded`.\n\t* @task T11372\n\t*/\n\tasync expireAttention(params = {}) {\n\t\tconst t = brainAttention;\n\t\tconst nowMs = params.now ?? Date.now();\n\t\tconst expiredByTtl = and(eq(t.status, \"open\"), lt(t.expiresAt, nowMs));\n\t\tconst clauses = [];\n\t\tif (expiredByTtl) clauses.push(expiredByTtl);\n\t\tif (typeof params.decayThreshold === \"number\") {\n\t\t\tconst decayed = and(eq(t.status, \"open\"), lt(t.decayScore, params.decayThreshold));\n\t\t\tif (decayed) clauses.push(decayed);\n\t\t}\n\t\tconst where = clauses.length === 1 ? clauses[0] : or(...clauses);\n\t\tconst before = await this.db.select({ id: t.id }).from(t).where(where ?? sql`0`);\n\t\tif (before.length === 0) return 0;\n\t\tawait this.db.update(t).set({ status: \"discarded\" }).where(where ?? sql`0`);\n\t\treturn before.length;\n\t}\n\t/**\n\t* Set the lifecycle status of one attention item (e.g. `consolidated`).\n\t*\n\t* @param id - Attention item id.\n\t* @param status - New status.\n\t* @task T11372\n\t*/\n\tasync setAttentionStatus(id, status) {\n\t\tawait this.db.update(brainAttention).set({ status }).where(eq(brainAttention.id, id));\n\t}\n\t/**\n\t* Shared SELECT that projects `tags` whole-value via `json(col)` so the\n\t* JSONB `fromDriver` guard is never hit. Newest-first ordering.\n\t*\n\t* @internal\n\t*/\n\tasync selectAttention(where, limit) {\n\t\tconst t = brainAttention;\n\t\tlet query = this.db.select({\n\t\t\tid: t.id,\n\t\t\tcontent: t.content,\n\t\t\tsessionId: t.sessionId,\n\t\t\tagentId: t.agentId,\n\t\t\tscopeKind: t.scopeKind,\n\t\t\tscopeId: t.scopeId,\n\t\t\ttags: jsonbText(sql`${t.tags}`),\n\t\t\tcreatedAt: t.createdAt,\n\t\t\texpiresAt: t.expiresAt,\n\t\t\tdecayScore: t.decayScore,\n\t\t\tstatus: t.status\n\t\t}).from(t).orderBy(desc(t.createdAt));\n\t\tif (where) query = query.where(where);\n\t\tif (limit) query = query.limit(limit);\n\t\treturn (await query).map((r) => ({\n\t\t\tid: r.id,\n\t\t\tcontent: r.content,\n\t\t\tsessionId: r.sessionId,\n\t\t\tagentId: r.agentId,\n\t\t\tscopeKind: r.scopeKind,\n\t\t\tscopeId: r.scopeId,\n\t\t\ttags: r.tags,\n\t\t\tcreatedAt: r.createdAt,\n\t\t\texpiresAt: r.expiresAt,\n\t\t\tdecayScore: r.decayScore,\n\t\t\tstatus: r.status\n\t\t}));\n\t}\n\tasync addPageNode(node) {\n\t\tawait this.db.insert(brainPageNodes).values(node);\n\t\treturn (await this.db.select().from(brainPageNodes).where(eq(brainPageNodes.id, node.id)))[0];\n\t}\n\tasync getPageNode(id) {\n\t\treturn (await this.db.select().from(brainPageNodes).where(eq(brainPageNodes.id, id)))[0] ?? null;\n\t}\n\tasync findPageNodes(params = {}) {\n\t\tconst conditions = [];\n\t\tif (params.nodeType) conditions.push(eq(brainPageNodes.nodeType, params.nodeType));\n\t\tif (params.minQualityScore !== void 0) conditions.push(gte(brainPageNodes.qualityScore, params.minQualityScore));\n\t\tlet query = this.db.select().from(brainPageNodes).orderBy(desc(brainPageNodes.lastActivityAt));\n\t\tif (conditions.length > 0) query = query.where(and(...conditions));\n\t\tif (params.limit) query = query.limit(params.limit);\n\t\treturn query;\n\t}\n\tasync updatePageNode(id, updates) {\n\t\tawait this.db.update(brainPageNodes).set({\n\t\t\t...updates,\n\t\t\tupdatedAt: (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19)\n\t\t}).where(eq(brainPageNodes.id, id));\n\t}\n\tasync removePageNode(id) {\n\t\tawait this.db.delete(brainPageEdges).where(or(eq(brainPageEdges.fromId, id), eq(brainPageEdges.toId, id)));\n\t\tawait this.db.delete(brainPageNodes).where(eq(brainPageNodes.id, id));\n\t}\n\tasync addPageEdge(edge) {\n\t\tawait this.db.insert(brainPageEdges).values(edge);\n\t\treturn (await this.db.select().from(brainPageEdges).where(and(eq(brainPageEdges.fromId, edge.fromId), eq(brainPageEdges.toId, edge.toId), eq(brainPageEdges.edgeType, edge.edgeType))))[0];\n\t}\n\tasync findPageEdges(params = {}) {\n\t\tconst conditions = [];\n\t\tif (params.edgeType) conditions.push(eq(brainPageEdges.edgeType, params.edgeType));\n\t\tif (params.provenance) conditions.push(eq(brainPageEdges.provenance, params.provenance));\n\t\tlet query = this.db.select().from(brainPageEdges).orderBy(desc(brainPageEdges.createdAt));\n\t\tif (conditions.length > 0) query = query.where(and(...conditions));\n\t\tif (params.limit) query = query.limit(params.limit);\n\t\treturn query;\n\t}\n\tasync getPageEdges(nodeId, direction = \"both\") {\n\t\tif (direction === \"out\") return this.db.select().from(brainPageEdges).where(eq(brainPageEdges.fromId, nodeId)).orderBy(asc(brainPageEdges.createdAt));\n\t\tif (direction === \"in\") return this.db.select().from(brainPageEdges).where(eq(brainPageEdges.toId, nodeId)).orderBy(asc(brainPageEdges.createdAt));\n\t\treturn this.db.select().from(brainPageEdges).where(or(eq(brainPageEdges.fromId, nodeId), eq(brainPageEdges.toId, nodeId))).orderBy(asc(brainPageEdges.createdAt));\n\t}\n\tasync getNeighbors(nodeId, edgeType) {\n\t\tconst conditions = [eq(brainPageEdges.fromId, nodeId)];\n\t\tif (edgeType) conditions.push(eq(brainPageEdges.edgeType, edgeType));\n\t\tconst edges = await this.db.select().from(brainPageEdges).where(and(...conditions));\n\t\tif (edges.length === 0) return [];\n\t\tconst neighborIds = edges.map((e) => e.toId);\n\t\tconst nodes = [];\n\t\tfor (const nid of neighborIds) {\n\t\t\tconst node = await this.getPageNode(nid);\n\t\t\tif (node) nodes.push(node);\n\t\t}\n\t\treturn nodes;\n\t}\n\tasync removePageEdge(fromId, toId, edgeType) {\n\t\tawait this.db.delete(brainPageEdges).where(and(eq(brainPageEdges.fromId, fromId), eq(brainPageEdges.toId, toId), eq(brainPageEdges.edgeType, edgeType)));\n\t}\n};\n/**\n* Factory: get a BrainDataAccessor backed by the brain.db singleton.\n*/\nasync function getBrainAccessor(cwd) {\n\treturn new BrainDataAccessor(await getBrainDb(cwd));\n}\n//#endregion\nexport { getBrainAccessor as n, BrainDataAccessor as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-bridge-BOlEWg9w.js","sources":["../../../.svelte-kit/adapter-node/chunks/bridge-mode.js","../../../.svelte-kit/adapter-node/chunks/memory-bridge2.js"],"sourcesContent":["//#region ../core/dist/system/bridge-mode.js\n/**\n* Shared helper: resolve the memory/nexus bridge injection mode from project config.\n*\n* Both `memory-bridge.ts` and `nexus-bridge.ts` gate their `writeFileSync`\n* calls on the same `brain.memoryBridge.mode` config key. Centralising the\n* lookup keeps their behaviour aligned and prevents the T999-style drift\n* where one sibling silently ignored the gate.\n*\n* Behaviour:\n* - `'cli'` — AGENTS.md gets a `cleo memory digest` directive; no `.md` files written.\n* - `'file'` — legacy `@.cleo/memory-bridge.md` + `@.cleo/nexus-bridge.md` injection.\n*\n* The resolver never throws. On any read/parse failure it returns the safe\n* default `'cli'` (matches {@link DEFAULT_CONFIG}).\n*\n* @task T999\n* @task T1013\n*/\n/**\n* Resolve the memory/nexus bridge injection mode from project config.\n* Never throws. Returns `'cli'` on any failure (matches DEFAULT_CONFIG).\n*\n* @param projectRoot - Absolute path to the project root.\n* @returns `'cli'` (default) or `'file'` (legacy file-injection mode).\n*/\nasync function resolveBridgeMode(projectRoot) {\n\ttry {\n\t\tconst { loadConfig } = await import(\"./config2.js\");\n\t\treturn (await loadConfig(projectRoot)).brain?.memoryBridge?.mode ?? \"cli\";\n\t} catch {\n\t\treturn \"cli\";\n\t}\n}\n//#endregion\nexport { resolveBridgeMode as t };\n","import { t as pushWarning } from \"./src2.js\";\nimport { t as getLastHandoff } from \"./handoff.js\";\nimport { t as resolveBridgeMode } from \"./bridge-mode.js\";\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region ../core/dist/memory/memory-bridge.js\n/**\n* Memory Bridge Generator\n*\n* Generates .cleo/memory-bridge.md from brain.db content. This file is\n* @-referenced by CLEO-INJECTION.md so that any provider (Claude Code,\n* OpenCode, Cursor, etc.) automatically loads project memory context.\n*\n* Content assembly:\n* - Last session handoff summary\n* - High-confidence learnings\n* - Active patterns (follow + avoid)\n* - Recent decisions\n* - Recent observations\n*\n* Regeneration triggers:\n* - session.end\n* - tasks.complete\n* - memory.observe (high-confidence observations only)\n* - Manual: cleo refresh-memory\n*\n* @task T5240\n* @epic T5149\n*/\n/** Default configuration. */\nvar DEFAULT_CONFIG = {\n\tmaxObservations: 10,\n\tmaxLearnings: 8,\n\tmaxPatterns: 8,\n\tmaxDecisions: 5,\n\tincludeHandoff: true,\n\tincludeAntiPatterns: true\n};\n/**\n* Confidence decay for old memories.\n*\n* effectiveConfidence = confidence * decayRate ^ (ageDays / halfLifeDays)\n*\n* With defaults: confidence halves every 90 days.\n* A 0.9-confidence learning that is 180 days old has effective confidence:\n* 0.9 * 0.5^(180/90) = 0.9 * 0.25 = 0.225 → would be filtered out (< 0.6 threshold).\n*\n* Memories with an `updated_at` timestamp use that instead of `created_at`,\n* so referenced/updated memories decay more slowly.\n*/\nvar DECAY_RATE = .5;\nvar DECAY_HALF_LIFE_DAYS = 90;\nvar DECAY_MIN_CONFIDENCE_THRESHOLD = .6;\n/** Type-safe wrapper for StatementSync.all(). */\nfunction typedAll(db, sql, ...params) {\n\treturn db.prepare(sql).all(...params);\n}\n/**\n* Generate memory bridge content from brain.db.\n* Returns the markdown string (does not write to disk).\n*/\nasync function generateMemoryBridgeContent(projectRoot, config) {\n\tconst cfg = {\n\t\t...DEFAULT_CONFIG,\n\t\t...config\n\t};\n\tconst { getBrainDb, getBrainNativeDb } = await import(\"./memory-sqlite2.js\");\n\tawait getBrainDb(projectRoot);\n\tconst nativeDb = getBrainNativeDb(projectRoot);\n\tif (!nativeDb) return buildEmptyBridge();\n\tconst lines = [\n\t\t\"# CLEO Memory Bridge\",\n\t\t\"\",\n\t\t`> Auto-generated at ${(/* @__PURE__ */ new Date()).toISOString().slice(0, 19)}`,\n\t\t\"> Do not edit manually. Regenerate with `cleo refresh-memory`.\",\n\t\t\"\"\n\t];\n\tif (cfg.includeHandoff) {\n\t\tconst handoffData = await getLastHandoffSafe(projectRoot);\n\t\tif (handoffData) {\n\t\t\tconst h = handoffData.handoff;\n\t\t\tlines.push(\"## Last Session\");\n\t\t\tlines.push(\"\");\n\t\t\tlines.push(`- **Session**: ${handoffData.sessionId}`);\n\t\t\tif (h.lastTask) lines.push(`- **Last focused task**: ${h.lastTask}`);\n\t\t\tif (h.tasksCompleted.length > 0) lines.push(`- **Completed**: ${h.tasksCompleted.join(\", \")}`);\n\t\t\tif (h.nextSuggested.length > 0) lines.push(`- **Next suggested**: ${h.nextSuggested.join(\", \")}`);\n\t\t\tif (h.openBlockers.length > 0) lines.push(`- **Open blockers**: ${h.openBlockers.join(\", \")}`);\n\t\t\tif (h.note) lines.push(`- **Note**: ${h.note}`);\n\t\t\tlines.push(\"\");\n\t\t}\n\t}\n\tconst decisions = queryRecentDecisions(nativeDb, cfg.maxDecisions);\n\tif (decisions.length > 0) {\n\t\tlines.push(\"## Recent Decisions\");\n\t\tlines.push(\"\");\n\t\tfor (const d of decisions) {\n\t\t\tconst date = (d.created_at ?? \"\").slice(0, 10);\n\t\t\tlines.push(`- [${d.id}] ${d.decision.slice(0, 300)} (${date})`);\n\t\t}\n\t\tlines.push(\"\");\n\t}\n\tconst learnings = queryHighConfidenceLearnings(nativeDb, cfg.maxLearnings);\n\tif (learnings.length > 0) {\n\t\tlines.push(\"## Key Learnings\");\n\t\tlines.push(\"\");\n\t\tfor (const l of learnings) lines.push(`- [${l.id}] ${l.insight.slice(0, 400)} (confidence: ${l.confidence})`);\n\t\tlines.push(\"\");\n\t}\n\tconst followPatterns = queryUsefulPatterns(nativeDb, \"follow\", cfg.maxPatterns);\n\tif (followPatterns.length > 0) {\n\t\tlines.push(\"## Patterns to Follow\");\n\t\tlines.push(\"\");\n\t\tfor (const p of followPatterns) lines.push(`- [${p.id}] ${p.pattern.slice(0, 300)} (${p.type})`);\n\t\tlines.push(\"\");\n\t}\n\tif (cfg.includeAntiPatterns) {\n\t\tconst avoidPatterns = queryUsefulPatterns(nativeDb, \"avoid\", cfg.maxPatterns);\n\t\tif (avoidPatterns.length > 0) {\n\t\t\tlines.push(\"## Anti-Patterns to Avoid\");\n\t\t\tlines.push(\"\");\n\t\t\tfor (const p of avoidPatterns) lines.push(`- [${p.id}] AVOID: ${p.pattern.slice(0, 300)}`);\n\t\t\tlines.push(\"\");\n\t\t}\n\t}\n\tconst observations = queryRecentObservations(nativeDb, cfg.maxObservations);\n\tif (observations.length > 0) {\n\t\tlines.push(\"## Recent Observations\");\n\t\tlines.push(\"\");\n\t\tfor (const o of observations) {\n\t\t\tconst date = (o.created_at ?? \"\").slice(0, 10);\n\t\t\tlines.push(`- [${o.id}] ${date}: ${o.title.slice(0, 200)}`);\n\t\t}\n\t\tlines.push(\"\");\n\t}\n\treturn lines.join(\"\\n\");\n}\n/**\n* Write memory bridge content to .cleo/memory-bridge.md.\n*\n* When `brain.memoryBridge.mode` is `'cli'` (default), the file write is skipped\n* and the function returns `{ written: false }` without error (T999).\n* Set mode to `'file'` to restore legacy file-based injection behavior.\n*/\nasync function writeMemoryBridge(projectRoot, config) {\n\tconst cleoDir = join(projectRoot, \".cleo\");\n\tconst bridgePath = join(cleoDir, \"memory-bridge.md\");\n\ttry {\n\t\tif (await resolveBridgeMode(projectRoot) !== \"file\") return {\n\t\t\tpath: bridgePath,\n\t\t\twritten: false\n\t\t};\n\t\tconst content = await generateMemoryBridgeContent(projectRoot, config);\n\t\tif (!existsSync(cleoDir)) mkdirSync(cleoDir, { recursive: true });\n\t\tif (existsSync(bridgePath)) {\n\t\t\tconst existing = readFileSync(bridgePath, \"utf-8\");\n\t\t\tconst stripTimestamp = (s) => s.replace(/^> Auto-generated at .*/m, \"\");\n\t\t\tif (stripTimestamp(existing) === stripTimestamp(content)) return {\n\t\t\t\tpath: bridgePath,\n\t\t\t\twritten: false\n\t\t\t};\n\t\t}\n\t\twriteFileSync(bridgePath, content, \"utf-8\");\n\t\treturn {\n\t\t\tpath: bridgePath,\n\t\t\twritten: true\n\t\t};\n\t} catch (err) {\n\t\tpushWarning({\n\t\t\tcode: \"W_BRIDGE_WRITE_FAILED\",\n\t\t\tmessage: \"Failed to write memory bridge\",\n\t\t\tseverity: \"warn\",\n\t\t\tcontext: {\n\t\t\t\tbridge: \"memory\",\n\t\t\t\tpath: bridgePath,\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t}\n\t\t});\n\t\treturn {\n\t\t\tpath: bridgePath,\n\t\t\twritten: false\n\t\t};\n\t}\n}\n/**\n* Best-effort refresh: call from session.end, tasks.complete, or memory.observe.\n* Never throws.\n*\n* @param projectRoot - Absolute path to the project root.\n* @param scope - Optional session scope for context-aware generation (T139).\n* @param currentTaskId - Optional current task ID for scoped context (T139).\n*/\nasync function refreshMemoryBridge(projectRoot, scope, currentTaskId) {\n\ttry {\n\t\tconst { loadConfig } = await import(\"./config2.js\");\n\t\tif ((await loadConfig(projectRoot)).brain?.memoryBridge?.contextAware && scope) await generateContextAwareContent(projectRoot, scope, currentTaskId);\n\t\telse await writeMemoryBridge(projectRoot);\n\t} catch (err) {\n\t\tpushWarning({\n\t\t\tcode: \"W_BRIDGE_REFRESH_FAILED\",\n\t\t\tmessage: \"Memory bridge refresh failed\",\n\t\t\tseverity: \"warn\",\n\t\t\tcontext: {\n\t\t\t\tbridge: \"memory\",\n\t\t\t\terror: err instanceof Error ? err.message : String(err)\n\t\t\t}\n\t\t});\n\t}\n}\n/**\n* Generate context-aware memory bridge content and write to disk.\n*\n* When `brain.memoryBridge.contextAware` is true and a scope is available,\n* uses hybridSearch() to surface memories relevant to the current scope,\n* then enforces the `brain.memoryBridge.maxTokens` budget.\n*\n* Falls back to standard generation if hybrid search is unavailable.\n* Never throws.\n*\n* @param projectRoot - Absolute path to the project root.\n* @param scope - Session scope string (e.g. 'global', 'epic:T###').\n* @param currentTaskId - Optional current task ID for narrower scoping.\n* @task T139 @epic T134\n*/\nasync function generateContextAwareContent(projectRoot, scope, currentTaskId) {\n\ttry {\n\t\tconst { loadConfig } = await import(\"./config2.js\");\n\t\tconst maxTokens = (await loadConfig(projectRoot)).brain?.memoryBridge?.maxTokens ?? 2e3;\n\t\tif (await resolveBridgeMode(projectRoot) === \"cli\") return;\n\t\tconst query = currentTaskId ? `${scope} ${currentTaskId}` : scope;\n\t\tlet contextSections = [];\n\t\ttry {\n\t\t\tconst { hybridSearch } = await import(\"./brain-search.js\");\n\t\t\tconst hits = await hybridSearch(query, projectRoot, { limit: 10 });\n\t\t\tif (hits && hits.length > 0) contextSections = hits.slice(0, 5).map((h) => `- [${h.id}] ${h.title ?? h.text?.slice(0, 120) ?? \"\"}`);\n\t\t} catch {\n\t\t\tawait writeMemoryBridge(projectRoot);\n\t\t\treturn;\n\t\t}\n\t\tconst budgetChars = maxTokens * 4;\n\t\tconst cleoDir = join(projectRoot, \".cleo\");\n\t\tconst bridgePath = join(cleoDir, \"memory-bridge.md\");\n\t\tconst headerLines = [\n\t\t\t\"# CLEO Memory Bridge\",\n\t\t\t\"\",\n\t\t\t`> Auto-generated at ${(/* @__PURE__ */ new Date()).toISOString().slice(0, 19)} (context-aware: ${scope})`,\n\t\t\t\"> Do not edit manually. Regenerate with `cleo refresh-memory`.\",\n\t\t\t\"\"\n\t\t];\n\t\tconst contextBlock = contextSections.length > 0 ? [\n\t\t\t\"## Relevant Context\",\n\t\t\t\"\",\n\t\t\t...contextSections,\n\t\t\t\"\"\n\t\t] : [];\n\t\tconst standardContent = await generateMemoryBridgeContent(projectRoot);\n\t\tconst combined = [...headerLines, ...contextBlock].join(\"\\n\");\n\t\tconst remainingChars = budgetChars - combined.length;\n\t\tconst finalContent = remainingChars > 200 ? combined + \"\\n\" + standardContent.slice(0, remainingChars) : combined;\n\t\tif (!existsSync(cleoDir)) mkdirSync(cleoDir, { recursive: true });\n\t\twriteFileSync(bridgePath, finalContent, \"utf-8\");\n\t} catch {\n\t\ttry {\n\t\t\tawait writeMemoryBridge(projectRoot);\n\t\t} catch {}\n\t}\n}\n/** Wrapper around getLastHandoff that never throws. */\nasync function getLastHandoffSafe(projectRoot) {\n\ttry {\n\t\treturn await getLastHandoff(projectRoot);\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction queryRecentDecisions(db, limit) {\n\ttry {\n\t\treturn typedAll(db, \"SELECT id, decision, created_at FROM brain_decisions ORDER BY created_at DESC LIMIT ?\", limit);\n\t} catch {\n\t\treturn [];\n\t}\n}\nfunction queryHighConfidenceLearnings(db, limit) {\n\ttry {\n\t\tconst candidates = typedAll(db, `SELECT id, insight, confidence, created_at, updated_at FROM brain_learnings\n WHERE CAST(confidence AS REAL) >= 0.3\n AND insight NOT LIKE 'Completed:%'\n ORDER BY confidence DESC, created_at DESC\n LIMIT ?`, limit * 3);\n\t\tconst now = Date.now();\n\t\tconst MS_PER_DAY = 864e5;\n\t\treturn candidates.map((row) => {\n\t\t\tconst referenceDate = row.updated_at || row.created_at;\n\t\t\tconst ageDays = Math.max(0, (now - new Date(referenceDate).getTime()) / MS_PER_DAY);\n\t\t\tconst effectiveConfidence = (parseFloat(row.confidence) || 0) * DECAY_RATE ** (ageDays / DECAY_HALF_LIFE_DAYS);\n\t\t\treturn {\n\t\t\t\t...row,\n\t\t\t\teffectiveConfidence\n\t\t\t};\n\t\t}).filter((row) => row.effectiveConfidence >= DECAY_MIN_CONFIDENCE_THRESHOLD).sort((a, b) => b.effectiveConfidence - a.effectiveConfidence).slice(0, limit).map(({ effectiveConfidence, ...row }) => ({\n\t\t\t...row,\n\t\t\tconfidence: effectiveConfidence.toFixed(2)\n\t\t}));\n\t} catch {\n\t\treturn [];\n\t}\n}\nfunction queryUsefulPatterns(db, mode, limit) {\n\ttry {\n\t\treturn typedAll(db, `SELECT id, pattern, type, impact, extracted_at FROM brain_patterns\n WHERE ${mode === \"follow\" ? \"type IN ('success', 'workflow', 'optimization')\" : \"type IN ('failure', 'blocker')\"}\n AND pattern NOT LIKE 'Recurring label%'\n AND pattern NOT LIKE 'Test pattern%'\n AND pattern NOT LIKE 'test'\n AND pattern NOT LIKE 'Audit probe:%'\n AND LENGTH(pattern) > 20\n ORDER BY extracted_at DESC\n LIMIT ?`, limit);\n\t} catch {\n\t\treturn [];\n\t}\n}\nfunction queryRecentObservations(db, limit) {\n\ttry {\n\t\treturn typedAll(db, `SELECT id, title, type, created_at FROM brain_observations\n WHERE type != 'change'\n AND title NOT LIKE 'File changed:%'\n AND title NOT LIKE 'Task start:%'\n AND title NOT LIKE 'Task complete:%'\n AND title NOT LIKE '[hook]%'\n ORDER BY created_at DESC LIMIT ?`, limit);\n\t} catch {\n\t\treturn [];\n\t}\n}\nfunction buildEmptyBridge() {\n\treturn [\n\t\t\"# CLEO Memory Bridge\",\n\t\t\"\",\n\t\t`> Auto-generated at ${(/* @__PURE__ */ new Date()).toISOString().slice(0, 19)}`,\n\t\t\"\",\n\t\t\"No brain.db data available yet. Observations will appear here as you work.\",\n\t\t\"\"\n\t].join(\"\\n\");\n}\n//#endregion\nexport { writeMemoryBridge as i, generateMemoryBridgeContent as n, refreshMemoryBridge as r, generateContextAwareContent as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-sqlite2-B7dq8doO.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory2-Cgc_4D5q.js","sources":["../../../.svelte-kit/adapter-node/chunks/memory2.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, i as bind_props, n as attr_class, o as ensure_array_like, r as attr_style, u as stringify } from \"./dev.js\";\nimport \"./index-server.js\";\nimport { a as Badge, r as Card } from \"./Tabs.js\";\nimport { a as Input, c as Chip, i as Modal, l as Button, o as EmptyState, r as Select, s as ChipGroup, t as Textarea, u as Spinner } from \"./ui.js\";\n//#region src/lib/components/memory/ConfidenceBadge.svelte\nfunction ConfidenceBadge($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link ConfidenceBadge}.\n\t\t*/\n\t\t/** Confidence level — string-keyed so adapter payloads flow in unchanged. */\n\t\t/** Optional numeric confidence [0..1] — rendered after the label when present. */\n\t\t/** Size. Defaults to `sm`. */\n\t\tlet { confidence, value, size = \"sm\" } = $$props;\n\t\tconst normalized = derived(() => (confidence ?? \"unknown\").toString().toLowerCase());\n\t\tconst tone = derived(() => {\n\t\t\tif (normalized() === \"high\") return \"success\";\n\t\t\tif (normalized() === \"medium\") return \"warning\";\n\t\t\tif (normalized() === \"low\") return \"danger\";\n\t\t\treturn \"neutral\";\n\t\t});\n\t\tconst shown = derived(() => typeof value === \"number\" && Number.isFinite(value) ? `${normalized()} · ${value.toFixed(2)}` : normalized());\n\t\tBadge($$renderer, {\n\t\t\ttone: tone(),\n\t\t\tsize,\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->${escape_html(shown())}`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/DecisionModal.svelte\nfunction DecisionModal($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link DecisionModal}.\n\t\t*/\n\t\t/** Bindable visibility. */\n\t\t/** Called with the new decision ID on successful save. */\n\t\t/** Called with a human-readable error when the save fails. */\n\t\tlet { open = false, onSuccess, onError } = $$props;\n\t\tlet decision = \"\";\n\t\tlet rationale = \"\";\n\t\tlet alternatives = [];\n\t\tlet altDraft = \"\";\n\t\tlet taskId = \"\";\n\t\tlet epicId = \"\";\n\t\tlet submitting = false;\n\t\tlet formError = null;\n\t\tlet decisionError = null;\n\t\tlet rationaleError = null;\n\t\tfunction addAlt() {\n\t\t\tconst v = altDraft.trim();\n\t\t\tif (!v) return;\n\t\t\tif (alternatives.includes(v)) {\n\t\t\t\taltDraft = \"\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talternatives = [...alternatives, v];\n\t\t\taltDraft = \"\";\n\t\t}\n\t\tfunction removeAlt(v) {\n\t\t\talternatives = alternatives.filter((a) => a !== v);\n\t\t}\n\t\tfunction validate() {\n\t\t\tlet ok = true;\n\t\t\tdecisionError = null;\n\t\t\trationaleError = null;\n\t\t\tif (decision.trim().length < 1) {\n\t\t\t\tdecisionError = \"Decision statement is required.\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\tif (rationale.trim().length < 1) {\n\t\t\t\trationaleError = \"Rationale is required.\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\treturn ok;\n\t\t}\n\t\tfunction reset() {\n\t\t\tdecision = \"\";\n\t\t\trationale = \"\";\n\t\t\talternatives = [];\n\t\t\taltDraft = \"\";\n\t\t\ttaskId = \"\";\n\t\t\tepicId = \"\";\n\t\t\tsubmitting = false;\n\t\t\tformError = null;\n\t\t\tdecisionError = null;\n\t\t\trationaleError = null;\n\t\t}\n\t\tasync function submit() {\n\t\t\tif (submitting) return;\n\t\t\tif (!validate()) return;\n\t\t\tsubmitting = true;\n\t\t\tformError = null;\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/api/memory/decision-store\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tdecision: decision.trim(),\n\t\t\t\t\t\trationale: rationale.trim(),\n\t\t\t\t\t\talternatives: alternatives.length > 0 ? alternatives : void 0,\n\t\t\t\t\t\ttaskId: taskId.trim() || void 0,\n\t\t\t\t\t\tcontextEpicId: epicId.trim() || void 0\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tconst body = await res.json();\n\t\t\t\tif (!res.ok || body.success === false) {\n\t\t\t\t\tconst msg = body.error?.message ?? `HTTP ${res.status}`;\n\t\t\t\t\tthrow new Error(msg);\n\t\t\t\t}\n\t\t\t\tconst id = body.data?.id ?? \"\";\n\t\t\t\tonSuccess?.(id);\n\t\t\t\treset();\n\t\t\t\topen = false;\n\t\t\t} catch (e) {\n\t\t\t\tconst msg = e instanceof Error ? e.message : \"Save failed\";\n\t\t\t\tformError = msg;\n\t\t\t\tonError?.(msg);\n\t\t\t} finally {\n\t\t\t\tsubmitting = false;\n\t\t\t}\n\t\t}\n\t\tfunction onClose() {\n\t\t\tif (!submitting) reset();\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t{\n\t\t\t\tfunction footer($$renderer) {\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\tonclick: () => open = false,\n\t\t\t\t\t\tdisabled: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Cancel`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tsubmit();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tloading: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Store decision`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t}\n\t\t\t\tModal($$renderer, {\n\t\t\t\t\ttitle: \"Store decision\",\n\t\t\t\t\tonclose: onClose,\n\t\t\t\t\tmaxWidth: 36,\n\t\t\t\t\tget open() {\n\t\t\t\t\t\treturn open;\n\t\t\t\t\t},\n\t\t\t\t\tset open($$value) {\n\t\t\t\t\t\topen = $$value;\n\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t},\n\t\t\t\t\tfooter,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<form class=\"decision-form svelte-1kp2dw1\">`);\n\t\t\t\t\t\tTextarea($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Decision\",\n\t\t\t\t\t\t\tplaceholder: \"We decided to…\",\n\t\t\t\t\t\t\trows: 2,\n\t\t\t\t\t\t\tautoResize: true,\n\t\t\t\t\t\t\terror: decisionError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn decision;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tdecision = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tTextarea($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Rationale\",\n\t\t\t\t\t\t\tplaceholder: \"Why this choice — constraints, trade-offs, evidence\",\n\t\t\t\t\t\t\trows: 4,\n\t\t\t\t\t\t\tautoResize: true,\n\t\t\t\t\t\t\terror: rationaleError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn rationale;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\trationale = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> <div class=\"alt-field svelte-1kp2dw1\"><span class=\"alt-label svelte-1kp2dw1\">Alternatives considered</span> <div class=\"alt-row svelte-1kp2dw1\">`);\n\t\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\t\tvalue: altDraft,\n\t\t\t\t\t\t\tplaceholder: \"Add alternative and press Enter\",\n\t\t\t\t\t\t\toninput: (e) => altDraft = e.target.value\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\tonclick: addAlt,\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Add`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\t\t\t\tif (alternatives.length > 0) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\tChipGroup($$renderer, {\n\t\t\t\t\t\t\t\tlabel: \"Alternatives\",\n\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\t\t\t\tconst each_array = ensure_array_like(alternatives);\n\t\t\t\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\t\t\t\tlet alt = each_array[$$index];\n\t\t\t\t\t\t\t\t\t\tChip($$renderer, {\n\t\t\t\t\t\t\t\t\t\t\tmode: \"action\",\n\t\t\t\t\t\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\t\t\t\t\t\tonclick: () => removeAlt(alt),\n\t\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(alt)} ✕`);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> <input type=\"hidden\"/></div> <div class=\"ctx-grid svelte-1kp2dw1\">`);\n\t\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Task ID (optional)\",\n\t\t\t\t\t\t\tplaceholder: \"T123\",\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn taskId;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\ttaskId = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Epic ID (optional)\",\n\t\t\t\t\t\t\tplaceholder: \"T100\",\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn epicId;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tepicId = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\t\t\t\tif (formError) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"form-error svelte-1kp2dw1\" role=\"alert\" aria-live=\"polite\">${escape_html(formError)}</p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></form>`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: {\n\t\t\t\t\t\tfooter: true,\n\t\t\t\t\t\tdefault: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tbind_props($$props, { open });\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/FilterBar.svelte\nfunction FilterBar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link FilterBar}.\n\t\t*/\n\t\t/** Current filter value (controlled). */\n\t\t/** Tier options offered. Omit to hide the tier row. */\n\t\t/** Type options offered. Omit to hide the type row. */\n\t\t/** Status options offered. Omit to hide the status row. */\n\t\t/** Confidence options offered. Omit to hide the confidence row. */\n\t\t/** When true, render the min-quality slider. Defaults to `true`. */\n\t\t/** When true, render the free-text search input. Defaults to `false`. */\n\t\t/** Search placeholder. */\n\t\t/** Called whenever any filter changes. */\n\t\tlet { value, tiers, types, statuses, confidences, showQuality = true, showSearch = false, searchPlaceholder = \"Search…\", onChange } = $$props;\n\t\tfunction emit(patch) {\n\t\t\tonChange({\n\t\t\t\t...value,\n\t\t\t\t...patch\n\t\t\t});\n\t\t}\n\t\tfunction setTier(t) {\n\t\t\temit({ tier: value.tier === t ? null : t });\n\t\t}\n\t\tfunction setType(t) {\n\t\t\temit({ type: value.type === t ? null : t });\n\t\t}\n\t\tfunction setStatus(s) {\n\t\t\temit({ status: value.status === s ? null : s });\n\t\t}\n\t\tfunction setConfidence(c) {\n\t\t\temit({ confidence: value.confidence === c ? null : c });\n\t\t}\n\t\tconst TIER_TINT = {\n\t\t\tshort: \"var(--text-faint)\",\n\t\t\tmedium: \"var(--info)\",\n\t\t\tlong: \"var(--success)\"\n\t\t};\n\t\tconst STATUS_TINT = {\n\t\t\tverified: \"var(--success)\",\n\t\t\tprune: \"var(--warning)\",\n\t\t\tinvalidated: \"var(--danger)\"\n\t\t};\n\t\tconst CONFIDENCE_TINT = {\n\t\t\thigh: \"var(--success)\",\n\t\t\tmedium: \"var(--warning)\",\n\t\t\tlow: \"var(--danger)\",\n\t\t\tunknown: \"var(--text-faint)\"\n\t\t};\n\t\tconst qualityValue = derived(() => value.minQuality ?? 0);\n\t\tconst qualityPct = derived(() => Math.round(qualityValue() * 100));\n\t\t$$renderer.push(`<section class=\"filter-bar svelte-owyv35\" aria-label=\"Memory filters\">`);\n\t\tif (tiers && tiers.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"row svelte-owyv35\"><span class=\"row-label svelte-owyv35\">Tier</span> `);\n\t\t\tChipGroup($$renderer, {\n\t\t\t\tlabel: \"Tier\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array = ensure_array_like(tiers);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet t = each_array[$$index];\n\t\t\t\t\t\tChip($$renderer, {\n\t\t\t\t\t\t\tmode: \"toggle\",\n\t\t\t\t\t\t\tactive: value.tier === t,\n\t\t\t\t\t\t\ttint: TIER_TINT[t],\n\t\t\t\t\t\t\tonclick: () => setTier(t),\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(t)}`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (types && types.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"row svelte-owyv35\"><span class=\"row-label svelte-owyv35\">Type</span> `);\n\t\t\tChipGroup($$renderer, {\n\t\t\t\tlabel: \"Type\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(types);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet t = each_array_1[$$index_1];\n\t\t\t\t\t\tChip($$renderer, {\n\t\t\t\t\t\t\tmode: \"toggle\",\n\t\t\t\t\t\t\tactive: value.type === t,\n\t\t\t\t\t\t\tonclick: () => setType(t),\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(t)}`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (statuses && statuses.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"row svelte-owyv35\"><span class=\"row-label svelte-owyv35\">Status</span> `);\n\t\t\tChipGroup($$renderer, {\n\t\t\t\tlabel: \"Status\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(statuses);\n\t\t\t\t\tfor (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\t\t\tlet s = each_array_2[$$index_2];\n\t\t\t\t\t\tChip($$renderer, {\n\t\t\t\t\t\t\tmode: \"toggle\",\n\t\t\t\t\t\t\tactive: value.status === s,\n\t\t\t\t\t\t\ttint: STATUS_TINT[s],\n\t\t\t\t\t\t\tonclick: () => setStatus(s),\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(s)}`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (confidences && confidences.length > 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"row svelte-owyv35\"><span class=\"row-label svelte-owyv35\">Confidence</span> `);\n\t\t\tChipGroup($$renderer, {\n\t\t\t\tlabel: \"Confidence\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_3 = ensure_array_like(confidences);\n\t\t\t\t\tfor (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n\t\t\t\t\t\tlet c = each_array_3[$$index_3];\n\t\t\t\t\t\tChip($$renderer, {\n\t\t\t\t\t\t\tmode: \"toggle\",\n\t\t\t\t\t\t\tactive: value.confidence === c,\n\t\t\t\t\t\t\ttint: CONFIDENCE_TINT[c],\n\t\t\t\t\t\t\tonclick: () => setConfidence(c),\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(c)}`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (showQuality) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"row svelte-owyv35\"><span class=\"row-label svelte-owyv35\">Quality ≥</span> <div class=\"quality-wrap svelte-owyv35\"><input class=\"slider svelte-owyv35\" type=\"range\" min=\"0\" max=\"1\" step=\"0.05\"${attr(\"value\", qualityValue())}${attr(\"aria-label\", `Minimum quality: ${qualityPct()}%`)}/> <span class=\"slider-value svelte-owyv35\">`);\n\t\t\tif (value.minQuality === void 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`any`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`${escape_html(qualityValue().toFixed(2))}`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></span> `);\n\t\t\tif (value.minQuality !== void 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"clear-btn svelte-owyv35\" aria-label=\"Clear quality filter\">clear</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (showSearch) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"row search-row svelte-owyv35\">`);\n\t\t\tInput($$renderer, {\n\t\t\t\ttype: \"search\",\n\t\t\t\tvalue: value.q ?? \"\",\n\t\t\t\tlabel: \"Search\",\n\t\t\t\tplaceholder: searchPlaceholder,\n\t\t\t\toninput: (e) => emit({ q: e.target.value })\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></section>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/LearningModal.svelte\nfunction LearningModal($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link LearningModal}.\n\t\t*/\n\t\t/** Bindable visibility. */\n\t\t/** Called with the new learning ID on successful save. */\n\t\t/** Called with a human-readable error when the save fails. */\n\t\tlet { open = false, onSuccess, onError } = $$props;\n\t\tlet insight = \"\";\n\t\tlet source = \"\";\n\t\tlet confidence = .5;\n\t\tlet actionable = false;\n\t\tlet application = \"\";\n\t\tlet tagDraft = \"\";\n\t\tlet applicableTypes = [];\n\t\tlet submitting = false;\n\t\tlet formError = null;\n\t\tlet insightError = null;\n\t\tlet sourceError = null;\n\t\tfunction addTag() {\n\t\t\tconst v = tagDraft.trim();\n\t\t\tif (!v) return;\n\t\t\tif (applicableTypes.includes(v)) {\n\t\t\t\ttagDraft = \"\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tapplicableTypes = [...applicableTypes, v];\n\t\t\ttagDraft = \"\";\n\t\t}\n\t\tfunction removeTag(v) {\n\t\t\tapplicableTypes = applicableTypes.filter((t) => t !== v);\n\t\t}\n\t\tfunction validate() {\n\t\t\tlet ok = true;\n\t\t\tinsightError = null;\n\t\t\tsourceError = null;\n\t\t\tif (insight.trim().length < 1) {\n\t\t\t\tinsightError = \"Insight statement is required.\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\tif (source.trim().length < 1) {\n\t\t\t\tsourceError = \"Source reference is required.\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\treturn ok;\n\t\t}\n\t\tfunction reset() {\n\t\t\tinsight = \"\";\n\t\t\tsource = \"\";\n\t\t\tconfidence = .5;\n\t\t\tactionable = false;\n\t\t\tapplication = \"\";\n\t\t\ttagDraft = \"\";\n\t\t\tapplicableTypes = [];\n\t\t\tsubmitting = false;\n\t\t\tformError = null;\n\t\t\tinsightError = null;\n\t\t\tsourceError = null;\n\t\t}\n\t\tasync function submit() {\n\t\t\tif (submitting) return;\n\t\t\tif (!validate()) return;\n\t\t\tsubmitting = true;\n\t\t\tformError = null;\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/api/memory/learning-store\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tinsight: insight.trim(),\n\t\t\t\t\t\tsource: source.trim(),\n\t\t\t\t\t\tconfidence,\n\t\t\t\t\t\tactionable,\n\t\t\t\t\t\tapplication: application.trim() || void 0,\n\t\t\t\t\t\tapplicableTypes: applicableTypes.length > 0 ? applicableTypes : void 0\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tconst body = await res.json();\n\t\t\t\tif (!res.ok || body.success === false) {\n\t\t\t\t\tconst msg = body.error?.message ?? `HTTP ${res.status}`;\n\t\t\t\t\tthrow new Error(msg);\n\t\t\t\t}\n\t\t\t\tconst id = body.data?.id ?? \"\";\n\t\t\t\tonSuccess?.(id);\n\t\t\t\treset();\n\t\t\t\topen = false;\n\t\t\t} catch (e) {\n\t\t\t\tconst msg = e instanceof Error ? e.message : \"Save failed\";\n\t\t\t\tformError = msg;\n\t\t\t\tonError?.(msg);\n\t\t\t} finally {\n\t\t\t\tsubmitting = false;\n\t\t\t}\n\t\t}\n\t\tfunction onClose() {\n\t\t\tif (!submitting) reset();\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t{\n\t\t\t\tfunction footer($$renderer) {\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\tonclick: () => open = false,\n\t\t\t\t\t\tdisabled: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Cancel`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tsubmit();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tloading: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Store learning`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t}\n\t\t\t\tModal($$renderer, {\n\t\t\t\t\ttitle: \"Store learning\",\n\t\t\t\t\tonclose: onClose,\n\t\t\t\t\tmaxWidth: 36,\n\t\t\t\t\tget open() {\n\t\t\t\t\t\treturn open;\n\t\t\t\t\t},\n\t\t\t\t\tset open($$value) {\n\t\t\t\t\t\topen = $$value;\n\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t},\n\t\t\t\t\tfooter,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<form class=\"learning-form svelte-1l6q7v5\">`);\n\t\t\t\t\t\tTextarea($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Insight\",\n\t\t\t\t\t\t\tplaceholder: \"The key thing you learned\",\n\t\t\t\t\t\t\trows: 3,\n\t\t\t\t\t\t\tautoResize: true,\n\t\t\t\t\t\t\terror: insightError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn insight;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tinsight = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Source\",\n\t\t\t\t\t\t\tplaceholder: \"Where this came from — file, task, session, commit\",\n\t\t\t\t\t\t\terror: sourceError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn source;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tsource = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> <div class=\"confidence-field svelte-1l6q7v5\"><span class=\"field-label svelte-1l6q7v5\">Confidence · ${escape_html(confidence.toFixed(2))}</span> <input class=\"slider svelte-1l6q7v5\" type=\"range\" min=\"0\" max=\"1\" step=\"0.05\"${attr(\"value\", confidence)} aria-label=\"Confidence\"/></div> <label class=\"checkbox-row svelte-1l6q7v5\"><input type=\"checkbox\"${attr(\"checked\", actionable, true)} class=\"svelte-1l6q7v5\"/> <span>Actionable — concrete steps recorded below</span></label> `);\n\t\t\t\t\t\tif (actionable) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\tTextarea($$renderer, {\n\t\t\t\t\t\t\t\tlabel: \"How to apply\",\n\t\t\t\t\t\t\t\tplaceholder: \"Concrete application of the insight\",\n\t\t\t\t\t\t\t\trows: 3,\n\t\t\t\t\t\t\t\tautoResize: true,\n\t\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\t\treturn application;\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\t\tapplication = $$value;\n\t\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--> <div class=\"tag-field svelte-1l6q7v5\"><span class=\"field-label svelte-1l6q7v5\">Applicable types (optional)</span> <div class=\"tag-row svelte-1l6q7v5\">`);\n\t\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\t\tvalue: tagDraft,\n\t\t\t\t\t\t\tplaceholder: \"e.g. refactor, pattern — press Add\",\n\t\t\t\t\t\t\toninput: (e) => tagDraft = e.target.value\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\tonclick: addTag,\n\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Add`);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\t\t\t\tif (applicableTypes.length > 0) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\tChipGroup($$renderer, {\n\t\t\t\t\t\t\t\tlabel: \"Tags\",\n\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\t\t\t\t\tconst each_array = ensure_array_like(applicableTypes);\n\t\t\t\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\t\t\t\tlet t = each_array[$$index];\n\t\t\t\t\t\t\t\t\t\tChip($$renderer, {\n\t\t\t\t\t\t\t\t\t\t\tmode: \"action\",\n\t\t\t\t\t\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\t\t\t\t\t\tonclick: () => removeTag(t),\n\t\t\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->${escape_html(t)} ✕`);\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\t\t\t\tif (formError) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"form-error svelte-1l6q7v5\" role=\"alert\" aria-live=\"polite\">${escape_html(formError)}</p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></form>`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: {\n\t\t\t\t\t\tfooter: true,\n\t\t\t\t\t\tdefault: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tbind_props($$props, { open });\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/ObserveModal.svelte\nfunction ObserveModal($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Local mirror of `MemoryObservationKind` from\n\t\t* `@cleocode/contracts/operations/memory` — the root contracts\n\t\t* package only re-exports the higher-level `Memory*` shapes, so we\n\t\t* pin the literal union here. Keep in sync with the contract file.\n\t\t*/\n\t\t/**\n\t\t* Props for {@link ObserveModal}.\n\t\t*/\n\t\t/** Bindable visibility. */\n\t\t/** Called with the new observation ID on successful save. */\n\t\t/** Called with a human-readable error when the save fails. */\n\t\tlet { open = false, onSuccess, onError } = $$props;\n\t\tconst TYPE_OPTIONS = [\n\t\t\t{\n\t\t\t\tvalue: \"discovery\",\n\t\t\t\tlabel: \"Discovery\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"change\",\n\t\t\t\tlabel: \"Change\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"feature\",\n\t\t\t\tlabel: \"Feature\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"bugfix\",\n\t\t\t\tlabel: \"Bug fix\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"decision\",\n\t\t\t\tlabel: \"Decision\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"refactor\",\n\t\t\t\tlabel: \"Refactor\"\n\t\t\t}\n\t\t];\n\t\tlet title = \"\";\n\t\tlet text = \"\";\n\t\tlet observationType = \"discovery\";\n\t\tlet submitting = false;\n\t\tlet formError = null;\n\t\tlet titleError = null;\n\t\tlet textError = null;\n\t\tfunction validate() {\n\t\t\tlet ok = true;\n\t\t\ttitleError = null;\n\t\t\ttextError = null;\n\t\t\tif (title.trim().length < 1) {\n\t\t\t\ttitleError = \"Title is required.\";\n\t\t\t\tok = false;\n\t\t\t} else if (title.length > 200) {\n\t\t\t\ttitleError = \"Title must be 200 characters or fewer.\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\tif (text.trim().length < 1) {\n\t\t\t\ttextError = \"Observation body is required.\";\n\t\t\t\tok = false;\n\t\t\t} else if (text.length > 1e4) {\n\t\t\t\ttextError = \"Observation body is too long (max 10 000 chars).\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\treturn ok;\n\t\t}\n\t\tfunction reset() {\n\t\t\ttitle = \"\";\n\t\t\ttext = \"\";\n\t\t\tobservationType = \"discovery\";\n\t\t\tsubmitting = false;\n\t\t\tformError = null;\n\t\t\ttitleError = null;\n\t\t\ttextError = null;\n\t\t}\n\t\tasync function submit() {\n\t\t\tif (submitting) return;\n\t\t\tif (!validate()) return;\n\t\t\tsubmitting = true;\n\t\t\tformError = null;\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/api/memory/observe\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\ttitle: title.trim(),\n\t\t\t\t\t\ttext: text.trim(),\n\t\t\t\t\t\ttype: observationType\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tconst body = await res.json();\n\t\t\t\tif (!res.ok || body.success === false) {\n\t\t\t\t\tconst msg = body.error?.message ?? `HTTP ${res.status}`;\n\t\t\t\t\tthrow new Error(msg);\n\t\t\t\t}\n\t\t\t\tconst id = body.data?.id ?? \"\";\n\t\t\t\tonSuccess?.(id);\n\t\t\t\treset();\n\t\t\t\topen = false;\n\t\t\t} catch (e) {\n\t\t\t\tconst msg = e instanceof Error ? e.message : \"Save failed\";\n\t\t\t\tformError = msg;\n\t\t\t\tonError?.(msg);\n\t\t\t} finally {\n\t\t\t\tsubmitting = false;\n\t\t\t}\n\t\t}\n\t\tfunction onClose() {\n\t\t\tif (!submitting) reset();\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t{\n\t\t\t\tfunction footer($$renderer) {\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\tonclick: () => open = false,\n\t\t\t\t\t\tdisabled: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Cancel`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tsubmit();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tloading: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Save observation`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t}\n\t\t\t\tModal($$renderer, {\n\t\t\t\t\ttitle: \"New observation\",\n\t\t\t\t\tonclose: onClose,\n\t\t\t\t\tmaxWidth: 34,\n\t\t\t\t\tget open() {\n\t\t\t\t\t\treturn open;\n\t\t\t\t\t},\n\t\t\t\t\tset open($$value) {\n\t\t\t\t\t\topen = $$value;\n\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t},\n\t\t\t\t\tfooter,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<form class=\"observe-form svelte-rnbbhd\">`);\n\t\t\t\t\t\tInput($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Title\",\n\t\t\t\t\t\t\tplaceholder: \"Short memorable headline\",\n\t\t\t\t\t\t\terror: titleError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn title;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\ttitle = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tTextarea($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Observation\",\n\t\t\t\t\t\t\tplaceholder: \"What happened? What changed? What did you learn?\",\n\t\t\t\t\t\t\trows: 6,\n\t\t\t\t\t\t\tmaxlength: 1e4,\n\t\t\t\t\t\t\tautoResize: true,\n\t\t\t\t\t\t\terror: textError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn text;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\ttext = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tSelect($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Kind\",\n\t\t\t\t\t\t\toptions: TYPE_OPTIONS,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn observationType;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tobservationType = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tif (formError) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"form-error svelte-rnbbhd\" role=\"alert\" aria-live=\"polite\">${escape_html(formError)}</p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></form>`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: {\n\t\t\t\t\t\tfooter: true,\n\t\t\t\t\t\tdefault: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tbind_props($$props, { open });\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/Pagination.svelte\nfunction Pagination($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link Pagination}.\n\t\t*/\n\t\t/** Current zero-based offset. */\n\t\t/** Page size. */\n\t\t/** Total item count returned by the server. */\n\t\t/** Called when user clicks Prev / Next. */\n\t\tlet { offset, limit, total, onChange } = $$props;\n\t\tconst pageIndex = derived(() => Math.floor(offset / Math.max(1, limit)) + 1);\n\t\tconst pageCount = derived(() => Math.max(1, Math.ceil(total / Math.max(1, limit))));\n\t\tconst hasPrev = derived(() => offset > 0);\n\t\tconst hasNext = derived(() => offset + limit < total);\n\t\tconst rangeStart = derived(() => total === 0 ? 0 : offset + 1);\n\t\tconst rangeEnd = derived(() => Math.min(total, offset + limit));\n\t\tfunction goPrev() {\n\t\t\tif (!hasPrev()) return;\n\t\t\tonChange(Math.max(0, offset - limit));\n\t\t}\n\t\tfunction goNext() {\n\t\t\tif (!hasNext()) return;\n\t\t\tonChange(offset + limit);\n\t\t}\n\t\t$$renderer.push(`<nav class=\"pager svelte-hokvew\" aria-label=\"Pagination\">`);\n\t\tButton($$renderer, {\n\t\t\tvariant: \"subtle\",\n\t\t\tsize: \"sm\",\n\t\t\tdisabled: !hasPrev(),\n\t\t\tonclick: goPrev,\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->← Prev`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----> <span class=\"status svelte-hokvew\"><span class=\"range svelte-hokvew\">${escape_html(rangeStart())}–${escape_html(rangeEnd())}</span> <span class=\"divider svelte-hokvew\">of</span> <span class=\"total svelte-hokvew\">${escape_html(total)}</span> <span class=\"dot svelte-hokvew\">·</span> <span class=\"page svelte-hokvew\">page ${escape_html(pageIndex())} / ${escape_html(pageCount())}</span></span> `);\n\t\tButton($$renderer, {\n\t\t\tvariant: \"subtle\",\n\t\t\tsize: \"sm\",\n\t\t\tdisabled: !hasNext(),\n\t\t\tonclick: goNext,\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->Next →`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t\t$$renderer.push(`<!----></nav>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/PatternModal.svelte\nfunction PatternModal($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Local mirror of contracts `MemoryPatternType`. Keep in sync with operations/memory.ts. */\n\t\t/** Local mirror of contracts `MemoryPatternImpact`. */\n\t\t/**\n\t\t* Props for {@link PatternModal}.\n\t\t*/\n\t\t/** Bindable visibility. */\n\t\t/** Called with the new pattern ID on successful save. */\n\t\t/** Called with a human-readable error when the save fails. */\n\t\tlet { open = false, onSuccess, onError } = $$props;\n\t\tconst TYPE_OPTIONS = [\n\t\t\t{\n\t\t\t\tvalue: \"workflow\",\n\t\t\t\tlabel: \"Workflow\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"blocker\",\n\t\t\t\tlabel: \"Blocker\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"success\",\n\t\t\t\tlabel: \"Success\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"failure\",\n\t\t\t\tlabel: \"Failure\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"optimization\",\n\t\t\t\tlabel: \"Optimization\"\n\t\t\t}\n\t\t];\n\t\tconst IMPACT_OPTIONS = [\n\t\t\t{\n\t\t\t\tvalue: \"low\",\n\t\t\t\tlabel: \"Low\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"medium\",\n\t\t\t\tlabel: \"Medium\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"high\",\n\t\t\t\tlabel: \"High\"\n\t\t\t}\n\t\t];\n\t\tlet patternText = \"\";\n\t\tlet contextText = \"\";\n\t\tlet patternType = \"workflow\";\n\t\tlet impact = \"medium\";\n\t\tlet submitting = false;\n\t\tlet formError = null;\n\t\tlet patternError = null;\n\t\tlet contextError = null;\n\t\tfunction validate() {\n\t\t\tlet ok = true;\n\t\t\tpatternError = null;\n\t\t\tcontextError = null;\n\t\t\tif (patternText.trim().length < 1) {\n\t\t\t\tpatternError = \"Pattern description is required.\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\tif (contextText.trim().length < 1) {\n\t\t\t\tcontextError = \"Context is required — where / when does this pattern apply?\";\n\t\t\t\tok = false;\n\t\t\t}\n\t\t\treturn ok;\n\t\t}\n\t\tfunction reset() {\n\t\t\tpatternText = \"\";\n\t\t\tcontextText = \"\";\n\t\t\tpatternType = \"workflow\";\n\t\t\timpact = \"medium\";\n\t\t\tsubmitting = false;\n\t\t\tformError = null;\n\t\t\tpatternError = null;\n\t\t\tcontextError = null;\n\t\t}\n\t\tasync function submit() {\n\t\t\tif (submitting) return;\n\t\t\tif (!validate()) return;\n\t\t\tsubmitting = true;\n\t\t\tformError = null;\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/api/memory/pattern-store\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tpattern: patternText.trim(),\n\t\t\t\t\t\tcontext: contextText.trim(),\n\t\t\t\t\t\ttype: patternType,\n\t\t\t\t\t\timpact\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t\tconst body = await res.json();\n\t\t\t\tif (!res.ok || body.success === false) {\n\t\t\t\t\tconst msg = body.error?.message ?? `HTTP ${res.status}`;\n\t\t\t\t\tthrow new Error(msg);\n\t\t\t\t}\n\t\t\t\tconst id = body.data?.id ?? \"\";\n\t\t\t\tonSuccess?.(id);\n\t\t\t\treset();\n\t\t\t\topen = false;\n\t\t\t} catch (e) {\n\t\t\t\tconst msg = e instanceof Error ? e.message : \"Save failed\";\n\t\t\t\tformError = msg;\n\t\t\t\tonError?.(msg);\n\t\t\t} finally {\n\t\t\t\tsubmitting = false;\n\t\t\t}\n\t\t}\n\t\tfunction onClose() {\n\t\t\tif (!submitting) reset();\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t{\n\t\t\t\tfunction footer($$renderer) {\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\tonclick: () => open = false,\n\t\t\t\t\t\tdisabled: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Cancel`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tsubmit();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tloading: submitting,\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<!---->Store pattern`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t}\n\t\t\t\tModal($$renderer, {\n\t\t\t\t\ttitle: \"Store pattern\",\n\t\t\t\t\tonclose: onClose,\n\t\t\t\t\tmaxWidth: 36,\n\t\t\t\t\tget open() {\n\t\t\t\t\t\treturn open;\n\t\t\t\t\t},\n\t\t\t\t\tset open($$value) {\n\t\t\t\t\t\topen = $$value;\n\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t},\n\t\t\t\t\tfooter,\n\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t$$renderer.push(`<form class=\"pattern-form svelte-dg4797\">`);\n\t\t\t\t\t\tTextarea($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Pattern\",\n\t\t\t\t\t\t\tplaceholder: \"Describe the recurring shape — what, when, why\",\n\t\t\t\t\t\t\trows: 4,\n\t\t\t\t\t\t\tautoResize: true,\n\t\t\t\t\t\t\terror: patternError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn patternText;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tpatternText = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tTextarea($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Context\",\n\t\t\t\t\t\t\tplaceholder: \"Where does this apply? What triggers it?\",\n\t\t\t\t\t\t\trows: 3,\n\t\t\t\t\t\t\tautoResize: true,\n\t\t\t\t\t\t\terror: contextError ?? void 0,\n\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn contextText;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tcontextText = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> <div class=\"meta-grid svelte-dg4797\">`);\n\t\t\t\t\t\tSelect($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Type\",\n\t\t\t\t\t\t\toptions: TYPE_OPTIONS,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn patternType;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tpatternType = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----> `);\n\t\t\t\t\t\tSelect($$renderer, {\n\t\t\t\t\t\t\tlabel: \"Impact\",\n\t\t\t\t\t\t\toptions: IMPACT_OPTIONS,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn impact;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\timpact = $$value;\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(`<!----></div> `);\n\t\t\t\t\t\tif (formError) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"form-error svelte-dg4797\" role=\"alert\" aria-live=\"polite\">${escape_html(formError)}</p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]--></form>`);\n\t\t\t\t\t},\n\t\t\t\t\t$$slots: {\n\t\t\t\t\t\tfooter: true,\n\t\t\t\t\t\tdefault: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tbind_props($$props, { open });\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/PromotionCountdown.svelte\nfunction PromotionCountdown($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link PromotionCountdown}.\n\t\t*/\n\t\t/** Remaining days until eligibility (0 = now). */\n\t\tlet { daysUntil } = $$props;\n\t\tconst tone = derived(() => {\n\t\t\tif (daysUntil < .1) return \"success\";\n\t\t\tif (daysUntil < 1) return \"info\";\n\t\t\treturn \"neutral\";\n\t\t});\n\t\tconst label = derived(() => {\n\t\t\tif (daysUntil < .1) return \"ready now\";\n\t\t\tif (daysUntil < 1) return `${Math.round(daysUntil * 24)}h`;\n\t\t\treturn `${daysUntil.toFixed(1)}d`;\n\t\t});\n\t\tBadge($$renderer, {\n\t\t\ttone: tone(),\n\t\t\tsize: \"sm\",\n\t\t\tpill: true,\n\t\t\tchildren: ($$renderer) => {\n\t\t\t\t$$renderer.push(`<!---->${escape_html(label())}`);\n\t\t\t},\n\t\t\t$$slots: { default: true }\n\t\t});\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/QualityBar.svelte\nfunction QualityBar($$renderer, $$props) {\n\t/**\n\t* Props for {@link QualityBar}.\n\t*/\n\t/** Quality score in [0..1]. `null` → placeholder. */\n\t/** When true, render the numeric label next to the bar. Defaults to `true`. */\n\t/** Width of the bar in px. Defaults to 80. */\n\tlet { score, showLabel = true, width = 80 } = $$props;\n\tconst resolved = derived(() => typeof score === \"number\" && Number.isFinite(score) ? score : null);\n\tconst pct = derived(() => resolved() === null ? 0 : Math.round(Math.max(0, Math.min(1, resolved())) * 100));\n\t/** Semantic bucket — drives the token-driven colour. */\n\tconst tone = derived(() => {\n\t\tif (resolved() === null) return \"unknown\";\n\t\tif (resolved() >= .7) return \"high\";\n\t\tif (resolved() >= .4) return \"mid\";\n\t\treturn \"low\";\n\t});\n\tconst labelText = derived(() => resolved() === null ? \"—\" : resolved().toFixed(2));\n\t$$renderer.push(`<span class=\"q-bar svelte-7jfl6u\"${attr_style(`--q-width:${stringify(width)}px`)} role=\"img\"${attr(\"aria-label\", `Quality ${labelText()}`)}><span class=\"track svelte-7jfl6u\"><span${attr_class(`fill t-${stringify(tone())}`, \"svelte-7jfl6u\")}${attr_style(`width:${stringify(pct())}%`)}></span></span> `);\n\tif (showLabel) {\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<span${attr_class(`label t-${stringify(tone())}`, \"svelte-7jfl6u\")}>${escape_html(labelText())}</span>`);\n\t} else $$renderer.push(\"<!--[-1-->\");\n\t$$renderer.push(`<!--]--></span>`);\n}\n//#endregion\n//#region src/lib/components/memory/SortControl.svelte\nfunction SortControl($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props for {@link SortControl}.\n\t\t*/\n\t\t/** Current sort key. */\n\t\t/** Emits the selected key. */\n\t\t/** When false, hide the citation option (e.g. decisions page has no citation_count). */\n\t\tlet { value, onChange, allowCitation = true } = $$props;\n\t\tconst options = derived(() => [\n\t\t\t{\n\t\t\t\tvalue: \"created_desc\",\n\t\t\t\tlabel: \"Newest first\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: \"quality_desc\",\n\t\t\t\tlabel: \"Quality · high to low\"\n\t\t\t},\n\t\t\t...allowCitation ? [{\n\t\t\t\tvalue: \"citation_desc\",\n\t\t\t\tlabel: \"Citations · most first\"\n\t\t\t}] : []\n\t\t]);\n\t\tfunction handle(e) {\n\t\t\tconst el = e.target;\n\t\t\tonChange(el.value);\n\t\t}\n\t\t$$renderer.push(`<div class=\"sort-ctrl svelte-1ta5t9b\"><span class=\"sort-label svelte-1ta5t9b\">Sort</span> `);\n\t\tSelect($$renderer, {\n\t\t\tvalue,\n\t\t\toptions: options(),\n\t\t\tonchange: handle\n\t\t});\n\t\t$$renderer.push(`<!----></div>`);\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/TierBadge.svelte\nfunction TierBadge($$renderer, $$props) {\n\t/**\n\t* Props for {@link TierBadge}.\n\t*/\n\t/** Memory tier — null / unknown / custom renders neutral. */\n\t/** Size. Defaults to `sm` for dense list rows. */\n\tlet { tier, size = \"sm\" } = $$props;\n\tconst tone = derived(() => {\n\t\tif (tier === \"long\") return \"success\";\n\t\tif (tier === \"medium\") return \"info\";\n\t\tif (tier === \"short\") return \"neutral\";\n\t\treturn \"neutral\";\n\t});\n\tconst label = derived(() => tier ?? \"unknown\");\n\tBadge($$renderer, {\n\t\ttone: tone(),\n\t\tsize,\n\t\tpill: true,\n\t\tchildren: ($$renderer) => {\n\t\t\t$$renderer.push(`<!---->${escape_html(label())}`);\n\t\t},\n\t\t$$slots: { default: true }\n\t});\n}\n//#endregion\n//#region src/lib/components/memory/VerifyQueuePanel.svelte\nfunction VerifyQueuePanel($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Pending-verify entry shape — mirrors contracts.MemoryPendingEntry. */\n\t\t/** Response shape for GET /api/memory/pending-verify. */\n\t\t/**\n\t\t* Props for {@link VerifyQueuePanel}.\n\t\t*/\n\t\t/** Minimum citations threshold; passed through. Defaults to 5. */\n\t\t/** Max items shown. Defaults to 10. */\n\t\tlet { minCitations = 5, limit = 10 } = $$props;\n\t\tlet items = [];\n\t\tlet hint = \"\";\n\t\tlet loading = true;\n\t\tlet error = null;\n\t\tlet verifying = {};\n\t\tasync function load() {\n\t\t\tloading = true;\n\t\t\terror = null;\n\t\t\ttry {\n\t\t\t\tconst params = new URLSearchParams();\n\t\t\t\tparams.set(\"minCitations\", String(minCitations));\n\t\t\t\tparams.set(\"limit\", String(limit));\n\t\t\t\tconst res = await fetch(`/api/memory/pending-verify?${params.toString()}`);\n\t\t\t\tconst body = await res.json();\n\t\t\t\tif (!res.ok || body.success === false) throw new Error(body.error?.message ?? `HTTP ${res.status}`);\n\t\t\t\tconst payload = body.data ?? {\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tminCitations,\n\t\t\t\t\titems: [],\n\t\t\t\t\thint: \"\"\n\t\t\t\t};\n\t\t\t\titems = payload.items;\n\t\t\t\thint = payload.hint;\n\t\t\t} catch (e) {\n\t\t\t\terror = e instanceof Error ? e.message : \"Failed to load verify queue\";\n\t\t\t} finally {\n\t\t\t\tloading = false;\n\t\t\t}\n\t\t}\n\t\tasync function promote(id) {\n\t\t\tif (verifying[id]) return;\n\t\t\tverifying = {\n\t\t\t\t...verifying,\n\t\t\t\t[id]: true\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/api/memory/verify\", {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\t\t\tbody: JSON.stringify({ id })\n\t\t\t\t});\n\t\t\t\tconst body = await res.json();\n\t\t\t\tif (!res.ok || body.success === false) throw new Error(body.error?.message ?? `HTTP ${res.status}`);\n\t\t\t\titems = items.filter((it) => it.id !== id);\n\t\t\t} catch (e) {\n\t\t\t\terror = e instanceof Error ? e.message : \"Promotion failed\";\n\t\t\t} finally {\n\t\t\t\tverifying = {\n\t\t\t\t\t...verifying,\n\t\t\t\t\t[id]: false\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tfunction header($$renderer) {\n\t\t\t\t$$renderer.push(`<div class=\"panel-head svelte-17fm0cm\"><h3 class=\"panel-title svelte-17fm0cm\">Verify queue</h3> <span class=\"panel-sub svelte-17fm0cm\">Unverified but frequently cited — promote to ground truth</span></div>`);\n\t\t\t}\n\t\t\tCard($$renderer, {\n\t\t\t\theader,\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\tif (loading) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t$$renderer.push(`<div class=\"state svelte-17fm0cm\">`);\n\t\t\t\t\t\tSpinner($$renderer, { size: \"md\" });\n\t\t\t\t\t\t$$renderer.push(`<!----> <span>Loading verify queue…</span></div>`);\n\t\t\t\t\t} else if (error) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfunction action($$renderer) {\n\t\t\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\t\t\tvariant: \"secondary\",\n\t\t\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\t\t\t\tload();\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Retry`);\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tEmptyState($$renderer, {\n\t\t\t\t\t\t\t\ttitle: \"Couldn't load verify queue\",\n\t\t\t\t\t\t\t\tsubtitle: error,\n\t\t\t\t\t\t\t\tvariant: \"warning\",\n\t\t\t\t\t\t\t\taction,\n\t\t\t\t\t\t\t\t$$slots: { action: true }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (items.length === 0) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t\t\tEmptyState($$renderer, {\n\t\t\t\t\t\t\ttitle: \"Queue is empty\",\n\t\t\t\t\t\t\tsubtitle: hint || `No entries with ≥ ${minCitations} citations await verification.`\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<ul class=\"queue svelte-17fm0cm\"><!--[-->`);\n\t\t\t\t\t\tconst each_array = ensure_array_like(items);\n\t\t\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\t\tlet it = each_array[$$index];\n\t\t\t\t\t\t\t$$renderer.push(`<li class=\"row svelte-17fm0cm\"><div class=\"row-head svelte-17fm0cm\"><code class=\"id svelte-17fm0cm\">${escape_html(it.id)}</code> <span class=\"sep svelte-17fm0cm\" aria-hidden=\"true\">·</span> <span class=\"table svelte-17fm0cm\">${escape_html(it.table)}</span> <span class=\"sep svelte-17fm0cm\" aria-hidden=\"true\">·</span> `);\n\t\t\t\t\t\t\tTierBadge($$renderer, { tier: it.memoryTier });\n\t\t\t\t\t\t\t$$renderer.push(`<!----> <span class=\"cites svelte-17fm0cm\">${escape_html(it.citationCount)} citations</span></div> `);\n\t\t\t\t\t\t\tif (it.title) {\n\t\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t\t$$renderer.push(`<p class=\"title svelte-17fm0cm\">${escape_html(it.title)}</p>`);\n\t\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<!--]--> <div class=\"row-actions svelte-17fm0cm\">`);\n\t\t\t\t\t\t\tButton($$renderer, {\n\t\t\t\t\t\t\t\tvariant: \"primary\",\n\t\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\t\tloading: !!verifying[it.id],\n\t\t\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\t\t\tpromote(it.id);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Promote to verified`);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.push(`<!----></div></li>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></ul>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t},\n\t\t\t\t$$slots: {\n\t\t\t\t\theader: true,\n\t\t\t\t\tdefault: true\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n//#endregion\nexport { PromotionCountdown as a, ObserveModal as c, DecisionModal as d, ConfidenceBadge as f, QualityBar as i, LearningModal as l, TierBadge as n, PatternModal as o, SortControl as r, Pagination as s, VerifyQueuePanel as t, FilterBar as u };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-runner2-B71xjp4y.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mvi-helpers-BNsJ8ZpQ.js","sources":["../../../.svelte-kit/adapter-node/chunks/mvi-helpers.js"],"sourcesContent":["//#region ../core/dist/mvi-helpers.js\n/**\n* MVI _next directive helpers for progressive disclosure.\n*\n* When CLEO returns results in minimal MVI mode, `_next` provides a map of\n* available follow-up operations the agent can take. This enables progressive\n* disclosure: agents get lean results and can drill deeper only when needed.\n*\n* @example\n* ```json\n* {\"id\": \"T042\", \"title\": \"Fix auth\", \"status\": \"active\",\n* \"_next\": {\"full\": \"cleo show T042\", \"children\": \"cleo find --parent T042\"}}\n* ```\n*\n* @task T-MVI-06\n*/\n/**\n* Build `_next` directives for a full task detail result (tasks.show).\n*\n* @param taskId - The task ID to generate directives for\n* @returns A map of available follow-up operations\n*/\nfunction taskShowNext(taskId) {\n\treturn {\n\t\tfull: `cleo show ${taskId} --mvi full`,\n\t\tchildren: `cleo find --parent ${taskId}`,\n\t\tdeps: `cleo deps ${taskId}`\n\t};\n}\n/**\n* Build `_next` directives for a task in a list or find result.\n*\n* @param taskId - The task ID to generate directives for\n* @returns A map of available follow-up operations\n*/\nfunction taskListItemNext(taskId) {\n\treturn { show: `cleo show ${taskId}` };\n}\n/**\n* Build `_next` directives for a session in a list or find result.\n*\n* @param sessionId - The session ID to generate directives for\n* @returns A map of available follow-up operations\n*/\nfunction sessionListItemNext(sessionId) {\n\treturn { show: `cleo session show ${sessionId}` };\n}\n/**\n* Build `_next` directives for a session start result.\n*\n* @returns A map of available follow-up operations after starting a session\n*/\nfunction sessionStartNext() {\n\treturn {\n\t\tcurrent: \"cleo current\",\n\t\tstop: \"cleo session end\"\n\t};\n}\n/**\n* Build `_next` directives for a memory search (find) hit.\n*\n* @param entryId - The brain entry ID to generate directives for\n* @returns A map of available follow-up operations\n*/\nfunction memoryFindHitNext(entryId) {\n\treturn { fetch: `cleo memory fetch ${entryId}` };\n}\n//#endregion\nexport { taskShowNext as a, taskListItemNext as i, sessionListItemNext as n, sessionStartNext as r, memoryFindHitNext as t };\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,YAAY,CAAC,MAAM,EAAE;AAC9B,CAAC,OAAO;AACR,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;AACxC,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAC1C,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;AAC5B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,SAAS,EAAE;AACxC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,EAAE;AAClD;AAYA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,EAAE;AACjD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nexus-adapter-9EL_VlGI.js","sources":["../../../.svelte-kit/adapter-node/chunks/nexus-adapter.js"],"sourcesContent":["import { i as bind_props, r as attr_style, u as stringify } from \"./dev.js\";\nimport { n as onDestroy } from \"./index-server.js\";\nimport { n as Hover_label, r as ALL_EDGE_KINDS } from \"./no-face-up.js\";\nimport { t as Cluster_label_layer } from \"./cluster-label-layer.js\";\nimport \"@cosmograph/cosmos\";\n//#region src/lib/graph/renderers/CosmosRenderer.svelte\nfunction CosmosRenderer($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/**\n\t\t* Props consumed by the macro / community / ego / flow views.\n\t\t*/\n\t\t/** Graph nodes — must include a stable id for every entry. */\n\t\t/** Graph edges — invalid endpoints are dropped silently. */\n\t\t/** Optional cluster registry for the caption layer. */\n\t\t/** Edge kinds currently rendered. Absent kinds fade to zero alpha. */\n\t\t/** Node kinds currently rendered. Absent kinds fade to zero alpha. */\n\t\t/** Node id to focus (camera pan + selection ring). */\n\t\t/** Called when the user pointer enters / exits a node. */\n\t\t/** Click handler — receives the full node object. */\n\t\t/** Show the cluster-caption overlay. Default: true. */\n\t\t/**\n\t\t* Explicit reduced-motion toggle. When omitted, the component\n\t\t* reads `prefers-reduced-motion` at mount and on change.\n\t\t*/\n\t\t/** Canvas height. Default `100%`. */\n\t\t/** Fired when the renderer fails to initialise (WebGL2 unavailable). */\n\t\t/**\n\t\t* Optional base alpha for non-highlighted nodes/edges. Useful for\n\t\t* the ego view to dim hop-2 while staying visible.\n\t\t*/\n\t\tlet { nodes, edges, clusters = [], visibleEdgeKinds, visibleNodeKinds, highlightNodeId = null, onNodeHover, onNodeClick, showClusterLabels = true, reducedMotion, height = \"100%\", onInitFailed, baseAlpha = .85 } = $$props;\n\t\tlet cosmos = null;\n\t\tlet hovered = null;\n\t\tlet hoverX = 0;\n\t\tlet hoverY = 0;\n\t\tlet hoverSecondary = null;\n\t\tlet clusterPoints = [];\n\t\tlet currentZoom = 1;\n\t\tonDestroy(() => {\n\t\t\tif (cosmos) {\n\t\t\t\ttry {\n\t\t\t\t\tcosmos.destroy();\n\t\t\t\t} catch {}\n\t\t\t\tcosmos = null;\n\t\t\t}\n\t\t});\n\t\t/** Number of edge-kind buckets we can render — from the shared kit. */\n\t\tconst edgeKindCount = ALL_EDGE_KINDS.length;\n\t\t$$renderer.push(`<div class=\"cosmos-wrap svelte-a42v6k\"${attr_style(`height: ${stringify(height)};`)}><div class=\"cosmos-canvas svelte-a42v6k\"></div> `);\n\t\tif (showClusterLabels && cosmos) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tCluster_label_layer($$renderer, {\n\t\t\t\tpoints: clusterPoints,\n\t\t\t\tzoom: currentZoom\n\t\t\t});\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tHover_label($$renderer, {\n\t\t\tnode: hovered,\n\t\t\tx: hoverX,\n\t\t\ty: hoverY,\n\t\t\tsecondary: hoverSecondary\n\t\t});\n\t\t$$renderer.push(`<!----> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t\tbind_props($$props, { edgeKindCount });\n\t});\n}\n//#endregion\n//#region src/lib/graph/adapters/nexus-adapter.ts\n/**\n* Edge kinds that explicitly encode direction. All other kinds render as\n* a non-arrow line by default (the kit overrides per-style below).\n*/\nvar DIRECTIONAL_KINDS = new Set([\n\t\"calls\",\n\t\"extends\",\n\t\"implements\",\n\t\"imports\",\n\t\"contains\",\n\t\"defines\",\n\t\"has_method\",\n\t\"has_property\",\n\t\"accesses\",\n\t\"member_of\"\n]);\n/**\n* Strict mapping from the nexus relation-type string → canonical\n* {@link EdgeKind}. Any string that lands outside the mapping is folded\n* into `relates_to` so the renderer never crashes on unknown input.\n*/\nvar NEXUS_RELATION_TO_EDGE_KIND = {\n\tcontains: \"contains\",\n\tdefines: \"defines\",\n\timports: \"imports\",\n\taccesses: \"accesses\",\n\tcalls: \"calls\",\n\textends: \"extends\",\n\timplements: \"implements\",\n\tmethod_overrides: \"extends\",\n\tmethod_implements: \"implements\",\n\thas_method: \"has_method\",\n\thas_property: \"has_property\",\n\tmember_of: \"member_of\",\n\tdocuments: \"documents\",\n\tapplies_to: \"references\",\n\treferences: \"references\",\n\tcites: \"cites\",\n\tstep_in_process: \"calls\",\n\tentry_point_of: \"defines\",\n\thandles_route: \"calls\",\n\thandles_tool: \"calls\",\n\tfetches: \"calls\",\n\tqueries: \"accesses\",\n\twraps: \"derived_from\"\n};\n/**\n* Map a nexus relation-type string to the canonical kit edge kind.\n*\n* Exported for tests + to let server loaders pre-classify when building\n* macro-view aggregates.\n*\n* @param type - The raw `nexus_relations.type` value.\n* @returns A canonical {@link EdgeKind}. Unknown strings map to `relates_to`.\n*/\nfunction mapNexusRelationToEdgeKind(type) {\n\treturn NEXUS_RELATION_TO_EDGE_KIND[type] ?? \"relates_to\";\n}\n/**\n* Normalise caller-count into a 0-1 `weight`. Uses a log curve so\n* a single call doesn't appear identical to a mega-hub.\n*\n* @param callers - Raw caller count.\n*/\nfunction normaliseWeight(callers) {\n\tif (callers <= 0) return .1;\n\treturn Math.min(1, Math.log10(callers + 1) / 3);\n}\n/**\n* Convert nexus node + relation rows into the kit-wide graph shape.\n*\n* The function DOES NOT assign positions — callers pipe the output\n* into `layout/nexus-layout.ts` or let the cosmos simulation settle\n* the points from a random seed.\n*\n* @param nodes - Raw nexus_nodes rows.\n* @param relations - Raw nexus_relations rows.\n* @param opts - Optional override knobs.\n*/\nfunction adaptNexusRows(nodes, relations, opts) {\n\tconst nodeIndex = /* @__PURE__ */ new Map();\n\tconst clusterIndex = /* @__PURE__ */ new Map();\n\tfor (const row of nodes) {\n\t\tif (!row.id) continue;\n\t\tconst isCommunity = row.kind === \"community\";\n\t\tconst node = {\n\t\t\tid: row.id,\n\t\t\tsubstrate: \"nexus\",\n\t\t\tkind: row.kind || \"symbol\",\n\t\t\tlabel: row.label || row.id,\n\t\t\tcategory: row.communityId ?? null,\n\t\t\tweight: normaliseWeight(row.callerCount ?? 0),\n\t\t\tmeta: {\n\t\t\t\tfilePath: row.filePath ?? null,\n\t\t\t\tcallerCount: row.callerCount ?? 0\n\t\t\t}\n\t\t};\n\t\tnodeIndex.set(row.id, node);\n\t\tif (isCommunity) {\n\t\t\tconst cluster = {\n\t\t\t\tid: row.id,\n\t\t\t\tlabel: row.label || row.id,\n\t\t\t\tsubstrate: \"nexus\",\n\t\t\t\tmemberIds: []\n\t\t\t};\n\t\t\tclusterIndex.set(row.id, cluster);\n\t\t}\n\t}\n\tfor (const node of nodeIndex.values()) {\n\t\tif (!node.category) continue;\n\t\tconst cluster = clusterIndex.get(node.category);\n\t\tif (cluster) cluster.memberIds.push(node.id);\n\t}\n\tconst edges = [];\n\tfor (let i = 0; i < relations.length; i++) {\n\t\tconst row = relations[i];\n\t\tif (!row.source || !row.target) continue;\n\t\tif (row.source === row.target) continue;\n\t\tif (!nodeIndex.has(row.source) || !nodeIndex.has(row.target)) continue;\n\t\tconst kind = mapNexusRelationToEdgeKind(row.type);\n\t\tif (opts?.dropMemberOf && kind === \"member_of\") continue;\n\t\tedges.push({\n\t\t\tid: row.id ?? `nxr-${i}-${row.source}-${row.target}-${kind}`,\n\t\t\tsource: row.source,\n\t\t\ttarget: row.target,\n\t\t\tkind,\n\t\t\tweight: typeof row.weight === \"number\" ? Math.min(1, Math.max(0, row.weight)) : void 0,\n\t\t\tdirectional: DIRECTIONAL_KINDS.has(kind)\n\t\t});\n\t}\n\treturn {\n\t\tnodes: [...nodeIndex.values()],\n\t\tedges,\n\t\tclusters: [...clusterIndex.values()]\n\t};\n}\n/**\n* Build a macro-view graph from pre-aggregated community rows.\n*\n* @param communities - One row per community.\n* @param edges - One row per directional community pair.\n*/\nfunction adaptNexusMacro(communities, edges) {\n\tconst graphNodes = communities.map((c) => ({\n\t\tid: c.id,\n\t\tsubstrate: \"nexus\",\n\t\tkind: \"community\",\n\t\tlabel: c.label,\n\t\tcategory: c.id,\n\t\tweight: Math.min(1, Math.log10(c.memberCount + 1) / 3),\n\t\tmeta: {\n\t\t\tmemberCount: c.memberCount,\n\t\t\ttopKind: c.topKind\n\t\t}\n\t}));\n\tconst clusters = communities.map((c) => ({\n\t\tid: c.id,\n\t\tlabel: c.label,\n\t\tsubstrate: \"nexus\",\n\t\tmemberIds: [c.id]\n\t}));\n\tconst nodeIds = new Set(graphNodes.map((n) => n.id));\n\treturn {\n\t\tnodes: graphNodes,\n\t\tedges: edges.filter((e) => nodeIds.has(e.source) && nodeIds.has(e.target) && e.source !== e.target).map((e, idx) => ({\n\t\t\tid: `macro-${idx}-${e.source}-${e.target}`,\n\t\t\tsource: e.source,\n\t\t\ttarget: e.target,\n\t\t\tkind: e.kind,\n\t\t\tweight: Math.min(1, e.weight / 100),\n\t\t\tdirectional: DIRECTIONAL_KINDS.has(e.kind)\n\t\t})),\n\t\tclusters\n\t};\n}\n//#endregion\nexport { CosmosRenderer as i, adaptNexusRows as n, mapNexusRelationToEdgeKind as r, adaptNexusMacro as t };\n"],"names":[],"mappings":"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"}
|