@snoai/memory 1.5.1 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-tracker-D-riPZRY.d.ts → access-tracker-CFxRg7Bt.d.ts} +4 -4
  3. package/dist/{adapter-BM58hult.d.ts → adapter-BFtbOOw3.d.ts} +2 -2
  4. package/dist/{atomic-memory-extraction-BNBCB1XD.d.ts → atomic-memory-extraction-Bp7AWZqi.d.ts} +4 -4
  5. package/dist/{atomic-memory-extraction-BaBrfESt.js → atomic-memory-extraction-l65aofbl.js} +4 -4
  6. package/dist/{b-profile-section-dictionary-provider-D2kzg9Re.d.ts → b-profile-section-dictionary-provider-Buj_M-QA.d.ts} +1 -1
  7. package/dist/{capture-policy-detector-CoT-j_Ic.d.ts → capture-policy-detector-3tDQkBi9.d.ts} +1 -1
  8. package/dist/client.d.ts +1 -1
  9. package/dist/{config-BhlMin82.js → config-CByvnX3d.js} +49 -119
  10. package/dist/{derived-suppression-cache-BW52dq3w.d.ts → derived-suppression-cache-CcANI-p7.d.ts} +1 -1
  11. package/dist/diagnostic-encoder.js +1 -1
  12. package/dist/{index-BGu91bjB.d.ts → index-CJrMFlAU.d.ts} +12 -50
  13. package/dist/{index-GoYmsx8b.d.ts → index-Df9420Pl.d.ts} +2 -2
  14. package/dist/index.d.ts +9 -9
  15. package/dist/index.js +5 -5
  16. package/dist/internal/config/index.d.ts +2 -2
  17. package/dist/internal/config/index.js +13 -51
  18. package/dist/internal/config/plugin-config-schema.d.ts +1 -1
  19. package/dist/internal/config/plugin-config-schema.js +1 -1
  20. package/dist/internal/config/product-mode.d.ts +1 -1
  21. package/dist/internal/config/settings.d.ts +1 -1
  22. package/dist/internal/config/settings.js +16 -47
  23. package/dist/internal/config/skin-defaults.d.ts +1 -1
  24. package/dist/internal/contract/profile.d.ts +1 -1
  25. package/dist/internal/contract/routes.d.ts +1 -1
  26. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +4 -4
  27. package/dist/internal/engine/bindings/memory-forget-tool.js +1 -1
  28. package/dist/internal/engine/bindings/memory-list-tool.js +1 -1
  29. package/dist/internal/engine/bindings/memory-recall-tool.js +1 -1
  30. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +1 -1
  31. package/dist/internal/engine/bindings/memory-stats-tool.js +1 -1
  32. package/dist/internal/engine/bindings/memory-store-tool.js +3 -3
  33. package/dist/internal/engine/bindings/memory-tool-access.d.ts +1 -1
  34. package/dist/internal/engine/bindings/memory-tool-access.js +1 -1
  35. package/dist/internal/engine/bindings/memory-tool-results.d.ts +1 -1
  36. package/dist/internal/engine/bindings/memory-tool-results.js +1 -1
  37. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +5 -5
  38. package/dist/internal/engine/bindings/memory-tool-schemas.js +1 -1
  39. package/dist/internal/engine/bindings/memory-update-tool.js +2 -2
  40. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +4 -4
  41. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +2 -2
  42. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +4 -4
  43. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +1 -1
  44. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +5 -5
  45. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +3 -2
  46. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +2 -2
  47. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +3 -3
  48. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +1 -1
  49. package/dist/internal/engine/eval/trace.js +3 -4
  50. package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +1 -1
  51. package/dist/internal/engine/extraction/atomic-memory-extraction.js +1 -1
  52. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +1 -1
  53. package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +5 -5
  54. package/dist/internal/engine/extraction/capture-policy-detector.d.ts +1 -1
  55. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
  56. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  57. package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -1
  58. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  59. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  60. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  61. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  62. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  63. package/dist/internal/engine/observability/observable-memory-store.js +1 -1
  64. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  65. package/dist/internal/engine/observability/observable-retriever.js +1 -1
  66. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +1 -1
  67. package/dist/internal/engine/observability/runtime-diagnostics.js +1 -1
  68. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  69. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  70. package/dist/internal/engine/provider/provider-registration.d.ts +4 -4
  71. package/dist/internal/engine/provider/provider-row-renderer.d.ts +1 -1
  72. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  73. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -1
  74. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  75. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  76. package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -1
  77. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  78. package/dist/internal/engine/reflection/reflection-injection-hooks.js +1 -1
  79. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  80. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +1 -1
  81. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  82. package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
  83. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  84. package/dist/internal/engine/retrieval/retriever.d.ts +2 -2
  85. package/dist/internal/engine/retrieval/retriever.js +2 -2
  86. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  87. package/dist/internal/engine/shared/paths.d.ts +2 -2
  88. package/dist/internal/engine/shared/types.d.ts +2 -2
  89. package/dist/internal/engine/shared/types.js +1 -1
  90. package/dist/internal/engine/telemetry/observe-ledger.d.ts +1 -1
  91. package/dist/internal/model/llm-client.d.ts +2 -2
  92. package/dist/internal/model/llm-client.js +1 -1
  93. package/dist/internal/model/llm-mode-routing.d.ts +1 -1
  94. package/dist/internal/store/maintenance.d.ts +2 -2
  95. package/dist/internal/store/maintenance.js +3 -3
  96. package/dist/internal/store/store.d.ts +2 -2
  97. package/dist/internal/store/store.js +1 -1
  98. package/dist/{llm-client-Z_VkmTsW.js → llm-client-ByzZRemn.js} +7 -4
  99. package/dist/{llm-client-9XCsnmf0.d.ts → llm-client-nWW1o1F6.d.ts} +1 -1
  100. package/dist/{log-site-catalog.generated-lc-iJczN.js → log-site-catalog.generated-DsvDgHJa.js} +95 -165
  101. package/dist/log-site-catalog.json +1 -1
  102. package/dist/{memory-kind-policy-DcEvUTKl.d.ts → memory-kind-policy-BMebgugU.d.ts} +1 -1
  103. package/dist/{memory-metadata-codec-CLtCCf-b.d.ts → memory-metadata-codec-H8BniJM3.d.ts} +1 -1
  104. package/dist/{memory-runtime-De1T9jTv.js → memory-runtime-DXr1VO1p.js} +101 -168
  105. package/dist/{memory-snapshot-BXB2APN0.d.ts → memory-snapshot-CKnQovB5.d.ts} +2 -2
  106. package/dist/{memory-store-base-yOAD7Ff8.d.ts → memory-store-base-BHYXgsCq.d.ts} +3 -3
  107. package/dist/{memory-temporality-classifier-s7TjoKB-.js → memory-temporality-classifier-Bauwnls7.js} +1 -1
  108. package/dist/{memory-temporality-classifier-BxmM3FOb.d.ts → memory-temporality-classifier-Wi6WWeAj.d.ts} +1 -1
  109. package/dist/{memory-tier-promoter-DjJwYB4w.d.ts → memory-tier-promoter-m60-RlAj.d.ts} +1 -1
  110. package/dist/{memory-tool-dependencies-C8JSCWCz.js → memory-tool-dependencies-Cc4SJMtd.js} +1 -1
  111. package/dist/memory-tool-dependencies-D2fOC-KL.d.ts +14 -0
  112. package/dist/{observable-embedder-DCtHXucw.d.ts → observable-embedder-0FwxJMhJ.d.ts} +1 -1
  113. package/dist/{observable-llm-client-DykY0exK.d.ts → observable-llm-client-DY7w1Fj1.d.ts} +3 -3
  114. package/dist/{observable-memory-store-ZBTjMAHj.d.ts → observable-memory-store-C25Q_hoW.d.ts} +4 -4
  115. package/dist/{observable-retriever-f8ENkQnP.d.ts → observable-retriever-Cs9Bwzq6.d.ts} +5 -5
  116. package/dist/paths-obFSsJv3.d.ts +1 -0
  117. package/dist/{plugin-config-schema-D9riSXDg.js → plugin-config-schema-D-IoHmis.js} +22 -43
  118. package/dist/{plugin-config-schema-CsKKIHq9.d.ts → plugin-config-schema-DQh5njrS.d.ts} +8 -10
  119. package/dist/{profile-CxdMGvxU.d.ts → profile-CcvVR6K8.d.ts} +1 -1
  120. package/dist/{profile-section-writer-B54r7JN1.js → profile-section-writer-CR-WWIoB.js} +2 -2
  121. package/dist/{reflection-command-hooks-_B_XZBIz.d.ts → reflection-command-hooks-BRLqVNCi.d.ts} +4 -4
  122. package/dist/{reflection-command-hooks-a1kgC2cr.js → reflection-command-hooks-Der9aX0e.js} +4 -3
  123. package/dist/{reflection-deps-DQBHeGYK.d.ts → reflection-deps-C0TJ-gpU.d.ts} +2 -2
  124. package/dist/{reflection-embedded-generator-DEuTWrBh.js → reflection-embedded-generator-BEdDusPV.js} +2 -1
  125. package/dist/{reflection-embedded-generator-LmZQqGER.d.ts → reflection-embedded-generator-Cs59hWYr.d.ts} +3 -3
  126. package/dist/{reflection-injection-hooks-CTDCwu2_.d.ts → reflection-injection-hooks-Cy4bRemm.d.ts} +4 -4
  127. package/dist/{reflection-lifecycle-hooks-eFUc2mcd.d.ts → reflection-lifecycle-hooks-C-lf00DB.d.ts} +3 -3
  128. package/dist/{rem-batch-executor-D42YWCNg.js → rem-batch-executor-DiU8hSGc.js} +1 -1
  129. package/dist/{rem-trigger-BKr4Qmhn.js → rem-trigger-CBfyJVfh.js} +39 -432
  130. package/dist/{retriever-BsjtyINJ.d.ts → retriever-2RJYAvlD.d.ts} +10 -52
  131. package/dist/{retriever-CsBW6MZv.js → retriever-C54bXeDh.js} +30 -452
  132. package/dist/{runtime-audit-log-C-L0v2HU.d.ts → runtime-audit-log-D2Hqk_kl.d.ts} +1 -1
  133. package/dist/{server-BPOT66a_.js → server-BlbG5uOM.js} +4 -4
  134. package/dist/sidecar/main.js +2 -2
  135. package/dist/sno-station-mem-runtime-dependencies-ByI3b-wB.d.ts +31 -0
  136. package/dist/{sno-station-mem-runtime-dependencies-DES7ZvMt.js → sno-station-mem-runtime-dependencies-DsidkZi2.js} +6 -6
  137. package/dist/{store-DRwqWMTh.js → store-Bja1tVFw.js} +1 -1
  138. package/dist/{store-CukgAPqu.d.ts → store-Bz0y76cJ.d.ts} +1 -1
  139. package/dist/{strategy-hook-runner-s8dAEQ3P.js → strategy-hook-runner-F-ruiw48.js} +1 -1
  140. package/dist/{strategy-hook-runner-BlJxjMjC.d.ts → strategy-hook-runner-vbrWiDbK.d.ts} +7 -7
  141. package/dist/{types-C9Hngi-p.d.ts → types-El7jViCz.d.ts} +1 -1
  142. package/package.json +1 -1
  143. package/settings.default.json +2 -3
  144. package/dist/memory-tool-dependencies-BsaSVzC8.d.ts +0 -14
  145. package/dist/paths-m8yncZgm.d.ts +0 -1
  146. package/dist/sno-station-mem-runtime-dependencies-B47DIcei.d.ts +0 -31
package/README.md CHANGED
@@ -28,7 +28,7 @@ Who it is for: you do not use this package directly. Follow the
28
28
  plugins use to reach the service.
29
29
 
30
30
  ```bash
31
- npm install @snoai/memory@1.5.1
31
+ npm install @snoai/memory@1.6.0
32
32
  ```
33
33
 
34
34
  Needs Node.js 22.22.3+, 24.15.0+ or 25.9.0+. Licensed under Apache-2.0.
@@ -1,7 +1,7 @@
1
- import { v as MemoryMetadata } from "./types-C9Hngi-p.js";
2
- import { sn as RecallLifecycleConfig } from "./index-BGu91bjB.js";
3
- import { C as MemoryStore } from "./memory-store-base-yOAD7Ff8.js";
4
- import "./store-CukgAPqu.js";
1
+ import { v as MemoryMetadata } from "./types-El7jViCz.js";
2
+ import { tn as RecallLifecycleConfig } from "./index-CJrMFlAU.js";
3
+ import { C as MemoryStore } from "./memory-store-base-BHYXgsCq.js";
4
+ import "./store-Bz0y76cJ.js";
5
5
  //#region src/engine/retrieval/access-tracker.d.ts
6
6
  interface AccessMetadata {
7
7
  readonly accessCount: number;
@@ -1,5 +1,5 @@
1
- import { t as PluginConfig } from "./plugin-config-schema-CsKKIHq9.js";
2
- import "./types-C9Hngi-p.js";
1
+ import { t as PluginConfig } from "./plugin-config-schema-DQh5njrS.js";
2
+ import "./types-El7jViCz.js";
3
3
  import { t as ObserveLogger } from "./best-effort-BPZSzKk0.js";
4
4
  import { AgentId, EventType, JsonObject } from "@snoai/observability";
5
5
  //#region src/engine/observability/cost-aggregator.d.ts
@@ -1,9 +1,9 @@
1
- import { i as LlmClientConfig, l as ModelCallId, p as LlmRoutingConfig, r as LlmClient } from "./plugin-config-schema-CsKKIHq9.js";
1
+ import { i as LlmClientConfig, l as ModelCallId, p as LlmRoutingConfig, r as LlmClient } from "./plugin-config-schema-DQh5njrS.js";
2
2
  import { n as Locale } from "./locales-JxGmkG6t.js";
3
3
  import { qt as AdapterAMemoryView } from "./index-DPfJrOFD.js";
4
- import { C as MemoryStore, c as AtomicExtractionRunParameters, f as AtomicExtractionWriteResult, g as BeginAtomicExtractionChunkResult, r as AtomicExtractionLedgerKey, s as AtomicExtractionReprocessReason, x as MemoryRelationPredicate } from "./memory-store-base-yOAD7Ff8.js";
5
- import "./store-CukgAPqu.js";
6
- import "./llm-client-9XCsnmf0.js";
4
+ import { C as MemoryStore, c as AtomicExtractionRunParameters, f as AtomicExtractionWriteResult, g as BeginAtomicExtractionChunkResult, r as AtomicExtractionLedgerKey, s as AtomicExtractionReprocessReason, x as MemoryRelationPredicate } from "./memory-store-base-BHYXgsCq.js";
5
+ import "./store-Bz0y76cJ.js";
6
+ import "./llm-client-nWW1o1F6.js";
7
7
  import { z } from "zod";
8
8
  //#region src/engine/extraction/calendar-instruction.d.ts
9
9
  type CalendarPrecision = "year" | "month" | "week" | "day" | "minute";
@@ -3,21 +3,21 @@ import "./internal/engine/i18n/locales.js";
3
3
  import { $ as FIXED_MEMORY_SNO_EXTRACT_PROFILE, Q as FIXED_MEMORY_SNO_EXTRACT_CHAT } from "./signed-registry-constants-yq3DlG3B.js";
4
4
  import { redactSecrets } from "./internal/engine/security/redact.js";
5
5
  import { t as appendAuditEntry } from "./runtime-audit-log-DK6xAYxh.js";
6
- import { a as isTerminalLlmFailure, i as createLlmClient, n as LlmClientTerminalError } from "./llm-client-Z_VkmTsW.js";
6
+ import { a as isTerminalLlmFailure, i as createLlmClient, n as LlmClientTerminalError } from "./llm-client-ByzZRemn.js";
7
7
  import { n as readModelReplyJson } from "./model-reply-text-CKopStP2.js";
8
8
  import { resolveLlmRoute } from "./internal/model/llm-mode-routing.js";
9
9
  import { n as ATOMIC_EXTRACTION_SKILL_HASH, r as atomicExtractionSkillReference, t as ATOMIC_EXTRACTION_SKILL } from "./atomic-extraction-skill-CcXmuCqL.js";
10
10
  import { stripEnvelopeMetadata } from "./internal/engine/extraction/extraction-text-sanitizer.js";
11
11
  import { a as sessionZoneCarriedBy, t as calculateCalendarTime } from "./calendar-instruction-CzqZbAPG.js";
12
- import "./memory-temporality-classifier-s7TjoKB-.js";
12
+ import "./memory-temporality-classifier-Bauwnls7.js";
13
13
  import { a as parseAtomicCaptureReply, c as atomic_extraction_response_schema_default, i as fallbackAtomicCapturedFact, l as excludeProgressRecords, n as ATOMIC_ENRICHMENT_RESPONSE_JSON_SCHEMA, o as parseAtomicEnrichmentReply, r as ATOMIC_EXTRACTION_RESPONSE_JSON_SCHEMA, s as parseAtomicExtractionReply, t as ATOMIC_CAPTURE_RESPONSE_JSON_SCHEMA } from "./atomic-extraction-reply-BJ9XV_9s.js";
14
14
  import { adapterAViewFromRecord, isAdapterAVerdictReply, parseAdapterAChatVerdict, renderAdapterAChatPrompt, renderAdapterAPrompt } from "./internal/engine/rem/index.js";
15
15
  import { n as state_vocabulary_default, r as attribute_dictionary_default, t as relations } from "./relation-dictionary-Cev1kyLe.js";
16
16
  import { g as randomUUID$1 } from "./memory-store-shared-pOb59ScU.js";
17
- import { b as normalizeMemoryRelationPredicate, d as normalizeEntityName, f as recordAtomicEntityIdentityJournal, g as readAtomicArrivalRetirementCandidateSet, h as journalAtomicArrivalRetirementRefusal, m as closeAtomicArrivalRetirementTargets, u as listAtomicMemoryEntityCandidates, v as AtomicExtractionCompletedElsewhere } from "./store-DRwqWMTh.js";
17
+ import { b as normalizeMemoryRelationPredicate, d as normalizeEntityName, f as recordAtomicEntityIdentityJournal, g as readAtomicArrivalRetirementCandidateSet, h as journalAtomicArrivalRetirementRefusal, m as closeAtomicArrivalRetirementTargets, u as listAtomicMemoryEntityCandidates, v as AtomicExtractionCompletedElsewhere } from "./store-Bja1tVFw.js";
18
18
  import { o as normalizeTopicToSectionName } from "./b-profile-section-dictionary-provider-BHkoNqgk.js";
19
19
  import { r as recordTokenCounter } from "./memory-store-write-validation-B_hDG2zf.js";
20
- import { i as prepareDeterministicTaskLifecycleWrite, t as PROFILE_IDENTITY_SECTION } from "./profile-section-writer-B54r7JN1.js";
20
+ import { i as prepareDeterministicTaskLifecycleWrite, t as PROFILE_IDENTITY_SECTION } from "./profile-section-writer-CR-WWIoB.js";
21
21
  import { z } from "zod";
22
22
  import { countTokens } from "@snoai/chunking";
23
23
  import { createLogger, currentLogContext, privateLogReference, withLogContext } from "@snoai/utils/logger";
@@ -1,4 +1,4 @@
1
- import { g as ProductMode } from "./plugin-config-schema-CsKKIHq9.js";
1
+ import { g as ProductMode } from "./plugin-config-schema-DQh5njrS.js";
2
2
  import { n as Locale } from "./locales-JxGmkG6t.js";
3
3
  import { z } from "zod";
4
4
  //#region src/engine/extraction/b-profile-section-registry.d.ts
@@ -1,4 +1,4 @@
1
- import { h as MemoryCategory } from "./types-C9Hngi-p.js";
1
+ import { h as MemoryCategory } from "./types-El7jViCz.js";
2
2
  //#region src/engine/extraction/capture-policy-detector.d.ts
3
3
  declare const PROMPT_INJECTION_PATTERNS: RegExp[];
4
4
  /** Implements looks like prompt injection as the local memory capture policy operation. */
package/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Discovery } from "./internal/contract/discovery.js";
2
- import { B as Registration, F as Inspection, H as Turn, I as JsonValue, L as Message, N as HostEvent, P as InitRegistration, R as Mutation, U as UsageSignal, V as ScopeCtx, n as MemoryContract, rt as DegradedReason, tt as ContractError, y as ContractOutputs, z as RecallOptions } from "./index-GoYmsx8b.js";
2
+ import { B as Registration, F as Inspection, H as Turn, I as JsonValue, L as Message, N as HostEvent, P as InitRegistration, R as Mutation, U as UsageSignal, V as ScopeCtx, n as MemoryContract, rt as DegradedReason, tt as ContractError, y as ContractOutputs, z as RecallOptions } from "./index-Df9420Pl.js";
3
3
  //#region src/contract/client.d.ts
4
4
  export interface ConnectOptions {
5
5
  skinId: string;
@@ -641,7 +641,7 @@ async function ensureModelDownloaded(opts) {
641
641
  *
642
642
  * Self-contained: all params via constructor; no app-level config dependency.
643
643
  */
644
- const log$1$1 = createLogger("embedder:local");
644
+ const log$1 = createLogger("embedder:local");
645
645
  let sharedExtractor;
646
646
  let sharedLoading$1;
647
647
  let sharedRefCount = 0;
@@ -761,7 +761,7 @@ var LocalEmbedProvider = class {
761
761
  }
762
762
  async initPipeline() {
763
763
  const { pipeline } = await import("@huggingface/transformers");
764
- log$1$1.info("loading ONNX model", {
764
+ log$1.info("loading ONNX model", {
765
765
  model: this.modelId,
766
766
  cacheDir: this.cacheDir,
767
767
  dtype: this.dtype,
@@ -793,7 +793,7 @@ var LocalEmbedProvider = class {
793
793
  throw error;
794
794
  });
795
795
  const durationMs = Math.round(performance.now() - t0);
796
- log$1$1.info("ONNX model loaded", {
796
+ log$1.info("ONNX model loaded", {
797
797
  durationMs,
798
798
  model: this.modelId
799
799
  }, {
@@ -806,7 +806,7 @@ var LocalEmbedProvider = class {
806
806
  } catch (error) {
807
807
  const msg = error instanceof Error ? error.message : String(error);
808
808
  if (msg.includes("no such file") || msg.includes("ENOENT") || msg.includes("not found") || msg.includes("Could not locate file")) {
809
- log$1$1.error("ONNX model not found", {
809
+ log$1.error("ONNX model not found", {
810
810
  cacheDir: this.cacheDir,
811
811
  model: this.modelId
812
812
  }, {
@@ -817,7 +817,7 @@ var LocalEmbedProvider = class {
817
817
  });
818
818
  throw new ModelNotFoundError(this.modelId);
819
819
  }
820
- log$1$1.error("ONNX model init failed", { error }, {
820
+ log$1.error("ONNX model init failed", { error }, {
821
821
  event_name: "embedder.local.provider.initpipeline",
822
822
  file: "packages/embedder/src/local-provider.ts",
823
823
  function: "initPipeline",
@@ -849,7 +849,7 @@ var LocalEmbedProvider = class {
849
849
  }
850
850
  async embedDocuments(texts) {
851
851
  if (texts.length === 0) return [];
852
- log$1$1.debug("batch local embedding", { count: texts.length }, {
852
+ log$1.debug("batch local embedding", { count: texts.length }, {
853
853
  event_name: "embedder.local.provider.embeddocuments",
854
854
  file: "packages/embedder/src/local-provider.ts",
855
855
  function: "embedDocuments",
@@ -865,7 +865,7 @@ var LocalEmbedProvider = class {
865
865
  }
866
866
  async dispose() {
867
867
  if (this._disposed) return;
868
- log$1$1.debug("disposing local embedding provider", {}, {
868
+ log$1.debug("disposing local embedding provider", {}, {
869
869
  event_name: "embedder.local.provider.dispose",
870
870
  file: "packages/embedder/src/local-provider.ts",
871
871
  function: "dispose",
@@ -1326,32 +1326,15 @@ const IMPORTANCE_WEIGHT_BASE = .7;
1326
1326
  /** Minimum time decay multiplier (floor for very old entries) */
1327
1327
  const TIME_DECAY_FLOOR = .6;
1328
1328
  /**
1329
- * Relevance vs diversity tradeoff for MMR (0.7 = 70% relevance, 30% diversity).
1329
+ * Relevance vs diversity tradeoff for MMR (0.9 = 90% relevance, 10% diversity).
1330
1330
  * `applyMmrDiversity` normalizes the relevance term to [0,1] (batch-max) before
1331
1331
  * applying this weight — without that normalization, the shrinker chain above
1332
1332
  * compresses relevance so far below the [0,1] cosine-similarity diversity term
1333
1333
  * that this ratio was moot (diversity always won). Fixed 2026-07-05.
1334
1334
  */
1335
- const MMR_LAMBDA = .7;
1336
- /** Weight for fusion score in rerank blend */
1337
- const RERANK_BLEND_VECTOR = .3;
1338
- /** Weight for cross-encoder score in rerank blend */
1339
- const RERANK_BLEND_CROSS = .7;
1340
- /**
1341
- * Fusion-score weight in local cosine-blend rerank.
1342
- *
1343
- * The fused score keeps a keyword-only hit at its full keyword score, so a memory sharing one word with the query
1344
- * outranks the one that answers it; at 0.7 the local ranking passed that order through almost unchanged. Measured
1345
- * 2026-10-15 on LoCoMo (1,540 questions, the product store and retriever, weights fitted on half the conversations
1346
- * and checked on the other half): the right memory in the first five went from 27% to 68% in English and from 9% to
1347
- * 58% in a Chinese translation at 0.1 / 0.9. A candidate with no stored vector keeps its fused score and would now
1348
- * rank high; none of 27,064 candidates in 299 real local rankings lacked one.
1349
- */
1350
- const LIGHTWEIGHT_FUSION_WEIGHT = .1;
1351
- /** Cosine-similarity weight in local cosine-blend rerank */
1352
- const LIGHTWEIGHT_COSINE_WEIGHT = .9;
1353
- /** Default timeout for rerank API calls in milliseconds */
1354
- const DEFAULT_RERANK_TIMEOUT_MS = 15e3;
1335
+ const MMR_LAMBDA = .9;
1336
+ /** Maximum wait for the local reranker in milliseconds; caller deadlines may be earlier. */
1337
+ const DEFAULT_RERANK_TIMEOUT_MS = 2e3;
1355
1338
  /**
1356
1339
  * Maximum allowed list query page size; also caps each search branch
1357
1340
  * (`memory-store-search-api.ts` clamps both the semantic and the keyword branch to it), so it
@@ -1482,8 +1465,6 @@ const ADJACENCY_BONUS_CAP = DEFAULT_AGGREGATION_CONFIG.adjacencyBonusCap;
1482
1465
  const BONUS_TOTAL_INVARIANT = DEFAULT_AGGREGATION_CONFIG.bonusTotalInvariant;
1483
1466
  /** Filename for per-QA retrieval traces emitted during eval runs. */
1484
1467
  const EVAL_QA_TRACES_FILENAME = "qa_traces.jsonl";
1485
- /** Multiplicative penalty applied to unreturned candidates after rerank. */
1486
- const LIGHTWEIGHT_RERANK_PENALTY = .8;
1487
1468
  /**
1488
1469
  * Zod schema for the `recallLifecycle` config block. The whole block defaults
1489
1470
  * to `{}` so existing configs without it continue to parse and behave
@@ -1707,6 +1688,11 @@ const extractionConfigSchema = z.object({ llm: z.object({
1707
1688
  baseURL: z.string().optional(),
1708
1689
  /** Overrides provider-native env if set. */
1709
1690
  apiKey: z.string().optional(),
1691
+ usageClass: z.enum([
1692
+ "product",
1693
+ "research",
1694
+ "ops"
1695
+ ]).optional(),
1710
1696
  timeoutMs: z.number().int().min(1e3).max(3e5).default(3e4)
1711
1697
  }).strict().prefault({}) }).strict().prefault({});
1712
1698
  const memoryReflectionConfigSchema = z.object({
@@ -1786,7 +1772,20 @@ const observeConfigSchema = z.object({
1786
1772
  });
1787
1773
  //#endregion
1788
1774
  //#region config/plugin-config-retrieval-schema.ts
1789
- const log$1 = createLogger("sno-station-mem:config:retrieval");
1775
+ const log = createLogger("sno-station-mem:config:retrieval");
1776
+ /** Published remote selections now run the existing local pipeline. */
1777
+ const rerankModeSchema = z.preprocess((value) => {
1778
+ if (value !== "cross-encoder") return value;
1779
+ log.info("remote reranking retired; using the local reranker", { cause: "remote-rerank-retired" }, {
1780
+ event_name: "memory.rerank.retired",
1781
+ file: "packages/memory/config/plugin-config-retrieval-schema.ts",
1782
+ function: "rerankModeSchema",
1783
+ site_id: "memory.rerank.retired"
1784
+ });
1785
+ return "lightweight";
1786
+ }, z.enum(["lightweight", "none"]));
1787
+ /** Accept published wait settings, but use no more than the local search budget. */
1788
+ const rerankTimeoutSchema = z.number().int().min(1e3).max(12e4).transform((value) => Math.min(value, DEFAULT_RERANK_TIMEOUT_MS));
1790
1789
  const retrievalConfigSchema = z.object({
1791
1790
  mode: z.enum(["precision-recall", "vector"]).default("precision-recall"),
1792
1791
  /**
@@ -1799,14 +1798,9 @@ const retrievalConfigSchema = z.object({
1799
1798
  vectorWeight: z.number().min(0).max(1).default(DEFAULT_VECTOR_WEIGHT),
1800
1799
  bm25Weight: z.number().min(0).max(1).default(DEFAULT_BM25_WEIGHT),
1801
1800
  minScore: z.number().min(0).max(1).default(0),
1802
- rerank: z.enum([
1803
- "cross-encoder",
1804
- "lightweight",
1805
- "none"
1806
- ]).default("lightweight"),
1801
+ rerank: rerankModeSchema.default("lightweight"),
1807
1802
  candidatePoolSize: z.number().int().min(10).max(2e3).default(64),
1808
- rerankApiKey: z.string().optional(),
1809
- rerankTimeoutMs: z.number().int().min(1e3).max(12e4).default(DEFAULT_RERANK_TIMEOUT_MS),
1803
+ rerankTimeoutMs: rerankTimeoutSchema.default(DEFAULT_RERANK_TIMEOUT_MS),
1810
1804
  recencyHalfLifeDays: z.number().min(0).max(365).default(14),
1811
1805
  recencyWeight: z.number().min(0).max(RECENCY_WEIGHT_MAX).default(RECENCY_WEIGHT),
1812
1806
  /** Drop memories past their valid_until timestamp (default OFF — needs A/B eval) */
@@ -1818,10 +1812,6 @@ const retrievalConfigSchema = z.object({
1818
1812
  lengthNormAnchor: z.number().int().min(0).max(5e3).default(0),
1819
1813
  hardMinScore: z.number().min(0).max(1).default(0),
1820
1814
  timeDecayHalfLifeDays: z.number().min(0).max(365).default(60),
1821
- /** Weight for fusion score in rerank blend */
1822
- rerankBlendVector: z.number().min(0).max(1).optional(),
1823
- /** Weight for cross-encoder score in rerank blend */
1824
- rerankBlendCross: z.number().min(0).max(1).optional(),
1825
1815
  /** Fusion-score weight when rerank="lightweight" (local cosine blend) */
1826
1816
  lightweightFusionWeight: z.number().min(0).max(1).optional(),
1827
1817
  /** Cosine-score weight when rerank="lightweight" (local cosine blend) */
@@ -1832,41 +1822,11 @@ const retrievalConfigSchema = z.object({
1832
1822
  timeDecayFloor: z.number().min(0).max(1).optional(),
1833
1823
  /** Relevance vs diversity tradeoff (default: 0.7) */
1834
1824
  mmrLambda: z.number().min(0).max(1).optional(),
1835
- /** Address of Sno's reranker (the Sno GPU address plus `/rerank`). */
1836
- rerankEndpoint: z.string().optional(),
1837
- /** Cap on candidates sent to Sno's reranker in total */
1838
- rerankMaxCandidates: z.number().int().min(1).max(2e3).optional(),
1839
1825
  /** Scaling factor for access-based reinforcement (0 = disabled, default: 0.5) */
1840
1826
  reinforcementFactor: z.number().min(0).max(5).default(.5),
1841
1827
  /** Hard cap: effective half-life <= baseHalfLife * maxHalfLifeMultiplier (default: 3) */
1842
1828
  maxHalfLifeMultiplier: z.number().min(1).max(10).default(3)
1843
- }).prefault({}).transform((ret, ctx) => {
1844
- if (ret.rerank === "none") return ret;
1845
- if (ret.rerankEndpoint !== void 0) try {
1846
- new URL(ret.rerankEndpoint);
1847
- } catch {
1848
- ctx.addIssue({
1849
- code: z.ZodIssueCode.custom,
1850
- path: ["rerankEndpoint"],
1851
- message: `Invalid rerankEndpoint URL: "${ret.rerankEndpoint}"`
1852
- });
1853
- }
1854
- const rerankApiKey = ret.rerankApiKey;
1855
- if (ret.rerank === "cross-encoder" && !rerankApiKey?.trim()) {
1856
- log$1.error("memory.rerank.key.missing", { cause: "missing-rerank-key" }, {
1857
- event_name: "memory.rerank.key.missing",
1858
- file: "packages/memory/config/plugin-config-retrieval-schema.ts",
1859
- function: "retrievalConfigSchema",
1860
- site_id: "memory.rerank.key.missing"
1861
- });
1862
- ctx.addIssue({
1863
- code: z.ZodIssueCode.custom,
1864
- path: ["rerankApiKey"],
1865
- message: "retrieval.rerankApiKey is required for cross-encoder reranking"
1866
- });
1867
- }
1868
- return ret;
1869
- });
1829
+ }).prefault({});
1870
1830
  //#endregion
1871
1831
  //#region config/session-strategy.ts
1872
1832
  /** @file session-strategy.ts
@@ -2579,7 +2539,6 @@ function modelCallDestination(callId, mode, modelCalls) {
2579
2539
  }
2580
2540
  //#endregion
2581
2541
  //#region config/settings.ts
2582
- const log = createLogger("sno-station-mem:config:settings");
2583
2542
  const destination = z.enum([
2584
2543
  "off",
2585
2544
  "host",
@@ -2602,15 +2561,14 @@ const settingsSchema = z.strictObject({
2602
2561
  baseUrl: z.string(),
2603
2562
  apiKey: z.string()
2604
2563
  }),
2605
- rerank: z.strictObject({
2606
- mode: z.enum([
2607
- "lightweight",
2608
- "cross-encoder",
2609
- "none"
2610
- ]),
2611
- timeoutMs: z.number().int().min(1e3).max(12e4),
2612
- maxCandidates: z.number().int().min(1).max(2e3)
2613
- }),
2564
+ rerank: z.preprocess((value) => {
2565
+ if (typeof value !== "object" || value === null || Array.isArray(value) || !("maxCandidates" in value)) return value;
2566
+ const { maxCandidates: _retired, ...current } = value;
2567
+ return current;
2568
+ }, z.strictObject({
2569
+ mode: rerankModeSchema,
2570
+ timeoutMs: rerankTimeoutSchema
2571
+ })),
2614
2572
  store: z.strictObject({
2615
2573
  path: z.string(),
2616
2574
  encryptionKey: z.string().min(1).regex(/^[0-9a-f]{64}$/u)
@@ -2699,9 +2657,8 @@ function defaultSettings() {
2699
2657
  apiKey: ""
2700
2658
  },
2701
2659
  rerank: {
2702
- mode: "cross-encoder",
2703
- timeoutMs: engine.retrieval.rerankTimeoutMs,
2704
- maxCandidates: 64
2660
+ mode: "lightweight",
2661
+ timeoutMs: engine.retrieval.rerankTimeoutMs
2705
2662
  },
2706
2663
  store: {
2707
2664
  path: "",
@@ -2768,32 +2725,7 @@ function defaultSettings() {
2768
2725
  }
2769
2726
  };
2770
2727
  }
2771
- /**
2772
- * Recall ranking is local, or Sno's reranker: its address is the Sno GPU address and its key is the Sno GPU key. Only
2773
- * REM Enhanced calls Sno GPU; any other mode, or no key yet, ranks locally, which is the configured strategy, not an error.
2774
- */
2775
- function rerankSettings(settings) {
2776
- const { rerank, snoGpu } = settings;
2777
- let endpoint;
2778
- try {
2779
- endpoint = new URL("rerank", snoGpu.baseUrl.endsWith("/") ? snoGpu.baseUrl : `${snoGpu.baseUrl}/`).toString();
2780
- } catch {
2781
- log.warn("memory.rerank.sno_gpu_address.invalid", { cause: "snoGpu.baseUrl is not a valid address; recall ranks locally" }, {
2782
- event_name: "memory.rerank.sno_gpu_address.invalid",
2783
- file: "packages/memory/config/settings.ts",
2784
- function: "rerankSettings",
2785
- site_id: "memory.rerank.sno_gpu_address.invalid"
2786
- });
2787
- }
2788
- const local = rerank.mode !== "cross-encoder" || settings.mode !== "rem-enhanced" || !snoGpu.apiKey || endpoint === void 0;
2789
- return {
2790
- rerank: local && rerank.mode === "cross-encoder" ? "lightweight" : rerank.mode,
2791
- endpoint: local ? void 0 : endpoint,
2792
- apiKey: local ? "" : snoGpu.apiKey
2793
- };
2794
- }
2795
- function settingsToPluginConfig(settings) {
2796
- const sno = rerankSettings(settings);
2728
+ function settingsToPluginConfig(settings, usageClass) {
2797
2729
  return pluginConfigSchema.parse({
2798
2730
  mode: settings.mode,
2799
2731
  modelCalls: settings.modelCalls,
@@ -2810,13 +2742,10 @@ function settingsToPluginConfig(settings) {
2810
2742
  sessionOptions: { intraOpNumThreads: settings.embedding.threads || void 0 }
2811
2743
  },
2812
2744
  retrieval: {
2813
- rerank: sno.rerank,
2745
+ rerank: settings.rerank.mode,
2814
2746
  recallTopK: settings.recall.prompt.limit,
2815
2747
  minScore: settings.recall.prompt.minScore,
2816
- rerankEndpoint: sno.endpoint,
2817
- rerankApiKey: sno.apiKey,
2818
- rerankTimeoutMs: settings.rerank.timeoutMs,
2819
- rerankMaxCandidates: settings.rerank.maxCandidates
2748
+ rerankTimeoutMs: settings.rerank.timeoutMs
2820
2749
  },
2821
2750
  autoRecall: settings.recall.auto,
2822
2751
  autoRecallTimeoutMs: settings.recall.prompt.timeoutMs,
@@ -2837,7 +2766,8 @@ function settingsToPluginConfig(settings) {
2837
2766
  observe: settings.telemetry.observe,
2838
2767
  extraction: { llm: {
2839
2768
  baseURL: settings.snoGpu.baseUrl,
2840
- apiKey: settings.snoGpu.apiKey
2769
+ apiKey: settings.snoGpu.apiKey,
2770
+ usageClass
2841
2771
  } }
2842
2772
  });
2843
2773
  }
@@ -2997,4 +2927,4 @@ function readMaintenanceOverrides() {
2997
2927
  };
2998
2928
  }
2999
2929
  //#endregion
3000
- export { FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION as $, MAX_CHUNK_FETCH_LIMIT as $n, FIXED_PROTOCOL_VALUE_79 as $t, modelCallDestination as A, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS as An, MEMORY_CANCEL_ON_DISCONNECT_HEADER as Ar, FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES as At, FIXED_EXTERNAL_VALUE_49 as B, FTS_MERGE_INTERVAL_MS as Bn, FIXED_PROTOCOL_VALUE_63 as Bt, getSnoStationMemStateDir as C, CHUNK_OVERLAP_TOKENS as Cn, LOCAL_EMBEDDING_CACHE_DIR_DEFAULT as Cr, FIXED_MEMORY_CHUNKS_MEM_FACET_IDX as Ct, settingsToPluginConfig as D, DEFAULT_IMPORTANCE as Dn, LocalReranker as Dr, FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD as Dt, defaultSettings as E, DEFAULT_BM25_WEIGHT as En, LocalEmbedProvider as Er, FIXED_MEMORY_MEMORIES as Et, observeConfigSchema as F, EMBEDDER_DIM as Fn, MEMORY_SKIN_HEADER as Fr, FIXED_MEMORY_SNO_AI_EXTRACT as Ft, FIXED_EXTERNAL_VALUE_55 as G, INTEGRITY_CHECK_INTERVAL_MS as Gn, FIXED_PROTOCOL_VALUE_68 as Gt, FIXED_EXTERNAL_VALUE_52 as H, HEAD_EXTRACT_OVERLAP_DROP_RATIO as Hn, FIXED_PROTOCOL_VALUE_65 as Ht, extractionConfigSchema as I, EMBEDDER_MODEL_DEFAULT as In, REM_SIDECAR_TOKEN_HEADER as Ir, FIXED_MEMORY_SNO_EXTRACT_CHAT as It, FIXED_EXTERNAL_VALUE_58 as J, LIGHTWEIGHT_FUSION_WEIGHT as Jn, FIXED_PROTOCOL_VALUE_74 as Jt, FIXED_EXTERNAL_VALUE_56 as K, INTRA_MEMORY_COSINE_THRESHOLD as Kn, FIXED_PROTOCOL_VALUE_69 as Kt, memoryReflectionConfigSchema as L, EMBEDDER_PROVIDER_DEFAULT as Ln, memoryMethod as Lr, FIXED_MEMORY_SNO_EXTRACT_PROFILE as Lt, retrievalConfigSchema as M, DEFAULT_RERANK_TIMEOUT_MS as Mn, MEMORY_ERROR_STATUS as Mr, FIXED_MEMORY_PROVIDER_PROJECT_AGENTS as Mt, isObserveAgentId as N, DEFAULT_SCOPE as Nn, MEMORY_RECONNECT_INTERVAL_MS as Nr, FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS as Nt, MODEL_CALLS as O, DEFAULT_RECALL_LIFECYCLE as On, ensureModelDownloaded as Or, FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD as Ot, observeAgentId as P, DEFAULT_VECTOR_WEIGHT as Pn, MEMORY_ROUTES as Pr, FIXED_MEMORY_ROW_PATH_PATTERN as Pt, FIXED_IDX_MEMORY as Q, MAX_CANDIDATE_POOL_SIZE as Qn, FIXED_PROTOCOL_VALUE_78 as Qt, selfImprovementConfigSchema as R, EVAL_QA_TRACES_FILENAME as Rn, FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS as Rt, getSidecarSocketPath as S, CHUNK_MIN_TOKENS as Sn, CachedEmbeddingProvider as Sr, FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX as St, readSettings as T, CHUNK_TOKENIZER_MODE as Tn, LOCAL_EMBEDDING_MODEL_REVISION as Tr, FIXED_MEMORY_EXTRACTION_TIMESTAMPS as Tt, FIXED_EXTERNAL_VALUE_53 as U, HEAD_EXTRACT_TOKEN_BUDGET as Un, FIXED_PROTOCOL_VALUE_66 as Ut, FIXED_EXTERNAL_VALUE_51 as V, HEAD_EXTRACT_MIN_CONTENT_TOKENS as Vn, FIXED_PROTOCOL_VALUE_64 as Vt, FIXED_EXTERNAL_VALUE_54 as W, IMPORTANCE_WEIGHT_BASE as Wn, FIXED_PROTOCOL_VALUE_67 as Wt, FIXED_EXTERNAL_VALUE_8 as X, MAINTENANCE_TICK_MS as Xn, FIXED_PROTOCOL_VALUE_76 as Xt, FIXED_EXTERNAL_VALUE_62 as Y, LIGHTWEIGHT_RERANK_PENALTY as Yn, FIXED_PROTOCOL_VALUE_75 as Yt, FIXED_EXTERNAL_VALUE_9 as Z, MAX_AGGREGATION_RESULT_TOKENS as Zn, FIXED_PROTOCOL_VALUE_77 as Zt, readRemTestHoldMs as _, BACKUP_MIN_FREE_DISK_RATIO as _n, USAGE_OUTBOX_INTERVAL_MS as _r, FIXED_MEMORY_CHUNKS as _t, REM_MODEL_OUTPUT_TOKEN_CAP as a, PERSISTED_PROVIDER_SYSTEM as an, MULTI_HIT_BONUS_CAP as ar, FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT as at, getPrincipal as b, CHUNKING_VERSION as bn, experimentMmrDisabled as br, FIXED_MEMORY_CHUNKS_AU as bt, REM_SIDECAR_ORIGIN as c, SUPPORTED_LOCALES as cn, RECENCY_WEIGHT as cr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE as ct, getRemDiscoveryPath as d, ADJACENCY_BONUS_PER_PAIR as dn, RERANK_BLEND_CROSS as dr, FIXED_MEMORY_ACTIVE_TASK_EVIDENCE as dt, FIXED_VEC_MEMORY as en, MAX_LIST_LIMIT as er, FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE as et, getRemJobJournalPath as f, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET as fn, RERANK_BLEND_VECTOR as fr, FIXED_MEMORY_ACTIVE_TASK_INSTANCES as ft, readRemOperationalConfig as g, BACKUP_INTERVAL_MS as gn, USAGE_EVENT_RETENTION_INTERVAL_MS as gr, FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS as gt, readMaintenanceOverrides as h, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS as hn, TIME_DECAY_FLOOR as hr, FIXED_MEMORY_ACTIVE_TASK_REVISIONS as ht, REM_JOBS_PATH_PREFIX as i, PERSISTED_CONTENT_HASH_V3 as in, MMR_LAMBDA as ir, FIXED_IDX_MEMORY_MEMORIES_FACT_ID as it, SESSION_STRATEGIES as j, DEFAULT_REFLECTION_SESSION_TTL_MS as jn, MEMORY_DEFAULT_SKIN_ID as jr, FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS as jt, MODEL_CALL_WORKLOAD as k, DEFAULT_RECALL_TOKEN_BUDGET as kn, MEMORY_BODY_LIMIT_BYTES as kr, FIXED_MEMORY_MIGRATION_MARKERS as kt, REM_SOURCE as l, isSupportedLocale as ln, REFLECTION_SLICE_CACHE_TTL_MS as lr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP as lt, isRemTraceEnabled as m, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET as mn, SNO_OBSERVE_FLUSH_TIMEOUT_MS as mr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS as mt, MEMORY_USAGE_FLUSH_INTERVAL_MS as n, PERSISTED_CANDIDATE_HASH_V1 as nn, MEMORY_SHUTDOWN_TIMEOUT_MS as nr, FIXED_IDX_MEMORY_MEMORIES_CATEGORY as nt, REM_RUN_PATH as o, embeddingConfigSchema as on, MULTI_HIT_BONUS_PER_HIT as or, FIXED_IDX_MEMORY_MEMORIES_PROJECT as ot, getRemTraceLogPath as p, ATOMIC_CAPTURE_TIMEOUT_MS as pn, RETRIEVAL_STORAGE_CHUNK_PROFILE as pr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE as pt, FIXED_EXTERNAL_VALUE_57 as q, LIGHTWEIGHT_COSINE_WEIGHT as qn, FIXED_PROTOCOL_VALUE_73 as qt, REM_CORRELATION_ID_HEADER as r, PERSISTED_CONTENT_HASH_V1 as rn, MIN_RECALL_TOKEN_BUDGET as rr, FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH as rt, REM_SIDECAR_HOST as s, llmRoutingConfigSchema as sn, PLANNER_STATISTICS_INTERVAL_MS as sr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH as st, HEALTH_PATH as t, FIXED_VEC_MEMORY_CHUNKS as tn, MAX_RECALLED_TODO_TOKENS as tr, FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION as tt, getRemChassisJournalPath as u, ADJACENCY_BONUS_CAP as un, REM_TRIGGER_CHECK_INTERVAL_MS as ur, FIXED_MEMORY as ut, SettingsUnavailableError as v, BONUS_TOTAL_INVARIANT as vn, VECTOR_DIMENSION_DEFAULT as vr, FIXED_MEMORY_CHUNKS_AD as vt, getStateDir as w, CHUNK_TARGET_TOKENS as wn, LOCAL_EMBEDDING_MODEL as wr, FIXED_MEMORY_CHUNKS_MEM_IDX as wt, getSettingsPath as x, CHUNK_MAX_TOKENS as xn, recallLifecycleSchema as xr, FIXED_MEMORY_CHUNKS_FTS as xt, getDiscoveryPath as y, CACHE_TTL_MS as yn, experimentCandidatePoolOverride as yr, FIXED_MEMORY_CHUNKS_AI as yt, sessionMemoryConfigSchema as z, FORGET_QUERY_MIN_SCORE as zn, FIXED_MEMORY_UNPLACED_CANDIDATES as zt };
2930
+ export { FIXED_IDX_MEMORY_ACTIVE_TASK_CURRENT_REVISION as $, MEMORY_SHUTDOWN_TIMEOUT_MS as $n, FIXED_PROTOCOL_VALUE_79 as $t, modelCallDestination as A, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS as An, MEMORY_SKIN_HEADER as Ar, FIXED_MEMORY_PROFILE_RECOVERY_ENTRIES as At, FIXED_EXTERNAL_VALUE_49 as B, FTS_MERGE_INTERVAL_MS as Bn, FIXED_PROTOCOL_VALUE_63 as Bt, getSnoStationMemStateDir as C, CHUNK_OVERLAP_TOKENS as Cn, ensureModelDownloaded as Cr, FIXED_MEMORY_CHUNKS_MEM_FACET_IDX as Ct, settingsToPluginConfig as D, DEFAULT_IMPORTANCE as Dn, MEMORY_ERROR_STATUS as Dr, FIXED_MEMORY_MEMORIES_FACT_ID_INSERT_GUARD as Dt, defaultSettings as E, DEFAULT_BM25_WEIGHT as En, MEMORY_DEFAULT_SKIN_ID as Er, FIXED_MEMORY_MEMORIES as Et, observeConfigSchema as F, EMBEDDER_DIM as Fn, FIXED_MEMORY_SNO_AI_EXTRACT as Ft, FIXED_EXTERNAL_VALUE_55 as G, INTEGRITY_CHECK_INTERVAL_MS as Gn, FIXED_PROTOCOL_VALUE_68 as Gt, FIXED_EXTERNAL_VALUE_52 as H, HEAD_EXTRACT_OVERLAP_DROP_RATIO as Hn, FIXED_PROTOCOL_VALUE_65 as Ht, extractionConfigSchema as I, EMBEDDER_MODEL_DEFAULT as In, FIXED_MEMORY_SNO_EXTRACT_CHAT as It, FIXED_EXTERNAL_VALUE_58 as J, MAX_AGGREGATION_RESULT_TOKENS as Jn, FIXED_PROTOCOL_VALUE_74 as Jt, FIXED_EXTERNAL_VALUE_56 as K, INTRA_MEMORY_COSINE_THRESHOLD as Kn, FIXED_PROTOCOL_VALUE_69 as Kt, memoryReflectionConfigSchema as L, EMBEDDER_PROVIDER_DEFAULT as Ln, FIXED_MEMORY_SNO_EXTRACT_PROFILE as Lt, retrievalConfigSchema as M, DEFAULT_RERANK_TIMEOUT_MS as Mn, memoryMethod as Mr, FIXED_MEMORY_PROVIDER_PROJECT_AGENTS as Mt, isObserveAgentId as N, DEFAULT_SCOPE as Nn, FIXED_MEMORY_PROVIDER_PROJECT_MAPPINGS as Nt, MODEL_CALLS as O, DEFAULT_RECALL_LIFECYCLE as On, MEMORY_RECONNECT_INTERVAL_MS as Or, FIXED_MEMORY_MEMORIES_FACT_ID_UPDATE_GUARD as Ot, observeAgentId as P, DEFAULT_VECTOR_WEIGHT as Pn, FIXED_MEMORY_ROW_PATH_PATTERN as Pt, FIXED_IDX_MEMORY as Q, MAX_RECALLED_TODO_TOKENS as Qn, FIXED_PROTOCOL_VALUE_78 as Qt, selfImprovementConfigSchema as R, EVAL_QA_TRACES_FILENAME as Rn, FIXED_MEMORY_TASK_LIFECYCLE_COMMANDS as Rt, getSidecarSocketPath as S, CHUNK_MIN_TOKENS as Sn, LocalReranker as Sr, FIXED_MEMORY_CHUNKS_MEMORY_ID_IDX as St, readSettings as T, CHUNK_TOKENIZER_MODE as Tn, MEMORY_CANCEL_ON_DISCONNECT_HEADER as Tr, FIXED_MEMORY_EXTRACTION_TIMESTAMPS as Tt, FIXED_EXTERNAL_VALUE_53 as U, HEAD_EXTRACT_TOKEN_BUDGET as Un, FIXED_PROTOCOL_VALUE_66 as Ut, FIXED_EXTERNAL_VALUE_51 as V, HEAD_EXTRACT_MIN_CONTENT_TOKENS as Vn, FIXED_PROTOCOL_VALUE_64 as Vt, FIXED_EXTERNAL_VALUE_54 as W, IMPORTANCE_WEIGHT_BASE as Wn, FIXED_PROTOCOL_VALUE_67 as Wt, FIXED_EXTERNAL_VALUE_8 as X, MAX_CHUNK_FETCH_LIMIT as Xn, FIXED_PROTOCOL_VALUE_76 as Xt, FIXED_EXTERNAL_VALUE_62 as Y, MAX_CANDIDATE_POOL_SIZE as Yn, FIXED_PROTOCOL_VALUE_75 as Yt, FIXED_EXTERNAL_VALUE_9 as Z, MAX_LIST_LIMIT as Zn, FIXED_PROTOCOL_VALUE_77 as Zt, readRemTestHoldMs as _, BACKUP_MIN_FREE_DISK_RATIO as _n, CachedEmbeddingProvider as _r, FIXED_MEMORY_CHUNKS as _t, REM_MODEL_OUTPUT_TOKEN_CAP as a, PERSISTED_PROVIDER_SYSTEM as an, RECENCY_WEIGHT as ar, FIXED_IDX_MEMORY_MEMORIES_LANE_PROJECT as at, getPrincipal as b, CHUNKING_VERSION as bn, LOCAL_EMBEDDING_MODEL_REVISION as br, FIXED_MEMORY_CHUNKS_AU as bt, REM_SIDECAR_ORIGIN as c, SUPPORTED_LOCALES as cn, RETRIEVAL_STORAGE_CHUNK_PROFILE as cr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_FACT_KEY_ACTIVE as ct, getRemDiscoveryPath as d, ADJACENCY_BONUS_PER_PAIR as dn, USAGE_EVENT_RETENTION_INTERVAL_MS as dr, FIXED_MEMORY_ACTIVE_TASK_EVIDENCE as dt, FIXED_VEC_MEMORY as en, MIN_RECALL_TOKEN_BUDGET as er, FIXED_IDX_MEMORY_ACTIVE_TASK_EVIDENCE_INSTANCE as et, getRemJobJournalPath as f, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET as fn, USAGE_OUTBOX_INTERVAL_MS as fr, FIXED_MEMORY_ACTIVE_TASK_INSTANCES as ft, readRemOperationalConfig as g, BACKUP_INTERVAL_MS as gn, recallLifecycleSchema as gr, FIXED_MEMORY_ACTIVE_TASK_TRANSITIONS as gt, readMaintenanceOverrides as h, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS as hn, experimentMmrDisabled as hr, FIXED_MEMORY_ACTIVE_TASK_REVISIONS as ht, REM_JOBS_PATH_PREFIX as i, PERSISTED_CONTENT_HASH_V3 as in, PLANNER_STATISTICS_INTERVAL_MS as ir, FIXED_IDX_MEMORY_MEMORIES_FACT_ID as it, SESSION_STRATEGIES as j, DEFAULT_REFLECTION_SESSION_TTL_MS as jn, REM_SIDECAR_TOKEN_HEADER as jr, FIXED_MEMORY_PROVIDER_AGENT_MAPPINGS as jt, MODEL_CALL_WORKLOAD as k, DEFAULT_RECALL_TOKEN_BUDGET as kn, MEMORY_ROUTES as kr, FIXED_MEMORY_MIGRATION_MARKERS as kt, REM_SOURCE as l, isSupportedLocale as ln, SNO_OBSERVE_FLUSH_TIMEOUT_MS as lr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_TIMESTAMP as lt, isRemTraceEnabled as m, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET as mn, experimentCandidatePoolOverride as mr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_MANIFESTS as mt, MEMORY_USAGE_FLUSH_INTERVAL_MS as n, PERSISTED_CANDIDATE_HASH_V1 as nn, MULTI_HIT_BONUS_CAP as nr, FIXED_IDX_MEMORY_MEMORIES_CATEGORY as nt, REM_RUN_PATH as o, embeddingConfigSchema as on, REFLECTION_SLICE_CACHE_TTL_MS as or, FIXED_IDX_MEMORY_MEMORIES_PROJECT as ot, getRemTraceLogPath as p, ATOMIC_CAPTURE_TIMEOUT_MS as pn, VECTOR_DIMENSION_DEFAULT as pr, FIXED_MEMORY_ACTIVE_TASK_MIGRATION_EVIDENCE as pt, FIXED_EXTERNAL_VALUE_57 as q, MAINTENANCE_TICK_MS as qn, FIXED_PROTOCOL_VALUE_73 as qt, REM_CORRELATION_ID_HEADER as r, PERSISTED_CONTENT_HASH_V1 as rn, MULTI_HIT_BONUS_PER_HIT as rr, FIXED_IDX_MEMORY_MEMORIES_CONTENT_HASH as rt, REM_SIDECAR_HOST as s, llmRoutingConfigSchema as sn, REM_TRIGGER_CHECK_INTERVAL_MS as sr, FIXED_IDX_MEMORY_MEMORIES_PROJECT_CONTENT_HASH as st, HEALTH_PATH as t, FIXED_VEC_MEMORY_CHUNKS as tn, MMR_LAMBDA as tr, FIXED_IDX_MEMORY_ACTIVE_TASK_INSTANCES_PROJECTION as tt, getRemChassisJournalPath as u, ADJACENCY_BONUS_CAP as un, TIME_DECAY_FLOOR as ur, FIXED_MEMORY as ut, SettingsUnavailableError as v, BONUS_TOTAL_INVARIANT as vn, LOCAL_EMBEDDING_CACHE_DIR_DEFAULT as vr, FIXED_MEMORY_CHUNKS_AD as vt, getStateDir as w, CHUNK_TARGET_TOKENS as wn, MEMORY_BODY_LIMIT_BYTES as wr, FIXED_MEMORY_CHUNKS_MEM_IDX as wt, getSettingsPath as x, CHUNK_MAX_TOKENS as xn, LocalEmbedProvider as xr, FIXED_MEMORY_CHUNKS_FTS as xt, getDiscoveryPath as y, CACHE_TTL_MS as yn, LOCAL_EMBEDDING_MODEL as yr, FIXED_MEMORY_CHUNKS_AI as yt, sessionMemoryConfigSchema as z, FORGET_QUERY_MIN_SCORE as zn, FIXED_MEMORY_UNPLACED_CANDIDATES as zt };
@@ -1,4 +1,4 @@
1
- import "./types-C9Hngi-p.js";
1
+ import "./types-El7jViCz.js";
2
2
  //#region src/engine/reflection/reflection-line-loader.d.ts
3
3
  interface ReflectionLineSource {
4
4
  line: string;
@@ -1,4 +1,4 @@
1
- import { n as version, t as logSiteCatalog } from "./log-site-catalog.generated-lc-iJczN.js";
1
+ import { n as version, t as logSiteCatalog } from "./log-site-catalog.generated-DsvDgHJa.js";
2
2
  import { diagnosticProcessInstanceId, encodeDiagnostic as encodeDiagnostic$1, writeEmergencyDiagnostic as writeEmergencyDiagnostic$1 } from "@snoai/utils/log-encoder";
3
3
  //#region src/engine/observability/early-diagnostics.ts
4
4
  function bindApplication(input) {
@@ -171,57 +171,27 @@ declare const TIME_DECAY_FLOOR = .6;
171
171
  /** Dynamic memories use a shorter half-life when temporal decay is enabled */
172
172
  declare const TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR = 3;
173
173
  /**
174
- * Relevance vs diversity tradeoff for MMR (0.7 = 70% relevance, 30% diversity).
174
+ * Relevance vs diversity tradeoff for MMR (0.9 = 90% relevance, 10% diversity).
175
175
  * `applyMmrDiversity` normalizes the relevance term to [0,1] (batch-max) before
176
176
  * applying this weight — without that normalization, the shrinker chain above
177
177
  * compresses relevance so far below the [0,1] cosine-similarity diversity term
178
178
  * that this ratio was moot (diversity always won). Fixed 2026-07-05.
179
179
  */
180
- declare const MMR_LAMBDA = .7;
181
- /** Weight for fusion score in rerank blend */
182
- declare const RERANK_BLEND_VECTOR = .3;
183
- /** Weight for cross-encoder score in rerank blend */
184
- declare const RERANK_BLEND_CROSS = .7;
180
+ declare const MMR_LAMBDA = .9;
185
181
  /**
186
- * Fusion-score weight in local cosine-blend rerank.
187
- *
188
- * The fused score keeps a keyword-only hit at its full keyword score, so a memory sharing one word with the query
189
- * outranks the one that answers it; at 0.7 the local ranking passed that order through almost unchanged. Measured
190
- * 2026-10-15 on LoCoMo (1,540 questions, the product store and retriever, weights fitted on half the conversations
191
- * and checked on the other half): the right memory in the first five went from 27% to 68% in English and from 9% to
192
- * 58% in a Chinese translation at 0.1 / 0.9. A candidate with no stored vector keeps its fused score and would now
193
- * rank high; none of 27,064 candidates in 299 real local rankings lacked one.
182
+ * Fusion-score weight in the initial ranking. The local model uses the
183
+ * cosine ordering evaluated in evals/rerank-optimized-2026-10-21.
194
184
  */
195
- declare const LIGHTWEIGHT_FUSION_WEIGHT = .1;
185
+ declare const LIGHTWEIGHT_FUSION_WEIGHT = 0;
196
186
  /** Cosine-similarity weight in local cosine-blend rerank */
197
- declare const LIGHTWEIGHT_COSINE_WEIGHT = .9;
198
- /**
199
- * How many of the local ranking's first candidates the local reranker model reorders. The model puts the memory that
200
- * answers above near misses the cosine order keeps on top, in English and Chinese alike; scoring more candidates than
201
- * this found no more answers and took longer.
202
- */
203
- declare const LOCAL_RERANK_CANDIDATES = 15;
204
- /** Default timeout for rerank API calls in milliseconds */
205
- declare const DEFAULT_RERANK_TIMEOUT_MS = 15e3;
206
- /**
207
- * How many rerank batches may be in flight at once. A candidate pool of
208
- * `MAX_CANDIDATE_POOL_SIZE` divided by the reranker's per-request batch limit is 11 requests, and sending them one after another put `DEFAULT_RERANK_TIMEOUT_MS` on the clock 11 times
209
- * over. Four is what the Sno GPU serves concurrently at near-linear 4x (owner-measured
210
- * 2026-08-17); the first failing wave still ends the whole rerank, so a wedged reranker costs one
211
- * timeout rather than one per batch.
212
- */
213
- declare const DEFAULT_RERANK_BATCH_CONCURRENCY = 4;
187
+ declare const LIGHTWEIGHT_COSINE_WEIGHT = 1;
214
188
  /**
215
- * Texts per HTTP request, applied whatever `rerankMaxCandidates` allows out in total: that one
216
- * is the operator's budget, this one is the transport's own per-request limit.
217
- *
218
- * Confirmed 2026-09-14 against Sno's reranker, which answers a 51-text request
219
- * with `{"error":"too many texts: max 50, got 51"}`. It rejects an over-limit
220
- * batch outright rather than truncating it, and the retriever files that HTTP 400 as "reranker
221
- * unavailable" — so getting this wrong degrades every call to local ranking with no visible
222
- * error.
189
+ * How many of the initial ranking's candidates the local model reorders.
190
+ * Evaluation and the owner-selected default are recorded in evals/rerank-optimized-2026-10-21.
223
191
  */
224
- declare const RERANK_TEXTS_PER_REQUEST = 50;
192
+ declare const LOCAL_RERANK_CANDIDATES = 32;
193
+ /** Maximum wait for the local reranker in milliseconds; caller deadlines may be earlier. */
194
+ declare const DEFAULT_RERANK_TIMEOUT_MS = 2e3;
225
195
  /**
226
196
  * THE per-record token ceiling, and the only number of its kind in this repository (owner
227
197
  * ruling 2026-09-14). One stored memory record, one embedder input, one rerank candidate,
@@ -243,12 +213,6 @@ declare const RERANK_TEXTS_PER_REQUEST = 50;
243
213
  * a literal anywhere else.
244
214
  */
245
215
  declare const DEFAULT_MAX_CONTEXT_TOKENS = 512;
246
- /**
247
- * Tokens the ranking model's own prompt template adds to a pair, on top of the query and the
248
- * document. Measured against the deployed endpoint 2026-09-14: a 509-token pair is accepted
249
- * and reported back as 512 input tokens, and a 510-token pair is refused as 513.
250
- */
251
- declare const RERANK_PROMPT_TEMPLATE_TOKENS = 3;
252
216
  /** Maximum lines per chunk before forcing an earlier split at a line boundary */
253
217
  declare const DEFAULT_MAX_LINES_PER_CHUNK = 50;
254
218
  /** Default list query page size */
@@ -543,8 +507,6 @@ declare const EVAL_TRACE_ENABLED: boolean;
543
507
  declare const EVAL_CONFIG_SNAPSHOT_FILENAME: "config-snapshot.json";
544
508
  /** Filename for per-QA retrieval traces emitted during eval runs. */
545
509
  declare const EVAL_QA_TRACES_FILENAME: "qa_traces.jsonl";
546
- /** Multiplicative penalty applied to unreturned candidates after rerank. */
547
- declare const LIGHTWEIGHT_RERANK_PENALTY = .8;
548
510
  /** Maximum tokens kept in a sanitized FTS5 MATCH expression. */
549
511
  declare const FTS_QUERY_TOKEN_CAP = 50;
550
512
  type RecallLifecycleConfigShape = {
@@ -573,4 +535,4 @@ type RecallLifecycleConfig = z.infer<typeof recallLifecycleSchema>;
573
535
  */
574
536
  declare const DEFAULT_RECALL_LIFECYCLE: RecallLifecycleConfig;
575
537
  //#endregion
576
- export { EMBEDDER_DIM as $, REFLECTION_MAX_INVARIANTS as $t, DEFAULT_BM25_WEIGHT as A, MAX_RECALLED_TODO_TOKENS as At, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS as B, PLANNER_STATISTICS_INTERVAL_MS as Bt, CHUNK_MAX_TOKENS as C, experimentCandidatePoolOverride as Cn, MAX_AGGREGATION_RESULT_TOKENS as Ct, CHUNK_TOKENIZER_MODE as D, MAX_CHUNK_FETCH_LIMIT as Dt, CHUNK_TARGET_TOKENS as E, MAX_CHUNKS_PER_PARENT as Et, DEFAULT_MAX_LINES_PER_CHUNK as F, MIN_RECALL_TOKEN_BUDGET as Ft, DEFAULT_REFLECTION_TIMEOUT_MS as G, RECENCY_WEIGHT as Gt, DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS as H, PRECISION_RECALL_POOL_SIZE_FACTOR as Ht, DEFAULT_MIN_SCORE as I, MMR_LAMBDA as It, DEFAULT_SCOPE as J, REFLECTION_DEDUP_THRESHOLD as Jt, DEFAULT_RERANK_BATCH_CONCURRENCY as K, RECENCY_WEIGHT_MAX as Kt, DEFAULT_RECALL_LIFECYCLE as L, MULTI_HIT_BONUS_CAP as Lt, DEFAULT_IMPORTANCE as M, MAX_SESSION_RECALL_ENTRIES as Mt, DEFAULT_LIST_LIMIT as N, MAX_TRACKED_SESSIONS as Nt, COST_ESTIMATE_CACHE_TTL_MS as O, MAX_LIST_LIMIT as Ot, DEFAULT_MAX_CONTEXT_TOKENS as P, MEMORY_SHUTDOWN_TIMEOUT_MS as Pt, DELETE_BATCH_SIZE as Q, REFLECTION_MAX_FILENAME_ATTEMPTS as Qt, DEFAULT_RECALL_TOKEN_BUDGET as R, MULTI_HIT_BONUS_PER_HIT as Rt, CHUNKING_VERSION as S, VECTOR_DIMENSION_DEFAULT as Sn, MAINTENANCE_TICK_MS as St, CHUNK_OVERLAP_TOKENS as T, recallLifecycleSchema as Tn, MAX_CANDIDATE_POOL_SIZE as Tt, DEFAULT_REFLECTION_MESSAGE_COUNT as U, PROFILE_MERGE_THRESHOLD as Ut, DEFAULT_REFLECTION_MAX_INPUT_CHARS as V, PLUGIN_VERSION as Vt, DEFAULT_REFLECTION_SESSION_TTL_MS as W, RECENCY_HALF_LIFE_DAYS as Wt, DEFAULT_TOP_K as X, REFLECTION_IMPORTANCE as Xt, DEFAULT_SESSION_MESSAGE_COUNT as Y, REFLECTION_DERIVED_MAX_AGE_MS as Yt, DEFAULT_VECTOR_WEIGHT as Z, REFLECTION_MAX_DERIVED as Zt, CACHE_TTL_MS as _, TEMPORAL_WEIGHTING_DEFAULT as _n, LENGTH_NORM_ANCHOR as _t, ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP as a, RERANK_TEXTS_PER_REQUEST as an, FORGET_QUERY_DEFAULT_LIMIT as at, CAPTURE_MIN_LENGTH_CJK as b, USAGE_EVENT_RETENTION_INTERVAL_MS as bn, LIGHTWEIGHT_RERANK_PENALTY as bt, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET as c, SESSION_SUMMARY_CHUNK_TOKENS as cn, FTS_QUERY_TOKEN_CAP as ct, AUTO_RECALL_LEAN_TOP_K as d, SNIPPET_NEIGHBOR_AFTER as dn, HEAD_EXTRACT_TOKEN_BUDGET as dt, REFLECTION_SLICE_CACHE_TTL_MS as en, EMBEDDER_MODEL_DEFAULT as et, BACKUP_INTERVAL_MS as f, SNIPPET_NEIGHBOR_BEFORE as fn, IMPORTANCE_WEIGHT_BASE as ft, CACHE_SIZE as g, TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR as gn, LAST_JSON_LINE_CHUNK_BYTES as gt, BONUS_TOTAL_INVARIANT as h, SNO_OBSERVE_FLUSH_TIMEOUT_MS as hn, KILL_SWITCH_CACHE_TTL_MS as ht, ARRIVAL_RETIREMENT_CANDIDATE_CAP as i, RERANK_PROMPT_TEMPLATE_TOKENS as in, EVAL_TRACE_ENABLED as it, DEFAULT_HARD_MIN_SCORE as j, MAX_RECALL_TOOL_CANDIDATES as jt, DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH as k, MAX_RECALLED_TODOS as kt, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS as l, SESSION_SUMMARY_MAX_CHUNKS as ln, HEAD_EXTRACT_MIN_CONTENT_TOKENS as lt, BACKUP_RETENTION_COUNT as m, SNO_OBSERVE_DEFAULT_BASE_URL as mn, INTRA_MEMORY_COSINE_THRESHOLD as mt, ADJACENCY_BONUS_PER_PAIR as n, RERANK_BLEND_CROSS as nn, EVAL_CONFIG_SNAPSHOT_FILENAME as nt, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET as o, RETRIEVAL_STORAGE_CHUNK_PROFILE as on, FORGET_QUERY_MIN_SCORE as ot, BACKUP_MIN_FREE_DISK_RATIO as p, SNO_OBSERVE_DEFAULT_AGENT_ID as pn, INTEGRITY_CHECK_INTERVAL_MS as pt, DEFAULT_RERANK_TIMEOUT_MS as q, REFLECTION_DEDUP_MIN_SCORE as qt, AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH as r, RERANK_BLEND_VECTOR as rn, EVAL_QA_TRACES_FILENAME as rt, ATOMIC_CAPTURE_TIMEOUT_MS as s, RecallLifecycleConfig as sn, FTS_MERGE_INTERVAL_MS as st, ADJACENCY_BONUS_CAP as t, REM_TRIGGER_CHECK_INTERVAL_MS as tn, EMBEDDER_PROVIDER_DEFAULT as tt, AUTO_RECALL_INJECTION_TOP_K as u, SESSION_SUMMARY_MAX_INPUT_TOKENS as un, HEAD_EXTRACT_OVERLAP_DROP_RATIO as ut, CANDIDATE_POOL_SIZE as v, TIME_DECAY_FLOOR as vn, LIGHTWEIGHT_COSINE_WEIGHT as vt, CHUNK_MIN_TOKENS as w, experimentMmrDisabled as wn, MAX_AGGREGATION_ROWS as wt, CAPTURE_MIN_LENGTH_STANDARD as x, USAGE_OUTBOX_INTERVAL_MS as xn, LOCAL_RERANK_CANDIDATES as xt, CAPTURE_MAX_EMOJI_COUNT as y, TIME_DECAY_HALF_LIFE_DAYS as yn, LIGHTWEIGHT_FUSION_WEIGHT as yt, DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES as z, NOISE_MIN_TEXT_LENGTH as zt };
538
+ export { EMBEDDER_MODEL_DEFAULT as $, REM_TRIGGER_CHECK_INTERVAL_MS as $t, DEFAULT_BM25_WEIGHT as A, MAX_SESSION_RECALL_ENTRIES as At, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS as B, PRECISION_RECALL_POOL_SIZE_FACTOR as Bt, CHUNK_MAX_TOKENS as C, MAX_CANDIDATE_POOL_SIZE as Ct, CHUNK_TOKENIZER_MODE as D, MAX_RECALLED_TODOS as Dt, CHUNK_TARGET_TOKENS as E, MAX_LIST_LIMIT as Et, DEFAULT_MAX_LINES_PER_CHUNK as F, MULTI_HIT_BONUS_CAP as Ft, DEFAULT_REFLECTION_TIMEOUT_MS as G, REFLECTION_DEDUP_MIN_SCORE as Gt, DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS as H, RECENCY_HALF_LIFE_DAYS as Ht, DEFAULT_MIN_SCORE as I, MULTI_HIT_BONUS_PER_HIT as It, DEFAULT_SESSION_MESSAGE_COUNT as J, REFLECTION_IMPORTANCE as Jt, DEFAULT_RERANK_TIMEOUT_MS as K, REFLECTION_DEDUP_THRESHOLD as Kt, DEFAULT_RECALL_LIFECYCLE as L, NOISE_MIN_TEXT_LENGTH as Lt, DEFAULT_IMPORTANCE as M, MEMORY_SHUTDOWN_TIMEOUT_MS as Mt, DEFAULT_LIST_LIMIT as N, MIN_RECALL_TOKEN_BUDGET as Nt, COST_ESTIMATE_CACHE_TTL_MS as O, MAX_RECALLED_TODO_TOKENS as Ot, DEFAULT_MAX_CONTEXT_TOKENS as P, MMR_LAMBDA as Pt, EMBEDDER_DIM as Q, REFLECTION_SLICE_CACHE_TTL_MS as Qt, DEFAULT_RECALL_TOKEN_BUDGET as R, PLANNER_STATISTICS_INTERVAL_MS as Rt, CHUNKING_VERSION as S, MAX_AGGREGATION_ROWS as St, CHUNK_OVERLAP_TOKENS as T, MAX_CHUNK_FETCH_LIMIT as Tt, DEFAULT_REFLECTION_MESSAGE_COUNT as U, RECENCY_WEIGHT as Ut, DEFAULT_REFLECTION_MAX_INPUT_CHARS as V, PROFILE_MERGE_THRESHOLD as Vt, DEFAULT_REFLECTION_SESSION_TTL_MS as W, RECENCY_WEIGHT_MAX as Wt, DEFAULT_VECTOR_WEIGHT as X, REFLECTION_MAX_FILENAME_ATTEMPTS as Xt, DEFAULT_TOP_K as Y, REFLECTION_MAX_DERIVED as Yt, DELETE_BATCH_SIZE as Z, REFLECTION_MAX_INVARIANTS as Zt, CACHE_TTL_MS as _, experimentCandidatePoolOverride as _n, LIGHTWEIGHT_COSINE_WEIGHT as _t, ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP as a, SNIPPET_NEIGHBOR_AFTER as an, FORGET_QUERY_MIN_SCORE as at, CAPTURE_MIN_LENGTH_CJK as b, MAINTENANCE_TICK_MS as bt, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET as c, SNO_OBSERVE_DEFAULT_BASE_URL as cn, HEAD_EXTRACT_MIN_CONTENT_TOKENS as ct, AUTO_RECALL_LEAN_TOP_K as d, TEMPORAL_WEIGHTING_DEFAULT as dn, IMPORTANCE_WEIGHT_BASE as dt, RETRIEVAL_STORAGE_CHUNK_PROFILE as en, EMBEDDER_PROVIDER_DEFAULT as et, BACKUP_INTERVAL_MS as f, TIME_DECAY_FLOOR as fn, INTEGRITY_CHECK_INTERVAL_MS as ft, CACHE_SIZE as g, VECTOR_DIMENSION_DEFAULT as gn, LENGTH_NORM_ANCHOR as gt, BONUS_TOTAL_INVARIANT as h, USAGE_OUTBOX_INTERVAL_MS as hn, LAST_JSON_LINE_CHUNK_BYTES as ht, ARRIVAL_RETIREMENT_CANDIDATE_CAP as i, SESSION_SUMMARY_MAX_INPUT_TOKENS as in, FORGET_QUERY_DEFAULT_LIMIT as it, DEFAULT_HARD_MIN_SCORE as j, MAX_TRACKED_SESSIONS as jt, DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH as k, MAX_RECALL_TOOL_CANDIDATES as kt, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS as l, SNO_OBSERVE_FLUSH_TIMEOUT_MS as ln, HEAD_EXTRACT_OVERLAP_DROP_RATIO as lt, BACKUP_RETENTION_COUNT as m, USAGE_EVENT_RETENTION_INTERVAL_MS as mn, KILL_SWITCH_CACHE_TTL_MS as mt, ADJACENCY_BONUS_PER_PAIR as n, SESSION_SUMMARY_CHUNK_TOKENS as nn, EVAL_QA_TRACES_FILENAME as nt, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET as o, SNIPPET_NEIGHBOR_BEFORE as on, FTS_MERGE_INTERVAL_MS as ot, BACKUP_MIN_FREE_DISK_RATIO as p, TIME_DECAY_HALF_LIFE_DAYS as pn, INTRA_MEMORY_COSINE_THRESHOLD as pt, DEFAULT_SCOPE as q, REFLECTION_DERIVED_MAX_AGE_MS as qt, AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH as r, SESSION_SUMMARY_MAX_CHUNKS as rn, EVAL_TRACE_ENABLED as rt, ATOMIC_CAPTURE_TIMEOUT_MS as s, SNO_OBSERVE_DEFAULT_AGENT_ID as sn, FTS_QUERY_TOKEN_CAP as st, ADJACENCY_BONUS_CAP as t, RecallLifecycleConfig as tn, EVAL_CONFIG_SNAPSHOT_FILENAME as tt, AUTO_RECALL_INJECTION_TOP_K as u, TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR as un, HEAD_EXTRACT_TOKEN_BUDGET as ut, CANDIDATE_POOL_SIZE as v, experimentMmrDisabled as vn, LIGHTWEIGHT_FUSION_WEIGHT as vt, CHUNK_MIN_TOKENS as w, MAX_CHUNKS_PER_PARENT as wt, CAPTURE_MIN_LENGTH_STANDARD as x, MAX_AGGREGATION_RESULT_TOKENS as xt, CAPTURE_MAX_EMOJI_COUNT as y, recallLifecycleSchema as yn, LOCAL_RERANK_CANDIDATES as yt, DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES as z, PLUGIN_VERSION as zt };
@@ -1,5 +1,5 @@
1
- import { p as LlmRoutingConfig, t as PluginConfig } from "./plugin-config-schema-CsKKIHq9.js";
2
- import { g as MemoryEntry, h as MemoryCategory, t as AGGREGATION_OPERATIONS, x as RetrievalResult } from "./types-C9Hngi-p.js";
1
+ import { p as LlmRoutingConfig, t as PluginConfig } from "./plugin-config-schema-DQh5njrS.js";
2
+ import { g as MemoryEntry, h as MemoryCategory, t as AGGREGATION_OPERATIONS, x as RetrievalResult } from "./types-El7jViCz.js";
3
3
  import { r as SnoStationMemMemorySearchResult } from "./provider-runtime-types-DFhtdA6d.js";
4
4
  import { z } from "zod";
5
5
  //#region src/contract/error.d.ts
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- import { b as Settings, t as PluginConfig } from "./plugin-config-schema-CsKKIHq9.js";
2
- import "./types-C9Hngi-p.js";
1
+ import { b as Settings, t as PluginConfig } from "./plugin-config-schema-DQh5njrS.js";
2
+ import "./types-El7jViCz.js";
3
3
  import { n as AgentLlmPort } from "./agent-llm-port-BlFrD2ro.js";
4
- import { n as PluginObservability } from "./adapter-BM58hult.js";
5
- import { $ as turnSchema, A as ContractInputs, B as Registration, C as ToolResponse, D as retrievalResultSchema, E as outputSchemas, F as Inspection, G as initRegistrationSchema, H as Turn, I as JsonValue, J as messageSchema, K as inputSchemas, L as Message, M as HostDecision, N as HostEvent, O as toolResponseSchema, P as InitRegistration, Q as scopeSchema, R as Mutation, S as Result, T as memoryEntrySchema, U as UsageSignal, V as ScopeCtx, W as hostEventSchema, X as recallOptionsSchema, Y as mutationSchema, Z as registrationSchema, _ as EngineSettings, a as parseOutput, b as InspectData, c as MEMORY_DEFAULT_SKIN_ID, d as MEMORY_RECONNECT_INTERVAL_MS, et as usageSignalSchema, f as MEMORY_ROUTES, g as memoryMethod, h as REM_SIDECAR_TOKEN_HEADER, i as parseInput, j as HostContext, k as AgentModelRegistration, l as MEMORY_ERROR_STATUS, m as MEMORY_START_TIMEOUT_MS, n as MemoryContract, nt as DEGRADED_REASONS, o as MEMORY_BODY_LIMIT_BYTES, p as MEMORY_SKIN_HEADER, q as inspectionSchema, r as contractJsonSchemas, rt as DegradedReason, s as MEMORY_CANCEL_ON_DISCONNECT_HEADER, t as ContractMethod, tt as ContractError, u as MEMORY_HEALTH_TIMEOUT_MS, v as engineSettingsSchema, w as inspectDataSchema, x as ProjectSummary, y as ContractOutputs, z as RecallOptions } from "./index-GoYmsx8b.js";
4
+ import { n as PluginObservability } from "./adapter-BFtbOOw3.js";
5
+ import { $ as turnSchema, A as ContractInputs, B as Registration, C as ToolResponse, D as retrievalResultSchema, E as outputSchemas, F as Inspection, G as initRegistrationSchema, H as Turn, I as JsonValue, J as messageSchema, K as inputSchemas, L as Message, M as HostDecision, N as HostEvent, O as toolResponseSchema, P as InitRegistration, Q as scopeSchema, R as Mutation, S as Result, T as memoryEntrySchema, U as UsageSignal, V as ScopeCtx, W as hostEventSchema, X as recallOptionsSchema, Y as mutationSchema, Z as registrationSchema, _ as EngineSettings, a as parseOutput, b as InspectData, c as MEMORY_DEFAULT_SKIN_ID, d as MEMORY_RECONNECT_INTERVAL_MS, et as usageSignalSchema, f as MEMORY_ROUTES, g as memoryMethod, h as REM_SIDECAR_TOKEN_HEADER, i as parseInput, j as HostContext, k as AgentModelRegistration, l as MEMORY_ERROR_STATUS, m as MEMORY_START_TIMEOUT_MS, n as MemoryContract, nt as DEGRADED_REASONS, o as MEMORY_BODY_LIMIT_BYTES, p as MEMORY_SKIN_HEADER, q as inspectionSchema, r as contractJsonSchemas, rt as DegradedReason, s as MEMORY_CANCEL_ON_DISCONNECT_HEADER, t as ContractMethod, tt as ContractError, u as MEMORY_HEALTH_TIMEOUT_MS, v as engineSettingsSchema, w as inspectDataSchema, x as ProjectSummary, y as ContractOutputs, z as RecallOptions } from "./index-Df9420Pl.js";
6
6
  import { t as Embedder } from "./embedding-provider-client-CELWtPgt.js";
7
- import { t as MemoryRetriever } from "./retriever-BsjtyINJ.js";
8
- import { C as MemoryStore } from "./memory-store-base-yOAD7Ff8.js";
9
- import "./store-CukgAPqu.js";
10
- import { n as AccessTracker } from "./access-tracker-D-riPZRY.js";
7
+ import { t as MemoryRetriever } from "./retriever-2RJYAvlD.js";
8
+ import { C as MemoryStore } from "./memory-store-base-BHYXgsCq.js";
9
+ import "./store-Bz0y76cJ.js";
10
+ import { n as AccessTracker } from "./access-tracker-CFxRg7Bt.js";
11
11
  import { r as MemoryTelemetryUsageOutbox } from "./memory-telemetry-outbox-ddTdImt7.js";
12
- import { t as ReflectionCommandParams } from "./reflection-command-hooks-_B_XZBIz.js";
12
+ import { t as ReflectionCommandParams } from "./reflection-command-hooks-BRLqVNCi.js";
13
13
  import { createMemoryRuntime } from "./internal/engine/provider/provider-registration.js";
14
14
  //#region src/engine/contract-runtime.d.ts
15
15
  interface MemoryRuntimeServices {