@remnic/core 9.7.14 → 9.8.0
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/access-admin-ops-surface.d.ts +13 -6
- package/dist/access-admin-ops-surface.js +88 -74
- package/dist/access-audit.js +2 -2
- package/dist/access-boundary.d.ts +35 -17
- package/dist/access-boundary.js +89 -77
- package/dist/access-citation.d.ts +28 -0
- package/dist/access-citation.js +9 -0
- package/dist/access-cli.js +197 -181
- package/dist/access-cli.js.map +1 -1
- package/dist/access-errors.d.ts +16 -1
- package/dist/access-errors.js +7 -3
- package/dist/access-http.d.ts +25 -19
- package/dist/access-http.js +103 -90
- package/dist/access-identity-continuity-surface.d.ts +13 -8
- package/dist/access-identity-continuity-surface.js +88 -74
- package/dist/access-lcm-surface.d.ts +16 -9
- package/dist/access-lcm-surface.js +88 -74
- package/dist/access-mcp.d.ts +23 -16
- package/dist/access-mcp.js +99 -87
- package/dist/access-memory-search-fanout.d.ts +93 -0
- package/dist/access-memory-search-fanout.js +18 -0
- package/dist/access-observe-write-surface.d.ts +26 -8
- package/dist/access-observe-write-surface.js +88 -74
- package/dist/access-operations-batch.js +95 -83
- package/dist/access-operations.d.ts +26 -19
- package/dist/access-operations.js +97 -85
- package/dist/access-recall-concurrency.d.ts +250 -0
- package/dist/access-recall-concurrency.js +157 -0
- package/dist/access-recall-response.d.ts +130 -0
- package/dist/access-recall-response.js +147 -0
- package/dist/access-recall-surface.d.ts +15 -7
- package/dist/access-recall-surface.js +88 -74
- package/dist/access-schema.d.ts +34 -34
- package/dist/access-schema.js +8 -6
- package/dist/{access-service-CPhSnLOH.d.ts → access-service-DEL4qCrc.d.ts} +25 -32
- package/dist/access-service.d.ts +13 -6
- package/dist/access-service.js +92 -75
- package/dist/access-surface-catalog.d.ts +23 -16
- package/dist/access-surface-catalog.js +1 -0
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-token-capabilities.d.ts +2 -1
- package/dist/access-token-capabilities.js +4 -2
- package/dist/action-confidence.d.ts +3 -1
- package/dist/active-memory-bridge.d.ts +3 -1
- package/dist/active-memory-bridge.js +4 -4
- package/dist/active-recall.d.ts +4 -1
- package/dist/active-recall.js +23 -13
- 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-AAMTVZMK.js → auto-sync-UZG3XQZ5.js} +14 -8
- package/dist/{auto-sync-AAMTVZMK.js.map → auto-sync-UZG3XQZ5.js.map} +1 -1
- package/dist/behavior-learner.d.ts +3 -1
- package/dist/behavior-signals.d.ts +3 -1
- package/dist/bootstrap.d.ts +12 -7
- package/dist/bootstrap.js +2 -2
- package/dist/bounded-jsonl-state.d.ts +54 -0
- package/dist/bounded-jsonl-state.js +10 -0
- package/dist/boxes.js +2 -2
- package/dist/briefing.d.ts +5 -2
- package/dist/briefing.js +37 -27
- package/dist/buffer-surprise-report.d.ts +3 -1
- package/dist/buffer.d.ts +60 -2
- package/dist/buffer.js +3 -3
- package/dist/bulk-import/index.d.ts +5 -3
- package/dist/calibration.d.ts +3 -1
- package/dist/calibration.js +6 -6
- package/dist/capabilities.d.ts +7 -7
- package/dist/capabilities.js +1 -1
- package/dist/{capsule-crypto-CZJSLEFG.js → capsule-crypto-YO5QJ6L3.js} +3 -3
- package/dist/capsule-crypto-YO5QJ6L3.js.map +1 -0
- package/dist/{capsule-merge-Z2HUO6IK.js → capsule-merge-5KKJQBWQ.js} +4 -4
- package/dist/{catalog-uX9sT9ws.d.ts → catalog-BWqHb5HT.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +3 -1
- package/dist/causal-behavior.js +6 -6
- package/dist/causal-chain.js +4 -4
- package/dist/causal-consolidation.d.ts +3 -1
- package/dist/causal-consolidation.js +46 -37
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +6 -6
- package/dist/causal-trajectory-graph.d.ts +3 -1
- package/dist/causal-trajectory-graph.js +1 -1
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-A3GOMRJG.js → chunk-23L3IXFD.js} +2 -2
- package/dist/chunk-2CGLBUW3.js +15 -0
- package/dist/chunk-2CGLBUW3.js.map +1 -0
- package/dist/{chunk-MRHFJV44.js → chunk-2DQ2XREU.js} +2 -2
- package/dist/{chunk-ASKEM4AR.js → chunk-2EJOEICD.js} +1823 -1483
- package/dist/chunk-2EJOEICD.js.map +1 -0
- package/dist/{chunk-L2B3EE7B.js → chunk-2QMKMVHH.js} +2 -2
- package/dist/{chunk-6CALL5VN.js → chunk-2UFO7X4Q.js} +7 -7
- package/dist/{chunk-2MR3MFQB.js → chunk-2VEOKUPP.js} +3 -3
- package/dist/chunk-2Z24E5W2.js +22 -0
- package/dist/chunk-2Z24E5W2.js.map +1 -0
- package/dist/{chunk-RHOZ5LLO.js → chunk-347WD2LE.js} +2 -2
- package/dist/{chunk-5S7Z5SHA.js → chunk-34RC5RT7.js} +2 -2
- package/dist/{chunk-KGWXHWAH.js → chunk-3QAH2S33.js} +3 -3
- package/dist/{chunk-37CTGERM.js → chunk-3WCASNQZ.js} +12 -1
- package/dist/chunk-3WCASNQZ.js.map +1 -0
- package/dist/{chunk-ZIDSD6VC.js → chunk-3Y224NYC.js} +3 -3
- package/dist/{chunk-RBQLJSJ7.js → chunk-44XZ75OQ.js} +46 -10
- package/dist/chunk-44XZ75OQ.js.map +1 -0
- package/dist/{chunk-VFSP73LP.js → chunk-45GF7Y3V.js} +2 -2
- package/dist/{chunk-7ICYQUOL.js → chunk-4BJQODZF.js} +2514 -1526
- package/dist/chunk-4BJQODZF.js.map +1 -0
- package/dist/{chunk-JMBVCAR4.js → chunk-57OWKFUQ.js} +17 -6
- package/dist/chunk-57OWKFUQ.js.map +1 -0
- package/dist/{chunk-OEHCMALU.js → chunk-5I4M26Q7.js} +5 -5
- package/dist/{chunk-2E6G7FCE.js → chunk-5Q7EVV4X.js} +7 -7
- package/dist/{chunk-LC7OODWZ.js → chunk-5SB7SC2G.js} +80 -49
- package/dist/chunk-5SB7SC2G.js.map +1 -0
- package/dist/{chunk-VZ5OJE4X.js → chunk-5VQJBH2G.js} +2 -2
- package/dist/{chunk-PUBTHW5O.js → chunk-6DRPPQEJ.js} +2 -2
- package/dist/{chunk-NWTGD4AN.js → chunk-6KIQT7RG.js} +10 -9
- package/dist/chunk-6KIQT7RG.js.map +1 -0
- package/dist/{chunk-4LEF6XWJ.js → chunk-6O22TZSB.js} +3 -3
- package/dist/{chunk-ZQ7UBUZ6.js → chunk-6QYST5XN.js} +6 -6
- package/dist/{chunk-W4PGTAS2.js → chunk-6WAFYNVT.js} +3 -3
- package/dist/chunk-6ZMAMSHS.js +20 -0
- package/dist/chunk-6ZMAMSHS.js.map +1 -0
- package/dist/{chunk-R5VAVVHP.js → chunk-72A4L5JJ.js} +2 -2
- package/dist/{chunk-X64YLC24.js → chunk-72VAXGEI.js} +5 -13
- package/dist/chunk-72VAXGEI.js.map +1 -0
- package/dist/{chunk-IKQTFQMI.js → chunk-755Q3DGF.js} +22 -3
- package/dist/chunk-755Q3DGF.js.map +1 -0
- package/dist/{chunk-F7AU34FC.js → chunk-76GLCM57.js} +160 -127
- package/dist/chunk-76GLCM57.js.map +1 -0
- package/dist/{chunk-D7FOKIY5.js → chunk-7AMFUATK.js} +12 -9
- package/dist/{chunk-D7FOKIY5.js.map → chunk-7AMFUATK.js.map} +1 -1
- package/dist/{chunk-BFVEEB7W.js → chunk-7ON2JW73.js} +57 -22
- package/dist/chunk-7ON2JW73.js.map +1 -0
- package/dist/chunk-7RNBVZZO.js +270 -0
- package/dist/chunk-7RNBVZZO.js.map +1 -0
- package/dist/{chunk-3FAMU5TX.js → chunk-A6USBZTO.js} +2 -2
- package/dist/{chunk-TXVD7PLT.js → chunk-A72SWTWW.js} +7 -7
- package/dist/{chunk-FC77VUX5.js → chunk-A7Q43EUZ.js} +2 -2
- package/dist/{chunk-UJBESW6X.js → chunk-AE7WMV4V.js} +7 -7
- package/dist/{chunk-J2HSAU72.js → chunk-AIK5W3IW.js} +29 -1
- package/dist/chunk-AIK5W3IW.js.map +1 -0
- package/dist/{chunk-OKUEZOGW.js → chunk-AITCS2RC.js} +2 -2
- package/dist/{chunk-OC35KQIN.js → chunk-AJ7QCSIS.js} +4 -4
- package/dist/{chunk-FNMFJWBY.js → chunk-ANEUPF6O.js} +5 -5
- package/dist/chunk-AREGMX2J.js +50 -0
- package/dist/chunk-AREGMX2J.js.map +1 -0
- package/dist/chunk-AVPXXV6J.js +448 -0
- package/dist/chunk-AVPXXV6J.js.map +1 -0
- package/dist/{chunk-2A3OXAP2.js → chunk-B7RWBZXW.js} +2 -2
- package/dist/{chunk-GWTFLF2P.js → chunk-BJMBJZ2Y.js} +59 -59
- package/dist/chunk-BJMBJZ2Y.js.map +1 -0
- package/dist/{chunk-N3JDIRBW.js → chunk-BLAKS3CP.js} +4 -4
- package/dist/{chunk-M7VGG3ID.js → chunk-BV5WMSIJ.js} +9 -9
- package/dist/{chunk-2BFLDH5F.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-UXKMMNJD.js → chunk-C23BYTJV.js} +6 -6
- package/dist/{chunk-JZHHREBL.js → chunk-C3AKM55W.js} +2 -2
- package/dist/{chunk-RP7YXA67.js → chunk-C5JF6EZ7.js} +2 -2
- package/dist/{chunk-FBNWOMCE.js → chunk-C6XBRYVD.js} +16 -15
- package/dist/chunk-C6XBRYVD.js.map +1 -0
- package/dist/{chunk-FTYDWKO6.js → chunk-CEN6DW6X.js} +12 -2
- package/dist/chunk-CEN6DW6X.js.map +1 -0
- package/dist/chunk-CGASUJVP.js +421 -0
- package/dist/chunk-CGASUJVP.js.map +1 -0
- package/dist/{chunk-DDGV7NAX.js → chunk-CQMEM5CC.js} +2 -2
- package/dist/{chunk-A7B4RMQG.js → chunk-CXZQOVIE.js} +12 -12
- package/dist/chunk-D3V3UMET.js +44 -0
- package/dist/chunk-D3V3UMET.js.map +1 -0
- package/dist/{chunk-7N2RUBAP.js → chunk-DDA47TES.js} +2 -2
- package/dist/{chunk-64SE4X5G.js → chunk-DEBHXHJR.js} +3 -3
- package/dist/{chunk-EHK6KZHK.js → chunk-DNHVPZOD.js} +2 -2
- package/dist/{chunk-437S3G37.js → chunk-DQEMWVMT.js} +2 -2
- package/dist/{chunk-LZZNTPLR.js → chunk-DX3XRGLH.js} +2 -2
- package/dist/chunk-EA2H5LML.js +72 -0
- package/dist/chunk-EA2H5LML.js.map +1 -0
- package/dist/{chunk-IFJ23BHU.js → chunk-EEC7UJPX.js} +112 -106
- package/dist/chunk-EEC7UJPX.js.map +1 -0
- package/dist/{chunk-KSNVDPDF.js → chunk-EKBNDKDY.js} +21 -20
- package/dist/chunk-EKBNDKDY.js.map +1 -0
- package/dist/{chunk-YF6FMLBT.js → chunk-EQWEIIKQ.js} +64 -34
- package/dist/chunk-EQWEIIKQ.js.map +1 -0
- package/dist/{chunk-7MW3CVLD.js → chunk-ES36HTSC.js} +4 -4
- package/dist/{chunk-TN7THW5U.js → chunk-ET356KSB.js} +2 -2
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-7LFXDGLH.js → chunk-F7GAIWFA.js} +20 -20
- package/dist/{chunk-IKSELOIV.js → chunk-FFPJINJE.js} +7 -7
- package/dist/chunk-FMLKOL2Z.js +636 -0
- package/dist/chunk-FMLKOL2Z.js.map +1 -0
- package/dist/chunk-FQC3DHH2.js +20 -0
- package/dist/chunk-FQC3DHH2.js.map +1 -0
- package/dist/{chunk-V53GJUSL.js → chunk-FUTF72MJ.js} +15 -15
- package/dist/chunk-GCASGYIO.js +71 -0
- package/dist/chunk-GCASGYIO.js.map +1 -0
- package/dist/{chunk-5UNWK7KU.js → chunk-GFPZS3F5.js} +8 -8
- package/dist/{chunk-BCDKBDSY.js → chunk-GNVZQ5JN.js} +99 -41
- package/dist/chunk-GNVZQ5JN.js.map +1 -0
- package/dist/{chunk-G6NKALRN.js → chunk-H4WG3UQZ.js} +2 -2
- package/dist/{chunk-HLTAPHZZ.js → chunk-HNZKVLAN.js} +2 -2
- package/dist/{chunk-5EZXHU36.js → chunk-HYQJQGD3.js} +2 -2
- package/dist/{chunk-ANADNYWK.js → chunk-IDZFBSHN.js} +8 -6
- package/dist/{chunk-ANADNYWK.js.map → chunk-IDZFBSHN.js.map} +1 -1
- package/dist/{chunk-XVLEGMJI.js → chunk-IFH6LWTO.js} +50 -8
- package/dist/chunk-IFH6LWTO.js.map +1 -0
- package/dist/{chunk-RULE4VG5.js → chunk-ILGC6JH6.js} +21 -6
- package/dist/chunk-ILGC6JH6.js.map +1 -0
- package/dist/chunk-IUM3VSHI.js +113 -0
- package/dist/chunk-IUM3VSHI.js.map +1 -0
- package/dist/{chunk-ND5M64JJ.js → chunk-IYNGIMVG.js} +101 -91
- package/dist/chunk-IYNGIMVG.js.map +1 -0
- package/dist/{chunk-TRWPCR6P.js → chunk-JECBQBEX.js} +3 -3
- package/dist/{chunk-HG32URJJ.js → chunk-JYIFGGEM.js} +2 -2
- package/dist/{chunk-VA4WSW54.js → chunk-JYIJNNN3.js} +3 -3
- package/dist/{chunk-L5HJQC36.js → chunk-K2TDK7GG.js} +3 -3
- package/dist/{chunk-MKDRQAA3.js → chunk-KAVBJSBQ.js} +4 -4
- package/dist/{chunk-EEARRVZ2.js → chunk-KF5EUVKQ.js} +16 -6
- package/dist/chunk-KF5EUVKQ.js.map +1 -0
- package/dist/chunk-KFZY2OFH.js +42 -0
- package/dist/chunk-KFZY2OFH.js.map +1 -0
- package/dist/{chunk-4OKLXWDZ.js → chunk-KNB7IBBU.js} +2 -2
- package/dist/{chunk-QLULYKWZ.js → chunk-KSXJOC4F.js} +2 -2
- package/dist/{chunk-OBMR4VIX.js → chunk-L2DPF4DF.js} +186 -15
- package/dist/chunk-L2DPF4DF.js.map +1 -0
- package/dist/{chunk-JI5AVXYO.js → chunk-LEPOP46W.js} +6 -6
- package/dist/{chunk-O7BBFJLP.js → chunk-LTAVSOZW.js} +2 -2
- package/dist/{chunk-E3VODCC3.js → chunk-LUDXM7MD.js} +14 -2
- package/dist/{chunk-E3VODCC3.js.map → chunk-LUDXM7MD.js.map} +1 -1
- package/dist/{chunk-2IZAGAJR.js → chunk-LULR4IUW.js} +3 -3
- package/dist/{chunk-NUWYOKS6.js → chunk-MC5Q3J7S.js} +398 -7
- package/dist/chunk-MC5Q3J7S.js.map +1 -0
- package/dist/{chunk-WMWVO45V.js → chunk-MC6XO7T4.js} +2 -2
- package/dist/chunk-MKQBXQKU.js +107 -0
- package/dist/chunk-MKQBXQKU.js.map +1 -0
- package/dist/{chunk-7PND4PUC.js → chunk-MMGGVZ4Q.js} +29 -9
- package/dist/{chunk-7PND4PUC.js.map → chunk-MMGGVZ4Q.js.map} +1 -1
- package/dist/{chunk-D6RIFG4O.js → chunk-MNB5RMAY.js} +2 -2
- package/dist/{chunk-67ZCJLJY.js → chunk-MYFQ3ED4.js} +8 -8
- package/dist/{chunk-V3UE5I5F.js → chunk-MYVPLJOO.js} +2 -2
- package/dist/chunk-NINSR6LX.js +83 -0
- package/dist/chunk-NINSR6LX.js.map +1 -0
- package/dist/{chunk-MTWKDOVO.js → chunk-NLE6TSLG.js} +2 -2
- package/dist/{chunk-DBRYEIGY.js → chunk-OJP3N7UK.js} +2 -2
- package/dist/{chunk-AD6AMF2N.js → chunk-OQJIB32H.js} +28 -23
- package/dist/chunk-OQJIB32H.js.map +1 -0
- package/dist/{chunk-SMX5267P.js → chunk-OZKOPQCM.js} +2 -2
- package/dist/{chunk-JCK7V6SN.js → chunk-P65YJEEL.js} +2 -2
- package/dist/{chunk-MTR7BZQN.js → chunk-PBGWYM3H.js} +3 -3
- package/dist/chunk-PIG4WJFQ.js +87 -0
- package/dist/chunk-PIG4WJFQ.js.map +1 -0
- package/dist/chunk-PQVCH2AE.js +76 -0
- package/dist/chunk-PQVCH2AE.js.map +1 -0
- package/dist/{chunk-AXTXN4T6.js → chunk-PWFCHOB3.js} +2 -2
- package/dist/{chunk-FDPZVY6D.js → chunk-QFN4U7AG.js} +2 -2
- package/dist/{chunk-K2ZLHESQ.js → chunk-QIEUU4UK.js} +2 -2
- package/dist/{chunk-AHLPZ2SF.js → chunk-QJAQNXWI.js} +44 -6
- package/dist/chunk-QJAQNXWI.js.map +1 -0
- package/dist/{chunk-3D6AFGQR.js → chunk-QVT3E4CE.js} +7 -7
- package/dist/{chunk-VYOFVVNK.js → chunk-R26ZMXR2.js} +24 -24
- package/dist/{chunk-VYOFVVNK.js.map → chunk-R26ZMXR2.js.map} +1 -1
- package/dist/chunk-R3DJVOSM.js +34 -0
- package/dist/chunk-R3DJVOSM.js.map +1 -0
- package/dist/{chunk-SFQ6QNL7.js → chunk-R6YJI3HE.js} +2 -1
- package/dist/{chunk-5CJVLG3H.js → chunk-RFDD3B7W.js} +5 -5
- package/dist/{chunk-JBPKEARU.js → chunk-RKNJBZ55.js} +4 -4
- package/dist/chunk-ROI7BK7H.js +88 -0
- package/dist/chunk-ROI7BK7H.js.map +1 -0
- package/dist/{chunk-UTRJFDP2.js → chunk-S2BBISHU.js} +4 -4
- package/dist/{chunk-IALLX7EE.js → chunk-S2FSBU4H.js} +3 -3
- package/dist/{chunk-BFPETA3S.js → chunk-SCCO46KZ.js} +3 -2
- package/dist/chunk-SCCO46KZ.js.map +1 -0
- package/dist/chunk-SICXL4MK.js +165 -0
- package/dist/chunk-SICXL4MK.js.map +1 -0
- package/dist/chunk-SK7AMF2J.js +168 -0
- package/dist/chunk-SK7AMF2J.js.map +1 -0
- package/dist/{chunk-GMSDQUCR.js → chunk-TDTXKOAJ.js} +6475 -5748
- package/dist/chunk-TDTXKOAJ.js.map +1 -0
- package/dist/{chunk-KSBEEMQF.js → chunk-TG6IHVE2.js} +151 -6
- package/dist/chunk-TG6IHVE2.js.map +1 -0
- package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
- package/dist/{chunk-PK5XBDA6.js → chunk-U3ZAVRP3.js} +2 -2
- package/dist/{chunk-ODPLEWB6.js → chunk-UFGFMWAD.js} +47 -17
- package/dist/chunk-UFGFMWAD.js.map +1 -0
- package/dist/{chunk-4KJLYTLS.js → chunk-V57NLO5P.js} +2 -2
- package/dist/{chunk-FLVL4L3L.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-7XGSIUP5.js → chunk-W4FBGYGK.js} +1 -1
- package/dist/{chunk-TXLGHDHS.js → chunk-W4XJFLAL.js} +53 -32
- package/dist/chunk-W4XJFLAL.js.map +1 -0
- package/dist/{chunk-6SXVCD7W.js → chunk-W7IGLX4G.js} +2 -2
- package/dist/{chunk-KQDNAXOM.js → chunk-WG5HSQ4P.js} +19 -6
- package/dist/chunk-WG5HSQ4P.js.map +1 -0
- package/dist/{chunk-LTJAMRGI.js → chunk-WL5EBRDH.js} +17 -3
- package/dist/chunk-WL5EBRDH.js.map +1 -0
- package/dist/{chunk-KAWTOYAW.js → chunk-WLZYGLJ4.js} +2 -2
- package/dist/{chunk-W5NKDU24.js → chunk-WON4APQY.js} +4 -4
- package/dist/{chunk-NKCPUHCI.js → chunk-WZFAPHIK.js} +6 -6
- package/dist/{chunk-KQPJLK3X.js → chunk-XL24QQ63.js} +2 -2
- package/dist/{chunk-X47LWMKA.js → chunk-XMMESCPD.js} +26 -1
- package/dist/chunk-XMMESCPD.js.map +1 -0
- package/dist/{chunk-4B4MUS5D.js → chunk-YROFNEG5.js} +7 -7
- package/dist/{chunk-WU46YPY6.js → chunk-YV32N67O.js} +1 -1
- package/dist/chunk-YV32N67O.js.map +1 -0
- package/dist/{chunk-B3F4CWQR.js → chunk-YVKF3HEW.js} +1 -1
- package/dist/chunk-YVKF3HEW.js.map +1 -0
- package/dist/{chunk-VRAD2FGO.js → chunk-Z54EM5YZ.js} +12 -12
- package/dist/{chunk-2VN4JAX7.js → chunk-ZOKZIR5K.js} +95 -33
- package/dist/chunk-ZOKZIR5K.js.map +1 -0
- package/dist/{cli-_Y2Bmt6A.d.ts → cli-C_pqqTCw.d.ts} +28 -12
- package/dist/cli.d.ts +16 -9
- package/dist/cli.js +145 -130
- package/dist/compounding/engine.d.ts +5 -2
- package/dist/compounding/engine.js +39 -29
- package/dist/compounding/preference-consolidator.d.ts +3 -1
- package/dist/compounding/preference-consolidator.js +1 -1
- package/dist/compression-optimizer.d.ts +3 -1
- package/dist/config-qmd.d.ts +8 -0
- package/dist/config-qmd.js +20 -0
- package/dist/config-qmd.js.map +1 -0
- package/dist/config.d.ts +3 -1
- package/dist/config.js +15 -10
- package/dist/connectors/codex-materialize-runner.d.ts +3 -1
- package/dist/connectors/codex-materialize-runner.js +39 -29
- package/dist/connectors/codex-materialize.d.ts +3 -1
- package/dist/connectors/codex-materialize.js +2 -2
- package/dist/connectors/index.d.ts +3 -1
- package/dist/connectors/index.js +44 -35
- package/dist/consolidation-provenance-check.d.ts +5 -2
- package/dist/consolidation-provenance-check.js +4 -4
- package/dist/consolidation-undo.d.ts +5 -2
- package/dist/consolidation-undo.js +3 -3
- package/dist/contradiction/index.d.ts +5 -2
- package/dist/contradiction/index.js +10 -4
- package/dist/{contradiction-scan-J57T5QV7.js → contradiction-scan-RJBABNRH.js} +4 -4
- package/dist/contradiction-scan-RJBABNRH.js.map +1 -0
- package/dist/conversation-index/backend.d.ts +3 -1
- package/dist/conversation-index/backend.js +5 -5
- package/dist/conversation-index/chunker.d.ts +3 -1
- package/dist/conversation-index/cleanup.js +2 -2
- package/dist/conversation-index/faiss-adapter.d.ts +3 -1
- package/dist/conversation-index/faiss-adapter.js +2 -2
- package/dist/conversation-index/indexer.d.ts +3 -1
- package/dist/conversation-index/indexer.js +2 -2
- package/dist/conversation-index/search.d.ts +3 -1
- package/dist/conversation-index/search.js +2 -2
- package/dist/cross-namespace-budget.d.ts +45 -1
- package/dist/cross-namespace-budget.js +5 -3
- package/dist/dashboard-runtime.js +2 -2
- package/dist/day-summary.d.ts +3 -1
- package/dist/day-summary.js +3 -3
- package/dist/delinearize.d.ts +3 -1
- package/dist/direct-answer-wiring.d.ts +3 -1
- package/dist/direct-answer.d.ts +3 -1
- package/dist/{dreams-ledger-6UODQOX6.js → dreams-ledger-567VKVOU.js} +4 -2
- package/dist/dreams-ledger-567VKVOU.js.map +1 -0
- package/dist/embedding-fallback.d.ts +3 -1
- package/dist/embedding-fallback.js +3 -3
- package/dist/enrichment/index.d.ts +3 -1
- package/dist/entity-retrieval.d.ts +5 -2
- package/dist/entity-retrieval.js +38 -29
- package/dist/entity-schema.d.ts +3 -1
- package/dist/explicit-capture.d.ts +13 -8
- package/dist/explicit-capture.js +7 -3
- package/dist/extraction-faithfulness.d.ts +3 -1
- package/dist/extraction-faithfulness.js +5 -5
- package/dist/extraction-judge-telemetry.d.ts +3 -1
- package/dist/extraction-judge-telemetry.js +2 -2
- package/dist/extraction-judge-training.d.ts +3 -1
- package/dist/extraction-judge-training.js +2 -2
- package/dist/extraction-judge.d.ts +3 -1
- package/dist/extraction-judge.js +5 -5
- package/dist/extraction.d.ts +3 -1
- package/dist/extraction.js +13 -12
- package/dist/faithfulness-config.js +3 -2
- package/dist/fallback-llm.d.ts +3 -1
- package/dist/fallback-llm.js +4 -4
- package/dist/{first-start-migration-TI67YMLG.js → first-start-migration-CSRHCJIQ.js} +2 -2
- package/dist/{forget-CQCLB5LB.js → forget-HRPLVB3W.js} +5 -5
- package/dist/graph-dashboard-diff.d.ts +3 -1
- package/dist/graph-dashboard-key.d.ts +3 -1
- package/dist/graph-dashboard-parser.d.ts +3 -1
- package/dist/{graph-edge-decay-FO7AM4UR.js → graph-edge-decay-Z6ENALU2.js} +3 -3
- package/dist/graph-edge-decay-Z6ENALU2.js.map +1 -0
- package/dist/graph-edge-reinforcement.d.ts +3 -1
- package/dist/graph-snapshot.d.ts +3 -1
- package/dist/graph-snapshot.js +2 -2
- package/dist/graph.d.ts +57 -10
- package/dist/graph.js +1 -1
- package/dist/identity-continuity.d.ts +1 -2
- package/dist/importance.d.ts +3 -1
- package/dist/importers/index.d.ts +3 -1
- package/dist/in-flight-reads.d.ts +3 -1
- package/dist/index.d.ts +101 -92
- package/dist/index.js +290 -242
- package/dist/intent.d.ts +3 -1
- package/dist/lcm/archive.js +2 -2
- package/dist/lcm/engine.d.ts +3 -1
- package/dist/lcm/engine.js +6 -6
- package/dist/lcm/index.d.ts +3 -1
- package/dist/lcm/index.js +13 -13
- package/dist/lcm/schema.js +2 -2
- package/dist/lcm/summarizer.js +3 -3
- package/dist/lcm/tools.d.ts +3 -1
- package/dist/lifecycle.d.ts +3 -1
- package/dist/live-connectors-runner.d.ts +3 -1
- package/dist/local-llm.d.ts +5 -2
- package/dist/local-llm.js +3 -3
- package/dist/local-model-endpoint.d.ts +3 -1
- package/dist/logger.d.ts +3 -1
- package/dist/logger.js +7 -3
- package/dist/maintenance/archive-observations.js +2 -2
- package/dist/maintenance/memory-governance.d.ts +3 -1
- package/dist/maintenance/memory-governance.js +38 -28
- package/dist/maintenance/migrate-observations.js +3 -3
- package/dist/maintenance/observation-ledger-utils.js +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +102 -1
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +40 -28
- package/dist/maintenance/rebuild-memory-projection.js +41 -31
- package/dist/maintenance/rebuild-observations.js +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +22 -15
- package/dist/memory-action-policy.d.ts +3 -1
- package/dist/memory-cache.d.ts +46 -2
- package/dist/memory-cache.js +7 -1
- package/dist/memory-corpus-version.js +2 -2
- package/dist/memory-lifecycle-ledger-utils.d.ts +25 -2
- package/dist/memory-lifecycle-ledger-utils.js +11 -1
- package/dist/memory-projection-store.d.ts +3 -1
- package/dist/memory-projection-store.js +2 -2
- package/dist/memory-provenance.d.ts +3 -1
- package/dist/memory-worth-outcomes.d.ts +5 -2
- package/dist/model-registry.js +2 -2
- package/dist/models-json.d.ts +3 -1
- package/dist/models-json.js +2 -2
- package/dist/namespaces/migrate.d.ts +6 -3
- package/dist/namespaces/migrate.js +54 -45
- package/dist/namespaces/principal.d.ts +27 -2
- package/dist/namespaces/principal.js +6 -2
- package/dist/namespaces/search.d.ts +16 -2
- package/dist/namespaces/search.js +25 -21
- package/dist/namespaces/storage.d.ts +24 -3
- package/dist/namespaces/storage.js +38 -30
- package/dist/native-knowledge.d.ts +3 -1
- package/dist/native-knowledge.js +2 -2
- package/dist/negative.js +2 -2
- package/dist/offline-sync-exclude-globs.d.ts +13 -0
- package/dist/offline-sync-exclude-globs.js +10 -0
- package/dist/offline-sync-exclude-globs.js.map +1 -0
- package/dist/offline-sync-impression-drain.d.ts +78 -0
- package/dist/offline-sync-impression-drain.js +37 -0
- package/dist/offline-sync-impression-drain.js.map +1 -0
- package/dist/offline-sync.js +4 -2
- package/dist/operator-toolkit.d.ts +5 -2
- package/dist/operator-toolkit.js +73 -58
- package/dist/orchestration/compression-guideline-coordinator.d.ts +5 -2
- package/dist/orchestration/compression-guideline-coordinator.js +3 -3
- package/dist/orchestration/maintenance.d.ts +121 -2
- package/dist/orchestration/maintenance.js +47 -34
- package/dist/{orchestrator-BbZ_dQSU.d.ts → orchestrator-CQJ8U7En.d.ts} +85 -79
- package/dist/orchestrator.d.ts +13 -8
- package/dist/orchestrator.js +197 -180
- package/dist/page-versioning.js +3 -3
- package/dist/patterns-cli.d.ts +3 -1
- package/dist/{pipeline-FRMDb1fn.d.ts → pipeline-Cn-kvYeV.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +3 -1
- package/dist/prioritized-embed.d.ts +19 -0
- package/dist/prioritized-embed.js +8 -0
- package/dist/prioritized-embed.js.map +1 -0
- package/dist/proactive-contention.d.ts +28 -0
- package/dist/proactive-contention.js +8 -0
- package/dist/proactive-contention.js.map +1 -0
- package/dist/profiling.js +2 -2
- package/dist/provenance.d.ts +3 -1
- package/dist/provenance.js +3 -2
- package/dist/{purge-NDWV6WYD.js → purge-IRF47ZTX.js} +3 -3
- package/dist/{qmd-xJRrHFbA.d.ts → qmd-oh9VXz1d.d.ts} +11 -1
- package/dist/qmd-preflight.d.ts +5 -2
- package/dist/qmd-recall-cache.d.ts +3 -1
- package/dist/qmd-status.d.ts +57 -0
- package/dist/qmd-status.js +18 -0
- package/dist/qmd-status.js.map +1 -0
- package/dist/qmd.d.ts +5 -2
- package/dist/qmd.js +8 -4
- package/dist/recall-concurrency-config.d.ts +16 -0
- package/dist/recall-concurrency-config.js +10 -0
- package/dist/recall-concurrency-config.js.map +1 -0
- package/dist/recall-disclosure-escalation.d.ts +3 -1
- package/dist/recall-explain-renderer.d.ts +4 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +26 -0
- package/dist/recall-memory-map.js +18 -0
- package/dist/recall-memory-map.js.map +1 -0
- package/dist/recall-planner-llm.d.ts +3 -1
- package/dist/recall-planner-llm.js +4 -4
- package/dist/recall-qos.js +2 -2
- package/dist/recall-state.d.ts +163 -2
- package/dist/recall-state.js +6 -3
- package/dist/recall-tag-filter.d.ts +3 -1
- package/dist/recall-timings.d.ts +11 -2
- package/dist/recall-timings.js +3 -1
- package/dist/recall-xray-cli.d.ts +3 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +3 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +3 -1
- package/dist/recall-xray.js +2 -2
- package/dist/relevance.js +3 -3
- package/dist/replay/normalizers/chatgpt.d.ts +3 -1
- package/dist/replay/normalizers/claude.d.ts +3 -1
- package/dist/replay/normalizers/openclaw.d.ts +3 -1
- package/dist/replay/normalizers/shared.d.ts +3 -1
- package/dist/replay/runner.d.ts +3 -1
- package/dist/replay/types.d.ts +3 -1
- package/dist/rerank.d.ts +8 -1
- package/dist/rerank.js +3 -1
- package/dist/resolution-3K27T4VO.js +18 -0
- package/dist/resolution-3K27T4VO.js.map +1 -0
- package/dist/resolve-auth-token.d.ts +3 -1
- package/dist/resolve-provider-secret.js +2 -2
- package/dist/resume-bundles.js +19 -14
- package/dist/retrieval-agents.d.ts +19 -16
- package/dist/retrieval-agents.js +3 -3
- package/dist/retrieval-tiers.d.ts +3 -1
- package/dist/routing/engine.d.ts +3 -1
- package/dist/routing/store.d.ts +3 -1
- package/dist/routing/store.js +2 -2
- package/dist/salvage-envelope.d.ts +18 -0
- package/dist/salvage-envelope.js +15 -0
- package/dist/salvage-envelope.js.map +1 -0
- package/dist/schemas.d.ts +24 -24
- package/dist/scope-profiles-EpJG7yKP.d.ts +30 -0
- package/dist/search/document-scanner.js +3 -2
- package/dist/search/embed-helper.d.ts +3 -1
- package/dist/search/embed-helper.js +3 -3
- package/dist/search/factory.d.ts +3 -1
- package/dist/search/factory.js +19 -17
- package/dist/search/index.d.ts +3 -1
- package/dist/search/index.js +23 -21
- package/dist/search/lancedb-backend.d.ts +3 -1
- package/dist/search/lancedb-backend.js +6 -5
- package/dist/search/meilisearch-backend.d.ts +3 -1
- package/dist/search/meilisearch-backend.js +6 -5
- package/dist/search/noop-backend.d.ts +3 -1
- package/dist/search/orama-backend.d.ts +3 -1
- package/dist/search/orama-backend.js +6 -5
- package/dist/search/port.d.ts +27 -2
- package/dist/search/port.js +1 -1
- package/dist/search/remote-backend.d.ts +3 -1
- package/dist/search/remote-backend.js +3 -3
- package/dist/secure-store/index.d.ts +12 -1
- package/dist/secure-store/index.js +6 -3
- package/dist/{semantic-consolidation-fvdZRa5Z.d.ts → semantic-consolidation-DILZEQq3.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +4 -2
- package/dist/semantic-consolidation.js +41 -32
- package/dist/semantic-rule-promotion.js +37 -27
- package/dist/semantic-rule-verifier.d.ts +3 -1
- package/dist/semantic-rule-verifier.js +38 -28
- package/dist/session-observer-bands.d.ts +3 -1
- package/dist/session-observer-state.d.ts +3 -1
- package/dist/session-observer-state.js +2 -2
- package/dist/session-transcript-migration.js +2 -2
- package/dist/shared-context/manager.d.ts +3 -1
- package/dist/shared-context/manager.js +3 -3
- package/dist/signal.d.ts +3 -1
- package/dist/{storage-CrvzaM9C.d.ts → storage-NIyKYD8g.d.ts} +505 -110
- package/dist/storage-guards.js +2 -2
- package/dist/storage.d.ts +6 -3
- package/dist/storage.js +41 -29
- package/dist/structured-attributes.d.ts +23 -1
- package/dist/structured-attributes.js +7 -1
- package/dist/summarizer.d.ts +3 -1
- package/dist/summarizer.js +11 -11
- package/dist/summary-snapshot.d.ts +3 -1
- package/dist/summary-snapshot.js +2 -2
- package/dist/temporal-index-batch.d.ts +1 -0
- package/dist/temporal-index-batch.js +10 -0
- package/dist/temporal-index-batch.js.map +1 -0
- package/dist/temporal-index-compat.d.ts +279 -1
- package/dist/temporal-index-compat.js +1 -1
- package/dist/temporal-index.d.ts +1 -225
- package/dist/temporal-index.js +35 -3
- package/dist/temporal-supersession.d.ts +5 -2
- package/dist/temporal-supersession.js +2 -2
- package/dist/temporal-timeline-recall.d.ts +3 -1
- package/dist/temporal-validity.d.ts +3 -1
- package/dist/threading.d.ts +3 -1
- package/dist/threading.js +2 -2
- package/dist/tier-migration.d.ts +5 -2
- package/dist/tier-routing.d.ts +3 -1
- package/dist/{tier-stats-KV7IWCJR.js → tier-stats-QEJSPFV2.js} +2 -2
- package/dist/tokens.js +3 -3
- package/dist/topics.d.ts +3 -1
- package/dist/transcript.d.ts +3 -1
- package/dist/transcript.js +2 -2
- package/dist/transfer/backup.js +3 -3
- package/dist/transfer/capsule-export.js +3 -3
- package/dist/transfer/capsule-import.js +6 -6
- package/dist/transfer/types.d.ts +24 -24
- package/dist/trust-score-stage.d.ts +75 -38
- package/dist/trust-score-stage.js +11 -3
- package/dist/trust-score.d.ts +3 -1
- package/dist/{types-Bl4BWDM8.d.ts → types-D_fG2ix8.d.ts} +49 -63
- package/dist/types-continuity.d.ts +52 -0
- package/dist/types-continuity.js +1 -0
- package/dist/types-continuity.js.map +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +3 -1
- package/dist/utils/serialize-mutations.d.ts +31 -2
- package/dist/utils/serialize-mutations.js +1 -1
- package/dist/verified-recall.js +39 -29
- package/dist/write-envelope.d.ts +282 -0
- package/dist/write-envelope.js +35 -0
- package/dist/write-envelope.js.map +1 -0
- package/dist/write-quarantine.d.ts +79 -0
- package/dist/write-quarantine.js +11 -0
- package/dist/write-quarantine.js.map +1 -0
- package/dist/write-rate-limiter.d.ts +45 -0
- package/dist/write-rate-limiter.js +9 -0
- package/dist/write-rate-limiter.js.map +1 -0
- package/package.json +37 -2
- package/src/access-admin-ops-surface.ts +17 -7
- package/src/access-boundary.test.ts +28 -0
- package/src/access-boundary.ts +31 -2
- package/src/access-citation.test.ts +72 -0
- package/src/access-citation.ts +139 -0
- package/src/access-errors.ts +21 -0
- package/src/access-fingerprint-parity.test.ts +211 -0
- package/src/access-http-cancellation.test.ts +59 -21
- package/src/access-http.test.ts +90 -0
- package/src/access-http.ts +79 -79
- package/src/access-mcp-cancellation.test.ts +16 -7
- package/src/access-memory-search-fanout.test.ts +220 -0
- package/src/access-memory-search-fanout.ts +168 -0
- package/src/access-observe-quarantine.test.ts +120 -0
- package/src/access-observe-write-surface.ts +130 -11
- package/src/access-operations-batch.ts +2 -0
- package/src/access-recall-concurrency.ts +773 -0
- package/src/access-recall-response.ts +307 -0
- package/src/access-recall-surface.ts +100 -252
- package/src/access-service-coding-write.test.ts +22 -4
- package/src/access-service-health.test.ts +49 -0
- package/src/access-service-namespace.test.ts +486 -8
- package/src/access-service-observe-scope.test.ts +4 -0
- package/src/access-service-recall-concurrency.test.ts +1990 -0
- package/src/access-service.ts +182 -175
- package/src/access-surface-catalog.ts +1 -0
- package/src/access-token-capabilities.ts +16 -9
- package/src/active-recall.test.ts +35 -0
- package/src/active-recall.ts +7 -0
- package/src/bounded-jsonl-state.ts +93 -0
- package/src/buffer-session.test.ts +422 -5
- package/src/buffer-surprise-trigger.test.ts +41 -0
- package/src/buffer.ts +218 -3
- package/src/capabilities-cluster-b.test.ts +1 -0
- package/src/capabilities.ts +5 -6
- package/src/cli.ts +21 -22
- package/src/coding/architecture-surfaces.test.ts +6 -3
- package/src/coding/architecture-surfaces.ts +36 -25
- package/src/coding/decision-surfaces.ts +42 -34
- package/src/compounding/engine.test.ts +5 -1
- package/src/compounding/engine.ts +7 -7
- package/src/config-qmd.ts +89 -0
- package/src/config.test.ts +136 -0
- package/src/config.ts +122 -118
- package/src/connector-provenance-lifecycle.test.ts +4 -4
- package/src/connectors/coerce.test.ts +131 -0
- package/src/connectors/coerce.ts +80 -7
- package/src/contradiction/contradiction.test.ts +10 -6
- package/src/contradiction/resolution.ts +17 -4
- package/src/correction/correction-access-wiring.ts +62 -18
- package/src/cross-namespace-budget.test.ts +35 -0
- package/src/cross-namespace-budget.ts +86 -19
- package/src/explicit-capture.ts +54 -17
- package/src/extraction.ts +2 -3
- package/src/faithfulness-graph-guard.test.ts +16 -69
- package/src/graph-recall.test.ts +31 -0
- package/src/graph.test.ts +137 -1
- package/src/graph.ts +274 -17
- package/src/index.ts +22 -2
- package/src/local-llm.ts +4 -6
- package/src/logger.ts +16 -0
- package/src/maintenance/dreams-ledger.ts +100 -49
- package/src/maintenance/rebuild-memory-lifecycle-ledger-cli.ts +77 -0
- package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +373 -9
- package/src/memory-cache.ts +70 -0
- package/src/memory-lifecycle-ledger-utils.ts +51 -5
- package/src/namespaces/principal.test.ts +37 -1
- package/src/namespaces/principal.ts +48 -0
- package/src/namespaces/search.test.ts +79 -5
- package/src/namespaces/search.ts +59 -6
- package/src/namespaces/storage.ts +45 -1
- package/src/offline-sync-exclude-globs.ts +58 -0
- package/src/offline-sync-impression-drain.test.ts +316 -0
- package/src/offline-sync-impression-drain.ts +260 -0
- package/src/offline-sync.test.ts +32 -5
- package/src/offline-sync.ts +1 -14
- package/src/operator-toolkit.ts +1 -1
- package/src/orchestration/batch-deindex-flush.test.ts +146 -0
- package/src/orchestration/consolidation-run.ts +96 -85
- package/src/orchestration/extraction-envelope.ts +94 -0
- package/src/orchestration/extraction-persist-promotion.ts +134 -0
- package/src/orchestration/extraction-persist.ts +325 -260
- package/src/orchestration/extraction-run.test.ts +1 -1
- package/src/orchestration/extraction-run.ts +2 -2
- package/src/orchestration/graph-recall-coordinator.ts +18 -7
- package/src/orchestration/lifecycle-policy-coordinator.ts +63 -48
- package/src/orchestration/maintenance.test.ts +2103 -3
- package/src/orchestration/maintenance.ts +581 -2
- package/src/orchestration/namespace-read-fanout.ts +14 -8
- package/src/orchestration/orchestrator-helpers.ts +8 -1
- package/src/orchestration/orchestrator-init.ts +22 -6
- package/src/orchestration/orchestrator-namespace-scope.ts +71 -0
- package/src/orchestration/persistence-index.ts +64 -9
- package/src/orchestration/qmd-result-resolver.ts +27 -0
- package/src/orchestration/recall-entry.ts +34 -19
- package/src/orchestration/recall-internal.ts +207 -79
- package/src/orchestration/recall-rerank-coordinator.ts +229 -82
- package/src/orchestration/recall-result-formatter.ts +76 -20
- package/src/orchestration/recall-search-pipeline.test.ts +70 -0
- package/src/orchestration/recall-search-pipeline.ts +102 -129
- package/src/orchestration/recall-section-coordinator.ts +315 -85
- package/src/orchestration/semantic-consolidation-coordinator.ts +69 -37
- package/src/orchestration/session-context.ts +21 -0
- package/src/orchestration/workspace-ops.test.ts +348 -0
- package/src/orchestration/workspace-ops.ts +172 -34
- package/src/orchestrator-chunked-hash-durability.test.ts +126 -0
- package/src/orchestrator-connector-dedup.test.ts +1061 -40
- package/src/orchestrator-flush.test.ts +155 -39
- package/src/orchestrator-nonchunked-hash-durability.test.ts +121 -0
- package/src/orchestrator-source-attribution.test.ts +9 -9
- package/src/orchestrator.ts +166 -150
- package/src/prioritized-embed.ts +123 -0
- package/src/proactive-contention.test.ts +80 -0
- package/src/proactive-contention.ts +39 -0
- package/src/procedural/procedure-miner.test.ts +19 -14
- package/src/procedural/procedure-miner.ts +44 -13
- package/src/qmd-client.test.ts +111 -1
- package/src/qmd-status.ts +186 -0
- package/src/qmd.test.ts +22 -0
- package/src/qmd.ts +60 -48
- package/src/recall-budget-config.test.ts +30 -0
- package/src/recall-cold-deadline.test.ts +149 -0
- package/src/recall-concurrency-config.ts +28 -0
- package/src/recall-memory-map.ts +74 -0
- package/src/recall-rerank-coordinator.test.ts +508 -0
- package/src/recall-state.test.ts +825 -1
- package/src/recall-state.ts +406 -7
- package/src/recall-timings-access.test.ts +41 -0
- package/src/recall-timings.ts +16 -0
- package/src/relay/mission-access.test.ts +5 -5
- package/src/rerank.ts +22 -0
- package/src/retrieval-agents.test.ts +79 -0
- package/src/retrieval-agents.ts +71 -19
- package/src/salvage-envelope.ts +28 -0
- package/src/scopes/scope-plan.test.ts +42 -0
- package/src/scopes/scope-plan.ts +45 -0
- package/src/search/port.ts +24 -0
- package/src/secure-store/index.ts +1 -0
- package/src/secure-store/secure-fs.ts +48 -0
- package/src/secure-store/secure-store.test.ts +40 -0
- package/src/semantic-rule-promotion.ts +13 -4
- package/src/storage/content-hash-index.ts +655 -0
- package/src/storage/entity-timeline.ts +473 -0
- package/src/storage/memory-lifecycle-ledger-access.ts +603 -0
- package/src/storage/secure-line-reader.test.ts +197 -0
- package/src/storage/secure-line-reader.ts +181 -3
- package/src/storage-append-header-sniff.test.ts +195 -0
- package/src/storage-behavior-signals-cache.test.ts +237 -0
- package/src/storage-contract/cache-coherence.test.ts +96 -1
- package/src/storage-contract/content-hash.test.ts +47 -2
- package/src/storage-fact-hash-index-defer.test.ts +1200 -0
- package/src/storage-memory-lifecycle-ledger.test.ts +1146 -3
- package/src/storage.ts +942 -903
- package/src/structured-attributes.ts +52 -0
- package/src/temporal-index-batch.ts +112 -0
- package/src/temporal-index.test.ts +193 -0
- package/src/temporal-index.ts +49 -53
- package/src/testing/lifecycle-matrix.test.ts +212 -0
- package/src/testing/lifecycle-matrix.ts +271 -0
- package/src/testing/orchestrator-lite.ts +236 -0
- package/src/testing/subjects/dreams-ledger.test.ts +67 -0
- package/src/testing/subjects/extraction-lifecycle.test.ts +442 -0
- package/src/testing/subjects/lifecycle-ledger.test.ts +93 -0
- package/src/testing/subjects/recall-budget.test.ts +461 -0
- package/src/testing/subjects/serialized-write-chain.test.ts +224 -0
- package/src/trust-score-stage.test.ts +154 -0
- package/src/trust-score-stage.ts +216 -53
- package/src/types-continuity.ts +57 -0
- package/src/types.ts +66 -77
- package/src/utils/path-containment.test.ts +75 -0
- package/src/utils/path-containment.ts +76 -0
- package/src/utils/serialize-mutations.test.ts +122 -0
- package/src/utils/serialize-mutations.ts +68 -3
- package/src/wearables/memory-gen.test.ts +31 -9
- package/src/wearables/memory-gen.ts +95 -55
- package/src/wearables/pipeline.test.ts +10 -7
- package/src/wearables/service.test.ts +6 -8
- package/src/wearables/service.ts +2 -2
- package/src/write-envelope.extension.test.ts +111 -0
- package/src/write-envelope.test.ts +683 -0
- package/src/write-envelope.ts +902 -0
- package/src/write-quarantine.test.ts +193 -0
- package/src/write-quarantine.ts +241 -0
- package/src/write-rate-limiter.test.ts +105 -0
- package/src/write-rate-limiter.ts +135 -0
- package/src/write-sealed-parity.test.ts +204 -0
- package/dist/chunk-2VN4JAX7.js.map +0 -1
- package/dist/chunk-37CTGERM.js.map +0 -1
- package/dist/chunk-7ICYQUOL.js.map +0 -1
- package/dist/chunk-AD6AMF2N.js.map +0 -1
- package/dist/chunk-AHLPZ2SF.js.map +0 -1
- package/dist/chunk-ASKEM4AR.js.map +0 -1
- package/dist/chunk-B3F4CWQR.js.map +0 -1
- package/dist/chunk-BCDKBDSY.js.map +0 -1
- package/dist/chunk-BFPETA3S.js.map +0 -1
- package/dist/chunk-BFVEEB7W.js.map +0 -1
- package/dist/chunk-E5BK6CGV.js +0 -335
- package/dist/chunk-E5BK6CGV.js.map +0 -1
- package/dist/chunk-EEARRVZ2.js.map +0 -1
- package/dist/chunk-F7AU34FC.js.map +0 -1
- package/dist/chunk-FBNWOMCE.js.map +0 -1
- package/dist/chunk-FTYDWKO6.js.map +0 -1
- package/dist/chunk-GMSDQUCR.js.map +0 -1
- package/dist/chunk-GWTFLF2P.js.map +0 -1
- package/dist/chunk-IFJ23BHU.js.map +0 -1
- package/dist/chunk-IKQTFQMI.js.map +0 -1
- package/dist/chunk-J2HSAU72.js.map +0 -1
- package/dist/chunk-JMBVCAR4.js.map +0 -1
- package/dist/chunk-KQDNAXOM.js.map +0 -1
- package/dist/chunk-KSBEEMQF.js.map +0 -1
- package/dist/chunk-KSNVDPDF.js.map +0 -1
- package/dist/chunk-LC7OODWZ.js.map +0 -1
- package/dist/chunk-LTJAMRGI.js.map +0 -1
- package/dist/chunk-ND5M64JJ.js.map +0 -1
- package/dist/chunk-NUWYOKS6.js.map +0 -1
- package/dist/chunk-NWTGD4AN.js.map +0 -1
- package/dist/chunk-OBMR4VIX.js.map +0 -1
- package/dist/chunk-ODPLEWB6.js.map +0 -1
- package/dist/chunk-PHK3HARR.js +0 -32
- package/dist/chunk-PHK3HARR.js.map +0 -1
- package/dist/chunk-RANHFI3P.js +0 -8
- package/dist/chunk-RANHFI3P.js.map +0 -1
- package/dist/chunk-RBQLJSJ7.js.map +0 -1
- package/dist/chunk-RULE4VG5.js.map +0 -1
- package/dist/chunk-SVOZFLIQ.js +0 -16
- package/dist/chunk-SVOZFLIQ.js.map +0 -1
- package/dist/chunk-TXLGHDHS.js.map +0 -1
- package/dist/chunk-UN3CH3CO.js +0 -118
- package/dist/chunk-UN3CH3CO.js.map +0 -1
- package/dist/chunk-VSMRDBFT.js +0 -17
- package/dist/chunk-VSMRDBFT.js.map +0 -1
- package/dist/chunk-WU46YPY6.js.map +0 -1
- package/dist/chunk-X47LWMKA.js.map +0 -1
- package/dist/chunk-X64YLC24.js.map +0 -1
- package/dist/chunk-XVLEGMJI.js.map +0 -1
- package/dist/chunk-YF6FMLBT.js.map +0 -1
- package/dist/resolution-VH4NGENZ.js +0 -12
- /package/dist/{capsule-crypto-CZJSLEFG.js.map → access-citation.js.map} +0 -0
- /package/dist/{contradiction-scan-J57T5QV7.js.map → access-memory-search-fanout.js.map} +0 -0
- /package/dist/{dreams-ledger-6UODQOX6.js.map → access-recall-concurrency.js.map} +0 -0
- /package/dist/{graph-edge-decay-FO7AM4UR.js.map → access-recall-response.js.map} +0 -0
- /package/dist/{resolution-VH4NGENZ.js.map → bounded-jsonl-state.js.map} +0 -0
- /package/dist/{capsule-merge-Z2HUO6IK.js.map → capsule-merge-5KKJQBWQ.js.map} +0 -0
- /package/dist/{chunk-A3GOMRJG.js.map → chunk-23L3IXFD.js.map} +0 -0
- /package/dist/{chunk-MRHFJV44.js.map → chunk-2DQ2XREU.js.map} +0 -0
- /package/dist/{chunk-L2B3EE7B.js.map → chunk-2QMKMVHH.js.map} +0 -0
- /package/dist/{chunk-6CALL5VN.js.map → chunk-2UFO7X4Q.js.map} +0 -0
- /package/dist/{chunk-2MR3MFQB.js.map → chunk-2VEOKUPP.js.map} +0 -0
- /package/dist/{chunk-RHOZ5LLO.js.map → chunk-347WD2LE.js.map} +0 -0
- /package/dist/{chunk-5S7Z5SHA.js.map → chunk-34RC5RT7.js.map} +0 -0
- /package/dist/{chunk-KGWXHWAH.js.map → chunk-3QAH2S33.js.map} +0 -0
- /package/dist/{chunk-ZIDSD6VC.js.map → chunk-3Y224NYC.js.map} +0 -0
- /package/dist/{chunk-VFSP73LP.js.map → chunk-45GF7Y3V.js.map} +0 -0
- /package/dist/{chunk-OEHCMALU.js.map → chunk-5I4M26Q7.js.map} +0 -0
- /package/dist/{chunk-2E6G7FCE.js.map → chunk-5Q7EVV4X.js.map} +0 -0
- /package/dist/{chunk-VZ5OJE4X.js.map → chunk-5VQJBH2G.js.map} +0 -0
- /package/dist/{chunk-PUBTHW5O.js.map → chunk-6DRPPQEJ.js.map} +0 -0
- /package/dist/{chunk-4LEF6XWJ.js.map → chunk-6O22TZSB.js.map} +0 -0
- /package/dist/{chunk-ZQ7UBUZ6.js.map → chunk-6QYST5XN.js.map} +0 -0
- /package/dist/{chunk-W4PGTAS2.js.map → chunk-6WAFYNVT.js.map} +0 -0
- /package/dist/{chunk-R5VAVVHP.js.map → chunk-72A4L5JJ.js.map} +0 -0
- /package/dist/{chunk-3FAMU5TX.js.map → chunk-A6USBZTO.js.map} +0 -0
- /package/dist/{chunk-TXVD7PLT.js.map → chunk-A72SWTWW.js.map} +0 -0
- /package/dist/{chunk-FC77VUX5.js.map → chunk-A7Q43EUZ.js.map} +0 -0
- /package/dist/{chunk-UJBESW6X.js.map → chunk-AE7WMV4V.js.map} +0 -0
- /package/dist/{chunk-OKUEZOGW.js.map → chunk-AITCS2RC.js.map} +0 -0
- /package/dist/{chunk-OC35KQIN.js.map → chunk-AJ7QCSIS.js.map} +0 -0
- /package/dist/{chunk-FNMFJWBY.js.map → chunk-ANEUPF6O.js.map} +0 -0
- /package/dist/{chunk-2A3OXAP2.js.map → chunk-B7RWBZXW.js.map} +0 -0
- /package/dist/{chunk-N3JDIRBW.js.map → chunk-BLAKS3CP.js.map} +0 -0
- /package/dist/{chunk-M7VGG3ID.js.map → chunk-BV5WMSIJ.js.map} +0 -0
- /package/dist/{chunk-2BFLDH5F.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-UXKMMNJD.js.map → chunk-C23BYTJV.js.map} +0 -0
- /package/dist/{chunk-JZHHREBL.js.map → chunk-C3AKM55W.js.map} +0 -0
- /package/dist/{chunk-RP7YXA67.js.map → chunk-C5JF6EZ7.js.map} +0 -0
- /package/dist/{chunk-DDGV7NAX.js.map → chunk-CQMEM5CC.js.map} +0 -0
- /package/dist/{chunk-A7B4RMQG.js.map → chunk-CXZQOVIE.js.map} +0 -0
- /package/dist/{chunk-7N2RUBAP.js.map → chunk-DDA47TES.js.map} +0 -0
- /package/dist/{chunk-64SE4X5G.js.map → chunk-DEBHXHJR.js.map} +0 -0
- /package/dist/{chunk-EHK6KZHK.js.map → chunk-DNHVPZOD.js.map} +0 -0
- /package/dist/{chunk-437S3G37.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-LZZNTPLR.js.map → chunk-DX3XRGLH.js.map} +0 -0
- /package/dist/{chunk-7MW3CVLD.js.map → chunk-ES36HTSC.js.map} +0 -0
- /package/dist/{chunk-TN7THW5U.js.map → chunk-ET356KSB.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-7LFXDGLH.js.map → chunk-F7GAIWFA.js.map} +0 -0
- /package/dist/{chunk-IKSELOIV.js.map → chunk-FFPJINJE.js.map} +0 -0
- /package/dist/{chunk-V53GJUSL.js.map → chunk-FUTF72MJ.js.map} +0 -0
- /package/dist/{chunk-5UNWK7KU.js.map → chunk-GFPZS3F5.js.map} +0 -0
- /package/dist/{chunk-G6NKALRN.js.map → chunk-H4WG3UQZ.js.map} +0 -0
- /package/dist/{chunk-HLTAPHZZ.js.map → chunk-HNZKVLAN.js.map} +0 -0
- /package/dist/{chunk-5EZXHU36.js.map → chunk-HYQJQGD3.js.map} +0 -0
- /package/dist/{chunk-TRWPCR6P.js.map → chunk-JECBQBEX.js.map} +0 -0
- /package/dist/{chunk-HG32URJJ.js.map → chunk-JYIFGGEM.js.map} +0 -0
- /package/dist/{chunk-VA4WSW54.js.map → chunk-JYIJNNN3.js.map} +0 -0
- /package/dist/{chunk-L5HJQC36.js.map → chunk-K2TDK7GG.js.map} +0 -0
- /package/dist/{chunk-MKDRQAA3.js.map → chunk-KAVBJSBQ.js.map} +0 -0
- /package/dist/{chunk-4OKLXWDZ.js.map → chunk-KNB7IBBU.js.map} +0 -0
- /package/dist/{chunk-QLULYKWZ.js.map → chunk-KSXJOC4F.js.map} +0 -0
- /package/dist/{chunk-JI5AVXYO.js.map → chunk-LEPOP46W.js.map} +0 -0
- /package/dist/{chunk-O7BBFJLP.js.map → chunk-LTAVSOZW.js.map} +0 -0
- /package/dist/{chunk-2IZAGAJR.js.map → chunk-LULR4IUW.js.map} +0 -0
- /package/dist/{chunk-WMWVO45V.js.map → chunk-MC6XO7T4.js.map} +0 -0
- /package/dist/{chunk-D6RIFG4O.js.map → chunk-MNB5RMAY.js.map} +0 -0
- /package/dist/{chunk-67ZCJLJY.js.map → chunk-MYFQ3ED4.js.map} +0 -0
- /package/dist/{chunk-V3UE5I5F.js.map → chunk-MYVPLJOO.js.map} +0 -0
- /package/dist/{chunk-MTWKDOVO.js.map → chunk-NLE6TSLG.js.map} +0 -0
- /package/dist/{chunk-DBRYEIGY.js.map → chunk-OJP3N7UK.js.map} +0 -0
- /package/dist/{chunk-SMX5267P.js.map → chunk-OZKOPQCM.js.map} +0 -0
- /package/dist/{chunk-JCK7V6SN.js.map → chunk-P65YJEEL.js.map} +0 -0
- /package/dist/{chunk-MTR7BZQN.js.map → chunk-PBGWYM3H.js.map} +0 -0
- /package/dist/{chunk-AXTXN4T6.js.map → chunk-PWFCHOB3.js.map} +0 -0
- /package/dist/{chunk-FDPZVY6D.js.map → chunk-QFN4U7AG.js.map} +0 -0
- /package/dist/{chunk-K2ZLHESQ.js.map → chunk-QIEUU4UK.js.map} +0 -0
- /package/dist/{chunk-3D6AFGQR.js.map → chunk-QVT3E4CE.js.map} +0 -0
- /package/dist/{chunk-SFQ6QNL7.js.map → chunk-R6YJI3HE.js.map} +0 -0
- /package/dist/{chunk-5CJVLG3H.js.map → chunk-RFDD3B7W.js.map} +0 -0
- /package/dist/{chunk-JBPKEARU.js.map → chunk-RKNJBZ55.js.map} +0 -0
- /package/dist/{chunk-UTRJFDP2.js.map → chunk-S2BBISHU.js.map} +0 -0
- /package/dist/{chunk-IALLX7EE.js.map → chunk-S2FSBU4H.js.map} +0 -0
- /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
- /package/dist/{chunk-PK5XBDA6.js.map → chunk-U3ZAVRP3.js.map} +0 -0
- /package/dist/{chunk-4KJLYTLS.js.map → chunk-V57NLO5P.js.map} +0 -0
- /package/dist/{chunk-FLVL4L3L.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-7XGSIUP5.js.map → chunk-W4FBGYGK.js.map} +0 -0
- /package/dist/{chunk-6SXVCD7W.js.map → chunk-W7IGLX4G.js.map} +0 -0
- /package/dist/{chunk-KAWTOYAW.js.map → chunk-WLZYGLJ4.js.map} +0 -0
- /package/dist/{chunk-W5NKDU24.js.map → chunk-WON4APQY.js.map} +0 -0
- /package/dist/{chunk-NKCPUHCI.js.map → chunk-WZFAPHIK.js.map} +0 -0
- /package/dist/{chunk-KQPJLK3X.js.map → chunk-XL24QQ63.js.map} +0 -0
- /package/dist/{chunk-4B4MUS5D.js.map → chunk-YROFNEG5.js.map} +0 -0
- /package/dist/{chunk-VRAD2FGO.js.map → chunk-Z54EM5YZ.js.map} +0 -0
- /package/dist/{first-start-migration-TI67YMLG.js.map → first-start-migration-CSRHCJIQ.js.map} +0 -0
- /package/dist/{forget-CQCLB5LB.js.map → forget-HRPLVB3W.js.map} +0 -0
- /package/dist/{purge-NDWV6WYD.js.map → purge-IRF47ZTX.js.map} +0 -0
- /package/dist/{tier-stats-KV7IWCJR.js.map → tier-stats-QEJSPFV2.js.map} +0 -0
package/dist/profiling.js
CHANGED
package/dist/provenance.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { U as ProvenanceSource, ap as ProvenanceConfig, o as MemoryFrontmatter } from './types-D_fG2ix8.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
|
+
import './bounded-jsonl-state.js';
|
|
4
|
+
import './types-continuity.js';
|
|
3
5
|
|
|
4
6
|
/**
|
|
5
7
|
* Claim-level provenance spans (issue #1575 PR 1).
|
package/dist/provenance.js
CHANGED
|
@@ -5,12 +5,13 @@ import {
|
|
|
5
5
|
parseProvenanceTag,
|
|
6
6
|
reconcileProvenanceRead,
|
|
7
7
|
serializeProvenanceFields
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-PHK3HARR.js";
|
|
8
|
+
} from "./chunk-5I4M26Q7.js";
|
|
10
9
|
import "./chunk-5GKPFL3S.js";
|
|
10
|
+
import "./chunk-PQVCH2AE.js";
|
|
11
11
|
import "./chunk-JUC24CTX.js";
|
|
12
12
|
import "./chunk-6MKAMLQL.js";
|
|
13
13
|
import "./chunk-JAKIDQB2.js";
|
|
14
|
+
import "./chunk-3WCASNQZ.js";
|
|
14
15
|
import "./chunk-PZ5AY32C.js";
|
|
15
16
|
export {
|
|
16
17
|
buildFactProvenance,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
markProjectedMemoryPathInvalid
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-347WD2LE.js";
|
|
4
4
|
import "./chunk-RL6NEVXT.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-3WCASNQZ.js";
|
|
6
6
|
import "./chunk-PZ5AY32C.js";
|
|
7
7
|
|
|
8
8
|
// src/maintenance/purge.ts
|
|
@@ -209,4 +209,4 @@ async function purgeMemories(options) {
|
|
|
209
209
|
export {
|
|
210
210
|
purgeMemories
|
|
211
211
|
};
|
|
212
|
-
//# sourceMappingURL=purge-
|
|
212
|
+
//# sourceMappingURL=purge-IRF47ZTX.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Q as QmdSearchResult,
|
|
1
|
+
import { Q as QmdSearchResult, at as QmdSearchExplain } from './types-D_fG2ix8.js';
|
|
2
2
|
import { SearchBackend, SearchExecutionOptions, SearchQueryOptions } from './search/port.js';
|
|
3
|
+
import { QmdStatusReport } from './qmd-status.js';
|
|
3
4
|
|
|
4
5
|
declare const QMD_PROBE_TIMEOUT_MS = 8000;
|
|
5
6
|
declare const QMD_PROBE_RETRY_BACKOFF_MS: number[];
|
|
@@ -132,6 +133,7 @@ interface QmdDoctorReport {
|
|
|
132
133
|
raw?: string;
|
|
133
134
|
error?: string;
|
|
134
135
|
}
|
|
136
|
+
|
|
135
137
|
type QmdRuntimeEnv = Record<string, string | undefined>;
|
|
136
138
|
/**
|
|
137
139
|
* Build the structured sub-queries the daemon `query` tool runs in one request.
|
|
@@ -240,6 +242,12 @@ declare class QmdClient implements SearchBackend {
|
|
|
240
242
|
debugStatus(): string;
|
|
241
243
|
getVersionStatus(): QmdVersionStatus;
|
|
242
244
|
doctor(): Promise<QmdDoctorReport>;
|
|
245
|
+
/**
|
|
246
|
+
* Query QMD collection status for embedding backlog metrics.
|
|
247
|
+
* Runs `qmd status -c <collection>` and parses the text output.
|
|
248
|
+
* Returns null fields when the command fails or output is unparseable.
|
|
249
|
+
*/
|
|
250
|
+
status(): Promise<QmdStatusReport>;
|
|
243
251
|
isDaemonMode(): boolean;
|
|
244
252
|
dispose(): Promise<void>;
|
|
245
253
|
/**
|
|
@@ -322,6 +330,8 @@ declare class QmdClient implements SearchBackend {
|
|
|
322
330
|
embedStrict(): Promise<void>;
|
|
323
331
|
embedCollection(collection: string): Promise<void>;
|
|
324
332
|
embedCollectionStrict(collection: string): Promise<void>;
|
|
333
|
+
/** Trigger a collection-level embed for fresh writes (debounced by prioritized-embed). */
|
|
334
|
+
embedFiles(filePaths: string[]): Promise<boolean>;
|
|
325
335
|
private runEmbedForCollection;
|
|
326
336
|
checkCollection(collectionOrExecution?: string | SearchExecutionOptions, execution?: SearchExecutionOptions): Promise<"present" | "missing" | "unknown" | "skipped">;
|
|
327
337
|
ensureCollection(memoryDir: string, collectionOrExecution?: string | SearchExecutionOptions, execution?: SearchExecutionOptions): Promise<"present" | "missing" | "unknown" | "skipped">;
|
package/dist/qmd-preflight.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export { a as QMD_PROBE_RETRY_BACKOFF_MS, b as QMD_PROBE_TIMEOUT_MS, c as QMD_SUPPORTED_VERSION, d as QmdProbeFailureKind, e as classifyProbeFailure, f as compareQmdVersions, g as getQmdPostInstallProbeTargets, p as parseQmdVersion, h as parseQmdVersionOutput, q as qmdVersionToString, r as resolveQmdCapabilities, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-
|
|
2
|
-
import './types-
|
|
1
|
+
export { a as QMD_PROBE_RETRY_BACKOFF_MS, b as QMD_PROBE_TIMEOUT_MS, c as QMD_SUPPORTED_VERSION, d as QmdProbeFailureKind, e as classifyProbeFailure, f as compareQmdVersions, g as getQmdPostInstallProbeTargets, p as parseQmdVersion, h as parseQmdVersionOutput, q as qmdVersionToString, r as resolveQmdCapabilities, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-oh9VXz1d.js';
|
|
2
|
+
import './types-D_fG2ix8.js';
|
|
3
3
|
import './message-parts/index.js';
|
|
4
|
+
import './bounded-jsonl-state.js';
|
|
5
|
+
import './types-continuity.js';
|
|
4
6
|
import './search/port.js';
|
|
7
|
+
import './qmd-status.js';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { R as RecallPlanMode } from './types-D_fG2ix8.js';
|
|
2
2
|
import { SearchQueryOptions } from './search/port.js';
|
|
3
3
|
import './message-parts/index.js';
|
|
4
|
+
import './bounded-jsonl-state.js';
|
|
5
|
+
import './types-continuity.js';
|
|
4
6
|
|
|
5
7
|
type QmdRecallCacheSource = "fresh" | "stale";
|
|
6
8
|
interface QmdRecallCacheHit<T> {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QMD status parsing and backlog reporting helpers.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from qmd.ts to keep that module under its structural ceiling.
|
|
5
|
+
* Issue #2019: expose embedding backlog metrics in health and CLI surfaces.
|
|
6
|
+
*/
|
|
7
|
+
interface QmdStatusReport {
|
|
8
|
+
totalFiles: number | null;
|
|
9
|
+
embeddedFiles: number | null;
|
|
10
|
+
pendingEmbeddings: number | null;
|
|
11
|
+
/** Age in ms of the oldest file still pending embedding, or null if unavailable. */
|
|
12
|
+
oldestPendingAgeMs: number | null;
|
|
13
|
+
/** Raw text output from `qmd status` for debugging. */
|
|
14
|
+
raw: string;
|
|
15
|
+
/** Error message when the status command fails, if any. */
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
/** Minimal interface for backends that expose QMD status. */
|
|
19
|
+
interface QmdStatusCapable {
|
|
20
|
+
status(): Promise<QmdStatusReport>;
|
|
21
|
+
}
|
|
22
|
+
declare function parseQmdStatusOutput(stdout: string): QmdStatusReport;
|
|
23
|
+
/** Empty status report returned when QMD is unavailable or the command fails. */
|
|
24
|
+
declare const EMPTY_QMD_STATUS: QmdStatusReport;
|
|
25
|
+
/**
|
|
26
|
+
* Format backlog lines from a pre-resolved status report.
|
|
27
|
+
* Returns display strings for CLI output; empty array when unavailable.
|
|
28
|
+
*/
|
|
29
|
+
declare function formatBacklogLinesFromReport(report: QmdStatusReport | null | undefined, threshold: number): string[];
|
|
30
|
+
/**
|
|
31
|
+
* Fetch QMD status and format backlog lines for CLI output.
|
|
32
|
+
* Returns empty array when the backend lacks status() or the call fails.
|
|
33
|
+
*/
|
|
34
|
+
declare function renderQmdBacklogStatus(qmd: unknown, threshold: number): Promise<string[]>;
|
|
35
|
+
type QmdCommandRunner = (args: string[], timeoutMs: number) => Promise<{
|
|
36
|
+
stdout: string;
|
|
37
|
+
stderr: string;
|
|
38
|
+
}>;
|
|
39
|
+
/**
|
|
40
|
+
* Fetch QMD collection status via the `qmd status` command. Returns an
|
|
41
|
+
* unavailable report (with `error` set) when the command fails.
|
|
42
|
+
*/
|
|
43
|
+
declare function fetchQmdStatus(runQmdCommand: QmdCommandRunner, collection: string, timeoutMs: number): Promise<QmdStatusReport>;
|
|
44
|
+
/**
|
|
45
|
+
* Trigger a collection-level embed run via `qmd embed -c <collection>`.
|
|
46
|
+
* The QMD CLI does not support per-file embed targeting; this triggers
|
|
47
|
+
* embedding for all pending files in the collection. The prioritized-embed
|
|
48
|
+
* module debounces and batches these triggers so fresh writes become
|
|
49
|
+
* searchable within minutes without hammering the CLI on every write.
|
|
50
|
+
* Returns `{ ok: false }` on failure so callers can reschedule without crashing.
|
|
51
|
+
*/
|
|
52
|
+
declare function embedQmdFiles(runQmdCommand: QmdCommandRunner, collection: string, _filePaths: string[], timeoutMs: number, embedArgs?: string[]): Promise<{
|
|
53
|
+
ok: boolean;
|
|
54
|
+
error?: string;
|
|
55
|
+
}>;
|
|
56
|
+
|
|
57
|
+
export { EMPTY_QMD_STATUS, type QmdCommandRunner, type QmdStatusCapable, type QmdStatusReport, embedQmdFiles, fetchQmdStatus, formatBacklogLinesFromReport, parseQmdStatusOutput, renderQmdBacklogStatus };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EMPTY_QMD_STATUS,
|
|
3
|
+
embedQmdFiles,
|
|
4
|
+
fetchQmdStatus,
|
|
5
|
+
formatBacklogLinesFromReport,
|
|
6
|
+
parseQmdStatusOutput,
|
|
7
|
+
renderQmdBacklogStatus
|
|
8
|
+
} from "./chunk-IUM3VSHI.js";
|
|
9
|
+
import "./chunk-PZ5AY32C.js";
|
|
10
|
+
export {
|
|
11
|
+
EMPTY_QMD_STATUS,
|
|
12
|
+
embedQmdFiles,
|
|
13
|
+
fetchQmdStatus,
|
|
14
|
+
formatBacklogLinesFromReport,
|
|
15
|
+
parseQmdStatusOutput,
|
|
16
|
+
renderQmdBacklogStatus
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=qmd-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/qmd.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import './types-
|
|
1
|
+
import './types-D_fG2ix8.js';
|
|
2
2
|
import './search/port.js';
|
|
3
|
-
export { c as QMD_SUPPORTED_VERSION, i as QmdCapabilities, j as QmdChunkStrategy, Q as QmdClient, k as QmdClientOptions, l as QmdDoctorReport, m as QmdSearchStrategy, n as QmdStructuredSearch, o as QmdStructuredSearchType, t as QmdSubprocessStrategy, u as QmdVersionStatus, w as QmdVersionTuple, x as buildDefaultStructuredSearches, f as compareQmdVersions, y as getQmdCommandName, g as getQmdPostInstallProbeTargets, z as parseQmdExplain, p as parseQmdVersion, h as parseQmdVersionOutput, A as releaseSharedDaemonSessionForTest, r as resolveQmdCapabilities, B as retainSharedDaemonSessionForTest, C as sharedDaemonSessionCountForTest, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-
|
|
3
|
+
export { c as QMD_SUPPORTED_VERSION, i as QmdCapabilities, j as QmdChunkStrategy, Q as QmdClient, k as QmdClientOptions, l as QmdDoctorReport, m as QmdSearchStrategy, n as QmdStructuredSearch, o as QmdStructuredSearchType, t as QmdSubprocessStrategy, u as QmdVersionStatus, w as QmdVersionTuple, x as buildDefaultStructuredSearches, f as compareQmdVersions, y as getQmdCommandName, g as getQmdPostInstallProbeTargets, z as parseQmdExplain, p as parseQmdVersion, h as parseQmdVersionOutput, A as releaseSharedDaemonSessionForTest, r as resolveQmdCapabilities, B as retainSharedDaemonSessionForTest, C as sharedDaemonSessionCountForTest, s as shouldAutoUpgradeQmd, v as versionAtLeast } from './qmd-oh9VXz1d.js';
|
|
4
|
+
export { QmdStatusReport, parseQmdStatusOutput } from './qmd-status.js';
|
|
4
5
|
import './message-parts/index.js';
|
|
6
|
+
import './bounded-jsonl-state.js';
|
|
7
|
+
import './types-continuity.js';
|
package/dist/qmd.js
CHANGED
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
releaseSharedDaemonSession,
|
|
7
7
|
retainSharedDaemonSession,
|
|
8
8
|
sharedDaemonSessionCountForTest
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-QJAQNXWI.js";
|
|
10
|
+
import "./chunk-YV32N67O.js";
|
|
11
11
|
import {
|
|
12
12
|
QMD_SUPPORTED_VERSION,
|
|
13
13
|
compareQmdVersions,
|
|
@@ -18,12 +18,15 @@ import {
|
|
|
18
18
|
shouldAutoUpgradeQmd,
|
|
19
19
|
versionAtLeast
|
|
20
20
|
} from "./chunk-64UDOIMI.js";
|
|
21
|
+
import {
|
|
22
|
+
parseQmdStatusOutput
|
|
23
|
+
} from "./chunk-IUM3VSHI.js";
|
|
21
24
|
import "./chunk-O75CRYGF.js";
|
|
22
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-XMMESCPD.js";
|
|
23
26
|
import "./chunk-42JKGUFJ.js";
|
|
24
27
|
import "./chunk-JUC24CTX.js";
|
|
25
|
-
import "./chunk-37CTGERM.js";
|
|
26
28
|
import "./chunk-PVGDJXVK.js";
|
|
29
|
+
import "./chunk-3WCASNQZ.js";
|
|
27
30
|
import "./chunk-PZ5AY32C.js";
|
|
28
31
|
export {
|
|
29
32
|
QMD_SUPPORTED_VERSION,
|
|
@@ -33,6 +36,7 @@ export {
|
|
|
33
36
|
getQmdCommandName,
|
|
34
37
|
getQmdPostInstallProbeTargets,
|
|
35
38
|
parseQmdExplain,
|
|
39
|
+
parseQmdStatusOutput,
|
|
36
40
|
parseQmdVersion,
|
|
37
41
|
parseQmdVersionOutput,
|
|
38
42
|
releaseSharedDaemonSession as releaseSharedDaemonSessionForTest,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { P as PluginConfig } from './types-D_fG2ix8.js';
|
|
2
|
+
import './message-parts/index.js';
|
|
3
|
+
import './bounded-jsonl-state.js';
|
|
4
|
+
import './types-continuity.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Parse the per-principal recall concurrency knobs from raw config.
|
|
8
|
+
*
|
|
9
|
+
* `recallMaxConcurrentPerPrincipal` accepts only finite integers >= 0 so `0`
|
|
10
|
+
* means "unlimited" deliberately. A fractional typo like `0.5` must NOT floor to
|
|
11
|
+
* `0` (which would silently disable the cap); it falls back to the default 4
|
|
12
|
+
* (AGENTS.md #1/#17).
|
|
13
|
+
*/
|
|
14
|
+
declare function parseRecallConcurrencyConfig(cfg: Record<string, unknown>): Pick<PluginConfig, "recallMaxConcurrentPerPrincipal" | "recallSingleFlightEnabled">;
|
|
15
|
+
|
|
16
|
+
export { parseRecallConcurrencyConfig };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseRecallConcurrencyConfig
|
|
3
|
+
} from "./chunk-6ZMAMSHS.js";
|
|
4
|
+
import "./chunk-PQVCH2AE.js";
|
|
5
|
+
import "./chunk-3WCASNQZ.js";
|
|
6
|
+
import "./chunk-PZ5AY32C.js";
|
|
7
|
+
export {
|
|
8
|
+
parseRecallConcurrencyConfig
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=recall-concurrency-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b as RecallDisclosure } from './types-D_fG2ix8.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
|
+
import './bounded-jsonl-state.js';
|
|
4
|
+
import './types-continuity.js';
|
|
3
5
|
|
|
4
6
|
/**
|
|
5
7
|
* Recall disclosure auto-escalation policy (issue #677 PR 4/4).
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { LastRecallSnapshot } from './recall-state.js';
|
|
2
|
-
import {
|
|
2
|
+
import { g as RecallTierExplain } from './types-D_fG2ix8.js';
|
|
3
3
|
import { RecallXraySnapshot } from './recall-xray.js';
|
|
4
|
+
import './utils/serialize-mutations.js';
|
|
4
5
|
import './search/port.js';
|
|
5
6
|
import './message-parts/index.js';
|
|
7
|
+
import './bounded-jsonl-state.js';
|
|
8
|
+
import './types-continuity.js';
|
|
6
9
|
import './memory-provenance.js';
|
|
7
10
|
import './user-model.js';
|
|
8
11
|
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
toRecallExplainJson,
|
|
6
6
|
toRecallExplainText,
|
|
7
7
|
toRecallXraySnapshotFromLegacy
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CQMEM5CC.js";
|
|
9
9
|
import "./chunk-SOBJ6NEY.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-U3ZAVRP3.js";
|
|
11
|
+
import "./chunk-YVKF3HEW.js";
|
|
12
12
|
import "./chunk-I4WBNM3M.js";
|
|
13
13
|
import "./chunk-SOAU2OE2.js";
|
|
14
14
|
import "./chunk-PZ5AY32C.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Q as QmdSearchResult, M as MemoryFile } from './types-D_fG2ix8.js';
|
|
2
|
+
import './message-parts/index.js';
|
|
3
|
+
import './bounded-jsonl-state.js';
|
|
4
|
+
import './types-continuity.js';
|
|
5
|
+
|
|
6
|
+
declare function memoryMapKey(result: Pick<QmdSearchResult, "namespace" | "path">): string;
|
|
7
|
+
declare function memoryForResult(memoryByPath: ReadonlyMap<string, MemoryFile>, result: Pick<QmdSearchResult, "namespace" | "path">): MemoryFile | undefined;
|
|
8
|
+
declare function hasMemoryForResult(memoryByPath: ReadonlyMap<string, MemoryFile>, result: Pick<QmdSearchResult, "namespace" | "path">): boolean;
|
|
9
|
+
declare function markResultKey(keys: Set<string>, result: Pick<QmdSearchResult, "namespace" | "path">): void;
|
|
10
|
+
declare function resultHasKey(keys: ReadonlySet<string>, result: Pick<QmdSearchResult, "namespace" | "path">): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Merge recall results from multiple producers, deduplicating by the composite
|
|
13
|
+
* (namespace, path) identity so the same memory found by a fanout hit and a
|
|
14
|
+
* seed/hybrid/archive hit collapses to ONE entry instead of being injected and
|
|
15
|
+
* access-tracked twice (#2020). The namespace is resolved the SAME way on every
|
|
16
|
+
* producer — carried when present, else derived from the path — and stamped on
|
|
17
|
+
* the surviving result. Highest score wins; a surviving result keeps its own
|
|
18
|
+
* snippet, falling back to the displaced entry's snippet when empty. Results are
|
|
19
|
+
* returned sorted by descending score and capped to `limit`.
|
|
20
|
+
*/
|
|
21
|
+
declare function dedupeResultsByNamespace(results: readonly QmdSearchResult[], namespaceFromPath: (path: string) => string, limit: number, options?: {
|
|
22
|
+
transportFallback?: QmdSearchResult["transport"];
|
|
23
|
+
filter?: (result: QmdSearchResult) => boolean;
|
|
24
|
+
}): QmdSearchResult[];
|
|
25
|
+
|
|
26
|
+
export { dedupeResultsByNamespace, hasMemoryForResult, markResultKey, memoryForResult, memoryMapKey, resultHasKey };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
dedupeResultsByNamespace,
|
|
3
|
+
hasMemoryForResult,
|
|
4
|
+
markResultKey,
|
|
5
|
+
memoryForResult,
|
|
6
|
+
memoryMapKey,
|
|
7
|
+
resultHasKey
|
|
8
|
+
} from "./chunk-D3V3UMET.js";
|
|
9
|
+
import "./chunk-PZ5AY32C.js";
|
|
10
|
+
export {
|
|
11
|
+
dedupeResultsByNamespace,
|
|
12
|
+
hasMemoryForResult,
|
|
13
|
+
markResultKey,
|
|
14
|
+
memoryForResult,
|
|
15
|
+
memoryMapKey,
|
|
16
|
+
resultHasKey
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=recall-memory-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { R as RecallPlanMode, P as PluginConfig } from './types-D_fG2ix8.js';
|
|
2
2
|
import { CapabilitySet } from './capabilities.js';
|
|
3
3
|
import { FallbackLlmClient, FallbackLlmOptions } from './fallback-llm.js';
|
|
4
4
|
import './message-parts/index.js';
|
|
5
|
+
import './bounded-jsonl-state.js';
|
|
6
|
+
import './types-continuity.js';
|
|
5
7
|
import './resolve-provider-secret.js';
|
|
6
8
|
|
|
7
9
|
/**
|
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
FallbackLlmClient,
|
|
6
6
|
fallbackLlmRuntimeContextFromConfig,
|
|
7
7
|
gatewayTaskChainOptions
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-VFSP73LP.js";
|
|
8
|
+
} from "./chunk-C23BYTJV.js";
|
|
9
|
+
import "./chunk-QIEUU4UK.js";
|
|
11
10
|
import "./chunk-L2EXJQJP.js";
|
|
11
|
+
import "./chunk-45GF7Y3V.js";
|
|
12
12
|
import "./chunk-RGMVMVMF.js";
|
|
13
13
|
import "./chunk-N7RWREIQ.js";
|
|
14
14
|
import "./chunk-EYIEWJNI.js";
|
|
15
15
|
import "./chunk-JUC24CTX.js";
|
|
16
16
|
import {
|
|
17
17
|
log
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-3WCASNQZ.js";
|
|
19
19
|
import "./chunk-PZ5AY32C.js";
|
|
20
20
|
|
|
21
21
|
// src/recall-planner-llm.ts
|
package/dist/recall-qos.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createRecallSectionMetricRecorder,
|
|
3
3
|
formatRecallSectionMetric
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-C3AKM55W.js";
|
|
5
|
+
import "./chunk-3WCASNQZ.js";
|
|
6
6
|
import "./chunk-PZ5AY32C.js";
|
|
7
7
|
export {
|
|
8
8
|
createRecallSectionMetricRecorder,
|
package/dist/recall-state.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { HeldFileLockOptions } from './utils/serialize-mutations.js';
|
|
1
2
|
import { SearchDegradation } from './search/port.js';
|
|
2
|
-
import {
|
|
3
|
+
import { R as RecallPlanMode, I as IdentityInjectionMode, g as RecallTierExplain } from './types-D_fG2ix8.js';
|
|
3
4
|
import './message-parts/index.js';
|
|
5
|
+
import './bounded-jsonl-state.js';
|
|
6
|
+
import './types-continuity.js';
|
|
4
7
|
|
|
5
8
|
interface LastRecallBudgetSummary {
|
|
6
9
|
requestedTopK?: number;
|
|
@@ -13,6 +16,10 @@ interface LastRecallBudgetSummary {
|
|
|
13
16
|
truncated?: boolean;
|
|
14
17
|
includedSections?: string[];
|
|
15
18
|
omittedSections?: string[];
|
|
19
|
+
includedMemoryIds?: string[];
|
|
20
|
+
includedMemoryPaths?: string[];
|
|
21
|
+
includedMemoryNamespaces?: Array<string | undefined>;
|
|
22
|
+
omittedMemoryIds?: string[];
|
|
16
23
|
}
|
|
17
24
|
interface LastRecallSnapshot {
|
|
18
25
|
sessionKey: string;
|
|
@@ -31,6 +38,7 @@ interface LastRecallSnapshot {
|
|
|
31
38
|
budgetsApplied?: LastRecallBudgetSummary;
|
|
32
39
|
latencyMs?: number;
|
|
33
40
|
resultPaths?: string[];
|
|
41
|
+
resultNamespaces?: Array<string | undefined>;
|
|
34
42
|
policyVersion?: string;
|
|
35
43
|
identityInjectionMode?: IdentityInjectionMode | "none";
|
|
36
44
|
identityInjectedChars?: number;
|
|
@@ -101,14 +109,42 @@ interface TierMigrationStatusSnapshot {
|
|
|
101
109
|
errors: number;
|
|
102
110
|
};
|
|
103
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Outcome of {@link LastRecallStore.drainPendingImpressions}. Distinguishes a
|
|
114
|
+
* completed drain (or nothing pending) from a DEFERRED drain that left durable
|
|
115
|
+
* spills in the offline-sync-EXCLUDED queue, so the caller can tell the
|
|
116
|
+
* data-safe cases apart from the one where an offline-sync snapshot would
|
|
117
|
+
* silently omit recorded impressions (#2033).
|
|
118
|
+
*/
|
|
119
|
+
interface DrainPendingImpressionsResult {
|
|
120
|
+
/** Pending spill rows were folded into the synced active file this call. */
|
|
121
|
+
folded: boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Durable spill rows remain in the offline-sync-EXCLUDED pending queue after
|
|
124
|
+
* this drain: the rotation lock could not be acquired, a spill could not be
|
|
125
|
+
* claimed, or the drain-only fold left rows that would only fit by rotating
|
|
126
|
+
* into a sync-excluded archive. A snapshot taken now would silently omit them
|
|
127
|
+
* (#2033): the caller MUST treat the active file as INCOMPLETE and retry or
|
|
128
|
+
* abort the snapshot rather than report success. `false` means the active file
|
|
129
|
+
* is complete — every pending row was folded or nothing was pending.
|
|
130
|
+
*/
|
|
131
|
+
pendingDeferred: boolean;
|
|
132
|
+
}
|
|
104
133
|
declare class LastRecallStore {
|
|
105
134
|
private readonly statePath;
|
|
106
135
|
private readonly impressionsPath;
|
|
107
136
|
private readonly writeStateFile;
|
|
137
|
+
private readonly impressionsRotateBytes;
|
|
138
|
+
private readonly impressionsRotateKeep;
|
|
139
|
+
private readonly impressionsLockOptions?;
|
|
108
140
|
private state;
|
|
109
141
|
private stateWriteChain;
|
|
142
|
+
private impressionsWriteChain;
|
|
110
143
|
constructor(memoryDir: string, options?: {
|
|
111
144
|
writeStateFile?: StateFileWriter;
|
|
145
|
+
impressionsRotateBytes?: number;
|
|
146
|
+
impressionsRotateKeep?: number;
|
|
147
|
+
impressionsLockOptions?: Pick<HeldFileLockOptions, "maxWaitMs" | "pollMs">;
|
|
112
148
|
});
|
|
113
149
|
load(): Promise<void>;
|
|
114
150
|
get(sessionKey: string): LastRecallSnapshot | null;
|
|
@@ -132,6 +168,7 @@ declare class LastRecallStore {
|
|
|
132
168
|
budgetsApplied?: LastRecallBudgetSummary;
|
|
133
169
|
latencyMs?: number;
|
|
134
170
|
resultPaths?: string[];
|
|
171
|
+
resultNamespaces?: Array<string | undefined>;
|
|
135
172
|
policyVersion?: string;
|
|
136
173
|
appendImpression?: boolean;
|
|
137
174
|
identityInjection?: {
|
|
@@ -153,6 +190,130 @@ declare class LastRecallStore {
|
|
|
153
190
|
*/
|
|
154
191
|
backendDegradations?: SearchDegradation[];
|
|
155
192
|
}): Promise<void>;
|
|
193
|
+
/**
|
|
194
|
+
* Drain pending spills, rotate (best-effort, sized to the projected payload),
|
|
195
|
+
* then append one impression line under ONE shared cross-process lock (#1910,
|
|
196
|
+
* #2033). Both the archive-shift renames AND the append run inside the same
|
|
197
|
+
* held lock so a peer process holding the lock can never rename the active
|
|
198
|
+
* inode to `.1` between our open and write — which would land the impression in
|
|
199
|
+
* a rotated archive that offline-sync excludes, silently dropping it from
|
|
200
|
+
* active-state/sync consumers.
|
|
201
|
+
*
|
|
202
|
+
* On lock-acquisition timeout the impression is NEVER written to the active
|
|
203
|
+
* file unlocked (#2033): a peer holding the lock is likely mid-rotation, so an
|
|
204
|
+
* unlocked append can land in the inode it is about to rename to `.1` — the
|
|
205
|
+
* exact silent-drop this lock prevents. Instead the row is spilled to a
|
|
206
|
+
* durable node-local per-event file under `<impressions>.pending.d/` and
|
|
207
|
+
* folded back into the active file by the next append that DOES hold the lock,
|
|
208
|
+
* preserving durability without racing rotation. Rotation failure under the
|
|
209
|
+
* held lock is logged and the append still runs. Callers invoke this only
|
|
210
|
+
* through `impressionsWriteChain` so the sequence is serialized in-process.
|
|
211
|
+
*/
|
|
212
|
+
private get impressionsPendingDir();
|
|
213
|
+
private spillImpression;
|
|
214
|
+
/**
|
|
215
|
+
* Recover a claim a crashed drain left mid-flight (#2033): the crash-safe
|
|
216
|
+
* drain renames `<uuid>.jsonl` -> `<uuid>.jsonl.claimed` BEFORE committing, so
|
|
217
|
+
* a `.claimed` file with no matching commit is the ONLY durable copy of those
|
|
218
|
+
* rows. Rename each orphan back to `<uuid>.jsonl` so it re-enters the normal
|
|
219
|
+
* collect+claim+commit flow. MUST run under the held rotation lock, before
|
|
220
|
+
* collecting. listContainedSpillFiles skips symlinked/escaping entries.
|
|
221
|
+
*/
|
|
222
|
+
private recoverOrphanedImpressionClaims;
|
|
223
|
+
/**
|
|
224
|
+
* Recover a crash-orphaned spill temp after its write completed but before
|
|
225
|
+
* the atomic `.tmp` → `.jsonl` rename. Valid JSONL temps are promoted back
|
|
226
|
+
* into the normal queue; incomplete temps remain pending and keep offline sync
|
|
227
|
+
* deferred rather than being discarded.
|
|
228
|
+
*/
|
|
229
|
+
private recoverOrphanedImpressionTemps;
|
|
230
|
+
private appendImpressionSerialized;
|
|
231
|
+
/**
|
|
232
|
+
* Fold any durable pending recall-impression spills into the synced active
|
|
233
|
+
* `recall_impressions.jsonl` WITHOUT recording a new impression (#2033).
|
|
234
|
+
*
|
|
235
|
+
* The pending spill dir is offline-sync-excluded, so an impression that a
|
|
236
|
+
* lock-timed-out `record()` spilled there is absent from an offline-sync
|
|
237
|
+
* snapshot and lost if this node is discarded before the next `record()`
|
|
238
|
+
* folds it back. Offline sync calls this before building a snapshot so a
|
|
239
|
+
* recorded impression always reaches the remote. Fast no-op — no lock and no
|
|
240
|
+
* dir/lock-file creation — when nothing is pending.
|
|
241
|
+
*
|
|
242
|
+
* Returns a {@link DrainPendingImpressionsResult}: `folded` is true when rows
|
|
243
|
+
* were folded into the active file; `pendingDeferred` is true when durable
|
|
244
|
+
* spills still remain in the offline-sync-EXCLUDED queue after this call —
|
|
245
|
+
* because the rotation lock could not be acquired, a spill could not be
|
|
246
|
+
* claimed, or the drain-only fold deferred rows that would only fit by
|
|
247
|
+
* rotating into a sync-excluded archive (#2033). A snapshot taken while
|
|
248
|
+
* `pendingDeferred` is true would silently drop those rows, so the caller MUST
|
|
249
|
+
* NOT report a clean snapshot — it either retries or aborts.
|
|
250
|
+
*/
|
|
251
|
+
drainPendingImpressions(): Promise<DrainPendingImpressionsResult>;
|
|
252
|
+
/**
|
|
253
|
+
* Claim/commit fold of durable pending impression spills into the active file
|
|
254
|
+
* under the held rotation lock (#2033). `line` is a new impression to append
|
|
255
|
+
* after the drained rows, or null for a drain-only pre-sync fold.
|
|
256
|
+
*
|
|
257
|
+
* Each spill is folded as an INDEPENDENT claim -> append -> finalize unit
|
|
258
|
+
* rather than materializing the whole queue as one joined payload and
|
|
259
|
+
* splitting it in a single synchronous pass (#2033). A multi-hundred-MB drain
|
|
260
|
+
* done as one join/split blocks the event loop long enough for
|
|
261
|
+
* `withHeldFileLock`'s ownership-refresh timer to miss its window, so a peer
|
|
262
|
+
* stale-breaks the 30s lock and rotates/appends concurrently — defeating the
|
|
263
|
+
* rotation lock this drain relies on. The per-file `await`s keep the payload
|
|
264
|
+
* bounded to one spill at a time and let the refresh timer fire between files.
|
|
265
|
+
*
|
|
266
|
+
* The DRAIN-ONLY path (`line === null`, run before an offline-sync snapshot)
|
|
267
|
+
* NEVER rotates a drained row into an archive. `recall_impressions.jsonl.*`
|
|
268
|
+
* is offline-sync-EXCLUDED, so rotating a just-drained row into `.1`/`.2` and
|
|
269
|
+
* then deleting its spill would leave that row only in a path sync omits —
|
|
270
|
+
* silently lost when the node is discarded after a "successful" sync (#2033).
|
|
271
|
+
* It folds only the rows that fit the synced active file under the cap and
|
|
272
|
+
* leaves the rest durable in the pending queue; {@link drainPendingImpressions}
|
|
273
|
+
* then reports the drain DEFERRED so the caller retries or aborts. The
|
|
274
|
+
* record() path (`line !== null`) keeps rotating normally — its archives stay
|
|
275
|
+
* on a live node that is not being discarded.
|
|
276
|
+
*
|
|
277
|
+
* Recovers any crash-orphaned claim first. Each impression carries a unique
|
|
278
|
+
* writeNonce, so a crash-recovered re-commit is a collapsible duplicate, never
|
|
279
|
+
* a lost row. listContainedSpillFiles rejects symlinked/escaping entries; a
|
|
280
|
+
* spill that cannot be claimed is skipped this pass. An append failure rolls
|
|
281
|
+
* that spill's claim back so the row retries on the next lock holder's drain.
|
|
282
|
+
* Returns true when the active file was written. MUST run under the held
|
|
283
|
+
* rotation lock.
|
|
284
|
+
*/
|
|
285
|
+
private foldPendingImpressionsAndAppend;
|
|
286
|
+
/**
|
|
287
|
+
* Append one whole JSONL unit (a claimed spill's rows or a fresh impression
|
|
288
|
+
* line) to the active impressions file, returning the resulting active-file
|
|
289
|
+
* byte size. On the rotating (record) path, when the unit would push the
|
|
290
|
+
* current active generation to/over `impressionsRotateBytes`, the full active
|
|
291
|
+
* file is rotated aside FIRST so no generation exceeds the cap (#2033); a lone
|
|
292
|
+
* unit larger than the cap on an empty active file is written whole because
|
|
293
|
+
* splitting a JSONL row would corrupt it. `drainOnly` and disabled rotation
|
|
294
|
+
* (`impressionsRotateBytes <= 0`) both skip rotation — drain-only defers its
|
|
295
|
+
* overflow in {@link foldPendingImpressionsAndAppend} rather than rotating into
|
|
296
|
+
* a sync-excluded archive. A rotation error is logged and the append still
|
|
297
|
+
* runs so a row is never lost; an append failure propagates so the caller
|
|
298
|
+
* rolls its claim back. MUST run under the held rotation lock.
|
|
299
|
+
*/
|
|
300
|
+
private appendImpressionUnit;
|
|
301
|
+
/**
|
|
302
|
+
* True when any live `<uuid>.jsonl` spill, crash-orphaned `.claimed` file,
|
|
303
|
+
* or crash-orphaned `.jsonl.tmp` spill remains in the offline-sync-EXCLUDED
|
|
304
|
+
* pending queue (#2033). After a drain acquires the rotation lock, a spill
|
|
305
|
+
* the fold could not claim (rename race / read-only dir) or a `.claimed`
|
|
306
|
+
* orphan a failed commit left behind means durable rows are STILL excluded
|
|
307
|
+
* from a snapshot — the drain must report itself INCOMPLETE so the caller
|
|
308
|
+
* retries or aborts rather than snapshotting an active file that omits them.
|
|
309
|
+
*/
|
|
310
|
+
private pendingSpillsRemain;
|
|
311
|
+
/**
|
|
312
|
+
* Shift `.1..N` archives down one slot and move the active file to `.1`,
|
|
313
|
+
* dropping anything beyond `keep`. Callers invoke this only while holding the
|
|
314
|
+
* cross-process rotation lock (issue #1910).
|
|
315
|
+
*/
|
|
316
|
+
private shiftImpressionArchives;
|
|
156
317
|
/**
|
|
157
318
|
* Attach a RecallTierExplain block to the existing snapshot for a
|
|
158
319
|
* session without rewriting the entire snapshot. Used by the
|
|
@@ -218,4 +379,4 @@ declare class RecallHandleHistoryStore {
|
|
|
218
379
|
private flush;
|
|
219
380
|
}
|
|
220
381
|
|
|
221
|
-
export { type GraphRecallExpandedEntry, type LastRecallBudgetSummary, type LastRecallSnapshot, LastRecallStore, RecallHandleHistoryStore, type TierMigrationCycleSummary, type TierMigrationStatusSnapshot, TierMigrationStatusStore, clampGraphRecallExpandedEntries };
|
|
382
|
+
export { type DrainPendingImpressionsResult, type GraphRecallExpandedEntry, type LastRecallBudgetSummary, type LastRecallSnapshot, LastRecallStore, RecallHandleHistoryStore, type TierMigrationCycleSummary, type TierMigrationStatusSnapshot, TierMigrationStatusStore, clampGraphRecallExpandedEntries };
|
package/dist/recall-state.js
CHANGED
|
@@ -3,9 +3,12 @@ import {
|
|
|
3
3
|
RecallHandleHistoryStore,
|
|
4
4
|
TierMigrationStatusStore,
|
|
5
5
|
clampGraphRecallExpandedEntries
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-FMLKOL2Z.js";
|
|
7
|
+
import "./chunk-R6YJI3HE.js";
|
|
8
|
+
import "./chunk-GCASGYIO.js";
|
|
9
|
+
import "./chunk-WL5EBRDH.js";
|
|
10
|
+
import "./chunk-5UZXUTVO.js";
|
|
11
|
+
import "./chunk-3WCASNQZ.js";
|
|
9
12
|
import "./chunk-PZ5AY32C.js";
|
|
10
13
|
export {
|
|
11
14
|
LastRecallStore,
|