@snoai/memory 0.0.0-stage → 1.0.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/LICENSE +176 -0
- package/README.md +7 -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-CSc21GtV.d.ts +110 -0
- package/dist/adapter-DMEmCTKo.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-BpOUWPJM.d.ts +327 -0
- package/dist/atomic-memory-extraction-sdNf1-B1.js +3605 -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-CHz5GOPA.d.ts +53 -0
- package/dist/capture-policy-detector-DaMfy9CZ.js +357 -0
- package/dist/classifier-C96uH9OF.d.ts +272 -0
- package/dist/client.d.ts +34 -0
- package/dist/client.js +305 -0
- package/dist/coding-skin.d.ts +51 -0
- package/dist/coding-skin.js +55 -0
- package/dist/config-tSrvLXgV.js +2577 -0
- package/dist/connection-DAbzki8K.d.ts +391 -0
- package/dist/connection-DliCOBB2.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-CYniFp8b.js +172 -0
- package/dist/data-bootstrap-CcJUwkqf.d.ts +30 -0
- package/dist/data-paths-C7sNdqvP.d.ts +22 -0
- package/dist/derived-suppression-cache-C7bGARc0.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-BsMap4It.d.ts +650 -0
- package/dist/index-DL8AVj0Z.d.ts +571 -0
- package/dist/index-DQ7VL6d3.d.ts +350 -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 +61 -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 +37 -0
- package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.js +105 -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-B7Xoxqou.js +1378 -0
- package/dist/llm-client-DOTSGzhe.d.ts +51 -0
- package/dist/locales-JxGmkG6t.d.ts +7 -0
- package/dist/log-site-catalog.generated-B9WYdnAM.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-LKt0u3gy.d.ts +23 -0
- package/dist/memory-metadata-codec-C3oQd47V.d.ts +68 -0
- package/dist/memory-metadata-codec-DL1sbJiN.js +577 -0
- package/dist/memory-runtime-BZtREuwW.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-3e44ND2i.d.ts +16 -0
- package/dist/memory-source-order-BtrIxaIt.js +134 -0
- package/dist/memory-store-base-XRA4S9Xl.d.ts +1095 -0
- package/dist/memory-store-shared-DeIDkhLj.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-CEdRTN5J.d.ts +43 -0
- package/dist/memory-temporality-classifier-CKiTAHXe.js +184 -0
- package/dist/memory-tier-promoter-DbTpahkP.d.ts +43 -0
- package/dist/memory-tool-dependencies-CLODycUw.js +19 -0
- package/dist/memory-tool-dependencies-N69chrQc.d.ts +14 -0
- package/dist/model-call-table-CspopkBg.js +563 -0
- package/dist/model-reply-text-CKopStP2.js +334 -0
- package/dist/observable-embedder-DQnNgf9O.d.ts +17 -0
- package/dist/observable-llm-client-uwqPADpN.d.ts +21 -0
- package/dist/observable-memory-store-BaZKbhgq.d.ts +73 -0
- package/dist/observable-retriever-Dt_NUxAA.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-hIphqpUY.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-BeQiJI9-.js +644 -0
- package/dist/reflection-command-hooks-C1Vxgb-O.d.ts +32 -0
- package/dist/reflection-deps-RpLPFrSc.d.ts +19 -0
- package/dist/reflection-embedded-generator-CDUhgV96.js +130 -0
- package/dist/reflection-embedded-generator-CxOex5xK.d.ts +14 -0
- package/dist/reflection-injection-hooks-DfUgqu8f.d.ts +43 -0
- package/dist/reflection-lifecycle-hooks-Ct5HBdSG.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-Cbm5gfSe.js +31644 -0
- package/dist/rem-batch-executor-bc0IFlp2.js +2 -0
- package/dist/rem-consumer-retrieval-CRpvG8KS.js +246 -0
- package/dist/rem-trigger-BTxkcjgT.js +729 -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-CygHBazG.js +1757 -0
- package/dist/retriever-Ruk3zp7_.d.ts +469 -0
- package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/routes-Ce7SQKec.js +59 -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-BPAY4NTG.js +1410 -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-Bu-MiqPX.d.ts +31 -0
- package/dist/sno-station-mem-runtime-dependencies-DjLOhB45.js +30 -0
- package/dist/sqlite-runtime-L_ywirTm.d.ts +58 -0
- package/dist/store-2pM0-dZg.d.ts +27 -0
- package/dist/store-DzpZBMEm.js +5830 -0
- package/dist/strategy-hook-runner-gBtU47tX.d.ts +16 -0
- package/dist/strategy-hook-runner-zmdIYOmQ.js +110 -0
- package/dist/token-counter-BD1f48Km.js +73 -0
- package/dist/trace-1t1n_wUm.d.ts +86 -0
- package/dist/types-DxKqU60b.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,56 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
//#region src/engine/extraction/atomic-extraction-skill.ts
|
|
6
|
+
/** @file atomic-extraction-skill.ts
|
|
7
|
+
* @purpose Loads the model-readable atomic memory extraction method shipped with the plugin.
|
|
8
|
+
* @boundary Package-relative read of one trusted bundled skill.
|
|
9
|
+
*/
|
|
10
|
+
const SKILL_PATH = path.join("skills", "extract-atomic-memory", "SKILL.md");
|
|
11
|
+
function resolveSkillPath() {
|
|
12
|
+
const moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
for (const root of [
|
|
14
|
+
path.resolve(moduleDir, ".."),
|
|
15
|
+
path.resolve(moduleDir, "../.."),
|
|
16
|
+
path.resolve(moduleDir, "../../..")
|
|
17
|
+
]) {
|
|
18
|
+
const candidate = path.join(root, SKILL_PATH);
|
|
19
|
+
if (existsSync(candidate)) return candidate;
|
|
20
|
+
}
|
|
21
|
+
throw new Error(`sno-station-mem atomic extraction skill is missing: ${SKILL_PATH}`);
|
|
22
|
+
}
|
|
23
|
+
/** The body only: the frontmatter names the skill for tooling and is not part of the prompt. */
|
|
24
|
+
function stripFrontmatter(text) {
|
|
25
|
+
if (!text.startsWith("---\n")) return text;
|
|
26
|
+
const end = text.indexOf("\n---\n", 4);
|
|
27
|
+
return end === -1 ? text : text.slice(end + 5).replace(/^\n+/u, "");
|
|
28
|
+
}
|
|
29
|
+
const SKILL_FILE = resolveSkillPath();
|
|
30
|
+
const loadedSkillFile = readFileSync(SKILL_FILE, "utf8");
|
|
31
|
+
const calendarMeaning = readFileSync(path.join(path.dirname(SKILL_FILE), "references", "calendar-meaning.md"), "utf8");
|
|
32
|
+
const ATOMIC_EXTRACTION_SKILL = `${stripFrontmatter(loadedSkillFile)}\n\n${calendarMeaning}`;
|
|
33
|
+
const references = new Map([
|
|
34
|
+
"capture",
|
|
35
|
+
"enrichment",
|
|
36
|
+
"calendar-meaning",
|
|
37
|
+
"account-for-turns",
|
|
38
|
+
"resolve-subject",
|
|
39
|
+
"missing-durable-half",
|
|
40
|
+
"user-subject-guard",
|
|
41
|
+
"progress-classification",
|
|
42
|
+
"surrounding-context"
|
|
43
|
+
].map((name) => [name, readFileSync(path.join(path.dirname(SKILL_FILE), "references", `${name}.md`), "utf8").trim()]));
|
|
44
|
+
const ATOMIC_EXTRACTION_SKILL_HASH = createHash("sha256").update(loadedSkillFile).update(calendarMeaning).update(atomicExtractionSkillReference("capture")).update(atomicExtractionSkillReference("enrichment")).digest("hex");
|
|
45
|
+
/**
|
|
46
|
+
* The task-specific text the engine appends for one call. The model reading the skill has no
|
|
47
|
+
* tools and cannot fetch a file, so the engine composes the prompt: the core plus exactly one of
|
|
48
|
+
* these, instead of one long file carrying every task at once.
|
|
49
|
+
*/
|
|
50
|
+
function atomicExtractionSkillReference(name) {
|
|
51
|
+
const text = references.get(name);
|
|
52
|
+
if (text === void 0) throw new Error(`sno-station-mem atomic extraction skill reference missing: ${name}`);
|
|
53
|
+
return text;
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
export { ATOMIC_EXTRACTION_SKILL_HASH as n, atomicExtractionSkillReference as r, ATOMIC_EXTRACTION_SKILL as t };
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { i as LlmClientConfig, l as ModelCallId, p as LlmRoutingConfig, r as LlmClient } from "./plugin-config-schema-C0UUbOmG.js";
|
|
2
|
+
import { n as Locale } from "./locales-JxGmkG6t.js";
|
|
3
|
+
import { qt as AdapterAMemoryView } from "./index-BsMap4It.js";
|
|
4
|
+
import { C as MemoryStore, c as AtomicExtractionRunParameters, f as AtomicExtractionWriteResult, g as BeginAtomicExtractionChunkResult, r as AtomicExtractionLedgerKey, s as AtomicExtractionReprocessReason, x as MemoryRelationPredicate } from "./memory-store-base-XRA4S9Xl.js";
|
|
5
|
+
import "./store-2pM0-dZg.js";
|
|
6
|
+
import "./llm-client-DOTSGzhe.js";
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
//#region src/engine/extraction/calendar-instruction.d.ts
|
|
9
|
+
type CalendarPrecision = "year" | "month" | "week" | "day" | "minute";
|
|
10
|
+
interface CalendarClock {
|
|
11
|
+
hour?: number;
|
|
12
|
+
minute?: number;
|
|
13
|
+
timezone?: string;
|
|
14
|
+
}
|
|
15
|
+
type CalendarInstruction = {
|
|
16
|
+
kind: "none";
|
|
17
|
+
} | {
|
|
18
|
+
kind: "unresolved";
|
|
19
|
+
} | ({
|
|
20
|
+
kind: "absolute";
|
|
21
|
+
year: number;
|
|
22
|
+
month?: number;
|
|
23
|
+
day?: number;
|
|
24
|
+
precision: CalendarPrecision;
|
|
25
|
+
} & CalendarClock) | ({
|
|
26
|
+
kind: "relative";
|
|
27
|
+
amount: number;
|
|
28
|
+
unit: "year" | "month" | "week" | "day" | "hour" | "minute";
|
|
29
|
+
precision: CalendarPrecision;
|
|
30
|
+
} & CalendarClock) | ({
|
|
31
|
+
kind: "weekday";
|
|
32
|
+
day_name: Weekday;
|
|
33
|
+
direction: "previous" | "next";
|
|
34
|
+
precision: "day" | "minute";
|
|
35
|
+
} & CalendarClock);
|
|
36
|
+
/** Day names in ISO order; the wire carries the name because models do not share one numbering. */
|
|
37
|
+
declare const WEEKDAYS: readonly ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
|
|
38
|
+
type Weekday = (typeof WEEKDAYS)[number];
|
|
39
|
+
interface CalendarResult {
|
|
40
|
+
year: number;
|
|
41
|
+
month: number;
|
|
42
|
+
day: number;
|
|
43
|
+
hour?: number;
|
|
44
|
+
minute?: number;
|
|
45
|
+
precision: CalendarPrecision;
|
|
46
|
+
timezone: string;
|
|
47
|
+
label: string;
|
|
48
|
+
from: number;
|
|
49
|
+
until: number;
|
|
50
|
+
}
|
|
51
|
+
//#endregion
|
|
52
|
+
//#region src/engine/extraction/atomic-extraction-reply.d.ts
|
|
53
|
+
type AtomicExtractionTurnRole = "system" | "user" | "assistant";
|
|
54
|
+
interface AtomicExtractionTurn {
|
|
55
|
+
role: AtomicExtractionTurnRole;
|
|
56
|
+
content: string;
|
|
57
|
+
}
|
|
58
|
+
type AtomicExtractionResolvedTime = CalendarResult;
|
|
59
|
+
interface AtomicExtractionSourceSpan {
|
|
60
|
+
turnIndex: number;
|
|
61
|
+
quote: string;
|
|
62
|
+
}
|
|
63
|
+
interface AtomicExtractionRelation {
|
|
64
|
+
subject: string;
|
|
65
|
+
predicate: string;
|
|
66
|
+
object: string;
|
|
67
|
+
}
|
|
68
|
+
interface AtomicExtractionRecord {
|
|
69
|
+
kind: "occurrence" | "standing";
|
|
70
|
+
claimText: string;
|
|
71
|
+
subject: string;
|
|
72
|
+
subjectKind: "user" | "agent" | "named_entity" | "unresolved";
|
|
73
|
+
attribute: string | null;
|
|
74
|
+
refusedAttribute?: string;
|
|
75
|
+
value: string;
|
|
76
|
+
temporalPhrase: string | null;
|
|
77
|
+
time: CalendarInstruction;
|
|
78
|
+
endedTime: CalendarInstruction;
|
|
79
|
+
/** Calculated only from a structured instruction, never from the phrase. */
|
|
80
|
+
resolvedTime: AtomicExtractionResolvedTime | null;
|
|
81
|
+
endsCurrent: boolean;
|
|
82
|
+
/** Source evidence for the ending; `endedTime` is the instruction used for calculation. */
|
|
83
|
+
endedAtPhrase: string | null;
|
|
84
|
+
endedAt: AtomicExtractionResolvedTime | null;
|
|
85
|
+
importance: "high" | "medium" | "low";
|
|
86
|
+
changesCurrentState: boolean;
|
|
87
|
+
todo: "open" | "done" | "removed" | "none";
|
|
88
|
+
closeReason: string | null;
|
|
89
|
+
sourceSpan: AtomicExtractionSourceSpan;
|
|
90
|
+
relations: AtomicExtractionRelation[];
|
|
91
|
+
singleClaim: boolean;
|
|
92
|
+
atomicSanitizerMatches?: string[];
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/engine/extraction/atomic-extraction-gauntlet.d.ts
|
|
96
|
+
type AtomicExtractionDispositionReason = "compound" | "subject-unverified" | "subject-rejected";
|
|
97
|
+
interface ResolvedAtomicExtractionSourceSpan extends AtomicExtractionSourceSpan {
|
|
98
|
+
startOffset: number;
|
|
99
|
+
endOffset: number;
|
|
100
|
+
}
|
|
101
|
+
interface AtomicGauntletRelation {
|
|
102
|
+
subject: string;
|
|
103
|
+
predicate: MemoryRelationPredicate;
|
|
104
|
+
object: string;
|
|
105
|
+
}
|
|
106
|
+
interface AtomicGauntletRecord extends Omit<AtomicExtractionRecord, "subject" | "attribute" | "sourceSpan" | "relations"> {
|
|
107
|
+
subject: string | null;
|
|
108
|
+
attribute: string | null;
|
|
109
|
+
sourceSpan: ResolvedAtomicExtractionSourceSpan | null;
|
|
110
|
+
relations: AtomicGauntletRelation[];
|
|
111
|
+
lane: "active" | "parked";
|
|
112
|
+
dispositionReason: AtomicExtractionDispositionReason | null;
|
|
113
|
+
resplit: boolean;
|
|
114
|
+
resplitFailure?: string;
|
|
115
|
+
resolvedTimeInvalid?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* The quote the model gave, kept ONLY when it could not be found in its turn.
|
|
118
|
+
*
|
|
119
|
+
* `sourceSpan` becomes null in that case and the quote is otherwise gone, so a parked row's
|
|
120
|
+
* replay record cannot say what failed to match — measured 2026-09-04, a dictated email
|
|
121
|
+
* produced seven well-formed records, all seven parked for an unresolved span, and every
|
|
122
|
+
* stored candidate read back as `QUOTE null`.
|
|
123
|
+
*/
|
|
124
|
+
unresolvedSourceSpan?: AtomicExtractionSourceSpan;
|
|
125
|
+
}
|
|
126
|
+
interface AtomicResplitTransport {
|
|
127
|
+
resplit(input: {
|
|
128
|
+
records: readonly AtomicExtractionRecord[];
|
|
129
|
+
turns: readonly AtomicExtractionTurn[];
|
|
130
|
+
}): Promise<AtomicExtractionRecord[] | null>;
|
|
131
|
+
}
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/engine/extraction/atomic-profile-keying.d.ts
|
|
134
|
+
interface AtomicProfileKeyingTransport {
|
|
135
|
+
keyTurn(input: {
|
|
136
|
+
turnIndex: number;
|
|
137
|
+
turn: AtomicExtractionTurn;
|
|
138
|
+
locale?: Locale;
|
|
139
|
+
}): Promise<AtomicExtractionRecord[] | null>;
|
|
140
|
+
}
|
|
141
|
+
interface AtomicKeyedRecord extends AtomicGauntletRecord {
|
|
142
|
+
category: "episodic" | "profile" | "state";
|
|
143
|
+
keyingNote?: "keying-unmatched" | "bare-base-grounded" | "keying-failed" | "keying-skipped:span-unresolvable";
|
|
144
|
+
baseProvenance?: Array<{
|
|
145
|
+
claimText: string;
|
|
146
|
+
sourceSpan: AtomicGauntletRecord["sourceSpan"];
|
|
147
|
+
relations: AtomicGauntletRecord["relations"];
|
|
148
|
+
}>;
|
|
149
|
+
}
|
|
150
|
+
//#endregion
|
|
151
|
+
//#region src/engine/extraction/atomic-generic-extractor.d.ts
|
|
152
|
+
interface AtomicGenericExtractionRequest {
|
|
153
|
+
callId: ModelCallId;
|
|
154
|
+
prompt: string;
|
|
155
|
+
maxTokens: number;
|
|
156
|
+
requestId?: string;
|
|
157
|
+
}
|
|
158
|
+
interface AtomicGenericExtractionCompletion {
|
|
159
|
+
text: string;
|
|
160
|
+
truncated: boolean;
|
|
161
|
+
outputTokens?: number;
|
|
162
|
+
}
|
|
163
|
+
interface AtomicGenericExtractionTransport {
|
|
164
|
+
complete(request: AtomicGenericExtractionRequest): Promise<AtomicGenericExtractionCompletion | null>;
|
|
165
|
+
}
|
|
166
|
+
type AtomicGenericExtractionResult = {
|
|
167
|
+
status: "complete";
|
|
168
|
+
records: AtomicExtractionRecord[];
|
|
169
|
+
progressTurns: ReadonlySet<number>;
|
|
170
|
+
} | {
|
|
171
|
+
status: "pending";
|
|
172
|
+
reason: AtomicExtractionReprocessReason;
|
|
173
|
+
} | {
|
|
174
|
+
status: "skip";
|
|
175
|
+
entry: BeginAtomicExtractionChunkResult["entry"];
|
|
176
|
+
} | {
|
|
177
|
+
status: "off";
|
|
178
|
+
};
|
|
179
|
+
//#endregion
|
|
180
|
+
//#region src/engine/extraction/atomic-subject-guard.d.ts
|
|
181
|
+
interface AtomicSubjectGuardTransport {
|
|
182
|
+
repairMissingHalf(input: {
|
|
183
|
+
episode: AtomicKeyedRecord;
|
|
184
|
+
turn: AtomicExtractionTurn;
|
|
185
|
+
turns: readonly AtomicExtractionTurn[];
|
|
186
|
+
locale?: Locale;
|
|
187
|
+
}): Promise<AtomicExtractionRecord[] | null>;
|
|
188
|
+
guardUserSubjects(input: {
|
|
189
|
+
records: readonly AtomicKeyedRecord[];
|
|
190
|
+
locale?: Locale;
|
|
191
|
+
}): Promise<readonly (boolean | null)[] | null>;
|
|
192
|
+
}
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region src/engine/extraction/atomic-memory-extraction.d.ts
|
|
195
|
+
/** One (older, newer) pair put to the conflict-adjudication adapter; its raw reply, or null. */
|
|
196
|
+
interface AtomicRetirementVerdictTransport {
|
|
197
|
+
judge(pair: {
|
|
198
|
+
older: AdapterAMemoryView;
|
|
199
|
+
newer: AdapterAMemoryView;
|
|
200
|
+
}): Promise<string | null>;
|
|
201
|
+
}
|
|
202
|
+
interface AtomicMemoryExtractionTransports {
|
|
203
|
+
generic: AtomicGenericExtractionTransport;
|
|
204
|
+
profileKeying: AtomicProfileKeyingTransport;
|
|
205
|
+
resplit: AtomicResplitTransport;
|
|
206
|
+
subjectGuard: AtomicSubjectGuardTransport;
|
|
207
|
+
retirementVerdict: AtomicRetirementVerdictTransport;
|
|
208
|
+
}
|
|
209
|
+
interface RunAtomicMemoryExtractionInput {
|
|
210
|
+
diagnostics?: WindowDiagnostics;
|
|
211
|
+
writerAgentId?: string;
|
|
212
|
+
store: MemoryStore;
|
|
213
|
+
projectId: string;
|
|
214
|
+
ledgerKey: AtomicExtractionLedgerKey;
|
|
215
|
+
turns: readonly AtomicExtractionTurn[];
|
|
216
|
+
contextTurns?: readonly AtomicExtractionTurn[];
|
|
217
|
+
followingTurns?: readonly AtomicExtractionTurn[];
|
|
218
|
+
rawChunk: string;
|
|
219
|
+
routingSnapshotId: string;
|
|
220
|
+
runParameters: AtomicExtractionRunParameters;
|
|
221
|
+
estimatedInputTokens: number;
|
|
222
|
+
extractorVersion: string;
|
|
223
|
+
sessionDateTime: string;
|
|
224
|
+
sessionTimestampMs: number;
|
|
225
|
+
sessionTimezone: string;
|
|
226
|
+
sourceTurnOffset?: number;
|
|
227
|
+
admittedSourceTurnIndexes?: readonly number[];
|
|
228
|
+
/**
|
|
229
|
+
* Per global turn, the quote spans (character ranges of the turn) some record has already
|
|
230
|
+
* been written for: seeded from earlier passes of this conversation, and added to as each
|
|
231
|
+
* window writes. Windows write in order, and a window's slice reaches back over exactly the
|
|
232
|
+
* previous window's turns, so an entry can only ever be filled in by the window after the one
|
|
233
|
+
* that owns it. A span is the record's own evidence anchor; a record whose quote could not be
|
|
234
|
+
* placed in the turn claims the whole turn.
|
|
235
|
+
*/
|
|
236
|
+
claimedSourceSpans?: Map<number, ClaimedFact[]>;
|
|
237
|
+
/**
|
|
238
|
+
* Per document family (`email`, `project`, `meeting`), the names this conversation has given
|
|
239
|
+
* it so far, each with the global turn it was stated at. Shared by the windows of one call.
|
|
240
|
+
*/
|
|
241
|
+
documentNames?: Map<string, DocumentName[]>;
|
|
242
|
+
waitForDocumentNames?: () => Promise<void>;
|
|
243
|
+
onDocumentNamesSettled?: () => void;
|
|
244
|
+
onSubjectGuardSettled?: () => void;
|
|
245
|
+
waitForWriteTurn?: () => Promise<void>;
|
|
246
|
+
transports: AtomicMemoryExtractionTransports;
|
|
247
|
+
nowMs: () => number;
|
|
248
|
+
locale?: Locale;
|
|
249
|
+
requestId?: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* The words one record claims on a turn, for the windows of ONE call. A quote the gauntlet placed
|
|
253
|
+
* claims its character range. A quote it could not place claims only itself, by its own words:
|
|
254
|
+
* sealing its whole turn would drop every other fact the turn states, and claiming nothing would
|
|
255
|
+
* let the next window write the same sentence again.
|
|
256
|
+
*/
|
|
257
|
+
/** One claim already made on a turn: the words it quotes, and the fact it states. */
|
|
258
|
+
interface ClaimedFact {
|
|
259
|
+
readonly span: ClaimedSpan;
|
|
260
|
+
/** The model-extracted subject, attribute and value claimed by this record. */
|
|
261
|
+
readonly factKey: string | null;
|
|
262
|
+
}
|
|
263
|
+
type ClaimedSpan = {
|
|
264
|
+
readonly kind: "range";
|
|
265
|
+
readonly start: number;
|
|
266
|
+
readonly end: number;
|
|
267
|
+
} | {
|
|
268
|
+
readonly kind: "quote";
|
|
269
|
+
readonly quote: string;
|
|
270
|
+
};
|
|
271
|
+
interface DocumentName {
|
|
272
|
+
turn: number;
|
|
273
|
+
name: string;
|
|
274
|
+
}
|
|
275
|
+
type AtomicMemoryExtractionResult = Exclude<AtomicGenericExtractionResult, {
|
|
276
|
+
status: "complete";
|
|
277
|
+
}> | {
|
|
278
|
+
status: "complete";
|
|
279
|
+
records: AtomicKeyedRecord[];
|
|
280
|
+
write: AtomicExtractionWriteResult;
|
|
281
|
+
};
|
|
282
|
+
interface AtomicExtractPersistOptions {
|
|
283
|
+
scope?: string;
|
|
284
|
+
writerAgentId?: string;
|
|
285
|
+
sessionDateTime?: string;
|
|
286
|
+
sessionTimezone?: string;
|
|
287
|
+
}
|
|
288
|
+
interface AtomicExtractPersistResult {
|
|
289
|
+
created: number;
|
|
290
|
+
merged: 0;
|
|
291
|
+
skipped: number;
|
|
292
|
+
addressLessRefusedCount: 0;
|
|
293
|
+
todoTransitionsWithoutSourceCount: number;
|
|
294
|
+
llmFailures?: number;
|
|
295
|
+
}
|
|
296
|
+
interface AtomicInsightDistillerConfig {
|
|
297
|
+
defaultScope: string;
|
|
298
|
+
locale?: Locale;
|
|
299
|
+
}
|
|
300
|
+
interface WindowDiagnostics {
|
|
301
|
+
proposed: number;
|
|
302
|
+
parseRejected: number;
|
|
303
|
+
discarded: number;
|
|
304
|
+
unkeyed: number;
|
|
305
|
+
persisted: number;
|
|
306
|
+
suppressed: number;
|
|
307
|
+
modelMs: number;
|
|
308
|
+
writeMs: number;
|
|
309
|
+
outcome: string;
|
|
310
|
+
rowIds: string[];
|
|
311
|
+
reasons: Record<string, number>;
|
|
312
|
+
parked: number;
|
|
313
|
+
}
|
|
314
|
+
declare function createAtomicResplitTransport(llm: LlmClient, locale: Locale): AtomicResplitTransport;
|
|
315
|
+
declare function createSignedAtomicMemoryExtractionTransports(config: Omit<LlmClientConfig, "routing"> & {
|
|
316
|
+
routing: LlmRoutingConfig;
|
|
317
|
+
}, locale?: Locale): AtomicMemoryExtractionTransports;
|
|
318
|
+
declare class AtomicInsightDistiller {
|
|
319
|
+
private readonly store;
|
|
320
|
+
private readonly transports;
|
|
321
|
+
private readonly config;
|
|
322
|
+
constructor(store: MemoryStore, transports: AtomicMemoryExtractionTransports, config: AtomicInsightDistillerConfig);
|
|
323
|
+
extractAndPersist(conversationText: string, sessionKey: string, options?: AtomicExtractPersistOptions): Promise<AtomicExtractPersistResult>;
|
|
324
|
+
}
|
|
325
|
+
declare function runAtomicMemoryExtraction(input: RunAtomicMemoryExtractionInput): Promise<AtomicMemoryExtractionResult>;
|
|
326
|
+
//#endregion
|
|
327
|
+
export { AtomicMemoryExtractionTransports as a, ClaimedSpan as c, createAtomicResplitTransport as d, createSignedAtomicMemoryExtractionTransports as f, AtomicMemoryExtractionResult as i, DocumentName as l, AtomicExtractPersistResult as n, AtomicRetirementVerdictTransport as o, runAtomicMemoryExtraction as p, AtomicInsightDistiller as r, ClaimedFact as s, AtomicExtractPersistOptions as t, RunAtomicMemoryExtractionInput as u };
|