@remnic/core 9.54.3 → 9.54.5
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 +12 -11
- package/dist/access-admin-ops-surface.js +46 -44
- package/dist/access-authorization-probe.d.ts +12 -11
- package/dist/access-authorization-probe.js +47 -45
- package/dist/access-boundary.d.ts +12 -11
- package/dist/access-boundary.js +46 -44
- package/dist/access-cli.js +92 -90
- 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 +12 -11
- package/dist/access-extraction-force-flush.js +46 -44
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-lcm-compaction.d.ts +12 -11
- package/dist/access-http-lifecycle-flush.d.ts +12 -11
- package/dist/access-http-offline-stream.d.ts +12 -11
- package/dist/access-http-query.js +46 -44
- package/dist/access-http.d.ts +12 -11
- package/dist/access-http.js +56 -54
- package/dist/access-identity-continuity-surface.d.ts +9 -9
- package/dist/access-identity-continuity-surface.js +46 -44
- package/dist/access-lcm-surface.d.ts +12 -11
- package/dist/access-lcm-surface.js +46 -44
- package/dist/access-mcp.d.ts +12 -11
- package/dist/access-mcp.js +52 -50
- package/dist/access-memory-search-fanout.d.ts +22 -2
- package/dist/access-memory-search-fanout.js +1 -1
- package/dist/{access-namespace-preflight-C7n4tgWC.d.ts → access-namespace-preflight-BdHlGd_T.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +46 -44
- package/dist/access-observe-write-surface.d.ts +12 -11
- package/dist/access-observe-write-surface.js +46 -44
- package/dist/access-offline-manifest.d.ts +10 -9
- package/dist/access-offline-manifest.js +12 -10
- package/dist/access-operations-batch.js +48 -46
- package/dist/access-operations.d.ts +15 -14
- package/dist/access-operations.js +51 -49
- package/dist/access-recall-concurrency.d.ts +12 -11
- package/dist/access-recall-concurrency.js +46 -44
- package/dist/access-recall-response.d.ts +12 -11
- package/dist/access-recall-response.js +46 -44
- package/dist/access-recall-surface.d.ts +12 -11
- package/dist/access-recall-surface.js +46 -44
- package/dist/access-schema.d.ts +90 -90
- package/dist/access-schema.js +3 -2
- package/dist/{access-service-CXvbxLK-.d.ts → access-service-DL7X9hrg.d.ts} +7 -7
- package/dist/access-service-helpers.d.ts +12 -11
- package/dist/access-service.d.ts +12 -11
- package/dist/access-service.js +46 -44
- package/dist/access-surface-catalog.d.ts +12 -11
- 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 +13 -1
- package/dist/active-memory-bridge.js +6 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +3 -2
- 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/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +9 -9
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +30 -9
- 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 +3 -3
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/calibration.d.ts +1 -1
- package/dist/capabilities.d.ts +1 -1
- package/dist/{catalog-BOOxl-I2.d.ts → catalog-B90is4d8.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +31 -10
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-6LAPLZOS.js → chunk-2DD6ZHOM.js} +8 -3
- package/dist/chunk-2DD6ZHOM.js.map +1 -0
- package/dist/{chunk-47P3RYZP.js → chunk-2INWPC6E.js} +2 -2
- package/dist/{chunk-3CSX3ETE.js → chunk-2LWQSV6A.js} +23 -11
- package/dist/chunk-2LWQSV6A.js.map +1 -0
- package/dist/{chunk-7BZOBA5J.js → chunk-2PNXOQ4P.js} +69 -11
- package/dist/chunk-2PNXOQ4P.js.map +1 -0
- package/dist/{chunk-WOPA3SGI.js → chunk-3OTSVCPK.js} +8 -8
- package/dist/{chunk-PX2LSHYM.js → chunk-3SXLD5T3.js} +3 -3
- package/dist/{chunk-T2JHZWH6.js → chunk-3WGI7F4V.js} +237 -93
- package/dist/chunk-3WGI7F4V.js.map +1 -0
- package/dist/{chunk-C4ZNGVK3.js → chunk-5JKUSBMX.js} +2 -2
- package/dist/{chunk-S75M5ZRK.js → chunk-6LEIWWAF.js} +16 -1
- package/dist/chunk-6LEIWWAF.js.map +1 -0
- package/dist/{chunk-MAXVH44E.js → chunk-6NNNURLK.js} +4 -4
- package/dist/{chunk-LJS7KUPV.js → chunk-6PZGKGAO.js} +2 -2
- package/dist/{chunk-YN6ASZUG.js → chunk-6QPI2ITJ.js} +5 -5
- package/dist/{chunk-CYF6WVE7.js → chunk-7HG7MGAP.js} +2688 -496
- package/dist/chunk-7HG7MGAP.js.map +1 -0
- package/dist/{chunk-CGVHPCP2.js → chunk-7Q7JWLQ4.js} +2 -2
- package/dist/{chunk-227UFSEQ.js → chunk-7RZJWZ46.js} +5 -5
- package/dist/{chunk-JBPKEARU.js → chunk-AU7Q3LSC.js} +4 -4
- package/dist/{chunk-PDDTI7IC.js → chunk-B4T3FQMT.js} +1 -1
- package/dist/{chunk-UU3G6GUP.js → chunk-BIF4SHMD.js} +1 -1
- package/dist/{chunk-UU3G6GUP.js.map → chunk-BIF4SHMD.js.map} +1 -1
- package/dist/{chunk-APPFNGX6.js → chunk-BSXGTDVJ.js} +2 -2
- package/dist/{chunk-4IIFL7GC.js → chunk-CLKBV3Z3.js} +10 -10
- package/dist/{chunk-ZYLC7NFO.js → chunk-CSY44OKU.js} +4 -4
- package/dist/{chunk-HLYR2TQL.js → chunk-CUTFSLSD.js} +2 -2
- package/dist/{chunk-RDJRFDJY.js → chunk-DBY26JJJ.js} +2 -2
- package/dist/{chunk-QWGE2PUH.js → chunk-DDA55IVB.js} +10 -10
- package/dist/{chunk-VMMQDEN5.js → chunk-DN2IDKI5.js} +2 -2
- package/dist/{chunk-2GFK22OZ.js → chunk-DOOWFDWN.js} +2 -2
- package/dist/{chunk-7FGL6CGA.js → chunk-DVYRD4HY.js} +2 -2
- package/dist/{chunk-YGLY6QFV.js → chunk-F2Y6I74C.js} +2 -2
- package/dist/{chunk-UU7TRFNE.js → chunk-FFEBSFVT.js} +2 -2
- package/dist/chunk-HNDIND7P.js +331 -0
- package/dist/chunk-HNDIND7P.js.map +1 -0
- package/dist/{chunk-NIS256NW.js → chunk-JKW663ZN.js} +2 -2
- package/dist/{chunk-G7A5HLUS.js → chunk-KJH6W2I7.js} +2 -2
- package/dist/{chunk-IXEBUYO4.js → chunk-KM55SMLG.js} +11 -2
- package/dist/{chunk-IXEBUYO4.js.map → chunk-KM55SMLG.js.map} +1 -1
- package/dist/{chunk-G2LUMAUF.js → chunk-L7RTUEDG.js} +12 -5
- package/dist/chunk-L7RTUEDG.js.map +1 -0
- package/dist/chunk-LC2BDILZ.js +57 -0
- package/dist/chunk-LC2BDILZ.js.map +1 -0
- package/dist/{chunk-JV5YUBIZ.js → chunk-LC3FD4BV.js} +52 -46
- package/dist/chunk-LC3FD4BV.js.map +1 -0
- package/dist/{chunk-HWRD23DW.js → chunk-LVKYLMSM.js} +3 -3
- package/dist/{chunk-RUMNY5DT.js → chunk-MRGJZ75M.js} +6 -2
- package/dist/chunk-MRGJZ75M.js.map +1 -0
- package/dist/{chunk-ZMYDYNI4.js → chunk-N7CXQ5TA.js} +4 -4
- package/dist/{chunk-3JLPGJ43.js → chunk-NGT35IGQ.js} +5 -5
- package/dist/{chunk-GUKBW4HL.js → chunk-NQMSEB5D.js} +6 -6
- package/dist/{chunk-WRJVB3C2.js → chunk-PO7NXBG2.js} +2 -2
- package/dist/{chunk-WM65LU67.js → chunk-QOQQMVR2.js} +2 -2
- package/dist/{chunk-QHFV6VNU.js → chunk-QPAQSG3F.js} +2 -2
- package/dist/{chunk-UTRO5UJU.js → chunk-QPW3PAIH.js} +5 -1
- package/dist/chunk-QPW3PAIH.js.map +1 -0
- package/dist/{chunk-6R4G7N4S.js → chunk-QQXWFDRD.js} +128 -74
- package/dist/chunk-QQXWFDRD.js.map +1 -0
- package/dist/{chunk-UES4BHA2.js → chunk-QTO6BMQZ.js} +2 -2
- package/dist/{chunk-THPPCISA.js → chunk-RBII7637.js} +5 -5
- package/dist/{chunk-QT2FRYI4.js → chunk-RG426DJO.js} +2 -2
- package/dist/{chunk-XUAMCLY4.js → chunk-TKFGFDPJ.js} +17 -13
- package/dist/chunk-TKFGFDPJ.js.map +1 -0
- package/dist/{chunk-VKXWK44Q.js → chunk-TY6MKIWP.js} +3 -3
- package/dist/{chunk-AZM4CCAC.js → chunk-UWJNKGBA.js} +5 -5
- package/dist/{chunk-JDZPNCMA.js → chunk-UYOXFFEY.js} +6 -3
- package/dist/chunk-UYOXFFEY.js.map +1 -0
- package/dist/{chunk-ZPJ4QSGP.js → chunk-VTU5IEKY.js} +2 -2
- package/dist/{chunk-RZ4XGKOJ.js → chunk-VYQ4URQB.js} +8 -8
- package/dist/{chunk-WDBX6VER.js → chunk-VZRFGJCH.js} +5 -5
- package/dist/{chunk-IBKR2TFR.js → chunk-WM5LD6AT.js} +2 -2
- package/dist/{chunk-K4QS7LXU.js → chunk-WZWZRZ2V.js} +2 -2
- package/dist/{chunk-G4T7L557.js → chunk-XKAR4RF6.js} +2 -2
- package/dist/{chunk-DZD576ZU.js → chunk-XSV2YDCJ.js} +2 -2
- package/dist/{chunk-G7Z6EENO.js → chunk-YDWPYDML.js} +4 -4
- package/dist/{chunk-6HPHEFXT.js → chunk-YKZLOPTC.js} +2 -2
- package/dist/{chunk-NH5IR2WM.js → chunk-YR65W7BV.js} +6 -2
- package/dist/chunk-YR65W7BV.js.map +1 -0
- package/dist/{chunk-GYPQL6XN.js → chunk-Z4N7SVVF.js} +35 -47
- package/dist/chunk-Z4N7SVVF.js.map +1 -0
- package/dist/{cli-DVUFIa5E.d.ts → cli-jfuZXixq.d.ts} +5 -5
- package/dist/cli.d.ts +14 -13
- package/dist/cli.js +74 -72
- package/dist/coding/pre-action-gate.d.ts +1 -1
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +30 -9
- 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 +3 -2
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +30 -9
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +29 -9
- 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 +3 -1
- package/dist/contradiction-scan-KCADHXPE.js +20 -0
- package/dist/converge-config.d.ts +1 -1
- package/dist/convergence-refresh.d.ts +2 -2
- package/dist/convergence-refresh.js +32 -11
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/backend.js +2 -2
- 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 -20
- 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-XzF76C9n.d.ts → dependency-propagation-delivery-CTDuAVJc.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-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +30 -9
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +9 -9
- package/dist/explicit-capture.js +6 -4
- package/dist/external-wiki-access.d.ts +12 -11
- package/dist/external-wiki-access.js +47 -45
- 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 +12 -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-prompt.d.ts +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 +29 -13
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/{first-start-migration-626C5554.js → first-start-migration-LMMZFLKK.js} +13 -5
- package/dist/first-start-migration-LMMZFLKK.js.map +1 -0
- 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-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.d.ts +1 -1
- 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 +1439 -716
- package/dist/index.js +207 -121
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +2 -2
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +5 -5
- 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-model-endpoint.d.ts +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +30 -9
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +30 -9
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +31 -10
- package/dist/{maintenance-BJzNIKBE.d.ts → maintenance-heMZSq7G.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +12 -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-mutations.js +2 -2
- package/dist/memory-projection-store.d.ts +6 -2
- package/dist/memory-projection-store.js +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 +20 -19
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +30 -9
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-file-io.d.ts +20 -0
- package/dist/offline-sync-file-io.js +18 -0
- package/dist/offline-sync-file-io.js.map +1 -0
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/offline-sync-impression-drain.js +5 -5
- package/dist/offline-sync.d.ts +8 -6
- package/dist/offline-sync.js +2 -1
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +22 -21
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +34 -32
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +35 -15
- package/dist/{orchestrator-BiXgBJBQ.d.ts → orchestrator-BQQPsSjs.d.ts} +11 -8
- package/dist/orchestrator.d.ts +9 -9
- package/dist/orchestrator.js +93 -91
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-sz_dcuLg.d.ts → pipeline-DFfmsnGk.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/{purge-533FZLS4.js → purge-GB7PZHT2.js} +2 -2
- package/dist/{qmd-eAWObK4M.d.ts → qmd-BF5bcVRs.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-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 +2 -1
- package/dist/reconcile/manifest.d.ts +2 -1
- package/dist/reconcile/manifest.js +6 -5
- package/dist/reconcile/plan.d.ts +2 -1
- package/dist/reconcile/plan.js +3 -2
- 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/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +4 -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/schemas.d.ts +138 -138
- package/dist/{scope-profiles-BBQsXuyj.d.ts → scope-profiles-CbUOsE_E.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 +4 -4
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +6 -6
- 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-HD8RkzVA.d.ts → semantic-consolidation-DAB3xdKM.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +31 -10
- package/dist/semantic-rule-promotion.js +30 -9
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +30 -9
- package/dist/{service-DIrtHHEg.d.ts → service-DGKg2O6r.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/signal.d.ts +1 -1
- package/dist/source-agent-qualifier.d.ts +1 -1
- package/dist/source-agent-qualifier.js +28 -12
- package/dist/{storage-DqCzXi56.d.ts → storage-CC1jKcWg.d.ts} +46 -13
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +30 -9
- package/dist/summarizer.d.ts +1 -1
- package/dist/summary-snapshot.d.ts +1 -1
- 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 +2 -2
- package/dist/tier-routing.js +7 -1
- package/dist/{tier-stats-2JCZYEF7.js → tier-stats-JDN6HRNT.js} +8 -2
- package/dist/{tier-stats-2JCZYEF7.js.map → tier-stats-JDN6HRNT.js.map} +1 -1
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- 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-d_j4vC6N.d.ts → types-BnQza1y8.d.ts} +2 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +2 -2
- package/dist/verified-recall.js +30 -9
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +2 -2
- package/src/access-http.test.ts +31 -0
- package/src/access-memory-search-fanout.ts +24 -1
- package/src/access-offline-manifest.ts +5 -0
- package/src/access-service-namespace.test.ts +14 -0
- package/src/access-service-observe-scope.test.ts +2 -0
- package/src/access-service-offline-file-content.test.ts +211 -0
- package/src/access-service.ts +20 -43
- package/src/active-memory-bridge.test.ts +151 -0
- package/src/active-memory-bridge.ts +87 -11
- package/src/briefing.test.ts +38 -0
- package/src/briefing.ts +3 -3
- package/src/cli.ts +6 -1
- package/src/connectors/codex-materialize-runner.ts +2 -0
- package/src/contradiction/contradiction-scan.ts +2 -0
- package/src/contradiction/contradiction.test.ts +42 -0
- package/src/correction/correction-access-wiring.ts +8 -2
- package/src/correction/correction-storage-integration.test.ts +7 -0
- package/src/explicit-capture.test.ts +24 -0
- package/src/explicit-capture.ts +2 -0
- package/src/index.ts +3 -0
- package/src/maintenance/first-start-migration.ts +2 -1
- package/src/maintenance/memory-governance.test.ts +25 -0
- package/src/maintenance/memory-governance.ts +4 -1
- package/src/maintenance/pattern-reinforcement.test.ts +20 -0
- package/src/maintenance/pattern-reinforcement.ts +2 -1
- package/src/maintenance/rebuild-memory-projection.ts +8 -8
- package/src/memory-projection-store.ts +25 -27
- package/src/offline-sync-file-io.ts +68 -0
- package/src/offline-sync.ts +43 -57
- package/src/orchestration/consolidation-run.ts +5 -4
- package/src/orchestration/contradiction-linking-coordinator.ts +7 -0
- package/src/orchestration/contradiction-localization.integration.test.ts +115 -0
- package/src/orchestration/lifecycle-policy-coordinator.ts +2 -1
- package/src/orchestration/qmd-result-resolver.test.ts +215 -14
- package/src/orchestration/qmd-result-resolver.ts +142 -82
- package/src/orchestration/recall-search-pipeline.test.ts +41 -0
- package/src/orchestration/recall-search-pipeline.ts +12 -0
- package/src/orchestration/semantic-consolidation-coordinator.ts +2 -1
- package/src/orchestration/tier-migration-coordinator.ts +23 -56
- package/src/orchestration/workspace-ops.test.ts +37 -0
- package/src/orchestration/workspace-ops.ts +5 -29
- package/src/orchestrator.ts +7 -8
- package/src/storage/supersession-audit.ts +7 -1
- package/src/storage/supersession-side-effects.ts +17 -5
- package/src/storage.ts +18 -19
- package/src/support-passport/card-projection.test.ts +129 -0
- package/src/support-passport/card-projection.ts +287 -0
- package/src/support-passport/card-service.test.ts +2462 -0
- package/src/support-passport/card-service.ts +1042 -0
- package/src/support-passport/contracts.test.ts +143 -0
- package/src/support-passport/contracts.ts +136 -0
- package/src/support-passport/errors.ts +24 -0
- package/src/support-passport/grant-contracts.ts +139 -0
- package/src/support-passport/grant-service-cache.test.ts +148 -0
- package/src/support-passport/grant-service-cancellation.test.ts +81 -0
- package/src/support-passport/grant-service.test.ts +2882 -0
- package/src/support-passport/grant-service.ts +364 -0
- package/src/support-passport/grant-store-commit-hook.test.ts +123 -0
- package/src/support-passport/grant-store-order.test.ts +60 -0
- package/src/support-passport/grant-store-path-safety.test.ts +30 -0
- package/src/support-passport/grant-store-recovery.test.ts +448 -0
- package/src/support-passport/grant-store.ts +902 -0
- package/src/support-passport/index.ts +7 -0
- package/src/support-passport/offline-sync-guard.ts +230 -0
- package/src/support-passport/owner-lock.ts +53 -0
- package/src/support-passport/private-file.ts +371 -0
- package/src/tier-routing.ts +28 -17
- package/src/training-export/converter.test.ts +24 -0
- package/src/training-export/converter.ts +2 -0
- package/src/types.ts +1 -1
- package/src/wearables/service.test.ts +13 -0
- package/src/wearables/service.ts +2 -0
- package/dist/chunk-3CSX3ETE.js.map +0 -1
- package/dist/chunk-6LAPLZOS.js.map +0 -1
- package/dist/chunk-6R4G7N4S.js.map +0 -1
- package/dist/chunk-7BZOBA5J.js.map +0 -1
- package/dist/chunk-CYF6WVE7.js.map +0 -1
- package/dist/chunk-G2LUMAUF.js.map +0 -1
- package/dist/chunk-GYPQL6XN.js.map +0 -1
- package/dist/chunk-JDZPNCMA.js.map +0 -1
- package/dist/chunk-JV5YUBIZ.js.map +0 -1
- package/dist/chunk-NH5IR2WM.js.map +0 -1
- package/dist/chunk-RUMNY5DT.js.map +0 -1
- package/dist/chunk-S75M5ZRK.js.map +0 -1
- package/dist/chunk-T2JHZWH6.js.map +0 -1
- package/dist/chunk-UTRO5UJU.js.map +0 -1
- package/dist/chunk-XUAMCLY4.js.map +0 -1
- package/dist/contradiction-scan-HYLIRMJ2.js +0 -14
- package/dist/first-start-migration-626C5554.js.map +0 -1
- /package/dist/{chunk-47P3RYZP.js.map → chunk-2INWPC6E.js.map} +0 -0
- /package/dist/{chunk-WOPA3SGI.js.map → chunk-3OTSVCPK.js.map} +0 -0
- /package/dist/{chunk-PX2LSHYM.js.map → chunk-3SXLD5T3.js.map} +0 -0
- /package/dist/{chunk-C4ZNGVK3.js.map → chunk-5JKUSBMX.js.map} +0 -0
- /package/dist/{chunk-MAXVH44E.js.map → chunk-6NNNURLK.js.map} +0 -0
- /package/dist/{chunk-LJS7KUPV.js.map → chunk-6PZGKGAO.js.map} +0 -0
- /package/dist/{chunk-YN6ASZUG.js.map → chunk-6QPI2ITJ.js.map} +0 -0
- /package/dist/{chunk-CGVHPCP2.js.map → chunk-7Q7JWLQ4.js.map} +0 -0
- /package/dist/{chunk-227UFSEQ.js.map → chunk-7RZJWZ46.js.map} +0 -0
- /package/dist/{chunk-JBPKEARU.js.map → chunk-AU7Q3LSC.js.map} +0 -0
- /package/dist/{chunk-PDDTI7IC.js.map → chunk-B4T3FQMT.js.map} +0 -0
- /package/dist/{chunk-APPFNGX6.js.map → chunk-BSXGTDVJ.js.map} +0 -0
- /package/dist/{chunk-4IIFL7GC.js.map → chunk-CLKBV3Z3.js.map} +0 -0
- /package/dist/{chunk-ZYLC7NFO.js.map → chunk-CSY44OKU.js.map} +0 -0
- /package/dist/{chunk-HLYR2TQL.js.map → chunk-CUTFSLSD.js.map} +0 -0
- /package/dist/{chunk-RDJRFDJY.js.map → chunk-DBY26JJJ.js.map} +0 -0
- /package/dist/{chunk-QWGE2PUH.js.map → chunk-DDA55IVB.js.map} +0 -0
- /package/dist/{chunk-VMMQDEN5.js.map → chunk-DN2IDKI5.js.map} +0 -0
- /package/dist/{chunk-2GFK22OZ.js.map → chunk-DOOWFDWN.js.map} +0 -0
- /package/dist/{chunk-7FGL6CGA.js.map → chunk-DVYRD4HY.js.map} +0 -0
- /package/dist/{chunk-YGLY6QFV.js.map → chunk-F2Y6I74C.js.map} +0 -0
- /package/dist/{chunk-UU7TRFNE.js.map → chunk-FFEBSFVT.js.map} +0 -0
- /package/dist/{chunk-NIS256NW.js.map → chunk-JKW663ZN.js.map} +0 -0
- /package/dist/{chunk-G7A5HLUS.js.map → chunk-KJH6W2I7.js.map} +0 -0
- /package/dist/{chunk-HWRD23DW.js.map → chunk-LVKYLMSM.js.map} +0 -0
- /package/dist/{chunk-ZMYDYNI4.js.map → chunk-N7CXQ5TA.js.map} +0 -0
- /package/dist/{chunk-3JLPGJ43.js.map → chunk-NGT35IGQ.js.map} +0 -0
- /package/dist/{chunk-GUKBW4HL.js.map → chunk-NQMSEB5D.js.map} +0 -0
- /package/dist/{chunk-WRJVB3C2.js.map → chunk-PO7NXBG2.js.map} +0 -0
- /package/dist/{chunk-WM65LU67.js.map → chunk-QOQQMVR2.js.map} +0 -0
- /package/dist/{chunk-QHFV6VNU.js.map → chunk-QPAQSG3F.js.map} +0 -0
- /package/dist/{chunk-UES4BHA2.js.map → chunk-QTO6BMQZ.js.map} +0 -0
- /package/dist/{chunk-THPPCISA.js.map → chunk-RBII7637.js.map} +0 -0
- /package/dist/{chunk-QT2FRYI4.js.map → chunk-RG426DJO.js.map} +0 -0
- /package/dist/{chunk-VKXWK44Q.js.map → chunk-TY6MKIWP.js.map} +0 -0
- /package/dist/{chunk-AZM4CCAC.js.map → chunk-UWJNKGBA.js.map} +0 -0
- /package/dist/{chunk-ZPJ4QSGP.js.map → chunk-VTU5IEKY.js.map} +0 -0
- /package/dist/{chunk-RZ4XGKOJ.js.map → chunk-VYQ4URQB.js.map} +0 -0
- /package/dist/{chunk-WDBX6VER.js.map → chunk-VZRFGJCH.js.map} +0 -0
- /package/dist/{chunk-IBKR2TFR.js.map → chunk-WM5LD6AT.js.map} +0 -0
- /package/dist/{chunk-K4QS7LXU.js.map → chunk-WZWZRZ2V.js.map} +0 -0
- /package/dist/{chunk-G4T7L557.js.map → chunk-XKAR4RF6.js.map} +0 -0
- /package/dist/{chunk-DZD576ZU.js.map → chunk-XSV2YDCJ.js.map} +0 -0
- /package/dist/{chunk-G7Z6EENO.js.map → chunk-YDWPYDML.js.map} +0 -0
- /package/dist/{chunk-6HPHEFXT.js.map → chunk-YKZLOPTC.js.map} +0 -0
- /package/dist/{contradiction-scan-HYLIRMJ2.js.map → contradiction-scan-KCADHXPE.js.map} +0 -0
- /package/dist/{purge-533FZLS4.js.map → purge-GB7PZHT2.js.map} +0 -0
|
@@ -15,13 +15,16 @@ import {
|
|
|
15
15
|
buildRetiredFactTombstoneInputs,
|
|
16
16
|
collectRetiredMemoriesForRebuild
|
|
17
17
|
} from "./chunk-MLPTFODV.js";
|
|
18
|
+
import {
|
|
19
|
+
normalizeQmdResultPath
|
|
20
|
+
} from "./chunk-DN2IDKI5.js";
|
|
18
21
|
import {
|
|
19
22
|
withholdToolScopedFromSharedNamespace
|
|
20
23
|
} from "./chunk-S2V7RUCL.js";
|
|
21
24
|
import {
|
|
22
25
|
SPECULATIVE_TTL_DAYS,
|
|
23
26
|
confidenceTier
|
|
24
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-BIF4SHMD.js";
|
|
25
28
|
import {
|
|
26
29
|
normalizeProjectionPreview,
|
|
27
30
|
normalizeProjectionTags
|
|
@@ -29,7 +32,7 @@ import {
|
|
|
29
32
|
import {
|
|
30
33
|
rewriteProjectedEntityReferences,
|
|
31
34
|
rewriteProjectedMemoryEntityReference
|
|
32
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-PO7NXBG2.js";
|
|
33
36
|
import {
|
|
34
37
|
createMemorySnapshot
|
|
35
38
|
} from "./chunk-S2HLHAZ4.js";
|
|
@@ -56,7 +59,7 @@ import {
|
|
|
56
59
|
isQueuedReviewMemory,
|
|
57
60
|
parseTombstoneBlockedOfflineSyncMemory,
|
|
58
61
|
tombstoneBlocked
|
|
59
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-WZWZRZ2V.js";
|
|
60
63
|
import {
|
|
61
64
|
composeMemoryEnvelope,
|
|
62
65
|
isSealedMemoryEnvelope,
|
|
@@ -153,10 +156,7 @@ import {
|
|
|
153
156
|
readMemoryActionEventRowsFromLines,
|
|
154
157
|
readProjectionRebuiltAt,
|
|
155
158
|
serializeLifecycleAppendPayload
|
|
156
|
-
} from "./chunk-
|
|
157
|
-
import {
|
|
158
|
-
namespaceIdentityFromToken
|
|
159
|
-
} from "./chunk-EGGE52UU.js";
|
|
159
|
+
} from "./chunk-DVYRD4HY.js";
|
|
160
160
|
import {
|
|
161
161
|
assertMemoryFrontmatterId,
|
|
162
162
|
warnProjectionFallback
|
|
@@ -182,18 +182,24 @@ import {
|
|
|
182
182
|
readProjectedMemoryState,
|
|
183
183
|
readProjectedMemoryTimeline,
|
|
184
184
|
updateProjectedMemoryPath
|
|
185
|
-
} from "./chunk-
|
|
186
|
-
import {
|
|
187
|
-
assemblePersistedBody,
|
|
188
|
-
storedContentIdentityCandidates,
|
|
189
|
-
stripAttributesSuffix
|
|
190
|
-
} from "./chunk-JDSVLVCG.js";
|
|
185
|
+
} from "./chunk-2LWQSV6A.js";
|
|
191
186
|
import {
|
|
192
187
|
withHeldFileLock
|
|
193
188
|
} from "./chunk-FFAZ2XFU.js";
|
|
194
189
|
import {
|
|
195
190
|
computeLegacyContentHash
|
|
196
191
|
} from "./chunk-5FVVY2EB.js";
|
|
192
|
+
import {
|
|
193
|
+
isSupportPassportPrivateMemory
|
|
194
|
+
} from "./chunk-HNDIND7P.js";
|
|
195
|
+
import {
|
|
196
|
+
namespaceIdentityFromToken
|
|
197
|
+
} from "./chunk-EGGE52UU.js";
|
|
198
|
+
import {
|
|
199
|
+
assemblePersistedBody,
|
|
200
|
+
storedContentIdentityCandidates,
|
|
201
|
+
stripAttributesSuffix
|
|
202
|
+
} from "./chunk-JDSVLVCG.js";
|
|
197
203
|
import {
|
|
198
204
|
sanitizeMemoryContent
|
|
199
205
|
} from "./chunk-5GKPFL3S.js";
|
|
@@ -224,6 +230,7 @@ import {
|
|
|
224
230
|
isErrnoCode
|
|
225
231
|
} from "./chunk-5UZXUTVO.js";
|
|
226
232
|
import {
|
|
233
|
+
ALL_CATEGORY_DIRS,
|
|
227
234
|
RECALL_FALLBACK_DIRS,
|
|
228
235
|
categoryDirName,
|
|
229
236
|
getCategoryDir
|
|
@@ -3783,8 +3790,39 @@ function decodeYamlScalar(value) {
|
|
|
3783
3790
|
|
|
3784
3791
|
// src/orchestration/qmd-result-resolver.ts
|
|
3785
3792
|
import path7 from "path";
|
|
3793
|
+
var INTERNAL_QMD_ROOTS = /* @__PURE__ */ new Set([
|
|
3794
|
+
...ALL_CATEGORY_DIRS,
|
|
3795
|
+
"activity",
|
|
3796
|
+
"archive",
|
|
3797
|
+
"artifacts",
|
|
3798
|
+
"cold",
|
|
3799
|
+
"config",
|
|
3800
|
+
"entities",
|
|
3801
|
+
"identity",
|
|
3802
|
+
"meetings",
|
|
3803
|
+
"namespaces",
|
|
3804
|
+
"state",
|
|
3805
|
+
"summaries",
|
|
3806
|
+
"transcripts",
|
|
3807
|
+
"wearables",
|
|
3808
|
+
"work",
|
|
3809
|
+
"workspace"
|
|
3810
|
+
]);
|
|
3811
|
+
var PRIVATE_RESULT_RESOLUTION_CONCURRENCY = 16;
|
|
3786
3812
|
function qmdCollectionPathParts(resultPath) {
|
|
3787
3813
|
if (!resultPath || path7.isAbsolute(resultPath)) return null;
|
|
3814
|
+
if (resultPath.trim().startsWith("qmd://")) {
|
|
3815
|
+
try {
|
|
3816
|
+
const parsed = new URL(resultPath.trim());
|
|
3817
|
+
if (parsed.protocol !== "qmd:" || !parsed.hostname) return null;
|
|
3818
|
+
const collection2 = parsed.hostname;
|
|
3819
|
+
const relativePath = normalizeQmdResultPath(resultPath, collection2).replace(/\\/g, "/").replace(/^\/+/, "");
|
|
3820
|
+
if (!relativePath) return null;
|
|
3821
|
+
return { collection: collection2, relativePath };
|
|
3822
|
+
} catch {
|
|
3823
|
+
return null;
|
|
3824
|
+
}
|
|
3825
|
+
}
|
|
3788
3826
|
const normalized = resultPath.replace(/\\/g, "/").replace(/^\/+/, "");
|
|
3789
3827
|
const slashIndex = normalized.indexOf("/");
|
|
3790
3828
|
if (slashIndex <= 0 || slashIndex >= normalized.length - 1) return null;
|
|
@@ -3848,6 +3886,7 @@ var QmdResultResolver = class {
|
|
|
3848
3886
|
const fallbackStorageDir = storageDirOrNull(fallbackStorage);
|
|
3849
3887
|
const config = this.getConfig();
|
|
3850
3888
|
const coldCollection = config.qmdColdCollection ?? "openclaw-engram-cold";
|
|
3889
|
+
const fallbackResultPath = resultPath.trim().startsWith("qmd://") && parts?.collection === config.qmdCollection ? parts.relativePath : resultPath;
|
|
3851
3890
|
if (parts && parts.collection === coldCollection) {
|
|
3852
3891
|
const storages = [];
|
|
3853
3892
|
const seenStorageDirs = /* @__PURE__ */ new Set();
|
|
@@ -3884,10 +3923,7 @@ var QmdResultResolver = class {
|
|
|
3884
3923
|
}
|
|
3885
3924
|
try {
|
|
3886
3925
|
const coldRoot = path7.join(storageDir, "cold");
|
|
3887
|
-
for (const candidate of qmdResultPathCandidates(
|
|
3888
|
-
coldRoot,
|
|
3889
|
-
parts.relativePath
|
|
3890
|
-
)) {
|
|
3926
|
+
for (const candidate of qmdResultPathCandidates(coldRoot, parts.relativePath)) {
|
|
3891
3927
|
const memory = await storage.readMemoryByPath(candidate);
|
|
3892
3928
|
if (memory) return memory;
|
|
3893
3929
|
}
|
|
@@ -3906,10 +3942,7 @@ var QmdResultResolver = class {
|
|
|
3906
3942
|
if (parts && collectionNamespace) {
|
|
3907
3943
|
try {
|
|
3908
3944
|
const collectionStorage = await this.storageFor(collectionNamespace);
|
|
3909
|
-
for (const candidate of qmdResultPathCandidates(
|
|
3910
|
-
collectionStorage.dir,
|
|
3911
|
-
parts.relativePath
|
|
3912
|
-
)) {
|
|
3945
|
+
for (const candidate of qmdResultPathCandidates(collectionStorage.dir, parts.relativePath)) {
|
|
3913
3946
|
const memory = await collectionStorage.readMemoryByPath(candidate);
|
|
3914
3947
|
if (memory) return memory;
|
|
3915
3948
|
}
|
|
@@ -3927,10 +3960,7 @@ var QmdResultResolver = class {
|
|
|
3927
3960
|
if (preferredNamespace) {
|
|
3928
3961
|
try {
|
|
3929
3962
|
const preferredStorage = await this.storageFor(preferredNamespace);
|
|
3930
|
-
for (const candidate of qmdResultPathCandidates(
|
|
3931
|
-
preferredStorage.dir,
|
|
3932
|
-
resultPath
|
|
3933
|
-
)) {
|
|
3963
|
+
for (const candidate of qmdResultPathCandidates(preferredStorage.dir, fallbackResultPath)) {
|
|
3934
3964
|
const memory = await preferredStorage.readMemoryByPath(candidate);
|
|
3935
3965
|
if (memory) return memory;
|
|
3936
3966
|
}
|
|
@@ -3942,54 +3972,77 @@ var QmdResultResolver = class {
|
|
|
3942
3972
|
error: err.message
|
|
3943
3973
|
});
|
|
3944
3974
|
}
|
|
3945
|
-
if (!path7.isAbsolute(
|
|
3975
|
+
if (!path7.isAbsolute(fallbackResultPath)) return null;
|
|
3946
3976
|
}
|
|
3947
|
-
if (path7.isAbsolute(
|
|
3977
|
+
if (path7.isAbsolute(fallbackResultPath)) {
|
|
3948
3978
|
if (!fallbackStorageDir) {
|
|
3949
|
-
return await fallbackStorage.readMemoryByPath(
|
|
3979
|
+
return await fallbackStorage.readMemoryByPath(fallbackResultPath);
|
|
3950
3980
|
}
|
|
3951
3981
|
const ownerStorage = await this.storageForAbsoluteQmdResultPath(
|
|
3952
|
-
|
|
3982
|
+
fallbackResultPath,
|
|
3953
3983
|
fallbackStorage,
|
|
3954
3984
|
recallNamespaces
|
|
3955
3985
|
);
|
|
3956
3986
|
if (!ownerStorage) return null;
|
|
3957
|
-
for (const candidate of qmdResultPathCandidates(
|
|
3958
|
-
ownerStorage.dir,
|
|
3959
|
-
resultPath
|
|
3960
|
-
)) {
|
|
3987
|
+
for (const candidate of qmdResultPathCandidates(ownerStorage.dir, fallbackResultPath)) {
|
|
3961
3988
|
const memory = await ownerStorage.storage.readMemoryByPath(candidate);
|
|
3962
3989
|
if (memory) return memory;
|
|
3963
3990
|
}
|
|
3964
3991
|
return null;
|
|
3965
3992
|
}
|
|
3966
3993
|
if (!fallbackStorageDir) {
|
|
3967
|
-
return await fallbackStorage.readMemoryByPath(
|
|
3994
|
+
return await fallbackStorage.readMemoryByPath(fallbackResultPath);
|
|
3968
3995
|
}
|
|
3969
|
-
for (const candidate of qmdResultPathCandidates(
|
|
3970
|
-
fallbackStorageDir,
|
|
3971
|
-
resultPath
|
|
3972
|
-
)) {
|
|
3996
|
+
for (const candidate of qmdResultPathCandidates(fallbackStorageDir, fallbackResultPath)) {
|
|
3973
3997
|
const memory = await fallbackStorage.readMemoryByPath(candidate);
|
|
3974
3998
|
if (memory) return memory;
|
|
3975
3999
|
}
|
|
3976
4000
|
return null;
|
|
3977
4001
|
}
|
|
4002
|
+
async filterPrivateSearchResults(results, fallbackStorage, namespaces = [], preserveUnresolved = false, visibilityCache = /* @__PURE__ */ new Map()) {
|
|
4003
|
+
const namespaceKey = namespaces.join("\0");
|
|
4004
|
+
const entries = results.filter((result) => Boolean(result.path)).map((result) => ({
|
|
4005
|
+
result,
|
|
4006
|
+
cacheKey: `${namespaceKey}\0${preserveUnresolved ? "1" : "0"}\0${result.namespace ?? ""}\0${result.path}`
|
|
4007
|
+
}));
|
|
4008
|
+
const pending = /* @__PURE__ */ new Map();
|
|
4009
|
+
for (const { result, cacheKey } of entries) {
|
|
4010
|
+
if (!visibilityCache.has(cacheKey)) pending.set(cacheKey, result);
|
|
4011
|
+
}
|
|
4012
|
+
const unresolved = [...pending];
|
|
4013
|
+
for (let offset = 0; offset < unresolved.length; offset += PRIVATE_RESULT_RESOLUTION_CONCURRENCY) {
|
|
4014
|
+
await Promise.all(
|
|
4015
|
+
unresolved.slice(offset, offset + PRIVATE_RESULT_RESOLUTION_CONCURRENCY).map(async ([cacheKey, result]) => {
|
|
4016
|
+
visibilityCache.set(
|
|
4017
|
+
cacheKey,
|
|
4018
|
+
await this.isVisibleSearchResult(result, fallbackStorage, namespaces, preserveUnresolved)
|
|
4019
|
+
);
|
|
4020
|
+
})
|
|
4021
|
+
);
|
|
4022
|
+
}
|
|
4023
|
+
return entries.filter(({ cacheKey }) => visibilityCache.get(cacheKey) === true).map(({ result }) => result);
|
|
4024
|
+
}
|
|
4025
|
+
async isVisibleSearchResult(result, fallbackStorage, namespaces, preserveUnresolved) {
|
|
4026
|
+
const parts = qmdCollectionPathParts(result.path);
|
|
4027
|
+
const config = this.getConfig();
|
|
4028
|
+
const collectionIsKnownInternal = parts !== null && INTERNAL_QMD_ROOTS.has(parts.collection);
|
|
4029
|
+
const collectionIsConfigured = parts !== null && (parts.collection === config.qmdCollection || parts.collection === (config.qmdColdCollection ?? "openclaw-engram-cold") || this.qmdCollectionNamespaceFromPrefix(parts.collection) !== null);
|
|
4030
|
+
let memory = await this.readQmdResultMemory(result.path, fallbackStorage, namespaces, result.namespace);
|
|
4031
|
+
if (!memory && parts && !collectionIsKnownInternal && !collectionIsConfigured) {
|
|
4032
|
+
memory = await this.readQmdResultMemory(parts.relativePath, fallbackStorage, namespaces, result.namespace);
|
|
4033
|
+
}
|
|
4034
|
+
const absoluteInsideMemoryRoot = path7.isAbsolute(result.path) && isPathInsideStorageRoot(path7.resolve(config.memoryDir), path7.resolve(result.path));
|
|
4035
|
+
const hasExplicitQmdCollection = result.path.trim().startsWith("qmd://");
|
|
4036
|
+
const unresolvedInternalPath = !memory && (absoluteInsideMemoryRoot || collectionIsKnownInternal && (!preserveUnresolved || hasExplicitQmdCollection) || hasExplicitQmdCollection && collectionIsConfigured);
|
|
4037
|
+
const unresolvedExternalCollection = !memory && (parts !== null && !collectionIsKnownInternal && !collectionIsConfigured || path7.isAbsolute(result.path) && !isPathInsideStorageRoot(path7.resolve(config.memoryDir), path7.resolve(result.path)));
|
|
4038
|
+
return memory !== null && !isSupportPassportPrivateMemory(memory) || !memory && !unresolvedInternalPath && (preserveUnresolved || unresolvedExternalCollection);
|
|
4039
|
+
}
|
|
3978
4040
|
async resolveColdQmdResultForRecall(result, fallbackStorage, recallNamespaces = []) {
|
|
3979
|
-
const memory = await this.readQmdResultMemory(
|
|
3980
|
-
result.path,
|
|
3981
|
-
fallbackStorage,
|
|
3982
|
-
recallNamespaces,
|
|
3983
|
-
result.namespace
|
|
3984
|
-
);
|
|
4041
|
+
const memory = await this.readQmdResultMemory(result.path, fallbackStorage, recallNamespaces, result.namespace);
|
|
3985
4042
|
if (!memory) return null;
|
|
3986
4043
|
let ownerNamespace = null;
|
|
3987
4044
|
if (path7.isAbsolute(memory.path)) {
|
|
3988
|
-
const ownerStorage = await this.storageForAbsoluteQmdResultPath(
|
|
3989
|
-
memory.path,
|
|
3990
|
-
fallbackStorage,
|
|
3991
|
-
recallNamespaces
|
|
3992
|
-
);
|
|
4045
|
+
const ownerStorage = await this.storageForAbsoluteQmdResultPath(memory.path, fallbackStorage, recallNamespaces);
|
|
3993
4046
|
ownerNamespace = ownerStorage?.namespace ?? null;
|
|
3994
4047
|
if (!ownerNamespace && resolveNamespaceCapabilities(this.getConfig()).namespaces) return null;
|
|
3995
4048
|
}
|
|
@@ -4039,9 +4092,7 @@ var QmdResultResolver = class {
|
|
|
4039
4092
|
const relativeToNamespaces = path7.relative(namespacesRoot, resolvedPath);
|
|
4040
4093
|
const [namespaceSegment] = relativeToNamespaces.split(/[\\/]/);
|
|
4041
4094
|
if (namespaceSegment) {
|
|
4042
|
-
candidateNamespaces.add(
|
|
4043
|
-
namespaceIdentityFromToken(namespaceSegment) ?? namespaceSegment
|
|
4044
|
-
);
|
|
4095
|
+
candidateNamespaces.add(namespaceIdentityFromToken(namespaceSegment) ?? namespaceSegment);
|
|
4045
4096
|
}
|
|
4046
4097
|
}
|
|
4047
4098
|
for (const policy of config.namespacePolicies ?? []) {
|
|
@@ -4052,7 +4103,6 @@ var QmdResultResolver = class {
|
|
|
4052
4103
|
try {
|
|
4053
4104
|
maybeAddStorage(await this.storageFor(ns), ns);
|
|
4054
4105
|
} catch {
|
|
4055
|
-
continue;
|
|
4056
4106
|
}
|
|
4057
4107
|
}
|
|
4058
4108
|
matches.sort((a, b) => b.dir.length - a.dir.length);
|
|
@@ -5443,7 +5493,7 @@ var SORT_STR = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
|
5443
5493
|
// src/storage/supersession-audit.ts
|
|
5444
5494
|
import { readdir as readdir5 } from "fs/promises";
|
|
5445
5495
|
import path10 from "path";
|
|
5446
|
-
async function hasSupersessionAudit(lookup, oldMemoryId, newMemoryId, auditBody) {
|
|
5496
|
+
async function hasSupersessionAudit(lookup, oldMemoryId, newMemoryId, auditBody, structuredAttributes) {
|
|
5447
5497
|
let entries;
|
|
5448
5498
|
try {
|
|
5449
5499
|
entries = await readdir5(lookup.correctionsDir, { withFileTypes: true });
|
|
@@ -5454,7 +5504,9 @@ async function hasSupersessionAudit(lookup, oldMemoryId, newMemoryId, auditBody)
|
|
|
5454
5504
|
for (const entry of entries) {
|
|
5455
5505
|
if (!entry.isFile() || !entry.name.endsWith(".md")) continue;
|
|
5456
5506
|
const memory = await lookup.readMemoryByPath(path10.join(lookup.correctionsDir, entry.name));
|
|
5457
|
-
if (memory?.frontmatter.category === "correction" && (memory.frontmatter.sourceMemoryId === oldMemoryId || memory.frontmatter.sourceMemoryId === void 0 && memory.frontmatter.lineage?.includes(oldMemoryId)) && memory.frontmatter.lineage?.includes(newMemoryId) && memory.content === auditBody)
|
|
5507
|
+
if (memory?.frontmatter.category === "correction" && (memory.frontmatter.sourceMemoryId === oldMemoryId || memory.frontmatter.sourceMemoryId === void 0 && memory.frontmatter.lineage?.includes(oldMemoryId)) && memory.frontmatter.lineage?.includes(newMemoryId) && stripAttributesSuffix(memory.content) === auditBody && (structuredAttributes === void 0 || Object.entries(structuredAttributes).every(
|
|
5508
|
+
([key, value]) => memory.frontmatter.structuredAttributes?.[key] === value
|
|
5509
|
+
))) {
|
|
5458
5510
|
return true;
|
|
5459
5511
|
}
|
|
5460
5512
|
}
|
|
@@ -5502,7 +5554,7 @@ async function runSupersessionSideEffects(options) {
|
|
|
5502
5554
|
if (!exists) await options.appendTombstone(exactInput);
|
|
5503
5555
|
}
|
|
5504
5556
|
}
|
|
5505
|
-
const auditBody = `Superseded: ${currentBefore.content}
|
|
5557
|
+
const auditBody = `Superseded: ${options.audit?.content ?? currentBefore.content}
|
|
5506
5558
|
|
|
5507
5559
|
Reason: ${reason}`;
|
|
5508
5560
|
const auditExists = await hasSupersessionAudit(
|
|
@@ -5512,7 +5564,8 @@ Reason: ${reason}`;
|
|
|
5512
5564
|
},
|
|
5513
5565
|
oldMemoryId,
|
|
5514
5566
|
newMemoryId,
|
|
5515
|
-
auditBody
|
|
5567
|
+
auditBody,
|
|
5568
|
+
options.audit?.structuredAttributes
|
|
5516
5569
|
);
|
|
5517
5570
|
if (!auditExists) {
|
|
5518
5571
|
const auditEnvelope = composeMemoryEnvelope(
|
|
@@ -5520,11 +5573,13 @@ Reason: ${reason}`;
|
|
|
5520
5573
|
content: auditBody,
|
|
5521
5574
|
category: "correction",
|
|
5522
5575
|
confidence: 1,
|
|
5523
|
-
tags: ["supersession", "auto-resolved"]
|
|
5576
|
+
tags: options.audit?.tags ?? ["supersession", "auto-resolved"],
|
|
5577
|
+
structuredAttributes: options.audit?.structuredAttributes
|
|
5524
5578
|
},
|
|
5525
|
-
{ source: "contradiction-detection" }
|
|
5579
|
+
{ source: options.audit?.source ?? "contradiction-detection" }
|
|
5526
5580
|
);
|
|
5527
5581
|
await options.writeSealedMemory(auditEnvelope, {
|
|
5582
|
+
actor: options.actor,
|
|
5528
5583
|
lineage: [oldMemoryId, newMemoryId],
|
|
5529
5584
|
sourceMemoryId: oldMemoryId
|
|
5530
5585
|
});
|
|
@@ -8693,7 +8748,8 @@ ${sanitized.text}
|
|
|
8693
8748
|
id: duplicateBlocked.frontmatter.id,
|
|
8694
8749
|
tombstoneBlocked: true,
|
|
8695
8750
|
blockedBy: duplicateBlocked.frontmatter.blockedBy,
|
|
8696
|
-
duplicateOf: duplicateBlocked.frontmatter.id
|
|
8751
|
+
duplicateOf: duplicateBlocked.frontmatter.id,
|
|
8752
|
+
memory: duplicateBlocked
|
|
8697
8753
|
};
|
|
8698
8754
|
}
|
|
8699
8755
|
await this.patchHotMemoriesCache({ addedPath: filePath }, "memory-create");
|
|
@@ -8724,7 +8780,7 @@ ${sanitized.text}
|
|
|
8724
8780
|
}
|
|
8725
8781
|
}
|
|
8726
8782
|
log.debug(`wrote memory ${id} to ${filePath}`);
|
|
8727
|
-
return { id, tombstoneBlocked: tombstoneBlocked2, ...fm.blockedBy ? { blockedBy: fm.blockedBy } : {} };
|
|
8783
|
+
return { id, tombstoneBlocked: tombstoneBlocked2, ...fm.blockedBy ? { blockedBy: fm.blockedBy } : {}, memory: { path: filePath, frontmatter: fm, content: sanitized.text } };
|
|
8728
8784
|
}
|
|
8729
8785
|
/**
|
|
8730
8786
|
* Sealed-envelope write entry point (issue #1989 PR2).
|
|
@@ -10763,20 +10819,15 @@ ${current.content}
|
|
|
10763
10819
|
}
|
|
10764
10820
|
return updated;
|
|
10765
10821
|
}
|
|
10766
|
-
/**
|
|
10767
|
-
* Get a memory by its ID.
|
|
10768
|
-
*/
|
|
10769
10822
|
async getMemoryById(id) {
|
|
10770
10823
|
const memories = await this.readAllMemories();
|
|
10771
10824
|
return memories.find((m) => m.frontmatter.id === id) ?? null;
|
|
10772
10825
|
}
|
|
10773
|
-
|
|
10774
|
-
|
|
10775
|
-
|
|
10776
|
-
|
|
10777
|
-
|
|
10778
|
-
* for citation usage tracking and other existence checks.
|
|
10779
|
-
*/
|
|
10826
|
+
async getMemoryByIdIncludingArchived(id) {
|
|
10827
|
+
const active = await this.getMemoryById(id);
|
|
10828
|
+
return active ?? (await this.readAllColdMemories()).find((memory) => memory.frontmatter.id === id) ?? (await this.readArchivedMemories()).find((memory) => memory.frontmatter.id === id) ?? null;
|
|
10829
|
+
}
|
|
10830
|
+
/** Resolve existing active memory IDs through a lightweight directory scan. */
|
|
10780
10831
|
async findExistingMemoryPaths(ids, preferredPaths = /* @__PURE__ */ new Map()) {
|
|
10781
10832
|
if (ids.length === 0) return /* @__PURE__ */ new Map();
|
|
10782
10833
|
const wantedIds = new Set(ids);
|
|
@@ -10862,7 +10913,8 @@ ${current.content}
|
|
|
10862
10913
|
accessCount: memory.frontmatter.accessCount,
|
|
10863
10914
|
lastAccessed: memory.frontmatter.lastAccessed,
|
|
10864
10915
|
tags: normalizeProjectionTags(memory.frontmatter.tags),
|
|
10865
|
-
preview: normalizeProjectionPreview(memory.content)
|
|
10916
|
+
preview: normalizeProjectionPreview(memory.content),
|
|
10917
|
+
privateRecord: isSupportPassportPrivateMemory(memory)
|
|
10866
10918
|
};
|
|
10867
10919
|
}
|
|
10868
10920
|
async getMemoryTimeline(memoryId, limit = 200) {
|
|
@@ -11081,6 +11133,8 @@ ${current.content}
|
|
|
11081
11133
|
exactReplay,
|
|
11082
11134
|
currentBefore,
|
|
11083
11135
|
updatedFm,
|
|
11136
|
+
actor: options.actor,
|
|
11137
|
+
audit: options.audit,
|
|
11084
11138
|
citationTemplate: this.citationTemplate,
|
|
11085
11139
|
correctionsDir: this.correctionsDir,
|
|
11086
11140
|
readMemoryByPath: (filePath) => this.readMemoryByPath(filePath),
|
|
@@ -11104,7 +11158,7 @@ ${current.content}
|
|
|
11104
11158
|
memoryId: oldMemoryId,
|
|
11105
11159
|
eventType: "superseded",
|
|
11106
11160
|
timestamp: supersededAt,
|
|
11107
|
-
actor: "storage.supersedeMemory",
|
|
11161
|
+
actor: options.actor ?? "storage.supersedeMemory",
|
|
11108
11162
|
reasonCode: reason,
|
|
11109
11163
|
before: exactReplay ? { ...beforeState, status: "active" } : beforeState,
|
|
11110
11164
|
after: afterState,
|
|
@@ -11332,4 +11386,4 @@ export {
|
|
|
11332
11386
|
isValidBufferSurpriseEvent,
|
|
11333
11387
|
StorageManager3 as StorageManager
|
|
11334
11388
|
};
|
|
11335
|
-
//# sourceMappingURL=chunk-
|
|
11389
|
+
//# sourceMappingURL=chunk-QQXWFDRD.js.map
|