@remnic/core 1.1.12 → 1.1.13
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-cli.d.ts +2 -1
- package/dist/access-cli.js +263 -82
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +26 -60
- package/dist/access-http.js +43 -29
- package/dist/access-mcp.d.ts +24 -6
- package/dist/access-mcp.js +35 -28
- package/dist/access-schema.d.ts +9 -6
- package/dist/access-schema.js +7 -5
- package/dist/access-service-DcCDmNYC.d.ts +1542 -0
- package/dist/access-service.d.ts +25 -7
- package/dist/access-service.js +33 -26
- package/dist/active-memory-bridge.js +2 -2
- package/dist/active-recall.js +11 -3
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/claude-code.d.ts +24 -0
- package/dist/adapters/claude-code.js +9 -0
- package/dist/adapters/codex.d.ts +25 -0
- package/dist/adapters/codex.js +9 -0
- package/dist/adapters/hermes.d.ts +35 -0
- package/dist/adapters/hermes.js +9 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.js +26 -0
- package/dist/adapters/registry.d.ts +20 -0
- package/dist/adapters/registry.js +13 -0
- package/dist/adapters/replit.d.ts +28 -0
- package/dist/adapters/replit.js +9 -0
- package/dist/adapters/types.d.ts +43 -0
- package/dist/adapters/types.js +8 -0
- package/dist/bootstrap.d.ts +20 -5
- package/dist/boxes.d.ts +7 -0
- package/dist/boxes.js +1 -1
- package/dist/briefing.d.ts +5 -3
- package/dist/briefing.js +9 -6
- package/dist/buffer-surprise-report.js +1 -1
- package/dist/buffer.d.ts +18 -4
- package/dist/buffer.js +1 -1
- package/dist/calibration.js +4 -4
- package/dist/capsule-cli.d.ts +4 -4
- package/dist/capsule-cli.js +1 -1
- package/dist/capsule-crypto-5CYAGVC5.js +18 -0
- package/dist/capsule-merge-4MGKE7C5.js +189 -0
- package/dist/causal-behavior.d.ts +8 -28
- package/dist/causal-behavior.js +6 -3
- package/dist/causal-behavior.js.map +1 -1
- package/dist/causal-chain.js +3 -2
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +24 -13
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +3 -3
- package/dist/causal-trajectory.js +1 -1
- package/dist/chunk-25MQ7IHJ.js +427 -0
- package/dist/chunk-25MQ7IHJ.js.map +1 -0
- package/dist/chunk-2F2W355T.js +256 -0
- package/dist/chunk-2F2W355T.js.map +1 -0
- package/dist/chunk-2KI4QFHU.js +228 -0
- package/dist/chunk-2KI4QFHU.js.map +1 -0
- package/dist/chunk-2PRQG7PV.js +86 -0
- package/dist/chunk-2PRQG7PV.js.map +1 -0
- package/dist/chunk-2QR3XXIC.js +2272 -0
- package/dist/chunk-2QR3XXIC.js.map +1 -0
- package/dist/chunk-2WWLHTZY.js +121 -0
- package/dist/chunk-326G7DJK.js +2185 -0
- package/dist/chunk-326G7DJK.js.map +1 -0
- package/dist/chunk-34DQE4KF.js +174 -0
- package/dist/chunk-34DQE4KF.js.map +1 -0
- package/dist/chunk-3APJ5EVB.js +601 -0
- package/dist/chunk-3APJ5EVB.js.map +1 -0
- package/dist/chunk-3HPAPHUK.js +51 -0
- package/dist/chunk-3HPAPHUK.js.map +1 -0
- package/dist/chunk-3JXBXXM2.js +69 -0
- package/dist/chunk-3JXBXXM2.js.map +1 -0
- package/dist/chunk-3KW65B36.js +681 -0
- package/dist/chunk-3KW65B36.js.map +1 -0
- package/dist/chunk-3UXOZBHV.js +20 -0
- package/dist/chunk-3UXOZBHV.js.map +1 -0
- package/dist/chunk-3VAL7ZL2.js +266 -0
- package/dist/chunk-3VAL7ZL2.js.map +1 -0
- package/dist/chunk-3Y4P7RXM.js +31 -0
- package/dist/chunk-3Y4P7RXM.js.map +1 -0
- package/dist/chunk-47VWKCAF.js +273 -0
- package/dist/chunk-47VWKCAF.js.map +1 -0
- package/dist/chunk-4CRG46BG.js +271 -0
- package/dist/chunk-5375UYTQ.js +914 -0
- package/dist/chunk-5375UYTQ.js.map +1 -0
- package/dist/chunk-56K5QLHX.js +506 -0
- package/dist/chunk-56K5QLHX.js.map +1 -0
- package/dist/chunk-5RGLBDQF.js +596 -0
- package/dist/chunk-5RGLBDQF.js.map +1 -0
- package/dist/chunk-5UZXUTVO.js +9 -0
- package/dist/chunk-5UZXUTVO.js.map +1 -0
- package/dist/chunk-65PG43EQ.js +105 -0
- package/dist/chunk-65PG43EQ.js.map +1 -0
- package/dist/chunk-66DHUKLO.js +57 -0
- package/dist/chunk-66DHUKLO.js.map +1 -0
- package/dist/chunk-6FC5EGNV.js +46 -0
- package/dist/chunk-6FC5EGNV.js.map +1 -0
- package/dist/chunk-6H2TESSP.js +62 -0
- package/dist/chunk-6H2TESSP.js.map +1 -0
- package/dist/chunk-6LVVDPJ4.js +32 -0
- package/dist/chunk-6LVVDPJ4.js.map +1 -0
- package/dist/chunk-6RVI47ZR.js +159 -0
- package/dist/chunk-6RVI47ZR.js.map +1 -0
- package/dist/chunk-7AAT6G4Q.js +5117 -0
- package/dist/chunk-7AAT6G4Q.js.map +1 -0
- package/dist/chunk-7DTASS5T.js +29 -0
- package/dist/chunk-7DTASS5T.js.map +1 -0
- package/dist/chunk-7IASACLB.js +596 -0
- package/dist/chunk-7MNMYOFP.js +32 -0
- package/dist/chunk-7MNMYOFP.js.map +1 -0
- package/dist/chunk-7N4KAIGN.js +133 -0
- package/dist/chunk-7N4KAIGN.js.map +1 -0
- package/dist/chunk-7OZ53EXP.js +101 -0
- package/dist/chunk-7OZ53EXP.js.map +1 -0
- package/dist/chunk-7XYTQGCC.js +134 -0
- package/dist/chunk-7XYTQGCC.js.map +1 -0
- package/dist/chunk-A2XUIMJ3.js +341 -0
- package/dist/chunk-A2XUIMJ3.js.map +1 -0
- package/dist/chunk-AGZQD76C.js +201 -0
- package/dist/chunk-AGZQD76C.js.map +1 -0
- package/dist/chunk-APO3DCMU.js +361 -0
- package/dist/chunk-APO3DCMU.js.map +1 -0
- package/dist/chunk-BFBF3XEF.js +283 -0
- package/dist/chunk-BFBF3XEF.js.map +1 -0
- package/dist/chunk-BJ3KMYTB.js +1974 -0
- package/dist/chunk-BJ3KMYTB.js.map +1 -0
- package/dist/chunk-CHEL3SKB.js +6758 -0
- package/dist/chunk-CHEL3SKB.js.map +1 -0
- package/dist/chunk-CQZRLNMV.js +1491 -0
- package/dist/chunk-CQZRLNMV.js.map +1 -0
- package/dist/chunk-D46YSIYX.js +892 -0
- package/dist/chunk-D46YSIYX.js.map +1 -0
- package/dist/chunk-DINWEURR.js +648 -0
- package/dist/chunk-DINWEURR.js.map +1 -0
- package/dist/chunk-DK5LDEQM.js +530 -0
- package/dist/chunk-DK5LDEQM.js.map +1 -0
- package/dist/chunk-DOM4GKSW.js +34 -0
- package/dist/chunk-DOM4GKSW.js.map +1 -0
- package/dist/chunk-EDTHC6UD.js +1075 -0
- package/dist/chunk-EFJ3MQ4V.js +721 -0
- package/dist/chunk-EHRTFRWW.js +89 -0
- package/dist/chunk-EHRTFRWW.js.map +1 -0
- package/dist/chunk-FAJ7FZYM.js +11 -0
- package/dist/chunk-FAJ7FZYM.js.map +1 -0
- package/dist/chunk-FBYESMQ2.js +570 -0
- package/dist/chunk-FDU6HUUL.js +147 -0
- package/dist/chunk-FF4KLI5W.js +99 -0
- package/dist/chunk-FF4KLI5W.js.map +1 -0
- package/dist/chunk-FIT6DMX6.js +310 -0
- package/dist/chunk-FIT6DMX6.js.map +1 -0
- package/dist/chunk-FJ43PRLT.js +272 -0
- package/dist/chunk-FJ43PRLT.js.map +1 -0
- package/dist/chunk-FKFMOY3N.js +32 -0
- package/dist/chunk-FKFMOY3N.js.map +1 -0
- package/dist/chunk-FLTNHQK6.js +262 -0
- package/dist/chunk-FLTNHQK6.js.map +1 -0
- package/dist/chunk-GA454ALV.js +12436 -0
- package/dist/chunk-GA454ALV.js.map +1 -0
- package/dist/chunk-GGKRUQOO.js +228 -0
- package/dist/chunk-GIF42EW3.js +63 -0
- package/dist/chunk-GIF42EW3.js.map +1 -0
- package/dist/chunk-GL6I6MEQ.js +647 -0
- package/dist/chunk-H3ME6L6D.js +709 -0
- package/dist/chunk-H3ME6L6D.js.map +1 -0
- package/dist/chunk-HHLLAQGZ.js +1 -0
- package/dist/chunk-HXXBL2KD.js +2040 -0
- package/dist/chunk-I5V2VDIW.js +219 -0
- package/dist/chunk-I5V2VDIW.js.map +1 -0
- package/dist/chunk-I6K5FBRQ.js +35 -0
- package/dist/chunk-I6K5FBRQ.js.map +1 -0
- package/dist/chunk-ICRIXAP2.js +121 -0
- package/dist/chunk-ICRIXAP2.js.map +1 -0
- package/dist/chunk-J4EB7DNW.js +11 -0
- package/dist/chunk-J4EB7DNW.js.map +1 -0
- package/dist/chunk-JLFA7DQG.js +62 -0
- package/dist/chunk-JLFA7DQG.js.map +1 -0
- package/dist/chunk-KJTKLXTH.js +9 -0
- package/dist/chunk-KJTKLXTH.js.map +1 -0
- package/dist/chunk-KLAO5DGL.js +917 -0
- package/dist/chunk-KLAO5DGL.js.map +1 -0
- package/dist/chunk-KNKUID7G.js +183 -0
- package/dist/chunk-KOSORCJG.js +624 -0
- package/dist/chunk-KOSORCJG.js.map +1 -0
- package/dist/chunk-KUJVMMZQ.js +1262 -0
- package/dist/chunk-KUJVMMZQ.js.map +1 -0
- package/dist/chunk-LCR46JY5.js +123 -0
- package/dist/chunk-LCR46JY5.js.map +1 -0
- package/dist/chunk-LLQ2LLWF.js +148 -0
- package/dist/chunk-LLQ2LLWF.js.map +1 -0
- package/dist/chunk-LPMVBPA3.js +236 -0
- package/dist/chunk-LT3NLYSI.js +50 -0
- package/dist/chunk-LT3NLYSI.js.map +1 -0
- package/dist/chunk-LUDTDZLK.js +287 -0
- package/dist/chunk-LUDTDZLK.js.map +1 -0
- package/dist/chunk-M23FSH32.js +3963 -0
- package/dist/chunk-M23FSH32.js.map +1 -0
- package/dist/chunk-MC26UJIM.js +118 -0
- package/dist/chunk-ME6ESPZU.js +119 -0
- package/dist/chunk-ME6ESPZU.js.map +1 -0
- package/dist/chunk-MGKYQQYF.js +272 -0
- package/dist/chunk-MJFNCJXV.js +66 -0
- package/dist/chunk-MJFNCJXV.js.map +1 -0
- package/dist/chunk-MSWG7JI6.js +237 -0
- package/dist/chunk-MSWG7JI6.js.map +1 -0
- package/dist/chunk-MT25YHYH.js +141 -0
- package/dist/chunk-MT25YHYH.js.map +1 -0
- package/dist/chunk-MT4HVDUZ.js +53 -0
- package/dist/chunk-MY6TPVXW.js +219 -0
- package/dist/chunk-N2D6GXBM.js +267 -0
- package/dist/chunk-N2D6GXBM.js.map +1 -0
- package/dist/chunk-NJ3MJQZX.js +46 -0
- package/dist/chunk-NJ3MJQZX.js.map +1 -0
- package/dist/chunk-NMZY542O.js +335 -0
- package/dist/chunk-NMZY542O.js.map +1 -0
- package/dist/chunk-NNVTUXEB.js +23 -0
- package/dist/chunk-NZL6GGQE.js +375 -0
- package/dist/chunk-NZL6GGQE.js.map +1 -0
- package/dist/chunk-P4NEIHUT.js +108 -0
- package/dist/chunk-P7FMDTKL.js +103 -0
- package/dist/chunk-P7FMDTKL.js.map +1 -0
- package/dist/chunk-PHK3HARR.js +32 -0
- package/dist/chunk-PHK3HARR.js.map +1 -0
- package/dist/chunk-PIRJPV5T.js +98 -0
- package/dist/chunk-PIRJPV5T.js.map +1 -0
- package/dist/chunk-PK7H5L6Y.js +159 -0
- package/dist/chunk-PK7H5L6Y.js.map +1 -0
- package/dist/chunk-PR5FBTFU.js +233 -0
- package/dist/chunk-PR5FBTFU.js.map +1 -0
- package/dist/chunk-PU63GXWS.js +174 -0
- package/dist/chunk-PU63GXWS.js.map +1 -0
- package/dist/chunk-PZIAX57I.js +124 -0
- package/dist/chunk-PZIAX57I.js.map +1 -0
- package/dist/chunk-Q7P4WJDP.js +26 -0
- package/dist/chunk-Q7P4WJDP.js.map +1 -0
- package/dist/chunk-QQUAB63I.js +63 -0
- package/dist/chunk-QQUAB63I.js.map +1 -0
- package/dist/chunk-QRNI5JBH.js +18 -0
- package/dist/chunk-RHY3HH7P.js +601 -0
- package/dist/chunk-RHY3HH7P.js.map +1 -0
- package/dist/chunk-RRF5UOBJ.js +91 -0
- package/dist/chunk-RXDLTSWT.js +124 -0
- package/dist/chunk-RXDLTSWT.js.map +1 -0
- package/dist/chunk-RYED3SPJ.js +42 -0
- package/dist/chunk-RYED3SPJ.js.map +1 -0
- package/dist/chunk-S7KDBTWT.js +106 -0
- package/dist/chunk-S7KDBTWT.js.map +1 -0
- package/dist/chunk-SEDEKFYQ.js +1 -0
- package/dist/chunk-TECVW3JP.js +36 -0
- package/dist/chunk-TECVW3JP.js.map +1 -0
- package/dist/chunk-TFO23QT4.js +88 -0
- package/dist/chunk-TFO23QT4.js.map +1 -0
- package/dist/chunk-TK4UEOSK.js +76 -0
- package/dist/chunk-TK4UEOSK.js.map +1 -0
- package/dist/chunk-TKWGAOLV.js +122 -0
- package/dist/chunk-TKWGAOLV.js.map +1 -0
- package/dist/chunk-TMM4S4IJ.js +597 -0
- package/dist/chunk-TMM4S4IJ.js.map +1 -0
- package/dist/chunk-TMQLARTH.js +188 -0
- package/dist/chunk-TMQLARTH.js.map +1 -0
- package/dist/chunk-TPDBFYEG.js +130 -0
- package/dist/chunk-TPDBFYEG.js.map +1 -0
- package/dist/chunk-TPMQ3G6Z.js +145 -0
- package/dist/chunk-TPMQ3G6Z.js.map +1 -0
- package/dist/chunk-TZOLIGIG.js +61 -0
- package/dist/chunk-TZOLIGIG.js.map +1 -0
- package/dist/chunk-U3PN77QT.js +113 -0
- package/dist/chunk-U3WSW6PZ.js +277 -0
- package/dist/chunk-U4SCL7B7.js +640 -0
- package/dist/chunk-U4SCL7B7.js.map +1 -0
- package/dist/chunk-UWK5OXUJ.js +156 -0
- package/dist/chunk-UWK5OXUJ.js.map +1 -0
- package/dist/chunk-UWVJF25J.js +74 -0
- package/dist/chunk-UXHQAFNA.js +1317 -0
- package/dist/chunk-UXHQAFNA.js.map +1 -0
- package/dist/chunk-V5OCT34X.js +1 -0
- package/dist/chunk-VLXA6PI2.js +304 -0
- package/dist/chunk-VLXA6PI2.js.map +1 -0
- package/dist/chunk-VNO6ZJ35.js +500 -0
- package/dist/chunk-VNO6ZJ35.js.map +1 -0
- package/dist/chunk-VW676BEI.js +827 -0
- package/dist/chunk-VW676BEI.js.map +1 -0
- package/dist/chunk-W3LR522O.js +2296 -0
- package/dist/chunk-W4L6CZKA.js +96 -0
- package/dist/chunk-W4L6CZKA.js.map +1 -0
- package/dist/chunk-W4RVMTHR.js +372 -0
- package/dist/chunk-W4RVMTHR.js.map +1 -0
- package/dist/chunk-WEHSQBFR.js +188 -0
- package/dist/chunk-WEHSQBFR.js.map +1 -0
- package/dist/chunk-WELDCG6C.js +380 -0
- package/dist/chunk-WELDCG6C.js.map +1 -0
- package/dist/chunk-WZYKANL3.js +2800 -0
- package/dist/chunk-WZYKANL3.js.map +1 -0
- package/dist/chunk-XIG5PDM7.js +48 -0
- package/dist/chunk-XJNBEDFE.js +193 -0
- package/dist/chunk-XJNBEDFE.js.map +1 -0
- package/dist/chunk-XVVIG67A.js +291 -0
- package/dist/chunk-XVVIG67A.js.map +1 -0
- package/dist/chunk-XVZ7B3HG.js +135 -0
- package/dist/chunk-YBPYIAA5.js +73 -0
- package/dist/chunk-YBPYIAA5.js.map +1 -0
- package/dist/chunk-Z734BLO3.js +21 -0
- package/dist/chunk-Z734BLO3.js.map +1 -0
- package/dist/chunk-ZKSK55RC.js +269 -0
- package/dist/chunk-ZKSK55RC.js.map +1 -0
- package/dist/chunk-ZTFCYYEZ.js +69 -0
- package/dist/chunk-ZTFCYYEZ.js.map +1 -0
- package/dist/chunk-ZY2MNJR6.js +329 -0
- package/dist/chunk-ZY2MNJR6.js.map +1 -0
- package/dist/cli-D3VpkVwB.d.ts +1136 -0
- package/dist/cli.d.ts +39 -10
- package/dist/cli.js +108 -49
- package/dist/commitment-ledger.js +1 -1
- package/dist/compat/checks.d.ts +5 -0
- package/dist/compat/checks.js +11 -0
- package/dist/compat/checks.js.map +1 -0
- package/dist/compat/types.d.ts +30 -0
- package/dist/compat/types.js +1 -0
- package/dist/compat/types.js.map +1 -0
- package/dist/compounding/engine.d.ts +221 -0
- package/dist/compounding/engine.js +32 -0
- package/dist/compounding/engine.js.map +1 -0
- package/dist/compounding/preference-consolidator.d.ts +92 -0
- package/dist/compounding/preference-consolidator.js +553 -0
- package/dist/compounding/preference-consolidator.js.map +1 -0
- package/dist/config.d.ts +4 -2
- package/dist/config.js +9 -4
- package/dist/conflict-policy-DyJ2wd-h.d.ts +4 -0
- package/dist/connectors/codex-materialize-runner.d.ts +64 -0
- package/dist/connectors/codex-materialize-runner.js +33 -0
- package/dist/connectors/codex-materialize-runner.js.map +1 -0
- package/dist/connectors/codex-materialize.d.ts +195 -0
- package/dist/connectors/codex-materialize.js +38 -0
- package/dist/connectors/codex-materialize.js.map +1 -0
- package/dist/connectors/index.d.ts +444 -0
- package/dist/connectors/index.js +115 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/connectors-cli-CwbyjGR7.d.ts +257 -0
- package/dist/connectors-cli.d.ts +1 -1
- package/dist/consolidation-provenance-check.d.ts +3 -1
- package/dist/consolidation-undo.d.ts +3 -1
- package/dist/contradiction/index.d.ts +258 -0
- package/dist/contradiction/index.js +43 -0
- package/dist/contradiction/index.js.map +1 -0
- package/dist/contradiction-review-ATP4S6IC.js +30 -0
- package/dist/contradiction-review-ATP4S6IC.js.map +1 -0
- package/dist/contradiction-scan-5A4IDZV5.js +13 -0
- package/dist/contradiction-scan-5A4IDZV5.js.map +1 -0
- package/dist/conversation-index/backend.d.ts +97 -0
- package/dist/conversation-index/backend.js +13 -0
- package/dist/conversation-index/backend.js.map +1 -0
- package/dist/conversation-index/chunker.d.ts +16 -0
- package/dist/conversation-index/chunker.js +8 -0
- package/dist/conversation-index/chunker.js.map +1 -0
- package/dist/conversation-index/cleanup.d.ts +11 -0
- package/dist/conversation-index/cleanup.js +9 -0
- package/dist/conversation-index/cleanup.js.map +1 -0
- package/dist/conversation-index/faiss-adapter.d.ts +6 -0
- package/dist/conversation-index/faiss-adapter.js +16 -0
- package/dist/conversation-index/faiss-adapter.js.map +1 -0
- package/dist/conversation-index/indexer.d.ts +23 -0
- package/dist/conversation-index/indexer.js +15 -0
- package/dist/conversation-index/indexer.js.map +1 -0
- package/dist/conversation-index/search.d.ts +6 -0
- package/dist/conversation-index/search.js +11 -0
- package/dist/conversation-index/search.js.map +1 -0
- package/dist/embedding-fallback.js +2 -2
- package/dist/enrichment/index.d.ts +163 -0
- package/dist/enrichment/index.js +18 -0
- package/dist/enrichment/index.js.map +1 -0
- package/dist/entity-retrieval.d.ts +4 -2
- package/dist/entity-retrieval.js +8 -5
- package/dist/evals.js +1 -1
- package/dist/explicit-capture.d.ts +20 -5
- package/dist/explicit-capture.js +2 -2
- package/dist/extraction-judge-training.js +1 -1
- package/dist/extraction.js +8 -8
- package/dist/faiss-adapter-CzPghc4C.d.ts +70 -0
- package/dist/fallback-llm.d.ts +2 -0
- package/dist/fallback-llm.js +4 -4
- package/dist/graph-edge-decay-5DI5GUNL.js +207 -0
- package/dist/index.d.ts +66 -711
- package/dist/index.js +556 -2680
- package/dist/index.js.map +1 -1
- package/dist/lcm/archive.d.ts +89 -0
- package/dist/lcm/archive.js +12 -0
- package/dist/lcm/archive.js.map +1 -0
- package/dist/lcm/dag.d.ts +48 -0
- package/dist/lcm/dag.js +8 -0
- package/dist/lcm/dag.js.map +1 -0
- package/dist/lcm/engine.d.ts +116 -0
- package/dist/lcm/engine.js +20 -0
- package/dist/lcm/engine.js.map +1 -0
- package/dist/lcm/index.d.ts +12 -0
- package/dist/lcm/index.js +44 -0
- package/dist/lcm/index.js.map +1 -0
- package/dist/lcm/queue.d.ts +62 -0
- package/dist/lcm/queue.js +8 -0
- package/dist/lcm/queue.js.map +1 -0
- package/dist/lcm/recall.d.ts +20 -0
- package/dist/lcm/recall.js +8 -0
- package/dist/lcm/recall.js.map +1 -0
- package/dist/lcm/schema.d.ts +16 -0
- package/dist/lcm/schema.js +14 -0
- package/dist/lcm/schema.js.map +1 -0
- package/dist/lcm/summarizer.d.ts +38 -0
- package/dist/lcm/summarizer.js +12 -0
- package/dist/lcm/summarizer.js.map +1 -0
- package/dist/lcm/tools.d.ts +29 -0
- package/dist/lcm/tools.js +8 -0
- package/dist/lcm/tools.js.map +1 -0
- package/dist/live-connectors-runner.js +5 -5
- package/dist/local-llm.js +3 -3
- package/dist/maintenance/archive-observations.d.ts +18 -0
- package/dist/maintenance/archive-observations.js +8 -0
- package/dist/maintenance/archive-observations.js.map +1 -0
- package/dist/maintenance/backup-stamp.d.ts +3 -0
- package/dist/maintenance/backup-stamp.js +8 -0
- package/dist/maintenance/backup-stamp.js.map +1 -0
- package/dist/maintenance/memory-governance-cron.d.ts +85 -0
- package/dist/maintenance/memory-governance-cron.js +22 -0
- package/dist/maintenance/memory-governance-cron.js.map +1 -0
- package/dist/maintenance/memory-governance.d.ts +137 -0
- package/dist/maintenance/memory-governance.js +40 -0
- package/dist/maintenance/memory-governance.js.map +1 -0
- package/dist/maintenance/migrate-observations.d.ts +18 -0
- package/dist/maintenance/migrate-observations.js +9 -0
- package/dist/maintenance/migrate-observations.js.map +1 -0
- package/dist/maintenance/observation-ledger-utils.d.ts +10 -0
- package/dist/maintenance/observation-ledger-utils.js +10 -0
- package/dist/maintenance/observation-ledger-utils.js.map +1 -0
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +15 -0
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +28 -0
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js.map +1 -0
- package/dist/maintenance/rebuild-memory-projection.d.ts +77 -0
- package/dist/maintenance/rebuild-memory-projection.js +35 -0
- package/dist/maintenance/rebuild-memory-projection.js.map +1 -0
- package/dist/maintenance/rebuild-observations.d.ts +17 -0
- package/dist/maintenance/rebuild-observations.js +9 -0
- package/dist/maintenance/rebuild-observations.js.map +1 -0
- package/dist/mcp-memory-inspector-app.d.ts +24 -6
- package/dist/memory-projection-store.d.ts +108 -3
- package/dist/memory-projection-store.js +2 -1
- package/dist/memory-worth-outcomes.d.ts +4 -2
- package/dist/migrate/from-engram.d.ts +24 -0
- package/dist/migrate/from-engram.js +12 -0
- package/dist/migrate/from-engram.js.map +1 -0
- package/dist/namespaces/migrate.d.ts +50 -0
- package/dist/namespaces/migrate.js +50 -0
- package/dist/namespaces/migrate.js.map +1 -0
- package/dist/namespaces/principal.d.ts +17 -0
- package/dist/namespaces/principal.js +16 -0
- package/dist/namespaces/principal.js.map +1 -0
- package/dist/namespaces/search.d.ts +46 -0
- package/dist/namespaces/search.js +28 -0
- package/dist/namespaces/search.js.map +1 -0
- package/dist/namespaces/storage.d.ts +32 -0
- package/dist/namespaces/storage.js +28 -0
- package/dist/namespaces/storage.js.map +1 -0
- package/dist/network/tailscale.d.ts +41 -0
- package/dist/network/tailscale.js +9 -0
- package/dist/network/tailscale.js.map +1 -0
- package/dist/network/webdav.d.ts +39 -0
- package/dist/network/webdav.js +10 -0
- package/dist/network/webdav.js.map +1 -0
- package/dist/objective-state-writers.js +2 -2
- package/dist/operator-toolkit.d.ts +4 -2
- package/dist/operator-toolkit.js +32 -14
- package/dist/opik-exporter.js +2 -2
- package/dist/opik-exporter.js.map +1 -1
- package/dist/orchestrator-DuWl9Hwx.d.ts +1244 -0
- package/dist/orchestrator.d.ts +22 -7
- package/dist/orchestrator.js +79 -44
- package/dist/path-MR5JPYOP.js +9 -0
- package/dist/path-MR5JPYOP.js.map +1 -0
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +102 -3
- package/dist/qmd.js +23 -5
- package/dist/recall-explain-renderer.js +3 -3
- 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/replay/normalizers/chatgpt.d.ts +6 -0
- package/dist/replay/normalizers/chatgpt.js +11 -0
- package/dist/replay/normalizers/chatgpt.js.map +1 -0
- package/dist/replay/normalizers/claude.d.ts +6 -0
- package/dist/replay/normalizers/claude.js +11 -0
- package/dist/replay/normalizers/claude.js.map +1 -0
- package/dist/replay/normalizers/openclaw.d.ts +6 -0
- package/dist/replay/normalizers/openclaw.js +11 -0
- package/dist/replay/normalizers/openclaw.js.map +1 -0
- package/dist/replay/normalizers/shared.d.ts +16 -0
- package/dist/replay/normalizers/shared.js +14 -0
- package/dist/replay/normalizers/shared.js.map +1 -0
- package/dist/replay/runner.d.ts +35 -0
- package/dist/replay/runner.js +16 -0
- package/dist/replay/runner.js.map +1 -0
- package/dist/replay/types.d.ts +57 -0
- package/dist/replay/types.js +19 -0
- package/dist/replay/types.js.map +1 -0
- package/dist/resolution-B7FNQSSP.js +12 -0
- package/dist/resolution-B7FNQSSP.js.map +1 -0
- package/dist/resolve-provider-secret.js +2 -2
- package/dist/resume-bundles.js +8 -6
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/routing/engine.d.ts +35 -0
- package/dist/routing/engine.js +16 -0
- package/dist/routing/engine.js.map +1 -0
- package/dist/routing/store.d.ts +27 -0
- package/dist/routing/store.js +10 -0
- package/dist/routing/store.js.map +1 -0
- package/dist/runtime/better-sqlite.d.ts +8 -0
- package/dist/runtime/better-sqlite.js +10 -0
- package/dist/runtime/better-sqlite.js.map +1 -0
- package/dist/runtime/child-process.d.ts +32 -0
- package/dist/runtime/child-process.js +10 -0
- package/dist/runtime/child-process.js.map +1 -0
- package/dist/runtime/env.d.ts +5 -0
- package/dist/runtime/env.js +12 -0
- package/dist/runtime/env.js.map +1 -0
- package/dist/schemas.d.ts +22 -22
- package/dist/sdk-compat.js +1 -1
- package/dist/search/document-scanner.d.ts +22 -0
- package/dist/search/document-scanner.js +8 -0
- package/dist/search/document-scanner.js.map +1 -0
- package/dist/search/embed-helper.d.ts +35 -0
- package/dist/search/embed-helper.js +9 -0
- package/dist/search/embed-helper.js.map +1 -0
- package/dist/search/factory.d.ts +32 -0
- package/dist/search/factory.js +29 -0
- package/dist/search/factory.js.map +1 -0
- package/dist/search/index.d.ts +15 -0
- package/dist/search/index.js +50 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/lancedb-backend.d.ts +51 -0
- package/dist/search/lancedb-backend.js +10 -0
- package/dist/search/lancedb-backend.js.map +1 -0
- package/dist/search/meilisearch-backend.d.ts +48 -0
- package/dist/search/meilisearch-backend.js +10 -0
- package/dist/search/meilisearch-backend.js.map +1 -0
- package/dist/search/noop-backend.d.ts +26 -0
- package/dist/search/noop-backend.js +8 -0
- package/dist/search/noop-backend.js.map +1 -0
- package/dist/search/orama-backend.d.ts +53 -0
- package/dist/search/orama-backend.js +10 -0
- package/dist/search/orama-backend.js.map +1 -0
- package/dist/search/port.d.ts +61 -0
- package/dist/search/port.js +1 -0
- package/dist/search/port.js.map +1 -0
- package/dist/search/remote-backend.d.ts +39 -0
- package/dist/search/remote-backend.js +9 -0
- package/dist/search/remote-backend.js.map +1 -0
- package/dist/secure-store/index.d.ts +890 -0
- package/dist/secure-store/index.js +156 -0
- package/dist/secure-store/index.js.map +1 -0
- package/dist/semantic-VwGI14Ok.d.ts +69 -0
- package/dist/semantic-consolidation-4HkHWgeI.d.ts +180 -0
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +13 -6
- package/dist/semantic-rule-promotion.js +8 -5
- package/dist/semantic-rule-verifier.js +8 -5
- package/dist/shared-context/manager.d.ts +131 -0
- package/dist/shared-context/manager.js +15 -0
- package/dist/shared-context/manager.js.map +1 -0
- package/dist/skills-registry.js +13 -1
- package/dist/skills-registry.js.map +1 -1
- package/dist/state-store-VZU2IA53.js +16 -0
- package/dist/state-store-VZU2IA53.js.map +1 -0
- package/dist/storage-paths.d.ts +9 -0
- package/dist/storage-paths.js +20 -0
- package/dist/storage-paths.js.map +1 -0
- package/dist/storage.d.ts +3 -1
- package/dist/storage.js +7 -4
- package/dist/summarizer.d.ts +5 -0
- package/dist/summarizer.js +9 -8
- package/dist/summary-snapshot.js +2 -1
- package/dist/surfaces/dreams.d.ts +16 -0
- package/dist/surfaces/dreams.js +282 -0
- package/dist/surfaces/dreams.js.map +1 -0
- package/dist/surfaces/heartbeat.d.ts +17 -0
- package/dist/surfaces/heartbeat.js +265 -0
- package/dist/surfaces/heartbeat.js.map +1 -0
- package/dist/temporal-supersession.d.ts +3 -1
- package/dist/threading.d.ts +5 -0
- package/dist/threading.js +2 -1
- package/dist/tier-migration.d.ts +4 -2
- package/dist/tokens.js +2 -2
- package/dist/transcript.d.ts +15 -1
- package/dist/transcript.js +2 -1
- package/dist/transfer/autodetect.d.ts +4 -0
- package/dist/transfer/autodetect.js +15 -0
- package/dist/transfer/autodetect.js.map +1 -0
- package/dist/transfer/backup.d.ts +21 -0
- package/dist/transfer/backup.js +17 -0
- package/dist/transfer/backup.js.map +1 -0
- package/dist/transfer/capsule-export.d.ts +113 -0
- package/dist/transfer/capsule-export.js +19 -0
- package/dist/transfer/capsule-export.js.map +1 -0
- package/dist/transfer/capsule-import.d.ts +124 -0
- package/dist/transfer/capsule-import.js +16 -0
- package/dist/transfer/capsule-import.js.map +1 -0
- package/dist/transfer/constants.d.ts +13 -0
- package/dist/transfer/constants.js +12 -0
- package/dist/transfer/constants.js.map +1 -0
- package/dist/transfer/export-json.d.ts +11 -0
- package/dist/transfer/export-json.js +11 -0
- package/dist/transfer/export-json.js.map +1 -0
- package/dist/transfer/export-md.d.ts +10 -0
- package/dist/transfer/export-md.js +13 -0
- package/dist/transfer/export-md.js.map +1 -0
- package/dist/transfer/export-sqlite.d.ts +9 -0
- package/dist/transfer/export-sqlite.js +12 -0
- package/dist/transfer/export-sqlite.js.map +1 -0
- package/dist/transfer/fs-utils.d.ts +61 -0
- package/dist/transfer/fs-utils.js +40 -0
- package/dist/transfer/fs-utils.js.map +1 -0
- package/dist/transfer/import-json.d.ts +16 -0
- package/dist/transfer/import-json.js +13 -0
- package/dist/transfer/import-json.js.map +1 -0
- package/dist/transfer/import-md.d.ts +14 -0
- package/dist/transfer/import-md.js +11 -0
- package/dist/transfer/import-md.js.map +1 -0
- package/dist/transfer/import-sqlite.d.ts +14 -0
- package/dist/transfer/import-sqlite.js +12 -0
- package/dist/transfer/import-sqlite.js.map +1 -0
- package/dist/transfer/sqlite-schema.d.ts +4 -0
- package/dist/transfer/sqlite-schema.js +10 -0
- package/dist/transfer/sqlite-schema.js.map +1 -0
- package/dist/transfer/types.d.ts +916 -0
- package/dist/transfer/types.js +30 -0
- package/dist/transfer/types.js.map +1 -0
- package/dist/types.d.ts +28 -1
- package/dist/types.js +1 -1
- package/dist/verified-recall.js +9 -6
- package/dist/work/board.d.ts +43 -0
- package/dist/work/board.js +14 -0
- package/dist/work/board.js.map +1 -0
- package/dist/work/boundary.d.ts +8 -0
- package/dist/work/boundary.js +14 -0
- package/dist/work/boundary.js.map +1 -0
- package/dist/work/storage.d.ts +39 -0
- package/dist/work/storage.js +11 -0
- package/dist/work/storage.js.map +1 -0
- package/dist/work/types.d.ts +75 -0
- package/dist/work/types.js +1 -0
- package/dist/work/types.js.map +1 -0
- package/package.json +2767 -6
- package/scripts/faiss_index.py +816 -0
- package/scripts/faiss_requirements.txt +3 -0
- package/skills/remnic-entities/SKILL.md +51 -0
- package/skills/remnic-memory-workflow/SKILL.md +61 -0
- package/skills/remnic-recall/SKILL.md +51 -0
- package/skills/remnic-remember/SKILL.md +56 -0
- package/skills/remnic-search/SKILL.md +51 -0
- package/skills/remnic-status/SKILL.md +51 -0
- package/src/abort-error.test.ts +49 -0
- package/src/abort-error.ts +46 -0
- package/src/abstraction-nodes.ts +162 -0
- package/src/access-audit.test.ts +178 -0
- package/src/access-audit.ts +125 -0
- package/src/access-cli.test.ts +439 -0
- package/src/access-cli.ts +438 -0
- package/src/access-http.test.ts +225 -0
- package/src/access-http.ts +1899 -0
- package/src/access-idempotency.ts +232 -0
- package/src/access-mcp.test.ts +568 -0
- package/src/access-mcp.ts +3056 -0
- package/src/access-schema-pi.test.ts +60 -0
- package/src/access-schema.ts +522 -0
- package/src/access-service-namespace.test.ts +123 -0
- package/src/access-service.ts +5629 -0
- package/src/action-confidence.test.ts +206 -0
- package/src/action-confidence.ts +466 -0
- package/src/active-memory-bridge.test.ts +285 -0
- package/src/active-memory-bridge.ts +217 -0
- package/src/active-recall.test.ts +484 -0
- package/src/active-recall.ts +459 -0
- package/src/adapters/claude-code.ts +56 -0
- package/src/adapters/codex.ts +57 -0
- package/src/adapters/hermes.ts +64 -0
- package/src/adapters/index.ts +6 -0
- package/src/adapters/registry.ts +41 -0
- package/src/adapters/replit.ts +55 -0
- package/src/adapters/types.ts +51 -0
- package/src/behavior-learner.ts +144 -0
- package/src/behavior-signals.ts +73 -0
- package/src/binary-lifecycle/backend.ts +117 -0
- package/src/binary-lifecycle/index.ts +35 -0
- package/src/binary-lifecycle/manifest.ts +79 -0
- package/src/binary-lifecycle/pipeline.ts +352 -0
- package/src/binary-lifecycle/scanner.ts +89 -0
- package/src/binary-lifecycle/types.ts +89 -0
- package/src/bootstrap.ts +178 -0
- package/src/boxes.ts +521 -0
- package/src/briefing.test.ts +1535 -0
- package/src/briefing.ts +1382 -0
- package/src/buffer-session.test.ts +443 -0
- package/src/buffer-surprise-report.ts +176 -0
- package/src/buffer-surprise-telemetry.test.ts +606 -0
- package/src/buffer-surprise-trigger.test.ts +766 -0
- package/src/buffer-surprise.test.ts +339 -0
- package/src/buffer-surprise.ts +203 -0
- package/src/buffer.ts +900 -0
- package/src/bulk-import/cli-command.test.ts +204 -0
- package/src/bulk-import/index.ts +34 -0
- package/src/bulk-import/pipeline.test.ts +445 -0
- package/src/bulk-import/pipeline.ts +178 -0
- package/src/bulk-import/registry.test.ts +151 -0
- package/src/bulk-import/registry.ts +72 -0
- package/src/bulk-import/types.test.ts +272 -0
- package/src/bulk-import/types.ts +145 -0
- package/src/calibration.ts +394 -0
- package/src/capsule-cli.test.ts +398 -0
- package/src/capsule-cli.ts +565 -0
- package/src/causal-behavior.ts +308 -0
- package/src/causal-chain.ts +419 -0
- package/src/causal-consolidation.ts +370 -0
- package/src/causal-retrieval.ts +286 -0
- package/src/causal-trajectory-graph.ts +60 -0
- package/src/causal-trajectory.ts +303 -0
- package/src/chunking.ts +220 -0
- package/src/citations.ts +232 -0
- package/src/cli.ts +9403 -0
- package/src/codex-cli-fallback.ts +162 -0
- package/src/codex-thread-key.ts +1 -0
- package/src/coding/access-coding-context.test.ts +197 -0
- package/src/coding/coding-branch-scope.test.ts +281 -0
- package/src/coding/coding-namespace.test.ts +360 -0
- package/src/coding/coding-namespace.ts +412 -0
- package/src/coding/coding-orchestrator.test.ts +249 -0
- package/src/coding/git-context.test.ts +507 -0
- package/src/coding/git-context.ts +336 -0
- package/src/coding/mcp-set-coding-context.test.ts +174 -0
- package/src/coding/review-context.test.ts +316 -0
- package/src/coding/review-context.ts +349 -0
- package/src/coding/wire-coding-context.test.ts +468 -0
- package/src/commitment-ledger.test.ts +78 -0
- package/src/commitment-ledger.ts +337 -0
- package/src/compat/checks.test.ts +206 -0
- package/src/compat/checks.ts +716 -0
- package/src/compat/types.ts +33 -0
- package/src/compounding/engine.ts +1686 -0
- package/src/compounding/preference-consolidator.ts +778 -0
- package/src/compression-optimizer.ts +312 -0
- package/src/config.test.ts +930 -0
- package/src/config.ts +3807 -0
- package/src/connectors/codex/instructions.md +160 -0
- package/src/connectors/codex/resources/namespace-cheatsheet.md +48 -0
- package/src/connectors/codex-marketplace.ts +500 -0
- package/src/connectors/codex-materialize-runner.ts +212 -0
- package/src/connectors/codex-materialize.ts +983 -0
- package/src/connectors/coerce.ts +62 -0
- package/src/connectors/index.test.ts +1570 -0
- package/src/connectors/index.ts +3222 -0
- package/src/connectors/live/framework.ts +164 -0
- package/src/connectors/live/github.test.ts +1218 -0
- package/src/connectors/live/github.ts +1068 -0
- package/src/connectors/live/gmail.test.ts +1706 -0
- package/src/connectors/live/gmail.ts +1293 -0
- package/src/connectors/live/google-drive.test.ts +696 -0
- package/src/connectors/live/google-drive.ts +724 -0
- package/src/connectors/live/index.ts +101 -0
- package/src/connectors/live/live-connectors.test.ts +689 -0
- package/src/connectors/live/notion.test.ts +1109 -0
- package/src/connectors/live/notion.ts +978 -0
- package/src/connectors/live/registry.ts +103 -0
- package/src/connectors/live/state-store.ts +399 -0
- package/src/connectors/live/transient-errors.ts +150 -0
- package/src/connectors/weclone-installer.test.ts +850 -0
- package/src/connectors-cli.ts +513 -0
- package/src/console/state.test.ts +224 -0
- package/src/console/state.ts +514 -0
- package/src/console/trace.test.ts +813 -0
- package/src/console/trace.ts +603 -0
- package/src/console/tui.test.ts +582 -0
- package/src/console/tui.ts +508 -0
- package/src/consolidation-operator.ts +182 -0
- package/src/consolidation-provenance-check.ts +551 -0
- package/src/consolidation-undo.ts +718 -0
- package/src/contradiction/contradiction-judge.test.ts +189 -0
- package/src/contradiction/contradiction-judge.ts +333 -0
- package/src/contradiction/contradiction-review.ts +574 -0
- package/src/contradiction/contradiction-scan.ts +504 -0
- package/src/contradiction/contradiction.test.ts +2230 -0
- package/src/contradiction/index.ts +37 -0
- package/src/contradiction/resolution.ts +383 -0
- package/src/conversation-index/backend.ts +323 -0
- package/src/conversation-index/chunker.ts +47 -0
- package/src/conversation-index/cleanup.ts +53 -0
- package/src/conversation-index/faiss-adapter.ts +384 -0
- package/src/conversation-index/indexer.test.ts +164 -0
- package/src/conversation-index/indexer.ts +192 -0
- package/src/conversation-index/search.ts +37 -0
- package/src/cross-namespace-budget.test.ts +275 -0
- package/src/cross-namespace-budget.ts +365 -0
- package/src/cue-anchors.ts +163 -0
- package/src/curation/index.ts +544 -0
- package/src/dashboard-runtime.ts +337 -0
- package/src/day-summary.ts +122 -0
- package/src/dedup/index.ts +330 -0
- package/src/dedup/semantic.test.ts +1577 -0
- package/src/dedup/semantic.ts +148 -0
- package/src/delinearize.ts +193 -0
- package/src/direct-answer-wiring.test.ts +473 -0
- package/src/direct-answer-wiring.ts +180 -0
- package/src/direct-answer.test.ts +484 -0
- package/src/direct-answer.ts +273 -0
- package/src/embedding-fallback.ts +565 -0
- package/src/enrichment/audit.ts +89 -0
- package/src/enrichment/index.ts +27 -0
- package/src/enrichment/pipeline.ts +197 -0
- package/src/enrichment/provider-registry.ts +85 -0
- package/src/enrichment/types.ts +100 -0
- package/src/enrichment/web-search-provider.ts +63 -0
- package/src/entity-retrieval.ts +774 -0
- package/src/entity-schema.ts +239 -0
- package/src/evals.ts +1312 -0
- package/src/event-order-recall.test.ts +4164 -0
- package/src/event-order-recall.ts +2802 -0
- package/src/evidence-pack.test.ts +89 -0
- package/src/evidence-pack.ts +388 -0
- package/src/explicit-capture.ts +530 -0
- package/src/explicit-cue-recall.test.ts +3019 -0
- package/src/explicit-cue-recall.ts +5545 -0
- package/src/extraction-judge-telemetry.ts +234 -0
- package/src/extraction-judge-training.ts +221 -0
- package/src/extraction-judge.ts +846 -0
- package/src/extraction-timeout.test.ts +265 -0
- package/src/extraction.ts +2719 -0
- package/src/fallback-llm.test.ts +1060 -0
- package/src/fallback-llm.ts +918 -0
- package/src/focused-list-recall.test.ts +734 -0
- package/src/focused-list-recall.ts +1160 -0
- package/src/graph-dashboard-diff.ts +35 -0
- package/src/graph-dashboard-key.ts +5 -0
- package/src/graph-dashboard-parser.ts +104 -0
- package/src/graph-edge-reinforcement.ts +192 -0
- package/src/graph-events.ts +151 -0
- package/src/graph-recall.test.ts +164 -0
- package/src/graph-recall.ts +189 -0
- package/src/graph-retrieval.test.ts +809 -0
- package/src/graph-retrieval.ts +823 -0
- package/src/graph-snapshot.ts +329 -0
- package/src/graph.ts +813 -0
- package/src/harmonic-retrieval.ts +223 -0
- package/src/himem.ts +154 -0
- package/src/hygiene.ts +87 -0
- package/src/identity-continuity.ts +333 -0
- package/src/importance.ts +328 -0
- package/src/importers/base.test.ts +294 -0
- package/src/importers/base.ts +436 -0
- package/src/importers/index.ts +21 -0
- package/src/index.ts +1204 -0
- package/src/intent.ts +154 -0
- package/src/json-extract.ts +85 -0
- package/src/json-store.ts +42 -0
- package/src/lcm/archive.ts +617 -0
- package/src/lcm/dag.ts +199 -0
- package/src/lcm/engine.ts +645 -0
- package/src/lcm/index.ts +7 -0
- package/src/lcm/queue.test.ts +178 -0
- package/src/lcm/queue.ts +200 -0
- package/src/lcm/recall.ts +117 -0
- package/src/lcm/schema.ts +154 -0
- package/src/lcm/summarizer.ts +235 -0
- package/src/lcm/tools.ts +191 -0
- package/src/lcm-engine.test.ts +660 -0
- package/src/legacy-hook-compat.test.ts +20 -0
- package/src/legacy-hook-compat.ts +45 -0
- package/src/lifecycle.ts +289 -0
- package/src/live-connectors-runner.ts +385 -0
- package/src/local-llm-qos.test.ts +303 -0
- package/src/local-llm-thinking.test.ts +292 -0
- package/src/local-llm.ts +1464 -0
- package/src/logger.ts +49 -0
- package/src/maintenance/archive-observations.ts +147 -0
- package/src/maintenance/backup-stamp.ts +3 -0
- package/src/maintenance/dreams-ledger.ts +516 -0
- package/src/maintenance/first-start-migration.ts +362 -0
- package/src/maintenance/forget.test.ts +206 -0
- package/src/maintenance/forget.ts +126 -0
- package/src/maintenance/graph-edge-decay.test.ts +409 -0
- package/src/maintenance/graph-edge-decay.ts +394 -0
- package/src/maintenance/memory-governance-cron.ts +447 -0
- package/src/maintenance/memory-governance.ts +1039 -0
- package/src/maintenance/migrate-observations.ts +216 -0
- package/src/maintenance/observation-ledger-utils.ts +54 -0
- package/src/maintenance/pattern-reinforcement.test.ts +875 -0
- package/src/maintenance/pattern-reinforcement.ts +369 -0
- package/src/maintenance/purge.ts +334 -0
- package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +78 -0
- package/src/maintenance/rebuild-memory-projection.ts +1234 -0
- package/src/maintenance/rebuild-observations.ts +178 -0
- package/src/maintenance/tier-stats.test.ts +378 -0
- package/src/maintenance/tier-stats.ts +222 -0
- package/src/mcp-memory-inspector-app.ts +421 -0
- package/src/memory-action-policy.ts +80 -0
- package/src/memory-cache.ts +208 -0
- package/src/memory-extension/claude-code-publisher.ts +51 -0
- package/src/memory-extension/codex-publisher.ts +149 -0
- package/src/memory-extension/hermes-publisher.ts +51 -0
- package/src/memory-extension/index.ts +100 -0
- package/src/memory-extension/shared-instructions.ts +133 -0
- package/src/memory-extension/types.ts +86 -0
- package/src/memory-extension-host/host-discovery.ts +276 -0
- package/src/memory-extension-host/index.ts +14 -0
- package/src/memory-extension-host/render-extensions-block.ts +73 -0
- package/src/memory-extension-host/types.ts +21 -0
- package/src/memory-lifecycle-ledger-utils.ts +116 -0
- package/src/memory-projection-format.ts +11 -0
- package/src/memory-projection-store.ts +951 -0
- package/src/memory-provenance.test.ts +196 -0
- package/src/memory-provenance.ts +484 -0
- package/src/memory-worth-bench.test.ts +71 -0
- package/src/memory-worth-bench.ts +265 -0
- package/src/memory-worth-filter.test.ts +209 -0
- package/src/memory-worth-filter.ts +204 -0
- package/src/memory-worth-frontmatter.test.ts +311 -0
- package/src/memory-worth-outcomes.test.ts +316 -0
- package/src/memory-worth-outcomes.ts +286 -0
- package/src/memory-worth.test.ts +317 -0
- package/src/memory-worth.ts +215 -0
- package/src/message-parts/index.ts +806 -0
- package/src/message-parts/message-parts.test.ts +421 -0
- package/src/migrate/from-engram.ts +789 -0
- package/src/model-registry.ts +313 -0
- package/src/models-json.ts +76 -0
- package/src/namespaces/migrate.ts +187 -0
- package/src/namespaces/path.ts +25 -0
- package/src/namespaces/principal.test.ts +195 -0
- package/src/namespaces/principal.ts +86 -0
- package/src/namespaces/search.test.ts +105 -0
- package/src/namespaces/search.ts +233 -0
- package/src/namespaces/storage.ts +74 -0
- package/src/native-knowledge.ts +1823 -0
- package/src/negative.ts +72 -0
- package/src/network/tailscale.ts +179 -0
- package/src/network/webdav.ts +385 -0
- package/src/objective-state-writers.ts +951 -0
- package/src/objective-state.ts +320 -0
- package/src/onboarding/index.ts +529 -0
- package/src/openai-chat-compat.ts +56 -0
- package/src/operator-toolkit.ts +2132 -0
- package/src/opik-exporter.test.ts +72 -0
- package/src/opik-exporter.ts +587 -0
- package/src/orchestrator-extraction-queue.test.ts +197 -0
- package/src/orchestrator-flush.test.ts +1171 -0
- package/src/orchestrator-pattern-reinforcement.test.ts +128 -0
- package/src/orchestrator-source-attribution.test.ts +701 -0
- package/src/orchestrator.ts +16368 -0
- package/src/page-versioning.ts +450 -0
- package/src/patterns-cli.ts +574 -0
- package/src/peers/index.ts +54 -0
- package/src/peers/migrate-from-identity-anchor.test.ts +291 -0
- package/src/peers/migrate-from-identity-anchor.ts +350 -0
- package/src/peers/peers.test.ts +419 -0
- package/src/peers/profile-reasoner.ts +694 -0
- package/src/peers/storage.ts +1350 -0
- package/src/peers/types.ts +138 -0
- package/src/plugin-id.ts +84 -0
- package/src/policy-runtime.ts +209 -0
- package/src/procedural/procedure-miner.ts +150 -0
- package/src/procedural/procedure-recall.ts +93 -0
- package/src/procedural/procedure-stats.ts +213 -0
- package/src/procedural/procedure-types.ts +132 -0
- package/src/procedural/reinforcement-core.test.ts +132 -0
- package/src/procedural/reinforcement-core.ts +73 -0
- package/src/profiling.test.ts +263 -0
- package/src/profiling.ts +435 -0
- package/src/projection/index.ts +398 -0
- package/src/qmd-recall-cache.test.ts +138 -0
- package/src/qmd-recall-cache.ts +111 -0
- package/src/qmd.test.ts +257 -0
- package/src/qmd.ts +2614 -0
- package/src/reasoning-trace-recall.ts +201 -0
- package/src/reasoning-trace-types.ts +235 -0
- package/src/recall-audit-anomaly.test.ts +246 -0
- package/src/recall-audit-anomaly.ts +297 -0
- package/src/recall-audit.test.ts +51 -0
- package/src/recall-audit.ts +72 -0
- package/src/recall-budget-config.test.ts +87 -0
- package/src/recall-disclosure-escalation.test.ts +196 -0
- package/src/recall-disclosure-escalation.ts +158 -0
- package/src/recall-disclosure-shaping.test.ts +146 -0
- package/src/recall-disclosure.test.ts +214 -0
- package/src/recall-explain-renderer.test.ts +140 -0
- package/src/recall-explain-renderer.ts +356 -0
- package/src/recall-mmr.test.ts +808 -0
- package/src/recall-mmr.ts +607 -0
- package/src/recall-qos.test.ts +85 -0
- package/src/recall-qos.ts +82 -0
- package/src/recall-query-policy.ts +221 -0
- package/src/recall-state.test.ts +233 -0
- package/src/recall-state.ts +456 -0
- package/src/recall-tag-filter.ts +143 -0
- package/src/recall-tokenization.ts +35 -0
- package/src/recall-xray-cli.test.ts +118 -0
- package/src/recall-xray-cli.ts +100 -0
- package/src/recall-xray-disclosure-telemetry.test.ts +183 -0
- package/src/recall-xray-renderer.test.ts +539 -0
- package/src/recall-xray-renderer.ts +487 -0
- package/src/recall-xray.test.ts +503 -0
- package/src/recall-xray.ts +621 -0
- package/src/reconstruct.ts +41 -0
- package/src/release-changelog.ts +35 -0
- package/src/relevance.ts +67 -0
- package/src/replay/normalizers/chatgpt.ts +133 -0
- package/src/replay/normalizers/claude.ts +102 -0
- package/src/replay/normalizers/openclaw.ts +119 -0
- package/src/replay/normalizers/shared.ts +69 -0
- package/src/replay/runner.ts +197 -0
- package/src/replay/types.ts +143 -0
- package/src/rerank.test.ts +48 -0
- package/src/rerank.ts +176 -0
- package/src/resolve-auth-token.test.ts +226 -0
- package/src/resolve-auth-token.ts +151 -0
- package/src/resolve-provider-secret.test.ts +187 -0
- package/src/resolve-provider-secret.ts +410 -0
- package/src/response-guidance-recall.test.ts +3952 -0
- package/src/response-guidance-recall.ts +4431 -0
- package/src/resume-bundles.ts +415 -0
- package/src/retrieval-agents.ts +623 -0
- package/src/retrieval-tiers.ts +25 -0
- package/src/retrieval.ts +104 -0
- package/src/review/index.test.ts +201 -0
- package/src/review/index.ts +536 -0
- package/src/routing/engine.ts +162 -0
- package/src/routing/store.ts +321 -0
- package/src/runtime/better-sqlite.test.ts +32 -0
- package/src/runtime/better-sqlite.ts +76 -0
- package/src/runtime/child-process.ts +67 -0
- package/src/runtime/env.ts +48 -0
- package/src/sanitize.ts +58 -0
- package/src/schemas.ts +449 -0
- package/src/sdk-compat.ts +87 -0
- package/src/search/document-scanner.ts +96 -0
- package/src/search/embed-helper.ts +142 -0
- package/src/search/factory.ts +189 -0
- package/src/search/index.ts +10 -0
- package/src/search/lancedb-backend.ts +342 -0
- package/src/search/meilisearch-backend.ts +232 -0
- package/src/search/noop-backend.ts +57 -0
- package/src/search/orama-backend.ts +358 -0
- package/src/search/port.ts +86 -0
- package/src/search/remote-backend.ts +124 -0
- package/src/secure-store/cipher.ts +271 -0
- package/src/secure-store/cli-handlers.ts +355 -0
- package/src/secure-store/cli-renderer.ts +131 -0
- package/src/secure-store/header.ts +373 -0
- package/src/secure-store/index.ts +137 -0
- package/src/secure-store/kdf.ts +263 -0
- package/src/secure-store/keyring.ts +106 -0
- package/src/secure-store/metadata.ts +394 -0
- package/src/secure-store/passphrase-reader.ts +252 -0
- package/src/secure-store/secure-fs.ts +571 -0
- package/src/secure-store/secure-store.test.ts +755 -0
- package/src/semantic-chunking.ts +545 -0
- package/src/semantic-consolidation.test.ts +182 -0
- package/src/semantic-consolidation.ts +432 -0
- package/src/semantic-rule-promotion.ts +183 -0
- package/src/semantic-rule-verifier.ts +160 -0
- package/src/session-integrity.ts +569 -0
- package/src/session-observer-bands.ts +11 -0
- package/src/session-observer-state.ts +346 -0
- package/src/session-toggles.test.ts +96 -0
- package/src/session-toggles.ts +159 -0
- package/src/shared-context/manager.ts +810 -0
- package/src/signal.ts +84 -0
- package/src/skills-registry.test.ts +277 -0
- package/src/skills-registry.ts +120 -0
- package/src/source-attribution-roundtrip.test.ts +215 -0
- package/src/source-attribution.test.ts +1425 -0
- package/src/source-attribution.ts +639 -0
- package/src/spaces/index.ts +627 -0
- package/src/storage-paths.ts +117 -0
- package/src/storage.ts +6657 -0
- package/src/store-contract.ts +55 -0
- package/src/summarizer.ts +844 -0
- package/src/summary-snapshot.test.ts +681 -0
- package/src/summary-snapshot.ts +238 -0
- package/src/surfaces/dreams.test.ts +394 -0
- package/src/surfaces/dreams.ts +346 -0
- package/src/surfaces/heartbeat.test.ts +415 -0
- package/src/surfaces/heartbeat.ts +325 -0
- package/src/sync/index.ts +308 -0
- package/src/targeted-fact-recall.test.ts +1694 -0
- package/src/targeted-fact-recall.ts +2905 -0
- package/src/taxonomy/default-taxonomy.ts +87 -0
- package/src/taxonomy/index.ts +26 -0
- package/src/taxonomy/resolver-doc-generator.ts +57 -0
- package/src/taxonomy/resolver.ts +184 -0
- package/src/taxonomy/taxonomy-loader.ts +186 -0
- package/src/taxonomy/types.ts +48 -0
- package/src/telemetry-transcript.ts +70 -0
- package/src/temporal-index.ts +890 -0
- package/src/temporal-supersession.test.ts +2703 -0
- package/src/temporal-supersession.ts +493 -0
- package/src/temporal-validity.test.ts +448 -0
- package/src/temporal-validity.ts +123 -0
- package/src/threading.ts +395 -0
- package/src/tier-migration.ts +124 -0
- package/src/tier-routing.ts +102 -0
- package/src/tmt.ts +462 -0
- package/src/tokens.test.ts +178 -0
- package/src/tokens.ts +279 -0
- package/src/topics.ts +147 -0
- package/src/training-export/cli-date-validation.test.ts +258 -0
- package/src/training-export/converter.test.ts +452 -0
- package/src/training-export/converter.ts +319 -0
- package/src/training-export/date-parse.ts +117 -0
- package/src/training-export/index.ts +26 -0
- package/src/training-export/registry.test.ts +85 -0
- package/src/training-export/registry.ts +57 -0
- package/src/training-export/types.ts +31 -0
- package/src/transcript.ts +1179 -0
- package/src/transfer/autodetect.ts +30 -0
- package/src/transfer/backup.ts +138 -0
- package/src/transfer/capsule-crypto.ts +485 -0
- package/src/transfer/capsule-encrypt.test.ts +690 -0
- package/src/transfer/capsule-export.ts +543 -0
- package/src/transfer/capsule-fork.ts +375 -0
- package/src/transfer/capsule-import.ts +564 -0
- package/src/transfer/capsule-merge.ts +433 -0
- package/src/transfer/conflict-policy.ts +16 -0
- package/src/transfer/constants.ts +13 -0
- package/src/transfer/exclusions.ts +37 -0
- package/src/transfer/export-json.ts +65 -0
- package/src/transfer/export-md.ts +59 -0
- package/src/transfer/export-sqlite.ts +52 -0
- package/src/transfer/fs-utils.ts +269 -0
- package/src/transfer/import-json.ts +108 -0
- package/src/transfer/import-md.ts +84 -0
- package/src/transfer/import-sqlite.ts +100 -0
- package/src/transfer/integrity.ts +71 -0
- package/src/transfer/sqlite-schema.ts +16 -0
- package/src/transfer/types.ts +297 -0
- package/src/trust-zones.ts +1186 -0
- package/src/types.ts +3074 -0
- package/src/user-model.test.ts +124 -0
- package/src/user-model.ts +162 -0
- package/src/utility-learner.ts +353 -0
- package/src/utility-runtime.ts +88 -0
- package/src/utility-telemetry.ts +215 -0
- package/src/utils/category-dir.ts +44 -0
- package/src/utils/errno.ts +6 -0
- package/src/utils/iso-timestamp.test.ts +37 -0
- package/src/utils/iso-timestamp.ts +164 -0
- package/src/utils/path.ts +26 -0
- package/src/verified-recall.ts +138 -0
- package/src/version-utils.test.ts +10 -0
- package/src/version-utils.ts +9 -0
- package/src/whitespace.ts +10 -0
- package/src/work/board.ts +359 -0
- package/src/work/boundary.ts +107 -0
- package/src/work/storage.ts +436 -0
- package/src/work/types.ts +82 -0
- package/src/work-product-ledger.ts +265 -0
- package/dist/access-service-DDjzFALq.d.ts +0 -2088
- package/dist/capsule-crypto-SJS5VVAP.js +0 -18
- package/dist/capsule-export-7QNCBZOQ.js +0 -17
- package/dist/capsule-import-EPBHD2EN.js +0 -16
- package/dist/capsule-merge-DI7PNQ2H.js +0 -189
- package/dist/chunk-23ZZK64Y.js +0 -26
- package/dist/chunk-23ZZK64Y.js.map +0 -1
- package/dist/chunk-242S3I2A.js +0 -647
- package/dist/chunk-2LGMW3DJ.js +0 -111
- package/dist/chunk-3B6KIRBH.js +0 -5213
- package/dist/chunk-3B6KIRBH.js.map +0 -1
- package/dist/chunk-457A4P3L.js +0 -119
- package/dist/chunk-457A4P3L.js.map +0 -1
- package/dist/chunk-4IS4SXIQ.js +0 -2040
- package/dist/chunk-4YM32CRU.js +0 -721
- package/dist/chunk-6TBWYBJ3.js +0 -236
- package/dist/chunk-74EMIVE4.js +0 -329
- package/dist/chunk-74EMIVE4.js.map +0 -1
- package/dist/chunk-767ODGE6.js +0 -183
- package/dist/chunk-7V22HTMD.js +0 -623
- package/dist/chunk-7V22HTMD.js.map +0 -1
- package/dist/chunk-7ZM3BFKK.js +0 -9705
- package/dist/chunk-7ZM3BFKK.js.map +0 -1
- package/dist/chunk-AQJNPMOA.js +0 -643
- package/dist/chunk-AQJNPMOA.js.map +0 -1
- package/dist/chunk-ASAITVLA.js +0 -64
- package/dist/chunk-ASAITVLA.js.map +0 -1
- package/dist/chunk-BBE34QBJ.js +0 -275
- package/dist/chunk-BBE34QBJ.js.map +0 -1
- package/dist/chunk-BZSQEPRW.js +0 -14710
- package/dist/chunk-BZSQEPRW.js.map +0 -1
- package/dist/chunk-CPKTBRS2.js +0 -891
- package/dist/chunk-CPKTBRS2.js.map +0 -1
- package/dist/chunk-D4GAOFF6.js +0 -562
- package/dist/chunk-D4GAOFF6.js.map +0 -1
- package/dist/chunk-D54LZC5L.js +0 -147
- package/dist/chunk-DF3RVK3X.js +0 -119
- package/dist/chunk-DF3RVK3X.js.map +0 -1
- package/dist/chunk-DZZPC36E.js +0 -1451
- package/dist/chunk-DZZPC36E.js.map +0 -1
- package/dist/chunk-E2UCDP5S.js +0 -570
- package/dist/chunk-E6K4NIEU.js +0 -747
- package/dist/chunk-E6K4NIEU.js.map +0 -1
- package/dist/chunk-EEQLFRUM.js +0 -89
- package/dist/chunk-ETOW6ACV.js +0 -158
- package/dist/chunk-ETOW6ACV.js.map +0 -1
- package/dist/chunk-FMEBPEAO.js +0 -347
- package/dist/chunk-FMEBPEAO.js.map +0 -1
- package/dist/chunk-FQDPCE3I.js +0 -1837
- package/dist/chunk-FQDPCE3I.js.map +0 -1
- package/dist/chunk-FYIYMQ5N.js +0 -221
- package/dist/chunk-FYIYMQ5N.js.map +0 -1
- package/dist/chunk-G2WADRQ3.js +0 -219
- package/dist/chunk-G4SK7DSQ.js +0 -121
- package/dist/chunk-GVPWB7EY.js +0 -390
- package/dist/chunk-GVPWB7EY.js.map +0 -1
- package/dist/chunk-HELQZFZO.js +0 -1075
- package/dist/chunk-HL5LRPNA.js +0 -1914
- package/dist/chunk-HL5LRPNA.js.map +0 -1
- package/dist/chunk-HQZVVSVB.js +0 -147
- package/dist/chunk-HQZVVSVB.js.map +0 -1
- package/dist/chunk-HY3L4WKC.js +0 -2195
- package/dist/chunk-HY3L4WKC.js.map +0 -1
- package/dist/chunk-IB3BFHGN.js +0 -228
- package/dist/chunk-IXEJRKCZ.js +0 -18
- package/dist/chunk-JBMSGZEQ.js +0 -441
- package/dist/chunk-JBMSGZEQ.js.map +0 -1
- package/dist/chunk-JESOB2HO.js +0 -108
- package/dist/chunk-JKDVIE52.js +0 -272
- package/dist/chunk-JRNQ3RNA.js +0 -284
- package/dist/chunk-JRNQ3RNA.js.map +0 -1
- package/dist/chunk-K6WK37A6.js +0 -865
- package/dist/chunk-K6WK37A6.js.map +0 -1
- package/dist/chunk-MARWOCVP.js +0 -48
- package/dist/chunk-MNU6ZBWT.js +0 -4454
- package/dist/chunk-MNU6ZBWT.js.map +0 -1
- package/dist/chunk-N5AKDXAI.js +0 -74
- package/dist/chunk-OA3L7BFR.js +0 -183
- package/dist/chunk-OA3L7BFR.js.map +0 -1
- package/dist/chunk-OR64ZGRZ.js +0 -23
- package/dist/chunk-P77UEOU2.js +0 -1521
- package/dist/chunk-P77UEOU2.js.map +0 -1
- package/dist/chunk-PH4C2U43.js +0 -239
- package/dist/chunk-PH4C2U43.js.map +0 -1
- package/dist/chunk-RVPLBATS.js +0 -1586
- package/dist/chunk-RVPLBATS.js.map +0 -1
- package/dist/chunk-U5JMRGKX.js +0 -340
- package/dist/chunk-U5JMRGKX.js.map +0 -1
- package/dist/chunk-URB2WSKZ.js +0 -350
- package/dist/chunk-URB2WSKZ.js.map +0 -1
- package/dist/chunk-UVMUAWVT.js +0 -596
- package/dist/chunk-WEJG4TB5.js +0 -118
- package/dist/chunk-X7HPGUVG.js +0 -271
- package/dist/chunk-XAMBKFQS.js +0 -2777
- package/dist/chunk-XAMBKFQS.js.map +0 -1
- package/dist/chunk-XJKFSSDW.js +0 -726
- package/dist/chunk-XJKFSSDW.js.map +0 -1
- package/dist/chunk-XMHBH5H6.js +0 -283
- package/dist/chunk-XMHBH5H6.js.map +0 -1
- package/dist/chunk-XMVFHBHT.js +0 -277
- package/dist/chunk-Y3VMVTYX.js +0 -53
- package/dist/chunk-YNB73F22.js +0 -137
- package/dist/chunk-YNB73F22.js.map +0 -1
- package/dist/chunk-Z2E7VW55.js +0 -335
- package/dist/chunk-Z2E7VW55.js.map +0 -1
- package/dist/chunk-ZG7PTKBK.js +0 -2296
- package/dist/chunk-ZNQN6ZTA.js +0 -135
- package/dist/chunk-ZVTKDVVM.js +0 -827
- package/dist/chunk-ZVTKDVVM.js.map +0 -1
- package/dist/cli-BR8KpIU0.d.ts +0 -1259
- package/dist/codex-materialize-CQlLTzke.d.ts +0 -139
- package/dist/connectors-cli-DFGtY2DB.d.ts +0 -257
- package/dist/contradiction-review-5LTTVDQV.js +0 -22
- package/dist/contradiction-scan-QTXAMBUA.js +0 -414
- package/dist/contradiction-scan-QTXAMBUA.js.map +0 -1
- package/dist/engine-35M5BKQ7.js +0 -28
- package/dist/fs-utils-IRVUFB6G.js +0 -30
- package/dist/graph-edge-decay-PWB63GRE.js +0 -207
- package/dist/memory-governance-IMPQZXFC.js +0 -37
- package/dist/memory-projection-store-CY8TU40w.d.ts +0 -222
- package/dist/orchestrator-DDMPqU6R.d.ts +0 -1792
- package/dist/path-RMTY5Y5A.js +0 -9
- package/dist/port-B6VEDIkC.d.ts +0 -53
- package/dist/resolution-YGIBORXI.js +0 -101
- package/dist/resolution-YGIBORXI.js.map +0 -1
- package/dist/secure-store-4R2GSO7S.js +0 -156
- package/dist/semantic-consolidation-ByBXb-sf.d.ts +0 -180
- package/dist/state-store-3EH7HYIN.js +0 -16
- package/dist/types-V3FJ26TF.js +0 -30
- /package/dist/{capsule-crypto-SJS5VVAP.js.map → adapters/claude-code.js.map} +0 -0
- /package/dist/{capsule-export-7QNCBZOQ.js.map → adapters/codex.js.map} +0 -0
- /package/dist/{capsule-import-EPBHD2EN.js.map → adapters/hermes.js.map} +0 -0
- /package/dist/{contradiction-review-5LTTVDQV.js.map → adapters/index.js.map} +0 -0
- /package/dist/{engine-35M5BKQ7.js.map → adapters/registry.js.map} +0 -0
- /package/dist/{fs-utils-IRVUFB6G.js.map → adapters/replit.js.map} +0 -0
- /package/dist/{memory-governance-IMPQZXFC.js.map → adapters/types.js.map} +0 -0
- /package/dist/{path-RMTY5Y5A.js.map → capsule-crypto-5CYAGVC5.js.map} +0 -0
- /package/dist/{capsule-merge-DI7PNQ2H.js.map → capsule-merge-4MGKE7C5.js.map} +0 -0
- /package/dist/{chunk-G4SK7DSQ.js.map → chunk-2WWLHTZY.js.map} +0 -0
- /package/dist/{chunk-X7HPGUVG.js.map → chunk-4CRG46BG.js.map} +0 -0
- /package/dist/{chunk-UVMUAWVT.js.map → chunk-7IASACLB.js.map} +0 -0
- /package/dist/{chunk-HELQZFZO.js.map → chunk-EDTHC6UD.js.map} +0 -0
- /package/dist/{chunk-4YM32CRU.js.map → chunk-EFJ3MQ4V.js.map} +0 -0
- /package/dist/{chunk-E2UCDP5S.js.map → chunk-FBYESMQ2.js.map} +0 -0
- /package/dist/{chunk-D54LZC5L.js.map → chunk-FDU6HUUL.js.map} +0 -0
- /package/dist/{chunk-IB3BFHGN.js.map → chunk-GGKRUQOO.js.map} +0 -0
- /package/dist/{chunk-242S3I2A.js.map → chunk-GL6I6MEQ.js.map} +0 -0
- /package/dist/{secure-store-4R2GSO7S.js.map → chunk-HHLLAQGZ.js.map} +0 -0
- /package/dist/{chunk-4IS4SXIQ.js.map → chunk-HXXBL2KD.js.map} +0 -0
- /package/dist/{chunk-767ODGE6.js.map → chunk-KNKUID7G.js.map} +0 -0
- /package/dist/{chunk-6TBWYBJ3.js.map → chunk-LPMVBPA3.js.map} +0 -0
- /package/dist/{chunk-WEJG4TB5.js.map → chunk-MC26UJIM.js.map} +0 -0
- /package/dist/{chunk-JKDVIE52.js.map → chunk-MGKYQQYF.js.map} +0 -0
- /package/dist/{chunk-Y3VMVTYX.js.map → chunk-MT4HVDUZ.js.map} +0 -0
- /package/dist/{chunk-G2WADRQ3.js.map → chunk-MY6TPVXW.js.map} +0 -0
- /package/dist/{chunk-OR64ZGRZ.js.map → chunk-NNVTUXEB.js.map} +0 -0
- /package/dist/{chunk-JESOB2HO.js.map → chunk-P4NEIHUT.js.map} +0 -0
- /package/dist/{chunk-IXEJRKCZ.js.map → chunk-QRNI5JBH.js.map} +0 -0
- /package/dist/{chunk-EEQLFRUM.js.map → chunk-RRF5UOBJ.js.map} +0 -0
- /package/dist/{state-store-3EH7HYIN.js.map → chunk-SEDEKFYQ.js.map} +0 -0
- /package/dist/{chunk-2LGMW3DJ.js.map → chunk-U3PN77QT.js.map} +0 -0
- /package/dist/{chunk-XMVFHBHT.js.map → chunk-U3WSW6PZ.js.map} +0 -0
- /package/dist/{chunk-N5AKDXAI.js.map → chunk-UWVJF25J.js.map} +0 -0
- /package/dist/{types-V3FJ26TF.js.map → chunk-V5OCT34X.js.map} +0 -0
- /package/dist/{chunk-ZG7PTKBK.js.map → chunk-W3LR522O.js.map} +0 -0
- /package/dist/{chunk-MARWOCVP.js.map → chunk-XIG5PDM7.js.map} +0 -0
- /package/dist/{chunk-ZNQN6ZTA.js.map → chunk-XVZ7B3HG.js.map} +0 -0
- /package/dist/{graph-edge-decay-PWB63GRE.js.map → graph-edge-decay-5DI5GUNL.js.map} +0 -0
|
@@ -0,0 +1,734 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
|
|
4
|
+
import { parseConfig } from "./config.js";
|
|
5
|
+
import {
|
|
6
|
+
buildFocusedListRecallSection,
|
|
7
|
+
shouldRecallFocusedListEvidence,
|
|
8
|
+
} from "./focused-list-recall.js";
|
|
9
|
+
|
|
10
|
+
class FakeFocusedListEngine {
|
|
11
|
+
readonly expandCalls: Array<{
|
|
12
|
+
sessionId: string;
|
|
13
|
+
fromTurn: number;
|
|
14
|
+
toTurn: number;
|
|
15
|
+
maxTokens: number;
|
|
16
|
+
}> = [];
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
private readonly sessionId: string,
|
|
20
|
+
private readonly messages: Array<{ turn_index: number; role: string; content: string }>,
|
|
21
|
+
private readonly searchTurnIndexes: number[] = [],
|
|
22
|
+
private readonly losslessMessageWindowLimit = Number.POSITIVE_INFINITY,
|
|
23
|
+
private readonly expandedContentLimit = Number.POSITIVE_INFINITY,
|
|
24
|
+
) {}
|
|
25
|
+
|
|
26
|
+
async searchContextFull(
|
|
27
|
+
_query: string,
|
|
28
|
+
_limit: number,
|
|
29
|
+
sessionId?: string,
|
|
30
|
+
): Promise<
|
|
31
|
+
Array<{
|
|
32
|
+
turn_index: number;
|
|
33
|
+
role: string;
|
|
34
|
+
content: string;
|
|
35
|
+
session_id: string;
|
|
36
|
+
score: number;
|
|
37
|
+
}>
|
|
38
|
+
> {
|
|
39
|
+
if (sessionId && sessionId !== this.sessionId) return [];
|
|
40
|
+
return this.searchTurnIndexes
|
|
41
|
+
.map((turnIndex, index) => {
|
|
42
|
+
const message = this.messages.find((entry) => entry.turn_index === turnIndex);
|
|
43
|
+
if (!message) return null;
|
|
44
|
+
return {
|
|
45
|
+
turn_index: message.turn_index,
|
|
46
|
+
role: message.role,
|
|
47
|
+
content: message.content,
|
|
48
|
+
session_id: this.sessionId,
|
|
49
|
+
score: 100 - index,
|
|
50
|
+
};
|
|
51
|
+
})
|
|
52
|
+
.filter((entry): entry is NonNullable<typeof entry> => entry !== null);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async expandContext(
|
|
56
|
+
sessionId: string,
|
|
57
|
+
fromTurn: number,
|
|
58
|
+
toTurn: number,
|
|
59
|
+
maxTokens: number,
|
|
60
|
+
): Promise<Array<{ turn_index: number; role: string; content: string }>> {
|
|
61
|
+
this.expandCalls.push({ sessionId, fromTurn, toTurn, maxTokens });
|
|
62
|
+
if (sessionId !== this.sessionId) return [];
|
|
63
|
+
const windowMessages = this.messages.filter(
|
|
64
|
+
(message) => message.turn_index >= fromTurn && message.turn_index <= toTurn,
|
|
65
|
+
);
|
|
66
|
+
if (windowMessages.length <= this.losslessMessageWindowLimit) {
|
|
67
|
+
return this.clipExpandedMessages(windowMessages);
|
|
68
|
+
}
|
|
69
|
+
const first = windowMessages[0];
|
|
70
|
+
const last = windowMessages[windowMessages.length - 1];
|
|
71
|
+
return this.clipExpandedMessages(first && last ? [first, last] : windowMessages);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
async getStats(sessionId?: string): Promise<{
|
|
75
|
+
totalMessages: number;
|
|
76
|
+
maxTurnIndex?: number;
|
|
77
|
+
}> {
|
|
78
|
+
if (sessionId && sessionId !== this.sessionId) {
|
|
79
|
+
return { totalMessages: 0 };
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
totalMessages: this.messages.length,
|
|
83
|
+
maxTurnIndex: Math.max(...this.messages.map((message) => message.turn_index)),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
private clipExpandedMessages(
|
|
88
|
+
messages: Array<{ turn_index: number; role: string; content: string }>,
|
|
89
|
+
): Array<{ turn_index: number; role: string; content: string }> {
|
|
90
|
+
return messages.map((message) => ({
|
|
91
|
+
...message,
|
|
92
|
+
content: message.content.slice(0, this.expandedContentLimit),
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
test("focused list recall is query-triggered", () => {
|
|
98
|
+
assert.equal(
|
|
99
|
+
shouldRecallFocusedListEvidence(
|
|
100
|
+
"How many different probability calculations did I try to confirm?",
|
|
101
|
+
),
|
|
102
|
+
true,
|
|
103
|
+
);
|
|
104
|
+
assert.equal(
|
|
105
|
+
shouldRecallFocusedListEvidence("What features should I pay attention to in sneakers?"),
|
|
106
|
+
true,
|
|
107
|
+
);
|
|
108
|
+
assert.equal(
|
|
109
|
+
shouldRecallFocusedListEvidence("Where did I say I met Laura?"),
|
|
110
|
+
true,
|
|
111
|
+
);
|
|
112
|
+
assert.equal(
|
|
113
|
+
shouldRecallFocusedListEvidence(
|
|
114
|
+
"How many different user roles and security features am I trying to implement across my sessions?",
|
|
115
|
+
),
|
|
116
|
+
true,
|
|
117
|
+
);
|
|
118
|
+
assert.equal(
|
|
119
|
+
shouldRecallFocusedListEvidence(
|
|
120
|
+
"How many different soy sauce substitutes have I mentioned using or buying across my conversations?",
|
|
121
|
+
),
|
|
122
|
+
true,
|
|
123
|
+
);
|
|
124
|
+
assert.equal(
|
|
125
|
+
shouldRecallFocusedListEvidence(
|
|
126
|
+
"What two special events am I planning with David, and where will they take place?",
|
|
127
|
+
),
|
|
128
|
+
true,
|
|
129
|
+
);
|
|
130
|
+
assert.equal(
|
|
131
|
+
shouldRecallFocusedListEvidence("What is the espresso code?"),
|
|
132
|
+
false,
|
|
133
|
+
);
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
test("focused list recall deduplicates probability calculations for count questions", async () => {
|
|
137
|
+
const sessionId = "beam-probability-core";
|
|
138
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
139
|
+
{
|
|
140
|
+
turn_index: 1,
|
|
141
|
+
role: "user",
|
|
142
|
+
content: "I want a general lesson about probability notation and card draws.",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
turn_index: 2,
|
|
146
|
+
role: "user",
|
|
147
|
+
content: "Can you help me calculate P(both heads) = 1/2 x 1/2 = 1/4 so I can make sure I get it right?",
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
turn_index: 3,
|
|
151
|
+
role: "user",
|
|
152
|
+
content: "I am trying to verify if P(rolling a number greater than 4) = 2/6 = 1/3 is correct.",
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
turn_index: 4,
|
|
156
|
+
role: "user",
|
|
157
|
+
content: "Can you check if P(rolling a 3 or 4) = 1/6 + 1/6 = 1/3 is correct?",
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
turn_index: 5,
|
|
161
|
+
role: "user",
|
|
162
|
+
content: "Please verify P(rolling a number greater than 4) = 2/6 = 1/3 one more time.",
|
|
163
|
+
},
|
|
164
|
+
], [2]);
|
|
165
|
+
|
|
166
|
+
const recalled = await buildFocusedListRecallSection({
|
|
167
|
+
engine,
|
|
168
|
+
sessionId,
|
|
169
|
+
query:
|
|
170
|
+
"In my questions about tossing coins and rolling dice, how many different probability calculations did I try to confirm?",
|
|
171
|
+
maxChars: 5_000,
|
|
172
|
+
maxScanWindowTurns: 10,
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
assert.match(recalled, /## Focused count evidence/);
|
|
176
|
+
assert.match(recalled, /Deduplicated candidate count: 3/);
|
|
177
|
+
assert.match(recalled, /P\(both heads\) = 1\/2 x 1\/2 = 1\/4/);
|
|
178
|
+
assert.match(recalled, /P\(rolling a number greater than 4\) = 2\/6 = 1\/3/);
|
|
179
|
+
assert.match(recalled, /P\(rolling a 3 or 4\) = 1\/6 \+ 1\/6 = 1\/3/);
|
|
180
|
+
assert.doesNotMatch(recalled, /general lesson about probability notation/);
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
test("focused list summary insertion treats dollar-sign headings literally", async () => {
|
|
184
|
+
const sessionId = "beam-focused-dollar-heading";
|
|
185
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
186
|
+
{
|
|
187
|
+
turn_index: 4,
|
|
188
|
+
role: "user",
|
|
189
|
+
content:
|
|
190
|
+
"For authentication, I want password hashing using generate_password_hash and check_password_hash.",
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
turn_index: 10,
|
|
194
|
+
role: "user",
|
|
195
|
+
content:
|
|
196
|
+
"I am also trying to implement role-based access control with admin and user roles.",
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
turn_index: 18,
|
|
200
|
+
role: "user",
|
|
201
|
+
content:
|
|
202
|
+
"For security, I want account lockout after repeated failed login attempts.",
|
|
203
|
+
},
|
|
204
|
+
], [4]);
|
|
205
|
+
|
|
206
|
+
const recalled = await buildFocusedListRecallSection({
|
|
207
|
+
engine,
|
|
208
|
+
sessionId,
|
|
209
|
+
query:
|
|
210
|
+
"How many different user roles and security features am I trying to implement across my sessions?",
|
|
211
|
+
maxChars: 5_000,
|
|
212
|
+
title: "Focused $& title",
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
assert.match(recalled, /^## Focused \$& title\n\nDeduplicated candidate count:/);
|
|
216
|
+
assert.equal(recalled.match(/## Focused \$& title/g)?.length, 1);
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
test("focused list recall counts all cover-letter revisions for how-many-times questions", async () => {
|
|
220
|
+
const sessionId = "beam-cover-letter-count";
|
|
221
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
222
|
+
{
|
|
223
|
+
turn_index: 2,
|
|
224
|
+
role: "user",
|
|
225
|
+
content: "I submitted a cover letter for the Eastbank analyst role.",
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
turn_index: 4,
|
|
229
|
+
role: "user",
|
|
230
|
+
content: "I revised the cover letter after feedback from Taylor.",
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
turn_index: 6,
|
|
234
|
+
role: "user",
|
|
235
|
+
content: "I submitted another cover letter draft for the Northwind coordinator role.",
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
turn_index: 8,
|
|
239
|
+
role: "user",
|
|
240
|
+
content: "I revised the cover letter again after the recruiter suggested a clearer opening.",
|
|
241
|
+
},
|
|
242
|
+
], [2]);
|
|
243
|
+
|
|
244
|
+
const recalled = await buildFocusedListRecallSection({
|
|
245
|
+
engine,
|
|
246
|
+
sessionId,
|
|
247
|
+
query: "How many times did I submit or revise my cover letter before the interview?",
|
|
248
|
+
maxChars: 5_000,
|
|
249
|
+
maxScanWindowTurns: 12,
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
assert.match(recalled, /Deduplicated candidate count: 4 \(four\)/);
|
|
253
|
+
assert.match(recalled, /1\. I submitted a cover letter for the Eastbank analyst role/);
|
|
254
|
+
assert.match(recalled, /4\. I revised the cover letter again after the recruiter suggested a clearer opening/);
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
test("focused list recall preserves exact search hits omitted by expansion truncation", async () => {
|
|
258
|
+
const sessionId = "beam-probability-truncated-hit";
|
|
259
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
260
|
+
{
|
|
261
|
+
turn_index: 1,
|
|
262
|
+
role: "user",
|
|
263
|
+
content: "I want a general lesson about probability notation and card draws.",
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
turn_index: 2,
|
|
267
|
+
role: "user",
|
|
268
|
+
content: "Can you help me calculate P(both heads) = 1/2 x 1/2 = 1/4 so I can make sure I get it right?",
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
turn_index: 3,
|
|
272
|
+
role: "user",
|
|
273
|
+
content: "Let's switch to a different unrelated topic for now.",
|
|
274
|
+
},
|
|
275
|
+
], [2], 2);
|
|
276
|
+
|
|
277
|
+
const recalled = await buildFocusedListRecallSection({
|
|
278
|
+
engine,
|
|
279
|
+
sessionId,
|
|
280
|
+
query:
|
|
281
|
+
"In my questions about tossing coins and rolling dice, how many different probability calculations did I try to confirm?",
|
|
282
|
+
maxChars: 2_000,
|
|
283
|
+
maxScanWindowTurns: 3,
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
assert.match(recalled, /P\(both heads\) = 1\/2 x 1\/2 = 1\/4/);
|
|
287
|
+
assert.doesNotMatch(recalled, /general lesson about probability notation/);
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
test("focused list recall preserves exact search hits included with truncated content", async () => {
|
|
291
|
+
const sessionId = "beam-probability-included-truncated-hit";
|
|
292
|
+
const fullContent =
|
|
293
|
+
"Can you help me calculate P(both heads) so I can make sure I get it right with a coin toss? Later I wrote P(both heads) = 1/2 x 1/2 = 1/4.";
|
|
294
|
+
const truncatedContent =
|
|
295
|
+
"Can you help me calculate P(both heads) so I can make sure I get it right with a coin toss?";
|
|
296
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
297
|
+
{
|
|
298
|
+
turn_index: 2,
|
|
299
|
+
role: "user",
|
|
300
|
+
content: fullContent,
|
|
301
|
+
},
|
|
302
|
+
], [2], Number.POSITIVE_INFINITY, truncatedContent.length);
|
|
303
|
+
|
|
304
|
+
const recalled = await buildFocusedListRecallSection({
|
|
305
|
+
engine,
|
|
306
|
+
sessionId,
|
|
307
|
+
query:
|
|
308
|
+
"In my questions about tossing coins and rolling dice, how many different probability calculations did I try to confirm?",
|
|
309
|
+
maxChars: 2_000,
|
|
310
|
+
maxScanWindowTurns: 1,
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
assert.match(recalled, /P\(both heads\) = 1\/2 x 1\/2 = 1\/4/);
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
test("focused list recall respects zero maxSearchResults after scan collection", async () => {
|
|
317
|
+
const sessionId = "beam-probability-max-results";
|
|
318
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
319
|
+
{
|
|
320
|
+
turn_index: 1,
|
|
321
|
+
role: "user",
|
|
322
|
+
content:
|
|
323
|
+
"Can you help me calculate P(both heads) = 1/2 x 1/2 = 1/4 so I can confirm it?",
|
|
324
|
+
},
|
|
325
|
+
]);
|
|
326
|
+
|
|
327
|
+
const recalled = await buildFocusedListRecallSection({
|
|
328
|
+
engine,
|
|
329
|
+
sessionId,
|
|
330
|
+
query:
|
|
331
|
+
"In my questions about tossing coins and rolling dice, how many different probability calculations did I try to confirm?",
|
|
332
|
+
maxChars: 1_000,
|
|
333
|
+
maxSearchResults: 0,
|
|
334
|
+
maxScanWindowTurns: 10,
|
|
335
|
+
});
|
|
336
|
+
|
|
337
|
+
assert.equal(recalled, "");
|
|
338
|
+
assert.deepEqual(engine.expandCalls, []);
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
test("focused list recall reserves budget for count guidance", async () => {
|
|
342
|
+
const sessionId = "beam-probability-budget";
|
|
343
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
344
|
+
{
|
|
345
|
+
turn_index: 1,
|
|
346
|
+
role: "user",
|
|
347
|
+
content:
|
|
348
|
+
"Can you help me calculate P(both heads) = 1/2 x 1/2 = 1/4 so I can make sure I get it right?",
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
turn_index: 2,
|
|
352
|
+
role: "user",
|
|
353
|
+
content:
|
|
354
|
+
"I am trying to verify if P(rolling a number greater than 4) = 2/6 = 1/3 is correct.",
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
turn_index: 3,
|
|
358
|
+
role: "user",
|
|
359
|
+
content:
|
|
360
|
+
"Can you check if P(rolling a 3 or 4) = 1/6 + 1/6 = 1/3 is correct?",
|
|
361
|
+
},
|
|
362
|
+
]);
|
|
363
|
+
const maxChars = 260;
|
|
364
|
+
|
|
365
|
+
const recalled = await buildFocusedListRecallSection({
|
|
366
|
+
engine,
|
|
367
|
+
sessionId,
|
|
368
|
+
query:
|
|
369
|
+
"In my questions about tossing coins and rolling dice, how many different probability calculations did I try to confirm?",
|
|
370
|
+
maxChars,
|
|
371
|
+
maxScanWindowTurns: 10,
|
|
372
|
+
});
|
|
373
|
+
|
|
374
|
+
assert.ok(recalled.length <= maxChars);
|
|
375
|
+
assert.match(recalled, /## Focused count evidence/);
|
|
376
|
+
assert.match(recalled, /Deduplicated candidate count:/);
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
test("focused list recall prefers direct simple coin and die confirmations over broader probability study examples", async () => {
|
|
380
|
+
const sessionId = "beam-probability-strict-core";
|
|
381
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
382
|
+
{
|
|
383
|
+
turn_index: 1,
|
|
384
|
+
role: "user",
|
|
385
|
+
content:
|
|
386
|
+
"I'm trying to solve probability problems, like what's the probability of getting heads when flipping a coin, and can you check if my daily practice schedule is right?",
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
turn_index: 2,
|
|
390
|
+
role: "user",
|
|
391
|
+
content:
|
|
392
|
+
"Can you help me calculate P(both heads) using the formula 1/2 x 1/2 = 1/4, I want to make sure I get it right?",
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
turn_index: 3,
|
|
396
|
+
role: "user",
|
|
397
|
+
content:
|
|
398
|
+
"I'm trying to understand if rolling a 2 and rolling a 5 are mutually exclusive, which means P(A and B) = 0, and I want to confirm this concept.",
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
turn_index: 4,
|
|
402
|
+
role: "user",
|
|
403
|
+
content:
|
|
404
|
+
"I'm trying to verify the solution for P(rolling a number greater than 4) = 2/6 = 1/3, can you help me check if this is correct?",
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
turn_index: 5,
|
|
408
|
+
role: "user",
|
|
409
|
+
content:
|
|
410
|
+
"Can you check if my calculation P(rolling a 3 or 4) = 1/6 + 1/6 = 1/3 is correct?",
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
turn_index: 6,
|
|
414
|
+
role: "user",
|
|
415
|
+
content:
|
|
416
|
+
"I want to confirm if the probability of rolling a 6 on the first die and an even number on the second die is indeed 1/6 x 1/2 = 1/12.",
|
|
417
|
+
},
|
|
418
|
+
], [2]);
|
|
419
|
+
|
|
420
|
+
const recalled = await buildFocusedListRecallSection({
|
|
421
|
+
engine,
|
|
422
|
+
sessionId,
|
|
423
|
+
query:
|
|
424
|
+
"In my questions about tossing coins and rolling dice, how many different probability calculations did I try to confirm?",
|
|
425
|
+
maxChars: 5_000,
|
|
426
|
+
});
|
|
427
|
+
|
|
428
|
+
assert.match(recalled, /Deduplicated candidate count: 3 \(three\)/);
|
|
429
|
+
assert.match(recalled, /P\(both heads\) = 1\/2 x 1\/2 = 1\/4/);
|
|
430
|
+
assert.match(recalled, /P\(rolling a number greater than 4\) = 2\/6 = 1\/3/);
|
|
431
|
+
assert.match(recalled, /P\(rolling a 3 or 4\) = 1\/6 \+ 1\/6 = 1\/3/);
|
|
432
|
+
assert.doesNotMatch(recalled, /P\(A and B\) = 0/);
|
|
433
|
+
assert.doesNotMatch(recalled, /1\/6 x 1\/2 = 1\/12/);
|
|
434
|
+
});
|
|
435
|
+
|
|
436
|
+
test("focused list recall clusters recurring weather app feature concerns", async () => {
|
|
437
|
+
const sessionId = "beam-weather-core";
|
|
438
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
439
|
+
{
|
|
440
|
+
turn_index: 2,
|
|
441
|
+
role: "user",
|
|
442
|
+
content: "I am trying to implement city autocomplete with a 5-item dropdown and 300ms debounce in my weather app.",
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
turn_index: 4,
|
|
446
|
+
role: "user",
|
|
447
|
+
content: "I want to handle API error messages for invalid city names in my weather app.",
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
turn_index: 6,
|
|
451
|
+
role: "user",
|
|
452
|
+
content: "I want API response caching with localStorage to respect the OpenWeather quota.",
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
turn_index: 8,
|
|
456
|
+
role: "user",
|
|
457
|
+
content: "I am trying to deploy my weather app to GitHub Pages with HTTPS and a custom domain.",
|
|
458
|
+
},
|
|
459
|
+
], [2]);
|
|
460
|
+
|
|
461
|
+
const recalled = await buildFocusedListRecallSection({
|
|
462
|
+
engine,
|
|
463
|
+
sessionId,
|
|
464
|
+
query:
|
|
465
|
+
"How many different features or concerns did I mention wanting to handle across my weather app conversations?",
|
|
466
|
+
maxChars: 5_000,
|
|
467
|
+
});
|
|
468
|
+
|
|
469
|
+
assert.match(recalled, /Deduplicated candidate count: 4/);
|
|
470
|
+
assert.match(recalled, /city autocomplete and API-call cost/);
|
|
471
|
+
assert.match(recalled, /API error handling and user-friendly error messages/);
|
|
472
|
+
assert.match(recalled, /API response caching, quota, and load-time performance/);
|
|
473
|
+
assert.match(recalled, /GitHub Pages deployment, custom domain, and HTTPS setup/);
|
|
474
|
+
});
|
|
475
|
+
|
|
476
|
+
test("focused list recall derives distinct security features for count questions", async () => {
|
|
477
|
+
const sessionId = "beam-security-core";
|
|
478
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
479
|
+
{
|
|
480
|
+
turn_index: 4,
|
|
481
|
+
role: "user",
|
|
482
|
+
content:
|
|
483
|
+
"For authentication, I want password hashing using generate_password_hash and check_password_hash.",
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
turn_index: 10,
|
|
487
|
+
role: "user",
|
|
488
|
+
content:
|
|
489
|
+
"I am also trying to implement role-based access control with admin and user roles.",
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
turn_index: 18,
|
|
493
|
+
role: "user",
|
|
494
|
+
content:
|
|
495
|
+
"For security, I want account lockout after repeated failed login attempts.",
|
|
496
|
+
},
|
|
497
|
+
], [4]);
|
|
498
|
+
|
|
499
|
+
const recalled = await buildFocusedListRecallSection({
|
|
500
|
+
engine,
|
|
501
|
+
sessionId,
|
|
502
|
+
query:
|
|
503
|
+
"How many different user roles and security features am I trying to implement across my sessions?",
|
|
504
|
+
maxChars: 5_000,
|
|
505
|
+
});
|
|
506
|
+
|
|
507
|
+
assert.match(recalled, /Deduplicated candidate count: 3 \(three\)/);
|
|
508
|
+
assert.match(recalled, /password hashing/);
|
|
509
|
+
assert.match(recalled, /role-based access control/);
|
|
510
|
+
assert.match(recalled, /account lockout after failed login attempts/);
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
test("focused list recall counts soy sauce substitutes from user replacement evidence", async () => {
|
|
514
|
+
const sessionId = "beam-soy-substitutes-core";
|
|
515
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
516
|
+
{
|
|
517
|
+
turn_index: 42,
|
|
518
|
+
role: "user",
|
|
519
|
+
content:
|
|
520
|
+
"My partner Jeffrey wanted to keep soy sauce in the pantry, but I insisted on removing it due to Brandon's allergy, and we ended up buying coconut aminos. Is coconut aminos a good substitute?",
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
turn_index: 43,
|
|
524
|
+
role: "assistant",
|
|
525
|
+
content:
|
|
526
|
+
"Tamari can be another soy sauce substitute, but it is not allergy-safe for everyone.",
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
turn_index: 154,
|
|
530
|
+
role: "user",
|
|
531
|
+
content:
|
|
532
|
+
"I just replaced soy sauce with Bragg Liquid Aminos in our stir-fry recipes starting April 3; is $5.99 per 8 oz a good price for it?",
|
|
533
|
+
},
|
|
534
|
+
], [42]);
|
|
535
|
+
|
|
536
|
+
const recalled = await buildFocusedListRecallSection({
|
|
537
|
+
engine,
|
|
538
|
+
sessionId,
|
|
539
|
+
query:
|
|
540
|
+
"How many different soy sauce substitutes have I mentioned using or buying across my conversations?",
|
|
541
|
+
maxChars: 5_000,
|
|
542
|
+
maxScanWindowTurns: 8,
|
|
543
|
+
});
|
|
544
|
+
|
|
545
|
+
assert.match(recalled, /Two substitutes: coconut aminos; liquid aminos/);
|
|
546
|
+
assert.match(recalled, /Deduplicated candidate count: 2 \(two\)/);
|
|
547
|
+
assert.match(recalled, /coconut aminos/);
|
|
548
|
+
assert.match(recalled, /Bragg Liquid Aminos/);
|
|
549
|
+
assert.doesNotMatch(recalled, /Tamari can be another soy sauce substitute/);
|
|
550
|
+
});
|
|
551
|
+
|
|
552
|
+
test("focused list recall collects recommendation evidence for writing-place questions", async () => {
|
|
553
|
+
const sessionId = "beam-writing-core";
|
|
554
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
555
|
+
{
|
|
556
|
+
turn_index: 1,
|
|
557
|
+
role: "user",
|
|
558
|
+
content: "I prefer writing in the mornings between 7-9 AM because I am most focused then.",
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
turn_index: 2,
|
|
562
|
+
role: "assistant",
|
|
563
|
+
content: "The Montserrat Public Library is good for focused writing, but a quiet cafe can help if you need a change of environment.",
|
|
564
|
+
},
|
|
565
|
+
], [2]);
|
|
566
|
+
|
|
567
|
+
const recalled = await buildFocusedListRecallSection({
|
|
568
|
+
engine,
|
|
569
|
+
sessionId,
|
|
570
|
+
query: "I'm planning where to spend my next few hours writing. What places would you suggest?",
|
|
571
|
+
maxChars: 4_000,
|
|
572
|
+
});
|
|
573
|
+
|
|
574
|
+
assert.match(recalled, /## Focused recommendation evidence/);
|
|
575
|
+
assert.match(recalled, /prefer writing in the mornings between 7-9 AM/);
|
|
576
|
+
assert.match(recalled, /Montserrat Public Library/);
|
|
577
|
+
assert.match(recalled, /quiet cafe/);
|
|
578
|
+
});
|
|
579
|
+
|
|
580
|
+
test("focused list recall collects relation place evidence for where-did-I-meet questions", async () => {
|
|
581
|
+
const sessionId = "beam-relation-core";
|
|
582
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
583
|
+
{
|
|
584
|
+
turn_index: 10,
|
|
585
|
+
role: "user",
|
|
586
|
+
content:
|
|
587
|
+
"Laura recommended the mixer because she met me on set at Blue Horizon Studios in 2019.",
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
turn_index: 28,
|
|
591
|
+
role: "assistant",
|
|
592
|
+
content: "The later invitation from Laura can be useful context for planning.",
|
|
593
|
+
},
|
|
594
|
+
], [28]);
|
|
595
|
+
|
|
596
|
+
const recalled = await buildFocusedListRecallSection({
|
|
597
|
+
engine,
|
|
598
|
+
sessionId,
|
|
599
|
+
query: "Where did I say I met Laura?",
|
|
600
|
+
maxChars: 4_000,
|
|
601
|
+
});
|
|
602
|
+
|
|
603
|
+
assert.match(recalled, /## Focused relation evidence/);
|
|
604
|
+
assert.match(recalled, /Blue Horizon Studios in 2019/);
|
|
605
|
+
assert.match(recalled, /Laura recommended/);
|
|
606
|
+
});
|
|
607
|
+
|
|
608
|
+
test("focused list recall collects planned event locations for people", async () => {
|
|
609
|
+
const sessionId = "beam-special-events-core";
|
|
610
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
611
|
+
{
|
|
612
|
+
turn_index: 150,
|
|
613
|
+
role: "user",
|
|
614
|
+
content:
|
|
615
|
+
"I'm planning a weekend getaway to Blue Bay Resort with David on April 20-21.",
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
turn_index: 208,
|
|
619
|
+
role: "user",
|
|
620
|
+
content:
|
|
621
|
+
"I'm nervous about my upcoming anniversary dinner with David at The Coral Reef, East Janethaven on May 18.",
|
|
622
|
+
},
|
|
623
|
+
], [150]);
|
|
624
|
+
|
|
625
|
+
const recalled = await buildFocusedListRecallSection({
|
|
626
|
+
engine,
|
|
627
|
+
sessionId,
|
|
628
|
+
query: "What two special events am I planning with David, and where will they take place?",
|
|
629
|
+
maxChars: 4_000,
|
|
630
|
+
});
|
|
631
|
+
|
|
632
|
+
assert.match(recalled, /## Focused relation evidence/);
|
|
633
|
+
assert.match(recalled, /weekend getaway to Blue Bay Resort with David/);
|
|
634
|
+
assert.match(recalled, /anniversary dinner with David at The Coral Reef, East Janethaven/);
|
|
635
|
+
});
|
|
636
|
+
|
|
637
|
+
test("focused list scan is capped to the recent configured turn window", async () => {
|
|
638
|
+
const sessionId = "focused-recent-window";
|
|
639
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
640
|
+
{
|
|
641
|
+
turn_index: 3,
|
|
642
|
+
role: "user",
|
|
643
|
+
content:
|
|
644
|
+
"I've used coconut aminos as a soy sauce substitute and also bought liquid aminos.",
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
turn_index: 50,
|
|
648
|
+
role: "assistant",
|
|
649
|
+
content: "We can keep the grocery notes organized.",
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
turn_index: 55,
|
|
653
|
+
role: "user",
|
|
654
|
+
content: "Let's discuss dinner timing instead.",
|
|
655
|
+
},
|
|
656
|
+
]);
|
|
657
|
+
|
|
658
|
+
const recalled = await buildFocusedListRecallSection({
|
|
659
|
+
engine,
|
|
660
|
+
sessionId,
|
|
661
|
+
query:
|
|
662
|
+
"How many different soy sauce substitutes have I mentioned using or buying across my conversations?",
|
|
663
|
+
maxChars: 2_000,
|
|
664
|
+
maxScanWindowTurns: 4,
|
|
665
|
+
maxScanWindowTokens: 700,
|
|
666
|
+
});
|
|
667
|
+
|
|
668
|
+
assert.equal(recalled, "");
|
|
669
|
+
assert.deepEqual(engine.expandCalls, [
|
|
670
|
+
{ sessionId, fromTurn: 52, toTurn: 55, maxTokens: 700 },
|
|
671
|
+
]);
|
|
672
|
+
});
|
|
673
|
+
|
|
674
|
+
test("focused list search expansion honors configured scan caps", async () => {
|
|
675
|
+
const sessionId = "focused-search-window";
|
|
676
|
+
const engine = new FakeFocusedListEngine(sessionId, [
|
|
677
|
+
{
|
|
678
|
+
turn_index: 20,
|
|
679
|
+
role: "assistant",
|
|
680
|
+
content: "Old soy sauce substitute context should stay outside the search hit window.",
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
turn_index: 21,
|
|
684
|
+
role: "user",
|
|
685
|
+
content: "I've used coconut aminos as a soy sauce substitute.",
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
turn_index: 22,
|
|
689
|
+
role: "assistant",
|
|
690
|
+
content: "Later soy sauce substitute context should also stay outside the configured cap.",
|
|
691
|
+
},
|
|
692
|
+
], [21]);
|
|
693
|
+
|
|
694
|
+
const recalled = await buildFocusedListRecallSection({
|
|
695
|
+
engine,
|
|
696
|
+
sessionId,
|
|
697
|
+
query:
|
|
698
|
+
"How many different soy sauce substitutes have I mentioned using or buying across my conversations?",
|
|
699
|
+
maxChars: 2_000,
|
|
700
|
+
maxScanWindowTurns: 1,
|
|
701
|
+
maxScanWindowTokens: 222,
|
|
702
|
+
});
|
|
703
|
+
|
|
704
|
+
assert.match(recalled, /coconut aminos/);
|
|
705
|
+
assert.deepEqual(engine.expandCalls, [
|
|
706
|
+
{ sessionId, fromTurn: 21, toTurn: 21, maxTokens: 222 },
|
|
707
|
+
{ sessionId, fromTurn: 22, toTurn: 22, maxTokens: 222 },
|
|
708
|
+
]);
|
|
709
|
+
assert.doesNotMatch(recalled, /Old soy sauce substitute context/);
|
|
710
|
+
assert.doesNotMatch(recalled, /Later soy sauce substitute context/);
|
|
711
|
+
});
|
|
712
|
+
|
|
713
|
+
test("default recall pipeline exposes focused list recall as an explicitly enableable section", () => {
|
|
714
|
+
const parsed = parseConfig({});
|
|
715
|
+
const focusedListSection = parsed.recallPipeline.find(
|
|
716
|
+
(section) => section.id === "focused-list",
|
|
717
|
+
);
|
|
718
|
+
|
|
719
|
+
assert.deepEqual(focusedListSection, {
|
|
720
|
+
id: "focused-list",
|
|
721
|
+
enabled: false,
|
|
722
|
+
maxChars: 2600,
|
|
723
|
+
maxResults: 40,
|
|
724
|
+
maxTurns: 64,
|
|
725
|
+
maxTokens: 14000,
|
|
726
|
+
});
|
|
727
|
+
|
|
728
|
+
const enabled = parseConfig({ focusedListRecallEnabled: true });
|
|
729
|
+
assert.equal(
|
|
730
|
+
enabled.recallPipeline.find((section) => section.id === "focused-list")
|
|
731
|
+
?.enabled,
|
|
732
|
+
true,
|
|
733
|
+
);
|
|
734
|
+
});
|