@remnic/core 9.54.8 → 9.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-admin-ops-surface.d.ts +11 -11
- package/dist/access-admin-ops-surface.js +44 -43
- package/dist/access-authorization-probe.d.ts +11 -11
- package/dist/access-authorization-probe.js +45 -44
- package/dist/access-boundary.d.ts +11 -11
- package/dist/access-boundary.js +44 -43
- package/dist/access-cli.js +114 -112
- 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 +44 -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 +11 -11
- package/dist/access-http-offline-stream.d.ts +11 -11
- package/dist/access-http-query.js +44 -43
- package/dist/access-http.d.ts +12 -12
- package/dist/access-http.js +58 -57
- package/dist/access-identity-continuity-surface.d.ts +9 -9
- package/dist/access-identity-continuity-surface.js +44 -43
- package/dist/access-lcm-surface.d.ts +11 -11
- package/dist/access-lcm-surface.js +44 -43
- package/dist/access-mcp.d.ts +11 -11
- package/dist/access-mcp.js +53 -52
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/access-memory-search-fanout.js +3 -3
- package/dist/{access-namespace-preflight-CCNn_6NE.d.ts → access-namespace-preflight-Bpt-SYP0.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +44 -43
- package/dist/access-observe-write-surface.d.ts +11 -11
- package/dist/access-observe-write-surface.js +44 -43
- package/dist/access-offline-manifest.d.ts +9 -9
- package/dist/access-offline-manifest.js +9 -9
- package/dist/access-operations-batch.js +48 -47
- package/dist/access-operations.d.ts +14 -14
- package/dist/access-operations.js +52 -51
- package/dist/access-recall-concurrency.d.ts +11 -11
- package/dist/access-recall-concurrency.js +44 -43
- package/dist/access-recall-response.d.ts +11 -11
- package/dist/access-recall-response.js +44 -43
- package/dist/access-recall-surface.d.ts +11 -11
- package/dist/access-recall-surface.js +44 -43
- package/dist/access-schema.d.ts +88 -88
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-PEduVt8q.d.ts → access-service-4DO8XMq6.d.ts} +71 -71
- package/dist/access-service-helpers.d.ts +11 -11
- package/dist/access-service.d.ts +11 -11
- package/dist/access-service.js +44 -43
- package/dist/access-surface-catalog.d.ts +11 -11
- package/dist/access-surface-catalog.js +46 -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-memory-bridge.js +3 -3
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +4 -2
- package/dist/active-recall.js.map +1 -1
- package/dist/ambient-provenance.d.ts +1 -1
- package/dist/artifact-search.d.ts +1 -1
- package/dist/{auto-sync-NR3GPCOA.js → auto-sync-5HVRCMGZ.js} +3 -3
- 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 +14 -13
- 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 +6 -5
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +1 -1
- package/dist/capabilities.d.ts +8 -8
- package/dist/capabilities.js +1 -1
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/{catalog-DGFf8mD9.d.ts → catalog-BasnO3Bw.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 +17 -16
- 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-I6WYQSX4.js → chunk-2NKY7OC6.js} +14 -2
- package/dist/chunk-2NKY7OC6.js.map +1 -0
- package/dist/{chunk-E2GZSFR5.js → chunk-2YREVL4T.js} +2 -2
- package/dist/{chunk-PG4QBPVG.js → chunk-3VFVQDZO.js} +8 -4
- package/dist/chunk-3VFVQDZO.js.map +1 -0
- package/dist/{chunk-KM55SMLG.js → chunk-4KM3V6VS.js} +2 -2
- package/dist/{chunk-HAEU3ZW7.js → chunk-4OW2T32G.js} +2 -2
- package/dist/{chunk-PCRHFB75.js → chunk-4QFCAKNM.js} +1 -1
- package/dist/{chunk-OS5DYALF.js → chunk-4THNU7OF.js} +422 -47
- package/dist/chunk-4THNU7OF.js.map +1 -0
- package/dist/{chunk-76JJSXK7.js → chunk-5QHDXMXP.js} +1 -1
- package/dist/chunk-5QHDXMXP.js.map +1 -0
- package/dist/{chunk-OWC42MDT.js → chunk-5ZIWRMZM.js} +2 -2
- package/dist/{chunk-GWFSVJ4P.js → chunk-6KTXE6A3.js} +2 -2
- package/dist/{chunk-5V64M56S.js → chunk-6P2NUVM5.js} +26 -24
- package/dist/chunk-6P2NUVM5.js.map +1 -0
- package/dist/chunk-6Q3ZTEF6.js +54 -0
- package/dist/chunk-6Q3ZTEF6.js.map +1 -0
- package/dist/{chunk-P2FA65P2.js → chunk-7NSC4IVA.js} +2 -2
- package/dist/{chunk-QC6BILS7.js → chunk-7PKNOXYB.js} +11 -11
- package/dist/{chunk-AHVEHR6K.js → chunk-7ZNJN5WZ.js} +13 -1
- package/dist/chunk-7ZNJN5WZ.js.map +1 -0
- package/dist/{chunk-RZRUV6N2.js → chunk-ANMIOQPU.js} +2 -2
- package/dist/{chunk-RPSYDM6C.js → chunk-BPWZDHFM.js} +2 -2
- package/dist/{chunk-JKW663ZN.js → chunk-BVRREV3N.js} +2 -2
- package/dist/{chunk-XXRRHING.js → chunk-BWJMBJCY.js} +24 -15
- package/dist/chunk-BWJMBJCY.js.map +1 -0
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-ELXP665P.js → chunk-CKSEJD7K.js} +2 -2
- package/dist/{chunk-4GE3NA5I.js → chunk-CME347TM.js} +2 -2
- package/dist/{chunk-BGLY7EEM.js → chunk-CMRUIKVA.js} +3 -3
- package/dist/{chunk-HGJ6NJ4E.js → chunk-D4LVHPOA.js} +2 -2
- package/dist/{chunk-YK6BDDHP.js → chunk-DFEODULB.js} +2 -2
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-XWZ6KOL6.js → chunk-E57E5SCS.js} +2 -2
- package/dist/{chunk-M23RF3LJ.js → chunk-ER4BLWI6.js} +2 -2
- package/dist/{chunk-47J4EDGR.js → chunk-F7M36OG2.js} +3 -3
- package/dist/{chunk-MTF5EFFF.js → chunk-FK7T55BA.js} +60 -41
- package/dist/{chunk-MTF5EFFF.js.map → chunk-FK7T55BA.js.map} +1 -1
- package/dist/{chunk-ZUJW327U.js → chunk-FONW766A.js} +2 -2
- package/dist/{chunk-FEBHRT2I.js → chunk-FR3FNPCJ.js} +3 -3
- package/dist/{chunk-G6DFSS6A.js → chunk-GUNIXT36.js} +2 -2
- package/dist/{chunk-K2UGPTYY.js → chunk-H6ZXNH5I.js} +2 -2
- package/dist/{chunk-Z463UYI6.js → chunk-HC55YCNK.js} +2 -2
- package/dist/{chunk-IEQCHXUS.js → chunk-HQ2VGCGP.js} +14 -14
- package/dist/{chunk-ZXGKQQ3L.js → chunk-HXXGZ4KV.js} +1 -1
- package/dist/{chunk-YZFPEHXF.js → chunk-HYVBJLEK.js} +5 -5
- package/dist/{chunk-FPKKFDO4.js → chunk-IFFW25NG.js} +246 -118
- package/dist/chunk-IFFW25NG.js.map +1 -0
- package/dist/{chunk-3GD2HFR6.js → chunk-IGWVMA4Y.js} +2 -2
- package/dist/{chunk-FONWBCVY.js → chunk-IKT6ZVO7.js} +3 -3
- package/dist/{chunk-KMWYZTIE.js → chunk-ION47U3Z.js} +3 -3
- package/dist/{chunk-OCIP6YMD.js → chunk-IXGQP4RZ.js} +3 -3
- package/dist/{chunk-FYZKFLKY.js → chunk-JFPZEWY3.js} +3 -3
- package/dist/{chunk-SMNYAMJD.js → chunk-JKL53MOY.js} +4 -4
- package/dist/{chunk-2T5AWWMF.js → chunk-JOA4Q765.js} +3 -3
- package/dist/{chunk-2XRE6FLM.js → chunk-JUOZ62Y7.js} +3 -1
- package/dist/chunk-JUOZ62Y7.js.map +1 -0
- package/dist/{chunk-MLPTFODV.js → chunk-KHQ57QLJ.js} +4 -4
- package/dist/{chunk-NSVDUN76.js → chunk-LCU5R6TQ.js} +8 -3
- package/dist/chunk-LCU5R6TQ.js.map +1 -0
- package/dist/{chunk-OTUFRUV3.js → chunk-LYPG7GOO.js} +4 -4
- package/dist/{chunk-OTUFRUV3.js.map → chunk-LYPG7GOO.js.map} +1 -1
- package/dist/{chunk-KRTY3ENI.js → chunk-MDVBCPOS.js} +2 -2
- package/dist/{chunk-M3UYE6PS.js → chunk-N655QIA2.js} +4 -4
- package/dist/{chunk-5NB726GV.js → chunk-NFQB6RJT.js} +3 -3
- package/dist/{chunk-OIOV4RJE.js → chunk-NP7FLVZW.js} +2 -2
- package/dist/{chunk-CX5SW2EW.js → chunk-NRFU5MVH.js} +4 -4
- package/dist/{chunk-QDWDVNWU.js → chunk-O4TTIMOP.js} +2 -2
- package/dist/{chunk-XCO2NXPZ.js → chunk-O54B5YNM.js} +3 -3
- package/dist/{chunk-UQWUDD7E.js → chunk-ONCWJBWV.js} +3 -3
- package/dist/{chunk-Z3SQEEB6.js → chunk-PD66CVSD.js} +2 -2
- package/dist/{chunk-QYN5PXDZ.js → chunk-PPUTUOC3.js} +2 -2
- package/dist/{chunk-TPWBUKS3.js → chunk-PSH3VFZ7.js} +4 -4
- package/dist/{chunk-MK5VEWCR.js → chunk-QKPDN325.js} +2 -2
- package/dist/{chunk-EVWWT3KE.js → chunk-QP2IZTUR.js} +2 -2
- package/dist/{chunk-4ESX4WX2.js → chunk-QSDPVZPD.js} +5 -5
- package/dist/{chunk-LHIBA4G7.js → chunk-QV7OEHFN.js} +2 -2
- package/dist/{chunk-3DVG3GRQ.js → chunk-QZR3WT3L.js} +2 -2
- package/dist/{chunk-EEAMSNSG.js → chunk-R7TZ2HCS.js} +2 -2
- package/dist/{chunk-IOYXIY7W.js → chunk-R7UHWPYI.js} +2 -2
- package/dist/{chunk-L6Z5OAS4.js → chunk-RL3EGL7A.js} +2 -2
- package/dist/{chunk-7SF5BAWF.js → chunk-S6AH7WSF.js} +3 -3
- package/dist/{chunk-QGKCM7C4.js → chunk-SFCJCMZQ.js} +5 -5
- package/dist/{chunk-K44N3CFW.js → chunk-T3HC7RJ7.js} +2 -2
- package/dist/chunk-T3JQTCCO.js +94 -0
- package/dist/chunk-T3JQTCCO.js.map +1 -0
- package/dist/{chunk-6PCND4O2.js → chunk-T6EQPZ6E.js} +4 -4
- package/dist/{chunk-G7YUH4WT.js → chunk-TAMY4NKO.js} +2 -2
- package/dist/{chunk-XDBFSUHX.js → chunk-TAPFJ3ET.js} +2 -2
- package/dist/{chunk-MANCJV6J.js → chunk-TF3LMM5E.js} +2 -2
- package/dist/{chunk-2GD6MLXD.js → chunk-TFXYQNBH.js} +12 -12
- package/dist/{chunk-7DISPKXT.js → chunk-THACANBI.js} +4 -4
- package/dist/{chunk-6G4D222J.js → chunk-TLVLJSWS.js} +2 -2
- package/dist/{chunk-6QPI2ITJ.js → chunk-TVKWT2CY.js} +4 -4
- package/dist/{chunk-H7NAZ3UB.js → chunk-U7BMN33M.js} +2 -2
- package/dist/{chunk-BXIMH7MC.js → chunk-UTDMY476.js} +49 -5
- package/dist/chunk-UTDMY476.js.map +1 -0
- package/dist/{chunk-6LKEUCEM.js → chunk-UXREWVW4.js} +2 -2
- package/dist/{chunk-SUPEYLH2.js → chunk-UYCIS6V5.js} +2 -2
- package/dist/{chunk-F2BOUJUS.js → chunk-V3IT3XNG.js} +9 -9
- package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-NUA4VM46.js → chunk-VWP5DEHU.js} +2 -2
- package/dist/{chunk-NQMSEB5D.js → chunk-X5OIPQME.js} +2 -2
- package/dist/{chunk-RBII7637.js → chunk-XRPPHIRI.js} +2 -2
- package/dist/{chunk-OLT3YTDH.js → chunk-YMOPYG3K.js} +4 -4
- package/dist/{cli-DNvGlD4i.d.ts → cli-CQdYilcx.d.ts} +61 -11
- package/dist/cli.d.ts +18 -18
- package/dist/cli.js +84 -80
- 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 +16 -15
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config-security.d.ts +7 -0
- package/dist/config-security.js +12 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.js +4 -2
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +14 -13
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +15 -14
- 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 +4 -4
- package/dist/{contradiction-scan-JDTBXRGW.js → contradiction-scan-522AYLQC.js} +3 -3
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +16 -15
- 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 +16 -15
- package/dist/day-summary.d.ts +1 -1
- package/dist/day-summary.js +2 -2
- package/dist/delinearize.d.ts +1 -1
- package/dist/dependency-propagation-config.d.ts +1 -1
- package/dist/{dependency-propagation-delivery-CzEfB31P.d.ts → dependency-propagation-delivery-C_K_AHcv.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/embedding-fallback.js +2 -2
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +4 -2
- package/dist/entity-retrieval.js +15 -13
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +9 -9
- package/dist/explicit-capture.js +6 -6
- package/dist/external-wiki-access.d.ts +11 -11
- package/dist/external-wiki-access.js +45 -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-liveness.d.ts +1 -1
- package/dist/extraction-normalization.d.ts +1 -1
- package/dist/extraction-normalization.js +3 -3
- package/dist/extraction-prompt.d.ts +1 -1
- package/dist/extraction-prompt.js +2 -2
- 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 +25 -24
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/{first-start-migration-CRZCZAJN.js → first-start-migration-HZ4VPRFQ.js} +2 -2
- package/dist/{forget-EHGGJZLX.js → forget-5TWK7CZT.js} +3 -3
- 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-JI2XDCTY.js → graph-edge-decay-ZXGBXNPW.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 +2 -2
- 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 +755 -706
- package/dist/index.js +158 -133
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +3 -3
- 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 +14 -13
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +14 -13
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +15 -14
- package/dist/{maintenance-laHYTo0s.d.ts → maintenance-DdP931i9.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +11 -11
- 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-worth-outcomes.d.ts +2 -2
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +3 -3
- package/dist/namespaces/migrate.js +15 -14
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/principal.js +2 -2
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +4 -4
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +14 -13
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/offline-sync-impression-drain.js +5 -5
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +17 -16
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +29 -27
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/compression-guideline-coordinator.js +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +22 -21
- package/dist/{orchestrator-Cz2QmqsN.d.ts → orchestrator-DxUWX7gs.d.ts} +26 -20
- package/dist/orchestrator.d.ts +9 -9
- package/dist/orchestrator.js +114 -112
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-DPcUifCO.d.ts → pipeline-BKUMU1vU.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-Dq2iqtcI.d.ts → public-http-Dw0bJhcC.d.ts} +1 -1
- package/dist/{qmd-dFCHp1r0.d.ts → qmd-DJP-GLFe.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/recall-concurrency-config.d.ts +1 -1
- package/dist/recall-context-composition.d.ts +11 -1
- package/dist/recall-context-composition.js +4 -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-MMOD5WC4.js → resolution-DKMBPXHI.js} +3 -3
- package/dist/resolution-DKMBPXHI.js.map +1 -0
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +5 -3
- 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 +2 -2
- package/dist/schemas.d.ts +138 -138
- package/dist/{scope-profiles-DICK7GtN.d.ts → scope-profiles-CaKcnB-6.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/embed-helper.js +2 -2
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +3 -3
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +3 -3
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-BP7NAX0N.d.ts → semantic-consolidation-P0eMWqh-.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +15 -14
- package/dist/semantic-rule-promotion.js +14 -13
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +14 -13
- package/dist/{service-D_ddZmpI.d.ts → service-D5GQLxq_.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 +9 -9
- package/dist/shared-context/manager.js +2 -2
- package/dist/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +20 -19
- package/dist/{storage-Cdz7jb9t.d.ts → storage-DIyil2ll.d.ts} +5 -2
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +13 -12
- 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 +47 -46
- package/dist/temporal-supersession.d.ts +2 -2
- package/dist/temporal-timeline-recall.d.ts +3 -1
- package/dist/temporal-timeline-recall.js +3 -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/{tier-stats-EXYSKSVN.js → tier-stats-7E6OBUSD.js} +2 -2
- 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-ed-SvS2t.d.ts → types-CbXieHKr.d.ts} +15 -3
- 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 +14 -13
- package/dist/write-envelope.d.ts +5 -2
- package/dist/write-envelope.js +1 -1
- package/package.json +2 -2
- package/src/bitemporal-frontmatter.test.ts +20 -1
- package/src/capabilities.test.ts +2 -0
- package/src/capabilities.ts +17 -17
- package/src/cli.ts +14 -0
- package/src/config-security.ts +131 -0
- package/src/config.test.ts +61 -0
- package/src/config.ts +2 -1
- package/src/entity-retrieval.ts +31 -24
- package/src/index.ts +4 -6
- package/src/orchestration/conversation-index-coordinator.ts +13 -2
- package/src/orchestration/extraction-injection-gate.ts +154 -0
- package/src/orchestration/extraction-origin-context.ts +90 -0
- package/src/orchestration/extraction-persist.ts +66 -64
- package/src/orchestration/extraction-run.ts +4 -2
- package/src/orchestration/extraction-security.test.ts +271 -0
- package/src/orchestration/graph-recall-coordinator.ts +2 -0
- package/src/orchestration/namespace-read-fanout.ts +1 -0
- package/src/orchestration/qmd-result-resolver.ts +1 -0
- package/src/orchestration/recall-internal.ts +17 -11
- package/src/orchestration/recall-result-formatter.ts +35 -6
- package/src/orchestration/recall-search-pipeline.ts +3 -5
- package/src/orchestration/recall-search-prefilter.ts +1 -0
- package/src/orchestrator.ts +2 -1
- package/src/procedural/procedure-recall.ts +11 -1
- package/src/recall-authority-fence.test.ts +180 -0
- package/src/recall-context-composition.ts +28 -0
- package/src/security/audit-memory-cli.ts +42 -0
- package/src/security/audit-memory.test.ts +252 -0
- package/src/security/audit-memory.ts +318 -0
- package/src/security/injection-screen.test.ts +77 -0
- package/src/security/injection-screen.ts +158 -0
- package/src/security/origin-authority.test.ts +61 -0
- package/src/security/origin-authority.ts +88 -0
- package/src/security/types.ts +14 -0
- package/src/semantic-rule-promotion.ts +1 -1
- package/src/storage.ts +10 -2
- package/src/temporal-timeline-recall.test.ts +18 -0
- package/src/temporal-timeline-recall.ts +12 -1
- package/src/types.ts +4 -4
- package/src/write-envelope.test.ts +1 -0
- package/src/write-envelope.ts +9 -0
- package/dist/chunk-2XRE6FLM.js.map +0 -1
- package/dist/chunk-5V64M56S.js.map +0 -1
- package/dist/chunk-76JJSXK7.js.map +0 -1
- package/dist/chunk-AHVEHR6K.js.map +0 -1
- package/dist/chunk-BXIMH7MC.js.map +0 -1
- package/dist/chunk-FPKKFDO4.js.map +0 -1
- package/dist/chunk-I6WYQSX4.js.map +0 -1
- package/dist/chunk-NSVDUN76.js.map +0 -1
- package/dist/chunk-OS5DYALF.js.map +0 -1
- package/dist/chunk-PG4QBPVG.js.map +0 -1
- package/dist/chunk-XXRRHING.js.map +0 -1
- /package/dist/{auto-sync-NR3GPCOA.js.map → auto-sync-5HVRCMGZ.js.map} +0 -0
- /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{chunk-E2GZSFR5.js.map → chunk-2YREVL4T.js.map} +0 -0
- /package/dist/{chunk-KM55SMLG.js.map → chunk-4KM3V6VS.js.map} +0 -0
- /package/dist/{chunk-HAEU3ZW7.js.map → chunk-4OW2T32G.js.map} +0 -0
- /package/dist/{chunk-PCRHFB75.js.map → chunk-4QFCAKNM.js.map} +0 -0
- /package/dist/{chunk-OWC42MDT.js.map → chunk-5ZIWRMZM.js.map} +0 -0
- /package/dist/{chunk-GWFSVJ4P.js.map → chunk-6KTXE6A3.js.map} +0 -0
- /package/dist/{chunk-P2FA65P2.js.map → chunk-7NSC4IVA.js.map} +0 -0
- /package/dist/{chunk-QC6BILS7.js.map → chunk-7PKNOXYB.js.map} +0 -0
- /package/dist/{chunk-RZRUV6N2.js.map → chunk-ANMIOQPU.js.map} +0 -0
- /package/dist/{chunk-RPSYDM6C.js.map → chunk-BPWZDHFM.js.map} +0 -0
- /package/dist/{chunk-JKW663ZN.js.map → chunk-BVRREV3N.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-ELXP665P.js.map → chunk-CKSEJD7K.js.map} +0 -0
- /package/dist/{chunk-4GE3NA5I.js.map → chunk-CME347TM.js.map} +0 -0
- /package/dist/{chunk-BGLY7EEM.js.map → chunk-CMRUIKVA.js.map} +0 -0
- /package/dist/{chunk-HGJ6NJ4E.js.map → chunk-D4LVHPOA.js.map} +0 -0
- /package/dist/{chunk-YK6BDDHP.js.map → chunk-DFEODULB.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-XWZ6KOL6.js.map → chunk-E57E5SCS.js.map} +0 -0
- /package/dist/{chunk-M23RF3LJ.js.map → chunk-ER4BLWI6.js.map} +0 -0
- /package/dist/{chunk-47J4EDGR.js.map → chunk-F7M36OG2.js.map} +0 -0
- /package/dist/{chunk-ZUJW327U.js.map → chunk-FONW766A.js.map} +0 -0
- /package/dist/{chunk-FEBHRT2I.js.map → chunk-FR3FNPCJ.js.map} +0 -0
- /package/dist/{chunk-G6DFSS6A.js.map → chunk-GUNIXT36.js.map} +0 -0
- /package/dist/{chunk-K2UGPTYY.js.map → chunk-H6ZXNH5I.js.map} +0 -0
- /package/dist/{chunk-Z463UYI6.js.map → chunk-HC55YCNK.js.map} +0 -0
- /package/dist/{chunk-IEQCHXUS.js.map → chunk-HQ2VGCGP.js.map} +0 -0
- /package/dist/{chunk-ZXGKQQ3L.js.map → chunk-HXXGZ4KV.js.map} +0 -0
- /package/dist/{chunk-YZFPEHXF.js.map → chunk-HYVBJLEK.js.map} +0 -0
- /package/dist/{chunk-3GD2HFR6.js.map → chunk-IGWVMA4Y.js.map} +0 -0
- /package/dist/{chunk-FONWBCVY.js.map → chunk-IKT6ZVO7.js.map} +0 -0
- /package/dist/{chunk-KMWYZTIE.js.map → chunk-ION47U3Z.js.map} +0 -0
- /package/dist/{chunk-OCIP6YMD.js.map → chunk-IXGQP4RZ.js.map} +0 -0
- /package/dist/{chunk-FYZKFLKY.js.map → chunk-JFPZEWY3.js.map} +0 -0
- /package/dist/{chunk-SMNYAMJD.js.map → chunk-JKL53MOY.js.map} +0 -0
- /package/dist/{chunk-2T5AWWMF.js.map → chunk-JOA4Q765.js.map} +0 -0
- /package/dist/{chunk-MLPTFODV.js.map → chunk-KHQ57QLJ.js.map} +0 -0
- /package/dist/{chunk-KRTY3ENI.js.map → chunk-MDVBCPOS.js.map} +0 -0
- /package/dist/{chunk-M3UYE6PS.js.map → chunk-N655QIA2.js.map} +0 -0
- /package/dist/{chunk-5NB726GV.js.map → chunk-NFQB6RJT.js.map} +0 -0
- /package/dist/{chunk-OIOV4RJE.js.map → chunk-NP7FLVZW.js.map} +0 -0
- /package/dist/{chunk-CX5SW2EW.js.map → chunk-NRFU5MVH.js.map} +0 -0
- /package/dist/{chunk-QDWDVNWU.js.map → chunk-O4TTIMOP.js.map} +0 -0
- /package/dist/{chunk-XCO2NXPZ.js.map → chunk-O54B5YNM.js.map} +0 -0
- /package/dist/{chunk-UQWUDD7E.js.map → chunk-ONCWJBWV.js.map} +0 -0
- /package/dist/{chunk-Z3SQEEB6.js.map → chunk-PD66CVSD.js.map} +0 -0
- /package/dist/{chunk-QYN5PXDZ.js.map → chunk-PPUTUOC3.js.map} +0 -0
- /package/dist/{chunk-TPWBUKS3.js.map → chunk-PSH3VFZ7.js.map} +0 -0
- /package/dist/{chunk-MK5VEWCR.js.map → chunk-QKPDN325.js.map} +0 -0
- /package/dist/{chunk-EVWWT3KE.js.map → chunk-QP2IZTUR.js.map} +0 -0
- /package/dist/{chunk-4ESX4WX2.js.map → chunk-QSDPVZPD.js.map} +0 -0
- /package/dist/{chunk-LHIBA4G7.js.map → chunk-QV7OEHFN.js.map} +0 -0
- /package/dist/{chunk-3DVG3GRQ.js.map → chunk-QZR3WT3L.js.map} +0 -0
- /package/dist/{chunk-EEAMSNSG.js.map → chunk-R7TZ2HCS.js.map} +0 -0
- /package/dist/{chunk-IOYXIY7W.js.map → chunk-R7UHWPYI.js.map} +0 -0
- /package/dist/{chunk-L6Z5OAS4.js.map → chunk-RL3EGL7A.js.map} +0 -0
- /package/dist/{chunk-7SF5BAWF.js.map → chunk-S6AH7WSF.js.map} +0 -0
- /package/dist/{chunk-QGKCM7C4.js.map → chunk-SFCJCMZQ.js.map} +0 -0
- /package/dist/{chunk-K44N3CFW.js.map → chunk-T3HC7RJ7.js.map} +0 -0
- /package/dist/{chunk-6PCND4O2.js.map → chunk-T6EQPZ6E.js.map} +0 -0
- /package/dist/{chunk-G7YUH4WT.js.map → chunk-TAMY4NKO.js.map} +0 -0
- /package/dist/{chunk-XDBFSUHX.js.map → chunk-TAPFJ3ET.js.map} +0 -0
- /package/dist/{chunk-MANCJV6J.js.map → chunk-TF3LMM5E.js.map} +0 -0
- /package/dist/{chunk-2GD6MLXD.js.map → chunk-TFXYQNBH.js.map} +0 -0
- /package/dist/{chunk-7DISPKXT.js.map → chunk-THACANBI.js.map} +0 -0
- /package/dist/{chunk-6G4D222J.js.map → chunk-TLVLJSWS.js.map} +0 -0
- /package/dist/{chunk-6QPI2ITJ.js.map → chunk-TVKWT2CY.js.map} +0 -0
- /package/dist/{chunk-H7NAZ3UB.js.map → chunk-U7BMN33M.js.map} +0 -0
- /package/dist/{chunk-6LKEUCEM.js.map → chunk-UXREWVW4.js.map} +0 -0
- /package/dist/{chunk-SUPEYLH2.js.map → chunk-UYCIS6V5.js.map} +0 -0
- /package/dist/{chunk-F2BOUJUS.js.map → chunk-V3IT3XNG.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-NUA4VM46.js.map → chunk-VWP5DEHU.js.map} +0 -0
- /package/dist/{chunk-NQMSEB5D.js.map → chunk-X5OIPQME.js.map} +0 -0
- /package/dist/{chunk-RBII7637.js.map → chunk-XRPPHIRI.js.map} +0 -0
- /package/dist/{chunk-OLT3YTDH.js.map → chunk-YMOPYG3K.js.map} +0 -0
- /package/dist/{contradiction-scan-JDTBXRGW.js.map → config-security.js.map} +0 -0
- /package/dist/{graph-edge-decay-JI2XDCTY.js.map → contradiction-scan-522AYLQC.js.map} +0 -0
- /package/dist/{first-start-migration-CRZCZAJN.js.map → first-start-migration-HZ4VPRFQ.js.map} +0 -0
- /package/dist/{forget-EHGGJZLX.js.map → forget-5TWK7CZT.js.map} +0 -0
- /package/dist/{resolution-MMOD5WC4.js.map → graph-edge-decay-ZXGBXNPW.js.map} +0 -0
- /package/dist/{tier-stats-EXYSKSVN.js.map → tier-stats-7E6OBUSD.js.map} +0 -0
|
@@ -7,6 +7,9 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
openclawReplayNormalizer
|
|
9
9
|
} from "./chunk-H4CKS5B2.js";
|
|
10
|
+
import {
|
|
11
|
+
importMarkdownBundle
|
|
12
|
+
} from "./chunk-HDDRVXX4.js";
|
|
10
13
|
import {
|
|
11
14
|
importSqlite
|
|
12
15
|
} from "./chunk-PYHOAXTI.js";
|
|
@@ -16,9 +19,6 @@ import {
|
|
|
16
19
|
import {
|
|
17
20
|
exportSqlite
|
|
18
21
|
} from "./chunk-BV2TIZ4F.js";
|
|
19
|
-
import {
|
|
20
|
-
importMarkdownBundle
|
|
21
|
-
} from "./chunk-HDDRVXX4.js";
|
|
22
22
|
import {
|
|
23
23
|
detectImportFormat
|
|
24
24
|
} from "./chunk-OZKVVUJB.js";
|
|
@@ -27,13 +27,16 @@ import {
|
|
|
27
27
|
} from "./chunk-2DL3OFLD.js";
|
|
28
28
|
import {
|
|
29
29
|
backupMemoryDir
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-BXLOS5AJ.js";
|
|
31
31
|
import {
|
|
32
32
|
exportMarkdownBundle
|
|
33
33
|
} from "./chunk-765K3SAT.js";
|
|
34
34
|
import {
|
|
35
35
|
RoutingRulesStore
|
|
36
36
|
} from "./chunk-XL24QQ63.js";
|
|
37
|
+
import {
|
|
38
|
+
WebDavServer
|
|
39
|
+
} from "./chunk-PYIFUBRK.js";
|
|
37
40
|
import {
|
|
38
41
|
buildReplayNormalizerRegistry,
|
|
39
42
|
clampBatchSize,
|
|
@@ -43,36 +46,33 @@ import {
|
|
|
43
46
|
isReplaySource,
|
|
44
47
|
normalizeReplaySessionKey
|
|
45
48
|
} from "./chunk-AJVLDJU6.js";
|
|
49
|
+
import {
|
|
50
|
+
rebuildObservations
|
|
51
|
+
} from "./chunk-DQTCGVFK.js";
|
|
46
52
|
import {
|
|
47
53
|
TailscaleHelper
|
|
48
54
|
} from "./chunk-EEC4PCG5.js";
|
|
49
|
-
import {
|
|
50
|
-
WebDavServer
|
|
51
|
-
} from "./chunk-PYIFUBRK.js";
|
|
52
55
|
import {
|
|
53
56
|
migrateObservations
|
|
54
57
|
} from "./chunk-IIFFC3RL.js";
|
|
55
58
|
import {
|
|
56
59
|
rebuildMemoryLifecycleLedger
|
|
57
|
-
} from "./chunk-
|
|
58
|
-
import {
|
|
59
|
-
rebuildObservations
|
|
60
|
-
} from "./chunk-DQTCGVFK.js";
|
|
60
|
+
} from "./chunk-CME347TM.js";
|
|
61
61
|
import {
|
|
62
62
|
archiveObservations
|
|
63
63
|
} from "./chunk-YLBE6PLR.js";
|
|
64
|
-
import {
|
|
65
|
-
runCompatChecks
|
|
66
|
-
} from "./chunk-CDKHKZL5.js";
|
|
67
64
|
import {
|
|
68
65
|
getBulkImportSource,
|
|
69
66
|
listBulkImportSources,
|
|
70
67
|
registerBulkImportSource,
|
|
71
68
|
runBulkImportPipeline
|
|
72
69
|
} from "./chunk-HSSERO3E.js";
|
|
70
|
+
import {
|
|
71
|
+
runCompatChecks
|
|
72
|
+
} from "./chunk-CDKHKZL5.js";
|
|
73
73
|
import {
|
|
74
74
|
searchVerifiedEpisodes
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-FONW766A.js";
|
|
76
76
|
import {
|
|
77
77
|
getUtilityLearningStatus,
|
|
78
78
|
learnUtilityPromotionWeights
|
|
@@ -86,15 +86,15 @@ import {
|
|
|
86
86
|
} from "./chunk-OJP3N7UK.js";
|
|
87
87
|
import {
|
|
88
88
|
promoteSemanticRuleFromMemory
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-LYPG7GOO.js";
|
|
90
90
|
import {
|
|
91
91
|
searchVerifiedSemanticRules
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-TAMY4NKO.js";
|
|
93
93
|
import {
|
|
94
94
|
buildResumeBundleFromState,
|
|
95
95
|
getResumeBundleStatus,
|
|
96
96
|
recordResumeBundle
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-D4LVHPOA.js";
|
|
98
98
|
import {
|
|
99
99
|
getWorkProductLedgerStatus,
|
|
100
100
|
recordWorkProductLedgerEntry,
|
|
@@ -105,7 +105,7 @@ import {
|
|
|
105
105
|
} from "./chunk-HYQJQGD3.js";
|
|
106
106
|
import {
|
|
107
107
|
parseXrayCliOptions
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-IKT6ZVO7.js";
|
|
109
109
|
import {
|
|
110
110
|
readRuntimePolicySnapshot,
|
|
111
111
|
sanitizeRuntimePolicyValues
|
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
runOperatorInventory,
|
|
119
119
|
runOperatorRepair,
|
|
120
120
|
runOperatorSetup
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-TFXYQNBH.js";
|
|
122
122
|
import {
|
|
123
123
|
analyzeSessionIntegrity,
|
|
124
124
|
applySessionRepair,
|
|
@@ -152,7 +152,7 @@ import {
|
|
|
152
152
|
} from "./chunk-6GUG4YNM.js";
|
|
153
153
|
import {
|
|
154
154
|
searchHarmonicRetrieval
|
|
155
|
-
} from "./chunk-
|
|
155
|
+
} from "./chunk-4QFCAKNM.js";
|
|
156
156
|
import {
|
|
157
157
|
rescoreMemoryImportance
|
|
158
158
|
} from "./chunk-JXS5PDQ7.js";
|
|
@@ -165,17 +165,17 @@ import {
|
|
|
165
165
|
runEvalStoredBaselineCiGate,
|
|
166
166
|
validateEvalBenchmarkPack
|
|
167
167
|
} from "./chunk-MCA2X4WH.js";
|
|
168
|
+
import {
|
|
169
|
+
GraphDashboardServer
|
|
170
|
+
} from "./chunk-YNDLCWXS.js";
|
|
168
171
|
import {
|
|
169
172
|
rebuildMemoryProjection,
|
|
170
173
|
repairMemoryProjection,
|
|
171
174
|
verifyMemoryProjection
|
|
172
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-FR3FNPCJ.js";
|
|
173
176
|
import {
|
|
174
177
|
getCueAnchorStoreStatus
|
|
175
178
|
} from "./chunk-ACPCA4NO.js";
|
|
176
|
-
import {
|
|
177
|
-
GraphDashboardServer
|
|
178
|
-
} from "./chunk-YNDLCWXS.js";
|
|
179
179
|
import {
|
|
180
180
|
buildConnectorRowsFromDefinitions,
|
|
181
181
|
parseConnectorsListOptions,
|
|
@@ -196,11 +196,11 @@ import {
|
|
|
196
196
|
} from "./chunk-UQ7RN5HK.js";
|
|
197
197
|
import {
|
|
198
198
|
parseConfig
|
|
199
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-3VFVQDZO.js";
|
|
200
200
|
import {
|
|
201
201
|
EngramAccessHttpServer,
|
|
202
202
|
MeetingsInputError
|
|
203
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-HQ2VGCGP.js";
|
|
204
204
|
import {
|
|
205
205
|
WearablesInputError
|
|
206
206
|
} from "./chunk-V7IZKJI3.js";
|
|
@@ -213,13 +213,13 @@ import {
|
|
|
213
213
|
createProductionChatLlmAdapter,
|
|
214
214
|
loadChatSession,
|
|
215
215
|
sessionBelongsToPrincipal
|
|
216
|
-
} from "./chunk-
|
|
216
|
+
} from "./chunk-O54B5YNM.js";
|
|
217
217
|
import {
|
|
218
218
|
getAbstractionNodeStoreStatus
|
|
219
219
|
} from "./chunk-DJUKBGAD.js";
|
|
220
220
|
import {
|
|
221
221
|
EngramAccessService
|
|
222
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-FK7T55BA.js";
|
|
223
223
|
import {
|
|
224
224
|
WorkStorage
|
|
225
225
|
} from "./chunk-GDB4J2H3.js";
|
|
@@ -236,10 +236,10 @@ import {
|
|
|
236
236
|
parseRecallExplainFormat,
|
|
237
237
|
renderRecallExplain,
|
|
238
238
|
renderXray
|
|
239
|
-
} from "./chunk-
|
|
239
|
+
} from "./chunk-U7BMN33M.js";
|
|
240
240
|
import {
|
|
241
241
|
readAggregateExtractionWatermark
|
|
242
|
-
} from "./chunk-
|
|
242
|
+
} from "./chunk-S6AH7WSF.js";
|
|
243
243
|
import {
|
|
244
244
|
getObjectiveStateStoreStatus
|
|
245
245
|
} from "./chunk-HTP6XRUI.js";
|
|
@@ -248,31 +248,31 @@ import {
|
|
|
248
248
|
readMemoryGovernanceRunArtifact,
|
|
249
249
|
restoreMemoryGovernanceRun,
|
|
250
250
|
runMemoryGovernance
|
|
251
|
-
} from "./chunk-
|
|
251
|
+
} from "./chunk-7NSC4IVA.js";
|
|
252
252
|
import {
|
|
253
253
|
listNamespaces,
|
|
254
254
|
runNamespaceMigration,
|
|
255
255
|
verifyNamespaces
|
|
256
|
-
} from "./chunk-
|
|
256
|
+
} from "./chunk-PSH3VFZ7.js";
|
|
257
257
|
import {
|
|
258
258
|
analyzeGraphHealth
|
|
259
|
-
} from "./chunk-
|
|
259
|
+
} from "./chunk-YMOPYG3K.js";
|
|
260
260
|
import {
|
|
261
261
|
resolveNamespaceChildRoot
|
|
262
|
-
} from "./chunk-
|
|
262
|
+
} from "./chunk-HC55YCNK.js";
|
|
263
263
|
import {
|
|
264
264
|
getCausalTrajectoryStoreStatus
|
|
265
|
-
} from "./chunk-
|
|
265
|
+
} from "./chunk-HXXGZ4KV.js";
|
|
266
266
|
import {
|
|
267
267
|
meetingIdDate
|
|
268
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-BWJMBJCY.js";
|
|
269
269
|
import {
|
|
270
270
|
isValidTranscriptDate
|
|
271
271
|
} from "./chunk-UHVXE24Y.js";
|
|
272
272
|
import {
|
|
273
273
|
RECALL_DISCLOSURE_LEVELS,
|
|
274
274
|
isRecallDisclosure
|
|
275
|
-
} from "./chunk-
|
|
275
|
+
} from "./chunk-5QHDXMXP.js";
|
|
276
276
|
import {
|
|
277
277
|
bumpMemoryCorpusVersionForDir
|
|
278
278
|
} from "./chunk-KMAP7SNQ.js";
|
|
@@ -298,6 +298,11 @@ import {
|
|
|
298
298
|
import {
|
|
299
299
|
assertPathInsideRoot
|
|
300
300
|
} from "./chunk-GCASGYIO.js";
|
|
301
|
+
import {
|
|
302
|
+
inferMemoryStatus,
|
|
303
|
+
isArchivedMemoryPath,
|
|
304
|
+
toMemoryPathRel
|
|
305
|
+
} from "./chunk-7RJUVTVF.js";
|
|
301
306
|
import {
|
|
302
307
|
isSupportPassportPrivateMemory
|
|
303
308
|
} from "./chunk-XX4HPFFM.js";
|
|
@@ -321,7 +326,7 @@ import {
|
|
|
321
326
|
resolveRecallEnhancementCapabilities,
|
|
322
327
|
resolveSecurityCapabilities,
|
|
323
328
|
resolveUtilityLearningCapabilities
|
|
324
|
-
} from "./chunk-
|
|
329
|
+
} from "./chunk-JUOZ62Y7.js";
|
|
325
330
|
import {
|
|
326
331
|
expandTildePath
|
|
327
332
|
} from "./chunk-EYIEWJNI.js";
|
|
@@ -1527,6 +1532,367 @@ async function runRebuildMemoryLifecycleLedgerCliCommand(options) {
|
|
|
1527
1532
|
});
|
|
1528
1533
|
}
|
|
1529
1534
|
|
|
1535
|
+
// src/security/injection-screen.ts
|
|
1536
|
+
var RULE_WEIGHTS = {
|
|
1537
|
+
// Direct commands to an agent are high-confidence instructions.
|
|
1538
|
+
"imperative-to-agent": 4,
|
|
1539
|
+
// Tool syntax names an executable operation and its arguments.
|
|
1540
|
+
"tool-invocation-syntax": 4,
|
|
1541
|
+
// Encoded blobs are opaque and cannot receive normal factual review.
|
|
1542
|
+
"encoded-blob": 5,
|
|
1543
|
+
// Instruction resets directly try to replace the active authority.
|
|
1544
|
+
"ignore-previous-family": 4,
|
|
1545
|
+
// Conditional triggers encode a hidden action for a future turn.
|
|
1546
|
+
"conditional-trigger": 3,
|
|
1547
|
+
// Remnic command references can redirect the memory system itself.
|
|
1548
|
+
"authority-escalation": 4
|
|
1549
|
+
};
|
|
1550
|
+
var INJECTION_SCREEN_THRESHOLD = 4;
|
|
1551
|
+
var MAX_EXCERPT_LENGTH = 180;
|
|
1552
|
+
var AUTHORITY_EXECUTABLE_TOOL_REFERENCE = String.raw`(?:remnic|engram)(?:\s+security\s+audit-memory\b|\s+(?:memory_store|suggestion_submit|observe|recall|delete_memory|memory_correct_apply|memory_search)(?:\s+(?:tool|command))?\b|\s+(?:tool|command)\b|[_:-](?:memory_store|suggestion_submit|observe|recall|delete_memory|memory_correct_apply|memory_search)\b)`;
|
|
1553
|
+
var AUTHORITY_OPTIONAL_QUOTE = String.raw`[\`"']?`;
|
|
1554
|
+
var AUTHORITY_DIRECTIVE_PATTERN = new RegExp(
|
|
1555
|
+
String.raw`\b(?:call|invoke|execute|run|use)\s+(?:the\s+)?${AUTHORITY_OPTIONAL_QUOTE}${AUTHORITY_EXECUTABLE_TOOL_REFERENCE}`,
|
|
1556
|
+
"i"
|
|
1557
|
+
);
|
|
1558
|
+
var AUTHORITY_MANDATORY_DIRECTIVE_PATTERN = new RegExp(
|
|
1559
|
+
String.raw`\byou\s+(?:must|should)\s+(?:call|invoke|execute|run|use)\s+(?:the\s+)?${AUTHORITY_OPTIONAL_QUOTE}${AUTHORITY_EXECUTABLE_TOOL_REFERENCE}`,
|
|
1560
|
+
"i"
|
|
1561
|
+
);
|
|
1562
|
+
function excerptFor(content, match) {
|
|
1563
|
+
const start = match?.index ?? 0;
|
|
1564
|
+
const excerpt2 = content.slice(Math.max(0, start - 32), start + MAX_EXCERPT_LENGTH);
|
|
1565
|
+
return excerpt2.length < content.length ? `${excerpt2}\u2026` : excerpt2;
|
|
1566
|
+
}
|
|
1567
|
+
function findingFor(rule, content, pattern) {
|
|
1568
|
+
const match = content.match(pattern);
|
|
1569
|
+
if (!match) return void 0;
|
|
1570
|
+
return { rule, excerpt: excerptFor(content, match) };
|
|
1571
|
+
}
|
|
1572
|
+
function findImperativeToAgent(content) {
|
|
1573
|
+
return findingFor(
|
|
1574
|
+
"imperative-to-agent",
|
|
1575
|
+
content,
|
|
1576
|
+
/\b(?:agent|assistant|ai|model)\s*[,!:.-]\s*(?:please\s+)?(?:ignore|disregard|call|run|execute|send|delete|reveal|email|store|remember|follow|use|do)\b/i
|
|
1577
|
+
) ?? findingFor(
|
|
1578
|
+
"imperative-to-agent",
|
|
1579
|
+
content,
|
|
1580
|
+
/\b(?:agent|assistant|ai|model)\s+(?:must|should|need to|please)\s+(?:ignore|disregard|call|run|execute|send|delete|reveal|email|store|remember|follow|use|do)\b/i
|
|
1581
|
+
);
|
|
1582
|
+
}
|
|
1583
|
+
function findToolInvocationSyntax(content) {
|
|
1584
|
+
return findingFor(
|
|
1585
|
+
"tool-invocation-syntax",
|
|
1586
|
+
content,
|
|
1587
|
+
/\{\s*["']?(?:tool|function|name)["']?\s*:\s*["'][^"']+["'][\s\S]*["']?(?:args|arguments|parameters)["']?\s*:/i
|
|
1588
|
+
) ?? findingFor(
|
|
1589
|
+
"tool-invocation-syntax",
|
|
1590
|
+
content,
|
|
1591
|
+
// Bare verbs only count when the target looks like a tool identifier
|
|
1592
|
+
// (namespaced / snake_case / dotted) or is explicitly called a tool —
|
|
1593
|
+
// plain English like "on-call SRE" or "call Sam" must not trip the
|
|
1594
|
+
// screen (#1955 false-positive criterion).
|
|
1595
|
+
/<(?:tool(?:_call)?|function(?:_call)?|invoke)\b[^>]*>|\b(?:call|invoke|execute|run)\s+(?:the\s+)?[a-z][a-z0-9-]*(?:[_:.][a-z0-9-]+)+\b|\b(?:call|invoke|execute|run)\s+the\s+[a-z0-9-]+\s+tool\b/i
|
|
1596
|
+
) ?? findingFor(
|
|
1597
|
+
"tool-invocation-syntax",
|
|
1598
|
+
content,
|
|
1599
|
+
/\b(?:call|invoke|execute)\s*\(\s*["'][\w:-]+["']/i
|
|
1600
|
+
);
|
|
1601
|
+
}
|
|
1602
|
+
function findEncodedBlob(content) {
|
|
1603
|
+
return findingFor("encoded-blob", content, /\b[0-9a-f]{121,}\b/i) ?? findingFor(
|
|
1604
|
+
"encoded-blob",
|
|
1605
|
+
content,
|
|
1606
|
+
/\b[A-Za-z0-9+/]{121,}={0,2}\b/
|
|
1607
|
+
);
|
|
1608
|
+
}
|
|
1609
|
+
function findIgnorePreviousFamily(content) {
|
|
1610
|
+
return findingFor(
|
|
1611
|
+
"ignore-previous-family",
|
|
1612
|
+
content,
|
|
1613
|
+
/\b(?:ignore|disregard|skip|forget|dismiss)\s+(?:all\s+)?(?:the\s+)?(?:previous|prior|above|earlier|preceding)\s+(?:instructions?|directions?|rules?|messages?|context)\b/i
|
|
1614
|
+
) ?? findingFor(
|
|
1615
|
+
"ignore-previous-family",
|
|
1616
|
+
content,
|
|
1617
|
+
/\b(?:do\s+not|don't)\s+(?:follow|obey)\s+(?:the\s+)?(?:previous|prior|above|earlier)\s+(?:instructions?|rules?|directions?)\b/i
|
|
1618
|
+
);
|
|
1619
|
+
}
|
|
1620
|
+
function findConditionalTrigger(content) {
|
|
1621
|
+
return findingFor(
|
|
1622
|
+
"conditional-trigger",
|
|
1623
|
+
content,
|
|
1624
|
+
/\b(?:when|if)\b[\s\S]{1,120}\b(?:say|says|see|sees|hear|hears|receive|receives|mention|mentions|contain|contains|encounter|encounters)\b[\s\S]{1,120}\b(?:then\s+)?(?:call|invoke|run|execute|send|delete|reveal|store|use|follow|do|respond)\b/i
|
|
1625
|
+
) ?? findingFor(
|
|
1626
|
+
"conditional-trigger",
|
|
1627
|
+
content,
|
|
1628
|
+
/\b(?:when|if)\b[\s\S]{1,100},\s*(?:then\s+)?(?:call|invoke|run|execute|send|delete|reveal|store|use|follow|do|respond)\b/i
|
|
1629
|
+
);
|
|
1630
|
+
}
|
|
1631
|
+
function findAuthorityEscalation(content) {
|
|
1632
|
+
return findingFor(
|
|
1633
|
+
"authority-escalation",
|
|
1634
|
+
content,
|
|
1635
|
+
AUTHORITY_DIRECTIVE_PATTERN
|
|
1636
|
+
) ?? findingFor(
|
|
1637
|
+
"authority-escalation",
|
|
1638
|
+
content,
|
|
1639
|
+
AUTHORITY_MANDATORY_DIRECTIVE_PATTERN
|
|
1640
|
+
);
|
|
1641
|
+
}
|
|
1642
|
+
function screenCandidateFact(content) {
|
|
1643
|
+
const findings = [];
|
|
1644
|
+
const rules = [
|
|
1645
|
+
["imperative-to-agent", findImperativeToAgent],
|
|
1646
|
+
["tool-invocation-syntax", findToolInvocationSyntax],
|
|
1647
|
+
["encoded-blob", findEncodedBlob],
|
|
1648
|
+
["ignore-previous-family", findIgnorePreviousFamily],
|
|
1649
|
+
["conditional-trigger", findConditionalTrigger],
|
|
1650
|
+
["authority-escalation", findAuthorityEscalation]
|
|
1651
|
+
];
|
|
1652
|
+
for (const [rule, find] of rules) {
|
|
1653
|
+
const finding = find(content);
|
|
1654
|
+
if (finding) findings.push({ rule, excerpt: finding.excerpt });
|
|
1655
|
+
}
|
|
1656
|
+
const score = findings.reduce((sum, finding) => sum + RULE_WEIGHTS[finding.rule], 0);
|
|
1657
|
+
return { score, findings, quarantine: score >= INJECTION_SCREEN_THRESHOLD };
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
// src/security/audit-memory.ts
|
|
1661
|
+
function isActive(memory, memoryDir) {
|
|
1662
|
+
const status = memory.frontmatter.status;
|
|
1663
|
+
if (status !== void 0 && status !== "active") return false;
|
|
1664
|
+
if (memory.frontmatter.archivedAt !== void 0) return false;
|
|
1665
|
+
const pathRel = toMemoryPathRel(memoryDir, memory.path);
|
|
1666
|
+
if (isArchivedMemoryPath(memory.path) || isArchivedMemoryPath(pathRel)) return false;
|
|
1667
|
+
return inferMemoryStatus(memory.frontmatter, pathRel) === "active";
|
|
1668
|
+
}
|
|
1669
|
+
function parseSince(value) {
|
|
1670
|
+
if (value === void 0) return void 0;
|
|
1671
|
+
if (value instanceof Date) {
|
|
1672
|
+
if (Number.isNaN(value.getTime())) throw new Error("invalid --since date");
|
|
1673
|
+
return new Date(value.getTime());
|
|
1674
|
+
}
|
|
1675
|
+
return parseStrictCliDate(value, "--since");
|
|
1676
|
+
}
|
|
1677
|
+
function isInWindow(memory, since) {
|
|
1678
|
+
if (since === void 0) return true;
|
|
1679
|
+
const created = Date.parse(memory.frontmatter.created);
|
|
1680
|
+
const updated = Date.parse(memory.frontmatter.updated);
|
|
1681
|
+
return Number.isFinite(created) && created >= since.getTime() || Number.isFinite(updated) && updated >= since.getTime();
|
|
1682
|
+
}
|
|
1683
|
+
function excerpt(value) {
|
|
1684
|
+
const compact = value.replace(/\s+/g, " ").trim();
|
|
1685
|
+
return compact.length > 180 ? `${compact.slice(0, 177)}...` : compact;
|
|
1686
|
+
}
|
|
1687
|
+
function lineageHint(memory) {
|
|
1688
|
+
const frontmatter = memory.frontmatter;
|
|
1689
|
+
const source = frontmatter.sources?.[0];
|
|
1690
|
+
if (typeof source?.sessionKey === "string" && source.sessionKey.trim().length > 0) {
|
|
1691
|
+
return source.sessionKey.trim();
|
|
1692
|
+
}
|
|
1693
|
+
for (const value of [
|
|
1694
|
+
frontmatter.sourceSessionKey,
|
|
1695
|
+
frontmatter.sessionKey,
|
|
1696
|
+
frontmatter.conversationId,
|
|
1697
|
+
frontmatter.sourceTurnId,
|
|
1698
|
+
frontmatter.sourceConnector,
|
|
1699
|
+
frontmatter.source
|
|
1700
|
+
]) {
|
|
1701
|
+
if (typeof value === "string" && value.trim().length > 0) return value.trim();
|
|
1702
|
+
}
|
|
1703
|
+
return "unknown";
|
|
1704
|
+
}
|
|
1705
|
+
var GENERIC_LINEAGE_VALUES = {
|
|
1706
|
+
unknown: true,
|
|
1707
|
+
none: true,
|
|
1708
|
+
null: true,
|
|
1709
|
+
"n/a": true,
|
|
1710
|
+
na: true,
|
|
1711
|
+
extraction: true,
|
|
1712
|
+
connector: true
|
|
1713
|
+
};
|
|
1714
|
+
function lineageKey(memory) {
|
|
1715
|
+
const frontmatter = memory.frontmatter;
|
|
1716
|
+
const source = frontmatter.sources?.[0];
|
|
1717
|
+
for (const value of [
|
|
1718
|
+
source?.sessionKey,
|
|
1719
|
+
frontmatter.sourceSessionKey,
|
|
1720
|
+
frontmatter.sessionKey,
|
|
1721
|
+
frontmatter.conversationId
|
|
1722
|
+
]) {
|
|
1723
|
+
if (typeof value !== "string") continue;
|
|
1724
|
+
const key = value.trim();
|
|
1725
|
+
if (key.length > 0 && GENERIC_LINEAGE_VALUES[key.toLowerCase()] !== true) return key;
|
|
1726
|
+
}
|
|
1727
|
+
return void 0;
|
|
1728
|
+
}
|
|
1729
|
+
function sourceGroups(memories) {
|
|
1730
|
+
const groups = /* @__PURE__ */ new Map();
|
|
1731
|
+
for (const memory of memories) {
|
|
1732
|
+
const lineage = lineageKey(memory);
|
|
1733
|
+
if (lineage === void 0) continue;
|
|
1734
|
+
const day = typeof memory.frontmatter.created === "string" ? memory.frontmatter.created.slice(0, 10) : "";
|
|
1735
|
+
if (!day) continue;
|
|
1736
|
+
const key = `${lineage}@${day}`;
|
|
1737
|
+
const group = groups.get(key) ?? [];
|
|
1738
|
+
group.push(memory);
|
|
1739
|
+
groups.set(key, group);
|
|
1740
|
+
}
|
|
1741
|
+
return groups;
|
|
1742
|
+
}
|
|
1743
|
+
function burstBaseline(counts) {
|
|
1744
|
+
if (counts.length === 0) return { mean: 0, standardDeviation: 0, threshold: 10 };
|
|
1745
|
+
const mean = counts.reduce((sum, count) => sum + count, 0) / counts.length;
|
|
1746
|
+
const variance = counts.reduce((sum, count) => sum + (count - mean) ** 2, 0) / counts.length;
|
|
1747
|
+
const standardDeviation = Math.sqrt(variance);
|
|
1748
|
+
return {
|
|
1749
|
+
mean,
|
|
1750
|
+
standardDeviation,
|
|
1751
|
+
threshold: Math.max(10, mean + 3 * standardDeviation)
|
|
1752
|
+
};
|
|
1753
|
+
}
|
|
1754
|
+
function writeBurstStats(groups) {
|
|
1755
|
+
const entries = [...groups.entries()];
|
|
1756
|
+
const counts = entries.map(([, group]) => group.length);
|
|
1757
|
+
const summary = burstBaseline(counts);
|
|
1758
|
+
const anomalousGroups = entries.filter(([, group], candidateIndex) => {
|
|
1759
|
+
const baselineCounts = counts.filter((_, index) => index !== candidateIndex);
|
|
1760
|
+
const baseline = burstBaseline(baselineCounts);
|
|
1761
|
+
return group.length > baseline.threshold;
|
|
1762
|
+
}).map(([lineage, group]) => ({ lineageHint: lineage, count: group.length }));
|
|
1763
|
+
return {
|
|
1764
|
+
groupCount: counts.length,
|
|
1765
|
+
mean: summary.mean,
|
|
1766
|
+
standardDeviation: summary.standardDeviation,
|
|
1767
|
+
threshold: summary.threshold,
|
|
1768
|
+
anomalousGroups
|
|
1769
|
+
};
|
|
1770
|
+
}
|
|
1771
|
+
async function auditMemoryStore(options) {
|
|
1772
|
+
const since = parseSince(options.since);
|
|
1773
|
+
const storage = options.storage;
|
|
1774
|
+
const hotMemories = await storage.readAllMemories();
|
|
1775
|
+
const coldMemories = storage.readAllColdMemories ? await storage.readAllColdMemories() : [];
|
|
1776
|
+
const allMemories = [...hotMemories, ...coldMemories];
|
|
1777
|
+
const activeMemories = allMemories.filter(
|
|
1778
|
+
(memory) => isActive(memory, options.memoryDir) && isInWindow(memory, since)
|
|
1779
|
+
);
|
|
1780
|
+
const findings = [];
|
|
1781
|
+
const quarantinePaths = /* @__PURE__ */ new Map();
|
|
1782
|
+
for (const memory of activeMemories) {
|
|
1783
|
+
const screened = screenCandidateFact(memory.content);
|
|
1784
|
+
if (screened.quarantine === true) quarantinePaths.set(memory.path, { injection: true, burst: false });
|
|
1785
|
+
for (const screenFinding of screened.findings) {
|
|
1786
|
+
findings.push({
|
|
1787
|
+
memoryId: memory.frontmatter.id,
|
|
1788
|
+
category: "injection-signature",
|
|
1789
|
+
rule: screenFinding.rule,
|
|
1790
|
+
excerpt: excerpt(screenFinding.excerpt || memory.content),
|
|
1791
|
+
lineageHint: lineageHint(memory)
|
|
1792
|
+
});
|
|
1793
|
+
if (screenFinding.rule === "authority-escalation") {
|
|
1794
|
+
findings.push({
|
|
1795
|
+
memoryId: memory.frontmatter.id,
|
|
1796
|
+
category: "authority-escalation",
|
|
1797
|
+
rule: screenFinding.rule,
|
|
1798
|
+
excerpt: excerpt(screenFinding.excerpt || memory.content),
|
|
1799
|
+
lineageHint: lineageHint(memory)
|
|
1800
|
+
});
|
|
1801
|
+
}
|
|
1802
|
+
}
|
|
1803
|
+
}
|
|
1804
|
+
const groups = sourceGroups(activeMemories);
|
|
1805
|
+
const burstStats = writeBurstStats(groups);
|
|
1806
|
+
const anomalousLineages = new Set(burstStats.anomalousGroups.map((group) => group.lineageHint));
|
|
1807
|
+
for (const [lineage, group] of groups) {
|
|
1808
|
+
if (!anomalousLineages.has(lineage)) continue;
|
|
1809
|
+
for (const memory of group) {
|
|
1810
|
+
const q = quarantinePaths.get(memory.path) ?? { injection: false, burst: false };
|
|
1811
|
+
q.burst = true;
|
|
1812
|
+
quarantinePaths.set(memory.path, q);
|
|
1813
|
+
findings.push({
|
|
1814
|
+
memoryId: memory.frontmatter.id,
|
|
1815
|
+
category: "write-burst",
|
|
1816
|
+
rule: "write-burst",
|
|
1817
|
+
excerpt: excerpt(memory.content),
|
|
1818
|
+
lineageHint: lineage
|
|
1819
|
+
});
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
const quarantinedMemoryIds = [];
|
|
1823
|
+
if (options.quarantine) {
|
|
1824
|
+
const now = (options.now ?? /* @__PURE__ */ new Date()).toISOString();
|
|
1825
|
+
for (const staleMemory of activeMemories) {
|
|
1826
|
+
const qInfo = quarantinePaths.get(staleMemory.path);
|
|
1827
|
+
if (!qInfo) continue;
|
|
1828
|
+
const memory = await storage.readMemoryByPath(staleMemory.path);
|
|
1829
|
+
if (!memory || !isActive(memory, options.memoryDir)) continue;
|
|
1830
|
+
if (qInfo.injection && !qInfo.burst && !screenCandidateFact(memory.content).quarantine) continue;
|
|
1831
|
+
const changed = await storage.writeMemoryFrontmatterIfUnchanged(memory, {
|
|
1832
|
+
status: "pending_review",
|
|
1833
|
+
updated: now
|
|
1834
|
+
}, {
|
|
1835
|
+
actor: "cli.security.audit-memory",
|
|
1836
|
+
reasonCode: "memory-poisoning-hardening",
|
|
1837
|
+
ruleVersion: "memory-poisoning.v1"
|
|
1838
|
+
});
|
|
1839
|
+
if (changed) quarantinedMemoryIds.push(memory.frontmatter.id);
|
|
1840
|
+
}
|
|
1841
|
+
}
|
|
1842
|
+
return {
|
|
1843
|
+
...since ? { since: since.toISOString() } : {},
|
|
1844
|
+
scannedMemories: allMemories.length,
|
|
1845
|
+
activeMemories: activeMemories.length,
|
|
1846
|
+
findings,
|
|
1847
|
+
quarantinedMemoryIds,
|
|
1848
|
+
transitions: quarantinedMemoryIds.length,
|
|
1849
|
+
writeBurstStats: burstStats
|
|
1850
|
+
};
|
|
1851
|
+
}
|
|
1852
|
+
function formatAuditMemoryReport(report) {
|
|
1853
|
+
const lines = [
|
|
1854
|
+
"Memory security audit",
|
|
1855
|
+
`Scanned: ${report.scannedMemories} total, ${report.activeMemories} active`,
|
|
1856
|
+
`Findings: ${report.findings.length}`,
|
|
1857
|
+
`Quarantined: ${report.transitions}`,
|
|
1858
|
+
"",
|
|
1859
|
+
"CATEGORY MEMORY ID RULE LINEAGE EXCERPT"
|
|
1860
|
+
];
|
|
1861
|
+
if (report.findings.length === 0) {
|
|
1862
|
+
lines.push("(none)");
|
|
1863
|
+
} else {
|
|
1864
|
+
for (const finding of report.findings) {
|
|
1865
|
+
lines.push([
|
|
1866
|
+
finding.category.padEnd(22),
|
|
1867
|
+
finding.memoryId.padEnd(25),
|
|
1868
|
+
finding.rule.padEnd(23),
|
|
1869
|
+
finding.lineageHint.slice(0, 19).padEnd(20),
|
|
1870
|
+
finding.excerpt
|
|
1871
|
+
].join(" "));
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
return lines.join("\n");
|
|
1875
|
+
}
|
|
1876
|
+
|
|
1877
|
+
// src/security/audit-memory-cli.ts
|
|
1878
|
+
function registerSecurityCommands(cmd, orchestrator) {
|
|
1879
|
+
const securityCmd = cmd.command("security").description("Memory security audit and hardening workflows");
|
|
1880
|
+
securityCmd.command("audit-memory").description("Audit the memory store for injection signatures, write bursts, and authority escalation").option("--since <date>", "Only scan memories created or updated on or after this ISO date").option("--quarantine", "Move flagged active memories to pending_review").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
|
|
1881
|
+
const options = args[0] ?? {};
|
|
1882
|
+
const report = await runAuditMemoryCliCommand({
|
|
1883
|
+
memoryDir: orchestrator.config.memoryDir,
|
|
1884
|
+
storage: orchestrator.storage,
|
|
1885
|
+
since: typeof options.since === "string" && options.since.trim().length > 0 ? options.since.trim() : void 0,
|
|
1886
|
+
quarantine: options.quarantine === true
|
|
1887
|
+
});
|
|
1888
|
+
if (options.json === true) {
|
|
1889
|
+
console.log(JSON.stringify(report, null, 2));
|
|
1890
|
+
return;
|
|
1891
|
+
}
|
|
1892
|
+
console.log(formatAuditMemoryReport(report));
|
|
1893
|
+
});
|
|
1894
|
+
}
|
|
1895
|
+
|
|
1530
1896
|
// src/chat/chat-cli.ts
|
|
1531
1897
|
import { createInterface } from "readline";
|
|
1532
1898
|
async function readAllStdin() {
|
|
@@ -2235,6 +2601,9 @@ async function runMemoryReviewDispositionCliCommand(options) {
|
|
|
2235
2601
|
reasonCode: options.reasonCode
|
|
2236
2602
|
};
|
|
2237
2603
|
}
|
|
2604
|
+
async function runAuditMemoryCliCommand(options) {
|
|
2605
|
+
return auditMemoryStore(options);
|
|
2606
|
+
}
|
|
2238
2607
|
async function runMigrateObservationsCliCommand(options) {
|
|
2239
2608
|
return migrateObservations({
|
|
2240
2609
|
memoryDir: options.memoryDir,
|
|
@@ -3987,7 +4356,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
3987
4356
|
);
|
|
3988
4357
|
tierCmd.command("list").description("Summarize tier distribution across all memories").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
|
|
3989
4358
|
const options = args[0] ?? {};
|
|
3990
|
-
const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-
|
|
4359
|
+
const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-7E6OBUSD.js");
|
|
3991
4360
|
const summary = await summarizeTiers(orchestrator.storage);
|
|
3992
4361
|
if (reportHasMachineReadableOutput(options)) {
|
|
3993
4362
|
console.log(JSON.stringify(summary, null, 2));
|
|
@@ -3998,7 +4367,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
3998
4367
|
tierCmd.command("explain").description("Explain the tier-transition decision for a single memory").argument("<id>", "Memory id to explain").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
|
|
3999
4368
|
const idArg = typeof args[0] === "string" ? args[0] : "";
|
|
4000
4369
|
const options = args[1] ?? {};
|
|
4001
|
-
const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-
|
|
4370
|
+
const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-7E6OBUSD.js");
|
|
4002
4371
|
try {
|
|
4003
4372
|
const explain = await explainTierForMemory(
|
|
4004
4373
|
orchestrator.storage,
|
|
@@ -4031,7 +4400,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
4031
4400
|
const idArg = typeof args[0] === "string" ? args[0] : "";
|
|
4032
4401
|
const options = args[1] ?? {};
|
|
4033
4402
|
const reason = typeof options.reason === "string" && options.reason.trim().length > 0 ? options.reason.trim() : void 0;
|
|
4034
|
-
const { forgetMemory } = await import("./forget-
|
|
4403
|
+
const { forgetMemory } = await import("./forget-5TWK7CZT.js");
|
|
4035
4404
|
try {
|
|
4036
4405
|
const result = await forgetMemory(orchestrator.storage, {
|
|
4037
4406
|
id: idArg,
|
|
@@ -4589,7 +4958,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
4589
4958
|
}
|
|
4590
4959
|
}
|
|
4591
4960
|
if (sourceArchive.endsWith(".enc")) {
|
|
4592
|
-
const { isEncryptedCapsuleFile } = await import("./capsule-crypto-
|
|
4961
|
+
const { isEncryptedCapsuleFile } = await import("./capsule-crypto-YO5QJ6L3.js");
|
|
4593
4962
|
const encDetected = await isEncryptedCapsuleFile(sourceArchive).catch(() => true);
|
|
4594
4963
|
if (encDetected) {
|
|
4595
4964
|
throw new Error(
|
|
@@ -4752,7 +5121,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
|
|
|
4752
5121
|
const { parseExportBundle } = await import("./transfer/types.js");
|
|
4753
5122
|
let decryptedBuf;
|
|
4754
5123
|
try {
|
|
4755
|
-
const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-
|
|
5124
|
+
const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-YO5QJ6L3.js");
|
|
4756
5125
|
decryptedBuf = await decryptCapsuleFileInMemory(archivePath, memoryDir);
|
|
4757
5126
|
} catch (decErr) {
|
|
4758
5127
|
const msg = decErr instanceof Error ? decErr.message : String(decErr);
|
|
@@ -6270,6 +6639,7 @@ ${doc.content}` : doc.content,
|
|
|
6270
6639
|
}
|
|
6271
6640
|
console.log("OK");
|
|
6272
6641
|
});
|
|
6642
|
+
registerSecurityCommands(cmd, orchestrator);
|
|
6273
6643
|
cmd.command("governance-run").description("Run memory governance in shadow/apply mode and write audit artifacts").option("--mode <mode>", "Governance mode (shadow|apply)", "shadow").option("--max-memories <n>", "Maximum memories to scan in this run").option("--batch-size <n>", "File-read batch size for bounded governance runs").option("--recent-days <n>", "Only govern memories updated within the last N days").option("--namespace <ns>", "Namespace to govern (default: current default namespace)").action(async (...args) => {
|
|
6274
6644
|
const options = args[0] ?? {};
|
|
6275
6645
|
const mode = options.mode === "apply" ? "apply" : "shadow";
|
|
@@ -7236,7 +7606,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
7236
7606
|
console.error("--verb is required. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context");
|
|
7237
7607
|
process.exit(1);
|
|
7238
7608
|
}
|
|
7239
|
-
const { isValidResolutionVerb, executeResolution } = await import("./resolution-
|
|
7609
|
+
const { isValidResolutionVerb, executeResolution } = await import("./resolution-DKMBPXHI.js");
|
|
7240
7610
|
if (!isValidResolutionVerb(verb)) {
|
|
7241
7611
|
console.error(`Invalid verb: ${verb}. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context`);
|
|
7242
7612
|
process.exit(1);
|
|
@@ -7268,7 +7638,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
|
|
|
7268
7638
|
});
|
|
7269
7639
|
reviewCmd.command("scan").description("Run an on-demand contradiction scan").option("--namespace <ns>", "Namespace to scan").action(async (...args) => {
|
|
7270
7640
|
const options = args[0] ?? {};
|
|
7271
|
-
const { runContradictionScan } = await import("./contradiction-scan-
|
|
7641
|
+
const { runContradictionScan } = await import("./contradiction-scan-522AYLQC.js");
|
|
7272
7642
|
console.log("Running contradiction scan...");
|
|
7273
7643
|
const result = await runContradictionScan({
|
|
7274
7644
|
storage: orchestrator.storage,
|
|
@@ -7890,6 +8260,10 @@ function parseDuration(duration) {
|
|
|
7890
8260
|
}
|
|
7891
8261
|
|
|
7892
8262
|
export {
|
|
8263
|
+
INJECTION_SCREEN_THRESHOLD,
|
|
8264
|
+
screenCandidateFact,
|
|
8265
|
+
auditMemoryStore,
|
|
8266
|
+
formatAuditMemoryReport,
|
|
7893
8267
|
registerWearableConnector,
|
|
7894
8268
|
getWearableConnector,
|
|
7895
8269
|
listWearableConnectors,
|
|
@@ -7920,6 +8294,7 @@ export {
|
|
|
7920
8294
|
runMemoryGovernanceReportCliCommand,
|
|
7921
8295
|
runMemoryGovernanceRestoreCliCommand,
|
|
7922
8296
|
runMemoryReviewDispositionCliCommand,
|
|
8297
|
+
runAuditMemoryCliCommand,
|
|
7923
8298
|
runMigrateObservationsCliCommand,
|
|
7924
8299
|
runConversationIndexHealthCliCommand,
|
|
7925
8300
|
runConversationIndexInspectCliCommand,
|
|
@@ -7995,4 +8370,4 @@ export {
|
|
|
7995
8370
|
listMemoryMarkdownFilePaths,
|
|
7996
8371
|
registerCli
|
|
7997
8372
|
};
|
|
7998
|
-
//# sourceMappingURL=chunk-
|
|
8373
|
+
//# sourceMappingURL=chunk-4THNU7OF.js.map
|