@remnic/core 9.65.0 → 9.65.2
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 +11 -11
- package/dist/access-admin-ops-surface.js +45 -43
- package/dist/access-authorization-probe.d.ts +12 -13
- package/dist/access-authorization-probe.js +46 -44
- package/dist/access-boundary.d.ts +12 -156
- package/dist/access-boundary.js +45 -43
- package/dist/access-cli.js +120 -116
- package/dist/access-cli.js.map +1 -1
- package/dist/access-coding-context-resolution.d.ts +1 -1
- package/dist/access-extraction-force-flush.d.ts +11 -11
- package/dist/access-extraction-force-flush.js +45 -43
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-lcm-compaction.d.ts +11 -11
- package/dist/access-http-lifecycle-flush.d.ts +12 -13
- package/dist/access-http-offline-stream.d.ts +11 -11
- package/dist/access-http-query.d.ts +2 -2
- package/dist/access-http-query.js +47 -45
- package/dist/access-http.d.ts +12 -12
- package/dist/access-http.js +65 -63
- package/dist/access-identity-continuity-surface.d.ts +9 -9
- package/dist/access-identity-continuity-surface.js +45 -43
- package/dist/access-lcm-surface.d.ts +11 -11
- package/dist/access-lcm-surface.js +45 -43
- package/dist/access-mcp-admin-tools.js +1 -1
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp.d.ts +11 -11
- package/dist/access-mcp.js +58 -54
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-AqlR0w02.d.ts → access-namespace-preflight-Dhvcl-T0.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +45 -43
- package/dist/access-observe-write-surface.d.ts +11 -11
- package/dist/access-observe-write-surface.js +45 -43
- package/dist/access-offline-manifest.d.ts +9 -9
- package/dist/access-offline-manifest.js +5 -5
- package/dist/access-operations-batch.js +49 -47
- package/dist/access-operations.d.ts +18 -19
- package/dist/access-operations.js +52 -50
- package/dist/access-recall-concurrency.d.ts +11 -11
- package/dist/access-recall-concurrency.js +45 -43
- package/dist/access-recall-response.d.ts +11 -11
- package/dist/access-recall-response.js +45 -43
- package/dist/access-recall-surface.d.ts +11 -11
- package/dist/access-recall-surface.js +45 -43
- package/dist/access-schema.d.ts +118 -118
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-BHmtl9BA.d.ts → access-service-Bke1alZO.d.ts} +484 -80
- package/dist/access-service-helpers.d.ts +11 -11
- package/dist/access-service.d.ts +11 -11
- package/dist/access-service.js +45 -43
- package/dist/access-surface-catalog.d.ts +12 -13
- package/dist/access-surface-catalog.js +49 -45
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +3 -3
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +6 -1
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -1
- package/dist/{auto-sync-5L7EUZ27.js → auto-sync-H64ZCNIR.js} +13 -5
- package/dist/{auto-sync-5L7EUZ27.js.map → auto-sync-H64ZCNIR.js.map} +1 -1
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +9 -9
- package/dist/briefing-window.d.ts +2 -2
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +19 -17
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer-turn-helpers.d.ts +1 -1
- package/dist/buffer.d.ts +2 -2
- package/dist/buffer.js +4 -4
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +1 -1
- package/dist/calibration.js +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/{catalog-gBoyN-IW.d.ts → catalog-DV6qnbr7.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +22 -20
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/causal-trajectory-graph.js +2 -2
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-A6LBDIFS.js → chunk-2E36UXVW.js} +2 -2
- package/dist/{chunk-RRJUMSFX.js → chunk-2XDWWPTN.js} +3 -3
- package/dist/{chunk-QCNB4BRE.js → chunk-2YI72KM3.js} +3 -3
- package/dist/{chunk-3YTTAGPB.js → chunk-3DVBKTSO.js} +2 -2
- package/dist/{chunk-IFK3PVM7.js → chunk-3I7ASZN3.js} +2 -2
- package/dist/chunk-3WU7XOFN.js +102 -0
- package/dist/chunk-3WU7XOFN.js.map +1 -0
- package/dist/{chunk-EIR5VLIH.js → chunk-4K7IW3F7.js} +2 -2
- package/dist/chunk-4K7IW3F7.js.map +1 -0
- package/dist/{chunk-HBKFYXBA.js → chunk-4KYOLI6M.js} +15 -15
- package/dist/chunk-573TEZCD.js +88 -0
- package/dist/chunk-573TEZCD.js.map +1 -0
- package/dist/{chunk-RNKNL5GQ.js → chunk-5NM4OH4P.js} +3 -3
- package/dist/{chunk-CESQ4CMC.js → chunk-5YQ63T4B.js} +2 -2
- package/dist/{chunk-PMVPCZJZ.js → chunk-6433HV72.js} +2 -2
- package/dist/{chunk-4NZHHGVL.js → chunk-7BDZTALN.js} +4 -1
- package/dist/chunk-7BDZTALN.js.map +1 -0
- package/dist/{chunk-NS5ETDYD.js → chunk-7BEPVIH3.js} +3 -3
- package/dist/{chunk-JG22O53B.js → chunk-7CBKAQIG.js} +2 -1
- package/dist/chunk-7CBKAQIG.js.map +1 -0
- package/dist/{chunk-SHQFYZTD.js → chunk-7YQ4IYS2.js} +2 -2
- package/dist/chunk-AAXJNINV.js +55 -0
- package/dist/chunk-AAXJNINV.js.map +1 -0
- package/dist/{chunk-YMOPYG3K.js → chunk-BIJAWZYW.js} +6 -6
- package/dist/{chunk-YQ3CBLL4.js → chunk-BWLRUMOG.js} +78 -8
- package/dist/chunk-BWLRUMOG.js.map +1 -0
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-VYEPACWY.js → chunk-C24UZSFW.js} +2 -2
- package/dist/{chunk-ZPN7W3OP.js → chunk-CDUUDBWJ.js} +3 -3
- package/dist/{chunk-K7JMKLKV.js → chunk-CT56C22C.js} +4 -4
- package/dist/{chunk-KWIGDKM2.js → chunk-D2YNNDML.js} +2 -2
- package/dist/{chunk-ZFBZ4QTS.js → chunk-DJZWNKFO.js} +10 -10
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-VNIETTMR.js → chunk-DZUJ46DO.js} +2 -2
- package/dist/{chunk-T6QMNVMO.js → chunk-EILZG5VC.js} +2 -2
- package/dist/{chunk-652S5A5D.js → chunk-EUYWQ7TS.js} +2 -2
- package/dist/{chunk-YIZRTHHF.js → chunk-GDFVPUJ5.js} +2 -2
- package/dist/{chunk-ML3U4KPR.js → chunk-GIC6BASP.js} +2 -2
- package/dist/{chunk-7PWWGYGO.js → chunk-GNCCUR6K.js} +2 -2
- package/dist/{chunk-Y5UT73VZ.js → chunk-IID2CMUU.js} +2 -2
- package/dist/{chunk-MB6GLPRY.js → chunk-IVKIODHO.js} +4 -4
- package/dist/{chunk-ZAI5R6DW.js → chunk-J275IYMG.js} +26 -17
- package/dist/chunk-J275IYMG.js.map +1 -0
- package/dist/{chunk-UYCIS6V5.js → chunk-JCWY73FK.js} +2 -2
- package/dist/{chunk-URS5GSM7.js → chunk-JXN77SGO.js} +1 -1
- package/dist/chunk-JXN77SGO.js.map +1 -0
- package/dist/{chunk-WHA6ISFX.js → chunk-JYYBA7TF.js} +2 -2
- package/dist/{chunk-T42L3S6A.js → chunk-LBWQ65SX.js} +4 -4
- package/dist/{chunk-MSTNSVXI.js → chunk-LDBFXD4F.js} +2 -1
- package/dist/chunk-LDBFXD4F.js.map +1 -0
- package/dist/{chunk-JXMXTV6C.js → chunk-LGO6A7GJ.js} +56 -56
- package/dist/{chunk-XBRGJJK7.js → chunk-LUNJ3WFO.js} +10 -8
- package/dist/chunk-LUNJ3WFO.js.map +1 -0
- package/dist/{chunk-H6B6GPVH.js → chunk-LZH5FR2W.js} +2 -2
- package/dist/{chunk-5HERQ5FX.js → chunk-M4AHBM72.js} +10 -10
- package/dist/{chunk-GOGHZVY3.js → chunk-MN4KB2A4.js} +3 -3
- package/dist/{chunk-OQIRBGUU.js → chunk-N37X5RU7.js} +2 -2
- package/dist/{chunk-E6EQTCOQ.js → chunk-NKKD4ZAU.js} +2 -2
- package/dist/{chunk-VANZKHTN.js → chunk-NNBZS3DY.js} +2 -2
- package/dist/{chunk-IWUN4RZL.js → chunk-NTWN6HB2.js} +5 -5
- package/dist/{chunk-2PSX5BJU.js → chunk-NZPFCP5A.js} +2 -2
- package/dist/{chunk-U56TGYVS.js → chunk-OCZIYAE5.js} +4 -4
- package/dist/{chunk-I2HTKOOP.js → chunk-ODZG724P.js} +2 -2
- package/dist/{chunk-LTBKKSCX.js → chunk-OLBZ2WGG.js} +2 -2
- package/dist/{chunk-GQ5OJVTM.js → chunk-OTHZWLUD.js} +2 -2
- package/dist/{chunk-PD66CVSD.js → chunk-OUKBMQ2O.js} +2 -2
- package/dist/{chunk-4E6IJCLC.js → chunk-PE255F4T.js} +2 -2
- package/dist/{chunk-GPFZFCRN.js → chunk-PP7R754B.js} +1 -1
- package/dist/{chunk-PHX3ET3C.js → chunk-QOS5LBZN.js} +2 -2
- package/dist/{chunk-G72IPMR7.js → chunk-R4OCGPSH.js} +2 -2
- package/dist/{chunk-VUP47UJI.js → chunk-R7JAM2XF.js} +3 -3
- package/dist/{chunk-LCU5R6TQ.js → chunk-RAIUTAZZ.js} +22 -3
- package/dist/chunk-RAIUTAZZ.js.map +1 -0
- package/dist/chunk-RIAM7DND.js +167 -0
- package/dist/chunk-RIAM7DND.js.map +1 -0
- package/dist/{chunk-JBPKEARU.js → chunk-RKNJBZ55.js} +4 -4
- package/dist/{chunk-P4CQCL27.js → chunk-S2DPMJXH.js} +2 -2
- package/dist/{chunk-YHSNAGN3.js → chunk-SB7D4BT7.js} +548 -126
- package/dist/chunk-SB7D4BT7.js.map +1 -0
- package/dist/{chunk-VRYEXPRX.js → chunk-SBDCZ2AX.js} +1 -1
- package/dist/chunk-SBDCZ2AX.js.map +1 -0
- package/dist/{chunk-OXL5QKTV.js → chunk-SIHSCCUQ.js} +1 -1
- package/dist/{chunk-KLPVXLQJ.js → chunk-SPUJNJJC.js} +2 -2
- package/dist/{chunk-CCP6LXQJ.js → chunk-SQI57UCJ.js} +2 -2
- package/dist/{chunk-UIYYS2YI.js → chunk-SVSRPG6M.js} +2 -2
- package/dist/{chunk-56BSXSHC.js → chunk-TBOJ76ER.js} +14 -1
- package/dist/{chunk-56BSXSHC.js.map → chunk-TBOJ76ER.js.map} +1 -1
- package/dist/{chunk-RQYV6M2T.js → chunk-TF77C7SV.js} +14 -7
- package/dist/chunk-TF77C7SV.js.map +1 -0
- package/dist/{chunk-RNORDDD6.js → chunk-THG4GYIE.js} +2 -2
- package/dist/{chunk-CUIAHZPZ.js → chunk-TR7DGXGI.js} +2 -2
- package/dist/{chunk-GEULB2VI.js → chunk-TZNQUNKL.js} +7 -1
- package/dist/chunk-TZNQUNKL.js.map +1 -0
- package/dist/{chunk-PDKBKBC2.js → chunk-UIN2BWDD.js} +2 -2
- package/dist/{chunk-4GD7YV4Y.js → chunk-UXO5IMBK.js} +3 -3
- package/dist/{chunk-UPIKAT5A.js → chunk-V3MXUL3D.js} +173 -77
- package/dist/chunk-V3MXUL3D.js.map +1 -0
- package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-MUJ4QFUQ.js → chunk-W4BMEGQA.js} +4 -4
- package/dist/{chunk-5HK3CJAR.js → chunk-W675UJCZ.js} +2 -2
- package/dist/{chunk-MDVBCPOS.js → chunk-XCTXS7VY.js} +2 -2
- package/dist/{chunk-NTERJOFA.js → chunk-XRYZRW54.js} +2 -2
- package/dist/{chunk-LA2MSK23.js → chunk-Y7DK7HHJ.js} +2 -2
- package/dist/{chunk-34BMUGRA.js → chunk-YB42WZCY.js} +2 -2
- package/dist/{chunk-LWVG6U7L.js → chunk-YHCBJULX.js} +2 -2
- package/dist/{chunk-HDD4RRIX.js → chunk-YLDXWCZP.js} +21 -6
- package/dist/chunk-YLDXWCZP.js.map +1 -0
- package/dist/{chunk-VYISFWVX.js → chunk-YQNNHLCG.js} +2 -2
- package/dist/{chunk-FFPBTNLC.js → chunk-Z7PBQPJ4.js} +2 -2
- package/dist/{chunk-MXJU4GCA.js → chunk-ZO6AXLEH.js} +2 -2
- package/dist/{chunk-JNSLW2O4.js → chunk-ZQHI2BZB.js} +2 -2
- package/dist/{chunk-A4VJKT2H.js → chunk-ZWXJBFZU.js} +11 -11
- package/dist/chunk-ZWXJBFZU.js.map +1 -0
- package/dist/{cli-BpwTNHTm.d.ts → cli-cShQ13XG.d.ts} +5 -5
- package/dist/cli.d.ts +13 -13
- package/dist/cli.js +89 -86
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/coding/pre-action-gate.js +2 -2
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +20 -18
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +6 -1
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +19 -17
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +19 -17
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +2 -2
- package/dist/contradiction/index.js +10 -2
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +21 -19
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/chunker.d.ts +1 -1
- package/dist/conversation-index/faiss-adapter.d.ts +1 -1
- package/dist/conversation-index/indexer.d.ts +1 -1
- package/dist/conversation-index/search.d.ts +1 -1
- package/dist/corpus-watermark.d.ts +1 -1
- package/dist/corpus-watermark.js +21 -19
- package/dist/cross-lingual-recall.d.ts +70 -0
- package/dist/cross-lingual-recall.js +14 -0
- package/dist/day-summary.d.ts +1 -1
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-QYJ1-c2M.d.ts → dependency-propagation-delivery-CsGg-VwS.d.ts} +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer.d.ts +1 -1
- package/dist/embedding-fallback.d.ts +1 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-origin-fields.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +19 -17
- package/dist/entity-schema.d.ts +1 -1
- package/dist/episodic-context.d.ts +1 -1
- package/dist/explicit-capture.d.ts +9 -9
- package/dist/explicit-capture.js +7 -6
- package/dist/external-wiki-access.d.ts +12 -13
- package/dist/external-wiki-access.js +46 -44
- package/dist/external-wiki-collection-registration.d.ts +1 -1
- package/dist/external-wiki-collection.d.ts +1 -1
- package/dist/external-wiki-mcp-tools.d.ts +11 -11
- package/dist/extraction-error-classification.d.ts +1 -1
- package/dist/extraction-faithfulness.d.ts +1 -1
- package/dist/extraction-judge-telemetry.d.ts +1 -1
- package/dist/extraction-judge-training.d.ts +1 -1
- package/dist/extraction-judge.d.ts +1 -1
- package/dist/extraction-judge.js +2 -2
- package/dist/extraction-liveness.d.ts +1 -1
- package/dist/extraction-normalization.d.ts +1 -1
- package/dist/extraction-normalization.js +2 -2
- package/dist/extraction-prompt.d.ts +2 -2
- package/dist/extraction-prompt.js +1 -1
- package/dist/extraction-source-grounding-rules.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts +1 -1
- package/dist/extraction.d.ts +1 -1
- package/dist/extraction.js +27 -25
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/graph-dashboard-diff.d.ts +1 -1
- package/dist/graph-dashboard-key.d.ts +1 -1
- package/dist/graph-dashboard-parser.d.ts +1 -1
- package/dist/{graph-edge-decay-A4SDFMMS.js → graph-edge-decay-FXGELBFA.js} +4 -4
- package/dist/graph-edge-reinforcement.d.ts +1 -1
- package/dist/graph-path-reconstruction.d.ts +1 -1
- package/dist/graph-path-scoring.d.ts +1 -1
- package/dist/graph-snapshot.d.ts +1 -1
- package/dist/graph-snapshot.js +3 -3
- package/dist/graph.d.ts +1 -1
- package/dist/graph.js +3 -3
- package/dist/harmonic-retrieval.js +1 -1
- package/dist/importance.d.ts +1 -1
- package/dist/importers/index.d.ts +1 -1
- package/dist/in-flight-reads.d.ts +1 -1
- package/dist/index.d.ts +718 -701
- package/dist/index.js +188 -139
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +4 -4
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +10 -10
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm.d.ts +1 -1
- package/dist/local-llm.js +2 -2
- package/dist/local-model-endpoint.d.ts +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +19 -17
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +19 -17
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +20 -18
- package/dist/{maintenance-BjEr3WKG.d.ts → maintenance-jhMpeGne.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +11 -11
- package/dist/mcp-read-only-tools.js +1 -1
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-provenance.d.ts +1 -1
- package/dist/memory-snapshot.d.ts +1 -1
- package/dist/memory-subject-cli.d.ts +177 -0
- package/dist/memory-subject-cli.js +16 -0
- package/dist/memory-subject-cli.js.map +1 -0
- package/dist/memory-subject.d.ts +128 -0
- package/dist/memory-subject.js +44 -0
- package/dist/memory-subject.js.map +1 -0
- package/dist/memory-worth-outcomes.d.ts +5 -4
- package/dist/memory-worth-outcomes.js +1 -1
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +3 -3
- package/dist/namespaces/migrate.js +20 -18
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +9 -9
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +19 -17
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +22 -20
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +31 -28
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +25 -23
- package/dist/{orchestrator-CC4USYcD.d.ts → orchestrator-DyGUC7re.d.ts} +8 -8
- package/dist/orchestrator.d.ts +9 -9
- package/dist/orchestrator.js +120 -116
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-DWgAgvJN.d.ts → pipeline-C25Oxtp1.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/proactive-contention.d.ts +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/{public-http-CkQC8VpD.d.ts → public-http-CMe7NQzj.d.ts} +1 -1
- package/dist/{qmd-BJGhj4ta.d.ts → qmd-DkDVCbgF.d.ts} +1 -1
- package/dist/qmd-preflight.d.ts +2 -2
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +2 -2
- package/dist/qmd.js +2 -2
- package/dist/recall-concurrency-config.d.ts +1 -1
- package/dist/recall-disclosure-escalation.d.ts +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +1 -1
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-timings.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +1 -1
- package/dist/recall-xray.js +2 -2
- package/dist/reconcile/cursor.d.ts +1 -1
- package/dist/reconcile/manifest.d.ts +1 -1
- package/dist/reconcile/manifest.js +3 -3
- package/dist/reconcile/plan.d.ts +1 -1
- package/dist/replay/normalizers/chatgpt.d.ts +1 -1
- package/dist/replay/normalizers/claude.d.ts +1 -1
- package/dist/replay/normalizers/openclaw.d.ts +1 -1
- package/dist/replay/normalizers/shared.d.ts +1 -1
- package/dist/replay/runner.d.ts +1 -1
- package/dist/replay/types.d.ts +1 -1
- package/dist/replica-divergence.d.ts +1 -1
- package/dist/replica-peers-config.d.ts +1 -1
- package/dist/{resolution-DKMBPXHI.js → resolution-MFY72STR.js} +11 -3
- package/dist/resolution-MFY72STR.js.map +1 -0
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +7 -2
- package/dist/retrieval-agents.d.ts +2 -2
- package/dist/retrieval-tiers.d.ts +1 -1
- package/dist/routing/engine.d.ts +1 -1
- package/dist/routing/store.d.ts +1 -1
- package/dist/salvage-envelope.d.ts +1 -1
- package/dist/salvage-envelope.js +10 -2
- package/dist/schemas.d.ts +122 -108
- package/dist/schemas.js +1 -1
- package/dist/{scope-profiles-C4PdBYKc.d.ts → scope-profiles-B9xMoFO-.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +8 -8
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +14 -14
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/orama-backend.js +2 -2
- package/dist/search/port.d.ts +2 -2
- package/dist/search/port.js +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/search/remote-backend.js +2 -2
- package/dist/{semantic-consolidation-5-HOmIhL.d.ts → semantic-consolidation-C4uykW84.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +20 -18
- package/dist/semantic-rule-promotion.js +19 -17
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +19 -17
- package/dist/{service-8pDy6w8u.d.ts → service-DCZDZNcV.d.ts} +2 -2
- package/dist/session-observer-bands.d.ts +1 -1
- package/dist/session-observer-state.d.ts +1 -1
- package/dist/shared-context/manager.d.ts +11 -11
- package/dist/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +21 -19
- package/dist/{storage-VpDzURiA.d.ts → storage-CcKmEjL8.d.ts} +3 -2
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +21 -19
- package/dist/subject-config.d.ts +38 -0
- package/dist/subject-config.js +20 -0
- package/dist/subject-config.js.map +1 -0
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +3 -3
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/support-passport/index.d.ts +14 -14
- package/dist/support-passport/index.js +48 -46
- package/dist/temporal-supersession.d.ts +2 -2
- package/dist/temporal-timeline-recall.d.ts +1 -1
- package/dist/temporal-validity.d.ts +1 -1
- package/dist/threading.d.ts +1 -1
- package/dist/tier-migration.d.ts +2 -2
- package/dist/tier-routing.d.ts +1 -1
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/transfer/types.d.ts +66 -66
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-D9gKdB79.d.ts → types-Pi0lfaEt.d.ts} +40 -29
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +19 -17
- package/dist/who-knows-cli.d.ts +11 -11
- package/dist/who-knows-cli.js +20 -18
- package/dist/who-knows.d.ts +11 -11
- package/dist/who-knows.js +19 -17
- package/dist/write-envelope.d.ts +5 -2
- package/dist/write-envelope.js +10 -1
- package/package.json +2 -2
- package/scripts/build-with-heap.mjs +1 -1
- package/src/access-boundary.ts +2 -0
- package/src/access-mcp-admin-tools.ts +14 -0
- package/src/access-mcp-output-schemas.ts +6 -0
- package/src/access-mcp.ts +6 -6
- package/src/access-operations-batch.ts +8 -0
- package/src/access-service.ts +85 -0
- package/src/access-surface-catalog.ts +2 -0
- package/src/config.ts +10 -17
- package/src/cross-lingual-recall.test.ts +47 -0
- package/src/cross-lingual-recall.ts +186 -0
- package/src/extraction-prompt.ts +1 -0
- package/src/extraction.ts +4 -1
- package/src/index.ts +5 -6
- package/src/mcp-read-only-tools.ts +1 -0
- package/src/memory-subject-cli.ts +135 -0
- package/src/memory-subject.test.ts +48 -0
- package/src/memory-subject.ts +314 -0
- package/src/memory-worth-outcomes.test.ts +6 -2
- package/src/memory-worth-outcomes.ts +11 -7
- package/src/operator-toolkit.ts +1 -1
- package/src/orchestration/extraction-persist.ts +48 -48
- package/src/orchestration/recall-internal-deps.ts +2 -0
- package/src/orchestration/recall-internal.ts +41 -38
- package/src/orchestration/recall-search-pipeline.ts +16 -0
- package/src/procedural/library-maintenance.test.ts +582 -0
- package/src/procedural/library-maintenance.ts +546 -0
- package/src/procedural/maintenance-config.ts +78 -0
- package/src/procedural/procedure-recall.ts +29 -1
- package/src/procedural/procedure-stats.ts +20 -0
- package/src/schemas.ts +7 -0
- package/src/search/port.ts +2 -1
- package/src/spaces/index.ts +38 -2
- package/src/storage.ts +11 -3
- package/src/subject-config.ts +80 -0
- package/src/types.ts +28 -29
- package/src/write-envelope.test.ts +14 -0
- package/src/write-envelope.ts +24 -3
- package/dist/chunk-4NZHHGVL.js.map +0 -1
- package/dist/chunk-A4VJKT2H.js.map +0 -1
- package/dist/chunk-EIR5VLIH.js.map +0 -1
- package/dist/chunk-GEULB2VI.js.map +0 -1
- package/dist/chunk-HDD4RRIX.js.map +0 -1
- package/dist/chunk-JG22O53B.js.map +0 -1
- package/dist/chunk-LCU5R6TQ.js.map +0 -1
- package/dist/chunk-MSTNSVXI.js.map +0 -1
- package/dist/chunk-RQYV6M2T.js.map +0 -1
- package/dist/chunk-UPIKAT5A.js.map +0 -1
- package/dist/chunk-URS5GSM7.js.map +0 -1
- package/dist/chunk-VRYEXPRX.js.map +0 -1
- package/dist/chunk-XBRGJJK7.js.map +0 -1
- package/dist/chunk-YHSNAGN3.js.map +0 -1
- package/dist/chunk-YQ3CBLL4.js.map +0 -1
- package/dist/chunk-ZAI5R6DW.js.map +0 -1
- /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{chunk-A6LBDIFS.js.map → chunk-2E36UXVW.js.map} +0 -0
- /package/dist/{chunk-RRJUMSFX.js.map → chunk-2XDWWPTN.js.map} +0 -0
- /package/dist/{chunk-QCNB4BRE.js.map → chunk-2YI72KM3.js.map} +0 -0
- /package/dist/{chunk-3YTTAGPB.js.map → chunk-3DVBKTSO.js.map} +0 -0
- /package/dist/{chunk-IFK3PVM7.js.map → chunk-3I7ASZN3.js.map} +0 -0
- /package/dist/{chunk-HBKFYXBA.js.map → chunk-4KYOLI6M.js.map} +0 -0
- /package/dist/{chunk-RNKNL5GQ.js.map → chunk-5NM4OH4P.js.map} +0 -0
- /package/dist/{chunk-CESQ4CMC.js.map → chunk-5YQ63T4B.js.map} +0 -0
- /package/dist/{chunk-PMVPCZJZ.js.map → chunk-6433HV72.js.map} +0 -0
- /package/dist/{chunk-NS5ETDYD.js.map → chunk-7BEPVIH3.js.map} +0 -0
- /package/dist/{chunk-SHQFYZTD.js.map → chunk-7YQ4IYS2.js.map} +0 -0
- /package/dist/{chunk-YMOPYG3K.js.map → chunk-BIJAWZYW.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-VYEPACWY.js.map → chunk-C24UZSFW.js.map} +0 -0
- /package/dist/{chunk-ZPN7W3OP.js.map → chunk-CDUUDBWJ.js.map} +0 -0
- /package/dist/{chunk-K7JMKLKV.js.map → chunk-CT56C22C.js.map} +0 -0
- /package/dist/{chunk-KWIGDKM2.js.map → chunk-D2YNNDML.js.map} +0 -0
- /package/dist/{chunk-ZFBZ4QTS.js.map → chunk-DJZWNKFO.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-VNIETTMR.js.map → chunk-DZUJ46DO.js.map} +0 -0
- /package/dist/{chunk-T6QMNVMO.js.map → chunk-EILZG5VC.js.map} +0 -0
- /package/dist/{chunk-652S5A5D.js.map → chunk-EUYWQ7TS.js.map} +0 -0
- /package/dist/{chunk-YIZRTHHF.js.map → chunk-GDFVPUJ5.js.map} +0 -0
- /package/dist/{chunk-ML3U4KPR.js.map → chunk-GIC6BASP.js.map} +0 -0
- /package/dist/{chunk-7PWWGYGO.js.map → chunk-GNCCUR6K.js.map} +0 -0
- /package/dist/{chunk-Y5UT73VZ.js.map → chunk-IID2CMUU.js.map} +0 -0
- /package/dist/{chunk-MB6GLPRY.js.map → chunk-IVKIODHO.js.map} +0 -0
- /package/dist/{chunk-UYCIS6V5.js.map → chunk-JCWY73FK.js.map} +0 -0
- /package/dist/{chunk-WHA6ISFX.js.map → chunk-JYYBA7TF.js.map} +0 -0
- /package/dist/{chunk-T42L3S6A.js.map → chunk-LBWQ65SX.js.map} +0 -0
- /package/dist/{chunk-JXMXTV6C.js.map → chunk-LGO6A7GJ.js.map} +0 -0
- /package/dist/{chunk-H6B6GPVH.js.map → chunk-LZH5FR2W.js.map} +0 -0
- /package/dist/{chunk-5HERQ5FX.js.map → chunk-M4AHBM72.js.map} +0 -0
- /package/dist/{chunk-GOGHZVY3.js.map → chunk-MN4KB2A4.js.map} +0 -0
- /package/dist/{chunk-OQIRBGUU.js.map → chunk-N37X5RU7.js.map} +0 -0
- /package/dist/{chunk-E6EQTCOQ.js.map → chunk-NKKD4ZAU.js.map} +0 -0
- /package/dist/{chunk-VANZKHTN.js.map → chunk-NNBZS3DY.js.map} +0 -0
- /package/dist/{chunk-IWUN4RZL.js.map → chunk-NTWN6HB2.js.map} +0 -0
- /package/dist/{chunk-2PSX5BJU.js.map → chunk-NZPFCP5A.js.map} +0 -0
- /package/dist/{chunk-U56TGYVS.js.map → chunk-OCZIYAE5.js.map} +0 -0
- /package/dist/{chunk-I2HTKOOP.js.map → chunk-ODZG724P.js.map} +0 -0
- /package/dist/{chunk-LTBKKSCX.js.map → chunk-OLBZ2WGG.js.map} +0 -0
- /package/dist/{chunk-GQ5OJVTM.js.map → chunk-OTHZWLUD.js.map} +0 -0
- /package/dist/{chunk-PD66CVSD.js.map → chunk-OUKBMQ2O.js.map} +0 -0
- /package/dist/{chunk-4E6IJCLC.js.map → chunk-PE255F4T.js.map} +0 -0
- /package/dist/{chunk-GPFZFCRN.js.map → chunk-PP7R754B.js.map} +0 -0
- /package/dist/{chunk-PHX3ET3C.js.map → chunk-QOS5LBZN.js.map} +0 -0
- /package/dist/{chunk-G72IPMR7.js.map → chunk-R4OCGPSH.js.map} +0 -0
- /package/dist/{chunk-VUP47UJI.js.map → chunk-R7JAM2XF.js.map} +0 -0
- /package/dist/{chunk-JBPKEARU.js.map → chunk-RKNJBZ55.js.map} +0 -0
- /package/dist/{chunk-P4CQCL27.js.map → chunk-S2DPMJXH.js.map} +0 -0
- /package/dist/{chunk-OXL5QKTV.js.map → chunk-SIHSCCUQ.js.map} +0 -0
- /package/dist/{chunk-KLPVXLQJ.js.map → chunk-SPUJNJJC.js.map} +0 -0
- /package/dist/{chunk-CCP6LXQJ.js.map → chunk-SQI57UCJ.js.map} +0 -0
- /package/dist/{chunk-UIYYS2YI.js.map → chunk-SVSRPG6M.js.map} +0 -0
- /package/dist/{chunk-RNORDDD6.js.map → chunk-THG4GYIE.js.map} +0 -0
- /package/dist/{chunk-CUIAHZPZ.js.map → chunk-TR7DGXGI.js.map} +0 -0
- /package/dist/{chunk-PDKBKBC2.js.map → chunk-UIN2BWDD.js.map} +0 -0
- /package/dist/{chunk-4GD7YV4Y.js.map → chunk-UXO5IMBK.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-MUJ4QFUQ.js.map → chunk-W4BMEGQA.js.map} +0 -0
- /package/dist/{chunk-5HK3CJAR.js.map → chunk-W675UJCZ.js.map} +0 -0
- /package/dist/{chunk-MDVBCPOS.js.map → chunk-XCTXS7VY.js.map} +0 -0
- /package/dist/{chunk-NTERJOFA.js.map → chunk-XRYZRW54.js.map} +0 -0
- /package/dist/{chunk-LA2MSK23.js.map → chunk-Y7DK7HHJ.js.map} +0 -0
- /package/dist/{chunk-34BMUGRA.js.map → chunk-YB42WZCY.js.map} +0 -0
- /package/dist/{chunk-LWVG6U7L.js.map → chunk-YHCBJULX.js.map} +0 -0
- /package/dist/{chunk-VYISFWVX.js.map → chunk-YQNNHLCG.js.map} +0 -0
- /package/dist/{chunk-FFPBTNLC.js.map → chunk-Z7PBQPJ4.js.map} +0 -0
- /package/dist/{chunk-MXJU4GCA.js.map → chunk-ZO6AXLEH.js.map} +0 -0
- /package/dist/{chunk-JNSLW2O4.js.map → chunk-ZQHI2BZB.js.map} +0 -0
- /package/dist/{graph-edge-decay-A4SDFMMS.js.map → cross-lingual-recall.js.map} +0 -0
- /package/dist/{resolution-DKMBPXHI.js.map → graph-edge-decay-FXGELBFA.js.map} +0 -0
package/dist/who-knows.js
CHANGED
|
@@ -9,27 +9,27 @@ import {
|
|
|
9
9
|
loadWhoKnowsEntities,
|
|
10
10
|
tokenizeTopic,
|
|
11
11
|
validateWhoKnowsInput
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-SPUJNJJC.js";
|
|
13
|
+
import "./chunk-J275IYMG.js";
|
|
14
14
|
import "./chunk-UHVXE24Y.js";
|
|
15
15
|
import "./chunk-46WM6JX2.js";
|
|
16
16
|
import "./chunk-SXIMQLGV.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-YHCBJULX.js";
|
|
18
|
+
import "./chunk-DJZWNKFO.js";
|
|
19
|
+
import "./chunk-N37X5RU7.js";
|
|
20
|
+
import "./chunk-NNBZS3DY.js";
|
|
19
21
|
import "./chunk-CYEPCZN5.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-6KTXE6A3.js";
|
|
23
|
-
import "./chunk-OQIRBGUU.js";
|
|
24
|
-
import "./chunk-VANZKHTN.js";
|
|
22
|
+
import "./chunk-GIC6BASP.js";
|
|
23
|
+
import "./chunk-YQNNHLCG.js";
|
|
25
24
|
import "./chunk-W7IGLX4G.js";
|
|
25
|
+
import "./chunk-6KTXE6A3.js";
|
|
26
26
|
import "./chunk-GUMZC2BO.js";
|
|
27
27
|
import "./chunk-227UFSEQ.js";
|
|
28
28
|
import "./chunk-ET356KSB.js";
|
|
29
29
|
import "./chunk-72A4L5JJ.js";
|
|
30
30
|
import "./chunk-A7Q43EUZ.js";
|
|
31
31
|
import "./chunk-S2V7RUCL.js";
|
|
32
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-SBDCZ2AX.js";
|
|
33
33
|
import "./chunk-SCU65EZI.js";
|
|
34
34
|
import "./chunk-PO7NXBG2.js";
|
|
35
35
|
import "./chunk-S2HLHAZ4.js";
|
|
@@ -37,12 +37,13 @@ import "./chunk-DM2T26WE.js";
|
|
|
37
37
|
import "./chunk-LDXUBPMO.js";
|
|
38
38
|
import "./chunk-UG6VXIOK.js";
|
|
39
39
|
import "./chunk-AAD2ZS6P.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-W4BMEGQA.js";
|
|
41
|
+
import "./chunk-RAIUTAZZ.js";
|
|
42
42
|
import "./chunk-BT7NVCML.js";
|
|
43
43
|
import "./chunk-3ONXXHQO.js";
|
|
44
44
|
import "./chunk-YXZG5TVN.js";
|
|
45
45
|
import "./chunk-5GINB5LC.js";
|
|
46
|
+
import "./chunk-3WU7XOFN.js";
|
|
46
47
|
import "./chunk-UFKPQBXH.js";
|
|
47
48
|
import "./chunk-XCB6QDL6.js";
|
|
48
49
|
import "./chunk-RBOJCG4T.js";
|
|
@@ -50,8 +51,8 @@ import "./chunk-ZVPVTPGI.js";
|
|
|
50
51
|
import "./chunk-5WITETWU.js";
|
|
51
52
|
import "./chunk-6CIAGZ6X.js";
|
|
52
53
|
import "./chunk-G7D6GZ5J.js";
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
54
|
+
import "./chunk-C24UZSFW.js";
|
|
55
|
+
import "./chunk-JXN77SGO.js";
|
|
55
56
|
import "./chunk-ZLQ37WJX.js";
|
|
56
57
|
import "./chunk-IUM3VSHI.js";
|
|
57
58
|
import "./chunk-C64XATK7.js";
|
|
@@ -63,6 +64,7 @@ import "./chunk-45GF7Y3V.js";
|
|
|
63
64
|
import "./chunk-RGMVMVMF.js";
|
|
64
65
|
import "./chunk-N7RWREIQ.js";
|
|
65
66
|
import "./chunk-NXH34IPL.js";
|
|
67
|
+
import "./chunk-RIAM7DND.js";
|
|
66
68
|
import "./chunk-ZIKENA2C.js";
|
|
67
69
|
import "./chunk-PQVCH2AE.js";
|
|
68
70
|
import "./chunk-6Q3ZTEF6.js";
|
|
@@ -79,13 +81,13 @@ import "./chunk-DVYRD4HY.js";
|
|
|
79
81
|
import "./chunk-ZA53AZND.js";
|
|
80
82
|
import "./chunk-GCASGYIO.js";
|
|
81
83
|
import "./chunk-7RJUVTVF.js";
|
|
82
|
-
import "./chunk-JOEJG4SD.js";
|
|
83
84
|
import "./chunk-2LWQSV6A.js";
|
|
84
85
|
import "./chunk-RL6NEVXT.js";
|
|
85
|
-
import "./chunk-5FVVY2EB.js";
|
|
86
|
-
import "./chunk-FFAZ2XFU.js";
|
|
87
86
|
import "./chunk-XDL5CYZN.js";
|
|
88
87
|
import "./chunk-JDSVLVCG.js";
|
|
88
|
+
import "./chunk-JOEJG4SD.js";
|
|
89
|
+
import "./chunk-5FVVY2EB.js";
|
|
90
|
+
import "./chunk-FFAZ2XFU.js";
|
|
89
91
|
import "./chunk-5GKPFL3S.js";
|
|
90
92
|
import "./chunk-JAKIDQB2.js";
|
|
91
93
|
import "./chunk-P7FMDTKL.js";
|
package/dist/write-envelope.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { x as MemoryCategory } from './types-
|
|
1
|
+
import { x as MemoryCategory, N as MemorySubject } from './types-Pi0lfaEt.js';
|
|
2
2
|
import './message-parts/index.js';
|
|
3
3
|
import './bounded-jsonl-state.js';
|
|
4
4
|
import './types-CM86alG1.js';
|
|
@@ -62,6 +62,8 @@ interface MemoryWriteInput {
|
|
|
62
62
|
sourceConnector?: string;
|
|
63
63
|
/** Origin class stamped at creation time (issue #1955). */
|
|
64
64
|
origin?: string;
|
|
65
|
+
/** Whom the memory models (issue #2372): "user" or "agent". */
|
|
66
|
+
subject?: MemorySubject;
|
|
65
67
|
/** Human-readable provenance note. */
|
|
66
68
|
sourceReason?: string;
|
|
67
69
|
}
|
|
@@ -150,6 +152,7 @@ interface SealedMemoryEnvelope {
|
|
|
150
152
|
readonly validAt: string | undefined;
|
|
151
153
|
readonly sourceConnector: string | undefined;
|
|
152
154
|
readonly origin: string | undefined;
|
|
155
|
+
readonly subject: MemorySubject | undefined;
|
|
153
156
|
readonly sourceReason: string | undefined;
|
|
154
157
|
readonly source: string;
|
|
155
158
|
/** ISO timestamp the envelope was composed (from ctx.now). */
|
|
@@ -227,7 +230,7 @@ declare const WRITE_FINGERPRINT_FIELDS: readonly ["content", "category", "tags",
|
|
|
227
230
|
* is a visible, reviewable decision — this list exists so the exhaustiveness
|
|
228
231
|
* guard can force every new `MemoryWriteInput` field to be classified.
|
|
229
232
|
*/
|
|
230
|
-
declare const FINGERPRINT_EXEMPT_FIELDS: readonly ["confidence", "origin", "sourceReason"];
|
|
233
|
+
declare const FINGERPRINT_EXEMPT_FIELDS: readonly ["confidence", "origin", "subject", "sourceReason"];
|
|
231
234
|
/** Scope keys always folded into the fingerprint payload. */
|
|
232
235
|
declare const FINGERPRINT_SCOPE_FIELDS: readonly ["surface", "namespace", "principal", "codingContext"];
|
|
233
236
|
/**
|
package/dist/write-envelope.js
CHANGED
|
@@ -11,12 +11,21 @@ import {
|
|
|
11
11
|
isMemoryCategory,
|
|
12
12
|
isSealedMemoryEnvelope,
|
|
13
13
|
sealedWriteToLegacyArgs
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-RAIUTAZZ.js";
|
|
15
15
|
import "./chunk-BT7NVCML.js";
|
|
16
|
+
import "./chunk-RIAM7DND.js";
|
|
16
17
|
import "./chunk-JDSVLVCG.js";
|
|
18
|
+
import "./chunk-JOEJG4SD.js";
|
|
19
|
+
import "./chunk-5FVVY2EB.js";
|
|
20
|
+
import "./chunk-FFAZ2XFU.js";
|
|
17
21
|
import "./chunk-5GKPFL3S.js";
|
|
18
22
|
import "./chunk-JAKIDQB2.js";
|
|
19
23
|
import "./chunk-P7FMDTKL.js";
|
|
24
|
+
import "./chunk-XQ3HXAQH.js";
|
|
25
|
+
import "./chunk-A6XUJE5D.js";
|
|
26
|
+
import "./chunk-5UZXUTVO.js";
|
|
27
|
+
import "./chunk-VS2IYZRU.js";
|
|
28
|
+
import "./chunk-3WCASNQZ.js";
|
|
20
29
|
import "./chunk-PZ5AY32C.js";
|
|
21
30
|
export {
|
|
22
31
|
FINGERPRINT_EXEMPT_FIELDS,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.65.
|
|
3
|
+
"version": "9.65.2",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3166,7 +3166,7 @@
|
|
|
3166
3166
|
"core"
|
|
3167
3167
|
],
|
|
3168
3168
|
"peerDependencies": {
|
|
3169
|
-
"@remnic/coding-graph": "^9.65.
|
|
3169
|
+
"@remnic/coding-graph": "^9.65.2"
|
|
3170
3170
|
},
|
|
3171
3171
|
"peerDependenciesMeta": {
|
|
3172
3172
|
"@remnic/coding-graph": {
|
|
@@ -9,7 +9,7 @@ import { cp, mkdir, rm } from "node:fs/promises";
|
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
|
|
12
|
-
const HEAP_DEFAULT = "--max-old-space-size=
|
|
12
|
+
const HEAP_DEFAULT = "--max-old-space-size=12288";
|
|
13
13
|
const existing = process.env.NODE_OPTIONS?.trim();
|
|
14
14
|
// Caller-supplied NODE_OPTIONS goes last so V8's last-wins parsing lets
|
|
15
15
|
// callers override the default heap limit.
|
package/src/access-boundary.ts
CHANGED
|
@@ -68,6 +68,7 @@ export const OPERATION_NAMES = [
|
|
|
68
68
|
"recall_tier_explain",
|
|
69
69
|
"recall_xray",
|
|
70
70
|
"who_knows",
|
|
71
|
+
"promotion_candidates",
|
|
71
72
|
"namespace_writable",
|
|
72
73
|
"wearables_status",
|
|
73
74
|
"wearables_sync",
|
|
@@ -88,6 +89,7 @@ export const OPERATION_NAMES = [
|
|
|
88
89
|
"procedure_mining_run",
|
|
89
90
|
"pattern_reinforcement_run",
|
|
90
91
|
"procedural_stats",
|
|
92
|
+
"procedure_library_maintenance",
|
|
91
93
|
"memory_timeline",
|
|
92
94
|
"suggestion_submit",
|
|
93
95
|
"entity_get",
|
|
@@ -168,4 +168,18 @@ export const MCP_ADMIN_OPS_TOOLS: Array<{
|
|
|
168
168
|
additionalProperties: false,
|
|
169
169
|
},
|
|
170
170
|
},
|
|
171
|
+
{
|
|
172
|
+
name: "engram.procedure_library_maintenance",
|
|
173
|
+
description:
|
|
174
|
+
"Run procedure library health maintenance (issue #2370): merge near-duplicate active procedures, flag stale-tool procedures for repair, and retire failure-dominant or idle ones — from Memory Worth + trajectory telemetry. Shadow-first: default run writes nothing and returns a proposed-transition report. apply=true (and procedural.maintenance.enabled) executes transitions; dryRun=true forces shadow.",
|
|
175
|
+
inputSchema: {
|
|
176
|
+
type: "object",
|
|
177
|
+
properties: {
|
|
178
|
+
namespace: { type: "string" },
|
|
179
|
+
apply: { type: "boolean" },
|
|
180
|
+
dryRun: { type: "boolean" },
|
|
181
|
+
},
|
|
182
|
+
additionalProperties: false,
|
|
183
|
+
},
|
|
184
|
+
},
|
|
171
185
|
];
|
|
@@ -55,6 +55,7 @@ const TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {
|
|
|
55
55
|
recall_tier_explain: objectSchema({ snapshotFound: T_BOOLEAN, tierExplain: T_NULLABLE_OBJECT }),
|
|
56
56
|
recall_xray: objectSchema({ snapshotFound: T_BOOLEAN, snapshot: T_OBJECT }),
|
|
57
57
|
who_knows: objectSchema({ topic: T_STRING, results: T_ARRAY }),
|
|
58
|
+
promotion_candidates: objectSchema({ namespace: T_STRING, targetNamespace: T_STRING, candidates: T_ARRAY }),
|
|
58
59
|
set_coding_context: objectSchema({ ok: T_BOOLEAN }),
|
|
59
60
|
wearables_status: objectSchema({
|
|
60
61
|
enabled: T_BOOLEAN,
|
|
@@ -132,6 +133,11 @@ const TOOL_OUTPUT_SCHEMAS: Readonly<Record<string, Record<string, unknown>>> = {
|
|
|
132
133
|
duplicatesSuperseded: T_NUMBER,
|
|
133
134
|
}),
|
|
134
135
|
procedural_stats: objectSchema({ namespace: T_STRING, counts: T_OBJECT, recent: T_OBJECT }),
|
|
136
|
+
procedure_library_maintenance: objectSchema({
|
|
137
|
+
enabled: T_BOOLEAN,
|
|
138
|
+
namespace: T_STRING,
|
|
139
|
+
report: T_OBJECT,
|
|
140
|
+
}),
|
|
135
141
|
memory_get: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, memory: T_NULLABLE_OBJECT }),
|
|
136
142
|
memory_timeline: objectSchema({ found: T_BOOLEAN, namespace: T_STRING, count: T_NUMBER, timeline: T_ARRAY }),
|
|
137
143
|
memory_store: objectSchema({
|
package/src/access-mcp.ts
CHANGED
|
@@ -46,6 +46,7 @@ import { MCP_READ_ONLY_TOOL_SUFFIXES } from "./mcp-read-only-tools.js";
|
|
|
46
46
|
import { MEETINGS_MCP_TOOLS } from "./meetings/mcp-tools.js";
|
|
47
47
|
import { WEARABLES_MCP_TOOLS } from "./wearables/mcp-tools.js";
|
|
48
48
|
import { WHO_KNOWS_MCP_TOOLS } from "./who-knows.js";
|
|
49
|
+
import { PROMOTION_CANDIDATES_MCP_TOOLS } from "./memory-subject.js";
|
|
49
50
|
import { EXTERNAL_WIKI_MCP_TOOLS } from "./external-wiki-mcp-tools.js";
|
|
50
51
|
import { abortError, isAbortError } from "./abort-error.js";
|
|
51
52
|
import { SUPPORT_PASSPORT_MCP_MIGRATED_OPERATIONS, SUPPORT_PASSPORT_MCP_TOOLS } from "./support-passport/mcp-tools.js";
|
|
@@ -156,7 +157,7 @@ function withToolAliases(tool: McpTool, emitLegacyTools = true): McpTool[] {
|
|
|
156
157
|
return emitLegacyTools ? [canonicalTool, tool] : [canonicalTool];
|
|
157
158
|
}
|
|
158
159
|
|
|
159
|
-
const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> = {
|
|
160
|
+
export const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> = {
|
|
160
161
|
"engram.memory_get": "memory_get",
|
|
161
162
|
"engram.memory_search": "memory_search",
|
|
162
163
|
"engram.external_wiki_search": "external_wiki_search",
|
|
@@ -185,9 +186,8 @@ const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> = {
|
|
|
185
186
|
// Fully migrated through the strict-schema boundary (#1668).
|
|
186
187
|
"engram.recall": "recall",
|
|
187
188
|
"engram.recall_explain": "recall_explain",
|
|
188
|
-
"engram.set_coding_context": "set_coding_context",
|
|
189
|
-
"engram.
|
|
190
|
-
"engram.recall_xray": "recall_xray", "engram.who_knows": "who_knows",
|
|
189
|
+
"engram.set_coding_context": "set_coding_context", "engram.recall_tier_explain": "recall_tier_explain",
|
|
190
|
+
"engram.recall_xray": "recall_xray", "engram.who_knows": "who_knows", "engram.promotion_candidates": "promotion_candidates",
|
|
191
191
|
"engram.wearables_status": "wearables_status",
|
|
192
192
|
"engram.wearables_sync": "wearables_sync",
|
|
193
193
|
"engram.transcript_day": "transcript_day",
|
|
@@ -203,7 +203,7 @@ const MCP_MIGRATED_OPERATIONS: Readonly<Record<string, OperationName>> = {
|
|
|
203
203
|
"engram.entity_synthesis_run": "entity_synthesis_run",
|
|
204
204
|
"engram.procedure_mining_run": "procedure_mining_run",
|
|
205
205
|
"engram.pattern_reinforcement_run": "pattern_reinforcement_run",
|
|
206
|
-
"engram.procedural_stats": "procedural_stats",
|
|
206
|
+
"engram.procedural_stats": "procedural_stats", "engram.procedure_library_maintenance": "procedure_library_maintenance",
|
|
207
207
|
"engram.memory_timeline": "memory_timeline",
|
|
208
208
|
"engram.suggestion_submit": "suggestion_submit",
|
|
209
209
|
"engram.entity_get": "entity_get",
|
|
@@ -706,7 +706,7 @@ export class EngramMcpServer {
|
|
|
706
706
|
additionalProperties: false,
|
|
707
707
|
},
|
|
708
708
|
},
|
|
709
|
-
...WEARABLES_MCP_TOOLS, ...MEETINGS_MCP_TOOLS, ...WHO_KNOWS_MCP_TOOLS,
|
|
709
|
+
...WEARABLES_MCP_TOOLS, ...MEETINGS_MCP_TOOLS, ...WHO_KNOWS_MCP_TOOLS, ...PROMOTION_CANDIDATES_MCP_TOOLS,
|
|
710
710
|
...(service.supportPassportEnabled ? SUPPORT_PASSPORT_MCP_TOOLS : []),
|
|
711
711
|
{
|
|
712
712
|
name: "engram.action_confidence",
|
|
@@ -147,6 +147,13 @@ defineOperation({ name: "who_knows", description: "Rank entities by demonstrated
|
|
|
147
147
|
return { result: await ctx.service.whoKnows({ topic, ...(limit !== undefined ? { limit } : {}), namespace: optStr(input.namespace), authenticatedPrincipal: ctx.authenticatedPrincipal }) };
|
|
148
148
|
},
|
|
149
149
|
});
|
|
150
|
+
defineOperation({ name: "promotion_candidates", description: "List agent-subject reuse-signaled promotion candidates (#2372).", schema: strictSchema({ namespace: S.str, targetNamespace: S.str, limit: S.flexNum }),
|
|
151
|
+
handler: async (input, ctx) => {
|
|
152
|
+
let limit: number | undefined;
|
|
153
|
+
if (input.limit !== undefined) { const p = typeof input.limit === "number" ? input.limit : Number(input.limit); if (!Number.isInteger(p) || p < 1 || p > 100) throw new EngramAccessInputError("promotion_candidates: limit expects an integer in [1, 100]"); limit = p; }
|
|
154
|
+
return { result: await ctx.service.promotionCandidates({ ...(limit !== undefined ? { limit } : {}), namespace: optStr(input.namespace), targetNamespace: optStr(input.targetNamespace), authenticatedPrincipal: ctx.authenticatedPrincipal }) };
|
|
155
|
+
},
|
|
156
|
+
});
|
|
150
157
|
defineOperation({ name: "namespace_writable", description: "Read-only preflight: is a namespace writable for the caller's principal?", allowedByOps: ["namespace_writable", "observe", "memory_store"], schema: strictSchema({ namespace: S.str, sessionKey: S.str, op: S.str, cwd: S.str, projectTag: S.str }), handler: async (input, ctx) => {
|
|
151
158
|
const writeOp = parseNamespacePreflightWriteOp(optStr(input.op));
|
|
152
159
|
const namespace = optStr(input.namespace);
|
|
@@ -213,6 +220,7 @@ defineOperation({ name: "entity_synthesis_run", description: "Bulk-drain the ent
|
|
|
213
220
|
defineOperation({ name: "procedure_mining_run", description: "Run procedure mining.", schema: strictSchema({ namespace: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.procedureMiningRun({ namespace: optStr(input.namespace), authenticatedPrincipal: ctx.authenticatedPrincipal }, ctx.authenticatedPrincipal) }) });
|
|
214
221
|
defineOperation({ name: "pattern_reinforcement_run", description: "Run pattern reinforcement.", schema: strictSchema({ namespace: S.str, force: S.bool }), handler: async (input, ctx) => ({ result: await ctx.service.patternReinforcementRun({ namespace: optStr(input.namespace), force: input.force === true, authenticatedPrincipal: ctx.authenticatedPrincipal }, ctx.authenticatedPrincipal) }) });
|
|
215
222
|
defineOperation({ name: "procedural_stats", description: "Procedural stats.", schema: strictSchema({ namespace: S.str }), handler: async (input, ctx) => ({ result: await ctx.service.procedureStats({ namespace: optStr(input.namespace) }, ctx.authenticatedPrincipal) }) });
|
|
223
|
+
defineOperation({ name: "procedure_library_maintenance", description: "Run procedure library maintenance (issue #2370): shadow-first merge / repair-flag / retire from outcome telemetry. apply=true plus procedural.maintenance.enabled required for writes.", schema: strictSchema({ namespace: S.str, apply: S.bool, dryRun: S.bool }), handler: async (input, ctx) => ({ result: await ctx.service.procedureLibraryMaintenance({ namespace: optStr(input.namespace), apply: input.apply === true, dryRun: input.dryRun === true, authenticatedPrincipal: ctx.authenticatedPrincipal }, ctx.authenticatedPrincipal) }) });
|
|
216
224
|
|
|
217
225
|
// === MEMORY/ENTITY/OBSERVE/LCM ===
|
|
218
226
|
defineOperation({ name: "memory_timeline", description: "Memory timeline.", schema: strictSchema({ memoryId: S.str, namespace: S.str, limit: S.num }), handler: async (input, ctx) => ({ result: await ctx.service.memoryTimeline(optStr(input.memoryId) ?? "", optStr(input.namespace), optNum(input.limit) ?? 200, ctx.authenticatedPrincipal) }) });
|
package/src/access-service.ts
CHANGED
|
@@ -201,6 +201,10 @@ import type {
|
|
|
201
201
|
RecallInvocationOptions,
|
|
202
202
|
} from "./orchestrator.js";
|
|
203
203
|
import { type ProcedureStatsReport, computeProcedureStats } from "./procedural/procedure-stats.js";
|
|
204
|
+
import {
|
|
205
|
+
runProcedureLibraryMaintenance,
|
|
206
|
+
type ProcedureLibraryMaintenanceReport,
|
|
207
|
+
} from "./procedural/library-maintenance.js";
|
|
204
208
|
import type { RecallContextComposition } from "./recall-context-composition.js";
|
|
205
209
|
import type { LastRecallSnapshot } from "./recall-state.js";
|
|
206
210
|
import {
|
|
@@ -305,6 +309,7 @@ import { toRecallExplainJson } from "./recall-explain-renderer.js";
|
|
|
305
309
|
import { type TagMatchMode, applyTagFilter, normalizeTags, parseTagMatch } from "./recall-tag-filter.js";
|
|
306
310
|
import { type RecallXraySnapshot, estimateRecallTokens } from "./recall-xray.js";
|
|
307
311
|
import { computeWhoKnows, loadWhoKnowsEntities, validateWhoKnowsInput, WHO_KNOWS_DEFAULT_LIMIT, type WhoKnowsResult } from "./who-knows.js";
|
|
312
|
+
import { computePromotionCandidates, type PromotionCandidatesResult } from "./memory-subject.js";
|
|
308
313
|
import { SupportPassportAccessServiceBase } from "./support-passport/access-service-base.js";
|
|
309
314
|
import {
|
|
310
315
|
type ExportCapsuleOptions,
|
|
@@ -2738,6 +2743,41 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
2738
2743
|
]);
|
|
2739
2744
|
return computeWhoKnows({ topic, limit, memories, entities });
|
|
2740
2745
|
}
|
|
2746
|
+
/**
|
|
2747
|
+
* Read-only promotion-candidate surfacing (issue #2372): agent-subject,
|
|
2748
|
+
* active, reuse-signaled memories in the caller's namespace with no
|
|
2749
|
+
* equivalent in the target layer. No auto-promotion — callers use the
|
|
2750
|
+
* existing promotion commands.
|
|
2751
|
+
*/
|
|
2752
|
+
async promotionCandidates(request: {
|
|
2753
|
+
namespace?: string;
|
|
2754
|
+
targetNamespace?: string;
|
|
2755
|
+
limit?: number;
|
|
2756
|
+
authenticatedPrincipal?: string;
|
|
2757
|
+
}): Promise<PromotionCandidatesResult> {
|
|
2758
|
+
const limit = request.limit ?? 20;
|
|
2759
|
+
if (!Number.isInteger(limit) || limit < 1 || limit > 100) {
|
|
2760
|
+
throw new EngramAccessInputError(
|
|
2761
|
+
`promotion_candidates: limit expects an integer in [1, 100] (got ${String(request.limit)})`,
|
|
2762
|
+
);
|
|
2763
|
+
}
|
|
2764
|
+
const resolvedNamespace = this.resolveReadableNamespace(request.namespace, request.authenticatedPrincipal);
|
|
2765
|
+
const resolvedTarget = this.resolveReadableNamespace(
|
|
2766
|
+
request.targetNamespace ?? this.orchestrator.config.sharedNamespace,
|
|
2767
|
+
request.authenticatedPrincipal,
|
|
2768
|
+
);
|
|
2769
|
+
const minAccessCount = this.orchestrator.config.promotionCandidates.minAccessCount;
|
|
2770
|
+
const [memories, targetMemories] = await Promise.all([
|
|
2771
|
+
(await this.orchestrator.getStorage(resolvedNamespace)).readAllMemories(),
|
|
2772
|
+
(await this.orchestrator.getStorage(resolvedTarget)).readAllMemories(),
|
|
2773
|
+
]);
|
|
2774
|
+
return {
|
|
2775
|
+
namespace: resolvedNamespace,
|
|
2776
|
+
targetNamespace: resolvedTarget,
|
|
2777
|
+
minAccessCount,
|
|
2778
|
+
candidates: computePromotionCandidates({ memories, targetMemories, minAccessCount, limit }),
|
|
2779
|
+
};
|
|
2780
|
+
}
|
|
2741
2781
|
async memoryStore(
|
|
2742
2782
|
request: EngramAccessMemoryStoreRequest,
|
|
2743
2783
|
hooks?: { enforceWriteQuota?: () => void | Promise<void> }
|
|
@@ -3580,6 +3620,51 @@ export class EngramAccessService extends SupportPassportAccessServiceBase {
|
|
|
3580
3620
|
return { namespace: resolvedNamespace, ...report };
|
|
3581
3621
|
}
|
|
3582
3622
|
|
|
3623
|
+
/**
|
|
3624
|
+
* Procedure library health maintenance (issue #2370). Shadow-first: the
|
|
3625
|
+
* gate is checked BEFORE any storage read, so `maintenance.enabled=false`
|
|
3626
|
+
* returns `{ enabled: false }` having touched nothing but config. Apply
|
|
3627
|
+
* mode additionally requires `apply: true`; `dryRun: true` forces shadow.
|
|
3628
|
+
*
|
|
3629
|
+
* The authenticated principal (never a client-supplied actor) drives the
|
|
3630
|
+
* namespace via the same writable resolver `procedureMiningRun` uses, so
|
|
3631
|
+
* cross-tenant writes are impossible.
|
|
3632
|
+
*/
|
|
3633
|
+
async procedureLibraryMaintenance(
|
|
3634
|
+
request: {
|
|
3635
|
+
namespace?: string;
|
|
3636
|
+
apply?: boolean;
|
|
3637
|
+
dryRun?: boolean;
|
|
3638
|
+
authenticatedPrincipal?: string;
|
|
3639
|
+
},
|
|
3640
|
+
principal?: string
|
|
3641
|
+
): Promise<
|
|
3642
|
+
| { enabled: false }
|
|
3643
|
+
| {
|
|
3644
|
+
enabled: true;
|
|
3645
|
+
namespace: string;
|
|
3646
|
+
report: ProcedureLibraryMaintenanceReport;
|
|
3647
|
+
}
|
|
3648
|
+
> {
|
|
3649
|
+
const procedural = this.orchestrator.config.procedural;
|
|
3650
|
+
if (procedural?.enabled !== true || procedural.maintenance?.enabled !== true) {
|
|
3651
|
+
return { enabled: false };
|
|
3652
|
+
}
|
|
3653
|
+
const resolvedNamespace = this.writableNamespaceFor(
|
|
3654
|
+
request.namespace,
|
|
3655
|
+
undefined,
|
|
3656
|
+
request.authenticatedPrincipal ?? principal
|
|
3657
|
+
);
|
|
3658
|
+
const storage = await this.orchestrator.getStorage(resolvedNamespace);
|
|
3659
|
+
const report = await runProcedureLibraryMaintenance({
|
|
3660
|
+
memoryDir: storage.dir,
|
|
3661
|
+
storage,
|
|
3662
|
+
config: this.orchestrator.config,
|
|
3663
|
+
apply: request.apply === true && request.dryRun !== true,
|
|
3664
|
+
});
|
|
3665
|
+
return { enabled: true, namespace: resolvedNamespace, report };
|
|
3666
|
+
}
|
|
3667
|
+
|
|
3583
3668
|
async memorySummarizeHourly(): Promise<{
|
|
3584
3669
|
ok: true;
|
|
3585
3670
|
message: string;
|
|
@@ -57,6 +57,7 @@ export const MCP_TOOLS: readonly McpToolEntry[] = [
|
|
|
57
57
|
{ tool: "recall_tier_explain", operation: "recall_tier_explain" },
|
|
58
58
|
{ tool: "recall_xray", operation: "recall_xray" },
|
|
59
59
|
{ tool: "who_knows", operation: "who_knows" },
|
|
60
|
+
{ tool: "promotion_candidates", operation: "promotion_candidates" },
|
|
60
61
|
{ tool: "wearables_status", operation: "wearables_status" },
|
|
61
62
|
{ tool: "wearables_sync", operation: "wearables_sync" },
|
|
62
63
|
{ tool: "transcript_day", operation: "transcript_day" },
|
|
@@ -76,6 +77,7 @@ export const MCP_TOOLS: readonly McpToolEntry[] = [
|
|
|
76
77
|
{ tool: "procedure_mining_run", operation: "procedure_mining_run" },
|
|
77
78
|
{ tool: "pattern_reinforcement_run", operation: "pattern_reinforcement_run" },
|
|
78
79
|
{ tool: "procedural_stats", operation: "procedural_stats" },
|
|
80
|
+
{ tool: "procedure_library_maintenance", operation: "procedure_library_maintenance" },
|
|
79
81
|
{ tool: "memory_get", operation: "memory_get" },
|
|
80
82
|
{ tool: "memory_timeline", operation: "memory_timeline" },
|
|
81
83
|
{ tool: "memory_store", operation: "memory_store" },
|
package/src/config.ts
CHANGED
|
@@ -37,10 +37,12 @@ import { expandTildePath } from "./utils/path.js";
|
|
|
37
37
|
// lives in connectors/coerce.ts (a tiny, dependency-free module) so neither
|
|
38
38
|
// config.ts → connectors/index.ts nor the reverse circular import arises.
|
|
39
39
|
import { coerceBool, coerceBooleanLike, coerceInstallExtension, coerceNumber } from "./connectors/coerce.js";
|
|
40
|
+
import { parseSubjectRuntimeConfig } from "./subject-config.js";
|
|
40
41
|
import { parseRecallConcurrencyConfig } from "./recall-concurrency-config.js";
|
|
41
42
|
import { parseExtractionLivenessConfig } from "./extraction-liveness.js";
|
|
42
43
|
import { parseReplicaPeersConfig } from "./replica-peers-config.js";
|
|
43
44
|
import { parseDependencyPropagationConfig } from "./dependency-propagation-config.js";
|
|
45
|
+
import { parseProceduralMaintenanceConfig } from "./procedural/maintenance-config.js";
|
|
44
46
|
import {
|
|
45
47
|
parseContradictionLocalizationConfig,
|
|
46
48
|
parseContradictionScanConfig,
|
|
@@ -1123,16 +1125,9 @@ export function parseConfig(
|
|
|
1123
1125
|
recallMaxCoerced !== undefined && Number.isFinite(recallMaxCoerced)
|
|
1124
1126
|
? Math.min(10, Math.max(1, Math.floor(recallMaxCoerced)))
|
|
1125
1127
|
: 2;
|
|
1126
|
-
|
|
1127
|
-
//
|
|
1128
|
-
//
|
|
1129
|
-
// the feature off. CLAUDE.md rules:
|
|
1130
|
-
// - #30 — escape hatch remains for operators who want to stay opt-out.
|
|
1131
|
-
// - #36 — "false"-ish strings coerce to false via coerceBool.
|
|
1132
|
-
// - #51 — when the key IS present but the value can't be understood
|
|
1133
|
-
// (typo like `"fales"` or a number like `0`), reject loudly instead
|
|
1134
|
-
// of silently flipping the default. Silent fallback on bad input is
|
|
1135
|
-
// how procedural memory would end up "fail-open" for typos.
|
|
1128
|
+
const maintenance = parseProceduralMaintenanceConfig(rawProcedural.maintenance);
|
|
1129
|
+
// Default-on procedural memory (issue #567 PR 4/5). Explicit false-ish
|
|
1130
|
+
// values stay off. Unknown values throw.
|
|
1136
1131
|
const rawEnabledValue = rawProcedural.enabled;
|
|
1137
1132
|
let proceduralEnabled: boolean;
|
|
1138
1133
|
if (rawEnabledValue === undefined) {
|
|
@@ -1147,6 +1142,7 @@ export function parseConfig(
|
|
|
1147
1142
|
proceduralEnabled = enabledCoerced;
|
|
1148
1143
|
}
|
|
1149
1144
|
const procedural: ProceduralConfig = {
|
|
1145
|
+
maintenance,
|
|
1150
1146
|
enabled: proceduralEnabled,
|
|
1151
1147
|
/** `0` skips all mining (`minOccurrences_zero`); otherwise clusters need at least this many members. */
|
|
1152
1148
|
minOccurrences: Math.min(1000, Math.max(0, proceduralMinRaw)),
|
|
@@ -2755,11 +2751,11 @@ export function parseConfig(
|
|
|
2755
2751
|
}
|
|
2756
2752
|
return "low";
|
|
2757
2753
|
})(),
|
|
2758
|
-
// Extraction scope classification
|
|
2759
|
-
//
|
|
2760
|
-
// facts are promoted to the shared namespace. Default true (rule 30 gate).
|
|
2754
|
+
// Extraction scope classification (rule 30 gate): "global" facts promote
|
|
2755
|
+
// to the shared namespace. Default true.
|
|
2761
2756
|
extractionScopeClassificationEnabled:
|
|
2762
2757
|
coerceBool(cfg.extractionScopeClassificationEnabled) !== false,
|
|
2758
|
+
...parseSubjectRuntimeConfig(cfg),
|
|
2763
2759
|
// Extraction judge (issue #376). Opt-in LLM-as-judge fact-worthiness gate.
|
|
2764
2760
|
extractionJudgeEnabled: cfg.extractionJudgeEnabled === true,
|
|
2765
2761
|
extractionJudgeModel:
|
|
@@ -2778,10 +2774,7 @@ export function parseConfig(
|
|
|
2778
2774
|
? Math.floor(cfg.extractionJudgeMaxDeferrals)
|
|
2779
2775
|
: 2,
|
|
2780
2776
|
// Judge telemetry (issue #562 PR 3): opt-in structured emit to the
|
|
2781
|
-
// observation ledger
|
|
2782
|
-
// Uses `coerceBool` so CLI-style string inputs (`"true"`, `"false"`,
|
|
2783
|
-
// `"1"`, `"0"`) are accepted consistently with the rest of the
|
|
2784
|
-
// codebase (CLAUDE.md gotcha 36).
|
|
2777
|
+
// observation ledger; `coerceBool` accepts CLI-style strings (gotcha 36).
|
|
2785
2778
|
extractionJudgeTelemetryEnabled:
|
|
2786
2779
|
coerceBool(cfg.extractionJudgeTelemetryEnabled) === true,
|
|
2787
2780
|
// Judge training-pair collection (issue #562 PR 4): opt-in shim for a
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
corpusDominantLanguage,
|
|
6
|
+
detectLanguageHint,
|
|
7
|
+
planCrossScript,
|
|
8
|
+
} from "./cross-lingual-recall.js";
|
|
9
|
+
|
|
10
|
+
test("detectLanguageHint distinguishes Latin and Japanese", () => {
|
|
11
|
+
assert.equal(detectLanguageHint("what did we decide about the deployment?"), "latn");
|
|
12
|
+
assert.equal(detectLanguageHint("これはテストです"), "jpan");
|
|
13
|
+
assert.equal(detectLanguageHint("デプロイは金曜に延期と決定"), "jpan");
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test("legacy memories without a language hint do not vote", () => {
|
|
17
|
+
assert.equal(corpusDominantLanguage([undefined, undefined, "jpan", "jpan", "latn"]), "jpan");
|
|
18
|
+
assert.equal(corpusDominantLanguage([undefined, undefined]), undefined);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
test("cross-script plan leans on vector and signals when embeddings are missing", () => {
|
|
22
|
+
const withVector = planCrossScript({
|
|
23
|
+
queryLanguage: "latn",
|
|
24
|
+
corpusLanguage: "jpan",
|
|
25
|
+
vectorTierAvailable: true,
|
|
26
|
+
});
|
|
27
|
+
assert.equal(withVector.crossScript, true);
|
|
28
|
+
assert.equal(withVector.degradation, undefined);
|
|
29
|
+
|
|
30
|
+
const withoutVector = planCrossScript({
|
|
31
|
+
queryLanguage: "latn",
|
|
32
|
+
corpusLanguage: "jpan",
|
|
33
|
+
vectorTierAvailable: false,
|
|
34
|
+
});
|
|
35
|
+
assert.equal(withoutVector.crossScript, true);
|
|
36
|
+
assert.equal(withoutVector.degradation?.code, "vector_tier_unavailable");
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
test("same-script query does not degrade", () => {
|
|
40
|
+
const plan = planCrossScript({
|
|
41
|
+
queryLanguage: "latn",
|
|
42
|
+
corpusLanguage: "latn",
|
|
43
|
+
vectorTierAvailable: false,
|
|
44
|
+
});
|
|
45
|
+
assert.equal(plan.crossScript, false);
|
|
46
|
+
assert.equal(plan.degradation, undefined);
|
|
47
|
+
});
|