@snoai/memory 1.5.0 → 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 (157) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-tracker-B1H2AJlH.d.ts → access-tracker-CFxRg7Bt.d.ts} +4 -4
  3. package/dist/{adapter-CgdVA88V.d.ts → adapter-BFtbOOw3.d.ts} +2 -2
  4. package/dist/{atomic-memory-extraction-DCMTQ0h-.d.ts → atomic-memory-extraction-Bp7AWZqi.d.ts} +4 -4
  5. package/dist/{atomic-memory-extraction-De86y7O-.js → atomic-memory-extraction-l65aofbl.js} +5 -5
  6. package/dist/{b-profile-section-dictionary-provider-DbqdRYMw.d.ts → b-profile-section-dictionary-provider-Buj_M-QA.d.ts} +1 -1
  7. package/dist/{capture-policy-detector-D4ziS7KF.d.ts → capture-policy-detector-3tDQkBi9.d.ts} +1 -1
  8. package/dist/client.d.ts +1 -1
  9. package/dist/{config-DWeuetYo.js → config-CByvnX3d.js} +57 -135
  10. package/dist/{connection-PQcq3TPO.js → connection-BtK-3r-f.js} +1 -20
  11. package/dist/{connection-3IVXpuPE.d.ts → connection-D989FqGS.d.ts} +1 -17
  12. package/dist/{derived-suppression-cache-2xOq6XHX.d.ts → derived-suppression-cache-CcANI-p7.d.ts} +1 -1
  13. package/dist/diagnostic-encoder.js +1 -1
  14. package/dist/{index-BGu91bjB.d.ts → index-CJrMFlAU.d.ts} +12 -50
  15. package/dist/{index-PjHhlG6e.d.ts → index-Df9420Pl.d.ts} +2 -2
  16. package/dist/index.d.ts +9 -9
  17. package/dist/index.js +5 -5
  18. package/dist/internal/config/index.d.ts +2 -2
  19. package/dist/internal/config/index.js +13 -51
  20. package/dist/internal/config/plugin-config-schema.d.ts +1 -1
  21. package/dist/internal/config/plugin-config-schema.js +1 -1
  22. package/dist/internal/config/product-mode.d.ts +1 -1
  23. package/dist/internal/config/settings.d.ts +1 -1
  24. package/dist/internal/config/settings.js +17 -48
  25. package/dist/internal/config/skin-defaults.d.ts +1 -1
  26. package/dist/internal/contract/profile.d.ts +1 -1
  27. package/dist/internal/contract/routes.d.ts +1 -1
  28. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +4 -4
  29. package/dist/internal/engine/bindings/memory-forget-tool.js +1 -1
  30. package/dist/internal/engine/bindings/memory-list-tool.js +1 -1
  31. package/dist/internal/engine/bindings/memory-recall-tool.js +1 -1
  32. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +1 -1
  33. package/dist/internal/engine/bindings/memory-stats-tool.js +1 -1
  34. package/dist/internal/engine/bindings/memory-store-tool.js +3 -3
  35. package/dist/internal/engine/bindings/memory-tool-access.d.ts +1 -1
  36. package/dist/internal/engine/bindings/memory-tool-access.js +1 -1
  37. package/dist/internal/engine/bindings/memory-tool-results.d.ts +1 -1
  38. package/dist/internal/engine/bindings/memory-tool-results.js +1 -1
  39. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +5 -5
  40. package/dist/internal/engine/bindings/memory-tool-schemas.js +1 -1
  41. package/dist/internal/engine/bindings/memory-update-tool.js +2 -2
  42. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +4 -4
  43. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +3 -3
  44. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +4 -4
  45. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +1 -1
  46. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +5 -5
  47. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +3 -2
  48. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +2 -2
  49. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +3 -3
  50. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +1 -1
  51. package/dist/internal/engine/eval/trace.js +3 -4
  52. package/dist/internal/engine/extraction/atomic-memory-extraction.d.ts +1 -1
  53. package/dist/internal/engine/extraction/atomic-memory-extraction.js +1 -1
  54. package/dist/internal/engine/extraction/b-profile-section-dictionary-provider.d.ts +1 -1
  55. package/dist/internal/engine/extraction/b-profile-section-rekey.d.ts +5 -5
  56. package/dist/internal/engine/extraction/capture-policy-detector.d.ts +1 -1
  57. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
  58. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  59. package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -1
  60. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  61. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  62. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  63. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  64. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  65. package/dist/internal/engine/observability/observable-memory-store.js +1 -1
  66. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  67. package/dist/internal/engine/observability/observable-retriever.js +1 -1
  68. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +1 -1
  69. package/dist/internal/engine/observability/runtime-diagnostics.js +2 -2
  70. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  71. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  72. package/dist/internal/engine/provider/provider-registration.d.ts +4 -4
  73. package/dist/internal/engine/provider/provider-row-renderer.d.ts +1 -1
  74. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  75. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -1
  76. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  77. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  78. package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -1
  79. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  80. package/dist/internal/engine/reflection/reflection-injection-hooks.js +1 -1
  81. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  82. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +1 -1
  83. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  84. package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
  85. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  86. package/dist/internal/engine/retrieval/retriever.d.ts +2 -2
  87. package/dist/internal/engine/retrieval/retriever.js +2 -2
  88. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  89. package/dist/internal/engine/shared/paths.d.ts +2 -2
  90. package/dist/internal/engine/shared/types.d.ts +2 -2
  91. package/dist/internal/engine/shared/types.js +1 -1
  92. package/dist/internal/engine/telemetry/observe-ledger.d.ts +1 -1
  93. package/dist/internal/model/llm-client.d.ts +2 -2
  94. package/dist/internal/model/llm-client.js +1 -1
  95. package/dist/internal/model/llm-mode-routing.d.ts +1 -1
  96. package/dist/internal/model/llm-mode-routing.js +1 -1
  97. package/dist/internal/store/atomic-memory-cutover-sql.js +1 -1
  98. package/dist/internal/store/connection.d.ts +2 -2
  99. package/dist/internal/store/connection.js +2 -2
  100. package/dist/internal/store/maintenance.d.ts +2 -2
  101. package/dist/internal/store/maintenance.js +5 -5
  102. package/dist/internal/store/memory-kinds-cutover-migrator.d.ts +0 -2
  103. package/dist/internal/store/memory-kinds-cutover-migrator.js +1 -10
  104. package/dist/internal/store/store.d.ts +2 -2
  105. package/dist/internal/store/store.js +1 -1
  106. package/dist/{llm-client-DDdUjYWS.js → llm-client-ByzZRemn.js} +8 -5
  107. package/dist/{llm-client-C-K7oyfu.d.ts → llm-client-nWW1o1F6.d.ts} +1 -1
  108. package/dist/{log-site-catalog.generated-Cn8rTa65.js → log-site-catalog.generated-DsvDgHJa.js} +101 -171
  109. package/dist/log-site-catalog.json +1 -1
  110. package/dist/{memory-entry-projector-DHo8jH10.js → memory-entry-projector-B36Nwsi_.js} +2 -1
  111. package/dist/{memory-kind-policy-DgPCjfY4.d.ts → memory-kind-policy-BMebgugU.d.ts} +1 -1
  112. package/dist/{memory-metadata-codec-CfP9JLVO.d.ts → memory-metadata-codec-H8BniJM3.d.ts} +1 -1
  113. package/dist/{memory-runtime-jQke2sBc.js → memory-runtime-DXr1VO1p.js} +110 -175
  114. package/dist/{memory-snapshot-B6a-6nJ7.d.ts → memory-snapshot-CKnQovB5.d.ts} +2 -2
  115. package/dist/{memory-store-base-upd9MuG6.d.ts → memory-store-base-BHYXgsCq.d.ts} +4 -4
  116. package/dist/{memory-store-shared-CURizQIy.js → memory-store-shared-pOb59ScU.js} +1 -1
  117. package/dist/{memory-temporality-classifier-BwBKEQbL.js → memory-temporality-classifier-Bauwnls7.js} +2 -2
  118. package/dist/{memory-temporality-classifier-DPk3_9Or.d.ts → memory-temporality-classifier-Wi6WWeAj.d.ts} +1 -1
  119. package/dist/{memory-tier-promoter-Cq23yveQ.d.ts → memory-tier-promoter-m60-RlAj.d.ts} +1 -1
  120. package/dist/{memory-tool-dependencies-aAr7Pkuj.js → memory-tool-dependencies-Cc4SJMtd.js} +1 -1
  121. package/dist/memory-tool-dependencies-D2fOC-KL.d.ts +14 -0
  122. package/dist/{model-call-table-DoIl2S0P.js → model-call-table-CPyQfBJ6.js} +7 -7
  123. package/dist/{observable-embedder-DihQuuQD.d.ts → observable-embedder-0FwxJMhJ.d.ts} +1 -1
  124. package/dist/{observable-llm-client-BglDBFN5.d.ts → observable-llm-client-DY7w1Fj1.d.ts} +3 -3
  125. package/dist/{observable-memory-store--n02Dre8.d.ts → observable-memory-store-C25Q_hoW.d.ts} +4 -4
  126. package/dist/{observable-retriever-CV6odifA.d.ts → observable-retriever-Cs9Bwzq6.d.ts} +5 -5
  127. package/dist/paths-obFSsJv3.d.ts +1 -0
  128. package/dist/{plugin-config-schema-D9riSXDg.js → plugin-config-schema-D-IoHmis.js} +22 -43
  129. package/dist/{plugin-config-schema-dV2_HgBo.d.ts → plugin-config-schema-DQh5njrS.d.ts} +9 -11
  130. package/dist/{profile-CoLKGobS.d.ts → profile-CcvVR6K8.d.ts} +1 -1
  131. package/dist/{profile-section-writer-Dd4FKpt5.js → profile-section-writer-CR-WWIoB.js} +2 -2
  132. package/dist/{reflection-command-hooks-Cfv836Wc.d.ts → reflection-command-hooks-BRLqVNCi.d.ts} +4 -4
  133. package/dist/{reflection-command-hooks-B2P4zDr6.js → reflection-command-hooks-Der9aX0e.js} +6 -4
  134. package/dist/{reflection-deps-DihlwQxE.d.ts → reflection-deps-C0TJ-gpU.d.ts} +2 -2
  135. package/dist/{reflection-embedded-generator-DV-NkeU-.js → reflection-embedded-generator-BEdDusPV.js} +2 -1
  136. package/dist/{reflection-embedded-generator-DCZaS6kz.d.ts → reflection-embedded-generator-Cs59hWYr.d.ts} +3 -3
  137. package/dist/{reflection-injection-hooks-BYxkrds6.d.ts → reflection-injection-hooks-Cy4bRemm.d.ts} +4 -4
  138. package/dist/{reflection-lifecycle-hooks-Bwq2y5pe.d.ts → reflection-lifecycle-hooks-C-lf00DB.d.ts} +3 -3
  139. package/dist/{rem-batch-executor-B_49KivZ.js → rem-batch-executor-DiU8hSGc.js} +1 -1
  140. package/dist/{rem-trigger-DL0MlLeo.js → rem-trigger-CBfyJVfh.js} +48 -432
  141. package/dist/{retriever-hTIkt3CJ.d.ts → retriever-2RJYAvlD.d.ts} +10 -52
  142. package/dist/{retriever-CsBW6MZv.js → retriever-C54bXeDh.js} +30 -452
  143. package/dist/{runtime-audit-log-eBrt_iPp.d.ts → runtime-audit-log-D2Hqk_kl.d.ts} +1 -1
  144. package/dist/{server-BnBzsvMF.js → server-BlbG5uOM.js} +4 -4
  145. package/dist/sidecar/main.js +2 -2
  146. package/dist/sno-station-mem-runtime-dependencies-ByI3b-wB.d.ts +31 -0
  147. package/dist/{sno-station-mem-runtime-dependencies-DrVDRAmf.js → sno-station-mem-runtime-dependencies-DsidkZi2.js} +7 -7
  148. package/dist/{store-COwW7mIh.js → store-Bja1tVFw.js} +3 -3
  149. package/dist/{store-DEG06TLb.d.ts → store-Bz0y76cJ.d.ts} +1 -1
  150. package/dist/{strategy-hook-runner-CALbWcys.js → strategy-hook-runner-F-ruiw48.js} +2 -2
  151. package/dist/{strategy-hook-runner-D1sRVThs.d.ts → strategy-hook-runner-vbrWiDbK.d.ts} +7 -7
  152. package/dist/{types-DBEwNYdR.d.ts → types-El7jViCz.d.ts} +1 -1
  153. package/package.json +1 -1
  154. package/settings.default.json +2 -3
  155. package/dist/memory-tool-dependencies-C9qgVGOn.d.ts +0 -14
  156. package/dist/paths-qJqwGcKl.d.ts +0 -1
  157. package/dist/sno-station-mem-runtime-dependencies-9L8WkMMV.d.ts +0 -31
@@ -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-dV2_HgBo.js";
2
- import { g as MemoryEntry, h as MemoryCategory, t as AGGREGATION_OPERATIONS, x as RetrievalResult } from "./types-DBEwNYdR.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-dV2_HgBo.js";
2
- import "./types-DBEwNYdR.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-CgdVA88V.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-PjHhlG6e.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-hTIkt3CJ.js";
8
- import { C as MemoryStore } from "./memory-store-base-upd9MuG6.js";
9
- import "./store-DEG06TLb.js";
10
- import { n as AccessTracker } from "./access-tracker-B1H2AJlH.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-Cfv836Wc.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 {
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as selfImprovementConfigSchema, c as SESSION_STRATEGIES, i as memoryReflectionConfigSchema, n as retrievalConfigSchema, o as sessionMemoryConfigSchema, r as extractionConfigSchema, s as embeddingConfigSchema } from "./plugin-config-schema-D9riSXDg.js";
1
+ import { a as extractionConfigSchema, c as sessionMemoryConfigSchema, i as retrievalConfigSchema, l as embeddingConfigSchema, o as memoryReflectionConfigSchema, s as selfImprovementConfigSchema, u as SESSION_STRATEGIES } from "./plugin-config-schema-D-IoHmis.js";
2
2
  import { recallLifecycleSchema } from "./internal/config/index.js";
3
3
  import { n as observeConfigSchema } from "./plugin-config-observe-schema-ue9XxUj_.js";
4
4
  import { AGGREGATION_OPERATIONS, MEMORY_CATEGORIES } from "./internal/engine/shared/types.js";
@@ -12,21 +12,21 @@ import { pruneOldestEntries, setLruEntry } from "./internal/engine/shared/lru.js
12
12
  import { m as CODING_SKIN_SESSION_QUERY, o as CODING_SKIN_LEDGER_MAX_CHARS } from "./coding-skin-azRXA51Z.js";
13
13
  import { defaultSettings } from "./internal/config/settings.js";
14
14
  import { t as appendAuditEntry } from "./runtime-audit-log-DK6xAYxh.js";
15
- import { i as createLlmClient } from "./llm-client-DDdUjYWS.js";
15
+ import { i as createLlmClient } from "./llm-client-ByzZRemn.js";
16
16
  import { pickLlmRoutingConfig } from "./internal/model/llm-mode-routing.js";
17
17
  import { a as parseAgentIdFromSessionKey, n as createScopePolicy, t as MemoryScopePolicy } from "./memory-scope-policy--TiLZnrE.js";
18
- import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "./memory-temporality-classifier-BwBKEQbL.js";
18
+ import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "./memory-temporality-classifier-Bauwnls7.js";
19
19
  import { resolveAgentAccess, resolveAgentId } from "./internal/engine/bindings/memory-tool-access.js";
20
20
  import { r as retrieveForAutoRecall, t as isOpenRecallMetadata } from "./rem-consumer-retrieval-BhS1ivcd.js";
21
21
  import { executeMemoryRecallTool } from "./internal/engine/bindings/memory-recall-tool.js";
22
- import { t as createReflectionStrategyState } from "./strategy-hook-runner-CALbWcys.js";
22
+ import { t as createReflectionStrategyState } from "./strategy-hook-runner-F-ruiw48.js";
23
23
  import { buildInsightDistiller } from "./internal/engine/bindings/sno-station-mem-insight-distill-factory.js";
24
24
  import { onAgentEnd } from "./internal/engine/bindings/sno-station-mem-ambient-learning-hook.js";
25
25
  import { executeMemoryStoreTool } from "./internal/engine/bindings/memory-store-tool.js";
26
26
  import { executeMemoryForgetTool } from "./internal/engine/bindings/memory-forget-tool.js";
27
27
  import { executeMemoryUpdateTool } from "./internal/engine/bindings/memory-update-tool.js";
28
28
  import { executeMemoryReflectionResolveTool } from "./internal/engine/bindings/memory-reflection-resolve-tool.js";
29
- import { t as createRunMemoryReflection } from "./reflection-command-hooks-B2P4zDr6.js";
29
+ import { t as createRunMemoryReflection } from "./reflection-command-hooks-Der9aX0e.js";
30
30
  import { createReflectionLifecycleHandler1, createReflectionLifecycleHandler2 } from "./internal/engine/reflection/reflection-lifecycle-hooks.js";
31
31
  import { createReflectionInjectionHandler1, createReflectionInjectionHandler2, createReflectionInjectionHandler3 } from "./internal/engine/reflection/reflection-injection-hooks.js";
32
32
  import { z } from "zod";
@@ -1,2 +1,2 @@
1
- import { $ as EMBEDDER_DIM, $t as REFLECTION_MAX_INVARIANTS, A as DEFAULT_BM25_WEIGHT, At as MAX_RECALLED_TODO_TOKENS, B as DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, Bt as PLANNER_STATISTICS_INTERVAL_MS, C as CHUNK_MAX_TOKENS, Cn as experimentCandidatePoolOverride, Ct as MAX_AGGREGATION_RESULT_TOKENS, D as CHUNK_TOKENIZER_MODE, Dt as MAX_CHUNK_FETCH_LIMIT, E as CHUNK_TARGET_TOKENS, Et as MAX_CHUNKS_PER_PARENT, F as DEFAULT_MAX_LINES_PER_CHUNK, Ft as MIN_RECALL_TOKEN_BUDGET, G as DEFAULT_REFLECTION_TIMEOUT_MS, Gt as RECENCY_WEIGHT, H as DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS, Ht as PRECISION_RECALL_POOL_SIZE_FACTOR, I as DEFAULT_MIN_SCORE, It as MMR_LAMBDA, J as DEFAULT_SCOPE, Jt as REFLECTION_DEDUP_THRESHOLD, K as DEFAULT_RERANK_BATCH_CONCURRENCY, Kt as RECENCY_WEIGHT_MAX, L as DEFAULT_RECALL_LIFECYCLE, Lt as MULTI_HIT_BONUS_CAP, M as DEFAULT_IMPORTANCE, Mt as MAX_SESSION_RECALL_ENTRIES, N as DEFAULT_LIST_LIMIT, Nt as MAX_TRACKED_SESSIONS, O as COST_ESTIMATE_CACHE_TTL_MS, Ot as MAX_LIST_LIMIT, P as DEFAULT_MAX_CONTEXT_TOKENS, Pt as MEMORY_SHUTDOWN_TIMEOUT_MS, Q as DELETE_BATCH_SIZE, Qt as REFLECTION_MAX_FILENAME_ATTEMPTS, R as DEFAULT_RECALL_TOKEN_BUDGET, Rt as MULTI_HIT_BONUS_PER_HIT, S as CHUNKING_VERSION, Sn as VECTOR_DIMENSION_DEFAULT, St as MAINTENANCE_TICK_MS, T as CHUNK_OVERLAP_TOKENS, Tn as recallLifecycleSchema, Tt as MAX_CANDIDATE_POOL_SIZE, U as DEFAULT_REFLECTION_MESSAGE_COUNT, Ut as PROFILE_MERGE_THRESHOLD, V as DEFAULT_REFLECTION_MAX_INPUT_CHARS, Vt as PLUGIN_VERSION, W as DEFAULT_REFLECTION_SESSION_TTL_MS, Wt as RECENCY_HALF_LIFE_DAYS, X as DEFAULT_TOP_K, Xt as REFLECTION_IMPORTANCE, Y as DEFAULT_SESSION_MESSAGE_COUNT, Yt as REFLECTION_DERIVED_MAX_AGE_MS, Z as DEFAULT_VECTOR_WEIGHT, Zt as REFLECTION_MAX_DERIVED, _ as CACHE_TTL_MS, _n as TEMPORAL_WEIGHTING_DEFAULT, _t as LENGTH_NORM_ANCHOR, a as ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP, an as RERANK_TEXTS_PER_REQUEST, at as FORGET_QUERY_DEFAULT_LIMIT, b as CAPTURE_MIN_LENGTH_CJK, bn as USAGE_EVENT_RETENTION_INTERVAL_MS, bt as LIGHTWEIGHT_RERANK_PENALTY, c as ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET, cn as SESSION_SUMMARY_CHUNK_TOKENS, ct as FTS_QUERY_TOKEN_CAP, d as AUTO_RECALL_LEAN_TOP_K, dn as SNIPPET_NEIGHBOR_AFTER, dt as HEAD_EXTRACT_TOKEN_BUDGET, en as REFLECTION_SLICE_CACHE_TTL_MS, et as EMBEDDER_MODEL_DEFAULT, f as BACKUP_INTERVAL_MS, fn as SNIPPET_NEIGHBOR_BEFORE, ft as IMPORTANCE_WEIGHT_BASE, g as CACHE_SIZE, gn as TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR, gt as LAST_JSON_LINE_CHUNK_BYTES, h as BONUS_TOTAL_INVARIANT, hn as SNO_OBSERVE_FLUSH_TIMEOUT_MS, ht as KILL_SWITCH_CACHE_TTL_MS, i as ARRIVAL_RETIREMENT_CANDIDATE_CAP, in as RERANK_PROMPT_TEMPLATE_TOKENS, it as EVAL_TRACE_ENABLED, j as DEFAULT_HARD_MIN_SCORE, jt as MAX_RECALL_TOOL_CANDIDATES, k as DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, kt as MAX_RECALLED_TODOS, l as ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, ln as SESSION_SUMMARY_MAX_CHUNKS, lt as HEAD_EXTRACT_MIN_CONTENT_TOKENS, m as BACKUP_RETENTION_COUNT, mn as SNO_OBSERVE_DEFAULT_BASE_URL, mt as INTRA_MEMORY_COSINE_THRESHOLD, n as ADJACENCY_BONUS_PER_PAIR, nn as RERANK_BLEND_CROSS, nt as EVAL_CONFIG_SNAPSHOT_FILENAME, o as ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, on as RETRIEVAL_STORAGE_CHUNK_PROFILE, ot as FORGET_QUERY_MIN_SCORE, p as BACKUP_MIN_FREE_DISK_RATIO, pn as SNO_OBSERVE_DEFAULT_AGENT_ID, pt as INTEGRITY_CHECK_INTERVAL_MS, q as DEFAULT_RERANK_TIMEOUT_MS, qt as REFLECTION_DEDUP_MIN_SCORE, r as AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH, rn as RERANK_BLEND_VECTOR, rt as EVAL_QA_TRACES_FILENAME, s as ATOMIC_CAPTURE_TIMEOUT_MS, sn as RecallLifecycleConfig, st as FTS_MERGE_INTERVAL_MS, t as ADJACENCY_BONUS_CAP, tn as REM_TRIGGER_CHECK_INTERVAL_MS, tt as EMBEDDER_PROVIDER_DEFAULT, u as AUTO_RECALL_INJECTION_TOP_K, un as SESSION_SUMMARY_MAX_INPUT_TOKENS, ut as HEAD_EXTRACT_OVERLAP_DROP_RATIO, v as CANDIDATE_POOL_SIZE, vn as TIME_DECAY_FLOOR, vt as LIGHTWEIGHT_COSINE_WEIGHT, w as CHUNK_MIN_TOKENS, wn as experimentMmrDisabled, wt as MAX_AGGREGATION_ROWS, x as CAPTURE_MIN_LENGTH_STANDARD, xn as USAGE_OUTBOX_INTERVAL_MS, xt as LOCAL_RERANK_CANDIDATES, y as CAPTURE_MAX_EMOJI_COUNT, yn as TIME_DECAY_HALF_LIFE_DAYS, yt as LIGHTWEIGHT_FUSION_WEIGHT, z as DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES, zt as NOISE_MIN_TEXT_LENGTH } from "../../index-BGu91bjB.js";
2
- export { ADJACENCY_BONUS_CAP, ADJACENCY_BONUS_PER_PAIR, AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH, ARRIVAL_RETIREMENT_CANDIDATE_CAP, ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, ATOMIC_CAPTURE_TIMEOUT_MS, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, AUTO_RECALL_INJECTION_TOP_K, AUTO_RECALL_LEAN_TOP_K, BACKUP_INTERVAL_MS, BACKUP_MIN_FREE_DISK_RATIO, BACKUP_RETENTION_COUNT, BONUS_TOTAL_INVARIANT, CACHE_SIZE, CACHE_TTL_MS, CANDIDATE_POOL_SIZE, CAPTURE_MAX_EMOJI_COUNT, CAPTURE_MIN_LENGTH_CJK, CAPTURE_MIN_LENGTH_STANDARD, CHUNKING_VERSION, CHUNK_MAX_TOKENS, CHUNK_MIN_TOKENS, CHUNK_OVERLAP_TOKENS, CHUNK_TARGET_TOKENS, CHUNK_TOKENIZER_MODE, COST_ESTIMATE_CACHE_TTL_MS, DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, DEFAULT_BM25_WEIGHT, DEFAULT_HARD_MIN_SCORE, DEFAULT_IMPORTANCE, DEFAULT_LIST_LIMIT, DEFAULT_MAX_CONTEXT_TOKENS, DEFAULT_MAX_LINES_PER_CHUNK, DEFAULT_MIN_SCORE, DEFAULT_RECALL_LIFECYCLE, DEFAULT_RECALL_TOKEN_BUDGET, DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, DEFAULT_REFLECTION_MAX_INPUT_CHARS, DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS, DEFAULT_REFLECTION_MESSAGE_COUNT, DEFAULT_REFLECTION_SESSION_TTL_MS, DEFAULT_REFLECTION_TIMEOUT_MS, DEFAULT_RERANK_BATCH_CONCURRENCY, DEFAULT_RERANK_TIMEOUT_MS, DEFAULT_SCOPE, DEFAULT_SESSION_MESSAGE_COUNT, DEFAULT_TOP_K, DEFAULT_VECTOR_WEIGHT, DELETE_BATCH_SIZE, EMBEDDER_DIM, EMBEDDER_MODEL_DEFAULT, EMBEDDER_PROVIDER_DEFAULT, EVAL_CONFIG_SNAPSHOT_FILENAME, EVAL_QA_TRACES_FILENAME, EVAL_TRACE_ENABLED, FORGET_QUERY_DEFAULT_LIMIT, FORGET_QUERY_MIN_SCORE, FTS_MERGE_INTERVAL_MS, FTS_QUERY_TOKEN_CAP, HEAD_EXTRACT_MIN_CONTENT_TOKENS, HEAD_EXTRACT_OVERLAP_DROP_RATIO, HEAD_EXTRACT_TOKEN_BUDGET, IMPORTANCE_WEIGHT_BASE, INTEGRITY_CHECK_INTERVAL_MS, INTRA_MEMORY_COSINE_THRESHOLD, KILL_SWITCH_CACHE_TTL_MS, LAST_JSON_LINE_CHUNK_BYTES, LENGTH_NORM_ANCHOR, LIGHTWEIGHT_COSINE_WEIGHT, LIGHTWEIGHT_FUSION_WEIGHT, LIGHTWEIGHT_RERANK_PENALTY, LOCAL_RERANK_CANDIDATES, MAINTENANCE_TICK_MS, MAX_AGGREGATION_RESULT_TOKENS, MAX_AGGREGATION_ROWS, MAX_CANDIDATE_POOL_SIZE, MAX_CHUNKS_PER_PARENT, MAX_CHUNK_FETCH_LIMIT, MAX_LIST_LIMIT, MAX_RECALLED_TODOS, MAX_RECALLED_TODO_TOKENS, MAX_RECALL_TOOL_CANDIDATES, MAX_SESSION_RECALL_ENTRIES, MAX_TRACKED_SESSIONS, MEMORY_SHUTDOWN_TIMEOUT_MS, MIN_RECALL_TOKEN_BUDGET, MMR_LAMBDA, MULTI_HIT_BONUS_CAP, MULTI_HIT_BONUS_PER_HIT, NOISE_MIN_TEXT_LENGTH, PLANNER_STATISTICS_INTERVAL_MS, PLUGIN_VERSION, PRECISION_RECALL_POOL_SIZE_FACTOR, PROFILE_MERGE_THRESHOLD, RECENCY_HALF_LIFE_DAYS, RECENCY_WEIGHT, RECENCY_WEIGHT_MAX, REFLECTION_DEDUP_MIN_SCORE, REFLECTION_DEDUP_THRESHOLD, REFLECTION_DERIVED_MAX_AGE_MS, REFLECTION_IMPORTANCE, REFLECTION_MAX_DERIVED, REFLECTION_MAX_FILENAME_ATTEMPTS, REFLECTION_MAX_INVARIANTS, REFLECTION_SLICE_CACHE_TTL_MS, REM_TRIGGER_CHECK_INTERVAL_MS, RERANK_BLEND_CROSS, RERANK_BLEND_VECTOR, RERANK_PROMPT_TEMPLATE_TOKENS, RERANK_TEXTS_PER_REQUEST, RETRIEVAL_STORAGE_CHUNK_PROFILE, RecallLifecycleConfig, SESSION_SUMMARY_CHUNK_TOKENS, SESSION_SUMMARY_MAX_CHUNKS, SESSION_SUMMARY_MAX_INPUT_TOKENS, SNIPPET_NEIGHBOR_AFTER, SNIPPET_NEIGHBOR_BEFORE, SNO_OBSERVE_DEFAULT_AGENT_ID, SNO_OBSERVE_DEFAULT_BASE_URL, SNO_OBSERVE_FLUSH_TIMEOUT_MS, TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR, TEMPORAL_WEIGHTING_DEFAULT, TIME_DECAY_FLOOR, TIME_DECAY_HALF_LIFE_DAYS, USAGE_EVENT_RETENTION_INTERVAL_MS, USAGE_OUTBOX_INTERVAL_MS, VECTOR_DIMENSION_DEFAULT, experimentCandidatePoolOverride, experimentMmrDisabled, recallLifecycleSchema };
1
+ import { $ as EMBEDDER_MODEL_DEFAULT, $t as REM_TRIGGER_CHECK_INTERVAL_MS, A as DEFAULT_BM25_WEIGHT, At as MAX_SESSION_RECALL_ENTRIES, B as DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, Bt as PRECISION_RECALL_POOL_SIZE_FACTOR, C as CHUNK_MAX_TOKENS, Ct as MAX_CANDIDATE_POOL_SIZE, D as CHUNK_TOKENIZER_MODE, Dt as MAX_RECALLED_TODOS, E as CHUNK_TARGET_TOKENS, Et as MAX_LIST_LIMIT, F as DEFAULT_MAX_LINES_PER_CHUNK, Ft as MULTI_HIT_BONUS_CAP, G as DEFAULT_REFLECTION_TIMEOUT_MS, Gt as REFLECTION_DEDUP_MIN_SCORE, H as DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS, Ht as RECENCY_HALF_LIFE_DAYS, I as DEFAULT_MIN_SCORE, It as MULTI_HIT_BONUS_PER_HIT, J as DEFAULT_SESSION_MESSAGE_COUNT, Jt as REFLECTION_IMPORTANCE, K as DEFAULT_RERANK_TIMEOUT_MS, Kt as REFLECTION_DEDUP_THRESHOLD, L as DEFAULT_RECALL_LIFECYCLE, Lt as NOISE_MIN_TEXT_LENGTH, M as DEFAULT_IMPORTANCE, Mt as MEMORY_SHUTDOWN_TIMEOUT_MS, N as DEFAULT_LIST_LIMIT, Nt as MIN_RECALL_TOKEN_BUDGET, O as COST_ESTIMATE_CACHE_TTL_MS, Ot as MAX_RECALLED_TODO_TOKENS, P as DEFAULT_MAX_CONTEXT_TOKENS, Pt as MMR_LAMBDA, Q as EMBEDDER_DIM, Qt as REFLECTION_SLICE_CACHE_TTL_MS, R as DEFAULT_RECALL_TOKEN_BUDGET, Rt as PLANNER_STATISTICS_INTERVAL_MS, S as CHUNKING_VERSION, St as MAX_AGGREGATION_ROWS, T as CHUNK_OVERLAP_TOKENS, Tt as MAX_CHUNK_FETCH_LIMIT, U as DEFAULT_REFLECTION_MESSAGE_COUNT, Ut as RECENCY_WEIGHT, V as DEFAULT_REFLECTION_MAX_INPUT_CHARS, Vt as PROFILE_MERGE_THRESHOLD, W as DEFAULT_REFLECTION_SESSION_TTL_MS, Wt as RECENCY_WEIGHT_MAX, X as DEFAULT_VECTOR_WEIGHT, Xt as REFLECTION_MAX_FILENAME_ATTEMPTS, Y as DEFAULT_TOP_K, Yt as REFLECTION_MAX_DERIVED, Z as DELETE_BATCH_SIZE, Zt as REFLECTION_MAX_INVARIANTS, _ as CACHE_TTL_MS, _n as experimentCandidatePoolOverride, _t as LIGHTWEIGHT_COSINE_WEIGHT, a as ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP, an as SNIPPET_NEIGHBOR_AFTER, at as FORGET_QUERY_MIN_SCORE, b as CAPTURE_MIN_LENGTH_CJK, bt as MAINTENANCE_TICK_MS, c as ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET, cn as SNO_OBSERVE_DEFAULT_BASE_URL, ct as HEAD_EXTRACT_MIN_CONTENT_TOKENS, d as AUTO_RECALL_LEAN_TOP_K, dn as TEMPORAL_WEIGHTING_DEFAULT, dt as IMPORTANCE_WEIGHT_BASE, en as RETRIEVAL_STORAGE_CHUNK_PROFILE, et as EMBEDDER_PROVIDER_DEFAULT, f as BACKUP_INTERVAL_MS, fn as TIME_DECAY_FLOOR, ft as INTEGRITY_CHECK_INTERVAL_MS, g as CACHE_SIZE, gn as VECTOR_DIMENSION_DEFAULT, gt as LENGTH_NORM_ANCHOR, h as BONUS_TOTAL_INVARIANT, hn as USAGE_OUTBOX_INTERVAL_MS, ht as LAST_JSON_LINE_CHUNK_BYTES, i as ARRIVAL_RETIREMENT_CANDIDATE_CAP, in as SESSION_SUMMARY_MAX_INPUT_TOKENS, it as FORGET_QUERY_DEFAULT_LIMIT, j as DEFAULT_HARD_MIN_SCORE, jt as MAX_TRACKED_SESSIONS, k as DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, kt as MAX_RECALL_TOOL_CANDIDATES, l as ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, ln as SNO_OBSERVE_FLUSH_TIMEOUT_MS, lt as HEAD_EXTRACT_OVERLAP_DROP_RATIO, m as BACKUP_RETENTION_COUNT, mn as USAGE_EVENT_RETENTION_INTERVAL_MS, mt as KILL_SWITCH_CACHE_TTL_MS, n as ADJACENCY_BONUS_PER_PAIR, nn as SESSION_SUMMARY_CHUNK_TOKENS, nt as EVAL_QA_TRACES_FILENAME, o as ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, on as SNIPPET_NEIGHBOR_BEFORE, ot as FTS_MERGE_INTERVAL_MS, p as BACKUP_MIN_FREE_DISK_RATIO, pn as TIME_DECAY_HALF_LIFE_DAYS, pt as INTRA_MEMORY_COSINE_THRESHOLD, q as DEFAULT_SCOPE, qt as REFLECTION_DERIVED_MAX_AGE_MS, r as AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH, rn as SESSION_SUMMARY_MAX_CHUNKS, rt as EVAL_TRACE_ENABLED, s as ATOMIC_CAPTURE_TIMEOUT_MS, sn as SNO_OBSERVE_DEFAULT_AGENT_ID, st as FTS_QUERY_TOKEN_CAP, t as ADJACENCY_BONUS_CAP, tn as RecallLifecycleConfig, tt as EVAL_CONFIG_SNAPSHOT_FILENAME, u as AUTO_RECALL_INJECTION_TOP_K, un as TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR, ut as HEAD_EXTRACT_TOKEN_BUDGET, v as CANDIDATE_POOL_SIZE, vn as experimentMmrDisabled, vt as LIGHTWEIGHT_FUSION_WEIGHT, w as CHUNK_MIN_TOKENS, wt as MAX_CHUNKS_PER_PARENT, x as CAPTURE_MIN_LENGTH_STANDARD, xt as MAX_AGGREGATION_RESULT_TOKENS, y as CAPTURE_MAX_EMOJI_COUNT, yn as recallLifecycleSchema, yt as LOCAL_RERANK_CANDIDATES, z as DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES, zt as PLUGIN_VERSION } from "../../index-CJrMFlAU.js";
2
+ export { ADJACENCY_BONUS_CAP, ADJACENCY_BONUS_PER_PAIR, AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH, ARRIVAL_RETIREMENT_CANDIDATE_CAP, ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, ATOMIC_CAPTURE_TIMEOUT_MS, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, AUTO_RECALL_INJECTION_TOP_K, AUTO_RECALL_LEAN_TOP_K, BACKUP_INTERVAL_MS, BACKUP_MIN_FREE_DISK_RATIO, BACKUP_RETENTION_COUNT, BONUS_TOTAL_INVARIANT, CACHE_SIZE, CACHE_TTL_MS, CANDIDATE_POOL_SIZE, CAPTURE_MAX_EMOJI_COUNT, CAPTURE_MIN_LENGTH_CJK, CAPTURE_MIN_LENGTH_STANDARD, CHUNKING_VERSION, CHUNK_MAX_TOKENS, CHUNK_MIN_TOKENS, CHUNK_OVERLAP_TOKENS, CHUNK_TARGET_TOKENS, CHUNK_TOKENIZER_MODE, COST_ESTIMATE_CACHE_TTL_MS, DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, DEFAULT_BM25_WEIGHT, DEFAULT_HARD_MIN_SCORE, DEFAULT_IMPORTANCE, DEFAULT_LIST_LIMIT, DEFAULT_MAX_CONTEXT_TOKENS, DEFAULT_MAX_LINES_PER_CHUNK, DEFAULT_MIN_SCORE, DEFAULT_RECALL_LIFECYCLE, DEFAULT_RECALL_TOKEN_BUDGET, DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, DEFAULT_REFLECTION_MAX_INPUT_CHARS, DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS, DEFAULT_REFLECTION_MESSAGE_COUNT, DEFAULT_REFLECTION_SESSION_TTL_MS, DEFAULT_REFLECTION_TIMEOUT_MS, DEFAULT_RERANK_TIMEOUT_MS, DEFAULT_SCOPE, DEFAULT_SESSION_MESSAGE_COUNT, DEFAULT_TOP_K, DEFAULT_VECTOR_WEIGHT, DELETE_BATCH_SIZE, EMBEDDER_DIM, EMBEDDER_MODEL_DEFAULT, EMBEDDER_PROVIDER_DEFAULT, EVAL_CONFIG_SNAPSHOT_FILENAME, EVAL_QA_TRACES_FILENAME, EVAL_TRACE_ENABLED, FORGET_QUERY_DEFAULT_LIMIT, FORGET_QUERY_MIN_SCORE, FTS_MERGE_INTERVAL_MS, FTS_QUERY_TOKEN_CAP, HEAD_EXTRACT_MIN_CONTENT_TOKENS, HEAD_EXTRACT_OVERLAP_DROP_RATIO, HEAD_EXTRACT_TOKEN_BUDGET, IMPORTANCE_WEIGHT_BASE, INTEGRITY_CHECK_INTERVAL_MS, INTRA_MEMORY_COSINE_THRESHOLD, KILL_SWITCH_CACHE_TTL_MS, LAST_JSON_LINE_CHUNK_BYTES, LENGTH_NORM_ANCHOR, LIGHTWEIGHT_COSINE_WEIGHT, LIGHTWEIGHT_FUSION_WEIGHT, LOCAL_RERANK_CANDIDATES, MAINTENANCE_TICK_MS, MAX_AGGREGATION_RESULT_TOKENS, MAX_AGGREGATION_ROWS, MAX_CANDIDATE_POOL_SIZE, MAX_CHUNKS_PER_PARENT, MAX_CHUNK_FETCH_LIMIT, MAX_LIST_LIMIT, MAX_RECALLED_TODOS, MAX_RECALLED_TODO_TOKENS, MAX_RECALL_TOOL_CANDIDATES, MAX_SESSION_RECALL_ENTRIES, MAX_TRACKED_SESSIONS, MEMORY_SHUTDOWN_TIMEOUT_MS, MIN_RECALL_TOKEN_BUDGET, MMR_LAMBDA, MULTI_HIT_BONUS_CAP, MULTI_HIT_BONUS_PER_HIT, NOISE_MIN_TEXT_LENGTH, PLANNER_STATISTICS_INTERVAL_MS, PLUGIN_VERSION, PRECISION_RECALL_POOL_SIZE_FACTOR, PROFILE_MERGE_THRESHOLD, RECENCY_HALF_LIFE_DAYS, RECENCY_WEIGHT, RECENCY_WEIGHT_MAX, REFLECTION_DEDUP_MIN_SCORE, REFLECTION_DEDUP_THRESHOLD, REFLECTION_DERIVED_MAX_AGE_MS, REFLECTION_IMPORTANCE, REFLECTION_MAX_DERIVED, REFLECTION_MAX_FILENAME_ATTEMPTS, REFLECTION_MAX_INVARIANTS, REFLECTION_SLICE_CACHE_TTL_MS, REM_TRIGGER_CHECK_INTERVAL_MS, RETRIEVAL_STORAGE_CHUNK_PROFILE, RecallLifecycleConfig, SESSION_SUMMARY_CHUNK_TOKENS, SESSION_SUMMARY_MAX_CHUNKS, SESSION_SUMMARY_MAX_INPUT_TOKENS, SNIPPET_NEIGHBOR_AFTER, SNIPPET_NEIGHBOR_BEFORE, SNO_OBSERVE_DEFAULT_AGENT_ID, SNO_OBSERVE_DEFAULT_BASE_URL, SNO_OBSERVE_FLUSH_TIMEOUT_MS, TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR, TEMPORAL_WEIGHTING_DEFAULT, TIME_DECAY_FLOOR, TIME_DECAY_HALF_LIFE_DAYS, USAGE_EVENT_RETENTION_INTERVAL_MS, USAGE_OUTBOX_INTERVAL_MS, VECTOR_DIMENSION_DEFAULT, experimentCandidatePoolOverride, experimentMmrDisabled, recallLifecycleSchema };
@@ -184,57 +184,27 @@ const TIME_DECAY_FLOOR = .6;
184
184
  /** Dynamic memories use a shorter half-life when temporal decay is enabled */
185
185
  const TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR = 3;
186
186
  /**
187
- * Relevance vs diversity tradeoff for MMR (0.7 = 70% relevance, 30% diversity).
187
+ * Relevance vs diversity tradeoff for MMR (0.9 = 90% relevance, 10% diversity).
188
188
  * `applyMmrDiversity` normalizes the relevance term to [0,1] (batch-max) before
189
189
  * applying this weight — without that normalization, the shrinker chain above
190
190
  * compresses relevance so far below the [0,1] cosine-similarity diversity term
191
191
  * that this ratio was moot (diversity always won). Fixed 2026-07-05.
192
192
  */
193
- const MMR_LAMBDA = .7;
194
- /** Weight for fusion score in rerank blend */
195
- const RERANK_BLEND_VECTOR = .3;
196
- /** Weight for cross-encoder score in rerank blend */
197
- const RERANK_BLEND_CROSS = .7;
193
+ const MMR_LAMBDA = .9;
198
194
  /**
199
- * Fusion-score weight in local cosine-blend rerank.
200
- *
201
- * The fused score keeps a keyword-only hit at its full keyword score, so a memory sharing one word with the query
202
- * outranks the one that answers it; at 0.7 the local ranking passed that order through almost unchanged. Measured
203
- * 2026-10-15 on LoCoMo (1,540 questions, the product store and retriever, weights fitted on half the conversations
204
- * and checked on the other half): the right memory in the first five went from 27% to 68% in English and from 9% to
205
- * 58% in a Chinese translation at 0.1 / 0.9. A candidate with no stored vector keeps its fused score and would now
206
- * rank high; none of 27,064 candidates in 299 real local rankings lacked one.
207
- */
208
- const LIGHTWEIGHT_FUSION_WEIGHT = .1;
209
- /** Cosine-similarity weight in local cosine-blend rerank */
210
- const LIGHTWEIGHT_COSINE_WEIGHT = .9;
211
- /**
212
- * How many of the local ranking's first candidates the local reranker model reorders. The model puts the memory that
213
- * answers above near misses the cosine order keeps on top, in English and Chinese alike; scoring more candidates than
214
- * this found no more answers and took longer.
215
- */
216
- const LOCAL_RERANK_CANDIDATES = 15;
217
- /** Default timeout for rerank API calls in milliseconds */
218
- const DEFAULT_RERANK_TIMEOUT_MS = 15e3;
219
- /**
220
- * How many rerank batches may be in flight at once. A candidate pool of
221
- * `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
222
- * over. Four is what the Sno GPU serves concurrently at near-linear 4x (owner-measured
223
- * 2026-08-17); the first failing wave still ends the whole rerank, so a wedged reranker costs one
224
- * timeout rather than one per batch.
195
+ * Fusion-score weight in the initial ranking. The local model uses the
196
+ * cosine ordering evaluated in evals/rerank-optimized-2026-10-21.
225
197
  */
226
- const DEFAULT_RERANK_BATCH_CONCURRENCY = 4;
198
+ const LIGHTWEIGHT_FUSION_WEIGHT = 0;
199
+ /** Cosine-similarity weight in local cosine-blend rerank */
200
+ const LIGHTWEIGHT_COSINE_WEIGHT = 1;
227
201
  /**
228
- * Texts per HTTP request, applied whatever `rerankMaxCandidates` allows out in total: that one
229
- * is the operator's budget, this one is the transport's own per-request limit.
230
- *
231
- * Confirmed 2026-09-14 against Sno's reranker, which answers a 51-text request
232
- * with `{"error":"too many texts: max 50, got 51"}`. It rejects an over-limit
233
- * batch outright rather than truncating it, and the retriever files that HTTP 400 as "reranker
234
- * unavailable" — so getting this wrong degrades every call to local ranking with no visible
235
- * error.
202
+ * How many of the initial ranking's candidates the local model reorders.
203
+ * Evaluation and the owner-selected default are recorded in evals/rerank-optimized-2026-10-21.
236
204
  */
237
- const RERANK_TEXTS_PER_REQUEST = 50;
205
+ const LOCAL_RERANK_CANDIDATES = 32;
206
+ /** Maximum wait for the local reranker in milliseconds; caller deadlines may be earlier. */
207
+ const DEFAULT_RERANK_TIMEOUT_MS = 2e3;
238
208
  /**
239
209
  * THE per-record token ceiling, and the only number of its kind in this repository (owner
240
210
  * ruling 2026-09-14). One stored memory record, one embedder input, one rerank candidate,
@@ -256,12 +226,6 @@ const RERANK_TEXTS_PER_REQUEST = 50;
256
226
  * a literal anywhere else.
257
227
  */
258
228
  const DEFAULT_MAX_CONTEXT_TOKENS = 512;
259
- /**
260
- * Tokens the ranking model's own prompt template adds to a pair, on top of the query and the
261
- * document. Measured against the deployed endpoint 2026-09-14: a 509-token pair is accepted
262
- * and reported back as 512 input tokens, and a 510-token pair is refused as 513.
263
- */
264
- const RERANK_PROMPT_TEMPLATE_TOKENS = 3;
265
229
  /** Maximum lines per chunk before forcing an earlier split at a line boundary */
266
230
  const DEFAULT_MAX_LINES_PER_CHUNK = 50;
267
231
  /** Default list query page size */
@@ -556,8 +520,6 @@ const EVAL_TRACE_ENABLED = false;
556
520
  const EVAL_CONFIG_SNAPSHOT_FILENAME = "config-snapshot.json";
557
521
  /** Filename for per-QA retrieval traces emitted during eval runs. */
558
522
  const EVAL_QA_TRACES_FILENAME = "qa_traces.jsonl";
559
- /** Multiplicative penalty applied to unreturned candidates after rerank. */
560
- const LIGHTWEIGHT_RERANK_PENALTY = .8;
561
523
  /** Maximum tokens kept in a sanitized FTS5 MATCH expression. */
562
524
  const FTS_QUERY_TOKEN_CAP = 50;
563
525
  /**
@@ -583,4 +545,4 @@ const recallLifecycleSchema = z.object({
583
545
  */
584
546
  const DEFAULT_RECALL_LIFECYCLE = recallLifecycleSchema.parse(void 0);
585
547
  //#endregion
586
- export { ADJACENCY_BONUS_CAP, ADJACENCY_BONUS_PER_PAIR, AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH, ARRIVAL_RETIREMENT_CANDIDATE_CAP, ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, ATOMIC_CAPTURE_TIMEOUT_MS, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, AUTO_RECALL_INJECTION_TOP_K, AUTO_RECALL_LEAN_TOP_K, BACKUP_INTERVAL_MS, BACKUP_MIN_FREE_DISK_RATIO, BACKUP_RETENTION_COUNT, BONUS_TOTAL_INVARIANT, CACHE_SIZE, CACHE_TTL_MS, CANDIDATE_POOL_SIZE, CAPTURE_MAX_EMOJI_COUNT, CAPTURE_MIN_LENGTH_CJK, CAPTURE_MIN_LENGTH_STANDARD, CHUNKING_VERSION, CHUNK_MAX_TOKENS, CHUNK_MIN_TOKENS, CHUNK_OVERLAP_TOKENS, CHUNK_TARGET_TOKENS, CHUNK_TOKENIZER_MODE, COST_ESTIMATE_CACHE_TTL_MS, DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, DEFAULT_BM25_WEIGHT, DEFAULT_HARD_MIN_SCORE, DEFAULT_IMPORTANCE, DEFAULT_LIST_LIMIT, DEFAULT_MAX_CONTEXT_TOKENS, DEFAULT_MAX_LINES_PER_CHUNK, DEFAULT_MIN_SCORE, DEFAULT_RECALL_LIFECYCLE, DEFAULT_RECALL_TOKEN_BUDGET, DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, DEFAULT_REFLECTION_MAX_INPUT_CHARS, DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS, DEFAULT_REFLECTION_MESSAGE_COUNT, DEFAULT_REFLECTION_SESSION_TTL_MS, DEFAULT_REFLECTION_TIMEOUT_MS, DEFAULT_RERANK_BATCH_CONCURRENCY, DEFAULT_RERANK_TIMEOUT_MS, DEFAULT_SCOPE, DEFAULT_SESSION_MESSAGE_COUNT, DEFAULT_TOP_K, DEFAULT_VECTOR_WEIGHT, DELETE_BATCH_SIZE, EMBEDDER_DIM, EMBEDDER_MODEL_DEFAULT, EMBEDDER_PROVIDER_DEFAULT, EVAL_CONFIG_SNAPSHOT_FILENAME, EVAL_QA_TRACES_FILENAME, EVAL_TRACE_ENABLED, FORGET_QUERY_DEFAULT_LIMIT, FORGET_QUERY_MIN_SCORE, FTS_MERGE_INTERVAL_MS, FTS_QUERY_TOKEN_CAP, HEAD_EXTRACT_MIN_CONTENT_TOKENS, HEAD_EXTRACT_OVERLAP_DROP_RATIO, HEAD_EXTRACT_TOKEN_BUDGET, IMPORTANCE_WEIGHT_BASE, INTEGRITY_CHECK_INTERVAL_MS, INTRA_MEMORY_COSINE_THRESHOLD, KILL_SWITCH_CACHE_TTL_MS, LAST_JSON_LINE_CHUNK_BYTES, LENGTH_NORM_ANCHOR, LIGHTWEIGHT_COSINE_WEIGHT, LIGHTWEIGHT_FUSION_WEIGHT, LIGHTWEIGHT_RERANK_PENALTY, LOCAL_RERANK_CANDIDATES, MAINTENANCE_TICK_MS, MAX_AGGREGATION_RESULT_TOKENS, MAX_AGGREGATION_ROWS, MAX_CANDIDATE_POOL_SIZE, MAX_CHUNKS_PER_PARENT, MAX_CHUNK_FETCH_LIMIT, MAX_LIST_LIMIT, MAX_RECALLED_TODOS, MAX_RECALLED_TODO_TOKENS, MAX_RECALL_TOOL_CANDIDATES, MAX_SESSION_RECALL_ENTRIES, MAX_TRACKED_SESSIONS, MEMORY_SHUTDOWN_TIMEOUT_MS, MIN_RECALL_TOKEN_BUDGET, MMR_LAMBDA, MULTI_HIT_BONUS_CAP, MULTI_HIT_BONUS_PER_HIT, NOISE_MIN_TEXT_LENGTH, PLANNER_STATISTICS_INTERVAL_MS, PLUGIN_VERSION, PRECISION_RECALL_POOL_SIZE_FACTOR, PROFILE_MERGE_THRESHOLD, RECENCY_HALF_LIFE_DAYS, RECENCY_WEIGHT, RECENCY_WEIGHT_MAX, REFLECTION_DEDUP_MIN_SCORE, REFLECTION_DEDUP_THRESHOLD, REFLECTION_DERIVED_MAX_AGE_MS, REFLECTION_IMPORTANCE, REFLECTION_MAX_DERIVED, REFLECTION_MAX_FILENAME_ATTEMPTS, REFLECTION_MAX_INVARIANTS, REFLECTION_SLICE_CACHE_TTL_MS, REM_TRIGGER_CHECK_INTERVAL_MS, RERANK_BLEND_CROSS, RERANK_BLEND_VECTOR, RERANK_PROMPT_TEMPLATE_TOKENS, RERANK_TEXTS_PER_REQUEST, RETRIEVAL_STORAGE_CHUNK_PROFILE, SESSION_SUMMARY_CHUNK_TOKENS, SESSION_SUMMARY_MAX_CHUNKS, SESSION_SUMMARY_MAX_INPUT_TOKENS, SNIPPET_NEIGHBOR_AFTER, SNIPPET_NEIGHBOR_BEFORE, SNO_OBSERVE_DEFAULT_AGENT_ID, SNO_OBSERVE_DEFAULT_BASE_URL, SNO_OBSERVE_FLUSH_TIMEOUT_MS, TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR, TEMPORAL_WEIGHTING_DEFAULT, TIME_DECAY_FLOOR, TIME_DECAY_HALF_LIFE_DAYS, USAGE_EVENT_RETENTION_INTERVAL_MS, USAGE_OUTBOX_INTERVAL_MS, VECTOR_DIMENSION_DEFAULT, experimentCandidatePoolOverride, experimentMmrDisabled, recallLifecycleSchema };
548
+ export { ADJACENCY_BONUS_CAP, ADJACENCY_BONUS_PER_PAIR, AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH, ARRIVAL_RETIREMENT_CANDIDATE_CAP, ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, ATOMIC_CAPTURE_TIMEOUT_MS, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, AUTO_RECALL_INJECTION_TOP_K, AUTO_RECALL_LEAN_TOP_K, BACKUP_INTERVAL_MS, BACKUP_MIN_FREE_DISK_RATIO, BACKUP_RETENTION_COUNT, BONUS_TOTAL_INVARIANT, CACHE_SIZE, CACHE_TTL_MS, CANDIDATE_POOL_SIZE, CAPTURE_MAX_EMOJI_COUNT, CAPTURE_MIN_LENGTH_CJK, CAPTURE_MIN_LENGTH_STANDARD, CHUNKING_VERSION, CHUNK_MAX_TOKENS, CHUNK_MIN_TOKENS, CHUNK_OVERLAP_TOKENS, CHUNK_TARGET_TOKENS, CHUNK_TOKENIZER_MODE, COST_ESTIMATE_CACHE_TTL_MS, DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, DEFAULT_BM25_WEIGHT, DEFAULT_HARD_MIN_SCORE, DEFAULT_IMPORTANCE, DEFAULT_LIST_LIMIT, DEFAULT_MAX_CONTEXT_TOKENS, DEFAULT_MAX_LINES_PER_CHUNK, DEFAULT_MIN_SCORE, DEFAULT_RECALL_LIFECYCLE, DEFAULT_RECALL_TOKEN_BUDGET, DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, DEFAULT_REFLECTION_MAX_INPUT_CHARS, DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS, DEFAULT_REFLECTION_MESSAGE_COUNT, DEFAULT_REFLECTION_SESSION_TTL_MS, DEFAULT_REFLECTION_TIMEOUT_MS, DEFAULT_RERANK_TIMEOUT_MS, DEFAULT_SCOPE, DEFAULT_SESSION_MESSAGE_COUNT, DEFAULT_TOP_K, DEFAULT_VECTOR_WEIGHT, DELETE_BATCH_SIZE, EMBEDDER_DIM, EMBEDDER_MODEL_DEFAULT, EMBEDDER_PROVIDER_DEFAULT, EVAL_CONFIG_SNAPSHOT_FILENAME, EVAL_QA_TRACES_FILENAME, EVAL_TRACE_ENABLED, FORGET_QUERY_DEFAULT_LIMIT, FORGET_QUERY_MIN_SCORE, FTS_MERGE_INTERVAL_MS, FTS_QUERY_TOKEN_CAP, HEAD_EXTRACT_MIN_CONTENT_TOKENS, HEAD_EXTRACT_OVERLAP_DROP_RATIO, HEAD_EXTRACT_TOKEN_BUDGET, IMPORTANCE_WEIGHT_BASE, INTEGRITY_CHECK_INTERVAL_MS, INTRA_MEMORY_COSINE_THRESHOLD, KILL_SWITCH_CACHE_TTL_MS, LAST_JSON_LINE_CHUNK_BYTES, LENGTH_NORM_ANCHOR, LIGHTWEIGHT_COSINE_WEIGHT, LIGHTWEIGHT_FUSION_WEIGHT, LOCAL_RERANK_CANDIDATES, MAINTENANCE_TICK_MS, MAX_AGGREGATION_RESULT_TOKENS, MAX_AGGREGATION_ROWS, MAX_CANDIDATE_POOL_SIZE, MAX_CHUNKS_PER_PARENT, MAX_CHUNK_FETCH_LIMIT, MAX_LIST_LIMIT, MAX_RECALLED_TODOS, MAX_RECALLED_TODO_TOKENS, MAX_RECALL_TOOL_CANDIDATES, MAX_SESSION_RECALL_ENTRIES, MAX_TRACKED_SESSIONS, MEMORY_SHUTDOWN_TIMEOUT_MS, MIN_RECALL_TOKEN_BUDGET, MMR_LAMBDA, MULTI_HIT_BONUS_CAP, MULTI_HIT_BONUS_PER_HIT, NOISE_MIN_TEXT_LENGTH, PLANNER_STATISTICS_INTERVAL_MS, PLUGIN_VERSION, PRECISION_RECALL_POOL_SIZE_FACTOR, PROFILE_MERGE_THRESHOLD, RECENCY_HALF_LIFE_DAYS, RECENCY_WEIGHT, RECENCY_WEIGHT_MAX, REFLECTION_DEDUP_MIN_SCORE, REFLECTION_DEDUP_THRESHOLD, REFLECTION_DERIVED_MAX_AGE_MS, REFLECTION_IMPORTANCE, REFLECTION_MAX_DERIVED, REFLECTION_MAX_FILENAME_ATTEMPTS, REFLECTION_MAX_INVARIANTS, REFLECTION_SLICE_CACHE_TTL_MS, REM_TRIGGER_CHECK_INTERVAL_MS, RETRIEVAL_STORAGE_CHUNK_PROFILE, SESSION_SUMMARY_CHUNK_TOKENS, SESSION_SUMMARY_MAX_CHUNKS, SESSION_SUMMARY_MAX_INPUT_TOKENS, SNIPPET_NEIGHBOR_AFTER, SNIPPET_NEIGHBOR_BEFORE, SNO_OBSERVE_DEFAULT_AGENT_ID, SNO_OBSERVE_DEFAULT_BASE_URL, SNO_OBSERVE_FLUSH_TIMEOUT_MS, TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR, TEMPORAL_WEIGHTING_DEFAULT, TIME_DECAY_FLOOR, TIME_DECAY_HALF_LIFE_DAYS, USAGE_EVENT_RETENTION_INTERVAL_MS, USAGE_OUTBOX_INTERVAL_MS, VECTOR_DIMENSION_DEFAULT, experimentCandidatePoolOverride, experimentMmrDisabled, recallLifecycleSchema };
@@ -1,2 +1,2 @@
1
- import { n as pluginConfigSchema, t as PluginConfig } from "../../plugin-config-schema-dV2_HgBo.js";
1
+ import { n as pluginConfigSchema, t as PluginConfig } from "../../plugin-config-schema-DQh5njrS.js";
2
2
  export { PluginConfig, pluginConfigSchema };
@@ -1,2 +1,2 @@
1
- import { t as pluginConfigSchema } from "../../plugin-config-schema-D9riSXDg.js";
1
+ import { t as pluginConfigSchema } from "../../plugin-config-schema-D-IoHmis.js";
2
2
  export { pluginConfigSchema };
@@ -1,2 +1,2 @@
1
- import { _ as llmRoutingConfigSchema, d as LLM_OCCASIONS, f as LlmOccasion, g as ProductMode, h as PRODUCT_MODES, m as LlmRoutingConfigInput, p as LlmRoutingConfig, u as DEFAULT_MODEL_MODE, v as modelCallsConfigSchema, y as remEnhancedConfigSchema } from "../../plugin-config-schema-dV2_HgBo.js";
1
+ import { _ as llmRoutingConfigSchema, d as LLM_OCCASIONS, f as LlmOccasion, g as ProductMode, h as PRODUCT_MODES, m as LlmRoutingConfigInput, p as LlmRoutingConfig, u as DEFAULT_MODEL_MODE, v as modelCallsConfigSchema, y as remEnhancedConfigSchema } from "../../plugin-config-schema-DQh5njrS.js";
2
2
  export { DEFAULT_MODEL_MODE, LLM_OCCASIONS, LlmOccasion, LlmRoutingConfig, LlmRoutingConfigInput, PRODUCT_MODES, ProductMode, llmRoutingConfigSchema, modelCallsConfigSchema, remEnhancedConfigSchema };
@@ -1,2 +1,2 @@
1
- import { C as settingsToPluginConfig, S as settingsSchema, b as Settings, x as defaultSettings } from "../../plugin-config-schema-dV2_HgBo.js";
1
+ import { C as settingsToPluginConfig, S as settingsSchema, b as Settings, x as defaultSettings } from "../../plugin-config-schema-DQh5njrS.js";
2
2
  export { Settings, defaultSettings, settingsSchema, settingsToPluginConfig };
@@ -1,14 +1,12 @@
1
- import { c as SESSION_STRATEGIES, t as pluginConfigSchema } from "../../plugin-config-schema-D9riSXDg.js";
1
+ import { n as rerankModeSchema, r as rerankTimeoutSchema, t as pluginConfigSchema, u as SESSION_STRATEGIES } from "../../plugin-config-schema-D-IoHmis.js";
2
2
  import { EMBEDDER_MODEL_DEFAULT } from "./index.js";
3
3
  import { SUPPORTED_LOCALES } from "../engine/i18n/locales.js";
4
4
  import { PRODUCT_MODES } from "./product-mode.js";
5
- import { t as MODEL_CALLS } from "../../model-call-table-DoIl2S0P.js";
5
+ import { t as MODEL_CALLS } from "../../model-call-table-CPyQfBJ6.js";
6
6
  import { z } from "zod";
7
7
  import { LOCAL_EMBEDDING_MODEL_REVISION } from "@snoai/embedder";
8
- import { createLogger } from "@snoai/utils/logger";
9
8
  import { isLowercaseCanonicalUUIDv7 } from "@snoai/common-core";
10
9
  //#region config/settings.ts
11
- const log = createLogger("sno-station-mem:config:settings");
12
10
  const destination = z.enum([
13
11
  "off",
14
12
  "host",
@@ -31,15 +29,14 @@ const settingsSchema = z.strictObject({
31
29
  baseUrl: z.string(),
32
30
  apiKey: z.string()
33
31
  }),
34
- rerank: z.strictObject({
35
- mode: z.enum([
36
- "lightweight",
37
- "cross-encoder",
38
- "none"
39
- ]),
40
- timeoutMs: z.number().int().min(1e3).max(12e4),
41
- maxCandidates: z.number().int().min(1).max(2e3)
42
- }),
32
+ rerank: z.preprocess((value) => {
33
+ if (typeof value !== "object" || value === null || Array.isArray(value) || !("maxCandidates" in value)) return value;
34
+ const { maxCandidates: _retired, ...current } = value;
35
+ return current;
36
+ }, z.strictObject({
37
+ mode: rerankModeSchema,
38
+ timeoutMs: rerankTimeoutSchema
39
+ })),
43
40
  store: z.strictObject({
44
41
  path: z.string(),
45
42
  encryptionKey: z.string().min(1).regex(/^[0-9a-f]{64}$/u)
@@ -128,9 +125,8 @@ function defaultSettings() {
128
125
  apiKey: ""
129
126
  },
130
127
  rerank: {
131
- mode: "cross-encoder",
132
- timeoutMs: engine.retrieval.rerankTimeoutMs,
133
- maxCandidates: 64
128
+ mode: "lightweight",
129
+ timeoutMs: engine.retrieval.rerankTimeoutMs
134
130
  },
135
131
  store: {
136
132
  path: "",
@@ -197,32 +193,7 @@ function defaultSettings() {
197
193
  }
198
194
  };
199
195
  }
200
- /**
201
- * Recall ranking is local, or Sno's reranker: its address is the Sno GPU address and its key is the Sno GPU key. Only
202
- * REM Enhanced calls Sno GPU; any other mode, or no key yet, ranks locally, which is the configured strategy, not an error.
203
- */
204
- function rerankSettings(settings) {
205
- const { rerank, snoGpu } = settings;
206
- let endpoint;
207
- try {
208
- endpoint = new URL("rerank", snoGpu.baseUrl.endsWith("/") ? snoGpu.baseUrl : `${snoGpu.baseUrl}/`).toString();
209
- } catch {
210
- log.warn("memory.rerank.sno_gpu_address.invalid", { cause: "snoGpu.baseUrl is not a valid address; recall ranks locally" }, {
211
- event_name: "memory.rerank.sno_gpu_address.invalid",
212
- file: "packages/memory/config/settings.ts",
213
- function: "rerankSettings",
214
- site_id: "memory.rerank.sno_gpu_address.invalid"
215
- });
216
- }
217
- const local = rerank.mode !== "cross-encoder" || settings.mode !== "rem-enhanced" || !snoGpu.apiKey || endpoint === void 0;
218
- return {
219
- rerank: local && rerank.mode === "cross-encoder" ? "lightweight" : rerank.mode,
220
- endpoint: local ? void 0 : endpoint,
221
- apiKey: local ? "" : snoGpu.apiKey
222
- };
223
- }
224
- function settingsToPluginConfig(settings) {
225
- const sno = rerankSettings(settings);
196
+ function settingsToPluginConfig(settings, usageClass) {
226
197
  return pluginConfigSchema.parse({
227
198
  mode: settings.mode,
228
199
  modelCalls: settings.modelCalls,
@@ -239,13 +210,10 @@ function settingsToPluginConfig(settings) {
239
210
  sessionOptions: { intraOpNumThreads: settings.embedding.threads || void 0 }
240
211
  },
241
212
  retrieval: {
242
- rerank: sno.rerank,
213
+ rerank: settings.rerank.mode,
243
214
  recallTopK: settings.recall.prompt.limit,
244
215
  minScore: settings.recall.prompt.minScore,
245
- rerankEndpoint: sno.endpoint,
246
- rerankApiKey: sno.apiKey,
247
- rerankTimeoutMs: settings.rerank.timeoutMs,
248
- rerankMaxCandidates: settings.rerank.maxCandidates
216
+ rerankTimeoutMs: settings.rerank.timeoutMs
249
217
  },
250
218
  autoRecall: settings.recall.auto,
251
219
  autoRecallTimeoutMs: settings.recall.prompt.timeoutMs,
@@ -266,7 +234,8 @@ function settingsToPluginConfig(settings) {
266
234
  observe: settings.telemetry.observe,
267
235
  extraction: { llm: {
268
236
  baseURL: settings.snoGpu.baseUrl,
269
- apiKey: settings.snoGpu.apiKey
237
+ apiKey: settings.snoGpu.apiKey,
238
+ usageClass
270
239
  } }
271
240
  });
272
241
  }
@@ -1,4 +1,4 @@
1
- import { g as ProductMode, h as PRODUCT_MODES, u as DEFAULT_MODEL_MODE } from "../../plugin-config-schema-dV2_HgBo.js";
1
+ import { g as ProductMode, h as PRODUCT_MODES, u as DEFAULT_MODEL_MODE } from "../../plugin-config-schema-DQh5njrS.js";
2
2
  //#region config/skin-defaults.d.ts
3
3
  export declare const HOST_MODEL_CALLBACK_HOST = "127.0.0.1";
4
4
  export declare const HOST_MODEL_CALLBACK_PATH = "/v1/chat/completions";
@@ -1,2 +1,2 @@
1
- import { a as getSidecarSocketPath, c as getStateDir, i as getSettingsPath, l as readSettings, n as getDiscoveryPath, o as getSnoStationMemStateDir, r as getPrincipal, s as getStartupLogPath, t as SettingsUnavailableError } from "../../profile-CoLKGobS.js";
1
+ import { a as getSidecarSocketPath, c as getStateDir, i as getSettingsPath, l as readSettings, n as getDiscoveryPath, o as getSnoStationMemStateDir, r as getPrincipal, s as getStartupLogPath, t as SettingsUnavailableError } from "../../profile-CcvVR6K8.js";
2
2
  export { SettingsUnavailableError, getDiscoveryPath, getPrincipal, getSettingsPath, getSidecarSocketPath, getSnoStationMemStateDir, getStartupLogPath, getStateDir, readSettings };
@@ -1,2 +1,2 @@
1
- import { c as MEMORY_DEFAULT_SKIN_ID, d as MEMORY_RECONNECT_INTERVAL_MS, f as MEMORY_ROUTES, g as memoryMethod, h as REM_SIDECAR_TOKEN_HEADER, l as MEMORY_ERROR_STATUS, m as MEMORY_START_TIMEOUT_MS, o as MEMORY_BODY_LIMIT_BYTES, p as MEMORY_SKIN_HEADER, s as MEMORY_CANCEL_ON_DISCONNECT_HEADER, u as MEMORY_HEALTH_TIMEOUT_MS } from "../../index-PjHhlG6e.js";
1
+ import { c as MEMORY_DEFAULT_SKIN_ID, d as MEMORY_RECONNECT_INTERVAL_MS, f as MEMORY_ROUTES, g as memoryMethod, h as REM_SIDECAR_TOKEN_HEADER, l as MEMORY_ERROR_STATUS, m as MEMORY_START_TIMEOUT_MS, o as MEMORY_BODY_LIMIT_BYTES, p as MEMORY_SKIN_HEADER, s as MEMORY_CANCEL_ON_DISCONNECT_HEADER, u as MEMORY_HEALTH_TIMEOUT_MS } from "../../index-Df9420Pl.js";
2
2
  export { MEMORY_BODY_LIMIT_BYTES, MEMORY_CANCEL_ON_DISCONNECT_HEADER, MEMORY_DEFAULT_SKIN_ID, MEMORY_ERROR_STATUS, MEMORY_HEALTH_TIMEOUT_MS, MEMORY_RECONNECT_INTERVAL_MS, MEMORY_ROUTES, MEMORY_SKIN_HEADER, MEMORY_START_TIMEOUT_MS, REM_SIDECAR_TOKEN_HEADER, memoryMethod };
@@ -1,8 +1,8 @@
1
- import { h as MemoryCategory } from "../../../types-DBEwNYdR.js";
1
+ import { h as MemoryCategory } from "../../../types-El7jViCz.js";
2
2
  import { t as Embedder } from "../../../embedding-provider-client-CELWtPgt.js";
3
- import { t as MemoryRetriever } from "../../../retriever-hTIkt3CJ.js";
4
- import { C as MemoryStore } from "../../../memory-store-base-upd9MuG6.js";
5
- import "../../../store-DEG06TLb.js";
3
+ import { t as MemoryRetriever } from "../../../retriever-2RJYAvlD.js";
4
+ import { C as MemoryStore } from "../../../memory-store-base-BHYXgsCq.js";
5
+ import "../../../store-Bz0y76cJ.js";
6
6
  import { r as MemoryTelemetryUsageOutbox } from "../../../memory-telemetry-outbox-ddTdImt7.js";
7
7
  import { Writable } from "node:stream";
8
8
  //#region src/engine/bindings/memory-cli-shared.d.ts
@@ -1,7 +1,7 @@
1
1
  import { FORGET_QUERY_MIN_SCORE, MAX_CANDIDATE_POOL_SIZE } from "../../config/index.js";
2
2
  import { SnoStationMemError } from "../shared/errors.js";
3
3
  import { clamp01, clampInt } from "../shared/utils.js";
4
- import "../../../memory-tool-dependencies-aAr7Pkuj.js";
4
+ import "../../../memory-tool-dependencies-Cc4SJMtd.js";
5
5
  import { assertAccessibleScopeForTool, isScopeAccessibleForTool, resolveReadableScopesForTool } from "./memory-tool-access.js";
6
6
  import { makeResult, runWithAudit } from "./memory-tool-results.js";
7
7
  import { forgetParamsSchema } from "./memory-tool-schemas.js";
@@ -3,7 +3,7 @@ import { normalizeCategory } from "../shared/types.js";
3
3
  import { SnoStationMemError } from "../shared/errors.js";
4
4
  import { clampInt } from "../shared/utils.js";
5
5
  import { readEstimatedSpendToday } from "../operations/daily-spend-estimator.js";
6
- import "../../../memory-tool-dependencies-aAr7Pkuj.js";
6
+ import "../../../memory-tool-dependencies-Cc4SJMtd.js";
7
7
  import { assertAccessibleScopeForTool, resolveReadableScopesForTool } from "./memory-tool-access.js";
8
8
  import { serializeMemory } from "./memory-tool-formatting.js";
9
9
  import { makeResult, runWithAudit } from "./memory-tool-results.js";
@@ -3,7 +3,7 @@ import { normalizeCategory } from "../shared/types.js";
3
3
  import { truncateGraphemes } from "../shared/i18n-text.js";
4
4
  import { clamp01, clampInt } from "../shared/utils.js";
5
5
  import { formatAtDepth } from "../retrieval/intent-analyzer.js";
6
- import { t as countTokens } from "../../../memory-tool-dependencies-aAr7Pkuj.js";
6
+ import { t as countTokens } from "../../../memory-tool-dependencies-Cc4SJMtd.js";
7
7
  import { assertAccessibleScopeForTool, resolveReadableScopesForTool } from "./memory-tool-access.js";
8
8
  import { episodicEventDate, safeParseMetadata, sanitizeRecalledText, serializeMemory } from "./memory-tool-formatting.js";
9
9
  import { makeResult, runWithAudit } from "./memory-tool-results.js";
@@ -1,5 +1,5 @@
1
1
  import { clampInt } from "../shared/utils.js";
2
- import "../../../memory-tool-dependencies-aAr7Pkuj.js";
2
+ import "../../../memory-tool-dependencies-Cc4SJMtd.js";
3
3
  import { assertAccessibleScopeForTool, isScopeAccessibleForTool, resolveReadableScopesForTool } from "./memory-tool-access.js";
4
4
  import { makeResult, runWithAudit } from "./memory-tool-results.js";
5
5
  import { t as parseReflectionMetadata } from "../../../entry-metadata-parser-BIVSMCIk.js";
@@ -1,6 +1,6 @@
1
1
  import { i as isSystemBypassId } from "../../../memory-scope-policy--TiLZnrE.js";
2
2
  import { readEstimatedSpendToday } from "../operations/daily-spend-estimator.js";
3
- import "../../../memory-tool-dependencies-aAr7Pkuj.js";
3
+ import "../../../memory-tool-dependencies-Cc4SJMtd.js";
4
4
  import { assertAccessibleScopeForTool, getStoreScopeFilterForTool, resolveReadableScopesForTool } from "./memory-tool-access.js";
5
5
  import { makeResult, runWithAudit } from "./memory-tool-results.js";
6
6
  import { statsParamsSchema } from "./memory-tool-schemas.js";
@@ -5,12 +5,12 @@ import { clamp01, stableHash } from "../shared/utils.js";
5
5
  import { t as appendAuditEntry } from "../../../runtime-audit-log-DK6xAYxh.js";
6
6
  import { a as detectCategory } from "../../../capture-policy-detector-DaMfy9CZ.js";
7
7
  import { stripEnvelopeMetadata } from "../extraction/extraction-text-sanitizer.js";
8
- import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "../../../memory-temporality-classifier-BwBKEQbL.js";
9
- import "../../../memory-tool-dependencies-aAr7Pkuj.js";
8
+ import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "../../../memory-temporality-classifier-Bauwnls7.js";
9
+ import "../../../memory-tool-dependencies-Cc4SJMtd.js";
10
10
  import { assertAccessibleScopeForTool, getDefaultScopeForTool } from "./memory-tool-access.js";
11
11
  import { makeResult, runWithAudit } from "./memory-tool-results.js";
12
12
  import { storeParamsSchema } from "./memory-tool-schemas.js";
13
- import { n as createRetireByNameRunBudget, r as runProfileSectionUpdate } from "../../../profile-section-writer-Dd4FKpt5.js";
13
+ import { n as createRetireByNameRunBudget, r as runProfileSectionUpdate } from "../../../profile-section-writer-CR-WWIoB.js";
14
14
  //#region src/engine/bindings/memory-store-tool.ts
15
15
  /** @file memory-store-tool.ts
16
16
  * @purpose Registers the memory_store tool.
@@ -1,5 +1,5 @@
1
1
  import { t as MemoryScopePolicy } from "../../../memory-scope-policy-1gg5QlWZ.js";
2
- import "../../../memory-tool-dependencies-C9qgVGOn.js";
2
+ import "../../../memory-tool-dependencies-D2fOC-KL.js";
3
3
  //#region src/engine/bindings/memory-tool-access.d.ts
4
4
  export declare function assertAccessibleScope(scopePolicy: MemoryScopePolicy, scope: string, agentId?: string): string;
5
5
  export declare function resolveAgentId(runtimeAgentId: unknown, fallback?: string): string | undefined;
@@ -1,5 +1,5 @@
1
1
  import { SnoStationMemError } from "../shared/errors.js";
2
- import "../../../memory-tool-dependencies-aAr7Pkuj.js";
2
+ import "../../../memory-tool-dependencies-Cc4SJMtd.js";
3
3
  //#region src/engine/bindings/memory-tool-access.ts
4
4
  function assertAccessibleScope(scopePolicy, scope, agentId) {
5
5
  const normalized = scope.trim();
@@ -1,5 +1,5 @@
1
1
  import { i as SnoStationMemError } from "../../../errors-CeVRxf9V.js";
2
- import "../../../memory-tool-dependencies-C9qgVGOn.js";
2
+ import "../../../memory-tool-dependencies-D2fOC-KL.js";
3
3
  import { ToolContext, ToolResult } from "./memory-tool-schemas.js";
4
4
  //#region src/engine/bindings/memory-tool-results.d.ts
5
5
  export declare function makeResult(text: string, details: Record<string, unknown>, isError?: boolean): ToolResult;