@remnic/core 9.69.37 → 9.69.39
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 +14 -12
- package/dist/access-admin-ops-surface.js +86 -83
- package/dist/access-authorization-probe.d.ts +14 -12
- package/dist/access-authorization-probe.js +87 -84
- package/dist/access-boundary.d.ts +14 -12
- package/dist/access-boundary.js +86 -83
- package/dist/access-cli.js +197 -191
- package/dist/access-cli.js.map +1 -1
- package/dist/access-coding-context-resolution.d.ts +2 -1
- package/dist/access-extraction-force-flush.d.ts +14 -12
- package/dist/access-extraction-force-flush.js +86 -83
- package/dist/access-health-types.d.ts +2 -1
- package/dist/access-http-briefing.d.ts +14 -12
- package/dist/access-http-briefing.js +87 -84
- package/dist/access-http-lcm-compaction.d.ts +14 -12
- package/dist/access-http-lifecycle-flush.d.ts +14 -12
- package/dist/access-http-offline-stream.d.ts +14 -12
- package/dist/access-http-query.d.ts +3 -2
- package/dist/access-http-query.js +88 -85
- package/dist/access-http.d.ts +15 -13
- package/dist/access-http.js +108 -105
- package/dist/access-identity-continuity-surface.d.ts +12 -10
- package/dist/access-identity-continuity-surface.js +86 -83
- package/dist/access-lcm-surface.d.ts +14 -12
- package/dist/access-lcm-surface.js +86 -83
- package/dist/access-mcp.d.ts +14 -12
- package/dist/access-mcp.js +97 -94
- package/dist/access-memory-search-fanout.d.ts +3 -2
- package/dist/{access-namespace-preflight-CV5cHujx.d.ts → access-namespace-preflight-DY4z6L5X.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +4 -3
- package/dist/access-namespace-preflight.js +86 -83
- package/dist/access-observe-transcript.d.ts +12 -10
- package/dist/access-observe-write-category.d.ts +37 -0
- package/dist/access-observe-write-category.js +34 -0
- package/dist/access-observe-write-surface.d.ts +17 -15
- package/dist/access-observe-write-surface.js +86 -83
- package/dist/access-offline-manifest.d.ts +12 -10
- package/dist/access-offline-manifest.js +15 -15
- package/dist/access-operations-batch.js +91 -88
- package/dist/access-operations.d.ts +17 -30
- package/dist/access-operations.js +96 -93
- package/dist/access-recall-concurrency.d.ts +14 -12
- package/dist/access-recall-concurrency.js +86 -83
- package/dist/access-recall-response.d.ts +14 -12
- package/dist/access-recall-response.js +86 -83
- package/dist/access-recall-surface.d.ts +14 -12
- package/dist/access-recall-surface.js +86 -83
- package/dist/access-schema.d.ts +210 -107
- package/dist/access-schema.js +9 -15
- package/dist/{access-service-DwHC7lcV.d.ts → access-service-MY4bsr_Q.d.ts} +101 -77
- package/dist/access-service-helpers.d.ts +14 -12
- package/dist/access-service.d.ts +14 -12
- package/dist/access-service.js +86 -83
- package/dist/access-surface-catalog.d.ts +14 -12
- package/dist/access-surface-catalog.js +88 -85
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +5 -3
- package/dist/action-confidence.d.ts +2 -1
- package/dist/active-memory-bridge.d.ts +2 -1
- package/dist/active-memory-bridge.js +3 -3
- package/dist/active-recall.d.ts +2 -1
- package/dist/active-recall.js +20 -17
- package/dist/active-recall.js.map +1 -1
- package/dist/activity/digest.d.ts +2 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/ambient-provenance.d.ts +2 -1
- package/dist/artifact-search.d.ts +2 -1
- package/dist/{auto-sync-FSRJDU63.js → auto-sync-RP4C6ZPF.js} +11 -9
- package/dist/{auto-sync-FSRJDU63.js.map → auto-sync-RP4C6ZPF.js.map} +1 -1
- package/dist/background-generation-config.d.ts +10 -0
- package/dist/background-generation-config.js +9 -0
- package/dist/background-generation.d.ts +25 -0
- package/dist/background-generation.js +11 -0
- package/dist/behavior-learner.d.ts +2 -1
- package/dist/behavior-signals.d.ts +2 -1
- package/dist/bootstrap.d.ts +12 -10
- package/dist/briefing-window.d.ts +3 -2
- package/dist/briefing.d.ts +3 -2
- package/dist/briefing.js +27 -26
- package/dist/buffer-surprise-report.d.ts +2 -1
- package/dist/buffer-turn-helpers.d.ts +2 -1
- package/dist/buffer.d.ts +3 -2
- package/dist/buffer.js +8 -8
- package/dist/bulk-import/index.d.ts +4 -3
- package/dist/calibration.d.ts +3 -1
- package/dist/calibration.js +4 -2
- package/dist/calibration.js.map +1 -1
- package/dist/capabilities.d.ts +2 -1
- package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/{capsule-merge-ZCXUPLNJ.js → capsule-merge-IPG4IOFP.js} +2 -2
- package/dist/{catalog-Cl4H8N89.d.ts → catalog-CW87xGx8.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +2 -1
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.d.ts +2 -1
- package/dist/causal-consolidation.js +29 -28
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.d.ts +2 -1
- package/dist/causal-trajectory-graph.js +2 -2
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-YHU5XUF4.js → chunk-27MKMTBY.js} +2 -2
- package/dist/{chunk-TK4FHQRN.js → chunk-2J3V5QEO.js} +4 -4
- package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/chunk-2QG4SLZI.js +44 -0
- package/dist/chunk-2QG4SLZI.js.map +1 -0
- package/dist/{chunk-TFRDUD3M.js → chunk-2ZTDRNCS.js} +2 -2
- package/dist/{chunk-PWPIERBM.js → chunk-37CAEC7E.js} +4 -4
- package/dist/{chunk-X7BCM2NA.js → chunk-3EKVN2OP.js} +2 -2
- package/dist/{chunk-S2ULTQZR.js → chunk-3N3PBBEH.js} +2 -2
- package/dist/{chunk-XCF3SFHD.js → chunk-3NPNBVFR.js} +2 -2
- package/dist/{chunk-JO5TQAKW.js → chunk-4BCHFSC7.js} +3 -3
- package/dist/{chunk-Q6D7EUSQ.js → chunk-4JVQRFZD.js} +10 -10
- package/dist/{chunk-YEDVOYL2.js → chunk-4RX5O34R.js} +2 -2
- package/dist/{chunk-JMPYZJQN.js → chunk-4RZLTZVM.js} +4 -4
- package/dist/{chunk-Q7JK6YEB.js → chunk-54NX5EG4.js} +2 -2
- package/dist/{chunk-GWK7FEUL.js → chunk-5FAGCOZD.js} +4 -4
- package/dist/{chunk-2PUE5P7C.js → chunk-5N4MZLEH.js} +5 -5
- package/dist/{chunk-B2YKTE7P.js → chunk-5SPCMAUC.js} +10 -10
- package/dist/{chunk-3OHISDDW.js → chunk-5U7K4W6K.js} +2 -2
- package/dist/{chunk-CYEMS2PG.js → chunk-5YCNDC3C.js} +3 -3
- package/dist/{chunk-PAAJWQH5.js → chunk-62D2PAAM.js} +4 -4
- package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
- package/dist/chunk-6AGWBKQU.js +94 -0
- package/dist/chunk-6AGWBKQU.js.map +1 -0
- package/dist/{chunk-326KUXIR.js → chunk-6EHM2AV7.js} +6 -6
- package/dist/{chunk-YM7YN37H.js → chunk-6ET2VII7.js} +2 -2
- package/dist/chunk-6H2G7RFT.js +58 -0
- package/dist/chunk-6H2G7RFT.js.map +1 -0
- package/dist/{chunk-A2YQL2FF.js → chunk-6P4REYKL.js} +5 -5
- package/dist/{chunk-7RKBPXY6.js → chunk-6YAIN5XJ.js} +2 -2
- package/dist/{chunk-2L5FSNPC.js → chunk-A7GQBJP5.js} +10 -10
- package/dist/{chunk-UYVXIY6C.js → chunk-AAZEKXUP.js} +2 -2
- package/dist/{chunk-JR6PP7UM.js → chunk-ACY4ZPF7.js} +28 -2
- package/dist/chunk-ACY4ZPF7.js.map +1 -0
- package/dist/{chunk-IQZ6ISFX.js → chunk-AECJY3GJ.js} +2 -2
- package/dist/{chunk-76DRU7C4.js → chunk-AENM6GKU.js} +2 -2
- package/dist/{chunk-KTRXQQFN.js → chunk-B36GUU6T.js} +4 -4
- package/dist/{chunk-TLHNF6GA.js → chunk-BV4ZKIZH.js} +1 -1
- package/dist/{chunk-ZWEZXVYH.js → chunk-CEO4DONG.js} +2 -2
- package/dist/chunk-CWTCMZGE.js +858 -0
- package/dist/chunk-CWTCMZGE.js.map +1 -0
- package/dist/{chunk-ZEPVWLCN.js → chunk-CZTPU65V.js} +25 -25
- package/dist/{chunk-TRU6JBOI.js → chunk-D545Z7UH.js} +3 -3
- package/dist/{chunk-6E5GYDIE.js → chunk-DGS34QSY.js} +2 -2
- package/dist/{chunk-65RENJGB.js → chunk-E2AWJ7KQ.js} +8 -4
- package/dist/chunk-E2AWJ7KQ.js.map +1 -0
- package/dist/{chunk-6Z3WW2MW.js → chunk-ENBPQEVU.js} +3 -3
- package/dist/{chunk-DOKKRZPH.js → chunk-EYKIDK33.js} +21 -19
- package/dist/chunk-EYKIDK33.js.map +1 -0
- package/dist/{chunk-PNEDMJ53.js → chunk-F4EHXVP7.js} +2 -2
- package/dist/{chunk-JPKZTCWZ.js → chunk-FNHLI2RE.js} +3 -3
- package/dist/{chunk-D2DIYEFW.js → chunk-FWWWUPOE.js} +12 -36
- package/dist/chunk-FWWWUPOE.js.map +1 -0
- package/dist/{chunk-M3MYMWXG.js → chunk-FXHOZGSE.js} +2 -2
- package/dist/{chunk-SAKA6PPL.js → chunk-GAS7KYC7.js} +5 -5
- package/dist/{chunk-LSLCFCCQ.js → chunk-GDYU6VF4.js} +1 -1
- package/dist/chunk-GDYU6VF4.js.map +1 -0
- package/dist/{chunk-2AR5JFD7.js → chunk-GG5FHZJJ.js} +6 -6
- package/dist/{chunk-WS3WNLST.js → chunk-GI4ZBWPQ.js} +3 -3
- package/dist/{chunk-JYR4LH76.js → chunk-GMIQV6DD.js} +2 -2
- package/dist/{chunk-WIKO4SCR.js → chunk-H3TKENU4.js} +5 -5
- package/dist/{chunk-ZLN7AROH.js → chunk-HIP6DKJJ.js} +5 -5
- package/dist/{chunk-SF6RFI5Z.js → chunk-HWLIMQE2.js} +2 -2
- package/dist/{chunk-JZYECQWN.js → chunk-IL6ODG6M.js} +2 -2
- package/dist/{chunk-GNR6YEWZ.js → chunk-IQEJIOEU.js} +6 -6
- package/dist/{chunk-BICNRVEC.js → chunk-IWO6QXWJ.js} +2 -2
- package/dist/{chunk-RN3MVLW3.js → chunk-IYKZJVL5.js} +1 -1
- package/dist/chunk-IYKZJVL5.js.map +1 -0
- package/dist/{chunk-42DJ235G.js → chunk-J272ODKJ.js} +2 -2
- package/dist/{chunk-R3TLVTWW.js → chunk-JDX2OA4R.js} +3 -3
- package/dist/{chunk-G5MO3VQA.js → chunk-JKKII6GX.js} +2 -2
- package/dist/{chunk-L5OXE4PX.js → chunk-JTQR6L2N.js} +3 -3
- package/dist/{chunk-VDX2J7OX.js → chunk-KQAFEZQX.js} +2 -2
- package/dist/{chunk-AKE4GGQ3.js → chunk-KQW3YGEN.js} +2 -2
- package/dist/{chunk-LMMQKZK3.js → chunk-L63GFNKL.js} +1 -1
- package/dist/{chunk-BRZWWUCJ.js → chunk-LMLGBG6H.js} +2 -2
- package/dist/{chunk-3IXB77DA.js → chunk-LPYYY4AP.js} +318 -278
- package/dist/chunk-LPYYY4AP.js.map +1 -0
- package/dist/{chunk-YEN4TREG.js → chunk-LQNRVPTV.js} +54 -567
- package/dist/chunk-LQNRVPTV.js.map +1 -0
- package/dist/{chunk-CQ7SSBO4.js → chunk-M6HBPLBA.js} +2 -2
- package/dist/chunk-MCRVQ5YQ.js +14 -0
- package/dist/chunk-MCRVQ5YQ.js.map +1 -0
- package/dist/{chunk-3YMDY3ZF.js → chunk-MUTVRKKY.js} +16 -16
- package/dist/{chunk-FCFAYMTU.js → chunk-NXGSONWM.js} +2 -2
- package/dist/{chunk-4WGAMREC.js → chunk-O4M4BDIJ.js} +2 -2
- package/dist/{chunk-5SYI2F47.js → chunk-O76F5QPP.js} +2 -2
- package/dist/{chunk-SROIT6QY.js → chunk-OPBFP4TF.js} +28 -11
- package/dist/chunk-OPBFP4TF.js.map +1 -0
- package/dist/{chunk-7MJBKZPU.js → chunk-P4ZAEYKG.js} +68 -34
- package/dist/chunk-P4ZAEYKG.js.map +1 -0
- package/dist/{chunk-57GDHV2D.js → chunk-PCOVEDPK.js} +6 -6
- package/dist/{chunk-PPTOAHTZ.js → chunk-PGAB2V53.js} +2 -2
- package/dist/{chunk-HHDTBYDJ.js → chunk-Q432REND.js} +2 -2
- package/dist/{chunk-XAITGGX5.js → chunk-Q4AUIFUA.js} +4 -4
- package/dist/{chunk-5LLQAUMI.js → chunk-Q7CLGFA7.js} +3 -3
- package/dist/{chunk-KUK56OPR.js → chunk-QHT7MOUF.js} +12 -12
- package/dist/{chunk-W6IJMWTZ.js → chunk-QTQ6XKGT.js} +4 -4
- package/dist/{chunk-FLLORID2.js → chunk-RLJHJQUY.js} +9 -9
- package/dist/{chunk-353KGBKY.js → chunk-RW4QNB4J.js} +4 -4
- package/dist/{chunk-GWQVMKUJ.js → chunk-SCXURCVT.js} +3 -3
- package/dist/{chunk-FQXJAC3T.js → chunk-SGUDMW2K.js} +4 -4
- package/dist/{chunk-LSDEIZ76.js → chunk-TA4C3XB7.js} +6 -6
- package/dist/{chunk-YIZ2EUUL.js → chunk-TNZNSMVJ.js} +94 -94
- package/dist/{chunk-CIYUWSMZ.js → chunk-TRLOFIQC.js} +2 -2
- package/dist/{chunk-TL7NLM2L.js → chunk-TSP5WH72.js} +2 -2
- package/dist/{chunk-3K6UFW5B.js → chunk-UHRZ324M.js} +8 -8
- package/dist/{chunk-JLXWRQNR.js → chunk-UZEHHXYC.js} +170 -167
- package/dist/chunk-UZEHHXYC.js.map +1 -0
- package/dist/{chunk-A5UQ52YQ.js → chunk-UZZ7SQT3.js} +5 -5
- package/dist/{chunk-GHX5PNXW.js → chunk-VBSNUH4J.js} +2 -2
- package/dist/{chunk-MR6LQVZ5.js → chunk-VJIE4D2I.js} +3 -3
- package/dist/{chunk-OTPXEE6W.js → chunk-VSL63CFJ.js} +15 -12
- package/dist/chunk-VSL63CFJ.js.map +1 -0
- package/dist/{chunk-2JGGZICG.js → chunk-WBM2MVBK.js} +2 -2
- package/dist/{chunk-CD3C4BJN.js → chunk-WIWLX65T.js} +2 -2
- package/dist/{chunk-GDDSXVWR.js → chunk-X4TD4O2F.js} +3 -3
- package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-FPQDZCUX.js → chunk-XH3HGI2N.js} +2 -2
- package/dist/{chunk-C6KRO3SU.js → chunk-XVDZFTN5.js} +4 -4
- package/dist/{chunk-3SL52JKD.js → chunk-XVZA6VXC.js} +4 -4
- package/dist/chunk-YDVAM7S4.js +221 -0
- package/dist/chunk-YDVAM7S4.js.map +1 -0
- package/dist/chunk-YFTNZMGR.js +71 -0
- package/dist/chunk-YFTNZMGR.js.map +1 -0
- package/dist/{chunk-VELCIWJZ.js → chunk-YKREX63Z.js} +19 -10
- package/dist/chunk-YKREX63Z.js.map +1 -0
- package/dist/{chunk-BLHX5FQW.js → chunk-YUW66UAH.js} +2 -2
- package/dist/{chunk-DOQLHCSS.js → chunk-ZBW7A667.js} +2 -2
- package/dist/{chunk-4DPDIOVA.js → chunk-ZEGL7YCC.js} +2 -2
- package/dist/{chunk-VVX5PZFS.js → chunk-ZHXSOMYH.js} +2 -2
- package/dist/{chunk-GCBIXUPT.js → chunk-ZMWSYUUL.js} +2 -2
- package/dist/{chunk-X2QPKLPL.js → chunk-ZZUVBZL2.js} +2 -2
- package/dist/{cli-1mzd5TM4.d.ts → cli-DGq0MNpO.d.ts} +5 -5
- package/dist/cli-fallback.d.ts +4 -2
- package/dist/cli-fallback.js +3 -1
- package/dist/cli.d.ts +16 -14
- package/dist/cli.js +139 -134
- package/dist/coding/export-okf-codegraph.d.ts +2 -1
- package/dist/coding/export-okf-codegraph.js +26 -25
- package/dist/coding/export-okf-codegraph.js.map +1 -1
- package/dist/coding/pre-action-gate.d.ts +2 -1
- package/dist/coding/pre-action-gate.js +2 -2
- package/dist/compat/codex-cli-fallback.d.ts +1 -1
- package/dist/compat/codex-cli-fallback.js +3 -1
- package/dist/compat/codex-cli-fallback.js.map +1 -1
- package/dist/compounding/engine.d.ts +3 -2
- package/dist/compounding/engine.js +27 -26
- package/dist/compounding/preference-consolidator.d.ts +2 -1
- package/dist/compression-optimizer.d.ts +2 -1
- package/dist/config.d.ts +2 -1
- package/dist/config.js +18 -15
- package/dist/connectors/codex-materialize-runner.d.ts +2 -1
- package/dist/connectors/codex-materialize-runner.js +26 -25
- package/dist/connectors/codex-materialize.d.ts +2 -1
- package/dist/connectors/index.d.ts +2 -1
- package/dist/connectors/index.js +29 -28
- package/dist/consolidation-provenance-check.d.ts +3 -2
- package/dist/consolidation-undo.d.ts +3 -2
- package/dist/contradiction/index.d.ts +5 -3
- package/dist/contradiction/index.js +7 -7
- package/dist/{contradiction-scan-GVD4JJ7B.js → contradiction-scan-BSGKZHYJ.js} +4 -4
- package/dist/contradiction-scan-BSGKZHYJ.js.map +1 -0
- package/dist/converge-config.d.ts +2 -1
- package/dist/convergence-refresh.d.ts +3 -2
- package/dist/convergence-refresh.js +29 -28
- package/dist/conversation-index/backend.d.ts +2 -1
- package/dist/conversation-index/chunker.d.ts +2 -1
- package/dist/conversation-index/faiss-adapter.d.ts +2 -1
- package/dist/conversation-index/indexer.d.ts +2 -1
- package/dist/conversation-index/search.d.ts +2 -1
- package/dist/corpus-watermark.d.ts +2 -1
- package/dist/corpus-watermark.js +29 -28
- package/dist/cross-lingual-recall.d.ts +2 -1
- package/dist/day-summary.d.ts +2 -1
- package/dist/deep-recall-http-glue.d.ts +14 -12
- package/dist/deep-recall-http-glue.js +4 -14
- package/dist/deep-recall-mcp-tools.d.ts +14 -12
- package/dist/deep-recall-policy-llm.d.ts +3 -1
- package/dist/deep-recall-policy-llm.js +5 -3
- package/dist/deep-recall-seeds.d.ts +2 -1
- package/dist/delinearize.d.ts +2 -1
- package/dist/dependency-propagation-config.d.ts +2 -1
- package/dist/{dependency-propagation-delivery-Bua2ApHV.d.ts → dependency-propagation-delivery-Cq1ekOwV.d.ts} +1 -1
- package/dist/direct-answer-wiring.d.ts +2 -1
- package/dist/direct-answer.d.ts +2 -1
- package/dist/embedding-fallback.d.ts +2 -1
- package/dist/enrichment/index.d.ts +2 -1
- package/dist/entity-origin-fields.d.ts +2 -1
- package/dist/entity-retrieval.d.ts +3 -2
- package/dist/entity-retrieval.js +28 -27
- package/dist/entity-schema.d.ts +2 -1
- package/dist/episodic-context.d.ts +2 -1
- package/dist/eval-trajectory-contracts.d.ts +2 -1
- package/dist/eval-trajectory-store.d.ts +2 -1
- package/dist/eval-trajectory.d.ts +2 -1
- package/dist/event-order-recall.js +3 -3
- package/dist/explicit-capture.d.ts +12 -10
- package/dist/explicit-capture.js +6 -6
- package/dist/external-wiki-access.d.ts +14 -12
- package/dist/external-wiki-access.js +87 -84
- package/dist/external-wiki-collection-registration.d.ts +2 -1
- package/dist/external-wiki-collection.d.ts +2 -1
- package/dist/external-wiki-mcp-tools.d.ts +14 -12
- package/dist/extraction-error-classification.d.ts +2 -1
- package/dist/extraction-faithfulness.d.ts +3 -1
- package/dist/extraction-faithfulness.js +5 -3
- package/dist/extraction-judge-telemetry.d.ts +3 -1
- package/dist/extraction-judge-training.d.ts +3 -1
- package/dist/extraction-judge.d.ts +3 -1
- package/dist/extraction-judge.js +5 -3
- package/dist/extraction-liveness.d.ts +2 -1
- package/dist/extraction-normalization.d.ts +2 -1
- package/dist/extraction-prompt.d.ts +2 -1
- package/dist/extraction-source-grounding-rules.d.ts +2 -1
- package/dist/extraction-source-grounding.d.ts +2 -1
- package/dist/extraction-source-grounding.js +3 -3
- package/dist/extraction-span-config.d.ts +2 -1
- package/dist/extraction-span-materialize.d.ts +2 -1
- package/dist/extraction-span-materialize.js +2 -2
- package/dist/extraction.d.ts +2 -1
- package/dist/extraction.js +46 -45
- package/dist/fallback-llm-codex-subscription.d.ts +79 -0
- package/dist/fallback-llm-codex-subscription.js +22 -0
- package/dist/fallback-llm-codex-subscription.js.map +1 -0
- package/dist/fallback-llm.d.ts +5 -1
- package/dist/fallback-llm.js +4 -2
- package/dist/{first-start-migration-GZ45G5FS.js → first-start-migration-ZWMV5CX4.js} +6 -6
- package/dist/{generic-recall-paths-DJBADojG.d.ts → generic-recall-paths-BcySh_f9.d.ts} +1 -1
- package/dist/graph-append-error.d.ts +2 -1
- package/dist/graph-dashboard-diff.d.ts +2 -1
- package/dist/graph-dashboard-key.d.ts +2 -1
- package/dist/graph-dashboard-parser.d.ts +2 -1
- package/dist/{graph-edge-decay-ROSUPDX3.js → graph-edge-decay-MKIRZ762.js} +5 -5
- package/dist/graph-edge-decay-MKIRZ762.js.map +1 -0
- package/dist/graph-edge-reinforcement.d.ts +2 -1
- package/dist/graph-jsonl.d.ts +2 -1
- package/dist/graph-jsonl.js +3 -3
- package/dist/graph-path-reconstruction.d.ts +2 -1
- package/dist/graph-path-scoring.d.ts +2 -1
- package/dist/graph-snapshot.d.ts +2 -1
- package/dist/graph-snapshot.js +3 -3
- package/dist/graph.d.ts +2 -1
- package/dist/graph.js +2 -2
- package/dist/harmonic-retrieval.js +3 -3
- package/dist/importance.d.ts +2 -1
- package/dist/importers/index.d.ts +2 -1
- package/dist/importers/test-utils.d.ts +2 -1
- package/dist/in-flight-reads.d.ts +2 -1
- package/dist/{index-Bsy8ygLL.d.ts → index-DWOb4wz9.d.ts} +2 -2
- package/dist/index.d.ts +713 -705
- package/dist/index.js +419 -346
- package/dist/intent.d.ts +2 -1
- package/dist/lcm/engine.d.ts +2 -1
- package/dist/lcm/engine.js +4 -4
- package/dist/lcm/index.d.ts +2 -1
- package/dist/lcm/index.js +12 -12
- package/dist/lcm/tools.d.ts +2 -1
- package/dist/lifecycle.d.ts +2 -1
- package/dist/live-connectors-runner.d.ts +2 -1
- package/dist/local-llm-config.d.ts +7 -1
- package/dist/local-llm-config.js +12 -0
- package/dist/local-llm.d.ts +2 -1
- package/dist/local-model-endpoint.d.ts +2 -1
- package/dist/location/index.d.ts +4 -3
- package/dist/location/index.js +60 -59
- package/dist/maintenance/memory-governance.d.ts +2 -1
- package/dist/maintenance/memory-governance.js +26 -25
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +27 -26
- package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
- package/dist/maintenance/rebuild-memory-projection.js +28 -27
- package/dist/{maintenance-DItyBwTC.d.ts → maintenance-CW9wCzMP.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +14 -12
- package/dist/memory-action-policy.d.ts +2 -1
- package/dist/memory-cache.d.ts +2 -1
- package/dist/memory-controller.d.ts +2 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
- package/dist/memory-projection-store.d.ts +2 -1
- package/dist/memory-provenance.d.ts +2 -1
- package/dist/memory-snapshot.d.ts +2 -1
- package/dist/memory-subject-cli.d.ts +14 -12
- package/dist/memory-subject.d.ts +14 -12
- package/dist/memory-worth-outcomes.d.ts +3 -2
- package/dist/models-json.d.ts +2 -1
- package/dist/namespaces/migrate.d.ts +4 -3
- package/dist/namespaces/migrate.js +27 -26
- package/dist/namespaces/principal.d.ts +2 -1
- package/dist/namespaces/search.d.ts +2 -1
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +4 -3
- package/dist/namespaces/storage.js +26 -25
- package/dist/native-knowledge.d.ts +2 -1
- package/dist/offline-sync-impression-drain.d.ts +2 -1
- package/dist/offline-sync-impression-drain.js +4 -4
- package/dist/operator-doctor-corpus.d.ts +2 -1
- package/dist/operator-doctor-corpus.js +30 -29
- package/dist/operator-doctor-replica.d.ts +2 -1
- package/dist/operator-toolkit.d.ts +4 -3
- package/dist/operator-toolkit.js +53 -49
- package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
- package/dist/orchestration/maintenance.d.ts +5 -4
- package/dist/orchestration/maintenance.js +39 -38
- package/dist/{orchestrator-DBUX-aAM.d.ts → orchestrator-ComHLm49.d.ts} +22 -11
- package/dist/orchestrator.d.ts +12 -10
- package/dist/orchestrator.js +224 -218
- package/dist/patterns-cli.d.ts +2 -1
- package/dist/{pipeline-BqgcOk1Z.d.ts → pipeline-CiYcqqhl.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +2 -1
- package/dist/proactive-contention.d.ts +2 -1
- package/dist/provenance.d.ts +2 -1
- package/dist/provenance.js +2 -2
- package/dist/{public-http-CqtZ5kv3.d.ts → public-http-CuK4_Cb1.d.ts} +1 -1
- package/dist/qmd-preflight.d.ts +3 -2
- package/dist/{qmd-BD0ikV_Y.d.ts → qmd-qXD4vatU.d.ts} +1 -1
- package/dist/qmd-recall-cache.d.ts +2 -1
- package/dist/qmd.d.ts +3 -2
- package/dist/recall-concurrency-config.d.ts +2 -1
- package/dist/recall-disclosure-escalation.d.ts +2 -1
- package/dist/recall-explain-renderer.d.ts +2 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +2 -1
- package/dist/recall-navigate-access.d.ts +2 -1
- package/dist/recall-navigate-access.js +2 -2
- package/dist/recall-navigate-disclosure.d.ts +2 -1
- package/dist/recall-navigate-disclosure.js +1 -1
- package/dist/recall-navigate.d.ts +2 -1
- package/dist/recall-navigate.js +2 -2
- package/dist/recall-planner-llm.d.ts +3 -1
- package/dist/recall-planner-llm.js +4 -2
- package/dist/recall-planner-llm.js.map +1 -1
- package/dist/recall-state-view-admission.d.ts +3 -2
- package/dist/recall-state-view-admission.js +9 -9
- package/dist/recall-state-view-anchors.d.ts +85 -0
- package/dist/recall-state-view-anchors.js +21 -0
- package/dist/recall-state-view-anchors.js.map +1 -0
- package/dist/recall-state-view-inject.js +2 -2
- package/dist/recall-state-view-render.js +2 -2
- package/dist/recall-state-view-widen.js +2 -2
- package/dist/recall-state-view-wire.js +3 -3
- package/dist/recall-state-view.d.ts +37 -1
- package/dist/recall-state-view.js +11 -3
- package/dist/recall-state.d.ts +2 -1
- package/dist/recall-tag-filter.d.ts +2 -1
- package/dist/recall-timings.d.ts +2 -1
- package/dist/recall-xray-cli.d.ts +2 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +2 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +2 -1
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.d.ts +2 -1
- package/dist/reconcile/cursor.js +2 -2
- package/dist/reconcile/manifest.d.ts +2 -1
- package/dist/reconcile/manifest.js +4 -4
- package/dist/reconcile/plan.d.ts +2 -1
- package/dist/reconcile/plan.js +2 -2
- package/dist/replay/normalizers/chatgpt.d.ts +2 -1
- package/dist/replay/normalizers/claude.d.ts +2 -1
- package/dist/replay/normalizers/openclaw.d.ts +2 -1
- package/dist/replay/normalizers/shared.d.ts +2 -1
- package/dist/replay/runner.d.ts +2 -1
- package/dist/replay/types.d.ts +2 -1
- package/dist/replica-divergence.d.ts +2 -1
- package/dist/replica-peers-config.d.ts +2 -1
- package/dist/{resolution-OHJZG45O.js → resolution-4GG3QZRJ.js} +8 -8
- package/dist/resolution-4GG3QZRJ.js.map +1 -0
- package/dist/resolve-auth-token.d.ts +2 -1
- package/dist/resume-bundles.js +19 -16
- package/dist/retrieval-agents.d.ts +3 -2
- package/dist/retrieval-tiers.d.ts +2 -1
- package/dist/routing/engine.d.ts +2 -1
- package/dist/routing/store.d.ts +2 -1
- package/dist/salvage-envelope.d.ts +2 -1
- package/dist/salvage-envelope.js +2 -2
- package/dist/schemas.d.ts +160 -160
- package/dist/{scope-profiles-BIJMsd0B.d.ts → scope-profiles-BT9rqC3w.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +2 -1
- package/dist/search/factory.d.ts +2 -1
- package/dist/search/factory.js +5 -5
- package/dist/search/index.d.ts +2 -1
- package/dist/search/index.js +13 -13
- package/dist/search/lancedb-backend.d.ts +2 -1
- package/dist/search/meilisearch-backend.d.ts +2 -1
- package/dist/search/noop-backend.d.ts +2 -1
- package/dist/search/orama-backend.d.ts +2 -1
- package/dist/search/port.d.ts +2 -1
- package/dist/search/remote-backend.d.ts +2 -1
- package/dist/{semantic-consolidation-D7sJocll.d.ts → semantic-consolidation-CmZi7thY.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +3 -2
- package/dist/semantic-consolidation.js +27 -26
- package/dist/semantic-rule-promotion.js +26 -25
- package/dist/semantic-rule-verifier.d.ts +2 -1
- package/dist/semantic-rule-verifier.js +26 -25
- package/dist/{service-fwgEngUj.d.ts → service-CLkA7AQB.d.ts} +2 -2
- package/dist/session-observer-bands.d.ts +2 -1
- package/dist/session-observer-state.d.ts +2 -1
- package/dist/shared-context/manager.d.ts +8 -7
- package/dist/signal.d.ts +2 -1
- package/dist/source-agent-qualifier.d.ts +2 -1
- package/dist/source-agent-qualifier.js +41 -40
- package/dist/standup/build.js +27 -26
- package/dist/{storage-Cbll3-Tk.d.ts → storage-wvX01lht.d.ts} +1 -1
- package/dist/storage.d.ts +3 -2
- package/dist/storage.js +25 -24
- package/dist/subject-config.d.ts +2 -1
- package/dist/subject-config.js +2 -2
- package/dist/summarizer.d.ts +2 -1
- package/dist/summarizer.js +6 -3
- package/dist/summary-snapshot.d.ts +2 -1
- package/dist/support-passport/index.d.ts +17 -15
- package/dist/support-passport/index.js +92 -89
- package/dist/temporal-supersession.d.ts +3 -2
- package/dist/temporal-timeline-recall.d.ts +2 -1
- package/dist/temporal-validity.d.ts +2 -1
- package/dist/threading.d.ts +2 -1
- package/dist/tier-migration.d.ts +3 -2
- package/dist/tier-routing.d.ts +2 -1
- package/dist/tier-routing.js +3 -3
- package/dist/{tier-stats-VK5PCO2L.js → tier-stats-LUSUUNU6.js} +4 -4
- package/dist/topics.d.ts +2 -1
- package/dist/transcript.d.ts +2 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +3 -3
- package/dist/transfer/export-okf.d.ts +2 -1
- package/dist/transfer/export-okf.js +26 -25
- package/dist/transfer/types.d.ts +78 -78
- package/dist/trust-score-stage.d.ts +2 -1
- package/dist/trust-score.d.ts +2 -1
- package/dist/{types-48sPkWB0.d.ts → types-Cyr32ABj.d.ts} +3 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +2 -1
- package/dist/verified-recall.js +26 -25
- package/dist/who-knows-cli.d.ts +14 -12
- package/dist/who-knows-cli.js +27 -26
- package/dist/who-knows.d.ts +14 -12
- package/dist/who-knows.js +26 -25
- package/dist/write-envelope.d.ts +7 -1
- package/dist/write-envelope.js +1 -1
- package/package.json +2 -2
- package/src/access-boundary.ts +21 -6
- package/src/access-category-alias.test.ts +488 -51
- package/src/access-http.test.ts +249 -0
- package/src/access-http.ts +2 -0
- package/src/access-mcp.test.ts +2 -2
- package/src/access-observe-write-category.ts +25 -0
- package/src/access-observe-write-surface.ts +58 -57
- package/src/access-operations-batch.ts +28 -2
- package/src/access-operations.ts +6 -4
- package/src/access-schema.ts +106 -50
- package/src/access-service.ts +23 -9
- package/src/background-generation-config.ts +79 -0
- package/src/background-generation.test.ts +123 -0
- package/src/background-generation.ts +52 -0
- package/src/cli-fallback.ts +8 -2
- package/src/config.test.ts +172 -0
- package/src/config.ts +2 -43
- package/src/fallback-llm-codex-subscription.ts +168 -0
- package/src/fallback-llm.test.ts +46 -0
- package/src/fallback-llm.ts +60 -48
- package/src/index.ts +2 -16
- package/src/local-llm-config.ts +84 -0
- package/src/orchestration/recall-internal.ts +91 -74
- package/src/orchestration/recall-rerank-coordinator.ts +41 -4
- package/src/orchestration/recall-search-pipeline.ts +25 -18
- package/src/orchestration/recall-state-view-pipeline.test.ts +89 -0
- package/src/providers/codex-subscription.test.ts +804 -1
- package/src/providers/codex-subscription.ts +407 -65
- package/src/recall-rerank-coordinator.test.ts +153 -0
- package/src/recall-state-view-anchors.ts +163 -0
- package/src/recall-state-view-widen.ts +21 -7
- package/src/recall-state-view-zero-diff.test.ts +30 -0
- package/src/recall-state-view.test.ts +161 -0
- package/src/recall-state-view.ts +206 -35
- package/src/summarizer.ts +25 -0
- package/src/trust-score-recall-paths.test.ts +1 -1
- package/src/types.ts +3 -2
- package/src/write-envelope.ts +5 -0
- package/dist/chunk-255PC37A.js +0 -120
- package/dist/chunk-255PC37A.js.map +0 -1
- package/dist/chunk-3IXB77DA.js.map +0 -1
- package/dist/chunk-65RENJGB.js.map +0 -1
- package/dist/chunk-7MJBKZPU.js.map +0 -1
- package/dist/chunk-D2DIYEFW.js.map +0 -1
- package/dist/chunk-DOKKRZPH.js.map +0 -1
- package/dist/chunk-JLXWRQNR.js.map +0 -1
- package/dist/chunk-JR6PP7UM.js.map +0 -1
- package/dist/chunk-LSLCFCCQ.js.map +0 -1
- package/dist/chunk-OTPXEE6W.js.map +0 -1
- package/dist/chunk-RN3MVLW3.js.map +0 -1
- package/dist/chunk-SROIT6QY.js.map +0 -1
- package/dist/chunk-VELCIWJZ.js.map +0 -1
- package/dist/chunk-YEN4TREG.js.map +0 -1
- /package/dist/{capsule-crypto-YO5QJ6L3.js.map → access-observe-write-category.js.map} +0 -0
- /package/dist/{contradiction-scan-GVD4JJ7B.js.map → background-generation-config.js.map} +0 -0
- /package/dist/{graph-edge-decay-ROSUPDX3.js.map → background-generation.js.map} +0 -0
- /package/dist/{resolution-OHJZG45O.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
- /package/dist/{capsule-merge-ZCXUPLNJ.js.map → capsule-merge-IPG4IOFP.js.map} +0 -0
- /package/dist/{chunk-YHU5XUF4.js.map → chunk-27MKMTBY.js.map} +0 -0
- /package/dist/{chunk-TK4FHQRN.js.map → chunk-2J3V5QEO.js.map} +0 -0
- /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-TFRDUD3M.js.map → chunk-2ZTDRNCS.js.map} +0 -0
- /package/dist/{chunk-PWPIERBM.js.map → chunk-37CAEC7E.js.map} +0 -0
- /package/dist/{chunk-X7BCM2NA.js.map → chunk-3EKVN2OP.js.map} +0 -0
- /package/dist/{chunk-S2ULTQZR.js.map → chunk-3N3PBBEH.js.map} +0 -0
- /package/dist/{chunk-XCF3SFHD.js.map → chunk-3NPNBVFR.js.map} +0 -0
- /package/dist/{chunk-JO5TQAKW.js.map → chunk-4BCHFSC7.js.map} +0 -0
- /package/dist/{chunk-Q6D7EUSQ.js.map → chunk-4JVQRFZD.js.map} +0 -0
- /package/dist/{chunk-YEDVOYL2.js.map → chunk-4RX5O34R.js.map} +0 -0
- /package/dist/{chunk-JMPYZJQN.js.map → chunk-4RZLTZVM.js.map} +0 -0
- /package/dist/{chunk-Q7JK6YEB.js.map → chunk-54NX5EG4.js.map} +0 -0
- /package/dist/{chunk-GWK7FEUL.js.map → chunk-5FAGCOZD.js.map} +0 -0
- /package/dist/{chunk-2PUE5P7C.js.map → chunk-5N4MZLEH.js.map} +0 -0
- /package/dist/{chunk-B2YKTE7P.js.map → chunk-5SPCMAUC.js.map} +0 -0
- /package/dist/{chunk-3OHISDDW.js.map → chunk-5U7K4W6K.js.map} +0 -0
- /package/dist/{chunk-CYEMS2PG.js.map → chunk-5YCNDC3C.js.map} +0 -0
- /package/dist/{chunk-PAAJWQH5.js.map → chunk-62D2PAAM.js.map} +0 -0
- /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
- /package/dist/{chunk-326KUXIR.js.map → chunk-6EHM2AV7.js.map} +0 -0
- /package/dist/{chunk-YM7YN37H.js.map → chunk-6ET2VII7.js.map} +0 -0
- /package/dist/{chunk-A2YQL2FF.js.map → chunk-6P4REYKL.js.map} +0 -0
- /package/dist/{chunk-7RKBPXY6.js.map → chunk-6YAIN5XJ.js.map} +0 -0
- /package/dist/{chunk-2L5FSNPC.js.map → chunk-A7GQBJP5.js.map} +0 -0
- /package/dist/{chunk-UYVXIY6C.js.map → chunk-AAZEKXUP.js.map} +0 -0
- /package/dist/{chunk-IQZ6ISFX.js.map → chunk-AECJY3GJ.js.map} +0 -0
- /package/dist/{chunk-76DRU7C4.js.map → chunk-AENM6GKU.js.map} +0 -0
- /package/dist/{chunk-KTRXQQFN.js.map → chunk-B36GUU6T.js.map} +0 -0
- /package/dist/{chunk-TLHNF6GA.js.map → chunk-BV4ZKIZH.js.map} +0 -0
- /package/dist/{chunk-ZWEZXVYH.js.map → chunk-CEO4DONG.js.map} +0 -0
- /package/dist/{chunk-ZEPVWLCN.js.map → chunk-CZTPU65V.js.map} +0 -0
- /package/dist/{chunk-TRU6JBOI.js.map → chunk-D545Z7UH.js.map} +0 -0
- /package/dist/{chunk-6E5GYDIE.js.map → chunk-DGS34QSY.js.map} +0 -0
- /package/dist/{chunk-6Z3WW2MW.js.map → chunk-ENBPQEVU.js.map} +0 -0
- /package/dist/{chunk-PNEDMJ53.js.map → chunk-F4EHXVP7.js.map} +0 -0
- /package/dist/{chunk-JPKZTCWZ.js.map → chunk-FNHLI2RE.js.map} +0 -0
- /package/dist/{chunk-M3MYMWXG.js.map → chunk-FXHOZGSE.js.map} +0 -0
- /package/dist/{chunk-SAKA6PPL.js.map → chunk-GAS7KYC7.js.map} +0 -0
- /package/dist/{chunk-2AR5JFD7.js.map → chunk-GG5FHZJJ.js.map} +0 -0
- /package/dist/{chunk-WS3WNLST.js.map → chunk-GI4ZBWPQ.js.map} +0 -0
- /package/dist/{chunk-JYR4LH76.js.map → chunk-GMIQV6DD.js.map} +0 -0
- /package/dist/{chunk-WIKO4SCR.js.map → chunk-H3TKENU4.js.map} +0 -0
- /package/dist/{chunk-ZLN7AROH.js.map → chunk-HIP6DKJJ.js.map} +0 -0
- /package/dist/{chunk-SF6RFI5Z.js.map → chunk-HWLIMQE2.js.map} +0 -0
- /package/dist/{chunk-JZYECQWN.js.map → chunk-IL6ODG6M.js.map} +0 -0
- /package/dist/{chunk-GNR6YEWZ.js.map → chunk-IQEJIOEU.js.map} +0 -0
- /package/dist/{chunk-BICNRVEC.js.map → chunk-IWO6QXWJ.js.map} +0 -0
- /package/dist/{chunk-42DJ235G.js.map → chunk-J272ODKJ.js.map} +0 -0
- /package/dist/{chunk-R3TLVTWW.js.map → chunk-JDX2OA4R.js.map} +0 -0
- /package/dist/{chunk-G5MO3VQA.js.map → chunk-JKKII6GX.js.map} +0 -0
- /package/dist/{chunk-L5OXE4PX.js.map → chunk-JTQR6L2N.js.map} +0 -0
- /package/dist/{chunk-VDX2J7OX.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-AKE4GGQ3.js.map → chunk-KQW3YGEN.js.map} +0 -0
- /package/dist/{chunk-LMMQKZK3.js.map → chunk-L63GFNKL.js.map} +0 -0
- /package/dist/{chunk-BRZWWUCJ.js.map → chunk-LMLGBG6H.js.map} +0 -0
- /package/dist/{chunk-CQ7SSBO4.js.map → chunk-M6HBPLBA.js.map} +0 -0
- /package/dist/{chunk-3YMDY3ZF.js.map → chunk-MUTVRKKY.js.map} +0 -0
- /package/dist/{chunk-FCFAYMTU.js.map → chunk-NXGSONWM.js.map} +0 -0
- /package/dist/{chunk-4WGAMREC.js.map → chunk-O4M4BDIJ.js.map} +0 -0
- /package/dist/{chunk-5SYI2F47.js.map → chunk-O76F5QPP.js.map} +0 -0
- /package/dist/{chunk-57GDHV2D.js.map → chunk-PCOVEDPK.js.map} +0 -0
- /package/dist/{chunk-PPTOAHTZ.js.map → chunk-PGAB2V53.js.map} +0 -0
- /package/dist/{chunk-HHDTBYDJ.js.map → chunk-Q432REND.js.map} +0 -0
- /package/dist/{chunk-XAITGGX5.js.map → chunk-Q4AUIFUA.js.map} +0 -0
- /package/dist/{chunk-5LLQAUMI.js.map → chunk-Q7CLGFA7.js.map} +0 -0
- /package/dist/{chunk-KUK56OPR.js.map → chunk-QHT7MOUF.js.map} +0 -0
- /package/dist/{chunk-W6IJMWTZ.js.map → chunk-QTQ6XKGT.js.map} +0 -0
- /package/dist/{chunk-FLLORID2.js.map → chunk-RLJHJQUY.js.map} +0 -0
- /package/dist/{chunk-353KGBKY.js.map → chunk-RW4QNB4J.js.map} +0 -0
- /package/dist/{chunk-GWQVMKUJ.js.map → chunk-SCXURCVT.js.map} +0 -0
- /package/dist/{chunk-FQXJAC3T.js.map → chunk-SGUDMW2K.js.map} +0 -0
- /package/dist/{chunk-LSDEIZ76.js.map → chunk-TA4C3XB7.js.map} +0 -0
- /package/dist/{chunk-YIZ2EUUL.js.map → chunk-TNZNSMVJ.js.map} +0 -0
- /package/dist/{chunk-CIYUWSMZ.js.map → chunk-TRLOFIQC.js.map} +0 -0
- /package/dist/{chunk-TL7NLM2L.js.map → chunk-TSP5WH72.js.map} +0 -0
- /package/dist/{chunk-3K6UFW5B.js.map → chunk-UHRZ324M.js.map} +0 -0
- /package/dist/{chunk-A5UQ52YQ.js.map → chunk-UZZ7SQT3.js.map} +0 -0
- /package/dist/{chunk-GHX5PNXW.js.map → chunk-VBSNUH4J.js.map} +0 -0
- /package/dist/{chunk-MR6LQVZ5.js.map → chunk-VJIE4D2I.js.map} +0 -0
- /package/dist/{chunk-2JGGZICG.js.map → chunk-WBM2MVBK.js.map} +0 -0
- /package/dist/{chunk-CD3C4BJN.js.map → chunk-WIWLX65T.js.map} +0 -0
- /package/dist/{chunk-GDDSXVWR.js.map → chunk-X4TD4O2F.js.map} +0 -0
- /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-FPQDZCUX.js.map → chunk-XH3HGI2N.js.map} +0 -0
- /package/dist/{chunk-C6KRO3SU.js.map → chunk-XVDZFTN5.js.map} +0 -0
- /package/dist/{chunk-3SL52JKD.js.map → chunk-XVZA6VXC.js.map} +0 -0
- /package/dist/{chunk-BLHX5FQW.js.map → chunk-YUW66UAH.js.map} +0 -0
- /package/dist/{chunk-DOQLHCSS.js.map → chunk-ZBW7A667.js.map} +0 -0
- /package/dist/{chunk-4DPDIOVA.js.map → chunk-ZEGL7YCC.js.map} +0 -0
- /package/dist/{chunk-VVX5PZFS.js.map → chunk-ZHXSOMYH.js.map} +0 -0
- /package/dist/{chunk-GCBIXUPT.js.map → chunk-ZMWSYUUL.js.map} +0 -0
- /package/dist/{chunk-X2QPKLPL.js.map → chunk-ZZUVBZL2.js.map} +0 -0
- /package/dist/{first-start-migration-GZ45G5FS.js.map → first-start-migration-ZWMV5CX4.js.map} +0 -0
- /package/dist/{tier-stats-VK5PCO2L.js.map → tier-stats-LUSUUNU6.js.map} +0 -0
package/src/index.ts
CHANGED
|
@@ -150,8 +150,7 @@ export {
|
|
|
150
150
|
type CodexCliFallbackResult,
|
|
151
151
|
type CodexCliFallbackRunner,
|
|
152
152
|
} from "./cli-fallback.js";
|
|
153
|
-
export { CODEX_SUBSCRIPTION_PROVIDER_ID, codexSubscriptionBuiltinProviderConfig, createCodexSubscriptionRunner, ensureCodexSubscriptionRunnerRegistered, CodexSubscriptionAuthError, CodexSubscriptionConfigError, CodexSubscriptionTimeoutError } from "./providers/codex-subscription.js";
|
|
154
|
-
|
|
153
|
+
export { CODEX_SUBSCRIPTION_PROVIDER_ID, beginCodexSubscriptionShutdown, codexSubscriptionBuiltinProviderConfig, createCodexSubscriptionRunner, ensureCodexSubscriptionRunnerRegistered, getCodexSubscriptionRunnerForOwner, terminateActiveCodexSubscriptionChildren, CodexSubscriptionAuthError, CodexSubscriptionConfigError, CodexSubscriptionTimeoutError } from "./providers/codex-subscription.js";
|
|
155
154
|
// ---------------------------------------------------------------------------
|
|
156
155
|
// Smart buffer (issue #563)
|
|
157
156
|
// ---------------------------------------------------------------------------
|
|
@@ -564,20 +563,7 @@ export {
|
|
|
564
563
|
type StructuralSpawnFn,
|
|
565
564
|
} from "./coding/structural-subprocess-provider.js";
|
|
566
565
|
|
|
567
|
-
export
|
|
568
|
-
validateRequest,
|
|
569
|
-
formatZodError,
|
|
570
|
-
recallRequestSchema,
|
|
571
|
-
observeRequestSchema,
|
|
572
|
-
memoryStoreRequestSchema,
|
|
573
|
-
suggestionSubmitRequestSchema,
|
|
574
|
-
type SchemaValidationError,
|
|
575
|
-
type SchemaName,
|
|
576
|
-
type RecallRequest,
|
|
577
|
-
type ObserveRequest,
|
|
578
|
-
type MemoryStoreRequest,
|
|
579
|
-
type SuggestionSubmitRequest,
|
|
580
|
-
} from "./access-schema.js";
|
|
566
|
+
export * from "./access-schema.js";
|
|
581
567
|
|
|
582
568
|
// ---------------------------------------------------------------------------
|
|
583
569
|
// Day summary / LCM
|
package/src/local-llm-config.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { coerceNumber } from "./connectors/coerce.js";
|
|
2
|
+
import { parseBackgroundGeneration } from "./background-generation-config.js";
|
|
3
|
+
import type { BackgroundGenerationConfig } from "./background-generation-config.js";
|
|
4
|
+
import { readEnvVar } from "./runtime/env.js";
|
|
5
|
+
|
|
1
6
|
export interface LocalLlmConfig {
|
|
2
7
|
// Local LLM Provider (v2.1)
|
|
3
8
|
localLlmEnabled: boolean;
|
|
@@ -23,3 +28,82 @@ export interface LocalLlmConfig {
|
|
|
23
28
|
/** Max context window for local LLM (override auto-detection). Set lower if your LLM server defaults to smaller contexts. */
|
|
24
29
|
localLlmMaxContext?: number;
|
|
25
30
|
}
|
|
31
|
+
|
|
32
|
+
export type LocalLlmParseResult = LocalLlmConfig & {
|
|
33
|
+
backgroundGeneration?: BackgroundGenerationConfig;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
function parseLocalLlmTimeoutMs(value: unknown): number {
|
|
37
|
+
const coerced = coerceNumber(value);
|
|
38
|
+
if (coerced === undefined) return 180_000;
|
|
39
|
+
return Math.min(86_400_000, Math.max(1, Math.floor(coerced)));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function parseLocalLlmMaxContext(value: unknown): number | undefined {
|
|
43
|
+
if (value === undefined || value === null) return undefined;
|
|
44
|
+
const coerced = coerceNumber(value);
|
|
45
|
+
if (
|
|
46
|
+
coerced === undefined ||
|
|
47
|
+
!Number.isFinite(coerced) ||
|
|
48
|
+
!Number.isInteger(coerced) ||
|
|
49
|
+
coerced < 1024
|
|
50
|
+
) {
|
|
51
|
+
throw new Error(
|
|
52
|
+
`localLlmMaxContext must be an integer greater than or equal to 1024; got ${JSON.stringify(value)}`,
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
return coerced;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function copyStringRecord(value: unknown): Record<string, string> | undefined {
|
|
59
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return undefined;
|
|
60
|
+
const headers: Record<string, string> = {};
|
|
61
|
+
for (const key of Object.getOwnPropertyNames(value)) {
|
|
62
|
+
const headerValue = Reflect.get(value, key);
|
|
63
|
+
if (typeof headerValue === "string") headers[key] = headerValue;
|
|
64
|
+
}
|
|
65
|
+
return headers;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function parseLocalLlmConfig(
|
|
69
|
+
cfg: Record<string, unknown>,
|
|
70
|
+
localLlmApiKeyEnv: string | undefined,
|
|
71
|
+
resolveEnvVars: (value: string) => string,
|
|
72
|
+
): LocalLlmParseResult {
|
|
73
|
+
return {
|
|
74
|
+
backgroundGeneration: parseBackgroundGeneration(cfg),
|
|
75
|
+
localLlmEnabled: cfg.localLlmEnabled === true || cfg.localLlmEnabled === "true",
|
|
76
|
+
localLlmUrl:
|
|
77
|
+
typeof cfg.localLlmUrl === "string" && cfg.localLlmUrl.length > 0
|
|
78
|
+
? cfg.localLlmUrl
|
|
79
|
+
: "http://localhost:1234/v1",
|
|
80
|
+
localLlmModel:
|
|
81
|
+
typeof cfg.localLlmModel === "string" && cfg.localLlmModel.length > 0
|
|
82
|
+
? cfg.localLlmModel
|
|
83
|
+
: "local-model",
|
|
84
|
+
localLlmApiKey:
|
|
85
|
+
typeof cfg.localLlmApiKey === "string" && cfg.localLlmApiKey.length > 0
|
|
86
|
+
? resolveEnvVars(cfg.localLlmApiKey)
|
|
87
|
+
: localLlmApiKeyEnv === undefined
|
|
88
|
+
? undefined
|
|
89
|
+
: readEnvVar(localLlmApiKeyEnv),
|
|
90
|
+
localLlmApiKeyEnv,
|
|
91
|
+
localLlmHeaders: copyStringRecord(cfg.localLlmHeaders),
|
|
92
|
+
localLlmAuthHeader: cfg.localLlmAuthHeader !== false,
|
|
93
|
+
localLlmFallback: cfg.localLlmFallback !== false,
|
|
94
|
+
localLlmHomeDir:
|
|
95
|
+
typeof cfg.localLlmHomeDir === "string" && cfg.localLlmHomeDir.length > 0
|
|
96
|
+
? cfg.localLlmHomeDir
|
|
97
|
+
: undefined,
|
|
98
|
+
localLmsCliPath:
|
|
99
|
+
typeof cfg.localLmsCliPath === "string" && cfg.localLmsCliPath.length > 0
|
|
100
|
+
? cfg.localLmsCliPath
|
|
101
|
+
: undefined,
|
|
102
|
+
localLmsBinDir:
|
|
103
|
+
typeof cfg.localLmsBinDir === "string" && cfg.localLmsBinDir.length > 0
|
|
104
|
+
? cfg.localLmsBinDir
|
|
105
|
+
: undefined,
|
|
106
|
+
localLlmTimeoutMs: parseLocalLlmTimeoutMs(cfg.localLlmTimeoutMs),
|
|
107
|
+
localLlmMaxContext: parseLocalLlmMaxContext(cfg.localLlmMaxContext),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
@@ -98,7 +98,11 @@ import {
|
|
|
98
98
|
type RecallInvocationOptions,
|
|
99
99
|
} from "../orchestrator.js";
|
|
100
100
|
import { isGenericRecallExcludedPath } from "./generic-recall-paths.js";
|
|
101
|
-
import {
|
|
101
|
+
import {
|
|
102
|
+
filterRecentScanMemories,
|
|
103
|
+
resolveRecallStateViewFlags,
|
|
104
|
+
} from "../recall-state-view-anchors.js";
|
|
105
|
+
import { indexStateViewAnnotatedResults } from "../recall-state-view-admission.js";
|
|
102
106
|
import type { RecallSectionBuckets } from "./recall-section-coordinator.js";
|
|
103
107
|
import {
|
|
104
108
|
reconcileRecallResultPartition,
|
|
@@ -242,8 +246,14 @@ export class RecallInternalCoordinator {
|
|
|
242
246
|
this.deps.effectiveCronRecallInstructionHeavyTokenCap(),
|
|
243
247
|
cronConversationRecallMode: this.deps.config.cronConversationRecallMode,
|
|
244
248
|
});
|
|
249
|
+
// #1952 state views: config flag OR per-call override, gated on change intent; computed once for all branches.
|
|
245
250
|
const retrievalQuery = queryPolicy.retrievalQuery || prompt;
|
|
246
|
-
const stateViewActive =
|
|
251
|
+
const { stateViewActive, stateViewPacketActive } = resolveRecallStateViewFlags(
|
|
252
|
+
options.stateView,
|
|
253
|
+
this.deps.config.recallStateViews,
|
|
254
|
+
retrievalQuery,
|
|
255
|
+
asOfMs,
|
|
256
|
+
);
|
|
247
257
|
const retrievalQueryHash = createHash("sha256")
|
|
248
258
|
.update(retrievalQuery)
|
|
249
259
|
.digest("hex");
|
|
@@ -3996,17 +4006,19 @@ export class RecallInternalCoordinator {
|
|
|
3996
4006
|
recallResultLimit,
|
|
3997
4007
|
retrievalQuery,
|
|
3998
4008
|
caps,
|
|
4009
|
+
stateViewPacketActive,
|
|
3999
4010
|
)
|
|
4000
4011
|
: null;
|
|
4001
4012
|
memoryResults = hotQmdPartition
|
|
4002
4013
|
? [...hotQmdPartition.appliedResults]
|
|
4003
|
-
: this.deps.
|
|
4014
|
+
: this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4004
4015
|
"memories",
|
|
4005
4016
|
memoryResults,
|
|
4006
4017
|
recallResultLimit,
|
|
4007
4018
|
retrievalQuery,
|
|
4008
4019
|
caps,
|
|
4009
|
-
|
|
4020
|
+
stateViewPacketActive,
|
|
4021
|
+
).appliedResults;
|
|
4010
4022
|
// E-Mem-inspired memory reconstruction: fill gaps for referenced entities
|
|
4011
4023
|
if (resolveRecallEnhancementCapabilities(this.deps.config).memoryReconstruction && memoryResults.length > 0) {
|
|
4012
4024
|
try {
|
|
@@ -4120,27 +4132,8 @@ export class RecallInternalCoordinator {
|
|
|
4120
4132
|
},
|
|
4121
4133
|
[] as QmdSearchResult[],
|
|
4122
4134
|
);
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4126
|
-
"memories",
|
|
4127
|
-
scoped,
|
|
4128
|
-
recallResultLimit,
|
|
4129
|
-
retrievalQuery,
|
|
4130
|
-
caps,
|
|
4131
|
-
)
|
|
4132
|
-
: null;
|
|
4133
|
-
scoped =
|
|
4134
|
-
embeddingPartition?.appliedResults ??
|
|
4135
|
-
this.deps.diversifyAndLimitRecallResults(
|
|
4136
|
-
"memories",
|
|
4137
|
-
scoped,
|
|
4138
|
-
recallResultLimit,
|
|
4139
|
-
retrievalQuery,
|
|
4140
|
-
caps,
|
|
4141
|
-
);
|
|
4142
|
-
// Issue #1577 — apply TrustScore on the embedding-fallback path so the
|
|
4143
|
-
// feature gate is consistent across ALL recall paths (rule 41 parity).
|
|
4135
|
+
// Issue #1577 — trust filter before packet cap (AGENTS.md order).
|
|
4136
|
+
// Feature gate is consistent across ALL recall paths (rule 41 parity).
|
|
4144
4137
|
{
|
|
4145
4138
|
// Deadline-bound (issue #1905). This branch has no preloaded
|
|
4146
4139
|
// frontmatter map (boost ran without one), so pass undefined and let
|
|
@@ -4173,6 +4166,27 @@ export class RecallInternalCoordinator {
|
|
|
4173
4166
|
success: !trustFellBack,
|
|
4174
4167
|
});
|
|
4175
4168
|
}
|
|
4169
|
+
const embeddingPartition =
|
|
4170
|
+
options.xrayCapture === true
|
|
4171
|
+
? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4172
|
+
"memories",
|
|
4173
|
+
scoped,
|
|
4174
|
+
recallResultLimit,
|
|
4175
|
+
retrievalQuery,
|
|
4176
|
+
caps,
|
|
4177
|
+
stateViewPacketActive,
|
|
4178
|
+
)
|
|
4179
|
+
: null;
|
|
4180
|
+
scoped =
|
|
4181
|
+
embeddingPartition?.appliedResults ??
|
|
4182
|
+
this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4183
|
+
"memories",
|
|
4184
|
+
scoped,
|
|
4185
|
+
recallResultLimit,
|
|
4186
|
+
retrievalQuery,
|
|
4187
|
+
caps,
|
|
4188
|
+
stateViewPacketActive,
|
|
4189
|
+
).appliedResults;
|
|
4176
4190
|
if (scoped.length > 0) {
|
|
4177
4191
|
if (shouldPersistGraphSnapshot) {
|
|
4178
4192
|
graphSnapshotFinalResults = this.deps.buildGraphRecallRankedResults(
|
|
@@ -4338,27 +4352,8 @@ export class RecallInternalCoordinator {
|
|
|
4338
4352
|
},
|
|
4339
4353
|
[] as QmdSearchResult[],
|
|
4340
4354
|
);
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4344
|
-
"memories",
|
|
4345
|
-
scoped,
|
|
4346
|
-
recallResultLimit,
|
|
4347
|
-
retrievalQuery,
|
|
4348
|
-
caps,
|
|
4349
|
-
)
|
|
4350
|
-
: null;
|
|
4351
|
-
scoped =
|
|
4352
|
-
embeddingPartition?.appliedResults ??
|
|
4353
|
-
this.deps.diversifyAndLimitRecallResults(
|
|
4354
|
-
"memories",
|
|
4355
|
-
scoped,
|
|
4356
|
-
recallResultLimit,
|
|
4357
|
-
retrievalQuery,
|
|
4358
|
-
caps,
|
|
4359
|
-
);
|
|
4360
|
-
// Issue #1577 — apply TrustScore on the embedding-fallback path so the
|
|
4361
|
-
// feature gate is consistent across ALL recall paths (rule 41 parity).
|
|
4355
|
+
// Issue #1577 — trust filter before packet cap (AGENTS.md order).
|
|
4356
|
+
// Feature gate is consistent across ALL recall paths (rule 41 parity).
|
|
4362
4357
|
{
|
|
4363
4358
|
// Deadline-bound (issue #1905); no preloaded map on this branch.
|
|
4364
4359
|
const trustT0 = Date.now();
|
|
@@ -4388,6 +4383,27 @@ export class RecallInternalCoordinator {
|
|
|
4388
4383
|
success: !trustFellBack,
|
|
4389
4384
|
});
|
|
4390
4385
|
}
|
|
4386
|
+
const embeddingPartition =
|
|
4387
|
+
options.xrayCapture === true
|
|
4388
|
+
? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4389
|
+
"memories",
|
|
4390
|
+
scoped,
|
|
4391
|
+
recallResultLimit,
|
|
4392
|
+
retrievalQuery,
|
|
4393
|
+
caps,
|
|
4394
|
+
stateViewPacketActive,
|
|
4395
|
+
)
|
|
4396
|
+
: null;
|
|
4397
|
+
scoped =
|
|
4398
|
+
embeddingPartition?.appliedResults ??
|
|
4399
|
+
this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4400
|
+
"memories",
|
|
4401
|
+
scoped,
|
|
4402
|
+
recallResultLimit,
|
|
4403
|
+
retrievalQuery,
|
|
4404
|
+
caps,
|
|
4405
|
+
stateViewPacketActive,
|
|
4406
|
+
).appliedResults;
|
|
4391
4407
|
if (scoped.length > 0) {
|
|
4392
4408
|
if (shouldPersistGraphSnapshot) {
|
|
4393
4409
|
graphSnapshotFinalResults = this.deps.buildGraphRecallRankedResults(
|
|
@@ -4427,16 +4443,15 @@ export class RecallInternalCoordinator {
|
|
|
4427
4443
|
[] as MemoryFile[],
|
|
4428
4444
|
);
|
|
4429
4445
|
if (memories.length > 0) {
|
|
4430
|
-
const activeMemories =
|
|
4431
|
-
|
|
4432
|
-
this.deps.
|
|
4433
|
-
|
|
4446
|
+
const activeMemories = filterRecentScanMemories(memories, {
|
|
4447
|
+
stateViewActive, asOfMs,
|
|
4448
|
+
namespaceOf: (p) => this.deps.namespaceFromPath(p),
|
|
4449
|
+
isExcluded: (p) => isGenericRecallExcludedPath(p, this.deps.config),
|
|
4450
|
+
supersessionOptions: {
|
|
4434
4451
|
enabled: lifecycleCaps.temporalSupersession,
|
|
4435
4452
|
includeInRecall: this.deps.config.temporalSupersessionIncludeInRecall,
|
|
4436
4453
|
},
|
|
4437
|
-
|
|
4438
|
-
asOfMs,
|
|
4439
|
-
);
|
|
4454
|
+
});
|
|
4440
4455
|
// Convert to QmdSearchResult with recency baseline, then boost so
|
|
4441
4456
|
// temporal/tag boosts match the QMD path. Cap AFTER boosting, and
|
|
4442
4457
|
// pass a pre-populated memoryByPath to skip redundant disk reads.
|
|
@@ -4541,27 +4556,8 @@ export class RecallInternalCoordinator {
|
|
|
4541
4556
|
},
|
|
4542
4557
|
[] as QmdSearchResult[],
|
|
4543
4558
|
);
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4547
|
-
"memories",
|
|
4548
|
-
recent,
|
|
4549
|
-
recallResultLimit,
|
|
4550
|
-
retrievalQuery,
|
|
4551
|
-
caps,
|
|
4552
|
-
)
|
|
4553
|
-
: null;
|
|
4554
|
-
recent =
|
|
4555
|
-
recentPartition?.appliedResults ??
|
|
4556
|
-
this.deps.diversifyAndLimitRecallResults(
|
|
4557
|
-
"memories",
|
|
4558
|
-
recent,
|
|
4559
|
-
recallResultLimit,
|
|
4560
|
-
retrievalQuery,
|
|
4561
|
-
caps,
|
|
4562
|
-
);
|
|
4563
|
-
// Issue #1577 — apply TrustScore on the recent-scan path so the
|
|
4564
|
-
// feature gate is consistent across ALL recall paths (rule 41).
|
|
4559
|
+
// Issue #1577 — trust filter before packet cap (AGENTS.md order).
|
|
4560
|
+
// Feature gate is consistent across ALL recall paths (rule 41).
|
|
4565
4561
|
{
|
|
4566
4562
|
// Deadline-bound (issue #1905). The recent-scan branch already
|
|
4567
4563
|
// loaded every candidate's MemoryFile (queryAwareScopedMemories),
|
|
@@ -4597,6 +4593,27 @@ export class RecallInternalCoordinator {
|
|
|
4597
4593
|
success: !trustFellBack,
|
|
4598
4594
|
});
|
|
4599
4595
|
}
|
|
4596
|
+
const recentPartition =
|
|
4597
|
+
options.xrayCapture === true
|
|
4598
|
+
? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4599
|
+
"memories",
|
|
4600
|
+
recent,
|
|
4601
|
+
recallResultLimit,
|
|
4602
|
+
retrievalQuery,
|
|
4603
|
+
caps,
|
|
4604
|
+
stateViewPacketActive,
|
|
4605
|
+
)
|
|
4606
|
+
: null;
|
|
4607
|
+
recent =
|
|
4608
|
+
recentPartition?.appliedResults ??
|
|
4609
|
+
this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
|
|
4610
|
+
"memories",
|
|
4611
|
+
recent,
|
|
4612
|
+
recallResultLimit,
|
|
4613
|
+
retrievalQuery,
|
|
4614
|
+
caps,
|
|
4615
|
+
stateViewPacketActive,
|
|
4616
|
+
).appliedResults;
|
|
4600
4617
|
if (recent.length > 0) {
|
|
4601
4618
|
if (shouldPersistGraphSnapshot) {
|
|
4602
4619
|
graphSnapshotFinalResults = this.deps.buildGraphRecallRankedResults(
|
|
@@ -39,6 +39,7 @@ import type { TrustSignals } from "../trust-score.js";
|
|
|
39
39
|
import { reorderRecallResultsWithMmr } from "../recall-mmr.js";
|
|
40
40
|
import { applyReasoningTraceBoost } from "../reasoning-trace-recall.js";
|
|
41
41
|
import { memoryMapKey } from "../recall-memory-map.js";
|
|
42
|
+
import { capStateViewPackets, reconcileStateViewPairs } from "../recall-state-view.js";
|
|
42
43
|
|
|
43
44
|
export interface RecallResultPartition {
|
|
44
45
|
appliedResults: QmdSearchResult[];
|
|
@@ -621,12 +622,28 @@ export class RecallRerankCoordinator {
|
|
|
621
622
|
limit: number,
|
|
622
623
|
retrievalQuery?: string,
|
|
623
624
|
caps: CapabilitySet = resolveCapabilities(this.getConfig()),
|
|
625
|
+
/**
|
|
626
|
+
* #2859 — state-view packet semantics. When true, superseded rows are
|
|
627
|
+
* reconciled against their successors BEFORE MMR (orphan removal can
|
|
628
|
+
* never underfill), and the cap counts complete evidence packets: a
|
|
629
|
+
* predecessor admitted alongside its successor consumes ONE slot and
|
|
630
|
+
* the slice never splits the pair at the boundary. Absent/false keeps
|
|
631
|
+
* the legacy slice byte-identical.
|
|
632
|
+
*/
|
|
633
|
+
stateViewActive?: boolean,
|
|
624
634
|
): RecallResultPartition {
|
|
625
635
|
const safeLimit =
|
|
626
636
|
typeof limit === "number" && Number.isFinite(limit)
|
|
627
637
|
? Math.max(0, Math.floor(limit))
|
|
628
638
|
: 0;
|
|
629
|
-
|
|
639
|
+
// #2859: reconcile pairs before the user cap/MMR so orphan removal
|
|
640
|
+
// happens pre-truncation, never post-cap.
|
|
641
|
+
const candidates =
|
|
642
|
+
stateViewActive === true && Array.isArray(results)
|
|
643
|
+
? reconcileStateViewPairs(results)
|
|
644
|
+
: Array.isArray(results)
|
|
645
|
+
? results
|
|
646
|
+
: [];
|
|
630
647
|
let orderedPool: QmdSearchResult[] | undefined;
|
|
631
648
|
const resolveOrderedPool = (): QmdSearchResult[] => {
|
|
632
649
|
if (orderedPool) return orderedPool;
|
|
@@ -640,15 +657,32 @@ export class RecallRerankCoordinator {
|
|
|
640
657
|
orderedPool = this.applyMmrToQmdResults(sectionId, boosted, caps);
|
|
641
658
|
return orderedPool;
|
|
642
659
|
};
|
|
660
|
+
let appliedCache: QmdSearchResult[] | undefined;
|
|
661
|
+
const resolveApplied = (): QmdSearchResult[] => {
|
|
662
|
+
if (appliedCache) return appliedCache;
|
|
663
|
+
if (safeLimit === 0 || candidates.length === 0) {
|
|
664
|
+
appliedCache = [];
|
|
665
|
+
return appliedCache;
|
|
666
|
+
}
|
|
667
|
+
const ordered = resolveOrderedPool();
|
|
668
|
+
// #2859: the cap counts complete evidence packets, not rows.
|
|
669
|
+
appliedCache =
|
|
670
|
+
stateViewActive === true ? capStateViewPackets(ordered, safeLimit) : ordered.slice(0, safeLimit);
|
|
671
|
+
return appliedCache;
|
|
672
|
+
};
|
|
643
673
|
|
|
644
674
|
return {
|
|
645
675
|
get appliedResults(): QmdSearchResult[] {
|
|
646
|
-
|
|
647
|
-
return resolveOrderedPool().slice(0, safeLimit);
|
|
676
|
+
return resolveApplied().slice();
|
|
648
677
|
},
|
|
649
678
|
get headroomResults(): QmdSearchResult[] {
|
|
650
679
|
if (candidates.length === 0) return [];
|
|
651
|
-
|
|
680
|
+
const ordered = resolveOrderedPool();
|
|
681
|
+
if (stateViewActive === true) {
|
|
682
|
+
const applied = new Set(resolveApplied());
|
|
683
|
+
return ordered.filter((row) => !applied.has(row));
|
|
684
|
+
}
|
|
685
|
+
return ordered.slice(safeLimit);
|
|
652
686
|
},
|
|
653
687
|
};
|
|
654
688
|
}
|
|
@@ -659,6 +693,8 @@ export class RecallRerankCoordinator {
|
|
|
659
693
|
limit: number,
|
|
660
694
|
retrievalQuery?: string,
|
|
661
695
|
caps: CapabilitySet = resolveCapabilities(this.getConfig()),
|
|
696
|
+
/** #2859 — see diversifyRecallResultsWithHeadroom. */
|
|
697
|
+
stateViewActive?: boolean,
|
|
662
698
|
): QmdSearchResult[] {
|
|
663
699
|
return this.diversifyRecallResultsWithHeadroom(
|
|
664
700
|
sectionId,
|
|
@@ -666,6 +702,7 @@ export class RecallRerankCoordinator {
|
|
|
666
702
|
limit,
|
|
667
703
|
retrievalQuery,
|
|
668
704
|
caps,
|
|
705
|
+
stateViewActive,
|
|
669
706
|
).appliedResults;
|
|
670
707
|
}
|
|
671
708
|
|
|
@@ -45,6 +45,7 @@ import {
|
|
|
45
45
|
} from "./recall-search-prefilter.js";
|
|
46
46
|
import { shouldFilterSupersededFromRecall } from "../temporal-supersession.js";
|
|
47
47
|
import { isValidAsOf, isValidityExpiredNow } from "../temporal-validity.js";
|
|
48
|
+
import { StateViewAnchorTracker, stateViewPacketActive } from "../recall-state-view-anchors.js";
|
|
48
49
|
import type { TrustStageResultItem } from "../trust-score-stage.js";
|
|
49
50
|
import type { MemoryFile, PluginConfig, QmdSearchResult, RecallPlanMode } from "../types.js";
|
|
50
51
|
import {
|
|
@@ -987,17 +988,22 @@ export class RecallSearchPipelineCoordinator {
|
|
|
987
988
|
options.recallResultLimit,
|
|
988
989
|
options.prompt,
|
|
989
990
|
caps,
|
|
991
|
+
// #2859: packet semantics are off under a historical asOf pin.
|
|
992
|
+
stateViewPacketActive(options.stateViewActive, options.asOfMs),
|
|
990
993
|
);
|
|
991
994
|
options.resultPartitionSink.partition = partition;
|
|
992
995
|
return partition.appliedResults;
|
|
993
996
|
}
|
|
994
|
-
return this.deps.
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
997
|
+
return this.deps.recallRerankCoordinator
|
|
998
|
+
.diversifyRecallResultsWithHeadroom(
|
|
999
|
+
"memories",
|
|
1000
|
+
results,
|
|
1001
|
+
options.recallResultLimit,
|
|
1002
|
+
options.prompt,
|
|
1003
|
+
caps,
|
|
1004
|
+
stateViewPacketActive(options.stateViewActive, options.asOfMs),
|
|
1005
|
+
)
|
|
1006
|
+
.appliedResults;
|
|
1001
1007
|
}
|
|
1002
1008
|
|
|
1003
1009
|
async loadSearchResultMemoryMap(
|
|
@@ -1132,10 +1138,11 @@ export class RecallSearchPipelineCoordinator {
|
|
|
1132
1138
|
// when its successor SURVIVES this filter — a successor rejected by
|
|
1133
1139
|
// the connector/lifecycle/validity/dedicated-surface/status gates
|
|
1134
1140
|
// must never anchor (or spend a result slot on) its superseded row.
|
|
1135
|
-
//
|
|
1136
|
-
//
|
|
1141
|
+
// #2859: anchors are namespace-qualified and include the successor
|
|
1142
|
+
// `supersedes` back-pointer (see StateViewAnchorTracker); superseded
|
|
1143
|
+
// rows defer admission to the post-pass fixpoint.
|
|
1137
1144
|
const stateViewActive = options?.stateViewActive === true;
|
|
1138
|
-
const
|
|
1145
|
+
const stateViewAnchors = stateViewActive ? new StateViewAnchorTracker() : null;
|
|
1139
1146
|
const stateViewDeferred: number[] = [];
|
|
1140
1147
|
const stateViewBuilt: (QmdSearchResult | null)[] | null = stateViewActive
|
|
1141
1148
|
? new Array<QmdSearchResult | null>(results.length).fill(null)
|
|
@@ -1150,8 +1157,11 @@ export class RecallSearchPipelineCoordinator {
|
|
|
1150
1157
|
? {
|
|
1151
1158
|
id: memory.frontmatter.id,
|
|
1152
1159
|
status: memory.frontmatter.status,
|
|
1160
|
+
supersedes: memory.frontmatter.supersedes,
|
|
1153
1161
|
supersededBy: memory.frontmatter.supersededBy,
|
|
1154
1162
|
supersededAt: memory.frontmatter.supersededAt,
|
|
1163
|
+
validAt: memory.frontmatter.valid_at,
|
|
1164
|
+
invalidAt: memory.frontmatter.invalid_at,
|
|
1155
1165
|
}
|
|
1156
1166
|
: {}),
|
|
1157
1167
|
});
|
|
@@ -1307,10 +1317,7 @@ export class RecallSearchPipelineCoordinator {
|
|
|
1307
1317
|
const builtRow = buildRecallRow(r, memory);
|
|
1308
1318
|
if (stateViewBuilt !== null) {
|
|
1309
1319
|
stateViewBuilt[resultIdx] = builtRow;
|
|
1310
|
-
if (memory)
|
|
1311
|
-
const id = memory.frontmatter.id;
|
|
1312
|
-
if (typeof id === "string" && id.length > 0) stateViewSurvivorIds!.add(id);
|
|
1313
|
-
}
|
|
1320
|
+
if (memory && stateViewAnchors) stateViewAnchors.admit(r.namespace, memory.frontmatter);
|
|
1314
1321
|
}
|
|
1315
1322
|
filtered.push(builtRow);
|
|
1316
1323
|
}
|
|
@@ -1324,12 +1331,12 @@ export class RecallSearchPipelineCoordinator {
|
|
|
1324
1331
|
progress = false;
|
|
1325
1332
|
for (const deferredIdx of stateViewDeferred) {
|
|
1326
1333
|
if (admitted.has(deferredIdx)) continue;
|
|
1327
|
-
const
|
|
1334
|
+
const deferredRow = results[deferredIdx]!;
|
|
1335
|
+
const deferredMemory = memoryForResult(memoryByPath, deferredRow);
|
|
1328
1336
|
if (!deferredMemory) continue;
|
|
1329
|
-
if (
|
|
1337
|
+
if (stateViewAnchors!.anchored(deferredRow.namespace, deferredMemory.frontmatter)) {
|
|
1330
1338
|
admitted.add(deferredIdx);
|
|
1331
|
-
|
|
1332
|
-
if (typeof id === "string" && id.length > 0) stateViewSurvivorIds!.add(id);
|
|
1339
|
+
stateViewAnchors!.admit(deferredRow.namespace, deferredMemory.frontmatter);
|
|
1333
1340
|
progress = true;
|
|
1334
1341
|
}
|
|
1335
1342
|
}
|
|
@@ -209,3 +209,92 @@ test("an anchored predecessor keeps its rank position when admitted", async () =
|
|
|
209
209
|
await rm(memoryDir, { recursive: true, force: true });
|
|
210
210
|
}
|
|
211
211
|
});
|
|
212
|
+
|
|
213
|
+
test("#2859 namespace fanout collision: a same-id successor in another namespace cannot anchor", async () => {
|
|
214
|
+
const memoryDir = await mkdtemp(path.join(os.tmpdir(), "remnic-sv-fanout-"));
|
|
215
|
+
try {
|
|
216
|
+
const coordinator = await makeCoordinator(memoryDir);
|
|
217
|
+
const A_OLD = "facts/a-old.md";
|
|
218
|
+
const B_NEW = "facts/b-new.md";
|
|
219
|
+
// ns-a: superseded predecessor whose successor id m-1 is NOT in the
|
|
220
|
+
// candidate set. ns-b: an unrelated active row that reuses id m-1.
|
|
221
|
+
// Bare-id matching (pre-#2859) admitted the ns-a predecessor on the
|
|
222
|
+
// ns-b anchor; qualified keys must not.
|
|
223
|
+
const results: QmdSearchResult[] = [
|
|
224
|
+
{ ...result(B_NEW, 0.9), namespace: "ns-b" },
|
|
225
|
+
{ ...result(A_OLD, 0.7), namespace: "ns-a" },
|
|
226
|
+
];
|
|
227
|
+
const memories = new Map<string, MemoryFile>([
|
|
228
|
+
[`ns-b\0${B_NEW}`, memory(B_NEW, { id: "m-1", status: "active" })],
|
|
229
|
+
[
|
|
230
|
+
`ns-a\0${A_OLD}`,
|
|
231
|
+
memory(A_OLD, {
|
|
232
|
+
id: "m-0",
|
|
233
|
+
status: "superseded",
|
|
234
|
+
supersededBy: "m-1",
|
|
235
|
+
supersededAt: "2026-08-01",
|
|
236
|
+
}),
|
|
237
|
+
],
|
|
238
|
+
]);
|
|
239
|
+
const safe = coordinator.filterSearchResultsByRecallSafety(results, memories, {
|
|
240
|
+
stateViewActive: true,
|
|
241
|
+
});
|
|
242
|
+
assert.deepEqual(
|
|
243
|
+
safe.map((r) => r.path),
|
|
244
|
+
[B_NEW],
|
|
245
|
+
"a foreign-namespace successor must never anchor the superseded row"
|
|
246
|
+
);
|
|
247
|
+
|
|
248
|
+
// Positive control: ns-a's own m-1 present → the pair is admitted.
|
|
249
|
+
const A_NEW = "facts/a-new.md";
|
|
250
|
+
const pairResults: QmdSearchResult[] = [
|
|
251
|
+
{ ...result(A_NEW, 0.9), namespace: "ns-a" },
|
|
252
|
+
{ ...result(A_OLD, 0.7), namespace: "ns-a" },
|
|
253
|
+
];
|
|
254
|
+
const pairMemories = new Map<string, MemoryFile>([
|
|
255
|
+
[`ns-a\0${A_NEW}`, memory(A_NEW, { id: "m-1", status: "active" })],
|
|
256
|
+
[`ns-a\0${A_OLD}`, memories.get(`ns-a\0${A_OLD}`)!],
|
|
257
|
+
]);
|
|
258
|
+
const pair = coordinator.filterSearchResultsByRecallSafety(pairResults, pairMemories, {
|
|
259
|
+
stateViewActive: true,
|
|
260
|
+
});
|
|
261
|
+
assert.deepEqual(
|
|
262
|
+
pair.map((r) => r.path),
|
|
263
|
+
[A_NEW, A_OLD],
|
|
264
|
+
"the same-namespace successor anchors the pair as before"
|
|
265
|
+
);
|
|
266
|
+
} finally {
|
|
267
|
+
await rm(memoryDir, { recursive: true, force: true });
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
test("#2859 back-pointer anchors a deferred row whose supersededBy is absent", async () => {
|
|
272
|
+
const memoryDir = await mkdtemp(path.join(os.tmpdir(), "remnic-sv-backptr-"));
|
|
273
|
+
try {
|
|
274
|
+
const coordinator = await makeCoordinator(memoryDir);
|
|
275
|
+
const results = [result(NEW, 0.9), result(OLD, 0.7)];
|
|
276
|
+
const memories = new Map<string, MemoryFile>([
|
|
277
|
+
[NEW, memory(NEW, { id: "m-new", status: "active", supersedes: "m-old" })],
|
|
278
|
+
[
|
|
279
|
+
OLD,
|
|
280
|
+
memory(OLD, {
|
|
281
|
+
id: "m-old",
|
|
282
|
+
status: "superseded",
|
|
283
|
+
supersededAt: "2026-08-01",
|
|
284
|
+
}),
|
|
285
|
+
],
|
|
286
|
+
]);
|
|
287
|
+
const safe = coordinator.filterSearchResultsByRecallSafety(results, memories, {
|
|
288
|
+
stateViewActive: true,
|
|
289
|
+
});
|
|
290
|
+
assert.deepEqual(
|
|
291
|
+
safe.map((r) => r.path),
|
|
292
|
+
[NEW, OLD],
|
|
293
|
+
"the successor's supersedes back-pointer must admit its predecessor"
|
|
294
|
+
);
|
|
295
|
+
assert.equal(safe[1]?.supersedes, undefined, "the admitted row itself has no back-pointer");
|
|
296
|
+
assert.equal(safe[0]?.supersedes, "m-old", "the survivor carries its supersedes back-pointer");
|
|
297
|
+
} finally {
|
|
298
|
+
await rm(memoryDir, { recursive: true, force: true });
|
|
299
|
+
}
|
|
300
|
+
});
|