@snoai/memory 1.6.0 → 1.7.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/README.md +1 -1
- package/dist/{_types-CUKHSRkS.d.ts → _types-CZDWRxyi.d.ts} +0 -2
- package/dist/{access-tracker-CFxRg7Bt.d.ts → access-tracker-CtqCTq9b.d.ts} +4 -6
- package/dist/{adapter-BFtbOOw3.d.ts → adapter-6irg6Ykg.d.ts} +3 -7
- package/dist/{adapter-CG-UbOjU.js → adapter-BVBeFvUc.js} +2 -4
- package/dist/{agent-llm-port-BlFrD2ro.d.ts → agent-llm-port-i_L33_v_.d.ts} +0 -2
- package/dist/{all-resources-Dij6l5h0.d.ts → all-resources-3zj0PED4.d.ts} +2 -4
- package/dist/{all-resources-BQK2ugjB.js → all-resources-BZc9QIAW.js} +41 -81
- package/dist/{ambient-learning-text-normalizer-_fH3LeuK.d.ts → ambient-learning-text-normalizer-H_idEjJi.d.ts} +0 -2
- package/dist/{ambient-learning-text-normalizer-CxjATmMp.js → ambient-learning-text-normalizer-dxAxf9oi.js} +3 -5
- package/dist/{atomic-extraction-reply-BJ9XV_9s.js → atomic-extraction-reply-CoxIGLmU.js} +12 -12
- package/dist/{atomic-extraction-skill-CcXmuCqL.js → atomic-extraction-skill-5lAqr8BM.js} +1 -2
- package/dist/{atomic-memory-extraction-l65aofbl.js → atomic-memory-extraction-CWMMWF2C.js} +67 -41
- package/dist/{atomic-memory-extraction-Bp7AWZqi.d.ts → atomic-memory-extraction-DcoaYWiS.d.ts} +6 -20
- package/dist/{b-profile-section-dictionary-provider-Buj_M-QA.d.ts → b-profile-section-dictionary-provider-BuzxMJtG.d.ts} +2 -6
- package/dist/{b-profile-section-dictionary-provider-BHkoNqgk.js → b-profile-section-dictionary-provider-DMGsJlYh.js} +3 -6
- package/dist/{best-effort-BPZSzKk0.d.ts → best-effort-DvyP9avp.d.ts} +0 -2
- package/dist/{calendar-instruction-CzqZbAPG.js → calendar-instruction-uK6xsrCt.js} +1 -2
- package/dist/{capture-policy-detector-3tDQkBi9.d.ts → capture-policy-detector-CEgDjHPq.d.ts} +1 -3
- package/dist/{capture-policy-detector-DaMfy9CZ.js → capture-policy-detector-DhNGhDw3.js} +5 -7
- package/dist/{classifier-CXQxJJPP.d.ts → classifier-DeFV9Zro.d.ts} +1 -5
- package/dist/client.d.ts +1 -3
- package/dist/client.js +4 -6
- package/dist/{coding-skin-azRXA51Z.js → coding-skin-BnFryVac.js} +11 -5
- package/dist/coding-skin.d.ts +8 -4
- package/dist/coding-skin.js +2 -2
- package/dist/{config-CByvnX3d.js → config-D6GJyMKz.js} +29 -41
- package/dist/{connection-D989FqGS.d.ts → connection-22Uywd-U.d.ts} +1 -6
- package/dist/{connection-BtK-3r-f.js → connection-H-_OZ-pP.js} +3 -5
- package/dist/{daily-log-generator-DEsiCs7o.js → daily-log-generator-DdzlaQYy.js} +8 -12
- package/dist/{daily-log-generator-CsQPHl4A.d.ts → daily-log-generator-IbaCpCH8.d.ts} +1 -5
- package/dist/{daily-spend-estimator-DiwzBlo1.d.ts → daily-spend-estimator-CKaQYiHB.d.ts} +0 -2
- package/dist/{data-bootstrap-Bl3lthzE.d.ts → data-bootstrap-Bf_VMTSc.d.ts} +0 -4
- package/dist/{data-bootstrap-P8sie9WA.js → data-bootstrap-Db6a7ASj.js} +1 -3
- package/dist/{data-paths-C7sNdqvP.d.ts → data-paths-CFwVskNd.d.ts} +0 -2
- package/dist/{derived-suppression-cache-CcANI-p7.d.ts → derived-suppression-cache-ByclOuKE.d.ts} +1 -7
- package/dist/diagnostic-encoder.d.ts +0 -2
- package/dist/diagnostic-encoder.js +2 -3
- package/dist/{embedding-provider-client-CELWtPgt.d.ts → embedding-provider-client-Bli3uXan.d.ts} +0 -4
- package/dist/{embedding-provider-client-CgpUK_1G.js → embedding-provider-client-ClgiYSD4.js} +4 -8
- package/dist/{entry-metadata-parser-BIVSMCIk.js → entry-metadata-parser-W53-Odqm.js} +1 -2
- package/dist/{error-D-wb-rZw.js → error-Dga5Ot1M.js} +1 -2
- package/dist/{error-signals-lMH2uAdV.js → error-signals-CqvwBBWn.js} +1 -2
- package/dist/{error-signals-D8_3vYu4.d.ts → error-signals-f0JhwtHI.d.ts} +0 -2
- package/dist/{errors-CeVRxf9V.d.ts → errors-Cqej5eCm.d.ts} +0 -2
- package/dist/{extraction-text-sanitizer-B_AhIecT.d.ts → extraction-text-sanitizer-D_7Ogceg.d.ts} +0 -2
- package/dist/{i18n-text-DbD6Qify.d.ts → i18n-text-CqS4mUit.d.ts} +0 -2
- package/dist/{index-Df9420Pl.d.ts → index-B0iQL0Kp.d.ts} +3 -15
- package/dist/{index-DPfJrOFD.d.ts → index-B3H1zNbk.d.ts} +2 -38
- package/dist/{index-CJrMFlAU.d.ts → index-oFJyQfvq.d.ts} +0 -2
- package/dist/index.d.ts +12 -14
- package/dist/index.js +18 -22
- package/dist/{intent-analyzer-B5XVrWwe.d.ts → intent-analyzer-DmeMSTrr.d.ts} +0 -2
- package/dist/internal/config/index.d.ts +1 -1
- package/dist/internal/config/index.js +1 -2
- package/dist/internal/config/plugin-config-schema.d.ts +1 -1
- package/dist/internal/config/plugin-config-schema.js +1 -2
- package/dist/internal/config/product-mode.d.ts +1 -1
- package/dist/internal/config/product-mode.js +1 -2
- package/dist/internal/config/settings.d.ts +1 -1
- package/dist/internal/config/settings.js +3 -4
- package/dist/internal/config/skill-categories.d.ts +1 -3
- package/dist/internal/config/skill-categories.js +1 -2
- package/dist/internal/config/skin-defaults.d.ts +1 -3
- package/dist/internal/config/skin-defaults.js +1 -2
- package/dist/internal/contract/discovery.d.ts +1 -3
- package/dist/internal/contract/discovery.js +2 -3
- package/dist/internal/contract/profile.d.ts +1 -1
- package/dist/internal/contract/profile.js +1 -2
- package/dist/internal/contract/routes.d.ts +1 -1
- package/dist/internal/contract/routes.js +1 -2
- package/dist/internal/engine/bindings/memory-cli-shared.d.ts +7 -9
- package/dist/internal/engine/bindings/memory-cli-shared.js +1 -2
- package/dist/internal/engine/bindings/memory-forget-tool.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-forget-tool.js +2 -3
- package/dist/internal/engine/bindings/memory-list-tool.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-list-tool.js +2 -3
- package/dist/internal/engine/bindings/memory-recall-tool.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-recall-tool.js +3 -4
- package/dist/internal/engine/bindings/memory-reflection-resolve-tool.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +3 -4
- package/dist/internal/engine/bindings/memory-stats-tool.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-stats-tool.js +3 -4
- package/dist/internal/engine/bindings/memory-store-tool.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-store-tool.js +6 -7
- package/dist/internal/engine/bindings/memory-tool-access.d.ts +3 -5
- package/dist/internal/engine/bindings/memory-tool-access.js +2 -3
- package/dist/internal/engine/bindings/memory-tool-formatting.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-tool-formatting.js +2 -3
- package/dist/internal/engine/bindings/memory-tool-results.d.ts +3 -5
- package/dist/internal/engine/bindings/memory-tool-results.js +2 -3
- package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +9 -11
- package/dist/internal/engine/bindings/memory-tool-schemas.js +2 -3
- package/dist/internal/engine/bindings/memory-update-tool.d.ts +1 -3
- package/dist/internal/engine/bindings/memory-update-tool.js +5 -6
- package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +7 -9
- package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +8 -9
- package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +7 -9
- package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +6 -7
- package/dist/internal/engine/bindings/sno-station-mem-hook-types.d.ts +1 -3
- package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +8 -10
- package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +4 -5
- package/dist/internal/engine/bindings/sno-station-mem-message-transcript.d.ts +2 -4
- package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +5 -6
- package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +6 -8
- package/dist/internal/engine/bindings/sno-station-mem-reset-hook.js +1 -2
- package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +2 -4
- package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.js +4 -5
- package/dist/internal/engine/bindings/sno-station-mem-session-state.d.ts +1 -3
- package/dist/internal/engine/bindings/sno-station-mem-session-state.js +1 -2
- package/dist/internal/engine/eval/trace.d.ts +1 -1
- package/dist/internal/engine/eval/trace.js +1 -2
- package/dist/internal/engine/extraction/ambient-learning-text-normalizer.d.ts +1 -1
- package/dist/internal/engine/extraction/ambient-learning-text-normalizer.js +1 -2
- package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +1 -1
- package/dist/internal/engine/extraction/atomic-memory-extraction.js +1 -2
- package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +1 -1
- package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.js +1 -2
- package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +6 -8
- package/dist/internal/engine/extraction/b-profile-section-rekey.js +4 -5
- package/dist/internal/engine/extraction/capture-policy-detector.d.ts +1 -1
- package/dist/internal/engine/extraction/capture-policy-detector.js +1 -2
- package/dist/internal/engine/extraction/embedding-provider-client.d.ts +1 -1
- package/dist/internal/engine/extraction/embedding-provider-client.js +1 -2
- package/dist/internal/engine/extraction/extraction-text-sanitizer.d.ts +1 -1
- package/dist/internal/engine/extraction/extraction-text-sanitizer.js +3 -4
- package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
- package/dist/internal/engine/extraction/memory-metadata-codec.js +1 -2
- package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
- package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -2
- package/dist/internal/engine/i18n/all-resources.d.ts +1 -1
- package/dist/internal/engine/i18n/all-resources.js +1 -2
- package/dist/internal/engine/i18n/locales.d.ts +1 -1
- package/dist/internal/engine/i18n/locales.js +1 -2
- package/dist/internal/engine/i18n/res/_types.d.ts +1 -1
- package/dist/internal/engine/i18n/res/_types.js +1 -2
- package/dist/internal/engine/observability/adapter.d.ts +1 -1
- package/dist/internal/engine/observability/adapter.js +1 -2
- package/dist/internal/engine/observability/best-effort.d.ts +1 -1
- package/dist/internal/engine/observability/best-effort.js +1 -2
- package/dist/internal/engine/observability/early-diagnostics.js +1 -2
- package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
- package/dist/internal/engine/observability/memory-snapshot.js +1 -2
- package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
- package/dist/internal/engine/observability/observable-embedder.js +2 -3
- package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
- package/dist/internal/engine/observability/observable-llm-client.js +2 -3
- package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
- package/dist/internal/engine/observability/observable-memory-store.js +4 -5
- package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
- package/dist/internal/engine/observability/observable-retriever.js +4 -5
- package/dist/internal/engine/observability/runtime-diagnostics.d.ts +2 -4
- package/dist/internal/engine/observability/runtime-diagnostics.js +6 -7
- package/dist/internal/engine/observability/session-registry.d.ts +1 -1
- package/dist/internal/engine/observability/session-registry.js +1 -2
- package/dist/internal/engine/observability/version-metadata.d.ts +1 -3
- package/dist/internal/engine/observability/version-metadata.js +1 -2
- package/dist/internal/engine/operations/daily-spend-estimator.d.ts +1 -1
- package/dist/internal/engine/operations/daily-spend-estimator.js +2 -3
- package/dist/internal/engine/operations/learning-file-maintenance.d.ts +1 -1
- package/dist/internal/engine/operations/learning-file-maintenance.js +3 -4
- package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
- package/dist/internal/engine/operations/memory-tier-promoter.js +1 -2
- package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
- package/dist/internal/engine/operations/runtime-audit-log.js +1 -1
- package/dist/internal/engine/provider/canonical-memory-corpus.d.ts +2 -4
- package/dist/internal/engine/provider/canonical-memory-corpus.js +2 -3
- package/dist/internal/engine/provider/provider-registration.d.ts +7 -9
- package/dist/internal/engine/provider/provider-registration.js +1 -2
- package/dist/internal/engine/provider/provider-row-renderer.d.ts +2 -4
- package/dist/internal/engine/provider/provider-row-renderer.js +2 -3
- package/dist/internal/engine/provider/provider-types.d.ts +1 -1
- package/dist/internal/engine/reflection/daily-log-generator.d.ts +1 -1
- package/dist/internal/engine/reflection/daily-log-generator.js +1 -2
- package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
- package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -2
- package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
- package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
- package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -2
- package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
- package/dist/internal/engine/reflection/reflection-injection-hooks.js +3 -4
- package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
- package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +3 -4
- package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
- package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
- package/dist/internal/engine/rem/classifier.d.ts +1 -1
- package/dist/internal/engine/rem/classifier.js +1 -2
- package/dist/internal/engine/rem/index.d.ts +3 -3
- package/dist/internal/engine/rem/index.js +18 -36
- package/dist/internal/engine/rem/types.d.ts +1 -1
- package/dist/internal/engine/rem/types.js +1 -2
- package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
- package/dist/internal/engine/retrieval/access-tracker.js +1 -2
- package/dist/internal/engine/retrieval/intent-analyzer.d.ts +1 -1
- package/dist/internal/engine/retrieval/intent-analyzer.js +1 -2
- package/dist/internal/engine/retrieval/retrieval-gate.d.ts +1 -1
- package/dist/internal/engine/retrieval/retrieval-gate.js +1 -2
- package/dist/internal/engine/retrieval/retriever.d.ts +1 -1
- package/dist/internal/engine/retrieval/retriever.js +1 -2
- package/dist/internal/engine/security/memory-scope-policy.d.ts +1 -1
- package/dist/internal/engine/security/memory-scope-policy.js +1 -2
- package/dist/internal/engine/security/redact.d.ts +1 -1
- package/dist/internal/engine/security/redact.js +1 -2
- package/dist/internal/engine/security/scopes.d.ts +2 -2
- package/dist/internal/engine/security/scopes.js +2 -2
- package/dist/internal/engine/shared/errors.d.ts +1 -1
- package/dist/internal/engine/shared/errors.js +1 -2
- package/dist/internal/engine/shared/i18n-text.d.ts +1 -1
- package/dist/internal/engine/shared/i18n-text.js +1 -2
- package/dist/internal/engine/shared/iso-date-time.d.ts +1 -3
- package/dist/internal/engine/shared/iso-date-time.js +1 -2
- package/dist/internal/engine/shared/lru.d.ts +1 -1
- package/dist/internal/engine/shared/lru.js +1 -2
- package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
- package/dist/internal/engine/shared/memory-kind-policy.js +1 -2
- package/dist/internal/engine/shared/paths.d.ts +2 -2
- package/dist/internal/engine/shared/paths.js +1 -2
- package/dist/internal/engine/shared/types.d.ts +2 -2
- package/dist/internal/engine/shared/types.js +2 -3
- package/dist/internal/engine/shared/utils.d.ts +1 -1
- package/dist/internal/engine/shared/utils.js +1 -2
- package/dist/internal/engine/telemetry/memory-telemetry-api.d.ts +5 -9
- package/dist/internal/engine/telemetry/memory-telemetry-api.js +6 -8
- package/dist/internal/engine/telemetry/memory-telemetry-observability.d.ts +2 -4
- package/dist/internal/engine/telemetry/memory-telemetry-observability.js +1 -2
- package/dist/internal/engine/telemetry/memory-telemetry-outbox.d.ts +1 -1
- package/dist/internal/engine/telemetry/memory-telemetry-outbox.js +4 -5
- package/dist/internal/engine/telemetry/memory-telemetry-types.d.ts +1 -1
- package/dist/internal/engine/telemetry/memory-telemetry-types.js +1 -2
- package/dist/internal/engine/telemetry/observe-ledger.d.ts +3 -5
- package/dist/internal/engine/telemetry/observe-ledger.js +2 -3
- package/dist/internal/model/agent-llm-port.d.ts +1 -1
- package/dist/internal/model/llm-client.d.ts +2 -2
- package/dist/internal/model/llm-client.js +2 -2
- package/dist/internal/model/llm-failure.d.ts +1 -3
- package/dist/internal/model/llm-failure.js +1 -2
- package/dist/internal/model/llm-mode-routing.d.ts +1 -3
- package/dist/internal/model/llm-mode-routing.js +2 -3
- package/dist/internal/store/atomic-memory-cutover-sql.d.ts +2 -4
- package/dist/internal/store/atomic-memory-cutover-sql.js +2 -3
- package/dist/internal/store/connection.d.ts +1 -1
- package/dist/internal/store/connection.js +1 -2
- package/dist/internal/store/data-bootstrap.d.ts +1 -1
- package/dist/internal/store/data-bootstrap.js +1 -2
- package/dist/internal/store/data-paths.d.ts +1 -1
- package/dist/internal/store/data-paths.js +1 -2
- package/dist/internal/store/maintenance.d.ts +4 -6
- package/dist/internal/store/maintenance.js +18 -25
- package/dist/internal/store/memory-kinds-cutover-migrator.d.ts +1 -3
- package/dist/internal/store/memory-kinds-cutover-migrator.js +4 -5
- package/dist/internal/store/migrations.d.ts +2 -4
- package/dist/internal/store/migrations.js +2 -3
- package/dist/internal/store/sqlite-runtime.d.ts +1 -1
- package/dist/internal/store/sqlite-runtime.js +2 -3
- package/dist/internal/store/store.d.ts +2 -2
- package/dist/internal/store/store.js +1 -2
- package/dist/{learning-file-maintenance-9b-Ut6Kv.d.ts → learning-file-maintenance-ZT6kHwb1.d.ts} +0 -2
- package/dist/{llm-client-nWW1o1F6.d.ts → llm-client-Bar23wPq.d.ts} +1 -5
- package/dist/{llm-client-ByzZRemn.js → llm-client-BtbX4af4.js} +43 -17
- package/dist/{locales-JxGmkG6t.d.ts → locales-CCZtQJq7.d.ts} +0 -2
- package/dist/{log-site-catalog.generated-DsvDgHJa.js → log-site-catalog.generated-Dtiih6m2.js} +92 -94
- package/dist/log-site-catalog.json +1 -1
- package/dist/{lru-DyoaTyIs.d.ts → lru-DYiuPJFA.d.ts} +0 -2
- package/dist/memdump.d.ts +1 -3
- package/dist/memdump.js +1 -2
- package/dist/{memory-entry-projector-B36Nwsi_.js → memory-entry-projector-CkoEuLv6.js} +17 -30
- package/dist/{memory-kind-policy-BMebgugU.d.ts → memory-kind-policy-BRjhwhSl.d.ts} +1 -3
- package/dist/{memory-metadata-codec-H8BniJM3.d.ts → memory-metadata-codec-CcYw0t6c.d.ts} +1 -7
- package/dist/{memory-metadata-codec-DL1sbJiN.js → memory-metadata-codec-Cglikqj8.js} +4 -8
- package/dist/{memory-runtime-DXr1VO1p.js → memory-runtime-B9fG-sNo.js} +240 -298
- package/dist/{memory-scope-policy-1gg5QlWZ.d.ts → memory-scope-policy-4WfFFs_H.d.ts} +0 -4
- package/dist/{memory-scope-policy--TiLZnrE.js → memory-scope-policy-Dg2LHZ25.js} +3 -6
- package/dist/{memory-snapshot-CKnQovB5.d.ts → memory-snapshot-8RxJpqig.d.ts} +3 -5
- package/dist/{memory-source-order-YMRoeDLd.js → memory-source-order-BTo_ix2y.js} +1 -2
- package/dist/{memory-store-base-BHYXgsCq.d.ts → memory-store-base-CHBfMmZb.d.ts} +11 -21
- package/dist/{memory-store-shared-pOb59ScU.js → memory-store-shared-B-zOxk_Q.js} +4 -6
- package/dist/{memory-store-write-validation-B_hDG2zf.js → memory-store-write-validation-BbvoN3Li.js} +4 -7
- package/dist/{memory-telemetry-incidents-BWA9kcZx.js → memory-telemetry-incidents-Dp8GVD2Q.js} +1 -2
- package/dist/{memory-telemetry-metadata-CA7W8tK6.js → memory-telemetry-metadata-PMKWCAbj.js} +1 -2
- package/dist/{memory-telemetry-outbox-ddTdImt7.d.ts → memory-telemetry-outbox-D-L9c3Nw.d.ts} +2 -4
- package/dist/{memory-telemetry-receipts-MAJecvXQ.d.ts → memory-telemetry-receipts-Boj2CE16.d.ts} +1 -5
- package/dist/{memory-telemetry-receipts-cjIQGwdp.js → memory-telemetry-receipts-ComlCOro.js} +2 -4
- package/dist/{memory-telemetry-types-CufVmrCs.d.ts → memory-telemetry-types-Bg8U0Drl.d.ts} +0 -2
- package/dist/{memory-temporality-classifier-Bauwnls7.js → memory-temporality-classifier-Bm0EiCN8.js} +7 -9
- package/dist/{memory-temporality-classifier-Wi6WWeAj.d.ts → memory-temporality-classifier-HI9KeEsM.d.ts} +1 -3
- package/dist/{memory-tier-promoter-m60-RlAj.d.ts → memory-tier-promoter-CqNT2qFj.d.ts} +1 -3
- package/dist/{memory-tool-dependencies-Cc4SJMtd.js → memory-tool-dependencies-BxVJ-bHs.js} +6 -6
- package/dist/memory-tool-dependencies-KsEWfLkV.d.ts +14 -0
- package/dist/{model-call-table-CPyQfBJ6.js → model-call-table-BxGwmwv0.js} +14 -10
- package/dist/{model-reply-text-CKopStP2.js → model-reply-text-C7jEWDXG.js} +2 -4
- package/dist/{observable-embedder-0FwxJMhJ.d.ts → observable-embedder-DunGMyQg.d.ts} +2 -4
- package/dist/{observable-llm-client-DY7w1Fj1.d.ts → observable-llm-client-D_mOM5Pn.d.ts} +3 -5
- package/dist/{observable-memory-store-C25Q_hoW.d.ts → observable-memory-store-DUhat-p3.d.ts} +5 -7
- package/dist/{observable-retriever-Cs9Bwzq6.d.ts → observable-retriever-7TmJk1HE.d.ts} +6 -8
- package/dist/{operation-cancellation-QcwC4mDX.js → operation-cancellation-mqfQz0ka.js} +1 -2
- package/dist/paths-BySyy_eq.d.ts +1 -0
- package/dist/{plugin-config-observe-schema-ue9XxUj_.js → plugin-config-observe-schema-CwHVuVhu.js} +2 -3
- package/dist/{plugin-config-schema-DQh5njrS.d.ts → plugin-config-schema-DO4FhsYc.d.ts} +4 -24
- package/dist/{plugin-config-schema-D-IoHmis.js → plugin-config-schema-sJbkVY0-.js} +8 -14
- package/dist/{profile-CcvVR6K8.d.ts → profile-nVQCcv-0.d.ts} +1 -3
- package/dist/{profile-section-writer-CR-WWIoB.js → profile-section-writer-DSX6R3GF.js} +10 -15
- package/dist/{provider-registration-qLSA9CQl.js → provider-registration-lujpiuef.js} +5 -8
- package/dist/{provider-runtime-types-DFhtdA6d.d.ts → provider-runtime-types-peajl6V-.d.ts} +0 -2
- package/dist/{provider-types-CZGm6v88.d.ts → provider-types-DIU9efEA.d.ts} +1 -3
- package/dist/{redact-BTIZcHQL.d.ts → redact-BnUxXQUE.d.ts} +0 -2
- package/dist/{reflection-command-hooks-BRLqVNCi.d.ts → reflection-command-hooks-CvkTlbOa.d.ts} +5 -7
- package/dist/{reflection-command-hooks-Der9aX0e.js → reflection-command-hooks-Dyckr_Ma.js} +11 -14
- package/dist/{reflection-deps-C0TJ-gpU.d.ts → reflection-deps-AqE-y4Ba.d.ts} +6 -8
- package/dist/{reflection-embedded-generator-Cs59hWYr.d.ts → reflection-embedded-generator-BJol6by2.d.ts} +6 -8
- package/dist/{reflection-embedded-generator-BEdDusPV.js → reflection-embedded-generator-i8KHqMpr.js} +5 -8
- package/dist/{reflection-injection-hooks-Cy4bRemm.d.ts → reflection-injection-hooks-C3PeK3QM.d.ts} +7 -11
- package/dist/{reflection-lifecycle-hooks-C-lf00DB.d.ts → reflection-lifecycle-hooks-Cjvwic3J.d.ts} +4 -6
- package/dist/{relation-dictionary-Cev1kyLe.js → relation-dictionary-QVBewRQ1.js} +3 -6
- package/dist/release-download.d.ts +1 -3
- package/dist/release-download.js +1 -2
- package/dist/{relevant-memories-context-m8nuFZcM.js → relevant-memories-context-CvMB_zj8.js} +1 -2
- package/dist/rem-batch-executor-BSWXFOLH.js +1 -0
- package/dist/{rem-consumer-retrieval-BhS1ivcd.js → rem-consumer-retrieval-DXeqknml.js} +3 -5
- package/dist/{rem-trigger-CBfyJVfh.js → rem-trigger-BaJa5FS0.js} +206 -345
- package/dist/{resolver-Dy-hnjCR.js → resolver-DQ47zbPS.js} +2 -4
- package/dist/{results-BkMsHy7M.js → results-DERE8r4S.js} +2 -3
- package/dist/{retrieval-gate-Bx2Zg7jD.d.ts → retrieval-gate-XvDp3HuK.d.ts} +0 -2
- package/dist/{retriever-2RJYAvlD.d.ts → retriever-Cv-hwHpH.d.ts} +10 -22
- package/dist/{retriever-C54bXeDh.js → retriever-DRtPp86k.js} +12 -22
- package/dist/{rolldown-runtime-D7D4PA-g.js → rolldown-runtime-D8jQpDG7.js} +1 -2
- package/dist/{runtime-audit-log-DK6xAYxh.js → runtime-audit-log-4NJsojEj.js} +2 -4
- package/dist/{runtime-audit-log-D2Hqk_kl.d.ts → runtime-audit-log-CJK9iVX9.d.ts} +1 -3
- package/dist/{scopes-CtrY-YQ3.d.ts → scopes-BcdyFdfw.d.ts} +1 -5
- package/dist/{scopes-a4Kly9n7.js → scopes-DQjbRC2q.js} +2 -3
- package/dist/{server-BlbG5uOM.js → server-DPd3Xef2.js} +10 -15
- package/dist/{session-registry-DBoE7AvZ.d.ts → session-registry-Dft8oCDg.d.ts} +0 -2
- package/dist/sidecar/main.js +3 -4
- package/dist/{signed-registry-constants-Bv0fgZ8Q.d.ts → signed-registry-constants-BfycrCI1.d.ts} +0 -2
- package/dist/{signed-registry-constants-yq3DlG3B.js → signed-registry-constants-CO2vv_QJ.js} +1 -2
- package/dist/{sno-station-mem-runtime-dependencies-DsidkZi2.js → sno-station-mem-runtime-dependencies-DITNvfkR.js} +14 -14
- package/dist/sno-station-mem-runtime-dependencies-DorPRtTM.d.ts +29 -0
- package/dist/{sqlite-runtime-L_ywirTm.d.ts → sqlite-runtime-Cea2knhj.d.ts} +0 -2
- package/dist/{store-Bz0y76cJ.d.ts → store-AGtE-n72.d.ts} +4 -14
- package/dist/{store-Bja1tVFw.js → store-YX1_c1NH.js} +44 -76
- package/dist/{strategy-hook-runner-F-ruiw48.js → strategy-hook-runner-CwqZ1orf.js} +5 -7
- package/dist/{strategy-hook-runner-vbrWiDbK.d.ts → strategy-hook-runner-DqJpzS9C.d.ts} +7 -9
- package/dist/{token-counter-BD1f48Km.js → token-counter-N9I9iWq1.js} +1 -2
- package/dist/{trace-C1JxMfs-.d.ts → trace-CX26YO5M.d.ts} +0 -2
- package/dist/{types-El7jViCz.d.ts → types-CMbBmMJB.d.ts} +1 -5
- package/dist/{types-pVomjzqR.d.ts → types-qOSF58Ck.d.ts} +0 -2
- package/dist/{unplaced-candidate-migration-BCcdQkcx.js → unplaced-candidate-migration-BFQqjIDP.js} +8 -14
- package/dist/{utils-CDw2ttQf.d.ts → utils-CdhxW1G9.d.ts} +0 -2
- package/package.json +1 -1
- package/settings.default.json +7 -7
- package/skills/extract-atomic-memory/SKILL.md +4 -3
- package/skills/extract-atomic-memory/references/capture.md +3 -2
- package/dist/memory-tool-dependencies-D2fOC-KL.d.ts +0 -14
- package/dist/paths-obFSsJv3.d.ts +0 -1
- package/dist/rem-batch-executor-DiU8hSGc.js +0 -2
- package/dist/sno-station-mem-runtime-dependencies-ByI3b-wB.d.ts +0 -31
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { $ as renderAdapterAChatPrompt, $t as MEMORY_CATEGORIES, A as journalAtomicArrivalRetirementRefusal, B as StaleSupersedeTargetError, Bt as debugContentPreview, C as buildTaskLifecycleCommandClaim, Cn as withMemoryOperation, Ct as withProviderResponses, D as normalizeEntityName, E as listAtomicMemoryEntityCandidates, Et as appendAuditEntry, F as normalizeTopicToSectionName, Ft as CODING_SKIN_LEDGER_MAX_CHARS, G as loadSqliteVecExtension, Gt as redactSecrets, H as validateMemoryTelemetryMetadata, Ht as stripHtmlTags, I as getSnoStationMemDataDir, It as CODING_SKIN_SESSION_QUERY, J as adapterAViewFromRecord, Jt as stringifyInsightMetadata, Kt as buildInsightMetadata, L as AtomicExtractionCompletedElsewhere, Lt as HOST_MODEL_DEADLINE_HEADER, M as recordTokenCounter, Mt as runWithMemoryAuditSync, N as canExtractorWrite, Nt as runWithMutationAttempt, O as recordAtomicEntityIdentityJournal, P as canonicalizeProfileSectionName, Q as prospectiveProfileView, Qt as AGGREGATION_OPERATIONS, R as normalizeMemoryRelationPredicate, Rt as clamp01, S as admitTaskLifecycleAssertion, Sn as memoryOperationSignal, St as isTerminalLlmFailure, T as resolveHookAgentId, Tt as isTerminalLlmFailure$1, U as randomUUID$1, Ut as stripRoleLabelPrefix, V as TaskLifecycleStaleResolutionError, Vt as stableHash, W as readChunkVecTableState, Wt as truncateGraphemes, X as orderAdapterAPair, Xt as parseIsoDateTimeMs, Y as isAdapterAVerdictReply, Yt as normalizeIsoDateTimeString, Z as parseAdapterAChatVerdict, Zt as deriveFactKey, _ as acceptsTaskLifecycleJudgment, _n as initSqliteRuntime, _t as createScopePolicy, an as atomicExtractionSkillReference, at as resolveMemoryDate, b as resolveTaskLifecycle, bn as checkMemoryOperation, cn as state_vocabulary_default, ct as buildIndexedText, dn as calendarInstructionSchema, dt as ALL_RESOURCES, en as normalizeCategory, et as renderAdapterAPrompt, fn as isCalendarLabel, ft as RESOURCES_BY_LOCALE, g as Embedder, gn as isMemoryTelemetryEventType, gt as MemoryScopePolicy, h as AccessTracker, hn as MEMORY_TELEMETRY_DELETE_REASONS, ht as StorageError, in as ATOMIC_EXTRACTION_SKILL_HASH, it as serializeIntervalMetadata, j as readAtomicArrivalRetirementCandidateSet, jt as runWithMemoryAudit, k as closeAtomicArrivalRetirementTargets, kt as currentMutationAttemptId, ln as relations, lt as stripEnvelopeMetadata, m as DEFAULT_RETRIEVAL_CONFIG, mn as attribute_dictionary_default, mt as SnoStationMemError, nn as resolveLlmRoute, nt as readMemorySourceOrderOrOldest, on as modelReplyJsonCandidates, ot as unresolvedMemoryDate, p as MemoryRetriever, pn as sessionZoneCarriedBy, pt as RetrievalError, qt as parseInsightMetadata, rn as ATOMIC_EXTRACTION_SKILL, rt as parseSessionTimestamp, sn as readModelReplyJson, st as boundSectionContent, t as evaluateRemAutomaticTriggers, tn as pickLlmRoutingConfig, tt as compareMemorySourceOrder, un as calculateCalendarTime, ut as normalizeAmbientLearningText, v as buildTaskLifecycleCandidateSet, vn as openSqliteDatabase, vt as parseAgentIdFromSessionKey, w as resolveTaskLifecycleEffectiveTime, wn as forwardObserveLedgerUntilIdle, wt as classifyLlmFailure, x as taskLifecycleCandidateSetVersion, xn as memoryFileWrite, xt as createLlmClient, y as findUniqueActiveTaskByDescription, yn as openSqliteDatabaseReadonly, yt as LlmClientTerminalError, z as MemoryStore, zt as clampInt } from "./rem-trigger-
|
|
2
|
-
import { $t as FIXED_PROTOCOL_VALUE_79, A as modelCallDestination, An as DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, Bn as FTS_MERGE_INTERVAL_MS, Bt as FIXED_PROTOCOL_VALUE_63, C as getSnoStationMemStateDir, D as settingsToPluginConfig, Dn as DEFAULT_IMPORTANCE, E as defaultSettings, F as observeConfigSchema, Ft as FIXED_MEMORY_SNO_AI_EXTRACT, Gn as INTEGRITY_CHECK_INTERVAL_MS, Gt as FIXED_PROTOCOL_VALUE_68, Ht as FIXED_PROTOCOL_VALUE_65, I as extractionConfigSchema, It as FIXED_MEMORY_SNO_EXTRACT_CHAT, Jn as MAX_AGGREGATION_RESULT_TOKENS, Jt as FIXED_PROTOCOL_VALUE_74, L as memoryReflectionConfigSchema, Lt as FIXED_MEMORY_SNO_EXTRACT_PROFILE, M as retrievalConfigSchema, N as isObserveAgentId, O as MODEL_CALLS, P as observeAgentId, Pt as FIXED_MEMORY_ROW_PATH_PATTERN, Qt as FIXED_PROTOCOL_VALUE_78, R as selfImprovementConfigSchema, T as readSettings, Ut as FIXED_PROTOCOL_VALUE_66, Vt as FIXED_PROTOCOL_VALUE_64, Wt as FIXED_PROTOCOL_VALUE_67, Xt as FIXED_PROTOCOL_VALUE_76, Yn as MAX_CANDIDATE_POOL_SIZE, Zn as MAX_LIST_LIMIT, Zt as FIXED_PROTOCOL_VALUE_77, _n as BACKUP_MIN_FREE_DISK_RATIO, an as PERSISTED_PROVIDER_SYSTEM, b as getPrincipal, dr as USAGE_EVENT_RETENTION_INTERVAL_MS, er as MIN_RECALL_TOKEN_BUDGET, fn as ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, fr as USAGE_OUTBOX_INTERVAL_MS, gn as BACKUP_INTERVAL_MS, gr as recallLifecycleSchema, h as readMaintenanceOverrides, hn as ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, ir as PLANNER_STATISTICS_INTERVAL_MS, j as SESSION_STRATEGIES, jn as DEFAULT_REFLECTION_SESSION_TTL_MS, kn as DEFAULT_RECALL_TOKEN_BUDGET, ln as isSupportedLocale, lr as SNO_OBSERVE_FLUSH_TIMEOUT_MS, n as MEMORY_USAGE_FLUSH_INTERVAL_MS, on as embeddingConfigSchema, pn as ATOMIC_CAPTURE_TIMEOUT_MS, qn as MAINTENANCE_TICK_MS, sr as REM_TRIGGER_CHECK_INTERVAL_MS, w as getStateDir, x as getSettingsPath, z as sessionMemoryConfigSchema, zn as FORGET_QUERY_MIN_SCORE } from "./config-
|
|
3
|
-
import { n as DEGRADED_REASONS, t as ContractError } from "./error-
|
|
1
|
+
import { $ as renderAdapterAChatPrompt, $t as MEMORY_CATEGORIES, A as journalAtomicArrivalRetirementRefusal, B as StaleSupersedeTargetError, Bt as debugContentPreview, C as buildTaskLifecycleCommandClaim, Cn as withMemoryOperation, Ct as withProviderResponses, D as normalizeEntityName, E as listAtomicMemoryEntityCandidates, Et as appendAuditEntry, F as normalizeTopicToSectionName, Ft as CODING_SKIN_LEDGER_MAX_CHARS, G as loadSqliteVecExtension, Gt as redactSecrets, H as validateMemoryTelemetryMetadata, Ht as stripHtmlTags, I as getSnoStationMemDataDir, It as CODING_SKIN_SESSION_QUERY, J as adapterAViewFromRecord, Jt as stringifyInsightMetadata, Kt as buildInsightMetadata, L as AtomicExtractionCompletedElsewhere, Lt as HOST_MODEL_DEADLINE_HEADER, M as recordTokenCounter, Mt as runWithMemoryAuditSync, N as canExtractorWrite, Nt as runWithMutationAttempt, O as recordAtomicEntityIdentityJournal, P as canonicalizeProfileSectionName, Q as prospectiveProfileView, Qt as AGGREGATION_OPERATIONS, R as normalizeMemoryRelationPredicate, Rt as clamp01, S as admitTaskLifecycleAssertion, Sn as memoryOperationSignal, St as isTerminalLlmFailure, T as resolveHookAgentId, Tt as isTerminalLlmFailure$1, U as randomUUID$1, Ut as stripRoleLabelPrefix, V as TaskLifecycleStaleResolutionError, Vt as stableHash, W as readChunkVecTableState, Wt as truncateGraphemes, X as orderAdapterAPair, Xt as parseIsoDateTimeMs, Y as isAdapterAVerdictReply, Yt as normalizeIsoDateTimeString, Z as parseAdapterAChatVerdict, Zt as deriveFactKey, _ as acceptsTaskLifecycleJudgment, _n as initSqliteRuntime, _t as createScopePolicy, an as atomicExtractionSkillReference, at as resolveMemoryDate, b as resolveTaskLifecycle, bn as checkMemoryOperation, cn as state_vocabulary_default, ct as buildIndexedText, dn as calendarInstructionSchema, dt as ALL_RESOURCES, en as normalizeCategory, et as renderAdapterAPrompt, fn as isCalendarLabel, ft as RESOURCES_BY_LOCALE, g as Embedder, gn as isMemoryTelemetryEventType, gt as MemoryScopePolicy, h as AccessTracker, hn as MEMORY_TELEMETRY_DELETE_REASONS, ht as StorageError, in as ATOMIC_EXTRACTION_SKILL_HASH, it as serializeIntervalMetadata, j as readAtomicArrivalRetirementCandidateSet, jt as runWithMemoryAudit, k as closeAtomicArrivalRetirementTargets, kt as currentMutationAttemptId, ln as relations, lt as stripEnvelopeMetadata, m as DEFAULT_RETRIEVAL_CONFIG, mn as attribute_dictionary_default, mt as SnoStationMemError, nn as resolveLlmRoute, nt as readMemorySourceOrderOrOldest, on as modelReplyJsonCandidates, ot as unresolvedMemoryDate, p as MemoryRetriever, pn as sessionZoneCarriedBy, pt as RetrievalError, qt as parseInsightMetadata, rn as ATOMIC_EXTRACTION_SKILL, rt as parseSessionTimestamp, sn as readModelReplyJson, st as boundSectionContent, t as evaluateRemAutomaticTriggers, tn as pickLlmRoutingConfig, tt as compareMemorySourceOrder, un as calculateCalendarTime, ut as normalizeAmbientLearningText, v as buildTaskLifecycleCandidateSet, vn as openSqliteDatabase, vt as parseAgentIdFromSessionKey, w as resolveTaskLifecycleEffectiveTime, wn as forwardObserveLedgerUntilIdle, wt as classifyLlmFailure, x as taskLifecycleCandidateSetVersion, xn as memoryFileWrite, xt as createLlmClient, y as findUniqueActiveTaskByDescription, yn as openSqliteDatabaseReadonly, yt as LlmClientTerminalError, z as MemoryStore, zt as clampInt } from "./rem-trigger-BaJa5FS0.js";
|
|
2
|
+
import { $t as FIXED_PROTOCOL_VALUE_79, A as modelCallDestination, An as DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, Bn as FTS_MERGE_INTERVAL_MS, Bt as FIXED_PROTOCOL_VALUE_63, C as getSnoStationMemStateDir, D as settingsToPluginConfig, Dn as DEFAULT_IMPORTANCE, E as defaultSettings, F as observeConfigSchema, Ft as FIXED_MEMORY_SNO_AI_EXTRACT, Gn as INTEGRITY_CHECK_INTERVAL_MS, Gt as FIXED_PROTOCOL_VALUE_68, Ht as FIXED_PROTOCOL_VALUE_65, I as extractionConfigSchema, It as FIXED_MEMORY_SNO_EXTRACT_CHAT, Jn as MAX_AGGREGATION_RESULT_TOKENS, Jt as FIXED_PROTOCOL_VALUE_74, L as memoryReflectionConfigSchema, Lt as FIXED_MEMORY_SNO_EXTRACT_PROFILE, M as retrievalConfigSchema, N as isObserveAgentId, O as MODEL_CALLS, P as observeAgentId, Pt as FIXED_MEMORY_ROW_PATH_PATTERN, Qt as FIXED_PROTOCOL_VALUE_78, R as selfImprovementConfigSchema, T as readSettings, Ut as FIXED_PROTOCOL_VALUE_66, Vt as FIXED_PROTOCOL_VALUE_64, Wt as FIXED_PROTOCOL_VALUE_67, Xt as FIXED_PROTOCOL_VALUE_76, Yn as MAX_CANDIDATE_POOL_SIZE, Zn as MAX_LIST_LIMIT, Zt as FIXED_PROTOCOL_VALUE_77, _n as BACKUP_MIN_FREE_DISK_RATIO, an as PERSISTED_PROVIDER_SYSTEM, b as getPrincipal, dr as USAGE_EVENT_RETENTION_INTERVAL_MS, er as MIN_RECALL_TOKEN_BUDGET, fn as ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, fr as USAGE_OUTBOX_INTERVAL_MS, gn as BACKUP_INTERVAL_MS, gr as recallLifecycleSchema, h as readMaintenanceOverrides, hn as ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, ir as PLANNER_STATISTICS_INTERVAL_MS, j as SESSION_STRATEGIES, jn as DEFAULT_REFLECTION_SESSION_TTL_MS, kn as DEFAULT_RECALL_TOKEN_BUDGET, ln as isSupportedLocale, lr as SNO_OBSERVE_FLUSH_TIMEOUT_MS, n as MEMORY_USAGE_FLUSH_INTERVAL_MS, on as embeddingConfigSchema, pn as ATOMIC_CAPTURE_TIMEOUT_MS, qn as MAINTENANCE_TICK_MS, sr as REM_TRIGGER_CHECK_INTERVAL_MS, w as getStateDir, x as getSettingsPath, z as sessionMemoryConfigSchema, zn as FORGET_QUERY_MIN_SCORE } from "./config-D6GJyMKz.js";
|
|
3
|
+
import { n as DEGRADED_REASONS, t as ContractError } from "./error-Dga5Ot1M.js";
|
|
4
4
|
import { configureLogger, createLogger, currentLogContext, effectiveLogLevel, loggerFileStatus, privateLogReference, withLogContext } from "@snoai/utils/logger";
|
|
5
5
|
import path, { basename, dirname, isAbsolute, join, posix, relative, resolve } from "node:path";
|
|
6
6
|
import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, statfsSync } from "node:fs";
|
|
@@ -23,7 +23,7 @@ import { eld } from "eld/medium";
|
|
|
23
23
|
import { channel } from "node:diagnostics_channel";
|
|
24
24
|
import "js-tiktoken";
|
|
25
25
|
import { connect } from "node:net";
|
|
26
|
-
|
|
26
|
+
// src/engine/observability/memory-snapshot.ts
|
|
27
27
|
/** @file memory-snapshot.ts
|
|
28
28
|
* @purpose Reads aggregate memory-store metadata for memory.snapshot events.
|
|
29
29
|
* @boundary Read-only SQLite inspection for observability.
|
|
@@ -63,8 +63,7 @@ async function readMemorySnapshotPayload(dbPath, _config, snapshotUuid, reason,
|
|
|
63
63
|
}
|
|
64
64
|
return payload;
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
//#region src/engine/telemetry/memory-telemetry-observability.ts
|
|
66
|
+
// src/engine/telemetry/memory-telemetry-observability.ts
|
|
68
67
|
const DEFAULT_SINK = "sno-observe";
|
|
69
68
|
const MAX_BATCH_SIZE = 50;
|
|
70
69
|
async function forwardMemoryTelemetryToObserve(options) {
|
|
@@ -194,11 +193,9 @@ function addString(target, key, value) {
|
|
|
194
193
|
function addNumber(target, key, value) {
|
|
195
194
|
if (typeof value === "number" && Number.isFinite(value)) target[key] = value;
|
|
196
195
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
//#endregion
|
|
201
|
-
//#region config/atomic-extraction-response.schema.json
|
|
196
|
+
// package.json
|
|
197
|
+
var version = "1.7.1";
|
|
198
|
+
// config/atomic-extraction-response.schema.json
|
|
202
199
|
var atomic_extraction_response_schema_default = {
|
|
203
200
|
$schema: "https://json-schema.org/draft/2020-12/schema",
|
|
204
201
|
$id: "https://www.sno.ai/schemas/mem-claw/atomic-extraction-response-v1.json",
|
|
@@ -209,8 +206,11 @@ var atomic_extraction_response_schema_default = {
|
|
|
209
206
|
properties: {
|
|
210
207
|
"claims_found": {
|
|
211
208
|
"type": "array",
|
|
212
|
-
"items": {
|
|
213
|
-
|
|
209
|
+
"items": {
|
|
210
|
+
"type": "integer",
|
|
211
|
+
"minimum": 0
|
|
212
|
+
},
|
|
213
|
+
"description": "For each claim the turns this call owns state, in the order they appear, the turn_index it came from: a number, never the claim's words; empty when they state none. Written before records so the list is read before the array is opened."
|
|
214
214
|
},
|
|
215
215
|
"records": {
|
|
216
216
|
"type": "array",
|
|
@@ -693,8 +693,7 @@ var atomic_extraction_response_schema_default = {
|
|
|
693
693
|
}
|
|
694
694
|
] } }
|
|
695
695
|
};
|
|
696
|
-
|
|
697
|
-
//#region src/engine/extraction/atomic-progress-boundary.ts
|
|
696
|
+
// src/engine/extraction/atomic-progress-boundary.ts
|
|
698
697
|
const log$17 = createLogger("sno-station-mem:atomic-progress-boundary");
|
|
699
698
|
const classificationSchema = z.object({ decisions: z.array(z.object({
|
|
700
699
|
turn_index: z.number().int().nonnegative(),
|
|
@@ -727,8 +726,7 @@ function excludeProgressRecords(records, excluded) {
|
|
|
727
726
|
return index === void 0 || !excluded.has(index);
|
|
728
727
|
});
|
|
729
728
|
}
|
|
730
|
-
|
|
731
|
-
//#region src/engine/extraction/atomic-extraction-reply.ts
|
|
729
|
+
// src/engine/extraction/atomic-extraction-reply.ts
|
|
732
730
|
/** @file atomic-extraction-reply.ts
|
|
733
731
|
* @purpose Defines and recovers the one atomic extraction reply shape.
|
|
734
732
|
* @boundary Reply validation only; no model calls, persistence, or post-processing judgment.
|
|
@@ -915,7 +913,7 @@ const captureFactSchema = wireRecordSchema.pick({
|
|
|
915
913
|
ended_at_phrase: wireRecordSchema.shape.ended_at_phrase.unwrap()
|
|
916
914
|
});
|
|
917
915
|
const captureReplySchema = z.object({
|
|
918
|
-
claims_found: z.array(z.
|
|
916
|
+
claims_found: z.array(z.number().int().nonnegative()),
|
|
919
917
|
decisions: z.array(z.object({
|
|
920
918
|
turn_index: z.number().int().nonnegative(),
|
|
921
919
|
progress_only: z.boolean()
|
|
@@ -1054,10 +1052,9 @@ function fallbackAtomicCapturedFact(fact) {
|
|
|
1054
1052
|
ended_time: { kind: "none" }
|
|
1055
1053
|
});
|
|
1056
1054
|
}
|
|
1057
|
-
|
|
1058
|
-
//#region src/engine/observability/log-site-catalog.generated.ts
|
|
1055
|
+
// src/engine/observability/log-site-catalog.generated.ts
|
|
1059
1056
|
const logSiteCatalog = {
|
|
1060
|
-
"build_id": "
|
|
1057
|
+
"build_id": "adc3f82ce64373cc97694ab820cb8be47d6786fb3a73a9048b88607316796a38",
|
|
1061
1058
|
"sites": {
|
|
1062
1059
|
"memory.recall.budget.checked": {
|
|
1063
1060
|
"file": "packages/memory/src/engine/bindings/memory-recall-tool.ts",
|
|
@@ -1218,56 +1215,56 @@ const logSiteCatalog = {
|
|
|
1218
1215
|
"function": "wireTimeSchema",
|
|
1219
1216
|
"line": 90,
|
|
1220
1217
|
"column": 2,
|
|
1221
|
-
"file_hash": "
|
|
1218
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1222
1219
|
},
|
|
1223
1220
|
"extraction.atomic-extraction-reply.projectRecord.327508ac5f": {
|
|
1224
1221
|
"file": "packages/memory/src/engine/extraction/atomic-extraction-reply.ts",
|
|
1225
1222
|
"function": "projectRecord",
|
|
1226
1223
|
"line": 145,
|
|
1227
1224
|
"column": 3,
|
|
1228
|
-
"file_hash": "
|
|
1225
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1229
1226
|
},
|
|
1230
1227
|
"extraction.atomic-extraction-reply.omitted_time": {
|
|
1231
1228
|
"file": "packages/memory/src/engine/extraction/atomic-extraction-reply.ts",
|
|
1232
1229
|
"function": "projectRecord",
|
|
1233
1230
|
"line": 152,
|
|
1234
1231
|
"column": 3,
|
|
1235
|
-
"file_hash": "
|
|
1232
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1236
1233
|
},
|
|
1237
1234
|
"extraction.atomic-extraction-reply.projectRecord.aac5440fc2": {
|
|
1238
1235
|
"file": "packages/memory/src/engine/extraction/atomic-extraction-reply.ts",
|
|
1239
1236
|
"function": "projectRecord",
|
|
1240
1237
|
"line": 157,
|
|
1241
1238
|
"column": 3,
|
|
1242
|
-
"file_hash": "
|
|
1239
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1243
1240
|
},
|
|
1244
1241
|
"extraction.atomic-extraction-reply.projectRecord.b92c90f285": {
|
|
1245
1242
|
"file": "packages/memory/src/engine/extraction/atomic-extraction-reply.ts",
|
|
1246
1243
|
"function": "projectRecord",
|
|
1247
1244
|
"line": 164,
|
|
1248
1245
|
"column": 3,
|
|
1249
|
-
"file_hash": "
|
|
1246
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1250
1247
|
},
|
|
1251
1248
|
"extraction.atomic-extraction-reply.salvage_ids": {
|
|
1252
1249
|
"file": "packages/memory/src/engine/extraction/atomic-extraction-reply.ts",
|
|
1253
1250
|
"function": "parseAtomicCaptureReply",
|
|
1254
|
-
"line":
|
|
1251
|
+
"line": 319,
|
|
1255
1252
|
"column": 4,
|
|
1256
|
-
"file_hash": "
|
|
1253
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1257
1254
|
},
|
|
1258
1255
|
"extraction.atomic-extraction-reply.salvage_spans": {
|
|
1259
1256
|
"file": "packages/memory/src/engine/extraction/atomic-extraction-reply.ts",
|
|
1260
1257
|
"function": "parseAtomicCaptureReply",
|
|
1261
|
-
"line":
|
|
1258
|
+
"line": 324,
|
|
1262
1259
|
"column": 4,
|
|
1263
|
-
"file_hash": "
|
|
1260
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1264
1261
|
},
|
|
1265
1262
|
"extraction.atomic-extraction-reply.unresolved_enrichment_time": {
|
|
1266
1263
|
"file": "packages/memory/src/engine/extraction/atomic-extraction-reply.ts",
|
|
1267
1264
|
"function": "warnUnresolvedEnrichmentTime",
|
|
1268
|
-
"line":
|
|
1265
|
+
"line": 350,
|
|
1269
1266
|
"column": 3,
|
|
1270
|
-
"file_hash": "
|
|
1267
|
+
"file_hash": "f67c8fce474fc8cd1bc945ed4c941a8bad627faabafde35bc4600de914de97b2"
|
|
1271
1268
|
},
|
|
1272
1269
|
"extraction.atomic-generic-extractor.enrichAtomicBatch": {
|
|
1273
1270
|
"file": "packages/memory/src/engine/extraction/atomic-generic-extractor.ts",
|
|
@@ -1335,79 +1332,79 @@ const logSiteCatalog = {
|
|
|
1335
1332
|
"extraction.atomic-memory-extraction.extractAndPersist.7e1c9d2660": {
|
|
1336
1333
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1337
1334
|
"function": "extractAndPersist",
|
|
1338
|
-
"line":
|
|
1335
|
+
"line": 754,
|
|
1339
1336
|
"column": 4,
|
|
1340
|
-
"file_hash": "
|
|
1337
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1341
1338
|
},
|
|
1342
1339
|
"memory.capture.completed": {
|
|
1343
1340
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1344
1341
|
"function": "extractAndPersist",
|
|
1345
|
-
"line":
|
|
1342
|
+
"line": 911,
|
|
1346
1343
|
"column": 4,
|
|
1347
|
-
"file_hash": "
|
|
1344
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1348
1345
|
},
|
|
1349
1346
|
"extraction.atomic-memory-extraction.readStandingSubjectCandidates.b88c6fb3aa": {
|
|
1350
1347
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1351
1348
|
"function": "readStandingSubjectCandidates",
|
|
1352
|
-
"line":
|
|
1349
|
+
"line": 1049,
|
|
1353
1350
|
"column": 5,
|
|
1354
|
-
"file_hash": "
|
|
1351
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1355
1352
|
},
|
|
1356
1353
|
"extraction.atomic-memory-extraction.reaskStandingSubjects.1288498dec": {
|
|
1357
1354
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1358
1355
|
"function": "reaskStandingSubjects",
|
|
1359
|
-
"line":
|
|
1356
|
+
"line": 1303,
|
|
1360
1357
|
"column": 4,
|
|
1361
|
-
"file_hash": "
|
|
1358
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1362
1359
|
},
|
|
1363
1360
|
"extraction.atomic-memory-extraction.reaskStandingSubjects.2b8785b171": {
|
|
1364
1361
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1365
1362
|
"function": "reaskStandingSubjects",
|
|
1366
|
-
"line":
|
|
1363
|
+
"line": 1312,
|
|
1367
1364
|
"column": 2,
|
|
1368
|
-
"file_hash": "
|
|
1365
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1369
1366
|
},
|
|
1370
1367
|
"extraction.atomic-memory-extraction.runAtomicMemoryExtraction.304a5a8d5c": {
|
|
1371
1368
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1372
1369
|
"function": "runAtomicMemoryExtraction",
|
|
1373
|
-
"line":
|
|
1370
|
+
"line": 1582,
|
|
1374
1371
|
"column": 3,
|
|
1375
|
-
"file_hash": "
|
|
1372
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1376
1373
|
},
|
|
1377
1374
|
"extraction.atomic-memory-extraction.over_token_ceiling": {
|
|
1378
1375
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1379
1376
|
"function": "runAtomicMemoryExtraction",
|
|
1380
|
-
"line":
|
|
1377
|
+
"line": 1664,
|
|
1381
1378
|
"column": 3,
|
|
1382
|
-
"file_hash": "
|
|
1379
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1383
1380
|
},
|
|
1384
1381
|
"extraction.atomic-memory-extraction.runAtomicMemoryExtraction.0d9673d494": {
|
|
1385
1382
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1386
1383
|
"function": "runAtomicMemoryExtraction",
|
|
1387
|
-
"line":
|
|
1384
|
+
"line": 1738,
|
|
1388
1385
|
"column": 4,
|
|
1389
|
-
"file_hash": "
|
|
1386
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1390
1387
|
},
|
|
1391
1388
|
"memory.extraction.window.completed": {
|
|
1392
1389
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1393
1390
|
"function": "runAtomicMemoryExtraction",
|
|
1394
|
-
"line":
|
|
1391
|
+
"line": 1764,
|
|
1395
1392
|
"column": 3,
|
|
1396
|
-
"file_hash": "
|
|
1393
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1397
1394
|
},
|
|
1398
1395
|
"extraction.atomic-memory-extraction.judgeArrivalRetirementPair.call_failed": {
|
|
1399
1396
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1400
1397
|
"function": "judgeArrivalRetirementPair",
|
|
1401
|
-
"line":
|
|
1398
|
+
"line": 1801,
|
|
1402
1399
|
"column": 3,
|
|
1403
|
-
"file_hash": "
|
|
1400
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1404
1401
|
},
|
|
1405
1402
|
"extraction.atomic-memory-extraction.judgeArrivalRetirementPair.reply_invalid": {
|
|
1406
1403
|
"file": "packages/memory/src/engine/extraction/atomic-memory-extraction.ts",
|
|
1407
1404
|
"function": "judgeArrivalRetirementPair",
|
|
1408
|
-
"line":
|
|
1405
|
+
"line": 1809,
|
|
1409
1406
|
"column": 3,
|
|
1410
|
-
"file_hash": "
|
|
1407
|
+
"file_hash": "5f221e7113dda2bdc416f439d1e225fb46765e185d078f6d3062bc0075fe892e"
|
|
1411
1408
|
},
|
|
1412
1409
|
"extraction.atomic-progress-boundary.salvage_decisions": {
|
|
1413
1410
|
"file": "packages/memory/src/engine/extraction/atomic-progress-boundary.ts",
|
|
@@ -2455,121 +2452,121 @@ const logSiteCatalog = {
|
|
|
2455
2452
|
"shared.llm-client.resolveRequestTransport.8f631601af": {
|
|
2456
2453
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2457
2454
|
"function": "resolveRequestTransport",
|
|
2458
|
-
"line":
|
|
2455
|
+
"line": 413,
|
|
2459
2456
|
"column": 4,
|
|
2460
|
-
"file_hash": "
|
|
2457
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2461
2458
|
},
|
|
2462
2459
|
"shared.llm-client.resolveRequestTransport.ffa933b519": {
|
|
2463
2460
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2464
2461
|
"function": "resolveRequestTransport",
|
|
2465
|
-
"line":
|
|
2462
|
+
"line": 419,
|
|
2466
2463
|
"column": 4,
|
|
2467
|
-
"file_hash": "
|
|
2464
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2468
2465
|
},
|
|
2469
2466
|
"llm.host.request.completed": {
|
|
2470
2467
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2471
2468
|
"function": "requestContent",
|
|
2472
|
-
"line":
|
|
2469
|
+
"line": 472,
|
|
2473
2470
|
"column": 6,
|
|
2474
|
-
"file_hash": "
|
|
2471
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2475
2472
|
},
|
|
2476
2473
|
"llm.client.host_cancelled": {
|
|
2477
2474
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2478
2475
|
"function": "requestContent",
|
|
2479
|
-
"line":
|
|
2476
|
+
"line": 494,
|
|
2480
2477
|
"column": 5,
|
|
2481
|
-
"file_hash": "
|
|
2478
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2482
2479
|
},
|
|
2483
2480
|
"llm.client.host_error": {
|
|
2484
2481
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2485
2482
|
"function": "requestContent",
|
|
2486
|
-
"line":
|
|
2483
|
+
"line": 509,
|
|
2487
2484
|
"column": 5,
|
|
2488
|
-
"file_hash": "
|
|
2485
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2489
2486
|
},
|
|
2490
2487
|
"shared.llm-client.requestContent.ff17976562": {
|
|
2491
2488
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2492
2489
|
"function": "requestContent",
|
|
2493
|
-
"line":
|
|
2490
|
+
"line": 547,
|
|
2494
2491
|
"column": 5,
|
|
2495
|
-
"file_hash": "
|
|
2492
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2496
2493
|
},
|
|
2497
2494
|
"llm.client.raw_pipeline_failed": {
|
|
2498
2495
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2499
2496
|
"function": "requestContent",
|
|
2500
|
-
"line":
|
|
2497
|
+
"line": 570,
|
|
2501
2498
|
"column": 5,
|
|
2502
|
-
"file_hash": "
|
|
2499
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2503
2500
|
},
|
|
2504
2501
|
"llm.client.chat_pipeline_failed": {
|
|
2505
2502
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2506
2503
|
"function": "requestContent",
|
|
2507
|
-
"line":
|
|
2504
|
+
"line": 598,
|
|
2508
2505
|
"column": 4,
|
|
2509
|
-
"file_hash": "
|
|
2506
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2510
2507
|
},
|
|
2511
2508
|
"llm.client.empty_reply": {
|
|
2512
2509
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2513
2510
|
"function": "requestContent",
|
|
2514
|
-
"line":
|
|
2511
|
+
"line": 612,
|
|
2515
2512
|
"column": 4,
|
|
2516
|
-
"file_hash": "
|
|
2513
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2517
2514
|
},
|
|
2518
2515
|
"shared.llm-client.requestContentRetryingEmpty.cd874fefff": {
|
|
2519
2516
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2520
2517
|
"function": "requestContentRetryingEmpty",
|
|
2521
|
-
"line":
|
|
2518
|
+
"line": 655,
|
|
2522
2519
|
"column": 5,
|
|
2523
|
-
"file_hash": "
|
|
2520
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2524
2521
|
},
|
|
2525
2522
|
"llm.client.fallback.answered": {
|
|
2526
2523
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2527
2524
|
"function": "requestContentWithHostFallback",
|
|
2528
|
-
"line":
|
|
2525
|
+
"line": 711,
|
|
2529
2526
|
"column": 6,
|
|
2530
|
-
"file_hash": "
|
|
2527
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2531
2528
|
},
|
|
2532
2529
|
"llm.client.fallback.failed": {
|
|
2533
2530
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2534
2531
|
"function": "requestContentWithHostFallback",
|
|
2535
|
-
"line":
|
|
2532
|
+
"line": 728,
|
|
2536
2533
|
"column": 3,
|
|
2537
|
-
"file_hash": "
|
|
2534
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2538
2535
|
},
|
|
2539
2536
|
"llm.client.json.deadline_exhausted": {
|
|
2540
2537
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2541
2538
|
"function": "completeJson",
|
|
2542
|
-
"line":
|
|
2539
|
+
"line": 757,
|
|
2543
2540
|
"column": 7,
|
|
2544
|
-
"file_hash": "
|
|
2541
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2545
2542
|
},
|
|
2546
2543
|
"shared.llm-client.completeJson.e04c8e7e82": {
|
|
2547
2544
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2548
2545
|
"function": "completeJson",
|
|
2549
|
-
"line":
|
|
2546
|
+
"line": 773,
|
|
2550
2547
|
"column": 5,
|
|
2551
|
-
"file_hash": "
|
|
2548
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2552
2549
|
},
|
|
2553
2550
|
"llm.client.json.request_failed": {
|
|
2554
2551
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2555
2552
|
"function": "completeJson",
|
|
2556
|
-
"line":
|
|
2553
|
+
"line": 779,
|
|
2557
2554
|
"column": 5,
|
|
2558
|
-
"file_hash": "
|
|
2555
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2559
2556
|
},
|
|
2560
2557
|
"shared.llm-client.completeText.ffa933b519": {
|
|
2561
2558
|
"file": "packages/memory/src/model/llm-client.ts",
|
|
2562
2559
|
"function": "completeText",
|
|
2563
|
-
"line":
|
|
2560
|
+
"line": 803,
|
|
2564
2561
|
"column": 5,
|
|
2565
|
-
"file_hash": "
|
|
2562
|
+
"file_hash": "edf46e9d2b7aec1e71c7630f6d7b55d3fd4a1328fd82ecff0bf864fe8ec51d71"
|
|
2566
2563
|
},
|
|
2567
2564
|
"llm.transport.request.completed": {
|
|
2568
2565
|
"file": "packages/memory/src/model/llm-provider-transport.ts",
|
|
2569
2566
|
"function": "observeRequest",
|
|
2570
2567
|
"line": 84,
|
|
2571
2568
|
"column": 4,
|
|
2572
|
-
"file_hash": "
|
|
2569
|
+
"file_hash": "fb6b7573a0391e630d315f0797908c89c850381d12cd5382d3312ce99d0f3460"
|
|
2573
2570
|
},
|
|
2574
2571
|
"memory.host.degraded": {
|
|
2575
2572
|
"file": "packages/memory/src/model/registered-agent-port.ts",
|
|
@@ -2604,140 +2601,140 @@ const logSiteCatalog = {
|
|
|
2604
2601
|
"function": "engineLog",
|
|
2605
2602
|
"line": 62,
|
|
2606
2603
|
"column": 2,
|
|
2607
|
-
"file_hash": "
|
|
2604
|
+
"file_hash": "91ed13824d55b8f09b1e3095dacf1484c189b58ac8938cb522509fe2535c59a5"
|
|
2608
2605
|
},
|
|
2609
2606
|
"memory.sidecar.pending_capture.pruned": {
|
|
2610
2607
|
"file": "packages/memory/src/sidecar/memory-runtime.ts",
|
|
2611
2608
|
"function": "constructor",
|
|
2612
2609
|
"line": 115,
|
|
2613
2610
|
"column": 15,
|
|
2614
|
-
"file_hash": "
|
|
2611
|
+
"file_hash": "91ed13824d55b8f09b1e3095dacf1484c189b58ac8938cb522509fe2535c59a5"
|
|
2615
2612
|
},
|
|
2616
2613
|
"memory.sidecar.model.prepare.failed": {
|
|
2617
2614
|
"file": "packages/memory/src/sidecar/memory-runtime.ts",
|
|
2618
2615
|
"function": "prepareModel",
|
|
2619
2616
|
"line": 129,
|
|
2620
2617
|
"column": 4,
|
|
2621
|
-
"file_hash": "
|
|
2618
|
+
"file_hash": "91ed13824d55b8f09b1e3095dacf1484c189b58ac8938cb522509fe2535c59a5"
|
|
2622
2619
|
},
|
|
2623
2620
|
"memory.sidecar.pending_capture.replay.failed": {
|
|
2624
2621
|
"file": "packages/memory/src/sidecar/memory-runtime.ts",
|
|
2625
2622
|
"function": "invoke",
|
|
2626
|
-
"line":
|
|
2623
|
+
"line": 341,
|
|
2627
2624
|
"column": 65,
|
|
2628
|
-
"file_hash": "
|
|
2625
|
+
"file_hash": "91ed13824d55b8f09b1e3095dacf1484c189b58ac8938cb522509fe2535c59a5"
|
|
2629
2626
|
},
|
|
2630
2627
|
"memory.sidecar.usage.failed": {
|
|
2631
2628
|
"file": "packages/memory/src/sidecar/memory-runtime.ts",
|
|
2632
2629
|
"function": "<anonymous callback>",
|
|
2633
|
-
"line":
|
|
2630
|
+
"line": 461,
|
|
2634
2631
|
"column": 5,
|
|
2635
|
-
"file_hash": "
|
|
2632
|
+
"file_hash": "91ed13824d55b8f09b1e3095dacf1484c189b58ac8938cb522509fe2535c59a5"
|
|
2636
2633
|
},
|
|
2637
2634
|
"rem-batch-executor.onStageError.d5f24d50d3": {
|
|
2638
2635
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2639
2636
|
"function": "onStageError",
|
|
2640
2637
|
"line": 374,
|
|
2641
2638
|
"column": 6,
|
|
2642
|
-
"file_hash": "
|
|
2639
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2643
2640
|
},
|
|
2644
2641
|
"rem-batch-executor.runRemBatchJobUnlocked.55c52b91cf": {
|
|
2645
2642
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2646
2643
|
"function": "runRemBatchJobUnlocked",
|
|
2647
2644
|
"line": 521,
|
|
2648
2645
|
"column": 5,
|
|
2649
|
-
"file_hash": "
|
|
2646
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2650
2647
|
},
|
|
2651
2648
|
"sidecar.batch.completed": {
|
|
2652
2649
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2653
2650
|
"function": "runRemBatchJobUnlocked",
|
|
2654
2651
|
"line": 592,
|
|
2655
2652
|
"column": 4,
|
|
2656
|
-
"file_hash": "
|
|
2653
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2657
2654
|
},
|
|
2658
2655
|
"rem-batch-executor.openBatchRuntime.86fa720e8f": {
|
|
2659
2656
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2660
2657
|
"function": "openBatchRuntime",
|
|
2661
2658
|
"line": 658,
|
|
2662
2659
|
"column": 3,
|
|
2663
|
-
"file_hash": "
|
|
2660
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2664
2661
|
},
|
|
2665
2662
|
"rem-batch-executor.onProviderResponse.df4f2d4fa1": {
|
|
2666
2663
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2667
2664
|
"function": "onProviderResponse",
|
|
2668
2665
|
"line": 682,
|
|
2669
2666
|
"column": 5,
|
|
2670
|
-
"file_hash": "
|
|
2667
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2671
2668
|
},
|
|
2672
2669
|
"rem-batch-executor.runUpdate.dbf2a836db": {
|
|
2673
2670
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2674
2671
|
"function": "runUpdate",
|
|
2675
2672
|
"line": 940,
|
|
2676
2673
|
"column": 3,
|
|
2677
|
-
"file_hash": "
|
|
2674
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2678
2675
|
},
|
|
2679
2676
|
"rem-batch-executor.runUpdate.7dfc387204": {
|
|
2680
2677
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2681
2678
|
"function": "runUpdate",
|
|
2682
2679
|
"line": 1018,
|
|
2683
2680
|
"column": 4,
|
|
2684
|
-
"file_hash": "
|
|
2681
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2685
2682
|
},
|
|
2686
2683
|
"rem-batch-executor.runUpdate.7ffc737c24": {
|
|
2687
2684
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2688
2685
|
"function": "runUpdate",
|
|
2689
2686
|
"line": 1065,
|
|
2690
2687
|
"column": 4,
|
|
2691
|
-
"file_hash": "
|
|
2688
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2692
2689
|
},
|
|
2693
2690
|
"rem-batch-executor.runReplace.e1e35e40e9": {
|
|
2694
2691
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2695
2692
|
"function": "runReplace",
|
|
2696
2693
|
"line": 2414,
|
|
2697
2694
|
"column": 3,
|
|
2698
|
-
"file_hash": "
|
|
2695
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2699
2696
|
},
|
|
2700
2697
|
"rem-batch-executor.runReplace.de3a5f3ce3": {
|
|
2701
2698
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2702
2699
|
"function": "runReplace",
|
|
2703
2700
|
"line": 2622,
|
|
2704
2701
|
"column": 4,
|
|
2705
|
-
"file_hash": "
|
|
2702
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2706
2703
|
},
|
|
2707
2704
|
"rem-batch-executor.runReplace.e4be8cfe8f": {
|
|
2708
2705
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2709
2706
|
"function": "runReplace",
|
|
2710
2707
|
"line": 2868,
|
|
2711
2708
|
"column": 4,
|
|
2712
|
-
"file_hash": "
|
|
2709
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2713
2710
|
},
|
|
2714
2711
|
"memory.rem.refusal.release_failed": {
|
|
2715
2712
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2716
2713
|
"function": "runReplace",
|
|
2717
2714
|
"line": 2993,
|
|
2718
2715
|
"column": 6,
|
|
2719
|
-
"file_hash": "
|
|
2716
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2720
2717
|
},
|
|
2721
2718
|
"rem-batch-executor.buildRemReplaceCandidateQueue.25aa1a67a6": {
|
|
2722
2719
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2723
2720
|
"function": "buildRemReplaceCandidateQueue",
|
|
2724
2721
|
"line": 3222,
|
|
2725
2722
|
"column": 3,
|
|
2726
|
-
"file_hash": "
|
|
2723
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2727
2724
|
},
|
|
2728
2725
|
"rem-batch-executor.buildRemReplaceCandidateQueue.lookup_failed": {
|
|
2729
2726
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2730
2727
|
"function": "buildRemReplaceCandidateQueue",
|
|
2731
2728
|
"line": 3304,
|
|
2732
2729
|
"column": 3,
|
|
2733
|
-
"file_hash": "
|
|
2730
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2734
2731
|
},
|
|
2735
2732
|
"rem-batch-executor.reserveReplaceStage.4e67e45fd5": {
|
|
2736
2733
|
"file": "packages/memory/src/sidecar/rem-batch-executor.ts",
|
|
2737
2734
|
"function": "reserveReplaceStage",
|
|
2738
2735
|
"line": 3751,
|
|
2739
2736
|
"column": 2,
|
|
2740
|
-
"file_hash": "
|
|
2737
|
+
"file_hash": "95c82d4fa8fff7b00ec0c2e8e5ba6398be530ad806bd243d473c36bd0e6a3f89"
|
|
2741
2738
|
},
|
|
2742
2739
|
"rem-job-store.readCompletedJobs.invalid-line": {
|
|
2743
2740
|
"file": "packages/memory/src/sidecar/rem-job-store.ts",
|
|
@@ -3357,8 +3354,7 @@ const logSiteCatalog = {
|
|
|
3357
3354
|
}
|
|
3358
3355
|
}
|
|
3359
3356
|
};
|
|
3360
|
-
|
|
3361
|
-
//#region src/engine/observability/runtime-diagnostics.ts
|
|
3357
|
+
// src/engine/observability/runtime-diagnostics.ts
|
|
3362
3358
|
const APPLICATION_NAME = "sno-station-mem";
|
|
3363
3359
|
const log$15 = createLogger("sno-station-mem:runtime");
|
|
3364
3360
|
let snapshotEmitted = false;
|
|
@@ -3443,8 +3439,7 @@ function emitRuntimeStartSnapshot(input) {
|
|
|
3443
3439
|
site_id: "runtime.process.started"
|
|
3444
3440
|
});
|
|
3445
3441
|
}
|
|
3446
|
-
|
|
3447
|
-
//#region src/contract/inputs.ts
|
|
3442
|
+
// src/contract/inputs.ts
|
|
3448
3443
|
const nonempty = z.string().min(1).refine((value) => value.trim().length > 0);
|
|
3449
3444
|
const timestamp = z.number().finite().nonnegative();
|
|
3450
3445
|
const category = z.enum(MEMORY_CATEGORIES);
|
|
@@ -3692,8 +3687,7 @@ const inputSchemas = {
|
|
|
3692
3687
|
}),
|
|
3693
3688
|
staticBlock: z.object({ scope: scopeSchema })
|
|
3694
3689
|
};
|
|
3695
|
-
|
|
3696
|
-
//#region src/contract/results.ts
|
|
3690
|
+
// src/contract/results.ts
|
|
3697
3691
|
const memoryEntrySchema = z.strictObject({
|
|
3698
3692
|
id: z.string().min(1),
|
|
3699
3693
|
factId: z.string().optional(),
|
|
@@ -3894,8 +3888,7 @@ z.object({
|
|
|
3894
3888
|
])
|
|
3895
3889
|
}).optional()
|
|
3896
3890
|
});
|
|
3897
|
-
|
|
3898
|
-
//#region src/contract/index.ts
|
|
3891
|
+
// src/contract/index.ts
|
|
3899
3892
|
function parseInput(method, input) {
|
|
3900
3893
|
const parsed = inputSchemas[method].safeParse(input);
|
|
3901
3894
|
if (!parsed.success) throw new ContractError("invalid-input");
|
|
@@ -3906,8 +3899,7 @@ function parseOutput(method, output) {
|
|
|
3906
3899
|
if (!parsed.success) throw new ContractError("engine-failed");
|
|
3907
3900
|
return parsed.data;
|
|
3908
3901
|
}
|
|
3909
|
-
|
|
3910
|
-
//#region src/engine/provider/canonical-memory-corpus.ts
|
|
3902
|
+
// src/engine/provider/canonical-memory-corpus.ts
|
|
3911
3903
|
/** @file canonical-memory-corpus.ts
|
|
3912
3904
|
* @purpose Searches and reads the built-in SnoStationMem canonical memory Markdown corpus.
|
|
3913
3905
|
* @boundary Only exposes root MEMORY.md and ordinary Markdown files under memory/ in one workspace.
|
|
@@ -4150,8 +4142,7 @@ async function readCanonicalMemoryFile(params) {
|
|
|
4150
4142
|
lines: requested
|
|
4151
4143
|
};
|
|
4152
4144
|
}
|
|
4153
|
-
|
|
4154
|
-
//#region src/engine/provider/provider-row-renderer.ts
|
|
4145
|
+
// src/engine/provider/provider-row-renderer.ts
|
|
4155
4146
|
const PROVIDER_ROW_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
4156
4147
|
function sortJson(value) {
|
|
4157
4148
|
if (Array.isArray(value)) return value.map(sortJson);
|
|
@@ -4197,8 +4188,7 @@ function renderProviderRowMemory(entry) {
|
|
|
4197
4188
|
""
|
|
4198
4189
|
].join("\n");
|
|
4199
4190
|
}
|
|
4200
|
-
|
|
4201
|
-
//#region src/engine/provider/provider-search-manager.ts
|
|
4191
|
+
// src/engine/provider/provider-search-manager.ts
|
|
4202
4192
|
const diagnosticLog$11 = createLogger("sno-station-mem:provider-search-manager");
|
|
4203
4193
|
const ROW_PATH_RE = FIXED_MEMORY_ROW_PATH_PATTERN;
|
|
4204
4194
|
const DEFAULT_SEARCH_LIMIT = 10;
|
|
@@ -4607,8 +4597,7 @@ var SnoStationMemProviderSearchManager = class {
|
|
|
4607
4597
|
}
|
|
4608
4598
|
}
|
|
4609
4599
|
};
|
|
4610
|
-
|
|
4611
|
-
//#region src/engine/shared/lru.ts
|
|
4600
|
+
// src/engine/shared/lru.ts
|
|
4612
4601
|
/** @file lru.ts
|
|
4613
4602
|
* @purpose Provides a small bounded cache primitive for hot-path runtime state.
|
|
4614
4603
|
* @boundary In-memory capacity limits and deterministic eviction behavior.
|
|
@@ -4636,8 +4625,7 @@ function setLruEntry(map, key, value, maxEntries) {
|
|
|
4636
4625
|
map.set(key, value);
|
|
4637
4626
|
pruneOldestEntries(map, maxEntries);
|
|
4638
4627
|
}
|
|
4639
|
-
|
|
4640
|
-
//#region src/engine/provider/provider-authority.ts
|
|
4628
|
+
// src/engine/provider/provider-authority.ts
|
|
4641
4629
|
/** @file provider-authority.ts
|
|
4642
4630
|
* @purpose Resolves SnoStationMem external project/agent keys to internal provider authority.
|
|
4643
4631
|
* @boundary SQLite mapping tables and project-agent membership checks.
|
|
@@ -4780,8 +4768,7 @@ async function resolveProviderIdentity(params) {
|
|
|
4780
4768
|
workspaceDir
|
|
4781
4769
|
};
|
|
4782
4770
|
}
|
|
4783
|
-
|
|
4784
|
-
//#region src/engine/i18n/detector.ts
|
|
4771
|
+
// src/engine/i18n/detector.ts
|
|
4785
4772
|
const log$14 = createLogger("sno-station-mem:i18n-detector");
|
|
4786
4773
|
const HAS_HAN = /[一-鿿]/u;
|
|
4787
4774
|
const HANT_DISTINCT_CHARS = "說講識讀譯長寫關類體聖貝謊議證讓訊為";
|
|
@@ -4844,8 +4831,7 @@ function detectLocale(text) {
|
|
|
4844
4831
|
return;
|
|
4845
4832
|
}
|
|
4846
4833
|
}
|
|
4847
|
-
|
|
4848
|
-
//#region src/engine/i18n/resolver.ts
|
|
4834
|
+
// src/engine/i18n/resolver.ts
|
|
4849
4835
|
const SHORT_TEXT_BYPASS_CHARS = 8;
|
|
4850
4836
|
const SESSION_ID_MAX_CHARS = 256;
|
|
4851
4837
|
const sessionCache = new LRUCache({
|
|
@@ -4878,8 +4864,7 @@ function resolveLocale({ text, sessionId, explicitLocale }) {
|
|
|
4878
4864
|
if (cacheKey) sessionCache.set(cacheKey, { locale: detected });
|
|
4879
4865
|
return detected;
|
|
4880
4866
|
}
|
|
4881
|
-
|
|
4882
|
-
//#region src/engine/retrieval/retrieval-gate.ts
|
|
4867
|
+
// src/engine/retrieval/retrieval-gate.ts
|
|
4883
4868
|
/** @file retrieval-gate.ts
|
|
4884
4869
|
* @purpose Decides whether a query needs memory retrieval at all (skip vs proceed).
|
|
4885
4870
|
* @boundary Intent analysis, temporal classification, and retrieval configuration.
|
|
@@ -4902,8 +4887,7 @@ function normalizeQuery(raw) {
|
|
|
4902
4887
|
q = q.replace(/\[\w{3}\s+\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?:\s+[\w/+-]+)?\]\s*/g, "");
|
|
4903
4888
|
return q.trim();
|
|
4904
4889
|
}
|
|
4905
|
-
|
|
4906
|
-
//#region src/engine/extraction/confusable-skeleton.ts
|
|
4890
|
+
// src/engine/extraction/confusable-skeleton.ts
|
|
4907
4891
|
/** @file confusable-skeleton.ts
|
|
4908
4892
|
* @purpose Normalizes common Unicode confusables before prompt-injection checks.
|
|
4909
4893
|
*/
|
|
@@ -4955,8 +4939,7 @@ const CONFUSABLES = {
|
|
|
4955
4939
|
function buildConfusableSkeleton(text) {
|
|
4956
4940
|
return Array.from(text.normalize("NFKC"), (char) => CONFUSABLES[char] ?? char).join("");
|
|
4957
4941
|
}
|
|
4958
|
-
|
|
4959
|
-
//#region src/engine/extraction/capture-policy-detector.ts
|
|
4942
|
+
// src/engine/extraction/capture-policy-detector.ts
|
|
4960
4943
|
const PROMPT_INJECTION_PATTERNS = [
|
|
4961
4944
|
/\bignore\b.{0,30}\b(all|any|previous|above|prior)\b.{0,30}\binstructions?\b/,
|
|
4962
4945
|
/\b(forget|disregard|discard|override|bypass)\b.{0,30}\b(previous|prior|above|system|developer)\b.{0,30}\b(instructions?|directions?|messages?|rules?)\b/,
|
|
@@ -5170,8 +5153,7 @@ function detectCategory(text, options = {}) {
|
|
|
5170
5153
|
return detectCategoryVote(text, options).category;
|
|
5171
5154
|
}
|
|
5172
5155
|
createLogger("sno-station-mem:daily-spend-estimator");
|
|
5173
|
-
|
|
5174
|
-
//#region src/engine/operations/learning-file-maintenance.ts
|
|
5156
|
+
// src/engine/operations/learning-file-maintenance.ts
|
|
5175
5157
|
/** @file learning-file-maintenance.ts
|
|
5176
5158
|
* @purpose Manages learning files and skill extraction artifacts for improvement loops.
|
|
5177
5159
|
* @boundary Filesystem layout, markdown records, and promotion state.
|
|
@@ -5419,8 +5401,7 @@ async function appendSelfImprovementEntry(params) {
|
|
|
5419
5401
|
filePath
|
|
5420
5402
|
};
|
|
5421
5403
|
}
|
|
5422
|
-
|
|
5423
|
-
//#region src/engine/retrieval/intent-analyzer.ts
|
|
5404
|
+
// src/engine/retrieval/intent-analyzer.ts
|
|
5424
5405
|
/** @file intent-analyzer.ts
|
|
5425
5406
|
* @purpose Renders a recalled memory as one line of text for context injection.
|
|
5426
5407
|
* @boundary Pure formatting; no query parsing, no pattern banks, no locale rules.
|
|
@@ -5445,8 +5426,7 @@ function formatAtDepth(entry, score, _index, extra) {
|
|
|
5445
5426
|
const datePrefix = extra?.eventDate ? `[${extra.eventDate}] ` : "";
|
|
5446
5427
|
return `- [${entry.category}] ${datePrefix}${safe} (${scoreStr}${sourceTag})`;
|
|
5447
5428
|
}
|
|
5448
|
-
|
|
5449
|
-
//#region src/engine/bindings/memory-tool-access.ts
|
|
5429
|
+
// src/engine/bindings/memory-tool-access.ts
|
|
5450
5430
|
function assertAccessibleScope(scopePolicy, scope, agentId) {
|
|
5451
5431
|
const normalized = scope.trim();
|
|
5452
5432
|
if (!scopePolicy.validateScope(normalized) || !scopePolicy.isAccessible(normalized, agentId)) throw new SnoStationMemError("invalid_scope", `Scope not accessible: ${normalized}`);
|
|
@@ -5484,8 +5464,7 @@ function getDefaultScopeForTool(scopePolicy, access) {
|
|
|
5484
5464
|
if (hasMissingToolIdentity(access)) throw new SnoStationMemError("invalid_scope", "No accessible scope available for memory_store.");
|
|
5485
5465
|
return assertAccessibleScope(scopePolicy, scopePolicy.getDefaultScope(access.agentId), access.agentId);
|
|
5486
5466
|
}
|
|
5487
|
-
|
|
5488
|
-
//#region src/engine/bindings/memory-tool-formatting.ts
|
|
5467
|
+
// src/engine/bindings/memory-tool-formatting.ts
|
|
5489
5468
|
/** @file memory-tool-formatting.ts
|
|
5490
5469
|
* @purpose Converts memory entries into safe user-visible tool output.
|
|
5491
5470
|
* @boundary Metadata parsing, recalled-text sanitization, and serialization only.
|
|
@@ -5555,8 +5534,7 @@ function serializeMemory(entry) {
|
|
|
5555
5534
|
timestamp: new Date(entry.timestamp).toISOString()
|
|
5556
5535
|
};
|
|
5557
5536
|
}
|
|
5558
|
-
|
|
5559
|
-
//#region src/engine/bindings/memory-tool-results.ts
|
|
5537
|
+
// src/engine/bindings/memory-tool-results.ts
|
|
5560
5538
|
/** @file memory-tool-results.ts
|
|
5561
5539
|
* @purpose Normalizes tool success, audit, and error envelopes.
|
|
5562
5540
|
* @boundary Result construction and error conversion only.
|
|
@@ -5592,8 +5570,7 @@ async function runWithAudit(_ctx, _tool, _scope, run) {
|
|
|
5592
5570
|
return makeResult(normalized.message, { errorCode: normalized.code }, true);
|
|
5593
5571
|
}
|
|
5594
5572
|
}
|
|
5595
|
-
|
|
5596
|
-
//#region src/engine/bindings/memory-tool-schemas.ts
|
|
5573
|
+
// src/engine/bindings/memory-tool-schemas.ts
|
|
5597
5574
|
const TOOL_CATEGORY_INPUTS = [...MEMORY_CATEGORIES];
|
|
5598
5575
|
const toolCategoryInputSchema = z$1.enum(TOOL_CATEGORY_INPUTS);
|
|
5599
5576
|
const recallParamsSchema = z$1.object({
|
|
@@ -5664,8 +5641,7 @@ z$1.object({
|
|
|
5664
5641
|
offset: z$1.number().int().optional(),
|
|
5665
5642
|
importance_min: z$1.number().optional()
|
|
5666
5643
|
});
|
|
5667
|
-
|
|
5668
|
-
//#region src/engine/retrieval/recall-token-packer.ts
|
|
5644
|
+
// src/engine/retrieval/recall-token-packer.ts
|
|
5669
5645
|
/** @file recall-token-packer.ts
|
|
5670
5646
|
* @purpose Packs recall rows into a character-estimated token budget without changing rank order.
|
|
5671
5647
|
* @boundary Pure row selection and budget accounting; no retrieval or rendering.
|
|
@@ -5700,8 +5676,7 @@ function packRecallRows(rows, rowText, tokenBudget = DEFAULT_RECALL_TOKEN_BUDGET
|
|
|
5700
5676
|
dropped_count: droppedCount
|
|
5701
5677
|
};
|
|
5702
5678
|
}
|
|
5703
|
-
|
|
5704
|
-
//#region src/engine/retrieval/rem-consumer-retrieval.ts
|
|
5679
|
+
// src/engine/retrieval/rem-consumer-retrieval.ts
|
|
5705
5680
|
const GROUP_CRUD_MAINTENANCE_RECEIPT = "group-crud-maintenance-v1";
|
|
5706
5681
|
function parseRecallMetadata(metadata) {
|
|
5707
5682
|
if (typeof metadata === "string") try {
|
|
@@ -5909,8 +5884,7 @@ async function retrieveForMemoryRecallOrEval(retriever, input) {
|
|
|
5909
5884
|
function packManualRecallRows(rows, tokenBudget) {
|
|
5910
5885
|
return packRecallRows(rows, (row) => row.snippet?.trim() || row.entry.text, tokenBudget, (row) => row.recallGroupKey);
|
|
5911
5886
|
}
|
|
5912
|
-
|
|
5913
|
-
//#region src/engine/bindings/memory-recall-tool.ts
|
|
5887
|
+
// src/engine/bindings/memory-recall-tool.ts
|
|
5914
5888
|
const log$12 = createLogger("sno-station-mem:memory-recall-tool");
|
|
5915
5889
|
function appendStructuredRecallContent(result) {
|
|
5916
5890
|
const count = result.details["count"];
|
|
@@ -6178,8 +6152,7 @@ async function executeMemoryRecallTool(ctx, access, _toolCallId, params, options
|
|
|
6178
6152
|
}
|
|
6179
6153
|
});
|
|
6180
6154
|
}
|
|
6181
|
-
|
|
6182
|
-
//#region src/engine/extraction/atomic-temporal-normalization.ts
|
|
6155
|
+
// src/engine/extraction/atomic-temporal-normalization.ts
|
|
6183
6156
|
function normalizeAtomicTemporalRecord(input) {
|
|
6184
6157
|
const { record, sessionDateTime, sessionTimezone } = input;
|
|
6185
6158
|
return {
|
|
@@ -6188,8 +6161,7 @@ function normalizeAtomicTemporalRecord(input) {
|
|
|
6188
6161
|
endedAt: record.endsCurrent ? calculateCalendarTime(record.endedTime, sessionDateTime, sessionTimezone) : null
|
|
6189
6162
|
};
|
|
6190
6163
|
}
|
|
6191
|
-
|
|
6192
|
-
//#region src/engine/extraction/atomic-replacement-sanitizer.ts
|
|
6164
|
+
// src/engine/extraction/atomic-replacement-sanitizer.ts
|
|
6193
6165
|
/** @file atomic-replacement-sanitizer.ts
|
|
6194
6166
|
* @purpose Replaces injection-shaped spans without removing their containing text.
|
|
6195
6167
|
* @boundary Atomic extraction model inputs, model outputs, and stored-memory prompt rendering.
|
|
@@ -6414,8 +6386,7 @@ function renderAtomicPromptData(value, locale = "en") {
|
|
|
6414
6386
|
matched: sanitized.matched
|
|
6415
6387
|
};
|
|
6416
6388
|
}
|
|
6417
|
-
|
|
6418
|
-
//#region src/engine/extraction/atomic-extraction-gauntlet.ts
|
|
6389
|
+
// src/engine/extraction/atomic-extraction-gauntlet.ts
|
|
6419
6390
|
/** @file atomic-extraction-gauntlet.ts
|
|
6420
6391
|
* @purpose Applies deterministic addressing, attribution, atomicity, and span checks.
|
|
6421
6392
|
* @boundary Dark post-processing before profile keying, subject guard, suppression, and persistence.
|
|
@@ -6517,8 +6488,7 @@ async function runAtomicExtractionGauntlet(input) {
|
|
|
6517
6488
|
...suspects.map((record) => normalizeTemporal(processRecord(record, input.turns, locale, true, true)))
|
|
6518
6489
|
];
|
|
6519
6490
|
}
|
|
6520
|
-
|
|
6521
|
-
//#region src/engine/extraction/attribute-slug-matcher.ts
|
|
6491
|
+
// src/engine/extraction/attribute-slug-matcher.ts
|
|
6522
6492
|
/** @file attribute-slug-matcher.ts
|
|
6523
6493
|
* @purpose Resolves an emitted attribute name to a canonical dictionary slug.
|
|
6524
6494
|
* @boundary Pure resolution over the committed dictionary artifact; no model call, no storage.
|
|
@@ -6633,8 +6603,7 @@ function resolveAttributeSlug(index, emitted) {
|
|
|
6633
6603
|
if (family.length === 0 || familyOf(match.slug) === family) return match;
|
|
6634
6604
|
}
|
|
6635
6605
|
}
|
|
6636
|
-
|
|
6637
|
-
//#region src/engine/extraction/retired-position-judgment-skill.ts
|
|
6606
|
+
// src/engine/extraction/retired-position-judgment-skill.ts
|
|
6638
6607
|
/** @file retired-position-judgment-skill.ts
|
|
6639
6608
|
* @purpose Loads the model-readable retired-position judgment method shipped with the plugin.
|
|
6640
6609
|
* @boundary Package-relative read of one trusted bundled skill.
|
|
@@ -6665,8 +6634,7 @@ const RETIRED_POSITION_JUDGMENT_SKILL = {
|
|
|
6665
6634
|
currentPositionMatch: readSection$1("Current Position Match"),
|
|
6666
6635
|
retirementRecheck: readSection$1("Retirement Recheck")
|
|
6667
6636
|
};
|
|
6668
|
-
|
|
6669
|
-
//#region src/engine/extraction/retire-by-name.ts
|
|
6637
|
+
// src/engine/extraction/retire-by-name.ts
|
|
6670
6638
|
/** @file retire-by-name.ts
|
|
6671
6639
|
* @purpose Extends one profile-owned retirement to model-named current-position rows.
|
|
6672
6640
|
* @boundary Extraction-triggered shortlist, judgment, and metadata-only invalidation writes.
|
|
@@ -6861,8 +6829,7 @@ async function retireRowsByName(params) {
|
|
|
6861
6829
|
completed
|
|
6862
6830
|
};
|
|
6863
6831
|
}
|
|
6864
|
-
|
|
6865
|
-
//#region src/engine/extraction/task-lifecycle-judgment-skill.ts
|
|
6832
|
+
// src/engine/extraction/task-lifecycle-judgment-skill.ts
|
|
6866
6833
|
/** @file task-lifecycle-judgment-skill.ts
|
|
6867
6834
|
* @purpose Loads the model-readable active-task judgment method shipped with the plugin.
|
|
6868
6835
|
* @boundary Package-relative read of one trusted bundled skill.
|
|
@@ -6895,8 +6862,7 @@ const TASK_LIFECYCLE_JUDGMENT_SKILL = {
|
|
|
6895
6862
|
activeTaskState: [readSection(atomicSkillText, "To-do Boundary"), readSection(taskSkillText, "Active Task State")].join("\n\n"),
|
|
6896
6863
|
existingTaskRelation: readSection(taskSkillText, "Existing Task Relation")
|
|
6897
6864
|
};
|
|
6898
|
-
|
|
6899
|
-
//#region src/engine/extraction/task-lifecycle-route.ts
|
|
6865
|
+
// src/engine/extraction/task-lifecycle-route.ts
|
|
6900
6866
|
/** @file task-lifecycle-route.ts
|
|
6901
6867
|
* @purpose Routes one typed task assertion through admission, bounded judgment, and atomic storage.
|
|
6902
6868
|
* @boundary The only production task mutation ingress; models may select only an admitted identifier.
|
|
@@ -7227,8 +7193,7 @@ async function routeTaskLifecycleAssertion(input) {
|
|
|
7227
7193
|
conflictRetries: 0
|
|
7228
7194
|
};
|
|
7229
7195
|
}
|
|
7230
|
-
|
|
7231
|
-
//#region src/engine/extraction/profile-section-writer.ts
|
|
7196
|
+
// src/engine/extraction/profile-section-writer.ts
|
|
7232
7197
|
/** @file profile-section-writer.ts
|
|
7233
7198
|
* @purpose Mutation-native profile section writer for current-state memory.
|
|
7234
7199
|
* @boundary Owns profile rows only; no retrieval injection or conflict scan.
|
|
@@ -8763,8 +8728,7 @@ function normalizeExactAssertionText(text) {
|
|
|
8763
8728
|
function firstSentence$1(text) {
|
|
8764
8729
|
return text.split(/(?<=[.!?])\s+/)[0]?.trim() || text;
|
|
8765
8730
|
}
|
|
8766
|
-
|
|
8767
|
-
//#region src/engine/extraction/b-profile-projection.ts
|
|
8731
|
+
// src/engine/extraction/b-profile-projection.ts
|
|
8768
8732
|
/** @file b-profile-projection.ts
|
|
8769
8733
|
* @purpose Projects B-profile model candidates without destroying content-bearing records.
|
|
8770
8734
|
* @boundary Pure validation and projection only; no transport, persistence, or pipeline wiring.
|
|
@@ -9053,8 +9017,7 @@ function codePointLength(value) {
|
|
|
9053
9017
|
function takeCodePoints(value, max) {
|
|
9054
9018
|
return [...value].slice(0, max).join("");
|
|
9055
9019
|
}
|
|
9056
|
-
|
|
9057
|
-
//#region src/engine/shared/transcript-role-codec.ts
|
|
9020
|
+
// src/engine/shared/transcript-role-codec.ts
|
|
9058
9021
|
const TRANSCRIPT_ROLES = [
|
|
9059
9022
|
"system",
|
|
9060
9023
|
"user",
|
|
@@ -9078,8 +9041,7 @@ function unescapeTranscriptRoleContinuation(line) {
|
|
|
9078
9041
|
const escaped = line.slice(1);
|
|
9079
9042
|
return line.startsWith(ROLE_ESCAPE) && startsWithRoleLabel(escaped) ? escaped : line;
|
|
9080
9043
|
}
|
|
9081
|
-
|
|
9082
|
-
//#region src/engine/extraction/b-profile-extraction.ts
|
|
9044
|
+
// src/engine/extraction/b-profile-extraction.ts
|
|
9083
9045
|
/** @file b-profile-extraction.ts
|
|
9084
9046
|
* @purpose Runs the REM B-profile extraction lane, one user turn per call.
|
|
9085
9047
|
* @boundary Turn selection, contract-shaped rendering, reply classification, and retry only.
|
|
@@ -9340,8 +9302,7 @@ async function extractBProfileCandidatesFromChunk(input) {
|
|
|
9340
9302
|
cleanEmptyModelResult: answeredTurns > 0 && emptyModelResults === answeredTurns
|
|
9341
9303
|
};
|
|
9342
9304
|
}
|
|
9343
|
-
|
|
9344
|
-
//#region src/engine/extraction/atomic-profile-keying.ts
|
|
9305
|
+
// src/engine/extraction/atomic-profile-keying.ts
|
|
9345
9306
|
/** @file atomic-profile-keying.ts
|
|
9346
9307
|
* @purpose Runs the profile adapter once per user turn and lets it fill a base record's missing key.
|
|
9347
9308
|
* @boundary Dark call-2 flow only; no storage writes or live extraction routing.
|
|
@@ -9578,8 +9539,7 @@ async function runAtomicProfileKeying(input) {
|
|
|
9578
9539
|
}
|
|
9579
9540
|
return output;
|
|
9580
9541
|
}
|
|
9581
|
-
|
|
9582
|
-
//#region src/engine/extraction/atomic-generic-extractor.ts
|
|
9542
|
+
// src/engine/extraction/atomic-generic-extractor.ts
|
|
9583
9543
|
/** @file atomic-generic-extractor.ts
|
|
9584
9544
|
* @purpose Runs the dark generic atomic extraction pass over complete transcript windows.
|
|
9585
9545
|
* @boundary Capture and serial enrichment batches with retries; no writes or gauntlet stages.
|
|
@@ -10231,8 +10191,7 @@ async function captureAtomicWindow(input, outputTokenBudget, attempts) {
|
|
|
10231
10191
|
failedReply: lastReply
|
|
10232
10192
|
};
|
|
10233
10193
|
}
|
|
10234
|
-
|
|
10235
|
-
//#region src/engine/extraction/entity-identity-judgment.ts
|
|
10194
|
+
// src/engine/extraction/entity-identity-judgment.ts
|
|
10236
10195
|
/** @file entity-identity-judgment.ts
|
|
10237
10196
|
* @purpose Resolves unseen entity names through the shipped identity judgment skill.
|
|
10238
10197
|
* @boundary The model judges; this module selects candidates, validates, journals, and applies.
|
|
@@ -10362,8 +10321,7 @@ async function resolveAtomicEntityIdentity(input) {
|
|
|
10362
10321
|
}
|
|
10363
10322
|
};
|
|
10364
10323
|
}
|
|
10365
|
-
|
|
10366
|
-
//#region src/engine/extraction/atomic-subject-guard.ts
|
|
10324
|
+
// src/engine/extraction/atomic-subject-guard.ts
|
|
10367
10325
|
/** @file atomic-subject-guard.ts
|
|
10368
10326
|
* @purpose Repairs missing profile halves, then guards every user-subject profile in one batch.
|
|
10369
10327
|
* @boundary Dark flow after profile keying only; no storage writes or live extraction routing.
|
|
@@ -10657,8 +10615,7 @@ function buildAtomicWriteCards(input) {
|
|
|
10657
10615
|
};
|
|
10658
10616
|
});
|
|
10659
10617
|
}
|
|
10660
|
-
|
|
10661
|
-
//#region src/store/todo-store.ts
|
|
10618
|
+
// src/store/todo-store.ts
|
|
10662
10619
|
function countTodoTransitionsWithoutSource(database) {
|
|
10663
10620
|
const row = database.prepare(`SELECT COUNT(*) AS count
|
|
10664
10621
|
FROM nodix_active_task_transitions AS transition_row
|
|
@@ -10673,8 +10630,7 @@ function countTodoTransitionsWithoutSource(database) {
|
|
|
10673
10630
|
) IS NULL`).get();
|
|
10674
10631
|
return Number(row.count);
|
|
10675
10632
|
}
|
|
10676
|
-
|
|
10677
|
-
//#region src/engine/extraction/atomic-memory-extraction.ts
|
|
10633
|
+
// src/engine/extraction/atomic-memory-extraction.ts
|
|
10678
10634
|
/** @file atomic-memory-extraction.ts
|
|
10679
10635
|
* @purpose Runs the complete dark atomic extraction path through its one storage door.
|
|
10680
10636
|
* @boundary Product entrypoint; callers supply chunk identity, routing snapshot, and idempotency.
|
|
@@ -10885,10 +10841,49 @@ function parseAtomicConversationTurns(conversationText) {
|
|
|
10885
10841
|
if (current) turns.push(current);
|
|
10886
10842
|
return turns;
|
|
10887
10843
|
}
|
|
10844
|
+
/**
|
|
10845
|
+
* A capture carries a whole session, so one window over the input budget would be left pending
|
|
10846
|
+
* unextracted: cut it into consecutive windows of whole user-started groups that each fit. A single
|
|
10847
|
+
* group over the budget stays alone.
|
|
10848
|
+
*/
|
|
10849
|
+
function captureBatchWindows(turns, userIndexes) {
|
|
10850
|
+
const window = (from, until) => ({
|
|
10851
|
+
turns: turns.slice(from, until),
|
|
10852
|
+
contextTurns: [],
|
|
10853
|
+
followingTurns: [],
|
|
10854
|
+
startIndex: from,
|
|
10855
|
+
ownedTurnIndexes: Array.from({ length: until - from }, (_, offset) => from + offset)
|
|
10856
|
+
});
|
|
10857
|
+
const fits = (from, until) => {
|
|
10858
|
+
const slice = turns.slice(from, until);
|
|
10859
|
+
return Math.ceil(JSON.stringify({
|
|
10860
|
+
context: [],
|
|
10861
|
+
following: [],
|
|
10862
|
+
turns: slice
|
|
10863
|
+
}).length / 4) <= 4096 && countTokens(JSON.stringify({
|
|
10864
|
+
turns: numberAtomicTurns(slice),
|
|
10865
|
+
preceding: [],
|
|
10866
|
+
following: []
|
|
10867
|
+
})) <= 4096;
|
|
10868
|
+
};
|
|
10869
|
+
const starts = [0, ...userIndexes.filter((index) => index > 0)];
|
|
10870
|
+
const windows = [];
|
|
10871
|
+
let from = 0;
|
|
10872
|
+
for (let group = 1; group < starts.length; group += 1) {
|
|
10873
|
+
const start = starts[group] ?? turns.length;
|
|
10874
|
+
if (!fits(from, starts[group + 1] ?? turns.length)) {
|
|
10875
|
+
windows.push(window(from, start));
|
|
10876
|
+
from = start;
|
|
10877
|
+
}
|
|
10878
|
+
}
|
|
10879
|
+
windows.push(window(from, turns.length));
|
|
10880
|
+
return windows;
|
|
10881
|
+
}
|
|
10888
10882
|
function atomicConversationWindows(turns, captureBatch = false) {
|
|
10889
10883
|
const userIndexes = turns.flatMap((turn, index) => turn.role === "user" ? [index] : []);
|
|
10890
10884
|
if (userIndexes.length === 0) return [];
|
|
10891
|
-
if (captureBatch
|
|
10885
|
+
if (captureBatch) return captureBatchWindows(turns, userIndexes);
|
|
10886
|
+
if (userIndexes.length <= 2) return [{
|
|
10892
10887
|
turns: [...turns],
|
|
10893
10888
|
contextTurns: [],
|
|
10894
10889
|
followingTurns: [],
|
|
@@ -11955,8 +11950,7 @@ async function runAtomicArrivalRetirementJudgment(input) {
|
|
|
11955
11950
|
supersededAt: input.nowMs
|
|
11956
11951
|
});
|
|
11957
11952
|
}
|
|
11958
|
-
|
|
11959
|
-
//#region src/engine/observability/best-effort.ts
|
|
11953
|
+
// src/engine/observability/best-effort.ts
|
|
11960
11954
|
/** @file best-effort.ts
|
|
11961
11955
|
* @purpose Keeps cloud observability failures out of plugin control flow.
|
|
11962
11956
|
* @boundary Telemetry-only error handling.
|
|
@@ -11994,8 +11988,7 @@ function bestEffortSync(label, fn, _logger) {
|
|
|
11994
11988
|
return;
|
|
11995
11989
|
}
|
|
11996
11990
|
}
|
|
11997
|
-
|
|
11998
|
-
//#region src/engine/observability/cost-aggregator.ts
|
|
11991
|
+
// src/engine/observability/cost-aggregator.ts
|
|
11999
11992
|
function emptyCounters() {
|
|
12000
11993
|
return {
|
|
12001
11994
|
hostAgentPromptTokens: 0,
|
|
@@ -12077,8 +12070,7 @@ var CostAggregator = class {
|
|
|
12077
12070
|
this.sessions.clear();
|
|
12078
12071
|
}
|
|
12079
12072
|
};
|
|
12080
|
-
|
|
12081
|
-
//#region src/engine/observability/version-metadata.ts
|
|
12073
|
+
// src/engine/observability/version-metadata.ts
|
|
12082
12074
|
/** @file version-metadata.ts
|
|
12083
12075
|
* @purpose Resolves SNO Station Core workspace and sno-station-mem package version metadata.
|
|
12084
12076
|
* @boundary Reads local version files/build-time env only; does not fetch release metadata.
|
|
@@ -12128,8 +12120,7 @@ function readPackageVersionUpward(startDir, expectedName) {
|
|
|
12128
12120
|
dir = parent;
|
|
12129
12121
|
}
|
|
12130
12122
|
}
|
|
12131
|
-
|
|
12132
|
-
//#region src/engine/observability/adapter.ts
|
|
12123
|
+
// src/engine/observability/adapter.ts
|
|
12133
12124
|
/** @file adapter.ts
|
|
12134
12125
|
* @purpose Adapts plugin events to the public @snoai/observability SDK.
|
|
12135
12126
|
* @boundary Plugin emits only public SDK events; the SDK owns buffering and HTTP delivery.
|
|
@@ -12374,8 +12365,7 @@ var PluginObservability = class {
|
|
|
12374
12365
|
}, this.logger);
|
|
12375
12366
|
}
|
|
12376
12367
|
};
|
|
12377
|
-
|
|
12378
|
-
//#region src/engine/observability/observable-embedder.ts
|
|
12368
|
+
// src/engine/observability/observable-embedder.ts
|
|
12379
12369
|
/** @file observable-embedding-provider-client.ts
|
|
12380
12370
|
* @purpose Emits best-effort observe metadata around embedding calls.
|
|
12381
12371
|
* @boundary Preserves Embedder behavior; observability failures never affect embedding.
|
|
@@ -12413,8 +12403,7 @@ var ObservableEmbedder = class extends Embedder {
|
|
|
12413
12403
|
});
|
|
12414
12404
|
}
|
|
12415
12405
|
};
|
|
12416
|
-
|
|
12417
|
-
//#region src/engine/observability/token-counter.ts
|
|
12406
|
+
// src/engine/observability/token-counter.ts
|
|
12418
12407
|
/** @file token-counter.ts
|
|
12419
12408
|
* @purpose Selects the token counter labels accepted by sno.ai analytics.
|
|
12420
12409
|
* @boundary Counts metadata only; never affects embedding or retrieval behavior.
|
|
@@ -12466,8 +12455,7 @@ async function countManyEmbeddingTokens(values, config) {
|
|
|
12466
12455
|
method: counts[0]?.method ?? "char_approximation"
|
|
12467
12456
|
};
|
|
12468
12457
|
}
|
|
12469
|
-
|
|
12470
|
-
//#region src/engine/observability/observable-memory-store.ts
|
|
12458
|
+
// src/engine/observability/observable-memory-store.ts
|
|
12471
12459
|
/** @file observable-memory-store.ts
|
|
12472
12460
|
* @purpose Emits strict runtime audits and best-effort telemetry around memory operations.
|
|
12473
12461
|
* @boundary Runtime audits fail closed; process telemetry never affects storage.
|
|
@@ -13159,8 +13147,7 @@ function writeDetails(entry) {
|
|
|
13159
13147
|
existing_count: entry.storeWriteOutcome === "existing" ? 1 : 0
|
|
13160
13148
|
};
|
|
13161
13149
|
}
|
|
13162
|
-
|
|
13163
|
-
//#region src/engine/observability/observable-retriever.ts
|
|
13150
|
+
// src/engine/observability/observable-retriever.ts
|
|
13164
13151
|
var ObservableMemoryRetriever = class extends MemoryRetriever {
|
|
13165
13152
|
observability;
|
|
13166
13153
|
sessionUuidProvider;
|
|
@@ -13249,8 +13236,7 @@ function retrievalResults(result) {
|
|
|
13249
13236
|
if (typeof result === "object" && result !== null && "results" in result && Array.isArray(result.results)) return result.results;
|
|
13250
13237
|
return [];
|
|
13251
13238
|
}
|
|
13252
|
-
|
|
13253
|
-
//#region src/engine/operations/memory-tier-promoter.ts
|
|
13239
|
+
// src/engine/operations/memory-tier-promoter.ts
|
|
13254
13240
|
const DEFAULT_TIER_CONFIG = {
|
|
13255
13241
|
coreAccessThreshold: 10,
|
|
13256
13242
|
coreCompositeThreshold: .7,
|
|
@@ -13343,8 +13329,7 @@ function createTierPromoter(config = DEFAULT_TIER_CONFIG) {
|
|
|
13343
13329
|
}
|
|
13344
13330
|
};
|
|
13345
13331
|
}
|
|
13346
|
-
|
|
13347
|
-
//#region src/engine/operations/session-summary-storage.ts
|
|
13332
|
+
// src/engine/operations/session-summary-storage.ts
|
|
13348
13333
|
const diagnosticLog$6 = createLogger("sno-station-mem:session-summary-storage");
|
|
13349
13334
|
/** Implements sort file names by mtime desc as the local session summary storage operation. */
|
|
13350
13335
|
async function sortFileNamesByMtimeDesc(dir, fileNames) {
|
|
@@ -13381,8 +13366,7 @@ function extractTextContent(content) {
|
|
|
13381
13366
|
}
|
|
13382
13367
|
return parts.length > 0 ? parts.join("\n") : null;
|
|
13383
13368
|
}
|
|
13384
|
-
|
|
13385
|
-
//#region src/engine/reflection/reflection-prompt-input.ts
|
|
13369
|
+
// src/engine/reflection/reflection-prompt-input.ts
|
|
13386
13370
|
function prepareReflectionPromptInputs(conversation, maxInputChars) {
|
|
13387
13371
|
const trimmed = conversation.trim();
|
|
13388
13372
|
if (!trimmed) return [];
|
|
@@ -13394,8 +13378,7 @@ function prepareReflectionPromptInputs(conversation, maxInputChars) {
|
|
|
13394
13378
|
maxTokens
|
|
13395
13379
|
}).map((draft) => draft.chunkText);
|
|
13396
13380
|
}
|
|
13397
|
-
|
|
13398
|
-
//#region src/engine/reflection/transient-generation-retry.ts
|
|
13381
|
+
// src/engine/reflection/transient-generation-retry.ts
|
|
13399
13382
|
const TRANSIENT_POLICIES = {
|
|
13400
13383
|
transportReset: [
|
|
13401
13384
|
/unexpected eof/i,
|
|
@@ -13573,8 +13556,7 @@ async function runWithReflectionTransientRetryOnce(params) {
|
|
|
13573
13556
|
}
|
|
13574
13557
|
}
|
|
13575
13558
|
}
|
|
13576
|
-
|
|
13577
|
-
//#region src/engine/security/error-signals.ts
|
|
13559
|
+
// src/engine/security/error-signals.ts
|
|
13578
13560
|
/** @file error-signals.ts
|
|
13579
13561
|
* @purpose Classifies error-like text patterns used by capture and retrieval heuristics.
|
|
13580
13562
|
* @boundary Multilingual runtime regexes and operational signal extraction.
|
|
@@ -13703,8 +13685,7 @@ function createErrorSignalTracker(options = {}) {
|
|
|
13703
13685
|
}
|
|
13704
13686
|
};
|
|
13705
13687
|
}
|
|
13706
|
-
|
|
13707
|
-
//#region src/engine/reflection/daily-log-generator.ts
|
|
13688
|
+
// src/engine/reflection/daily-log-generator.ts
|
|
13708
13689
|
/** @file daily-log-generator.ts
|
|
13709
13690
|
* @purpose Runs reflection analysis and writes durable improvement-oriented records.
|
|
13710
13691
|
* @boundary LLM prompts, reflection stores, retry handling, and learning extraction.
|
|
@@ -13927,8 +13908,7 @@ async function writeReflectionToFilesystem(params) {
|
|
|
13927
13908
|
}
|
|
13928
13909
|
throw new Error(`Failed to allocate unique reflection file for ${dateStr} ${timeCompact}`);
|
|
13929
13910
|
}
|
|
13930
|
-
|
|
13931
|
-
//#region src/engine/reflection/derived-line-cache.ts
|
|
13911
|
+
// src/engine/reflection/derived-line-cache.ts
|
|
13932
13912
|
/**
|
|
13933
13913
|
* Returns reflection derived cache entry from reflection cache keys state without side effects.
|
|
13934
13914
|
*/
|
|
@@ -13959,8 +13939,7 @@ function pruneReflectionDerivedCache(derivedCache, ttlMs, maxSessions, now = Dat
|
|
|
13959
13939
|
derivedCache.delete(oldest);
|
|
13960
13940
|
}
|
|
13961
13941
|
}
|
|
13962
|
-
|
|
13963
|
-
//#region src/engine/reflection/derived-suppression-cache.ts
|
|
13942
|
+
// src/engine/reflection/derived-suppression-cache.ts
|
|
13964
13943
|
/** @file derived-suppression-cache.ts
|
|
13965
13944
|
* @purpose Tracks short-lived derived-injection suppression after session
|
|
13966
13945
|
* boundary reflections (`/new`, `/reset`). The just-closed session may have
|
|
@@ -14020,8 +13999,7 @@ function isSessionBoundaryReflectionAction(action) {
|
|
|
14020
13999
|
const last = normalized.split(":").pop() ?? normalized;
|
|
14021
14000
|
return last === "new" || last === "reset";
|
|
14022
14001
|
}
|
|
14023
|
-
|
|
14024
|
-
//#region src/engine/reflection/reflection-embedded-generator.ts
|
|
14002
|
+
// src/engine/reflection/reflection-embedded-generator.ts
|
|
14025
14003
|
const DEFAULT_MEMORY_LLM_CONFIG = {
|
|
14026
14004
|
preset: FIXED_MEMORY_SNO_AI_EXTRACT,
|
|
14027
14005
|
timeoutMs: 3e4
|
|
@@ -14055,13 +14033,11 @@ function pruneReflectionState(errorTracker, derivedCache, suppressionCache, ttlM
|
|
|
14055
14033
|
pruneReflectionDerivedCache(derivedCache, ttlMs, maxSessions);
|
|
14056
14034
|
pruneReflectionDerivedSuppression(suppressionCache, ttlMs, maxSessions);
|
|
14057
14035
|
}
|
|
14058
|
-
|
|
14059
|
-
//#region src/engine/reflection/reflection-entry-projector-types.ts
|
|
14036
|
+
// src/engine/reflection/reflection-entry-projector-types.ts
|
|
14060
14037
|
const REFLECTION_DERIVE_LOGISTIC_K = 1.2;
|
|
14061
14038
|
const REFLECTION_DERIVE_FALLBACK_BASE_WEIGHT = .35;
|
|
14062
14039
|
const DEFAULT_REFLECTION_DERIVED_MAX_AGE_MS = 12096e5;
|
|
14063
|
-
|
|
14064
|
-
//#region src/engine/reflection/entry-metadata-parser.ts
|
|
14040
|
+
// src/engine/reflection/entry-metadata-parser.ts
|
|
14065
14041
|
/** @file entry-metadata-parser.ts
|
|
14066
14042
|
* @purpose Defines metadata helpers for reflection provenance, severity, and grouping.
|
|
14067
14043
|
* @boundary Reflection item storage, retry handling, and reporting surfaces.
|
|
@@ -14079,8 +14055,7 @@ function parseReflectionMetadata(metadataRaw) {
|
|
|
14079
14055
|
return {};
|
|
14080
14056
|
}
|
|
14081
14057
|
}
|
|
14082
|
-
|
|
14083
|
-
//#region src/engine/reflection/line-quality-ranker.ts
|
|
14058
|
+
// src/engine/reflection/line-quality-ranker.ts
|
|
14084
14059
|
/** @file line-quality-ranker.ts
|
|
14085
14060
|
* @purpose Ranks reflection candidates by usefulness, severity, and recency signals.
|
|
14086
14061
|
* @boundary Reflection metadata, cache state, and retrieval-style scoring rules.
|
|
@@ -14124,8 +14099,7 @@ function computeReflectionScore(input) {
|
|
|
14124
14099
|
function normalizeReflectionLineForAggregation(line) {
|
|
14125
14100
|
return String(line).trim().replace(/\s+/g, " ").toLowerCase();
|
|
14126
14101
|
}
|
|
14127
|
-
|
|
14128
|
-
//#region src/engine/reflection/reflection-markdown-sections.ts
|
|
14102
|
+
// src/engine/reflection/reflection-markdown-sections.ts
|
|
14129
14103
|
/** @file reflection-markdown-sections.ts
|
|
14130
14104
|
* @purpose Extracts named markdown sections and bullet lists from reflection payloads.
|
|
14131
14105
|
* @boundary Raw markdown parsing only; no reflection-domain classification.
|
|
@@ -14161,8 +14135,7 @@ function parseSectionBullets(markdown, heading) {
|
|
|
14161
14135
|
}
|
|
14162
14136
|
return collected;
|
|
14163
14137
|
}
|
|
14164
|
-
|
|
14165
|
-
//#region src/engine/reflection/reflection-markdown-types.ts
|
|
14138
|
+
// src/engine/reflection/reflection-markdown-types.ts
|
|
14166
14139
|
const PARSER_HEADINGS = {
|
|
14167
14140
|
context: "Context",
|
|
14168
14141
|
decisionsDurable: "Decisions (durable)",
|
|
@@ -14175,8 +14148,7 @@ const PARSER_HEADINGS = {
|
|
|
14175
14148
|
lessonsAndPitfalls: "Lessons & pitfalls (symptom / cause / fix / prevention)",
|
|
14176
14149
|
learningGovernance: "Learning governance candidates (.learnings / promotion / skill extraction)"
|
|
14177
14150
|
};
|
|
14178
|
-
|
|
14179
|
-
//#region src/engine/reflection/reflection-slice-sanitizer.ts
|
|
14151
|
+
// src/engine/reflection/reflection-slice-sanitizer.ts
|
|
14180
14152
|
/** @file reflection-slice-sanitizer.ts
|
|
14181
14153
|
* @purpose Normalizes reflection slice lines and filters unsafe injectable text.
|
|
14182
14154
|
* @boundary Line-level sanitization and injection detection only.
|
|
@@ -14232,8 +14204,7 @@ function isUnsafeInjectableReflectionLine(line) {
|
|
|
14232
14204
|
function sanitizeInjectableReflectionLines(lines) {
|
|
14233
14205
|
return sanitizeReflectionSliceLines(lines).filter((line) => !isUnsafeInjectableReflectionLine(line));
|
|
14234
14206
|
}
|
|
14235
|
-
|
|
14236
|
-
//#region src/engine/reflection/reflection-governance-parser.ts
|
|
14207
|
+
// src/engine/reflection/reflection-governance-parser.ts
|
|
14237
14208
|
/** @file reflection-governance-parser.ts
|
|
14238
14209
|
* @purpose Parses reflection lessons and learning-governance candidates.
|
|
14239
14210
|
* @boundary Governance markdown extraction only; storage and promotion are out of scope.
|
|
@@ -14287,8 +14258,7 @@ function parseReflectionGovernanceEntry(block) {
|
|
|
14287
14258
|
suggestedAction: readSection("Suggested Action")
|
|
14288
14259
|
};
|
|
14289
14260
|
}
|
|
14290
|
-
|
|
14291
|
-
//#region src/engine/reflection/reflection-mapped-memory-parser.ts
|
|
14261
|
+
// src/engine/reflection/reflection-mapped-memory-parser.ts
|
|
14292
14262
|
/** @file reflection-mapped-memory-parser.ts
|
|
14293
14263
|
* @purpose Extracts mapped memory rows from reflection markdown sections.
|
|
14294
14264
|
* @boundary Reflection markdown to mapped-memory DTOs only.
|
|
@@ -14339,8 +14309,7 @@ function extractReflectionMappedMemoryItemsWithSanitizer(reflectionText, sanitiz
|
|
|
14339
14309
|
function extractInjectableReflectionMappedMemoryItems(reflectionText) {
|
|
14340
14310
|
return extractReflectionMappedMemoryItemsWithSanitizer(reflectionText, sanitizeInjectableReflectionLines);
|
|
14341
14311
|
}
|
|
14342
|
-
|
|
14343
|
-
//#region src/engine/reflection/reflection-slice-extractor.ts
|
|
14312
|
+
// src/engine/reflection/reflection-slice-extractor.ts
|
|
14344
14313
|
/** @file reflection-slice-extractor.ts
|
|
14345
14314
|
* @purpose Classifies reflection markdown into invariant and derived slice items.
|
|
14346
14315
|
* @boundary Slice extraction only; mapped-memory parsing lives separately.
|
|
@@ -14489,8 +14458,7 @@ function buildReflectionItemPayloads(params) {
|
|
|
14489
14458
|
};
|
|
14490
14459
|
});
|
|
14491
14460
|
}
|
|
14492
|
-
|
|
14493
|
-
//#region src/engine/reflection/reflection-entry-utils.ts
|
|
14461
|
+
// src/engine/reflection/reflection-entry-utils.ts
|
|
14494
14462
|
function isReflectionMetadataType(type) {
|
|
14495
14463
|
return type === "memory-reflection-item" || type === "memory-reflection";
|
|
14496
14464
|
}
|
|
@@ -14525,8 +14493,7 @@ function readClampedNumber(value, fallback, min, max) {
|
|
|
14525
14493
|
const num = Number(value);
|
|
14526
14494
|
return Math.max(min, Math.min(max, Number.isFinite(num) ? num : fallback));
|
|
14527
14495
|
}
|
|
14528
|
-
|
|
14529
|
-
//#region src/engine/reflection/reflection-line-loader.ts
|
|
14496
|
+
// src/engine/reflection/reflection-line-loader.ts
|
|
14530
14497
|
/** @file reflection-line-loader.ts
|
|
14531
14498
|
* @purpose Load, score, and rank invariant and derived reflection lines.
|
|
14532
14499
|
* @boundary Reads in-memory entries only; no persistence or I/O.
|
|
@@ -14731,8 +14698,7 @@ function resolveLegacyDeriveBaseWeight(metadata) {
|
|
|
14731
14698
|
if (metadata.usedFallback === true) return REFLECTION_DERIVE_FALLBACK_BASE_WEIGHT;
|
|
14732
14699
|
return 1;
|
|
14733
14700
|
}
|
|
14734
|
-
|
|
14735
|
-
//#region src/engine/reflection/mapped-memory-metadata-builder.ts
|
|
14701
|
+
// src/engine/reflection/mapped-memory-metadata-builder.ts
|
|
14736
14702
|
/** @file mapped-memory-metadata-builder.ts
|
|
14737
14703
|
* @purpose Maps raw reflection metadata into typed fields used by ranking and storage.
|
|
14738
14704
|
* @boundary Reflection extraction output and schema-compatible persistence.
|
|
@@ -14900,8 +14866,7 @@ function buildReflectionEventPayload(params) {
|
|
|
14900
14866
|
metadata
|
|
14901
14867
|
};
|
|
14902
14868
|
}
|
|
14903
|
-
|
|
14904
|
-
//#region src/engine/reflection/reflection-store-payload-builder.ts
|
|
14869
|
+
// src/engine/reflection/reflection-store-payload-builder.ts
|
|
14905
14870
|
/** @file reflection-store-payload-builder.ts
|
|
14906
14871
|
* @purpose Build reflection event, item, and legacy payloads for storage.
|
|
14907
14872
|
* @boundary Pure payload assembly from parsed reflection text and caller context.
|
|
@@ -14998,8 +14963,7 @@ function buildLegacyCombinedPayload(params) {
|
|
|
14998
14963
|
}
|
|
14999
14964
|
};
|
|
15000
14965
|
}
|
|
15001
|
-
|
|
15002
|
-
//#region src/engine/reflection/reflection-store-writer.ts
|
|
14966
|
+
// src/engine/reflection/reflection-store-writer.ts
|
|
15003
14967
|
/** @file reflection-store-writer.ts
|
|
15004
14968
|
* @purpose Persist reflection payloads with semantic duplicate protection.
|
|
15005
14969
|
* @boundary Store embedding, duplicate search, and write orchestration.
|
|
@@ -15083,8 +15047,7 @@ function hasDuplicateReflectionPayload(payload, matches) {
|
|
|
15083
15047
|
return existingMetadata.type === "memory-reflection-item" && existingMetadata.sessionId === itemMetadata.sessionId && existingMetadata.agentId === itemMetadata.agentId && existingMetadata.itemKind === itemMetadata.itemKind && match.entry.text === payload.text;
|
|
15084
15048
|
});
|
|
15085
15049
|
}
|
|
15086
|
-
|
|
15087
|
-
//#region src/engine/reflection/reflection-slice-loader.ts
|
|
15050
|
+
// src/engine/reflection/reflection-slice-loader.ts
|
|
15088
15051
|
/** @file reflection-slice-loader.ts
|
|
15089
15052
|
* @purpose Loads and caches reflection slices for prompt injection.
|
|
15090
15053
|
*/
|
|
@@ -15132,8 +15095,7 @@ function createReflectionSliceLoader(params) {
|
|
|
15132
15095
|
function limitSources(sources, limit) {
|
|
15133
15096
|
return sources.filter((source) => source.rank <= limit);
|
|
15134
15097
|
}
|
|
15135
|
-
|
|
15136
|
-
//#region src/engine/reflection/strategy-hook-runner.ts
|
|
15098
|
+
// src/engine/reflection/strategy-hook-runner.ts
|
|
15137
15099
|
/** @file strategy-hook-runner.ts
|
|
15138
15100
|
* @purpose Connects runtime events to reflection storage and learning workflows.
|
|
15139
15101
|
* @boundary Plugin hooks, reflection analysis, and self-improvement integration.
|
|
@@ -15194,8 +15156,7 @@ z.object({
|
|
|
15194
15156
|
dbPath: z.string().min(1)
|
|
15195
15157
|
});
|
|
15196
15158
|
createLogger("sno-station-mem:data-bootstrap");
|
|
15197
|
-
|
|
15198
|
-
//#region src/engine/bindings/sno-station-mem-insight-distill-factory.ts
|
|
15159
|
+
// src/engine/bindings/sno-station-mem-insight-distill-factory.ts
|
|
15199
15160
|
/** @file sno-station-mem-insight-distill-factory.ts
|
|
15200
15161
|
* @purpose Builds the optional Insight Distill LLM extractor from validated plugin runtime config.
|
|
15201
15162
|
* @boundary Extractor construction only; capture execution lives in the Ambient Learning hook.
|
|
@@ -15310,8 +15271,7 @@ function buildInsightDistiller(api, config, store, _embedder, _observability, _s
|
|
|
15310
15271
|
throw new Error(`sno-station-mem insight-distill init failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
15311
15272
|
}
|
|
15312
15273
|
}
|
|
15313
|
-
|
|
15314
|
-
//#region src/engine/bindings/sno-station-mem-message-transcript.ts
|
|
15274
|
+
// src/engine/bindings/sno-station-mem-message-transcript.ts
|
|
15315
15275
|
/** @file sno-station-mem-message-transcript.ts
|
|
15316
15276
|
* @purpose Normalizes SDK message records into capture transcripts and session timestamps.
|
|
15317
15277
|
* @boundary Message-shape parsing and redaction for transcript construction only.
|
|
@@ -15447,8 +15407,7 @@ function buildConversationText(messages, captureAssistant) {
|
|
|
15447
15407
|
latestUserMemorySourceText
|
|
15448
15408
|
};
|
|
15449
15409
|
}
|
|
15450
|
-
|
|
15451
|
-
//#region src/engine/bindings/sno-station-mem-ambient-learning-hook.ts
|
|
15410
|
+
// src/engine/bindings/sno-station-mem-ambient-learning-hook.ts
|
|
15452
15411
|
/** @file sno-station-mem-ambient-learning-hook.ts
|
|
15453
15412
|
* @purpose Routes successful agent conversations through atomic memory extraction.
|
|
15454
15413
|
* @boundary The agent_end hook path only; registration and service lifecycle are elsewhere.
|
|
@@ -15681,8 +15640,7 @@ async function onAgentEnd(api, config, store, _embedder, scopePolicy, insightDis
|
|
|
15681
15640
|
return outcome;
|
|
15682
15641
|
});
|
|
15683
15642
|
}
|
|
15684
|
-
|
|
15685
|
-
//#region src/engine/bindings/memory-store-tool.ts
|
|
15643
|
+
// src/engine/bindings/memory-store-tool.ts
|
|
15686
15644
|
/** @file memory-store-tool.ts
|
|
15687
15645
|
* @purpose Registers the memory_store tool.
|
|
15688
15646
|
* @boundary One host tool registration and its handler logic.
|
|
@@ -15832,8 +15790,7 @@ async function executeMemoryStore(ctx, access, params) {
|
|
|
15832
15790
|
async function executeMemoryStoreTool(ctx, access, _toolCallId, params) {
|
|
15833
15791
|
return runWithAudit(ctx, "memory_store", void 0, () => executeMemoryStore(ctx, access, params));
|
|
15834
15792
|
}
|
|
15835
|
-
|
|
15836
|
-
//#region src/engine/bindings/memory-forget-tool.ts
|
|
15793
|
+
// src/engine/bindings/memory-forget-tool.ts
|
|
15837
15794
|
/** @file memory-forget-tool.ts
|
|
15838
15795
|
* @purpose Registers the memory_forget tool.
|
|
15839
15796
|
* @boundary One host tool registration and its handler logic.
|
|
@@ -15889,8 +15846,7 @@ async function executeMemoryForgetTool(ctx, access, _toolCallId, params) {
|
|
|
15889
15846
|
});
|
|
15890
15847
|
});
|
|
15891
15848
|
}
|
|
15892
|
-
|
|
15893
|
-
//#region src/engine/bindings/memory-update-tool.ts
|
|
15849
|
+
// src/engine/bindings/memory-update-tool.ts
|
|
15894
15850
|
async function executeMemoryUpdateTool(ctx, _access, _toolCallId, params) {
|
|
15895
15851
|
return runWithAudit(ctx, "memory_update", void 0, async () => {
|
|
15896
15852
|
const parsed = updateParamsSchema.parse(params);
|
|
@@ -16003,8 +15959,7 @@ async function executeMemoryUpdateTool(ctx, _access, _toolCallId, params) {
|
|
|
16003
15959
|
return makeResult(`Updated memory: ${parsed.id}`, { id: updated.id });
|
|
16004
15960
|
});
|
|
16005
15961
|
}
|
|
16006
|
-
|
|
16007
|
-
//#region src/engine/bindings/memory-reflection-resolve-tool.ts
|
|
15962
|
+
// src/engine/bindings/memory-reflection-resolve-tool.ts
|
|
16008
15963
|
/** @file memory-reflection-resolve-tool.ts
|
|
16009
15964
|
* @purpose Registers the memory_reflection_resolve tool.
|
|
16010
15965
|
* @boundary Marks reflection items resolved so they stop participating in reflection recall.
|
|
@@ -16146,8 +16101,7 @@ async function executeMemoryReflectionResolveTool(ctx, access, _toolCallId, para
|
|
|
16146
16101
|
});
|
|
16147
16102
|
});
|
|
16148
16103
|
}
|
|
16149
|
-
|
|
16150
|
-
//#region src/engine/reflection/reflection-mapped-memory-loop.ts
|
|
16104
|
+
// src/engine/reflection/reflection-mapped-memory-loop.ts
|
|
16151
16105
|
const diagnosticLog$3 = createLogger("sno-station-mem:reflection-mapped-memory-loop");
|
|
16152
16106
|
const MAX_MAPPED_ENTRIES = 100;
|
|
16153
16107
|
const MAPPED_DEDUP_THRESHOLD = .95;
|
|
@@ -16346,8 +16300,7 @@ function governanceEntryType(area) {
|
|
|
16346
16300
|
if (a === "feature" || a === "features" || a.includes("feat")) return "feature";
|
|
16347
16301
|
return "learning";
|
|
16348
16302
|
}
|
|
16349
|
-
|
|
16350
|
-
//#region src/engine/reflection/session-serial-guard.ts
|
|
16303
|
+
// src/engine/reflection/session-serial-guard.ts
|
|
16351
16304
|
/** @file session-serial-guard.ts
|
|
16352
16305
|
* @purpose Serializes reflection runs per session via in-flight lock + post-completion debounce.
|
|
16353
16306
|
* @boundary Reflection hook entry - called once per command:new / command:reset.
|
|
@@ -16470,8 +16423,7 @@ async function runWithSerialGuard(sessionKey, work, logger = { info: () => {} })
|
|
|
16470
16423
|
}
|
|
16471
16424
|
return true;
|
|
16472
16425
|
}
|
|
16473
|
-
|
|
16474
|
-
//#region src/engine/reflection/reflection-command-hooks.ts
|
|
16426
|
+
// src/engine/reflection/reflection-command-hooks.ts
|
|
16475
16427
|
/** @file reflection-command-hooks.ts
|
|
16476
16428
|
* @purpose Registers command hooks that write reflection logs and memories.
|
|
16477
16429
|
*/
|
|
@@ -16772,8 +16724,7 @@ async function appendGovernanceEntries(params, eventId) {
|
|
|
16772
16724
|
});
|
|
16773
16725
|
}
|
|
16774
16726
|
}
|
|
16775
|
-
|
|
16776
|
-
//#region src/engine/reflection/reflection-lifecycle-hooks.ts
|
|
16727
|
+
// src/engine/reflection/reflection-lifecycle-hooks.ts
|
|
16777
16728
|
/** @file reflection-lifecycle-hooks.ts
|
|
16778
16729
|
* @purpose Tracks reflection error signals and clears per-session state.
|
|
16779
16730
|
*/
|
|
@@ -16831,8 +16782,7 @@ function createReflectionLifecycleHandler2(params) {
|
|
|
16831
16782
|
params.doPrune();
|
|
16832
16783
|
};
|
|
16833
16784
|
}
|
|
16834
|
-
|
|
16835
|
-
//#region src/engine/reflection/reflection-injection-hooks.ts
|
|
16785
|
+
// src/engine/reflection/reflection-injection-hooks.ts
|
|
16836
16786
|
const diagnosticLog = createLogger("sno-station-mem:reflection-injection-hooks");
|
|
16837
16787
|
function appendPendingErrorBlock(params, sessionKey, blocks) {
|
|
16838
16788
|
if (!sessionKey) return;
|
|
@@ -17046,8 +16996,7 @@ function createReflectionInjectionHandler3(params) {
|
|
|
17046
16996
|
}
|
|
17047
16997
|
};
|
|
17048
16998
|
}
|
|
17049
|
-
|
|
17050
|
-
//#region src/engine/contract-runtime.ts
|
|
16999
|
+
// src/engine/contract-runtime.ts
|
|
17051
17000
|
/**
|
|
17052
17001
|
* A logical scope is a configured or built-in scope name the installed policy grants this agent;
|
|
17053
17002
|
* a path is never one. A system caller (host operator) may name any valid scope.
|
|
@@ -17956,15 +17905,13 @@ var MemoryContractRuntime = class {
|
|
|
17956
17905
|
};
|
|
17957
17906
|
}
|
|
17958
17907
|
};
|
|
17959
|
-
|
|
17960
|
-
//#region src/engine/telemetry/memory-telemetry-incidents.ts
|
|
17908
|
+
// src/engine/telemetry/memory-telemetry-incidents.ts
|
|
17961
17909
|
function recordMemoryTelemetryIncident(sqlite, input) {
|
|
17962
17910
|
sqlite.prepare(`INSERT INTO nodix_memory_telemetry_incidents
|
|
17963
17911
|
(incident_type, severity, message, payload_json, created_at_ms)
|
|
17964
17912
|
VALUES (?, ?, ?, ?, ?)`).run(input.incidentType, input.severity, input.message, input.payload ? JSON.stringify(input.payload) : null, input.createdAtMs ?? Date.now());
|
|
17965
17913
|
}
|
|
17966
|
-
|
|
17967
|
-
//#region src/engine/telemetry/memory-telemetry-outbox.ts
|
|
17914
|
+
// src/engine/telemetry/memory-telemetry-outbox.ts
|
|
17968
17915
|
const DEFAULT_USAGE_OUTBOX_BATCH_SIZE = 50;
|
|
17969
17916
|
const USAGE_OUTBOX_CLAIM_LEASE_MS = 6e4;
|
|
17970
17917
|
const activeFlushes = /* @__PURE__ */ new Map();
|
|
@@ -18401,8 +18348,7 @@ function safeErrorMessage(error) {
|
|
|
18401
18348
|
if (error instanceof Error && error.message.trim().length > 0) return error.message.slice(0, 500);
|
|
18402
18349
|
return "memory telemetry usage flush failed";
|
|
18403
18350
|
}
|
|
18404
|
-
|
|
18405
|
-
//#region src/store/backup.ts
|
|
18351
|
+
// src/store/backup.ts
|
|
18406
18352
|
/** @file backup.ts
|
|
18407
18353
|
* @purpose Exports, imports, and validates persisted memory data for backup workflows.
|
|
18408
18354
|
* @boundary Memory store serialization, schema compatibility, and CLI operations.
|
|
@@ -18538,8 +18484,7 @@ function runBackup(dbPath, stateDir, options = {}) {
|
|
|
18538
18484
|
});
|
|
18539
18485
|
return safeBackupPath;
|
|
18540
18486
|
}
|
|
18541
|
-
|
|
18542
|
-
//#region src/store/maintenance.ts
|
|
18487
|
+
// src/store/maintenance.ts
|
|
18543
18488
|
/** @file maintenance.ts
|
|
18544
18489
|
* @purpose Ordered maintenance pass: integrity check, outbox drain, usage-event retention, FTS
|
|
18545
18490
|
* merge, planner statistics, backup, REM trigger check. Each job runs on its own interval.
|
|
@@ -18926,8 +18871,7 @@ function startMaintenanceTimer(deps, tickMs = MAINTENANCE_TICK_MS, firstTickDela
|
|
|
18926
18871
|
});
|
|
18927
18872
|
return { stop };
|
|
18928
18873
|
}
|
|
18929
|
-
|
|
18930
|
-
//#region src/model/registered-agent-port.ts
|
|
18874
|
+
// src/model/registered-agent-port.ts
|
|
18931
18875
|
const CALLBACK_TIMEOUT_MS = 12e4;
|
|
18932
18876
|
const relayedFailureSchema = z.object({ error: z.discriminatedUnion("kind", [z.object({
|
|
18933
18877
|
kind: z.literal("cancelled"),
|
|
@@ -19147,8 +19091,7 @@ function hostChain(hosts) {
|
|
|
19147
19091
|
}
|
|
19148
19092
|
};
|
|
19149
19093
|
}
|
|
19150
|
-
|
|
19151
|
-
//#region src/sidecar/memory-runtime.ts
|
|
19094
|
+
// src/sidecar/memory-runtime.ts
|
|
19152
19095
|
/** The skin and observe session of the request in flight; store, embedder and retriever events carry both. */
|
|
19153
19096
|
const observeSession = new AsyncLocalStorage();
|
|
19154
19097
|
const observeSessionUuid = () => observeSession.getStore()?.uuid;
|
|
@@ -19277,7 +19220,7 @@ var MemoryRuntimePool = class MemoryRuntimePool {
|
|
|
19277
19220
|
static async open() {
|
|
19278
19221
|
const settings = readSettings();
|
|
19279
19222
|
const storePath = settings.store.path;
|
|
19280
|
-
const config = settingsToPluginConfig(settings, "product");
|
|
19223
|
+
const config = settingsToPluginConfig(settings, process.env.SNO_USAGE_CLASS === "research" ? "research" : "product");
|
|
19281
19224
|
try {
|
|
19282
19225
|
emitRuntimeStartSnapshot({
|
|
19283
19226
|
runtimeMode: "sidecar",
|
|
@@ -19775,5 +19718,4 @@ var MemoryRuntimePool = class MemoryRuntimePool {
|
|
|
19775
19718
|
await this.observability.shutdown();
|
|
19776
19719
|
}
|
|
19777
19720
|
};
|
|
19778
|
-
//#endregion
|
|
19779
19721
|
export { MemoryRuntimePool };
|