@remnic/core 10.0.13 → 10.0.15
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/abstraction-nodes.js +3 -2
- package/dist/access-admin-ops-surface.js +96 -92
- package/dist/access-authorization-probe.js +97 -93
- package/dist/access-boundary.js +96 -92
- package/dist/access-cli.js +203 -198
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.js +96 -92
- package/dist/access-http-briefing.js +97 -93
- package/dist/access-http-query.js +98 -94
- package/dist/access-http.js +121 -117
- package/dist/access-idempotency.js +3 -2
- package/dist/access-identity-continuity-surface.js +96 -92
- package/dist/access-lcm-surface.js +96 -92
- package/dist/access-mcp.js +110 -106
- package/dist/access-namespace-preflight.js +96 -92
- package/dist/access-observe-write-category.js +18 -17
- package/dist/access-observe-write-surface.js +96 -92
- package/dist/access-offline-manifest.js +17 -15
- package/dist/access-operations-batch.js +101 -97
- package/dist/access-operations.js +108 -104
- package/dist/access-recall-concurrency.js +96 -92
- package/dist/access-recall-diagnostics.js +2 -2
- package/dist/access-recall-response.js +96 -92
- package/dist/access-recall-surface.js +96 -92
- package/dist/access-schema.d.ts +2 -2
- package/dist/access-schema.js +13 -12
- package/dist/access-service.js +96 -92
- package/dist/access-surface-catalog.js +98 -94
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/active-recall.js +43 -39
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-DGJOZYGT.js → auto-sync-7WWAKW6F.js} +8 -8
- package/dist/briefing.js +32 -28
- package/dist/buffer.js +13 -13
- package/dist/calibration.d.ts.map +1 -1
- package/dist/calibration.js +6 -3
- package/dist/calibration.js.map +1 -1
- package/dist/{capsule-merge-M4HETD27.js → capsule-merge-LGYURS3C.js} +6 -5
- package/dist/{capsule-merge-M4HETD27.js.map → capsule-merge-LGYURS3C.js.map} +1 -1
- package/dist/capture-write-lock-backoff.d.ts +50 -0
- package/dist/capture-write-lock-backoff.d.ts.map +1 -0
- package/dist/capture-write-lock-backoff.js +30 -0
- package/dist/capture-write-lock.d.ts +6 -0
- package/dist/capture-write-lock.d.ts.map +1 -0
- package/dist/capture-write-lock.js +15 -0
- package/dist/causal-behavior.js +4 -3
- package/dist/causal-behavior.js.map +1 -1
- package/dist/causal-chain.js +4 -3
- package/dist/causal-consolidation.js +36 -32
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +4 -3
- package/dist/causal-retrieval.js.map +1 -1
- package/dist/causal-trajectory-graph.js +7 -6
- package/dist/causal-trajectory-graph.js.map +1 -1
- package/dist/causal-trajectory.js +3 -2
- package/dist/{chunk-KZO43HPY.js → chunk-22RM2ZUJ.js} +112 -112
- package/dist/{chunk-ZUMXY4KA.js → chunk-22W2XWGH.js} +3 -3
- package/dist/{chunk-MZBWIJJN.js → chunk-23ZQPP2G.js} +24 -19
- package/dist/chunk-23ZQPP2G.js.map +1 -0
- package/dist/{chunk-PCWXLAJY.js → chunk-2PTH4PRL.js} +2 -2
- package/dist/{chunk-ZIZ2G47N.js → chunk-2PYHLSXK.js} +2 -2
- package/dist/{chunk-B6O2YLUR.js → chunk-2Z5DIDQD.js} +6 -1
- package/dist/chunk-2Z5DIDQD.js.map +1 -0
- package/dist/{chunk-7OAIOE5P.js → chunk-33G67YZF.js} +2 -2
- package/dist/{chunk-AV2OQF2O.js → chunk-3F3HA3R2.js} +2 -2
- package/dist/{chunk-RP5SJ3XR.js → chunk-3GNIJUUE.js} +2 -2
- package/dist/{chunk-QZZPUREO.js → chunk-3GYSZHMT.js} +3 -3
- package/dist/{chunk-QWWMS4AE.js → chunk-3MO4LWYU.js} +1 -1
- package/dist/chunk-3MO4LWYU.js.map +1 -0
- package/dist/{chunk-SWIKABKI.js → chunk-3Q3XD3NO.js} +2 -2
- package/dist/{chunk-AL6EHLB5.js → chunk-3X3PNU3T.js} +2 -2
- package/dist/{chunk-BTJ6CAIA.js → chunk-4IYIGN53.js} +10 -10
- package/dist/{chunk-BZTRPCCH.js → chunk-4PDTVVSW.js} +2 -2
- package/dist/{chunk-HM7RHKS4.js → chunk-4RNBLLZR.js} +2 -2
- package/dist/{chunk-Y3VDGK2O.js → chunk-4SCZZ3U7.js} +282 -84
- package/dist/chunk-4SCZZ3U7.js.map +1 -0
- package/dist/{chunk-JUWJYXI4.js → chunk-5ATSXCAG.js} +4 -4
- package/dist/{chunk-EHRE7ZG3.js → chunk-5B5WYAHQ.js} +2 -2
- package/dist/{chunk-WCGJK4NQ.js → chunk-5FNZ3G6X.js} +10 -10
- package/dist/{chunk-Y6DZ33PA.js → chunk-5GX5457J.js} +4 -4
- package/dist/{chunk-EMFBC7L3.js → chunk-5KGYTX5O.js} +2 -2
- package/dist/{chunk-OFCHT2TN.js → chunk-5LRV557D.js} +2 -2
- package/dist/{chunk-DXHVD4DS.js → chunk-5SMR542T.js} +3 -3
- package/dist/{chunk-S7LWX2PQ.js → chunk-655FVTCD.js} +2 -2
- package/dist/{chunk-DGRMWDQY.js → chunk-66BCOVW2.js} +7 -7
- package/dist/chunk-6EDW54SQ.js +298 -0
- package/dist/chunk-6EDW54SQ.js.map +1 -0
- package/dist/{chunk-5MDM7UE4.js → chunk-6WGMZQGG.js} +2 -2
- package/dist/chunk-77R7BQZ2.js +152 -0
- package/dist/chunk-77R7BQZ2.js.map +1 -0
- package/dist/{chunk-IPLYGWQF.js → chunk-7LCGFUMB.js} +6 -6
- package/dist/{chunk-5ZJYHOJT.js → chunk-7VQ6AI7H.js} +8 -8
- package/dist/{chunk-KYY4EACB.js → chunk-7Z3DLNSD.js} +2 -2
- package/dist/{chunk-LNH76ZJX.js → chunk-AIYXVWUH.js} +27 -2
- package/dist/{chunk-LNH76ZJX.js.map → chunk-AIYXVWUH.js.map} +1 -1
- package/dist/{chunk-G7NYVKD6.js → chunk-B2NXOVZN.js} +2 -2
- package/dist/{chunk-B43NMCGQ.js → chunk-BK2BVLZW.js} +2 -2
- package/dist/{chunk-QJ622LTI.js → chunk-BQOGQULP.js} +30 -8
- package/dist/chunk-BQOGQULP.js.map +1 -0
- package/dist/{chunk-BOOFTFFE.js → chunk-C2RW36YR.js} +2 -2
- package/dist/{chunk-XERVJYH2.js → chunk-C6JMGAMO.js} +7 -3
- package/dist/chunk-C6JMGAMO.js.map +1 -0
- package/dist/{chunk-5JMI26Q7.js → chunk-CBH2Z4UA.js} +2 -2
- package/dist/{chunk-P2S6P7X6.js → chunk-CFZ4SXXH.js} +2 -2
- package/dist/{chunk-YRH3C2OJ.js → chunk-CIIHIAJ2.js} +13 -5
- package/dist/chunk-CIIHIAJ2.js.map +1 -0
- package/dist/{chunk-6M56RFFJ.js → chunk-CJRENHVZ.js} +3 -3
- package/dist/{chunk-EGDYVYU7.js → chunk-CLWBFR7Q.js} +3 -3
- package/dist/{chunk-375ARKRS.js → chunk-D5SSBCYY.js} +70 -59
- package/dist/chunk-D5SSBCYY.js.map +1 -0
- package/dist/{chunk-KI6UOSNR.js → chunk-DEY7B77Y.js} +2 -2
- package/dist/chunk-DEY7B77Y.js.map +1 -0
- package/dist/{chunk-6VAHJ2F6.js → chunk-DMDWFQMR.js} +2 -2
- package/dist/{chunk-BLVHDY2U.js → chunk-DOWACHYO.js} +5 -2
- package/dist/chunk-DOWACHYO.js.map +1 -0
- package/dist/{chunk-UZSBCQEC.js → chunk-DPSOFK4D.js} +2 -2
- package/dist/{chunk-IZT3BVDW.js → chunk-DQR2LD3V.js} +2 -2
- package/dist/{chunk-K4QY55XV.js → chunk-EH4BQ7LT.js} +2 -2
- package/dist/chunk-EHHQJTAU.js +131 -0
- package/dist/chunk-EHHQJTAU.js.map +1 -0
- package/dist/{chunk-EBA5DA77.js → chunk-EOU6V4IN.js} +2 -2
- package/dist/{chunk-GD7BWGIB.js → chunk-EU6IRUCY.js} +6 -4
- package/dist/{chunk-GD7BWGIB.js.map → chunk-EU6IRUCY.js.map} +1 -1
- package/dist/{chunk-7KYJNHGM.js → chunk-EUCYTCFP.js} +2 -2
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-CKUUP64O.js → chunk-F2772ATT.js} +2 -2
- package/dist/{chunk-46EST7JO.js → chunk-F2XNSIPP.js} +2 -2
- package/dist/{chunk-2KRNPFPK.js → chunk-FLI6DEIU.js} +2 -2
- package/dist/{chunk-OAIWPB2I.js → chunk-FT4UQYOV.js} +2 -2
- package/dist/{chunk-HYNEDMYJ.js → chunk-G2OYFTUD.js} +2 -2
- package/dist/{chunk-XTN54NML.js → chunk-G3T6YMBO.js} +4 -4
- package/dist/{chunk-CNG2XVZG.js → chunk-G3UUAQOD.js} +2 -2
- package/dist/{chunk-2ZQJLBV6.js → chunk-GCVDFX66.js} +4 -4
- package/dist/{chunk-ON4ILX3G.js → chunk-GFAM2LTC.js} +2 -2
- package/dist/{chunk-2LUSQV4U.js → chunk-GKJJNO7C.js} +2 -2
- package/dist/{chunk-T2YX56QI.js → chunk-GQJKVQJR.js} +2 -2
- package/dist/{chunk-5AOAQR37.js → chunk-GWVNGDJW.js} +3 -3
- package/dist/{chunk-YDH2FSDI.js → chunk-GZXXPCWJ.js} +3 -3
- package/dist/{chunk-5JCLELOP.js → chunk-H5IUN433.js} +2 -2
- package/dist/{chunk-IWHEJXR2.js → chunk-H6FREOYX.js} +8 -8
- package/dist/{chunk-B7CANWCA.js → chunk-HBAOOSHU.js} +2 -2
- package/dist/{chunk-Q4E24IRR.js → chunk-HDN7IVIO.js} +14 -11
- package/dist/chunk-HDN7IVIO.js.map +1 -0
- package/dist/{chunk-T3FMRLWQ.js → chunk-HFSPY26A.js} +2 -2
- package/dist/{chunk-B657ZGDH.js → chunk-HQSK2INQ.js} +2 -2
- package/dist/{chunk-RT6D3WN7.js → chunk-IJMDBYCO.js} +2 -2
- package/dist/{chunk-CS2JEHTB.js → chunk-IUCPLBDS.js} +9 -9
- package/dist/{chunk-XRBHXUTQ.js → chunk-IWD33CF4.js} +6 -6
- package/dist/{chunk-4IHBN6WU.js → chunk-JKMIGCK6.js} +2 -2
- package/dist/{chunk-YYO447A7.js → chunk-JNIVZNIB.js} +41 -253
- package/dist/chunk-JNIVZNIB.js.map +1 -0
- package/dist/{chunk-ROBHL3GL.js → chunk-JWX2Q6HS.js} +2 -2
- package/dist/{chunk-3I3U6FFT.js → chunk-K7BN34IA.js} +2 -2
- package/dist/{chunk-4O6WRBGE.js → chunk-KJXP6RUG.js} +5 -1
- package/dist/chunk-KJXP6RUG.js.map +1 -0
- package/dist/{chunk-4THZGKQ2.js → chunk-KLJVTZ3R.js} +3 -3
- package/dist/{chunk-4G4B3Z2B.js → chunk-KW4AJ7T3.js} +2 -2
- package/dist/{chunk-HT2C4EXO.js → chunk-L5VCT7LU.js} +8 -4
- package/dist/chunk-L5VCT7LU.js.map +1 -0
- package/dist/{chunk-ZI7LMSNI.js → chunk-LLHZZOIB.js} +2 -2
- package/dist/{chunk-LS2FHUML.js → chunk-LQ5SS4OP.js} +3 -3
- package/dist/{chunk-NSFOERZQ.js → chunk-LWFWZTWX.js} +3 -3
- package/dist/{chunk-BMWN7B3Y.js → chunk-LXATZLSC.js} +3 -3
- package/dist/{chunk-OYKQ6T4V.js → chunk-MATDGSJ7.js} +2 -2
- package/dist/{chunk-3NFN4Y4P.js → chunk-MGCKZWAE.js} +5 -5
- package/dist/{chunk-O4KYRDRT.js → chunk-MJIOGYKX.js} +2 -2
- package/dist/{chunk-6OMUHXHP.js → chunk-ML7ZJAKJ.js} +2 -2
- package/dist/{chunk-GKIXBH7Y.js → chunk-MO6N4QYY.js} +4 -4
- package/dist/{chunk-A2E4WNW4.js → chunk-MWWAQXZ6.js} +2 -2
- package/dist/{chunk-VYPFEVOM.js → chunk-NHUX6GXA.js} +6 -6
- package/dist/{chunk-AKREOU5F.js → chunk-NZCKG25S.js} +2 -2
- package/dist/{chunk-4NDWE44P.js → chunk-NZFFGO5O.js} +2 -2
- package/dist/{chunk-WWSRLS4M.js → chunk-O2YPCFJT.js} +17 -17
- package/dist/{chunk-ZSJGYC3C.js → chunk-OQJKY3Z5.js} +2 -2
- package/dist/{chunk-U7VPOXVM.js → chunk-OQR42XCN.js} +82 -78
- package/dist/chunk-OQR42XCN.js.map +1 -0
- package/dist/{chunk-OFEHITAZ.js → chunk-OXNTOHL6.js} +2 -2
- package/dist/{chunk-FQD2KPQH.js → chunk-P55FACBG.js} +2 -2
- package/dist/chunk-PGRZ3FYC.js +34 -0
- package/dist/chunk-PGRZ3FYC.js.map +1 -0
- package/dist/{chunk-JYZSRNR7.js → chunk-PIITB2YZ.js} +2 -2
- package/dist/{chunk-PBVNVKYN.js → chunk-PIN5OPBA.js} +2 -2
- package/dist/chunk-PPUNC7UX.js +73 -0
- package/dist/chunk-PPUNC7UX.js.map +1 -0
- package/dist/{chunk-EQWEIIKQ.js → chunk-PQM3B54K.js} +6 -1
- package/dist/chunk-PQM3B54K.js.map +1 -0
- package/dist/{chunk-4TTGRETU.js → chunk-PRU7OF3Y.js} +5 -5
- package/dist/{chunk-K2FSASGZ.js → chunk-PVHQSLNN.js} +7 -7
- package/dist/{chunk-SVDU4OHO.js → chunk-Q35L7TYB.js} +2 -2
- package/dist/{chunk-5VC7J76U.js → chunk-QPH52AZB.js} +2 -2
- package/dist/{chunk-6T42L5FI.js → chunk-QS3OLP5I.js} +2 -2
- package/dist/{chunk-P34FDDB5.js → chunk-QSEUUQUF.js} +2 -2
- package/dist/chunk-QUIRIG2P.js +31 -0
- package/dist/chunk-QUIRIG2P.js.map +1 -0
- package/dist/{chunk-PAAJWQH5.js → chunk-QUMKDRCF.js} +2 -2
- package/dist/{chunk-KZEMFD6E.js → chunk-R2H4ZFBJ.js} +3 -3
- package/dist/{chunk-X3VID2TT.js → chunk-RI2KCQHP.js} +7 -3
- package/dist/chunk-RI2KCQHP.js.map +1 -0
- package/dist/{chunk-JFVCDEIC.js → chunk-RP7PQWZM.js} +7 -7
- package/dist/{chunk-KC46VZR5.js → chunk-RTTPBBAN.js} +9 -9
- package/dist/{chunk-ZQ3WU6JO.js → chunk-RXFCU3CY.js} +2 -2
- package/dist/{chunk-CBP4HWCL.js → chunk-RYYVMZBR.js} +3 -3
- package/dist/{chunk-2NCBDGND.js → chunk-SA6GMZJY.js} +3 -3
- package/dist/{chunk-VFTK5WKI.js → chunk-STBX5X6B.js} +2 -2
- package/dist/{chunk-WVHRNAXL.js → chunk-SWWHIJUJ.js} +2 -2
- package/dist/{chunk-WADSXS4K.js → chunk-SX4QDWXK.js} +2 -2
- package/dist/{chunk-WETFW255.js → chunk-T7ASDYNK.js} +2 -2
- package/dist/{chunk-XZLWYZ7C.js → chunk-THEPGZBM.js} +2 -2
- package/dist/{chunk-YEM7K3KD.js → chunk-TMC7HBED.js} +6 -6
- package/dist/{chunk-RWRQ67OR.js → chunk-TPNCXSXP.js} +2 -2
- package/dist/{chunk-LZKOVXMX.js → chunk-TRMJ6BYC.js} +2 -2
- package/dist/{chunk-A6TVQ3QP.js → chunk-UGYUBENJ.js} +3 -3
- package/dist/{chunk-AAM66QCP.js → chunk-UZRSI6NX.js} +2 -2
- package/dist/{chunk-XHWJRUVP.js → chunk-V3TXIXXY.js} +3 -3
- package/dist/{chunk-2CXQZXWM.js → chunk-V4MB5ONM.js} +6 -6
- package/dist/{chunk-UOKPJFO3.js → chunk-VNZMZPAC.js} +3 -3
- package/dist/{chunk-FZB4TS2W.js → chunk-VPXIKBPX.js} +5 -5
- package/dist/{chunk-CYEK6Z3P.js → chunk-VW6VIJOS.js} +2 -2
- package/dist/{chunk-QUA7RLK6.js → chunk-W3FVQBGF.js} +2 -2
- package/dist/{chunk-6OQ6N5RP.js → chunk-WGTR573G.js} +22 -22
- package/dist/{chunk-W3K3HITK.js → chunk-WLT6LTQP.js} +2 -2
- package/dist/{chunk-6Z2AZ4AJ.js → chunk-XKRXN63M.js} +2 -2
- package/dist/{chunk-3J5JKBYD.js → chunk-XLBFX63V.js} +80 -77
- package/dist/chunk-XLBFX63V.js.map +1 -0
- package/dist/{chunk-FZVROZKC.js → chunk-XVZA6VXC.js} +4 -4
- package/dist/{chunk-DA2INEB5.js → chunk-XYGQSDTH.js} +4 -4
- package/dist/chunk-YET735EZ.js +99 -0
- package/dist/chunk-YET735EZ.js.map +1 -0
- package/dist/{chunk-RBJQYMMT.js → chunk-YRULQW5J.js} +4 -4
- package/dist/{chunk-QUNDYIYZ.js → chunk-YYEOR4XN.js} +3 -3
- package/dist/{chunk-6WHJ2EAB.js → chunk-Z64TS5V4.js} +2 -2
- package/dist/{chunk-NHLLKEKK.js → chunk-ZAJLJ35W.js} +2 -2
- package/dist/{chunk-M7V65M6H.js → chunk-ZKHSAMTE.js} +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +154 -150
- package/dist/coding/export-okf-codegraph.js +32 -28
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/coding/pre-action-gate.js +4 -3
- package/dist/commitment-ledger.js +3 -2
- package/dist/compounding/engine.js +34 -30
- package/dist/config.js +43 -39
- package/dist/connectors/codex-materialize-runner.js +32 -28
- package/dist/connectors/index.js +32 -28
- package/dist/console/trace.d.ts +5 -14
- package/dist/console/trace.d.ts.map +1 -1
- package/dist/consolidation-provenance-check.d.ts.map +1 -1
- package/dist/consolidation-provenance-check.js +8 -6
- package/dist/consolidation-undo.js +5 -4
- package/dist/consolidation-undo.js.map +1 -1
- package/dist/contradiction/index.js +9 -7
- package/dist/converge-config.d.ts +2 -0
- package/dist/converge-config.d.ts.map +1 -1
- package/dist/converge-config.js +7 -3
- package/dist/convergence-refresh.js +34 -30
- package/dist/corpus-watermark.js +34 -30
- package/dist/correction/correction-planner.d.ts.map +1 -1
- package/dist/cue-anchors.js +4 -3
- package/dist/dashboard-runtime.js +2 -2
- package/dist/deep-recall-http-glue.js +14 -13
- package/dist/deep-recall.js +2 -2
- package/dist/{dreams-ledger-567VKVOU.js → dreams-ledger-UCHHRQ4R.js} +3 -2
- package/dist/embedding-fallback.js +5 -4
- package/dist/embedding-generation-lock.js +4 -3
- package/dist/entity-retrieval.js +33 -29
- package/dist/eval-trajectory-store.js +4 -3
- package/dist/eval-trajectory.js +4 -3
- package/dist/evals.js +3 -2
- package/dist/explicit-capture.js +11 -8
- package/dist/external-wiki-access.js +97 -93
- package/dist/extraction-quote-grounding.d.ts +67 -0
- package/dist/extraction-quote-grounding.d.ts.map +1 -0
- package/dist/extraction-quote-grounding.js +27 -0
- package/dist/extraction-quote-grounding.js.map +1 -0
- package/dist/extraction-source-grounding-helpers.d.ts +8 -0
- package/dist/extraction-source-grounding-helpers.d.ts.map +1 -1
- package/dist/extraction-source-grounding-helpers.js +11 -1
- package/dist/extraction-source-grounding-rules.d.ts +3 -1
- package/dist/extraction-source-grounding-rules.d.ts.map +1 -1
- package/dist/extraction-source-grounding-rules.js +3 -2
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts.map +1 -1
- package/dist/extraction-source-grounding.js +4 -3
- package/dist/extraction-span-materialize.js +2 -2
- package/dist/extraction.js +44 -39
- package/dist/{first-start-migration-HYAMKJ6V.js → first-start-migration-QVD22WWS.js} +9 -8
- package/dist/{first-start-migration-HYAMKJ6V.js.map → first-start-migration-QVD22WWS.js.map} +1 -1
- package/dist/{forget-OHAJ6PSU.js → forget-GXBWFKRC.js} +5 -4
- package/dist/{forget-OHAJ6PSU.js.map → forget-GXBWFKRC.js.map} +1 -1
- package/dist/{graph-edge-decay-CZ3SYLM4.js → graph-edge-decay-BYPZVJT4.js} +10 -9
- package/dist/graph-edge-decay-BYPZVJT4.js.map +1 -0
- package/dist/graph-jsonl.js +8 -7
- package/dist/graph-snapshot.js +8 -7
- package/dist/graph-write-lock.js +4 -3
- package/dist/graph.js +9 -8
- package/dist/harmonic-construction.js +5 -4
- package/dist/harmonic-retrieval.js +36 -32
- package/dist/harmonic-source-lookup.js +3 -2
- package/dist/http-retry.js +2 -1
- package/dist/http-retry.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +244 -237
- package/dist/json-store.d.ts.map +1 -1
- package/dist/json-store.js +2 -1
- package/dist/lcm/engine.js +4 -4
- package/dist/lcm/index.js +12 -12
- package/dist/location/index.js +35 -31
- package/dist/maintenance/dreams-ledger.d.ts.map +1 -1
- package/dist/maintenance/memory-governance.d.ts.map +1 -1
- package/dist/maintenance/memory-governance.js +32 -28
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +32 -28
- package/dist/maintenance/rebuild-memory-projection-runner.js +34 -30
- package/dist/maintenance/rebuild-memory-projection.js +33 -29
- package/dist/memory-browse-operations.js +97 -93
- package/dist/memory-browse.js +7 -7
- package/dist/memory-subject.js +5 -4
- package/dist/namespaces/migrate.js +33 -29
- package/dist/namespaces/search.js +11 -10
- package/dist/namespaces/storage.d.ts.map +1 -1
- package/dist/namespaces/storage.js +32 -28
- package/dist/objective-state-writers.js +4 -3
- package/dist/objective-state.js +3 -2
- package/dist/offline-sync-changeset-generations.js +7 -6
- package/dist/offline-sync-embedding-generation.js +6 -5
- package/dist/offline-sync-impression-drain.js +4 -4
- package/dist/offline-sync-snapshot-stream.js +10 -9
- package/dist/offline-sync.d.ts.map +1 -1
- package/dist/offline-sync.js +11 -10
- package/dist/operator-doctor-corpus.js +35 -31
- package/dist/operator-toolkit.js +58 -54
- package/dist/orchestration/maintenance.js +44 -40
- package/dist/orchestrator.js +205 -200
- package/dist/page-versioning.js +5 -4
- package/dist/profiling.d.ts.map +1 -1
- package/dist/profiling.js +2 -1
- package/dist/qmd-daemon-session.js +2 -2
- package/dist/qmd.js +4 -4
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.js +2 -2
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-navigation-operations.js +97 -93
- package/dist/recall-navigation.js +96 -92
- package/dist/recall-state-view-admission.js +7 -7
- package/dist/recall-state.js +4 -3
- package/dist/recall-why-service.js +7 -7
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.js +4 -2
- package/dist/reconcile/cursor.js.map +1 -1
- package/dist/reconcile/manifest.js +9 -6
- package/dist/reconcile/plan.js +4 -2
- package/dist/{resolution-EKJHREVJ.js → resolution-ZU5BIAJA.js} +10 -8
- package/dist/resolution-ZU5BIAJA.js.map +1 -0
- package/dist/resume-bundles.js +48 -44
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/retrieval-agents.d.ts.map +1 -1
- package/dist/retrieval-agents.js +7 -1
- package/dist/salvage-envelope.js +7 -6
- package/dist/search/document-scanner.d.ts.map +1 -1
- package/dist/search/document-scanner.js +2 -1
- package/dist/search/factory.js +10 -9
- package/dist/search/index.js +16 -15
- package/dist/search/lancedb-backend.js +3 -2
- package/dist/search/meilisearch-backend.js +3 -2
- package/dist/search/orama-backend.js +3 -2
- package/dist/semantic-consolidation.js +37 -33
- package/dist/semantic-rule-promotion.js +32 -28
- package/dist/semantic-rule-verifier.js +32 -28
- package/dist/source-agent-qualifier.js +40 -35
- package/dist/standup/build.js +32 -28
- package/dist/storage/content-hash-index.d.ts +10 -0
- package/dist/storage/content-hash-index.d.ts.map +1 -1
- package/dist/storage/entity-canonical-id-migration.d.ts.map +1 -1
- package/dist/storage/entity-store.d.ts +32 -1
- package/dist/storage/entity-store.d.ts.map +1 -1
- package/dist/storage/memory-read-store.d.ts.map +1 -1
- package/dist/storage/supersession-audit.d.ts.map +1 -1
- package/dist/storage/tombstone-blocked-capture-index.d.ts +3 -0
- package/dist/storage/tombstone-blocked-capture-index.d.ts.map +1 -1
- package/dist/storage/tombstone-blocked-capture-mutation.d.ts +23 -3
- package/dist/storage/tombstone-blocked-capture-mutation.d.ts.map +1 -1
- package/dist/storage.d.ts +6 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +33 -29
- package/dist/subject-config.js +6 -5
- package/dist/summarizer.js +4 -4
- package/dist/summary-snapshot.js +4 -3
- package/dist/support-passport/index.js +99 -95
- package/dist/{tier-stats-RQM76XYY.js → tier-stats-C3IAMS4X.js} +6 -5
- package/dist/{tier-stats-RQM76XYY.js.map → tier-stats-C3IAMS4X.js.map} +1 -1
- package/dist/{trace-LXXCMZJA.js → trace-QBQVS5BC.js} +5 -21
- package/dist/trace-QBQVS5BC.js.map +1 -0
- package/dist/transcript.d.ts.map +1 -1
- package/dist/transcript.js +2 -1
- package/dist/transfer/autodetect.js +1 -1
- package/dist/transfer/backup.js +1 -1
- package/dist/transfer/capsule-export.js +3 -3
- package/dist/transfer/capsule-import.js +7 -6
- package/dist/transfer/export-okf.js +32 -28
- package/dist/trust-zones.js +3 -2
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-learner.js +4 -3
- package/dist/utility-runtime.js +5 -4
- package/dist/utility-telemetry.js +3 -2
- package/dist/utils/macos-replication-junk.d.ts +32 -0
- package/dist/utils/macos-replication-junk.d.ts.map +1 -0
- package/dist/utils/malformed-entity-record.d.ts +24 -0
- package/dist/utils/malformed-entity-record.d.ts.map +1 -0
- package/dist/utils/serialize-mutations.js +3 -2
- package/dist/utils/sleep.d.ts +6 -0
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/verified-recall.js +32 -28
- package/dist/who-knows-cli.js +33 -29
- package/dist/who-knows.js +32 -28
- package/dist/work-product-ledger.js +3 -2
- package/dist/write-envelope.js +6 -5
- package/package.json +22 -2
- package/src/calibration.ts +3 -2
- package/src/capture-write-lock-backoff.test.ts +534 -0
- package/src/capture-write-lock-backoff.ts +140 -0
- package/src/capture-write-lock.ts +8 -0
- package/src/cli.ts +2 -2
- package/src/console/trace.ts +5 -36
- package/src/consolidation-provenance-check.ts +2 -0
- package/src/converge-config.ts +80 -1
- package/src/correction/correction-planner.ts +3 -2
- package/src/extraction-quote-grounding.test.ts +546 -0
- package/src/extraction-quote-grounding.ts +232 -0
- package/src/extraction-source-grounding-helpers.ts +35 -0
- package/src/extraction-source-grounding-rules.ts +90 -65
- package/src/extraction-source-grounding.ts +11 -2
- package/src/index.ts +1 -1
- package/src/json-store.ts +3 -0
- package/src/macos-replication-junk-scanners.test.ts +275 -0
- package/src/maintenance/dreams-ledger.ts +2 -0
- package/src/maintenance/memory-governance.ts +2 -0
- package/src/namespaces/storage.ts +2 -0
- package/src/offline-sync-macos-junk.test.ts +169 -0
- package/src/offline-sync.ts +7 -0
- package/src/profiling.ts +2 -1
- package/src/providers/codex-subscription.test.ts +15 -3
- package/src/retrieval-agents.ts +29 -12
- package/src/search/document-scanner.ts +4 -0
- package/src/storage/content-hash-index.ts +10 -0
- package/src/storage/entity-canonical-id-migration.ts +56 -13
- package/src/storage/entity-store.ts +173 -15
- package/src/storage/memory-read-store.ts +30 -5
- package/src/storage/supersession-audit.ts +2 -0
- package/src/storage/tombstone-blocked-capture-index.ts +8 -1
- package/src/storage/tombstone-blocked-capture-mutation.ts +133 -43
- package/src/storage.ts +16 -2
- package/src/transcript.ts +11 -10
- package/src/types.ts +9 -0
- package/src/utils/macos-replication-junk.test.ts +46 -0
- package/src/utils/macos-replication-junk.ts +65 -0
- package/src/utils/malformed-entity-record.ts +101 -0
- package/src/utils/sleep.ts +28 -0
- package/dist/chunk-375ARKRS.js.map +0 -1
- package/dist/chunk-3J5JKBYD.js.map +0 -1
- package/dist/chunk-4O6WRBGE.js.map +0 -1
- package/dist/chunk-6MINUTGJ.js +0 -64
- package/dist/chunk-6MINUTGJ.js.map +0 -1
- package/dist/chunk-7LEQREP2.js +0 -9
- package/dist/chunk-7LEQREP2.js.map +0 -1
- package/dist/chunk-B6O2YLUR.js.map +0 -1
- package/dist/chunk-BLVHDY2U.js.map +0 -1
- package/dist/chunk-EQWEIIKQ.js.map +0 -1
- package/dist/chunk-HT2C4EXO.js.map +0 -1
- package/dist/chunk-KI6UOSNR.js.map +0 -1
- package/dist/chunk-MZBWIJJN.js.map +0 -1
- package/dist/chunk-Q4E24IRR.js.map +0 -1
- package/dist/chunk-QJ622LTI.js.map +0 -1
- package/dist/chunk-QWWMS4AE.js.map +0 -1
- package/dist/chunk-U7VPOXVM.js.map +0 -1
- package/dist/chunk-X3VID2TT.js.map +0 -1
- package/dist/chunk-XERVJYH2.js.map +0 -1
- package/dist/chunk-Y3VDGK2O.js.map +0 -1
- package/dist/chunk-YRH3C2OJ.js.map +0 -1
- package/dist/chunk-YYO447A7.js.map +0 -1
- package/dist/trace-LXXCMZJA.js.map +0 -1
- /package/dist/{auto-sync-DGJOZYGT.js.map → auto-sync-7WWAKW6F.js.map} +0 -0
- /package/dist/{dreams-ledger-567VKVOU.js.map → capture-write-lock-backoff.js.map} +0 -0
- /package/dist/{graph-edge-decay-CZ3SYLM4.js.map → capture-write-lock.js.map} +0 -0
- /package/dist/{chunk-KZO43HPY.js.map → chunk-22RM2ZUJ.js.map} +0 -0
- /package/dist/{chunk-ZUMXY4KA.js.map → chunk-22W2XWGH.js.map} +0 -0
- /package/dist/{chunk-PCWXLAJY.js.map → chunk-2PTH4PRL.js.map} +0 -0
- /package/dist/{chunk-ZIZ2G47N.js.map → chunk-2PYHLSXK.js.map} +0 -0
- /package/dist/{chunk-7OAIOE5P.js.map → chunk-33G67YZF.js.map} +0 -0
- /package/dist/{chunk-AV2OQF2O.js.map → chunk-3F3HA3R2.js.map} +0 -0
- /package/dist/{chunk-RP5SJ3XR.js.map → chunk-3GNIJUUE.js.map} +0 -0
- /package/dist/{chunk-QZZPUREO.js.map → chunk-3GYSZHMT.js.map} +0 -0
- /package/dist/{chunk-SWIKABKI.js.map → chunk-3Q3XD3NO.js.map} +0 -0
- /package/dist/{chunk-AL6EHLB5.js.map → chunk-3X3PNU3T.js.map} +0 -0
- /package/dist/{chunk-BTJ6CAIA.js.map → chunk-4IYIGN53.js.map} +0 -0
- /package/dist/{chunk-BZTRPCCH.js.map → chunk-4PDTVVSW.js.map} +0 -0
- /package/dist/{chunk-HM7RHKS4.js.map → chunk-4RNBLLZR.js.map} +0 -0
- /package/dist/{chunk-JUWJYXI4.js.map → chunk-5ATSXCAG.js.map} +0 -0
- /package/dist/{chunk-EHRE7ZG3.js.map → chunk-5B5WYAHQ.js.map} +0 -0
- /package/dist/{chunk-WCGJK4NQ.js.map → chunk-5FNZ3G6X.js.map} +0 -0
- /package/dist/{chunk-Y6DZ33PA.js.map → chunk-5GX5457J.js.map} +0 -0
- /package/dist/{chunk-EMFBC7L3.js.map → chunk-5KGYTX5O.js.map} +0 -0
- /package/dist/{chunk-OFCHT2TN.js.map → chunk-5LRV557D.js.map} +0 -0
- /package/dist/{chunk-DXHVD4DS.js.map → chunk-5SMR542T.js.map} +0 -0
- /package/dist/{chunk-S7LWX2PQ.js.map → chunk-655FVTCD.js.map} +0 -0
- /package/dist/{chunk-DGRMWDQY.js.map → chunk-66BCOVW2.js.map} +0 -0
- /package/dist/{chunk-5MDM7UE4.js.map → chunk-6WGMZQGG.js.map} +0 -0
- /package/dist/{chunk-IPLYGWQF.js.map → chunk-7LCGFUMB.js.map} +0 -0
- /package/dist/{chunk-5ZJYHOJT.js.map → chunk-7VQ6AI7H.js.map} +0 -0
- /package/dist/{chunk-KYY4EACB.js.map → chunk-7Z3DLNSD.js.map} +0 -0
- /package/dist/{chunk-G7NYVKD6.js.map → chunk-B2NXOVZN.js.map} +0 -0
- /package/dist/{chunk-B43NMCGQ.js.map → chunk-BK2BVLZW.js.map} +0 -0
- /package/dist/{chunk-BOOFTFFE.js.map → chunk-C2RW36YR.js.map} +0 -0
- /package/dist/{chunk-5JMI26Q7.js.map → chunk-CBH2Z4UA.js.map} +0 -0
- /package/dist/{chunk-P2S6P7X6.js.map → chunk-CFZ4SXXH.js.map} +0 -0
- /package/dist/{chunk-6M56RFFJ.js.map → chunk-CJRENHVZ.js.map} +0 -0
- /package/dist/{chunk-EGDYVYU7.js.map → chunk-CLWBFR7Q.js.map} +0 -0
- /package/dist/{chunk-6VAHJ2F6.js.map → chunk-DMDWFQMR.js.map} +0 -0
- /package/dist/{chunk-UZSBCQEC.js.map → chunk-DPSOFK4D.js.map} +0 -0
- /package/dist/{chunk-IZT3BVDW.js.map → chunk-DQR2LD3V.js.map} +0 -0
- /package/dist/{chunk-K4QY55XV.js.map → chunk-EH4BQ7LT.js.map} +0 -0
- /package/dist/{chunk-EBA5DA77.js.map → chunk-EOU6V4IN.js.map} +0 -0
- /package/dist/{chunk-7KYJNHGM.js.map → chunk-EUCYTCFP.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-CKUUP64O.js.map → chunk-F2772ATT.js.map} +0 -0
- /package/dist/{chunk-46EST7JO.js.map → chunk-F2XNSIPP.js.map} +0 -0
- /package/dist/{chunk-2KRNPFPK.js.map → chunk-FLI6DEIU.js.map} +0 -0
- /package/dist/{chunk-OAIWPB2I.js.map → chunk-FT4UQYOV.js.map} +0 -0
- /package/dist/{chunk-HYNEDMYJ.js.map → chunk-G2OYFTUD.js.map} +0 -0
- /package/dist/{chunk-XTN54NML.js.map → chunk-G3T6YMBO.js.map} +0 -0
- /package/dist/{chunk-CNG2XVZG.js.map → chunk-G3UUAQOD.js.map} +0 -0
- /package/dist/{chunk-2ZQJLBV6.js.map → chunk-GCVDFX66.js.map} +0 -0
- /package/dist/{chunk-ON4ILX3G.js.map → chunk-GFAM2LTC.js.map} +0 -0
- /package/dist/{chunk-2LUSQV4U.js.map → chunk-GKJJNO7C.js.map} +0 -0
- /package/dist/{chunk-T2YX56QI.js.map → chunk-GQJKVQJR.js.map} +0 -0
- /package/dist/{chunk-5AOAQR37.js.map → chunk-GWVNGDJW.js.map} +0 -0
- /package/dist/{chunk-YDH2FSDI.js.map → chunk-GZXXPCWJ.js.map} +0 -0
- /package/dist/{chunk-5JCLELOP.js.map → chunk-H5IUN433.js.map} +0 -0
- /package/dist/{chunk-IWHEJXR2.js.map → chunk-H6FREOYX.js.map} +0 -0
- /package/dist/{chunk-B7CANWCA.js.map → chunk-HBAOOSHU.js.map} +0 -0
- /package/dist/{chunk-T3FMRLWQ.js.map → chunk-HFSPY26A.js.map} +0 -0
- /package/dist/{chunk-B657ZGDH.js.map → chunk-HQSK2INQ.js.map} +0 -0
- /package/dist/{chunk-RT6D3WN7.js.map → chunk-IJMDBYCO.js.map} +0 -0
- /package/dist/{chunk-CS2JEHTB.js.map → chunk-IUCPLBDS.js.map} +0 -0
- /package/dist/{chunk-XRBHXUTQ.js.map → chunk-IWD33CF4.js.map} +0 -0
- /package/dist/{chunk-4IHBN6WU.js.map → chunk-JKMIGCK6.js.map} +0 -0
- /package/dist/{chunk-ROBHL3GL.js.map → chunk-JWX2Q6HS.js.map} +0 -0
- /package/dist/{chunk-3I3U6FFT.js.map → chunk-K7BN34IA.js.map} +0 -0
- /package/dist/{chunk-4THZGKQ2.js.map → chunk-KLJVTZ3R.js.map} +0 -0
- /package/dist/{chunk-4G4B3Z2B.js.map → chunk-KW4AJ7T3.js.map} +0 -0
- /package/dist/{chunk-ZI7LMSNI.js.map → chunk-LLHZZOIB.js.map} +0 -0
- /package/dist/{chunk-LS2FHUML.js.map → chunk-LQ5SS4OP.js.map} +0 -0
- /package/dist/{chunk-NSFOERZQ.js.map → chunk-LWFWZTWX.js.map} +0 -0
- /package/dist/{chunk-BMWN7B3Y.js.map → chunk-LXATZLSC.js.map} +0 -0
- /package/dist/{chunk-OYKQ6T4V.js.map → chunk-MATDGSJ7.js.map} +0 -0
- /package/dist/{chunk-3NFN4Y4P.js.map → chunk-MGCKZWAE.js.map} +0 -0
- /package/dist/{chunk-O4KYRDRT.js.map → chunk-MJIOGYKX.js.map} +0 -0
- /package/dist/{chunk-6OMUHXHP.js.map → chunk-ML7ZJAKJ.js.map} +0 -0
- /package/dist/{chunk-GKIXBH7Y.js.map → chunk-MO6N4QYY.js.map} +0 -0
- /package/dist/{chunk-A2E4WNW4.js.map → chunk-MWWAQXZ6.js.map} +0 -0
- /package/dist/{chunk-VYPFEVOM.js.map → chunk-NHUX6GXA.js.map} +0 -0
- /package/dist/{chunk-AKREOU5F.js.map → chunk-NZCKG25S.js.map} +0 -0
- /package/dist/{chunk-4NDWE44P.js.map → chunk-NZFFGO5O.js.map} +0 -0
- /package/dist/{chunk-WWSRLS4M.js.map → chunk-O2YPCFJT.js.map} +0 -0
- /package/dist/{chunk-ZSJGYC3C.js.map → chunk-OQJKY3Z5.js.map} +0 -0
- /package/dist/{chunk-OFEHITAZ.js.map → chunk-OXNTOHL6.js.map} +0 -0
- /package/dist/{chunk-FQD2KPQH.js.map → chunk-P55FACBG.js.map} +0 -0
- /package/dist/{chunk-JYZSRNR7.js.map → chunk-PIITB2YZ.js.map} +0 -0
- /package/dist/{chunk-PBVNVKYN.js.map → chunk-PIN5OPBA.js.map} +0 -0
- /package/dist/{chunk-4TTGRETU.js.map → chunk-PRU7OF3Y.js.map} +0 -0
- /package/dist/{chunk-K2FSASGZ.js.map → chunk-PVHQSLNN.js.map} +0 -0
- /package/dist/{chunk-SVDU4OHO.js.map → chunk-Q35L7TYB.js.map} +0 -0
- /package/dist/{chunk-5VC7J76U.js.map → chunk-QPH52AZB.js.map} +0 -0
- /package/dist/{chunk-6T42L5FI.js.map → chunk-QS3OLP5I.js.map} +0 -0
- /package/dist/{chunk-P34FDDB5.js.map → chunk-QSEUUQUF.js.map} +0 -0
- /package/dist/{chunk-PAAJWQH5.js.map → chunk-QUMKDRCF.js.map} +0 -0
- /package/dist/{chunk-KZEMFD6E.js.map → chunk-R2H4ZFBJ.js.map} +0 -0
- /package/dist/{chunk-JFVCDEIC.js.map → chunk-RP7PQWZM.js.map} +0 -0
- /package/dist/{chunk-KC46VZR5.js.map → chunk-RTTPBBAN.js.map} +0 -0
- /package/dist/{chunk-ZQ3WU6JO.js.map → chunk-RXFCU3CY.js.map} +0 -0
- /package/dist/{chunk-CBP4HWCL.js.map → chunk-RYYVMZBR.js.map} +0 -0
- /package/dist/{chunk-2NCBDGND.js.map → chunk-SA6GMZJY.js.map} +0 -0
- /package/dist/{chunk-VFTK5WKI.js.map → chunk-STBX5X6B.js.map} +0 -0
- /package/dist/{chunk-WVHRNAXL.js.map → chunk-SWWHIJUJ.js.map} +0 -0
- /package/dist/{chunk-WADSXS4K.js.map → chunk-SX4QDWXK.js.map} +0 -0
- /package/dist/{chunk-WETFW255.js.map → chunk-T7ASDYNK.js.map} +0 -0
- /package/dist/{chunk-XZLWYZ7C.js.map → chunk-THEPGZBM.js.map} +0 -0
- /package/dist/{chunk-YEM7K3KD.js.map → chunk-TMC7HBED.js.map} +0 -0
- /package/dist/{chunk-RWRQ67OR.js.map → chunk-TPNCXSXP.js.map} +0 -0
- /package/dist/{chunk-LZKOVXMX.js.map → chunk-TRMJ6BYC.js.map} +0 -0
- /package/dist/{chunk-A6TVQ3QP.js.map → chunk-UGYUBENJ.js.map} +0 -0
- /package/dist/{chunk-AAM66QCP.js.map → chunk-UZRSI6NX.js.map} +0 -0
- /package/dist/{chunk-XHWJRUVP.js.map → chunk-V3TXIXXY.js.map} +0 -0
- /package/dist/{chunk-2CXQZXWM.js.map → chunk-V4MB5ONM.js.map} +0 -0
- /package/dist/{chunk-UOKPJFO3.js.map → chunk-VNZMZPAC.js.map} +0 -0
- /package/dist/{chunk-FZB4TS2W.js.map → chunk-VPXIKBPX.js.map} +0 -0
- /package/dist/{chunk-CYEK6Z3P.js.map → chunk-VW6VIJOS.js.map} +0 -0
- /package/dist/{chunk-QUA7RLK6.js.map → chunk-W3FVQBGF.js.map} +0 -0
- /package/dist/{chunk-6OQ6N5RP.js.map → chunk-WGTR573G.js.map} +0 -0
- /package/dist/{chunk-W3K3HITK.js.map → chunk-WLT6LTQP.js.map} +0 -0
- /package/dist/{chunk-6Z2AZ4AJ.js.map → chunk-XKRXN63M.js.map} +0 -0
- /package/dist/{chunk-FZVROZKC.js.map → chunk-XVZA6VXC.js.map} +0 -0
- /package/dist/{chunk-DA2INEB5.js.map → chunk-XYGQSDTH.js.map} +0 -0
- /package/dist/{chunk-RBJQYMMT.js.map → chunk-YRULQW5J.js.map} +0 -0
- /package/dist/{chunk-QUNDYIYZ.js.map → chunk-YYEOR4XN.js.map} +0 -0
- /package/dist/{chunk-6WHJ2EAB.js.map → chunk-Z64TS5V4.js.map} +0 -0
- /package/dist/{chunk-NHLLKEKK.js.map → chunk-ZAJLJ35W.js.map} +0 -0
- /package/dist/{chunk-M7V65M6H.js.map → chunk-ZKHSAMTE.js.map} +0 -0
- /package/dist/{resolution-EKJHREVJ.js.map → dreams-ledger-UCHHRQ4R.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-SOBJ6NEY.js";
|
|
4
4
|
import {
|
|
5
5
|
summarizeDisclosureTokens
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VW6VIJOS.js";
|
|
7
7
|
import {
|
|
8
8
|
summarizeRetrievedMemoryProvenance
|
|
9
9
|
} from "./chunk-I4WBNM3M.js";
|
|
@@ -620,4 +620,4 @@ export {
|
|
|
620
620
|
renderRecallExplain,
|
|
621
621
|
parseRecallExplainFormat
|
|
622
622
|
};
|
|
623
|
-
//# sourceMappingURL=chunk-
|
|
623
|
+
//# sourceMappingURL=chunk-OXNTOHL6.js.map
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
} from "./chunk-C7HJ3NEI.js";
|
|
27
27
|
import {
|
|
28
28
|
withHeldFileLock
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-5B5WYAHQ.js";
|
|
30
30
|
import {
|
|
31
31
|
MAGIC_HEADER_SIZE,
|
|
32
32
|
SecureStoreLockedError,
|
|
@@ -774,4 +774,4 @@ export {
|
|
|
774
774
|
drainPendingLifecycleLedgerForSync,
|
|
775
775
|
drainPendingLifecycleForSyncOrThrow
|
|
776
776
|
};
|
|
777
|
-
//# sourceMappingURL=chunk-
|
|
777
|
+
//# sourceMappingURL=chunk-P55FACBG.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {
|
|
2
|
+
abortError
|
|
3
|
+
} from "./chunk-BTTPKDIL.js";
|
|
4
|
+
|
|
5
|
+
// src/utils/sleep.ts
|
|
6
|
+
function sleep(ms) {
|
|
7
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
8
|
+
}
|
|
9
|
+
function sleepAbortable(ms, signal) {
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
|
+
if (signal?.aborted) {
|
|
12
|
+
reject(abortError("operation aborted"));
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const timer = setTimeout(() => {
|
|
16
|
+
if (signal && onAbort) signal.removeEventListener("abort", onAbort);
|
|
17
|
+
resolve();
|
|
18
|
+
}, ms);
|
|
19
|
+
let onAbort = null;
|
|
20
|
+
if (signal) {
|
|
21
|
+
onAbort = () => {
|
|
22
|
+
clearTimeout(timer);
|
|
23
|
+
reject(abortError("operation aborted"));
|
|
24
|
+
};
|
|
25
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
sleep,
|
|
32
|
+
sleepAbortable
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=chunk-PGRZ3FYC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/sleep.ts"],"sourcesContent":["/** Wait without cancellation; keep the timer referenced so awaited polling can finish. */\nexport function sleep(ms: number): Promise<void> {\n // Constructor form keeps this reachable utility compatible with ES2022 adapter type graphs.\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nimport { abortError } from \"../abort-error.js\";\n\n/**\n * Wait until `ms` elapses, or reject with `AbortError` when `signal` fires.\n * The timer is cleared on abort so a cancelled wait holds no Timeout handle.\n * Executor form: this module targets ES2022 type graphs (no withResolvers).\n */\nexport function sleepAbortable(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise((resolve, reject) => {\n if (signal?.aborted) {\n reject(abortError(\"operation aborted\"));\n return;\n }\n const timer = setTimeout(() => {\n if (signal && onAbort) signal.removeEventListener(\"abort\", onAbort);\n resolve();\n }, ms);\n let onAbort: (() => void) | null = null;\n if (signal) {\n onAbort = () => {\n clearTimeout(timer);\n reject(abortError(\"operation aborted\"));\n };\n signal.addEventListener(\"abort\", onAbort, { once: true });\n }\n });\n}\n"],"mappings":";;;;;AACO,SAAS,MAAM,IAA2B;AAE/C,SAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AACzD;AASO,SAAS,eAAe,IAAY,QAAqC;AAC9E,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,QAAI,QAAQ,SAAS;AACnB,aAAO,WAAW,mBAAmB,CAAC;AACtC;AAAA,IACF;AACA,UAAM,QAAQ,WAAW,MAAM;AAC7B,UAAI,UAAU,QAAS,QAAO,oBAAoB,SAAS,OAAO;AAClE,cAAQ;AAAA,IACV,GAAG,EAAE;AACL,QAAI,UAA+B;AACnC,QAAI,QAAQ;AACV,gBAAU,MAAM;AACd,qBAAa,KAAK;AAClB,eAAO,WAAW,mBAAmB,CAAC;AAAA,MACxC;AACA,aAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;AAAA,IAC1D;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-ULM7JCDH.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveEvalStoreDir
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-JKMIGCK6.js";
|
|
20
20
|
|
|
21
21
|
// src/eval-trajectory-store.ts
|
|
22
22
|
import { mkdir, readFile, rename, rm, writeFile } from "fs/promises";
|
|
@@ -237,4 +237,4 @@ export {
|
|
|
237
237
|
writeEvalTrajectoryReport,
|
|
238
238
|
readEvalTrajectoryReport
|
|
239
239
|
};
|
|
240
|
-
//# sourceMappingURL=chunk-
|
|
240
|
+
//# sourceMappingURL=chunk-PIITB2YZ.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-TBBDFYXW.js";
|
|
11
11
|
import {
|
|
12
12
|
parseQmdExplain
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-66BCOVW2.js";
|
|
14
14
|
import {
|
|
15
15
|
parseFlexibleIsoTimestamp
|
|
16
16
|
} from "./chunk-P7FMDTKL.js";
|
|
@@ -645,4 +645,4 @@ export {
|
|
|
645
645
|
appendMemoryToGraphContext,
|
|
646
646
|
resolvePersistedMemoryRelativePath
|
|
647
647
|
};
|
|
648
|
-
//# sourceMappingURL=chunk-
|
|
648
|
+
//# sourceMappingURL=chunk-PIN5OPBA.js.map
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// src/utils/malformed-entity-record.ts
|
|
2
|
+
function entityRecordFlags(content) {
|
|
3
|
+
const body = entityRecordBody(content);
|
|
4
|
+
let hasName = false;
|
|
5
|
+
let hasType = false;
|
|
6
|
+
let start = 0;
|
|
7
|
+
while (start <= body.length) {
|
|
8
|
+
const newline = body.indexOf("\n", start);
|
|
9
|
+
const end = newline === -1 ? body.length : newline;
|
|
10
|
+
let line = body.slice(start, end);
|
|
11
|
+
if (line.endsWith("\r")) line = line.slice(0, -1);
|
|
12
|
+
if (!hasName && line.startsWith("# ") && line.slice(2).trim().length > 0) hasName = true;
|
|
13
|
+
if (!hasType && line.startsWith("**Type:**") && line.slice("**Type:**".length).trim().length > 0) {
|
|
14
|
+
hasType = true;
|
|
15
|
+
}
|
|
16
|
+
if (hasName && hasType) return { hasName, hasType };
|
|
17
|
+
if (newline === -1) break;
|
|
18
|
+
start = newline + 1;
|
|
19
|
+
}
|
|
20
|
+
return { hasName, hasType };
|
|
21
|
+
}
|
|
22
|
+
function isUnnamedEntityRecord(content) {
|
|
23
|
+
return !entityRecordFlags(content).hasName;
|
|
24
|
+
}
|
|
25
|
+
function entityBodyHasText(content) {
|
|
26
|
+
const body = entityRecordBody(content);
|
|
27
|
+
for (let i = 0; i < body.length; i++) {
|
|
28
|
+
const char = body.charCodeAt(i);
|
|
29
|
+
if (char !== 32 && char !== 9 && char !== 10 && char !== 13) return true;
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
function isPopulatedUnnamedEntityRecord(content) {
|
|
34
|
+
return isUnnamedEntityRecord(content) && entityBodyHasText(content);
|
|
35
|
+
}
|
|
36
|
+
function isShapedUnnamedEntityRecord(content) {
|
|
37
|
+
if (!isUnnamedEntityRecord(content)) return false;
|
|
38
|
+
const body = entityRecordBody(content);
|
|
39
|
+
let start = 0;
|
|
40
|
+
while (start <= body.length) {
|
|
41
|
+
const newline = body.indexOf("\n", start);
|
|
42
|
+
const end = newline === -1 ? body.length : newline;
|
|
43
|
+
let line = body.slice(start, end);
|
|
44
|
+
if (line.endsWith("\r")) line = line.slice(0, -1);
|
|
45
|
+
if (line.startsWith("#") || line.startsWith("**Type:**")) return true;
|
|
46
|
+
if (newline === -1) break;
|
|
47
|
+
start = newline + 1;
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
function isMalformedEntityRecord(content) {
|
|
52
|
+
const flags = entityRecordFlags(content);
|
|
53
|
+
return !flags.hasName || !flags.hasType;
|
|
54
|
+
}
|
|
55
|
+
function entityRecordBody(content) {
|
|
56
|
+
const firstNewline = content.indexOf("\n");
|
|
57
|
+
if (firstNewline === -1) return content;
|
|
58
|
+
const firstLine = content.slice(0, firstNewline).endsWith("\r") ? content.slice(0, firstNewline - 1) : content.slice(0, firstNewline);
|
|
59
|
+
if (firstLine !== "---") return content;
|
|
60
|
+
const close = content.indexOf("\n---", firstNewline + 1);
|
|
61
|
+
if (close === -1) return content;
|
|
62
|
+
let rest = close + "\n---".length;
|
|
63
|
+
if (content.charAt(rest) === "\r") rest += 1;
|
|
64
|
+
if (content.charAt(rest) === "\n") rest += 1;
|
|
65
|
+
return content.slice(rest);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export {
|
|
69
|
+
isPopulatedUnnamedEntityRecord,
|
|
70
|
+
isShapedUnnamedEntityRecord,
|
|
71
|
+
isMalformedEntityRecord
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=chunk-PPUNC7UX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/malformed-entity-record.ts"],"sourcesContent":["/**\n * Heading and type flags for an entity markdown body.\n *\n * The heading rule matches `parseEntityFile`: a line must start with `# `\n * (hash, space) and the remainder must contain a name. A tab after `#`\n * is not a heading. The type rule matches a `**Type:**` line with a\n * non-empty value. A missing type line is still readable: the parser\n * defaults the type to `other`.\n */\nfunction entityRecordFlags(content: string): { hasName: boolean; hasType: boolean } {\n const body = entityRecordBody(content);\n let hasName = false;\n let hasType = false;\n let start = 0;\n while (start <= body.length) {\n const newline = body.indexOf(\"\\n\", start);\n const end = newline === -1 ? body.length : newline;\n let line = body.slice(start, end);\n if (line.endsWith(\"\\r\")) line = line.slice(0, -1);\n if (!hasName && line.startsWith(\"# \") && line.slice(2).trim().length > 0) hasName = true;\n if (!hasType && line.startsWith(\"**Type:**\") && line.slice(\"**Type:**\".length).trim().length > 0) {\n hasType = true;\n }\n if (hasName && hasType) return { hasName, hasType };\n if (newline === -1) break;\n start = newline + 1;\n }\n return { hasName, hasType };\n}\n\n/**\n * No `# ` name. A named file whose type line is absent stays readable:\n * `parseEntityFile` defaults the type to `other`.\n */\nexport function isUnnamedEntityRecord(content: string): boolean {\n return !entityRecordFlags(content).hasName;\n}\n\nfunction entityBodyHasText(content: string): boolean {\n const body = entityRecordBody(content);\n for (let i = 0; i < body.length; i++) {\n const char = body.charCodeAt(i);\n if (char !== 32 && char !== 9 && char !== 10 && char !== 13) return true;\n }\n return false;\n}\n\n/**\n * Unnamed entity body that still has text. An empty body under frontmatter\n * stays readable so a canonical filename can supply the type. A tab heading,\n * a blank `# ` heading, or prose with no name does not.\n */\nexport function isPopulatedUnnamedEntityRecord(content: string): boolean {\n return isUnnamedEntityRecord(content) && entityBodyHasText(content);\n}\n\n/**\n * Unnamed file that still looks like an entity record (`#` or `**Type:**`).\n * Direct filename recall keeps unstructured placeholders such as \"content\".\n */\nexport function isShapedUnnamedEntityRecord(content: string): boolean {\n if (!isUnnamedEntityRecord(content)) return false;\n const body = entityRecordBody(content);\n let start = 0;\n while (start <= body.length) {\n const newline = body.indexOf(\"\\n\", start);\n const end = newline === -1 ? body.length : newline;\n let line = body.slice(start, end);\n if (line.endsWith(\"\\r\")) line = line.slice(0, -1);\n if (line.startsWith(\"#\") || line.startsWith(\"**Type:**\")) return true;\n if (newline === -1) break;\n start = newline + 1;\n }\n return false;\n}\n\n/**\n * Migration gate. Canonical ids are derived from name and type, and the\n * old startup throw required an explicit `**Type:**` line. Files that\n * only have a heading stay on disk and are not renamed. Listing does not\n * use this predicate: `parseEntityFile` defaults a missing type to `other`.\n */\nexport function isMalformedEntityRecord(content: string): boolean {\n const flags = entityRecordFlags(content);\n return !flags.hasName || !flags.hasType;\n}\n\nfunction entityRecordBody(content: string): string {\n const firstNewline = content.indexOf(\"\\n\");\n if (firstNewline === -1) return content;\n const firstLine = content.slice(0, firstNewline).endsWith(\"\\r\")\n ? content.slice(0, firstNewline - 1)\n : content.slice(0, firstNewline);\n if (firstLine !== \"---\") return content;\n const close = content.indexOf(\"\\n---\", firstNewline + 1);\n if (close === -1) return content;\n let rest = close + \"\\n---\".length;\n if (content.charAt(rest) === \"\\r\") rest += 1;\n if (content.charAt(rest) === \"\\n\") rest += 1;\n return content.slice(rest);\n}\n"],"mappings":";AASA,SAAS,kBAAkB,SAAyD;AAClF,QAAM,OAAO,iBAAiB,OAAO;AACrC,MAAI,UAAU;AACd,MAAI,UAAU;AACd,MAAI,QAAQ;AACZ,SAAO,SAAS,KAAK,QAAQ;AAC3B,UAAM,UAAU,KAAK,QAAQ,MAAM,KAAK;AACxC,UAAM,MAAM,YAAY,KAAK,KAAK,SAAS;AAC3C,QAAI,OAAO,KAAK,MAAM,OAAO,GAAG;AAChC,QAAI,KAAK,SAAS,IAAI,EAAG,QAAO,KAAK,MAAM,GAAG,EAAE;AAChD,QAAI,CAAC,WAAW,KAAK,WAAW,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAG,WAAU;AACpF,QAAI,CAAC,WAAW,KAAK,WAAW,WAAW,KAAK,KAAK,MAAM,YAAY,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG;AAChG,gBAAU;AAAA,IACZ;AACA,QAAI,WAAW,QAAS,QAAO,EAAE,SAAS,QAAQ;AAClD,QAAI,YAAY,GAAI;AACpB,YAAQ,UAAU;AAAA,EACpB;AACA,SAAO,EAAE,SAAS,QAAQ;AAC5B;AAMO,SAAS,sBAAsB,SAA0B;AAC9D,SAAO,CAAC,kBAAkB,OAAO,EAAE;AACrC;AAEA,SAAS,kBAAkB,SAA0B;AACnD,QAAM,OAAO,iBAAiB,OAAO;AACrC,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,OAAO,KAAK,WAAW,CAAC;AAC9B,QAAI,SAAS,MAAM,SAAS,KAAK,SAAS,MAAM,SAAS,GAAI,QAAO;AAAA,EACtE;AACA,SAAO;AACT;AAOO,SAAS,+BAA+B,SAA0B;AACvE,SAAO,sBAAsB,OAAO,KAAK,kBAAkB,OAAO;AACpE;AAMO,SAAS,4BAA4B,SAA0B;AACpE,MAAI,CAAC,sBAAsB,OAAO,EAAG,QAAO;AAC5C,QAAM,OAAO,iBAAiB,OAAO;AACrC,MAAI,QAAQ;AACZ,SAAO,SAAS,KAAK,QAAQ;AAC3B,UAAM,UAAU,KAAK,QAAQ,MAAM,KAAK;AACxC,UAAM,MAAM,YAAY,KAAK,KAAK,SAAS;AAC3C,QAAI,OAAO,KAAK,MAAM,OAAO,GAAG;AAChC,QAAI,KAAK,SAAS,IAAI,EAAG,QAAO,KAAK,MAAM,GAAG,EAAE;AAChD,QAAI,KAAK,WAAW,GAAG,KAAK,KAAK,WAAW,WAAW,EAAG,QAAO;AACjE,QAAI,YAAY,GAAI;AACpB,YAAQ,UAAU;AAAA,EACpB;AACA,SAAO;AACT;AAQO,SAAS,wBAAwB,SAA0B;AAChE,QAAM,QAAQ,kBAAkB,OAAO;AACvC,SAAO,CAAC,MAAM,WAAW,CAAC,MAAM;AAClC;AAEA,SAAS,iBAAiB,SAAyB;AACjD,QAAM,eAAe,QAAQ,QAAQ,IAAI;AACzC,MAAI,iBAAiB,GAAI,QAAO;AAChC,QAAM,YAAY,QAAQ,MAAM,GAAG,YAAY,EAAE,SAAS,IAAI,IAC1D,QAAQ,MAAM,GAAG,eAAe,CAAC,IACjC,QAAQ,MAAM,GAAG,YAAY;AACjC,MAAI,cAAc,MAAO,QAAO;AAChC,QAAM,QAAQ,QAAQ,QAAQ,SAAS,eAAe,CAAC;AACvD,MAAI,UAAU,GAAI,QAAO;AACzB,MAAI,OAAO,QAAQ,QAAQ;AAC3B,MAAI,QAAQ,OAAO,IAAI,MAAM,KAAM,SAAQ;AAC3C,MAAI,QAAQ,OAAO,IAAI,MAAM,KAAM,SAAQ;AAC3C,SAAO,QAAQ,MAAM,IAAI;AAC3B;","names":[]}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isMacOsReplicationJunkBasename
|
|
3
|
+
} from "./chunk-QUIRIG2P.js";
|
|
4
|
+
|
|
1
5
|
// src/maintenance/dreams-ledger.ts
|
|
2
6
|
import path from "path";
|
|
3
7
|
import { createReadStream } from "fs";
|
|
@@ -289,6 +293,7 @@ async function listMemoryFiles(memoryDir) {
|
|
|
289
293
|
}
|
|
290
294
|
for (const entry of entries) {
|
|
291
295
|
if (entry.isSymbolicLink()) continue;
|
|
296
|
+
if (isMacOsReplicationJunkBasename(entry.name)) continue;
|
|
292
297
|
const full = path.join(dir, entry.name);
|
|
293
298
|
if (entry.isDirectory()) {
|
|
294
299
|
if (entry.name === "state" || entry.name === "archive" || entry.name === "namespaces" || entry.name === ".git") continue;
|
|
@@ -313,4 +318,4 @@ export {
|
|
|
313
318
|
runDreamsPhase,
|
|
314
319
|
summarizeGovernanceResultForDreams
|
|
315
320
|
};
|
|
316
|
-
//# sourceMappingURL=chunk-
|
|
321
|
+
//# sourceMappingURL=chunk-PQM3B54K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/maintenance/dreams-ledger.ts"],"sourcesContent":["/**\n * dreams-ledger.ts — per-phase telemetry for the Dreams consolidation pipeline.\n *\n * Every scheduled or manual phase run appends one JSONL entry to\n * <memoryDir>/state/dreams-ledger.jsonl\n *\n * The entry records which phase ran, how long it took, and a small\n * itemsProcessed counter so `remnic dreams status` can aggregate the last\n * 24-hour window without scanning the full memory corpus.\n *\n * This module is intentionally side-effect-free on import (no fs calls at\n * module load time) so tests can import it without touching the filesystem.\n */\n\nimport path from \"node:path\";\nimport { createReadStream, type ReadStream } from \"node:fs\";\nimport { appendFile, lstat, mkdir, readdir, readFile } from \"node:fs/promises\";\nimport { createInterface } from \"node:readline\";\nimport { isMacOsReplicationJunkBasename } from \"../utils/macos-replication-junk.js\";\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\n/** The three named phases of the Dreams consolidation pipeline. */\nexport type DreamsPhase = \"lightSleep\" | \"rem\" | \"deepSleep\";\n\n/**\n * One entry written to the dreams ledger for every phase run.\n * Older entries that predate this field simply won't have it (no backfill).\n */\nexport interface DreamsLedgerEntry {\n /** Schema version — always 1 for entries written by this module. */\n schemaVersion: 1;\n /** ISO-8601 timestamp when the phase run started. */\n startedAt: string;\n /** ISO-8601 timestamp when the phase run completed. */\n completedAt: string;\n /** Wall-clock duration in milliseconds. */\n durationMs: number;\n /**\n * Which Dreams phase this entry represents.\n * - `lightSleep` — recent activity scoring + clustering\n * - `rem` — cross-session synthesis, supersession, consolidation\n * - `deepSleep` — tier migration, page-version snapshots, archive\n */\n phase: DreamsPhase;\n /** How many memory items were evaluated (scored / clustered / migrated). */\n itemsProcessed: number;\n /** Whether this was a dry-run (no writes committed). */\n dryRun: boolean;\n /**\n * How the phase was triggered.\n * - `scheduled` — invoked by the governance cron or orchestrator maintenance pass\n * - `manual` — invoked via `remnic dreams run`\n */\n trigger: \"scheduled\" | \"manual\";\n /** Free-form notes for debugging (optional, never required). */\n notes?: string;\n}\n\n/** Aggregated stats for a single phase over a time window. */\nexport interface DreamsPhaseStatus {\n phase: DreamsPhase;\n /** Number of phase runs in the window. */\n runCount: number;\n /** Total wall-clock milliseconds across all runs in the window. */\n totalDurationMs: number;\n /** Total items processed across all runs in the window. */\n totalItemsProcessed: number;\n /** ISO-8601 timestamp of the most recent completed run, or null if none. */\n lastRunAt: string | null;\n /** Duration of the most recent run in ms, or null if none. */\n lastDurationMs: number | null;\n}\n\n/** Shape returned by `getDreamsStatus` — the canonical telemetry response. */\nexport interface DreamsStatusResult {\n /** ISO-8601 start of the query window (inclusive). */\n windowStart: string;\n /** ISO-8601 end of the query window (exclusive). */\n windowEnd: string;\n /** Per-phase summaries, always present for all three phases. */\n phases: {\n lightSleep: DreamsPhaseStatus;\n rem: DreamsPhaseStatus;\n deepSleep: DreamsPhaseStatus;\n };\n}\n\n// ── Path helpers ──────────────────────────────────────────────────────────────\n\nexport function dreamsLedgerPath(memoryDir: string): string {\n return path.join(memoryDir, \"state\", \"dreams-ledger.jsonl\");\n}\n\n// ── Writer ────────────────────────────────────────────────────────────────────\n\n/**\n * Append a single entry to the dreams ledger.\n * Creates the file (and its parent directory) if needed.\n * Uses `appendFile` (O_APPEND) so concurrent callers never overwrite each other.\n */\nexport async function appendDreamsLedgerEntry(\n memoryDir: string,\n entry: DreamsLedgerEntry,\n): Promise<void> {\n const ledgerPath = dreamsLedgerPath(memoryDir);\n await mkdir(path.dirname(ledgerPath), { recursive: true });\n await appendFile(ledgerPath, JSON.stringify(entry) + \"\\n\", \"utf-8\");\n}\n\n// ── Reader ────────────────────────────────────────────────────────────────────\n\n/**\n * Parse and validate one ledger line into a `DreamsLedgerEntry`, or `null` when\n * blank/malformed/incomplete. Shared by the streaming reader and the windowed\n * status aggregator so both apply the identical fail-open guard.\n */\nfunction parseDreamsLedgerLine(line: string): DreamsLedgerEntry | null {\n const trimmed = line.trim();\n if (!trimmed) return null;\n let parsed: Record<string, unknown>;\n try {\n const raw = JSON.parse(trimmed);\n if (typeof raw !== \"object\" || raw === null) return null;\n parsed = raw as Record<string, unknown>;\n } catch {\n return null; // Malformed JSON — skip (fail-open).\n }\n\n // Required, strongly-typed fields. A row missing or mistyping any of these is\n // not a usable telemetry entry.\n const phase = parsed.phase;\n if (phase !== \"lightSleep\" && phase !== \"rem\" && phase !== \"deepSleep\") return null;\n if (\n typeof parsed.startedAt !== \"string\" ||\n typeof parsed.completedAt !== \"string\" ||\n typeof parsed.durationMs !== \"number\" ||\n typeof parsed.itemsProcessed !== \"number\"\n ) {\n return null;\n }\n\n // Optional fields: absence is tolerated (older entries predate them, no\n // backfill), but a PRESENT value with the wrong type/value marks the row\n // malformed and skips it — never silently coerced to a default (issue #1910).\n if (\"schemaVersion\" in parsed && parsed.schemaVersion !== 1) return null;\n if (\"dryRun\" in parsed && typeof parsed.dryRun !== \"boolean\") return null;\n if (\"trigger\" in parsed && parsed.trigger !== \"manual\" && parsed.trigger !== \"scheduled\") {\n return null;\n }\n\n return {\n schemaVersion: 1,\n startedAt: parsed.startedAt,\n completedAt: parsed.completedAt,\n durationMs: parsed.durationMs,\n phase,\n itemsProcessed: parsed.itemsProcessed,\n dryRun: parsed.dryRun === true,\n trigger: parsed.trigger === \"manual\" ? \"manual\" : \"scheduled\",\n notes: typeof parsed.notes === \"string\" ? parsed.notes : undefined,\n };\n}\n\n/**\n * Stream the dreams ledger line-by-line. The ledger is plaintext `appendFile`\n * (never encrypted), so a raw line stream is safe at any size — heap stays\n * O(1) in the file, unlike the previous whole-file `readFile` + `split`.\n * Yields nothing when the ledger does not exist yet.\n */\nexport async function* streamDreamsLedgerLines(memoryDir: string): AsyncGenerator<string> {\n const ledgerPath = dreamsLedgerPath(memoryDir);\n let input: ReadStream;\n try {\n input = createReadStream(ledgerPath, { encoding: \"utf8\" });\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return;\n throw err;\n }\n const rl = createInterface({ input, crlfDelay: Infinity });\n try {\n for await (const line of rl) yield line;\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return;\n throw err;\n } finally {\n // Close the readline interface AND destroy the underlying stream. When a\n // consumer stops early (e.g. `getDreamsStatus` breaks out), the generator's\n // `.return()` runs this finally; `rl.close()` alone leaves the file\n // descriptor open, so destroy the stream to release it (issue #1910).\n rl.close();\n input.destroy();\n }\n}\n\n/**\n * Parse all valid `DreamsLedgerEntry` rows from the ledger file. Thin wrapper\n * over the line stream so any caller that genuinely needs every row still\n * works; `getDreamsStatus` streams directly and filters in-window instead.\n * Malformed lines are silently skipped (resilience over strictness for\n * telemetry).\n */\nexport async function readDreamsLedgerEntries(memoryDir: string): Promise<DreamsLedgerEntry[]> {\n const entries: DreamsLedgerEntry[] = [];\n for await (const line of streamDreamsLedgerLines(memoryDir)) {\n const entry = parseDreamsLedgerLine(line);\n if (entry) entries.push(entry);\n }\n return entries;\n}\n\n// ── Aggregator ────────────────────────────────────────────────────────────────\n\nconst ALL_PHASES: DreamsPhase[] = [\"lightSleep\", \"rem\", \"deepSleep\"];\nconst MAX_WINDOW_HOURS = 24 * 365 * 100;\n\nexport function normalizeDreamsStatusWindowHours(value: unknown, fallback = 24): number {\n const raw = value === undefined || value === null ? fallback : value;\n if (\n typeof raw !== \"number\" ||\n !Number.isFinite(raw) ||\n !Number.isInteger(raw) ||\n raw < 1 ||\n raw > MAX_WINDOW_HOURS\n ) {\n throw new RangeError(`windowHours must be a positive integer no greater than ${MAX_WINDOW_HOURS}`);\n }\n return raw;\n}\n\n/**\n * Build per-phase 24-hour summary.\n *\n * @param memoryDir The memory directory (parent of `state/`).\n * @param windowHours How many hours to look back (default 24).\n * @param now Reference time (default `new Date()`).\n */\nexport async function getDreamsStatus(\n memoryDir: string,\n windowHours = 24,\n now: Date = new Date(),\n): Promise<DreamsStatusResult> {\n const boundedWindowHours = normalizeDreamsStatusWindowHours(windowHours);\n const nowMs = now.getTime();\n if (!Number.isFinite(nowMs)) {\n throw new RangeError(\"now must be a valid Date\");\n }\n const windowMs = boundedWindowHours * 60 * 60 * 1000;\n const windowStart = new Date(nowMs - windowMs);\n const windowEnd = now;\n if (!Number.isFinite(windowStart.getTime())) {\n throw new RangeError(\"windowHours produces an invalid status window\");\n }\n\n const windowStartMs = windowStart.getTime();\n const windowEndMs = windowEnd.getTime();\n\n const statusMap = new Map<DreamsPhase, DreamsPhaseStatus>();\n for (const phase of ALL_PHASES) {\n statusMap.set(phase, {\n phase,\n runCount: 0,\n totalDurationMs: 0,\n totalItemsProcessed: 0,\n lastRunAt: null,\n lastDurationMs: null,\n });\n }\n\n // Stream the ledger and aggregate every in-window row inline, so heap use is\n // O(number of phases) regardless of window or file size (issue #1910) — no\n // per-row array and no row cap, so a large in-window window is still counted\n // in full rather than truncated.\n for await (const line of streamDreamsLedgerLines(memoryDir)) {\n const entry = parseDreamsLedgerLine(line);\n if (!entry) continue;\n const ts = Date.parse(entry.completedAt);\n if (!Number.isFinite(ts) || ts < windowStartMs || ts >= windowEndMs) continue;\n const status = statusMap.get(entry.phase);\n if (!status) continue;\n status.runCount += 1;\n status.totalDurationMs += entry.durationMs;\n status.totalItemsProcessed += entry.itemsProcessed;\n // Track the most recent run (by completedAt).\n if (status.lastRunAt === null || ts > Date.parse(status.lastRunAt)) {\n status.lastRunAt = entry.completedAt;\n status.lastDurationMs = entry.durationMs;\n }\n }\n\n return {\n windowStart: windowStart.toISOString(),\n windowEnd: windowEnd.toISOString(),\n phases: {\n lightSleep: statusMap.get(\"lightSleep\")!,\n rem: statusMap.get(\"rem\")!,\n deepSleep: statusMap.get(\"deepSleep\")!,\n },\n };\n}\n\n// ── Phase runner (PR 4/4: manual invocation) ─────────────────────────────────\n\nexport interface DreamsRunOptions {\n memoryDir: string;\n phase: DreamsPhase;\n dryRun?: boolean;\n}\n\n/** Public result shape — identical to what HTTP, MCP, and CLI surfaces expose. */\nexport interface DreamsRunResult {\n phase: DreamsPhase;\n dryRun: boolean;\n durationMs: number;\n itemsProcessed: number;\n notes?: string;\n}\n\n/** Internal result shape returned by `runDreamsPhase` — includes the raw ledger entry. */\nexport interface DreamsRunResultInternal extends DreamsRunResult {\n ledgerEntry?: DreamsLedgerEntry;\n}\n\nexport async function recordDreamsPhaseRun(options: {\n memoryDir: string;\n phase: DreamsPhase;\n trigger: DreamsLedgerEntry[\"trigger\"];\n dryRun?: boolean;\n itemsProcessed: number;\n notes?: string;\n startedAt?: string;\n completedAt?: string;\n}): Promise<DreamsLedgerEntry> {\n const startedAt = options.startedAt ?? new Date().toISOString();\n const completedAt = options.completedAt ?? new Date().toISOString();\n const durationMs = Math.max(0, Date.parse(completedAt) - Date.parse(startedAt));\n const ledgerEntry: DreamsLedgerEntry = {\n schemaVersion: 1,\n startedAt,\n completedAt,\n durationMs: Number.isFinite(durationMs) ? durationMs : 0,\n phase: options.phase,\n itemsProcessed: Math.max(0, Math.floor(options.itemsProcessed)),\n dryRun: options.dryRun === true,\n trigger: options.trigger,\n notes: options.notes,\n };\n if (!ledgerEntry.dryRun) {\n await appendDreamsLedgerEntry(options.memoryDir, ledgerEntry);\n }\n return ledgerEntry;\n}\n\n/**\n * Manually invoke a single Dreams phase pass.\n *\n * For light sleep and REM: runs a lightweight scan against the observation\n * ledger and returns a count of items that would be (or were, if not dry-run)\n * processed. The actual heavy consolidation is long-running and orchestrator-\n * bound; the manual surface delegates to existing ledger utilities and returns\n * the phase telemetry so callers get the same shape as a scheduled run.\n *\n * For deep sleep: delegates to the memory governance run (shadow mode when\n * dryRun is true, apply mode otherwise).\n */\nexport async function runDreamsPhase(\n options: DreamsRunOptions,\n governanceRunner?: (opts: { memoryDir: string; dryRun: boolean }) => Promise<{ scannedMemories: number; appliedActionCount: number; notes?: string }>,\n phaseRunner?: (opts: { memoryDir: string; phase: Exclude<DreamsPhase, \"deepSleep\"> }) => Promise<{ itemsProcessed: number; notes?: string }>,\n): Promise<DreamsRunResultInternal> {\n const { memoryDir, phase, dryRun = false } = options;\n const startedAt = new Date().toISOString();\n\n let itemsProcessed = 0;\n let notes: string | undefined;\n\n if (phase === \"lightSleep\") {\n // Dry-run light sleep counts recent observation entries as a preview.\n // Live runs must be backed by the orchestrator phase runner so the command\n // never reports success without executing the phase.\n if (!dryRun) {\n if (!phaseRunner) {\n throw new Error(\"light-sleep manual runs require a phase runner\");\n }\n const result = await phaseRunner({ memoryDir, phase });\n itemsProcessed = Math.max(0, Math.floor(result.itemsProcessed));\n notes = result.notes ?? `scored ${itemsProcessed} memories`;\n } else {\n // Light sleep: count observation ledger entries from the last 24h as a\n // proxy for \"items scored\". The live value-scoring pass runs through the\n // phase runner above.\n try {\n const ledgerPath = path.join(memoryDir, \"state\", \"observation-ledger\", \"rebuilt-observations.jsonl\");\n let raw = \"\";\n try {\n raw = await readFile(ledgerPath, \"utf-8\");\n } catch {\n // No ledger yet — zero items.\n }\n const lines = raw.split(\"\\n\").filter((l) => l.trim().length > 0);\n const nowMs = Date.now();\n const cutoff = nowMs - 24 * 60 * 60 * 1000;\n itemsProcessed = lines.filter((line) => {\n try {\n const obj = JSON.parse(line) as {\n hour?: string;\n timestamp?: string;\n ts?: string;\n };\n const timestamp = typeof obj.hour === \"string\"\n ? obj.hour\n : typeof obj.ts === \"string\"\n ? obj.ts\n : typeof obj.timestamp === \"string\"\n ? obj.timestamp\n : null;\n if (!timestamp) return false;\n const ms = Date.parse(timestamp);\n return Number.isFinite(ms) && ms >= cutoff && ms < nowMs;\n } catch {\n return false;\n }\n }).length;\n notes = `dry-run: would score ${itemsProcessed} observation entries`;\n } catch (err) {\n throw new Error(`light-sleep scan failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n } else if (phase === \"rem\") {\n if (!dryRun) {\n if (!phaseRunner) {\n throw new Error(\"REM manual runs require a phase runner\");\n }\n const result = await phaseRunner({ memoryDir, phase });\n itemsProcessed = Math.max(0, Math.floor(result.itemsProcessed));\n notes = result.notes ?? `REM pass assessed ${itemsProcessed} memories`;\n } else {\n // REM dry-runs estimate candidates without synthesizing or archiving.\n try {\n const stateFilePath = path.join(memoryDir, \"state\", \"semantic-consolidation-last-run.json\");\n let lastRunAt: string | null = null;\n try {\n const stateRaw = await readFile(stateFilePath, \"utf-8\");\n const stateData = JSON.parse(stateRaw) as { lastRunAt?: string };\n lastRunAt = stateData.lastRunAt ?? null;\n } catch {\n // No state file — never run.\n }\n const memFiles = await listMemoryFiles(memoryDir);\n itemsProcessed = memFiles.length;\n notes = `dry-run: ${itemsProcessed} memories would enter REM consolidation pass${lastRunAt ? ` (last run: ${lastRunAt})` : \" (never run)\"}`;\n } catch (err) {\n throw new Error(`REM scan failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n } else {\n // deep sleep\n if (governanceRunner) {\n try {\n const result = await governanceRunner({ memoryDir, dryRun });\n itemsProcessed = result.scannedMemories;\n notes = result.notes ?? (dryRun ? `dry-run: ${result.appliedActionCount} actions proposed` : `${result.appliedActionCount} actions applied`);\n } catch (err) {\n throw new Error(`deep-sleep governance run failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n } else {\n // Fallback: count memory files.\n const memFiles = await listMemoryFiles(memoryDir);\n itemsProcessed = memFiles.length;\n notes = dryRun\n ? `dry-run: ${itemsProcessed} memories eligible for deep-sleep governance`\n : `assessed ${itemsProcessed} memories for deep-sleep governance`;\n }\n }\n\n const completedAt = new Date().toISOString();\n const durationMs = Math.max(0, Date.parse(completedAt) - Date.parse(startedAt));\n let ledgerEntry: DreamsLedgerEntry | undefined;\n try {\n ledgerEntry = await recordDreamsPhaseRun({\n memoryDir,\n startedAt,\n completedAt,\n phase,\n itemsProcessed,\n dryRun,\n trigger: \"manual\",\n notes,\n });\n } catch {\n // Telemetry is best-effort: the phase work has already completed.\n }\n\n return {\n phase,\n dryRun,\n durationMs: ledgerEntry?.durationMs ?? durationMs,\n itemsProcessed,\n notes,\n ledgerEntry,\n };\n}\n\n// ── Shared governance result mapping ──────────────────────────────────────────\n\nexport function summarizeGovernanceResultForDreams(\n govResult: {\n summary?: { scannedMemories?: number };\n proposedActions: unknown[];\n appliedActions: unknown[];\n reviewQueue: unknown[];\n },\n dryRun: boolean,\n): { scannedMemories: number; appliedActionCount: number; notes?: string } {\n const proposedCount = govResult.proposedActions.length;\n const appliedCount = govResult.appliedActions.length;\n const scannedCount =\n typeof govResult.summary?.scannedMemories === \"number\" &&\n Number.isFinite(govResult.summary.scannedMemories)\n ? Math.max(0, Math.floor(govResult.summary.scannedMemories))\n : govResult.reviewQueue.length;\n return {\n scannedMemories: scannedCount,\n appliedActionCount: appliedCount,\n notes: dryRun\n ? `shadow mode: ${proposedCount} actions proposed`\n : `applied ${appliedCount} actions`,\n };\n}\n\n// ── Internal helpers ──────────────────────────────────────────────────────────\n\nasync function listMemoryFiles(memoryDir: string): Promise<string[]> {\n const out: string[] = [];\n try {\n const root = await lstat(memoryDir);\n if (root.isSymbolicLink()) {\n throw new Error(`memoryDir must not be a symlink: ${memoryDir}`);\n }\n if (!root.isDirectory()) return out;\n } catch (err) {\n if (err instanceof Error && /must not be a symlink/.test(err.message)) {\n throw err;\n }\n return out;\n }\n\n async function walk(dir: string): Promise<void> {\n let entries: Array<{ name: string; isDirectory(): boolean; isFile(): boolean; isSymbolicLink(): boolean }>;\n try {\n entries = (await readdir(dir, { withFileTypes: true })) as typeof entries;\n } catch {\n return;\n }\n for (const entry of entries) {\n if (entry.isSymbolicLink()) continue;\n if (isMacOsReplicationJunkBasename(entry.name)) continue;\n const full = path.join(dir, entry.name);\n if (entry.isDirectory()) {\n // Skip state/ and archive/ subdirs.\n if (\n entry.name === \"state\" ||\n entry.name === \"archive\" ||\n entry.name === \"namespaces\" ||\n entry.name === \".git\"\n ) continue;\n await walk(full);\n } else if (entry.isFile() && entry.name.endsWith(\".md\")) {\n out.push(full);\n }\n }\n }\n\n await walk(memoryDir);\n return out;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
} from "./chunk-LZACDIM2.js";
|
|
6
6
|
import {
|
|
7
7
|
composeSalvagedEnvelope
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OQJKY3Z5.js";
|
|
9
9
|
import {
|
|
10
10
|
resolveDefaultNamespaceRoot
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-RI2KCQHP.js";
|
|
12
12
|
import {
|
|
13
13
|
StorageManager,
|
|
14
14
|
readRawMemoryDocument
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-4SCZZ3U7.js";
|
|
16
16
|
import {
|
|
17
17
|
parseContinuityImprovementLoops
|
|
18
18
|
} from "./chunk-LDXUBPMO.js";
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
} from "./chunk-BJMBJZ2Y.js";
|
|
23
23
|
import {
|
|
24
24
|
readMaybeEncryptedLines
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-P55FACBG.js";
|
|
26
26
|
import {
|
|
27
27
|
assertPathInsideRoot
|
|
28
28
|
} from "./chunk-C7HJ3NEI.js";
|
|
@@ -1869,4 +1869,4 @@ export {
|
|
|
1869
1869
|
defaultTierMigrationCycleBudget,
|
|
1870
1870
|
CompoundingEngine
|
|
1871
1871
|
};
|
|
1872
|
-
//# sourceMappingURL=chunk-
|
|
1872
|
+
//# sourceMappingURL=chunk-PRU7OF3Y.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveWorkProductLedgerDir,
|
|
3
3
|
validateWorkProductLedgerEntry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-B2NXOVZN.js";
|
|
5
5
|
import {
|
|
6
6
|
TranscriptManager
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-HDN7IVIO.js";
|
|
8
8
|
import {
|
|
9
9
|
resolveCommitmentLedgerDir,
|
|
10
10
|
validateCommitmentLedgerEntry
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZAJLJ35W.js";
|
|
12
12
|
import {
|
|
13
13
|
parseConfig
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VPXIKBPX.js";
|
|
15
15
|
import {
|
|
16
16
|
resolveObjectiveStateStoreDir,
|
|
17
17
|
validateObjectiveStateSnapshot
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-4RNBLLZR.js";
|
|
19
19
|
import {
|
|
20
20
|
assertIsoRecordedAt,
|
|
21
21
|
assertSafePathSegment,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
import {
|
|
29
29
|
listJsonFiles,
|
|
30
30
|
readJsonFile
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-2Z5DIDQD.js";
|
|
32
32
|
|
|
33
33
|
// src/resume-bundles.ts
|
|
34
34
|
import path from "path";
|
|
@@ -268,4 +268,4 @@ export {
|
|
|
268
268
|
recordResumeBundle,
|
|
269
269
|
getResumeBundleStatus
|
|
270
270
|
};
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-PVHQSLNN.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-DBB5JPSL.js";
|
|
4
4
|
import {
|
|
5
5
|
isGenericRecallExcludedPath
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FT4UQYOV.js";
|
|
7
7
|
import {
|
|
8
8
|
isChangeOrientedQuery
|
|
9
9
|
} from "./chunk-EH3HNCAM.js";
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
filterRecentScanMemoriesForStateView,
|
|
70
70
|
indexStateViewAnnotatedResults
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-Q35L7TYB.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
readJsonFile,
|
|
12
12
|
writeJsonFileAtomic
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2Z5DIDQD.js";
|
|
14
14
|
import {
|
|
15
15
|
isPathInsideStorageRoot,
|
|
16
16
|
isSafeLegacyPathSegment
|
|
@@ -131,4 +131,4 @@ export {
|
|
|
131
131
|
readHarmonicSourceMemory,
|
|
132
132
|
readUnresolvedHarmonicSources
|
|
133
133
|
};
|
|
134
|
-
//# sourceMappingURL=chunk-
|
|
134
|
+
//# sourceMappingURL=chunk-QPH52AZB.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RECALL_DISCLOSURE_LEVELS,
|
|
3
3
|
isRecallDisclosure
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-3MO4LWYU.js";
|
|
5
5
|
|
|
6
6
|
// src/recall-navigate-disclosure.ts
|
|
7
7
|
function disclosureRank(level) {
|
|
@@ -27,4 +27,4 @@ export {
|
|
|
27
27
|
disclosureRank,
|
|
28
28
|
planDisclosureStep
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-QS3OLP5I.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listNamespaces
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-V3TXIXXY.js";
|
|
4
4
|
import {
|
|
5
5
|
capabilityAllowsNamespace
|
|
6
6
|
} from "./chunk-IG747LRN.js";
|
|
@@ -282,4 +282,4 @@ export {
|
|
|
282
282
|
computeServiceCorpusWatermarks,
|
|
283
283
|
computeServiceCorpusCensus
|
|
284
284
|
};
|
|
285
|
-
//# sourceMappingURL=chunk-
|
|
285
|
+
//# sourceMappingURL=chunk-QSEUUQUF.js.map
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// src/utils/macos-replication-junk.ts
|
|
2
|
+
var warnedJunkDirectories = /* @__PURE__ */ new Set();
|
|
3
|
+
function isMacOsReplicationJunkBasename(basename) {
|
|
4
|
+
return basename === ".DS_Store" || basename.startsWith("._");
|
|
5
|
+
}
|
|
6
|
+
function withoutMacOsReplicationJunk(entries, basenameOf) {
|
|
7
|
+
const kept = [];
|
|
8
|
+
let ignored = 0;
|
|
9
|
+
for (const entry of entries) {
|
|
10
|
+
if (isMacOsReplicationJunkBasename(basenameOf(entry))) {
|
|
11
|
+
ignored += 1;
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
kept.push(entry);
|
|
15
|
+
}
|
|
16
|
+
return { kept, ignored };
|
|
17
|
+
}
|
|
18
|
+
function warnIgnoredMacOsReplicationJunk(directoryKey, count, warn) {
|
|
19
|
+
if (count <= 0) return;
|
|
20
|
+
const key = `${directoryKey}\0${count}`;
|
|
21
|
+
if (warnedJunkDirectories.has(key)) return;
|
|
22
|
+
warnedJunkDirectories.add(key);
|
|
23
|
+
warn(`ignored ${count} macOS replication junk file(s) (._* and .DS_Store)`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
isMacOsReplicationJunkBasename,
|
|
28
|
+
withoutMacOsReplicationJunk,
|
|
29
|
+
warnIgnoredMacOsReplicationJunk
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=chunk-QUIRIG2P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/macos-replication-junk.ts"],"sourcesContent":["/**\n * macOS Finder metadata that arrives through Mac-to-Linux copies.\n *\n * AppleDouble sidecars are named `._` plus the real file's basename\n * (`._project-notes.md` beside `project-notes.md`). Finder also writes\n * `.DS_Store` into any directory it opens. Neither is a Remnic record.\n * Directory scanners and replication must ignore them so they are never\n * parsed as entities, memories, or sync objects.\n *\n * QMD's own indexer already drops every hidden path (`dot: false` plus a\n * hidden-segment filter). Callers that build index inputs themselves still\n * use this helper so the non-QMD scanners stay in parity.\n */\n\nconst warnedJunkDirectories = new Set<string>();\n\n/** True for an AppleDouble sidecar or a Finder `.DS_Store` file. */\nexport function isMacOsReplicationJunkBasename(basename: string): boolean {\n return basename === \".DS_Store\" || basename.startsWith(\"._\");\n}\n\n/** True when the final path segment is macOS replication junk. */\nexport function isMacOsReplicationJunkRelativePath(relPath: string): boolean {\n const normalized = relPath.includes(\"\\\\\") ? relPath.replaceAll(\"\\\\\", \"/\") : relPath;\n const slash = normalized.lastIndexOf(\"/\");\n const basename = slash === -1 ? normalized : normalized.slice(slash + 1);\n return isMacOsReplicationJunkBasename(basename);\n}\n\n/**\n * Drop junk names from a directory listing. `ignored` is the count of\n * names removed, so the caller can emit one summary warning.\n */\nexport function withoutMacOsReplicationJunk<T>(\n entries: readonly T[],\n basenameOf: (entry: T) => string\n): { kept: T[]; ignored: number } {\n const kept: T[] = [];\n let ignored = 0;\n for (const entry of entries) {\n if (isMacOsReplicationJunkBasename(basenameOf(entry))) {\n ignored += 1;\n continue;\n }\n kept.push(entry);\n }\n return { kept, ignored };\n}\n\n/**\n * Emit at most one junk warning per directory and count. A later scan of\n * the same directory (entity migration, then entity load) stays quiet\n * instead of repeating the same summary.\n */\nexport function warnIgnoredMacOsReplicationJunk(\n directoryKey: string,\n count: number,\n warn: (message: string) => void\n): void {\n if (count <= 0) return;\n const key = `${directoryKey}\\0${count}`;\n if (warnedJunkDirectories.has(key)) return;\n warnedJunkDirectories.add(key);\n warn(`ignored ${count} macOS replication junk file(s) (._* and .DS_Store)`);\n}\n"],"mappings":";AAcA,IAAM,wBAAwB,oBAAI,IAAY;AAGvC,SAAS,+BAA+B,UAA2B;AACxE,SAAO,aAAa,eAAe,SAAS,WAAW,IAAI;AAC7D;AAcO,SAAS,4BACd,SACA,YACgC;AAChC,QAAM,OAAY,CAAC;AACnB,MAAI,UAAU;AACd,aAAW,SAAS,SAAS;AAC3B,QAAI,+BAA+B,WAAW,KAAK,CAAC,GAAG;AACrD,iBAAW;AACX;AAAA,IACF;AACA,SAAK,KAAK,KAAK;AAAA,EACjB;AACA,SAAO,EAAE,MAAM,QAAQ;AACzB;AAOO,SAAS,gCACd,cACA,OACA,MACM;AACN,MAAI,SAAS,EAAG;AAChB,QAAM,MAAM,GAAG,YAAY,KAAK,KAAK;AACrC,MAAI,sBAAsB,IAAI,GAAG,EAAG;AACpC,wBAAsB,IAAI,GAAG;AAC7B,OAAK,WAAW,KAAK,qDAAqD;AAC5E;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CONVERGE_CONFLICT_POLICIES,
|
|
3
3
|
DEFAULT_CONVERGE_CONFLICT_POLICY
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EHHQJTAU.js";
|
|
5
5
|
import {
|
|
6
6
|
validateArchiveRelativePath
|
|
7
7
|
} from "./chunk-GCGJW34D.js";
|
|
@@ -435,4 +435,4 @@ export {
|
|
|
435
435
|
summarizeReconcilePlan,
|
|
436
436
|
planReconciliation
|
|
437
437
|
};
|
|
438
|
-
//# sourceMappingURL=chunk-
|
|
438
|
+
//# sourceMappingURL=chunk-QUMKDRCF.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseXrayFormat
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OXNTOHL6.js";
|
|
4
4
|
import {
|
|
5
5
|
RECALL_DISCLOSURE_LEVELS,
|
|
6
6
|
isRecallDisclosure
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3MO4LWYU.js";
|
|
8
8
|
|
|
9
9
|
// src/recall-xray-cli.ts
|
|
10
10
|
function parseXrayDisclosureFlag(value) {
|
|
@@ -50,4 +50,4 @@ export {
|
|
|
50
50
|
parseXrayBudgetFlag,
|
|
51
51
|
parseXrayCliOptions
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-R2H4ZFBJ.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4SCZZ3U7.js";
|
|
4
4
|
import {
|
|
5
5
|
keyring_exports,
|
|
6
6
|
secureStoreDir
|
|
7
7
|
} from "./chunk-BJMBJZ2Y.js";
|
|
8
8
|
import {
|
|
9
9
|
MutationSerializer
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5B5WYAHQ.js";
|
|
11
11
|
import {
|
|
12
12
|
isSafeRouteNamespace
|
|
13
13
|
} from "./chunk-PCXDUHQH.js";
|
|
@@ -20,6 +20,9 @@ import {
|
|
|
20
20
|
resolveNamespaceCapabilities,
|
|
21
21
|
resolveRecallAuxiliaryCapabilities
|
|
22
22
|
} from "./chunk-C5LWPYS3.js";
|
|
23
|
+
import {
|
|
24
|
+
isMacOsReplicationJunkBasename
|
|
25
|
+
} from "./chunk-QUIRIG2P.js";
|
|
23
26
|
import {
|
|
24
27
|
ALL_CATEGORY_DIRS
|
|
25
28
|
} from "./chunk-VS2IYZRU.js";
|
|
@@ -42,6 +45,7 @@ async function hasStoredEntries(p) {
|
|
|
42
45
|
if (!entry.isDirectory()) return true;
|
|
43
46
|
const children = await readdir(p, { withFileTypes: true });
|
|
44
47
|
for (const child of children) {
|
|
48
|
+
if (isMacOsReplicationJunkBasename(child.name)) continue;
|
|
45
49
|
const childPath = path.join(p, child.name);
|
|
46
50
|
if (child.isSymbolicLink() || child.isFile()) return true;
|
|
47
51
|
if (child.isDirectory() && await hasStoredEntries(childPath)) return true;
|
|
@@ -412,4 +416,4 @@ export {
|
|
|
412
416
|
resolveNamespaceStorageRoot,
|
|
413
417
|
NamespaceStorageRouter
|
|
414
418
|
};
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
419
|
+
//# sourceMappingURL=chunk-RI2KCQHP.js.map
|