@remnic/core 9.30.0 → 9.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access-admin-ops-surface.d.ts +10 -10
- package/dist/access-admin-ops-surface.js +50 -44
- package/dist/access-authorization-probe.d.ts +10 -10
- package/dist/access-authorization-probe.js +51 -45
- package/dist/access-boundary.d.ts +13 -11
- package/dist/access-boundary.js +50 -44
- package/dist/access-cli.js +168 -123
- package/dist/access-cli.js.map +1 -1
- package/dist/access-extraction-force-flush.d.ts +119 -0
- package/dist/access-extraction-force-flush.js +166 -0
- package/dist/access-health-types.d.ts +1 -1
- package/dist/access-http-lcm-compaction.d.ts +47 -13
- package/dist/access-http-lcm-compaction.js +7 -3
- package/dist/access-http-lifecycle-flush.d.ts +132 -0
- package/dist/access-http-lifecycle-flush.js +9 -0
- package/dist/access-http-lifecycle-flush.js.map +1 -0
- package/dist/access-http.d.ts +11 -10
- package/dist/access-http.js +66 -59
- package/dist/access-identity-continuity-surface.d.ts +8 -8
- package/dist/access-identity-continuity-surface.js +50 -44
- package/dist/access-lcm-surface.d.ts +10 -10
- package/dist/access-lcm-surface.js +50 -44
- package/dist/access-mcp-output-schemas.js +1 -1
- package/dist/access-mcp.d.ts +16 -10
- package/dist/access-mcp.js +58 -52
- package/dist/access-memory-search-fanout.d.ts +2 -2
- package/dist/{access-namespace-preflight-VfXssvoI.d.ts → access-namespace-preflight-D4vW97H1.d.ts} +1 -1
- package/dist/access-namespace-preflight.d.ts +3 -3
- package/dist/access-namespace-preflight.js +50 -44
- package/dist/access-observe-helpers.d.ts +22 -0
- package/dist/access-observe-helpers.js +10 -0
- package/dist/access-observe-helpers.js.map +1 -0
- package/dist/access-observe-write-surface.d.ts +51 -47
- package/dist/access-observe-write-surface.js +50 -44
- package/dist/access-operations-batch.js +53 -47
- package/dist/access-operations.d.ts +11 -11
- package/dist/access-operations.js +55 -49
- package/dist/access-recall-concurrency.d.ts +10 -10
- package/dist/access-recall-concurrency.js +50 -44
- package/dist/access-recall-response.d.ts +10 -10
- package/dist/access-recall-response.js +50 -44
- package/dist/access-recall-surface.d.ts +10 -10
- package/dist/access-recall-surface.js +50 -44
- package/dist/access-schema.d.ts +37 -7
- package/dist/access-schema.js +5 -3
- package/dist/{access-service-B5RwVsTV.d.ts → access-service-B6PZ_xUL.d.ts} +44 -20
- package/dist/access-service-helpers.d.ts +113 -0
- package/dist/access-service-helpers.js +8 -0
- package/dist/access-service-helpers.js.map +1 -0
- package/dist/access-service.d.ts +10 -10
- package/dist/access-service.js +50 -44
- package/dist/access-surface-catalog.d.ts +10 -10
- package/dist/access-surface-catalog.js +2 -0
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-wearables-meetings-surface.d.ts +3 -3
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +1 -1
- package/dist/adapters/index.js +7 -7
- package/dist/adapters/registry.js +3 -3
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +8 -8
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +14 -14
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer-turn-helpers.d.ts +5 -0
- package/dist/buffer-turn-helpers.js +24 -0
- package/dist/buffer-turn-helpers.js.map +1 -0
- package/dist/buffer.d.ts +17 -4
- package/dist/buffer.js +21 -1
- 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/{capsule-crypto-GWVG7LGC.js → capsule-crypto-7FJQINUR.js} +2 -2
- package/dist/capsule-crypto-7FJQINUR.js.map +1 -0
- package/dist/{capsule-merge-5KKJQBWQ.js → capsule-merge-2H2IUTBT.js} +4 -4
- package/dist/{catalog-V7inUQdp.d.ts → catalog-CGFYmTT8.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +19 -19
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.d.ts +1 -1
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-LEPOP46W.js → chunk-227UFSEQ.js} +4 -4
- package/dist/{chunk-GIBMDSJ2.js → chunk-27P5YVDU.js} +2 -2
- package/dist/{chunk-2SA56WMI.js → chunk-2LTDWSR6.js} +4 -4
- package/dist/{chunk-OWHERGF2.js → chunk-2NLLXCJG.js} +2 -2
- package/dist/{chunk-YTSNAUXN.js → chunk-3F2LKUMU.js} +22 -8
- package/dist/chunk-3F2LKUMU.js.map +1 -0
- package/dist/chunk-3QL24R5Y.js +9 -0
- package/dist/chunk-3QL24R5Y.js.map +1 -0
- package/dist/chunk-4RNZMRAV.js +60 -0
- package/dist/chunk-4RNZMRAV.js.map +1 -0
- package/dist/{chunk-6U7F52DE.js → chunk-4XHR3I67.js} +60 -60
- package/dist/chunk-5IVLTFOV.js +65 -0
- package/dist/chunk-5IVLTFOV.js.map +1 -0
- package/dist/{chunk-2EUVEDF5.js → chunk-5XA7PQ5I.js} +2 -2
- package/dist/{chunk-ALSGMEJR.js → chunk-65ZPVYTA.js} +7 -7
- package/dist/{chunk-5VQJBH2G.js → chunk-6TAUHL33.js} +2 -2
- package/dist/{chunk-HUHX2OCX.js → chunk-7DRETLP5.js} +1 -1
- package/dist/chunk-7DRETLP5.js.map +1 -0
- package/dist/{chunk-RGIWINDN.js → chunk-7G5MH4NT.js} +30 -30
- package/dist/{chunk-WVO4G37W.js → chunk-7TEZUUGM.js} +3 -3
- package/dist/{chunk-MJCGLM25.js → chunk-7VUAG236.js} +5 -5
- package/dist/{chunk-M3C2V3PV.js → chunk-AJEMDQNA.js} +12 -12
- package/dist/{chunk-RKNJBZ55.js → chunk-AU7Q3LSC.js} +7 -7
- package/dist/{chunk-ACXPX4AG.js → chunk-BR2K43MK.js} +2 -2
- package/dist/{chunk-IYZ5K7MU.js → chunk-BUE5E2HL.js} +4 -187
- package/dist/chunk-BUE5E2HL.js.map +1 -0
- package/dist/{chunk-CZRYLSSW.js → chunk-BUGVGH4N.js} +2 -2
- package/dist/{chunk-YTQNQ4KB.js → chunk-C4VQMFVM.js} +3 -3
- package/dist/{chunk-ZPSVBSOF.js → chunk-CIVDJD6P.js} +3 -3
- package/dist/{chunk-K5GB36ME.js → chunk-CZDOT5I2.js} +2 -2
- package/dist/{chunk-VI2JQPNQ.js → chunk-E4PWACUN.js} +2 -2
- package/dist/{chunk-D2ANTDGO.js → chunk-E6BMSH7U.js} +2 -2
- package/dist/{chunk-P5PXWTW7.js → chunk-EJCAV3QZ.js} +3 -3
- package/dist/{chunk-CKMO4RDY.js → chunk-EMDLM3LW.js} +4 -4
- package/dist/chunk-ER7W6H4T.js +112 -0
- package/dist/chunk-ER7W6H4T.js.map +1 -0
- package/dist/{chunk-6FUPCJUL.js → chunk-FI4F5X2V.js} +54 -54
- package/dist/chunk-FI4F5X2V.js.map +1 -0
- package/dist/{chunk-LGHKJABJ.js → chunk-GOUILH55.js} +40 -18
- package/dist/chunk-GOUILH55.js.map +1 -0
- package/dist/{chunk-G5R3D5UP.js → chunk-GTTAHHD3.js} +2 -2
- package/dist/{chunk-H5CPS5JP.js → chunk-H36LJIPD.js} +3 -3
- package/dist/{chunk-AITCS2RC.js → chunk-IJ7HK452.js} +4 -4
- package/dist/{chunk-D3LMYTBV.js → chunk-J7WZUL2K.js} +9 -9
- package/dist/{chunk-5W4ZLBEZ.js → chunk-JCFTIQBR.js} +2 -2
- package/dist/{chunk-XOZ4ALGB.js → chunk-KE353EWI.js} +3 -3
- package/dist/{chunk-W5EG6LE3.js → chunk-KIT6M7EB.js} +3 -3
- package/dist/{chunk-5W7CTZ2E.js → chunk-KQAFEZQX.js} +4 -4
- package/dist/{chunk-Z54EM5YZ.js → chunk-MAXVH44E.js} +7 -7
- package/dist/{chunk-WZFAPHIK.js → chunk-MU7ZHSZE.js} +2 -2
- package/dist/chunk-N5Z4EVOR.js +123 -0
- package/dist/chunk-N5Z4EVOR.js.map +1 -0
- package/dist/{chunk-66772WBP.js → chunk-NFXQJHJD.js} +5 -5
- package/dist/{chunk-AZ5BTEKX.js → chunk-NQUF7XKR.js} +2 -2
- package/dist/{chunk-W4FBGYGK.js → chunk-NRV4Y3PM.js} +1 -1
- package/dist/{chunk-NHWB6HG2.js → chunk-NYCGIQRA.js} +2 -2
- package/dist/{chunk-4WKA6I65.js → chunk-OGCNZPKX.js} +1119 -309
- package/dist/chunk-OGCNZPKX.js.map +1 -0
- package/dist/{chunk-QJAQNXWI.js → chunk-ONHRRJZM.js} +6 -6
- package/dist/{chunk-FDAMS4PK.js → chunk-PNPOWBGC.js} +2 -2
- package/dist/{chunk-IC6CBHCA.js → chunk-QGENAYVS.js} +2 -2
- package/dist/{chunk-GBJ4RDFR.js → chunk-QIHIHZYC.js} +66 -91
- package/dist/chunk-QIHIHZYC.js.map +1 -0
- package/dist/{chunk-PUS63Q3G.js → chunk-RUYJ7TWU.js} +517 -2011
- package/dist/chunk-RUYJ7TWU.js.map +1 -0
- package/dist/{chunk-4A6YGWQN.js → chunk-TL4TO3EA.js} +115 -120
- package/dist/chunk-TL4TO3EA.js.map +1 -0
- package/dist/{chunk-SPJXKAVF.js → chunk-U52AKICI.js} +14 -13
- package/dist/chunk-U52AKICI.js.map +1 -0
- package/dist/chunk-ULARSG5Z.js +203 -0
- package/dist/chunk-ULARSG5Z.js.map +1 -0
- package/dist/{chunk-62U4J2GN.js → chunk-UR77VKF7.js} +2 -2
- package/dist/{chunk-JCBWCYEJ.js → chunk-VANLTS5F.js} +2 -2
- package/dist/{chunk-4Z4XNEWZ.js → chunk-VCD4PSK2.js} +56 -12
- package/dist/chunk-VCD4PSK2.js.map +1 -0
- package/dist/{chunk-RMMVQQA6.js → chunk-WDISJRMG.js} +2 -2
- package/dist/{chunk-B6JDYXL7.js → chunk-WWUVONGW.js} +7 -1
- package/dist/chunk-WWUVONGW.js.map +1 -0
- package/dist/{chunk-UVYI6VIX.js → chunk-X7Y7WX73.js} +1 -1
- package/dist/{chunk-TH2LSRMG.js → chunk-XHDIB4T4.js} +2 -2
- package/dist/{chunk-CVILPI77.js → chunk-XOQSEF7X.js} +6 -6
- package/dist/{chunk-LBOD4U5B.js → chunk-YFOMN2II.js} +6 -6
- package/dist/{chunk-RPW2NOU6.js → chunk-YIAA2X3D.js} +41 -1
- package/dist/chunk-YIAA2X3D.js.map +1 -0
- package/dist/chunk-YPC7W6GA.js +1604 -0
- package/dist/chunk-YPC7W6GA.js.map +1 -0
- package/dist/{chunk-I5NLEENJ.js → chunk-Z4SWV4VW.js} +3 -3
- package/dist/{chunk-PHWUFPCO.js → chunk-ZCPP5OW6.js} +61 -53
- package/dist/chunk-ZCPP5OW6.js.map +1 -0
- package/dist/{cli-C4GbETPC.d.ts → cli-BptUDTtp.d.ts} +5 -5
- package/dist/cli.d.ts +12 -12
- package/dist/cli.js +91 -84
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +14 -14
- 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 +1 -1
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +14 -14
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +17 -17
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-provenance-check.js +5 -5
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/consolidation-undo.js +3 -3
- package/dist/contradiction/index.d.ts +2 -2
- package/dist/contradiction/index.js +4 -4
- 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 +26 -26
- 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/enrichment/index.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +14 -14
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +8 -8
- 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-source-grounding-rules.d.ts +1 -1
- package/dist/extraction-source-grounding.d.ts +15 -2
- package/dist/extraction-source-grounding.js +10 -1
- package/dist/extraction.d.ts +2 -15
- package/dist/extraction.js +5 -4
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/graph-dashboard-diff.d.ts +1 -1
- package/dist/graph-dashboard-key.d.ts +1 -1
- package/dist/graph-dashboard-parser.d.ts +1 -1
- package/dist/graph-edge-reinforcement.d.ts +1 -1
- package/dist/graph-snapshot.d.ts +1 -1
- package/dist/graph.d.ts +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 +19 -19
- package/dist/index.js +215 -207
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/engine.js +3 -3
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +6 -6
- 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-helpers.d.ts +7 -0
- package/dist/local-llm-helpers.js +16 -0
- package/dist/local-llm-helpers.js.map +1 -0
- package/dist/local-llm.d.ts +3 -6
- package/dist/local-llm.js +2 -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 +14 -14
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +14 -14
- package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
- package/dist/maintenance/rebuild-memory-projection.js +15 -15
- package/dist/{maintenance-CL30NWtc.d.ts → maintenance-b6f92bRz.d.ts} +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +10 -10
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-corpus-version.js +2 -2
- 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 +2 -2
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +3 -3
- package/dist/namespaces/migrate.js +24 -24
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +9 -9
- package/dist/namespaces/storage.d.ts +3 -3
- package/dist/namespaces/storage.js +14 -14
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/offline-sync-impression-drain.d.ts +1 -1
- package/dist/offline-sync-impression-drain.js +6 -5
- package/dist/operator-doctor-corpus.d.ts +1 -1
- package/dist/operator-doctor-corpus.js +29 -29
- package/dist/operator-doctor-replica.d.ts +1 -1
- package/dist/operator-doctor-replica.js +3 -3
- package/dist/operator-toolkit.d.ts +3 -3
- package/dist/operator-toolkit.js +38 -37
- package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
- package/dist/orchestration/maintenance.d.ts +4 -4
- package/dist/orchestration/maintenance.js +22 -21
- package/dist/{orchestrator-CKTCRwWV.d.ts → orchestrator-3uGxC1qO.d.ts} +72 -34
- package/dist/orchestrator.d.ts +8 -8
- package/dist/orchestrator.js +167 -159
- package/dist/page-versioning.js +3 -3
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/{pipeline-B7wj4rRZ.d.ts → pipeline-DepuNr-m.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/{qmd-q9tg4dHp.d.ts → qmd-Dalr3Jby.d.ts} +1 -1
- package/dist/qmd-preflight.d.ts +2 -2
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +2 -2
- package/dist/qmd.js +4 -4
- 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/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-divergence.js +2 -2
- package/dist/replica-peers-config.d.ts +1 -1
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +1 -1
- 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/{scope-profiles-CWDyglPM.d.ts → scope-profiles-BpiM5hTU.d.ts} +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +8 -8
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +12 -12
- 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-BUE3deLn.d.ts → semantic-consolidation-CMtVrf9f.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +16 -16
- package/dist/semantic-rule-promotion.js +14 -14
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +14 -14
- package/dist/{service-CXgM0bQG.d.ts → service-DuAxwSgg.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 +1 -1
- package/dist/signal.d.ts +1 -1
- package/dist/{storage-DysJq-XH.d.ts → storage-CF0Ih8GP.d.ts} +1 -1
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +13 -13
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +3 -2
- 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 +1 -1
- package/dist/tokens.js +2 -2
- package/dist/topics.d.ts +1 -1
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +5 -5
- package/dist/trust-score-stage.d.ts +1 -1
- package/dist/trust-score.d.ts +1 -1
- package/dist/{types-aPPzhnjT.d.ts → types-BpaYvJ6v.d.ts} +22 -2
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +14 -14
- package/dist/write-envelope.d.ts +1 -1
- package/package.json +2 -2
- package/src/access-boundary.ts +3 -0
- package/src/access-cli.test.ts +93 -0
- package/src/access-cli.ts +56 -2
- package/src/access-extraction-force-flush.ts +177 -0
- package/src/access-http-extraction-force-flush.test.ts +132 -0
- package/src/access-http-lcm-compaction.ts +99 -22
- package/src/access-http-lifecycle-flush.ts +81 -0
- package/src/access-http.test.ts +227 -0
- package/src/access-http.ts +33 -40
- package/src/access-mcp-output-schemas.ts +6 -0
- package/src/access-mcp.test.ts +40 -0
- package/src/access-mcp.ts +32 -1
- package/src/access-observe-helpers.ts +180 -0
- package/src/access-observe-write-surface.ts +78 -19
- package/src/access-operations-batch.ts +2 -1
- package/src/access-schema-pi.test.ts +17 -0
- package/src/access-schema.ts +28 -11
- package/src/access-service-helpers.ts +46 -0
- package/src/access-service-observe-lcm-parity.test.ts +781 -31
- package/src/access-service-observe-scope.test.ts +88 -0
- package/src/access-service.ts +46 -128
- package/src/access-surface-catalog.test.ts +32 -0
- package/src/access-surface-catalog.ts +2 -0
- package/src/buffer-session.test.ts +148 -0
- package/src/buffer-turn-helpers.ts +152 -0
- package/src/buffer.ts +126 -201
- package/src/correction/correction-access-wiring.ts +79 -27
- package/src/correction/correction-executor.test.ts +542 -1
- package/src/correction/correction-executor.ts +309 -89
- package/src/correction/correction-planner.test.ts +35 -1
- package/src/correction/correction-planner.ts +50 -3
- package/src/correction/correction-service.ts +12 -7
- package/src/correction/correction-storage-integration.test.ts +172 -1
- package/src/correction/passive-capture.test.ts +35 -0
- package/src/correction/passive-capture.ts +17 -3
- package/src/extraction-source-grounding.ts +55 -1
- package/src/extraction-timeout.test.ts +51 -0
- package/src/extraction.ts +64 -90
- package/src/local-llm-headers-timeout.test.ts +48 -0
- package/src/local-llm-helpers.ts +58 -0
- package/src/local-llm.ts +62 -58
- package/src/orchestration/extraction-run-helpers.ts +309 -0
- package/src/orchestration/extraction-run.test.ts +350 -7
- package/src/orchestration/extraction-run.ts +327 -250
- package/src/orchestration/recall-internal-deps.ts +385 -0
- package/src/orchestration/recall-internal.ts +16 -375
- package/src/orchestration/session-context.ts +193 -18
- package/src/orchestration/turn-ingestion.ts +61 -11
- package/src/orchestrator-flush.test.ts +511 -5
- package/src/orchestrator.ts +8 -6
- package/src/types.ts +2 -2
- package/dist/chunk-4A6YGWQN.js.map +0 -1
- package/dist/chunk-4WKA6I65.js.map +0 -1
- package/dist/chunk-4Z4XNEWZ.js.map +0 -1
- package/dist/chunk-6FUPCJUL.js.map +0 -1
- package/dist/chunk-B6JDYXL7.js.map +0 -1
- package/dist/chunk-GBJ4RDFR.js.map +0 -1
- package/dist/chunk-HUHX2OCX.js.map +0 -1
- package/dist/chunk-IYZ5K7MU.js.map +0 -1
- package/dist/chunk-LGHKJABJ.js.map +0 -1
- package/dist/chunk-PHWUFPCO.js.map +0 -1
- package/dist/chunk-PUS63Q3G.js.map +0 -1
- package/dist/chunk-RPW2NOU6.js.map +0 -1
- package/dist/chunk-SPJXKAVF.js.map +0 -1
- package/dist/chunk-YTSNAUXN.js.map +0 -1
- /package/dist/{capsule-crypto-GWVG7LGC.js.map → access-extraction-force-flush.js.map} +0 -0
- /package/dist/{capsule-merge-5KKJQBWQ.js.map → capsule-merge-2H2IUTBT.js.map} +0 -0
- /package/dist/{chunk-LEPOP46W.js.map → chunk-227UFSEQ.js.map} +0 -0
- /package/dist/{chunk-GIBMDSJ2.js.map → chunk-27P5YVDU.js.map} +0 -0
- /package/dist/{chunk-2SA56WMI.js.map → chunk-2LTDWSR6.js.map} +0 -0
- /package/dist/{chunk-OWHERGF2.js.map → chunk-2NLLXCJG.js.map} +0 -0
- /package/dist/{chunk-6U7F52DE.js.map → chunk-4XHR3I67.js.map} +0 -0
- /package/dist/{chunk-2EUVEDF5.js.map → chunk-5XA7PQ5I.js.map} +0 -0
- /package/dist/{chunk-ALSGMEJR.js.map → chunk-65ZPVYTA.js.map} +0 -0
- /package/dist/{chunk-5VQJBH2G.js.map → chunk-6TAUHL33.js.map} +0 -0
- /package/dist/{chunk-RGIWINDN.js.map → chunk-7G5MH4NT.js.map} +0 -0
- /package/dist/{chunk-WVO4G37W.js.map → chunk-7TEZUUGM.js.map} +0 -0
- /package/dist/{chunk-MJCGLM25.js.map → chunk-7VUAG236.js.map} +0 -0
- /package/dist/{chunk-M3C2V3PV.js.map → chunk-AJEMDQNA.js.map} +0 -0
- /package/dist/{chunk-RKNJBZ55.js.map → chunk-AU7Q3LSC.js.map} +0 -0
- /package/dist/{chunk-ACXPX4AG.js.map → chunk-BR2K43MK.js.map} +0 -0
- /package/dist/{chunk-CZRYLSSW.js.map → chunk-BUGVGH4N.js.map} +0 -0
- /package/dist/{chunk-YTQNQ4KB.js.map → chunk-C4VQMFVM.js.map} +0 -0
- /package/dist/{chunk-ZPSVBSOF.js.map → chunk-CIVDJD6P.js.map} +0 -0
- /package/dist/{chunk-K5GB36ME.js.map → chunk-CZDOT5I2.js.map} +0 -0
- /package/dist/{chunk-VI2JQPNQ.js.map → chunk-E4PWACUN.js.map} +0 -0
- /package/dist/{chunk-D2ANTDGO.js.map → chunk-E6BMSH7U.js.map} +0 -0
- /package/dist/{chunk-P5PXWTW7.js.map → chunk-EJCAV3QZ.js.map} +0 -0
- /package/dist/{chunk-CKMO4RDY.js.map → chunk-EMDLM3LW.js.map} +0 -0
- /package/dist/{chunk-G5R3D5UP.js.map → chunk-GTTAHHD3.js.map} +0 -0
- /package/dist/{chunk-H5CPS5JP.js.map → chunk-H36LJIPD.js.map} +0 -0
- /package/dist/{chunk-AITCS2RC.js.map → chunk-IJ7HK452.js.map} +0 -0
- /package/dist/{chunk-D3LMYTBV.js.map → chunk-J7WZUL2K.js.map} +0 -0
- /package/dist/{chunk-5W4ZLBEZ.js.map → chunk-JCFTIQBR.js.map} +0 -0
- /package/dist/{chunk-XOZ4ALGB.js.map → chunk-KE353EWI.js.map} +0 -0
- /package/dist/{chunk-W5EG6LE3.js.map → chunk-KIT6M7EB.js.map} +0 -0
- /package/dist/{chunk-5W7CTZ2E.js.map → chunk-KQAFEZQX.js.map} +0 -0
- /package/dist/{chunk-Z54EM5YZ.js.map → chunk-MAXVH44E.js.map} +0 -0
- /package/dist/{chunk-WZFAPHIK.js.map → chunk-MU7ZHSZE.js.map} +0 -0
- /package/dist/{chunk-66772WBP.js.map → chunk-NFXQJHJD.js.map} +0 -0
- /package/dist/{chunk-AZ5BTEKX.js.map → chunk-NQUF7XKR.js.map} +0 -0
- /package/dist/{chunk-W4FBGYGK.js.map → chunk-NRV4Y3PM.js.map} +0 -0
- /package/dist/{chunk-NHWB6HG2.js.map → chunk-NYCGIQRA.js.map} +0 -0
- /package/dist/{chunk-QJAQNXWI.js.map → chunk-ONHRRJZM.js.map} +0 -0
- /package/dist/{chunk-FDAMS4PK.js.map → chunk-PNPOWBGC.js.map} +0 -0
- /package/dist/{chunk-IC6CBHCA.js.map → chunk-QGENAYVS.js.map} +0 -0
- /package/dist/{chunk-62U4J2GN.js.map → chunk-UR77VKF7.js.map} +0 -0
- /package/dist/{chunk-JCBWCYEJ.js.map → chunk-VANLTS5F.js.map} +0 -0
- /package/dist/{chunk-RMMVQQA6.js.map → chunk-WDISJRMG.js.map} +0 -0
- /package/dist/{chunk-UVYI6VIX.js.map → chunk-X7Y7WX73.js.map} +0 -0
- /package/dist/{chunk-TH2LSRMG.js.map → chunk-XHDIB4T4.js.map} +0 -0
- /package/dist/{chunk-CVILPI77.js.map → chunk-XOQSEF7X.js.map} +0 -0
- /package/dist/{chunk-LBOD4U5B.js.map → chunk-YFOMN2II.js.map} +0 -0
- /package/dist/{chunk-I5NLEENJ.js.map → chunk-Z4SWV4VW.js.map} +0 -0
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveEnsureCollectionArgs
|
|
3
3
|
} from "./chunk-YV32N67O.js";
|
|
4
|
+
import {
|
|
5
|
+
EMPTY_QMD_STATUS,
|
|
6
|
+
embedQmdFiles,
|
|
7
|
+
fetchQmdStatus
|
|
8
|
+
} from "./chunk-IUM3VSHI.js";
|
|
4
9
|
import {
|
|
5
10
|
QMD_PROBE_RETRY_BACKOFF_MS,
|
|
6
11
|
QMD_PROBE_TIMEOUT_MS,
|
|
@@ -13,11 +18,6 @@ import {
|
|
|
13
18
|
qmdVersionToString,
|
|
14
19
|
resolveQmdCapabilities
|
|
15
20
|
} from "./chunk-64UDOIMI.js";
|
|
16
|
-
import {
|
|
17
|
-
EMPTY_QMD_STATUS,
|
|
18
|
-
embedQmdFiles,
|
|
19
|
-
fetchQmdStatus
|
|
20
|
-
} from "./chunk-IUM3VSHI.js";
|
|
21
21
|
import {
|
|
22
22
|
launchProcess
|
|
23
23
|
} from "./chunk-O75CRYGF.js";
|
|
@@ -2228,4 +2228,4 @@ export {
|
|
|
2228
2228
|
sharedDaemonSessionCountForTest,
|
|
2229
2229
|
QmdClient
|
|
2230
2230
|
};
|
|
2231
|
-
//# sourceMappingURL=chunk-
|
|
2231
|
+
//# sourceMappingURL=chunk-ONHRRJZM.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
runPostConsolidationMaterialize
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NYCGIQRA.js";
|
|
4
4
|
import {
|
|
5
5
|
discoverMemoryExtensions,
|
|
6
6
|
renderExtensionsBlock,
|
|
@@ -220,4 +220,4 @@ export {
|
|
|
220
220
|
buildExtensionsBlockForConsolidation,
|
|
221
221
|
materializeAfterSemanticConsolidation
|
|
222
222
|
};
|
|
223
|
-
//# sourceMappingURL=chunk-
|
|
223
|
+
//# sourceMappingURL=chunk-PNPOWBGC.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StorageManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7G5MH4NT.js";
|
|
4
4
|
import {
|
|
5
5
|
namespaceIdentityToken,
|
|
6
6
|
normalizeNamespaceIdentity
|
|
@@ -388,4 +388,4 @@ export {
|
|
|
388
388
|
resolveNamespaceStorageRoot,
|
|
389
389
|
NamespaceStorageRouter
|
|
390
390
|
};
|
|
391
|
-
//# sourceMappingURL=chunk-
|
|
391
|
+
//# sourceMappingURL=chunk-QGENAYVS.js.map
|
|
@@ -21,22 +21,23 @@ import {
|
|
|
21
21
|
} from "./chunk-WLZYGLJ4.js";
|
|
22
22
|
import {
|
|
23
23
|
LocalLlmClient
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-ZCPP5OW6.js";
|
|
25
25
|
import {
|
|
26
|
-
applyExtractionSourceGrounding
|
|
27
|
-
|
|
26
|
+
applyExtractionSourceGrounding,
|
|
27
|
+
attachExtractionProvenance
|
|
28
|
+
} from "./chunk-YIAA2X3D.js";
|
|
28
29
|
import {
|
|
29
30
|
classifyExtractionThrownError,
|
|
30
31
|
classifyFallbackParseFailure
|
|
31
32
|
} from "./chunk-BLDBT6HZ.js";
|
|
32
|
-
import {
|
|
33
|
-
delinearize
|
|
34
|
-
} from "./chunk-VEWZZM3H.js";
|
|
35
33
|
import {
|
|
36
34
|
buildExtensionsFooterForSummary,
|
|
37
35
|
formatDaySummaryMemories,
|
|
38
36
|
loadDaySummaryPrompt
|
|
39
37
|
} from "./chunk-RPSYDM6C.js";
|
|
38
|
+
import {
|
|
39
|
+
delinearize
|
|
40
|
+
} from "./chunk-VEWZZM3H.js";
|
|
40
41
|
import {
|
|
41
42
|
applyWorkExtractionBoundary
|
|
42
43
|
} from "./chunk-EI6V5UXY.js";
|
|
@@ -61,9 +62,6 @@ import {
|
|
|
61
62
|
import {
|
|
62
63
|
extractJsonCandidates
|
|
63
64
|
} from "./chunk-RGMVMVMF.js";
|
|
64
|
-
import {
|
|
65
|
-
buildFactProvenance
|
|
66
|
-
} from "./chunk-5I4M26Q7.js";
|
|
67
65
|
import {
|
|
68
66
|
sanitizeMemoryContent
|
|
69
67
|
} from "./chunk-5GKPFL3S.js";
|
|
@@ -183,6 +181,11 @@ function normalizeProfileUpdateKey(update) {
|
|
|
183
181
|
function shouldEnableLocalExtractionThinking(config, conversationChars) {
|
|
184
182
|
return config.localLlmDisableThinking && config.localLlmThinkingThresholdChars > 0 && conversationChars < config.localLlmThinkingThresholdChars;
|
|
185
183
|
}
|
|
184
|
+
function throwIfExtractionAborted(signal) {
|
|
185
|
+
if (!signal?.aborted) return;
|
|
186
|
+
const reason = signal.reason;
|
|
187
|
+
throw reason instanceof Error ? reason : new Error("extraction aborted");
|
|
188
|
+
}
|
|
186
189
|
var ExtractionEngine = class {
|
|
187
190
|
constructor(config, profilerArg, localLlm, gatewayConfig, modelRegistry) {
|
|
188
191
|
this.config = config;
|
|
@@ -474,18 +477,19 @@ var ExtractionEngine = class {
|
|
|
474
477
|
const entityUpdates = (Array.isArray(result.entityUpdates) ? result.entityUpdates : []).map((entity) => this.normalizeEntityUpdate(entity)).filter((entity) => entity !== void 0 && entity.name.length > 0);
|
|
475
478
|
return { items, profileUpdates, entityUpdates };
|
|
476
479
|
}
|
|
477
|
-
async applyProactiveQuestionPass(conversation, base, groundingSource, assertionSource, messageTimestamp, roleAssertionSources) {
|
|
480
|
+
async applyProactiveQuestionPass(conversation, base, groundingSource, assertionSource, messageTimestamp, roleAssertionSources, signal) {
|
|
478
481
|
if (!resolvePipelineProcessingCapabilities(this.config).proactiveExtraction) return base;
|
|
479
482
|
const maxAdditional = Math.max(0, Math.floor(this.config.maxProactiveQuestionsPerExtraction));
|
|
480
483
|
if (!shouldRunProactivePass(this.config, maxAdditional, this.shouldUseLocalLlm, this.localLlm)) return base;
|
|
481
484
|
try {
|
|
482
|
-
const proactive = await this.generateProactiveQuestions(conversation, base, maxAdditional);
|
|
485
|
+
const proactive = await this.generateProactiveQuestions(conversation, base, maxAdditional, signal);
|
|
483
486
|
if (proactive.length === 0) return base;
|
|
484
487
|
const proactiveAdditions = await this.answerProactiveQuestions(
|
|
485
488
|
conversation,
|
|
486
489
|
base,
|
|
487
490
|
proactive,
|
|
488
|
-
maxAdditional
|
|
491
|
+
maxAdditional,
|
|
492
|
+
signal
|
|
489
493
|
);
|
|
490
494
|
const sanitizedAdditions = this.sanitizeExtractionResult(proactiveAdditions, messageTimestamp);
|
|
491
495
|
const groundedAdditions = this.applySourceGrounding(
|
|
@@ -498,6 +502,7 @@ var ExtractionEngine = class {
|
|
|
498
502
|
if (!this.hasExtractionOutputs(groundedAdditions)) return base;
|
|
499
503
|
return this.mergeProactiveExtractionPass(base, groundedAdditions, maxAdditional);
|
|
500
504
|
} catch (err) {
|
|
505
|
+
if (signal?.aborted) throw err;
|
|
501
506
|
log.debug(`proactive extraction question pass failed (ignored): ${err}`);
|
|
502
507
|
return base;
|
|
503
508
|
}
|
|
@@ -526,7 +531,7 @@ var ExtractionEngine = class {
|
|
|
526
531
|
}
|
|
527
532
|
return null;
|
|
528
533
|
}
|
|
529
|
-
async generateProactiveQuestions(conversation, base, maxAdditional) {
|
|
534
|
+
async generateProactiveQuestions(conversation, base, maxAdditional, signal) {
|
|
530
535
|
const existingQuestionKeys = new Set(
|
|
531
536
|
(base.questions ?? []).map((q) => q.question.trim().toLowerCase()).filter((q) => q.length > 0)
|
|
532
537
|
);
|
|
@@ -562,9 +567,11 @@ var ExtractionEngine = class {
|
|
|
562
567
|
maxTokens: this.config.proactiveExtractionMaxTokens,
|
|
563
568
|
timeoutMs: this.config.proactiveExtractionTimeoutMs,
|
|
564
569
|
operation: "proactive_extraction",
|
|
565
|
-
priority: "background"
|
|
570
|
+
priority: "background",
|
|
571
|
+
signal
|
|
566
572
|
}
|
|
567
573
|
);
|
|
574
|
+
throwIfExtractionAborted(signal);
|
|
568
575
|
if (localResponse?.content) {
|
|
569
576
|
const localParsed = this.parseProactiveQuestionsFromText(
|
|
570
577
|
localResponse.content.trim(),
|
|
@@ -578,7 +585,7 @@ var ExtractionEngine = class {
|
|
|
578
585
|
return [];
|
|
579
586
|
}
|
|
580
587
|
} catch (err) {
|
|
581
|
-
if (!this.config.localLlmFallback) {
|
|
588
|
+
if (signal?.aborted || !this.config.localLlmFallback) {
|
|
582
589
|
throw err;
|
|
583
590
|
}
|
|
584
591
|
}
|
|
@@ -595,13 +602,14 @@ var ExtractionEngine = class {
|
|
|
595
602
|
this.withGatewayAgent({
|
|
596
603
|
temperature: 0.2,
|
|
597
604
|
maxTokens: this.config.proactiveExtractionMaxTokens,
|
|
598
|
-
timeoutMs: this.config.proactiveExtractionTimeoutMs
|
|
605
|
+
timeoutMs: this.config.proactiveExtractionTimeoutMs,
|
|
606
|
+
signal
|
|
599
607
|
})
|
|
600
608
|
);
|
|
601
609
|
if (!fallbackResult?.questions) return [];
|
|
602
610
|
return fallbackResult.questions.map((q) => normalizeQuestion(q)).filter((q) => q.question.length > 0).filter((q) => !existingQuestionKeys.has(q.question.toLowerCase())).slice(0, maxAdditional);
|
|
603
611
|
}
|
|
604
|
-
async answerProactiveQuestions(conversation, base, proactiveQuestions, maxAdditional) {
|
|
612
|
+
async answerProactiveQuestions(conversation, base, proactiveQuestions, maxAdditional, signal) {
|
|
605
613
|
const factsPreview = base.facts.slice(0, 8).map((f) => `- (${f.category}) ${f.content}`).join("\n");
|
|
606
614
|
const entitiesPreview = base.entities.slice(0, 8).map((entity) => `- (${entity.type}) ${entity.name}: ${entity.facts.join("; ") || "(no facts)"}`).join("\n");
|
|
607
615
|
const proactivePreview = proactiveQuestions.slice(0, maxAdditional).map((question, index) => `${index + 1}. ${question.question}${question.context ? `
|
|
@@ -646,9 +654,11 @@ var ExtractionEngine = class {
|
|
|
646
654
|
maxTokens: this.config.proactiveExtractionMaxTokens,
|
|
647
655
|
timeoutMs: this.config.proactiveExtractionTimeoutMs,
|
|
648
656
|
operation: "proactive_extraction",
|
|
649
|
-
priority: "background"
|
|
657
|
+
priority: "background",
|
|
658
|
+
signal
|
|
650
659
|
}
|
|
651
660
|
);
|
|
661
|
+
throwIfExtractionAborted(signal);
|
|
652
662
|
if (localResponse?.content) {
|
|
653
663
|
const parsed = this.parseProactiveExtractionResultFromText(localResponse.content.trim());
|
|
654
664
|
if (parsed) {
|
|
@@ -659,7 +669,7 @@ var ExtractionEngine = class {
|
|
|
659
669
|
return { facts: [], profileUpdates: [], entities: [], questions: [] };
|
|
660
670
|
}
|
|
661
671
|
} catch (err) {
|
|
662
|
-
if (!this.config.localLlmFallback) {
|
|
672
|
+
if (signal?.aborted || !this.config.localLlmFallback) {
|
|
663
673
|
throw err;
|
|
664
674
|
}
|
|
665
675
|
}
|
|
@@ -676,7 +686,8 @@ var ExtractionEngine = class {
|
|
|
676
686
|
this.withGatewayAgent({
|
|
677
687
|
temperature: 0.2,
|
|
678
688
|
maxTokens: this.config.proactiveExtractionMaxTokens,
|
|
679
|
-
timeoutMs: this.config.proactiveExtractionTimeoutMs
|
|
689
|
+
timeoutMs: this.config.proactiveExtractionTimeoutMs,
|
|
690
|
+
signal
|
|
680
691
|
})
|
|
681
692
|
);
|
|
682
693
|
if (!fallbackResult) {
|
|
@@ -818,54 +829,6 @@ var ExtractionEngine = class {
|
|
|
818
829
|
}
|
|
819
830
|
return null;
|
|
820
831
|
}
|
|
821
|
-
/**
|
|
822
|
-
* Attach claim-level provenance spans to each fact in the extraction result
|
|
823
|
-
* (issue #1575 PR 2). Runs once at write time, after sanitize + proactive
|
|
824
|
-
* pass so ALL facts (base + proactive additions) get verified spans before
|
|
825
|
-
* the result is returned for persistence.
|
|
826
|
-
*
|
|
827
|
-
* The validator locates each fact's LLM-provided `quote` in the buffered
|
|
828
|
-
* turns and builds a `ProvenanceSource[]` with verified offsets. Never
|
|
829
|
-
* throws, never drops a fact — an unverifiable span is a tagged state, not
|
|
830
|
-
* a silent failure (rule 34 spirit). When `provenance.enabled` is false,
|
|
831
|
-
* this is a no-op (byte-identical to pre-feature behavior, rule 39).
|
|
832
|
-
*/
|
|
833
|
-
attachProvenanceToResult(result, turns) {
|
|
834
|
-
if (!this.config.provenance?.enabled) {
|
|
835
|
-
if (result.facts.length === 0) return result;
|
|
836
|
-
return {
|
|
837
|
-
...result,
|
|
838
|
-
facts: result.facts.map((fact) => {
|
|
839
|
-
if (fact.quote === void 0) return fact;
|
|
840
|
-
const { quote: _stripped, ...rest } = fact;
|
|
841
|
-
return rest;
|
|
842
|
-
})
|
|
843
|
-
};
|
|
844
|
-
}
|
|
845
|
-
if (result.facts.length === 0) return result;
|
|
846
|
-
const provenanceTurns = turns.map((t) => ({
|
|
847
|
-
content: t.content,
|
|
848
|
-
sessionKey: t.sessionKey,
|
|
849
|
-
logicalSessionKey: t.logicalSessionKey,
|
|
850
|
-
timestamp: t.timestamp,
|
|
851
|
-
turnId: t.turnFingerprint
|
|
852
|
-
}));
|
|
853
|
-
const facts = result.facts.map((fact) => {
|
|
854
|
-
const built = buildFactProvenance(
|
|
855
|
-
fact.quote,
|
|
856
|
-
provenanceTurns,
|
|
857
|
-
this.config.provenance
|
|
858
|
-
);
|
|
859
|
-
const { quote: _stripped, ...factWithoutQuote } = fact;
|
|
860
|
-
return {
|
|
861
|
-
...factWithoutQuote,
|
|
862
|
-
...built.sources && built.sources.length > 0 ? { sources: built.sources } : {},
|
|
863
|
-
...built.provenance !== "none" ? { provenance: built.provenance } : {},
|
|
864
|
-
...built.requireSpansPending ? { requireSpansPending: true } : {}
|
|
865
|
-
};
|
|
866
|
-
});
|
|
867
|
-
return { ...result, facts };
|
|
868
|
-
}
|
|
869
832
|
applySourceGrounding(result, sourceText, assertionSourceText = sourceText, roleAssertionSources, messageTimestamp) {
|
|
870
833
|
const capabilities = resolvePipelineProcessingCapabilities(this.config);
|
|
871
834
|
return applyExtractionSourceGrounding(
|
|
@@ -881,9 +844,9 @@ var ExtractionEngine = class {
|
|
|
881
844
|
);
|
|
882
845
|
}
|
|
883
846
|
finalizeExtractionResult(result, turns) {
|
|
884
|
-
return
|
|
847
|
+
return attachExtractionProvenance(result, turns, this.config.provenance);
|
|
885
848
|
}
|
|
886
|
-
async extract(turns, existingEntities) {
|
|
849
|
+
async extract(turns, existingEntities, signal) {
|
|
887
850
|
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
888
851
|
const substantiveTurns = turns.filter((t) => t.content.trim().length > 0);
|
|
889
852
|
if (substantiveTurns.length === 0) {
|
|
@@ -937,7 +900,8 @@ var ExtractionEngine = class {
|
|
|
937
900
|
this.profiler.startSpan("local-llm", extractionTraceId);
|
|
938
901
|
primaryExtractorAttempted = true;
|
|
939
902
|
try {
|
|
940
|
-
const localResult = await this.extractWithLocalLlm(conversation, existingEntities);
|
|
903
|
+
const localResult = await this.extractWithLocalLlm(conversation, existingEntities, signal);
|
|
904
|
+
throwIfExtractionAborted(signal);
|
|
941
905
|
if (localResult) {
|
|
942
906
|
const durationMs = Date.now() - startTime;
|
|
943
907
|
this.profiler.endSpan("local-llm", extractionTraceId);
|
|
@@ -957,7 +921,8 @@ var ExtractionEngine = class {
|
|
|
957
921
|
groundingSource,
|
|
958
922
|
assertionSource,
|
|
959
923
|
messageTimestamp,
|
|
960
|
-
roleAssertionSources
|
|
924
|
+
roleAssertionSources,
|
|
925
|
+
signal
|
|
961
926
|
);
|
|
962
927
|
return this.finalizeExtractionResult(finalResult, boundedTurns);
|
|
963
928
|
}
|
|
@@ -974,6 +939,7 @@ var ExtractionEngine = class {
|
|
|
974
939
|
}
|
|
975
940
|
log.info("extraction: local LLM unavailable, falling back to gateway default AI");
|
|
976
941
|
} catch (err) {
|
|
942
|
+
if (signal?.aborted) throw err;
|
|
977
943
|
if (!this.config.localLlmFallback) {
|
|
978
944
|
log.warn("extraction: local LLM error and fallback disabled:", err);
|
|
979
945
|
return {
|
|
@@ -997,7 +963,7 @@ var ExtractionEngine = class {
|
|
|
997
963
|
this.profiler.startSpan("direct-client", extractionTraceId);
|
|
998
964
|
primaryExtractorAttempted = true;
|
|
999
965
|
try {
|
|
1000
|
-
const directResult = await this.extractWithDirectClient(conversation, existingEntities);
|
|
966
|
+
const directResult = await this.extractWithDirectClient(conversation, existingEntities, signal);
|
|
1001
967
|
if (directResult) {
|
|
1002
968
|
const durationMs = Date.now() - startTime;
|
|
1003
969
|
this.profiler.endSpan("direct-client", extractionTraceId);
|
|
@@ -1017,7 +983,8 @@ var ExtractionEngine = class {
|
|
|
1017
983
|
groundingSource,
|
|
1018
984
|
assertionSource,
|
|
1019
985
|
messageTimestamp,
|
|
1020
|
-
roleAssertionSources
|
|
986
|
+
roleAssertionSources,
|
|
987
|
+
signal
|
|
1021
988
|
);
|
|
1022
989
|
return this.finalizeExtractionResult(finalResult, boundedTurns);
|
|
1023
990
|
}
|
|
@@ -1035,6 +1002,7 @@ var ExtractionEngine = class {
|
|
|
1035
1002
|
closedDirectTrace = true;
|
|
1036
1003
|
log.info("extraction: direct client returned no result, falling back to gateway AI");
|
|
1037
1004
|
} catch (err) {
|
|
1005
|
+
if (signal?.aborted) throw err;
|
|
1038
1006
|
try {
|
|
1039
1007
|
this.emit({
|
|
1040
1008
|
kind: "llm_error",
|
|
@@ -1090,7 +1058,8 @@ var ExtractionEngine = class {
|
|
|
1090
1058
|
this.withGatewayAgent({
|
|
1091
1059
|
temperature: 0.3,
|
|
1092
1060
|
maxTokens: this.config.extractionMaxOutputTokens,
|
|
1093
|
-
timeoutMs: this.config.localLlmTimeoutMs
|
|
1061
|
+
timeoutMs: this.config.localLlmTimeoutMs,
|
|
1062
|
+
signal
|
|
1094
1063
|
})
|
|
1095
1064
|
);
|
|
1096
1065
|
const fallbackDurationMs = Date.now() - fallbackStartTime;
|
|
@@ -1122,7 +1091,8 @@ var ExtractionEngine = class {
|
|
|
1122
1091
|
groundingSource,
|
|
1123
1092
|
assertionSource,
|
|
1124
1093
|
messageTimestamp,
|
|
1125
|
-
roleAssertionSources
|
|
1094
|
+
roleAssertionSources,
|
|
1095
|
+
signal
|
|
1126
1096
|
);
|
|
1127
1097
|
return this.finalizeExtractionResult(finalResult, boundedTurns);
|
|
1128
1098
|
}
|
|
@@ -1149,6 +1119,7 @@ var ExtractionEngine = class {
|
|
|
1149
1119
|
extractionFailureClass: fallbackParseFailureClass
|
|
1150
1120
|
};
|
|
1151
1121
|
} catch (err) {
|
|
1122
|
+
if (signal?.aborted) throw err;
|
|
1152
1123
|
this.emit({
|
|
1153
1124
|
kind: "llm_error",
|
|
1154
1125
|
traceId: fallbackTraceId,
|
|
@@ -1181,7 +1152,7 @@ var ExtractionEngine = class {
|
|
|
1181
1152
|
* Extract memories using local LLM with JSON mode.
|
|
1182
1153
|
* Uses a minimal prompt to fit within local model context limits (typically 4k-8k).
|
|
1183
1154
|
*/
|
|
1184
|
-
async extractWithLocalLlm(conversation, existingEntities) {
|
|
1155
|
+
async extractWithLocalLlm(conversation, existingEntities, signal) {
|
|
1185
1156
|
const lifecycleCaps = resolveMemoryLifecycleCapabilities(this.config);
|
|
1186
1157
|
log.debug(
|
|
1187
1158
|
`extractWithLocalLlm: starting extraction, localLlmEnabled=${this.shouldUseLocalLlm}, model=${this.config.localLlmModel}`
|
|
@@ -1241,7 +1212,8 @@ ${truncatedConversation}`;
|
|
|
1241
1212
|
maxTokens: contextSizes.maxOutputTokens,
|
|
1242
1213
|
operation: "extraction",
|
|
1243
1214
|
disableThinking: shouldEnableLocalExtractionThinking(this.config, conversation.length) ? false : void 0,
|
|
1244
|
-
priority: "background"
|
|
1215
|
+
priority: "background",
|
|
1216
|
+
signal
|
|
1245
1217
|
}
|
|
1246
1218
|
);
|
|
1247
1219
|
if (!response?.content) {
|
|
@@ -1279,26 +1251,29 @@ ${truncatedConversation}`;
|
|
|
1279
1251
|
* Extract memories using direct OpenAI-compatible client (Chat Completions API).
|
|
1280
1252
|
* Works with Scryr, OpenRouter, and other OpenAI-compatible endpoints.
|
|
1281
1253
|
*/
|
|
1282
|
-
async extractWithDirectClient(conversation, existingEntities) {
|
|
1254
|
+
async extractWithDirectClient(conversation, existingEntities, signal) {
|
|
1283
1255
|
if (!this.client) return null;
|
|
1284
1256
|
const tokenParams = buildChatCompletionTokenLimit(this.config.model, this.config.extractionMaxOutputTokens, {
|
|
1285
1257
|
assumeOpenAI: this.directClientUsesOpenAiTokenSemantics()
|
|
1286
1258
|
});
|
|
1287
1259
|
log.debug(`extractWithDirectClient: calling model=${this.config.model} tokenParams=${JSON.stringify(tokenParams)}`);
|
|
1288
|
-
const response = await this.client.chat.completions.create(
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1260
|
+
const response = await this.client.chat.completions.create(
|
|
1261
|
+
{
|
|
1262
|
+
model: this.config.model,
|
|
1263
|
+
messages: [
|
|
1264
|
+
{
|
|
1265
|
+
role: "system",
|
|
1266
|
+
content: this.buildExtractionInstructions(existingEntities) + `
|
|
1294
1267
|
|
|
1295
1268
|
Return only valid JSON matching this shape. Placeholder text describes field shape only and is never source evidence:
|
|
1296
1269
|
${EXTRACTION_RESPONSE_SHAPE}`
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1270
|
+
},
|
|
1271
|
+
{ role: "user", content: conversation }
|
|
1272
|
+
],
|
|
1273
|
+
...tokenParams
|
|
1274
|
+
},
|
|
1275
|
+
signal ? { signal } : void 0
|
|
1276
|
+
);
|
|
1302
1277
|
const content = response.choices?.[0]?.message?.content?.trim();
|
|
1303
1278
|
if (!content) {
|
|
1304
1279
|
log.info(`extractWithDirectClient: empty response \u2014 choices=${JSON.stringify(response.choices?.length ?? 0)} finishReason=${response.choices?.[0]?.finish_reason ?? "n/a"}`);
|
|
@@ -2507,4 +2482,4 @@ export {
|
|
|
2507
2482
|
shouldEnableLocalExtractionThinking,
|
|
2508
2483
|
ExtractionEngine
|
|
2509
2484
|
};
|
|
2510
|
-
//# sourceMappingURL=chunk-
|
|
2485
|
+
//# sourceMappingURL=chunk-QIHIHZYC.js.map
|