@cleocode/cleo 2026.9.6 → 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 +31 -2
- 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/{DQE2lHpR.js → DVHIxkgs.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{Cq8SkApb.js → TX-23QW3.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{B4pbMhWh.js → eK8hf4s7.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.AO-dq23l.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.pcHH7cls.js → 0.CZzEEyVh.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.BZ_6sEg7.js → 1.Bj3Opbua.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.C49XuRDg.js → 15.BfXgiwMC.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.D_IEqgU8.js → 16.mEwy9cqh.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.DMmmyyKw.js → 17.DP2QtQGn.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.BeHgL2ha.js → 18.Bu0054sX.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.ByQCOFEK.js → 20.B1AIHdkP.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.DKhWVVfG.js → 24.BUoUu37z.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.BS4Qyw38.js → 25.ddZ1_EFk.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{26.CZ-vCPq6.js → 26.6OcmQbLV.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.B1Ua25St.js → 3.Dyir4xXj.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-BkBuauLU.js → 0-CvsKDxQ6.js} +3 -3
- package/studio-dist/server/chunks/{1-C-FPVHUW.js → 1-ck_x2Hf0.js} +3 -3
- package/studio-dist/server/chunks/{15-BEk78EBu.js → 15-BvUNl3KL.js} +3 -3
- package/studio-dist/server/chunks/{16-BzISLvSG.js → 16-De6EzPSa.js} +3 -3
- package/studio-dist/server/chunks/{17-DGt4P3nJ.js → 17-CZNsiZhi.js} +3 -3
- package/studio-dist/server/chunks/{18-DLGcIwmV.js → 18-CbxxjZox.js} +3 -3
- package/studio-dist/server/chunks/{20-BvcOxe5q.js → 20-DVU22np7.js} +3 -3
- package/studio-dist/server/chunks/{24-DlzL0G3_.js → 24-CVlymvLF.js} +3 -3
- package/studio-dist/server/chunks/{25-BkcpAlfJ.js → 25-CAg6Xcmn.js} +3 -3
- package/studio-dist/server/chunks/{26-CY_OLXcd.js → 26-_nfVTvNi.js} +3 -3
- package/studio-dist/server/chunks/{3-CbodebGY.js → 3-B8KhfvHp.js} +3 -3
- package/studio-dist/server/chunks/{_layout.svelte-B31p5awD.js → _layout.svelte-BEIGQcIv.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-C6P8rRvk.js → _page.svelte-2cgtvHwW.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BdTlq0Gh.js → _page.svelte-9OQphlnm.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-h0JOhZab.js → _page.svelte-BIlhmugm.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DR0AY_gZ.js → _page.svelte-BgwL2Gyu.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-EWYHbzl0.js → _page.svelte-C_VSL8NW.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-CFnkQk35.js → _page.svelte-DOWw416I.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BIIvdH13.js → _page.svelte-Wfx7ww_h.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CfjdIh3A.js → _page.svelte-l4Z_xjl9.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BuVX3kf2.js → _page.svelte-tYN7_LXI.js} +3 -3
- package/studio-dist/server/chunks/{client-2rpcRzcr.js → client-CgX38JBu.js} +2 -2
- package/studio-dist/server/chunks/{error.svelte-CpckcxW6.js → error.svelte-CplNulnS.js} +3 -3
- package/studio-dist/server/chunks/{internal-xyE_opYp.js → internal-D6eWgsHJ.js} +2 -2
- package/studio-dist/server/chunks/{stores-BcV2X8z1.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/Dw--1J0g.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.DyU3_ZJI.js +0 -1
- package/studio-dist/server/chunks/0-BkBuauLU.js.map +0 -1
- package/studio-dist/server/chunks/1-C-FPVHUW.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-BEk78EBu.js.map +0 -1
- package/studio-dist/server/chunks/16-BzISLvSG.js.map +0 -1
- package/studio-dist/server/chunks/17-DGt4P3nJ.js.map +0 -1
- package/studio-dist/server/chunks/18-DLGcIwmV.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-BvcOxe5q.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-DlzL0G3_.js.map +0 -1
- package/studio-dist/server/chunks/25-BkcpAlfJ.js.map +0 -1
- package/studio-dist/server/chunks/26-CY_OLXcd.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-CbodebGY.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-B31p5awD.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-BIIvdH13.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-BdTlq0Gh.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-BuVX3kf2.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-C6P8rRvk.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CCoTp89s.js.map +0 -1
- package/studio-dist/server/chunks/_page.svelte-CFnkQk35.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-CfjdIh3A.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-DR0AY_gZ.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-EWYHbzl0.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-h0JOhZab.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-2rpcRzcr.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-CpckcxW6.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-xyE_opYp.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-BcV2X8z1.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":"credentials-C7EJFf5O.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"credentials-store-CFygIuB2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cross-db-cleanup-1LWTUKPi.js","sources":["../../../.svelte-kit/adapter-node/chunks/cross-db-cleanup.js"],"sourcesContent":["import { D as brainObservations, i as getBrainDb } from \"./memory-sqlite.js\";\nimport { eq } from \"drizzle-orm\";\n//#region ../core/dist/store/cross-db-cleanup.js\n/**\n* Cross-database cleanup hooks for brain.db → tasks.db soft FK enforcement.\n*\n* SQLite does not support foreign key constraints across database connections.\n* This module provides application-layer guards that maintain referential\n* integrity between brain.db and tasks.db after destructive operations.\n*\n* Implements the recommendations from T030 audit (XFKB-001 through XFKB-005).\n*\n* @task T033\n* @epic T029\n*/\n/**\n* Clean up brain.db references after a session is deleted from tasks.db.\n*\n* Handles:\n* - XFKB-004: Nullify brain_observations.source_session_id where it matches\n*\n* @remarks\n* Best-effort: failures do not propagate. brain.db may not be initialised.\n*\n* @param sessionId - The ID of the session being deleted from tasks.db\n* @param cwd - Optional working directory\n*\n* @example\n* ```ts\n* await cleanupBrainRefsOnSessionDelete('ses_20260321_abc');\n* ```\n*/\nasync function cleanupBrainRefsOnSessionDelete(sessionId, cwd) {\n\tlet brainDb = null;\n\ttry {\n\t\tbrainDb = await getBrainDb(cwd);\n\t} catch {\n\t\treturn;\n\t}\n\ttry {\n\t\tawait brainDb.update(brainObservations).set({ sourceSessionId: null }).where(eq(brainObservations.sourceSessionId, sessionId));\n\t} catch {}\n}\n/**\n* Verify a task ID exists in tasks.db before writing a cross-DB reference to brain.db.\n* Returns true if the task exists, false otherwise.\n*\n* Provides write-guard for XFKB-001/002/003 on brain.db insert.\n*\n* @remarks\n* Used as a write-guard before inserting cross-DB references into brain.db.\n*\n* @param taskId - Task ID to verify\n* @param tasksDb - The tasks.db drizzle instance\n* @returns True if the task exists in tasks.db\n*\n* @example\n* ```ts\n* if (await taskExistsInTasksDb('T042', db)) { /* safe to reference *\\/ }\n* ```\n*/\nasync function taskExistsInTasksDb(taskId, tasksDb) {\n\tconst { tasks } = await import(\"./tasks-schema2.js\");\n\tconst { eq: eqOp } = await import(\"drizzle-orm\");\n\treturn (await tasksDb.select({ id: tasks.id }).from(tasks).where(eqOp(tasks.id, taskId)).all()).length > 0;\n}\n/**\n* Verify a session ID through the caller's shared tasks database handle.\n*\n* @param sessionId - Session ID to verify.\n* @param tasksDb - Shared tasks database handle.\n* @returns True when the session exists.\n*/\nasync function sessionExistsInTasksDb(sessionId, tasksDb) {\n\tconst { sessions } = await import(\"./tasks-schema2.js\");\n\tconst { eq: eqOp } = await import(\"drizzle-orm\");\n\treturn (await tasksDb.select({ id: sessions.id }).from(sessions).where(eqOp(sessions.id, sessionId)).all()).length > 0;\n}\nvar FRESH_PROBE_ATTEMPTS = 3;\nvar FRESH_PROBE_RETRY_DELAY_MS = 25;\nfunction projectRecordExists(probe, id, tableNames) {\n\tconst availableRows = probe.prepare(\"SELECT name FROM sqlite_master WHERE type = 'table' AND name IN (?, ?)\").all(...tableNames);\n\tconst availableNames = /* @__PURE__ */ new Set();\n\tfor (const row of availableRows) {\n\t\tconst name = row[\"name\"];\n\t\tif (name === \"sessions\" || name === \"tasks_sessions\" || name === \"tasks\" || name === \"tasks_tasks\") availableNames.add(name);\n\t}\n\tfor (const tableName of tableNames) {\n\t\tif (!availableNames.has(tableName)) continue;\n\t\tif (probe.prepare(`SELECT 1 AS present FROM ${tableName} WHERE id = ? LIMIT 1`).get(id) !== void 0) return true;\n\t}\n\treturn false;\n}\nasync function recordExistsInTasksDbFresh(id, tableNames, tasksDb, cwd) {\n\tconst [{ resolveDualScopeDbPath }, { openNativeDatabase }] = await Promise.all([import(\"./dual-scope-db2.js\"), import(\"./sqlite-native.js\")]);\n\tconst sharedNative = tasksDb?.$client;\n\tconst preferredPath = cwd !== void 0 ? resolveDualScopeDbPath(\"project\", cwd) : sharedNative?.location() ?? resolveDualScopeDbPath(\"project\");\n\tconst sharedPath = sharedNative?.location();\n\tconst probePath = (dbPath) => {\n\t\tconst probe = openNativeDatabase(dbPath, { readonly: true });\n\t\ttry {\n\t\t\treturn projectRecordExists(probe, id, tableNames);\n\t\t} finally {\n\t\t\tprobe.close();\n\t\t}\n\t};\n\tconst candidatePaths = sharedPath != null && sharedPath !== preferredPath ? [preferredPath, sharedPath] : [preferredPath];\n\tlet completedProbe = false;\n\tfor (let attempt = 0; attempt < FRESH_PROBE_ATTEMPTS; attempt += 1) {\n\t\tfor (const dbPath of candidatePaths) try {\n\t\t\tconst exists = probePath(dbPath);\n\t\t\tcompletedProbe = true;\n\t\t\tif (exists) return true;\n\t\t} catch {}\n\t\tif (sharedNative?.isOpen) try {\n\t\t\tconst exists = projectRecordExists(sharedNative, id, tableNames);\n\t\t\tcompletedProbe = true;\n\t\t\tif (exists) return true;\n\t\t} catch {}\n\t\tif (attempt + 1 < FRESH_PROBE_ATTEMPTS) await new Promise((resolve) => setTimeout(resolve, FRESH_PROBE_RETRY_DELAY_MS));\n\t}\n\tif (completedProbe) return false;\n\tthrow new Error(`Unable to verify project record ${id}: no readable tasks database candidate`);\n}\n/**\n* Verify a session ID through fresh read-only connections and the caller's live handle.\n*\n* This is the bounded fallback for callers whose shared project handle either\n* closed during the primary query or returned a stale empty result. It does not\n* evict the dual-scope cache, so other domains retaining the shared handle stay\n* live while the probe runs. The live handle is checked last because it can own\n* a committed, unlinked SQLite file that is no longer reachable by path.\n*\n* @param sessionId - Session ID to verify.\n* @param tasksDb - Shared tasks handle whose native path anchors the probe when available.\n* @param cwd - Project root used to resolve the project-scope cleo.db.\n* @returns True when the session is present in any live project session table.\n* @throws Error when no database candidate can be read, distinguishing unavailable validation from absence.\n* @task T12034\n*/\nasync function sessionExistsInTasksDbFresh(sessionId, tasksDb, cwd) {\n\treturn recordExistsInTasksDbFresh(sessionId, [\"sessions\", \"tasks_sessions\"], tasksDb, cwd);\n}\n//#endregion\nexport { taskExistsInTasksDb as i, sessionExistsInTasksDb as n, sessionExistsInTasksDbFresh as r, cleanupBrainRefsOnSessionDelete as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-accessor-CWgVndbR.js","sources":["../../../.svelte-kit/adapter-node/chunks/data-accessor2.js"],"sourcesContent":["//#region ../core/dist/store/data-accessor.js\n/**\n* DataAccessor re-export + factory functions.\n*\n* The DataAccessor interface is defined in @cleocode/contracts.\n* This module re-exports it and provides the concrete SQLite factory.\n*\n* @epic T4454\n* @task T9054\n*/\n/**\n* Assert that production database writes are forbidden in test mode.\n*\n* When `CLEO_TEST_MODE=1` is set, any write to a production `tasks.db` or\n* `brain.db` path (i.e. paths NOT under a temp dir or the env-var override)\n* throws `E_PROD_DB_WRITE_IN_TEST`. This prevents tests from accidentally\n* polluting the developer's live database.\n*\n* Escape hatch: set `CLEO_TEST_DB_OVERRIDE=1` to suppress the guard (audited\n* per ADR-051 pattern — written to `.cleo/audit/force-bypass.jsonl`).\n*\n* @param dbPath - Absolute resolved path to the SQLite file being opened.\n* @throws Error with code `E_PROD_DB_WRITE_IN_TEST` when the guard fires.\n*\n* @task T1906\n*/\nfunction assertTestEnv(dbPath) {\n\tif (process.env[\"CLEO_TEST_MODE\"] !== \"1\") return;\n\tif (process.env[\"CLEO_TEST_DB_OVERRIDE\"] === \"1\") {\n\t\tprocess.stderr.write(`[T1906] CLEO_TEST_DB_OVERRIDE=1 — bypassing prod-DB guard for: ${dbPath}\\n`);\n\t\treturn;\n\t}\n\tconst tmpDir = process.env[\"TMPDIR\"] ?? process.env[\"TMP\"] ?? process.env[\"TEMP\"] ?? \"/tmp\";\n\tif (!(dbPath === \":memory:\" || dbPath.startsWith(tmpDir) || dbPath.includes(\"/tmp/\") || dbPath.includes(\"\\\\Temp\\\\\") || dbPath.includes(\".test.\") || dbPath.includes(\"/test-\") || dbPath.includes(\"vitest\"))) throw new Error(`E_PROD_DB_WRITE_IN_TEST: CLEO_TEST_MODE=1 but attempted to open production DB at \"${dbPath}\". Use an in-memory or temp-dir database in tests, or set CLEO_TEST_DB_OVERRIDE=1 to bypass (audited). (T1906 / BBTT-W3-4)`);\n}\n/**\n* Create a DataAccessor for the given working directory.\n* Always creates a SQLite accessor (ADR-006 canonical storage).\n*\n* ALL accessors returned are safety-enabled by default via SafetyDataAccessor wrapper.\n* Use CLEO_DISABLE_SAFETY=true to bypass (emergency only).\n*\n* @task T9054 — engine parameter dropped; CLEO is SQLite-only (ADR-006).\n*/\nasync function createDataAccessor(cwd) {\n\tconst { createSqliteDataAccessor } = await import(\"./sqlite-data-accessor2.js\");\n\tconst inner = await createSqliteDataAccessor(cwd);\n\tconst { wrapWithSafety } = await import(\"./safety-data-accessor.js\");\n\treturn wrapWithSafety(inner, cwd);\n}\n/**\n* Get a tasks-DB DataAccessor for the given working directory.\n*\n* This is the canonical tasks-only factory. Name is explicit about scope —\n* the former `getAccessor` name implied universality and caused the\n* gitnexus graph to misclassify it as a universal key (T9054).\n*\n* @param cwd - Optional project root (defaults to process.cwd() resolution).\n* @returns DataAccessor backed by tasks.db (ADR-006, ADR-068).\n*/\nasync function getTaskAccessor(cwd) {\n\treturn createDataAccessor(cwd);\n}\n//#endregion\nexport { createDataAccessor as n, getTaskAccessor as r, assertTestEnv 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;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,MAAM,EAAE;AAC/B,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAE;AAC5C,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG,EAAE;AACnD,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,+DAA+D,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACpG,EAAE;AACF,CAAC;AACD,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM;AAC5F,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,kFAAkF,EAAE,MAAM,CAAC,0HAA0H,CAAC,CAAC;AACtb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB,CAAC,GAAG,EAAE;AACvC,CAAC,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,OAAO,qCAA4B,CAAC;AAChF,CAAC,MAAM,KAAK,GAAG,MAAM,wBAAwB,CAAC,GAAG,CAAC;AAClD,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,oCAA2B,CAAC;AACrE,CAAC,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAe,CAAC,GAAG,EAAE;AACpC,CAAC,OAAO,kBAAkB,CAAC,GAAG,CAAC;AAC/B;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-safety-central-DaFxK27G.js","sources":["../../../.svelte-kit/adapter-node/chunks/sequence.js","../../../.svelte-kit/adapter-node/chunks/checkpoint-git-dir.js","../../../.svelte-kit/adapter-node/chunks/data-safety-central.js"],"sourcesContent":["import { Xn as ExitCode } from \"./dist2.js\";\nimport { t as CleoError } from \"./errors.js\";\nimport { f as resolveOrCwd } from \"./paths.js\";\nimport { n as createDataAccessor } from \"./data-accessor2.js\";\nimport { l as schemaMeta } from \"./tasks-schema.js\";\nimport { n as setMetaValue } from \"./sqlite-data-accessor.js\";\nimport { existsSync, readFileSync, renameSync } from \"node:fs\";\nimport { join } from \"node:path\";\n//#region ../core/dist/sequence/index.js\n/**\n* Task ID sequence management core module.\n* @task T4538\n* @epic T4454\n*/\nvar SEQUENCE_META_KEY = \"task_id_sequence\";\nfunction getLegacySequenceJsonPath(cwd) {\n\treturn join(resolveOrCwd(cwd), \".cleo\", \".sequence.json\");\n}\nfunction getLegacySequencePath(cwd) {\n\treturn join(resolveOrCwd(cwd), \".cleo\", \".sequence\");\n}\nfunction isValidSequenceState(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\tconst seq = value;\n\treturn typeof seq.counter === \"number\" && typeof seq.lastId === \"string\" && typeof seq.checksum === \"string\";\n}\nfunction isSeedSequence(value) {\n\treturn value.counter === 0 && value.lastId === \"T000\" && value.checksum === \"seed\";\n}\nfunction readLegacySequenceFile(path) {\n\tif (!existsSync(path)) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(readFileSync(path, \"utf-8\"));\n\t\treturn isValidSequenceState(parsed) ? parsed : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction renameLegacyFile(path) {\n\tif (!existsSync(path)) return;\n\tconst migratedPath = `${path}.migrated`;\n\ttry {\n\t\tif (!existsSync(migratedPath)) {\n\t\t\trenameSync(path, migratedPath);\n\t\t\treturn;\n\t\t}\n\t\trenameSync(path, `${migratedPath}.${Date.now()}`);\n\t} catch {}\n}\nasync function readSequenceFromDb(cwd, accessor) {\n\tif (accessor) {\n\t\tconst value = await accessor.getMetaValue(SEQUENCE_META_KEY);\n\t\treturn isValidSequenceState(value) ? value : null;\n\t}\n\tconst { getDb } = await import(\"./sqlite2.js\");\n\tconst { eq } = await import(\"drizzle-orm\");\n\tconst raw = (await (await getDb(cwd)).select().from(schemaMeta).where(eq(schemaMeta.key, SEQUENCE_META_KEY)).all())[0]?.value;\n\tif (!raw) return null;\n\ttry {\n\t\tconst parsed = JSON.parse(raw);\n\t\treturn isValidSequenceState(parsed) ? parsed : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nasync function writeSequenceToDb(state, cwd, accessor) {\n\tif (accessor) {\n\t\tawait accessor.setMetaValue(SEQUENCE_META_KEY, state);\n\t\treturn;\n\t}\n\tawait setMetaValue(cwd, SEQUENCE_META_KEY, state);\n}\nasync function maybeMigrateLegacySequence(dbState, cwd, accessor) {\n\tconst legacyJsonPath = getLegacySequenceJsonPath(cwd);\n\tconst legacyPath = getLegacySequencePath(cwd);\n\tconst candidates = [readLegacySequenceFile(legacyJsonPath), readLegacySequenceFile(legacyPath)].filter((value) => value !== null);\n\tif (candidates.length === 0) return dbState;\n\tconst preferredLegacy = candidates.reduce((best, current) => current.counter > best.counter ? current : best);\n\tconst shouldMigrate = !dbState || isSeedSequence(dbState) || preferredLegacy.counter > dbState.counter;\n\tif (shouldMigrate) await writeSequenceToDb(preferredLegacy, cwd, accessor);\n\trenameLegacyFile(legacyJsonPath);\n\trenameLegacyFile(legacyPath);\n\treturn shouldMigrate ? preferredLegacy : dbState;\n}\nasync function readSequence(cwd, accessor) {\n\treturn maybeMigrateLegacySequence(await readSequenceFromDb(cwd, accessor), cwd, accessor);\n}\nfunction getMaxIdFromTasks(tasks) {\n\tlet max = 0;\n\tfor (const t of tasks) {\n\t\tconst match = t.id.match(/^T(\\d+)$/);\n\t\tif (match) {\n\t\t\tconst num = parseInt(match[1], 10);\n\t\t\tif (num > max) max = num;\n\t\t}\n\t}\n\treturn max;\n}\nasync function loadAllTasks(cwd, accessor) {\n\tlet localAccessor = null;\n\tconst activeAccessor = accessor ?? await createDataAccessor(cwd);\n\tif (!accessor) localAccessor = activeAccessor;\n\ttry {\n\t\tconst { tasks: activeTasks } = await activeAccessor.queryTasks({});\n\t\tconst archiveData = await activeAccessor.loadArchive();\n\t\treturn [...activeTasks ?? [], ...archiveData?.archivedTasks ?? []];\n\t} finally {\n\t\tif (localAccessor) await localAccessor.close();\n\t}\n}\n/** Check sequence integrity. */\nasync function checkSequence(cwd, accessor) {\n\tconst seq = await readSequence(cwd, accessor);\n\tif (!seq) return {\n\t\tvalid: false,\n\t\tcounter: 0,\n\t\tmaxIdInData: 0,\n\t\tmissing: true\n\t};\n\tconst maxId = getMaxIdFromTasks(await loadAllTasks(cwd, accessor));\n\tconst valid = seq.counter >= maxId;\n\treturn {\n\t\tcounter: seq.counter,\n\t\tmaxIdInData: maxId,\n\t\tvalid,\n\t\t...valid ? {} : {\n\t\t\tissue: `Counter (${seq.counter}) is behind max ID (T${maxId})`,\n\t\t\tfix: \"Run cleo sequence repair\"\n\t\t}\n\t};\n}\n/** Repair sequence if behind. */\nasync function repairSequence(cwd, accessor) {\n\tconst seq = await readSequence(cwd, accessor);\n\tconst maxId = getMaxIdFromTasks(await loadAllTasks(cwd, accessor));\n\tconst oldCounter = seq?.counter ?? 0;\n\tif (!seq) {\n\t\tconst initialized = {\n\t\t\tcounter: maxId,\n\t\t\tlastId: `T${maxId}`,\n\t\t\tchecksum: `seed-${Date.now()}`\n\t\t};\n\t\tawait writeSequenceToDb(initialized, cwd, accessor);\n\t\treturn {\n\t\t\trepaired: true,\n\t\t\tcounter: initialized.counter,\n\t\t\toldCounter,\n\t\t\tnewCounter: initialized.counter,\n\t\t\tmessage: `Sequence initialized at ${initialized.counter}`\n\t\t};\n\t}\n\tif (oldCounter >= maxId) return {\n\t\trepaired: false,\n\t\tmessage: \"Sequence already valid\",\n\t\tcounter: oldCounter,\n\t\toldCounter,\n\t\tnewCounter: oldCounter\n\t};\n\tconst newCounter = maxId;\n\tawait writeSequenceToDb({\n\t\tcounter: newCounter,\n\t\tlastId: `T${newCounter}`,\n\t\tchecksum: `repair-${Date.now()}`\n\t}, cwd, accessor);\n\treturn {\n\t\trepaired: true,\n\t\tcounter: newCounter,\n\t\toldCounter,\n\t\tnewCounter,\n\t\tmessage: `Sequence repaired: ${oldCounter} -> ${newCounter}`\n\t};\n}\n/** Maximum retries for allocateNextTaskId when collision detected. */\nvar MAX_ALLOC_RETRIES = 3;\n/**\n* Atomically allocate the next task ID via SQLite.\n*\n* Uses a SAVEPOINT (instead of BEGIN IMMEDIATE) so that this function\n* can be called from within an outer transaction without causing\n* \"cannot start a transaction within a transaction\" errors (T9814).\n*\n* SQLite SAVEPOINTs nest correctly:\n* - Called outside a transaction: the SAVEPOINT implicitly begins one.\n* - Called inside a transaction (e.g., addBatchTasks outer tx):\n* the SAVEPOINT creates a logical checkpoint within the outer tx.\n* RELEASE commits the savepoint; ROLLBACK TO reverts only to it.\n*\n* Falls back to repair+retry if the sequence counter is behind\n* the actual max task ID (e.g., stale counter from installations\n* that never incremented it).\n*\n* @task T5184\n* @task T9814 — SAVEPOINT for nestability inside batch-insert outer transaction\n*/\nasync function allocateNextTaskId(cwd, retryCount = 0) {\n\tconst { getDb, getNativeDb } = await import(\"./sqlite2.js\");\n\tawait getDb(cwd);\n\tconst nativeDb = getNativeDb(cwd);\n\tif (!nativeDb) throw new CleoError(ExitCode.FILE_ERROR, \"Native database not available for atomic ID allocation\");\n\tconst spName = `_cleo_seq_alloc_${Date.now()}_${retryCount}`;\n\tnativeDb.prepare(`SAVEPOINT ${spName}`).run();\n\ttry {\n\t\tnativeDb.prepare(`\n UPDATE schema_meta\n SET value = json_set(value,\n '$.counter', json_extract(value, '$.counter') + 1,\n '$.lastId', 'T' || printf('%03d', json_extract(value, '$.counter') + 1),\n '$.checksum', 'alloc-' || strftime('%s','now')\n )\n WHERE key = 'task_id_sequence'\n `).run();\n\t\tconst row = nativeDb.prepare(`\n SELECT json_extract(value, '$.counter') AS counter\n FROM schema_meta WHERE key = 'task_id_sequence'\n `).get();\n\t\tif (!row) throw new CleoError(ExitCode.FILE_ERROR, \"Sequence counter not found after increment\");\n\t\tconst newId = `T${String(row.counter).padStart(3, \"0\")}`;\n\t\tif (nativeDb.prepare(\"SELECT id FROM tasks_tasks WHERE id = ?\").get(newId)) {\n\t\t\tnativeDb.prepare(`ROLLBACK TO SAVEPOINT ${spName}`).run();\n\t\t\tnativeDb.prepare(`RELEASE SAVEPOINT ${spName}`).run();\n\t\t\tif (retryCount >= MAX_ALLOC_RETRIES) throw new CleoError(ExitCode.ID_COLLISION, `Failed to allocate unique task ID after ${MAX_ALLOC_RETRIES} retries (last attempted: ${newId})`);\n\t\t\tawait repairSequence(cwd);\n\t\t\treturn allocateNextTaskId(cwd, retryCount + 1);\n\t\t}\n\t\tnativeDb.prepare(`RELEASE SAVEPOINT ${spName}`).run();\n\t\treturn newId;\n\t} catch (err) {\n\t\ttry {\n\t\t\tnativeDb.prepare(`ROLLBACK TO SAVEPOINT ${spName}`).run();\n\t\t\tnativeDb.prepare(`RELEASE SAVEPOINT ${spName}`).run();\n\t\t} catch {}\n\t\tthrow err;\n\t}\n}\n//#endregion\nexport { checkSequence as n, repairSequence as r, allocateNextTaskId as t };\n","import \"node:fs\";\nimport { join } from \"node:path\";\n//#region ../core/dist/store/checkpoint-git-dir.js\n/**\n* Directory name of the isolated checkpoint repository inside `.cleo/`.\n*\n* Deliberately NOT `.git` — see the module docs.\n*/\nvar CHECKPOINT_GIT_DIRNAME = \"checkpoint.git\";\n/**\n* Absolute path to the checkpoint repository's git directory.\n*\n* @param cleoDir - absolute path to the project's `.cleo/` directory.\n* @returns absolute path to the checkpoint git dir.\n*\n* @example\n* ```ts\n* const gitDir = checkpointGitDir('/repo/.cleo'); // → /repo/.cleo/checkpoint.git\n* ```\n*\n* @task T12079\n*/\nfunction checkpointGitDir(cleoDir) {\n\treturn join(cleoDir, CHECKPOINT_GIT_DIRNAME);\n}\n//#endregion\nexport { checkpointGitDir as t };\n","import { t as getLogger } from \"./logger.js\";\nimport { c as getConfigPath, i as getCleoDir } from \"./paths.js\";\nimport \"./tasks-schema.js\";\nimport { d as vacuumIntoBackup } from \"./sqlite.js\";\nimport { t as readJson } from \"./json.js\";\nimport { t as checkpointGitDir } from \"./checkpoint-git-dir.js\";\nimport { n as checkSequence, r as repairSequence } from \"./sequence.js\";\nimport { existsSync } from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport { execFile } from \"node:child_process\";\nimport { readFile, writeFile } from \"node:fs/promises\";\nimport \"drizzle-orm\";\nimport { promisify } from \"node:util\";\n//#region ../core/dist/store/git-checkpoint.js\n/**\n* Git checkpoint system for CLEO state files.\n* Ported from lib/data/git-checkpoint.sh\n*\n* Opt-in automatic git commits of .cleo/ state files at semantic\n* boundaries (save_json, session end) with debounce to prevent commit noise.\n* All git errors are suppressed - checkpointing is never fatal.\n*\n* @task T4552\n* @task T4872\n* @epic T4545\n*/\nvar execFileAsync = promisify(execFile);\n/**\n* Build environment variables that point git at the isolated .cleo/.git repo.\n* @task T4872\n*/\nfunction makeCleoGitEnv(cleoDir) {\n\tconst abs = resolve(cleoDir);\n\treturn {\n\t\t...process.env,\n\t\tGIT_DIR: checkpointGitDir(abs),\n\t\tGIT_WORK_TREE: abs\n\t};\n}\n/**\n* Run a git command against the isolated .cleo/.git repo, suppressing errors.\n* @task T4872\n*/\nasync function cleoGitCommand(args, cleoDir) {\n\ttry {\n\t\treturn {\n\t\t\tstdout: (await execFileAsync(\"git\", args, {\n\t\t\t\tcwd: resolve(cleoDir),\n\t\t\t\tenv: makeCleoGitEnv(cleoDir),\n\t\t\t\ttimeout: 1e4\n\t\t\t})).stdout.trim(),\n\t\t\tsuccess: true\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tstdout: \"\",\n\t\t\tsuccess: false\n\t\t};\n\t}\n}\n/**\n* Check whether the isolated .cleo/.git repo has been initialized.\n* @task T4872\n*/\nfunction isCleoGitInitialized(cleoDir) {\n\treturn existsSync(join(checkpointGitDir(cleoDir), \"HEAD\"));\n}\n/**\n* Core state files and directories eligible for checkpointing (relative to .cleo/).\n*\n* Only human-editable JSON config files (per ADR-006) and documentation\n* output directories. All operational data lives in tasks.db (SQLite).\n* tasks.db is excluded from git — backed up via VACUUM INTO rotation instead.\n*\n* Directory entries (trailing slash) are passed directly to git; git handles\n* them recursively for add/diff/ls-files operations.\n*\n* Users can add custom entries via config.json `checkpoint.stateFileAllowlist`.\n*/\nvar STATE_FILES = [\n\t\"config.json\",\n\t\"project-info.json\",\n\t\"project-context.json\",\n\t\"adrs/\",\n\t\"agent-outputs/\"\n];\n/**\n* Load additional state file paths from config.json `checkpoint.stateFileAllowlist`.\n* Returns an empty array if config is missing, malformed, or the key is absent.\n*/\nasync function loadStateFileAllowlist(cwd) {\n\ttry {\n\t\tconst allowlist = ((await readJson(getConfigPath(cwd)))?.checkpoint)?.stateFileAllowlist;\n\t\tif (!Array.isArray(allowlist)) return [];\n\t\treturn allowlist.filter((entry) => typeof entry === \"string\");\n\t} catch {\n\t\treturn [];\n\t}\n}\n/**\n* Get the full list of state files: core defaults merged with config allowlist.\n*/\nasync function getAllStateFiles(cwd) {\n\tconst custom = await loadStateFileAllowlist(cwd);\n\tconst all = [...STATE_FILES, ...custom];\n\treturn [...new Set(all)];\n}\n/** Debounce state file name (relative to .cleo/). */\nvar CHECKPOINT_STATE_FILE = \".git-checkpoint-state\";\n/**\n* Load checkpoint configuration from config.json.\n* @task T4552\n*/\nasync function loadCheckpointConfig(cwd) {\n\ttry {\n\t\tconst gc = (await readJson(getConfigPath(cwd)))?.gitCheckpoint;\n\t\treturn {\n\t\t\tenabled: gc?.enabled !== false,\n\t\t\tdebounceMinutes: typeof gc?.debounceMinutes === \"number\" ? gc.debounceMinutes : 5,\n\t\t\tmessagePrefix: typeof gc?.messagePrefix === \"string\" ? gc.messagePrefix : \"chore(cleo):\",\n\t\t\tnoVerify: gc?.noVerify !== false\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\tenabled: true,\n\t\t\tdebounceMinutes: 5,\n\t\t\tmessagePrefix: \"chore(cleo):\",\n\t\t\tnoVerify: true\n\t\t};\n\t}\n}\n/**\n* Check if the isolated .cleo/.git repo is a valid git work tree.\n* @task T4552\n* @task T4872\n*/\nasync function isCleoGitRepo(cleoDir) {\n\tconst result = await cleoGitCommand([\"rev-parse\", \"--is-inside-work-tree\"], cleoDir);\n\treturn result.success && (result.stdout === \"true\" || isCleoGitInitialized(cleoDir));\n}\n/**\n* Check if a merge is in progress in the .cleo/.git repo.\n* @task T4552\n* @task T4872\n*/\nfunction isMergeInProgress(cleoDir) {\n\treturn existsSync(join(checkpointGitDir(cleoDir), \"MERGE_HEAD\"));\n}\n/**\n* Check if HEAD is detached in the .cleo/.git repo.\n* @task T4552\n* @task T4872\n*/\nasync function isDetachedHead(cleoDir) {\n\treturn !(await cleoGitCommand([\"symbolic-ref\", \"HEAD\"], cleoDir)).success;\n}\n/**\n* Check if a rebase is in progress in the .cleo/.git repo.\n* @task T4552\n* @task T4872\n*/\nfunction isRebaseInProgress(cleoDir) {\n\treturn existsSync(join(checkpointGitDir(cleoDir), \"rebase-merge\")) || existsSync(join(checkpointGitDir(cleoDir), \"rebase-apply\"));\n}\n/**\n* Record the current time as the last checkpoint time.\n* @task T4552\n*/\nasync function recordCheckpointTime(cleoDir) {\n\ttry {\n\t\tawait writeFile(join(cleoDir, CHECKPOINT_STATE_FILE), String(Math.floor(Date.now() / 1e3)));\n\t} catch {}\n}\n/**\n* Get the epoch time of the last checkpoint.\n* @task T4552\n*/\nasync function getLastCheckpointTime(cleoDir) {\n\ttry {\n\t\tconst content = await readFile(join(cleoDir, CHECKPOINT_STATE_FILE), \"utf-8\");\n\t\tconst epoch = parseInt(content.trim(), 10);\n\t\treturn Number.isNaN(epoch) ? 0 : epoch;\n\t} catch {\n\t\treturn 0;\n\t}\n}\n/**\n* Get list of state files with pending changes in the .cleo/.git repo.\n* Paths are relative to cleoDir (the git work tree).\n* @task T4552\n* @task T4872\n*/\nasync function getChangedStateFiles(cleoDir, cwd) {\n\tconst changed = [];\n\tconst allStateFiles = await getAllStateFiles(cwd);\n\tfor (const stateFile of allStateFiles) {\n\t\tif (!existsSync(join(cleoDir, stateFile))) continue;\n\t\tconst diffResult = await cleoGitCommand([\n\t\t\t\"diff\",\n\t\t\t\"--quiet\",\n\t\t\t\"--\",\n\t\t\tstateFile\n\t\t], cleoDir);\n\t\tconst cachedResult = await cleoGitCommand([\n\t\t\t\"diff\",\n\t\t\t\"--cached\",\n\t\t\t\"--quiet\",\n\t\t\t\"--\",\n\t\t\tstateFile\n\t\t], cleoDir);\n\t\tconst untrackedResult = await cleoGitCommand([\n\t\t\t\"ls-files\",\n\t\t\t\"--others\",\n\t\t\t\"--exclude-standard\",\n\t\t\t\"--\",\n\t\t\tstateFile\n\t\t], cleoDir);\n\t\tif (!diffResult.success || !cachedResult.success) changed.push({\n\t\t\tpath: stateFile,\n\t\t\tstatus: \"modified\"\n\t\t});\n\t\telse if (untrackedResult.stdout.length > 0) changed.push({\n\t\t\tpath: stateFile,\n\t\t\tstatus: \"untracked\"\n\t\t});\n\t}\n\treturn changed;\n}\n/**\n* Check whether a checkpoint should be performed.\n* Evaluates: enabled, .cleo/.git initialized, debounce elapsed, files changed.\n* @task T4552\n* @task T4872\n*/\nasync function shouldCheckpoint(options) {\n\tconst force = options?.force ?? false;\n\tconst cwd = options?.cwd;\n\tif (process.env[\"GIT_CHECKPOINT_SUPPRESS\"] === \"true\") return false;\n\tconst config = await loadCheckpointConfig(cwd);\n\tif (!config.enabled) return false;\n\tconst cleoDir = getCleoDir(cwd);\n\tif (!existsSync(cleoDir)) return false;\n\tif (!isCleoGitInitialized(cleoDir)) return false;\n\tif (!await isCleoGitRepo(cleoDir)) return false;\n\tif (isMergeInProgress(cleoDir)) return false;\n\tif (await isDetachedHead(cleoDir)) return false;\n\tif (isRebaseInProgress(cleoDir)) return false;\n\tif (!force) {\n\t\tconst lastCheckpoint = await getLastCheckpointTime(cleoDir);\n\t\tif (Math.floor(Date.now() / 1e3) - lastCheckpoint < config.debounceMinutes * 60) return false;\n\t}\n\treturn (await getChangedStateFiles(cleoDir, cwd)).length > 0;\n}\n/**\n* Stage .cleo/ state files and commit to the isolated .cleo/.git repo.\n* Never fatal - all git errors are suppressed.\n* @task T4552\n* @task T4872\n*/\nasync function gitCheckpoint(trigger = \"auto\", context, cwd) {\n\tif (process.env[\"GIT_CHECKPOINT_SUPPRESS\"] === \"true\") return;\n\tif (!await shouldCheckpoint({\n\t\tforce: trigger === \"manual\",\n\t\tcwd\n\t})) return;\n\tconst config = await loadCheckpointConfig(cwd);\n\tconst cleoDir = getCleoDir(cwd);\n\tconst changed = await getChangedStateFiles(cleoDir, cwd);\n\tif (changed.length === 0) return;\n\tlet stagedCount = 0;\n\tfor (const file of changed) if ((await cleoGitCommand([\"add\", file.path], cleoDir)).success) stagedCount++;\n\tif (stagedCount === 0) return;\n\tlet commitMsg = `${config.messagePrefix} ${trigger} checkpoint`;\n\tif (context) commitMsg = `${config.messagePrefix} ${trigger} checkpoint (${context})`;\n\tconst commitArgs = [\n\t\t\"commit\",\n\t\t\"-m\",\n\t\tcommitMsg\n\t];\n\tif (config.noVerify) commitArgs.push(\"--no-verify\");\n\tcommitArgs.push(\"--\", ...changed.map((f) => f.path));\n\tif (!(await cleoGitCommand(commitArgs, cleoDir)).success) {\n\t\tfor (const file of changed) await cleoGitCommand([\n\t\t\t\"reset\",\n\t\t\t\"HEAD\",\n\t\t\t\"--\",\n\t\t\tfile.path\n\t\t], cleoDir);\n\t\treturn;\n\t}\n\tawait recordCheckpointTime(cleoDir);\n}\n//#endregion\n//#region ../core/dist/store/data-safety-central.js\nvar log = getLogger(\"data-safety\");\n/** Safety violation error */\nvar DataSafetyError = class extends Error {\n\tcode;\n\tcontext;\n\tconstructor(message, code, context) {\n\t\tsuper(message);\n\t\tthis.code = code;\n\t\tthis.context = context;\n\t\tthis.name = \"DataSafetyError\";\n\t}\n};\nvar DEFAULT_SAFETY = {\n\tverify: true,\n\tcheckpoint: true,\n\tvalidateSequence: true,\n\tstrict: true\n};\nvar stats = {\n\twrites: 0,\n\tverifications: 0,\n\tcheckpoints: 0,\n\terrors: 0,\n\tlastCheckpoint: null\n};\n/**\n* Verify sequence integrity before write.\n* Auto-repairs if sequence is behind database.\n*/\nasync function ensureSequenceValid(cwd, options) {\n\tif (!options?.validateSequence) return;\n\tconst check = await checkSequence(cwd);\n\tif (!check.valid) {\n\t\tlog.warn({\n\t\t\tcounter: check.counter,\n\t\t\tmaxId: check.maxIdInData\n\t\t}, \"Sequence behind, repairing\");\n\t\tconst repair = await repairSequence(cwd);\n\t\tif (!repair.repaired && options.strict) throw new DataSafetyError(`Sequence repair failed: ${repair.message}`, \"SEQUENCE_INVALID\", {\n\t\t\tcheck,\n\t\t\trepair\n\t\t});\n\t}\n}\n/**\n* Create a checkpoint after successful write.\n* Non-blocking - failures are logged but don't fail the operation.\n*/\nasync function checkpoint(context, cwd, options) {\n\tif (!options?.checkpoint) return;\n\ttry {\n\t\tawait gitCheckpoint(\"auto\", context, cwd);\n\t\tstats.checkpoints++;\n\t\tstats.lastCheckpoint = /* @__PURE__ */ new Date();\n\t} catch (err) {\n\t\tlog.warn({ err }, \"Checkpoint failed (non-fatal)\");\n\t}\n\tvacuumIntoBackup({ cwd }).catch(() => {});\n}\n/**\n* Verify sessions were written correctly.\n*/\nasync function verifySessions(data, accessor, options) {\n\tif (!options?.verify) return;\n\tstats.verifications++;\n\tconst readBack = await accessor.loadSessions();\n\tif (readBack.length !== data.length) throw new DataSafetyError(`Sessions verification failed: count mismatch. Expected ${data.length}, got ${readBack.length}`, \"VERIFICATION_FAILED\", {\n\t\texpected: data.length,\n\t\tactual: readBack.length\n\t});\n}\n/**\n* Verify ArchiveFile was written correctly.\n*/\nasync function verifyArchiveFile(data, accessor, options) {\n\tif (!options?.verify) return;\n\tstats.verifications++;\n\tconst readBack = await accessor.loadArchive();\n\tif (!readBack) throw new DataSafetyError(\"ArchiveFile verification failed: file not found after write\", \"VERIFICATION_FAILED\");\n\tif (readBack.archivedTasks.length !== data.archivedTasks.length) throw new DataSafetyError(`ArchiveFile verification failed: count mismatch. Expected ${data.archivedTasks.length}, got ${readBack.archivedTasks.length}`, \"VERIFICATION_FAILED\", {\n\t\texpected: data.archivedTasks.length,\n\t\tactual: readBack.archivedTasks.length\n\t});\n}\n/**\n* Safe wrapper for DataAccessor.saveSessions()\n*/\nasync function safeSaveSessions(accessor, data, cwd, options) {\n\tconst opts = {\n\t\t...DEFAULT_SAFETY,\n\t\t...options\n\t};\n\tawait accessor.saveSessions(data);\n\tstats.writes++;\n\tawait verifySessions(data, accessor, opts);\n\tawait checkpoint(`saved Sessions (${data.length} sessions)`, cwd, opts);\n}\n/**\n* Safe wrapper for DataAccessor.saveArchive()\n*/\nasync function safeSaveArchive(accessor, data, cwd, options) {\n\tconst opts = {\n\t\t...DEFAULT_SAFETY,\n\t\t...options\n\t};\n\tawait accessor.saveArchive(data);\n\tstats.writes++;\n\tawait verifyArchiveFile(data, accessor, opts);\n\tawait checkpoint(`saved Archive (${data.archivedTasks.length} tasks)`, cwd, opts);\n}\n/**\n* Safe wrapper for single-task write operations (T5034).\n*\n* Performs:\n* 1. Sequence validation\n* 2. Write operation (caller-provided function)\n* 3. Git checkpoint\n*\n* Verification is lightweight — no full-file read-back. The write\n* itself is a targeted SQL operation that either succeeds or throws.\n*/\nasync function safeSingleTaskWrite(_accessor, taskId, writeFn, cwd, options) {\n\tconst opts = {\n\t\t...DEFAULT_SAFETY,\n\t\t...options\n\t};\n\tawait ensureSequenceValid(cwd, opts);\n\tawait writeFn();\n\tstats.writes++;\n\tawait checkpoint(`single-task ${taskId}`, cwd, opts);\n}\n/**\n* Safe wrapper for DataAccessor.appendLog()\n*\n* Note: Log appends are fire-and-forget (no verification)\n* but we still checkpoint to ensure data is committed.\n*/\nasync function safeAppendLog(accessor, entry, cwd, options) {\n\tconst opts = {\n\t\t...DEFAULT_SAFETY,\n\t\t...options,\n\t\tverify: false\n\t};\n\tawait accessor.appendLog(entry);\n\tstats.writes++;\n\tawait checkpoint(\"log entry\", cwd, opts);\n}\n//#endregion\nexport { gitCheckpoint as a, safeSingleTaskWrite as i, safeSaveArchive as n, isCleoGitInitialized as o, safeSaveSessions as r, safeAppendLog as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decisions-CmVXV2-H.js","sources":["../../../.svelte-kit/adapter-node/chunks/decisions.js"],"sourcesContent":["import { d as CANONICAL_TYPE_TAGS, f as TaxonomyError, p as TaxonomyRegistry, qn as DecisionValidatorFailedError } from \"./dist2.js\";\nimport { a as getDb } from \"./sqlite.js\";\nimport { n as getBrainAccessor } from \"./memory-accessor2.js\";\nimport { i as taskExistsInTasksDb } from \"./cross-db-cleanup.js\";\nimport { r as upsertGraphNode, t as addGraphEdge } from \"./graph-auto-populate2.js\";\nimport { n as computeDecisionQuality } from \"./quality-scoring.js\";\nimport { n as supersedeMemory, t as detectSupersession } from \"./temporal-supersession.js\";\nimport { createHash } from \"node:crypto\";\n//#region ../core/dist/memory/decision-cross-link.js\n/**\n* Decision cross-link module for CLEO BRAIN.\n*\n* Extracts file paths and symbol names referenced in a decision's text and\n* rationale, then creates `affects` edges from the decision graph node to\n* matching `file` / `symbol` nodes in brain_page_nodes. This implements\n* the cross-substrate edge described in\n* docs/plans/brain-synaptic-visualization-research.md §3.2.\n*\n* All database operations are best-effort — they never throw or block the\n* caller. Nodes for referenced files / symbols are upserted on demand so\n* the graph remains consistent even when the target has not yet been\n* independently indexed.\n*\n* @task T626\n* @epic T626\n*/\n/**\n* Regex patterns used to locate file paths and symbol names inside text.\n*\n* File-path pattern — matches:\n* - Relative paths: `src/store/memory-schema.ts`\n* - Absolute paths: `/mnt/projects/cleocode/packages/core/src/…`\n* - Extension-gated: only `.ts`, `.tsx`, `.js`, `.jsx`, `.rs`, `.json`\n*\n* Symbol pattern — matches:\n* - PascalCase class/interface names: `BrainPageNodes`\n* - camelCase function names at word boundaries: `upsertGraphNode`\n* - snake_case identifiers: `brain_page_edges`\n*\n* Overlapping matches are deduplicated by nodeId before edge creation.\n*/\nvar FILE_PATH_RE = /(?:^|[\\s`\"'([\\]{,])((\\/[\\w.\\-/]+|[\\w.-]+(?:\\/[\\w.-]+)+)\\.(ts|tsx|js|jsx|rs|json))(?=$|[\\s`\"')[\\]{,])/gm;\nvar SYMBOL_RE = /(?<![`\"'/\\w.])(?:[A-Z][a-zA-Z0-9]{2,}|[a-z][a-zA-Z0-9]*(?:[A-Z][a-zA-Z0-9]*)+|[a-z][a-z0-9]*(?:_[a-z][a-z0-9]*){2,})(?![`\"'/\\w])/g;\n/**\n* Extract file-path and symbol references from free-form text.\n*\n* Symbols shorter than 4 characters or matching common English stop-words\n* are filtered to reduce noise.\n*\n* @param text - Decision text and/or rationale to scan.\n* @returns Deduplicated array of extracted references.\n*/\nfunction extractReferencedSymbols(text) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst refs = [];\n\tfor (const match of text.matchAll(FILE_PATH_RE)) {\n\t\tconst raw = match[1];\n\t\tif (!raw) continue;\n\t\tconst nodeId = `file:${raw}`;\n\t\tif (seen.has(nodeId)) continue;\n\t\tseen.add(nodeId);\n\t\trefs.push({\n\t\t\traw,\n\t\t\tnodeId,\n\t\t\tnodeType: \"file\",\n\t\t\tlabel: raw\n\t\t});\n\t}\n\tfor (const match of text.matchAll(SYMBOL_RE)) {\n\t\tconst raw = match[0];\n\t\tif (!raw || raw.length < 4) continue;\n\t\tif (SYMBOL_STOP_WORDS.has(raw.toLowerCase())) continue;\n\t\tconst nodeId = `symbol:${raw}`;\n\t\tif (seen.has(nodeId)) continue;\n\t\tseen.add(nodeId);\n\t\trefs.push({\n\t\t\traw,\n\t\t\tnodeId,\n\t\t\tnodeType: \"symbol\",\n\t\t\tlabel: raw\n\t\t});\n\t}\n\treturn refs;\n}\n/**\n* Common English / technical words that look like camelCase or PascalCase\n* symbols but carry no meaningful code reference. Filtered out to keep the\n* extracted reference set signal-rich.\n*/\nvar SYMBOL_STOP_WORDS = new Set([\n\t\"this\",\n\t\"that\",\n\t\"with\",\n\t\"from\",\n\t\"into\",\n\t\"when\",\n\t\"then\",\n\t\"also\",\n\t\"both\",\n\t\"each\",\n\t\"such\",\n\t\"over\",\n\t\"after\",\n\t\"before\",\n\t\"always\",\n\t\"never\",\n\t\"should\",\n\t\"must\",\n\t\"will\",\n\t\"would\",\n\t\"could\",\n\t\"have\",\n\t\"been\",\n\t\"there\",\n\t\"their\",\n\t\"they\",\n\t\"them\",\n\t\"these\",\n\t\"those\",\n\t\"some\",\n\t\"only\",\n\t\"just\",\n\t\"more\",\n\t\"most\",\n\t\"many\",\n\t\"much\",\n\t\"well\",\n\t\"very\",\n\t\"here\",\n\t\"where\",\n\t\"which\",\n\t\"what\",\n\t\"why\",\n\t\"how\",\n\t\"the\",\n\t\"and\",\n\t\"but\",\n\t\"for\",\n\t\"not\",\n\t\"are\",\n\t\"was\",\n\t\"were\",\n\t\"has\",\n\t\"had\",\n\t\"its\",\n\t\"the\",\n\t\"data\",\n\t\"true\",\n\t\"false\",\n\t\"null\",\n\t\"none\",\n\t\"type\",\n\t\"test\",\n\t\"spec\",\n\t\"todo\",\n\t\"fixme\",\n\t\"note\",\n\t\"example\",\n\t\"index\",\n\t\"config\",\n\t\"error\",\n\t\"value\",\n\t\"input\",\n\t\"output\",\n\t\"result\",\n\t\"return\",\n\t\"default\",\n\t\"source\",\n\t\"target\",\n\t\"import\",\n\t\"export\",\n\t\"class\",\n\t\"interface\",\n\t\"function\",\n\t\"const\",\n\t\"async\",\n\t\"await\"\n]);\n/**\n* Create `affects` edges from a decision graph node to every referenced\n* file / symbol node.\n*\n* For each reference:\n* 1. Upsert the target node (file or symbol) so the graph stays consistent.\n* 2. Insert an `applies_to` edge from `decision:<id>` to the target node.\n*\n* All writes are best-effort via {@link upsertGraphNode} and\n* {@link addGraphEdge} — failures are swallowed internally.\n*\n* @param projectRoot - Absolute path to the project root directory.\n* @param decisionId - The decision ID (e.g. `D001`).\n* @param refs - Extracted references returned by {@link extractReferencedSymbols}.\n*/\nasync function linkDecisionToTargets(projectRoot, decisionId, refs) {\n\tconst fromId = `decision:${decisionId}`;\n\tconst writes = refs.map(async (ref) => {\n\t\tawait upsertGraphNode(projectRoot, ref.nodeId, ref.nodeType, ref.label, .5, ref.raw);\n\t\tawait addGraphEdge(projectRoot, fromId, ref.nodeId, \"applies_to\", 1, \"auto:decision-cross-link\");\n\t});\n\tawait Promise.allSettled(writes);\n}\n/**\n* Extract file/symbol references from a decision and create `applies_to`\n* edges in the brain graph. Combines {@link extractReferencedSymbols} and\n* {@link linkDecisionToTargets} in one call.\n*\n* This is the function wired into {@link storeDecision} after a new decision\n* is saved. It is always fire-and-forget: the caller should NOT await it\n* when used inside the decision write path.\n*\n* @param projectRoot - Absolute path to the project root directory.\n* @param decisionId - The saved decision ID (e.g. `D001`).\n* @param decisionText - Full decision text.\n* @param rationale - Full rationale text.\n*/\nasync function autoCrossLinkDecision(projectRoot, decisionId, decisionText, rationale) {\n\ttry {\n\t\tconst refs = extractReferencedSymbols(`${decisionText} ${rationale}`);\n\t\tif (refs.length === 0) return;\n\t\tawait linkDecisionToTargets(projectRoot, decisionId, refs);\n\t} catch {}\n}\n//#endregion\n//#region ../core/dist/memory/decisions.js\n/**\n* Decision Memory module for CLEO BRAIN.\n* Uses brain.db via BrainDataAccessor for persistent storage.\n*\n* Provides functions to store, recall, search, and update decisions\n* with sequential ID generation (D001, D002, ...).\n*\n* @task T5155\n* @epic T5149\n*/\n/** Default confidence threshold for the ADR decision validator. */\nvar DEFAULT_VALIDATOR_CONFIDENCE_THRESHOLD = .7;\n/**\n* Read the configured confidence threshold for ADR decision validation.\n*\n* Checks `.cleo/config.json` key `decisions.validatorConfidenceThreshold`.\n* Falls back to {@link DEFAULT_VALIDATOR_CONFIDENCE_THRESHOLD} (0.7) when the\n* key is absent or the file is unreadable.\n*\n* @param projectRoot - Absolute project root directory.\n* @returns Configured threshold in [0.0, 1.0].\n*\n* @task T1828\n*/\nasync function resolveValidatorThreshold(projectRoot) {\n\ttry {\n\t\tconst { getRawConfigValue } = await import(\"./config2.js\");\n\t\tconst raw = await getRawConfigValue(\"decisions.validatorConfidenceThreshold\", projectRoot);\n\t\tif (typeof raw === \"number\" && raw >= 0 && raw <= 1) return raw;\n\t} catch {}\n\treturn DEFAULT_VALIDATOR_CONFIDENCE_THRESHOLD;\n}\n/**\n* Validate a candidate decision for collision, contradiction, and supersession-\n* graph integrity using the dialectic LLM evaluator.\n*\n* ## Scope\n*\n* Only runs for ADR-typed writes (where `adrPath` is provided on the params).\n* Non-ADR writes skip validation entirely.\n*\n* ## Env skip\n*\n* When `process.env.CLEO_ENV === 'test'`, returns a synthetic passing result\n* (`confidence: 1.0`, empty violation arrays) immediately so that unit test\n* suites that do not want to make real LLM calls are not affected.\n*\n* ## LLM call\n*\n* Uses `evaluateDialectic()` from `dialectic-evaluator.ts` (cold tier,\n* `claude-sonnet-4-6`). The \"user message\" describes the candidate decision;\n* the \"system response\" summarises existing decisions to provide contradiction\n* context. The LLM is prompted to identify conflicts and assign a confidence\n* score.\n*\n* When no LLM backend is available, the function returns `confidence: 1.0` so\n* that writes are never silently blocked due to infrastructure absence.\n*\n* ## Rejection\n*\n* If `confidence < threshold` (default 0.7, configurable via\n* `decisions.validatorConfidenceThreshold` in `.cleo/config.json`),\n* the caller MUST throw {@link DecisionValidatorFailedError}.\n*\n* @param params - The store params for the candidate decision.\n* @param existingDecisions - Snapshot of existing decisions for conflict checking.\n* @returns Validation result with conflict lists and overall confidence.\n*\n* @task T1828\n*/\nasync function validateDecisionConflicts(params, existingDecisions) {\n\tconst PASS = {\n\t\tcollisions: [],\n\t\tcontradictions: [],\n\t\tsupersession_graph_violations: [],\n\t\tconfidence: 1\n\t};\n\tif (process.env[\"CLEO_ENV\"] === \"test\") return PASS;\n\tif (!params.adrPath) return PASS;\n\tconst collisions = [];\n\tconst contradictions = [];\n\tconst supersessionViolations = [];\n\tconst candidateLower = (params.decision.trim() + \" \" + params.rationale.trim()).toLowerCase();\n\tfor (const existing of existingDecisions) {\n\t\tconst existingLower = (existing.decision.trim() + \" \" + existing.rationale.trim()).toLowerCase();\n\t\tconst cTokens = new Set(candidateLower.match(/\\b\\w{4,}\\b/g) ?? []);\n\t\tconst eTokens = new Set(existingLower.match(/\\b\\w{4,}\\b/g) ?? []);\n\t\tconst intersection = [...cTokens].filter((t) => eTokens.has(t)).length;\n\t\tconst union = new Set([...cTokens, ...eTokens]).size;\n\t\tif ((union > 0 ? intersection / union : 0) >= .65) collisions.push(existing.id);\n\t}\n\tif (params.supersedes) {\n\t\tconst target = existingDecisions.find((d) => d.id === params.supersedes);\n\t\tif (!target) supersessionViolations.push(`supersedes:${params.supersedes}:not-found`);\n\t\telse if (target.supersedes) supersessionViolations.push(`supersedes:${params.supersedes}:already-superseded-by:${target.supersedes}`);\n\t}\n\tlet llmConfidence = 1;\n\ttry {\n\t\tconst { evaluateDialectic } = await import(\"./dialectic-evaluator2.js\");\n\t\tconst existingSummary = existingDecisions.length === 0 ? \"No existing decisions in the database.\" : existingDecisions.slice(0, 20).map((d) => `[${d.id}] ${d.decision}: ${d.rationale}`).join(\"\\n\");\n\t\tconst contradictionInsights = (await evaluateDialectic({\n\t\t\tuserMessage: `Candidate ADR decision for conflict checking:\\nType: ${params.type}\\nDecision: ${params.decision}\\nRationale: ${params.rationale}\\n` + (params.adrPath ? `ADR path: ${params.adrPath}\\n` : \"\") + (collisions.length > 0 ? `\\nPossible near-duplicates detected: ${collisions.join(\", \")}\\n` : \"\"),\n\t\t\tsystemResponse: `Existing architectural decisions in the system:\\n${existingSummary}\\n\\nTask: Identify whether the candidate decision contradicts any existing decisions. Assign a confidence score where 1.0 = no conflicts and 0.0 = severe contradiction.`,\n\t\t\tactivePeerId: \"decision-validator\",\n\t\t\tsessionId: `validate:${createHash(\"sha256\").update(params.decision).digest(\"hex\").slice(0, 8)}`\n\t\t})).peerInsights.filter((i) => i.key.includes(\"contradict\") || i.key.includes(\"conflict\") || i.key.includes(\"collision\"));\n\t\tif (contradictionInsights.length > 0) for (const insight of contradictionInsights) {\n\t\t\tconst ids = insight.value.match(/\\bD\\d{3,}\\b/g) ?? [];\n\t\t\tfor (const id of ids) if (!contradictions.includes(id)) contradictions.push(id);\n\t\t\tllmConfidence = Math.min(llmConfidence, insight.confidence);\n\t\t}\n\t\tif (contradictionInsights.length === 0) llmConfidence = Math.max(0, 1 - collisions.length * .15);\n\t} catch {\n\t\tllmConfidence = 1;\n\t}\n\tconst supersessionPenalty = supersessionViolations.length * .3;\n\treturn {\n\t\tcollisions,\n\t\tcontradictions,\n\t\tsupersession_graph_violations: supersessionViolations,\n\t\tconfidence: Math.max(0, llmConfidence - supersessionPenalty)\n\t};\n}\n/**\n* Maximum number of `INSERT` re-attempts when a sequential decision ID\n* collides with a row written by a concurrent agent (T11552).\n*\n* The bound is deliberately generous: a real collision is resolved on the\n* first retry (the loser re-reads the now-higher `MAX(id)` and advances), and\n* the only way to exhaust this budget is dozens of agents racing the same\n* insert in the same instant — at which point surfacing the error is correct\n* (we never silently drop the decision).\n*/\nvar DECISION_ID_INSERT_MAX_RETRIES = 16;\n/**\n* Detect whether an error is a SQLite UNIQUE / PRIMARY-KEY constraint failure\n* on `brain_decisions.id` (T11552).\n*\n* node:sqlite raises a generic `Error` (`code: 'ERR_SQLITE_ERROR'`,\n* `errcode: 1555` = `SQLITE_CONSTRAINT_PRIMARYKEY`) whose message is\n* `\"UNIQUE constraint failed: brain_decisions.id\"`. We match on both the\n* numeric errcode and the message so the detector survives driver phrasing\n* changes.\n*\n* @param err - The thrown error to classify.\n* @returns `true` when the error is an id-uniqueness collision.\n*\n* @task T11552\n*/\nfunction isDecisionIdCollision(err) {\n\tif (!(err instanceof Error)) return false;\n\tconst errcode = err.errcode;\n\tif (errcode === 1555 || errcode === 2067) return /brain_decisions\\.id/.test(err.message);\n\treturn /UNIQUE constraint failed/i.test(err.message) && /brain_decisions\\.id/.test(err.message);\n}\n/**\n* Store a new decision or update an existing one if a duplicate is found.\n* Duplicate detection: same decision text (case-insensitive).\n*\n* @task T5155\n*/\nasync function storeDecision(projectRoot, params) {\n\tif (!params.decision?.trim()) throw new Error(\"Decision text is required\");\n\tif (!params.rationale?.trim()) throw new Error(\"Rationale is required\");\n\tif (params.type) {\n\t\tconst invalid = TaxonomyRegistry.default.validate([params.type]);\n\t\tif (invalid.length > 0) throw new TaxonomyError(`Invalid decision type '${params.type}'. Valid types: ${CANONICAL_TYPE_TAGS.join(\", \")}. Use 'cleo taxonomy list --axis type' to see all valid type tags.`, invalid);\n\t}\n\tif (!params._skipGate && params.adrPath) {\n\t\tconst existing = await (await getBrainAccessor(projectRoot)).findDecisions({});\n\t\tconst validationResult = await validateDecisionConflicts({\n\t\t\tdecision: params.decision,\n\t\t\trationale: params.rationale,\n\t\t\ttype: params.type,\n\t\t\tadrPath: params.adrPath,\n\t\t\tsupersedes: params.supersedes\n\t\t}, existing.map((d) => ({\n\t\t\tid: d.id,\n\t\t\tdecision: d.decision,\n\t\t\trationale: d.rationale,\n\t\t\tsupersedes: d.supersedes\n\t\t})));\n\t\tconst threshold = await resolveValidatorThreshold(projectRoot);\n\t\tif (validationResult.confidence < threshold) {\n\t\t\tconst violations = [\n\t\t\t\t...validationResult.collisions.map((id) => `collision:${id}`),\n\t\t\t\t...validationResult.contradictions.map((id) => `contradiction:${id}`),\n\t\t\t\t...validationResult.supersession_graph_violations\n\t\t\t];\n\t\t\tthrow new DecisionValidatorFailedError(params.decision.trim().slice(0, 120), validationResult.confidence, violations);\n\t\t}\n\t}\n\tif (!params._skipGate) {\n\t\tconst { verifyCandidate } = await import(\"./extraction-gate.js\");\n\t\tconst numericConf = params.confidence === \"high\" ? .85 : params.confidence === \"medium\" ? .65 : .45;\n\t\tconst gateResult = await verifyCandidate(projectRoot, {\n\t\t\ttext: (params.decision.trim() + \"\\n\" + params.rationale.trim()).toLowerCase(),\n\t\t\ttitle: params.decision.trim().slice(0, 120),\n\t\t\tmemoryType: \"semantic\",\n\t\t\ttier: \"medium\",\n\t\t\tconfidence: numericConf,\n\t\t\tsource: \"manual\",\n\t\t\tsourceConfidence: \"owner\",\n\t\t\ttrusted: true\n\t\t});\n\t\tif (gateResult.action !== \"stored\") {\n\t\t\tconst existing = gateResult.id ? await (await getBrainAccessor(projectRoot)).getDecision(gateResult.id).catch(() => null) : null;\n\t\t\tif (existing) return existing;\n\t\t}\n\t}\n\tconst accessor = await getBrainAccessor(projectRoot);\n\tconst duplicate = (await accessor.findDecisions({ type: params.type })).find((d) => d.decision.toLowerCase() === params.decision.toLowerCase());\n\tif (duplicate) {\n\t\tconst now = (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19);\n\t\tawait accessor.updateDecision(duplicate.id, {\n\t\t\trationale: params.rationale.trim(),\n\t\t\tconfidence: params.confidence,\n\t\t\toutcome: params.outcome ?? duplicate.outcome,\n\t\t\talternativesJson: params.alternatives ? JSON.stringify(params.alternatives) : duplicate.alternativesJson,\n\t\t\tupdatedAt: now\n\t\t});\n\t\tconst updated = await accessor.getDecision(duplicate.id);\n\t\tconst updatedQuality = computeDecisionQuality({\n\t\t\tconfidence: params.confidence,\n\t\t\trationale: params.rationale.trim(),\n\t\t\tcontextTaskId: params.contextTaskId ?? null\n\t\t});\n\t\tupsertGraphNode(projectRoot, `decision:${duplicate.id}`, \"decision\", params.decision.trim().substring(0, 200), updatedQuality, params.decision.trim() + params.rationale.trim(), {\n\t\t\ttype: params.type,\n\t\t\tconfidence: params.confidence\n\t\t}).catch(() => {});\n\t\treturn updated;\n\t}\n\tlet validEpicId = params.contextEpicId;\n\tlet validTaskId = params.contextTaskId;\n\tif (validEpicId || validTaskId) {\n\t\tconst tasksDb = await getDb(projectRoot);\n\t\tif (validEpicId && !await taskExistsInTasksDb(validEpicId, tasksDb)) validEpicId = void 0;\n\t\tif (validTaskId && !await taskExistsInTasksDb(validTaskId, tasksDb)) validTaskId = void 0;\n\t}\n\tconst memoryTier = \"medium\";\n\tconst memoryType = \"semantic\";\n\tconst sourceConfidence = \"owner\";\n\tconst verified = true;\n\tconst qualityScore = computeDecisionQuality({\n\t\tconfidence: params.confidence,\n\t\trationale: params.rationale.trim(),\n\t\tcontextTaskId: validTaskId ?? null,\n\t\tsourceConfidence,\n\t\tmemoryTier\n\t});\n\tconst contentHashValue = createHash(\"sha256\").update((params.decision.trim() + \"\\n\" + params.rationale.trim()).toLowerCase()).digest(\"hex\").slice(0, 16);\n\tconst row = {\n\t\tid: \"D000\",\n\t\ttype: params.type,\n\t\tdecision: params.decision.trim(),\n\t\trationale: params.rationale.trim(),\n\t\tconfidence: params.confidence,\n\t\toutcome: params.outcome,\n\t\talternativesJson: params.alternatives ? JSON.stringify(params.alternatives) : void 0,\n\t\tcontextEpicId: validEpicId,\n\t\tcontextTaskId: validTaskId,\n\t\tcontextPhase: params.contextPhase,\n\t\tqualityScore,\n\t\tmemoryTier,\n\t\tmemoryType,\n\t\tsourceConfidence,\n\t\tverified,\n\t\tcontentHash: contentHashValue,\n\t\tadrPath: params.adrPath,\n\t\tsupersedes: params.supersedes,\n\t\tconfirmationState: params.confirmationState,\n\t\tdecidedBy: params.decidedBy\n\t};\n\tlet saved;\n\tlet lastCollision;\n\tfor (let attempt = 0; attempt < DECISION_ID_INSERT_MAX_RETRIES; attempt++) try {\n\t\tsaved = await accessor.addDecisionWithSequentialId(row);\n\t\tbreak;\n\t} catch (err) {\n\t\tif (isDecisionIdCollision(err)) {\n\t\t\tlastCollision = err;\n\t\t\tcontinue;\n\t\t}\n\t\tthrow err;\n\t}\n\tif (!saved) throw new Error(`Failed to allocate a unique brain_decisions.id after ${DECISION_ID_INSERT_MAX_RETRIES} attempts under concurrent writes` + (lastCollision instanceof Error ? `: ${lastCollision.message}` : \"\"));\n\ttry {\n\t\tawait upsertGraphNode(projectRoot, `decision:${saved.id}`, \"decision\", saved.decision.substring(0, 200), qualityScore, saved.decision + saved.rationale, {\n\t\t\ttype: saved.type,\n\t\t\tconfidence: saved.confidence\n\t\t});\n\t\tif (validTaskId) {\n\t\t\tawait upsertGraphNode(projectRoot, `task:${validTaskId}`, \"task\", validTaskId, 1, \"\");\n\t\t\tawait addGraphEdge(projectRoot, `decision:${saved.id}`, `task:${validTaskId}`, \"applies_to\", 1, \"auto:store-decision\");\n\t\t}\n\t\tif (validEpicId) {\n\t\t\tawait upsertGraphNode(projectRoot, `epic:${validEpicId}`, \"epic\", validEpicId, 1, \"\");\n\t\t\tawait addGraphEdge(projectRoot, `decision:${saved.id}`, `epic:${validEpicId}`, \"applies_to\", 1, \"auto:store-decision\");\n\t\t}\n\t\tautoCrossLinkDecision(projectRoot, saved.id, saved.decision, saved.rationale).catch(() => {});\n\t} catch {}\n\tdetectSupersession(projectRoot, {\n\t\tid: saved.id,\n\t\ttext: saved.decision + \" \" + saved.rationale,\n\t\tcreatedAt: saved.createdAt ?? (/* @__PURE__ */ new Date()).toISOString().replace(\"T\", \" \").slice(0, 19)\n\t}).then((candidates) => {\n\t\tfor (const candidate of candidates) supersedeMemory(projectRoot, candidate.existingId, saved.id, \"auto:decision-supersedes — high overlap detected at store time\").catch(() => {});\n\t}).catch(() => {});\n\treturn saved;\n}\n/**\n* Search decisions by type, confidence, outcome, and/or free-text query.\n* Query searches across decision + rationale fields using LIKE.\n*\n* @task T5155\n*/\nasync function searchDecisions(projectRoot, params = {}) {\n\tlet results = await (await getBrainAccessor(projectRoot)).findDecisions({\n\t\ttype: params.type,\n\t\tconfidence: params.confidence,\n\t\toutcome: params.outcome ?? void 0,\n\t\tlimit: params.query ? void 0 : params.limit\n\t});\n\tif (params.query) {\n\t\tconst q = params.query.toLowerCase();\n\t\tresults = results.filter((d) => d.decision.toLowerCase().includes(q) || d.rationale.toLowerCase().includes(q));\n\t}\n\tif (params.limit && params.limit > 0) results = results.slice(0, params.limit);\n\treturn results;\n}\n/**\n* List decisions with pagination.\n*\n* @task T5155\n*/\nasync function listDecisions(projectRoot, params = {}) {\n\tconst all = await (await getBrainAccessor(projectRoot)).findDecisions({});\n\tconst total = all.length;\n\tconst offset = params.offset ?? 0;\n\tconst limit = params.limit ?? 50;\n\treturn {\n\t\tdecisions: all.slice(offset, offset + limit),\n\t\ttotal\n\t};\n}\n//#endregion\nexport { validateDecisionConflicts as i, searchDecisions as n, storeDecision as r, listDecisions as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decisions2-XQsSYdxa.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"depends-waiver-audit-CUmlBYHx.js","sources":["../../../.svelte-kit/adapter-node/chunks/depends-waiver-audit.js"],"sourcesContent":["import { u as getProjectRoot } from \"./paths.js\";\nimport { join } from \"node:path\";\nimport { appendFile, mkdir } from \"node:fs/promises\";\n//#region ../core/dist/tasks/depends-waiver-audit.js\n/**\n* Depends-waiver audit trail.\n*\n* Records waiver entries to `.cleo/audit/depends-waiver.jsonl` when a caller\n* completes a task whose own work is done but whose `depends` edges point at\n* tasks that are not yet in a terminal state, by supplying\n* `--waive-depends \"<reason>\"` to bypass the `E_CLEO_DEPENDENCY` gate.\n*\n* Pattern mirrors `cancelled-child-waiver-audit.ts` (T10538) and\n* `premature-close-audit.ts` (T1632) — one JSONL file per audit concern,\n* created on demand, appended atomically.\n*\n* @task T11954 — DHQ-071: complete hard-blocks on stale/over-specified depends\n* @epic T11679\n*/\n/**\n* Append a depends-waiver entry to the audit file.\n*\n* Creates `.cleo/audit/` if it does not exist and atomically appends a\n* single-line JSON record to `.cleo/audit/depends-waiver.jsonl`.\n*\n* @param entry - The audit entry to append.\n* @param projectRoot - Absolute path to the project root (defaults to `getProjectRoot()`).\n*/\nasync function appendDependsWaiverAudit(entry, projectRoot) {\n\tconst auditDir = join(projectRoot ?? getProjectRoot(), \".cleo\", \"audit\");\n\tawait mkdir(auditDir, { recursive: true });\n\tawait appendFile(join(auditDir, \"depends-waiver.jsonl\"), `${JSON.stringify(entry)}\\n`, { encoding: \"utf8\" });\n}\n//#endregion\nexport { appendDependsWaiverAudit };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE;AAC5D,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,cAAc,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC;AACzE,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC7G;;;;"}
|