@snoai/memory 0.0.0-stage → 1.0.1
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/LICENSE +176 -0
- package/README.md +33 -2
- package/config/b-profile-section-registry.json +118 -0
- package/config/llm/compiled/2026-05-19T230932Z/manifest.json +25 -0
- package/config/llm/compiled/2026-05-19T230932Z/registry-root.json +67 -0
- package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-05-19T230932Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-05-19T230932Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/manifest.json +43 -0
- package/config/llm/compiled/2026-07-21T001311Z/registry-root.json +97 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_extract_chat.json +10 -0
- package/config/llm/compiled/2026-07-21T001311Z/resolved/mem_claw/sno_extract_profile.json +10 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/compiled/2026-07-21T001311Z/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm/compiled/2026-08-29T060335Z/manifest.json +43 -0
- package/config/llm/compiled/2026-08-29T060335Z/registry-root.json +97 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_extract_chat.json +10 -0
- package/config/llm/compiled/2026-08-29T060335Z/resolved/mem_claw/sno_extract_profile.json +10 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/compiled/2026-08-29T060335Z/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm/compiled/2026-09-04T004828Z/manifest.json +43 -0
- package/config/llm/compiled/2026-09-04T004828Z/registry-root.json +97 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/openai_gpt_5_nano.json +5 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/openrouter_auto.json +5 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_ai_extract.json +5 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_conflict_verdict.json +10 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_extract_chat.json +10 -0
- package/config/llm/compiled/2026-09-04T004828Z/resolved/mem_claw/sno_extract_profile.json +10 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/compiled/2026-09-04T004828Z/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm/current.json +4 -0
- package/config/llm/source/mem_claw/openai_gpt_5_nano.mda +24 -0
- package/config/llm/source/mem_claw/openrouter_auto.mda +24 -0
- package/config/llm/source/mem_claw/sno_ai_extract.mda +24 -0
- package/config/llm/source/mem_claw/sno_conflict_verdict.mda +27 -0
- package/config/llm/source/mem_claw/sno_extract_chat.mda +27 -0
- package/config/llm/source/mem_claw/sno_extract_profile.mda +27 -0
- package/config/llm.trust.json +37 -0
- package/dist/_types-CUKHSRkS.d.ts +103 -0
- package/dist/access-tracker-BbEvEocb.d.ts +110 -0
- package/dist/adapter-B7Jox9-6.d.ts +69 -0
- package/dist/adapter-XaRHZWZ2.js +333 -0
- package/dist/agent-llm-port-5oXgBpzJ.d.ts +53 -0
- package/dist/all-resources-BQK2ugjB.js +6379 -0
- package/dist/all-resources-Dij6l5h0.d.ts +18 -0
- package/dist/ambient-learning-text-normalizer-CxjATmMp.js +170 -0
- package/dist/ambient-learning-text-normalizer-_fH3LeuK.d.ts +10 -0
- package/dist/atomic-extraction-reply-BJ9XV_9s.js +863 -0
- package/dist/atomic-extraction-skill-CcXmuCqL.js +56 -0
- package/dist/atomic-memory-extraction-C5rmogoY.js +3605 -0
- package/dist/atomic-memory-extraction-d9EG-4ti.d.ts +327 -0
- package/dist/b-profile-section-dictionary-provider-BHkoNqgk.js +1812 -0
- package/dist/b-profile-section-dictionary-provider-BxbksLj3.d.ts +62 -0
- package/dist/best-effort-BPZSzKk0.d.ts +9 -0
- package/dist/calendar-instruction-CzqZbAPG.js +194 -0
- package/dist/capture-policy-detector-CxbHPkMX.d.ts +53 -0
- package/dist/capture-policy-detector-DaMfy9CZ.js +357 -0
- package/dist/classifier-DnbbtwTS.d.ts +272 -0
- package/dist/client.d.ts +34 -0
- package/dist/client.js +306 -0
- package/dist/coding-skin.d.ts +51 -0
- package/dist/coding-skin.js +55 -0
- package/dist/config-CL90qYva.js +2576 -0
- package/dist/connection-3IVXpuPE.d.ts +391 -0
- package/dist/connection-C9YD5sgm.js +297 -0
- package/dist/daily-log-generator-CH_KuWHs.js +469 -0
- package/dist/daily-log-generator-CsQPHl4A.d.ts +73 -0
- package/dist/daily-spend-estimator-DiwzBlo1.d.ts +8 -0
- package/dist/data-bootstrap-Bl3lthzE.d.ts +30 -0
- package/dist/data-bootstrap-P8sie9WA.js +172 -0
- package/dist/data-paths-C7sNdqvP.d.ts +22 -0
- package/dist/derived-suppression-cache-CI0durYx.d.ts +36 -0
- package/dist/diagnostic-encoder.d.ts +6 -0
- package/dist/diagnostic-encoder.js +29 -0
- package/dist/embedding-provider-client-Q_hJonK9.js +294 -0
- package/dist/embedding-provider-client-vynZMuit.d.ts +94 -0
- package/dist/entry-metadata-parser-BIVSMCIk.js +20 -0
- package/dist/error-D-wb-rZw.js +23 -0
- package/dist/error-signals-D8_3vYu4.d.ts +28 -0
- package/dist/error-signals-lMH2uAdV.js +134 -0
- package/dist/errors-CeVRxf9V.d.ts +49 -0
- package/dist/extraction-text-sanitizer-B_AhIecT.d.ts +32 -0
- package/dist/i18n-text-DbD6Qify.d.ts +13 -0
- package/dist/index-0aqS8pVF.d.ts +351 -0
- package/dist/index-BO4RU_mc.d.ts +650 -0
- package/dist/index-DL8AVj0Z.d.ts +571 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.js +1201 -0
- package/dist/intent-analyzer-B5XVrWwe.d.ts +28 -0
- package/dist/internal/config/index.d.ts +2 -0
- package/dist/internal/config/index.js +581 -0
- package/dist/internal/config/plugin-config-schema.d.ts +2 -0
- package/dist/internal/config/plugin-config-schema.js +2 -0
- package/dist/internal/config/product-mode.d.ts +2 -0
- package/dist/internal/config/product-mode.js +36 -0
- package/dist/internal/config/settings.d.ts +2 -0
- package/dist/internal/config/settings.js +265 -0
- package/dist/internal/config/skill-categories.d.ts +4 -0
- package/dist/internal/config/skill-categories.js +68 -0
- package/dist/internal/config/skin-defaults.d.ts +6 -0
- package/dist/internal/config/skin-defaults.js +6 -0
- package/dist/internal/contract/discovery.d.ts +10 -0
- package/dist/internal/contract/discovery.js +53 -0
- package/dist/internal/contract/profile.d.ts +2 -0
- package/dist/internal/contract/profile.js +44 -0
- package/dist/internal/contract/routes.d.ts +2 -0
- package/dist/internal/contract/routes.js +62 -0
- package/dist/internal/engine/bindings/memory-cli-shared.d.ts +47 -0
- package/dist/internal/engine/bindings/memory-cli-shared.js +84 -0
- package/dist/internal/engine/bindings/memory-forget-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-forget-tool.js +66 -0
- package/dist/internal/engine/bindings/memory-list-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-list-tool.js +57 -0
- package/dist/internal/engine/bindings/memory-recall-tool.d.ts +10 -0
- package/dist/internal/engine/bindings/memory-recall-tool.js +283 -0
- package/dist/internal/engine/bindings/memory-reflection-resolve-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +150 -0
- package/dist/internal/engine/bindings/memory-stats-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-stats-tool.js +43 -0
- package/dist/internal/engine/bindings/memory-store-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-store-tool.js +165 -0
- package/dist/internal/engine/bindings/memory-tool-access.d.ts +16 -0
- package/dist/internal/engine/bindings/memory-tool-access.js +46 -0
- package/dist/internal/engine/bindings/memory-tool-formatting.d.ts +62 -0
- package/dist/internal/engine/bindings/memory-tool-formatting.js +106 -0
- package/dist/internal/engine/bindings/memory-tool-results.d.ts +8 -0
- package/dist/internal/engine/bindings/memory-tool-results.js +41 -0
- package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +109 -0
- package/dist/internal/engine/bindings/memory-tool-schemas.js +75 -0
- package/dist/internal/engine/bindings/memory-update-tool.d.ts +5 -0
- package/dist/internal/engine/bindings/memory-update-tool.js +127 -0
- package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +14 -0
- package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +248 -0
- package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +12 -0
- package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +324 -0
- package/dist/internal/engine/bindings/sno-station-mem-hook-types.d.ts +56 -0
- package/dist/internal/engine/bindings/sno-station-mem-hook-types.js +1 -0
- package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +14 -0
- package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +119 -0
- package/dist/internal/engine/bindings/sno-station-mem-message-transcript.d.ts +52 -0
- package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +145 -0
- package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +10 -0
- package/dist/internal/engine/bindings/sno-station-mem-reset-hook.js +9 -0
- package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +36 -0
- package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.js +104 -0
- package/dist/internal/engine/bindings/sno-station-mem-session-state.d.ts +10 -0
- package/dist/internal/engine/bindings/sno-station-mem-session-state.js +27 -0
- package/dist/internal/engine/eval/trace.d.ts +2 -0
- package/dist/internal/engine/eval/trace.js +151 -0
- package/dist/internal/engine/extraction/ambient-learning-text-normalizer.d.ts +2 -0
- package/dist/internal/engine/extraction/ambient-learning-text-normalizer.js +2 -0
- package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +2 -0
- package/dist/internal/engine/extraction/atomic-memory-extraction.js +2 -0
- package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +2 -0
- package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.js +2 -0
- package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +49 -0
- package/dist/internal/engine/extraction/b-profile-section-rekey.js +730 -0
- package/dist/internal/engine/extraction/capture-policy-detector.d.ts +2 -0
- package/dist/internal/engine/extraction/capture-policy-detector.js +2 -0
- package/dist/internal/engine/extraction/embedding-provider-client.d.ts +2 -0
- package/dist/internal/engine/extraction/embedding-provider-client.js +2 -0
- package/dist/internal/engine/extraction/extraction-text-sanitizer.d.ts +2 -0
- package/dist/internal/engine/extraction/extraction-text-sanitizer.js +114 -0
- package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +3 -0
- package/dist/internal/engine/extraction/memory-metadata-codec.js +2 -0
- package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +2 -0
- package/dist/internal/engine/extraction/memory-temporality-classifier.js +2 -0
- package/dist/internal/engine/i18n/all-resources.d.ts +2 -0
- package/dist/internal/engine/i18n/all-resources.js +2 -0
- package/dist/internal/engine/i18n/locales.d.ts +2 -0
- package/dist/internal/engine/i18n/locales.js +19 -0
- package/dist/internal/engine/i18n/res/_types.d.ts +2 -0
- package/dist/internal/engine/i18n/res/_types.js +11 -0
- package/dist/internal/engine/observability/adapter.d.ts +2 -0
- package/dist/internal/engine/observability/adapter.js +2 -0
- package/dist/internal/engine/observability/best-effort.d.ts +2 -0
- package/dist/internal/engine/observability/best-effort.js +41 -0
- package/dist/internal/engine/observability/early-diagnostics.js +2 -0
- package/dist/internal/engine/observability/memory-snapshot.d.ts +2 -0
- package/dist/internal/engine/observability/memory-snapshot.js +44 -0
- package/dist/internal/engine/observability/observable-embedder.d.ts +2 -0
- package/dist/internal/engine/observability/observable-embedder.js +43 -0
- package/dist/internal/engine/observability/observable-llm-client.d.ts +2 -0
- package/dist/internal/engine/observability/observable-llm-client.js +98 -0
- package/dist/internal/engine/observability/observable-memory-store.d.ts +2 -0
- package/dist/internal/engine/observability/observable-memory-store.js +701 -0
- package/dist/internal/engine/observability/observable-retriever.d.ts +2 -0
- package/dist/internal/engine/observability/observable-retriever.js +95 -0
- package/dist/internal/engine/observability/runtime-diagnostics.d.ts +13 -0
- package/dist/internal/engine/observability/runtime-diagnostics.js +96 -0
- package/dist/internal/engine/observability/session-registry.d.ts +2 -0
- package/dist/internal/engine/observability/session-registry.js +58 -0
- package/dist/internal/engine/observability/version-metadata.d.ts +7 -0
- package/dist/internal/engine/observability/version-metadata.js +59 -0
- package/dist/internal/engine/operations/daily-spend-estimator.d.ts +2 -0
- package/dist/internal/engine/operations/daily-spend-estimator.js +97 -0
- package/dist/internal/engine/operations/learning-file-maintenance.d.ts +2 -0
- package/dist/internal/engine/operations/learning-file-maintenance.js +255 -0
- package/dist/internal/engine/operations/memory-tier-promoter.d.ts +2 -0
- package/dist/internal/engine/operations/memory-tier-promoter.js +95 -0
- package/dist/internal/engine/operations/runtime-audit-log.d.ts +3 -0
- package/dist/internal/engine/operations/runtime-audit-log.js +3 -0
- package/dist/internal/engine/provider/canonical-memory-corpus.d.ts +38 -0
- package/dist/internal/engine/provider/canonical-memory-corpus.js +253 -0
- package/dist/internal/engine/provider/provider-registration.d.ts +39 -0
- package/dist/internal/engine/provider/provider-registration.js +2 -0
- package/dist/internal/engine/provider/provider-row-renderer.d.ts +7 -0
- package/dist/internal/engine/provider/provider-row-renderer.js +53 -0
- package/dist/internal/engine/provider/provider-types.d.ts +2 -0
- package/dist/internal/engine/provider/provider-types.js +1 -0
- package/dist/internal/engine/reflection/daily-log-generator.d.ts +2 -0
- package/dist/internal/engine/reflection/daily-log-generator.js +2 -0
- package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-command-hooks.js +2 -0
- package/dist/internal/engine/reflection/reflection-deps.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-deps.js +1 -0
- package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-embedded-generator.js +2 -0
- package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-injection-hooks.js +219 -0
- package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +2 -0
- package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +63 -0
- package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +4 -0
- package/dist/internal/engine/reflection/strategy-hook-runner.js +3 -0
- package/dist/internal/engine/rem/classifier.d.ts +2 -0
- package/dist/internal/engine/rem/classifier.js +180 -0
- package/dist/internal/engine/rem/index.d.ts +4 -0
- package/dist/internal/engine/rem/index.js +2551 -0
- package/dist/internal/engine/rem/types.d.ts +2 -0
- package/dist/internal/engine/rem/types.js +40 -0
- package/dist/internal/engine/retrieval/access-tracker.d.ts +2 -0
- package/dist/internal/engine/retrieval/access-tracker.js +314 -0
- package/dist/internal/engine/retrieval/intent-analyzer.d.ts +2 -0
- package/dist/internal/engine/retrieval/intent-analyzer.js +27 -0
- package/dist/internal/engine/retrieval/retrieval-gate.d.ts +2 -0
- package/dist/internal/engine/retrieval/retrieval-gate.js +47 -0
- package/dist/internal/engine/retrieval/retriever.d.ts +2 -0
- package/dist/internal/engine/retrieval/retriever.js +2 -0
- package/dist/internal/engine/security/memory-scope-policy.d.ts +2 -0
- package/dist/internal/engine/security/memory-scope-policy.js +2 -0
- package/dist/internal/engine/security/redact.d.ts +2 -0
- package/dist/internal/engine/security/redact.js +34 -0
- package/dist/internal/engine/security/scopes.d.ts +3 -0
- package/dist/internal/engine/security/scopes.js +3 -0
- package/dist/internal/engine/shared/errors.d.ts +2 -0
- package/dist/internal/engine/shared/errors.js +66 -0
- package/dist/internal/engine/shared/i18n-text.d.ts +2 -0
- package/dist/internal/engine/shared/i18n-text.js +58 -0
- package/dist/internal/engine/shared/iso-date-time.d.ts +16 -0
- package/dist/internal/engine/shared/iso-date-time.js +40 -0
- package/dist/internal/engine/shared/lru.d.ts +2 -0
- package/dist/internal/engine/shared/lru.js +30 -0
- package/dist/internal/engine/shared/memory-kind-policy.d.ts +2 -0
- package/dist/internal/engine/shared/memory-kind-policy.js +64 -0
- package/dist/internal/engine/shared/paths.d.ts +3 -0
- package/dist/internal/engine/shared/paths.js +2 -0
- package/dist/internal/engine/shared/types.d.ts +3 -0
- package/dist/internal/engine/shared/types.js +25 -0
- package/dist/internal/engine/shared/utils.d.ts +2 -0
- package/dist/internal/engine/shared/utils.js +175 -0
- package/dist/internal/engine/telemetry/memory-telemetry-api.d.ts +134 -0
- package/dist/internal/engine/telemetry/memory-telemetry-api.js +730 -0
- package/dist/internal/engine/telemetry/memory-telemetry-observability.d.ts +24 -0
- package/dist/internal/engine/telemetry/memory-telemetry-observability.js +133 -0
- package/dist/internal/engine/telemetry/memory-telemetry-outbox.d.ts +2 -0
- package/dist/internal/engine/telemetry/memory-telemetry-outbox.js +443 -0
- package/dist/internal/engine/telemetry/memory-telemetry-types.d.ts +2 -0
- package/dist/internal/engine/telemetry/memory-telemetry-types.js +21 -0
- package/dist/internal/engine/telemetry/observe-ledger.d.ts +30 -0
- package/dist/internal/engine/telemetry/observe-ledger.js +111 -0
- package/dist/internal/model/agent-llm-port.d.ts +2 -0
- package/dist/internal/model/agent-llm-port.js +1 -0
- package/dist/internal/model/llm-client.d.ts +3 -0
- package/dist/internal/model/llm-client.js +3 -0
- package/dist/internal/model/llm-failure.d.ts +26 -0
- package/dist/internal/model/llm-failure.js +63 -0
- package/dist/internal/model/llm-mode-routing.d.ts +22 -0
- package/dist/internal/model/llm-mode-routing.js +37 -0
- package/dist/internal/store/atomic-memory-cutover-sql.d.ts +13 -0
- package/dist/internal/store/atomic-memory-cutover-sql.js +237 -0
- package/dist/internal/store/connection.d.ts +2 -0
- package/dist/internal/store/connection.js +2 -0
- package/dist/internal/store/data-bootstrap.d.ts +2 -0
- package/dist/internal/store/data-bootstrap.js +2 -0
- package/dist/internal/store/data-paths.d.ts +2 -0
- package/dist/internal/store/data-paths.js +65 -0
- package/dist/internal/store/maintenance.d.ts +75 -0
- package/dist/internal/store/maintenance.js +1401 -0
- package/dist/internal/store/memory-kinds-cutover-migrator.d.ts +28 -0
- package/dist/internal/store/memory-kinds-cutover-migrator.js +415 -0
- package/dist/internal/store/migrations.d.ts +27 -0
- package/dist/internal/store/migrations.js +201 -0
- package/dist/internal/store/sqlite-runtime.d.ts +2 -0
- package/dist/internal/store/sqlite-runtime.js +109 -0
- package/dist/internal/store/store.d.ts +3 -0
- package/dist/internal/store/store.js +2 -0
- package/dist/learning-file-maintenance-9b-Ut6Kv.d.ts +30 -0
- package/dist/llm-client-BSYUAcUb.js +1374 -0
- package/dist/llm-client-DOTSGzhe.d.ts +51 -0
- package/dist/locales-JxGmkG6t.d.ts +7 -0
- package/dist/log-site-catalog.generated-BMKWj-Nx.js +2321 -0
- package/dist/log-site-catalog.json +1 -0
- package/dist/lru-DyoaTyIs.d.ts +14 -0
- package/dist/memdump.d.ts +52 -0
- package/dist/memdump.js +163 -0
- package/dist/memory-entry-projector-DHo8jH10.js +1015 -0
- package/dist/memory-kind-policy-BiuRjSJc.d.ts +23 -0
- package/dist/memory-metadata-codec-DL1sbJiN.js +577 -0
- package/dist/memory-metadata-codec-DUvsYe_X.d.ts +68 -0
- package/dist/memory-runtime-DqUS4cWi.js +19459 -0
- package/dist/memory-scope-policy-1gg5QlWZ.d.ts +67 -0
- package/dist/memory-scope-policy-DICSCURA.js +283 -0
- package/dist/memory-snapshot-CqY1BUUA.d.ts +16 -0
- package/dist/memory-source-order-YMRoeDLd.js +134 -0
- package/dist/memory-store-base-CQ_bHlYA.d.ts +1094 -0
- package/dist/memory-store-shared-DqpWJXZZ.js +158 -0
- package/dist/memory-store-write-validation-B_hDG2zf.js +243 -0
- package/dist/memory-telemetry-incidents-BWA9kcZx.js +8 -0
- package/dist/memory-telemetry-metadata-CA7W8tK6.js +77 -0
- package/dist/memory-telemetry-outbox-ddTdImt7.d.ts +74 -0
- package/dist/memory-telemetry-receipts-MAJecvXQ.d.ts +34 -0
- package/dist/memory-telemetry-receipts-YsxbwOAf.js +91 -0
- package/dist/memory-telemetry-types-CufVmrCs.d.ts +14 -0
- package/dist/memory-temporality-classifier-BUjXG5o7.js +184 -0
- package/dist/memory-temporality-classifier-Brht5jyK.d.ts +43 -0
- package/dist/memory-tier-promoter-CqGxCkue.d.ts +43 -0
- package/dist/memory-tool-dependencies-CatGzI9R.d.ts +14 -0
- package/dist/memory-tool-dependencies-DjUoelnm.js +19 -0
- package/dist/model-call-table-CspopkBg.js +563 -0
- package/dist/model-reply-text-CKopStP2.js +334 -0
- package/dist/observable-embedder-CNNe9gkg.d.ts +17 -0
- package/dist/observable-llm-client-CRuKlefQ.d.ts +21 -0
- package/dist/observable-memory-store-CnGDpOY5.d.ts +73 -0
- package/dist/observable-retriever-Cooc62Qw.d.ts +23 -0
- package/dist/operation-cancellation-CTKWwNHk.js +81 -0
- package/dist/paths-qVF-5uBq.d.ts +1 -0
- package/dist/plugin-config-schema-C0UUbOmG.d.ts +413 -0
- package/dist/plugin-config-schema-YJLyIIcJ.js +361 -0
- package/dist/profile-TWPJ_myr.d.ts +13 -0
- package/dist/profile-section-writer-BhGKPBjw.js +2149 -0
- package/dist/provider-registration-CF1tg8Xy.js +721 -0
- package/dist/provider-runtime-types-DFhtdA6d.d.ts +134 -0
- package/dist/provider-types-CZGm6v88.d.ts +23 -0
- package/dist/redact-BTIZcHQL.d.ts +5 -0
- package/dist/reflection-command-hooks-ClUl-iv6.js +644 -0
- package/dist/reflection-command-hooks-G1-dI2Av.d.ts +32 -0
- package/dist/reflection-deps-Ccm2Jf5W.d.ts +19 -0
- package/dist/reflection-embedded-generator-BRvqV5N-.js +130 -0
- package/dist/reflection-embedded-generator-kfQfKEYV.d.ts +14 -0
- package/dist/reflection-injection-hooks-CS_uhjoD.d.ts +43 -0
- package/dist/reflection-lifecycle-hooks-CRSpUdLi.d.ts +27 -0
- package/dist/relation-dictionary-Cev1kyLe.js +4248 -0
- package/dist/release-download.d.ts +8 -0
- package/dist/release-download.js +32 -0
- package/dist/relevant-memories-context-m8nuFZcM.js +23 -0
- package/dist/rem-batch-executor-Dg2HgROM.js +2 -0
- package/dist/rem-batch-executor-DuC4nYyf.js +31640 -0
- package/dist/rem-consumer-retrieval-CR0dtcHR.js +246 -0
- package/dist/rem-trigger-Hn6od8IV.js +730 -0
- package/dist/resolver-Dy-hnjCR.js +103 -0
- package/dist/results-C3ZLroMb.js +140 -0
- package/dist/retrieval-gate-Bx2Zg7jD.d.ts +31 -0
- package/dist/retriever-Dxss5fRv.d.ts +469 -0
- package/dist/retriever-ZoLvPRHq.js +1757 -0
- package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/routes-DLHT__Ay.js +60 -0
- package/dist/runtime-audit-log-BCeujlEp.js +430 -0
- package/dist/runtime-audit-log-zpQiR9HT.d.ts +149 -0
- package/dist/scopes-CSOn6zdd.js +71 -0
- package/dist/scopes-CtrY-YQ3.d.ts +23 -0
- package/dist/server-CSvxchqg.js +1412 -0
- package/dist/session-registry-DBoE7AvZ.d.ts +14 -0
- package/dist/sidecar/main.d.ts +1 -0
- package/dist/sidecar/main.js +56 -0
- package/dist/signed-registry-constants-Bv0fgZ8Q.d.ts +12 -0
- package/dist/signed-registry-constants-yq3DlG3B.js +82 -0
- package/dist/sno-station-mem-runtime-dependencies-CoWqUMbK.js +30 -0
- package/dist/sno-station-mem-runtime-dependencies-DHESIuPn.d.ts +31 -0
- package/dist/sqlite-runtime-L_ywirTm.d.ts +58 -0
- package/dist/store-C8sUTssE.d.ts +27 -0
- package/dist/store-nPql26YM.js +5830 -0
- package/dist/strategy-hook-runner-Bxy851Xx.d.ts +16 -0
- package/dist/strategy-hook-runner-Djify5Rw.js +110 -0
- package/dist/token-counter-BD1f48Km.js +73 -0
- package/dist/trace-C1JxMfs-.d.ts +86 -0
- package/dist/types-CWdhXLxr.d.ts +477 -0
- package/dist/types-pVomjzqR.d.ts +132 -0
- package/dist/unplaced-candidate-migration-CbQHzcEM.js +940 -0
- package/dist/utils-Ctb9aevJ.d.ts +34 -0
- package/drizzle/0000_initial.sql +10 -0
- package/drizzle/0001_virtual_tables.sql +34 -0
- package/drizzle/0002_add_indexes.sql +11 -0
- package/drizzle/0003_content_hash_lookup_index.sql +2 -0
- package/drizzle/0004_chunk_swap.sql +60 -0
- package/drizzle/0005_drop_legacy_vec_fts.sql +10 -0
- package/drizzle/0006_fts_simple.sql +45 -0
- package/drizzle/0007_restore_simple_fts.sql +40 -0
- package/drizzle/0008_widen_memory_hash_unique_index.sql +4 -0
- package/drizzle/0009_memory_telemetry.sql +109 -0
- package/drizzle/0010_provider_mappings.sql +27 -0
- package/drizzle/0011_db_optimization.sql +82 -0
- package/drizzle/0012_b_profile_lanes.sql +9 -0
- package/drizzle/0013_extraction_timestamps.sql +6 -0
- package/drizzle/0014_extraction_timestamp_source.sql +3 -0
- package/drizzle/0015_task_lifecycle_state.sql +101 -0
- package/drizzle/0016_task_lifecycle_legacy_migration.sql +144 -0
- package/drizzle/0017_unplaced_candidates.sql +15 -0
- package/drizzle/0018_rem_batch_chassis.sql +71 -0
- package/drizzle/0019_profile_recovery_entries.sql +17 -0
- package/drizzle/0020_rem_scan_retry_progress.down.sql +14 -0
- package/drizzle/0020_rem_scan_retry_progress.sql +24 -0
- package/drizzle/0021_rem_two_facet_storage.down.sql +14 -0
- package/drizzle/0021_rem_two_facet_storage.sql +42 -0
- package/drizzle/0022_rem_facet_chunk_versions.down.sql +4 -0
- package/drizzle/0022_rem_facet_chunk_versions.sql +4 -0
- package/drizzle/0023_rem_defect_ledger.sql +40 -0
- package/drizzle/0024_rem_unbuilt_foundations.down.sql +13 -0
- package/drizzle/0024_rem_unbuilt_foundations.sql +65 -0
- package/drizzle/0025_rem_journal_operation_constraint.sql +28 -0
- package/drizzle/0026_rem_journal_detail.sql +1 -0
- package/drizzle/0027_legacy_nodix_namespace.sql +3 -0
- package/drizzle/0028_memory_timezone.sql +23 -0
- package/drizzle/0029_rem_write_hash_symmetry.sql +17 -0
- package/drizzle/0030_atomic_memory_additive.sql +105 -0
- package/drizzle/0031_atomic_extraction_ledger.sql +23 -0
- package/drizzle/0032_atomic_memory_entities.sql +12 -0
- package/drizzle/0033_todo_own_store.sql +99 -0
- package/drizzle/meta/0000_snapshot.json +87 -0
- package/drizzle/meta/_journal.json +244 -0
- package/generated/rem-operations.json +1 -0
- package/package.json +126 -4
- package/scripts/download-simple-tokenizer.mjs +254 -0
- package/settings.default.json +243 -0
- package/skills/extract-atomic-memory/SKILL.md +298 -0
- package/skills/extract-atomic-memory/references/account-for-turns.md +9 -0
- package/skills/extract-atomic-memory/references/calendar-meaning.md +64 -0
- package/skills/extract-atomic-memory/references/capture.md +120 -0
- package/skills/extract-atomic-memory/references/enrichment.md +92 -0
- package/skills/extract-atomic-memory/references/missing-durable-half.md +6 -0
- package/skills/extract-atomic-memory/references/progress-classification.md +21 -0
- package/skills/extract-atomic-memory/references/resolve-subject.md +19 -0
- package/skills/extract-atomic-memory/references/surrounding-context.md +10 -0
- package/skills/extract-atomic-memory/references/user-subject-guard.md +29 -0
- package/skills/judge-group-closure/SKILL.md +25 -0
- package/skills/judge-rem-memory-updates/SKILL.md +56 -0
- package/skills/judge-rem-memory-updates/agents/openai.yaml +4 -0
- package/skills/judge-retired-position/SKILL.md +25 -0
- package/skills/judge-task-lifecycle/SKILL.md +45 -0
- package/skills/key-state-attribute/SKILL.md +16 -0
- package/skills/resolve-entity-identity/SKILL.md +24 -0
- package/skills/resolve-relative-time/SKILL.md +22 -0
- package/sqlite-extensions/LICENSE-simple-tokenizer +28 -0
- package/sqlite-extensions/LICENSE-sqlite-vec +21 -0
- package/sqlite-extensions/linux-arm64/vec0.so +0 -0
- package/sqlite-extensions/linux-x64/vec0.so +0 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
import { h as MemoryCategory, l as DecayScore, r as AggregationQuery, u as DecayableMemory, x as RetrievalResult, y as MemorySearchResult } from "./types-CWdhXLxr.js";
|
|
2
|
+
import { sn as RecallLifecycleConfig } from "./index-DL8AVj0Z.js";
|
|
3
|
+
import { t as Embedder } from "./embedding-provider-client-vynZMuit.js";
|
|
4
|
+
import "./trace-C1JxMfs-.js";
|
|
5
|
+
import "./memory-metadata-codec-DUvsYe_X.js";
|
|
6
|
+
import { K as RemFacetPolicy } from "./index-BO4RU_mc.js";
|
|
7
|
+
import { C as MemoryStore } from "./memory-store-base-CQ_bHlYA.js";
|
|
8
|
+
import "./store-C8sUTssE.js";
|
|
9
|
+
import { n as AccessTracker } from "./access-tracker-BbEvEocb.js";
|
|
10
|
+
import { r as TierPromoter } from "./memory-tier-promoter-CqGxCkue.js";
|
|
11
|
+
import "@snoai/utils/logger";
|
|
12
|
+
//#region src/engine/retrieval/retrieval-trace.d.ts
|
|
13
|
+
/** @file retrieval-trace.ts
|
|
14
|
+
* @purpose Captures per-query retrieval trace details for debugging ranking decisions.
|
|
15
|
+
* @boundary Candidate scoring, filters, and retriever observability.
|
|
16
|
+
* @see retriever.ts, retrieval-stats.ts, store.ts.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Retrieval Trace — Observable pipeline diagnostics
|
|
20
|
+
*
|
|
21
|
+
* Tracks entry IDs through each retrieval stage, computes drops,
|
|
22
|
+
* score ranges, and timing. Zero overhead when not used.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Per-stage structured annotations. Keyed strings only — must survive
|
|
26
|
+
* JSON serialization and downstream aggregation. Used today for the
|
|
27
|
+
* rerank fallback reason; not a freeform diagnostic bag.
|
|
28
|
+
*/
|
|
29
|
+
type RetrievalStageMetadata = Readonly<Record<string, string | number | boolean>>;
|
|
30
|
+
interface RetrievalStageResult {
|
|
31
|
+
/** Stage name, e.g. "vector_search", "bm25_search", "rrf_fusion" */
|
|
32
|
+
name: string;
|
|
33
|
+
/** Number of entries entering this stage */
|
|
34
|
+
inputCount: number;
|
|
35
|
+
/** Number of entries surviving this stage */
|
|
36
|
+
outputCount: number;
|
|
37
|
+
/** IDs that were present in input but not in output */
|
|
38
|
+
droppedIds: string[];
|
|
39
|
+
/**
|
|
40
|
+
* IDs that survived this stage, in the order the stage passed them on.
|
|
41
|
+
*
|
|
42
|
+
* `droppedIds` alone cannot place a memory at a stage it never entered, so a stage record
|
|
43
|
+
* fabricated by copying the final served ids backward reads as valid. This is the field
|
|
44
|
+
* that makes such a record fail.
|
|
45
|
+
*/
|
|
46
|
+
outputIds: string[];
|
|
47
|
+
/** [min, max] score range of surviving entries, null if no scores */
|
|
48
|
+
scoreRange: [number, number] | null;
|
|
49
|
+
/** Wall-clock duration of this stage in milliseconds */
|
|
50
|
+
durationMs: number;
|
|
51
|
+
/** Optional structured stage annotations (e.g. rerank fallback reason). */
|
|
52
|
+
metadata?: RetrievalStageMetadata;
|
|
53
|
+
}
|
|
54
|
+
interface RetrievalTrace {
|
|
55
|
+
/** The original search query */
|
|
56
|
+
query: string;
|
|
57
|
+
/** Retrieval mode used */
|
|
58
|
+
mode: "precision-recall" | "vector" | "aggregation";
|
|
59
|
+
/** Timestamp when retrieval started (epoch ms) */
|
|
60
|
+
startedAt: number;
|
|
61
|
+
/** Per-stage results in pipeline order */
|
|
62
|
+
stages: RetrievalStageResult[];
|
|
63
|
+
/** Number of results after all stages */
|
|
64
|
+
finalCount: number;
|
|
65
|
+
/** Total wall-clock time in milliseconds */
|
|
66
|
+
totalMs: number;
|
|
67
|
+
/**
|
|
68
|
+
* Phase 0 §9 lifecycle event stream. Absent when `recallLifecycle.traceEnabled`
|
|
69
|
+
* is off so the trace shape stays bit-exact for existing consumers.
|
|
70
|
+
*/
|
|
71
|
+
lifecycleEvents?: LifecycleTraceEvent[];
|
|
72
|
+
}
|
|
73
|
+
type RetrievalMode = RetrievalTrace["mode"];
|
|
74
|
+
/** Retention scorer output for a single memory at scoring time. */
|
|
75
|
+
interface RetentionScoreEvent {
|
|
76
|
+
kind: "retention-score-computed";
|
|
77
|
+
at: number;
|
|
78
|
+
memoryId: string;
|
|
79
|
+
tier: string;
|
|
80
|
+
composite: number;
|
|
81
|
+
multiplier: number;
|
|
82
|
+
}
|
|
83
|
+
/** Tier-transition evaluation outcome. `to === from` means "no change". */
|
|
84
|
+
interface TierPromotionEvent {
|
|
85
|
+
kind: "tier-promotion-evaluated";
|
|
86
|
+
at: number;
|
|
87
|
+
memoryId: string;
|
|
88
|
+
from: string;
|
|
89
|
+
to: string;
|
|
90
|
+
promoted: boolean;
|
|
91
|
+
}
|
|
92
|
+
/** Access-tracker update event. `skipped` reflects rate-limit / ceiling gates. */
|
|
93
|
+
interface AccessTrackerEvent {
|
|
94
|
+
kind: "access-tracker-update";
|
|
95
|
+
at: number;
|
|
96
|
+
memoryId: string;
|
|
97
|
+
accessCount: number;
|
|
98
|
+
skipped: boolean;
|
|
99
|
+
reason?: "rate-limited" | "ceiling" | "ok";
|
|
100
|
+
}
|
|
101
|
+
type LifecycleTraceEvent = RetentionScoreEvent | TierPromotionEvent | AccessTrackerEvent;
|
|
102
|
+
interface TraceCollectorOptions {
|
|
103
|
+
/**
|
|
104
|
+
* Phase 0 §9 toggle — when false (the default) `writeRetentionTrace`,
|
|
105
|
+
* `writeAccessTrace`, and `writeTierTrace` are no-ops and the finalized
|
|
106
|
+
* trace omits `lifecycleEvents` entirely (existing format preserved).
|
|
107
|
+
*/
|
|
108
|
+
lifecycleEnabled?: boolean;
|
|
109
|
+
}
|
|
110
|
+
declare class TraceCollector {
|
|
111
|
+
private readonly startedAtMs;
|
|
112
|
+
private readonly startedMonotonicMs;
|
|
113
|
+
private readonly results;
|
|
114
|
+
private readonly lifecycle;
|
|
115
|
+
private readonly lifecycleEnabled;
|
|
116
|
+
private activeStage;
|
|
117
|
+
/**
|
|
118
|
+
* Initializes retrieval tracing collaborators while keeping runtime work in explicit methods.
|
|
119
|
+
*/
|
|
120
|
+
constructor(options?: TraceCollectorOptions);
|
|
121
|
+
/**
|
|
122
|
+
* Begin tracking a pipeline stage.
|
|
123
|
+
* @param name - Stage identifier (e.g. "vector_search")
|
|
124
|
+
* @param entryIds - IDs of entries entering this stage
|
|
125
|
+
*/
|
|
126
|
+
startStage(name: string, entryIds: string[]): void;
|
|
127
|
+
/**
|
|
128
|
+
* End the current stage.
|
|
129
|
+
* @param survivingIds - IDs of entries that survived this stage
|
|
130
|
+
* @param scores - Optional scores for surviving entries (parallel to survivingIds)
|
|
131
|
+
* @param metadata - Optional structured annotations attached to this stage
|
|
132
|
+
*/
|
|
133
|
+
endStage(survivingIds: string[], scores?: number[], metadata?: RetrievalStageMetadata): void;
|
|
134
|
+
/**
|
|
135
|
+
* Finalize the trace and produce the complete RetrievalTrace object.
|
|
136
|
+
*/
|
|
137
|
+
finalize(query: string, mode: RetrievalMode): RetrievalTrace;
|
|
138
|
+
/** Append a retention-scorer outcome to the lifecycle stream. */
|
|
139
|
+
writeRetentionTrace(event: Omit<RetentionScoreEvent, "kind" | "at">): void;
|
|
140
|
+
/** Append an access-tracker update to the lifecycle stream. */
|
|
141
|
+
writeAccessTrace(event: Omit<AccessTrackerEvent, "kind" | "at">): void;
|
|
142
|
+
/** Append a tier-promotion evaluation outcome to the lifecycle stream. */
|
|
143
|
+
writeTierTrace(event: Omit<TierPromotionEvent, "kind" | "at">): void;
|
|
144
|
+
/** Access collected lifecycle events (read-only). */
|
|
145
|
+
get lifecycleEvents(): readonly LifecycleTraceEvent[];
|
|
146
|
+
/**
|
|
147
|
+
* Produce a human-readable summary of the trace.
|
|
148
|
+
*/
|
|
149
|
+
summarize(): string;
|
|
150
|
+
/** Access collected stages (read-only). */
|
|
151
|
+
get stages(): readonly RetrievalStageResult[];
|
|
152
|
+
private closeActiveStageAsUnchanged;
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
//#region src/engine/retrieval/retrieval-stats.d.ts
|
|
156
|
+
interface AggregateStats {
|
|
157
|
+
/** Total number of queries recorded */
|
|
158
|
+
totalQueries: number;
|
|
159
|
+
/** Number of queries that returned zero results */
|
|
160
|
+
zeroResultQueries: number;
|
|
161
|
+
/** Average latency across all queries (ms) */
|
|
162
|
+
avgLatencyMs: number;
|
|
163
|
+
/** 95th percentile latency (ms) */
|
|
164
|
+
p95LatencyMs: number;
|
|
165
|
+
/** Average number of results returned */
|
|
166
|
+
avgResultCount: number;
|
|
167
|
+
/** Number of queries where reranking was applied */
|
|
168
|
+
rerankUsed: number;
|
|
169
|
+
/** Number of queries where noise filter removed results */
|
|
170
|
+
noiseFiltered: number;
|
|
171
|
+
/** Query counts broken down by source */
|
|
172
|
+
queriesBySource: Record<string, number>;
|
|
173
|
+
/** Stages that drop the most entries across all queries */
|
|
174
|
+
topDropStages: {
|
|
175
|
+
name: string;
|
|
176
|
+
totalDropped: number;
|
|
177
|
+
}[];
|
|
178
|
+
/**
|
|
179
|
+
* Counts of rerank stages that degraded to the pre-rerank ordering,
|
|
180
|
+
* keyed by the {@link RerankFallbackReason} that fired. Absent reasons
|
|
181
|
+
* are not enumerated — read consumers should treat a missing key as zero.
|
|
182
|
+
*/
|
|
183
|
+
rerankFallbacksByReason: Record<string, number>;
|
|
184
|
+
}
|
|
185
|
+
declare class RetrievalStatsCollector {
|
|
186
|
+
private readonly _records;
|
|
187
|
+
private readonly _maxRecords;
|
|
188
|
+
/**
|
|
189
|
+
* Initializes retrieval telemetry collaborators while keeping runtime work in explicit
|
|
190
|
+
* methods.
|
|
191
|
+
*/
|
|
192
|
+
constructor(maxRecords?: number);
|
|
193
|
+
/**
|
|
194
|
+
* Record a completed query trace.
|
|
195
|
+
* @param trace - The finalized retrieval trace
|
|
196
|
+
* @param source - Query source identifier (e.g. "manual", "auto-recall")
|
|
197
|
+
*/
|
|
198
|
+
recordQuery(trace: RetrievalTrace, source: string): void;
|
|
199
|
+
/**
|
|
200
|
+
* Compute aggregate statistics from all recorded queries.
|
|
201
|
+
*/
|
|
202
|
+
getStats(): AggregateStats;
|
|
203
|
+
/**
|
|
204
|
+
* Reset all collected statistics.
|
|
205
|
+
*/
|
|
206
|
+
reset(): void;
|
|
207
|
+
/** Number of recorded queries. */
|
|
208
|
+
get count(): number;
|
|
209
|
+
}
|
|
210
|
+
//#endregion
|
|
211
|
+
//#region src/engine/retrieval/retrieval-config.d.ts
|
|
212
|
+
type RerankProvider = "jina" | "siliconflow" | "voyage" | "pinecone" | "dashscope" | "tei";
|
|
213
|
+
interface RetrievalConfig {
|
|
214
|
+
/** Enable the historical recency, decay, and retention score transforms. */
|
|
215
|
+
temporalWeighting: boolean;
|
|
216
|
+
/** Diversify only within the request limit, preserving reranked window membership. */
|
|
217
|
+
mmrWindowOnly: boolean;
|
|
218
|
+
mode: "precision-recall" | "vector";
|
|
219
|
+
vectorWeight: number;
|
|
220
|
+
bm25Weight: number;
|
|
221
|
+
minScore: number;
|
|
222
|
+
rerank: "cross-encoder" | "lightweight" | "none";
|
|
223
|
+
candidatePoolSize: number;
|
|
224
|
+
recencyHalfLifeDays: number;
|
|
225
|
+
recencyWeight: number;
|
|
226
|
+
/** Drop memories past their valid_until timestamp (default OFF) */
|
|
227
|
+
temporalExpiry: boolean;
|
|
228
|
+
/** Dynamic memories decay 3× faster in time-decay scoring (default ON) */
|
|
229
|
+
temporalDecay: boolean;
|
|
230
|
+
rerankApiKey?: string;
|
|
231
|
+
rerankModel?: string;
|
|
232
|
+
rerankTimeoutMs?: number;
|
|
233
|
+
lengthNormAnchor: number;
|
|
234
|
+
hardMinScore: number;
|
|
235
|
+
timeDecayHalfLifeDays: number;
|
|
236
|
+
/** Weight for fusion score in rerank blend */
|
|
237
|
+
rerankBlendVector?: number;
|
|
238
|
+
/** Weight for cross-encoder score in rerank blend */
|
|
239
|
+
rerankBlendCross?: number;
|
|
240
|
+
/** Fusion-score weight when rerank="lightweight" (local cosine blend) */
|
|
241
|
+
lightweightFusionWeight?: number;
|
|
242
|
+
/** Cosine-score weight when rerank="lightweight" (local cosine blend) */
|
|
243
|
+
lightweightCosineWeight?: number;
|
|
244
|
+
/** Base multiplier for importance weighting */
|
|
245
|
+
importanceWeightBase?: number;
|
|
246
|
+
/** Minimum multiplier for old entries */
|
|
247
|
+
timeDecayFloor?: number;
|
|
248
|
+
/** Relevance vs diversity tradeoff (default: 0.7) */
|
|
249
|
+
mmrLambda?: number;
|
|
250
|
+
/** Custom rerank API endpoint URL */
|
|
251
|
+
rerankEndpoint?: string;
|
|
252
|
+
/** Rerank provider name */
|
|
253
|
+
rerankProvider?: RerankProvider | string;
|
|
254
|
+
/**
|
|
255
|
+
* Hard cap on how many candidates are sent to the cross-encoder rerank API
|
|
256
|
+
* in one request. Some rerank deployments (e.g. this repo's Sno TEI
|
|
257
|
+
* reranker) reject a batch above a fixed size instead of truncating it, so
|
|
258
|
+
* an unset value here must never silently violate that limit. Candidates
|
|
259
|
+
* beyond the cap are NOT dropped — they still flow through the standard
|
|
260
|
+
* `unreturned` preservation-floor path, same as a real reranker choosing
|
|
261
|
+
* not to return them.
|
|
262
|
+
*/
|
|
263
|
+
rerankMaxCandidates?: number;
|
|
264
|
+
/** Scaling factor for access-based reinforcement (0 = disabled, default: 0.5) */
|
|
265
|
+
reinforcementFactor?: number;
|
|
266
|
+
/** Hard cap: effective half-life <= baseHalfLife * maxHalfLifeMultiplier (default: 3) */
|
|
267
|
+
maxHalfLifeMultiplier?: number;
|
|
268
|
+
/**
|
|
269
|
+
* Phase 0 retention-loop knobs.
|
|
270
|
+
* Optional so legacy `RetrievalConfig` literals keep parsing; resolved
|
|
271
|
+
* default in `DEFAULT_RETRIEVAL_CONFIG` is `DEFAULT_RECALL_LIFECYCLE`
|
|
272
|
+
* (all booleans `false`), making the new wire sites pass-through.
|
|
273
|
+
*/
|
|
274
|
+
recallLifecycle?: RecallLifecycleConfig;
|
|
275
|
+
}
|
|
276
|
+
interface RetrievalContext {
|
|
277
|
+
external_reference?: string;
|
|
278
|
+
external_reference_visibility?: "public" | "private";
|
|
279
|
+
query: string;
|
|
280
|
+
limit: number;
|
|
281
|
+
minScore?: number;
|
|
282
|
+
scopeFilter?: string[];
|
|
283
|
+
category?: MemoryCategory;
|
|
284
|
+
/**
|
|
285
|
+
* Refused fallback rows carry the user's own words and are served by default; product
|
|
286
|
+
* entrypoints pass true, and only an explicit false hides them (owner ruling 2026-09-01,
|
|
287
|
+
* reversing an earlier default). Omitted low-level/internal reads preserve all rows.
|
|
288
|
+
*/
|
|
289
|
+
includeRefused?: boolean;
|
|
290
|
+
signal?: AbortSignal;
|
|
291
|
+
sessionId?: string;
|
|
292
|
+
explicitLocale?: string;
|
|
293
|
+
/** Retrieval source: "manual" for user-triggered, "auto-recall" for system-initiated, "cli" for CLI commands */
|
|
294
|
+
source?: "manual" | "auto-recall" | "cli";
|
|
295
|
+
/** Allows the recall tool to use complete-population aggregation routing. */
|
|
296
|
+
allowAggregation?: boolean;
|
|
297
|
+
/** Structured predicate and reduction for bounded, query-complete aggregation. */
|
|
298
|
+
aggregation?: AggregationQuery;
|
|
299
|
+
/** Selects current chunks only unless a non-user consumer explicitly requests history. */
|
|
300
|
+
facetPolicy?: RemFacetPolicy;
|
|
301
|
+
/**
|
|
302
|
+
* Tombstone exclusion. When set, the store search
|
|
303
|
+
* drops candidates whose `metadata.invalidated_at <= excludeInvalidatedBefore`.
|
|
304
|
+
* A superseded fact is obsolete regardless of recall mode (OD-3, FAA binary),
|
|
305
|
+
* so omitting it on a serving path does not mean "serve everything": both
|
|
306
|
+
* retriever entrypoints run the context through `withServingValidityDefault`
|
|
307
|
+
* first. Pass `0` for a deliberate history read.
|
|
308
|
+
*/
|
|
309
|
+
excludeInvalidatedBefore?: number;
|
|
310
|
+
includeRetired?: boolean;
|
|
311
|
+
/**
|
|
312
|
+
* Drops rows a group-CRUD close retired. Set by the two serving entries in
|
|
313
|
+
* `rem-consumer-retrieval.ts`; it has to reach the store because the candidate list is cut
|
|
314
|
+
* to `limit` before anything downstream can filter it.
|
|
315
|
+
*/
|
|
316
|
+
excludeSuperseded?: boolean;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* The serving-path validity default. This is the one named code
|
|
320
|
+
* point that supplies it: reading the default here is what makes the
|
|
321
|
+
* invalidated-row filter a property of the serving path rather than a parameter
|
|
322
|
+
* every caller has to remember, and the omission is no longer silent.
|
|
323
|
+
*
|
|
324
|
+
* An explicit value always wins — including `0`, the deliberate history read,
|
|
325
|
+
* where the store predicate becomes `invalidated_at > 0` and drops nothing.
|
|
326
|
+
*
|
|
327
|
+
* Scope is the retriever, never the store layer: six write-side consumers (dedup,
|
|
328
|
+
* reflection loops, observability, the REM batch executor) call the store search
|
|
329
|
+
* APIs directly and legitimately read invalidated rows. Do not move this
|
|
330
|
+
* down a layer.
|
|
331
|
+
*/
|
|
332
|
+
declare function withServingValidityDefault(context: RetrievalContext): RetrievalContext;
|
|
333
|
+
declare const DEFAULT_RETRIEVAL_CONFIG: RetrievalConfig;
|
|
334
|
+
//#endregion
|
|
335
|
+
//#region src/engine/retrieval/retrieval-scoring-utils.d.ts
|
|
336
|
+
declare function collectParallelStage(results: RetrievalResult[], key: "denseScore" | "bm25Score" | "fusedScore" | "rerankScore" | "mmrScore", fallbackIds: string[]): {
|
|
337
|
+
values: number[] | null;
|
|
338
|
+
omitted: string[];
|
|
339
|
+
};
|
|
340
|
+
//#endregion
|
|
341
|
+
//#region src/engine/operations/selective-forgetting-scorer.d.ts
|
|
342
|
+
interface RetentionScorer {
|
|
343
|
+
/** Calculate decay score for a single memory */
|
|
344
|
+
score(memory: DecayableMemory, now?: number): DecayScore;
|
|
345
|
+
/** Calculate decay scores for multiple memories */
|
|
346
|
+
scoreAll(memories: DecayableMemory[], now?: number): DecayScore[];
|
|
347
|
+
/** Find stale memories (composite below threshold) */
|
|
348
|
+
getStaleMemories(memories: DecayableMemory[], now?: number): DecayScore[];
|
|
349
|
+
}
|
|
350
|
+
//#endregion
|
|
351
|
+
//#region src/engine/retrieval/retriever-core.d.ts
|
|
352
|
+
/**
|
|
353
|
+
* Enumerates every branch in `rerank()` that fell back to the pre-rerank
|
|
354
|
+
* candidate ordering instead of applying the cross-encoder score. Aggregated
|
|
355
|
+
* via {@link RetrievalStatsCollector} and surfaced as trace stage metadata
|
|
356
|
+
* so callers can attribute degraded ranking without parsing log lines.
|
|
357
|
+
*
|
|
358
|
+
* - `missing_api_key`: cross-encoder configured but no rerankApiKey set;
|
|
359
|
+
* call routes through the lightweight cosine path instead.
|
|
360
|
+
* - `no_endpoint`: provider has no known endpoint in `RERANK_DEFAULT_ENDPOINTS`
|
|
361
|
+
* and `rerankEndpoint` was not overridden; rerank was skipped.
|
|
362
|
+
* - `http_error`: provider responded with a non-OK status that did not map
|
|
363
|
+
* to a fatal RetrievalError (i.e. degraded but not propagated).
|
|
364
|
+
* - `invalid_response`: provider HTTP 2xx but response shape did not parse.
|
|
365
|
+
* - `timeout`: the per-call AbortSignal fired before the provider responded.
|
|
366
|
+
* - `request_error`: any other thrown error inside the fetch path.
|
|
367
|
+
* - `query_over_window`: the query alone fills the reranker's per-pair token window, so no
|
|
368
|
+
* document could be sent with it. Nothing was requested.
|
|
369
|
+
*/
|
|
370
|
+
declare const RERANK_FALLBACK_REASONS: readonly ["missing_api_key", "no_endpoint", "http_error", "invalid_response", "timeout", "request_error", "query_over_window"];
|
|
371
|
+
type RerankFallbackReason = (typeof RERANK_FALLBACK_REASONS)[number];
|
|
372
|
+
interface RerankFallbackSignal {
|
|
373
|
+
reason: RerankFallbackReason;
|
|
374
|
+
provider: string;
|
|
375
|
+
}
|
|
376
|
+
interface RerankOutcome {
|
|
377
|
+
candidates: RetrievalResult[];
|
|
378
|
+
fallback?: RerankFallbackSignal;
|
|
379
|
+
stats?: {
|
|
380
|
+
rerankSentCount: number;
|
|
381
|
+
rerankReturnedCount: number;
|
|
382
|
+
rerankBeyondCapCount: number;
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
declare class MemoryRetriever {
|
|
386
|
+
readonly store: MemoryStore;
|
|
387
|
+
readonly embedder: Embedder;
|
|
388
|
+
private readonly config;
|
|
389
|
+
private _statsCollector;
|
|
390
|
+
_accessTracker: AccessTracker | undefined;
|
|
391
|
+
_cachedConfigHash: string | undefined;
|
|
392
|
+
_retentionScorer: RetentionScorer | undefined;
|
|
393
|
+
_tierPromoter: TierPromoter | undefined;
|
|
394
|
+
_recallLifecycle: RecallLifecycleConfig | undefined;
|
|
395
|
+
retrieve(_context: RetrievalContext): Promise<RetrievalResult[]>;
|
|
396
|
+
retrieveWithTrace(_context: RetrievalContext): Promise<{
|
|
397
|
+
results: RetrievalResult[];
|
|
398
|
+
trace: RetrievalTrace;
|
|
399
|
+
}>;
|
|
400
|
+
/**
|
|
401
|
+
* Initializes precision recall retrieval ranking collaborators while keeping runtime work in explicit
|
|
402
|
+
* methods.
|
|
403
|
+
*/
|
|
404
|
+
constructor(store: MemoryStore, embedder: Embedder, _logger?: {
|
|
405
|
+
warn: (message: string, fields?: Record<string, unknown>) => void;
|
|
406
|
+
}, config?: RetrievalConfig);
|
|
407
|
+
/** Enable aggregate retrieval statistics collection. */
|
|
408
|
+
setStatsCollector(collector: RetrievalStatsCollector): void;
|
|
409
|
+
/** Get the stats collector (if set). */
|
|
410
|
+
getStatsCollector(): RetrievalStatsCollector | undefined;
|
|
411
|
+
/** Set the access tracker for recording manual retrieval accesses. */
|
|
412
|
+
setAccessTracker(tracker: AccessTracker): void;
|
|
413
|
+
/**
|
|
414
|
+
* Install the Phase 0 §5 tier-promoter dependency. Pure dependency injection;
|
|
415
|
+
* the post-retrieval evaluation hook only fires when both this setter has
|
|
416
|
+
* been called and `recallLifecycle.tierPromoter` is true.
|
|
417
|
+
*/
|
|
418
|
+
setTierPromoter(promoter: TierPromoter): void;
|
|
419
|
+
/**
|
|
420
|
+
* Resolve the `recallLifecycle` block once at composition time so the hot
|
|
421
|
+
* retrieval path reads it without re-parsing config. All gates default
|
|
422
|
+
* false in `recallLifecycleSchema`, preserving the no-behavior-change
|
|
423
|
+
* Phase 0 contract for callers that never call this setter.
|
|
424
|
+
*/
|
|
425
|
+
setRecallLifecycle(config: RecallLifecycleConfig): void;
|
|
426
|
+
/** Returns the immutable retrieval config for diagnostics and tests. */
|
|
427
|
+
getConfig(): RetrievalConfig;
|
|
428
|
+
}
|
|
429
|
+
interface MemoryRetrieverInternals {
|
|
430
|
+
store: MemoryStore;
|
|
431
|
+
embedder: Embedder;
|
|
432
|
+
config: RetrievalConfig;
|
|
433
|
+
_statsCollector: RetrievalStatsCollector | undefined;
|
|
434
|
+
_accessTracker: AccessTracker | undefined;
|
|
435
|
+
_cachedConfigHash: string | undefined;
|
|
436
|
+
_retentionScorer: RetentionScorer | undefined;
|
|
437
|
+
_tierPromoter: TierPromoter | undefined;
|
|
438
|
+
_recallLifecycle: RecallLifecycleConfig | undefined;
|
|
439
|
+
evaluateTopKTierTransitions(results: RetrievalResult[]): Promise<void>;
|
|
440
|
+
retrieve(context: RetrievalContext): Promise<RetrievalResult[]>;
|
|
441
|
+
retrieveWithTrace(context: RetrievalContext): Promise<{
|
|
442
|
+
results: RetrievalResult[];
|
|
443
|
+
trace: RetrievalTrace;
|
|
444
|
+
}>;
|
|
445
|
+
throwIfAborted(context: RetrievalContext): void;
|
|
446
|
+
filterExpired(results: RetrievalResult[]): RetrievalResult[];
|
|
447
|
+
filterExpiredCandidates(results: MemorySearchResult[]): MemorySearchResult[];
|
|
448
|
+
isEntryExpired(entry: MemorySearchResult["entry"] | RetrievalResult["entry"]): boolean;
|
|
449
|
+
vectorOnly(context: RetrievalContext, trace?: TraceCollector): Promise<RetrievalResult[]>;
|
|
450
|
+
precisionRecall(context: RetrievalContext, trace?: TraceCollector): Promise<RetrievalResult[]>;
|
|
451
|
+
aggregationComplete(context: RetrievalContext, trace?: TraceCollector): Promise<RetrievalResult[]>;
|
|
452
|
+
rrfFuse(vector: MemorySearchResult[], keyword: MemorySearchResult[]): RetrievalResult[];
|
|
453
|
+
rerank(query: string, candidates: RetrievalResult[], queryVector: Float32Array): Promise<RerankOutcome>;
|
|
454
|
+
rerankLightweight(candidates: RetrievalResult[], queryVector: Float32Array): RetrievalResult[];
|
|
455
|
+
getRerankSourceScore(result: RetrievalResult): number;
|
|
456
|
+
applyScoringPipeline(results: RetrievalResult[], trace?: TraceCollector, limit?: number): RetrievalResult[];
|
|
457
|
+
applyRecencyBoost(results: RetrievalResult[]): RetrievalResult[];
|
|
458
|
+
applyImportanceWeight(results: RetrievalResult[]): RetrievalResult[];
|
|
459
|
+
applyLengthNormalization(results: RetrievalResult[]): RetrievalResult[];
|
|
460
|
+
applyTimeDecay(results: RetrievalResult[]): RetrievalResult[];
|
|
461
|
+
applyRetentionBoost(results: RetrievalResult[]): RetrievalResult[];
|
|
462
|
+
applyMmrDiversity(results: RetrievalResult[]): RetrievalResult[];
|
|
463
|
+
}
|
|
464
|
+
/** Creates the retriever with store, embedding, ranking config, and optional caller logger slot. */
|
|
465
|
+
declare function createRetriever(store: MemoryStore, embedder: Embedder, logger?: {
|
|
466
|
+
warn: (message: string, fields?: Record<string, unknown>) => void;
|
|
467
|
+
}, config?: RetrievalConfig): MemoryRetriever;
|
|
468
|
+
//#endregion
|
|
469
|
+
export { RerankFallbackSignal as a, collectParallelStage as c, RetrievalConfig as d, RetrievalContext as f, RerankFallbackReason as i, DEFAULT_RETRIEVAL_CONFIG as l, MemoryRetrieverInternals as n, RerankOutcome as o, withServingValidityDefault as p, RERANK_FALLBACK_REASONS as r, createRetriever as s, MemoryRetriever as t, RerankProvider as u };
|