@remnic/core 9.3.726 → 9.3.728
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-boundary.d.ts +5 -5
- package/dist/access-boundary.js +22 -22
- package/dist/access-cli.js +45 -45
- package/dist/access-http.d.ts +20 -5
- package/dist/access-http.js +27 -27
- package/dist/access-mcp.d.ts +5 -5
- package/dist/access-mcp.js +26 -26
- package/dist/access-operations-batch.js +23 -23
- package/dist/access-operations.d.ts +6 -6
- package/dist/access-operations.js +25 -25
- package/dist/access-schema.d.ts +4 -4
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-B2PlPtxh.d.ts → access-service-Bgpjxo4f.d.ts} +36 -4
- package/dist/access-service.d.ts +5 -5
- package/dist/access-service.js +21 -21
- package/dist/access-surface-catalog.d.ts +5 -5
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +3 -3
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +4 -4
- package/dist/briefing.d.ts +1 -1
- package/dist/briefing.js +7 -7
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer.d.ts +1 -1
- package/dist/calibration.d.ts +1 -1
- package/dist/capabilities.d.ts +44 -2
- package/dist/capabilities.js +5 -3
- package/dist/{capsule-crypto-GWVG7LGC.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/{catalog-CzUb-GyD.d.ts → catalog-bMczlO2G.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 +8 -8
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/{chunk-OWHERGF2.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/{chunk-BIA7ELIB.js → chunk-36SEDFAU.js} +3 -3
- package/dist/{chunk-UQSVUEN2.js → chunk-37436GML.js} +2 -2
- package/dist/{chunk-DVRHLN2O.js → chunk-3RCBIOOJ.js} +18 -2
- package/dist/{chunk-DVRHLN2O.js.map → chunk-3RCBIOOJ.js.map} +1 -1
- package/dist/{chunk-RRHHQYJS.js → chunk-3TSTGI6F.js} +2 -2
- package/dist/{chunk-5OOA7SGX.js → chunk-4ESAR77N.js} +2 -2
- package/dist/{chunk-FO3HO52S.js → chunk-4H4F3BFL.js} +2 -2
- package/dist/{chunk-BEUCACTV.js → chunk-4NOI577P.js} +2 -2
- package/dist/{chunk-BBIE7W52.js → chunk-4NR2PDZ5.js} +2 -2
- package/dist/{chunk-WGTWGDR5.js → chunk-76NHR6ZL.js} +5 -5
- package/dist/{chunk-PKMQK2WY.js → chunk-773DPI6T.js} +4 -4
- package/dist/{chunk-MQVKHFIU.js → chunk-7RLCCNHU.js} +8 -8
- package/dist/{chunk-XGTBNVIU.js → chunk-AAD2ZS6P.js} +11 -1
- package/dist/chunk-AAD2ZS6P.js.map +1 -0
- package/dist/{chunk-EZNDNMRH.js → chunk-AQLOP5F4.js} +2 -2
- package/dist/{chunk-UNNDFYUX.js → chunk-ARV3AUOM.js} +5 -5
- package/dist/{chunk-NPL7VDM6.js → chunk-ASKXIAHD.js} +2 -2
- package/dist/{chunk-TQQH2FTX.js → chunk-BQCHEV7O.js} +106 -15
- package/dist/{chunk-TQQH2FTX.js.map → chunk-BQCHEV7O.js.map} +1 -1
- package/dist/{chunk-ZA2S2VLL.js → chunk-C2PG7IEH.js} +5 -2
- package/dist/chunk-C2PG7IEH.js.map +1 -0
- package/dist/{chunk-K4ZNARDO.js → chunk-CBWI22JN.js} +2 -2
- package/dist/{chunk-ZOHMPFOB.js → chunk-CKFLLAIS.js} +3 -3
- package/dist/{chunk-JPUT5NGH.js → chunk-DMQWV6SQ.js} +2 -2
- package/dist/{chunk-F3XZN24Z.js → chunk-DRUDC2UX.js} +2 -2
- package/dist/{chunk-KJR66XOM.js → chunk-EY6MDMHK.js} +2 -2
- package/dist/{chunk-3TUT4PWB.js → chunk-FVZ2ISIX.js} +2 -2
- package/dist/{chunk-C4X4QGIO.js → chunk-G6NKALRN.js} +5 -2
- package/dist/chunk-G6NKALRN.js.map +1 -0
- package/dist/{chunk-6SQQOJ4U.js → chunk-GKRLPHPU.js} +2 -2
- package/dist/{chunk-PLG6JHQS.js → chunk-H5BWGCRZ.js} +43 -42
- package/dist/chunk-H5BWGCRZ.js.map +1 -0
- package/dist/{chunk-2NBP25BG.js → chunk-HGNOCPZX.js} +171 -79
- package/dist/chunk-HGNOCPZX.js.map +1 -0
- package/dist/{chunk-5NWYQUQC.js → chunk-HOHVIVDR.js} +2 -2
- package/dist/{chunk-DCKNMLEQ.js → chunk-I5REUWLH.js} +11 -5
- package/dist/chunk-I5REUWLH.js.map +1 -0
- package/dist/{chunk-6WAJQKBS.js → chunk-JYLFZWUX.js} +2 -2
- package/dist/{chunk-5W7CTZ2E.js → chunk-KQAFEZQX.js} +4 -4
- package/dist/{chunk-UKTDXTWX.js → chunk-M4AYVEWS.js} +7 -7
- package/dist/{chunk-YTZ3VGC7.js → chunk-M4V2JVSZ.js} +2 -2
- package/dist/{chunk-TA3Y6GEX.js → chunk-MLKWJOAJ.js} +2 -2
- package/dist/{chunk-DQXPJ6HD.js → chunk-O6YH5F47.js} +4 -4
- package/dist/{chunk-7AG54AF3.js → chunk-PUR2CKX2.js} +1 -1
- package/dist/chunk-PUR2CKX2.js.map +1 -0
- package/dist/{chunk-OAHOL3ZC.js → chunk-QNEUZIAH.js} +152 -62
- package/dist/chunk-QNEUZIAH.js.map +1 -0
- package/dist/{chunk-Q6D75LVH.js → chunk-UM5AWJNQ.js} +79 -17
- package/dist/chunk-UM5AWJNQ.js.map +1 -0
- package/dist/{chunk-53EEQYE5.js → chunk-UTHQPSRC.js} +8 -8
- package/dist/{chunk-BB57OZWC.js → chunk-UVPL565C.js} +2 -2
- package/dist/{chunk-6AFVIOVZ.js → chunk-V4GNSDFH.js} +2 -2
- package/dist/{chunk-EHISUJFN.js → chunk-WAS3NV46.js} +6 -3
- package/dist/chunk-WAS3NV46.js.map +1 -0
- package/dist/{chunk-UVYI6VIX.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-V7CMKMHM.js → chunk-Y4YD5TYW.js} +3 -3
- package/dist/{chunk-7NS7AWMZ.js → chunk-YGIQORJ3.js} +3 -3
- package/dist/{chunk-MDBZTH7N.js → chunk-YKBHOBJK.js} +44 -10
- package/dist/chunk-YKBHOBJK.js.map +1 -0
- package/dist/{chunk-3MS3QVX6.js → chunk-YOLZS7NY.js} +2 -2
- package/dist/{chunk-6OIDDKAA.js → chunk-YTU7WKYN.js} +35 -9
- package/dist/chunk-YTU7WKYN.js.map +1 -0
- package/dist/{cli-IOlDHSBT.d.ts → cli-BLME420h.d.ts} +3 -3
- package/dist/cli.d.ts +6 -6
- package/dist/cli.js +49 -49
- package/dist/compat/codex-cli-fallback.d.ts +1 -0
- package/dist/compat/codex-cli-fallback.js +22 -0
- package/dist/compat/codex-cli-fallback.js.map +1 -0
- package/dist/compat/codex-thread-key.d.ts +1 -0
- package/dist/compat/codex-thread-key.js +18 -0
- package/dist/compat/codex-thread-key.js.map +1 -0
- package/dist/compounding/engine.d.ts +1 -1
- package/dist/compounding/engine.js +7 -7
- 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 -3
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +7 -7
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +7 -7
- package/dist/consolidation-provenance-check.d.ts +1 -1
- package/dist/consolidation-undo.d.ts +1 -1
- package/dist/contradiction/index.d.ts +1 -1
- 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/day-summary.d.ts +1 -1
- package/dist/delinearize.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 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +1 -1
- package/dist/entity-retrieval.js +7 -7
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +4 -4
- package/dist/extraction-faithfulness.d.ts +1 -1
- package/dist/extraction-faithfulness.js +2 -2
- 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.d.ts +1 -1
- package/dist/extraction.js +3 -2
- package/dist/faithfulness-config.d.ts +1 -0
- package/dist/faithfulness-config.js +1 -1
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/{first-start-migration-PG5HBC3K.js → first-start-migration-22LPFHD5.js} +6 -2
- package/dist/first-start-migration-22LPFHD5.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-snapshot.d.ts +1 -1
- package/dist/graph.d.ts +1 -1
- package/dist/identity-continuity.d.ts +1 -1
- package/dist/importance.d.ts +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.js +64 -64
- 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 +7 -7
- 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 +9 -4
- package/dist/local-model-endpoint.js +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +7 -7
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -7
- package/dist/maintenance/rebuild-memory-projection.js +8 -8
- package/dist/mcp-memory-inspector-app.d.ts +5 -5
- 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-worth-outcomes.d.ts +1 -1
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +2 -2
- package/dist/namespaces/migrate.js +14 -13
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +6 -5
- package/dist/namespaces/storage.d.ts +2 -2
- package/dist/namespaces/storage.js +7 -7
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +1 -1
- package/dist/operator-toolkit.js +20 -20
- package/dist/orchestration/maintenance.d.ts +2 -2
- package/dist/orchestration/maintenance.js +9 -9
- package/dist/{orchestrator-C_OMSIMZ.d.ts → orchestrator-DqPAz8ot.d.ts} +3 -3
- package/dist/orchestrator.d.ts +4 -4
- package/dist/orchestrator.js +33 -33
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/provenance.js +1 -1
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.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-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-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/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +4 -4
- package/dist/retrieval-agents.d.ts +1 -1
- 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/search/embed-helper.d.ts +1 -1
- package/dist/search/embed-helper.js +2 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +5 -4
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +9 -8
- 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-B8LiYtvx.d.ts → semantic-consolidation-Cl15ksZy.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +8 -8
- package/dist/semantic-rule-promotion.js +7 -7
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +7 -7
- 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 +1 -1
- package/dist/signal.d.ts +1 -1
- package/dist/storage.d.ts +1 -1
- package/dist/storage.js +6 -6
- package/dist/summarizer.d.ts +1 -1
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/temporal-supersession.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 +1 -1
- package/dist/tier-routing.d.ts +1 -1
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-DmTaqob2.d.ts → types-ChQb9D6s.d.ts} +8 -0
- 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 +7 -7
- package/package.json +26 -2
- package/src/access-http.ts +68 -1
- package/src/access-service.ts +2 -1
- package/src/admin/admin-surfaces.test.ts +289 -0
- package/src/admin/admin-surfaces.ts +138 -7
- package/src/bitemporal-dedup-backfill.test.ts +294 -0
- package/src/capabilities.test.ts +155 -0
- package/src/capabilities.ts +91 -0
- package/src/chat/chat-engine.test.ts +104 -1
- package/src/chat/chat-http.test.ts +119 -1
- package/src/chat/chat-http.ts +252 -97
- package/src/chat/chat-session.ts +166 -7
- package/src/cli.ts +3 -2
- package/src/compat/codex-cli-fallback.ts +23 -0
- package/src/compat/codex-subpath-aliases.test.ts +93 -0
- package/src/compat/codex-thread-key.ts +23 -0
- package/src/embedding-fallback.ts +2 -1
- package/src/extraction-faithfulness.test.ts +240 -0
- package/src/extraction-faithfulness.ts +58 -6
- package/src/extraction.ts +7 -3
- package/src/faithfulness-config.ts +16 -1
- package/src/local-model-endpoint.ts +24 -3
- package/src/maintenance/first-start-migration.ts +3 -1
- package/src/orchestrator.ts +238 -34
- package/src/provenance-extraction.test.ts +266 -0
- package/src/provenance.ts +66 -16
- package/src/search/embed-helper.ts +3 -2
- package/src/types.ts +8 -0
- package/dist/chunk-2NBP25BG.js.map +0 -1
- package/dist/chunk-6OIDDKAA.js.map +0 -1
- package/dist/chunk-7AG54AF3.js.map +0 -1
- package/dist/chunk-C4X4QGIO.js.map +0 -1
- package/dist/chunk-DCKNMLEQ.js.map +0 -1
- package/dist/chunk-EHISUJFN.js.map +0 -1
- package/dist/chunk-MDBZTH7N.js.map +0 -1
- package/dist/chunk-OAHOL3ZC.js.map +0 -1
- package/dist/chunk-PLG6JHQS.js.map +0 -1
- package/dist/chunk-Q6D75LVH.js.map +0 -1
- package/dist/chunk-XGTBNVIU.js.map +0 -1
- package/dist/chunk-ZA2S2VLL.js.map +0 -1
- package/dist/first-start-migration-PG5HBC3K.js.map +0 -1
- /package/dist/{capsule-crypto-GWVG7LGC.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
- /package/dist/{chunk-OWHERGF2.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-BIA7ELIB.js.map → chunk-36SEDFAU.js.map} +0 -0
- /package/dist/{chunk-UQSVUEN2.js.map → chunk-37436GML.js.map} +0 -0
- /package/dist/{chunk-RRHHQYJS.js.map → chunk-3TSTGI6F.js.map} +0 -0
- /package/dist/{chunk-5OOA7SGX.js.map → chunk-4ESAR77N.js.map} +0 -0
- /package/dist/{chunk-FO3HO52S.js.map → chunk-4H4F3BFL.js.map} +0 -0
- /package/dist/{chunk-BEUCACTV.js.map → chunk-4NOI577P.js.map} +0 -0
- /package/dist/{chunk-BBIE7W52.js.map → chunk-4NR2PDZ5.js.map} +0 -0
- /package/dist/{chunk-WGTWGDR5.js.map → chunk-76NHR6ZL.js.map} +0 -0
- /package/dist/{chunk-PKMQK2WY.js.map → chunk-773DPI6T.js.map} +0 -0
- /package/dist/{chunk-MQVKHFIU.js.map → chunk-7RLCCNHU.js.map} +0 -0
- /package/dist/{chunk-EZNDNMRH.js.map → chunk-AQLOP5F4.js.map} +0 -0
- /package/dist/{chunk-UNNDFYUX.js.map → chunk-ARV3AUOM.js.map} +0 -0
- /package/dist/{chunk-NPL7VDM6.js.map → chunk-ASKXIAHD.js.map} +0 -0
- /package/dist/{chunk-K4ZNARDO.js.map → chunk-CBWI22JN.js.map} +0 -0
- /package/dist/{chunk-ZOHMPFOB.js.map → chunk-CKFLLAIS.js.map} +0 -0
- /package/dist/{chunk-JPUT5NGH.js.map → chunk-DMQWV6SQ.js.map} +0 -0
- /package/dist/{chunk-F3XZN24Z.js.map → chunk-DRUDC2UX.js.map} +0 -0
- /package/dist/{chunk-KJR66XOM.js.map → chunk-EY6MDMHK.js.map} +0 -0
- /package/dist/{chunk-3TUT4PWB.js.map → chunk-FVZ2ISIX.js.map} +0 -0
- /package/dist/{chunk-6SQQOJ4U.js.map → chunk-GKRLPHPU.js.map} +0 -0
- /package/dist/{chunk-5NWYQUQC.js.map → chunk-HOHVIVDR.js.map} +0 -0
- /package/dist/{chunk-6WAJQKBS.js.map → chunk-JYLFZWUX.js.map} +0 -0
- /package/dist/{chunk-5W7CTZ2E.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-UKTDXTWX.js.map → chunk-M4AYVEWS.js.map} +0 -0
- /package/dist/{chunk-YTZ3VGC7.js.map → chunk-M4V2JVSZ.js.map} +0 -0
- /package/dist/{chunk-TA3Y6GEX.js.map → chunk-MLKWJOAJ.js.map} +0 -0
- /package/dist/{chunk-DQXPJ6HD.js.map → chunk-O6YH5F47.js.map} +0 -0
- /package/dist/{chunk-53EEQYE5.js.map → chunk-UTHQPSRC.js.map} +0 -0
- /package/dist/{chunk-BB57OZWC.js.map → chunk-UVPL565C.js.map} +0 -0
- /package/dist/{chunk-6AFVIOVZ.js.map → chunk-V4GNSDFH.js.map} +0 -0
- /package/dist/{chunk-UVYI6VIX.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-V7CMKMHM.js.map → chunk-Y4YD5TYW.js.map} +0 -0
- /package/dist/{chunk-7NS7AWMZ.js.map → chunk-YGIQORJ3.js.map} +0 -0
- /package/dist/{chunk-3MS3QVX6.js.map → chunk-YOLZS7NY.js.map} +0 -0
|
@@ -7,26 +7,26 @@ import {
|
|
|
7
7
|
} from "./chunk-4T3BMHKD.js";
|
|
8
8
|
import {
|
|
9
9
|
MaintenanceScheduler
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MLKWJOAJ.js";
|
|
11
11
|
import {
|
|
12
12
|
migrateFromEngram
|
|
13
13
|
} from "./chunk-7HYPN2GC.js";
|
|
14
14
|
import {
|
|
15
15
|
LcmEngine
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-773DPI6T.js";
|
|
17
|
+
import {
|
|
18
|
+
chunkTranscriptEntries
|
|
19
|
+
} from "./chunk-TECVW3JP.js";
|
|
17
20
|
import {
|
|
18
21
|
cleanupConversationChunks
|
|
19
22
|
} from "./chunk-O7GOFAM3.js";
|
|
20
23
|
import {
|
|
21
24
|
CompoundingEngine,
|
|
22
25
|
defaultTierMigrationCycleBudget
|
|
23
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-4NR2PDZ5.js";
|
|
24
27
|
import {
|
|
25
28
|
SharedContextManager
|
|
26
29
|
} from "./chunk-UFS7OXGL.js";
|
|
27
|
-
import {
|
|
28
|
-
chunkTranscriptEntries
|
|
29
|
-
} from "./chunk-TECVW3JP.js";
|
|
30
30
|
import {
|
|
31
31
|
applyTrustScoreStage,
|
|
32
32
|
buildTrustSignalsForRerank,
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
} from "./chunk-LTHVM4XN.js";
|
|
155
155
|
import {
|
|
156
156
|
ExtractionEngine
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-I5REUWLH.js";
|
|
158
158
|
import {
|
|
159
159
|
parseMemoryActionEligibilityContext
|
|
160
160
|
} from "./chunk-5GSUBCZM.js";
|
|
@@ -187,12 +187,12 @@ import {
|
|
|
187
187
|
} from "./chunk-Q6IP2ARR.js";
|
|
188
188
|
import {
|
|
189
189
|
EmbeddingFallback
|
|
190
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-C2PG7IEH.js";
|
|
191
191
|
import {
|
|
192
192
|
buildEntityRecallSection,
|
|
193
193
|
entityRecentTranscriptLookbackHours,
|
|
194
194
|
readRecentEntityTranscriptEntries
|
|
195
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-YOLZS7NY.js";
|
|
196
196
|
import {
|
|
197
197
|
normalizeReplaySessionKey
|
|
198
198
|
} from "./chunk-2PRQG7PV.js";
|
|
@@ -202,14 +202,14 @@ import {
|
|
|
202
202
|
import {
|
|
203
203
|
compareVerifiedEpisodeResults,
|
|
204
204
|
searchVerifiedEpisodes
|
|
205
|
-
} from "./chunk-
|
|
205
|
+
} from "./chunk-ASKXIAHD.js";
|
|
206
206
|
import {
|
|
207
207
|
ThreadingManager
|
|
208
208
|
} from "./chunk-QRDOSYOR.js";
|
|
209
209
|
import {
|
|
210
210
|
compareVerifiedSemanticRuleResults,
|
|
211
211
|
searchVerifiedSemanticRules
|
|
212
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-UVPL565C.js";
|
|
213
213
|
import {
|
|
214
214
|
searchWorkProductLedgerEntries
|
|
215
215
|
} from "./chunk-ZRWB5D4H.js";
|
|
@@ -222,14 +222,14 @@ import {
|
|
|
222
222
|
import {
|
|
223
223
|
runNamespaceMaintenanceFanout,
|
|
224
224
|
summarizeNamespaceMaintenanceHealth
|
|
225
|
-
} from "./chunk-
|
|
225
|
+
} from "./chunk-CBWI22JN.js";
|
|
226
226
|
import {
|
|
227
227
|
NamespaceCatalog,
|
|
228
228
|
planNamespaceMaintenance
|
|
229
|
-
} from "./chunk-
|
|
229
|
+
} from "./chunk-M4V2JVSZ.js";
|
|
230
230
|
import {
|
|
231
231
|
NamespaceStorageRouter
|
|
232
|
-
} from "./chunk-
|
|
232
|
+
} from "./chunk-3TSTGI6F.js";
|
|
233
233
|
import {
|
|
234
234
|
searchHarmonicRetrieval
|
|
235
235
|
} from "./chunk-AV5ZEH4M.js";
|
|
@@ -267,7 +267,7 @@ import {
|
|
|
267
267
|
materializeAfterSemanticConsolidation,
|
|
268
268
|
parseConsolidationResponse,
|
|
269
269
|
parseOperatorAwareConsolidationResponse
|
|
270
|
-
} from "./chunk-
|
|
270
|
+
} from "./chunk-DMQWV6SQ.js";
|
|
271
271
|
import {
|
|
272
272
|
buildRecallQueryPolicy
|
|
273
273
|
} from "./chunk-LBJBNWS2.js";
|
|
@@ -308,7 +308,7 @@ import {
|
|
|
308
308
|
clusterByKey,
|
|
309
309
|
createCorrectionService,
|
|
310
310
|
detectPassiveCorrections
|
|
311
|
-
} from "./chunk-
|
|
311
|
+
} from "./chunk-AQLOP5F4.js";
|
|
312
312
|
import {
|
|
313
313
|
listTrustZoneRecords,
|
|
314
314
|
searchTrustZoneRecords
|
|
@@ -318,7 +318,7 @@ import {
|
|
|
318
318
|
} from "./chunk-FF4KLI5W.js";
|
|
319
319
|
import {
|
|
320
320
|
buildXraySnapshot
|
|
321
|
-
} from "./chunk-
|
|
321
|
+
} from "./chunk-DRUDC2UX.js";
|
|
322
322
|
import {
|
|
323
323
|
objectiveStateStoreOverrideForNamespace,
|
|
324
324
|
searchObjectiveStateSnapshots
|
|
@@ -333,11 +333,11 @@ import {
|
|
|
333
333
|
} from "./chunk-J6BH2OBA.js";
|
|
334
334
|
import {
|
|
335
335
|
NamespaceSearchRouter
|
|
336
|
-
} from "./chunk-
|
|
336
|
+
} from "./chunk-V4GNSDFH.js";
|
|
337
337
|
import {
|
|
338
338
|
createConversationIndexRuntime,
|
|
339
339
|
createSearchBackend
|
|
340
|
-
} from "./chunk-
|
|
340
|
+
} from "./chunk-UTHQPSRC.js";
|
|
341
341
|
import {
|
|
342
342
|
NoopSearchBackend
|
|
343
343
|
} from "./chunk-CYEPCZN5.js";
|
|
@@ -363,8 +363,9 @@ import {
|
|
|
363
363
|
} from "./chunk-EH5ED3C6.js";
|
|
364
364
|
import {
|
|
365
365
|
resolveCapabilities,
|
|
366
|
-
resolveGraphConstructionCapabilities
|
|
367
|
-
|
|
366
|
+
resolveGraphConstructionCapabilities,
|
|
367
|
+
resolveMemoryLifecycleCapabilities
|
|
368
|
+
} from "./chunk-3RCBIOOJ.js";
|
|
368
369
|
import {
|
|
369
370
|
searchCausalTrajectories
|
|
370
371
|
} from "./chunk-SQNED75R.js";
|
|
@@ -377,7 +378,7 @@ import {
|
|
|
377
378
|
} from "./chunk-TBBDFYXW.js";
|
|
378
379
|
import {
|
|
379
380
|
buildChainFollowupGenerator
|
|
380
|
-
} from "./chunk-
|
|
381
|
+
} from "./chunk-EY6MDMHK.js";
|
|
381
382
|
import {
|
|
382
383
|
ContentHashIndex,
|
|
383
384
|
StorageManager,
|
|
@@ -385,7 +386,10 @@ import {
|
|
|
385
386
|
fingerprintEntityStructuredFacts,
|
|
386
387
|
normalizeAttributePairs,
|
|
387
388
|
parseEntityFile
|
|
388
|
-
} from "./chunk-
|
|
389
|
+
} from "./chunk-7RLCCNHU.js";
|
|
390
|
+
import {
|
|
391
|
+
buildRetiredFactTombstoneInputs
|
|
392
|
+
} from "./chunk-L2B3EE7B.js";
|
|
389
393
|
import {
|
|
390
394
|
isValidTranscriptDate,
|
|
391
395
|
loadSpeakerRegistry,
|
|
@@ -393,9 +397,6 @@ import {
|
|
|
393
397
|
saveSpeakerRegistry,
|
|
394
398
|
speakerRegistryKey
|
|
395
399
|
} from "./chunk-M7XQSUBB.js";
|
|
396
|
-
import {
|
|
397
|
-
buildRetiredFactTombstoneInputs
|
|
398
|
-
} from "./chunk-L2B3EE7B.js";
|
|
399
400
|
import {
|
|
400
401
|
assertPathInsideRoot
|
|
401
402
|
} from "./chunk-5GPPACXK.js";
|
|
@@ -419,7 +420,7 @@ import {
|
|
|
419
420
|
} from "./chunk-J6A3CX5N.js";
|
|
420
421
|
import {
|
|
421
422
|
confidenceTier
|
|
422
|
-
} from "./chunk-
|
|
423
|
+
} from "./chunk-PUR2CKX2.js";
|
|
423
424
|
import {
|
|
424
425
|
buildQmdRecallCacheKey,
|
|
425
426
|
getCachedQmdRecall,
|
|
@@ -437,7 +438,7 @@ import {
|
|
|
437
438
|
applyFaithfulnessVerdict,
|
|
438
439
|
createFaithfulnessCounters,
|
|
439
440
|
runFaithfulnessGateBatch
|
|
440
|
-
} from "./chunk-
|
|
441
|
+
} from "./chunk-YTU7WKYN.js";
|
|
441
442
|
import {
|
|
442
443
|
FallbackLlmClient,
|
|
443
444
|
fallbackLlmRuntimeContextFromConfig,
|
|
@@ -3583,7 +3584,8 @@ var Orchestrator = class _Orchestrator {
|
|
|
3583
3584
|
* copy already carries.
|
|
3584
3585
|
*/
|
|
3585
3586
|
async backfillTemporalBoundsOnDedupHit(targetStorage, dedupContent, bounds, entityRef) {
|
|
3586
|
-
|
|
3587
|
+
const hasExtractedStart = bounds.validFrom !== void 0 && bounds.eventTimeSource === "extracted";
|
|
3588
|
+
if (!bounds.invalidAt && !hasExtractedStart) return;
|
|
3587
3589
|
try {
|
|
3588
3590
|
const incomingHash = ContentHashIndex.computeHash(dedupContent);
|
|
3589
3591
|
const normalizedIncoming = ContentHashIndex.normalizeContent(dedupContent);
|
|
@@ -3614,6 +3616,12 @@ var Orchestrator = class _Orchestrator {
|
|
|
3614
3616
|
if (bounds.eventTimeSource && (!fm.eventTimeSource || fm.eventTimeSource.length === 0)) {
|
|
3615
3617
|
patch.eventTimeSource = bounds.eventTimeSource;
|
|
3616
3618
|
}
|
|
3619
|
+
if (bounds.validFrom && bounds.eventTimeSource === "extracted" && fm.valid_at !== bounds.validFrom) {
|
|
3620
|
+
patch.valid_at = bounds.validFrom;
|
|
3621
|
+
if (fm.eventTimeSource !== "extracted") {
|
|
3622
|
+
patch.eventTimeSource = "extracted";
|
|
3623
|
+
}
|
|
3624
|
+
}
|
|
3617
3625
|
if (Object.keys(patch).length === 0) return;
|
|
3618
3626
|
const ok = await targetStorage.writeMemoryFrontmatter(existing, patch);
|
|
3619
3627
|
if (ok) {
|
|
@@ -3780,8 +3788,9 @@ var Orchestrator = class _Orchestrator {
|
|
|
3780
3788
|
path3.join(config.memoryDir, "threads"),
|
|
3781
3789
|
config.threadingGapMinutes
|
|
3782
3790
|
);
|
|
3791
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(config);
|
|
3783
3792
|
this.tmtBuilder = new TmtBuilder(config.memoryDir, {
|
|
3784
|
-
temporalMemoryTreeEnabled:
|
|
3793
|
+
temporalMemoryTreeEnabled: lifecycleCaps.temporalMemoryTree,
|
|
3785
3794
|
tmtHourlyMinMemories: config.tmtHourlyMinMemories,
|
|
3786
3795
|
tmtSummaryMaxTokens: config.tmtSummaryMaxTokens
|
|
3787
3796
|
});
|
|
@@ -4175,6 +4184,7 @@ var Orchestrator = class _Orchestrator {
|
|
|
4175
4184
|
}
|
|
4176
4185
|
}
|
|
4177
4186
|
async deferredInitialize(signal) {
|
|
4187
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
4178
4188
|
if (this.qmd.isAvailable() && this.config.qmdMaintenanceEnabled) {
|
|
4179
4189
|
try {
|
|
4180
4190
|
log.info("QMD startup sync: updating index to match current disk state");
|
|
@@ -4208,7 +4218,7 @@ var Orchestrator = class _Orchestrator {
|
|
|
4208
4218
|
})
|
|
4209
4219
|
);
|
|
4210
4220
|
}
|
|
4211
|
-
if (this.config.
|
|
4221
|
+
if (resolveMemoryLifecycleCapabilities(this.config).embeddingFallback) {
|
|
4212
4222
|
warmupPromises.push(
|
|
4213
4223
|
this.embeddingFallback.isAvailable().then((ok) => {
|
|
4214
4224
|
log.info(
|
|
@@ -4272,9 +4282,9 @@ var Orchestrator = class _Orchestrator {
|
|
|
4272
4282
|
if (signal.aborted) return;
|
|
4273
4283
|
await this.maintenanceScheduler.autoRegisterCrons(signal);
|
|
4274
4284
|
if (signal.aborted) return;
|
|
4275
|
-
if (
|
|
4285
|
+
if (lifecycleCaps.lifecyclePolicy && this.config.qmdTierMigrationEnabled) {
|
|
4276
4286
|
try {
|
|
4277
|
-
const { runFirstStartMigration } = await import("./first-start-migration-
|
|
4287
|
+
const { runFirstStartMigration } = await import("./first-start-migration-22LPFHD5.js");
|
|
4278
4288
|
const result = await runFirstStartMigration({
|
|
4279
4289
|
storage: this.storage,
|
|
4280
4290
|
config: this.config,
|
|
@@ -4499,6 +4509,7 @@ var Orchestrator = class _Orchestrator {
|
|
|
4499
4509
|
* default storage.
|
|
4500
4510
|
*/
|
|
4501
4511
|
async runLifecyclePolicyFanout() {
|
|
4512
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
4502
4513
|
return this.runNamespaceMaintenanceFanoutForJob(
|
|
4503
4514
|
"lifecycle",
|
|
4504
4515
|
async (ctx) => {
|
|
@@ -4507,7 +4518,7 @@ var Orchestrator = class _Orchestrator {
|
|
|
4507
4518
|
const assessed = await this.runLifecyclePolicyPass(corpus, storage);
|
|
4508
4519
|
return { itemCount: assessed };
|
|
4509
4520
|
},
|
|
4510
|
-
{ enabled:
|
|
4521
|
+
{ enabled: lifecycleCaps.lifecyclePolicy }
|
|
4511
4522
|
);
|
|
4512
4523
|
}
|
|
4513
4524
|
/**
|
|
@@ -6825,7 +6836,7 @@ ${r.snippet.trim()}
|
|
|
6825
6836
|
recallAssemblyClockMs() {
|
|
6826
6837
|
return Date.now();
|
|
6827
6838
|
}
|
|
6828
|
-
async recallInternal(prompt, sessionKey, options = {}, caps = resolveCapabilities(this.config), graphCaps = resolveGraphConstructionCapabilities(this.config)) {
|
|
6839
|
+
async recallInternal(prompt, sessionKey, options = {}, caps = resolveCapabilities(this.config), graphCaps = resolveGraphConstructionCapabilities(this.config), lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config)) {
|
|
6829
6840
|
const recallStart = Date.now();
|
|
6830
6841
|
const backendDegradations = [];
|
|
6831
6842
|
let asOfMs;
|
|
@@ -9402,8 +9413,8 @@ ${boxLines.join("\n")}`
|
|
|
9402
9413
|
}
|
|
9403
9414
|
if (this.isRecallSectionEnabled(
|
|
9404
9415
|
"temporal-memory-tree",
|
|
9405
|
-
|
|
9406
|
-
) &&
|
|
9416
|
+
lifecycleCaps.temporalMemoryTree
|
|
9417
|
+
) && lifecycleCaps.temporalMemoryTree && recallMode !== "minimal" && recallMode !== "no_recall") {
|
|
9407
9418
|
const tmtNode = await this.tmtBuilder.getMostRelevantNode();
|
|
9408
9419
|
if (tmtNode) {
|
|
9409
9420
|
const levelLabel = tmtNode.level.charAt(0).toUpperCase() + tmtNode.level.slice(1);
|
|
@@ -10066,7 +10077,7 @@ ${tmtNode.summary}`
|
|
|
10066
10077
|
);
|
|
10067
10078
|
if (memories.length > 0) {
|
|
10068
10079
|
const supersessionOptions = {
|
|
10069
|
-
enabled:
|
|
10080
|
+
enabled: lifecycleCaps.temporalSupersession,
|
|
10070
10081
|
includeInRecall: this.config.temporalSupersessionIncludeInRecall
|
|
10071
10082
|
};
|
|
10072
10083
|
const asOfActive = typeof asOfMs === "number" && Number.isFinite(asOfMs);
|
|
@@ -11201,7 +11212,8 @@ _Context: ${topQuestion.context}_`
|
|
|
11201
11212
|
${normalized}`).digest("hex");
|
|
11202
11213
|
}
|
|
11203
11214
|
shouldQueueExtraction(turns, options = {}) {
|
|
11204
|
-
|
|
11215
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
11216
|
+
if (!lifecycleCaps.extractionDedupe) return true;
|
|
11205
11217
|
if (!Array.isArray(turns) || turns.length === 0) return false;
|
|
11206
11218
|
const bufferKey = options.bufferKey ?? turns[0]?.sessionKey ?? "default";
|
|
11207
11219
|
const fingerprint = this.buildExtractionFingerprint(turns, bufferKey);
|
|
@@ -11802,7 +11814,7 @@ ${normalized}`).digest("hex");
|
|
|
11802
11814
|
requestQmdMaintenanceForTool(reason) {
|
|
11803
11815
|
this.maintenanceScheduler.requestQmdMaintenanceForTool(reason);
|
|
11804
11816
|
}
|
|
11805
|
-
async persistExtraction(result, storage, threadIdForExtraction, sourceContext, baseNamespace, scopeProfileWritePlan, sourceText, graphCaps = resolveGraphConstructionCapabilities(this.config)) {
|
|
11817
|
+
async persistExtraction(result, storage, threadIdForExtraction, sourceContext, baseNamespace, scopeProfileWritePlan, sourceText, graphCaps = resolveGraphConstructionCapabilities(this.config), lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config)) {
|
|
11806
11818
|
const citationEnabled = this.config.inlineSourceAttributionEnabled === true;
|
|
11807
11819
|
const citationTemplate = this.config.inlineSourceAttributionFormat;
|
|
11808
11820
|
const citationContextBase = citationEnabled ? {
|
|
@@ -11935,12 +11947,14 @@ ${normalized}`).digest("hex");
|
|
|
11935
11947
|
const targetStorage = await this.storageRouter.storageFor(target.namespace);
|
|
11936
11948
|
if (targetStorage.dir === options.sourceStorage.dir) continue;
|
|
11937
11949
|
if (options.category === "fact" && await targetStorage.hasFactContentHash(dedupContent)) {
|
|
11938
|
-
if (options.invalidAt) {
|
|
11950
|
+
if (options.invalidAt || options.validAt) {
|
|
11939
11951
|
await this.backfillTemporalBoundsOnDedupHit(
|
|
11940
11952
|
targetStorage,
|
|
11941
11953
|
dedupContent,
|
|
11942
11954
|
{
|
|
11943
11955
|
invalidAt: options.invalidAt,
|
|
11956
|
+
// #1707 thread 2 — carry the corrected start bound.
|
|
11957
|
+
validFrom: options.validAt,
|
|
11944
11958
|
...options.observedAt ? { observedAt: options.observedAt } : {},
|
|
11945
11959
|
...options.eventTimeSource ? { eventTimeSource: options.eventTimeSource } : {}
|
|
11946
11960
|
},
|
|
@@ -11975,7 +11989,7 @@ ${normalized}`).digest("hex");
|
|
|
11975
11989
|
...options.provenance ? { provenance: options.provenance } : {}
|
|
11976
11990
|
}
|
|
11977
11991
|
);
|
|
11978
|
-
if (
|
|
11992
|
+
if (lifecycleCaps.temporalSupersession && options.category === "fact" && options.entityRef && options.structuredAttributes && Object.keys(options.structuredAttributes).length > 0) {
|
|
11979
11993
|
try {
|
|
11980
11994
|
await applyTemporalSupersession({
|
|
11981
11995
|
storage: targetStorage,
|
|
@@ -12029,19 +12043,21 @@ ${normalized}`).digest("hex");
|
|
|
12029
12043
|
const dedupContent = options.category === "fact" && options.structuredAttributes && Object.keys(options.structuredAttributes).length > 0 ? `${sanitizedBase.text}
|
|
12030
12044
|
[Attributes: ${normalizeAttributePairs(options.structuredAttributes)}]` : sanitizedBase.text;
|
|
12031
12045
|
if (options.category === "fact" && await sharedStorage.hasFactContentHash(dedupContent)) {
|
|
12032
|
-
if (options.invalidAt) {
|
|
12046
|
+
if (options.invalidAt || options.validAt) {
|
|
12033
12047
|
await this.backfillTemporalBoundsOnDedupHit(
|
|
12034
12048
|
sharedStorage,
|
|
12035
12049
|
dedupContent,
|
|
12036
12050
|
{
|
|
12037
12051
|
invalidAt: options.invalidAt,
|
|
12052
|
+
// #1707 thread 2 — carry the corrected start bound.
|
|
12053
|
+
validFrom: options.validAt,
|
|
12038
12054
|
...options.observedAt ? { observedAt: options.observedAt } : {},
|
|
12039
12055
|
...options.eventTimeSource ? { eventTimeSource: options.eventTimeSource } : {}
|
|
12040
12056
|
},
|
|
12041
12057
|
options.entityRef
|
|
12042
12058
|
);
|
|
12043
12059
|
}
|
|
12044
|
-
if (
|
|
12060
|
+
if (lifecycleCaps.temporalSupersession && options.entityRef && options.structuredAttributes && Object.keys(options.structuredAttributes).length > 0) {
|
|
12045
12061
|
let hashDedupMatchingFact;
|
|
12046
12062
|
let hashDedupLookupComplete = false;
|
|
12047
12063
|
try {
|
|
@@ -12120,7 +12136,7 @@ ${normalized}`).digest("hex");
|
|
|
12120
12136
|
...options.provenance ? { provenance: options.provenance } : {}
|
|
12121
12137
|
}
|
|
12122
12138
|
);
|
|
12123
|
-
if (
|
|
12139
|
+
if (lifecycleCaps.temporalSupersession && options.entityRef && options.structuredAttributes && Object.keys(options.structuredAttributes).length > 0) {
|
|
12124
12140
|
try {
|
|
12125
12141
|
await applyTemporalSupersession({
|
|
12126
12142
|
storage: sharedStorage,
|
|
@@ -12157,6 +12173,60 @@ ${normalized}`).digest("hex");
|
|
|
12157
12173
|
);
|
|
12158
12174
|
}
|
|
12159
12175
|
};
|
|
12176
|
+
const backfillTemporalBoundsOnPromotionCopies = async (args) => {
|
|
12177
|
+
const hasExtractedStart = args.bounds.validFrom !== void 0 && args.bounds.eventTimeSource === "extracted";
|
|
12178
|
+
if (!args.bounds.invalidAt && !hasExtractedStart) return;
|
|
12179
|
+
const rawContent = citationEnabled && hasCitationForTemplate(args.content, citationTemplate) ? stripCitationForTemplate(args.content, citationTemplate) : args.content;
|
|
12180
|
+
const sanitizedBase = sanitizeMemoryContent(rawContent);
|
|
12181
|
+
const dedupContent = args.category === "fact" && args.structuredAttributes && Object.keys(args.structuredAttributes).length > 0 ? `${sanitizedBase.text}
|
|
12182
|
+
[Attributes: ${normalizeAttributePairs(args.structuredAttributes)}]` : sanitizedBase.text;
|
|
12183
|
+
if (scopeProfileWritePlan) {
|
|
12184
|
+
const autoTargets = new Set(
|
|
12185
|
+
scopeProfileWritePlan.profile.autoPromote.targets
|
|
12186
|
+
);
|
|
12187
|
+
const profileTargets = scopeProfileWritePlan.promotionTargets.filter(
|
|
12188
|
+
(target) => target.target !== "serverShared" && autoTargets.has(target.target) && target.authorized && target.namespace
|
|
12189
|
+
);
|
|
12190
|
+
for (const target of profileTargets) {
|
|
12191
|
+
if (!target.namespace) continue;
|
|
12192
|
+
try {
|
|
12193
|
+
const targetStorage = await this.storageRouter.storageFor(
|
|
12194
|
+
target.namespace
|
|
12195
|
+
);
|
|
12196
|
+
if (targetStorage.dir === args.sourceStorage.dir) continue;
|
|
12197
|
+
await this.backfillTemporalBoundsOnDedupHit(
|
|
12198
|
+
targetStorage,
|
|
12199
|
+
dedupContent,
|
|
12200
|
+
args.bounds,
|
|
12201
|
+
args.entityRef
|
|
12202
|
+
);
|
|
12203
|
+
} catch (err) {
|
|
12204
|
+
log.warn(
|
|
12205
|
+
`bitemporal-backfill: profile-target backfill failed open for ${target.target}: ${err}`
|
|
12206
|
+
);
|
|
12207
|
+
}
|
|
12208
|
+
}
|
|
12209
|
+
}
|
|
12210
|
+
if (profileAllowsSharedWrites) {
|
|
12211
|
+
try {
|
|
12212
|
+
const sharedStorage = await this.storageRouter.storageFor(
|
|
12213
|
+
this.config.sharedNamespace
|
|
12214
|
+
);
|
|
12215
|
+
if (sharedStorage.dir !== args.sourceStorage.dir) {
|
|
12216
|
+
await this.backfillTemporalBoundsOnDedupHit(
|
|
12217
|
+
sharedStorage,
|
|
12218
|
+
dedupContent,
|
|
12219
|
+
args.bounds,
|
|
12220
|
+
args.entityRef
|
|
12221
|
+
);
|
|
12222
|
+
}
|
|
12223
|
+
} catch (err) {
|
|
12224
|
+
log.warn(
|
|
12225
|
+
`bitemporal-backfill: shared-target backfill failed open: ${err}`
|
|
12226
|
+
);
|
|
12227
|
+
}
|
|
12228
|
+
}
|
|
12229
|
+
};
|
|
12160
12230
|
if (!result || !Array.isArray(result.facts)) {
|
|
12161
12231
|
log.warn(
|
|
12162
12232
|
"persistExtraction: result or result.facts is invalid, skipping",
|
|
@@ -12244,7 +12314,7 @@ ${normalized}`).digest("hex");
|
|
|
12244
12314
|
let judgeVerdictsByFactIndex = null;
|
|
12245
12315
|
let judgeGatedCount = 0;
|
|
12246
12316
|
this.lastPersistExtractionDeferredCount = 0;
|
|
12247
|
-
if (
|
|
12317
|
+
if (lifecycleCaps.extractionJudge) {
|
|
12248
12318
|
let preJudgeRedactionRules = [];
|
|
12249
12319
|
try {
|
|
12250
12320
|
preJudgeRedactionRules = await redactionRulesFor(storage.dir);
|
|
@@ -12288,7 +12358,7 @@ ${normalized}`).digest("hex");
|
|
|
12288
12358
|
candidateToFactIndex.push(fi);
|
|
12289
12359
|
}
|
|
12290
12360
|
const judgeTelemetryOpts = {
|
|
12291
|
-
enabled:
|
|
12361
|
+
enabled: lifecycleCaps.extractionJudgeTelemetry,
|
|
12292
12362
|
memoryDir: this.config.memoryDir
|
|
12293
12363
|
};
|
|
12294
12364
|
const judgeTrainingOpts = {
|
|
@@ -12413,7 +12483,7 @@ ${normalized}`).digest("hex");
|
|
|
12413
12483
|
);
|
|
12414
12484
|
}
|
|
12415
12485
|
}
|
|
12416
|
-
if (
|
|
12486
|
+
if (lifecycleCaps.extractionScopeClassification && this.config.namespacesEnabled && fact.scope === "global" && !routedNamespaceExplicit) {
|
|
12417
12487
|
const currentNs = this.storageDirNamespace(targetStorage.dir);
|
|
12418
12488
|
if (currentNs !== this.config.sharedNamespace && profileAllowsSharedWrites) {
|
|
12419
12489
|
try {
|
|
@@ -12465,7 +12535,7 @@ ${normalized}`).digest("hex");
|
|
|
12465
12535
|
);
|
|
12466
12536
|
}
|
|
12467
12537
|
if (exactDuplicate) {
|
|
12468
|
-
if (biTemporal && biTemporal.validUntil) {
|
|
12538
|
+
if (biTemporal && writeCategory === "fact" && (biTemporal.validUntil || biTemporal.validFrom)) {
|
|
12469
12539
|
const fr = faithfulnessResultsByFactIndex?.get(factLoopIndex);
|
|
12470
12540
|
const faithfulnessWouldPending = faithfulnessMode === "enforce" && fr?.ok === true && (fr.verdict === "unsupported" || fr.verdict === "contradicted");
|
|
12471
12541
|
const requireSpansWouldPending = this.config.provenance?.requireSpans === true && fact.requireSpansPending === true;
|
|
@@ -12477,11 +12547,27 @@ ${normalized}`).digest("hex");
|
|
|
12477
12547
|
contentHashDedupKey,
|
|
12478
12548
|
{
|
|
12479
12549
|
invalidAt: biTemporal.validUntil,
|
|
12550
|
+
// #1707 thread 2 — carry the corrected start bound too.
|
|
12551
|
+
validFrom: biTemporal.validFrom,
|
|
12480
12552
|
observedAt: biTemporal.observedAt,
|
|
12481
12553
|
eventTimeSource: biTemporal.eventTimeSource
|
|
12482
12554
|
},
|
|
12483
12555
|
fact.entityRef
|
|
12484
12556
|
);
|
|
12557
|
+
await backfillTemporalBoundsOnPromotionCopies({
|
|
12558
|
+
sourceStorage: targetStorage,
|
|
12559
|
+
content: fact.content,
|
|
12560
|
+
category: writeCategory,
|
|
12561
|
+
confidence: fact.confidence,
|
|
12562
|
+
entityRef: fact.entityRef,
|
|
12563
|
+
structuredAttributes: fact.structuredAttributes,
|
|
12564
|
+
bounds: {
|
|
12565
|
+
invalidAt: biTemporal.validUntil,
|
|
12566
|
+
validFrom: biTemporal.validFrom,
|
|
12567
|
+
observedAt: biTemporal.observedAt,
|
|
12568
|
+
eventTimeSource: biTemporal.eventTimeSource
|
|
12569
|
+
}
|
|
12570
|
+
});
|
|
12485
12571
|
}
|
|
12486
12572
|
}
|
|
12487
12573
|
log.debug(
|
|
@@ -12759,7 +12845,7 @@ ${normalized}`).digest("hex");
|
|
|
12759
12845
|
// #1578 r3: an extracted end-only bound (validFrom absent) is
|
|
12760
12846
|
// historical, not a new authoritative state — never let it
|
|
12761
12847
|
// supersede a later active fact (codex P1 on :15534).
|
|
12762
|
-
enabled:
|
|
12848
|
+
enabled: lifecycleCaps.temporalSupersession && !(biTemporal && !biTemporal.validFrom)
|
|
12763
12849
|
});
|
|
12764
12850
|
} catch (err) {
|
|
12765
12851
|
log.warn(`temporal-supersession (chunked): unexpected error: ${err}`);
|
|
@@ -12922,7 +13008,7 @@ ${normalized}`).digest("hex");
|
|
|
12922
13008
|
entityRef: supersessionEntityRef,
|
|
12923
13009
|
structuredAttributes: fact.structuredAttributes,
|
|
12924
13010
|
createdAt: supersessionOrderingAt(biTemporal?.validFrom ?? sourceContext?.validAt),
|
|
12925
|
-
enabled:
|
|
13011
|
+
enabled: lifecycleCaps.temporalSupersession && !(biTemporal && !biTemporal.validFrom)
|
|
12926
13012
|
});
|
|
12927
13013
|
} catch (err) {
|
|
12928
13014
|
log.warn(`temporal-supersession: unexpected error: ${err}`);
|
|
@@ -13176,7 +13262,7 @@ ${normalized}`).digest("hex");
|
|
|
13176
13262
|
}
|
|
13177
13263
|
}
|
|
13178
13264
|
async indexPersistedMemory(storage, memoryId) {
|
|
13179
|
-
if (!this.config.
|
|
13265
|
+
if (!resolveMemoryLifecycleCapabilities(this.config).embeddingFallback) return;
|
|
13180
13266
|
if (!await this.embeddingFallback.isAvailable()) return;
|
|
13181
13267
|
const memory = await storage.getMemoryById(memoryId);
|
|
13182
13268
|
if (!memory) return;
|
|
@@ -13304,6 +13390,7 @@ ${normalized}`).digest("hex");
|
|
|
13304
13390
|
/** IDs of facts persisted in the last extraction */
|
|
13305
13391
|
lastPersistedIds = [];
|
|
13306
13392
|
async runConsolidation() {
|
|
13393
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
13307
13394
|
log.info("running consolidation pass");
|
|
13308
13395
|
let merged = 0;
|
|
13309
13396
|
let invalidated = 0;
|
|
@@ -13468,7 +13555,7 @@ ${normalized}`).digest("hex");
|
|
|
13468
13555
|
}
|
|
13469
13556
|
}
|
|
13470
13557
|
}
|
|
13471
|
-
if (
|
|
13558
|
+
if (lifecycleCaps.lifecyclePolicy) {
|
|
13472
13559
|
try {
|
|
13473
13560
|
const lightSleepStartedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
13474
13561
|
const lifecycleCorpus = await this.storage.readAllMemories();
|
|
@@ -13618,7 +13705,7 @@ ${normalized}`).digest("hex");
|
|
|
13618
13705
|
const meta = await this.storage.loadMeta();
|
|
13619
13706
|
meta.lastConsolidationAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
13620
13707
|
await this.storage.saveMeta(meta);
|
|
13621
|
-
if (
|
|
13708
|
+
if (lifecycleCaps.temporalMemoryTree) {
|
|
13622
13709
|
try {
|
|
13623
13710
|
const tmtEntries = allMemories.filter(
|
|
13624
13711
|
(m) => m.frontmatter.status !== "superseded" && m.frontmatter.status !== "archived" && m.frontmatter.status !== "forgotten" && m.frontmatter.status !== "pending_review"
|
|
@@ -14014,6 +14101,7 @@ ${texts.map((t, i) => `[${i + 1}] ${t}`).join("\n\n")}`;
|
|
|
14014
14101
|
let updatedCount = 0;
|
|
14015
14102
|
let disputedCount = 0;
|
|
14016
14103
|
let evaluatedCount = 0;
|
|
14104
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
14017
14105
|
const thresholds = this.effectiveLifecycleThresholds();
|
|
14018
14106
|
const policy = {
|
|
14019
14107
|
promoteHeatThreshold: thresholds.promoteHeatThreshold,
|
|
@@ -14053,7 +14141,7 @@ ${texts.map((t, i) => `[${i + 1}] ${t}`).join("\n\n")}`;
|
|
|
14053
14141
|
});
|
|
14054
14142
|
if (wrote) updatedCount += 1;
|
|
14055
14143
|
}
|
|
14056
|
-
if (!
|
|
14144
|
+
if (!lifecycleCaps.lifecycleMetrics) return updatedCount;
|
|
14057
14145
|
const total = evaluatedCount;
|
|
14058
14146
|
const metrics = {
|
|
14059
14147
|
generatedAt: nowIso,
|
|
@@ -15056,7 +15144,7 @@ ${lines.join("\n\n")}`;
|
|
|
15056
15144
|
* `memoryDir` root, an exclusion list for `namespaces/*`).
|
|
15057
15145
|
*/
|
|
15058
15146
|
async semanticDedupLookup(content, limit, targetStorage) {
|
|
15059
|
-
if (!this.config.
|
|
15147
|
+
if (!resolveMemoryLifecycleCapabilities(this.config).embeddingFallback) {
|
|
15060
15148
|
throw new Error("semantic dedup: embedding backend not configured");
|
|
15061
15149
|
}
|
|
15062
15150
|
if (!await this.embeddingFallback.isAvailable()) {
|
|
@@ -15106,7 +15194,7 @@ ${lines.join("\n\n")}`;
|
|
|
15106
15194
|
return { pathPrefix: rel };
|
|
15107
15195
|
}
|
|
15108
15196
|
async searchEmbeddingFallback(query, limit) {
|
|
15109
|
-
if (!this.config.
|
|
15197
|
+
if (!resolveMemoryLifecycleCapabilities(this.config).embeddingFallback) return [];
|
|
15110
15198
|
if (!await this.embeddingFallback.isAvailable()) return [];
|
|
15111
15199
|
const hits = await this.embeddingFallback.search(query, limit);
|
|
15112
15200
|
if (hits.length === 0) return [];
|
|
@@ -15629,6 +15717,7 @@ ${lines.join("\n\n")}`;
|
|
|
15629
15717
|
return { memoryByPath, checkedPaths, unreadablePaths, completed: true };
|
|
15630
15718
|
}
|
|
15631
15719
|
filterSearchResultsByRecallSafety(results, memoryByPath, options) {
|
|
15720
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
15632
15721
|
let lifecycleFilteredCount = 0;
|
|
15633
15722
|
let temporalSupersededFilteredCount = 0;
|
|
15634
15723
|
let biTemporalExpiredFilteredCount = 0;
|
|
@@ -15649,8 +15738,8 @@ ${lines.join("\n\n")}`;
|
|
|
15649
15738
|
continue;
|
|
15650
15739
|
}
|
|
15651
15740
|
if (options?.allowLifecycleFiltered !== true && shouldFilterLifecycleRecallCandidate(memory.frontmatter, {
|
|
15652
|
-
lifecyclePolicyEnabled:
|
|
15653
|
-
lifecycleFilterStaleEnabled:
|
|
15741
|
+
lifecyclePolicyEnabled: lifecycleCaps.lifecyclePolicy,
|
|
15742
|
+
lifecycleFilterStaleEnabled: lifecycleCaps.lifecycleFilterStale
|
|
15654
15743
|
})) {
|
|
15655
15744
|
lifecycleFilteredCount += 1;
|
|
15656
15745
|
continue;
|
|
@@ -15673,7 +15762,7 @@ ${lines.join("\n\n")}`;
|
|
|
15673
15762
|
// half-open `[valid_at, invalid_at)` evaluation in isValidAsOf
|
|
15674
15763
|
// is the authoritative gate for historical recall.
|
|
15675
15764
|
shouldFilterSupersededFromRecall(memory.frontmatter, {
|
|
15676
|
-
enabled:
|
|
15765
|
+
enabled: lifecycleCaps.temporalSupersession,
|
|
15677
15766
|
includeInRecall: this.config.temporalSupersessionIncludeInRecall
|
|
15678
15767
|
})
|
|
15679
15768
|
) {
|
|
@@ -15763,6 +15852,7 @@ ${lines.join("\n\n")}`;
|
|
|
15763
15852
|
* Returns re-ranked results.
|
|
15764
15853
|
*/
|
|
15765
15854
|
async boostSearchResults(results, _recallNamespaces, prompt, preloadedMemoryMap, options) {
|
|
15855
|
+
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
15766
15856
|
if (results.length === 0) return results;
|
|
15767
15857
|
const safety = await this.filterSearchResultsForRecall(
|
|
15768
15858
|
results,
|
|
@@ -15896,7 +15986,7 @@ ${lines.join("\n\n")}`;
|
|
|
15896
15986
|
const lifecycleDelta = lifecycleRecallScoreAdjustment(
|
|
15897
15987
|
memory.frontmatter,
|
|
15898
15988
|
{
|
|
15899
|
-
lifecyclePolicyEnabled:
|
|
15989
|
+
lifecyclePolicyEnabled: lifecycleCaps.lifecyclePolicy
|
|
15900
15990
|
}
|
|
15901
15991
|
);
|
|
15902
15992
|
score += applyUtilityRankingRuntimeDelta(
|
|
@@ -16232,4 +16322,4 @@ export {
|
|
|
16232
16322
|
resolvePersistedMemoryRelativePath,
|
|
16233
16323
|
Orchestrator
|
|
16234
16324
|
};
|
|
16235
|
-
//# sourceMappingURL=chunk-
|
|
16325
|
+
//# sourceMappingURL=chunk-QNEUZIAH.js.map
|