@snoai/memory 1.2.13 → 1.5.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 (152) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-tracker-CglGg8uS.d.ts → access-tracker-B1H2AJlH.d.ts} +4 -4
  3. package/dist/{adapter-Cxyzdq6H.d.ts → adapter-CgdVA88V.d.ts} +2 -2
  4. package/dist/{agent-llm-port-DY2290EK.d.ts → agent-llm-port-BlFrD2ro.d.ts} +5 -0
  5. package/dist/{atomic-memory-extraction-DO4yTfch.d.ts → atomic-memory-extraction-DCMTQ0h-.d.ts} +4 -4
  6. package/dist/{atomic-memory-extraction-DWhlXJT6.js → atomic-memory-extraction-De86y7O-.js} +4 -4
  7. package/dist/{b-profile-section-dictionary-provider-BkUdS1SY.d.ts → b-profile-section-dictionary-provider-DbqdRYMw.d.ts} +1 -1
  8. package/dist/{capture-policy-detector-C7MA4jSr.d.ts → capture-policy-detector-D4ziS7KF.d.ts} +1 -1
  9. package/dist/client.d.ts +1 -1
  10. package/dist/{config-D_KOwEyg.js → config-DWeuetYo.js} +740 -447
  11. package/dist/{derived-suppression-cache-CmS4xAaN.d.ts → derived-suppression-cache-2xOq6XHX.d.ts} +1 -1
  12. package/dist/diagnostic-encoder.js +1 -1
  13. package/dist/{embedding-provider-client-vynZMuit.d.ts → embedding-provider-client-CELWtPgt.d.ts} +6 -0
  14. package/dist/{embedding-provider-client-40tpzKou.js → embedding-provider-client-CgpUK_1G.js} +16 -1
  15. package/dist/{index-Pb9LrHgL.d.ts → index-BGu91bjB.d.ts} +25 -19
  16. package/dist/{index-CTi1R9T4.d.ts → index-PjHhlG6e.d.ts} +2 -2
  17. package/dist/index.d.ts +11 -11
  18. package/dist/index.js +5 -5
  19. package/dist/internal/config/index.d.ts +2 -2
  20. package/dist/internal/config/index.js +25 -19
  21. package/dist/internal/config/plugin-config-schema.d.ts +1 -1
  22. package/dist/internal/config/plugin-config-schema.js +1 -1
  23. package/dist/internal/config/product-mode.d.ts +1 -1
  24. package/dist/internal/config/settings.d.ts +1 -1
  25. package/dist/internal/config/settings.js +3 -30
  26. package/dist/internal/config/skin-defaults.d.ts +1 -1
  27. package/dist/internal/contract/profile.d.ts +1 -1
  28. package/dist/internal/contract/routes.d.ts +1 -1
  29. package/dist/internal/engine/bindings/memory-cli-shared.d.ts +5 -5
  30. package/dist/internal/engine/bindings/memory-forget-tool.js +1 -1
  31. package/dist/internal/engine/bindings/memory-list-tool.js +1 -1
  32. package/dist/internal/engine/bindings/memory-recall-tool.js +1 -1
  33. package/dist/internal/engine/bindings/memory-reflection-resolve-tool.js +1 -1
  34. package/dist/internal/engine/bindings/memory-stats-tool.js +1 -1
  35. package/dist/internal/engine/bindings/memory-store-tool.js +3 -3
  36. package/dist/internal/engine/bindings/memory-tool-access.d.ts +1 -1
  37. package/dist/internal/engine/bindings/memory-tool-access.js +1 -1
  38. package/dist/internal/engine/bindings/memory-tool-results.d.ts +1 -1
  39. package/dist/internal/engine/bindings/memory-tool-results.js +1 -1
  40. package/dist/internal/engine/bindings/memory-tool-schemas.d.ts +6 -6
  41. package/dist/internal/engine/bindings/memory-tool-schemas.js +1 -1
  42. package/dist/internal/engine/bindings/memory-update-tool.js +2 -2
  43. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.d.ts +5 -5
  44. package/dist/internal/engine/bindings/sno-station-mem-ambient-learning-hook.js +2 -2
  45. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.d.ts +4 -4
  46. package/dist/internal/engine/bindings/sno-station-mem-auto-recall-hook.js +1 -1
  47. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.d.ts +7 -7
  48. package/dist/internal/engine/bindings/sno-station-mem-insight-distill-factory.js +2 -2
  49. package/dist/internal/engine/bindings/sno-station-mem-message-transcript.js +2 -2
  50. package/dist/internal/engine/bindings/sno-station-mem-reset-hook.d.ts +4 -4
  51. package/dist/internal/engine/bindings/sno-station-mem-runtime-mode.d.ts +1 -1
  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/embedding-provider-client.d.ts +1 -1
  58. package/dist/internal/engine/extraction/embedding-provider-client.js +1 -1
  59. package/dist/internal/engine/extraction/memory-metadata-codec.d.ts +2 -2
  60. package/dist/internal/engine/extraction/memory-temporality-classifier.d.ts +1 -1
  61. package/dist/internal/engine/extraction/memory-temporality-classifier.js +1 -1
  62. package/dist/internal/engine/observability/adapter.d.ts +1 -1
  63. package/dist/internal/engine/observability/memory-snapshot.d.ts +1 -1
  64. package/dist/internal/engine/observability/observable-embedder.d.ts +1 -1
  65. package/dist/internal/engine/observability/observable-embedder.js +1 -1
  66. package/dist/internal/engine/observability/observable-llm-client.d.ts +1 -1
  67. package/dist/internal/engine/observability/observable-memory-store.d.ts +1 -1
  68. package/dist/internal/engine/observability/observable-memory-store.js +1 -1
  69. package/dist/internal/engine/observability/observable-retriever.d.ts +1 -1
  70. package/dist/internal/engine/observability/observable-retriever.js +1 -1
  71. package/dist/internal/engine/observability/runtime-diagnostics.d.ts +1 -1
  72. package/dist/internal/engine/observability/runtime-diagnostics.js +1 -1
  73. package/dist/internal/engine/operations/memory-tier-promoter.d.ts +1 -1
  74. package/dist/internal/engine/operations/runtime-audit-log.d.ts +2 -2
  75. package/dist/internal/engine/provider/provider-registration.d.ts +4 -4
  76. package/dist/internal/engine/provider/provider-row-renderer.d.ts +1 -1
  77. package/dist/internal/engine/reflection/reflection-command-hooks.d.ts +1 -1
  78. package/dist/internal/engine/reflection/reflection-command-hooks.js +1 -1
  79. package/dist/internal/engine/reflection/reflection-deps.d.ts +1 -1
  80. package/dist/internal/engine/reflection/reflection-embedded-generator.d.ts +1 -1
  81. package/dist/internal/engine/reflection/reflection-embedded-generator.js +1 -1
  82. package/dist/internal/engine/reflection/reflection-injection-hooks.d.ts +1 -1
  83. package/dist/internal/engine/reflection/reflection-injection-hooks.js +1 -1
  84. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.d.ts +1 -1
  85. package/dist/internal/engine/reflection/reflection-lifecycle-hooks.js +1 -1
  86. package/dist/internal/engine/reflection/strategy-hook-runner.d.ts +3 -3
  87. package/dist/internal/engine/reflection/strategy-hook-runner.js +2 -2
  88. package/dist/internal/engine/retrieval/access-tracker.d.ts +1 -1
  89. package/dist/internal/engine/retrieval/retriever.d.ts +2 -2
  90. package/dist/internal/engine/retrieval/retriever.js +1 -1
  91. package/dist/internal/engine/shared/memory-kind-policy.d.ts +1 -1
  92. package/dist/internal/engine/shared/paths.d.ts +2 -2
  93. package/dist/internal/engine/shared/types.d.ts +2 -2
  94. package/dist/internal/engine/shared/types.js +1 -1
  95. package/dist/internal/engine/telemetry/observe-ledger.d.ts +1 -1
  96. package/dist/internal/model/agent-llm-port.d.ts +1 -1
  97. package/dist/internal/model/llm-client.d.ts +2 -2
  98. package/dist/internal/model/llm-client.js +1 -1
  99. package/dist/internal/model/llm-mode-routing.d.ts +1 -1
  100. package/dist/internal/store/maintenance.d.ts +2 -2
  101. package/dist/internal/store/maintenance.js +4 -4
  102. package/dist/internal/store/store.d.ts +2 -2
  103. package/dist/internal/store/store.js +1 -1
  104. package/dist/{llm-client-B7LSFL_m.d.ts → llm-client-C-K7oyfu.d.ts} +1 -1
  105. package/dist/{llm-client-C7yyFWu-.js → llm-client-DDdUjYWS.js} +10 -3
  106. package/dist/{log-site-catalog.generated-BODn_6Kx.js → log-site-catalog.generated-Cn8rTa65.js} +94 -73
  107. package/dist/log-site-catalog.json +1 -1
  108. package/dist/{memory-kind-policy-B4IBMAlv.d.ts → memory-kind-policy-DgPCjfY4.d.ts} +1 -1
  109. package/dist/{memory-metadata-codec-BQ8tBY-g.d.ts → memory-metadata-codec-CfP9JLVO.d.ts} +1 -1
  110. package/dist/{memory-runtime-4iOpeP09.js → memory-runtime-jQke2sBc.js} +118 -78
  111. package/dist/{memory-snapshot-B8mQbWR-.d.ts → memory-snapshot-B6a-6nJ7.d.ts} +2 -2
  112. package/dist/{memory-store-base-CTAMKigD.d.ts → memory-store-base-upd9MuG6.d.ts} +4 -4
  113. package/dist/{memory-temporality-classifier-epuZlfXa.js → memory-temporality-classifier-BwBKEQbL.js} +1 -1
  114. package/dist/{memory-temporality-classifier-LByFBiFJ.d.ts → memory-temporality-classifier-DPk3_9Or.d.ts} +1 -1
  115. package/dist/{memory-tier-promoter-CSGa4LBH.d.ts → memory-tier-promoter-Cq23yveQ.d.ts} +1 -1
  116. package/dist/memory-tool-dependencies-C9qgVGOn.d.ts +14 -0
  117. package/dist/{memory-tool-dependencies-xLaWzwpI.js → memory-tool-dependencies-aAr7Pkuj.js} +1 -1
  118. package/dist/{observable-embedder-Da0teBqx.d.ts → observable-embedder-DihQuuQD.d.ts} +2 -2
  119. package/dist/{observable-llm-client-i0sp0veF.d.ts → observable-llm-client-BglDBFN5.d.ts} +3 -3
  120. package/dist/{observable-memory-store-CS87pitJ.d.ts → observable-memory-store--n02Dre8.d.ts} +5 -5
  121. package/dist/{observable-retriever-Bhfg9DsZ.d.ts → observable-retriever-CV6odifA.d.ts} +6 -6
  122. package/dist/paths-qJqwGcKl.d.ts +1 -0
  123. package/dist/{plugin-config-schema-CvAGFPyE.js → plugin-config-schema-D9riSXDg.js} +3 -20
  124. package/dist/{plugin-config-schema-CcEeAEdi.d.ts → plugin-config-schema-dV2_HgBo.d.ts} +2 -8
  125. package/dist/{profile-BMvnRqf5.d.ts → profile-CoLKGobS.d.ts} +1 -1
  126. package/dist/{profile-section-writer-DeD9GPQJ.js → profile-section-writer-Dd4FKpt5.js} +2 -2
  127. package/dist/{reflection-command-hooks-S5L6ZWeh.js → reflection-command-hooks-B2P4zDr6.js} +3 -3
  128. package/dist/{reflection-command-hooks-CFXyoVvE.d.ts → reflection-command-hooks-Cfv836Wc.d.ts} +4 -4
  129. package/dist/{reflection-deps-BPMrDU0a.d.ts → reflection-deps-DihlwQxE.d.ts} +4 -4
  130. package/dist/{reflection-embedded-generator-CF-NbuPS.d.ts → reflection-embedded-generator-DCZaS6kz.d.ts} +4 -4
  131. package/dist/{reflection-embedded-generator-nmVrj4AZ.js → reflection-embedded-generator-DV-NkeU-.js} +1 -1
  132. package/dist/{reflection-injection-hooks-BRIr3lJM.d.ts → reflection-injection-hooks-BYxkrds6.d.ts} +4 -4
  133. package/dist/{reflection-lifecycle-hooks-Ci8y4qHk.d.ts → reflection-lifecycle-hooks-Bwq2y5pe.d.ts} +3 -3
  134. package/dist/{rem-batch-executor-CfWChDAk.js → rem-batch-executor-B_49KivZ.js} +1 -1
  135. package/dist/{rem-trigger-B1P5_RqV.js → rem-trigger-DL0MlLeo.js} +180 -160
  136. package/dist/{retriever-CpyZs2ND.js → retriever-CsBW6MZv.js} +158 -162
  137. package/dist/{retriever-DdikFSDC.d.ts → retriever-hTIkt3CJ.d.ts} +19 -26
  138. package/dist/{runtime-audit-log-BVOxzkh7.d.ts → runtime-audit-log-eBrt_iPp.d.ts} +1 -1
  139. package/dist/{server-DOL3D6bb.js → server-BnBzsvMF.js} +9 -9
  140. package/dist/sidecar/main.js +2 -2
  141. package/dist/sno-station-mem-runtime-dependencies-9L8WkMMV.d.ts +31 -0
  142. package/dist/{sno-station-mem-runtime-dependencies-DZe3z4RY.js → sno-station-mem-runtime-dependencies-DrVDRAmf.js} +6 -6
  143. package/dist/{store-DY_rWx__.js → store-COwW7mIh.js} +1 -1
  144. package/dist/{store-DraRJ-HI.d.ts → store-DEG06TLb.d.ts} +2 -2
  145. package/dist/{strategy-hook-runner-CltVTtzk.js → strategy-hook-runner-CALbWcys.js} +1 -1
  146. package/dist/{strategy-hook-runner-DH7OEQrH.d.ts → strategy-hook-runner-D1sRVThs.d.ts} +7 -7
  147. package/dist/{types-DZGL4QXi.d.ts → types-DBEwNYdR.d.ts} +1 -1
  148. package/package.json +2 -2
  149. package/settings.default.json +0 -4
  150. package/dist/memory-tool-dependencies-Bl11T6Xm.d.ts +0 -14
  151. package/dist/paths-B5y-npWs.d.ts +0 -1
  152. package/dist/sno-station-mem-runtime-dependencies-DgAm7WqA.d.ts +0 -31
@@ -1,4 +1,4 @@
1
- import "./types-DZGL4QXi.js";
1
+ import "./types-DBEwNYdR.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-BODn_6Kx.js";
1
+ import { n as version, t as logSiteCatalog } from "./log-site-catalog.generated-Cn8rTa65.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) {
@@ -39,6 +39,7 @@ declare class Embedder {
39
39
  readonly model: string;
40
40
  private warmupPromise;
41
41
  private readonly modelDownload;
42
+ private readonly reranker;
42
43
  /**
43
44
  * Initializes embedding generation collaborators while keeping runtime work in explicit
44
45
  * methods.
@@ -85,6 +86,11 @@ declare class Embedder {
85
86
  * loud registration failure. Caller should let the error propagate.
86
87
  */
87
88
  warmup(): Promise<void>;
89
+ /**
90
+ * Local relevance scores (raw logits, higher is more relevant) for each text against the query, or undefined while
91
+ * the local reranker is not loaded; the first call starts loading it in the background.
92
+ */
93
+ scoreRelevance(query: string, texts: string[], signal?: AbortSignal): Promise<number[] | undefined>;
88
94
  /** Implements dispose as the local embedding generation operation. */
89
95
  dispose(): Promise<void>;
90
96
  }
@@ -1,7 +1,7 @@
1
1
  import { CACHE_TTL_MS, RETRIEVAL_STORAGE_CHUNK_PROFILE } from "./internal/config/index.js";
2
2
  import { EmbeddingError } from "./internal/engine/shared/errors.js";
3
3
  import { chunk } from "@snoai/chunking";
4
- import { CachedEmbeddingProvider, LOCAL_EMBEDDING_CACHE_DIR_DEFAULT, LOCAL_EMBEDDING_MODEL, LOCAL_EMBEDDING_MODEL_REVISION, LocalEmbedProvider, ensureModelDownloaded } from "@snoai/embedder";
4
+ import { CachedEmbeddingProvider, LOCAL_EMBEDDING_CACHE_DIR_DEFAULT, LOCAL_EMBEDDING_MODEL, LOCAL_EMBEDDING_MODEL_REVISION, LocalEmbedProvider, LocalReranker, ensureModelDownloaded } from "@snoai/embedder";
5
5
  import { createLogger } from "@snoai/utils/logger";
6
6
  import { availableParallelism } from "node:os";
7
7
  //#region src/engine/extraction/embedding-provider-factory.ts
@@ -97,6 +97,7 @@ var Embedder = class {
97
97
  model;
98
98
  warmupPromise = null;
99
99
  modelDownload;
100
+ reranker;
100
101
  /**
101
102
  * Initializes embedding generation collaborators while keeping runtime work in explicit
102
103
  * methods.
@@ -114,6 +115,12 @@ var Embedder = class {
114
115
  this.dimensions = inner.dimension;
115
116
  this.providerKind = providerKind;
116
117
  this.model = config.model && config.model.trim().length > 0 ? config.model : LOCAL_EMBEDDING_MODEL;
118
+ this.reranker = new LocalReranker({
119
+ cacheDir: resolveEmbeddingCacheDir(config),
120
+ offline: config.offline === true,
121
+ ...config.mirror ? { mirror: config.mirror } : {},
122
+ intraOpNumThreads: config.sessionOptions?.intraOpNumThreads ?? Math.max(1, Math.min(4, Math.floor(availableParallelism() / 2)))
123
+ });
117
124
  this.provider = new CachedEmbeddingProvider(inner, {
118
125
  maxSize: 256,
119
126
  ttlMs: CACHE_TTL_MS
@@ -283,11 +290,19 @@ var Embedder = class {
283
290
  });
284
291
  return this.warmupPromise;
285
292
  }
293
+ /**
294
+ * Local relevance scores (raw logits, higher is more relevant) for each text against the query, or undefined while
295
+ * the local reranker is not loaded; the first call starts loading it in the background.
296
+ */
297
+ scoreRelevance(query, texts, signal) {
298
+ return this.reranker.score(query, texts, signal);
299
+ }
286
300
  /** Implements dispose as the local embedding generation operation. */
287
301
  async dispose() {
288
302
  const warmup = this.warmupPromise;
289
303
  if (warmup) await warmup.catch(() => void 0);
290
304
  await this.provider.dispose();
305
+ await this.reranker.dispose();
291
306
  }
292
307
  };
293
308
  /** Creates the embedder facade around the local ONNX provider. */
@@ -25,7 +25,7 @@ declare const DEFAULT_HARD_MIN_SCORE = 0;
25
25
  declare const DEFAULT_IMPORTANCE = .7;
26
26
  /** Default scope for memories without explicit scope */
27
27
  declare const DEFAULT_SCOPE = "global";
28
- /** Default embedding vector dimension (Voyage AI 1024-d) */
28
+ /** Default embedding vector dimension (the local PPLX embedder outputs 1024-d) */
29
29
  declare const VECTOR_DIMENSION_DEFAULT = 1024;
30
30
  /** Plugin version identifier */
31
31
  declare const PLUGIN_VERSION = "0.9.74";
@@ -182,18 +182,30 @@ declare const MMR_LAMBDA = .7;
182
182
  declare const RERANK_BLEND_VECTOR = .3;
183
183
  /** Weight for cross-encoder score in rerank blend */
184
184
  declare const RERANK_BLEND_CROSS = .7;
185
- /** Fusion-score weight in local cosine-blend rerank */
186
- declare const LIGHTWEIGHT_FUSION_WEIGHT = .7;
185
+ /**
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.
194
+ */
195
+ declare const LIGHTWEIGHT_FUSION_WEIGHT = .1;
187
196
  /** Cosine-similarity weight in local cosine-blend rerank */
188
- declare const LIGHTWEIGHT_COSINE_WEIGHT = .3;
189
- /** Default rerank model identifier */
190
- declare const DEFAULT_RERANK_MODEL = "rerank-2";
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;
191
204
  /** Default timeout for rerank API calls in milliseconds */
192
205
  declare const DEFAULT_RERANK_TIMEOUT_MS = 15e3;
193
206
  /**
194
207
  * How many rerank batches may be in flight at once. A candidate pool of
195
- * `MAX_CANDIDATE_POOL_SIZE` divided by a provider's per-request batch limit is 11 requests for
196
- * TEI, and sending them one after another put `DEFAULT_RERANK_TIMEOUT_MS` on the clock 11 times
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
197
209
  * over. Four is what the Sno GPU serves concurrently at near-linear 4x (owner-measured
198
210
  * 2026-08-17); the first failing wave still ends the whole rerank, so a wedged reranker costs one
199
211
  * timeout rather than one per batch.
@@ -203,19 +215,13 @@ declare const DEFAULT_RERANK_BATCH_CONCURRENCY = 4;
203
215
  * Texts per HTTP request, applied whatever `rerankMaxCandidates` allows out in total: that one
204
216
  * is the operator's budget, this one is the transport's own per-request limit.
205
217
  *
206
- * Confirmed 2026-09-14 against the deployed self-hosted ranker, which answers a 51-text request
207
- * with `{"error":"too many texts: max 50, got 51"}`. Such a deployment rejects an over-limit
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
208
220
  * batch outright rather than truncating it, and the retriever files that HTTP 400 as "reranker
209
- * unavailable" — so getting this wrong degrades every call to raw fusion order with no visible
221
+ * unavailable" — so getting this wrong degrades every call to local ranking with no visible
210
222
  * error.
211
- *
212
- * It binds every provider, not only the self-hosted one it was measured against. Making it
213
- * conditional on the configured provider name put the guarantee in a deploy script instead of
214
- * in the code. Hosted providers (voyage, jina, pinecone, dashscope) document much higher
215
- * limits, so holding them to this one only sends more, smaller requests, which the rerank waves
216
- * already run four at a time.
217
223
  */
218
- declare const DEFAULT_TEI_RERANK_MAX_CANDIDATES = 50;
224
+ declare const RERANK_TEXTS_PER_REQUEST = 50;
219
225
  /**
220
226
  * THE per-record token ceiling, and the only number of its kind in this repository (owner
221
227
  * ruling 2026-09-14). One stored memory record, one embedder input, one rerank candidate,
@@ -567,4 +573,4 @@ type RecallLifecycleConfig = z.infer<typeof recallLifecycleSchema>;
567
573
  */
568
574
  declare const DEFAULT_RECALL_LIFECYCLE: RecallLifecycleConfig;
569
575
  //#endregion
570
- export { DEFAULT_VECTOR_WEIGHT as $, REFLECTION_MAX_FILENAME_ATTEMPTS as $t, DEFAULT_BM25_WEIGHT as A, MAX_RECALLED_TODOS as At, DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS as B, NOISE_MIN_TEXT_LENGTH as Bt, CHUNK_MAX_TOKENS as C, experimentCandidatePoolOverride as Cn, MAINTENANCE_TICK_MS as Ct, CHUNK_TOKENIZER_MODE as D, MAX_CHUNKS_PER_PARENT as Dt, CHUNK_TARGET_TOKENS as E, MAX_CANDIDATE_POOL_SIZE as Et, DEFAULT_MAX_LINES_PER_CHUNK as F, MEMORY_SHUTDOWN_TIMEOUT_MS as Ft, DEFAULT_REFLECTION_TIMEOUT_MS as G, RECENCY_HALF_LIFE_DAYS as Gt, DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS as H, PLUGIN_VERSION as Ht, DEFAULT_MIN_SCORE as I, MIN_RECALL_TOKEN_BUDGET as It, DEFAULT_RERANK_TIMEOUT_MS as J, REFLECTION_DEDUP_MIN_SCORE as Jt, DEFAULT_RERANK_BATCH_CONCURRENCY as K, RECENCY_WEIGHT as Kt, DEFAULT_RECALL_LIFECYCLE as L, MMR_LAMBDA as Lt, DEFAULT_IMPORTANCE as M, MAX_RECALL_TOOL_CANDIDATES as Mt, DEFAULT_LIST_LIMIT as N, MAX_SESSION_RECALL_ENTRIES as Nt, COST_ESTIMATE_CACHE_TTL_MS as O, MAX_CHUNK_FETCH_LIMIT as Ot, DEFAULT_MAX_CONTEXT_TOKENS as P, MAX_TRACKED_SESSIONS as Pt, DEFAULT_TOP_K as Q, REFLECTION_MAX_DERIVED as Qt, DEFAULT_RECALL_TOKEN_BUDGET as R, MULTI_HIT_BONUS_CAP as Rt, CHUNKING_VERSION as S, VECTOR_DIMENSION_DEFAULT as Sn, LIGHTWEIGHT_RERANK_PENALTY as St, CHUNK_OVERLAP_TOKENS as T, recallLifecycleSchema as Tn, MAX_AGGREGATION_ROWS as Tt, DEFAULT_REFLECTION_MESSAGE_COUNT as U, PRECISION_RECALL_POOL_SIZE_FACTOR as Ut, DEFAULT_REFLECTION_MAX_INPUT_CHARS as V, PLANNER_STATISTICS_INTERVAL_MS as Vt, DEFAULT_REFLECTION_SESSION_TTL_MS as W, PROFILE_MERGE_THRESHOLD as Wt, DEFAULT_SESSION_MESSAGE_COUNT as X, REFLECTION_DERIVED_MAX_AGE_MS as Xt, DEFAULT_SCOPE as Y, REFLECTION_DEDUP_THRESHOLD as Yt, DEFAULT_TEI_RERANK_MAX_CANDIDATES as Z, REFLECTION_IMPORTANCE as Zt, CACHE_TTL_MS as _, TEMPORAL_WEIGHTING_DEFAULT as _n, KILL_SWITCH_CACHE_TTL_MS as _t, ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP as a, RERANK_PROMPT_TEMPLATE_TOKENS as an, EVAL_QA_TRACES_FILENAME as at, CAPTURE_MIN_LENGTH_CJK as b, USAGE_EVENT_RETENTION_INTERVAL_MS as bn, LIGHTWEIGHT_COSINE_WEIGHT as bt, ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET as c, SESSION_SUMMARY_CHUNK_TOKENS as cn, FORGET_QUERY_MIN_SCORE as ct, AUTO_RECALL_LEAN_TOP_K as d, SNIPPET_NEIGHBOR_AFTER as dn, HEAD_EXTRACT_MIN_CONTENT_TOKENS as dt, REFLECTION_MAX_INVARIANTS as en, DELETE_BATCH_SIZE as et, BACKUP_INTERVAL_MS as f, SNIPPET_NEIGHBOR_BEFORE as fn, HEAD_EXTRACT_OVERLAP_DROP_RATIO as ft, CACHE_SIZE as g, TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR as gn, INTRA_MEMORY_COSINE_THRESHOLD as gt, BONUS_TOTAL_INVARIANT as h, SNO_OBSERVE_FLUSH_TIMEOUT_MS as hn, INTEGRITY_CHECK_INTERVAL_MS as ht, ARRIVAL_RETIREMENT_CANDIDATE_CAP as i, RERANK_BLEND_VECTOR as in, EVAL_CONFIG_SNAPSHOT_FILENAME as it, DEFAULT_HARD_MIN_SCORE as j, MAX_RECALLED_TODO_TOKENS as jt, DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH as k, MAX_LIST_LIMIT as kt, ATOMIC_EXTRACTION_MAX_INPUT_TOKENS as l, SESSION_SUMMARY_MAX_CHUNKS as ln, FTS_MERGE_INTERVAL_MS as lt, BACKUP_RETENTION_COUNT as m, SNO_OBSERVE_DEFAULT_BASE_URL as mn, IMPORTANCE_WEIGHT_BASE as mt, ADJACENCY_BONUS_PER_PAIR as n, REM_TRIGGER_CHECK_INTERVAL_MS as nn, EMBEDDER_MODEL_DEFAULT as nt, ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET as o, RETRIEVAL_STORAGE_CHUNK_PROFILE as on, EVAL_TRACE_ENABLED as ot, BACKUP_MIN_FREE_DISK_RATIO as p, SNO_OBSERVE_DEFAULT_AGENT_ID as pn, HEAD_EXTRACT_TOKEN_BUDGET as pt, DEFAULT_RERANK_MODEL as q, RECENCY_WEIGHT_MAX as qt, AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH as r, RERANK_BLEND_CROSS as rn, EMBEDDER_PROVIDER_DEFAULT as rt, ATOMIC_CAPTURE_TIMEOUT_MS as s, RecallLifecycleConfig as sn, FORGET_QUERY_DEFAULT_LIMIT as st, ADJACENCY_BONUS_CAP as t, REFLECTION_SLICE_CACHE_TTL_MS as tn, EMBEDDER_DIM as tt, AUTO_RECALL_INJECTION_TOP_K as u, SESSION_SUMMARY_MAX_INPUT_TOKENS as un, FTS_QUERY_TOKEN_CAP as ut, CANDIDATE_POOL_SIZE as v, TIME_DECAY_FLOOR as vn, LAST_JSON_LINE_CHUNK_BYTES as vt, CHUNK_MIN_TOKENS as w, experimentMmrDisabled as wn, MAX_AGGREGATION_RESULT_TOKENS as wt, CAPTURE_MIN_LENGTH_STANDARD as x, USAGE_OUTBOX_INTERVAL_MS as xn, LIGHTWEIGHT_FUSION_WEIGHT as xt, CAPTURE_MAX_EMOJI_COUNT as y, TIME_DECAY_HALF_LIFE_DAYS as yn, LENGTH_NORM_ANCHOR as yt, DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES as z, MULTI_HIT_BONUS_PER_HIT as zt };
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 };
@@ -1,5 +1,5 @@
1
- import { p as LlmRoutingConfig, t as PluginConfig } from "./plugin-config-schema-CcEeAEdi.js";
2
- import { g as MemoryEntry, h as MemoryCategory, t as AGGREGATION_OPERATIONS, x as RetrievalResult } from "./types-DZGL4QXi.js";
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";
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-CcEeAEdi.js";
2
- import "./types-DZGL4QXi.js";
3
- import { n as AgentLlmPort } from "./agent-llm-port-DY2290EK.js";
4
- import { n as PluginObservability } from "./adapter-Cxyzdq6H.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-CTi1R9T4.js";
6
- import { t as Embedder } from "./embedding-provider-client-vynZMuit.js";
7
- import { t as MemoryRetriever } from "./retriever-DdikFSDC.js";
8
- import { C as MemoryStore } from "./memory-store-base-CTAMKigD.js";
9
- import "./store-DraRJ-HI.js";
10
- import { n as AccessTracker } from "./access-tracker-CglGg8uS.js";
1
+ import { b as Settings, t as PluginConfig } from "./plugin-config-schema-dV2_HgBo.js";
2
+ import "./types-DBEwNYdR.js";
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";
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";
11
11
  import { r as MemoryTelemetryUsageOutbox } from "./memory-telemetry-outbox-ddTdImt7.js";
12
- import { t as ReflectionCommandParams } from "./reflection-command-hooks-CFXyoVvE.js";
12
+ import { t as ReflectionCommandParams } from "./reflection-command-hooks-Cfv836Wc.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-CvAGFPyE.js";
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";
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-C7yyFWu-.js";
15
+ import { i as createLlmClient } from "./llm-client-DDdUjYWS.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-epuZlfXa.js";
18
+ import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "./memory-temporality-classifier-BwBKEQbL.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-CltVTtzk.js";
22
+ import { t as createReflectionStrategyState } from "./strategy-hook-runner-CALbWcys.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-S5L6ZWeh.js";
29
+ import { t as createRunMemoryReflection } from "./reflection-command-hooks-B2P4zDr6.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 DEFAULT_VECTOR_WEIGHT, $t as REFLECTION_MAX_FILENAME_ATTEMPTS, A as DEFAULT_BM25_WEIGHT, At as MAX_RECALLED_TODOS, B as DEFAULT_REFLECTION_ERROR_SCAN_MAX_CHARS, Bt as NOISE_MIN_TEXT_LENGTH, C as CHUNK_MAX_TOKENS, Cn as experimentCandidatePoolOverride, Ct as MAINTENANCE_TICK_MS, D as CHUNK_TOKENIZER_MODE, Dt as MAX_CHUNKS_PER_PARENT, E as CHUNK_TARGET_TOKENS, Et as MAX_CANDIDATE_POOL_SIZE, F as DEFAULT_MAX_LINES_PER_CHUNK, Ft as MEMORY_SHUTDOWN_TIMEOUT_MS, G as DEFAULT_REFLECTION_TIMEOUT_MS, Gt as RECENCY_HALF_LIFE_DAYS, H as DEFAULT_REFLECTION_MAX_TRACKED_SESSIONS, Ht as PLUGIN_VERSION, I as DEFAULT_MIN_SCORE, It as MIN_RECALL_TOKEN_BUDGET, J as DEFAULT_RERANK_TIMEOUT_MS, Jt as REFLECTION_DEDUP_MIN_SCORE, K as DEFAULT_RERANK_BATCH_CONCURRENCY, Kt as RECENCY_WEIGHT, L as DEFAULT_RECALL_LIFECYCLE, Lt as MMR_LAMBDA, M as DEFAULT_IMPORTANCE, Mt as MAX_RECALL_TOOL_CANDIDATES, N as DEFAULT_LIST_LIMIT, Nt as MAX_SESSION_RECALL_ENTRIES, O as COST_ESTIMATE_CACHE_TTL_MS, Ot as MAX_CHUNK_FETCH_LIMIT, P as DEFAULT_MAX_CONTEXT_TOKENS, Pt as MAX_TRACKED_SESSIONS, Q as DEFAULT_TOP_K, Qt as REFLECTION_MAX_DERIVED, R as DEFAULT_RECALL_TOKEN_BUDGET, Rt as MULTI_HIT_BONUS_CAP, S as CHUNKING_VERSION, Sn as VECTOR_DIMENSION_DEFAULT, St as LIGHTWEIGHT_RERANK_PENALTY, T as CHUNK_OVERLAP_TOKENS, Tn as recallLifecycleSchema, Tt as MAX_AGGREGATION_ROWS, U as DEFAULT_REFLECTION_MESSAGE_COUNT, Ut as PRECISION_RECALL_POOL_SIZE_FACTOR, V as DEFAULT_REFLECTION_MAX_INPUT_CHARS, Vt as PLANNER_STATISTICS_INTERVAL_MS, W as DEFAULT_REFLECTION_SESSION_TTL_MS, Wt as PROFILE_MERGE_THRESHOLD, X as DEFAULT_SESSION_MESSAGE_COUNT, Xt as REFLECTION_DERIVED_MAX_AGE_MS, Y as DEFAULT_SCOPE, Yt as REFLECTION_DEDUP_THRESHOLD, Z as DEFAULT_TEI_RERANK_MAX_CANDIDATES, Zt as REFLECTION_IMPORTANCE, _ as CACHE_TTL_MS, _n as TEMPORAL_WEIGHTING_DEFAULT, _t as KILL_SWITCH_CACHE_TTL_MS, a as ARRIVAL_RETIREMENT_JUDGED_CANDIDATE_CAP, an as RERANK_PROMPT_TEMPLATE_TOKENS, at as EVAL_QA_TRACES_FILENAME, b as CAPTURE_MIN_LENGTH_CJK, bn as USAGE_EVENT_RETENTION_INTERVAL_MS, bt as LIGHTWEIGHT_COSINE_WEIGHT, c as ATOMIC_ENRICHMENT_OUTPUT_TOKEN_BUDGET, cn as SESSION_SUMMARY_CHUNK_TOKENS, ct as FORGET_QUERY_MIN_SCORE, d as AUTO_RECALL_LEAN_TOP_K, dn as SNIPPET_NEIGHBOR_AFTER, dt as HEAD_EXTRACT_MIN_CONTENT_TOKENS, en as REFLECTION_MAX_INVARIANTS, et as DELETE_BATCH_SIZE, f as BACKUP_INTERVAL_MS, fn as SNIPPET_NEIGHBOR_BEFORE, ft as HEAD_EXTRACT_OVERLAP_DROP_RATIO, g as CACHE_SIZE, gn as TEMPORAL_DYNAMIC_HALF_LIFE_DIVISOR, gt as INTRA_MEMORY_COSINE_THRESHOLD, h as BONUS_TOTAL_INVARIANT, hn as SNO_OBSERVE_FLUSH_TIMEOUT_MS, ht as INTEGRITY_CHECK_INTERVAL_MS, i as ARRIVAL_RETIREMENT_CANDIDATE_CAP, in as RERANK_BLEND_VECTOR, it as EVAL_CONFIG_SNAPSHOT_FILENAME, j as DEFAULT_HARD_MIN_SCORE, jt as MAX_RECALLED_TODO_TOKENS, k as DEFAULT_AUTO_RECALL_MAX_QUERY_LENGTH, kt as MAX_LIST_LIMIT, l as ATOMIC_EXTRACTION_MAX_INPUT_TOKENS, ln as SESSION_SUMMARY_MAX_CHUNKS, lt as FTS_MERGE_INTERVAL_MS, m as BACKUP_RETENTION_COUNT, mn as SNO_OBSERVE_DEFAULT_BASE_URL, mt as IMPORTANCE_WEIGHT_BASE, n as ADJACENCY_BONUS_PER_PAIR, nn as REM_TRIGGER_CHECK_INTERVAL_MS, nt as EMBEDDER_MODEL_DEFAULT, o as ATOMIC_CAPTURE_OUTPUT_TOKEN_BUDGET, on as RETRIEVAL_STORAGE_CHUNK_PROFILE, ot as EVAL_TRACE_ENABLED, p as BACKUP_MIN_FREE_DISK_RATIO, pn as SNO_OBSERVE_DEFAULT_AGENT_ID, pt as HEAD_EXTRACT_TOKEN_BUDGET, q as DEFAULT_RERANK_MODEL, qt as RECENCY_WEIGHT_MAX, r as AMBIENT_LEARNING_REQUIRE_TRIGGER_MATCH, rn as RERANK_BLEND_CROSS, rt as EMBEDDER_PROVIDER_DEFAULT, s as ATOMIC_CAPTURE_TIMEOUT_MS, sn as RecallLifecycleConfig, st as FORGET_QUERY_DEFAULT_LIMIT, t as ADJACENCY_BONUS_CAP, tn as REFLECTION_SLICE_CACHE_TTL_MS, tt as EMBEDDER_DIM, u as AUTO_RECALL_INJECTION_TOP_K, un as SESSION_SUMMARY_MAX_INPUT_TOKENS, ut as FTS_QUERY_TOKEN_CAP, v as CANDIDATE_POOL_SIZE, vn as TIME_DECAY_FLOOR, vt as LAST_JSON_LINE_CHUNK_BYTES, w as CHUNK_MIN_TOKENS, wn as experimentMmrDisabled, wt as MAX_AGGREGATION_RESULT_TOKENS, x as CAPTURE_MIN_LENGTH_STANDARD, xn as USAGE_OUTBOX_INTERVAL_MS, xt as LIGHTWEIGHT_FUSION_WEIGHT, y as CAPTURE_MAX_EMOJI_COUNT, yn as TIME_DECAY_HALF_LIFE_DAYS, yt as LENGTH_NORM_ANCHOR, z as DEFAULT_REFLECTION_ERROR_REMINDER_MAX_ENTRIES, zt as MULTI_HIT_BONUS_PER_HIT } from "../../index-Pb9LrHgL.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_MODEL, DEFAULT_RERANK_TIMEOUT_MS, DEFAULT_SCOPE, DEFAULT_SESSION_MESSAGE_COUNT, DEFAULT_TEI_RERANK_MAX_CANDIDATES, 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, 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, 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_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 };
@@ -30,7 +30,7 @@ const DEFAULT_HARD_MIN_SCORE = 0;
30
30
  const DEFAULT_IMPORTANCE = .7;
31
31
  /** Default scope for memories without explicit scope */
32
32
  const DEFAULT_SCOPE = "global";
33
- /** Default embedding vector dimension (Voyage AI 1024-d) */
33
+ /** Default embedding vector dimension (the local PPLX embedder outputs 1024-d) */
34
34
  const VECTOR_DIMENSION_DEFAULT = 1024;
35
35
  /** Plugin version identifier */
36
36
  const PLUGIN_VERSION = "0.9.74";
@@ -195,18 +195,30 @@ const MMR_LAMBDA = .7;
195
195
  const RERANK_BLEND_VECTOR = .3;
196
196
  /** Weight for cross-encoder score in rerank blend */
197
197
  const RERANK_BLEND_CROSS = .7;
198
- /** Fusion-score weight in local cosine-blend rerank */
199
- const LIGHTWEIGHT_FUSION_WEIGHT = .7;
198
+ /**
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;
200
209
  /** Cosine-similarity weight in local cosine-blend rerank */
201
- const LIGHTWEIGHT_COSINE_WEIGHT = .3;
202
- /** Default rerank model identifier */
203
- const DEFAULT_RERANK_MODEL = "rerank-2";
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;
204
217
  /** Default timeout for rerank API calls in milliseconds */
205
218
  const DEFAULT_RERANK_TIMEOUT_MS = 15e3;
206
219
  /**
207
220
  * How many rerank batches may be in flight at once. A candidate pool of
208
- * `MAX_CANDIDATE_POOL_SIZE` divided by a provider's per-request batch limit is 11 requests for
209
- * TEI, and sending them one after another put `DEFAULT_RERANK_TIMEOUT_MS` on the clock 11 times
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
210
222
  * over. Four is what the Sno GPU serves concurrently at near-linear 4x (owner-measured
211
223
  * 2026-08-17); the first failing wave still ends the whole rerank, so a wedged reranker costs one
212
224
  * timeout rather than one per batch.
@@ -216,19 +228,13 @@ const DEFAULT_RERANK_BATCH_CONCURRENCY = 4;
216
228
  * Texts per HTTP request, applied whatever `rerankMaxCandidates` allows out in total: that one
217
229
  * is the operator's budget, this one is the transport's own per-request limit.
218
230
  *
219
- * Confirmed 2026-09-14 against the deployed self-hosted ranker, which answers a 51-text request
220
- * with `{"error":"too many texts: max 50, got 51"}`. Such a deployment rejects an over-limit
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
221
233
  * batch outright rather than truncating it, and the retriever files that HTTP 400 as "reranker
222
- * unavailable" — so getting this wrong degrades every call to raw fusion order with no visible
234
+ * unavailable" — so getting this wrong degrades every call to local ranking with no visible
223
235
  * error.
224
- *
225
- * It binds every provider, not only the self-hosted one it was measured against. Making it
226
- * conditional on the configured provider name put the guarantee in a deploy script instead of
227
- * in the code. Hosted providers (voyage, jina, pinecone, dashscope) document much higher
228
- * limits, so holding them to this one only sends more, smaller requests, which the rerank waves
229
- * already run four at a time.
230
236
  */
231
- const DEFAULT_TEI_RERANK_MAX_CANDIDATES = 50;
237
+ const RERANK_TEXTS_PER_REQUEST = 50;
232
238
  /**
233
239
  * THE per-record token ceiling, and the only number of its kind in this repository (owner
234
240
  * ruling 2026-09-14). One stored memory record, one embedder input, one rerank candidate,
@@ -577,4 +583,4 @@ const recallLifecycleSchema = z.object({
577
583
  */
578
584
  const DEFAULT_RECALL_LIFECYCLE = recallLifecycleSchema.parse(void 0);
579
585
  //#endregion
580
- 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_MODEL, DEFAULT_RERANK_TIMEOUT_MS, DEFAULT_SCOPE, DEFAULT_SESSION_MESSAGE_COUNT, DEFAULT_TEI_RERANK_MAX_CANDIDATES, 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, 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, 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 };
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 };
@@ -1,2 +1,2 @@
1
- import { n as pluginConfigSchema, t as PluginConfig } from "../../plugin-config-schema-CcEeAEdi.js";
1
+ import { n as pluginConfigSchema, t as PluginConfig } from "../../plugin-config-schema-dV2_HgBo.js";
2
2
  export { PluginConfig, pluginConfigSchema };
@@ -1,2 +1,2 @@
1
- import { t as pluginConfigSchema } from "../../plugin-config-schema-CvAGFPyE.js";
1
+ import { t as pluginConfigSchema } from "../../plugin-config-schema-D9riSXDg.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-CcEeAEdi.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-dV2_HgBo.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-CcEeAEdi.js";
1
+ import { C as settingsToPluginConfig, S as settingsSchema, b as Settings, x as defaultSettings } from "../../plugin-config-schema-dV2_HgBo.js";
2
2
  export { Settings, defaultSettings, settingsSchema, settingsToPluginConfig };
@@ -1,4 +1,4 @@
1
- import { c as SESSION_STRATEGIES, t as pluginConfigSchema } from "../../plugin-config-schema-CvAGFPyE.js";
1
+ import { c as SESSION_STRATEGIES, t as pluginConfigSchema } from "../../plugin-config-schema-D9riSXDg.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";
@@ -37,19 +37,6 @@ const settingsSchema = z.strictObject({
37
37
  "cross-encoder",
38
38
  "none"
39
39
  ]),
40
- provider: z.enum([
41
- "jina",
42
- "siliconflow",
43
- "pinecone",
44
- "voyage",
45
- "dashscope",
46
- "tei",
47
- "sno-gpu",
48
- "custom"
49
- ]),
50
- endpoint: z.string(),
51
- model: z.string(),
52
- apiKey: z.string(),
53
40
  timeoutMs: z.number().int().min(1e3).max(12e4),
54
41
  maxCandidates: z.number().int().min(1).max(2e3)
55
42
  }),
@@ -142,10 +129,6 @@ function defaultSettings() {
142
129
  },
143
130
  rerank: {
144
131
  mode: "cross-encoder",
145
- provider: "sno-gpu",
146
- endpoint: "",
147
- model: engine.retrieval.rerankModel,
148
- apiKey: "",
149
132
  timeoutMs: engine.retrieval.rerankTimeoutMs,
150
133
  maxCandidates: 64
151
134
  },
@@ -215,18 +198,11 @@ function defaultSettings() {
215
198
  };
216
199
  }
217
200
  /**
218
- * The "sno-gpu" reranker is Sno's own: its address is the Sno GPU address and its key is the Sno GPU key, and nothing
219
- * else: a third-party key or address in the rerank settings is never sent to Sno. Only REM Enhanced calls Sno GPU;
220
- * any other mode, or no key yet, ranks locally, which is the configured strategy, not an error.
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.
221
203
  */
222
204
  function rerankSettings(settings) {
223
205
  const { rerank, snoGpu } = settings;
224
- if (rerank.provider !== "sno-gpu") return {
225
- rerank: rerank.mode,
226
- provider: rerank.provider,
227
- endpoint: rerank.endpoint || void 0,
228
- apiKey: rerank.apiKey
229
- };
230
206
  let endpoint;
231
207
  try {
232
208
  endpoint = new URL("rerank", snoGpu.baseUrl.endsWith("/") ? snoGpu.baseUrl : `${snoGpu.baseUrl}/`).toString();
@@ -241,7 +217,6 @@ function rerankSettings(settings) {
241
217
  const local = rerank.mode !== "cross-encoder" || settings.mode !== "rem-enhanced" || !snoGpu.apiKey || endpoint === void 0;
242
218
  return {
243
219
  rerank: local && rerank.mode === "cross-encoder" ? "lightweight" : rerank.mode,
244
- provider: local ? void 0 : rerank.provider,
245
220
  endpoint: local ? void 0 : endpoint,
246
221
  apiKey: local ? "" : snoGpu.apiKey
247
222
  };
@@ -265,11 +240,9 @@ function settingsToPluginConfig(settings) {
265
240
  },
266
241
  retrieval: {
267
242
  rerank: sno.rerank,
268
- rerankProvider: sno.provider,
269
243
  recallTopK: settings.recall.prompt.limit,
270
244
  minScore: settings.recall.prompt.minScore,
271
245
  rerankEndpoint: sno.endpoint,
272
- rerankModel: settings.rerank.model,
273
246
  rerankApiKey: sno.apiKey,
274
247
  rerankTimeoutMs: settings.rerank.timeoutMs,
275
248
  rerankMaxCandidates: settings.rerank.maxCandidates
@@ -1,4 +1,4 @@
1
- import { g as ProductMode, h as PRODUCT_MODES, u as DEFAULT_MODEL_MODE } from "../../plugin-config-schema-CcEeAEdi.js";
1
+ import { g as ProductMode, h as PRODUCT_MODES, u as DEFAULT_MODEL_MODE } from "../../plugin-config-schema-dV2_HgBo.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-BMvnRqf5.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-CoLKGobS.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-CTi1R9T4.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-PjHhlG6e.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-DZGL4QXi.js";
2
- import { t as Embedder } from "../../../embedding-provider-client-vynZMuit.js";
3
- import { t as MemoryRetriever } from "../../../retriever-DdikFSDC.js";
4
- import { C as MemoryStore } from "../../../memory-store-base-CTAMKigD.js";
5
- import "../../../store-DraRJ-HI.js";
1
+ import { h as MemoryCategory } from "../../../types-DBEwNYdR.js";
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";
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-xLaWzwpI.js";
4
+ import "../../../memory-tool-dependencies-aAr7Pkuj.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-xLaWzwpI.js";
6
+ import "../../../memory-tool-dependencies-aAr7Pkuj.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-xLaWzwpI.js";
6
+ import { t as countTokens } from "../../../memory-tool-dependencies-aAr7Pkuj.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-xLaWzwpI.js";
2
+ import "../../../memory-tool-dependencies-aAr7Pkuj.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-xLaWzwpI.js";
3
+ import "../../../memory-tool-dependencies-aAr7Pkuj.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-epuZlfXa.js";
9
- import "../../../memory-tool-dependencies-xLaWzwpI.js";
8
+ import { a as serializeIntervalMetadata, o as resolveMemoryDate } from "../../../memory-temporality-classifier-BwBKEQbL.js";
9
+ import "../../../memory-tool-dependencies-aAr7Pkuj.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-DeD9GPQJ.js";
13
+ import { n as createRetireByNameRunBudget, r as runProfileSectionUpdate } from "../../../profile-section-writer-Dd4FKpt5.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-Bl11T6Xm.js";
2
+ import "../../../memory-tool-dependencies-C9qgVGOn.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;